
    :root{
      --bg0:#071126;
      --bg1:#0b1a36;
      --card:#0b1633cc;
      --card2:#0b1633a8;
      --stroke:#1b2c55;
      --text:#eaf0ff;
      --muted:#aab6d6;
      --muted2:#7f8bb0;

      --green:#2ee59d;
      --orange:#f9ba00;
      --red:#ff4d6d;
      --blue:#6aa9ff;
      --chip:#0f2550;
      --shadow: 0 20px 60px rgba(0,0,0,.35);
      --r:18px;
      --r2:14px;
    }
    *, *::before, *::after{box-sizing:border-box}
    html,body{height:100%}
    html{
      overflow-y: scroll;
      overflow-x: hidden;
      -webkit-text-size-adjust: 100%;
    }
    @supports (scrollbar-gutter: stable){
      html{ scrollbar-gutter: stable both-edges; }
    }
    body{
      margin:0;
      font-family: ui-sans-serif, system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, "Apple Color Emoji","Segoe UI Emoji";
      color:var(--text);
      min-width:0;
      overflow-x:hidden;
      background:
        radial-gradient(1000px 600px at 80% 20%, rgba(46,229,157,.18), transparent 55%),
        radial-gradient(900px 520px at 15% 40%, rgba(106,169,255,.14), transparent 55%),
        radial-gradient(900px 520px at 70% 90%, rgba(249,186,0,.10), transparent 60%),
        linear-gradient(180deg, var(--bg0), #050b18 70%);
    }
    img, canvas{max-width:100%}
    .wrap{
      width:100%;
      max-width:1240px;
      margin:0 auto;
      padding:26px 18px 60px;
      min-width:0;
    }

    .dashboard-layout{
      display:grid;
      grid-template-columns:minmax(0, 1fr);
      gap:16px;
      width:100%;
      align-items:start;
      margin-top:18px;
      min-width:0;
    }
    .dashboard-layout > *{min-width:0}
    .main-content{min-width:0}
    .side-content{min-width:0}

    .synapse-panel{
      position:sticky;
      top:16px;
      width:100%;
      max-height:calc(100vh - 32px);
      overflow-y:auto;
      background:rgba(10,20,45,.92);
      border:1px solid rgba(46,78,125,.6);
      border-left:1px solid rgba(255,255,255,0.05);
      border-radius:12px;
      padding:10px 12px;
      z-index:1;
      backdrop-filter: blur(10px);
    }
    .synapse-panel-title{
      font-weight:800;
      font-size:12px;
      margin-bottom:6px;
      opacity:.9;
    }
    .decision-mode-toggle{
      display:flex;
      gap:6px;
      margin-bottom:8px;
    }
    .decision-mode-btn{
      flex:1;
      padding:6px 8px;
      border-radius:10px;
      border:1px solid rgba(46,78,125,.6);
      background:rgba(16,30,54,.6);
      color:rgba(234,240,255,.92);
      cursor:pointer;
      font-size:12px;
      font-weight:700;
    }
    .decision-mode-btn.active{
      background:rgba(46,78,125,.75);
    }

    .exec-brief{
      margin-top:10px;
      border-radius:14px;
      border:1px solid rgba(27,44,85,.60);
      background:rgba(8,18,42,.55);
      padding:10px 10px;
      max-height:260px;
      overflow:auto;
      contain: content;
    }
    .exec-brief-tabs{
      display:flex;
      gap:8px;
      flex-wrap:wrap;
      align-items:center;
      margin-bottom:10px;
    }
    .exec-brief-tab{
      appearance:none;
      border:1px solid rgba(255,255,255,.12);
      background:rgba(0,0,0,.18);
      color:rgba(242,246,255,.92);
      padding:8px 10px;
      border-radius:12px;
      cursor:pointer;
      font-weight:950;
      letter-spacing:.10em;
      text-transform:uppercase;
      font-size:11px;
      min-width:0;
      max-width:100%;
      white-space:nowrap;
      overflow:hidden;
      text-overflow:ellipsis;
    }
    .exec-brief-tab.is-active{
      border-color: rgba(255,255,255,.18);
      background: rgba(255,255,255,.06);
    }
    .exec-brief-section-title{
      margin: 10px 0 6px;
      color: rgba(214,223,244,.72);
      font-size:11px;
      font-weight:950;
      letter-spacing:.12em;
      text-transform:uppercase;
    }
    .exec-brief-text{
      color: rgba(242,246,255,.92);
      font-size:12px;
      line-height:1.5;
      font-weight:700;
      margin:0;
    }
    .exec-brief-kv{
      margin-top:10px;
      display:grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap:10px;
    }
    .exec-brief-kv .kv{
      border-radius:12px;
      border:1px solid rgba(255,255,255,.10);
      background: rgba(255,255,255,.03);
      padding:10px 10px;
      min-width:0;
    }
    .exec-brief-kv .k{
      color: rgba(214,223,244,.72);
      font-size:11px;
      font-weight:950;
      letter-spacing:.10em;
      text-transform:uppercase;
      white-space:nowrap;
      overflow:hidden;
      text-overflow:ellipsis;
    }
    .exec-brief-kv .v{
      margin-top:8px;
      color: rgba(242,246,255,.92);
      font-size:12px;
      font-weight:950;
      font-variant-numeric: tabular-nums;
      overflow:hidden;
      text-overflow:ellipsis;
      white-space:nowrap;
    }
    .exec-brief-decisions{
      margin-top:10px;
      border-radius:12px;
      border:1px solid rgba(255,255,255,.10);
      background: rgba(0,0,0,.12);
      padding:10px 10px;
      color: rgba(242,246,255,.92);
      font-size:12px;
      font-weight:800;
      line-height:1.55;
    }
    .exec-summarybar{
      display:flex;
      justify-content:space-between;
      align-items:center;
      gap:12px;
      border-radius:16px;
      border:1px solid rgba(255,255,255,.10);
      background: rgba(0,0,0,.16);
      box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
      padding:10px 12px;
      margin-bottom:12px;
      min-width:0;
    }
    .exec-summary-left,
    .exec-summary-right{
      display:flex;
      align-items:center;
      gap:10px;
      min-width:0;
    }
    .exec-facility{
      color: rgba(242,246,255,.92);
      font-weight:950;
      font-size:13px;
      letter-spacing:-.01em;
      min-width:0;
      overflow:hidden;
      text-overflow:ellipsis;
      white-space:nowrap;
    }
    .exec-state{
      display:flex;
      align-items:center;
      gap:8px;
      color: rgba(214,223,244,.84);
      font-size:12px;
      font-weight:900;
      white-space:nowrap;
    }
    .exec-sum-pill{
      border:1px solid rgba(255,255,255,.12);
      background: rgba(255,255,255,.05);
      padding:6px 10px;
      border-radius:999px;
      color: rgba(242,246,255,.92);
      font-weight:950;
      font-size:11px;
      letter-spacing:.10em;
      text-transform:uppercase;
      white-space:nowrap;
    }
    .exec-sum-updated{
      color: rgba(214,223,244,.72);
      font-size:12px;
      font-weight:800;
      white-space:nowrap;
    }
    .exec-cards-grid{
      display:grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap:12px;
    }
    .exec-card{
      border-radius:16px;
      border:1px solid rgba(255,255,255,.10);
      background: rgba(0,0,0,.14);
      box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
      padding:12px 12px;
      min-width:0;
      display:flex;
      flex-direction:column;
      gap:10px;
    }
    .exec-card.decision-approved{ border-color: rgba(46,229,157,.24); box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 0 0 1px rgba(46,229,157,.10); }
    .exec-card.decision-escalated{ border-color: rgba(213,22,53,.26); box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 0 0 1px rgba(213,22,53,.12); }
    .exec-card.decision-frozen{ border-color: rgba(213,22,53,.34); box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 0 0 1px rgba(213,22,53,.16); }
    .exec-card.decision-assigned{ border-color: rgba(249,186,0,.22); box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 0 0 1px rgba(249,186,0,.10); }

.decision-owner-picker{
  margin-top: 12px;
  padding: 12px;
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 14px;
  background: rgba(255,255,255,0.03);
  display: none;
}
.decision-owner-picker.is-open{
  display: block;
}
.decision-owner-picker.is-missing{
  border-color: rgba(249,186,0,0.55);
  box-shadow: 0 0 0 1px rgba(249,186,0,0.18) inset;
}
.decision-owner-picker-label{
  font-size: 11px;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  opacity: 0.78;
  margin-bottom: 8px;
}
.decision-owner-options{
  display: flex;
  gap: 8px;
  flex-wrap: wrap;
  margin-bottom: 10px;
}
.decision-owner-option{
  border: 1px solid rgba(255,255,255,0.10);
  background: transparent;
  border-radius: 999px;
  padding: 6px 10px;
  font: inherit;
  cursor: pointer;
  color: inherit;
}
.decision-owner-option.is-selected{
  border-color: rgba(249,186,0,0.55);
  box-shadow: 0 0 0 1px rgba(249,186,0,0.18) inset;
}
.decision-owner-note{
  width: 100%;
  min-height: 36px;
  border-radius: 10px;
  border: 1px solid rgba(255,255,255,0.08);
  background: rgba(255,255,255,0.04);
  color: inherit;
  padding: 10px 12px;
  margin-bottom: 10px;
}
.decision-owner-actions{
  display: flex;
  gap: 8px;
}
.decision-owner-confirm,
.decision-owner-cancel{
  border-radius: 10px;
  padding: 8px 12px;
  border: 1px solid rgba(255,255,255,0.10);
  background: rgba(0,0,0,0.14);
  color: inherit;
  cursor: pointer;
  font: inherit;
}

.decision-assigned-line{
  margin-top: 10px;
  font-size: 12px;
  font-weight: 800;
  color: rgba(242,246,255,.92);
  opacity: .9;
}

.exec-workflow-history-btn{
  margin-top: 8px;
  border: 1px solid rgba(255,255,255,0.08);
  background: transparent;
  border-radius: 10px;
  padding: 7px 10px;
  font: inherit;
  cursor: pointer;
  opacity: 0.88;
  color: inherit;
}

.decision-history-drawer{
  margin-top: 12px;
  padding: 12px;
  border: 1px solid rgba(255,255,255,0.08);
  border-radius: 14px;
  background: rgba(255,255,255,0.03);
  display: none;
}
.decision-history-drawer.is-open{
  display: block;
}
.decision-history-meta{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 10px;
}
.decision-history-stat{
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 10px;
  padding: 8px 10px;
  background: rgba(255,255,255,0.02);
  min-width: 0;
}
.decision-history-stat span{
  display: block;
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  opacity: 0.65;
  margin-bottom: 4px;
}
.decision-history-stat strong{
  font-size: 12px;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  display: block;
}
.decision-history-list{
  display: flex;
  flex-direction: column;
  gap: 8px;
}
.decision-history-item{
  border: 1px solid rgba(255,255,255,0.06);
  border-radius: 10px;
  padding: 10px;
  background: rgba(255,255,255,0.02);
}
.decision-history-row{
  display: flex;
  justify-content: space-between;
  gap: 12px;
  align-items: center;
  margin-bottom: 4px;
}
.decision-history-row span{
  font-size: 11px;
  opacity: 0.68;
  white-space: nowrap;
}
.decision-history-sub{
  font-size: 11px;
  opacity: 0.8;
  margin-bottom: 4px;
}
.decision-history-note{
  font-size: 12px;
  line-height: 1.4;
  opacity: 0.92;
}
.decision-history-empty{
  font-size: 12px;
  opacity: 0.68;
}
    .exec-card.exec-ceo{ box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 0 0 1px rgba(213,22,53,.10); }
    .exec-card.exec-cfo{ box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 0 0 1px rgba(249,186,0,.10); }
    .exec-card.exec-cto{ box-shadow: inset 0 1px 0 rgba(255,255,255,.04), 0 0 0 1px rgba(0,194,255,.10); }

    .exec-top{
      display:flex;
      justify-content:space-between;
      align-items:center;
      gap:10px;
      min-width:0;
    }
    .exec-persona{
      font-weight:950;
      letter-spacing:.14em;
      text-transform:uppercase;
      font-size:11px;
      color: rgba(242,246,255,.92);
      min-width:0;
      overflow:hidden;
      text-overflow:ellipsis;
      white-space:nowrap;
    }
    .exec-pills{display:flex;gap:8px;align-items:center;flex:0 0 auto}
    .exec-pill{
      padding:6px 10px;
      border-radius:999px;
      font-weight:950;
      font-size:11px;
      letter-spacing:.08em;
      text-transform:uppercase;
      border:1px solid rgba(255,255,255,.10);
      background: rgba(0,0,0,.16);
      white-space:nowrap;
    }
    .exec-pill.risk-low{border-color: rgba(0,85,48,.35); background: rgba(0,85,48,.14); color: rgba(242,246,255,.92);}
    .exec-pill.risk-monitor{border-color: rgba(249,186,0,.35); background: rgba(249,186,0,.14); color: rgba(242,246,255,.92);}
    .exec-pill.risk-critical{border-color: rgba(213,22,53,.40); background: rgba(213,22,53,.16); color: rgba(242,246,255,.92);}
    .exec-pill.exec-conf{border-color: rgba(255,255,255,.12); background: rgba(255,255,255,.05); color: rgba(242,246,255,.92);}

    .exec-hero{
      border-radius:14px;
      border:1px solid rgba(255,255,255,.10);
      background: rgba(255,255,255,.03);
      padding:12px 12px;
      min-width:0;
    }
    .exec-title{
      font-size:22px;
      font-weight:950;
      letter-spacing:-.02em;
      line-height:1.05;
    }
    .exec-action{
      margin-top:8px;
      color: rgba(242,246,255,.92);
      font-size:12px;
      line-height:1.35;
      font-weight:900;
    }
    .exec-meta{
      display:grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap:10px;
    }
    .exec-meta .m{
      border-radius:12px;
      border:1px solid rgba(255,255,255,.10);
      background: rgba(0,0,0,.12);
      padding:10px 10px;
      min-width:0;
      display:flex;
      flex-direction:column;
      gap:6px;
    }
    .exec-meta .m span{
      color: rgba(214,223,244,.72);
      font-size:11px;
      font-weight:950;
      letter-spacing:.10em;
      text-transform:uppercase;
      white-space:nowrap;
      overflow:hidden;
      text-overflow:ellipsis;
    }
    .exec-meta .m b{
      color: rgba(242,246,255,.92);
      font-size:12px;
      font-weight:950;
      overflow:hidden;
      text-overflow:ellipsis;
      white-space:nowrap;
    }

    .exec-warning{
      border-radius:14px;
      border:1px solid rgba(213,22,53,.38);
      background: linear-gradient(180deg, rgba(213,22,53,.18), rgba(213,22,53,.10));
      padding:10px 12px;
      color: rgba(242,246,255,.92);
      font-size:12px;
      font-weight:900;
      line-height:1.45;
    }

    .exec-blocks{
      display:grid;
      grid-template-columns: 1fr;
      gap:10px;
    }
    .exec-block{
      border-radius:14px;
      border:1px solid rgba(255,255,255,.10);
      background: rgba(0,0,0,.12);
      padding:10px 10px;
      min-width:0;
    }
    .exec-block-top{
      display:flex;
      justify-content:space-between;
      align-items:center;
      gap:10px;
      min-width:0;
    }
    .exec-mini{
      display:flex;
      gap:8px;
      align-items:center;
      flex:0 0 auto;
    }
    .exec-mini-pill{
      border:1px solid rgba(255,255,255,.12);
      background: rgba(0,0,0,.14);
      padding:5px 8px;
      border-radius:999px;
      color: rgba(242,246,255,.92);
      font-weight:950;
      font-size:10px;
      letter-spacing:.12em;
      text-transform:uppercase;
      white-space:nowrap;
    }
    .exec-block .t{
      font-size:11px;
      font-weight:950;
      letter-spacing:.12em;
      text-transform:uppercase;
      color: rgba(214,223,244,.72);
      white-space:nowrap;
      overflow:hidden;
      text-overflow:ellipsis;
    }
    .exec-block .a{
      margin-top:8px;
      color: rgba(242,246,255,.92);
      font-size:12px;
      font-weight:900;
      line-height:1.45;
    }
    .exec-block .r,
    .exec-block .k{
      margin-top:10px;
      display:flex;
      justify-content:space-between;
      gap:10px;
      color: rgba(214,223,244,.78);
      font-size:11px;
      line-height:1.45;
    }
    .exec-block span{opacity:.8;white-space:nowrap}
    .exec-block b{color: rgba(242,246,255,.92);font-weight:900;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

    .exec-exposure{
      display:grid;
      grid-template-columns: repeat(3, minmax(0, 1fr));
      gap:10px;
      border-radius:14px;
      border:1px solid rgba(255,255,255,.10);
      background: rgba(0,0,0,.10);
      padding:10px 10px;
    }
    .exec-exposure .x{
      border-radius:12px;
      border:1px solid rgba(255,255,255,.08);
      background: rgba(255,255,255,.03);
      padding:10px 10px;
      min-width:0;
    }
    .exec-exposure .k{
      color: rgba(214,223,244,.72);
      font-size:11px;
      font-weight:950;
      letter-spacing:.10em;
      text-transform:uppercase;
    }
    .exec-exposure .v{
      margin-top:8px;
      color: rgba(242,246,255,.92);
      font-size:12px;
      font-weight:950;
      font-variant-numeric: tabular-nums;
      overflow:hidden;
      text-overflow:ellipsis;
      white-space:nowrap;
    }
    .exec-exposure.is-emph{
      border-color: rgba(249,186,0,.22);
      background: rgba(249,186,0,.07);
    }
    .exec-card.exec-cfo .exec-exposure.is-emph .v{
      font-size:13px;
      color: rgba(255,255,255,.96);
    }
    @media (max-width: 980px){
      .exec-brief-kv{grid-template-columns:1fr}
      .exec-cards-grid{grid-template-columns:1fr}
      .exec-meta{grid-template-columns:1fr}
      .exec-exposure{grid-template-columns:1fr}
    }
    .topbar{
      display:flex;align-items:flex-start;justify-content:space-between;gap:14px;
      flex-wrap:wrap;
      padding:14px 16px;border:1px solid var(--stroke);border-radius:var(--r);
      background:linear-gradient(180deg, rgba(11,26,54,.85), rgba(7,17,38,.75));
      background:linear-gradient(180deg, rgba(11,26,54,.85), rgba(7,17,38,.75));
      box-shadow: var(--shadow);
      position:sticky;top:14px;z-index:20;backdrop-filter: blur(10px);
    }
    .brand{display:flex;align-items:center;gap:12px;min-width:260px}
    .brand-logo{
      width:126px;
      height:auto;
      display:block;
      object-fit:contain;
      border-radius:0;
      box-shadow:none;
      background:transparent;
    }
    .brand-title h1{
      font-size:15px;
      font-weight:500;
      letter-spacing:.2px;
      margin:0;
      line-height:1.05;
    }
    .brand-at{
      color:var(--text);
      font-weight:400;
    }
    .brand .sub{
      font-size:11px;
      color:var(--muted2);
      margin-top:4px;
      font-weight:400;
    }

    
    .brand h1{font-size:16px;margin:0;letter-spacing:.2px}
    .brand .sub{font-size:12px;color:var(--muted2);margin-top:2px}
    .chips{display:flex;flex-wrap:wrap;gap:8px;align-items:center;justify-content:center;min-width:0;max-width:100%}
    .chip{
      display:inline-flex;gap:8px;align-items:center;
      padding:7px 10px;border-radius:999px;
      background:rgba(15,37,80,.65);border:1px solid rgba(27,44,85,.95);
      color:var(--muted);font-size:12px;white-space:nowrap;
      min-width:0;
      max-width:100%;
      overflow:hidden;
      text-overflow:ellipsis;
    }
    .dot{width:9px;height:9px;border-radius:50%;}
    .dot.green{background:var(--green);box-shadow:0 0 0 4px rgba(46,229,157,.12)}
    .dot.yellow{background:var(--orange);box-shadow:0 0 0 4px rgba(249,186,0,.12)}
    .dot.red{background:var(--red);box-shadow:0 0 0 4px rgba(255,77,109,.12)}

    .pill.pulse{position:relative;padding-left:18px}
    .pill.pulse:before{
      content:"";
      position:absolute;
      left:7px;
      top:50%;
      width:7px;
      height:7px;
      border-radius:50%;
      transform:translateY(-50%);
      background:rgba(234,240,255,.45);
      box-shadow:0 0 0 0 rgba(234,240,255,.18);
      animation:sourcePulse 1.2s ease-in-out infinite;
    }
    .pill.ok.pulse:before{background:var(--green);box-shadow:0 0 0 0 rgba(46,229,157,.18)}
    .pill.monitor.pulse:before{background:var(--orange);box-shadow:0 0 0 0 rgba(249,186,0,.18)}
    .pill.action.pulse:before{background:var(--red);box-shadow:0 0 0 0 rgba(255,77,109,.18)}
    @keyframes sourcePulse{
      0%{transform:translateY(-50%) scale(1);box-shadow:0 0 0 0 rgba(255,255,255,.18)}
      70%{transform:translateY(-50%) scale(1.05);box-shadow:0 0 0 9px rgba(255,255,255,0)}
      100%{transform:translateY(-50%) scale(1);box-shadow:0 0 0 0 rgba(255,255,255,0)}
    }

    .source-live{margin-top:10px;font-size:12px;color:#9fb0cf;display:flex;flex-direction:column;gap:6px}
    .source-line{display:flex;justify-content:space-between}
    .source-updated{
      margin-top:10px;
      font-size:11px;
      line-height:16px;
      min-height:16px;
      color:rgba(159,176,207,.92);
      white-space:nowrap;
      overflow:hidden;
      text-overflow:ellipsis;
    }
    .source-updated-age{font-variant-numeric: tabular-nums}
    .source-flash{box-shadow:0 0 0 2px rgba(249,186,0,.20), inset 0 1px 0 rgba(255,255,255,.04)}

    .intake-stream{margin-top:14px;display:flex;flex-direction:column;gap:10px}
    .intake-item{padding:10px 12px;border-radius:14px;background:rgba(255,255,255,.03);border:1px solid rgba(255,255,255,.05)}
    .intake-item.is-new{animation:intakeIn .28s ease-out}
    .intake-head{display:flex;justify-content:space-between;gap:10px}
    .intake-src{font-weight:700}
    .intake-age{color:rgba(159,176,207,.9);font-size:12px}
    .intake-line{color:rgba(159,176,207,.9);margin-top:4px;font-size:12px}
    @keyframes intakeIn{from{opacity:.4;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}
    .actions{
      display:flex;
      gap:8px;
      align-items:center;
      flex-wrap:wrap;
      width:100%;
      justify-content:center;
      margin-top:10px;
      padding-top:12px;
      border-top:1px solid rgba(255,255,255,0.05);
      max-width:900px;
      margin-left:auto;
      margin-right:auto;
    }

    @media (max-width: 1100px){
      .dashboard-layout{grid-template-columns:1fr}
      .synapse-panel{
        order:-1;
        position:relative;
        top:auto;
        max-height:300px;
      }
    }
    .actions .btn{
      min-width:112px;
      text-align:center;
      justify-content:center;
      display:inline-flex;
      align-items:center;
    }
    .btn{
      border:1px solid rgba(27,44,85,.95);
      background:rgba(9,18,40,.55);
      color:var(--text);
      padding:9px 12px;border-radius:12px;
      font-weight:500;font-size:12px;cursor:pointer;
    }
    .btn.primary{
      background:rgba(15,37,80,.55);
      border-color:rgba(27,44,85,.95);
      color:var(--text);
    }

    .esg-modal-backdrop{
      position:fixed;
      inset:0;
      background:rgba(2,21,78,.56);
      backdrop-filter:blur(6px);
      display:none;
      align-items:center;
      justify-content:center;
      z-index:1200;
      padding:24px;
    }
    .esg-modal-backdrop.open{
      display:flex;
    }
    .esg-modal{
      width:min(1120px,96vw);
      max-height:92vh;
      overflow:auto;
      background:#ffffff;
      color:#1f2a44;
      border-radius:24px;
      box-shadow:0 24px 80px rgba(2,21,78,.30);
      border:1px solid rgba(2,21,78,.08);
    }
    .esg-modal-head{
      display:flex;
      align-items:flex-start;
      justify-content:space-between;
      gap:16px;
      padding:24px 24px 12px 24px;
      border-bottom:1px solid rgba(2,21,78,.08);
    }
    .esg-modal-title{
      margin:0;
      font-size:32px;
      line-height:1.05;
      letter-spacing:-.02em;
      color:#02154e;
      font-weight:600;
    }
    .esg-modal-sub{
      margin-top:8px;
      color:#60708f;
      font-size:15px;
      line-height:1.45;
    }
    .esg-modal-close{
      appearance:none;
      border:1px solid rgba(2,21,78,.12);
      background:#fff;
      color:#02154e;
      border-radius:12px;
      padding:10px 14px;
      font-weight:700;
      cursor:pointer;
    }
    .esg-modal-body{
      padding:22px 24px 26px 24px;
    }
    .esg-form-grid{
      display:grid;
      grid-template-columns:repeat(2,minmax(0,1fr));
      gap:18px;
    }
    
.esg-section.esg-hint{
  border:2px solid #f9ba00 !important;
  box-shadow:0 0 0 4px rgba(249,186,0,.18);
  transition:all .25s ease;
}

.esg-section{
      background:#f7f9fc;
      border:1px solid rgba(2,21,78,.08);
      border-radius:18px;
      padding:18px;
    }
    .esg-section h3{
      margin:0 0 12px 0;
      color:#02154e;
      font-size:20px;
      line-height:1.15;
      letter-spacing:-.01em;
    }
    .esg-field{
      display:flex;
      flex-direction:column;
      gap:6px;
      margin-bottom:12px;
    }
    .esg-field:last-child{
      margin-bottom:0;
    }
    .esg-field label{
      font-size:13px;
      color:#5d6c88;
      font-weight:700;
    }
    .esg-field input,
    .esg-field select{
      height:44px;
      border-radius:12px;
      border:1px solid rgba(2,21,78,.12);
      background:#fff;
      padding:0 12px;
      font-size:15px;
      color:#1f2a44;
      outline:none;
    }
    .esg-field input:focus,
    .esg-field select:focus{
      border-color:#f9ba00;
      box-shadow:0 0 0 3px rgba(249,186,0,.18);
    }
    .esg-actions{
      display:flex;
      gap:12px;
      flex-wrap:wrap;
      align-items:center;
      justify-content:space-between;
      margin-top:18px;
      padding-top:18px;
      border-top:1px solid rgba(2,21,78,.08);
    }
    .esg-actions-left,
    .esg-actions-right{
      display:flex;
      gap:10px;
      flex-wrap:wrap;
      align-items:center;
    }
    .esg-meta{
      font-size:13px;
      color:#6b7893;
    }
    .esg-summary{
      margin-top:18px;
      display:grid;
      grid-template-columns:repeat(4,minmax(0,1fr));
      gap:12px;
    }
    .esg-summary-card{
      background:#02154e;
      color:#fff;
      border-radius:16px;
      padding:14px 14px;
      box-shadow:0 10px 28px rgba(2,21,78,.14);
    }
    .esg-summary-card .k{
      font-size:12px;
      opacity:.75;
      margin-bottom:6px;
    }
    .esg-summary-card .v{
      font-size:22px;
      font-weight:800;
      line-height:1.05;
    }
    @media (max-width:900px){
      .esg-form-grid{
        grid-template-columns:1fr;
      }
      .esg-summary{
        grid-template-columns:repeat(2,minmax(0,1fr));
      }
    }
    @media (max-width:560px){
      .esg-summary{
        grid-template-columns:1fr;
      }
    }
    .grid{display:grid;gap:14px;margin-top:14px}
    .grid.exec{grid-template-columns: repeat(3, 1fr)}
    .grid.two{grid-template-columns: repeat(2,minmax(0,1fr))}
    .grid.ops{grid-template-columns: repeat(4, 1fr)}
    .grid > *{min-width:0}
    .grid.two > .card:only-child{grid-column:1 / -1}
    @media (max-width: 980px){
      .grid.exec{grid-template-columns:1fr}
      .grid.two{grid-template-columns:1fr}
      .grid.ops{grid-template-columns:1fr 1fr}
      .brand{min-width:auto}
    }
    @media (max-width: 620px){
      .grid.ops{grid-template-columns:1fr}
      .topbar{flex-wrap:wrap}
    }
    .card{
      border:1px solid rgba(27,44,85,.92);
      background: linear-gradient(180deg, rgba(11,22,51,.72), rgba(6,12,28,.62));
      border-radius:var(--r);
      box-shadow: 0 18px 50px rgba(0,0,0,.28);
      padding:14px;
    }
    .card h2{margin:0 0 8px 0;font-size:14px}
    .muted{color:var(--muted);font-size:12px}
    .kpi{display:flex;align-items:baseline;gap:10px;margin-top:10px}
    .kpi .num{font-size:28px;font-weight:300}
    .kpi .unit{font-size:12px;color:var(--muted)}
    .badge{
      display:inline-flex;align-items:center;gap:8px;
      padding:7px 10px;border-radius:999px;font-size:12px;font-weight:500;
      border:1px solid rgba(27,44,85,.92);
      background:rgba(15,37,80,.55);
      max-width:100%;
      overflow:hidden;
      text-overflow:ellipsis;
      white-space:nowrap;
    }
    .badge.ok{border-color: rgba(46,229,157,.35); background: rgba(46,229,157,.10)}
    .badge.monitor{border-color: rgba(249,186,0,.40); background: rgba(249,186,0,.10)}
    .badge.critical{border-color: rgba(255,77,109,.40); background: rgba(255,77,109,.10)}

.badge.header-green,
.btn.header-green,
a.header-green{
  background: rgba(0,85,48,.28) !important;
  border: 1px solid rgba(46,229,157,.30) !important;
  color: #eaf7ef !important;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.03);
}
.badge.header-green:hover,
.btn.header-green:hover,
a.header-green:hover{
  background: rgba(0,85,48,.40) !important;
  border-color: rgba(46,229,157,.42) !important;
}
#execRisk{
  display:inline-flex;
  align-items:center;
  padding:3px 10px;
  margin-left:6px;
  border-radius:999px;
  background:rgba(0,85,48,.28);
  border:1px solid rgba(46,229,157,.30);
  color:#eaf7ef;
  line-height:1.1;
}


    .split{display:flex;justify-content:space-between;gap:10px;align-items:flex-start;flex-wrap:wrap;min-width:0}
    .split > :first-child{min-width:0;flex:1 1 auto}
    .split > :not(:first-child){flex:0 0 auto}
    .table{width:100%;border-collapse:separate;border-spacing:0;overflow:visible;border-radius:14px;border:1px solid rgba(27,44,85,.75);background:rgba(6,12,28,.35)}
    .table th,.table td{padding:10px 10px;font-size:12px;border-bottom:1px solid rgba(27,44,85,.55);color:var(--muted);text-align:left;white-space:nowrap}
    .table th{color:rgba(234,240,255,.9);font-weight:500;background:rgba(15,37,80,.35)}
    .table tr:last-child td{border-bottom:none}
    .pill{display:inline-flex;align-items:center;gap:6px;padding:5px 9px;border-radius:999px;font-size:11px;font-weight:500;border:1px solid rgba(27,44,85,.75);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
    .pill.ok{background:rgba(46,229,157,.10);border-color:rgba(46,229,157,.35)}
    .pill.action{background:rgba(255,77,109,.10);border-color:rgba(255,77,109,.40)}
    .pill.monitor{background:rgba(249,186,0,.10);border-color:rgba(249,186,0,.40)}
    .mini{height:96px;border-radius:14px;border:1px dashed rgba(27,44,85,.65);background:rgba(6,12,28,.28);display:grid;place-items:center;color:rgba(170,182,214,.65);font-size:12px}
      canvas{display:block;width:100% !important;height:140px !important;}
    .cfo-mini-chart{
      height:122px;
      border-radius:18px;
      overflow:hidden;
    }
    #cfoSpark{
      display:block;
      width:100% !important;
      height:122px !important;
    }
    .exec-persona-card{transition:transform .14s ease, box-shadow .14s ease, border-color .14s ease;}
    .grid.exec{align-items:stretch}
    .exec-persona-card{
      display:flex;
      flex-direction:column;
      min-height:408px;
      max-height:408px;
      height:408px;
      overflow:hidden;
    }
    .exec-persona-card[data-role="ceo"]{--card-accent: rgba(213,22,53,.70)}
    .exec-persona-card[data-role="cfo"]{--card-accent: rgba(249,186,0,.70)}
    .exec-persona-card[data-role="cto"]{--card-accent: rgba(0,194,255,.70)}

    .grid.exec.persona-stack{
      display:block;
      position:relative;
      height:408px;
      margin-top:14px;
      overflow:visible;
    }
    .grid.exec.persona-stack > .exec-persona-card{
      position:absolute;
      inset:0;
      margin:0;
      transform-origin: top left;
      transition: transform .28s ease, clip-path .28s ease, opacity .28s ease, filter .28s ease;
      position:absolute;
      overflow:hidden;
      border:1px solid rgba(255,255,255,.10);
      background:
        linear-gradient(135deg, rgba(255,255,255,.07) 0%, rgba(255,255,255,.03) 55%, rgba(0,0,0,.10) 100%),
        #0f172a;
      border-radius:18px;
      box-shadow: 0 14px 36px rgba(0,0,0,.34);
      padding:16px;
      padding-top:70px;
    }
    .grid.exec.persona-stack > .exec-persona-card:hover{
      transform: none;
    }
    .grid.exec.persona-stack > .exec-persona-card[data-pos="0"]{
      clip-path:none;
      opacity:1;
      filter:none;
      background: linear-gradient(180deg, transparent 0 56px, rgba(10,16,34,.98) 56px, rgba(6,10,24,.98) 100%);
      border-color: rgba(255,255,255,.12);
      box-shadow: 0 18px 46px rgba(0,0,0,.46);
    }
    .grid.exec.persona-stack > .exec-persona-card[data-pos="0"]:before{
      top:56px;
      background: linear-gradient(180deg, rgba(255,255,255,.05), transparent 42%);
      opacity:.55;
    }
    .grid.exec.persona-stack > .exec-persona-card[data-pos="0"]:after{
      top: calc(16px + 56px);
      opacity:.26;
    }
    .grid.exec.persona-stack > .exec-persona-card[data-pos="0"] .kpi:before{
      content:"";
      position:absolute;
      inset:0;
      border-radius:14px;
      background: rgba(0,0,0,.22);
      border:1px solid rgba(255,255,255,.06);
      box-shadow: inset 0 1px 0 rgba(255,255,255,.03);
      pointer-events:none;
    }
    .grid.exec.persona-stack > .exec-persona-card[data-pos="0"] .kpi > *{
      position:relative;
      z-index:1;
    }
    .grid.exec.persona-stack > .exec-persona-card[data-pos="0"] .exec-mini-chart-wrap{
      background: rgba(0,0,0,.18);
      border-color: rgba(255,255,255,.07);
    }
    .grid.exec.persona-stack > .exec-persona-card[data-pos="0"] .exec-mini-chart-head{
      background: rgba(0,0,0,.22);
      border-bottom-color: rgba(255,255,255,.06);
    }
    .grid.exec.persona-stack > .exec-persona-card[data-pos="0"] .split{
      padding:12px 12px 10px;
      border-radius:14px;
      border:1px solid rgba(255,255,255,.06);
      background: rgba(0,0,0,.18);
      box-shadow: inset 0 1px 0 rgba(255,255,255,.03);
    }
    .grid.exec.persona-stack > .exec-persona-card[data-pos="0"] #ceoDecisionLine,
    .grid.exec.persona-stack > .exec-persona-card[data-pos="0"] #cfoTodayLine,
    .grid.exec.persona-stack > .exec-persona-card[data-pos="0"] #ctoCheckLine{
      padding:10px 12px;
      border-radius:14px;
      border:1px solid rgba(255,255,255,.06);
      background: rgba(0,0,0,.14);
    }
    .grid.exec.persona-stack > .exec-persona-card[data-pos="0"] .badge,
    .grid.exec.persona-stack > .exec-persona-card[data-pos="0"] .pill{
      background: rgba(0,0,0,.26);
      border-color: rgba(255,255,255,.14);
      backdrop-filter: none;
    }

    .grid.exec.persona-stack > .exec-persona-card:before{
      content:"";
      position:absolute;
      inset:-1px;
      background:
        radial-gradient(520px 240px at 10% 0%, rgba(122,162,255,.18), transparent 60%),
        radial-gradient(520px 240px at 90% 0%, rgba(249,186,0,.12), transparent 60%),
        radial-gradient(720px 360px at 50% 110%, rgba(0,85,48,.10), transparent 62%);
      opacity:.85;
      pointer-events:none;
    }
    .grid.exec.persona-stack > .exec-persona-card:after{
      content:"";
      position:absolute;
      left:16px;
      right:16px;
      top:16px;
      height:2px;
      border-radius:999px;
      background:linear-gradient(90deg, transparent, var(--card-accent), transparent);
      opacity:.22;
      pointer-events:none;
    }
    .grid.exec.persona-stack .kpi{
      position:relative;
    }
    .grid.exec.persona-stack .kpi:after{
      content:"";
      position:absolute;
      left:0;
      right:0;
      bottom:-2px;
      height:2px;
      border-radius:999px;
      background:linear-gradient(90deg, rgba(255,255,255,0), rgba(255,255,255,.16), rgba(255,255,255,0));
      opacity:.55;
      pointer-events:none;
    }
    .grid.exec.persona-stack .badge,
    .grid.exec.persona-stack .pill{
      border-color: rgba(255,255,255,.12);
      background: rgba(0,0,0,.18);
      backdrop-filter: blur(8px);
      font-weight:700;
    }
    .grid.exec.persona-stack > .exec-persona-card[data-pos="1"]{
      clip-path: inset(0 0 calc(100% - 56px) 0 round 18px);
      opacity:.92;
      transform: translateY(-8px) scale(.99);
      filter: saturate(.92) brightness(.95);
      pointer-events:none;
    }
    .grid.exec.persona-stack > .exec-persona-card[data-pos="2"]{
      clip-path: inset(0 0 calc(100% - 56px) 0 round 18px);
      opacity:.84;
      transform: translateY(-16px) scale(.98);
      filter: saturate(.88) brightness(.92);
      pointer-events:none;
    }
    .grid.exec.persona-stack > .exec-persona-card[data-pos="1"] .persona-ear,
    .grid.exec.persona-stack > .exec-persona-card[data-pos="2"] .persona-ear{
      pointer-events:auto;
    }
    .grid.exec.persona-stack > .exec-persona-card[data-pos="0"]{
      pointer-events:auto;
    }

    .persona-ear{
      position:absolute;
      top:0;
      left:18px;
      height:56px;
      min-width:112px;
      padding:0 16px;
      border-radius:16px 16px 0 0;
      border:1px solid rgba(255,255,255,.12);
      border-bottom:none;
      background: linear-gradient(180deg, rgba(12,18,40,.98), rgba(9,13,30,.98));
      color: rgba(234,240,255,.92);
      font-weight:900;
      letter-spacing:.18em;
      font-size:12px;
      text-transform:uppercase;
      display:inline-flex;
      align-items:center;
      gap:10px;
      box-shadow: 0 12px 26px rgba(0,0,0,.44);
      z-index:3;
      cursor:pointer;
    }
    .persona-ear:before{
      content:"";
      width:10px;
      height:10px;
      border-radius:50%;
      background: var(--card-accent);
      box-shadow: 0 0 0 6px rgba(255,255,255,.06);
      flex:0 0 auto;
    }
    .persona-ear:after{
      content:"";
      position:absolute;
      left:12px;
      right:12px;
      bottom:0;
      height:2px;
      border-radius:999px;
      background: linear-gradient(90deg, transparent, var(--card-accent), transparent);
      opacity:.35;
      pointer-events:none;
    }
    .persona-ear-label{
      white-space:nowrap;
      overflow:hidden;
      text-overflow:ellipsis;
      max-width:180px;
    }
    .grid.exec.persona-stack > .exec-persona-card[data-pos="0"] .persona-ear{
      border-color: rgba(255,255,255,.16);
      background: linear-gradient(180deg, rgba(15,22,48,.98), rgba(9,13,30,.98));
    }
    .grid.exec.persona-stack > .exec-persona-card[data-pos="0"] .persona-ear{left:18px}
    .grid.exec.persona-stack > .exec-persona-card[data-pos="1"] .persona-ear{left:184px}
    .grid.exec.persona-stack > .exec-persona-card[data-pos="2"] .persona-ear{left:336px}
    .grid.exec.persona-stack > .exec-persona-card[data-pos="1"] .persona-ear,
    .grid.exec.persona-stack > .exec-persona-card[data-pos="2"] .persona-ear{
      opacity:.84;
      filter:saturate(.92) brightness(.92);
    }
    @media (hover:hover) and (pointer:fine){
      .persona-ear:hover{
        opacity:1;
        filter:none;
      }
    }

    @media (max-width: 980px){
      .grid.exec.persona-stack{height:408px}
      .grid.exec.persona-stack > .exec-persona-card[data-pos="1"]{transform: translateY(-8px) scale(.99)}
      .grid.exec.persona-stack > .exec-persona-card[data-pos="2"]{transform: translateY(-16px) scale(.98)}
      .grid.exec.persona-stack > .exec-persona-card[data-pos="1"] .persona-ear{left:150px}
      .grid.exec.persona-stack > .exec-persona-card[data-pos="2"] .persona-ear{left:270px}
    }
    .exec-persona-card .split{flex:0 0 auto}
    .exec-persona-card .kpi{flex:0 0 78px}
    .exec-persona-card .kpi .num{
      font-variant-numeric: tabular-nums;
      line-height:1.05;
      min-height:40px;
    }
    #ceoSubtext,#cfoSubtext,#ctoSubtext{
      display:-webkit-box;
      -webkit-box-orient:vertical;
      -webkit-line-clamp:2;
      overflow:hidden;
      max-height:34px;
      min-height:34px;
    }
    #ceoDecisionLine,#cfoTodayLine,#ctoCheckLine{
      display:-webkit-box;
      -webkit-box-orient:vertical;
      -webkit-line-clamp:2;
      overflow:hidden;
      text-overflow:ellipsis;
      max-height:40px;
      min-height:40px;
      line-height:20px;
    }
    .exec-persona-card .exec-mini-chart-wrap{
      flex:0 0 144px;
      margin-top:auto;
    }
    .exec-persona-card:hover{transform:translateY(-2px); box-shadow:0 20px 44px rgba(0,0,0,.32); border-color:rgba(249,186,0,.42);}
    .exec-persona-card.is-primary{
      border-color:rgba(249,186,0,.55);
      box-shadow:0 0 0 1px rgba(249,186,0,.22), 0 20px 46px rgba(0,0,0,.36), 0 0 26px rgba(249,186,0,.12);
      transform:translateY(-2px);
    }
    html[data-exec-lens="ceo"] .exec-persona-card:not(.is-primary),
    html[data-exec-lens="cfo"] .exec-persona-card:not(.is-primary),
    html[data-exec-lens="cto"] .exec-persona-card:not(.is-primary){
      opacity:.90;
      border-color:rgba(255,255,255,.08);
    }
    .exec-modal-backdrop{
      position:fixed; inset:0; z-index:10000;
      background:rgba(3,8,20,.62); backdrop-filter:blur(6px);
      display:none; align-items:center; justify-content:center;
      padding:24px;
    }
    .exec-modal-backdrop.open{display:flex;}
    .exec-modal{
      width:min(1280px, 98vw); max-height:94vh; overflow:auto;
      border:1px solid rgba(27,44,85,.92);
      background:linear-gradient(180deg, rgba(11,22,51,.985), rgba(6,12,28,.975));
      border-radius:22px; box-shadow:0 28px 90px rgba(0,0,0,.46);
      padding:28px 28px 24px;
    }
    .exec-modal-head{
      display:flex; justify-content:space-between; align-items:flex-start; gap:14px;
      margin-bottom:14px;
      padding-left:20px;
    }
    .exec-modal-title{margin:0; font-size:34px; line-height:1.05; font-weight:500; letter-spacing:-.02em;}
    .exec-modal-sub{margin-top:8px; color:var(--muted); font-size:17px; font-weight:300; line-height:1.35;}
    .exec-modal-close{
      border:1px solid rgba(27,44,85,.95);
      background:rgba(9,18,40,.55);
      color:var(--text); padding:12px 14px; border-radius:14px;
      font-weight:600; font-size:16px; cursor:pointer;
    }
    .exec-modal-grid{display:grid; grid-template-columns:1.08fr .92fr; gap:18px; margin-top:14px;}
    .exec-modal-card{
      border:1px solid rgba(27,44,85,.85);
      background:rgba(15,37,80,.20);
      border-radius:18px; padding:18px;
    }
    .exec-modal-card h3{margin:0 0 10px 0; font-size:20px; font-weight:500; letter-spacing:-.01em;}
    .exec-modal-section-head{
      display:flex;
      align-items:center;
      justify-content:space-between;
      margin:0 0 14px 0;
      padding:0 0 10px 0;
      border-bottom:1px solid rgba(255,255,255,.08);
    }
    

