/* 2026-08 visual refinements: compact hierarchy and clearer work areas. */

[hidden]{display:none!important}

/* Inline help (?) markers — stay beside the label, never grow into a row */
.help-q{
  position:relative;
  display:inline-grid;
  place-items:center;
  width:16px;
  height:16px;
  min-width:16px;
  min-height:16px;
  max-width:16px;
  max-height:16px;
  margin:0 0 0 .35em;
  border:1px solid #c9b07a;
  border-radius:50%;
  background:#fff9ec;
  color:#9a7528;
  font-size:10px;
  font-weight:700;
  line-height:1;
  vertical-align:-2px;
  cursor:pointer;
  padding:0;
  flex:0 0 16px;
  align-self:center;
}
.help-q::after{
  content:"";
  position:absolute;
  inset:-11px;
}
.help-q:hover{
  background:#f3e2b4;
  border-color:#b08a30;
  transform:none;
  box-shadow:none;
}
h1 .help-q,h2 .help-q,.section-title .help-q,.panel-head .help-q{
  margin-left:6px;
  width:16px;
  height:16px;
  min-width:16px;
  min-height:16px;
  font-size:10px;
}
.section-title{
  align-items:flex-start;
  flex-wrap:wrap;
}
.section-title>span{flex:0 0 auto}
.section-title>div{flex:1 1 220px;min-width:min(240px,100%)}
.section-title>.section-title-actions,
.section-title-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:8px;
  flex:0 0 auto;
  min-width:0;
  margin-left:auto;
  padding-top:2px;
  max-width:100%;
}
.section-title-actions .help-q{
  margin-left:0;
  align-self:center;
}
.section-title-actions .help-inline{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-width:0;
  flex:0 0 auto;
}
.section-title-actions .help-inline>:not(.help-q){
  flex:0 0 auto;
}
.section-title-actions .btn,
.section-title-actions a.btn{
  margin-left:0;
  width:auto;
  flex:0 0 auto;
}
.section-title-actions .okr-map-actions,
.section-title-actions .swot-matrix-actions,
.section-title-actions .actions-title-side{
  margin-left:0;
}
label .help-q{
  margin-left:5px;
}
.help-float-root{
  position:fixed;
  inset:0;
  z-index:12000;
  pointer-events:none;
}
.help-float{
  position:fixed;
  max-width:340px;
  background:#fff;
  border:1px solid #d9e1ea;
  border-radius:10px;
  box-shadow:0 12px 32px rgba(20,40,70,.16);
  padding:12px 12px 11px;
  pointer-events:auto;
  color:#314257;
}
.help-float[hidden]{display:none!important}
.help-float>header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin-bottom:7px;
}
.help-float-title{
  font-size:13px;
  color:#1d3350;
}
.help-float-close{
  width:22px;
  height:22px;
  border:0;
  border-radius:6px;
  background:transparent;
  color:#8a94a3;
  font-size:16px;
  line-height:1;
  display:none;
}
.help-float.pinned .help-float-close{display:grid;place-items:center}
.help-float-close:hover{background:#f2f5f8;color:#314257}
.help-float-body{
  margin:0;
  color:#445166;
  line-height:1.65;
  font-size:12px;
  white-space:pre-wrap;
}
.help-float-example{
  margin-top:9px;
  border:1px solid #e7edf3;
  background:#f7fafc;
  border-radius:8px;
  padding:9px 10px;
}
.help-float-example[hidden]{display:none!important}
.help-float-example b{
  display:block;
  font-size:10px;
  color:#8a7340;
  margin-bottom:4px;
}
.help-float-example p{
  margin:0;
  color:#314257;
  font-size:11px;
  line-height:1.6;
  white-space:pre-wrap;
}
/* Keep legacy class names safe if reused */
.help-body>p{
  margin:0 0 12px;
  color:#445166;
  line-height:1.7;
  font-size:13px;
}
.help-example{
  border:1px solid #e7edf3;
  background:#f7fafc;
  border-radius:9px;
  padding:11px 12px;
}
.help-example b{
  display:block;
  font-size:11px;
  color:#8a7340;
  margin-bottom:5px;
}
.help-example p{
  margin:0;
  color:#314257;
  font-size:12px;
  line-height:1.65;
  white-space:pre-wrap;
}

.topbar{
  height:58px;
  padding:0 26px;
}
.content{
  padding:14px 26px 42px;
}
.page-head,
.page-head.compact{
  align-items:center;
  margin:2px 0 12px;
  min-height:48px;
}
.page-head h1{
  font-size:22px;
  margin:3px 0 1px;
}
.page-head p{
  line-height:1.45;
}
.head-actions{
  align-items:center;
}

/* Admin navigation starts level with the content and uses less width. */
.admin-shell{
  display:block;
}
.admin-body{
  display:grid;
  grid-template-columns:148px minmax(0,1fr);
  gap:14px;
  align-items:start;
}
.admin-nav{
  width:148px;
  padding:8px;
  top:72px;
}
.admin-nav>span{
  padding:6px 8px 8px;
}
.admin-nav a{
  gap:7px;
  padding:7px 8px;
}
.access-workbench{
  display:grid;
  grid-template-columns:240px minmax(0,1fr);
  gap:14px;
  align-items:stretch;
  min-height:560px;
}
.access-accounts,.access-editor{
  background:#fff;
  border:1px solid #e5ebf1;
  border-radius:12px;
  min-width:0;
}
.access-accounts{
  display:flex;
  flex-direction:column;
}
.access-accounts-head{
  padding:14px 14px 10px;
  border-bottom:1px solid #eef1f4;
}
.access-accounts-head h2{
  margin:0 0 8px;
  font-size:14px;
}
.access-accounts-head input{
  width:100%;
  height:34px;
  border:1px solid #d9e1ea;
  border-radius:8px;
  padding:0 10px;
  font-size:12px;
}
.access-account-list{
  overflow:auto;
  padding:8px;
  display:flex;
  flex-direction:column;
  gap:4px;
  max-height:620px;
}
.access-account{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  grid-template-rows:auto auto;
  gap:2px 8px;
  text-align:left;
  border:1px solid transparent;
  background:transparent;
  border-radius:10px;
  padding:10px 12px;
  cursor:pointer;
}
.access-account b{
  font-size:13px;
  color:#1d2b3d;
}
.access-account small{
  grid-column:1;
  color:#7a8699;
  font-size:11px;
}
.access-account em{
  grid-row:1 / span 2;
  grid-column:2;
  align-self:center;
  font-style:normal;
  font-size:11px;
  color:#5b6b80;
  background:#f3f6f9;
  border-radius:999px;
  padding:2px 8px;
  white-space:nowrap;
}
.access-account.active{
  background:#eef5fb;
  border-color:#c5d7ea;
}
.access-editor{padding:22px 24px 24px}
.access-editor.has-account #access-empty,
#access-empty[hidden],
#access-form[hidden],
#access-locked[hidden],
#access-body[hidden]{display:none!important}
.access-editor-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:12px;
  margin-bottom:14px;
  padding-bottom:12px;
  border-bottom:1px solid #eef1f4;
}
.access-editor-head h2{margin:4px 0 4px;font-size:20px;letter-spacing:.02em}
.access-block{margin:0 0 14px}
.access-block-head{
  display:flex;
  justify-content:space-between;
  align-items:flex-end;
  gap:12px;
  margin-bottom:6px;
}
.access-block-head h3{
  margin:0;
  font-size:13px;
  letter-spacing:.08em;
  text-transform:none;
  color:#1d2b3d;
}
.access-block-head p{margin:4px 0 0;color:#7a8699;font-size:12px}
.access-block-head em{
  font-style:normal;
  font-size:11px;
  color:#8a6a28;
  background:#f7f1e3;
  border-radius:999px;
  padding:2px 8px;
  white-space:nowrap;
}
.access-list,
.access-list-card .access-list{
  list-style:none;
  margin:0;
  padding:0;
  border:1px solid #e6edf3;
  border-radius:12px;
  background:#fff;
  overflow:hidden;
}
.access-list-card{margin:0}
.access-list-caption{
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:0 2px 8px;
  font-size:12px;
  color:#5b6b80;
  font-weight:600;
}
.access-list-caption em{font-style:normal;font-weight:500;color:#8a94a3}
.access-data-stack{
  display:grid;
  gap:12px;
}
.access-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:36px;
  padding:6px 14px;
  border-bottom:1px solid #eef2f6;
  cursor:pointer;
  background:#fff;
}
.access-list li:last-child .access-row{border-bottom:0}
.access-row:hover{background:#f8fafc}
.access-row.is-on{background:#f7fafc}
.access-row-copy{
  display:flex;
  flex-direction:row;
  align-items:baseline;
  gap:10px;
  min-width:0;
  flex:1;
}
.access-row-copy b{
  flex:0 0 auto;
  font-size:13px;
  font-weight:600;
  color:#1d2b3d;
  line-height:1.3;
}
.access-row-copy small{
  min-width:0;
  font-size:12px;
  color:#8a94a3;
  line-height:1.3;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.access-row-empty{
  padding:10px 14px;
  color:#8a94a3;
  font-size:12px;
}
.access-switch{
  position:relative;
  flex:0 0 36px;
  width:36px;
  height:20px;
}
.access-switch input{
  position:absolute;
  inset:0;
  opacity:0;
  margin:0;
  cursor:pointer;
}
.access-switch i{
  display:block;
  width:36px;
  height:20px;
  border-radius:999px;
  background:#d5dde6;
  box-shadow:inset 0 0 0 1px #c8d1db;
  transition:background .18s ease,box-shadow .18s ease;
}
.access-switch i::after{
  content:"";
  position:absolute;
  top:2px;
  left:2px;
  width:16px;
  height:16px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 1px 2px rgba(29,43,61,.18);
  transition:transform .18s ease;
}
.access-switch input:checked + i{
  background:#25557f;
  box-shadow:inset 0 0 0 1px #1d4668;
}
.access-switch input:checked + i::after{transform:translateX(16px)}
.access-switch input:focus-visible + i{outline:2px solid #c49a3c;outline-offset:2px}
.access-mode{
  display:inline-flex;
  flex:0 0 auto;
  border:1px solid #d5dde6;
  border-radius:9px;
  overflow:hidden;
  background:#f4f6f8;
}
.access-mode label{
  min-width:52px;
  margin:0;
  padding:0;
  cursor:pointer;
}
.access-mode input{position:absolute;opacity:0;pointer-events:none}
.access-mode span{
  display:block;
  padding:6px 9px;
  font-size:11px;
  line-height:1.2;
  color:#5b6b80;
  text-align:center;
  white-space:nowrap;
}
.access-mode label.is-on span,
.access-mode input:checked + span{
  background:#25557f;
  color:#fff;
}
.access-mode label:focus-within span{outline:2px solid #c49a3c;outline-offset:-2px}
.access-row-read{background:#fbf8f1}
.access-row-off{background:#fafbfc}
.access-row-off .access-row-copy{opacity:.72}
.access-role-table select{
  min-width:88px;
  padding:5px 8px;
  border:1px solid #d5dde6;
  border-radius:8px;
  background:#fff;
  color:#1d2b3d;
  font-size:12px;
}
.access-actions{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:8px;
}
.access-role-defaults{
  margin-top:14px;
}
.access-role-defaults summary{
  cursor:pointer;
  list-style:none;
  display:flex;
  flex-direction:column;
  gap:4px;
  padding:4px 0 12px;
}
.access-role-defaults summary::-webkit-details-marker{display:none}
.access-role-defaults summary b{font-size:14px}
.access-role-defaults summary small{color:#6b7789;font-weight:400}
.access-role-table .access-group-row th{
  background:#f5f7f9;
  text-align:left;
  font-size:12px;
  color:#4a5a6e;
  padding:8px 12px;
}
.access-role-defaults .btn{margin-top:12px}

/* Benchmark enterprises: stacked rows with breathing room */
.benchmark-panel{
  padding:20px 22px 22px;
}
.benchmark-list{
  display:flex;
  flex-direction:column;
  gap:12px;
  margin-top:4px;
}
.benchmark-row{
  border:1px solid #e5ebf1;
  background:#f8fafc;
  border-radius:10px;
  padding:14px 16px 15px;
}
.benchmark-top{
  display:grid;
  grid-template-columns:minmax(180px,1.2fr) minmax(140px,.8fr) 36px;
  gap:12px;
  align-items:end;
}
.benchmark-top label,
.benchmark-desc{
  display:block;
  font-size:10px;
  color:#626e82;
  min-width:0;
}
.benchmark-top input,
.benchmark-desc textarea{
  display:block;
  width:100%;
  margin-top:6px;
  border:1px solid #dfe4ea;
  background:#fff;
  border-radius:8px;
  padding:10px 12px;
  outline:none;
  color:var(--ink);
  font-size:12px;
  box-sizing:border-box;
}
.benchmark-desc{
  margin-top:12px;
}
.benchmark-desc textarea{
  min-height:64px;
  resize:vertical;
  line-height:1.55;
}
.benchmark-remove{
  width:36px;
  height:36px;
  padding:0;
  margin-bottom:1px;
  justify-self:end;
}
@media(max-width:900px){
  .benchmark-top{
    grid-template-columns:1fr 1fr 36px;
  }
}

/* Strategic actions: wrap crowded rows + slightly smaller type */
.actions-layout{
  grid-template-columns:minmax(400px,1.05fr) minmax(440px,1fr);
  gap:16px;
  align-items:start;
  font-size:12px;
}
.actions-layout>.panel{
  padding:18px;
  min-width:0;
}
.actions-layout .section-title{
  margin-bottom:12px;
  padding-bottom:10px;
  border-bottom:1px solid #edf1f5;
}
.actions-layout .section-title h2{font-size:14px}
.actions-layout .section-title p{font-size:11px;color:#7a8799;margin-top:2px}
.actions-layout .section-title .btn{font-size:10px;padding:6px 10px}

/* 第一行：X/Y 轴名称；第二行：对标 X/Y */
.actions-axis-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  gap:10px;
  margin-bottom:12px;
  padding:12px;
  border:1px solid #e7edf3;
  border-radius:11px;
  background:linear-gradient(180deg,#fbfcfe,#f6f8fb);
}
.actions-axis-grid .axis-name{grid-column:span 1}
.actions-axis-grid .axis-score{max-width:140px}
.actions-axis-grid label{display:block;font-size:11px;color:#526076;min-width:0}
.actions-axis-grid input{
  display:block;
  width:100%;
  margin-top:5px;
  border:1px solid #d7dee7;
  border-radius:7px;
  padding:8px 10px;
  background:#fff;
  font-size:12px;
}
.actions-axis-grid .axis-name input{min-height:36px}
.actions-axis-grid .axis-score input{text-align:center;padding-left:6px;padding-right:6px}

.actions-layout .factor-list{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}
.actions-layout .factor-list label.factor-core,
.actions-layout .factor-list .factor-core{
  display:grid;
  grid-template-columns:18px minmax(0,1fr) 28px;
  gap:8px;
  align-items:start;
  margin:0;
  padding:10px;
  border:1px solid #e4eaf1;
  border-radius:10px;
  background:#fff;
}
.actions-layout .factor-list label.factor-core:hover{border-color:#d2dce8;box-shadow:0 2px 10px rgba(20,40,70,.04)}
.actions-layout .factor-list label>input[type=checkbox],
.actions-layout .factor-core>input[type=checkbox]{
  width:16px;
  height:16px;
  margin-top:9px;
  accent-color:#b88d36;
}
.actions-layout .factor-main{min-width:0;display:grid;gap:7px}
.actions-layout .factor-main>input[name="factor_name[]"]{
  width:100%;
  min-width:0;
  border:1px solid #d7dee7;
  border-radius:7px;
  padding:8px 10px;
  font-size:12px;
  line-height:1.45;
  background:#fbfcfe;
}
.actions-layout .factor-scores{
  display:flex;
  flex-wrap:wrap;
  gap:6px 10px;
}
.actions-layout .factor-scores>span{
  display:inline-flex;
  align-items:center;
  gap:5px;
  color:#667589;
  font-size:11px;
  white-space:nowrap;
}
.actions-layout .factor-scores input{
  width:64px;
  border:1px solid #d7dee7;
  border-radius:6px;
  padding:5px 6px;
  text-align:center;
  background:#fff;
  font-size:12px;
}
.actions-layout .factor-list label>button{
  width:28px;
  height:28px;
  margin-top:4px;
  padding:0;
  border:0;
  border-radius:7px;
  background:transparent;
  color:#8a96a8;
}
.actions-layout .factor-list label>button:hover{background:#f4f6f8;color:#a64343}

.actions-layout .path-toolbar{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  align-items:center;
  margin:2px 0 10px;
  padding:8px 10px;
  border-radius:9px;
  background:#f7f9fb;
  border:1px solid #e8eef4;
}
.actions-layout .path-toolbar .btn{font-size:10px;padding:6px 9px}
.actions-layout .path-toolbar .muted{flex:1 1 160px;font-size:10px;line-height:1.4}
.actions-layout .actions-chart,
.actions-layout #actions-chart{
  min-height:300px;
  border:1px solid #e5ebf1;
  border-radius:11px;
  background:#fafbfd;
}
.actions-layout .path-notes-grid{gap:8px;margin-top:10px}
.actions-layout .path-notes-grid label{font-size:11px}
.actions-layout .path-notes-grid textarea{font-size:11px;padding:8px;min-height:64px}

.actions-layout .action-list{display:flex;flex-direction:column;gap:10px}
.actions-layout .action-list article{
  display:grid;
  grid-template-columns:12px 22px minmax(0,1fr) 28px;
  gap:8px;
  align-items:start;
  margin:0;
  padding:12px 10px;
  border:1px solid #e4eaf1;
  border-radius:11px;
  background:#fff;
}
.actions-layout .action-list article:hover{border-color:#d2dce8;box-shadow:0 2px 10px rgba(20,40,70,.04)}
.actions-layout .action-list article>i{margin-top:8px;color:#b7c0cc;font-size:13px}
.actions-layout .action-list article>span{
  width:22px;
  height:22px;
  margin-top:7px;
  border-radius:7px;
  display:grid;
  place-items:center;
  background:#eef3f8;
  color:#3d5f82;
  font-size:11px;
  font-weight:700;
}
.actions-layout .action-list .grow{min-width:0}
.actions-layout .action-list textarea{
  display:block;
  width:100%;
  min-height:96px;
  border:1px solid #d7dee7;
  border-radius:8px;
  padding:10px 11px;
  font-size:12px;
  line-height:1.6;
  resize:vertical;
  background:#fbfcfe;
}
/* 优先级 / 关联因素 / 负责人：放不下自动换行 */
.actions-layout .action-list .form-row{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:8px;
}
.actions-layout .action-list .form-row>select[name="action_priority[]"]{
  flex:0 1 118px;
  min-width:108px;
}
.actions-layout .action-list .form-row>input[name="action_factor[]"]{
  flex:1 1 100%;
  min-width:0;
}
.actions-layout .action-list .form-row>input[name="action_owner[]"]{
  flex:1 1 140px;
  min-width:120px;
}
.actions-layout .action-list .form-row>*{
  border:1px solid #d7dee7;
  border-radius:7px;
  padding:7px 9px;
  font-size:11px;
  background:#fff;
  box-sizing:border-box;
}
.actions-layout .action-list [name="action_due[]"]{display:none}
.actions-layout .action-list article>button{
  width:28px;
  height:28px;
  margin-top:6px;
  padding:0;
  border:0;
  border-radius:7px;
  background:transparent;
  color:#8a96a8;
}
.actions-layout .action-list article>button:hover{background:#f4f6f8;color:#a64343}
.actions-layout input,
.actions-layout textarea,
.actions-layout select{font-size:12px;line-height:1.45}

/* Business model canvas: premium soft slate frame instead of black. */
.canvas-board{
  gap:9px;
  padding:10px;
  background:linear-gradient(145deg,#d7dfe8,#c9d4df);
  border:1px solid #becbd8;
  box-shadow:0 12px 30px rgba(28,52,80,.10);
}
.canvas-cell{
  border:1px solid rgba(129,148,169,.18);
  box-shadow:0 2px 8px rgba(32,54,80,.045);
}
.canvas-cell.c1{background:#f2f7f5}
.canvas-cell.c2,.canvas-cell.c3{background:#f7f4f9}
.canvas-cell.c4{background:#fcf6e8}
.canvas-cell.c5,.canvas-cell.c6{background:#f2f6fb}
.canvas-cell.c7{background:#f8f3f5}
.canvas-cell.c8{background:#fbf2f1}
.canvas-cell.c9{background:#f0f7f3}

/* OKR objective uses a light executive card. */
.okr-hero{
  color:var(--ink);
  background:linear-gradient(135deg,#f8fafc,#eef3f8);
  border-color:#dbe3ec;
  box-shadow:0 5px 18px rgba(22,48,79,.05);
}
.okr-hero>span{
  width:46px;
  height:46px;
  display:grid;
  place-items:center;
  border-radius:50%;
  background:#fff7df;
  color:#b8892b;
  font-size:27px;
}
.okr-hero small{
  color:#68788c;
}
.okr-hero input,
.okr-hero textarea{
  color:var(--ink);
  background:#fff;
  border-color:#d8e0e9;
}
.okr-hero small,
.kr-index,
.kr-main label{
  font-size:10px;
  line-height:1.5;
}
.okr-hero input,
.okr-hero textarea,
.kr-main input,
.kr-main textarea,
.kr-main select{
  font-size:12px;
  line-height:1.5;
  font-weight:400;
}
.kr-main>input{
  font-weight:500;
}

/* Give financial interpretation enough room for real analysis. */
.dupont-analysis{
  padding:20px;
}
.dupont-analysis>textarea{
  display:block;
  width:100%;
  min-height:210px;
  margin-top:12px;
  padding:14px;
  border:1px solid #dfe5ec;
  border-radius:9px;
  background:#fbfcfd;
  color:var(--ink);
  line-height:1.75;
  outline:none;
}
.dupont-analysis>textarea:focus{
  border-color:#a88336;
  box-shadow:0 0 0 3px rgba(198,155,60,.10);
}

.report-page-head{
  padding:2px 0;
}
.report-head-actions{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:9px;
  flex-wrap:wrap;
}
.report-export-primary{
  min-height:38px;
  padding:0 17px;
  box-shadow:0 6px 16px rgba(178,132,35,.18);
  position:relative;
  z-index:1;
  touch-action:manipulation;
}
.report-structure{
  max-height:min(72vh,760px);
  overflow:auto;
}
.report-structure .chapter-status{
  margin-top:13px;
  padding:10px 11px;
  background:#f4f8f6;
  border-color:#d9e9e2;
  box-shadow:none;
  position:sticky;
  bottom:0;
}
.report-structure .chapter-status span{
  display:flex;
  align-items:center;
  justify-content:space-between;
  width:100%;
  gap:8px;
}
.report-structure .chapter-status small,
.report-structure .chapter-status b{
  font-size:10px;
}
.report-summary-panel textarea,#report-summary-text,.report-summary-text{
  width:100%;
  min-height:180px;
  margin:10px 0;
  padding:10px 12px;
  border:1px solid #d5dee6;
  border-radius:8px;
  font-size:10px;
  line-height:1.7;
  resize:vertical;
}

@media(max-width:1200px){
  .actions-layout{
    grid-template-columns:1fr;
  }
}
/* Brand logo */
.brand-logo{
  width:62px;
  height:52px;
  object-fit:contain;
  object-position:left center;
  filter:drop-shadow(0 0 8px rgba(241,198,92,.16));
  flex:none;
}
.brand{padding:16px 18px 12px}
.brand-mark:has(+span){display:none}
.menu-toggle{display:none}
.sidebar-backdrop{
  display:none;
  position:fixed;
  inset:0;
  background:rgba(8,18,36,.45);
  z-index:35;
}

/* Methodology overview */
.method-map{
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:10px;
  margin-bottom:18px;
}
.method-map a,.method-map>.method-locked{
  display:block;
  padding:14px 12px;
  border-radius:12px;
  background:#fff;
  border:1px solid #e4e8ee;
  min-height:96px;
}
.method-map>.method-locked{opacity:.55;cursor:not-allowed}
.method-map>.method-locked em{display:block;font-size:12px;color:#8a5760;font-style:normal}
.method-map a:hover{border-color:#c69b3c;box-shadow:0 8px 18px rgba(18,32,58,.06)}
.method-map small{display:block;color:#778197;font-size:11px;margin-bottom:6px}
.method-map b{display:block;font-size:14px;color:#17345e;margin-bottom:4px}
.method-map span{display:block;font-size:12px;color:#5f6d82;line-height:1.45}
.method-overview{margin:0 0 18px;padding:22px 24px 24px;overflow:hidden}
.method-overview .panel-head{margin-bottom:18px;padding-bottom:15px;border-bottom:1px solid #e8ecf1}
.method-flow{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}
.method-stage{display:flex;flex-direction:column;min-width:0;min-height:250px;padding:14px;border:1px solid #e1e7ee;border-radius:14px;background:linear-gradient(180deg,#fff,#f8fafc)}
.method-stage header{display:flex;align-items:center;min-height:34px;margin-bottom:12px;padding-bottom:10px;border-bottom:1px solid #e8edf2}
.method-stage header b{display:block;color:#17345e;font-size:16px}
.method-stage>div{display:grid;gap:7px}
.method-stage a,.method-stage .method-locked{display:block;padding:10px;border-radius:9px;background:#fff;border:1px solid #e8ecf1;min-height:61px;transition:.18s ease}
.method-stage a:hover{border-color:#c99c3c;transform:translateY(-1px);box-shadow:0 6px 16px rgba(24,50,82,.07)}
.method-stage strong{display:block;color:#1b3e68;font-size:13px}
.method-stage a small,.method-stage .method-locked small{display:block;margin-top:4px;color:#748196;font-size:10px;line-height:1.45}
.stage-five{border-top:4px solid #1e5378}.stage-three{border-top:4px solid #c89b38}.stage-four{border-top:4px solid #2d7d72}.stage-loop{border-top:4px solid #7b5ba5}.stage-okr{border-top:4px solid #316da0}.stage-finance{border-top:4px solid #b66b4e}
.page-toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 16px;padding:11px 12px;border:1px solid #e2e7ed;border-radius:11px;background:#fff;box-shadow:0 4px 13px rgba(18,39,68,.035)}
.page-toolbar .toolbar-spacer{flex:1}
.methodology-tabs{margin-bottom:10px}

/* KANO guide + path chart */
.kano-guide{
  display:grid;
  grid-template-columns:1.1fr 1fr;
  gap:14px;
  margin-bottom:16px;
}
.kano-curve{
  min-height:220px;
  border-radius:12px;
  background:
    linear-gradient(180deg,rgba(255,255,255,.9),rgba(255,255,255,.95)),
    radial-gradient(circle at 20% 80%,#f3e7c3 0,transparent 40%),
    radial-gradient(circle at 80% 20%,#d9eaf7 0,transparent 42%),
    #f7f9fb;
  border:1px solid #e4e8ee;
  padding:16px;
  position:relative;
  overflow:visible;
}
.kano-curve svg{width:100%;height:auto;display:block}
.kano-source textarea{min-height:120px}
/* factor-core layout is owned by .actions-layout rules above */
.path-toolbar{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}
.okr-mindmap{min-height:280px;border:1px solid #e4e8ee;border-radius:12px;background:#fff}
.canvas-board.bmc{
  grid-template-columns:repeat(10,1fr);
  grid-auto-rows:minmax(110px,auto);
}
.canvas-board.bmc .c1{grid-column:1/3;grid-row:1/3}
.canvas-board.bmc .c2{grid-column:3/5;grid-row:1/2}
.canvas-board.bmc .c3{grid-column:3/5;grid-row:2/3}
.canvas-board.bmc .c4{grid-column:5/7;grid-row:1/3}
.canvas-board.bmc .c5{grid-column:7/9;grid-row:1/2}
.canvas-board.bmc .c6{grid-column:7/9;grid-row:2/3}
.canvas-board.bmc .c7{grid-column:9/11;grid-row:1/3}
.canvas-board.bmc .c8{grid-column:1/6;grid-row:3/4}
.canvas-board.bmc .c9{grid-column:6/11;grid-row:3/4}
.canvas-board.bmc .c10{grid-column:1/11;grid-row:4/5;min-height:90px}
.canvas-profit{border-top:3px solid #c69b3c!important;background:#fffaf0}
.benchmark-bmc{min-width:0;margin:0;padding:12px;background:#f7fafc}
.benchmark-bmc .canvas-cell{min-height:110px;padding:10px 12px}
.benchmark-bmc .canvas-cell p{margin:8px 0 0;color:#40566c;font-size:12px;line-height:1.55;white-space:pre-line}
.business-model-case>header{grid-template-columns:38px minmax(190px,.6fr) minmax(200px,1fr) auto auto}
.table-scroll{overflow:auto;-webkit-overflow-scrolling:touch}
.score-panel .table-wrap{overflow:auto;max-width:100%}

@media(max-width:1200px){
  .method-map{grid-template-columns:repeat(3,1fr)}
  .method-flow{grid-template-columns:repeat(3,minmax(0,1fr))}
  .kano-guide{grid-template-columns:1fr}
  .actions-layout{grid-template-columns:1fr}
}
@media(max-width:900px){
  .menu-toggle{display:inline-grid}
  .sidebar{
    transform:translateX(-105%);
    width:min(86vw,300px);
    transition:transform .2s ease;
    box-shadow:none;
  }
  .sidebar.open{
    transform:translateX(0);
    box-shadow:0 0 0 1px rgba(255,255,255,.06),20px 0 40px rgba(0,0,0,.35);
  }
  .sidebar.open + .sidebar-backdrop,
  body.sidebar-open .sidebar-backdrop{display:block}
  .shell{margin-left:0!important}
  .brand>span:last-child,
  .nav span,
  .nav details>a,
  .sidebar-foot,
  .admin-entry{display:initial}
  .nav details>a{
    display:block;
    padding:10px 14px 10px 44px;
    font-size:13px;
    min-height:44px;
  }
  .nav>a,.nav summary{
    justify-content:flex-start;
    min-height:46px;
    padding:12px 14px;
  }
  .nav details summary .arrow{margin-left:auto}
  .content{padding:12px 14px 36px}
  .topbar{padding:0 12px;gap:8px}
  .top-actions .btn span,.user-button span small{display:none}
  .page-head{flex-direction:column;align-items:stretch;gap:10px}
  .head-actions,.report-head-actions{justify-content:flex-start}
  .method-map{grid-template-columns:1fr 1fr}
  .method-flow{grid-template-columns:1fr 1fr}
  .method-overview{padding:17px}
  .admin-body{grid-template-columns:1fr}
  .admin-nav{
    position:static;
    display:flex;
    width:100%;
    overflow:auto;
  }
  .admin-nav>span{display:none}
  .admin-nav a{white-space:nowrap;min-height:40px}
  .report-page-head{align-items:flex-start}
  .canvas-board.bmc{grid-template-columns:1fr;display:flex;flex-direction:column}
  .matrix-chart,.chart,.okr-mindmap{min-height:260px}
  .tabs{overflow:auto;flex-wrap:nowrap;-webkit-overflow-scrolling:touch}
  .tabs a{flex:none;white-space:nowrap;min-height:40px;display:inline-flex;align-items:center}
}
@media(max-width:420px){
  .method-map{grid-template-columns:1fr}
  .method-flow{grid-template-columns:1fr}
  .page-toolbar .toolbar-spacer{display:none}
  .page-toolbar .btn{flex:1;justify-content:center}
  .metric-grid{grid-template-columns:1fr}
  .login-page{grid-template-columns:1fr}
  .login-visual{display:none}
}
/* Foldable outer / compact */
@media(max-width:360px) and (max-height:840px){
  .topbar{min-height:56px}
  .content{padding:10px}
  .panel{padding:12px}
  .btn{min-height:40px}
}

/* 2026-08-06 cohesive workspace pass */
body{font-size:14px;line-height:1.55}
.shell{display:flex;flex-direction:column;min-height:100vh}
.content{width:100%;max-width:1600px;flex:1}
.site-beian{
  margin-top:auto;
  padding:16px 30px 18px;
  border-top:1px solid #e3e7ec;
  background:#f3f5f7;
  color:#7a8490;
  font-size:12px;
  line-height:1.7;
}
.site-beian p{margin:0}
.site-beian a{color:#6d7886}
.site-beian a:hover{color:#355675;text-decoration:underline}
.login-page{grid-template-rows:1fr auto}
.login-page>.site-beian{grid-column:1/-1;padding:14px 24px 16px}
.error-page{display:flex;flex-direction:column;min-height:100vh}
.error-page>.site-beian{margin-top:auto}
.panel{min-width:0}
.panel-head h2,.section-title h2{font-size:16px}
.page-head p,.section-title p,.panel-head p,.muted{font-size:12px}
.btn{min-height:36px;padding:8px 14px;font-size:12px}
.head-actions{flex-wrap:wrap;justify-content:flex-end}
.form-grid label,.mini-grid label,.rule-editor label,.actions-axis-grid label,.path-notes-grid label{font-size:12px;color:#526076}
.form-grid input,.form-grid textarea,.form-grid select,.mini-grid input,.rule-editor input,.rule-editor textarea,.rule-editor select,
.config-card textarea,.kano-card textarea,.strategy-grid textarea,.result-document textarea,.look-card textarea,.canvas-cell textarea,
.okr-hero input,.okr-hero textarea,.kr-main input,.kr-main textarea,.chart-panel>textarea{
  font-size:13px;line-height:1.6;padding:10px 12px
}
.result-document textarea,.report-summary-panel textarea,#report-summary-text{
  min-height:280px;white-space:pre-wrap
}
.report-summary-panel textarea,#report-summary-text,.report-summary-text{font-size:10px;line-height:1.7}
.report-summary-text{white-space:pre-wrap}
.tabs{max-width:none;width:max-content;min-width:min(680px,100%)}
.tabs a{font-size:12px;min-width:130px}
.look-card h2,.swot-card h2{font-size:15px}
.look-card header small,.swot-card small,.canvas-cell>span small,.kano-card>span small{font-size:10px}
.material-row p,.timeline small,.template-row small{font-size:11px}
.table-wrap th{font-size:11px;padding:12px}
.table-wrap td{font-size:12px;padding:11px}
.table-wrap td.config-desc{max-width:520px;color:#4a5d70;line-height:1.55;white-space:normal}
.table-wrap button{font-size:11px}
.table-wrap table{min-width:760px}

.segment-panel{padding:20px;margin-top:14px}
.segment-panel .table-wrap{
  overflow:auto;
  max-height:min(70vh,720px);
  scrollbar-gutter:stable;
  scrollbar-width:auto;
}
.segment-panel .table-wrap::-webkit-scrollbar{height:14px;width:14px}
.segment-panel .table-wrap::-webkit-scrollbar-thumb{background:#b7c3cf;border-radius:999px}
.segment-matrix{
  table-layout:auto;
  width:max-content;
  min-width:100%;
  min-width:calc(180px + (var(--segment-cols,4) * 168px) + 96px);
  border-collapse:separate;
  border-spacing:0;
}
.segment-matrix th,.segment-matrix td{
  text-align:center;
  vertical-align:middle;
  word-break:break-word;
  overflow-wrap:anywhere;
  min-width:168px;
}
.segment-matrix thead th{
  white-space:normal;
  line-height:1.35;
  font-size:11px;
  padding:10px 8px;
}
.segment-matrix thead th>span,
.segment-matrix tbody th>span{
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:3;
  overflow:hidden;
}
.segment-matrix th:first-child,
.segment-matrix td:first-child{
  width:180px;
  min-width:160px;
  max-width:200px;
  text-align:left;
  position:sticky;
  left:0;
  z-index:2;
}
.segment-matrix tbody th:first-child,
.segment-matrix tfoot th:first-child{background:#f5f7f9;color:#263951}
.segment-matrix thead th:first-child{z-index:3;background:#eef3f7}
.segment-matrix th:not(:first-child):not(:last-child),
.segment-matrix td:not(:first-child):not(:last-child){
  min-width:168px;
  width:168px;
}
.segment-matrix th:last-child,
.segment-matrix td:last-child,
.segment-matrix .row-total,
#segment-grand-total{width:88px;min-width:88px;max-width:96px}
.segment-cell{display:grid;grid-template-columns:minmax(72px,1fr) auto auto;align-items:center;gap:5px}
.segment-cell input{width:100%;min-width:72px;font-size:14px;border:1px solid #dce3ea;border-radius:7px;padding:8px}
.segment-cell button{border:1px solid #e0e6ec!important;border-radius:6px!important;background:#fff!important;padding:7px!important;color:#5d7085!important}
.segment-matrix tfoot td,.segment-matrix tfoot th{font-weight:700;border-top:2px solid #ccd6e1}
.segment-total-note{margin-top:10px;padding:10px 12px;border-radius:8px;font-size:12px}
.segment-total-note.success{background:#edf8f3;color:#28795f}
.segment-total-note.warning{background:#fff6df;color:#8b681e}
.form-panel label:has(>a[href="/decision/ge?indicators=1"]){display:none}
.indicator-entry{display:flex;align-items:center;justify-content:space-between;gap:16px}
.indicator-entry[hidden]{display:none!important}
.indicator-entry small{display:block;margin-top:3px;color:#718096}

.path-toolbar .btn.active{background:#173b60;color:#fff;border-color:#173b60}
.danger-text{color:#a64343!important}
.path-notes-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}
.path-notes-grid textarea{display:block;width:100%;margin-top:5px;border:1px solid #dfe4ea;border-radius:8px;padding:9px;resize:vertical}
.path-node-editor{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-top:12px}
.path-node-editor section{padding:10px;border:1px solid #e2e7ed;border-radius:10px;background:#fafbfd}
.path-node-editor h4{margin:0 0 8px;padding-left:9px;border-left:4px solid var(--path-color);color:#17345e}
.path-node-editor label{display:grid;grid-template-columns:22px 72px 1fr 28px;gap:6px;align-items:center;margin-top:6px}
.path-node-editor label>b{display:grid;place-items:center;width:20px;height:20px;border-radius:50%;background:#17345e;color:#fff;font-size:10px}
.path-node-editor label>span{font-size:11px;color:#78849a}
.path-node-editor input{min-width:0;padding:7px}
.path-node-editor button{border:0;background:none;color:#9a4d54;cursor:pointer}

.ge-page-head{align-items:flex-end}
.ge-page-status{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}
.ge-page-status span{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid #dfe6ed;border-radius:999px;background:#fff;color:#53657a;font-size:11px}
.ge-page-status i{color:#b28731}
.ge-workbench{display:flex;flex-direction:column;gap:16px}
.ge-section{padding:18px;scroll-margin-top:82px}
.ge-axis-weight-summary{display:flex;justify-content:flex-end;gap:9px;margin:-2px 0 10px}
.ge-axis-weight-summary>span{display:inline-flex;align-items:center;gap:7px;padding:6px 9px;border:1px solid #dfe6ed;border-radius:999px;background:#f8fafc;color:#607187;font-size:10px}
.ge-axis-weight-summary strong{font-size:11px}.ge-axis-weight-summary strong.ok{color:#317256}.ge-axis-weight-summary strong.bad{color:#b05055}
.ge-indicator-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.ge-indicator-axis{overflow:hidden;border:1px solid #dfe6ed;border-radius:12px;background:#fbfcfd}
.ge-indicator-axis>header{display:flex;align-items:center;justify-content:space-between;gap:9px;padding:11px 12px;color:#fff}
.ge-indicator-axis.attractiveness>header{background:linear-gradient(120deg,#214e72,#347595)}
.ge-indicator-axis.competitiveness>header{background:linear-gradient(120deg,#193b5c,#285b7d)}
.ge-indicator-axis>header>div{display:flex;align-items:center;gap:9px;min-width:0;flex:1}
.ge-indicator-axis>header i{font-size:19px;color:#e7c873}
.ge-indicator-axis>header span{display:flex;min-width:0;flex-direction:column}
.ge-indicator-axis>header b{font-size:13px}
.ge-indicator-axis>header small{margin-top:2px;color:#c7d6e2;font-size:10px}
.ge-indicator-axis>header strong{padding:4px 8px;border-radius:999px;background:rgba(255,255,255,.12);font-size:15px}
.ge-indicator-axis>header strong.ok{color:#d7f3df}
.ge-indicator-axis>header strong.bad{color:#ffd3c8}
.ge-group-name{min-width:0;width:100%;padding:3px 5px;border:1px solid transparent;border-radius:5px;background:transparent;color:#fff;font-size:13px;font-weight:700}
.ge-group-name:hover,.ge-group-name:focus{border-color:rgba(255,255,255,.32);background:rgba(255,255,255,.1);outline:0}
.ge-group-axis-select select{max-width:142px;padding:5px 7px;border:1px solid rgba(255,255,255,.22);border-radius:6px;background:rgba(255,255,255,.1);color:#fff;font-size:9px}
.ge-group-axis-select option{color:#263b52}
.ge-group-delete{flex:0 0 auto;width:28px;height:28px;border:1px solid rgba(255,255,255,.18);border-radius:6px;background:rgba(255,255,255,.08);color:#f3d4d4}
.ge-group-delete i{font-size:14px!important;color:inherit!important}
.ge-indicator-columns,.ge-indicator-item{display:grid;grid-template-columns:minmax(120px,1fr) 92px 82px 32px;gap:8px;align-items:center}
.ge-indicator-columns{padding:8px 12px 4px;color:#7c8998;font-size:8px}
.ge-indicator-item{padding:5px 12px}
.ge-indicator-item input{width:100%;min-width:0;padding:6px 8px;border:1px solid #dce3ea;border-radius:7px;background:#fff;color:#263b52;font-size:11px;line-height:1.4}
.ge-indicator-item>label{display:flex;align-items:center;position:relative}
.ge-indicator-item>label input{padding-right:22px}
.ge-indicator-item em{position:absolute;right:7px;color:#8995a3;font-size:9px;font-style:normal}
.ge-indicator-item>button{height:28px;border:0;background:transparent;color:#b05d62;font-size:13px}
.ge-inline-add{margin:7px 12px 12px;padding:6px 10px;border:1px dashed #cbd6e1;border-radius:7px;background:#fff;color:#315b7c;font-size:9px}
.ge-inline-empty{margin:8px 12px;padding:12px;border:1px dashed #d7dfe8;border-radius:8px;text-align:center;color:#8b97a6;font-size:9px}
.ge-empty{padding:34px 24px;text-align:center;background:linear-gradient(180deg,#fbfcfe,#f4f7fa);border:1px dashed #d5dde7;border-radius:11px}
.ge-empty-icon{width:46px;height:46px;margin:0 auto 10px;display:grid;place-items:center;border-radius:12px;background:#eaf1f6;color:#25557f;font-size:21px}
.ge-empty h3{margin:0 0 7px;color:#17345e;font-size:15px}
.ge-empty p{max-width:560px;margin:0 auto 14px;color:#68778a;font-size:12px;line-height:1.6}
.ge-empty-actions{display:flex;justify-content:center;gap:8px}
.ge-size-controls{display:grid;grid-template-columns:minmax(210px,1fr) minmax(190px,240px) minmax(190px,240px);gap:18px;align-items:center;flex:1}
.ge-size-controls>div label{display:block;color:#243f5c;font-size:12px;font-weight:700}
.ge-size-controls>div small{display:block;margin-top:3px;color:#78869a;font-size:10px}
.ge-size-controls>label{display:flex;flex-direction:column;gap:5px}
.ge-size-controls>label span{display:flex;justify-content:space-between;color:#53657a;font-size:11px}
.ge-size-controls>label b{color:#1f547b}
.ge-size-controls input{width:100%;accent-color:#2f6f9f}
.ge-source-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid #dce5ed;border-radius:8px;background:#f7fafc;color:#53677c;font-size:10px;white-space:nowrap}
.ge-source-chip.ready{border-color:#cfe2d8;background:#f0f8f4;color:#347058}
.ge-source-chip.empty{border-color:#ead9b0;background:#fff9eb;color:#8b6b28}
.ge-score-progress{padding:6px 9px;border-radius:999px;background:#f2f5f8;color:#718094;font-size:11px;white-space:nowrap}
.ge-score-progress.complete{background:#eaf5ef;color:#347458}
.ge-score-toolbar{display:flex;align-items:center;justify-content:flex-start;gap:10px;margin:0 0 10px;flex-wrap:nowrap}
.ge-score-actions{display:flex;flex-shrink:0;gap:8px}
.ge-score-actions .btn{font-size:11px;padding:6px 11px}
.ge-score-hint{margin:0;min-width:0;color:#718094;font-size:11px;line-height:1.4;white-space:nowrap}
.ge-score-table{position:relative;isolation:isolate;max-height:min(62vh,680px);border:1px solid #e1e7ed;border-radius:9px}
.ge-score-grid{width:max-content;min-width:100%;border-collapse:separate;border-spacing:0}
.ge-score-grid th,.ge-score-grid td{height:45px;padding:7px 8px;border-right:1px solid #dfe6ed;border-bottom:1px solid #e5ebf0;vertical-align:middle}
.ge-score-grid thead th{position:sticky;top:0;z-index:20;background:#173b60;background-clip:padding-box;color:#fff;font-size:11px;text-align:center}
.ge-score-grid thead tr:first-child th{height:86px;padding-top:0;padding-bottom:0}
.ge-score-grid thead th small{display:block;margin-top:3px;color:#c4d2df;font-size:9px;font-weight:400}
.ge-fixed-head.category,.ge-axis-cell{position:sticky;left:0;width:116px;min-width:116px;max-width:116px}
.ge-fixed-head.indicator,.ge-indicator-name{position:sticky;left:116px;width:180px;min-width:180px;max-width:180px}
.ge-fixed-head.weight,.ge-weight-cell{position:sticky;left:296px;width:70px;min-width:70px;max-width:70px}
.ge-score-grid thead .ge-fixed-head{position:sticky!important;top:0!important;z-index:40!important;background:#173b60!important;background-clip:padding-box!important}
.ge-score-grid thead .ge-fixed-head.weight{box-shadow:7px 0 9px -9px rgba(19,43,67,.8)}
.ge-score-grid tbody .ge-axis-cell,
.ge-score-grid tbody .ge-indicator-name,
.ge-score-grid tbody .ge-weight-cell{z-index:10;background-clip:padding-box}
.ge-score-grid tbody .ge-axis-cell{background:#edf4f8;color:#245675;text-align:center}
.ge-score-grid tbody tr.competitiveness .ge-axis-cell{background:#e9f0f6;color:#173f62}
.ge-axis-cell span,.ge-axis-cell small{display:block}
.ge-axis-cell span{font-size:12px}.ge-axis-cell small{margin-top:5px;color:#71879a;font-size:9px;font-weight:400}
.ge-indicator-name{background:#fff;color:#334a62;font-size:11px;text-align:left}
.ge-weight-cell{background:#f9fbfc;color:#5d7084;font-size:11px;text-align:center}
.ge-business-head{width:160px;min-width:160px}
.ge-business-title{display:flex;min-height:52px;flex-direction:column;align-items:center;justify-content:center;padding:6px 8px}
.ge-business-title>span{display:flex;align-items:center;justify-content:center;gap:5px}
.ge-business-title i{width:8px;height:8px;border-radius:50%}
.ge-business-subheads{display:grid;grid-template-columns:1fr 1fr;margin:0 -8px;background:#265574}
.ge-business-subheads span{display:block;padding:8px 4px;color:#fff;font-size:10px}
.ge-business-subheads span+span{border-left:1px solid rgba(255,255,255,.2);background:#315f7c;color:#dce8f0}
.score-cell{width:72px;min-width:72px;background:#fff;text-align:center}
.score-cell input{width:54px;padding:7px 4px;border:1px solid #d7e0e8;border-radius:6px;background:#fff;text-align:center}
.score-cell input:focus{outline:2px solid rgba(47,111,159,.16);border-color:#2f6f9f}
.score-cell input::placeholder{color:#b4bec8}
.weighted-cell,.total-cell{width:72px;min-width:72px;background:#f7fafc;color:#31546f;font-size:11px;text-align:center}
.ge-axis-total th,.ge-axis-total td{height:39px;background:#eef4f8;font-weight:700}
.ge-axis-total.competitiveness th,.ge-axis-total.competitiveness td{background:#e9f0f6}
.ge-axis-total .ge-indicator-name{color:#1e4d70}
.ge-axis-total .total-label{color:#78899a;font-size:9px;text-align:center}
.ge-axis-total .total-cell{color:#173f62;font-size:13px}
.ge-result-section{scroll-margin-top:82px}
.ge-result-title{margin:0 0 10px}
.ge-result-controls{margin-bottom:12px;padding:13px 15px;background:#f8fafc}
.ge-chart-toggle{display:inline-flex;align-items:center;gap:5px;padding:6px 9px;border:1px solid #dfe6ed;border-radius:999px;background:#fff;color:#5f7084;font-size:10px;white-space:nowrap}
.ge-chart-toggle input{margin:0;accent-color:#2f6f9f}
.legend{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:8px}
.legend button{display:inline-flex;align-items:center;gap:5px;padding:4px 7px;border:1px solid #e1e7ed;border-radius:999px;background:#fff;color:#627287;font-size:10px}
.legend button.muted{opacity:.42;text-decoration:line-through}
.legend i{width:9px;height:9px;border-radius:50%}
.ge-chart-legend-row{display:flex;align-items:flex-start;justify-content:flex-end;gap:10px;min-height:34px;padding:0 4px 8px}
.ge-chart-legend-row>span{padding-top:5px;color:#8996a5;font-size:10px;white-space:nowrap}
.ge-chart-legend-row .legend{max-width:min(78%,900px)}
.matrix-layout{display:grid;grid-template-columns:minmax(0,1fr) minmax(310px,350px);gap:14px}
.matrix-layout.ge-result-stack{grid-template-columns:minmax(0,1fr)}
.matrix-chart-panel{min-width:0;padding:14px}
.matrix-chart{height:520px;min-height:520px}
.ge-result-stack .matrix-chart{height:clamp(620px,68vh,760px);min-height:620px}
.ge-chart-foot{display:flex;flex-wrap:wrap;gap:8px 16px;padding:8px 12px;border-top:1px solid #e9edf2;color:#718094;font-size:10px}
.ge-chart-foot span{display:inline-flex;align-items:center;gap:5px}
.ge-chart-foot i{width:8px;height:8px;border-radius:2px}
.ge-chart-foot i.core{background:#c49335}.ge-chart-foot i.selective{background:#4d7fa4}.ge-chart-foot i.cash{background:#4e8b70}.ge-chart-foot i.caution{background:#a86167}
.matrix-summary{padding:18px}
.ge-result-stack .matrix-summary{display:grid;grid-template-columns:minmax(0,1fr);gap:14px;align-items:start}
.ge-summary-heading h2{margin:5px 0 0;color:#17345e}
.matrix-summary textarea{min-height:280px;font-size:12px;line-height:1.65;resize:vertical}
.ge-result-stack .summary-score{display:grid;grid-template-columns:repeat(2,minmax(160px,220px));gap:10px;margin:0}
.ge-quadrant-stats{display:grid;grid-template-columns:1fr 1fr;gap:7px;margin-top:10px}
.ge-result-stack .ge-quadrant-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0}
.ge-q{padding:9px;border:1px solid #e4e9ef;border-radius:9px;background:#f7f9fb}
.ge-q span{display:block;color:#6d7c90;font-size:10px}
.ge-q b{display:block;margin:2px 0;color:#173b60;font-size:18px}
.ge-q small{display:block;color:#6c798b;font-size:9px;line-height:1.35}
.ge-q.core{border-color:#e5d39e;background:#fbf7eb}.ge-q.selective{background:#f1f6fa}.ge-q.cash{background:#f1f7f4}.ge-q.caution{background:#faf3f3}
.ge-auto-conclusion{margin-top:9px;padding:10px 11px;border-left:3px solid #c49335;border-radius:4px;background:#fbf8ef;color:#53657a;font-size:11px;line-height:1.65}
.ge-result-stack .ge-auto-conclusion{margin:0}
.ge-summary-advice{padding-top:14px;border-top:1px solid #e5eaf0}
.ge-summary-advice textarea{display:block;width:100%;margin-top:9px}
.ge-advice-head{display:flex;align-items:center;justify-content:space-between;gap:8px}
.ge-advice-head h3{margin:0}
.ge-advice-head .btn{padding:6px 8px;font-size:10px}
.ge-point-card h4{margin:14px 0 6px;color:#173b60;font-size:12px}
.ge-point-list>div{display:grid;grid-template-columns:1fr 50px 85px;gap:8px;padding:7px 0;border-bottom:1px solid #edf1f5;font-size:11px}
.ge-point-list small{color:#8794a3}.ge-point-list b{color:#173b60;text-align:right}.ge-point-list em{color:#7b8795;font-style:normal;text-align:right}

.kano-workbench{display:grid;gap:18px}
.kano-workbench>.kano-source{order:1}
.kano-workbench>.kano-curve{order:2}
.kano-workbench>.kano-attribute-section{order:3}
.kano-workbench>.kano-distribution{order:4}
.kano-workbench>.panel,
.kano-attribute-section{
  border:1px solid #dde4ec;
  box-shadow:0 8px 26px rgba(18,40,67,.045);
}
.kano-source{
  padding:20px;
  background:linear-gradient(145deg,#fff 0%,#fbfcfe 65%,#f7f9fc 100%);
}
.kano-source .section-title{margin-bottom:14px;padding-bottom:13px;border-bottom:1px solid #e8edf2}
.kano-source-fields{display:grid;grid-template-columns:1fr 1fr;gap:11px 14px}
.kano-source label{display:block;margin:0;color:#5d6b7e;font-size:10px;font-weight:500}
.kano-source textarea{
  display:block;
  width:100%;
  min-height:118px;
  margin-top:5px;
  border:1px solid #dfe5ec;
  border-radius:9px;
  padding:10px 11px;
  background:#fff;
  color:#34465b;
  font-size:11px;
  line-height:1.55;
  outline:0;
}
.kano-source textarea:focus{border-color:#7896b1;box-shadow:0 0 0 3px rgba(47,94,136,.08)}
.kano-attribute-section{
  padding:20px;
  border-radius:14px;
  background:linear-gradient(135deg,#f8fafc,#f3f6f9);
}
.kano-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:15px}
.kano-section-heading h2{margin:3px 0 2px;color:#193956;font-size:17px}
.kano-section-heading p{margin:0;color:#738195;font-size:10px}
.kano-live-total{
  display:flex;
  align-items:center;
  gap:8px;
  padding:8px 11px;
  border:1px solid #dce5ed;
  border-radius:10px;
  background:#fff;
  color:#617286;
  font-size:10px;
}
.kano-live-total>i{color:#3c886f;font-size:16px}
.kano-live-total span{display:flex;align-items:baseline;gap:4px}.kano-live-total b{color:#1e5378;font-size:17px}
.kano-attribute-section .kano-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(230px,1fr));
  gap:12px;
  overflow:visible;
  padding:0;
}
.kano-attribute-section .kano-card{
  --kano-accent:#7c5aa4;
  --kano-soft:#f2edf7;
  position:relative;
  display:flex;
  flex-direction:column;
  min-width:0;
  overflow:hidden;
  padding:15px;
  border:1px solid #dfe5eb;
  border-radius:12px;
  background:#fff;
  box-shadow:0 5px 16px rgba(20,42,69,.035);
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.kano-attribute-section .kano-card::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--kano-accent)}
.kano-attribute-section .kano-card.blue{--kano-accent:#3971a4;--kano-soft:#eaf2f8}
.kano-attribute-section .kano-card.green{--kano-accent:#358a70;--kano-soft:#eaf5f1}
.kano-attribute-section .kano-card.gray{--kano-accent:#8793a2;--kano-soft:#f0f2f4}
.kano-attribute-section .kano-card.red{--kano-accent:#b65a61;--kano-soft:#f8ecee}
.kano-attribute-section .kano-card.has-content{border-color:color-mix(in srgb,var(--kano-accent) 35%,#dfe5eb);box-shadow:0 8px 22px rgba(20,42,69,.065)}
.kano-attribute-section .kano-card>span{
  position:relative;
  display:grid;
  grid-template-columns:28px minmax(0,1fr) auto;
  grid-template-rows:auto auto;
  gap:1px 9px;
  min-height:38px;
  margin-bottom:10px;
  padding:0;
}
.kano-attribute-section .kano-card>span>i{
  grid-row:1/3;
  width:28px;
  height:28px;
  display:grid;
  place-items:center;
  border-radius:8px;
  background:var(--kano-soft);
  color:var(--kano-accent);
  font-size:9px;
  font-style:normal;
}
.kano-attribute-section .kano-card>span>b{color:#263e56;font-size:12px}
.kano-attribute-section .kano-card>span>small{
  grid-column:2;
  min-height:0;
  margin:0;
  color:#8995a4;
  font-size:8px;
}
.kano-attribute-section .kano-card>span>em{
  grid-column:3;
  grid-row:1/3;
  align-self:center;
  color:#8995a4;
  font-size:8px;
  font-style:normal;
  white-space:nowrap;
}
.kano-attribute-section .kano-card>span>em b{color:var(--kano-accent);font-size:14px}
.kano-attribute-section .kano-card>span{flex:none}
.kano-attribute-section .kano-card textarea{
  width:100%;
  flex:1;
  min-height:270px;
  padding:11px 12px;
  border:1px solid #dfe5eb;
  border-radius:9px;
  background:#f9fafc;
  color:#314459;
  font-size:11px;
  line-height:1.58;
  outline:0;
  resize:vertical;
}
.kano-attribute-section .kano-card textarea:focus{border-color:var(--kano-accent);background:#fff;box-shadow:0 0 0 3px color-mix(in srgb,var(--kano-accent) 11%,transparent)}
.kano-curve{min-height:0;padding:20px;background:linear-gradient(145deg,#fff,#f8fafc)}
.kano-curve .section-title{margin-bottom:10px}
.kano-live-chip{display:inline-flex;align-items:center;gap:6px;margin-left:auto;padding:6px 9px;border:1px solid #d6e7df;border-radius:999px;background:#f1f8f5;color:#36735d;font-size:9px}
.kano-live-chip i{width:7px;height:7px;border-radius:50%;background:#3d9a73;box-shadow:0 0 0 4px rgba(61,154,115,.13)}
.kano-curve-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:12px;align-items:center}
.kano-chart-stage{position:relative}
.kano-curve svg,.kano-curve svg.kano-classic{width:100%;height:auto;max-height:none;display:block;aspect-ratio:800/720}
.kano-curve-float{
  position:absolute;
  z-index:4;
  max-width:280px;
  margin:0;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
  color:#1d3550;
  font-size:7px;
  line-height:1.55;
  font-weight:600;
  pointer-events:none;
  white-space:pre-wrap;
  text-shadow:0 0 6px #fff,0 0 10px #fff,1px 1px 0 #fff;
}
.kano-plot-bg{fill:#fff;stroke:none;pointer-events:none}
.kano-classic{background:#fff}
.kano-axes{pointer-events:none}
#kano-axis-arrow path{fill:#b0b6be}
.kano-axes line{stroke:#b0b6be;stroke-width:.55}
.kano-axes text,.kano-axes .axis-end{fill:#8a929c;font-size:6px;letter-spacing:.02em}
.kano-model-curve{opacity:1;cursor:pointer;outline:none}
.kano-model-curve path{fill:none;stroke-width:1.1;stroke-linecap:round;stroke-linejoin:round;transition:stroke-width .18s ease}
.kano-model-curve .kano-hit-line{stroke:transparent!important;stroke-width:16px!important;pointer-events:stroke}
.kano-hit-circle{fill:transparent;stroke:transparent;pointer-events:fill}
.kano-indifferent-ring{fill:none;stroke:#2e86c1;stroke-width:.9;stroke-dasharray:3.5 3;pointer-events:stroke}
.kano-tag rect{stroke:none}
.kano-tag text{font-size:6px;font-weight:600}
.kano-model-curve.attractive path{stroke:#e67e22}
.kano-model-curve.attractive .kano-tag rect{fill:#e67e22}
.kano-model-curve.attractive .kano-tag text{fill:#fff}
.kano-model-curve.performance path{stroke:#2e86c1}
.kano-model-curve.performance .kano-tag rect{fill:#2e86c1}
.kano-model-curve.performance .kano-tag text{fill:#fff}
.kano-model-curve.must-be path{stroke:#c0392b}
.kano-model-curve.must-be .kano-tag rect{fill:#c0392b}
.kano-model-curve.must-be .kano-tag text{fill:#fff}
.kano-model-curve.reverse path{stroke:#1b1f24}
.kano-model-curve.reverse .kano-tag rect{fill:#1b1f24}
.kano-model-curve.reverse .kano-tag text{fill:#fff}
.kano-model-curve.indifferent .kano-tag rect{fill:#fff;stroke:#2e86c1;stroke-width:.7;stroke-dasharray:2 1.5}
.kano-model-curve.indifferent .kano-tag text{fill:#2e86c1}
.kano-model-curve.is-hovered path:not(.kano-hit-line),
.kano-model-curve.is-selected path:not(.kano-hit-line){stroke-width:1.6}
.kano-model-curve.is-hovered .kano-indifferent-ring,
.kano-model-curve.is-selected .kano-indifferent-ring{stroke-width:1.3}
.kano-live-legend>div.is-active{box-shadow:inset 0 0 0 1px #c49335}
.kano-curve-caption{
  margin:12px 0 0;
  padding:0;
  border:0;
  background:transparent;
  box-shadow:none;
  color:#2c3e50;
  font-size:14px;
  line-height:1.65;
  min-height:2.4em;
}
.kano-score-field{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  flex:none;
  height:42px;
  min-height:42px;
  margin-top:12px;
  padding:0 8px 0 12px;
  border:1px solid color-mix(in srgb,var(--kano-accent) 18%,#e6ebf0);
  border-radius:10px;
  background:linear-gradient(180deg,#fff,var(--kano-soft));
}
.kano-score-copy{
  display:flex;
  align-items:baseline;
  flex-wrap:wrap;
  gap:0 8px;
  min-width:0;
  color:#2f4a63;
  font-size:12px;
  font-weight:600;
  line-height:1.35;
}
.kano-score-copy em{color:#7d8b99;font-size:11px;font-style:normal;font-weight:500;white-space:nowrap}
.kano-score-field input,
.kano-score-chip input{
  width:56px;
  height:32px;
  flex:none;
  padding:0 4px;
  border:1px solid #cfd8e2;
  border-radius:8px;
  background:#fff;
  color:#1e3a56;
  font-size:15px;
  font-weight:700;
  line-height:30px;
  text-align:center;
  outline:0;
  -moz-appearance:textfield;
}
.kano-score-field input:focus,
.kano-score-chip input:focus{border-color:var(--kano-accent,#3a6f96);box-shadow:0 0 0 3px rgba(47,94,136,.1)}
.kano-score-field input::-webkit-outer-spin-button,
.kano-score-field input::-webkit-inner-spin-button,
.kano-score-chip input::-webkit-outer-spin-button,
.kano-score-chip input::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}
.kano-competitor-panel{
  margin-top:28px;
  padding:22px 22px 18px;
  border:1px solid #d9e2ea;
  border-radius:16px;
  background:#fff;
  box-shadow:0 12px 28px rgba(20,42,69,.05);
}
.kano-competitor-panel .section-title{
  margin-bottom:16px;
  padding-bottom:14px;
  border-bottom:1px solid #e8edf2;
}
.kano-competitor-panel .section-title .eyebrow{letter-spacing:.14em}
.kano-competitor-list{display:grid;gap:12px}
.kano-competitor-card{
  padding:14px 16px 15px;
  border:1px solid #e3e9ef;
  border-radius:12px;
  background:linear-gradient(180deg,#fcfdfe,#f7f9fb);
}
.kano-competitor-card header{
  display:grid;
  grid-template-columns:36px minmax(0,1fr) 34px;
  gap:10px;
  align-items:center;
  margin-bottom:12px;
}
.kano-competitor-index{
  width:36px;
  height:36px;
  display:grid;
  place-items:center;
  border-radius:10px;
  background:#eef3f8;
  color:#2f5576;
  font-size:12px;
  font-weight:700;
}
.kano-competitor-card header input{
  width:100%;
  min-width:0;
  height:36px;
  padding:0 12px;
  border:1px solid #d7e0e8;
  border-radius:9px;
  background:#fff;
  color:#243f5b;
  font-size:13px;
  font-weight:600;
}
.kano-competitor-remove{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border:1px solid #e4e8ee;
  border-radius:9px;
  background:#fff;
  color:#8a96a3;
}
.kano-competitor-remove:hover{border-color:#d7b4b4;color:#b65a61;background:#fdf6f6}
.kano-competitor-scores{display:flex;flex-wrap:wrap;gap:8px}
.kano-score-chip{
  display:flex;
  align-items:center;
  gap:8px;
  min-width:108px;
  padding:5px 6px 5px 10px;
  border-radius:999px;
  background:#fff;
  box-shadow:inset 0 0 0 1px #e4eaf0;
}
.kano-score-chip span{color:#5c7084;font-size:11px;font-weight:600}
.kano-score-chip.attractive{box-shadow:inset 0 0 0 1px #e4dceb}
.kano-score-chip.performance{box-shadow:inset 0 0 0 1px #d7e4ef}
.kano-score-chip.must_be{box-shadow:inset 0 0 0 1px #d6e8e1}
.kano-score-chip.indifferent{box-shadow:inset 0 0 0 1px #e2e5e8}
.kano-score-chip.reverse{box-shadow:inset 0 0 0 1px #eddde0}
.kano-competitor-empty{
  display:flex;
  align-items:center;
  gap:10px;
  padding:18px 16px;
  border:1px dashed #d5dee6;
  border-radius:12px;
  background:#f8fafc;
  color:#7b8896;
  font-size:13px;
}
.kano-competitor-empty i{font-size:18px;color:#8aa0b4}
.kano-competitor-empty p{margin:0}
.kano-model-curve:focus path:not(.kano-hit-line){stroke-width:1.6px}
.kano-live-legend{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:7px}
.kano-live-legend>div{--legend:#7c5aa4;display:grid;grid-template-columns:9px minmax(0,1fr) 34px;gap:8px;align-items:center;padding:9px 10px;border:1px solid #e3e8ee;border-radius:9px;background:#fff;cursor:pointer}
.kano-live-legend>div.blue{--legend:#3971a4}.kano-live-legend>div.green{--legend:#358a70}.kano-live-legend>div.gray{--legend:#8793a2}.kano-live-legend>div.red{--legend:#b65a61}
.kano-live-legend i{width:8px;height:8px;border-radius:50%;background:var(--legend)}
.kano-live-legend span{display:flex;flex-direction:column;color:#354a60;font-size:10px}.kano-live-legend small{margin-top:1px;color:#929dab;font-size:8px}
.kano-live-legend b{color:var(--legend);font-size:17px;text-align:right}
.kano-distribution{padding:20px}.kano-distribution .chart{min-height:340px}

.canvas-cell>span b{font-size:13px}
.canvas-cell textarea{font-size:12px;line-height:1.6}
.canvas-board.bmc{min-width:980px}
.module-form:has(.canvas-board){overflow:auto;padding-bottom:5px}

.admin-content>.panel,.admin-content>.two-column>.panel,.admin-split>.panel,.rule-workbench>.panel{padding:20px}
.rule-workbench{
  display:grid;
  grid-template-columns:minmax(0,340px) minmax(0,1fr);
  gap:16px;
  align-items:start;
}
.rule-list-panel{padding:18px 18px 12px;min-width:0;overflow:hidden}
.rule-list-panel .list-head{align-items:flex-start;flex-wrap:wrap;gap:10px;margin-bottom:12px}
.rule-list-panel .list-head>div{min-width:0;flex:1 1 160px}
.rule-list-panel .list-head .btn{flex:0 0 auto}
.rule-list-panel .list-head p{margin:4px 0 0;color:#6b7d90;font-size:12px}
.rule-list-tools{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}
.rule-list-tools input,.rule-list-tools select{
  flex:1 1 100%;
  min-width:0;
  max-width:100%;
  width:100%;
  min-height:38px;
  padding:8px 10px;
  border:1px solid #d7e0e9;
  border-radius:8px;
  background:#fff;
}
.rule-list{display:grid;gap:8px;max-height:min(68vh,720px);overflow:auto;padding-right:2px}
.rule-row{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  width:100%;
  padding:12px 14px;
  border:1px solid #e4ebf2;
  border-radius:10px;
  background:#fff;
  text-align:left;
  cursor:pointer;
}
.rule-row:hover{border-color:#c9d6e4;background:#f7fafc}
.rule-row.active{border-color:#173f63;background:#f3f7fb;box-shadow:inset 3px 0 0 #173f63}
.rule-row span{min-width:0}
.rule-row b{display:block;color:#173f63;font-size:13px;overflow-wrap:anywhere}
.rule-row small{display:block;margin-top:4px;color:#6b7d90;font-size:11px;overflow-wrap:anywhere}
.rule-row em{flex:none;color:#8a6b2a;font-size:11px;font-style:normal}
.rule-editor{display:grid;gap:12px;padding:22px 26px 24px;min-width:0}
.rule-editor h2{margin:4px 0 0;color:#173f63}
.rule-editor .form-row{display:flex;flex-wrap:wrap;gap:12px;align-items:stretch}
.rule-editor .form-row>label{flex:1 1 200px;min-width:0}
.rule-editor>label,.rule-editor .form-row label{display:flex;flex-direction:column;gap:6px;color:#3d5570;font-size:12px;font-weight:600}
.rule-editor input,.rule-editor select,.rule-editor textarea{
  width:100%;
  padding:10px 12px;
  border:1px solid #d7e0e9;
  border-radius:10px;
  background:#fff;
  font-weight:500;
}
.rule-editor textarea{min-height:280px;line-height:1.65}
.rule-editor-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px}
.admin-nav a{font-size:12px}
.rule-row b{font-size:12px}.rule-row small{font-size:10px}
.indicator-admin-block{margin-top:16px;padding:14px;border:1px solid #e1e7ed;border-radius:10px;background:#f8fafc}
.indicator-admin-block h3{margin:0;font-size:14px}
.indicator-admin-row{display:grid;grid-template-columns:minmax(160px,1fr) 110px 38px;gap:8px;margin:8px 0}
.indicator-admin-row input{width:100%;min-width:0;border:1px solid #dbe2e9;border-radius:7px;padding:8px;background:#fff}
.indicator-admin-row .btn{padding:0}

@media(max-width:1200px){
  .matrix-layout{grid-template-columns:1fr}
  .matrix-summary{display:block}
  .ge-indicator-grid{grid-template-columns:1fr}
  .ge-size-controls{grid-template-columns:minmax(180px,1fr) minmax(170px,220px) minmax(170px,220px)}
  .path-notes-grid,.path-node-editor{grid-template-columns:1fr}
  .kano-attribute-section .kano-grid{grid-template-columns:repeat(2,minmax(230px,1fr))}
}
@media(max-width:900px){
  .page-head h1{font-size:20px}
  .topbar .project-picker{min-width:0;flex:1}
  .picker-button b{display:block;max-width:40vw;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .top-actions>.btn{display:none}
  .user-button>span:nth-child(2),.user-button>i{display:none}
  .section-title{align-items:flex-start;flex-wrap:wrap}
  .section-title>div{min-width:0;flex:1 1 220px}
  .section-title>.section-title-actions,.section-title-actions{flex:0 0 auto;min-width:0;margin-left:auto;width:auto}
  .ge-page-head{align-items:flex-start}
  .ge-page-status{justify-content:flex-start}
  .ge-size-controls{display:flex;flex-direction:column;align-items:stretch}
  .ge-result-stack .matrix-summary{grid-template-columns:1fr}
  .ge-result-stack .ge-quadrant-stats{grid-column:1;grid-template-columns:1fr 1fr}
  .ge-result-stack .matrix-chart{height:520px;min-height:520px}
  .ge-chart-legend-row{align-items:flex-end;flex-direction:column}
  .ge-chart-legend-row .legend{max-width:100%}
  .benchmark-top{grid-template-columns:1fr 36px}
  .benchmark-top label:nth-child(2){grid-column:1}
  .benchmark-remove{grid-column:2;grid-row:1/3}
  .actions-axis-grid{grid-template-columns:1fr}
  .actions-axis-grid .axis-score{max-width:none}
  .path-notes-grid,.path-node-editor{grid-template-columns:1fr}
  .material-toolbar{flex-wrap:wrap}
  .material-toolbar .search{flex-basis:100%}
  .search input{min-width:0;width:100%}
  .material-row{align-items:flex-start;flex-wrap:wrap}
  .material-row .row-actions{width:100%;display:flex;justify-content:flex-end;border-top:1px solid #edf0f3;padding-top:7px}
  .kano-source-fields,.kano-curve-layout{grid-template-columns:1fr}
  .kano-live-legend{grid-template-columns:1fr 1fr}
}
@media(max-width:560px){
  .actions-axis-grid{grid-template-columns:1fr}
  .metric-grid,.kano-grid{grid-template-columns:1fr}
  .kano-attribute-section .kano-grid,.kano-live-legend{grid-template-columns:1fr}
  .kano-competitor-scores{display:grid;grid-template-columns:repeat(5,minmax(0,1fr))}
  .kano-score-chip{min-width:0}
  .kano-section-heading{align-items:flex-start;flex-direction:column}
  .head-actions{justify-content:flex-start}
  .page-head .date-chip{display:none}
  .ge-indicator-columns,.ge-indicator-item{grid-template-columns:minmax(100px,1fr) 74px 68px 28px;gap:5px;padding-left:8px;padding-right:8px}
  .ge-result-stack .matrix-chart{height:420px;min-height:420px}
}

/* 新建项目页 + 核心信息采集问卷 */
.project-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  align-items:stretch;
}
.project-card{
  display:flex;
  flex-direction:column;
  min-width:0;
  padding:18px 18px 15px;
  border:1px solid #e2e8ee;
  border-radius:14px;
  background:#fff;
  box-shadow:0 8px 22px rgba(18,40,67,.045);
}
.project-card:hover{border-color:#d3deea;box-shadow:0 12px 28px rgba(18,40,67,.08);transform:translateY(-2px)}
.project-card header{align-items:flex-start;gap:12px;margin-bottom:12px}
.project-card .project-symbol{
  flex:none;
  width:40px;
  height:40px;
  border-radius:11px;
  background:#eef3f8;
  color:#2f5f86;
}
.project-card.template .project-symbol{background:#f7f1e3;color:#8a6b2a}
.project-card header small{
  color:#9a7a3d;
  font-size:10px;
  letter-spacing:.04em;
}
.project-card header h2{
  margin-top:4px;
  color:#1d334b;
  font-size:15px;
  line-height:1.4;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.project-card header>button{width:32px;height:32px;color:#8b97a4}
.project-card-copy{flex:1;min-width:0}
.project-card-company{
  margin:0 0 6px;
  color:#3d5570;
  font-size:12px;
  font-weight:600;
  line-height:1.4;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.project-card-desc,
.project-card>p{
  height:auto;
  margin:0;
  color:#6b7b8c;
  font-size:12px;
  line-height:1.65;
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
}
.project-progress{
  display:grid;
  grid-template-columns:auto minmax(0,1fr) auto;
  align-items:center;
  gap:8px;
  margin:16px 0 0;
}
.project-progress em{
  color:#8a96a4;
  font-size:10px;
  font-style:normal;
  letter-spacing:.04em;
}
.project-progress>span{
  height:3px;
  background:#eef1f5;
  border-radius:99px;
  overflow:hidden;
}
.project-progress i{
  display:block;
  height:100%;
  border-radius:99px;
  background:linear-gradient(90deg,#2a6490,#c9a24a);
}
.project-progress b{
  color:#3d5a74;
  font-size:11px;
  font-variant-numeric:tabular-nums;
}
.project-card footer{
  margin-top:12px;
  padding-top:12px;
  border-top:1px solid #eef1f4;
}
.project-card footer small{font-size:11px;color:#8b97a4}
.project-card footer .enter{color:#8a6a28;font-size:12px;font-weight:600}
a.new-project-card{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  min-height:100%;
  padding:22px;
  text-decoration:none;
  color:inherit;
}
.new-project-form{display:grid;gap:14px}
.check-row{display:flex;flex-wrap:wrap;gap:8px 14px;margin-top:8px}
.check-row .check{display:inline-flex;align-items:center;gap:6px;font-size:12px;color:#3d4f66;font-weight:500}
.check-row .check input{width:auto;margin:0}
.mini-table-wrap{overflow:auto;border:1px solid #e4e9ef;border-radius:10px;background:#fbfcfd}
.mini-table{width:100%;border-collapse:collapse;min-width:560px}
.mini-table th,.mini-table td{padding:9px 10px;border-bottom:1px solid #e8edf2;text-align:left;font-size:12px}
.mini-table th{background:#f3f6f9;color:#526076;font-weight:600}
.mini-table td:first-child{color:#31445c;white-space:nowrap;width:160px}
.mini-table input{width:100%;border:1px solid #dfe4ea;border-radius:7px;padding:8px 10px;background:#fff}
.page-toolbar.bottom{margin-top:4px;margin-bottom:28px}
.questionnaire-workbench{
  display:grid;
  gap:0;
  margin-top:18px;
  border:1px solid #d7e1eb;
  border-radius:18px;
  background:
    linear-gradient(180deg,rgba(247,250,252,.92),rgba(241,245,249,.96)),
    #f3f6f9;
  box-shadow:0 12px 32px rgba(18,40,67,.05);
  overflow:hidden;
}
.questionnaire-summary{
  margin:0;
  padding:22px 28px 20px;
  border:0;
  border-bottom:1px solid #e4ebf2;
  background:linear-gradient(180deg,#fff,#f8fafc);
}
.questionnaire-summary.has-data{
  background:linear-gradient(180deg,#fff,#f4f8fc);
}
.questionnaire-summary-main{
  display:flex;
  align-items:flex-start;
  gap:16px;
}
.questionnaire-summary-copy{flex:1;min-width:0}
.questionnaire-summary-copy small{
  display:block;
  color:#9a7a3d;
  font-size:10px;
  letter-spacing:.14em;
  font-weight:700;
}
.questionnaire-summary-copy h2{
  margin:6px 0 8px;
  color:#173f63;
  font-size:18px;
  line-height:1.35;
}
.questionnaire-summary-copy p{
  margin:0;
  max-width:62ch;
  color:#66788c;
  font-size:13px;
  line-height:1.65;
}
.q-icon{
  flex:none;
  width:44px;
  height:44px;
  border-radius:12px;
  display:grid;
  place-items:center;
  background:linear-gradient(180deg,#fff8e8,#f4e6bf);
  color:#8a6b2a;
  font-size:20px;
  box-shadow:inset 0 0 0 1px rgba(201,163,74,.22);
}
.questionnaire-summary-main>.btn{margin-left:auto;flex:none}
.questionnaire-chips{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
  margin-top:16px;
  padding-top:14px;
  border-top:1px dashed #e0e7ef;
}
.q-chip{
  display:inline-flex;
  align-items:center;
  gap:6px;
  max-width:100%;
  padding:7px 12px;
  border:1px solid #e2eaf2;
  border-radius:999px;
  background:#fff;
  color:#31445c;
  font-size:12px;
}
.q-chip b{color:#1f3b5c;font-weight:700}
.questionnaire-embed{
  display:grid;
  gap:16px;
  margin:0;
  padding:20px 22px 22px;
}
.questionnaire-embed.collapsed{display:none}
.questionnaire-panel{
  padding:0;
  overflow:hidden;
  border-color:#dce5ee;
  box-shadow:0 8px 22px rgba(18,40,67,.04);
}
.questionnaire-panel>.section-title{
  align-items:flex-start;
  gap:14px;
  margin:0;
  padding:20px 26px 16px;
  border-bottom:1px solid #eef2f6;
  background:linear-gradient(180deg,#fcfdfe,#f7f9fb);
}
.questionnaire-panel>.section-title>div{min-width:0}
.questionnaire-panel .q-step{
  flex:none;
  width:40px;
  height:40px;
  border-radius:12px;
  display:grid;
  place-items:center;
  background:#173f63;
  color:#f4e6bf;
  font-size:13px;
  font-weight:700;
  letter-spacing:.04em;
  box-shadow:none;
}
.questionnaire-panel .section-title small{
  display:block;
  color:#9a7a3d;
  font-size:10px;
  letter-spacing:.12em;
  font-weight:700;
}
.questionnaire-panel .section-title h2{
  margin:4px 0 0;
  color:#1d334b;
  font-size:16px;
}
.questionnaire-panel .section-title p{
  margin:6px 0 0;
  color:#6b7d90;
  font-size:12px;
  line-height:1.6;
}
.questionnaire-panel .q-body{
  display:grid;
  gap:22px;
  padding:22px 26px 26px;
}
.questionnaire-panel .form-grid{gap:18px 20px}
.questionnaire-panel .form-grid>label,
.questionnaire-panel .form-grid>.field{
  display:flex;
  flex-direction:column;
  gap:8px;
  color:#3d5570;
  font-size:12px;
  font-weight:600;
}
.questionnaire-panel .form-grid input:not([type="checkbox"]):not([type="radio"]),
.questionnaire-panel .form-grid select,
.questionnaire-panel .form-grid textarea{
  width:100%;
  min-height:42px;
  padding:11px 14px;
  border:1px solid #d7e0e9;
  border-radius:10px;
  background:#fff;
  color:#1d334b;
  font-weight:500;
}
.questionnaire-panel .form-grid textarea{min-height:84px;line-height:1.65}
.questionnaire-panel .form-grid input:not([type="checkbox"]):not([type="radio"]):focus,
.questionnaire-panel .form-grid select:focus,
.questionnaire-panel .form-grid textarea:focus{
  outline:none;
  border-color:#b7c9db;
  box-shadow:0 0 0 3px rgba(45,112,162,.1);
}
.questionnaire-panel .check-row{gap:8px;margin-top:2px}
.questionnaire-panel .check-row .check{
  min-height:36px;
  padding:7px 12px;
  border:1px solid #e2eaf2;
  border-radius:999px;
  background:#f7f9fb;
  color:#31445c;
  font-weight:600;
}
.questionnaire-panel .check-row .check:has(input:checked){
  border-color:#c9b07a;
  background:#fff8e8;
  color:#6d5420;
}
.q-table-block{display:grid;gap:10px}
.q-table-caption{
  color:#3d5570;
  font-size:12px;
  font-weight:700;
}
.questionnaire-panel .mini-table-wrap{
  margin:0;
  padding:6px;
  border-radius:12px;
  background:#f6f8fb;
}
.questionnaire-panel .mini-table th,
.questionnaire-panel .mini-table td{padding:12px 14px}
.questionnaire-panel .mini-table input{
  min-height:40px;
  padding:9px 12px;
  border-radius:8px;
}
.help-tip-admin .filterbar{margin:12px 0 14px}
.help-tip-filters{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.help-tip-filters input,.help-tip-filters select{min-height:36px;border:1px solid #dfe4ea;border-radius:8px;padding:8px 10px;background:#fff}
.help-tip-filters input{min-width:240px;flex:1}
.help-tip-filters select{min-width:150px;max-width:220px}
.help-tip-table{min-width:1280px}
.help-tip-table th{white-space:nowrap}
.help-tip-table code{font-size:12px;color:#1f3b5c;background:#eef3f8;padding:2px 6px;border-radius:5px}
.help-tip-table .tip-loc{min-width:110px;max-width:180px;color:#314257;font-size:12px;line-height:1.4}
.help-tip-table .tip-loc b{display:block;color:#173f63}
.help-tip-table .tip-anchor span{display:inline-block;padding:2px 7px;border-radius:999px;background:#f3f7fb;border:1px solid #e1e8f0;color:#2a4d6e}
.help-tip-table .tip-preview{max-width:220px;color:#526076;font-size:12px;line-height:1.45}
.help-tip-table .badge{display:inline-block;margin-left:6px;padding:1px 6px;border-radius:999px;background:#fff3d6;color:#8a6a1d;font-size:10px}
.help-tip-table .row-actions{display:flex;gap:6px;flex-wrap:wrap}
.help-tip-location-card{display:grid;gap:4px;margin:0 0 12px;padding:12px 14px;border:1px solid #e4ebf2;border-radius:10px;background:linear-gradient(180deg,#f8fafc,#fff)}
.help-tip-location-card small{color:#7a8798;font-size:11px;letter-spacing:.08em}
.help-tip-location-card b{color:#173f63;font-size:15px}
.help-tip-location-card span{color:#4b5d72;font-size:13px}
.help-tip-location-card em{color:#8a6a1d;font-style:normal;font-size:12px}

/* 统一 AI 生成进度条 */
.ai-progress-root{position:fixed;inset:0;z-index:12000;display:grid;place-items:center;background:rgba(12,24,40,.45);backdrop-filter:blur(2px)}
.ai-progress-root[hidden]{display:none!important}
.ai-progress-card{width:min(460px,92vw);padding:22px 22px 18px;border-radius:16px;background:#fff;box-shadow:0 18px 48px rgba(12,28,48,.28);border:1px solid #e5ebf1}
.ai-progress-icon{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:linear-gradient(135deg,#1a3d63,#2f6ea3);color:#f4d48a;font-size:22px;margin-bottom:12px}
.ai-progress-copy h3{margin:0 0 6px;font-size:16px;color:#173453}
.ai-progress-copy p{margin:0 0 14px;font-size:13px;color:#5a6d84;min-height:1.4em}
.ai-progress-track{height:10px;border-radius:999px;background:#e8eef4;overflow:hidden}
.ai-progress-track>i{display:block;height:100%;width:0;border-radius:inherit;background:linear-gradient(90deg,#1f4e78,#3d87c5 55%,#c9a24a);transition:width .35s ease}
.ai-progress-meta{display:flex;justify-content:space-between;align-items:center;margin-top:8px;font-size:12px;color:#6a7d93}
.ai-progress-meta b{color:#1d4d78;font-variant-numeric:tabular-nums}
.ai-progress-steps{list-style:none;margin:14px 0 0;padding:0;display:grid;gap:6px;max-height:150px;overflow:auto}
.ai-progress-steps li{font-size:12px;color:#8a97a8;padding-left:18px;position:relative}
.ai-progress-steps li::before{content:"";position:absolute;left:3px;top:6px;width:7px;height:7px;border-radius:50%;background:#d5dde6}
.ai-progress-steps li.active{color:#1f4e78;font-weight:600}
.ai-progress-steps li.active::before{background:#2f78b5;box-shadow:0 0 0 3px rgba(47,120,181,.18)}
.ai-progress-steps li.done{color:#3d7a5e}
.ai-progress-steps li.done::before{background:#3d9a6e}
.ai-progress-root.is-done .ai-progress-track>i{background:linear-gradient(90deg,#2f8f70,#49b089)}
.ai-progress-root.is-error .ai-progress-track>i{background:linear-gradient(90deg,#a64040,#c56565)}
.ai-progress-root.is-error .ai-progress-copy p{color:#a64040}
.pdf-ready-backdrop{z-index:12100}
.modal.pdf-ready-dialog{
  position:relative;
  width:min(400px,92vw);
  max-width:400px;
  margin:auto;
  padding:28px 24px 22px;
  border:1px solid #e6edf3;
  border-radius:18px;
  background:#fff;
  box-shadow:0 22px 56px rgba(15,32,52,.22);
  text-align:center;
}
.pdf-ready-close{
  position:absolute;
  top:12px;
  right:12px;
  width:36px;
  height:36px;
  border:0;
  border-radius:10px;
  background:transparent;
  color:#7b8898;
  font-size:20px;
}
.pdf-ready-close:hover{background:#f3f6f9;color:#31445a}
.pdf-ready-mark{
  width:56px;
  height:56px;
  margin:4px auto 14px;
  border-radius:16px;
  display:grid;
  place-items:center;
  background:linear-gradient(160deg,#f7efd8,#efe0b4);
  color:#a88336;
  font-size:30px;
}
.pdf-ready-dialog h2{margin:0 0 8px;font-size:20px;color:#173453;letter-spacing:.04em}
.pdf-ready-dialog p{margin:0 0 20px;color:#66768a;font-size:13px;line-height:1.7}
.pdf-ready-main,.pdf-ready-share{
  width:100%;
  min-height:46px;
  justify-content:center;
}
.pdf-ready-share{margin-top:10px}
@media(max-width:620px){
  .modal.pdf-ready-dialog{
    width:100%;
    max-width:none;
    margin-top:auto;
    border-radius:20px 20px 0 0;
    padding:26px 20px calc(18px + var(--safe-bottom));
  }
}

body.ai-busy{cursor:progress}
body.ai-busy .page-toolbar .btn[onclick*="YP.ai"],
body.ai-busy button[onclick*="YP.ai("]{opacity:.55;pointer-events:none}

/* SWOT executive workbench */
.swot-page-head{align-items:flex-end}
.swot-head-note{
  display:flex;
  align-items:center;
  gap:10px;
  padding:9px 13px;
  border:1px solid #dce4ec;
  border-radius:10px;
  background:linear-gradient(135deg,#fff,#f7f9fc);
  box-shadow:0 5px 16px rgba(20,42,70,.04);
}
.swot-head-note>i{
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  border-radius:9px;
  background:#173b60;
  color:#e5c46e;
  font-size:17px;
}
.swot-head-note span{display:flex;flex-direction:column}
.swot-head-note small{color:#8b97a6;font-size:9px;letter-spacing:.12em}
.swot-head-note b{margin-top:1px;color:#31465e;font-size:11px;font-weight:600}
.swot-workbench{display:grid;gap:16px}
.swot-intro{
  display:grid;
  grid-template-columns:1fr 28px 1fr 28px 1fr;
  align-items:center;
  padding:13px 18px;
  border:1px solid #e0e6ed;
  border-radius:12px;
  background:linear-gradient(110deg,#fff 0%,#f8fafc 55%,#f4f7fa 100%);
  box-shadow:0 6px 20px rgba(19,42,70,.035);
}
.swot-intro>div{display:flex;align-items:center;gap:11px;min-width:0}
.swot-intro>div>span{
  flex:none;
  color:#c39a41;
  font-size:18px;
  font-weight:300;
  font-variant-numeric:tabular-nums;
}
.swot-intro p{margin:0;min-width:0}
.swot-intro b{display:block;color:#233d59;font-size:12px}
.swot-intro small{display:block;margin-top:2px;color:#7b8899;font-size:9px;line-height:1.45}
.swot-intro>i{color:#c5ced8;text-align:center}
.swot-workbench .swot-grid{gap:12px}
.swot-workbench .swot-card{
  position:relative;
  overflow:hidden;
  border:1px solid #dfe5ec;
  border-radius:13px;
  background:#fff;
  box-shadow:0 7px 22px rgba(20,43,72,.045);
}
.swot-workbench .swot-card::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:3px;
  background:var(--swot-accent);
}
.swot-workbench .swot-card.blue{--swot-accent:#2e6f9e;--swot-soft:#eaf3f9;--swot-ink:#245a80}
.swot-workbench .swot-card.green{--swot-accent:#3b886c;--swot-soft:#eaf5f0;--swot-ink:#30715a}
.swot-workbench .swot-card.gold{--swot-accent:#b88c38;--swot-soft:#faf3e4;--swot-ink:#8d6925}
.swot-workbench .swot-card.red{--swot-accent:#a85b62;--swot-soft:#f9ecee;--swot-ink:#8e4b51}
.swot-workbench .swot-card header{padding:14px 14px 10px}
.swot-workbench .swot-card header>strong{
  width:34px;
  height:34px;
  border-radius:9px;
  background:var(--swot-soft);
  color:var(--swot-ink);
  font-size:17px;
  box-shadow:none;
}
.swot-workbench .swot-card header h2{font-size:13px}
.swot-workbench .swot-card header small{font-size:8px;letter-spacing:.09em}
.swot-workbench .swot-card header>em{
  margin-left:auto;
  color:#8693a3;
  font-size:9px;
  font-style:normal;
  white-space:nowrap;
}
.swot-workbench .swot-card header>button{
  width:28px;
  height:28px;
  margin-left:3px;
  border:1px solid #e2e7ed;
  border-radius:8px;
  background:#fff;
  color:var(--swot-ink);
}
.swot-workbench .list-editor{padding:0 12px 14px}
.swot-workbench .list-editor>div{
  display:grid;
  grid-template-columns:22px minmax(0,1fr) 24px;
  align-items:start;
  gap:8px;
  margin-top:8px;
  padding:10px 8px 10px 9px;
  border:1px solid #e5eaf0;
  border-radius:10px;
  background:#fafbfd;
  box-shadow:0 3px 10px rgba(20,42,70,.03);
}
.swot-workbench .list-editor>div>span{
  display:grid;
  place-items:center;
  flex:none;
  width:22px;
  height:22px;
  margin-top:2px;
  border-radius:6px;
  background:var(--swot-soft);
  color:var(--swot-ink);
  font-size:10px;
  font-weight:700;
  line-height:1;
  text-align:center;
}
.swot-workbench .list-editor textarea{
  min-height:84px;
  padding:2px 2px 0 0;
  border:0;
  background:transparent;
  color:#2f4256;
  font-size:12px;
  line-height:1.7;
  resize:none;
  overflow:hidden;
  field-sizing:content;
}
.swot-workbench .list-editor textarea:focus{outline:0;background:transparent;box-shadow:none}
.swot-workbench .list-editor>div>button{width:24px;height:24px;margin-top:0;font-size:12px;color:#9aa8b6}
.strategy-matrix{
  padding:20px;
  overflow:hidden;
  border-color:#dce3eb;
  box-shadow:0 10px 30px rgba(17,39,67,.055);
}
.strategy-matrix>.section-title{
  margin-bottom:15px;
  padding-bottom:14px;
  border-bottom:1px solid #e7ebf0;
}
.strategy-matrix .section-title .eyebrow{font-size:8px}
.strategy-matrix .section-title h2{margin-top:2px}
.matrix-legend-mini{display:flex;gap:13px;margin-left:auto;color:#758396;font-size:9px}
.matrix-legend-mini span{display:flex;align-items:center;gap:5px}
.matrix-legend-mini i{width:8px;height:8px;border-radius:2px;background:#385f82}
.matrix-legend-mini span+span i{background:#b69145}
.strategy-cross-grid{
  display:grid;
  grid-template-columns:minmax(220px,.7fr) minmax(260px,1fr) minmax(260px,1fr);
  grid-template-rows:minmax(clamp(94px,11vh,112px),auto) repeat(2,minmax(clamp(385px,42vh,455px),auto));
  gap:1px;
  overflow:hidden;
  padding:1px;
  border-radius:11px;
  background:#ccd6e0;
  box-shadow:0 0 0 1px #ccd6e0;
}
.strategy-cross-grid:has(.row-axis details[open]){
  grid-template-columns:minmax(280px,.9fr) minmax(240px,1fr) minmax(240px,1fr);
}
.strategy-corner{
  position:relative;
  overflow:hidden;
  padding:11px 12px;
  background:linear-gradient(145deg,#173b5d,#234f74);
  color:#fff;
}
.strategy-corner::after{
  content:"";
  position:absolute;
  left:-12%;
  top:50%;
  width:125%;
  height:1px;
  background:rgba(255,255,255,.32);
  transform:rotate(22deg);
  transform-origin:center;
}
.strategy-corner span,.strategy-corner b{position:absolute;left:12px;z-index:1}
.strategy-corner span{top:10px;color:#b9cad8;font-size:7px;letter-spacing:.15em}
.strategy-corner b{top:25px;font-size:11px}
.strategy-corner em,.strategy-corner small{position:absolute;right:11px;z-index:1}
.strategy-corner em{right:12px;bottom:22px;font-size:11px;font-style:normal;font-weight:700}
.strategy-corner small{bottom:8px;color:#d0dbe4;font-size:7px;letter-spacing:.15em}
.strategy-axis{
  display:block;
  min-width:0;
  min-height:0;
  padding:11px 14px;
  background:#f4f7fa;
}
.strategy-axis-head{
  display:flex;
  align-items:center;
  gap:9px;
  min-width:0;
}
.strategy-axis-head>strong{
  flex:none;
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:9px;
  background:#fff;
  color:#315d7d;
  font-size:16px;
  box-shadow:0 2px 8px rgba(24,48,76,.07);
}
.strategy-axis-head>span{display:flex;min-width:0;flex-direction:column}
.strategy-axis-head>span b{color:#263e57;font-size:12px}
.strategy-axis-head>span small{margin-top:1px;color:#8290a1;font-size:8px;letter-spacing:.04em}
.strategy-axis-head>em{margin-left:auto;color:#8794a3;font-size:9px;font-style:normal;white-space:nowrap}
.strategy-axis.opportunity{background:#edf6f2}.strategy-axis.opportunity .strategy-axis-head>strong{color:#33775e}
.strategy-axis.threat{background:#f9eff0}.strategy-axis.threat .strategy-axis-head>strong{color:#945058}
.strategy-factor-details{margin:8px 0 0}
.strategy-factor-details>summary{
  display:inline-flex;
  align-items:center;
  gap:4px;
  padding:0;
  color:#7a8a9a;
  font-size:11px;
  letter-spacing:.04em;
  background:none;
  border:0;
  box-shadow:none;
  cursor:pointer;
  list-style:none;
  user-select:none;
  appearance:none;
}
.strategy-factor-details>summary::-webkit-details-marker,
.strategy-factor-details>summary::marker{display:none;content:""}
.strategy-factor-details>summary [data-open]{display:none}
.strategy-factor-details[open]>summary [data-closed]{display:none}
.strategy-factor-details[open]>summary [data-open]{display:inline}
.strategy-factor-details>summary i{color:#b7c2cd;font-size:12px;transition:transform .18s ease}
.strategy-factor-details[open]>summary i{transform:rotate(180deg)}
.strategy-factor-editor,.strategy-factor-list{
  display:grid;
  gap:10px;
  max-height:none;
  margin:10px 0 0;
  padding:0;
  overflow:visible;
}
.strategy-factor-editor .swot-factor-row,
.strategy-factor-editor label{
  display:grid;
  grid-template-columns:22px minmax(0,1fr);
  gap:8px;
  align-items:start;
  margin:0;
  padding:10px 10px 10px 8px;
  border:1px solid #e3ebf1;
  border-radius:10px;
  background:#fff;
  box-shadow:0 4px 14px rgba(20,42,70,.04);
}
.strategy-factor-editor label>b,
.swot-factor-row>b{
  display:grid;
  place-items:center;
  width:22px;
  height:22px;
  margin-top:2px;
  border-radius:6px;
  background:#eef3f8;
  color:#4d6174;
  font-size:10px;
  font-weight:700;
  line-height:1;
  text-align:center;
}
.strategy-axis.opportunity .swot-factor-row>b{background:#e5f3ec;color:#2f6f58}
.strategy-axis.threat .swot-factor-row>b{background:#f6e8ea;color:#8a4d54}
.strategy-axis.row-axis.strength .swot-factor-row>b{background:#e7f0f7;color:#2a5d80}
.strategy-axis.row-axis.weakness .swot-factor-row>b{background:#f7efdf;color:#8a6928}
.strategy-factor-editor textarea{
  min-height:84px;
  width:100%;
  border:0;
  border-radius:0;
  padding:2px 2px 0 0;
  background:transparent;
  color:#2f4256;
  font-size:12px;
  line-height:1.7;
  resize:none;
  overflow:hidden;
  field-sizing:content;
}
.strategy-factor-editor textarea:focus{outline:0;box-shadow:none}
.swot-factor-add{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  min-height:36px;
  padding:0 12px;
  border:1px dashed #cfd8e2;
  border-radius:9px;
  background:rgba(255,255,255,.55);
  color:#5d7388;
  font-size:11px;
}
.swot-factor-add:hover{border-color:#9eb2c4;background:#fff;color:#2f5574}
.strategy-factor-editor>.empty{
  display:block;
  margin:0;
  padding:2px 2px 0;
  color:#8a97a6;
  font-size:11px;
  line-height:1.55;
}
.swot-matrix-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.strategy-factor-list p{
  display:grid;
  grid-template-columns:15px minmax(0,1fr);
  gap:5px;
  margin:0;
  color:#526174;
  font-size:8px;
  line-height:1.4;
}
.strategy-factor-list p>b{
  width:14px;
  height:14px;
  display:grid;
  place-items:center;
  border-radius:4px;
  background:rgba(255,255,255,.78);
  color:#66778a;
  font-size:7px;
}
.strategy-factor-list p>span{overflow-wrap:anywhere}
.strategy-factor-list p.empty{display:block;color:#98a3af}
.strategy-axis.row-axis{
  padding-top:18px;
  background:#edf3f8;
}
.strategy-axis.row-axis .strategy-factor-list{
  max-height:none;
}
.strategy-axis.row-axis .strategy-factor-details{margin:12px 0 0}
.strategy-axis.row-axis.weakness{background:#faf4e8}.strategy-axis.row-axis.weakness .strategy-axis-head>strong{color:#916d29}
.strategy-cell{
  display:flex;
  min-width:0;
  flex-direction:column;
  gap:10px;
  padding:15px;
  background:#fff;
  transition:background .18s ease;
}
.strategy-cell:hover{background:#fbfcfe}
.strategy-cell header{display:flex;align-items:center;gap:10px}
.strategy-cell header>span{flex:none;display:flex;flex-direction:column;align-items:center}
.strategy-cell header>span strong{
  min-width:39px;
  padding:6px 7px;
  border-radius:8px;
  background:#eaf2f8;
  color:#285e85;
  font-size:13px;
  text-align:center;
}
.strategy-cell header>span small{margin-top:3px;color:#9aa4b1;font-size:7px}
.strategy-cell header>div{display:flex;min-width:0;flex-direction:column}
.strategy-cell header>div b{color:#263d56;font-size:12px}
.strategy-cell header>div small{margin-top:2px;color:#7f8c9c;font-size:8px}
.strategy-cell textarea{
  width:100%;
  min-height:clamp(308px,36vh,390px);
  flex:1;
  resize:vertical;
  padding:10px 11px;
  border:1px solid #dfe5eb;
  border-radius:8px;
  background:#f9fafc;
  color:#31445a;
  font-size:11px;
  line-height:1.65;
  outline:0;
}
.strategy-cell textarea:focus{border-color:#7896b1;background:#fff;box-shadow:0 0 0 3px rgba(48,97,139,.08)}
.strategy-wo header>span strong{background:#f4efe4;color:#886827}
.strategy-st header>span strong{background:#f6eaec;color:#905058}
.strategy-wt header>span strong{background:#f1edf2;color:#775c7b}

/* Unsaved changes guard */
body.is-dirty .page-toolbar::before,
body.is-dirty .matrix-page-toolbar::before,
body.is-dirty .admin-page-toolbar::before{
  content:"未保存";
  display:inline-flex;
  align-items:center;
  margin-right:10px;
  padding:3px 9px;
  border-radius:999px;
  background:#fff4df;
  color:#8a6418;
  border:1px solid #e7cf95;
  font-size:11px;
  font-weight:600;
  letter-spacing:.02em;
}

/* Universal confirm dialog */
#confirm-root{position:relative;z-index:120}
.confirm-backdrop{
  position:fixed;
  inset:0;
  background:rgba(8,18,34,.52);
  backdrop-filter:blur(4px);
  display:grid;
  place-items:center;
  padding:24px;
  animation:confirm-fade .18s ease-out;
}
.confirm-dialog{
  width:min(420px,94vw);
  background:#fff;
  border-radius:16px;
  border:1px solid rgba(218,224,232,.95);
  box-shadow:0 28px 70px rgba(10,24,48,.28);
  padding:28px 26px 22px;
  text-align:center;
  animation:confirm-pop .2s cubic-bezier(.2,.8,.2,1);
}
.confirm-icon{
  width:52px;
  height:52px;
  margin:0 auto 14px;
  border-radius:14px;
  display:grid;
  place-items:center;
  font-size:24px;
}
.confirm-dialog.tone-warning .confirm-icon{
  background:linear-gradient(145deg,#fff7e8,#f3e2b8);
  color:#a57a22;
  box-shadow:inset 0 0 0 1px rgba(196,154,60,.22);
}
.confirm-dialog.tone-danger .confirm-icon{
  background:linear-gradient(145deg,#fff1f1,#f6d5d5);
  color:#b24747;
  box-shadow:inset 0 0 0 1px rgba(178,71,71,.18);
}
.confirm-dialog.tone-info .confirm-icon{
  background:linear-gradient(145deg,#eef4fb,#d9e6f4);
  color:#2f608f;
  box-shadow:inset 0 0 0 1px rgba(47,96,143,.16);
}
.confirm-dialog.tone-success .confirm-icon{
  background:linear-gradient(145deg,#eef8f2,#d7efe3);
  color:#2d7a56;
  box-shadow:inset 0 0 0 1px rgba(45,122,86,.16);
}
.confirm-copy h3{
  margin:0 0 8px;
  font-size:17px;
  color:#1d2f48;
  letter-spacing:.02em;
}
.confirm-copy p{
  margin:0;
  color:#4f5f75;
  font-size:13px;
  line-height:1.65;
}
.confirm-copy small{
  display:block;
  margin-top:10px;
  color:#8a94a5;
  font-size:12px;
  line-height:1.55;
}
.confirm-actions{
  display:flex;
  justify-content:center;
  gap:10px;
  margin-top:22px;
}
.confirm-actions .btn{min-width:104px;padding:9px 16px;font-size:12px}
.btn.danger{
  background:linear-gradient(135deg,#b24747,#9a3838);
  border-color:#9a3838;
  color:#fff;
}
.btn.danger:hover{box-shadow:0 4px 12px rgba(154,56,56,.22)}
@keyframes confirm-fade{from{opacity:0}to{opacity:1}}
@keyframes confirm-pop{
  from{opacity:0;transform:translateY(10px) scale(.96)}
  to{opacity:1;transform:translateY(0) scale(1)}
}

@media(max-width:760px){
  .swot-intro{grid-template-columns:1fr;gap:8px}
  .swot-intro>i{transform:rotate(90deg)}
  .strategy-cross-grid{
    grid-template-columns:104px minmax(220px,1fr) minmax(220px,1fr);
    overflow:auto;
  }
  .strategy-matrix{padding:14px;overflow:auto}
  .swot-head-note{display:none}
  .matrix-legend-mini{display:none}
}

/* Strategic actions workshop: factors → path simulation → action portfolio */
.actions-page-head{
  position:relative;
  padding:3px 0 5px 15px;
  border-left:3px solid #c69b3c;
}
.actions-page-head::after{
  content:"STRATEGY TO ACTION";
  position:absolute;
  right:0;
  bottom:8px;
  color:#dbe2e9;
  font-size:10px;
  font-weight:700;
  letter-spacing:.22em;
}
.actions-workbench{display:grid;gap:18px}
.actions-method-strip{
  display:grid;
  grid-template-columns:1fr 30px 1fr 30px 1fr 30px 1fr;
  align-items:center;
  padding:14px 18px;
  border:1px solid #dce4ec;
  border-radius:13px;
  background:linear-gradient(120deg,#fff 0%,#f8fafc 58%,#f3f7fa 100%);
  box-shadow:0 7px 22px rgba(20,43,72,.04);
}
.actions-method-strip>div{display:flex;align-items:center;gap:10px;min-width:0}
.actions-method-strip>div>span{
  flex:none;
  width:31px;
  height:31px;
  display:grid;
  place-items:center;
  border-radius:9px;
  background:#173b60;
  color:#e8c66d;
  font-size:10px;
  font-weight:700;
}
.actions-method-strip p{min-width:0;margin:0}
.actions-method-strip b,.actions-method-strip small{display:block}
.actions-method-strip b{color:#294159;font-size:12px}
.actions-method-strip small{margin-top:2px;color:#8491a1;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.actions-method-strip>i{color:#bdc8d3;text-align:center}
.actions-workbench>.panel{
  min-width:0;
  padding:22px;
  border-color:#dce3eb;
  box-shadow:0 10px 30px rgba(17,39,67,.055);
}
.actions-section-title{
  margin-bottom:17px;
  padding-bottom:15px;
  border-bottom:1px solid #e7ecf1;
}
.actions-section-title>span{width:40px;height:40px;border-radius:11px;background:#f7f0df}
.actions-section-title .eyebrow{font-size:8px}
.actions-section-title h2{margin:1px 0 2px;color:#193754;font-size:17px}
.actions-section-title p{font-size:11px}
.actions-title-side{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  margin-right:4px;
  padding-right:14px;
  border-right:1px solid #e2e7ed;
}
.actions-title-side b{color:#a77f2d;font-size:11px}
.actions-title-side small{color:#8b97a6;font-size:9px}
.actions-factor-setup{
  display:grid;
  grid-template-columns:minmax(270px,.72fr) minmax(520px,2fr);
  gap:14px;
  align-items:stretch;
}
.actions-axis-grid{
  display:grid;
  grid-template-columns:minmax(0,1fr) 82px;
  gap:9px;
  margin:0;
  padding:15px;
  border:1px solid #dfe6ed;
  border-radius:12px;
  background:linear-gradient(145deg,#f8fafc,#f2f6f9);
}
.axis-grid-heading{
  grid-column:1/-1;
  display:flex;
  align-items:center;
  gap:9px;
  margin-bottom:3px;
  padding-bottom:11px;
  border-bottom:1px solid #e0e6ec;
}
.axis-grid-heading>i{width:30px;height:30px;display:grid;place-items:center;border-radius:8px;background:#173b60;color:#e4c36c}
.axis-grid-heading span,.axis-grid-heading b,.axis-grid-heading small{display:block}
.axis-grid-heading b{color:#2b435b;font-size:11px}
.axis-grid-heading small{margin-top:1px;color:#8995a4;font-size:8px}
.actions-axis-grid label{display:block;min-width:0;color:#536277;font-size:10px}
.actions-axis-grid label>span{display:flex;align-items:center;gap:5px;min-height:18px}
.axis-dot{width:7px;height:7px;border-radius:2px;background:#28659a}.axis-dot.y{background:#c69b3c}
.actions-axis-grid input{
  display:block;
  width:100%;
  min-height:36px;
  margin-top:5px;
  padding:8px 9px;
  border:1px solid #d5dee7;
  border-radius:8px;
  background:#fff;
  color:#2f4359;
  font-size:11px;
  outline:0;
}
.actions-axis-grid .axis-score{max-width:none}
.actions-axis-grid .axis-score input{text-align:center}
.factor-library{
  min-width:0;
  padding:14px;
  border:1px solid #e0e6ed;
  border-radius:12px;
  background:#fbfcfd;
}
.factor-library-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px}
.factor-library-head>span,.factor-library-head b,.factor-library-head small{display:block}
.factor-library-head b{color:#2b425a;font-size:12px}
.factor-library-head small{margin-top:2px;color:#8a96a5;font-size:9px}
.factor-library-head em{
  padding:5px 9px;
  border:1px solid #eadbb7;
  border-radius:999px;
  background:#fff9eb;
  color:#946e23;
  font-size:9px;
  font-style:normal;
}
.factor-library-head em.complete{border-color:#cce1d7;background:#eff8f3;color:#347159}
.factor-library .factor-list{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px;
  margin:0;
}
.factor-library .factor-list .factor-core{
  display:grid;
  grid-template-columns:18px minmax(0,1fr) 27px;
  gap:8px;
  align-items:start;
  min-width:0;
  margin:0;
  padding:10px;
  border:1px solid #e2e8ee;
  border-radius:10px;
  background:#fff;
  transition:.18s ease;
}
.factor-library .factor-list .factor-core:has(>input:checked){
  border-color:#d8bd79;
  background:linear-gradient(145deg,#fffdf8,#faf5e9);
  box-shadow:0 5px 14px rgba(150,111,29,.07);
}
.factor-library .factor-core>input[type=checkbox]{width:16px;height:16px;margin:9px 0 0;accent-color:#b88d36}
.factor-library .factor-main{display:grid;gap:7px;min-width:0}
.factor-library .factor-main>input{
  width:100%;
  min-width:0;
  padding:8px 9px;
  border:1px solid #d9e1e8;
  border-radius:7px;
  background:#fafbfd;
  color:#30445a;
  font-size:11px;
}
.factor-library .factor-scores{display:flex;align-items:center;gap:6px;color:#8290a1}
.factor-library .factor-scores>span{display:flex;align-items:center;gap:4px;color:#6b798c;font-size:9px}
.factor-library .factor-scores input{width:48px;padding:5px;border:1px solid #d9e1e8;border-radius:6px;background:#fff;text-align:center;font-size:10px}
.factor-library .factor-scores>i{font-size:11px;color:#c0cad4}
.factor-library .factor-core>button{width:27px;height:27px;margin-top:3px;border:0;border-radius:7px;background:transparent;color:#9aa5b2}
.factor-library .factor-core>button:hover{background:#f7eded;color:#a64b51}
.actions-path-studio{
  margin-top:16px;
  overflow:hidden;
  border:1px solid #dce4eb;
  border-radius:14px;
  background:#fff;
  box-shadow:0 7px 22px rgba(22,45,72,.045);
}
.path-studio-head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;padding:17px 18px 13px}
.path-studio-head h3{margin:2px 0;color:#1c3b59;font-size:16px}
.path-studio-head p{margin:0;color:#7b899a;font-size:10px}
.path-studio-side{display:flex;flex-direction:column;align-items:flex-end;gap:10px}
.path-studio-side .btn{font-size:11px;padding:7px 12px}
.actions-chart-legend{display:flex;align-items:center;gap:13px;color:#718095;font-size:9px;white-space:nowrap}
.actions-chart-legend span{display:flex;align-items:center;gap:5px}
.actions-chart-legend i{width:9px;height:9px;border-radius:50%;background:#336fa0}
.actions-chart-legend i.benchmark{background:#7d8795}
.actions-chart-legend i.target{border-radius:2px;background:#d09534;transform:rotate(45deg)}
.actions-workbench .path-toolbar{
  display:flex;
  align-items:flex-end;
  gap:10px;
  margin:0;
  padding:11px 18px;
  border-width:1px 0;
  border-color:#e3e9ef;
  border-radius:0;
  background:#f7f9fb;
}
.path-draw-group,.path-template-group,.path-tools{display:flex;align-items:center;gap:6px}
.path-draw-group>span,.path-template-group>span{margin-right:2px;color:#8a96a5;font-size:9px}
.path-template-group{padding-left:10px;border-left:1px solid #dce3ea}
.path-tools{margin-left:auto}
.actions-workbench .path-toolbar .btn{min-height:31px;padding:6px 10px;background:#fff;font-size:10px}
.path-draw-group .btn>i{width:7px;height:7px;border-radius:50%;background:#28659a}
.path-draw-group .path-two>i{background:#c69b3c}.path-draw-group .path-three>i{background:#2f8f70}
.actions-workbench .path-toolbar .btn.active{color:#fff;background:#173b60;border-color:#173b60;box-shadow:0 4px 12px rgba(23,59,96,.18)}
.path-drawing-tip{display:flex;align-items:center;gap:9px;margin:12px 18px 0;padding:9px 11px;border:1px solid #dfe7ee;border-radius:9px;background:#f5f8fa;color:#68798d;font-size:10px}
.path-drawing-tip>i{font-size:16px;color:#497596}.path-drawing-tip b{margin-right:7px;color:#31526f}
.path-drawing-tip.active{border-color:#d9c080;background:#fff9e9;color:#735f31}.path-drawing-tip.active>i{color:#ae812c}
.actions-workbench .actions-chart{
  width:100%;
  height:clamp(600px,68vh,760px);
  min-height:600px;
  border:0;
  border-radius:0;
  background:
    radial-gradient(circle at 84% 16%,rgba(198,155,60,.055),transparent 24%),
    linear-gradient(180deg,#fff,#fbfcfd);
}
.actions-workbench .path-node-editor{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}
.actions-workbench .path-node-editor>p{grid-column:1/-1;margin:0;padding:12px;border:1px dashed #d7e0e8;border-radius:9px;text-align:center}
.actions-workbench .path-node-editor section{padding:0 12px 12px;overflow:hidden;border:1px solid #e0e6ed;border-radius:11px;background:#fbfcfd}
.actions-workbench .path-node-editor section>header{display:flex;align-items:center;gap:7px;margin:0 -12px 10px;padding:9px 12px;border-bottom:1px solid #e5eaf0;background:#f6f8fa}
.actions-workbench .path-node-editor section>header>i{width:8px;height:8px;border-radius:50%;background:var(--path-color)}
.actions-workbench .path-node-editor h4{margin:0;padding:0;border:0;color:#2a435c;font-size:11px}
.actions-workbench .path-node-editor header>span{margin-left:auto;color:#8995a4;font-size:8px}
.actions-workbench .path-node-editor label{grid-template-columns:22px 66px minmax(0,1fr) 26px}
.actions-workbench .path-node-editor label>b{background:var(--path-color)}
.actions-workbench .path-node-editor input{min-width:0;border:1px solid #dce3ea;border-radius:7px;background:#fff;font-size:10px}
.actions-workbench .path-notes-grid{gap:12px;margin-top:14px}
.actions-workbench .path-notes-grid label{padding:11px;border:1px solid #e1e7ed;border-radius:10px;background:#fafbfd;color:#42566d;font-size:10px}
.actions-workbench .path-notes-grid textarea{min-height:82px;background:#fff;font-size:11px;line-height:1.55}
.actions-items-panel .action-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;counter-reset:action}
.actions-items-panel .action-list article{
  position:relative;
  display:grid;
  grid-template-columns:12px 28px minmax(0,1fr) 28px;
  gap:9px;
  align-items:start;
  min-width:0;
  margin:0;
  padding:14px;
  border:1px solid #e0e6ed;
  border-radius:12px;
  background:linear-gradient(145deg,#fff,#fbfcfd);
  transition:.18s ease;
}
.actions-items-panel .action-list article:hover{border-color:#cbd7e2;box-shadow:0 7px 20px rgba(20,43,70,.055);transform:translateY(-1px)}
.actions-items-panel .action-list article>i{margin-top:9px;color:#b3bec9}
.actions-items-panel .action-list article>span{width:28px;height:28px;margin-top:4px;display:grid;place-items:center;border-radius:8px;background:#173b60;color:#e5c46c;font-size:10px;font-weight:700}
.actions-items-panel .action-list textarea{display:block;width:100%;min-height:112px;padding:10px 11px;border:1px solid #dae2e9;border-radius:9px;background:#fff;color:#31445a;font-size:11px;line-height:1.65}
.actions-items-panel .action-list .form-row{display:grid;grid-template-columns:105px minmax(0,1fr) minmax(105px,.65fr);gap:7px;margin-top:8px}
.actions-items-panel .action-list .form-row>*{min-width:0;width:100%;padding:8px;border:1px solid #dce3ea;border-radius:7px;background:#fff;font-size:10px}
.actions-items-panel .action-list [name="action_due[]"]{display:none}
.actions-items-panel .action-list article>button{width:28px;height:28px;margin-top:4px;border:0;border-radius:7px;background:transparent;color:#9aa5b2}
.actions-items-panel .action-list article>button:hover{background:#f7eded;color:#a64b51}

@media(max-width:1200px){
  .actions-factor-setup{grid-template-columns:1fr}
  .factor-library .factor-list{grid-template-columns:repeat(2,minmax(0,1fr))}
  .actions-workbench .path-toolbar{align-items:flex-start;flex-wrap:wrap}
  .path-tools{margin-left:0}
  .actions-items-panel .action-list{grid-template-columns:1fr}
}
@media(max-width:900px){
  .actions-method-strip{grid-template-columns:1fr 1fr;gap:10px}
  .actions-method-strip>i{display:none}
  .actions-workbench>.panel{padding:15px}
  .factor-library .factor-list{grid-template-columns:1fr}
  .path-studio-head{align-items:flex-start;flex-direction:column}
  .path-studio-side{align-items:flex-start;width:100%}
  .path-studio-side .btn{min-height:44px}
  .actions-workbench .path-toolbar{flex-direction:column;align-items:stretch}
  .path-draw-group,.path-template-group,.path-tools{flex-wrap:wrap}
  .path-template-group{padding:8px 0 0;border-left:0;border-top:1px solid #e0e6ec}
  .actions-workbench .actions-chart{height:500px;min-height:500px}
  .actions-workbench .path-node-editor,.actions-workbench .path-notes-grid{grid-template-columns:1fr}
  .actions-title-side,.actions-page-head::after{display:none}
}
@media(max-width:560px){
  .actions-method-strip{grid-template-columns:1fr}
  .actions-axis-grid{grid-template-columns:minmax(0,1fr) 72px}
  .actions-items-panel .action-list .form-row{grid-template-columns:1fr}
  .actions-chart-legend{flex-wrap:wrap}
}

/* Four configurations: executive capability-allocation canvas */
.config-page-head{
  position:relative;
  padding:3px 0 5px 15px;
  border-left:3px solid #2f7d72;
}
.config-page-head::after{
  content:"ALIGN · ENABLE · EXECUTE";
  position:absolute;
  right:0;
  bottom:8px;
  color:#dbe2e9;
  font-size:10px;
  font-weight:700;
  letter-spacing:.22em;
}
.config-workbench{display:grid;gap:17px}
.config-intro{
  position:relative;
  display:grid;
  grid-template-columns:minmax(300px,.85fr) minmax(540px,1.45fr);
  gap:28px;
  align-items:center;
  overflow:hidden;
  padding:24px 27px;
  border:1px solid #d8e1e8;
  border-radius:15px;
  background:
    radial-gradient(circle at 93% 15%,rgba(198,155,60,.13),transparent 24%),
    linear-gradient(125deg,#102e4c 0%,#173e61 56%,#24536e 100%);
  color:#fff;
  box-shadow:0 13px 34px rgba(15,39,65,.14);
}
.config-intro::before{
  content:"";
  position:absolute;
  inset:0;
  opacity:.12;
  background-image:linear-gradient(rgba(255,255,255,.12) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.12) 1px,transparent 1px);
  background-size:38px 38px;
  mask-image:linear-gradient(90deg,transparent,#000);
}
.config-intro>*{position:relative;z-index:1}
.config-intro-copy .eyebrow{color:#e2bf67}
.config-intro-copy h2{margin:5px 0 6px;font-size:20px;letter-spacing:.03em}
.config-intro-copy p{max-width:560px;margin:0;color:#b8c7d5;font-size:11px;line-height:1.75}
.config-chain{display:grid;grid-template-columns:1fr 22px 1fr 22px 1fr 22px 1fr;align-items:center}
.config-chain>div{
  min-width:0;
  padding:15px 10px;
  border:1px solid rgba(255,255,255,.15);
  border-radius:11px;
  background:rgba(255,255,255,.08);
  backdrop-filter:blur(5px);
  text-align:center;
}
.config-chain>div>i{width:35px;height:35px;margin:0 auto 8px;display:grid;place-items:center;border-radius:9px;background:rgba(232,198,109,.14);color:#e7c66d;font-size:17px}
.config-chain span,.config-chain b,.config-chain small{display:block}
.config-chain b{font-size:12px}.config-chain small{margin-top:2px;color:#9eb1c2;font-size:8px}
.config-chain>em{height:1px;background:linear-gradient(90deg,rgba(230,198,111,.2),#d5b45d,rgba(230,198,111,.2))}
.config-section-head{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:4px 3px 0}
.config-section-head>div{display:flex;align-items:center;gap:10px}
.config-section-head>div>span{color:#c7a34d;font:700 25px/1 Georgia,serif}
.config-section-head p,.config-section-head b,.config-section-head small{display:block;margin:0}
.config-section-head b{color:#243e58;font-size:14px}
.config-section-head small{margin-top:2px;color:#8491a2;font-size:9px}
.config-section-head aside{display:flex;align-items:center;gap:7px;padding:7px 10px;border:1px solid #e7ddc4;border-radius:999px;background:#fffaf0;color:#816b3b;font-size:9px}
.config-section-head aside i{color:#b58930;font-size:13px}
.config-executive-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:15px;
}
.config-executive-card{
  --config-accent:#2f7296;
  --config-soft:#eaf3f8;
  position:relative;
  display:flex;
  min-width:0;
  min-height:390px;
  flex-direction:column;
  overflow:hidden;
  padding:20px;
  border:1px solid #dce4eb;
  border-radius:14px;
  background:linear-gradient(145deg,#fff,#fbfcfd);
  box-shadow:0 8px 25px rgba(18,41,68,.05);
  transition:.2s ease;
}
.config-executive-card::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--config-accent)}
.config-executive-card.talent{--config-accent:#8870a4;--config-soft:#f1edf6}
.config-executive-card.capital{--config-accent:#b18a36;--config-soft:#faf3e4}
.config-executive-card.resource{--config-accent:#3b826e;--config-soft:#eaf5f1}
.config-executive-card:hover{border-color:color-mix(in srgb,var(--config-accent) 35%,#dce4eb);box-shadow:0 13px 32px rgba(18,41,68,.085);transform:translateY(-2px)}
.config-executive-card>header{display:grid;grid-template-columns:43px minmax(0,1fr) auto;gap:11px;align-items:start;margin-bottom:14px}
.config-card-icon{width:43px;height:43px;display:grid;place-items:center;border-radius:11px;background:var(--config-soft);color:var(--config-accent);font-size:19px}
.config-executive-card header .eyebrow{color:var(--config-accent);font-size:7px}
.config-executive-card h3{margin:1px 0 2px;color:#263f57;font-size:15px}
.config-executive-card header p{margin:0;color:#8592a2;font-size:9px;line-height:1.5}
.config-card-question{align-self:center;padding:6px 9px;border:1px solid color-mix(in srgb,var(--config-accent) 20%,#e3e8ed);border-radius:999px;background:var(--config-soft);color:var(--config-accent);font-size:9px;font-weight:600;white-space:nowrap}
.config-executive-card>textarea{
  width:100%;
  min-height:245px;
  flex:1;
  margin:0;
  resize:vertical;
  padding:14px 15px;
  border:1px solid #dce4eb;
  border-radius:10px;
  background:#f9fbfc;
  color:#30445a;
  font-size:12px;
  line-height:1.75;
  outline:0;
  transition:.18s ease;
}
.config-executive-card>textarea:focus{border-color:var(--config-accent);background:#fff;box-shadow:0 0 0 3px color-mix(in srgb,var(--config-accent) 10%,transparent)}
.config-executive-card>footer{display:flex;align-items:center;gap:14px;margin-top:11px;color:#8a96a5;font-size:8px}
.config-executive-card>footer span{display:flex;align-items:center;gap:4px}
.config-executive-card>footer i{color:var(--config-accent);font-size:11px}

@media(max-width:1100px){
  .config-intro{grid-template-columns:1fr}
}
@media(max-width:900px){
  .config-page-head::after{display:none}
  .config-intro{padding:20px}
  .config-executive-grid{grid-template-columns:1fr}
  .config-section-head{align-items:flex-start;flex-direction:column}
}
@media(max-width:620px){
  .config-chain{grid-template-columns:1fr 1fr;gap:8px}
  .config-chain>em{display:none}
  .config-executive-card>header{grid-template-columns:43px minmax(0,1fr)}
  .config-card-question{grid-column:1/-1;justify-self:start}
}

/* Business model closed-loop + listed-company benchmark library */
.flow-page-head{padding:3px 0 5px 15px;border-left:3px solid #7958a8}
.flow-workbench{display:grid;gap:18px}
.flow-intro{
  display:grid;
  grid-template-columns:minmax(300px,.8fr) minmax(620px,1.4fr);
  gap:30px;
  align-items:center;
  padding:22px 25px;
  overflow:hidden;
  border:1px solid #dce3eb;
  border-radius:15px;
  background:
    radial-gradient(circle at 90% 20%,rgba(198,155,60,.16),transparent 25%),
    linear-gradient(125deg,#132d4b,#1b4264 62%,#28586e);
  color:#fff;
  box-shadow:0 12px 32px rgba(17,40,66,.13);
}
.flow-intro .eyebrow{color:#e1be66}
.flow-intro h2{margin:4px 0 6px;font-size:19px}
.flow-intro p{margin:0;color:#b9c8d5;font-size:10px;line-height:1.7}
.flow-loop-steps{display:grid;grid-template-columns:1fr 22px 1fr 22px 1fr 22px 1fr;align-items:center}
.flow-loop-steps>span{display:flex;min-width:0;align-items:center;gap:8px;padding:13px 10px;border:1px solid rgba(255,255,255,.14);border-radius:10px;background:rgba(255,255,255,.08)}
.flow-loop-steps>span>i{flex:none;width:29px;height:29px;display:grid;place-items:center;border-radius:8px;background:rgba(225,190,102,.14);color:#e5c56f}
.flow-loop-steps b{font-size:10px;white-space:nowrap}
.flow-loop-steps em{text-align:center;color:#809aae;font-style:normal}
.flow-section-head{display:flex;align-items:center;gap:11px;margin:1px 0 11px}
.flow-section-head>span{color:#c5a04a;font:700 26px/1 Georgia,serif}
.flow-section-head h2{margin:0;color:#263e57;font-size:15px}
.flow-section-head p{margin:2px 0 0;color:#8390a1;font-size:9px}
.flow-section-head>aside{display:flex;align-items:center;gap:6px;margin-left:auto;padding:6px 9px;border:1px solid #dce4eb;border-radius:999px;background:#fff;color:#617388;font-size:9px;font-style:normal}
.flow-section-head>aside i{color:#7b5ba5}
.flow-value-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}
.flow-value-card{--flow-accent:#39769a;position:relative;overflow:hidden;padding:17px;border-color:#dce4eb;box-shadow:0 7px 23px rgba(19,42,69,.045)}
.flow-value-card::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--flow-accent)}
.flow-value-card.value_deliver{--flow-accent:#8870a4}.flow-value-card.finance_flow{--flow-accent:#ae8734}
.flow-value-card header{display:flex;align-items:center;gap:10px;margin-bottom:10px}
.flow-value-card header>i{width:38px;height:38px;display:grid;place-items:center;border-radius:10px;background:color-mix(in srgb,var(--flow-accent) 10%,#fff);color:var(--flow-accent);font-size:17px}
.flow-value-card header>span{display:grid;grid-template-columns:auto 1fr;gap:0 6px;align-items:center}
.flow-value-card header small{color:var(--flow-accent);font-size:7px}
.flow-value-card header b{color:#294159;font-size:12px}
.flow-value-card header em{grid-column:1/-1;margin-top:2px;color:#8995a4;font-size:8px;font-style:normal}
.flow-value-card textarea{width:100%;min-height:210px;margin:0;padding:12px;border:1px solid #dce3ea;border-radius:9px;background:#fafbfd;color:#31445a;font-size:11px;line-height:1.7;outline:0}
.flow-value-card textarea:focus{border-color:var(--flow-accent);background:#fff;box-shadow:0 0 0 3px color-mix(in srgb,var(--flow-accent) 9%,transparent)}
.module-form:has(.flow-workbench){overflow:visible}
.flow-canvas-section{min-width:0;overflow:auto;padding:20px;border-color:#d9e2ea;box-shadow:0 10px 30px rgba(18,40,67,.055)}
.flow-canvas-section .flow-section-head{position:sticky;left:0;margin-bottom:14px;padding-bottom:13px;border-bottom:1px solid #e5eaf0}
.canvas-lane-guide{
  position:sticky;
  left:0;
  display:grid;
  grid-template-columns:1fr 24px .72fr 24px 1fr 24px .86fr;
  align-items:center;
  margin-bottom:10px;
  padding:10px 12px;
  border:1px solid #dce4eb;
  border-radius:11px;
  background:linear-gradient(110deg,#f9fbfc,#f3f6f9);
}
.canvas-lane-guide>span{display:flex;align-items:center;gap:8px;min-width:0}
.canvas-lane-guide>span>i{flex:none;width:29px;height:29px;display:grid;place-items:center;border-radius:8px;background:#173b60;color:#e3c36c}
.canvas-lane-guide>span>b,.canvas-lane-guide>span>small{display:block}
.canvas-lane-guide>span>b{color:#30475e;font-size:10px}
.canvas-lane-guide>span>small{margin-left:auto;color:#8794a3;font-size:8px}
.canvas-lane-guide>em{height:1px;background:linear-gradient(90deg,#d4dde5,#b9c6d2,#d4dde5)}
.flow-embedded-canvas{
  min-width:980px;
  grid-template-rows:196px 196px 156px 126px;
  gap:8px;
  padding:9px;
  border-color:#173b60;
  background:linear-gradient(145deg,#112c48,#214968);
  box-shadow:0 15px 35px rgba(16,39,64,.16);
}
.flow-embedded-canvas .canvas-cell{
  --canvas-accent:#3e769c;
  position:relative;
  min-height:0;
  padding:10px 12px;
  overflow:hidden;
  border:0;
  border-radius:9px;
  background:#fff;
  box-shadow:none;
}
.flow-embedded-canvas .canvas-cell::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:var(--canvas-accent)}
.flow-embedded-canvas .c1{--canvas-accent:#4b806f;background:#f7fbf9}
.flow-embedded-canvas .c2,.flow-embedded-canvas .c3{--canvas-accent:#80649d;background:#faf8fc}
.flow-embedded-canvas .c4{--canvas-accent:#bd8d2e;background:#fffaf0}
.flow-embedded-canvas .c5,.flow-embedded-canvas .c6{--canvas-accent:#39719c;background:#f7fafe}
.flow-embedded-canvas .c7{--canvas-accent:#9a6470;background:#fcf8f9}
.flow-embedded-canvas .c8{--canvas-accent:#a85d59;background:#fdf8f7}
.flow-embedded-canvas .c9{--canvas-accent:#3d866b;background:#f6fbf8}
.flow-embedded-canvas .c10{--canvas-accent:#b68a31;background:linear-gradient(100deg,#fffaf0,#fdf6e6)}
.flow-embedded-canvas .canvas-cell>span{
  display:grid;
  grid-template-columns:22px minmax(0,1fr);
  grid-template-rows:auto auto;
  gap:0 6px;
  margin-bottom:5px;
}
.flow-embedded-canvas .canvas-cell>span>i{
  grid-row:1/3;
  width:22px;
  height:22px;
  display:grid;
  place-items:center;
  border-radius:8px;
  background:color-mix(in srgb,var(--canvas-accent) 11%,#fff);
  color:var(--canvas-accent);
  font-size:8px;
  font-weight:700;
}
.flow-embedded-canvas .canvas-cell>span>b{color:#263f57;font-size:11px;line-height:1.2}
.flow-embedded-canvas .canvas-cell>span>small{color:#8b96a4;font-size:7px;line-height:1.2}
.flow-embedded-canvas .canvas-cell textarea{
  width:100%;
  min-height:0;
  flex:1;
  margin:0;
  padding:9px 11px;
  border:1px solid color-mix(in srgb,var(--canvas-accent) 17%,#dfe5eb);
  border-radius:8px;
  background:rgba(255,255,255,.88);
  color:#31445a;
  font-size:11px;
  line-height:1.68;
  outline:0;
  resize:none;
  scrollbar-width:thin;
  scrollbar-color:rgba(104,126,148,.22) transparent;
}
.flow-embedded-canvas .canvas-cell textarea::-webkit-scrollbar{width:5px;height:5px}
.flow-embedded-canvas .canvas-cell textarea::-webkit-scrollbar-button{display:none;width:0;height:0}
.flow-embedded-canvas .canvas-cell textarea::-webkit-scrollbar-track{background:transparent}
.flow-embedded-canvas .canvas-cell textarea::-webkit-scrollbar-thumb{border:1px solid transparent;border-radius:999px;background:rgba(104,126,148,.2);background-clip:padding-box}
.flow-embedded-canvas .canvas-cell textarea:hover::-webkit-scrollbar-thumb{background:rgba(104,126,148,.38);background-clip:padding-box}
.flow-embedded-canvas .canvas-cell textarea:focus{border-color:var(--canvas-accent);background:#fff;box-shadow:0 0 0 3px color-mix(in srgb,var(--canvas-accent) 9%,transparent)}
.flow-embedded-canvas .c2 textarea,.flow-embedded-canvas .c3 textarea,
.flow-embedded-canvas .c5 textarea,.flow-embedded-canvas .c6 textarea{min-height:138px}
.flow-embedded-canvas .c8 textarea,.flow-embedded-canvas .c9 textarea{min-height:66px}
.flow-embedded-canvas .c10 textarea{min-height:39px;padding-top:6px;padding-bottom:6px}
.flow-benchmark-panel{padding:21px;border-color:#d9e1e9;box-shadow:0 10px 30px rgba(18,40,67,.055)}
.flow-benchmark-panel>.section-title{margin-bottom:13px;padding-bottom:14px;border-bottom:1px solid #e6ebf0}
.flow-benchmark-panel .section-title .eyebrow{font-size:7px}
.flow-benchmark-panel .section-title h2{margin:1px 0;color:#243f5b}
.flow-benchmark-search{display:grid;grid-template-columns:22px minmax(260px,1fr) auto auto;gap:8px;align-items:center;margin-bottom:14px;padding:9px 10px;border:1px solid #dfe6ed;border-radius:10px;background:#f7f9fb}
.flow-benchmark-search>i{color:#6b7f93;font-size:15px;text-align:center}
.flow-benchmark-search input{min-width:0;padding:8px 9px;border:0;background:transparent;color:#30455c;outline:0;font-size:11px}
.flow-benchmark-search small{padding-left:9px;border-left:1px solid #dce3ea;color:#8995a3;font-size:8px;white-space:nowrap}
.business-model-benchmarks{display:grid;gap:14px}
.business-model-empty{min-height:170px;display:flex;flex-direction:column;align-items:center;justify-content:center;border:1px dashed #ccd7e1;border-radius:11px;background:linear-gradient(180deg,#fbfcfd,#f6f8fa);text-align:center}
.business-model-empty>i{font-size:29px;color:#aab6c1}.business-model-empty h3{margin:7px 0 2px;color:#41566d;font-size:13px}.business-model-empty p{max-width:560px;margin:0;color:#8793a2;font-size:9px}
.business-model-case{overflow:hidden;border:1px solid #dce4eb;border-radius:13px;background:#fff;box-shadow:0 7px 22px rgba(20,43,70,.045)}
.business-model-case>header{display:grid;grid-template-columns:38px minmax(190px,.6fr) minmax(260px,1.25fr) 28px;gap:11px;align-items:center;padding:14px 15px;border-bottom:1px solid #e3e9ee;background:linear-gradient(105deg,#f8fafc,#f2f6f9)}
.case-index{width:36px;height:36px;display:grid;place-items:center;border-radius:9px;background:#173b60;color:#e3c36c;font:700 11px Georgia,serif}
.business-model-case header .eyebrow{font-size:6px}
.business-model-case h3{margin:1px 0;color:#213d58;font-size:14px}.business-model-case h3 small{margin-left:4px;color:#8190a1;font-size:8px;font-weight:500}
.business-model-case header p{margin:1px 0 0;color:#718094;font-size:9px}
.case-match{display:flex;align-items:flex-start;gap:6px;padding:7px 9px;border-left:2px solid #c69b3c;background:#fffaf0;color:#6f613f;font-size:9px;line-height:1.55}
.case-match i{margin-top:1px;color:#b48831}
.business-model-case>header>button{width:28px;height:28px;border:0;border-radius:7px;background:transparent;color:#9aa5b2}.business-model-case>header>button:hover{background:#f7eded;color:#a64b51}
.business-model-case-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:1px;background:#e3e8ed}
.business-model-case-grid>section{display:flex;min-width:0;gap:8px;padding:12px;background:#fff}
.business-model-case-grid>section>i{flex:none;width:25px;height:25px;display:grid;place-items:center;border-radius:7px;background:#eef3f7;color:#3d6685;font-size:12px}
.business-model-case-grid b{display:block;color:#344b62;font-size:9px}
.business-model-case-grid p{margin:3px 0 0;color:#677589;font-size:8px;line-height:1.55;white-space:pre-line}
.business-model-case>footer{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(260px,.7fr);gap:16px;padding:13px 15px;background:#f9fafb}
.business-model-case>footer b{display:block;color:#53657a;font-size:9px}.business-model-case>footer b i{margin-right:4px;color:#3c826b}
.business-model-case>footer p{margin:4px 0 0;color:#7b8797;font-size:8px;line-height:1.55}
.business-model-case>footer aside{display:flex;flex-direction:column;gap:4px;padding-left:14px;border-left:1px solid #dde4ea}
.business-model-case>footer aside>a{display:flex;align-items:flex-start;gap:5px;color:#356b93;font-size:8px;line-height:1.35}
.business-model-case>footer aside>a i{margin-top:2px}.business-model-case>footer aside>a span{display:flex;flex-direction:column}.business-model-case>footer aside>a small{margin-top:1px;color:#9aa4af}
.flow-sankey-panel{margin-top:0}.flow-sankey-panel>.section-title{padding-bottom:13px;border-bottom:1px solid #e6ebf0}
.loop-auto-chip{display:inline-flex;align-items:center;gap:5px;padding:6px 9px;border:1px solid #cfe3d9;border-radius:999px;background:#f0f8f4;color:#39735d;font-size:9px;white-space:nowrap}
.loop-purpose-note{display:flex;align-items:flex-start;gap:10px;margin-bottom:12px;padding:11px 13px;border:1px solid #dbe5ed;border-radius:10px;background:linear-gradient(110deg,#f5f9fc,#eef5f8)}
.loop-purpose-note>i{flex:none;width:31px;height:31px;display:grid;place-items:center;border-radius:8px;background:#fff;color:#356c91;font-size:16px}
.loop-purpose-note b{display:block;color:#2e4b64;font-size:10px}.loop-purpose-note p{margin:2px 0 0;color:#6f8092;font-size:9px;line-height:1.55}
.loop-validation-summary{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;margin-bottom:12px}
.loop-validation-summary>div{display:grid;grid-template-columns:31px minmax(0,1fr) auto;gap:8px;align-items:center;padding:10px 11px;border:1px solid #e0e6ec;border-radius:10px;background:#fafbfd}
.loop-validation-summary>div>i{width:31px;height:31px;display:grid;place-items:center;border-radius:8px;background:#eef3f7;color:#496d89}
.loop-validation-summary span,.loop-validation-summary b,.loop-validation-summary small{display:block}
.loop-validation-summary b{color:#344b62;font-size:10px}.loop-validation-summary small{margin-top:1px;color:#8995a4;font-size:8px}
.loop-validation-summary em{padding:3px 7px;border-radius:999px;background:#f0f2f4;color:#7d8997;font-size:8px;font-style:normal}
.loop-validation-summary .complete{border-color:#cfe3d9;background:#f3faf6}.loop-validation-summary .complete>i{background:#e3f3eb;color:#34745a}.loop-validation-summary .complete em{background:#dff1e8;color:#337159}
.loop-validation-summary .partial{border-color:#eadcba;background:#fffbf1}.loop-validation-summary .partial>i{background:#f8efd9;color:#a0792e}.loop-validation-summary .partial em{background:#f5e9ca;color:#8c6925}
.loop-tooltip{max-width:280px;color:#263f57;background:transparent}
.loop-tooltip b{display:block;color:#1d3550;font-size:13px}
.loop-tooltip p{margin:6px 0 0;color:#3d5166;font-size:12px;line-height:1.55;white-space:pre-wrap;word-break:break-word}
.loop-tooltip-edge{color:#3d5166;font-size:12px}
.business-loop-chart{height:410px;min-height:410px;border:1px solid #e0e7ed;border-radius:13px;background:linear-gradient(180deg,#fcfdfe,#f8fafc)}
.business-loop-foot{display:flex;align-items:center;gap:14px;margin-top:9px;padding:8px 10px;border-top:1px solid #e6ebf0;color:#718094;font-size:9px}
.business-loop-foot span{display:flex;align-items:center;gap:5px}.business-loop-foot i{width:8px;height:8px;border-radius:50%;background:#397b70}
.business-loop-foot i.create{background:#8a6da2}.business-loop-foot i.market{background:#3975a0}.business-loop-foot i.finance{background:#b36f4e}
.business-loop-foot small{margin-left:auto;color:#96a1ae;font-size:8px}

@media(max-width:1200px){
  .flow-intro{grid-template-columns:1fr}
  .business-model-case-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
}
@media(max-width:900px){
  .flow-value-grid{grid-template-columns:1fr}
  .flow-embedded-canvas{min-width:0}
  .canvas-lane-guide{grid-template-columns:1fr 1fr;gap:8px}
  .canvas-lane-guide>em{display:none}
  .flow-embedded-canvas .canvas-cell{min-height:285px}
  .flow-embedded-canvas .c10{min-height:230px}
  .flow-benchmark-search{grid-template-columns:22px minmax(0,1fr) auto}
  .flow-benchmark-search small{grid-column:2/-1;border:0;padding:0}
  .business-model-case>header{grid-template-columns:38px minmax(0,1fr) 28px}
  .case-match{grid-column:1/-1}
  .business-model-case-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .business-model-case>footer{grid-template-columns:1fr}
  .business-model-case>footer aside{padding:10px 0 0;border-left:0;border-top:1px solid #dde4ea}
  .loop-validation-summary{grid-template-columns:1fr}
  .business-loop-chart{height:400px;min-height:400px}
  .business-loop-foot{flex-wrap:wrap}.business-loop-foot small{width:100%;margin-left:0}
}
@media(max-width:620px){
  .flow-loop-steps{grid-template-columns:1fr 1fr;gap:7px}
  .flow-loop-steps>em{display:none}
  .flow-benchmark-search{grid-template-columns:22px minmax(0,1fr)}
  .flow-benchmark-search .btn{grid-column:1/-1}
  .business-model-case-grid{grid-template-columns:1fr}
}

/* OKR executive execution workbench */
.okr-page-head{
  position:relative;
  padding:3px 0 5px 15px;
  border-left:3px solid #2f6f9f;
}
.okr-page-head::after{
  content:"ALIGN · EXECUTE · REVIEW";
  position:absolute;
  right:0;
  bottom:8px;
  color:#dbe3ea;
  font-size:10px;
  font-weight:700;
  letter-spacing:.22em;
}
.module-form:has(.okr-workbench){overflow:visible}
.okr-workbench{display:grid;gap:18px}
.okr-method-strip{
  display:grid;
  grid-template-columns:1fr 36px 1fr 36px 1fr 36px 1fr;
  align-items:center;
  padding:15px 20px;
  border:1px solid #dce4eb;
  border-radius:14px;
  background:linear-gradient(115deg,#fff 0%,#f8fafc 60%,#f1f6f9 100%);
  box-shadow:0 7px 22px rgba(20,43,72,.04);
}
.okr-method-strip>div{
  display:grid;
  grid-template-columns:28px 34px minmax(0,1fr);
  gap:9px;
  align-items:center;
  min-width:0;
}
.okr-method-strip>div>span{
  color:#b28a35;
  font:700 12px Georgia,serif;
  text-align:center;
}
.okr-method-strip>div>i{
  width:34px;
  height:34px;
  display:grid;
  place-items:center;
  border-radius:9px;
  background:#173b60;
  color:#e5c46c;
  font-size:16px;
}
.okr-method-strip p,.okr-method-strip b,.okr-method-strip small{display:block;min-width:0;margin:0}
.okr-method-strip b{color:#294159;font-size:12px}
.okr-method-strip small{margin-top:2px;color:#8491a1;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.okr-method-strip>em{height:1px;background:linear-gradient(90deg,#d9e1e8,#b9c7d3,#d9e1e8)}
.okr-explain{padding:18px 22px 16px}
.okr-explain .section-title{margin-bottom:12px}
.okr-priority-figure{
  margin:0;
  overflow-x:auto;
  padding:6px 8px 2px;
  border:1px solid #e6edf2;
  border-radius:12px;
  background:#fff;
}
.okr-priority-figure svg{
  display:block;
  width:100%;
  min-width:880px;
  height:auto;
  font-family:"Noto Sans SC","PingFang SC","Microsoft YaHei",sans-serif;
}

.okr-workbench .okr-hero{
  position:relative;
  display:grid;
  grid-template-columns:72px minmax(0,1fr) auto;
  gap:20px;
  align-items:start;
  min-height:330px;
  padding:25px 26px;
  overflow:hidden;
  border:1px solid #d6e0e9;
  border-radius:16px;
  background:
    radial-gradient(circle at 94% 12%,rgba(198,155,60,.13),transparent 23%),
    linear-gradient(135deg,#f9fbfd 0%,#f3f7fa 58%,#edf3f7 100%);
  box-shadow:0 12px 32px rgba(17,40,66,.075);
}
.okr-workbench .okr-hero::before{
  content:"";
  position:absolute;
  inset:0 0 auto;
  height:4px;
  background:linear-gradient(90deg,#173b60 0 72%,#c69b3c 72%);
}
.okr-objective-mark{
  width:64px!important;
  height:64px!important;
  display:grid!important;
  place-items:center;
  margin-top:4px;
  border-radius:18px!important;
  background:linear-gradient(145deg,#173b60,#285b82)!important;
  color:#e8c96f!important;
  font:700 31px/1 Georgia,serif!important;
  box-shadow:0 9px 22px rgba(23,59,96,.18)!important;
}
.okr-objective-main{display:grid;gap:14px;min-width:0}
.okr-field-heading{display:flex;align-items:center;gap:10px;min-height:48px;padding-bottom:12px;border-bottom:1px solid #dfe6ec}
.okr-field-heading>span{display:flex;flex-direction:column}
.okr-field-heading small{color:#a27b2d;font-size:8px;font-weight:700;letter-spacing:.15em}
.okr-field-heading b{margin-top:1px;color:#203b56;font-size:17px}
.okr-field-heading p{margin:0;color:#7a899a;font-size:10px}
.okr-field-heading .help-q{margin-left:auto}
.okr-objective-main>label{display:block;color:#526379;font-size:11px;font-weight:600}
.okr-workbench .okr-objective-main input,
.okr-workbench .okr-objective-main textarea{
  display:block;
  width:100%;
  margin-top:6px;
  padding:13px 15px;
  border:1px solid #d6e0e8;
  border-radius:10px;
  background:rgba(255,255,255,.94);
  color:#293f55;
  font-size:13px;
  font-weight:400;
  line-height:1.7;
  outline:0;
  transition:.18s ease;
}
.okr-workbench .okr-objective-main input{min-height:48px;font-size:14px;font-weight:600}
.okr-workbench .okr-objective-main textarea{min-height:138px;resize:vertical}
.okr-workbench .okr-objective-main input:focus,
.okr-workbench .okr-objective-main textarea:focus{
  border-color:#4d7fa4;
  background:#fff;
  box-shadow:0 0 0 3px rgba(47,111,159,.09);
}
.okr-add-button{min-width:116px;justify-content:center;margin-top:5px;box-shadow:0 7px 17px rgba(23,59,96,.15)}

.okr-results-section{
  padding:22px;
  border:1px solid #dce4eb;
  border-radius:16px;
  background:linear-gradient(145deg,#f8fafc,#f2f6f9);
  box-shadow:0 9px 28px rgba(17,40,66,.045);
}
.okr-section-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:18px;margin-bottom:16px}
.okr-section-heading .eyebrow{font-size:8px}
.okr-section-heading h2{margin:3px 0 2px;color:#203c58;font-size:18px}
.okr-section-heading p{margin:0;color:#7d8a9a;font-size:10px}
.okr-section-note{display:flex;align-items:center;gap:6px;padding:7px 10px;border:1px solid #e8d9b4;border-radius:999px;background:#fffaf0;color:#816a38;font-size:9px;white-space:nowrap}
.okr-section-note i{color:#b28630;font-size:13px}
.okr-workbench .kr-list{display:grid;gap:15px}
.okr-workbench .kr-card{
  position:relative;
  display:grid;
  grid-template-columns:156px minmax(0,1fr);
  min-height:500px;
  margin:0;
  padding:0;
  overflow:hidden;
  border:1px solid #dce4eb;
  border-radius:14px;
  background:#fff;
  box-shadow:0 8px 24px rgba(20,43,70,.05);
  transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease;
}
.okr-workbench .kr-card::before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,#2f6f9f,#70a0c3 74%,#c69b3c)}
.okr-workbench .kr-card:hover{border-color:#c7d5e1;box-shadow:0 12px 30px rgba(20,43,70,.075);transform:translateY(-1px)}
.kr-card-head{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:12px;
  padding:25px 20px;
  border-right:1px solid #e1e7ed;
  background:linear-gradient(155deg,#173b60,#214e74);
}
.okr-workbench .kr-index{
  width:auto;
  min-width:68px;
  padding:8px 11px;
  border:1px solid rgba(231,199,111,.25);
  border-radius:9px;
  background:rgba(232,200,112,.12);
  color:#e8c970;
  font:700 15px/1 Georgia,serif;
  letter-spacing:.04em;
}
.kr-card-head>div small,.kr-card-head>div b{display:block}
.kr-card-head>div small{color:#8fa9bf;font-size:7px;letter-spacing:.14em}
.kr-card-head>div b{margin-top:3px;color:#fff;font-size:13px}
.kr-delete{
  width:32px;
  height:32px;
  display:grid;
  place-items:center;
  margin-top:auto;
  padding:0;
  border:1px solid rgba(255,255,255,.12);
  border-radius:8px;
  background:rgba(255,255,255,.06);
  color:#9fb3c5;
}
.kr-delete:hover{border-color:rgba(255,210,210,.2);background:rgba(198,83,83,.17);color:#ffd8d8}
.okr-workbench .kr-main{display:grid;gap:13px;padding:22px 24px 24px}
.okr-workbench .kr-main>label{display:block;color:#53657a;font-size:10px;font-weight:600}
.okr-workbench .kr-main input,
.okr-workbench .kr-main textarea{
  display:block;
  width:100%;
  margin-top:6px;
  padding:11px 13px;
  border:1px solid #dbe3ea;
  border-radius:9px;
  background:#fafbfd;
  color:#30445a;
  font-size:12px;
  font-weight:400;
  line-height:1.65;
  outline:0;
  transition:.18s ease;
}
.okr-workbench .kr-main input:focus,
.okr-workbench .kr-main textarea:focus{border-color:#5783a5;background:#fff;box-shadow:0 0 0 3px rgba(47,111,159,.08)}
.okr-workbench .kr-title-field input{min-height:45px;background:#fff;font-size:13px;font-weight:600}
.okr-workbench .kr-desc-field textarea{min-height:82px;resize:vertical}
.okr-workbench .kr-tasks-field{
  display:flex;
  flex-direction:column;
  gap:12px;
  padding:14px 16px 16px;
  border:1px solid #dce5ec;
  border-radius:11px;
  background:linear-gradient(145deg,#f5f8fa,#f9fbfc);
}
.kr-tasks-head{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  min-height:28px;
}
.kr-tasks-head>span{display:flex;align-items:center;color:#294a66;font-size:12px;font-weight:600}
.okr-workbench .kr-tasks-field .okr-add-task{
  display:inline-flex;
  flex:0 0 auto;
  align-items:center;
  align-self:flex-start;
  gap:4px;
  width:auto;
  height:28px;
  min-height:28px;
  max-height:28px;
  margin:0;
  padding:0 10px;
  border:1px solid #c5d3de;
  border-radius:7px;
  background:#fff;
  color:#2f5f82;
  font-size:11px;
  font-weight:600;
  line-height:1;
  white-space:nowrap;
  box-shadow:none;
}
.okr-workbench .kr-tasks-field .okr-add-task:hover{border-color:#8eabc2;background:#f4f8fb}
.okr-workbench .kr-tasks-field .okr-add-task i{font-size:13px}
.okr-task-list{display:flex;flex-direction:column;gap:12px;min-width:0}
.okr-workbench .okr-task-row{
  display:grid;
  grid-template-columns:36px minmax(0,1fr) 156px;
  gap:12px;
  align-items:stretch;
}
.okr-task-index{
  display:grid;
  place-items:center;
  width:36px;
  height:36px;
  margin-top:6px;
  border-radius:9px;
  background:#e8eef3;
  color:#3d5a73;
  font-size:13px;
  font-weight:700;
}
.okr-workbench .okr-task-row textarea{
  width:100%;
  min-height:120px;
  margin-top:0;
  padding:12px 14px;
  background:#fff;
  font-size:13px;
  line-height:1.7;
  resize:vertical;
}
.okr-task-side{display:flex;flex-direction:column;gap:8px;min-width:0}
.okr-workbench .okr-task-row .okr-task-side input{
  width:100%;
  min-height:42px;
  margin-top:0;
  background:#fff;
}
.okr-task-side button{
  width:34px;
  height:34px;
  margin:0;
  border:0;
  background:transparent;
  color:#8a97a6;
  cursor:pointer;
}
.okr-task-side button:hover{color:#b42318}
.kr-owner-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;padding-top:2px}
.okr-workbench .kr-owner-grid label{display:block;color:#53657a;font-size:10px;font-weight:600}
.okr-workbench .kr-owner-grid label>span{display:flex;align-items:center;gap:5px}
.okr-workbench .kr-owner-grid label>span i{color:#39739d;font-size:13px}
.okr-workbench .kr-owner-grid input{min-height:43px;background:#fff}

.okr-map-panel{padding:22px;border-color:#d9e2ea;box-shadow:0 10px 30px rgba(18,40,67,.055)}
.okr-map-panel>.section-title{margin-bottom:14px;padding-bottom:14px;border-bottom:1px solid #e5eaf0}
.okr-map-panel .section-title .eyebrow{font-size:8px}
.okr-map-actions{display:flex;align-items:center;gap:7px;margin-left:auto}
.okr-map-actions .btn{min-width:36px;justify-content:center;padding:7px 10px}
.okr-map-actions .btn[title]{width:36px;padding:0}
.okr-map-guide{
  display:flex;
  align-items:center;
  gap:18px;
  margin-bottom:10px;
  padding:8px 11px;
  border:1px solid #e0e7ed;
  border-radius:9px;
  background:#f7f9fb;
  color:#788798;
  font-size:9px;
}
.okr-map-guide span{display:flex;align-items:center;gap:5px}
.okr-map-guide i{color:#467596;font-size:13px}
.okr-mindmap-viewport{
  position:relative;
  overflow:hidden;
  width:100%;
  height:min(72vh,780px);
  min-height:560px;
  border:1px solid #d8e2ea;
  border-radius:13px;
  background:
    linear-gradient(rgba(45,84,117,.035) 1px,transparent 1px),
    linear-gradient(90deg,rgba(45,84,117,.035) 1px,transparent 1px),
    radial-gradient(circle at 50% 45%,rgba(255,255,255,.95),rgba(247,250,252,.96));
  background-size:28px 28px,28px 28px,100% 100%;
  cursor:grab;
  touch-action:none;
  user-select:none;
  -webkit-user-select:none;
  -webkit-touch-callout:none;
}
.okr-mindmap-viewport.is-panning,.okr-mindmap-viewport.is-panning *{cursor:grabbing}
.okr-mindmap-world{
  position:absolute;
  left:0;
  top:0;
  overflow:visible;
  background:transparent;
  transform-origin:0 0;
  will-change:transform;
  pointer-events:none;
  user-select:none;
}
.okr-mindmap-edges{
  position:absolute;
  inset:0;
  overflow:visible;
  pointer-events:none;
}
.okr-mindmap-edges>path{
  fill:none;
  stroke:#9eb2c3;
  stroke-width:1.4;
}
.okr-map-node{
  position:absolute;
  display:flex;
  flex-direction:column;
  justify-content:center;
  box-sizing:border-box;
  padding:10px 14px;
  overflow:hidden;
  border:1.2px solid;
  border-radius:10px;
  box-shadow:0 6px 16px rgba(20,43,70,.08);
  pointer-events:none;
  user-select:none;
  -webkit-user-drag:none;
}
.okr-map-node small{
  display:block;
  margin-bottom:4px;
  font-size:10px;
  font-weight:700;
  letter-spacing:.02em;
  opacity:.78;
  white-space:nowrap;
}
.okr-map-node b{
  display:-webkit-box;
  overflow:hidden;
  min-width:0;
  font-size:13px;
  font-weight:600;
  line-height:1.4;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
}
.okr-map-node.is-objective{background:#173b60;border-color:#173b60;color:#fff;box-shadow:0 10px 20px rgba(23,59,96,.2)}
.okr-map-node.is-kr{background:#eef5fa;border-color:#4d7fa4;color:#244966}
.okr-map-node.is-owner{background:#fff8e9;border-color:#c39a41;color:#685326}
.okr-map-node.is-task{background:#fff;border-color:#cfdbe5;color:#3d5268}
.okr-map-node.is-task b,.okr-map-node.is-landing b{font-weight:400}
.okr-map-node.is-landing{background:#eef8f2;border-color:#5a9a78;color:#2c5d46}
.okr-map-tip{
  position:absolute;
  z-index:3;
  max-width:320px;
  padding:10px 12px;
  border-radius:10px;
  background:rgba(17,39,66,.96);
  color:#fff;
  box-shadow:0 10px 24px rgba(17,39,66,.2);
  pointer-events:none;
}
.okr-map-tip b,.okr-map-tip span{display:block}
.okr-map-tip b{margin-bottom:4px;font-size:11px}
.okr-map-tip span{color:#e7eef4;font-size:12px;line-height:1.55}

@media(max-width:1100px){
  .okr-method-strip{grid-template-columns:1fr 1fr;gap:10px}
  .okr-method-strip>em{display:none}
  .okr-priority-figure svg{min-width:920px}
}
@media(max-width:900px){
  .okr-page-head::after{display:none}
  .okr-workbench .okr-hero{grid-template-columns:58px minmax(0,1fr)}
  .okr-objective-mark{width:52px!important;height:52px!important;border-radius:14px!important;font-size:25px!important}
  .okr-add-button{grid-column:2;justify-self:start;margin-top:0}
  .okr-results-section{padding:15px}
  .okr-workbench .kr-card{grid-template-columns:1fr}
  .kr-card-head{min-height:70px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;padding:16px;border-right:0;border-bottom:1px solid #e1e7ed}
  .kr-delete{margin:0}
  .okr-workbench .kr-card{min-height:0}
  .okr-map-panel>.section-title{align-items:flex-start}
  .okr-map-actions{flex-wrap:wrap}
  .section-title-actions .okr-map-actions{width:auto;margin:0}
  .okr-workbench .okr-task-row{grid-template-columns:32px minmax(0,1fr)}
  .okr-task-side{grid-column:2;flex-direction:row;align-items:center}
  .okr-task-side input{flex:1 1 auto;min-width:0}
}
@media(max-width:620px){
  .okr-method-strip{grid-template-columns:1fr}
  .okr-workbench .okr-hero{grid-template-columns:1fr;padding:20px}
  .okr-objective-mark{margin:0}
  .okr-add-button{grid-column:1}
  .okr-section-heading{align-items:flex-start;flex-direction:column}
  .okr-workbench .kr-main{padding:17px}
  .kr-owner-grid{grid-template-columns:1fr}
  .okr-map-guide{align-items:flex-start;flex-direction:column;gap:6px}
  .okr-map-actions{margin-left:0}
  .okr-workbench .okr-task-row{grid-template-columns:36px minmax(0,1fr)}
  .okr-task-side{grid-column:2;flex-direction:row;align-items:center}
  .okr-task-side input{flex:1}
  .okr-mindmap-viewport{min-height:430px;height:min(68vh,560px)}
}

/* Financial map — three statements, DuPont drivers and strategic review */
.finance-page-head{
  position:relative;
  min-height:84px;
  align-items:center;
  padding:4px 180px 4px 0;
}
.finance-page-head::after{
  content:"FINANCIAL MAP";
  position:absolute;
  right:4px;
  bottom:2px;
  color:rgba(25,55,84,.055);
  font:800 26px/1 "Noto Sans SC",sans-serif;
  letter-spacing:.12em;
  pointer-events:none;
}
.finance-page-head h1{font-size:27px;color:#173654;letter-spacing:.04em}
.finance-page-head>div>.eyebrow{color:#a47d2e}
.finance-workbench{display:flex;flex-direction:column;gap:16px}
.finance-method-strip{
  display:grid;
  grid-template-columns:1fr 34px 1fr 34px 1fr 34px 1fr;
  align-items:center;
  min-height:82px;
  padding:13px 22px;
  border:1px solid #dfe6ec;
  border-radius:14px;
  background:linear-gradient(120deg,#fff,#f8fafc);
  box-shadow:0 4px 18px rgba(21,48,75,.035);
}
.finance-method-strip>div{display:grid;grid-template-columns:25px 34px minmax(0,1fr);align-items:center;gap:10px}
.finance-method-strip>div>span{color:#b18a3a;font:700 10px/1.2 serif;align-self:start;padding-top:2px}
.finance-method-strip>div>i{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:#edf3f8;color:#315f86;font-size:16px}
.finance-method-strip p{margin:0}.finance-method-strip b,.finance-method-strip small{display:block}
.finance-method-strip b{font-size:12px;color:#233f5a}.finance-method-strip small{margin-top:3px;color:#8995a3;font-size:9px}
.finance-method-strip>em{height:1px;background:linear-gradient(90deg,#d9e0e7,#c6a458);position:relative}
.finance-method-strip>em::after{content:"";position:absolute;right:0;top:-2px;border-left:5px solid #c6a458;border-top:3px solid transparent;border-bottom:3px solid transparent}
.finance-overview-grid{display:grid;grid-template-columns:minmax(400px,.82fr) minmax(560px,1.38fr);gap:16px;align-items:stretch}
.finance-input-panel,.finance-map-panel,.finance-details-panel{padding:22px;margin:0}
.finance-panel-head{min-height:50px;display:flex;align-items:center;gap:12px;margin-bottom:20px;padding-bottom:17px;border-bottom:1px solid #e7ebef}
.finance-panel-head>div{flex:1;min-width:0}.finance-panel-head h2{font-size:17px;margin:2px 0;color:#1d3b57}.finance-panel-head p{font-size:11px;color:#7f8b9b;margin:1px 0 0}
.finance-panel-icon{flex:0 0 40px;width:40px;height:40px;display:grid;place-items:center;border-radius:11px;background:linear-gradient(145deg,#f8f1df,#f1e4c4);color:#a47b28;font-size:18px}
.finance-import-button{display:flex;align-items:center;gap:9px;padding:9px 11px;border:1px solid #dbe3e9;border-radius:10px;background:#f9fbfc;color:#274d70;cursor:pointer;transition:.2s}
.finance-import-button:hover{border-color:#b8974e;background:#fff;box-shadow:0 5px 14px rgba(29,58,84,.08)}
.finance-import-button>i{font-size:18px}.finance-import-button b,.finance-import-button small{display:block;white-space:nowrap}
.finance-import-button b{font-size:10px}.finance-import-button small{font-size:8px;color:#919baa;margin-top:1px}
.finance-import-status{display:flex;align-items:flex-start;gap:10px;margin:-5px 0 17px;padding:12px 13px;border:1px solid #e0e7ed;border-radius:10px;background:linear-gradient(120deg,#f5f8fb,#fafcfd);color:#315d7d}
.finance-import-status>i{font-size:18px;margin-top:1px}.finance-import-status>div{min-width:0}
.finance-import-status b,.finance-import-status span{display:block}.finance-import-status b{font-size:10px}.finance-import-status span{margin-top:2px;color:#7d8997;font-size:9px;line-height:1.55}
.finance-import-status.loading{border-color:#d9c38f;background:#fffaf0;color:#a27a29}.finance-import-status.loading>i{animation:finance-spin 1s linear infinite}
.finance-import-status.success{border-color:#cfe3db;background:#f2f8f5;color:#2e8065}.finance-import-status.success span{color:#648175}
.finance-import-status.error{border-color:#edd3d3;background:#fff5f5;color:#b64d4d}.finance-import-status.error span{color:#956b6b}
@keyframes finance-spin{to{transform:rotate(360deg)}}
.finance-core-fields{display:grid;grid-template-columns:1fr 1fr;gap:13px 12px}
.finance-core-fields label,.finance-context-fields label,.finance-statement-grid label{min-width:0;color:#536175;font-size:11px}
.finance-core-fields label>span,.finance-context-fields label>span{display:flex;justify-content:space-between;gap:8px;margin-bottom:6px}
.finance-core-fields label em{font-size:9px;color:#9aa4b0;font-style:normal;font-weight:400}
.finance-core-fields input,.finance-context-fields input,.finance-statement-grid input{
  display:block;width:100%;height:40px;padding:0 11px;border:1px solid #dce3e9;border-radius:8px;background:#fbfcfd;color:#1e3044;outline:none;transition:.18s;
}
.finance-core-fields input:focus,.finance-context-fields input:focus,.finance-statement-grid input:focus{background:#fff;border-color:#b38c3b;box-shadow:0 0 0 3px rgba(190,151,62,.09)}
.finance-compute-button{width:100%;height:42px;margin-top:17px;font-size:12px;letter-spacing:.02em}
.finance-map-panel{display:flex;flex-direction:column;background:linear-gradient(150deg,#fff 50%,#fbfcfd)}
.finance-live,.finance-detail-note{display:inline-flex;align-items:center;gap:6px;white-space:nowrap;padding:6px 9px;border-radius:20px;background:#eff7f4;color:#397b67;font-size:9px}
.finance-live i{width:6px;height:6px;border-radius:50%;background:#43a17f;box-shadow:0 0 0 4px rgba(67,161,127,.10)}
.finance-detail-note{background:#f4f6f8;color:#6c7888}
.finance-kpi-bar{display:grid;grid-template-columns:1.15fr repeat(3,1fr);gap:9px;margin-bottom:12px}
.finance-kpi-bar>div{min-height:76px;padding:12px 13px;border:1px solid #e5e9ed;border-radius:10px;background:#f8fafb}
.finance-kpi-bar span,.finance-kpi-bar b,.finance-kpi-bar small{display:block}
.finance-kpi-bar span{font-size:9px;color:#7c8998}.finance-kpi-bar b{margin:3px 0;color:#244764;font-size:20px}.finance-kpi-bar small{font-size:8px;color:#a0a9b3}
.finance-kpi-bar .primary{border-color:#244b70;background:linear-gradient(145deg,#173653,#244d72);box-shadow:0 7px 18px rgba(24,56,84,.15)}
.finance-kpi-bar .primary span,.finance-kpi-bar .primary small{color:#aebdcc}.finance-kpi-bar .primary b{color:#f2cf77}
.finance-chart-shell{position:relative;min-height:390px;flex:1;border:1px solid #edf0f3;border-radius:11px;overflow:hidden;background:linear-gradient(rgba(45,84,117,.028) 1px,transparent 1px),linear-gradient(90deg,rgba(45,84,117,.028) 1px,transparent 1px),#fbfcfd;background-size:26px 26px}
.finance-chart-shell .chart{height:100%;min-height:390px}
.finance-chart-hint{position:absolute;right:10px;bottom:9px;padding:5px 8px;border:1px solid #e2e7eb;border-radius:7px;background:rgba(255,255,255,.9);color:#8893a1;font-size:8px;pointer-events:none}
.finance-details-panel{overflow:hidden}
.finance-context-fields{display:grid;grid-template-columns:1fr 1fr 2fr;gap:12px;margin-bottom:18px;padding:16px;border-radius:11px;background:#f6f8fa}
.finance-context-fields .source{min-width:0}
.finance-statement-grid{display:grid;grid-template-columns:1.08fr .92fr .92fr;gap:14px;align-items:stretch}
.finance-statement-grid>article{min-width:0;padding:17px;border:1px solid #e2e7ec;border-radius:12px;background:#fff;box-shadow:0 3px 12px rgba(24,48,71,.025)}
.finance-statement-grid>article>header{display:flex;align-items:center;gap:10px;margin:-17px -17px 15px;padding:14px 16px;border-bottom:1px solid #e6eaee;background:linear-gradient(120deg,#f9fbfc,#f4f7f9);border-radius:12px 12px 0 0}
.finance-statement-grid>article>header>span{width:32px;height:32px;display:grid;place-items:center;border-radius:9px;background:#eaf1f6;color:#376482}
.finance-statement-grid header b,.finance-statement-grid header small{display:block}.finance-statement-grid header b{font-size:12px;color:#294660}.finance-statement-grid header small{font-size:7px;color:#9aa5b0;letter-spacing:.12em;margin-top:2px}
.finance-statement-grid>article>div{display:grid;grid-template-columns:1fr 1fr;gap:11px 9px}
.finance-statement-grid>article:nth-child(2)>div,.finance-statement-grid>article:nth-child(3)>div{grid-template-columns:1fr}
.finance-statement-grid label{display:block}.finance-statement-grid input{height:36px;margin-top:5px}
.finance-statement-grid aside{display:flex;gap:10px;margin-top:14px;padding:12px;border-radius:9px;background:#fff9eb;color:#94712b}
.finance-statement-grid aside>i{font-size:17px}.finance-statement-grid aside p{margin:0}.finance-statement-grid aside b,.finance-statement-grid aside span{display:block}
.finance-statement-grid aside b{font-size:10px}.finance-statement-grid aside span{margin-top:2px;color:#8d7c56;font-size:9px;line-height:1.55}
.finance-analysis-panel{margin:0;padding:22px}.finance-analysis-panel .finance-panel-head{margin-bottom:0}
.finance-analysis-panel>textarea{min-height:230px;margin-top:16px;background:linear-gradient(135deg,#fbfcfd,#fff);font-size:13px}

@media(max-width:1280px){
  .finance-overview-grid{grid-template-columns:minmax(360px,.9fr) minmax(500px,1.1fr)}
  .finance-panel-head{align-items:flex-start;flex-wrap:wrap}
  .finance-import-button{margin-left:52px}
  .finance-live,.finance-detail-note{margin-left:52px}
}
@media(max-width:1100px){
  .finance-method-strip{grid-template-columns:1fr 1fr;gap:10px}
  .finance-method-strip>em{display:none}
  .finance-overview-grid{grid-template-columns:1fr}
  .finance-import-button,.finance-live,.finance-detail-note{margin-left:auto}
  .finance-statement-grid{grid-template-columns:1fr 1fr}.finance-statement-grid>article:last-child{grid-column:1/-1}
  .finance-statement-grid>article:nth-child(3)>div{grid-template-columns:repeat(3,1fr)}
}
@media(max-width:720px){
  .finance-page-head{padding-right:0}.finance-page-head::after{display:none}
  .finance-method-strip,.finance-core-fields,.finance-context-fields,.finance-statement-grid{grid-template-columns:1fr}
  .finance-statement-grid>article:last-child{grid-column:auto}
  .finance-statement-grid>article:nth-child(3)>div{grid-template-columns:1fr}
  .finance-kpi-bar{grid-template-columns:1fr 1fr}
  .finance-import-button,.finance-live,.finance-detail-note{width:100%;margin-left:0;justify-content:center}
  .finance-input-panel,.finance-map-panel,.finance-details-panel,.finance-analysis-panel{padding:17px}
  .finance-chart-shell,.finance-chart-shell .chart{min-height:420px}
}

/* Responsive system V2: shared shell, touch, tablets and foldables */
:root{
  --sidebar-width:240px;
  --touch-target:44px;
  --safe-top:env(safe-area-inset-top,0px);
  --safe-right:env(safe-area-inset-right,0px);
  --safe-bottom:env(safe-area-inset-bottom,0px);
  --safe-left:env(safe-area-inset-left,0px);
  --mobile-gutter:clamp(12px,3.5vw,20px);
}
html{max-width:100%;overflow-x:hidden;scroll-padding-top:76px}
body{max-width:100%;overflow-x:hidden;text-size-adjust:100%;-webkit-text-size-adjust:100%}
img,svg,video,canvas,iframe{max-width:100%}
input,select,textarea{max-width:100%}
.sidebar{padding-left:var(--safe-left)}
.topbar{padding-top:var(--safe-top);padding-right:max(18px,var(--safe-right))}
.content{padding-right:max(14px,var(--safe-right));padding-bottom:max(28px,var(--safe-bottom));padding-left:max(14px,var(--safe-left))}
.toast{right:max(16px,var(--safe-right));bottom:max(16px,var(--safe-bottom));max-width:min(420px,calc(100vw - 32px))}
.modal-backdrop,.confirm-backdrop,.ai-progress-backdrop{padding:calc(12px + var(--safe-top)) max(12px,var(--safe-right)) calc(12px + var(--safe-bottom)) max(12px,var(--safe-left))}
.modal-body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch}
.btn,.icon-button,.user-button,.picker-button,.tabs a,.library-tabs button,.filterbar button,.row-actions button,.row-actions a{min-height:var(--touch-target)}
.icon-button,.row-actions button,.row-actions a{min-width:var(--touch-target)}
.table-wrap,.table-scroll,.mini-table-wrap,.canvas-board{overscroll-behavior-inline:contain;scrollbar-gutter:stable;-webkit-overflow-scrolling:touch}
.scroll-region{position:relative}
.scroll-region::after{content:"左右滑动查看更多";position:sticky;left:12px;bottom:8px;display:table;margin:8px 0 0;padding:5px 9px;border:1px solid #dfe6ec;border-radius:20px;background:rgba(255,255,255,.94);color:#6d7987;font-size:10px;pointer-events:none;box-shadow:0 3px 12px rgba(22,43,66,.08)}
.scroll-region.scrolled-end::after{display:none}
.mobile-field-label{display:none}

@media(pointer:coarse){
  button,a,input[type="checkbox"],input[type="radio"],input[type="range"],select{touch-action:manipulation}
  input[type="checkbox"],input[type="radio"]{width:20px;height:20px}
  input[type="range"]{min-height:44px}
  .help-q{min-width:16px;min-height:16px}
  .kano-hit-line{stroke-width:28}
}

@media(max-width:1100px){
  .content{width:100%}
  .page-head{gap:14px}
  .head-actions,.report-head-actions{flex-wrap:wrap;justify-content:flex-end}
  .project-card footer{align-items:flex-end}
  .project-card footer>div{flex-wrap:wrap;justify-content:flex-end}
  .report-preview iframe{height:min(70dvh,680px)}
}

@media(max-width:900px){
  html{scroll-padding-top:68px}
  body.sidebar-open,body.modal-open{overflow:hidden;touch-action:none}
  .sidebar{top:0;bottom:0;width:min(88vw,320px);padding-top:var(--safe-top);padding-bottom:var(--safe-bottom);box-shadow:18px 0 42px rgba(5,17,34,.25)}
  .sidebar-backdrop{inset:0}
  .topbar{min-width:0;height:calc(58px + var(--safe-top));padding-left:max(12px,var(--safe-left));gap:8px}
  .menu-toggle{flex:0 0 44px}
  .project-picker{min-width:0;flex:1}
  .picker-button{width:100%;min-width:0;justify-content:flex-start}
  .picker-button b{max-width:min(42vw,280px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .top-actions{flex:0 0 auto;gap:4px}
  .top-actions .dropdown{position:fixed;top:calc(62px + var(--safe-top));right:max(10px,var(--safe-right));left:max(10px,var(--safe-left));width:auto;max-height:calc(100dvh - 82px - var(--safe-top) - var(--safe-bottom));overflow:auto}
  .content{padding-top:18px;padding-right:max(var(--mobile-gutter),var(--safe-right));padding-left:max(var(--mobile-gutter),var(--safe-left))}
  .page-head,.page-head.compact{align-items:flex-start;flex-direction:column}
  .page-head>div:first-child{min-width:0;width:100%}
  .page-head h1{font-size:clamp(24px,7vw,34px);overflow-wrap:anywhere}
  .page-head p{max-width:100%}
  .head-actions,.report-head-actions,.page-head .search,.page-head .storage{width:100%;justify-content:flex-start}
  .page-head .search{min-width:0}
  .page-toolbar,.matrix-page-toolbar,.admin-page-toolbar{align-items:stretch}
  .page-toolbar .toolbar-spacer{flex-basis:100%;height:0}
  .page-toolbar .btn,.page-toolbar a.btn{flex:1 1 150px;justify-content:center;white-space:normal;text-align:center}
  .tabs,.library-tabs,.admin-nav,.filterbar{max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;scroll-snap-type:x proximity;scrollbar-width:thin}
  .tabs>* ,.library-tabs>* ,.admin-nav>* ,.filterbar>*{scroll-snap-align:start}
  .tabs::after,.library-tabs::after,.admin-nav::after{content:"";flex:0 0 max(1px,var(--safe-right))}
  .panel,.form-panel{max-width:100%}
  .section-title{align-items:flex-start;flex-wrap:wrap}
  .section-title>div{min-width:0;flex:1 1 220px}
  .section-title>.section-title-actions,.section-title-actions{flex:0 0 auto;min-width:0;margin-left:auto}
  .form-row{flex-wrap:wrap}
  .form-row>*{min-width:min(220px,100%)}
  .modal{width:min(680px,100%);max-height:calc(100dvh - var(--safe-top) - var(--safe-bottom) - 24px)}
  .modal header{position:sticky;top:0;z-index:2;background:#fff}
  .modal footer{position:sticky;bottom:0;z-index:2;padding-bottom:max(14px,var(--safe-bottom));background:#fff}
  .modal footer .btn{min-height:44px}
  .confirm-dialog{max-height:calc(100dvh - 24px);overflow:auto}
  .upload-zone{min-height:150px;padding:22px var(--mobile-gutter)}
  .material-toolbar{align-items:stretch;flex-wrap:wrap}
  .material-toolbar .search{flex:1 1 100%;min-width:0}
  .material-toolbar select,.material-toolbar .btn{flex:1 1 160px}
  .material-row{display:grid;grid-template-columns:auto minmax(0,1fr)}
  .material-row .row-actions{grid-column:1/-1;width:100%;justify-content:flex-end;border-top:1px solid #edf0f3;padding-top:10px}
  .project-card footer{gap:10px;align-items:stretch;flex-direction:column}
  .project-card footer>div{justify-content:flex-start}
  .project-card footer .enter{flex:1 1 150px}
  .report-layout{display:flex;flex-direction:column}
  .report-preview{order:1}
  .report-side{order:2;display:block}
  .report-head-actions .btn{flex:1 1 170px;justify-content:center;min-height:44px}
  .report-export-primary{flex:1 1 100%;min-height:46px}
  .snapshots>div:not(.section-title){grid-template-columns:48px minmax(0,1fr) 56px;gap:8px}
  .snapshots>div:not(.section-title) small{grid-column:2/-1}
  .admin-shell{min-width:0}
  .admin-nav{position:sticky;top:calc(58px + var(--safe-top));z-index:12;margin-right:calc(-1 * max(var(--mobile-gutter),var(--safe-right)));margin-left:calc(-1 * max(var(--mobile-gutter),var(--safe-left)));padding-right:max(var(--mobile-gutter),var(--safe-right));padding-left:max(var(--mobile-gutter),var(--safe-left));background:var(--bg)}
  .admin-split{display:flex;flex-direction:column}
  .admin-split .rule-editor{order:-1}
}

@media(max-width:620px){
  :root{--touch-target:46px}
  .content{padding-top:14px}
  .panel,.form-panel{border-radius:12px}
  .page-head{margin-bottom:14px}
  .page-head h1{line-height:1.18}
  .eyebrow{font-size:9px}
  .page-toolbar{padding:9px}
  .page-toolbar .btn,.page-toolbar a.btn{flex-basis:calc(50% - 5px);padding-right:9px;padding-left:9px;font-size:11px}
  .tabs{margin-right:calc(-1 * max(var(--mobile-gutter),var(--safe-right)));margin-left:calc(-1 * max(var(--mobile-gutter),var(--safe-left)));padding-right:max(var(--mobile-gutter),var(--safe-right));padding-left:max(var(--mobile-gutter),var(--safe-left))}
  .tabs a{flex:0 0 auto;padding:0 14px}
  .modal-backdrop{align-items:flex-end;padding-right:0;padding-bottom:0;padding-left:0}
  .modal{width:100%;max-height:calc(94dvh - var(--safe-top));border-radius:18px 18px 0 0}
  .modal-body{padding-right:var(--mobile-gutter);padding-left:var(--mobile-gutter)}
  .modal footer{display:grid;grid-template-columns:1fr 1fr;gap:10px}
  .confirm-backdrop{align-items:flex-end;padding:0}
  .confirm-dialog{width:100%;border-radius:18px 18px 0 0;padding-bottom:max(18px,var(--safe-bottom))}
  .responsive-card-table{overflow:visible;border:0;background:transparent}
  .responsive-card-table::after{display:none}
  .responsive-card-table table,.responsive-card-table tbody,.responsive-card-table tr,.responsive-card-table td{display:block;width:100%;min-width:0}
  .responsive-card-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}
  .responsive-card-table tbody{display:grid;gap:12px}
  .responsive-card-table tr{padding:8px 12px;border:1px solid #e2e7ec;border-radius:12px;background:#fff;box-shadow:0 4px 14px rgba(20,42,66,.04)}
  .responsive-card-table td{display:grid;grid-template-columns:minmax(92px,35%) minmax(0,1fr);align-items:start;gap:10px;min-height:40px;padding:9px 0;border:0;border-bottom:1px dashed #e7ebef;text-align:left;overflow-wrap:anywhere}
  .responsive-card-table td:last-child{border-bottom:0}
  .responsive-card-table td::before{content:attr(data-label);color:#778392;font-size:11px;font-weight:600}
  .responsive-card-table td[colspan]{display:block;text-align:center}
  .responsive-card-table td[colspan]::before{display:none}
  .responsive-card-table td button,.responsive-card-table td .btn{margin:2px;min-height:40px}
  .responsive-card-table td input:not([type="checkbox"]):not([type="radio"]),.responsive-card-table td select,.responsive-card-table td textarea{width:100%}
  .method-flow{grid-template-columns:1fr}
  .method-stage{min-height:0}
  .metric-grid,.project-grid,.report-side,.finance-kpi-bar{grid-template-columns:1fr}
  .filterbar{gap:4px}
  .filterbar span{display:none}
  .filterbar button,.filterbar select{flex:0 0 auto}
  .library-tabs button{flex:0 0 auto;white-space:nowrap}
  .material-row{padding:14px}
  .material-row .grow>div{align-items:flex-start;flex-wrap:wrap}
  .material-row .row-actions>*{flex:1 1 44px}
  .upload-zone span{line-height:1.6}
  .report-preview{min-height:0}
  .report-preview iframe{height:68dvh;min-height:440px}
  .snapshots>div:not(.section-title){display:grid;grid-template-columns:44px minmax(0,1fr) 50px}
  .snapshots>div:not(.section-title) small{grid-column:2/-1;max-width:100%;overflow-wrap:anywhere}
  .canvas-board.bmc{display:flex;min-width:0;overflow:visible;flex-direction:column}
  .canvas-board.bmc>*{width:100%;min-height:180px}
  .module-form:has(.canvas-board){overflow:visible}
  .strategy-cross-grid{min-width:680px}
  .actions-chart,.matrix-chart,.chart{min-height:400px}
  .ge-size-controls{grid-template-columns:1fr}
  .ge-chart-foot{display:grid;grid-template-columns:1fr 1fr}
  .ge-result-title,.ge-advice-head{align-items:flex-start;flex-wrap:wrap}
  .finance-chart-hint{right:6px;bottom:6px}
}

@media(max-width:420px){
  .topbar{padding-right:max(8px,var(--safe-right));padding-left:max(8px,var(--safe-left))}
  .top-actions>.icon-button{display:none}
  .picker-button b{max-width:42vw}
  .page-toolbar .btn,.page-toolbar a.btn{flex-basis:100%}
  .section-title-actions{width:100%;margin-left:0;justify-content:flex-start}
  .section-title-actions .btn,
  .section-title-actions a.btn{flex:1 1 auto;justify-content:center}
  .project-card footer>div>*{flex:1 1 44px}
  .project-card footer>div .enter{flex-basis:100%}
  .responsive-card-table td{grid-template-columns:1fr;gap:4px}
  .responsive-card-table td::before{font-size:10px}
  .ge-chart-foot{grid-template-columns:1fr}
  .finance-kpi-bar{grid-template-columns:1fr}
}

@media(max-height:560px) and (orientation:landscape){
  .topbar{height:52px}
  .sidebar .brand{height:64px;padding-top:10px;padding-bottom:8px}
  .modal{max-height:calc(100dvh - 8px)}
  .modal-backdrop{padding-top:4px}
  .report-preview iframe{height:78dvh}
  .chart,.matrix-chart,.actions-chart{min-height:330px}
}

@media(prefers-reduced-motion:reduce){
  *,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}

/* Standard pages */
.mini-table th:first-child,.mini-table td:first-child{position:sticky;left:0;z-index:1;background:#fff}
.mini-table th:first-child{z-index:2;background:#f5f7f9}
.library-tabs button{
  display:inline-flex;
  align-items:center;
  gap:8px;
  border:1px solid #dce5ee;
  background:#fff;
  color:#5b6b7e;
  font-size:12px;
  font-weight:600;
}
.library-tabs button.active{
  border-color:#142f50;
  background:#142f50;
  color:#fff;
}
.library-tabs button em{
  min-width:18px;
  padding:1px 6px;
  border-radius:999px;
  background:#eef3f8;
  color:#315b7c;
  font-size:10px;
  font-style:normal;
  font-variant-numeric:tabular-nums;
}
.library-tabs button.active em{background:rgba(255,255,255,.16);color:#fff}
.material-row .grow{min-width:0;max-width:100%;overflow-wrap:anywhere}
.project-card header>button,.project-card footer button,.project-card footer a,.material-row .row-actions>*{display:inline-grid;place-items:center}
.project-card header>button:focus-visible,.project-card footer button:focus-visible,.project-card footer a:focus-visible,.material-row .row-actions>*:focus-visible{outline:3px solid rgba(45,112,162,.24);outline-offset:2px}
.report-preview iframe{width:100%;border:0;background:#fff}

@media(max-width:900px){
  .questionnaire-summary{padding:18px 18px 16px}
  .questionnaire-summary-main{flex-wrap:wrap}
  .questionnaire-summary-main>.btn{width:100%;justify-content:center}
  .questionnaire-embed{padding:14px}
  .questionnaire-panel>.section-title,
  .questionnaire-panel .q-body{padding-left:18px;padding-right:18px}
  .questionnaire-panel .check-row{gap:8px}
  .new-project-form>.page-toolbar.bottom{position:sticky;z-index:10;bottom:max(6px,var(--safe-bottom));box-shadow:0 10px 30px rgba(16,37,61,.16)}
  .steps{max-width:100%;overflow-x:auto;padding-bottom:8px;scroll-snap-type:x mandatory}
  .steps>*{flex:0 0 auto;scroll-snap-align:start}
}

@media(max-width:620px){
  .login-panel{min-height:100dvh;padding:max(20px,var(--safe-top)) max(var(--mobile-gutter),var(--safe-right)) max(20px,var(--safe-bottom)) max(var(--mobile-gutter),var(--safe-left))}
  .login-card{width:100%;padding:clamp(22px,7vw,34px)}
  .login-card input{font-size:16px}
  .login-card .form-row{align-items:flex-start;flex-direction:column}
  .login-card .form-row>*{min-width:0}
  .project-grid{gap:12px}
  .project-card header{align-items:flex-start}
  .project-card header>div{min-width:0}
  .project-card header h2,.project-card>p,.project-card-desc,.project-card-company{overflow-wrap:anywhere}
  .project-card header>button{flex:0 0 46px}
  .project-card footer>div{display:grid;grid-template-columns:repeat(4,minmax(46px,1fr));width:100%}
  .project-card footer>div .enter{grid-column:1/-1}
  .new-project-card{min-height:150px}
  .questionnaire-workbench{border-radius:14px}
  .questionnaire-summary{padding:16px}
  .questionnaire-embed{padding:12px}
  .questionnaire-panel>.section-title,
  .questionnaire-panel .q-body{padding:16px}
  .questionnaire-panel .form-grid{gap:16px}
  .questionnaire-panel input,.questionnaire-panel select,.questionnaire-panel textarea{font-size:16px}
  .questionnaire-panel .mini-table-wrap{margin:0}
  .mini-table-wrap{margin-right:-4px;margin-left:-4px}
  .mini-table{min-width:620px}
  .mini-table input{min-width:120px}
  .material-row .material-icon{width:42px;height:42px}
  .material-row .row-actions{display:grid;grid-template-columns:repeat(4,1fr)}
  .report-preview .panel-head{align-items:flex-start;flex-direction:column}
  .report-preview .panel-head>div:last-child{display:flex;width:auto}
  .report-preview .panel-head button{min-height:44px}
}

/* Strategy modules */
@media(max-width:900px){
  .five-look-grid{grid-template-columns:1fr 1fr}
  .look-card footer{align-items:stretch;flex-wrap:wrap}
  .look-card footer>*{flex:1 1 130px;min-height:44px}
  .look-card footer .help-q{flex:0 0 16px;min-width:16px;min-height:16px;width:16px;height:16px}
  .benchmark-top{grid-template-columns:minmax(0,1fr) minmax(150px,.45fr) 46px}
  .strategy-cross-wrap,.segment-panel{overflow:hidden}
  .strategy-cross-scroll{overflow:auto}
  #segment-table{max-height:min(68dvh,720px)}
  .segment-matrix th:first-child,.segment-matrix td:first-child{left:0}
  .segment-cell button{min-width:42px;min-height:42px}
  .kano-source-fields{grid-template-columns:1fr}
  .kano-curve-layout{overflow-x:auto}
  .kano-curve svg{min-width:620px}
  .actions-method-strip{overflow-x:auto}
  .actions-method-strip>*{flex:0 0 auto}
  .actions-factor-setup,.actions-path-studio{grid-template-columns:1fr}
  .path-toolbar,.path-draw-group,.path-template-group,.path-tools{flex-wrap:wrap}
  .path-toolbar .btn,.path-draw-group .btn,.path-template-group .btn,.path-tools .btn{min-height:44px}
  .factor-core{align-items:flex-start}
  .action-list article,.actions-items-list article{min-width:0}
  .flow-loop-steps,.canvas-lane-guide{overflow-x:auto;justify-content:flex-start}
  .flow-loop-steps>* ,.canvas-lane-guide>*{flex:0 0 auto}
  .flow-benchmark-search{align-items:stretch;flex-wrap:wrap}
  .flow-benchmark-search input{flex:1 1 280px}
  .business-model-case header,.business-model-case footer{align-items:flex-start;flex-wrap:wrap}
  .business-model-case-grid{grid-template-columns:1fr 1fr}
  .okr-workbench,.okr-layout{grid-template-columns:1fr}
  .okr-map-panel{position:static}
  .okr-map-toolbar{flex-wrap:wrap}
  .kr-owner-grid{grid-template-columns:1fr}
}

@media(max-width:620px){
  .five-look-grid{grid-template-columns:1fr}
  .look-card{min-width:0}
  .look-card footer>*{flex-basis:calc(50% - 5px)}
  .look-card footer select{width:100%}
  .benchmark-top{grid-template-columns:1fr 46px}
  .benchmark-top label:nth-child(2){grid-column:1}
  .benchmark-remove{grid-column:2;grid-row:1/3;min-width:46px;min-height:46px}
  .benchmark-desc textarea{min-height:110px}
  .swot-grid{grid-template-columns:1fr}
  .swot-card header{align-items:flex-start;flex-wrap:wrap}
  .swot-card header>button{min-width:44px;min-height:44px}
  .strategy-cross-grid{font-size:12px}
  .segment-panel{padding:14px}
  #segment-table{margin-right:-6px;margin-left:-6px}
  .segment-matrix{font-size:11px}
  .segment-matrix th,.segment-matrix td{padding:6px}
  .segment-cell{grid-template-columns:minmax(74px,1fr) 42px 42px}
  .kano-attribute-section,.kano-curve,.kano-distribution{padding:14px}
  .kano-curve svg{min-width:560px}
  .kano-live-legend{grid-template-columns:1fr}
  .actions-workbench>.panel{padding:14px}
  .actions-title-side{width:100%}
  .factor-core{grid-template-columns:auto minmax(0,1fr) 44px}
  .factor-scores{grid-template-columns:1fr auto 1fr}
  .actions-path-toolbar,.path-toolbar{align-items:stretch;flex-direction:column}
  .path-draw-group,.path-template-group,.path-tools{display:grid;grid-template-columns:1fr 1fr}
  .path-draw-group>span,.path-template-group>span{grid-column:1/-1}
  .path-node-editor label{grid-template-columns:auto minmax(0,1fr) 44px}
  .path-node-editor label>span{grid-column:2}
  .path-node-editor label>input{grid-column:2}
  .action-list article,.actions-items-list article{grid-template-columns:auto minmax(0,1fr) 44px;padding:12px}
  .action-list article>.grow,.actions-items-list article>.grow{grid-column:1/-1}
  .action-list .form-row,.actions-items-list .form-row{display:grid;grid-template-columns:1fr}
  .config-chain{overflow-x:auto}
  .config-chain>*{flex:0 0 auto}
  .config-grid,.config-executive-grid,.flow-value-grid{grid-template-columns:1fr}
  .config-card header{align-items:flex-start;flex-wrap:wrap}
  .config-card-question{width:100%}
  .flow-intro,.config-intro{padding:16px}
  .flow-canvas-section{padding:14px}
  .canvas-lane-guide{display:none}
  .business-model-case-grid{grid-template-columns:1fr}
  .business-model-case header .case-match{width:100%}
  .flow-benchmark-search input,.flow-benchmark-search .btn{flex-basis:100%}
  .flow-sankey-panel .chart,#sankey-chart{min-height:440px}
  .okr-hero,.okr-panel,.okr-map-panel{padding:14px}
  .okr-hero{grid-template-columns:1fr}
  .kr-card{padding:14px}
  .kr-main,.kr-owner-grid{grid-template-columns:1fr}
  .okr-map-toolbar>*{flex:1 1 44px}
  .okr-mindmap-viewport{min-height:480px}
  .finance-core-fields input,.finance-context-fields input,.finance-statement-grid input{font-size:16px}
}

/* GE matrix mobile workspace */
@media(max-width:900px){
  .ge-page-status{width:100%;justify-content:flex-start}
  .ge-section{scroll-margin-top:72px}
  .ge-indicator-axis>header{align-items:flex-start;flex-wrap:wrap}
  .ge-indicator-axis>header>div{flex:1 1 220px}
  .ge-group-axis-select{flex:1 1 190px}
  .ge-group-axis-select select{width:100%;min-height:44px}
  .ge-group-delete{min-width:44px;min-height:44px}
  .ge-score-table{max-height:72dvh}
  .ge-chart-legend-row{align-items:flex-start;flex-direction:column}
  .ge-chart-legend-row .legend{max-width:100%;justify-content:flex-start}
  .legend button{min-height:40px;padding:7px 10px}
  .ge-result-stack .summary-score{grid-template-columns:1fr 1fr}
}

@media(max-width:620px){
  .ge-section{padding:14px}
  .ge-indicator-axis>header>div{flex-basis:100%}
  .ge-indicator-axis>header strong{margin-left:auto}
  .ge-indicator-columns{display:none}
  .ge-indicator-item{grid-template-columns:minmax(0,1fr) 76px 66px 44px;padding:8px}
  .ge-indicator-item>input:first-child{grid-column:1/-1}
  .ge-indicator-item>button{width:44px;height:44px}
  .ge-inline-add{min-height:44px}
  .ge-axis-weight-summary{align-items:stretch;flex-direction:column}
  .ge-source-chip{width:100%;white-space:normal}
  .ge-score-toolbar{flex-wrap:wrap;align-items:flex-start}
  .ge-score-actions .btn{min-height:44px}
  .ge-score-hint{white-space:normal}
  .ge-score-table{margin-right:-6px;margin-left:-6px;max-height:68dvh;border-radius:8px}
  .ge-score-grid th,.ge-score-grid td{height:48px;padding:5px 4px}
  .ge-score-grid thead tr:first-child th{height:76px}
  .ge-fixed-head.category,.ge-axis-cell{width:72px;min-width:72px;max-width:72px}
  .ge-fixed-head.indicator,.ge-indicator-name{left:72px;width:112px;min-width:112px;max-width:112px}
  .ge-fixed-head.weight,.ge-weight-cell{left:184px;width:50px;min-width:50px;max-width:50px}
  .ge-axis-cell span{font-size:10px}.ge-axis-cell small{font-size:8px}
  .ge-indicator-name,.ge-weight-cell{font-size:10px}
  .ge-business-head{width:136px;min-width:136px}
  .score-cell,.weighted-cell,.total-cell{width:62px;min-width:62px}
  .score-cell input{width:52px;min-height:40px;font-size:16px}
  .ge-result-controls{padding:12px}
  .ge-size-controls{gap:12px}
  .ge-chart-toggle{width:100%;min-height:44px;justify-content:center}
  .ge-chart-legend-row .legend{display:grid;grid-template-columns:1fr 1fr;width:100%}
  .legend button{justify-content:flex-start;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
  .matrix-chart-panel{padding:8px}
  .ge-result-stack .matrix-chart{height:480px;min-height:480px}
  .ge-result-stack .summary-score{grid-template-columns:1fr 1fr}
  .ge-result-stack .ge-quadrant-stats{grid-template-columns:1fr 1fr}
  .matrix-summary{padding:14px}
  .ge-point-list>div{grid-template-columns:minmax(0,1fr) auto}
  .ge-point-list em{grid-column:2}
}

@media(max-width:360px){
  .ge-fixed-head.category,.ge-axis-cell{width:64px;min-width:64px;max-width:64px}
  .ge-fixed-head.indicator,.ge-indicator-name{left:64px;width:96px;min-width:96px;max-width:96px}
  .ge-fixed-head.weight,.ge-weight-cell{left:160px;width:46px;min-width:46px;max-width:46px}
  .ge-result-stack .summary-score,.ge-result-stack .ge-quadrant-stats,.ge-chart-legend-row .legend{grid-template-columns:1fr}
}

/* Administration and material approval */
.sink-state{display:inline-flex;align-items:center;justify-content:center;min-height:34px;padding:5px 8px;border-radius:999px;background:#f2f5f8;color:#66768a;font-size:10px;white-space:nowrap}
.sink-review-panel{margin-bottom:16px}
.sink-review-panel .section-title{align-items:center}
.sink-pending-chip{
  display:inline-flex;
  align-items:center;
  gap:5px;
  flex:none;
  width:auto;
  height:auto;
  min-height:28px;
  margin:0 0 0 auto;
  padding:4px 12px;
  border-radius:999px;
  background:#f4efe3;
  color:#7a6230;
  font-size:12px;
  font-style:normal;
  line-height:1;
  white-space:nowrap;
}
.sink-pending-chip>b{
  display:inline-grid;
  place-items:center;
  min-width:18px;
  height:18px;
  padding:0 5px;
  border-radius:999px;
  background:#fff;
  color:#8a6a28;
  font-size:12px;
  font-variant-numeric:tabular-nums;
}
.permission-table input{width:20px;height:20px}

@media(max-width:900px){
  .admin-body{min-width:0}
  .admin-content{min-width:0;width:100%}
  .admin-page-toolbar{position:static}
  .admin-nav a{flex:0 0 auto;min-height:44px;padding:0 14px}
  .admin-content>.panel,.admin-content>.two-column,.admin-content>.admin-split,.admin-content>.rule-workbench{max-width:100%}
  .admin-content input,.admin-content select,.admin-content textarea{max-width:100%}
  .permission-table{min-width:650px}
  .permission-table th:first-child,.permission-table td:first-child{position:sticky;left:0;z-index:2;background:#fff}
  .permission-table thead th:first-child{z-index:3;background:#f5f7f9}
  .rule-workbench{grid-template-columns:1fr}
  .rule-list-tools input,.rule-list-tools select{flex-basis:160px}
  .rule-list{max-height:280px}
  .rule-editor{padding:18px 16px 20px}
  .access-workbench{grid-template-columns:1fr;min-height:0}
  .access-account-list{max-height:220px;flex-direction:row;overflow-x:auto}
  .access-account{min-width:188px;flex:0 0 auto}
  .access-data-stack{grid-template-columns:1fr}
  .indicator-admin-row{grid-template-columns:minmax(0,1fr) 90px 44px}
  .indicator-admin-row button{min-width:44px;min-height:44px}
}

@media(max-width:620px){
  .admin-shell>.page-head{margin-bottom:8px}
  .admin-page-toolbar .btn{flex-basis:100%}
  .admin-content>.panel,.admin-content>.form-panel{padding:14px}
  .admin-content .two-column{grid-template-columns:1fr}
  .admin-content .summary-score{grid-template-columns:1fr 1fr}
  .admin-content .list-head{align-items:stretch;flex-direction:column}
  .admin-content .list-head input{width:100%;font-size:16px}
  .rule-row{min-height:58px}
  .rule-editor{padding:14px}
  .rule-editor textarea{min-height:45dvh;font-size:16px}
  .help-tip-filters{align-items:stretch;display:grid;grid-template-columns:1fr}
  .help-tip-filters input,.help-tip-filters select{width:100%;font-size:16px}
  .indicator-admin-row{grid-template-columns:minmax(0,1fr) 78px 44px}
  .indicator-admin-block .list-head .btn{width:100%}
  .sink-review-panel .section-title{align-items:flex-start;flex-wrap:wrap}
  .sink-pending-chip{margin:0 0 0 auto}
  .qr-result img,.modal img[alt*="二维码"]{width:min(220px,70vw);height:auto}
}
.qr-result{display:grid;justify-items:center;gap:10px;text-align:center}
.qr-result p{margin:0;word-break:break-all;color:#4b5d72;font-size:12px;line-height:1.5}
.admin-content .row-actions{display:flex;gap:6px;flex-wrap:wrap;align-items:center}
.admin-content .row-actions .danger-text{color:#a64343;font-weight:600}

/* Mobile visual redesign V3 */
.sidebar-close{display:none}

@media(max-width:900px){
  body{
    background:
      radial-gradient(circle at 100% 0,rgba(42,101,150,.08),transparent 34%),
      linear-gradient(180deg,#f4f7fa 0,#eef3f7 100%);
  }
  body.sidebar-open{overflow:hidden}
  body.sidebar-open:not(.modal-open){touch-action:auto}
  .sidebar{
    z-index:60;
    width:min(86vw,336px);
    max-width:calc(100vw - 42px);
    overflow:hidden;
    padding-bottom:max(10px,var(--safe-bottom));
    border-right:1px solid rgba(255,255,255,.08);
    background:
      radial-gradient(circle at 20% 0,rgba(53,111,159,.2),transparent 30%),
      linear-gradient(180deg,#07182e 0%,#0a1d36 58%,#08172c 100%);
    box-shadow:none;
    touch-action:pan-y;
  }
  .sidebar.open{box-shadow:24px 0 60px rgba(5,17,33,.42)}
  .sidebar-backdrop{
    z-index:50;
    background:rgba(7,17,31,.58);
    backdrop-filter:blur(3px);
    -webkit-backdrop-filter:blur(3px);
  }
  .sidebar .brand{
    flex:0 0 auto;
    height:90px;
    padding:17px 54px 13px 18px;
  }
  .sidebar .brand-logo{width:68px;height:50px}
  .sidebar .brand b{font-size:16px;letter-spacing:.2em}
  .sidebar .brand small{color:#7f90a6}
  .sidebar-close{
    position:absolute;
    top:calc(19px + var(--safe-top));
    right:13px;
    z-index:2;
    display:grid;
    width:42px;
    height:42px;
    place-items:center;
    border:1px solid rgba(255,255,255,.1);
    border-radius:12px;
    background:rgba(255,255,255,.06);
    color:#dbe6f1;
    font-size:20px;
  }
  .sidebar .brand-rule{flex:0 0 auto;margin:0 18px;background:linear-gradient(90deg,rgba(210,172,83,.45),rgba(74,106,140,.18),transparent)}
  .sidebar .nav{
    flex:1 1 auto;
    min-height:0;
    overflow-x:hidden;
    overflow-y:auto;
    padding:13px 12px 30px;
    overscroll-behavior:contain;
    -webkit-overflow-scrolling:touch;
    touch-action:pan-y;
    scrollbar-width:thin;
    scrollbar-color:rgba(255,255,255,.18) transparent;
  }
  .sidebar .nav>a,.sidebar .nav summary{
    position:relative;
    min-height:48px;
    margin:3px 0;
    padding:12px 13px;
    border:1px solid transparent;
    border-radius:11px;
    color:#aebdd0;
    font-size:14px;
    pointer-events:auto;
    touch-action:manipulation;
  }
  .sidebar .nav>a i:first-child,.sidebar .nav summary i:first-child{color:#7890aa;font-size:18px}
  .sidebar .nav>a.active,.sidebar .nav summary.active{
    border-color:rgba(210,172,83,.2);
    background:linear-gradient(100deg,rgba(205,162,64,.16),rgba(255,255,255,.055));
    color:#f2d584;
    box-shadow:inset 3px 0 0 #c99e42;
  }
  .sidebar .nav>a.active i:first-child,.sidebar .nav summary.active i:first-child{color:#e3be65}
  .sidebar .nav details{margin:2px 0 7px}
  .sidebar .nav details>a{
    position:relative;
    display:flex!important;
    align-items:center;
    min-height:44px;
    margin:2px 5px 2px 22px;
    padding:9px 13px 9px 25px;
    border:1px solid transparent;
    border-radius:9px;
    color:#8799af;
    font-size:13px;
    pointer-events:auto;
    touch-action:manipulation;
  }
  .sidebar .nav details>a::before{
    content:"";
    position:absolute;
    left:9px;
    width:5px;
    height:5px;
    border-radius:50%;
    background:#526981;
  }
  .sidebar .nav details>a.active{
    border-color:rgba(92,144,184,.18);
    background:rgba(55,104,146,.16);
    color:#e5edf5;
  }
  .sidebar .nav details>a.active::before{background:#e0b75b;box-shadow:0 0 0 4px rgba(224,183,91,.12)}
  .sidebar .admin-entry{
    flex:0 0 auto;
    min-height:48px;
    margin:7px 12px;
    border:1px solid rgba(255,255,255,.08);
    border-radius:11px;
    background:rgba(255,255,255,.04);
  }
  .sidebar .sidebar-foot{display:none}
  .topbar{
    position:sticky;
    top:0;
    z-index:24;
    border-bottom:1px solid rgba(207,217,226,.85);
    background:rgba(250,252,253,.9);
    box-shadow:0 7px 24px rgba(25,49,74,.06);
    backdrop-filter:blur(16px);
    -webkit-backdrop-filter:blur(16px);
  }
  .menu-toggle{
    border:1px solid #dce4eb;
    border-radius:12px;
    background:#fff;
    color:#173d61;
    box-shadow:0 4px 12px rgba(28,58,87,.08);
  }
  .picker-button{border-radius:9px}
  .user-button .avatar{box-shadow:0 5px 14px rgba(27,67,101,.18)}
  .content{background:transparent}
  .panel,.form-panel{
    border-color:rgba(216,225,233,.95);
    background:rgba(255,255,255,.96);
    box-shadow:0 9px 28px rgba(23,48,75,.055);
  }
  .page-head:not(.dashboard-hero){
    padding:6px 2px 2px;
  }
  .page-head:not(.dashboard-hero) h1{
    color:#112f4c;
    letter-spacing:-.03em;
  }
  .page-head:not(.dashboard-hero) p{color:#768597}
  .dashboard-hero{
    position:relative;
    overflow:hidden;
    margin:0 0 14px;
    padding:20px;
    border:1px solid rgba(255,255,255,.15);
    border-radius:18px;
    background:
      radial-gradient(circle at 92% 20%,rgba(225,187,92,.25),transparent 27%),
      linear-gradient(135deg,#0d2945,#174a70);
    box-shadow:0 14px 34px rgba(16,49,77,.2);
    color:#fff;
  }
  .dashboard-hero::after{
    content:"";
    position:absolute;
    right:-35px;
    bottom:-75px;
    width:190px;
    height:190px;
    border:1px solid rgba(255,255,255,.1);
    border-radius:50%;
    box-shadow:0 0 0 28px rgba(255,255,255,.025),0 0 0 58px rgba(255,255,255,.018);
    pointer-events:none;
  }
  .dashboard-hero>div{position:relative;z-index:1}
  .dashboard-hero .eyebrow{color:#e2bf68}
  .dashboard-hero h1{margin:4px 0;color:#fff;font-size:28px}
  .dashboard-hero p{color:#c2d1df}
  .dashboard-hero .date-chip{border-color:rgba(255,255,255,.16);background:rgba(255,255,255,.09);color:#dce8f2}
  .dashboard-hero .btn.primary{border-color:#d7ae50;background:#d0a646;color:#102c45;box-shadow:none}
  .method-overview{
    padding:16px;
    border-radius:18px;
    box-shadow:0 12px 32px rgba(23,48,75,.07);
  }
  .method-overview .panel-head{margin-bottom:13px;padding-bottom:12px}
  .method-overview .panel-head h2{color:#153551;font-size:18px}
  .method-flow{gap:10px}
  .method-stage{
    position:relative;
    min-height:0;
    overflow:hidden;
    padding:0;
    border:1px solid #e1e8ee;
    border-top:0;
    border-radius:13px;
    background:linear-gradient(155deg,#fff,#f7fafc);
    box-shadow:0 5px 16px rgba(22,49,75,.045);
  }
  .method-stage::before{
    content:attr(data-step);
    position:absolute;
    top:9px;
    right:11px;
    color:#a8b5c1;
    font-size:9px;
    font-weight:700;
    letter-spacing:.12em;
  }
  .method-stage header{
    min-height:42px;
    margin:0;
    padding:10px 12px;
    border-top:3px solid #7794ad;
    border-bottom:1px solid #e9eef2;
    background:#f8fafc;
  }
  .method-stage header b{font-size:15px}
  .method-stage.stage-five header{border-top-color:#1e5378}
  .method-stage.stage-three header{border-top-color:#c89b38}
  .method-stage.stage-four header{border-top-color:#2d7d72}
  .method-stage.stage-loop header{border-top-color:#7b5ba5}
  .method-stage.stage-okr header{border-top-color:#316da0}
  .method-stage.stage-finance header{border-top-color:#b66b4e}
  .method-stage>a,.method-stage>.method-locked,.method-stage>div{margin:8px}
  .method-stage>div{gap:6px}
  .method-stage a,.method-stage .method-locked{
    position:relative;
    min-height:58px;
    padding:10px 28px 10px 11px;
    border-color:#e5ebf0;
    border-radius:9px;
    background:#fff;
  }
  .method-stage a::after{
    content:"›";
    position:absolute;
    top:50%;
    right:10px;
    color:#a0adba;
    font-size:19px;
    transform:translateY(-52%);
  }
  .method-stage strong{font-size:12px}
  .method-stage a small,.method-stage .method-locked small{margin-top:3px;font-size:9px}
}

@media(max-width:620px){
  .content{padding:12px 12px max(30px,var(--safe-bottom))}
  .dashboard-hero{padding:18px}
  .dashboard-hero .head-actions{display:grid;grid-template-columns:1fr 1fr}
  .dashboard-hero .date-chip,.dashboard-hero .btn{width:100%;justify-content:center}
  .method-flow{display:grid;grid-template-columns:1fr 1fr;align-items:start}
  .method-stage{height:100%}
  .method-stage.stage-five{grid-column:1/-1}
  .method-stage.stage-three{grid-column:1/-1}
  .method-stage.stage-three>div{grid-template-columns:repeat(3,minmax(0,1fr))}
  .method-stage.stage-three a{min-height:76px;padding-right:10px}
  .method-stage.stage-three a::after{display:none}
  .method-stage.stage-three a small{line-height:1.35}
  .method-stage.stage-loop strong{font-size:11px}
  .metric-grid{grid-template-columns:1fr 1fr;gap:10px}
  .metric-card,.metric-card.accent{
    min-height:108px;
    padding:14px;
    border-radius:14px;
  }
  .metric-card>div{min-width:0}
  .metric-card strong{font-size:25px}
  .metric-card small{display:none}
  .metric-card .ring{width:54px;height:54px}
  .dashboard-grid{gap:12px}
  .dashboard-grid>.panel{padding:15px}
  .module-progress{gap:8px}
  .module-progress>div{min-height:54px}
}

@media(max-width:350px){
  .method-flow{grid-template-columns:1fr}
  .method-stage.stage-three{grid-column:auto}
  .method-stage.stage-three>div{grid-template-columns:1fr}
  .method-stage.stage-three a{min-height:58px}
  .method-stage.stage-three a::after{display:block}
  .dashboard-hero .head-actions{grid-template-columns:1fr}
}

/* Invite register: identity-first application, OTP stays inline */
.invite-page .login-visual{display:flex;flex-direction:column;justify-content:space-between;gap:36px}
.invite-page .visual-copy span{display:block;color:#d4b46a;letter-spacing:.22em;font-size:11px;font-weight:600}
.invite-page .visual-copy h1{margin:12px 0 14px;font-size:clamp(28px,3.4vw,40px);line-height:1.2;letter-spacing:.04em}
.invite-page .visual-copy p{max-width:360px;color:#9aadc2;font-size:14px;line-height:1.7}
.invite-steps{list-style:none;margin:0;padding:0;display:grid;gap:14px}
.invite-steps li{display:flex;gap:14px;align-items:flex-start}
.invite-steps em{flex:0 0 36px;height:36px;border-radius:10px;display:grid;place-items:center;background:rgba(212,180,106,.12);color:#e6c57a;font-style:normal;font-size:11px;letter-spacing:.08em}
.invite-steps b{display:block;color:#f4f7fb;font-size:14px;margin-bottom:3px}
.invite-steps span{color:#7f93a8;font-size:12px}
.invite-page .login-panel{align-content:center;overflow:auto}
.invite-card{width:min(480px,100%);margin:auto;padding:34px 32px 28px}
.invite-mobile-brand{display:none;align-items:center;gap:10px;margin-bottom:18px;color:#1d2b44;font-weight:700;letter-spacing:.16em}
.invite-mobile-brand img{width:44px;height:34px;object-fit:contain}
.invite-head{margin-bottom:8px}
.invite-head h2{margin:8px 0 0;font-size:26px;letter-spacing:.04em;color:#152033}
.invite-head p{margin:8px 0 0;color:#7a8494;font-size:13px;line-height:1.65}
.invite-block{border-top:1px solid #e7ebf0;padding:16px 0 2px}
.invite-block:first-of-type{border-top:0;padding-top:0}
.invite-block-title{display:block;margin-bottom:2px;color:#b8923d;font-size:11px;font-weight:700;letter-spacing:.16em}
.invite-card label{display:flex;flex-direction:column;gap:7px;margin:12px 0;font-size:12px;font-weight:500;color:#526076}
.invite-card label>span{display:inline-flex;align-items:center;gap:3px;line-height:1.2}
.invite-card label em{color:#c45c4a;font-style:normal;font-weight:700}
.invite-card input,.invite-card textarea{
  width:100%;min-height:44px;padding:11px 13px;border:1px solid #d8dee7;border-radius:10px;
  background:#f7f9fb;color:#1b2433;font-size:15px;line-height:1.5
}
.invite-card textarea{min-height:92px;resize:vertical}
.invite-card input:focus,.invite-card textarea:focus{
  outline:none;border-color:#c5a056;background:#fff;box-shadow:0 0 0 3px rgba(197,160,86,.16)
}
.invite-otp{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:10px;align-items:end;margin:12px 0}
.invite-otp label{margin:0}
.invite-otp #send-code-btn{
  height:44px;min-width:118px;padding:0 14px;border-radius:10px;white-space:nowrap
}
.invite-otp #send-code-btn:disabled{opacity:.62;cursor:not-allowed}
.invite-card .btn.primary.wide{margin-top:8px;min-height:46px;border-radius:11px;letter-spacing:.08em}
.invite-page .login-invite{margin-top:14px;text-align:center;font-size:13px;color:#778197}
.invite-success-backdrop{z-index:80}
.invite-success-dialog{width:min(400px,92vw)}
.invite-success-dialog .confirm-actions .btn{min-width:160px;min-height:44px}
body.invite-success-open{overflow:hidden}
.invite-page .login-invite a{color:#28659a;font-weight:600}
.invite-page .login-brand img{width:78px;height:58px;object-fit:contain;filter:drop-shadow(0 0 7px rgba(255,215,120,.38))}
.invite-apply-note{max-width:280px;color:#4a5568;font-size:12px;line-height:1.55;white-space:pre-wrap;word-break:break-word}
@media(max-width:900px){
  .invite-page{grid-template-columns:1fr}
  .invite-page .login-visual{display:none}
}
@media(max-width:620px){
  .invite-page .login-panel{min-height:auto;align-content:start}
  .invite-card{width:100%;padding:clamp(22px,6vw,30px) clamp(18px,5vw,26px)}
  .invite-otp,.invite-page .login-card .invite-otp{display:grid;grid-template-columns:minmax(0,1fr) auto;flex-direction:row;align-items:end}
  .invite-otp #send-code-btn{width:auto}
  .invite-mobile-brand{display:flex}
}
.ai-source-hint{margin:0 0 14px;padding:8px 12px;border-radius:8px;background:#f4f7fb;color:#4a5d73;font-size:12px;line-height:1.55}
.ai-source-hint i{margin-right:6px;color:#c49335}
.ge-axis-picker{display:flex;flex-wrap:wrap;gap:10px;align-items:end;margin:0 0 12px}
.ge-axis-picker label{display:flex;flex-direction:column;gap:4px;font-size:12px;color:#5b6d80}
.ge-axis-picker select{min-width:180px}
.ge-chart-actions{display:flex;justify-content:flex-end;margin:0 0 8px}
[data-confirm-report].is-confirmed{background:#f4f0e8;color:#7a5a20;border-color:#e2d3ad}
.method-stage header a{color:inherit;text-decoration:none}
.method-stage header a:hover{color:var(--gold,#c49335)}
@media (min-width:901px){
  .kano-curve-layout{max-width:none;width:100%;margin-inline:0}
  .kano-chart-stage{max-width:1008px;width:100%;margin-inline:auto}
  .kano-curve svg.kano-classic{width:100%;max-width:1008px;max-height:none;height:auto}
}
.ge-score-cards{display:none}
@media (max-width:760px){
  .ge-score-table .ge-score-grid{display:none}
  .ge-score-cards{display:grid;gap:12px}
  .ge-score-card{padding:12px;border:1px solid #e1e7ed;border-radius:10px;background:#fff}
  .ge-score-card header{display:flex;gap:8px;align-items:center;margin-bottom:10px}
  .ge-score-card header i{width:10px;height:10px;border-radius:50%}
  .ge-score-card label{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:6px 0;border-top:1px solid #eef2f6;font-size:13px}
  .ge-score-card input{width:72px}
  .ge-score-card footer{display:flex;gap:8px;align-items:center;margin-top:8px;color:#5b6d80;font-size:12px}
  .matrix-chart,.ge-result-stack .matrix-chart{height:min(68vw,420px)!important;min-height:280px!important}
  .chart,.actions-chart,.okr-mindmap{max-width:100%;height:auto}
}
.need-project{text-align:center;padding:48px 24px}
.report-chapter-pick{display:flex;align-items:center;gap:8px;cursor:pointer}
.report-chapter-pick input{margin:0}

/* ============================================================
   Mobile workspace V4 — generic primitives for every page
   Choice chips, fields, toolbars, forms, cards. No page-specific
   widths; layout follows content length and available space.
   ============================================================ */
.field{
  display:flex;
  flex-direction:column;
  gap:8px;
  min-width:0;
}
.field-label{
  display:inline-flex;
  align-items:center;
  gap:4px;
  color:#3d5570;
  font-size:12px;
  font-weight:600;
  line-height:1.4;
}
.form-grid>.field{min-width:0}
.form-grid input:not([type="checkbox"]):not([type="radio"]),
.form-grid select,
.form-grid textarea{
  display:block;
  width:100%;
  max-width:100%;
}

.check,
.check-row .check{
  display:inline-flex;
  flex-direction:row;
  align-items:center;
  gap:8px;
  max-width:100%;
  writing-mode:horizontal-tb;
  text-orientation:mixed;
  white-space:normal;
  word-break:keep-all;
  overflow-wrap:anywhere;
  line-height:1.35;
}
.check>span{min-width:0;flex:1 1 auto}
.check input[type="checkbox"],
.check input[type="radio"],
.check-row input[type="checkbox"],
.check-row input[type="radio"],
.form-grid input[type="checkbox"],
.form-grid input[type="radio"],
.report-chapter-pick input[type="checkbox"],
.login-card input[type="checkbox"]{
  display:inline-block;
  flex:0 0 auto;
  appearance:auto;
  width:1.05em;
  height:1.05em;
  min-width:1.05em;
  min-height:1.05em;
  max-width:none;
  margin:0;
  padding:0;
  border:0;
  background:none;
  box-shadow:none;
  accent-color:#1d4f78;
}

.check-row{
  display:flex;
  flex-wrap:wrap;
  align-items:stretch;
  gap:8px 10px;
  width:100%;
  margin-top:2px;
}
.check-row .check{
  min-height:36px;
  padding:7px 12px;
  border:1px solid #e2eaf2;
  border-radius:999px;
  background:#f7f9fb;
  color:#31445c;
  font-size:12px;
  font-weight:600;
}
.check-row .check:has(input:checked){
  border-color:#c9b07a;
  background:#fff8e8;
  color:#6d5420;
  box-shadow:inset 0 0 0 1px rgba(201,176,122,.25);
}

@media(pointer:coarse){
  .check input[type="checkbox"],
  .check input[type="radio"],
  .check-row input[type="checkbox"],
  .check-row input[type="radio"],
  .form-grid input[type="checkbox"],
  .form-grid input[type="radio"]{
    width:18px;
    height:18px;
    min-width:18px;
    min-height:18px;
  }
}

@media(max-width:900px){
  .form-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px 10px;
  }
  .form-grid>.span-2,
  .form-grid>.field.span-2,
  .form-grid>label.span-2,
  .form-grid>:has(textarea),
  .form-grid>:has(.check-row){
    grid-column:1/-1;
  }
  .form-grid input:not([type="checkbox"]):not([type="radio"]),
  .form-grid select,
  .form-grid textarea,
  .mini-grid input:not([type="checkbox"]):not([type="radio"]),
  .mini-grid select,
  .field input:not([type="checkbox"]):not([type="radio"]),
  .field select,
  .field textarea{
    min-height:44px;
    font-size:16px;
  }
  .form-grid textarea,
  .field textarea{min-height:88px}

  .check-row{
    display:grid;
    grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--choice-min,8.5rem)),1fr));
    width:100%;
    gap:8px;
  }
  .check-row .check{
    width:100%;
    min-height:44px;
    padding:10px 12px;
    border-radius:12px;
    justify-content:flex-start;
    box-shadow:0 1px 0 rgba(20,42,66,.02);
  }
  .check-row[data-choice-size="wide"]{
    grid-template-columns:1fr;
  }
  .check-row[data-choice-size="regular"]{
    grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--choice-min,11rem)),1fr));
  }

  .page-toolbar,
  .matrix-page-toolbar,
  .admin-page-toolbar{
    position:sticky;
    top:calc(58px + var(--safe-top));
    z-index:16;
    gap:8px;
    padding:10px;
    border-color:#d8e1ea;
    border-radius:14px;
    background:rgba(255,255,255,.94);
    box-shadow:0 10px 28px rgba(18,40,66,.08);
    backdrop-filter:blur(14px);
    -webkit-backdrop-filter:blur(14px);
  }
  .page-toolbar .help-q,
  .matrix-page-toolbar .help-q,
  .admin-page-toolbar .help-q{
    width:16px;
    height:16px;
    min-width:16px;
    min-height:16px;
    font-size:10px;
  }
  .page-toolbar .btn,
  .page-toolbar a.btn,
  .matrix-page-toolbar .btn,
  .admin-page-toolbar .btn{
    flex:1 1 calc(50% - 8px);
    min-height:44px;
    justify-content:center;
    border-radius:11px;
  }
  .page-toolbar .btn.primary,
  .page-toolbar a.btn.primary{
    flex:1 1 100%;
    order:8;
    min-height:46px;
    font-weight:700;
  }
  .page-toolbar .toolbar-spacer{display:none}

  .section-title{
    gap:10px;
    padding-bottom:2px;
  }
  .section-title h2{font-size:clamp(16px,4.6vw,20px);line-height:1.35}
  .q-step{
    flex:0 0 auto;
    width:36px;
    height:36px;
    border-radius:12px;
  }
  .questionnaire-panel,
  .questionnaire-workbench{
    border-radius:16px;
    box-shadow:0 12px 32px rgba(18,40,67,.06);
  }
  .questionnaire-summary-main{gap:12px}
  .questionnaire-summary-copy h2{font-size:18px}
  .ai-source-hint{
    padding:10px 12px;
    border-radius:10px;
    font-size:12px;
  }

  .login-card .check,
  .login-card .form-row .check{
    min-height:44px;
    padding:0;
    border:0;
    background:transparent;
    box-shadow:none;
  }
  .report-chapter-pick,
  .chapter.report-chapter-pick{
    min-height:48px;
    padding:10px 12px;
    border:1px solid #e4ebf2;
    border-radius:12px;
    background:#f8fafc;
  }
  .report-chapter-pick:has(input:checked){
    border-color:#c9b07a;
    background:#fff8e8;
  }

  .filterbar{
    gap:6px;
    padding-bottom:2px;
  }
  .filterbar button,
  .filterbar select{
    min-height:40px;
    padding:0 12px;
    border-radius:999px;
  }

  .empty-state{padding:36px 18px}
  .tip-card{align-items:flex-start;gap:12px;padding:14px}
  .document-toolbar,
  .material-toolbar,
  .kano-section-heading,
  .swot-matrix-actions{
    display:flex;
    flex-wrap:wrap;
    gap:8px;
  }
  .document-toolbar .btn,
  .material-toolbar .btn,
  .swot-matrix-actions .btn{
    flex:1 1 140px;
    min-height:44px;
    justify-content:center;
  }
}

@media(max-width:620px){
  .content{padding:12px var(--mobile-gutter) max(28px,var(--safe-bottom))}
  .form-grid{gap:14px 8px}
  .field-label,
  .form-grid>label,
  .form-grid>.field{font-size:12px}
  .check-row .check{font-size:13px}
  .mini-table{min-width:0}
  .mini-table-wrap.responsive-card-table{
    margin:0;
    padding:0;
    border:0;
    background:transparent;
  }
  .mini-table-wrap.responsive-card-table table{min-width:0}
  .mini-table-wrap.responsive-card-table td input{
    min-width:0;
    min-height:40px;
    font-size:16px;
  }
  .page-head.compact h1,
  .page-head h1{font-size:clamp(22px,6.6vw,30px)}
  .tabs a{min-width:auto;padding:0 12px;font-size:13px}
  .look-card textarea,
  .swot-card textarea,
  .kano-card textarea,
  .result-document textarea,
  .config-card textarea,
  .strategy-cell textarea{font-size:16px}
}

@media(max-width:420px){
  .form-grid{grid-template-columns:1fr}
  .check-row[data-choice-size="compact"]{
    grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--choice-min,6.8rem)),1fr));
  }
}

/* Mobile polish V5: help stays inline; module cards, matrix, reports */
.help-inline{
  display:inline-flex;
  align-items:center;
  gap:6px;
  min-width:0;
  max-width:100%;
  vertical-align:middle;
}
.help-inline>.help-q{margin-left:0}
.help-inline>:not(.help-q){min-width:0;flex:1 1 auto}
h1,h2,h3,h4,.field-label,label,.section-title div,.panel-head div,.kr-tasks-head>span{
  text-wrap:pretty;
}
h1 .help-q,h2 .help-q,h3 .help-q,.field-label .help-q,label .help-q,.section-title h2 .help-q{
  display:inline-grid;
  vertical-align:middle;
}

.kano-competitor-card{
  padding:0;
  overflow:hidden;
  background:#fff;
}
.kano-competitor-card header{
  margin:0;
  padding:12px 14px;
  border-bottom:1px solid #e8eef3;
  background:#f6f8fb;
}
.kano-competitor-scores{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:0;
}
.kano-score-chip{
  flex-direction:column;
  align-items:stretch;
  gap:6px;
  min-width:0;
  margin:0;
  padding:10px 8px 12px;
  border-radius:0;
  background:transparent;
  box-shadow:none;
  border-right:1px solid #eef2f6;
}
.kano-score-chip:last-child{border-right:0}
.kano-score-chip span{
  text-align:center;
  font-size:10px;
  letter-spacing:.04em;
}
.kano-score-chip input{
  width:100%;
  min-width:0;
  height:36px;
  padding:0 4px;
  border:1px solid #dce4ec;
  border-radius:8px;
  background:#fff;
  text-align:center;
  font-size:14px;
  font-weight:700;
}

@media(max-width:900px){
  .help-q,
  h1 .help-q,h2 .help-q,.section-title .help-q,.panel-head .help-q,
  .page-toolbar .help-q,.material-toolbar .help-q,.look-card footer .help-q,
  .head-actions .help-q,.report-head-actions .help-q{
    width:16px!important;
    height:16px!important;
    min-width:16px!important;
    min-height:16px!important;
    max-width:16px;
    max-height:16px;
    flex:0 0 16px!important;
    align-self:center;
  }
  .page-toolbar .help-inline,
  .material-toolbar .help-inline,
  .look-card footer .help-inline,
  .section-title .help-inline,
  .head-actions .help-inline{
    flex:1 1 140px;
    min-height:44px;
  }
  .look-card footer .help-q,
  .material-toolbar .help-q,
  .page-toolbar .help-q,
  .section-title>.help-q,
  .head-actions>.help-q{
    flex-basis:16px;
    width:16px;
    min-height:16px;
  }
  .okr-workbench .kr-owner-grid{
    grid-template-columns:1fr;
    gap:12px;
  }
  .okr-workbench .kr-owner-grid input{
    width:100%;
    min-height:44px;
    font-size:16px;
  }
  .segment-matrix{
    min-width:calc(72px + (var(--segment-cols,4) * 112px) + 56px);
  }
  .segment-matrix th:first-child,
  .segment-matrix td:first-child{
    width:72px;
    min-width:68px;
    max-width:80px;
    padding:6px 5px;
    font-size:11px;
    line-height:1.35;
  }
  .segment-matrix th:not(:first-child):not(:last-child),
  .segment-matrix td:not(:first-child):not(:last-child){
    min-width:112px;
    width:112px;
  }
  .segment-matrix th:last-child,
  .segment-matrix td:last-child,
  .segment-matrix .row-total,
  #segment-grand-total{width:56px;min-width:52px;max-width:64px}
  .segment-cell{grid-template-columns:minmax(0,1fr) 32px 32px;gap:4px}
  .segment-cell input{min-width:0;padding:6px 4px;font-size:13px}
  .segment-cell button{min-width:32px;min-height:32px;padding:4px!important}
  .business-loop-chart{min-height:640px}
  .kano-competitor-scores{grid-template-columns:repeat(5,minmax(0,1fr))}
}

@media(max-width:620px){
  .kano-competitor-scores{grid-template-columns:repeat(5,minmax(0,1fr))}
  .kano-score-chip{padding:8px 4px 10px}
  .kano-score-chip span{font-size:9px}
  .segment-panel .section-title .help-q{flex:0 0 16px}
}
