/* Public access pages */
.access-page { background: #e9f0ed; color: #1d2926; font-family: Georgia, "Times New Roman", serif; margin: 0; min-height: 100vh; }
.access-shell { display: grid; grid-template-columns: minmax(17rem, 0.8fr) minmax(21rem, 0.7fr); margin: 0 auto; max-width: 68rem; min-height: 100vh; }
.access-intro { background: #173a31; color: #f7fbf9; display: flex; flex-direction: column; justify-content: center; padding: clamp(2.5rem, 8vw, 6rem); }
.access-intro > div { align-items: center; display: flex; gap: 1rem; }
.access-mark { align-items: center; background: #d8ff6a; border-radius: 6px; color: #173a31; display: flex; font-family: "Segoe UI", sans-serif; font-size: 0.76rem; font-weight: 900; height: 2.65rem; justify-content: center; letter-spacing: 0.05em; width: 2.65rem; }
.access-kicker { color: #c8d8d1; font-family: "Segoe UI", sans-serif; font-size: 0.7rem; font-weight: 850; letter-spacing: 0.16em; margin: 0 0 0.35rem; text-transform: uppercase; }
.access-intro h1 { font-size: clamp(1.7rem, 3vw, 2.45rem); line-height: 1; margin: 0; }
.access-intro > p { color: #b8cbc3; font-family: "Segoe UI", sans-serif; font-size: 0.96rem; line-height: 1.6; margin: 2.25rem 0 0; max-width: 25rem; }
.access-card { align-self: center; background: #fff; border: 1px solid #d5e0db; box-shadow: 0 18px 45px rgba(28, 55, 45, 0.13); margin: 2rem; padding: clamp(1.6rem, 4vw, 2.7rem); }
.access-card h2 { font-size: 1.7rem; line-height: 1.15; margin: 0.3rem 0 0.7rem; }
.access-summary { color: #64736d; font-family: "Segoe UI", sans-serif; font-size: 0.88rem; line-height: 1.55; margin: 0 0 1.6rem; }
.access-card form { display: grid; gap: 0.6rem; }
.access-card label { color: #3e4e47; font-family: "Segoe UI", sans-serif; font-size: 0.78rem; font-weight: 800; }
.access-card input { border: 1px solid #bdcec6; font: 0.95rem "Segoe UI", sans-serif; min-width: 0; padding: 0.7rem 0.75rem; }
.access-card input:focus { border-color: #007d6c; outline: 3px solid rgba(0, 125, 108, 0.15); }
.access-card form .btn { margin-top: 0.8rem; }
.access-actions { display: flex; flex-wrap: wrap; gap: 0.65rem; }
.access-footer { font-family: "Segoe UI", sans-serif; font-size: 0.82rem; margin: 1.5rem 0 0; }
.access-footer a { color: #006d5e; font-weight: 750; }
:root {
    color-scheme: light;

    --console-ink: #1a2422;
    --console-muted: #62726c;
    --console-muted-strong: #43524b;
    --console-canvas: #eef2ef;
    --console-surface: #ffffff;
    --console-surface-alt: #fbfdfc;
    --console-quiet: #f5f8f6;
    --console-line: #dde4e0;
    --console-line-strong: #c7d3cd;

    --console-accent: #0f7a68;
    --console-accent-deep: #0a5c4e;
    --console-accent-soft: #e4f3ee;
    --console-highlight: var(--console-accent);

    --console-success: #157a52;
    --console-success-deep: #0d5f3e;
    --console-success-soft: #e2f5ec;
    --console-warning: #9a6412;
    --console-warning-deep: #78500d;
    --console-warning-soft: #fbf0da;
    --console-danger: #b23c4c;
    --console-danger-deep: #8f2a38;
    --console-danger-soft: #fbe9ea;
    --console-info: #3f6aa8;
    --console-info-soft: #eaf0f9;

    --console-mono: Consolas, "Courier New", monospace;
    --console-radius-sm: 4px;
    --console-radius-md: 6px;
    --console-radius-lg: 8px;
    --console-shadow-sm: 0 1px 2px rgba(16, 32, 26, 0.05);
    --console-shadow-md: 0 6px 16px rgba(16, 32, 26, 0.055);
    --console-shadow-lg: 0 16px 36px rgba(16, 32, 26, 0.14);

    --console-sidebar-bg: #0f1e1a;
    --console-sidebar-line: rgba(255, 255, 255, 0.08);
    --console-sidebar-ink: #aebdb7;
    --console-sidebar-ink-strong: #f2fbf7;
    --console-sidebar-accent: #1fd1a8;
    --console-sidebar-active-bg: rgba(31, 209, 168, 0.16);
    --console-sidebar-active-border: rgba(31, 209, 168, 0.32);
}

:root[data-theme="dark"] {
    color-scheme: dark;

    --console-ink: #e6ebe8;
    --console-muted: #8fa09a;
    --console-muted-strong: #b6c3be;
    --console-canvas: #10201b;
    --console-surface: #16261f;
    --console-surface-alt: #1b2c25;
    --console-quiet: #182922;
    --console-line: #294038;
    --console-line-strong: #395249;

    --console-accent: #2bbf9c;
    --console-accent-deep: #6fe0be;
    --console-accent-soft: rgba(43, 191, 156, 0.16);
    --console-highlight: var(--console-accent);

    --console-success: #35bd8b;
    --console-success-deep: #77e3b6;
    --console-success-soft: rgba(53, 189, 139, 0.16);
    --console-warning: #dba552;
    --console-warning-deep: #f0c27d;
    --console-warning-soft: rgba(219, 165, 82, 0.16);
    --console-danger: #e2727f;
    --console-danger-deep: #f4a4ae;
    --console-danger-soft: rgba(226, 114, 127, 0.16);
    --console-info: #82a8da;
    --console-info-soft: rgba(130, 168, 218, 0.16);

    --console-shadow-sm: 0 1px 2px rgba(0, 0, 0, 0.32);
    --console-shadow-md: 0 6px 18px rgba(0, 0, 0, 0.32);
    --console-shadow-lg: 0 18px 40px rgba(0, 0, 0, 0.5);

    --console-sidebar-bg: #0a1512;
    --console-sidebar-line: rgba(255, 255, 255, 0.07);
    --console-sidebar-ink: #8fa09a;
    --console-sidebar-ink-strong: #f2fbf7;
    --console-sidebar-accent: #2bbf9c;
    --console-sidebar-active-bg: rgba(43, 191, 156, 0.18);
    --console-sidebar-active-border: rgba(43, 191, 156, 0.34);
}

html,
body {
    background: var(--console-canvas);
    color: var(--console-ink);
    font-family: Bahnschrift, Aptos, "Arial Narrow", sans-serif;
    font-size: 15.5px;
}

body { transition: background-color 160ms ease, color 160ms ease; }
body * { transition: background-color 140ms ease, border-color 140ms ease, color 140ms ease, box-shadow 140ms ease; }

body { min-width: 320px; overflow-x: clip; }
a { color: var(--console-accent-deep); text-decoration-color: rgba(15, 122, 104, 0.3); text-underline-offset: 0.16em; }
a:hover { color: var(--console-accent); }
body main { background: var(--console-canvas); }
body .sidebar { background: var(--console-sidebar-bg) !important; }
body .content { margin: 0 auto; max-width: 1520px; padding-bottom: 5.5rem !important; padding-top: 1.5rem !important; }

body .page-heading { align-items: flex-end; display: flex; gap: 1.5rem; justify-content: space-between; margin-bottom: 1.15rem; }
body .eyebrow { color: var(--console-accent); font-size: 0.66rem; font-weight: 800; letter-spacing: 0.12em; margin: 0 0 0.4rem; text-transform: uppercase; }
body .page-heading h1,
body .section-heading h2,
body .settings-section h2 { color: var(--console-ink); font-weight: 750; letter-spacing: 0; }
body .page-heading h1 { font-size: 1.65rem; line-height: 1.05; margin: 0; }
body .page-summary,
body .field-note,
body .muted { color: var(--console-muted); }
body .page-summary { font-size: 0.86rem; line-height: 1.42; margin: 0.4rem 0 0; max-width: 52rem; }
body .heading-actions { align-items: flex-end; display: flex; flex-direction: column; gap: 0.5rem; }
body .heading-timestamp { color: var(--console-muted); font-size: 0.7rem; font-weight: 700; letter-spacing: 0.05em; text-transform: uppercase; }

body .btn { border-radius: var(--console-radius-sm); font-size: 0.82rem; font-weight: 700; min-height: 2.25rem; padding: 0.42rem 0.8rem; }
body .btn-primary { background: var(--console-accent); border-color: var(--console-accent); box-shadow: none; color: #fff; }
body .btn-primary:hover,
body .btn-primary:focus { background: var(--console-accent-deep); border-color: var(--console-accent-deep); }
body .btn-outline-primary { border-color: var(--console-line-strong); color: var(--console-accent-deep); }
body .btn-outline-primary:hover { background: var(--console-accent-soft); border-color: var(--console-accent); color: var(--console-accent-deep); }
body .btn-outline-danger { border-color: var(--console-danger-soft); color: var(--console-danger-deep); }
body .btn-outline-danger:hover { background: var(--console-danger-soft); border-color: var(--console-danger); color: var(--console-danger-deep); }
body .btn-outline-secondary { border-color: var(--console-line-strong); color: var(--console-muted-strong); }
body .btn-outline-secondary:hover { background: var(--console-quiet); border-color: var(--console-line-strong); color: var(--console-ink); }
body .btn-link { color: var(--console-accent-deep); }
body .btn:focus-visible { box-shadow: 0 0 0 0.2rem var(--console-accent-soft); outline: 0; }

body .status-grid { display: grid; gap: 0.65rem; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-bottom: 1.1rem; }
body .status-panel,
body .settings-section,
body .work-list,
body .data-section { background: var(--console-surface); border: 1px solid var(--console-line); border-radius: var(--console-radius-lg); box-shadow: var(--console-shadow-md); }
body .status-panel { border-top: 2px solid var(--console-accent); display: flex; flex-direction: column; min-height: 6.5rem; padding: 0.85rem 0.95rem; }
body .status-panel:nth-child(2) { border-top-color: var(--console-warning); }
body .status-panel:nth-child(3) { border-top-color: var(--console-info); }
body .status-label { color: var(--console-muted); font-size: 0.68rem; font-weight: 800; letter-spacing: 0.08em; margin-bottom: auto; text-transform: uppercase; }
body .status-panel strong { font-size: 1.32rem; line-height: 1.2; margin: 0.8rem 0 0.35rem; }
body .status-panel small,
body .work-item small { color: var(--console-muted); font-size: 0.8rem; line-height: 1.4; }
body .status-dot { border-radius: 50%; display: inline-block; height: 0.5rem; margin-right: 0.4rem; vertical-align: 0.08em; width: 0.5rem; }
body .healthy { background: var(--console-success); box-shadow: 0 0 0 3px var(--console-success-soft); }
body .unhealthy { background: var(--console-danger); box-shadow: 0 0 0 3px var(--console-danger-soft); }
body .pending { background: var(--console-warning); box-shadow: 0 0 0 3px var(--console-warning-soft); }

body .dashboard-metrics { display: grid; gap: 0; grid-template-columns: repeat(5, minmax(0, 1fr)); margin-bottom: 0.9rem; }
body .dashboard-metric { background: var(--console-surface); border: 1px solid var(--console-line); border-left: 0; display: flex; flex-direction: column; min-height: 7.25rem; padding: 0.95rem 1.05rem; }
body .dashboard-metric:first-child { border-left: 1px solid var(--console-line); border-radius: var(--console-radius-lg) 0 0 var(--console-radius-lg); }
body .dashboard-metric:last-child { border-radius: 0 var(--console-radius-lg) var(--console-radius-lg) 0; }
body .dashboard-metric > span { color: var(--console-muted); font-size: 0.66rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
body .dashboard-metric strong { color: var(--console-ink); font-size: 1.6rem; line-height: 1.1; margin: auto 0 0.3rem; }
body .dashboard-metric small { color: var(--console-muted); font-size: 0.73rem; line-height: 1.35; }
body .legend-swatch { background: var(--console-accent); display: inline-block; height: 0.52rem; margin: 0 0.3rem 0 0.45rem; width: 0.52rem; }
body .legend-swatch:first-child { margin-left: 0; }
body .legend-swatch.outbound { background: var(--console-warning); }
body .dashboard-main-grid { display: grid; gap: 0.85rem; grid-template-columns: minmax(0, 2fr) minmax(18rem, 0.8fr); margin-bottom: 0.9rem; }
body .dashboard-chart-panel,
body .dashboard-health-panel { background: var(--console-surface); border: 1px solid var(--console-line); border-radius: var(--console-radius-lg); box-shadow: var(--console-shadow-md); min-width: 0; }
body .dashboard-panel-heading { align-items: center; border-bottom: 1px solid var(--console-line); display: flex; gap: 1rem; justify-content: space-between; padding: 0.95rem 1.1rem; }
body .dashboard-panel-heading h2 { color: var(--console-ink); font-size: 1.05rem; margin: 0; }
body .dashboard-panel-heading .eyebrow { margin-bottom: 0.3rem; }
body .chart-legend { align-items: center; color: var(--console-muted); display: flex; font-size: 0.72rem; font-weight: 700; gap: 0.9rem; }
body .chart-summary { border-bottom: 1px solid var(--console-line); display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); padding: 0.75rem 1.25rem; }
body .chart-summary span { border-right: 1px solid var(--console-line); display: flex; flex-direction: column; padding: 0 0.9rem; }
body .chart-summary span:first-child { padding-left: 0; }
body .chart-summary span:last-child { border-right: 0; }
body .chart-summary small { color: var(--console-muted); font-size: 0.62rem; font-weight: 800; letter-spacing: 0.08em; text-transform: uppercase; }
body .chart-summary strong { color: var(--console-ink); font-size: 0.9rem; margin-top: 0.15rem; }
body .throughput-chart { height: 14rem; margin: 0.75rem 1.25rem 0; padding-left: 3.75rem; position: relative; }
body .throughput-chart::after { background: repeating-linear-gradient(to bottom, var(--console-line) 0 1px, transparent 1px 25%); content: ""; inset: 1rem 0 1.05rem 3.75rem; opacity: 0.7; pointer-events: none; position: absolute; }
body .chart-scale { bottom: 1.05rem; color: var(--console-muted); display: flex; flex-direction: column; font-size: 0.6rem; justify-content: space-between; left: 0; position: absolute; text-align: right; top: 1rem; width: 3.2rem; }
body .traffic-intervals { align-items: end; display: grid; gap: 0.25rem; grid-template-columns: repeat(30, minmax(0, 1fr)); height: calc(100% - 2.05rem); padding-top: 1rem; position: relative; z-index: 1; }
body .traffic-interval { align-items: end; display: flex; gap: 2px; height: 100%; justify-content: center; min-width: 0; }
body .traffic-interval i { animation: chart-bar-enter 500ms ease-out both; background: var(--console-accent); border-radius: 2px 2px 0 0; display: block; min-height: 1px; transform-origin: bottom; width: 42%; }
body .traffic-interval i.outbound { background: var(--console-warning); }
body .traffic-interval.is-missing { border-bottom: 2px solid var(--console-line); }
body .traffic-interval.is-missing i { display: none; }
body .peer-track { align-items: end; border-top: 1px solid var(--console-line); display: grid; gap: 0.55rem; grid-template-columns: 3.2rem minmax(0, 1fr); margin: 0.5rem 1.25rem 0; min-height: 2.5rem; padding: 0.5rem 0 0; }
body .peer-track > span { align-self: center; color: var(--console-muted); font-size: 0.62rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; }
body .peer-bars { align-items: end; display: grid; gap: 0.2rem; grid-template-columns: repeat(30, minmax(0, 1fr)); height: 1.75rem; }
body .peer-bars i { background: var(--console-info); border-radius: 2px 2px 0 0; display: block; min-height: 3px; }
body .peer-bars i.is-missing { background: var(--console-line); opacity: 0.55; }
body .chart-axis { color: var(--console-muted); display: flex; font-size: 0.65rem; justify-content: space-between; padding: 0.45rem 1.25rem 1.15rem 5rem; }
body .dashboard-chart-empty { align-items: center; color: var(--console-muted); display: flex; flex-direction: column; height: 17.25rem; justify-content: center; padding: 2rem; text-align: center; }
body .dashboard-chart-empty strong { color: var(--console-ink); font-size: 0.9rem; margin-bottom: 0.35rem; }
body .dashboard-chart-empty span { font-size: 0.78rem; max-width: 28rem; }
body .health-list { margin: 0; }
body .health-list > div { border-bottom: 1px solid var(--console-line); display: grid; gap: 0.25rem; grid-template-columns: 1fr auto; padding: 1rem 1.25rem; }
body .health-list > div:last-child { border-bottom: 0; }
body .health-list dt { color: var(--console-muted); font-size: 0.7rem; font-weight: 800; letter-spacing: 0.06em; text-transform: uppercase; }
body .health-list dd { color: var(--console-ink); font-size: 0.86rem; font-weight: 800; margin: 0; text-align: right; }
body .health-list small { color: var(--console-muted); font-size: 0.72rem; grid-column: 1 / -1; line-height: 1.35; }
body .dashboard-tunnels { margin-bottom: 1rem; }
body .dashboard-security { margin-bottom: 1rem; }
body .dashboard-security-grid { display: grid; gap: 1rem; grid-template-columns: minmax(0, 2fr) minmax(18rem, 0.8fr); }
body .dashboard-security-summary { border: 1px solid var(--console-line); border-bottom: 0; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
body .dashboard-security-summary > span { border-right: 1px solid var(--console-line); display: flex; flex-direction: column; gap: 0.25rem; padding: 0.75rem 0.95rem; }
body .dashboard-security-summary > span:last-child { border-right: 0; }
body .dashboard-security-summary strong { color: var(--console-ink); font-size: 1.1rem; }
body .dashboard-security-summary small { color: var(--console-muted); font-size: 0.7rem; line-height: 1.3; }
body .dashboard-security-events { margin-top: 1rem; }
body .dashboard-setup { margin-top: 1rem; }

/* Client security review */
body .security-review-metrics { grid-template-columns: repeat(5, minmax(0, 1fr)); }
body .security-review-metric-attention { border-top: 2px solid var(--console-danger); }
body .security-review-brief { background: var(--console-accent-deep); border: 1px solid var(--console-accent-deep); box-shadow: var(--console-shadow-lg); color: #f6fffb; display: grid; gap: 1.35rem; grid-template-columns: minmax(0, 1.45fr) minmax(19rem, 0.8fr); margin-bottom: 0.9rem; overflow: hidden; padding: 1.35rem 1.5rem; position: relative; }
body .security-review-brief-main, body .security-review-brief-stats, body .security-review-filter-pills { position: relative; z-index: 1; }
body .security-review-brief .eyebrow { color: rgba(255, 255, 255, 0.72); }
body .security-review-brief h2 { font-size: 1.32rem; letter-spacing: 0; margin: 0; }
body .security-review-brief-main > p:last-child { color: rgba(246, 255, 251, 0.78); font-size: 0.85rem; line-height: 1.5; margin: 0.5rem 0 0; max-width: 43rem; }
body .security-review-brief-stats { align-self: start; display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
body .security-review-brief-stats span { border-left: 1px solid rgba(255, 255, 255, 0.2); display: flex; flex-direction: column; padding: 0 0.8rem; }
body .security-review-brief-stats span:first-child { border-left: 0; padding-left: 0; }
body .security-review-brief-stats strong { font-size: 1.35rem; }
body .security-review-brief-stats small { color: rgba(246, 255, 251, 0.68); font-size: 0.67rem; line-height: 1.35; margin-top: 0.25rem; }
body .security-review-filter-pills { display: flex; flex-wrap: wrap; gap: 0.45rem; grid-column: 1 / -1; }
body .security-review-filter-pills button { background: rgba(255, 255, 255, 0.08); border: 1px solid rgba(255, 255, 255, 0.24); border-radius: var(--console-radius-sm); color: #edf9f4; cursor: pointer; font: inherit; font-size: 0.72rem; font-weight: 750; padding: 0.4rem 0.62rem; }
body .security-review-filter-pills button:hover, body .security-review-filter-pills button.is-selected { background: #fff; border-color: #fff; color: var(--console-accent-deep); }
body .security-review-filter-pills button.is-danger:not(.is-selected) { border-color: rgba(255, 194, 202, 0.55); }
body .security-review-filter-pills button.is-warning:not(.is-selected) { border-color: rgba(255, 219, 153, 0.6); }
body .security-review-filter-pills span { background: rgba(0, 0, 0, 0.2); border-radius: 999px; display: inline-flex; height: 1.15rem; justify-content: center; line-height: 1.15rem; margin-left: 0.22rem; min-width: 1.15rem; }
body .security-review-filter-pills button.is-selected span { background: rgba(10, 92, 78, 0.14); }
body .security-review-priority { margin-bottom: 0.9rem; overflow: hidden; }
body .security-review-priority-list { border-top: 1px solid var(--console-line); }
body .security-review-priority-item { align-items: center; border-bottom: 1px solid var(--console-line); color: var(--console-ink); display: grid; gap: 0.85rem; grid-template-columns: 0.5rem minmax(14rem, 1fr) minmax(12rem, 1.3fr) auto; padding: 0.85rem 1.25rem; text-decoration: none; }
body .security-review-priority-item:last-child { border-bottom: 0; }
body .security-review-priority-item:hover { background: var(--console-quiet); color: var(--console-ink); }
body .security-review-priority-mark { background: var(--console-danger); height: 100%; min-height: 2.3rem; }
body .security-review-priority-item.is-stale .security-review-priority-mark { background: var(--console-warning); }
body .security-review-priority-item strong, body .security-review-priority-item small { display: block; }
body .security-review-priority-item strong { font-size: 0.84rem; }
body .security-review-priority-item small, body .security-review-priority-detail { color: var(--console-muted); font-size: 0.72rem; line-height: 1.35; }
body .security-review-section { overflow: hidden; }
body .security-review-section > .field-note { margin: 0; padding: 0 1.25rem 1rem; }
body .security-review-list { border-top: 1px solid var(--console-line); }
body .security-review-workspace { background: var(--console-surface-alt); border-top: 1px solid var(--console-line); display: grid; grid-template-columns: minmax(19rem, 0.75fr) minmax(0, 1.75fr); min-height: 39rem; }
body .security-review-index { background: var(--console-quiet); border-right: 1px solid var(--console-line); overflow-y: auto; }
body .security-review-index-item { align-items: center; background: transparent; border: 0; border-bottom: 1px solid var(--console-line); color: var(--console-ink); cursor: pointer; display: grid; font: inherit; gap: 0.7rem; grid-template-columns: 0.35rem minmax(0, 1fr) auto; min-height: 4.7rem; padding: 0.75rem 0.85rem; text-align: left; width: 100%; }
body .security-review-index-item:hover { background: var(--console-accent-soft); }
body .security-review-index-item.is-selected { background: var(--console-surface); box-shadow: inset 3px 0 0 var(--console-accent); }
body .security-review-index-state { align-self: stretch; background: var(--console-muted); }
body .security-review-index-state.state-revoked { background: var(--console-danger); }
body .security-review-index-state.state-pending { background: var(--console-warning); }
body .security-review-index-state.state-active { background: var(--console-success); }
body .security-review-index-copy, body .security-review-index-meta { min-width: 0; }
body .security-review-index-copy strong, body .security-review-index-copy small, body .security-review-index-meta span, body .security-review-index-meta small { display: block; }
body .security-review-index-copy strong { color: var(--console-accent-deep); font-size: 0.82rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body .security-review-index-copy small, body .security-review-index-meta small { color: var(--console-muted); font-size: 0.67rem; line-height: 1.35; margin-top: 0.16rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body .security-review-index-meta { text-align: right; }
body .security-review-index-meta span { color: var(--console-ink); font-size: 0.68rem; font-weight: 800; }
body .security-review-inspector { background: var(--console-surface); min-width: 0; }
body .security-review-inspector-header { align-items: flex-start; background: var(--console-surface); border-bottom: 1px solid var(--console-line); display: flex; gap: 1rem; justify-content: space-between; padding: 1.1rem 1.25rem; }
body .security-review-inspector-header .eyebrow { margin-bottom: 0.32rem; }
body .security-review-inspector-header h3 { font-size: 1.2rem; margin: 0; }
body .security-review-inspector-header p { color: var(--console-muted); font-size: 0.74rem; margin: 0.28rem 0 0; }
body .security-review-inspector-actions { align-items: flex-end; display: flex; flex-direction: column; gap: 0.5rem; }
body .security-review-inspector-context { background: var(--console-quiet); border-bottom: 1px solid var(--console-line); display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); }
body .security-review-inspector-context span { border-right: 1px solid var(--console-line); display: flex; flex-direction: column; padding: 0.75rem 1.25rem; }
body .security-review-inspector-context span:last-child { border-right: 0; }
body .security-review-inspector-context small { color: var(--console-muted); font-size: 0.64rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
body .security-review-inspector-context strong { font-size: 0.76rem; line-height: 1.4; margin-top: 0.25rem; overflow-wrap: anywhere; }
body .security-review-client { border-bottom: 1px solid var(--console-line); }
body .security-review-client:last-child { border-bottom: 0; }
body .security-review-client > header { align-items: center; background: var(--console-surface-alt); display: flex; gap: 1rem; justify-content: space-between; padding: 1rem 1.25rem; }
body .security-review-client-title { align-items: center; display: flex; gap: 0.75rem; min-width: 0; }
body .security-review-client h3 { font-size: 1rem; margin: 0; }
body .security-review-client h3 a { text-decoration: none; }
body .security-review-client-title p { color: var(--console-muted); font-size: 0.76rem; margin: 0.22rem 0 0; }
body .security-review-attention > header { border-left: 4px solid var(--console-danger); }
body .security-review-stale > header { border-left: 4px solid var(--console-warning); }
body .security-review-passing > header { border-left: 4px solid var(--console-success); }
body .security-review-unconfigured > header { border-left: 4px solid var(--console-muted); }
body .security-review-profile { border-top: 1px solid var(--console-line); margin: 0 1.25rem; padding: 0.85rem 0; }
body .security-review-profile-heading { align-items: center; display: flex; justify-content: space-between; margin-bottom: 0.6rem; }
body .security-review-profile-heading strong { display: block; font-size: 0.88rem; }
body .security-review-profile-heading strong a { text-decoration: none; }
body .security-review-profile-heading small { color: var(--console-muted); display: block; font-size: 0.72rem; margin-top: 0.16rem; }
body .security-review-checks { display: grid; gap: 0.4rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
body .security-review-check { align-items: center; background: var(--console-quiet); border: 1px solid var(--console-line); display: grid; gap: 0.65rem; grid-template-columns: 0.55rem minmax(0, 1fr) auto; min-width: 0; padding: 0.6rem 0.75rem; }
body .security-review-check.is-failing { background: var(--console-danger-soft); border-color: var(--console-danger-soft); }
body .security-review-check-indicator { background: var(--console-success); border-radius: 50%; height: 0.5rem; width: 0.5rem; }
body .security-review-check.is-failing .security-review-check-indicator { background: var(--console-danger); }
body .security-review-check strong { display: block; font-size: 0.8rem; overflow-wrap: anywhere; }
body .security-review-check small { color: var(--console-muted); display: block; font-size: 0.68rem; line-height: 1.35; margin-top: 0.14rem; }
body .security-review-check-evidence { min-width: 6.8rem; text-align: right; }
body .security-review-check-evidence > span { color: var(--console-accent-deep); font-size: 0.72rem; font-weight: 800; }
body .security-review-check.is-failing .security-review-check-evidence > span { color: var(--console-danger-deep); }
body .security-review-empty { font-size: 0.8rem; margin: 0; }

body .work-list { overflow: hidden; }
body .section-heading { border-bottom: 1px solid var(--console-line); padding: 1.15rem 1.3rem 0.95rem; }
body .section-heading h2,
body .settings-section h2 { font-size: 1.08rem; margin: 0; }
body .work-item { align-items: center; border-bottom: 1px solid var(--console-line); display: grid; gap: 1rem; grid-template-columns: 2.2rem 1fr auto; padding: 0.95rem 1.3rem; text-decoration: none; transition: background-color 140ms ease; }
body .work-item:last-child { border-bottom: 0; }
body .work-item:not(.disabled):hover { background: var(--console-accent-soft); }
body .work-item strong,
body .work-item small { display: block; }
body .work-item strong { color: var(--console-ink); font-size: 0.94rem; margin-bottom: 0.18rem; }
body .work-index { color: var(--console-accent); font-size: 0.72rem; font-weight: 800; letter-spacing: 0.06em; }
body .work-action { color: var(--console-accent-deep); font-size: 0.75rem; font-weight: 800; letter-spacing: 0.04em; text-transform: uppercase; }

/* Network graph workspace */
body .network-graph-heading { margin-bottom: 1rem; }
body .network-graph-legend { align-items: center; color: var(--console-muted); display: flex; flex-wrap: wrap; font-size: 0.72rem; font-weight: 750; gap: 0.85rem; justify-content: flex-end; }
body .network-graph-legend span { align-items: center; display: inline-flex; gap: 0.35rem; white-space: nowrap; }
body .graph-key { border-radius: 50%; display: inline-block; height: 0.55rem; width: 0.55rem; }
body .graph-key-gateway { background: var(--console-accent); box-shadow: 0 0 0 3px var(--console-accent-soft); }
body .graph-key-allow { background: var(--console-success); }
body .graph-key-deny { background: var(--console-danger); }
body .network-graph { background: var(--console-surface-alt); border: 1px solid var(--console-line); border-radius: var(--console-radius-lg); box-shadow: var(--console-shadow-md); overflow: hidden; }
body .network-graph-toolbar { align-items: center; background: var(--console-quiet); border-bottom: 1px solid var(--console-line); color: var(--console-muted); display: flex; font-size: 0.73rem; font-weight: 750; justify-content: space-between; padding: 0.7rem 1.25rem; }
body .network-graph-toolbar > div { align-items: baseline; display: flex; gap: 0.65rem; }
body .network-graph-toolbar strong { color: var(--console-ink); font-size: 0.82rem; }
body .network-graph-summary { color: var(--console-muted-strong); flex-wrap: wrap; justify-content: flex-end; }
body .network-graph-summary span + span { border-left: 1px solid var(--console-line-strong); padding-left: 0.65rem; }
body .network-graph-overline { color: var(--console-accent-deep); font-size: 0.65rem; font-weight: 850; letter-spacing: 0.1em; text-transform: uppercase; }
body .gateway-stage { align-items: center; background: var(--console-surface-alt); border-bottom: 1px solid var(--console-line); display: flex; gap: 1rem; justify-content: center; min-height: 7.5rem; padding: 1.1rem; position: relative; }
body .gateway-stage::after { background: repeating-linear-gradient(90deg, transparent 0 10px, var(--console-line-strong) 10px 12px); bottom: -1px; content: ""; height: 2px; left: 12%; position: absolute; right: 12%; }
body .gateway-signal { align-items: flex-end; display: flex; gap: 3px; height: 1.65rem; }
body .gateway-signal i { animation: gateway-pulse 1.6s ease-in-out infinite; background: var(--console-accent); display: block; height: 45%; width: 4px; }
body .gateway-signal i:nth-child(2) { animation-delay: 120ms; height: 75%; }
body .gateway-signal i:nth-child(3) { animation-delay: 240ms; height: 100%; }
body .gateway-node { background: var(--console-accent-deep); border-radius: var(--console-radius-md); box-shadow: var(--console-shadow-md); color: #fff; min-width: 22rem; padding: 0.75rem 1rem; position: relative; }
body .gateway-node-title { align-items: center; display: flex; justify-content: space-between; gap: 1rem; }
body .gateway-node strong, body .gateway-node small { display: block; }
body .gateway-node strong { font-size: 0.96rem; margin: 0.12rem 0; }
body .gateway-node small { color: rgba(255, 255, 255, 0.7); font-size: 0.7rem; line-height: 1.35; }
body .graph-deployment { border: 1px solid rgba(255, 255, 255, 0.35); color: rgba(255, 255, 255, 0.85); font-size: 0.56rem; font-weight: 850; letter-spacing: 0.07em; padding: 0.2rem 0.35rem; text-transform: uppercase; white-space: nowrap; }
body .graph-deployment-pending, body .graph-deployment-applying { border-color: rgba(240, 194, 125, 0.65); color: #f0c27d; }
body .graph-deployment-failed { border-color: rgba(244, 164, 174, 0.65); color: #f4a4ae; }
body .gateway-facts { border-top: 1px solid rgba(255, 255, 255, 0.16); display: grid; gap: 0.35rem 0.8rem; grid-template-columns: repeat(3, minmax(0, 1fr)); margin: 0.65rem 0 0; padding-top: 0.5rem; }
body .gateway-facts div { min-width: 0; }
body .gateway-facts dt { color: rgba(255, 255, 255, 0.6); font-size: 0.54rem; font-weight: 850; letter-spacing: 0.08em; text-transform: uppercase; }
body .gateway-facts dd { color: #fff; font-size: 0.64rem; margin: 0.12rem 0 0; overflow-wrap: anywhere; }
body .graph-node-kicker { color: var(--console-accent); display: block; font-size: 0.62rem; font-weight: 850; letter-spacing: 0.09em; text-transform: uppercase; }
body .profile-graph-list { padding: 1.1rem; }
body .profile-graph-row { align-items: stretch; display: grid; grid-template-columns: minmax(13rem, 0.8fr) 3.5rem minmax(0, 2.2fr); min-width: 0; }
body .profile-graph-row + .profile-graph-row { border-top: 1px solid var(--console-line); margin-top: 1rem; padding-top: 1rem; }
body .profile-graph-node { align-self: center; background: var(--console-surface); border: 1px solid var(--console-line-strong); border-left: 4px solid var(--console-accent); box-shadow: var(--console-shadow-sm); color: var(--console-ink); padding: 0.8rem 0.9rem; text-decoration: none; }
body .profile-graph-node:hover { background: var(--console-accent-soft); color: var(--console-accent-deep); }
body .profile-graph-node .graph-node-kicker { color: var(--console-accent); }
body .profile-graph-node strong, body .profile-graph-node small { display: block; }
body .profile-graph-node strong { font-size: 0.88rem; margin: 0.16rem 0; }
body .profile-graph-node small { color: var(--console-muted); font-size: 0.7rem; line-height: 1.35; }
body .profile-graph-facts { border-top: 1px solid var(--console-line); color: var(--console-muted-strong); display: flex; flex-wrap: wrap; font-size: 0.63rem; font-weight: 700; gap: 0.35rem 0.6rem; margin-top: 0.5rem; padding-top: 0.4rem; }
body .profile-graph-facts span + span { border-left: 1px solid var(--console-line-strong); padding-left: 0.6rem; }
body .graph-connector { align-self: center; background: var(--console-accent); height: 2px; margin: 0 -1px; position: relative; }
body .graph-connector::after { border: 5px solid transparent; border-left-color: var(--console-accent); content: ""; position: absolute; right: -1px; top: -4px; }
body .profile-graph-access { align-items: start; display: grid; gap: 0.75rem; grid-template-columns: minmax(0, 1fr) minmax(0, 1fr); min-width: 0; }
body .graph-access-group { background: var(--console-surface); border: 1px solid var(--console-line); display: flex; flex-direction: column; gap: 0.45rem; min-height: 5.25rem; padding: 0.65rem; }
body .graph-group-label { color: var(--console-muted); font-size: 0.62rem; font-weight: 850; letter-spacing: 0.08em; text-transform: uppercase; }
body .graph-effective-access { border: 1px solid var(--console-success); color: var(--console-success-deep); font-size: 0.52rem; font-style: normal; letter-spacing: 0.04em; margin-left: 0.3rem; padding: 0.14rem 0.26rem; }
body .graph-effective-restricted { border-color: var(--console-warning); color: var(--console-warning-deep); }
body .graph-target, body .graph-empty-target { border-left: 3px solid var(--console-line-strong); color: var(--console-ink); display: grid; padding: 0.38rem 0.45rem; text-decoration: none; }
body .graph-target { background: var(--console-quiet); }
body .graph-target:hover { background: var(--console-accent-soft); color: var(--console-accent-deep); }
body .graph-target-route { border-left-color: var(--console-info); }
body .graph-target-allow { border-left-color: var(--console-success); }
body .graph-target-deny { background: var(--console-danger-soft); border-left-color: var(--console-danger); }
body .graph-target strong { font-size: 0.76rem; }
body .graph-target small, body .graph-empty-target, body .graph-policy-note { color: var(--console-muted); font-size: 0.66rem; line-height: 1.35; }
body .graph-action { color: var(--console-success-deep); font-size: 0.57rem; font-weight: 850; letter-spacing: 0.08em; text-transform: uppercase; }
body .graph-target-deny .graph-action { color: var(--console-danger); }
body .graph-empty-target { background: var(--console-quiet); border-left-color: var(--console-line-strong); }
body .graph-empty-allow { border-left-color: var(--console-success); color: var(--console-success-deep); }
body .graph-policy-note { border-top: 1px solid var(--console-line); margin-top: 0.15rem; padding-top: 0.45rem; }

/* Device access graph */
body .device-access-graph { background: var(--console-surface-alt); border: 1px solid var(--console-line); border-radius: var(--console-radius-lg); box-shadow: var(--console-shadow-md); overflow: hidden; }
body .device-access-graph-header { align-items: flex-start; background: var(--console-quiet); border-bottom: 1px solid var(--console-line); display: flex; gap: 1rem; justify-content: space-between; padding: 1rem 1.25rem; }
body .device-access-graph-header h2 { font-size: 1.1rem; margin: 0.15rem 0; }
body .device-access-graph-header .field-note { margin: 0.35rem 0 0; max-width: 42rem; }
body .device-access-graph-summary { align-items: center; color: var(--console-muted-strong); display: flex; flex-wrap: wrap; font-size: 0.68rem; font-weight: 750; gap: 0.55rem; justify-content: flex-end; padding-top: 0.25rem; }
body .device-access-graph-summary span + span { border-left: 1px solid var(--console-line-strong); padding-left: 0.55rem; }
body .device-access-graph-body { align-items: stretch; background-image: linear-gradient(var(--console-line) 1px, transparent 1px); background-size: 100% 3.5rem; display: grid; gap: 0; grid-template-columns: minmax(12rem, 1fr) 2.75rem minmax(13rem, 1fr) 2.75rem minmax(14rem, 1.25fr); padding: 1.1rem; }
body .device-access-column { display: flex; flex-direction: column; gap: 0.45rem; min-width: 0; }
body .device-access-column-label { color: var(--console-muted); font-size: 0.6rem; font-weight: 850; letter-spacing: 0.08em; margin-bottom: 0.1rem; text-transform: uppercase; }
body .device-access-node, body .device-access-empty { border-left: 3px solid var(--console-line-strong); color: var(--console-ink); display: block; padding: 0.55rem 0.6rem; text-decoration: none; }
body .device-access-node { background: var(--console-surface); border: 1px solid var(--console-line); border-left: 3px solid var(--console-info); box-shadow: var(--console-shadow-sm); }
body .device-access-node:hover { background: var(--console-accent-soft); color: var(--console-accent-deep); }
body .device-access-node strong, body .device-access-node small { display: block; }
body .device-access-node strong { font-size: 0.78rem; margin: 0.18rem 0; }
body .device-access-node small, body .device-access-empty { color: var(--console-muted); font-size: 0.64rem; line-height: 1.35; }
body .device-access-status { color: var(--console-success-deep); font-size: 0.54rem; font-weight: 850; letter-spacing: 0.07em; text-transform: uppercase; }
body .device-access-status.is-observed { color: var(--console-warning-deep); }
body .device-access-status.is-profile { color: var(--console-accent-deep); }
body .device-access-empty { background: var(--console-quiet); border-left-color: var(--console-line-strong); }
body .device-access-device { align-self: start; background: var(--console-accent-deep); border-radius: var(--console-radius-md); box-shadow: var(--console-shadow-md); color: #fff; margin-top: 1.7rem; min-width: 0; padding: 0.85rem; text-align: center; }
body .device-access-device strong, body .device-access-device small, body .device-access-device-id { display: block; }
body .device-access-device strong { font-size: 0.86rem; margin: 0.18rem 0; overflow-wrap: anywhere; }
body .device-access-device small { color: rgba(255, 255, 255, 0.7); font-size: 0.65rem; line-height: 1.35; }
body .device-access-device-id { border-top: 1px solid rgba(255, 255, 255, 0.16); color: rgba(255, 255, 255, 0.6); font-family: var(--console-mono); font-size: 0.57rem; margin-top: 0.55rem; overflow-wrap: anywhere; padding-top: 0.45rem; }
body .device-access-connector { align-self: start; background: var(--console-accent); height: 2px; margin: 6.65rem -1px 0; position: relative; }
body .device-access-connector::after { border: 5px solid transparent; border-left-color: var(--console-accent); content: ""; position: absolute; right: -1px; top: -4px; }
body .device-profile-policy { border-left: 2px solid var(--console-line-strong); display: flex; flex-direction: column; gap: 0.45rem; padding-left: 0.55rem; }
body .device-profile-policy + .device-profile-policy { margin-top: 0.15rem; }
body .device-access-profile { border-left-color: var(--console-accent); }
body .device-security-checks { display: flex; flex-direction: column; gap: 0.3rem; padding-left: 0.5rem; }
body .device-security-check { background: var(--console-quiet); border-left: 3px solid var(--console-success); color: var(--console-ink); display: block; padding: 0.38rem 0.45rem; text-decoration: none; }
body .device-security-check:hover { background: var(--console-accent-soft); color: var(--console-accent-deep); }
body .device-security-check strong, body .device-security-check small { display: block; }
body .device-security-check strong { font-size: 0.7rem; margin: 0.12rem 0; }
body .device-security-check small { color: var(--console-muted); font-size: 0.6rem; }
body .device-check-action { color: var(--console-success-deep); font-size: 0.52rem; font-weight: 850; letter-spacing: 0.07em; text-transform: uppercase; }
body .device-check-warn { color: var(--console-warning-deep); }
body .device-check-restrict { color: var(--console-warning-deep); }
body .device-check-disallow { color: var(--console-danger); }
body .device-access-check-empty { margin-left: 0.5rem; }

/* Device connection timeline */
body .connection-timeline { background: var(--console-surface-alt); border: 1px solid var(--console-line); border-radius: var(--console-radius-lg); box-shadow: var(--console-shadow-md); overflow: hidden; }
body .connection-timeline-header { align-items: flex-start; background: var(--console-quiet); border-bottom: 1px solid var(--console-line); display: flex; gap: 1rem; justify-content: space-between; padding: 1rem 1.25rem; }
body .connection-timeline-header h2 { font-size: 1.1rem; margin: 0.15rem 0; }
body .connection-timeline-header .field-note { margin: 0.35rem 0 0; }
body .connection-timeline-count { color: var(--console-muted-strong); font-size: 0.68rem; font-weight: 800; padding-top: 0.25rem; white-space: nowrap; }
body .connection-timeline-filters { align-items: end; background: var(--console-surface); border-bottom: 1px solid var(--console-line); display: grid; gap: 0.7rem; grid-template-columns: minmax(8rem, 10rem) minmax(8rem, 10rem) 1fr; padding: 0.8rem 1.25rem; }
body .connection-timeline-filters label { color: var(--console-muted-strong); display: block; font-size: 0.64rem; font-weight: 850; letter-spacing: 0.07em; margin-bottom: 0.3rem; text-transform: uppercase; }
body .connection-timeline-filters .form-control { min-height: 2.2rem; }
body .connection-timeline-filter-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 0.5rem; }
body .connection-timeline-filter-actions .btn { font-size: 0.72rem; min-height: 2.2rem; }
body .connection-timeline-lanes { display: grid; gap: 0.85rem; padding: 1.1rem 1.25rem 1.25rem; }
body .connection-timeline-lane { background: var(--console-surface); border: 1px solid var(--console-line); box-shadow: var(--console-shadow-sm); min-width: 0; }
body .connection-timeline-lane > header { align-items: center; background: var(--console-quiet); border-bottom: 1px solid var(--console-line); display: flex; min-height: 2.55rem; padding: 0.55rem 0.75rem; }
body .connection-timeline-lane > header > div { align-items: center; display: flex; gap: 0.45rem; min-width: 0; }
body .connection-timeline-pipe-key { background: var(--console-accent); border-radius: 50%; box-shadow: 0 0 0 3px var(--console-accent-soft); display: inline-block; height: 0.45rem; margin-left: 0.15rem; width: 0.45rem; }
body .connection-timeline-lane strong { color: var(--console-ink); font-size: 0.78rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body .connection-timeline-lane header small { color: var(--console-muted); font-size: 0.63rem; font-weight: 700; }
body .connection-timeline-events { padding: 0.3rem 0.75rem 0.6rem; position: relative; }
body .connection-timeline-events::before { background: var(--console-line-strong); bottom: 0.7rem; content: ""; left: 1.02rem; position: absolute; top: 0.7rem; width: 2px; }
body .connection-timeline-event { align-items: center; display: grid; gap: 0.75rem; grid-template-columns: 1.25rem minmax(6.5rem, 8.5rem) minmax(0, 1fr); min-height: 3.35rem; position: relative; }
body .connection-timeline-dot { background: var(--console-muted); border: 3px solid var(--console-surface); border-radius: 50%; box-shadow: 0 0 0 1px var(--console-line-strong); height: 0.68rem; justify-self: center; position: relative; width: 0.68rem; z-index: 1; }
body .connection-timeline-event.is-connected .connection-timeline-dot { background: var(--console-success); box-shadow: 0 0 0 1px var(--console-success), 0 0 0 4px var(--console-success-soft); }
body .connection-timeline-event-time strong, body .connection-timeline-event-time small, body .connection-timeline-event-detail small { display: block; }
body .connection-timeline-event-time strong { color: var(--console-ink); font-size: 0.77rem; }
body .connection-timeline-event-time small, body .connection-timeline-event-detail small { color: var(--console-muted); font-size: 0.63rem; line-height: 1.35; }
body .connection-timeline-event-detail { align-items: center; display: flex; flex-wrap: wrap; gap: 0.45rem; min-width: 0; }
body .connection-timeline-event-detail .state-badge { font-size: 0.58rem; }
body .connection-timeline-device { color: var(--console-accent-deep); font-size: 0.68rem; font-weight: 800; text-decoration: none; }
body .connection-timeline-device:hover { color: var(--console-accent); text-decoration: underline; }
body .connection-timeline-workspace .connection-timeline-lanes { gap: 0.5rem; padding: 0.85rem; }
body .connection-timeline-parallel-lane { border-left: 4px solid var(--timeline-lane-color); display: grid; grid-template-columns: minmax(13rem, 16rem) minmax(0, 1fr); min-height: 8.75rem; overflow: hidden; }
body .connection-timeline-parallel-lane > header { background: var(--timeline-lane-wash); border-bottom: 0; border-right: 1px solid var(--console-line); min-height: 0; padding: 0.8rem 0.85rem; }
body .connection-timeline-parallel-lane > header > div { align-items: flex-start; }
body .connection-timeline-parallel-lane .connection-timeline-pipe-key { background: var(--timeline-lane-color); box-shadow: 0 0 0 4px var(--console-surface), 0 0 0 6px var(--timeline-lane-color); flex: 0 0 auto; margin: 0.35rem 0.35rem 0 0.25rem; }
body .connection-timeline-parallel-lane header strong { display: block; font-size: 0.84rem; white-space: normal; }
body .connection-timeline-parallel-lane header small { display: block; line-height: 1.4; margin-top: 0.3rem; }
body .connection-timeline-track { align-items: stretch; background-image: linear-gradient(90deg, var(--console-line) 1px, transparent 1px); background-size: 13.75rem 100%; display: flex; gap: 0.65rem; min-width: 0; overflow-x: auto; overscroll-behavior-inline: contain; padding: 0.75rem 0.9rem; scrollbar-color: var(--timeline-lane-color) var(--console-quiet); scrollbar-width: thin; }
body .connection-timeline-chip { background: var(--console-surface); border: 1px solid var(--console-line); border-top: 3px solid var(--console-muted); box-shadow: var(--console-shadow-sm); display: grid; flex: 0 0 13.25rem; gap: 0.3rem; grid-template-columns: 1rem minmax(0, 1fr); min-height: 6.5rem; padding: 0.55rem 0.6rem; position: relative; }
body .connection-timeline-chip.is-connected { background: var(--console-success-soft); border-top-color: var(--console-success); }
body .connection-timeline-chip.is-disconnected { background: var(--console-quiet); border-top-color: var(--console-muted); }
body .connection-timeline-chip .connection-timeline-dot { align-self: start; height: 0.58rem; margin-top: 0.15rem; width: 0.58rem; }
body .connection-timeline-chip .connection-timeline-event-time { grid-column: 2; grid-row: 1; }
body .connection-timeline-chip .connection-timeline-event-time strong { font-size: 0.76rem; }
body .connection-timeline-chip .connection-timeline-event-detail { align-content: start; align-items: start; display: grid; gap: 0.28rem 0.45rem; grid-column: 1 / -1; grid-template-columns: auto minmax(0, 1fr); }
body .connection-timeline-chip .state-badge { grid-column: 1; grid-row: 1 / span 2; margin-top: 0.08rem; }
body .connection-timeline-chip .connection-timeline-device, body .connection-timeline-user { color: var(--console-accent-deep); display: grid; font-size: 0.72rem; gap: 0.04rem; line-height: 1.2; overflow: hidden; text-decoration: none; text-overflow: ellipsis; white-space: nowrap; }
body .connection-timeline-chip .connection-timeline-device span, body .connection-timeline-user span { color: var(--console-muted); font-size: 0.53rem; font-weight: 850; letter-spacing: 0.07em; text-transform: uppercase; }
body .connection-timeline-user { color: var(--console-muted-strong); }

/* Chronological VPN activity stream */
body .connection-timeline-workspace .connection-timeline-lanes { display: block; }
body .connection-event-stream { background: var(--console-surface); }
body .connection-event-row { align-items: center; border-bottom: 1px solid var(--console-line); display: grid; gap: 0.8rem; grid-template-columns: 1rem minmax(6.5rem, 8rem) minmax(14rem, 1fr) minmax(10rem, 14rem); min-height: 4.5rem; padding: 0.65rem 1.25rem; position: relative; }
body .connection-event-row:last-child { border-bottom: 0; }
body .connection-event-row:hover { background: var(--console-quiet); }
body .connection-event-marker { background: var(--console-muted); border: 3px solid var(--console-surface); border-radius: 50%; box-shadow: 0 0 0 1px var(--console-line-strong); height: 0.68rem; width: 0.68rem; }
body .connection-event-row.is-connected .connection-event-marker { background: var(--console-success); box-shadow: 0 0 0 1px var(--console-success), 0 0 0 4px var(--console-success-soft); }
body .connection-event-row time strong, body .connection-event-row time small { display: block; }
body .connection-event-row time strong { color: var(--console-ink); font-size: 0.8rem; }
body .connection-event-row time small, body .connection-event-summary small, body .connection-event-context small { color: var(--console-muted); font-size: 0.64rem; }
body .connection-event-summary { min-width: 0; }
body .connection-event-summary > div { align-items: center; display: flex; flex-wrap: wrap; gap: 0.55rem; }
body .connection-event-summary strong { color: var(--console-ink); font-size: 0.78rem; }
body .connection-event-summary small { display: block; margin-top: 0.25rem; }
body .connection-event-context { min-width: 0; }
body .connection-event-context a, body .connection-event-context small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
body .connection-event-context a { color: var(--console-accent-deep); font-size: 0.72rem; font-weight: 800; text-decoration: none; }
body .connection-event-context a:hover { color: var(--console-accent); text-decoration: underline; }
body .vpn-activity-legend { align-items: center; background: var(--console-surface); border-bottom: 1px solid var(--console-line); display: flex; flex-wrap: wrap; gap: 0.5rem 0.85rem; padding: 0.65rem 1.25rem; }
body .vpn-activity-legend-label { color: var(--console-muted-strong); font-size: 0.62rem; font-weight: 850; letter-spacing: 0.08em; text-transform: uppercase; }
body .vpn-activity-legend > span:not(.vpn-activity-legend-label) { align-items: center; color: var(--console-ink); display: inline-flex; font-size: 0.69rem; font-weight: 800; gap: 0.35rem; }
body .vpn-activity-legend i { background: var(--timeline-pipe); border-radius: 50%; box-shadow: 0 0 0 3px var(--timeline-pipe-wash); height: 0.48rem; width: 0.48rem; }
body .vpn-activity-stream { --activity-rail-width: clamp(8.5rem, 16%, 12rem); background: var(--console-surface-alt); padding: 1rem 0; }
body .vpn-activity-rail-heading { display: grid; grid-template-columns: repeat(var(--timeline-lane-count), minmax(0, 1fr)); height: 1.4rem; margin-left: 28%; margin-right: auto; width: var(--activity-rail-width); }
body .vpn-activity-rail-heading span { border-left: 4px solid var(--timeline-pipe); color: var(--timeline-pipe); font-size: 0.53rem; font-weight: 850; letter-spacing: 0.06em; overflow: hidden; padding: 0.1rem 0 0 0.22rem; text-overflow: ellipsis; text-transform: uppercase; transform: rotate(-90deg) translateX(-100%); transform-origin: top left; white-space: nowrap; }
body .vpn-activity-event { display: grid; grid-template-columns: minmax(11rem, 28%) var(--activity-rail-width) minmax(0, 1fr); min-height: 5.85rem; position: relative; }
body .vpn-activity-rail { display: grid; grid-column: 2; grid-template-columns: repeat(var(--timeline-lane-count), minmax(0, 1fr)); position: relative; }
body .vpn-activity-rail i { border-left: 4px solid var(--timeline-pipe); display: block; height: 100%; justify-self: center; }
body .vpn-activity-rail span { background: var(--timeline-pipe); border: 3px solid var(--console-surface-alt); border-radius: 50%; box-shadow: 0 0 0 5px var(--timeline-pipe-wash), 0 0 0 7px var(--timeline-pipe); grid-column: var(--timeline-lane); height: 0.92rem; justify-self: center; margin-top: 1.08rem; position: relative; width: 0.92rem; z-index: 1; }
body .vpn-activity-event.is-disconnected .vpn-activity-rail span { background: var(--console-surface-alt); }
body .vpn-activity-copy { border-bottom: 1px solid var(--console-line); grid-column: 3; min-width: 0; padding: 0.78rem 1.25rem 0.78rem 0.15rem; }
body .vpn-activity-headline { align-items: center; display: flex; flex-wrap: wrap; gap: 0.5rem; }
body .vpn-activity-headline strong { color: var(--console-ink); font-size: 0.84rem; font-weight: 800; }
body .vpn-activity-headline a { color: var(--timeline-pipe); text-decoration: none; }
body .vpn-activity-headline a:hover { text-decoration: underline; }
body .vpn-activity-meta { align-items: center; color: var(--console-muted-strong); display: flex; flex-wrap: wrap; font-size: 0.67rem; gap: 0.45rem; margin-top: 0.28rem; }
body .vpn-activity-meta > * + * { border-left: 1px solid var(--console-line-strong); padding-left: 0.45rem; }
body .vpn-activity-meta a { color: var(--console-accent-deep); font-weight: 750; text-decoration: none; }
body .vpn-activity-meta a:hover { color: var(--timeline-pipe); text-decoration: underline; }
body .vpn-activity-copy p { color: var(--console-muted); font-size: 0.68rem; line-height: 1.4; margin: 0.32rem 0 0; }
body .vpn-activity-gap { display: grid; grid-template-columns: minmax(11rem, 28%) var(--activity-rail-width) minmax(0, 1fr); min-height: 1.4rem; position: relative; }
body .vpn-activity-gap::before { background: repeating-linear-gradient(90deg, var(--console-line-strong) 0 4px, transparent 4px 8px); content: ""; grid-column: 2; justify-self: stretch; }
body .vpn-activity-gap span { align-self: center; background: var(--console-surface-alt); color: var(--console-muted-strong); font-size: 0.6rem; font-weight: 800; grid-column: 2 / 4; justify-self: start; letter-spacing: 0.03em; margin-left: 0.35rem; padding: 0.08rem 0.4rem; z-index: 1; }

body .settings-stack { display: grid; gap: 0.75rem; max-width: 1180px; }
body .settings-section { padding: 1.15rem; }
body .detail-tabs { align-items: center; border-bottom: 1px solid var(--console-line-strong); display: flex; gap: 0.2rem; margin: -0.25rem 0 1rem; overflow-x: auto; overflow-y: hidden; scrollbar-width: none; }
body .detail-tabs::-webkit-scrollbar { display: none; }
body .detail-tab { align-items: center; background: transparent; border: 0; border-bottom: 2px solid transparent; color: var(--console-muted); cursor: pointer; display: inline-flex; font: inherit; font-size: 0.78rem; font-weight: 800; gap: 0.4rem; margin-bottom: -1px; padding: 0.75rem 0.9rem; white-space: nowrap; }
body .detail-tab:hover { background: var(--console-accent-soft); color: var(--console-accent-deep); }
body .detail-tab.is-active { border-bottom-color: var(--console-accent); color: var(--console-accent-deep); }
body .detail-tab span { align-items: center; background: var(--console-quiet); border-radius: 999px; display: inline-flex; font-size: 0.62rem; height: 1.25rem; justify-content: center; min-width: 1.25rem; padding: 0 0.35rem; }
body .detail-tab-panel { animation: profile-tab-enter 180ms ease-out both; max-width: none; }
body .detail-command-bar { align-items: center; border-top: 1px solid var(--console-line); display: flex; flex-wrap: wrap; gap: 0.55rem; margin-top: 1rem; padding-top: 0.85rem; }
body .settings-stack,
body .settings-stack > *,
body .settings-section,
body .settings-section > *,
body .form-grid > * { min-width: 0; }
body .directory-create { margin-bottom: 1.35rem; max-width: 1100px; }
body .settings-section-header { align-items: flex-start; border-bottom: 1px solid var(--console-line); display: flex; justify-content: space-between; margin-bottom: 1.15rem; padding-bottom: 0.9rem; }
body .identity-provider-actions { align-items: center; display: flex; flex-wrap: wrap; gap: 0.85rem; justify-content: flex-end; }
body .profile-accordion { background: var(--console-surface); border: 1px solid var(--console-line); border-radius: var(--console-radius-lg); box-shadow: var(--console-shadow-md); overflow: clip; }
body .profile-accordion > summary { align-items: center; cursor: pointer; display: flex; gap: 1rem; justify-content: space-between; list-style: none; padding: 1rem 3.65rem 1rem 1.35rem; position: relative; }
body .profile-accordion > summary::-webkit-details-marker { display: none; }
body .profile-accordion > summary::after { color: var(--console-accent-deep); content: "+"; font-size: 1.35rem; font-weight: 500; line-height: 1; position: absolute; right: 1.5rem; top: 50%; transform: translateY(-50%); }
body .profile-accordion[open] > summary { background: var(--console-surface-alt); border-bottom: 1px solid var(--console-line); }
body .profile-accordion[open] > summary::after { content: "\2212"; }
body .profile-accordion h2 { color: var(--console-ink); font-size: 1.1rem; font-weight: 750; letter-spacing: 0; margin: 0; }
body .profile-accordion .eyebrow { margin-bottom: 0.35rem; }
body .profile-accordion-body { min-width: 0; padding: 1.35rem; }
body .profile-accordion-body > .field-note:first-child { margin-top: 0; }
body .profile-protocol-fields { border-top: 1px solid var(--console-line); margin-top: 1.35rem; padding-top: 1.2rem; }
body .profile-protocol-fields .eyebrow { margin-bottom: 1rem; }
body .accordion-count { color: var(--console-muted); font-size: 0.78rem; font-weight: 700; white-space: nowrap; }
body .profile-accordion-danger { border-color: var(--console-danger-soft); }
body .profile-accordion-danger .eyebrow { color: var(--console-danger-deep); }
body .switch-control,
body .filter-control { align-items: center; color: var(--console-muted-strong); display: inline-flex; font-size: 0.8rem; font-weight: 700; gap: 0.5rem; }
body .switch-track { display: inline-block; height: 1.2rem; position: relative; width: 2.2rem; }
body .switch-track .switch-input { cursor: pointer; height: 100%; left: 0; margin: 0; opacity: 0; position: absolute; top: 0; width: 100%; z-index: 2; }
body .switch-track-bg { background: #d8ddd5; border: 1px solid #bcc7bd; border-radius: 999px; display: block; height: 100%; width: 100%; transition: background-color 180ms ease, border-color 180ms ease; }
body .switch-thumb { background: #fff; border-radius: 50%; box-shadow: 0 1px 3px rgba(17, 24, 39, 0.22); display: block; height: 0.8rem; left: 0.2rem; position: absolute; top: 0.2rem; transition: transform 180ms ease; width: 0.8rem; }
body .switch-track .switch-input:checked ~ .switch-track-bg { background: var(--console-accent); border-color: var(--console-accent); }
body .switch-track .switch-input:checked ~ .switch-thumb { transform: translateX(1rem); }
body .filter-control input { accent-color: var(--console-accent); height: 1rem; width: 1rem; }
body .form-grid { display: grid; gap: 0.75rem 1rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
body .directory-form-grid,
body .policy-form-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
body .form-grid label { color: var(--console-muted-strong); display: block; font-size: 0.76rem; font-weight: 800; margin-bottom: 0.38rem; }
body .form-control,
body .form-select { background: var(--console-surface); border-color: var(--console-line-strong); border-radius: var(--console-radius-sm); color: var(--console-ink); max-width: 100%; min-height: 2.35rem; width: 100%; }
body .form-control:hover,
body .form-select:hover { border-color: var(--console-muted); }
body .form-control:focus,
body .form-select:focus { border-color: var(--console-accent); box-shadow: 0 0 0 0.2rem var(--console-accent-soft); }
body .profile-subnets { min-height: 6.5rem; resize: vertical; }
body .field-note { font-size: 0.77rem; line-height: 1.4; margin: 0.5rem 0 0; }
body .form-actions { align-items: center; border-top: 1px solid var(--console-line); display: flex; flex-wrap: wrap; gap: 0.7rem; justify-content: flex-end; margin-top: 1.15rem; padding-top: 1rem; }
body .page-action-bar { margin-top: 1.15rem; }
body .page-action-bar-content { background: var(--console-surface); border: 1px solid var(--console-line); border-radius: var(--console-radius-lg); box-shadow: var(--console-shadow-lg); margin: 0; padding: 0.7rem 0.9rem; }
body .page-action-bar.is-fixed { align-items: center; background: var(--console-surface); border-top: 1px solid var(--console-line-strong); bottom: 0; box-shadow: var(--console-shadow-lg); display: flex; left: 0; margin: 0; min-height: 3.9rem; padding: 0.6rem 1rem; position: fixed; right: 0; z-index: 100; }
body .page-action-bar.is-fixed .page-action-bar-content { background: transparent; border: 0; border-radius: 0; box-shadow: none; margin: 0 auto; max-width: 1520px; padding: 0; width: 100%; }
body .page-action-feedback-region { background: var(--console-success-soft); border: 1px solid var(--console-success); border-left: 4px solid var(--console-accent); border-radius: var(--console-radius-md); box-shadow: var(--console-shadow-lg); display: grid; gap: 0.35rem; line-height: 1.45; max-width: 46rem; padding: 0.75rem 1rem; }
body .page-action-feedback-region:not(.is-fixed) { box-shadow: none; max-width: none; width: 100%; }
body .page-action-feedback-region.is-fixed { bottom: 4.6rem; left: 1rem; max-height: min(14rem, calc(100vh - 7rem)); overflow-y: auto; position: fixed; right: 1rem; z-index: 101; }
body .page-action-feedback-region:has(.form-error) { background: var(--console-danger-soft); border-color: var(--console-danger); border-left-color: var(--console-danger); }
body .page-action-feedback-region .form-error,
body .page-action-feedback-region .save-confirmation { display: block; margin: 0; overflow-wrap: anywhere; }
body .save-confirmation { color: var(--console-success-deep); font-size: 0.82rem; font-weight: 750; }
body .update-message { display: block; margin: 0; padding: 0.85rem 1.5rem; }
body .form-error { color: var(--console-danger-deep); font-size: 0.82rem; font-weight: 750; margin-right: auto; }
body .upgrade-failure { background: var(--console-danger-soft); border: 1px solid var(--console-danger); border-left: 3px solid var(--console-danger); border-radius: var(--console-radius-sm); margin-top: 1.1rem; overflow: hidden; }
body .upgrade-failure-heading { align-items: center; border-bottom: 1px solid var(--console-danger-soft); color: var(--console-danger-deep); display: flex; font-size: 0.82rem; font-weight: 800; justify-content: space-between; padding: 0.7rem 0.85rem; }
body .upgrade-failure-heading small { color: var(--console-danger-deep); font-size: 0.66rem; font-weight: 750; letter-spacing: 0.06em; text-transform: uppercase; }
body .upgrade-log { background: #1a1614; color: #f4e9eb; font-family: var(--console-mono); font-size: 0.75rem; line-height: 1.55; margin: 0; max-height: 24rem; overflow: auto; padding: 0.9rem; white-space: pre-wrap; word-break: break-word; }
body .invitation-profile-picker { border-top: 1px solid var(--console-line); margin-top: 1.35rem; }
body .invitation-profile-picker .data-section-header { padding-left: 0; padding-right: 0; }
body .invitation-profile-picker input[type="checkbox"] { accent-color: var(--console-accent); height: 1rem; width: 1rem; }
body .invitation-token { align-items: center; display: flex; flex-wrap: wrap; gap: 0.55rem; }
body .invitation-token code { background: var(--console-quiet); border: 1px solid var(--console-line); border-radius: 4px; overflow-wrap: anywhere; padding: 0.35rem 0.5rem; }

body .data-section { overflow: hidden; }
body .data-section-header { align-items: center; border-bottom: 1px solid var(--console-line); display: flex; gap: 1rem; justify-content: space-between; padding: 0.8rem 1rem; }
body .data-section-header h2 { font-size: 1.1rem; margin: 0; }
body .empty-state { color: var(--console-muted); font-size: 0.88rem; margin: 0; padding: 1.35rem; }
body .table-wrap { overflow-x: auto; }
body .data-table { border-collapse: collapse; min-width: 760px; width: 100%; }
body .data-table th { background: var(--console-quiet); border-bottom: 1px solid var(--console-line); color: var(--console-muted-strong); font-size: 0.63rem; font-weight: 800; letter-spacing: 0.1em; padding: 0.58rem 1rem; text-align: left; text-transform: uppercase; white-space: nowrap; }
body .data-table td { border-bottom: 1px solid var(--console-line); color: var(--console-ink); font-size: 0.81rem; padding: 0.6rem 1rem; vertical-align: middle; }
body .data-table tbody tr:last-child td { border-bottom: 0; }
body .profile-priority-cell { align-items: center; display: inline-flex; gap: 0.35rem; min-height: 1.5rem; }
body .profile-priority-actions { display: inline-flex; gap: 0.1rem; }
body .profile-priority-actions .icon-action { height: 1.2rem; width: 1.2rem; }
body .profile-priority-actions .icon-action svg { height: 0.68rem; width: 0.68rem; }
body .data-table tbody tr:hover { background: var(--console-accent-soft); }
body .data-table .form-actions { border-top: 0; margin: 0; padding-top: 0; }
body .data-table strong,
body .data-table small { display: block; }
body .data-table strong { color: var(--console-ink); font-size: 0.9rem; }
body .data-table small { color: var(--console-muted); font-size: 0.76rem; margin-top: 0.16rem; }
body .data-table code { background: var(--console-quiet); border: 1px solid var(--console-line); border-radius: var(--console-radius-sm); color: var(--console-accent-deep); font-size: 0.72rem; padding: 0.2rem 0.3rem; }
body .profiles-page-heading { margin-bottom: 0.8rem; }
body .profiles-page-heading .page-summary { max-width: 42rem; }
body .profiles-inventory-header { padding: 0.72rem 0.85rem; }
body .profiles-inventory-summary { align-items: center; color: var(--console-muted); display: flex; flex-wrap: wrap; font-size: 0.7rem; gap: 0.35rem 0.8rem; justify-content: flex-end; }
body .profiles-inventory-summary span { white-space: nowrap; }
body .profiles-inventory-summary strong { color: var(--console-ink); font-size: 0.76rem; }
body .profiles-inventory-summary a { border-left: 1px solid var(--console-line); color: var(--console-accent-deep); font-weight: 700; padding-left: 0.8rem; text-decoration: none; }
body .profiles-table { min-width: 760px; }
body .profiles-table th { padding: 0.48rem 0.72rem; }
body .profiles-table td { padding: 0.52rem 0.72rem; }
body .profiles-table tbody tr.is-selected { background: var(--console-accent-soft); box-shadow: inset 3px 0 var(--console-accent); }
body .profiles-table .profile-inventory-name { min-width: 12rem; }
body .profiles-table .profile-inventory-name strong { font-size: 0.88rem; }
body .profiles-table .profile-inventory-name small { font-family: var(--console-mono); font-size: 0.62rem; }
body .profile-connection-meta { align-items: center; color: var(--console-muted); display: flex; flex-wrap: wrap; font-size: 0.68rem; gap: 0.25rem 0.55rem; margin-top: 0.18rem; }
body .profile-connection-meta .profile-priority-cell { gap: 0.2rem; min-height: 0; }
body .profile-connection-meta b { color: var(--console-accent-deep); font-size: 0.66rem; }
body .profile-access-metrics { display: flex; flex-wrap: wrap; gap: 0.25rem 0.65rem; min-width: 10rem; }
body .profile-access-metrics span { color: var(--console-muted); font-size: 0.68rem; white-space: nowrap; }
body .profile-access-metrics strong { color: var(--console-ink); display: inline; font-size: 0.78rem; }
body .profile-access-metrics .is-connected,
body .profile-access-metrics .is-connected strong { color: var(--console-success-deep); }
body .managed-policy-group { border: 1px solid var(--console-line); border-radius: 6px; margin: 0.25rem 0 0; min-width: 0; padding: 0.75rem 0.85rem 0.85rem; }
body .managed-policy-group legend { color: var(--console-ink); font-size: 0.76rem; font-weight: 800; padding: 0 0.35rem; }
body .managed-policy-group > .field-note { margin: -0.1rem 0 0.65rem; }
body .managed-policy-options { display: grid; gap: 0.5rem; grid-template-columns: repeat(3, minmax(0, 1fr)); }
body .managed-policy-options > label,
body .managed-policy-enable { align-items: flex-start; background: var(--console-quiet); border: 1px solid var(--console-line); border-radius: 5px; cursor: pointer; display: flex; gap: 0.55rem; padding: 0.6rem 0.65rem; }
body .managed-policy-options input,
body .managed-policy-enable input { accent-color: var(--console-accent); flex: 0 0 auto; margin-top: 0.16rem; }
body .managed-policy-options strong,
body .managed-policy-options small,
body .managed-policy-enable strong,
body .managed-policy-enable small { display: block; }
body .managed-policy-options strong,
body .managed-policy-enable strong { color: var(--console-ink); font-size: 0.76rem; }
body .managed-policy-options small,
body .managed-policy-enable small { color: var(--console-muted); font-size: 0.68rem; line-height: 1.35; margin-top: 0.1rem; }
body .managed-policy-fields { margin-top: 0.7rem; }
body .managed-policy-summary { align-items: center; background: var(--console-quiet); border: 1px solid var(--console-line); border-radius: 6px; display: flex; gap: 1rem; justify-content: space-between; margin: 0.7rem 0 1rem; padding: 0.65rem 0.75rem; }
body .managed-policy-summary strong,
body .managed-policy-summary small { display: block; }
body .managed-policy-summary strong { color: var(--console-ink); font-size: 0.78rem; }
body .managed-policy-summary small { color: var(--console-muted); font-size: 0.7rem; margin-top: 0.1rem; }
body .managed-policy-metrics { display: grid; gap: 0.65rem; grid-template-columns: repeat(4, minmax(0, 1fr)); margin-bottom: 0.8rem; }
body .managed-policy-metrics > div { background: var(--console-surface); border: 1px solid var(--console-line); border-radius: 6px; padding: 0.7rem 0.8rem; }
body .managed-policy-metrics span,
body .managed-policy-metrics strong,
body .managed-policy-metrics small { display: block; }
body .managed-policy-metrics span { color: var(--console-muted); font-size: 0.62rem; font-weight: 800; text-transform: uppercase; }
body .managed-policy-metrics strong { color: var(--console-ink); font-size: 1.25rem; margin-top: 0.12rem; }
body .managed-policy-metrics small { color: var(--console-muted); font-size: 0.66rem; margin-top: 0.12rem; }
body .managed-policy-inventory tr.is-expanded { background: var(--console-quiet); }
body .managed-policy-inventory .data-table > tbody > tr:hover { background: transparent; }
body .policy-deployment-counts { display: flex; flex-wrap: wrap; gap: 0.35rem 0.8rem; }
body .policy-deployment-counts span { color: var(--console-muted); font-size: 0.7rem; white-space: nowrap; }
body .policy-deployment-counts strong { color: var(--console-ink); display: inline; font-size: 0.8rem; }
body .managed-policy-impact { display: grid; gap: 0.85rem; grid-template-columns: repeat(2, minmax(0, 1fr)); padding: 0.75rem; }
body .managed-policy-impact > section { border: 1px solid var(--console-line); border-radius: 5px; min-width: 0; overflow: hidden; }
body .managed-policy-impact-heading { align-items: center; background: var(--console-quiet); border-bottom: 1px solid var(--console-line); display: flex; justify-content: space-between; padding: 0.55rem 0.65rem; }
body .managed-policy-impact-heading strong,
body .managed-policy-impact-heading small { display: block; }
body .managed-policy-impact-heading strong { color: var(--console-ink); font-size: 0.76rem; }
body .managed-policy-impact-heading small { color: var(--console-muted); font-size: 0.64rem; }
body .managed-policy-impact-heading a { font-size: 0.68rem; font-weight: 700; text-decoration: none; }
body .managed-policy-impact-list { max-height: 15rem; overflow-y: auto; }
body .managed-policy-impact-list > a { align-items: center; border-bottom: 1px solid var(--console-line); color: inherit; display: flex; gap: 0.7rem; justify-content: space-between; padding: 0.48rem 0.65rem; text-decoration: none; }
body .managed-policy-impact-list > a:last-child { border-bottom: 0; }
body .managed-policy-impact-list > a:hover { background: var(--console-quiet); }
body .access-policy-impact-row { align-items: center; border-bottom: 1px solid var(--console-line); display: grid; gap: 0.5rem; grid-template-columns: minmax(0, 1fr) auto auto auto; padding: 0.42rem 0.65rem; }
body .access-policy-impact-row:hover { background: var(--console-quiet); }
body .access-policy-impact-row:last-child { border-bottom: 0; }
body .access-policy-impact-row > a { color: inherit; min-width: 0; text-decoration: none; }
body .access-policy-impact-row strong,
body .access-policy-impact-row small { display: block; }
body .access-policy-impact-row strong { color: var(--console-ink); font-size: 0.74rem; }
body .access-policy-impact-row small { color: var(--console-muted); font-size: 0.64rem; }
body .managed-policy-impact-list strong,
body .managed-policy-impact-list small { display: block; }
body .managed-policy-impact-list strong { color: var(--console-ink); font-size: 0.74rem; }
body .managed-policy-impact-list small { color: var(--console-muted); font-size: 0.64rem; margin-top: 0.08rem; }
body .relationship-table-wrap { margin: 0; }
body .relationship-table { min-width: 0; }
body .relationship-table th { font-size: 0.58rem; padding: 0.42rem 0.65rem; }
body .relationship-table td { font-size: 0.76rem; padding: 0.42rem 0.65rem; }
body .relationship-table td:last-child { text-align: right; width: 1%; }
body .audit-event-table td:last-child { min-width: 22rem; }
body .audit-event-table details { color: var(--console-muted); font-size: 0.76rem; margin-top: 0.45rem; }
body .audit-event-table summary { color: var(--console-accent-deep); cursor: pointer; font-weight: 700; }
body .audit-event-table details code { display: block; line-height: 1.4; margin-top: 0.35rem; overflow-wrap: anywhere; white-space: pre-wrap; }
body .inventory-subheading { margin-top: 1.4rem; padding-left: 0; padding-right: 0; }
body .inventory-omitted { color: var(--console-muted); font-size: 0.72rem; font-weight: 700; }
body .adapter-list { border-bottom: 1px solid var(--console-line); }
body .adapter-row { align-items: center; border-bottom: 1px solid var(--console-line); display: grid; gap: 1rem; grid-template-columns: minmax(13rem, 1fr) minmax(18rem, 2fr) minmax(8rem, auto); padding: 0.65rem 0; }
body .adapter-row:last-child { border-bottom: 0; }
body .adapter-row:hover { background: var(--console-accent-soft); }
body .adapter-identity { align-items: center; display: grid; gap: 0.65rem; grid-template-columns: auto minmax(0, 1fr); min-width: 0; }
body .adapter-identity strong,
body .adapter-identity small,
body .adapter-meta strong,
body .adapter-meta small { display: block; overflow-wrap: anywhere; }
body .adapter-identity strong { color: var(--console-ink); font-size: 0.82rem; }
body .adapter-identity small,
body .adapter-meta small { color: var(--console-muted); font-size: 0.68rem; margin-top: 0.08rem; }
body .adapter-network { color: var(--console-muted-strong); display: grid; font-size: 0.72rem; gap: 0.18rem; min-width: 0; }
body .adapter-network div { overflow-wrap: anywhere; }
body .adapter-network span { color: var(--console-muted); display: inline-block; font-size: 0.62rem; font-weight: 800; margin-right: 0.45rem; text-transform: uppercase; width: 3.25rem; }
body .adapter-meta { text-align: right; }
body .adapter-meta strong { color: var(--console-ink); font-size: 0.78rem; }
body .origin-badge,
body .state-badge { border: 1px solid transparent; border-radius: 999px; display: inline-block; font-size: 0.69rem; font-weight: 800; letter-spacing: 0.02em; padding: 0.26rem 0.52rem; }
body .origin-badge { background: var(--console-accent-soft); color: var(--console-accent-deep); }
body .state-active { background: var(--console-success); border-color: var(--console-success-deep); color: #fff; }
body .state-pending { background: var(--console-warning); border-color: var(--console-warning-deep); color: #fff; }
body .state-muted { background: var(--console-muted); border-color: var(--console-muted-strong); color: #fff; }
body .state-revoked { background: var(--console-danger); border-color: var(--console-danger-deep); color: #fff; }
body .inventory-filter-bar { align-items: center; background: var(--console-quiet); border-bottom: 1px solid var(--console-line); display: grid; gap: 0.75rem; grid-template-columns: minmax(16rem, 1fr) auto; padding: 0.65rem 1rem; }
body .inventory-filter-search { align-items: center; display: grid; gap: 0.65rem; grid-template-columns: auto minmax(12rem, 28rem); margin: 0; min-width: 0; }
body .inventory-filter-search > span,
body .inventory-filter-field > span { color: var(--console-muted-strong); font-size: 0.68rem; font-weight: 800; text-transform: uppercase; white-space: nowrap; }
body .inventory-filter-search .form-control,
body .inventory-filter-field .form-select { min-height: 2.2rem; }
body .inventory-filter-disclosure { display: contents; }
body .inventory-filter-disclosure > summary { align-items: center; background: var(--console-surface); border: 1px solid var(--console-line-strong); border-radius: var(--console-radius-sm); color: var(--console-accent-deep); cursor: pointer; display: inline-flex; font-size: 0.76rem; font-weight: 800; gap: 0.5rem; grid-column: 2; grid-row: 1; min-height: 2.2rem; padding: 0.42rem 0.7rem; }
body .inventory-filter-disclosure > summary::marker { content: ""; }
body .inventory-filter-disclosure > summary::-webkit-details-marker { display: none; }
body .inventory-filter-count { align-items: center; background: var(--console-accent); border-radius: 999px; color: #fff; display: inline-flex; font-size: 0.62rem; height: 1.2rem; justify-content: center; min-width: 1.2rem; padding: 0 0.3rem; }
body .inventory-filter-panel { align-items: end; border-top: 1px solid var(--console-line); display: grid; gap: 0.8rem; grid-column: 1 / -1; grid-template-columns: minmax(0, 1fr) auto; padding-top: 0.8rem; }
body .inventory-filter-fields { align-items: end; display: grid; gap: 0.75rem; grid-template-columns: repeat(auto-fit, minmax(9.5rem, 1fr)); min-width: 0; }
body .inventory-filter-field { display: grid; gap: 0.35rem; margin: 0; min-width: 0; }
body .inventory-filter-toggle { align-items: center; color: var(--console-muted-strong); display: inline-flex; font-size: 0.76rem; font-weight: 750; gap: 0.45rem; margin: 0; min-height: 2.2rem; }
body .inventory-filter-toggle input { accent-color: var(--console-accent); height: 1rem; width: 1rem; }
body .inventory-filter-panel > .btn { min-height: 2.3rem; white-space: nowrap; }
body .device-identity { max-width: 13rem; }
body .device-identity a { overflow-wrap: anywhere; }
body .device-state { align-items: flex-start; display: flex; flex-direction: column; gap: 0.28rem; }
body .connection-state { align-items: center; color: var(--console-muted); display: inline-flex; font-size: 0.72rem; font-weight: 750; gap: 0.35rem; }
body .connection-state i { background: var(--console-muted); border-radius: 50%; height: 0.42rem; width: 0.42rem; }
body .connection-state.is-connected { color: var(--console-success-deep); }
body .connection-state.is-connected i { animation: status-pulse 2.4s ease-out infinite; background: var(--console-success); box-shadow: 0 0 0 3px var(--console-success-soft); }
body .device-mobile-indicators { display: none; }
body .device-actions-cell { width: 1%; }
body .device-actions { align-items: center; display: flex; gap: 0.35rem; justify-content: flex-end; }
body .device-footer-version { color: var(--console-muted); font-size: 0.76rem; font-weight: 750; margin-right: 0.1rem; }
body .diagnostic-history-row { align-items: center; border-bottom: 1px solid var(--console-line); display: flex; gap: 1rem; justify-content: space-between; padding: .8rem 0; }
body .diagnostic-history-row:last-child { border-bottom: 0; }
body .diagnostic-history-row div { display: grid; gap: .15rem; }
body .diagnostic-history-row small { color: var(--console-muted); }
body .diagnostic-dialog-backdrop { align-items: center; background: rgba(10, 18, 16, 0.58); display: flex; inset: 0; justify-content: center; padding: 1.5rem; position: fixed; z-index: 1200; }
body .diagnostic-dialog { background: var(--console-surface); border: 1px solid var(--console-line); border-radius: var(--console-radius-lg); box-shadow: var(--console-shadow-lg); display: grid; gap: 1rem; max-height: min(760px, calc(100vh - 3rem)); max-width: 920px; overflow: hidden; padding: 1.3rem; width: 100%; }
body .diagnostic-dialog-header { align-items: flex-start; display: flex; gap: 1rem; justify-content: space-between; }
body .diagnostic-dialog-header h2 { color: var(--console-ink); font-size: 1.35rem; margin: .15rem 0; }
body .diagnostic-dialog-header .field-note { margin: 0; }
body .diagnostic-report-summary { display: grid; gap: .75rem; grid-template-columns: repeat(3, 1fr); }
body .diagnostic-report-summary div { background: var(--console-canvas); border: 1px solid var(--console-line); display: grid; gap: .3rem; padding: .75rem; }
body .diagnostic-report-summary span { color: var(--console-muted); font-size: .72rem; text-transform: uppercase; }
body .diagnostic-report-summary strong { color: var(--console-ink); font-size: 1rem; }
body .diagnostic-report-summary .diagnostic-attention { color: var(--console-danger); }
body .diagnostic-report-controls { align-items: center; display: flex; gap: .75rem; }
body .diagnostic-report-controls .form-control { min-width: 0; }
body .diagnostic-filter-group { display: flex; }
body .diagnostic-filter-group button { background: var(--console-canvas); border: 1px solid var(--console-line); color: var(--console-muted); font-size: .78rem; padding: .52rem .7rem; }
body .diagnostic-filter-group button + button { border-left: 0; }
body .diagnostic-filter-group button.is-selected { background: var(--console-accent); color: #fff; }
body .diagnostic-report-list { border: 1px solid var(--console-line); max-height: 320px; overflow: auto; }
body .diagnostic-report-line { border-bottom: 1px solid var(--console-line); display: grid; gap: .8rem; grid-template-columns: 5.2rem 1fr; padding: .7rem .8rem; }
body .diagnostic-report-line:last-child { border-bottom: 0; }
body .diagnostic-report-line span { color: var(--console-muted); font-size: .72rem; font-weight: 700; text-transform: uppercase; }
body .diagnostic-report-line p { color: var(--console-ink); font-family: var(--console-mono); font-size: .78rem; margin: 0; overflow-wrap: anywhere; }
body .diagnostic-report-line.is-attention { background: var(--console-warning-soft); }
body .diagnostic-report-line.is-attention span { color: var(--console-danger); }
body .diagnostic-raw { color: var(--console-muted); }
body .diagnostic-raw summary { cursor: pointer; font-size: .82rem; }
body .diagnostic-raw pre { background: var(--console-canvas); border: 1px solid var(--console-line); color: var(--console-ink); font-family: var(--console-mono); font-size: .74rem; margin: .7rem 0 0; max-height: 160px; overflow: auto; padding: .8rem; white-space: pre-wrap; }
body .device-action-update,
body .device-action-controls,
body .device-action-lifecycle { align-items: center; display: flex; flex-wrap: wrap; gap: 0.5rem; }
body .device-action-update { border-left: 1px solid var(--console-line); padding-left: 1rem; }
body .device-action-controls { justify-content: flex-end; }
body .device-action-lifecycle { border-left: 1px solid var(--console-line); justify-content: flex-end; padding-left: 1rem; }
body .icon-action { align-items: center; background: var(--console-surface); border: 1px solid var(--console-line-strong); border-radius: var(--console-radius-sm); color: var(--console-accent-deep); cursor: pointer; display: inline-flex; font-size: 1rem; height: 2rem; justify-content: center; line-height: 1; padding: 0; text-decoration: none; transition: background-color 130ms ease, border-color 130ms ease, color 130ms ease, transform 130ms ease; width: 2rem; }
body .icon-action svg { height: 1rem; stroke-width: 2; width: 1rem; }
body .icon-action:hover { background: var(--console-accent-soft); border-color: var(--console-accent); color: var(--console-accent-deep); transform: translateY(-1px); }
body .icon-action.connect { color: var(--console-success-deep); }
body .icon-action.danger { color: var(--console-danger); }
body .icon-action:disabled { cursor: wait; opacity: 0.45; transform: none; }
body .data-section { animation: panel-enter 260ms ease-out both; }
@keyframes panel-enter { from { opacity: 0; transform: translateY(5px); } to { opacity: 1; transform: translateY(0); } }
@keyframes profile-tab-enter { from { opacity: 0; } to { opacity: 1; } }
@keyframes status-pulse { 0%, 45% { box-shadow: 0 0 0 3px var(--console-success-soft); } 75%, 100% { box-shadow: 0 0 0 7px rgba(53, 189, 139, 0); } }
@keyframes chart-bar-enter { from { transform: scaleY(0); } to { transform: scaleY(1); } }

body .drive-topbar { align-items: center; background: var(--console-surface); border-bottom: 1px solid var(--console-line); display: flex; height: 3.85rem; justify-content: space-between; position: sticky; top: 0; z-index: 90; }
body .topbar-context { align-items: center; display: flex; gap: 0.7rem; }
body .topbar-mark { align-items: center; background: var(--console-sidebar-bg); border-radius: var(--console-radius-sm); color: var(--console-sidebar-accent); display: inline-flex; height: 1.8rem; justify-content: center; width: 1.8rem; }
body .topbar-mark svg { height: 1.1rem; stroke-width: 2.3; width: 1.1rem; }
body .topbar-kicker { color: var(--console-muted); font-size: 0.68rem; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; }
body .topbar-title { color: var(--console-ink); font-size: 0.94rem; font-weight: 700; }
body .topbar-health { align-items: center; color: var(--console-muted-strong); display: flex; font-size: 0.78rem; font-weight: 650; gap: 0.45rem; }
body .topbar-health-dot { background: var(--console-success); border-radius: 50%; box-shadow: 0 0 0 3px var(--console-success-soft); height: 0.45rem; width: 0.45rem; }
body .theme-toggle { align-items: center; background: transparent; border: 1px solid var(--console-line-strong); border-radius: var(--console-radius-sm); color: var(--console-muted-strong); cursor: pointer; display: inline-flex; height: 2rem; justify-content: center; padding: 0; width: 2rem; }
body .theme-toggle:hover { background: var(--console-accent-soft); border-color: var(--console-accent); color: var(--console-accent-deep); }
body .theme-toggle svg { height: 1.05rem; stroke-width: 2; width: 1.05rem; }
body .notification-center { position: relative; }
body .notification-trigger { align-items: center; background: transparent; border: 1px solid var(--console-line-strong); border-radius: var(--console-radius-sm); color: var(--console-muted-strong); display: inline-flex; font-size: 0.78rem; font-weight: 800; height: 2rem; justify-content: center; min-width: 2rem; padding: 0; position: relative; }
body .notification-trigger.has-notifications { border-color: var(--console-warning); color: var(--console-warning-deep); }
body .notification-trigger b { align-items: center; background: var(--console-warning-deep); border: 2px solid var(--console-surface); border-radius: 50%; color: #fff; display: flex; font-size: 0.62rem; height: 1.15rem; justify-content: center; position: absolute; right: -0.55rem; top: -0.55rem; min-width: 1.15rem; }
body .notification-panel { background: var(--console-surface); border: 1px solid var(--console-line); box-shadow: var(--console-shadow-lg); color: var(--console-ink); position: absolute; right: 0; top: calc(100% + 0.65rem); width: min(25rem, calc(100vw - 2rem)); z-index: 110; }
body .notification-panel header, body .notification-panel footer { align-items: center; border-bottom: 1px solid var(--console-line); display: flex; justify-content: space-between; padding: 0.85rem 1rem; }
body .notification-panel footer { border-bottom: 0; border-top: 1px solid var(--console-line); }
body .notification-panel h2 { font-size: 1rem; margin: 0; }
body .notification-panel .empty-state { margin: 0; padding: 1.1rem; }
body .notification-list a { align-items: flex-start; border-bottom: 1px solid var(--console-line); color: inherit; display: grid; gap: 0.7rem; grid-template-columns: 0.5rem 1fr auto; padding: 0.85rem 1rem; text-decoration: none; }
body .notification-list a:hover { background: var(--console-quiet); }
body .notification-list strong, body .notification-list small { display: block; }
body .notification-list small { color: var(--console-muted); font-size: 0.72rem; margin-top: 0.15rem; }
body .notification-mark { border-radius: 50%; height: 0.5rem; margin-top: 0.3rem; width: 0.5rem; }
body .notification-mark.critical { background: var(--console-danger-deep); }
body .notification-mark.warning { background: var(--console-warning-deep); }
body .security-review-disposition { color: var(--console-success-deep); font-weight: 700; }
body .security-review-exception { align-items: end; border-top: 1px solid var(--console-line); display: grid; gap: 0.65rem; grid-template-columns: 1.25fr 1.25fr 0.8fr auto; margin-top: 0.8rem; padding-top: 0.8rem; }
body .security-review-exception > div { grid-column: 1 / -1; }
body .security-review-exception h4 { font-size: 0.92rem; margin: 0; }
body .security-review-exception p { color: var(--console-muted); font-size: 0.76rem; margin: 0.2rem 0 0; }
body .topbar-client-download { color: var(--console-muted); font-size: 0.72rem; font-weight: 700; margin-left: 0.4rem; text-decoration-color: transparent; }
body .topbar-client-download:hover { color: var(--console-accent-deep); text-decoration-color: currentColor; }
body .topbar-signout { display: inline-flex; margin: 0; }
body .topbar-signout button { background: transparent; border: 0; color: var(--console-muted); cursor: pointer; font: inherit; font-size: 0.72rem; font-weight: 700; padding: 0; text-decoration: underline; text-decoration-color: transparent; text-underline-offset: 0.16em; }
body .topbar-signout button:hover, body .topbar-signout button:focus-visible { color: var(--console-accent-deep); text-decoration-color: currentColor; }
body .topbar-signout button:focus-visible { outline: 2px solid var(--console-accent); outline-offset: 3px; }

body .sidebar .brand-block { align-items: flex-start; border-bottom: 1px solid var(--console-sidebar-line); display: flex; flex-direction: column; height: 5.5rem; justify-content: center; padding: 0 1.4rem; }
body .sidebar .navbar-brand { align-items: center; display: flex; gap: 0.7rem; text-decoration: none; }
body .sidebar .brand-mark { align-items: center; background: var(--console-sidebar-accent); border-radius: var(--console-radius-sm); color: var(--console-sidebar-bg); display: inline-flex; height: 2.25rem; justify-content: center; width: 2.25rem; }
body .sidebar .brand-mark svg { height: 1.35rem; stroke-width: 2.3; width: 1.35rem; }
body .sidebar .brand-wordmark { display: flex; flex-direction: column; line-height: 1; }
body .sidebar .brand-wordmark strong { color: var(--console-sidebar-ink-strong); font-size: 1rem; font-weight: 850; letter-spacing: 0.05em; }
body .sidebar .brand-wordmark small { color: var(--console-sidebar-ink); font-size: 0.58rem; font-weight: 800; letter-spacing: 0.16em; margin-top: 0.32rem; text-transform: uppercase; }
body .sidebar .product-version { color: var(--console-sidebar-ink); font-size: 0.66rem; font-weight: 750; margin-top: 0.4rem; }
body .sidebar .nav-item { font-size: 0.9rem; padding: 0 0.8rem 0.25rem; }
body .sidebar .nav-item .nav-link { align-items: center; background: transparent; border: 1px solid transparent; border-radius: var(--console-radius-md); color: var(--console-sidebar-ink); display: flex; gap: 0.75rem; height: 2.6rem; line-height: 1; width: 100%; }
body .sidebar .nav-item .nav-link span:last-child { white-space: nowrap; }
body .sidebar .nav-item a.active { background: var(--console-sidebar-active-bg); border-color: var(--console-sidebar-active-border); color: var(--console-sidebar-ink-strong); }
body .sidebar .nav-item .nav-link:hover { background: rgba(255, 255, 255, 0.055); color: var(--console-sidebar-ink-strong); }
body .sidebar .nav-index { color: var(--console-sidebar-ink); font-size: 0.64rem; font-weight: 800; letter-spacing: 0.08em; width: 1.45rem; }
body .sidebar .nav-item a.active .nav-index { color: var(--console-sidebar-accent); }
body .sidebar .nav-section-label { color: var(--console-sidebar-ink); font-size: 0.62rem; font-weight: 800; letter-spacing: 0.14em; margin: 1.45rem 1.4rem 0.65rem; text-transform: uppercase; }
body .sidebar .nav-section-group { border-top: 1px solid var(--console-sidebar-line); box-sizing: border-box; margin: 1.45rem 0 0.9rem; padding-top: 0.4rem; width: 100%; }
body .sidebar .nav-section-group summary { align-items: center; color: var(--console-sidebar-ink); cursor: pointer; display: flex; font-size: 0.7rem; font-weight: 800; justify-content: space-between; letter-spacing: 0.08em; list-style: none; margin: 0.25rem 1.4rem 0.7rem; text-transform: uppercase; }
body .sidebar .nav-section-group summary::-webkit-details-marker { display: none; }
body .sidebar .nav-section-group summary:hover { color: var(--console-sidebar-ink-strong); }
body .sidebar .nav-group-chevron { border-bottom: 1px solid currentColor; border-right: 1px solid currentColor; height: 0.45rem; transform: rotate(45deg) translateY(-0.12rem); transition: transform 160ms ease-out; width: 0.45rem; }
body .sidebar .nav-section-group[open] .nav-group-chevron { transform: rotate(225deg) translate(-0.1rem, -0.1rem); }
body .sidebar .nav-section-items { display: grid; gap: 0; }
body .drive-topbar .topbar-health { white-space: nowrap; }

body .console-drawer-backdrop { background: rgba(6, 14, 12, 0.45); inset: 0; position: fixed; z-index: 100; }
body .console-drawer { background: var(--console-surface); border-left: 1px solid var(--console-line); box-shadow: var(--console-shadow-lg); display: flex; flex-direction: column; height: 100vh; inset: 0 0 0 auto; max-width: 44rem; position: fixed; width: min(44rem, 100vw); z-index: 101; }
body .console-drawer-header { align-items: flex-start; border-bottom: 1px solid var(--console-line); display: flex; justify-content: space-between; padding: 1.75rem 1.75rem 1.2rem; }
body .console-drawer-header h2 { color: var(--console-ink); font-size: 1.3rem; margin: 0; }
body .console-drawer-header .field-note { margin-bottom: 0; max-width: 34rem; }
body .console-drawer-close { align-items: center; background: var(--console-quiet); border: 1px solid var(--console-line); border-radius: var(--console-radius-sm); color: var(--console-ink); cursor: pointer; display: inline-flex; font-size: 1.5rem; height: 2.4rem; justify-content: center; line-height: 1; margin-left: 1rem; width: 2.4rem; }
body .console-drawer-close:hover { background: var(--console-accent-soft); border-color: var(--console-line-strong); }
body .console-drawer-body { flex: 1; min-height: 0; overflow-y: auto; padding: 1.35rem 1.75rem 1.75rem; }
body .console-drawer-body .settings-section { border: 0; box-shadow: none; padding: 0; }
body .console-drawer-body .form-actions { margin-bottom: 0; }
body .relationship-picker { display: grid; gap: 1rem; }
body .relationship-picker-search { display: grid; gap: 0.4rem; margin: 0; }
body .relationship-picker-search > span { color: var(--console-ink); font-size: 0.75rem; font-weight: 800; }
body .relationship-picker-search > span small { color: var(--console-muted); font-size: 0.66rem; font-weight: 600; margin-left: 0.35rem; }
body .relationship-picker-toolbar { align-items: center; display: flex; gap: 1rem; justify-content: space-between; }
body .relationship-picker-toolbar .form-actions { border-top: 0; margin: 0; padding-top: 0; }
body .relationship-picker-count { color: var(--console-muted); font-size: 0.72rem; margin: 0; }
body .relationship-picker-list { border: 1px solid var(--console-line); border-radius: var(--console-radius-md); overflow: hidden; }
body .relationship-picker-row { align-items: center; background: var(--console-surface); border: 0; border-bottom: 1px solid var(--console-line); color: inherit; cursor: pointer; display: flex; font: inherit; gap: 1rem; justify-content: flex-start; padding: 0.8rem 1rem; text-align: left; width: 100%; }
body .relationship-picker-row:last-child { border-bottom: 0; }
body .relationship-picker-row:hover { background: var(--console-accent-soft); }
body .relationship-picker-row.is-selected { background: var(--console-accent-soft); }
body .relationship-picker-row:focus-visible { box-shadow: inset 0 0 0 2px var(--console-accent); outline: 0; }
body .relationship-picker-row:disabled { cursor: not-allowed; opacity: 0.55; }
body .relationship-picker-row > input { accent-color: var(--console-accent); flex: 0 0 auto; height: 1rem; pointer-events: none; width: 1rem; }
body .relationship-picker-label { flex: 1 1 auto; min-width: 0; text-align: left; }
body .relationship-picker-row strong { color: var(--console-ink); display: block; font-size: 0.84rem; }
body .relationship-picker-row small { color: var(--console-muted); display: block; font-size: 0.74rem; line-height: 1.4; margin-top: 0.18rem; }
body .relationship-picker-action { color: var(--console-accent-deep); flex: 0 0 auto; font-size: 0.74rem; font-weight: 800; }
body .relationship-picker-footer { align-items: center; border-top: 1px solid var(--console-line); display: flex; gap: 1rem; justify-content: space-between; padding-top: 1rem; }
body .relationship-picker-footer .form-actions { border-top: 0; margin: 0; padding-top: 0; }
body .profile-setup-steps { display: grid; gap: 0.5rem; grid-template-columns: repeat(3, minmax(0, 1fr)); list-style: none; margin: 0 0 1.6rem; padding: 0; }
body .profile-setup-steps li { align-items: center; color: var(--console-muted); display: flex; font-size: 0.74rem; font-weight: 750; gap: 0.45rem; min-width: 0; white-space: nowrap; }
body .profile-setup-steps span { align-items: center; background: var(--console-quiet); border: 1px solid var(--console-line); border-radius: 50%; display: inline-flex; flex: 0 0 auto; height: 1.45rem; justify-content: center; width: 1.45rem; }
body .profile-setup-steps .is-current { color: var(--console-accent-deep); }
body .profile-setup-steps .is-current span { background: var(--console-accent); border-color: var(--console-accent); color: #fff; }
body .profile-setup-steps .is-complete { color: var(--console-success-deep); }
body .profile-setup-steps .is-complete span { background: var(--console-success-soft); border-color: var(--console-success); }
body .profile-setup-step h3 { color: var(--console-ink); font-size: 1.05rem; margin: 0 0 1.2rem; }
body .profile-setup-wide { grid-column: 1 / -1; }
body .access-section { border-top: 1px solid var(--console-line); padding-top: 1.2rem; }
body .access-section:first-child { border-top: 0; padding-top: 0; }
body .access-section-heading { align-items: baseline; display: flex; gap: 1rem; justify-content: space-between; }
body .access-section-heading .eyebrow { margin-bottom: 0.25rem; }
body .access-section-heading h3 { color: var(--console-ink); font-size: 1rem; margin: 0; }
body .access-section-heading > a { font-size: 0.75rem; font-weight: 800; white-space: nowrap; }
body .access-route-list { display: grid; gap: 0.5rem; margin-top: 0.9rem; }
body .assigned-relationship-list { border: 1px solid var(--console-line); border-radius: var(--console-radius-md); margin-top: 0.9rem; overflow: hidden; }
body .assigned-relationship-row { align-items: center; background: var(--console-surface); border-bottom: 1px solid var(--console-line); display: flex; gap: 1rem; justify-content: space-between; padding: 0.75rem 0.85rem; }
body .assigned-relationship-row:last-child { border-bottom: 0; }
body .assigned-relationship-row strong { color: var(--console-ink); display: block; font-size: 0.82rem; }
body .assigned-relationship-row small { color: var(--console-muted); display: block; font-size: 0.74rem; line-height: 1.4; margin-top: 0.16rem; }
body .access-route-row { align-items: center; background: var(--console-quiet); border: 1px solid var(--console-line); border-radius: var(--console-radius-sm); cursor: pointer; display: grid; gap: 0.75rem; grid-template-columns: 1rem minmax(0, 1fr); margin: 0; padding: 0.75rem 0.85rem; }
body .access-route-row input { accent-color: var(--console-accent); height: 1rem; margin: 0; width: 1rem; }
body .access-route-row strong,
body .traffic-rule-row strong,
body .access-available-row strong { color: var(--console-ink); display: block; font-size: 0.82rem; }
body .access-route-row small,
body .traffic-rule-row small,
body .access-available-row small { color: var(--console-muted); display: block; font-size: 0.74rem; line-height: 1.4; margin-top: 0.16rem; }
body .traffic-rule-list { border: 1px solid var(--console-line); border-radius: var(--console-radius-md); margin-top: 0.9rem; overflow: hidden; }
body .traffic-rule-list .empty-state { padding: 0.85rem; }
body .traffic-rule-row { align-items: center; background: var(--console-surface); border-bottom: 1px solid var(--console-line); display: grid; gap: 0.75rem; grid-template-columns: 1.7rem minmax(0, 1fr) 7.75rem auto; padding: 0.7rem 0.85rem; }
body .traffic-rule-row:last-child { border-bottom: 0; }
body .traffic-rule-order { align-items: center; background: var(--console-accent-soft); border-radius: 50%; color: var(--console-accent-deep); display: inline-flex; font-size: 0.7rem; font-weight: 800; height: 1.55rem; justify-content: center; width: 1.55rem; }
body .traffic-rule-action { min-height: 2.15rem; padding-bottom: 0.25rem; padding-top: 0.25rem; }
body .traffic-rule-order-actions { display: flex; gap: 0.3rem; }
body .traffic-rule-order-actions .icon-action { height: 2.15rem; width: 2.15rem; }
body .access-available-list { display: grid; gap: 0.5rem; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 0.75rem; }
body .access-available-row { align-items: center; background: transparent; border: 1px dashed var(--console-line-strong); border-radius: var(--console-radius-sm); color: var(--console-accent-deep); cursor: pointer; display: flex; font: inherit; gap: 0.75rem; justify-content: space-between; padding: 0.7rem 0.85rem; text-align: left; }
body .access-available-row:hover { background: var(--console-accent-soft); border-color: var(--console-accent); }
body .access-available-row > span:last-child { font-size: 0.72rem; font-weight: 800; white-space: nowrap; }
body .security-posture-summary { display: grid; gap: 0.75rem; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-bottom: 1.1rem; }
body .security-posture-summary > div { background: var(--console-quiet); border: 1px solid var(--console-line); border-radius: var(--console-radius-md); display: grid; min-width: 0; padding: 0.85rem 1rem; }
body .security-posture-summary > div.has-attention { background: var(--console-danger-soft); border-color: var(--console-danger); }
body .security-posture-summary span { color: var(--console-muted); font-size: 0.66rem; font-weight: 800; text-transform: uppercase; }
body .security-posture-summary strong { color: var(--console-ink); font-size: 1.4rem; line-height: 1.2; margin-top: 0.2rem; }
body .security-posture-summary .has-attention strong { color: var(--console-danger); }
body .security-posture-summary small { color: var(--console-muted); font-size: 0.72rem; line-height: 1.35; margin-top: 0.2rem; }
body .device-security-result-list { display: grid; gap: 0.9rem; margin-top: 1.1rem; }
body .device-security-result-list > section { border: 1px solid var(--console-line); border-radius: var(--console-radius-md); overflow: hidden; }
body .device-security-result-list > section > header { align-items: center; background: var(--console-quiet); border-bottom: 1px solid var(--console-line); display: flex; gap: 1rem; justify-content: space-between; padding: 0.8rem 1rem; }
body .device-security-result-list > section > header a { font-size: 0.88rem; font-weight: 800; }
body .device-security-result-list > section > header small { color: var(--console-muted); display: block; font-size: 0.72rem; margin-top: 0.15rem; }
body .device-security-result { align-items: center; border-bottom: 1px solid var(--console-line); display: grid; gap: 0.8rem; grid-template-columns: 0.55rem minmax(0, 1fr) auto; padding: 0.8rem 1rem; }
body .device-security-result:last-child { border-bottom: 0; }
body .device-security-result.is-failing { background: var(--console-danger-soft); }
body .device-security-result .security-review-check-indicator { align-self: start; margin-top: 0.38rem; }
body .device-security-result.is-failing .security-review-check-indicator { background: var(--console-danger); }
body .device-security-result-copy strong { color: var(--console-ink); display: block; font-size: 0.84rem; }
body .device-security-result-copy small { color: var(--console-muted); display: block; font-size: 0.75rem; line-height: 1.45; margin-top: 0.2rem; }
body .device-security-result-copy .security-review-disposition { color: var(--console-warning-deep); }
body .device-security-result-state { align-items: flex-end; display: flex; flex-direction: column; gap: 0.3rem; text-align: right; }
body .device-security-result-state small { color: var(--console-muted); font-size: 0.68rem; white-space: nowrap; }
body .profile-setup-toggle { align-items: flex-start; background: var(--console-quiet); border: 1px solid var(--console-line); border-radius: var(--console-radius-md); cursor: pointer; display: flex !important; gap: 0.75rem; margin-top: 1.1rem; padding: 0.9rem 1rem; }
body .profile-setup-toggle input { accent-color: var(--console-accent); flex: 0 0 auto; height: 1rem; margin-top: 0.2rem; width: 1rem; }
body .profile-setup-toggle strong { color: var(--console-ink); display: block; font-size: 0.84rem; }
body .profile-setup-toggle small { color: var(--console-muted); display: block; font-size: 0.78rem; font-weight: 400; line-height: 1.4; margin-top: 0.25rem; }
body .setup-callout { background: var(--console-accent-soft); border: 1px solid var(--console-line-strong); border-left: 3px solid var(--console-accent); border-radius: var(--console-radius-md); color: var(--console-muted-strong); font-size: 0.84rem; line-height: 1.5; margin: 0 0 1.1rem; padding: 0.85rem 1rem; }
body .setup-callout:last-child { margin-bottom: 0; }
body .setup-callout strong { color: var(--console-ink); }
body .identity-setup-guide { counter-reset: identity-setup; display: grid; gap: 0.8rem; list-style: none; margin: 0 0 1.25rem; padding: 0; }
body .identity-setup-guide li { counter-increment: identity-setup; min-height: 2.2rem; padding-left: 3rem; position: relative; }
body .identity-setup-guide li::before { align-items: center; background: var(--console-accent-soft); border: 1px solid var(--console-line-strong); border-radius: 50%; color: var(--console-accent-deep); content: counter(identity-setup); display: inline-flex; font-size: 0.72rem; font-weight: 800; height: 1.8rem; justify-content: center; left: 0; position: absolute; top: 0; width: 1.8rem; }
body .identity-setup-guide strong { color: var(--console-ink); display: block; font-size: 0.86rem; }
body .identity-setup-guide span { color: var(--console-muted); display: block; font-size: 0.8rem; line-height: 1.45; margin-top: 0.16rem; }
body .identity-setup-guide code { background: var(--console-quiet); border: 1px solid var(--console-line); border-radius: var(--console-radius-sm); color: var(--console-accent-deep); font-size: 0.74rem; padding: 0.08rem 0.22rem; }

@media (min-width: 641px) {
    body .page { display: block; min-height: 100vh; }
    body .sidebar { bottom: 0; display: flex; flex-direction: column; height: 100vh; left: 0; min-width: 264px; overflow: hidden; position: fixed; top: 0; width: 264px !important; z-index: 10; }
    body .page > main { margin-left: 264px; min-width: 0; overflow-x: clip; width: calc(100% - 264px); }
    body .page-action-bar.is-fixed { left: 264px; padding-left: 2.5rem; padding-right: 2.5rem; }
    body .page-action-feedback-region.is-fixed { left: calc(264px + 2.5rem); right: auto; width: min(46rem, calc(100vw - 264px - 5rem)); }
    body .page > main .content { box-sizing: border-box; min-width: 0; width: 100%; }
    body .sidebar .nav-scrollable { display: flex; flex: 1 1 auto; flex-direction: column; min-height: 0; overflow-x: hidden; overflow-y: auto; overscroll-behavior: contain; scrollbar-color: rgba(183, 199, 193, 0.5) transparent; scrollbar-width: thin; }
    body .sidebar .nav { flex: 1 1 auto; flex-wrap: nowrap; min-height: 0; width: 100%; }
    body .sidebar .nav > .nav-item,
    body .sidebar .nav > .nav-section-label,
    body .sidebar .nav > .nav-section-group { flex: 0 0 auto; }
    body .top-row,
    body article { padding-left: 2.5rem !important; padding-right: 2.5rem !important; }
    body .data-section { min-width: 0; }
    body .table-wrap { max-width: 100%; overscroll-behavior-inline: contain; }
}

@media (max-width: 760px) {
    html,
    body { font-size: 13px; }
    body { min-width: 0; }
    .access-shell { grid-template-columns: 1fr; min-height: 100svh; width: 100%; }
    .access-intro { justify-content: flex-start; min-width: 0; padding: 1.25rem; }
    .access-intro > p { margin-top: 0.9rem; max-width: none; }
    .access-card { align-self: stretch; box-shadow: none; margin: 0; padding: 1.5rem 1.25rem; }
    .access-card h2 { font-size: 1.45rem; }
    body .page,
    body .page > main,
    body .content { min-width: 0; width: 100%; }
    body .profiles-page-heading { align-items: stretch; }
    body .profiles-page-heading > .btn { align-self: flex-start; width: auto; }
    body .profiles-inventory-header { align-items: flex-start; }
    body .profiles-inventory-summary { justify-content: flex-start; width: 100%; }
    body .profiles-inventory-summary a { border-left: 0; padding-left: 0; }
    body .profiles-table .profile-inventory-name { min-width: 0; }
    body .profiles-table .profile-inventory-name small { display: none; }
    body .profile-access-metrics { min-width: 0; }
    body .managed-policy-options { grid-template-columns: 1fr; }
    body .managed-policy-metrics { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    body .managed-policy-impact { grid-template-columns: 1fr; padding: 0.55rem; }
    body .drive-topbar { height: 3.5rem; min-width: 0; padding-left: 0.85rem !important; padding-right: 4.75rem !important; }
    body .topbar-context { gap: 0.45rem; min-width: 0; }
    body .topbar-title,
    body .topbar-health > .topbar-health-dot,
    body .topbar-health > a,
    body .topbar-health > span:not(.topbar-health-dot),
    body .topbar-health > form { display: none; }
    body .topbar-health { min-width: 2rem; }
    body .content { padding: 0.65rem 0.55rem 4.25rem !important; }
    body .page-heading { align-items: flex-start; flex-direction: column; margin-bottom: 1.5rem; }
    body .page-heading { gap: 0.45rem; margin-bottom: 0.65rem; }
    body .page-heading h1 { font-size: 1.35rem; }
    body .page-summary { font-size: 0.76rem; line-height: 1.35; margin-top: 0.2rem; }
    body .eyebrow { font-size: 0.57rem; margin-bottom: 0.2rem; }
    body .heading-actions { align-items: flex-start; }
    body .status-grid,
    body .dashboard-metrics,
    body .dashboard-main-grid,
    body .dashboard-security-grid,
    body .form-grid,
    body .directory-form-grid,
    body .policy-form-grid { grid-template-columns: 1fr; }
    body .status-grid { gap: 0.35rem; grid-template-columns: repeat(2, minmax(0, 1fr)); margin-bottom: 0.65rem; }
    body .status-panel { border-radius: 4px; min-height: 4.8rem; padding: 0.55rem; }
    body .status-panel strong { font-size: 1.1rem; margin: 0.35rem 0 0.15rem; }
    body .status-panel small { font-size: 0.7rem; line-height: 1.25; }
    body .settings-stack { gap: 0.4rem; }
    body .settings-section { border-radius: 4px; padding: 0.65rem; }
    body .settings-section-header { margin-bottom: 0.6rem; padding-bottom: 0.5rem; }
    body .security-posture-summary { gap: 0.35rem; grid-template-columns: repeat(3, minmax(0, 1fr)); margin-bottom: 0.65rem; }
    body .security-posture-summary > div { border-radius: 4px; padding: 0.5rem; }
    body .security-posture-summary strong { font-size: 1.15rem; }
    body .device-security-result { align-items: start; grid-template-columns: 0.55rem minmax(0, 1fr); }
    body .device-security-result-state { align-items: flex-start; grid-column: 2; text-align: left; }
    body .data-section { border-radius: 4px; }
    body .data-section-header { align-items: flex-start; gap: 0.45rem; padding: 0.55rem 0.65rem; }
    body .data-section-header h2 { font-size: 0.92rem; }
    body .empty-state { font-size: 0.75rem; padding: 0.7rem; }
    body .table-wrap { margin-right: -1px; max-width: 100%; }
    body .table-wrap { overscroll-behavior-inline: contain; scrollbar-color: var(--console-line-strong) transparent; scrollbar-width: thin; }
    body .table-wrap::-webkit-scrollbar { height: 6px; }
    body .data-table { min-width: 540px; }
    body .data-table:has(thead th:nth-child(7)) { min-width: 620px; }
    body .data-table:not(:has(thead)) { min-width: 0; table-layout: fixed; }
    body .data-table:not(:has(thead)) th { white-space: normal; width: 42%; }
    body .data-table:not(:has(thead)) td { overflow-wrap: anywhere; }
    body .table-wrap:has(.mobile-card-table) { overflow: visible; }
    body .data-table.mobile-card-table { display: block; min-width: 0 !important; width: 100%; }
    body .mobile-card-table tbody { display: block; }
    body .mobile-card-table thead { display: none; }
    body .mobile-card-table.mobile-select-table thead { display: block; }
    body .mobile-card-table.mobile-select-table thead tr { align-items: center; display: flex; justify-content: flex-end; padding: 0.35rem 0.55rem; }
    body .mobile-card-table thead th { background: transparent; border: 0; display: none; padding: 0; }
    body .mobile-card-table.mobile-select-table thead th:first-child { align-items: center; display: flex; gap: 0.4rem; }
    body .mobile-card-table.mobile-select-table thead th:first-child::after { content: "Select all"; }
    body .mobile-card-table tbody { display: block; padding: 0; }
    body .mobile-card-table tbody tr { background: var(--console-surface); border: 0; border-bottom: 1px solid var(--console-line); border-radius: 0; display: flex; flex-wrap: wrap; gap: 0.3rem 0.85rem; padding: 0.55rem 0.65rem; position: relative; }
    body .mobile-card-table tbody tr:last-child { border-bottom: 0; }
    body .mobile-card-table tbody tr:hover { background: var(--console-quiet); }
    body .mobile-card-table td { border: 0; min-width: 0; padding: 0; }
    body .mobile-card-table td[data-label] { align-items: baseline; display: flex; flex: 1 1 6.75rem; gap: 0.28rem; line-height: 1.25; }
    body .mobile-card-table:has(.device-identity) td[data-label],
    body .audit-event-table td[data-label] { flex-basis: 9rem; }
    body .mobile-card-table td[data-label]::before { color: var(--console-muted); content: attr(data-label) ":"; flex: 0 0 auto; font-size: 0.58rem; font-weight: 800; letter-spacing: 0; margin: 0; text-transform: none; }
    body .mobile-card-table td[data-label]:has(> .state-badge),
    body .mobile-card-table td[data-label]:has(> .origin-badge) { flex: 0 1 auto; }
    body .mobile-card-table td[data-label]:has(> .state-badge)::before,
    body .mobile-card-table td[data-label]:has(> .origin-badge)::before { display: none; }
    body .mobile-card-table .mobile-primary-cell { flex: 1 1 calc(100% - 2rem); padding-right: 1.8rem; }
    body .mobile-card-table .mobile-select-cell { position: absolute; right: 0.65rem; top: 0.6rem; }
    body .mobile-card-table .mobile-actions-cell { flex: 1 1 100%; }
    body .mobile-card-table strong { font-size: 0.82rem; }
    body .mobile-card-table small { font-size: 0.67rem; margin-top: 0.08rem; }
    body .mobile-card-table .state-badge,
    body .mobile-card-table .origin-badge { font-size: 0.6rem; padding: 0.18rem 0.38rem; }
    body .mobile-card-table .device-actions { justify-content: flex-start; }
    body .mobile-card-table .device-identity > small,
    body .mobile-card-table .mobile-entry-action { display: none; }
    body .mobile-card-table .device-client-summary { flex-basis: 100%; }
    body .mobile-card-table .device-client-summary::before { display: none; }
    body .mobile-card-table .device-client-summary > small { display: none; }
    body .mobile-card-table .device-user-summary { flex-basis: 100%; }
    body .mobile-card-table .device-state-summary { flex: 0 1 auto; }
    body .mobile-card-table td.device-security-summary,
    body .mobile-card-table td.device-inventory-summary { display: none; }
    body .mobile-card-table .device-state-summary::before,
    body .mobile-card-table .device-security-summary::before,
    body .mobile-card-table .device-inventory-summary::before { display: none; }
    body .mobile-card-table .device-state-summary small,
    body .mobile-card-table .device-security-summary small,
    body .mobile-card-table .device-inventory-summary small { display: none; }
    body .mobile-card-table .desktop-device-state { display: none; }
    body .mobile-card-table .device-mobile-indicators { border: 1px solid var(--console-muted-strong); border-radius: 999px; display: inline-flex; max-width: 100%; overflow: hidden; }
    body .mobile-card-table .device-indicator-segment { align-items: center; border: 0; border-radius: 0; color: #fff; display: inline-flex; font-size: 0.58rem; font-weight: 800; gap: 0.25rem; line-height: 1; padding: 0.3rem 0.42rem; white-space: nowrap; }
    body .mobile-card-table .device-indicator-segment + .device-indicator-segment { border-left: 1px solid rgb(255 255 255 / 35%); }
    body .mobile-card-table .device-vpn-indicator i { background: currentColor; border-radius: 50%; height: 0.38rem; opacity: 0.7; width: 0.38rem; }
    body .mobile-card-table .device-vpn-indicator.state-active i { box-shadow: 0 0 0 2px rgb(255 255 255 / 28%); opacity: 1; }
    body .mobile-card-table .device-actions-cell:has(.mobile-entry-action:only-child) { display: none; }
    body .mobile-card-table tbody tr:has(.device-identity) { display: grid; grid-template-columns: minmax(0, 1fr) auto 1.5rem; }
    body .mobile-card-table tr:has(.device-identity) .device-identity { grid-column: 1; }
    body .mobile-card-table tr:has(.device-identity) .device-client-summary { grid-column: 2; }
    body .mobile-card-table tr:has(.device-identity) .device-user-summary { grid-column: 1 / -1; }
    body .mobile-card-table tr:has(.device-identity) .device-state-summary { grid-column: 1 / -1; }
    body .mobile-card-table tr:has(.device-identity) .mobile-actions-cell { grid-column: 1 / -1; }
    body .mobile-card-table .form-actions { align-items: center; border: 0; flex-direction: row; justify-content: flex-start; margin: 0; padding: 0; }
    body .mobile-card-table .form-actions .btn { width: auto; }
    body .mobile-card-table .mobile-expanded-row { display: block; width: 100%; }
    body .mobile-card-table .mobile-expanded-row > td { display: block; width: 100%; }
    body .data-table th { font-size: 0.58rem; padding: 0.48rem 0.65rem; }
    body .data-table td { font-size: 0.75rem; padding: 0.55rem 0.65rem; }
    body .relationship-table { min-width: 0; }
    body .audit-event-table td:last-child { min-width: 15rem; }
    body .adapter-row { align-items: start; grid-template-columns: 1fr auto; }
    body .adapter-network { grid-column: 1 / -1; }
    body .form-grid { gap: 0.55rem; }
    body .form-grid label { font-size: 0.72rem; margin-bottom: 0.28rem; }
    body .form-control,
    body .form-select { min-height: 2.25rem; padding-bottom: 0.35rem; padding-top: 0.35rem; }
    body .field-note { font-size: 0.7rem; line-height: 1.35; margin-top: 0.35rem; }
    body .form-actions { align-items: stretch; flex-direction: column; gap: 0.45rem; margin-top: 0.75rem; padding-top: 0.65rem; }
    body .form-actions .btn { width: 100%; }
    body .page-action-bar.is-fixed { min-height: 3.6rem; overflow-x: auto; overflow-y: hidden; padding: 0.45rem 0.75rem; scrollbar-width: none; }
    body .page-action-bar.is-fixed::-webkit-scrollbar { display: none; }
    body .page-action-bar.is-fixed .page-action-bar-content { align-items: center; flex-direction: row; flex-wrap: nowrap; gap: 0.45rem; justify-content: flex-start; }
    body .page-action-bar.is-fixed .page-action-bar-content .btn { width: auto; }
    body .page-action-bar.is-fixed .btn { font-size: 0.76rem; min-height: 2.35rem; padding: 0.42rem 0.65rem; white-space: nowrap; }
    body .page-action-bar.is-fixed .device-action-update,
    body .page-action-bar.is-fixed .device-action-controls,
    body .page-action-bar.is-fixed .device-action-lifecycle { flex: 0 0 auto; flex-wrap: nowrap; }
    body .page-action-bar.is-fixed .device-footer-version { display: none; }
    body .page-action-feedback-region.is-fixed { bottom: 4.25rem; left: 0.75rem; right: 0.75rem; }
    body .diagnostic-dialog-backdrop { align-items: flex-end; padding: 0; }
    body .diagnostic-dialog { border-bottom: 0; border-left: 0; border-radius: 8px 8px 0 0; border-right: 0; max-height: 88vh; padding: 1rem; }
    body .diagnostic-report-summary { grid-template-columns: 1fr; }
    body .diagnostic-report-controls { align-items: stretch; flex-direction: column; }
    body .device-action-update,
    body .device-action-lifecycle { border-left: 0; padding-left: 0; }
    body .device-action-controls,
    body .device-action-lifecycle { justify-content: flex-start; }
    body .console-drawer { max-width: none; width: 100vw; }
    body .console-drawer-header { padding: 0.9rem 0.75rem 0.65rem; }
    body .console-drawer-body { padding: 0.75rem; }
    body .dashboard-metrics { gap: 0.35rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
    body .dashboard-metric { border: 1px solid var(--console-line); border-radius: 4px; min-height: 4.8rem; padding: 0.55rem; }
    body .dashboard-metric:first-child,
    body .dashboard-metric:last-child { border: 1px solid var(--console-line); border-radius: 5px; }
    body .dashboard-metric strong { font-size: 1.15rem; }
    body .dashboard-panel-heading { padding: 0.7rem; }
    body .dashboard-panel-heading h2 { font-size: 0.95rem; }
    body .dashboard-chart-empty { height: 9rem; padding: 1rem; }
    body .dashboard-security-summary { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    body .dashboard-security-summary > span { border-bottom: 0; border-right: 1px solid var(--console-line); padding: 0.55rem; }
    body .dashboard-security-summary > span:last-child { border-right: 0; }
    body .dashboard-security-summary strong { font-size: 0.95rem; }
    body .dashboard-security-summary small { font-size: 0.61rem; }
    body .health-list > div { padding: 0.65rem 0.75rem; }
    body .health-list dt { font-size: 0.62rem; }
    body .health-list dd { font-size: 0.78rem; }
    body .dashboard-security-events { margin-top: 0.5rem; }

    @media (max-width: 350px) {
        body .mobile-card-table td[data-label] { flex-basis: 8rem; }
    }
    body .throughput-chart { gap: 0.15rem; height: 12rem; margin-left: 0.75rem; margin-right: 0.75rem; }
    body .chart-summary { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    body .chart-summary span { border-bottom: 1px solid var(--console-line); padding: 0.45rem 0; }
    body .chart-summary span:nth-child(2) { border-right: 0; padding-left: 0.75rem; }
    body .chart-summary span:nth-child(n+3) { border-bottom: 0; padding-top: 0.65rem; }
    body .inventory-filter-bar { gap: 0.45rem; grid-template-columns: minmax(0, 1fr) auto; padding: 0.5rem 0.65rem; }
    body .inventory-filter-search { align-items: stretch; gap: 0.2rem; grid-template-columns: 1fr; }
    body .inventory-filter-fields,
    body .inventory-filter-panel { grid-template-columns: 1fr; }
    body .inventory-filter-panel > .btn { width: 100%; }
    body .detail-tabs { margin-bottom: 0.6rem; }
    body .detail-tab { flex: 1 0 auto; font-size: 0.7rem; justify-content: center; padding: 0.5rem 0.55rem; }
    body .detail-tab span { height: 1.05rem; min-width: 1.05rem; }
    body .profile-accordion > summary { padding: 0.6rem 2.4rem 0.6rem 0.7rem; }
    body .profile-accordion > summary::after { right: 0.85rem; }
    body .profile-accordion-body { padding: 0.65rem; }
    body .detail-command-bar { align-items: stretch; flex-direction: column; }
    body .detail-command-bar .btn { width: 100%; }
    body .traffic-rule-row { align-items: start; grid-template-columns: 1.7rem minmax(0, 1fr) auto; }
    body .traffic-rule-action { grid-column: 2 / 3; width: 100%; }
    body .traffic-rule-order-actions { grid-column: 3 / 4; grid-row: 1 / 3; }
    body .access-available-list { grid-template-columns: 1fr; }
    body .identity-provider-actions { align-items: flex-start; flex-direction: column-reverse; }
    body .network-graph-heading { gap: 0.85rem; }
    body .network-graph-legend { justify-content: flex-start; }
    body .network-graph-toolbar { align-items: flex-start; flex-direction: column; gap: 0.35rem; }
    body .gateway-stage { min-height: 7.5rem; }
    body .gateway-node { min-width: 0; width: 100%; }
    body .profile-graph-list { padding: 0.6rem; }
    body .profile-graph-row { gap: 0.75rem; grid-template-columns: 1fr; }
    body .graph-connector { height: 1.6rem; justify-self: center; margin: -0.75rem 0; width: 2px; }
    body .graph-connector::after { border-color: var(--console-accent) transparent transparent; bottom: -1px; left: -4px; right: auto; top: auto; }
    body .profile-graph-access { grid-template-columns: 1fr; }
    body .device-access-graph-header { flex-direction: column; }
    body .device-access-graph-summary { justify-content: flex-start; }
    body .device-access-graph-body { gap: 0.7rem; grid-template-columns: 1fr; padding: 0.85rem; }
    body .device-access-connector { height: 1.4rem; justify-self: center; margin: -0.7rem 0; width: 2px; }
    body .device-access-connector::after { border-color: var(--console-accent) transparent transparent; bottom: -1px; left: -4px; right: auto; top: auto; }
    body .device-access-device { justify-self: stretch; }
    body .connection-timeline-header { flex-direction: column; }
    body .connection-timeline-filters { align-items: stretch; grid-template-columns: 1fr 1fr; }
    body .connection-timeline-filter-actions { grid-column: 1 / -1; }
    body .connection-timeline-filter-actions .btn { flex: 1; justify-content: center; }
    body .connection-timeline-lanes { padding: 0.85rem; }
    body .connection-timeline-event { gap: 0.55rem; grid-template-columns: 1.1rem minmax(5.5rem, 6.75rem) minmax(0, 1fr); }
    body .connection-timeline-parallel-lane { grid-template-columns: 1fr; }
    body .connection-event-row { align-items: start; gap: 0.45rem 0.65rem; grid-template-columns: 1rem minmax(5.5rem, 6.5rem) minmax(0, 1fr); padding: 0.7rem 0.85rem; }
    body .connection-event-context { grid-column: 3; }
    body .connection-timeline-parallel-lane > header { border-bottom: 1px solid var(--console-line); border-right: 0; padding: 0.65rem 0.75rem; }
    body .connection-timeline-track { padding: 0.65rem; }
    body .vpn-activity-stream { --activity-rail-width: 4.8rem; }
    body .vpn-activity-rail-heading { display: none; }
    body .vpn-activity-event { grid-template-columns: var(--activity-rail-width) minmax(0, 1fr); }
    body .vpn-activity-rail { grid-column: 1; }
    body .vpn-activity-copy { grid-column: 2; padding-right: 0.85rem; }
    body .vpn-activity-gap { grid-template-columns: var(--activity-rail-width) minmax(0, 1fr); }
    body .vpn-activity-gap::before { grid-column: 1; }
    body .vpn-activity-gap span { grid-column: 1 / 3; margin-left: 4.2rem; }
    body .security-review-brief { gap: 0.75rem; grid-template-columns: 1fr; padding: 0.75rem; }
    body .security-review-brief::after { width: 55%; }
    body .security-review-brief-stats { grid-template-columns: repeat(3, minmax(0, 1fr)); }
    body .security-review-priority-item { align-items: start; grid-template-columns: 0.35rem minmax(0, 1fr) auto; padding: 0.8rem 1rem; }
    body .security-review-priority-detail { grid-column: 2 / -1; }
    body .security-review-checks { grid-template-columns: 1fr; }
    body .security-review-client > header { align-items: flex-start; padding: 0.9rem 1rem; }
    body .security-review-client > header .btn { flex: 0 0 auto; }
    body .security-review-profile { margin: 0 1rem; }
    body .diagnostic-history-row,
    body .assigned-relationship-row,
    body .relationship-picker-footer,
    body .relationship-picker-toolbar { align-items: stretch; flex-direction: column; }
    body .profile-setup-steps { gap: 0.35rem; }
    body .profile-setup-steps li { font-size: 0.65rem; white-space: normal; }
    body .setup-callout { font-size: 0.73rem; line-height: 1.35; margin-bottom: 0.55rem; padding: 0.6rem; }
    body .btn { font-size: 0.75rem; min-height: 2.2rem; padding: 0.4rem 0.6rem; }
    body .origin-badge,
    body .state-badge { font-size: 0.62rem; padding: 0.2rem 0.4rem; }
}

@media (max-width: 640px) {
    body .sidebar { height: 3.5rem; position: sticky; top: 0; z-index: 95; }
    body .sidebar .brand-block { border-bottom: 0; height: 3.5rem; padding: 0 0.85rem; }
    body .sidebar .navbar-brand { gap: 0.5rem; }
    body .sidebar .brand-mark { height: 1.8rem; width: 1.8rem; }
    body .sidebar .brand-mark svg { height: 1rem; width: 1rem; }
    body .sidebar .brand-wordmark small,
    body .sidebar .product-version { display: none; }
    body .sidebar .navbar-toggler { height: 2.25rem; right: 0.65rem; top: 0.625rem; width: 2.75rem; }
    body .sidebar .nav-scrollable { background: var(--console-sidebar-bg); bottom: 0; display: block; left: 0; max-height: calc(100svh - 3.5rem); overflow-y: auto; position: fixed; right: 0; top: 3.5rem; }
    body .sidebar .navbar-toggler:not(:checked) ~ .nav-scrollable { display: none; }
    body .sidebar .nav-section-label { margin: 0.8rem 1rem 0.4rem; }
    body .sidebar .nav-section-group { margin: 0.8rem 0 0.5rem; }
    body .sidebar .nav-section-group summary { margin-left: 1rem; margin-right: 1rem; }
    body .sidebar .nav-item { padding: 0 0.55rem 0.15rem; }
    body .sidebar .nav-item .nav-link { height: 2.35rem; }
    body .drive-topbar { display: none; }
}

@media (max-width: 420px) {
    body .security-posture-summary { grid-template-columns: 1fr; }
    body .chart-summary { padding-left: 0.75rem; padding-right: 0.75rem; }
    body .throughput-chart { padding-left: 2.8rem; }
    body .throughput-chart::after { left: 2.8rem; }
    body .chart-scale { width: 2.4rem; }
    body .chart-axis { padding-left: 3.7rem; }
}

@keyframes gateway-pulse {
    0%, 100% { opacity: 0.45; transform: scaleY(0.75); }
    50% { opacity: 1; transform: scaleY(1); }
}

@media (prefers-reduced-motion: reduce) {
    body .data-section,
    body .connection-state.is-connected i,
    body .traffic-line,
    body .gateway-signal i { animation: none; }
    body .icon-action { transition: none; }
}