.exec-modal-grid .exec-modal-card:first-of-type{
  position:relative;
}

.exec-modal-grid .exec-modal-card:first-of-type::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:3px;
  background:linear-gradient(90deg,#f9ba00,#ffd86b);
  border-radius:6px 6px 0 0;
}

.exec-modal-grid .exec-modal-card:first-of-type{
  box-shadow:
    0 0 0 1px rgba(249,186,0,.22),
    0 14px 34px rgba(0,0,0,.45),
    0 0 28px rgba(249,186,0,.10);
}

.exec-modal-grid .exec-modal-card:first-of-type{
  background: linear-gradient(180deg, rgba(10,20,45,.95), rgba(5,12,28,.95));
  border:1px solid rgba(249,186,0,.18);
  box-shadow:0 12px 32px rgba(0,0,0,.35);
}

.exec-modal-grid .exec-modal-card:first-of-type .exec-modal-kpi{
  font-size:64px;
  font-weight:500;
  letter-spacing:-.035em;
}

.exec-modal-grid .exec-modal-card:first-of-type .exec-modal-copy{
  font-size:18px;
}

.exec-modal-card.exec-signal-card{
  background: linear-gradient(180deg, rgba(10,20,45,.96), rgba(5,12,28,.96));
  border:1px solid rgba(249,186,0,.18);
  box-shadow:
    0 0 0 1px rgba(249,186,0,.14),
    0 14px 34px rgba(0,0,0,.46),
    0 0 28px rgba(249,186,0,.08);
}
.exec-modal-card.exec-signal-card::before{
  content:"";
  position:absolute;
  top:0;
  left:0;
  right:0;
  height:3px;
  background:linear-gradient(90deg,#f9ba00,#ffd86b);
  border-radius:6px 6px 0 0;
}
.exec-signal-primary{
  display:flex;
  flex-direction:column;
  gap:8px;
}
.exec-signal-metric{
  font-size:44px;
  font-weight:550;
  letter-spacing:-.03em;
  line-height:1.02;
  color:#f4f7ff;
}
.exec-signal-secondary{
  font-size:18px;
  font-weight:450;
  color:rgba(234,240,255,.92);
}
.exec-signal-risk{
  font-size:14px;
  color:rgba(159,176,207,.95);
}
.exec-signal-risk .risk-from{
  color:#ff5c73;
  font-weight:700;
}
.exec-signal-risk .risk-to{
  color:#f9ba00;
  font-weight:700;
}
.exec-signal-ai{
  margin-top:14px;
  padding:12px 12px;
  border-radius:14px;
  border:1px solid rgba(249,186,0,.22);
  background:
    radial-gradient(340px 120px at 20% 0%, rgba(249,186,0,.14), transparent 65%),
    rgba(0,0,0,.18);
  color:rgba(242,246,255,.94);
  font-size:14px;
  font-weight:600;
  letter-spacing:-.01em;
}
.exec-signal-micro{
  margin-top:14px;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
}
.exec-micro-box{
  border:1px solid rgba(47,73,128,.42);
  background:rgba(255,255,255,.03);
  border-radius:14px;
  padding:10px 12px;
  min-width:0;
}
.exec-micro-box .k{
  color:rgba(159,176,207,.92);
  font-size:12px;
  font-weight:600;
  letter-spacing:.01em;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.exec-micro-box .v{
  margin-top:6px;
  font-size:18px;
  font-weight:600;
  letter-spacing:-.01em;
  color:#f4f7ff;
  font-variant-numeric: tabular-nums;
}
.exec-signal-actions{
  margin-top:16px;
}

@media (max-width: 980px){
  .exec-signal-micro{grid-template-columns:1fr}
}

.exec-modal-section-head h3{
      margin:0;
      font-size:18px;
      line-height:1.2;
      font-weight:600;
      letter-spacing:-.015em;
      color:#f4f7ff;
    }
    .exec-modal-kpi{font-size:54px; font-weight:300; margin:8px 0 4px 0; letter-spacing:-.03em; line-height:1;}
    .exec-modal-list{margin:0; padding-left:20px; color:var(--muted); font-size:20px; line-height:1.55; font-weight:300;}
    .exec-modal-actions{display:flex; gap:12px; flex-wrap:wrap; margin-top:18px;}
    .exec-modal-copy{color:var(--muted); font-size:18px; font-weight:300; line-height:1.5;}
    .exec-fintech-hero{
      background:
        radial-gradient(500px 220px at 80% 20%, rgba(249,186,0,.10), transparent 60%),
        linear-gradient(180deg, rgba(12,27,62,.92), rgba(8,19,44,.90));
      border-color: rgba(58,87,146,.42);
      box-shadow: inset 0 1px 0 rgba(255,255,255,.03);
    }
    .exec-fintech-panel{
      background: linear-gradient(180deg, rgba(10,22,50,.86), rgba(8,18,40,.78));
      border-color: rgba(47,73,128,.42);
    }
    .exec-summary-strip{
      display:grid;
      grid-template-columns:repeat(3,1fr);
      gap:12px;
      margin-top:16px;
    }
    .exec-summary-pill{
      border:1px solid rgba(47,73,128,.42);
      background:rgba(255,255,255,.03);
      border-radius:14px;
      padding:12px 14px;
    }
    .exec-summary-pill .label{
      color:var(--muted);
      font-size:13px;
      font-weight:500;
      margin-bottom:6px;
      letter-spacing:.01em;
    }
    .exec-summary-pill .value{
      color:var(--text);
      font-size:26px;
      font-weight:400;
      letter-spacing:-.02em;
      line-height:1.05;
    }
    .exec-ledger-wrap{
      display:grid;
      gap:8px;
      margin-top:14px;
    }
    .exec-ledger-head,
    .exec-ledger-row{
      display:grid;
      grid-template-columns:1.1fr 1fr .8fr 1.2fr;
      gap:12px;
      padding:12px 14px;
      border-radius:12px;
    }
    .exec-ledger-head{
      background:rgba(255,255,255,.04);
      color:#eaf0ff;
      font-size:14px;
      font-weight:600;
      border:1px solid rgba(47,73,128,.34);
    }
    .exec-ledger-row{
      background:rgba(255,255,255,.025);
      color:#cfd8ee;
      font-size:16px;
      font-weight:300;
      border:1px solid rgba(47,73,128,.22);
    }
    .exec-ledger-row strong{
      font-weight:500;
      color:#fff;
    }
    .cfo-kpi-bar{
      display:flex;
      gap:16px;
      margin-top:18px;
      flex-wrap:wrap;
    }
    .cfo-kpi{
      flex:1 1 180px;
      background:rgba(255,255,255,0.04);
      border-radius:14px;
      padding:12px 14px;
      border:1px solid rgba(255,255,255,0.08);
    }
    .kpi-label{
      font-size:12px;
      opacity:.72;
      font-weight:500;
      letter-spacing:.01em;
    }
    .kpi-value{
      font-size:24px;
      font-weight:500;
      margin-top:4px;
      letter-spacing:-.02em;
      line-height:1.05;
      color:#fff;
    }
    .shock-up{color:#f9ba00;}
    @media (max-width: 980px){
      .exec-summary-strip{grid-template-columns:1fr;}
    }
    .exec-modal-chart-wrap{
      margin-top:10px; border:1px solid rgba(27,44,85,.72);
      background:rgba(10,20,45,.30); border-radius:16px; padding:14px;
    }
    .exec-modal-chart-title{font-size:16px; font-weight:500; margin:0 0 10px 0; color:var(--text);}
    #execModalChart{display:block; width:100% !important; height:180px !important;}
    @media (max-width: 820px){
      .exec-modal-grid{grid-template-columns:1fr;}
    }




/* === PHASE1_UX_POLISH_START === */
#ceoModalScenarioStabilize,
#ceoModalScenarioDigital,
#ceoModalScenarioIgnore{
  position:relative;
  transition:
    transform .18s ease,
    box-shadow .22s ease,
    background-color .22s ease,
    color .22s ease,
    border-color .22s ease,
    opacity .22s ease;
  will-change: transform, box-shadow;
}

#ceoModalScenarioStabilize:hover,
#ceoModalScenarioDigital:hover,
#ceoModalScenarioIgnore:hover{
  transform:translateY(-2px);
  box-shadow:0 10px 24px rgba(2,21,78,.14);
}

#ceoModalScenarioStabilize:active,
#ceoModalScenarioDigital:active,
#ceoModalScenarioIgnore:active{
  transform:translateY(0);
}

