:root {
  color-scheme:light;
  --navy:#19345b;
  --navy-hover:#274f86;
  --page:#f5f7fb;
  --paper:#fff;
  --soft:#f6f8fb;
  --ink:#19253a;
  --muted:#65738a;
  --line:#dfe6ef;
  --positive:#28634d;
  --positive-bg:#eef7f1;
  --positive-line:#d1e7d9;
  --warning:#9a4d32;
  --warning-bg:#fff1ea;
  --warning-line:#edd7c9;
  --danger:#9d392c;
  --danger-bg:#fff1ee;
  --focus:#5388c4;
  --font-ui:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
/* Soften the page behind native popups without filtering their contents. */
dialog::backdrop { -webkit-backdrop-filter:blur(3px); backdrop-filter:blur(3px); }
* { box-sizing:border-box; }
html { min-height:100%; background:var(--page); }
body { margin:0; color:var(--ink); background:var(--page); font:14px/1.5 var(--font-ui); }
button,input,textarea { font:inherit; }
button { cursor:pointer; }
button:disabled { cursor:default; opacity:.48; }
button,a,input { -webkit-tap-highlight-color:transparent; }
a { color:var(--navy-hover); }
[hidden] { display:none !important; }
button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible { outline:3px solid var(--focus); outline-offset:3px; }
h1,h2,h3,p { margin:0; }
h1 { color:var(--navy); font-size:30px; font-weight:780; letter-spacing:-.8px; line-height:1.25; }
h2 { color:var(--navy); font-size:17px; letter-spacing:-.25px; }
h3 { color:var(--navy); font-size:14px; }
.skip-link { position:absolute; left:-9999px; z-index:30; }
.skip-link:focus { left:12px; top:12px; padding:10px 14px; color:#fff; background:var(--navy); border-radius:8px; }
.console-shell { display:flex; min-height:100vh; min-height:100dvh; }
.console-sidebar { position:sticky; top:0; display:flex; flex:none; flex-direction:column; width:245px; height:100vh; height:100dvh; padding:29px 17px 23px; color:#d5e0f0; background:#19345b; overflow-y:auto; }
.console-brand { display:flex; align-items:baseline; gap:10px; padding:0 12px; color:#fff; text-decoration:none; }
.brand-wordmark { color:#fff; font:650 30px/1 Georgia,"Times New Roman",serif; letter-spacing:-.04em; }
.brand-admin { color:#c6d7ed; font-size:11px; font-weight:800; letter-spacing:.06em; text-transform:uppercase; }
.environment-tag { align-self:flex-start; margin:17px 9px 29px; padding:7px 9px; color:#f2dbae; background:#ffffff0d; border:1px solid #ffffff29; border-radius:7px; font-size:10px; font-weight:650; line-height:1.5; }
.console-nav { display:grid; gap:6px; }
.console-nav button { display:flex; align-items:center; gap:12px; min-height:45px; padding:11px 12px; color:#cfdbed; background:transparent; border:1px solid transparent; border-radius:8px; text-align:left; font-size:13px; font-weight:650; }
.console-nav button:not(:disabled):hover { color:#fff; background:#ffffff10; }
.console-nav button[aria-current="page"] { color:#fff; background:#ffffff19; border-color:#ffffff10; }
.console-nav svg { width:18px; height:18px; flex:none; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.nav-update-count { display:inline-flex; align-items:center; justify-content:center; flex:none; min-width:23px; min-height:23px; margin-left:auto; padding:2px 6px; color:#19345b; background:#e7eef9; border:1px solid #ffffff40; border-radius:999px; font-size:10px; font-weight:750; line-height:1; font-variant-numeric:tabular-nums; white-space:nowrap; }
.notice-updates { margin-bottom:21px; padding:18px 20px; color:var(--ink); background:var(--paper); border:1px solid var(--line); border-radius:10px; }
.notice-updates-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; }
.notice-updates-heading h2 { font-size:15px; font-weight:650; }
.notice-updates-heading p,.notice-updates-status { margin-top:5px; color:var(--muted); font-size:11px; line-height:1.6; }
.notice-updates-heading .button { flex:none; }
.notice-updates-status[data-state="error"] { color:var(--danger); }
.notice-updates-list { display:grid; gap:0; margin:12px 0 0; padding:0; list-style:none; }
.notice-updates-list li { display:flex; align-items:flex-start; justify-content:space-between; gap:15px; padding:10px 0; border-top:1px solid var(--line); }
.notice-updates-list li:last-child { padding-bottom:0; }
.notice-updates-list small { flex:none; color:var(--muted); font-size:10px; }
.sidebar-footer { margin-top:auto; padding:35px 12px 0; }
.sidebar-footer p { color:#adbfda; font-size:11px; line-height:1.65; }
.back-link { display:inline-block; margin-top:17px; color:#edf3fc; font-size:12px; font-weight:650; text-decoration:none; }
.back-link:hover { text-decoration:underline; }
.console-body { min-width:0; flex:1; }
.console-topbar { display:flex; align-items:center; justify-content:space-between; gap:20px; min-height:80px; padding:17px 38px; background:var(--paper); border-bottom:1px solid var(--line); }
.topbar-label { display:flex; align-items:center; gap:8px; color:var(--muted); font-size:12px; font-weight:650; }
.restricted-dot { width:7px; height:7px; flex:none; background:#e4ad42; border-radius:50%; }
.topbar-actions { display:flex; align-items:center; gap:9px; }
.viewer-identity { max-width:260px; margin-right:5px; overflow:hidden; color:var(--muted); font-size:11px; text-overflow:ellipsis; white-space:nowrap; }
.button { display:inline-flex; align-items:center; justify-content:center; min-height:37px; padding:8px 13px; border:1px solid transparent; border-radius:7px; font-size:12px; font-weight:700; line-height:1.4; text-decoration:none; transition:background .12s ease; }
.button-primary { color:#fff; background:#19345b; }
.button-primary:not(:disabled):hover { background:#274f86; }
.button-secondary { color:var(--navy); background:var(--soft); border-color:var(--line); }
.button-outline { color:var(--muted); background:var(--paper); border-color:var(--line); }
.button-secondary:not(:disabled):hover,.button-outline:not(:disabled):hover { color:var(--navy); background:var(--soft); border-color:#aebfd4; }
.button-danger { color:var(--danger); background:var(--danger-bg); border-color:var(--warning-line); }
.button-danger:not(:disabled):hover { background:var(--warning-bg); }
.icon-button { display:grid; width:36px; height:36px; place-items:center; padding:8px; color:var(--muted); background:transparent; border:1px solid transparent; border-radius:7px; }
.icon-button:hover { color:var(--navy); background:var(--soft); }
.icon-button svg { width:18px; height:18px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
#console-main { max-width:1540px; min-height:calc(100vh - 80px); min-height:calc(100dvh - 80px); margin:0 auto; padding:34px 38px 20px; outline:none; }
.page-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:20px; margin-bottom:25px; }
.eyebrow { margin:0 0 7px; color:var(--muted); font-size:10px; font-weight:800; letter-spacing:.13em; }
.page-heading p:not(.eyebrow) { margin-top:7px; color:var(--muted); font-size:13px; line-height:1.6; }
.updated-label { margin-top:25px; color:var(--muted); font-size:10px; white-space:nowrap; }
.console-content { display:grid; gap:21px; }
.summary-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; margin:0; }
.metric { min-width:0; padding:18px 20px; background:var(--paper); border:1px solid var(--line); border-radius:11px; }
.metric dt { margin:0; color:var(--muted); font-size:11px; font-weight:650; }
.metric dd { margin:7px 0 0; color:var(--navy); font-size:29px; font-weight:800; letter-spacing:-.8px; line-height:1.1; overflow-wrap:anywhere; }
.metric small { display:block; margin-top:8px; color:var(--muted); font-size:10px; line-height:1.5; }
.metric[data-tone="warning"] dd { color:var(--warning); }
.panel { min-width:0; padding:23px; background:var(--paper); border:1px solid var(--line); border-radius:12px; }
.panel-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:15px; margin-bottom:20px; }
.panel-heading p { margin-top:5px; color:var(--muted); font-size:11px; line-height:1.6; }
.panel-heading .button { flex:none; font-size:11px; }
.two-column { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:21px; }
.usage-grid { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:15px; margin:0; }
.usage-grid .metric { padding:0; background:transparent; border:0; border-radius:0; }
.usage-grid .metric dd { font-size:24px; }
.usage-grid-six { grid-template-columns:repeat(3,minmax(0,1fr)); gap:23px; }
.notice { display:flex; align-items:flex-start; gap:12px; padding:15px 18px; color:var(--muted); background:var(--paper); border:1px solid var(--line); border-left:3px solid #e4ad42; border-radius:9px; font-size:12px; line-height:1.6; }
.notice strong { color:var(--ink); }
.notice[data-tone="warning"] { color:var(--warning); background:var(--warning-bg); border-color:var(--warning-line); border-left-color:#d39a53; }
.text-link { padding:0; color:var(--navy-hover); background:none; border:0; font-size:11px; font-weight:750; text-align:left; text-decoration:none; }
.text-link:hover { text-decoration:underline; }
.simple-list { display:grid; gap:0; margin:0; padding:0; list-style:none; }
.simple-list li { display:flex; align-items:flex-start; justify-content:space-between; gap:15px; min-width:0; padding:14px 0; border-top:1px solid var(--line); }
.simple-list li:first-child { padding-top:0; border-top:0; }
.simple-list li:last-child { padding-bottom:0; }
.row-details { display:grid; min-width:0; gap:4px; }
.row-details strong { font-size:12px; font-weight:700; overflow-wrap:anywhere; }
.row-details span,.row-details small { color:var(--muted); font-size:11px; line-height:1.5; overflow-wrap:anywhere; }
.badge { display:inline-flex; flex:none; align-self:flex-start; align-items:center; padding:4px 7px; color:var(--muted); background:var(--soft); border:1px solid var(--line); border-radius:6px; font-size:10px; font-weight:700; line-height:1.4; white-space:nowrap; }
.badge-positive { color:var(--positive); background:var(--positive-bg); border-color:var(--positive-line); }
.badge-warning { color:var(--warning); background:var(--warning-bg); border-color:var(--warning-line); }
.empty { padding:24px 16px; color:var(--muted); background:var(--soft); border:1px dashed var(--line); border-radius:8px; text-align:center; font-size:12px; }
.loading-state { display:grid; place-items:center; gap:12px; min-height:280px; color:var(--muted); background:var(--paper); border:1px solid var(--line); border-radius:12px; font-size:13px; }
.loading-state::before { width:24px; height:24px; content:""; border:2px solid var(--line); border-top-color:#5388c4; border-radius:50%; animation:spin .7s linear infinite; }
@keyframes spin { to { transform:rotate(360deg); } }
.search-toolbar { display:flex; align-items:flex-end; gap:9px; margin-bottom:21px; padding:16px 19px; background:var(--paper); border:1px solid var(--line); border-radius:10px; }
.search-toolbar label { display:grid; flex:1; gap:6px; color:var(--muted); font-size:11px; font-weight:700; }
.search-toolbar input { width:100%; min-width:0; min-height:39px; padding:9px 12px; color:var(--ink); background:var(--paper); border:1px solid #bdccdf; border-radius:7px; font-size:13px; font-weight:500; }
.search-toolbar .button { min-height:39px; }
.table-panel { padding:23px 0 0; overflow:hidden; }
.table-panel .panel-heading { padding:0 23px; }
.table-scroll { width:100%; overflow-x:auto; -webkit-overflow-scrolling:touch; }
.directory-table { width:100%; border-collapse:collapse; font-size:12px; }
.directory-table thead { background:var(--soft); }
.directory-table th { padding:11px 17px; color:var(--muted); border-top:1px solid var(--line); border-bottom:1px solid var(--line); text-align:left; font-size:10px; font-weight:750; white-space:nowrap; }
.directory-table th:first-child,.directory-table td:first-child { padding-left:23px; }
.directory-table th:last-child,.directory-table td:last-child { padding-right:23px; }
.directory-table td { padding:18px 17px; border-bottom:1px solid var(--line); vertical-align:top; }
.directory-table tr:last-child td { border-bottom:0; }
.directory-table .row-details { min-width:150px; }
.directory-table .customer-identity { min-width:185px; }
.cell-secondary { display:block; margin-top:4px; color:var(--muted); font-size:10px; overflow-wrap:anywhere; }
.cell-date { color:var(--muted); font-size:11px; white-space:nowrap; }
.support-actions { display:flex; align-items:flex-start; flex-wrap:wrap; gap:6px; min-width:230px; }
.support-actions .button { min-height:32px; padding:6px 9px; font-size:10px; white-space:nowrap; }
.protected-label { display:block; margin-top:5px; color:var(--muted); font-size:9px; }
.table-empty { margin:0 23px 23px; }
.pagination { display:flex; align-items:center; justify-content:space-between; gap:14px; }
.pagination p { color:var(--muted); font-size:11px; }
.pagination-actions { display:flex; align-items:center; gap:10px; }
.pagination-actions span { color:var(--muted); font-size:11px; white-space:nowrap; }
.billing-intro { display:flex; align-items:center; justify-content:space-between; gap:28px; padding:26px; background:var(--positive-bg); border:1px solid var(--positive-line); border-radius:12px; }
.billing-intro h2 { color:var(--positive); font-size:24px; letter-spacing:-.5px; }
.billing-intro p { max-width:650px; margin-top:8px; color:var(--positive); font-size:12px; line-height:1.65; }
.billing-amount { flex:none; color:var(--positive); text-align:right; }
.billing-amount strong { display:block; font-size:38px; letter-spacing:-1px; line-height:1.15; }
.billing-amount small { display:block; margin-top:5px; font-size:11px; }
.usage-period { margin-top:19px; padding-top:14px; color:var(--muted); border-top:1px solid var(--line); font-size:10px; line-height:1.6; }
.connection-note { margin-top:16px; color:var(--muted); font-size:10px; line-height:1.65; }
.sms-planning { min-width:0; }
.sms-rehearsal { min-width:0; }
.sms-rehearsal-status { margin:12px 0; color:var(--muted); font-size:13px; line-height:1.6; }
.sms-rehearsal-status[data-tone="success"] { color:#1f6d43; }
html[data-theme="dark"] .sms-rehearsal-status[data-tone="success"] { color:#8ad6aa; }
.sms-rehearsal-status[data-tone="warning"] { color:var(--warning); }
.sms-rehearsal-cards { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:20px; }
.sms-rehearsal-checks { display:grid; gap:14px; margin:16px 0 0; padding-left:20px; }
.sms-rehearsal-checks li { color:var(--ink); font-size:13px; line-height:1.6; }
.sms-rehearsal-checks strong { display:block; font-weight:600; }
.sms-rehearsal-checks span { display:block; color:var(--muted); font-size:12px; }
@media (max-width:1050px) { .sms-rehearsal-cards { grid-template-columns:1fr; } }
.sms-planning .panel-heading { align-items:flex-start; }
.sms-planning-boundary { padding:12px 14px; margin:0 0 20px; color:var(--warning); background:var(--warning-bg); border:1px solid var(--warning-line); border-radius:8px; font-size:12px; line-height:1.65; }
.sms-planning-controls { display:grid; grid-template-columns:repeat(auto-fit,minmax(min(100%,230px),1fr)); gap:16px; margin:16px 0; }
.sms-planning-field { display:grid; align-content:start; gap:7px; min-width:0; color:var(--ink); font-size:12px; font-weight:600; line-height:1.5; }
.sms-planning-field select,.sms-planning-field input { width:100%; min-width:0; min-height:43px; padding:10px; color:var(--ink); background:var(--soft); border:1px solid var(--line); border-radius:7px; font:400 14px/1.5 var(--font-ui); }
.sms-planning-field input:focus-visible,.sms-planning-field select:focus-visible { outline:2px solid var(--focus); outline-offset:2px; }
.sms-planning-assumptions { margin:18px 0; padding:14px; border:1px solid var(--line); border-radius:8px; background:var(--paper); }
.sms-planning-assumptions summary,.sms-planning-breakdown summary { color:var(--ink); font-size:13px; font-weight:600; cursor:pointer; }
.sms-planning-assumptions p { margin-top:13px; color:var(--muted); font-size:12px; line-height:1.65; }
.sms-planning-prices,.sms-planning-results { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; margin-top:20px; }
.sms-planning-card { min-width:0; padding:18px; background:var(--soft); border:1px solid var(--line); border-radius:9px; }
.sms-planning-card h3 { font-size:16px; font-weight:600; }
.sms-planning-price { margin-top:10px; color:var(--ink); font-size:24px; font-weight:650; }
.sms-planning-note { margin-top:7px; color:var(--muted); font-size:12px; line-height:1.65; }
.sms-planning-combined { margin-top:14px; padding-top:12px; color:var(--ink); border-top:1px solid var(--line); font-size:13px; line-height:1.6; }
.sms-planning-contribution { display:grid; gap:3px; margin-top:14px; color:var(--ink); }
.sms-planning-contribution strong { font-size:24px; font-weight:600; }
.sms-planning-contribution span { font-size:12px; }
.sms-planning-contribution[data-tone="warning"] { color:var(--warning); }
.sms-planning-totals { display:grid; gap:12px; margin:18px 0 0; }
.sms-planning-totals > div { display:grid; gap:3px; }
.sms-planning-totals dt { color:var(--muted); font-size:11px; font-weight:400; }
.sms-planning-totals dd { margin:0; color:var(--ink); font-size:13px; font-weight:600; line-height:1.5; }
.sms-planning-breakdown { margin-top:18px; padding-top:14px; border-top:1px solid var(--line); }
.sms-planning-message { margin-top:20px; color:var(--muted); font-size:13px; line-height:1.6; }
.sms-planning-message[data-tone="warning"] { color:var(--warning); }
.sms-planning-results > p { grid-column:1/-1; }
.sms-planning-sources { display:grid; gap:9px; margin:14px 0 0; padding-left:18px; font-size:12px; }
.sms-planning-sources a { color:var(--navy); text-decoration:underline; }
@media (max-width:1050px) { .sms-planning-prices,.sms-planning-results { grid-template-columns:1fr; } }
.texting-notice { border-left-width:1px; }
.texting-checklist { padding:18px 23px; }
.texting-checklist summary { color:var(--navy); font-size:14px; font-weight:650; cursor:pointer; }
.texting-next-steps { display:grid; gap:10px; margin:18px 0 0; padding-left:21px; color:var(--muted); font-size:12px; line-height:1.65; }
.texting-requests { display:grid; gap:18px; }
.texting-request { min-width:0; padding:20px; background:var(--paper); border:1px solid var(--line); border-radius:9px; }
.texting-request-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:15px; }
.texting-request-heading h3 { font-size:16px; font-weight:650; overflow-wrap:anywhere; }
.texting-request-details { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:16px 24px; margin:20px 0; }
.texting-request-details dt { color:var(--muted); font-size:11px; font-weight:650; }
.texting-request-details dd { margin:4px 0 0; color:var(--ink); font-size:12px; line-height:1.6; overflow-wrap:anywhere; }
.texting-ministry-response { min-width:0; margin:0 0 20px; padding:14px 16px; color:var(--ink); background:var(--soft); border:1px solid var(--line); border-radius:7px; }
.texting-ministry-response h4 { font-size:12px; font-weight:650; line-height:1.6; }
.texting-ministry-response p { margin-top:6px; font-size:13px; font-weight:400; line-height:1.6; white-space:pre-wrap; overflow-wrap:anywhere; }
.texting-review-note { display:grid; gap:8px; color:var(--navy); font-size:12px; font-weight:650; }
.texting-review-note textarea { width:100%; min-width:0; resize:vertical; padding:11px 12px; color:var(--ink); background:var(--soft); border:1px solid var(--line); border-radius:7px; font-size:13px; font-weight:400; line-height:1.6; }
.texting-review-note textarea::placeholder { color:var(--muted); opacity:1; }
.texting-review-note small { color:var(--muted); font-size:11px; font-weight:400; line-height:1.6; }
.texting-review-actions { display:flex; flex-wrap:wrap; justify-content:flex-end; gap:8px; margin-top:16px; }
.texting-saved-note { color:var(--muted); font-size:12px; line-height:1.6; }
.texting-saved-note strong { color:var(--ink); font-weight:650; }
.texting-saved-note p { margin-top:5px; white-space:pre-wrap; overflow-wrap:anywhere; }
.access-panel { display:flex; align-items:center; flex-direction:column; max-width:640px; margin:75px auto 115px; padding:37px 35px 31px; background:var(--paper); border:1px solid var(--line); border-radius:15px; text-align:center; }
.access-symbol { display:grid; width:56px; height:56px; place-items:center; margin-bottom:20px; color:var(--navy); background:var(--soft); border:1px solid var(--line); border-radius:15px; }
.access-symbol svg { width:25px; height:25px; fill:none; stroke:currentColor; stroke-width:1.7; stroke-linecap:round; stroke-linejoin:round; }
.access-panel h1 { font-size:25px; }
.access-panel > p:not(.eyebrow) { max-width:475px; margin-top:13px; color:var(--muted); font-size:13px; line-height:1.7; }
.access-actions { display:flex; flex-wrap:wrap; justify-content:center; gap:10px; margin-top:21px; }
.access-actions:empty { display:none; }
.access-panel p.access-note { margin-top:26px; padding-top:21px; border-top:1px solid var(--line); font-size:10px; }
.console-status { margin-top:18px; color:var(--positive); font-size:12px; line-height:1.6; overflow-wrap:anywhere; }
.console-status:empty { display:none; }
.console-status[data-state="error"] { color:var(--danger); }
.main-footer { margin-top:35px; padding-top:20px; color:var(--muted); border-top:1px solid var(--line); font-size:10px; line-height:1.65; }
.confirmation-dialog { width:min(490px,calc(100vw - 32px)); padding:0; color:var(--ink); background:var(--paper); border:1px solid var(--line); border-radius:13px; box-shadow:0 22px 65px #10233f40; }
.confirmation-dialog::backdrop { background:#0b16278c; }
.confirmation-card { padding:27px; }
.confirmation-card h2 { font-size:20px; }
.confirmation-card > p:not(.eyebrow) { margin-top:13px; color:var(--muted); font-size:13px; line-height:1.7; overflow-wrap:anywhere; }
.confirmation-actions { display:flex; justify-content:flex-end; gap:9px; margin-top:25px; }
.noscript-note { position:fixed; inset:auto 15px 15px; z-index:20; margin:0; padding:18px; color:var(--ink); background:var(--paper); border:1px solid var(--line); border-radius:9px; }
html[data-theme="dark"] {
  color-scheme:dark;
  --navy:#eeeeef;
  --navy-hover:#d8d8df;
  --page:#0b0b0d;
  --paper:#171719;
  --soft:#232326;
  --ink:#eeeeef;
  --muted:#b8b8c0;
  --line:#39393f;
  --positive:#b9e2ce;
  --positive-bg:#20362b;
  --positive-line:#3e5e4b;
  --warning:#f1c3a9;
  --warning-bg:#3e2b25;
  --warning-line:#715043;
  --danger:#ffc1b2;
  --danger-bg:#3e2824;
  --focus:#a0c6f1;
}
html[data-theme="dark"] .console-sidebar { color:#dedee2; background:#121214; border-right:1px solid var(--line); }
html[data-theme="dark"] .brand-admin,html[data-theme="dark"] .console-nav button { color:#d0d0d6; }
html[data-theme="dark"] .console-nav button[aria-current="page"] { color:#fff; background:#38383e; border-color:#45454b; }
html[data-theme="dark"] .console-nav button:not(:disabled):hover { color:#fff; background:#29292d; }
html[data-theme="dark"] .nav-update-count { color:#f0f0f3; background:#45454d; border-color:#66666f; }
html[data-theme="dark"] .sidebar-footer p { color:#b8b8c0; }
html[data-theme="dark"] .back-link { color:#eeeef2; }
html[data-theme="dark"] .button-primary { color:#141416; background:#e6e6e9; }
html[data-theme="dark"] .button-primary:not(:disabled):hover { background:#fff; }
html[data-theme="dark"] .button-secondary { color:#e8e8ec; background:#303035; border-color:#57575e; }
html[data-theme="dark"] .button-secondary:not(:disabled):hover { background:#404047; }
html[data-theme="dark"] .button-outline:not(:disabled):hover { border-color:#6b6b73; }
html[data-theme="dark"] .search-toolbar input { background:#101012; border-color:#56565c; }
html[data-theme="dark"] .confirmation-dialog::backdrop { background:#000a; }
@media (min-width:1700px) { #console-main { padding-left:55px; padding-right:55px; } }
@media (max-width:1200px) {
  .console-sidebar { width:220px; padding-left:12px; padding-right:12px; }
  .console-topbar { padding-left:26px; padding-right:26px; }
  #console-main { padding:29px 26px 20px; }
  .viewer-identity { max-width:170px; }
  .topbar-label { font-size:11px; }
  .summary-grid { gap:10px; }
  .metric { padding:16px; }
  .metric dd { font-size:27px; }
}
@media (max-width:950px) {
  .console-topbar { flex-wrap:wrap; gap:12px; }
  .topbar-actions { margin-left:auto; }
  .topbar-label { display:none; }
  .two-column { grid-template-columns:1fr; }
  .summary-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .usage-grid { grid-template-columns:repeat(2,minmax(0,1fr)); gap:23px; }
  .updated-label { margin-top:6px; }
  .page-heading { flex-wrap:wrap; gap:6px; }
}
@media (max-width:700px) {
  .console-shell { display:block; }
  .console-sidebar { position:relative; width:100%; height:auto; padding:20px 18px 13px; overflow:visible; }
  .console-brand { padding:0; }
  .brand-wordmark { font-size:28px; }
  .environment-tag { margin:12px 0 17px; }
  .console-nav { display:flex; gap:6px; margin:0 -18px; padding:0 18px 3px; overflow-x:auto; -webkit-overflow-scrolling:touch; }
  .console-nav button { flex:none; min-height:40px; gap:7px; padding:9px 11px; font-size:11px; white-space:nowrap; }
  .console-nav svg { width:15px; height:15px; }
  .nav-update-count { min-width:20px; min-height:20px; margin-left:1px; padding:2px 5px; font-size:9px; }
  .notice-updates { padding:16px; }
  .notice-updates-heading { flex-wrap:wrap; gap:10px; }
  .notice-updates-list li { flex-direction:column; gap:4px; }
  .sidebar-footer { margin:0; padding:0; }
  .sidebar-footer p { display:none; }
  .back-link { position:absolute; top:26px; right:19px; margin:0; font-size:10px; }
  .console-topbar { min-height:65px; padding:13px 18px; }
  .topbar-actions { width:100%; gap:7px; }
  .viewer-identity { flex:1; max-width:none; margin-right:auto; font-size:10px; }
  .topbar-actions .button { min-height:34px; padding:7px 9px; font-size:10px; }
  #console-main { min-height:0; padding:25px 18px 18px; }
  h1 { font-size:27px; }
  .page-heading { margin-bottom:21px; }
  .page-heading p:not(.eyebrow) { font-size:12px; }
  .summary-grid { gap:10px; }
  .metric { padding:16px 14px; border-radius:9px; }
  .metric dd { font-size:27px; }
  .metric dt { font-size:10px; }
  .metric small { font-size:9px; }
  .console-content { gap:17px; }
  .panel { padding:19px; }
  .panel-heading { gap:10px; margin-bottom:18px; }
  .panel-heading .button { min-height:32px; padding:6px 8px; font-size:10px; }
  .notice { padding:13px 15px; font-size:11px; }
  .two-column { gap:17px; }
  .texting-request { padding:16px; }
  .texting-request-details { grid-template-columns:1fr; gap:12px; }
  .texting-request-heading h3 { font-size:15px; }
  .texting-checklist { padding:17px 19px; }
  .usage-grid-six { gap:23px 15px; }
  .search-toolbar { flex-wrap:wrap; gap:7px; padding:14px; }
  .search-toolbar label { flex:1 0 100%; }
  .search-toolbar .button { min-height:35px; font-size:11px; }
  .table-panel { padding:19px 0 0; }
  .table-panel .panel-heading { padding:0 19px; }
  .directory-table,.directory-table tbody,.directory-table tr,.directory-table td { display:block; width:100%; }
  .directory-table thead { display:none; }
  .directory-table tr { padding:17px 19px; border-top:1px solid var(--line); }
  .directory-table td,.directory-table td:first-child,.directory-table td:last-child { padding:6px 0; border:0; }
  .directory-table td:first-child { padding-top:0; }
  .directory-table td[data-label]:not(:first-child)::before { display:block; margin-bottom:4px; color:var(--muted); content:attr(data-label); font-size:9px; font-weight:750; }
  .directory-table .customer-identity,.directory-table .row-details { min-width:0; }
  .support-actions { min-width:0; }
  .support-actions .button { min-height:35px; font-size:11px; }
  .table-empty { margin:0 19px 19px; }
  .pagination { align-items:flex-start; flex-direction:column; gap:10px; }
  .pagination-actions { width:100%; justify-content:space-between; }
  .billing-intro { align-items:flex-start; gap:19px; padding:21px; flex-direction:column; }
  .billing-intro h2 { font-size:22px; }
  .billing-amount { text-align:left; }
  .billing-amount strong { font-size:32px; }
  .access-panel { margin:20px auto 55px; padding:31px 22px 26px; }
  .access-panel h1 { font-size:23px; }
  .access-panel > p:not(.eyebrow) { font-size:12px; }
  .confirmation-card { padding:23px; }
  .confirmation-actions { flex-wrap:wrap; }
  .main-footer { margin-top:28px; }
}
@media (max-width:380px) { .back-link { position:static; display:block; margin-top:13px; } .viewer-identity { max-width:110px; } }
@media (prefers-reduced-motion:reduce) { *,*::before,*::after { animation:none !important; transition:none !important; scroll-behavior:auto !important; } }
