
:root{
  --obsidian:#080a0e;
  --graphite:#12161d;
  --graphite-2:#181d25;
  --graphite-3:#202630;
  --steel:#697684;
  --steel-2:#9aa6b4;
  --silver:#cbd2da;
  --silver-2:#e3e7ec;
  --white:#f7f9fb;
  --blue:#2f7ef7;
  --blue-soft:#162742;
  --green:#58c58f;
  --amber:#e4ad55;
  --red:#e66d70;
  --line:#29313b;
  --line-soft:#212832;
  --sidebar-width:254px;
  --radius:4px;
  --shadow:0 14px 40px rgba(0,0,0,.22);
}
*{box-sizing:border-box}
html{background:var(--obsidian);color-scheme:dark}
body{
  margin:0;
  min-height:100vh;
  color:var(--white);
  background:var(--obsidian);
  font-family:Inter, "Segoe UI", Arial, sans-serif;
  font-size:14px;
  line-height:1.45;
  letter-spacing:.01em;
}
button,select{font:inherit}
button{color:inherit}
button:focus-visible,select:focus-visible,[tabindex]:focus-visible{outline:2px solid var(--blue);outline-offset:2px}
.demo-banner{
  height:30px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  position:fixed;
  top:0;left:0;right:0;
  z-index:100;
  background:#05070a;
  border-bottom:1px solid #20262e;
  color:#aeb7c2;
  font-size:10px;
  font-weight:700;
  letter-spacing:.13em;
}
.demo-dot{width:6px;height:6px;border-radius:50%;background:var(--blue);box-shadow:0 0 0 3px rgba(47,126,247,.12)}
.demo-separator{color:#4f5965}
.banner-link{border:0;background:transparent;color:#dbe4ed;font-size:10px;font-weight:700;letter-spacing:.06em;padding:0 0 1px;border-bottom:1px solid #65717f;cursor:pointer}
.app-shell{display:flex;padding-top:30px;min-height:100vh}
.sidebar{
  width:var(--sidebar-width);
  position:fixed;
  top:30px;bottom:0;left:0;
  z-index:60;
  background:#0b0e13;
  border-right:1px solid var(--line);
  display:flex;
  flex-direction:column;
  transition:transform .2s ease;
}
.brand-block{padding:31px 27px 27px}
.brand-wordmark{display:flex;align-items:flex-end;gap:9px}
.brand-fmdv{font-size:24px;line-height:1;font-weight:800;letter-spacing:.08em}
.brand-systems{font-size:9px;line-height:1.25;color:#aeb6c0;font-weight:800;letter-spacing:.19em;padding-bottom:2px}
.brand-rule{height:2px;background:var(--blue);margin:16px 0 11px;width:52px}
.brand-subtitle{margin:0;color:#85909d;font-weight:700;font-size:9px;letter-spacing:.15em}
.main-nav{padding:3px 12px}
.nav-item{
  width:100%;
  display:grid;
  grid-template-columns:32px 1fr;
  align-items:center;
  text-align:left;
  border:0;
  border-left:2px solid transparent;
  background:transparent;
  padding:13px 14px;
  color:#8e99a6;
  cursor:pointer;
  font-weight:650;
  letter-spacing:.03em;
  transition:background .16s ease,color .16s ease,border-color .16s ease;
}
.nav-item:hover{background:#12171e;color:#dfe5eb}
.nav-item.active{background:#141a22;color:#fff;border-left-color:var(--blue)}
.nav-index{color:#53606e;font-size:9px;font-weight:800;letter-spacing:.08em}
.nav-item.active .nav-index{color:var(--blue)}
.sidebar-footer{margin-top:auto;padding:20px 23px 22px;border-top:1px solid var(--line-soft)}
.system-status{display:flex;gap:10px;align-items:center}
.status-light{width:8px;height:8px;border-radius:50%;background:var(--green);box-shadow:0 0 0 3px rgba(88,197,143,.11)}
.system-status div{display:flex;flex-direction:column;gap:2px}
.system-status strong{font-size:9px;letter-spacing:.12em}
.system-status span{font-size:10px;color:#87929f}
.sidebar-footer p{font-size:9px;color:#5f6975;line-height:1.5;margin:18px 0 0}
.main-content{margin-left:var(--sidebar-width);min-width:0;flex:1;background:#0d1015}
.topbar{
  min-height:92px;
  display:flex;align-items:center;justify-content:space-between;
  gap:20px;
  padding:20px 31px;
  border-bottom:1px solid var(--line);
  background:#10141a;
}
.topbar-left{display:flex;align-items:center;gap:14px}
.eyebrow{margin:0 0 4px;color:var(--blue);font-size:9px;font-weight:800;letter-spacing:.15em}
h1{margin:0;font-size:25px;line-height:1.1;letter-spacing:-.02em}
.topbar-right{display:flex;gap:28px}
.data-state,.timestamp{display:flex;flex-direction:column;gap:3px;align-items:flex-end}
.data-state span,.timestamp span{color:#7a8795;font-size:8px;font-weight:800;letter-spacing:.14em}
.data-state strong,.timestamp strong{font-size:10px;letter-spacing:.08em}
.data-state strong{color:var(--green)}
.menu-button{display:none;background:transparent;border:1px solid var(--line);padding:9px;cursor:pointer}
.menu-button span{display:block;width:18px;height:1px;background:#b8c0ca;margin:4px 0}
.filter-bar{
  display:flex;
  align-items:flex-end;
  gap:13px;
  padding:15px 31px;
  border-bottom:1px solid var(--line);
  background:#0e1217;
}
.filter-group{display:flex;flex-direction:column;gap:5px}
.filter-group label{font-size:8px;color:#81909f;font-weight:800;letter-spacing:.13em}
select{
  height:34px;
  min-width:155px;
  border:1px solid #303843;
  border-radius:2px;
  background:#151a21;
  color:#e5e9ee;
  padding:0 34px 0 11px;
  outline:none;
}
select:focus{border-color:var(--blue)}
.button-secondary{
  height:34px;
  border:1px solid #343d48;
  background:#161b22;
  padding:0 14px;
  border-radius:2px;
  cursor:pointer;
  font-size:10px;
  font-weight:750;
  letter-spacing:.08em;
  color:#c4cbd3;
}
.button-secondary:hover{border-color:#56606c;color:#fff}
.view{display:none;padding:24px 31px 30px}
.view.active-view{display:block}
.kpi-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;margin-bottom:12px}
.kpi-card{
  min-width:0;
  background:#14191f;
  border:1px solid var(--line);
  border-top:2px solid #36404c;
  padding:14px 14px 12px;
  box-shadow:0 2px 0 rgba(255,255,255,.01) inset;
}
.kpi-card.alert-card{border-top-color:var(--amber)}
.kpi-heading{display:flex;justify-content:space-between;gap:8px;color:#95a2af;font-size:8px;font-weight:800;letter-spacing:.12em}
.kpi-code{color:#4b5664}
.kpi-value{font-size:26px;font-weight:720;letter-spacing:-.035em;margin:9px 0 8px}
.kpi-footer{display:flex;align-items:center;gap:6px;flex-wrap:wrap;font-size:9px;color:#85919e}
.kpi-footer span:first-child{font-weight:750}
.positive{color:var(--green)!important}
.negative{color:var(--red)!important}
.neutral{color:var(--silver)!important}
.dashboard-grid{display:grid;grid-template-columns:2fr 1fr;gap:12px}
.panel{
  min-width:0;
  background:#12171d;
  border:1px solid var(--line);
  padding:18px;
  box-shadow:var(--shadow);
}
.panel-wide{min-height:300px}
.panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;margin-bottom:14px}
.panel-kicker{margin:0 0 3px;color:#7d8997;font-size:8px;font-weight:800;letter-spacing:.15em}
.panel h2{font-size:15px;margin:0;letter-spacing:-.01em}
.panel-meta{font-size:10px;color:#7f8a96}
.chart-legend,.severity-legend{display:flex;gap:15px;color:#8c98a5;font-size:9px}
.chart-legend span,.severity-legend span{display:flex;align-items:center;gap:6px}
.legend-line{display:inline-block;width:18px;height:2px}
.legend-line.actual{background:var(--blue)}
.legend-line.target{background:#657281;border-top:1px dashed #657281}
.chart-wrap{height:245px}
.chart-wrap.large{height:320px}
.chart{width:100%;height:100%;overflow:visible}
.chart text{font-family:Inter,Segoe UI,Arial,sans-serif}
.grid-line{stroke:#252c35;stroke-width:1}
.axis-label{fill:#7d8996;font-size:10px}
.actual-line{fill:none;stroke:var(--blue);stroke-width:3;stroke-linejoin:round;stroke-linecap:round}
.target-line{fill:none;stroke:#596675;stroke-width:2;stroke-dasharray:6 7;stroke-linejoin:round}
.area-fill{fill:rgba(47,126,247,.07)}
.data-point{fill:#0f141a;stroke:var(--blue);stroke-width:2}
.target-point{fill:#596675}
.bar-list{display:flex;flex-direction:column;gap:16px;padding-top:4px}
.bar-row{display:grid;grid-template-columns:1fr 48px;gap:10px}
.bar-meta{display:flex;align-items:center;justify-content:space-between;margin-bottom:6px;color:#9aa5b1;font-size:10px}
.bar-meta strong{color:#e5e8ec}
.bar-track{height:7px;background:#222a33;position:relative;overflow:hidden}
.bar-fill{height:100%;background:var(--blue)}
.bar-value{text-align:right;align-self:end;font-weight:720;font-size:11px}
.text-button{border:0;background:transparent;color:#8092aa;cursor:pointer;font-size:9px;font-weight:750;letter-spacing:.05em}
.text-button:hover{color:#fff}
.table-wrap{overflow:auto}
.data-table{width:100%;border-collapse:collapse;min-width:720px}
.data-table th{
  text-align:left;
  padding:8px 10px;
  border-bottom:1px solid #303844;
  color:#7f8c99;
  font-size:8px;
  font-weight:800;
  letter-spacing:.11em;
  white-space:nowrap;
}
.data-table td{
  padding:11px 10px;
  border-bottom:1px solid #202731;
  color:#c7cfd7;
  font-size:10px;
  vertical-align:middle;
}
.data-table tbody tr:hover{background:#151b22}
.data-table tbody tr[data-open]{cursor:pointer}
.data-table tbody tr[data-open]:focus-within{background:#151b22}
.data-table td strong{color:#f0f3f6}
.money{font-variant-numeric:tabular-nums;font-weight:700;color:#eef1f4}
.progress-cell{min-width:110px}
.progress-track{height:5px;background:#242c35;position:relative;margin-bottom:4px}
.progress-fill{height:100%;background:#66798f}
.progress-fill.good{background:var(--blue)}
.progress-text{font-size:8px;color:#707c89}
.status-pill,.risk-pill,.status-chip{
  display:inline-flex;align-items:center;
  min-height:21px;padding:0 8px;
  border:1px solid #3a4552;
  font-size:8px;font-weight:800;letter-spacing:.08em;
  text-transform:uppercase;white-space:nowrap;
}
.status-pill.good{border-color:#32684f;color:#79d6a5;background:#10251b}
.status-pill.warning,.risk-pill.medium{border-color:#7d6234;color:#e3bc70;background:#271f11}
.status-pill.alert,.risk-pill.high{border-color:#7c4042;color:#ee8d90;background:#281516}
.status-pill.neutral,.risk-pill.low{color:#aeb9c4;background:#1a2028}
.status-chip{color:#8cb9ff;border-color:#294d7f;background:#10223a}
.exception-list{display:flex;flex-direction:column;gap:10px}
.exception-item{border-left:2px solid #46515e;background:#161c23;padding:10px 11px}
.exception-item.critical{border-left-color:var(--red)}
.exception-item.warning{border-left-color:var(--amber)}
.exception-item.info{border-left-color:var(--blue)}
.exception-top{display:flex;justify-content:space-between;gap:8px;margin-bottom:5px}
.exception-top strong{font-size:10px}
.exception-top span{font-size:8px;color:#6f7a87;letter-spacing:.08em}
.exception-item p{margin:0;color:#9aa5b1;font-size:9px;line-height:1.45}
.verification-strip{
  margin-top:12px;
  border:1px solid #263443;
  border-left:3px solid var(--blue);
  background:#101720;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:20px;
  padding:15px 18px;
}
.verification-title{display:flex;align-items:center;gap:11px}
.verification-icon{width:28px;height:28px;border:1px solid #3268b7;color:#76aaff;display:grid;place-items:center;font-weight:900;font-size:12px}
.verification-title div{display:flex;flex-direction:column}
.verification-title strong{font-size:9px;letter-spacing:.12em}
.verification-title span{font-size:9px;color:#6f7c89;margin-top:2px}
.verification-metrics{display:flex;gap:27px}
.verification-metrics div{display:flex;flex-direction:column;align-items:flex-end}
.verification-metrics span{font-size:8px;color:#687583;text-transform:uppercase;letter-spacing:.08em}
.verification-metrics strong{font-size:10px;margin-top:3px}
.section-grid{display:grid;grid-template-columns:2fr 1fr;gap:12px}
.full-row{grid-column:1/-1}
.donut-layout{display:grid;grid-template-columns:128px 1fr;gap:20px;align-items:center;padding-top:10px}
.donut{
  width:128px;height:128px;border-radius:50%;
  display:grid;place-items:center;
  position:relative;
}
.donut::after{content:"";width:76px;height:76px;border-radius:50%;background:#12171d;position:absolute}
.donut-centre{position:relative;z-index:2;text-align:center}
.donut-centre strong{display:block;font-size:18px}
.donut-centre span{font-size:8px;color:#75808c}
.mix-list{display:flex;flex-direction:column;gap:9px}
.mix-item{display:grid;grid-template-columns:8px 1fr auto;align-items:center;gap:8px;font-size:9px;color:#87929e}
.mix-swatch{width:8px;height:8px}
.mix-item strong{color:#d9dee4}
.signal-list{display:flex;flex-direction:column;gap:9px}
.signal-item{padding:11px;background:#161c23;border:1px solid #242d37}
.signal-item span{font-size:8px;color:#667380;font-weight:800;letter-spacing:.1em}
.signal-item strong{display:block;font-size:10px;line-height:1.45;margin-top:3px}
.signal-item p{margin:5px 0 0;color:#909ca9;font-size:9px}
.metric-stack{display:flex;flex-direction:column;gap:10px}
.metric-row{display:grid;grid-template-columns:86px 1fr 38px;gap:10px;align-items:center}
.metric-row span{font-size:9px;color:#84909d}
.metric-track{height:8px;background:#242c35}
.metric-fill{height:100%;background:#65788d}
.metric-row strong{text-align:right;font-size:10px}
.signal-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}
.signal-card{border:1px solid #27303a;background:#161c23;padding:13px}
.signal-card span{font-size:8px;color:#7f8c99;font-weight:800;letter-spacing:.1em}
.signal-card strong{display:block;margin:7px 0 5px;font-size:12px}
.signal-card p{margin:0;color:#8e9aa7;font-size:9px}
.exception-register{display:flex;flex-direction:column}
.register-row{
  display:grid;
  grid-template-columns:105px 100px 1.2fr 1.7fr 120px 100px;
  gap:10px;
  align-items:center;
  min-width:850px;
  padding:12px 8px;
  border-bottom:1px solid #222a33;
  font-size:10px;
}
.register-row.header{color:#667482;font-size:8px;font-weight:800;letter-spacing:.1em;border-bottom-color:#35404c}
.register-row:not(.header):hover{background:#151b22}
.severity{font-size:8px;font-weight:800;letter-spacing:.08em}
.severity.critical{color:var(--red)}
.severity.warning{color:var(--amber)}
.severity.info{color:#7baeff}
.severity-dot{width:7px;height:7px;border-radius:50%}
.severity-dot.critical{background:var(--red)} .severity-dot.warning{background:var(--amber)} .severity-dot.info{background:var(--blue)}
.app-footer{
  display:flex;justify-content:space-between;gap:20px;
  padding:20px 31px 25px;
  color:#596471;
  font-size:8px;font-weight:700;letter-spacing:.1em;
}
.about-dialog{
  width:min(700px,calc(100% - 34px));
  border:1px solid #35404d;
  background:#11161d;
  color:#fff;
  padding:0;
  box-shadow:0 25px 80px rgba(0,0,0,.55);
}
.about-dialog::backdrop{background:rgba(2,4,7,.77)}
.dialog-header{display:flex;justify-content:space-between;align-items:flex-start;padding:23px 25px;border-bottom:1px solid var(--line)}
.dialog-header h2{margin:0;font-size:19px}
.dialog-close{border:1px solid #333d49;background:#171c23;width:30px;height:30px;cursor:pointer;font-size:20px;line-height:1}
.dialog-body{padding:23px 25px;color:#abb4bf}
.dialog-body>p{margin:0 0 18px}
.dialog-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin-bottom:19px}
.dialog-grid div{background:#151b22;border:1px solid #27313c;padding:13px}
.dialog-grid span{display:block;color:var(--blue);font-size:8px;font-weight:800;letter-spacing:.1em;margin-bottom:7px}
.dialog-grid strong{font-size:10px;line-height:1.45;color:#dce2e8}
.dialog-note{padding:12px;border-left:2px solid var(--blue);background:#101a28;font-size:10px}



/* v1.1 interaction and commercial intelligence */
.banner-short{display:none}
.nav-backdrop,.drawer-backdrop{position:fixed;inset:30px 0 0 0;background:rgba(2,4,7,.68);opacity:0;pointer-events:none;transition:opacity .18s ease;z-index:55}
.nav-backdrop.visible,.drawer-backdrop.visible{opacity:1;pointer-events:auto}
.drawer-backdrop{z-index:109;inset:0}
body.overlay-open{overflow:hidden}

.revenue-kpi-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}
.mini-kpi{background:#14191f;border:1px solid var(--line);border-top:2px solid #36404c;padding:14px 15px}
.mini-kpi>span{display:block;color:#8f9ca9;font-size:8px;font-weight:800;letter-spacing:.12em}
.mini-kpi>strong{display:block;margin:8px 0 4px;font-size:23px;letter-spacing:-.03em}
.mini-kpi>small{color:#8995a2;font-size:9px}
.legend-line.forecast{height:0;border-top:2px dashed var(--green);background:transparent}
.forecast-line{fill:none;stroke:var(--green);stroke-width:2.5;stroke-dasharray:5 6;stroke-linejoin:round;stroke-linecap:round}
.forecast-point{fill:#10151b;stroke:var(--green);stroke-width:2}
.chart-value-label{fill:#b9c3ce;font-size:9px;font-weight:700}

.service-economics{display:grid;grid-template-columns:minmax(260px,.8fr) minmax(360px,1.4fr);gap:22px;align-items:center}
.compact-table{width:100%;overflow:auto}
.compact-row{display:grid;grid-template-columns:minmax(120px,1.4fr) repeat(4,minmax(58px,.65fr));gap:9px;align-items:center;padding:10px 8px;border-bottom:1px solid #222a33;font-size:9px;color:#aeb8c2}
.compact-row.header{color:#7f8c99;font-size:8px;font-weight:800;letter-spacing:.09em;border-bottom-color:#35404c}
.compact-row strong{color:#e9edf1}
.trend-up{color:var(--green)!important}.trend-down{color:var(--red)!important}.trend-flat{color:#b7c0c9!important}
.quality-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:10px}
.quality-card{border:1px solid #28323d;background:#161c23;padding:13px}
.quality-card span{display:block;color:#8794a1;font-size:8px;font-weight:800;letter-spacing:.1em}
.quality-card strong{display:block;margin:8px 0 5px;font-size:18px}
.quality-card p{margin:0;color:#909ca9;font-size:9px}

.signal-item.actionable{position:relative;padding-left:13px;border-left:2px solid #3a4653}
.signal-item.actionable.positive-signal{border-left-color:var(--green)}
.signal-item.actionable.warning-signal{border-left-color:var(--amber)}
.signal-item.actionable.critical-signal{border-left-color:var(--red)}
.signal-structure{display:grid;grid-template-columns:74px 1fr;gap:5px 8px;margin-top:8px;font-size:9px}
.signal-structure b{color:#7f8c99;font-size:8px;letter-spacing:.08em}
.signal-structure span{color:#aab5c0;font-size:9px;letter-spacing:0;font-weight:400}

.stage-stack{display:flex;flex-direction:column;gap:9px}
.stage-row{display:grid;grid-template-columns:86px 1fr 72px 72px;gap:10px;align-items:center;padding:6px 0}
.stage-row>span{font-size:10px;color:#a1acb7}
.stage-track{height:8px;background:#242c35;overflow:hidden}
.stage-fill{height:100%;background:#6a7f96}
.stage-row strong{font-size:10px;text-align:right}
.stage-row small{text-align:right;color:#8b97a4;font-size:8px}

.row-action{appearance:none;border:0;background:transparent;color:inherit;font:inherit;padding:0;text-align:left;cursor:pointer;text-decoration:none}
.row-action:hover{color:#fff;text-decoration:underline;text-decoration-color:#41546b;text-underline-offset:3px}
.exception-item[data-exception-id]{cursor:pointer}
.exception-item[data-exception-id]:hover{background:#1a2129}

.control-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:12px}
.control-summary{border:1px solid var(--line);background:#14191f;padding:13px}
.control-summary span{display:block;color:#8895a2;font-size:8px;font-weight:800;letter-spacing:.1em}
.control-summary strong{display:block;margin-top:7px;font-size:20px}
.control-summary small{display:block;margin-top:3px;color:#8d99a6;font-size:9px}
.register-row[data-exception-id]{cursor:pointer}
.register-row[data-exception-id]:hover{background:#171e26}

.detail-drawer{position:fixed;top:30px;right:0;bottom:0;width:min(560px,92vw);z-index:110;background:#0f141a;border-left:1px solid #35404c;box-shadow:-20px 0 60px rgba(0,0,0,.38);transform:translateX(102%);transition:transform .22s ease;display:flex;flex-direction:column}
.detail-drawer.open{transform:translateX(0)}
.drawer-header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:20px 22px;border-bottom:1px solid var(--line);background:#11161d}
.drawer-header h2{margin:0;font-size:20px}
.drawer-body{padding:20px 22px 32px;overflow:auto}
.drawer-summary{display:grid;grid-template-columns:repeat(2,1fr);gap:9px;margin-bottom:18px}
.drawer-stat{border:1px solid #29333e;background:#151b22;padding:11px}
.drawer-stat span{display:block;color:#85919e;font-size:8px;font-weight:800;letter-spacing:.09em}
.drawer-stat strong{display:block;margin-top:5px;font-size:12px;color:#eef2f5}
.drawer-section{margin-top:18px;padding-top:16px;border-top:1px solid #29323c}
.drawer-section h3{font-size:11px;margin:0 0 10px;letter-spacing:.04em}
.detail-grid{display:grid;grid-template-columns:130px 1fr;gap:8px 12px;font-size:10px}
.detail-grid dt{color:#83909d;font-weight:700}.detail-grid dd{margin:0;color:#c7d0d9}
.health-breakdown{display:flex;flex-direction:column;gap:9px}
.health-row{display:grid;grid-template-columns:115px 1fr 38px;gap:10px;align-items:center;font-size:9px}
.health-row span{color:#9ca7b2}.health-row strong{text-align:right;font-size:9px}
.health-track{height:6px;background:#252d36;overflow:hidden}.health-fill{height:100%;background:var(--blue)}
.timeline{display:flex;flex-direction:column;gap:0}
.timeline-item{position:relative;padding:0 0 15px 19px;border-left:1px solid #39434e;margin-left:4px}
.timeline-item:last-child{padding-bottom:0}
.timeline-item::before{content:"";position:absolute;left:-4px;top:3px;width:7px;height:7px;border-radius:50%;background:#718092}
.timeline-item.verified::before{background:var(--green)}
.timeline-item strong{display:block;font-size:10px}.timeline-item span{display:block;color:#8d99a6;font-size:9px;margin-top:3px}
.link-cluster{display:flex;flex-wrap:wrap;gap:7px}
.object-link{border:1px solid #354352;background:#151d27;color:#9fc2fa;padding:6px 9px;font-size:9px;cursor:pointer}
.object-link:hover{border-color:#4775b3;color:#fff}
.workflow-state{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.workflow-step{padding:6px 8px;border:1px solid #35404c;color:#84919f;font-size:8px;font-weight:800;letter-spacing:.06em;text-transform:uppercase}
.workflow-step.active{border-color:#4d77ac;background:#10233b;color:#9fc5ff}
.workflow-step.done{border-color:#37694f;background:#10251b;color:#83d9ab}
.drawer-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}
.button-primary{height:34px;border:1px solid #3979cb;background:#17355b;color:#e7f1ff;padding:0 13px;cursor:pointer;font-size:9px;font-weight:800;letter-spacing:.06em}
.button-primary:hover{background:#1c4476}
.button-primary.verify{border-color:#367052;background:#123221;color:#a7e8c4}
.button-primary:disabled{opacity:.45;cursor:not-allowed}
.drawer-note{padding:10px 11px;border-left:2px solid var(--blue);background:#101a28;color:#9ba8b5;font-size:9px;line-height:1.5}

@media (max-width:1250px){
  .kpi-grid{grid-template-columns:repeat(3,1fr)}
  .verification-strip{align-items:flex-start;flex-direction:column}
  .verification-metrics{width:100%;justify-content:space-between}
  .revenue-kpi-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:900px){
  .sidebar{transform:translateX(-100%);box-shadow:20px 0 60px rgba(0,0,0,.35)}
  .sidebar.open{transform:translateX(0)}
  .main-content{margin-left:0}
  .menu-button{display:block}
  .dashboard-grid,.section-grid{grid-template-columns:1fr}
  .full-row{grid-column:auto}
  .panel-wide{min-height:unset}
  .topbar-right{display:none}
  .dialog-grid{grid-template-columns:1fr}
  .service-economics{grid-template-columns:1fr}
  .control-summary-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:680px){
  .demo-banner{justify-content:center;padding:0 10px;gap:7px;white-space:nowrap}
  .banner-long,.banner-long-inline{display:none}.banner-short{display:inline}
  .demo-separator{display:inline}
  .banner-link{font-size:9px}
  .topbar{padding:17px 16px}
  h1{font-size:21px}
  .filter-bar{padding:12px 16px;display:grid;grid-template-columns:1fr 1fr}
  .filter-group:last-of-type{grid-column:1/-1}
  select{width:100%;min-width:0}
  .view{padding:16px}
  .kpi-grid{grid-template-columns:1fr 1fr}
  .dashboard-grid{gap:10px}
  .panel{padding:14px}
  .verification-metrics{display:grid;grid-template-columns:1fr 1fr;gap:13px 25px}
  .verification-metrics div{align-items:flex-start}
  .signal-grid{grid-template-columns:1fr}
  .app-footer{padding:20px 16px;flex-direction:column}
  .revenue-kpi-grid{grid-template-columns:1fr 1fr}
  .quality-grid{grid-template-columns:1fr 1fr}
  .stage-row{grid-template-columns:70px 1fr 55px}.stage-row small{display:none}
  .detail-drawer{width:100vw;top:30px}
  .drawer-summary{grid-template-columns:1fr 1fr}
  .detail-grid{grid-template-columns:105px 1fr}

  .data-table.mobile-stack{min-width:0}
  .data-table.mobile-stack thead{display:none}
  .data-table.mobile-stack,.data-table.mobile-stack tbody,.data-table.mobile-stack tr,.data-table.mobile-stack td{display:block;width:100%}
  .data-table.mobile-stack tbody{display:grid;gap:9px}
  .data-table.mobile-stack tr{border:1px solid #29333e;background:#141a21;padding:9px 11px}
  .data-table.mobile-stack td{display:grid;grid-template-columns:92px 1fr;gap:10px;padding:6px 0;border:0;font-size:10px}
  .data-table.mobile-stack td::before{content:attr(data-label);color:#7f8d9a;font-size:8px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
  .data-table.mobile-stack .progress-cell{min-width:0}
}
@media (max-width:430px){
  .kpi-grid{grid-template-columns:1fr}
  .filter-bar{grid-template-columns:1fr}
  .filter-group:last-of-type{grid-column:auto}
  .chart-wrap{height:210px}
  .donut-layout{grid-template-columns:1fr;justify-items:center}
  .revenue-kpi-grid,.quality-grid,.control-summary-grid{grid-template-columns:1fr}
  .compact-row{grid-template-columns:1fr 58px 58px}.compact-row>*:nth-child(4),.compact-row>*:nth-child(5){display:none}
  .drawer-summary{grid-template-columns:1fr}
  .detail-grid{grid-template-columns:1fr}.detail-grid dt{margin-top:4px}
  .health-row{grid-template-columns:95px 1fr 32px}
  .demo-banner{font-size:9px}.banner-link{font-size:9px}
}
.register-detail{color:#8f9aa7;font-size:9px;margin-top:3px;line-height:1.45}
.empty-state{padding:18px;color:#8f9aa7;font-size:10px;border:1px dashed #303a45}
@media (max-width:680px){
  .exception-register{display:grid;gap:9px}
  .register-row.header{display:none}
  .register-row{display:block;min-width:0;padding:11px;border:1px solid #29333e;background:#141a21}
  .register-row>[data-label]{display:grid;grid-template-columns:92px 1fr;gap:10px;padding:5px 0}
  .register-row>[data-label]::before{content:attr(data-label);color:#7f8d9a;font-size:8px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}
  .register-row>div[data-label] strong{font-size:10px}
  .register-row .register-detail{margin-top:4px}
}
@media (max-width:430px){
  .register-row>div[data-label="Control item"]{display:block;padding:8px 0}
  .register-row>div[data-label="Control item"]::before{display:block;margin-bottom:6px}
}

.brand-wordmark--asset{display:block;width:112px}.brand-wordmark--asset img{display:block;width:100%;height:auto}