#ceoModalScenarioResult{
  transition:
    transform .28s ease,
    box-shadow .28s ease,
    background-color .28s ease,
    border-color .28s ease,
    opacity .28s ease;
}

#ceoModalScenarioResult.phase1-result-animate{
  transform:translateY(-1px) scale(1.01);
  box-shadow:0 14px 34px rgba(2,21,78,.12);
}

.phase1-risk-pulse{
  animation:phase1RiskPulse .58s ease;
}

@keyframes phase1RiskPulse{
  0%   { transform:scale(1); filter:brightness(1); }
  35%  { transform:scale(1.08); filter:brightness(1.08); }
  100% { transform:scale(1); filter:brightness(1); }
}
/* === PHASE1_UX_POLISH_END === */


    .exec-mini-chart-wrap{
      position:relative;
      width:100%;
      height:144px;
      margin-top:auto;
      border-radius:14px;
      overflow:hidden;
      contain: layout paint;
      background:linear-gradient(180deg, rgba(255,255,255,.03), rgba(255,255,255,.01));
      border:1px solid rgba(255,255,255,.06);
      display:flex;
      flex-direction:column;
    }
    .exec-mini-chart-head{
      flex:0 0 32px;
      display:flex;
      align-items:center;
      padding:0 10px;
      border-bottom:1px solid rgba(255,255,255,.06);
      background:rgba(0,0,0,.10);
      min-width:0;
    }
    .exec-mini-chart-label{
      max-width:100%;
      white-space:nowrap;
      overflow:hidden;
      text-overflow:ellipsis;
      color:rgba(159,176,207,.95);
      font-size:11px;
      font-weight:700;
      letter-spacing:.2px;
      pointer-events:none;
    }
    .exec-mini-chart-plot{
      flex:1 1 auto;
      min-height:0;
    }
    .exec-mini-chart-wrap canvas{
      width:100% !important;
      height:100% !important;
      display:block;
    }
    .ceo-mini-chart{
      box-shadow:inset 0 0 30px rgba(46,229,157,.06);
    }
    .cto-mini-chart{
      box-shadow:inset 0 0 30px rgba(106,169,255,.05);
    }

  

