:root {
  --navy: #103865;
  --navy-deep: #082d57;
  --blue: #1376c8;
  --teal: #0a8c86;
  --green: #16884f;
  --orange: #dd7800;
  --red: #ce3d35;
  --violet: #6653e8;
  --ink: #173353;
  --muted: #63748a;
  --paper: #f3f6fb;
  --card: #ffffff;
  --line: #c9d8ea;
  --soft: #e9f0f8;
  --shadow: 0 8px 24px rgba(16, 56, 101, .08);
}
* { box-sizing: border-box; }
html { background: var(--paper); }
body { margin: 0; min-width: 320px; color: var(--ink); background: var(--paper); font-family: "Segoe UI", Tahoma, sans-serif; }
button, input, select { font: inherit; }
button:focus-visible, input:focus-visible, select:focus-visible { outline: 3px solid rgba(19, 118, 200, .28); outline-offset: 2px; }
.shell { min-height: 100vh; }
.topbar { min-height: 68px; display: flex; align-items: center; gap: 14px; padding: 10px clamp(16px, 2.5vw, 36px); color: white; background: var(--navy); border-bottom: 4px solid #dbe7f4; }
.brand-mark { width: 42px; height: 42px; flex: 0 0 auto; display: grid; place-items: center; border: 1px solid rgba(255,255,255,.5); border-radius: 10px; font-size: 12px; font-weight: 900; letter-spacing: .08em; }
.brand-copy { min-width: 218px; }
.brand-copy p, .brand-copy h1 { margin: 0; }
.brand-copy p { color: #d9e7f6; font-size: 10px; text-transform: uppercase; letter-spacing: .12em; }
.brand-copy h1 { font-size: 20px; line-height: 1.15; }
.primary-nav { display: flex; align-items: center; gap: 5px; margin-left: 12px; }
.nav-button { padding: 9px 12px; color: #dce9f8; background: transparent; border: 1px solid transparent; border-radius: 8px; cursor: pointer; font-size: 12px; font-weight: 700; white-space: nowrap; }
.nav-button:hover, .nav-button.active { color: var(--navy-deep); background: white; }
.session-summary { margin-left: auto; min-width: 150px; text-align: right; }
.session-summary strong, .session-summary span { display: block; }
.session-summary strong { max-width: 210px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }
.session-summary span { margin-top: 2px; color: #d9e7f6; font-size: 10px; }
.button { border: 0; border-radius: 8px; padding: 11px 15px; font-weight: 800; cursor: pointer; transition: transform .16s ease, box-shadow .16s ease; }
.button:hover:not(:disabled) { transform: translateY(-1px); box-shadow: 0 6px 16px rgba(8,45,87,.18); }
.button:disabled { opacity: .45; cursor: not-allowed; }
.auth-button { flex: 0 0 auto; color: var(--navy-deep); background: white; }
.primary-action { color: white; background: var(--navy); }
.compact-button { color: white; background: var(--blue); padding: 9px 13px; font-size: 12px; }
main { padding: 0 clamp(14px, 2.1vw, 32px) 34px; }
.landing { min-height: calc(100vh - 128px); display: grid; grid-template-columns: minmax(0, 1.3fr) minmax(280px, .7fr); grid-template-areas: "brand brand" "copy proof"; column-gap: clamp(36px, 8vw, 120px); row-gap: clamp(12px, 2vw, 26px); align-content: center; align-items: center; max-width: 1200px; margin: auto; }
.landing-brand { grid-area: brand; display: flex; justify-content: center; width: 100%; }
.landing-copy { grid-area: copy; }
.landing-copy h2, .dashboard-title-row h2, .view-header h2 { margin: 0; color: var(--navy-deep); letter-spacing: -.035em; }
.landing-copy h2 { font-size: clamp(44px, 7vw, 82px); line-height: .96; }
.landing-copy > p:not(.eyebrow) { max-width: 700px; color: var(--muted); font-size: 18px; line-height: 1.6; }
.landing-proof { grid-area: proof; display: grid; grid-template-columns: auto 1fr; gap: 14px 18px; padding: 28px; background: white; border: 1px solid var(--line); border-radius: 14px; box-shadow: var(--shadow); }
.landing-proof strong { color: var(--navy); }
.landing-proof span { color: var(--muted); }
.eyebrow { margin: 0 0 4px; color: var(--blue); font-size: 10px; font-weight: 900; letter-spacing: .13em; text-transform: uppercase; }
.workspace { max-width: 1600px; margin: 0 auto; }
.app-view { animation: reveal .28s ease both; }
.dashboard-title-row, .view-header { display: flex; justify-content: space-between; gap: 24px; align-items: end; padding: 14px 0 10px; }
.dashboard-title-row h2, .view-header h2 { font-size: clamp(26px, 2.4vw, 34px); }
.view-description { margin: 4px 0 0; max-width: 820px; color: var(--muted); font-size: 13px; line-height: 1.4; }
.programme-score { min-width: 176px; padding: 10px 14px; text-align: right; background: white; border: 1px solid var(--line); border-radius: 10px; }
.programme-score span, .programme-score strong { display: block; }
.programme-score span { color: var(--muted); font-size: 11px; font-weight: 700; }
.programme-score strong { color: var(--navy); font-size: 28px; }
.filter-bar { display: grid; grid-template-columns: minmax(170px, 1.2fr) repeat(3, minmax(145px, 1fr)) auto auto; gap: 10px; align-items: end; padding: 9px 12px; background: white; border: 1px solid var(--line); border-radius: 11px; }
label { display: grid; gap: 5px; color: var(--muted); font-size: 10px; font-weight: 800; text-transform: uppercase; letter-spacing: .05em; }
select, input[type="text"], input[type="file"], input[type="search"], input[type="number"] { width: 100%; min-height: 38px; padding: 8px 10px; color: var(--ink); background: white; border: 1px solid var(--line); border-radius: 8px; text-transform: none; letter-spacing: normal; }
.last-refresh { align-self: center; color: var(--muted); font-size: 10px; white-space: nowrap; }
.summary-grid { display: grid; grid-template-columns: repeat(6, minmax(130px, 1fr)); gap: 9px; margin: 10px 0; }
.summary-card { min-height: 80px; position: relative; padding: 13px 13px 10px 17px; background: white; border: 1px solid var(--line); border-radius: 10px; box-shadow: var(--shadow); overflow: hidden; }
.summary-card::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 5px; background: var(--navy); }
.summary-card span, .summary-card strong, .summary-card small { display: block; }
.summary-card span { color: var(--muted); font-size: 10px; font-weight: 900; letter-spacing: .04em; text-transform: uppercase; }
.summary-card strong { margin-top: 4px; color: var(--navy); font-size: 25px; line-height: 1; }
.summary-card small { margin-top: 4px; color: var(--muted); font-size: 9px; }
.summary-card.complete::before { background: var(--green); }.summary-card.complete strong { color: var(--green); }
.summary-card.gaps::before { background: var(--orange); }.summary-card.gaps strong { color: var(--orange); }
.summary-card.running::before { background: var(--blue); }.summary-card.running strong { color: var(--blue); }
.summary-card.failed::before { background: var(--red); }.summary-card.failed strong { color: var(--red); }
.summary-card.not-started::before { background: #7a8ba2; }.summary-card.not-started strong { color: #65758c; }
.dashboard-grid { display: grid; grid-template-columns: .82fr 1.05fr 1.13fr; gap: 10px; }
.panel { background: white; border: 1px solid var(--line); border-radius: 11px; box-shadow: var(--shadow); }
.dashboard-grid > .panel, .operations-grid > .panel, .attention-panel { padding: 13px; }
.panel-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; margin-bottom: 12px; }
.panel-heading h3 { margin: 0; color: var(--navy-deep); font-size: 16px; text-transform: uppercase; letter-spacing: .02em; }
.panel-count, .policy-badge { display: inline-flex; align-items: center; min-height: 25px; padding: 4px 9px; color: var(--navy); background: var(--soft); border-radius: 999px; font-size: 10px; font-weight: 800; white-space: nowrap; }
.chart-wrap { position: relative; height: 150px; }
.coverage-list { max-height: 160px; overflow: auto; display: grid; gap: 9px; padding-right: 4px; }
.coverage-row { display: grid; grid-template-columns: minmax(72px, .72fr) minmax(82px, 1.28fr) 44px; gap: 8px; align-items: center; }
.coverage-row strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 11px; }
.coverage-row span { color: var(--blue); text-align: right; font-size: 10px; font-weight: 800; }
progress { width: 100%; height: 13px; overflow: hidden; border: 0; border-radius: 999px; background: var(--soft); }
progress::-webkit-progress-bar { background: var(--soft); border-radius: 999px; }
progress::-webkit-progress-value { background: var(--blue); border-radius: 999px; }
progress::-moz-progress-bar { background: var(--blue); border-radius: 999px; }
.issue-list { min-height: 120px; display: grid; gap: 5px; }
.issue-row { display: grid; grid-template-columns: 1fr auto; gap: 10px; align-items: center; padding: 5px 9px; border-left: 4px solid var(--muted); background: #f8fafd; border-radius: 5px; }
.issue-row > div { display: flex; flex-wrap: wrap; align-items: baseline; gap: 3px 7px; }
.issue-row.high { border-left-color: var(--red); }.issue-row.medium { border-left-color: var(--orange); }.issue-row.low { border-left-color: var(--blue); }
.issue-row strong { font-size: 11px; }.issue-row span { color: var(--muted); font-size: 10px; }.issue-row b { color: var(--navy); font-size: 13px; }
.certificate-summary { margin-top: 11px; padding-top: 10px; color: var(--muted); border-top: 1px solid var(--line); font-size: 10px; line-height: 1.5; }
.attention-panel { margin-top: 10px; }
.table-scroll { max-height: 390px; overflow: auto; }
table { width: 100%; border-collapse: separate; border-spacing: 0; font-size: 10px; }
th { padding: 9px 10px; color: white; background: var(--navy); text-align: left; white-space: nowrap; }
th:first-child { border-radius: 7px 0 0 7px; } th:last-child { border-radius: 0 7px 7px 0; }
td { padding: 8px 10px; border-bottom: 1px solid var(--soft); vertical-align: middle; }
td strong { font-size: 11px; }
.status-badge { display: inline-flex; align-items: center; min-height: 24px; padding: 4px 9px; color: white; background: var(--muted); border-radius: 999px; font-size: 9px; font-weight: 900; text-transform: uppercase; white-space: nowrap; }
.status-badge.complete { background: var(--green); }.status-badge.complete-with-gaps { background: var(--orange); }.status-badge.in-progress { background: var(--blue); }.status-badge.failed, .status-badge.blocked { background: var(--red); }.status-badge.partial { background: var(--violet); }.status-badge.not-started, .status-badge.neutral { background: #73849b; }
.progress-cell { min-width: 120px; }.progress-cell span { display: block; margin-top: 3px; color: var(--muted); font-size: 9px; }
.table-action { padding: 7px 10px; color: white; background: var(--navy); border: 0; border-radius: 999px; cursor: pointer; font-size: 8px; font-weight: 900; text-transform: uppercase; }
.empty-state { padding: 24px; color: var(--muted); background: #f8fafd; border: 1px dashed var(--line); border-radius: 8px; text-align: center; }
.operations-grid { display: grid; grid-template-columns: 1.1fr 1fr .8fr; gap: 10px; margin-top: 10px; }
.health-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 8px; }
.health-item { padding: 10px; background: #f8fafd; border: 1px solid var(--soft); border-radius: 8px; }
.health-item strong, .health-item span { display: block; }.health-item strong { font-size: 11px; }.health-item span { margin-top: 3px; color: var(--muted); font-size: 9px; line-height: 1.4; }
.health-state { color: var(--green); }.health-state.attention { color: var(--orange); }
.activity-list { max-height: 170px; overflow: auto; display: grid; gap: 7px; }
.activity-row { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 8px; padding-bottom: 7px; border-bottom: 1px solid var(--soft); }
.activity-row > div { min-width: 0; display: grid; gap: 2px; }
.activity-row strong, .activity-row span { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.activity-row strong { font-size: 10px; }.activity-row span { color: var(--muted); font-size: 9px; }
.ai-panel p { color: var(--muted); font-size: 11px; line-height: 1.55; }
.text-action { padding: 0; color: var(--blue); background: transparent; border: 0; cursor: pointer; font-size: 11px; font-weight: 850; text-align: left; text-decoration: underline; text-underline-offset: 3px; }
.form-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 12px; }
.form-grid > .panel, .onboarding-panel { padding: 22px; }
.evidence-panel { grid-column: 1 / -1; }
.tenant-list { display: grid; gap: 8px; }
.tenant { display: grid; grid-template-columns: auto 1fr auto; gap: 10px; align-items: center; padding: 12px; border: 1px solid var(--line); border-radius: 9px; cursor: pointer; }
.tenant:has(input:checked) { border-color: var(--blue); box-shadow: inset 4px 0 var(--blue); }
.tenant small { display: block; margin-top: 2px; color: var(--muted); }
fieldset { border: 0; padding: 0; margin: 18px 0 0; }
legend { margin-bottom: 8px; color: var(--muted); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.workloads { max-height: 260px; overflow: auto; display: grid; grid-template-columns: 1fr 1fr; gap: 7px 12px; }
.check { display: flex; align-items: center; gap: 7px; margin-top: 12px; color: var(--ink); font-size: 11px; text-transform: none; letter-spacing: normal; }
input { accent-color: var(--blue); }
.run-panel .primary-action, .onboarding-panel .primary-action { width: 100%; margin-top: 18px; }
.run-detail { display: grid; gap: 2px; }
.run-row { display: grid; grid-template-columns: 180px 1fr; gap: 18px; padding: 10px 0; border-bottom: 1px solid var(--soft); }
.run-row span { color: var(--muted); }
.panel-copy { color: var(--muted); line-height: 1.5; }
.upload-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; margin: 16px 0; }
.tenant-dialog { width: min(860px, calc(100vw - 32px)); max-height: 88vh; padding: 0; color: var(--ink); background: white; border: 1px solid var(--line); border-radius: 12px; box-shadow: 0 24px 80px rgba(8,45,87,.24); }
.tenant-dialog::backdrop { background: rgba(8,45,87,.55); }
.dialog-header { display: flex; justify-content: space-between; gap: 20px; align-items: start; padding: 18px; border-bottom: 1px solid var(--line); }
.dialog-header h3 { margin: 0; color: var(--navy); }
#dialogBody { padding: 18px; overflow: auto; }
.detail-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 9px; margin-bottom: 16px; }
.detail-item { padding: 11px; background: #f8fafd; border-radius: 8px; }.detail-item span, .detail-item strong { display: block; }.detail-item span { color: var(--muted); font-size: 9px; text-transform: uppercase; }.detail-item strong { margin-top: 4px; font-size: 11px; overflow-wrap: anywhere; }
.detail-section { margin-top: 16px; }.detail-section h4 { margin: 0 0 8px; color: var(--navy); }
.detail-list { display: grid; gap: 6px; }.detail-list > div { display: grid; grid-template-columns: 1fr auto; gap: 12px; padding: 8px 10px; background: #f8fafd; border-radius: 7px; font-size: 10px; }
.explorer-header { align-items: center; }
.explorer-selectors { min-width: min(720px, 55vw); display: grid; grid-template-columns: 1fr 1.2fr auto; gap: 10px; align-items: end; padding: 10px; background: white; border: 1px solid var(--line); border-radius: 11px; }
.explorer-facts { display: grid; grid-template-columns: repeat(5, minmax(130px, 1fr)); gap: 10px; margin-bottom: 10px; }
.explorer-fact { min-height: 78px; padding: 13px 15px; background: white; border: 1px solid var(--line); border-top: 4px solid var(--blue); border-radius: 10px; box-shadow: var(--shadow); }
.explorer-fact span, .explorer-fact strong { display: block; }.explorer-fact span { color: var(--muted); font-size: 9px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }.explorer-fact strong { margin-top: 6px; color: var(--navy-deep); font-size: 15px; overflow-wrap: anywhere; }
.intelligence-panel { margin-bottom: 11px; border-top: 4px solid var(--navy); }
.inventory-intro { margin: -4px 0 13px; }
.entity-groups { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 11px; }
.entity-group { min-width: 0; padding: 13px; background: #f7f9fc; border: 1px solid var(--line); border-radius: 9px; }
.entity-group h4 { margin: 0 0 3px; color: var(--navy-deep); font-size: 13px; }
.entity-group > p { margin: 0 0 10px; color: var(--muted); font-size: 9px; line-height: 1.4; }
.entity-list { display: grid; grid-template-columns: 1fr 1fr; gap: 7px; }
.entity-card { min-width: 0; padding: 10px; background: white; border: 1px solid var(--line); border-left: 4px solid var(--blue); border-radius: 7px; }
.entity-card.unavailable { border-left-color: var(--orange); background: #fffaf1; }
.entity-card strong, .entity-card span { display: block; }.entity-card strong { color: var(--navy-deep); font-size: 18px; }.entity-card span { margin: 2px 0 7px; color: var(--muted); font-size: 9px; line-height: 1.35; }
.entity-action { padding: 0; color: var(--blue); background: transparent; border: 0; cursor: pointer; font-size: 9px; font-weight: 850; text-align: left; text-decoration: underline; text-underline-offset: 2px; }
.entity-action:disabled { color: var(--muted); cursor: not-allowed; text-decoration: none; }
.coverage-disclosure { display: grid; grid-template-columns: minmax(230px, .7fr) minmax(0, 1.5fr); gap: 10px 18px; margin-top: 13px; padding-top: 13px; border-top: 1px solid var(--line); }
.coverage-disclosure h4 { margin: 2px 0 0; color: var(--navy-deep); font-size: 12px; }
.collection-gaps { max-height: 340px; overflow: auto; display: grid; gap: 6px; padding-right: 5px; }
.collection-gap { display: grid; grid-template-columns: minmax(110px, .45fr) minmax(0, 1.55fr); gap: 10px; padding: 8px 10px; background: #fff8e8; border-left: 4px solid var(--orange); border-radius: 6px; }
.collection-gap strong { color: var(--navy-deep); font-size: 10px; }.collection-gap span { color: var(--ink); font-size: 9px; line-height: 1.45; }
.collection-boundary { grid-column: 2; color: var(--muted); font-size: 9px; line-height: 1.5; }
.explorer-layout { display: grid; grid-template-columns: minmax(290px, .72fr) minmax(0, 2fr); gap: 11px; align-items: start; }
.explorer-sidebar, .explorer-main { display: grid; gap: 11px; min-width: 0; }
.explorer-panel, .settings-card { padding: 16px; }
.workload-results { max-height: 430px; overflow: auto; display: grid; gap: 6px; padding-right: 3px; }
.workload-result { display: grid; grid-template-columns: minmax(0, 1fr) auto; gap: 6px 10px; padding: 10px; background: #f8fafd; border-left: 4px solid var(--line); border-radius: 7px; }
.workload-result.complete { border-left-color: var(--green); }.workload-result.partial, .workload-result.notapproved, .workload-result.not-licensed { border-left-color: var(--orange); }.workload-result.failed { border-left-color: var(--red); }
.workload-result strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 11px; }.workload-result span { color: var(--muted); font-size: 9px; }.workload-result b { color: var(--navy); font-size: 10px; }
.run-history { max-height: 250px; overflow: auto; display: grid; gap: 6px; }
.run-history-button { width: 100%; display: grid; grid-template-columns: 1fr auto; gap: 3px 8px; padding: 10px; color: var(--ink); background: #f8fafd; border: 1px solid transparent; border-radius: 7px; cursor: pointer; text-align: left; }
.run-history-button:hover, .run-history-button.active { border-color: var(--blue); background: #edf6ff; }.run-history-button strong { font-size: 10px; }.run-history-button span { color: var(--muted); font-size: 9px; }
.evidence-toolbar { display: grid; grid-template-columns: minmax(180px, .7fr) minmax(260px, 1.3fr); gap: 10px; margin-bottom: 10px; }
.evidence-files { max-height: 480px; }.evidence-path { max-width: 520px; overflow-wrap: anywhere; }.evidence-path small { display: block; margin-top: 2px; color: var(--muted); }
.file-actions { display: flex; gap: 5px; }.file-actions button { padding: 6px 9px; }
.preview-panel { min-height: 320px; }
.evidence-preview { max-height: 600px; overflow: auto; padding: 0; text-align: left; background: #f8fafd; }
.preview-table { min-width: 760px; font-size: 10px; }.preview-table th { position: sticky; top: 0; z-index: 1; }.preview-table td { max-width: 420px; vertical-align: top; overflow-wrap: anywhere; }
.preview-code { margin: 0; padding: 16px; color: #dfeeff; background: var(--navy-deep); border-radius: 8px; font-family: Consolas, monospace; font-size: 11px; line-height: 1.55; white-space: pre-wrap; overflow-wrap: anywhere; }
.capability-banner { margin-bottom: 11px; padding: 13px 16px; color: var(--ink); background: #fff8e8; border: 1px solid #f0ce8a; border-left: 5px solid var(--orange); border-radius: 9px; font-size: 12px; line-height: 1.5; }
.capability-banner.available { background: #eefaf4; border-color: #9dd7b9; border-left-color: var(--green); }
.settings-grid { display: grid; grid-template-columns: repeat(3, 1fr); gap: 11px; align-items: start; }
.settings-card { display: grid; gap: 13px; }
.settings-card fieldset { margin: 0; }.settings-workloads { max-height: 315px; overflow: auto; display: grid; grid-template-columns: 1fr; gap: 5px; padding-right: 5px; }
.field-note { margin: 0; padding: 10px; color: var(--muted); background: #f8fafd; border-radius: 7px; font-size: 10px; line-height: 1.5; }
.settings-save-card { grid-column: 1 / -1; display: flex; align-items: center; justify-content: space-between; gap: 30px; border-left: 5px solid var(--blue); }.settings-save-card h3 { margin: 0; color: var(--navy-deep); }.settings-save-card .button { min-width: 220px; }
.notice { position: fixed; z-index: 20; right: 20px; bottom: 20px; max-width: min(440px, calc(100vw - 40px)); padding: 14px 17px; color: white; background: var(--navy-deep); border-left: 5px solid var(--orange); border-radius: 9px; box-shadow: 0 14px 38px rgba(8,45,87,.25); }
footer { display: flex; justify-content: space-between; gap: 20px; padding: 16px clamp(16px, 2.5vw, 36px); color: var(--muted); border-top: 1px solid var(--line); font-size: 10px; }
.hidden { display: none !important; }
@keyframes reveal { from { opacity: 0; transform: translateY(6px); } }
@media (max-width: 1050px) and (min-width: 901px) {
  .brand-copy { min-width: 220px; }.brand-copy p, .session-summary span { display: none; }.brand-copy h1 { font-size: 17px; white-space: nowrap; }
  .primary-nav { margin-left: 0; }.session-summary { min-width: 95px; }
}
@media (max-width: 900px) {
  .topbar { flex-wrap: wrap; }.primary-nav { order: 3; width: 100%; margin: 0; }.session-summary { margin-left: auto; }
  .filter-bar { grid-template-columns: repeat(4, 1fr); }.filter-bar .compact-button, .last-refresh { grid-column: auto; }
  .summary-grid { grid-template-columns: repeat(3, 1fr); }.dashboard-grid, .operations-grid { grid-template-columns: 1fr 1fr; }.issues-panel, .ai-panel { grid-column: 1 / -1; }
  .explorer-header { align-items: stretch; flex-direction: column; }.explorer-selectors { min-width: 0; width: 100%; }.explorer-facts { grid-template-columns: repeat(3, 1fr); }.entity-groups { grid-template-columns: 1fr 1fr; }.explorer-layout { grid-template-columns: 1fr; }.settings-grid { grid-template-columns: 1fr 1fr; }.settings-save-card { grid-column: 1 / -1; }
}
@media (max-width: 760px) {
  .brand-copy { min-width: 0; }.brand-copy p { display: none; }.brand-copy h1 { font-size: 17px; }
  .session-summary { display: none; }.auth-button { margin-left: auto; }.nav-button { flex: 1; }
  .landing { grid-template-columns: 1fr; grid-template-areas: "brand" "copy" "proof"; padding: 48px 0; }.landing-copy h2 { font-size: 50px; }
  .dashboard-title-row, .view-header { align-items: stretch; flex-direction: column; }.programme-score { text-align: left; }
  .filter-bar { grid-template-columns: 1fr 1fr; }.summary-grid { grid-template-columns: 1fr 1fr; }.dashboard-grid, .operations-grid, .form-grid { grid-template-columns: 1fr; }
  .issues-panel, .ai-panel, .evidence-panel { grid-column: auto; }.workloads, .upload-grid { grid-template-columns: 1fr; }.coverage-row { grid-template-columns: 1fr 1.2fr 45px; }.detail-grid { grid-template-columns: 1fr; }
  .explorer-selectors, .evidence-toolbar, .settings-grid, .entity-groups, .coverage-disclosure { grid-template-columns: 1fr; }.explorer-facts { grid-template-columns: 1fr 1fr; }.collection-boundary { grid-column: auto; }.settings-save-card { grid-column: auto; align-items: stretch; flex-direction: column; }.settings-save-card .button { min-width: 0; width: 100%; }
}
@media (max-width: 480px) {
  main { padding-inline: 10px; }.topbar { padding-inline: 10px; }.brand-mark { display: none; }.auth-button { padding: 9px 10px; font-size: 11px; }
  .filter-bar, .summary-grid { grid-template-columns: 1fr; }.filter-bar .compact-button, .last-refresh { grid-column: auto; }.health-grid { grid-template-columns: 1fr; }
}

/* 2026 control-room visual system */
:root {
  --navy: #102a43;
  --navy-deep: #071c2c;
  --blue: #087ea4;
  --teal: #00a896;
  --green: #14845b;
  --orange: #d97706;
  --red: #c2413b;
  --violet: #5c5bd6;
  --ink: #102a43;
  --muted: #5f7286;
  --paper: #eef3f6;
  --line: #d8e2e8;
  --soft: #edf4f6;
  --shadow: 0 14px 34px rgba(15, 42, 60, .08), 0 2px 8px rgba(15, 42, 60, .04);
}
html { background: var(--paper); }
body { background: radial-gradient(circle at 78% 4%, rgba(0,168,150,.09), transparent 28rem), linear-gradient(145deg, #f7fafb 0%, #edf3f6 58%, #e9f0f3 100%); font-family: "Aptos Display", "Segoe UI Variable Display", Candara, sans-serif; font-size: 15px; }
.topbar { position: fixed; z-index: 12; inset: 0 auto 0 0; width: 256px; min-height: 100vh; flex-direction: column; align-items: stretch; gap: 0; padding: 28px 18px 22px; color: #f7fbfd; background: linear-gradient(170deg, #071c2c 0%, #0b3042 56%, #075a61 135%); border: 0; box-shadow: 12px 0 40px rgba(7,28,44,.12); }
.brand-mark { width: 48px; height: 48px; border: 0; border-radius: 15px; color: #062737; background: linear-gradient(135deg, #91f3db, #d9fff6); box-shadow: 0 10px 28px rgba(0,168,150,.25); font-size: 13px; }
.brand-copy { min-width: 0; margin: 14px 2px 28px; }
.brand-copy p { color: #90c7ca; font-size: 11px; letter-spacing: .1em; }
.brand-copy h1 { margin-top: 3px; font-size: 23px; line-height: 1.05; }
.primary-nav { width: 100%; flex-direction: column; align-items: stretch; gap: 7px; margin: 0; }
.primary-nav::before { content: "Workspace"; margin: 0 12px 3px; color: #6fa8ad; font-size: 10px; font-weight: 800; letter-spacing: .13em; text-transform: uppercase; }
.nav-button { position: relative; width: 100%; min-height: 45px; padding: 12px 14px 12px 18px; color: #c8dde0; border-radius: 12px; font-size: 13px; text-align: left; }
.nav-button::before { content: ""; position: absolute; left: 8px; top: 50%; width: 4px; height: 4px; border-radius: 50%; background: currentColor; transform: translateY(-50%); opacity: .45; }
.nav-button:hover, .nav-button.active { color: white; background: rgba(255,255,255,.11); box-shadow: inset 0 0 0 1px rgba(255,255,255,.06); }
.nav-button.active::before { height: 22px; border-radius: 99px; background: #6ce3cf; opacity: 1; }
.session-summary { width: 100%; min-width: 0; margin: auto 0 12px; padding: 13px 14px; text-align: left; background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.08); border-radius: 12px; }
.session-summary strong { font-size: 12px; }.session-summary span { color: #91b8bd; font-size: 10px; }
.auth-button { width: 100%; color: white; background: rgba(255,255,255,.1); border: 1px solid rgba(255,255,255,.16); }
main { min-height: calc(100vh - 49px); margin-left: 256px; padding: 28px clamp(24px, 3vw, 52px) 50px; }
footer { margin-left: 256px; padding: 16px clamp(24px, 3vw, 52px); background: rgba(255,255,255,.46); }
.workspace { max-width: 1680px; }
.dashboard-title-row, .view-header { padding: 4px 0 22px; align-items: center; }
.dashboard-title-row h2, .view-header h2 { color: var(--navy-deep); font-size: clamp(30px, 3vw, 46px); font-weight: 760; letter-spacing: -.045em; }
.view-description { margin-top: 8px; max-width: 900px; font-size: 14px; line-height: 1.55; }
.eyebrow { margin-bottom: 7px; color: #087b82; font-size: 10px; letter-spacing: .16em; }
.context-strip { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 15px; }
.context-strip span { padding: 6px 10px; color: #28606c; background: rgba(255,255,255,.7); border: 1px solid #d4e5e7; border-radius: 99px; font-size: 10px; font-weight: 750; }
.programme-score { min-width: 190px; padding: 17px 20px; text-align: left; background: linear-gradient(140deg, #0b3042, #087b82); border: 0; border-radius: 17px; box-shadow: 0 18px 35px rgba(8,83,96,.18); }
.programme-score span { color: #bce2df; }.programme-score strong { margin-top: 3px; color: white; font-size: 34px; }
.filter-bar { gap: 12px; padding: 14px; background: rgba(255,255,255,.86); backdrop-filter: blur(18px); border: 1px solid rgba(201,219,226,.85); border-radius: 17px; box-shadow: var(--shadow); }
label { gap: 7px; font-size: 10px; letter-spacing: .08em; }
select, input[type="text"], input[type="file"], input[type="search"], input[type="number"] { min-height: 43px; padding: 9px 12px; background: #fbfdfe; border-color: #cfdee5; border-radius: 10px; }
.button { min-height: 43px; border-radius: 11px; }.compact-button { background: linear-gradient(135deg, #087ea4, #06677f); }
.summary-grid { gap: 13px; margin: 15px 0; }
.summary-card { min-height: 116px; padding: 19px 17px 15px 21px; border: 0; border-radius: 17px; box-shadow: var(--shadow); }
.summary-card::before { inset: auto 15px 13px 15px; width: auto; height: 3px; border-radius: 99px; }
.summary-card span { font-size: 10px; letter-spacing: .08em; }.summary-card strong { margin-top: 8px; font-size: 34px; }.summary-card small { margin-top: 8px; font-size: 10px; line-height: 1.3; }
.dashboard-grid, .operations-grid { gap: 14px; }
.panel { border: 1px solid rgba(207,222,229,.82); border-radius: 18px; box-shadow: var(--shadow); }
.dashboard-grid > .panel, .operations-grid > .panel, .attention-panel { padding: 20px; }
.panel-heading { margin-bottom: 17px; }.panel-heading h3 { font-size: 17px; font-weight: 760; letter-spacing: -.01em; text-transform: none; }
.panel-count, .policy-badge { min-height: 27px; padding: 5px 10px; font-size: 10px; }
.chart-wrap { height: 190px; }.coverage-list { max-height: 205px; gap: 12px; }.coverage-row strong { font-size: 12px; }.coverage-row span { font-size: 11px; }
.issue-list { min-height: 154px; gap: 8px; }.issue-row { padding: 8px 11px; border-radius: 9px; }.issue-row strong { font-size: 12px; }.issue-row span { font-size: 11px; }.issue-row b { font-size: 14px; }
.attention-panel { margin-top: 14px; }.table-scroll { max-height: 470px; }.attention-panel table, .evidence-files table { font-size: 12px; }
th { padding: 12px; background: #0b3042; }.attention-panel th:first-child { border-radius: 10px 0 0 10px; }.attention-panel th:last-child { border-radius: 0 10px 10px 0; }
td { padding: 11px 12px; }.status-badge { min-height: 26px; font-size: 9px; }.table-action { padding: 8px 11px; font-size: 9px; }
.health-item { padding: 13px; border-radius: 11px; }.health-item strong { font-size: 12px; }.health-item span { font-size: 10px; }.activity-row strong { font-size: 11px; }.activity-row span { font-size: 10px; }
.form-grid { grid-template-columns: .7fr 1.3fr; gap: 15px; }.form-grid > .panel, .onboarding-panel, .explorer-panel, .settings-card { padding: 22px; }
.workloads, .settings-workloads { max-height: none; overflow: visible; display: grid; grid-template-columns: 1fr; gap: 14px; }
.workload-group { padding: 14px; background: #f5f9fa; border: 1px solid #dbe7ea; border-radius: 13px; }
.workload-group-heading { display: grid; gap: 3px; margin-bottom: 10px; }.workload-group-heading strong { color: var(--navy-deep); font-size: 13px; }.workload-group-heading span { color: var(--muted); font-size: 11px; line-height: 1.35; }
.workload-option-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.workload-option { display: grid; grid-template-columns: auto minmax(0,1fr); gap: 10px; align-items: start; min-height: 76px; padding: 11px; color: var(--ink); background: white; border: 1px solid #dce6eb; border-radius: 11px; text-transform: none; letter-spacing: 0; cursor: pointer; }
.workload-option:has(input:checked) { border-color: #55afa8; background: #f0fbf9; box-shadow: inset 0 0 0 1px rgba(0,168,150,.14); }
.workload-option input { margin-top: 3px; }.workload-option-copy { min-width: 0; display: grid; gap: 5px; }.workload-option-title { display: flex; flex-wrap: wrap; justify-content: space-between; gap: 5px; }.workload-option-title strong { font-size: 11px; line-height: 1.25; }.workload-option-copy small { color: var(--muted); font-size: 10px; line-height: 1.35; }
.workload-tier { color: #146a6d; background: #e1f3f0; border-radius: 99px; padding: 3px 6px; font-size: 8px; font-weight: 800; text-transform: uppercase; }
.scope-note { margin: 13px 0 0; padding: 12px 14px; color: #4d6675; background: #edf6f6; border-left: 4px solid var(--teal); border-radius: 8px; font-size: 11px; line-height: 1.5; }
.explorer-selectors { padding: 13px; border-radius: 16px; box-shadow: var(--shadow); }.explorer-facts { gap: 13px; margin-bottom: 14px; }.explorer-fact { min-height: 100px; padding: 17px; border-top: 0; border-left: 4px solid var(--teal); border-radius: 15px; }.explorer-fact span { font-size: 10px; }.explorer-fact strong { margin-top: 8px; font-size: 17px; }
.intelligence-panel { border-top: 0; }.entity-groups { grid-template-columns: repeat(2, minmax(0,1fr)); gap: 13px; }.entity-group { padding: 16px; border-radius: 13px; }.entity-group > p { font-size: 11px; }.entity-card { padding: 12px; border-radius: 10px; }.entity-card strong { font-size: 20px; }.entity-card span, .entity-action { font-size: 10px; }
.collection-gap { padding: 11px 12px; border-radius: 9px; }.collection-gap strong { font-size: 11px; }.collection-gap span, .collection-boundary { font-size: 10px; }
.workload-result { padding: 12px; border-radius: 10px; }.workload-result strong { font-size: 12px; }.workload-result span { font-size: 10px; }.workload-result b { font-size: 10px; }
.settings-grid { grid-template-columns: .9fr 1.45fr 1fr; gap: 14px; }.settings-card { gap: 16px; }.settings-workloads .workload-option-grid { grid-template-columns: 1fr; }.settings-workloads .workload-option { min-height: 65px; }
.capability-banner { padding: 16px 18px; border-radius: 13px; font-size: 13px; }.field-note { padding: 13px; font-size: 11px; }.settings-save-card { position: sticky; z-index: 4; bottom: 12px; background: rgba(255,255,255,.94); backdrop-filter: blur(16px); }
.notice { border-radius: 13px; }

@media (max-width: 1180px) {
  .topbar { position: relative; width: auto; min-height: 0; flex-direction: row; align-items: center; gap: 12px; padding: 14px 20px; }
  .brand-mark { width: 42px; height: 42px; }.brand-copy { min-width: 210px; margin: 0; }.brand-copy h1 { font-size: 19px; }.brand-copy p { font-size: 9px; }
  .primary-nav { width: auto; flex-direction: row; align-items: center; gap: 4px; }.primary-nav::before { display: none; }.nav-button { width: auto; min-height: 39px; padding: 9px 10px; text-align: center; }.nav-button::before { display: none; }
  .session-summary { width: auto; min-width: 120px; margin: 0 0 0 auto; padding: 8px 10px; }.auth-button { width: auto; }
  main, footer { margin-left: 0; }.dashboard-grid { grid-template-columns: 1fr 1fr; }.issues-panel { grid-column: 1/-1; }.summary-grid { grid-template-columns: repeat(3,1fr); }
}
@media (max-width: 900px) {
  .topbar { flex-wrap: wrap; }.primary-nav { order: 3; width: 100%; overflow-x: auto; }.nav-button { flex: 0 0 auto; }.session-summary { margin-left: auto; }
  .settings-grid { grid-template-columns: 1fr 1fr; }.settings-card:nth-of-type(2), .settings-save-card { grid-column: 1/-1; }.entity-groups { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  main { padding: 20px 14px 40px; }.dashboard-title-row h2, .view-header h2 { font-size: 32px; }.programme-score { width: 100%; }
  .dashboard-grid, .operations-grid, .form-grid, .settings-grid { grid-template-columns: 1fr; }.issues-panel, .settings-card:nth-of-type(2), .settings-save-card { grid-column: auto; }.workload-option-grid { grid-template-columns: 1fr; }
  .topbar .session-summary { display: none; }.brand-copy { min-width: 0; }.auth-button { margin-left: auto; }
}

/* Compact Microsoft operations workspace - reference-led redesign. */
:root {
  --navy: #3549a3;
  --navy-deep: #172141;
  --blue: #4056b2;
  --teal: #17867b;
  --green: #2d8659;
  --orange: #b86518;
  --red: #b13b42;
  --violet: #6657a8;
  --ink: #253047;
  --muted: #687188;
  --paper: #f3f4f7;
  --card: #ffffff;
  --line: #dfe2ea;
  --soft: #eef0f5;
  --shadow: 0 2px 8px rgba(35, 45, 75, .06);
  --chart-border: #ffffff;
  --chart-legend: #253047;
}
html, body { background: var(--paper); }
body { font-family: Aptos, "Segoe UI Variable Text", "Segoe UI", sans-serif; font-size: 14px; }
body::before { display: none; }
button:focus-visible, input:focus-visible, select:focus-visible { outline: 2px solid #5b78dc; outline-offset: 2px; }

.topbar {
  position: fixed; z-index: 20; inset: 0 auto 0 0; width: 68px; min-height: 100vh; padding: 8px 7px;
  display: flex; flex-direction: column; align-items: center; gap: 8px; color: #fff; background: #3f51ad;
  border: 0; box-shadow: 2px 0 10px rgba(35,44,94,.12);
}
.brand-mark { width: 42px; height: 42px; margin-bottom: 7px; color: #3f51ad; background: #fff; border: 0; border-radius: 9px; box-shadow: none; font-size: 11px; }
.brand-copy { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.primary-nav { width: 100%; margin: 0; display: flex; flex-direction: column; align-items: center; gap: 5px; }
.primary-nav::before { display: none; }
.nav-button {
  position: relative; width: 48px; height: 44px; min-height: 44px; padding: 0; display: grid; place-items: center;
  color: #e6e9ff; background: transparent; border: 1px solid transparent; border-radius: 8px; text-align: center;
}
.nav-button::before { display: none; }
.nav-button img { width: 21px; height: 21px; filter: brightness(0) invert(1); opacity: .88; }
.nav-button span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.nav-button:hover, .nav-button.active { color: #fff; background: rgba(255,255,255,.16); border-color: rgba(255,255,255,.12); box-shadow: none; }
.nav-button.active::after { content: ""; position: absolute; left: -7px; top: 8px; width: 3px; height: 28px; border-radius: 0 4px 4px 0; background: #fff; }
.nav-button:hover::before, .nav-button:focus-visible::before {
  content: attr(data-label); display: block; position: absolute; z-index: 30; left: 57px; top: 50%; width: max-content; max-width: 180px;
  padding: 7px 9px; color: white; background: #202a4c; border-radius: 5px; box-shadow: 0 5px 16px rgba(20,28,58,.22);
  font-size: 11px; font-weight: 700; transform: translateY(-50%);
}
.session-summary { width: 48px; min-width: 48px; height: 48px; margin: auto 0 2px; padding: 0; display: grid; place-items: center; background: #fff; border: 0; border-radius: 50%; text-align: center; }
.session-summary strong { max-width: 38px; color: #3f51ad; font-size: 0; }
.session-summary strong::first-letter { font-size: 12px; }
.session-summary span { display: none; }
.auth-button { width: 48px; min-height: 36px; padding: 5px; color: #fff; background: rgba(255,255,255,.12); border: 1px solid rgba(255,255,255,.16); border-radius: 7px; font-size: 9px; line-height: 1.15; }
.theme-toggle { position: relative; width: 48px; height: 44px; flex: 0 0 auto; margin-top: auto; display: grid; place-items: center; color: #fff; background: transparent; border: 1px solid transparent; border-radius: 8px; cursor: pointer; }
.theme-toggle:hover { background: rgba(255,255,255,.16); border-color: rgba(255,255,255,.12); }
.theme-toggle img { width: 20px; height: 20px; filter: brightness(0) invert(1); opacity: .9; }
.theme-toggle span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip-path: inset(50%); }
.theme-toggle:hover::before, .theme-toggle:focus-visible::before { content: attr(data-label); display: block; position: absolute; z-index: 30; left: 57px; top: 50%; width: max-content; max-width: 180px; padding: 7px 9px; color: white; background: #202a4c; border-radius: 5px; box-shadow: 0 5px 16px rgba(20,28,58,.22); font-size: 11px; font-weight: 700; transform: translateY(-50%); }
.theme-toggle + .session-summary { margin: 2px 0; }

main { min-height: calc(100vh - 39px); margin-left: 68px; padding: 0 20px 30px; }
footer { margin-left: 68px; padding: 11px 22px; background: #fff; border-color: var(--line); font-size: 9px; }
.workspace { max-width: 1900px; }
.workspace-bar { min-height: 48px; margin: 0 -20px 14px; padding: 0 20px; display: flex; align-items: center; justify-content: space-between; gap: 18px; background: #fff; border-bottom: 1px solid var(--line); }
.breadcrumb { display: flex; align-items: center; gap: 7px; font-size: 12px; }.breadcrumb span { color: var(--blue); }.breadcrumb span::after { content: "›"; margin-left: 7px; color: #9ba3b5; }.breadcrumb b { color: var(--ink); font-weight: 650; }
.workspace-actions { display: flex; align-items: center; gap: 7px; }
.chrome-action { min-height: 32px; padding: 6px 10px; display: inline-flex; align-items: center; gap: 6px; color: #3d465b; background: #fff; border: 1px solid #d7dae3; border-radius: 6px; cursor: pointer; font-size: 10px; font-weight: 650; }
.chrome-action:hover { background: #f6f7fa; border-color: #bfc5d4; }.chrome-action img { width: 15px; height: 15px; opacity: .78; }
.live-indicator { display: inline-flex; align-items: center; gap: 6px; margin-left: 4px; color: #586178; font-size: 10px; }.live-indicator i { width: 7px; height: 7px; border-radius: 50%; background: #2c8b5c; box-shadow: 0 0 0 3px #e2f3e9; }

.dashboard-title-row, .view-header { min-height: 64px; padding: 0 2px 12px; align-items: center; }
.dashboard-title-row h2, .view-header h2 { color: #202a43; font-size: clamp(24px,2vw,32px); font-weight: 690; letter-spacing: -.025em; }
.view-description { margin-top: 3px; max-width: 980px; color: #697287; font-size: 12px; line-height: 1.45; }
.eyebrow { margin-bottom: 4px; color: #5969bd; font-size: 9px; letter-spacing: .12em; }
.context-strip { display: none; }
.programme-score { min-width: 145px; padding: 11px 13px; text-align: left; background: #fff; border: 1px solid var(--line); border-left: 4px solid var(--blue); border-radius: 7px; box-shadow: var(--shadow); }
.programme-score span { color: #7a8295; font-size: 9px; }.programme-score strong { margin-top: 2px; color: #394ca5; font-size: 26px; }

.button { min-height: 37px; padding: 8px 12px; border-radius: 6px; box-shadow: none; transition: background .15s ease, border-color .15s ease; }
.button:hover:not(:disabled) { transform: none; box-shadow: none; }.compact-button, .primary-action { background: var(--blue); }
.button img { width: 17px; height: 17px; filter: brightness(0) invert(1); }
label { gap: 5px; color: #6d7589; font-size: 9px; letter-spacing: .06em; }
select, input[type="text"], input[type="file"], input[type="search"], input[type="number"] { min-height: 36px; padding: 7px 9px; background: #fff; border-color: #d9dde6; border-radius: 5px; }
.filter-bar { grid-template-columns: minmax(160px,1.2fr) repeat(3,minmax(130px,1fr)) auto auto; gap: 8px; padding: 10px; background: #fff; border: 1px solid var(--line); border-radius: 7px; box-shadow: var(--shadow); backdrop-filter: none; }
.last-refresh { font-size: 9px; }

.summary-grid { gap: 8px; margin: 9px 0; }
.summary-card { min-height: 76px; padding: 12px 12px 10px; border: 1px solid var(--line); border-radius: 6px; box-shadow: var(--shadow); }
.summary-card::before { inset: auto 0 0; width: auto; height: 3px; border-radius: 0 0 6px 6px; }
.summary-card span { font-size: 9px; letter-spacing: .05em; }.summary-card strong { margin-top: 5px; font-size: 25px; }.summary-card small { margin-top: 4px; font-size: 9px; }

.dashboard-grid, .operations-grid { gap: 8px; }
.dashboard-grid { grid-template-columns: .82fr 1.02fr 1.16fr; }
.panel { border: 1px solid var(--line); border-radius: 7px; box-shadow: var(--shadow); }
.dashboard-grid > .panel, .operations-grid > .panel, .attention-panel, .explorer-panel, .settings-card { padding: 13px; }
.panel-heading { margin-bottom: 10px; }.panel-heading h3 { color: #29334c; font-size: 14px; font-weight: 680; letter-spacing: 0; }
.panel-count, .policy-badge { min-height: 22px; padding: 3px 7px; color: #4d5873; background: #f0f2f6; border-radius: 5px; font-size: 9px; }
.chart-wrap { height: 156px; }.coverage-list { max-height: 170px; gap: 7px; }.coverage-row { grid-template-columns: minmax(135px,.85fr) minmax(80px,1fr) 38px; gap: 7px; }
.coverage-label { min-width: 0; display: flex; align-items: center; gap: 7px; }.coverage-label strong { min-width: 0; }.workload-icon { width: 27px; height: 27px; flex: 0 0 auto; display: grid; place-items: center; background: #eef1fb; border-radius: 6px; }.workload-icon img { width: 16px; height: 16px; opacity: .78; }
progress { height: 9px; }.issue-list { min-height: 124px; gap: 5px; }.issue-row { padding: 6px 8px; background: #f7f8fb; border-radius: 5px; }.issue-row strong { font-size: 10px; }.issue-row span { font-size: 9px; }.issue-row b { font-size: 12px; }
.attention-panel { margin-top: 8px; }.table-scroll { max-height: 430px; }table, .attention-panel table, .evidence-files table { font-size: 10px; }th { padding: 9px 10px; background: #394ca5; }td { padding: 8px 10px; }.status-badge { min-height: 22px; padding: 3px 7px; border-radius: 5px; font-size: 8px; }
.operations-grid { margin-top: 8px; }.health-item { padding: 9px; border-radius: 5px; }.activity-list { max-height: 155px; }.ai-panel p { font-size: 10px; }

.view-header .policy-badge { align-self: start; margin-top: 7px; }
.explorer-selectors { padding: 9px; border-radius: 7px; box-shadow: var(--shadow); }.explorer-facts { gap: 8px; margin-bottom: 8px; }.explorer-fact { min-height: 72px; padding: 12px; border: 1px solid var(--line); border-left: 3px solid var(--blue); border-radius: 6px; box-shadow: var(--shadow); }.explorer-fact strong { margin-top: 5px; font-size: 14px; }
.entity-groups { gap: 8px; }.entity-group { padding: 12px; background: #f7f8fb; border-radius: 6px; }.entity-group > p { font-size: 10px; }.entity-list { gap: 6px; }.entity-card { padding: 9px; border-left-width: 3px; border-radius: 5px; }.entity-card strong { font-size: 13px; }.entity-card span, .entity-action { font-size: 9px; }
.coverage-disclosure { margin-top: 10px; padding-top: 10px; }.collection-gaps { max-height: 240px; }.collection-gap { padding: 8px 9px; border-left-width: 3px; border-radius: 5px; }
.explorer-layout { gap: 8px; }.explorer-sidebar, .explorer-main { gap: 8px; }.workload-result, .run-history-button { padding: 9px; border-radius: 5px; }.workload-result-title { min-width: 0; display: flex; align-items: center; gap: 7px; }.workload-result-title .workload-icon { width: 24px; height: 24px; }.workload-result-title strong { min-width: 0; }.evidence-toolbar { gap: 8px; }.preview-code { border-radius: 5px; }

.workload-group { padding: 11px; background: #f7f8fb; border: 1px solid var(--line); border-radius: 6px; }.workload-option-grid { gap: 6px; }.workload-option { min-height: 65px; padding: 9px; gap: 8px; border-radius: 5px; }.workload-option:has(input:checked) { border-color: #6d7fd2; background: #f4f5fc; box-shadow: inset 3px 0 #4a5db5; }.workload-option-title { align-items: center; justify-content: flex-start; }.workload-option-title .workload-icon { width: 25px; height: 25px; }.workload-option-title .workload-tier { margin-left: auto; }
.settings-grid { gap: 8px; }.settings-card { gap: 12px; }.settings-save-card { border-left: 3px solid var(--blue); border-radius: 7px; }

/* Guided onboarding */
.onboarding-layout { display: grid; grid-template-columns: minmax(290px,.65fr) minmax(0,1.65fr); gap: 12px; align-items: start; }
.onboarding-guide { position: sticky; top: 62px; padding: 20px; }.onboarding-guide h3 { margin: 0 0 16px; color: #26304a; font-size: 18px; }.needed-file { display: grid; grid-template-columns: 32px 1fr; gap: 11px; padding: 13px 0; border-top: 1px solid var(--line); }.needed-file img { width: 24px; height: 24px; opacity: .68; }.needed-file strong, .needed-file span { display: block; }.needed-file strong { color: #323c56; font-size: 12px; }.needed-file span { margin-top: 3px; color: #4b5e9f; font-size: 10px; }.needed-file p { margin: 6px 0 0; color: var(--muted); font-size: 10px; line-height: 1.5; }.security-note { display: block; margin: 10px 0 0; padding: 12px; color: #415b53; background: #eef7f3; border: 1px solid #cfe7dc; border-radius: 6px; font-size: 10px; line-height: 1.5; }.security-note img { width: 21px; opacity: .72; }.security-note p { margin: 0; color: inherit; font-size: inherit; line-height: inherit; }
.onboarding-flow { min-width: 0; }.onboarding-steps { margin: 0 0 10px; padding: 0; display: grid; grid-template-columns: repeat(3,1fr); list-style: none; background: #fff; border: 1px solid var(--line); border-radius: 7px; }.onboarding-steps li { min-height: 50px; padding: 10px 12px; display: flex; align-items: center; gap: 9px; color: #798196; border-right: 1px solid var(--line); font-size: 10px; }.onboarding-steps li:last-child { border-right: 0; }.onboarding-steps li span { width: 24px; height: 24px; display: grid; place-items: center; background: #edf0f5; border-radius: 50%; font-weight: 800; }.onboarding-steps li.active { color: #34489f; }.onboarding-steps li.active span { color: #fff; background: var(--blue); }
.onboarding-panel { padding: 20px; }.upload-grid { gap: 10px; margin: 12px 0; }.drop-field { min-height: 120px; padding: 15px; display: grid; grid-template-columns: 32px 1fr auto; align-items: center; gap: 11px; color: var(--ink); background: #f8f9fc; border: 1px dashed #bfc5d5; border-radius: 7px; cursor: pointer; text-transform: none; letter-spacing: 0; }.drop-field:hover { background: #f3f5fb; border-color: #7183cf; }.drop-field > img { width: 25px; height: 25px; opacity: .66; }.drop-field span { min-width: 0; display: grid; gap: 5px; }.drop-field strong { font-size: 12px; }.drop-field small { color: var(--muted); font-size: 10px; line-height: 1.4; }.drop-field > b { padding: 7px 9px; color: #4056b2; background: #fff; border: 1px solid #cfd4e1; border-radius: 5px; font-size: 9px; }.drop-field input { position: absolute; width: 1px; height: 1px; overflow: hidden; opacity: 0; }
.onboarding-checks { display: grid; grid-template-columns: repeat(3,1fr); gap: 7px; margin: 12px 0; }.onboarding-checks > div { padding: 10px; display: grid; grid-template-columns: 24px 1fr; gap: 7px; align-items: center; background: #f7f8fb; border: 1px solid var(--line); border-radius: 5px; }.onboarding-checks img { width: 19px; opacity: .45; }.onboarding-checks strong, .onboarding-checks small { display: block; }.onboarding-checks strong { font-size: 10px; }.onboarding-checks small { margin-top: 2px; color: var(--muted); font-size: 9px; }
.certificate-field { margin-top: 12px; }.certificate-field > span { color: var(--muted); font-size: 9px; font-weight: 400; line-height: 1.45; text-transform: none; letter-spacing: 0; }.onboarding-submit { margin-top: 14px; padding-top: 14px; display: flex; align-items: center; justify-content: space-between; gap: 24px; border-top: 1px solid var(--line); }.onboarding-submit p { max-width: 620px; margin: 0; color: var(--muted); font-size: 10px; line-height: 1.5; }.onboarding-submit .button { width: auto; min-width: 240px; margin: 0; display: inline-flex; align-items: center; justify-content: center; gap: 7px; }

/* Report builder */
.report-builder-layout { display: grid; grid-template-columns: minmax(0,1.25fr) minmax(360px,.75fr); gap: 12px; align-items: start; }.report-controls { display: grid; gap: 9px; }.builder-step { padding: 16px; }.step-heading { display: flex; align-items: center; gap: 10px; margin-bottom: 12px; }.step-heading > span { width: 28px; height: 28px; display: grid; place-items: center; color: #fff; background: var(--blue); border-radius: 50%; font-size: 11px; font-weight: 800; }.step-heading h3, .builder-export h3, .report-preview h3 { margin: 0; color: #27314a; font-size: 15px; }.builder-source-grid { display: grid; grid-template-columns: .8fr 1.2fr; gap: 8px; }.report-template-grid { display: grid; grid-template-columns: repeat(3,1fr); gap: 7px; }.report-template { min-height: 84px; padding: 11px; display: grid; grid-template-columns: 26px 1fr; gap: 9px; align-items: start; color: var(--ink); background: #f8f9fb; border: 1px solid var(--line); border-radius: 6px; cursor: pointer; text-transform: none; letter-spacing: 0; }.report-template:has(input:checked) { background: #f2f4fd; border-color: #7183cf; box-shadow: inset 3px 0 var(--blue); }.report-template input { position: absolute; opacity: 0; }.report-template img { width: 21px; opacity: .72; }.report-template strong, .report-template small { display: block; }.report-template strong { font-size: 11px; }.report-template small { margin-top: 4px; color: var(--muted); font-size: 9px; line-height: 1.35; }
.report-section-grid { display: grid; grid-template-columns: repeat(2,1fr); gap: 6px; }.report-section-option { min-height: 42px; padding: 8px 10px; display: flex; align-items: center; gap: 8px; color: var(--ink); background: #f8f9fb; border: 1px solid var(--line); border-radius: 5px; text-transform: none; letter-spacing: 0; cursor: pointer; }.report-section-option:has(input:checked) { color: #34489f; background: #f2f4fd; border-color: #aab4df; }.report-section-option img { width: 17px; opacity: .68; }.report-section-option span { font-size: 10px; font-weight: 650; }.report-title-field { margin-top: 10px; }.builder-export { display: flex; align-items: end; justify-content: space-between; gap: 18px; }.builder-export .panel-copy { margin: 5px 0 0; font-size: 10px; }.builder-actions { display: flex; align-items: end; gap: 8px; }.builder-actions label { min-width: 150px; }.builder-actions .button { display: inline-flex; align-items: center; gap: 7px; white-space: nowrap; }
.report-preview { position: sticky; top: 62px; padding: 16px; }.report-preview-toolbar { display: flex; align-items: start; justify-content: space-between; gap: 12px; margin-bottom: 12px; }.report-paper { min-height: 640px; padding: 26px; color: #283149; background: #fff; border: 1px solid #dfe2e9; border-radius: 4px; box-shadow: 0 7px 22px rgba(31,41,69,.09); text-align: left; }.report-paper.empty-state { display: grid; place-items: center; color: var(--muted); background: #fafbfc; border-style: dashed; box-shadow: none; text-align: center; }.report-cover { padding-bottom: 18px; border-bottom: 2px solid #4056b2; }.report-cover small { color: #657085; font-size: 9px; text-transform: uppercase; letter-spacing: .1em; }.report-cover h4 { margin: 7px 0 5px; color: #1f2942; font-size: 23px; line-height: 1.15; }.report-cover p { margin: 0; color: var(--muted); font-size: 10px; }.report-preview-section { padding: 16px 0; border-bottom: 1px solid var(--line); }.report-preview-section:last-child { border-bottom: 0; }.report-preview-section h5 { margin: 0 0 9px; color: #2d3854; font-size: 12px; }.report-metrics { display: grid; grid-template-columns: repeat(3,1fr); gap: 6px; }.report-metric { padding: 9px; background: #f5f6fa; border-radius: 4px; }.report-metric strong, .report-metric span { display: block; }.report-metric strong { color: #3c4fa8; font-size: 17px; }.report-metric span { margin-top: 2px; color: var(--muted); font-size: 8px; text-transform: uppercase; }.report-list { margin: 0; padding-left: 17px; color: #4f596f; font-size: 9px; line-height: 1.55; }.report-workload-row { display: grid; grid-template-columns: 24px 1fr auto; gap: 7px; align-items: center; padding: 5px 0; border-bottom: 1px solid #eef0f4; }.report-workload-row img { width: 16px; opacity: .65; }.report-workload-row strong { font-size: 9px; }.report-workload-row span { color: var(--muted); font-size: 8px; }

@media (max-width: 1180px) {
  .topbar { width: 60px; min-height: 100vh; padding: 7px 6px; flex-direction: column; }.brand-mark { width: 40px; height: 40px; }.primary-nav { width: 100%; flex-direction: column; }.nav-button { width: 44px; padding: 0; }.session-summary { display: none; }.auth-button { width: 44px; margin-top: auto; }
  main, footer { margin-left: 60px; }.dashboard-grid { grid-template-columns: 1fr 1fr; }.issues-panel { grid-column: 1/-1; }.summary-grid { grid-template-columns: repeat(3,1fr); }
  .report-builder-layout { grid-template-columns: 1fr; }.report-preview { position: relative; top: auto; }.report-paper { min-height: 420px; }.onboarding-layout { grid-template-columns: 1fr; }.onboarding-guide { position: relative; top: auto; }
}
@media (max-width: 900px) {
  .workspace-bar { align-items: flex-start; padding: 8px 14px; }.workspace-actions { flex-wrap: wrap; justify-content: flex-end; }.filter-bar { grid-template-columns: repeat(2,1fr); }.filter-bar .compact-button, .last-refresh { grid-column: auto; }
  .dashboard-grid, .operations-grid, .form-grid, .settings-grid { grid-template-columns: 1fr; }.issues-panel, .settings-card:nth-of-type(2), .settings-save-card { grid-column: auto; }.explorer-layout { grid-template-columns: 1fr; }.explorer-selectors { min-width: 0; width: 100%; }.report-template-grid { grid-template-columns: 1fr; }
}
@media (max-width: 760px) {
  .topbar { position: relative; width: auto; min-height: 56px; padding: 7px 10px; flex-direction: row; justify-content: flex-start; }.brand-mark { margin: 0; }.primary-nav { flex-direction: row; width: auto; overflow-x: auto; }.nav-button { flex: 0 0 42px; }.nav-button:hover::before, .nav-button:focus-visible::before { display: none; }.session-summary { display: none; }.auth-button { margin: 0 0 0 auto; }
  main, footer { margin-left: 0; }main { padding: 0 12px 28px; }.workspace-bar { margin: 0 -12px 12px; }.breadcrumb { display: none; }.workspace-actions { width: 100%; justify-content: flex-end; }.live-indicator { margin-right: auto; order: -1; }
  .dashboard-title-row, .view-header { align-items: flex-start; }.dashboard-title-row h2, .view-header h2 { font-size: 26px; }.programme-score { width: auto; }.summary-grid { grid-template-columns: repeat(2,1fr); }.filter-bar { grid-template-columns: 1fr; }.dashboard-grid, .operations-grid { grid-template-columns: 1fr; }
  .explorer-header { display: grid; }.explorer-selectors { grid-template-columns: 1fr; }.explorer-facts { grid-template-columns: repeat(2,1fr); }.entity-groups { grid-template-columns: 1fr; }.coverage-disclosure { grid-template-columns: 1fr; }.collection-boundary { grid-column: auto; }.upload-grid, .onboarding-checks, .builder-source-grid, .report-section-grid, .report-metrics { grid-template-columns: 1fr; }.onboarding-steps li b { display: none; }.onboarding-submit, .builder-export, .builder-actions { align-items: stretch; flex-direction: column; }.onboarding-submit .button { width: 100%; }.report-paper { min-height: 360px; padding: 18px; }
  .theme-toggle { width: 42px; height: 42px; margin: 0 0 0 auto; }.theme-toggle:hover::before, .theme-toggle:focus-visible::before { display: none; }.auth-button { margin-left: 0; }
}

/* Persistent dark appearance. The report sheet stays light because it previews the exported document. */
:root[data-theme="dark"] {
  --navy: #9aabff;
  --navy-deep: #f0f3ff;
  --blue: #8fa3ff;
  --teal: #51c8ba;
  --green: #55bc82;
  --orange: #f2aa54;
  --red: #ef7980;
  --violet: #b19af2;
  --ink: #e9edf8;
  --muted: #a7b0c3;
  --paper: #0f1420;
  --card: #181e2c;
  --line: #30394d;
  --soft: #242c3d;
  --shadow: 0 7px 22px rgba(0, 0, 0, .2);
  --chart-border: #181e2c;
  --chart-legend: #dde3f0;
}

html[data-theme="dark"], html[data-theme="dark"] body { background: #0f1420; }
html[data-theme="dark"] body { color: var(--ink); background: radial-gradient(circle at 78% -8%, rgba(112,130,229,.13), transparent 31rem), linear-gradient(145deg, #121827 0%, #0f1420 62%, #0c111b 100%); }
html[data-theme="dark"] .topbar { background: linear-gradient(180deg, #35479b 0%, #27366f 100%); box-shadow: 3px 0 18px rgba(0,0,0,.28); }
html[data-theme="dark"] .brand-mark, html[data-theme="dark"] .session-summary { color: #334697; background: #f7f8ff; }
html[data-theme="dark"] .theme-toggle:hover::before, html[data-theme="dark"] .theme-toggle:focus-visible::before { background: #080c15; box-shadow: 0 8px 24px rgba(0,0,0,.36); }

html[data-theme="dark"] .workspace-bar,
html[data-theme="dark"] .landing-proof,
html[data-theme="dark"] .filter-bar,
html[data-theme="dark"] .summary-card,
html[data-theme="dark"] .panel,
html[data-theme="dark"] .programme-score,
html[data-theme="dark"] .explorer-selectors,
html[data-theme="dark"] .explorer-fact,
html[data-theme="dark"] .settings-save-card,
html[data-theme="dark"] .onboarding-steps,
html[data-theme="dark"] .tenant-dialog,
html[data-theme="dark"] footer { color: var(--ink); background: var(--card); border-color: var(--line); box-shadow: var(--shadow); }
html[data-theme="dark"] .workspace-bar { box-shadow: 0 1px 0 rgba(255,255,255,.02); }
html[data-theme="dark"] footer { box-shadow: none; }

html[data-theme="dark"] .landing-copy h2,
html[data-theme="dark"] .dashboard-title-row h2,
html[data-theme="dark"] .view-header h2,
html[data-theme="dark"] .panel-heading h3,
html[data-theme="dark"] .detail-section h4,
html[data-theme="dark"] .entity-group h4,
html[data-theme="dark"] .entity-card strong,
html[data-theme="dark"] .coverage-disclosure h4,
html[data-theme="dark"] .workload-group-heading strong,
html[data-theme="dark"] .step-heading h3,
html[data-theme="dark"] .builder-export h3,
html[data-theme="dark"] .report-preview h3,
html[data-theme="dark"] .onboarding-guide h3,
html[data-theme="dark"] .needed-file strong,
html[data-theme="dark"] .settings-save-card h3,
html[data-theme="dark"] .dialog-header h3 { color: var(--ink); }
html[data-theme="dark"] .programme-score strong,
html[data-theme="dark"] .breadcrumb span,
html[data-theme="dark"] .text-action,
html[data-theme="dark"] .entity-action { color: #9db0ff; }
html[data-theme="dark"] .eyebrow { color: #a6b5ff; }
html[data-theme="dark"] .view-description,
html[data-theme="dark"] label,
html[data-theme="dark"] .last-refresh,
html[data-theme="dark"] .panel-copy,
html[data-theme="dark"] .run-row span,
html[data-theme="dark"] .certificate-summary,
html[data-theme="dark"] .landing-proof span,
html[data-theme="dark"] .activity-row span,
html[data-theme="dark"] .field-note,
html[data-theme="dark"] .onboarding-submit p,
html[data-theme="dark"] .needed-file p,
html[data-theme="dark"] .needed-file span,
html[data-theme="dark"] .certificate-field > span { color: var(--muted); }

html[data-theme="dark"] .chrome-action,
html[data-theme="dark"] select,
html[data-theme="dark"] input[type="text"],
html[data-theme="dark"] input[type="file"],
html[data-theme="dark"] input[type="search"],
html[data-theme="dark"] input[type="number"] { color: var(--ink); background: #121824; border-color: #374158; }
html[data-theme="dark"] .chrome-action:hover { background: #222a3a; border-color: #4b5772; }
html[data-theme="dark"] .chrome-action img,
html[data-theme="dark"] .workload-icon img,
html[data-theme="dark"] .needed-file img,
html[data-theme="dark"] .security-note img,
html[data-theme="dark"] .drop-field > img,
html[data-theme="dark"] .onboarding-checks img,
html[data-theme="dark"] .report-template img,
html[data-theme="dark"] .report-section-option img { filter: brightness(0) invert(1); opacity: .78; }
html[data-theme="dark"] .live-indicator { color: var(--muted); }
html[data-theme="dark"] .live-indicator i { background: #50bf83; box-shadow: 0 0 0 3px rgba(80,191,131,.16); }

html[data-theme="dark"] .panel-count,
html[data-theme="dark"] .policy-badge,
html[data-theme="dark"] .workload-icon { color: #c4cbdb; background: #252d3e; }
html[data-theme="dark"] .issue-row,
html[data-theme="dark"] .health-item,
html[data-theme="dark"] .empty-state,
html[data-theme="dark"] .detail-item,
html[data-theme="dark"] .detail-list > div,
html[data-theme="dark"] .entity-group,
html[data-theme="dark"] .workload-result,
html[data-theme="dark"] .run-history-button,
html[data-theme="dark"] .field-note,
html[data-theme="dark"] .workload-group,
html[data-theme="dark"] .workload-option,
html[data-theme="dark"] .report-template,
html[data-theme="dark"] .report-section-option,
html[data-theme="dark"] .drop-field,
html[data-theme="dark"] .onboarding-checks > div,
html[data-theme="dark"] .report-metric,
html[data-theme="dark"] .evidence-preview { color: var(--ink); background: #202737; border-color: var(--line); }
html[data-theme="dark"] .entity-card { color: var(--ink); background: #171d2a; border-color: var(--line); }
html[data-theme="dark"] .issue-row span,
html[data-theme="dark"] .health-item span,
html[data-theme="dark"] .workload-option-copy small,
html[data-theme="dark"] .report-template small,
html[data-theme="dark"] .drop-field small,
html[data-theme="dark"] .onboarding-checks small,
html[data-theme="dark"] .entity-group > p,
html[data-theme="dark"] .entity-card span,
html[data-theme="dark"] .run-history-button span { color: var(--muted); }
html[data-theme="dark"] .workload-option:has(input:checked),
html[data-theme="dark"] .report-template:has(input:checked),
html[data-theme="dark"] .report-section-option:has(input:checked),
html[data-theme="dark"] .run-history-button:hover,
html[data-theme="dark"] .run-history-button.active { color: var(--ink); background: #26304b; border-color: #7185dc; }
html[data-theme="dark"] .drop-field:hover { background: #252e42; border-color: #8295ea; }
html[data-theme="dark"] .drop-field > b { color: #a8b7ff; background: #171d2a; border-color: #46516a; }

html[data-theme="dark"] .entity-card.unavailable,
html[data-theme="dark"] .collection-gap,
html[data-theme="dark"] .capability-banner { color: #f6dfbf; background: #35291d; border-color: #705333; }
html[data-theme="dark"] .collection-gap strong,
html[data-theme="dark"] .collection-gap span { color: #f6dfbf; }
html[data-theme="dark"] .capability-banner.available,
html[data-theme="dark"] .security-note { color: #c7ead8; background: #173329; border-color: #315d4b; }
html[data-theme="dark"] .security-note p { color: #c7ead8; }
html[data-theme="dark"] .scope-note { color: #c6e9e5; background: #173330; }
html[data-theme="dark"] .workload-tier { color: #a8e4dc; background: #193b37; }

html[data-theme="dark"] th { color: #fff; background: #3b4e9f; }
html[data-theme="dark"] td { border-color: var(--soft); }
html[data-theme="dark"] progress,
html[data-theme="dark"] progress::-webkit-progress-bar { background: #2a3345; }
html[data-theme="dark"] .tenant-dialog::backdrop { background: rgba(2,5,10,.72); }
html[data-theme="dark"] .notice { color: #f6f7fb; background: #080c14; box-shadow: 0 16px 42px rgba(0,0,0,.42); }

html[data-theme="dark"] .report-paper {
  --ink: #283149;
  --muted: #687188;
  --line: #dfe2e9;
  --soft: #eef0f4;
  color: #283149;
  background: #f7f8fb;
  border-color: #dfe2e9;
  box-shadow: 0 10px 28px rgba(0,0,0,.26);
}
html[data-theme="dark"] .report-paper.empty-state { color: #687188; background: #f7f8fb; border-color: #cbd1dd; }
html[data-theme="dark"] .report-paper img { filter: none; }
html[data-theme="dark"] .report-paper .report-metric { color: #283149; background: #f5f6fa; }
html[data-theme="dark"] .report-paper .workload-icon { color: #283149; background: #eef1f6; }
html[data-theme="dark"] .report-paper .panel-copy,
html[data-theme="dark"] .report-paper .report-list,
html[data-theme="dark"] .report-paper .report-workload-row span { color: #687188; }

@media (prefers-reduced-motion: no-preference) {
  body, .workspace-bar, .filter-bar, .summary-card, .panel, .explorer-fact, footer, select, input { transition: color .18s ease, background-color .18s ease, border-color .18s ease; }
}

/* 2026 estate intelligence and tenant-lifecycle experience */
.brand-mark { overflow: hidden; border-color: rgba(85,224,225,.42); background: radial-gradient(circle at 35% 30%, rgba(42,221,221,.25), transparent 68%); }
.brand-mark img { width: 58px; height: 58px; object-fit: cover; filter: drop-shadow(0 0 8px rgba(34,211,215,.35)); }
.landing-logo { display: block; width: min(760px, 82vw); height: clamp(190px, 16vw, 224px); margin: 0 auto; object-fit: cover; object-position: center; border-radius: 22px; filter: drop-shadow(0 14px 28px rgba(11,48,81,.12)); }
.estate-command { margin: 12px 0; padding: clamp(16px,2vw,24px); color: #eefcff; background: radial-gradient(circle at 78% -30%, rgba(0,214,214,.32), transparent 42%), linear-gradient(135deg,#071f3f,#0d3d61 62%,#075a66); border: 1px solid rgba(45,213,217,.35); border-radius: 18px; box-shadow: 0 22px 50px rgba(7,35,67,.18); }
.estate-heading { display: flex; justify-content: space-between; gap: 18px; align-items: flex-start; }
.estate-heading h3 { margin: 0; color: white; font-size: clamp(24px,3vw,38px); letter-spacing: -.035em; }
.estate-heading p:not(.eyebrow) { max-width: 720px; margin: 6px 0 0; color: #bcd9e5; font-size: 12px; line-height: 1.6; }
.lifecycle-actions { display: flex; gap: 8px; flex-wrap: wrap; justify-content: flex-end; }
.danger-outline { color: #ffd8d6; background: rgba(132,22,29,.24); border: 1px solid rgba(255,147,147,.55); font-size: 10px; }
.danger-action { color: white; background: #a92e36; }
.estate-metrics { display: grid; grid-template-columns: 1.35fr repeat(5,1fr); gap: 9px; margin: 20px 0 10px; }
.estate-metric { min-height: 112px; position: relative; padding: 16px; color: white; background: rgba(255,255,255,.08); border: 1px solid rgba(194,238,241,.2); border-radius: 13px; cursor: pointer; overflow: hidden; text-align: left; }
.estate-metric:hover { background: rgba(255,255,255,.13); border-color: rgba(63,224,225,.55); transform: translateY(-2px); }
.estate-metric:first-child { background: linear-gradient(150deg,rgba(18,164,167,.34),rgba(255,255,255,.06)); }
.estate-metric span,.estate-metric strong,.estate-metric small { display: block; }
.estate-metric span { color: #b9d7e1; font-size: 9px; font-weight: 900; letter-spacing: .1em; text-transform: uppercase; }
.estate-metric strong { margin-top: 9px; font-size: clamp(21px,2.4vw,34px); line-height: 1; }
.estate-metric small { margin-top: 8px; color: #bcd9e5; font-size: 9px; line-height: 1.35; }
.insight-grid { display: grid; grid-template-columns: 1fr 1.08fr 1.35fr .9fr; gap: 9px; }
.insight-card { min-width: 0; padding: 14px; color: var(--ink); box-shadow: 0 10px 26px rgba(0,0,0,.12); }
.insight-chart { height: 175px; }.wide-chart { height: 205px; }.chart-note { margin: 4px 0 0; color: var(--muted); font-size: 9px; text-align: center; }
.chart-legend,.coverage-status { display: grid; gap: 6px; }.legend-row,.coverage-status-row { display: grid; grid-template-columns: 9px 1fr auto; align-items: center; gap: 7px; font-size: 9px; }.legend-row i { width: 8px; height: 8px; border-radius: 50%; }.coverage-status-row { grid-template-columns: 1fr auto; padding: 8px 9px; background: var(--paper); border-radius: 7px; }.coverage-status-row b { color: var(--blue); }
.relationship-panel { margin: 10px 0; padding: 16px; overflow: hidden; }
.relationship-toolbar { display: flex; justify-content: space-between; align-items: end; gap: 18px; margin-bottom: 8px; }.relationship-toolbar label { width: min(260px,100%); }.relationship-legend { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 5px 10px; font-size: 9px; }.relationship-key { display: inline-flex; align-items: center; gap: 5px; }.relationship-key i { width: 8px; height: 8px; border-radius: 50%; }
.relationship-canvas { width: 100%; height: 410px; display: block; background: radial-gradient(circle at center,#f8fcff,#edf4fb); border: 1px solid var(--line); border-radius: 12px; cursor: grab; touch-action: none; }
.relationship-canvas.dragging { cursor: grabbing; }
.relationship-canvas.has-hover { cursor: pointer; }
.lifecycle-tabs { display: flex; gap: 4px; padding: 5px; margin-bottom: 12px; background: #dfe8f2; border-radius: 12px; width: fit-content; }.lifecycle-tab { padding: 10px 18px; color: var(--muted); background: transparent; border: 0; border-radius: 9px; font-weight: 800; cursor: pointer; }.lifecycle-tab.active { color: white; background: var(--navy); box-shadow: 0 6px 16px rgba(8,45,87,.18); }
.lifecycle-flow { display: grid; grid-template-columns: repeat(12,1fr); gap: 12px; align-items: start; }.lifecycle-step-card { grid-column: span 12; padding: 20px; }.lifecycle-step-card:nth-child(2) { grid-column: span 12; }.lifecycle-step-card:nth-child(3) { grid-column: span 8; }.issued-packages-panel { grid-column: span 4; padding: 20px; }
.issue-package-grid { display: grid; grid-template-columns: 1.2fr .8fr 1fr auto; gap: 10px; align-items: end; margin-top: 16px; }.handoff-callout { display: grid; grid-template-columns: auto 1fr auto; gap: 8px 18px; align-items: center; margin-top: 15px; padding: 13px 15px; color: #d4f9f4; background: #083e4b; border-radius: 10px; }.handoff-callout code { color: white; font-size: 12px; }.handoff-callout span { color: #abd9d7; font-size: 9px; }
.instruction-strip { display: grid; grid-template-columns: repeat(4,1fr); gap: 8px; margin-top: 15px; }.instruction-strip > div { min-height: 78px; display: grid; align-content: center; gap: 6px; padding: 12px; background: var(--paper); border: 1px solid var(--line); border-radius: 9px; }.instruction-strip b { color: var(--blue); font-size: 9px; text-transform: uppercase; }.instruction-strip span,.instruction-strip code { font-size: 10px; line-height: 1.4; }
.legacy-package { opacity: .72; }.issued-packages { display: grid; gap: 7px; max-height: 300px; overflow: auto; }.issued-package { display: grid; grid-template-columns: 1fr auto; gap: 8px; padding: 10px; background: var(--paper); border: 1px solid var(--line); border-radius: 8px; }.issued-package strong,.issued-package small { display: block; }.issued-package small { margin-top: 3px; color: var(--muted); font-size: 8px; }.offboard-controls { display: grid; grid-template-columns: 1fr auto; align-items: end; gap: 12px; margin-top: 15px; }.danger-zone { border-color: #e8b4b7; box-shadow: inset 5px 0 #b63239,var(--shadow); }.confirmation-phrase { color: var(--red); font-size: 10px; font-weight: 800; }
.platform-summary { display: grid; grid-template-columns: 1.3fr repeat(3,1fr); gap: 9px; margin-bottom: 10px; }.platform-summary-card { padding: 17px; background: white; border: 1px solid var(--line); border-radius: 11px; box-shadow: var(--shadow); }.platform-summary-card span,.platform-summary-card strong { display: block; }.platform-summary-card span { color: var(--muted); font-size: 9px; text-transform: uppercase; }.platform-summary-card strong { margin-top: 5px; font-size: 25px; }.platform-summary-card.healthy strong { color: var(--green); }.platform-summary-card.attention strong { color: var(--orange); }.platform-summary-card.unhealthy strong { color: var(--red); }
.platform-grid { display: grid; grid-template-columns: .72fr 1.28fr; gap: 10px; }.platform-grid > .panel,.architecture-panel { padding: 16px; }.dependency-health { display: grid; gap: 7px; }.dependency-row { padding: 11px; border-left: 4px solid var(--muted); background: var(--paper); border-radius: 7px; }.dependency-row.healthy { border-color: var(--green); }.dependency-row.attention,.dependency-row.notavailable { border-color: var(--orange); }.dependency-row.unhealthy { border-color: var(--red); }.dependency-row strong,.dependency-row span { display: block; }.dependency-row span { margin-top: 3px; color: var(--muted); font-size: 9px; line-height: 1.4; }.platform-resources { max-height: 420px; }.architecture-panel { margin-top: 10px; }.architecture-stage { padding: 12px; overflow: auto; background: #f4f8fc; border: 1px solid var(--line); border-radius: 10px; }.architecture-stage img { min-width: 1040px; width: 100%; height: auto; display: block; }
.metric-detail { display: grid; gap: 12px; padding: 20px; }.metric-detail-value { font-size: 38px; color: var(--navy); }.detail-actions { display: flex; gap: 8px; flex-wrap: wrap; }.danger-confirm { display: grid; gap: 12px; padding: 20px; }.danger-confirm strong { color: var(--red); }.deletion-feedback { margin: 0; padding: 12px; color: #7f1d1d; background: #fff1f2; border: 1px solid #fecdd3; border-radius: 8px; line-height: 1.5; }
.relationship-connections { display: grid; gap: 7px; }.relationship-connection { width: 100%; padding: 10px 12px; display: grid; grid-template-columns: 26px minmax(0,1fr) auto; align-items: center; gap: 9px; color: var(--ink); background: var(--paper); border: 1px solid var(--line); border-radius: 7px; text-align: left; cursor: pointer; }.relationship-connection:hover { border-color: var(--blue); background: var(--soft); }.relationship-connection i { width: 11px; height: 11px; border-radius: 50%; }.relationship-connection strong,.relationship-connection span { display: block; }.relationship-connection span { margin-top: 2px; color: var(--muted); font-size: 9px; }.relationship-connection b { color: var(--blue); font-size: 9px; text-transform: uppercase; }

/* Discovery history */
.history-workload.active-status { border-left-color: var(--blue); }
.history-header-actions { display: flex; align-items: center; gap: 8px; }.history-filters { display: grid; grid-template-columns: minmax(180px,.8fr) minmax(150px,.6fr) minmax(260px,1.4fr); gap: 8px; margin-bottom: 8px; padding: 10px; background: var(--card); border: 1px solid var(--line); border-radius: 7px; box-shadow: var(--shadow); }.history-summary { display: grid; grid-template-columns: 1.15fr repeat(4,1fr); gap: 8px; }.history-summary article { min-height: 70px; padding: 12px; background: var(--card); border: 1px solid var(--line); border-bottom: 3px solid var(--blue); border-radius: 7px; box-shadow: var(--shadow); }.history-summary span,.history-summary strong { display: block; }.history-summary span { color: var(--muted); font-size: 9px; text-transform: uppercase; letter-spacing: .06em; }.history-summary strong { margin-top: 5px; color: var(--navy-deep); font-size: 24px; }.history-summary .complete { border-bottom-color: var(--green); }.history-summary .gaps { border-bottom-color: var(--orange); }.history-summary .failed { border-bottom-color: var(--red); }.history-summary .active { border-bottom-color: var(--blue); }
.history-outcome-bar { height: 9px; margin: 8px 0; display: flex; overflow: hidden; background: var(--soft); border-radius: 99px; }.history-outcome-segment { min-width: 0; height: 100%; transition: width .2s ease; }.history-outcome-segment.complete { background: var(--green); }.history-outcome-segment.gaps { background: var(--orange); }.history-outcome-segment.failed { background: var(--red); }.history-outcome-segment.active { background: var(--blue); }.history-outcome-segment.other { background: var(--muted); }
.history-layout { display: grid; grid-template-columns: minmax(280px,.58fr) minmax(0,1.7fr); gap: 8px; align-items: start; }.history-run-panel,.history-job-panel,.history-log-panel { padding: 13px; }.history-run-panel { position: sticky; top: 56px; }.history-run-list { max-height: 690px; display: grid; gap: 6px; overflow: auto; }.history-run-card { width: 100%; padding: 10px; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 4px 8px; color: var(--ink); background: var(--paper); border: 1px solid var(--line); border-left: 4px solid var(--muted); border-radius: 6px; text-align: left; cursor: pointer; }.history-run-card:hover,.history-run-card.active { border-color: var(--blue); background: var(--soft); }.history-run-card.complete { border-left-color: var(--green); }.history-run-card.gaps { border-left-color: var(--orange); }.history-run-card.failed { border-left-color: var(--red); }.history-run-card.active-status { border-left-color: var(--blue); }.history-run-card strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.history-run-card span { color: var(--muted); font-size: 9px; }.history-run-card b { color: var(--navy); font-size: 9px; text-transform: uppercase; }.history-run-card code { grid-column: 1/-1; overflow: hidden; color: var(--muted); font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.history-job-heading { display: flex; justify-content: space-between; gap: 18px; align-items: start; }.history-job-heading h3 { margin: 0; color: var(--navy-deep); font-size: 19px; }.history-job-facts { margin-top: 12px; display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 7px; }.history-job-fact { min-width: 0; padding: 9px; background: var(--paper); border-radius: 6px; }.history-job-fact span,.history-job-fact strong { display: block; }.history-job-fact span { color: var(--muted); font-size: 8px; text-transform: uppercase; }.history-job-fact strong { margin-top: 3px; overflow: hidden; color: var(--ink); font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }.history-job-metrics { margin: 8px 0 12px; display: grid; grid-template-columns: repeat(5,1fr); gap: 7px; }.history-job-metric { padding: 10px; background: var(--card); border: 1px solid var(--line); border-radius: 6px; }.history-job-metric span,.history-job-metric strong { display: block; }.history-job-metric span { color: var(--muted); font-size: 8px; text-transform: uppercase; }.history-job-metric strong { margin-top: 4px; color: var(--navy-deep); font-size: 18px; }.history-diagnostic-grid { display: grid; grid-template-columns: 1.12fr .88fr; gap: 10px; }.history-workloads,.history-events { max-height: 470px; display: grid; gap: 6px; overflow: auto; }.history-workload { width: 100%; padding: 9px; display: grid; grid-template-columns: 27px minmax(0,1fr) auto; gap: 8px; align-items: center; color: var(--ink); background: var(--paper); border: 1px solid transparent; border-left: 3px solid var(--muted); border-radius: 6px; text-align: left; }.history-workload.complete { border-left-color: var(--green); }.history-workload.gaps,.history-workload.other { border-left-color: var(--orange); }.history-workload.failed { border-left-color: var(--red); }.history-workload.active { border-left-color: var(--blue); }.history-workload.clickable { cursor: pointer; }.history-workload.clickable:hover { border-color: var(--blue); }.history-workload-copy strong,.history-workload-copy span { display: block; }.history-workload-copy span { margin-top: 2px; color: var(--muted); font-size: 9px; }.history-workload > b { color: var(--navy); font-size: 9px; }.history-event { padding: 9px; display: grid; grid-template-columns: 8px minmax(0,1fr) auto; gap: 8px; align-items: start; color: var(--ink); background: var(--paper); border: 1px solid transparent; border-radius: 6px; text-align: left; }.history-event.clickable { cursor: pointer; }.history-event.clickable:hover { border-color: var(--blue); }.history-event i,.history-log-level { width: 8px; height: 8px; margin-top: 3px; border-radius: 50%; background: var(--blue); }.history-event.error i,.history-log-level.error { background: var(--red); }.history-event.warning i,.history-log-level.warning { background: var(--orange); }.history-event strong,.history-event span { display: block; }.history-event span { margin-top: 2px; color: var(--muted); font-size: 9px; }.history-event time { color: var(--muted); font-size: 8px; white-space: nowrap; }
.history-log-panel { margin-top: 8px; }.history-log-toolbar { display: grid; grid-template-columns: minmax(130px,.35fr) minmax(260px,1fr); gap: 8px; margin-bottom: 8px; }.history-log-head,.history-log-row { display: grid; grid-template-columns: 115px 70px minmax(190px,.8fr) minmax(190px,.8fr) minmax(240px,1.4fr); gap: 8px; align-items: center; }.history-log-head { padding: 7px 9px; color: var(--muted); background: var(--soft); font-size: 8px; font-weight: 700; text-transform: uppercase; }.history-log-rows { max-height: 430px; overflow: auto; }.history-log-row { width: 100%; padding: 8px 9px; color: var(--ink); background: transparent; border: 0; border-bottom: 1px solid var(--line); text-align: left; }.history-log-row.clickable { cursor: pointer; }.history-log-row.clickable:hover { background: var(--paper); }.history-log-row > span,.history-log-row > strong { min-width: 0; overflow: hidden; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }.history-log-row time { color: var(--muted); font-size: 8px; }.history-log-level { display: inline-block; margin: 0 5px 0 0; }.history-log-level + b { font-size: 8px; text-transform: uppercase; }.diagnostic-detail-list { display: grid; gap: 7px; }.diagnostic-detail { padding: 10px; background: var(--paper); border-left: 3px solid var(--orange); border-radius: 6px; }.diagnostic-detail.error { border-left-color: var(--red); }.diagnostic-detail strong,.diagnostic-detail span { display: block; }.diagnostic-detail span { margin-top: 4px; color: var(--muted); font-size: 10px; line-height: 1.45; }.diagnostic-metadata { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 7px; }

html[data-theme="dark"] .estate-command { background: radial-gradient(circle at 78% -30%,rgba(0,214,214,.22),transparent 42%),linear-gradient(135deg,#051425,#092b43 62%,#064650); }
html[data-theme="dark"] .relationship-canvas,html[data-theme="dark"] .architecture-stage { background: #111925; }
html[data-theme="dark"] .lifecycle-tabs { background: #1a2231; }
html[data-theme="dark"] .lifecycle-tab.active { background: #2c60a0; }
html[data-theme="dark"] .instruction-strip > div,html[data-theme="dark"] .issued-package,html[data-theme="dark"] .coverage-status-row,html[data-theme="dark"] .dependency-row,html[data-theme="dark"] .platform-summary-card { color: var(--ink); background: #202737; border-color: var(--line); }
html[data-theme="dark"] .history-filters,html[data-theme="dark"] .history-summary article,html[data-theme="dark"] .history-job-metric { background: var(--card); }html[data-theme="dark"] .history-run-card,html[data-theme="dark"] .history-job-fact,html[data-theme="dark"] .history-workload,html[data-theme="dark"] .history-event,html[data-theme="dark"] .diagnostic-detail,html[data-theme="dark"] .relationship-connection { background: var(--paper); }html[data-theme="dark"] .history-run-card:hover,html[data-theme="dark"] .history-run-card.active,html[data-theme="dark"] .history-log-row:hover,html[data-theme="dark"] .relationship-connection:hover { background: var(--soft); }
html[data-theme="dark"] .landing-logo { background: linear-gradient(135deg,#f8fbff,#eaf7fa); box-shadow: 0 20px 48px rgba(0,0,0,.22); }

@media (max-width: 1250px) {
  .estate-metrics { grid-template-columns: repeat(3,1fr); }.insight-grid { grid-template-columns: repeat(2,1fr); }.issue-package-grid { grid-template-columns: repeat(2,1fr); }.platform-grid { grid-template-columns: 1fr; }
  .history-layout { grid-template-columns: 1fr; }.history-run-panel { position: static; }.history-run-list { max-height: 310px; }.history-job-facts { grid-template-columns: repeat(2,1fr); }
}
@media (max-width: 820px) {
  .estate-heading,.relationship-toolbar { display: grid; }.lifecycle-actions,.relationship-legend { justify-content: flex-start; }.estate-metrics,.insight-grid,.platform-summary { grid-template-columns: repeat(2,1fr); }.lifecycle-step-card:nth-child(3),.issued-packages-panel { grid-column: span 12; }.instruction-strip,.issue-package-grid { grid-template-columns: 1fr; }.handoff-callout,.offboard-controls { grid-template-columns: 1fr; }.relationship-canvas { height: 330px; }
  .history-filters,.history-diagnostic-grid { grid-template-columns: 1fr; }.history-summary { grid-template-columns: repeat(2,1fr); }.history-summary article:first-child { grid-column: 1/-1; }.history-job-metrics { grid-template-columns: repeat(3,1fr); }.history-log-head { display: none; }.history-log-row { grid-template-columns: 90px 60px minmax(0,1fr); }.history-log-row > :nth-child(4),.history-log-row > :nth-child(5) { grid-column: 3; }
}
@media (max-width: 520px) {
  .estate-metrics,.insight-grid,.platform-summary { grid-template-columns: 1fr; }.estate-metric { min-height: 92px; }.lifecycle-tabs { width: 100%; }.lifecycle-tab { flex: 1; }.landing-logo { width: 100%; height: clamp(120px, 32vw, 150px); border-radius: 16px; }
  .history-header-actions,.history-job-heading { display: grid; }.history-summary,.history-job-facts,.history-job-metrics,.history-log-toolbar { grid-template-columns: 1fr; }.history-summary article:first-child { grid-column: auto; }.history-log-row { grid-template-columns: 76px minmax(0,1fr); }.history-log-row > :nth-child(n+3) { grid-column: 2; }.diagnostic-metadata { grid-template-columns: 1fr; }
}

/* Executive constellation - approved app-wide visual system */
:root {
  --navy: #071c2c;
  --navy-deep: #061523;
  --navy-soft: #11344d;
  --blue: #175bd7;
  --blue-soft: #eaf1ff;
  --teal: #0b9189;
  --teal-soft: #e4f5f2;
  --ink: #12233a;
  --muted: #627188;
  --line: #d9e1e8;
  --line-strong: #c7d1dc;
  --canvas: #f4f5f3;
  --card: #fffefd;
  --paper: #f7f8f7;
  --soft: #eef2f5;
  --green: #16865a;
  --orange: #b56816;
  --red: #b53a3f;
  --chart-legend: #33465f;
  --shadow: 0 8px 24px rgba(10, 34, 55, .055);
  --sidebar-width: 220px;
  --radius: 10px;
}

html { background: var(--canvas); }
body {
  min-width: 320px;
  color: var(--ink);
  background:
    radial-gradient(circle at 82% -12%, rgba(23, 91, 215, .055), transparent 30rem),
    linear-gradient(180deg, #f8f8f5 0, var(--canvas) 38rem);
  font-family: "Aptos", "Segoe UI Variable Text", "Segoe UI", sans-serif;
  font-size: 13px;
}

h1, h2, h3, h4, .programme-score strong, .summary-card strong, .estate-storage-copy strong {
  font-family: "Aptos Display", "Segoe UI Variable Display", "Segoe UI", sans-serif;
}

.topbar {
  position: fixed;
  z-index: 20;
  inset: 0 auto 0 0;
  width: var(--sidebar-width);
  min-height: 100vh;
  display: flex;
  flex-direction: column;
  align-items: stretch;
  gap: 0;
  padding: 22px 14px 16px;
  color: #f4f9fc;
  background:
    radial-gradient(circle at 20% 0, rgba(28, 115, 151, .24), transparent 19rem),
    linear-gradient(180deg, #061a2b 0%, #08263b 62%, #071c2c 100%);
  border: 0;
  box-shadow: 8px 0 30px rgba(6, 28, 44, .1);
}

.brand-mark {
  width: 48px;
  height: 48px;
  margin: 0 0 13px 4px;
  display: grid;
  place-items: center;
  overflow: hidden;
  background: rgba(255, 255, 255, .08);
  border: 1px solid rgba(255, 255, 255, .12);
  border-radius: 12px;
  box-shadow: none;
}
.brand-mark img { width: 100%; height: 100%; object-fit: cover; }
.brand-copy { width: auto; height: auto; display: block; position: static; min-width: 0; margin: 0 5px 22px; overflow: visible; clip: auto; clip-path: none; }
.brand-copy p { margin: 0 0 5px; color: #8fc8d5; font-size: 8px; font-weight: 800; letter-spacing: .12em; text-transform: uppercase; }
.brand-copy h1 { margin: 0; color: #fff; font-size: 17px; line-height: 1.15; letter-spacing: -.015em; }

.primary-nav { width: 100%; display: flex; flex: 0 1 auto; flex-direction: column; gap: 3px; margin: 0; overflow-y: auto; }
.primary-nav.hidden { display: none !important; }
.nav-button {
  width: 100%;
  min-height: 40px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  padding: 8px 10px;
  position: relative;
  color: #acc0cf;
  background: transparent;
  border: 1px solid transparent;
  border-radius: 7px;
  font-size: 11px;
  font-weight: 650;
  text-align: left;
}
.nav-button::before { display: none !important; }
.nav-button img { width: 17px; height: 17px; flex: 0 0 auto; filter: brightness(0) invert(1); opacity: .72; }
.nav-button span {
  width: auto;
  height: auto;
  position: static;
  overflow: visible;
  clip: auto;
  clip-path: none;
  white-space: normal;
}
.nav-button:hover { color: #fff; background: rgba(255, 255, 255, .055); border-color: rgba(255, 255, 255, .06); }
.nav-button.active { color: #fff; background: rgba(255, 255, 255, .09); border-color: rgba(255, 255, 255, .08); box-shadow: inset 3px 0 var(--teal); }
.nav-button:focus-visible { outline: 2px solid rgba(85, 199, 189, .85); outline-offset: 1px; }
.nav-button.active img { opacity: 1; }

.theme-toggle {
  width: 100%;
  min-height: 38px;
  margin: auto 0 10px;
  display: flex;
  align-items: center;
  justify-content: flex-start;
  gap: 10px;
  padding: 8px 10px;
  color: #b9cbd7;
  background: transparent;
  border: 1px solid rgba(255, 255, 255, .08);
  border-radius: 7px;
}
.theme-toggle::before { display: none !important; }
.theme-toggle img { width: 16px; height: 16px; filter: brightness(0) invert(1); opacity: .75; }
.theme-toggle span { position: static; width: auto; height: auto; overflow: visible; clip: auto; clip-path: none; font-size: 10px; }
.session-summary { width: auto; height: auto; min-width: 0; display: grid; gap: 2px; margin: 0 2px 10px; padding: 10px; color: #dce9ef; background: rgba(255, 255, 255, .045); border: 1px solid rgba(255, 255, 255, .07); border-radius: 7px; }
.session-summary strong { overflow: hidden; color: #f4f9fc; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.session-summary span { overflow: hidden; color: #9bb2c1; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.auth-button { width: 100%; min-height: 38px; margin: 0; color: #fff; background: transparent; border: 1px solid rgba(255, 255, 255, .17); border-radius: 7px; font-size: 10px; }

main, footer { margin-left: var(--sidebar-width); }
main { max-width: none; min-height: calc(100vh - 42px); padding: 0 26px 34px; }
footer { padding: 12px 28px; color: var(--muted); background: transparent; border-top: 1px solid var(--line); }
.workspace { width: 100%; max-width: 1740px; margin: 0 auto; }
.workspace-bar {
  min-height: 54px;
  margin: 0 -26px 22px;
  padding: 0 26px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  color: var(--ink);
  background: rgba(255, 254, 253, .88);
  border-bottom: 1px solid var(--line);
  box-shadow: none;
  backdrop-filter: blur(12px);
}
.breadcrumb { display: flex; align-items: center; gap: 8px; color: var(--muted); font-size: 9px; }
.breadcrumb b { color: var(--ink); font-weight: 750; }
.breadcrumb span::after { content: "/"; margin-left: 8px; color: #a4b0be; }
.workspace-actions { display: flex; align-items: center; gap: 8px; }
.chrome-action { min-height: 32px; padding: 7px 10px; color: var(--ink); background: transparent; border: 1px solid var(--line); border-radius: 6px; font-size: 9px; font-weight: 700; }
.chrome-action img { width: 14px; height: 14px; }
.live-indicator { color: var(--green); font-size: 9px; font-weight: 750; }

.app-view { animation: executive-reveal .32s ease-out both; }
@keyframes executive-reveal { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: none; } }
.dashboard-title-row, .view-header { margin: 0 0 18px; display: flex; align-items: flex-end; justify-content: space-between; gap: 28px; }
.dashboard-title-row h2, .view-header h2 { margin: 3px 0 7px; color: var(--navy-deep); font-size: clamp(28px, 3vw, 42px); line-height: 1.03; letter-spacing: -.045em; }
.view-description { max-width: 820px; margin: 0; color: var(--muted); font-size: 11px; line-height: 1.55; }
.eyebrow { margin: 0 0 4px; color: var(--teal); font-size: 8px; font-weight: 850; letter-spacing: .15em; text-transform: uppercase; }
.context-strip { display: flex; flex-wrap: wrap; gap: 7px 15px; margin-top: 11px; color: var(--muted); font-size: 8px; font-weight: 700; }
.context-strip span { display: inline-flex; align-items: center; gap: 6px; }
.context-strip span::before { content: ""; width: 5px; height: 5px; background: var(--teal); border-radius: 50%; }
.programme-score { min-width: 148px; padding: 13px 16px; text-align: right; background: transparent; border: 0; border-left: 1px solid var(--line-strong); border-radius: 0; box-shadow: none; }
.programme-score span { color: var(--muted); font-size: 8px; text-transform: uppercase; letter-spacing: .08em; }
.programme-score strong { margin-top: 3px; color: var(--navy-deep); font-size: 31px; }

.panel {
  color: var(--ink);
  background: rgba(255, 254, 253, .94);
  border: 1px solid var(--line);
  border-radius: var(--radius);
  box-shadow: var(--shadow);
}
.panel-heading { align-items: flex-start; gap: 14px; }
.panel-heading h3, .builder-step h3, .report-preview h3, .settings-card h3 { margin: 0; color: var(--navy-deep); font-size: 16px; line-height: 1.2; letter-spacing: -.018em; }
.panel-copy, .field-note, .scope-note { color: var(--muted); font-size: 9px; line-height: 1.55; }
.panel-count, .policy-badge, .status-badge { border-radius: 999px; box-shadow: none; font-size: 8px; font-weight: 800; letter-spacing: .02em; }
.panel-count { padding: 5px 8px; color: var(--muted); background: var(--paper); border: 1px solid var(--line); }
.policy-badge { padding: 6px 9px; color: var(--blue); background: var(--blue-soft); border: 1px solid #cbdafa; }
.status-badge { padding: 4px 7px; border: 1px solid transparent; }
.status-badge.complete, .status-badge.healthy { color: #0b6d47; background: #e4f4ec; border-color: #c5e8d8; }
.status-badge.complete-with-gaps, .status-badge.partial, .status-badge.gaps, .status-badge.attention { color: #8d500e; background: #fff2dc; border-color: #f0d6ae; }
.status-badge.failed, .status-badge.blocked, .status-badge.unhealthy { color: #9c2f35; background: #fdebed; border-color: #efc9cd; }
.status-badge.in-progress, .status-badge.active { color: #164ea7; background: #eaf1ff; border-color: #cbdafa; }
.status-badge.neutral, .status-badge.not-started { color: #5f6e83; background: #eff2f5; border-color: #dce2e8; }

.button { min-height: 36px; padding: 8px 13px; border-radius: 6px; font-size: 10px; font-weight: 750; box-shadow: none; }
.button:hover:not(:disabled), .chrome-action:hover { transform: translateY(-1px); }
.primary-action { color: #fff; background: var(--blue); border: 1px solid var(--blue); box-shadow: 0 7px 15px rgba(23, 91, 215, .16); }
.primary-action:hover:not(:disabled) { background: #104fc3; }
.compact-button { color: var(--navy); background: var(--card); border: 1px solid var(--line-strong); }
.text-action { color: var(--blue); font-size: 9px; font-weight: 750; }
.danger-outline { color: var(--red); background: #fff; border: 1px solid #e4b3b7; }
.danger-action { color: #fff; background: var(--red); border: 1px solid var(--red); }

label { color: #42536a; font-size: 8px; font-weight: 800; letter-spacing: .045em; text-transform: uppercase; }
select, input[type="text"], input[type="search"], input[type="number"] {
  min-height: 37px;
  margin-top: 5px;
  color: var(--ink);
  background: var(--card);
  border: 1px solid var(--line-strong);
  border-radius: 6px;
  font: 11px "Aptos", "Segoe UI", sans-serif;
  text-transform: none;
  letter-spacing: 0;
  box-shadow: none;
}
select:focus, input:focus { border-color: var(--blue); box-shadow: 0 0 0 3px rgba(23, 91, 215, .11); outline: 0; }
fieldset { border-color: var(--line); border-radius: 8px; }
legend { color: var(--muted); font-size: 8px; letter-spacing: .08em; text-transform: uppercase; }
.check { color: var(--ink); font-size: 10px; text-transform: none; letter-spacing: 0; }

.filter-bar, .history-filters {
  padding: 11px;
  background: rgba(255, 254, 253, .85);
  border: 1px solid var(--line);
  border-radius: 8px;
  box-shadow: none;
}
.filter-bar { grid-template-columns: repeat(4, minmax(120px, 1fr)) auto auto; gap: 8px; align-items: end; }
.last-refresh { color: var(--muted); font-size: 8px; }

.summary-grid {
  margin: 12px 0;
  display: grid;
  grid-template-columns: repeat(6, minmax(105px, 1fr));
  gap: 0;
  overflow: hidden;
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 9px;
  box-shadow: var(--shadow);
}
.summary-card {
  min-height: 102px;
  padding: 15px 16px;
  position: relative;
  background: transparent;
  border: 0;
  border-right: 1px solid var(--line);
  border-radius: 0;
  box-shadow: none;
}
.summary-card:last-child { border-right: 0; }
.summary-card::before { content: ""; position: absolute; inset: 0 auto 0 0; width: 3px; background: var(--blue); opacity: .85; }
.summary-card.complete::before { background: var(--green); }
.summary-card.gaps::before { background: var(--orange); }
.summary-card.failed::before { background: var(--red); }
.summary-card.not-started::before { background: #8694a6; }
.summary-card span { color: var(--muted); font-size: 8px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.summary-card strong { margin: 7px 0 4px; color: var(--navy-deep); font-size: 28px; line-height: 1; }
.summary-card small { color: var(--muted); font-size: 8px; line-height: 1.35; }

.dashboard-grid { grid-template-columns: .78fr 1fr 1.18fr; gap: 10px; }
.dashboard-grid > .panel, .operations-grid > .panel, .attention-panel { padding: 16px; }
.operations-grid { grid-template-columns: .9fr 1.15fr .75fr; gap: 10px; }
.attention-panel { margin: 10px 0; }
.coverage-row, .issue-item, .activity-item, .health-item, .certificate-item { border-radius: 5px; }
.coverage-row, .issue-item, .activity-item { background: var(--paper); border-color: transparent; border-bottom: 1px solid var(--line); }
.chart-wrap { height: 208px; }

table { color: var(--ink); font-size: 9px; }
th { padding: 9px 10px; color: var(--muted); background: #eef2f4; border-bottom: 1px solid var(--line-strong); font-size: 8px; font-weight: 850; letter-spacing: .055em; text-transform: uppercase; }
td { padding: 10px; border-bottom: 1px solid #e5eaee; }
tbody tr:hover { background: #f3f7fa; }
.table-scroll { border: 1px solid var(--line); border-radius: 7px; }

.explorer-facts {
  margin-bottom: 12px;
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 0;
  overflow: hidden;
  background: var(--card);
  border: 1px solid var(--line);
  border-radius: 9px;
}
.explorer-fact { min-height: 74px; padding: 13px 15px; background: transparent; border: 0; border-right: 1px solid var(--line); border-radius: 0; box-shadow: none; }
.explorer-fact:last-child { border-right: 0; }
.explorer-fact span { color: var(--muted); font-size: 8px; letter-spacing: .05em; text-transform: uppercase; }
.explorer-fact strong { margin-top: 4px; color: var(--navy-deep); font-size: 12px; }

.estate-command {
  margin: 12px 0;
  padding: clamp(20px, 2.4vw, 32px);
  color: var(--ink);
  background:
    radial-gradient(circle at 92% 0, rgba(11, 145, 137, .08), transparent 24rem),
    linear-gradient(145deg, #fffefd 0%, #f8faf9 100%);
  border: 1px solid var(--line-strong);
  border-radius: 12px;
  box-shadow: 0 16px 38px rgba(7, 28, 44, .065);
}
.estate-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 22px; padding-bottom: 18px; border-bottom: 1px solid var(--line); }
.estate-heading h3 { margin: 1px 0 0; color: var(--navy-deep); font-size: clamp(25px, 3vw, 38px); line-height: 1.05; letter-spacing: -.045em; }
.estate-heading p:not(.eyebrow) { max-width: 780px; margin: 7px 0 0; color: var(--muted); font-size: 10px; line-height: 1.55; }
.lifecycle-actions { display: block; }
.evidence-actions { position: relative; }
.evidence-actions summary { min-width: 126px; padding: 9px 12px; color: var(--navy); background: var(--card); border: 1px solid var(--line-strong); border-radius: 6px; font-size: 9px; font-weight: 800; cursor: pointer; list-style: none; }
.evidence-actions summary::after { content: "+"; float: right; color: var(--teal); font-size: 13px; line-height: .7; }
.evidence-actions[open] summary::after { content: "-"; }
.evidence-actions-menu { min-width: 190px; padding: 7px; display: grid; gap: 6px; position: absolute; z-index: 6; top: calc(100% + 5px); right: 0; background: var(--card); border: 1px solid var(--line); border-radius: 8px; box-shadow: 0 14px 32px rgba(7, 28, 44, .13); }
.evidence-actions-menu .button { width: 100%; text-align: left; }

.estate-storage-signature { margin: 20px 0 0; }
.estate-storage-hero { padding: 0 0 18px; }
.estate-storage-headline { width: 100%; padding: 0; display: grid; grid-template-columns: 38px minmax(0, 1fr) auto; align-items: center; gap: 13px; color: var(--ink); background: transparent; border: 0; text-align: left; cursor: pointer; }
.estate-storage-icon { width: 38px; height: 38px; display: grid; place-items: center; color: var(--teal); background: var(--teal-soft); border-radius: 9px; }
.estate-storage-icon img { width: 19px; height: 19px; }
.estate-storage-copy span, .estate-storage-copy strong, .estate-storage-copy small { display: block; }
.estate-storage-copy span { color: var(--muted); font-size: 8px; font-weight: 850; letter-spacing: .09em; text-transform: uppercase; }
.estate-storage-copy strong { margin: 4px 0 3px; color: var(--navy-deep); font-size: clamp(30px, 4vw, 48px); line-height: .95; letter-spacing: -.05em; }
.estate-storage-copy small { max-width: 720px; color: var(--muted); font-size: 9px; line-height: 1.45; }
.estate-inspect { color: var(--blue); font-size: 8px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
.estate-storage-rail { width: 100%; height: 15px; margin: 15px 0 0; display: flex; gap: 2px; overflow: hidden; background: #e9eef1; border-radius: 3px; }
.estate-storage-rail.empty { background: repeating-linear-gradient(135deg, #e9eef1 0 7px, #f5f7f8 7px 14px); }
.estate-storage-segment { min-width: 3px; height: 100%; }
.estate-storage-breakdown { margin-top: 7px; display: flex; align-items: stretch; border-top: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.estate-storage-item { min-width: 150px; padding: 10px 15px; display: grid; gap: 2px; color: var(--ink); background: transparent; border: 0; border-right: 1px solid var(--line); text-align: left; cursor: pointer; }
.estate-storage-item:hover { background: var(--paper); }
.estate-storage-item strong { margin-top: 2px; color: var(--navy-deep); font-size: 15px; }
.estate-storage-item small { color: var(--blue); font-size: 8px; font-weight: 700; }
.estate-storage-key { display: flex; align-items: center; gap: 6px; color: var(--muted); font-size: 8px; font-weight: 800; text-transform: uppercase; }
.estate-storage-key i { width: 7px; height: 7px; border-radius: 50%; }

.estate-metrics { margin: 0; display: grid; grid-template-columns: repeat(5, 1fr); gap: 0; overflow: hidden; background: transparent; border-bottom: 1px solid var(--line); }
.estate-metric {
  min-height: 116px;
  padding: 16px;
  display: grid;
  align-content: start;
  color: var(--ink);
  background: transparent;
  border: 0;
  border-right: 1px solid var(--line);
  border-radius: 0;
  text-align: left;
  cursor: pointer;
}
.estate-metric:last-child { border-right: 0; }
.estate-metric:first-child { background: transparent; }
.estate-metric:hover { color: var(--ink); background: var(--paper); border-color: var(--line); transform: none; }
.estate-metric-heading { display: flex !important; align-items: center; gap: 7px; color: var(--muted) !important; font-size: 8px !important; font-weight: 850 !important; letter-spacing: .06em !important; text-transform: uppercase; }
.estate-metric-heading > span { color: var(--muted); font-size: 8px; font-weight: 850; letter-spacing: .06em; text-transform: uppercase; }
.estate-metric-icon { width: 23px; height: 23px; display: grid; place-items: center; color: var(--teal); background: var(--teal-soft); border-radius: 6px; }
.estate-metric-icon img { width: 13px; height: 13px; }
.estate-metric strong { margin: 11px 0 4px; color: var(--navy-deep); font-size: clamp(22px, 2.5vw, 32px); line-height: 1; }
.estate-metric small { min-height: 24px; margin: 0; color: var(--muted); font-size: 8px; line-height: 1.4; }
.estate-metric .estate-inspect { margin-top: 7px; }
.insight-grid { margin-top: 12px; grid-template-columns: 1fr 1.08fr 1.35fr .9fr; gap: 9px; }
.insight-card { padding: 15px; box-shadow: none; }
.insight-chart { height: 172px; }
.wide-chart { height: 202px; }

.relationship-panel, .explorer-panel { box-shadow: none; }
.relationship-canvas { background: radial-gradient(circle at center, #fbfcfc, #eef4f6); border-color: var(--line); border-radius: 8px; }
.entity-group, .workload-result, .run-history button, .activity-item, .evidence-preview { border-radius: 6px; }

.run-view-header { align-items: center; }
.journey-rail { min-width: 430px; margin: 0; padding: 0; display: grid; grid-template-columns: repeat(4, 1fr); list-style: none; }
.journey-rail li { min-width: 88px; padding: 0 16px 0 23px; position: relative; display: grid; gap: 2px; color: #8a97a8; border-top: 1px solid var(--line-strong); }
.journey-rail li::before { content: ""; width: 9px; height: 9px; position: absolute; top: -5px; left: 0; background: var(--card); border: 2px solid #aab5c1; border-radius: 50%; }
.journey-rail li span { margin-top: 8px; font-size: 7px; font-weight: 800; letter-spacing: .08em; }
.journey-rail li b { font-size: 9px; }
.journey-rail li.active, .journey-rail li.complete { color: var(--navy); border-color: var(--teal); }
.journey-rail li.active::before { background: var(--teal); border-color: var(--teal); box-shadow: 0 0 0 4px rgba(11, 145, 137, .13); }
.journey-rail li.complete::before { background: var(--navy); border-color: var(--navy); }

.form-grid { display: grid; grid-template-columns: minmax(240px, .64fr) minmax(480px, 1.45fr) minmax(275px, .7fr); grid-template-areas: "tenant scope brief" "evidence evidence brief"; gap: 10px; align-items: start; }
.form-grid > .panel { padding: 18px; }
.tenant-panel { grid-area: tenant; }
.run-panel { grid-area: scope; }
.run-brief-panel { grid-area: brief; position: sticky; top: 12px; padding: 19px !important; background: linear-gradient(160deg, #08243a, #0a3048); border-color: #123d59; color: #eef8fb; box-shadow: 0 16px 34px rgba(7, 28, 44, .15); }
.evidence-panel { grid-area: evidence; }
.tenant-list { display: grid; gap: 0; border-top: 1px solid var(--line); }
.tenant { min-height: 60px; padding: 11px 4px; border: 0; border-bottom: 1px solid var(--line); border-radius: 0; background: transparent; }
.tenant:has(input:checked) { background: var(--teal-soft); box-shadow: inset 3px 0 var(--teal); }
.tenant small { color: var(--muted); font-size: 8px; }
.run-panel > label { display: block; max-width: 230px; margin-bottom: 13px; }
.run-panel fieldset { margin: 0; padding: 0; border: 0; }
.run-panel legend { margin-bottom: 7px; }
.workloads { display: grid; grid-template-columns: 1fr 1fr; gap: 9px; }
.workload-group { padding: 0; overflow: hidden; background: var(--card); border: 1px solid var(--line); border-radius: 7px; }
.workload-group-heading { padding: 11px 12px; background: #f0f4f5; border-bottom: 1px solid var(--line); }
.workload-group-heading strong { color: var(--navy-deep); font-size: 10px; }
.workload-group-heading span { color: var(--muted); font-size: 8px; }
.workload-option-grid { display: grid; grid-template-columns: 1fr; gap: 0; }
.workload-option { min-height: 60px; padding: 9px 10px; gap: 8px; background: transparent; border: 0; border-bottom: 1px solid #e6ebee; border-radius: 0; }
.workload-option:last-child { border-bottom: 0; }
.workload-option:hover { background: var(--paper); }
.workload-option:has(input:checked) { background: #edf7f5; border-color: #d8eae7; box-shadow: inset 3px 0 var(--teal); }
.workload-option-title { gap: 6px; }
.workload-option-title strong { color: var(--ink); font-size: 9px; }
.workload-option-title .workload-icon { width: 23px; height: 23px; background: var(--teal-soft); border-radius: 5px; }
.workload-option-title .workload-icon img { width: 13px; height: 13px; }
.workload-option-copy small { color: var(--muted); font-size: 8px; }
.workload-tier { margin-left: auto; padding: 3px 5px; color: #526177; background: #eef1f3; border-radius: 999px; font-size: 7px; white-space: nowrap; }
.scope-note { margin: 12px 0 0; padding: 9px 11px; background: var(--blue-soft); border-left: 3px solid var(--blue); border-radius: 4px; }

.run-brief-heading { position: relative; padding-bottom: 14px; border-bottom: 1px solid rgba(255, 255, 255, .13); }
.run-brief-heading h3 { margin: 2px 0 0; color: #fff; font-size: 24px; letter-spacing: -.035em; }
.run-brief-heading .status-badge { position: absolute; top: 0; right: 0; }
.run-brief-identity { padding: 15px 0; border-bottom: 1px solid rgba(255, 255, 255, .13); }
.run-brief-identity span, .run-brief-identity strong, .run-brief-identity small { display: block; }
.run-brief-identity span, .run-brief-summary span { color: #8fb0c0; font-size: 7px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.run-brief-identity strong { margin-top: 5px; color: #fff; font-size: 14px; }
.run-brief-identity small { margin-top: 3px; color: #9eb8c6; font-size: 8px; }
.run-brief-summary { display: grid; grid-template-columns: 1fr 1fr; border-bottom: 1px solid rgba(255, 255, 255, .13); }
.run-brief-summary > div { padding: 13px 0; }
.run-brief-summary > div + div { padding-left: 13px; border-left: 1px solid rgba(255, 255, 255, .13); }
.run-brief-summary strong { display: block; margin-top: 4px; color: #fff; font-size: 13px; }
.run-contract { padding: 10px 0; display: grid; gap: 0; border-bottom: 1px solid rgba(255, 255, 255, .13); }
.run-contract > div { padding: 7px 0; display: flex; align-items: center; justify-content: space-between; gap: 10px; color: #c8dae3; font-size: 8px; }
.run-contract span { display: inline-flex; align-items: center; gap: 7px; }
.run-contract i { width: 6px; height: 6px; border-radius: 50%; background: #70d0c7; }
.run-contract i.approved { background: #73a5ff; }
.run-contract i.delegated { background: #e9b768; }
.run-contract i.partial { background: #ee8f8f; }
.run-contract i.evidence { background: #a6b4c4; }
.run-contract strong { color: #fff; }
.run-brief-check { margin: 12px 0; padding: 10px; display: grid; grid-template-columns: auto 1fr; align-items: start; background: rgba(255, 255, 255, .055); border: 1px solid rgba(255, 255, 255, .1); border-radius: 6px; color: #fff; }
.run-brief-check strong, .run-brief-check small { display: block; }
.run-brief-check strong { font-size: 9px; }
.run-brief-check small { margin-top: 3px; color: #9eb8c6; font-size: 8px; }
.run-assurance { margin: 0 0 13px; display: grid; grid-template-columns: 26px 1fr; gap: 9px; align-items: center; }
.run-assurance img { width: 20px; height: 20px; filter: brightness(0) invert(1); opacity: .8; }
.run-assurance strong, .run-assurance small { display: block; }
.run-assurance strong { color: #dff6f2; font-size: 8px; }
.run-assurance small { margin-top: 2px; color: #91adbb; font-size: 7px; }
.run-brief-panel .primary-action { width: 100%; background: #eefbfa; border-color: #eefbfa; color: #073047; box-shadow: none; }
.run-brief-panel .primary-action:hover:not(:disabled) { background: #fff; }
.run-brief-panel .primary-action:disabled { color: #8097a4; background: rgba(255, 255, 255, .09); border-color: rgba(255, 255, 255, .08); }
.evidence-panel .run-detail { display: grid; grid-template-columns: repeat(4, 1fr); gap: 0; border: 1px solid var(--line); border-radius: 7px; }
.run-row { padding: 11px; border: 0; border-right: 1px solid var(--line); border-radius: 0; background: transparent; }
.run-row:last-child { border-right: 0; }

.report-builder-layout { grid-template-columns: minmax(0, .95fr) minmax(370px, .72fr); gap: 12px; }
.report-controls { gap: 9px; }
.builder-step { padding: 18px; box-shadow: none; }
.step-heading > span { color: #fff; background: var(--navy); border-radius: 6px; box-shadow: none; }
.report-template-grid { gap: 7px; }
.report-template { min-height: 74px; background: var(--paper); border-radius: 7px; }
.report-template:has(input:checked) { background: var(--teal-soft); border-color: #9bd1ca; box-shadow: inset 3px 0 var(--teal); }
.report-preview { border-top: 3px solid var(--navy); box-shadow: 0 14px 32px rgba(7, 28, 44, .08); }
.report-paper { background: #fff; border-color: #dfe4e8; box-shadow: 0 8px 24px rgba(7, 28, 44, .06); }

.lifecycle-tabs { padding: 3px; background: #e8edef; border: 1px solid var(--line); border-radius: 7px; }
.lifecycle-tab { padding: 8px 15px; border-radius: 5px; font-size: 9px; }
.lifecycle-tab.active { color: #fff; background: var(--navy); box-shadow: none; }
.lifecycle-flow { gap: 10px; }
.lifecycle-step-card, .issued-packages-panel { padding: 19px; box-shadow: none; }
.instruction-strip { gap: 0; border: 1px solid var(--line); border-radius: 7px; overflow: hidden; }
.instruction-strip > div { min-height: 76px; padding: 12px; background: var(--paper); border: 0; border-right: 1px solid var(--line); border-radius: 0; }
.instruction-strip > div:last-child { border-right: 0; }
.handoff-callout { background: var(--navy-soft); border-radius: 7px; }
.drop-field, .issued-package { border-radius: 7px; }
.danger-zone { border-color: #e3bdc0; box-shadow: inset 4px 0 var(--red); }

.platform-summary, .history-summary { gap: 0; overflow: hidden; background: var(--card); border: 1px solid var(--line); border-radius: 9px; box-shadow: var(--shadow); }
.platform-summary-card, .history-summary article { min-height: 80px; padding: 14px; background: transparent; border: 0; border-right: 1px solid var(--line); border-radius: 0; box-shadow: none; }
.platform-summary-card:last-child, .history-summary article:last-child { border-right: 0; }
.platform-summary-card strong, .history-summary strong { color: var(--navy-deep); }
.platform-grid { gap: 10px; }
.platform-grid > .panel, .architecture-panel { padding: 17px; box-shadow: none; }
.dependency-health { gap: 0; border: 1px solid var(--line); border-radius: 7px; overflow: hidden; }
.dependency-row { padding: 11px; background: var(--paper); border: 0; border-bottom: 1px solid var(--line); border-left: 3px solid var(--muted); border-radius: 0; }
.dependency-row:last-child { border-bottom: 0; }
.architecture-stage { border-radius: 7px; }

.settings-grid { grid-template-columns: .9fr 1.35fr .9fr; gap: 10px; }
.settings-card { padding: 18px; gap: 14px; box-shadow: none; }
.settings-card:nth-of-type(2) { grid-column: auto; }
.settings-save-card { grid-column: 1 / -1; min-height: 82px; flex-direction: row; align-items: center; justify-content: space-between; background: var(--navy); color: #fff; border-color: var(--navy); }
.settings-save-card h3 { color: #fff; }
.settings-save-card .panel-copy { color: #a9bfcc; }
.settings-save-card .primary-action { background: #fff; border-color: #fff; color: var(--navy); }
.capability-banner { border-radius: 7px; }

/* Intelligence Insights keeps provider output subordinate to DCC evidence. */
.intelligence-header { align-items: center; }
.intelligence-layout { display: grid; grid-template-columns: minmax(390px, .9fr) minmax(0, 1.35fr); gap: 12px; align-items: start; }
.intelligence-controls, .intelligence-output { display: grid; gap: 10px; }
.intelligence-controls > .panel, .intelligence-output > .panel { padding: 18px; box-shadow: none; }
.intelligence-scope-card { border-top: 3px solid var(--navy); }
.intelligence-scope-grid { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.intelligence-scope-grid label:last-child { grid-column: 1 / -1; }
.selected-preset { min-height: 37px; margin: 0; padding: 10px 12px; color: var(--ink); background: var(--teal-soft); border-left: 3px solid var(--teal); border-radius: 5px; font-size: 10px; line-height: 1.45; }
.intelligence-preset-grid { max-height: 360px; padding-right: 4px; display: grid; grid-template-columns: 1fr 1fr; gap: 6px; overflow: auto; }
.intelligence-preset { min-height: 91px; padding: 11px; display: grid; align-content: start; gap: 4px; color: var(--ink); background: var(--paper); border: 1px solid var(--line); border-left: 3px solid transparent; border-radius: 6px; cursor: pointer; text-align: left; }
.intelligence-preset:hover { border-color: var(--teal); }
.intelligence-preset.active { background: var(--teal-soft); border-color: #8fc9c2; border-left-color: var(--teal); }
.intelligence-preset span { color: var(--teal); font-size: 7px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.intelligence-preset strong { color: var(--navy-deep); font-size: 10px; }
.intelligence-preset small { color: var(--muted); font-size: 8px; line-height: 1.35; }
textarea { width: 100%; resize: vertical; padding: 11px 12px; color: var(--ink); background: var(--card); border: 1px solid var(--line-strong); border-radius: 6px; font: inherit; font-size: 11px; line-height: 1.5; }
textarea:focus { outline: 2px solid rgba(20, 105, 135, .25); border-color: var(--teal); }
.intelligence-actions, .intelligence-result-actions, .ai-provider-actions { display: flex; flex-wrap: wrap; gap: 7px; align-items: center; }
.intelligence-actions .primary-action { margin-left: auto; }
.intelligence-preview { display: grid; grid-template-columns: repeat(2, 1fr); gap: 0; border: 1px solid var(--line); border-radius: 6px; overflow: hidden; }
.intelligence-preview > div { min-width: 0; padding: 10px; background: var(--paper); border-right: 1px solid var(--line); border-bottom: 1px solid var(--line); }
.intelligence-preview > div:nth-child(even) { border-right: 0; }
.intelligence-preview > div:nth-last-child(-n+2) { border-bottom: 0; }
.intelligence-preview span, .intelligence-preview strong { display: block; }
.intelligence-preview span { color: var(--muted); font-size: 8px; text-transform: uppercase; }
.intelligence-preview strong { margin-top: 3px; overflow: hidden; font-size: 10px; text-overflow: ellipsis; white-space: nowrap; }
.intelligence-preview > p { grid-column: 1 / -1; margin: 0; padding: 10px; background: var(--card); border-top: 1px solid var(--line); }
.intelligence-preview.empty-state { display: block; border-style: dashed; }
.intelligence-result-card { min-height: 620px; border-top: 3px solid var(--teal); }
.intelligence-result-heading { display: flex; justify-content: space-between; gap: 18px; align-items: start; margin-bottom: 14px; }
.intelligence-result-heading h3 { margin: 0; color: var(--navy-deep); font-size: 22px; }
.intelligence-progress { position: relative; padding: 16px 16px 16px 21px; display: grid; gap: 3px; background: var(--navy); color: #fff; border-radius: 7px; overflow: hidden; }
.intelligence-progress > span { width: 4px; position: absolute; inset: 0 auto 0 0; background: var(--teal); animation: intelligence-pulse 1.2s ease-in-out infinite; }
.intelligence-progress strong { font-size: 11px; }.intelligence-progress small { color: #a9bfcc; font-size: 9px; }
@keyframes intelligence-pulse { 50% { opacity: .35; } }
.intelligence-result { display: grid; gap: 12px; }
.intelligence-result-banner { padding: 10px 12px; color: #0a5f58; background: #e7f7f4; border: 1px solid #9ed8d1; border-radius: 6px; font-size: 10px; font-weight: 850; }
.intelligence-result-banner.cached { color: #78500b; background: #fff6df; border-color: #e8c873; }
.intelligence-confidence { padding: 12px; display: grid; grid-template-columns: 1fr auto; gap: 3px 18px; background: var(--paper); border-left: 4px solid var(--teal); border-radius: 6px; }
.intelligence-confidence span { color: var(--muted); font-size: 8px; text-transform: uppercase; }.intelligence-confidence strong { color: var(--navy-deep); font-size: 15px; }.intelligence-confidence small { grid-column: 1 / -1; color: var(--muted); font-size: 9px; }
.intelligence-summary { margin: 0; color: var(--ink); font-size: 13px; line-height: 1.6; }
.intelligence-findings { display: grid; gap: 8px; }
.intelligence-finding { position: relative; padding: 14px 15px 14px 18px; background: var(--card); border: 1px solid var(--line); border-left: 4px solid var(--blue); border-radius: 6px; }
.intelligence-finding.ai_recommendation { border-left-color: var(--teal); }
.intelligence-finding.observed_fact { border-left-color: var(--green); }.intelligence-finding.dcc_rule_finding { border-left-color: var(--orange); }
.intelligence-finding-heading { display: flex; justify-content: space-between; gap: 12px; align-items: center; }
.intelligence-finding-heading span { color: var(--blue); font-size: 7px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }.intelligence-finding-heading strong { color: var(--navy-deep); font-size: 11px; }
.intelligence-statement { margin: 9px 0; color: var(--ink); font-size: 12px; font-weight: 750; line-height: 1.5; }
.intelligence-detail { margin-top: 8px; color: var(--muted); font-size: 7px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.intelligence-detail + p { margin: 3px 0 0; color: var(--muted); font-size: 10px; line-height: 1.5; }
.affected-count { display: inline-flex; margin-top: 8px; padding: 4px 7px; color: var(--navy); background: var(--soft); border-radius: 99px; font-size: 8px; }
.intelligence-evidence-links { margin-top: 10px; display: flex; flex-wrap: wrap; gap: 5px; }
.evidence-chip { padding: 5px 7px; color: #0b625d; background: #e8f7f5; border: 1px solid #a8d9d3; border-radius: 4px; cursor: pointer; font-size: 8px; font-weight: 800; }
.evidence-chip:hover { color: #fff; background: var(--teal); border-color: var(--teal); }
.intelligence-close { padding: 14px; background: var(--navy); color: #e8f3f7; border-radius: 7px; }
.intelligence-close h4 { margin: 0 0 5px; color: #fff; font-size: 11px; }.intelligence-close p, .intelligence-close li { color: #b8cbd5; font-size: 9px; line-height: 1.5; }.intelligence-close ul { margin: 5px 0 0; padding-left: 17px; }
.saved-insights { display: grid; gap: 0; border: 1px solid var(--line); border-radius: 6px; overflow: hidden; }
.saved-insight-row { padding: 10px 11px; display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 12px; align-items: center; background: var(--paper); border-bottom: 1px solid var(--line); }
.saved-insight-row:last-child { border-bottom: 0; }.saved-insight-row div:first-child { min-width: 0; display: grid; gap: 2px; }.saved-insight-row strong, .saved-insight-row span, .saved-insight-row small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }.saved-insight-row strong { font-size: 10px; }.saved-insight-row span, .saved-insight-row small { color: var(--muted); font-size: 8px; }
.saved-insight-actions { display: flex; gap: 8px; }.danger-text { color: var(--red); }

.ai-settings-panel { margin-top: 24px; padding-top: 22px; border-top: 1px solid var(--line-strong); }
.settings-section-heading { margin-bottom: 12px; display: flex; justify-content: space-between; gap: 22px; align-items: end; }.settings-section-heading h2 { margin: 2px 0 6px; color: var(--navy-deep); font-size: 26px; }
.ai-settings-grid { display: grid; grid-template-columns: 1.08fr .92fr .72fr; gap: 10px; align-items: start; }
.ai-provider-card { grid-row: span 2; }.ai-usage-card { grid-column: 2 / -1; }
.azure-ai-fields, .ai-limit-grid { display: grid; gap: 9px; }.ai-limit-grid { grid-template-columns: 1fr 1fr; }
.ai-provider-actions .danger-outline { margin-left: auto; }
.ai-usage-summary { margin-bottom: 10px; display: grid; grid-template-columns: repeat(3, 1fr); gap: 0; border: 1px solid var(--line); border-radius: 6px; overflow: hidden; }
.ai-usage-summary > div { padding: 10px; background: var(--paper); border-right: 1px solid var(--line); }.ai-usage-summary > div:last-child { border-right: 0; }
.ai-usage-summary span, .ai-usage-summary strong { display: block; }.ai-usage-summary span { color: var(--muted); font-size: 8px; text-transform: uppercase; }.ai-usage-summary strong { margin-top: 3px; color: var(--navy-deep); font-size: 17px; }
.ai-usage-table { max-height: 285px; }

.history-filters { grid-template-columns: minmax(180px, .8fr) minmax(150px, .6fr) minmax(260px, 1.4fr); }
.history-summary { grid-template-columns: 1.15fr repeat(4, 1fr); }
.history-summary article { border-bottom: 0; }
.history-summary article::before { content: ""; width: 3px; position: absolute; inset: 0 auto 0 0; background: var(--blue); }
.history-summary article { position: relative; }
.history-summary .complete::before { background: var(--green); }
.history-summary .gaps::before { background: var(--orange); }
.history-summary .failed::before { background: var(--red); }
.history-layout { gap: 10px; }
.history-run-panel, .history-job-panel, .history-log-panel { padding: 15px; box-shadow: none; }
.history-run-list, .history-workloads, .history-events { gap: 0; border: 1px solid var(--line); border-radius: 6px; overflow: auto; }
.history-run-card, .history-workload, .history-event { border: 0; border-bottom: 1px solid var(--line); border-left: 3px solid var(--muted); border-radius: 0; }
.history-run-card:last-child, .history-workload:last-child, .history-event:last-child { border-bottom: 0; }
.history-job-facts, .history-job-metrics { gap: 0; overflow: hidden; border: 1px solid var(--line); border-radius: 6px; }
.history-job-fact, .history-job-metric { background: var(--paper); border: 0; border-right: 1px solid var(--line); border-radius: 0; }

.landing { min-height: calc(100vh - 42px); padding: clamp(35px, 7vw, 86px); background:
    radial-gradient(circle at 80% 20%, rgba(11, 145, 137, .12), transparent 22rem),
    linear-gradient(145deg, #fffefd 0%, #edf4f3 100%); }
.landing-copy h2 { color: var(--navy-deep); font-size: clamp(45px, 6.5vw, 86px); letter-spacing: -.06em; }
.landing-copy > p:not(.eyebrow) { max-width: 700px; color: var(--muted); }
.landing-proof { color: var(--ink); background: rgba(255, 255, 255, .7); border: 1px solid var(--line); border-radius: 10px; box-shadow: var(--shadow); }

html[data-theme="dark"] {
  --navy: #081724;
  --navy-deep: #f2f7fb;
  --navy-soft: #123248;
  --blue: #72a2ff;
  --blue-soft: #172d4d;
  --teal: #55c7bd;
  --teal-soft: #153d3d;
  --ink: #e7eef4;
  --muted: #9aabba;
  --line: #2a3948;
  --line-strong: #394a5a;
  --canvas: #0d1721;
  --card: #121e2a;
  --paper: #172431;
  --soft: #1c2a38;
  --chart-legend: #b8c7d4;
  --shadow: 0 10px 26px rgba(0, 0, 0, .14);
}
html[data-theme="dark"] body { background: radial-gradient(circle at 80% -10%, rgba(30, 113, 150, .12), transparent 30rem), #0d1721; }
html[data-theme="dark"] .topbar { background: radial-gradient(circle at 20% 0, rgba(28, 115, 151, .22), transparent 18rem), linear-gradient(180deg, #061522, #071d2c); box-shadow: 8px 0 30px rgba(0, 0, 0, .24); }
html[data-theme="dark"] .workspace-bar { color: var(--ink); background: rgba(18, 30, 42, .88); border-color: var(--line); }
html[data-theme="dark"] .panel, html[data-theme="dark"] .filter-bar, html[data-theme="dark"] .history-filters, html[data-theme="dark"] .summary-grid, html[data-theme="dark"] .explorer-facts, html[data-theme="dark"] .platform-summary, html[data-theme="dark"] .history-summary { background: var(--card); border-color: var(--line); }
html[data-theme="dark"] .estate-command { color: var(--ink); background: radial-gradient(circle at 92% 0, rgba(85, 199, 189, .07), transparent 24rem), linear-gradient(145deg, #121e2a, #101b26); border-color: var(--line-strong); box-shadow: 0 16px 38px rgba(0, 0, 0, .18); }
html[data-theme="dark"] .estate-heading h3, html[data-theme="dark"] .estate-storage-copy strong, html[data-theme="dark"] .estate-metric strong { color: var(--navy-deep); }
html[data-theme="dark"] .estate-storage-breakdown, html[data-theme="dark"] .estate-metrics, html[data-theme="dark"] .estate-heading { border-color: var(--line); }
html[data-theme="dark"] .estate-storage-item:hover, html[data-theme="dark"] .estate-metric:hover { background: var(--paper); }
html[data-theme="dark"] .evidence-actions summary, html[data-theme="dark"] .evidence-actions-menu, html[data-theme="dark"] select, html[data-theme="dark"] input[type="text"], html[data-theme="dark"] input[type="search"], html[data-theme="dark"] input[type="number"] { color: var(--ink); background: var(--card); border-color: var(--line-strong); }
html[data-theme="dark"] .danger-outline { color: #ffb1b6; background: #271a20; border-color: #6f3940; }
html[data-theme="dark"] .workload-group, html[data-theme="dark"] .report-template { background: var(--card); border-color: var(--line); }
html[data-theme="dark"] .workload-group-heading, html[data-theme="dark"] th { background: #1a2936; }
html[data-theme="dark"] .workload-option, html[data-theme="dark"] .tenant { background: transparent; border-color: var(--line); }
html[data-theme="dark"] .workload-option:hover, html[data-theme="dark"] tbody tr:hover { background: var(--paper); }
html[data-theme="dark"] .workload-option:has(input:checked), html[data-theme="dark"] .tenant:has(input:checked), html[data-theme="dark"] .report-template:has(input:checked) { background: var(--teal-soft); border-color: #285455; }
html[data-theme="dark"] .instruction-strip > div, html[data-theme="dark"] .issued-package, html[data-theme="dark"] .coverage-status-row, html[data-theme="dark"] .dependency-row, html[data-theme="dark"] .platform-summary-card, html[data-theme="dark"] .history-run-card, html[data-theme="dark"] .history-job-fact, html[data-theme="dark"] .history-workload, html[data-theme="dark"] .history-event, html[data-theme="dark"] .diagnostic-detail, html[data-theme="dark"] .relationship-connection, html[data-theme="dark"] .history-job-metric { color: var(--ink); background: var(--paper); border-color: var(--line); }
html[data-theme="dark"] .relationship-canvas, html[data-theme="dark"] .architecture-stage { background: #101c28; }
html[data-theme="dark"] .settings-save-card { background: #071c2c; }
html[data-theme="dark"] textarea, html[data-theme="dark"] .intelligence-finding { color: var(--ink); background: var(--card); border-color: var(--line); }
html[data-theme="dark"] .intelligence-preset, html[data-theme="dark"] .intelligence-preview > div, html[data-theme="dark"] .saved-insight-row, html[data-theme="dark"] .ai-usage-summary > div { background: var(--paper); border-color: var(--line); }
html[data-theme="dark"] .intelligence-preset.active { background: var(--teal-soft); border-color: #285455; }
html[data-theme="dark"] .intelligence-result-banner { color: #a8e9e0; background: #173a39; border-color: #285455; }
html[data-theme="dark"] .intelligence-result-banner.cached { color: #f3d395; background: #3a2e1c; border-color: #6f5730; }
html[data-theme="dark"] .evidence-chip { color: #9fe2da; background: #173a39; border-color: #285455; }
html[data-theme="dark"] .report-paper { color: #24364b; background: #fff; }
html[data-theme="dark"] .landing { background: radial-gradient(circle at 80% 20%, rgba(85, 199, 189, .1), transparent 22rem), linear-gradient(145deg, #111e29, #0e1a24); }

@media (max-width: 1450px) {
  :root { --sidebar-width: 204px; }
  main { padding-inline: 20px; }
  .workspace-bar { margin-inline: -20px; padding-inline: 20px; }
  .dashboard-grid { grid-template-columns: .8fr 1.2fr; }
  .issues-panel { grid-column: 1 / -1; }
  .form-grid { grid-template-columns: minmax(220px, .58fr) minmax(430px, 1.25fr) minmax(260px, .68fr); }
  .insight-grid { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 1180px) {
  :root { --sidebar-width: 68px; }
  .topbar { width: var(--sidebar-width); padding: 10px 8px; }
  .brand-mark { width: 44px; height: 44px; margin: 0 auto 14px; }
  .brand-copy, .session-summary, .theme-toggle span, .nav-button span { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); clip-path: inset(50%); }
  .nav-button, .theme-toggle, .auth-button { width: 50px; min-height: 42px; margin-inline: auto; justify-content: center; padding: 8px; }
  .nav-button img, .theme-toggle img { width: 18px; height: 18px; }
  .auth-button { overflow: hidden; font-size: 0; }
  .auth-button::after { content: "ID"; font-size: 8px; }
  main, footer { margin-left: var(--sidebar-width); }
  .run-view-header { align-items: flex-start; }
  .journey-rail { min-width: 390px; }
  .form-grid { grid-template-columns: minmax(220px, .56fr) minmax(0, 1.3fr); grid-template-areas: "tenant scope" "brief scope" "brief evidence"; }
  .run-brief-panel { position: static; }
  .estate-metrics { grid-template-columns: repeat(3, 1fr); }
  .estate-metric:nth-child(3) { border-right: 0; }
  .estate-metric:nth-child(n+4) { border-top: 1px solid var(--line); }
  .dashboard-grid, .operations-grid, .platform-grid { grid-template-columns: 1fr 1fr; }
  .issues-panel, .ai-panel, .architecture-panel { grid-column: 1 / -1; }
  .settings-grid { grid-template-columns: 1fr 1fr; }
  .intelligence-layout { grid-template-columns: minmax(330px,.8fr) minmax(0,1.2fr); }
  .intelligence-preset-grid { grid-template-columns: 1fr; }
  .ai-settings-grid { grid-template-columns: 1fr 1fr; }.ai-provider-card { grid-row: auto; }.ai-usage-card { grid-column: 1 / -1; }
  .settings-card:nth-of-type(3) { grid-column: 1 / -1; }
}

@media (max-width: 850px) {
  :root { --sidebar-width: 0px; }
  .topbar { position: sticky; inset: 0; width: 100%; min-height: 58px; flex-direction: row; align-items: center; gap: 8px; padding: 7px 10px; }
  .brand-mark { width: 42px; height: 42px; margin: 0; flex: 0 0 auto; }
  .primary-nav { width: auto; min-width: 0; flex: 1; flex-direction: row; overflow-x: auto; }
  .nav-button { width: 42px; flex: 0 0 42px; margin: 0; }
  .theme-toggle, .auth-button { width: 42px; flex: 0 0 42px; margin: 0; }
  main, footer { margin-left: 0; }
  main { padding: 0 14px 28px; }
  .workspace-bar { margin: 0 -14px 16px; padding: 7px 14px; }
  .dashboard-title-row, .view-header, .estate-heading { display: grid; align-items: start; }
  .programme-score { padding-left: 0; text-align: left; border-left: 0; }
  .filter-bar { grid-template-columns: 1fr 1fr; }
  .summary-grid { grid-template-columns: repeat(3, 1fr); }
  .summary-card:nth-child(3), .summary-card:nth-child(6) { border-right: 0; }
  .summary-card:nth-child(n+4) { border-top: 1px solid var(--line); }
  .dashboard-grid, .operations-grid, .form-grid, .settings-grid, .platform-grid, .report-builder-layout, .history-layout { grid-template-columns: 1fr; }
  .intelligence-layout, .ai-settings-grid { grid-template-columns: 1fr; }
  .ai-usage-card { grid-column: auto; }
  .form-grid { grid-template-areas: "tenant" "scope" "brief" "evidence"; }
  .journey-rail { min-width: 0; width: 100%; }
  .run-view-header { width: 100%; }
  .settings-card:nth-of-type(3), .settings-save-card, .issues-panel, .ai-panel { grid-column: auto; }
  .workloads { grid-template-columns: 1fr; }
  .estate-metrics { grid-template-columns: repeat(2, 1fr); }
  .estate-metric, .estate-metric:nth-child(3) { border-right: 1px solid var(--line); border-top: 1px solid var(--line); }
  .estate-metric:nth-child(odd) { border-left: 0; }
  .estate-metric:nth-child(even) { border-right: 0; }
  .estate-metric:first-child, .estate-metric:nth-child(2) { border-top: 0; }
  .insight-grid { grid-template-columns: 1fr; }
  .estate-storage-breakdown { overflow-x: auto; }
  .explorer-main, .explorer-sidebar, .explorer-panel, .evidence-toolbar { min-width: 0; }
  .evidence-toolbar { grid-template-columns: minmax(0, 1fr); }
  .evidence-toolbar label, .evidence-toolbar select, .evidence-toolbar input { min-width: 0; width: 100%; max-width: 100%; }
  .explorer-facts { grid-template-columns: repeat(2, 1fr); }
  .explorer-fact { border-bottom: 1px solid var(--line); }
  .instruction-strip { grid-template-columns: 1fr 1fr; }
  .instruction-strip > div:nth-child(2) { border-right: 0; }
  .instruction-strip > div:nth-child(-n+2) { border-bottom: 1px solid var(--line); }
  .history-summary { grid-template-columns: repeat(2, 1fr); }
  .history-summary article:first-child { grid-column: 1 / -1; }
}

@media (max-width: 540px) {
  .workspace-actions .chrome-action { display: none; }
  .breadcrumb { display: none; }
  .dashboard-title-row h2, .view-header h2 { font-size: 30px; }
  .filter-bar, .summary-grid, .estate-metrics, .explorer-facts, .platform-summary, .history-summary, .settings-grid { grid-template-columns: 1fr; }
  .summary-card, .summary-card:nth-child(3), .summary-card:nth-child(6), .estate-metric, .estate-metric:nth-child(3), .estate-metric:nth-child(even) { border-right: 0; border-top: 1px solid var(--line); }
  .summary-card:first-child, .estate-metric:first-child { border-top: 0; }
  .journey-rail li { min-width: 0; padding-inline: 13px 4px; }
  .journey-rail li b { font-size: 8px; }
  .estate-storage-headline { grid-template-columns: 34px 1fr; }
  .estate-storage-headline > .estate-inspect { display: none; }
  .estate-storage-item { min-width: 132px; }
  .evidence-actions-menu { left: 0; right: auto; }
  .evidence-panel .run-detail { grid-template-columns: 1fr 1fr; }
  .run-row:nth-child(2) { border-right: 0; }
  .run-row:nth-child(n+3) { border-top: 1px solid var(--line); }
  .instruction-strip { grid-template-columns: 1fr; }
  .instruction-strip > div { border-right: 0; border-bottom: 1px solid var(--line); }
  .instruction-strip > div:last-child { border-bottom: 0; }
  .settings-save-card { display: grid; }
  .intelligence-scope-grid, .intelligence-preview, .ai-limit-grid, .ai-usage-summary { grid-template-columns: 1fr; }
  .intelligence-scope-grid label:last-child, .intelligence-preview > p { grid-column: auto; }
  .intelligence-preview > div, .ai-usage-summary > div { border-right: 0; border-bottom: 1px solid var(--line); }
  .intelligence-result-heading, .settings-section-heading, .saved-insight-row { display: grid; }
  .intelligence-result-actions, .saved-insight-actions { justify-content: start; }
}
