:root{color-scheme:light;--background:#f5f7fa;--foreground:#18202f;--muted:#667085;--panel:#ffffff;--panel-subtle:#f9fafb;--line:#d8dee8;--line-strong:#b9c2d0;--accent:#146c63;--accent-strong:#0d4f49;--accent-soft:#e4f3f0;--warning:#9a5b13;--warning-soft:#fff4df;--danger:#a83434;--shadow:0 10px 24px rgb(15 23 42/8%)}*{box-sizing:border-box}body,html{min-height:100%;margin:0}body{background:var(--background);color:var(--foreground);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:14px}button,input,select,textarea{font:inherit}a{color:inherit;text-decoration:none}h1,h2,p{margin:0}table{border-collapse:collapse;width:100%}td,th{border-bottom:1px solid var(--line);padding:12px;text-align:left;vertical-align:middle}th{color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase}.auth-shell{align-items:center;display:grid;min-height:100vh;padding:24px}.auth-panel{background:var(--panel);border:1px solid var(--line);border-radius:8px;box-shadow:var(--shadow);display:grid;grid-gap:24px;gap:24px;margin:0 auto;max-width:420px;padding:28px;width:100%}.auth-panel h1{font-size:28px;line-height:1.2;margin-top:6px}.auth-form,.stack-form{display:grid;grid-gap:14px;gap:14px}.portal-shell{display:grid;grid-template-columns:260px minmax(0,1fr);min-height:100vh}.sidebar{background:#101820;color:#f8fafc;display:flex;flex-direction:column;justify-content:space-between;min-height:100vh;padding:20px}.brand-lockup{align-items:center;display:flex;gap:12px;margin-bottom:28px}.brand-lockup span,.brand-lockup strong{display:block}.brand-lockup span{color:#a8b3c5;font-size:12px}.brand-mark{align-items:center;background:var(--accent);border-radius:8px;display:inline-flex;font-weight:800;height:38px;justify-content:center;width:38px}.portal-nav{display:grid;grid-gap:6px;gap:6px}.nav-link{border-radius:6px;color:#d7dde8;padding:10px 12px}.nav-link:hover,.nav-link[aria-current=page]{background:#1d2a37;color:#ffffff}.sidebar-user{border-top:1px solid #2b3948;display:grid;grid-gap:14px;gap:14px;padding-top:18px}.sidebar-user span,.sidebar-user strong{display:block}.sidebar-user span{color:#a8b3c5;font-size:12px;margin-top:3px}.content-shell{min-width:0;padding:28px}.page-stack,.section-stack{display:grid;grid-gap:20px;gap:20px}.page-header{align-items:center;display:flex;justify-content:space-between}.page-header h1{font-size:28px;line-height:1.2}.eyebrow{color:var(--accent);font-size:12px;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.empty-state,.muted{color:var(--muted)}.metric-grid,.section-grid{display:grid;grid-gap:16px;gap:16px}.metric-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.section-grid{grid-template-columns:minmax(0,1.5fr) minmax(300px,.8fr)}.metric,.panel,.phone-panel{background:var(--panel);border:1px solid var(--line);border-radius:8px}.metric{display:grid;grid-gap:8px;gap:8px;min-height:92px;padding:18px}.metric span{color:var(--muted)}.metric strong{font-size:28px}.panel{min-width:0;padding:18px}.panel-heading{align-items:center;display:flex;justify-content:space-between;margin-bottom:14px}.panel-heading h2{font-size:18px}.count{color:var(--muted);font-weight:700}.table-wrap{overflow-x:auto}.table-actions{text-align:right}.field{display:grid;grid-gap:6px;gap:6px}.details-list dt,.field span{color:var(--muted);font-size:12px;font-weight:700;text-transform:uppercase}.field input,.field select,.field textarea{background:#ffffff;border:1px solid var(--line-strong);border-radius:6px;color:var(--foreground);min-height:40px;padding:9px 10px;width:100%}.field input:focus,.field select:focus,.field textarea:focus{border-color:var(--accent);outline:2px solid var(--accent-soft)}.field textarea{resize:vertical}.inline-form{align-items:end;display:grid;grid-gap:12px;gap:12px;grid-template-columns:minmax(180px,1fr) minmax(180px,1fr) auto}.inline-controls{display:flex;gap:14px}.inline-controls label{color:var(--muted);gap:8px}.button,.inline-controls label{align-items:center;display:inline-flex}.button{border:1px solid transparent;border-radius:6px;cursor:pointer;font-weight:700;justify-content:center;min-height:40px;padding:9px 14px}.button:disabled{cursor:not-allowed;opacity:.6}.button-primary{background:var(--accent);color:#ffffff}.button-primary:hover:not(:disabled){background:var(--accent-strong)}.button-danger{background:var(--danger);color:#ffffff}.button-danger:hover:not(:disabled){background:#7f2525}.button-ghost{background:transparent;border-color:#344455;color:#f8fafc}.button-small{background:var(--panel-subtle);border-color:var(--line);min-height:34px;padding:6px 10px}.form-error{background:#fff1f1;border:1px solid #f1c2c2;border-radius:6px;color:var(--danger);padding:10px 12px}.form-success{background:var(--accent-soft);border:1px solid #b8dcd5;border-radius:6px;color:var(--accent-strong);padding:10px 12px}.status-badge{border-radius:999px;display:inline-flex;font-size:12px;font-weight:800;padding:4px 8px}.status-good{background:var(--accent-soft);color:var(--accent-strong)}.status-muted{background:#eef2f6;color:#516070}.status-warning{background:var(--warning-soft);color:var(--warning)}.details-list,.number-list{display:grid;grid-gap:12px;gap:12px}.number-row{align-items:center;background:var(--panel-subtle);border:1px solid var(--line);border-radius:8px;display:flex;justify-content:space-between;padding:14px}.number-row p{color:var(--muted);margin-top:4px}.details-list{margin:0}.details-list div{border-bottom:1px solid var(--line);display:grid;grid-gap:4px;gap:4px;padding:0 0 12px}.details-list dd{margin:0}.phone-panel{display:grid;grid-gap:16px;gap:16px;padding:18px}.phone-topline{align-items:center;display:flex;justify-content:space-between}.phone-status{color:var(--warning);font-size:12px;font-weight:800}.phone-status-good{color:var(--accent-strong)}.phone-status-bad{color:var(--danger)}.phone-meta,.phone-number{color:var(--muted)}.phone-meta{background:var(--panel-subtle);border:1px solid var(--line);border-radius:6px;display:grid;font-size:12px;grid-gap:4px;gap:4px;padding:10px}.remote-audio{height:0;position:absolute;width:0}.phone-actions{display:grid;grid-gap:8px;gap:8px}.two-up{grid-template-columns:repeat(2,minmax(0,1fr))}.call-state{background:var(--panel-subtle);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:6px;gap:6px;padding:12px}.call-state span{color:var(--muted)}.call-state strong{font-size:18px}.dial-display{background:var(--panel-subtle);border:1px solid var(--line);border-radius:8px;font-size:24px;line-height:1.2;min-height:58px;overflow-wrap:anywhere;padding:14px}.dial-grid{display:grid;grid-gap:8px;gap:8px;grid-template-columns:repeat(3,1fr)}.dial-key{background:#ffffff;border:1px solid var(--line);border-radius:6px;cursor:pointer;min-height:42px}.dial-key:disabled{cursor:not-allowed;opacity:.6}.call-history-layout{display:grid;grid-gap:16px;gap:16px;grid-template-columns:minmax(0,1fr)}.call-history-layout:has(.call-detail-panel){grid-template-columns:minmax(0,1fr) minmax(320px,.42fr)}.call-detail-panel,.call-history-panel{align-self:start}.call-filter-form{align-items:end;display:grid;grid-gap:12px;gap:12px;grid-template-columns:repeat(6,minmax(140px,1fr));margin-bottom:16px}.filter-actions{display:flex;gap:8px}.event-list{display:grid;grid-gap:10px;gap:10px;margin-top:18px}.event-list h3{font-size:16px;margin:0}.event-item{background:var(--panel-subtle);border:1px solid var(--line);border-radius:8px;display:grid;grid-gap:8px;gap:8px;padding:12px}.event-item div{align-items:center;display:flex;gap:10px;justify-content:space-between}.event-item span{color:var(--muted);font-size:12px}.event-item pre{background:#ffffff;border:1px solid var(--line);border-radius:6px;color:var(--foreground);margin:0;max-height:220px;overflow:auto;padding:10px;white-space:pre-wrap;word-break:break-word}.sms-layout{display:grid;grid-gap:16px;gap:16px;grid-template-columns:minmax(240px,.7fr) minmax(0,1.3fr)}.sms-thread-list,.sms-thread-view{min-height:520px}.message-list,.sms-send-form,.thread-list{display:grid;grid-gap:10px;gap:10px}.thread-item{background:var(--panel-subtle);border:1px solid var(--line);border-radius:8px;color:var(--foreground);cursor:pointer;display:grid;grid-gap:5px;gap:5px;padding:12px;text-align:left;width:100%}.thread-item span{color:var(--muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.thread-item:hover,.thread-item[aria-current=true]{border-color:var(--accent);outline:2px solid var(--accent-soft)}.message-list{align-content:start;background:var(--panel-subtle);min-height:260px;padding:12px}.message-bubble,.message-list{border:1px solid var(--line);border-radius:8px}.message-bubble{display:grid;grid-gap:6px;gap:6px;max-width:min(80%,560px);padding:10px 12px}.message-bubble span{color:var(--muted);font-size:12px}.message-inbound{background:#ffffff;justify-self:start}.message-outbound{background:var(--accent-soft);border-color:#b8dcd5;justify-self:end}.sms-body-field{grid-column:1/-1}.sms-send-form{grid-template-columns:minmax(160px,.7fr) minmax(180px,1fr)}.sms-send-form .button{justify-self:start}@media (max-width:960px){.portal-shell{grid-template-columns:1fr}.sidebar{min-height:auto}.inline-form,.metric-grid,.section-grid,.sms-layout,.sms-send-form,.two-up{grid-template-columns:1fr}.call-filter-form,.call-history-layout:has(.call-detail-panel){grid-template-columns:1fr}}@media (max-width:640px){.auth-shell,.content-shell,.sidebar{padding:16px}.page-header{align-items:flex-start;flex-direction:column;gap:10px}}