/* disabled for controlled step-by-step rebuild */


#ceoModalScenarioStabilize,
#ceoModalScenarioDigital,
#ceoModalScenarioIgnore{
  position: relative;
  transition: transform .18s ease, box-shadow .22s ease, border-color .22s ease, background .22s ease, color .22s ease;
  will-change: transform, box-shadow;
}

#ceoModalScenarioStabilize:hover,
#ceoModalScenarioDigital:hover,
#ceoModalScenarioIgnore:hover{
  transform: translateY(-2px) scale(1.02);
  border-color: rgba(249,186,0,.98) !important;
  box-shadow:
    0 0 0 2px rgba(249,186,0,.24),
    0 12px 28px rgba(249,186,0,.20),
    0 0 20px rgba(249,186,0,.14);
}

#ceoModalScenarioResult{
  position: relative;
  overflow: hidden;
  transition: transform .34s ease, box-shadow .34s ease, border-color .34s ease, opacity .34s ease;
}

#ceoModalScenarioResult.ceo-result-animate{
  transform: translateY(4px) scale(.99);
  border-color: rgba(249,186,0,.50) !important;
  box-shadow:
    0 0 0 1px rgba(249,186,0,.18) inset,
    0 18px 40px rgba(249,186,0,.12);
}

#ceoModalScenarioResult.ceo-result-animate::after{
  content: "";
  position: absolute;
  inset: 0;
  background: linear-gradient(90deg,
    rgba(249,186,0,0) 0%,
    rgba(249,186,0,.08) 35%,
    rgba(255,216,107,.18) 50%,
    rgba(249,186,0,.08) 65%,
    rgba(249,186,0,0) 100%);
  animation: ceoResultSweep .55s ease;
  pointer-events: none;
}

