/*
 * Watcher 2 canonical interface system.
 * Shared tokens and components must remain authoritative across all modules.
 */
:root {
    color-scheme: light;
    --background: #f3f5f8;
    --surface: #ffffff;
    --surface-soft: #f8fafc;
    --text: #202938;
    --muted: #687587;
    --border: #dce3eb;
    --blue: #0d6efd;
    --green: #198754;
    --red: #dc3545;
    --orange: #fd7e14;
    --purple: #7656c9;
    --shadow: 0 12px 32px rgba(31, 42, 55, 0.08);
    --header: rgba(255, 255, 255, 0.96);
    --hero-start: #ffffff;
    --hero-end: #f7faff;
    --row-hover: #f7faff;
    --backdrop: rgba(28, 37, 51, 0.58);
    --green-soft: #e8f6ef;
    --red-soft: #fdecef;
    --orange-soft: #fff3e8;
    --blue-soft: #eef5ff;
    --focus-ring: rgba(13, 110, 253, 0.18);
}

/* Compact client-provider workspace. */
.list-action-bar.provider-scope-bar{align-items:center;justify-content:space-between;padding:13px 20px;margin-top:0}.provider-scope-bar>div{display:flex;align-items:center;gap:10px}.provider-mode-badge{display:inline-flex;padding:4px 9px;border-radius:999px;background:var(--surface-soft);color:var(--muted);font-size:12px}.client-table.provider-table{min-width:900px;table-layout:fixed}.client-table.provider-table th,.client-table.provider-table td{padding:18px 20px}.client-table.provider-table th:nth-child(1){width:20%}.client-table.provider-table th:nth-child(2){width:25%}.client-table.provider-table th:nth-child(3){width:18%}.client-table.provider-table th:nth-child(4){width:20%}.client-table.provider-table th:nth-child(5){width:17%}.client-table.provider-table td:first-child{min-width:0}.client-table.provider-table td:nth-child(2),.client-table.provider-table td:last-child{width:auto}.client-table.provider-table td:last-child{text-align:left}.provider-table .table-actions{display:flex;align-items:center;justify-content:flex-end;gap:8px;white-space:nowrap}.provider-table .secondary-button.provider-action-button{min-width:0;padding:9px 14px}.provider-table .provider-test-button{font-size:13px}.provider-table .notification-state{display:inline-flex;margin:0 0 6px}
@media(max-width:720px){.provider-scope-bar,.provider-scope-bar>div{align-items:flex-start;flex-direction:column}.provider-table td:last-child{text-align:left}.provider-table .table-actions{justify-content:flex-start}}

:root[data-theme="dark"] {
    color-scheme: dark;
    --background: #111722;
    --surface: #1a2230;
    --surface-soft: #202a39;
    --text: #edf2f8;
    --muted: #a7b3c4;
    --border: #344154;
    --blue: #6ea8fe;
    --green: #55c88a;
    --red: #ff7583;
    --orange: #ffad66;
    --purple: #a994f4;
    --shadow: 0 14px 38px rgba(0, 0, 0, 0.32);
    --header: rgba(26, 34, 48, 0.96);
    --hero-start: #1a2230;
    --hero-end: #172131;
    --row-hover: #222f42;
    --backdrop: rgba(3, 7, 14, 0.72);
    --green-soft: #17372a;
    --red-soft: #402129;
    --orange-soft: #3d2b1e;
    --blue-soft: #1d304a;
    --focus-ring: rgba(110, 168, 254, 0.25);
}

@media (prefers-color-scheme: dark) {
    :root:not([data-theme="light"]) {
        color-scheme: dark;
        --background: #111722;
        --surface: #1a2230;
        --surface-soft: #202a39;
        --text: #edf2f8;
        --muted: #a7b3c4;
        --border: #344154;
        --blue: #6ea8fe;
        --green: #55c88a;
        --red: #ff7583;
        --orange: #ffad66;
        --purple: #a994f4;
        --shadow: 0 14px 38px rgba(0, 0, 0, 0.32);
        --header: rgba(26, 34, 48, 0.96);
        --hero-start: #1a2230;
        --hero-end: #172131;
        --row-hover: #222f42;
        --backdrop: rgba(3, 7, 14, 0.72);
        --green-soft: #17372a;
        --red-soft: #402129;
        --orange-soft: #3d2b1e;
        --blue-soft: #1d304a;
        --focus-ring: rgba(110, 168, 254, 0.25);
    }
}

* {
    box-sizing: border-box;
}

body {
    margin: 0;
    background: var(--background);
    color: var(--text);
    font-family: Arial, Helvetica, sans-serif;
}

.app-header {
    display: flex;
    align-items: center;
    justify-content: space-between;
    min-height: 82px;
    padding: 16px 32px;
    border-bottom: 1px solid var(--border);
    background: var(--header);
}
.header-actions{display:flex;align-items:center;gap:12px}.account-menu{position:relative}.account-menu-trigger{display:flex;align-items:center;gap:8px;border:0;background:transparent;color:var(--text);font:inherit;font-size:13px;font-weight:700;cursor:pointer;padding:6px}.account-avatar{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--blue);color:#fff;font-size:12px;font-weight:800;line-height:1}.account-menu-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-menu-trigger:focus-visible,.account-menu-panel a:focus-visible,.account-menu-action:focus-visible,.account-menu-signout:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.account-menu-panel{position:absolute;z-index:30;top:calc(100% + 7px);right:0;min-width:280px;padding:10px;border:1px solid var(--border);border-radius:12px;background:var(--surface);box-shadow:var(--shadow)}.account-menu-identity{display:grid;grid-template-columns:36px 1fr;align-items:center;gap:10px;padding:7px 8px 10px}.account-menu-identity .account-avatar{width:36px;height:36px}.account-menu-identity strong,.account-menu-identity span:last-child{display:block}.account-menu-identity strong{font-size:13px}.account-menu-identity span:last-child{margin-top:2px;color:var(--muted);font-size:12px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-menu-panel a,.account-menu-disabled,.account-menu-signout{display:block;width:100%;box-sizing:border-box;border:0;background:transparent;color:var(--text);font:inherit;font-size:13px;text-align:left;text-decoration:none;padding:9px 11px;border-radius:8px}.account-menu-panel a,.account-menu-signout{cursor:pointer}.account-menu-panel a:hover,.account-menu-signout:hover{background:var(--surface-soft)}.account-menu-disabled{color:var(--muted);cursor:not-allowed;opacity:.58}.account-menu-signout{color:var(--red);font-weight:700}.account-menu-panel form{margin:0}.account-menu-divider{height:1px;margin:7px 3px;background:var(--border)}.auth-shell{max-width:560px;margin:72px auto;padding:0 24px}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:32px;box-shadow:var(--shadow)}.auth-brand{margin:0 0 18px}.auth-card h1{margin-top:0}.auth-card label{display:block;font-weight:700;margin:16px 0 6px}.auth-card input{width:100%;box-sizing:border-box;padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font:inherit}.auth-card form>p:last-child{margin:24px 0 0}.auth-card .notice{padding:12px;border-radius:8px;background:var(--blue-soft);margin:16px 0}.auth-card .error{padding:12px;border-radius:8px;background:var(--red-soft);color:var(--red);margin:16px 0}.auth-secondary-action{margin:16px 0 0}.auth-secondary-action .text-button{padding:0}.recovery-codes{font-family:monospace;line-height:1.8;background:var(--surface-soft);padding:14px;border-radius:8px}.account-security-dialog{width:min(560px,calc(100% - 28px))}.account-security-dialog .dialog-content{display:grid;gap:16px}.account-security-dialog .dialog-content>label{margin:0}.account-security-dialog .section-help{margin:0}.account-security-dialog .flash{margin:0}
.header-actions{display:flex;align-items:center;gap:12px}.account-menu{position:relative}.account-menu-trigger{display:flex;align-items:center;gap:8px;border:0;background:transparent;color:var(--text);font:inherit;font-size:13px;font-weight:700;cursor:pointer;padding:6px}.account-avatar{display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:var(--blue);color:#fff;font-size:12px;font-weight:800;line-height:1}.account-menu-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-menu-trigger:focus-visible,.account-menu-panel a:focus-visible,.account-menu-action:focus-visible,.account-menu-signout:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px}.account-menu-panel{position:absolute;z-index:30;top:calc(100% + 7px);right:0;min-width:280px;padding:10px;border:1px solid var(--border);border-radius:12px;background:var(--surface);box-shadow:var(--shadow)}.account-menu-identity{display:grid;grid-template-columns:36px 1fr;align-items:center;gap:10px;padding:7px 8px 10px}.account-menu-identity .account-avatar{width:36px;height:36px}.account-menu-identity strong,.account-menu-identity span:last-child{display:block}.account-menu-identity strong{font-size:13px}.account-menu-identity span:last-child{margin-top:2px;color:var(--muted);font-size:12px;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-menu-panel a,.account-menu-disabled,.account-menu-signout{display:block;width:100%;box-sizing:border-box;border:0;background:transparent;color:var(--text);font:inherit;font-size:13px;text-align:left;text-decoration:none;padding:9px 11px;border-radius:8px}.account-menu-panel a,.account-menu-signout{cursor:pointer}.account-menu-panel a:hover,.account-menu-signout:hover{background:var(--surface-soft)}.account-menu-disabled{color:var(--muted);cursor:not-allowed;opacity:.58}.account-menu-signout{color:var(--red);font-weight:700}.account-menu-panel form{margin:0}.account-menu-divider{height:1px;margin:7px 3px;background:var(--border)}.auth-shell{max-width:560px;margin:72px auto;padding:0 24px}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:18px;padding:32px;box-shadow:var(--shadow)}.auth-brand{margin:0 0 18px}.auth-card h1{margin-top:0}.auth-card label{display:block;font-weight:700;margin:16px 0 6px}.auth-card input{width:100%;box-sizing:border-box;padding:12px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text);font:inherit}.auth-card form>p:last-child{margin:24px 0 0}.auth-card .notice{padding:12px;border-radius:8px;background:var(--blue-soft);margin:16px 0}.auth-card .error{padding:12px;border-radius:8px;background:var(--red-soft);color:var(--red);margin:16px 0}.auth-secondary-action{margin:16px 0 0}.auth-secondary-action .text-button{padding:0}.recovery-codes{font-family:monospace;line-height:1.8;background:var(--surface-soft);padding:14px;border-radius:8px}.account-security-dialog{width:min(560px,calc(100% - 28px))}.account-security-dialog .dialog-content{display:grid;gap:16px}.account-security-dialog .dialog-content>label{margin:0}.account-security-dialog .section-help{margin:0}.account-security-dialog .flash{margin:0}

.auth-page { min-height: 100vh; }
.auth-page .auth-shell { width: min(560px, calc(100% - 48px)); max-width: none; margin: clamp(24px, 4vh, 48px) auto 8px; padding: 0; }
.auth-page .auth-brand { margin: 0 0 16px; }
.auth-brand-divider { height: 1px; margin: 0 0 16px; background: var(--border); }
.auth-page .auth-card { padding-block: 24px; }
.auth-page .auth-card h1 { font-size: 25px; }
.auth-page .auth-card label { font-weight: 500; }

.auth-public-footer {
    display: flex;
    align-items: center;
    justify-content: center;
    padding: 26px 20px 34px;
    color: var(--muted);
    font-size: 12px;
    text-align: center;
}

.auth-public-footer .footer-brand strong { font-weight: 800; }

.brand-block {
    display: flex;
    align-items: center;
    gap: 13px;
}

.brand-mark {
    display: grid;
    place-items: center;
    width: 46px;
    height: 46px;
    border-radius: 13px;
    background: #202938;
    color: #fff;
    font-size: 16px;
    font-weight: 800;
}

:root[data-theme="dark"] .brand-mark {
    background: #fff;
    color: #111722;
}

@media (prefers-color-scheme: dark) {
    :root:not([data-theme="light"]) .brand-mark {
        background: #fff;
        color: #111722;
    }
}

.brand-name {
    font-size: 21px;
    font-weight: 800;
}

.brand-caption {
    margin-top: 3px;
    color: var(--muted);
    font-size: 13px;
}

.environment-badge,
.module-state {
    border-radius: 999px;
    font-weight: 700;
}

.environment-badge {
    padding: 9px 13px;
    background: var(--orange-soft);
    color: var(--orange);
    font-size: 13px;
}

.page-shell {
    width: min(1600px, calc(100% - 40px));
    margin: 0 auto;
    padding: 38px 0 48px;
}

.hero {
    display: grid;
    grid-template-columns: minmax(0, 1fr) auto;
    align-items: end;
    gap: 36px;
    padding: 34px;
    border: 1px solid var(--border);
    border-radius: 18px;
    background: linear-gradient(135deg, var(--hero-start) 0%, var(--hero-end) 100%);
    box-shadow: var(--shadow);
}

.eyebrow {
    margin: 0 0 11px;
    color: var(--blue);
    font-size: 12px;
    font-weight: 800;
    letter-spacing: 0.08em;
}

h1,
h2,
h3,
p {
    margin-top: 0;
}

h1 {
    max-width: 880px;
    margin-bottom: 14px;
    font-size: clamp(32px, 4vw, 52px);
    line-height: 1.08;
    letter-spacing: -0.035em;
}

.hero-copy {
    max-width: 820px;
    margin-bottom: 0;
    color: var(--muted);
    font-size: 17px;
    line-height: 1.55;
}

.foundation-status {
    display: flex;
    align-items: center;
    gap: 12px;
    min-width: 245px;
    padding: 16px;
    border: 1px solid var(--green);
    border-radius: 12px;
    background: var(--green-soft);
}

.status-dot {
    width: 12px;
    height: 12px;
    border-radius: 50%;
    background: var(--green);
    box-shadow: 0 0 0 6px rgba(25, 135, 84, 0.12);
}

.foundation-status strong,
.foundation-status span {
    display: block;
}

.foundation-status span {
    margin-top: 4px;
    color: var(--muted);
    font-size: 12px;
}

.safety-grid,
.module-grid {
    display: grid;
    gap: 18px;
}

.environment-note {
    margin: 14px 2px 0;
    color: var(--muted);
    font-size: 12px;
    text-align: right;
}

.safety-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
    margin-top: 22px;
}

