:root {
  --app-bg: #ee8040;
  --surface-1: rgba(20, 20, 24, 0.82);
  --surface-2: rgba(255, 255, 255, 0.045);
  --surface-3: rgba(255, 255, 255, 0.08);
  --ink: #f5f3ef;
  --ink-soft: #b8b3aa;
  --ink-muted: #7a746a;
  --line: rgba(255, 255, 255, 0.16);
  --line-soft: rgba(255, 255, 255, 0.1);
  --charcoal: #1a1a1c;
  --orange: #ff6a1a;
  --orange-soft: rgba(255, 106, 26, 0.14);
  --red: #e1063a;
  --green: #18d27d;
  --blue: #ff8a3d;
  --purple: #f5d547;
  --radius: 0;
  --shadow-soft: inset 1px 1px 0 rgba(255, 255, 255, 0.08), 4px 4px 0 rgba(0, 0, 0, 0.45), 14px 14px 34px rgba(0, 0, 0, 0.28);
  --transition: 0.2s cubic-bezier(0.4, 0, 0.2, 1);
  color-scheme: dark;
}

* { box-sizing: border-box; letter-spacing: 0; }
body { margin: 0; min-width: 320px; min-height: 100vh; background: var(--app-bg) !important; color: var(--ink); font: 14px/1.55 'Plus Jakarta Sans', sans-serif; overflow-x: hidden; }
button, input, textarea { font: inherit; }
button { color: inherit; }
.aurora { position: fixed; inset: 0; z-index: -2; background: linear-gradient(rgba(0, 0, 0, 0.08) 1px, transparent 1px), linear-gradient(90deg, rgba(0, 0, 0, 0.08) 1px, transparent 1px), linear-gradient(145deg, #f09856 0%, #ee8040 42%, #ce5f2b 78%, #9b3d18 100%); background-size: 36px 36px, 36px 36px, auto; }
.dot-grid { position: fixed; inset: 0; z-index: -1; background: linear-gradient(to bottom, rgba(0, 0, 0, 0.02), rgba(0, 0, 0, 0.14)); }
.app-topbar { position: sticky; top: 0; z-index: 20; min-height: 86px; padding: 11px clamp(18px, 3.8vw, 48px); display: flex; align-items: center; justify-content: space-between; gap: 24px; background: linear-gradient(135deg, #2a2a2f 0%, #1f1f23 50%, #17171a 100%) !important; border-bottom: 1px solid rgba(255,255,255,.08); box-shadow: none; }
.brand-lockup { display: flex; align-items: center; gap: 14px; min-width: 0; }
.brand-mark { width: 64px; height: 64px; display: grid; place-items: center; border-radius: 0; background: rgba(255,255,255,.055); color: var(--ink); border: 1px solid rgba(255,255,255,.16); font: 800 16px/1 'Sora', sans-serif; box-shadow: inset 0 -4px 0 rgba(255,106,26,.78); clip-path: polygon(12px 0, 100% 0, 100% calc(100% - 12px), calc(100% - 12px) 100%, 0 100%, 0 12px); }
.eyebrow { margin: 0 0 4px; font: 700 10px/1.2 'JetBrains Mono', monospace; text-transform: uppercase; color: var(--orange); }
h1, h2, h3, h4 { font-family: 'Sora', sans-serif; margin: 0; line-height: 1.15; color: var(--ink); }
h1 { font-size: 22px; text-transform: uppercase; }
h4 { font-size: 13px; text-transform: uppercase; margin-bottom: 10px; }
.app-topbar h1,
.app-topbar .eyebrow {
  color: #f5f3ef !important;
}
.topbar-meta { display: flex; align-items: center; gap: 10px; flex-wrap: wrap; justify-content: flex-end; font: 700 11px/1 'JetBrains Mono', monospace; text-transform: uppercase; color: rgba(32,35,43,.78); }
.topbar-meta span, .topbar-meta a { padding: 10px 12px; border: 1px solid rgba(255,255,255,.16); background: rgba(255,255,255,.055); border-radius: 0; color: var(--ink-soft); text-decoration: none; clip-path: polygon(9px 0, 100% 0, 100% calc(100% - 9px), calc(100% - 9px) 100%, 0 100%, 0 9px); }
.workspace { width: min(1840px, calc(100% - 32px)); margin: 22px auto 48px; }
.intro-band { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 24px; border-radius: var(--radius); background: linear-gradient(165deg, rgba(255,255,255,.09) 0%, rgba(255,255,255,.04) 48%, rgba(255,255,255,.02) 100%); border: 1px solid rgba(255,255,255,.12); box-shadow: var(--shadow-soft); backdrop-filter: blur(24px); }
.intro-band h2 { color: #fff; font-size: clamp(25px, 3vw, 42px); max-width: 880px; }
.intro-band p:not(.eyebrow) { max-width: 840px; color: rgba(255,255,255,.74); margin: 10px 0 0; }
.intro-actions, .import-actions, .export-stack, .json-actions { display: flex; gap: 10px; flex-wrap: wrap; }
.export-stack { flex-direction: column; padding: 0 18px 18px; }
.btn { border: 1px solid rgba(255,255,255,.12); background: rgba(255,255,255,.055); border-radius: var(--radius); padding: 10px 14px; font-weight: 800; cursor: pointer; transition: transform var(--transition), border-color var(--transition), box-shadow var(--transition), background var(--transition); min-height: 38px; color: var(--ink); backdrop-filter: blur(12px); }
.btn:hover { transform: translateY(-1px); box-shadow: 0 8px 18px rgba(28,32,36,.12); }
.btn.primary { background: var(--orange); border-color: rgba(242,157,29,.84); color: #0b1320; }
.btn.secondary { background: var(--surface-2); }
.btn.tiny { padding: 6px 9px; font-size: 12px; min-height: 30px; }
.btn:disabled { cursor: not-allowed; opacity: .48; box-shadow: none; transform: none; }
.metrics { display: grid; grid-template-columns: repeat(6, minmax(0, 1fr)); gap: 12px; margin: 16px 0; }
.metrics article { padding: 15px; border: 1px solid var(--line); background: var(--surface-1); border-radius: var(--radius); box-shadow: var(--shadow-soft); min-height: 86px; }
.metrics span { display: block; color: var(--ink-muted); font: 700 10px/1.2 'JetBrains Mono', monospace; text-transform: uppercase; }
.metrics strong { display: block; margin-top: 8px; font: 800 28px/1 'Sora', sans-serif; }
.workspace-tabs { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin: 0 0 16px; }
.tab-button { text-align: left; display: grid; gap: 4px; padding: 14px 16px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface-1); box-shadow: var(--shadow-soft); cursor: pointer; min-height: 74px; }
.tab-button:hover { border-color: rgba(232,97,10,.45); }
.tab-button.active { background: var(--charcoal); border-color: var(--charcoal); color: #fff; box-shadow: inset 0 -3px 0 var(--orange), var(--shadow-soft); }
.tab-button span { font-weight: 800; line-height: 1.25; }
.tab-button small { color: var(--ink-muted); font-size: 12px; line-height: 1.3; }
.tab-button.active small { color: rgba(255,255,255,.68); }
.workflow-panel[hidden] { display: none; }
.workflow-panel.active { display: block; }
.step-strip { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; margin-bottom: 12px; }
.step-strip span { display: flex; align-items: center; gap: 9px; min-height: 44px; padding: 10px 12px; border: 1px solid var(--line); border-radius: var(--radius); background: var(--surface-1); color: var(--ink-soft); font-weight: 800; box-shadow: var(--shadow-soft); }
.step-strip strong { width: 24px; height: 24px; display: grid; place-items: center; border-radius: 999px; background: var(--charcoal); color: #fff; font: 800 12px/1 'Sora', sans-serif; }
.scope-summary { margin: 0 0 16px; padding: 13px 15px; border: 1px solid rgba(0,120,184,.18); border-radius: var(--radius); background: rgba(0,120,184,.06); color: var(--ink-soft); font-weight: 700; }
.builder-grid { display: grid; grid-template-columns: 300px minmax(620px, 1fr) 420px; gap: 16px; align-items: start; margin-bottom: 0; }
.main-grid { display: grid; grid-template-columns: 370px minmax(0, 1fr) 330px; gap: 16px; align-items: start; }
.builder-grid > *, .main-grid > *, .metrics > *, .detail-grid > *, .import-grid > *, .side-stack > * { min-width: 0; }
.panel { background: var(--surface-1); border: 1px solid var(--line); border-radius: var(--radius); box-shadow: var(--shadow-soft); }
.panel-head { padding: 18px; border-bottom: 1px solid var(--line-soft); display: flex; justify-content: space-between; gap: 14px; align-items: flex-start; }
.panel-head.compact { align-items: center; }
.panel-head h3 { font-size: 18px; }
.panel-actions { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
.policy-nav, .side-stack { position: sticky; top: 14px; }
.side-stack { display: grid; gap: 16px; }
.choice-stack { padding: 16px; display: grid; gap: 20px; }
.choice-list { display: grid; gap: 10px; }
.choice-card { width: 100%; text-align: left; display: grid; gap: 7px; padding: 13px; border: 1px solid var(--line); background: var(--surface-2); border-radius: 7px; cursor: pointer; min-height: 98px; }
.choice-card:hover { border-color: rgba(232,97,10,.45); background: #fff; }
.choice-card.active { border-color: var(--orange); background: var(--orange-soft); box-shadow: inset 3px 0 0 var(--orange); }
.choice-title { font-weight: 800; line-height: 1.25; }
.choice-desc { color: var(--ink-soft); font-size: 12px; line-height: 1.35; }
.choice-risk { justify-self: start; border-radius: 999px; padding: 4px 8px; font: 700 10px/1 'JetBrains Mono', monospace; text-transform: uppercase; border: 1px solid var(--line); }
.choice-risk.medium { color: #075f87; background: rgba(0,120,184,.1); border-color: rgba(0,120,184,.26); }
.choice-risk.high { color: #8b3805; background: rgba(232,97,10,.13); border-color: rgba(232,97,10,.3); }
.choice-risk.critical { color: #9d1730; background: rgba(216,23,69,.1); border-color: rgba(216,23,69,.28); }
.threat-panel { min-height: 100%; }
.threat-list { padding: 14px; display: grid; grid-template-columns: repeat(auto-fill, minmax(235px, 1fr)); gap: 10px; }
.threat-card { text-align: left; min-height: 198px; display: grid; grid-template-rows: auto auto auto 1fr auto auto; gap: 7px; padding: 13px; border: 1px solid var(--line); border-radius: 7px; background: #fff; cursor: pointer; }
.threat-card:hover { border-color: rgba(0,120,184,.38); background: #fbfdff; }
.threat-card.active { border-color: var(--blue); background: rgba(0,120,184,.08); box-shadow: inset 3px 0 0 var(--blue); }
.threat-card.suggested { border-color: rgba(232,97,10,.45); background: #fff8ee; box-shadow: inset 3px 0 0 var(--orange); }
.threat-top, .policy-card-top { display: flex; justify-content: space-between; gap: 8px; align-items: center; }
.technique { padding: 4px 7px; border-radius: 5px; background: var(--surface-3); color: var(--ink-soft); font: 800 10px/1 'JetBrains Mono', monospace; }
.threat-name { font-weight: 800; line-height: 1.25; }
.threat-meta, .threat-desc, .threat-controls, .threat-reason { color: var(--ink-soft); font-size: 12px; line-height: 1.35; }
.threat-reason { font-weight: 800; color: #7a4c00; }
.threat-card.active .threat-reason { color: #075f87; }
.threat-controls { color: var(--blue); font-weight: 700; }
.coverage-summary { padding: 16px 16px 0; }
.risk-strip { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 8px; }
.risk-strip div { border: 1px solid var(--line); border-radius: 7px; background: var(--surface-2); padding: 12px; }
.risk-strip span { display: block; color: var(--ink-muted); font: 700 9px/1 'JetBrains Mono', monospace; text-transform: uppercase; }
.risk-strip strong { display: block; margin-top: 7px; font: 800 24px/1 'Sora', sans-serif; }
.coverage-note { color: var(--ink-soft); font-size: 12px; padding: 12px 0 0; }
.control-list { padding: 16px; display: grid; gap: 9px; }
.control-row { --control-color: var(--blue); display: grid; grid-template-columns: 9px minmax(0, 1fr); gap: 10px; align-items: start; padding: 11px; border: 1px solid var(--line-soft); background: #fff; border-radius: 7px; }
.control-mfa, .control-admin_mfa, .control-guest_access, .control-service_account_protection { --control-color: var(--blue); }
.control-phish_mfa, .control-agent_risk { --control-color: var(--purple); }
.control-legacy_auth, .control-trusted_location, .control-agent_compliant_network { --control-color: var(--orange); }
.control-auth_flows, .control-unknown_platforms, .control-agent_identity_block, .control-agent_users_block, .control-users_agent_resources_block { --control-color: var(--red); }
.control-device_compliance, .control-app_protection, .control-agent_compliant_device { --control-color: var(--green); }
.control-sign_in_risk, .control-user_risk, .control-agent_user_risk { --control-color: #c2175b; }
.control-session_controls, .control-persistent_browser, .control-admin_session, .control-selected_app_block { --control-color: #4254b5; }
.control-row strong { display: block; color: var(--ink); line-height: 1.25; }
.control-row span:not(.control-dot) { display: block; color: var(--ink-soft); font-size: 12px; line-height: 1.35; margin-top: 4px; }
.control-dot { width: 9px; height: 100%; min-height: 36px; border-radius: 99px; background: var(--control-color); }
.strategy-builder-grid { display: grid; grid-template-columns: 360px minmax(0, 1fr); gap: 16px; align-items: start; }
.strategy-input-panel { position: sticky; top: 14px; }
.strategy-form { padding: 16px; display: grid; gap: 12px; }
.strategy-field { display: grid; gap: 7px; }
.strategy-field span, .strategy-toggle strong { color: var(--ink); font-weight: 800; line-height: 1.25; }
.strategy-field > span { color: var(--ink-muted); font: 700 10px/1.2 'JetBrains Mono', monospace; text-transform: uppercase; }
.strategy-field select, .strategy-field input { width: 100%; border: 1px solid var(--line); border-radius: 6px; background: #fff; padding: 10px; color: var(--ink); font-weight: 800; }
.strategy-field small { color: var(--ink-soft); line-height: 1.35; font-size: 12px; }
.strategy-toggle { display: grid; grid-template-columns: 20px minmax(0, 1fr); gap: 10px; align-items: start; padding: 11px; border: 1px solid var(--line-soft); border-radius: 7px; background: var(--surface-2); cursor: pointer; }
.strategy-toggle:hover { border-color: rgba(232,97,10,.35); background: #fff; }
.strategy-toggle input { margin-top: 3px; accent-color: var(--orange); }
.strategy-toggle span { display: grid; gap: 3px; }
.strategy-toggle small { color: var(--ink-soft); font-size: 12px; line-height: 1.35; }
.strategy-output { display: grid; gap: 16px; }
.strategy-mode-bar { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); margin: 14px 16px 0; border: 1px solid var(--line); border-radius: 7px; overflow: hidden; }
.strategy-mode-bar button { border: 0; border-right: 1px solid var(--line); padding: 10px 12px; background: #fff; cursor: pointer; font-weight: 800; }
.strategy-mode-bar button:last-child { border-right: 0; }
.strategy-mode-bar button.active { background: var(--charcoal); color: #fff; }
.strategy-summary { padding: 16px; display: grid; gap: 12px; }
.strategy-score-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.strategy-score-grid article { padding: 13px; border: 1px solid var(--line); border-radius: 7px; background: var(--surface-2); min-width: 0; }
.strategy-score-grid span { display: block; color: var(--ink-muted); font: 700 9px/1.2 'JetBrains Mono', monospace; text-transform: uppercase; }
.strategy-score-grid strong { display: block; margin-top: 7px; font: 800 24px/1 'Sora', sans-serif; overflow-wrap: anywhere; }
.strategy-score-grid em { display: block; margin-top: 6px; color: var(--ink-soft); font-style: normal; font-size: 12px; line-height: 1.35; }
.strategy-summary p { margin: 0; color: var(--ink-soft); }
.strategy-applied { padding: 10px 12px; border: 1px solid rgba(0,143,97,.24); border-left: 3px solid var(--green); border-radius: 0 6px 6px 0; background: rgba(0,143,97,.08); color: #055f42; font-weight: 800; }
.strategy-empty-callout { display: grid; gap: 5px; padding: 13px; border: 1px dashed var(--line); border-radius: 7px; background: var(--surface-2); }
.strategy-empty-callout strong, .strategy-build-order > strong { color: var(--ink); font: 800 13px/1.25 'Sora', sans-serif; }
.strategy-empty-callout span { color: var(--ink-soft); line-height: 1.4; }
.strategy-build-order { display: grid; gap: 12px; padding: 14px; border: 1px solid rgba(255,106,26,.34); border-left: 4px solid var(--orange); border-radius: 0; background: rgba(255,106,26,.09); }
.strategy-build-order ol { margin: 0; padding: 0; list-style: none; display: grid; gap: 8px; }
.strategy-build-order li { display: grid; gap: 2px; padding: 9px; border: 1px solid var(--line-soft); border-radius: 6px; background: #fff; }
.strategy-build-order li span { color: var(--ink-soft); font-size: 12px; line-height: 1.35; }
.strategy-build-list { display: grid; gap: 12px; }
.strategy-build-order .strategy-policy-card { padding: 16px; }
.strategy-build-order .strategy-policy-card dl { grid-template-columns: 138px minmax(180px, 1fr) 138px minmax(180px, 1fr); gap: 8px 14px; }
.strategy-build-order .strategy-policy-card .btn { justify-self: start; min-width: 180px; }
.strategy-plan-grid { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(0, 1fr) minmax(0, 1fr); gap: 16px; align-items: start; }
.strategy-plan-grid.lower { grid-template-columns: minmax(0, 1.25fr) minmax(0, .75fr); }
.strategy-card-list, .mitre-list { padding: 14px; display: grid; gap: 10px; }
.strategy-policy-card, .strategy-note, .mitre-row { border: 1px solid var(--line-soft); border-radius: 7px; background: #fff; padding: 12px; min-width: 0; }
.strategy-policy-card { display: grid; gap: 10px; }
.strategy-policy-top { display: flex; align-items: start; justify-content: space-between; gap: 10px; }
.strategy-policy-top > div { display: grid; gap: 3px; min-width: 0; }
.strategy-policy-top strong { overflow-wrap: anywhere; line-height: 1.25; }
.strategy-step-label { color: var(--orange); font: 700 10px/1.2 'JetBrains Mono', monospace; text-transform: uppercase; }
.strategy-policy-card dl { margin: 0; display: grid; grid-template-columns: 112px minmax(0, 1fr); gap: 6px 10px; }
.strategy-policy-card dt { color: var(--ink-muted); font: 700 10px/1.35 'JetBrains Mono', monospace; text-transform: uppercase; }
.strategy-policy-card dd { margin: 0; color: var(--ink-soft); font-size: 12px; line-height: 1.35; overflow-wrap: anywhere; }
.strategy-note { display: grid; gap: 6px; border-left: 3px solid var(--blue); border-radius: 0 7px 7px 0; }
.strategy-note.important { border-left-color: var(--orange); background: #fff8ee; }
.strategy-note strong { color: var(--ink); line-height: 1.25; }
.strategy-note p { margin: 0; color: var(--ink-soft); font-size: 12px; line-height: 1.4; }
.strategy-note span { color: var(--ink-muted); font: 700 10px/1.35 'JetBrains Mono', monospace; overflow-wrap: anywhere; }
.represented-list { list-style: none; margin: 4px 0 0; padding: 0; display: grid; gap: 6px; }
.represented-list li { display: grid; gap: 2px; padding: 7px 8px; border: 1px solid var(--line-soft); border-radius: 6px; background: #fff; }
.represented-list strong { color: var(--orange); font: 800 10px/1.2 'JetBrains Mono', monospace; }
.scenario-grid { display: grid; grid-template-columns: 380px minmax(0, 1fr); gap: 16px; align-items: start; }
.scenario-input-panel { position: sticky; top: 14px; }
.scenario-form { padding: 16px; display: grid; gap: 16px; }
.scenario-template-list { display: grid; gap: 9px; }
.scenario-template-card { display: grid; gap: 5px; text-align: left; padding: 11px; border: 1px solid var(--line-soft); background: var(--surface-2); color: var(--ink); cursor: pointer; }
.scenario-template-card:hover { border-color: rgba(245,213,71,.55); background: rgba(245,213,71,.08); }
.scenario-template-card.active { background: linear-gradient(135deg, #fff2a6 0%, #f5d547 44%, #f0c030 100%); border-color: #f5d547; color: #0e0e10; box-shadow: inset 4px 0 0 #0e0e10, 4px 4px 0 rgba(0,0,0,.35); }
.scenario-template-card strong { font: 800 13px/1.25 'Sora', sans-serif; }
.scenario-template-card span { color: var(--ink-soft); font-size: 12px; line-height: 1.35; }
.scenario-template-card.active span, .scenario-template-card.active strong { color: #0e0e10; }
.scenario-custom-grid { display: grid; gap: 12px; }
.scenario-output { display: grid; gap: 16px; }
.scenario-summary { padding: 16px; display: grid; gap: 12px; }
.scenario-summary p { margin: 0; color: var(--ink-soft); }
.scenario-object-warning { display: grid; gap: 6px; padding: 12px; border: 1px solid rgba(255,106,26,.38); border-left: 4px solid var(--orange); background: rgba(255,106,26,.11); }
.scenario-object-warning strong { color: var(--ink); font: 800 12px/1.25 'Sora', sans-serif; }
.scenario-object-warning span { color: var(--ink-soft); font-size: 12px; line-height: 1.4; }
.scenario-choice-help { display: grid; gap: 8px; padding: 10px; border: 1px solid rgba(245,213,71,.24); border-left: 4px solid rgba(245,213,71,.86); background: linear-gradient(135deg, rgba(245,213,71,.12), rgba(255,106,26,.06)); }
.scenario-choice-help-head { display: flex; justify-content: space-between; align-items: center; gap: 8px; flex-wrap: wrap; }
.scenario-choice-help-head strong { color: var(--ink); font: 800 12px/1.25 'Sora', sans-serif; }
.scenario-choice-help p { margin: 0; color: var(--ink-soft); font-size: 12px; line-height: 1.4; }
.scenario-choice-help dl { margin: 0; display: grid; grid-template-columns: 118px minmax(0, 1fr); gap: 6px 8px; }
.scenario-choice-help dt { color: var(--ink-muted); font: 700 9px/1.35 'JetBrains Mono', monospace; text-transform: uppercase; }
.scenario-choice-help dd { margin: 0; color: var(--ink-soft); font-size: 11px; line-height: 1.4; overflow-wrap: anywhere; }
.scenario-policy-pack { padding: 14px; display: grid; gap: 12px; }
.scenario-policy-card .btn:disabled { opacity: .42; }
.scenario-settings-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 10px; }
.scenario-setting-card { display: grid; gap: 8px; padding: 10px; border: 1px solid rgba(255,255,255,.1); background: rgba(255,255,255,.035); box-shadow: inset 3px 0 0 rgba(245,213,71,.72); }
.scenario-setting-card strong { color: var(--ink); font: 800 12px/1.25 'Sora', sans-serif; }
.scenario-setting-card dl { margin: 0; display: grid; grid-template-columns: 118px minmax(0, 1fr); gap: 5px 8px; }
.scenario-setting-card dt { color: var(--ink-muted); font: 700 9px/1.35 'JetBrains Mono', monospace; text-transform: uppercase; }
.scenario-setting-card dd { margin: 0; color: var(--ink-soft); font-size: 11px; line-height: 1.35; overflow-wrap: anywhere; }
.scenario-support-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; align-items: start; }
.scenario-check-list { padding: 14px; }
.represented-list span { color: var(--ink-soft); font: 600 11px/1.35 'Plus Jakarta Sans', sans-serif; }
.mitre-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px 12px; border-left: 3px solid var(--ink-muted); border-radius: 0 7px 7px 0; }
.mitre-row strong { display: block; line-height: 1.25; }
.mitre-row span { color: var(--ink-soft); font-size: 12px; }
.mitre-row em { align-self: start; border-radius: 999px; padding: 6px 8px; background: var(--surface-2); color: var(--ink-soft); font: 700 10px/1 'JetBrains Mono', monospace; text-transform: uppercase; font-style: normal; white-space: nowrap; }
.mitre-row p { grid-column: 1 / -1; margin: 0; color: var(--ink-soft); font-size: 12px; line-height: 1.35; }
.mitre-strongly-mitigated { border-left-color: var(--green); }
.mitre-partially-mitigated { border-left-color: var(--orange); }
.mitre-requires-another-control { border-left-color: var(--purple); }
.mitre-not-addressed-by-conditional-access { border-left-color: var(--red); }
.policy-plan-summary { margin: 14px; padding: 13px; border: 1px solid rgba(0,120,184,.18); border-radius: var(--radius); background: rgba(0,120,184,.06); display: grid; gap: 10px; }
.plan-summary-title { display: grid; gap: 4px; }
.plan-summary-title strong { font: 800 15px/1.25 'Sora', sans-serif; color: var(--ink); }
.plan-summary-title span { color: var(--ink-soft); font-size: 12px; font-weight: 700; }
.plan-summary-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.plan-summary-grid span { padding: 9px; border: 1px solid var(--line-soft); border-radius: 6px; background: #fff; color: var(--ink-soft); font-size: 12px; }
.plan-summary-grid strong { display: block; color: var(--ink); font: 800 18px/1 'Sora', sans-serif; margin-bottom: 3px; }
.policy-plan-summary p { margin: 0; color: var(--ink-soft); font-size: 12px; line-height: 1.4; }
.review-guide { margin: 0 14px 12px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.review-guide span { padding: 9px 10px; border: 1px solid var(--line-soft); border-radius: 6px; background: var(--surface-2); color: var(--ink-soft); font-size: 12px; font-weight: 800; }
.advanced-filters { margin: 0 14px 14px; border: 1px solid var(--line); border-radius: var(--radius); background: #fff; overflow: hidden; }
.advanced-filters summary { cursor: pointer; padding: 11px 12px; color: var(--ink); font-weight: 800; list-style-position: inside; }
.advanced-filters[open] summary { border-bottom: 1px solid var(--line-soft); background: var(--surface-2); }
.filter-label { padding: 0 14px 10px; display: grid; gap: 4px; color: var(--ink-muted); }
.filter-label span { font: 700 10px/1.2 'JetBrains Mono', monospace; text-transform: uppercase; color: var(--orange); }
.filter-label small { font-size: 12px; line-height: 1.35; }
.filters { padding: 0 14px 14px; display: flex; gap: 8px; flex-wrap: wrap; border-bottom: 1px solid var(--line-soft); }
.filter-chip, .count-pill, .status-chip, .risk-pill { border-radius: 999px; padding: 6px 10px; font: 700 11px/1 'JetBrains Mono', monospace; text-transform: uppercase; border: 1px solid var(--line); background: var(--surface-2); white-space: nowrap; }
.filter-chip { cursor: pointer; }
.filter-chip.active { background: var(--charcoal); color: white; border-color: var(--charcoal); }
.segmented { display: inline-flex; border: 1px solid var(--line); background: #fff; border-radius: 7px; overflow: hidden; }
.segmented.stacked { display: grid; grid-template-columns: repeat(3, 1fr); margin: 14px; }
.segmented button { border: 0; border-right: 1px solid var(--line); padding: 9px 12px; background: transparent; cursor: pointer; font-weight: 800; min-width: 0; }
.segmented button:last-child { border-right: 0; }
.segmented button.active { background: var(--charcoal); color: white; }
.search-box { display: block; padding: 14px; border-bottom: 1px solid var(--line-soft); color: var(--ink-muted); font: 700 10px/1 'JetBrains Mono', monospace; text-transform: uppercase; }
.search-box input { width: 100%; margin-top: 8px; border: 1px solid var(--line); border-radius: 6px; padding: 10px; background: #fff; color: var(--ink); }
.policy-list { max-height: calc(100vh - 385px); overflow: auto; padding: 8px; display: grid; gap: 12px; }
.policy-purpose-group { display: grid; gap: 8px; }
.purpose-head { display: flex; justify-content: space-between; align-items: start; gap: 10px; padding: 10px 8px 4px; border-bottom: 1px solid var(--line-soft); }
.purpose-head h4 { margin-bottom: 4px; font-size: 12px; }
.purpose-head p { margin: 0; color: var(--ink-soft); font-size: 12px; line-height: 1.35; }
.purpose-policy-list { display: grid; gap: 6px; }
.policy-card { width: 100%; text-align: left; padding: 12px; border: 1px solid transparent; background: transparent; border-radius: 6px; cursor: pointer; display: grid; gap: 8px; }
.policy-card:hover { background: var(--surface-2); }
.policy-card.active { background: var(--orange-soft); border-color: rgba(232,97,10,.35); }
.policy-title { font-weight: 800; line-height: 1.3; overflow-wrap: anywhere; }
.policy-meta { display: flex; gap: 6px; flex-wrap: wrap; }
.policy-reason { color: var(--ink-soft); font-size: 12px; line-height: 1.3; }
.policy-reason.primary { color: #7a4c00; font-weight: 800; background: #fff8ee; border: 1px solid rgba(232,97,10,.22); border-radius: 6px; padding: 8px; }
.policy-answer { display: grid; gap: 3px; padding: 8px; border: 1px solid var(--line-soft); border-radius: 6px; background: #fff; color: var(--ink-soft); font-size: 12px; line-height: 1.35; }
.policy-answer strong { color: var(--ink); font: 700 10px/1.2 'JetBrains Mono', monospace; text-transform: uppercase; }
.status-chip.include { background: rgba(0,143,97,.12); color: #006b47; border-color: rgba(0,143,97,.28); }
.status-chip.monitor { background: rgba(232,97,10,.13); color: #794000; border-color: rgba(232,97,10,.3); }
.status-chip.exclude { background: #eef2f4; color: var(--ink-muted); }
.status-chip.import-exact { background: rgba(0,143,97,.12); color: #006b47; }
.status-chip.import-partial { background: rgba(232,97,10,.13); color: #794000; }
.status-chip.import-missing { background: rgba(216,23,69,.10); color: #9d1730; }
.status-chip.beta { background: rgba(114,81,181,.13); color: #4f347f; border-color: rgba(114,81,181,.3); }
.status-chip.generated { background: rgba(0,120,184,.1); color: #075f87; border-color: rgba(0,120,184,.26); }
.risk-pill.medium { background: rgba(0,120,184,.10); border-color: rgba(0,120,184,.25); color: #075f87; }
.risk-pill.high { background: rgba(232,97,10,.12); border-color: rgba(232,97,10,.3); color: #8b3805; }
.risk-pill.critical { background: rgba(216,23,69,.10); border-color: rgba(216,23,69,.28); color: #9d1730; }
.summary { padding: 18px; margin: 0; color: var(--ink-soft); font-size: 15px; }
.detail-panel .panel-head h3 { font-size: clamp(20px, 2vw, 30px); line-height: 1.15; overflow-wrap: anywhere; }
.selected-guidance { padding: 0 18px 18px; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.selected-guidance article { border: 1px solid var(--line-soft); border-radius: var(--radius); background: var(--surface-2); padding: 12px; display: grid; gap: 6px; }
.selected-guidance span { color: var(--orange); font: 700 10px/1.2 'JetBrains Mono', monospace; text-transform: uppercase; }
.selected-guidance strong { color: var(--ink-soft); font-size: 12px; line-height: 1.4; }
.decision-card { margin: 0 18px 18px; padding: 14px; display: flex; justify-content: space-between; gap: 16px; background: var(--surface-2); border: 1px solid var(--line-soft); border-radius: var(--radius); }
.decision-card p { margin: 0; color: var(--ink-soft); max-width: 560px; }
.detail-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 16px; padding: 0 18px 18px; }
.check-list { list-style: none; padding: 0; margin: 0; display: grid; gap: 8px; }
.check-list li { padding: 9px 10px; border: 1px solid var(--line-soft); border-radius: 6px; background: #fff; color: var(--ink-soft); }
.compare-box { margin: 0 18px 18px; padding: 12px; border-radius: 6px; background: #fff8ee; color: #7a4c00; border: 1px solid rgba(232,97,10,.35); display: none; }
.compare-box.show { display: block; }
.manual-guide-panel { margin: 0 18px 18px; border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; background: #fff; }
.manual-actions { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
.manual-guide { padding: 12px; display: grid; gap: 12px; }
.manual-callout { display: grid; gap: 5px; padding: 12px; border-radius: 7px; border: 1px solid rgba(114,81,181,.28); background: rgba(114,81,181,.08); color: #4f347f; }
.manual-callout strong { font: 800 13px/1.2 'Sora', sans-serif; color: #4f347f; }
.manual-callout span { color: #5f4c7d; font-size: 12px; line-height: 1.4; }
.manual-section-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; align-items: start; }
.manual-section { min-width: 0; border: 1px solid var(--line-soft); border-radius: 7px; background: var(--surface-2); overflow: hidden; }
.manual-section-head { display: grid; grid-template-columns: 34px minmax(0, 1fr); gap: 10px; align-items: start; padding: 12px; border-bottom: 1px solid var(--line-soft); background: #fff; }
.manual-section-head > span { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 999px; background: var(--charcoal); color: #fff; font: 800 11px/1 'JetBrains Mono', monospace; }
.manual-section-head h5 { margin: 0; font: 800 14px/1.2 'Sora', sans-serif; color: var(--ink); }
.manual-section-head p { margin: 5px 0 0; color: var(--ink-soft); font-size: 12px; line-height: 1.35; }
.manual-rows { margin: 0; display: grid; }
.manual-row { display: grid; grid-template-columns: minmax(130px, .38fr) minmax(0, 1fr); gap: 10px; padding: 10px 12px; border-bottom: 1px solid var(--line-soft); }
.manual-row:last-child { border-bottom: 0; }
.manual-row dt { color: var(--ink-muted); font: 700 10px/1.35 'JetBrains Mono', monospace; text-transform: uppercase; overflow-wrap: anywhere; }
.manual-row dd { margin: 0; display: grid; gap: 5px; min-width: 0; }
.manual-row dd span { color: var(--ink); white-space: pre-wrap; overflow-wrap: anywhere; font-size: 12px; line-height: 1.4; }
.manual-row dd em { color: var(--ink-soft); font-style: normal; font-size: 11px; line-height: 1.35; }
.manual-row.empty dd span { color: var(--ink-muted); }
.manual-object { display: grid; gap: 2px; padding: 7px 8px; border: 1px solid var(--line-soft); border-radius: 6px; background: #fff; }
.manual-object strong { color: var(--ink); font-size: 12px; line-height: 1.3; }
.manual-object small { color: var(--ink-muted); font: 700 10px/1.35 'JetBrains Mono', monospace; overflow-wrap: anywhere; }
.manual-lookup-required { padding: 7px 8px; border: 1px solid rgba(232,97,10,.32); border-left: 3px solid var(--orange); border-radius: 0 6px 6px 0; background: #fff8ee; color: #7a4c00; font-weight: 800; }
.override-panel { margin: 0 18px 18px; border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; }
.section-head { padding: 12px; background: var(--surface-2); border-bottom: 1px solid var(--line); display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.section-head h4 { margin-bottom: 0; }
.override-grid { padding: 12px; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.override-field { display: grid; gap: 7px; min-width: 0; }
.override-field span { color: var(--ink-muted); font: 700 10px/1 'JetBrains Mono', monospace; text-transform: uppercase; }
.override-field textarea { min-height: 76px; resize: vertical; }
.json-card { margin: 0 18px 18px; border: 1px solid var(--line); border-radius: var(--radius); overflow: hidden; }
.json-head { padding: 10px 12px; background: var(--surface-2); border-bottom: 1px solid var(--line); display: flex; justify-content: space-between; align-items: center; gap: 12px; }
.json-head h4 { margin-bottom: 3px; }
.fine-inline { color: var(--ink-muted); font: 700 10px/1 'JetBrains Mono', monospace; text-transform: uppercase; }
pre { margin: 0; padding: 14px; max-height: 430px; overflow: auto; background: #1f2229; color: #f7f8f8; font: 12px/1.55 'JetBrains Mono', monospace; }
.fine-print { color: var(--ink-muted); margin: 12px 18px 18px; font-size: 12px; }
.warning-list, .source-list { padding: 0 18px 18px; margin: 0; }
.warning { padding: 10px 12px; border-left: 3px solid var(--orange); background: var(--surface-2); border-radius: 0 6px 6px 0; color: var(--ink-soft); margin-bottom: 10px; }
.warning.critical { border-left-color: var(--red); background: rgba(216,23,69,.06); }
.source-list { display: grid; grid-template-columns: 94px 1fr; gap: 8px 12px; }
.source-list dt { color: var(--ink-muted); font: 700 10px/1.4 'JetBrains Mono', monospace; text-transform: uppercase; }
.source-list dd { margin: 0; word-break: break-word; overflow-wrap: anywhere; }
.import-panel { margin-top: 0; }
.import-grid { display: grid; grid-template-columns: minmax(0, 1fr) minmax(360px, .7fr); gap: 16px; padding: 18px; }
textarea { width: 100%; min-height: 245px; border: 1px solid var(--line); border-radius: 6px; padding: 12px; background: #fff; color: var(--ink); font: 12px/1.5 'JetBrains Mono', monospace; }
.dropzone { position: relative; margin-top: 10px; padding: 20px; text-align: center; border: 2px dashed var(--line); border-radius: var(--radius); color: var(--ink-muted); background: var(--surface-2); cursor: pointer; }
.dropzone.drag { border-color: var(--orange); background: var(--orange-soft); }
.dropzone input { display: none; }
.status-box { padding: 14px; border-radius: var(--radius); background: var(--surface-2); border: 1px solid var(--line); color: var(--ink-soft); }
.import-dashboard { margin-top: 12px; display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 8px; }
.import-dashboard article { border: 1px solid var(--line); border-radius: 7px; background: #fff; padding: 11px; }
.import-dashboard span { display: block; color: var(--ink-muted); font: 700 9px/1.2 'JetBrains Mono', monospace; text-transform: uppercase; }
.import-dashboard strong { display: block; margin-top: 6px; font: 800 22px/1 'Sora', sans-serif; }
.import-filter-bar { margin-top: 12px; display: flex; gap: 8px; flex-wrap: wrap; }
.finding-list { margin-top: 12px; display: grid; gap: 14px; }
.finding { padding: 12px; border: 1px solid var(--line-soft); border-left: 3px solid var(--orange); border-radius: 0 6px 6px 0; background: #fff; }
.finding strong { display: block; margin-bottom: 4px; }
.comparison-section { display: grid; gap: 8px; }
.comparison-section-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; border-bottom: 1px solid var(--line-soft); padding-bottom: 6px; }
.comparison-section-head h4 { margin-bottom: 0; }
.comparison-card { border: 1px solid var(--line); border-left: 4px solid var(--orange); border-radius: 7px; background: #fff; overflow: hidden; }
.comparison-card summary { cursor: pointer; display: grid; grid-template-columns: auto minmax(0, 1fr) auto; gap: 10px; align-items: center; padding: 12px; }
.comparison-card summary strong { overflow-wrap: anywhere; }
.comparison-card summary em { color: var(--ink-soft); font-style: normal; font-weight: 800; font-size: 12px; }
.comparison-card.status-exact { border-left-color: var(--green); }
.comparison-card.status-different, .comparison-card.status-likely { border-left-color: var(--orange); }
.comparison-card.status-missing, .comparison-card.status-risk { border-left-color: var(--red); }
.comparison-card.status-extra { border-left-color: var(--blue); }
.comparison-body { border-top: 1px solid var(--line-soft); padding: 12px; display: grid; gap: 10px; }
.comparison-body dl { margin: 0; display: grid; grid-template-columns: 120px minmax(0, 1fr); gap: 6px 10px; }
.comparison-body dt { color: var(--ink-muted); font: 700 10px/1.4 'JetBrains Mono', monospace; text-transform: uppercase; }
.comparison-body dd { margin: 0; color: var(--ink-soft); overflow-wrap: anywhere; }
.comparison-body p { margin: 0; color: var(--ink-soft); }
.diff-list { list-style: none; margin: 0; padding: 0; display: grid; gap: 8px; }
.diff-list li { display: grid; gap: 4px; padding: 9px; border: 1px solid var(--line-soft); border-radius: 6px; background: var(--surface-2); }
.diff-list strong { color: var(--ink); }
.diff-list span { color: var(--ink-soft); overflow-wrap: anywhere; }
.status-chip.import-different, .status-chip.import-likely { background: rgba(232,97,10,.13); color: #794000; }
.status-chip.import-extra { background: rgba(0,120,184,.1); color: #075f87; }
.status-chip.import-risk { background: rgba(216,23,69,.10); color: #9d1730; }
.empty-state { color: var(--ink-muted); background: var(--surface-2); border: 1px dashed var(--line); border-radius: 7px; padding: 14px; text-align: center; }
.toast { position: fixed; right: 20px; bottom: 20px; transform: translateY(20px); opacity: 0; transition: .2s ease; background: var(--charcoal); color: white; border-radius: 7px; padding: 12px 14px; box-shadow: 0 16px 30px rgba(0,0,0,.22); z-index: 10; }
.toast.show { transform: translateY(0); opacity: 1; }

/* XDR Centre Prod current tools theme */
.workspace-tabs { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.panel, .metrics article, .tab-button, .manual-guide-panel, .override-panel, .json-card, .advanced-filters, .advanced-threat-model, .strategy-secondary-details, .comparison-card {
  background: linear-gradient(155deg, rgba(54, 54, 64, 0.9) 0%, rgba(36, 36, 40, 0.95) 52%, rgba(20, 20, 24, 0.98) 100%);
  border-color: rgba(255, 255, 255, 0.16);
  border-radius: 0;
  box-shadow: var(--shadow-soft);
  backdrop-filter: none;
}
.panel-head, .section-head, .json-head, .manual-section-head, .advanced-filters[open] summary {
  background: rgba(255,255,255,.035);
  border-color: rgba(255,255,255,.1);
}
.metrics article, .strategy-score-grid article, .risk-strip div, .import-dashboard article, .plan-summary-grid span {
  background: rgba(255,255,255,.04);
  border-color: rgba(255,255,255,.1);
  border-radius: 0;
}
.metrics strong, .metric-value { color: var(--ink); font-family: 'Sora', sans-serif; }
.tab-button { color: var(--ink); }
.tab-button:hover, .btn:hover, .choice-card:hover, .strategy-toggle:hover, .scenario-template-card:hover, .policy-card:hover {
  border-color: var(--orange);
  background: rgba(255,106,26,.14);
}
.tab-button.active, .segmented button.active, .strategy-mode-bar button.active, .filter-chip.active {
  background: var(--orange);
  border-color: var(--orange);
  color: #0e0e10;
  box-shadow: inset 4px 0 0 rgba(14,14,16,.22), 4px 4px 0 rgba(0,0,0,.35);
}
.tab-button.active small { color: rgba(14,14,16,.72); }
.tab-button, .btn, .strategy-mode-bar, .segmented, .filter-chip, .count-pill, .status-chip, .risk-pill { border-radius: 0 !important; }
.btn {
  border-color: rgba(255,255,255,.16);
  background: rgba(255,255,255,.055) !important;
  color: var(--ink);
  clip-path: polygon(10px 0, 100% 0, 100% calc(100% - 10px), calc(100% - 10px) 100%, 0 100%, 0 10px);
  text-transform: uppercase;
  font-family: 'Sora', sans-serif;
  font-size: 12px;
}
.btn.primary {
  background: var(--orange) !important;
  border-color: var(--orange) !important;
  border-radius: 0 !important;
  color: #0e0e10 !important;
}
.btn.primary:hover { background: #ff8a3d !important; }
.btn.secondary, .strategy-field select, .strategy-field input, textarea, .search-box input {
  background: rgba(17,17,19,.86);
  border-color: rgba(255,255,255,.14);
  color: var(--ink);
  border-radius: 0;
}
.strategy-field select option { background: #1a1a1c; color: var(--ink); }
.choice-card, .threat-card, .control-row, .strategy-toggle, .scenario-template-card, .strategy-policy-card, .scenario-setting-card, .strategy-note, .mitre-row, .strategy-build-order li, .represented-list li, .policy-answer, .check-list li, .manual-section, .manual-object, .finding, .diff-list li {
  background: rgba(255,255,255,.04);
  border-color: rgba(255,255,255,.1);
  border-radius: 0;
  color: var(--ink);
}
.choice-card.active, .threat-card.active, .policy-card.active {
  background: rgba(255,106,26,.14);
  border-color: var(--orange);
  box-shadow: inset 4px 0 0 var(--orange);
}
.threat-card.suggested, .policy-reason.primary, .strategy-note.important, .compare-box, .manual-lookup-required {
  color: #ffd9bf;
  background: rgba(255,106,26,.14);
  border-color: rgba(255,106,26,.38);
}
.technique, .filter-chip, .count-pill, .status-chip, .risk-pill, .choice-risk, .mitre-row em {
  background: rgba(255,255,255,.055);
  border-color: rgba(255,255,255,.16);
  color: var(--ink-soft);
  border-radius: 0;
}
.status-chip.include, .status-chip.import-exact, .risk-pill.medium { background: rgba(24,210,125,.14); color: var(--green); border-color: rgba(24,210,125,.34); }
.status-chip.monitor, .status-chip.import-different, .status-chip.import-likely, .risk-pill.high { background: rgba(255,106,26,.14); color: #ffb287; border-color: rgba(255,106,26,.38); }
.status-chip.exclude { background: rgba(255,255,255,.035); color: var(--ink-muted); }
.status-chip.beta { background: rgba(245,213,71,.12); color: #f5d547; border-color: rgba(245,213,71,.34); }
.risk-pill.critical, .status-chip.import-missing, .status-chip.import-risk { background: rgba(225,6,58,.16); color: #ff7e9a; border-color: rgba(225,6,58,.44); }
.manual-callout { background: rgba(245,213,71,.1); border-color: rgba(245,213,71,.3); color: #f5d547; border-radius: 0; }
.manual-callout strong { color: #f5d547; }
.manual-callout span { color: #e5d88a; }
.manual-callout.guide-only { background: rgba(255,106,26,.14); border-color: rgba(255,106,26,.42); }
.manual-callout.guide-only strong { color: #ffb287; }
.manual-callout.guide-only span { color: var(--ink-soft); }
.manual-section-head > span, .step-strip strong { background: #1a1a1c; color: var(--ink); border: 1px solid rgba(255,255,255,.16); border-radius: 0; }
.segmented, .strategy-mode-bar { background: rgba(255,255,255,.035); border-color: rgba(255,255,255,.16); border-radius: 0; }
.segmented button, .strategy-mode-bar button { background: transparent; color: var(--ink); border-color: rgba(255,255,255,.16); }
pre { background: #111113; color: #f5f3ef; border-top: 1px solid rgba(255,255,255,.08); }
.toast { background: #1a1a1c; border: 1px solid rgba(255,255,255,.16); color: var(--ink); box-shadow: var(--shadow-soft); border-radius: 0; }
.strategy-attack-panel { margin-bottom: 16px; }
.attack-vector-band { padding: 14px; display: grid; grid-template-columns: 280px minmax(0, 1fr); gap: 12px; align-items: stretch; }
.attack-vector-summary { display: grid; align-content: center; gap: 8px; padding: 14px; border: 1px solid var(--line-soft); border-radius: var(--radius); background: rgba(77,201,246,.08); }
.attack-vector-summary { background: rgba(255,106,26,.14); border-color: rgba(255,106,26,.34); }
.attack-vector-summary strong { color: #ff8a3d; font: 800 32px/1 'JetBrains Mono', monospace; }
.attack-vector-summary p { margin: 0; color: var(--ink-soft); font-size: 12px; line-height: 1.45; }
.attack-vector-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 10px; }
.attack-vector-card { display: grid; gap: 7px; padding: 11px; border: 1px solid rgba(255,255,255,.1); border-left: 4px solid var(--ink-muted); border-radius: 0; background: rgba(255,255,255,.04); min-width: 0; }
.attack-vector-card strong { color: var(--ink); line-height: 1.25; }
.attack-vector-card span, .attack-vector-card p, .attack-vector-card small { color: var(--ink-soft); font-size: 12px; line-height: 1.35; }
.attack-vector-card p { margin: 0; }
.attack-vector-top, .attack-vector-meta { display: flex; justify-content: space-between; gap: 8px; align-items: center; flex-wrap: wrap; }
.attack-vector-meta em { color: var(--ink); font: 700 10px/1 'JetBrains Mono', monospace; text-transform: uppercase; font-style: normal; }
.mitre-coverage-split { display: grid; grid-template-columns: minmax(0, 1.25fr) minmax(260px, .75fr); gap: 12px; min-width: 0; }
.mitre-coverage-split section { display: grid; align-content: start; gap: 10px; min-width: 0; }
.mitre-split-head { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 9px 10px; border: 1px solid rgba(255,255,255,.12); background: rgba(17,17,19,.72); }
.mitre-split-head strong { color: var(--ink); font: 800 12px/1.2 'Sora', sans-serif; }
.mitre-split-head span { color: var(--yellow); font: 800 12px/1 'JetBrains Mono', monospace; }
.mitre-gap-list { display: grid; gap: 8px; }
.mitre-gap-card { display: grid; gap: 6px; padding: 10px; border: 1px solid rgba(245,213,71,.24); border-left: 4px solid rgba(245,213,71,.85); background: linear-gradient(135deg, rgba(245,213,71,.13), rgba(255,106,26,.07)); min-width: 0; }
.mitre-gap-card div { display: flex; align-items: center; justify-content: space-between; gap: 8px; flex-wrap: wrap; }
.mitre-gap-card strong { color: var(--ink); font-size: 12px; line-height: 1.25; }
.mitre-gap-card span, .mitre-gap-card p { color: var(--ink-soft); font-size: 11px; line-height: 1.35; margin: 0; }
.attack-strongly-mitigated { border-left-color: var(--green); }
.attack-partially-mitigated { border-left-color: var(--orange); }
.attack-requires-another-control { border-left-color: var(--purple); }
.attack-not-addressed-by-conditional-access { border-left-color: var(--red); }
.advanced-threat-model { padding: 0; overflow: hidden; }
.advanced-threat-model > summary { cursor: pointer; display: grid; gap: 4px; padding: 14px 16px; border-bottom: 1px solid var(--line-soft); }
.advanced-threat-model > summary span { color: var(--ink); font: 800 15px/1.25 'Sora', sans-serif; }
.advanced-threat-model > summary small { color: var(--ink-soft); font-size: 12px; line-height: 1.35; }
.advanced-threat-model .step-strip, .advanced-threat-model .scope-summary, .advanced-threat-model .builder-grid { margin: 14px; }
.advanced-threat-model .builder-grid { grid-template-columns: 280px minmax(420px, 1fr) 340px; }
.strategy-secondary-stack { display: grid; gap: 10px; }
.strategy-secondary-details { overflow: hidden; }
.strategy-secondary-details > summary {
  cursor: pointer;
  display: grid;
  gap: 4px;
  padding: 14px 16px;
}
.strategy-secondary-details[open] > summary {
  border-bottom: 1px solid rgba(255, 255, 255, 0.1);
  background: rgba(255, 255, 255, 0.035);
}
.strategy-secondary-details > summary span {
  color: var(--ink);
  font: 800 15px/1.25 'Sora', sans-serif;
}
.strategy-secondary-details > summary small {
  color: var(--ink-soft);
  font-size: 12px;
  line-height: 1.35;
}
.strategy-secondary-details .mitre-list + .strategy-card-list {
  border-top: 1px solid rgba(255, 255, 255, 0.1);
  padding-top: 0;
}

.intro-band {
  background: linear-gradient(155deg, rgba(54, 54, 64, 0.9) 0%, rgba(36, 36, 40, 0.95) 52%, rgba(20, 20, 24, 0.98) 100%);
  border-color: rgba(255, 255, 255, 0.16);
  border-radius: 0;
  box-shadow: var(--shadow-soft);
}
.intro-band p:not(.eyebrow), .summary, .choice-desc, .threat-meta, .threat-desc, .threat-controls, .control-row span:not(.control-dot), .strategy-summary p, .strategy-empty-callout span, .strategy-build-order li span, .strategy-policy-card dd, .strategy-note p, .represented-list span, .mitre-row span, .mitre-row p, .plan-summary-title span, .policy-plan-summary p, .filter-label small, .policy-reason, .policy-answer, .selected-guidance strong, .decision-card p, .manual-section-head p, .manual-row dd em, .warning, .status-box, .comparison-body dd, .comparison-body p, .diff-list span {
  color: var(--ink-soft);
}
.scope-summary, .policy-plan-summary, .strategy-build-order {
  background: rgba(255, 106, 26, 0.12);
  border-color: rgba(255, 106, 26, 0.34);
  border-left-color: var(--orange);
  border-radius: 0;
}
.strategy-applied {
  background: rgba(24, 210, 125, 0.13);
  border-color: rgba(24, 210, 125, 0.34);
  border-left-color: var(--green);
  border-radius: 0;
  color: var(--green);
}
.strategy-empty-callout, .empty-state, .dropzone, .status-box, .review-guide span {
  background: rgba(255, 255, 255, 0.04);
  border-color: rgba(255, 255, 255, 0.14);
  border-radius: 0;
}
.choice-card:hover, .threat-card:hover, .strategy-toggle:hover, .scenario-template-card:hover {
  background: rgba(255, 106, 26, 0.14);
}
.threat-card.active .threat-reason, .threat-controls, .control-row strong, .strategy-empty-callout strong, .strategy-build-order > strong, .strategy-note strong, .mitre-row strong, .plan-summary-title strong, .plan-summary-grid strong, .policy-answer strong, .selected-guidance span, .detail-panel .panel-head h3, .check-list li, .manual-row dd span, .manual-object strong, .diff-list strong {
  color: var(--ink);
}
.choice-risk.medium, .risk-pill.medium, .status-chip.generated, .status-chip.import-extra {
  background: rgba(245, 213, 71, 0.12);
  color: #f5d547;
  border-color: rgba(245, 213, 71, 0.34);
}
.choice-risk.high, .status-chip.monitor, .status-chip.import-partial, .status-chip.import-different, .status-chip.import-likely, .risk-pill.high {
  background: rgba(255, 106, 26, 0.14);
  color: #ffb287;
  border-color: rgba(255, 106, 26, 0.38);
}
.choice-risk.critical, .risk-pill.critical, .status-chip.import-missing, .status-chip.import-risk {
  background: rgba(225, 6, 58, 0.16);
  color: #ff7e9a;
  border-color: rgba(225, 6, 58, 0.44);
}
.status-chip.include, .status-chip.import-exact {
  background: rgba(24, 210, 125, 0.14);
  color: var(--green);
  border-color: rgba(24, 210, 125, 0.34);
}
.status-chip.exclude {
  background: rgba(255, 255, 255, 0.035);
  color: var(--ink-muted);
}
.status-chip.beta {
  background: rgba(245, 213, 71, 0.12);
  color: #f5d547;
  border-color: rgba(245, 213, 71, 0.34);
}
.choice-risk, .technique, .filter-chip, .count-pill, .status-chip, .risk-pill, .mitre-row em, .comparison-card, .empty-state, .manual-object, .manual-lookup-required, .dropzone, .warning, .warning.critical, .compare-box, .strategy-note, .strategy-note.important, .attack-vector-summary, .attack-vector-card {
  border-radius: 0;
}
.manual-guide-panel, .advanced-filters, .segmented, .strategy-mode-bar, .search-box input, textarea, .strategy-field select, .strategy-field input {
  background: rgba(17, 17, 19, 0.86);
}
.manual-guide-panel, .override-panel, .json-card, .advanced-filters {
  border-color: rgba(255, 255, 255, 0.16);
}
.manual-row, .comparison-body, .comparison-card summary, .source-list dt, .source-list dd {
  border-color: rgba(255, 255, 255, 0.1);
}
.manual-row dt, .source-list dt, .fine-inline, .fine-print, .strategy-score-grid span, .risk-strip span, .import-dashboard span, .filter-label, .search-box, .manual-object small, .comparison-body dt {
  color: var(--ink-muted);
}
.manual-section-head {
  background: rgba(255, 255, 255, 0.04);
}
.manual-section-head > span, .step-strip strong {
  clip-path: polygon(7px 0, 100% 0, 100% calc(100% - 7px), calc(100% - 7px) 100%, 0 100%, 0 7px);
}
.manual-lookup-required, .compare-box {
  background: rgba(255, 106, 26, 0.14);
  border-color: rgba(255, 106, 26, 0.38);
  border-left-color: var(--orange);
  color: #ffd9bf;
}
.warning {
  background: rgba(255, 106, 26, 0.11);
  border-left-color: var(--orange);
}
.warning.critical {
  background: rgba(225, 6, 58, 0.13);
  border-left-color: var(--red);
}
.control-phish_mfa, .control-agent_risk, .control-session_controls, .control-persistent_browser, .control-admin_session, .control-selected_app_block { --control-color: var(--purple); }
.control-sign_in_risk, .control-user_risk, .control-agent_user_risk, .control-auth_flows, .control-unknown_platforms, .control-agent_identity_block, .control-agent_users_block, .control-users_agent_resources_block { --control-color: var(--red); }
.control-mfa, .control-admin_mfa, .control-guest_access, .control-service_account_protection, .control-legacy_auth, .control-trusted_location, .control-agent_compliant_network { --control-color: var(--orange); }
.control-device_compliance, .control-app_protection, .control-agent_compliant_device { --control-color: var(--green); }

.policy-card.active {
  background: linear-gradient(135deg, #fff2a6 0%, #f5d547 44%, #f0c030 100%) !important;
  border-color: #f5d547 !important;
  box-shadow: inset 4px 0 0 #0e0e10, 4px 4px 0 rgba(0, 0, 0, 0.35);
  color: #0e0e10;
}
.policy-card.active .policy-title,
.policy-card.active .policy-reason,
.policy-card.active .policy-answer,
.policy-card.active .policy-answer strong {
  color: #0e0e10;
}
.policy-card.active .policy-reason.primary,
.policy-card.active .policy-answer {
  background: rgba(14, 14, 16, 0.08);
  border-color: rgba(14, 14, 16, 0.18);
}
.policy-card.active .status-chip,
.policy-card.active .risk-pill {
  background: rgba(14, 14, 16, 0.1);
  border-color: rgba(14, 14, 16, 0.24);
  color: #0e0e10;
}
.strategy-policy-card,
.represented-list li {
  border-color: #f5d547 !important;
  box-shadow: inset 4px 0 0 #f5d547;
}
.strategy-policy-card {
  border-width: 1px;
}
.represented-list li {
  background: rgba(245, 213, 71, 0.08);
}
.represented-list strong {
  color: #f5d547;
}
.strategy-toggle:has(input:checked) {
  background: linear-gradient(135deg, #fff2a6 0%, #f5d547 44%, #f0c030 100%) !important;
  border-color: #f5d547 !important;
  box-shadow: inset 4px 0 0 #0e0e10, 4px 4px 0 rgba(0, 0, 0, 0.35);
  color: #0e0e10;
}
.strategy-toggle:has(input:checked) strong,
.strategy-toggle:has(input:checked) small {
  color: #0e0e10;
}
.strategy-toggle:has(input:checked) input {
  accent-color: #0e0e10;
}
.strategy-toggle:has(input:checked):hover {
  background: linear-gradient(135deg, #fff7c7 0%, #f8dc5c 44%, #f5d547 100%) !important;
  border-color: #fff2a6 !important;
}
.metrics article {
  position: relative;
  overflow: hidden;
  min-height: 104px;
  padding: 18px 18px 16px;
  background: linear-gradient(155deg, #363640 0%, #242428 52%, #141418 100%) !important;
  border: 1px solid rgba(255, 255, 255, 0.18) !important;
  border-bottom-color: rgba(14, 14, 16, 0.7) !important;
  box-shadow:
    inset 1px 1px 0 rgba(255, 255, 255, 0.08),
    5px 5px 0 rgba(0, 0, 0, 0.5),
    16px 16px 32px rgba(0, 0, 0, 0.28) !important;
}
.metrics article::before {
  content: "";
  position: absolute;
  inset: 0 0 auto;
  height: 5px;
  background: linear-gradient(90deg, #ff6a1a 0%, #f5d547 62%, #fff2a6 100%);
}
.metrics article::after {
  content: "";
  position: absolute;
  right: 14px;
  bottom: 12px;
  width: 38px;
  height: 38px;
  border: 1px solid rgba(245, 213, 71, 0.24);
  background: linear-gradient(135deg, rgba(245, 213, 71, 0.18), rgba(255, 106, 26, 0.06));
  clip-path: polygon(9px 0, 100% 0, 100% calc(100% - 9px), calc(100% - 9px) 100%, 0 100%, 0 9px);
}
.metrics span {
  position: relative;
  z-index: 1;
  color: #f5d547;
  letter-spacing: 1.2px;
}
.metrics strong {
  position: relative;
  z-index: 1;
  margin-top: 9px;
  color: #f5f3ef;
  font-size: 34px;
  text-shadow: 0 2px 0 rgba(0, 0, 0, 0.28);
}
.metrics article:nth-child(2)::before {
  background: linear-gradient(90deg, #f5d547 0%, #fff2a6 100%);
}
.metrics article:nth-child(3)::before {
  background: linear-gradient(90deg, #18d27d 0%, #f5d547 100%);
}
.metrics article:nth-child(5)::before {
  background: linear-gradient(90deg, #e1063a 0%, #ff6a1a 58%, #f5d547 100%);
}

@media (max-width: 1380px) {
  .workspace-tabs { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .builder-grid { grid-template-columns: 300px minmax(0, 1fr); }
  .advanced-threat-model .builder-grid { grid-template-columns: 300px minmax(0, 1fr); }
  .strategy-panel { position: static; grid-column: 1 / -1; }
  .strategy-builder-grid { grid-template-columns: 320px minmax(0, 1fr); }
  .scenario-grid { grid-template-columns: 320px minmax(0, 1fr); }
  .strategy-plan-grid { grid-template-columns: 1fr; }
  .strategy-plan-grid.lower { grid-template-columns: 1fr; }
  .control-list { grid-template-columns: repeat(2, minmax(0, 1fr)); max-height: none; }
  .main-grid { grid-template-columns: 340px minmax(0, 1fr); }
  .side-stack { position: static; grid-column: 1 / -1; grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .import-dashboard { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

@media (max-width: 960px) {
  .metrics { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .workspace-tabs, .step-strip, .builder-grid, .advanced-threat-model .builder-grid, .main-grid, .detail-grid, .import-grid, .side-stack, .override-grid, .control-list, .selected-guidance, .manual-section-grid, .manual-row, .strategy-builder-grid, .scenario-grid, .scenario-support-grid, .scenario-settings-grid, .strategy-score-grid, .attack-vector-band, .mitre-coverage-split { grid-template-columns: 1fr; }
  .strategy-build-order .strategy-policy-card dl { grid-template-columns: 130px minmax(0, 1fr); }
  .scope-panel, .policy-nav, .detail-panel, .strategy-input-panel, .scenario-input-panel { position: static; }
  .policy-list, .threat-list { max-height: none; }
  .intro-band, .decision-card, .json-head, .section-head, .panel-head.compact { align-items: stretch; flex-direction: column; }
  .panel-actions { justify-content: stretch; }
  .panel-actions .btn { flex: 1 1 180px; }
  .manual-actions { justify-content: stretch; }
  .manual-actions .btn { flex: 1 1 140px; }
  .import-dashboard { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 680px) {
  .workspace { width: min(100% - 20px, 1840px); }
  .app-topbar { align-items: stretch; flex-direction: column; padding: 14px 18px; }
  .topbar-meta { justify-content: flex-start; }
  .metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .import-dashboard { grid-template-columns: 1fr; }
  .comparison-card summary, .comparison-body dl { grid-template-columns: 1fr; }
  .intro-band { padding: 18px; }
  .intro-band h2 { font-size: 27px; }
  .threat-list { grid-template-columns: 1fr; }
  .plan-summary-grid { grid-template-columns: 1fr; }
  .review-guide { grid-template-columns: 1fr; }
  .strategy-policy-card dl, .strategy-build-order .strategy-policy-card dl, .mitre-row { grid-template-columns: 1fr; }
  .mitre-row em { justify-self: start; }
  .segmented.stacked { grid-template-columns: 1fr; }
  .strategy-mode-bar { grid-template-columns: 1fr; }
  .strategy-mode-bar button { border-right: 0; border-bottom: 1px solid var(--line); }
  .strategy-mode-bar button:last-child { border-bottom: 0; }
  .segmented.stacked button { border-right: 0; border-bottom: 1px solid var(--line); }
  .segmented.stacked button:last-child { border-bottom: 0; }
  .json-actions, .intro-actions, .import-actions { flex-direction: column; }
  .btn { width: 100%; }
}