@keyframes ceoResultSweep{
  0%   { transform: translateX(-55%); opacity: 0; }
  20%  { opacity: 1; }
  100% { transform: translateX(55%); opacity: 0; }
}

#ceoModalScenarioRisk{
  display: inline-block;
}

#ceoModalScenarioRiskValue{
  display: inline-block;
  min-width: 108px;
  color: #ffd86b;
  font-weight: 900;
  transform-origin: center;
}

#ceoModalScenarioRiskValue.ceo-risk-pulse{
  animation: ceoRiskValuePulse 1.05s cubic-bezier(.2,.8,.2,1);
}

@keyframes ceoRiskValuePulse{
  0%{
    transform: scale(1);
    color:#ffd86b;
    text-shadow: 0 0 0 rgba(249,186,0,0);
    filter: brightness(1);
  }
  22%{
    transform: scale(1.22);
    color:#fff3a6;
    text-shadow:
      0 0 10px rgba(249,186,0,.32),
      0 0 22px rgba(249,186,0,.28),
      0 0 38px rgba(249,186,0,.18);
    filter: brightness(1.12);
  }
  55%{
    transform: scale(1.10);
    color:#ffe082;
    text-shadow:
      0 0 8px rgba(249,186,0,.22),
      0 0 16px rgba(249,186,0,.14);
    filter: brightness(1.06);
  }
  100%{
    transform: scale(1);
    color:#ffd86b;
    text-shadow: 0 0 0 rgba(249,186,0,0);
    filter: brightness(1);
  }
}



#cfoImpactSimulator button.active {
background:#f9ba00;
color:#02154e;
font-weight:800;
border:none;
box-shadow:0 6px 14px rgba(249,186,0,0.35);
}



#ceoModalScenarioStabilize,
#ceoModalScenarioDigital,
#ceoModalScenarioIgnore{
  position: relative;
  transition: all .18s ease;
}

#ceoModalScenarioStabilize.ceo-active,
#ceoModalScenarioDigital.ceo-active,
#ceoModalScenarioIgnore.ceo-active{
  background: linear-gradient(135deg, #f9ba00, #ffd86b) !important;
  color: #02154e !important;
  border: 1px solid rgba(249,186,0,.98) !important;
  box-shadow: 0 0 0 2px rgba(249,186,0,.28), 0 10px 24px rgba(249,186,0,.24) !important;
  transform: translateY(-1px) !important;
  font-weight: 800 !important;
}

#ceoModalScenarioStabilize.ceo-active::after,
#ceoModalScenarioDigital.ceo-active::after,
#ceoModalScenarioIgnore.ceo-active::after{
  content: "";
  position: absolute;
  left: 10px;
  right: 10px;
  bottom: -6px;
  height: 3px;
  border-radius: 999px;
  background: linear-gradient(90deg, #f9ba00, #ffd86b);
}




.risk-flow{
display:flex;
flex-direction:column;
align-items:center;
gap:6px;
margin-bottom:8px;
}

.risk-node{
padding:6px 10px;
background:rgba(255,255,255,0.04);
border:1px solid rgba(255,255,255,0.08);
border-radius:6px;
font-size:12px;
color:#dbe3f0;
}

.risk-arrow{
color:#f9ba00;
font-weight:700;
}

.risk-driver{
display:flex;
align-items:center;
justify-content:space-between;
margin:6px 0;
}

.risk-bar{
height:6px;
background:#f9ba00;
border-radius:4px;
margin-left:10px;
}

.risk-bar-wrap{
flex:1;
margin:0 12px;
background:rgba(255,255,255,0.08);
border-radius:4px;
}

#boardRiskBar.safe{
background:#f9ba00;
}


