@import url("https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Space+Grotesk:wght@500;600;700&display=swap");
@import url("https://cdn.jsdelivr.net/npm/bootstrap-icons@1.13.1/font/bootstrap-icons.min.css");

:root {
    --nia-bg: #05080d;
    --nia-panel: rgba(12, 19, 30, 0.88);
    --nia-panel-raised: rgba(17, 27, 42, 0.92);
    --nia-border: rgba(141, 180, 214, 0.14);
    --nia-border-strong: rgba(67, 179, 255, 0.32);
    --nia-text: #edf6ff;
    --nia-muted: #8295a8;
    --nia-blue: #39a8ff;
    --nia-cyan: #5ce1e6;
    --nia-green: #4ade80;
    --nia-amber: #fbbf24;
    --nia-red: #fb7185;
    --nia-radius: 14px;
    --nia-shadow: 0 20px 60px rgba(0, 0, 0, 0.28);
}

body.app-body {
    --page-accent: var(--nia-blue);
    --page-accent-rgb: 57, 168, 255;
    background:
        linear-gradient(rgba(57, 168, 255, 0.025) 1px, transparent 1px),
        linear-gradient(90deg, rgba(57, 168, 255, 0.025) 1px, transparent 1px),
        radial-gradient(circle at 74% 0%, rgba(21, 93, 155, 0.18), transparent 38%),
        var(--nia-bg);
    background-size: 42px 42px, 42px 42px, auto, auto;
    color: var(--nia-text);
    font-family: Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;
}

