.admin-body { min-height: 100vh; }
.admin-shell { display: grid; min-height: 100vh; grid-template-columns: 16rem minmax(0, 1fr); }
.sidebar { position: sticky; z-index: 30; top: 0; display: flex; height: 100vh; flex-direction: column; padding: 1.1rem .85rem; overflow-y: auto; color: #dce9f4; background: linear-gradient(180deg, var(--navy-900), var(--navy-950)); }
.brand { display: flex; align-items: center; gap: .7rem; padding: .25rem .45rem 1.25rem; }
.brand__mark { display: grid; flex: 0 0 2.15rem; width: 2.15rem; height: 2.15rem; place-items: center; border-radius: .65rem; color: var(--navy-950); background: linear-gradient(145deg, #76d9ed, #dff9ff); font-weight: 900; }
.brand strong, .brand small { display: block; }
.brand strong { color: white; line-height: 1.2; }
.brand small { margin-top: .12rem; color: #9fb3c5; font-size: .7rem; }
.brand--dark { padding-left: 0; }
.brand--dark strong { color: var(--navy-900); }

.nav-list { display: grid; gap: .16rem; margin: 0; padding: 0; list-style: none; }
.nav-list a { display: flex; min-height: 2.65rem; align-items: center; gap: .72rem; padding: .55rem .7rem; border-radius: .6rem; color: #bed0df; font-size: .84rem; font-weight: 650; text-decoration: none; }
.nav-list a:hover { color: white; background: rgba(255,255,255,.07); }
.nav-list a[aria-current="page"] { color: white; background: rgba(60, 185, 218, .16); box-shadow: inset 3px 0 var(--sky-500); }
.nav-icon { display: grid; width: 1.7rem; height: 1.7rem; place-items: center; border: 1px solid rgba(255,255,255,.13); border-radius: .45rem; font-size: .57rem; font-weight: 850; letter-spacing: -.02em; }
.sidebar__footer { margin-top: auto; padding-top: 1rem; border-top: 1px solid rgba(255,255,255,.1); }
.user-chip { display: flex; align-items: center; gap: .65rem; margin-bottom: .75rem; padding: .35rem; }
.user-chip > span { display: grid; width: 2rem; height: 2rem; place-items: center; border-radius: 50%; color: white; background: var(--sky-600); font-weight: 800; }
.user-chip strong, .user-chip small { display: block; max-width: 10rem; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.user-chip strong { color: white; font-size: .78rem; }.user-chip small { color: #9fb3c5; font-size: .67rem; text-transform: capitalize; }

.workspace { min-width: 0; }
.topbar { position: sticky; z-index: 20; top: 0; display: flex; min-height: 4.4rem; align-items: center; gap: .9rem; padding: .75rem clamp(1rem, 3vw, 2rem); border-bottom: 1px solid var(--line); background: rgba(255,255,255,.92); backdrop-filter: blur(12px); }
.topbar__label, .topbar strong { display: block; }.topbar__label { color: var(--ink-500); font-size: .68rem; text-transform: uppercase; letter-spacing: .08em; }.topbar strong { font-size: .94rem; }
.topbar__action { margin-left: auto; }
.menu-toggle { display: none; width: 2.65rem; height: 2.65rem; padding: .65rem; border: 1px solid var(--line); border-radius: .6rem; background: white; }
.menu-toggle > span:not(.sr-only) { display: block; height: 2px; margin: 4px 0; border-radius: 2px; background: var(--navy-900); }
.content { width: min(100%, 92rem); margin: 0 auto; padding: clamp(1.1rem, 3vw, 2rem); }
.page-heading { display: flex; align-items: flex-end; justify-content: space-between; gap: 1.5rem; margin-bottom: 1.5rem; }
.page-heading p:last-child { max-width: 44rem; margin-bottom: 0; }
.metrics-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; margin-bottom: 1rem; }
.dashboard-grid { display: grid; grid-template-columns: minmax(0, 2fr) minmax(17rem, .85fr); gap: 1rem; }
.allowance-strip { display: grid; grid-template-columns: minmax(12rem, .7fr) minmax(12rem, 1fr) auto; align-items: center; gap: 1rem; margin-bottom: 1rem; padding: .9rem 1.1rem; border: 1px solid #b9e4ee; border-radius: var(--radius); background: #f1fbfd; }
.allowance-strip span, .allowance-strip strong { display: block; }.allowance-strip span { color: var(--ink-500); font-size: .72rem; }.allowance-strip strong { margin-top: .12rem; font-size: .84rem; }
.settings-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-bottom: 1rem; }
.allowance-summary { display: grid; gap: .35rem; padding: 1rem; border-radius: .75rem; background: var(--canvas); }
.allowance-summary strong { font-size: 2rem; letter-spacing: -.045em; }.allowance-summary span { margin-bottom: .5rem; color: var(--ink-700); font-size: .82rem; }
.metadata-list { display: grid; gap: .65rem; margin: 1rem 0 0; }.metadata-list > div { display: flex; justify-content: space-between; gap: 1rem; padding-bottom: .55rem; border-bottom: 1px solid var(--line); }.metadata-list dt { color: var(--ink-500); font-size: .75rem; }.metadata-list dd { margin: 0; font-size: .78rem; font-weight: 750; text-align: right; }
.settings-form { display: grid; gap: 1rem; }.settings-history { margin-top: 1rem; }
.filter-panel { margin-bottom: 1rem; }.filter-form { display: grid; grid-template-columns: minmax(14rem, 1.5fr) repeat(3, minmax(9rem, 1fr)) auto; align-items: end; gap: .75rem; }.filter-actions { display: flex; min-height: 2.8rem; align-items: center; gap: .7rem; }
.cell-subtitle, .cell-tags { display: block; margin-top: .2rem; color: var(--ink-500); font-size: .72rem; }.cell-tags { color: var(--sky-600); }.table-link { color: var(--ink-700); text-decoration: none; }.table-link:hover { color: var(--sky-600); text-decoration: underline; }
.contact-form { display: grid; gap: 1rem; }.form-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; }.form-field--wide { grid-column: 1 / -1; }.form-actions, .heading-actions { display: flex; flex-wrap: wrap; gap: .7rem; }
.contact-detail-grid { display: grid; grid-template-columns: minmax(0, 1.65fr) minmax(17rem, .75fr); gap: 1rem; margin-bottom: 1rem; }.detail-list { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 0 1rem; margin: 0; }.detail-list > div { padding: .7rem 0; border-bottom: 1px solid var(--line); }.detail-list dt { color: var(--ink-500); font-size: .72rem; }.detail-list dd { margin: .16rem 0 0; overflow-wrap: anywhere; font-size: .85rem; font-weight: 650; }.contact-notes { margin-top: 1rem; padding: 1rem; border-radius: .7rem; background: var(--canvas); }.contact-notes p { margin-bottom: 0; white-space: normal; }
.timeline { position: relative; display: grid; gap: 1rem; margin: 0; padding: 0; list-style: none; }.timeline::before { position: absolute; top: .6rem; bottom: .6rem; left: .38rem; width: 2px; content: ''; background: var(--line); }.timeline li { position: relative; display: grid; grid-template-columns: 1rem minmax(0, 1fr); gap: .8rem; }.timeline li > span { z-index: 1; width: .8rem; height: .8rem; margin-top: .25rem; border: 2px solid white; border-radius: 50%; background: var(--sky-500); box-shadow: 0 0 0 2px var(--sky-100); }.timeline__top { display: flex; align-items: center; justify-content: space-between; gap: 1rem; }.timeline p { margin: .2rem 0; font-size: .82rem; }.timeline time { color: var(--ink-500); font-size: .7rem; }
.action-list { display: grid; gap: 1rem; margin: 0; padding: 0; list-style: none; }
.action-list li { display: flex; gap: .75rem; }.action-list li > span { display: grid; flex: 0 0 1.8rem; width: 1.8rem; height: 1.8rem; place-items: center; border-radius: 50%; color: #086685; background: var(--sky-100); font-size: .75rem; font-weight: 850; }
.action-list strong { font-size: .84rem; }.action-list p { margin: .15rem 0 0; font-size: .76rem; }
.sidebar-scrim { display: none; }

.auth-body { display: grid; min-height: 100vh; place-items: center; padding: 1rem; background: radial-gradient(circle at 15% 10%, #dff5fb, transparent 30%), linear-gradient(145deg, #f7fafc, #e8f0f5); }
.auth-card { width: min(100%, 28rem); padding: clamp(1.5rem, 5vw, 2.4rem); border: 1px solid rgba(189,202,212,.8); border-radius: var(--radius-lg); background: rgba(255,255,255,.96); box-shadow: var(--shadow); }
.auth-card h1 { margin-bottom: .45rem; }.auth-card__intro { margin-bottom: 1.5rem; }.auth-form { display: grid; gap: 1rem; }.auth-card__security { margin: 1.2rem 0 0; color: var(--ink-500); font-size: .7rem; text-align: center; text-transform: uppercase; letter-spacing: .08em; }

.import-panel { margin-bottom: 1rem; }.upload-field { display: grid; gap: .45rem; padding: 1.2rem; border: 1px dashed #9fb6c7; border-radius: .75rem; background: var(--canvas); }.upload-field label { font-weight: 800; }.upload-field small { color: var(--ink-500); }.mapping-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .85rem; margin-bottom: 1rem; }.import-summary-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1rem; margin-bottom: 1rem; }.result-actions { display: flex; justify-content: center; flex-wrap: wrap; gap: .75rem; padding-bottom: 1rem; }

.lead-filter-form { grid-template-columns: minmax(14rem, 1.5fr) repeat(2, minmax(10rem, 1fr)) auto; }.lead-detail-grid { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(18rem, .8fr); gap: 1rem; margin-bottom: 1rem; }
.campaign-summary-grid { display: grid; grid-template-columns: minmax(0, 1.6fr) minmax(18rem, .75fr); gap: 1rem; margin-bottom: 1rem; }.campaign-metrics { margin-bottom: .5rem; }.campaign-actions { display: grid; gap: .75rem; }.preview-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 1rem; }.campaign-preview { min-width: 0; padding: 1rem; border: 1px solid var(--line); border-radius: .75rem; background: var(--canvas); }.campaign-preview strong,.campaign-preview small { display: block; }.campaign-preview small { color: var(--ink-500); overflow-wrap: anywhere; }.campaign-preview h3 { margin: .8rem 0 .5rem; font-size: .95rem; }.campaign-preview p { font-size: .78rem; }.campaign-preview pre { max-height: 14rem; overflow: auto; white-space: pre-wrap; font-size: .7rem; }
.queue-metrics { grid-template-columns: repeat(6,minmax(0,1fr)); }.queue-filter-form { grid-template-columns: minmax(12rem,.5fr) auto; justify-content: start; }
.queue-tabs { display: flex; gap: .5rem; margin-bottom: 1rem; overflow-x: auto; }.queue-tabs a { display: flex; align-items: center; gap: .45rem; padding: .65rem .85rem; border: 1px solid var(--line); border-radius: .65rem; color: var(--ink-700); background: white; font-size: .78rem; font-weight: 750; text-decoration: none; white-space: nowrap; }.queue-tabs a[aria-current="page"] { color: white; border-color: var(--navy-900); background: var(--navy-900); }.queue-tabs span { display: grid; min-width: 1.35rem; height: 1.35rem; place-items: center; border-radius: 1rem; background: rgba(127,160,180,.18); font-size: .65rem; }.call-filter-form { grid-template-columns: minmax(14rem,1.4fr) repeat(3,minmax(9rem,1fr)) auto; }.cell-action { display: block; margin-top: .25rem; }.call-detail-grid { display: grid; grid-template-columns: minmax(0,1.55fr) minmax(19rem,.8fr); gap: 1rem; }.call-detail-grid hr { width: 100%; margin: .3rem 0; border: 0; border-top: 1px solid var(--line); }

@media (max-width: 960px) {
    .admin-shell { grid-template-columns: 1fr; }
    .sidebar { position: fixed; left: 0; width: min(18rem, 86vw); transform: translateX(-105%); transition: transform .2s ease; box-shadow: 20px 0 45px rgba(7, 21, 36, .25); }
    .nav-open .sidebar { transform: none; }
    .menu-toggle { display: block; }
    .sidebar-scrim { position: fixed; z-index: 25; inset: 0; width: 100%; height: 100%; border: 0; background: rgba(7,21,36,.48); opacity: 0; pointer-events: none; transition: opacity .2s ease; }
    .nav-open .sidebar-scrim { display: block; opacity: 1; pointer-events: auto; }
    .metrics-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
    .dashboard-grid { grid-template-columns: 1fr; }
    .settings-grid { grid-template-columns: 1fr; }
    .filter-form { grid-template-columns: repeat(2, minmax(0, 1fr)); }.contact-detail-grid, .lead-detail-grid, .campaign-summary-grid, .call-detail-grid { grid-template-columns: 1fr; }.preview-grid { grid-template-columns: 1fr; }
}
@media (max-width: 620px) {
    .topbar__action { display: none; }
    .page-heading { align-items: stretch; flex-direction: column; }.page-heading .button { align-self: flex-start; }
    .metrics-grid { grid-template-columns: 1fr; }
    .allowance-strip { grid-template-columns: 1fr; }
    .filter-form, .form-grid, .detail-list { grid-template-columns: 1fr; }.form-field--wide { grid-column: auto; }
    .mapping-grid, .import-summary-grid { grid-template-columns: 1fr; }
    .panel { padding: 1rem; }
    .table-wrap { overflow: visible; }
    table, thead, tbody, tr, th, td { display: block; }
    thead { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0,0,0,0); }
    tbody { display: grid; gap: .75rem; }
    tbody tr { padding: .45rem .75rem; border: 1px solid var(--line); border-radius: .65rem; }
    td { display: grid; grid-template-columns: minmax(6rem, .7fr) 1fr; gap: .75rem; padding: .55rem 0; }
    td::before { content: attr(data-label); color: var(--ink-500); font-size: .68rem; font-weight: 800; text-transform: uppercase; letter-spacing: .04em; }
}

.range-form { display:flex; align-items:end; gap:.65rem; }.range-form label { color:var(--ink-500); font-size:.72rem; font-weight:750; }.analytics-kpi { display:flex; align-items:center; justify-content:space-between; gap:1rem; margin-bottom:1.2rem; padding:1.25rem; border-radius:var(--radius); color:white; background:linear-gradient(120deg,var(--navy-900),#174e68); }.analytics-kpi h2 { color:white; }.analytics-kpi p:last-child { margin:0; color:#cfe4ee; }.analytics-metrics { grid-template-columns:repeat(6,minmax(0,1fr)); }.section-heading { display:flex; align-items:end; justify-content:space-between; gap:1rem; margin:1.5rem 0 .8rem; }.section-heading p { margin:0; color:var(--ink-500); font-size:.75rem; }.analytics-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:1rem; margin-bottom:1rem; }.bar-list { display:grid; gap:.65rem; }.bar-row { display:grid; grid-template-columns:minmax(7rem,.8fr) minmax(6rem,1.5fr) 2.5rem; align-items:center; gap:.65rem; font-size:.75rem; }.bar-track { height:.55rem; overflow:hidden; border-radius:1rem; background:var(--canvas); }.bar-track i { display:block; min-width:2px; height:100%; border-radius:inherit; background:var(--sky-500); }.bar-row strong { text-align:right; }.trend-chart { position:relative; display:flex; min-height:14rem; align-items:end; gap:clamp(.2rem,1vw,.65rem); overflow-x:auto; padding-top:2rem; }.trend-column { display:grid; flex:1 0 1.4rem; min-width:1.4rem; gap:.35rem; text-align:center; }.trend-column>div { display:flex; height:10rem; align-items:end; justify-content:center; gap:2px; border-bottom:1px solid var(--line); }.trend-column i { width:38%; min-height:1px; border-radius:.2rem .2rem 0 0; }.trend-sent,.legend-sent { background:var(--navy-900); }.trend-delivered,.legend-delivered { background:var(--sky-500); }.trend-column small { color:var(--ink-500); font-size:.58rem; white-space:nowrap; }.trend-legend { position:absolute; top:.25rem; display:flex; gap:1rem; font-size:.7rem; }.trend-legend span { display:flex; align-items:center; gap:.3rem; }.trend-legend i { width:.65rem; height:.65rem; border-radius:.15rem; }
@media(max-width:960px){.analytics-metrics{grid-template-columns:repeat(3,minmax(0,1fr));}}
@media(max-width:620px){.analytics-grid,.analytics-metrics{grid-template-columns:1fr;}.analytics-kpi,.section-heading{align-items:stretch;flex-direction:column;}.range-form{align-items:stretch;flex-direction:column;}}