#boardRiskBar.alert{
background:#ff4d6d;
}
.threshold-marker-premium{
  position:absolute;
  top:-8px;
  width:14px;
  height:14px;
  border-radius:999px;
  background:#fff;
  border:3px solid #02154e;
  box-shadow:0 0 0 4px rgba(249,186,0,.20), 0 8px 18px rgba(2,21,78,.18);
  transform:translateX(-50%);
  z-index:3;
}
.threshold-marker-premium::after{
  content:"";
  position:absolute;
  left:50%;
  top:11px;
  width:2px;
  height:18px;
  background:linear-gradient(180deg, rgba(2,21,78,.85), rgba(2,21,78,.18));
  transform:translateX(-50%);
  border-radius:999px;
}
#boardRiskBar.escalation{
  box-shadow:0 0 0 2px rgba(213,22,53,.22), 0 0 18px rgba(213,22,53,.30), 0 0 34px rgba(213,22,53,.18);
  animation:boardRiskPulse 1.8s ease-in-out infinite;
}
@keyframes boardRiskPulse{
  0%   { box-shadow:0 0 0 2px rgba(213,22,53,.18), 0 0 12px rgba(213,22,53,.20), 0 0 22px rgba(213,22,53,.10); }
  50%  { box-shadow:0 0 0 3px rgba(213,22,53,.28), 0 0 24px rgba(213,22,53,.34), 0 0 44px rgba(213,22,53,.18); }
  100% { box-shadow:0 0 0 2px rgba(213,22,53,.18), 0 0 12px rgba(213,22,53,.20), 0 0 22px rgba(213,22,53,.10); }
}




#ctoModalScenarioStabilize.ceo-active,
#ctoModalScenarioPatch.ceo-active,
#ctoModalScenarioIgnore.ceo-active{
  background: linear-gradient(135deg,#f9ba00,#ffd86b);
  color:#02154e;
  border:none;
  font-weight:800;
  box-shadow:
    0 0 0 2px rgba(249,186,0,.28),
    0 10px 24px rgba(249,186,0,.24);
  transform: translateY(-1px);
}

#ctoModalScenarioResult{
  transition: all .28s ease;
}

#ctoModalScenarioRiskValue{
  transition: all .25s ease;
  text-shadow: 0 0 12px rgba(249,186,0,.25);
}

#ctoModalScenarioRiskValue.cto-risk-pulse{
  animation: ctoRiskPulse 0.9s cubic-bezier(.2,.8,.2,1);
}

@keyframes ctoRiskPulse{
  0%{
    transform: scale(1);
    color:#ffd86b;
    text-shadow: 0 0 0 rgba(249,186,0,0);
    filter: brightness(1);
  }
  25%{
    transform: scale(1.18);
    color:#fff3a6;
    text-shadow:
      0 0 10px rgba(249,186,0,.32),
      0 0 22px rgba(249,186,0,.24);
    filter: brightness(1.12);
  }
  60%{
    transform: scale(1.08);
    color:#ffe082;
    text-shadow:
      0 0 8px rgba(249,186,0,.20),
      0 0 16px rgba(249,186,0,.14);
    filter: brightness(1.06);
  }
  100%{
    transform: scale(1);
    color:#ffd86b;
    text-shadow: 0 0 12px rgba(249,186,0,.25);
    filter: brightness(1);
  }
}



.zp-pde-candidates{
display:flex;
gap:12px;
margin-top:18px;
}

.zp-pde-candidate{
flex:1;
background:rgba(20,30,50,0.6);
border:1px solid rgba(255,255,255,0.05);
border-radius:10px;
padding:12px;
}

.zp-pde-candidate-machine{
font-weight:600;
font-size:14px;
margin-bottom:4px;
}

.zp-pde-candidate-tag{
font-size:11px;
opacity:0.7;
margin-bottom:6px;
}

.zp-pde-candidate-metrics{
display:flex;
gap:10px;
font-size:12px;
opacity:0.85;
}

.persona-stack{ 
  position:relative; 
  height:408px; 
  overflow:visible; 
  isolation:isolate; 
} 

.persona-panel{ 
  position:absolute; 
  inset:0; 
  border-radius:18px; 
  border:1px solid rgba(120,150,255,.18); 
  background: 
    linear-gradient(180deg, rgba(7,16,38,.96) 0%, rgba(5,11,28,.985) 100%); 
  box-shadow: 
    0 18px 42px rgba(0,0,0,.34), 
    inset 0 1px 0 rgba(255,255,255,.04); 
  transition: 
    transform .28s ease, 
    box-shadow .28s ease, 
    border-color .28s ease, 
    opacity .28s ease; 
  overflow:visible; 
} 

.persona-panel[data-pos="0"]{ 
  z-index:3; 
  transform:translateY(0); 
  opacity:1; 
} 

.persona-panel[data-pos="1"]{ 
  z-index:2; 
  transform:translateY(-10px); 
  opacity:1; 
} 

.persona-panel[data-pos="2"]{ 
  z-index:1; 
  transform:translateY(-20px); 
  opacity:1; 
} 

.persona-ear{ 
  position:absolute; 
  top:-1px; 
  height:54px; 
  min-width:92px; 
  padding:0 18px; 
  display:inline-flex; 
  align-items:center; 
  gap:8px; 
  border-radius:16px 16px 0 0; 
  border:1px solid rgba(120,150,255,.18); 
  border-bottom:none; 
  background: 
    linear-gradient(180deg, rgba(15,28,58,.96) 0%, rgba(10,19,43,.98) 100%); 
  color:rgba(235,242,255,.92); 
  box-shadow: 
    0 8px 24px rgba(0,0,0,.24), 
    inset 0 1px 0 rgba(255,255,255,.05); 
  cursor:pointer; 
  transition: 
    transform .22s ease, 
    filter .22s ease, 
    opacity .22s ease, 
    box-shadow .22s ease; 
} 

.persona-panel[data-persona="ceo"] .persona-ear{ left:14px; } 
.persona-panel[data-persona="cfo"] .persona-ear{ left:132px; } 
.persona-panel[data-persona="cto"] .persona-ear{ left:250px; } 

.persona-panel[data-pos="0"] .persona-ear{ 
  filter:brightness(1.08); 
  opacity:1; 
} 

.persona-panel[data-pos="1"] .persona-ear{ 
  filter:brightness(.9); 
  opacity:.95; 
} 

.persona-panel[data-pos="2"] .persona-ear{ 
  filter:brightness(.78); 
  opacity:.92; 
} 

.persona-ear:hover{ 
  filter:brightness(1.04); 
} 

.persona-ear-dot{ 
  width:8px; 
  height:8px; 
  border-radius:999px; 
  background:#f9ba00; 
  box-shadow:0 0 0 3px rgba(249,186,0,.14); 
  flex:0 0 auto; 
} 