body[data-page="/gate-camps"] { --page-accent: #fb7185; --page-accent-rgb: 251, 113, 133; }
body[data-page="/intel-timeline"] { --page-accent: #a78bfa; --page-accent-rgb: 167, 139, 250; }
body[data-page="/fleet-analysis"] { --page-accent: #5ce1e6; --page-accent-rgb: 92, 225, 230; }
body[data-page^="/watchlists"] { --page-accent: #fbbf24; --page-accent-rgb: 251, 191, 36; }
body[data-page="/alerts"] { --page-accent: #fb923c; --page-accent-rgb: 251, 146, 60; }
body[data-page="/system-status"] { --page-accent: #4ade80; --page-accent-rgb: 74, 222, 128; }
body[data-page="/settings"] { --page-accent: #a78bfa; --page-accent-rgb: 167, 139, 250; }

.app-shell { grid-template-columns: 258px minmax(0, 1fr); background: none; }

.sidebar {
    position: sticky;
    top: 0;
    height: 100vh;
    padding: 22px 16px 18px;
    border-right: 1px solid var(--nia-border);
    background: rgba(5, 9, 15, 0.93);
    backdrop-filter: blur(18px);
    display: flex;
    flex-direction: column;
    z-index: 20;
}

.brand {
    display: flex;
    align-items: center;
    gap: 12px;
    margin: 0 4px 28px;
    color: var(--nia-text);
    text-decoration: none;
}

.brand-mark {
    width: 42px;
    height: 42px;
    border: 1px solid var(--nia-border-strong);
    border-radius: 11px;
    display: grid;
    place-items: center;
    color: var(--nia-blue);
    background: linear-gradient(145deg, rgba(57, 168, 255, 0.16), rgba(57, 168, 255, 0.03));
    box-shadow: inset 0 0 18px rgba(57, 168, 255, 0.08), 0 0 28px rgba(57, 168, 255, 0.08);
    font-size: 21px;
    font-weight: 800;
}

.brand > span:last-child { display: flex; flex-direction: column; min-width: 0; }
.brand strong { font-size: 17px; letter-spacing: 0.2em; }
.brand small { margin-top: 3px; color: var(--nia-muted); font-size: 8px; letter-spacing: 0.12em; text-transform: uppercase; }

.side-nav { gap: 3px; overflow-y: auto; padding-right: 2px; }
.nav-section { margin: 17px 10px 5px; color: #52677a; font-size: 9px; font-weight: 800; letter-spacing: 0.18em; text-transform: uppercase; }

.side-nav a,
.side-nav .nav-disabled {
    position: relative;
    min-height: 40px;
    padding: 9px 10px;
    border: 1px solid transparent;
    border-radius: 9px;
    display: grid;
    grid-template-columns: 25px 1fr auto;
    align-items: center;
    gap: 7px;
    color: #9db0c2;
    font-size: 12px;
    font-weight: 550;
}

.side-nav a:hover { background: rgba(57, 168, 255, 0.07); color: #dff2ff; }
.side-nav a.active { border-color: rgba(57, 168, 255, 0.18); background: linear-gradient(90deg, rgba(57, 168, 255, 0.17), rgba(57, 168, 255, 0.035)); color: white; }
.side-nav a.active::before { content: ""; position: absolute; left: -1px; width: 2px; height: 20px; border-radius: 3px; background: var(--nia-blue); box-shadow: 0 0 12px var(--nia-blue); }
.nav-icon { width: 21px; color: #6f879c; text-align: center; font-size: 15px; }
.side-nav a.active .nav-icon { color: var(--nia-blue); }
.nav-disabled { opacity: 0.42; cursor: not-allowed; }
.nav-disabled small { padding: 2px 5px; border: 1px solid #52677a; border-radius: 4px; font-size: 7px; letter-spacing: 0.08em; }

.sidebar-footer { margin-top: auto; padding-top: 14px; border-top: 1px solid var(--nia-border); }
.pilot-card { display: grid; grid-template-columns: 35px 1fr auto; align-items: center; gap: 9px; padding: 9px; border-radius: 10px; color: var(--nia-text); text-decoration: none; }
.pilot-card:hover { background: rgba(255, 255, 255, 0.035); }
.pilot-avatar { width: 35px; height: 35px; display: grid; place-items: center; border: 1px solid rgba(92, 225, 230, 0.3); border-radius: 50%; background: rgba(92, 225, 230, 0.09); color: var(--nia-cyan); font-weight: 800; }
.pilot-meta { display: flex; flex-direction: column; min-width: 0; }
.pilot-meta strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 11px; }
.pilot-meta small { margin-top: 3px; color: var(--nia-muted); font-size: 8px; letter-spacing: 0.12em; }
.pilot-chevron { color: #52677a; font-size: 20px; }
.logout-link { display: flex; justify-content: space-between; margin-top: 5px; padding: 7px 10px; color: #65798b; font-size: 10px; text-decoration: none; }
.logout-link:hover { color: var(--nia-red); }

.dashboard-main { padding: 0 34px 42px; min-width: 0; }
.topbar { height: 64px; border-bottom-color: var(--nia-border); }
.top-status { color: #91a6b8; font-size: 11px; font-weight: 600; letter-spacing: 0.05em; }
.topbar-context, .topbar-controls { display: flex; align-items: center; gap: 12px; }
.topbar-context { color: #6f8497; font-size: 9px; font-weight: 750; letter-spacing: 0.14em; }
.topbar-signal { width: 18px; height: 1px; background: var(--page-accent); box-shadow: 0 0 10px rgba(var(--page-accent-rgb), 0.8); }
.session-state { display: inline-flex; align-items: center; color: #8195a7; font-size: 9px; font-weight: 750; letter-spacing: 0.12em; }
.session-state.online { color: #86efac; }
.topbar-location { padding-left: 12px; border-left: 1px solid var(--nia-border); color: #d5e5f2; font-size: 11px; font-weight: 650; }
.topbar-role { padding: 4px 7px; border: 1px solid rgba(var(--page-accent-rgb), 0.22); border-radius: 5px; color: var(--page-accent); background: rgba(var(--page-accent-rgb), 0.07); font-size: 8px; font-weight: 800; letter-spacing: 0.12em; }
.topbar-logout { padding-left: 12px; border-left: 1px solid var(--nia-border); color: #71879a; font-size: 9px; font-weight: 750; letter-spacing: 0.1em; text-decoration: none; }
.topbar-logout:hover { color: var(--nia-red); }
.welcome { padding: 34px 0 24px; }
.welcome::before { content: "INTELLIGENCE MODULE"; display: block; margin-bottom: 10px; color: var(--page-accent); font-size: 8px; font-weight: 800; letter-spacing: 0.22em; }
.welcome h1 { margin: 0 0 9px; font-size: clamp(32px, 4vw, 48px); line-height: 1.05; letter-spacing: -0.035em; }
.welcome p { color: var(--nia-muted); font-size: 13px; line-height: 1.6; }

.grid { gap: 16px; }
.card {
    position: relative;
    overflow: hidden;
    border: 1px solid var(--nia-border);
    border-radius: var(--nia-radius);
    background: linear-gradient(145deg, rgba(17, 27, 42, 0.9), rgba(9, 15, 24, 0.9));
    box-shadow: var(--nia-shadow);
    backdrop-filter: blur(10px);
}
.card::before { content: ""; position: absolute; top: 0; left: 18px; right: 18px; height: 1px; background: linear-gradient(90deg, transparent, rgba(var(--page-accent-rgb), 0.48), transparent); opacity: 0.7; }
.card::after { content: ""; position: absolute; width: 140px; height: 140px; top: -100px; right: -80px; border-radius: 50%; background: rgba(var(--page-accent-rgb), 0.07); filter: blur(28px); pointer-events: none; }
.card:hover { border-color: rgba(var(--page-accent-rgb), 0.32); transform: translateY(-1px); }
.card h2 { color: #f1f8ff; font-size: 15px; letter-spacing: -0.01em; }
.card h3 { color: #ddecf8; }
.card p { color: #95a8ba; line-height: 1.55; }
.card-header { border-bottom-color: var(--nia-border); }
.stat-line { border-bottom-color: var(--nia-border); color: #94a8ba; }
.stat-line strong { color: #e9f5ff; }

.pill { border: 1px solid rgba(57, 168, 255, 0.25); background: rgba(57, 168, 255, 0.09); color: #83c9ff; letter-spacing: 0.08em; }
.pill { border-color: rgba(var(--page-accent-rgb), 0.3); background: rgba(var(--page-accent-rgb), 0.09); color: var(--page-accent); }
.panel-btn, .primary-btn, .secondary-btn { transition: border-color 160ms ease, background 160ms ease, transform 160ms ease; }
.panel-btn:hover, .primary-btn:hover, .secondary-btn:hover { transform: translateY(-1px); }

input, select, textarea { border: 1px solid var(--nia-border-strong); border-radius: 8px; background: rgba(3, 8, 14, 0.72); color: var(--nia-text); }
input:focus, select:focus, textarea:focus { outline: 2px solid rgba(57, 168, 255, 0.18); border-color: var(--nia-blue); }

.dot { width: 8px; height: 8px; }
.green { background: var(--nia-green); box-shadow: 0 0 12px rgba(74, 222, 128, 0.8); }
.red { background: var(--nia-red); box-shadow: 0 0 12px rgba(251, 113, 133, 0.7); }

@media (max-width: 900px) {
    .app-shell { grid-template-columns: 74px minmax(0, 1fr); }
    .sidebar { padding-inline: 10px; }
    .brand { justify-content: center; margin-inline: 0; }
    .brand > span:last-child, .nav-section, .side-nav a > span:nth-child(2), .nav-disabled > span:nth-child(2), .nav-disabled small, .pilot-meta, .pilot-chevron, .logout-link { display: none; }
    .side-nav a, .side-nav .nav-disabled { display: grid; grid-template-columns: 1fr; place-items: center; padding-inline: 5px; }
    .pilot-card { display: grid; grid-template-columns: 1fr; place-items: center; }
    .dashboard-main { padding-inline: 20px; }
}

@media (max-width: 620px) {
    .app-shell { display: block; }
    .sidebar { position: static; width: 100%; height: auto; padding: 12px 14px; border-right: 0; border-bottom: 1px solid var(--nia-border); }
    .brand { justify-content: flex-start; margin: 0; }
    .brand > span:last-child { display: flex; }
    .side-nav, .sidebar-footer { display: none; }
    .dashboard-main { padding: 0 14px 30px; }
    .topbar { height: 52px; }
    .welcome { padding-top: 24px; }
    .grid { grid-template-columns: 1fr; }
}

/* Public command portal */
.public-nav {
    height: 76px;
    padding: 0 clamp(20px, 5vw, 72px);
    border-bottom: 1px solid var(--nia-border);
    background: rgba(5, 9, 15, 0.82);
    backdrop-filter: blur(18px);
}
.public-brand { display: flex; align-items: center; gap: 12px; color: white; text-decoration: none; }
.public-brand > span:last-child { display: flex; flex-direction: column; }
.public-brand strong { letter-spacing: 0.2em; font-size: 16px; }
.public-brand small { margin-top: 3px; color: var(--nia-muted); font-size: 8px; letter-spacing: 0.12em; }
.public-nav .nav-links { gap: 28px; }
.public-nav .nav-links a { color: #8fa4b7; font-size: 12px; font-weight: 600; }
.public-nav .nav-links a:hover { color: var(--nia-text); }
.hero {
    position: relative;
    min-height: calc(100vh - 76px);
    height: auto;
    overflow: hidden;
    background:
        linear-gradient(rgba(57, 168, 255, 0.03) 1px, transparent 1px),
        linear-gradient(90deg, rgba(57, 168, 255, 0.03) 1px, transparent 1px),
        radial-gradient(circle at 50% 28%, rgba(26, 105, 170, 0.22), transparent 35%),
        #05080d;
    background-size: 48px 48px, 48px 48px, auto, auto;
    padding: 70px 24px;
}
.hero::before { content: ""; position: absolute; width: 600px; height: 600px; top: -320px; left: 50%; transform: translateX(-50%); border: 1px solid rgba(57, 168, 255, 0.1); border-radius: 50%; box-shadow: 0 0 100px rgba(57, 168, 255, 0.06); }
.hero-content { position: relative; max-width: 900px; }
.hero .status { color: var(--nia-cyan); font-size: 10px; letter-spacing: 0.22em; }
.hero h1 { font-size: clamp(52px, 7.5vw, 92px); letter-spacing: -0.055em; line-height: 0.95; }
.hero h1 span { color: transparent; -webkit-text-stroke: 1px rgba(173, 213, 241, 0.48); }
.hero .subtitle { max-width: 700px; margin: 0 auto 34px; color: #91a5b7; font-size: clamp(16px, 2vw, 20px); }
.hero .login-consent { border-color: var(--nia-border); background: rgba(10, 17, 27, 0.78); box-shadow: var(--nia-shadow); }
.hero .login-consent p { max-width: 650px; margin: 0 auto; font-size: 13px; }
.hero .legal-links { justify-content: center; margin-left: 0; }
.hero .primary-btn { background: linear-gradient(135deg, #147bc4, #32a6ef); border-radius: 8px; box-shadow: 0 10px 30px rgba(30, 139, 214, 0.2); font-size: 13px; font-weight: 700; }
.hero .secondary-btn { font-size: 12px; }

.disclosure-briefing { position: sticky; top: 14px; z-index: 5; display: grid; grid-template-columns: 38px 1fr; gap: 14px; align-items: center; margin: 22px 0 34px; padding: 16px 18px; border: 1px solid rgba(92, 225, 230, 0.3); border-radius: 12px; background: rgba(7, 17, 25, 0.94); box-shadow: 0 15px 45px rgba(0, 0, 0, 0.34); backdrop-filter: blur(14px); }
.briefing-icon { width: 36px; height: 36px; display: grid; place-items: center; border-radius: 50%; background: rgba(92, 225, 230, 0.1); color: var(--nia-cyan); font-size: 20px; animation: briefing-pulse 1.8s ease-in-out infinite; }
.disclosure-briefing strong { color: var(--nia-cyan); font-size: 9px; letter-spacing: 0.16em; }
.disclosure-briefing p { margin: 3px 0 0; color: #a7bacb; font-size: 12px; line-height: 1.45; }
@keyframes briefing-pulse { 50% { transform: translateY(3px); box-shadow: 0 0 16px rgba(92, 225, 230, 0.18); } }

.watchlist-actions { display: flex; align-items: center; gap: 14px; margin: 0 0 14px; padding: 12px 14px; border: 1px solid var(--nia-border); border-radius: 10px; background: rgba(12, 19, 30, 0.72); color: #91a6b8; font-size: 11px; }
.watchlist-actions label { display: flex; align-items: center; gap: 8px; }
.watchlist-actions input, .watchlist-select input { accent-color: var(--nia-amber); }
.watchlist-actions .danger-btn { margin-left: auto; }
.watchlist-card { padding-top: 48px; }
.watchlist-select { position: absolute; z-index: 2; top: 14px; right: 16px; display: flex; align-items: center; gap: 6px; color: #7e93a5; font-size: 9px; font-weight: 700; letter-spacing: 0.08em; text-transform: uppercase; cursor: pointer; }
.danger-btn { padding: 9px 13px; border: 1px solid rgba(251, 113, 133, 0.34); border-radius: 8px; background: rgba(251, 113, 133, 0.09); color: #fda4af; font-size: 10px; font-weight: 750; letter-spacing: 0.05em; cursor: pointer; }
.danger-btn:hover:not(:disabled) { border-color: #fb7185; background: rgba(251, 113, 133, 0.17); }
.danger-btn:disabled { opacity: 0.38; cursor: not-allowed; }
.dossier-danger-zone { display: flex; justify-content: space-between; align-items: center; gap: 24px; margin-top: 24px; padding: 18px; border: 1px solid rgba(251, 113, 133, 0.2); border-radius: 12px; background: rgba(70, 16, 27, 0.12); }
.dossier-danger-zone strong { color: #fecdd3; }
.dossier-danger-zone p { margin: 4px 0 0; color: #8295a8; font-size: 11px; }
.intel-subheading { margin: 20px 0 8px; color: var(--page-accent); font-size: 10px; font-weight: 800; letter-spacing: 0.14em; text-transform: uppercase; }
.affiliation-line { display: flex; justify-content: space-between; align-items: center; gap: 14px; padding: 9px 0; border-bottom: 1px solid var(--nia-border); color: #d7e6f2; font-size: 11px; }
.affiliation-line span { display: flex; align-items: center; gap: 8px; min-width: 0; }
.affiliation-line small { padding: 3px 5px; border-radius: 4px; font-size: 7px; font-weight: 800; letter-spacing: 0.08em; }
.affiliation-line.alliance small { color: #c4b5fd; background: rgba(167, 139, 250, 0.12); }
.affiliation-line.corporation small { color: #67e8f9; background: rgba(34, 211, 238, 0.1); }
.affiliation-line strong { color: #8fa4b7; font-size: 10px; white-space: nowrap; }
.identity-pending { display: flex; align-items: center; gap: 8px; color: #8295a8; font-size: 10px; }
.identity-pending span { width: 8px; height: 8px; border: 1px solid #52677a; border-top-color: var(--page-accent); border-radius: 50%; animation: identity-spin 900ms linear infinite; }
@keyframes identity-spin { to { transform: rotate(360deg); } }
.field-help, .metric-window { color: #73889b !important; font-size: 10px !important; line-height: 1.5 !important; }
.metric-window { margin: 0 0 9px !important; color: var(--page-accent) !important; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; }
.metric-label { display: inline-flex; align-items: center; gap: 6px; }
.info-tip { width: 16px; height: 16px; padding: 0; border: 1px solid #52677a; border-radius: 50%; background: transparent; color: #8295a8; font-size: 9px; cursor: help; }
.positive-value { color: #4ade80 !important; }
.negative-value { color: #fb7185 !important; }
.finance-card::before { background: linear-gradient(90deg, transparent, rgba(74, 222, 128, 0.5), transparent); }

.command-welcome { display: flex; justify-content: space-between; align-items: end; gap: 24px; }
.command-clock { display: flex; flex-direction: column; align-items: flex-end; padding-bottom: 3px; }
.command-clock small, .card-eyebrow { color: var(--page-accent); font-size: 8px; font-weight: 800; letter-spacing: 0.18em; }
.command-clock strong { margin-top: 5px; color: #dcecf8; font-size: 13px; }
.command-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 1px; margin-bottom: 16px; overflow: hidden; border: 1px solid var(--nia-border); border-radius: 12px; background: var(--nia-border); }
.command-metrics a { position: relative; display: grid; grid-template-columns: auto 1fr; column-gap: 10px; padding: 18px; background: rgba(10, 17, 27, 0.95); color: var(--nia-text); text-decoration: none; }
.command-metrics a:hover { background: rgba(18, 31, 46, 0.98); }
.command-metrics small { grid-column: 1 / -1; color: #667c8f; font-size: 8px; font-weight: 800; letter-spacing: 0.14em; }
.command-metrics strong { margin-top: 6px; color: var(--page-accent); font-size: 28px; line-height: 1; }
.command-metrics span { align-self: end; color: #8295a8; font-size: 10px; }
.dashboard-command-grid { display: grid; grid-template-columns: repeat(12, minmax(0, 1fr)); gap: 16px; }
.dashboard-command-grid > .card { grid-column: span 6; min-width: 0; }
.dashboard-command-grid > .command-primary { grid-column: span 8; }
.dashboard-command-grid > .pilot-command-card { grid-column: span 4; }
.dashboard-command-grid > .command-wide { grid-column: span 8; }
.dashboard-command-grid > .system-compact { grid-column: span 4; }
.card-eyebrow { margin: 0 0 5px !important; }
.text-link { color: #7590a5; font-size: 9px; font-weight: 700; letter-spacing: 0.05em; text-decoration: none; white-space: nowrap; }
.text-link:hover { color: var(--page-accent); }
.intel-row { display: grid; grid-template-columns: 24px minmax(0, 1fr) auto; align-items: center; gap: 12px; padding: 13px 0; border-bottom: 1px solid var(--nia-border); color: var(--nia-text); text-decoration: none; }
.intel-row:last-child { border-bottom: 0; }
.intel-row > span:nth-child(2) { display: flex; flex-direction: column; min-width: 0; }
.intel-row > span:nth-child(2) strong { overflow: hidden; color: #dcebf7; font-size: 11px; text-overflow: ellipsis; white-space: nowrap; }
.intel-row > span:nth-child(2) small { overflow: hidden; margin-top: 4px; color: #71879a; font-size: 9px; line-height: 1.35; text-overflow: ellipsis; white-space: nowrap; }
.intel-row:hover > span:nth-child(2) strong { color: white; }
.intel-value { display: flex; flex-direction: column; align-items: flex-end; }
.intel-value strong { font-size: 12px; }
.intel-value small { margin-top: 3px; color: #71879a; font-size: 7px; letter-spacing: 0.1em; }
.threat-indicator { width: 9px; height: 9px; border-radius: 50%; background: var(--nia-amber); box-shadow: 0 0 12px rgba(251, 191, 36, 0.55); }
.threat-confirmed, .threat-likely { background: var(--nia-red); box-shadow: 0 0 12px rgba(251, 113, 133, 0.65); }
.entity-glyph, .alert-severity { width: 24px; height: 24px; display: grid; place-items: center; border: 1px solid rgba(251, 191, 36, 0.25); border-radius: 7px; background: rgba(251, 191, 36, 0.08); color: #fbbf24; font-size: 9px; font-weight: 800; }
.alert-severity { border-color: rgba(251, 146, 60, 0.25); background: rgba(251, 146, 60, 0.08); color: #fb923c; }
.pilot-telemetry { display: grid; grid-template-columns: 68px 1fr; align-items: center; gap: 16px; margin: 18px 0; }
.telemetry-avatar { width: 68px; height: 68px; display: grid; place-items: center; border: 1px solid rgba(57, 168, 255, 0.3); border-radius: 50%; background: radial-gradient(circle, rgba(57, 168, 255, 0.18), rgba(57, 168, 255, 0.03)); color: #8fd0ff; font-size: 25px; font-weight: 800; box-shadow: 0 0 30px rgba(57, 168, 255, 0.1); }
.pilot-telemetry h3 { margin: 8px 0 4px; font-size: 15px; }
.pilot-telemetry p { margin: 0; font-size: 10px; }
.empty-intel { min-height: 130px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; color: #6f8497; }
.empty-intel > span { margin-bottom: 8px; color: var(--page-accent); font-size: 22px; }
.empty-intel strong { color: #b9cddd; font-size: 12px; }
.empty-intel p { max-width: 430px; margin: 6px 0; font-size: 10px; }
.timeline-row { display: grid; grid-template-columns: 12px 1fr auto; align-items: start; gap: 10px; padding: 12px 0; border-bottom: 1px solid var(--nia-border); }
.timeline-row:last-child { border-bottom: 0; }
.timeline-dot { width: 7px; height: 7px; margin-top: 4px; border-radius: 50%; background: #8295a8; }
.timeline-dot.severity-critical, .timeline-dot.severity-high { background: var(--nia-red); box-shadow: 0 0 10px rgba(251, 113, 133, 0.6); }
.timeline-row > span:nth-child(2) { display: flex; flex-direction: column; }
.timeline-row strong { color: #dcebf7; font-size: 11px; }
.timeline-row small { margin-top: 4px; color: #71879a; font-size: 9px; line-height: 1.4; }
.timeline-row time { color: #657b8d; font-size: 8px; white-space: nowrap; }
.intel-overview { display: grid; grid-template-columns: repeat(4, 1fr); gap: 10px; margin-bottom: 14px; }
.intel-overview > div { padding: 14px 16px; border: 1px solid var(--nia-border); border-radius: 11px; background: linear-gradient(145deg, rgba(18, 29, 47, .92), rgba(10, 18, 31, .92)); }
.intel-overview small, .event-context small, .fc-implication small, .composition-strip > small { display: block; color: #6f8497; font-size: 7px; font-weight: 800; letter-spacing: .13em; }
.intel-overview strong { display: block; margin: 5px 0 2px; color: #e4f2ff; font-size: 22px; }
.intel-overview span { color: #6f8497; font-size: 8px; }
.operational-timeline { display: flex; flex-direction: column; gap: 10px; }
.intel-event { display: grid; grid-template-columns: 46px minmax(0, 1fr); padding: 0; overflow: hidden; border-left: 2px solid #8295a8; }
.intel-event.severity-border-critical, .intel-event.severity-border-high { border-left-color: var(--nia-red); }
.intel-event.severity-border-warning { border-left-color: var(--nia-amber); }
.event-marker { position: relative; display: flex; justify-content: center; padding-top: 18px; background: rgba(255,255,255,.012); }
.event-marker span { position: relative; z-index: 1; width: 28px; height: 28px; display: grid; place-items: center; border: 1px solid rgba(var(--page-accent-rgb), .3); border-radius: 8px; background: rgba(var(--page-accent-rgb), .1); color: var(--page-accent); font-size: 7px; font-weight: 900; }
.event-marker i { position: absolute; top: 47px; bottom: 0; width: 1px; background: linear-gradient(var(--nia-border), transparent); }
.event-content { padding: 16px 18px 17px 4px; }
.event-meta { display: flex; align-items: center; gap: 8px; }
.event-meta time { margin-left: auto; color: #657b8d; font-size: 8px; }
.event-type { color: var(--page-accent); font-size: 7px; font-weight: 900; letter-spacing: .13em; }
.event-content h2 { margin: 9px 0 5px; font-size: 14px; }
.event-content > p { margin: 0; color: #859bad; font-size: 10px; }
.event-context { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 13px; }
.event-context > span { min-width: 78px; padding: 8px 10px; border: 1px solid var(--nia-border); border-radius: 7px; background: rgba(255,255,255,.018); }
.event-context strong { display: block; margin-top: 4px; color: #cde0ef; font-size: 10px; }
.composition-strip, .event-affiliations { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: 10px; }
.composition-strip > small { width: 100%; }
.composition-strip span, .event-affiliations span { padding: 5px 7px; border-radius: 5px; background: rgba(var(--page-accent-rgb), .07); color: #9eb5c7; font-size: 8px; }
.event-affiliations small { margin-right: 5px; color: #758a9c; font-size: 6px; font-weight: 800; }
.fc-implication { margin-top: 12px; padding: 10px 12px; border-left: 2px solid var(--page-accent); border-radius: 0 7px 7px 0; background: rgba(var(--page-accent-rgb), .055); }
.fc-implication strong { display: block; margin-top: 4px; color: #b9cedd; font-size: 9px; font-weight: 600; }
.route-search-card { margin-bottom: 14px; }
.route-search-card .filter-bar input { min-width: 230px; padding: 10px 12px; }
.route-planner-form { display: grid; grid-template-columns: minmax(360px, 1.35fr) minmax(220px, .8fr) auto; gap: 12px; align-items: end; }
.route-origin-control { min-width: 0; margin: 0; padding: 0; border: 0; }
.route-origin-control legend, .route-destination-control > span, .route-manual-origin > span { display: block; margin-bottom: 6px; color: #7e8993; font-size: 7px; font-weight: 800; letter-spacing: .11em; }
.route-origin-options { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 7px; }
.route-origin-options > label { position: relative; cursor: pointer; }
.route-origin-options input { position: absolute; opacity: 0; pointer-events: none; }
.route-origin-options label > span { display: grid; grid-template-columns: 24px minmax(0, 1fr); column-gap: 8px; min-height: 58px; padding: 9px 10px; border: 1px solid var(--nia-border); border-radius: 7px; background: rgba(255, 255, 255, .018); transition: border-color 160ms ease, background 160ms ease; }
.route-origin-options i { grid-row: 1 / 3; align-self: center; color: #688094; font-size: 13px; }
.route-origin-options strong { align-self: end; color: #b9ccda; font-size: 9px; }
.route-origin-options small { align-self: start; overflow: hidden; color: #657b8c; font-size: 7px; text-overflow: ellipsis; white-space: nowrap; }
.route-origin-options input:checked + span { border-color: rgba(var(--page-accent-rgb), .48); background: rgba(var(--page-accent-rgb), .08); box-shadow: inset 0 0 0 1px rgba(var(--page-accent-rgb), .08); }
.route-origin-options input:checked + span i, .route-origin-options input:checked + span strong { color: var(--page-accent); }
.route-origin-options input:focus-visible + span { outline: 2px solid var(--page-accent); outline-offset: 2px; }
.route-policy-controls { display: grid; grid-column: 1 / -1; grid-template-columns: repeat(3, minmax(150px, .65fr)) minmax(260px, 1.4fr); gap: 10px; margin: 2px 0 0; padding: 13px; border: 1px solid var(--nia-border); border-radius: 8px; background: rgba(255,255,255,.012); }
.route-policy-controls legend { padding: 0 6px; color: #7e8993; font-size: 7px; font-weight: 800; letter-spacing: .11em; }
.route-policy-controls label { display: flex; flex-direction: column; gap: 6px; color: #7e8993; font-size: 7px; font-weight: 800; letter-spacing: .1em; }
.route-policy-controls :is(input, select) { min-height: 36px; border: 1px solid var(--nia-border); border-radius: 6px; background: rgba(4,8,12,.72); color: #c8d3db; padding: 0 10px; }
.route-policy-controls small { color: #566672; font-size: 7px; font-weight: 500; letter-spacing: normal; }
.route-monitor-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; margin-top: 12px; }
.saved-route-form > p { margin: 0 0 16px; color: #788994; font-size: 9px; line-height: 1.6; }
.saved-route-rows { display: grid; gap: 7px; }
.saved-route-row { display: grid; grid-template-columns: minmax(0, 1fr) auto auto auto; align-items: center; gap: 8px; padding: 10px; border: 1px solid var(--nia-border); border-radius: 7px; background: rgba(255,255,255,.012); }
.saved-route-row.muted { opacity: .55; }
.saved-route-row > a { display: flex; min-width: 0; flex-direction: column; gap: 4px; color: #c5d0d7; text-decoration: none; }
.saved-route-row > a strong { font-size: 10px; }
.saved-route-row > a small { overflow: hidden; color: #657581; font-size: 7px; text-overflow: ellipsis; white-space: nowrap; }
.saved-route-row > span { min-width: 32px; text-align: center; font-family: "Space Grotesk", sans-serif; font-size: 14px; font-weight: 700; }
.saved-route-row form { margin: 0; }
.saved-route-row .icon-button { width: 29px; height: 29px; border: 1px solid var(--nia-border); border-radius: 6px; background: transparent; color: #82929d; cursor: pointer; }
.saved-route-row .icon-button:hover { border-color: rgba(var(--page-accent-rgb),.45); color: var(--page-accent); }
.saved-route-row .icon-button.danger:hover { border-color: rgba(210,93,93,.45); color: #d26b6b; }
.empty-compact { display: flex; min-height: 90px; align-items: center; justify-content: center; flex-direction: column; gap: 5px; color: #687985; font-size: 8px; }
.empty-compact strong { color: #a7b5be; font-size: 10px; }
.route-manual-origin { display: block; margin-top: 9px; }
.route-manual-origin[hidden] { display: none; }
.route-manual-origin input, .route-destination-control input { width: 100%; min-height: 38px; padding: 9px 11px; }
.route-destination-control { min-width: 0; }
.route-analyze-button { min-height: 38px; white-space: nowrap; }
.route-suggestions { display: flex; flex-wrap: wrap; gap: 7px; margin-top: 13px; }
.route-suggestions small { width: 100%; color: #6f8497; font-size: 7px; font-weight: 800; letter-spacing: .13em; }
.route-suggestions a { padding: 6px 9px; border: 1px solid var(--nia-border); border-radius: 6px; color: #a9c0d2; font-size: 9px; text-decoration: none; }
.route-live { display: grid; grid-template-columns: minmax(260px, .65fr) minmax(420px, 1.35fr); gap: 12px; align-items: start; }
.route-change { grid-column: 1 / -1; border-color: rgba(251, 191, 36, .45); color: #fbbf24; font-size: 10px; }
.route-score { display: flex; align-items: center; gap: 13px; margin: 18px 0; }
.route-score > strong { color: var(--page-accent); font-size: 44px; line-height: 1; }
.route-score > span { display: flex; flex-direction: column; }
.route-score b { color: #d9e9f5; font-size: 11px; }
.route-score small { margin-top: 4px; color: #6f8497; font-size: 8px; }
.route-systems { display: flex; flex-direction: column; }
.route-system { display: grid; grid-template-columns: 24px minmax(0, 1fr) 32px; align-items: center; gap: 10px; padding: 10px 0; border-bottom: 1px solid var(--nia-border); }
.route-system:last-child { border-bottom: 0; }
.route-index { width: 21px; height: 21px; display: grid; place-items: center; border: 1px solid var(--nia-border); border-radius: 50%; color: #71879a; font-size: 7px; }
.route-system > span:nth-child(2) { display: flex; flex-direction: column; min-width: 0; }
.route-system strong { color: #cfe1ef; font-size: 10px; }
.route-system small { overflow: hidden; margin-top: 3px; color: #6f8497; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.route-system > b { color: #70879a; font-size: 12px; text-align: right; }
.route-system.risk-elevated > b { color: var(--nia-amber); }
.route-system.risk-high > b, .route-system.risk-critical > b { color: var(--nia-red); }
.route-threat-brief { margin-top: 10px; padding: 9px 10px; border: 1px solid rgba(251, 113, 133, .2); border-radius: 7px; background: rgba(251, 113, 133, .045); color: #b9cddd; font-size: 9px; line-height: 1.45; }
@media (max-width: 980px) {
    .route-planner-form { grid-template-columns: 1fr; }
    .route-policy-controls { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .route-monitor-grid { grid-template-columns: 1fr; }
    .route-analyze-button { width: 100%; justify-content: center; }
}
.alert-settings-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.settings-check { display: flex; align-items: flex-start; gap: 9px; padding: 10px 0; border-bottom: 1px solid var(--nia-border); cursor: pointer; }
.settings-check input { margin-top: 2px; accent-color: var(--nia-blue); }
.settings-check span { display: flex; flex-direction: column; }
.settings-check strong { color: #cfe1ef; font-size: 10px; }
.settings-check small { margin-top: 3px; color: #71879a; font-size: 8px; }
.settings-field { display: flex; flex-direction: column; gap: 6px; margin-top: 12px; color: #8499aa; font-size: 8px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.settings-field input, .settings-field select, .settings-field textarea { padding: 10px; color: #d8e7f2; font-size: 10px; letter-spacing: normal; text-transform: none; }
.settings-field textarea { min-height: 58px; resize: vertical; }
.settings-field > small { color: #647b8d; font-size: 8px; font-weight: 500; letter-spacing: 0; line-height: 1.45; text-transform: none; }
.filter-bar form { display: inline-flex; margin: 0; }
.alert-relevance { background: rgba(57, 168, 255, .06); border: 1px solid rgba(57, 168, 255, .15); border-radius: 8px; display: flex; flex-direction: column; gap: 3px; margin-top: 12px; padding: 9px 10px; }
.alert-relevance strong { color: var(--nia-blue); font-size: 8px; letter-spacing: .08em; text-transform: uppercase; }
.alert-relevance span { color: #8ba1b3; font-size: 9px; line-height: 1.4; }

.settings-welcome { align-items: flex-end; display: flex; justify-content: space-between; gap: 1rem; }
.settings-hub-grid { display: grid; gap: 14px; grid-template-columns: repeat(2, minmax(0, 1fr)); }
.settings-hub-card { display: flex; flex-direction: column; min-height: 320px; }
.settings-hub-card > header { align-items: center; display: flex; gap: 11px; }
.settings-hub-card > header h2 { margin: 2px 0 0; }
.settings-card-icon { align-items: center; background: rgba(167, 139, 250, .1); border: 1px solid rgba(167, 139, 250, .24); border-radius: 10px; color: #b9a6ff; display: flex; font-size: 17px; height: 40px; justify-content: center; width: 40px; }
.settings-card-icon.alert { background: rgba(251, 146, 60, .08); border-color: rgba(251, 146, 60, .22); color: #fb923c; }
.settings-card-icon.layout { background: rgba(126, 182, 213, .08); border-color: rgba(126, 182, 213, .22); color: #8fc5e2; }
.settings-card-icon.account { background: rgba(92, 225, 230, .08); border-color: rgba(92, 225, 230, .22); color: var(--nia-cyan); }
.settings-card-icon.privacy { background: rgba(74, 222, 128, .08); border-color: rgba(74, 222, 128, .22); color: var(--nia-green); }
.settings-card-copy { color: var(--nia-muted); font-size: 11px; margin: 16px 0; }
.settings-toggle-list { display: grid; margin-top: 4px; }
.settings-switch { align-items: center; border-bottom: 1px solid var(--nia-border); cursor: pointer; display: flex; gap: 12px; justify-content: space-between; padding: 12px 0; }
.settings-switch > span { display: flex; flex-direction: column; gap: 3px; }
.settings-switch strong { color: var(--nia-text); font-size: 11px; }
.settings-switch small { color: var(--nia-muted); font-size: 9px; }
.settings-switch input { height: 1px; opacity: 0; position: absolute; width: 1px; }
.settings-switch > i { background: #151c24; border: 1px solid #313c47; border-radius: 999px; height: 22px; position: relative; transition: 160ms ease; width: 40px; }
.settings-switch > i::after { background: #758493; border-radius: 50%; content: ""; height: 14px; left: 3px; position: absolute; top: 3px; transition: 160ms ease; width: 14px; }
.settings-switch input:checked + i { background: rgba(var(--page-accent-rgb), .2); border-color: var(--page-accent); }
.settings-switch input:checked + i::after { background: var(--page-accent); transform: translateX(18px); }
.settings-switch input:focus-visible + i { outline: 2px solid var(--nia-blue); outline-offset: 2px; }
.settings-hub-card > footer { align-items: center; color: var(--nia-muted); display: flex; font-size: 9px; gap: 12px; justify-content: space-between; margin-top: auto; padding-top: 13px; }
.settings-text-button { background: transparent; border: 0; color: var(--page-accent); cursor: pointer; font-size: 9px; padding: 0; }
.settings-summary-list { display: grid; margin-top: 14px; }
.settings-summary-list > div { align-items: center; border-bottom: 1px solid var(--nia-border); display: flex; font-size: 10px; justify-content: space-between; padding: 10px 0; }
.settings-summary-list span { color: var(--nia-muted); }
.settings-summary-list strong { color: var(--nia-text); }
.settings-card-action { align-items: center; border-top: 1px solid var(--nia-border); color: var(--page-accent); display: flex; font-size: 10px; font-weight: 700; justify-content: space-between; margin-top: auto; padding-top: 14px; text-decoration: none; }
.settings-card-action:hover { color: var(--nia-text); }
.settings-account-row { align-items: center; display: flex; gap: 12px; margin-top: 20px; }
.settings-account-avatar { align-items: center; background: rgba(92, 225, 230, .09); border: 1px solid rgba(92, 225, 230, .25); border-radius: 50%; color: var(--nia-cyan); display: flex; font-weight: 800; height: 48px; justify-content: center; width: 48px; }
.settings-account-row > div { display: flex; flex-direction: column; gap: 4px; }
.settings-account-row strong { color: var(--nia-text); }
.settings-account-row small { color: var(--nia-muted); font-size: 8px; letter-spacing: .12em; }
.settings-link-list { display: grid; margin-top: 8px; }
.settings-link-list a { align-items: center; border-bottom: 1px solid var(--nia-border); color: var(--nia-text); display: flex; font-size: 10px; justify-content: space-between; padding: 12px 0; text-decoration: none; }
.settings-link-list a:hover { color: var(--page-accent); }
.settings-link-list i { color: var(--nia-muted); }

.settings-accent-fieldset { border: 0; margin: 3px 0 8px; padding: 0; }
.settings-accent-fieldset legend { color: var(--nia-muted); font-size: 8px; font-weight: 800; letter-spacing: .12em; margin-bottom: 10px; text-transform: uppercase; }
.settings-accent-options { display: grid; gap: 7px; grid-template-columns: repeat(5, minmax(0, 1fr)); }
.settings-accent-option { align-items: center; background: rgba(255, 255, 255, .018); border: 1px solid var(--nia-border); border-radius: 8px; color: var(--nia-muted); cursor: pointer; display: flex; flex-direction: column; font-size: 8px; gap: 6px; padding: 9px 4px 7px; }
.settings-accent-option:hover { border-color: var(--nia-border-strong); color: var(--nia-text); }
.settings-accent-option input { height: 1px; opacity: 0; position: absolute; width: 1px; }
.settings-accent-option i { background: var(--accent-preview); border: 2px solid rgba(255, 255, 255, .14); border-radius: 50%; box-shadow: 0 0 12px color-mix(in srgb, var(--accent-preview) 42%, transparent); height: 18px; width: 18px; }
.settings-accent-option.system { --accent-preview: linear-gradient(135deg, #d3a15f 0 24%, #78b8c9 25% 49%, #d97777 50% 74%, #a995c8 75%); }
.settings-accent-option.gold { --accent-preview: #d3a15f; }
.settings-accent-option.blue { --accent-preview: #7eb6d5; }
.settings-accent-option.cyan { --accent-preview: #78c5c9; }
.settings-accent-option.violet { --accent-preview: #a995c8; }
.settings-accent-option:has(input:checked) { background: rgba(var(--page-accent-rgb), .08); border-color: var(--page-accent); color: var(--nia-text); box-shadow: inset 0 0 0 1px rgba(var(--page-accent-rgb), .08); }
.settings-accent-option input:focus-visible + i { outline: 2px solid var(--nia-text); outline-offset: 3px; }
.settings-surface-options { display: grid; gap: 7px; grid-template-columns: repeat(3, minmax(0, 1fr)); }
.settings-surface-option { align-items: center; background: rgba(255, 255, 255, .018); border: 1px solid var(--nia-border); border-radius: 8px; cursor: pointer; display: flex; gap: 8px; padding: 9px; }
.settings-surface-option:hover { border-color: var(--nia-border-strong); }
.settings-surface-option input { height: 1px; opacity: 0; position: absolute; width: 1px; }
.settings-surface-option > i { background: var(--surface-preview); border: 1px solid rgba(255, 255, 255, .16); border-radius: 5px; height: 27px; width: 27px; }
.settings-surface-option.command { --surface-preview: linear-gradient(145deg, #151a20, #090b0e); }
.settings-surface-option.space { --surface-preview: linear-gradient(145deg, #101d2a, #050a10); }
.settings-surface-option.black { --surface-preview: linear-gradient(145deg, #101010, #000); }
.settings-surface-option > span { display: flex; flex-direction: column; min-width: 0; }
.settings-surface-option strong { color: var(--nia-text); font-size: 9px; }
.settings-surface-option small { color: var(--nia-muted); font-size: 7px; margin-top: 2px; }
.settings-surface-option:has(input:checked) { background: rgba(var(--page-accent-rgb), .08); border-color: var(--page-accent); }
.settings-surface-option input:focus-visible + i { outline: 2px solid var(--nia-text); outline-offset: 3px; }
.settings-device-footer { align-items: center; border-top: 1px solid var(--nia-border); color: var(--nia-muted); display: flex; font-size: 9px; justify-content: space-between; margin-top: 18px; padding: 15px 2px 0; }
.settings-device-footer > span, .settings-device-footer button { align-items: center; display: flex; gap: 7px; }
.settings-device-footer > span > i { color: var(--page-accent); }

@media (max-width: 800px) {
    .settings-welcome { align-items: flex-start; flex-direction: column; }
    .settings-hub-grid { grid-template-columns: 1fr; }
    .settings-device-footer { align-items: flex-start; flex-direction: column; gap: 12px; }
}

@media (max-width: 480px) { .settings-accent-options { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
.settings-hours { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.settings-save { grid-column: 1 / -1; display: flex; gap: 8px; }
.operations-layout { display: grid; grid-template-columns: minmax(300px, .75fr) minmax(360px, 1.25fr); gap: 12px; align-items: start; }
.operations-list { display: flex; flex-direction: column; gap: 10px; }
.operation-card { display: block; color: inherit; text-decoration: none; transition: border-color .2s, transform .2s; }
.operation-card:hover { border-color: rgba(var(--page-accent-rgb), .35); transform: translateY(-1px); }
.operation-form > .panel-btn { margin-top: 14px; }
.operation-actions { display: flex; flex-wrap: wrap; gap: 7px; margin-bottom: 12px; }
.panel-btn.danger { border-color: rgba(251, 113, 133, .35); color: #fb7185; }
.operations-detail-grid { display: grid; grid-template-columns: minmax(300px, .7fr) minmax(420px, 1.3fr); gap: 12px; align-items: start; }
.planned-route { color: #91a8ba; font-size: 9px; line-height: 1.7; }
.status-active { color: #4ade80; }
.status-completed { color: #71879a; }
.target-help { margin: 8px 0 14px; color: #8298aa; font-size: 9px; line-height: 1.55; }
.operation-target-list { display: flex; flex-direction: column; margin-bottom: 14px; }
.operation-target { display: grid; grid-template-columns: 70px minmax(0, 1fr) auto; align-items: center; gap: 10px; padding: 10px 0; border-bottom: 1px solid var(--nia-border); }
.target-objective { padding: 5px 6px; border: 1px solid var(--nia-border); border-radius: 5px; color: #9cb2c3; font-size: 7px; font-weight: 900; text-align: center; letter-spacing: .08em; }
.target-primary { border-color: rgba(251, 113, 133, .35); color: #fb7185; background: rgba(251, 113, 133, .06); }
.target-secondary { border-color: rgba(251, 191, 36, .35); color: #fbbf24; background: rgba(251, 191, 36, .06); }
.target-avoid { border-color: rgba(96, 165, 250, .35); color: #60a5fa; background: rgba(96, 165, 250, .06); }
.target-identity { display: flex; flex-direction: column; min-width: 0; }
.target-identity strong, .target-search-result strong { color: #d5e5f1; font-size: 10px; }
.target-identity small, .target-search-result small { margin-top: 3px; color: #71879a; font-size: 8px; }
.target-identity .target-territory { color: #60a5fa; }
.target-identity .target-backfill { color: #fbbf24; }
.target-identity .target-backfill-complete { color: #4ade80; }
.target-identity .target-backfill-failed { color: #fb7185; }
.target-identity .target-classification { color: #c084fc; }
.target-remove { padding: 5px; border: 0; background: transparent; color: #8ea2b2; font-size: 8px; cursor: pointer; }
.target-remove:hover { color: #fb7185; }
.operation-target-empty, .target-search-empty { margin-bottom: 13px; padding: 11px; border: 1px dashed var(--nia-border); border-radius: 7px; color: #708697; font-size: 9px; }
.target-search-form { display: flex; align-items: flex-end; gap: 8px; padding-top: 3px; }
.target-search-form .settings-field { flex: 1; }
.target-search-form .panel-btn { margin-bottom: 1px; }
.target-search-result { display: grid; grid-template-columns: minmax(0, 1fr) 155px auto; align-items: center; gap: 8px; padding: 10px 0; border-top: 1px solid var(--nia-border); }
.target-search-result > span { display: flex; flex-direction: column; }
.target-search-result select { padding: 8px; color: #d8e7f2; font-size: 9px; }
.operation-create-targets { margin-top: 16px; padding: 13px; border: 1px solid var(--nia-border); border-radius: 8px; background: rgba(var(--page-accent-rgb), .025); }
.operation-create-targets .intel-subheading { margin-top: 0; }
.target-lookup-row { display: flex; gap: 8px; }
.target-lookup-row input { flex: 1; min-width: 0; padding: 10px; color: #d8e7f2; font-size: 10px; }
.target-search-status { min-height: 14px; margin: 7px 0; color: #71879a; font-size: 8px; }
.operation-target-results { display: flex; flex-direction: column; }
.operation-target-results .target-search-result { grid-template-columns: minmax(0, 1fr) auto; }
.selected-operation-target { grid-template-columns: 90px minmax(0, 1fr) auto; }
.selected-operation-target select { padding: 7px; color: #d8e7f2; font-size: 8px; }
.operation-suggestions { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.operation-suggestion { padding: 7px 9px; border: 1px solid rgba(var(--page-accent-rgb), .2); border-radius: 6px; background: rgba(var(--page-accent-rgb), .04); }
.operation-suggestion strong { display: block; color: #cfe1ef; font-size: 9px; }
.operation-suggestion small { display: block; margin-top: 3px; color: #71879a; font-size: 7px; }
.sov-metrics { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; margin-bottom: 12px; }
.sov-metrics .card { display: flex; flex-direction: column; }
.sov-metrics small { color: #71879a; font-size: 7px; font-weight: 900; letter-spacing: .11em; }
.sov-metrics strong { margin-top: 7px; color: var(--page-accent); font-size: 25px; }
.sov-search-card { margin-bottom: 12px; }
.sov-search-card input { min-width: 280px; padding: 10px; }
.sov-freshness { display: block; margin-top: 9px; color: #63798b; font-size: 8px; }
.sov-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; align-items: start; }
.sov-results-card { margin-bottom: 12px; }
.sov-system-row, .sov-campaign { display: grid; grid-template-columns: 1fr 1fr; gap: 12px; padding: 10px 0; border-bottom: 1px solid var(--nia-border); }
.sov-system-row > span, .sov-campaign > span { display: flex; flex-direction: column; }
.sov-system-row strong, .sov-campaign strong { color: #cfe1ef; font-size: 9px; }
.sov-system-row small, .sov-campaign small { margin-top: 3px; color: #71879a; font-size: 7px; }

@media (max-width: 1100px) {
    .dashboard-command-grid > .card, .dashboard-command-grid > .command-primary, .dashboard-command-grid > .pilot-command-card, .dashboard-command-grid > .command-wide, .dashboard-command-grid > .system-compact { grid-column: span 12; }
    .command-metrics { grid-template-columns: repeat(2, 1fr); }
}

@media (max-width: 620px) {
    .public-nav .nav-links { display: none; }
    .hero { padding-top: 52px; }
    .hero h1 { font-size: 50px; }
    .topbar-context, .topbar-role, .topbar-location { display: none; }
    .topbar { justify-content: flex-end; }
    .disclosure-briefing { position: static; }
    .intel-overview { grid-template-columns: repeat(2, 1fr); }
    .intel-event { grid-template-columns: 38px minmax(0, 1fr); }
    .event-meta { flex-wrap: wrap; }
    .event-meta time { width: 100%; margin-left: 0; }
    .route-origin-options { grid-template-columns: 1fr; }
    .route-policy-controls { grid-template-columns: 1fr; }
    .route-live { grid-template-columns: 1fr; }
    .alert-settings-grid { grid-template-columns: 1fr; }
    .operations-layout, .operations-detail-grid { grid-template-columns: 1fr; }
    .target-search-result { grid-template-columns: 1fr; }
    .sov-metrics, .sov-grid { grid-template-columns: 1fr; }
}

/* NIA command interface -------------------------------------------------- */
:root {
    color-scheme: dark;
    --nia-bg: #090b0e;
    --nia-panel: #11151a;
    --nia-panel-raised: #151a20;
    --nia-panel-soft: #0e1216;
    --nia-border: rgba(226, 232, 240, 0.085);
    --nia-border-strong: rgba(226, 232, 240, 0.16);
    --nia-text: #eef1f4;
    --nia-muted: #89939f;
    --nia-subtle: #5d6873;
    --nia-blue: #7eb6d5;
    --nia-cyan: #78c5c9;
    --nia-gold: #d3a15f;
    --nia-green: #70b68b;
    --nia-amber: #d7a05c;
    --nia-red: #d97777;
    --nia-radius: 12px;
    --nia-shadow: 0 18px 45px rgba(0, 0, 0, 0.22);
}

html { background: var(--nia-bg); scrollbar-color: #343b43 #0b0e12; }

body.app-body {
    --page-accent: var(--nia-gold);
    --page-accent-rgb: 211, 161, 95;
    background:
        radial-gradient(circle at 12% -12%, rgba(211, 161, 95, 0.075), transparent 31rem),
        radial-gradient(circle at 96% 8%, rgba(83, 132, 164, 0.075), transparent 36rem),
        linear-gradient(145deg, #090b0e 0%, #0b0e12 48%, #090b0e 100%);
    background-attachment: fixed;
    color: var(--nia-text);
    font-family: "Manrope", "Segoe UI Variable", "Segoe UI", sans-serif;
    font-size: 13px;
    font-synthesis: none;
    -webkit-font-smoothing: antialiased;
}

body[data-page^="/operations"] { --page-accent: #d3a15f; --page-accent-rgb: 211, 161, 95; }
body[data-page="/route-intelligence"] { --page-accent: #78b8c9; --page-accent-rgb: 120, 184, 201; }
body[data-page="/fleet-analysis"] { --page-accent: #8caec8; --page-accent-rgb: 140, 174, 200; }
body[data-page="/gate-camps"] { --page-accent: #d97777; --page-accent-rgb: 217, 119, 119; }
body[data-page="/intel-timeline"] { --page-accent: #a995c8; --page-accent-rgb: 169, 149, 200; }
body[data-page="/sovereignty"] { --page-accent: #78ad91; --page-accent-rgb: 120, 173, 145; }
body[data-page^="/watchlists"] { --page-accent: #c8a66f; --page-accent-rgb: 200, 166, 111; }
body[data-page="/alerts"], body[data-page="/alert-settings"] { --page-accent: #d58b68; --page-accent-rgb: 213, 139, 104; }
body[data-page="/system-status"] { --page-accent: #7cae91; --page-accent-rgb: 124, 174, 145; }
body[data-page="/atlas"] { --page-accent: #67b9c7; --page-accent-rgb: 103, 185, 199; }
body[data-page="/economy"] { --page-accent: #79b88d; --page-accent-rgb: 121, 184, 141; }
body[data-page="/industry"] { --page-accent: #d29b62; --page-accent-rgb: 210, 155, 98; }

button, input, select, textarea { font: inherit; }
a, button { -webkit-tap-highlight-color: transparent; }
a:focus-visible, button:focus-visible, input:focus-visible, select:focus-visible, textarea:focus-visible {
    outline: 2px solid var(--page-accent);
    outline-offset: 2px;
}

.app-shell {
    grid-template-columns: 274px minmax(0, 1fr);
    min-height: 100vh;
    background: transparent;
}

.sidebar {
    position: sticky;
    top: 0;
    height: 100vh;
    padding: 24px 18px 18px;
    border-right: 1px solid var(--nia-border);
    background: linear-gradient(180deg, rgba(14, 17, 21, 0.985), rgba(8, 10, 13, 0.99));
    box-shadow: 16px 0 40px rgba(0, 0, 0, 0.12);
    backdrop-filter: blur(22px);
}

.brand {
    gap: 13px;
    margin: 0 5px 26px;
    padding: 0 2px;
}

.brand-mark {
    position: relative;
    width: 42px;
    height: 42px;
    overflow: hidden;
    border: 1px solid rgba(211, 161, 95, 0.42);
    border-radius: 10px 10px 10px 3px;
    background: linear-gradient(145deg, rgba(211, 161, 95, 0.16), rgba(211, 161, 95, 0.035));
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.025), 0 8px 24px rgba(0, 0, 0, 0.28);
    color: #e6bd83;
    font-family: "Space Grotesk", sans-serif;
    font-size: 20px;
    font-weight: 700;
}

.brand-mark::after {
    content: "";
    position: absolute;
    right: -12px;
    bottom: -12px;
    width: 24px;
    height: 24px;
    background: var(--nia-gold);
    transform: rotate(45deg);
    opacity: 0.5;
}

.brand-copy { display: flex; flex-direction: column; min-width: 0; }
.brand-copy strong {
    color: #f2f0eb;
    font-family: "Space Grotesk", sans-serif;
    font-size: 17px;
    font-weight: 650;
    letter-spacing: 0.18em;
}
.brand-copy small {
    margin-top: 3px;
    color: #6f7882;
    font-size: 7px;
    font-weight: 700;
    letter-spacing: 0.13em;
    text-transform: uppercase;
}

.side-nav {
    gap: 2px;
    overflow-x: hidden;
    overflow-y: auto;
    padding: 0 3px 12px 0;
    scrollbar-width: thin;
}

.nav-section {
    margin: 18px 11px 7px;
    color: #59636d;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: 0.2em;
}

.side-nav a,
.side-nav .nav-disabled {
    min-height: 42px;
    padding: 5px 8px;
    border: 1px solid transparent;
    border-radius: 9px;
    grid-template-columns: 32px minmax(0, 1fr) auto;
    gap: 9px;
    color: #87919c;
    font-size: 11px;
    font-weight: 650;
    letter-spacing: -0.01em;
    text-decoration: none;
    transition: color 150ms ease, background 150ms ease, border-color 150ms ease;
}
.side-nav a > span, .side-nav .nav-disabled > span { width: auto; text-align: left; }

.side-nav a:hover {
    border-color: rgba(226, 232, 240, 0.06);
    background: rgba(255, 255, 255, 0.035);
    color: #e3e7ea;
}

.side-nav a.active {
    border-color: rgba(var(--page-accent-rgb), 0.2);
    background: linear-gradient(90deg, rgba(var(--page-accent-rgb), 0.14), rgba(var(--page-accent-rgb), 0.035));
    color: #f4f2ed;
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, 0.018);
}
.side-nav .nav-live-badge {
    position: static !important;
    width: auto !important;
    height: auto !important;
    overflow: visible !important;
    clip: auto !important;
    padding: 3px 5px;
    border: 1px solid rgba(112, 182, 139, .22);
    border-radius: 999px;
    color: #7fc39a;
    background: rgba(112, 182, 139, .055);
    font-size: 6px;
    font-weight: 850;
    letter-spacing: .08em;
}

.side-nav a.active::before {
    left: -1px;
    width: 2px;
    height: 18px;
    background: var(--page-accent);
    box-shadow: none;
}

.side-nav .nav-overview {
    min-height: 48px;
    margin-bottom: 5px;
    border-color: rgba(226, 232, 240, 0.07);
    background: rgba(255, 255, 255, 0.022);
    color: #c7cdd3;
    font-size: 12px;
}

.side-nav .nav-overview.active {
    border-color: rgba(211, 161, 95, 0.24);
    background: linear-gradient(100deg, rgba(211, 161, 95, 0.15), rgba(211, 161, 95, 0.025));
}

.nav-icon {
    width: 32px;
    height: 30px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(226, 232, 240, 0.06);
    border-radius: 7px;
    background: rgba(255, 255, 255, 0.025);
    color: #6f7a85;
    font-size: 13px;
    line-height: 1;
    text-align: center;
}

.side-nav a:hover .nav-icon { color: #b8c0c7; }
.side-nav a.active .nav-icon {
    border-color: rgba(var(--page-accent-rgb), 0.22);
    background: rgba(var(--page-accent-rgb), 0.11);
    color: var(--page-accent);
}
.nav-disabled { opacity: 0.42; cursor: not-allowed; }
.nav-disabled small {
    padding: 3px 5px;
    border: 1px solid rgba(226, 232, 240, 0.12);
    border-radius: 4px;
    color: #707b85;
    font-size: 6px;
    font-weight: 800;
    letter-spacing: 0.1em;
}

.sidebar-footer {
    margin-top: auto;
    padding-top: 13px;
    border-top: 1px solid var(--nia-border);
}
.pilot-card {
    grid-template-columns: 36px minmax(0, 1fr) auto;
    gap: 10px;
    padding: 8px;
    border: 1px solid transparent;
    border-radius: 9px;
}
.pilot-card:hover, .pilot-card.active {
    border-color: rgba(226, 232, 240, 0.07);
    background: rgba(255, 255, 255, 0.028);
}
.pilot-avatar {
    width: 36px;
    height: 36px;
    border-color: rgba(211, 161, 95, 0.28);
    background: rgba(211, 161, 95, 0.08);
    color: #dfb77e;
    font-family: "Space Grotesk", sans-serif;
}
.pilot-meta strong { color: #d7dce0; font-size: 10px; }
.pilot-meta small { color: #66717c; font-size: 7px; }
.pilot-chevron { color: #515c66; font-size: 12px; }
.logout-link {
    align-items: center;
    margin-top: 3px;
    padding: 8px 10px;
    color: #5f6973;
    font-size: 9px;
}
.logout-link:hover { color: #d78585; }
.mobile-nav-toggle { display: none; }

.dashboard-main {
    width: 100%;
    max-width: 1740px;
    min-width: 0;
    margin: 0 auto;
    padding: 0 42px 52px;
}

.topbar {
    position: sticky;
    top: 0;
    z-index: 15;
    height: 66px;
    border-bottom: 1px solid var(--nia-border);
    background: rgba(9, 11, 14, 0.82);
    backdrop-filter: blur(18px);
}
.topbar-context {
    gap: 8px;
    color: #7e8892;
    font-size: 9px;
    font-weight: 700;
    letter-spacing: 0.04em;
    text-transform: uppercase;
}
.topbar-context i { color: #48525c; font-size: 8px; }
.topbar-product { color: var(--page-accent); letter-spacing: 0.15em; }
.topbar-signal {
    width: 15px;
    height: 2px;
    border-radius: 2px;
    background: var(--page-accent);
    box-shadow: none;
}
.topbar-controls { gap: 14px; }
.session-state {
    gap: 6px;
    color: #8d969e;
    font-size: 8px;
    font-weight: 750;
    letter-spacing: 0.08em;
    text-transform: uppercase;
}
.session-state.online { color: #88b99a; }
.session-state .dot { margin-right: 0; }
.topbar-location {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding-left: 14px;
    color: #bdc4ca;
    font-size: 9px;
}
.topbar-location i { color: var(--page-accent); }
.topbar-role {
    padding: 5px 7px;
    border-color: rgba(var(--page-accent-rgb), 0.18);
    border-radius: 5px;
    background: rgba(var(--page-accent-rgb), 0.055);
    color: var(--page-accent);
    font-size: 7px;
}
.topbar-logout {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    padding-left: 14px;
    color: #707a84;
    font-size: 8px;
    text-transform: uppercase;
}
.topbar-logout:hover { color: #d78585; }

.welcome {
    margin: 0;
    padding: 38px 0 25px;
}
.welcome::before {
    content: "OPERATIONAL WORKSPACE";
    margin-bottom: 9px;
    color: var(--page-accent);
    font-size: 7px;
    font-weight: 800;
    letter-spacing: 0.2em;
}
.welcome h1 {
    color: #f2f3f4;
    font-family: "Space Grotesk", "Manrope", sans-serif;
    font-size: clamp(30px, 3.2vw, 43px);
    font-weight: 600;
    line-height: 1.08;
    letter-spacing: -0.035em;
}
.welcome p {
    max-width: 760px;
    margin-top: 7px;
    color: #88929c;
    font-size: 12px;
    line-height: 1.65;
}
.command-clock small, .card-eyebrow { color: var(--page-accent); }
.command-clock strong { color: #c7cdd2; font-size: 11px; }

.grid { gap: 14px; }
.card {
    overflow: hidden;
    padding: 20px;
    border: 1px solid var(--nia-border);
    border-radius: var(--nia-radius);
    background: linear-gradient(145deg, rgba(20, 24, 29, 0.96), rgba(14, 18, 22, 0.96));
    box-shadow: 0 12px 34px rgba(0, 0, 0, 0.18);
    backdrop-filter: blur(8px);
}
.card::before, .card::after { display: none; }
.card:hover { border-color: var(--nia-border); transform: none; }
.card h2 {
    margin-bottom: 16px;
    color: #e8eaec;
    font-family: "Space Grotesk", "Manrope", sans-serif;
    font-size: 15px;
    font-weight: 600;
    letter-spacing: -0.012em;
    text-transform: none;
}
.card h3 { color: #d4d8dc; }
.card p { color: #88929c; }
.card-header {
    margin: -1px 0 7px;
    padding-bottom: 15px;
    border-bottom: 1px solid var(--nia-border);
}
.card-header h2 { margin-bottom: 0; }
.card-eyebrow {
    margin-bottom: 5px !important;
    font-size: 7px;
    letter-spacing: 0.17em;
}
.stat-line {
    min-height: 40px;
    align-items: center;
    padding: 10px 0;
    border-bottom-color: var(--nia-border);
    color: #8d969f;
    font-size: 10px;
}
.stat-line strong { color: #d8dde1; font-size: 10px; font-weight: 650; }
.intel-subheading { color: var(--page-accent); font-size: 8px; letter-spacing: 0.16em; }

.pill {
    padding: 5px 7px;
    border: 1px solid rgba(var(--page-accent-rgb), 0.2);
    border-radius: 5px;
    background: rgba(var(--page-accent-rgb), 0.07);
    color: var(--page-accent);
    font-size: 7px;
    font-weight: 800;
    letter-spacing: 0.1em;
}

input, select, textarea {
    border: 1px solid rgba(226, 232, 240, 0.13);
    border-radius: 8px;
    background: #0b0f13;
    color: #e3e6e8;
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, 0.018);
}
input:hover, select:hover, textarea:hover { border-color: rgba(226, 232, 240, 0.2); }
input:focus, select:focus, textarea:focus {
    outline: 2px solid rgba(var(--page-accent-rgb), 0.11);
    border-color: rgba(var(--page-accent-rgb), 0.62);
}

.panel-btn, .primary-btn, .secondary-btn, .danger-btn {
    min-height: 38px;
    padding: 10px 14px;
    border-radius: 8px;
    font-size: 9px;
    font-weight: 750;
    letter-spacing: 0.025em;
    transition: color 150ms ease, border-color 150ms ease, background 150ms ease, transform 150ms ease;
}
.panel-btn {
    border-color: rgba(var(--page-accent-rgb), 0.3);
    background: rgba(var(--page-accent-rgb), 0.075);
    color: var(--page-accent);
}
.panel-btn:hover {
    border-color: rgba(var(--page-accent-rgb), 0.58);
    background: rgba(var(--page-accent-rgb), 0.13);
    color: #f1e5d5;
}
button.panel-btn { cursor: pointer; }
.text-link { color: #838e98; font-size: 8px; }
.text-link:hover { color: var(--page-accent); }

.command-metrics {
    gap: 0;
    margin-bottom: 14px;
    border-color: var(--nia-border);
    border-radius: var(--nia-radius);
    background: var(--nia-border);
    box-shadow: 0 12px 34px rgba(0, 0, 0, 0.14);
}
.command-metrics a {
    min-height: 96px;
    padding: 17px 19px;
    background: rgba(16, 20, 24, 0.97);
}
.command-metrics a + a { border-left: 1px solid var(--nia-border); }
.command-metrics a:hover { background: rgba(23, 28, 33, 0.98); }
.command-metrics small { color: #65707a; font-size: 7px; }
.command-metrics strong {
    margin-top: 8px;
    color: var(--page-accent);
    font-family: "Space Grotesk", sans-serif;
    font-size: 26px;
    font-weight: 600;
}
.command-metrics span { color: #707b85; font-size: 9px; }
.dashboard-command-grid { gap: 14px; }

.intel-row { border-bottom-color: var(--nia-border); }
.intel-row > span:nth-child(2) strong { color: #d9dde1; font-size: 10px; }
.intel-row > span:nth-child(2) small { color: #747f89; font-size: 8px; }
.entity-glyph, .alert-severity {
    border-radius: 6px;
    background: rgba(var(--page-accent-rgb), 0.07);
    color: var(--page-accent);
}
.empty-intel > span { color: var(--page-accent); }

.filter-bar { gap: 11px; }
.filter-bar label, .settings-field {
    color: #7e8993;
    font-size: 7px;
    font-weight: 800;
    letter-spacing: 0.11em;
}
.filter-bar select, .filter-bar input[type="number"] { background: #0b0f13; border-color: rgba(226, 232, 240, 0.13); }
.operation-card { transition: border-color 160ms ease, background 160ms ease, transform 160ms ease; }
.operation-card:hover {
    border-color: rgba(var(--page-accent-rgb), 0.25);
    background: linear-gradient(145deg, rgba(24, 29, 35, 0.98), rgba(16, 20, 24, 0.98));
    transform: translateY(-1px);
}

.alert-count-badge {
    border: 1px solid rgba(217, 119, 119, 0.3);
    background: rgba(217, 119, 119, 0.14);
    color: #e6a0a0;
    font-size: 8px;
}

.account-layout { display: grid; grid-template-columns: minmax(260px, 0.72fr) minmax(380px, 1.28fr); gap: 14px; align-items: start; }
.account-identity-card { display: flex; align-items: center; gap: 18px; min-height: 180px; }
.account-identity-card h2 { margin: 5px 0 12px; font-size: 22px; }
.account-avatar {
    width: 76px;
    height: 76px;
    flex: 0 0 76px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(211, 161, 95, 0.32);
    border-radius: 18px 18px 18px 6px;
    background: linear-gradient(145deg, rgba(211, 161, 95, 0.16), rgba(211, 161, 95, 0.025));
    color: #e1b77d;
    font-family: "Space Grotesk", sans-serif;
    font-size: 30px;
    font-weight: 650;
}
.account-card-icon { color: var(--page-accent); font-size: 18px; }
.account-note { margin: 16px 0 0; font-size: 10px; line-height: 1.65; }
.admin-users-card { padding: 0; }
.admin-users-card > .card-header, .admin-users-card > .admin-intro { margin-inline: 20px; }
.admin-users-card > .card-header { margin-top: 20px; }
.admin-users-card > .admin-intro { margin-bottom: 18px; }
.admin-table-wrap { border: 0; border-top: 1px solid var(--nia-border); border-radius: 0; }
.admin-table { background: transparent; }
.admin-table th, .admin-table td { padding: 14px 20px; border-bottom-color: var(--nia-border); }
.admin-table th { color: #65707a; font-size: 7px; letter-spacing: 0.14em; }
.admin-table td { color: #aeb6bd; font-size: 10px; }
.admin-table tbody tr:hover { background: rgba(255, 255, 255, 0.018); }
.status-online, .status-offline { display: inline-flex; align-items: center; gap: 6px; }
.role-badge { border-radius: 5px; font-size: 7px; letter-spacing: 0.08em; }

/* Restricted administration console */
.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; }
.admin-welcome { display: flex; align-items: flex-end; justify-content: space-between; gap: 24px; }
.admin-welcome > div { max-width: 850px; }
.admin-restricted-badge { display: inline-flex; align-items: center; gap: 8px; padding: 8px 11px; border: 1px solid rgba(211, 161, 95, .24); border-radius: 7px; color: #d6b17c; background: rgba(211, 161, 95, .07); font-size: 8px; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.admin-message { margin: 0 0 14px; padding: 11px 13px; border: 1px solid; border-radius: 8px; font-size: 10px; }
.admin-message-success { color: #8bd5aa; border-color: rgba(112, 182, 139, .28); background: rgba(112, 182, 139, .07); }
.admin-message-error { color: #ef8c92; border-color: rgba(221, 93, 102, .3); background: rgba(221, 93, 102, .07); }
.admin-summary-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 12px; margin: 0 0 14px; }
.admin-summary-card { position: relative; min-height: 116px; padding: 16px; display: grid; grid-template-columns: 38px 1fr; align-items: center; gap: 11px; overflow: hidden; }
.admin-summary-card::after { content: ""; position: absolute; right: -32px; bottom: -45px; width: 110px; height: 110px; border: 1px solid rgba(var(--page-accent-rgb), .08); border-radius: 50%; }
.admin-summary-card > div { display: grid; gap: 2px; }
.admin-summary-card > div strong { color: #eef2f4; font-family: "Space Grotesk", sans-serif; font-size: 22px; line-height: 1; }
.admin-summary-card > div span { color: #8e989f; font-size: 9px; font-weight: 700; }
.admin-summary-card > small { grid-column: 1 / -1; color: #657079; font-size: 8px; }
.admin-summary-icon { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid rgba(var(--page-accent-rgb), .2); border-radius: 9px; color: var(--page-accent); background: rgba(var(--page-accent-rgb), .06); font-size: 15px; }
.admin-summary-icon.green { color: #79c99a; border-color: rgba(112, 182, 139, .24); background: rgba(112, 182, 139, .07); }
.admin-summary-icon.amber { color: #d6ad73; border-color: rgba(211, 161, 95, .24); background: rgba(211, 161, 95, .07); }
.admin-summary-icon.red { color: #e67880; border-color: rgba(221, 93, 102, .24); background: rgba(221, 93, 102, .07); }
.admin-section-nav { position: sticky; top: 0; z-index: 5; display: flex; gap: 5px; margin: 0 0 24px; padding: 6px; border: 1px solid var(--nia-border); border-radius: 9px; background: rgba(8, 13, 17, .94); backdrop-filter: blur(12px); }
.admin-section-nav a { display: inline-flex; align-items: center; gap: 7px; padding: 8px 11px; border-radius: 6px; color: #7f8a92; font-size: 8px; font-weight: 750; letter-spacing: .04em; text-decoration: none; }
.admin-section-nav a:hover { color: #dce2e5; background: rgba(255, 255, 255, .035); }
.admin-section { margin: 0 0 34px; scroll-margin-top: 70px; }
.admin-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 28px; margin: 0 0 12px; }
.admin-section-heading h2 { margin: 3px 0 0; font-size: 19px; }
.admin-section-heading > p { max-width: 520px; margin: 0; color: #707b83; font-size: 9px; line-height: 1.55; text-align: right; }
.admin-worker-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 10px; }
.admin-worker-card { padding: 15px; min-width: 0; }
.admin-worker-card.worker-needs-attention { border-color: rgba(221, 93, 102, .24); background: linear-gradient(135deg, rgba(221, 93, 102, .045), rgba(10, 16, 21, .94) 46%); }
.admin-worker-card .card-header { align-items: flex-start; gap: 10px; }
.admin-worker-card .card-header small { color: #5f6a72; font-family: monospace; font-size: 7px; letter-spacing: .08em; }
.admin-worker-card h3 { margin: 3px 0 0; color: #d8dee1; font-size: 12px; }
.admin-health-pill { display: inline-flex; align-items: center; gap: 5px; color: #88939a; font-size: 7px; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; white-space: nowrap; }
.admin-health-pill.healthy { color: #77c897; }
.admin-health-pill.unhealthy { color: #e67880; }
.admin-worker-metrics { display: grid; grid-template-columns: repeat(3, 1fr); gap: 1px; margin: 13px 0; overflow: hidden; border: 1px solid var(--nia-border); border-radius: 7px; background: var(--nia-border); }
.admin-worker-metrics > div { min-width: 0; padding: 8px; display: grid; gap: 4px; background: rgba(9, 15, 20, .96); }
.admin-worker-metrics span { color: #56616a; font-size: 7px; text-transform: uppercase; }
.admin-worker-metrics strong { overflow: hidden; color: #aeb7bc; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.admin-error-details { margin: -2px 0 11px; padding: 7px 9px; border: 1px solid rgba(221, 93, 102, .16); border-radius: 6px; color: #cf767d; background: rgba(221, 93, 102, .04); font-size: 8px; }
.admin-error-details summary { cursor: pointer; font-weight: 700; }
.admin-error-details p { max-height: 80px; margin: 7px 0 0; overflow: auto; color: #9d777a; font-family: monospace; line-height: 1.5; }
.admin-worker-footer { min-height: 28px; display: flex; align-items: center; justify-content: space-between; gap: 10px; color: #59646c; font-size: 7px; }
.admin-action-btn, .admin-icon-btn { border: 1px solid rgba(var(--page-accent-rgb), .25); color: var(--page-accent); background: rgba(var(--page-accent-rgb), .07); cursor: pointer; font: inherit; font-weight: 750; }
.admin-action-btn { display: inline-flex; align-items: center; justify-content: center; gap: 6px; min-height: 29px; padding: 6px 10px; border-radius: 6px; font-size: 8px; }
.admin-action-btn.subtle { border-color: var(--nia-border-strong); color: #98a3a9; background: rgba(255, 255, 255, .02); }
.admin-action-btn:hover, .admin-icon-btn:hover { color: #eef3f5; border-color: rgba(var(--page-accent-rgb), .45); background: rgba(var(--page-accent-rgb), .13); }
.admin-directory-toolbar { display: grid; grid-template-columns: minmax(260px, 1fr) auto auto; align-items: center; gap: 10px; padding: 14px 16px; }
.admin-search-field { min-height: 36px; display: flex; align-items: center; gap: 9px; padding: 0 11px; border: 1px solid var(--nia-border); border-radius: 7px; color: #64717a; background: rgba(3, 8, 12, .65); }
.admin-search-field:focus-within { border-color: rgba(var(--page-accent-rgb), .42); box-shadow: 0 0 0 2px rgba(var(--page-accent-rgb), .06); }
.admin-search-field input { width: 100%; border: 0; outline: 0; color: #cbd2d6; background: transparent; font: inherit; font-size: 9px; }
.admin-filter-field { display: flex; align-items: center; gap: 7px; color: #65717a; font-size: 8px; }
.admin-filter-field select, .admin-role-control select { min-height: 34px; border: 1px solid var(--nia-border); border-radius: 6px; color: #aeb7bc; background: #0a1116; font: inherit; font-size: 8px; }
.admin-filter-field select { padding: 0 28px 0 9px; }
.admin-result-count { color: #65717a; font-size: 8px; white-space: nowrap; }
.admin-result-count strong { color: #b8c1c6; }
.admin-character-table tbody[hidden] { display: none; }
.admin-character-table td { vertical-align: middle; }
.admin-character-identity { display: flex; align-items: center; gap: 9px; min-width: 150px; }
.admin-character-identity .pilot-avatar { width: 29px; height: 29px; flex-basis: 29px; font-size: 10px; }
.admin-character-identity div, .admin-character-table td { min-width: 0; }
.admin-character-table td > strong, .admin-character-identity strong { display: block; color: #cbd2d6; font-size: 9px; }
.admin-character-table td small, .admin-character-identity small { display: block; margin-top: 4px; color: #616d75; font-size: 7px; }
.admin-role-source { text-transform: capitalize; }
.role-badge { display: inline-flex; padding: 4px 6px; border: 1px solid var(--nia-border); color: #88949b; background: rgba(255, 255, 255, .025); font-weight: 800; text-transform: uppercase; }
.role-badge.role-admin { color: #d5ad74; border-color: rgba(211, 161, 95, .25); background: rgba(211, 161, 95, .07); }
.admin-freshness { display: inline-flex; padding: 4px 6px; border: 1px solid; border-radius: 5px; font-size: 7px; font-weight: 800; text-transform: uppercase; }
.admin-freshness.fresh { color: #75c795; border-color: rgba(112, 182, 139, .24); background: rgba(112, 182, 139, .06); }
.admin-freshness.delayed { color: #d0aa72; border-color: rgba(211, 161, 95, .24); background: rgba(211, 161, 95, .06); }
.admin-freshness.stale, .admin-freshness.unavailable { color: #dc7980; border-color: rgba(221, 93, 102, .24); background: rgba(221, 93, 102, .06); }
.admin-row-actions { display: flex; align-items: center; justify-content: flex-end; gap: 5px; }
.admin-icon-btn { width: 29px; height: 29px; display: grid; place-items: center; padding: 0; border-radius: 6px; }
.admin-icon-btn.is-open i { transform: rotate(180deg); }
.admin-icon-btn i { transition: transform .18s ease; }
.admin-character-details td { padding: 0 !important; background: rgba(var(--page-accent-rgb), .018); }
.admin-details-grid { display: grid; grid-template-columns: .8fr 1.35fr 1fr 1fr; gap: 1px; border-top: 1px solid var(--nia-border); background: var(--nia-border); }
.admin-detail-block { min-width: 0; padding: 14px 16px; background: #091015; }
.admin-detail-block > span { display: block; margin-bottom: 9px; color: #56616a; font-size: 7px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.admin-detail-block strong { display: block; margin-top: 7px; color: #aeb8bd; font-size: 8px; }
.admin-detail-block p { margin: 4px 0; color: #6e7981; font-size: 8px; line-height: 1.5; }
.admin-detail-block ul { max-height: 105px; margin: 6px 0 0; padding: 0; overflow: auto; list-style: none; }
.admin-detail-block li { padding: 3px 0; color: #75818a; font-family: monospace; font-size: 7px; }
.admin-role-control form { display: grid; gap: 8px; }
.admin-role-control label { display: grid; gap: 5px; color: #647079; font-size: 7px; }
.admin-role-control select { width: 100%; padding: 0 8px; }
.admin-audit-card { padding: 0; overflow: hidden; }
.admin-audit-row { display: grid; grid-template-columns: 32px minmax(0, 1fr) auto; align-items: center; gap: 11px; padding: 12px 15px; border-bottom: 1px solid var(--nia-border); }
.admin-audit-row:last-child { border-bottom: 0; }
.admin-audit-icon { width: 30px; height: 30px; display: grid; place-items: center; border: 1px solid var(--nia-border); border-radius: 7px; color: #77838b; background: rgba(255, 255, 255, .018); }
.admin-audit-row > div { display: grid; grid-template-columns: auto 1fr; gap: 3px 8px; align-items: baseline; }
.admin-audit-row strong { color: #b8c0c5; font-size: 9px; }
.admin-audit-row span { color: #768189; font-size: 8px; }
.admin-audit-row small { grid-column: 1 / -1; color: #58636b; font-size: 7px; }
.admin-audit-row time { color: #59646c; font-family: monospace; font-size: 7px; white-space: nowrap; }
.admin-empty-state { margin: 0; padding: 22px; color: #65717a; font-size: 9px; text-align: center; }

@media (max-width: 1180px) {
    .admin-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .admin-worker-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .admin-details-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 720px) {
    .admin-welcome, .admin-section-heading { align-items: flex-start; flex-direction: column; }
    .admin-section-heading > p { text-align: left; }
    .admin-summary-grid, .admin-worker-grid, .admin-details-grid { grid-template-columns: 1fr; }
    .admin-section-nav { overflow-x: auto; }
    .admin-section-nav a { white-space: nowrap; }
    .admin-directory-toolbar { grid-template-columns: 1fr; }
    .admin-table th, .admin-table td { padding-inline: 12px; }
    .admin-audit-row { grid-template-columns: 30px 1fr; }
    .admin-audit-row time { grid-column: 2; }
}

/* Operation target briefings */
.live-operation-console { grid-column: 1 / -1; padding: 0; }
.live-console-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 18px 20px;
    border-bottom: 1px solid var(--nia-border);
    background: linear-gradient(100deg, rgba(112, 182, 139, 0.05), transparent 40%);
}
.live-console-title { display: flex; align-items: center; gap: 12px; min-width: 0; }
.live-console-title h2 { margin: 3px 0 2px; font-size: 16px; }
.live-console-title > div > span { color: #78838c; font-size: 8px; line-height: 1.5; }
.live-console-radar {
    position: relative;
    width: 38px;
    height: 38px;
    flex: 0 0 38px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(112, 182, 139, 0.28);
    border-radius: 50%;
    background: rgba(112, 182, 139, 0.075);
    color: #82bd98;
}
.live-console-radar::after {
    content: "";
    position: absolute;
    inset: -4px;
    border: 1px solid rgba(112, 182, 139, 0.15);
    border-radius: 50%;
    animation: live-radar 2.4s ease-out infinite;
}
@keyframes live-radar { 70%, 100% { transform: scale(1.3); opacity: 0; } }
.live-console-controls { display: flex; align-items: center; gap: 12px; flex: 0 0 auto; }
.operation-state { display: inline-flex; align-items: center; gap: 7px; padding: 6px 9px; border: 1px solid var(--nia-border); border-radius: 6px; color: #9aa4ac; font-size: 7px; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
.operation-state i { width: 6px; height: 6px; border-radius: 50%; background: currentColor; }
.operation-state.state-high { border-color: rgba(217, 119, 119, 0.24); background: rgba(217, 119, 119, 0.06); color: #dc9292; }
.operation-state.state-critical { border-color: rgba(217, 119, 119, 0.34); background: rgba(217, 119, 119, 0.1); color: #e48686; }
.operation-state.state-warning { border-color: rgba(211, 161, 95, 0.27); background: rgba(211, 161, 95, 0.07); color: #d7a866; }
.operation-state.state-info { border-color: rgba(120, 184, 201, 0.23); background: rgba(120, 184, 201, 0.055); color: #83b9c7; }
.operation-state.state-muted, .operation-state.state-connecting { color: #7b858e; }
#live-operation-freshness { color: #66717a; font-size: 7px; white-space: nowrap; }
#live-operation-toggle { display: inline-flex; align-items: center; gap: 5px; padding: 7px 9px; border: 1px solid var(--nia-border); border-radius: 6px; background: rgba(255, 255, 255, 0.018); color: #87919a; font-size: 7px; cursor: pointer; }
#live-operation-toggle:hover { border-color: var(--nia-border-strong); color: #c6ccd0; }
.live-operation-body { display: grid; grid-template-columns: minmax(270px, 0.38fr) minmax(420px, 1fr); min-height: 250px; }
.live-operation-metrics { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); border-right: 1px solid var(--nia-border); }
.live-operation-metrics > div { display: flex; align-items: center; gap: 10px; min-width: 0; padding: 18px; }
.live-operation-metrics > div:nth-child(even) { border-left: 1px solid var(--nia-border); }
.live-operation-metrics > div:nth-child(n + 3) { border-top: 1px solid var(--nia-border); }
.live-operation-metrics > div > i { width: 30px; height: 30px; flex: 0 0 30px; display: grid; place-items: center; border: 1px solid var(--nia-border); border-radius: 7px; color: var(--page-accent); font-size: 11px; }
.live-operation-metrics span { display: flex; flex-direction: column; min-width: 0; }
.live-operation-metrics small { color: #69747d; font-size: 6px; font-weight: 800; letter-spacing: 0.1em; }
.live-operation-metrics strong { margin-top: 5px; color: #dce0e2; font-family: "Space Grotesk", sans-serif; font-size: 18px; font-weight: 600; }
.live-feed-wrap { min-width: 0; padding: 16px 18px; }
.live-feed-heading { display: flex; align-items: center; justify-content: space-between; gap: 20px; margin-bottom: 8px; }
.live-feed-heading > span { color: #717c85; font-size: 6px; font-weight: 850; letter-spacing: 0.14em; }
.live-feed-heading small { color: #606a73; font-size: 7px; }
.live-operation-events { max-height: 315px; overflow-y: auto; padding-right: 5px; scrollbar-width: thin; }
.live-event { position: relative; display: grid; grid-template-columns: 30px minmax(0, 1fr) auto; gap: 10px; align-items: start; padding: 10px 5px; border-bottom: 1px solid var(--nia-border); }
.live-event:last-child { border-bottom: 0; }
.live-event.is-new { margin: 2px 0; padding-inline: 8px; border: 1px solid rgba(var(--page-accent-rgb), 0.2); border-radius: 7px; background: rgba(var(--page-accent-rgb), 0.035); animation: live-event-arrival 500ms ease-out; }
@keyframes live-event-arrival { from { opacity: 0; transform: translateY(-5px); } }
.live-event-icon { width: 28px; height: 28px; display: grid; place-items: center; border: 1px solid var(--nia-border); border-radius: 7px; color: #82909a; font-size: 10px; }
.live-event.severity-warning .live-event-icon { border-color: rgba(211, 161, 95, 0.2); color: #d3a15f; }
.live-event.severity-high .live-event-icon, .live-event.severity-critical .live-event-icon { border-color: rgba(217, 119, 119, 0.25); color: #dc8585; }
.live-event-content { display: flex; flex-direction: column; min-width: 0; }
.live-event-content small { color: #68737c; font-size: 6px; font-weight: 750; letter-spacing: 0.08em; text-transform: uppercase; }
.live-event-content strong { overflow: hidden; margin-top: 3px; color: #cfd4d8; font-size: 9px; text-overflow: ellipsis; white-space: nowrap; }
.live-event-content p { overflow: hidden; margin: 3px 0 0; color: #747f88; font-size: 7px; line-height: 1.45; text-overflow: ellipsis; white-space: nowrap; }
.live-event-time { display: flex; flex-direction: column; align-items: flex-end; gap: 3px; }
.live-event-time time { color: #626d76; font-size: 7px; white-space: nowrap; }
.live-event-time b { color: var(--page-accent); font-size: 7px; }
.live-event-time em { padding: 2px 4px; border-radius: 3px; background: rgba(112, 182, 139, 0.12); color: #82bd98; font-size: 5px; font-style: normal; font-weight: 850; letter-spacing: 0.08em; }
.live-feed-empty { min-height: 170px; display: flex; flex-direction: column; align-items: center; justify-content: center; gap: 8px; color: #657079; font-size: 8px; text-align: center; }
.live-feed-empty i { color: var(--page-accent); font-size: 18px; }

.target-briefing-suite {
    grid-column: 1 / -1;
    display: flex;
    flex-direction: column;
    gap: 14px;
    min-width: 0;
    margin: 4px 0;
}
.target-suite-heading {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    padding: 12px 2px 4px;
}
.target-suite-heading h2 {
    margin: 5px 0 3px;
    color: #eceeef;
    font-family: "Space Grotesk", sans-serif;
    font-size: 20px;
    font-weight: 600;
}
.target-suite-heading p { max-width: 760px; color: #78838d; font-size: 10px; line-height: 1.55; }
.target-briefing-card { padding: 0; }
.target-briefing-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 24px;
    padding: 20px 22px;
    border-bottom: 1px solid var(--nia-border);
    background: linear-gradient(100deg, rgba(var(--page-accent-rgb), 0.055), transparent 42%);
}
.target-briefing-identity { display: flex; align-items: center; gap: 13px; min-width: 0; }
.target-entity-icon {
    width: 42px;
    height: 42px;
    flex: 0 0 42px;
    display: grid;
    place-items: center;
    border: 1px solid rgba(var(--page-accent-rgb), 0.23);
    border-radius: 10px 10px 10px 4px;
    background: rgba(var(--page-accent-rgb), 0.08);
    color: var(--page-accent);
    font-size: 16px;
}
.target-briefing-identity .target-objective { display: inline-block; margin-bottom: 5px; }
.target-briefing-identity h2 { margin: 0; color: #edf0f1; font-size: 19px; }
.target-briefing-identity p { margin: 3px 0 0; color: #717c86; font-size: 8px; }
.target-confidence { display: grid; grid-template-columns: auto; justify-items: end; flex: 0 0 auto; }
.target-confidence strong { color: var(--page-accent); font-family: "Space Grotesk", sans-serif; font-size: 24px; font-weight: 600; line-height: 1; }
.target-confidence span { margin-top: 4px; color: #7a858f; font-size: 7px; font-weight: 750; letter-spacing: 0.08em; text-transform: uppercase; }
.target-confidence small { margin-top: 5px; color: var(--nia-amber); font-size: 7px; text-transform: capitalize; }
.target-assessment {
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr);
    gap: 12px;
    align-items: start;
    margin: 18px 22px 0;
    padding: 15px 16px;
    border: 1px solid rgba(var(--page-accent-rgb), 0.18);
    border-radius: 9px;
    background: rgba(var(--page-accent-rgb), 0.045);
}
.target-assessment > i { width: 30px; height: 30px; display: grid; place-items: center; border-radius: 7px; background: rgba(var(--page-accent-rgb), 0.1); color: var(--page-accent); font-size: 13px; }
.target-assessment div { display: flex; flex-direction: column; }
.target-assessment small, .briefing-section-heading small { color: var(--page-accent); font-size: 7px; font-weight: 850; letter-spacing: 0.15em; }
.target-assessment strong { margin-top: 5px; color: #cbd1d5; font-size: 10px; font-weight: 600; line-height: 1.65; }
.target-briefing-metrics {
    display: grid;
    grid-template-columns: repeat(5, minmax(0, 1fr));
    margin: 18px 22px;
    overflow: hidden;
    border: 1px solid var(--nia-border);
    border-radius: 9px;
}
.target-briefing-metrics > div { min-width: 0; padding: 13px 14px; background: rgba(255, 255, 255, 0.012); }
.target-briefing-metrics > div + div { border-left: 1px solid var(--nia-border); }
.target-briefing-metrics small { display: block; color: #66717b; font-size: 6px; font-weight: 850; letter-spacing: 0.13em; }
.target-briefing-metrics strong { display: block; overflow: hidden; margin-top: 6px; color: #dce0e3; font-family: "Space Grotesk", sans-serif; font-size: 19px; font-weight: 600; text-overflow: ellipsis; white-space: nowrap; }
.target-briefing-metrics strong.briefing-age { color: var(--page-accent); font-size: 13px; }
.target-briefing-metrics span { display: block; overflow: hidden; margin-top: 3px; color: #6d7781; font-size: 7px; text-overflow: ellipsis; white-space: nowrap; }
.target-briefing-columns { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); border-top: 1px solid var(--nia-border); border-bottom: 1px solid var(--nia-border); }
.briefing-panel { min-width: 0; padding: 20px 22px; }
.briefing-panel + .briefing-panel { border-left: 1px solid var(--nia-border); }
.briefing-panel-title { display: flex; align-items: center; gap: 10px; margin-bottom: 14px; }
.briefing-panel-title > i { width: 29px; height: 29px; display: grid; place-items: center; border: 1px solid var(--nia-border); border-radius: 7px; color: var(--page-accent); font-size: 12px; }
.briefing-panel-title div { display: flex; flex-direction: column; }
.briefing-panel-title small, .briefing-caption, .briefing-associates small { color: #68737d; font-size: 6px; font-weight: 850; letter-spacing: 0.14em; }
.briefing-panel-title h3 { margin-top: 3px; color: #d5dade; font-size: 10px; font-weight: 650; }
.briefing-key-value { min-height: 35px; display: flex; align-items: center; justify-content: space-between; gap: 12px; padding: 8px 0; border-bottom: 1px solid var(--nia-border); }
.briefing-key-value.compact { min-height: 30px; padding: 6px 0; }
.briefing-key-value span { color: #7c8791; font-size: 8px; }
.briefing-key-value strong { color: #cbd1d5; font-size: 8px; font-weight: 650; text-align: right; }
.briefing-caption { margin: 15px 0 7px; }
.briefing-tags { display: flex; flex-wrap: wrap; gap: 5px; margin-top: 11px; }
.briefing-tags span { padding: 5px 7px; border: 1px solid rgba(var(--page-accent-rgb), 0.17); border-radius: 5px; background: rgba(var(--page-accent-rgb), 0.045); color: #aeb8bf; font-size: 7px; }
.briefing-tags.muted span { border-color: var(--nia-border); background: rgba(255, 255, 255, 0.018); color: #8c969f; }
.briefing-tags b { margin-left: 3px; color: var(--page-accent); font-weight: 750; }
.doctrine-brief + .doctrine-brief { margin-top: 13px; padding-top: 13px; border-top: 1px solid var(--nia-border); }
.doctrine-brief > div:first-child { display: flex; flex-direction: column; }
.doctrine-brief > div:first-child strong { color: #cfd5d9; font-size: 9px; }
.doctrine-brief > div:first-child span { margin-top: 4px; color: #737e88; font-size: 7px; }
.ship-frequency-list { display: flex; flex-direction: column; }
.ship-frequency-list > span { display: flex; justify-content: space-between; padding: 7px 0; border-bottom: 1px solid var(--nia-border); }
.ship-frequency-list b { color: #aab3ba; font-size: 8px; font-weight: 550; }
.ship-frequency-list strong { color: var(--page-accent); font-size: 8px; }
.briefing-empty { margin: 10px 0; color: #707b84 !important; font-size: 8px; line-height: 1.6; }
.scout-priority-section { padding: 20px 22px; border-bottom: 1px solid var(--nia-border); }
.briefing-section-heading { display: flex; align-items: end; justify-content: space-between; gap: 24px; margin-bottom: 13px; }
.briefing-section-heading h3 { margin-top: 4px; color: #d8dde0; font-size: 13px; }
.briefing-section-heading > strong { max-width: 720px; color: #8d979f; font-size: 9px; font-weight: 550; line-height: 1.5; text-align: right; }
.scout-priority-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px; }
.scout-priority-grid a { display: grid; grid-template-columns: 30px minmax(0, 1fr) auto; gap: 10px; align-items: start; padding: 12px; border: 1px solid var(--nia-border); border-radius: 8px; background: rgba(255, 255, 255, 0.014); color: inherit; text-decoration: none; transition: border-color 150ms ease, background 150ms ease; }
.scout-priority-grid a:hover { border-color: rgba(var(--page-accent-rgb), 0.3); background: rgba(var(--page-accent-rgb), 0.035); }
.scout-rank { width: 28px; height: 28px; display: grid; place-items: center; border: 1px solid rgba(var(--page-accent-rgb), 0.2); border-radius: 7px; color: var(--page-accent); font-size: 8px; font-weight: 750; }
.scout-priority-grid a > span:nth-child(2) { min-width: 0; }
.scout-priority-grid small { display: block; color: #76818a; font-size: 6px; font-weight: 750; letter-spacing: 0.08em; text-transform: uppercase; }
.scout-priority-grid strong { display: block; margin-top: 3px; color: #dce0e3; font-size: 11px; }
.scout-priority-grid p { margin: 4px 0 0; color: #747f88; font-size: 7px; line-height: 1.45; }
.scout-confidence { color: var(--page-accent); font-size: 9px; font-weight: 750; }
.briefing-associates { display: grid; grid-template-columns: minmax(180px, 0.35fr) minmax(0, 1fr); gap: 18px; align-items: center; padding: 17px 22px; border-bottom: 1px solid var(--nia-border); }
.briefing-associates p { margin: 4px 0 0; color: #717c85; font-size: 7px; }
.associate-list { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 6px; }
.associate-list span { padding: 7px 8px; border: 1px solid var(--nia-border); border-radius: 6px; color: #aeb6bc; font-size: 7px; }
.associate-list i { margin-right: 5px; color: #77838d; }
.associate-list b { margin-left: 5px; color: var(--page-accent); font-weight: 700; }
.briefing-evidence { padding: 15px 22px 18px; }
.briefing-evidence summary { color: #8d98a1; font-size: 8px; font-weight: 650; cursor: pointer; }
.briefing-evidence ul { margin: 12px 0 0 17px; color: #818c95; font-size: 8px; line-height: 1.7; }
.briefing-evidence p { margin: 10px 0 0; color: #666f78; font-size: 7px; }

/* Public portal shares the same brand system without the application chrome. */
body:not(.app-body) {
    background: #090b0e;
    color: var(--nia-text);
    font-family: "Manrope", "Segoe UI Variable", "Segoe UI", sans-serif;
}
.public-nav {
    height: 72px;
    border-bottom-color: var(--nia-border);
    background: rgba(9, 11, 14, 0.88);
}
.public-brand strong { font-family: "Space Grotesk", sans-serif; }
.hero {
    min-height: calc(100vh - 72px);
    background:
        radial-gradient(circle at 50% 16%, rgba(211, 161, 95, 0.11), transparent 25rem),
        radial-gradient(circle at 80% 70%, rgba(85, 137, 168, 0.08), transparent 28rem),
        linear-gradient(145deg, #090b0e, #0c1014 55%, #090b0e);
}
.hero::before { border-color: rgba(211, 161, 95, 0.09); box-shadow: none; }
.hero .status { color: #d3a15f; }
.hero h1 {
    color: #f2f1ee;
    font-family: "Space Grotesk", "Manrope", sans-serif;
    font-weight: 600;
}
.hero h1 span { -webkit-text-stroke-color: rgba(211, 161, 95, 0.48); }
.hero .login-consent {
    border-color: var(--nia-border-strong);
    background: rgba(16, 20, 24, 0.9);
}
.hero .primary-btn {
    background: linear-gradient(135deg, #b77f3f, #d3a15f);
    color: #14100b;
    box-shadow: 0 12px 30px rgba(0, 0, 0, 0.24);
}

@media (max-width: 1050px) {
    .app-shell { grid-template-columns: 78px minmax(0, 1fr); }
    .sidebar { padding-inline: 11px; }
    .brand { justify-content: center; margin-inline: 0; }
    .brand-copy, .nav-section, .side-nav a > span, .nav-disabled > span, .nav-disabled small, .pilot-meta, .pilot-chevron, .logout-link { display: none; }
    .side-nav a, .side-nav .nav-disabled { grid-template-columns: 1fr; place-items: center; padding-inline: 5px; }
    .side-nav .nav-overview { min-height: 46px; }
    .pilot-card { grid-template-columns: 1fr; place-items: center; }
    .dashboard-main { padding-inline: 28px; }
    .target-briefing-columns { grid-template-columns: 1fr; }
    .briefing-panel + .briefing-panel { border-left: 0; border-top: 1px solid var(--nia-border); }
    .target-briefing-metrics { grid-template-columns: repeat(3, 1fr); }
    .target-briefing-metrics > div + div { border-left: 0; }
    .target-briefing-metrics > div:not(:nth-child(3n + 1)) { border-left: 1px solid var(--nia-border); }
    .target-briefing-metrics > div:nth-child(n + 4) { border-top: 1px solid var(--nia-border); }
    .live-operation-body { grid-template-columns: 1fr; }
    .live-operation-metrics { border-right: 0; border-bottom: 1px solid var(--nia-border); }
}

@media (max-width: 700px) {
    .app-shell { display: block; }
    .sidebar {
        position: static;
        width: 100%;
        height: auto;
        padding: 12px 16px;
        border-right: 0;
        border-bottom: 1px solid var(--nia-border);
    }
    .brand { justify-content: flex-start; width: max-content; margin: 0; }
    .brand-copy { display: flex; }
    .side-nav, .sidebar-footer { display: none; }
    .mobile-nav-toggle {
        position: absolute;
        top: 16px;
        right: 16px;
        width: 36px;
        height: 36px;
        display: grid;
        place-items: center;
        border: 1px solid var(--nia-border-strong);
        border-radius: 8px;
        background: rgba(255, 255, 255, 0.035);
        color: #bcc4cb;
        cursor: pointer;
    }
    .sidebar.nav-open .side-nav {
        display: flex;
        max-height: calc(100vh - 86px);
        margin-top: 14px;
        padding: 10px 0 8px;
        border-top: 1px solid var(--nia-border);
    }
    .sidebar.nav-open .nav-section { display: block; }
    .sidebar.nav-open .side-nav a, .sidebar.nav-open .side-nav .nav-disabled {
        grid-template-columns: 32px minmax(0, 1fr) auto;
        place-items: initial;
        align-items: center;
        padding-inline: 8px;
    }
    .sidebar.nav-open .side-nav a > span, .sidebar.nav-open .nav-disabled > span { display: inline; }
    .sidebar.nav-open .nav-disabled small { display: inline-block; }
    .dashboard-main { padding: 0 16px 32px; }
    .topbar { height: 56px; }
    .topbar-context, .topbar-role, .topbar-location, .topbar-logout span { display: none; }
    .topbar { justify-content: flex-end; }
    .welcome { padding-top: 28px; }
    .welcome h1 { font-size: 30px; }
    .command-metrics { grid-template-columns: repeat(2, 1fr); }
    .command-metrics a + a { border-left: 0; }
    .command-metrics a:nth-child(even) { border-left: 1px solid var(--nia-border); }
    .command-metrics a:nth-child(n + 3) { border-top: 1px solid var(--nia-border); }
    .account-layout { grid-template-columns: 1fr; }
    .target-suite-heading, .target-briefing-header, .briefing-section-heading { align-items: flex-start; flex-direction: column; }
    .target-confidence { justify-items: start; }
    .target-briefing-metrics { grid-template-columns: repeat(2, 1fr); }
    .target-briefing-metrics > div:not(:nth-child(3n + 1)) { border-left: 0; }
    .target-briefing-metrics > div:nth-child(even) { border-left: 1px solid var(--nia-border); }
    .target-briefing-metrics > div:nth-child(n + 3) { border-top: 1px solid var(--nia-border); }
    .scout-priority-grid { grid-template-columns: 1fr; }
    .briefing-section-heading > strong { text-align: left; }
    .briefing-associates { grid-template-columns: 1fr; }
    .associate-list { justify-content: flex-start; }
    .live-console-header, .live-console-controls { align-items: flex-start; flex-direction: column; }
    .live-console-controls { width: 100%; gap: 8px; }
    .live-operation-metrics { grid-template-columns: 1fr; }
    .live-operation-metrics > div:nth-child(even) { border-left: 0; }
    .live-operation-metrics > div + div { border-top: 1px solid var(--nia-border); }
    .live-event { grid-template-columns: 28px minmax(0, 1fr); }
    .live-event-time { grid-column: 2; flex-direction: row; align-items: center; }
    .live-event-content p { white-space: normal; }
}

.ai-briefing-welcome { align-items: flex-end; display: flex; justify-content: space-between; gap: 1rem; }
.ai-briefing-welcome h1 { margin-top: .2rem; }
.ai-briefing-metrics { display: grid; gap: .7rem; grid-template-columns: repeat(5, 1fr); margin-bottom: 1rem; }
.ai-briefing-metrics > div { background: linear-gradient(145deg, rgba(13, 24, 37, .92), rgba(4, 10, 17, .92)); border: 1px solid var(--nia-border); border-radius: 12px; padding: .85rem; }
.ai-briefing-metrics small, .ai-briefing-metrics span { color: var(--nia-muted); display: block; font-size: .64rem; }
.ai-briefing-metrics strong { display: block; font-family: "Space Grotesk", sans-serif; font-size: 1.35rem; margin: .2rem 0; }
.ai-briefing-layout { display: grid; gap: 1rem; grid-template-columns: minmax(0, 1.45fr) minmax(330px, .75fr); }
.ai-command-console, .ai-priority-board, .ai-source-matrix { overflow: hidden; }
.ai-command-console > header, .ai-priority-board > header, .ai-source-matrix > header { align-items: flex-start; display: flex; justify-content: space-between; gap: 1rem; }
.ai-command-console > header h2, .ai-priority-board > header h2, .ai-source-matrix > header h2 { margin: .15rem 0 0; }
.ai-command-console > header > small, .ai-source-matrix > header > small { color: var(--nia-muted); }
.ai-console-actions { align-items: flex-end; display: flex; flex-direction: column; gap: .45rem; }
.ai-console-actions small { color: var(--nia-muted); }
.ai-console-actions button { align-items: center; background: transparent; border: 1px solid var(--nia-border); border-radius: 8px; color: var(--nia-muted); cursor: pointer; display: flex; font-size: .65rem; gap: .35rem; padding: .38rem .55rem; }
.ai-console-actions button:hover { border-color: rgba(57, 168, 255, .4); color: var(--nia-text); }
.ai-conversation { background: radial-gradient(circle at 15% 20%, rgba(57, 168, 255, .08), transparent 45%), rgba(3, 8, 14, .42); border: 1px solid rgba(57, 168, 255, .16); border-radius: 13px; margin-top: 1rem; max-height: 560px; min-height: 230px; overflow-y: auto; padding: 1rem; scroll-behavior: smooth; }
.ai-conversation > article + article { margin-top: 1.15rem; }
.ai-answer { align-items: flex-start; display: flex; gap: .85rem; }
.ai-orb { align-items: center; background: linear-gradient(145deg, rgba(57, 168, 255, .32), rgba(57, 168, 255, .08)); border: 1px solid rgba(57, 168, 255, .35); border-radius: 50%; color: var(--nia-blue); display: flex; flex: 0 0 40px; height: 40px; justify-content: center; box-shadow: 0 0 24px rgba(57, 168, 255, .12); }
.ai-answer > div { min-width: 0; }
.ai-answer small { color: var(--nia-blue); font-size: .66rem; font-weight: 800; letter-spacing: .1em; text-transform: uppercase; }
.ai-answer p { font-family: "Space Grotesk", sans-serif; font-size: 1.08rem; line-height: 1.55; margin: .45rem 0; }
.ai-answer ul { color: var(--nia-muted); margin: .75rem 0; padding-left: 1.1rem; }
.ai-answer li + li { margin-top: .28rem; }
.ai-answer em { color: var(--nia-muted); display: block; font-size: .72rem; font-style: normal; padding-top: .7rem; border-top: 1px solid var(--nia-border); }
.ai-answer-meta { color: rgba(143, 169, 195, .72); display: flex; flex-wrap: wrap; font-size: .61rem; gap: .7rem; margin-top: .65rem; }
.ai-answer-meta span { align-items: center; display: inline-flex; gap: .2rem; }
.ai-answer-meta i { color: var(--nia-blue); }
.ai-answer-loading { opacity: .7; }
.ai-answer-loading .ai-orb { animation: ai-orb-pulse 1.25s ease-in-out infinite; }
.ai-user-message { align-items: flex-start; display: flex; justify-content: flex-end; gap: .65rem; margin-left: 12%; }
.ai-user-message > div { background: rgba(57, 168, 255, .1); border: 1px solid rgba(57, 168, 255, .2); border-radius: 12px 4px 12px 12px; max-width: 82%; padding: .65rem .8rem; }
.ai-user-message small { color: var(--nia-blue); display: block; font-size: .58rem; font-weight: 800; letter-spacing: .08em; text-align: right; text-transform: uppercase; }
.ai-user-message p { line-height: 1.45; margin: .22rem 0 0; }
.ai-user-orb { align-items: center; background: rgba(234, 168, 58, .12); border: 1px solid rgba(234, 168, 58, .3); border-radius: 50%; color: #eaa83a; display: flex; flex: 0 0 32px; font-size: .7rem; font-weight: 800; height: 32px; justify-content: center; }
@keyframes ai-orb-pulse { 50% { box-shadow: 0 0 34px rgba(57, 168, 255, .38); transform: scale(1.05); } }
.ai-prompt-presets { display: flex; flex-wrap: wrap; gap: .45rem; margin-top: .75rem; }
.ai-prompt-presets button { background: rgba(57, 168, 255, .06); border: 1px solid rgba(57, 168, 255, .18); border-radius: 999px; color: var(--nia-muted); cursor: pointer; padding: .5rem .7rem; }
.ai-prompt-presets button:hover { border-color: var(--nia-blue); color: var(--nia-text); }
.ai-question-form { margin-top: .85rem; }
.ai-question-form > label { color: var(--nia-muted); display: block; font-size: .7rem; margin-bottom: .4rem; }
.ai-question-form > div { display: flex; gap: .55rem; }
.ai-question-form input { background: rgba(3, 8, 14, .75); border: 1px solid var(--nia-border); border-radius: 10px; color: var(--nia-text); flex: 1; min-width: 0; padding: .8rem .9rem; }
.ai-question-form button { align-items: center; background: var(--nia-blue); border: 0; border-radius: 10px; color: #04101b; cursor: pointer; display: flex; font-weight: 800; gap: .4rem; padding: .75rem 1rem; }
.ai-question-form button:disabled { cursor: wait; opacity: .6; }
.ai-engine-note { align-items: center; color: var(--nia-muted); display: flex; font-size: .68rem; gap: .5rem; margin: .75rem 0 0; }
.ai-engine-note i { color: var(--nia-blue); }
.ai-priority-board > header > span { align-items: center; background: rgba(57, 168, 255, .1); border: 1px solid rgba(57, 168, 255, .2); border-radius: 50%; display: flex; font-weight: 800; height: 34px; justify-content: center; width: 34px; }
.ai-priority-board > div { display: grid; gap: .6rem; margin-top: 1rem; }
.ai-priority { background: rgba(3, 8, 14, .38); border: 1px solid var(--nia-border); border-left: 3px solid var(--nia-muted); border-radius: 10px; display: flex; gap: .7rem; padding: .75rem; }
.ai-priority.priority-critical { border-left-color: #ff5168; }
.ai-priority.priority-high { border-left-color: #eaa83a; }
.ai-priority.priority-warning { border-left-color: #dbc068; }
.ai-priority.priority-info { border-left-color: var(--nia-blue); }
.ai-priority > span { color: var(--nia-blue); flex: 0 0 22px; }
.ai-priority small { color: var(--nia-muted); font-size: .6rem; font-weight: 800; text-transform: uppercase; }
.ai-priority strong { display: block; margin: .15rem 0; }
.ai-priority p { color: var(--nia-muted); font-size: .75rem; line-height: 1.4; margin: 0; }
.ai-priority em { color: var(--nia-text); display: block; font-size: .7rem; font-style: normal; margin-top: .4rem; }
.ai-source-matrix { margin-top: 1rem; }
.ai-source-matrix > div { display: grid; gap: .65rem; grid-template-columns: repeat(auto-fit, minmax(130px, 1fr)); margin-top: 1rem; }
.ai-source-matrix > div > span { background: rgba(3, 8, 14, .35); border: 1px solid var(--nia-border); border-radius: 10px; padding: .75rem; }
.ai-source-matrix i { color: var(--nia-blue); display: block; margin-bottom: .45rem; }
.ai-source-matrix strong, .ai-source-matrix small { display: block; }
.ai-source-matrix small { color: var(--nia-muted); font-size: .65rem; margin-top: .18rem; }

@media (max-width: 1150px) {
    .ai-briefing-metrics { grid-template-columns: repeat(3, 1fr); }
    .ai-briefing-layout { grid-template-columns: 1fr; }
    .ai-source-matrix > div { grid-template-columns: repeat(3, 1fr); }
}

@media (max-width: 650px) {
    .ai-briefing-welcome { align-items: flex-start; flex-direction: column; }
    .ai-briefing-metrics, .ai-source-matrix > div { grid-template-columns: 1fr 1fr; }
    .ai-question-form > div { flex-direction: column; }
    .ai-question-form button { justify-content: center; }
    .ai-user-message { margin-left: 0; }
    .ai-user-message > div { max-width: calc(100% - 42px); }
}

.friendly-fleet-operation-card { grid-column: 1 / -1; padding: 0; overflow: hidden; }
.fleet-matchup-operation-card { grid-column: 1 / -1; padding: 0; overflow: hidden; }
.fleet-matchup-panel { padding: 1.25rem; }
.fleet-matchup-header { align-items: flex-start; display: flex; justify-content: space-between; gap: 1rem; }
.fleet-matchup-header h2 { margin: .15rem 0; }
.fleet-matchup-header p:last-child { color: var(--nia-muted); margin: .2rem 0 0; }
.fleet-matchup-verdict { align-items: center; background: linear-gradient(120deg, rgba(57, 168, 255, .1), rgba(15, 24, 36, .45)); border: 1px solid rgba(57, 168, 255, .22); border-radius: 12px; display: flex; justify-content: space-between; gap: 1rem; margin-top: 1rem; padding: 1rem; }
.fleet-matchup-verdict > div > small, .fleet-matchup-verdict > span small { color: var(--nia-muted); display: block; font-size: .62rem; font-weight: 800; letter-spacing: .1em; }
.fleet-matchup-verdict > div > strong { display: block; font-family: "Space Grotesk", sans-serif; font-size: 1.2rem; margin-top: .2rem; }
.fleet-matchup-verdict p { color: var(--nia-muted); margin: .35rem 0 0; }
.fleet-matchup-verdict > span { border-left: 1px solid var(--nia-border); flex: 0 0 auto; min-width: 125px; padding-left: 1rem; text-align: center; }
.fleet-matchup-verdict > span b { display: block; font-family: "Space Grotesk", sans-serif; font-size: 1.65rem; }
.fleet-matchup-metrics { display: grid; gap: .7rem; grid-template-columns: repeat(3, 1fr); margin-top: .75rem; }
.fleet-matchup-metrics > div { background: rgba(3, 8, 14, .42); border: 1px solid var(--nia-border); border-radius: 11px; padding: .8rem; }
.fleet-matchup-metrics small, .fleet-matchup-metrics span { color: var(--nia-muted); display: block; font-size: .65rem; }
.fleet-matchup-metrics strong { display: block; font-family: "Space Grotesk", sans-serif; font-size: 1.3rem; margin: .15rem 0; }
.fleet-matchup-composition { margin-top: 1rem; }
.fleet-matchup-composition .friendly-chip-list { margin-top: .65rem; }
.fleet-matchup-columns { display: grid; gap: 1rem; grid-template-columns: 1fr 1fr; margin-top: 1rem; }
.fleet-matchup-columns > section { background: rgba(3, 8, 14, .3); border: 1px solid var(--nia-border); border-radius: 11px; padding: .8rem; }
.fleet-matchup-columns ul, .fleet-matchup-evidence ul { color: var(--nia-muted); margin: .65rem 0 0; padding-left: 1.1rem; }
.fleet-matchup-columns li + li, .fleet-matchup-evidence li + li { margin-top: .35rem; }
.fleet-matchup-evidence { border-top: 1px solid var(--nia-border); margin-top: 1rem; padding-top: .8rem; }
.fleet-matchup-evidence summary { color: var(--nia-muted); cursor: pointer; font-size: .72rem; font-weight: 800; letter-spacing: .08em; }
.fleet-matchup-evidence p { color: var(--nia-muted); font-size: .75rem; margin: .7rem 0 0; }
.friendly-fleet-page-card { padding: 0; overflow: hidden; }
.friendly-fleet-panel { padding: 1.25rem; }
.friendly-fleet-header { align-items: flex-start; display: flex; justify-content: space-between; gap: 1rem; }
.friendly-fleet-header h2 { margin: .15rem 0; }
.friendly-fleet-header p:last-child { color: var(--nia-muted); margin: .2rem 0 0; }
.friendly-fleet-metrics { display: grid; gap: .7rem; grid-template-columns: repeat(4, 1fr); margin-top: 1rem; }
.friendly-fleet-metrics > div { background: rgba(3, 8, 14, .42); border: 1px solid var(--nia-border); border-radius: 11px; padding: .8rem; }
.friendly-fleet-metrics small, .friendly-fleet-metrics span { color: var(--nia-muted); display: block; font-size: .65rem; }
.friendly-fleet-metrics strong { display: block; font-family: "Space Grotesk", sans-serif; font-size: 1.35rem; margin: .15rem 0; }
.friendly-fleet-assessment { align-items: center; background: rgba(57, 168, 255, .06); border: 1px solid rgba(57, 168, 255, .18); border-radius: 11px; display: flex; gap: .8rem; margin-top: .75rem; padding: .8rem; }
.friendly-fleet-assessment > i { color: var(--nia-blue); font-size: 1.25rem; }
.friendly-fleet-assessment small { color: var(--nia-muted); display: block; font-size: .62rem; font-weight: 800; letter-spacing: .1em; }
.friendly-fleet-assessment strong { display: block; margin-top: .15rem; }
.friendly-fleet-columns { display: grid; gap: 1rem; grid-template-columns: 1.1fr .8fr 1.1fr; margin-top: 1rem; }
.friendly-fleet-columns > section { min-width: 0; }
.friendly-chip-list { display: flex; flex-wrap: wrap; gap: .4rem; margin-top: .6rem; }
.friendly-chip { align-items: center; background: rgba(255,255,255,.035); border: 1px solid var(--nia-border); border-radius: 999px; display: flex; gap: .45rem; padding: .35rem .55rem; }
.friendly-chip b { font-size: .72rem; }
.friendly-chip strong { color: var(--nia-blue); font-size: .7rem; }
.friendly-role-list, .friendly-separated-list { display: grid; gap: .4rem; margin-top: .6rem; }
.friendly-role, .friendly-separated-member { align-items: center; background: rgba(255,255,255,.025); border: 1px solid var(--nia-border); border-radius: 8px; display: flex; justify-content: space-between; padding: .48rem .6rem; }
.friendly-role span { text-transform: capitalize; }
.friendly-role strong, .friendly-separated-member > b { font-size: .72rem; }
.friendly-role.role-missing strong { color: var(--nia-amber); }
.friendly-role.role-covered strong { color: var(--nia-green); }
.friendly-role.role-neutral strong { color: var(--nia-muted); }
.friendly-separated-member span { display: flex; flex-direction: column; }
.friendly-separated-member small { color: var(--nia-muted); font-size: .65rem; }
.friendly-separated-member > b { color: var(--nia-amber); }
.friendly-fleet-privacy-note { align-items: flex-start; display: flex; gap: .8rem; margin-top: 1rem; }
.friendly-fleet-privacy-note > i { color: var(--nia-blue); font-size: 1.2rem; }
.friendly-fleet-privacy-note p { color: var(--nia-muted); margin: .3rem 0 0; }
.friendly-roster-details { border-top: 1px solid var(--nia-border); margin-top: 1rem; padding-top: .8rem; }
.friendly-roster-details summary { align-items: center; color: var(--nia-muted); cursor: pointer; display: flex; font-size: .68rem; font-weight: 800; justify-content: space-between; letter-spacing: .09em; list-style: none; }
.friendly-roster-details summary::-webkit-details-marker { display: none; }
.friendly-roster-details summary strong { color: var(--nia-blue); }
.friendly-roster { display: grid; gap: .35rem; margin-top: .7rem; }
.friendly-roster-member { align-items: center; border-bottom: 1px solid rgba(141, 180, 214, .08); display: grid; gap: .75rem; grid-template-columns: 1.2fr 1fr 1fr 1fr; padding: .45rem .2rem; }
.friendly-roster-member span, .friendly-roster-member small { color: var(--nia-muted); font-size: .72rem; }
.friendly-roster-member small { text-transform: capitalize; }

@media (max-width: 900px) {
    .friendly-fleet-metrics { grid-template-columns: 1fr 1fr; }
    .friendly-fleet-columns { grid-template-columns: 1fr; }
    .fleet-matchup-columns { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
    .friendly-fleet-header { flex-direction: column; }
    .friendly-fleet-metrics { grid-template-columns: 1fr; }
    .friendly-roster-member { grid-template-columns: 1fr 1fr; }
    .fleet-matchup-header, .fleet-matchup-verdict { align-items: flex-start; flex-direction: column; }
    .fleet-matchup-verdict > span { border-left: 0; border-top: 1px solid var(--nia-border); padding: .8rem 0 0; text-align: left; width: 100%; }
    .fleet-matchup-metrics { grid-template-columns: 1fr; }
}
.movement-track-board {
    border-top: 1px solid var(--nia-border, rgba(255,255,255,.1));
    padding: 1rem 1.25rem .25rem;
}

.movement-track-list {
    display: grid;
    gap: .55rem;
    margin-top: .65rem;
}

.movement-track {
    align-items: center;
    background: linear-gradient(90deg, rgba(234, 168, 58, .09), rgba(255, 255, 255, .018));
    border: 1px solid rgba(234, 168, 58, .18);
    border-radius: 10px;
    display: grid;
    gap: 1rem;
    grid-template-columns: minmax(140px, .8fr) minmax(220px, 1.5fr) minmax(200px, 1fr) auto;
    padding: .8rem .9rem;
}

.movement-track small {
    color: var(--nia-muted, #8d99a8);
    display: block;
    font-size: .62rem;
    font-weight: 800;
    letter-spacing: .11em;
    text-transform: uppercase;
}

.movement-track strong { color: var(--nia-text, #edf1f5); }
.movement-track-path { color: #d8bd86; font-family: "Space Grotesk", sans-serif; font-weight: 700; }
.movement-track-forecast strong { display: block; font-size: .78rem; margin-top: .12rem; }
.movement-track-confidence { color: var(--nia-accent, #eaa83a); font-family: "Space Grotesk", sans-serif; font-size: 1.05rem; }
.fleet-forecast-panel { margin: 1rem 0; padding: .9rem; border: 1px solid rgba(104, 165, 220, .2); border-radius: .55rem; background: linear-gradient(135deg, rgba(73, 132, 184, .1), rgba(10, 17, 24, .72)); }
.fleet-forecast-heading, .fleet-forecast-row { display: flex; align-items: center; justify-content: space-between; gap: .8rem; }
.fleet-forecast-heading { padding-bottom: .65rem; border-bottom: 1px solid rgba(138, 174, 205, .13); }
.fleet-forecast-heading span { display: flex; flex-direction: column; gap: .15rem; }
.fleet-forecast-heading small { color: #78aee8; font-size: .66rem; font-weight: 800; letter-spacing: .12em; }
.fleet-forecast-heading b { color: #9ec6eb; font-size: .72rem; white-space: nowrap; }
.fleet-forecast-row { padding: .55rem 0; border-bottom: 1px solid rgba(138, 174, 205, .08); }
.fleet-forecast-row span { display: grid; grid-template-columns: 1.45rem 1fr; align-items: center; gap: .1rem .5rem; min-width: 0; }
.fleet-forecast-row i { grid-row: 1 / 3; display: grid; width: 1.35rem; height: 1.35rem; place-items: center; border: 1px solid rgba(120, 174, 232, .25); border-radius: 50%; color: #78aee8; font-size: .68rem; font-style: normal; }
.fleet-forecast-row strong { color: var(--nia-text, #edf1f5); font-size: .85rem; }
.fleet-forecast-row small { overflow: hidden; color: var(--nia-muted, #82909d); font-size: .68rem; text-overflow: ellipsis; white-space: nowrap; }
.fleet-forecast-row > b { color: #78aee8; font-size: .82rem; }
.fleet-forecast-caveat { display: block; margin-top: .65rem; color: var(--nia-muted, #82909d); font-size: .66rem; line-height: 1.45; }
.movement-quiet { opacity: .68; }

@media (max-width: 900px) {
    .movement-track { grid-template-columns: 1fr auto; }
    .movement-track-path, .movement-track-forecast { grid-column: 1 / -1; }
}

.operation-alert-policy { grid-column: 1 / -1; }
.operation-alert-form { margin-top: 1rem; }
.alert-policy-master {
    align-items: center;
    background: rgba(57, 168, 255, .045);
    border: 1px solid var(--nia-border);
    border-radius: 12px;
    display: grid;
    gap: .75rem;
    grid-template-columns: 1fr 1fr auto;
    padding: .85rem;
}
.alert-rule-grid { display: grid; gap: .8rem; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-top: .8rem; }
.alert-rule-card { background: rgba(3, 8, 14, .38); border: 1px solid var(--nia-border); border-radius: 12px; padding: 1rem; }
.alert-rule-title { align-items: center; display: flex; gap: .7rem; margin-bottom: .8rem; }
.alert-rule-title > i { color: var(--page-accent); font-size: 1.15rem; }
.alert-rule-title span { display: flex; flex-direction: column; }
.alert-rule-title strong { color: var(--nia-text); font-family: "Space Grotesk", sans-serif; }
.alert-rule-title small, .alert-rule-note { color: var(--nia-muted); font-size: .72rem; }
.alert-rule-fields { display: grid; gap: .55rem; margin-top: .65rem; }
.alert-rule-fields.two { grid-template-columns: 1fr 1.4fr; }
.alert-rule-fields.three { grid-template-columns: repeat(3, 1fr); }
.settings-check.compact { margin: .4rem 0; min-height: 0; }
.panel-btn.compact { white-space: nowrap; }
.alert-policy-actions { display: flex; justify-content: flex-end; margin-top: 1rem; }

@media (max-width: 1100px) {
    .alert-rule-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .alert-policy-master { grid-template-columns: 1fr 1fr; }
    .alert-policy-master .panel-btn { grid-column: 1 / -1; justify-self: start; }
}

@media (max-width: 700px) {
    .alert-rule-grid, .alert-policy-master { grid-template-columns: 1fr; }
    .alert-rule-fields.three { grid-template-columns: 1fr 1fr; }
}

/* Shared command-interface polish. */
::selection { background: rgba(var(--page-accent-rgb, 211, 161, 95), .28); color: #fff; }

.brand {
    min-height: 63px;
    margin: 0 2px 20px;
    padding: 0 4px 18px;
    border-bottom: 1px solid var(--nia-border);
}

.brand-mark {
    --brand-color: var(--nia-gold);
    --brand-rgb: 211, 161, 95;
    position: relative;
    isolation: isolate;
    width: 44px;
    height: 44px;
    overflow: visible;
    display: grid;
    place-items: center;
    flex: 0 0 44px;
    border: 1px solid rgba(var(--brand-rgb), .34);
    border-radius: 12px;
    background:
        linear-gradient(rgba(var(--brand-rgb), .18), rgba(var(--brand-rgb), .18)) center / 1px 68% no-repeat,
        linear-gradient(90deg, rgba(var(--brand-rgb), .18), rgba(var(--brand-rgb), .18)) center / 68% 1px no-repeat,
        radial-gradient(circle at 50% 50%, rgba(var(--brand-rgb), .16), rgba(var(--brand-rgb), .035) 52%, transparent 53%),
        linear-gradient(145deg, rgba(var(--brand-rgb), .12), rgba(255, 255, 255, .015));
    box-shadow: inset 0 0 0 1px rgba(255, 255, 255, .025), 0 10px 28px rgba(0, 0, 0, .25);
    color: var(--brand-color);
}

body.app-body .brand-mark {
    --brand-color: var(--page-accent);
    --brand-rgb: var(--page-accent-rgb);
}

.brand-mark::before {
    content: "";
    width: 15px;
    height: 15px;
    border: 1px solid var(--brand-color);
    background: rgba(var(--brand-rgb), .045);
    box-shadow: 0 0 14px rgba(var(--brand-rgb), .18);
    transform: rotate(45deg);
}

.brand-mark::after {
    content: "";
    position: absolute;
    width: 4px;
    height: 4px;
    border: 2px solid var(--nia-bg);
    border-radius: 50%;
    background: var(--brand-color);
    box-shadow: 0 0 9px rgba(var(--brand-rgb), .9);
}

.brand-copy strong { font-size: 18px; letter-spacing: .22em; }
.brand-copy small { margin-top: 4px; font-size: 7px; letter-spacing: .16em; }

.nav-section { align-items: center; display: flex; gap: 9px; margin-left: 9px; margin-right: 5px; }
.nav-section::after { content: ""; height: 1px; flex: 1; background: linear-gradient(90deg, var(--nia-border), transparent); }
.side-nav a, .side-nav .nav-disabled { position: relative; }
.nav-icon { border-color: transparent; background: transparent; }
.side-nav a:hover .nav-icon { border-color: rgba(226, 232, 240, .07); background: rgba(255, 255, 255, .025); }
.side-nav a.active .nav-icon { box-shadow: inset 0 0 12px rgba(var(--page-accent-rgb), .055); }
.side-nav a.active::after {
    content: "";
    position: absolute;
    right: 10px;
    width: 4px;
    height: 4px;
    border-radius: 50%;
    background: var(--page-accent);
    box-shadow: 0 0 8px rgba(var(--page-accent-rgb), .65);
}
.side-nav .nav-overview.active::after { width: 5px; height: 5px; }

.topbar { box-shadow: 0 10px 28px rgba(0, 0, 0, .08); }
.topbar-context { min-width: 0; }
.topbar-product { font-family: "Space Grotesk", sans-serif; font-weight: 700; }
.topbar-context > span:last-child { overflow: hidden; color: #aab2ba; font-weight: 750; text-overflow: ellipsis; white-space: nowrap; }
.session-state {
    min-height: 26px;
    padding: 0 8px;
    border: 1px solid var(--nia-border);
    border-radius: 999px;
    background: rgba(255, 255, 255, .018);
}
.session-state.online { border-color: rgba(112, 182, 139, .2); background: rgba(112, 182, 139, .045); }
.topbar-location { min-height: 28px; padding: 0 10px; border: 1px solid var(--nia-border); border-radius: 7px; background: rgba(255, 255, 255, .018); }
.topbar-role { font-weight: 850; letter-spacing: .1em; }
.topbar-logout { min-height: 28px; padding: 0 9px; border: 1px solid transparent; border-radius: 7px; }
.topbar-logout:hover { border-color: rgba(217, 119, 119, .18); background: rgba(217, 119, 119, .05); }

.card { transition: border-color 160ms ease, box-shadow 160ms ease, transform 160ms ease; }
.card:hover { border-color: rgba(var(--page-accent-rgb), .18); box-shadow: 0 16px 42px rgba(0, 0, 0, .23); transform: translateY(-1px); }
.card-header { position: relative; }
.card-header::after { content: ""; position: absolute; left: 0; bottom: -1px; width: 34px; height: 1px; background: var(--page-accent); opacity: .65; }
.panel-btn:hover, .primary-btn:hover, .secondary-btn:hover { box-shadow: 0 8px 20px rgba(var(--page-accent-rgb), .08); }
input:hover, select:hover, textarea:hover { border-color: rgba(var(--page-accent-rgb), .34); }

* { scrollbar-width: thin; scrollbar-color: rgba(var(--page-accent-rgb, 211, 161, 95), .28) transparent; }
*::-webkit-scrollbar { width: 8px; height: 8px; }
*::-webkit-scrollbar-track { background: transparent; }
*::-webkit-scrollbar-thumb { border: 2px solid transparent; border-radius: 999px; background: rgba(var(--page-accent-rgb, 211, 161, 95), .28); background-clip: padding-box; }
*::-webkit-scrollbar-thumb:hover { background: rgba(var(--page-accent-rgb, 211, 161, 95), .45); background-clip: padding-box; }

/* Device interface preferences. Keep this final so preferences win the UI cascade. */
body.app-body {
    --nia-ui-background:
        radial-gradient(circle at 12% -12%, rgba(211, 161, 95, 0.075), transparent 31rem),
        radial-gradient(circle at 96% 8%, rgba(83, 132, 164, 0.075), transparent 36rem),
        linear-gradient(145deg, #090b0e 0%, #0b0e12 48%, #090b0e 100%);
    --nia-ui-sidebar: linear-gradient(180deg, rgba(14, 17, 21, 0.985), rgba(8, 10, 13, 0.99));
    --nia-ui-topbar: rgba(9, 11, 14, 0.82);
    --nia-ui-card: linear-gradient(145deg, rgba(20, 24, 29, 0.96), rgba(14, 18, 22, 0.96));
    --nia-ui-input: #0b0f13;
    --nia-ui-metric: rgba(16, 20, 24, 0.97);
    background: var(--nia-ui-background);
}

body.app-body[data-nia-surface="space"] {
    --nia-bg: #05090e;
    --nia-panel: #0c151f;
    --nia-panel-raised: #111e2a;
    --nia-panel-soft: #081019;
    --nia-ui-background:
        radial-gradient(circle at 14% -8%, rgba(77, 154, 206, 0.14), transparent 34rem),
        radial-gradient(circle at 92% 12%, rgba(67, 98, 154, 0.1), transparent 38rem),
        linear-gradient(145deg, #05090e 0%, #08111a 48%, #05090e 100%);
    --nia-ui-sidebar: linear-gradient(180deg, rgba(7, 14, 22, 0.99), rgba(4, 8, 13, 0.995));
    --nia-ui-topbar: rgba(5, 10, 16, 0.86);
    --nia-ui-card: linear-gradient(145deg, rgba(13, 24, 34, 0.97), rgba(7, 14, 21, 0.97));
    --nia-ui-input: #060d14;
    --nia-ui-metric: rgba(9, 18, 27, 0.98);
}

body.app-body[data-nia-surface="black"] {
    --nia-bg: #000;
    --nia-panel: #080808;
    --nia-panel-raised: #0d0d0d;
    --nia-panel-soft: #050505;
    --nia-ui-background: #000;
    --nia-ui-sidebar: linear-gradient(180deg, #080808, #020202);
    --nia-ui-topbar: rgba(0, 0, 0, 0.9);
    --nia-ui-card: linear-gradient(145deg, #0d0d0d, #070707);
    --nia-ui-input: #050505;
    --nia-ui-metric: #090909;
}

body.app-body .sidebar { background: var(--nia-ui-sidebar); }
body.app-body .topbar { background: var(--nia-ui-topbar); }
body.app-body .card { background: var(--nia-ui-card); }
body.app-body :is(input, select, textarea),
body.app-body .filter-bar :is(select, input[type="number"]) { background: var(--nia-ui-input); }
body.app-body .command-metrics a { background: var(--nia-ui-metric); }

body.app-body[data-nia-accent="gold"] { --page-accent: #d3a15f; --page-accent-rgb: 211, 161, 95; }
body.app-body[data-nia-accent="blue"] { --page-accent: #7eb6d5; --page-accent-rgb: 126, 182, 213; }
body.app-body[data-nia-accent="cyan"] { --page-accent: #78c5c9; --page-accent-rgb: 120, 197, 201; }
body.app-body[data-nia-accent="violet"] { --page-accent: #a995c8; --page-accent-rgb: 169, 149, 200; }
body.app-body:not([data-nia-accent="system"]) .pilot-avatar {
    border-color: rgba(var(--page-accent-rgb), 0.38);
    background: rgba(var(--page-accent-rgb), 0.11);
    color: var(--page-accent);
}
body.app-body:not([data-nia-accent="system"]) .side-nav .nav-overview.active {
    border-color: rgba(var(--page-accent-rgb), 0.26);
    background: linear-gradient(100deg, rgba(var(--page-accent-rgb), 0.15), rgba(var(--page-accent-rgb), 0.025));
}
body.app-body:not([data-nia-accent="system"]) :is(.settings-check input, input[type="checkbox"], input[type="radio"]) { accent-color: var(--page-accent); }
body.app-body:not([data-nia-accent="system"]) :is(.alert-relevance strong, .ai-assistant-label, .ai-priority-score) { color: var(--page-accent); }
body.app-body:not([data-nia-accent="system"]) .ai-question-form button { background: var(--page-accent); }

body.nia-high-contrast {
    --nia-border: rgba(218, 228, 236, 0.27);
    --nia-border-strong: rgba(225, 234, 241, 0.42);
    --nia-muted: #b7c1ca;
    --nia-subtle: #929da7;
}
body.nia-high-contrast :is(.sidebar, .topbar, .card, input, select, textarea, .nav-icon, .command-metrics) { border-color: var(--nia-border-strong); }
body.nia-high-contrast :is(
    .nav-section, .side-nav a, .side-nav .nav-disabled, .pilot-meta small, .pilot-chevron, .logout-link,
    .topbar-context, .session-state:not(.online), .topbar-location, .topbar-logout,
    .welcome p, .card p, .stat-line, .text-link, .command-metrics small, .command-metrics span,
    .intel-row > span:nth-child(2) small, .filter-bar label, .settings-field, .settings-field > small,
    .settings-card-copy, .settings-switch small, .settings-summary-list span, .settings-link-list i,
    .target-help, .target-identity small, .target-search-result small, .sov-freshness,
    .live-event-content p, .live-event-time time, .briefing-caption, .briefing-empty
) { color: var(--nia-muted) !important; }
body.nia-high-contrast :is(.welcome h1, .card h2, .card h3, .stat-line strong, .settings-switch strong) { color: #fff; }

body.nia-calm-background { background: var(--nia-bg) !important; background-image: none !important; }
body.nia-calm-background :is(.sidebar, .topbar, .card) { backdrop-filter: none; box-shadow: none; }
body.nia-calm-background .card::after { display: none; }

body.nia-compact .dashboard-main { padding: 0 26px 38px; }
body.nia-compact .topbar { height: 58px; }
body.nia-compact .welcome { padding-bottom: 18px; padding-top: 25px; }
body.nia-compact :is(.grid, .dashboard-command-grid, .settings-hub-grid, .operations-layout, .operations-detail-grid) { gap: 10px; }
body.nia-compact .card { padding: 15px; }
body.nia-compact .settings-hub-card { min-height: 0; }
body.nia-compact .stat-line { min-height: 34px; padding-bottom: 7px; padding-top: 7px; }
body.nia-compact .command-metrics a { min-height: 78px; padding: 12px 15px; }
body.nia-compact .side-nav a,
body.nia-compact .side-nav .nav-disabled { min-height: 35px; padding-bottom: 3px; padding-top: 3px; }
body.nia-compact .side-nav .nav-overview { min-height: 40px; }
body.nia-compact .nav-section { margin-bottom: 5px; margin-top: 11px; }

/* Five-division product structure and foundation workspaces. */
.nav-live-badge,
.nav-foundation-badge {
    padding: 3px 5px;
    border: 1px solid rgba(var(--page-accent-rgb), .16);
    border-radius: 4px;
    color: var(--page-accent);
    font-size: 6px;
    font-weight: 850;
    letter-spacing: .11em;
    line-height: 1;
}
.nav-foundation-badge {
    border-color: rgba(211, 161, 95, .15);
    color: #9f8665;
}

.division-foundation-page .dashboard-main { padding-bottom: 70px; }
.division-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.45fr) minmax(320px, .55fr);
    gap: 22px;
    padding: 54px 0 30px;
}
.division-hero-copy {
    position: relative;
    min-height: 330px;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    justify-content: center;
    padding: clamp(32px, 5vw, 64px);
    border: 1px solid rgba(var(--page-accent-rgb), .18);
    border-radius: 18px;
    background:
        radial-gradient(circle at 86% 18%, rgba(var(--page-accent-rgb), .14), transparent 28%),
        linear-gradient(145deg, rgba(var(--page-accent-rgb), .07), rgba(255, 255, 255, .018) 48%, rgba(3, 5, 8, .42));
    box-shadow: inset 0 1px rgba(255, 255, 255, .025), 0 24px 64px rgba(0, 0, 0, .2);
}
.division-hero-copy::after {
    content: "";
    position: absolute;
    right: -90px;
    bottom: -130px;
    width: 360px;
    height: 360px;
    border: 1px solid rgba(var(--page-accent-rgb), .12);
    border-radius: 50%;
    box-shadow: 0 0 0 42px rgba(var(--page-accent-rgb), .025), 0 0 0 92px rgba(var(--page-accent-rgb), .018);
    pointer-events: none;
}
.division-title-row { position: relative; z-index: 1; display: flex; flex-wrap: wrap; align-items: center; gap: 14px; margin-top: 9px; }
.division-title-row h1 {
    margin: 0;
    color: #f1f0ec;
    font-family: "Space Grotesk", sans-serif;
    font-size: clamp(38px, 5vw, 68px);
    font-weight: 650;
    letter-spacing: -.055em;
    line-height: .98;
}
.division-hero-copy > p:not(.card-eyebrow) {
    position: relative;
    z-index: 1;
    max-width: 760px;
    margin-top: 20px;
    color: #9ba6af;
    font-size: clamp(14px, 1.5vw, 17px);
    line-height: 1.75;
}
.foundation-status {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    padding: 6px 9px;
    border: 1px solid rgba(226, 232, 240, .09);
    border-radius: 999px;
    background: rgba(0, 0, 0, .18);
    color: #8d969f;
    font-size: 8px;
    font-weight: 850;
    letter-spacing: .11em;
    text-transform: uppercase;
}
.foundation-status i { width: 5px; height: 5px; border-radius: 50%; background: currentColor; box-shadow: 0 0 8px currentColor; }
.foundation-status.online { color: #79b88d; }
.foundation-status.building { color: #d3a15f; }
.division-actions { position: relative; z-index: 1; display: flex; flex-wrap: wrap; gap: 10px; margin-top: 28px; }
.division-actions :is(.primary-btn, .secondary-btn) { display: inline-flex; align-items: center; gap: 9px; min-height: 42px; padding: 0 16px; text-decoration: none; }
.division-actions .primary-btn { border-color: rgba(var(--page-accent-rgb), .32); background: rgba(var(--page-accent-rgb), .13); color: #edf2f3; }

.division-purpose-card {
    min-height: 330px;
    padding: 30px;
    border: 1px solid var(--nia-border);
    border-radius: 18px;
    background: linear-gradient(160deg, rgba(255, 255, 255, .025), rgba(3, 5, 8, .42));
}
.division-purpose-icon {
    width: 48px;
    height: 48px;
    display: grid;
    place-items: center;
    margin-bottom: 38px;
    border: 1px solid rgba(var(--page-accent-rgb), .2);
    border-radius: 13px;
    background: rgba(var(--page-accent-rgb), .07);
    color: var(--page-accent);
    font-size: 20px;
}
.division-purpose-card ol { display: grid; gap: 17px; margin-top: 17px; list-style: none; }
.division-purpose-card li { display: grid; grid-template-columns: 24px 1fr; gap: 11px; align-items: start; }
.division-purpose-card li > span { display: grid; place-items: center; width: 23px; height: 23px; border: 1px solid rgba(var(--page-accent-rgb), .17); border-radius: 50%; color: var(--page-accent); font: 700 8px "Space Grotesk", sans-serif; }
.division-purpose-card li p { color: #a0a9b1; font-size: 11px; line-height: 1.55; }

.division-section-heading { display: flex; justify-content: space-between; gap: 28px; align-items: end; margin: 24px 0 17px; }
.division-section-heading h2 { margin-top: 5px; color: #e7e8e7; font: 600 clamp(22px, 3vw, 31px) "Space Grotesk", sans-serif; letter-spacing: -.025em; }
.division-section-heading > p { max-width: 520px; color: #75818b; font-size: 11px; line-height: 1.65; text-align: right; }
.division-capability-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 13px; }
.division-capability-card {
    min-height: 250px;
    display: flex;
    flex-direction: column;
    padding: 22px;
    border: 1px solid var(--nia-border);
    border-radius: 15px;
    background: linear-gradient(155deg, rgba(255, 255, 255, .025), rgba(3, 5, 8, .4));
    color: inherit;
    text-decoration: none;
    transition: border-color 160ms ease, background 160ms ease, transform 160ms ease;
}
a.division-capability-card:hover { border-color: rgba(var(--page-accent-rgb), .24); background: linear-gradient(155deg, rgba(var(--page-accent-rgb), .065), rgba(3, 5, 8, .42)); transform: translateY(-2px); }
.division-capability-card header { display: flex; align-items: center; justify-content: space-between; gap: 10px; }
.division-capability-icon { width: 38px; height: 38px; display: grid; place-items: center; border: 1px solid rgba(var(--page-accent-rgb), .14); border-radius: 10px; background: rgba(var(--page-accent-rgb), .055); color: var(--page-accent); font-size: 15px; }
.capability-status { padding: 5px 7px; border: 1px solid rgba(226, 232, 240, .08); border-radius: 5px; color: #68737c; font-size: 7px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.capability-status.online { border-color: rgba(121, 184, 141, .16); color: #72a984; }
.capability-status.building { border-color: rgba(211, 161, 95, .16); color: #b58b58; }
.division-capability-card h3 { margin-top: 35px; color: #dfe3e5; font: 600 17px "Space Grotesk", sans-serif; letter-spacing: -.02em; }
.division-capability-card > p { margin-top: 10px; color: #78848e; font-size: 11px; line-height: 1.65; }
.capability-link { display: inline-flex; align-items: center; gap: 6px; margin-top: auto; padding-top: 20px; color: var(--page-accent); font-size: 9px; font-weight: 750; letter-spacing: .03em; text-transform: uppercase; }

.division-integration-band {
    display: flex;
    justify-content: space-between;
    gap: 28px;
    align-items: center;
    margin-top: 22px;
    padding: 24px 26px;
    border: 1px solid rgba(var(--page-accent-rgb), .12);
    border-radius: 15px;
    background: rgba(var(--page-accent-rgb), .025);
}
.division-integration-band > div:first-child { display: flex; align-items: center; gap: 17px; }
.integration-node { width: 44px; height: 44px; flex: 0 0 44px; display: grid; place-items: center; border: 1px solid rgba(var(--page-accent-rgb), .18); border-radius: 50%; color: var(--page-accent); }
.division-integration-band h2 { margin: 4px 0 5px; color: #dce1e4; font: 600 17px "Space Grotesk", sans-serif; }
.division-integration-band p:not(.card-eyebrow) { color: #77838c; font-size: 10px; line-height: 1.55; }
.integration-tags { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 7px; }
.integration-tags span { padding: 6px 9px; border: 1px solid var(--nia-border); border-radius: 999px; color: #828d96; font-size: 8px; font-weight: 750; text-transform: uppercase; }

@media (max-width: 1180px) {
    .division-hero { grid-template-columns: 1fr; }
    .division-purpose-card { min-height: auto; }
    .division-purpose-icon { margin-bottom: 22px; }
    .division-capability-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
    .division-hero { padding-top: 24px; }
    .division-hero-copy { min-height: 290px; padding: 27px 23px; }
    .division-title-row { align-items: flex-start; flex-direction: column; }
    .division-capability-grid { grid-template-columns: 1fr; }
    .division-capability-card { min-height: 220px; }
    .division-section-heading, .division-integration-band { align-items: flex-start; flex-direction: column; }
    .division-section-heading > p { text-align: left; }
    .integration-tags { justify-content: flex-start; }
}

body.nia-static-header .topbar { position: relative; }
body.nia-hide-unavailable .nav-disabled { display: none; }
body.nia-reduce-motion *,
body.nia-reduce-motion *::before,
body.nia-reduce-motion *::after {
    animation-duration: .001ms !important;
    animation-iteration-count: 1 !important;
    scroll-behavior: auto !important;
    transition-duration: .001ms !important;
}

/* Product-wide navigation, live shell, and public experience. */
body[data-page="/dashboard"] { --page-accent: #d3a15f; --page-accent-rgb: 211, 161, 95; }
body[data-page="/operations"], body[data-page^="/operations/"] { --page-accent: #e1a36a; --page-accent-rgb: 225, 163, 106; }
body[data-page="/friendly-fleet"] { --page-accent: #5ce1e6; --page-accent-rgb: 92, 225, 230; }
body[data-page="/route-intelligence"] { --page-accent: #55b7e8; --page-accent-rgb: 85, 183, 232; }
body[data-page="/ai-briefing"] { --page-accent: #b294e8; --page-accent-rgb: 178, 148, 232; }
body[data-page="/atlas"], body[data-page^="/atlas/system/"] { --page-accent: #72b7c8; --page-accent-rgb: 114, 183, 200; }
body[data-page="/jump-planner"] { --page-accent: #d3a15f; --page-accent-rgb: 211, 161, 95; }
body[data-page="/live-map"] { --page-accent: #5ce1e6; --page-accent-rgb: 92, 225, 230; }
body[data-page="/sovereignty"] { --page-accent: #a995c8; --page-accent-rgb: 169, 149, 200; }
body[data-page="/economy"] { --page-accent: #70b68b; --page-accent-rgb: 112, 182, 139; }
body[data-page="/industry"] { --page-accent: #d3a15f; --page-accent-rgb: 211, 161, 95; }
body[data-page^="/admin"] { --page-accent: #d97777; --page-accent-rgb: 217, 119, 119; }

.sr-only {
    position: absolute !important;
    width: 1px !important;
    height: 1px !important;
    overflow: hidden !important;
    clip: rect(0, 0, 0, 0) !important;
    white-space: nowrap !important;
}

.skip-link {
    position: fixed;
    top: 10px;
    left: 10px;
    z-index: 1000;
    padding: 10px 14px;
    border: 1px solid var(--nia-border-strong);
    border-radius: 8px;
    background: #10161d;
    color: #fff;
    font-size: 12px;
    text-decoration: none;
    transform: translateY(-150%);
}
.skip-link:focus { transform: translateY(0); }

.topbar-location,
.command-search-trigger {
    display: inline-flex;
    align-items: center;
    gap: 7px;
    text-decoration: none;
}
.topbar-location:hover { border-color: rgba(var(--page-accent-rgb), .32); color: #fff; }
.command-search-trigger {
    min-height: 30px;
    padding: 0 8px 0 10px;
    border: 1px solid var(--nia-border);
    border-radius: 8px;
    background: rgba(255, 255, 255, .018);
    color: #8e99a4;
    cursor: pointer;
    font: inherit;
    font-size: 9px;
    transition: border-color 150ms ease, color 150ms ease, background 150ms ease;
}
.command-search-trigger:hover { border-color: rgba(var(--page-accent-rgb), .35); background: rgba(var(--page-accent-rgb), .045); color: #dfe7ee; }
.command-search-trigger kbd,
.command-palette kbd {
    padding: 2px 5px;
    border: 1px solid rgba(255, 255, 255, .1);
    border-radius: 4px;
    background: rgba(255, 255, 255, .025);
    color: #747f8a;
    font-family: inherit;
    font-size: 7px;
    font-weight: 750;
    letter-spacing: .04em;
}

body.command-palette-open { overflow: hidden; }
.command-palette[hidden] { display: none; }
.command-palette {
    position: fixed;
    inset: 0;
    z-index: 900;
    display: grid;
    place-items: start center;
    padding: min(12vh, 110px) 20px 30px;
    opacity: 0;
    transition: opacity 140ms ease;
}
.command-palette.visible { opacity: 1; }
.command-palette-backdrop {
    position: absolute;
    inset: 0;
    background: rgba(1, 3, 6, .78);
    backdrop-filter: blur(12px);
}
.command-palette-panel {
    position: relative;
    width: min(680px, 100%);
    overflow: hidden;
    border: 1px solid rgba(var(--page-accent-rgb), .28);
    border-radius: 15px;
    background: linear-gradient(145deg, rgba(18, 22, 28, .995), rgba(9, 12, 16, .995));
    box-shadow: 0 30px 100px rgba(0, 0, 0, .62), 0 0 80px rgba(var(--page-accent-rgb), .08);
    transform: translateY(-8px) scale(.985);
    transition: transform 140ms ease;
}
.command-palette.visible .command-palette-panel { transform: translateY(0) scale(1); }
.command-palette-panel > header {
    display: grid;
    grid-template-columns: 22px minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    padding: 15px 16px;
    border-bottom: 1px solid var(--nia-border);
}
.command-palette-panel > header > i { color: var(--page-accent); font-size: 16px; }
.command-palette-panel > header input {
    width: 100%;
    padding: 0;
    border: 0;
    background: transparent;
    box-shadow: none;
    color: #f3f6f8;
    font-family: "Manrope", sans-serif;
    font-size: 15px;
}
.command-palette-panel > header input:focus { outline: 0; }
.command-palette-panel > header button { padding: 0; border: 0; background: transparent; cursor: pointer; }
.command-palette-results { max-height: min(62vh, 560px); overflow-y: auto; padding: 8px; }
.command-group-label {
    margin: 10px 10px 5px;
    color: #5f6973;
    font-size: 8px;
    font-weight: 800;
    letter-spacing: .16em;
    text-transform: uppercase;
}
.command-palette-results a {
    display: grid;
    grid-template-columns: 34px minmax(0, 1fr) auto;
    align-items: center;
    gap: 10px;
    min-height: 49px;
    padding: 7px 10px;
    border: 1px solid transparent;
    border-radius: 9px;
    color: #c7d0d8;
    text-decoration: none;
}
.command-palette-results a:hover,
.command-palette-results a.active {
    border-color: rgba(var(--page-accent-rgb), .2);
    background: rgba(var(--page-accent-rgb), .08);
    color: #fff;
}
.command-palette-results a > i {
    display: grid;
    place-items: center;
    width: 32px;
    height: 32px;
    border: 1px solid rgba(var(--page-accent-rgb), .15);
    border-radius: 8px;
    background: rgba(var(--page-accent-rgb), .045);
    color: var(--page-accent);
}
.command-palette-results a > span { display: flex; min-width: 0; flex-direction: column; gap: 3px; }
.command-palette-results a strong { font-size: 10px; }
.command-palette-results a small { overflow: hidden; color: #717d88; font-size: 8px; text-overflow: ellipsis; white-space: nowrap; }
.command-palette-results a:hover small,
.command-palette-results a.active small { color: #9ba8b4; }
.command-palette-results a[hidden], .command-group-label[hidden] { display: none; }
.command-empty { display: grid; justify-items: center; gap: 7px; padding: 36px 20px; text-align: center; }
.command-empty[hidden] { display: none; }
.command-empty i { color: #59636c; font-size: 22px; }
.command-empty strong { color: #cbd3da; font-size: 11px; }
.command-empty span { color: #707b85; font-size: 9px; }
.command-palette-panel > footer {
    display: flex;
    align-items: center;
    gap: 15px;
    padding: 9px 14px;
    border-top: 1px solid var(--nia-border);
    color: #626d77;
    font-size: 8px;
}
.command-palette-panel > footer span:last-child { margin-left: auto; }

.command-actions {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 8px;
    margin: 12px 0 18px;
}
.command-actions a {
    display: grid;
    grid-template-columns: 32px minmax(0, 1fr) auto;
    align-items: center;
    gap: 9px;
    min-height: 68px;
    padding: 10px 12px;
    border: 1px solid var(--nia-border);
    border-radius: 10px;
    background: rgba(255, 255, 255, .012);
    color: #b9c3cc;
    text-decoration: none;
    transition: 150ms ease;
}
.command-actions a:hover { border-color: rgba(var(--page-accent-rgb), .27); background: rgba(var(--page-accent-rgb), .04); color: #fff; transform: translateY(-1px); }
.command-actions a > i:first-child { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 8px; background: rgba(var(--page-accent-rgb), .07); color: var(--page-accent); font-size: 14px; }
.command-actions a > i:last-child { color: #596570; font-size: 11px; }
.command-actions a span { display: flex; min-width: 0; flex-direction: column; gap: 3px; }
.command-actions a strong { font-size: 9px; }
.command-actions a small { overflow: hidden; color: #6f7b85; font-size: 7px; text-overflow: ellipsis; white-space: nowrap; }

.intelligence-filter-card,
.alerts-toolbar { margin-bottom: 18px; }
.inline-system-link { color: inherit; text-decoration: none; }
.inline-system-link:hover { color: var(--page-accent); }
.inline-system-link i { margin-left: 3px; font-size: .75em; opacity: .7; }
.fleet-intel-card,
.gate-camp-card,
.alert-intel-card { overflow: hidden; }
.fleet-intel-card > .card-header,
.gate-camp-card > .card-header { margin-bottom: 8px; }
.severity-border-critical { border-left: 2px solid #d97777; }
.severity-border-high { border-left: 2px solid #d38a6a; }
.severity-border-warning { border-left: 2px solid #d3a15f; }
.severity-border-info { border-left: 2px solid #72b7c8; }

.alerts-toolbar .filter-bar { display: flex; width: 100%; align-items: center; gap: 6px; }
.filter-tab {
    display: inline-flex;
    align-items: center;
    gap: 6px;
    min-height: 34px;
    padding: 0 11px;
    border: 1px solid transparent;
    border-radius: 7px;
    color: #7f8b95;
    font-size: 9px;
    font-weight: 700;
    text-decoration: none;
}
.filter-tab:hover { color: #dce3e8; background: rgba(255, 255, 255, .025); }
.filter-tab.active { border-color: rgba(var(--page-accent-rgb), .24); background: rgba(var(--page-accent-rgb), .08); color: var(--page-accent); }
.alerts-bulk-action { margin-left: auto !important; }
.alerts-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 14px; }
.alert-intel-card { display: flex; flex-direction: column; min-height: 285px; }
.alert-intel-card > p { font-size: 10px; }
.alert-card-actions { display: flex; align-items: center; gap: 8px; margin-top: auto; padding-top: 14px; }
.alert-card-actions form { margin: 0; }
.alerts-empty { grid-column: 1 / -1; min-height: 260px; align-content: center; justify-items: center; text-align: center; }
.alerts-empty > span { display: grid; place-items: center; width: 44px; height: 44px; border: 1px solid var(--nia-border); border-radius: 12px; color: #64717b; }

/* Public product landing page. */
.public-body {
    min-height: 100vh;
    background:
        radial-gradient(circle at 74% 8%, rgba(89, 147, 174, .13), transparent 32rem),
        radial-gradient(circle at 14% 3%, rgba(211, 161, 95, .09), transparent 28rem),
        #080a0d;
    color: #e9edf0;
    font-family: "Manrope", sans-serif;
}
.public-body .public-nav { position: sticky; top: 0; z-index: 50; height: 70px; border-bottom-color: rgba(255, 255, 255, .07); background: rgba(8, 10, 13, .82); }
.public-body .brand-mark { --brand-color: #d3a15f; --brand-rgb: 211, 161, 95; }
.public-body .public-brand small { color: #69737c; }
.public-login-link { padding: 8px 12px; border: 1px solid rgba(211, 161, 95, .25); border-radius: 7px; color: #dfb77f !important; }
.public-login-link:hover { background: rgba(211, 161, 95, .07); }
.public-hero {
    display: grid;
    grid-template-columns: minmax(0, 1.08fr) minmax(420px, .92fr);
    align-items: center;
    gap: clamp(44px, 7vw, 110px);
    width: min(1280px, calc(100% - 48px));
    min-height: min(760px, calc(100vh - 70px));
    margin: 0 auto;
    padding: 82px 0;
}
.public-kicker { display: flex; align-items: center; gap: 9px; margin: 0 0 18px; color: #8d979f; font-size: 9px; font-weight: 800; letter-spacing: .17em; }
.public-kicker span { width: 28px; height: 1px; background: #d3a15f; box-shadow: 0 0 10px rgba(211, 161, 95, .65); }
.public-hero h1 { max-width: 760px; margin: 0; color: #f3f1ed; font-family: "Space Grotesk", sans-serif; font-size: clamp(45px, 6vw, 78px); font-weight: 600; line-height: .98; letter-spacing: -.045em; }
.public-lede { max-width: 680px; margin: 24px 0 0; color: #8d979f; font-size: clamp(14px, 1.6vw, 18px); line-height: 1.75; }
.public-hero-actions { display: flex; align-items: center; gap: 20px; margin-top: 30px; }
.public-hero-actions .primary-btn { display: inline-flex; align-items: center; gap: 8px; padding: 13px 17px; border-color: rgba(211, 161, 95, .5); background: linear-gradient(135deg, #d8aa6d, #b67e43); color: #120d08; font-weight: 800; }
.public-secondary-action { color: #aab3ba; font-size: 11px; font-weight: 700; text-decoration: none; }
.public-secondary-action:hover { color: #fff; }
.public-auth-note { display: flex; align-items: center; gap: 8px; margin-top: 20px; color: #67727b; font-size: 9px; }
.public-auth-note i { color: #70b68b; }
.public-intelligence-preview {
    position: relative;
    overflow: hidden;
    border: 1px solid rgba(131, 153, 170, .17);
    border-radius: 15px;
    background: linear-gradient(145deg, rgba(18, 23, 29, .97), rgba(10, 13, 17, .97));
    box-shadow: 0 34px 90px rgba(0, 0, 0, .42);
}
.public-intelligence-preview::before { content: ""; position: absolute; top: -120px; right: -80px; width: 260px; height: 260px; border-radius: 50%; background: rgba(85, 183, 232, .09); filter: blur(50px); }
.public-intelligence-preview > header { position: relative; display: flex; justify-content: space-between; padding: 14px 16px; border-bottom: 1px solid rgba(255, 255, 255, .07); color: #818d96; font-size: 8px; font-weight: 800; letter-spacing: .13em; }
.public-intelligence-preview > header span { display: flex; align-items: center; gap: 7px; }
.public-intelligence-preview > header i { width: 6px; height: 6px; border-radius: 50%; background: #70b68b; box-shadow: 0 0 10px rgba(112, 182, 139, .8); }
.public-intelligence-preview > header small { color: #70b68b; }
.preview-location { display: flex; align-items: center; justify-content: space-between; padding: 17px 18px 12px; }
.preview-location span { display: flex; flex-direction: column; gap: 4px; }
.preview-location small, .preview-risk small, .preview-recommendation small { color: #66717a; font-size: 7px; font-weight: 800; letter-spacing: .13em; }
.preview-location strong { color: #e9edef; font-size: 13px; }
.preview-location b { color: #86929b; font-size: 8px; letter-spacing: .11em; }
.preview-risk { display: grid; grid-template-columns: 82px 1fr; align-items: center; margin: 0 18px 14px; padding: 15px; border: 1px solid rgba(217, 119, 119, .16); border-radius: 10px; background: rgba(217, 119, 119, .035); }
.preview-risk-score { color: #df8787; font-family: "Space Grotesk", sans-serif; font-size: 48px; line-height: 1; }
.preview-risk > span:last-child { display: flex; flex-direction: column; gap: 4px; }
.preview-risk strong { color: #e28b8b; font-size: 13px; }
.preview-risk em { color: #7c8993; font-size: 8px; font-style: normal; line-height: 1.5; }
.preview-signal { display: grid; grid-template-columns: 32px minmax(0, 1fr) auto; align-items: center; gap: 10px; margin: 0 18px; padding: 12px 0; border-top: 1px solid rgba(255, 255, 255, .06); }
.preview-signal > i { display: grid; place-items: center; width: 30px; height: 30px; border-radius: 8px; background: rgba(211, 161, 95, .07); color: #d3a15f; }
.preview-signal span { display: flex; min-width: 0; flex-direction: column; gap: 4px; }
.preview-signal strong { color: #cbd2d7; font-size: 9px; }
.preview-signal small { overflow: hidden; color: #68747d; font-size: 7px; text-overflow: ellipsis; white-space: nowrap; }
.preview-signal b { color: #aeb8bf; font-size: 10px; }
.preview-recommendation { display: flex; flex-direction: column; gap: 7px; margin: 4px 18px 18px; padding: 12px; border-left: 2px solid #d3a15f; background: rgba(211, 161, 95, .045); }
.preview-recommendation strong { color: #cbd3d8; font-size: 9px; line-height: 1.5; }
.public-signal-strip { display: grid; grid-template-columns: repeat(4, 1fr); width: min(1280px, calc(100% - 48px)); margin: 0 auto; border: 1px solid rgba(255, 255, 255, .07); border-radius: 12px; background: rgba(255, 255, 255, .012); }
.public-signal-strip > span { display: grid; grid-template-columns: 30px 1fr; column-gap: 9px; padding: 18px 20px; }
.public-signal-strip > span + span { border-left: 1px solid rgba(255, 255, 255, .07); }
.public-signal-strip i { grid-row: 1 / 3; align-self: center; color: #d3a15f; font-size: 16px; }
.public-signal-strip strong { color: #bfc7cc; font-size: 9px; }
.public-signal-strip small { margin-top: 3px; color: #606b74; font-size: 7px; }
.public-capabilities { width: min(1280px, calc(100% - 48px)); margin: 0 auto; padding: 120px 0 80px; }
.public-section-heading { max-width: 780px; }
.public-section-heading p, .public-privacy-callout p, .public-final-cta p { margin: 0 0 12px; color: #d3a15f; font-size: 8px; font-weight: 800; letter-spacing: .17em; }
.public-section-heading h2, .public-privacy-callout h2, .public-final-cta h2 { margin: 0; color: #e7e9e8; font-family: "Space Grotesk", sans-serif; font-size: clamp(30px, 4vw, 48px); line-height: 1.08; letter-spacing: -.025em; }
.public-section-heading > span, .public-privacy-callout > div > span { display: block; margin-top: 16px; color: #7d8890; font-size: 12px; line-height: 1.7; }
.public-capability-grid { display: grid; grid-template-columns: repeat(6, 1fr); gap: 12px; margin-top: 40px; }
.public-capability-grid article { grid-column: span 2; min-height: 245px; padding: 24px; border: 1px solid rgba(255, 255, 255, .075); border-radius: 12px; background: linear-gradient(145deg, rgba(19, 23, 28, .85), rgba(12, 15, 19, .85)); }
.public-capability-grid article:nth-child(4), .public-capability-grid article:nth-child(5) { grid-column: span 3; }
.public-capability-grid article > i { display: grid; place-items: center; width: 38px; height: 38px; margin-bottom: 28px; border: 1px solid rgba(211, 161, 95, .17); border-radius: 9px; background: rgba(211, 161, 95, .05); color: #d3a15f; }
.public-capability-grid article > small { color: #68737c; font-size: 7px; font-weight: 800; letter-spacing: .15em; }
.public-capability-grid h3 { margin: 8px 0 10px; color: #dce1e3; font-size: 16px; }
.public-capability-grid p { color: #77828a; font-size: 10px; line-height: 1.65; }
.public-capability-grid article > span { display: block; margin-top: 22px; color: #a07e53; font-size: 8px; }
.public-privacy-callout { display: grid; grid-template-columns: 58px minmax(0, 1fr) auto; align-items: center; gap: 24px; width: min(1180px, calc(100% - 48px)); margin: 30px auto 110px; padding: 30px; border: 1px solid rgba(112, 182, 139, .16); border-radius: 14px; background: rgba(112, 182, 139, .025); }
.public-privacy-callout h2 { font-size: clamp(24px, 3vw, 34px); }
.privacy-callout-icon { display: grid; place-items: center; width: 54px; height: 54px; border: 1px solid rgba(112, 182, 139, .2); border-radius: 13px; color: #70b68b; font-size: 21px; }
.public-privacy-callout > a { color: #9bb3a5; font-size: 9px; font-weight: 700; text-decoration: none; white-space: nowrap; }
.public-privacy-callout > a:hover { color: #d9e7dd; }
.public-final-cta { width: min(900px, calc(100% - 48px)); margin: 0 auto; padding: 40px 0 120px; text-align: center; }
.public-final-cta .primary-btn { display: inline-flex; margin-top: 26px; padding: 13px 18px; border-color: rgba(211, 161, 95, .4); color: #e4bd87; }
.public-footer { display: flex; align-items: center; justify-content: space-between; gap: 20px; min-height: 76px; padding: 0 max(24px, calc((100% - 1280px) / 2)); border-top: 1px solid rgba(255, 255, 255, .07); color: #59636b; font-size: 8px; }
.public-footer nav { display: flex; gap: 18px; }
.public-footer a { color: #6f7a82; text-decoration: none; }
.public-footer a:hover { color: #d0d5d8; }

@media (max-width: 1120px) {
    .command-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .public-hero { grid-template-columns: 1fr; }
    .public-intelligence-preview { width: min(680px, 100%); }
}

@media (max-width: 760px) {
    .command-search-trigger span, .command-search-trigger kbd { display: none; }
    .command-search-trigger { width: 30px; justify-content: center; padding: 0; }
    .command-palette { padding: 12px; place-items: start center; }
    .command-palette-panel { margin-top: 4vh; }
    .command-palette-panel > footer span:last-child { display: none; }
    .alerts-grid { grid-template-columns: 1fr; }
    .alerts-toolbar .filter-bar { align-items: stretch; flex-wrap: wrap; }
    .alerts-bulk-action { width: 100%; margin-left: 0 !important; }
    .public-body .public-nav { padding: 0 18px; }
    .public-body .public-nav .nav-links > a:not(.public-login-link) { display: none; }
    .public-hero { width: min(100% - 32px, 680px); padding: 60px 0; }
    .public-hero h1 { font-size: clamp(42px, 13vw, 64px); }
    .public-hero-actions { align-items: flex-start; flex-direction: column; }
    .public-signal-strip { grid-template-columns: repeat(2, 1fr); width: calc(100% - 32px); }
    .public-signal-strip > span + span { border-left: 0; }
    .public-signal-strip > span:nth-child(even) { border-left: 1px solid rgba(255, 255, 255, .07); }
    .public-signal-strip > span:nth-child(n + 3) { border-top: 1px solid rgba(255, 255, 255, .07); }
    .public-capabilities { width: calc(100% - 32px); padding-top: 85px; }
    .public-capability-grid { grid-template-columns: 1fr; }
    .public-capability-grid article, .public-capability-grid article:nth-child(4), .public-capability-grid article:nth-child(5) { grid-column: auto; min-height: 0; }
    .public-privacy-callout { grid-template-columns: 1fr; width: calc(100% - 32px); }
    .public-privacy-callout > a { white-space: normal; }
    .public-footer { align-items: flex-start; flex-direction: column; padding: 22px 18px; }
}

@media (max-width: 520px) {
    .command-actions { grid-template-columns: 1fr; }
    .command-palette-results { max-height: 68vh; }
    .command-palette-panel > footer { gap: 8px; }
    .topbar-controls { gap: 6px; }
    .public-intelligence-preview { border-radius: 11px; }
    .preview-risk { grid-template-columns: 68px 1fr; }
    .preview-risk-score { font-size: 40px; }
}

@media (min-width: 901px) {
    body.nia-sidebar-compact .app-shell { grid-template-columns: 78px minmax(0, 1fr); }
    body.nia-sidebar-compact .sidebar { padding-left: 11px; padding-right: 11px; }
    body.nia-sidebar-compact .brand { justify-content: center; margin-left: 0; margin-right: 0; }
    body.nia-sidebar-compact :is(.brand-copy, .nav-section, .side-nav a > span, .side-nav .nav-disabled > span, .side-nav .nav-disabled small, .pilot-meta, .pilot-chevron, .logout-link) { display: none; }
    body.nia-sidebar-compact .side-nav a,
    body.nia-sidebar-compact .side-nav .nav-disabled { display: grid; grid-template-columns: 1fr; place-items: center; padding-left: 5px; padding-right: 5px; }
    body.nia-sidebar-compact .side-nav .nav-overview { min-height: 44px; }
    body.nia-sidebar-compact .pilot-card { display: grid; grid-template-columns: 1fr; place-items: center; }
}

@media (max-width: 520px) {
    .settings-surface-options { grid-template-columns: 1fr; }
}

/* 2026 interface refinement -------------------------------------------------
   A single final layer keeps the shared shell consistent after page-specific
   styles and user-selected interface preferences have been applied. */
body.app-body {
    --nia-radius: 14px;
    --nia-border: rgba(210, 225, 237, .105);
    --nia-border-strong: rgba(210, 225, 237, .19);
    --nia-text: #edf3f7;
    --nia-muted: #97a5b2;
    --nia-subtle: #697784;
    font-size: 14px;
}

.app-shell { grid-template-columns: 258px minmax(0, 1fr); }
.sidebar { padding: 20px 14px 16px; }
.brand { min-height: 60px; margin: 0 4px 16px; padding: 0 4px 16px; }
.brand-mark { width: 42px; height: 42px; flex-basis: 42px; border-radius: 11px; }
.brand-copy strong { font-size: 17px; }
.brand-copy small { color: #7f8b96; font-size: 7.5px; }
.side-nav { padding-right: 2px; }
.nav-section { margin: 17px 9px 6px; color: #737f89; font-size: 8.5px; }
.side-nav a,
.side-nav .nav-disabled {
    min-height: 40px;
    padding: 5px 7px;
    border-radius: 9px;
    grid-template-columns: 31px minmax(0, 1fr) auto;
    gap: 8px;
    color: #98a3ad;
    font-size: 11.5px;
}
.side-nav a:hover { color: #f0f5f8; background: rgba(255, 255, 255, .04); }
.side-nav a.active {
    border-color: rgba(var(--page-accent-rgb), .28);
    background: linear-gradient(90deg, rgba(var(--page-accent-rgb), .16), rgba(var(--page-accent-rgb), .035) 78%, transparent);
    box-shadow: inset 0 1px 0 rgba(255, 255, 255, .025), 0 8px 22px rgba(0, 0, 0, .13);
}
.nav-icon { width: 31px; height: 29px; font-size: 13px; }
.pilot-card { padding: 9px 8px; }
.pilot-meta strong { font-size: 10.5px; }
.pilot-meta small, .logout-link { font-size: 8px; }

.dashboard-main { max-width: 1840px; padding: 0 36px 56px; }
.topbar { height: 62px; }
.topbar-context { font-size: 9.5px; }
.topbar-controls { gap: 8px; }
.command-search-trigger { min-width: 150px; min-height: 32px; justify-content: flex-start; font-size: 9.5px; }
.command-search-trigger kbd { margin-left: auto; }
.session-state, .topbar-location, .topbar-logout { min-height: 30px; font-size: 8.5px; }
.topbar-role { padding: 6px 8px; font-size: 7.5px; }

.welcome { padding: 32px 0 22px; }
.welcome::before, .card-eyebrow { font-size: 8px; }
.welcome h1 { font-size: clamp(32px, 3.2vw, 46px); font-weight: 650; }
.welcome p { max-width: 800px; color: #9aa7b3; font-size: 12.5px; }

.card {
    border-color: var(--nia-border);
    border-radius: var(--nia-radius);
    box-shadow: 0 14px 36px rgba(0, 0, 0, .18), inset 0 1px 0 rgba(255, 255, 255, .018);
}
.card:hover { border-color: rgba(var(--page-accent-rgb), .23); box-shadow: 0 18px 46px rgba(0, 0, 0, .22); }
.card h2 { color: #edf2f5; font-size: 16px; font-weight: 650; }
.card h3 { color: #dce4ea; }
.card p { color: var(--nia-muted); }
.card-header { padding-bottom: 14px; }
.card-header::after { width: 42px; opacity: .8; }
.card-eyebrow { color: var(--page-accent); letter-spacing: .16em; }
.stat-line { color: #9aa6b1; font-size: 10.5px; }
.stat-line strong { color: #e2e8ec; font-size: 10.5px; }
.pill { padding: 5px 8px; border-radius: 6px; font-size: 7.5px; }

body.app-body :is(input, select, textarea) {
    min-height: 41px;
    border-color: rgba(210, 225, 237, .15);
    color: #e8eef2;
    font-size: 11px;
}
body.app-body :is(input, textarea)::placeholder { color: #65727e; opacity: 1; }
.panel-btn, .primary-btn, .secondary-btn, .danger-btn {
    min-height: 40px;
    padding: 10px 14px;
    border-radius: 9px;
    font-size: 10px;
}
.filter-bar label, .settings-field > span { color: #8795a1; }

@media (max-width: 1180px) and (min-width: 901px) {
    .app-shell { grid-template-columns: 78px minmax(0, 1fr); }
    .sidebar { padding-inline: 11px; }
    .brand { justify-content: center; margin-inline: 0; }
    .brand-copy, .nav-section, .side-nav a > span, .side-nav .nav-disabled > span,
    .side-nav .nav-disabled small, .pilot-meta, .pilot-chevron, .logout-link { display: none; }
    .side-nav a, .side-nav .nav-disabled { grid-template-columns: 1fr; place-items: center; padding-inline: 5px; }
    .pilot-card { grid-template-columns: 1fr; place-items: center; }
    .dashboard-main { padding-inline: 28px; }
}

@media (max-width: 900px) {
    .dashboard-main { padding-inline: 18px; }
    .command-search-trigger { min-width: 32px; width: 32px; justify-content: center; padding: 0; }
    .command-search-trigger span, .command-search-trigger kbd { display: none; }
}

@media (max-width: 600px) {
    .dashboard-main { padding: 0 14px 34px; }
    .topbar { height: 54px; }
    .session-state { padding-inline: 7px; }
    .mobile-nav-toggle {
        width: auto;
        min-width: 68px;
        padding: 0 10px;
        display: flex;
        gap: 7px;
        font-size: 9px;
        font-weight: 750;
        letter-spacing: .06em;
        text-transform: uppercase;
    }
    .command-search-trigger { width: auto; min-width: 72px; padding-inline: 9px; }
    .command-search-trigger span { display: inline; }
    .command-search-trigger span { font-size: 0; }
    .command-search-trigger span::after { content: "Search"; font-size: 9px; }
}
