:root {
    color-scheme: dark;
    --bg: #07080a;
    --bg-rgb: 7, 8, 10;
    --bg-lift: #111318;
    --surface: rgba(22, 24, 29, 0.9);
    --surface-strong: rgba(31, 34, 40, 0.96);
    --surface-soft: rgba(205, 213, 224, 0.065);
    --surface-panel: linear-gradient(180deg, rgba(37, 40, 47, 0.94), rgba(13, 15, 19, 0.95));
    --sidebar-bg: rgba(10, 11, 14, 0.97);
    --tooltip-bg: rgba(25, 28, 34, 0.98);
    --border: rgba(205, 213, 224, 0.18);
    --border-strong: rgba(138, 166, 192, 0.48);
    --text: #f4f6f8;
    --muted: #aab2bd;
    --soft: #77818d;
    --cyan: #9fb5c8;
    --cyan-rgb: 159, 181, 200;
    --cyan-strong: #6f879d;
    --cyan-strong-rgb: 111, 135, 157;
    --cyan-soft: rgba(159, 181, 200, 0.15);
    --silver: #e8edf2;
    --warning: #ffd166;
    --warning-bg: rgba(255, 209, 102, 0.12);
    --danger: #e53947;
    --code-bg: #0d0f13;
    --code-text: #edf1f5;
    --button-text: #fff7f8;
    --shadow: 0 24px 80px rgba(0, 0, 0, 0.52);
    --glow: 0 0 34px rgba(159, 181, 200, 0.2);
    --brand-glow: drop-shadow(0 0 22px rgba(229, 57, 71, 0.24));
}

/* 2026 platform workflow UX pass */
.workflow-breadcrumb {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    min-width: 0;
    color: var(--muted);
    font-size: 0.86rem;
    font-weight: 800;
    flex-wrap: wrap;
}

.workflow-breadcrumb a {
    color: var(--cyan);
    text-decoration: none;
}

.workflow-breadcrumb a:hover,
.workflow-breadcrumb a:focus-visible {
    color: var(--silver);
    text-decoration: underline;
}

.workflow-breadcrumb-bar {
    justify-content: flex-start;
    margin: -6px 0 14px;
    padding: 0 2px;
}

.workflow-top-actions {
    flex-wrap: wrap;
    justify-content: flex-end;
}

.workflow-header {
    margin: 0 0 22px;
}

.compact-workflow-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(240px, 420px);
    align-items: end;
    gap: 18px;
    padding: 20px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: linear-gradient(135deg, rgba(47, 95, 158, 0.12), rgba(14, 165, 233, 0.08)), var(--surface);
    box-shadow: var(--shadow);
}

.compact-workflow-header h1 {
    margin: 4px 0 6px;
    color: var(--silver);
    font-size: clamp(1.75rem, 2.2vw, 2.45rem);
    line-height: 1.08;
}

.compact-workflow-header p {
    margin: 0;
    max-width: 780px;
    color: var(--muted);
}

.workflow-eyebrow,
.workflow-step-kicker {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    color: var(--cyan);
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
}

.workflow-step-strip {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: wrap;
}

.workflow-step-strip a,
.workflow-step-strip span,
.dashboard-view-tabs button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    padding: 7px 10px;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: var(--surface-soft);
    color: var(--silver);
    font-size: 0.78rem;
    font-weight: 850;
    text-decoration: none;
}

.workflow-step-strip a:hover,
.workflow-step-strip a:focus-visible,
.dashboard-view-tabs button:hover,
.dashboard-view-tabs button:focus-visible {
    border-color: var(--cyan);
    color: var(--cyan);
    outline: 3px solid rgba(56, 189, 248, 0.22);
    outline-offset: 2px;
}

.workflow-step-panel {
    border-top: 3px solid rgba(56, 189, 248, 0.34);
}

.attack-path-workflow-grid {
    grid-template-columns: minmax(0, 1.55fr) minmax(300px, 0.9fr);
}

.attack-path-workflow-main {
    display: grid;
    gap: 22px;
    min-width: 0;
}

.attack-path-review-summary {
    position: static;
}

.run-combined-search-button[disabled],
.run-combined-search-button[aria-disabled="true"] {
    opacity: 0.58;
    filter: grayscale(0.35);
}

.resource-warning.subtle-warning {
    border-color: rgba(245, 158, 11, 0.35);
    background: rgba(245, 158, 11, 0.08);
    color: var(--silver);
}

.threat-library-intake-panel .section-body {
    gap: 14px;
}

.cti-intake-action-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    align-items: start;
}

.cti-intake-disclosure {
    margin: 0;
    min-width: 0;
}

.cti-intake-disclosure .collapsible-summary {
    min-height: 68px;
}

.auto-triage-subtab,
.library-tab {
    overflow-wrap: anywhere;
}

.auto-triage-subtab[aria-selected="true"] {
    border-color: rgba(34, 197, 94, 0.65);
}

.auto-triage-subtab[aria-controls="unactioned-cti-panel"] {
    border-color: rgba(245, 158, 11, 0.42);
}

.candidate-actions form,
.library-card > div,
.daily-brief-main {
    min-width: 0;
}

.dashboard-view-selector {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin: 0 0 18px;
    padding: 13px 16px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-soft);
}

.dashboard-view-selector > div:first-child {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.dashboard-view-selector strong {
    color: var(--silver);
    overflow-wrap: anywhere;
}

.dashboard-view-tabs {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    flex-wrap: wrap;
}

.dashboard-view-tabs button {
    cursor: pointer;
}

.dashboard-view-tabs button[aria-selected="true"] {
    border-color: var(--cyan);
    background: rgba(56, 189, 248, 0.14);
    color: var(--cyan);
}

.dashboard-region-heading {
    grid-column: 1 / -1;
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    margin: 4px 0 -6px;
    padding: 0 2px;
    color: var(--muted);
    flex-wrap: wrap;
}

.dashboard-region-heading span {
    color: var(--silver);
    font-size: 1rem;
    font-weight: 900;
}

.dashboard-region-heading strong {
    color: var(--muted);
    font-size: 0.82rem;
    font-weight: 750;
}

.dashboard-region-heading-secondary {
    margin: 8px 0 12px;
}

.pill,
.status-pill,
.threat-severity-badge,
.library-review-flag,
.candidate-label {
    max-width: 100%;
    min-width: 0;
    white-space: normal;
    overflow-wrap: anywhere;
    text-align: center;
}

.section-header,
.compact-section-header,
.collapsible-summary,
.dashboard-source-header,
.daily-brief-title-row,
.section-actions,
.candidate-actions,
.form-actions,
.top-actions,
.billing-month-form,
.threat-library-source-row,
.library-result-summary,
.pagination-bar,
.ttp-toolbar {
    flex-wrap: wrap;
}

.section-header > div,
.section-header h2,
.section-header h3,
.dashboard-card,
.dashboard-source-main,
.dashboard-list-item,
.dashboard-hunt-row,
.dashboard-kev-row,
.kev-row,
.edr-alert-row,
.dashboard-sigma-row,
.ttp-row,
.ttp-main {
    min-width: 0;
}

.section-header h2,
.section-header h3,
.dashboard-source-main strong,
.dashboard-source-main span,
.dashboard-source-main small,
.dashboard-list-item strong,
.dashboard-list-item span,
.dashboard-list-item small,
.dashboard-hunt-row strong,
.dashboard-hunt-row span,
.dashboard-hunt-row small,
.kev-title,
.kev-meta,
.kev-host-detail,
.edr-alert-row strong,
.edr-alert-row span,
.edr-alert-row small,
.dashboard-sigma-row span,
.dashboard-sigma-row small,
.ttp-main span,
.ttp-meta,
.library-card h3,
.daily-brief-card h3 {
    overflow-wrap: anywhere;
}

.dashboard-priority-list {
    max-height: none;
    min-height: 0;
    overflow: visible;
}

/* Threat Intelligence Dashboard · 1.1 Tacoma */
.threat-intelligence-dashboard-page .page {
    max-width: 1880px;
}

.ti-dashboard-header,
.ti-dashboard-filter,
.ti-dashboard-panel,
.ti-kpi-card {
    border: 1px solid rgba(174, 185, 200, 0.15);
    background: linear-gradient(145deg, rgba(14, 19, 28, 0.98), rgba(6, 9, 14, 0.97));
    box-shadow: 0 20px 48px rgba(0, 0, 0, 0.4);
}

.ti-dashboard-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 20px;
    margin-bottom: 12px;
    padding: 18px 20px;
    border-color: rgba(174, 185, 200, 0.16);
    border-radius: 12px;
    background:
        radial-gradient(circle at 15% -80%, rgba(34, 211, 238, 0.1), transparent 50%),
        linear-gradient(145deg, rgba(15, 20, 29, 0.99), rgba(6, 9, 14, 0.98));
}

.ti-dashboard-header h1 {
    margin: 3px 0 4px;
    color: #f8fafc;
    font-size: clamp(1.55rem, 2.7vw, 2.25rem);
}

.ti-dashboard-header p:last-child {
    margin: 0;
    color: #9fb0c3;
}

.ti-dashboard-actions,
.ti-dashboard-filter,
.ti-dashboard-panel > header,
.ti-kpi-card > div:first-child,
.ti-integration-list > div {
    display: flex;
    align-items: center;
    gap: 10px;
}

.ti-dashboard-actions {
    flex-wrap: wrap;
    justify-content: flex-end;
}

.ti-dashboard-filter {
    margin-bottom: 12px;
    padding: 11px 14px;
    border-radius: 10px;
}

.ti-dashboard-filter label {
    display: grid;
    grid-template-columns: auto minmax(130px, auto);
    align-items: center;
    gap: 8px;
    color: #9eacbd;
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.ti-dashboard-filter select,
.ti-dashboard-filter button {
    min-height: 38px;
    padding-block: 7px;
}

.ti-dashboard-filter select {
    color: #e6edf6;
    text-transform: none;
}

.ti-dashboard-updated {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    margin-left: auto;
    color: #8fa1b5;
    font-size: 0.75rem;
    white-space: nowrap;
}

.ti-kpi-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 12px;
}

.ti-kpi-card {
    --ti-tone: #38bdf8;
    position: relative;
    display: grid;
    gap: 16px;
    min-width: 0;
    min-height: 128px;
    padding: 17px 18px;
    overflow: hidden;
    border-radius: 10px;
    transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease;
}

.ti-kpi-card::before {
    position: absolute;
    top: 0;
    right: 13%;
    left: 13%;
    height: 1px;
    background: linear-gradient(90deg, transparent, var(--ti-tone), transparent);
    box-shadow: 0 0 14px var(--ti-tone);
    content: "";
    opacity: 0.82;
}

.ti-kpi-card:hover {
    border-color: color-mix(in srgb, var(--ti-tone) 42%, transparent);
    box-shadow: 0 22px 52px rgba(0, 0, 0, 0.48), 0 0 24px color-mix(in srgb, var(--ti-tone) 10%, transparent);
    transform: translateY(-1px);
}

.ti-tone-violet { --ti-tone: #a78bfa; }
.ti-tone-orange { --ti-tone: #f59e0b; }
.ti-tone-blue { --ti-tone: #3b82f6; }
.ti-tone-cyan { --ti-tone: #22d3ee; }

.ti-kpi-card > div:first-child {
    position: relative;
    z-index: 1;
    justify-content: space-between;
    color: #aab7c7;
    font-size: 0.76rem;
}

.ti-kpi-card > div:first-child span {
    font-weight: 850;
}

.ti-kpi-card > div:first-child small {
    color: #4ade80;
    font-weight: 800;
    white-space: nowrap;
}

.ti-kpi-card > strong {
    position: relative;
    z-index: 1;
    color: #f8fafc;
    font-size: clamp(2rem, 3.5vw, 2.8rem);
    line-height: 1;
}

.ti-kpi-orb {
    position: absolute;
    right: -28px;
    bottom: -40px;
    width: 132px;
    height: 132px;
    border: 28px solid var(--ti-tone);
    border-radius: 50%;
    opacity: 0.18;
    filter: drop-shadow(0 0 12px var(--ti-tone));
}

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

.ti-dashboard-panel {
    min-width: 0;
    padding: 16px;
    border-radius: 10px;
    transition: border-color 160ms ease, box-shadow 160ms ease;
}

.ti-dashboard-panel:hover {
    border-color: rgba(56, 216, 255, 0.24);
    box-shadow: 0 24px 54px rgba(0, 0, 0, 0.46);
}

.ti-dashboard-panel > header {
    justify-content: space-between;
    min-height: 42px;
    margin-bottom: 14px;
}

.ti-dashboard-panel > header > div:first-child {
    min-width: 0;
}

.ti-dashboard-panel h2 {
    margin: 2px 0 0;
    color: #edf3fa;
    font-size: 1rem;
}

.ti-panel-kicker {
    color: #74869a;
    font-size: 0.65rem;
    font-weight: 900;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

.ti-panel-threats,
.ti-panel-malware,
.ti-panel-composition,
.ti-panel-confidence,
.ti-panel-graph { grid-column: span 6; }
.ti-panel-trend { grid-column: span 8; }
.ti-panel-attack { grid-column: span 4; }
.ti-panel-vulnerabilities,
.ti-panel-health { grid-column: span 3; }

.ti-ranking-list,
.ti-attack-list,
.ti-chart-list,
.ti-provider-list,
.ti-vulnerability-list,
.ti-integration-list {
    display: grid;
    gap: 8px;
}

.ti-ranking-row {
    display: grid;
    grid-template-columns: 26px minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    min-width: 0;
    padding: 8px 9px;
    border: 1px solid transparent;
    border-radius: 7px;
    color: #dbe5f0;
}

.ti-ranking-row:hover,
.ti-ranking-row:focus-visible {
    border-color: rgba(34, 211, 238, 0.3);
    background: rgba(34, 211, 238, 0.07);
    outline: none;
}

.ti-rank-number {
    color: #6f8298;
    font-size: 0.72rem;
    font-weight: 900;
    text-align: center;
}

.ti-rank-main {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 2px 12px;
    min-width: 0;
}

.ti-rank-main strong,
.ti-rank-main small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ti-rank-main strong { font-size: 0.8rem; }
.ti-rank-main small { color: #8293a7; font-size: 0.68rem; }
.ti-rank-main progress { grid-column: 1 / -1; }
.ti-rank-value { color: var(--chart-cyan, #45e8ff); font-size: 0.76rem; font-weight: 900; text-shadow: 0 0 12px rgba(69, 232, 255, 0.22); }
.ti-ranking-list-orange .ti-rank-value { color: var(--chart-amber, #ffc247); text-shadow: 0 0 12px rgba(255, 194, 71, 0.18); }

.ti-dashboard-panel progress {
    width: 100%;
    height: 6px;
    overflow: hidden;
    border: 0;
    border-radius: 999px;
    background: rgba(148, 163, 184, 0.12);
}

.ti-dashboard-panel progress::-webkit-progress-bar { background: rgba(148, 163, 184, 0.12); }
.ti-dashboard-panel progress::-webkit-progress-value { border-radius: 999px; background: linear-gradient(90deg, #0891b2, #22d3ee); }
.ti-dashboard-panel progress::-moz-progress-bar { border-radius: 999px; background: linear-gradient(90deg, #0891b2, #22d3ee); }
.ti-ranking-list-orange progress::-webkit-progress-value,
.ti-panel-attack progress::-webkit-progress-value { background: linear-gradient(90deg, #c2410c, #f59e0b); }
.ti-ranking-list-orange progress::-moz-progress-bar,
.ti-panel-attack progress::-moz-progress-bar { background: linear-gradient(90deg, #c2410c, #f59e0b); }

.ti-trend-summary {
    display: grid;
    text-align: right;
}

.ti-trend-summary strong { color: var(--chart-cyan, #45e8ff); font-size: 1.15rem; text-shadow: 0 0 15px rgba(69, 232, 255, 0.25); }
.ti-trend-summary span { color: #7f90a3; font-size: 0.68rem; }

.ti-line-chart {
    position: relative;
    min-height: 255px;
    padding-top: 8px;
}

.ti-line-chart svg {
    display: block;
    width: 100%;
    height: 220px;
    overflow: visible;
}

.ti-line-chart svg line {
    stroke: rgba(148, 163, 184, 0.14);
    stroke-width: 1;
    vector-effect: non-scaling-stroke;
}

.ti-line-chart svg polyline {
    fill: none;
    stroke: var(--chart-cyan, #45e8ff);
    stroke-width: 3;
    stroke-linecap: round;
    stroke-linejoin: round;
    vector-effect: non-scaling-stroke;
    filter: drop-shadow(0 0 6px rgba(69, 232, 255, 0.5));
}

.ti-chart-maximum {
    position: absolute;
    top: 4px;
    left: 0;
    color: #718298;
    font-size: 0.65rem;
}

.ti-chart-ticks {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    color: #718298;
    font-size: 0.66rem;
}

.ti-attack-list > a {
    display: grid;
    grid-template-columns: minmax(120px, 1fr) minmax(60px, 0.8fr) 28px;
    align-items: center;
    gap: 10px;
    min-width: 0;
    padding: 7px 0;
    color: #dbe5ef;
}

.ti-attack-list > a > span { display: grid; min-width: 0; }
.ti-attack-list strong { color: #f59e0b; font-size: 0.78rem; }
.ti-attack-list small { overflow: hidden; color: #8293a7; font-size: 0.68rem; text-overflow: ellipsis; white-space: nowrap; }
.ti-attack-list b { color: #dbe5ef; font-size: 0.75rem; text-align: right; }

.ti-chart-list > div,
.ti-provider-list > div {
    display: grid;
    grid-template-columns: minmax(110px, 0.8fr) minmax(90px, 1.5fr) auto;
    align-items: center;
    gap: 10px;
    color: #b9c6d5;
    font-size: 0.75rem;
}

.ti-chart-list strong,
.ti-provider-list strong {
    color: #edf3fa;
    font-variant-numeric: tabular-nums;
    text-align: right;
}

.ti-confidence-list progress::-webkit-progress-value { background: linear-gradient(90deg, #6d28d9, #a78bfa); }
.ti-confidence-list progress::-moz-progress-bar { background: linear-gradient(90deg, #6d28d9, #a78bfa); }

.ti-marking-strip {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    margin-top: 16px;
}

.ti-marking-strip span {
    display: flex;
    justify-content: space-between;
    gap: 8px;
    padding: 9px;
    border: 1px solid rgba(148, 163, 184, 0.13);
    border-radius: 7px;
    color: #8fa0b4;
    font-size: 0.72rem;
}

.ti-marking-strip strong { color: #dce5ef; }

.ti-graph-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    margin-bottom: 16px;
}

.ti-graph-metrics > div {
    display: grid;
    gap: 4px;
    padding: 12px;
    border: 1px solid rgba(56, 189, 248, 0.16);
    border-radius: 8px;
    background: rgba(56, 189, 248, 0.045);
}

.ti-graph-metrics span { color: #8091a5; font-size: 0.66rem; text-transform: uppercase; }
.ti-graph-metrics strong { color: #e9f1f9; font-size: 1.2rem; }

.ti-vulnerability-list a {
    display: grid;
    gap: 3px;
    min-width: 0;
    padding: 9px;
    border-left: 2px solid #f59e0b;
    border-radius: 0 7px 7px 0;
    background: rgba(245, 158, 11, 0.055);
}

.ti-vulnerability-list strong { overflow: hidden; color: #dce5ef; font-size: 0.75rem; text-overflow: ellipsis; white-space: nowrap; }
.ti-vulnerability-list span { color: #8c9caf; font-size: 0.67rem; }

.ti-integration-list > div {
    justify-content: flex-start;
    min-width: 0;
    padding: 9px 0;
    border-bottom: 1px solid rgba(148, 163, 184, 0.12);
}

.ti-integration-list > div:last-child { border-bottom: 0; }
.ti-integration-list > div > span:nth-child(2) { display: grid; min-width: 0; margin-right: auto; }
.ti-integration-list strong,
.ti-integration-list small { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.ti-integration-list strong { color: #dce5ef; font-size: 0.76rem; }
.ti-integration-list small { color: #8394a8; font-size: 0.66rem; }

html[data-theme="light"] .ti-dashboard-header,
html[data-theme="light"] .ti-dashboard-filter,
html[data-theme="light"] .ti-dashboard-panel,
html[data-theme="light"] .ti-kpi-card {
    border-color: rgba(47, 95, 158, 0.2);
    background: linear-gradient(145deg, rgba(250, 252, 255, 0.97), rgba(229, 237, 246, 0.94));
    box-shadow: 0 16px 38px rgba(31, 41, 55, 0.11);
}

html[data-theme="light"] .ti-dashboard-header {
    background: radial-gradient(circle at 15% -80%, rgba(34, 211, 238, 0.23), transparent 50%), linear-gradient(145deg, #f4f8fc, #dfeaf4);
}

html[data-theme="light"] .ti-dashboard-header h1,
html[data-theme="light"] .ti-dashboard-panel h2,
html[data-theme="light"] .ti-kpi-card > strong,
html[data-theme="light"] .ti-chart-list strong,
html[data-theme="light"] .ti-provider-list strong,
html[data-theme="light"] .ti-graph-metrics strong,
html[data-theme="light"] .ti-ranking-row,
html[data-theme="light"] .ti-vulnerability-list strong,
html[data-theme="light"] .ti-integration-list strong { color: #10233f; }

html[data-theme="light"] .ti-dashboard-header p:last-child,
html[data-theme="light"] .ti-dashboard-filter label,
html[data-theme="light"] .ti-dashboard-updated,
html[data-theme="light"] .ti-chart-list > div,
html[data-theme="light"] .ti-provider-list > div { color: #536a85; }

html[data-theme="light"] .ti-dashboard-filter select { color: #10233f; }
html[data-theme="light"] .ti-marking-strip strong { color: #17314f; }
html[data-theme="light"] .ti-graph-metrics > div { background: rgba(47, 95, 158, 0.06); }

@media (max-width: 1250px) {
    .ti-panel-trend,
    .ti-panel-attack { grid-column: span 12; }
    .ti-panel-vulnerabilities,
    .ti-panel-health { grid-column: span 6; }
}

@media (max-width: 900px) {
    .ti-kpi-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ti-panel-threats,
    .ti-panel-malware,
    .ti-panel-composition,
    .ti-panel-confidence,
    .ti-panel-graph,
    .ti-panel-vulnerabilities,
    .ti-panel-health { grid-column: span 12; }
    .ti-dashboard-filter { align-items: stretch; flex-wrap: wrap; }
    .ti-dashboard-updated { width: 100%; margin-left: 0; }
}

@media (max-width: 620px) {
    .ti-dashboard-header { align-items: flex-start; flex-direction: column; }
    .ti-dashboard-actions { justify-content: flex-start; }
    .ti-kpi-grid { grid-template-columns: 1fr; }
    .ti-dashboard-filter label { grid-template-columns: 1fr; width: 100%; }
    .ti-dashboard-filter select { width: 100%; }
    .ti-graph-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .ti-rank-main { grid-template-columns: 1fr; }
    .ti-rank-main small { grid-row: 2; }
    .ti-chart-list > div,
    .ti-provider-list > div { grid-template-columns: minmax(90px, 1fr) minmax(70px, 1fr) auto; }
}

/* Shared severity language: distinct, theme-aware, and consistent across workflows. */
:root {
    --severity-critical-border: #ff5874;
    --severity-critical-bg: #3a101a;
    --severity-critical-text: #ff9bae;
    --severity-high-border: #f58a3a;
    --severity-high-bg: #351c0c;
    --severity-high-text: #ffbd8f;
    --severity-medium-border: #d9aa28;
    --severity-medium-bg: #30270d;
    --severity-medium-text: #ffe08a;
    --severity-low-border: #35b779;
    --severity-low-bg: #0d2d20;
    --severity-low-text: #89f4b5;
    --severity-neutral-border: #4aaee8;
    --severity-neutral-bg: #0d2636;
    --severity-neutral-text: #8bd7ff;
}

html[data-theme="light"] {
    --severity-critical-border: #d94a65;
    --severity-critical-bg: #fde8ed;
    --severity-critical-text: #8f1730;
    --severity-high-border: #e8762a;
    --severity-high-bg: #ffeadb;
    --severity-high-text: #843706;
    --severity-medium-border: #d1a113;
    --severity-medium-bg: #fff3c4;
    --severity-medium-text: #6b5000;
    --severity-low-border: #35a873;
    --severity-low-bg: #e1f7ec;
    --severity-low-text: #12613e;
    --severity-neutral-border: #3d91c5;
    --severity-neutral-bg: #e4f2fb;
    --severity-neutral-text: #15577d;
}

.severity-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    gap: 6px;
    width: fit-content;
    min-height: 24px;
    padding: 3px 8px;
    border: 1px solid var(--severity-neutral-border);
    border-radius: 999px;
    background: var(--severity-neutral-bg);
    color: var(--severity-neutral-text);
    font-size: 11px;
    font-weight: 900;
    line-height: 1.2;
    text-transform: capitalize;
    white-space: nowrap;
}

:is(.severity-badge, .vulnerability-badge[class*="severity-"], .threat-severity-badge, .capability-badge[class*="triage-severity-"])::before {
    content: "";
    flex: 0 0 6px;
    width: 6px;
    height: 6px;
    border-radius: 999px;
    background: currentColor;
    box-shadow: 0 0 0 2px color-mix(in srgb, currentColor 20%, transparent);
}

html :is(.severity-badge.severity-critical, .vulnerability-badge.severity-critical, .capability-badge.triage-severity-critical, .threat-severity-badge.threat-severity-critical),
html .threat-severity-critical .status-pill {
    border-color: var(--severity-critical-border);
    background: var(--severity-critical-bg);
    color: var(--severity-critical-text);
}

html :is(.severity-badge.severity-high, .vulnerability-badge.severity-high, .capability-badge.triage-severity-high, .threat-severity-badge.threat-severity-high),
html .threat-severity-high .status-pill {
    border-color: var(--severity-high-border);
    background: var(--severity-high-bg);
    color: var(--severity-high-text);
}

html :is(.severity-badge.severity-medium, .severity-badge.severity-med, .vulnerability-badge.severity-medium, .vulnerability-badge.severity-med, .capability-badge.triage-severity-medium, .capability-badge.triage-severity-med, .threat-severity-badge.threat-severity-medium, .threat-severity-badge.threat-severity-med),
html :is(.threat-severity-medium, .threat-severity-med) .status-pill {
    border-color: var(--severity-medium-border);
    background: var(--severity-medium-bg);
    color: var(--severity-medium-text);
}

html :is(.severity-badge.severity-low, .vulnerability-badge.severity-low, .capability-badge.triage-severity-low, .threat-severity-badge.threat-severity-low),
html .threat-severity-low .status-pill {
    border-color: var(--severity-low-border);
    background: var(--severity-low-bg);
    color: var(--severity-low-text);
}

html :is(.severity-badge.severity-informational, .severity-badge.severity-info, .severity-badge.severity-unknown, .vulnerability-badge.severity-informational, .vulnerability-badge.severity-info, .vulnerability-badge.severity-unknown, .capability-badge.triage-severity-informational, .threat-severity-badge.threat-severity-info),
html :is(.threat-severity-informational, .threat-severity-info) .status-pill {
    border-color: var(--severity-neutral-border);
    background: var(--severity-neutral-bg);
    color: var(--severity-neutral-text);
}

/* EASM exposure operations UX pass. */
.easm-ops-section .section-header > div {
    display: grid;
    gap: 4px;
}

.section-helper {
    margin: 0;
    max-width: 860px;
    color: var(--muted);
    font-size: 0.86rem;
    font-weight: 650;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.easm-module-nav .section-body {
    display: grid;
    gap: 0;
}

.easm-module-card-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 10px;
}

.easm-module-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-content: start;
    gap: 5px 10px;
    min-width: 0;
    min-height: 86px;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-soft);
    color: var(--text);
    text-decoration: none;
}

.easm-module-card:hover,
.easm-module-card:focus-visible {
    border-color: var(--cyan);
    color: var(--silver);
    outline: 3px solid rgba(var(--cyan-rgb), 0.22);
    outline-offset: 2px;
}

.easm-module-card[aria-selected="true"],
.easm-module-card[aria-current="page"] {
    border-color: rgba(var(--cyan-rgb), 0.62);
    background: rgba(var(--cyan-rgb), 0.12);
}

.easm-module-card-label {
    min-width: 0;
    color: var(--silver);
    font-size: 0.86rem;
    font-weight: 900;
    line-height: 1.2;
    overflow-wrap: anywhere;
}

.easm-module-card small {
    grid-column: 1 / -1;
    min-width: 0;
    color: var(--muted);
    font-size: 0.74rem;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.easm-module-card strong {
    justify-self: end;
    max-width: 100%;
    padding: 3px 8px;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    color: var(--cyan);
    font-size: 0.72rem;
    line-height: 1.2;
    text-align: center;
    overflow-wrap: anywhere;
}

.easm-priority-workspace {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 360px);
    gap: 16px;
    align-items: start;
}

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

.easm-priority-card,
.easm-readiness-panel,
.easm-publication-card {
    min-width: 0;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-soft);
}

.easm-priority-card {
    display: grid;
    align-content: start;
    gap: 8px;
    min-height: 128px;
    padding: 14px;
    color: var(--text);
    text-decoration: none;
}

.easm-priority-card:hover,
.easm-priority-card:focus-visible {
    border-color: var(--cyan);
    outline: 3px solid rgba(var(--cyan-rgb), 0.22);
    outline-offset: 2px;
}

.easm-priority-card span,
.easm-readiness-list span,
.easm-field-label {
    color: var(--muted);
    font-size: 0.68rem;
    font-weight: 900;
    letter-spacing: 0;
    line-height: 1.25;
    text-transform: uppercase;
}

.easm-priority-card strong {
    color: var(--silver);
    font-size: 2rem;
    line-height: 1;
}

.easm-priority-card small,
.easm-readiness-list strong {
    color: var(--muted);
    font-size: 0.78rem;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.easm-priority-card.is-critical {
    border-color: rgba(239, 68, 68, 0.55);
    background: rgba(239, 68, 68, 0.1);
}

.easm-priority-card.is-warning {
    border-color: rgba(245, 158, 11, 0.58);
    background: rgba(245, 158, 11, 0.1);
}

.easm-readiness-panel {
    display: grid;
    gap: 10px;
    padding: 14px;
    position: sticky;
    top: 78px;
}

.easm-readiness-list {
    display: grid;
    gap: 8px;
}

.easm-readiness-list > div {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
    min-width: 0;
    padding: 9px 10px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.04);
}

.easm-readiness-list > div::before {
    content: "";
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: var(--warning);
    grid-row: 1 / span 2;
}

.easm-readiness-list > div.is-ready::before {
    background: var(--success);
}

.easm-readiness-list > div.needs-work::before {
    background: var(--warning);
}

.easm-readiness-list span {
    min-width: 0;
}

.easm-readiness-list strong {
    justify-self: end;
    min-width: 0;
    color: var(--silver);
    text-align: right;
}

.easm-field-label {
    display: block;
    margin-bottom: 4px;
}

.easm-row-action-group {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 6px;
    min-width: 0;
}

.easm-row-action-group form {
    display: inline-flex;
    margin: 0;
}

.easm-row-action-group .compact-button,
.easm-row-action-group button {
    min-height: 34px;
    white-space: normal;
}

.vulnerability-page .workflow-top-actions > a {
    flex: 0 0 auto;
    min-width: max-content;
    white-space: nowrap;
}

.easm-triage-actions .easm-row-action-group,
.easm-exposure-actions .easm-row-action-group {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    width: 100%;
}

.easm-triage-actions .easm-row-action-group > *,
.easm-exposure-actions .easm-row-action-group > *,
.easm-triage-actions .easm-row-action-group button,
.easm-exposure-actions .easm-row-action-group button,
.easm-triage-actions .easm-row-action-group .secondary-button,
.easm-exposure-actions .easm-row-action-group .secondary-button {
    width: 100%;
    min-width: 0;
}

.easm-publication-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 14px;
    align-items: center;
    padding: 14px;
}

.easm-publication-card h3 {
    margin: 0 0 6px;
    color: var(--silver);
}

.easm-detector-details {
    margin-top: 14px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.025);
}

.easm-detector-details > summary {
    padding: 12px 14px;
}

.easm-detector-details .section-body {
    padding: 0 14px 14px;
}

.external-kev-summary-grid {
    margin: 0;
}

.external-kev-filter-strip {
    grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
    align-items: end;
    margin-bottom: 16px;
}

.external-kev-filter-strip button,
.external-kev-filter-strip .secondary-button {
    min-height: 40px;
}

.easm-triage-row,
.easm-exposure-item {
    align-items: start;
    min-height: 0;
}

.easm-triage-main h3,
.easm-triage-main p,
.easm-triage-context strong,
.easm-triage-context span,
.easm-triage-meta strong,
.easm-triage-meta span,
.easm-triage-meta small,
.easm-triage-actions small,
.easm-exposure-title-row h3,
.easm-exposure-main p,
.easm-exposure-asset strong,
.easm-exposure-asset span,
.easm-exposure-score small,
.kev-detail-grid strong,
.kev-detail-block p,
.admin-table td,
.admin-table th {
    min-width: 0;
    white-space: normal;
    overflow: visible;
    overflow-wrap: anywhere;
    text-overflow: clip;
}

.easm-triage-title-row,
.easm-exposure-title-row,
.easm-exposure-actions,
.hearth-dashboard-signals-header,
.hearth-dashboard-signal .hearth-card-badges {
    flex-wrap: wrap;
}

.easm-exposure-score {
    justify-items: start;
    text-align: left;
}

.easm-exposure-actions {
    display: grid;
    justify-items: end;
    gap: 8px;
}

@media (max-width: 1180px) {
    .easm-priority-workspace,
    .easm-priority-queue {
        grid-template-columns: 1fr;
    }

    .easm-readiness-panel {
        position: static;
    }

    .easm-publication-card {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .easm-module-card-list {
        grid-template-columns: 1fr;
    }

    .easm-row-action-group,
    .easm-exposure-actions {
        justify-content: flex-start;
        justify-items: start;
    }

    .easm-row-action-group .compact-button,
    .easm-row-action-group button,
    .external-kev-filter-strip button {
        width: 100%;
    }
}

@media (max-width: 1100px) {
    .compact-workflow-header {
        grid-template-columns: 1fr;
    }

    .workflow-step-strip,
    .workflow-breadcrumb {
        justify-content: flex-start;
    }
}

@media (max-width: 760px) {
    .dashboard-view-selector,
    .dashboard-region-heading {
        align-items: stretch;
        flex-direction: column;
    }

    .dashboard-view-tabs,
    .workflow-step-strip,
    .workflow-top-actions {
        justify-content: flex-start;
    }

    .cti-intake-action-grid {
        grid-template-columns: 1fr;
    }

    .workflow-step-strip a,
    .workflow-step-strip span,
    .dashboard-view-tabs button {
        width: 100%;
    }
}



html[data-theme="light"] {
    color-scheme: light;
    --bg: #e7ecf3;
    --bg-rgb: 231, 236, 243;
    --bg-lift: #dce3ec;
    --surface: #f3f6f9;
    --surface-strong: #edf2f7;
    --surface-soft: #e5ebf3;
    --surface-panel: linear-gradient(180deg, #f5f8fb, #eaf0f6);
    --sidebar-bg: #eef2f7;
    --tooltip-bg: #f4f7fa;
    --border: #b8c4d2;
    --border-strong: #8b9bad;
    --text: #111827;
    --muted: #3f4b59;
    --soft: #536273;
    --cyan: #2f5f9e;
    --cyan-rgb: 47, 95, 158;
    --cyan-strong: #244a7c;
    --cyan-strong-rgb: 36, 74, 124;
    --cyan-soft: #dce5f2;
    --silver: #18202a;
    --warning: #b7791f;
    --warning-bg: #fff7e6;
    --danger: #b93838;
    --code-bg: #e8eef5;
    --code-text: #18202a;
    --button-text: #ffffff;
    --shadow: 0 14px 32px rgba(31, 41, 55, 0.11);
    --glow: 0 0 0 3px rgba(47, 95, 158, 0.08);
    --brand-glow: none;
}

html[data-theme="light"] body {
    background:
        linear-gradient(180deg, rgba(120, 137, 156, 0.22) 0, rgba(var(--bg-rgb), 0) 340px),
        radial-gradient(circle at 50% -20%, rgba(var(--cyan-rgb), 0.08), rgba(var(--bg-rgb), 0) 360px),
        var(--bg);
}

html[data-theme="light"] .app-sidebar {
    background: var(--sidebar-bg);
    border-right-color: var(--border);
    box-shadow: none;
}

html[data-theme="light"] .sidebar-link {
    color: var(--text);
}

html[data-theme="light"] .sidebar-link:hover,
html[data-theme="light"] .sidebar-link:focus-visible,
html[data-theme="light"] .sidebar-group[open] > summary.sidebar-link {
    background: var(--cyan-soft);
    color: var(--cyan-strong);
}

html[data-theme="light"] .topbar {
    padding: 0 0 18px;
    border-bottom: 1px solid var(--border);
}

html[data-theme="light"] .brand-title {
    color: var(--text);
}

html[data-theme="light"] .brand-subtitle,
html[data-theme="light"] .eyebrow {
    color: var(--cyan);
}

html[data-theme="light"] .status-dot {
    background: #2f5f9e;
    box-shadow: 0 0 0 5px rgba(47, 95, 158, 0.14), 0 0 18px rgba(47, 95, 158, 0.22);
}

html[data-theme="light"] .top-account-menu summary,
html[data-theme="light"] .top-settings-menu summary,
html[data-theme="light"] .top-help-trigger,
html[data-theme="light"] .theme-toggle-button,
html[data-theme="light"] .status-pill,
html[data-theme="light"] .back-link,
html[data-theme="light"] .secondary-button,
html[data-theme="light"] .settings-all-link,
html[data-theme="light"] .top-help-link {
    background: #eef3f8;
    border-color: var(--border-strong);
    color: var(--text);
    box-shadow: 0 8px 20px rgba(31, 41, 55, 0.08);
}

html[data-theme="light"] .top-account-menu summary:hover,
html[data-theme="light"] .top-settings-menu summary:hover,
html[data-theme="light"] .top-help-trigger:hover,
html[data-theme="light"] .theme-toggle-button:hover,
html[data-theme="light"] .status-pill:hover,
html[data-theme="light"] .back-link:hover,
html[data-theme="light"] .secondary-button:hover,
html[data-theme="light"] .settings-all-link:hover,
html[data-theme="light"] .top-help-link:hover {
    border-color: var(--cyan);
    color: var(--cyan);
}

html[data-theme="light"] .hero-main,
html[data-theme="light"] .panel,
html[data-theme="light"] .section,
html[data-theme="light"] .list-panel,
html[data-theme="light"] .summary-panel,
html[data-theme="light"] .guide-panel,
html[data-theme="light"] .builder-panel,
html[data-theme="light"] .query-panel,
html[data-theme="light"] .settings-card,
html[data-theme="light"] .dashboard-card,
html[data-theme="light"] .report-card {
    background: var(--surface-panel);
    border-color: var(--border);
    box-shadow: var(--shadow);
    backdrop-filter: none;
}

html[data-theme="light"] .hero-main::before {
    border-top-color: rgba(var(--cyan-rgb), 0.35);
    background: linear-gradient(110deg, rgba(var(--cyan-rgb), 0.08), rgba(255, 255, 255, 0) 45%);
}

html[data-theme="light"] .panel-header,
html[data-theme="light"] .section-header,
html[data-theme="light"] .list-panel h2 {
    background: #e6edf5;
    border-bottom-color: var(--border);
}

html[data-theme="light"] h1,
html[data-theme="light"] h2,
html[data-theme="light"] h3,
html[data-theme="light"] h4,
html[data-theme="light"] .scope-value,
html[data-theme="light"] .value,
html[data-theme="light"] .summary-value,
html[data-theme="light"] .top-help-panel a,
html[data-theme="light"] .top-help-panel button {
    color: var(--text);
}

html[data-theme="light"] .hero-copy,
html[data-theme="light"] .panel-header p,
html[data-theme="light"] .hint,
html[data-theme="light"] #technique_search_status,
html[data-theme="light"] .muted,
html[data-theme="light"] .summary-value.empty {
    color: var(--muted);
}

html[data-theme="light"] .context-item,
html[data-theme="light"] .summary-row,
html[data-theme="light"] .metric,
html[data-theme="light"] .guide-list li,
html[data-theme="light"] .scope-list li,
html[data-theme="light"] .empty-state,
html[data-theme="light"] .confidence-context,
html[data-theme="light"] .quick-action-card,
html[data-theme="light"] .dashboard-list-item,
html[data-theme="light"] .compact-dashboard-list a,
html[data-theme="light"] .edr-alert-row,
html[data-theme="light"] .ttp-row,
html[data-theme="light"] .feed-issue-item {
    background: var(--surface-soft);
    border-color: var(--border);
    box-shadow: none;
}

html[data-theme="light"] .confidence-context.confidence-low,
html[data-theme="light"] .context-grid .confidence-context.confidence-low {
    border-color: rgba(100, 116, 139, 0.5);
    background: rgba(100, 116, 139, 0.08);
    color: #334155;
}

html[data-theme="light"] .confidence-context.confidence-high,
html[data-theme="light"] .context-grid .confidence-context.confidence-high {
    border-color: rgba(185, 56, 56, 0.76);
    background: rgba(185, 56, 56, 0.08);
    color: #8f2d2d;
}

html[data-theme="light"] .confidence-context.confidence-medium,
html[data-theme="light"] .context-grid .confidence-context.confidence-medium {
    border-color: rgba(183, 121, 31, 0.76);
    background: rgba(183, 121, 31, 0.1);
    color: #8a5a16;
}

html[data-theme="light"] select,
html[data-theme="light"] input,
html[data-theme="light"] textarea {
    background: #eef3f8;
    border-color: #9eacbb;
    color: var(--text);
}

html[data-theme="light"] select:disabled,
html[data-theme="light"] input:disabled,
html[data-theme="light"] textarea:disabled {
    background: #dde6ef;
    color: var(--soft);
}

html[data-theme="light"] option {
    background: #eef3f8;
    color: var(--text);
}

html[data-theme="light"] .top-account-panel,
html[data-theme="light"] .top-settings-panel,
html[data-theme="light"] .top-help-panel,
html[data-theme="light"] .ttp-context-menu,
html[data-theme="light"] [class$="context-menu"] {
    background: #eef3f8;
    border-color: var(--border-strong);
    box-shadow: 0 18px 45px rgba(24, 32, 42, 0.18);
    backdrop-filter: none;
}

html[data-theme="light"] .top-account-panel a,
html[data-theme="light"] .settings-menu-column a,
html[data-theme="light"] .metric-value,
html[data-theme="light"] .pill,
html[data-theme="light"] .step-number {
    color: var(--cyan);
}

html[data-theme="light"] .hero .metric-value,
html[data-theme="light"] .candidate-label,
html[data-theme="light"] .candidate-score {
    color: #244a7c;
}

html[data-theme="light"] .candidate-score {
    border-color: rgba(47, 95, 158, 0.34);
    background: rgba(47, 95, 158, 0.08);
    box-shadow: none;
}

html[data-theme="light"] .generated-hunt-hero-actions .primary-link,
html[data-theme="light"] .generated-hunt-hero-actions button:not(.secondary-button),
html[data-theme="light"] .saved-hunt-hero-actions .primary-link,
html[data-theme="light"] .saved-hunt-hero-actions button:not(.secondary-button) {
    border-color: rgba(47, 95, 158, 0.62);
    background: linear-gradient(135deg, #2f5f9e, #244a7c);
    color: #ffffff;
    box-shadow: 0 14px 30px rgba(36, 74, 124, 0.18);
}

html[data-theme="light"] .pill,
html[data-theme="light"] .step-number,
html[data-theme="light"] .sigma-source-tag {
    background: var(--cyan-soft);
    border-color: rgba(var(--cyan-rgb), 0.35);
}

html[data-theme="light"] table,
html[data-theme="light"] .table-wrap {
    background: #eef3f8;
}

html[data-theme="light"] th {
    background: #dfe7f0;
    color: var(--muted);
}

html[data-theme="light"] td {
    border-bottom-color: #cbd6e2;
}

html[data-theme="light"] code,
html[data-theme="light"] pre {
    background: var(--code-bg);
    color: var(--code-text);
}

html[data-theme="light"] .input-warning {
    color: var(--text);
}

html[data-theme="light"] .reset-filter-button {
    background: #fff7e6 !important;
    color: var(--warning) !important;
    box-shadow: none !important;
}

html[data-theme="light"] .danger-button {
    color: var(--danger) !important;
}

* {
    box-sizing: border-box;
}


[hidden] {
    display: none !important;
}

body {
    margin: 0;
    min-height: 100vh;
    background:
        linear-gradient(180deg, rgba(var(--cyan-strong-rgb), 0.16) 0, rgba(var(--bg-rgb), 0) 340px),
        radial-gradient(circle at 50% -20%, rgba(var(--cyan-rgb), 0.22), rgba(var(--bg-rgb), 0) 360px),
        var(--bg);
    color: var(--text);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
    line-height: 1.5;
}

a {
    color: inherit;
    text-decoration: none;
}

.page {
    width: min(1180px, calc(100% - 40px));
    margin: 0 auto;
    padding: 28px 0 52px;
}

.topbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 28px;
}

.brand {
    display: flex;
    align-items: center;
    gap: 14px;
    min-width: 0;
    border-radius: 8px;
}

.brand:hover .brand-title,
.brand:focus-visible .brand-title {
    color: var(--cyan);
}

.brand:focus-visible {
    outline: 2px solid var(--cyan);
    outline-offset: 6px;
}


.brand-logo {
    width: 48px;
    height: 48px;
    object-fit: contain;
    filter: var(--brand-glow);
}

.brand-title {
    margin: 0;
    color: var(--silver);
    font-size: 16px;
    font-weight: 800;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.brand-subtitle {
    margin: 2px 0 0;
    color: var(--cyan);
    font-size: 13px;
    font-weight: 750;
    letter-spacing: 0.26em;
    text-transform: uppercase;
}

.top-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}


.top-account-menu,
.top-settings-menu,
.top-help-menu {
    position: relative;
    display: inline-flex;
    flex: 0 0 auto;
}

.top-account-menu summary,
.top-settings-menu summary,
.top-help-trigger,
.theme-toggle-button {
    appearance: none;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 40px;
    padding: 7px 11px;
    border: 1px solid var(--border-strong);
    border-radius: 8px;
    background: var(--cyan-soft);
    color: var(--silver);
    cursor: pointer;
    max-width: 100%;
    min-width: 0;
    font-size: 13px;
    font-weight: 850;
    line-height: 1.2;
    text-align: center;
    list-style: none;
    white-space: nowrap;
    overflow-wrap: anywhere;
}

.top-help-menu {
    position: relative;
}

.theme-toggle-button {
    flex: 0 0 auto;
    font: inherit;
    box-shadow: none;
}

.theme-toggle-button[aria-pressed="true"] {
    border-color: var(--cyan);
    color: var(--cyan);
}


.top-help-panel[hidden] {
    display: none;
}

.top-help-panel {
    position: absolute;
    right: 0;
    top: calc(100% + 8px);
    z-index: 70;
    display: grid;
    gap: 6px;
    width: 220px;
    padding: 10px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--tooltip-bg);
    box-shadow: var(--shadow);
}

.top-help-link {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 40px;
    padding: 7px 11px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: rgba(148, 163, 184, 0.08);
    max-width: 100%;
    min-width: 0;
    color: var(--silver);
    font-size: 13px;
    font-weight: 850;
    line-height: 1.2;
    text-align: center;
    white-space: normal;
    overflow-wrap: anywhere;
}

.top-help-link:hover,
.top-help-link:focus {
    border-color: var(--cyan);
    color: var(--cyan);
}

.top-account-menu summary::-webkit-details-marker,
.top-settings-menu summary::-webkit-details-marker {
    display: none;
}

.top-account-panel {
    position: absolute;
    right: 0;
    top: calc(100% + 8px);
    z-index: 60;
    display: grid;
    gap: 8px;
    width: 230px;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--tooltip-bg);
    box-shadow: var(--shadow);
}

.top-account-panel a {
    padding: 7px 0;
    color: var(--cyan);
    font-size: 13px;
    font-weight: 800;
}

.top-help-panel a,
.top-help-panel button {
    display: flex;
    align-items: center;
    justify-content: flex-start;
    width: 100%;
    min-height: 34px;
    padding: 7px 9px;
    border: 0;
    border-radius: 7px;
    background: transparent;
    color: var(--silver);
    font: inherit;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.25;
    text-align: left;
    cursor: pointer;
}

.top-help-panel a:hover,
.top-help-panel a:focus-visible,
.top-help-panel button:hover,
.top-help-panel button:focus-visible {
    background: rgba(var(--cyan-rgb), 0.13);
    color: var(--cyan);
    outline: none;
}

.top-settings-panel {
    position: absolute;
    right: 0;
    top: calc(100% + 8px);
    z-index: 70;
    display: grid;
    gap: 8px;
    width: min(380px, calc(100vw - 48px));
    padding: 10px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--tooltip-bg);
    box-shadow: var(--shadow);
}

.settings-all-link {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    min-height: 28px;
    padding: 4px 8px;
    border: 1px solid var(--border);
    border-radius: 8px;
    color: var(--silver);
    font-size: 12px;
    font-weight: 850;
}

.settings-all-link:hover,
.settings-all-link:focus-visible {
    border-color: var(--cyan);
    color: var(--cyan);
    outline: none;
}

.settings-menu-grid {
    display: grid;
    grid-template-columns: minmax(136px, 0.95fr) minmax(148px, 1.05fr);
    gap: 12px;
}

.settings-menu-column {
    display: grid;
    align-content: start;
    gap: 4px;
}

.settings-menu-column p {
    margin: 0 0 1px;
    color: var(--muted);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 0;
    padding-bottom: 2px;
    border-bottom: 1px solid rgba(var(--cyan-rgb), 0.28);
    text-transform: uppercase;
}

.settings-menu-column p:not(:first-child) {
    margin-top: 6px;
}

.settings-menu-column a {
    color: var(--cyan);
    font-size: 12px;
    font-weight: 800;
    line-height: 1.2;
}

.settings-menu-column a:hover,
.settings-menu-column a:focus-visible {
    color: var(--silver);
    outline: none;
}

.top-account-panel form,
.top-account-panel button {
    width: 100%;
}

@media (max-width: 620px) {
    .top-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .top-account-menu,
    .top-account-menu summary,
    .top-settings-menu,
    .top-settings-menu summary,
    .top-help-link {
        width: 100%;
    }

    .top-account-panel,
    .top-settings-panel {
        position: static;
        width: 100%;
        margin-top: 8px;
    }

    .settings-menu-grid {
        grid-template-columns: 1fr;
        gap: 14px;
    }
}

.status-pill,
.back-link,
.primary-link {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    border-radius: 8px;
    max-width: 100%;
    min-width: 0;
    font-size: 13px;
    font-weight: 800;
    line-height: 1.2;
    text-align: center;
    white-space: normal;
    overflow-wrap: anywhere;
}

.status-pill,
.back-link {
    gap: 8px;
    padding: 9px 13px;
    border: 1px solid var(--border);
    background: rgba(255, 255, 255, 0.045);
    color: var(--silver);
}

.primary-link,
button {
    padding: 11px 18px;
    border: 1px solid rgba(var(--cyan-rgb), 0.55);
    background: linear-gradient(135deg, var(--cyan), var(--cyan-strong));
    color: var(--button-text);
    box-shadow: 0 16px 34px rgba(var(--cyan-strong-rgb), 0.28);
}

.status-dot {
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: var(--cyan);
    box-shadow: 0 0 0 5px var(--cyan-soft), 0 0 20px rgba(var(--cyan-rgb), 0.7);
}

.hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 340px;
    gap: 22px;
    align-items: stretch;
    margin-bottom: 22px;
}

.hero-main,
.panel,
.section,
.list-panel,
.summary-panel,
.guide-panel,
.builder-panel {
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-panel);
    box-shadow: var(--shadow);
    backdrop-filter: blur(18px);
}

.hero-main {
    position: relative;
    overflow: hidden;
    padding: 30px;
}

.hero-main::before {
    content: "";
    position: absolute;
    inset: 0;
    border-top: 1px solid rgba(var(--cyan-rgb), 0.45);
    background: linear-gradient(110deg, rgba(var(--cyan-rgb), 0.11), rgba(255, 255, 255, 0) 48%);
    pointer-events: none;
}

.hero-content {
    position: relative;
    z-index: 1;
    min-width: 0;
}


.hero-brand-lockup {
    display: flex;
    align-items: center;
    gap: 18px;
    margin-bottom: 18px;
}

.hero-logo {
    width: 78px;
    height: 78px;
    object-fit: contain;
    filter: var(--brand-glow);
}

.eyebrow {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 12px;
    color: var(--cyan);
    font-size: 12px;
    font-weight: 850;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

h1 {
    max-width: 820px;
    margin: 0;
    color: var(--silver);
    font-size: clamp(32px, 4vw, 54px);
    line-height: 1.04;
    letter-spacing: 0;
}

.product-name {
    color: var(--cyan);
    text-shadow: 0 0 24px rgba(var(--cyan-rgb), 0.32);
}

.hero-copy {
    max-width: 760px;
    margin: 16px 0 0;
    color: var(--muted);
    font-size: 16px;
}

.layout {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(300px, 0.9fr);
    gap: 22px;
    align-items: start;
}

.stack {
    display: grid;
    gap: 22px;
}

.panel-header,
.section-header,
.list-panel h2 {
    border-bottom: 1px solid var(--border);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.015));
}

.panel-header,
.section-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    padding: 18px 20px;
}

.section-header h2,
.section-header h3 {
    min-width: 0;
}

.section-actions {
    display: inline-flex;
    align-items: center;
    gap: 10px;
}

.export-action-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.export-action-grid form {
    min-width: 0;
}

.export-action-grid .primary-link,
.export-action-grid .secondary-button,
.export-action-grid button {
    width: 100%;
}

.secondary-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 32px;
    padding: 6px 11px;
    border: 1px solid var(--border-strong);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.045);
    color: var(--silver);
    box-shadow: none;
    font: inherit;
    max-width: 100%;
    min-width: 0;
    font-size: 12px;
    font-weight: 850;
    line-height: 1.2;
    text-align: center;
    cursor: pointer;
    white-space: normal;
    overflow-wrap: anywhere;
}



.sigma-row-custom {
    border-left: 4px solid var(--cyan);
    background: linear-gradient(90deg, rgba(159, 181, 200, 0.13), rgba(255, 255, 255, 0.035));
}

.sigma-source-tag {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    max-width: 100%;
    min-height: 24px;
    margin-left: 8px;
    padding: 3px 8px;
    border: 1px solid rgba(159, 181, 200, 0.54);
    border-radius: 999px;
    background: rgba(159, 181, 200, 0.13);
    color: var(--cyan);
    font-size: 11px;
    font-weight: 850;
    line-height: 1.2;
    text-align: center;
    vertical-align: middle;
    white-space: normal;
    overflow-wrap: anywhere;
}

.sigma-context-custom {
    border-color: rgba(159, 181, 200, 0.42);
    background: rgba(159, 181, 200, 0.08);
}

.sigma-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 12px;
    margin-top: 28px;
}

.sigma-hero-actions .primary-link,
.sigma-hero-actions .secondary-button,
.sigma-rule-submit-actions button {
    min-width: 170px;
    min-height: 44px;
    padding: 11px 18px;
    border: 1px solid rgba(var(--cyan-rgb), 0.55);
    border-radius: 8px;
    background: linear-gradient(135deg, var(--cyan), var(--cyan-strong));
    color: var(--button-text);
    box-shadow: 0 16px 34px rgba(var(--cyan-strong-rgb), 0.28);
    font-size: 13px;
    font-weight: 850;
}

.sigma-hero-actions .primary-link:hover,
.sigma-hero-actions .secondary-button:hover,
.sigma-rule-submit-actions button:hover {
    transform: translateY(-1px);
}

.secondary-button[hidden] {
    display: none;
}

.reset-filter-button {
    border-color: rgba(255, 209, 102, 0.72) !important;
    background: rgba(255, 209, 102, 0.16) !important;
    color: var(--warning) !important;
    box-shadow: 0 0 0 1px rgba(255, 209, 102, 0.16), 0 12px 24px rgba(255, 209, 102, 0.08) !important;
}

.reset-filter-button:hover,
.reset-filter-button:focus-visible {
    background: rgba(255, 209, 102, 0.24) !important;
    box-shadow: 0 0 0 4px rgba(255, 209, 102, 0.1), 0 14px 28px rgba(255, 209, 102, 0.1) !important;
}

.power-enrichment-button {
    border-color: rgba(var(--cyan-rgb), 0.72) !important;
    background: linear-gradient(135deg, var(--cyan), var(--cyan-strong)) !important;
    color: var(--button-text) !important;
    box-shadow: 0 0 0 1px rgba(var(--cyan-rgb), 0.18), 0 16px 34px rgba(var(--cyan-strong-rgb), 0.26) !important;
}

.power-enrichment-button:hover,
.power-enrichment-button:focus-visible {
    background: linear-gradient(135deg, color-mix(in srgb, var(--cyan), #ffffff 12%), var(--cyan-strong)) !important;
    box-shadow: 0 0 0 4px rgba(var(--cyan-rgb), 0.12), 0 18px 38px rgba(var(--cyan-strong-rgb), 0.3) !important;
}

.is-submitting .power-enrichment-button,
.power-enrichment-button.power-enrichment-running,
.power-enrichment-button[aria-busy="true"] {
    animation: power-enrichment-blink 760ms ease-in-out infinite alternate;
    opacity: 1 !important;
}

@keyframes power-enrichment-blink {
    from {
        filter: brightness(0.9) saturate(1);
        box-shadow: 0 0 0 1px rgba(var(--cyan-rgb), 0.18), 0 0 18px rgba(var(--cyan-rgb), 0.2), 0 12px 26px rgba(var(--cyan-strong-rgb), 0.18) !important;
    }
    to {
        filter: brightness(1.24) saturate(1.25);
        box-shadow: 0 0 0 5px rgba(var(--cyan-rgb), 0.13), 0 0 38px rgba(var(--cyan-rgb), 0.34), 0 20px 42px rgba(var(--cyan-strong-rgb), 0.26) !important;
    }
}

.danger-button {
    border-color: rgba(255, 88, 116, 0.55) !important;
    color: var(--danger) !important;
}

.danger-button:hover,
.danger-button:focus-visible {
    background: rgba(255, 88, 116, 0.12) !important;
    box-shadow: 0 0 0 4px rgba(255, 88, 116, 0.08);
}

.panel-header {
    display: block;
    padding: 20px 22px;
}

h2 {
    margin: 0;
    color: var(--silver);
    font-size: 16px;
    line-height: 1.25;
}

.panel-header h2 {
    font-size: 18px;
}

.panel-header p {
    margin: 6px 0 0;
    color: var(--muted);
    font-size: 14px;
}

.pill {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    min-height: 28px;
    padding: 5px 10px;
    border: 1px solid var(--border-strong);
    border-radius: 999px;
    background: var(--cyan-soft);
    color: var(--cyan);
    font-size: 12px;
    font-weight: 800;
    white-space: nowrap;
}

.section {
    overflow: hidden;
}

.section-body {
    padding: 20px;
}

.quick-reference-stack {
    display: grid;
    gap: 10px;
    margin-top: 22px;
}

.compact-disclosure > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    min-height: 50px;
    padding: 12px 18px;
    border-bottom: 0;
    color: var(--silver);
    cursor: pointer;
    font-size: 14px;
    font-weight: 850;
    list-style: none;
}

.compact-disclosure > summary::-webkit-details-marker {
    display: none;
}

.compact-disclosure > summary::before {
    content: "+";
    display: inline-grid;
    flex: 0 0 auto;
    place-items: center;
    width: 22px;
    height: 22px;
    border: 1px solid var(--border-strong);
    border-radius: 999px;
    color: var(--cyan);
    font-size: 15px;
    line-height: 1;
}

.compact-disclosure[open] > summary {
    border-bottom: 1px solid var(--border);
}

.compact-disclosure[open] > summary::before {
    content: "-";
}

.compact-disclosure > summary span:first-child {
    flex: 1;
    min-width: 0;
    overflow-wrap: anywhere;
}

.confidence-context {
    grid-column: 1 / -1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    min-height: 0;
    padding: 12px 14px;
    border-width: 2px;
    background: rgba(255, 255, 255, 0.035);
}

.confidence-heading {
    display: grid;
    gap: 2px;
    min-width: 150px;
}

.confidence-context .label,
.confidence-context .value,
.confidence-summary {
    color: inherit;
}

.confidence-summary {
    margin: 0;
    color: var(--muted);
    font-size: 13px;
    font-weight: 750;
    line-height: 1.35;
}

.confidence-high {
    border-color: rgba(255, 88, 116, 0.95);
    background: rgba(255, 88, 116, 0.09);
    color: #ff8fa1;
}

.confidence-medium {
    border-color: rgba(255, 209, 102, 0.95);
    background: rgba(255, 209, 102, 0.1);
    color: var(--warning);
}

.confidence-low {
    border-color: rgba(148, 163, 184, 0.82);
    background: rgba(148, 163, 184, 0.1);
    color: var(--silver);
}

.full-width-section {
    margin-top: 22px;
}

.context-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    width: 100%;
    gap: 12px;
    margin-top: 24px;
}

.scope-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
    margin-top: 0;
}

.scope-list {
    display: grid;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.scope-list li {
    display: grid;
    grid-template-columns: 180px minmax(0, 1fr);
    gap: 14px;
    align-items: start;
    padding: 13px 14px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-soft);
}

.scope-label {
    color: var(--soft);
    font-size: 11px;
    font-weight: 850;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.scope-value {
    overflow-wrap: anywhere;
    color: var(--silver);
    font-size: 14px;
    font-weight: 750;
}

.context-item,
.summary-row,
.metric,
.guide-list li {
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-soft);
}

.context-item {
    min-width: 0;
    padding: 14px;
}

.context-grid .confidence-context {
    grid-column: 1 / span 3;
    display: flex;
    align-items: center;
    justify-content: space-between;
    width: 100%;
    gap: 16px;
    min-height: 0;
    padding: 12px 14px;
    border-width: 2px;
}

.context-grid .confidence-context.confidence-high {
    border-color: rgba(255, 88, 116, 0.95);
    background: rgba(255, 88, 116, 0.1);
    color: #ff8fa1;
}

.context-grid .confidence-context.confidence-medium {
    border-color: rgba(255, 209, 102, 0.95);
    background: rgba(255, 209, 102, 0.11);
    color: var(--warning);
}

.context-grid .confidence-context.confidence-low {
    border-color: rgba(148, 163, 184, 0.82);
    background: rgba(148, 163, 184, 0.1);
    color: var(--silver);
}

.context-grid .confidence-context .label,
.context-grid .confidence-context .value,
.context-grid .confidence-context .confidence-summary {
    color: inherit;
}

.label,
.summary-label {
    display: block;
    margin-bottom: 5px;
    color: var(--soft);
    font-size: 11px;
    font-weight: 850;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.value,
.summary-value {
    display: block;
    overflow-wrap: anywhere;
    color: var(--silver);
    font-size: 14px;
    font-weight: 750;
}

.summary-value.empty,
.muted {
    color: var(--muted);
}

.summary-panel,
.guide-panel {
    padding: 22px;
}

.summary-title,
.guide-panel h2 {
    margin: 0 0 16px;
}

.metric {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    padding: 13px 14px;
    margin-top: 10px;
}

.metric:first-of-type {
    margin-top: 0;
}

.metric-name {
    color: var(--muted);
    font-size: 13px;
    font-weight: 700;
}

.metric-value {
    color: var(--cyan);
    font-size: 22px;
    font-weight: 850;
}

.guide-list {
    display: grid;
    gap: 12px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.guide-list li {
    display: grid;
    grid-template-columns: 30px minmax(0, 1fr);
    gap: 11px;
    align-items: start;
    padding: 12px;
    color: var(--muted);
    font-size: 14px;
}

.step-number {
    display: grid;
    place-items: center;
    width: 26px;
    height: 26px;
    border-radius: 8px;
    background: var(--cyan-soft);
    color: var(--cyan);
    font-size: 12px;
    font-weight: 850;
}

.input-warning {
    margin: 18px 22px 0;
    padding: 14px 16px;
    border: 1px solid rgba(255, 209, 102, 0.5);
    border-radius: 8px;
    background: var(--warning-bg);
    color: var(--silver);
    font-size: 13px;
}

.input-warning ul {
    display: grid;
    gap: 6px;
    margin: 10px 0 0;
    padding-left: 20px;
}

.hunt-form {
    display: grid;
    gap: 20px;
    padding: 22px;
}

.field-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.field {
    display: grid;
    gap: 8px;
}

.field.full {
    grid-column: 1 / -1;
}

.field.checkbox-field {
    align-content: end;
}

.field.checkbox-field label {
    align-items: center;
    display: flex;
    gap: 10px;
    min-height: 42px;
}

.field.checkbox-field input[type="checkbox"] {
    height: 16px;
    width: 16px;
}

.query-override-control {
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 12px 14px;
}

.query-override-control .hint {
    margin: -2px 0 0 26px;
}

.time-range-custom {
    margin-top: -2px;
}

.custom-time-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

@media (max-width: 720px) {
    .custom-time-grid {
        grid-template-columns: 1fr;
    }
}


label {
    color: var(--silver);
    font-size: 13px;
    font-weight: 850;
}

.hint,
#technique_search_status {
    margin: 0;
    color: var(--muted);
    font-size: 13px;
}

select,
input,
textarea {
    width: 100%;
    min-height: 44px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: rgba(2, 8, 18, 0.72);
    color: var(--text);
    font: inherit;
    font-size: 14px;
    outline: none;
    transition: border-color 140ms ease, box-shadow 140ms ease, background 140ms ease;
}

select,
input {
    padding: 10px 12px;
}

textarea {
    min-height: 132px;
    padding: 12px;
    resize: vertical;
}


select:focus,
input:focus,
textarea:focus {
    border-color: var(--cyan);
    box-shadow: 0 0 0 4px var(--cyan-soft), var(--glow);
}

select:disabled,
input:disabled,
textarea:disabled {
    background: rgba(255, 255, 255, 0.035);
    color: var(--soft);
    cursor: not-allowed;
}

option {
    background: #07111d;
    color: var(--text);
}

.form-actions,
.footer-actions {
    display: flex;
    justify-content: flex-end;
}

.form-actions {
    align-items: center;
    flex-wrap: wrap;
    gap: 12px;
    padding-top: 4px;
}


.sigma-builder-actions {
    flex-wrap: wrap;
    gap: 12px;
    align-items: center;
}

.summary-panel .sigma-builder-actions {
    justify-content: center;
}

.summary-panel .sigma-builder-actions .inline-action-form {
    display: flex;
    justify-content: center;
    width: 100%;
}

.summary-panel .yara-exchange-actions {
    margin-top: 18px;
    padding-top: 0;
}

.summary-panel .yara-exchange-notice {
    margin-top: 14px;
}

.sigma-builder-actions button {
    min-width: 150px;
}

.sigma-rule-submit-actions button {
    min-width: 170px;
}

.sigma-source-context {
    display: grid;
    gap: 14px;
}


.multi-entry {
    display: grid;
    gap: 10px;
}

.multi-entry-control {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
}

.multi-entry-control button {
    min-width: 86px;
}

.multi-entry-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    min-height: 36px;
}

.multi-entry-chip {
    display: inline-flex;
    align-items: center;
    max-width: 100%;
    gap: 8px;
    padding: 7px 8px 7px 10px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: rgba(159, 181, 200, 0.08);
    color: var(--silver);
    font-size: 13px;
    font-weight: 800;
}

.multi-entry-chip span {
    overflow-wrap: anywhere;
}

.multi-entry-chip button {
    display: inline-grid;
    place-items: center;
    width: 22px;
    min-width: 22px;
    height: 22px;
    min-height: 22px;
    padding: 0;
    border-radius: 999px;
    font-size: 12px;
    line-height: 1;
}


.submit-status {
    display: none;
    align-items: center;
    min-height: 46px;
    margin: 0;
    color: var(--silver);
    font-size: 13px;
    font-weight: 800;
}

.submit-status.active,
.submit-status:not(:empty) {
    display: inline-flex;
}

.is-submitting button[type="submit"],
button[aria-busy="true"],
.primary-link[aria-busy="true"],
.primary-link.is-submitting {
    animation: analyst-button-pulse 820ms ease-in-out infinite alternate;
    cursor: wait;
    opacity: 1;
}

.is-submitting .power-enrichment-button,
.power-enrichment-button.power-enrichment-running,
.power-enrichment-button[aria-busy="true"] {
    animation: power-enrichment-blink 760ms ease-in-out infinite alternate;
    opacity: 1 !important;
}

@keyframes analyst-button-pulse {
    from {
        filter: brightness(0.94) saturate(1);
        transform: translateY(0) scale(1);
        box-shadow: 0 0 0 1px rgba(103, 232, 249, 0.16), 0 8px 18px rgba(15, 23, 42, 0.12);
    }
    to {
        filter: brightness(1.16) saturate(1.18);
        transform: translateY(-1px) scale(1.015);
        box-shadow: 0 0 0 4px rgba(159, 181, 200, 0.13), 0 0 26px rgba(103, 232, 249, 0.32), 0 14px 30px rgba(15, 23, 42, 0.18);
    }
}


.ttp-action-stack {
    display: grid;
    gap: 10px;
    margin-top: 16px;
}

.saved-hunt-action-stack {
    gap: 14px;
    margin-top: 20px;
}

.saved-hunt-hero-actions {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    align-items: stretch;
    gap: 12px;
    margin-top: 24px;
}

.generated-hunt-hero-actions {
    grid-template-columns: repeat(5, minmax(0, 1fr));
}

.saved-hunt-hero-actions .inline-action-form {
    display: flex;
    margin: 0;
}

.saved-hunt-hero-actions .inline-action-form,
.saved-hunt-hero-actions button,
.saved-hunt-hero-actions .primary-link,
.saved-hunt-hero-actions .secondary-button {
    width: 100%;
    height: 100%;
    min-width: 0;
}

.saved-hunt-hero-actions button,
.saved-hunt-hero-actions .primary-link,
.saved-hunt-hero-actions .secondary-button {
    align-items: center;
    justify-content: center;
    min-height: 44px;
    padding: 11px 14px;
    white-space: normal;
    overflow-wrap: anywhere;
    line-height: 1.2;
    text-align: center;
}

html:not([data-theme="light"]) .saved-hunt-detail-page {
    --saved-report-bg: #0f141b;
    --saved-report-bg-strong: #151c25;
    --saved-report-bg-soft: #18212b;
    --saved-report-border: rgba(179, 197, 217, 0.32);
    --saved-report-border-strong: rgba(179, 197, 217, 0.48);
    --saved-report-text: #f6f8fb;
    --saved-report-copy: #d9e1eb;
    --saved-report-muted: #c2cedb;
}

html:not([data-theme="light"]) .saved-hunt-detail-page .hero-main,
html:not([data-theme="light"]) .saved-hunt-detail-page .summary-panel,
html:not([data-theme="light"]) .saved-hunt-detail-page .section,
html:not([data-theme="light"]) .saved-hunt-detail-page .query-results-details {
    border-color: var(--saved-report-border);
    background: linear-gradient(180deg, rgba(24, 31, 41, 0.98), rgba(13, 17, 23, 0.98));
    box-shadow: 0 18px 48px rgba(0, 0, 0, 0.42);
}

html:not([data-theme="light"]) .saved-hunt-detail-page .section-header,
html:not([data-theme="light"]) .saved-hunt-detail-page .panel-header,
html:not([data-theme="light"]) .saved-hunt-detail-page .analysis-section-heading,
html:not([data-theme="light"]) .saved-hunt-detail-page .entity-panel h3 {
    border-bottom-color: var(--saved-report-border);
    background: rgba(22, 29, 39, 0.98);
    color: var(--saved-report-text);
}

html:not([data-theme="light"]) .saved-hunt-detail-page h1,
html:not([data-theme="light"]) .saved-hunt-detail-page h2,
html:not([data-theme="light"]) .saved-hunt-detail-page h3,
html:not([data-theme="light"]) .saved-hunt-detail-page h4,
html:not([data-theme="light"]) .saved-hunt-detail-page .summary-title,
html:not([data-theme="light"]) .saved-hunt-detail-page .metric-value,
html:not([data-theme="light"]) .saved-hunt-detail-page .context-item .value,
html:not([data-theme="light"]) .saved-hunt-detail-page .summary-value,
html:not([data-theme="light"]) .saved-hunt-detail-page .candidate-card h3,
html:not([data-theme="light"]) .saved-hunt-detail-page .defensive-guidance-ttp h3 {
    color: var(--saved-report-text);
}

html:not([data-theme="light"]) .saved-hunt-detail-page .hero-copy,
html:not([data-theme="light"]) .saved-hunt-detail-page .prose,
html:not([data-theme="light"]) .saved-hunt-detail-page .confidence-summary,
html:not([data-theme="light"]) .saved-hunt-detail-page .hint,
html:not([data-theme="light"]) .saved-hunt-detail-page .muted,
html:not([data-theme="light"]) .saved-hunt-detail-page .section-body,
html:not([data-theme="light"]) .saved-hunt-detail-page .clean-list li,
html:not([data-theme="light"]) .saved-hunt-detail-page .candidate-reasons,
html:not([data-theme="light"]) .saved-hunt-detail-page .entity-empty,
html:not([data-theme="light"]) .saved-hunt-detail-page .defensive-guidance-empty {
    color: var(--saved-report-copy);
}

html:not([data-theme="light"]) .saved-hunt-detail-page .label,
html:not([data-theme="light"]) .saved-hunt-detail-page label,
html:not([data-theme="light"]) .saved-hunt-detail-page .metric-name,
html:not([data-theme="light"]) .saved-hunt-detail-page .candidate-meta,
html:not([data-theme="light"]) .saved-hunt-detail-page .triage-meta-row span,
html:not([data-theme="light"]) .saved-hunt-detail-page .defensive-guidance-header,
html:not([data-theme="light"]) .saved-hunt-detail-page .admin-subtext {
    color: var(--saved-report-muted);
}

html:not([data-theme="light"]) .saved-hunt-detail-page .context-item,
html:not([data-theme="light"]) .saved-hunt-detail-page .summary-row,
html:not([data-theme="light"]) .saved-hunt-detail-page .metric,
html:not([data-theme="light"]) .saved-hunt-detail-page .candidate-card,
html:not([data-theme="light"]) .saved-hunt-detail-page .analysis-section-card,
html:not([data-theme="light"]) .saved-hunt-detail-page .entity-panel,
html:not([data-theme="light"]) .saved-hunt-detail-page .defensive-guidance-row,
html:not([data-theme="light"]) .saved-hunt-detail-page .triage-condensed-panel,
html:not([data-theme="light"]) .saved-hunt-detail-page .handoff-workflow-summary,
html:not([data-theme="light"]) .saved-hunt-detail-page .handoff-guardrail-panel,
html:not([data-theme="light"]) .saved-hunt-detail-page .query-panel {
    border-color: var(--saved-report-border);
    background: var(--saved-report-bg-strong);
}

html:not([data-theme="light"]) .saved-hunt-detail-page .analysis-section-card .prose,
html:not([data-theme="light"]) .saved-hunt-detail-page .analysis-card-list,
html:not([data-theme="light"]) .saved-hunt-detail-page .clean-list li,
html:not([data-theme="light"]) .saved-hunt-detail-page .entity-list li {
    border-color: rgba(179, 197, 217, 0.2);
}

html:not([data-theme="light"]) .saved-hunt-detail-page .triage-meta-row span,
html:not([data-theme="light"]) .saved-hunt-detail-page .pill,
html:not([data-theme="light"]) .saved-hunt-detail-page .capability-badge {
    border-color: var(--saved-report-border);
    background: rgba(159, 181, 200, 0.13);
}

html:not([data-theme="light"]) .saved-hunt-detail-page select,
html:not([data-theme="light"]) .saved-hunt-detail-page input,
html:not([data-theme="light"]) .saved-hunt-detail-page textarea,
html:not([data-theme="light"]) .saved-hunt-detail-page .code-block,
html:not([data-theme="light"]) .saved-hunt-detail-page pre,
html:not([data-theme="light"]) .saved-hunt-detail-page code {
    border-color: var(--saved-report-border);
    background-color: #090d12;
    color: var(--saved-report-text);
}

html:not([data-theme="light"]) .saved-hunt-detail-page .secondary-button,
html:not([data-theme="light"]) .saved-hunt-detail-page .back-link,
html:not([data-theme="light"]) .saved-hunt-detail-page .top-account-menu summary {
    border-color: var(--saved-report-border-strong);
}

.generated-hunt-hero-actions button,
.generated-hunt-hero-actions .primary-link,
.generated-hunt-hero-actions .secondary-button {
    min-height: 50px;
    padding: 13px 16px;
    font-size: 12px;
    font-weight: 900;
}

.export-dialog-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.export-dialog-actions .secondary-button {
    width: 100%;
    min-height: 44px;
}


.timeline-analyzer-page .timeline-canvas::before {
    display: none;
}

.timeline-analyzer-page .timeline-event {
    position: relative;
    display: block;
    width: 100%;
    min-height: 0;
}

.timeline-analyzer-page .timeline-event-card {
    grid-column: auto;
    width: 100%;
    margin: 0;
    padding-left: 54px;
}

.timeline-analyzer-page .timeline-event-card::after {
    display: none;
}

.timeline-analyzer-page .timeline-marker {
    position: absolute;
    top: 9px;
    left: 10px;
    z-index: 2;
}

@media (max-width: 980px) {
    .saved-hunt-hero-actions {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

.ttp-action-stack .primary-link,
.ttp-action-stack .inline-action-form,
.ttp-action-stack button {
    width: 100%;
}

.ttp-action-stack .inline-action-form {
    margin-top: 0;
}

.inline-action-form {
    display: grid;
    margin-top: 16px;
}

.footer-actions {
    margin-top: 24px;
}

button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 46px;
    border-radius: 8px;
    font: inherit;
    max-width: 100%;
    min-width: 0;
    font-size: 14px;
    font-weight: 850;
    line-height: 1.2;
    text-align: center;
    cursor: pointer;
    white-space: normal;
    overflow-wrap: anywhere;
}

button:hover,
.primary-link:hover {
    filter: brightness(1.08);
}

.summary-body {
    display: grid;
    gap: 12px;
    padding: 20px;
}

.summary-row {
    display: grid;
    gap: 4px;
    padding: 14px;
}

.prose {
    margin: 0;
    color: var(--text);
    font-size: 15px;
    white-space: pre-wrap;
}

.code-block,

.query-results-details {
    border: 1px solid var(--border);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.025);
}

.code-input {
    min-height: 420px;
    font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
    line-height: 1.5;
    white-space: pre;
    overflow: auto;
    tab-size: 4;
}

.nested-builder-section {
    margin: 18px 0;
}

.yara-string-grid {
    display: grid;
    gap: 12px;
}

.yara-string-row {
    display: grid;
    grid-template-columns: minmax(90px, 0.65fr) minmax(110px, 0.75fr) minmax(220px, 2fr) minmax(180px, 1.2fr);
    gap: 12px;
    align-items: end;
    min-width: 0;
}

.yara-string-value-field {
    min-width: 0;
}

@media (max-width: 980px) {
    .yara-string-row {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 640px) {
    .yara-string-row {
        grid-template-columns: 1fr;
    }
}

.query-results-details > summary {
    cursor: pointer;
    padding: 14px 16px;
    color: var(--cyan);
    font-size: 13px;
    font-weight: 850;
    list-style-position: inside;
}

.query-results-details[open] > summary {
    border-bottom: 1px solid var(--border);
}

.query-results-details .result-filter-bar,
.query-results-details .results-table-wrap,
.query-results-details .normalized-evidence-grid,
.query-results-details .raw-results-details {
    margin: 14px;
}

.normalized-evidence-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 12px;
    margin-bottom: 14px;
}

.normalized-evidence-card {
    display: grid;
    gap: 10px;
    min-width: 0;
    padding: 14px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--panel);
}

.normalized-evidence-card.file-create-evidence {
    border-color: color-mix(in srgb, var(--cyan) 42%, var(--border));
}

.normalized-evidence-card-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.normalized-evidence-card-header span {
    color: var(--muted);
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.normalized-evidence-card-header strong {
    color: var(--ink);
    font-size: 14px;
}

.normalized-evidence-card p {
    margin: 0;
    color: var(--muted);
    overflow-wrap: anywhere;
}

.normalized-evidence-card dl {
    display: grid;
    gap: 6px;
    margin: 0;
}

.normalized-evidence-card dl div {
    display: grid;
    grid-template-columns: minmax(96px, 0.32fr) minmax(0, 1fr);
    gap: 8px;
    align-items: start;
}

.normalized-evidence-card dt {
    color: var(--muted);
    font-size: 11px;
    font-weight: 800;
}

.normalized-evidence-card dd {
    margin: 0;
    color: var(--ink);
    font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
    font-size: 12px;
    overflow-wrap: anywhere;
}

.results-block {
    margin: 0;
    overflow: auto;
    border: 1px solid rgba(18, 191, 255, 0.22);
    border-radius: 8px;
    background: var(--code-bg);
    color: var(--code-text);
    font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
    font-size: 13px;
    line-height: 1.55;
    tab-size: 4;
}

.code-block {
    padding: 18px;
    min-height: 104px;
    max-width: 100%;
    overflow: auto;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.query-grid {
    display: grid;
    gap: 14px;
}

.query-panel {
    display: grid;
    gap: 10px;
    min-width: 0;
    max-width: 100%;
    overflow: hidden;
}

.query-panel h3 {
    margin: 0;
    color: var(--silver);
    font-size: 13px;
    font-weight: 850;
    overflow-wrap: anywhere;
}

.query-panel .code-block {
    min-height: 72px;
    width: 100%;
}

.query-validation-panel {
    display: grid;
    gap: 12px;
}

.query-validation-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.query-validation-actions .compact-button {
    width: auto;
    min-height: 34px;
}

.query-validation-actions [data-validation-status="pass"] {
    border-color: rgba(var(--cyan-rgb), 0.45);
    background: rgba(var(--cyan-rgb), 0.12);
    color: var(--cyan);
}

.query-validation-actions [data-validation-status="warn"],
.query-validation-actions [data-validation-status="working"] {
    border-color: rgba(255, 209, 102, 0.48);
    background: rgba(255, 209, 102, 0.12);
    color: var(--warning);
}

.query-validation-actions [data-validation-status="fail"] {
    border-color: rgba(255, 88, 116, 0.52);
    background: rgba(255, 88, 116, 0.12);
    color: var(--danger);
}

.spl-validation-results {
    border: 1px solid var(--border);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.03);
}

.spl-validation-check-list {
    display: grid;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

.spl-validation-check {
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr);
    gap: 8px 12px;
    padding: 11px 12px;
    border-bottom: 1px solid var(--border);
}

.spl-validation-check:last-child {
    border-bottom: 0;
}

.spl-validation-check strong {
    color: var(--silver);
    font-size: 12px;
    font-weight: 900;
}

.spl-validation-check span,
.spl-validation-check small {
    color: var(--muted);
    font-size: 12px;
    font-weight: 750;
    line-height: 1.4;
}

.spl-validation-check small {
    grid-column: 2;
}

.spl-validation-pass {
    box-shadow: inset 3px 0 0 rgba(var(--cyan-rgb), 0.62);
}

.spl-validation-warn,
.spl-validation-skip {
    box-shadow: inset 3px 0 0 rgba(255, 209, 102, 0.75);
}

.spl-validation-fail {
    box-shadow: inset 3px 0 0 rgba(255, 88, 116, 0.78);
}

.spl-validation-query {
    border-top: 1px solid var(--border);
}

.spl-validation-query summary {
    cursor: pointer;
    padding: 10px 12px;
    color: var(--cyan);
    font-size: 12px;
    font-weight: 850;
}

.spl-validation-query .code-block {
    min-height: 0;
    margin: 0 12px 12px;
}

.results-block {
    max-height: 440px;
    padding: 16px;
}

.structured-code-block {
    position: relative;
    min-height: 112px;
    max-width: 100%;
    max-height: 520px;
    margin: 0;
    padding: 44px 18px 18px !important;
    overflow: auto;
    border: 1px solid rgba(var(--cyan-rgb), 0.34) !important;
    border-radius: 8px;
    background: #0a0f17 !important;
    color: #dce7f5 !important;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
    font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
    font-size: 13px;
    line-height: 1.62;
    overflow-wrap: normal !important;
    tab-size: 2;
    white-space: pre !important;
    word-break: normal !important;
}

.structured-code-block::before {
    content: attr(data-code-label);
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 30px;
    padding: 7px 12px;
    border-bottom: 1px solid rgba(148, 163, 184, 0.2);
    background: #111a27;
    color: #8fa5bd;
    font-family: Inter, ui-sans-serif, system-ui, sans-serif;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 0.12em;
    line-height: 16px;
}

.structured-code-block code {
    display: block;
    min-width: max-content;
    color: inherit;
    font: inherit;
}

.structured-code-block .code-key {
    color: #7dd3fc;
}

.structured-code-block .code-string {
    color: #a7f3d0;
}

.structured-code-block .code-number {
    color: #fcd34d;
}

.structured-code-block .code-boolean {
    color: #c4b5fd;
}

.structured-code-block .code-null,
.structured-code-block .code-comment {
    color: #94a3b8;
}

.structured-code-line {
    display: inline;
}

html[data-theme="light"] .structured-code-block {
    background: #f8fafc !important;
    border-color: #94a3b8 !important;
    color: #172033 !important;
}

html[data-theme="light"] .structured-code-block::before {
    border-bottom-color: #b8c4d2;
    background: #e3eaf2;
    color: #43556b;
}

html[data-theme="light"] .structured-code-block .code-key {
    color: #075985;
}

html[data-theme="light"] .structured-code-block .code-string {
    color: #047857;
}

html[data-theme="light"] .structured-code-block .code-number {
    color: #a16207;
}

html[data-theme="light"] .structured-code-block .code-boolean {
    color: #6d28d9;
}

html[data-theme="light"] .structured-code-block .code-null,
html[data-theme="light"] .structured-code-block .code-comment {
    color: #64748b;
}

.results-table-wrap {
    overflow: auto;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.025);
}

.results-table {
    width: 100%;
    min-width: 720px;
    border-collapse: collapse;
    font-size: 13px;
}

.results-table th,
.results-table td {
    max-width: 240px;
    padding: 10px 12px;
    border-bottom: 1px solid var(--border);
    overflow: hidden;
    text-overflow: ellipsis;
    vertical-align: top;
    white-space: nowrap;
}

.results-table th {
    color: var(--cyan);
    font-size: 11px;
    font-weight: 850;
    letter-spacing: 0.08em;
    text-align: left;
    text-transform: uppercase;
}

.raw-results-details {
    margin-top: 14px;
}

.raw-results-details summary {
    cursor: pointer;
    color: var(--cyan);
    font-size: 13px;
    font-weight: 800;
}

.candidate-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.candidate-card {
    display: grid;
    gap: 12px;
    padding: 16px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-soft);
}

.candidate-card-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
}

.candidate-label {
    display: block;
    margin-bottom: 5px;
    color: var(--cyan);
    font-size: 11px;
    font-weight: 850;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.candidate-card h3 {
    margin: 0;
    overflow-wrap: anywhere;
    color: var(--silver);
    font-size: 15px;
    line-height: 1.35;
}

.candidate-score {
    display: inline-grid;
    flex: 0 0 auto;
    place-items: center;
    min-width: 46px;
    height: 38px;
    padding: 0 10px;
    border: 1px solid rgba(var(--cyan-rgb), 0.54);
    border-radius: 8px;
    background: rgba(var(--cyan-rgb), 0.12);
    color: var(--cyan);
    font-size: 18px;
    font-weight: 900;
}

.candidate-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
}

.candidate-reasons {
    display: grid;
    gap: 6px;
    margin: 0;
    padding-left: 18px;
    color: var(--silver);
    font-size: 13px;
}


.candidate-model-adjustment {
    display: grid;
    gap: 6px;
    padding: 10px 12px;
    border: 1px solid rgba(125, 211, 252, 0.28);
    border-radius: 8px;
    background: rgba(14, 165, 233, 0.08);
}

.candidate-model-score {
    color: #bae6fd;
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.candidate-model-adjustment .candidate-reasons {
    color: var(--muted);
    font-size: 12px;
}

.candidate-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: stretch;
}

.candidate-actions .inline-action-form,
.candidate-actions .secondary-button,
.candidate-actions button {
    min-width: 110px;
}

.candidate-sigma-button {
    border-color: rgba(18, 191, 255, 0.46);
    color: var(--cyan);
}

.sigma-rule-dialog {
    width: min(960px, calc(100vw - 32px));
    max-height: min(760px, calc(100vh - 32px));
    overflow: auto;
    border: 1px solid rgba(18, 191, 255, 0.36);
    border-radius: 8px;
    background: linear-gradient(180deg, rgba(13, 27, 45, 0.98), rgba(7, 16, 28, 0.98));
    color: var(--text);
    box-shadow: 0 24px 80px rgba(0, 0, 0, 0.5), 0 0 42px rgba(18, 191, 255, 0.14);
}

.sigma-rule-dialog::backdrop {
    background: rgba(2, 8, 18, 0.72);
    backdrop-filter: blur(4px);
}

.sigma-rule-dialog-shell,
.sigma-rule-dialog-body,
.sigma-rule-detail-card {
    display: grid;
    gap: 16px;
}

.sigma-rule-dialog-shell {
    padding: 22px;
}

.sigma-rule-dialog-header,
.sigma-rule-detail-card-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
}

.sigma-rule-dialog-header h2,
.sigma-rule-dialog-header p,
.sigma-rule-detail-card-header h3 {
    margin: 0;
}

.sigma-rule-dialog-header p {
    margin-top: 6px;
    color: var(--muted);
    font-size: 13px;
    font-weight: 800;
    overflow-wrap: anywhere;
}

.sigma-rule-detail-card {
    padding: 16px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.025);
}

.sigma-rule-detail-card h3 {
    color: var(--silver);
    font-size: 18px;
    line-height: 1.3;
}

.sigma-rule-metadata {
    display: grid;
    grid-template-columns: minmax(110px, 0.25fr) minmax(0, 1fr);
    gap: 8px 12px;
    margin: 0;
    font-size: 13px;
}

.sigma-rule-metadata dt {
    color: var(--muted);
    font-weight: 900;
}

.sigma-rule-metadata dd {
    margin: 0;
    color: var(--silver);
    overflow-wrap: anywhere;
}

.sigma-rule-detail-section h4 {
    margin: 0 0 8px;
    color: var(--cyan);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.sigma-rule-code-block {
    min-height: 0;
    max-height: 300px;
    font-size: 12px;
}

.sigma-triggered-rows-section {
    display: grid;
    gap: 12px;
}

.sigma-triggered-row-card {
    display: grid;
    gap: 10px;
    padding: 12px;
    border: 1px solid rgba(255, 209, 102, 0.28);
    border-radius: 8px;
    background: rgba(255, 209, 102, 0.055);
}

.sigma-triggered-row-card h5 {
    margin: 0;
    color: var(--warning);
    font-size: 13px;
    font-weight: 900;
}

.sigma-inline-trigger-note {
    margin: -2px 0 0;
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
}

.sigma-inline-trigger-json {
    max-height: 420px;
}

.sigma-json-line {
    display: block;
    min-height: 1.45em;
    padding: 0 6px;
    border-left: 3px solid transparent;
    white-space: pre-wrap;
}

.sigma-json-line-trigger {
    border-left-color: var(--warning);
    background: rgba(255, 209, 102, 0.16);
    color: #fff1b8;
    font-weight: 850;
}

.candidate-feedback-summary {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    font-size: 12px;
    font-weight: 900;
}

.candidate-feedback-history {
    display: grid;
    gap: 5px;
    color: var(--muted);
    font-size: 12px;
}

.candidate-feedback-history p {
    margin: 0;
}

.candidate-feedback-form {
    display: grid;
    gap: 8px;
    padding-top: 4px;
    border-top: 1px solid rgba(148, 163, 184, 0.16);
}

.candidate-feedback-form select,
.candidate-feedback-form input {
    width: 100%;
    min-height: 36px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: rgba(8, 13, 24, 0.72);
    color: var(--silver);
    font-size: 13px;
}

.candidate-feedback-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.candidate-feedback-actions .secondary-button {
    min-width: 0;
    justify-content: center;
}

@media (max-width: 860px) {
    .candidate-grid {
        grid-template-columns: 1fr;
    }
}

.recommendation-grid,
.analysis-section-grid {
    display: grid;
    gap: 14px;
}

.recommendation-card {
    display: grid;
    gap: 12px;
    padding: 16px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-soft);
}

.analysis-section-card {
    display: grid;
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-soft);
}

.recommendation-card h3 {
    margin: 0;
    color: var(--silver);
    font-size: 15px;
}

.defensive-guidance-list {
    display: grid;
    gap: 10px;
}

.defensive-guidance-header,
.defensive-guidance-row {
    display: grid;
    grid-template-columns: minmax(220px, 0.85fr) minmax(140px, 0.45fr) minmax(0, 1.4fr);
    gap: 14px;
    align-items: start;
}

.defensive-guidance-header {
    padding: 0 14px;
    color: var(--soft);
    font-size: 11px;
    font-weight: 850;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.defensive-guidance-row {
    padding: 14px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-soft);
}

.defensive-guidance-ttp,
.defensive-guidance-d3fend,
.defensive-guidance-links {
    min-width: 0;
}

.defensive-guidance-ttp h3 {
    margin: 0;
    color: var(--silver);
    font-size: 14px;
    overflow-wrap: anywhere;
}

.defensive-guidance-d3fend {
    display: flex;
}

.defensive-guidance-links {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    min-width: 0;
}

.defensive-guidance-empty {
    align-self: center;
    font-size: 13px;
}

.framework-link {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    max-width: 100%;
    padding: 7px 11px;
    border: 1px solid var(--border-strong);
    border-radius: 8px;
    background: var(--surface-soft);
    color: var(--silver);
    font-size: 13px;
    font-weight: 850;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.framework-link:hover,
.framework-link:focus-visible {
    background: var(--cyan-soft);
    color: var(--cyan);
    outline: none;
}

.d3fend-link {
    border-color: rgba(18, 191, 255, 0.34);
}

.cref-link {
    border-color: rgba(255, 209, 102, 0.34);
}

.analysis-section-heading {
    padding: 12px 16px;
    border-bottom: 1px solid var(--border);
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.018));
    color: var(--silver);
    font-size: 14px;
    font-weight: 900;
}

.analysis-section-card .prose {
    margin: 0;
    padding: 16px;
}

.analysis-card-list {
    gap: 8px;
    padding: 16px;
}

.analysis-card-actions {
    padding: 12px 16px 0;
}

.reference-action-row {
    display: flex;
    justify-content: flex-end;
    margin-bottom: 12px;
}

.dfir-playbook-index,
.dfir-playbook-list {
    display: grid;
    gap: 12px;
}

.dfir-playbook-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    margin: 16px 0;
}

.dfir-playbook-grid h3 {
    margin: 0 0 10px;
    color: var(--cyan);
    font-size: 12px;
    font-weight: 850;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.dfir-playbook-card {
    scroll-margin-top: 18px;
}

.playbook-living-note {
    margin: 12px 0 0;
    padding: 12px 14px;
    border: 1px solid rgba(18, 191, 255, 0.24);
    border-radius: 8px;
    background: rgba(18, 191, 255, 0.08);
    color: var(--muted);
    font-size: 13px;
    line-height: 1.5;
}

.dfir-action-card {
    align-content: start;
}

.dfir-action-link-list {
    display: grid;
    gap: 10px;
}

.dfir-action-link {
    display: grid;
    gap: 5px;
    padding: 11px 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-soft);
    color: var(--text);
    text-decoration: none;
}

.dfir-action-link:hover,
.dfir-action-link:focus-visible {
    border-color: rgba(18, 191, 255, 0.58);
    color: var(--cyan);
}

.dfir-action-link span {
    font-size: 13px;
    font-weight: 850;
}

.dfir-action-link small {
    color: var(--muted);
    font-size: 12px;
    line-height: 1.45;
}

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

.recommendation-columns h4 {
    margin: 0 0 8px;
    color: var(--cyan);
    font-size: 11px;
    font-weight: 850;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.compact-list li {
    padding: 9px 12px 9px 30px;
    font-size: 13px;
}

.compact-list li::before {
    left: 13px;
    top: 15px;
    width: 6px;
    height: 6px;
}

.empty-state {
    margin: 0;
    padding: 18px;
    border: 1px solid rgba(255, 209, 102, 0.42);
    border-radius: 8px;
    background: var(--warning-bg);
    color: var(--warning);
    font-size: 14px;
    font-weight: 750;
}

.success-state {
    margin: 0;
    padding: 18px;
    border: 1px solid rgba(18, 191, 255, 0.34);
    border-radius: 8px;
    background: var(--cyan-soft);
    color: var(--cyan);
    font-size: 14px;
    font-weight: 750;
}

.analysis-text {
    margin: 0;
    color: var(--text);
    font-family: inherit;
    font-size: 14px;
    line-height: 1.65;
    white-space: pre-wrap;
}

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

.entity-panel {
    min-width: 0;
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-soft);
}

.entity-panel-wide {
    grid-column: 1 / -1;
}

.entity-panel h3 {
    margin: 0;
    padding: 12px 14px;
    border-bottom: 1px solid var(--border);
    color: var(--silver);
    font-size: 13px;
    font-weight: 850;
}

.entity-list {
    display: grid;
    gap: 0;
    max-height: 220px;
    margin: 0;
    padding: 0;
    overflow-y: auto;
    list-style: none;
}

.entity-list li {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    align-items: start;
    padding: 11px 14px;
    border-top: 1px solid var(--border);
}

.entity-list li:first-child {
    border-top: 0;
}

.entity-list li.entity-hearth-item {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 8px;
}

.entity-list li.entity-hearth-item .entity-filter-button {
    display: flex;
    flex-wrap: nowrap;
    gap: 6px;
    align-items: center;
    min-width: 0;
    padding: 0;
    border: 0;
    background: transparent;
}

.entity-list li.entity-hearth-item .entity-filter-button.risk-high,
.entity-list li.entity-hearth-item .entity-filter-button.reputation-bad,
.entity-list li.entity-hearth-item .entity-filter-button.reputation-unknown,
.entity-list li.entity-hearth-item .entity-filter-button.reputation-clean {
    padding: 0;
    border: 0;
    background: transparent;
}

.entity-list li.entity-hearth-item .entity-value {
    flex: 0 1 auto;
    min-width: 0;
    color: var(--danger);
    font-weight: 900;
    white-space: nowrap;
}

.entity-list li.entity-hearth-item .risk-badge,
.entity-list li.entity-hearth-item .reputation-badge {
    display: inline-flex;
    flex: 0 0 auto;
    align-items: center;
    justify-content: center;
    min-width: 0;
    min-height: 20px;
    max-width: none;
    padding: 2px 7px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 0;
    line-height: 1;
    white-space: nowrap;
}

.entity-list li.entity-hearth-item .entity-pivot-link {
    grid-column: 2;
    grid-row: 1;
    align-self: center;
    margin-top: 0;
    white-space: nowrap;
}

.entity-list li.entity-hearth-item .entity-count {
    grid-column: 2;
    grid-row: 1;
    width: fit-content;
    min-width: 32px;
    justify-self: end;
}

.hearth-identity-dialog-body {
    display: grid;
    gap: 12px;
    padding: 18px;
}

.hearth-identity-summary {
    margin: 0;
    color: var(--muted);
    line-height: 1.45;
}

.hearth-identity-detail-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
}

.hearth-identity-detail {
    display: grid;
    gap: 4px;
    min-width: 0;
    padding: 10px 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.04);
}

.hearth-identity-detail span {
    color: var(--muted);
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
}

.hearth-identity-detail strong {
    min-width: 0;
    overflow-wrap: anywhere;
    color: var(--silver);
    font-size: 13px;
}

.entity-list li.entity-risk-item {
    border-left: 3px solid var(--danger);
    background: rgba(229, 57, 71, 0.1);
}

.entity-list li.entity-risk-item .entity-value {
    color: var(--danger);
    font-weight: 850;
}

.entity-risk-content {
    display: grid;
    gap: 5px;
    min-width: 0;
}

.entity-risk-reason {
    overflow-wrap: anywhere;
    color: var(--muted);
    font-size: 11px;
    line-height: 1.35;
}

.entity-filter-button {
    display: grid;
    justify-content: stretch;
    min-height: 0;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: inherit;
    box-shadow: none;
    text-align: left;
}

.entity-filter-button:hover .entity-value {
    color: var(--cyan);
}

.entity-filter-button.reputation-bad {
    gap: 5px;
    padding: 6px 8px;
    border: 1px solid rgba(255, 88, 116, 0.48);
    border-radius: 8px;
    background: rgba(255, 88, 116, 0.1);
}

.entity-filter-button.reputation-bad .entity-value {
    color: var(--danger);
}

.entity-filter-button.risk-high {
    gap: 5px;
    padding: 6px 8px;
    border: 1px solid rgba(255, 88, 116, 0.52);
    border-radius: 8px;
    background: rgba(255, 88, 116, 0.12);
}

.entity-filter-button.risk-high .entity-value {
    color: var(--danger);
}

.entity-filter-button.reputation-unknown {
    gap: 5px;
    padding: 6px 8px;
    border: 1px solid rgba(250, 204, 21, 0.44);
    border-radius: 8px;
    background: rgba(250, 204, 21, 0.1);
}

.entity-filter-button.reputation-unknown .entity-value {
    color: #facc15;
}

.entity-filter-button.reputation-clean {
    gap: 5px;
    padding: 6px 8px;
    border: 1px solid rgba(34, 197, 94, 0.42);
    border-radius: 8px;
    background: rgba(34, 197, 94, 0.08);
}

.entity-filter-button.reputation-clean .entity-value {
    color: #86efac;
}

.reputation-badge,
.risk-badge {
    display: inline-flex;
    width: fit-content;
    max-width: 100%;
    padding: 2px 6px;
    border-radius: 999px;
    font-size: 10px;
    font-weight: 850;
    line-height: 1.2;
    text-transform: uppercase;
}

.reputation-badge-malicious,
.reputation-badge-new_domain,
.risk-badge-high_risk {
    border: 1px solid rgba(255, 88, 116, 0.55);
    background: rgba(255, 88, 116, 0.16);
    color: var(--danger);
}

.reputation-badge-unknown {
    border: 1px solid rgba(250, 204, 21, 0.5);
    background: rgba(250, 204, 21, 0.15);
    color: #facc15;
}

.reputation-badge-clean {
    border: 1px solid rgba(34, 197, 94, 0.5);
    background: rgba(34, 197, 94, 0.14);
    color: #86efac;
}

.hearth-badge {
    border: 1px solid rgba(var(--cyan-rgb), 0.55);
    background: rgba(var(--cyan-rgb), 0.14);
    color: var(--cyan);
}

.entity-pivot-link {
    display: inline-flex;
    width: fit-content;
    margin-top: 5px;
    color: var(--cyan);
    font-size: 11px;
    font-weight: 850;
    text-decoration: none;
}

.entity-pivot-link:hover,
.entity-pivot-link:focus-visible {
    text-decoration: underline;
}

.entity-value {
    overflow-wrap: anywhere;
    color: var(--text);
    font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
    font-size: 12px;
    line-height: 1.45;
}

.entity-count {
    display: inline-flex;
    justify-content: center;
    min-width: 28px;
    padding: 2px 7px;
    border: 1px solid var(--border-strong);
    border-radius: 999px;
    background: var(--cyan-soft);
    color: var(--cyan);
    font-size: 11px;
    font-weight: 850;
}

.relationship-kind {
    width: fit-content;
    max-width: 100%;
    padding: 2px 7px;
    border: 1px solid var(--border-strong);
    border-radius: 999px;
    background: rgba(125, 211, 252, 0.1);
    color: var(--cyan);
    font-size: 10px;
    font-weight: 850;
    line-height: 1.2;
    text-transform: uppercase;
}

.process-relationship-suspicious .relationship-kind {
    border-color: rgba(255, 88, 116, 0.55);
    background: rgba(255, 88, 116, 0.14);
    color: var(--danger);
}

.relationship-processes {
    margin-top: 5px;
}

.relationship-detail {
    margin-top: 5px;
    overflow-wrap: anywhere;
    color: var(--muted);
    font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
    font-size: 11px;
    line-height: 1.45;
}

.relationship-detail-row {
    display: flex;
    flex-wrap: wrap;
    gap: 5px;
    margin-top: 6px;
}

.relationship-detail-row span {
    max-width: 100%;
    padding: 2px 6px;
    border: 1px solid var(--border);
    border-radius: 999px;
    color: var(--muted);
    font-size: 10px;
    font-weight: 750;
    line-height: 1.2;
}


.entity-timeline {
    margin-bottom: 16px;
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-soft);
}

.entity-timeline[hidden] {
    display: none;
}

.entity-timeline-header {
    display: flex;
    justify-content: space-between;
    gap: 14px;
    align-items: start;
    padding: 14px 16px;
    border-bottom: 1px solid var(--border);
}

.entity-timeline-header h3 {
    margin: 0 0 4px;
    color: var(--silver);
    font-size: 13px;
    font-weight: 850;
}

.entity-timeline-header p {
    margin: 0;
    color: var(--muted);
    font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
    font-size: 12px;
}

.entity-timeline-list {
    display: grid;
    gap: 0;
    max-height: 360px;
    margin: 0;
    padding: 0;
    overflow-y: auto;
    list-style: none;
}

.entity-timeline-list li {
    display: grid;
    grid-template-columns: minmax(150px, 220px) minmax(0, 1fr);
    gap: 16px;
    padding: 14px 16px;
    border-top: 1px solid var(--border);
}

.entity-timeline-list li:first-child {
    border-top: 0;
}

.entity-timeline-list time {
    color: var(--cyan);
    font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
    font-size: 12px;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.entity-timeline-event {
    display: grid;
    gap: 7px;
    min-width: 0;
}

.entity-timeline-event strong {
    color: var(--text);
    font-size: 13px;
    line-height: 1.35;
}

.entity-timeline-event > span {
    color: var(--muted);
    font-size: 12px;
}

.entity-timeline-tags {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.entity-timeline-tags span {
    display: inline-flex;
    gap: 5px;
    max-width: 100%;
    padding: 4px 7px;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.03);
    color: var(--text);
    font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
    font-size: 11px;
    overflow-wrap: anywhere;
}

.entity-timeline-tags b {
    color: var(--muted);
    font-family: inherit;
}

@media (max-width: 720px) {
    .entity-timeline-header,
    .entity-timeline-list li {
        grid-template-columns: 1fr;
    }

    .entity-timeline-header {
        display: grid;
    }
}

.result-filter-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
    padding: 10px 12px;
    border: 1px solid var(--border-strong);
    border-radius: 8px;
    background: var(--cyan-soft);
    color: var(--cyan);
    font-size: 13px;
    font-weight: 800;
}

.result-filter-bar[hidden] {
    display: none;
}

.result-filter-bar button {
    min-height: 30px;
    padding: 5px 10px;
    font-size: 12px;
}

.entity-empty {
    margin: 0;
    padding: 14px;
    color: var(--muted);
    font-size: 13px;
}

.entity-empty-diagnostic {
    display: grid;
    gap: 10px;
    padding: 14px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-soft);
}

.entity-empty-diagnostic .empty-state,
.entity-empty-diagnostic .prose {
    margin: 0;
}

.list-panel {
    overflow: hidden;
}

.list-panel h2 {
    padding: 18px 20px;
}

.clean-list {
    display: grid;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

.clean-list li {
    position: relative;
    padding: 14px 20px 14px 42px;
    border-top: 1px solid var(--border);
    color: var(--text);
    font-size: 14px;
}

.clean-list li:first-child {
    border-top: 0;
}

.clean-list li::before {
    content: "";
    position: absolute;
    left: 20px;
    top: 20px;
    width: 8px;
    height: 8px;
    border-radius: 999px;
    background: var(--cyan);
    box-shadow: 0 0 14px rgba(18, 191, 255, 0.55);
}

.sigma-rule-list {
    display: grid;
    gap: 0;
    max-height: 360px;
    margin: 0;
    padding: 0;
    overflow-y: auto;
    list-style: none;
}

.sigma-rule-list li {
    border-top: 1px solid var(--border);
}

.sigma-rule-list li:first-child {
    border-top: 0;
}

.sigma-rule-list a,
.sigma-rule-list li {
    display: grid;
    gap: 5px;
    padding: 13px 16px;
}

.sigma-rule-title {
    overflow-wrap: anywhere;
    color: var(--text);
    font-size: 13px;
    font-weight: 800;
}

.sigma-rule-meta {
    overflow-wrap: anywhere;
    color: var(--muted);
    font-size: 12px;
    font-weight: 700;
    text-transform: capitalize;
}

.feedback-loop-grid {
    display: grid;
    gap: 16px;
}

.feedback-form {
    display: grid;
    gap: 12px;
    padding: 14px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-soft);
}

.feedback-signal-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.feedback-signal-row label {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    min-height: 34px;
    padding: 7px 10px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.035);
    color: var(--silver);
    cursor: pointer;
}

.feedback-signal-row input {
    width: auto;
    min-height: 0;
}

.feedback-field-grid {
    grid-template-columns: 220px minmax(0, 1fr);
}

.feedback-actions {
    justify-content: flex-start;
}

.feedback-history {
    display: grid;
    gap: 10px;
}

.feedback-item {
    display: grid;
    gap: 4px;
    padding: 10px 12px;
    border: 1px solid var(--border);
    border-left-width: 3px;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.035);
}

.feedback-positive {
    border-left-color: rgba(var(--cyan-rgb), 0.72);
}

.feedback-negative {
    border-left-color: var(--danger);
}

.feedback-neutral {
    border-left-color: var(--warning);
}

.feedback-item span {
    color: var(--muted);
    font-size: 12px;
    font-weight: 750;
}

.feedback-item p {
    margin: 0;
    color: var(--silver);
    font-size: 13px;
}

.run-feedback-form {
    padding: 12px;
}

.compact-feedback-history {
    gap: 8px;
}

.saved-run-list {
    display: grid;
    gap: 14px;
}

.saved-run {
    display: grid;
    gap: 12px;
    padding: 14px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-soft);
}

.saved-run-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    color: var(--silver);
    font-size: 13px;
}

.run-diagnostic-panel {
    display: grid;
    gap: 10px;
    padding: 12px;
    border: 1px solid rgba(248, 113, 113, 0.34);
    border-radius: 8px;
    background: rgba(127, 29, 29, 0.18);
}

.run-diagnostic-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    color: var(--silver);
}

.run-error-message {
    margin: 0;
    color: var(--text);
    font-family: var(--mono);
    font-size: 12px;
    line-height: 1.55;
    overflow-wrap: anywhere;
}

.run-diagnostic-checks {
    display: grid;
    gap: 6px;
    margin: 0;
    padding-left: 18px;
    color: var(--muted);
    font-size: 13px;
}

.reference-scroll {
    max-height: 280px;
    overflow: auto;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-soft);
}

.reference-list {
    display: grid;
    gap: 0;
    min-width: max-content;
    margin: 0;
    padding: 0;
    list-style: none;
}

.reference-list li {
    padding: 12px 14px;
    border-top: 1px solid var(--border);
}

.reference-list li:first-child {
    border-top: 0;
}

.reference-list a {
    color: var(--cyan);
    font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
    font-size: 12px;
    font-weight: 750;
    white-space: nowrap;
}

.kev-results {
    display: grid;
    gap: 10px;
}

.kev-row {
    display: grid;
    grid-template-columns: 150px minmax(0, 1.3fr) minmax(180px, 0.8fr) 110px;
    gap: 14px;
    align-items: center;
    padding: 14px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-soft);
}

.saved-hunt-results {
    gap: 10px;
}

.saved-hunt-row {
    grid-template-columns: 100px minmax(240px, 1.5fr) minmax(150px, 0.7fr) minmax(84px, max-content) 140px minmax(110px, max-content);
    gap: 10px;
    cursor: context-menu;
}

.saved-hunt-select-cell {
    display: flex;
    min-width: 0;
    align-items: center;
    gap: 8px;
}

.saved-hunt-select-checkbox {
    flex: 0 0 auto;
    width: 16px;
    height: 16px;
    margin: 0;
    accent-color: var(--cyan);
}

.saved-hunt-row:focus-visible {
    border-color: var(--cyan);
    box-shadow: 0 0 0 4px var(--cyan-soft), var(--glow);
    outline: none;
}

.saved-hunt-title-link {
    color: var(--silver);
}

.saved-hunt-pin-form {
    justify-self: end;
    align-self: center;
    margin: 0;
}

.saved-hunt-actions {
    display: grid;
    grid-template-columns: repeat(3, 34px);
    align-items: center;
    justify-content: end;
    gap: 8px;
    min-width: 118px;
}


.saved-hunt-pin-toggle {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    padding: 0;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
    color: var(--muted);
    cursor: pointer;
}

.saved-hunt-pin-toggle .pin-icon {
    margin-right: 0;
    transform: translate(-1px, -1px);
}

.saved-hunt-pin-toggle.is-pinned,
.saved-hunt-pin-toggle.is-marked-for-triage {
    border-color: rgba(18, 191, 255, 0.52);
    background: var(--cyan-soft);
    color: var(--cyan);
}

.saved-hunt-pin-toggle:hover,
.saved-hunt-pin-toggle:focus-visible {
    border-color: var(--cyan);
    color: var(--cyan);
    outline: none;
}


.saved-hunt-schedule-chip {
    justify-self: start;
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    padding: 7px 10px;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.035);
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
}

.saved-hunt-schedule-chip.is-scheduled {
    border-color: rgba(18, 191, 255, 0.42);
    background: var(--cyan-soft);
    color: var(--cyan);
}

.saved-hunt-handoff-chip {
    max-width: 150px;
}


.saved-hunt-schedule-icon {
    box-sizing: border-box;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    justify-self: end;
    width: 32px;
    height: 32px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
    color: var(--muted);
    cursor: pointer;
}

.saved-hunt-schedule-icon.is-scheduled {
    border-color: rgba(18, 191, 255, 0.52);
    background: var(--cyan-soft);
    color: var(--cyan);
}

.saved-hunt-schedule-icon:hover,
.saved-hunt-schedule-icon:focus-visible {
    border-color: var(--cyan);
    color: var(--cyan);
    outline: none;
}

.clock-icon {
    display: block;
    width: 20px;
    height: 20px;
    color: currentColor;
    font-size: 20px;
    line-height: 20px;
    text-align: center;
}


.saved-hunt-row .kev-date {
    min-width: 0;
    white-space: nowrap;
}

.schedule-dialog {
    width: min(720px, calc(100vw - 32px));
    border: 1px solid var(--border-strong);
    border-radius: 8px;
    background: linear-gradient(180deg, rgba(13, 27, 45, 0.98), rgba(7, 16, 28, 0.98));
    color: var(--text);
    box-shadow: var(--shadow);
}

.schedule-dialog::backdrop {
    background: rgba(2, 8, 18, 0.72);
    backdrop-filter: blur(4px);
}

.schedule-dialog-form {
    padding: 22px;
}

.schedule-dialog-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
}

.schedule-dialog-header h2,
.schedule-dialog-header p {
    margin: 0;
}

.schedule-dialog-header h2 {
    color: #edf4fb;
}

.schedule-dialog-header p {
    margin-top: 6px;
    color: #aebdd0;
    font-size: 13px;
}

.schedule-dialog .field label,
.schedule-dialog .resource-warning {
    color: #dbe7f3;
}

html[data-theme="light"] .schedule-dialog {
    border-color: #9dadbf;
    background: #f7fafc;
    color: #172033;
    box-shadow: 0 18px 54px rgba(15, 23, 42, 0.24);
}

html[data-theme="light"] .schedule-dialog::backdrop {
    background: rgba(31, 41, 55, 0.48);
}

html[data-theme="light"] .schedule-dialog-header h2 {
    color: #172033;
}

html[data-theme="light"] .schedule-dialog-header p,
html[data-theme="light"] .schedule-dialog .field label {
    color: #526174;
}

html[data-theme="light"] .schedule-dialog .resource-warning {
    border-color: #b7791f;
    background: #fff7e6;
    color: #273548;
}

.icon-button {
    width: 40px;
    min-height: 40px;
    padding: 0;
}

.schedule-field-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.schedule-field-grid .field.full {
    grid-column: 1 / -1;
}

.schedule-option-field {
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--panel-soft);
}

.schedule-option-field label {
    display: flex;
    align-items: center;
    gap: 10px;
    margin: 0;
}

.schedule-option-field input[type="checkbox"] {
    width: auto;
    min-height: auto;
}

.schedule-option-field .hint {
    margin: 8px 0 0;
}

.schedule-dialog-actions {
    gap: 10px;
}

@media (max-width: 980px) {
    .saved-hunt-row {
        grid-template-columns: 1fr;
    }

    .saved-hunt-actions {
        justify-content: start;
    }
}

@media (max-width: 720px) {
    .schedule-field-grid {
        grid-template-columns: 1fr;
    }
}

.kev-host-detail {
    grid-column: 1 / -1;
    color: var(--muted);
    font-size: 12px;
    font-weight: 750;
    overflow-wrap: anywhere;
}

.kev-scanner-page .hero {
    min-height: 0;
    padding-block: 22px;
}

.kev-scanner-page .hero-copy {
    max-width: 780px;
}

.kev-workspace {
    margin-bottom: 22px;
}

.kev-plan-form {
    display: block;
}

.kev-plan-shell {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 320px);
    gap: 18px;
    align-items: start;
}

.kev-plan-main,
.kev-plan-rail {
    display: grid;
    gap: 14px;
}

.scan-form-section,
.kev-rail-panel {
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-soft);
}

.scan-form-section {
    padding: 16px;
}

.scan-form-section.compact {
    padding: 14px 16px;
}

.scan-form-section-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}

.scan-form-section-header h2,
.kev-rail-panel h2 {
    margin: 0;
    color: var(--text);
    font-size: 15px;
    line-height: 1.2;
}

.scan-form-actions {
    display: inline-flex;
    flex-wrap: wrap;
    gap: 8px;
}

.kev-settings-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.kev-settings-grid .field,
.kev-scope-grid .field {
    min-width: 0;
}

.kev-settings-grid .span-2 {
    grid-column: span 2;
}

.kev-phase-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(170px, 1fr));
    gap: 8px;
}

.scan-form-subsection {
    margin-top: 14px;
    padding-top: 12px;
    border-top: 1px solid rgba(148, 163, 184, 0.18);
}

.scan-form-subsection h3 {
    margin: 0 0 8px;
    font-size: 12px;
    font-weight: 900;
    color: var(--text-muted);
}

.kev-check-row,
.easm-family-option {
    display: flex;
    gap: 8px;
    align-items: center;
    min-height: 34px;
    padding: 7px 9px;
    border: 1px solid rgba(148, 163, 184, 0.24);
    border-radius: 8px;
    background: rgba(15, 23, 42, 0.12);
    color: var(--text);
    font-size: 12px;
    font-weight: 850;
}

.kev-check-row:hover,
.easm-family-option:hover {
    border-color: rgba(var(--cyan-rgb), 0.44);
    background: rgba(var(--cyan-rgb), 0.08);
}

.kev-check-row input,
.easm-family-option input {
    width: 14px;
    height: 14px;
    flex: 0 0 auto;
}

.kev-scope-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.15fr) minmax(0, 0.85fr);
    gap: 12px;
    align-items: start;
}

.kev-scope-grid textarea {
    min-height: 170px;
}

.field-label-row {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 12px;
    min-height: 18px;
}

.field-label-row label {
    margin: 0;
}

.field-label-row span {
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
    line-height: 1.3;
    text-align: right;
}

.kev-plan-rail {
    position: sticky;
    top: 18px;
}

.kev-rail-panel {
    display: grid;
    gap: 12px;
    padding: 14px;
}

.kev-rail-panel .secondary-button,
.kev-rail-panel button {
    width: 100%;
}

.kev-rail-panel .inline-action-form {
    display: block;
}

.kev-rail-metrics {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
}

.kev-rail-metrics div {
    min-width: 0;
    padding: 10px;
    border: 1px solid rgba(148, 163, 184, 0.2);
    border-radius: 8px;
    background: rgba(15, 23, 42, 0.14);
}

.kev-rail-metrics span {
    display: block;
    color: var(--muted);
    font-size: 11px;
    font-weight: 850;
}

.kev-rail-metrics strong {
    display: block;
    margin-top: 4px;
    color: var(--text);
    font-size: 20px;
}

.kev-selected-checks {
    display: grid;
    gap: 12px;
}

.port-preview {
    min-height: 38px;
    max-height: 92px;
    overflow: auto;
    padding: 9px 10px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: rgba(15, 23, 42, 0.14);
    color: var(--text);
    font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
    font-size: 12px;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.discovery-scan-list {
    display: grid;
    gap: 10px;
}

.saved-scan-filter-bar {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) minmax(180px, 260px) auto;
    gap: 12px;
    align-items: end;
    margin-bottom: 14px;
}

.saved-scan-filter-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(96px, 1fr));
    gap: 8px;
    margin-top: 0;
}

.saved-scan-filter-actions button,
.saved-scan-filter-actions .secondary-button {
    min-height: 40px;
    width: 100%;
    justify-content: center;
}

.saved-scan-folder-create {
    display: grid;
    grid-template-columns: minmax(220px, 360px) auto;
    gap: 10px;
    align-items: end;
    margin-bottom: 14px;
}

.saved-scan-folder-create button {
    min-height: 40px;
}

.saved-hunt-folder-create-compact {
    display: inline-flex;
    width: auto;
    max-width: 100%;
    gap: 6px;
    align-items: center;
    margin-bottom: 10px;
}

.saved-hunt-folder-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    margin-bottom: 10px;
}

.saved-hunt-folder-actions .saved-hunt-folder-create-compact {
    margin-bottom: 0;
}

.saved-hunt-folder-actions > form {
    margin: 0;
}

.saved-hunt-folder-actions > form > button,
.saved-hunt-folder-actions > button {
    min-height: 32px;
    height: 32px;
    padding: 4px 10px;
}

.saved-hunt-folder-create-compact .saved-hunt-folder-name-field {
    width: clamp(150px, 22vw, 230px);
}

.saved-hunt-folder-create-compact input,
.saved-hunt-folder-create-compact button {
    min-height: 32px;
    height: 32px;
}

.saved-hunt-folder-create-compact input {
    padding: 5px 9px;
}

.saved-hunt-folder-create-compact button {
    padding: 4px 10px;
    white-space: nowrap;
}

.saved-scan-folder-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-bottom: 14px;
}

.saved-scan-folder-list .pill {
    width: auto;
    min-height: 28px;
    padding: 5px 10px;
}

.active-pill {
    border-color: #60a5fa;
    background: rgba(96, 165, 250, 0.16);
    color: var(--text);
}

.saved-scan-folder-form {
    display: grid;
    grid-template-columns: auto minmax(110px, 1fr) auto;
    gap: 8px;
    align-items: center;
    margin-top: 4px;
}

.saved-scan-folder-form label {
    color: var(--muted);
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.saved-scan-folder-form input {
    min-height: 34px;
    padding: 7px 10px;
}

.saved-scan-folder-form select {
    min-height: 34px;
    padding: 7px 10px;
}

.discovery-scan-row {
    display: grid;
    grid-template-columns: minmax(240px, 1.2fr) minmax(160px, 0.7fr) minmax(170px, 0.7fr) 190px;
    gap: 14px;
    align-items: center;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: rgba(15, 23, 42, 0.16);
}

.discovery-scan-main,
.discovery-scan-state,
.discovery-scan-schedule {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.discovery-scan-row strong {
    overflow: hidden;
    color: var(--text);
    font-size: 13px;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.discovery-scan-row span {
    overflow: hidden;
    color: var(--muted);
    font-size: 12px;
    font-weight: 750;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.discovery-scan-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    justify-content: flex-end;
    gap: 8px;
}

.discovery-scan-actions .inline-action-form {
    display: contents;
    margin-top: 0;
}

.discovery-scan-actions .compact-button {
    width: 100%;
    min-height: 36px;
    padding: 0 10px;
    white-space: nowrap;
}

.discovery-scan-actions.single-action {
    grid-template-columns: 1fr;
}

@media (max-width: 1100px) {
    .saved-scan-filter-bar {
        grid-template-columns: 1fr;
    }

    .saved-scan-folder-create {
        grid-template-columns: 1fr;
    }

    .saved-scan-folder-form {
        grid-template-columns: 1fr;
    }

    .kev-plan-shell {
        grid-template-columns: 1fr;
    }

    .kev-plan-rail {
        position: static;
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 820px) {
    .kev-settings-grid,
    .kev-scope-grid,
    .easm-family-group {
        grid-template-columns: 1fr;
    }

    .kev-settings-grid .span-2 {
        grid-column: auto;
    }

    .kev-plan-rail {
        grid-template-columns: 1fr;
    }

    .field-label-row {
        align-items: flex-start;
        flex-direction: column;
        gap: 4px;
    }

    .field-label-row span {
        text-align: left;
    }

    .discovery-scan-row {
        grid-template-columns: 1fr;
        align-items: stretch;
    }

    .discovery-scan-actions {
        grid-template-columns: repeat(2, minmax(96px, 1fr));
        justify-content: stretch;
    }
}


[data-dashboard-card="environment-kevs"] .section-body,
[data-dashboard-card="external-kev-hits"] .section-body {
    padding-top: 14px;
}

[data-dashboard-card="environment-kevs"] .kev-results,
[data-dashboard-card="external-kev-hits"] .kev-results {
    max-height: 360px;
    overflow-y: auto;
    padding-right: 12px;
    scrollbar-gutter: stable;
}

[data-dashboard-card="environment-kevs"] .kev-row,
[data-dashboard-card="external-kev-hits"] .kev-row {
    grid-template-columns: minmax(118px, 0.8fr) minmax(220px, 2.2fr) minmax(150px, 1fr) minmax(88px, 0.6fr);
    gap: 4px 12px;
    padding: 10px 12px;
    align-items: center;
    text-decoration: none;
}

[data-dashboard-card="environment-kevs"] .kev-cve,
[data-dashboard-card="environment-kevs"] .kev-title,
[data-dashboard-card="external-kev-hits"] .kev-cve,
[data-dashboard-card="external-kev-hits"] .kev-title {
    font-size: 13px;
    line-height: 1.25;
}

[data-dashboard-card="environment-kevs"] .kev-meta,
[data-dashboard-card="environment-kevs"] .kev-date,
[data-dashboard-card="external-kev-hits"] .kev-meta,
[data-dashboard-card="external-kev-hits"] .kev-date {
    font-size: 12px;
    line-height: 1.25;
}

[data-dashboard-card="environment-kevs"] .kev-date,
[data-dashboard-card="external-kev-hits"] .kev-date {
    justify-self: end;
    white-space: nowrap;
}

[data-dashboard-card="environment-kevs"] .kev-host-detail,
[data-dashboard-card="external-kev-hits"] .kev-host-detail {
    display: block;
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
    font-size: 11px;
    line-height: 1.25;
}

@media (max-width: 920px) {
    [data-dashboard-card="environment-kevs"] .kev-row,
    [data-dashboard-card="external-kev-hits"] .kev-row {
        grid-template-columns: 1fr;
    }

    [data-dashboard-card="environment-kevs"] .kev-date,
    [data-dashboard-card="external-kev-hits"] .kev-date {
        justify-self: start;
    }
}

.kev-row:hover,
.dashboard-kev-row:focus-visible {
    border-color: var(--border-strong);
    box-shadow: var(--glow);
    outline: none;
}

.dashboard-kev-row {
    cursor: pointer;
}

.kev-cve,
.kev-title {
    color: var(--silver);
    font-weight: 850;
}

.kev-title,
.kev-meta {
    overflow-wrap: anywhere;
}

.kev-meta,
.kev-date {
    color: var(--muted);
    font-size: 13px;
    font-weight: 700;
}

@media (max-width: 920px) {
    .dfir-playbook-grid {
        grid-template-columns: 1fr;
    }

    .defensive-guidance-header {
        display: none;
    }

    .defensive-guidance-row {
        grid-template-columns: 1fr;
    }

    .context-grid .confidence-context {
        grid-column: 1 / -1;
        align-items: flex-start;
        flex-direction: column;
    }

    .hero,
    .layout,
    .field-grid,
    .entity-grid,
    .scope-list li,
    .kev-row {
        grid-template-columns: 1fr;
    }

    .context-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 620px) {
    .page {
        width: min(100% - 24px, 1180px);
        padding-top: 18px;
    }

    .topbar,
    .hero-brand-lockup,
    .section-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .top-actions,
    .status-pill,
    .back-link,
    .primary-link,
    .form-actions,
    button {
        width: 100%;
    }


    .saved-hunt-hero-actions {
        grid-template-columns: 1fr;
    }

    .hero-main,
    .guide-panel,
    .summary-panel,
    .hunt-form,
    .section-body {
        padding: 18px;
    }


    .panel-header,
    .section-header {
        padding: 18px;
    }

    h1 {
        font-size: 32px;
    }
}


.attack-path-page .compact-hero {
    margin-bottom: 22px;
}

.attack-path-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(300px, 0.75fr);
    gap: 22px;
    align-items: start;
    margin-bottom: 22px;
}

.attack-path-workflow-main > .attack-path-layout {
    grid-template-columns: 1fr;
    margin-bottom: 0;
}

.attack-path-controls {
    display: grid;
    gap: 16px;
}

.split-actions {
    justify-content: space-between;
    gap: 12px;
    flex-wrap: wrap;
}

.path-editor-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 0.42fr);
    gap: 18px;
    align-items: start;
}


.usage-note {
    margin-bottom: 16px;
    padding: 12px 14px;
    border: 1px solid var(--border-strong);
    border-radius: 8px;
    background: var(--cyan-soft);
    color: var(--silver);
    font-size: 13px;
}

.usage-note strong {
    color: var(--cyan);
}

.path-node-list {
    display: grid;
    gap: 12px;
}

.path-node-card {
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-soft);
    padding: 14px;
}

.path-node-card[draggable="true"] {
    cursor: grab;
}

.path-node-card.dragging {
    opacity: 0.58;
    border-color: var(--cyan);
    box-shadow: var(--glow);
}

.path-node-card.drag-over {
    border-color: var(--cyan);
    background: rgba(18, 191, 255, 0.1);
}

.drag-handle {
    display: inline-flex;
    align-items: center;
    color: var(--muted);
    font-size: 15px;
    line-height: 1;
    cursor: grab;
}

.path-node-card:active .drag-handle {
    cursor: grabbing;
}

.path-node-card h3 {
    margin: 9px 0 8px;
    color: var(--silver);
    font-size: 15px;
    line-height: 1.3;
}

.path-node-card p {
    margin: 0;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.55;
}

.path-node-meta {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
    color: var(--cyan);
    font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
    font-size: 12px;
    font-weight: 800;
}

.node-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 12px;
}

.node-actions .secondary-button {
    min-height: 28px;
    padding: 4px 9px;
}

.edge-panel {
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-soft);
    overflow: hidden;
}

.edge-panel h3 {
    margin: 0;
    padding: 12px 14px;
    border-bottom: 1px solid var(--border);
    color: var(--silver);
    font-size: 13px;
    font-weight: 850;
}

.edge-controls {
    display: grid;
    gap: 10px;
    padding: 14px;
}

.edge-list {
    display: grid;
    gap: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

.edge-list li {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
    padding: 11px 14px;
    border-top: 1px solid var(--border);
    color: var(--text);
    font-size: 12px;
}




.admin-panel {
    display: grid;
    gap: 16px;
    margin-bottom: 18px;
    padding: 16px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-soft);
}

.admin-panel h3,
.role-card h3 {
    margin: 0;
    color: var(--silver);
    font-size: 15px;
}

.compact-automation-panel {
    gap: 10px;
    margin-top: 16px;
    padding: 12px 14px;
}

.compact-automation-header {
    margin: 0;
}

.compact-automation-row {
    display: grid;
    grid-template-columns: minmax(130px, max-content) minmax(160px, 220px) minmax(190px, 260px) max-content;
    align-items: end;
    gap: 12px;
}

.compact-automation-toggle {
    min-height: 38px;
}

.compact-automation-lookback {
    display: grid;
    grid-template-columns: max-content 84px max-content;
    align-items: center;
    gap: 8px;
}

.compact-automation-lookback label,
.compact-automation-lookback .hint {
    margin: 0;
}

.compact-automation-lookback input {
    min-width: 0;
}

.compact-automation-output select {
    min-width: 0;
    width: 100%;
}

.compact-automation-actions {
    justify-content: flex-start;
    padding-top: 0;
}

.compact-automation-actions button {
    min-height: 36px;
}

.compact-automation-last-run {
    margin: 0;
}

@media (max-width: 760px) {
    .compact-automation-row {
        grid-template-columns: 1fr;
        align-items: stretch;
    }

    .compact-automation-lookback {
        grid-template-columns: max-content minmax(0, 1fr) max-content;
    }
}

.admin-table-wrap {
    overflow-x: auto;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.025);
}

.admin-table {
    width: 100%;
    min-width: 920px;
    border-collapse: collapse;
    font-size: 13px;
}

.admin-table th,
.admin-table td {
    padding: 11px 12px;
    border-bottom: 1px solid var(--border);
    text-align: left;
    vertical-align: top;
}

.admin-table th {
    color: var(--cyan);
    font-size: 11px;
    font-weight: 850;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.admin-table input,
.admin-table select {
    min-height: 36px;
    font-size: 13px;
}

.admin-table .secondary-button,
.admin-table button {
    min-width: 64px;
    margin-top: 0;
    white-space: nowrap;
    overflow-wrap: normal;
}

.admin-table td:has(.secondary-button),
.admin-table td:has(button) {
    white-space: nowrap;
}

.admin-table .user-mfa-status-col {
    width: 1%;
    min-width: 78px;
    white-space: nowrap;
    overflow-wrap: normal;
}

.admin-table .threat-source-enabled-column {
    width: 1%;
    min-width: 72px;
    text-align: center;
    white-space: nowrap;
    overflow-wrap: normal;
}

.admin-table td.threat-source-enabled-column input[type="checkbox"] {
    display: block;
    width: 16px;
    height: 16px;
    margin: 2px auto;
}

.user-mfa-status-pill {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 58px;
    padding: 4px 8px;
    border: 1px solid var(--border);
    border-radius: 999px;
    color: var(--muted);
    font-size: 12px;
    font-weight: 850;
    line-height: 1;
    white-space: nowrap;
    overflow-wrap: normal;
}

.user-mfa-status-pill.is-enabled {
    border-color: rgba(125, 255, 178, 0.42);
    background: rgba(125, 255, 178, 0.1);
    color: var(--success);
}

.user-mfa-status-pill.is-off {
    color: var(--muted);
}

.admin-subtext {
    display: block;
    margin-top: 5px;
    color: var(--muted);
    font-size: 12px;
    font-weight: 750;
}

.admin-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.compact-check {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--text);
    font-size: 13px;
    font-weight: 750;
}

.compact-check input {
    width: auto;
    min-height: 0;
}

.role-grid {
    display: grid;
    gap: 16px;
}

.role-card {
    display: grid;
    gap: 14px;
    padding: 16px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-soft);
}

.role-card-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
}

.role-card-header p {
    margin: 5px 0 0;
    color: var(--muted);
    font-size: 13px;
}

.permission-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px 14px;
}

@media (max-width: 920px) {
    .permission-grid {
        grid-template-columns: 1fr;
    }
}

.embedded-config-form {
    display: grid;
    gap: 18px;
}

.account-actions {
    display: grid;
    justify-items: start;
    gap: 16px;
}

.config-tabs-panel {
    overflow: hidden;
}

.config-tab-list {
    display: grid;
    grid-template-columns: minmax(0, 0.95fr) minmax(0, 1.2fr) minmax(0, 0.95fr);
    align-items: flex-start;
    gap: 10px 14px;
    padding: 16px 22px 0;
    border-top: 1px solid var(--border);
}

.config-tab-group {
    --config-group-accent: var(--cyan);
    --config-group-accent-rgb: var(--cyan-rgb);
    display: flex;
    align-items: flex-start;
    flex-wrap: wrap;
    gap: 8px;
    min-width: 0;
    min-height: 100%;
    padding-right: 14px;
    border-right: 1px solid var(--border);
}

.config-tab-group:nth-child(1) {
    --config-group-accent: #9fb5c8;
    --config-group-accent-rgb: 159, 181, 200;
}

.config-tab-group:nth-child(2) {
    --config-group-accent: #d7bd82;
    --config-group-accent-rgb: 215, 189, 130;
}

.config-tab-group:nth-child(3) {
    --config-group-accent: #b8a7d9;
    --config-group-accent-rgb: 184, 167, 217;
}

.config-tab-group:last-child {
    padding-right: 0;
    border-right: 0;
}

.config-tab-group-label {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 5px 10px;
    border: 1px solid rgba(var(--config-group-accent-rgb), 0.56);
    border-radius: 999px;
    background: rgba(var(--config-group-accent-rgb), 0.14);
    color: var(--config-group-accent);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 0;
    line-height: 1.2;
    text-transform: uppercase;
}

.config-tab-group-stacked .config-tab-group-label:not(:first-child) {
    margin-left: 6px;
}

.config-tab-group-buttons {
    display: flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 4px 12px;
}

.config-tab {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 28px;
    padding: 2px 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--silver);
    box-shadow: none;
    font-size: 13px;
    text-decoration: none;
    text-underline-offset: 4px;
}

.config-tab::before {
    content: "";
    flex: 0 0 auto;
    width: 6px;
    height: 6px;
    border-radius: 50%;
    background: rgba(var(--config-group-accent-rgb), 0.64);
    box-shadow: 0 0 0 3px rgba(var(--config-group-accent-rgb), 0.12);
}

.config-tab:hover,
.config-tab:focus-visible {
    color: var(--config-group-accent);
    outline: none;
    text-decoration: underline;
}

.config-tab.active {
    color: var(--config-group-accent);
    text-decoration: underline;
}

.config-tab.active::before {
    background: var(--config-group-accent);
    box-shadow: 0 0 0 4px rgba(var(--config-group-accent-rgb), 0.18), 0 0 14px rgba(var(--config-group-accent-rgb), 0.4);
}

.config-form {
    display: grid;
    gap: 18px;
    padding-top: 18px;
}

.config-tab-panel {
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.025);
}

.config-tab-panel[hidden],
.tool-config-panel[hidden],
.vendor-config-panel[hidden] {
    display: none;
}

.data-policy-tabs {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.data-policy-tab {
    display: grid;
    align-content: center;
    align-items: start;
    justify-content: stretch;
    justify-items: start;
    gap: 5px;
    min-height: 74px;
    padding: 12px 14px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-soft);
    color: var(--text);
    box-shadow: none;
    overflow: hidden;
    text-align: left;
    white-space: normal;
}

.data-policy-tab:hover,
.data-policy-tab:focus-visible {
    border-color: var(--border-strong);
    background: rgba(255, 255, 255, 0.045);
    outline: none;
}

.data-policy-tab.active {
    border-color: var(--cyan);
    background: var(--cyan-soft);
}

.data-policy-tab strong {
    display: block;
    min-width: 0;
    width: 100%;
    color: var(--silver);
    font-size: 13px;
    overflow-wrap: anywhere;
}

.data-policy-tab span {
    display: block;
    min-width: 0;
    width: 100%;
    color: var(--muted);
    font-size: 12px;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.data-policy-tab-panel {
    display: grid;
    gap: 16px;
}

.data-policy-tab-panel[hidden] {
    display: none;
}

.config-action-table td {
    vertical-align: middle;
}

.config-action-button-group {
    display: inline-flex;
    align-items: center;
    flex-wrap: wrap;
    gap: 8px;
}

.config-action-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 108px;
    min-height: 36px;
    white-space: nowrap;
}

.query-platform-reason {
    display: block;
    max-width: 280px;
    overflow-wrap: anywhere;
}

.config-disclosure {
    overflow: hidden;
}

.config-disclosure summary {
    cursor: pointer;
    list-style: none;
}

.config-disclosure summary::-webkit-details-marker {
    display: none;
}

.config-disclosure summary::before {
    content: "+";
    display: inline-grid;
    place-items: center;
    flex: 0 0 auto;
    width: 22px;
    height: 22px;
    border: 1px solid var(--border);
    border-radius: 6px;
    color: var(--cyan);
    font-size: 14px;
    font-weight: 900;
}

.config-disclosure[open] summary::before {
    content: "-";
}

.config-disclosure > summary.section-header {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    column-gap: 12px;
}

.config-disclosure > summary.section-header h2 {
    min-width: 0;
    margin: 0;
    overflow-wrap: anywhere;
}

.config-disclosure > summary.section-header .pill {
    justify-self: end;
    flex: 0 0 auto;
    max-width: max-content;
}

.config-disclosure > summary.section-header .section-actions {
    justify-self: end;
    min-width: 0;
    display: inline-flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
}

.open-source-connect {
    display: grid;
    gap: 18px;
}

.connector-picker {
    align-items: end;
}

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

.connector-category {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    min-width: 0;
    padding: 14px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-soft);
}

.connector-category.active {
    border-color: var(--border-strong);
    background: var(--cyan-soft);
}

.connector-category h3 {
    margin: 0;
    color: var(--silver);
    font-size: 14px;
}

.connector-category p,
.compact-section-header p {
    margin: 5px 0 0;
    color: var(--muted);
    font-size: 13px;
}

.tool-config-list {
    display: grid;
    gap: 16px;
}

.tool-config-panel,
.vendor-config-panel {
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: rgba(2, 8, 18, 0.38);
}

.compact-section-header {
    align-items: flex-start;
}

@media (max-width: 920px) {
    .connector-category-list {
        grid-template-columns: 1fr;
    }

    .config-tab-list {
        gap: 12px;
        grid-template-columns: 1fr;
    }

    .config-tab-group {
        width: 100%;
        padding-right: 0;
        padding-bottom: 10px;
        border-right: 0;
        border-bottom: 1px solid var(--border);
    }

    .config-tab-group:last-child {
        padding-bottom: 0;
        border-bottom: 0;
    }
}

@media (max-width: 620px) {
    .config-tab-list {
        padding: 14px 18px 0;
    }

    .config-tab-group {
        align-items: stretch;
        flex-direction: column;
    }

    .config-tab-group-buttons {
        flex-direction: column;
    }

    .config-tab {
        width: auto;
        align-self: flex-start;
    }

    .connector-category {
        flex-direction: column;
    }
}

.config-group {
    overflow: hidden;
    border-top: 1px solid var(--border);
}

.config-group:first-of-type {
    border-top: 0;
}

.config-description {
    margin-bottom: 16px;
}

.config-group input[type="password"] {
    letter-spacing: 0.08em;
}

.prompt-policy-limit-grid {
    margin-top: 20px;
    margin-bottom: 18px;
}

.priority-vertical-grid,
.priority-weight-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 12px;
}

.priority-weight-field {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 44px;
    align-items: center;
    gap: 8px 12px;
}

.priority-weight-field label {
    grid-column: 1 / -1;
}

.priority-weight-field input[type="range"] {
    width: 100%;
}

.priority-weight-field output {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 34px;
    border: 1px solid var(--border);
    border-radius: 8px;
    color: var(--silver);
    font-weight: 900;
}

#threat-foundry-tab .cti-curation-panel {
    gap: 12px;
}

#threat-foundry-tab .cti-curation-toggle {
    align-items: flex-start;
    max-width: 720px;
}

#threat-foundry-tab .cti-curation-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(220px, 1fr));
    gap: 12px;
    max-width: 840px;
}

#threat-foundry-tab .cti-curation-control {
    align-content: start;
    gap: 7px;
    min-height: 160px;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
}

#threat-foundry-tab .cti-curation-control input {
    width: 100%;
}

#threat-foundry-tab .curation-control-group {
    color: var(--accent);
    font-size: 11px;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

@media (max-width: 760px) {
    #threat-foundry-tab .cti-curation-grid {
        grid-template-columns: 1fr;
        max-width: none;
    }
}

.resource-warning {
    margin-top: 16px;
    padding: 12px 14px;
    border: 1px solid var(--warning);
    border-radius: 8px;
    background: var(--warning-bg);
    color: var(--silver);
    font-size: 13px;
}

.resource-warning.danger-warning {
    border-color: var(--danger);
    background: rgba(127, 29, 29, 0.24);
    color: var(--silver);
}

.resource-warning.billing-warning {
    border-color: var(--severity-medium-border, #d58a19);
    background: color-mix(in srgb, var(--severity-medium-bg, #d58a19) 42%, transparent);
}

button:disabled {
    cursor: not-allowed;
    opacity: 0.55;
    filter: grayscale(0.35);
}

.attack-output {
    display: grid;
    gap: 16px;
}

.attack-output > h3 {
    margin: 0;
    color: var(--silver);
    font-size: 18px;
}

.attack-path-results {
    display: grid;
    gap: 18px;
}

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

.stage-output {
    display: grid;
    gap: 14px;
}

.stage-panel h3,
.query-panel h3 {
    margin: 0 0 10px;
    color: var(--silver);
    font-size: 14px;
}

.stage-detail-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin-top: 12px;
}

.stage-detail-grid > div {
    min-width: 0;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.028);
}

.stage-detail-grid h4 {
    margin: 0 0 8px;
    color: var(--cyan);
    font-size: 11px;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.stage-detail-grid li,
.attack-output .prose,
.attack-output .clean-list li {
    overflow-wrap: anywhere;
    word-break: break-word;
}

.attack-output .code-block,
.combined-result-panel .code-block {
    max-width: 100%;
    overflow: auto;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

.combined-result-panel .results-table {
    min-width: 720px;
}

@media (max-width: 900px) {
    .attack-path-layout,
    .path-editor-grid,
    .stage-detail-grid,
    .attack-coverage-grid,
    .recommendation-columns {
        grid-template-columns: 1fr;
    }
}


.phishing-page .large-textarea {
    min-height: 190px;
}

.section-divider {
    height: 1px;
    margin: 4px 0 2px;
    background: var(--border);
}

.risk-summary {
    display: grid;
    gap: 14px;
}

.risk-summary .risk-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 54px;
    border-radius: 8px;
    font-size: 22px;
    font-weight: 900;
    letter-spacing: 0.08em;
}

.risk-low {
    border: 1px solid rgba(68, 214, 137, 0.42);
    background: rgba(68, 214, 137, 0.14);
    color: #7dffb2;
}

.risk-medium {
    border: 1px solid rgba(255, 209, 102, 0.48);
    background: rgba(255, 209, 102, 0.14);
    color: var(--warning);
}

.risk-high {
    border: 1px solid rgba(255, 145, 77, 0.55);
    background: rgba(255, 145, 77, 0.15);
    color: #ffb17d;
}

.risk-critical {
    border: 1px solid rgba(255, 88, 116, 0.62);
    background: rgba(255, 88, 116, 0.16);
    color: #ff8da1;
}

.observable-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.compact-list li {
    grid-template-columns: minmax(0, 1fr);
}

.framed-query {
    padding: 14px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-soft);
}

.query-title-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.query-title-row h3 {
    margin: 0;
}

details summary {
    cursor: pointer;
    color: var(--cyan);
    font-weight: 850;
}

details .code-block {
    margin-top: 14px;
}

@media (max-width: 920px) {
    .observable-grid {
        grid-template-columns: 1fr;
    }
}

.hero.full-hero {
    grid-template-columns: 1fr;
}

.hero.full-hero .hero-main {
    min-height: 210px;
}

.pagination-bar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 16px 20px 20px;
}

.pagination-label {
    color: var(--muted);
    font-size: 13px;
    font-weight: 850;
}

.disabled-link {
    opacity: 0.46;
    pointer-events: none;
}

.ransomware-kev {
    border-color: rgba(255, 88, 116, 0.66);
    background: linear-gradient(90deg, rgba(255, 88, 116, 0.18), var(--surface-soft));
}

.ransomware-kev .kev-cve,
.ransomware-kev .kev-title {
    color: #ff8da1;
}

.ransomware-label {
    display: inline-flex;
    margin-top: 5px;
    padding: 3px 7px;
    border: 1px solid rgba(255, 88, 116, 0.6);
    border-radius: 999px;
    background: rgba(255, 88, 116, 0.16);
    color: #ff8da1;
    font-size: 10px;
    font-weight: 900;
    text-transform: uppercase;
}

.path-node-card {
    position: relative;
    overflow: hidden;
}

.path-node-card::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 5px;
    background: var(--tactic-color, var(--cyan));
    box-shadow: 0 0 18px color-mix(in srgb, var(--tactic-color, var(--cyan)) 65%, transparent);
}

.tactic-chip {
    border: 1px solid color-mix(in srgb, var(--tactic-color, var(--cyan)) 70%, transparent);
    border-radius: 999px;
    padding: 2px 8px;
    background: color-mix(in srgb, var(--tactic-color, var(--cyan)) 16%, transparent);
    color: var(--tactic-color, var(--cyan));
}

html[data-theme="light"] .path-node-card::before {
    width: 7px;
    background: var(--tactic-color, var(--cyan));
    box-shadow: none;
}

html[data-theme="light"] .tactic-chip {
    border-color: color-mix(in srgb, var(--tactic-color, var(--cyan)) 62%, #cbd5df);
    background: color-mix(in srgb, var(--tactic-color, var(--cyan)) 14%, #f1f5f9);
    color: #1f2937;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.42);
}

@media (max-width: 620px) {
    .pagination-bar {
        align-items: stretch;
        flex-direction: column;
    }
}



.auth-body {
    display: grid;
    place-items: center;
    padding: 28px;
}

.auth-shell {
    width: min(520px, 100%);
}

.login-shell {
    width: min(560px, 100%);
}

.auth-panel {
    display: grid;
    gap: 22px;
    padding: 28px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-panel);
    box-shadow: var(--shadow);
}

.auth-brand {
    display: flex;
    align-items: center;
    gap: 14px;
}

.auth-brand img {
    width: 76px;
    height: 52px;
    object-fit: contain;
    filter: var(--brand-glow);
}

.auth-brand-text {
    display: grid;
    gap: 2px;
}


.auth-form {
    padding: 0;
}

.login-panel {
    gap: 24px;
    padding: 0;
    overflow: hidden;
}

.login-logo-top {
    display: block;
    width: 100%;
    padding: 0;
    border-bottom: 1px solid var(--border);
    background: rgba(var(--cyan-rgb), 0.08);
}

.login-logo-top img {
    display: block;
    width: 100%;
    height: auto;
    object-fit: contain;
    filter: var(--brand-glow);
}

.login-content {
    display: grid;
    gap: 22px;
    min-width: 0;
    padding: 0 clamp(22px, 5vw, 34px);
}

.login-logo-bottom {
    display: grid;
    justify-items: center;
    gap: 2px;
    padding: 18px clamp(22px, 5vw, 34px) 24px;
    border-top: 1px solid var(--border);
}

.login-logo-bottom .brand-title,
.login-logo-bottom .brand-subtitle {
    text-align: center;
}

@media (max-width: 520px) {
    .auth-body {
        padding: 16px;
    }

    .login-panel {
        gap: 20px;
    }

    .login-logo-bottom {
        padding: 16px 20px 20px;
    }
}

.account-menu {
    position: relative;
    margin-bottom: 8px;
}

.account-menu summary {
    display: flex;
    align-items: center;
    gap: 10px;
    min-height: 42px;
    padding: 8px 10px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-soft);
    color: var(--silver);
    cursor: pointer;
    font-size: 13px;
    font-weight: 850;
    list-style: none;
}

.account-menu summary::-webkit-details-marker {
    display: none;
}

.account-name {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.account-menu-panel {
    display: grid;
    gap: 8px;
    margin-top: 8px;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--tooltip-bg);
    box-shadow: var(--shadow);
}

.account-menu-user,
.account-menu-role {
    margin: 0;
}

.account-menu-user {
    color: var(--silver);
    font-size: 13px;
    font-weight: 850;
}

.account-menu-role {
    color: var(--muted);
    font-size: 12px;
    font-weight: 750;
}

.account-menu-panel a {
    padding: 7px 0;
    color: var(--cyan);
    font-size: 13px;
    font-weight: 800;
}

.account-menu-panel form,
.account-menu-panel button {
    width: 100%;
}

@media (max-width: 820px) {
    .account-menu {
        min-width: 170px;
        margin-bottom: 0;
    }
}

.app-sidebar {
    position: fixed;
    inset: 0 auto 0 0;
    z-index: 40;
    display: flex;
    flex-direction: column;
    align-items: stretch;
    gap: 8px;
    width: 230px;
    padding: 22px 12px 18px;
    overflow-x: hidden;
    overflow-y: auto;
    overscroll-behavior-y: contain;
    border-right: 1px solid var(--border);
    background: var(--sidebar-bg);
    backdrop-filter: blur(18px);
    box-shadow: 14px 0 42px rgba(0, 0, 0, 0.28);
}

.sidebar-link {
    position: relative;
    display: flex;
    align-items: center;
    gap: 10px;
    min-width: 0;
    min-height: 42px;
    border-radius: 8px;
    color: var(--silver);
    font-size: 13px;
    font-weight: 850;
}

.sidebar-link span:not(.sidebar-icon):not(.sidebar-chevron) {
    min-width: 0;
    overflow-wrap: anywhere;
}

.sidebar-toggle {
    position: fixed;
    top: 108px;
    left: 203px;
    z-index: 45;
    display: grid;
    place-items: center;
    width: 34px;
    height: 34px;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: var(--surface-strong);
    color: var(--muted);
    cursor: pointer;
    font: inherit;
    box-shadow: 0 10px 24px rgba(0, 0, 0, 0.28);
    transition: background 0.16s ease, border-color 0.16s ease, color 0.16s ease, left 0.16s ease, transform 0.16s ease;
}

.sidebar-panel-icon {
    position: relative;
    display: block;
    width: 17px;
    height: 14px;
    border: 2px solid currentColor;
    border-radius: 4px;
}

.sidebar-panel-icon::before {
    content: "";
    position: absolute;
    top: 2px;
    bottom: 2px;
    left: 5px;
    width: 2px;
    border-radius: 999px;
    background: currentColor;
}

.sidebar-toggle:hover,
.sidebar-toggle:focus-visible {
    border-color: var(--border-strong);
    background: var(--cyan-soft);
    color: var(--cyan);
    outline: none;
}

.sidebar-link {
    padding: 8px 10px;
    border: 1px solid transparent;
}

.sidebar-group {
    display: block;
    flex: 0 0 auto;
    width: 100%;
    min-height: 42px;
    overflow: visible;
}

.sidebar-group[open] {
    height: auto;
    padding-bottom: 8px;
}

.sidebar-group > summary {
    cursor: pointer;
    list-style: none;
}

.sidebar-group > summary::-webkit-details-marker {
    display: none;
}

.sidebar-group-summary {
    width: 100%;
}

.sidebar-chevron {
    margin-left: auto;
    color: var(--muted);
    font-size: 18px;
    line-height: 1;
    transform: rotate(90deg);
    transition: transform 0.16s ease, color 0.16s ease;
}

.sidebar-group:not([open]) .sidebar-chevron {
    transform: rotate(0deg);
}

.sidebar-group-summary:hover .sidebar-chevron,
.sidebar-group-summary:focus-visible .sidebar-chevron {
    color: var(--cyan);
}

.sidebar-subnav {
    position: static;
    display: flex;
    flex: 0 0 auto;
    flex-direction: column;
    gap: 6px;
    width: 100%;
    padding-top: 6px;
    overflow: visible;
}

.sidebar-subnav-label {
    margin: 8px 8px 0 18px;
    color: var(--muted);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 0;
    line-height: 1.2;
    text-transform: uppercase;
}

.sidebar-subnav-label:first-child {
    margin-top: 2px;
}

.sidebar-sublink {
    box-sizing: border-box;
    flex: 0 0 auto;
    width: calc(100% - 18px);
    min-height: 36px;
    height: auto;
    margin-left: 18px;
    padding: 6px 8px;
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
    line-height: 1.25;
    white-space: normal;
}

.sidebar-sublink::before {
    content: "";
    position: absolute;
    left: -9px;
    top: 8px;
    bottom: 8px;
    width: 2px;
    border-radius: 999px;
    background: rgba(var(--cyan-rgb), 0.26);
}

.sidebar-sublink .sidebar-icon {
    width: 22px;
    height: 22px;
    border-radius: 7px;
    font-size: 10px;
}

.sidebar-subnav .sidebar-link {
    flex: 0 0 auto;
}

.sidebar-subnav .sidebar-link:hover::after,
.sidebar-subnav .sidebar-link:focus-visible::after {
    content: none;
}

.sidebar-link:hover,
.sidebar-link:focus-visible {
    border-color: var(--border-strong);
    background: var(--cyan-soft);
    color: var(--cyan);
    outline: none;
}

.sidebar-icon {
    display: grid;
    place-items: center;
    width: 26px;
    height: 26px;
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.06);
    color: var(--cyan);
    font-size: 11px;
    font-weight: 900;
}

.sidebar-link:hover::after,
.sidebar-link:focus-visible::after {
    content: attr(data-tooltip);
    position: absolute;
    left: calc(100% + 12px);
    top: 50%;
    width: 260px;
    transform: translateY(-50%);
    padding: 9px 11px;
    border: 1px solid var(--border-strong);
    border-radius: 8px;
    background: var(--tooltip-bg);
    color: var(--silver);
    font-size: 12px;
    font-weight: 750;
    line-height: 1.35;
    box-shadow: var(--shadow);
    pointer-events: none;
}

.page {
    width: min(1180px, calc(100% - 366px));
    margin-left: 326px;
    margin-right: 40px;
}

body.sidebar-collapsed .app-sidebar {
    align-items: center;
    width: 72px;
    padding-inline: 8px;
}

body.sidebar-collapsed .sidebar-toggle {
    left: 55px;
}

body.sidebar-collapsed .sidebar-group,
body.sidebar-collapsed .sidebar-link {
    width: 100%;
}

body.sidebar-collapsed .sidebar-link {
    justify-content: center;
    padding-inline: 8px;
}

body.sidebar-collapsed .sidebar-link span:not(.sidebar-icon),
body.sidebar-collapsed .sidebar-chevron,
body.sidebar-collapsed .sidebar-subnav {
    display: none;
}

body.sidebar-collapsed .page {
    width: min(1380px, calc(100% - 120px));
    margin-left: 100px;
    margin-right: 20px;
}

.top-actions .back-link {
    display: none;
}

.dashboard-layout-toolbar {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
    margin-bottom: 22px;
    padding: 14px 16px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-soft);
}

.dashboard-layout-copy {
    display: grid;
    gap: 3px;
}

.dashboard-layout-copy strong {
    color: var(--silver);
    font-size: 13px;
}

.dashboard-layout-copy span {
    color: var(--muted);
    font-size: 12px;
    font-weight: 750;
}

.dashboard-layout-actions {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}

.dashboard-layout-actions select {
    min-height: 36px;
    min-width: 180px;
    padding: 7px 10px;
}

.dashboard-secondary-layout {
    display: grid;
    gap: 22px;
}

.dashboard-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 22px;
}

.dashboard-card.span-2 {
    grid-column: 1 / -1;
}

.dashboard-card-controls {
    display: none;
    position: absolute;
    right: 10px;
    top: 10px;
    z-index: 4;
}

.dashboard-remove-card {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 42px;
    height: 42px;
    padding: 0;
    border: 0;
    border-radius: 50%;
    background: transparent;
    color: var(--danger);
    font-size: 32px;
    font-weight: 700;
    line-height: 1;
    cursor: pointer;
}

.dashboard-remove-card:hover,
.dashboard-remove-card:focus-visible {
    background: transparent;
    color: #ff7a90;
    outline: 2px solid rgba(255, 88, 116, 0.5);
    outline-offset: 2px;
}

.dashboard-editing [data-dashboard-card] {
    position: relative;
    border-color: rgba(18, 191, 255, 0.42);
    cursor: grab;
}

.dashboard-editing [data-dashboard-card].is-dragging {
    opacity: 0.55;
}

.dashboard-editing .dashboard-card-controls {
    display: flex;
}


.compact-dashboard-list {
    display: grid;
    gap: 10px;
}

.dashboard-priority-list {
    min-height: 430px;
    max-height: 430px;
    overflow-y: auto;
    align-content: start;
    padding-right: 12px;
}

.dashboard-hunts-list {
    --dashboard-hunt-row-height: 78px;
    min-height: calc((var(--dashboard-hunt-row-height) * 5) + 40px);
    max-height: calc((var(--dashboard-hunt-row-height) * 5) + 40px);
    scrollbar-gutter: stable;
}

.dashboard-hunts-list .dashboard-hunt-row {
    box-sizing: border-box;
    min-height: var(--dashboard-hunt-row-height);
    max-height: var(--dashboard-hunt-row-height);
    align-content: center;
    overflow: hidden;
}

.dashboard-hunts-list .dashboard-hunt-row strong,
.dashboard-hunts-list .dashboard-hunt-row span,
.dashboard-hunts-list .dashboard-hunt-row small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dashboard-hunts-list .dashboard-hunt-row.dashboard-hunt-confidence-high {
    border-color: rgba(255, 88, 116, 0.72);
    background: linear-gradient(90deg, rgba(255, 88, 116, 0.2), rgba(255, 88, 116, 0.08) 34%, var(--surface-soft));
    box-shadow: inset 5px 0 0 rgba(255, 88, 116, 0.95);
}

.dashboard-hunts-list .dashboard-hunt-row.dashboard-hunt-confidence-medium {
    border-color: rgba(255, 209, 102, 0.72);
    background: linear-gradient(90deg, rgba(255, 209, 102, 0.2), rgba(255, 209, 102, 0.08) 34%, var(--surface-soft));
    box-shadow: inset 5px 0 0 rgba(255, 209, 102, 0.95);
}

.dashboard-hunts-list .dashboard-hunt-row.dashboard-hunt-confidence-low {
    border-color: rgba(148, 163, 184, 0.72);
    background: linear-gradient(90deg, rgba(148, 163, 184, 0.18), rgba(148, 163, 184, 0.07) 34%, var(--surface-soft));
    box-shadow: inset 5px 0 0 rgba(148, 163, 184, 0.82);
}

.pin-icon {
    position: relative;
    display: inline-block;
    flex: 0 0 auto;
    width: 13px;
    height: 13px;
    margin-right: 7px;
    vertical-align: -2px;
}

.pin-icon::before {
    content: "";
    position: absolute;
    left: 3px;
    top: 1px;
    width: 7px;
    height: 7px;
    border: 1px solid currentColor;
    border-radius: 2px;
    background: currentColor;
    transform: rotate(45deg);
}

.pin-icon::after {
    content: "";
    position: absolute;
    left: 6px;
    top: 7px;
    width: 1px;
    height: 7px;
    background: currentColor;
    transform: rotate(45deg);
    transform-origin: top center;
}


.compact-dashboard-list a,
.dashboard-list-item {
    display: grid;
    gap: 4px;
    padding: 12px 14px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-soft);
}

.compact-dashboard-list a:hover {
    border-color: var(--border-strong);
    box-shadow: var(--glow);
}

.compact-dashboard-list strong,
.dashboard-list-item strong {
    color: var(--silver);
    font-size: 13px;
}

.compact-dashboard-list span,
.dashboard-list-item span {
    color: var(--text);
    font-size: 13px;
}

.compact-dashboard-list small,
.dashboard-list-item small {
    color: var(--muted);
    font-size: 12px;
    font-weight: 750;
}

.dashboard-source-header {
    align-items: center;
}

.dashboard-source-actions {
    align-items: center;
}

.auto-triage-status-strip {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin: 0 0 20px;
    padding: 14px 18px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: linear-gradient(135deg, rgba(16, 185, 129, 0.08), rgba(148, 163, 184, 0.04));
}

.auto-triage-status-copy {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.auto-triage-updated {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    width: fit-content;
    max-width: 100%;
    color: var(--muted);
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.auto-triage-status-copy strong {
    color: var(--text);
    font-size: 14px;
}

.auto-triage-status-copy span {
    color: var(--muted);
    font-size: 12px;
}

.auto-triage-status-copy .auto-triage-updated {
    align-items: center;
    gap: 7px;
    width: fit-content;
    max-width: 100%;
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.auto-triage-status-metrics {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
}

.auto-triage-status-metrics span {
    display: inline-flex;
    align-items: center;
    gap: 5px;
    min-height: 28px;
    padding: 4px 9px;
    border: 1px solid rgba(148, 163, 184, 0.26);
    border-radius: 999px;
    background: rgba(15, 23, 42, 0.38);
    color: var(--muted);
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.auto-triage-status-metrics strong {
    color: var(--text);
    font-size: 13px;
}

.dashboard-run-daily-toggle {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 36px;
    color: var(--silver);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.dashboard-run-daily-toggle input {
    width: auto;
}

.dashboard-source-run-status {
    margin: 0 0 10px;
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
}

.dashboard-source-items-list {
    --dashboard-source-row-height: 88px;
    grid-template-columns: 1fr;
    max-height: calc((var(--dashboard-source-row-height) * 5) + 48px);
    overflow-y: auto;
    align-content: start;
    padding-right: 12px;
    scrollbar-gutter: stable;
}

.dashboard-source-item-row {
    box-sizing: border-box;
    min-height: var(--dashboard-source-row-height);
    max-height: var(--dashboard-source-row-height);
    grid-template-columns: 42px minmax(0, 1fr) auto;
    align-items: center;
    overflow: hidden;
    border-left: 4px solid var(--cyan);
}

.dashboard-source-item-critical {
    border-left-color: var(--danger);
    background: linear-gradient(90deg, rgba(255, 88, 116, 0.14), var(--surface-soft) 34%);
}

.dashboard-source-item-high {
    border-left-color: #ff914d;
    background: linear-gradient(90deg, rgba(255, 145, 77, 0.14), var(--surface-soft) 34%);
}

.dashboard-source-item-medium {
    border-left-color: var(--warning);
    background: linear-gradient(90deg, rgba(255, 209, 102, 0.12), var(--surface-soft) 34%);
}

.dashboard-source-item-low {
    border-left-color: #44d689;
    background: linear-gradient(90deg, rgba(68, 214, 137, 0.1), var(--surface-soft) 34%);
}

.threat-severity-badge {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    min-height: 22px;
    margin-right: 6px;
    padding: 3px 7px;
    border: 1px solid rgba(148, 163, 184, 0.34);
    border-radius: 999px;
    background: rgba(148, 163, 184, 0.1);
    color: var(--muted);
    font-size: 11px;
    font-weight: 900;
    line-height: 1.2;
    vertical-align: middle;
}

.threat-severity-critical {
    border-color: rgba(255, 88, 116, 0.62);
    background: rgba(255, 88, 116, 0.16);
    color: #ff9bae;
}

.threat-severity-high {
    border-color: rgba(255, 145, 77, 0.56);
    background: rgba(255, 145, 77, 0.15);
    color: #ffbd8f;
}

.threat-severity-medium {
    border-color: rgba(255, 209, 102, 0.5);
    background: rgba(255, 209, 102, 0.14);
    color: var(--warning);
}

.threat-severity-low {
    border-color: rgba(68, 214, 137, 0.42);
    background: rgba(68, 214, 137, 0.12);
    color: #89f4b5;
}

.dashboard-hunt-confidence-high {
    box-shadow: inset 0 0 0 1px rgba(255, 88, 116, 0.36);
}

.dashboard-hunt-confidence-medium {
    box-shadow: inset 0 0 0 1px rgba(255, 209, 102, 0.34);
}

.dashboard-hunt-confidence-low {
    box-shadow: inset 0 0 0 1px rgba(148, 163, 184, 0.34);
}

.dashboard-source-item-critical.dashboard-hunt-confidence-high,
.dashboard-source-item-critical.dashboard-hunt-confidence-medium,
.dashboard-source-item-critical.dashboard-hunt-confidence-low {
    box-shadow: inset 0 0 0 1px rgba(255, 88, 116, 0.52);
}

.dashboard-source-rank {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border: 1px solid var(--border-strong);
    border-radius: 8px;
    background: var(--surface);
    color: var(--silver);
    font-weight: 900;
}

.dashboard-source-main {
    display: grid;
    gap: 5px;
    min-width: 0;
}

.dashboard-source-main strong,
.dashboard-source-main span,
.dashboard-source-main small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.dashboard-source-main strong {
    line-height: 1.25;
}

.dashboard-source-main span,
.dashboard-source-main small {
    line-height: 1.3;
}

.dashboard-source-date {
    text-align: right;
    white-space: nowrap;
}

@media (max-width: 680px) {
    .dashboard-source-item-row {
        grid-template-columns: 42px minmax(0, 1fr);
    }

    .dashboard-source-date {
        grid-column: 2;
        text-align: left;
    }
}

[data-dashboard-card="recent-sigma"] .compact-dashboard-list {
    gap: 7px;
}

[data-dashboard-card="recent-sigma"] .dashboard-sigma-row {
    padding: 9px 11px;
}

[data-dashboard-card="recent-sigma"] .dashboard-sigma-row strong,
[data-dashboard-card="recent-sigma"] .dashboard-sigma-row span,
[data-dashboard-card="recent-sigma"] .dashboard-sigma-row small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

[data-dashboard-card="recent-sigma"] .dashboard-sigma-row strong,
[data-dashboard-card="recent-sigma"] .dashboard-sigma-row span {
    font-size: 12px;
}

[data-dashboard-card="recent-sigma"] .dashboard-sigma-row small {
    font-size: 11px;
}

.danger-list a {
    border-color: rgba(255, 88, 116, 0.44);
    background: rgba(255, 88, 116, 0.1);
}

.dashboard-tooltip {
    position: relative;
    cursor: help;
}

.dashboard-tooltip::after {
    content: attr(data-tooltip);
    position: absolute;
    right: 0;
    top: calc(100% + 10px);
    z-index: 70;
    display: none;
    width: min(420px, calc(100vw - 48px));
    padding: 11px 13px;
    border: 1px solid var(--border-strong);
    border-radius: 8px;
    background: var(--tooltip-bg);
    color: var(--silver);
    box-shadow: var(--shadow);
    font-size: 12px;
    font-weight: 750;
    line-height: 1.45;
    text-align: left;
    text-transform: none;
    white-space: pre-line;
}

.dashboard-tooltip:hover::after,
.dashboard-tooltip:focus-visible::after {
    display: block;
}

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



.edr-filter-actions {
    gap: 14px;
    align-items: center;
    flex-wrap: wrap;
}

.edr-alert-list {
    display: grid;
    gap: 10px;
    max-height: 420px;
    overflow-y: auto;
    padding-right: 4px;
}

.edr-alert-row {
    display: grid;
    grid-template-columns: minmax(100px, 0.9fr) minmax(150px, 1.4fr) minmax(72px, 0.55fr) minmax(140px, 1fr) 42px;
    gap: 8px 10px;
    align-items: center;
    padding: 11px 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-soft);
}

.edr-alert-row:hover,
.edr-alert-row:focus-visible {
    border-color: var(--cyan);
    box-shadow: var(--glow);
    outline: none;
}

.edr-alert-row strong,
.edr-tool {
    color: var(--silver);
    font-size: 13px;
}

.edr-alert-row span,
.edr-alert-row a {
    min-width: 0;
    color: var(--text);
    font-size: 12px;
    overflow-wrap: anywhere;
}

.edr-alert-row a {
    color: var(--cyan);
    font-weight: 850;
}

.edr-count {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 30px;
    height: 30px;
    border-radius: 999px;
    background: rgba(255, 209, 102, 0.12);
    color: var(--warning) !important;
    font-weight: 900;
}

.connector-feed-toggle {
    align-self: start;
}


.ttp-toolbar,
.feed-limit-form,
.billing-month-form {
    display: flex;
    align-items: center;
    gap: 10px;
    flex-wrap: wrap;
}


.billing-date-range {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    white-space: nowrap;
}

.feed-limit-form label,
.billing-month-form label {
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.feed-limit-form select,
.billing-month-form input[type="date"] {
    min-height: 34px;
    padding: 6px 10px;
}

.ttp-scroll-list {
    display: grid;
    gap: 8px;
    max-height: 330px;
    overflow-y: auto;
    padding-right: 8px;
    scrollbar-gutter: stable;
}

.ttp-row {
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr);
    gap: 5px 9px;
    align-items: center;
    width: 100%;
    min-height: 58px;
    padding: 8px 10px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-soft);
    color: var(--text);
    text-align: left;
    cursor: pointer;
}

.ttp-row:hover,
.ttp-row.is-selected {
    border-color: var(--cyan);
    box-shadow: var(--glow);
}

.ttp-rank {
    grid-row: span 2;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 26px;
    height: 26px;
    border-radius: 50%;
    background: rgba(18, 191, 255, 0.12);
    color: var(--cyan);
    font-size: 12px;
    font-weight: 850;
}

.ttp-main {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.ttp-main strong {
    color: var(--silver);
    font-size: 12px;
}

.ttp-main span,
.ttp-meta {
    color: var(--text);
    font-size: 11px;
}

.ttp-main strong,
.ttp-main span,
.ttp-meta {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.ttp-meta {
    grid-column: 2;
    color: var(--muted);
    font-weight: 750;
}


.ttp-context-menu {
    position: fixed;
    z-index: 1000;
    display: grid;
    gap: 4px;
    min-width: 190px;
    padding: 6px;
    border: 1px solid var(--border-strong);
    border-radius: 8px;
    background: var(--tooltip-bg);
    box-shadow: var(--shadow);
}

.ttp-context-menu[hidden] {
    display: none;
}

.ttp-context-menu button[hidden] {
    display: none;
}

.ttp-context-menu button {
    display: flex;
    align-items: center;
    width: 100%;
    padding: 9px 10px;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: var(--silver);
    text-align: left;
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
}

.ttp-context-menu button:hover,
.ttp-context-menu button:focus-visible {
    background: rgba(18, 191, 255, 0.12);
    color: var(--cyan);
    outline: none;
}

.ttp-context-menu .danger-menu-item {
    color: var(--danger);
}

.ttp-context-menu .danger-menu-item:hover,
.ttp-context-menu .danger-menu-item:focus-visible {
    background: rgba(255, 88, 116, 0.12);
    color: var(--danger);
}


.power-enrichment-dialog {
    width: min(620px, calc(100vw - 32px));
    max-height: min(520px, calc(100vh - 32px));
    overflow: auto;
    border: 1px solid rgba(var(--cyan-rgb), 0.5);
    border-radius: 8px;
    background: linear-gradient(180deg, rgba(13, 27, 45, 0.98), rgba(7, 16, 28, 0.98));
    color: var(--text);
    box-shadow: 0 24px 80px rgba(0, 0, 0, 0.5), 0 0 42px rgba(var(--cyan-rgb), 0.16);
}

.power-enrichment-dialog::backdrop {
    background: rgba(2, 8, 18, 0.72);
    backdrop-filter: blur(4px);
}

.power-enrichment-dialog-shell {
    display: grid;
    gap: 16px;
    padding: 22px;
}

.power-enrichment-dialog-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
}

.power-enrichment-dialog-header h2,
.power-enrichment-dialog-header p {
    margin: 0;
}

.power-enrichment-dialog-header p {
    margin-top: 6px;
    color: var(--muted);
    font-size: 13px;
    font-weight: 800;
}

.hunt-status-dialog.is-running {
    animation: hunt-dialog-glow 2.4s ease-in-out infinite;
}

.hunt-status-dialog .submit-status {
    display: inline-flex;
    min-height: 0;
    margin-top: 8px;
}

.hunt-status-note {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    margin-top: 10px;
    padding: 6px 10px;
    border: 1px solid rgba(255, 209, 102, 0.48);
    border-radius: 999px;
    background: rgba(255, 209, 102, 0.12);
    color: var(--warning);
    font-size: 12px;
    font-weight: 900;
}

.hunt-status-pulse {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-width: 56px;
    justify-content: flex-end;
    padding-top: 5px;
}

.hunt-status-pulse span {
    width: 8px;
    height: 8px;
    border-radius: 50%;
    background: var(--cyan);
    box-shadow: 0 0 16px rgba(var(--cyan-rgb), 0.58);
    opacity: 0.38;
    transform: scale(0.72);
    animation: hunt-status-dot 1.2s ease-in-out infinite;
}

.hunt-status-pulse span:nth-child(2) {
    animation-delay: 0.16s;
}

.hunt-status-pulse span:nth-child(3) {
    animation-delay: 0.32s;
}

.hunt-status-progress {
    height: 4px;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(148, 163, 184, 0.14);
}

.hunt-status-progress span {
    display: block;
    width: 42%;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, transparent, var(--cyan-strong), var(--cyan), transparent);
    box-shadow: 0 0 18px rgba(18, 191, 255, 0.36);
    animation: hunt-status-progress 1.35s ease-in-out infinite;
}

.hunt-status-dialog-actions {
    justify-content: flex-end;
    margin-top: 0;
}

.scan-progress-card .section-body {
    display: grid;
    gap: 14px;
}

.scan-progress-track {
    width: 100%;
    height: 12px;
    border-radius: 999px;
    overflow: hidden;
    background: rgba(148, 163, 184, 0.2);
    border: 1px solid rgba(148, 163, 184, 0.24);
}

.scan-progress-track span {
    display: block;
    height: 100%;
    min-width: 3px;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--accent), var(--accent-strong));
    transition: width 240ms ease;
}

.scan-progress-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 10px;
}

.scan-progress-grid div {
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: rgba(15, 23, 42, 0.24);
}

.scan-progress-grid span,
.scan-progress-message {
    color: var(--muted);
}

.scan-progress-grid strong {
    display: block;
    margin-top: 4px;
}

.scan-progress-message {
    margin: 0;
}

.result-limit-dialog {
    width: min(500px, calc(100vw - 32px));
}

.result-limit-dialog-form {
    gap: 14px;
}

.ai-cost-summary {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    margin: 0;
}

.ai-cost-summary div {
    display: grid;
    gap: 5px;
    min-width: 0;
    padding: 12px;
    border: 1px solid rgba(148, 163, 184, 0.26);
    border-radius: 8px;
    background: rgba(15, 23, 42, 0.36);
}

.ai-cost-summary dt {
    color: var(--muted);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.ai-cost-summary dd {
    margin: 0;
    color: var(--text);
    font-size: 15px;
    font-weight: 900;
    overflow-wrap: anywhere;
}

.ai-cost-summary [data-ai-cost-value] {
    color: var(--warning);
    font-size: 18px;
}

.result-limit-field {
    display: grid;
    gap: 8px;
    color: var(--muted);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.result-limit-field input {
    width: 100%;
    border: 1px solid rgba(148, 163, 184, 0.34);
    border-radius: 8px;
    background: rgba(2, 8, 18, 0.7);
    color: var(--text);
    font-size: 15px;
    font-weight: 900;
    padding: 11px 12px;
}

.result-limit-field input:focus {
    border-color: rgba(var(--cyan-rgb), 0.7);
    box-shadow: 0 0 0 3px rgba(var(--cyan-rgb), 0.16);
    outline: none;
}

.result-limit-hint {
    margin: -4px 0 0;
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
}

.result-limit-dialog-actions {
    justify-content: flex-end;
    margin-top: 2px;
}

html[data-theme="light"] .hunt-status-dialog {
    border-color: rgba(var(--cyan-rgb), 0.42);
    background: linear-gradient(180deg, rgba(248, 251, 255, 0.98), rgba(229, 237, 247, 0.98));
    color: var(--text);
    box-shadow: 0 24px 70px rgba(15, 23, 42, 0.28), 0 0 28px rgba(var(--cyan-rgb), 0.16);
}

html[data-theme="light"] .hunt-status-dialog::backdrop {
    background: rgba(15, 23, 42, 0.5);
}

html[data-theme="light"] .hunt-status-dialog .submit-status,
html[data-theme="light"] .hunt-status-dialog .submit-status.active,
html[data-theme="light"] .hunt-status-dialog .submit-status:not(:empty) {
    color: var(--text);
}

html[data-theme="light"] .hunt-status-progress {
    background: rgba(37, 99, 155, 0.18);
}

html[data-theme="light"] .hunt-status-progress span {
    background: linear-gradient(90deg, transparent, var(--cyan-strong), var(--cyan), transparent);
    box-shadow: 0 0 14px rgba(var(--cyan-rgb), 0.28);
}

html[data-theme="light"] .result-limit-dialog {
    border-color: rgba(var(--cyan-rgb), 0.42);
    background: linear-gradient(180deg, rgba(248, 251, 255, 0.98), rgba(229, 237, 247, 0.98));
    color: var(--text);
    box-shadow: 0 24px 70px rgba(15, 23, 42, 0.28), 0 0 28px rgba(var(--cyan-rgb), 0.16);
}

html[data-theme="light"] .result-limit-field input {
    border-color: rgba(37, 99, 155, 0.32);
    background: rgba(248, 251, 255, 0.96);
    color: var(--text);
}

html[data-theme="light"] .ai-cost-summary div {
    border-color: rgba(37, 99, 155, 0.24);
    background: rgba(248, 251, 255, 0.78);
}

@keyframes hunt-status-dot {
    0%, 80%, 100% {
        opacity: 0.38;
        transform: scale(0.72);
    }

    40% {
        opacity: 1;
        transform: scale(1);
    }
}

@keyframes hunt-status-progress {
    0% {
        transform: translateX(-110%);
    }

    100% {
        transform: translateX(250%);
    }
}

@keyframes hunt-dialog-glow {
    0%, 100% {
        box-shadow: 0 24px 80px rgba(0, 0, 0, 0.5), 0 0 32px rgba(var(--cyan-rgb), 0.14);
    }

    50% {
        box-shadow: 0 24px 80px rgba(0, 0, 0, 0.5), 0 0 52px rgba(var(--cyan-rgb), 0.26);
    }
}

@media (prefers-reduced-motion: reduce) {
    .hunt-status-dialog.is-running,
    .hunt-status-pulse span,
    .hunt-status-progress span {
        animation: none;
    }

    .hunt-status-pulse span {
        opacity: 0.82;
        transform: none;
    }

    .hunt-status-progress span {
        width: 100%;
    }
}

.blueprint-review-readiness {
    display: grid;
    gap: 8px;
    margin-bottom: 18px;
    padding: 14px 16px;
    border: 1px solid rgba(245, 158, 11, 0.42);
    border-radius: 10px;
    background: rgba(245, 158, 11, 0.08);
}

.blueprint-review-readiness.is-ready {
    border-color: rgba(34, 197, 94, 0.42);
    background: rgba(34, 197, 94, 0.08);
}

.blueprint-review-readiness ul {
    margin: 0;
    padding-left: 20px;
}

.status-superseded {
    border-color: rgba(148, 163, 184, 0.5);
    color: var(--muted);
    background: rgba(100, 116, 139, 0.14);
}

/* Reviewed cloud-export ingestion for Threat Blueprints. */
.cloud-blueprint-import {
    margin-bottom: 24px;
    padding: 20px;
    border: 1px solid rgba(34, 211, 238, 0.24);
    border-radius: 14px;
    background:
        radial-gradient(circle at 100% 0, rgba(34, 211, 238, 0.09), transparent 34%),
        rgba(4, 13, 24, 0.52);
}

.cloud-blueprint-import-header {
    align-items: flex-start;
    gap: 20px;
    margin-bottom: 18px;
}

.cloud-blueprint-import-header h3,
.cloud-import-preview-summary h4 {
    margin: 4px 0 6px;
}

.cloud-provider-badges {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
}

.cloud-provider-badges span {
    padding: 7px 10px;
    border: 1px solid rgba(34, 211, 238, 0.3);
    border-radius: 999px;
    color: var(--accent-bright, #67e8f9);
    background: rgba(8, 145, 178, 0.12);
    font-size: 0.76rem;
    font-weight: 800;
    white-space: nowrap;
}

.cloud-blueprint-import-controls {
    display: grid;
    grid-template-columns: minmax(190px, 0.8fr) minmax(300px, 1.6fr) auto;
    align-items: end;
    gap: 12px;
}

.cloud-blueprint-import-controls label {
    display: grid;
    gap: 7px;
    min-width: 0;
}

.cloud-blueprint-import-controls label > span {
    color: var(--muted);
    font-size: 0.75rem;
    font-weight: 800;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.cloud-blueprint-import-controls input[type="file"] {
    width: 100%;
    min-height: 44px;
    padding: 8px 10px;
    border: 1px solid var(--border);
    border-radius: 8px;
    color: var(--text);
    background: var(--surface-soft);
}

.cloud-import-safety-note {
    margin: 12px 0 0;
    padding: 10px 12px;
    border-left: 3px solid rgba(34, 211, 238, 0.7);
    color: var(--muted);
    background: rgba(34, 211, 238, 0.05);
    font-size: 0.86rem;
}

.cloud-import-preview {
    margin-top: 18px;
    padding-top: 18px;
    border-top: 1px solid var(--border);
}

.cloud-import-preview-summary,
.cloud-import-apply-actions {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.cloud-import-warning-list {
    margin: 12px 0;
    padding: 10px 12px;
    border: 1px solid rgba(245, 158, 11, 0.35);
    border-radius: 8px;
    color: #fbbf24;
    background: rgba(245, 158, 11, 0.07);
}

.cloud-import-warning-list p {
    margin: 3px 0;
}

.cloud-import-resource-table {
    max-height: 440px;
    margin-top: 12px;
    overflow: auto;
}

.cloud-import-resource-table td {
    vertical-align: middle;
}

.cloud-import-resource-table td:nth-child(2),
.cloud-import-resource-table td:nth-child(5) {
    overflow-wrap: anywhere;
}

.cloud-import-cell-detail {
    display: block;
    margin-top: 3px;
}

.cloud-import-confirmation {
    margin: 14px 0;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: rgba(15, 23, 42, 0.28);
}

.cloud-import-relationship-preview {
    margin-top: 14px;
    border: 1px solid var(--border);
    border-radius: 8px;
    padding: 10px 12px;
}

.cloud-import-relationship-preview summary {
    cursor: pointer;
    color: var(--cyan);
    font-weight: 800;
}

.cloud-import-status {
    min-height: 1.4em;
    margin: 10px 0 0;
}

.cloud-import-history {
    margin-top: 16px;
    border-top: 1px solid var(--border);
    padding-top: 12px;
}

.cloud-import-history summary {
    cursor: pointer;
    font-weight: 800;
}

.cloud-import-history .admin-table-wrap {
    margin-top: 10px;
}

.compact-flash {
    margin: 0 0 14px;
}

html[data-theme="light"] .cloud-blueprint-import {
    border-color: rgba(0, 109, 168, 0.22);
    background:
        radial-gradient(circle at 100% 0, rgba(14, 116, 144, 0.08), transparent 34%),
        rgba(248, 251, 255, 0.82);
}

html[data-theme="light"] .cloud-provider-badges span {
    color: #075985;
    border-color: rgba(2, 132, 199, 0.25);
    background: rgba(14, 165, 233, 0.08);
}

html[data-theme="light"] .cloud-import-confirmation {
    background: rgba(226, 232, 240, 0.4);
}

@media (max-width: 900px) {
    .cloud-blueprint-import-controls {
        grid-template-columns: 1fr;
    }

    .cloud-blueprint-import-controls .primary-button {
        width: 100%;
    }

    .cloud-blueprint-import-header,
    .cloud-import-preview-summary,
    .cloud-import-apply-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .cloud-provider-badges {
        justify-content: flex-start;
    }
}
.reputation-dialog {
    width: min(860px, calc(100vw - 32px));
    max-height: min(760px, calc(100vh - 32px));
    overflow: auto;
    border: 1px solid var(--border-strong);
    border-radius: 8px;
    background: linear-gradient(180deg, rgba(13, 27, 45, 0.98), rgba(7, 16, 28, 0.98));
    color: var(--text);
    box-shadow: var(--shadow);
}

.reputation-dialog::backdrop {
    background: rgba(2, 8, 18, 0.72);
    backdrop-filter: blur(4px);
}

.reputation-dialog-shell {
    display: grid;
    gap: 16px;
    padding: 22px;
}

.reputation-dialog-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
}

.reputation-dialog-header h2,
.reputation-dialog-header p {
    margin: 0;
}

.reputation-dialog-header p {
    margin-top: 6px;
    color: var(--muted);
    font-size: 13px;
    font-weight: 800;
}

.reputation-dialog-body {
    display: grid;
    gap: 14px;
}

.reputation-summary {
    margin: 0;
}

.reputation-source {
    display: grid;
    gap: 8px;
    padding-top: 14px;
    border-top: 1px solid var(--border);
}

.reputation-source h3,
.reputation-source p {
    margin: 0;
}


.dns-record-section {
    overflow-x: auto;
}

.dns-record-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.dns-record-table th,
.dns-record-table td {
    padding: 10px 8px;
    border-bottom: 1px solid var(--border);
    text-align: left;
    vertical-align: top;
}

.dns-record-table th {
    color: var(--silver);
    font-weight: 850;
}

.dns-record-table td {
    color: var(--text);
}

.dns-record-values {
    margin: 0;
}

.dns-record-values li + li {
    margin-top: 5px;
}


.feed-issues-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.feed-issue-item {
    display: grid;
    gap: 4px;
    padding: 12px 14px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-soft);
}

.feed-issue-item.feed-issue-stale,
.feed-issue-item.feed-issue-failed {
    border-color: rgba(255, 88, 116, 0.44);
    background: rgba(255, 88, 116, 0.1);
}

.feed-issue-item strong {
    color: var(--silver);
    font-size: 13px;
}

.feed-issue-item span,
.feed-issue-item small {
    color: var(--muted);
    font-size: 12px;
    font-weight: 750;
}

@media (max-width: 1180px) {
    .page {
        width: calc(100% - 270px);
        margin-left: 250px;
        margin-right: 20px;
    }

    body.sidebar-collapsed .page {
        width: calc(100% - 102px);
        margin-left: 84px;
        margin-right: 18px;
    }

    .feed-issues-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 820px) {
    .app-sidebar,
    body.sidebar-collapsed .app-sidebar {
        position: static;
        width: auto;
        align-items: stretch;
        flex-direction: row;
        overflow-x: auto;
        border-right: 0;
        border-bottom: 1px solid var(--border);
    }

    .sidebar-toggle {
        display: none;
    }

    .sidebar-link span:not(.sidebar-icon) {
        display: none;
    }

    .page {
        width: min(100% - 24px, 1180px);
        margin: 0 auto;
    }

    body.sidebar-collapsed .page {
        width: min(100% - 24px, 1180px);
        margin: 0 auto;
    }

    .dashboard-layout-toolbar {
        align-items: stretch;
        flex-direction: column;
    }

    .dashboard-layout-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .dashboard-layout-actions select,
    .dashboard-layout-actions button {
        width: 100%;
    }

    .dashboard-grid,
    .feed-issues-grid,
    .quick-action-grid {
        grid-template-columns: 1fr;
    }
}

.mfa-setup-grid {
    display: grid;
    grid-template-columns: 220px minmax(0, 1fr);
    gap: 18px;
    align-items: start;
    margin-bottom: 18px;
}

.mfa-qr-panel {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 220px;
    padding: 14px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: #ffffff;
}

.mfa-qr-panel img {
    display: block;
    width: 190px;
    max-width: 100%;
    height: auto;
}

@media (max-width: 720px) {
    .mfa-setup-grid {
        grid-template-columns: 1fr;
    }

    .mfa-qr-panel {
        min-height: 180px;
    }
}



.demo-mode-toggle {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 16px;
    padding: 14px 16px;
    border: 1px solid var(--border-strong);
    border-radius: 8px;
    background: rgba(18, 191, 255, 0.08);
}

.demo-mode-toggle h3 {
    margin: 0 0 4px;
    color: var(--silver);
    font-size: 15px;
}

.demo-mode-toggle .config-description {
    margin: 0;
}

@media (max-width: 680px) {
    .demo-mode-toggle {
        align-items: flex-start;
        flex-direction: column;
    }
}

.capability-summary {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.capability-table-wrap {
    max-height: 620px;
}

.capability-table th,
.capability-table td {
    white-space: nowrap;
}

.capability-table td:first-child,
.capability-table td:nth-child(3) {
    white-space: normal;
    min-width: 150px;
}

.capability-badge {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 24px;
    padding: 4px 8px;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.045);
    color: var(--muted);
    font-size: 11px;
    font-weight: 850;
    line-height: 1.2;
}

.capability-live {
    border-color: rgba(125, 255, 178, 0.45);
    background: rgba(125, 255, 178, 0.12);
    color: var(--success);
}

.capability-demo {
    border-color: rgba(255, 209, 102, 0.45);
    background: rgba(255, 209, 102, 0.12);
    color: var(--warning);
}

.capability-configured {
    border-color: rgba(18, 191, 255, 0.45);
    background: rgba(18, 191, 255, 0.12);
    color: var(--cyan);
}

.capability-planned {
    border-color: var(--border);
    background: var(--surface-soft);
    color: var(--silver);
}

.capability-ok {
    border-color: rgba(125, 255, 178, 0.45);
    background: rgba(125, 255, 178, 0.12);
    color: var(--success);
}

.capability-error {
    border-color: rgba(255, 111, 97, 0.5);
    background: rgba(255, 111, 97, 0.12);
    color: var(--danger);
}

.capability-never {
    border-color: var(--border);
    background: var(--surface-soft);
    color: var(--muted);
}

.capability-none {
    opacity: 0.48;
}

.sr-only {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.help-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(300px, 0.75fr);
    gap: 22px;
    align-items: stretch;
}

.help-workspace {
    display: grid;
    gap: 22px;
    min-width: 0;
    height: 100%;
}

.help-chat-panel {
    display: grid;
    grid-template-rows: auto minmax(0, 1fr) auto;
    height: 100%;
    overflow: hidden;
}

.help-chat-body {
    display: grid;
    align-content: start;
    gap: 14px;
    min-height: 0;
    padding: 20px;
    overflow-y: auto;
}

.help-message {
    max-width: min(760px, 92%);
    padding: 13px 15px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-soft);
}

.help-message p {
    margin: 0;
    color: var(--text);
    font-size: 14px;
    line-height: 1.6;
}

.help-message p + p,
.help-message p + ol,
.help-message p + ul,
.help-message ol + p,
.help-message ul + p {
    margin-top: 10px;
}

.help-message ol,
.help-message ul {
    display: grid;
    gap: 7px;
    margin: 10px 0 0;
    padding-left: 22px;
    color: var(--text);
    font-size: 14px;
    line-height: 1.55;
}

.help-message-user {
    justify-self: end;
    border-color: var(--border-strong);
    background: var(--cyan-soft);
}

.help-message-assistant {
    justify-self: start;
}

.help-message-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    margin-top: 10px;
    font-size: 13px;
}

.help-message-actions span {
    color: var(--muted);
    font-weight: 700;
}

.help-message-actions a,
.markdown-help-body .help-function-link {
    color: var(--cyan);
    font-weight: 700;
    text-decoration: underline;
    text-underline-offset: 3px;
}

.help-message-actions a:hover,
.help-message-actions a:focus-visible,
.markdown-help-body .help-function-link:hover,
.markdown-help-body .help-function-link:focus-visible {
    color: var(--text);
}

.help-chat-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: end;
    padding: 18px 20px 20px;
    border-top: 1px solid var(--border);
    background: rgba(255, 255, 255, 0.025);
}

.help-chat-form textarea {
    min-height: 78px;
}

.field-normalization-builder-page .hero {
    margin-bottom: 22px;
}

.field-normalization-builder-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(280px, 0.32fr);
    gap: 22px;
    align-items: start;
}

.field-normalization-builder {
    overflow: hidden;
}

.field-normalization-form {
    display: grid;
    gap: 16px;
    padding: 20px;
}

.field-normalization-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.field-normalization-actions {
    display: grid;
    grid-template-columns: repeat(5, minmax(142px, max-content));
    gap: 10px;
    align-items: center;
}

.field-normalization-actions button,
.field-normalization-actions select {
    width: 100%;
    min-width: 142px;
    min-height: 38px;
}

.field-normalization-status {
    min-height: 22px;
    padding: 0 20px 14px;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.5;
}

.field-normalization-status[data-tone="success"] {
    color: var(--success);
}

.field-normalization-status[data-tone="warning"] {
    color: var(--warning);
}

.field-normalization-preview-wrap {
    margin: 0 20px 20px;
}

.field-normalization-preview {
    min-width: 960px;
}

.field-normalization-preview input,
.field-normalization-preview select {
    min-width: 150px;
}

.help-source-panel {
    position: sticky;
    top: 20px;
}

.help-citations {
    display: grid;
    gap: 12px;
    margin-top: 16px;
}

.help-citation {
    display: grid;
    gap: 8px;
    padding: 13px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-soft);
}

.help-citation h3 {
    margin: 0;
    color: var(--cyan);
    font-size: 13px;
    line-height: 1.35;
}

.help-citation p {
    display: -webkit-box;
    -webkit-line-clamp: 7;
    -webkit-box-orient: vertical;
    margin: 0;
    overflow: hidden;
    color: var(--muted);
    font-size: 12px;
    line-height: 1.55;
    white-space: normal;
}

@media (max-width: 920px) {
    .help-layout,
    .help-chat-form,
    .field-normalization-builder-layout,
    .field-normalization-grid,
    .data-policy-tabs {
        grid-template-columns: 1fr;
    }

    .help-workspace,
    .help-chat-panel {
        height: auto;
    }

    .help-chat-body {
        min-height: 360px;
    }

    .help-source-panel {
        position: static;
    }

    .field-normalization-actions {
        grid-template-columns: 1fr;
    }

    .field-normalization-actions select,
    .field-normalization-actions button {
        width: 100%;
    }
}

.guide-list a,
.help-citation a {
    color: var(--cyan);
    font-weight: 850;
}

.guide-list a:hover,
.help-citation a:hover {
    color: var(--silver);
}

.guide-list .help-guide-group {
    min-height: 0;
    margin-top: 8px;
    padding: 8px 4px 3px;
    border: 0;
    background: transparent;
    color: var(--muted);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 0.1em;
    text-transform: uppercase;
}

.guide-list .help-guide-group:first-child {
    margin-top: 0;
}

.help-doc-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(300px, 0.75fr);
    gap: 22px;
    align-items: start;
}

.help-doc-content {
    overflow: hidden;
}

.markdown-help-body {
    display: grid;
    gap: 14px;
}

.markdown-help-body h1,
.markdown-help-body h2,
.markdown-help-body h3,
.markdown-help-body h4 {
    scroll-margin-top: 24px;
}

.markdown-help-body h1 {
    font-size: 32px;
}

.markdown-help-body h2 {
    margin-top: 12px;
    padding-top: 18px;
    border-top: 1px solid var(--border);
    font-size: 22px;
}

.markdown-help-body h3 {
    margin: 8px 0 0;
    color: var(--silver);
    font-size: 17px;
}

.markdown-help-body h4 {
    margin: 6px 0 0;
    color: var(--cyan);
    font-size: 14px;
}

.markdown-help-body p,
.markdown-help-body li {
    color: var(--text);
    font-size: 14px;
    line-height: 1.7;
}

.markdown-help-body ul,
.markdown-help-body ol {
    display: grid;
    gap: 8px;
    margin: 0;
    padding-left: 22px;
}

.markdown-help-body pre {
    overflow: auto;
    margin: 0;
    padding: 16px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--code-bg);
    color: var(--code-text);
}

.markdown-help-body code {
    padding: 1px 5px;
    border-radius: 5px;
    background: var(--code-bg);
    color: var(--code-text);
    font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
    font-size: 0.92em;
}

.markdown-help-body pre code {
    padding: 0;
    background: transparent;
}

.markdown-help-body blockquote {
    margin: 0;
    padding: 12px 16px;
    border-left: 3px solid var(--cyan);
    background: var(--surface-soft);
    color: var(--text);
    line-height: 1.65;
}

.markdown-help-body hr {
    width: 100%;
    margin: 4px 0;
    border: 0;
    border-top: 1px solid var(--border);
}

.help-table-wrap {
    max-width: 100%;
    overflow-x: auto;
    border: 1px solid var(--border);
    border-radius: 8px;
}

.help-markdown-table {
    width: 100%;
    min-width: 560px;
    border-collapse: collapse;
    background: var(--surface-soft);
}

.help-markdown-table th,
.help-markdown-table td {
    padding: 10px 12px;
    border-bottom: 1px solid var(--border);
    color: var(--text);
    font-size: 13px;
    line-height: 1.5;
    text-align: left;
    vertical-align: top;
}

.help-markdown-table th {
    color: var(--silver);
    font-weight: 850;
}

.help-markdown-table tbody tr:last-child td {
    border-bottom: 0;
}

.active-guide {
    border-color: var(--border-strong) !important;
    background: var(--cyan-soft) !important;
}

@media (max-width: 920px) {
    .help-doc-layout {
        grid-template-columns: 1fr;
    }
}

.help-doc-toc {
    padding: 14px 18px 14px 34px !important;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-soft);
}

.help-doc-toc a {
    color: var(--cyan);
    font-weight: 850;
}

.help-doc-toc a:hover,
.help-doc-toc a:focus-visible {
    color: var(--silver);
}

.prompt-source-table-wrap {
    max-height: 680px;
    overflow: auto;
}

.prompt-source-table {
    min-width: 1120px;
}

.prompt-source-table td {
    max-width: 280px;
    overflow-wrap: anywhere;
}


.playbook-intro-grid,
.playbook-detail-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.playbook-intro-grid div,
.playbook-detail-grid div {
    display: grid;
    gap: 6px;
    padding: 14px 16px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-soft);
}

.playbook-intro-grid strong,
.playbook-detail-grid h3 {
    margin: 0;
    color: var(--silver);
    font-size: 13px;
}

.playbook-intro-grid span,
.playbook-detail-grid p,
.playbook-summary {
    margin: 0;
    color: var(--text);
    font-size: 13px;
    line-height: 1.55;
}

.playbook-single-view {
    display: grid;
    gap: 22px;
}

.playbook-selector-body {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.clone-playbook-form {
    display: inline-flex;
}

.playbook-selector-body label {
    color: var(--muted);
    font-size: 12px;
    font-weight: 850;
    text-transform: uppercase;
}

.playbook-selector-body select {
    min-height: 42px;
    padding: 9px 12px;
}

.custom-playbook-template[hidden] {
    display: none;
}

.playbook-template-body {
    display: grid;
    gap: 16px;
}

.playbook-template-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.playbook-template-grid .field.full {
    grid-column: 1 / -1;
}

.playbook-template-grid textarea {
    min-height: 118px;
}

.playbook-template-grid .playbook-large-textarea {
    min-height: 180px;
}

.custom-playbook-list {
    display: grid;
    gap: 16px;
}

.custom-playbook-card {
    display: grid;
    gap: 14px;
    padding: 16px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-soft);
}

.custom-playbook-card-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
}

.custom-playbook-card h3,
.custom-playbook-card p {
    margin: 0;
}

.custom-playbook-card h3 {
    color: var(--silver);
    font-size: 15px;
}

.custom-playbook-card p {
    color: var(--text);
    font-size: 13px;
    line-height: 1.55;
}

.delete-playbook-form {
    display: flex;
    justify-content: flex-end;
}

.playbook-form-actions {
    gap: 12px;
}

.playbook-card .section-header h2 {
    display: flex;
    align-items: center;
    gap: 10px;
}

.playbook-rank {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 32px;
    height: 32px;
    border-radius: 50%;
    background: rgba(18, 191, 255, 0.12);
    color: var(--cyan);
    font-size: 13px;
    font-weight: 900;
}

.playbook-body {
    display: grid;
    gap: 16px;
}

.playbook-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}

.playbook-pivot-action {
    margin-left: auto;
}

.playbook-ttp-panel {
    display: grid;
    gap: 10px;
}

.playbook-ttp-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.playbook-ttp-header h3 {
    margin: 0;
    color: var(--silver);
    font-size: 14px;
}

.playbook-detail-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.playbook-details {
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-soft);
}

.playbook-details summary {
    padding: 12px 14px;
    color: var(--silver);
    font-size: 13px;
    font-weight: 850;
    cursor: pointer;
}

.playbook-details ol,
.playbook-details ul {
    margin: 0;
    padding: 0 18px 14px 34px;
    color: var(--text);
    font-size: 13px;
    line-height: 1.55;
}

.playbook-details li + li {
    margin-top: 8px;
}

@media (max-width: 820px) {
    .playbook-intro-grid,
    .playbook-detail-grid,
    .playbook-template-grid,
    .playbook-selector-body {
        grid-template-columns: 1fr;
    }

    .custom-playbook-card-header,
    .playbook-ttp-header,
    .delete-playbook-form {
        align-items: stretch;
        flex-direction: column;
    }
}


.billing-chart-section {
    display: grid;
    gap: 18px;
    background: var(--surface);
}

.billing-summary-row {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 12px;
}

.billing-summary-row div {
    min-width: 0;
    padding: 14px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-soft);
}

.billing-summary-row span {
    display: block;
    color: var(--muted);
    font-size: 12px;
    font-weight: 750;
    text-transform: uppercase;
}

.billing-summary-row strong {
    display: block;
    margin-top: 6px;
    color: var(--text);
    font-size: 20px;
    line-height: 1.2;
    overflow-wrap: anywhere;
}

.billing-chart-wrap {
    min-height: 320px;
    border-radius: 8px;
    background: var(--surface-soft);
}

.billing-line-chart {
    width: 100%;
    height: 320px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-soft);
}

.billing-gridline {
    stroke: rgba(148, 163, 184, 0.22);
    stroke-width: 1;
}

.billing-axis-label {
    fill: var(--muted);
    font-size: 12px;
    font-weight: 700;
}

.billing-legend {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 10px;
}

.billing-legend-item {
    display: grid;
    grid-template-columns: 12px minmax(0, 1fr);
    gap: 8px 10px;
    align-items: center;
    width: 100%;
    padding: 10px 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    appearance: none;
    background: var(--surface-soft);
    color: inherit;
    cursor: pointer;
    font: inherit;
    text-align: left;
    white-space: normal;
}

.billing-legend-item:hover,
.billing-legend-item:focus-visible {
    border-color: rgba(var(--cyan-rgb), 0.55);
    background: rgba(var(--cyan-rgb), 0.08);
    outline: none;
}

.billing-legend-item:not(.is-active) {
    opacity: 0.58;
}

.billing-legend-item span {
    width: 12px;
    height: 12px;
    border: 2px solid var(--legend-color);
    border-radius: 999px;
    background: var(--legend-color);
}

.billing-legend-item:not(.is-active) span {
    background: transparent;
}

.billing-legend-item strong,
.billing-legend-item small {
    display: block;
    min-width: 0;
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: normal;
}

.billing-legend-item strong {
    line-height: 1.25;
}

.billing-legend-item small {
    grid-column: 2;
    color: var(--muted);
    font-size: 12px;
}

@media (max-width: 760px) {
    .billing-summary-row {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 520px) {
    .billing-summary-row {
        grid-template-columns: 1fr;
    }

    .billing-legend {
        grid-template-columns: 1fr;
    }
}


.entities-header {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr) auto;
    align-items: center;
    column-gap: 18px;
    row-gap: 12px;
}

.entities-header .section-actions,
.entities-header > .pill {
    justify-self: end;
}

.entities-header .section-actions {
    display: flex;
    align-items: center;
    gap: 12px;
    margin-left: 8px;
}

.entity-analyzer-launch {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(132px, 1fr));
    gap: 12px;
    justify-self: stretch;
    width: 100%;
}

.entity-analyzer-launch .inline-action-form {
    display: flex;
    margin: 0;
}

.entity-analyzer-launch .secondary-button,
.entity-analyzer-launch button {
    width: 100%;
    justify-content: center;
}

.entity-analyzer-page {
    width: calc(100% - 366px);
    max-width: none;
}

.entity-analyzer-hero {
    display: block;
}

.entity-analyzer-hero .hero-main {
    padding: 20px 24px;
}

.entity-analyzer-hero .summary-panel {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
    gap: 8px;
    margin-top: 16px;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
}

.entity-analyzer-hero .summary-title {
    grid-column: 1 / -1;
    margin: 0 0 2px;
    color: var(--muted);
    font-size: 12px;
    text-transform: uppercase;
}

.entity-analyzer-hero .metric {
    min-width: 0;
    margin: 0;
    padding: 9px 10px;
    border: 1px solid var(--border);
    border-radius: 6px;
    background: var(--surface-soft);
}

.entity-analyzer-hero .metric-name {
    min-width: 0;
    font-size: 11px;
    overflow-wrap: anywhere;
}

.entity-analyzer-hero .metric-value {
    font-size: 20px;
}

.entity-analyzer-page .entity-analyzer-hero .summary-panel {
    grid-template-columns: repeat(auto-fit, minmax(130px, 150px));
    justify-content: center;
    padding-bottom: 14px;
}

.entity-analyzer-shell .section-body {
    padding: 0;
}

.entity-analyzer-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr);
}

.entity-analyzer-header .section-actions {
    justify-self: end;
}

.entity-analyzer-return {
    justify-self: center;
}

.entity-analyzer-body {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
}

.entity-graph-filters {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: repeat(7, minmax(120px, 1fr)) auto;
    gap: 12px;
    align-items: end;
    padding: 16px 18px;
    border-bottom: 1px solid var(--border);
    background: var(--surface-muted);
}

.entity-graph-filters label {
    display: grid;
    gap: 6px;
    min-width: 0;
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.entity-graph-filters select,
.entity-graph-filters input[type=text],
.entity-graph-filters input[type=number] {
    width: 100%;
    min-height: 38px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
    color: var(--text);
    font: inherit;
    font-size: 13px;
    text-transform: none;
}

.entity-checkbox-filter {
    align-content: center;
    grid-template-columns: auto minmax(0, 1fr);
    text-transform: none;
}

.legacy-analyzer-graph {
    display: none;
}

.analyzer-graph-controls {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: end;
    padding: 12px 14px;
    margin-bottom: 0;
    border-bottom: 1px solid var(--border);
}

.analyzer-navigation {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    padding: 10px 14px 0;
}

.analyzer-navigation a {
    border: 1px solid var(--border);
    border-radius: 5px;
    color: var(--text);
    font-size: 12px;
    font-weight: 800;
    padding: 6px 9px;
    text-decoration: none;
}

.analyzer-navigation a:focus-visible,
.analyzer-graph-node:focus-visible {
    outline: 3px solid var(--focus-ring, #2563a8);
    outline-offset: 2px;
}

.analyzer-hero-navigation {
    padding: 14px 0 0;
    gap: 8px;
}

.analyzer-hero-navigation a {
    background: var(--surface);
    min-height: 34px;
}

.analyzer-hero-navigation a[aria-current="page"] {
    border-color: var(--accent);
    box-shadow: inset 0 -2px 0 var(--accent);
    color: var(--accent-strong, var(--accent));
}

.analyzer-hero-navigation .analyzer-navigation-return {
    border-color: var(--accent);
    color: var(--accent-strong, var(--accent));
    margin-left: auto;
}

.analyzer-graph-controls label {
    display: grid;
    gap: 4px;
    min-width: 138px;
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
}

.analyzer-graph-controls .analyzer-control-search {
    min-width: 220px;
    flex: 1 1 260px;
}

.analyzer-graph-controls .entity-checkbox-filter {
    display: flex;
    min-width: 0;
    min-height: 36px;
    align-items: center;
    gap: 7px;
    padding: 0 4px;
    color: var(--text);
    font-size: 12px;
    font-weight: 750;
    white-space: nowrap;
}

.analyzer-graph-controls .entity-checkbox-filter input[type="checkbox"] {
    width: 16px;
    height: 16px;
    min-height: 0;
    margin: 0;
    accent-color: var(--accent);
}

.analyzer-advanced-filters {
    position: relative;
    align-self: end;
}

.analyzer-advanced-filters summary {
    display: inline-flex;
    min-height: 36px;
    align-items: center;
    padding: 0 10px;
    border: 1px solid var(--border);
    border-radius: 6px;
    background: var(--surface);
    color: var(--text);
    cursor: pointer;
    font-size: 12px;
    font-weight: 800;
    list-style: none;
}

.analyzer-advanced-filters summary::-webkit-details-marker {
    display: none;
}

.analyzer-advanced-filters summary::after {
    content: "+";
    margin-left: 7px;
    color: var(--accent-strong, var(--accent));
    font-size: 16px;
    line-height: 1;
}

.analyzer-advanced-filters[open] summary::after {
    content: "-";
}

.analyzer-advanced-filter-grid {
    position: absolute;
    z-index: 5;
    top: calc(100% + 6px);
    right: 0;
    display: grid;
    grid-template-columns: repeat(3, minmax(170px, 1fr));
    gap: 10px;
    width: min(680px, calc(100vw - 72px));
    padding: 12px;
    border: 1px solid var(--border-strong);
    border-radius: 8px;
    background: var(--surface);
    box-shadow: 0 12px 28px rgba(15, 23, 42, 0.2);
}

.analyzer-advanced-filter-grid .entity-checkbox-filter {
    white-space: normal;
}

.analyzer-graph-controls input[type="search"],
.analyzer-graph-controls input[type="number"],
.analyzer-graph-controls input[type="date"],
.analyzer-graph-controls select {
    min-height: 36px;
    border: 1px solid var(--border);
    border-radius: 6px;
    background: var(--surface);
    color: var(--text);
    font: inherit;
}

.analyzer-graph-controls .entity-checkbox-filter {
    display: flex;
    align-items: center;
    min-width: auto;
    padding-bottom: 7px;
}

.analyzer-graph-stage:fullscreen {
    width: 100%;
    height: 100%;
    padding: 20px;
    background: var(--surface);
}

.analyzer-graph-edge { cursor: pointer; }
.analyzer-graph-node { cursor: pointer; outline: none; }
.analyzer-graph-node:focus circle { stroke: var(--text); stroke-width: 4; }
.analyzer-graph-label { fill: var(--text); font-size: 13px; font-weight: 700; paint-order: stroke; stroke: var(--surface); stroke-width: 3px; }
.analyzer-lateral-edge-label { cursor: pointer; fill: var(--text); font-size: 11px; font-weight: 800; paint-order: stroke; stroke: var(--surface); stroke-linejoin: round; stroke-width: 5px; }
.analyzer-lateral-edge-label:focus { outline: none; fill: var(--accent-strong, var(--accent)); }
.analyzer-selection-title { color: var(--text); font-weight: 800; }
.analyzer-graph-notice { margin: 8px 12px; }
.analyzer-graph-legend { display: flex; flex-wrap: wrap; gap: 14px; padding: 9px 14px; color: var(--muted); font-size: 12px; font-weight: 800; }
.analyzer-graph-legend span::before { content: ""; display: inline-block; width: 22px; margin-right: 6px; border-top: 3px solid #0f766e; vertical-align: middle; }
.analyzer-graph-legend .graph-legend-correlated::before { border-color: #b45309; border-top-style: dashed; }
.analyzer-graph-legend .graph-legend-inferred::before { border-color: #64748b; border-top-style: dotted; }

.entity-graph-stage {
    position: relative;
    min-height: 0;
    overflow: auto;
    overscroll-behavior: auto;
    border-bottom: 1px solid var(--border);
    background: #f8fafc;
}

.entity-graph {
    display: block;
    width: 100%;
    min-width: 0;
    aspect-ratio: 1200 / 820;
    min-height: 420px;
    max-height: min(68vh, 720px);
}

.entity-edge {
    fill: none;
    stroke: #64748b;
    stroke-width: 2.5;
    opacity: 0.78;
    cursor: pointer;
}

.entity-edge:hover {
    opacity: 1;
    stroke-width: 4;
}

.entity-edge.malicious {
    stroke: #ef4444;
    stroke-width: 3.8;
    opacity: 0.95;
    filter: drop-shadow(0 0 6px rgba(239, 68, 68, 0.45));
}

.entity-edge-label {
    fill: #000000;
    font-size: 12px;
    font-weight: 800;
    paint-order: stroke;
    stroke: #ffffff;
    stroke-width: 5px;
    stroke-linejoin: round;
    text-anchor: middle;
}

.entity-edge-label.high-fidelity {
    fill: #b91c1c;
    stroke: #fee2e2;
    font-weight: 900;
}

.entity-node {
    cursor: pointer;
}


.entity-node-group {
    cursor: pointer;
}

.entity-node-group .entity-node {
    fill: #ffffff;
    stroke: var(--border-strong);
    stroke-width: 2;
    filter: drop-shadow(0 8px 16px rgba(15, 23, 42, 0.12));
}

.entity-node-group .entity-node-host {
    stroke: var(--cyan);
}

.entity-node-group .entity-node-dns {
    stroke: var(--accent);
}

.entity-node-group.reputation-bad .entity-node {
    fill: rgba(255, 88, 116, 0.18);
    stroke: var(--danger);
}

.entity-node-group.reputation-bad .entity-node-label {
    fill: var(--danger);
}

.entity-node-group.reputation-unknown .entity-node {
    fill: rgba(250, 204, 21, 0.18);
    stroke: #facc15;
}

.entity-node-group.reputation-unknown .entity-node-label {
    fill: #b45309;
}

.entity-node-group.reputation-clean .entity-node {
    fill: rgba(34, 197, 94, 0.14);
    stroke: #22c55e;
}

.entity-node-group.reputation-clean .entity-node-label {
    fill: #166534;
}

.entity-node-label {
    fill: #000000;
    font-size: 13px;
    font-weight: 850;
    paint-order: stroke;
    stroke: #ffffff;
    stroke-width: 5px;
    stroke-linejoin: round;
    pointer-events: none;
}

.entity-node rect {
    fill: #ffffff;
    stroke: var(--border-strong);
    stroke-width: 1.5;
    filter: drop-shadow(0 8px 16px rgba(15, 23, 42, 0.12));
}

.entity-node.source rect,
.entity-node.focused rect {
    stroke: var(--cyan);
}

.entity-node.destination rect {
    stroke: var(--accent);
}

.entity-node.focused rect {
    stroke: var(--cyan);
    stroke-width: 2.5;
}

.entity-node rect.entity-node-hitbox {
    fill: transparent;
    stroke: transparent;
    stroke-width: 0;
    pointer-events: all;
    filter: none;
}

.entity-node text {
    fill: #000000;
    font-size: 13px;
    font-weight: 850;
    pointer-events: none;
}

.entity-node-meta {
    fill: #000000;
    font-size: 10px;
    text-transform: uppercase;
}

.entity-graph-tooltip {
    position: fixed;
    left: 50vw;
    top: 50vh;
    z-index: 80;
    width: min(560px, calc(100vw - 24px));
    transform: translate(-50%, -50%);
    max-height: min(520px, calc(100vh - 24px));
    overflow: auto;
    overflow-wrap: anywhere;
    word-break: break-word;
    padding: 12px;
    border: 1px solid var(--border-strong);
    border-radius: 8px;
    background: var(--surface);
    box-shadow: var(--shadow);
    color: var(--text);
    font-size: 12px;
}

.entity-tooltip-header {
    position: sticky;
    top: -12px;
    z-index: 1;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    margin: -12px -12px 10px;
    padding: 10px 12px;
    border-bottom: 1px solid var(--border);
    background: var(--surface);
}

.entity-tooltip-close {
    display: inline-grid;
    place-items: center;
    width: 28px;
    height: 28px;
    border: 1px solid var(--border-strong);
    border-radius: 6px;
    background: #ffffff;
    color: #000000;
    font: inherit;
    font-weight: 900;
    cursor: pointer;
}

.entity-tooltip-content {
    min-width: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.entity-graph-tooltip p,
.entity-detail-content p {
    max-width: 100%;
    margin: 0 0 8px;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.entity-graph-tooltip ul,
.entity-detail-content ul {
    display: grid;
    max-width: 100%;
    gap: 6px;
    margin: 8px 0 0;
    padding-left: 18px;
}

.entity-graph-tooltip li,
.entity-detail-content li {
    min-width: 0;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.entity-risk {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    padding: 4px 8px;
    border: 1px solid rgba(239, 68, 68, 0.45);
    border-radius: 999px;
    background: rgba(239, 68, 68, 0.12);
    color: #ef4444;
    font-weight: 900;
}

.entity-detail-panel {
    min-width: 0;
    padding: 18px;
    background: var(--surface);
}

.entity-detail-panel h3 {
    margin: 0 0 12px;
    color: var(--silver);
    font-size: 14px;
}

.entity-detail-content {
    max-height: 320px;
    overflow: auto;
    color: var(--text);
    font-size: 13px;
}

@media (max-width: 1100px) {
    .entity-analyzer-body,
    .entity-analyzer-hero {
        grid-template-columns: 1fr;
    }


    .entity-graph-filters {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 1180px) {
    .entity-analyzer-page {
        width: calc(100% - 270px);
    }
}

@media (max-width: 820px) {
    .entity-analyzer-page {
        width: min(100% - 24px, 1180px);
    }

}

@media (max-width: 700px) {
    .entities-header {
        grid-template-columns: 1fr;
        align-items: stretch;
    }

    .entities-header .section-actions,
    .entities-header > .pill,
    .entity-analyzer-launch {
        justify-self: stretch;
    }

    .entity-graph-filters {
        grid-template-columns: 1fr;
    }
}

.modal-dialog {
    border: 0;
    border-radius: 8px;
    max-width: 560px;
    width: min(560px, calc(100vw - 32px));
    padding: 0;
    box-shadow: 0 24px 70px rgba(15, 23, 42, 0.28);
}

.modal-dialog::backdrop {
    background: rgba(15, 23, 42, 0.46);
}

.modal-panel {
    padding: 24px;
    background: var(--panel-bg, #fff);
}

.modal-panel h2 {
    margin-top: 0;
}

.saved-hunt-search-panel {
    display: grid;
    gap: 16px;
}

.saved-hunt-filter-bar {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
}

.saved-hunt-filter {
    width: auto;
    min-height: 36px;
    padding: 8px 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-soft);
    color: var(--muted);
    font-size: 13px;
    font-weight: 800;
}

.saved-hunt-filter span {
    margin-left: 6px;
    color: var(--text);
}

.saved-hunt-filter.active,
.saved-hunt-filter:hover {
    border-color: var(--cyan);
    color: var(--text);
    box-shadow: 0 0 0 3px var(--cyan-soft);
}

.saved-hunt-search-field {
    max-width: 720px;
}

.saved-hunt-search-field input[type="search"] {
    width: 100%;
}

.saved-hunt-row[hidden] {
    display: none;
}

.operations-kpi-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin: 22px 0;
}

.operations-kpi-grid div {
    display: grid;
    gap: 6px;
    padding: 16px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-soft);
}

.operations-kpi-grid span {
    color: var(--muted);
    font-size: 12px;
    font-weight: 850;
    text-transform: uppercase;
}

.operations-kpi-grid strong {
    color: var(--silver);
    font-size: 28px;
    line-height: 1;
}

.operations-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    align-items: stretch;
}

.vulnerability-command-strip {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin: 22px 0 0;
}

.vulnerability-command-strip a {
    display: inline-flex;
    min-height: 44px;
    align-items: center;
    justify-content: center;
    padding: 10px 14px;
    border: 1px solid var(--border-strong);
    border-radius: 8px;
    background: var(--surface-soft);
    color: var(--text);
    font-size: 13px;
    font-weight: 850;
    text-decoration: none;
}

.vulnerability-command-strip a:hover,
.vulnerability-command-strip a:focus-visible {
    border-color: var(--cyan);
    color: var(--cyan);
}

.vulnerability-layout {
    display: grid;
    grid-template-columns: minmax(0, 1.55fr) minmax(320px, 0.8fr);
    gap: 18px;
    margin: 22px 0;
    align-items: stretch;
}

.vulnerability-priority-panel,
.vulnerability-side-rail {
    min-width: 0;
}

.vulnerability-side-rail {
    display: grid;
    gap: 18px;
}

.vulnerability-priority-list,
.vulnerability-mini-list,
.vulnerability-bars,
.vulnerability-flow {
    display: grid;
    gap: 10px;
}

.vulnerability-finding-row {
    display: grid;
    grid-template-columns: minmax(120px, 0.32fr) minmax(0, 1fr) auto auto;
    gap: 12px;
    align-items: center;
    padding: 14px;
    border: 1px solid var(--border);
    border-left: 4px solid var(--cyan);
    border-radius: 8px;
    background: rgba(var(--cyan-rgb), 0.08);
    color: var(--text);
    text-decoration: none;
}

.vulnerability-finding-row:hover,
.vulnerability-finding-row:focus-visible {
    border-color: var(--cyan);
    box-shadow: var(--glow);
}

.vulnerability-finding-row.severity-critical {
    border-left-color: #ef4444;
}

.vulnerability-finding-row.severity-high {
    border-left-color: #f97316;
}

.vulnerability-finding-row.severity-medium {
    border-left-color: #f59e0b;
}

.vulnerability-finding-row.severity-low {
    border-left-color: #2f5f9e;
}

.vulnerability-cve {
    color: var(--cyan);
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
}

.vulnerability-finding-main {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.vulnerability-finding-main strong,
.vulnerability-mini-list strong,
.vulnerability-flow strong {
    color: var(--text);
}

.vulnerability-finding-main small,
.vulnerability-mini-list span,
.vulnerability-flow small {
    color: var(--muted);
}

.vulnerability-badge {
    display: inline-flex;
    min-height: 26px;
    align-items: center;
    justify-content: center;
    padding: 4px 9px;
    border: 1px solid var(--border-strong);
    border-radius: 999px;
    color: var(--text);
    font-size: 11px;
    font-weight: 900;
    white-space: nowrap;
}

.vulnerability-badge.severity-critical {
    border-color: rgba(239, 68, 68, 0.64);
    background: rgba(239, 68, 68, 0.14);
    color: #ff9b9b;
}

.vulnerability-badge.severity-high {
    border-color: rgba(249, 115, 22, 0.64);
    background: rgba(249, 115, 22, 0.14);
    color: #ffba85;
}

.vulnerability-badge.severity-medium {
    border-color: rgba(245, 158, 11, 0.62);
    background: rgba(245, 158, 11, 0.14);
    color: #ffd280;
}

.vulnerability-badge.severity-low,
.vulnerability-badge.severity-unknown {
    border-color: rgba(var(--cyan-rgb), 0.44);
    background: rgba(var(--cyan-rgb), 0.12);
    color: var(--cyan);
}

.kev-badge {
    border-color: rgba(239, 68, 68, 0.58);
    background: rgba(239, 68, 68, 0.12);
    color: #ff9b9b;
}

.vulnerability-bar-row {
    display: grid;
    grid-template-columns: 88px minmax(0, 1fr) 42px;
    gap: 10px;
    align-items: center;
    font-size: 12px;
    font-weight: 850;
}

.vulnerability-bar-track {
    height: 10px;
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: rgba(var(--cyan-rgb), 0.08);
}

.vulnerability-bar-track span {
    display: block;
    height: 100%;
    min-width: 2px;
    border-radius: inherit;
    background: var(--cyan);
}

.vulnerability-bar-row.severity-critical .vulnerability-bar-track span {
    background: #ef4444;
}

.vulnerability-bar-row.severity-high .vulnerability-bar-track span {
    background: #f97316;
}

.vulnerability-bar-row.severity-medium .vulnerability-bar-track span {
    background: #f59e0b;
}

.vulnerability-mini-list div,
.vulnerability-flow div {
    display: grid;
    gap: 5px;
    padding: 13px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-soft);
}

.vulnerability-flow div {
    grid-template-columns: 34px minmax(0, 1fr);
    align-items: center;
}

.vulnerability-flow span {
    display: inline-flex;
    width: 30px;
    height: 30px;
    align-items: center;
    justify-content: center;
    grid-row: span 2;
    border-radius: 50%;
    background: var(--cyan);
    color: var(--button-text);
    font-weight: 900;
}

.vulnerability-table-wrap .admin-table td {
    vertical-align: top;
}

/* Let dense EASM inventories use the available desktop canvas. */
.external-kev-page {
    width: min(1600px, calc(100% - 346px));
    margin-right: 20px;
}

body.sidebar-collapsed .external-kev-page {
    width: min(1760px, calc(100% - 100px));
}

.external-kev-page .admin-table-wrap {
    overflow-x: visible;
}

/* Keep atomic EASM values and words readable without forcing a side scroller. */
.easm-assets-table {
    min-width: 0;
}

.easm-assets-table th,
.easm-assets-table td {
    word-break: normal;
    overflow-wrap: normal;
}

.easm-assets-table th {
    white-space: nowrap;
}

.easm-assets-table .identifier-cell,
.easm-assets-table .identifier-cell strong,
.easm-assets-table .identifier-cell .admin-subtext {
    white-space: nowrap;
    word-break: normal;
    overflow-wrap: normal;
}

@media (max-width: 1500px) {
    .easm-assets-table {
        font-size: 12px;
    }

    .easm-assets-table th,
    .easm-assets-table td {
        padding-inline: 8px;
    }
}

.external-kev-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin: 22px 0;
}

.external-kev-summary-grid > div,
.external-kev-summary-grid > a {
    display: grid;
    gap: 8px;
    min-height: 96px;
    padding: 15px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-soft);
    text-decoration: none;
}

.external-kev-summary-grid span {
    color: var(--muted);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.external-kev-summary-grid strong {
    color: var(--silver);
    font-size: 30px;
    line-height: 1;
}

.external-kev-summary-grid .is-critical {
    border-color: rgba(239, 68, 68, 0.55);
    background: rgba(239, 68, 68, 0.1);
}

.external-kev-summary-grid .is-warning {
    border-color: rgba(245, 158, 11, 0.58);
    background: rgba(245, 158, 11, 0.1);
}

.easm-service-drilldown-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 16px;
}

.easm-service-drilldown-card {
    appearance: none;
    display: grid;
    gap: 8px;
    min-height: 132px;
    padding: 14px 16px;
    text-align: left;
    border: 1px solid var(--border);
    border-top: 4px solid var(--accent);
    border-radius: 8px;
    background: rgba(var(--panel-rgb), 0.34);
    color: inherit;
    cursor: pointer;
}

.easm-service-drilldown-card:hover,
.easm-service-drilldown-card:focus-visible,
.easm-service-drilldown-card[aria-pressed="true"] {
    border-color: rgba(var(--cyan-rgb), 0.62);
    background: rgba(var(--cyan-rgb), 0.1);
    outline: none;
}

.easm-service-drilldown-card span {
    color: var(--muted);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.easm-service-drilldown-card strong {
    align-self: center;
    color: var(--silver);
    font-size: 34px;
    line-height: 1;
}

.easm-service-drilldown-card small {
    color: var(--muted);
    line-height: 1.45;
}

.external-kev-action-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 12px;
}

.easm-exposure-list {
    display: grid;
    gap: 10px;
}

.easm-exposure-item {
    display: grid;
    grid-template-columns: minmax(300px, 1fr) minmax(220px, 0.55fr) 90px 180px;
    gap: 16px;
    align-items: center;
    min-height: 112px;
    padding: 15px;
    border: 1px solid var(--border);
    border-left: 4px solid rgba(var(--cyan-rgb), 0.75);
    border-radius: 8px;
    background: var(--surface-soft);
}

.easm-exposure-item.severity-critical {
    border-left-color: #ef4444;
}

.easm-exposure-item.severity-high {
    border-left-color: #f97316;
}

.easm-exposure-item.severity-medium {
    border-left-color: #f59e0b;
}

.easm-exposure-item.severity-low {
    border-left-color: #38bdf8;
}

.easm-exposure-main,
.easm-exposure-asset,
.easm-exposure-score,
.easm-exposure-actions {
    min-width: 0;
}

.easm-exposure-title-row {
    display: flex;
    align-items: center;
    gap: 10px;
    margin-bottom: 6px;
}

.easm-exposure-title-row h3 {
    margin: 0;
    color: var(--silver);
    font-size: 15px;
    line-height: 1.3;
}

.easm-exposure-main p {
    margin: 0;
    color: var(--muted);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.45;
}

.easm-exposure-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 9px;
}

.easm-exposure-meta span {
    padding: 3px 8px;
    border: 1px solid rgba(var(--cyan-rgb), 0.24);
    border-radius: 999px;
    color: var(--muted);
    font-size: 11px;
    font-weight: 900;
}

.easm-exposure-asset {
    display: grid;
    gap: 5px;
}

.easm-exposure-asset strong {
    color: var(--silver);
    font-size: 14px;
}

.easm-exposure-asset span {
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
}

.easm-exposure-score {
    display: grid;
    justify-items: center;
    gap: 4px;
}

.easm-exposure-score span {
    color: var(--muted);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.easm-exposure-score strong {
    color: var(--silver);
    font-size: 28px;
    line-height: 1;
}

.easm-exposure-actions {
    display: grid;
    justify-items: end;
    gap: 8px;
}

.easm-triage-list {
    display: grid;
    gap: 10px;
}

.easm-triage-row {
    display: grid;
    grid-template-columns: minmax(260px, 1.15fr) minmax(190px, 0.72fr) minmax(140px, 0.48fr) minmax(140px, 0.48fr) 190px;
    gap: 14px;
    align-items: center;
    min-height: 102px;
    padding: 14px;
    border: 1px solid var(--border);
    border-left: 4px solid rgba(var(--cyan-rgb), 0.72);
    border-radius: 8px;
    background: var(--surface-soft);
}

@media (max-width: 1180px) {
    .easm-triage-row,
    .easm-exposure-item {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .easm-triage-actions,
    .easm-exposure-actions {
        justify-items: stretch;
    }
}

.easm-triage-row.severity-critical,
.easm-triage-row.external-kev-priority-1 {
    border-left-color: #ef4444;
}

.easm-triage-row.severity-high,
.easm-triage-row.external-kev-priority-2 {
    border-left-color: #f97316;
}

.easm-triage-row.severity-medium,
.easm-triage-row.external-kev-priority-3,
.easm-triage-row.external-kev-priority-4 {
    border-left-color: #f59e0b;
}

.easm-triage-main,
.easm-triage-context,
.easm-triage-meta,
.easm-triage-actions {
    min-width: 0;
}

.easm-triage-title-row {
    display: flex;
    align-items: center;
    gap: 8px;
    margin-bottom: 6px;
}

.easm-triage-key {
    color: var(--silver);
    font-size: 14px;
    font-weight: 950;
    white-space: nowrap;
}

.easm-triage-main h3 {
    margin: 0;
    overflow: hidden;
    color: var(--silver);
    font-size: 15px;
    line-height: 1.3;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.easm-triage-main p,
.easm-triage-context span,
.easm-triage-meta span,
.easm-triage-actions small {
    margin: 0;
    overflow: hidden;
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
    line-height: 1.4;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.easm-triage-context,
.easm-triage-meta,
.easm-triage-actions {
    display: grid;
    gap: 5px;
}

.easm-triage-context strong,
.easm-triage-meta strong {
    overflow: hidden;
    color: var(--silver);
    font-size: 14px;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.easm-triage-actions {
    justify-items: end;
}

.easm-triage-actions div {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 6px;
}

.easm-finding-row {
    grid-template-columns: minmax(0, 1fr);
    align-items: stretch;
    gap: 9px;
    min-height: 0;
    padding: 12px 14px;
}

.easm-finding-card-header {
    min-width: 0;
}

.easm-finding-meta-line {
    display: grid;
    grid-template-columns: repeat(3, max-content) minmax(0, 1fr);
    align-items: center;
    justify-content: flex-start;
    gap: 6px;
    min-width: 0;
}

.easm-finding-card-header h3 {
    margin: 7px 0 0;
    overflow: hidden;
    color: var(--silver);
    font-size: 15px;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.easm-finding-fact-row {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) minmax(110px, 0.34fr) minmax(84px, 0.24fr);
    gap: 10px;
    min-width: 0;
}

.easm-finding-fact-row > div {
    min-width: 0;
}

.easm-finding-fact-row span,
.easm-finding-fact-row small {
    display: block;
    overflow: hidden;
    color: var(--muted);
    font-size: 11px;
    font-weight: 850;
    line-height: 1.25;
    text-overflow: ellipsis;
    text-transform: uppercase;
    white-space: nowrap;
}

.easm-finding-fact-row strong {
    display: block;
    overflow: hidden;
    color: var(--silver);
    font-size: 13px;
    line-height: 1.3;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.easm-finding-fact-row small {
    margin-top: 2px;
    font-size: 12px;
    text-transform: none;
}

.easm-finding-footer {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(320px, auto);
    align-items: center;
    gap: 10px;
    min-width: 0;
    padding-top: 8px;
    border-top: 1px solid rgba(148, 163, 184, 0.14);
}

.easm-finding-status-strip {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-start;
    gap: 6px;
    min-width: 0;
}

.easm-finding-status-strip small {
    color: var(--muted);
    font-size: 12px;
    font-weight: 850;
}

.easm-finding-row .easm-triage-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 8px;
    justify-items: end;
    justify-self: end;
    min-width: 0;
    width: 100%;
}

.easm-finding-row .easm-triage-actions form {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
    width: 100%;
}

.easm-finding-row .easm-triage-actions select {
    width: min(190px, 100%);
    min-height: 34px;
}

.easm-finding-header-actions {
    display: inline-flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
    justify-self: end;
    min-width: 0;
}

.easm-finding-header-actions .compact-button {
    min-height: 32px;
    padding: 6px 10px;
}

@media (max-width: 860px) {
    .easm-finding-meta-line,
    .easm-finding-fact-row,
    .easm-finding-footer {
        grid-template-columns: 1fr;
    }

    .easm-finding-header-actions {
        justify-content: flex-start;
        justify-self: start;
    }

    .easm-finding-row .easm-triage-actions {
        justify-content: flex-start;
    }
}

.easm-asset-group-list {
    display: grid;
    gap: 10px;
}

.easm-asset-group-row {
    display: grid;
    grid-template-columns: minmax(260px, 1fr) 96px 118px 96px minmax(180px, 0.52fr) 132px;
    gap: 14px;
    align-items: center;
    min-height: 92px;
    padding: 14px;
    border: 1px solid var(--border);
    border-left: 4px solid rgba(var(--cyan-rgb), 0.72);
    border-radius: 8px;
    background: var(--surface-soft);
}

.easm-asset-group-row.is-selected {
    border-color: rgba(var(--cyan-rgb), 0.58);
    border-left-color: var(--cyan);
    background: rgba(var(--cyan-rgb), 0.1);
}

.external-kev-filter-strip {
    display: grid;
    grid-template-columns: repeat(9, minmax(0, 1fr));
    gap: 10px;
    margin: 0 0 22px;
    padding: 14px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-soft);
}

.external-kev-filter-strip input,
.external-kev-filter-strip select {
    min-width: 0;
    height: 40px;
    border-radius: 8px;
}

.easm-bulk-workflow-strip {
    display: grid;
    grid-template-columns: minmax(220px, 1fr) auto minmax(180px, 220px);
    align-items: end;
    gap: 14px;
}

.bulk-workflow-copy {
    display: grid;
    gap: 4px;
    align-self: center;
}

.bulk-workflow-title {
    color: var(--text);
    font-size: 13px;
    font-weight: 800;
    line-height: 1.2;
}

.bulk-provider-select {
    display: grid;
    gap: 6px;
}

.bulk-provider-select span {
    color: var(--muted);
    font-size: 11px;
    font-weight: 800;
    line-height: 1;
    text-transform: uppercase;
}

.bulk-workflow-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: center;
    gap: 10px;
}

.bulk-workflow-actions .secondary-button,
.bulk-workflow-actions .compact-button {
    height: 40px;
    min-height: 40px;
    padding: 0 14px;
    white-space: nowrap;
}

.asset-change-filter-strip {
    grid-template-columns: minmax(180px, 1fr) 124px 124px minmax(140px, 1fr) 124px 124px;
    align-items: end;
}

.asset-change-filter-strip button,
.asset-change-filter-strip .secondary-button,
.asset-change-filter-strip .compact-button {
    height: 40px;
    min-height: 40px;
    padding: 0 14px;
}

.hearth-command-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin: 0 0 18px;
}

.hearth-page {
    display: flex;
    flex-direction: column;
}

.hearth-page .hearth-workspace-grid {
    order: 3;
}

.hearth-page .hearth-intake-grid {
    order: 4;
}

.hearth-page .hearth-import-strip {
    order: 5;
}

.hearth-metric-card,
.hearth-filter-panel,
.hearth-intake-panel,
.hearth-import-strip,
.hearth-list-section,
.hearth-person-card,
.hearth-signal-card {
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-soft);
}

.hearth-metric-card {
    display: grid;
    gap: 8px;
    min-height: 92px;
    padding: 15px;
    align-content: start;
}

.hearth-metric-card span {
    color: var(--muted);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.hearth-metric-card strong {
    color: var(--silver);
    font-size: 30px;
    line-height: 1;
}

.hearth-metric-card.is-warning {
    border-color: rgba(245, 158, 11, 0.58);
    background: rgba(245, 158, 11, 0.1);
}

.hearth-metric-card.is-critical {
    border-color: rgba(239, 68, 68, 0.55);
    background: rgba(239, 68, 68, 0.1);
}

.hearth-filter-panel {
    grid-column: 1 / -1;
    display: grid;
    grid-template-columns: minmax(240px, 1.4fr) repeat(2, minmax(160px, 0.7fr)) auto auto;
    gap: 10px;
    align-items: end;
    padding: 14px;
}

.hearth-filter-panel input,
.hearth-filter-panel select,
.hearth-form-grid input,
.hearth-form-grid select,
.hearth-form-grid textarea,
.hearth-import-strip textarea,
.hearth-status-form select {
    min-width: 0;
    width: 100%;
    border-radius: 8px;
}

.hearth-filter-panel input,
.hearth-filter-panel select,
.hearth-form-grid input,
.hearth-form-grid select,
.hearth-status-form select {
    height: 40px;
}

.hearth-intake-grid {
    display: grid;
    grid-template-columns: minmax(0, 0.92fr) minmax(0, 1.08fr);
    gap: 16px;
    align-items: start;
    margin: 0 0 18px;
}

.hearth-intake-grid-single {
    grid-template-columns: 1fr;
}

.hearth-intake-grid-single .hearth-intake-panel {
    width: 100%;
}

.hearth-signals-page .hearth-intake-grid,
.hearth-signals-page .hearth-signals-workspace,
.hearth-signals-page .hearth-import-strip {
    width: 100%;
    align-self: stretch;
}

.hearth-signals-page .hearth-intake-panel,
.hearth-signals-page .hearth-list-section {
    width: 100%;
    max-width: none;
}

.hearth-intake-panel {
    display: grid;
    gap: 0;
    overflow: hidden;
    background: var(--surface-panel);
}

.hearth-intake-panel form,
.hearth-import-strip form {
    display: grid;
    gap: 12px;
    padding: 16px;
}

.hearth-intake-panel form {
    align-content: space-between;
}

.hearth-form-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.hearth-form-grid .full {
    grid-column: 1 / -1;
}

.hearth-form-grid textarea {
    min-height: 78px;
    resize: vertical;
}

.hearth-status-form textarea {
    min-height: 68px;
    resize: vertical;
    border-radius: 8px;
}

.hearth-person-notes textarea {
    min-height: 184px;
}

.hearth-checkbox {
    display: inline-flex;
    gap: 10px;
    align-items: center;
    align-self: end;
    min-height: 40px;
    width: fit-content;
    max-width: 100%;
    margin: 0;
    color: var(--silver);
    font-size: 12px;
    font-weight: 900;
    line-height: 1.2;
    text-transform: uppercase;
}

.hearth-checkbox input[type="checkbox"] {
    flex: 0 0 14px;
    width: 14px;
    height: 14px;
    margin: 0;
}

.hearth-checkbox span {
    min-width: 0;
}

.hearth-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

.hearth-actions .secondary-button,
.hearth-actions button {
    min-height: 40px;
}

.hearth-import-strip {
    display: grid;
    grid-template-columns: minmax(220px, 0.32fr) minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    margin: 0 0 18px;
    padding: 14px;
    background: linear-gradient(110deg, rgba(var(--cyan-rgb), 0.08), var(--surface-soft) 42%);
}

.hearth-import-strip h2 {
    margin: 0 0 8px;
    color: var(--silver);
    font-size: 18px;
}

.hearth-import-strip form {
    grid-template-columns: minmax(0, 1fr) minmax(210px, max-content) max-content;
    align-items: end;
    padding: 0;
}

.hearth-leak-import-strip form {
    grid-template-columns: minmax(190px, 0.28fr) minmax(0, 1fr) max-content;
}

.hearth-leak-import-strip input {
    width: 100%;
    height: 40px;
    min-width: 0;
    border-radius: 8px;
}

.hearth-import-strip .hearth-actions {
    justify-content: flex-end;
    flex-wrap: nowrap;
}

.hearth-import-strip textarea {
    min-height: 64px;
    resize: vertical;
}

.hearth-workspace-grid {
    display: grid;
    grid-template-columns: minmax(540px, 0.48fr) minmax(0, 1fr);
    gap: 16px;
    align-items: start;
    margin: 0 0 18px;
}

.hearth-signals-workspace,
.hearth-watchlist-layout {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
    align-items: start;
    margin: 0 0 18px;
}

.hearth-watchlist-layout {
    grid-template-columns: minmax(340px, 0.28fr) minmax(0, 1fr);
}

.hearth-watchlist-page .hearth-person-list {
    grid-template-columns: repeat(auto-fit, minmax(420px, 1fr));
}

.hearth-watchlist-page .hearth-intake-panel {
    position: sticky;
    top: 18px;
}

.hearth-watchlist-page .hearth-list-section,
.hearth-signals-workspace .hearth-list-section,
.hearth-signals-workspace .hearth-intake-panel {
    width: 100%;
}

.hearth-list-section {
    overflow: hidden;
    background: var(--surface-panel);
}

.hearth-intake-history {
    margin-bottom: 18px;
}

.hearth-history-list {
    display: grid;
    gap: 8px;
}

.hearth-history-row {
    display: grid;
    grid-template-columns: minmax(240px, 1fr) minmax(280px, max-content) minmax(180px, 0.24fr);
    gap: 12px;
    align-items: center;
    padding: 10px 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: rgba(var(--panel-rgb), 0.28);
}

.hearth-history-row div:first-child {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.hearth-history-row strong {
    color: var(--silver);
    overflow-wrap: anywhere;
}

.hearth-history-row span,
.hearth-history-row small {
    color: var(--muted);
}

.hearth-history-counts {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    justify-content: flex-end;
}

.hearth-connector-readiness {
    margin-bottom: 18px;
}

.hearth-connector-health-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 10px;
    margin: 10px 0;
}

.hearth-connector-health-list {
    display: grid;
    gap: 8px;
    margin-top: 12px;
}

.hearth-connector-health-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-width: 0;
    padding: 9px 10px;
    border: 1px solid rgba(148, 163, 184, 0.2);
    border-radius: 8px;
    background: rgba(var(--panel-rgb), 0.18);
}

.hearth-connector-health-row div {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.hearth-connector-health-row strong {
    color: var(--silver);
    overflow-wrap: anywhere;
}

.hearth-connector-health-row span:not(.pill) {
    color: var(--muted);
    font-size: 0.82rem;
    overflow-wrap: anywhere;
}

.hearth-connector-feed-list {
    display: grid;
    gap: 10px;
}

.hearth-connector-feed-list > form {
    display: none;
}

.hearth-connector-feed-row {
    display: grid;
    gap: 12px;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: rgba(var(--panel-rgb), 0.26);
}

.hearth-connector-feed-header,
.hearth-connector-feed-footer {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    min-width: 0;
}

.hearth-connector-feed-title {
    display: grid;
    gap: 3px;
    min-width: 0;
}

.hearth-connector-feed-title strong {
    color: var(--silver);
    overflow-wrap: anywhere;
}

.hearth-connector-feed-title span,
.hearth-connector-status-strip,
.hearth-connector-feed-footer .admin-subtext {
    color: var(--muted);
    font-size: 0.82rem;
}

.hearth-connector-status-strip {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: flex-end;
    gap: 6px;
}

.hearth-connector-feed-fields {
    display: grid;
    grid-template-columns: minmax(170px, 1fr) minmax(120px, 0.7fr) minmax(280px, 1.6fr) minmax(170px, 1fr);
    gap: 10px;
    align-items: end;
}

.hearth-connector-feed-fields label {
    display: grid;
    gap: 5px;
    min-width: 0;
    color: var(--muted);
    font-size: 0.72rem;
    font-weight: 850;
    line-height: 1.2;
    text-transform: uppercase;
}

.hearth-connector-feed-fields label.wide {
    grid-column: span 2;
}

.hearth-connector-feed-fields input,
.hearth-connector-feed-fields select {
    width: 100%;
    min-width: 0;
    min-height: 36px;
}

.hearth-connector-feed-footer .compact-check {
    flex: 0 0 auto;
}

.hearth-connector-table-wrap > form {
    display: none;
}

.hearth-connector-table {
    table-layout: auto;
}

.hearth-connector-table th:nth-child(1) {
    min-width: 180px;
}

.hearth-connector-table th:nth-child(3) {
    min-width: 260px;
}

.hearth-connector-table th:nth-child(5) {
    min-width: 180px;
}

.hearth-connector-table input,
.hearth-connector-table select {
    min-width: 0;
    width: 100%;
}

.hearth-connector-table td {
    vertical-align: top;
}

.hearth-connector-table td > input + input {
    margin-top: 6px;
}

.hearth-connector-table .compact-check {
    margin-top: 6px;
}

.hearth-connector-table .admin-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    min-width: 190px;
}

.hearth-connector-table .admin-actions .compact-button {
    min-height: 32px;
    padding: 6px 10px;
}

.hearth-connector-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 10px;
}

.hearth-connector-intake-grid {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.hearth-connector-card {
    display: grid;
    gap: 5px;
    padding: 10px 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: rgba(var(--panel-rgb), 0.28);
}

.hearth-connector-card strong {
    color: var(--silver);
}

.hearth-connector-card span,
.hearth-connector-card small {
    color: var(--muted);
}

.hearth-connector-intake-card {
    align-content: start;
    gap: 10px;
    min-width: 0;
}

.hearth-connector-card-main {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 8px;
    min-width: 0;
}

.hearth-connector-card-main div {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.hearth-connector-card-main .pill {
    flex: 0 0 auto;
}

.hearth-connector-intake-card p {
    margin: 0;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.hearth-connector-config-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 8px;
    padding: 0;
}

.hearth-connector-config-form label {
    min-width: 0;
    color: var(--muted);
    font-size: 11px;
    font-weight: 850;
    line-height: 1.2;
    text-transform: uppercase;
}

.hearth-connector-config-form label.full,
.hearth-connector-config-form .hearth-checkbox,
.hearth-connector-config-form .hearth-connector-actions {
    grid-column: 1 / -1;
}

.hearth-connector-config-form input,
.hearth-connector-config-form select {
    width: 100%;
    min-height: 34px;
    margin-top: 4px;
}

.hearth-connector-config-form .hearth-checkbox {
    display: flex;
    align-items: center;
    gap: 8px;
    text-transform: none;
}

.hearth-connector-config-form .hearth-checkbox input {
    width: auto;
    min-height: 0;
    margin: 0;
}

.hearth-connector-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    margin-top: 2px;
}

.hearth-connector-actions .compact-button {
    min-height: 32px;
    padding: 6px 10px;
}

.hearth-connector-actions form {
    padding: 0;
}

@media (max-width: 1100px) {
    .hearth-connector-feed-fields {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .hearth-connector-feed-fields label.wide {
        grid-column: 1 / -1;
    }
}

@media (max-width: 760px) {
    .hearth-connector-feed-header,
    .hearth-connector-feed-footer {
        align-items: stretch;
        flex-direction: column;
    }

    .hearth-connector-status-strip,
    .hearth-connector-actions {
        justify-content: flex-start;
    }

    .hearth-connector-feed-fields {
        grid-template-columns: 1fr;
    }
}

.hearth-person-list,
.hearth-signal-list {
    display: grid;
    gap: 10px;
}

.hearth-person-card {
    display: grid;
    gap: 12px;
    padding: 16px;
}

.hearth-person-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px;
    align-items: start;
}

.hearth-person-name {
    display: block;
    overflow-wrap: anywhere;
    line-height: 1.25;
}

.hearth-person-email {
    display: block;
    margin-top: 4px;
}

.hearth-person-meta {
    display: grid;
    gap: 4px;
}

.hearth-person-card strong,
.hearth-signal-context strong {
    color: var(--silver);
}

.hearth-person-card span,
.hearth-person-card small,
.hearth-signal-card span,
.hearth-signal-card small,
.hearth-recommendation {
    color: var(--muted);
}

.hearth-person-card p,
.hearth-signal-card p {
    margin: 0;
    color: var(--muted);
    line-height: 1.45;
}

.hearth-alias-block,
.hearth-alias-list,
.hearth-alias-form {
    display: grid;
    gap: 8px;
}

.hearth-alias-list {
    padding-top: 8px;
    border-top: 1px solid var(--border);
}

.hearth-alias-pill {
    display: grid;
    grid-template-columns: minmax(94px, max-content) minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
    min-width: 0;
    margin: 0;
    padding: 9px 10px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.035);
}

.hearth-alias-pill span,
.hearth-alias-empty {
    color: var(--muted);
    font-size: 10px;
    font-weight: 850;
    line-height: 1.2;
    text-transform: uppercase;
}

.hearth-alias-pill strong {
    min-width: 0;
    overflow-wrap: anywhere;
    color: var(--silver);
    font-size: 12px;
}

.hearth-alias-form {
    grid-template-columns: minmax(150px, 0.3fr) minmax(220px, 1fr) auto;
    align-items: end;
    padding-top: 2px;
}

.hearth-alias-form input,
.hearth-alias-form select {
    height: 36px;
    min-width: 0;
    border-radius: 8px;
}

.hearth-card-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    align-items: center;
    justify-content: flex-end;
}

.hearth-signal-card {
    display: grid;
    grid-template-columns: minmax(280px, 1fr) minmax(170px, 0.24fr) 88px minmax(150px, 0.2fr) minmax(220px, 0.28fr);
    gap: 14px;
    align-items: center;
    padding: 14px;
    border-left: 4px solid rgba(var(--cyan-rgb), 0.72);
}

.hearth-signal-card.severity-critical {
    border-left-color: rgba(239, 68, 68, 0.86);
}

.hearth-signal-card.severity-high {
    border-left-color: rgba(249, 115, 22, 0.86);
}

.hearth-signal-card.severity-medium {
    border-left-color: rgba(245, 158, 11, 0.86);
}

.hearth-signal-main {
    display: grid;
    gap: 8px;
    min-width: 0;
}

.hearth-signal-main h3 {
    margin: 0;
    color: var(--silver);
    font-size: 16px;
    line-height: 1.25;
}

.hearth-signal-context,
.hearth-risk-score,
.hearth-handoff-state,
.hearth-status-form {
    display: grid;
    gap: 6px;
    min-width: 0;
}

.hearth-risk-score {
    justify-items: center;
    text-align: center;
}

.hearth-risk-score span {
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.hearth-risk-score strong {
    color: var(--silver);
    font-size: 28px;
    line-height: 1;
}

.hearth-intake-review-card {
    grid-template-columns: minmax(320px, 1.15fr) minmax(180px, 0.5fr) minmax(235px, 0.7fr) minmax(240px, 0.62fr);
    align-items: start;
    gap: 18px;
}

.hearth-intake-review-card .hearth-card-badges {
    width: 100%;
    justify-self: stretch;
    justify-content: flex-start;
}

.hearth-bulk-review-bar {
    display: grid;
    grid-template-columns: 190px 220px minmax(320px, 1fr) max-content;
    gap: 10px;
    align-items: end;
    margin: 0 0 12px;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: rgba(var(--panel-rgb), 0.34);
}

.hearth-intake-filter-bar {
    display: grid;
    grid-template-columns: minmax(170px, 1fr) repeat(6, minmax(130px, 0.55fr)) max-content max-content;
    gap: 10px;
    align-items: end;
    margin: 0 0 12px;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: rgba(var(--panel-rgb), 0.24);
}

.hearth-bulk-review-bar label {
    display: grid;
    gap: 6px;
    min-width: 0;
    color: var(--muted);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.hearth-intake-filter-bar label {
    display: grid;
    gap: 6px;
    min-width: 0;
    color: var(--muted);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.hearth-bulk-review-bar select,
.hearth-bulk-review-bar input {
    width: 100%;
    min-width: 0;
    height: 38px;
    border-radius: 8px;
}

.hearth-intake-filter-bar select,
.hearth-intake-filter-bar input {
    width: 100%;
    min-width: 0;
    height: 38px;
    border-radius: 8px;
}

.hearth-select-row {
    display: inline-flex;
    gap: 6px;
    align-items: center;
    min-height: 24px;
    padding: 0;
    border: 0;
    border-radius: 0;
    background: transparent;
    color: var(--muted);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.hearth-select-row input {
    width: 14px;
    height: 14px;
    margin: 0;
    accent-color: var(--accent);
}

.hearth-intake-context,
.hearth-intake-meta,
.hearth-intake-correlation,
.hearth-intake-review-actions {
    display: grid;
    gap: 10px;
    min-width: 0;
}

.hearth-intake-context {
    display: contents;
}

.hearth-intake-meta > div {
    display: grid;
    gap: 4px;
    padding: 0 0 7px;
    border-bottom: 1px solid var(--border);
}

.hearth-intake-meta span {
    color: var(--muted);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.hearth-intake-meta strong {
    color: var(--silver);
    font-size: 14px;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.hearth-intake-meta small {
    color: var(--muted);
}

.hearth-intake-meta > .pill {
    justify-self: start;
}

.hearth-intake-correlation {
    padding: 0;
    align-content: start;
}

@media (max-width: 1180px) {
    .hearth-intake-review-card {
        grid-template-columns: minmax(300px, 1fr) minmax(220px, 0.75fr) minmax(240px, 0.7fr);
    }

    .hearth-intake-context {
        display: grid;
        gap: 14px;
    }
}

.hearth-intake-correlation > span {
    color: var(--muted);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.hearth-intake-correlation strong {
    color: var(--silver);
    font-size: 14px;
    line-height: 1.3;
    overflow-wrap: anywhere;
}

.hearth-intake-correlation small,
.hearth-intake-correlation p {
    margin: 0;
    color: var(--muted);
    line-height: 1.4;
}

.hearth-mini-pill-row {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.hearth-intake-review-actions .hearth-status-form {
    display: grid;
    gap: 8px;
}

.hearth-intake-review-actions textarea {
    min-height: 82px;
}

.hearth-promote-form {
    margin: 0;
}

.hearth-promote-form .compact-button {
    width: 100%;
    min-height: 40px;
}

.hearth-status-form {
    justify-items: stretch;
}

.hearth-status-form .compact-button {
    width: 100%;
}

.hearth-handoff-state {
    justify-items: start;
}

.hearth-card-actions {
    grid-column: 1 / -1;
    justify-content: flex-end;
    padding-top: 10px;
    border-top: 1px solid var(--border);
}

.hearth-card-actions form {
    display: inline-flex;
    gap: 8px;
    align-items: center;
}

.hearth-card-actions select {
    min-width: 150px;
    height: 36px;
    border-radius: 8px;
}

.hearth-recommendation {
    grid-column: 1 / -1;
    padding-top: 10px;
    border-top: 1px solid var(--border);
}

.hearth-event-timeline {
    grid-column: 1 / -1;
    display: grid;
    gap: 8px;
    padding-top: 10px;
    border-top: 1px solid var(--border);
}

.hearth-event-header,
.hearth-event-row {
    display: grid;
    grid-template-columns: minmax(120px, 0.18fr) minmax(0, 1fr) minmax(180px, 0.24fr);
    gap: 10px;
    align-items: center;
}

.hearth-event-header {
    grid-template-columns: minmax(0, 1fr) auto;
}

.hearth-event-header strong,
.hearth-event-row span {
    color: var(--silver);
}

.hearth-event-row {
    padding: 8px 10px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.028);
}

.hearth-event-row span {
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.hearth-event-row p,
.hearth-event-row small {
    margin: 0;
    color: var(--muted);
}

.hearth-dashboard-panel {
    margin-bottom: 22px;
}

.hearth-dashboard-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 16px;
    align-items: start;
}

.hearth-dashboard-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.hearth-dashboard-signals {
    display: grid;
    gap: 12px;
    min-width: 0;
}

.hearth-dashboard-signals-header {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: center;
}

.hearth-dashboard-signals-header h3 {
    margin: 0;
    color: var(--silver);
    font-size: 16px;
}

.hearth-dashboard-signals .hearth-signal-list {
    display: grid;
    gap: 10px;
}

.hearth-dashboard-signal {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(180px, auto) 88px auto;
    gap: 12px;
    align-items: center;
    min-height: 92px;
    padding: 14px;
    border: 1px solid var(--border);
    border-left: 4px solid rgba(var(--cyan-rgb), 0.72);
    border-radius: 8px;
    background: var(--surface-soft);
}

.hearth-dashboard-signal-main {
    min-width: 0;
}

.hearth-dashboard-signal .hearth-card-badges {
    justify-content: flex-end;
    align-items: center;
}

.hearth-dashboard-signal .hearth-risk-score {
    min-width: 72px;
}

.hearth-dashboard-signal .compact-button {
    justify-self: end;
}

.hearth-dashboard-signal.severity-critical {
    border-left-color: rgba(239, 68, 68, 0.86);
}

.hearth-dashboard-signal.severity-high {
    border-left-color: rgba(249, 115, 22, 0.86);
}

.hearth-dashboard-signal.severity-medium {
    border-left-color: rgba(245, 158, 11, 0.86);
}

.hearth-dashboard-signal h4 {
    margin: 0 0 6px;
    color: var(--silver);
    font-size: 15px;
    line-height: 1.25;
}

.hearth-dashboard-signal p {
    margin: 0;
    color: var(--muted);
    font-size: 12px;
}

.easm-family-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 12px;
}

.easm-family-card {
    display: grid;
    gap: 8px;
    min-height: 128px;
    padding: 14px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-soft);
}

.easm-family-card strong {
    color: var(--silver);
    font-size: 15px;
}

.easm-family-card span {
    width: fit-content;
    padding: 3px 8px;
    border: 1px solid rgba(var(--cyan-rgb), 0.42);
    border-radius: 999px;
    color: var(--cyan);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.easm-family-card small {
    color: var(--muted);
    line-height: 1.45;
}

.easm-family-planned {
    opacity: 0.72;
}

.easm-family-planned span {
    border-color: rgba(148, 163, 184, 0.42);
    color: var(--muted);
}

.easm-option-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.easm-family-picker {
    display: grid;
    gap: 12px;
}

.easm-family-group {
    display: grid;
    grid-template-columns: minmax(180px, 0.34fr) minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    padding: 12px 0;
    border-top: 1px solid var(--border);
}

.easm-family-group:first-child {
    border-top: 0;
    padding-top: 0;
}

.easm-family-heading {
    display: grid;
    gap: 4px;
    min-width: 0;
}

.easm-family-heading strong {
    color: var(--text);
    font-size: 12px;
    font-weight: 950;
}

.easm-family-heading span {
    color: var(--muted);
    font-size: 12px;
    line-height: 1.35;
}

.easm-family-options {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(190px, 1fr));
    gap: 8px;
}

.easm-family-option {
    display: flex;
    gap: 8px;
    align-items: center;
    min-height: 34px;
    padding: 7px 9px;
    border: 1px solid rgba(148, 163, 184, 0.24);
    border-radius: 8px;
    background: rgba(15, 23, 42, 0.12);
    color: var(--text);
    font-size: 12px;
    font-weight: 850;
}

.easm-family-option:hover {
    border-color: rgba(var(--cyan-rgb), 0.44);
    background: rgba(var(--cyan-rgb), 0.08);
}

.easm-family-option input {
    width: 14px;
    height: 14px;
}

.easm-option {
    display: flex;
    gap: 8px;
    align-items: center;
    min-height: 42px;
    padding: 10px 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-soft);
    color: var(--text);
    font-size: 13px;
    font-weight: 800;
}

.easm-option input {
    width: 16px;
    height: 16px;
}

.external-kev-table-wrap {
    max-height: 620px;
}

.external-kev-table {
    min-width: 3100px;
}

.external-kev-compact-table {
    min-width: 0;
    width: 100%;
    table-layout: fixed;
}

.external-kev-compact-table .kev-col-cve {
    width: 132px;
}

.external-kev-compact-table .kev-col-vulnerability {
    width: auto;
}

.external-kev-compact-table .kev-col-target {
    width: 190px;
}

.external-kev-compact-table .kev-col-port {
    width: 70px;
}

.external-kev-compact-table .kev-col-service {
    width: 115px;
}

.external-kev-compact-table .kev-col-confidence,
.external-kev-compact-table .kev-col-sla,
.external-kev-compact-table .kev-col-status {
    width: 118px;
}

.external-kev-compact-table .kev-col-actions {
    width: 210px;
}

.easm-findings-compact-table .easm-col-finding {
    width: auto;
}

.easm-findings-compact-table .easm-col-asset {
    width: 190px;
}

.easm-findings-compact-table .easm-col-port {
    width: 72px;
}

.easm-findings-compact-table .easm-col-service {
    width: 120px;
}

.easm-findings-compact-table .easm-col-severity,
.easm-findings-compact-table .easm-col-status {
    width: 118px;
}

.easm-findings-compact-table .easm-col-risk {
    width: 72px;
}

.easm-findings-compact-table .easm-col-actions {
    width: 150px;
}

.external-kev-compact-table th,
.external-kev-compact-table td {
    overflow: hidden;
    text-overflow: ellipsis;
}

.external-kev-table th:first-child,
.external-kev-table td:first-child {
    min-width: 128px;
    width: 128px;
}

.external-kev-cve-cell strong {
    white-space: nowrap;
    word-break: keep-all;
}

.external-kev-vulnerability-cell strong {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.easm-finding-title-cell strong {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.external-kev-compact-table .external-kev-actions {
    display: flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
}

.kev-detail-dialog {
    width: min(920px, calc(100vw - 40px));
    max-height: min(760px, calc(100vh - 40px));
    padding: 22px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
    color: var(--text);
    box-shadow: 0 24px 80px rgba(0, 0, 0, 0.38);
}

.kev-detail-dialog::backdrop {
    background: rgba(2, 6, 23, 0.62);
}

.kev-detail-dialog h3 {
    margin: 0 0 18px;
    color: var(--silver);
    font-size: 20px;
    line-height: 1.3;
}

.kev-detail-dialog-close {
    float: right;
    margin: 0 0 12px 18px;
}

.kev-detail-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 10px;
    clear: both;
}

.kev-detail-grid div,
.kev-detail-block {
    min-width: 0;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-soft);
}

.kev-detail-grid span,
.kev-detail-block span {
    display: block;
    margin-bottom: 6px;
    color: var(--muted);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.kev-detail-grid strong,
.kev-detail-block p {
    margin: 0;
    color: var(--silver);
    font-size: 13px;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.kev-detail-block {
    margin-top: 10px;
}

.easm-dialog-workflow-form {
    margin-top: 12px;
}

.external-kev-table th {
    position: sticky;
    top: 0;
    z-index: 2;
}

.external-kev-collapsible {
    overflow: hidden;
}

.external-kev-collapsible > summary {
    cursor: pointer;
    list-style: none;
}

.external-kev-collapsible > summary::-webkit-details-marker {
    display: none;
}

.external-kev-collapsible > summary::after {
    color: var(--muted);
    content: "Expand";
    font-size: 12px;
    font-weight: 850;
}

.external-kev-collapsible[open] > summary::after {
    content: "Collapse";
}

.external-kev-priority-1 td:first-child,
.external-kev-priority-2 td:first-child {
    border-left: 4px solid #ef4444;
}

.external-kev-priority-3 td:first-child,
.external-kev-priority-4 td:first-child {
    border-left: 4px solid #f59e0b;
}

.external-kev-actions {
    min-width: 160px;
}

.external-kev-actions,
.external-kev-actions form {
    display: flex;
    gap: 8px;
    align-items: center;
}

.external-kev-detail-grid {
    margin-top: 22px;
}

.external-kev-asset-overview-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(360px, 0.75fr);
    gap: 18px;
    align-items: start;
    margin-top: 22px;
}

.external-kev-asset-detail-card {
    grid-row: span 2;
}

.external-kev-workflow-card,
.external-kev-linked-hunts-card {
    min-width: 0;
}

.external-kev-detail-list {
    display: grid;
    gap: 10px;
}

.external-kev-detail-list div {
    display: grid;
    grid-template-columns: 170px minmax(0, 1fr);
    gap: 12px;
    padding: 10px 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-soft);
}

.external-kev-detail-list strong {
    color: var(--muted);
    font-size: 12px;
    text-transform: uppercase;
}

.external-kev-detail-list span {
    color: var(--text);
    overflow-wrap: anywhere;
}

.external-kev-detail-list pre {
    max-height: 260px;
    overflow: auto;
    margin: 0;
    padding: 14px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--code-bg);
    color: var(--code-text);
    white-space: pre-wrap;
}

.external-kev-workflow-form {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) auto;
    gap: 10px;
    align-items: center;
}

.external-kev-workflow-form textarea {
    grid-column: 1 / -1;
    min-height: 88px;
    resize: vertical;
}

.external-kev-workflow-form + .external-kev-workflow-form {
    grid-template-columns: 1fr;
}

.external-kev-workflow-list {
    gap: 8px;
}

.external-kev-workflow-list div {
    grid-template-columns: 132px minmax(0, 1fr);
    padding: 9px 10px;
}

.external-kev-workflow-actions {
    display: grid !important;
    grid-template-columns: 1fr;
    gap: 10px;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

.external-kev-workflow-actions form {
    margin: 0;
}

.external-kev-workflow-actions button {
    width: 100%;
    min-height: 44px;
    justify-content: center;
}

.easm-finding-overview-grid {
    display: grid;
    grid-template-columns: minmax(0, 1.35fr) minmax(360px, 0.85fr);
    gap: 18px;
    align-items: start;
    margin-top: 22px;
}

.easm-finding-detail-card,
.easm-finding-context-card {
    min-width: 0;
}

.easm-finding-lifecycle-card,
.easm-finding-history-card {
    min-width: 0;
}

.easm-finding-lifecycle-list {
    gap: 8px;
}

.easm-finding-lifecycle-list > div {
    grid-template-columns: 132px minmax(0, 1fr);
    padding: 9px 10px;
}

.easm-finding-quick-actions {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 8px !important;
    padding: 0 !important;
    border: 0 !important;
    background: transparent !important;
}

.easm-finding-quick-actions form,
.easm-finding-quick-actions a {
    min-width: 0;
}

.easm-finding-quick-actions button,
.easm-finding-quick-actions a {
    width: 100%;
    min-height: 40px;
    justify-content: center;
}

.easm-finding-update-form {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.easm-finding-update-form textarea {
    grid-column: span 2;
    min-height: 94px;
    resize: vertical;
}

.easm-finding-update-form button {
    min-height: 44px;
}

.easm-finding-workflow-actions {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    gap: 10px;
    margin-top: 14px;
}

.easm-finding-workflow-actions form {
    display: grid;
    gap: 8px;
    margin: 0;
}

.easm-finding-workflow-actions button,
.easm-finding-workflow-actions select {
    width: 100%;
}

.easm-raw-evidence > summary {
    cursor: pointer;
    list-style: none;
}

.easm-raw-evidence > summary::-webkit-details-marker {
    display: none;
}

.easm-raw-evidence > summary::after {
    content: "Expand";
    color: var(--muted);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.easm-raw-evidence[open] > summary::after {
    content: "Collapse";
}

.external-kev-chart-grid {
    margin-top: 22px;
}

.external-kev-donut-layout {
    display: grid;
    grid-template-columns: 132px minmax(0, 1fr);
    gap: 18px;
    align-items: center;
    min-height: 154px;
}

.external-kev-donut {
    --chart-1: #2f5f9e;
    --chart-2: #38bdf8;
    --chart-3: #f59e0b;
    --chart-4: #ef4444;
    --chart-5: #64748b;
    --chart-6: #22c55e;
    position: relative;
    display: grid;
    width: 120px;
    aspect-ratio: 1;
    align-content: center;
    justify-items: center;
    border: 1px solid var(--border-strong);
    border-radius: 50%;
    background: conic-gradient(var(--external-kev-donut));
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.05);
}

.external-kev-donut::after {
    position: absolute;
    inset: 50% auto auto 50%;
    width: 68%;
    aspect-ratio: 1;
    border: 1px solid var(--border);
    border-radius: 50%;
    background: var(--surface);
    content: "";
    transform: translate(-50%, -50%);
}

.external-kev-donut strong,
.external-kev-donut span {
    position: relative;
    z-index: 1;
    line-height: 1;
}

.external-kev-donut strong {
    color: var(--text);
    font-size: 24px;
    font-weight: 950;
}

.external-kev-donut span {
    margin-top: 4px;
    color: var(--text);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
}

.external-kev-donut-legend {
    display: grid;
    gap: 8px;
    max-height: 150px;
    min-width: 0;
    overflow-y: auto;
    padding-right: 8px;
    scrollbar-gutter: stable;
}

.external-kev-donut-legend a {
    display: grid;
    grid-template-columns: 12px minmax(0, 1fr) auto;
    gap: 9px;
    align-items: center;
    min-height: 28px;
    padding: 4px 2px;
    border-radius: 6px;
    color: var(--text);
    font-size: 12px;
    font-weight: 850;
    text-decoration: none;
}

.external-kev-donut-legend a:hover,
.external-kev-donut-legend a:focus-visible {
    background: rgba(var(--cyan-rgb), 0.08);
    outline: none;
}

.external-kev-donut-legend strong {
    min-width: 0;
    overflow-wrap: anywhere;
}

.external-kev-donut-legend small {
    color: var(--text);
    font-size: 12px;
    font-weight: 950;
}

.external-kev-donut-swatch {
    width: 10px;
    height: 10px;
    border-radius: 999px;
    background: var(--chart-1);
}

.external-kev-donut-swatch.swatch-1 {
    background: #2f5f9e;
}

.external-kev-donut-swatch.swatch-2 {
    background: #38bdf8;
}

.external-kev-donut-swatch.swatch-3 {
    background: #f59e0b;
}

.external-kev-donut-swatch.swatch-4 {
    background: #ef4444;
}

.external-kev-donut-swatch.swatch-5 {
    background: #64748b;
}

.external-kev-donut-swatch.swatch-6 {
    background: #22c55e;
}

@media (max-width: 760px) {
    .external-kev-donut-layout {
        grid-template-columns: 1fr;
        justify-items: start;
    }
}

.external-kev-priority-list {
    display: grid;
    gap: 8px;
}

.external-kev-priority-list div {
    padding: 10px 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-soft);
}

.vulnerability-badge.sla-overdue {
    border-color: rgba(239, 68, 68, 0.64);
    background: rgba(239, 68, 68, 0.14);
    color: #ff9b9b;
}

.vulnerability-badge.sla-due-within-7-days {
    border-color: rgba(245, 158, 11, 0.62);
    background: rgba(245, 158, 11, 0.14);
    color: #ffd280;
}

.vulnerability-badge.sla-on-track,
.vulnerability-badge.sla-remediated {
    border-color: rgba(var(--cyan-rgb), 0.44);
    background: rgba(var(--cyan-rgb), 0.12);
    color: var(--cyan);
}

html[data-theme="light"] .vulnerability-finding-row,
html[data-theme="light"] .vulnerability-command-strip a,
html[data-theme="light"] .vulnerability-mini-list div,
html[data-theme="light"] .vulnerability-flow div,
html[data-theme="light"] .external-kev-summary-grid > div,
html[data-theme="light"] .external-kev-summary-grid > a,
html[data-theme="light"] .easm-family-card,
html[data-theme="light"] .easm-exposure-item,
html[data-theme="light"] .easm-triage-row,
html[data-theme="light"] .easm-asset-group-row,
html[data-theme="light"] .easm-option,
html[data-theme="light"] .external-kev-filter-strip,
html[data-theme="light"] .external-kev-detail-list div,
html[data-theme="light"] .external-kev-priority-list div {
    background: #eef3f8;
}

html[data-theme="light"] .easm-family-group {
    border-top-color: #d7e0ea;
}

html[data-theme="light"] .easm-family-option {
    border-color: #cbd7e5;
    background: #ffffff;
    color: #172033;
}

html[data-theme="light"] .easm-family-option:hover {
    border-color: #2f5f9e;
    background: #f4f8fc;
}

html[data-theme="light"] .scan-form-section,
html[data-theme="light"] .kev-rail-panel {
    background: #f8fbfe;
}

html[data-theme="light"] .kev-check-row,
html[data-theme="light"] .kev-rail-metrics div,
html[data-theme="light"] .discovery-scan-row,
html[data-theme="light"] .port-preview {
    border-color: #cbd7e5;
    background: #ffffff;
    color: #172033;
}

html[data-theme="light"] .kev-check-row:hover {
    border-color: #2f5f9e;
    background: #f4f8fc;
}

html[data-theme="light"] .vulnerability-badge.severity-critical,
html[data-theme="light"] .kev-badge {
    color: #9f1d1d;
}

html[data-theme="light"] .vulnerability-badge.severity-high {
    color: #a8470d;
}

html[data-theme="light"] .vulnerability-badge.severity-medium {
    color: #8a5a00;
}

html[data-theme="light"] .vulnerability-badge.sla-overdue {
    color: #9f1d1d;
}

html[data-theme="light"] .vulnerability-badge.sla-due-within-7-days {
    color: #8a5a00;
}

.operations-card {
    display: flex;
    flex-direction: column;
    min-width: 0;
}

.operations-card > .section-body {
    flex: 1;
}

.operations-list {
    display: grid;
    gap: 10px;
}

.kev-scanner-grid {
    gap: 18px;
    grid-auto-rows: 1fr;
    margin-top: 24px;
}

.kev-scanner-grid .operations-card {
    height: 100%;
}

.kev-scanner-grid .operations-list {
    align-content: stretch;
}

.kev-scanner-grid .operations-row {
    min-height: 95px;
}

.kev-scanner-grid + .full-width-section {
    margin-top: 24px;
}

.operations-row {
    display: grid;
    gap: 5px;
    padding: 13px 14px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-soft);
}

.operations-row:hover,
.operations-row:focus-visible {
    border-color: var(--border-strong);
    box-shadow: var(--glow);
    outline: none;
}

.operations-row strong {
    color: var(--silver);
    font-size: 13px;
}

.operations-row span {
    color: var(--text);
    font-size: 13px;
    overflow-wrap: anywhere;
}

.operations-row small {
    color: var(--muted);
    font-size: 12px;
    font-weight: 750;
    overflow-wrap: anywhere;
}

.operations-row.is-warning {
    border-color: rgba(255, 191, 87, 0.42);
    background: rgba(255, 191, 87, 0.08);
}

    .operations-row.is-danger {
    border-color: rgba(255, 92, 122, 0.48);
    background: rgba(255, 92, 122, 0.09);
}

@media (max-width: 1180px) {
    .hearth-workspace-grid,
    .hearth-watchlist-layout,
    .hearth-alias-form {
        grid-template-columns: 1fr;
    }

    .hearth-person-header {
        grid-template-columns: 1fr;
    }

    .hearth-card-badges {
        justify-content: flex-start;
    }
}

@media (max-width: 980px) {
    .operations-kpi-grid,
    .operations-grid,
    .vulnerability-command-strip,
    .vulnerability-layout,
    .external-kev-summary-grid,
    .easm-service-drilldown-grid,
    .hearth-command-grid,
    .hearth-filter-panel,
    .hearth-intake-grid,
    .hearth-watchlist-layout,
    .hearth-import-strip,
    .hearth-import-strip form,
    .hearth-workspace-grid,
    .hearth-dashboard-layout,
    .hearth-dashboard-metrics,
    .hearth-dashboard-signal,
    .hearth-alias-pill,
    .hearth-alias-form,
    .hearth-bulk-review-bar,
    .hearth-intake-filter-bar,
    .hearth-history-row,
    .hearth-signal-card,
    .easm-family-grid,
    .easm-exposure-item,
    .easm-triage-row,
    .easm-asset-group-row,
    .external-kev-asset-overview-grid,
    .easm-finding-overview-grid,
    .easm-finding-update-form,
    .easm-finding-workflow-actions,
    .easm-option-grid,
    .external-kev-filter-strip,
    .easm-bulk-workflow-strip {
        grid-template-columns: 1fr;
    }

    .external-kev-asset-detail-card {
        grid-row: auto;
    }

    .easm-finding-quick-actions {
        grid-template-columns: 1fr !important;
    }

    .easm-finding-update-form textarea {
        grid-column: auto;
    }

    .bulk-workflow-actions {
        justify-content: stretch;
    }

    .bulk-workflow-actions .secondary-button,
    .bulk-workflow-actions .compact-button {
        width: 100%;
    }

    .hearth-history-counts {
        justify-content: flex-start;
    }

    .easm-exposure-title-row,
    .easm-exposure-meta {
        align-items: flex-start;
    }

    .easm-exposure-score,
    .easm-exposure-actions,
    .hearth-risk-score,
    .easm-triage-actions {
        justify-items: start;
        text-align: left;
    }

    .easm-triage-actions div {
        justify-content: flex-start;
    }

    .hearth-form-grid {
        grid-template-columns: 1fr;
    }

    .kev-detail-grid {
        grid-template-columns: 1fr;
    }

    .vulnerability-finding-row {
        grid-template-columns: 1fr;
        align-items: start;
    }

    .external-kev-detail-list div,
    .external-kev-workflow-form {
        grid-template-columns: 1fr;
    }
}

.lateral-analysis-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

.lateral-card {
    display: grid;
    gap: 12px;
    padding: 16px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-soft);
}

.lateral-card.possible-lateral {
    border-color: rgba(255, 209, 102, 0.46);
    background: linear-gradient(180deg, rgba(255, 209, 102, 0.08), var(--surface-soft));
}

.lateral-chain-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.lateral-chain-card h3 {
    overflow-wrap: anywhere;
}

.lateral-chain-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.lateral-chain-list li {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    color: var(--text);
    font-size: 12px;
    font-weight: 800;
}

.lateral-chain-list li:not(:last-child)::after {
    content: "->";
    color: var(--muted);
    font-weight: 900;
}

.lateral-card-header,
.lateral-card-meta,
.lateral-columns {
    display: flex;
    gap: 12px;
}

.lateral-card-header {
    align-items: center;
    justify-content: space-between;
}

.lateral-card-header h3 {
    margin: 0;
    color: var(--silver);
    font-size: 15px;
}

.lateral-card-meta {
    flex-wrap: wrap;
    color: var(--muted);
    font-size: 12px;
    font-weight: 750;
}

.lateral-card-meta strong {
    color: var(--warning);
}

.lateral-columns {
    align-items: start;
}

.lateral-columns > div {
    flex: 1 1 0;
    min-width: 0;
}

.lateral-columns h4,
.lateral-card > div > h4 {
    margin: 0 0 8px;
    color: var(--cyan);
    font-size: 11px;
    font-weight: 850;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.lateral-table-wrap {
    overflow-x: auto;
}

.lateral-table {
    width: 100%;
    border-collapse: collapse;
    font-size: 13px;
}

.analyzer-path-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.analyzer-path-card {
    display: grid;
    gap: 12px;
    min-width: 0;
    padding: 16px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-soft);
}

.analyzer-path-card.analyzer-path-risk {
    border-color: rgba(239, 68, 68, 0.24);
    background: var(--surface-soft);
    box-shadow: inset 3px 0 0 rgba(239, 68, 68, 0.55);
}

.analyzer-path-card .risk-badge {
    align-items: flex-start;
    border-radius: 5px;
    font-size: 11px;
    font-weight: 750;
    line-height: 1.35;
    padding: 5px 7px;
    text-transform: none;
}

.analyzer-path-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.analyzer-path-header h3 {
    min-width: 0;
    margin: 0;
    color: var(--silver);
    font-size: 14px;
    overflow-wrap: anywhere;
}

.analyzer-path-facts {
    display: grid;
    gap: 8px;
    margin: 0;
}

.analyzer-path-facts div {
    min-width: 0;
}

.analyzer-path-facts dt {
    margin: 0 0 2px;
    color: var(--cyan);
    font-size: 10px;
    font-weight: 850;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.analyzer-path-facts dd {
    margin: 0;
    color: var(--text);
    font-size: 12px;
    overflow-wrap: anywhere;
}

.analyzer-chain-list {
    display: grid;
    gap: 8px;
    margin: 0;
    padding-left: 20px;
}

.analyzer-chain-list li {
    color: var(--text);
    font-size: 12px;
    font-weight: 800;
    overflow-wrap: anywhere;
}

.lateral-table th,
.lateral-table td {
    padding: 10px 12px;
    border-bottom: 1px solid var(--border);
    text-align: left;
    vertical-align: top;
}

.lateral-table th {
    color: var(--cyan);
    font-size: 11px;
    font-weight: 850;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.possible-lateral-row td {
    background: rgba(255, 209, 102, 0.08);
}

.lateral-graph-layout {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 0;
    padding: 0;
}

.lateral-graph-stage {
    position: relative;
    min-height: 0;
    overflow: auto;
    border-bottom: 1px solid var(--border);
    background: #f8fafc;
}

.lateral-movement-graph {
    display: block;
    width: 100%;
    min-width: 0;
    aspect-ratio: 1280 / 500;
    min-height: 380px;
    max-height: min(62vh, 620px);
}

.lateral-movement-edge {
    fill: none;
    opacity: 0.72;
    cursor: pointer;
}

.lateral-movement-edge:hover {
    opacity: 1;
    filter: drop-shadow(0 0 5px rgba(37, 99, 235, 0.22));
}

.lateral-edge-label {
    fill: #000000;
    font-size: 11px;
    font-weight: 800;
    paint-order: stroke;
    stroke: #ffffff;
    stroke-width: 3px;
    stroke-linejoin: round;
    text-anchor: middle;
    cursor: pointer;
}

.lateral-movement-node rect {
    fill: #ffffff;
    stroke: var(--border-strong);
    stroke-width: 1.5;
    filter: drop-shadow(0 8px 16px rgba(15, 23, 42, 0.12));
}

.lateral-movement-node.source rect {
    stroke: var(--cyan);
}

.lateral-movement-node.destination rect {
    stroke: var(--accent);
}

.lateral-movement-node.intermediate rect {
    stroke: var(--warning);
}

.lateral-node-label {
    fill: #000000;
    font-size: 13px;
    font-weight: 850;
    paint-order: stroke;
    stroke: #ffffff;
    stroke-width: 3px;
    stroke-linejoin: round;
}

.lateral-node-meta {
    fill: #000000;
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
}

.lateral-graph-detail {
    min-width: 0;
    padding: 18px;
    background: var(--surface);
}

.lateral-graph-detail .entity-detail-content {
    max-height: none;
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px 18px;
    overflow: visible;
}

.lateral-graph-detail .entity-detail-content p,
.lateral-graph-detail .entity-detail-content ul {
    margin: 0;
}

.lateral-graph-detail .entity-detail-content ul {
    padding-left: 18px;
}

.lateral-graph-detail h3 {
    margin: 0 0 12px;
    color: var(--silver);
    font-size: 14px;
}

@media (max-width: 980px) {
    .lateral-analysis-grid,
    .analyzer-path-grid,
    .lateral-chain-grid,
    .lateral-columns,
    .lateral-graph-layout {
        grid-template-columns: 1fr;
        display: grid;
    }

    .lateral-graph-detail .entity-detail-content {
        grid-template-columns: 1fr;
    }
}


.timeline-analyzer-page .entity-analyzer-hero {
    grid-template-columns: minmax(0, 1fr) minmax(280px, 440px);
}

.timeline-workbench .section-header .muted {
    margin: 4px 0 0;
    color: var(--muted);
    font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
    font-size: 12px;
}

.timeline-layout {
    display: grid;
    grid-template-columns: 300px minmax(0, 1fr);
    min-height: 680px;
}

.timeline-filter-panel {
    display: grid;
    align-content: start;
    gap: 16px;
    padding: 16px;
    border-right: 1px solid var(--border);
    background: rgba(255, 255, 255, 0.02);
}

.timeline-filter-panel label,
.timeline-filter-group {
    display: grid;
    gap: 7px;
}

.timeline-filter-panel span,
.timeline-filter-group > span {
    color: var(--muted);
    font-size: 11px;
    font-weight: 850;
    letter-spacing: 0;
    text-transform: uppercase;
}

.timeline-filter-panel input,
.timeline-filter-panel select {
    width: 100%;
    min-width: 0;
    padding: 9px 10px;
    border: 1px solid var(--border-strong);
    border-radius: 8px;
    background: var(--surface);
    color: var(--text);
    font: inherit;
    font-size: 13px;
}

.timeline-chip-list,
.timeline-datapoint-list {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
}

.timeline-chip-list.scrollable,
.timeline-datapoint-list {
    max-height: 190px;
    overflow-y: auto;
}

.timeline-filter-chip,
.timeline-datapoint-filter {
    min-width: 0;
    max-width: 100%;
    padding: 6px 8px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-soft);
    color: var(--text);
    font-size: 12px;
    line-height: 1.25;
    text-align: left;
    overflow-wrap: anywhere;
}

.timeline-datapoint-filter {
    width: 100%;
    font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
}

.timeline-filter-chip.active,
.timeline-datapoint-filter.active {
    border-color: rgba(18, 191, 255, 0.65);
    background: var(--cyan-soft);
    color: var(--cyan);
}

.timeline-canvas-wrap {
    position: relative;
    min-width: 0;
    padding: 14px;
    overflow: auto;
}

.timeline-empty {
    margin: 96px auto 0;
    max-width: 520px;
    padding: 18px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-soft);
    color: var(--muted);
    text-align: center;
}

.timeline-canvas {
    display: grid;
    gap: 6px;
    min-width: 0;
    margin: 0;
    padding: 0;
    list-style: none;
}

.timeline-canvas::before {
    display: none;
}

.timeline-event {
    position: relative;
    display: block;
    min-height: 0;
}

.timeline-marker {
    position: absolute;
    top: 9px;
    left: 10px;
    z-index: 2;
    width: 32px;
    height: 28px;
    padding: 0;
    border: 1px solid rgba(18, 191, 255, 0.5);
    border-radius: 8px;
    background: rgba(18, 191, 255, 0.12);
    color: var(--cyan);
    font-size: 12px;
    font-weight: 900;
    box-shadow: none;
}

.timeline-event-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 8px;
    align-items: start;
    width: 100%;
    min-width: 0;
    padding: 9px 10px 9px 54px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-soft);
}

.timeline-event-heading {
    display: grid;
    grid-template-columns: 150px minmax(0, 1fr) max-content;
    gap: 12px;
    align-items: baseline;
    min-width: 0;
}

.timeline-event.left .timeline-event-card,
.timeline-event.right .timeline-event-card {
    grid-column: auto;
    margin: 0;
}

.timeline-event-card::after,
.timeline-event.left .timeline-event-card::after,
.timeline-event.right .timeline-event-card::after {
    display: none;
}

.timeline-event-card time {
    min-width: 0;
    color: var(--cyan);
    font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
    font-size: 11px;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.timeline-event-card h3 {
    min-width: 0;
    margin: 0;
    color: var(--silver);
    font-size: 13px;
    line-height: 1.3;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.timeline-event-card p {
    min-width: 0;
    margin: 0;
    color: var(--text);
    font-size: 12px;
    line-height: 1.4;
    white-space: normal;
    overflow-wrap: anywhere;
    word-break: break-word;
    display: -webkit-box;
    -webkit-box-orient: vertical;
    -webkit-line-clamp: 2;
    overflow: hidden;
}

.timeline-event-meta {
    justify-self: end;
    max-width: 190px;
    color: var(--muted);
    font-size: 11px;
    line-height: 1.35;
    text-align: right;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.timeline-event-tags {
    grid-column: 1 / -1;
    display: flex;
    flex-wrap: wrap;
    gap: 4px;
}

.timeline-event-tags button {
    max-width: 100%;
    padding: 3px 6px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.03);
    color: var(--text);
    font-size: 10px;
    line-height: 1.25;
    overflow-wrap: anywhere;
}

.timeline-event-details {
    grid-column: 1 / -1;
    min-width: 0;
}

.timeline-event-details summary {
    width: fit-content;
    cursor: pointer;
    color: var(--accent-strong, var(--accent));
    font-size: 11px;
    font-weight: 800;
    list-style: none;
}

.timeline-event-details summary::-webkit-details-marker {
    display: none;
}

.timeline-event-details summary::before {
    content: "+";
    display: inline-grid;
    width: 16px;
    height: 16px;
    margin-right: 6px;
    border: 1px solid var(--border);
    border-radius: 4px;
    place-items: center;
}

.timeline-event-details[open] summary {
    margin-bottom: 8px;
}

.timeline-event-details[open] summary::before {
    content: "-";
}

.timeline-event-detail-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 0;
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: 8px;
}

.timeline-detail-row {
    display: grid;
    grid-template-columns: minmax(90px, 0.32fr) minmax(0, 1fr);
    gap: 8px;
    padding: 5px 8px;
    border-top: 1px solid var(--border);
}

.timeline-detail-row:first-child,
.timeline-detail-row:nth-child(2) {
    border-top: 0;
}

.timeline-detail-row:nth-child(odd) {
    border-right: 1px solid var(--border);
}

.timeline-detail-row span {
    color: var(--muted);
    font-size: 10px;
    font-weight: 850;
    overflow-wrap: anywhere;
}

.timeline-detail-row code {
    color: var(--text);
    font-family: "SFMono-Regular", Consolas, "Liberation Mono", monospace;
    font-size: 10px;
    line-height: 1.35;
    white-space: pre-wrap;
    overflow-wrap: anywhere;
}

.timeline-more-button {
    grid-column: 1 / -1;
    justify-content: center;
    padding: 7px 10px;
    border: 0;
    border-top: 1px solid var(--border);
    border-radius: 0;
    background: rgba(18, 191, 255, 0.08);
    color: var(--cyan);
    font-size: 11px;
    font-weight: 850;
}

.timeline-event-tags button:hover,
.timeline-marker:hover,
.timeline-filter-chip:hover,
.timeline-datapoint-filter:hover {
    border-color: rgba(18, 191, 255, 0.65);
    color: var(--cyan);
}

@media (max-width: 980px) {
    .timeline-analyzer-page .entity-analyzer-hero,
    .timeline-layout {
        grid-template-columns: 1fr;
    }

    .timeline-filter-panel {
        border-right: 0;
        border-bottom: 1px solid var(--border);
    }
}

@media (max-width: 760px) {
    .timeline-canvas {
        min-width: 0;
    }

    .timeline-marker {
        top: 8px;
        left: 8px;
        width: 30px;
        height: 26px;
    }

    .timeline-event-card {
        grid-template-columns: 1fr;
        padding-left: 48px;
    }

    .timeline-event-heading {
        grid-template-columns: 1fr;
        gap: 4px;
    }

    .timeline-event-meta {
        justify-self: start;
        text-align: left;
    }

    .timeline-event-detail-grid {
        grid-template-columns: 1fr;
    }

    .timeline-detail-row:nth-child(2) {
        border-top: 1px solid var(--border);
    }

    .timeline-detail-row:nth-child(odd) {
        border-right: 0;
    }
}


.collapsible-section {
    overflow: hidden;
}

.collapsible-summary {
    cursor: pointer;
    list-style: none;
}

.collapsible-summary::-webkit-details-marker {
    display: none;
}

.collapsible-summary::after {
    content: "Open";
    min-height: 28px;
    padding: 4px 10px;
    border: 1px solid var(--border);
    border-radius: 999px;
    color: var(--cyan);
    font-size: 11px;
    font-weight: 850;
}

.collapsible-section[open] .collapsible-summary::after {
    content: "Close";
}

.threat-library-tabs .section-body {
    display: grid;
    gap: 16px;
}

.easm-module-nav {
    margin-bottom: 22px;
}

.easm-module-nav .library-tab-list {
    display: grid;
    grid-auto-flow: column;
    grid-auto-columns: minmax(0, 1fr);
    gap: 6px;
    overflow-x: auto;
    scrollbar-width: thin;
}

.easm-module-nav .library-tab {
    justify-content: center;
    min-width: 0;
    padding: 0 8px;
    white-space: nowrap;
    font-size: 12px;
}

.library-tab-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    border-bottom: 1px solid var(--border);
}

.threat-library-tabs .library-tab-list {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(175px, 1fr));
    gap: 6px;
    border-bottom: 0;
}

.library-tab {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 40px;
    padding: 0 14px;
    border: 1px solid transparent;
    border-bottom: 0;
    border-radius: 8px 8px 0 0;
    background: transparent;
    color: var(--muted);
    font-size: 13px;
    font-weight: 850;
    cursor: pointer;
}

.threat-library-tabs .library-tab {
    justify-content: center;
    min-width: 0;
    gap: 6px;
    padding: 0 8px;
    font-size: 12px;
    line-height: 1.2;
    text-align: center;
    white-space: normal;
}

.threat-library-tabs .library-tab span {
    flex: 0 0 auto;
    min-width: 20px;
    height: 20px;
    padding: 0 6px;
    font-size: 11px;
}

.threat-library-tabs .rule-scope-tab-list {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.library-tab > span:last-child,
.auto-triage-subtab > span:last-child,
.saved-hunt-filter > span:last-child {
    flex: 0 0 auto;
}

.library-tab span {
    display: inline-grid;
    place-items: center;
    min-width: 24px;
    height: 22px;
    padding: 0 7px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    color: var(--silver);
    font-size: 12px;
}

.library-tab[aria-selected="true"] {
    border-color: var(--border);
    background: var(--surface-soft);
    color: var(--cyan);
}

.library-tab-panel {
    min-width: 0;
}

.library-filter-bar {
    display: grid;
    grid-template-columns: minmax(240px, 1fr) 140px 180px auto auto;
    gap: 12px;
    align-items: end;
    margin-bottom: 16px;
}

.library-filter-bar .field {
    margin: 0;
}

.library-queue-summary {
    margin: -8px 0 2px;
    color: var(--muted);
    font-size: 12px;
    font-weight: 750;
}

.library-result-summary {
    display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 12px;
    color: var(--muted);
    font-size: 12px;
    font-weight: 700;
}

@media (max-width: 760px) {
    .library-filter-bar {
        grid-template-columns: 1fr;
    }

    .threat-library-tabs .library-tab-list {
        grid-template-columns: 1fr 1fr;
    }

    .threat-library-tabs .rule-scope-tab-list {
        grid-template-columns: 1fr;
    }

    .threat-library-tabs .library-tab {
        white-space: normal;
    }
}

.library-list {
    display: grid;
    gap: 12px;
}

.library-card {
    display: grid;
    grid-template-columns: minmax(0, 1fr) max-content;
    gap: 14px;
    align-items: center;
    padding: 12px 14px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-soft);
}

.threat-intel-card {
    border-left: 4px solid var(--cyan);
}

.threat-intel-severity-critical {
    border-left-color: var(--danger);
    background: linear-gradient(90deg, rgba(255, 88, 116, 0.12), var(--surface-soft) 28%);
}

.threat-intel-severity-high {
    border-left-color: #ff914d;
    background: linear-gradient(90deg, rgba(255, 145, 77, 0.12), var(--surface-soft) 28%);
}

.threat-intel-severity-medium {
    border-left-color: var(--warning);
    background: linear-gradient(90deg, rgba(255, 209, 102, 0.1), var(--surface-soft) 28%);
}

.threat-intel-severity-low {
    border-left-color: #44d689;
    background: linear-gradient(90deg, rgba(68, 214, 137, 0.09), var(--surface-soft) 28%);
}

.library-card > div:first-child {
    min-width: 0;
}

.library-card .candidate-actions {
    grid-column: 2;
    grid-row: 1;
    align-self: center;
    justify-content: flex-end;
    align-items: center;
    flex-wrap: nowrap;
}

.library-card .candidate-actions form {
    display: flex;
}

.library-card .candidate-actions .primary-link,
.library-card .candidate-actions .secondary-button,
.library-card .candidate-actions button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    min-width: 92px;
    padding-top: 0;
    padding-bottom: 0;
    white-space: normal;
    overflow-wrap: anywhere;
    line-height: 1.2;
    text-align: center;
}

.library-card h3 {
    margin: 0 0 6px;
    overflow-wrap: anywhere;
    color: var(--silver);
    font-size: 15px;
}

.library-review-flag {
    display: inline-flex;
    align-items: center;
    width: fit-content;
    min-height: 24px;
    margin: 0 0 8px;
    padding: 4px 8px;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.06);
    color: var(--muted);
    font-size: 11px;
    font-weight: 800;
    line-height: 1.2;
}

.library-review-reviewed_not_actioned {
    border-color: rgba(255, 193, 7, 0.45);
    background: rgba(255, 193, 7, 0.12);
    color: #f8d27a;
}

.library-review-reviewed_hunted {
    border-color: rgba(74, 222, 128, 0.48);
    background: rgba(74, 222, 128, 0.13);
    color: #9df2b4;
}

.library-review-not_reviewed {
    border-color: rgba(148, 163, 184, 0.34);
}

.library-review-not_relevant {
    border-color: rgba(248, 113, 113, 0.45);
    background: rgba(248, 113, 113, 0.12);
    color: #ffb4b4;
}

.library-not-relevant-action {
    border-color: rgba(248, 113, 113, 0.4);
    color: #ffb4b4;
}

.candidate-actions form {
    display: inline-flex;
    margin: 0;
}

.library-card p {
    margin: 0;
    color: var(--muted);
    font-size: 12px;
}

@media (max-width: 720px) {
    .library-card {
        grid-template-columns: 1fr;
    }

    .library-card .candidate-actions {
        grid-column: 1;
        grid-row: auto;
        justify-content: flex-start;
        flex-wrap: wrap;
    }
}

.threat-library-source-row {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

.library-indicator-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
}

@media (max-width: 920px) {
    .library-indicator-grid {
        grid-template-columns: 1fr;
    }
}


.cti-review-grid {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 280px;
    gap: 16px;
    align-items: start;
}

.cti-review-form textarea {
    min-height: 92px;
}

.cti-review-actions {
    justify-content: space-between;
    gap: 20px;
    padding-top: 14px;
    border-top: 1px solid var(--border);
}

.cti-review-actions .cti-create-hunt-link {
    margin-left: 0;
}

.cti-review-actions .cti-open-source-action {
    margin-left: auto;
}

.cti-review-actions .cti-not-actionable-button {
    margin-left: 0;
    border-color: rgba(248, 113, 113, 0.4);
    color: #ffb4b4;
}

.inline-select-label {
    align-self: center;
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
}

.compact-select {
    min-height: 38px;
    width: auto;
}

.cti-review-assist {
    position: sticky;
    top: 16px;
}

.cti-review-assist form {
    margin: 10px 0;
}

.cti-review-builder-summary {
    margin-bottom: 16px;
}

.compact-section-header {
    padding: 0 0 10px;
}

.compact-section-header h3 {
    margin: 0;
    color: var(--silver);
    font-size: 16px;
}

@media (max-width: 980px) {
    .cti-review-grid {
        grid-template-columns: 1fr;
    }

    .cti-review-assist {
        position: static;
    }
}


.cti-quality-panel,
.automation-grid,
.diamond-grid {
    display: grid;
    gap: 1rem;
}

.cti-quality-panel {
    grid-template-columns: minmax(220px, 0.8fr) minmax(280px, 1.4fr);
    border-top: 1px solid var(--border);
}

.quality-check-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 0.7rem;
}

.quality-check,
.automation-panel,
.diamond-card {
    border: 1px solid var(--border);
    background: var(--surface-soft);
    border-radius: 8px;
    padding: 0.85rem;
}

.quality-check strong,
.quality-check span,
.diamond-card li strong,
.diamond-card li span,
.diamond-bridges strong,
.diamond-bridges span {
    display: block;
}

.quality-check span,
.diamond-card li span,
.diamond-bridges span {
    color: var(--muted);
    font-size: 0.88rem;
    margin-top: 0.2rem;
}

.quality-pass {
    border-color: rgba(34, 197, 94, 0.38);
}

.quality-warn {
    border-color: rgba(255, 209, 102, 0.42);
}

.quality-missing {
    border-color: rgba(255, 88, 116, 0.36);
}

.handoff-workflow {
    display: grid;
    gap: 18px;
}

.handoff-field-grid {
    align-items: start;
}

.handoff-field-grid textarea {
    min-height: 118px;
}

.handoff-ready-check {
    align-self: end;
}

.handoff-review-grid {
    padding-top: 4px;
}

.handoff-workflow-summary {
    display: grid;
    gap: 12px;
}

.handoff-summary-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 10px;
}

.handoff-summary-item {
    min-width: 0;
    min-height: 60px;
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    padding: 12px 14px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-soft);
}

.handoff-summary-item span {
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
}

.handoff-summary-item strong {
    color: var(--silver);
    font-size: 18px;
    font-weight: 850;
    line-height: 1.2;
    text-align: right;
    overflow-wrap: anywhere;
}

.handoff-guardrail-panel {
    display: grid;
    gap: 12px;
}

.handoff-guardrail-panel .prose {
    color: var(--muted);
    font-size: 0.92rem;
}

.advanced-hunt-package > summary {
    min-height: 58px;
}

.advanced-hunt-package-body {
    display: grid;
    gap: 16px;
}

.advanced-hunt-package-body > .section,
.advanced-hunt-package-body > .quick-reference-stack,
.advanced-hunt-package-body > .stack {
    margin: 0;
}

.automation-grid {
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
}

.automation-panel h3,
.diamond-card h3 {
    margin-top: 0;
}

.diamond-grid {
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}

.diamond-card li,
.diamond-bridges li {
    padding: 0.45rem 0;
    border-bottom: 1px solid rgba(173, 202, 229, 0.12);
}

.diamond-card li:last-child,
.diamond-bridges li:last-child {
    border-bottom: 0;
}

@media (max-width: 760px) {
    .cti-quality-panel {
        grid-template-columns: 1fr;
    }
}


.automation-list {
    display: grid;
    gap: 0.55rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.automation-list li {
    min-width: 0;
    padding: 0.55rem 0;
    border-top: 1px solid rgba(173, 202, 229, 0.12);
    color: var(--text);
    overflow-wrap: anywhere;
    word-break: break-word;
}

.automation-list li:first-child {
    border-top: 0;
}

.automation-panel,
.diamond-card,
.quality-check {
    min-width: 0;
    overflow: hidden;
}

.automation-panel h3,
.automation-panel h4,
.diamond-card h3,
.diamond-card .prose {
    overflow-wrap: anywhere;
    word-break: break-word;
}

.diamond-list strong,
.diamond-bridges strong {
    line-height: 1.35;
}

.diamond-list span,
.diamond-bridges span {
    line-height: 1.35;
}


.evaluated-candidate-state span {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 0 10px;
    border: 1px solid rgba(34, 197, 94, 0.38);
    border-radius: 999px;
    background: rgba(34, 197, 94, 0.12);
    color: #bbf7d0;
}


.evaluated-candidate-state .inline-action-form {
    margin: 0;
}

.easm-lifecycle-form {
    display: flex;
    align-items: center;
    gap: 8px;
    margin: 0;
}

.easm-lifecycle-form select {
    width: 150px;
}

.compact-button {
    min-height: 28px;
    padding: 0 10px;
    font-size: 12px;
}

.hearth-filter-panel button,
.hearth-filter-panel .secondary-button.compact-button {
    height: 40px;
    min-height: 40px;
    padding: 0 18px;
    font-size: 13px;
    line-height: 1;
}

.telemetry-readiness-result {
    display: grid;
    gap: 16px;
}

.telemetry-family-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.telemetry-family {
    display: grid;
    gap: 6px;
    min-width: 0;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.035);
}

.telemetry-family strong {
    color: var(--silver);
    font-size: 13px;
}

.telemetry-family span {
    overflow-wrap: anywhere;
    color: var(--muted);
    font-size: 12px;
}

.telemetry-family-present {
    border-color: rgba(34, 197, 94, 0.52);
    background: rgba(34, 197, 94, 0.08);
}

.telemetry-family-missing {
    border-color: rgba(245, 158, 11, 0.45);
    background: rgba(245, 158, 11, 0.08);
}

.telemetry-fields-disclosure {
    border: 1px solid var(--border);
    border-radius: 8px;
}

.telemetry-field-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.telemetry-field-list span {
    max-width: 100%;
    padding: 5px 8px;
    border: 1px solid var(--border);
    border-radius: 6px;
    color: var(--silver);
    font-size: 12px;
    overflow-wrap: anywhere;
}

@media (max-width: 920px) {
    .telemetry-family-grid {
        grid-template-columns: 1fr;
    }
}

.dfir-evidence-grid {
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
}

.dfir-evidence-summary {
    border-color: rgba(125, 211, 252, 0.36);
}

.dfir-evidence-card-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.dfir-evidence-card-header h3 {
    margin: 0;
}

.dfir-evidence-card h4 {
    margin: 10px 0 0;
    color: var(--silver);
    font-size: 13px;
}

.dfir-evidence-priority {
    border-color: rgba(34, 197, 94, 0.45);
}

.dfir-evidence-review {
    border-color: rgba(245, 158, 11, 0.45);
}

.dfir-evidence-optional {
    opacity: 0.86;
}

.dfir-tool-list {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.dfir-tool-list span {
    max-width: 100%;
    padding: 5px 8px;
    border: 1px solid var(--border);
    border-radius: 6px;
    color: var(--silver);
    font-size: 12px;
    overflow-wrap: anywhere;
}

.run-comparison-panel {
    display: grid;
    gap: 14px;
    margin-top: 14px;
    padding: 14px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.028);
}

.run-comparison-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
}

.run-comparison-header h3 {
    margin: 0;
    color: var(--silver);
    font-size: 15px;
}

.run-comparison-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.run-comparison-previous {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    align-items: center;
    padding: 10px 12px;
    border: 1px solid rgba(103, 232, 249, 0.22);
    border-radius: 8px;
    background: rgba(103, 232, 249, 0.07);
    color: var(--muted);
    font-size: 12px;
}

.run-comparison-previous strong {
    color: var(--silver);
    font-size: 12px;
    overflow-wrap: anywhere;
}

.run-change-list {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
    gap: 10px;
}

.run-change-card {
    min-width: 0;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-soft);
}

.run-change-card h4 {
    margin: 0 0 8px;
    color: var(--silver);
    font-size: 13px;
}

.run-change-card p,
.run-change-counts span {
    overflow-wrap: anywhere;
}

.run-change-card p {
    margin: 8px 0 0;
    color: var(--muted);
    font-size: 12px;
}

.run-change-counts {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.run-change-counts span {
    padding: 4px 7px;
    border: 1px solid var(--border);
    border-radius: 6px;
    color: var(--muted);
    font-size: 11px;
}

@media (max-width: 920px) {
    .run-comparison-header {
        flex-direction: column;
    }

    .run-comparison-metrics,
    .handoff-summary-grid {
        grid-template-columns: 1fr 1fr;
    }
}

@media (max-width: 620px) {
    .run-comparison-metrics,
    .handoff-summary-grid {
        grid-template-columns: 1fr;
    }
}

.cti-quality-queue {
    display: grid;
    gap: 12px;
    padding: 14px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.025);
}

.cti-quality-queue-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
}

.cti-quality-bucket {
    min-width: 0;
    padding: 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-soft);
}

.cti-quality-bucket-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 10px;
    margin-bottom: 10px;
}

.cti-quality-bucket h3 {
    margin: 0;
    color: var(--silver);
    font-size: 14px;
}

.cti-quality-hunt_ready {
    border-color: rgba(34, 197, 94, 0.45);
}

.cti-quality-review_first {
    border-color: rgba(245, 158, 11, 0.45);
}

.cti-quality-needs_triage {
    border-color: rgba(148, 163, 184, 0.34);
}

.cti-quality-not_actionable {
    border-color: rgba(248, 113, 113, 0.45);
}

.cti-quality-item-list {
    display: grid;
    gap: 9px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.cti-quality-item-list li {
    min-width: 0;
    padding-top: 9px;
    border-top: 1px solid rgba(173, 202, 229, 0.12);
}

.cti-quality-item-list li:first-child {
    padding-top: 0;
    border-top: 0;
}

.cti-quality-item-list a,
.cti-quality-item-list span,
.cti-quality-item-list small {
    display: block;
    overflow-wrap: anywhere;
}

.cti-quality-item-list a {
    color: var(--cyan);
    font-size: 13px;
    font-weight: 850;
    text-decoration: none;
}

.cti-quality-item-list span,
.cti-quality-item-list small,
.cti-quality-empty {
    margin-top: 4px;
    color: var(--muted);
    font-size: 12px;
}

@media (max-width: 1100px) {
    .cti-quality-queue-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 680px) {
    .cti-quality-queue-grid {
        grid-template-columns: 1fr;
    }
}
.auto-triage-subtabs {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 14px;
    border-bottom: 1px solid var(--border);
}

.auto-triage-subtab {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 38px;
    padding: 0 13px;
    border: 1px solid transparent;
    border-bottom: 0;
    border-radius: 8px 8px 0 0;
    background: transparent;
    color: var(--muted);
    font-size: 13px;
    font-weight: 850;
}

.auto-triage-subtab span {
    display: inline-grid;
    place-items: center;
    min-width: 24px;
    height: 22px;
    padding: 0 7px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.08);
    color: var(--silver);
    font-size: 12px;
}

.auto-triage-subtab[aria-selected="true"] {
    border-color: var(--border);
    background: var(--surface-soft);
    color: var(--cyan);
}

.auto-triage-subtab-panel {
    min-width: 0;
}

.daily-brief-unactioned {
    border-left-color: var(--danger);
    background: linear-gradient(90deg, rgba(255, 88, 116, 0.1), var(--surface-soft) 30%);
}

.dashboard-source-item-unactioned {
    box-shadow: inset 0 0 0 1px rgba(255, 88, 116, 0.22);
}

.auto-triage-empty {
    display: grid;
    gap: 6px;
}

.auto-triage-empty strong {
    color: var(--warning);
}

.auto-triage-empty span {
    color: var(--muted);
    font-size: 12px;
    line-height: 1.45;
}

.auto-triage-guidance {
    padding: 9px 11px;
    border: 1px solid rgba(16, 185, 129, 0.28);
    border-radius: 8px;
    background: rgba(16, 185, 129, 0.08);
    color: var(--silver);
}

.auto-triage-guidance strong {
    color: #5ff0a5;
}

.auto-triage-blocker {
    display: grid;
    gap: 6px;
    padding: 10px 12px;
    border: 1px solid rgba(255, 88, 116, 0.36);
    border-radius: 8px;
    background: rgba(255, 88, 116, 0.1);
}

.auto-triage-blocker span {
    color: #ff9bae;
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.auto-triage-blocker p {
    color: var(--text);
}

.auto-triage-blocker small {
    color: var(--muted);
    line-height: 1.45;
}

.daily-brief-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    margin-bottom: 16px;
    padding: 14px 16px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-soft);
}

.daily-brief-header h3 {
    margin: 4px 0;
    color: var(--silver);
    font-size: 16px;
}

.daily-brief-header p {
    margin: 0;
    color: var(--muted);
    font-size: 13px;
    font-weight: 750;
}

.auto-triage-refresh-status {
    display: grid;
    gap: 3px;
    margin-top: 10px;
    max-width: 760px;
    padding: 9px 11px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.03);
    color: var(--muted);
    font-size: 12px;
    line-height: 1.35;
}

.auto-triage-refresh-status strong {
    color: var(--silver);
}

.auto-triage-refresh-status span,
.auto-triage-refresh-status small {
    color: var(--muted);
}

.auto-triage-refresh-warning {
    border-color: rgba(255, 196, 61, 0.45);
    background: rgba(255, 196, 61, 0.08);
}

.auto-triage-refresh-danger {
    border-color: rgba(255, 91, 91, 0.5);
    background: rgba(255, 91, 91, 0.08);
}

.auto-triage-refresh-success {
    border-color: rgba(46, 204, 113, 0.36);
    background: rgba(46, 204, 113, 0.06);
}

.daily-brief-list {
    display: grid;
    gap: 12px;
}

.daily-brief-card {
    display: grid;
    grid-template-columns: 46px minmax(0, 1fr) auto;
    gap: 14px;
    align-items: center;
    padding: 16px;
    border: 1px solid var(--border);
    border-left: 4px solid var(--cyan);
    border-radius: 8px;
    background: var(--surface-soft);
}

.daily-brief-card .candidate-actions {
    align-self: center;
    align-items: center;
    justify-content: flex-end;
    flex-wrap: nowrap;
}

.daily-brief-card .candidate-actions .primary-link,
.daily-brief-card .candidate-actions .secondary-button,
.daily-brief-card .candidate-actions button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 36px;
    min-width: 92px;
    padding-top: 0;
    padding-bottom: 0;
    line-height: 1.2;
    text-align: center;
}

.daily-brief-critical {
    border-left-color: var(--danger);
}

.daily-brief-high {
    border-left-color: #facc15;
}

.daily-brief-medium {
    border-left-color: var(--cyan);
}

.daily-brief-rank {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 36px;
    height: 36px;
    border: 1px solid var(--border-strong);
    border-radius: 8px;
    background: var(--surface);
    color: var(--silver);
    font-size: 15px;
    font-weight: 900;
}

.daily-brief-main {
    display: grid;
    gap: 7px;
    min-width: 0;
}

.daily-brief-title-row,
.daily-brief-signals {
    display: flex;
    align-items: center;
    gap: 8px;
    flex-wrap: wrap;
}

.daily-brief-main h3 {
    margin: 0;
    color: var(--silver);
    font-size: 15px;
    line-height: 1.3;
}

.daily-brief-main p {
    margin: 0;
    color: var(--text);
    font-size: 13px;
    line-height: 1.45;
}

.daily-brief-main small {
    color: var(--muted);
    font-size: 12px;
    font-weight: 750;
}

.daily-brief-signals span {
    padding: 4px 8px;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: var(--surface);
    color: var(--muted);
    font-size: 11px;
    font-weight: 800;
}

@media (max-width: 760px) {
    .daily-brief-header,
    .daily-brief-card {
        grid-template-columns: 1fr;
    }

    .daily-brief-header {
        display: grid;
    }
}


/* Threat Triage */
.triage-condensed-panel,
.triage-jira-panel {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 18px;
}

.triage-condensed-panel h3,
.triage-jira-panel h3 {
    margin: 0 0 6px;
    color: var(--silver);
    font-size: 17px;
}

.triage-meta-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 10px;
}

.triage-meta-row span {
    display: inline-flex;
    min-height: 28px;
    align-items: center;
    padding: 4px 9px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: rgba(148, 163, 184, 0.08);
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
}

.saved-hunt-triage-actions {
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 10px;
    min-width: min(100%, 430px);
}

.saved-hunt-triage-actions form {
    margin: 0;
}

.peak-metadata-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.peak-metadata-form .full {
    grid-column: 1 / -1;
}

.peak-metadata-form label {
    display: grid;
    gap: 6px;
    min-width: 0;
    color: var(--muted);
    font-size: 11px;
    font-weight: 900;
    text-transform: uppercase;
}

.peak-metadata-form select,
.peak-metadata-form textarea {
    width: 100%;
    min-width: 0;
    border-radius: 8px;
}

.peak-metadata-form select {
    height: 40px;
}

.peak-metadata-form textarea {
    min-height: 104px;
    resize: vertical;
    color: var(--silver);
    font-size: 13px;
    font-weight: 650;
    line-height: 1.45;
    text-transform: none;
}



.triage-record-actions {
    align-items: center;
}

.triage-record-actions .inline-action-form {
    display: inline-flex;
    align-items: center;
    margin: 0;
}

.triage-record-actions .pill,
.triage-record-actions .secondary-button {
    min-height: 34px;
    display: inline-flex;
    align-items: center;
}

.triage-record-actions .secondary-button {
    padding-top: 0;
    padding-bottom: 0;
}

.triage-form textarea {
    min-height: 110px;
}
.triage-hero-actions {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    margin-top: 16px;
}

.triage-hero-actions .primary-link {
    min-height: 42px;
    padding: 10px 14px;
}

.triage-hero-copy {
    display: -webkit-box;
    overflow: hidden;
    -webkit-line-clamp: 4;
    -webkit-box-orient: vertical;
}


.triage-table td:first-child {
    min-width: 0;
}

.triage-table {
    min-width: 0;
    table-layout: fixed;
}

.triage-table .triage-finding-col { width: 39%; }
.triage-table .triage-status-col { width: 8%; }
.triage-table .triage-severity-col { width: 9%; }
.triage-table .triage-owner-col { width: 10%; }
.triage-table .triage-source-col { width: 10%; }
.triage-table .triage-ticket-col { width: 8%; }
.triage-table .triage-updated-col { width: 8%; }
.triage-table .triage-delete-col { width: 8%; }

.triage-table th,
.triage-table td,
.triage-table strong {
    word-break: normal;
    overflow-wrap: normal;
}

.triage-table th,
.triage-table .capability-badge,
.triage-updated,
.triage-updated span,
.triage-delete {
    white-space: nowrap;
}

.triage-status-new,
.triage-status-open,
.triage-status-scoping,
.triage-status-investigating,
.triage-status-reporting {
    border-color: rgba(var(--cyan-rgb), 0.45);
    background: rgba(var(--cyan-rgb), 0.14);
    color: var(--silver);
}

.triage-status-confirmed,
.triage-severity-critical,
.triage-severity-high {
    border-color: rgba(229, 57, 71, 0.55);
    background: rgba(229, 57, 71, 0.16);
    color: #ffb5bd;
}

.triage-status-benign,
.triage-status-closed,
.triage-severity-low,
.triage-severity-informational {
    border-color: rgba(120, 190, 150, 0.45);
    background: rgba(120, 190, 150, 0.12);
    color: #bde8ca;
}

.triage-severity-medium {
    border-color: rgba(255, 209, 102, 0.45);
    background: var(--warning-bg);
    color: var(--warning);
}

.triage-history-list li {
    padding: 12px 0;
    border-bottom: 1px solid var(--border);
}

.triage-history-list li:last-child {
    border-bottom: 0;
}

.triage-action-step-list {
    display: grid;
    gap: 12px;
}

.triage-action-step {
    display: grid;
    gap: 10px;
    padding: 14px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: rgba(148, 163, 184, 0.07);
}

.triage-action-step .compact-check {
    color: var(--silver);
    font-size: 15px;
    font-weight: 900;
}

.triage-action-step h3 {
    margin: 0;
    color: var(--cyan);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.triage-similar-table td:first-child {
    min-width: 280px;
}

.triage-similar-reasons {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
}

.triage-similar-reasons span {
    display: inline-flex;
    min-height: 26px;
    align-items: center;
    padding: 3px 8px;
    border: 1px solid rgba(var(--cyan-rgb), 0.35);
    border-radius: 8px;
    background: rgba(var(--cyan-rgb), 0.1);
    color: var(--silver);
    font-size: 12px;
    font-weight: 800;
}


.triage-history-list span,
.triage-history-list small {
    display: block;
    color: var(--muted);
    font-size: 12px;
}

.case-form textarea {
    min-height: 96px;
}

.case-table td:first-child {
    min-width: 0;
}

.case-table {
    min-width: 0;
    table-layout: fixed;
}

.case-table .case-title-col { width: 55%; }
.case-table .case-status-col { width: 10%; }
.case-table .case-severity-col { width: 10%; }
.case-table .case-owner-col { width: 13%; }
.case-table .case-updated-col { width: 12%; }

.case-table th,
.case-table td,
.case-table strong {
    word-break: normal;
    overflow-wrap: normal;
}

.case-table th,
.case-table .capability-badge,
.case-updated,
.case-updated span {
    white-space: nowrap;
}

.case-workbench-page {
    scroll-behavior: smooth;
}

.case-tab-list {
    position: sticky;
    top: 12px;
    z-index: 4;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 0 0 18px;
    padding: 10px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: rgba(10, 11, 14, 0.92);
    backdrop-filter: blur(12px);
}

.case-tab-list a {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 6px 10px;
    border: 1px solid var(--border);
    border-radius: 8px;
    color: var(--muted);
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
}

.case-tab-list a:hover,
.case-tab-list a:focus-visible {
    border-color: var(--cyan);
    color: var(--text);
}

.case-tab-panel {
    scroll-margin-top: 92px;
}

.case-overview-grid,
.case-split-panel {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 340px);
    gap: 16px;
    align-items: start;
}

.case-overview-form,
.case-side-form {
    min-width: 0;
}

.case-timeline-panel {
    display: grid;
    grid-template-columns: 1fr;
    gap: 16px;
}

.case-overview-meta {
    display: grid;
    grid-column: 1 / -1;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
    align-items: start;
}

.case-overview-meta-stack {
    display: grid;
    gap: 18px;
}

.case-next-action,
.case-side-form {
    min-width: 0;
    padding: 14px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: rgba(148, 163, 184, 0.06);
}

.case-next-action h3 {
    margin: 0 0 8px;
    color: var(--text);
    font-size: 14px;
}

.case-side-form h3 {
    margin: 0 0 8px;
    color: var(--text);
    font-size: 14px;
}

.case-next-action h3:not(:first-child) {
    margin-top: 16px;
}

.case-next-action p {
    margin: 0;
    color: var(--muted);
}

.case-overview-metrics {
    display: grid;
    gap: 8px;
    margin: 14px 0 0;
}

.case-overview-metrics span,
.case-task-item {
    display: flex;
    align-items: center;
    gap: 8px;
    min-width: 0;
    padding: 10px 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: rgba(15, 23, 42, 0.24);
    color: var(--muted);
    font-size: 13px;
    font-weight: 700;
}

.case-severity-guidance {
    min-height: 0;
    margin: 0;
    padding: 10px 12px;
    border: 1px solid rgba(148, 163, 184, 0.22);
    border-radius: 8px;
    background: rgba(148, 163, 184, 0.08);
    color: var(--muted);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.45;
}

.case-evidence-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
    gap: 12px;
}

.case-evidence-card dl {
    display: grid;
    grid-template-columns: minmax(96px, 140px) minmax(0, 1fr);
    gap: 8px 12px;
    margin: 0;
}

.case-evidence-card dt {
    color: var(--soft);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.case-evidence-card dd {
    min-width: 0;
    margin: 0;
    color: var(--muted);
    overflow-wrap: anywhere;
}

.case-evidence-card-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 12px;
    margin-bottom: 12px;
}

.case-evidence-card-header h3 {
    margin: 0;
}

.case-evidence-form {
    display: grid;
    gap: 12px;
}

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

.case-report-toggle {
    display: inline-flex;
    align-items: center;
    gap: 8px;
    white-space: nowrap;
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
}

.case-report-toggle input[type="checkbox"] {
    width: 16px;
    height: 16px;
    accent-color: var(--cyan);
}

.case-task-grid {
    display: grid;
    gap: 0;
    border-top: 1px solid var(--border);
}

.case-task-panel {
    grid-template-columns: 1fr;
}

.case-task-panel > .case-side-form {
    padding: 0;
    border: 0;
    background: transparent;
}

.case-task-card {
    min-width: 0;
    padding: 0;
    border-bottom: 1px solid var(--border);
    background: transparent;
}

.case-task-card[open] {
    padding-bottom: 14px;
}

.case-task-blocker {
    border-bottom-color: rgba(229, 57, 71, 0.72);
}

.case-task-summary {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto auto;
    gap: 10px;
    align-items: center;
    min-height: 52px;
    padding: 10px 0;
    cursor: pointer;
    list-style: none;
}

.case-task-summary::-webkit-details-marker {
    display: none;
}

.case-task-summary::before {
    content: "+";
    display: inline-grid;
    grid-column: 1;
    grid-row: 1;
    place-items: center;
    width: 22px;
    height: 22px;
    border: 1px solid var(--border-strong);
    border-radius: 999px;
    color: var(--cyan);
    font-weight: 900;
}

.case-task-card[open] > .case-task-summary::before {
    content: "-";
}

.case-task-summary strong {
    grid-column: 1;
    grid-row: 1;
    min-width: 0;
    padding-left: 34px;
    overflow-wrap: anywhere;
    color: var(--text);
}

.case-task-form {
    display: grid;
    grid-template-columns: minmax(180px, 1fr) minmax(0, 1.45fr) minmax(170px, 0.75fr) max-content;
    gap: 12px;
    align-items: end;
}

.case-task-card-header {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    align-items: center;
    gap: 8px;
}

.case-task-card-header input {
    min-width: 0;
    font-size: 15px;
    font-weight: 900;
}

.case-task-meta-grid {
    grid-template-columns: minmax(100px, 0.7fr) minmax(130px, 1fr) minmax(150px, 1fr);
}

.case-task-meta-grid input[type="date"] {
    min-width: 0;
}

.case-task-notes textarea {
    min-height: 44px;
    max-height: 96px;
}

.case-task-actions-row {
    display: flex;
    justify-content: flex-end;
    align-items: center;
    gap: 12px;
}

.case-task-actions-row button {
    white-space: nowrap;
}

.case-add-task-details {
    display: grid;
    gap: 12px;
}

.case-add-task-details > summary {
    width: fit-content;
    min-height: 36px;
    padding: 8px 14px;
    border: 1px solid var(--border-strong);
    border-radius: 8px;
    background: var(--button-bg);
    color: var(--button-text);
    cursor: pointer;
    font-size: 14px;
    font-weight: 900;
    list-style: none;
}

.case-add-task-details > summary::-webkit-details-marker {
    display: none;
}

.case-add-task-details > summary:hover,
.case-add-task-details > summary:focus-visible {
    border-color: var(--accent);
    box-shadow: 0 0 0 3px var(--focus-ring);
    outline: none;
}

.case-add-task-details > form {
    margin-top: 12px;
}

.case-finding-dialog {
    box-sizing: border-box;
    width: min(1180px, calc(100vw - 48px));
    max-width: calc(100vw - 48px);
    max-height: min(820px, calc(100vh - 48px));
    overflow: hidden;
}

.case-finding-dialog-shell {
    box-sizing: border-box;
    width: 100%;
    max-width: 100%;
    max-height: inherit;
    overflow: hidden;
}

.case-finding-search {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 8px 12px;
    align-items: end;
    padding: 0 18px 14px;
}

.case-finding-search label {
    grid-column: 1 / -1;
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.case-finding-search input {
    min-width: 0;
}

.case-finding-results {
    display: grid;
    gap: 10px;
    max-height: min(520px, calc(100vh - 270px));
    overflow-x: hidden;
    overflow-y: auto;
    padding: 0 18px 18px;
}

.case-finding-result {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 124px;
    gap: 12px;
    align-items: center;
    box-sizing: border-box;
    width: 100%;
    min-width: 0;
    max-width: 100%;
    padding: 12px 14px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: rgba(148, 163, 184, 0.06);
}

.case-finding-result .secondary-button {
    justify-self: end;
    white-space: nowrap;
    width: 124px;
}

.case-finding-result strong,
.case-finding-result span,
.case-finding-result small {
    display: block;
    min-width: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
}

.case-finding-result strong {
    color: var(--text);
}

.case-finding-result span,
.case-finding-result small {
    margin-top: 4px;
    color: var(--muted);
    font-size: 12px;
}

.case-link-list li {
    padding: 10px 0;
    border-bottom: 1px solid var(--border);
}

.case-link-list li::before {
    content: none;
}

.case-link-list li:last-child {
    border-bottom: 0;
}

.case-link-list span {
    display: block;
    margin-top: 4px;
    color: var(--muted);
    font-size: 12px;
}

.case-entity-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(240px, 1fr));
    gap: 12px;
}

.case-entity-card {
    min-width: 0;
    overflow: hidden;
}

.case-entity-list li {
    min-width: 0;
    align-items: flex-start;
}

.case-entity-list strong,
.case-entity-list .admin-subtext {
    min-width: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: break-word;
    white-space: normal;
}

.case-timeline {
    display: grid;
    gap: 12px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.case-timeline li {
    padding: 12px 14px;
    border: 1px solid var(--border);
    border-left: 3px solid var(--cyan);
    border-radius: 8px;
    background: rgba(148, 163, 184, 0.06);
}

.case-timeline span {
    display: block;
    margin-top: 5px;
    color: var(--muted);
    font-size: 12px;
}

.case-timeline p {
    margin: 8px 0 0;
    color: var(--muted);
}

.case-report-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 12px;
}

.case-report-panel {
    min-width: 0;
    padding: 14px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: rgba(148, 163, 184, 0.06);
}

.case-report-panel.span-2 {
    grid-column: 1 / -1;
}

.case-report-panel h3,
.case-report-panel h4 {
    margin: 0 0 10px;
    color: var(--text);
    font-size: 14px;
}

.case-collapse-section {
    cursor: pointer;
}

.case-collapse-section > summary {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    cursor: pointer;
    list-style: none;
}

.case-collapse-section > summary::-webkit-details-marker {
    display: none;
}

.case-collapse-section > summary::before {
    content: "+";
    display: inline-grid;
    flex: 0 0 auto;
    place-items: center;
    width: 22px;
    height: 22px;
    border: 1px solid var(--border-strong);
    border-radius: 999px;
    color: var(--cyan);
    font-weight: 900;
}

.case-collapse-section[open] > summary::before {
    content: "-";
}

.case-collapse-section > summary h2 {
    flex: 1;
    min-width: 0;
}

.case-collapse-section > .section-body {
    margin-top: 14px;
}

.case-report-panel p,
.case-report-panel li {
    color: var(--muted);
}

.case-report-timeline {
    display: grid;
    gap: 10px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.case-report-timeline li {
    padding: 10px 0;
    border-bottom: 1px solid var(--border);
}

.case-report-timeline li:last-child {
    border-bottom: 0;
}

.case-report-timeline span,
.case-ioc-list span {
    display: block;
    margin-top: 4px;
    color: var(--muted);
    font-size: 12px;
}

.case-entity-rollup-panel,
.case-signoff-panel,
.case-appendix-panel {
    grid-column: 1 / -1;
}

.case-report-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 14px;
    padding: 0;
}

.case-report-form h4,
.case-report-form .form-actions {
    grid-column: 1 / -1;
}

.case-report-form .field:has(textarea) {
    grid-column: 1 / -1;
}

@media (max-width: 860px) {
    .case-overview-grid,
    .case-split-panel,
    .case-overview-meta {
        grid-template-columns: 1fr;
    }

    .case-severity-guidance {
        grid-column: 1 / -1;
    }

    .case-tab-list {
        position: static;
    }

    .case-report-grid,
    .case-report-form {
        grid-template-columns: 1fr;
    }

    .case-task-form {
        grid-template-columns: minmax(0, 1fr);
    }

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

@media (max-width: 720px) {
    .case-task-form,
    .case-task-meta-grid {
        grid-template-columns: 1fr;
    }

    .case-evidence-card dl {
        grid-template-columns: 1fr;
    }

    .case-finding-search,
    .case-finding-result {
        grid-template-columns: 1fr;
    }
}

@media print {
    @page {
        size: Letter;
        margin: 0.45in;
    }

    body {
        background: #ffffff !important;
    }

    .sidebar,
    .topbar,
    .hero,
    .case-tab-list,
    .case-tab-panel:not(#report) {
        display: none !important;
    }

    .page,
    .case-workbench-page {
        width: auto !important;
        max-width: none !important;
        margin: 0 !important;
        padding: 0 !important;
    }

    #report {
        display: block !important;
        margin: 0 !important;
        padding: 0 !important;
        border: 0 !important;
        background: #ffffff !important;
        box-shadow: none !important;
        scroll-margin-top: 0 !important;
    }

    #report,
    #report * {
        color: #0f172a !important;
        -webkit-print-color-adjust: exact;
        print-color-adjust: exact;
    }

    #report .section-header {
        display: flex !important;
        align-items: center !important;
        justify-content: space-between !important;
        margin: 0 0 14px !important;
        padding: 0 0 10px !important;
        border-bottom: 1px solid #cbd5e1 !important;
    }

    #report .section-header h2 {
        margin: 0 !important;
        font-size: 22px !important;
    }

    #report .section-actions {
        display: none !important;
    }

    #report .section-body {
        padding: 0 !important;
    }

    #report .case-report-grid {
        display: grid !important;
        grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
        gap: 12px !important;
    }

    #report .case-report-panel,
    #report .case-entity-card {
        break-inside: avoid;
        page-break-inside: avoid;
        padding: 14px !important;
        border: 1px solid #cbd5e1 !important;
        border-radius: 8px !important;
        background: #ffffff !important;
        box-shadow: none !important;
    }

    #report .case-report-panel.span-2,
    #report .case-entity-rollup-panel,
    #report .case-signoff-panel,
    #report .case-appendix-panel {
        grid-column: 1 / -1 !important;
    }

    #report .case-report-panel h3,
    #report .case-report-panel h4,
    #report .case-entity-card h3 {
        margin: 0 0 10px !important;
        font-size: 14px !important;
    }

    #report input,
    #report select,
    #report textarea {
        border: 1px solid #cbd5e1 !important;
        background: #ffffff !important;
        color: #0f172a !important;
    }

    #report .form-actions {
        display: none !important;
    }
}

.table-action-stack {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
}

.table-action-stack form {
    margin: 0;
}

.small-metric {
    font-size: clamp(18px, 2vw, 28px);
    overflow-wrap: anywhere;
}

@media (max-width: 780px) {
    .triage-condensed-panel,
    .triage-jira-panel {
        flex-direction: column;
    }

    .saved-hunt-triage-actions {
        justify-content: flex-start;
        min-width: 0;
    }

    .peak-metadata-form {
        grid-template-columns: 1fr;
    }
}

.reporting-scroll-table {
    max-height: 360px;
    overflow: auto;
    scrollbar-gutter: stable;
}

.reporting-scroll-table .admin-table thead th {
    position: sticky;
    top: 0;
    z-index: 1;
    background: var(--panel);
}

.reporting-wide-table {
    overflow: auto;
}

.reporting-wide-table .admin-table {
    min-width: 1320px;
}

.reporting-wide-table .admin-table th,
.reporting-wide-table .admin-table td {
    white-space: nowrap;
}

.reporting-wide-table .admin-table th:nth-child(2),
.reporting-wide-table .admin-table td:nth-child(2) {
    min-width: 280px;
    max-width: 380px;
    white-space: normal;
}

.reporting-wide-table .admin-table th:last-child,
.reporting-wide-table .admin-table td:last-child {
    min-width: 132px;
}

.reporting-chart {
    display: grid;
    gap: 12px;
    margin: 14px 0 18px;
}

.reporting-chart-row {
    display: grid;
    gap: 7px;
}

.reporting-chart-label {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    color: var(--muted);
    font-size: 12px;
}

.reporting-chart-label span {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.reporting-chart-label strong {
    color: var(--text);
    font-size: 13px;
    white-space: nowrap;
}

.reporting-chart-track {
    height: 10px;
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.035);
}

.reporting-chart-track span {
    display: block;
    min-width: 3px;
    height: 100%;
    border-radius: inherit;
    background: linear-gradient(90deg, var(--accent), var(--accent-strong));
}

.reporting-chart-card .admin-table {
    min-width: 760px;
}

.reporting-tile-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin: 14px 0 18px;
}

body[class*="reporting-category-"] .reporting-tile-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.reporting-metric-tile {
    appearance: none;
    display: grid;
    gap: 10px;
    justify-items: center;
    align-content: center;
    min-height: 126px;
    padding: 14px;
    border: 1px solid color-mix(in srgb, var(--slice-color), var(--border) 45%);
    border-top: 4px solid var(--slice-color);
    border-radius: 8px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.052), rgba(255, 255, 255, 0.025));
    color: inherit;
    cursor: pointer;
    text-align: center;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

.reporting-metric-tile span {
    min-width: 0;
    overflow: hidden;
    color: var(--muted);
    font-size: 12px;
    font-weight: 700;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.reporting-metric-tile strong {
    align-self: center;
    justify-self: center;
    color: var(--text);
    font-size: clamp(26px, 3vw, 42px);
    line-height: 1;
}

.reporting-metric-tile small {
    color: var(--muted);
    font-size: 11px;
    text-transform: uppercase;
}

.reporting-metric-tile[aria-pressed="true"] {
    background: color-mix(in srgb, var(--slice-color), transparent 88%);
    box-shadow: 0 0 0 1px color-mix(in srgb, var(--slice-color), transparent 35%);
}

.reporting-card-actions {
    align-items: center;
    flex-wrap: wrap;
}

.reporting-filter-pill {
    border-color: rgba(56, 189, 248, 0.45);
    color: var(--text);
}

.reporting-summary {
    margin: 12px 0 16px;
    padding: 12px 14px;
    border: 1px solid color-mix(in srgb, var(--report-card-color, #38bdf8), var(--border) 42%);
    border-radius: 8px;
    background: color-mix(in srgb, var(--report-card-color, #38bdf8), transparent 92%);
    color: var(--text);
    font-size: 13px;
    line-height: 1.45;
}

.reporting-heatmap {
    display: grid;
    gap: 12px;
    margin: 14px 0 18px;
}

.reporting-heatmap-tabs {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(210px, 1fr));
    gap: 8px;
}

.reporting-heatmap-tab {
    appearance: none;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    min-height: 48px;
    padding: 10px 12px;
    border: 1px solid color-mix(in srgb, var(--border), transparent 8%);
    border-radius: 8px;
    background: color-mix(in srgb, var(--surface, #111827), #ffffff 4%);
    color: color-mix(in srgb, var(--text), var(--muted) 18%);
    cursor: pointer;
    font: inherit;
    text-align: left;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.04);
}

.reporting-heatmap-tab[aria-selected="true"] {
    border-color: color-mix(in srgb, var(--report-card-color, #38bdf8), #ffffff 8%);
    background: color-mix(in srgb, var(--report-card-color, #38bdf8), transparent 78%);
    color: var(--text);
    box-shadow: 0 0 0 1px color-mix(in srgb, var(--report-card-color, #38bdf8), transparent 62%), inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.reporting-heatmap-tab span {
    min-width: 0;
    overflow: hidden;
    font-size: 12px;
    font-weight: 800;
    line-height: 1.25;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.reporting-heatmap-tab small {
    padding: 3px 7px;
    border-radius: 999px;
    background: rgba(255, 255, 255, 0.06);
    color: color-mix(in srgb, var(--muted), var(--text) 28%);
    font-size: 10px;
    font-weight: 700;
    white-space: nowrap;
}

.reporting-heatmap-tab[aria-selected="true"] small {
    background: rgba(255, 255, 255, 0.12);
    color: var(--text);
}

.reporting-heatmap-panel {
    display: grid;
    gap: 10px;
    padding: 10px;
    border: 1px solid color-mix(in srgb, var(--border), transparent 18%);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.025);
}

.reporting-heatmap-panel[hidden] {
    display: none;
}

.reporting-heatmap-panel-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
    color: var(--muted);
    font-size: 12px;
}

.reporting-heatmap-panel-header strong {
    color: var(--text);
}

.reporting-heatmap-cells {
    display: grid;
    grid-template-columns: repeat(auto-fill, minmax(82px, 1fr));
    gap: 7px;
}

.reporting-heatmap-cell {
    appearance: none;
    display: grid;
    gap: 3px;
    min-height: 52px;
    padding: 7px;
    border: 1px solid color-mix(in srgb, var(--coverage-color), transparent 34%);
    border-radius: 7px;
    background: color-mix(in srgb, var(--coverage-color), transparent 78%);
    color: var(--text);
    cursor: pointer;
    text-align: left;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.08);
}

.reporting-heatmap-cell span {
    font-size: 12px;
    font-weight: 800;
    line-height: 1;
}

.reporting-heatmap-cell small {
    min-width: 0;
    overflow: hidden;
    color: color-mix(in srgb, var(--text), var(--coverage-color) 26%);
    font-size: 10px;
    font-weight: 700;
    line-height: 1.2;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.reporting-heatmap-cell[aria-pressed="true"] {
    background: color-mix(in srgb, var(--coverage-color), transparent 54%);
    box-shadow: 0 0 0 1px color-mix(in srgb, var(--coverage-color), #ffffff 18%);
}

.reporting-chart-row {
    width: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    color: inherit;
    text-align: left;
    cursor: pointer;
}

.reporting-chart-row[aria-pressed="true"] .reporting-chart-label strong,
.reporting-legend-item[aria-pressed="true"] strong {
    color: var(--accent-strong);
}

.reporting-chart-row[aria-pressed="true"] .reporting-chart-track {
    border-color: rgba(56, 189, 248, 0.65);
    box-shadow: 0 0 0 1px rgba(56, 189, 248, 0.15);
}

.reporting-donut-layout {
    display: grid;
    grid-template-columns: 132px minmax(0, 1fr);
    gap: 18px;
    align-items: center;
    min-height: 154px;
    margin: 14px 0 18px;
}

.reporting-donut {
    position: relative;
    display: grid;
    align-content: center;
    justify-items: center;
    width: 120px;
    aspect-ratio: 1;
    border: 1px solid var(--border-strong);
    border-radius: 50%;
    background: conic-gradient(var(--reporting-donut));
    color: var(--text);
    cursor: pointer;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.05);
}

.reporting-donut::after {
    content: "";
    position: absolute;
    width: 68%;
    aspect-ratio: 1;
    border: 1px solid var(--border);
    border-radius: 50%;
    background: var(--surface);
}

.reporting-donut span,
.reporting-donut small {
    position: relative;
    z-index: 1;
}

.reporting-donut span {
    color: var(--text);
    font-size: 24px;
    font-weight: 950;
    line-height: 1;
}

.reporting-donut small {
    margin-top: 4px;
    color: var(--text);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
}

.reporting-donut-legend {
    display: grid;
    gap: 8px;
    max-height: 150px;
    min-width: 0;
    overflow-y: auto;
    padding-right: 8px;
    scrollbar-gutter: stable;
}

.reporting-legend-item {
    display: grid;
    grid-template-columns: 12px minmax(0, 1fr) max-content max-content;
    gap: 9px;
    align-items: center;
    width: 100%;
    min-height: 28px;
    padding: 4px 2px;
    border: 0;
    border-radius: 6px;
    background: transparent;
    color: var(--text);
    cursor: pointer;
    font-size: 12px;
    font-weight: 850;
    text-align: left;
}

.reporting-legend-item::before {
    content: "";
    width: 10px;
    height: 10px;
    border-radius: 50%;
    background: var(--slice-color);
}

.reporting-legend-item span {
    min-width: 0;
    overflow-wrap: anywhere;
}

.reporting-legend-item strong {
    color: var(--text);
    font-weight: 950;
}

.reporting-legend-item small {
    color: var(--text);
    font-size: 12px;
    font-weight: 850;
}

.reporting-legend-item:hover,
.reporting-legend-item:focus-visible,
.reporting-legend-item[aria-pressed="true"] {
    background: rgba(56, 189, 248, 0.08);
    outline: none;
}

.reporting-scroll-table tr[hidden] {
    display: none;
}

@media (max-width: 760px) {
    .reporting-donut-layout {
        grid-template-columns: 1fr;
        justify-items: center;
    }

    .reporting-donut-legend {
        width: 100%;
    }

    .reporting-heatmap-cells {
        grid-template-columns: repeat(auto-fill, minmax(74px, 1fr));
    }
}

.reporting-chart {
    align-items: stretch;
}

.reporting-chart-row {
    appearance: none;
    display: grid !important;
    justify-items: stretch;
    padding: 10px 0;
    font: inherit;
}

.reporting-chart-label {
    width: 100%;
}

.reporting-chart-track {
    width: 100%;
}

.reporting-kpi-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin: 14px 0 18px;
}

.reporting-kpi-tile {
    display: grid;
    gap: 8px;
    min-height: 132px;
    padding: 16px;
    border: 1px solid rgba(255, 255, 255, 0.12);
    border-radius: 8px;
    background: linear-gradient(180deg, rgba(255, 255, 255, 0.055), rgba(255, 255, 255, 0.025));
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.05);
}

.reporting-kpi-tile span {
    color: var(--muted);
    font-size: 11px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.reporting-kpi-tile strong {
    align-self: center;
    color: var(--text);
    font-size: clamp(24px, 3vw, 38px);
    line-height: 1;
}

.reporting-kpi-tile small {
    color: var(--muted);
    font-size: 12px;
    line-height: 1.45;
}

@media (max-width: 1180px) {
    body[class*="reporting-category-"] .reporting-tile-grid,
    .reporting-tile-grid,
    .reporting-kpi-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 680px) {
    body[class*="reporting-category-"] .reporting-tile-grid,
    .reporting-tile-grid,
    .reporting-kpi-grid {
        grid-template-columns: 1fr;
    }
}


body[class*="reporting-category-"] .reporting-accent-card {
    position: relative;
    overflow: hidden;
    border-color: color-mix(in srgb, var(--report-card-color, #38bdf8), var(--border) 48%);
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--report-card-color, #38bdf8), transparent 86%), transparent 34%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.052), rgba(255, 255, 255, 0.018));
    box-shadow:
        0 18px 46px rgba(0, 0, 0, 0.22),
        inset 0 1px 0 rgba(255, 255, 255, 0.055);
}

body[class*="reporting-category-"] .reporting-accent-card::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 5px;
    background: linear-gradient(180deg, var(--report-card-color, #38bdf8), color-mix(in srgb, var(--report-card-color, #38bdf8), #ffffff 34%));
    box-shadow: 0 0 22px color-mix(in srgb, var(--report-card-color, #38bdf8), transparent 55%);
}

body[class*="reporting-category-"] .reporting-accent-card::after {
    content: "";
    position: absolute;
    inset: 0 0 auto 0;
    height: 1px;
    background: linear-gradient(90deg, transparent, color-mix(in srgb, var(--report-card-color, #38bdf8), transparent 28%), transparent);
}



.reporting-category-cti-modeling .dashboard-grid > .reporting-accent-card:nth-of-type(6n + 1),
.reporting-category-cti-modeling .section.full-width-section:nth-of-type(6n + 1) { --report-card-color: #38bdf8; }
.reporting-category-cti-modeling .dashboard-grid > .reporting-accent-card:nth-of-type(6n + 2),
.reporting-category-cti-modeling .section.full-width-section:nth-of-type(6n + 2) { --report-card-color: #2f5f9e; }
.reporting-category-cti-modeling .dashboard-grid > .reporting-accent-card:nth-of-type(6n + 3),
.reporting-category-cti-modeling .section.full-width-section:nth-of-type(6n + 3) { --report-card-color: #a78bfa; }
.reporting-category-cti-modeling .dashboard-grid > .reporting-accent-card:nth-of-type(6n + 4),
.reporting-category-cti-modeling .section.full-width-section:nth-of-type(6n + 4) { --report-card-color: #22c55e; }
.reporting-category-cti-modeling .dashboard-grid > .reporting-accent-card:nth-of-type(6n + 5),
.reporting-category-cti-modeling .section.full-width-section:nth-of-type(6n + 5) { --report-card-color: #f59e0b; }
.reporting-category-cti-modeling .dashboard-grid > .reporting-accent-card:nth-of-type(6n + 6),
.reporting-category-cti-modeling .section.full-width-section:nth-of-type(6n + 6) { --report-card-color: #f97316; }

.reporting-category-cti-modeling .section.full-width-section {
    position: relative;
    overflow: hidden;
    border-color: color-mix(in srgb, var(--report-card-color, #38bdf8), var(--border) 48%);
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--report-card-color, #38bdf8), transparent 88%), transparent 36%),
        var(--surface-panel);
}

.reporting-category-cti-modeling .section.full-width-section::before {
    content: "";
    position: absolute;
    inset: 0 auto 0 0;
    width: 5px;
    background: linear-gradient(180deg, var(--report-card-color, #38bdf8), color-mix(in srgb, var(--report-card-color, #38bdf8), #ffffff 34%));
    box-shadow: 0 0 22px color-mix(in srgb, var(--report-card-color, #38bdf8), transparent 55%);
}

.reporting-category-cti-modeling .section.full-width-section .section-header h2 {
    color: color-mix(in srgb, var(--report-card-color, #38bdf8), #ffffff 54%);
}

.reporting-category-operational .dashboard-grid > .reporting-accent-card:nth-of-type(6n + 1) { --report-card-color: #38bdf8; }
.reporting-category-operational .dashboard-grid > .reporting-accent-card:nth-of-type(6n + 2) { --report-card-color: #2f5f9e; }
.reporting-category-operational .dashboard-grid > .reporting-accent-card:nth-of-type(6n + 3) { --report-card-color: #22c55e; }
.reporting-category-operational .dashboard-grid > .reporting-accent-card:nth-of-type(6n + 4) { --report-card-color: #f59e0b; }
.reporting-category-operational .dashboard-grid > .reporting-accent-card:nth-of-type(6n + 5) { --report-card-color: #a78bfa; }
.reporting-category-operational .dashboard-grid > .reporting-accent-card:nth-of-type(6n + 6) { --report-card-color: #f97316; }

.reporting-category-executive .dashboard-grid > .reporting-accent-card:nth-of-type(6n + 1) { --report-card-color: #38bdf8; }
.reporting-category-executive .dashboard-grid > .reporting-accent-card:nth-of-type(6n + 2) { --report-card-color: #22c55e; }
.reporting-category-executive .dashboard-grid > .reporting-accent-card:nth-of-type(6n + 3) { --report-card-color: #f59e0b; }
.reporting-category-executive .dashboard-grid > .reporting-accent-card:nth-of-type(6n + 4) { --report-card-color: #a78bfa; }
.reporting-category-executive .dashboard-grid > .reporting-accent-card:nth-of-type(6n + 5) { --report-card-color: #2f5f9e; }
.reporting-category-executive .dashboard-grid > .reporting-accent-card:nth-of-type(6n + 6) { --report-card-color: #f97316; }


.reporting-category-investigation .dashboard-grid > .reporting-accent-card:nth-of-type(6n + 1) { --report-card-color: #ef4444; }
.reporting-category-investigation .dashboard-grid > .reporting-accent-card:nth-of-type(6n + 2) { --report-card-color: #f97316; }
.reporting-category-investigation .dashboard-grid > .reporting-accent-card:nth-of-type(6n + 3) { --report-card-color: #f59e0b; }
.reporting-category-investigation .dashboard-grid > .reporting-accent-card:nth-of-type(6n + 4) { --report-card-color: #38bdf8; }
.reporting-category-investigation .dashboard-grid > .reporting-accent-card:nth-of-type(6n + 5) { --report-card-color: #a78bfa; }
.reporting-category-investigation .dashboard-grid > .reporting-accent-card:nth-of-type(6n + 6) { --report-card-color: #2f5f9e; }

.reporting-category-program .dashboard-grid > .reporting-accent-card:nth-of-type(6n + 1) { --report-card-color: #22c55e; }
.reporting-category-program .dashboard-grid > .reporting-accent-card:nth-of-type(6n + 2) { --report-card-color: #38bdf8; }
.reporting-category-program .dashboard-grid > .reporting-accent-card:nth-of-type(6n + 3) { --report-card-color: #2f5f9e; }
.reporting-category-program .dashboard-grid > .reporting-accent-card:nth-of-type(6n + 4) { --report-card-color: #f59e0b; }
.reporting-category-program .dashboard-grid > .reporting-accent-card:nth-of-type(6n + 5) { --report-card-color: #a78bfa; }
.reporting-category-program .dashboard-grid > .reporting-accent-card:nth-of-type(6n + 6) { --report-card-color: #ef4444; }

body[class*="reporting-category-"] .reporting-accent-card .section-header h2 {
    color: color-mix(in srgb, var(--report-card-color, #38bdf8), #ffffff 54%);
}

body[class*="reporting-category-"] .reporting-accent-card .pill {
    border-color: color-mix(in srgb, var(--report-card-color, #38bdf8), transparent 52%);
    background: color-mix(in srgb, var(--report-card-color, #38bdf8), transparent 90%);
}

body[class*="reporting-category-"] .reporting-kpi-tile {
    border-color: color-mix(in srgb, var(--report-card-color, #38bdf8), var(--border) 42%);
    border-top: 4px solid var(--report-card-color, #38bdf8);
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--report-card-color, #38bdf8), transparent 82%), transparent 48%),
        linear-gradient(180deg, rgba(255, 255, 255, 0.07), rgba(255, 255, 255, 0.024));
}

body[class*="reporting-category-"] .reporting-kpi-tile strong {
    color: color-mix(in srgb, var(--report-card-color, #38bdf8), #ffffff 58%);
    text-shadow: 0 0 18px color-mix(in srgb, var(--report-card-color, #38bdf8), transparent 70%);
}

body[class*="reporting-category-"] .reporting-chart-row {
    padding: 11px 12px;
    border: 1px solid color-mix(in srgb, var(--slice-color, var(--report-card-color, #38bdf8)), var(--border) 62%);
    border-radius: 8px;
    background: color-mix(in srgb, var(--slice-color, var(--report-card-color, #38bdf8)), transparent 93%);
}

body[class*="reporting-category-"] .reporting-chart-track span {
    background: linear-gradient(90deg, var(--slice-color, var(--report-card-color, #38bdf8)), color-mix(in srgb, var(--slice-color, var(--report-card-color, #38bdf8)), #ffffff 28%));
    box-shadow: 0 0 16px color-mix(in srgb, var(--slice-color, var(--report-card-color, #38bdf8)), transparent 64%);
}

.threat-library-source-panel {
    display: grid;
    gap: 14px;
}

.cti-refresh-status-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 10px;
}

.cti-refresh-status-grid .cti-refresh-metric {
    display: grid;
    grid-template-columns: 1fr;
    align-content: center;
    gap: 6px;
    min-width: 0;
    min-height: 78px;
    margin: 0;
}

.cti-refresh-status-grid .metric-name,
.cti-refresh-status-grid .metric-value {
    min-width: 0;
    overflow-wrap: anywhere;
    line-height: 1.2;
}

.cti-refresh-status-grid .metric-name {
    font-size: 12px;
}

.cti-refresh-status-grid .metric-value {
    color: var(--cyan);
    font-size: 18px;
    font-weight: 850;
}

.cti-refresh-warning {
    margin: 0;
}

/* Modern UI pass: shared shell, navigation, forms, tables, chips, dashboard, and motion. */
:root {
    --success: #7dffb2;
    --topbar-bg: rgba(11, 13, 17, 0.78);
    --focus-ring: 0 0 0 4px rgba(var(--cyan-rgb), 0.18);
}

body {
    background:
        linear-gradient(180deg, rgba(31, 36, 42, 0.86) 0, rgba(var(--bg-rgb), 0.94) 360px),
        var(--bg);
}

.topbar {
    position: sticky;
    top: 0;
    z-index: 35;
    margin: -8px 0 24px;
    padding: 10px 0 12px;
    border-bottom: 1px solid rgba(205, 213, 224, 0.1);
    background: linear-gradient(180deg, var(--topbar-bg), rgba(7, 8, 10, 0.34));
    backdrop-filter: blur(16px);
}

.topbar .brand {
    min-height: 52px;
}

.topbar .brand > div {
    display: none;
}

.topbar .brand::before {
    content: "";
    display: block;
    width: 154px;
    height: 52px;
    background: url("/static/TF_logo_compact.png") left center / contain no-repeat;
    filter: var(--brand-glow);
}

.topbar .brand-title {
    font-size: 14px;
    letter-spacing: 0.08em;
}

.topbar .brand-subtitle {
    color: var(--muted);
    font-size: 11px;
    letter-spacing: 0.08em;
}

.top-actions {
    flex: 1 1 auto;
    flex-wrap: nowrap;
    justify-content: flex-end;
    min-width: 0;
}

.topbar .brand {
    flex: 0 0 174px;
}

.status-pill {
    white-space: nowrap;
}

.top-find-form {
    position: relative;
    display: flex;
    align-items: center;
    width: clamp(220px, 24vw, 360px);
    min-width: 150px;
}

.top-find-form input {
    min-height: 40px;
    padding-left: 36px;
    border-color: rgba(205, 213, 224, 0.22);
    background: rgba(255, 255, 255, 0.07);
}

.top-find-form input:focus {
    background: rgba(7, 8, 10, 0.86);
}

html[data-theme="light"] .top-find-form input,
html[data-theme="light"] .top-find-form input:focus {
    background: #f8fbff;
    border-color: #8ba0b7;
    color: #0f172a;
}

html[data-theme="light"] .top-find-form input::placeholder {
    color: #64748b;
}

.top-find-icon {
    position: absolute;
    left: 12px;
    z-index: 1;
    color: var(--muted);
    font-size: 15px;
    pointer-events: none;
}

.top-account-menu summary,
.top-settings-menu summary,
.top-help-trigger,
.theme-toggle-button,
.top-help-link,
.back-link,
.status-pill {
    min-height: 38px;
    border-color: rgba(205, 213, 224, 0.2);
    background: rgba(255, 255, 255, 0.055);
    box-shadow: none;
}

.top-account-menu[open] summary,
.top-settings-menu[open] summary,
.top-help-trigger[aria-expanded="true"],
.theme-toggle-button[aria-pressed="true"],
.top-account-menu summary:hover,
.top-settings-menu summary:hover,
.top-help-trigger:hover,
.theme-toggle-button:hover,
.top-help-link:hover,
.back-link:hover {
    border-color: var(--border-strong);
    background: rgba(var(--cyan-rgb), 0.13);
    color: var(--silver);
}

.top-account-panel,
.top-settings-panel,
.top-help-panel,
.ttp-context-menu {
    animation: menu-pop 130ms ease-out;
    transform-origin: top right;
}

.topbar-symbol,
.nav-symbol {
    font-family: ui-sans-serif, system-ui, sans-serif;
    font-size: 15px;
    line-height: 1;
}

.app-sidebar {
    gap: 6px;
    width: 220px;
    padding: 14px 10px 18px;
}

.sidebar-toggle {
    position: sticky;
    top: 0;
    left: auto;
    align-self: flex-end;
    flex: 0 0 34px;
    margin: 0 0 2px;
}

body.sidebar-collapsed .sidebar-toggle {
    left: auto;
    align-self: center;
}

.sidebar-link {
    min-height: 40px;
    border-radius: 7px;
    font-weight: 820;
}

.sidebar-icon {
    border: 1px solid rgba(205, 213, 224, 0.12);
    background: rgba(255, 255, 255, 0.045);
}

.sidebar-link:hover .sidebar-icon,
.sidebar-link:focus-visible .sidebar-icon,
.sidebar-group[open] > summary .sidebar-icon {
    border-color: rgba(var(--cyan-rgb), 0.5);
    background: rgba(var(--cyan-rgb), 0.16);
    color: var(--silver);
}

/* Light-mode sidebar rail follows the application light palette. */
html[data-theme="light"] .app-sidebar {
    background: #eef3f8;
    border-right-color: var(--border);
    box-shadow: none;
}

html[data-theme="light"] .sidebar-link,
html[data-theme="light"] .sidebar-sublink {
    color: var(--text);
}

html[data-theme="light"] .sidebar-link:hover,
html[data-theme="light"] .sidebar-link:focus-visible,
html[data-theme="light"] .sidebar-group[open] > summary.sidebar-link {
    background: var(--cyan-soft);
    border-color: rgba(var(--cyan-rgb), 0.34);
    color: var(--cyan-strong);
}

html[data-theme="light"] .sidebar-icon {
    border-color: var(--border);
    background: #e1e8f0;
    color: var(--cyan-strong);
}

html[data-theme="light"] .sidebar-link:hover .sidebar-icon,
html[data-theme="light"] .sidebar-link:focus-visible .sidebar-icon,
html[data-theme="light"] .sidebar-group[open] > summary .sidebar-icon {
    border-color: rgba(var(--cyan-rgb), 0.44);
    background: rgba(var(--cyan-rgb), 0.14);
    color: var(--cyan-strong);
}


html[data-theme="light"] .sidebar-subnav-label,
html[data-theme="light"] .sidebar-chevron {
    color: var(--soft);
}

html[data-theme="light"] .sidebar-sublink::before {
    background: rgba(var(--cyan-rgb), 0.34);
}

/* Light-mode Sigma modal and triggered-row readability pass. */
html[data-theme="light"] .sigma-rule-dialog {
    background: #eef3f8;
    border-color: #cbd5df;
    color: #18202a;
    box-shadow: 0 24px 80px rgba(15, 23, 42, 0.18);
}

html[data-theme="light"] .sigma-rule-dialog::backdrop {
    background: rgba(15, 23, 42, 0.42);
}

html[data-theme="light"] .sigma-rule-detail-card {
    background: #e4ebf3;
    border-color: #dfe5ec;
}

html[data-theme="light"] .sigma-rule-detail-card h3,
html[data-theme="light"] .sigma-rule-metadata dd {
    color: #18202a;
}

html[data-theme="light"] .sigma-rule-detail-section h4,
html[data-theme="light"] .sigma-rule-dialog-header h2 {
    color: var(--cyan-strong);
}

html[data-theme="light"] .sigma-triggered-row-card {
    background: #fff9eb;
    border-color: #d69e2e;
}

html[data-theme="light"] .sigma-triggered-row-card h5 {
    color: #8a5a00;
}

html[data-theme="light"] .sigma-inline-trigger-json,
html[data-theme="light"] .sigma-rule-code-block {
    background: #e8eef5;
    border-color: #9eacbb;
    color: #18202a;
}

html[data-theme="light"] .sigma-json-line-trigger {
    border-left-color: #c47f00;
    background: #fff0c2;
    color: #3b2a00;
}

html[data-theme="light"] .sigma-inline-trigger-note {
    color: #53606e;
}


.page {
    padding-top: 18px;
}

.hero {
    margin-bottom: 18px;
}

.hero-main {
    padding: 24px;
}

.hero.full-hero .hero-main {
    min-height: 164px;
}

h1 {
    font-size: clamp(28px, 3.2vw, 44px);
    line-height: 1.08;
}

.hero-copy {
    max-width: 840px;
    font-size: 15px;
}

.section,
.panel,
.list-panel,
.summary-panel,
.guide-panel,
.builder-panel,
.hero-main {
    box-shadow: 0 18px 54px rgba(0, 0, 0, 0.34);
}

.section-header,
.panel-header {
    min-height: 58px;
    padding: 14px 18px;
}

.section-header h2,
.section-header h3,
.panel-header h2 {
    font-size: 15px;
    letter-spacing: 0;
}

.section-actions {
    flex-wrap: wrap;
    justify-content: flex-end;
}

.section-actions .secondary-button,
.section-actions .primary-link,
.section-actions button {
    min-height: 34px;
}

.pill,
.capability-badge,
.threat-severity-badge,
.reporting-filter-pill {
    border-radius: 999px;
    letter-spacing: 0;
    text-transform: none;
}

.pill {
    min-height: 26px;
    background: rgba(var(--cyan-rgb), 0.11);
}

.capability-badge,
.threat-severity-badge {
    gap: 5px;
    font-weight: 880;
}

.triage-severity-critical,
.triage-status-escalated,
.triage-status-blocked {
    border-color: rgba(255, 88, 116, 0.55);
    background: rgba(255, 88, 116, 0.13);
    color: #ff9bae;
}

.triage-severity-high,
.triage-status-investigating,
.triage-status-scoping {
    border-color: rgba(255, 145, 77, 0.5);
    background: rgba(255, 145, 77, 0.12);
    color: #ffbd8f;
}

.triage-severity-medium,
.triage-status-open,
.triage-status-ready {
    border-color: rgba(255, 209, 102, 0.45);
    background: rgba(255, 209, 102, 0.12);
    color: var(--warning);
}

.triage-severity-low,
.triage-status-closed,
.triage-status-linked,
.triage-status-resolved {
    border-color: rgba(125, 255, 178, 0.42);
    background: rgba(125, 255, 178, 0.1);
    color: var(--success);
}

.admin-table-wrap {
    border-color: rgba(205, 213, 224, 0.14);
    background: rgba(255, 255, 255, 0.035);
}

.admin-table th {
    position: sticky;
    top: 0;
    z-index: 2;
    background: rgba(18, 21, 26, 0.98);
    color: var(--muted);
    letter-spacing: 0;
}

.admin-table tbody tr {
    transition: background 140ms ease, box-shadow 140ms ease;
}

.admin-table tbody tr:hover {
    background: rgba(var(--cyan-rgb), 0.075);
    box-shadow: inset 3px 0 0 rgba(var(--cyan-rgb), 0.5);
}

.hunt-form,
.field-grid,
.feedback-field-grid,
.handoff-field-grid,
.schedule-field-grid {
    gap: 14px;
}

.field {
    gap: 6px;
}

label {
    color: var(--muted);
    font-size: 12px;
    letter-spacing: 0;
    text-transform: uppercase;
}

select,
input,
textarea {
    border-color: rgba(205, 213, 224, 0.16);
    background: rgba(7, 8, 10, 0.62);
}

select:hover,
input:hover,
textarea:hover {
    border-color: rgba(205, 213, 224, 0.32);
}

button,
.primary-link,
.secondary-button,
.back-link,
.top-help-link,
.top-account-menu summary,
.top-settings-menu summary,
.top-help-trigger,
.theme-toggle-button,
.library-tab,
.config-tab,
.dashboard-command-strip a {
    transition: transform 130ms ease, border-color 130ms ease, background 130ms ease, color 130ms ease, box-shadow 130ms ease;
}

button:hover,
.primary-link:hover,
.secondary-button:hover,
.dashboard-command-strip a:hover {
    transform: translateY(-1px);
}

button:focus-visible,
.primary-link:focus-visible,
.secondary-button:focus-visible,
.back-link:focus-visible,
.top-help-link:focus-visible,
.top-account-menu summary:focus-visible,
.top-settings-menu summary:focus-visible,
.top-help-trigger:focus-visible,
.theme-toggle-button:focus-visible,
.library-tab:focus-visible,
.config-tab:focus-visible,
.dashboard-command-strip a:focus-visible {
    outline: none;
    box-shadow: var(--focus-ring);
}



/* Topbar alignment pass shared by light and dark mode. */
.topbar {
    align-items: center;
    margin: 0 0 24px;
    min-height: 66px;
    padding: 12px 18px;
    border: 1px solid rgba(205, 213, 224, 0.12);
    border-radius: 8px;
}

.top-actions {
    align-items: center;
    gap: 10px;
    padding-inline: 0;
}

.top-account-menu summary,
.top-settings-menu summary,
.top-help-trigger,
.theme-toggle-button,
.back-link,
.status-pill {
    min-height: 44px;
    padding: 9px 14px;
    align-items: center;
}

.top-find-form input {
    min-height: 44px;
    padding-top: 9px;
    padding-bottom: 9px;
}

.topbar .brand {
    min-height: 44px;
    padding-left: 0;
}

html[data-theme="light"] .topbar {
    background: linear-gradient(180deg, rgba(238, 243, 248, 0.96), rgba(218, 226, 236, 0.82));
    border-color: var(--border);
    border-radius: 8px;
    margin: 0 0 24px;
    min-height: 66px;
    padding: 12px 18px;
    box-shadow: 0 10px 28px rgba(31, 41, 55, 0.09);
}

.settings-hub {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 18px;
}

.settings-hub a {
    display: grid;
    gap: 5px;
    min-height: 84px;
    padding: 14px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.045);
}

.settings-hub a:hover,
.settings-hub a:focus-visible {
    border-color: var(--border-strong);
    background: rgba(var(--cyan-rgb), 0.1);
    outline: none;
}

.settings-hub span {
    color: var(--cyan);
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.settings-hub strong {
    color: var(--silver);
    font-size: 13px;
    line-height: 1.25;
}

.config-tab-list,
.library-tab-list {
    border-color: rgba(205, 213, 224, 0.14);
    background: rgba(255, 255, 255, 0.035);
}

.config-tab,
.library-tab {
    border-radius: 7px;
}

.config-tab.active,
.library-tab[aria-selected="true"] {
    box-shadow: inset 0 0 0 1px rgba(var(--cyan-rgb), 0.38), 0 8px 22px rgba(0, 0, 0, 0.22);
}

.dashboard-command-strip {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 10px;
    margin: 0 0 18px;
}

.dashboard-command-strip a {
    display: flex;
    align-items: center;
    justify-content: center;
    min-height: 42px;
    padding: 9px 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.045);
    color: var(--silver);
    font-size: 13px;
    font-weight: 850;
    text-align: center;
}

.dashboard-command-strip a:hover,
.dashboard-command-strip a:focus-visible {
    border-color: var(--border-strong);
    background: rgba(var(--cyan-rgb), 0.12);
    color: var(--cyan);
}

.auto-triage-status-strip {
    border-color: rgba(var(--cyan-rgb), 0.22);
    background: linear-gradient(135deg, rgba(var(--cyan-rgb), 0.1), rgba(255, 255, 255, 0.035));
}

.dashboard-grid {
    gap: 18px;
}

.dashboard-card {
    position: relative;
}

.dashboard-card::after {
    content: "";
    position: absolute;
    inset: 0;
    border-radius: 8px;
    pointer-events: none;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.045);
}

.cti-pulse {
    margin: 0 0 18px;
    padding: 20px;
    border: 1px solid rgba(var(--cyan-rgb), 0.24);
    border-radius: 12px;
    background:
        radial-gradient(circle at 12% -30%, rgba(var(--cyan-rgb), 0.19), transparent 42%),
        linear-gradient(145deg, rgba(10, 18, 31, 0.98), rgba(15, 24, 39, 0.92));
    box-shadow: 0 22px 55px rgba(0, 0, 0, 0.24);
}

.cti-pulse-heading,
.cti-pulse-panel-header,
.cti-pulse-integration-row {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.cti-pulse-heading {
    margin-bottom: 16px;
}

.cti-pulse-heading h2,
.cti-pulse-panel-header h3 {
    margin: 0;
    color: #f5f8fc;
}

.cti-pulse-heading h2 {
    margin-top: 3px;
    font-size: clamp(1.25rem, 2vw, 1.65rem);
}

.cti-pulse-heading p {
    margin: 5px 0 0;
    color: #aebccc;
}

.cti-pulse-kpis {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    margin-bottom: 12px;
}

.cti-pulse-kpi {
    position: relative;
    display: grid;
    gap: 5px;
    min-width: 0;
    min-height: 118px;
    padding: 16px;
    overflow: hidden;
    border: 1px solid rgba(148, 163, 184, 0.2);
    border-radius: 10px;
    background: rgba(8, 15, 27, 0.72);
}

.cti-pulse-kpi::after {
    content: "";
    position: absolute;
    right: -24px;
    bottom: -28px;
    width: 88px;
    height: 88px;
    border-radius: 50%;
    background: var(--cti-kpi-accent, #38bdf8);
    opacity: 0.12;
}

.cti-pulse-kpi-entities { --cti-kpi-accent: #38bdf8; }
.cti-pulse-kpi-relationships { --cti-kpi-accent: #a78bfa; }
.cti-pulse-kpi-attack { --cti-kpi-accent: #f59e0b; }
.cti-pulse-kpi-sources { --cti-kpi-accent: #22c55e; }

.cti-pulse-kpi span,
.cti-pulse-kpi small,
.cti-pulse-panel-header span {
    color: #9eacbd;
}

.cti-pulse-kpi span {
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.07em;
    text-transform: uppercase;
}

.cti-pulse-kpi strong {
    color: #f8fafc;
    font-size: clamp(1.75rem, 3vw, 2.35rem);
    line-height: 1;
}

.cti-pulse-kpi small {
    align-self: end;
    font-size: 0.76rem;
}

.cti-pulse-panels {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) minmax(260px, 0.86fr);
    gap: 12px;
}

.cti-pulse-panel {
    min-width: 0;
    padding: 16px;
    border: 1px solid rgba(148, 163, 184, 0.18);
    border-radius: 10px;
    background: rgba(8, 15, 27, 0.62);
}

.cti-pulse-panel-header {
    margin-bottom: 14px;
}

.cti-pulse-panel-header h3 {
    font-size: 0.95rem;
}

.cti-pulse-panel-header span,
.cti-pulse-panel-header a {
    font-size: 0.72rem;
    font-weight: 800;
}

.cti-pulse-bars,
.cti-pulse-integration-list {
    display: grid;
    gap: 10px;
}

.cti-pulse-bar-row {
    display: grid;
    grid-template-columns: minmax(82px, 0.72fr) minmax(90px, 1.5fr) minmax(42px, auto);
    align-items: center;
    gap: 10px;
    color: #cbd5e1;
    font-size: 0.78rem;
}

.cti-pulse-bar-row > span {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cti-pulse-bar-row strong {
    color: #f8fafc;
    font-variant-numeric: tabular-nums;
    text-align: right;
}

.cti-pulse-bar-row progress {
    width: 100%;
    height: 7px;
    overflow: hidden;
    border: 0;
    border-radius: 999px;
    background: rgba(148, 163, 184, 0.14);
}

.cti-pulse-bar-row progress::-webkit-progress-bar {
    border-radius: 999px;
    background: rgba(148, 163, 184, 0.14);
}

.cti-pulse-bar-row progress::-webkit-progress-value {
    border-radius: 999px;
    background: linear-gradient(90deg, #0891b2, #38bdf8);
}

.cti-pulse-bar-row progress::-moz-progress-bar {
    border-radius: 999px;
    background: linear-gradient(90deg, #0891b2, #38bdf8);
}

.cti-pulse-bars-types progress::-webkit-progress-value {
    background: linear-gradient(90deg, #7c3aed, #a78bfa);
}

.cti-pulse-bars-types progress::-moz-progress-bar {
    background: linear-gradient(90deg, #7c3aed, #a78bfa);
}

.cti-pulse-integration-row {
    justify-content: flex-start;
    min-width: 0;
    padding: 9px 0;
    border-bottom: 1px solid rgba(148, 163, 184, 0.13);
}

.cti-pulse-integration-row:last-child {
    border-bottom: 0;
}

.cti-pulse-integration-row > span:nth-child(2) {
    display: grid;
    gap: 2px;
    min-width: 0;
    margin-right: auto;
}

.cti-pulse-integration-row strong,
.cti-pulse-integration-row small {
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cti-pulse-integration-row strong { color: #e8edf5; font-size: 0.8rem; }
.cti-pulse-integration-row small { color: #93a2b5; font-size: 0.7rem; }

.cti-health-dot {
    flex: 0 0 auto;
    width: 9px;
    height: 9px;
    border-radius: 50%;
    background: #64748b;
    box-shadow: 0 0 0 4px rgba(100, 116, 139, 0.12);
}

.cti-health-succeeded { background: #22c55e; box-shadow: 0 0 0 4px rgba(34, 197, 94, 0.12); }
.cti-health-running,
.cti-health-queued { background: #38bdf8; box-shadow: 0 0 0 4px rgba(56, 189, 248, 0.12); }
.cti-health-partial { background: #f59e0b; box-shadow: 0 0 0 4px rgba(245, 158, 11, 0.12); }
.cti-health-failed { background: #ef4444; box-shadow: 0 0 0 4px rgba(239, 68, 68, 0.12); }

html[data-theme="light"] .cti-pulse {
    border-color: rgba(47, 95, 158, 0.28);
    background:
        radial-gradient(circle at 12% -30%, rgba(56, 189, 248, 0.2), transparent 42%),
        linear-gradient(145deg, #eef5fb, #dfe9f4);
    box-shadow: 0 18px 42px rgba(31, 41, 55, 0.13);
}

html[data-theme="light"] .cti-pulse-kpi,
html[data-theme="light"] .cti-pulse-panel {
    border-color: rgba(47, 95, 158, 0.2);
    background: rgba(255, 255, 255, 0.66);
}

html[data-theme="light"] .cti-pulse-heading h2,
html[data-theme="light"] .cti-pulse-panel-header h3,
html[data-theme="light"] .cti-pulse-kpi strong,
html[data-theme="light"] .cti-pulse-bar-row strong,
html[data-theme="light"] .cti-pulse-integration-row strong { color: #10233f; }

html[data-theme="light"] .cti-pulse-heading p,
html[data-theme="light"] .cti-pulse-kpi span,
html[data-theme="light"] .cti-pulse-kpi small,
html[data-theme="light"] .cti-pulse-panel-header span,
html[data-theme="light"] .cti-pulse-integration-row small { color: #52667f; }

html[data-theme="light"] .cti-pulse-bar-row { color: #263c57; }

@media (max-width: 1100px) {
    .cti-pulse-kpis { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .cti-pulse-panels { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .cti-pulse-integrations { grid-column: 1 / -1; }
}

@media (max-width: 700px) {
    .cti-pulse { padding: 14px; }
    .cti-pulse-heading { align-items: flex-start; flex-direction: column; }
    .cti-pulse-kpis,
    .cti-pulse-panels { grid-template-columns: 1fr; }
    .cti-pulse-integrations { grid-column: auto; }
}

.compact-dashboard-list a,
.dashboard-list-item,
.edr-alert-row,
.ttp-row,
.feed-issue-item {
    transition: transform 130ms ease, border-color 130ms ease, background 130ms ease, box-shadow 130ms ease;
}

.compact-dashboard-list a:hover,
.dashboard-list-item:hover,
.edr-alert-row:hover,
.ttp-row:hover,
.feed-issue-item:hover {
    transform: translateY(-1px);
}

.dashboard-source-rank,
.ttp-rank,
.edr-count {
    border-radius: 999px;
}

.ttp-context-menu,
[class$="context-menu"] {
    border-color: rgba(205, 213, 224, 0.24);
    background: rgba(17, 20, 25, 0.98);
    backdrop-filter: blur(14px);
}

.ttp-context-menu button,
[class$="context-menu"] button {
    border-radius: 7px;
}

.empty-state {
    border: 1px dashed rgba(205, 213, 224, 0.2);
    border-radius: 8px;
    background: rgba(255, 255, 255, 0.035);
}


.intelligence-yield-tile {
    --slice-color: var(--yield-accent, #38bdf8);
    position: relative;
    overflow: hidden;
    border: 1px solid color-mix(in srgb, var(--yield-accent, #38bdf8), transparent 36%) !important;
    border-top: 5px solid var(--yield-accent, #38bdf8) !important;
    background:
        linear-gradient(135deg, color-mix(in srgb, var(--yield-accent, #38bdf8), transparent 72%), transparent 46%),
        linear-gradient(180deg, var(--yield-bg, rgba(56, 189, 248, 0.18)), rgba(15, 23, 42, 0.18)) !important;
    box-shadow:
        inset 0 1px 0 rgba(255, 255, 255, 0.08),
        0 0 0 1px color-mix(in srgb, var(--yield-accent, #38bdf8), transparent 82%);
}

.intelligence-yield-tile strong {
    color: color-mix(in srgb, var(--yield-accent, #38bdf8), white 22%);
}

.intelligence-yield-tile::after {
    content: "";
    position: absolute;
    inset: auto 12px 12px auto;
    width: 46px;
    height: 46px;
    border-radius: 50%;
    background: var(--yield-accent, #38bdf8);
    opacity: 0.2;
    pointer-events: none;
}

.yield-reports {
    --yield-accent: #38bdf8;
    --yield-bg: rgba(56, 189, 248, 0.2);
}

.yield-brief {
    --yield-accent: #a78bfa;
    --yield-bg: rgba(167, 139, 250, 0.2);
}

.yield-sigma {
    --yield-accent: #22c55e;
    --yield-bg: rgba(34, 197, 94, 0.2);
}

.yield-hunts {
    --yield-accent: #f59e0b;
    --yield-bg: rgba(245, 158, 11, 0.2);
}

.yield-triage {
    --yield-accent: #fb7185;
    --yield-bg: rgba(251, 113, 133, 0.2);
}


.cti-date-panel {
    gap: 12px;
}

.cti-date-form {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr)) auto;
    gap: 10px;
    align-items: end;
    margin-bottom: 4px;
}

.cti-date-form .field {
    min-width: 0;
}

.cti-date-form label {
    display: block;
    margin-bottom: 5px;
    color: var(--muted);
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.cti-date-form input[type="date"] {
    width: 100%;
    min-width: 0;
    min-height: 36px;
    color: var(--text);
    border: 1px solid rgba(148, 163, 184, 0.28);
    border-radius: 8px;
    background: rgba(15, 23, 42, 0.72);
    padding: 7px 9px;
}

.cti-yield-toggle-grid .intelligence-yield-tile {
    cursor: pointer;
    text-align: left;
}

.cti-yield-toggle-grid .intelligence-yield-tile[aria-pressed="true"] {
    outline: 2px solid color-mix(in srgb, var(--yield-accent, #38bdf8), white 20%);
    outline-offset: 2px;
}

.cti-yield-drilldowns {
    padding-top: 0 !important;
}

.cti-yield-detail {
    margin-top: 12px;
    border: 1px solid rgba(148, 163, 184, 0.2);
    border-radius: 8px;
    background: rgba(15, 23, 42, 0.26);
    padding: 14px;
}

.inline-section-header {
    margin-bottom: 10px;
    padding: 0;
    border: 0;
}

.inline-section-header h3 {
    margin: 0;
    font-size: 1rem;
}

.cti-cve-chip-list {
    display: flex;
    flex-wrap: wrap;
    gap: 6px;
    min-width: 0;
}

.cti-cve-chip {
    display: inline-flex;
    align-items: center;
    min-height: 26px;
    border-left: 3px solid #38bdf8;
    border-radius: 6px;
    background: rgba(56, 189, 248, 0.09);
    color: #7dd3fc;
    font-size: 12px;
    font-weight: 800;
    padding: 4px 8px;
    text-decoration: none;
}

.cti-cve-chip:hover {
    text-decoration: underline;
}

.cti-cve-chip.cti-kev-chip {
    border-left-color: #ef4444;
    background: rgba(239, 68, 68, 0.1);
    color: #fca5a5;
}

@media (max-width: 780px) {
    .cti-date-form {
        grid-template-columns: 1fr;
    }
}

.cti-intelligence-observations {
    display: grid;
    gap: 10px;
}

.cti-intelligence-observations li {
    padding: 12px 14px;
    border: 1px solid rgba(148, 163, 184, 0.22);
    border-radius: 8px;
    background: rgba(15, 23, 42, 0.35);
}

.cti-intelligence-observations li::before {
    display: none;
}

.cti-intelligence-funnel {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
    gap: 12px;
    align-items: stretch;
}

.cti-funnel-card {
    display: grid;
    grid-template-rows: auto 1fr auto;
    gap: 10px;
    min-width: 0;
    min-height: 118px;
    padding: 14px;
    border: 1px solid rgba(148, 163, 184, 0.22);
    border-radius: 8px;
    background: rgba(15, 23, 42, 0.3);
}

.cti-funnel-card span,
.cti-funnel-card strong {
    min-width: 0;
}

.cti-funnel-card span {
    color: var(--muted);
    font-size: 12px;
    font-weight: 700;
    text-transform: uppercase;
}

.cti-funnel-card strong {
    align-self: center;
    font-size: clamp(24px, 3vw, 38px);
    line-height: 1;
}

.cti-funnel-bar {
    height: 12px;
    overflow: hidden;
    border-radius: 999px;
    background: rgba(148, 163, 184, 0.18);
}

.cti-funnel-bar span {
    display: block;
    height: 100%;
    min-width: 3px;
    border-radius: inherit;
    background: linear-gradient(90deg, #2f5f9e, #38bdf8);
}

.cti-concept-grid {
    display: grid !important;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 12px;
    align-items: start;
}

.cti-concept-panel {
    min-width: 0;
    padding: 12px;
    border: 1px solid rgba(148, 163, 184, 0.2);
    border-radius: 8px;
    background: rgba(15, 23, 42, 0.28);
}

.cti-concept-panel h3 {
    margin: 0 0 8px;
    font-size: 0.9rem;
}

.cti-concept-panel li {
    display: flex;
    justify-content: space-between;
    gap: 10px;
    padding: 7px 0;
    border-top: 1px solid rgba(148, 163, 184, 0.16);
}

.cti-concept-panel li::before {
    display: none;
}

.cti-concept-panel li span {
    min-width: 0;
    overflow-wrap: anywhere;
}


.cti-concept-panel li a {
    min-width: 0;
    color: #7dd3fc;
    font-weight: 700;
    overflow-wrap: anywhere;
    text-decoration: none;
}

.cti-concept-panel li a:hover {
    text-decoration: underline;
}


.cti-concept-panel li.cti-cve-concept {
    border-left: 3px solid #38bdf8;
    padding-left: 8px;
    background: rgba(56, 189, 248, 0.08);
}

.cti-concept-panel li.cti-cve-concept a,
.cti-concept-panel li.cti-cve-concept strong {
    color: #7dd3fc;
}

.cti-concept-panel li.cti-kev-concept {
    border-left: 3px solid #ef4444;
    padding-left: 8px;
    background: rgba(239, 68, 68, 0.08);
}

.cti-concept-panel li.cti-kev-concept a,
.cti-concept-panel li.cti-kev-concept strong {
    color: #fca5a5;
}


@media (max-width: 1180px) {
    .cti-concept-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 620px) {
    .cti-concept-grid {
        grid-template-columns: 1fr;
    }
}

@keyframes menu-pop {
    from {
        opacity: 0;
        transform: translateY(-4px) scale(0.98);
    }
    to {
        opacity: 1;
        transform: translateY(0) scale(1);
    }
}

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

@media (max-width: 1180px) {
    .settings-hub {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .top-find-form {
        min-width: 190px;
    }
}

@media (max-width: 820px) {
    .topbar {
        position: static;
        margin-top: 0;
    }

    .settings-hub,
    .dashboard-command-strip {
        grid-template-columns: 1fr;
    }

    .top-find-form {
        width: 100%;
    }
}


.zammad-form-modal {
    position: fixed;
    inset: 0;
    z-index: 1000;
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 24px;
    color: #f8fafc !important;
}

.zammad-form-modal-backdrop {
    position: fixed;
    inset: 0;
    background: rgba(2, 6, 23, 0.78) !important;
    backdrop-filter: blur(3px);
}

.zammad-form-modal-body {
    position: relative;
    z-index: 1001;
    width: min(500px, calc(100vw - 32px)) !important;
    max-height: calc(100vh - 48px);
    overflow: auto;
    margin: 0 !important;
    padding: 24px !important;
    border: 1px solid rgba(148, 163, 184, 0.35) !important;
    border-radius: 8px !important;
    background: #111827 !important;
    box-shadow: 0 28px 90px rgba(0, 0, 0, 0.66) !important;
    color: #f8fafc !important;
}

.zammad-form-modal-body .zammad-form {
    display: grid;
    gap: 16px;
    margin: 0;
    color: #f8fafc !important;
}

.zammad-form-modal-body h2 {
    margin: 0 0 4px !important;
    color: #f8fafc !important;
    font-size: 19px;
    line-height: 1.2;
}

.zammad-form-modal-body .zammad-form-group,
.zammad-form-modal-body .form-group {
    display: grid;
    gap: 7px;
    margin: 0 !important;
}

.zammad-form-modal-body label {
    color: #e5e7eb !important;
    font-size: 12px;
    font-weight: 900;
    letter-spacing: 0;
    text-transform: uppercase;
}

.zammad-form-modal-body .zammad-form-control,
.zammad-form-modal-body .form-control,
.zammad-form-modal-body input,
.zammad-form-modal-body textarea {
    width: 100% !important;
    min-height: 44px;
    padding: 11px 12px !important;
    border: 1px solid rgba(203, 213, 225, 0.38) !important;
    border-radius: 7px !important;
    background: #0f172a !important;
    color: #f8fafc !important;
    caret-color: #f8fafc !important;
    font: inherit;
    font-size: 14px;
    box-shadow: none !important;
}

.zammad-form-modal-body textarea.zammad-form-control,
.zammad-form-modal-body textarea.form-control,
.zammad-form-modal-body textarea {
    min-height: 160px;
    resize: vertical;
}

.zammad-form-modal-body .zammad-form-control::placeholder,
.zammad-form-modal-body .form-control::placeholder,
.zammad-form-modal-body input::placeholder,
.zammad-form-modal-body textarea::placeholder {
    color: #94a3b8 !important;
    opacity: 1 !important;
}

.zammad-form-modal-body .zammad-form-control:focus,
.zammad-form-modal-body .form-control:focus,
.zammad-form-modal-body input:focus,
.zammad-form-modal-body textarea:focus {
    border-color: #38bdf8 !important;
    outline: none;
    box-shadow: 0 0 0 3px rgba(56, 189, 248, 0.24) !important;
}

.zammad-form-modal-body .zammad-form-group--has-error .zammad-form-control,
.zammad-form-modal-body .has-error .form-control {
    border-color: #fb7185 !important;
}

.zammad-form-modal-body .btn,
.zammad-form-modal-body button[type="submit"] {
    width: fit-content;
    min-height: 42px;
    padding: 10px 15px !important;
    border: 1px solid rgba(56, 189, 248, 0.65) !important;
    border-radius: 7px !important;
    background: #0ea5e9 !important;
    color: #f8fafc !important;
    font: inherit;
    font-size: 13px;
    font-weight: 900;
    cursor: pointer;
}

.zammad-form-modal-body .btn:hover,
.zammad-form-modal-body .btn:focus-visible,
.zammad-form-modal-body button[type="submit"]:hover,
.zammad-form-modal-body button[type="submit"]:focus-visible {
    background: #0284c7 !important;
    border-color: #7dd3fc !important;
    outline: none;
}

.zammad-form-thankyou {
    color: #f8fafc !important;
    font-size: 15px;
    line-height: 1.5;
}


/* Light mode depth pass: darker neutral surfaces with retained contrast. */
html[data-theme="light"] .admin-table-wrap {
    border-color: var(--border);
    background: #e7edf4;
}

html[data-theme="light"] .admin-table th {
    background: #dfe7f0;
    color: var(--muted);
}

html[data-theme="light"] .admin-table tbody tr:hover {
    background: rgba(var(--cyan-rgb), 0.12);
}

html[data-theme="light"] .library-tab,
html[data-theme="light"] .config-tab,
html[data-theme="light"] .settings-hub a {
    background: #e8eef5;
    border-color: var(--border);
    border-bottom-color: var(--border-strong);
}

html[data-theme="light"] .library-tab[aria-selected="true"],
html[data-theme="light"] .config-tab[aria-selected="true"],
html[data-theme="light"] .settings-hub a:hover,
html[data-theme="light"] .settings-hub a:focus-visible {
    background: #dce7f0;
    border-color: var(--cyan);
}

html[data-theme="light"] .candidate-score {
    border-color: rgba(var(--cyan-rgb), 0.38);
    background: rgba(var(--cyan-rgb), 0.1);
    color: var(--cyan-strong);
}

html[data-theme="light"] .reporting-kpi-tile,
html[data-theme="light"] .reporting-metric-tile,
html[data-theme="light"] .reporting-legend-item,
html[data-theme="light"] .quick-action-card,
html[data-theme="light"] .dashboard-list-item {
    background: linear-gradient(180deg, #eef3f8, #e5ecf4);
    box-shadow: 0 10px 24px rgba(31, 41, 55, 0.08);
}

html[data-theme="light"] body[class*="reporting-category-"] .reporting-accent-card,
html[data-theme="light"] .reporting-category-cti-modeling .section.full-width-section {
    --report-card-color: var(--cyan);
    border-color: var(--border);
    background: var(--surface-panel);
    box-shadow: 0 10px 24px rgba(31, 41, 55, 0.08);
}

html[data-theme="light"] body[class*="reporting-category-"] .reporting-accent-card::before,
html[data-theme="light"] .reporting-category-cti-modeling .section.full-width-section::before {
    width: 3px;
    background: #8ca0b3;
    box-shadow: none;
}

html[data-theme="light"] body[class*="reporting-category-"] .reporting-accent-card::after {
    display: none;
}

html[data-theme="light"] body[class*="reporting-category-"] .reporting-accent-card .section-header h2,
html[data-theme="light"] .reporting-category-cti-modeling .section.full-width-section .section-header h2 {
    color: var(--text);
}

html[data-theme="light"] .intelligence-yield-tile {
    --yield-accent: var(--cyan);
    --slice-color: var(--cyan);
    border: 1px solid var(--border) !important;
    border-top: 3px solid #8ca0b3 !important;
    background: linear-gradient(180deg, #eef3f8, #e5ecf4) !important;
    box-shadow: 0 10px 24px rgba(31, 41, 55, 0.08);
}

html[data-theme="light"] .intelligence-yield-tile::after {
    display: none;
}

html[data-theme="light"] .intelligence-yield-tile strong {
    color: var(--cyan-strong);
    text-shadow: none;
}

html[data-theme="light"] .cti-yield-toggle-grid .intelligence-yield-tile[aria-pressed="true"] {
    outline: 2px solid rgba(var(--cyan-rgb), 0.28);
    outline-offset: 2px;
}

html[data-theme="light"] .cti-intelligence-observations li {
    border-color: var(--border);
    background: #eef3f8;
    color: var(--text);
}

html[data-theme="light"] .library-tab,
html[data-theme="light"] .auto-triage-subtab {
    background: #f2f5f8;
    border-color: #9dadbf;
    border-bottom: 1px solid #8b9bad;
    border-radius: 8px;
    color: #1f2937;
    box-shadow: inset 0 -1px 0 rgba(31, 41, 55, 0.12);
}

html[data-theme="light"] .library-tab:hover,
html[data-theme="light"] .library-tab:focus-visible,
html[data-theme="light"] .auto-triage-subtab:hover,
html[data-theme="light"] .auto-triage-subtab:focus-visible {
    border-color: #6f879d;
    background: #e6edf4;
    color: #111827;
}

html[data-theme="light"] .library-tab[aria-selected="true"],
html[data-theme="light"] .auto-triage-subtab[aria-selected="true"] {
    background: #e2ebf1;
    border-color: var(--cyan-strong);
    border-bottom-color: var(--cyan-strong);
    color: var(--cyan-strong);
    box-shadow: inset 0 -2px 0 var(--cyan-strong), 0 1px 0 rgba(31, 41, 55, 0.08);
}

html[data-theme="light"] .secondary-button,
html[data-theme="light"] .compact-button,
html[data-theme="light"] .reporting-heatmap-tab,
html[data-theme="light"] .reporting-metric-tile,
html[data-theme="light"] .reporting-legend-item,
html[data-theme="light"] .config-action-button,
html[data-theme="light"] .library-tab,
html[data-theme="light"] .auto-triage-subtab {
    background-clip: padding-box;
}

html[data-theme="light"] .secondary-button,
html[data-theme="light"] .compact-button,
html[data-theme="light"] .config-action-button {
    border-bottom-color: var(--border-strong);
    box-shadow: inset 0 -1px 0 rgba(31, 41, 55, 0.1), 0 8px 20px rgba(31, 41, 55, 0.08);
}

html[data-theme="light"] .reporting-heatmap-tab,
html[data-theme="light"] .reporting-metric-tile,
html[data-theme="light"] .reporting-legend-item {
    border-bottom-color: var(--border-strong);
    box-shadow: inset 0 -1px 0 rgba(31, 41, 55, 0.1), 0 8px 18px rgba(31, 41, 55, 0.06);
}

html[data-theme="light"] .cti-date-form input[type="date"] {
    background: #f8fafc;
    border-color: #8fa0b2;
    color: var(--text);
}

html[data-theme="light"] .cti-date-form input[type="date"]::-webkit-calendar-picker-indicator {
    opacity: 0.85;
}

html[data-theme="light"] .metric-value,
html[data-theme="light"] .reporting-kpi-tile strong,
html[data-theme="light"] .reporting-metric-tile strong,
html[data-theme="light"] .cti-funnel-card strong {
    color: var(--cyan-strong);
    text-shadow: none;
}

html[data-theme="light"] .reporting-kpi-tile {
    border-color: var(--border);
    border-top-color: #8ca0b3;
    background: #f1f5f9;
    box-shadow: 0 8px 18px rgba(31, 41, 55, 0.07);
}

html[data-theme="light"] body[class*="reporting-category-"] .reporting-kpi-tile {
    border-color: var(--border);
    border-top: 3px solid #8ca0b3;
    background: #f1f5f9;
}

html[data-theme="light"] .cti-concept-panel {
    border-color: var(--border);
    background: #f1f5f9;
    color: var(--text);
}

html[data-theme="light"] .cti-concept-panel h3 {
    color: var(--text);
}

html[data-theme="light"] .cti-concept-panel li {
    border-top-color: #cbd5df;
}

html[data-theme="light"] .cti-concept-panel li a {
    color: var(--cyan-strong);
}

html[data-theme="light"] .cti-concept-panel li strong {
    color: #111827;
}

html[data-theme="light"] .cti-concept-panel li.cti-cve-concept {
    border-left-color: #6f879d;
    background: #e9eff5;
}

html[data-theme="light"] .cti-concept-panel li.cti-cve-concept a,
html[data-theme="light"] .cti-concept-panel li.cti-cve-concept strong {
    color: var(--cyan-strong);
}

html[data-theme="light"] .cti-concept-panel li.cti-kev-concept {
    border-left-color: #a14b4b;
    background: #f2e8e8;
}

html[data-theme="light"] .cti-concept-panel li.cti-kev-concept a,
html[data-theme="light"] .cti-concept-panel li.cti-kev-concept strong {
    color: #7f2f2f;
}

html[data-theme="light"] .threat-severity-badge,
html[data-theme="light"] .capability-badge,
html[data-theme="light"] .daily-brief-signals span {
    background: #eef3f8;
    border-color: #9dadbf;
    color: #1f2937;
}

html[data-theme="light"] .threat-severity-critical,
html[data-theme="light"] .daily-brief-critical .threat-severity-badge {
    border-color: #a14b4b;
    background: #f4e8e8;
    color: #7f2f2f;
}

html[data-theme="light"] .threat-severity-high,
html[data-theme="light"] .daily-brief-high .threat-severity-badge {
    border-color: #9a6a18;
    background: #f4ead8;
    color: #6f4b12;
}

html[data-theme="light"] .threat-severity-low,
html[data-theme="light"] .daily-brief-medium .threat-severity-badge,
html[data-theme="light"] .daily-brief-low .threat-severity-badge {
    border-color: rgba(37, 99, 155, 0.34);
    background: #e4edf6;
    color: var(--cyan-strong);
}

html[data-theme="light"] .capability-badge,
html[data-theme="light"] .auto-triage-guidance strong {
    color: var(--cyan-strong);
}

html[data-theme="light"] .capability-live,
html[data-theme="light"] .capability-configured,
html[data-theme="light"] .triage-status-closed,
html[data-theme="light"] .triage-status-linked,
html[data-theme="light"] .triage-status-resolved,
html[data-theme="light"] .library-review-reviewed_hunted {
    border-color: rgba(37, 99, 155, 0.32);
    background: #e4edf6;
    color: var(--cyan-strong);
}

html[data-theme="light"] .library-review-reviewed_not_actioned {
    border-color: rgba(154, 106, 24, 0.4);
    background: #f4ead8;
    color: #6f4b12;
}

html[data-theme="light"] .library-review-not_reviewed {
    border-color: #9dadbf;
    background: #eef3f8;
    color: #1f2937;
}

html[data-theme="light"] .auto-triage-guidance,
html[data-theme="light"] .auto-triage-refresh-status {
    border-color: var(--border);
    background: #eef3f8;
    color: var(--text);
}

html[data-theme="light"] .auto-triage-guidance-ready {
    border-color: rgba(37, 99, 155, 0.28);
    background: #e7eef6;
}

html[data-theme="light"] .daily-brief-card {
    background: #edf2f7;
    border-color: var(--border);
    box-shadow: none;
}

html[data-theme="light"] .daily-brief-main h3,
html[data-theme="light"] .daily-brief-main p,
html[data-theme="light"] .daily-brief-main small {
    color: var(--text);
}

html[data-theme="light"] .dashboard-source-item-low {
    border-left-color: var(--cyan-strong);
    background: linear-gradient(90deg, rgba(37, 99, 155, 0.1), var(--surface-soft) 34%);
}

html[data-theme="light"] .spl-validation-results {
    background: #eef3f8;
    border-color: var(--border);
}

html[data-theme="light"] .spl-validation-check strong,
html[data-theme="light"] .spl-validation-check span,
html[data-theme="light"] .spl-validation-check small {
    color: var(--text);
}

html[data-theme="light"] .cti-cve-chip {
    border-left-color: #6f879d;
    background: #e9eff5;
    color: var(--cyan-strong);
}

html[data-theme="light"] .cti-cve-chip.cti-kev-chip {
    border-left-color: #a14b4b;
    background: #f2e8e8;
    color: #7f2f2f;
}

.osquery-hero .summary-panel .metric-value {
    color: var(--cyan);
}

.osquery-host-grid,
.osquery-hash-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 14px;
}

.osquery-host-option,
.osquery-query-card,
.osquery-hash-card {
    min-width: 0;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: linear-gradient(135deg, rgba(56, 189, 248, 0.08), rgba(15, 23, 42, 0.36));
    box-shadow: inset 3px 0 0 rgba(56, 189, 248, 0.65);
}

.osquery-host-option {
    display: grid;
    grid-template-columns: auto minmax(0, 1fr);
    gap: 8px 10px;
    align-items: center;
    padding: 12px 14px;
}

.osquery-host-option small {
    grid-column: 2;
    color: var(--muted);
}

.osquery-plan-list {
    display: grid;
    grid-template-columns: minmax(0, 1fr);
    gap: 14px;
}

.osquery-artifact-grid .entity-list {
    max-height: 180px;
}

.osquery-query-card,
.osquery-hash-card {
    padding: 16px;
}

.osquery-query-card {
    display: grid;
    gap: 10px;
}

.osquery-query-heading {
    display: flex;
    justify-content: space-between;
    gap: 12px;
    align-items: start;
}

.osquery-query-heading h3 {
    margin: 0;
    color: var(--silver);
    font-size: 15px;
}

.osquery-code {
    margin: 12px 0;
    overflow-x: auto;
    white-space: pre;
}

.osquery-query-meta {
    margin-top: 8px;
    color: var(--muted);
    font-size: 13px;
}

.osquery-chip-row,
.osquery-provider-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin-top: 12px;
}

.osquery-hash-card {
    display: grid;
    gap: 8px;
}

.osquery-hash-card code {
    overflow-wrap: anywhere;
    color: var(--cyan);
}

.osquery-hash-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.osquery-hash-context {
    display: grid;
    gap: 8px;
    margin: 4px 0 0;
}

.osquery-hash-context div {
    display: grid;
    gap: 2px;
}

.osquery-hash-context dt {
    color: var(--muted);
    font-size: 0.72rem;
    font-weight: 850;
    text-transform: uppercase;
}

.osquery-hash-context dd {
    margin: 0;
    color: var(--silver);
    font-size: 0.84rem;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.success-pill {
    border-color: rgba(34, 197, 94, 0.55);
    color: #86efac;
}

.muted-pill {
    opacity: 0.72;
}

.osquery-subheading {
    margin: 12px 0 10px;
    color: var(--silver);
    font-size: 13px;
    font-weight: 850;
}

.fleet-confirmed {
    box-shadow: inset 3px 0 0 rgba(34, 197, 94, 0.75);
}

.fleet-unmatched {
    box-shadow: inset 3px 0 0 rgba(248, 113, 113, 0.72);
}

.osquery-execution-form {
    display: contents;
}

.osquery-query-select {
    display: inline-flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    margin-top: 14px;
    color: var(--text-muted);
    font-size: 0.84rem;
    font-weight: 800;
    text-transform: uppercase;
    align-self: end;
}

.osquery-query-select input,
.osquery-host-option input {
    width: 16px;
    height: 16px;
    min-width: 16px;
    accent-color: var(--accent);
}

.osquery-execute-panel {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
    flex-wrap: wrap;
}

.osquery-result-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(320px, 1fr));
    gap: 16px;
}

.behavior-baseline-filters {
    display: grid;
    grid-template-columns: minmax(140px, 180px) minmax(200px, 240px) minmax(260px, 1fr) auto;
    gap: 12px;
    align-items: end;
    margin-bottom: 18px;
}

.behavior-baseline-hero .hero-main {
    align-items: center;
    justify-content: space-between;
    gap: 18px;
}

.behavior-baseline-filters label {
    display: grid;
    gap: 6px;
    color: var(--muted);
    font-size: 0.72rem;
    font-weight: 850;
    text-transform: uppercase;
}

.behavior-baseline-filters select,
.behavior-baseline-filters input {
    width: 100%;
}

.behavior-status-link {
    text-decoration: none;
}

.behavior-status-link.active {
    border-color: rgba(125, 211, 252, 0.68);
    color: var(--cyan);
}

.behavior-baseline-table {
    table-layout: fixed;
    width: 100%;
    min-width: 0;
}

.behavior-baseline-table th:nth-child(1) { width: 14%; }
.behavior-baseline-table th:nth-child(2) { width: 18%; }
.behavior-baseline-table th:nth-child(3) { width: 15%; }
.behavior-baseline-table th:nth-child(4) { width: 8%; }
.behavior-baseline-table th:nth-child(5) { width: 17%; }
.behavior-baseline-table th:nth-child(6) { width: 10%; }
.behavior-baseline-table th:nth-child(7) { width: 18%; }

.behavior-baseline-table th,
.behavior-baseline-table td {
    padding: 10px 12px;
    vertical-align: top;
    overflow-wrap: anywhere;
}

.behavior-baseline-table th:nth-child(4),
.behavior-baseline-table td:nth-child(4) {
    overflow-wrap: break-word;
    word-break: normal;
}

.baseline-status {
    display: inline-flex;
    align-items: center;
    min-height: 28px;
    padding: 4px 9px;
    border: 1px solid rgba(148, 163, 184, 0.3);
    border-radius: 999px;
    color: var(--muted);
    font-size: 0.74rem;
    font-weight: 850;
    text-transform: uppercase;
    white-space: nowrap;
}

.baseline-status-candidate {
    border-color: rgba(248, 113, 113, 0.52);
    color: #fca5a5;
}

.baseline-status-reviewed_normal {
    border-color: rgba(34, 197, 94, 0.5);
    color: #86efac;
}

.baseline-status-excluded {
    border-color: rgba(148, 163, 184, 0.36);
    color: var(--text-muted);
}

.baseline-status-reviewed_suspicious {
    border-color: rgba(125, 211, 252, 0.58);
    color: var(--cyan);
}

.behavior-baseline-actions {
    display: grid;
    gap: 6px;
    min-width: 0;
}

.behavior-baseline-actions form {
    display: grid;
    gap: 6px;
}

.behavior-baseline-actions select,
.behavior-baseline-actions input,
.behavior-baseline-actions button,
.behavior-baseline-actions .secondary-button {
    min-width: 0;
    min-height: 32px;
    padding: 5px 8px;
    font-size: 12px;
}

.power-enrichment-technical-details {
    margin-top: 14px;
    border: 1px solid var(--border);
    border-radius: 12px;
    padding: 12px;
}

.power-enrichment-technical-grid,
.power-enrichment-factor-grid {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
    gap: 12px;
    margin-top: 12px;
}

.power-enrichment-technical-grid article,
.power-enrichment-evidence-details > details {
    border: 1px solid var(--border);
    border-radius: 10px;
    padding: 12px;
    background: var(--surface-soft);
}

.power-enrichment-technical-grid dl div,
.power-enrichment-evidence-details dl div {
    display: grid;
    grid-template-columns: minmax(110px, 0.35fr) 1fr;
    gap: 10px;
    padding: 4px 0;
}

.power-enrichment-technical-grid dt,
.power-enrichment-evidence-details dt {
    color: var(--muted);
    font-weight: 700;
}

.power-enrichment-technical-grid dd,
.power-enrichment-evidence-details dd {
    margin: 0;
    overflow-wrap: anywhere;
}

.power-enrichment-evidence-details {
    display: grid;
    gap: 10px;
    margin-top: 12px;
}

.power-enrichment-stage-list {
    display: grid;
    gap: 8px;
    margin-top: 10px;
}

.power-enrichment-stage-list > details {
    border-top: 1px solid var(--border);
    padding-top: 8px;
}

.power-enrichment-feedback-form {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
    gap: 8px;
    align-items: center;
    margin-top: 12px;
    padding-top: 10px;
    border-top: 1px solid var(--border);
}

.selected-detector-results {
    max-height: 520px;
    overflow: auto;
    padding-right: 4px;
}

.selected-check-hint {
    margin: 6px 0 10px;
}

.detector-group[hidden],
.detector-row[hidden] {
    display: none;
}

.detector-group summary {
    cursor: pointer;
}

@media (max-width: 920px) {
    .behavior-baseline-filters {
        grid-template-columns: 1fr;
    }
}

@media (min-width: 821px) {
    body {
        overflow-x: hidden;
    }

    .page {
        min-width: 0;
    }

    .threat-blueprint-page {
        min-width: 0;
    }
}

@media (min-width: 821px) and (max-width: 1180px) {
    .page {
        width: min(1180px, calc(100% - 366px));
    }

    .threat-blueprint-page {
        width: calc(100% - 270px);
    }

    body.sidebar-collapsed .threat-blueprint-page {
        width: calc(100% - 102px);
    }
}

.candidate-actions,
.section-actions,
.saved-hunt-actions,
.discovery-scan-actions,
.analysis-card-actions,
.reporting-card-actions,
.hearth-actions,
.bulk-workflow-actions,
.triage-record-actions,
.asset-change-filter-strip,
.entity-analyzer-launch,
.dashboard-layout-actions,
.dashboard-source-actions,
.node-actions,
.admin-actions,
.account-actions,
.split-actions,
.feedback-actions,
.scan-form-actions,
.saved-scan-filter-actions,
.saved-hunt-triage-actions,
.easm-exposure-actions,
.easm-triage-actions,
.external-kev-actions,
.behavior-baseline-actions {
    align-items: center;
}

.candidate-actions .primary-link,
.candidate-actions .secondary-button,
.candidate-actions button,
.section-actions .primary-link,
.section-actions .secondary-button,
.section-actions button,
.saved-hunt-actions .primary-link,
.saved-hunt-actions .secondary-button,
.saved-hunt-actions button,
.discovery-scan-actions .primary-link,
.discovery-scan-actions .secondary-button,
.discovery-scan-actions button,
.analysis-card-actions .primary-link,
.analysis-card-actions .secondary-button,
.analysis-card-actions button,
.reporting-card-actions .primary-link,
.reporting-card-actions .secondary-button,
.reporting-card-actions button,
.hearth-actions .primary-link,
.hearth-actions .secondary-button,
.hearth-actions button,
.bulk-workflow-actions .primary-link,
.bulk-workflow-actions .secondary-button,
.bulk-workflow-actions button,
.triage-record-actions .primary-link,
.triage-record-actions .secondary-button,
.triage-record-actions button,
.asset-change-filter-strip .primary-link,
.asset-change-filter-strip .secondary-button,
.asset-change-filter-strip button,
.entity-analyzer-launch .primary-link,
.entity-analyzer-launch .secondary-button,
.entity-analyzer-launch button,
.dashboard-layout-actions .primary-link,
.dashboard-layout-actions .secondary-button,
.dashboard-layout-actions button,
.dashboard-source-actions .primary-link,
.dashboard-source-actions .secondary-button,
.dashboard-source-actions button,
.node-actions .primary-link,
.node-actions .secondary-button,
.node-actions button,
.admin-actions .primary-link,
.admin-actions .secondary-button,
.admin-actions button,
.account-actions .primary-link,
.account-actions .secondary-button,
.account-actions button,
.split-actions .primary-link,
.split-actions .secondary-button,
.split-actions button,
.feedback-actions .primary-link,
.feedback-actions .secondary-button,
.feedback-actions button,
.scan-form-actions .primary-link,
.scan-form-actions .secondary-button,
.scan-form-actions button,
.saved-scan-filter-actions .primary-link,
.saved-scan-filter-actions .secondary-button,
.saved-scan-filter-actions button,
.saved-hunt-triage-actions .primary-link,
.saved-hunt-triage-actions .secondary-button,
.saved-hunt-triage-actions button,
.easm-exposure-actions .primary-link,
.easm-exposure-actions .secondary-button,
.easm-exposure-actions button,
.easm-triage-actions .primary-link,
.easm-triage-actions .secondary-button,
.easm-triage-actions button,
.external-kev-actions .primary-link,
.external-kev-actions .secondary-button,
.external-kev-actions button,
.behavior-baseline-actions .primary-link,
.behavior-baseline-actions .secondary-button,
.behavior-baseline-actions button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.candidate-actions form,
.section-actions form,
.saved-hunt-actions form,
.discovery-scan-actions form,
.analysis-card-actions form,
.reporting-card-actions form,
.hearth-actions form,
.bulk-workflow-actions form,
.triage-record-actions form,
.asset-change-filter-strip form,
.entity-analyzer-launch form,
.dashboard-layout-actions form,
.dashboard-source-actions form,
.node-actions form,
.admin-actions form,
.account-actions form,
.split-actions form,
.feedback-actions form,
.scan-form-actions form,
.saved-scan-filter-actions form,
.saved-hunt-triage-actions form,
.easm-exposure-actions form,
.easm-triage-actions form,
.external-kev-actions form,
.behavior-baseline-actions form {
    align-items: center;
}

.threat-blueprint-form {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 14px;
}

.threat-blueprint-page {
    box-sizing: border-box;
    margin-left: 318px;
    margin-right: 8px;
    max-width: none;
    min-width: 0;
    width: calc(100vw - 326px) !important;
}

body.sidebar-collapsed .threat-blueprint-page {
    margin-left: 76px;
    margin-right: 4px;
    width: calc(100vw - 80px) !important;
}

@media (min-width: 821px) {
    .threat-blueprint-page.page {
        max-width: none !important;
        min-width: 0 !important;
        width: calc(100vw - 326px) !important;
    }

    body.sidebar-collapsed .threat-blueprint-page.page {
        width: calc(100vw - 80px) !important;
    }
}

.threat-blueprint-page .hero-content {
    max-width: 900px;
}

.threat-blueprint-page .top-actions form {
    margin: 0;
}

.threat-blueprint-page .topbar {
    align-items: center;
    display: grid;
    grid-template-columns: minmax(180px, 230px) auto minmax(0, 1fr);
    gap: 10px;
}

.threat-blueprint-page .top-actions {
    display: flex;
    flex-wrap: nowrap;
    grid-column: 3;
    gap: 8px;
    justify-content: flex-end;
    min-width: 0;
}

.threat-blueprint-page .top-find-form {
    flex: 1 1 220px;
    max-width: 260px;
    min-width: 170px;
}

.blueprint-topbar-label {
    align-self: center;
    color: var(--silver);
    font-size: 14px;
    font-weight: 850;
    line-height: 1.2;
    white-space: nowrap;
}

.threat-blueprint-page .brand {
    align-self: center;
    max-width: 230px;
    min-width: 0;
    overflow: hidden;
}

.threat-blueprint-page .brand > div {
    min-width: 0;
}

.threat-blueprint-page .brand-title,
.threat-blueprint-page .brand-subtitle {
    max-width: 100%;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.threat-blueprint-page .top-actions .secondary-button,
.threat-blueprint-page .top-actions .primary-button {
    min-height: 42px;
    padding-inline: 14px;
    white-space: nowrap;
}

.threat-blueprint-page .top-settings-menu summary,
.threat-blueprint-page .theme-toggle-button,
.threat-blueprint-page .top-account-menu summary,
.threat-blueprint-page .top-help-trigger {
    padding-inline: 10px;
}

.threat-blueprint-page .top-account-menu summary {
    max-width: 186px;
}

.threat-blueprint-page .top-account-menu summary span:last-child {
    overflow: hidden;
    text-overflow: ellipsis;
}

.threat-blueprint-page .section,
.threat-blueprint-page .threat-blueprint-summary,
.threat-blueprint-page .two-column-workbench {
    margin-bottom: 18px;
}

.threat-blueprint-page .dashboard-card {
    overflow: hidden;
}

.threat-blueprint-summary {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 14px;
}

.blueprint-summary-card {
    display: grid;
    gap: 5px;
    min-height: 92px;
    padding: 16px;
    border: 1px solid rgba(var(--cyan-rgb), 0.32);
    border-radius: 8px;
    background: linear-gradient(180deg, rgba(var(--cyan-rgb), 0.11), var(--surface-soft));
}

a.blueprint-summary-card {
    transition: transform 130ms ease, border-color 130ms ease, background 130ms ease;
}

a.blueprint-summary-card:hover,
a.blueprint-summary-card:focus-visible {
    border-color: rgba(var(--cyan-rgb), 0.7);
    background: linear-gradient(180deg, rgba(var(--cyan-rgb), 0.18), var(--surface-soft));
    transform: translateY(-1px);
}

.blueprint-summary-card span {
    color: var(--muted);
    font-size: 11px;
    font-weight: 850;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.blueprint-summary-card strong {
    color: var(--silver);
    font-size: 32px;
    font-weight: 900;
    line-height: 1;
}

.blueprint-workspace-header {
    position: sticky;
    top: 12px;
    z-index: 24;
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    gap: 12px 18px;
    align-items: end;
    margin-bottom: 16px;
    padding: 14px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: rgba(var(--bg-rgb), 0.92);
    backdrop-filter: blur(14px);
    box-shadow: var(--shadow);
}

.blueprint-title-block {
    min-width: 0;
}

.blueprint-title-block h1 {
    margin: 4px 0 4px;
    color: var(--silver);
    font-size: clamp(28px, 3vw, 42px);
    line-height: 1.05;
}

.blueprint-title-block p {
    max-width: 920px;
    margin: 0;
    color: var(--muted);
    font-size: 14px;
    line-height: 1.45;
}

.blueprint-header-metrics {
    display: grid;
    grid-template-columns: repeat(4, minmax(76px, 1fr));
    gap: 8px;
    min-width: 390px;
}

.blueprint-header-metrics span {
    display: grid;
    gap: 2px;
    min-height: 52px;
    padding: 9px 10px;
    border: 1px solid rgba(var(--cyan-rgb), 0.24);
    border-radius: 8px;
    background: rgba(var(--cyan-rgb), 0.08);
    color: var(--muted);
    font-size: 10px;
    font-weight: 850;
    letter-spacing: 0.05em;
    text-transform: uppercase;
}

.blueprint-header-metrics strong {
    color: var(--silver);
    font-size: 22px;
    font-weight: 950;
    line-height: 1;
}

.blueprint-workspace-menu {
    grid-column: 1 / 2;
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    margin: 2px 0 0;
}

.blueprint-workspace-menu a {
    display: inline-flex;
    align-items: center;
    min-height: 34px;
    padding: 7px 11px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-soft);
    color: var(--muted);
    font-size: 12px;
    font-weight: 850;
}

.blueprint-workspace-menu a:hover,
.blueprint-workspace-menu a:focus-visible {
    border-color: rgba(var(--cyan-rgb), 0.42);
    background: var(--cyan-soft);
    color: var(--cyan);
    outline: none;
}

.blueprint-workspace-actions {
    grid-column: 2 / 3;
    display: flex;
    flex-wrap: wrap;
    justify-content: flex-end;
    gap: 8px;
    min-width: 0;
    margin: 2px 0 0;
}

.blueprint-workspace-actions form {
    display: inline-flex;
    margin: 0;
}

.blueprint-workspace-actions .secondary-button,
.blueprint-workspace-actions .primary-button {
    min-height: 34px;
    padding: 7px 11px;
    font-size: 12px;
    line-height: 1.2;
    white-space: nowrap;
}

.flash-banner {
    margin: 0 0 18px;
    padding: 12px 14px;
    border: 1px solid rgba(var(--cyan-rgb), 0.35);
    border-radius: 8px;
    background: rgba(var(--cyan-rgb), 0.1);
    color: var(--silver);
    font-size: 0.92rem;
    font-weight: 800;
}

.warning-banner {
    border-color: rgba(249, 115, 22, 0.45);
    background: rgba(249, 115, 22, 0.12);
}

.table-action-row {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.threat-blueprint-form label,
.stacked-form {
    display: flex;
    flex-direction: column;
    gap: 7px;
}

.threat-blueprint-form span,
.stacked-form span,
.checkbox-row {
    color: var(--muted);
    font-size: 0.78rem;
    font-weight: 700;
    text-transform: uppercase;
}

.threat-blueprint-form input,
.threat-blueprint-form select,
.threat-blueprint-form textarea,
.stacked-form input,
.stacked-form select,
.stacked-form textarea,
.inline-filter input,
.inline-filter select {
    width: 100%;
    min-width: 0;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-strong);
    color: var(--text);
    padding: 10px 12px;
    font: inherit;
    font-size: 13px;
}

.threat-blueprint-form textarea,
.stacked-form textarea {
    resize: vertical;
}

.checkbox-row input[type="checkbox"],
.threat-blueprint-form .checkbox-row input[type="checkbox"],
.stacked-form .checkbox-row input[type="checkbox"] {
    width: 18px;
    height: 18px;
    min-width: 18px;
    padding: 0;
    accent-color: var(--cyan);
}

.span-2 {
    grid-column: span 2;
}

.span-3 {
    grid-column: span 3;
}

.two-column-workbench {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 18px;
}

.stacked-form {
    margin-bottom: 18px;
}

.checkbox-row {
    align-items: center;
    flex-direction: row;
    gap: 9px;
    min-height: 34px;
    text-transform: none;
}

.blueprint-inventory-preview {
    display: grid;
    gap: 14px;
    margin-top: 18px;
}

.blueprint-inventory-preview .section-subheader {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 16px;
}

.blueprint-inventory-preview .section-subheader h3 {
    margin: 0 0 4px;
}

.blueprint-import-check {
    margin: 0;
    white-space: nowrap;
}

.admin-table tr.is-muted-row {
    opacity: 0.58;
}

.admin-table tr.is-muted-row strong {
    color: var(--muted);
}

.record-list {
    display: grid;
    gap: 12px;
}

.record-list-item,
.threat-card {
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-strong);
    padding: 14px;
}

.record-list-item p,
.threat-card p {
    margin-bottom: 0;
}

.blueprint-canvas-section {
    margin-top: 24px;
    max-width: none;
    width: 100%;
}

.blueprint-canvas-section .section-body {
    padding: 0;
}

.blueprint-designer-shell {
    display: grid;
    grid-template-columns: minmax(260px, 320px) minmax(0, 1fr);
    grid-template-rows: minmax(430px, 0.95fr) minmax(260px, 0.6fr);
    min-height: min(1040px, calc(100vh - 96px));
    width: 100%;
}

@media (min-width: 1800px) {
    .blueprint-designer-shell {
        grid-template-columns: minmax(300px, 360px) minmax(0, 1fr);
    }
}

.blueprint-library-panel,
.blueprint-inspector-panel {
    min-width: 0;
    min-height: 0;
    border-color: var(--border);
    background: rgba(0, 0, 0, 0.16);
}

.blueprint-library-panel {
    display: flex;
    flex-direction: column;
    grid-column: 1;
    grid-row: 1;
    overflow: auto;
    border-right: 1px solid var(--border);
    border-bottom: 1px solid var(--border);
}

.blueprint-inspector-panel {
    display: flex;
    flex-direction: column;
    grid-column: 1;
    grid-row: 2;
    overflow: hidden;
    border-right: 1px solid var(--border);
    border-top: 1px solid var(--border);
}

.blueprint-panel-title {
    padding: 12px 14px 8px;
    color: var(--muted);
    font-size: 11px;
    font-weight: 900;
    letter-spacing: 0.12em;
    text-transform: uppercase;
}

.blueprint-library-quick {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
    padding: 8px 12px 12px;
    border-bottom: 1px solid var(--border);
}

.blueprint-library-quick button {
    display: inline-flex;
    align-items: center;
    gap: 10px;
    min-height: 42px;
    padding: 8px 10px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-soft);
    color: var(--text);
    cursor: pointer;
    font: inherit;
    font-size: 13px;
    font-weight: 850;
}

.blueprint-library-quick button:hover,
.blueprint-library-quick button:focus-visible,
.blueprint-library-quick button.is-selected {
    border-color: rgba(var(--cyan-rgb), 0.45);
    background: var(--cyan-soft);
    color: var(--cyan);
    outline: none;
}

.blueprint-zone-panel {
    display: grid;
    grid-template-columns: 1fr;
    gap: 14px;
    padding: 0 12px 16px;
}

.blueprint-zone-panel[hidden] {
    display: none;
}

.blueprint-zone-form {
    display: grid;
    gap: 10px;
}

.blueprint-zone-form label {
    display: grid;
    gap: 6px;
}

.blueprint-zone-form span {
    color: var(--muted);
    font-size: 0.76rem;
    font-weight: 850;
    text-transform: uppercase;
}

.blueprint-zone-form input,
.blueprint-zone-form select,
.blueprint-zone-form textarea {
    width: 100%;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-strong);
    color: var(--text);
    padding: 8px 10px;
    font: inherit;
    font-size: 12px;
}

.blueprint-zone-list {
    display: grid;
    align-content: start;
    grid-template-columns: 1fr;
    gap: 8px;
    max-height: 240px;
    overflow-y: auto;
}

.blueprint-zone-list-item {
    display: grid;
    gap: 4px;
    min-height: 58px;
    padding: 9px 10px;
    border: 1px dashed rgba(255, 176, 64, 0.55);
    border-radius: 8px;
    background: rgba(255, 176, 64, 0.08);
}

.blueprint-zone-list-item strong {
    color: var(--text);
    font-size: 13px;
}

.blueprint-zone-list-item span {
    color: var(--muted);
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.blueprint-library-search {
    display: block;
    padding: 12px;
}

.blueprint-library-search input {
    width: 100%;
    min-height: 36px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-strong);
    color: var(--text);
    padding: 8px 10px;
    font: inherit;
    font-size: 12px;
}

.blueprint-palette-filters {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    padding: 0 12px 12px;
}

.blueprint-palette-filters button {
    min-height: 30px;
    padding: 6px 9px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-soft);
    color: var(--muted);
    cursor: pointer;
    font: inherit;
    font-size: 11px;
    font-weight: 850;
}

.blueprint-palette-filters button:hover,
.blueprint-palette-filters button:focus-visible,
.blueprint-palette-filters button.is-selected {
    border-color: rgba(var(--cyan-rgb), 0.45);
    background: var(--cyan-soft);
    color: var(--cyan);
    outline: none;
}

.blueprint-canvas-stage {
    position: relative;
    grid-column: 2;
    grid-row: 1 / 3;
    min-width: 0;
    width: 100%;
    overflow: hidden;
}

.blueprint-canvas-toolbar {
    position: absolute;
    top: 10px;
    right: 12px;
    z-index: 30;
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding: 6px;
    border: 1px solid rgba(var(--cyan-rgb), 0.24);
    border-radius: 8px;
    background: rgba(var(--bg-rgb), 0.88);
    box-shadow: var(--shadow);
    backdrop-filter: blur(12px);
}

.blueprint-canvas-toolbar button,
.blueprint-canvas-toolbar output {
    display: inline-grid;
    place-items: center;
    min-width: 36px;
    min-height: 32px;
    padding: 5px 8px;
    border: 1px solid var(--border);
    border-radius: 7px;
    background: var(--surface-soft);
    color: var(--text);
    font: inherit;
    font-size: 12px;
    font-weight: 850;
    line-height: 1;
}

.blueprint-canvas-toolbar button {
    cursor: pointer;
}

.blueprint-canvas-toolbar button:hover,
.blueprint-canvas-toolbar button:focus-visible,
.blueprint-canvas-toolbar button.is-selected {
    border-color: rgba(var(--cyan-rgb), 0.58);
    background: var(--cyan-soft);
    color: var(--cyan);
    outline: none;
}

.blueprint-canvas-toolbar output {
    min-width: 52px;
    color: var(--muted);
}

.blueprint-canvas-toolbar output[data-canvas-selection-label] {
    min-width: 76px;
}

.blueprint-canvas-header {
    align-items: flex-start;
}

.blueprint-canvas-status {
    max-width: 280px;
    padding: 9px 12px;
    border: 1px solid rgba(var(--cyan-rgb), 0.28);
    border-radius: 8px;
    background: var(--cyan-soft);
    color: var(--cyan);
    font-size: 12px;
    font-weight: 800;
    line-height: 1.35;
}

.blueprint-palette {
    display: grid;
    grid-template-columns: 1fr;
    gap: 10px;
    max-height: none;
    padding: 0 12px 16px;
    overflow: visible;
}

.blueprint-palette-item {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr);
    align-items: center;
    gap: 10px;
    min-height: 52px;
    padding: 9px 10px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-strong);
    color: var(--text);
    cursor: pointer;
    font: inherit;
    font-size: 13px;
    font-weight: 800;
    white-space: normal;
    text-align: left;
}

.blueprint-palette-item[hidden] {
    display: none;
}

.blueprint-palette-empty {
    margin: 0;
    padding: 12px;
    border: 1px dashed var(--border);
    border-radius: 8px;
    background: var(--surface-soft);
    color: var(--muted);
    font-size: 12px;
    font-weight: 750;
}

.blueprint-palette-item:hover,
.blueprint-palette-item:focus-visible,
.blueprint-palette-item.is-selected {
    border-color: rgba(var(--cyan-rgb), 0.62);
    background: var(--cyan-soft);
    color: var(--cyan);
    outline: none;
}

.blueprint-palette-icon,
.blueprint-node-icon {
    display: grid;
    place-items: center;
    border: 1px solid rgba(var(--cyan-rgb), 0.4);
    background: rgba(var(--cyan-rgb), 0.14);
    color: var(--cyan);
    font-size: 10px;
    font-weight: 900;
    line-height: 1;
}

.blueprint-palette-icon svg,
.blueprint-node-icon svg {
    width: 20px;
    height: 20px;
    fill: none;
    stroke: currentColor;
    stroke-width: 2;
    stroke-linecap: round;
    stroke-linejoin: round;
}

.blueprint-node-icon svg {
    width: 20px;
    height: 20px;
}

.blueprint-palette-icon {
    width: 34px;
    height: 34px;
    border-radius: 10px;
}

.blueprint-hidden-form {
    display: none;
}

.threat-blueprint-canvas {
    position: relative;
    width: 100%;
    height: 100%;
    min-height: 720px;
    overflow: auto;
    border: 0;
    border-radius: 0;
    background:
        linear-gradient(rgba(100, 181, 246, 0.08) 1px, transparent 1px),
        linear-gradient(90deg, rgba(100, 181, 246, 0.08) 1px, transparent 1px),
        var(--surface);
    background-size: 40px 40px;
}

.threat-blueprint-canvas.is-pan-mode {
    cursor: grab;
}

.threat-blueprint-canvas.is-panning {
    cursor: grabbing;
    user-select: none;
}

.blueprint-canvas-world {
    position: relative;
    min-width: 1320px;
    min-height: 860px;
    transform-origin: 0 0;
}

.threat-blueprint-canvas::before {
    content: "";
    position: absolute;
    inset: 0;
    pointer-events: none;
}

.blueprint-minimap {
    position: absolute;
    right: 12px;
    bottom: 12px;
    z-index: 32;
    display: grid;
    gap: 6px;
    width: 206px;
    padding: 8px;
    border: 1px solid rgba(var(--cyan-rgb), 0.24);
    border-radius: 8px;
    background: rgba(var(--bg-rgb), 0.9);
    box-shadow: var(--shadow);
    backdrop-filter: blur(12px);
    cursor: crosshair;
}

.blueprint-minimap:focus-visible {
    outline: 2px solid rgba(var(--cyan-rgb), 0.72);
    outline-offset: 2px;
}

.blueprint-minimap-title {
    color: var(--muted);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 0.08em;
    line-height: 1;
    text-transform: uppercase;
}

.blueprint-minimap-body {
    position: relative;
    height: 116px;
    overflow: hidden;
    border: 1px solid var(--border);
    border-radius: 6px;
    background:
        linear-gradient(rgba(100, 181, 246, 0.08) 1px, transparent 1px),
        linear-gradient(90deg, rgba(100, 181, 246, 0.08) 1px, transparent 1px),
        rgba(15, 23, 42, 0.82);
    background-size: 12px 12px;
}

.blueprint-minimap-node,
.blueprint-minimap-boundary,
.blueprint-minimap-viewport {
    position: absolute;
    display: block;
    pointer-events: none;
}

.blueprint-minimap-boundary {
    border: 1px dashed rgba(255, 176, 64, 0.72);
    background: rgba(255, 176, 64, 0.1);
}

.blueprint-minimap-node {
    border-radius: 2px;
    background: rgba(var(--cyan-rgb), 0.78);
}

.blueprint-minimap-node.is-selected {
    background: #f97316;
}

.blueprint-minimap-viewport {
    z-index: 3;
    border: 1px solid #f8fafc;
    background: rgba(248, 250, 252, 0.12);
    box-shadow: 0 0 0 1px rgba(var(--cyan-rgb), 0.45);
}

.blueprint-flow-layer {
    position: absolute;
    top: 0;
    left: 0;
    width: 100%;
    height: 100%;
    pointer-events: none;
}

.blueprint-flow-layer line {
    stroke: var(--chart-blue, #69a7ff);
    stroke-width: 1.5;
    stroke-linecap: round;
    opacity: 0.72;
    cursor: pointer;
    pointer-events: stroke;
    transition: opacity 0.14s ease, stroke-width 0.14s ease, stroke 0.14s ease;
}

.blueprint-flow-layer line.is-encrypted {
    stroke: var(--graph-observed, #35e0c1);
}

.blueprint-flow-layer #blueprint-flow-arrow path {
    fill: var(--chart-blue, #69a7ff);
    stroke: none;
}

.blueprint-flow-layer #blueprint-flow-arrow-encrypted path {
    fill: var(--graph-observed, #35e0c1);
    stroke: none;
}

.blueprint-flow-layer line:hover,
.blueprint-flow-layer line.is-selected,
.blueprint-flow-layer line:focus-visible {
    stroke: var(--accent-strong, #67e8f9);
    stroke-width: 2.5;
    opacity: 1;
}

.blueprint-flow-layer line.is-selected + .blueprint-flow-label {
    fill: var(--accent-strong, #67e8f9);
}

.blueprint-flow-layer .blueprint-flow-label {
    fill: var(--silver);
    paint-order: stroke;
    stroke: rgba(8, 13, 22, 0.86);
    stroke-width: 4px;
    font-size: 11px;
    font-weight: 850;
    pointer-events: none;
    text-anchor: middle;
}

.blueprint-boundary {
    position: absolute;
    border: 1px dashed rgba(var(--cyan-rgb), 0.34);
    border-radius: 10px;
    background: rgba(var(--cyan-rgb), 0.018);
    color: var(--text);
    padding: 10px;
    font-size: 0.78rem;
    font-weight: 800;
    text-transform: uppercase;
    cursor: move;
    user-select: none;
    touch-action: none;
    transition: background 0.14s ease, border-color 0.14s ease, box-shadow 0.14s ease;
}

.blueprint-boundary span {
    display: inline-flex;
    max-width: calc(100% - 22px);
    padding: 3px 7px;
    border-radius: 999px;
    background: rgba(248, 250, 252, 0.9);
    color: #1f2937;
    font-size: 0.78rem;
    line-height: 1.15;
}

.blueprint-boundary.is-drop-target {
    border-color: rgba(255, 209, 102, 0.98);
    background: rgba(255, 209, 102, 0.14);
    box-shadow: inset 0 0 0 1px rgba(255, 209, 102, 0.38), 0 0 28px rgba(255, 209, 102, 0.18);
}

.blueprint-boundary.is-editing {
    border-color: rgba(255, 209, 102, 0.98);
    box-shadow: 0 0 0 2px rgba(255, 209, 102, 0.22);
}

.blueprint-boundary-resize {
    position: absolute;
    right: 5px;
    bottom: 5px;
    width: 16px;
    height: 16px;
    border: 1px solid rgba(var(--cyan-rgb), 0.48);
    border-radius: 4px;
    background:
        linear-gradient(135deg, transparent 0 45%, rgba(var(--cyan-rgb), 0.72) 46% 54%, transparent 55%),
        rgba(8, 13, 22, 0.72);
    cursor: nwse-resize;
}

.blueprint-node {
    position: absolute;
    z-index: 2;
    display: flex;
    flex-direction: column;
    align-items: center;
    gap: 5px;
    border: 0;
    background: transparent;
    color: var(--text);
    cursor: grab;
    font: inherit;
    width: 104px;
    min-height: 76px;
    padding: 4px;
    text-align: center;
    box-shadow: none;
    user-select: none;
    touch-action: none;
    transition: transform 0.14s ease;
}

.blueprint-node:hover,
.blueprint-node:focus-visible {
    outline: none;
}

.blueprint-node:hover .blueprint-node-icon,
.blueprint-node:focus-visible .blueprint-node-icon,
.blueprint-node.is-selected .blueprint-node-icon,
.blueprint-node.is-connect-source .blueprint-node-icon {
    border-color: rgba(var(--cyan-rgb), 0.72);
    box-shadow: 0 12px 26px rgba(0, 0, 0, 0.32), 0 0 0 3px rgba(var(--cyan-rgb), 0.18);
}

.blueprint-node.is-selected {
    z-index: 4;
}

.blueprint-node.is-selected strong,
.blueprint-node.is-connect-source strong {
    border-color: rgba(var(--cyan-rgb), 0.42);
    box-shadow: 0 10px 24px rgba(var(--cyan-rgb), 0.18);
}

.blueprint-node.is-connect-source .blueprint-node-icon {
    border-color: #f97316;
    box-shadow: 0 12px 26px rgba(0, 0, 0, 0.32), 0 0 0 3px rgba(249, 115, 22, 0.24);
}

.blueprint-node.is-dragging {
    z-index: 5;
    cursor: grabbing;
    transform: scale(1.04);
}

.blueprint-node-icon {
    width: 44px;
    height: 44px;
    border: 2px solid rgba(var(--cyan-rgb), 0.5);
    border-radius: 14px;
    background: var(--surface-strong);
    box-shadow: 0 10px 22px rgba(0, 0, 0, 0.25);
    transition: border-color 0.14s ease, box-shadow 0.14s ease;
}

.blueprint-node strong {
    display: block;
    max-width: 136px;
    overflow-wrap: normal;
    word-break: normal;
    white-space: normal;
    padding: 4px 7px;
    border: 1px solid rgba(15, 23, 42, 0.16);
    border-radius: 8px;
    background: rgba(248, 250, 252, 0.94);
    color: #111827;
    font-size: 12px;
    font-weight: 900;
    line-height: 1.18;
    box-shadow: 0 8px 18px rgba(15, 23, 42, 0.12);
}

.blueprint-node small {
    display: none;
}

.blueprint-node-risk {
    display: flex;
    justify-content: center;
    flex-wrap: wrap;
    gap: 3px;
    max-width: 104px;
    margin-top: -1px;
    pointer-events: none;
}

.blueprint-node-risk span {
    display: inline-grid;
    place-items: center;
    min-width: 19px;
    height: 18px;
    padding: 0 4px;
    border: 1px solid rgba(249, 115, 22, 0.42);
    border-radius: 999px;
    background: rgba(249, 115, 22, 0.12);
    color: #fed7aa;
    font-size: 9px;
    font-weight: 950;
    line-height: 1;
}

.blueprint-node-critical .blueprint-node-icon {
    border-color: #ef4444;
}

.blueprint-node-high .blueprint-node-icon {
    border-color: #f97316;
}

.blueprint-node-low .blueprint-node-icon {
    border-color: #22c55e;
}

html[data-theme="light"] .blueprint-workspace-header {
    background: rgba(248, 251, 255, 0.96);
    box-shadow: 0 14px 38px rgba(31, 45, 61, 0.16);
}

html[data-theme="light"] .blueprint-title-block h1,
html[data-theme="light"] .blueprint-header-metrics strong {
    color: #111827;
}

html[data-theme="light"] .blueprint-designer-shell {
    background: #f8fbff;
}

html[data-theme="light"] .blueprint-library-panel,
html[data-theme="light"] .blueprint-inspector-panel {
    background: #edf3fa;
    border-color: #c7d3e2;
}

html[data-theme="light"] .blueprint-library-quick button,
html[data-theme="light"] .blueprint-palette-filters button,
html[data-theme="light"] .blueprint-palette-item,
html[data-theme="light"] .blueprint-zone-list-item {
    background: #f9fcff;
    border-color: #c7d3e2;
    color: #172033;
}

html[data-theme="light"] .blueprint-library-quick button:hover,
html[data-theme="light"] .blueprint-library-quick button:focus-visible,
html[data-theme="light"] .blueprint-library-quick button.is-selected,
html[data-theme="light"] .blueprint-palette-filters button:hover,
html[data-theme="light"] .blueprint-palette-filters button:focus-visible,
html[data-theme="light"] .blueprint-palette-filters button.is-selected,
html[data-theme="light"] .blueprint-palette-item:hover,
html[data-theme="light"] .blueprint-palette-item:focus-visible,
html[data-theme="light"] .blueprint-palette-item.is-selected {
    background: #dbeafe;
    border-color: #8fb5e8;
    color: #1d4f91;
}

html[data-theme="light"] .blueprint-library-search input,
html[data-theme="light"] .blueprint-zone-form input,
html[data-theme="light"] .blueprint-zone-form select,
html[data-theme="light"] .blueprint-zone-form textarea {
    background: #ffffff;
    border-color: #bccadd;
    color: #172033;
}

html[data-theme="light"] .blueprint-canvas-toolbar,
html[data-theme="light"] .blueprint-minimap {
    background: rgba(248, 251, 255, 0.94);
    border-color: #bfd0e4;
    box-shadow: 0 14px 34px rgba(31, 45, 61, 0.14);
}

html[data-theme="light"] .blueprint-canvas-toolbar button,
html[data-theme="light"] .blueprint-canvas-toolbar output {
    background: #eef4fb;
    border-color: #bfd0e4;
    color: #172033;
}

html[data-theme="light"] .threat-blueprint-canvas {
    background:
        linear-gradient(rgba(47, 95, 158, 0.08) 1px, transparent 1px),
        linear-gradient(90deg, rgba(47, 95, 158, 0.08) 1px, transparent 1px),
        #fbfcf8;
    background-size: 40px 40px;
}

html[data-theme="light"] .blueprint-flow-layer line {
    stroke: var(--chart-blue, #2766ad);
    opacity: 0.78;
}

html[data-theme="light"] .blueprint-flow-layer line.is-encrypted {
    stroke: var(--graph-observed, #0f766e);
}

html[data-theme="light"] .blueprint-flow-layer #blueprint-flow-arrow path {
    fill: var(--chart-blue, #2766ad);
}

html[data-theme="light"] .blueprint-flow-layer #blueprint-flow-arrow-encrypted path {
    fill: var(--graph-observed, #0f766e);
}

html[data-theme="light"] .blueprint-flow-layer line:hover,
html[data-theme="light"] .blueprint-flow-layer line.is-selected,
html[data-theme="light"] .blueprint-flow-layer line:focus-visible {
    stroke: var(--accent, #087f9c);
}

html[data-theme="light"] .blueprint-flow-layer .blueprint-flow-label {
    fill: #1f2937;
    stroke: rgba(255, 255, 255, 0.94);
    stroke-width: 3px;
    font-size: 10px;
    font-weight: 900;
}

html[data-theme="light"] .blueprint-flow-layer line.is-selected + .blueprint-flow-label {
    fill: var(--accent, #087f9c);
}

html[data-theme="light"] .blueprint-boundary {
    border-color: rgba(39, 102, 173, 0.42);
    background: rgba(39, 102, 173, 0.025);
}

html[data-theme="light"] .blueprint-boundary span {
    background: rgba(255, 255, 255, 0.94);
    border: 1px solid rgba(203, 213, 225, 0.9);
    color: #172033;
}

html[data-theme="light"] .blueprint-boundary-resize {
    border-color: rgba(39, 102, 173, 0.58);
    background:
        linear-gradient(135deg, transparent 0 45%, rgba(39, 102, 173, 0.82) 46% 54%, transparent 55%),
        rgba(255, 255, 255, 0.9);
}

html[data-theme="light"] .blueprint-node-icon {
    background: #ffffff;
    border-color: #8aa6cf;
    box-shadow: 0 8px 18px rgba(31, 45, 61, 0.16);
}

html[data-theme="light"] .blueprint-node strong {
    background: rgba(255, 255, 255, 0.96);
    border-color: rgba(203, 213, 225, 0.9);
    color: #111827;
    box-shadow: 0 8px 18px rgba(31, 45, 61, 0.12);
}

html[data-theme="light"] .blueprint-node-risk span {
    background: rgba(251, 146, 60, 0.14);
    color: #9a3412;
}

html[data-theme="light"] .blueprint-minimap-body {
    background:
        linear-gradient(rgba(47, 95, 158, 0.1) 1px, transparent 1px),
        linear-gradient(90deg, rgba(47, 95, 158, 0.1) 1px, transparent 1px),
        #ffffff;
    border-color: #bfd0e4;
}

html[data-theme="light"] .blueprint-minimap-viewport {
    border-color: #1d4f91;
    background: rgba(47, 95, 158, 0.12);
}

.blueprint-empty-canvas {
    position: absolute;
    inset: 0;
    display: grid;
    place-items: center;
    color: var(--muted);
    text-align: center;
    pointer-events: none;
}

.blueprint-empty-canvas div {
    display: grid;
    gap: 6px;
    max-width: 360px;
    padding: 18px 20px;
    border: 1px dashed rgba(var(--cyan-rgb), 0.32);
    border-radius: 8px;
    background: rgba(var(--bg-rgb), 0.58);
}

.blueprint-empty-canvas strong {
    color: var(--silver);
    font-size: 15px;
}

.blueprint-empty-canvas span {
    color: var(--muted);
    font-size: 13px;
}

.blueprint-inspector-tabs {
    display: flex;
    gap: 14px;
    padding: 13px 14px 0;
    border-bottom: 1px solid var(--border);
}

.blueprint-inspector-tabs span,
.blueprint-inspector-tabs a {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 32px;
    border-bottom: 2px solid transparent;
    color: var(--muted);
    font-size: 12px;
    font-weight: 850;
}

.blueprint-inspector-tabs .is-active {
    border-bottom-color: var(--silver);
    color: var(--silver);
}

.blueprint-inspector-tabs strong {
    display: grid;
    place-items: center;
    min-width: 20px;
    height: 20px;
    border-radius: 999px;
    background: var(--surface-soft);
    color: var(--muted);
    font-size: 11px;
}

.blueprint-inspector-body {
    flex: 1 1 auto;
    min-height: 0;
    overflow-y: auto;
    padding: 16px 14px;
    color: var(--muted);
    font-size: 13px;
    line-height: 1.45;
}

.blueprint-inspector-body h3 {
    margin: 0 0 12px;
    color: var(--silver);
    font-size: 16px;
}

.blueprint-inspector-body dl {
    display: grid;
    gap: 12px;
    margin: 14px 0 0;
}

.blueprint-inspector-body dl div {
    display: grid;
    gap: 3px;
}

.blueprint-inspector-body dt {
    color: var(--muted);
    font-size: 10px;
    font-weight: 900;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}

.blueprint-inspector-body dd {
    margin: 0;
    color: var(--text);
    font-size: 13px;
    font-weight: 750;
}

.blueprint-inspector-badges {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin: -3px 0 14px;
}

.blueprint-inspector-badges span {
    display: inline-flex;
    align-items: center;
    min-height: 24px;
    padding: 4px 8px;
    border: 1px solid rgba(var(--cyan-rgb), 0.28);
    border-radius: 999px;
    background: rgba(var(--cyan-rgb), 0.08);
    color: var(--silver);
    font-size: 11px;
    font-weight: 850;
}

.blueprint-inspector-actions {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(120px, 1fr));
    gap: 8px;
    margin-top: 16px;
}

.blueprint-inspector-actions .secondary-button {
    justify-content: center;
    min-height: 36px;
    padding: 8px 9px;
    font-size: 12px;
    white-space: normal;
}

.blueprint-inspector-actions .danger-action {
    border-color: rgba(239, 68, 68, 0.36);
    color: #fecaca;
}

.blueprint-node-menu {
    position: fixed;
    z-index: 80;
    display: grid;
    min-width: 190px;
    padding: 6px;
    border: 1px solid var(--border-strong);
    border-radius: 8px;
    background: var(--surface-strong);
    box-shadow: var(--shadow);
}

.blueprint-node-menu button,
.blueprint-node-menu a {
    display: flex;
    align-items: center;
    min-height: 34px;
    padding: 8px 10px;
    border: 0;
    border-radius: 7px;
    background: transparent;
    color: var(--text);
    cursor: pointer;
    font: inherit;
    font-size: 12px;
    font-weight: 800;
    text-align: left;
}

.blueprint-node-menu button:hover,
.blueprint-node-menu button:focus-visible,
.blueprint-node-menu a:hover,
.blueprint-node-menu a:focus-visible {
    background: var(--cyan-soft);
    color: var(--cyan);
    outline: none;
}

.blueprint-node-menu .danger-action {
    color: #fca5a5;
}

.blueprint-node-menu .danger-action:hover,
.blueprint-node-menu .danger-action:focus-visible {
    background: rgba(239, 68, 68, 0.16);
    color: #fecaca;
}

.blueprint-context-dialog {
    width: min(1120px, calc(100vw - 36px));
    max-height: min(760px, calc(100vh - 36px));
    padding: 0;
    border: 1px solid var(--border-strong);
    border-radius: 10px;
    background: var(--surface);
    color: var(--text);
    box-shadow: var(--shadow);
}

.blueprint-context-dialog::backdrop {
    background: rgba(2, 6, 23, 0.72);
}

.blueprint-dialog-header {
    display: flex;
    justify-content: space-between;
    gap: 16px;
    align-items: center;
    padding: 18px 20px;
    border-bottom: 1px solid var(--border);
    background: var(--surface-strong);
}

.blueprint-dialog-header h2 {
    margin: 2px 0 0;
    font-size: 22px;
}

.blueprint-dialog-grid {
    display: grid;
    grid-template-columns: minmax(320px, 0.9fr) minmax(420px, 1.1fr);
    gap: 20px;
    padding: 20px;
    overflow: auto;
}

.blueprint-dialog-grid h3 {
    margin: 0 0 12px;
    color: var(--silver);
    font-size: 15px;
}

.blueprint-dialog-form {
    grid-template-columns: repeat(2, minmax(0, 1fr));
}

.blueprint-dialog-table {
    margin-top: 16px;
    max-height: 260px;
    overflow: auto;
}

.blueprint-index-table {
    table-layout: fixed;
}

.blueprint-index-table .blueprint-index-description-col { width: 46%; }
.blueprint-index-table .blueprint-index-status-col { width: 7%; }
.blueprint-index-table .blueprint-index-owner-col { width: 10%; }
.blueprint-index-table .blueprint-index-system-col { width: 12%; }
.blueprint-index-table .blueprint-index-inventory-col { width: 10%; }
.blueprint-index-table .blueprint-index-updated-col { width: 7%; }
.blueprint-index-table .blueprint-index-actions-col { width: 8%; }

.blueprint-index-table th,
.blueprint-index-table td {
    word-break: normal;
    overflow-wrap: normal;
}

.blueprint-index-status,
.blueprint-index-updated,
.blueprint-index-actions {
    white-space: nowrap;
}

.blueprint-index-status .status-pill {
    white-space: nowrap;
}

.blueprint-support-header {
    margin: 22px 0 12px;
    padding: 0 2px;
}

.blueprint-support-header h2 {
    margin: 0;
    color: var(--silver);
    font-size: 18px;
    line-height: 1.2;
}

.blueprint-support-header p {
    margin: 4px 0 0;
    color: var(--muted);
    font-size: 13px;
}

.threat-blueprint-threats {
    display: grid;
    gap: 14px;
    margin-top: 18px;
}

.threat-card {
    border-left: 5px solid var(--cyan);
}

.threat-severity-critical,
.threat-severity-high {
    border-left-color: #ef4444;
}

.threat-severity-medium {
    border-left-color: #f59e0b;
}

.threat-severity-low,
.threat-severity-info {
    border-left-color: #22c55e;
}

.threat-card-main {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(220px, 320px);
    gap: 18px;
}

.threat-card-workflow {
    display: grid;
    grid-template-columns: minmax(0, 1fr) 156px;
    align-items: start;
    gap: 14px;
    margin-top: 12px;
}

.threat-status-form {
    display: grid;
    grid-template-columns: 1fr;
    gap: 9px;
    margin: 0;
}

.threat-status-form input,
.threat-status-form select {
    width: 100%;
    min-width: 0;
}

.threat-status-form .secondary-button,
.threat-followup-actions .secondary-button {
    min-height: 36px;
    width: 100%;
    white-space: nowrap;
}

.threat-followup-actions {
    display: grid;
    grid-template-columns: 1fr;
    justify-content: flex-start;
    align-items: stretch;
    gap: 9px;
    padding-top: 0;
}

.threat-followup-actions .inline-action-form {
    display: block;
    margin: 0;
}

.threat-card-meta,
.mitigation-panel {
    display: grid;
    gap: 6px;
    border-radius: 8px;
    background: rgba(148, 163, 184, 0.08);
    padding: 12px;
}

.blueprint-remediation-register {
    position: relative;
    overflow: hidden;
    border-color: rgba(var(--cyan-rgb), 0.28);
}

.blueprint-remediation-list {
    display: grid;
    gap: 12px;
    min-width: 0;
}

.blueprint-remediation-row {
    display: grid;
    grid-template-columns: minmax(220px, 1.1fr) minmax(170px, 0.78fr) minmax(260px, 1.45fr) minmax(180px, 0.72fr);
    gap: 16px;
    min-width: 0;
    padding: 16px;
    border: 1px solid var(--border);
    border-left: 4px solid var(--cyan);
    border-radius: 9px;
    background: linear-gradient(110deg, rgba(var(--cyan-rgb), 0.055), var(--surface-soft) 34%);
}

.blueprint-remediation-row.is-missing {
    border-left-color: var(--severity-medium-border);
    background: linear-gradient(110deg, var(--severity-medium-bg), var(--surface-soft) 34%);
}

.blueprint-remediation-finding,
.blueprint-remediation-scope,
.blueprint-remediation-plan {
    display: grid;
    align-content: start;
    gap: 8px;
    min-width: 0;
}

.blueprint-remediation-badges {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 7px;
}

.blueprint-remediation-finding h3 {
    margin: 0;
    color: var(--silver);
    font-size: 0.94rem;
    line-height: 1.4;
    overflow-wrap: anywhere;
}

.blueprint-remediation-finding-link {
    width: fit-content;
    color: var(--cyan);
    font-size: 0.75rem;
    font-weight: 900;
    text-decoration: none;
}

.blueprint-remediation-finding-link:hover,
.blueprint-remediation-finding-link:focus-visible {
    text-decoration: underline;
}

.blueprint-remediation-label,
.blueprint-remediation-delivery dt {
    color: var(--muted);
    font-size: 0.66rem;
    font-weight: 950;
    letter-spacing: 0.035em;
    text-transform: uppercase;
}

.blueprint-remediation-scope > span:not(.blueprint-remediation-label) {
    min-width: 0;
    color: var(--text);
    font-size: 0.8rem;
    line-height: 1.45;
    overflow-wrap: anywhere;
}

.blueprint-remediation-scope strong {
    display: block;
    margin-bottom: 2px;
    color: var(--soft);
    font-size: 0.66rem;
    letter-spacing: 0.025em;
    text-transform: uppercase;
}

.blueprint-remediation-plan p {
    min-width: 0;
    margin: 0;
    color: var(--text);
    font-size: 0.82rem;
    line-height: 1.55;
    overflow-wrap: anywhere;
}

.blueprint-remediation-missing {
    display: grid;
    gap: 3px;
    padding: 10px 11px;
    border: 1px dashed var(--severity-medium-border);
    border-radius: 7px;
    background: var(--severity-medium-bg);
    color: var(--severity-medium-text);
    font-size: 0.78rem;
    line-height: 1.45;
}

.blueprint-remediation-delivery {
    display: grid;
    align-content: start;
    gap: 9px;
    min-width: 0;
    margin: 0;
}

.blueprint-remediation-delivery > div {
    display: grid;
    grid-template-columns: 62px minmax(0, 1fr);
    gap: 8px;
    min-width: 0;
    padding-bottom: 7px;
    border-bottom: 1px solid var(--border);
}

.blueprint-remediation-delivery > div:last-child {
    padding-bottom: 0;
    border-bottom: 0;
}

.blueprint-remediation-delivery dd {
    min-width: 0;
    margin: 0;
    color: var(--text);
    font-size: 0.78rem;
    font-weight: 800;
    line-height: 1.4;
    overflow-wrap: anywhere;
}

.blueprint-remediation-row .remediation-status-mitigated {
    border-color: var(--severity-low-border);
    background: var(--severity-low-bg);
    color: var(--severity-low-text);
}

.blueprint-remediation-row .remediation-status-in_progress,
.blueprint-remediation-row .remediation-status-planned {
    border-color: var(--severity-medium-border);
    background: var(--severity-medium-bg);
    color: var(--severity-medium-text);
}

.blueprint-remediation-empty {
    display: grid;
    gap: 5px;
    padding: 22px;
    border: 1px dashed var(--border-strong);
    border-radius: 9px;
    background: var(--surface-soft);
    text-align: center;
}

.blueprint-remediation-empty p {
    margin: 0;
    color: var(--muted);
}

.inline-filter {
    display: flex;
    flex-wrap: wrap;
    gap: 10px;
    align-items: center;
}

.table-primary-link {
    color: var(--cyan);
    font-weight: 800;
}

.muted-text {
    color: var(--muted);
    font-size: 0.88rem;
}

.blueprint-component-flows {
    margin-top: 22px;
    padding-top: 18px;
    border-top: 1px solid var(--border);
}

.blueprint-component-flows .section-header {
    margin-bottom: 12px;
}

.blueprint-path-analysis {
    position: relative;
    overflow: hidden;
    border-color: rgba(var(--cyan-rgb), 0.34);
    background:
        radial-gradient(circle at 92% 0%, rgba(var(--cyan-rgb), 0.13), transparent 34%),
        var(--surface);
}

.blueprint-path-analysis::before {
    position: absolute;
    inset: 0 auto auto 0;
    width: 100%;
    height: 3px;
    background: linear-gradient(90deg, var(--cyan), rgba(var(--cyan-rgb), 0.08));
    content: "";
}

.blueprint-path-analysis-header {
    align-items: flex-end;
    gap: 18px;
}

.blueprint-path-analysis-header > div {
    min-width: 0;
}

.blueprint-path-analysis-header form {
    flex: 0 0 auto;
    margin: 0;
}

.blueprint-path-analysis-form {
    display: flex;
    align-items: flex-end;
    justify-content: flex-end;
    gap: 9px;
}

.blueprint-path-analysis-form details {
    position: relative;
}

.blueprint-path-analysis-form summary {
    min-height: 42px;
    padding: 11px 13px;
    border: 1px solid var(--border-strong);
    border-radius: 8px;
    background: var(--surface-soft);
    color: var(--soft);
    cursor: pointer;
    font-size: 0.78rem;
    font-weight: 850;
    list-style-position: inside;
    white-space: nowrap;
}

.blueprint-path-limit-fields {
    position: absolute;
    z-index: 20;
    top: calc(100% + 7px);
    right: 0;
    display: grid;
    grid-template-columns: repeat(3, minmax(110px, 1fr));
    gap: 8px;
    width: min(440px, calc(100vw - 48px));
    padding: 11px;
    border: 1px solid var(--border-strong);
    border-radius: 9px;
    background: var(--surface-strong);
    box-shadow: var(--shadow);
}

.blueprint-path-limit-fields label {
    display: grid;
    gap: 5px;
    min-width: 0;
}

.blueprint-path-limit-fields span {
    color: var(--muted);
    font-size: 0.66rem;
    font-weight: 900;
    text-transform: uppercase;
}

.blueprint-path-limit-fields input {
    width: 100%;
    min-width: 0;
    padding: 8px 9px;
    border: 1px solid var(--border);
    border-radius: 7px;
    background: var(--surface);
    color: var(--text);
    font: inherit;
}

.blueprint-path-analysis-header .primary-button {
    min-height: 42px;
    white-space: nowrap;
}

.blueprint-path-analysis-body {
    display: grid;
    gap: 16px;
    min-width: 0;
}

.blueprint-path-run-meta,
.blueprint-path-badges,
.blueprint-path-factors,
.blueprint-path-chain {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 8px;
    min-width: 0;
}

.blueprint-path-run-meta {
    color: var(--muted);
    font-size: 0.8rem;
}

.blueprint-path-coverage {
    display: grid;
    grid-template-columns: repeat(5, minmax(112px, 1fr));
    gap: 10px;
    margin: 0;
}

.blueprint-path-coverage > div {
    display: grid;
    gap: 6px;
    min-width: 0;
    padding: 13px 14px;
    border: 1px solid rgba(var(--cyan-rgb), 0.24);
    border-radius: 8px;
    background: rgba(var(--cyan-rgb), 0.07);
}

.blueprint-path-coverage dt {
    color: var(--muted);
    font-size: 0.68rem;
    font-weight: 900;
    line-height: 1.3;
    text-transform: uppercase;
}

.blueprint-path-coverage dd {
    margin: 0;
    color: var(--silver);
    font-size: 1.55rem;
    font-weight: 950;
    line-height: 1;
}

.blueprint-path-notice {
    display: flex;
    flex-wrap: wrap;
    gap: 6px 10px;
    padding: 11px 13px;
    border: 1px solid var(--severity-medium-border);
    border-radius: 8px;
    background: var(--severity-medium-bg);
    color: var(--severity-medium-text);
    line-height: 1.45;
}

.blueprint-path-notice strong {
    white-space: nowrap;
}

.blueprint-path-notice span {
    min-width: 0;
    overflow-wrap: anywhere;
}

.blueprint-path-stale {
    border-color: var(--severity-critical-border);
    background: var(--severity-critical-bg);
    color: var(--severity-critical-text);
}

.blueprint-path-candidate-list {
    display: grid;
    gap: 12px;
    min-width: 0;
}

.blueprint-path-candidate {
    display: grid;
    gap: 13px;
    min-width: 0;
    padding: 16px;
    border: 1px solid var(--border);
    border-left: 4px solid var(--severity-neutral-border);
    border-radius: 8px;
    background: linear-gradient(110deg, var(--severity-neutral-bg), var(--surface-soft) 32%);
}

.blueprint-path-candidate.blueprint-path-severity-critical {
    border-left-color: var(--severity-critical-border);
    background: linear-gradient(110deg, var(--severity-critical-bg), var(--surface-soft) 32%);
}

.blueprint-path-candidate.blueprint-path-severity-high {
    border-left-color: var(--severity-high-border);
    background: linear-gradient(110deg, var(--severity-high-bg), var(--surface-soft) 32%);
}

.blueprint-path-candidate:is(.blueprint-path-severity-medium, .blueprint-path-severity-med) {
    border-left-color: var(--severity-medium-border);
    background: linear-gradient(110deg, var(--severity-medium-bg), var(--surface-soft) 32%);
}

.blueprint-path-candidate.blueprint-path-severity-low {
    border-left-color: var(--severity-low-border);
    background: linear-gradient(110deg, var(--severity-low-bg), var(--surface-soft) 32%);
}

.blueprint-path-candidate-header {
    display: flex;
    align-items: flex-start;
    justify-content: space-between;
    gap: 14px;
    min-width: 0;
}

.blueprint-path-candidate-title {
    display: grid;
    gap: 8px;
    min-width: 0;
}

.blueprint-path-candidate h3 {
    margin: 0;
    color: var(--silver);
    font-size: 1rem;
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.blueprint-path-rank {
    flex: 0 0 auto;
    color: var(--soft);
    font-size: 1.2rem;
    font-weight: 950;
}

.blueprint-path-chain {
    align-items: stretch;
    padding: 11px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: rgba(var(--bg-rgb), 0.35);
}

.blueprint-path-component {
    display: inline-flex;
    align-items: center;
    min-width: 0;
    max-width: 100%;
    padding: 7px 9px;
    border: 1px solid rgba(var(--cyan-rgb), 0.35);
    border-radius: 7px;
    background: var(--surface-strong);
    color: var(--silver);
    font-size: 0.78rem;
    font-weight: 850;
    overflow-wrap: anywhere;
}

.blueprint-path-arrow {
    align-self: center;
    color: var(--cyan);
    font-weight: 950;
}

.blueprint-path-rationale {
    min-width: 0;
    margin: 0;
    color: var(--text);
    line-height: 1.55;
    overflow-wrap: anywhere;
}

.blueprint-path-factors span {
    max-width: 100%;
    padding: 5px 8px;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: var(--surface-soft);
    color: var(--muted);
    font-size: 0.72rem;
    font-weight: 800;
    overflow-wrap: anywhere;
}

.blueprint-path-review-form {
    display: grid;
    grid-template-columns: minmax(160px, 0.55fr) minmax(280px, 1.8fr) auto;
    align-items: end;
    gap: 10px;
    min-width: 0;
    padding-top: 12px;
    border-top: 1px solid var(--border);
}

.blueprint-path-review-form label {
    display: grid;
    gap: 6px;
    min-width: 0;
}

.blueprint-path-accepted-state {
    display: grid;
    align-content: center;
    gap: 6px;
    min-width: 0;
    min-height: 40px;
    padding: 8px 10px;
    border: 1px solid rgba(var(--cyan-rgb), 0.35);
    border-radius: 8px;
    background: rgba(var(--cyan-rgb), 0.08);
}

.blueprint-path-accepted-state span {
    color: var(--muted);
    font-size: 0.68rem;
    font-weight: 900;
    text-transform: uppercase;
}

.blueprint-path-accepted-state strong {
    color: var(--cyan);
    font-size: 0.8rem;
    overflow-wrap: anywhere;
}

.blueprint-path-review-form label > span {
    color: var(--muted);
    font-size: 0.68rem;
    font-weight: 900;
    text-transform: uppercase;
}

.blueprint-path-review-form select,
.blueprint-path-review-form textarea {
    width: 100%;
    min-width: 0;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-strong);
    color: var(--text);
    padding: 9px 11px;
    font: inherit;
    font-size: 0.82rem;
}

.blueprint-path-review-form textarea {
    min-height: 40px;
    resize: vertical;
}

.blueprint-path-review-form .secondary-button {
    min-height: 40px;
    white-space: nowrap;
}

.blueprint-path-empty {
    display: grid;
    gap: 5px;
    padding: 18px;
    border: 1px dashed var(--border-strong);
    border-radius: 8px;
    background: var(--surface-soft);
    text-align: center;
}

.blueprint-path-empty strong {
    color: var(--silver);
}

.blueprint-path-empty p {
    margin: 0;
    color: var(--muted);
}

@media (max-width: 980px) {
    .blueprint-workspace-header {
        position: static;
        grid-template-columns: 1fr;
    }

    .threat-blueprint-page .topbar {
        grid-template-columns: 1fr;
    }

    .threat-blueprint-page .top-actions {
        grid-column: 1;
        justify-content: flex-start;
    }

    .threat-blueprint-page .brand {
        max-width: 100%;
    }

    .blueprint-header-metrics {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        min-width: 0;
    }

    .blueprint-workspace-menu,
    .blueprint-workspace-actions {
        grid-column: 1 / -1;
        justify-content: flex-start;
    }

    .blueprint-designer-shell {
        grid-template-columns: 1fr;
        grid-template-rows: 640px auto auto;
        min-height: 0;
        height: auto;
    }

    .blueprint-library-panel,
    .blueprint-inspector-panel {
        grid-column: auto;
        grid-row: auto;
        max-height: 360px;
        border-left: 0;
        border-right: 0;
    }

    .blueprint-library-panel {
        grid-row: 2;
        border-right: 0;
        border-bottom: 1px solid var(--border);
    }

    .blueprint-inspector-panel {
        grid-row: 3;
        border-top: 1px solid var(--border);
    }

    .blueprint-palette {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        max-height: none;
    }

    .blueprint-canvas-stage {
        grid-column: auto;
        grid-row: auto;
    }

    .threat-blueprint-canvas {
        height: 640px;
        min-height: 640px;
    }

    .blueprint-context-dialog {
        width: calc(100vw - 20px);
        max-height: calc(100vh - 20px);
    }

    .blueprint-dialog-header {
        align-items: flex-start;
        flex-direction: column;
    }

    .blueprint-dialog-grid,
    .blueprint-dialog-form {
        grid-template-columns: 1fr;
    }

    .threat-blueprint-form,
    .threat-blueprint-summary,
    .two-column-workbench,
    .threat-card-workflow,
    .threat-status-form,
    .threat-card-main {
        grid-template-columns: 1fr;
    }

    .blueprint-remediation-row {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .span-2,
    .span-3 {
        grid-column: auto;
    }

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

    .blueprint-path-review-form {
        grid-template-columns: 1fr;
    }

    .blueprint-path-review-form .secondary-button {
        width: 100%;
    }
}

@media (max-width: 620px) {
    .blueprint-remediation-row {
        grid-template-columns: 1fr;
    }

    .blueprint-path-analysis-header,
    .blueprint-path-candidate-header {
        align-items: stretch;
        flex-direction: column;
    }

    .blueprint-path-analysis-header form,
    .blueprint-path-analysis-header .primary-button {
        width: 100%;
    }

    .blueprint-path-analysis-form {
        align-items: stretch;
        flex-direction: column;
    }

    .blueprint-path-analysis-form details,
    .blueprint-path-analysis-form summary {
        width: 100%;
    }

    .blueprint-path-limit-fields {
        position: static;
        grid-template-columns: 1fr;
        width: 100%;
        margin-top: 7px;
    }

    .blueprint-path-coverage {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .blueprint-path-chain {
        align-items: flex-start;
        flex-direction: column;
    }

    .blueprint-path-arrow {
        margin-left: 12px;
        transform: rotate(90deg);
    }
}

/* Final cascade layer for platform workflow UX resilience. */
.workflow-top-actions .back-link {
    display: inline-flex;
}

.workflow-step-strip a,
.workflow-step-strip span,
.dashboard-view-tabs button {
    min-width: 0;
    max-width: 100%;
    white-space: normal;
    overflow-wrap: anywhere;
}

.pill,
.status-pill,
.threat-severity-badge,
.library-review-flag,
.candidate-label {
    max-width: 100%;
    min-width: 0;
    white-space: normal;
    overflow-wrap: anywhere;
}

.section-header,
.compact-section-header,
.collapsible-summary,
.dashboard-source-header,
.section-actions,
.candidate-actions,
.form-actions,
.top-actions,
.billing-month-form,
.threat-library-source-row,
.library-result-summary,
.pagination-bar,
.ttp-toolbar {
    flex-wrap: wrap;
}

/* Topbar guard: page shortcuts may shrink, but account controls should not wrap on desktop. */
.topbar .top-actions {
    flex-wrap: nowrap;
    overflow: visible;
    min-width: 0;
}

.topbar .back-link,
.topbar .status-pill {
    min-width: 0;
    max-width: 150px;
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}

.topbar .top-find-form {
    flex: 1 1 260px;
    width: clamp(220px, 24vw, 360px);
    min-width: 180px;
    max-width: 360px;
}

.topbar .top-account-menu,
.topbar .top-settings-menu,
.topbar .top-help-menu,
.topbar .theme-toggle-button {
    flex: 0 0 auto;
}

.topbar .top-account-menu summary span:last-child {
    display: inline-block;
    max-width: 150px;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.workflow-header-side,
.workflow-header-actions {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    gap: 10px;
    min-width: 0;
}

.workflow-header-side {
    flex-direction: column;
    align-items: stretch;
}

.workflow-header-actions {
    flex-wrap: wrap;
}

.workflow-header-actions > form {
    display: flex;
    align-items: center;
    margin: 0;
}

.workflow-header-actions > .primary-link,
.workflow-header-actions > .secondary-button,
.workflow-header-actions > button,
.workflow-header-actions > form > button {
    min-height: 42px;
    padding: 9px 14px;
    font-size: 13px;
    line-height: 1.2;
    white-space: nowrap;
    overflow-wrap: normal;
}

/* Intelligence Library: keep discovery controls compact without changing shared forms. */
.cti-library-header {
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: center;
    gap: 14px;
    margin-bottom: 14px;
    padding: 8px 18px;
}

.cti-library-header h1 {
    margin: 2px 0 4px;
    font-size: clamp(1.7rem, 2vw, 2.2rem);
}

.cti-library-filter-panel {
    padding: 14px 16px;
}

.cti-library-filter-grid {
    display: grid;
    grid-template-columns: repeat(12, minmax(0, 1fr));
    align-items: end;
    gap: 12px;
}

.cti-library-filter-grid label {
    display: grid;
    gap: 5px;
    min-width: 0;
}

.cti-library-filter-grid input,
.cti-library-filter-grid select {
    width: 100%;
    min-width: 0;
}

.cti-filter-search { grid-column: span 4; }
.cti-filter-source { grid-column: span 3; }
.cti-filter-type { grid-column: span 3; }
.cti-filter-confidence { grid-column: span 2; }
.cti-filter-attack { grid-column: span 2; }
.cti-filter-tag { grid-column: span 4; }
.cti-filter-status { grid-column: span 3; }
.cti-filter-page-size { grid-column: span 1; }
.cti-filter-actions { grid-column: span 2; }

.cti-filter-actions button {
    width: 100%;
}

.cti-pagination {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
    padding: 14px 0 2px;
}

.cti-repository-table th,
.cti-repository-table td {
    overflow-wrap: normal;
    word-break: normal;
}

.cti-repository-table th,
.cti-repository-table td:nth-child(n + 3) {
    white-space: nowrap;
}

.cti-repository-table th:first-child,
.cti-repository-table td:first-child {
    width: 4.25rem;
    min-width: 4.25rem;
    text-align: center;
}

.cti-repository-table td:nth-child(2) {
    min-width: 18rem;
}

.cti-repository-table th:nth-child(7),
.cti-repository-table td:nth-child(7) {
    width: 18%;
    min-width: 11rem;
    max-width: 18rem;
    white-space: normal;
}

.cti-repository-table th:last-child,
.cti-repository-table td:last-child {
    width: 8.5rem;
    min-width: 8.5rem;
}

.cti-attack-pill-group {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 4px;
    min-width: 0;
    max-width: 100%;
}

.cti-attack-pill-group .pill {
    flex: 0 0 auto;
    min-height: 26px;
    padding: 4px 8px;
    font-size: 0.68rem;
    white-space: nowrap;
}

.cti-repository-table input[type="checkbox"] {
    display: inline-block;
    width: 1rem;
    min-width: 1rem;
    height: 1rem;
    margin: 0;
    vertical-align: middle;
}

.cti-detail-page,
.cti-detail-page > * {
    min-width: 0;
}

.cti-detail-hero {
    align-items: center;
}

.cti-detail-hero-copy {
    min-width: 0;
}

.cti-detail-primary-value {
    display: grid;
    gap: 4px;
    max-width: 100%;
    margin-top: 10px;
    padding: 10px 12px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface-soft);
}

.cti-detail-primary-value span,
.cti-detail-meta-grid span {
    color: var(--muted);
    font-size: 0.72rem;
    font-weight: 900;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}

.cti-detail-primary-value code {
    display: block;
    max-width: 100%;
    overflow: hidden;
    color: var(--text);
    font-size: 0.95rem;
    line-height: 1.45;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cti-detail-hero-meta,
.cti-tag-list {
    display: flex;
    flex-wrap: wrap;
    gap: 7px;
    margin-top: 10px;
}

.cti-detail-actions {
    align-items: center;
}

.cti-detail-actions form {
    margin: 0;
}

.cti-detail-overview-grid {
    display: grid;
    grid-template-columns: minmax(0, 3fr) minmax(230px, 1fr);
    gap: 16px;
    padding: 16px;
}

.cti-detail-summary-card,
.cti-detail-review-card,
.cti-detail-list-card {
    min-width: 0;
    padding: 16px;
    border: 1px solid var(--border);
    border-radius: 9px;
    background: var(--surface-soft);
}

.cti-detail-summary-card h3,
.cti-detail-review-card h3,
.cti-detail-list-card h3,
.cti-detail-tags h3 {
    margin: 0 0 10px;
}

.cti-detail-summary-card > p,
.cti-detail-review-card p {
    margin: 0 0 14px;
    color: var(--muted);
    line-height: 1.55;
}

.cti-detail-meta-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 10px;
}

.cti-detail-meta-grid > div {
    display: grid;
    align-content: start;
    gap: 5px;
    min-width: 0;
    min-height: 82px;
    padding: 11px;
    border: 1px solid var(--border);
    border-radius: 7px;
    background: var(--surface);
}

.cti-detail-meta-grid strong,
.cti-detail-meta-grid code,
.cti-detail-meta-grid small {
    min-width: 0;
    overflow: hidden;
    color: var(--text);
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cti-detail-meta-grid small {
    color: var(--muted);
}

.cti-source-link {
    margin-top: 14px;
}

.cti-detail-review-card {
    align-self: stretch;
}

.cti-detail-review-card .pill {
    margin-bottom: 12px;
}

.cti-detail-tags {
    padding: 0 16px 16px;
}

.cti-tag-list {
    margin-top: 0;
}

.cti-detail-evidence-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 16px;
    padding: 16px;
}

.cti-value-list {
    display: grid;
    gap: 8px;
}

.cti-value-list > div {
    display: flex;
    align-items: center;
    gap: 9px;
    min-width: 0;
    padding: 9px 0;
    border-top: 1px solid var(--border);
}

.cti-value-list > div:first-child {
    border-top: 0;
}

.cti-value-list code,
.cti-value-list > div > span:last-child {
    min-width: 0;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cti-relationship-table th,
.cti-relationship-table td {
    word-break: normal;
}

.cti-relationship-table th:nth-child(2),
.cti-relationship-table th:nth-child(4),
.cti-relationship-table td:nth-child(2),
.cti-relationship-table td:nth-child(4) {
    white-space: nowrap;
}

.cti-relationship-table td:first-child,
.cti-relationship-table td:nth-child(3) {
    max-width: 24rem;
}

.cti-relationship-table td:first-child a,
.cti-relationship-table td:nth-child(3) a,
.cti-relationship-table td:first-child span,
.cti-relationship-table td:nth-child(3) span {
    display: block;
    overflow: hidden;
    text-overflow: ellipsis;
    white-space: nowrap;
}

.cti-raw-data-panel summary {
    cursor: pointer;
    font-weight: 900;
}

.cti-raw-data-panel details[open] summary {
    margin-bottom: 14px;
}

.cti-graph-controls {
    display: grid;
    grid-template-columns: repeat(5, minmax(110px, 1fr)) minmax(165px, auto) auto auto;
    gap: 10px;
    align-items: end;
    margin: 0 16px;
}

.cti-graph-controls label { display: grid; gap: 4px; min-width: 0; }
.cti-graph-controls input { width: 100%; min-width: 0; }
.cti-graph-controls .compact-check {
    display: flex;
    align-items: center;
    justify-content: center;
    gap: 7px;
    min-height: 42px;
    white-space: nowrap;
}
.cti-graph-controls .compact-check input[type="checkbox"] {
    width: 1rem;
    min-width: 1rem;
    height: 1rem;
    margin: 0;
}
.cti-graph-controls > button {
    width: 88px;
    min-width: 88px;
    height: 42px;
    min-height: 42px;
    padding: 0 14px;
}
.cti-graph-toolbar { display: flex; gap: 8px; flex-wrap: wrap; margin: 12px 16px; }
.cti-graph-toolbar button { min-height: 34px; }
.cti-graph-toolbar .cti-graph-attack-path-action { margin-left: auto; }
.cti-graph-stage { width: auto; height: 460px; min-width: 0; margin: 0 16px; overflow: auto; overscroll-behavior: contain; border: 1px solid var(--border); border-radius: 12px; background: var(--surface-soft); }
.cti-graph-stage svg { display: block; min-width: 100%; min-height: 100%; }
.cti-graph-stage.is-pan-mode { cursor: grab; }
.cti-graph-stage.is-panning { cursor: grabbing; user-select: none; }
.cti-graph-edge { stroke: var(--graph-observed, var(--cyan-strong)); stroke-width: 2; }
.cti-edge-type-contains { stroke: var(--border-strong); stroke-width: 1.25; stroke-dasharray: 3 6; opacity: 0.55; }
.cti-edge-type-mapped-to { stroke: var(--muted); stroke-width: 1.5; opacity: 0.72; }
.cti-edge-contextual { stroke: var(--graph-correlated, var(--warning)); stroke-dasharray: 7 5; }
.cti-edge-inferred { stroke: var(--graph-inferred, var(--muted)); stroke-dasharray: 2 5; }
.cti-graph-edge-label rect { fill: var(--surface-strong); stroke: var(--border-strong); stroke-width: 1; }
.cti-graph-edge-label text { fill: var(--muted); font-size: 11px; font-weight: 800; }
.cti-graph-node { cursor: pointer; }
.cti-graph-node rect { fill: var(--surface-strong); stroke: var(--border-strong); stroke-width: 1.5; }
.cti-graph-node.is-root rect { fill: var(--cyan-soft); stroke: var(--cyan-strong); stroke-width: 2.5; }
.cti-graph-node.is-expanded rect { stroke: var(--warning); }
.cti-graph-node text { pointer-events: none; }
.cti-graph-node-type { fill: var(--muted); font-size: 10px; font-weight: 900; letter-spacing: 0.04em; }
.cti-graph-node-label { fill: var(--text); font-size: 12px; font-weight: 800; }
.cti-graph-node:focus { outline: none; }
.cti-graph-node:focus rect { stroke: var(--warning); stroke-width: 3; }
.cti-relationship-graph:fullscreen { background: var(--bg); padding: 18px; overflow: auto; }
.cti-graph-toolbar output {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 58px;
    min-height: 34px;
    color: var(--muted);
    font-weight: 900;
}
.cti-relationship-graph > .hint,
.cti-relationship-graph > .warning-text {
    margin-right: 16px;
    margin-left: 16px;
}

@media (max-width: 980px) {
    .cti-graph-controls { grid-template-columns: repeat(2, minmax(0, 1fr)); }

    .cti-detail-overview-grid,
    .cti-detail-evidence-grid {
        grid-template-columns: 1fr;
    }

    .cti-detail-meta-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (prefers-reduced-motion: reduce) {
    .cti-relationship-graph * { scroll-behavior: auto !important; transition: none !important; }
}

@media (max-width: 980px) {
    .cti-library-header {
        grid-template-columns: 1fr auto;
    }

    .cti-library-filter-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .cti-library-filter-grid > * {
        grid-column: span 1;
    }

    .cti-filter-search,
    .cti-filter-tag {
        grid-column: span 2;
    }
}

@media (max-width: 620px) {
    .cti-library-header {
        grid-template-columns: 1fr;
        padding: 14px;
    }

    .cti-library-header .workflow-header-actions {
        justify-content: flex-start;
    }

    .cti-library-filter-grid {
        grid-template-columns: 1fr;
    }

    .cti-library-filter-grid > *,
    .cti-filter-search,
    .cti-filter-tag {
        grid-column: span 1;
    }

    .cti-detail-meta-grid {
        grid-template-columns: 1fr;
    }
}

/* Final detection-library hero geometry; kept here to win the shared hero cascade. */
.hero.rule-library-hero {
    grid-template-columns: minmax(0, 1fr);
}

.rule-library-hero > .hero-main {
    display: grid;
    gap: 24px;
    min-width: 0;
}

.rule-library-hero .rule-library-store {
    position: relative;
    z-index: 1;
    display: grid;
    grid-template-columns: repeat(6, minmax(92px, 1fr)) minmax(150px, auto);
    align-items: stretch;
    gap: 10px;
    width: 100%;
    min-width: 0;
    padding: 16px;
    border-color: color-mix(in srgb, var(--border-strong) 75%, var(--cyan) 25%);
    background: color-mix(in srgb, var(--surface-strong) 82%, var(--cyan-soft) 18%);
    box-shadow: none;
    backdrop-filter: none;
}

.rule-library-store .summary-title {
    grid-column: 1 / -1;
    margin: 0 0 2px;
}

.rule-library-store .metric {
    align-items: flex-start;
    flex-direction: column;
    justify-content: center;
    min-width: 0;
    min-height: 62px;
    margin: 0;
    padding: 10px 12px;
}

.rule-library-store .metric-name,
.rule-library-store .metric-value {
    min-width: 0;
    overflow-wrap: normal;
    word-break: normal;
}

.rule-library-store .inline-action-form {
    display: flex;
    align-self: stretch;
    align-items: center;
    justify-content: flex-end;
    width: 100%;
    height: 100%;
    margin-top: 0;
}

.rule-library-store .inline-action-form button {
    width: auto;
    min-width: 140px;
    min-height: 42px;
    height: 42px;
    padding-block: 0;
}

.rule-library-row {
    border-left: 4px solid var(--severity-neutral-border);
    background: linear-gradient(90deg, var(--severity-neutral-bg), var(--surface-soft) 34%);
}

.rule-library-row.severity-critical {
    border-left-color: var(--severity-critical-border);
    background: linear-gradient(90deg, var(--severity-critical-bg), var(--surface-soft) 34%);
}

.rule-library-row.severity-high {
    border-left-color: var(--severity-high-border);
    background: linear-gradient(90deg, var(--severity-high-bg), var(--surface-soft) 34%);
}

.rule-library-row:is(.severity-medium, .severity-med) {
    border-left-color: var(--severity-medium-border);
    background: linear-gradient(90deg, var(--severity-medium-bg), var(--surface-soft) 34%);
}

.rule-library-row.severity-low {
    border-left-color: var(--severity-low-border);
    background: linear-gradient(90deg, var(--severity-low-bg), var(--surface-soft) 34%);
}

@media (max-width: 1500px) {
    .topbar .top-find-form {
        flex-basis: 220px;
        width: clamp(180px, 18vw, 260px);
        min-width: 160px;
        max-width: 260px;
    }

    .topbar .status-pill {
        max-width: 120px;
    }
}

@media (max-width: 1280px) {
    .topbar .top-find-form {
        display: none;
    }

    .topbar .back-link {
        max-width: 96px;
    }

    .topbar .top-account-menu summary span:last-child {
        max-width: 118px;
    }
}

@media (max-width: 1100px) {
    .rule-library-hero .rule-library-store {
        grid-template-columns: repeat(3, minmax(120px, 1fr));
    }

    .rule-library-store .inline-action-form {
        grid-column: 1 / -1;
    }
}

@media (max-width: 860px) {
    .topbar {
        align-items: flex-start;
        flex-direction: column;
    }

    .topbar .top-actions {
        flex-wrap: wrap;
        justify-content: flex-start;
        width: 100%;
    }

    .topbar .top-find-form {
        display: flex;
        max-width: none;
        width: 100%;
    }
}

@media (max-width: 620px) {
    .rule-library-hero .rule-library-store {
        grid-template-columns: repeat(2, minmax(0, 1fr));
        padding: 12px;
    }

    .rule-library-store .summary-title,
    .rule-library-store .inline-action-form {
        grid-column: 1 / -1;
    }
}

.section-header > div,
.section-header h2,
.section-header h3,
.dashboard-card,
.dashboard-source-main,
.dashboard-list-item,
.dashboard-hunt-row,
.dashboard-kev-row,
.kev-row,
.edr-alert-row,
.dashboard-sigma-row,
.ttp-row,
.ttp-main {
    min-width: 0;
}

.section-header h2,
.section-header h3,
.dashboard-source-main strong,
.dashboard-source-main span,
.dashboard-source-main small,
.dashboard-list-item strong,
.dashboard-list-item span,
.dashboard-list-item small,
.dashboard-hunt-row strong,
.dashboard-hunt-row span,
.dashboard-hunt-row small,
.kev-title,
.kev-meta,
.kev-host-detail,
.edr-alert-row strong,
.edr-alert-row span,
.edr-alert-row small,
.dashboard-sigma-row span,
.dashboard-sigma-row small,
.ttp-main span,
.ttp-meta,
.library-card h3,
.daily-brief-card h3 {
    overflow-wrap: anywhere;
}

.dashboard-priority-list {
    max-height: none;
    min-height: 0;
    overflow: visible;
}

/* Tacoma platform design system
   Shared application shell and primitives. Print exports, THaaS, and auth retain
   their purpose-built layouts while inheriting the same color vocabulary. */
:root {
    --bg: #030508;
    --bg-rgb: 3, 5, 8;
    --bg-lift: #070b11;
    --surface: rgba(8, 12, 18, 0.92);
    --surface-strong: rgba(12, 17, 25, 0.98);
    --surface-soft: rgba(148, 163, 184, 0.07);
    --surface-panel: linear-gradient(145deg, rgba(14, 19, 28, 0.98), rgba(6, 9, 14, 0.97));
    --surface-muted: rgba(12, 17, 25, 0.88);
    --sidebar-bg: rgba(3, 5, 8, 0.985);
    --tooltip-bg: rgba(9, 13, 20, 0.995);
    --border: rgba(174, 185, 200, 0.14);
    --border-strong: rgba(56, 189, 248, 0.42);
    --text: #e9eef5;
    --muted: #a2adba;
    --soft: #727e8d;
    --silver: #f4f8fc;
    --cyan: #38d8ff;
    --cyan-rgb: 56, 216, 255;
    --cyan-strong: #0ea5e9;
    --cyan-strong-rgb: 14, 165, 233;
    --cyan-soft: rgba(56, 216, 255, 0.09);
    --accent: #22d3ee;
    --accent-strong: #67e8f9;
    --accent-soft: rgba(34, 211, 238, 0.09);
    --panel: var(--surface-strong);
    --panel-bg: var(--surface-strong);
    --panel-soft: var(--surface-soft);
    --panel-rgb: 12, 17, 25;
    --button-bg: linear-gradient(135deg, #1678b5, #0e7490);
    --success: #4ade80;
    --warning: #fbbf24;
    --warning-bg: rgba(245, 158, 11, 0.1);
    --danger: #fb7185;
    --button-text: #f8fbff;
    --code-bg: #05080d;
    --code-text: #dbeafe;
    --topbar-bg: rgba(5, 8, 13, 0.95);
    --shadow: 0 22px 60px rgba(0, 0, 0, 0.46);
    --shadow-soft: 0 14px 38px rgba(0, 0, 0, 0.32);
    --focus-ring: 0 0 0 3px rgba(34, 211, 238, 0.26);
    --focus-color: #22d3ee;
    --radius-sm: 7px;
    --radius-md: 10px;
    --radius-lg: 12px;
    --graph-observed: #35e0c1;
    --graph-correlated: #ffb020;
    --graph-inferred: #8291a5;
    --chart-cyan: #45e8ff;
    --chart-violet: #b69cff;
    --chart-amber: #ffc247;
    --chart-rose: #ff6f91;
    --chart-emerald: #42e8a4;
    --chart-blue: #69a7ff;
}

html[data-theme="light"] {
    --bg: #eaf0f6;
    --bg-rgb: 234, 240, 246;
    --bg-lift: #dde7f1;
    --surface: rgba(248, 251, 254, 0.94);
    --surface-strong: rgba(239, 245, 250, 0.98);
    --surface-soft: rgba(47, 95, 158, 0.07);
    --surface-panel: linear-gradient(145deg, rgba(251, 253, 255, 0.98), rgba(232, 240, 247, 0.96));
    --surface-muted: rgba(226, 236, 245, 0.9);
    --sidebar-bg: rgba(240, 246, 251, 0.98);
    --tooltip-bg: #f8fbfe;
    --border: rgba(74, 104, 135, 0.24);
    --border-strong: rgba(40, 105, 154, 0.52);
    --text: #15263b;
    --muted: #50647b;
    --soft: #687b90;
    --silver: #0c2038;
    --cyan: #1678b5;
    --cyan-rgb: 22, 120, 181;
    --cyan-strong: #0f6095;
    --cyan-strong-rgb: 15, 96, 149;
    --cyan-soft: rgba(22, 120, 181, 0.1);
    --accent: #087f9c;
    --accent-strong: #075d75;
    --success: #168754;
    --warning: #9a6500;
    --warning-bg: rgba(217, 153, 17, 0.1);
    --danger: #c53950;
    --button-text: #ffffff;
    --code-bg: #eef4f9;
    --code-text: #14263d;
    --topbar-bg: rgba(244, 249, 253, 0.94);
    --shadow: 0 16px 40px rgba(31, 55, 80, 0.12);
    --shadow-soft: 0 10px 28px rgba(31, 55, 80, 0.09);
    --focus-ring: 0 0 0 3px rgba(8, 127, 156, 0.2);
    --focus-color: #087f9c;
    --panel-rgb: 239, 245, 250;
    --graph-observed: #0f766e;
    --graph-correlated: #b45309;
    --graph-inferred: #64748b;
    --chart-cyan: #087f9c;
    --chart-violet: #6d3bb7;
    --chart-amber: #9a6500;
    --chart-rose: #c53950;
    --chart-emerald: #168754;
    --chart-blue: #2766ad;
}

body:not(.report-print-page) {
    background:
        radial-gradient(circle at 7% -14%, rgba(249, 115, 22, 0.055), transparent 26rem),
        radial-gradient(circle at 78% -22%, rgba(var(--cyan-rgb), 0.05), transparent 36rem),
        linear-gradient(180deg, color-mix(in srgb, var(--bg-lift) 82%, transparent) 0, var(--bg) 26rem),
        var(--bg);
    background-attachment: fixed;
}

html[data-theme="light"] body:not(.report-print-page) {
    background:
        radial-gradient(circle at 18% -12%, rgba(var(--cyan-rgb), 0.12), transparent 34rem),
        linear-gradient(180deg, #dce6f0 0, var(--bg) 25rem),
        var(--bg);
}

body:not(.report-print-page) :focus-visible {
    outline-color: var(--accent);
}

body:not(.report-print-page) {
    scrollbar-color: rgba(var(--cyan-rgb), 0.38) transparent;
    scrollbar-width: thin;
}

body:not(.report-print-page) ::selection {
    background: rgba(var(--cyan-rgb), 0.28);
    color: var(--silver);
}

body:not(.report-print-page) ::-webkit-scrollbar {
    width: 10px;
    height: 10px;
}

body:not(.report-print-page) ::-webkit-scrollbar-track {
    background: transparent;
}

body:not(.report-print-page) ::-webkit-scrollbar-thumb {
    border: 2px solid transparent;
    border-radius: 999px;
    background: rgba(var(--cyan-rgb), 0.3);
    background-clip: padding-box;
}

body:not(.report-print-page) ::-webkit-scrollbar-thumb:hover {
    background: rgba(var(--cyan-rgb), 0.48);
    background-clip: padding-box;
}

@media (min-width: 821px) {
    body:not(.report-print-page) .page {
        width: min(1800px, calc(100vw - 268px));
        max-width: none;
        margin-right: 24px;
        margin-left: max(244px, calc((100vw - 1800px + 220px) / 2));
        padding-top: 14px;
    }

    body.sidebar-collapsed:not(.report-print-page) .page {
        width: min(1800px, calc(100vw - 120px));
        max-width: none;
        margin-right: 24px;
        margin-left: max(96px, calc((100vw - 1800px + 72px) / 2));
    }

    body:not(.report-print-page) .threat-blueprint-page.page {
        width: calc(100vw - 248px) !important;
        margin-right: 8px;
        margin-left: 240px;
    }

    body.sidebar-collapsed:not(.report-print-page) .threat-blueprint-page.page {
        width: calc(100vw - 96px) !important;
        margin-left: 88px;
    }
}

.app-sidebar {
    width: 220px;
    padding: 12px 10px 18px;
    border-right-color: rgba(var(--cyan-rgb), 0.16);
    background:
        linear-gradient(180deg, rgba(255, 255, 255, 0.022), transparent 18rem),
        var(--sidebar-bg);
    box-shadow: 14px 0 44px rgba(0, 0, 0, 0.2);
}

.sidebar-toggle {
    border-radius: var(--radius-sm);
    background: var(--surface-strong);
}

.sidebar-group > summary.sidebar-link,
.sidebar-sublink {
    border-radius: var(--radius-sm);
}

.sidebar-group > summary.sidebar-link {
    min-height: 42px;
    color: var(--muted);
    letter-spacing: 0.01em;
}

.sidebar-group[open] > summary.sidebar-link,
.sidebar-link[aria-current="page"] {
    border-color: rgba(var(--cyan-rgb), 0.34);
    background: linear-gradient(90deg, rgba(var(--cyan-rgb), 0.15), rgba(var(--cyan-rgb), 0.04));
    color: var(--silver);
}

.sidebar-sublink[aria-current="page"]::before {
    background: var(--accent);
    box-shadow: 0 0 12px rgba(34, 211, 238, 0.5);
}

.sidebar-icon {
    border-color: rgba(var(--cyan-rgb), 0.14);
    background: rgba(var(--cyan-rgb), 0.07);
}

.topbar {
    top: 8px;
    min-height: 64px;
    margin-bottom: 14px;
    padding: 9px 12px;
    border-color: rgba(174, 185, 200, 0.13);
    border-radius: var(--radius-lg);
    background: linear-gradient(145deg, var(--topbar-bg), rgba(11, 15, 22, 0.92));
    box-shadow: var(--shadow-soft);
}

.topbar .brand::before {
    width: 148px;
    height: 46px;
}

.workflow-breadcrumb-bar {
    margin: 0 0 12px;
    padding: 0 4px;
    color: var(--soft);
    font-size: 0.76rem;
}

.workflow-breadcrumb strong {
    color: var(--muted);
}

.hero,
.workflow-header {
    margin-bottom: 14px;
}

.hero-main,
.compact-workflow-header,
.ti-dashboard-header {
    border-color: rgba(174, 185, 200, 0.15);
    border-radius: var(--radius-lg);
    background:
        radial-gradient(circle at 14% -110%, rgba(var(--cyan-rgb), 0.095), transparent 58%),
        var(--surface-panel);
    box-shadow: var(--shadow);
}

.hero-main {
    padding: 22px 24px;
}

.hero-main::before {
    border-top-color: rgba(var(--cyan-rgb), 0.28);
    background: linear-gradient(110deg, rgba(var(--cyan-rgb), 0.045), transparent 48%);
}

.hero.full-hero .hero-main {
    min-height: 142px;
}

h1,
.compact-workflow-header h1 {
    max-width: 100%;
    color: var(--silver);
    font-size: clamp(1.8rem, 3vw, 2.7rem);
    letter-spacing: -0.025em;
}

.eyebrow,
.workflow-eyebrow,
.workflow-step-kicker {
    color: var(--accent);
    letter-spacing: 0.065em;
}

.hero-copy {
    margin-top: 10px;
    color: var(--muted);
}

.section,
.panel,
.list-panel,
.summary-panel,
.guide-panel,
.builder-panel,
.dashboard-card {
    border-color: var(--border);
    border-radius: var(--radius-lg);
    background: var(--surface-panel);
    box-shadow: var(--shadow-soft);
}

.section-header,
.panel-header,
.list-panel h2 {
    border-bottom-color: var(--border);
    background: linear-gradient(180deg, rgba(var(--cyan-rgb), 0.055), transparent);
}

.section-header,
.panel-header {
    min-height: 54px;
    padding: 13px 16px;
}

.panel-header {
    display: grid;
    gap: 4px;
}

.panel-header:has(> div + .pill),
.panel-header:has(> div + button),
.panel-header:has(> div + .secondary-button),
.panel-header:has(> div + .section-actions) {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 14px;
}

.section-header h2,
.section-header h3,
.panel-header h2,
.list-panel h2 {
    color: var(--silver);
    font-size: 0.94rem;
}

.section-body,
.panel-body,
.summary-body {
    padding: 16px;
}

.metric,
.context-item,
.candidate-card,
.entity-panel,
.dashboard-list-item,
.dashboard-hunt-row,
.dashboard-kev-row,
.edr-alert-row,
.settings-hub a,
.quick-action-card {
    border-color: var(--border);
    border-radius: var(--radius-md);
    background: color-mix(in srgb, var(--surface-strong) 66%, transparent);
}

button,
.primary-link,
.secondary-button,
.back-link,
.status-pill,
.top-account-menu summary,
.top-settings-menu summary,
.top-help-trigger,
.theme-toggle-button,
.top-help-link {
    min-height: 40px;
    border-radius: var(--radius-sm);
    white-space: nowrap;
    overflow-wrap: normal;
}

button,
.primary-link {
    border-color: rgba(34, 211, 238, 0.48);
    background: linear-gradient(135deg, #1678b5, #0e7490);
    box-shadow: 0 10px 24px rgba(8, 145, 178, 0.2);
}

button:hover,
.primary-link:hover {
    border-color: rgba(103, 232, 249, 0.72);
    background: linear-gradient(135deg, #168ac5, #0891b2);
    filter: none;
}

.secondary-button,
.back-link,
.status-pill,
.top-account-menu summary,
.top-settings-menu summary,
.top-help-trigger,
.theme-toggle-button,
.top-help-link {
    border-color: var(--border);
    background: rgba(var(--cyan-rgb), 0.055);
    color: var(--text);
    box-shadow: none;
}

.secondary-button:hover,
.back-link:hover,
.top-account-menu summary:hover,
.top-settings-menu summary:hover,
.top-help-trigger:hover,
.theme-toggle-button:hover,
.top-help-link:hover {
    border-color: var(--border-strong);
    background: rgba(var(--cyan-rgb), 0.12);
    color: var(--silver);
}

.danger-button,
.secondary-button.danger-button {
    border-color: color-mix(in srgb, var(--danger) 58%, transparent) !important;
    background: color-mix(in srgb, var(--danger) 9%, transparent) !important;
    color: var(--danger) !important;
    box-shadow: none;
}

.danger-button:hover,
.danger-button:focus-visible,
.secondary-button.danger-button:hover,
.secondary-button.danger-button:focus-visible {
    border-color: color-mix(in srgb, var(--danger) 78%, transparent) !important;
    background: color-mix(in srgb, var(--danger) 15%, transparent) !important;
    color: color-mix(in srgb, var(--danger) 78%, white) !important;
}

button:focus-visible,
.primary-link:focus-visible,
.secondary-button:focus-visible,
.back-link:focus-visible,
.top-account-menu summary:focus-visible,
.top-settings-menu summary:focus-visible,
.top-help-trigger:focus-visible,
.theme-toggle-button:focus-visible,
.top-help-link:focus-visible {
    outline: none;
    box-shadow: var(--focus-ring);
}

label {
    color: var(--muted);
    font-size: 0.72rem;
    letter-spacing: 0.035em;
}

select,
input,
textarea {
    min-height: 42px;
    border-color: var(--border);
    border-radius: var(--radius-sm);
    background: color-mix(in srgb, var(--bg) 72%, transparent);
    color: var(--text);
}

select:hover,
input:hover,
textarea:hover {
    border-color: var(--border-strong);
}

select:focus,
input:focus,
textarea:focus {
    border-color: var(--accent);
    background: color-mix(in srgb, var(--bg) 88%, transparent);
    box-shadow: var(--focus-ring);
}

input::placeholder,
textarea::placeholder {
    color: var(--soft);
    opacity: 1;
}

input[type="checkbox"],
input[type="radio"] {
    width: 16px;
    min-width: 16px;
    height: 16px;
    min-height: 16px;
    accent-color: var(--accent);
}

.pill,
.status-pill,
.capability-badge,
.threat-severity-badge,
.candidate-label,
.baseline-status {
    border-color: rgba(var(--cyan-rgb), 0.28);
    background: rgba(var(--cyan-rgb), 0.09);
    color: var(--cyan);
}

.admin-table-wrap,
.results-table-wrap,
.table-wrap,
.capability-table-wrap,
.prompt-source-table-wrap,
.lateral-table-wrap {
    border-color: var(--border);
    border-radius: var(--radius-md);
    background: color-mix(in srgb, var(--surface-strong) 56%, transparent);
}

.admin-table,
.results-table,
table {
    font-variant-numeric: tabular-nums;
}

.admin-table th,
.results-table th,
table th {
    border-bottom-color: var(--border);
    background: color-mix(in srgb, var(--surface-strong) 94%, var(--bg));
    color: var(--muted);
    font-size: 0.68rem;
    letter-spacing: 0.045em;
}

.admin-table td,
.results-table td,
table td {
    border-bottom-color: var(--border);
}

.admin-table tbody tr,
.results-table tbody tr,
table tbody tr {
    transition: background 130ms ease, box-shadow 130ms ease;
}

.admin-table tbody tr:hover,
.results-table tbody tr:hover,
table tbody tr:hover {
    background: rgba(var(--cyan-rgb), 0.055);
    box-shadow: inset 2px 0 0 var(--accent);
}

.library-tab-list,
.config-tab-list,
.case-tab-list,
.dashboard-view-tabs {
    gap: 6px;
    padding: 6px;
    border-color: var(--border);
    border-radius: var(--radius-md);
    background: color-mix(in srgb, var(--surface-strong) 68%, transparent);
}

.library-tab,
.config-tab,
.case-tab-list a,
.dashboard-view-tabs button {
    min-height: 38px;
    border-radius: var(--radius-sm);
    background: transparent;
}

.library-tab[aria-selected="true"],
.config-tab.active,
.case-tab-list a[aria-current="page"],
.dashboard-view-tabs button[aria-pressed="true"] {
    border-color: rgba(var(--cyan-rgb), 0.38);
    background: rgba(var(--cyan-rgb), 0.13);
    color: var(--silver);
    box-shadow: inset 0 -2px 0 var(--accent);
}

.empty-state,
.success-state,
.resource-warning,
.warning-banner {
    border-radius: var(--radius-md);
    box-shadow: inset 3px 0 0 currentColor;
}

dialog,
.modal-dialog,
.sigma-rule-dialog,
.schedule-dialog,
.power-enrichment-dialog,
.result-limit-dialog,
.reputation-dialog,
.kev-detail-dialog,
.case-finding-dialog,
.blueprint-context-dialog {
    border: 1px solid var(--border-strong);
    border-radius: var(--radius-lg);
    background: var(--surface-strong);
    color: var(--text);
    box-shadow: 0 28px 90px rgba(0, 0, 0, 0.48);
}

dialog::backdrop {
    background: rgba(2, 8, 18, 0.68);
    backdrop-filter: blur(4px);
}

.top-account-panel,
.top-settings-panel,
.top-help-panel,
.ttp-context-menu,
.analyzer-advanced-filter-grid {
    border-radius: var(--radius-md);
    background: var(--tooltip-bg);
    box-shadow: var(--shadow);
}

.pagination-bar,
.cti-pagination {
    min-height: 48px;
    color: var(--muted);
}

.structured-code-block,
.code-block,
.results-block {
    border-radius: var(--radius-md);
}

.blueprint-node:hover,
.blueprint-node:focus-visible {
    transform: none;
}

:where(a, button, input, select, textarea, summary):focus-visible {
    outline: 2px solid var(--focus-color);
    outline-offset: 2px;
}

.analyzer-navigation a:focus-visible,
.analyzer-graph-node:focus-visible {
    outline: 2px solid var(--focus-color);
    outline-offset: 2px;
}

/* Tacoma graph and analyzer language. Geometry remains owned by each renderer;
   this layer unifies its controls, canvas, hierarchy, contrast, and states. */
.analyzer-graph-shell,
.cti-relationship-graph,
.blueprint-canvas-section,
.timeline-workbench {
    overflow: hidden;
    border-color: rgba(var(--cyan-rgb), 0.22);
    background: var(--surface-panel);
}

.analyzer-graph-controls,
.cti-graph-controls,
.blueprint-canvas-toolbar {
    border-color: var(--border);
    background: color-mix(in srgb, var(--surface-strong) 72%, transparent);
}

.analyzer-graph-controls {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 9px;
    padding: 12px 16px;
}

.analyzer-graph-filter-grid,
.analyzer-graph-toolbar {
    display: flex;
    align-items: end;
    gap: 9px;
    min-width: 0;
}

.analyzer-graph-filter-grid {
    flex-wrap: wrap;
}

.analyzer-graph-toolbar {
    justify-content: flex-end;
    flex-wrap: wrap;
}

.analyzer-graph-filter-grid > label {
    flex: 1 1 138px;
}

.analyzer-graph-filter-grid > .analyzer-control-search {
    flex: 2 1 240px;
}

.analyzer-graph-controls label,
.cti-graph-controls label {
    color: var(--muted);
    font-size: 0.68rem;
    letter-spacing: 0.035em;
    text-transform: uppercase;
}

.analyzer-graph-controls input[type="search"],
.analyzer-graph-controls input[type="number"],
.analyzer-graph-controls input[type="date"],
.analyzer-graph-controls select,
.cti-graph-controls input {
    min-height: 38px;
    background: color-mix(in srgb, var(--bg) 76%, transparent);
}

.analyzer-graph-controls > button,
.cti-graph-controls > button,
.cti-graph-toolbar button,
.blueprint-canvas-toolbar button {
    min-height: 36px;
    padding: 7px 11px;
}

.analyzer-graph-controls > button[data-graph-control="zoom-in"],
.analyzer-graph-controls > button[data-graph-control="zoom-out"],
.cti-graph-toolbar button[data-graph-zoom-in],
.cti-graph-toolbar button[data-graph-zoom-out] {
    width: 36px;
    min-width: 36px;
    padding: 0;
    font-size: 1rem;
}

.analyzer-advanced-filters summary {
    min-height: 38px;
    border-color: var(--border);
    border-radius: var(--radius-sm);
    background: rgba(var(--cyan-rgb), 0.055);
}

.analyzer-advanced-filter-grid {
    border-color: var(--border-strong);
    background: var(--tooltip-bg);
}

.entity-graph-stage,
.analyzer-graph-stage,
.cti-graph-stage,
.threat-blueprint-canvas {
    background-color: #03060a;
    background-image:
        linear-gradient(rgba(174, 185, 200, 0.035) 1px, transparent 1px),
        linear-gradient(90deg, rgba(174, 185, 200, 0.035) 1px, transparent 1px),
        radial-gradient(circle at 50% 0, rgba(var(--cyan-rgb), 0.045), transparent 58%);
    background-size: 28px 28px, 28px 28px, 100% 100%;
}

.analyzer-graph-stage {
    min-height: 500px;
    border-bottom-color: var(--border);
}

.analyzer-graph-workspace {
    display: grid;
    grid-template-columns: minmax(0, 1fr) minmax(260px, 320px);
    min-width: 0;
}

.analyzer-graph-stage .entity-graph {
    min-height: 500px;
    max-height: min(72vh, 780px);
}

.analyzer-graph-legend {
    gap: 18px;
    padding: 10px 16px;
    border-bottom: 1px solid var(--border);
    background: rgba(3, 6, 10, 0.88);
    color: var(--muted);
}

.analyzer-graph-legend span::before {
    border-color: var(--graph-observed);
}

.analyzer-graph-legend .graph-legend-correlated::before {
    border-color: var(--graph-correlated);
}

.analyzer-graph-legend .graph-legend-inferred::before {
    border-color: var(--graph-inferred);
}

.analyzer-graph-node rect,
.analyzer-graph-node circle {
    fill: #0b1018;
    stroke: rgba(var(--cyan-rgb), 0.62);
    stroke-width: 1.5;
    filter: drop-shadow(0 10px 18px rgba(0, 0, 0, 0.5)) drop-shadow(0 0 8px rgba(var(--cyan-rgb), 0.08));
}

.analyzer-graph-node:hover rect,
.analyzer-graph-node:hover circle,
.analyzer-graph-node:focus rect,
.analyzer-graph-node:focus circle {
    fill: #0d1b25;
    stroke: var(--accent);
    stroke-width: 2.5;
    filter: drop-shadow(0 12px 22px rgba(0, 0, 0, 0.56)) drop-shadow(0 0 12px rgba(var(--cyan-rgb), 0.22));
}

.analyzer-graph-label,
.analyzer-graph-node text {
    fill: #eaf3fb;
    stroke: none;
    paint-order: normal;
}

.analyzer-graph-node-type,
.analyzer-graph-node-meta {
    fill: #7f94aa;
}

.analyzer-graph-edge {
    transition: opacity 120ms ease, stroke-width 120ms ease;
}

.analyzer-graph-edge:hover,
.analyzer-graph-edge:focus {
    opacity: 1;
    stroke-width: 4;
    filter: drop-shadow(0 0 5px currentColor);
    outline: none;
}

.analyzer-lateral-edge-label {
    fill: #c9d7e5;
    stroke: #03060a;
}

.analyzer-graph-notice {
    display: inline-flex;
    margin: 10px 16px 14px;
    padding: 6px 9px;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: rgba(var(--cyan-rgb), 0.07);
}

.entity-detail-panel {
    border-top: 0;
    border-left: 1px solid var(--border);
    background: color-mix(in srgb, var(--surface-strong) 84%, transparent);
}

.entity-detail-content dl {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(130px, 1fr));
    gap: 8px;
    margin: 0;
}

.entity-detail-content dt,
.entity-detail-content dd {
    min-width: 0;
    margin: 0;
}

.entity-detail-content dt {
    color: var(--soft);
    font-size: 0.66rem;
    font-weight: 900;
    text-transform: uppercase;
}

.entity-detail-content dd {
    margin-bottom: 8px;
    color: var(--text);
    overflow-wrap: anywhere;
}

.cti-relationship-graph .panel-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 12px;
}

.cti-relationship-graph .panel-header p {
    margin: 4px 0 0;
    color: var(--muted);
}

.cti-graph-controls {
    gap: 9px;
    margin: 0;
    padding: 12px 16px;
    border-bottom: 1px solid var(--border);
}

.cti-graph-toolbar {
    align-items: center;
    margin: 10px 16px;
}

.cti-graph-stage {
    height: min(62vh, 660px);
    min-height: 460px;
    margin: 0 16px 14px;
    border-color: var(--border);
}

.cti-graph-node rect {
    fill: #0b1018;
    stroke: rgba(var(--cyan-rgb), 0.56);
    filter: drop-shadow(0 9px 16px rgba(0, 0, 0, 0.48));
}

.cti-graph-node.is-root rect {
    fill: #0a252b;
    stroke: var(--accent);
    filter: drop-shadow(0 0 12px rgba(var(--cyan-rgb), 0.22));
}

.cti-graph-node:hover rect,
.cti-graph-node:focus rect {
    fill: #0d1e28;
    stroke: var(--accent);
    filter: drop-shadow(0 0 14px rgba(var(--cyan-rgb), 0.3));
}

.cti-graph-node-type { fill: #7f94aa; }
.cti-graph-node-label { fill: #edf5fc; }
.cti-graph-edge-label rect { fill: #080d14; stroke: var(--border-strong); }
.cti-graph-edge-label text { fill: #aebdcb; }

.blueprint-canvas-toolbar {
    border-color: var(--border);
    border-radius: var(--radius-md);
    box-shadow: var(--shadow-soft);
}

.blueprint-node {
    border-color: rgba(var(--cyan-rgb), 0.34);
    border-radius: var(--radius-md);
    background: linear-gradient(145deg, #101722, #080c12);
    box-shadow: 0 14px 28px rgba(0, 0, 0, 0.48), 0 0 12px rgba(var(--cyan-rgb), 0.045);
}

.blueprint-node.is-selected,
.blueprint-node:focus-visible {
    border-color: var(--accent);
    box-shadow: 0 0 0 3px rgba(34, 211, 238, 0.16), 0 12px 25px rgba(0, 0, 0, 0.3);
}

.blueprint-flow-layer line {
    stroke: var(--chart-blue);
}

.blueprint-flow-layer line.is-encrypted {
    stroke: var(--graph-observed);
}

.blueprint-flow-layer .blueprint-flow-label {
    fill: var(--text);
    stroke: #03060a;
}

.timeline-canvas-wrap,
.path-node-list {
    border-radius: var(--radius-md);
    background: color-mix(in srgb, var(--surface-strong) 54%, transparent);
}

.timeline-event-card,
.path-node-card {
    border-color: var(--border);
    border-radius: var(--radius-md);
    background: linear-gradient(145deg, rgba(15, 21, 31, 0.97), rgba(7, 11, 17, 0.97));
    box-shadow: var(--shadow-soft);
}

.timeline-event-card:hover,
.path-node-card:hover,
.path-node-card:focus-within {
    border-color: rgba(var(--cyan-rgb), 0.48);
}

.timeline-marker {
    border-color: #081321;
    background: var(--accent);
    color: #031421;
    text-shadow: none;
    box-shadow: 0 0 0 4px rgba(34, 211, 238, 0.12), 0 0 20px rgba(34, 211, 238, 0.24);
}

.topbar .top-help-panel {
    top: calc(100% + 10px);
}

.timeline-analyzer-page .entity-analyzer-hero .metric-value {
    color: #f7fbff;
    font-variant-numeric: tabular-nums;
    text-shadow: 0 1px 14px rgba(125, 211, 252, 0.22);
}

html[data-theme="light"] .timeline-analyzer-page .entity-analyzer-hero .metric-value {
    color: #12324f;
    text-shadow: none;
}

.analyzer-graph-stage:fullscreen,
.cti-relationship-graph:fullscreen,
.threat-blueprint-canvas:fullscreen {
    width: 100%;
    height: 100%;
    padding: 18px;
    overflow: auto;
    background-color: var(--bg);
}

html[data-theme="light"] .entity-graph-stage,
html[data-theme="light"] .analyzer-graph-stage,
html[data-theme="light"] .cti-graph-stage,
html[data-theme="light"] .threat-blueprint-canvas {
    background-color: #edf4fa;
    background-image:
        linear-gradient(rgba(47, 95, 158, 0.07) 1px, transparent 1px),
        linear-gradient(90deg, rgba(47, 95, 158, 0.07) 1px, transparent 1px),
        radial-gradient(circle at 50% 0, rgba(var(--cyan-rgb), 0.08), transparent 58%);
}

html[data-theme="light"] .analyzer-graph-legend {
    background: rgba(235, 243, 249, 0.9);
}

html[data-theme="light"] .analyzer-graph-node rect,
html[data-theme="light"] .analyzer-graph-node circle,
html[data-theme="light"] .cti-graph-node rect,
html[data-theme="light"] .blueprint-node {
    fill: #f8fbfe;
    border-color: var(--border-strong);
    background: linear-gradient(145deg, #fbfdff, #e7f0f7);
}

html[data-theme="light"] .analyzer-graph-label,
html[data-theme="light"] .analyzer-graph-node text,
html[data-theme="light"] .cti-graph-node-label {
    fill: #142a43;
}

html[data-theme="light"] .analyzer-graph-node-type,
html[data-theme="light"] .analyzer-graph-node-meta,
html[data-theme="light"] .cti-graph-node-type {
    fill: #5c7188;
}

html[data-theme="light"] .analyzer-lateral-edge-label,
html[data-theme="light"] .blueprint-flow-layer .blueprint-flow-label {
    fill: #243b55;
    stroke: #edf4fa;
}

html[data-theme="light"] .cti-graph-edge-label rect { fill: #f7fbfe; }
html[data-theme="light"] .cti-graph-edge-label text { fill: #425a73; }

html[data-theme="light"] .timeline-event-card,
html[data-theme="light"] .path-node-card {
    background: linear-gradient(145deg, #fbfdff, #e9f1f8);
}

/* In dark mode the chrome recedes and data visualization carries the color. */
html:not([data-theme="light"]) .ti-tone-violet { --ti-tone: var(--chart-violet); }
html:not([data-theme="light"]) .ti-tone-orange { --ti-tone: var(--chart-amber); }
html:not([data-theme="light"]) .ti-tone-blue { --ti-tone: var(--chart-blue); }
html:not([data-theme="light"]) .ti-tone-cyan { --ti-tone: var(--chart-cyan); }

html:not([data-theme="light"]) .external-kev-donut {
    --chart-1: var(--chart-blue);
    --chart-2: var(--chart-cyan);
    --chart-3: var(--chart-amber);
    --chart-4: var(--chart-rose);
    --chart-5: var(--chart-violet);
    --chart-6: var(--chart-emerald);
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.06), 0 0 24px rgba(var(--cyan-rgb), 0.1);
}

html:not([data-theme="light"]) .external-kev-donut-swatch.swatch-1 { background: var(--chart-blue); }
html:not([data-theme="light"]) .external-kev-donut-swatch.swatch-2 { background: var(--chart-cyan); }
html:not([data-theme="light"]) .external-kev-donut-swatch.swatch-3 { background: var(--chart-amber); }
html:not([data-theme="light"]) .external-kev-donut-swatch.swatch-4 { background: var(--chart-rose); }
html:not([data-theme="light"]) .external-kev-donut-swatch.swatch-5 { background: var(--chart-violet); }
html:not([data-theme="light"]) .external-kev-donut-swatch.swatch-6 { background: var(--chart-emerald); }

html:not([data-theme="light"]) .billing-line-chart path,
html:not([data-theme="light"]) .billing-line-chart polyline,
html:not([data-theme="light"]) .cti-graph-edge {
    filter: drop-shadow(0 0 5px rgba(var(--cyan-rgb), 0.32));
}

html:not([data-theme="light"]) .reporting-chart-track span,
html:not([data-theme="light"]) .ti-dashboard-panel progress::-webkit-progress-value {
    box-shadow: 0 0 14px rgba(var(--cyan-rgb), 0.24);
}

@media (max-width: 980px) {
    .analyzer-graph-controls,
    .analyzer-graph-workspace {
        grid-template-columns: 1fr;
    }

    .analyzer-graph-toolbar {
        justify-content: flex-start;
    }

    .entity-detail-panel {
        border-top: 1px solid var(--border);
        border-left: 0;
    }

    .analyzer-graph-stage,
    .analyzer-graph-stage .entity-graph,
    .cti-graph-stage {
        min-height: 420px;
    }

    .cti-graph-controls {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

html[data-theme="light"] .topbar,
html[data-theme="light"] .hero-main,
html[data-theme="light"] .compact-workflow-header,
html[data-theme="light"] .section,
html[data-theme="light"] .panel,
html[data-theme="light"] .list-panel,
html[data-theme="light"] .summary-panel,
html[data-theme="light"] .guide-panel,
html[data-theme="light"] .builder-panel,
html[data-theme="light"] .dashboard-card {
    border-radius: var(--radius-lg);
    color: var(--text);
}

html[data-theme="light"] .topbar {
    border-color: var(--border);
    background: linear-gradient(145deg, rgba(248, 251, 254, 0.96), rgba(232, 240, 247, 0.94));
    box-shadow: var(--shadow-soft);
}

html[data-theme="light"] select,
html[data-theme="light"] input,
html[data-theme="light"] textarea {
    background: rgba(255, 255, 255, 0.78);
    color: var(--text);
}

html[data-theme="light"] select:focus,
html[data-theme="light"] input:focus,
html[data-theme="light"] textarea:focus {
    background: #ffffff;
}

html[data-theme="light"] option {
    background: #ffffff;
    color: var(--text);
}

/* Threat Blueprint flow language: color identifies traversal while the dash
   pattern keeps each connection type distinguishable without color. */
.blueprint-canvas-stage {
    --blueprint-flow-network: #38bdf8;
    --blueprint-flow-identity: #c084fc;
    --blueprint-flow-administrative: #fb923c;
    --blueprint-flow-data: #34d399;
    --blueprint-flow-telemetry: #94a3b8;
}

.blueprint-flow-legend {
    position: absolute;
    left: 12px;
    bottom: 12px;
    z-index: 31;
    display: flex;
    flex-wrap: wrap;
    gap: 6px 14px;
    max-width: calc(100% - 250px);
    padding: 7px 10px;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm);
    background: color-mix(in srgb, var(--surface-strong) 88%, transparent);
    box-shadow: var(--shadow-soft);
    color: var(--muted);
    font-size: 0.68rem;
    font-weight: 800;
    pointer-events: none;
    backdrop-filter: blur(10px);
}

.blueprint-flow-legend span {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    white-space: nowrap;
}

.blueprint-flow-legend i {
    display: inline-block;
    width: 28px;
    height: 2px;
    flex: 0 0 28px;
}

.blueprint-flow-legend-network i {
    background: var(--blueprint-flow-network);
}

.blueprint-flow-legend-identity i {
    background: repeating-linear-gradient(90deg, var(--blueprint-flow-identity) 0 8px, transparent 8px 12px);
}

.blueprint-flow-legend-administrative i {
    background: repeating-linear-gradient(90deg, var(--blueprint-flow-administrative) 0 3px, transparent 3px 6px);
}

.blueprint-flow-legend-data i {
    background: repeating-linear-gradient(90deg, var(--blueprint-flow-data) 0 10px, transparent 10px 13px, var(--blueprint-flow-data) 13px 15px, transparent 15px 19px);
}

.blueprint-flow-legend-telemetry i {
    background: repeating-linear-gradient(90deg, var(--blueprint-flow-telemetry) 0 2px, transparent 2px 6px);
}

.blueprint-flow-layer line.blueprint-flow {
    stroke-width: 1.15;
    vector-effect: non-scaling-stroke;
}

.blueprint-flow-layer line.blueprint-flow-network-access {
    stroke: var(--blueprint-flow-network);
    stroke-dasharray: none;
}

.blueprint-flow-layer line.blueprint-flow-identity-trust {
    stroke: var(--blueprint-flow-identity);
    stroke-dasharray: 9 4;
}

.blueprint-flow-layer line.blueprint-flow-administrative-access {
    stroke: var(--blueprint-flow-administrative);
    stroke-dasharray: 3 3;
}

.blueprint-flow-layer line.blueprint-flow-data-dependency {
    stroke: var(--blueprint-flow-data);
    stroke-dasharray: 11 3 2 3;
}

.blueprint-flow-layer line.blueprint-flow-telemetry-only {
    stroke: var(--blueprint-flow-telemetry);
    stroke-dasharray: 2 5;
}

.blueprint-flow-layer line.blueprint-flow.is-encrypted {
    opacity: 0.94;
}

.blueprint-flow-layer line.blueprint-flow:hover,
.blueprint-flow-layer line.blueprint-flow.is-selected {
    stroke-width: 2;
    opacity: 1;
    filter: drop-shadow(0 0 3px rgba(226, 232, 240, 0.38));
}

.blueprint-flow-arrow-network-access { fill: var(--blueprint-flow-network); }
.blueprint-flow-arrow-identity-trust { fill: var(--blueprint-flow-identity); }
.blueprint-flow-arrow-administrative-access { fill: var(--blueprint-flow-administrative); }
.blueprint-flow-arrow-data-dependency { fill: var(--blueprint-flow-data); }
.blueprint-flow-arrow-telemetry-only { fill: var(--blueprint-flow-telemetry); }

html[data-theme="light"] .blueprint-canvas-stage {
    --blueprint-flow-network: #006da8;
    --blueprint-flow-identity: #8f3ca7;
    --blueprint-flow-administrative: #a94f00;
    --blueprint-flow-data: #007657;
    --blueprint-flow-telemetry: #52657a;
}

html[data-theme="light"] .blueprint-flow-legend {
    background: rgba(248, 251, 255, 0.94);
}

@media (max-width: 820px) {
    body:not(.report-print-page) .page {
        width: calc(100% - 24px);
        max-width: none;
        margin: 0 12px;
        padding-top: 10px;
    }

    .topbar {
        top: 4px;
    }

    .hero,
    .compact-workflow-header {
        grid-template-columns: 1fr;
    }

    .section-header,
    .panel-header {
        align-items: flex-start;
    }

    .blueprint-flow-legend {
        right: 12px;
        bottom: 142px;
        max-width: none;
    }
}

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

/* Detection Operations: bounded read-only module surface. */
.detection-ops-page,
.detection-ops-page > * {
    min-width: 0;
    max-width: 100%;
}

.detection-ops-header {
    grid-template-columns: minmax(0, 1fr) minmax(240px, 360px);
}

.detection-ops-header .workflow-header-side {
    align-items: flex-start;
}

.detection-ops-header .hint {
    margin: 0;
}

.detection-ops-module-nav {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 6px;
    max-width: 100%;
    margin: 0 0 14px;
    overflow-x: auto;
}

.detection-ops-module-nav .library-tab {
    flex: 1 1 150px;
    text-align: center;
}

.detection-ops-filter-panel {
    margin-bottom: 14px;
}

.detection-ops-filter-grid {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr)) auto;
    align-items: end;
    gap: 12px;
}

.detection-ops-filter-grid label,
.detection-ops-gap-form label {
    display: grid;
    gap: 6px;
    min-width: 0;
    color: var(--muted);
    font-size: 12px;
    font-weight: 850;
}

.detection-ops-filter-grid input,
.detection-ops-filter-grid select,
.detection-ops-gap-form input,
.detection-ops-gap-form select,
.detection-ops-gap-form textarea {
    width: 100%;
    min-width: 0;
}

/* Searchable selects include an aria-live result count after the select. Keep
   that announcement available to assistive technology without letting its
   empty line lift searchable filters above adjacent native selects. */
.detection-ops-filter-grid .searchable-select-status {
    position: absolute;
    width: 1px;
    height: 1px;
    padding: 0;
    margin: -1px;
    overflow: hidden;
    clip: rect(0, 0, 0, 0);
    white-space: nowrap;
    border: 0;
}

.detection-ops-filter-actions,
.detection-ops-gap-actions {
    display: flex;
    align-items: center;
    gap: 8px;
}

#coverage-candidates .detection-ops-filter-actions {
    grid-column: 1 / -1;
    justify-content: flex-end;
    flex-wrap: wrap;
}

#coverage-candidates .detection-ops-filter-actions > * {
    flex: 0 0 auto;
}

.detection-ops-summary-grid {
    display: grid;
    grid-template-columns: repeat(6, minmax(0, 1fr));
    gap: 12px;
}

.detection-ops-summary-card,
.detection-ops-breakdown-card {
    min-width: 0;
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    background: color-mix(in srgb, var(--surface-strong) 70%, transparent);
}

.detection-ops-summary-card {
    display: grid;
    gap: 5px;
    min-height: 118px;
    padding: 14px;
}

.detection-ops-summary-card span,
.detection-ops-summary-card small {
    color: var(--muted);
    overflow-wrap: anywhere;
}

.detection-ops-summary-card span {
    font-size: 12px;
    font-weight: 900;
    text-transform: uppercase;
}

.detection-ops-summary-card strong {
    color: var(--silver);
    font-size: clamp(1.5rem, 2.5vw, 2.15rem);
    line-height: 1;
}

.detection-ops-summary-card small {
    font-size: 11px;
    line-height: 1.35;
}

.detection-ops-breakdown-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 12px;
    margin-top: 12px;
}

.detection-ops-breakdown-card {
    padding: 14px;
}

.detection-ops-breakdown-card h3 {
    margin: 0 0 10px;
    color: var(--silver);
    font-size: 13px;
}

.detection-ops-breakdown-card ul {
    display: grid;
    gap: 7px;
    margin: 0;
    padding: 0;
    list-style: none;
}

.detection-ops-breakdown-card li {
    display: flex;
    align-items: baseline;
    justify-content: space-between;
    gap: 10px;
    min-width: 0;
    color: var(--muted);
    font-size: 12px;
}

.detection-ops-breakdown-card li span {
    min-width: 0;
    overflow-wrap: anywhere;
}

.detection-ops-breakdown-card li strong {
    color: var(--silver);
}

.detection-ops-gap-create {
    padding-bottom: 0;
}

.detection-ops-gap-create details {
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    background: var(--surface-soft);
}

.detection-ops-gap-create summary {
    padding: 13px 14px;
}

.detection-ops-gap-form {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
    padding: 0 14px 14px;
}

.detection-ops-gap-description {
    grid-column: 1 / -1;
}

.detection-ops-gap-actions {
    grid-column: 1 / -1;
    justify-content: flex-end;
}

.detection-ops-table-wrap {
    width: 100%;
    max-width: 100%;
    overflow-x: auto;
    overscroll-behavior-x: contain;
}

.detection-ops-table {
    min-width: 1120px;
}

.detection-ops-wide-table {
    min-width: 1480px;
}

.detection-ops-table.de-work-table {
    min-width: 52rem;
    table-layout: fixed;
}

.de-work-table th:first-child,
.de-work-table td:first-child {
    width: 42%;
}

.de-work-table th:nth-child(2),
.de-work-table td:nth-child(2) {
    width: 20%;
}

.de-work-table th:nth-child(3),
.de-work-table td:nth-child(3) {
    width: 16%;
}

.de-work-table th:nth-child(4),
.de-work-table td:nth-child(4) {
    width: 22%;
}

.de-work-table td > strong,
.de-work-table td > small {
    display: block;
}

.de-work-table td > small {
    margin-top: 0.3rem;
    color: var(--muted);
    line-height: 1.4;
}

.detection-ops-table th,
.detection-ops-table td {
    max-width: 320px;
    overflow-wrap: anywhere;
}

.detection-ops-table td .empty-state {
    margin: 0;
}

.detection-ops-pagination {
    margin-top: 14px;
    border: 1px solid var(--border);
    border-radius: var(--radius-md);
    background: var(--surface-panel);
}

.native-preview-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
}

.native-preview-actions form {
    margin: 0;
}

.native-preview-target-form {
    grid-template-columns: minmax(260px, 1fr) auto;
}

.native-preview-summary {
    grid-template-columns: repeat(6, minmax(0, 1fr));
}

.native-preview-layout {
    align-items: start;
}

.native-preview-decision {
    margin: 0 0 1rem;
}

.native-preview-layout .list-panel h3 {
    margin: 16px 0 8px;
    font-size: 0.86rem;
}

.native-preview-layout code,
.native-preview-layout dd {
    overflow-wrap: anywhere;
}

html[data-theme="light"] .detection-ops-summary-card,
html[data-theme="light"] .detection-ops-breakdown-card,
html[data-theme="light"] .detection-ops-gap-create details {
    background: #eef3f8;
}

@media (max-width: 1380px) {
    .detection-ops-summary-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

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

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

    .native-preview-target-form {
        grid-template-columns: minmax(260px, 1fr) auto;
    }
}

@media (max-width: 920px) {
    .detection-ops-header,
    .detection-ops-breakdown-grid {
        grid-template-columns: 1fr;
    }

    .detection-ops-filter-grid,
    .detection-ops-gap-form {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .native-preview-target-form {
        grid-template-columns: minmax(220px, 1fr) auto;
    }

    .detection-ops-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .native-preview-summary {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 620px) {
    .detection-ops-module-nav,
    .detection-ops-filter-grid,
    .detection-ops-gap-form,
    .detection-ops-summary-grid,
    .native-preview-target-form,
    .native-preview-summary {
        grid-template-columns: 1fr;
    }

    .detection-ops-module-nav {
        display: grid;
    }

    .detection-ops-module-nav .library-tab {
        width: 100%;
    }

    .detection-ops-filter-actions,
    .detection-ops-gap-actions {
        align-items: stretch;
        flex-direction: column;
    }

    .detection-ops-filter-actions > *,
    .detection-ops-gap-actions > * {
        width: 100%;
    }

    .native-preview-actions,
    .native-preview-actions form,
    .native-preview-actions button,
    .native-preview-actions .secondary-button {
        width: 100%;
    }
}

/* Sigma-to-native Phase 2B: bounded planning and approval metadata only. */
.native-deployment-plan-page,
.native-deployment-plan-page > *,
.native-plan-layout,
.native-plan-layout > *,
.native-plan-entry-body > *,
.native-plan-actions > * {
    min-width: 0;
    max-width: 100%;
}

.native-plan-entry-body {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}

.native-plan-entry-body p {
    margin: 0;
}

.native-plan-entry-body .hint {
    margin-top: 6px;
}

.native-plan-entry-body .secondary-link {
    flex: 0 0 auto;
    text-align: center;
}

.native-plan-summary-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 12px;
}

.native-plan-summary-grid .detection-ops-summary-card strong {
    font-size: clamp(1.05rem, 1.8vw, 1.45rem);
    line-height: 1.2;
    overflow-wrap: anywhere;
}

.native-plan-layout {
    align-items: start;
}

.native-plan-detail-list,
.native-plan-detail-list > div,
.native-plan-detail-list dd,
.native-plan-detail-list code {
    min-width: 0;
    max-width: 100%;
    overflow-wrap: anywhere;
    word-break: break-word;
}

.native-plan-actions {
    display: flex;
    flex-wrap: wrap;
    align-items: flex-end;
    gap: 10px;
}

.native-plan-actions form {
    margin: 0;
}

.native-plan-reject-form {
    display: flex;
    align-items: flex-end;
    gap: 10px;
}

.native-plan-reject-form label {
    display: grid;
    gap: 6px;
    min-width: min(280px, 100%);
    color: var(--muted);
    font-size: 12px;
    font-weight: 850;
}

.native-plan-reject-form select {
    width: 100%;
    min-width: 0;
}

.native-plan-history-table {
    min-width: 1180px;
}

.native-deployment-plan-page .error-state {
    margin: 0;
    color: var(--danger);
    font-weight: 800;
}

@media (max-width: 1100px) {
    .native-plan-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 760px) {
    .native-plan-entry-body {
        align-items: stretch;
        flex-direction: column;
    }

    .native-plan-entry-body .secondary-link {
        width: 100%;
    }

    .native-plan-actions,
    .native-plan-reject-form {
        align-items: stretch;
        flex-direction: column;
    }

    .native-plan-actions form,
    .native-plan-actions button,
    .native-plan-actions .secondary-button,
    .native-plan-reject-form label {
        width: 100%;
    }
}

@media (max-width: 520px) {
    .native-plan-summary-grid {
        grid-template-columns: 1fr;
    }
}
/* RC3 guided operations: progressive, keyboard-safe workflow surfaces. */
.skip-link { position: fixed; left: 1rem; top: -5rem; z-index: 9999; padding: .75rem 1rem; background: var(--accent, #18a8d8); color: #fff; border-radius: .45rem; }
.skip-link:focus { top: 1rem; }
.guided-wizard-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 1.5rem; max-width: 64rem; margin: 1rem auto .75rem; padding: .5rem 0; }
.guided-wizard-header h1 { margin: .35rem 0; }
.guided-wizard-header p { margin: 0; color: var(--muted); }
.guided-hero .summary-panel .metric { display: grid; grid-template-columns: minmax(7rem, 7rem) minmax(0, 1fr); align-items: center; justify-content: initial; column-gap: 1rem; }
.guided-hero .summary-panel .metric-name, .guided-hero .summary-panel .metric-value { display: block; min-width: 0; text-align: left; }
.guided-hero .summary-panel .metric-value { justify-self: start; line-height: 1.25; overflow-wrap: normal; }
.guided-wizard-progress { max-width: 64rem; margin: 0 auto 1rem; padding: .9rem 1rem; border: 1px solid var(--border-color, #2c3a48); border-radius: .75rem; background: var(--surface, #101820); }
.guided-wizard-progress > div:first-child { display: flex; justify-content: space-between; gap: 1rem; margin-bottom: .45rem; }
.guided-wizard-progress progress { display: block; width: 100%; height: .55rem; accent-color: var(--accent, #18a8d8); }
.guided-step-map { margin-top: .7rem; }
.guided-step-map > summary, .guided-supporting-detail > summary, .guided-workflow-more > summary { cursor: pointer; color: var(--accent, #18a8d8); font-weight: 700; }
.guided-step-map .guided-step-list { grid-template-columns: repeat(4, minmax(0, 1fr)); margin-top: .75rem; }
.guided-step-map .guided-step { display: flex; min-width: 0; }
.guided-step-map .guided-step a { width: 100%; min-height: 5.75rem; }
.guided-current-step { max-width: 64rem; margin-inline: auto; }
.guided-step-explanation { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; margin-bottom: .85rem; }
.guided-step-explanation > div { padding: .85rem; border: 1px solid var(--border-color, #2c3a48); border-radius: .65rem; background: color-mix(in srgb, var(--surface, #101820) 86%, var(--accent, #18a8d8) 14%); }
.guided-step-explanation p { margin: .35rem 0 0; }
.guided-safety-note { display: flex; align-items: center; gap: .55rem; margin: 0 0 1rem; color: var(--muted); }
.guided-safety-note span { display: grid; place-items: center; flex: 0 0 1.4rem; height: 1.4rem; border: 1px solid currentColor; border-radius: 50%; font-weight: 800; }
.guided-single-prompt, .guided-review-summary, .guided-confirm-form, .guided-supporting-detail, .guided-action-impact { max-width: 48rem; margin: 1rem auto; }
.guided-single-prompt select { width: 100%; }
.searchable-select { display: grid; width: 100%; gap: .45rem; margin-top: .35rem; }
.searchable-select > select { width: 100%; margin-top: 0; }
.searchable-select-input { width: 100%; min-height: 2.65rem; padding-inline: .75rem; }
.searchable-select-status { min-height: 1rem; color: var(--muted, #a7b4c2); font-size: .78rem; line-height: 1.2; }
.detection-lifecycle-page [hidden] { display: none !important; }
.lifecycle-stage-picker { max-width: 100%; margin: 1rem 0; padding: 1rem; border: 1px solid var(--border); border-radius: var(--radius-md, .7rem); background: var(--surface, #101820); }
.lifecycle-stage-heading h2 { margin: .2rem 0; }
.lifecycle-stage-heading p { max-width: 68rem; margin: .25rem 0 1rem; color: var(--muted, #a7b4c2); }
.lifecycle-stage-options { display: grid; grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr)); gap: .75rem; }
.lifecycle-stage-option { display: flex; min-width: 0; min-height: 7rem; flex-direction: column; align-items: flex-start; justify-content: flex-start; gap: .4rem; padding: .9rem; border: 1px solid var(--border); background: var(--surface-soft); color: var(--text, #f4f7fb); text-align: left; white-space: normal; box-shadow: none; }
.lifecycle-stage-option strong, .lifecycle-stage-option span { display: block; overflow-wrap: anywhere; }
.lifecycle-stage-option span { color: var(--muted, #a7b4c2); font-size: .86rem; font-weight: 500; line-height: 1.4; }
.lifecycle-stage-option.is-active { border-color: var(--cyan, #22d3ee); background: color-mix(in srgb, var(--surface, #101820) 82%, var(--cyan, #22d3ee) 18%); box-shadow: 0 0 0 2px color-mix(in srgb, var(--cyan, #22d3ee) 32%, transparent); }
.lifecycle-filters { margin: 1rem 0; overflow: hidden; }
.lifecycle-filters > summary { display: flex; cursor: pointer; padding: .9rem 1rem; list-style: none; }
.lifecycle-filters > summary::-webkit-details-marker { display: none; }
.lifecycle-filters > summary strong, .lifecycle-filters > summary small { display: block; }
.lifecycle-filters > summary small { margin-top: .2rem; color: var(--muted, #a7b4c2); font-weight: 500; }
.lifecycle-metric-grid .context-item { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 1rem; min-height: 4.25rem; }
.lifecycle-metric-grid .context-item > strong { min-width: 0; line-height: 1.35; }
.lifecycle-metric-grid .context-item > span { color: var(--cyan, #22d3ee); font-size: 1.15rem; font-weight: 800; text-align: right; }
.lifecycle-coverage-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-top: 1rem; }
.lifecycle-coverage-grid > div { min-width: 0; padding: .9rem; border: 1px solid var(--border); border-radius: var(--radius-md, .7rem); background: var(--surface-soft); }
.lifecycle-coverage-grid h3 { margin-top: 0; }
.lifecycle-coverage-grid .clean-list li { display: flex; justify-content: space-between; gap: 1rem; }

@media (max-width: 920px) {
    .lifecycle-stage-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 600px) {
    .lifecycle-stage-options, .lifecycle-coverage-grid { grid-template-columns: 1fr; }
    .lifecycle-stage-option { min-height: 0; }
    .lifecycle-metric-grid .context-item { grid-template-columns: 1fr; gap: .35rem; }
    .lifecycle-metric-grid .context-item > span { text-align: left; }
}

/* RC4 Detection Engineering: one lifecycle, one page model, progressive detail. */
.detection-engineering-surface .context-item > strong,
.detection-engineering-surface .context-item > span,
.detection-engineering-surface .context-item > small {
    display: block;
    min-width: 0;
}

.detection-engineering-surface .context-item > strong + span,
.detection-engineering-surface .context-item > strong + small {
    margin-top: .45rem;
}

.de-page-guide {
    display: grid;
    gap: .8rem;
    margin: 1rem 0 1.25rem;
}

.de-stage-nav {
    display: grid;
    grid-template-columns: repeat(auto-fit, minmax(8rem, 1fr));
    gap: .55rem;
}

.de-stage-nav a {
    display: flex;
    align-items: center;
    gap: .55rem;
    min-width: 0;
    min-height: 3.25rem;
    padding: .65rem .75rem;
    border: 1px solid var(--border);
    border-radius: var(--radius-md, .7rem);
    background: var(--surface-soft);
    color: var(--text, #f4f7fb);
    text-decoration: none;
}

.de-stage-nav a > span {
    display: inline-grid;
    flex: 0 0 1.65rem;
    width: 1.65rem;
    height: 1.65rem;
    place-items: center;
    border: 1px solid var(--border-strong);
    border-radius: 50%;
    color: var(--muted, #a7b4c2);
    font-size: .78rem;
}

.de-stage-nav a > strong {
    min-width: 0;
    overflow-wrap: anywhere;
}

.de-stage-nav a[aria-current="step"] {
    border-color: var(--cyan, #22d3ee);
    background: color-mix(in srgb, var(--surface, #101820) 82%, var(--cyan, #22d3ee) 18%);
    box-shadow: 0 0 0 2px color-mix(in srgb, var(--cyan, #22d3ee) 28%, transparent);
}

.de-stage-nav a[aria-current="step"] > span {
    border-color: var(--cyan, #22d3ee);
    background: var(--cyan, #22d3ee);
    color: #041018;
}

.de-page-orientation {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr)) auto;
    align-items: stretch;
    gap: .7rem;
    padding: .85rem;
    border: 1px solid var(--border);
    border-radius: var(--radius-md, .7rem);
    background: var(--surface, #101820);
}

.de-page-orientation > div {
    min-width: 0;
    padding: .2rem .65rem;
    border-left: 2px solid color-mix(in srgb, var(--cyan, #22d3ee) 55%, transparent);
}

.de-page-orientation > div > span,
.de-page-orientation > div > strong {
    display: block;
}

.de-page-orientation > div > span {
    margin-bottom: .25rem;
    color: var(--cyan, #22d3ee);
    font-size: .72rem;
    font-weight: 800;
    letter-spacing: .07em;
    text-transform: uppercase;
}

.de-page-orientation > div > strong {
    color: var(--text, #f4f7fb);
    font-size: .88rem;
    font-weight: 600;
    line-height: 1.4;
    overflow-wrap: anywhere;
}

.de-page-orientation > .secondary-button {
    align-self: center;
    justify-content: center;
    white-space: normal;
    text-align: center;
}

.detection-engineering-surface .section-header,
.detection-engineering-surface .panel-header {
    gap: .75rem;
}

.detection-engineering-surface .section-header:has(.de-section-toggle),
.detection-engineering-surface .panel-header:has(.de-section-toggle) {
    display: flex;
    align-items: center;
    justify-content: space-between;
}

.de-section-toggle {
    flex: 0 0 auto;
}

.de-local-tabs {
    display: flex;
    overflow-x: auto;
    gap: .45rem;
    padding: .35rem .15rem .65rem;
    scrollbar-width: thin;
}

.de-local-tabs .library-tab {
    flex: 0 0 auto;
}

.sidebar-subnav-heading {
    display: block;
    margin: .65rem .75rem .2rem;
    color: var(--cyan, #22d3ee);
    font-size: .66rem;
    font-weight: 850;
    letter-spacing: .1em;
    text-transform: uppercase;
}

.sidebar-subnav-heading:first-child {
    margin-top: .25rem;
}

.sidebar-collapsed .sidebar-subnav-heading {
    display: none;
}

.detection-engineering-surface .admin-table-wrap {
    max-width: 100%;
    overflow-x: auto;
}

.detection-engineering-surface .admin-table th,
.detection-engineering-surface .admin-table td {
    vertical-align: top;
}

.detection-engineering-surface .admin-table td form {
    display: grid;
    gap: .45rem;
    min-width: 0;
}

.detection-engineering-surface .empty-state,
.detection-engineering-surface .admin-table td[colspan] {
    color: var(--muted, #a7b4c2);
    line-height: 1.5;
}

.de-choice-picker {
    min-width: 0;
    margin: 0;
    padding: .8rem;
    border: 1px solid var(--border);
    border-radius: var(--radius-md, .7rem);
}

.de-choice-picker legend {
    padding: 0 .25rem;
    font-weight: 750;
}

.de-choice-picker [data-choice-search] {
    width: 100%;
    margin-bottom: .6rem;
}

.de-choice-options {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    max-height: 16rem;
    overflow-y: auto;
    gap: .4rem;
    padding-right: .25rem;
}

.de-choice-options label {
    display: flex;
    align-items: flex-start;
    gap: .5rem;
    min-width: 0;
    padding: .55rem;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm, .45rem);
    background: var(--surface-soft);
    line-height: 1.35;
    overflow-wrap: anywhere;
}

.de-choice-options [hidden] {
    display: none !important;
}

.de-choice-options label:has(input:checked) {
    border-color: var(--cyan, #22d3ee);
    background: color-mix(in srgb, var(--surface, #101820) 84%, var(--cyan, #22d3ee) 16%);
}

.de-choice-options input {
    flex: 0 0 auto;
    margin-top: .2rem;
}

.de-choice-status {
    display: block;
    min-height: 1.2rem;
    margin-top: .5rem;
    color: var(--muted, #a7b4c2);
    font-size: .8rem;
}

.de-row-actions {
    min-width: min(18rem, 72vw);
}

.de-row-actions > summary,
.de-technical-details > summary {
    cursor: pointer;
    color: var(--cyan, #22d3ee);
    font-weight: 700;
}

.de-row-actions[open] > summary {
    margin-bottom: .7rem;
}

.de-row-actions form + form {
    margin-top: .9rem;
    padding-top: .9rem;
    border-top: 1px solid var(--border);
}

.de-row-actions h3 {
    margin: 0 0 .55rem;
    font-size: .95rem;
}

.validation-campaign-list {
    display: grid;
    gap: .9rem;
}

.validation-campaign-card {
    min-width: 0;
    padding: 1rem;
    border: 1px solid var(--border);
    border-radius: var(--radius-md, .7rem);
    background: color-mix(in srgb, var(--surface-strong) 58%, transparent);
}

.validation-campaign-name h3 {
    margin: .2rem 0;
    overflow-wrap: normal;
    word-break: normal;
}

.validation-campaign-label,
.validation-campaign-facts dt {
    color: var(--muted, #a7b4c2);
    font-size: .7rem;
    font-weight: 850;
    letter-spacing: .045em;
    text-transform: uppercase;
}

.validation-campaign-facts {
    display: grid;
    grid-template-columns: minmax(18rem, 2fr) repeat(3, minmax(8rem, 1fr));
    gap: .75rem;
    margin: 1rem 0 0;
}

.validation-campaign-facts > div {
    min-width: 0;
    padding: .75rem;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm, .5rem);
    background: color-mix(in srgb, var(--surface) 78%, transparent);
}

.validation-campaign-facts dd {
    margin: .4rem 0 0;
    line-height: 1.45;
    overflow-wrap: normal;
    word-break: normal;
}

.validation-campaign-actions {
    min-width: 0;
    margin-top: 1rem;
    padding-top: .9rem;
    border-top: 1px solid var(--border);
}

.validation-campaign-action-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: 1rem;
}

.detection-engineering-surface .validation-campaign-action-grid form {
    display: grid;
    align-content: start;
    gap: .75rem;
    min-width: 0;
    margin: 0;
    padding: 1rem;
    border: 1px solid var(--border);
    border-radius: var(--radius-sm, .5rem);
    background: color-mix(in srgb, var(--surface) 82%, transparent);
}

.validation-campaign-action-grid form + form {
    margin-top: 0;
    padding-top: 1rem;
    border-top: 1px solid var(--border);
}

.validation-campaign-action-grid label {
    display: grid;
    gap: .4rem;
    min-width: 0;
}

.validation-campaign-action-grid button {
    justify-self: start;
}

.validation-campaign-time-grid {
    display: grid;
    grid-template-columns: repeat(2, minmax(0, 1fr));
    gap: .75rem;
}

@media (max-width: 1050px) {
    .validation-campaign-facts {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }

    .validation-campaign-platforms {
        grid-column: 1 / -1;
    }
}

@media (max-width: 820px) {
    .validation-campaign-action-grid,
    .validation-campaign-time-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 620px) {
    .validation-campaign-facts {
        grid-template-columns: 1fr;
    }

    .validation-campaign-platforms {
        grid-column: auto;
    }
}

.de-technical-details {
    margin-top: .4rem;
    color: var(--muted, #a7b4c2);
    font-size: .78rem;
}

.de-compact-capabilities {
    display: grid;
    gap: .25rem;
    margin: 0;
    padding: 0;
    list-style: none;
}

.de-compact-capabilities li::before {
    content: "✓";
    margin-right: .35rem;
    color: var(--cyan, #22d3ee);
}

.de-capability-summary-table {
    min-width: 58rem;
}

.platform-capability-table {
    min-width: 72rem;
}

.platform-capability-table th {
    white-space: nowrap;
    overflow-wrap: normal;
    word-break: keep-all;
}

.platform-capability-table td {
    overflow-wrap: normal;
    word-break: normal;
}

.platform-capability-table th:first-child,
.platform-capability-table td:first-child {
    min-width: 12rem;
}

.platform-capability-table th:nth-child(5),
.platform-capability-table td:nth-child(5) {
    min-width: 11rem;
}

.platform-capability-table th:nth-child(7),
.platform-capability-table td:nth-child(7),
.platform-capability-table th:nth-child(8),
.platform-capability-table td:nth-child(8) {
    min-width: 9rem;
}

.platform-version-filter-grid {
    grid-template-columns: minmax(16rem, 2fr) repeat(3, minmax(10rem, 1fr)) auto;
    margin-bottom: 1rem;
}

.platform-version-result-count {
    margin: 0 0 .75rem;
    color: var(--muted, #a7b4c2);
    font-size: .82rem;
    font-weight: 700;
}

.platform-version-table {
    min-width: 72rem;
    table-layout: fixed;
}

.platform-version-table th {
    white-space: nowrap;
    overflow-wrap: normal;
    word-break: keep-all;
}

.platform-version-table th:first-child,
.platform-version-table td:first-child {
    width: 27%;
}

.platform-version-table th:nth-child(2),
.platform-version-table td:nth-child(2) {
    width: 16%;
}

.platform-version-table th:nth-child(3),
.platform-version-table td:nth-child(3) {
    width: 15%;
}

.platform-version-table th:nth-child(4),
.platform-version-table td:nth-child(4) {
    width: 42%;
}

.platform-version-actions {
    display: grid;
    grid-template-columns: repeat(2, minmax(12rem, 1fr));
    align-items: stretch;
    justify-content: start;
    gap: .55rem;
    min-width: 0;
}

.platform-version-actions form {
    display: block !important;
    width: 100%;
    margin: 0;
}

.platform-version-actions button,
.platform-version-actions .secondary-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 100%;
    min-height: 2.65rem;
    margin: 0;
    padding: .6rem .75rem;
    text-align: center;
    white-space: normal;
    overflow-wrap: normal;
    word-break: normal;
}

.detection-assurance-filter-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    align-items: end;
}

.detection-assurance-filter-grid > .form-actions {
    justify-content: flex-start;
}

.evidence-trace-filter-grid {
    grid-template-columns: minmax(18rem, 24rem) minmax(7rem, 9rem) auto;
    align-items: end;
}

.evidence-trace-filter-grid > .form-actions {
    justify-content: flex-start;
}

.validation-result-filter-grid,
.telemetry-readiness-filter-grid {
    grid-template-columns: minmax(16rem, 2fr) repeat(3, minmax(10rem, 1fr)) auto;
}

.validation-result-filter-grid > .detection-ops-filter-actions,
.telemetry-readiness-filter-grid > .detection-ops-filter-actions {
    justify-content: flex-start;
}

@media (max-width: 1380px) {
    .platform-version-filter-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .platform-version-filter-grid .detection-ops-filter-actions {
        grid-column: 1 / -1;
        justify-content: flex-end;
    }

    .validation-result-filter-grid,
    .telemetry-readiness-filter-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .validation-result-filter-grid > .detection-ops-filter-actions,
    .telemetry-readiness-filter-grid > .detection-ops-filter-actions {
        grid-column: 1 / -1;
        justify-content: flex-end;
    }
}

@media (max-width: 920px) {
    .detection-assurance-filter-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 620px) {
    .detection-assurance-filter-grid,
    .evidence-trace-filter-grid,
    .validation-result-filter-grid,
    .telemetry-readiness-filter-grid {
        grid-template-columns: 1fr;
    }
}

@media (max-width: 760px) {
    .detection-engineering-surface .admin-table th:first-child,
    .detection-engineering-surface .admin-table td:first-child {
        position: sticky;
        left: 0;
        z-index: 1;
        background: var(--surface, #101820);
        box-shadow: .35rem 0 .7rem rgba(0, 0, 0, .18);
    }

    .de-row-actions { min-width: min(16rem, 78vw); }
}

@media (max-width: 600px) {
    .de-choice-options { grid-template-columns: 1fr; }
}

@media (max-width: 1050px) {
    .de-page-orientation { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .de-page-orientation > .secondary-button { min-height: 100%; }
}

@media (max-width: 760px) {
    .de-stage-nav { grid-template-columns: repeat(5, minmax(8rem, 1fr)); overflow-x: auto; padding-bottom: .35rem; }
    .de-page-orientation { grid-template-columns: 1fr; }
    .de-page-orientation > .secondary-button { min-height: 2.75rem; }
}

@media (max-width: 820px) {
    body:not(.report-print-page) .app-sidebar,
    body.sidebar-collapsed:not(.report-print-page) .app-sidebar {
        position: static;
        display: flex;
        width: 100%;
        max-height: 48vh;
        padding: .5rem;
        flex-direction: column;
        align-items: stretch;
        overflow-x: hidden;
        overflow-y: auto;
        border-right: 0;
        border-bottom: 1px solid var(--border);
    }

    .app-sidebar .sidebar-group,
    body.sidebar-collapsed .app-sidebar .sidebar-group {
        width: 100%;
    }

    .app-sidebar .sidebar-link span:not(.sidebar-icon),
    body.sidebar-collapsed .app-sidebar .sidebar-link span:not(.sidebar-icon) {
        display: inline;
    }

    .app-sidebar .sidebar-subnav-heading,
    body.sidebar-collapsed .app-sidebar .sidebar-subnav-heading {
        display: block;
    }

    .app-sidebar .sidebar-subnav,
    body.sidebar-collapsed .app-sidebar .sidebar-subnav {
        position: static;
        display: grid;
        width: 100%;
        max-height: none;
        overflow: visible;
    }
}
.guided-review-summary { padding: 1rem; border-left: 4px solid var(--accent, #18a8d8); background: var(--surface, #101820); }
.guided-supporting-detail { padding: .85rem 1rem; border: 1px solid var(--border-color, #2c3a48); border-radius: .65rem; }
.guided-supporting-detail[open] > summary { margin-bottom: .8rem; }
.guided-environment-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); align-items: stretch; gap: .75rem; margin: 0; }
.guided-environment-grid > div { min-width: 0; min-height: 7.25rem; padding: .9rem; border: 1px solid var(--border-color, #2c3a48); border-radius: .65rem; background: color-mix(in srgb, var(--surface, #101820) 90%, var(--accent, #18a8d8) 10%); }
.guided-environment-grid dt { margin: 0 0 .5rem; color: var(--text, #f4f7fb); font-weight: 750; line-height: 1.35; overflow-wrap: anywhere; }
.guided-environment-grid dd { margin: 0; color: var(--muted, #a7b4c2); line-height: 1.45; overflow-wrap: anywhere; }
.guided-lifecycle-status { display: grid; gap: 1rem; margin-bottom: 1rem; padding: 1rem; border: 1px solid var(--border-color, #2c3a48); border-radius: .75rem; background: color-mix(in srgb, var(--surface, #101820) 96%, var(--accent, #18a8d8) 4%); }
.guided-lifecycle-status .section-header { padding: 0; border: 0; }
.de-checklist { display: grid; gap: .6rem; margin: 0; padding: 0; list-style: none; }
.de-checklist li { position: relative; padding: .75rem .85rem .75rem 2.25rem; border: 1px solid var(--border-color, #2c3a48); border-radius: .55rem; color: var(--muted, #a7b4c2); }
.de-checklist li::before { position: absolute; left: .8rem; top: .72rem; content: "○"; color: var(--muted, #a7b4c2); font-weight: 800; }
.de-checklist li.is-complete { color: var(--text, #f4f7fb); border-color: color-mix(in srgb, var(--success, #5fd19a) 55%, var(--border-color, #2c3a48)); }
.de-checklist li.is-complete::before { content: "✓"; color: var(--success, #5fd19a); }
.de-compact-facts { display: grid; gap: .45rem; margin: .65rem 0 0; }
.de-compact-facts > div { display: grid; grid-template-columns: minmax(7rem, .8fr) minmax(9rem, 1.2fr); gap: .75rem; padding-bottom: .35rem; border-bottom: 1px solid color-mix(in srgb, var(--border-color, #2c3a48) 70%, transparent); }
.de-compact-facts dt { color: var(--muted, #a7b4c2); font-weight: 650; }
.de-compact-facts dd { margin: 0; overflow-wrap: anywhere; }

.de-request-actions { display: flex; flex-wrap: wrap; align-items: center; gap: .55rem; }
.de-request-actions form { margin: 0; }
.de-ai-review-row > td { padding: 0 !important; background: color-mix(in srgb, var(--panel, #111821) 86%, #071018); }
.de-ai-review { padding: 1.1rem 1.2rem 1.25rem; border-left: .25rem solid var(--accent, #18d7ff); }
.de-ai-review-heading { display: flex; align-items: flex-start; justify-content: space-between; gap: 1rem; }
.de-ai-review-heading h3 { margin: .2rem 0 0; }
.de-ai-review-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .75rem; margin-top: .9rem; }
.de-ai-review-grid > div { min-height: 5.5rem; padding: .8rem; border: 1px solid var(--border-color, #2c3a48); border-radius: .55rem; }
.de-ai-review-grid strong,
.de-ai-review-grid span { display: block; }
.de-ai-review-grid span,
.de-ai-review-grid li,
.de-ai-review p { hyphens: none; overflow-wrap: normal; word-break: normal; }
.de-ai-review-grid > div,
.de-ai-review-grid span,
.de-ai-review p { max-width: 100%; overflow: hidden; }
.de-ai-review-grid span { margin-top: .35rem; color: var(--muted, #a7b4c2); }
.de-ai-review-grid ol { margin: .35rem 0 0; padding-left: 1.15rem; color: var(--muted, #a7b4c2); }
.de-ai-boundary { padding: .7rem .8rem; border: 1px solid color-mix(in srgb, var(--warning, #ffc83d) 45%, var(--border-color, #2c3a48)); border-radius: .5rem; color: var(--muted, #a7b4c2); }

@media (max-width: 980px) {
    .de-ai-review-grid { grid-template-columns: 1fr; }
    .de-ai-review-heading { flex-direction: column; }
}
.guided-supporting-actions { display: flex; justify-content: flex-end; margin-top: .85rem; padding-top: .85rem; border-top: 1px solid var(--border-color, #2c3a48); }
.guided-confirm-form { display: grid; gap: .75rem; }
.guided-action-impact { padding: 1rem; border: 1px solid var(--border-color, #2c3a48); border-left: 4px solid var(--accent, #18a8d8); border-radius: .7rem; background: var(--surface, #101820); }
.guided-action-impact p { margin: .35rem 0 0; }
.guided-wizard-blocker { display: grid; grid-template-columns: minmax(0, 1fr) auto; align-items: center; gap: 1rem; margin-top: 1rem; padding: 1rem; border: 1px solid var(--border-color, #2c3a48); border-left: 4px solid var(--warning, #d79722); border-radius: .7rem; background: var(--surface, #101820); }
.guided-wizard-blocker { border-left-color: var(--warning, #d79722); }
.guided-wizard-blocker h3 { margin: .2rem 0; }
.guided-wizard-blocker p { margin: .35rem 0; }
.guided-wizard-blocker > details { grid-column: 1 / -1; }
.guided-wizard-navigation { position: sticky; bottom: .5rem; z-index: 20; display: flex; justify-content: space-between; gap: 1rem; max-width: 64rem; margin: 1rem auto 2rem; padding: .8rem; border: 1px solid var(--border-color, #2c3a48); border-radius: .75rem; background: var(--surface, #101820); box-shadow: 0 -.4rem 1.2rem rgba(0,0,0,.18); }
.guided-wizard-navigation > div { display: flex; align-items: center; gap: .55rem; }
.guided-wizard-navigation form { margin: 0; }
.guided-workflow-more { position: relative; }
.guided-workflow-more > div { position: absolute; right: 0; bottom: calc(100% + .6rem); display: grid; gap: .45rem; min-width: 18rem; padding: .75rem; border: 1px solid var(--border-color, #2c3a48); border-radius: .65rem; background: var(--surface, #101820); box-shadow: 0 .8rem 2rem rgba(0,0,0,.28); }
.guided-workflow-more > div > * { width: 100%; }
.guided-launch-list, .guided-work-list, .guided-source-groups { display: grid; gap: .75rem; }
.guided-launch-row, .guided-work-row, .guided-inline-form { display: flex; align-items: center; justify-content: space-between; gap: 1rem; padding: 1rem; border: 1px solid var(--border-color, #2c3a48); border-radius: .7rem; background: var(--surface, #101820); }
.guided-launch-copy { min-width: 0; }
.guided-launch-copy h3, .guided-launch-copy p { margin: 0 0 .35rem; }
.guided-meta { display: flex; flex-wrap: wrap; gap: .45rem .9rem; font-size: .82rem; opacity: .86; }
.guided-launch-action, .guided-work-row > div:last-child { display: flex; flex-direction: column; align-items: flex-end; gap: .4rem; min-width: 12rem; }
.guided-step-list { display: grid; grid-template-columns: repeat(auto-fit, minmax(10rem, 1fr)); gap: .55rem; margin: 0; padding: 0; list-style: none; }
.guided-step a { display: flex; align-items: center; gap: .65rem; min-height: 4.25rem; padding: .7rem; border: 1px solid var(--border-color, #2c3a48); border-radius: .6rem; text-decoration: none; color: inherit; }
.guided-step[aria-current="step"] a { outline: 3px solid color-mix(in srgb, var(--accent, #18a8d8) 50%, transparent); border-color: var(--accent, #18a8d8); }
.guided-step-number { display: grid; place-items: center; flex: 0 0 1.8rem; height: 1.8rem; border-radius: 50%; border: 1px solid currentColor; font-weight: 700; }
.guided-step small, .guided-work-row span, .guided-work-row small, .guided-launch-action span { display: block; }
.guided-step-complete .guided-step-number::after { content: "✓"; font-size: .7rem; margin-left: .15rem; }
.guided-step-blocked .guided-step-number::after { content: "!"; font-size: .8rem; margin-left: .15rem; }
.accessible-progress { margin: .9rem 0 0; font-weight: 700; }
.guided-platform-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; }
.guided-platform-option { display: flex; align-items: flex-start; gap: .65rem; padding: .8rem; border: 1px solid var(--border-color, #2c3a48); border-radius: .55rem; }
.guided-platform-option input { margin-top: .25rem; }
.guided-platform-option small { display: block; }
.guided-source-groups details { padding: .8rem; border: 1px solid var(--border-color, #2c3a48); border-radius: .55rem; }
.guided-inline-form span { flex: 1; min-width: 0; }
.guided-inline-form small { display: block; }
.guided-workflow-actions { position: sticky; bottom: 0; z-index: 20; display: flex; flex-wrap: wrap; gap: .55rem; padding: .8rem; border: 1px solid var(--border-color, #2c3a48); border-radius: .7rem; background: var(--surface, #101820); box-shadow: 0 -.4rem 1.2rem rgba(0,0,0,.18); }
.guided-workflow-actions form { margin: 0; }

@media (max-width: 800px) {
    .guided-environment-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 560px) {
    .guided-environment-grid { grid-template-columns: 1fr; }
    .guided-environment-grid > div { min-height: 0; }
    .guided-supporting-actions .secondary-button { width: 100%; justify-content: center; }
}

.guided-blocker-list { display: grid; gap: 0.85rem; }
.guided-blocker { display: grid; grid-template-columns: minmax(0, 2fr) minmax(15rem, 1fr) auto; gap: 1rem; align-items: center; border: 1px solid var(--border); border-left: 4px solid var(--warning); border-radius: 0.75rem; padding: 1rem; background: var(--surface-strong); }
.guided-blocker h3 { margin: 0.25rem 0; }
.guided-blocker dl { margin: 0; display: grid; gap: 0.35rem; }
.guided-blocker dt { color: var(--muted); font-size: 0.75rem; }
.guided-blocker dd { margin: 0; }
.guided-next-action .review-panel { border-left: 4px solid var(--accent); }
.guided-evidence-handles { display: flex; flex-wrap: wrap; gap: 0.5rem; align-items: center; margin-top: 1rem; }
.guided-evidence-drawer { width: min(42rem, 94vw); max-width: none; height: 100dvh; max-height: none; margin: 0 0 0 auto; border: 0; border-left: 1px solid var(--border); padding: 0; color: var(--text); background: var(--surface); }
.guided-evidence-drawer::backdrop { background: rgba(2, 8, 18, 0.66); }
.guided-evidence-drawer-header { position: sticky; top: 0; display: flex; justify-content: space-between; gap: 1rem; align-items: center; padding: 1rem 1.25rem; border-bottom: 1px solid var(--border); background: var(--surface); z-index: 1; }
.guided-evidence-drawer-header h2 { margin: 0.15rem 0 0; }
.guided-evidence-drawer-body { padding: 1.25rem; overflow: auto; }
.guided-review-screen { max-width: 78rem; margin-inline: auto; }

@media (max-width: 760px) {
  .guided-blocker { grid-template-columns: 1fr; }
  .guided-evidence-drawer { width: 100vw; }
  .guided-evidence-drawer-header { align-items: flex-start; }
}
.status-text { font-weight: 700; }
.blocker-panel { border-left: .3rem solid #d79722; }
.review-panel { max-width: 58rem; }
@media (max-width: 760px) {
  .guided-wizard-header, .guided-wizard-progress > div:first-child, .guided-wizard-navigation { align-items: stretch; flex-direction: column; }
  .guided-step-explanation, .guided-wizard-blocker { grid-template-columns: 1fr; }
  .guided-wizard-navigation { position: static; }
  .guided-wizard-navigation > div { align-items: stretch; flex-direction: column; }
  .guided-workflow-more > div { position: static; margin-top: .6rem; }
  .guided-launch-row, .guided-work-row, .guided-inline-form { align-items: stretch; flex-direction: column; }
  .guided-launch-action, .guided-work-row > div:last-child { align-items: stretch; min-width: 0; }
  .guided-platform-list { grid-template-columns: 1fr; }
  .guided-step-list { grid-template-columns: 1fr; }
  .guided-workflow-actions { position: static; }
}
@media (min-width: 761px) and (max-width: 1080px) {
  .guided-step-map .guided-step-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