.persona-panel[data-persona="ceo"] .persona-ear-dot{ background:#d51635; box-shadow:0 0 0 3px rgba(213,22,53,.14); } 
.persona-panel[data-persona="cfo"] .persona-ear-dot{ background:#f9ba00; box-shadow:0 0 0 3px rgba(249,186,0,.14); } 
.persona-panel[data-persona="cto"] .persona-ear-dot{ background:#00c2ff; box-shadow:0 0 0 3px rgba(0,194,255,.14); } 

.persona-ear-label{ 
  font-size:13px; 
  font-weight:800; 
  letter-spacing:.14em; 
  text-transform:uppercase; 
} 

.persona-panel-body{ 
  position:absolute; 
  inset:42px 0 0 0; 
  border-radius:18px; 
  padding:18px; 
  background: 
    linear-gradient(180deg, rgba(6,14,34,.98) 0%, rgba(4,10,24,.995) 100%); 
  box-shadow: 
    inset 0 1px 0 rgba(255,255,255,.03), 
    inset 0 0 0 1px rgba(255,255,255,.025); 
  overflow:hidden; 
} 

.persona-panel-body .split, 
.persona-panel-body .kpi, 
.persona-panel-body .metrics-row, 
.persona-panel-body .chart-wrap, 
.persona-panel-body .support-line{ 
  background:linear-gradient(180deg, rgba(8,18,42,.96) 0%, rgba(5,12,29,.98) 100%); 
  border:1px solid rgba(125,150,255,.12); 
  border-radius:14px; 
  box-shadow:inset 0 1px 0 rgba(255,255,255,.03); 
} 

.persona-panel-body .kpi{ 
  padding:14px 16px; 
} 

.persona-panel-body .support-line{ 
  padding:10px 14px; 
} 

.persona-panel-body .chart-wrap{ 
  padding:10px 12px; 
} 

.persona-panel-body .kpi h2, 
.persona-panel-body .kpi .value, 
.persona-panel-body .headline-value{ 
  color:#f4f7ff; 
  font-weight:800; 
} 

.persona-panel-body .muted, 
.persona-panel-body .subtle, 
.persona-panel-body .meta{ 
  color:rgba(214,223,244,.72); 
} 

.persona-stack { 
  overflow: visible !important; 
} 

.persona-panel { 
  padding-top: 28px; 
} 

.persona-ear { 
  top: -32px !important; 
  z-index: 10; 
} 

.persona-panel[data-pos="1"] { 
  transform: translateY(-10px) scale(0.98); 
} 

.persona-panel[data-pos="2"] { 
  transform: translateY(-20px) scale(0.96); 
}

/* ===== BIGGER EARS (FOLDER TAB MODE) ===== */

.persona-ear {
  height: 68px;
  min-width: 140px;
  padding: 0 24px;
  border-radius: 18px 18px 0 0;
  font-size: 14px;
  font-weight: 900;
  letter-spacing: .18em;
  box-shadow:
    0 10px 28px rgba(0,0,0,.35),
    inset 0 1px 0 rgba(255,255,255,.06);
}

.persona-ear-label {
  font-size: 14px;
}

.persona-ear-dot {
  width: 10px;
  height: 10px;
}

.persona-panel[data-pos="0"] .persona-ear {
  transform: scale(1.02);
  filter: brightness(1.12);
  box-shadow:
    0 14px 36px rgba(0,0,0,.42),
    inset 0 1px 0 rgba(255,255,255,.08);
}

.persona-panel[data-pos="1"] .persona-ear {
  transform: scale(0.96);
  opacity: 0.9;
}

.persona-panel[data-pos="2"] .persona-ear {
  transform: scale(0.92);
  opacity: 0.85;
}

.persona-panel[data-persona="ceo"] .persona-ear { left: 18px; }
.persona-panel[data-persona="cfo"] .persona-ear { left: 190px; }
.persona-panel[data-persona="cto"] .persona-ear { left: 362px; }

.persona-ear:hover {
  filter: brightness(1.04);
}

/* STACK CONTAINER */
.persona-stack {
  overflow: visible !important;
  padding-top: 60px; /* kulak + panel strip alanı */
  margin-top: 96px; /* action row ile çakışmayı önlemek için üstte nefes alanı */
}

/* TÜM PANELLER */
.persona-panel {
  position: absolute;
  inset: 0;
  overflow: visible;
}

/* ACTIVE */
.persona-panel[data-pos="0"] {
  transform: translateY(0);
  z-index: 3;
}

/* CFO (arkada ama GÖRÜNÜR PANEL ÜSTÜ) */
.persona-panel[data-pos="1"] {
  transform: translateY(-28px); /* sadece kulak değil PANEL çıkıyor */
  z-index: 2;
}

/* CTO (daha arkada) */
.persona-panel[data-pos="2"] {
  transform: translateY(-52px);
  z-index: 1;
}

/* ===== Persona Tabs Decoupled (ears independent from panel transforms) ===== */
.persona-tabs{
  position: absolute;
  top: 0;
  left: 0;
  display: flex;
  gap: 12px;
  align-items: flex-end;
  z-index: 50;
}
.persona-tabs .persona-ear{
  position: relative !important;
  top: 0 !important;
  transform: none;
}
.persona-tabs .persona-ear.active{
  transform: scale(1.05);
  opacity: 1;
}
.persona-tabs .persona-ear:not(.active){
  opacity: .8;
}
.persona-tabs .persona-ear[data-target="ceo"] .persona-ear-dot{ background:#d51635; box-shadow:0 0 0 3px rgba(213,22,53,.14); }
.persona-tabs .persona-ear[data-target="cfo"] .persona-ear-dot{ background:#f9ba00; box-shadow:0 0 0 3px rgba(249,186,0,.14); }
.persona-tabs .persona-ear[data-target="cto"] .persona-ear-dot{ background:#00c2ff; box-shadow:0 0 0 3px rgba(0,194,255,.14); }

.persona-panels{
  position: relative;
  height: 408px;
  overflow: visible;
}

.persona-stack{
  position: relative;
  padding-top: 60px;
}

.persona-panel{
  position: absolute;
  inset: 0;
  overflow: visible;
}

/* Panel stacking stays as-is (do not touch), enforced */
.persona-panel[data-pos="0"]{ transform: translateY(0px) !important; z-index: 3 !important; }
.persona-panel[data-pos="1"]{ transform: translateY(14px) !important; z-index: 2 !important; }
.persona-panel[data-pos="2"]{ transform: translateY(28px) !important; z-index: 1 !important; }

/* ===== Bug 1: rear panels must be shells only (no internal leakage) ===== */
.persona-panel[data-pos="1"],
.persona-panel[data-pos="2"]{
  clip-path: inset(0 0 calc(100% - 18px) 0 round 18px);
  overflow: hidden;
}
.persona-panel[data-pos="1"] .persona-panel-body,
.persona-panel[data-pos="2"] .persona-panel-body{
  display: none;
}

.card-overlay{
  position:fixed;
  inset:0;
  background: rgba(10, 20, 40, 0.6);
  backdrop-filter: blur(12px);
  opacity: 0;
  pointer-events: none;
  transition: opacity .3s ease;
  z-index: 9998;
}
.card-overlay.active{
  opacity: 1;
  pointer-events: all;
}

.card-modal{
  position: fixed;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%) scale(1);
  width: min(1100px, 92vw);
  height: min(80vh, 800px);
  z-index: 9999;
  display: none;
  pointer-events: none;
}
.card-modal.active{
  display: block;
  pointer-events: auto;
}
.card-modal-surface{
  width:100%;
  height:100%;
  background: #0b1a2a;
  border-radius: 20px;
  box-shadow: 0 40px 100px rgba(0,0,0,0.8);
  border:1px solid rgba(255,255,255,.10);
  overflow:hidden;
  padding: 0;
}
.card-modal-close{
  position:absolute;
  top:-44px;
  right:0;
  border:1px solid rgba(255,255,255,.12);
  background:rgba(0,0,0,.22);
  color:rgba(234,240,255,.92);
  padding:10px 12px;
  border-radius:12px;
  cursor:pointer;
  font-weight:900;
  z-index: 10000;
}

.card.in-card-modal,
.persona-panel.in-card-modal{
  position: relative !important;
  inset: auto !important;
  transform: none !important;
  width: 100% !important;
  height: 100% !important;
  margin: 0 !important;
}
.persona-panel.in-card-modal{
  border-radius: 20px;
}
.persona-panel.in-card-modal .persona-panel-body{
  position: relative;
  inset: auto;
  height: 100%;
  overflow: auto;
}
.card.in-card-modal{
  overflow: auto;
}
.card.card-expanding{
  will-change: top, left, width, height, transform;
}
.persona-panel.persona-expanding{
  will-change: top, left, width, height, transform;
}
.card.expanded{
  position: fixed !important;
  top: var(--ex-top, 50%);
  left: var(--ex-left, 50%);
  width: var(--ex-width, min(1100px, 92vw));
  height: var(--ex-height, min(80vh, 800px));
  transform: translate(0,0);
  z-index: 9001;
  border-radius: 20px;
  box-shadow: 0 30px 80px rgba(0,0,0,0.6);
  overflow: hidden;
  margin: 0 !important;
}
.persona-panel.expanded{
  position: fixed !important;
  top: var(--ex-top, 50%);
  left: var(--ex-left, 50%);
  width: var(--ex-width, min(1100px, 92vw));
  height: var(--ex-height, min(80vh, 800px));
  transform: translate(0,0);
  z-index: 9001;
  border-radius: 20px;
  box-shadow: 0 30px 80px rgba(0,0,0,0.6);
  overflow: hidden;
  margin: 0 !important;
}
.card.expanded.is-open{
  top: 50%;
  left: 50%;
  width: min(1100px, 92vw);
  height: min(80vh, 800px);
  transform: translate(-50%, -50%) scale(1.02);
  transition:
    top .3s ease,
    left .3s ease,
    width .3s ease,
    height .3s ease,
    transform .3s ease,
    box-shadow .3s ease;
}
.persona-panel.expanded.is-open{
  top: 50%;
  left: 50%;
  width: min(1100px, 92vw);
  height: min(80vh, 800px);
  transform: translate(-50%, -50%) scale(1.02);
  transition:
    top .3s ease,
    left .3s ease,
    width .3s ease,
    height .3s ease,
    transform .3s ease,
    box-shadow .3s ease;
}
.card-detail{
  margin-top: 14px;
  border-top: 1px solid rgba(255,255,255,.08);
  padding-top: 14px;
  display: none;
  height: calc(100% - 88px);
  overflow: auto;
}
.expanded.is-open .card-detail{
  display: block;
}
.card-detail-close{
  border:1px solid rgba(255,255,255,.10);
  background:rgba(0,0,0,.16);
  color:rgba(234,240,255,.92);
  padding:8px 10px;
  border-radius:12px;
  font-weight:900;
  cursor:pointer;
}
.card-detail-head{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
  margin-bottom:12px;
}
.card-detail-range{
  display:flex;
  gap:8px;
  flex-wrap:wrap;
}
.card-detail-range button{
  border:1px solid rgba(255,255,255,.10);
  background:rgba(0,0,0,.16);
  color:rgba(234,240,255,.92);
  padding:8px 10px;
  border-radius:999px;
  font-weight:800;
  font-size:12px;
  cursor:pointer;
}
.card-detail-range button.active{
  border-color: rgba(249,186,0,.35);
  background: rgba(249,186,0,.14);
}
.card-detail-grid{
  display:grid;
  grid-template-columns: 1.3fr .9fr;
  gap:12px;
}
.card-detail-panel{
  border:1px solid rgba(255,255,255,.08);
  background: rgba(0,0,0,.18);
  border-radius:14px;
  padding:12px;
}
.card-detail-chart{
  height: 260px;
  border-radius:14px;
  border:1px solid rgba(255,255,255,.06);
  background: rgba(0,0,0,.14);
  overflow:hidden;
}
.card-detail-chart canvas{
  width:100% !important;
  height:100% !important;
  display:block;
}
.card-detail-kpis{
  display:grid;
  grid-template-columns: repeat(2, minmax(0,1fr));
  gap:10px;
}
.card-detail-kpi{
  border:1px solid rgba(255,255,255,.06);
  background: rgba(255,255,255,.03);
  border-radius:12px;
  padding:10px 12px;
}
.card-detail-kpi .k{
  color:rgba(214,223,244,.72);
  font-size:12px;
  font-weight:700;
}
.card-detail-kpi .v{
  margin-top:6px;
  font-size:20px;
  font-weight:900;
  font-variant-numeric: tabular-nums;
}
.card-detail-ai{
  margin-top:12px;
  border:1px solid rgba(249,186,0,.20);
  background: rgba(249,186,0,.08);
  border-radius:14px;
  padding:12px 12px;
  color:rgba(234,240,255,.92);
}
.card-detail-ai .k{
  font-size:12px;
  font-weight:900;
  letter-spacing:.12em;
  text-transform:uppercase;
  color:#f9ba00;
}
.card-detail-ai .v{
  margin-top:6px;
  font-size:13px;
  line-height:1.35;
  color:rgba(234,240,255,.90);
}
.card-detail-sections{
  margin-top: 12px;
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 12px;
}
.card-detail-section-title{
  font-weight: 900;
  margin-bottom: 10px;
}
.card-detail-tiles{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.card-detail-tile{
  border: 1px solid rgba(255,255,255,.06);
  background: rgba(255,255,255,.03);
  border-radius: 12px;
  padding: 10px 12px;
  min-width: 0;
}
.card-detail-tile .k{
  color: rgba(214,223,244,.72);
  font-size: 12px;
  font-weight: 800;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.card-detail-tile .v{
  margin-top: 6px;
  font-size: 18px;
  font-weight: 950;
  letter-spacing: -0.01em;
  font-variant-numeric: tabular-nums;
}
.card-detail-list .row{
  display: flex;
  justify-content: space-between;
  gap: 12px;
  padding: 8px 10px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.06);
  background: rgba(0,0,0,.14);
}
.card-detail-list .k{
  color: rgba(214,223,244,.72);
  font-weight: 800;
  font-size: 12px;
}
.card-detail-list .v{
  color: rgba(234,240,255,.92);
  font-weight: 800;
  font-size: 12px;
  text-align: right;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
  max-width: 70%;
}
.card-detail-actions .a{
  padding: 10px 12px;
  border-radius: 12px;
  border: 1px solid rgba(255,255,255,.06);
  background: rgba(0,0,0,.14);
  color: rgba(234,240,255,.90);
  font-size: 12px;
  font-weight: 800;
  line-height: 1.35;
}
.card-detail-note{
  color: rgba(214,223,244,.72);
  font-size: 12px;
  line-height: 1.45;
}
.card-detail-block{
  margin-top: 12px;
  border: 1px solid rgba(255,255,255,.06);
  background: rgba(0,0,0,.12);
  border-radius: 14px;
  padding: 12px;
}
.card-detail-driver-grid{
  margin-top: 10px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.card-detail-driver{
  border: 1px solid rgba(255,255,255,.06);
  background: rgba(255,255,255,.03);
  border-radius: 12px;
  padding: 10px 12px;
}
.card-detail-driver .k{
  color: rgba(214,223,244,.72);
  font-size: 12px;
  font-weight: 900;
  letter-spacing: .02em;
}
.card-detail-driver .v{
  margin-top: 6px;
  color: rgba(234,240,255,.92);
  font-size: 12px;
  line-height: 1.35;
  font-weight: 700;
}
.card-detail-action-grid{
  margin-top: 10px;
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 10px;
}
.card-detail-action-card{
  border: 1px solid rgba(255,255,255,.08);
  background: rgba(0,0,0,.14);
  border-radius: 14px;
  padding: 12px 12px;
  color: rgba(234,240,255,.92);
  font-weight: 900;
  font-size: 12px;
  text-align: left;
  cursor: pointer;
  transition: transform .18s ease, border-color .18s ease, background-color .18s ease;
}
.card-detail-action-card:hover{
  transform: translateY(-1px);
  border-color: rgba(249,186,0,.22);
  background: rgba(249,186,0,.08);
}
@media (max-width: 980px){
  .card-detail-sections{grid-template-columns:1fr}
  .card-detail-tiles{grid-template-columns:1fr}
  .card-detail-driver-grid{grid-template-columns:1fr}
  .card-detail-action-grid{grid-template-columns:1fr}
}

/* ===== EXECUTIVE POPUP MODAL ===== */

#xpOverlay {
  position: fixed;
  inset: 0;
  background: rgba(5, 10, 24, 0.58);
  backdrop-filter: blur(12px);
  opacity: 0;
  pointer-events: none;
  transition: opacity .25s ease;
  z-index: 9998;
}

#xpOverlay.is-open {
  opacity: 1;
  pointer-events: auto;
}

.xp-modal {
  position: fixed;
  top: 50%;
  left: 50%;
  width: min(1180px, 92vw);
  height: min(86vh, 880px);
  transform: translate(-50%, -50%) scale(.985);
  transition: transform .25s ease;
  background: linear-gradient(180deg, rgba(7,16,38,.98) 0%, rgba(3,10,26,.995) 100%);
  border: 1px solid rgba(110,145,255,.16);
  border-radius: 24px;
  box-shadow: 0 40px 120px rgba(0,0,0,.65);
  overflow: auto;
  padding: 28px;
}

#xpOverlay.is-open .xp-modal {
  transform: translate(-50%, -50%) scale(1);
}

.xp-close {
  position: absolute;
  right: 18px;
  top: 18px;
  border: 1px solid rgba(110,145,255,.16);
  background: rgba(9,21,48,.88);
  color: #f4f7ff;
  border-radius: 14px;
  padding: 10px 14px;
  font-weight: 700;
  cursor: pointer;
}

.xp-modal-inner {
  display: grid;
  gap: 16px;
  padding-top: 22px;
}

.xp-hero,
.xp-kpi,
.xp-section,
.xp-note-block {
  background: linear-gradient(180deg, rgba(8,18,42,.96) 0%, rgba(5,12,29,.985) 100%);
  border: 1px solid rgba(125,150,255,.12);
  border-radius: 18px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.03);
}

.xp-hero {
  display: flex;
  justify-content: space-between;
  align-items: center;
  padding: 18px 20px;
}

.xp-role {
  font-size: 22px;
  font-weight: 900;
  color: #f5f7ff;
}

.xp-subtitle {
  font-size: 14px;
  color: rgba(220,228,244,.72);
  margin-top: 4px;
}

.xp-pill {
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid rgba(110,145,255,.16);
  background: rgba(12,25,59,.88);
  color: #f4f7ff;
  font-weight: 800;
}

.xp-kpi {
  padding: 18px 20px;
}

.xp-kpi-main {
  font-size: 46px;
  line-height: 1.05;
  font-weight: 900;
  color: #f5f7ff;
}

.xp-kpi-sub {
  margin-top: 6px;
  font-size: 20px;
  color: rgba(236,241,252,.88);
}

.xp-kpi-meta {
  margin-top: 8px;
  font-size: 14px;
  color: rgba(200,212,236,.72);
}

.xp-section {
  padding: 16px 18px;
}

.xp-section-title {
  font-size: 14px;
  font-weight: 800;
  letter-spacing: .02em;
  color: rgba(230,237,252,.88);
  margin-bottom: 12px;
}

.xp-chart-wrap {
  height: 230px;
  border-radius: 14px;
  border: 1px solid rgba(120,145,255,.10);
  background: rgba(4,11,28,.72);
  padding: 10px;
}

.xp-mini-grid {
  display: grid;
  gap: 12px;
}

.xp-grid-3 {
  grid-template-columns: repeat(3, minmax(0, 1fr));
}

.xp-mini-tile {
  border-radius: 14px;
  border: 1px solid rgba(120,145,255,.10);
  background: rgba(5,12,28,.76);
  padding: 14px;
}

.xp-mini-label {
  font-size: 12px;
  color: rgba(186,200,229,.72);
  margin-bottom: 8px;
}

.xp-mini-value {
  font-size: 24px;
  font-weight: 800;
  color: #f5f7ff;
}

.xp-mini-note {
  margin-top: 6px;
  font-size: 12px;
  color: rgba(180,194,224,.68);
}

.xp-action-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}

.xp-action-tile {
  border-radius: 14px;
  border: 1px solid rgba(120,145,255,.10);
  background: rgba(5,12,28,.76);
  padding: 14px;
}

.xp-action-title {
  font-size: 15px;
  font-weight: 800;
  color: #f3f7ff;
  margin-bottom: 6px;
}

.xp-action-desc {
  font-size: 13px;
  line-height: 1.45;
  color: rgba(196,208,235,.74);
}

.xp-note-block {
  padding: 16px 18px;
}

.xp-note-text {
  margin: 0;
  color: rgba(210,220,240,.78);
  line-height: 1.65;
  font-size: 14px;
}

body.xp-modal-open{
  overflow:hidden;
}

.modal-overlay{
  position: fixed;
  inset: 0;
  background: rgba(5, 10, 24, 0.58);
  backdrop-filter: blur(12px);
  z-index: 9998;
  display:flex;
  align-items:center;
  justify-content:center;
  padding: 24px;
}
.modal{
  width: min(1180px, 92vw);
  height: min(86vh, 880px);
  background: linear-gradient(180deg, rgba(7,16,38,.98) 0%, rgba(3,10,26,.995) 100%);
  border: 1px solid rgba(110,145,255,.16);
  border-radius: 24px;
  box-shadow: 0 40px 120px rgba(0,0,0,.65);
  overflow: auto;
  padding: 28px;
}
.modal .hero{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:14px;
  padding: 18px 20px;
  border-radius: 18px;
  border: 1px solid rgba(125,150,255,.12);
  background: linear-gradient(180deg, rgba(8,18,42,.96) 0%, rgba(5,12,29,.985) 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.03);
}
.modal .hero h2{margin:0;font-size:22px;font-weight:900;color:#f5f7ff}
.modal .hero p{margin:6px 0 0 0;font-size:14px;color:rgba(220,228,244,.72)}
.modal .hero-right{
  display:flex;
  align-items:center;
  gap:10px;
}
.modal .role-badge{
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid rgba(110,145,255,.16);
  background: rgba(12,25,59,.88);
  color: #f4f7ff;
  font-weight: 800;
  white-space:nowrap;
}
.modal .modal-close{
  border:1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.18);
  color: rgba(242,246,255,.92);
  padding:10px 12px;
  border-radius:14px;
  cursor:pointer;
  font-weight:950;
}
.modal .modal-close:hover{
  background: rgba(255,255,255,.06);
  border-color: rgba(255,255,255,.18);
}
.modal .badge{
  padding: 8px 12px;
  border-radius: 999px;
  border: 1px solid rgba(110,145,255,.16);
  background: rgba(12,25,59,.88);
  color: #f4f7ff;
  font-weight: 800;
  white-space:nowrap;
}
.modal .kpi{
  margin-top: 12px;
  padding: 18px 20px;
  border-radius: 18px;
  border: 1px solid rgba(125,150,255,.12);
  background: linear-gradient(180deg, rgba(8,18,42,.96) 0%, rgba(5,12,29,.985) 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.03);
  font-size: 46px;
  line-height: 1.05;
  font-weight: 900;
  color: #f5f7ff;
}
.modal .kpi .kpi-main{font-size:42px}
.modal .kpi .kpi-sub{
  margin-top:10px;
  font-size:14px;
  color: rgba(220,228,244,.72);
  font-weight:700;
  line-height:1.45;
}
.modal .accent-line{
  margin-top:12px;
  height:3px;
  border-radius:999px;
  background: linear-gradient(90deg, var(--accent), rgba(255,255,255,0));
  opacity:.9;
}
.modal canvas{
  margin-top: 12px;
  width: 100%;
  height: 230px;
  display:block;
  border-radius: 14px;
  border: 1px solid rgba(120,145,255,.10);
  background: rgba(4,11,28,.72);
  padding: 10px;
}
.modal .grid, .modal .actions{
  margin-top: 12px;
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 12px;
}
.modal .grid .card, .modal .actions .card{
  border-radius: 14px;
  border: 1px solid rgba(120,145,255,.10);
  background: rgba(5,12,28,.76);
  padding: 14px;
}
.modal .grid .card strong, .modal .actions .card strong{display:block;color:#f3f7ff;font-weight:900;font-size:14px}
.modal .grid .card p, .modal .actions .card p{margin:6px 0 0 0;color:rgba(196,208,235,.74);font-size:13px;line-height:1.45}
.modal .note{
  margin-top: 12px;
  padding: 16px 18px;
  border-radius: 18px;
  border: 1px solid rgba(125,150,255,.12);
  background: linear-gradient(180deg, rgba(8,18,42,.96) 0%, rgba(5,12,29,.985) 100%);
  box-shadow: inset 0 1px 0 rgba(255,255,255,.03);
  color: rgba(210,220,240,.78);
  line-height: 1.65;
  font-size: 14px;
}
@media (max-width: 900px) {
  .modal .grid, .modal .actions { grid-template-columns: 1fr; }
  .modal .kpi{ font-size: 34px; }
}

/* ===== Executive Modal (modal-root) premium + role-matched charts ===== */
.modal-overlay{
  opacity:0;
  pointer-events:none;
  transition: opacity .26s ease;
}
.modal-overlay.is-open{
  opacity:1;
  pointer-events:auto;
}
.modal{
  transform: translateY(6px) scale(.96);
  opacity:0;
  transition: transform .26s ease, opacity .26s ease;
}
.modal-overlay.is-open .modal{
  transform: translateY(0) scale(1);
  opacity:1;
}

.modal .chart-wrap{
  margin-top:12px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.14);
  padding:12px;
  height:260px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
  contain: layout paint;
}
.modal .chart-wrap canvas{
  width:100% !important;
  height:100% !important;
  display:block;
  background: transparent !important;
  border: 0 !important;
  padding: 0 !important;
  border-radius: 14px;
}

.modal .section{
  margin-top:12px;
}
.modal .section-title{
  color: rgba(214,223,244,.72);
  font-size:12px;
  font-weight:950;
  letter-spacing:.12em;
  text-transform:uppercase;
  margin: 0 0 10px 2px;
}
.modal .grid-3{
  display:grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap:12px;
}

.modal-card{
  width:100%;
  text-align:left;
  border-radius:16px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.14);
  padding:12px 12px;
  cursor:pointer;
  transition: transform .18s ease, border-color .18s ease, background-color .18s ease;
}
.modal-card:hover{
  transform: translateY(-1px);
  border-color: rgba(255,255,255,.16);
  background: rgba(255,255,255,.05);
}
.modal-card-top{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:10px;
}
.modal-card-title{
  font-weight:950;
  font-size:13px;
  color:#f3f7ff;
}
.modal-pill{
  padding:6px 10px;
  border-radius:999px;
  font-weight:950;
  font-size:11px;
  letter-spacing:.08em;
  text-transform:uppercase;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.16);
  white-space:nowrap;
}
.modal-pill.risk-low{border-color: rgba(0,85,48,.35); background: rgba(0,85,48,.14); color: rgba(242,246,255,.92);}
.modal-pill.risk-monitor{border-color: rgba(249,186,0,.35); background: rgba(249,186,0,.14); color: rgba(242,246,255,.92);}
.modal-pill.risk-critical{border-color: rgba(213,22,53,.40); background: rgba(213,22,53,.16); color: rgba(242,246,255,.92);}