.safety-grid article,
.module-card {
    border: 1px solid var(--border);
    background: var(--surface);
    box-shadow: 0 7px 20px rgba(31, 42, 55, 0.05);
}

.safety-grid article {
    min-height: 145px;
    padding: 22px;
    border-radius: 14px;
}

.safety-grid span,
.safety-grid strong,
.safety-grid small {
    display: block;
}

.safety-grid span {
    color: var(--muted);
    font-size: 12px;
    font-weight: 800;
    text-transform: uppercase;
}

.safety-grid strong {
    margin-top: 17px;
    font-size: 24px;
}

.safety-grid strong.safe {
    color: var(--green);
}

.safety-grid small {
    margin-top: 9px;
    color: var(--muted);
    line-height: 1.4;
}

.module-section {
    margin-top: 46px;
}

.section-heading {
    display: flex;
    align-items: end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 20px;
}

.section-heading h2 {
    margin-bottom: 0;
    font-size: 28px;
}

.health-link {
    padding: 10px 14px;
    border: 1px solid var(--border);
    border-radius: 9px;
    background: var(--surface);
    color: var(--blue);
    font-size: 13px;
    font-weight: 700;
    text-decoration: none;
}

.module-grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
}

.module-card {
    min-height: 210px;
    padding: 25px;
    border-top: 5px solid var(--border);
    border-radius: 14px;
}

.module-card.tone-blue { border-top-color: var(--blue); }
.module-card.tone-green { border-top-color: var(--green); }
.module-card.tone-red { border-top-color: var(--red); }
.module-card.tone-orange { border-top-color: var(--orange); }
.module-card.tone-purple { border-top-color: var(--purple); }
.module-card.tone-slate { border-top-color: #64748b; }

.module-card-header {
    display: flex;
    justify-content: flex-end;
}

.module-state {
    padding: 6px 9px;
    background: var(--surface-soft);
    color: var(--muted);
    font-size: 11px;
    text-transform: uppercase;
}

.module-card h3 {
    margin: 25px 0 10px;
    font-size: 21px;
}

.module-card p {
    margin-bottom: 0;
    color: var(--muted);
    line-height: 1.55;
}

.module-card-active {
    position: relative;
}

.module-link {
    display: inline-flex;
    margin-top: 22px;
    color: var(--blue);
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
}

.clients-shell {
    padding-top: 32px;
}

.page-heading-row {
    display: flex;
    align-items: flex-end;
    justify-content: space-between;
    gap: 24px;
    margin-bottom: 25px;
}

.page-heading-row h1 {
    margin-bottom: 7px;
    font-size: 40px;
}

.page-heading-row p:last-child {
    margin-bottom: 0;
    color: var(--muted);
}

.page-heading-actions {
    display: flex;
    align-items: center;
    gap: 10px;
}

.primary-button,
.secondary-button,
.danger-button,
.text-button {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-height: 40px;
    padding: 9px 14px;
    border-radius: 8px;
    font: inherit;
    font-size: 13px;
    font-weight: 800;
    text-decoration: none;
    cursor: pointer;
}

.primary-button {
    border: 1px solid var(--blue);
    background: var(--blue);
    color: #fff;
}

.secondary-button,
.danger-button {
    border: 1px solid var(--border);
    background: var(--surface);
    color: var(--text);
}

.danger-button {
    color: var(--red);
}

.text-button {
    color: var(--blue);
}

.client-summary-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 18px;
    margin-bottom: 20px;
}

.client-summary-grid article {
    min-height: 125px;
    padding: 21px;
    border: 1px solid var(--border);
    border-top: 5px solid #64748b;
    border-radius: 13px;
    background: var(--surface);
    box-shadow: 0 7px 20px rgba(31, 42, 55, 0.05);
}

.client-summary-grid article.summary-active { border-top-color: var(--green); }
.client-summary-grid article.summary-disabled { border-top-color: var(--red); }
.client-summary-grid span,
.client-summary-grid strong { display: block; }
.client-summary-grid span { color: var(--muted); font-size: 12px; font-weight: 800; text-transform: uppercase; }
.client-summary-grid strong { margin-top: 18px; font-size: 30px; }
.collector-rollout-card { display:flex; align-items:center; justify-content:space-between; gap:24px; margin:0 0 24px; padding:24px; border:1px solid var(--border); border-left:5px solid var(--muted); border-radius:16px; background:var(--surface); }
.collector-rollout-card.rollout-enabled { border-left-color:var(--green); }
.collector-rollout-card.rollout-paused { border-left-color:var(--red); }
.collector-rollout-card h2 { margin:4px 0 6px; }
.collector-rollout-card p { margin:0; color:var(--muted); }