.modal-card-body{
  margin-top:10px;
}
.modal-card-context{
  color: rgba(214,223,244,.76);
  font-size:12px;
  line-height:1.4;
  font-weight:700;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  overflow:hidden;
  min-height:34px;
}
.modal-card-metric{
  margin-top:10px;
  color: rgba(242,246,255,.92);
  font-weight:900;
  font-size:12px;
  letter-spacing:-.01em;
  font-variant-numeric: tabular-nums;
}
.modal-card-metric .arrow{
  color: var(--accent);
}

.modal-topbar{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:12px;
}
.modal-back{
  border:1px solid rgba(255,255,255,.12);
  background: rgba(0,0,0,.18);
  color: rgba(242,246,255,.92);
  padding:10px 12px;
  border-radius:14px;
  cursor:pointer;
  font-weight:950;
}
.drill-hero{
  margin-top:12px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.04);
  padding:14px 14px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}
.drill-title{
  font-size:18px;
  font-weight:950;
  letter-spacing:-.02em;
}
.drill-sub{
  margin-top:8px;
  color: rgba(214,223,244,.78);
  font-size:13px;
  line-height:1.45;
  font-weight:700;
}
.drill-grid{
  margin-top:12px;
  display:grid;
  grid-template-columns: 1.25fr .75fr;
  gap:12px;
}
.drill-section{
  margin-top:12px;
  border-radius:18px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(0,0,0,.14);
  padding:12px 12px;
  box-shadow: inset 0 1px 0 rgba(255,255,255,.04);
}
.drill-col .drill-section:first-child{margin-top:0}
.drill-text{
  color: rgba(214,223,244,.78);
  font-size:13px;
  line-height:1.55;
  font-weight:700;
}
.drill-snapshot{
  margin-top:10px;
  display:grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap:10px;
}
.drill-snapshot .snap{
  border-radius:16px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.03);
  padding:12px 12px;
}
.drill-snapshot .snap .k{
  color: rgba(214,223,244,.72);
  font-size:12px;
  font-weight:950;
  letter-spacing:.10em;
  text-transform:uppercase;
}
.drill-snapshot .snap .v{
  margin-top:8px;
  color: rgba(242,246,255,.92);
  font-size:14px;
  font-weight:950;
  letter-spacing:-.01em;
  font-variant-numeric: tabular-nums;
}
.drill-metrics{
  display:grid;
  grid-template-columns: 1fr;
  gap:10px;
}
.drill-metrics .metric{
  border-radius:16px;
  border:1px solid rgba(255,255,255,.10);
  background: rgba(255,255,255,.03);
  padding:12px 12px;
}
.drill-metrics .metric .k{
  color: rgba(214,223,244,.72);
  font-size:12px;
  font-weight:950;
  letter-spacing:.10em;
  text-transform:uppercase;
}
.drill-metrics .metric .v{
  margin-top:8px;
  color: rgba(242,246,255,.92);
  font-size:14px;
  font-weight:950;
  letter-spacing:-.01em;
  font-variant-numeric: tabular-nums;
}

@media (max-width: 980px){
  .modal .grid-3{grid-template-columns:1fr}
  .drill-grid{grid-template-columns:1fr}
  .drill-snapshot{grid-template-columns:1fr}
}

@media (max-width: 900px) {
  .xp-grid-3,
  .xp-action-grid {
    grid-template-columns: 1fr;
  }

  .xp-kpi-main {
    font-size: 34px;
  }

  .xp-kpi-sub {
    font-size: 18px;
  }
}
.no-scroll{
  overflow: hidden !important;
}
@media (max-width: 980px){
  .card-detail-grid{grid-template-columns:1fr}
  .card.expanded.is-open{width: 94vw; height: 84vh;}
}