.client-filter-bar,
.list-action-bar {
    display: flex;
    align-items: flex-end;
    gap: 12px;
    padding: 16px;
    border: 1px solid var(--border);
    background: var(--surface);
}

.table-pagination{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 18px;border:1px solid var(--border);border-top:0;border-radius:0 0 14px 14px;background:var(--surface);color:var(--muted);font-size:13px}.table-pagination-size,.table-pagination-pages{display:flex;align-items:center;gap:8px}.table-pagination-size a{padding:4px 7px;border-radius:6px;color:var(--muted);text-decoration:none}.table-pagination-size a.active-tab{background:var(--surface-soft);color:var(--text);font-weight:700}

.client-filter-bar {
    border-radius: 12px 12px 0 0;
}

.setup-tabs { display: flex; flex-wrap: wrap; gap: 10px; margin-bottom: 18px; }
.setup-tabs .active-tab { border-color: var(--blue); color: var(--blue); box-shadow: inset 0 -3px 0 var(--blue); }
.setup-check-row { margin-bottom: 12px; padding: 14px; border: 1px solid var(--border); border-radius: 10px; background: var(--surface-soft); }

.client-filter-bar label {
    display: flex;
    flex-direction: column;
    gap: 6px;
}

.client-filter-bar label > span,
.client-form label > span {
    color: var(--muted);
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.client-filter-bar .search-control {
    flex: 1;
}

.client-filter-bar label:not(.search-control) {
    flex: 0 0 170px;
}

.client-filter-bar input,
.client-filter-bar select,
.incident-actions input,
.incident-actions select,
.client-form input:not([type="checkbox"]),
.client-form select,
.client-form textarea {
    width: 100%;
    min-height: 40px;
    padding: 9px 11px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
    color: var(--text);
    font: inherit;
    font-size: 13px;
}

.client-filter-bar input,
.client-filter-bar select,
.incident-actions input,
.incident-actions select,
.client-form input:not([type="checkbox"]),
.client-form select {
    height: 46px;
    min-height: 46px;
}

.client-filter-bar select,
.incident-actions select,
.client-form select {
    -webkit-appearance: none;
    appearance: none;
    padding-right: 38px;
    background-image:
        linear-gradient(45deg, transparent 50%, var(--muted) 50%),
        linear-gradient(135deg, var(--muted) 50%, transparent 50%);
    background-position:
        calc(100% - 17px) calc(50% - 2px),
        calc(100% - 12px) calc(50% - 2px);
    background-repeat: no-repeat;
    background-size: 5px 5px, 5px 5px;
}

.client-form select.multi-select {
    height: 150px;
    padding: 8px;
    background-image: none;
}

.client-filter-bar input:focus,
.client-filter-bar select:focus,
.client-form input:focus,
.client-form select:focus,
.client-form textarea:focus {
    outline: 3px solid var(--focus-ring);
    border-color: var(--blue);
}

.list-action-bar {
    align-items: center;
    justify-content: space-between;
    border-top: 0;
    color: var(--muted);
    font-size: 13px;
}

.list-action-bar > div:last-child {
    display: flex;
    flex-wrap: wrap;
    gap: 8px;
}

.client-table-card {
    overflow-x: auto;
    border: 1px solid var(--border);
    border-top: 0;
    border-radius: 0 0 12px 12px;
    background: var(--surface);
    box-shadow: var(--shadow);
}

.client-table {
    width: 100%;
    min-width: 1180px;
    border-collapse: collapse;
}

.client-table th,
.client-table td {
    padding: 15px 14px;
    border-bottom: 1px solid var(--border);
    text-align: left;
    vertical-align: middle;
}

.client-table td {
    font-size: 13px;
    line-height: 1.35;
}

.client-table th {
    background: var(--surface-soft);
    color: var(--muted);
    font-size: 11px;
    text-transform: uppercase;
}

.client-table tbody tr:last-child td { border-bottom: 0; }
.clickable-row { cursor: pointer; transition: background 140ms ease; }
.clickable-row:hover,
.clickable-row:focus { outline: none; background: var(--row-hover); }
.clickable-row:focus-visible { outline: 3px solid var(--focus-ring); outline-offset: -3px; background: var(--row-hover); }
.row-disabled { opacity: 0.67; }
.select-column { width: 44px; text-align: center !important; }
.client-table td strong,
.client-table td span { display: block; }
.client-table td strong { font-size: 13px; }
.client-table td > span:not(.client-status):not(.criticality) { margin-top: 5px; color: var(--muted); font-size: 12px; }

.channel-pills { display: flex; gap: 5px; flex-wrap: wrap; }
.channel-pill,
.client-status,
.criticality {
    display: inline-flex !important;
    width: fit-content;
    padding: 5px 8px;
    border-radius: 999px;
    font-size: 11px;
    font-weight: 800;
}
.channel-pill { background: var(--blue-soft); color: var(--blue); }
.channel-pill.muted { background: var(--surface-soft); color: var(--muted); }
.client-mode { display: inline-flex; padding: 5px 9px; border-radius: 999px; background: var(--surface-soft); color: var(--muted); font-size: 10px; font-weight: 800; white-space: nowrap; }
.client-mode-live_notify { background: var(--green-soft); color: var(--green); }
.client-mode-live_silent { background: var(--blue-soft); color: var(--blue); }
.status-active { background: var(--green-soft); color: var(--green); }
.status-disabled { background: var(--red-soft); color: var(--red); }
.health-state-ok { background: var(--green-soft); color: var(--green); }
.health-state-warning,
.health-state-attention { background: var(--orange-soft); color: var(--orange); }
.health-state-critical { background: var(--red-soft); color: var(--red); }
.health-state-not_applicable { background: var(--surface-soft); color: var(--muted); }
.criticality-standard { background: var(--surface-soft); color: var(--muted); }
.criticality-high { background: var(--orange-soft); color: var(--orange); }
.criticality-critical { background: var(--red-soft); color: var(--red); }

.empty-state {
    padding: 55px !important;
    color: var(--muted);
    text-align: center !important;
}
.empty-state strong { color: var(--text); font-size: 17px !important; }
.empty-state span { margin-top: 8px; }

.flash {
    margin-bottom: 16px;
    padding: 13px 15px;
    border: 1px solid;
    border-radius: 9px;
    font-size: 13px;
    font-weight: 700;
}
.flash.success { border-color: var(--green); background: var(--green-soft); color: var(--green); }
.flash.error { border-color: var(--red); background: var(--red-soft); color: var(--red); }

.client-dialog {
    width: min(980px, calc(100% - 28px));
    max-height: calc(100vh - 28px);
    padding: 0;
    border: 1px solid var(--border);
    border-radius: 16px;
    background: var(--surface);
    color: var(--text);
    box-shadow: 0 24px 70px rgba(17, 24, 39, 0.32);
}
.client-dialog::backdrop { background: var(--backdrop); }
.account-security-dialog::backdrop { background: transparent; }
.client-form > header,
.client-form > footer { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 19px 22px; }
.dialog-actions { display: flex; flex-wrap: wrap; gap: 10px; }
.client-form > header { border-bottom: 1px solid var(--border); }
.client-form > header h2 { margin: 0; font-size: 25px; }
.client-form > footer { justify-content: flex-end; border-top: 1px solid var(--border); }
.dialog-close { display: grid; place-items: center; width: 40px; height: 40px; border: 1px solid var(--border); border-radius: 9px; color: var(--text); font-size: 25px; text-decoration: none; }
.dialog-content { max-height: calc(100vh - 180px); overflow-y: auto; padding: 23px; }
.dialog-content section + section { margin-top: 28px; padding-top: 25px; border-top: 1px solid var(--border); }
.dialog-content section h3 { margin-bottom: 16px; font-size: 17px; }
#collector-management-dialog .client-table{min-width:0;table-layout:fixed}#collector-management-dialog .client-table th,#collector-management-dialog .client-table td{overflow-wrap:anywhere;white-space:normal}#collector-management-dialog .dialog-content>section:nth-of-type(1) .client-table th{width:14%;white-space:nowrap}#collector-management-dialog .dialog-content>section:nth-of-type(1) .client-table td{width:36%}#collector-management-dialog .dialog-content>section:nth-of-type(2) .client-table th:nth-child(1){width:18%}#collector-management-dialog .dialog-content>section:nth-of-type(2) .client-table th:nth-child(2),#collector-management-dialog .dialog-content>section:nth-of-type(2) .client-table th:nth-child(3){width:28%}#collector-management-dialog .dialog-content>section:nth-of-type(2) .client-table th:nth-child(4){width:12%;white-space:nowrap}#collector-management-dialog .dialog-content>section:nth-of-type(2) .client-table th:nth-child(5){width:14%;white-space:nowrap}#collector-management-dialog .dialog-content>section:nth-of-type(4) .client-table th:nth-child(1){width:27%}#collector-management-dialog .dialog-content>section:nth-of-type(4) .client-table th:nth-child(2){width:24%}#collector-management-dialog .dialog-content>section:nth-of-type(4) .client-table th:nth-child(3){width:49%}
.section-help { color: var(--muted); font-size: 13px; }
.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; }
.client-form label { display: flex; flex-direction: column; gap: 6px; }
.client-form .form-grid + label { margin-top: 16px; }
.boolean-control,.client-form .boolean-control { display: flex; flex-direction: row; align-items: center; gap: 10px; padding: 12px; border: 1px solid var(--border); border-radius: 9px; background: var(--surface-soft); }
.boolean-control input[type="checkbox"],.boolean-control input[type="radio"],.client-form .boolean-control input[type="checkbox"],.client-form .boolean-control input[type="radio"] { width: 18px; height: 18px; min-height: 18px; margin: 0; accent-color: var(--blue); }
.boolean-control > span,.client-form .boolean-control > span { color: var(--text); font-size: 13px; font-weight: 700; text-transform: none; }
.inline-feedback { margin: 0 0 12px; }
.client-form label[hidden] { display: none !important; }
.selection-fieldset { display: grid; gap: 6px; min-width: 0; margin: 0; padding: 0; border: 0; }
.selection-fieldset legend,
.system-parameter > span { padding: 0; color: var(--muted); font-size: 11px; font-weight: 800; text-transform: uppercase; }
.selection-list { display: grid; gap: 7px; max-height: 220px; overflow: auto; padding: 8px; border: 1px solid var(--border); border-radius: 9px; background: var(--surface-soft); }
.selection-fieldset--scope .selection-list { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.selection-fieldset--permissions .selection-list { max-height: 280px; }
.selection-option { display: grid !important; grid-template-columns: 18px minmax(0, 1fr); align-items: center; gap: 10px !important; min-height: 42px; padding: 9px 10px; border: 1px solid transparent; border-radius: 8px; background: var(--surface); cursor: pointer; }
.selection-option:hover { border-color: var(--border); background: var(--row-hover); }
.selection-option input[type="checkbox"] { width: 18px !important; height: 18px !important; min-height: 18px !important; margin: 0; accent-color: var(--blue); }
.selection-option > span { color: var(--text) !important; font-size: 13px !important; font-weight: 700 !important; text-transform: none !important; }
.system-parameter { display: grid; align-content: center; gap: 5px; min-height: 46px; padding: 11px; border: 1px solid var(--border); border-radius: 8px; background: var(--surface-soft); }
.system-parameter strong { font-size: 13px; }
.system-parameter small { color: var(--muted); font-size: 12px; }
.service-account-summary { display: grid; grid-column: 1 / -1; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; padding: 2px 0; }
.service-account-summary .system-parameter { min-height: 0; padding: 0; border: 0; border-radius: 0; background: transparent; }
.service-account-summary .system-parameter + .system-parameter { padding-left: 16px; border-left: 1px solid var(--border); }
.client-form .selection-fieldset { margin-top: 16px; }
.client-form .form-grid > .selection-fieldset { margin-top: 0; }
.account-security-dialog { width: min(560px, calc(100% - 28px)); max-height: calc(100vh - 28px); }
.account-security-dialog .dialog-content { display: grid; gap: 16px; padding: 20px 22px; }
.account-security-dialog .dialog-content > label { margin: 0; }
.account-security-dialog .section-help { margin: 0; }
.account-security-dialog .client-form > footer { padding: 16px 22px; }
.account-menu-panel { left: 46px; right: auto; }
.account-menu-panel a,
.account-menu-action,
.account-menu-disabled,
.account-menu-signout { display: block; width: 100%; box-sizing: border-box; border: 0; background: transparent; color: var(--text); font: inherit; text-align: left; text-decoration: none; padding: 10px 11px; border-radius: 8px; }
.account-menu-action { cursor: pointer; }
.account-menu-action:hover { background: var(--surface-soft); }
.account-menu-action:focus-visible { outline: 3px solid var(--focus-ring); outline-offset: 2px; }
.account-menu-panel .account-menu-action,
.account-menu-panel .account-menu-disabled,
.account-menu-panel .account-menu-signout { font-size: 13px; }
#manage-user-dialog > header { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 19px 22px; border-bottom: 1px solid var(--border); }
#manage-user-dialog > header h2 { margin: 0; font-size: 25px; }
#manage-user-dialog > .dialog-content { max-height: calc(100vh - 180px); overflow-y: auto; padding: 23px; }
#manage-user-dialog > footer { display: flex; align-items: center; justify-content: flex-end; gap: 14px; padding: 19px 22px; border-top: 1px solid var(--border); }
@media (max-width: 700px) { .selection-fieldset--scope .selection-list { grid-template-columns: 1fr; } .service-account-summary { grid-template-columns: 1fr; gap: 12px; } .service-account-summary .system-parameter + .system-parameter { padding-top: 12px; padding-left: 0; border-top: 1px solid var(--border); border-left: 0; } .account-menu-panel { left: 0; } }
.provider-form-section { display: grid; gap: 18px; }
#provider-dialog{width:min(900px,calc(100% - 28px))}#provider-dialog .dialog-content{padding:20px 22px}#provider-dialog .provider-form-section{gap:14px}.provider-transport-panel{display:grid;gap:14px;padding:16px;border:1px solid var(--border);border-radius:11px;background:var(--surface-soft)}.provider-transport-panel[hidden]{display:none}.provider-option-row{display:grid;grid-template-columns:repeat(2,minmax(0,190px));gap:10px}.provider-option-row label{display:flex;flex-direction:row;align-items:center;gap:9px;padding:12px;border:1px solid var(--border);border-radius:9px;background:var(--surface)}.provider-option-row input[type="checkbox"]{width:18px!important;height:18px!important;min-height:18px!important;margin:0;accent-color:var(--blue)}.provider-option-row label>span{color:var(--text);font-size:13px;text-transform:none}.provider-test-dialog{max-width:700px}.provider-test-button{font-size:14px}
.provider-destinations{padding-top:16px;border-top:1px solid var(--border)}
.provider-destinations .subsection-heading{align-items:center;margin-bottom:12px}
.provider-destination-enabled{display:flex!important;align-items:center;align-self:end;flex-direction:row!important;gap:9px!important;min-height:44px;padding:10px 12px;border:1px solid var(--border);border-radius:9px;background:var(--surface)}
.provider-destination-enabled input[type="checkbox"]{width:18px!important;height:18px!important;min-height:18px!important;margin:0;accent-color:var(--blue)}
.provider-destination-enabled>span{font-size:13px;text-transform:none;color:var(--text)}
.provider-enable-control {
    display: grid !important;
    grid-template-columns: 20px minmax(0, 1fr);
    align-items: start;
    gap: 12px !important;
    padding: 15px 16px;
    border: 1px solid var(--border);
    border-radius: 10px;
    background: var(--surface-soft);
    cursor: pointer;
}
.provider-enable-control input {
    width: 18px;
    height: 18px;
    margin: 2px 0 0;
    accent-color: var(--blue);
}
.provider-enable-control > span { display: grid; gap: 4px; min-width: 0; }
.provider-enable-control strong { color: var(--text); font-size: 14px; }
.provider-enable-control small { color: var(--muted); font-weight: 500; line-height: 1.45; }
.subsection-heading,
.repeatable-card-heading {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 16px;
}
.subsection-heading { margin-bottom: 16px; }
.subsection-heading h3 { margin-bottom: 5px !important; }
.subsection-heading .section-help { margin-bottom: 0; }
.repeatable-list { display: grid; gap: 13px; }
.repeatable-card {
    padding: 16px;
    border: 1px solid var(--border);
    border-radius: 11px;
    background: var(--surface-soft);
}
.repeatable-card-heading { margin-bottom: 14px; }
.repeatable-card-heading strong { font-size: 13px; }
.repeatable-card-heading .text-button {
    min-height: 32px;
    padding: 5px 8px;
    color: var(--red);
}
.contact-grid,
.destination-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.destination-address { grid-column: span 2; }
.primary-choice { justify-content: flex-end; }
.radio-control {
    display: flex;
    align-items: center;
    min-height: 46px;
    gap: 9px;
    padding: 9px 11px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background: var(--surface);
    color: var(--text);
    font-size: 13px;
}
.radio-control input { width: 18px; min-height: 18px; margin: 0; }
.inline-empty-state {
    padding: 26px;
    border: 1px dashed var(--border);
    border-radius: 10px;
    color: var(--muted);
    text-align: center;
}
.inline-empty-state[hidden] { display: none; }
.channel-options { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.channel-options label { display: flex; flex-direction: row; align-items: center; gap: 9px; padding: 13px; border: 1px solid var(--border); border-radius: 9px; }
.channel-options input { width: 18px; min-height: 18px; }
.channel-options label > span { color: var(--text); font-size: 13px; text-transform: none; }

.theme-toggle {
    position: fixed;
    right: 22px;
    bottom: 22px;
    z-index: 1200;
    display: inline-flex;
    align-items: center;
    gap: 8px;
    min-height: 42px;
    padding: 9px 14px;
    border: 1px solid var(--border);
    border-radius: 999px;
    background: var(--surface);
    color: var(--text);
    box-shadow: var(--shadow);
    font: inherit;
    font-size: 13px;
    font-weight: 800;
    cursor: pointer;
}

.theme-toggle:hover,
.theme-toggle:focus-visible {
    border-color: var(--blue);
    outline: 3px solid var(--focus-ring);
}

.theme-toggle-icon {
    color: var(--blue);
    font-size: 17px;
}

.app-footer {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 10px;
    padding: 26px 20px 34px;
    color: var(--muted);
    font-size: 12px;
    text-align: center;
}

.footer-identity,
.footer-reference {
    display: flex;
    align-items: center;
    justify-content: center;
    flex-wrap: wrap;
    gap: 8px;
}

.footer-identity {
    color: var(--text);
    font-weight: 700;
}

.footer-reference {
    gap: 16px;
    color: var(--muted);
    font-size: 11px;
}

.footer-separator {
    width: 1px;
    height: 14px;
    margin: 0 4px;
    background: var(--muted);
    opacity: 0.55;
}

.footer-brand {
    display: inline-flex;
    align-items: center;
    gap: 5px;
}

.app-footer .footer-brand strong {
    font-weight: 800;
}

.noc-summary-grid {
    grid-template-columns: repeat(4, minmax(0, 1fr));
}

.summary-pending {
    border-top-color: var(--muted) !important;
}

.noc-refresh {
    color: var(--muted);
    font-size: 12px;
    font-weight: 700;
}

.noc-legend,
.noc-legend span,
.noc-state {
    display: inline-flex;
    align-items: center;
    gap: 7px;
}

.noc-state .state-dot {
    flex: 0 0 auto;
    margin-right: 2px;
}

.noc-state-unknown { background: var(--surface-soft); color: var(--muted); }

.noc-filter-bar label:not(.search-control) { flex-basis: 145px; }
.noc-incident-link {
    display: inline-flex;
    margin-top: 5px;
    color: var(--blue);
    font-size: 11px;
    font-weight: 800;
    text-decoration: none;
}
.noc-incident-link:hover,.noc-incident-link:focus-visible { text-decoration: underline; }

.availability-note {
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 18px;
    margin-bottom: 22px;
    padding: 13px 16px;
    border: 1px solid var(--border);
    border-top: 0;
    border-radius: 0 0 12px 12px;
    background: var(--surface-soft);
    color: var(--muted);
    font-size: 12px;
}
.availability-note strong { color: var(--text); }
.availability-summary { grid-template-columns: repeat(4,minmax(0,1fr)); margin-bottom: 30px; }
.availability-table-card { margin-bottom: 30px; overflow-x: auto; }
.availability-table { min-width: 1180px; }
.sla-state {
    display: inline-flex;
    align-items: center;
    padding: 6px 9px;
    border-radius: 999px;
    background: var(--surface-soft);
    color: var(--muted);
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}
.sla-state-met { background: var(--green-soft); color: var(--green); }
.sla-state-missed { background: var(--red-soft); color: var(--red); }
.sla-state-no_target { background: var(--orange-soft); color: var(--orange); }
.sla-state-excluded { background: var(--blue-soft); color: var(--blue); }
.performance-filter { display: grid; grid-template-columns: minmax(220px,.6fr) minmax(280px,1fr) auto auto; align-items: end; }
.performance-summary-grid { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 14px; margin: 18px 0 28px; }
.performance-summary-grid article { min-height: 145px; padding: 22px; border: 1px solid var(--border); border-top: 5px solid #64748b; border-radius: 12px; background: var(--surface); box-shadow: var(--shadow); }
.performance-summary-grid article.summary-active { border-top-color: var(--green); }
.performance-summary-grid article.summary-disabled { border-top-color: var(--red); }
.performance-summary-grid span,.performance-summary-grid strong,.performance-summary-grid small { display: block; }
.performance-summary-grid span { color: var(--muted); font-size: 11px; font-weight: 800; text-transform: uppercase; }
.performance-summary-grid strong { margin-top: 22px; font-size: 30px; }
.performance-summary-grid small { margin-top: 8px; color: var(--muted); font-size: 11px; }
.performance-table { min-width: 1220px; }
.performance-incident-table { min-width: 1280px; }
.performance-table-card + .subsection-heading { margin-top: 42px; }
.performance-table-card:last-of-type { margin-bottom: 30px; }
.performance-incident-table th:last-child,.performance-incident-table td:last-child { min-width: 110px; }
.assurance-tabs { margin: 18px 0; }
.availability-filters {
    display: flex;
    align-items: flex-end;
    gap: 12px;
    padding: 16px;
    border: 1px solid var(--border);
    border-radius: 12px 12px 0 0;
    background: var(--surface);
}
.availability-filters label { display: flex; flex: 1 1 170px; flex-direction: column; gap: 6px; }
.availability-filters label > span { color: var(--muted); font-size: 11px; font-weight: 800; text-transform: uppercase; }
.availability-filters select {
    -webkit-appearance: none;
    appearance: none;
    width: 100%;
    height: 46px;
    min-height: 46px;
    padding: 9px 34px 9px 11px;
    border: 1px solid var(--border);
    border-radius: 8px;
    background-color: var(--surface);
    background-image:
        linear-gradient(45deg, transparent 50%, var(--muted) 50%),
        linear-gradient(135deg, var(--muted) 50%, transparent 50%);
    background-position:
        calc(100% - 17px) calc(50% - 2px),
        calc(100% - 12px) calc(50% - 2px);
    background-repeat: no-repeat;
    background-size: 5px 5px, 5px 5px;
    color: var(--text);
    font: inherit;
    font-size: 13px;
}
.availability-filters select:focus { border-color: var(--blue); outline: 3px solid var(--focus-ring); }
.sla-compliance-summary { grid-template-columns: repeat(4,minmax(0,1fr)); }
.report-catalog { display: grid; grid-template-columns: repeat(5,minmax(0,1fr)); gap: 12px; margin: 18px 0; }
.report-workspace-card { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin: 26px 0 14px; padding: 20px; border: 1px solid var(--blue); border-radius: 12px; background: var(--surface); box-shadow: inset 0 -4px 0 var(--blue),var(--shadow); }
.report-workspace-card h2,.report-workspace-card p { margin: 4px 0; }
.report-workspace-card > div:first-child > p:last-child { color: var(--muted); }
.report-workspace-status { min-width: 130px; text-align: right; }
.report-workspace-status span,.report-workspace-status strong { display: block; }
.report-workspace-status span { color: var(--muted); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.report-workspace-status strong { margin-top: 5px; font-size: 28px; }
.report-card { min-height: 115px; padding: 16px; border: 1px solid var(--border); border-radius: 11px; background: var(--surface); color: var(--text); text-decoration: none; }
.report-card span,.report-card small { display: block; }
.report-card span { font-size: 13px; font-weight: 800; }
.report-card small { margin-top: 9px; color: var(--muted); font-size: 11px; line-height: 1.45; }
.report-card.active { border-color: var(--blue); box-shadow: inset 0 -4px 0 var(--blue); }
.report-filters { display: grid; grid-template-columns: minmax(220px,.6fr) minmax(280px,1fr) auto auto; align-items: end; }
.report-preview-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin: 34px 0 16px; }
.report-preview-heading h2 { margin: 4px 0 7px; }
.report-preview-heading p { margin: 0; color: var(--muted); }
.report-preview-heading > div:last-child { text-align: right; }
.report-preview-heading > div:last-child span,.report-preview-heading > div:last-child strong { display: block; }
.report-preview-heading > div:last-child span { color: var(--muted); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.report-preview-heading > div:last-child strong { margin-top: 6px; font-size: 12px; }
.report-metric-grid { display: grid; grid-template-columns: repeat(3,minmax(0,1fr)); gap: 14px; margin-bottom: 30px; }
.report-center-intro { display: flex; align-items: center; justify-content: space-between; gap: 24px; margin: 24px 0 18px; padding: 16px 18px; border: 1px solid var(--border); border-radius: 12px; background: var(--surface-soft); }
.report-center-intro span { max-width: 780px; color: var(--muted); line-height: 1.55; text-align: right; }
.report-center-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 18px; margin-bottom: 34px; }
.report-center-card { display: flex; min-height: 330px; padding: 24px; border: 1px solid var(--border); border-top: 5px solid #64748b; border-radius: 13px; background: var(--surface); box-shadow: var(--shadow); flex-direction: column; }
.report-center-card-active { border-top-color: var(--blue); }
.report-center-card-header { display: flex; align-items: center; justify-content: space-between; }
.report-center-card-header i { color: var(--muted); font-size: 12px; font-style: normal; font-weight: 800; }
.report-center-card h2 { margin: 20px 0 8px; }
.report-center-card p { margin: 0; color: var(--muted); line-height: 1.55; }
.report-center-card ul { margin: 18px 0 24px; padding-left: 18px; color: var(--muted); font-size: 12px; line-height: 1.8; }
.report-center-card .primary-button { align-self: flex-start; margin-top: auto; }
.report-center-note { display: block; margin-top: auto; padding: 11px 13px; border-radius: 9px; background: var(--surface-soft); color: var(--muted); font-size: 11px; line-height: 1.5; }
.reports-center-tabs { margin: 24px 0 30px; }
.report-center-section-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 20px; margin-bottom: 18px; }
.report-center-section-heading h2 { margin: 4px 0 7px; }
.report-center-section-heading p:last-child { margin: 0; color: var(--muted); }
.report-center-catalog { margin-top: 0; }
.report-option-card { display: flex; min-height: 155px; padding: 18px; border: 1px solid var(--border); border-radius: 11px; background: var(--surface); color: var(--text); text-decoration: none; flex-direction: column; transition: border-color .15s ease,transform .15s ease; }
.report-option-card:hover { border-color: var(--blue); transform: translateY(-2px); }
.report-option-card strong,.report-option-card span,.report-option-card small { display: block; }
.report-option-card strong { font-size: 14px; }
.report-option-card span { margin-top: 10px; color: var(--muted); font-size: 11px; line-height: 1.5; }
.report-option-card small { margin-top: auto; padding-top: 16px; color: var(--blue); font-size: 11px; font-weight: 800; }
.report-center-empty { min-height: 260px; padding: 32px; border: 1px solid var(--border); border-radius: 12px; background: var(--surface); box-shadow: var(--shadow); }
.report-center-empty .module-state { float: right; }
.report-center-empty h2 { margin: 6px 0 10px; }
.report-center-empty > p:not(.eyebrow) { max-width: 820px; color: var(--muted); line-height: 1.6; }
.report-center-empty small { display: block; margin-top: 24px; color: var(--muted); }
.report-selection-panel,.report-configuration-panel { overflow: hidden; margin-bottom: 18px; border: 1px solid var(--border); border-radius: 12px; background: var(--surface); box-shadow: var(--shadow); }
.report-selection-panel > header,.report-configuration-panel > header { display: flex; align-items: center; justify-content: space-between; gap: 20px; padding: 16px 20px; border-bottom: 1px solid var(--border); background: var(--surface-soft); }
.report-selection-panel h3,.report-configuration-panel h3 { margin: 0; }
.report-selection-panel > header span,.report-configuration-panel > header > span { color: var(--muted); font-size: 11px; font-weight: 800; text-transform: uppercase; }
.traditional-report-list { margin: 0; padding: 0; list-style: none; }
.traditional-report-list li + li { border-top: 1px solid var(--border); }
.traditional-report-list a { display: grid; grid-template-columns: 42px minmax(0,1fr) auto; align-items: center; gap: 14px; padding: 14px 20px; color: var(--text); text-decoration: none; }
.traditional-report-list a:hover,.traditional-report-list a.selected { background: var(--surface-soft); }
.traditional-report-list a.selected { box-shadow: inset 4px 0 0 var(--blue); }
.report-list-number { color: var(--muted); font-size: 11px; font-weight: 800; }
.traditional-report-list strong,.traditional-report-list small { display: block; }
.traditional-report-list small { margin-top: 4px; color: var(--muted); line-height: 1.4; }
.report-list-action { color: var(--blue); font-size: 11px; font-weight: 800; }
.report-configuration-panel > header .eyebrow { margin-bottom: 4px; }
.report-center-filters { display: grid; grid-template-columns: minmax(220px,.55fr) minmax(300px,1fr) auto; align-items: end; margin: 0; border: 0; border-radius: 0; box-shadow: none; }
.metrics-filters { flex-wrap: wrap; }
.metrics-filters label { flex: 1 1 150px; }
.metrics-filters label:nth-of-type(4),.metrics-filters label:nth-of-type(5) { flex-basis: 230px; }
.metrics-summary { grid-template-columns: repeat(4,minmax(0,1fr)); }
.metrics-section-heading { margin-top: 34px; }
.metrics-chart-grid { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 16px; margin-bottom: 34px; }
.metrics-chart-card { min-width: 0; padding: 20px; border: 1px solid var(--border); border-radius: 12px; background: var(--surface); box-shadow: var(--shadow); }
.metrics-chart-card header { display: flex; align-items: flex-start; justify-content: space-between; gap: 14px; margin-bottom: 18px; }
.metrics-chart-card header span,.metrics-chart-card header strong { display: block; }
.metrics-chart-card header span { color: var(--muted); font-size: 11px; font-weight: 800; text-transform: uppercase; }
.metrics-chart-card header strong { margin-top: 5px; font-size: 20px; }
.metrics-chart-card header small { color: var(--muted); text-align: right; }
.metric-bars { display: flex; align-items: flex-end; gap: 5px; height: 190px; padding: 14px 8px 0; border-bottom: 1px solid var(--border); background: repeating-linear-gradient(to top,transparent 0,transparent 46px,var(--border) 47px); }
.metric-bar-column { display: flex; flex: 1 1 0; align-items: center; flex-direction: column; justify-content: flex-end; min-width: 5px; height: 100%; }
.metric-bar-column i { width: min(18px,80%); height: var(--bar-height); min-height: 3px; border-radius: 4px 4px 0 0; background: var(--green); }
.metric-bar-column i.availability-bar.has-issues { background: var(--red); }
.metric-bar-column i.latency-bar { background: var(--blue); }
.metric-bar-column span { width: 34px; margin-top: 5px; overflow: hidden; color: var(--muted); font-size: 8px; text-align: center; white-space: nowrap; transform: rotate(-45deg); transform-origin: center; }
.chart-scale { display: flex; justify-content: space-between; margin-top: 14px; color: var(--muted); font-size: 10px; }
.state-distribution-card { margin-bottom: 34px; padding: 18px 20px; border: 1px solid var(--border); border-radius: 12px; background: var(--surface); }
.state-distribution-card header { display: flex; justify-content: space-between; gap: 18px; margin-bottom: 14px; }
.state-distribution-card header span,.state-distribution-card header strong { display: block; }
.state-distribution-card header span { color: var(--muted); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.state-distribution-card header strong { margin-top: 4px; }
.state-distribution-card header small { color: var(--muted); }
.state-distribution { display: flex; width: 100%; height: 18px; overflow: hidden; border-radius: 999px; background: var(--surface-soft); }
.state-distribution > i { display: block; min-width: 0; }
.state-ok { background: var(--green); }.state-warning { background: var(--orange); }.state-critical { background: var(--red); }.state-unknown { background: #64748b; }
.state-legend { display: flex; flex-wrap: wrap; gap: 16px; margin-top: 12px; color: var(--muted); font-size: 11px; }
.state-legend span { display: inline-flex; align-items: center; gap: 6px; }
.state-legend i { width: 8px; height: 8px; border-radius: 50%; }
.client-table-card + .subsection-heading { margin-top: 38px; }
.report-document-header { display: flex; justify-content: space-between; gap: 24px; margin: 30px 0 18px; padding: 18px; border: 1px solid var(--border); border-radius: 12px; background: var(--surface); }
.report-document-header h2,.report-document-header p { margin: 4px 0; }
.report-document-header > div:last-child { text-align: right; }
.report-document-header span,.report-document-header small,.report-document-header strong { display: block; }
.report-document-header span,.report-document-header small { color: var(--muted); }
.print-actions { display: flex; justify-content: flex-end; gap: 10px; margin: 24px 0; }

@media print {
    :root { color-scheme: light; }
    body { background: #fff !important; color: #111827 !important; }
    .app-header,.app-footer,.theme-toggle,.no-print,.assurance-tabs { display: none !important; }
    .page-shell { width: 100%; padding: 0; }
    .client-table-card,.report-document-header,.client-summary-grid article,.metrics-chart-card { break-inside: avoid; box-shadow: none; }
    .client-table-card { overflow: visible; }
    .client-table { min-width: 0 !important; font-size: 9pt; }
    a { color: inherit; text-decoration: none; }
}

/* Notification Center */
.notification-authority{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 28px;margin:0 0 24px;border:1px solid var(--border);border-left:6px solid var(--green);border-radius:18px;background:var(--surface)}
.notification-authority.authority-safe{border-left-color:var(--blue)}.notification-authority h2{margin:4px 0 6px}.notification-authority p{margin:0;color:var(--muted)}
.notification-authority-state{display:inline-flex;align-items:center;justify-content:center;min-width:112px;padding:12px 18px;border-radius:999px;background:var(--green-soft);color:var(--green);font-weight:800;letter-spacing:.06em}.authority-safe .notification-authority-state{background:var(--blue-soft);color:var(--blue)}
.notification-control-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:18px}.notification-control-grid article{display:flex;flex-direction:column;gap:7px;padding:20px;border:1px solid var(--border);border-top:5px solid var(--muted);border-radius:16px;background:var(--surface)}.notification-control-grid article.channel-ready{border-top-color:var(--green)}.notification-control-grid article.channel-pending{border-top-color:var(--orange)}.notification-control-grid article span,.notification-control-grid article small{color:var(--muted)}.notification-control-grid article strong{font-size:1.35rem}
.notification-global-controls{grid-template-columns:repeat(2,minmax(0,1fr))}.notification-global-controls article{min-height:0;padding:16px 18px}
.notification-routing-summary{grid-template-columns:repeat(4,minmax(0,1fr))}.notification-routing-filter{grid-template-columns:minmax(280px,1fr) auto auto}.notification-routing-table td:nth-child(6){max-width:360px}.notification-routing-table td:nth-child(6)>span{white-space:normal;line-height:1.5}.notification-routing-table td:last-child span+span{margin-top:6px;color:var(--muted)}
.notification-production-gate{display:flex;align-items:center;justify-content:space-between;gap:24px;margin-bottom:18px;padding:20px 22px;border:1px solid var(--border);border-left:5px solid var(--red);border-radius:16px;background:var(--surface)}.notification-production-gate.is-ready{border-left-color:var(--green)}.notification-production-gate h2{margin:4px 0}.notification-production-gate p:last-child{margin:0;color:var(--muted)}.notification-production-gate>span{padding:8px 12px;border-radius:999px;background:var(--surface-strong);font-weight:800;color:var(--red)}.notification-production-gate.is-ready>span{color:var(--green)}
@media(max-width:900px){.notification-routing-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.notification-routing-filter{grid-template-columns:1fr}.notification-routing-table td:nth-child(6){max-width:none}.notification-production-gate{align-items:flex-start}}
.notification-client-modes{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:18px 22px;margin-bottom:24px;border:1px solid var(--border);border-radius:16px;background:var(--surface)}.notification-client-modes>div{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.notification-client-modes>div:first-child{align-items:flex-start;flex-direction:column}.notification-client-modes span{color:var(--muted)}.notification-client-modes .client-mode{display:inline-flex;align-items:center;gap:6px;color:inherit}.notification-client-modes b{display:inline-block;font-size:1.08em}
@media(max-width:1050px){.notification-control-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.notification-client-modes{align-items:flex-start;flex-direction:column}}
@media(max-width:680px){.notification-control-grid{grid-template-columns:1fr}.notification-authority{align-items:flex-start;flex-direction:column}}
.inline-diagnostic-bar{display:grid;grid-template-columns:minmax(320px,1fr) auto minmax(260px,1fr);gap:16px;align-items:end;margin:0 0 22px;padding:18px 22px;border:1px solid var(--border);border-radius:12px;background:var(--surface);box-shadow:var(--shadow)}
.inline-diagnostic-bar label{display:grid;gap:7px}.inline-diagnostic-bar label>span{font-size:11px;font-weight:800;text-transform:uppercase;color:var(--muted)}.inline-diagnostic-bar small{align-self:center;color:var(--muted)}
.inline-diagnostic-bar select{width:100%;height:46px;min-height:46px;padding:9px 38px 9px 11px;border:1px solid var(--border);border-radius:8px;background-color:var(--surface);color:var(--text);font:inherit;font-size:13px;-webkit-appearance:none;appearance:none;background-image:linear-gradient(45deg,transparent 50%,var(--muted) 50%),linear-gradient(135deg,var(--muted) 50%,transparent 50%);background-position:calc(100% - 17px) calc(50% - 2px),calc(100% - 12px) calc(50% - 2px);background-repeat:no-repeat;background-size:5px 5px,5px 5px}.inline-diagnostic-bar select:focus{outline:3px solid var(--focus-ring);border-color:var(--blue)}
.endpoint-value{max-width:360px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.diagnostic-result{display:grid;grid-template-columns:minmax(260px,1fr) minmax(260px,1fr) auto;gap:24px;align-items:center;margin-bottom:18px;padding:22px;border:1px solid var(--border);border-left:5px solid var(--muted);border-radius:18px;background:var(--surface)}.diagnostic-result.diagnostic-ok{border-left-color:var(--green)}.diagnostic-result.diagnostic-warning{border-left-color:var(--orange)}.diagnostic-result.diagnostic-critical,.diagnostic-result.diagnostic-error{border-left-color:var(--red)}.diagnostic-result h2{margin:3px 0}.diagnostic-result p{margin:0}.diagnostic-outcome{display:grid;gap:5px;justify-items:start}
@media(max-width:900px){.inline-diagnostic-bar,.diagnostic-result{grid-template-columns:1fr}}
.notification-summary{grid-template-columns:repeat(5,minmax(0,1fr))}
.notification-filters{grid-template-columns:minmax(260px,2fr) minmax(180px,1fr) minmax(180px,1fr) auto auto}
.notification-safety{margin-bottom:22px}
.notification-state{display:inline-flex;align-items:center;border-radius:999px;padding:7px 12px;font-weight:800;font-size:.78rem;text-transform:uppercase;letter-spacing:.03em;background:var(--surface-soft);color:var(--muted)}
.notification-state-scheduled{background:var(--blue-soft);color:var(--blue)}.notification-state-simulated,.notification-state-delivered{background:var(--green-soft);color:var(--green)}.notification-state-blocked{background:var(--surface-soft);color:var(--muted)}.notification-state-cancelled{background:var(--orange-soft);color:var(--orange)}.notification-state-failed{background:var(--red-soft);color:var(--red)}
.notification-reason{display:block;min-width:220px;max-width:360px}.notification-legend{color:var(--muted-text);font-size:.9rem}.notification-table{min-width:1500px}
@media(max-width:1000px){.notification-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.notification-filters{grid-template-columns:1fr 1fr}}
/* Notification Providers */
.notification-center-tabs { margin-bottom: 24px; }
.module-section-heading { margin: 0 0 18px; }
.module-section-heading h2 { margin: 4px 0 6px; font-size: 25px; }
.module-section-heading p:last-child { margin: 0; color: var(--muted); }
.provider-guidance{display:flex;align-items:center;justify-content:space-between;gap:18px;margin-bottom:18px;padding:16px 20px;border:1px solid var(--border);border-left:5px solid var(--blue);border-radius:14px;background:var(--surface)}.provider-guidance span{color:var(--muted)}.provider-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin-bottom:28px}.provider-card{display:flex;flex-direction:column;justify-content:space-between;gap:18px;min-height:260px;padding:20px;border:1px solid var(--border);border-top:5px solid var(--orange);border-radius:16px;background:var(--surface)}.provider-card.provider-ready{border-top-color:var(--green)}.provider-card h2{margin:8px 0 5px}.provider-card p{margin:0;color:var(--muted)}.provider-state{display:inline-flex;padding:5px 9px;border-radius:999px;background:var(--orange-soft);color:var(--orange);font-size:.72rem;font-weight:800;text-transform:uppercase}.provider-ready .provider-state{background:var(--green-soft);color:var(--green)}.provider-card dl{display:grid;gap:8px;margin:0}.provider-card dl div{display:flex;justify-content:space-between;gap:15px}.provider-card dt{color:var(--muted)}.provider-card dd{margin:0;text-align:right;font-weight:700}.provider-roadmap{padding:22px;border:1px solid var(--border);border-radius:18px;background:var(--surface)}.provider-roadmap-list{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:10px}.provider-roadmap-list article{display:flex;flex-direction:column;gap:5px;padding:14px;border:1px solid var(--border);border-radius:12px;background:var(--background)}.provider-roadmap-list span{color:var(--muted);font-size:.82rem}.provider-roadmap-list b{margin-top:auto;color:var(--blue);font-size:.72rem;text-transform:uppercase}.voice-call-note{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:14px;padding:16px;border:1px solid var(--border);border-left:5px solid var(--purple);border-radius:12px}.voice-call-note>div{display:flex;flex-direction:column;gap:4px}.voice-call-note span{color:var(--muted)}.provider-inline-note{padding:16px;border:1px solid var(--border);border-radius:12px;background:var(--background);color:var(--muted)}@media(max-width:1100px){.provider-grid{grid-template-columns:1fr 1fr}.provider-roadmap-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.provider-guidance,.voice-call-note{align-items:flex-start;flex-direction:column}.provider-grid,.provider-roadmap-list{grid-template-columns:1fr}}
.report-metric-grid article { min-height: 125px; padding: 20px; border: 1px solid var(--border); border-top: 5px solid #64748b; border-radius: 12px; background: var(--surface); }
.report-metric-grid span,.report-metric-grid strong { display: block; }
.report-metric-grid span { color: var(--muted); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.report-metric-grid strong { margin-top: 20px; font-size: 25px; }
.report-table-card { margin-bottom: 30px; }

.wallboard-shell { max-width: 1900px; }
.wallboard-navigation-row { display: flex; align-items: center; justify-content: space-between; gap: 18px; }
.wallboard-navigation-row .setup-tabs { margin-bottom: 18px; }
.wallboard-display-actions { display: flex; align-items: center; gap: 12px; margin-bottom: 18px; }
.wallboard-filters { display: grid; grid-template-columns: minmax(280px,1fr) repeat(5,minmax(130px,180px)) auto auto auto; }
.wallboard-filters .wallboard-issues { white-space: nowrap; }
.wallboard-summary { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; padding: 12px 17px; border: 1px solid var(--border); border-top: 0; background: var(--surface-soft); color: var(--muted); font-size: 13px; }
.wallboard-summary strong { margin-right: 4px; color: var(--text); font-size: 18px; }
.wallboard-summary .wallboard-ok strong { color: var(--green); }
.wallboard-summary .wallboard-issue strong { color: var(--red); }
.wallboard-clock { margin-left: auto; font-weight: 800; }
.wallboard-table-card { overflow-x: auto; border-radius: 0 0 12px 12px; }
.wallboard-table { min-width: 1250px; }
.wallboard-table th { font-size: 11px; }
.wallboard-table td { position: relative; padding-top: 15px; padding-bottom: 15px; font-size: 14px; }
.wallboard-row td:first-child { border-left: 4px solid var(--muted); }
.wallboard-row-ok td:first-child { border-left-color: var(--green); }
.wallboard-row-warning td:first-child { border-left-color: var(--orange); }
.wallboard-row-critical td:first-child,.wallboard-row-error td:first-child { border-left-color: var(--red); }
.wallboard-row-maintenance td:first-child { border-left-color: var(--blue); }

:fullscreen .app-header,
:fullscreen .app-footer,
:fullscreen .theme-toggle { display: none; }
:fullscreen .wallboard-shell { width: calc(100% - 24px); padding-top: 12px; }

@media (max-width: 1100px) {
    .wallboard-filters { grid-template-columns: minmax(260px,1fr) 1fr 1fr; }
    .wallboard-navigation-row { align-items: flex-start; flex-direction: column; }
    .wallboard-display-actions { margin-top: -10px; }
}

.noc-legend {
    color: var(--muted);
    font-size: 12px;
}

.state-dot {
    display: inline-block;
    width: 8px;
    height: 8px;
    border-radius: 50%;
}

.state-pending {
    background: var(--muted);
}

.state-maintenance {
    background: var(--blue);
}

.state-suppressed {
    background: var(--purple);
}

.state-ok { background: var(--green); }
.state-warning { background: var(--orange); }
.state-critical,
.state-error { background: var(--red); }
.state-unknown { background: var(--muted); }

.noc-state {
    padding: 6px 9px;
    border-radius: 999px;
    background: var(--surface-soft);
    color: var(--muted);
    font-size: 11px;
    font-weight: 800;
    text-transform: uppercase;
}

.noc-state-maintenance {
    background: var(--blue-soft);
    color: var(--blue);
}

.noc-state-ok { background: var(--green-soft); color: var(--green); }
.noc-state-warning { background: var(--orange-soft); color: var(--orange); }
.noc-state-critical,
.noc-state-error { background: var(--red-soft); color: var(--red); }

.noc-marker-suppressed {
    display: inline-flex;
    margin-top: 5px;
    color: var(--purple);
    font-size: 10px;
    font-weight: 800;
    text-transform: uppercase;
}

.noc-table-card {
    overflow-x: auto;
}

.noc-table {
    min-width: 1120px;
}

.operational-semantics {
    display: flex;
    align-items: center;
    gap: 14px;
    margin-bottom: 18px;
    padding: 15px 17px;
    border: 1px solid var(--border);
    border-left: 4px solid var(--orange);
    border-radius: 10px;
    background: var(--surface);
    color: var(--muted);
    font-size: 13px;
    line-height: 1.45;
}

.operational-semantics strong {
    flex: 0 0 auto;
    color: var(--text);
}

.semantics-suppression {
    border-left-color: var(--purple);
}

.maintenance-table {
    min-width: 1180px;
}

.execution-table { min-width: 1080px; }
.execution-outcomes { display: inline-flex !important; flex-wrap: wrap; gap: 8px; }
.execution-outcomes .safe { color: var(--green); }
.danger-text { color: var(--red); }

.incident-table { min-width: 1120px; }
.incident-status-open { background: var(--red-soft); color: var(--red); }
.incident-status-acknowledged { background: var(--orange-soft); color: var(--orange); }
.incident-status-resolved { background: var(--green-soft); color: var(--green); }
.incident-detail > header,
.incident-detail > footer { display: flex; align-items: center; justify-content: space-between; gap: 14px; padding: 19px 22px; }
.incident-detail > header { border-bottom: 1px solid var(--border); }
.incident-detail > header h2 { margin: 0 0 5px; font-size: 25px; }
.incident-detail > header p:last-child { margin: 0; color: var(--muted); font-size: 12px; }
.incident-detail > footer { justify-content: flex-end; border-top: 1px solid var(--border); }
.incident-overview { display: grid; grid-template-columns: repeat(4,minmax(0,1fr)); gap: 12px; }
.incident-overview div { padding: 14px; border: 1px solid var(--border); border-radius: 9px; background: var(--surface-soft); }
.incident-overview span,.incident-overview strong { display: block; }
.incident-overview span { color: var(--muted); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.incident-overview strong { margin-top: 7px; font-size: 13px; }
.incident-actions { display: grid; gap: 12px; }
.incident-actions form { margin: 0; }
.inline-action-form { display: grid; grid-template-columns: minmax(0,1fr) auto; align-items: end; gap: 10px; }
.incident-resolution-form { display: grid; grid-template-columns: minmax(180px,.65fr) minmax(0,1.35fr) auto; align-items: end; gap: 10px; }
.incident-resolution-form label { min-width: 0; }
.incident-resolution-form select { width: 100%; min-height: 44px; padding: 10px 12px; border: 1px solid var(--border); border-radius: 9px; background: var(--surface); color: var(--text); font: inherit; }
.incident-action-buttons { display: flex; flex-wrap: wrap; gap: 8px; }
.incident-resolution-record { padding: 12px 14px; border: 1px solid var(--green); border-radius: 9px; background: var(--green-soft); }
.incident-resolution-record span,.incident-resolution-record strong { display: block; }
.incident-resolution-record span { color: var(--muted); font-size: 10px; font-weight: 800; text-transform: uppercase; }
.incident-resolution-record strong { margin-top: 5px; font-size: 13px; }
.incident-event-list { display: grid; gap: 9px; }
.incident-event-list article { display: flex; justify-content: space-between; gap: 18px; padding: 13px; border: 1px solid var(--border); border-radius: 9px; background: var(--surface-soft); }
.incident-event-list strong,.incident-event-list span { display: block; }
.incident-event-list span { margin-top: 5px; color: var(--muted); font-size: 11px; }
.incident-event-list article > div:last-child { flex: 0 0 auto; text-align: right; }
.incident-note-form { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 10px; margin-bottom: 18px; }
.incident-timeline { display: grid; gap: 0; }
.incident-timeline article { display: grid; grid-template-columns: 12px minmax(0,1fr); gap: 12px; padding-bottom: 18px; }
.incident-timeline i { width: 9px; height: 9px; margin-top: 4px; border-radius: 50%; background: var(--blue); box-shadow: 0 0 0 4px var(--blue-soft); }
.incident-timeline .timeline-resolved i { background: var(--green); box-shadow: 0 0 0 4px var(--green-soft); }
.incident-timeline .timeline-reopened i { background: var(--red); box-shadow: 0 0 0 4px var(--red-soft); }
.incident-timeline p { margin: 5px 0; color: var(--text); font-size: 13px; }
.incident-timeline span { color: var(--muted); font-size: 11px; }

.schedule-days {
    display: flex;
    flex-wrap: wrap;
    gap: 9px;
    margin-top: 18px;
}

.schedule-days label {
    display: inline-flex;
    flex-direction: row;
    align-items: center;
    gap: 7px;
    padding: 9px 12px;
    border: 1px solid var(--border);
    border-radius: 9px;
    background: var(--surface-soft);
}

.schedule-days input {
    width: 16px;
    min-height: 16px;
}

.schedule-days label > span {
    color: var(--text);
    font-size: 12px;
    text-transform: none;
}

.status-cancelled {
    background: var(--red-soft);
    color: var(--red);
}

@media (max-width: 620px) {
    .footer-identity .footer-brand {
        flex-basis: 100%;
    }

    .footer-reference {
        gap: 8px 14px;
    }

    .operational-semantics {
        align-items: flex-start;
        flex-direction: column;
        gap: 5px;
    }

    .incident-overview { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .inline-action-form,.incident-note-form,.incident-resolution-form { grid-template-columns: 1fr; }
    .incident-event-list article { flex-direction: column; }
    .incident-event-list article > div:last-child { text-align: left; }
}

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

    .safety-grid,
    .module-grid,
    .client-summary-grid,
    .noc-summary-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }

    .channel-options { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .performance-summary-grid { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .performance-filter { grid-template-columns: 1fr 1fr auto auto; }
    .report-catalog { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .report-center-grid { grid-template-columns: 1fr; }
    .report-center-filters { grid-template-columns: repeat(2,minmax(0,1fr)); }
    .report-filters { grid-template-columns: 1fr 1fr auto auto; }
    .metrics-chart-grid { grid-template-columns: 1fr; }
    .contact-grid,
    .destination-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 820px) {
    .client-filter-bar,
    .availability-filters {
        align-items: stretch;
        flex-wrap: wrap;
    }

    .client-filter-bar .search-control {
        flex: 1 0 100%;
    }

    .client-filter-bar label:not(.search-control) {
        flex: 1 1 180px;
    }

    .availability-filters label { flex: 1 1 180px; }

    .client-dialog {
        width: min(100% - 20px, 980px);
        max-height: calc(100vh - 20px);
    }

    .subsection-heading { align-items: flex-start; }
}

@media (max-width: 620px) {
    .table-pagination { align-items: stretch; flex-direction: column; }
    .table-pagination-size,.table-pagination-pages { flex-wrap: wrap; }
    .app-header {
        padding: 14px 18px;
    }

    .brand-caption {
        display: none;
    }

    .auth-brand .brand-caption {
        display: block;
    }

    .header-actions { gap: 6px; }
    .account-menu-trigger { max-width:160px; }
    .account-menu-name { max-width:112px; }
    .account-menu-panel { min-width:min(280px,calc(100vw - 36px)); }

    .page-shell {
        width: min(100% - 24px, 1600px);
        padding-top: 20px;
    }

    .hero {
        padding: 24px;
    }

    .safety-grid,
    .module-grid {
        grid-template-columns: 1fr;
    }

    .section-heading {
        align-items: flex-start;
        flex-direction: column;
    }

    .page-heading-row,
    .client-filter-bar,
    .availability-filters,
    .list-action-bar { align-items: stretch; flex-direction: column; }
    .performance-summary-grid,.performance-filter { grid-template-columns: 1fr; }
    .sla-compliance-summary,.report-catalog,.report-filters,.report-metric-grid { grid-template-columns: 1fr; }
    .report-center-filters { grid-template-columns: 1fr; }
    .traditional-report-list a { grid-template-columns: 32px minmax(0,1fr); }
    .report-list-action { display: none; }
    .report-center-intro { align-items: flex-start; flex-direction: column; }
    .report-center-intro span { text-align: left; }
    .report-preview-heading { align-items: flex-start; flex-direction: column; }
    .report-preview-heading > div:last-child { text-align: left; }
    .client-summary-grid,
    .form-grid,
    .contact-grid,
    .destination-grid,
    .channel-options { grid-template-columns: 1fr; }
    .destination-address { grid-column: auto; }
    .subsection-heading { align-items: stretch; flex-direction: column; }
    .subsection-heading .secondary-button { width: 100%; }
    .list-action-bar > div:last-child { flex-wrap: wrap; }
    .page-heading-actions { width: 100%; }
    .page-heading-actions > * { flex: 1; }
    .theme-toggle { right: 12px; bottom: 12px; }
    .theme-toggle #theme-toggle-label { display: none; }
    .theme-toggle { width: 44px; padding: 0; justify-content: center; }
    .availability-note { align-items: flex-start; flex-direction: column; }
}
