@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&family=Plus+Jakarta+Sans:wght@500;600;700;800&display=swap');
/* ───────────────────────── Design tokens ───────────────────────── */
:root{
 --font:'Inter',system-ui,-apple-system,'Segoe UI',sans-serif;--display:'Plus Jakarta Sans','Inter',sans-serif;
 --bg:#f3f5fb;--surface:#fff;--surface-2:#f8f9fd;--surface-3:#eef1f8;--text:#0f172a;--text-2:#334155;--muted:#64748b;--border:#e3e7f0;--border-strong:#cfd6e4;
 --accent:#6d4aff;--accent-2:#4f46e5;--accent-3:#2563eb;--accent-ink:#4c2fd6;--accent-soft:#efeaff;--tint:var(--accent-soft);--primary:var(--accent);
 --grad:linear-gradient(135deg,#7c4dff 0%,#5b44f2 45%,#2f6bff 100%);--grad-warm:linear-gradient(135deg,#ff6a88 0%,#ff8a3d 100%);--grad-cool:linear-gradient(135deg,#06b6d4 0%,#3b82f6 100%);
 --violet:#7c3aed;--violet-soft:#f1eaff;--indigo:#4f46e5;--indigo-soft:#eaeaff;--sky:#0284c7;--sky-soft:#e3f3fd;--teal:#0d9488;--teal-soft:#dff7f4;--emerald:#059669;--emerald-soft:#dcf7ec;
 --amber:#d97706;--amber-soft:#fff3d6;--orange:#ea580c;--orange-soft:#ffeadb;--rose:#e11d48;--rose-soft:#ffe6ec;--fuchsia:#c026d3;--fuchsia-soft:#fbe7fd;--green:var(--emerald);
 --sidebar:linear-gradient(185deg,#0d0f2e 0%,#12133f 55%,#1a1150 100%);--sidebar-text:#c3c6ea;--sidebar-muted:#7e83b8;--sidebar-line:rgba(255,255,255,.08);--sidebar-hover:rgba(255,255,255,.06);
 --shadow-xs:0 1px 2px rgba(15,23,42,.05);--shadow:0 1px 2px rgba(15,23,42,.04),0 6px 20px -6px rgba(15,23,42,.08);--shadow-lg:0 24px 60px -18px rgba(30,27,75,.28);--ring:0 0 0 4px rgba(109,74,255,.16);
 --radius:16px;--radius-sm:10px;--aside:272px;--aside-mini:84px;--topbar:68px;
 font-family:var(--font);color:var(--text);background:var(--bg);color-scheme:light;font-feature-settings:'cv11','ss01';-webkit-font-smoothing:antialiased}
[data-theme=dark]{--bg:#0a0c18;--surface:#11142a;--surface-2:#151935;--surface-3:#1b2042;--text:#e8eaf7;--text-2:#c6cae6;--muted:#8d93b8;--border:#242a4a;--border-strong:#323a62;
 --accent:#9b84ff;--accent-2:#7c83ff;--accent-ink:#c4b5ff;--accent-soft:#251f4d;--violet-soft:#2a1f4f;--indigo-soft:#1f2252;--sky-soft:#0f2a40;--teal-soft:#0d2b2b;--emerald-soft:#0f2c22;--amber-soft:#33250c;--orange-soft:#35200f;--rose-soft:#3a1424;--fuchsia-soft:#33143a;
 --violet:#b18cff;--indigo:#8f93ff;--sky:#4fb8f0;--teal:#2dd4bf;--emerald:#34d399;--amber:#fbbf24;--orange:#fb923c;--rose:#fb7185;--fuchsia:#e879f9;
 --sidebar:linear-gradient(185deg,#070815 0%,#0b0d24 60%,#120c33 100%);--shadow:0 1px 2px rgba(0,0,0,.3),0 8px 24px -10px rgba(0,0,0,.5);--shadow-lg:0 30px 70px -20px rgba(0,0,0,.7);--ring:0 0 0 4px rgba(155,132,255,.22);color-scheme:dark}
/* ───────────────────────── Base ───────────────────────── */
*{box-sizing:border-box}html{background:var(--bg);color:var(--text)}body{margin:0;background:var(--bg)}button,input,textarea,select{font:inherit;color:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}a{color:inherit;text-decoration:none}
h1,h2,h3,p{margin-top:0}h1,h2,h3{font-family:var(--display);letter-spacing:-.025em;color:var(--text)}h1{font-size:30px;line-height:1.2;font-weight:800}h2{font-size:18px;font-weight:700;line-height:1.35}h3{font-size:15px;font-weight:700}p{line-height:1.65}
button:disabled{opacity:.5;cursor:not-allowed}.muted,small{color:var(--muted)}.number{font-variant-numeric:tabular-nums}
.eyebrow,.overline{display:inline-flex;align-items:center;gap:8px;letter-spacing:.14em;font-size:11px;font-weight:700;text-transform:uppercase;color:var(--accent);margin-bottom:14px}
.ov-i{display:inline-flex;width:18px;height:18px;flex-shrink:0}.ov-i svg{width:100%;height:100%}
.brand{display:flex;align-items:center;gap:11px;font-family:var(--display);font-size:22px;font-weight:800;letter-spacing:-.04em;white-space:nowrap}.brand b{display:grid;place-items:center;background:var(--grad);color:#fff;border-radius:12px;width:38px;height:38px;box-shadow:0 8px 20px -6px rgba(109,74,255,.6)}.brand b .ov-i{width:20px;height:20px}.brand sup,.brand>span:not(.brand-name){font-size:10px;letter-spacing:0;opacity:.6}
/* ───────────────────────── Buttons, badges, alerts ───────────────────────── */
.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:40px;padding:9px 16px;border-radius:var(--radius-sm);border:1px solid var(--border);background:var(--surface);color:var(--text-2);font-weight:600;font-size:13.5px;box-shadow:var(--shadow-xs);transition:background .15s,border-color .15s,color .15s,box-shadow .15s,transform .15s}
.button:hover{border-color:var(--border-strong);background:var(--surface-2);color:var(--text)}.button:active{transform:translateY(1px)}
.button.primary{background:var(--grad);color:#fff;border-color:transparent;box-shadow:0 8px 18px -8px rgba(91,68,242,.7),inset 0 1px 0 rgba(255,255,255,.18)}.button.primary:hover{filter:brightness(1.06);box-shadow:0 12px 24px -10px rgba(91,68,242,.8)}
.button.danger{color:var(--rose);border-color:color-mix(in srgb,var(--rose) 30%,var(--border))}.button.danger:hover{background:var(--rose-soft);color:var(--rose)}.modal .button.danger,.confirm-dialog .button.danger{background:var(--rose);color:#fff;border-color:var(--rose)}
.button.large{min-height:50px;padding:13px 24px;font-size:15px}.button.full{width:100%;justify-content:space-between}.button.small{min-height:32px;padding:5px 11px;font-size:12px;border-radius:8px}
.text-button{padding:0;border:0;background:none;color:var(--accent);font-weight:600}.text-button:hover{color:var(--accent-ink)}
.icon-button{display:inline-grid;place-items:center;background:var(--surface);border:1px solid var(--border);color:var(--muted);border-radius:var(--radius-sm);width:38px;height:38px;transition:all .15s}.icon-button:hover{color:var(--accent);border-color:color-mix(in srgb,var(--accent) 35%,var(--border));background:var(--accent-soft)}
.avatar{display:inline-grid;place-items:center;flex-shrink:0;width:42px;height:42px;border-radius:50%;background:linear-gradient(135deg,#ffd6e0,#e6dcff);color:#5b3fb8;font-size:14px;font-weight:700;letter-spacing:.02em}.avatar.small{width:32px;height:32px;font-size:11px}
.badge,.status-badge,.tag{display:inline-flex;align-items:center;gap:6px;border-radius:999px;padding:4px 10px;font-size:11.5px;font-weight:600;background:var(--accent-soft);color:var(--accent-ink);white-space:nowrap;line-height:1.4}
.badge::before{content:'';width:6px;height:6px;border-radius:50%;background:currentColor;opacity:.75}.badge.green,.badge.tone-green{background:var(--emerald-soft);color:var(--emerald)}.badge.red,.badge.tone-red{background:var(--rose-soft);color:var(--rose)}.badge.tone-amber{background:var(--amber-soft);color:var(--amber)}.badge.tone-sky{background:var(--sky-soft);color:var(--sky)}.badge.tone-gray{background:var(--surface-3);color:var(--muted)}
.counter{margin-left:auto;min-width:22px;text-align:center;background:var(--grad-warm);color:#fff;padding:2px 7px;border-radius:999px;font-size:11px;font-weight:700}
.status-dot{display:inline-block;width:8px;height:8px;border-radius:50%;background:#22c55e;box-shadow:0 0 0 4px rgba(34,197,94,.18);flex-shrink:0}
.alert{position:relative;padding:13px 16px 13px 18px;border-radius:12px;background:var(--accent-soft);color:var(--accent-ink);font-size:13.5px;margin:15px 0;line-height:1.55;border:1px solid color-mix(in srgb,var(--accent) 22%,transparent)}.alert::before{content:'';position:absolute;left:0;top:10px;bottom:10px;width:3px;border-radius:3px;background:currentColor;opacity:.7}
.alert.error{background:var(--rose-soft);color:var(--rose);border-color:color-mix(in srgb,var(--rose) 25%,transparent)}.alert.success{background:var(--emerald-soft);color:var(--emerald);border-color:color-mix(in srgb,var(--emerald) 25%,transparent)}.alert button{margin-left:10px}
.callout{padding:16px 18px;border-radius:14px;background:linear-gradient(135deg,var(--sky-soft),var(--accent-soft));border:1px solid var(--border);font-size:13.5px}
.empty{padding:56px 20px;text-align:center;color:var(--muted);font-size:14px}.empty::before{content:'';display:block;width:56px;height:56px;margin:0 auto 14px;border-radius:16px;background:var(--accent-soft) radial-gradient(circle at 50% 50%,color-mix(in srgb,var(--accent) 45%,transparent) 0 5px,transparent 6px)}
/* ───────────────────────── Forms ───────────────────────── */
.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:4px 20px}.span-2{grid-column:1/-1}
label{display:flex;flex-direction:column;gap:7px;font-size:12.5px;font-weight:600;color:var(--text-2);margin-bottom:16px;letter-spacing:.005em}label small{font-weight:400}
input,select,textarea{border:1.5px solid var(--border);background:var(--surface);color:var(--text);padding:10px 13px;border-radius:var(--radius-sm);min-width:0;outline:none;width:100%;font-size:14px;font-weight:400;line-height:1.4;min-height:42px;transition:border-color .15s,box-shadow .15s,background .15s;box-shadow:var(--shadow-xs)}
input::placeholder,textarea::placeholder{color:color-mix(in srgb,var(--muted) 75%,transparent)}input:hover,select:hover,textarea:hover{border-color:var(--border-strong)}
input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:var(--ring);background:var(--surface)}input:disabled,select:disabled,textarea:disabled{background:var(--surface-2);color:var(--muted)}
select{appearance:none;-webkit-appearance:none;padding-right:38px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;background-size:16px;cursor:pointer}
select[multiple]{background-image:none;padding-right:13px}
textarea{min-height:110px;resize:vertical;line-height:1.6}input[type=file]{padding:8px;min-height:auto}input[type=color]{padding:4px;height:42px}
input[type=checkbox],input[type=radio]{appearance:none;-webkit-appearance:none;width:20px;height:20px;min-height:0;padding:0;margin:0;border:1.5px solid var(--border-strong);background:var(--surface);flex-shrink:0;display:inline-grid;place-items:center;cursor:pointer;box-shadow:none}
input[type=checkbox]{border-radius:6px}input[type=radio]{border-radius:50%}
input[type=checkbox]:checked{background:var(--grad) ;border-color:transparent}input[type=checkbox]:checked::after{content:'';width:10px;height:6px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:translateY(-1px) rotate(-45deg)}
input[type=radio]:checked{border:6px solid var(--accent)}
label.check{flex-direction:row;align-items:center;gap:12px;color:var(--text);font-weight:500;font-size:13.5px;padding:12px 14px;border:1.5px solid var(--border);border-radius:12px;background:var(--surface-2);cursor:pointer}label.check:hover{border-color:var(--border-strong)}
/* A checkbox inside a check row reads as a switch. */
label.check input[type=checkbox],.toggle-row input[type=checkbox]{width:40px;height:23px;border-radius:999px;border:0;background:var(--border-strong);position:relative;transition:background .2s}
label.check input[type=checkbox]::after,.toggle-row input[type=checkbox]::after{content:'';position:absolute;top:3px;left:3px;width:17px;height:17px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .2s;border:0;transform:none}
label.check input[type=checkbox]:checked,.toggle-row input[type=checkbox]:checked{background:var(--grad)}label.check input[type=checkbox]:checked::after,.toggle-row input[type=checkbox]:checked::after{transform:translateX(17px);width:17px;height:17px;border:0}
fieldset{border:1px solid var(--border);border-radius:14px;padding:18px 20px 6px;margin:0 0 18px}legend{padding:0 8px;font-weight:700;font-size:13px;color:var(--text)}
.inline-form{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.inline-form label{margin-bottom:0;flex:1;min-width:180px}
.field-error{color:var(--rose);font-size:12px;margin-top:-2px;font-weight:500}[aria-invalid=true]{border-color:var(--rose)!important;box-shadow:0 0 0 4px color-mix(in srgb,var(--rose) 14%,transparent)!important}
form .modal-actions,form>.button.primary{margin-top:8px}
/* ───────────────────────── Surfaces ───────────────────────── */
.panel{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow);padding:24px}.panel>h2:first-child{display:flex;align-items:center;gap:10px}
.page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin-bottom:26px;flex-wrap:wrap}.page-heading h1{margin-bottom:6px}.page-heading p{color:var(--muted);font-size:14px;margin:0}.panel .page-heading{align-items:flex-start}
.section-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px}.section-heading h2{margin:0}
.toolbar{display:flex;justify-content:space-between;gap:12px;align-items:center;margin:18px 0;flex-wrap:wrap}.toolbar input{max-width:340px;padding-left:38px;background:var(--surface) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2' stroke-linecap='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M21 21l-4.3-4.3'/%3E%3C/svg%3E") no-repeat 12px center/17px}.toolbar .button{white-space:nowrap}.toolbar h2{margin:0}
.actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.tabs{display:flex;gap:4px;border-bottom:1px solid var(--border);margin-bottom:24px;overflow:auto;scrollbar-width:none}.tabs button{background:none;border:0;border-bottom:2px solid transparent;padding:12px 14px;color:var(--muted);font-size:13.5px;font-weight:600;white-space:nowrap;margin-bottom:-1px;border-radius:8px 8px 0 0}.tabs button:hover{color:var(--text);background:var(--surface-2)}.tabs button.active{color:var(--accent);border-color:var(--accent)}
.segment{display:inline-flex;padding:4px;border:1px solid var(--border);border-radius:12px;background:var(--surface-2);gap:3px}.segment button{border:0;background:none;border-radius:9px;padding:7px 14px;color:var(--muted);font-weight:600;font-size:13px}.segment button.active{background:var(--surface);color:var(--accent);box-shadow:var(--shadow)}
.help-card{background:linear-gradient(160deg,var(--accent-soft),var(--sky-soft));padding:22px;border-radius:var(--radius);align-self:start;color:var(--text-2);font-size:13px;border:1px solid var(--border);position:sticky;top:calc(var(--topbar) + 20px)}.help-card p{margin:0}.help-card h2,.help-card h3{color:var(--accent-ink)}
.settings-grid{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:24px}.settings-main{display:flex;flex-direction:column;gap:20px}
.card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}.card-grid>*{transition:transform .2s,box-shadow .2s}.card-grid>.panel:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}.card-grid h2{margin:14px 0 8px}.card-grid p{color:var(--muted);font-size:13px}
.card-bottom{display:flex;justify-content:space-between;align-items:center;border-top:1px solid var(--border);margin-top:18px;padding-top:16px}
.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:22px}.detail-list{display:flex;flex-direction:column;gap:0}.detail-list>div{display:flex;justify-content:space-between;gap:20px;font-size:13.5px;padding:12px 0;border-bottom:1px dashed var(--border)}.detail-list>div:last-child{border-bottom:0}.detail-list span{color:var(--muted)}
.facts{display:grid;grid-template-columns:max-content 1fr;gap:8px 18px;margin:12px 0;font-size:13.5px}.facts dt{color:var(--muted)}.facts dd{margin:0;overflow-wrap:anywhere;font-weight:500}
.code,pre{white-space:pre-wrap;word-break:break-word;max-height:480px;overflow:auto;padding:18px;background:#0f1229;color:#d7dbff;border-radius:12px;font:12.5px/1.65 ui-monospace,'SFMono-Regular',Menlo,monospace;border:1px solid #232a52}code{font-family:ui-monospace,Menlo,monospace;font-size:.92em}code.secret{background:var(--surface-3);padding:2px 6px;border-radius:6px}
.checklist{list-style:none;padding:0;margin:0;display:grid;gap:8px}.checklist li{display:flex;gap:10px;align-items:flex-start;padding:10px 12px;border-radius:10px;background:var(--surface-2);font-size:13.5px}.checklist li::before{content:'';width:18px;height:18px;border-radius:50%;border:2px solid var(--border-strong);flex-shrink:0;margin-top:1px}.checklist li.done::before{background:var(--emerald) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12l5 5 9-10'/%3E%3C/svg%3E") center/12px no-repeat;border-color:var(--emerald)}
/* ───────────────────────── Tables ───────────────────────── */
.table-wrap{overflow:auto;padding:0;max-width:100%;-webkit-overflow-scrolling:touch}table{border-collapse:separate;border-spacing:0;width:100%;font-size:13.5px;text-align:left}
th{color:var(--muted);font-weight:600;background:var(--surface-2);font-size:11px;letter-spacing:.08em;text-transform:uppercase;padding:13px 16px;white-space:nowrap;border-bottom:1px solid var(--border);position:sticky;top:0;z-index:1}
td{padding:14px 16px;border-bottom:1px solid var(--border);vertical-align:middle}tbody tr:last-child td{border-bottom:0}tbody tr{transition:background .12s}tbody tr:hover{background:color-mix(in srgb,var(--accent-soft) 55%,transparent)}td small{display:block;margin-top:3px}
.panel.table-wrap>table th:first-child{border-top-left-radius:var(--radius)}.panel.table-wrap>table th:last-child{border-top-right-radius:var(--radius)}
tr.clickable{cursor:pointer}.row-person{display:flex;align-items:center;gap:12px;color:var(--text);font-weight:600}.row-person .avatar{width:34px;height:34px;font-size:12px}
.table-wrap table td:last-child,.table-wrap table th:last-child{position:sticky;right:0;background:var(--surface)}.table-wrap table th:last-child{background:var(--surface-2)}
.pagination{display:flex;justify-content:flex-end;align-items:center;gap:12px;padding:14px 16px;color:var(--muted);font-size:13px;border-top:1px solid var(--border)}
/* ───────────────────────── Modal ───────────────────────── */
.modal-backdrop{position:fixed;inset:0;background:rgba(10,12,32,.55);z-index:100;display:flex;align-items:center;justify-content:center;padding:22px;backdrop-filter:blur(6px);animation:fade .18s ease-out}
.modal{position:relative;background:var(--surface);border-radius:20px;padding:28px;max-height:90vh;overflow:auto;width:660px;max-width:100%;box-shadow:var(--shadow-lg);border:1px solid var(--border);animation:pop .22s cubic-bezier(.2,.9,.3,1.2)}.modal::before{content:'';position:absolute;left:0;right:0;top:0;height:4px;background:var(--grad)}
.modal.wide{width:900px}.modal-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:22px;gap:12px}.modal-heading h2{margin:0;font-size:20px}.modal-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:22px;padding-top:18px;border-top:1px solid var(--border)}
.confirm-resource{background:var(--surface-2);padding:10px 12px;border-radius:10px;border:1px solid var(--border)}
@keyframes fade{from{opacity:0}}@keyframes pop{from{opacity:0;transform:translateY(10px) scale(.98)}}@keyframes rise{from{opacity:0;transform:translateY(8px)}}
/* ───────────────────────── Domain widgets ───────────────────────── */
.slot-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin-bottom:20px}.slot{border:1.5px solid var(--border);background:var(--surface);padding:10px;border-radius:10px;color:var(--text-2);font-weight:600;font-size:13px;transition:all .15s}.slot:hover{border-color:var(--accent)}.slot.active{background:var(--grad);border-color:transparent;color:#fff;box-shadow:0 8px 16px -8px rgba(91,68,242,.7)}
.metric-grid{display:grid;grid-template-columns:repeat(5,1fr);gap:16px;margin:22px 0}.metric-card{position:relative;overflow:hidden;background:var(--surface);padding:20px;border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow)}.metric-card::after{content:'';position:absolute;inset:0 0 auto;height:3px;background:var(--grad)}.metric-card:nth-child(5n+2)::after{background:var(--grad-cool)}.metric-card:nth-child(5n+3)::after{background:linear-gradient(90deg,#10b981,#14b8a6)}.metric-card:nth-child(5n+4)::after{background:linear-gradient(90deg,#f59e0b,#f97316)}.metric-card:nth-child(5n)::after{background:var(--grad-warm)}
.metric-card small{font-size:12px;font-weight:600}.metric-card strong{display:block;font-family:var(--display);font-size:30px;margin:12px 0 6px;letter-spacing:-.03em}.metric-card p{font-size:12px;margin:0;color:var(--muted)}
.hero-panel{position:relative;overflow:hidden;background:var(--grad);color:#fff;padding:28px 32px;border-radius:20px;display:flex;align-items:center;justify-content:space-between;gap:20px;box-shadow:0 20px 50px -24px rgba(79,70,229,.8)}.hero-panel::after{content:'';position:absolute;right:-60px;top:-80px;width:320px;height:320px;border-radius:50%;background:radial-gradient(circle,rgba(255,255,255,.22),transparent 65%)}.hero-panel h2{font-size:22px;margin-bottom:8px;color:#fff}.hero-panel p{max-width:560px;color:rgba(255,255,255,.82);margin:0;font-size:13.5px}.hero-panel .eyebrow{color:rgba(255,255,255,.85)}.hero-icon{font-size:56px;opacity:.9}
.chart-bars{height:170px;display:flex;align-items:flex-end;gap:6px;border-bottom:1px solid var(--border);padding:10px 0}.chart-bars>div{flex:1;background:linear-gradient(180deg,#8b5cf6,#6366f1);border-radius:6px 6px 2px 2px;min-height:3px;opacity:.9}.chart-bars>div:hover{opacity:1}.chart-caption{display:flex;justify-content:space-between;margin-top:10px;font-size:11px;color:var(--muted)}
.list-item{display:flex;justify-content:space-between;align-items:center;gap:14px;padding:14px 10px;margin:0 -10px;border-top:1px solid var(--border);font-size:13.5px;border-radius:10px;transition:background .12s}.list-item:hover{background:var(--surface-2)}.list-item p{margin:3px 0 0;font-size:12.5px;color:var(--muted);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--border);border-radius:var(--radius);overflow:hidden;background:var(--surface);box-shadow:var(--shadow)}.day-heading{padding:16px 10px;text-align:center;border-right:1px solid var(--border);color:var(--muted);font-size:11.5px;font-weight:600;text-transform:uppercase;letter-spacing:.08em;background:var(--surface-2)}.day-heading strong{display:block;font-family:var(--display);font-size:24px;color:var(--text);margin:10px auto 0;letter-spacing:-.02em}.day-heading.today strong{border-radius:12px;background:var(--grad);color:#fff;width:42px;height:42px;line-height:42px;box-shadow:0 8px 16px -8px rgba(91,68,242,.8)}
.calendar-day{min-height:410px;padding:8px;border-top:1px solid var(--border);border-right:1px solid var(--border)}.calendar-grid.month .calendar-day{min-height:140px}
.calendar-event{display:flex;flex-direction:column;gap:6px;text-align:left;width:100%;border:0;border-left:3px solid var(--violet);border-radius:10px;padding:10px;background:var(--violet-soft);color:var(--accent-ink);font-size:12px;margin-bottom:8px;line-height:1.45;font-weight:600;box-shadow:var(--shadow-xs);transition:transform .12s}.calendar-event:hover{transform:translateY(-1px)}.calendar-event small{color:inherit;opacity:.8;font-weight:500}
.calendar-event.green{background:var(--emerald-soft);color:var(--emerald);border-color:var(--emerald)}.calendar-event.blue{background:var(--sky-soft);color:var(--sky);border-color:var(--sky)}.calendar-event.completed{opacity:.55}.calendar-scroll{overflow:auto}
.conversation-layout{display:grid;grid-template-columns:340px minmax(0,1fr);gap:20px}.conversation-layout>*{min-width:0}.message{overflow-wrap:anywhere}.tool-message{align-self:center;max-width:92%;padding:6px 12px;border-radius:999px;background:var(--surface-2);font-size:12px;color:var(--muted)}.tool-message[open]{border-radius:12px;width:92%}.tool-message summary{font-weight:600;font-size:12px}.tool-message code{display:block;margin-top:8px;max-height:160px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere;font-size:11.5px}.conversation-list{padding:8px;max-height:740px;overflow:auto}.conversation-row{display:block;width:100%;text-align:left;background:none;color:var(--text);border:0;border-radius:12px;padding:14px;margin-bottom:2px;transition:background .12s}.conversation-row:hover{background:var(--surface-2)}.conversation-row.active{background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent)}.conversation-row p{margin:6px 0 0;font-size:12.5px;color:var(--muted)}
.transcript{display:flex;flex-direction:column;gap:12px;max-height:480px;overflow:auto;margin:22px 0;padding:4px}.message{padding:12px 16px;border-radius:16px 16px 16px 4px;background:var(--surface-2);border:1px solid var(--border);max-width:86%;font-size:13.5px;line-height:1.6}.message.assistant{background:var(--grad);color:#fff;border-color:transparent;align-self:flex-end;border-radius:16px 16px 4px 16px}.message.assistant small{color:rgba(255,255,255,.75)}.message small{display:block;margin-bottom:4px;font-weight:600;font-size:11px}
.call-summary{background:linear-gradient(135deg,var(--accent-soft),var(--sky-soft));border-radius:14px;padding:18px;font-size:13.5px;border:1px solid var(--border)}
.timeline-item{position:relative;border-left:2px solid var(--border);padding:0 0 20px 22px;margin-left:8px;font-size:13.5px}.timeline-item::before{content:'';position:absolute;left:-7px;top:2px;width:12px;height:12px;border-radius:50%;background:var(--surface);border:3px solid var(--accent)}.timeline-item p{margin:6px 0}.timeline-item h3{font-size:14px}
.toggle-row{display:flex;justify-content:space-between;align-items:center;gap:16px;padding:14px 0;border-bottom:1px solid var(--border)}.toggle-row label{margin:0}.toggle-row:last-child{border-bottom:0}
audio{width:100%;margin-top:18px;border-radius:12px}details{border:1px solid var(--border);border-radius:12px;padding:12px 16px;background:var(--surface)}summary{cursor:pointer;font-weight:600}
/* ───────────────────────── Shell ───────────────────────── */
ov-shell>aside{position:fixed;left:0;top:0;bottom:0;width:var(--aside);padding:18px 14px 14px;background:var(--sidebar);color:var(--sidebar-text);z-index:60;display:flex;flex-direction:column;overflow:hidden;transition:width .22s ease,transform .25s ease;box-shadow:inset -1px 0 0 var(--sidebar-line)}
ov-shell>aside::before{content:'';position:absolute;left:-80px;top:-80px;width:260px;height:260px;border-radius:50%;background:radial-gradient(circle,rgba(124,77,255,.35),transparent 70%);pointer-events:none}
.aside-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:2px 4px 20px;position:relative}ov-shell>aside .brand{color:#fff;font-size:21px}.brand-name sup{font-size:9px;opacity:.6;margin-left:1px}
.collapse-toggle{background:transparent!important;border-color:var(--sidebar-line)!important;color:var(--sidebar-muted)!important;width:32px;height:32px}.collapse-toggle:hover{color:#fff!important;background:var(--sidebar-hover)!important}
.business-picker{position:relative;border:1px solid var(--sidebar-line);border-radius:14px;padding:10px 12px;margin-bottom:16px;background:rgba(255,255,255,.04);gap:6px}.business-picker small{font-size:10px;letter-spacing:.12em;text-transform:uppercase;color:var(--sidebar-muted);font-weight:600}
.picker-row{display:flex;align-items:center;gap:10px}.picker-avatar{display:grid;place-items:center;width:30px;height:30px;border-radius:9px;background:var(--grad-cool);color:#fff;font-size:11px;font-weight:700;flex-shrink:0}
.business-picker select{padding:0 22px 0 0;border:0;font-weight:600;font-size:13.5px;background-color:transparent;color:#fff;min-height:0;box-shadow:none;background-position:right 0 center;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23aab0e6' stroke-width='2' stroke-linecap='round'%3E%3Cpath d='M7 15l5 5 5-5M7 9l5-5 5 5'/%3E%3C/svg%3E")}.business-picker select:focus{box-shadow:none}.business-picker select option,.business-picker select optgroup{color:#0f172a;background:#fff}
ov-shell>aside nav{display:flex;flex-direction:column;gap:2px;overflow-y:auto;overflow-x:hidden;margin:0 -6px;padding:0 6px 10px;flex:1;scrollbar-width:thin;scrollbar-color:rgba(255,255,255,.12) transparent}
.nav-group{margin-bottom:6px}.nav-caption{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:0;color:var(--sidebar-muted);letter-spacing:.13em;font-size:10.5px;font-weight:700;text-transform:uppercase;padding:10px 10px 6px;border-radius:8px}.nav-caption:hover{color:#fff}.nav-caption .caret{width:14px;height:14px;transition:transform .2s}.nav-group.collapsed .caret{transform:rotate(-90deg)}
.nav-items{display:grid;gap:2px;overflow:hidden}.nav-group.collapsed .nav-items{display:none}
ov-shell>aside nav a{position:relative;display:flex;align-items:center;gap:12px;padding:9px 12px;font-size:13.5px;color:var(--sidebar-text);border-radius:10px;font-weight:500;white-space:nowrap;transition:background .15s,color .15s}
ov-shell>aside nav a:hover{background:var(--sidebar-hover);color:#fff}ov-shell>aside nav a.active{background:linear-gradient(90deg,rgba(124,77,255,.95),rgba(79,70,229,.85));color:#fff;box-shadow:0 10px 24px -12px rgba(124,77,255,.9),inset 0 1px 0 rgba(255,255,255,.15)}
ov-shell>aside nav a.active::before{content:'';position:absolute;left:-6px;top:9px;bottom:9px;width:3px;border-radius:3px;background:#c4b5ff}
.nav-icon{width:19px;height:19px;opacity:.9}.nav-label{overflow:hidden;text-overflow:ellipsis}
.sidebar-bottom{margin-top:8px;padding-top:12px;border-top:1px solid var(--sidebar-line);display:grid;gap:10px;font-size:12px;color:var(--sidebar-muted)}
.agent-status{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:12px;background:rgba(34,197,94,.08);border:1px solid rgba(34,197,94,.18)}.agent-status.warn{background:rgba(245,158,11,.1);border-color:rgba(245,158,11,.25)}.agent-status.warn .status-dot{background:#f59e0b;box-shadow:0 0 0 4px rgba(245,158,11,.2)}
.agent-text strong{display:block;color:#fff;font-size:12.5px}.agent-text small{color:var(--sidebar-muted);font-size:11px}
.user-chip{display:flex;gap:10px;align-items:center;padding:8px;border-radius:12px;color:#fff;font-size:12.5px;font-weight:600;transition:background .15s}.user-chip:hover{background:var(--sidebar-hover)}.user-chip .avatar{width:36px;height:36px;font-size:12px}.user-chip small{display:block;margin-top:2px;font-size:11px;color:var(--sidebar-muted);font-weight:500}.user-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
/* Mini sidebar: icons only, labels as tooltips. */
ov-shell>aside.mini{width:var(--aside-mini)}aside.mini .brand-name,aside.mini .business-picker small,aside.mini .business-picker select,aside.mini .nav-caption span,aside.mini .nav-label,aside.mini .counter,aside.mini .agent-text,aside.mini .user-text{display:none}
aside.mini .aside-head{flex-direction:column;gap:12px}aside.mini .business-picker{padding:8px;display:grid;place-items:center}aside.mini .nav-caption{justify-content:center;padding:8px 0 4px}aside.mini .nav-caption .caret{display:none}aside.mini .nav-caption::before{content:'';width:18px;height:1px;background:var(--sidebar-line)}aside.mini nav a{justify-content:center;padding:11px 0}aside.mini .agent-status,aside.mini .user-chip{justify-content:center}
.topbar{position:sticky;top:0;z-index:50;height:var(--topbar);margin-left:var(--aside);display:flex;align-items:center;gap:18px;padding:0 32px;background:color-mix(in srgb,var(--surface) 82%,transparent);backdrop-filter:saturate(1.6) blur(14px);-webkit-backdrop-filter:saturate(1.6) blur(14px);border-bottom:1px solid var(--border);transition:margin-left .22s ease}
.topbar.mini,.workspace-main.mini,.workspace-footer.mini{margin-left:var(--aside-mini)}
.crumbs{display:flex;align-items:center;gap:12px;min-width:0;flex:0 1 auto}.breadcrumb{font-size:13px;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.breadcrumb>span{margin:0 8px;opacity:.45}.breadcrumb em{font-style:normal}.breadcrumb strong{color:var(--text);font-weight:600}
.env-badge{display:inline-flex;align-items:center;gap:7px;padding:5px 11px;border-radius:999px;font-size:11px;font-weight:800;letter-spacing:.1em;background:var(--amber-soft);color:#b45309;border:1px solid color-mix(in srgb,#f59e0b 35%,transparent);white-space:nowrap}.env-badge.live{background:var(--emerald-soft);color:var(--emerald);border-color:color-mix(in srgb,#10b981 35%,transparent)}
.env-dot{width:7px;height:7px;border-radius:50%;background:currentColor;box-shadow:0 0 0 3px color-mix(in srgb,currentColor 22%,transparent);animation:pulse 2.4s infinite}@keyframes pulse{50%{box-shadow:0 0 0 6px color-mix(in srgb,currentColor 6%,transparent)}}
.command{position:relative;flex:1 0 240px;max-width:440px;margin-left:auto}.command input{padding-left:40px;padding-right:64px;background:var(--surface-2);border-color:var(--border);min-height:40px;border-radius:12px;font-size:13.5px;box-shadow:none}.command input:focus{background:var(--surface)}.command input::-webkit-search-cancel-button{display:none}
.command-icon{position:absolute;left:13px;top:50%;transform:translateY(-50%);width:17px;height:17px;color:var(--muted);pointer-events:none}.command kbd{position:absolute;right:10px;top:50%;transform:translateY(-50%);font:600 10.5px var(--font);color:var(--muted);background:var(--surface);border:1px solid var(--border);border-bottom-width:2px;border-radius:6px;padding:2px 6px;pointer-events:none}
.command-results{position:absolute;left:0;right:0;top:48px;z-index:90;background:var(--surface);border:1px solid var(--border);border-radius:14px;box-shadow:var(--shadow-lg);padding:6px;display:grid;gap:2px;animation:rise .15s ease-out}.command-results a{display:flex;align-items:center;gap:12px;padding:10px 12px;border-radius:10px;font-size:13.5px;font-weight:600}.command-results a small{display:block;font-weight:500;font-size:11.5px}.command-results a .ov-i{color:var(--accent)}.command-results a.focused,.command-results a:hover{background:var(--accent-soft)}.command-results p{margin:8px 12px;font-size:13px}
.top-actions{display:flex;align-items:center;gap:8px}.top-divider{width:1px;height:26px;background:var(--border);margin:0 4px}
.pref-select{width:auto;border:1px solid transparent;font-size:12.5px;font-weight:600;padding:6px 28px 6px 10px;background-color:transparent;color:var(--muted);min-height:34px;box-shadow:none;background-position:right 8px center;background-size:14px}.pref-select:hover{background-color:var(--surface-2);border-color:var(--border)}
.profile-dropdown{position:relative}.profile-toggle{display:flex;align-items:center;gap:10px;padding:4px 10px 4px 4px;border:1px solid var(--border);border-radius:999px;background:var(--surface);cursor:pointer;transition:all .15s;color:var(--text)}.profile-toggle:hover{border-color:var(--border-strong);box-shadow:var(--shadow)}.profile-toggle .caret{width:14px;height:14px;color:var(--muted)}
.profile-name{display:flex;flex-direction:column;text-align:left;font-size:12.5px;font-weight:600;line-height:1.2;max-width:150px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-name small{font-size:11px;font-weight:500}
.profile-menu{position:absolute;right:0;top:50px;width:270px;display:flex;flex-direction:column;gap:2px;padding:8px;background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-lg);z-index:80;animation:rise .15s ease-out}
.profile-head{display:flex;gap:12px;align-items:center;padding:10px 10px 14px;margin-bottom:4px;border-bottom:1px solid var(--border)}.profile-head strong{display:block;font-size:13.5px}.profile-head small{font-size:11.5px;overflow-wrap:anywhere}
.profile-menu a,.profile-menu button{display:flex;align-items:center;gap:10px;text-align:left;font-size:13px;font-weight:500;padding:10px;border:0;border-radius:10px;background:none;color:var(--text)}.profile-menu a .ov-i,.profile-menu button .ov-i{color:var(--muted);width:16px;height:16px}.profile-menu a:hover,.profile-menu button:hover{background:var(--surface-2)}.profile-menu .logout{color:var(--rose)}.profile-menu .logout .ov-i{color:var(--rose)}.profile-menu .ui-version{padding:6px 10px}
.notify{position:relative}.notify-toggle{position:relative}.notify-toggle .counter{position:absolute;top:-7px;right:-7px;margin:0;padding:1px 6px;font-size:10px;border:2px solid var(--surface)}
.notify-panel{position:absolute;right:0;top:50px;z-index:80;width:340px;max-width:calc(100vw - 32px);max-height:480px;overflow:auto;background:var(--surface);border:1px solid var(--border);border-radius:16px;box-shadow:var(--shadow-lg);padding:12px;display:flex;flex-direction:column;gap:4px;animation:rise .15s ease-out}.notify-panel>strong{padding:4px 6px 8px;font-size:13px}
.notify-item{display:flex;justify-content:space-between;gap:10px;font-size:13px;padding:10px;border-radius:10px}.notify-item:hover{background:var(--surface-2)}.notify-item.unread{background:var(--accent-soft)}.notify-item.unread span::before{content:'';display:inline-block;width:7px;height:7px;border-radius:50%;background:var(--accent);margin-right:8px;vertical-align:middle}
.help-panel{position:fixed;right:20px;top:calc(var(--topbar) + 10px);z-index:85;width:360px;max-width:calc(100vw - 32px);background:var(--surface);border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow-lg);padding:20px;font-size:13.5px;animation:rise .15s ease-out}.help-panel::before{content:'';position:absolute;left:0;right:0;top:0;height:4px;border-radius:18px 18px 0 0;background:var(--grad-cool)}.help-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:8px}.help-panel ul{padding-left:18px;margin:8px 0}.help-panel li{margin:4px 0}
.workspace-main{position:relative;margin-left:var(--aside);padding:30px 32px 48px;min-height:calc(100vh - var(--topbar) - 48px);min-width:0;transition:margin-left .22s ease;animation:rise .25s ease-out}
.workspace-footer{margin-left:var(--aside);padding:0 32px 22px;color:var(--muted);font-size:11px;display:flex;justify-content:space-between;gap:12px;align-items:center;transition:margin-left .22s ease}.footer-brand{font-weight:800;letter-spacing:.16em;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.workspace-footer .ui-version{margin:0}
.mobile-menu{display:none}.aside-scrim{display:none}
.public-main{min-height:100vh}.public-preferences{position:fixed;right:22px;bottom:18px;z-index:10;display:flex;gap:7px;padding:5px;border-radius:14px;background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow)}.public-preferences select{width:auto;padding:7px 30px 7px 10px;font-size:12px;min-height:34px}
.ui-version{display:block;font-size:11px;color:var(--muted);margin-top:4px}.draft-notice{display:flex;justify-content:space-between;gap:12px;align-items:center}
.connection-banner{position:sticky;top:0;z-index:90;background:var(--amber-soft);color:#92400e;border-bottom:1px solid color-mix(in srgb,#f59e0b 30%,transparent);padding:10px 20px;font-size:13px;font-weight:500;text-align:center}.connection-banner.server{background:var(--rose-soft);color:var(--rose)}
.consent-banner{position:relative;z-index:95;background:var(--surface);border-bottom:1px solid var(--border);padding:14px 20px;font-size:13px;box-shadow:var(--shadow)}.consent-banner p{margin:0 0 12px}
.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.shell-skip{position:fixed;left:12px;top:-60px;z-index:300;background:var(--accent);color:#fff;padding:10px 16px;border-radius:10px;font-weight:600}.shell-skip:focus{top:12px}
:focus-visible{outline:3px solid color-mix(in srgb,var(--accent) 70%,transparent);outline-offset:2px}main:focus,h1:focus{outline:none}input:focus-visible,select:focus-visible,textarea:focus-visible{outline:none}
/* ───────────────────────── Dashboard ───────────────────────── */
.dash-hero{position:relative;overflow:hidden;display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:28px;align-items:center;padding:30px 34px;border-radius:22px;color:#fff;background:radial-gradient(120% 140% at 0% 0%,#8b5cf6 0%,transparent 55%),radial-gradient(120% 140% at 100% 100%,#0ea5e9 0%,transparent 50%),linear-gradient(135deg,#4c1d95 0%,#4338ca 50%,#1e40af 100%);box-shadow:0 30px 60px -30px rgba(67,56,202,.9)}
.dash-hero::after{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40'%3E%3Cpath d='M40 0H0v40' fill='none' stroke='white' stroke-opacity='.07'/%3E%3C/svg%3E");mask-image:linear-gradient(90deg,transparent,#000 60%);pointer-events:none}
.dash-hero h2{color:#fff;font-size:26px;line-height:1.25;margin:0 0 10px;letter-spacing:-.03em}.dash-hero p{color:rgba(255,255,255,.82);margin:0 0 20px;font-size:14px;max-width:520px}.dash-hero .eyebrow{color:#ddd6fe;margin-bottom:12px}
.hero-chip{display:inline-flex;align-items:center;gap:8px;padding:5px 12px 5px 8px;border-radius:999px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.22);font-size:12px;font-weight:600;margin-bottom:14px;backdrop-filter:blur(6px)}.hero-chip .status-dot{box-shadow:0 0 0 4px rgba(34,197,94,.3)}.hero-chip.warn .status-dot{background:#fbbf24}
.hero-actions{display:flex;gap:10px;flex-wrap:wrap;position:relative;z-index:1}.hero-actions .button{background:rgba(255,255,255,.14);color:#fff;border-color:rgba(255,255,255,.25);box-shadow:none;backdrop-filter:blur(6px)}.hero-actions .button:hover{background:rgba(255,255,255,.24);color:#fff}.hero-actions .button.primary{background:#fff;color:#4338ca;border-color:#fff}.hero-actions .button.primary:hover{color:#3730a3}
.hero-visual{position:relative;z-index:1;display:grid;gap:12px}.hero-stat{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:16px;background:rgba(255,255,255,.1);border:1px solid rgba(255,255,255,.18);backdrop-filter:blur(8px)}.hero-stat .ov-i{width:38px;height:38px;padding:9px;border-radius:12px;background:rgba(255,255,255,.16)}.hero-stat strong{display:block;font-family:var(--display);font-size:22px;letter-spacing:-.02em}.hero-stat small{color:rgba(255,255,255,.75);font-size:12px}
.hero-wave{display:flex;align-items:center;justify-content:space-between;gap:4px;height:56px;padding:0 10px}.hero-wave i{flex:0 0 6px;border-radius:4px;background:linear-gradient(180deg,#fff,rgba(255,255,255,.35));animation:wave 1.6s ease-in-out infinite;transform-origin:center}@keyframes wave{50%{transform:scaleY(.45)}}
.dash-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:28px 0 16px;flex-wrap:wrap}.dash-toolbar h2{margin:0;font-size:19px}.dash-toolbar p{margin:2px 0 0;font-size:13px;color:var(--muted)}
.kpi-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}.kpi{position:relative;overflow:hidden;padding:18px 18px 0;border-radius:var(--radius);background:var(--surface);border:1px solid var(--border);box-shadow:var(--shadow);display:flex;flex-direction:column;transition:transform .2s,box-shadow .2s}.kpi:hover{transform:translateY(-2px);box-shadow:var(--shadow-lg)}
.kpi-top{display:flex;align-items:center;justify-content:space-between;gap:10px}.kpi-top small{font-size:12.5px;font-weight:600;color:var(--text-2)}.kpi-icon{width:38px;height:38px;padding:9px;border-radius:12px}
.kpi strong{display:flex;align-items:baseline;gap:6px;font-family:var(--display);font-size:30px;font-weight:800;letter-spacing:-.035em;margin:14px 0 4px;font-variant-numeric:tabular-nums}.kpi strong small{font-size:13px;font-weight:600;letter-spacing:0}.kpi p{margin:0;font-size:12px;color:var(--muted);display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.delta{display:inline-flex;align-items:center;gap:3px;font-weight:700;font-size:11.5px;padding:2px 7px;border-radius:999px;background:var(--emerald-soft);color:var(--emerald)}.delta.down{background:var(--rose-soft);color:var(--rose)}.delta.flat{background:var(--surface-3);color:var(--muted)}
.spark{display:block;width:calc(100% + 36px);height:52px;margin:12px -18px 0}
.tone-violet{--tone:var(--violet);--tone-soft:var(--violet-soft)}.tone-sky{--tone:var(--sky);--tone-soft:var(--sky-soft)}.tone-emerald{--tone:var(--emerald);--tone-soft:var(--emerald-soft)}.tone-amber{--tone:var(--amber);--tone-soft:var(--amber-soft)}.tone-rose{--tone:var(--rose);--tone-soft:var(--rose-soft)}.tone-teal{--tone:var(--teal);--tone-soft:var(--teal-soft)}.tone-indigo{--tone:var(--indigo);--tone-soft:var(--indigo-soft)}.tone-fuchsia{--tone:var(--fuchsia);--tone-soft:var(--fuchsia-soft)}
.kpi-icon,.chip-icon{color:var(--tone);background:var(--tone-soft)}.spark path.line{stroke:var(--tone)}.spark path.area{fill:var(--tone);opacity:.12}
.dash-grid{display:grid;grid-template-columns:minmax(0,2fr) minmax(0,1fr);gap:18px;margin-top:18px}.dash-grid.three{grid-template-columns:repeat(3,minmax(0,1fr))}
.card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:16px}.card-head h2{margin:0 0 3px;font-size:16px}.card-head p{margin:0;font-size:12.5px;color:var(--muted)}.card-head a{font-size:12.5px;font-weight:600;color:var(--accent);display:inline-flex;align-items:center;gap:4px;white-space:nowrap}.card-head a .ov-i{width:14px;height:14px}
.legend{display:flex;gap:14px;flex-wrap:wrap;font-size:12px;color:var(--muted)}.legend span{display:inline-flex;align-items:center;gap:6px}.legend i{width:10px;height:10px;border-radius:3px}
.area-chart{width:100%;height:230px;display:block;overflow:visible}.area-chart .grid{stroke:var(--border);stroke-dasharray:3 5}.area-chart text{fill:var(--muted);font-size:10.5px;font-family:var(--font)}.area-chart .in-area{fill:url(#gradIn)}.area-chart .out-area{fill:url(#gradOut)}.area-chart .in-line{stroke:#7c3aed;stroke-width:2.5;fill:none}.area-chart .out-line{stroke:#06b6d4;stroke-width:2.5;fill:none}.area-chart circle{fill:var(--surface);stroke:#7c3aed;stroke-width:2.5}
.donut-wrap{display:grid;grid-template-columns:150px 1fr;gap:18px;align-items:center}.donut{width:150px;height:150px}.donut circle{fill:none;stroke-width:16}.donut .track{stroke:var(--surface-3)}.donut text{font-family:var(--display);font-weight:800;font-size:22px;fill:var(--text)}.donut text.sub{font-family:var(--font);font-size:9.5px;font-weight:600;fill:var(--muted);letter-spacing:.06em}
.donut-legend{display:grid;gap:10px;font-size:13px}.donut-legend div{display:flex;align-items:center;gap:10px}.donut-legend i{width:10px;height:10px;border-radius:50%;flex-shrink:0}.donut-legend b{margin-left:auto;font-variant-numeric:tabular-nums}
.date-chip{display:grid;place-items:center;width:48px;height:52px;border-radius:12px;background:var(--grad);color:#fff;flex-shrink:0;line-height:1.05;box-shadow:0 8px 16px -10px rgba(91,68,242,.8)}.date-chip b{font-family:var(--display);font-size:19px}.date-chip small{color:rgba(255,255,255,.85);font-size:10px;text-transform:uppercase;font-weight:700;letter-spacing:.06em}
.list-item.rich{justify-content:flex-start}.list-item.rich>span:not(.avatar):not(.date-chip):not(.time){flex:1;min-width:0}.list-item.rich strong{display:block}.list-item .time{font-size:12px;color:var(--muted);white-space:nowrap;text-align:right}
.quick-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:10px}.quick{display:flex;align-items:center;gap:12px;padding:14px;border-radius:14px;border:1px solid var(--border);background:var(--surface-2);font-size:13px;font-weight:600;transition:all .15s}.quick:hover{border-color:color-mix(in srgb,var(--tone) 45%,var(--border));background:var(--tone-soft);transform:translateY(-1px)}.quick .chip-icon{width:34px;height:34px;padding:8px;border-radius:10px}.quick small{display:block;font-weight:500;font-size:11.5px}
.progress{height:8px;border-radius:999px;background:var(--surface-3);overflow:hidden}.progress i{display:block;height:100%;border-radius:inherit;background:var(--grad)}
/* ───────────────────────── Login & public ───────────────────────── */
.login-grid{display:grid;grid-template-columns:1.05fr 1fr;min-height:100vh;background:var(--surface)}
.login-story{position:relative;overflow:hidden;padding:44px 52px;display:flex;flex-direction:column;justify-content:space-between;color:#fff;background:radial-gradient(120% 90% at 0% 0%,#8b5cf6 0%,transparent 55%),radial-gradient(90% 90% at 100% 100%,#06b6d4 0%,transparent 50%),linear-gradient(150deg,#1e1b4b 0%,#312e81 55%,#1e3a8a 100%)}
.login-story::after{content:'';position:absolute;inset:0;background:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='44' height='44'%3E%3Cpath d='M44 0H0v44' fill='none' stroke='white' stroke-opacity='.06'/%3E%3C/svg%3E");pointer-events:none}
.login-story>*{position:relative;z-index:1}.login-story .brand{color:#fff}.login-story>div{max-width:440px;margin:60px auto}.login-story h1{font-size:44px;line-height:1.15;letter-spacing:-.04em;margin-bottom:24px;color:#fff}.login-story p{color:rgba(255,255,255,.78);font-size:15px;max-width:380px}.login-story small{text-align:center;color:rgba(255,255,255,.6)}.login-story .eyebrow{color:#c4b5fd}
.login-form{width:440px;max-width:100%;margin:auto;padding:56px 28px}.login-form h1{font-size:28px;margin-bottom:10px}.login-form>p{font-size:14px;margin-bottom:30px;color:var(--muted)}.login-form .eyebrow{font-size:11px;margin-bottom:18px}.login-form input{min-height:48px}.login-form form .button{margin-top:8px}.login-form form .button.primary{width:100%;min-height:48px}
.divider{display:flex;gap:16px;align-items:center;color:var(--muted);margin:24px 0;font-size:12px}.divider:before,.divider:after{content:'';height:1px;background:var(--border);flex:1}.login-toggle{text-align:center;margin-top:24px!important;font-size:13px!important}
.voice-orb{display:grid;place-items:center;width:88px;height:88px;border-radius:50%;margin:40px auto 20px;background:linear-gradient(140deg,#c4b5fd,#7c3aed);color:#fff;font-size:44px;box-shadow:0 0 0 12px rgba(196,181,253,.18),0 0 0 26px rgba(196,181,253,.08),0 20px 40px -10px rgba(124,58,237,.7)}.wave{letter-spacing:5px;color:#c4b5fd;text-align:center;font-size:36px;white-space:nowrap}
.landing{background:var(--surface)}.landing-nav{display:flex;justify-content:space-between;align-items:center;padding:28px 7%}.landing-hero{position:relative;min-height:640px;padding:70px 7%;background:radial-gradient(ellipse at 80% 40%,var(--accent-soft),transparent 55%);overflow:hidden}.landing-hero h1{font-size:64px;line-height:1.08;letter-spacing:-.045em;max-width:720px}.landing-hero em{font-style:normal;background:var(--grad);-webkit-background-clip:text;background-clip:text;color:transparent}.landing-hero>p{max-width:460px;color:var(--muted);font-size:15px;margin:24px 0}.hero-proof{font-size:11px;color:var(--muted);margin-top:28px}
.floating-card{position:absolute;right:6%;top:170px;transform:rotate(3deg);background:var(--surface);padding:24px;width:300px;border:1px solid var(--border);border-radius:24px;box-shadow:var(--shadow-lg);text-align:center}.floating-card .voice-orb{margin-top:14px}.floating-card small{font-size:10px;letter-spacing:.12em}.floating-card h3{font-size:22px;margin:14px 0}.floating-card p{font-size:12px;color:var(--muted)}.floating-card .wave{font-size:19px}
.feature-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:36px;padding:64px 7%}.feature-grid article{border-top:2px solid var(--border);padding-top:24px}.feature-grid span{color:var(--accent);font-size:12px;font-weight:700}.feature-grid h2{margin-top:18px}.feature-grid p{color:var(--muted);font-size:14px}.landing footer{text-align:center;border-top:1px solid var(--border);padding:30px;font-size:11px;color:var(--muted)}
/* ───────────────────────── Dark mode details ───────────────────────── */
[data-theme=dark] th{background:var(--surface-2)}[data-theme=dark] .avatar{background:linear-gradient(135deg,#3b2a5c,#26345c);color:#dcd2ff}[data-theme=dark] .env-badge{color:#fbbf24}[data-theme=dark] .connection-banner{color:#fbbf24}[data-theme=dark] .table-wrap table th:last-child{background:var(--surface-2)}
[data-theme=dark] .business-picker select option,[data-theme=dark] .business-picker select optgroup{color:var(--text);background:var(--surface)}[data-theme=dark] .hero-actions .button.primary{color:#3730a3}
/* ───────────────────────── Responsive ───────────────────────── */
@media(min-width:1600px){.workspace-main{padding:38px 48px 56px}.topbar{padding:0 48px}.workspace-footer{padding:0 48px 24px}.card-grid{grid-template-columns:repeat(4,1fr)}}
@media(max-width:1599px){.profile-name{display:none}.breadcrumb em,.breadcrumb em+span{display:none}}@media(max-width:1350px){.kpi-grid,.metric-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.top-divider{display:none}}
@media(max-width:1150px){.card-grid{grid-template-columns:repeat(2,1fr)}.settings-grid{grid-template-columns:1fr}.help-card{display:none}.conversation-layout{grid-template-columns:280px 1fr}.dash-grid,.dash-grid.three{grid-template-columns:1fr 1fr}.dash-grid>.span-all{grid-column:1/-1}.dash-hero{grid-template-columns:1fr}.hero-visual{grid-template-columns:repeat(3,minmax(0,1fr))}.landing-hero h1{font-size:50px}.floating-card{width:240px;right:4%}}
@media(max-width:850px){ov-shell>aside,ov-shell>aside.mini{width:var(--aside);transform:translateX(-100%)}ov-shell>aside.open{transform:translateX(0);box-shadow:var(--shadow-lg)}aside.mini .brand-name,aside.mini .nav-label,aside.mini .nav-caption span,aside.mini .business-picker select,aside.mini .business-picker small,aside.mini .agent-text,aside.mini .user-text,aside.mini .counter{display:revert}aside.mini nav a{justify-content:flex-start;padding:9px 12px}.collapse-toggle{display:none}
 .aside-scrim{display:block;position:fixed;inset:0;z-index:55;background:rgba(10,12,32,.5);backdrop-filter:blur(2px)}.topbar,.topbar.mini,.workspace-main,.workspace-main.mini,.workspace-footer,.workspace-footer.mini{margin-left:0}.mobile-menu{display:inline-grid}.topbar{padding:0 16px;gap:10px}.workspace-main{padding:22px 16px 40px}.workspace-footer{padding:0 16px 20px}
 .command{max-width:none;flex:1 1 0;min-width:0}.command kbd{display:none}.command input{padding-right:12px}.breadcrumb{display:none}.kpi-grid,.metric-grid{grid-template-columns:1fr 1fr}.dash-grid,.dash-grid.three{grid-template-columns:1fr}.hero-visual{grid-template-columns:1fr}.login-story{padding:34px 26px}.login-story h1{font-size:34px}.floating-card{display:none}.landing-hero{min-height:570px}.calendar-grid{min-width:730px}.calendar-day{min-height:300px}.feature-grid{gap:20px}}
@media(max-width:580px){h1{font-size:25px}.page-heading{flex-wrap:wrap}.card-grid,.form-grid,.detail-grid,.conversation-layout{grid-template-columns:1fr}.span-2{grid-column:auto}.kpi-grid,.metric-grid{gap:10px}.kpi{padding:14px 14px 0}.kpi strong{font-size:24px}.spark{width:calc(100% + 28px);margin:10px -14px 0}.metric-card{padding:16px}.metric-card strong{font-size:25px}
 .dash-hero{padding:22px;border-radius:18px}.dash-hero h2{font-size:21px}.hero-panel{padding:22px}.hero-panel h2{font-size:19px}.hero-icon{display:none}.panel{padding:18px}.table-wrap{padding:0}.toolbar{flex-wrap:wrap}.toolbar input{max-width:none}.donut-wrap{grid-template-columns:1fr;justify-items:center}.quick-grid{grid-template-columns:1fr}
 .login-grid{display:block}.login-story{display:none}.login-form{padding:52px 22px}.landing-nav{padding:22px}.landing-nav .brand{font-size:21px}.landing-hero{padding:45px 25px;min-height:590px}.landing-hero h1{font-size:42px}.feature-grid{grid-template-columns:1fr;padding:35px 25px}.modal{padding:20px}.modal-backdrop{padding:12px}.slot-grid{grid-template-columns:repeat(3,1fr)}.conversation-list{max-height:280px}.top-actions{gap:4px}.theme-quick,.help-toggle{display:none}.env-badge{font-size:0;padding:7px;gap:0}.crumbs{gap:6px}.pref-select{display:none}.workspace-footer span:not(.footer-brand){display:none}
 html,body{overflow-x:hidden}.table-wrap table{min-width:560px}.profile-toggle{padding:3px}.profile-toggle .caret{display:none}}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important;scroll-behavior:auto!important}}
/* ───────────────────────── Brand & loading feedback ───────────────────────── */
.brand-mark{width:38px;height:38px;border-radius:11px;flex-shrink:0;box-shadow:0 8px 20px -6px rgba(109,74,255,.65)}.brand-name{letter-spacing:-.035em}.footer-brand sup{font-size:8px;-webkit-text-fill-color:var(--muted)}
.top-progress{position:fixed;left:0;right:0;top:0;height:3px;z-index:400;pointer-events:none;opacity:0;transition:opacity .25s;overflow:hidden}.top-progress.on{opacity:1}.top-progress i{position:absolute;top:0;bottom:0;left:-45%;width:45%;border-radius:3px;background:linear-gradient(90deg,transparent,#a78bfa 30%,#6366f1 60%,#22d3ee,transparent);animation:ovProgress 1.05s cubic-bezier(.4,0,.2,1) infinite;box-shadow:0 0 12px #8b5cf6}
@keyframes ovProgress{to{left:100%}}
.route-loader{position:absolute;inset:0;z-index:20;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;padding-top:min(22vh,180px);gap:22px;background:color-mix(in srgb,var(--bg) 72%,transparent);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);animation:fade .2s ease-out}.route-loader.public{position:fixed;justify-content:center;padding-top:0;z-index:300}
.route-loader small{font-weight:600;font-size:12.5px;letter-spacing:.02em;color:var(--muted)}
.loader-orb{position:relative;width:62px;height:62px}.loader-orb img{position:relative;width:62px;height:62px;border-radius:18px;animation:ovOrb 1.4s ease-in-out infinite;box-shadow:0 16px 36px -12px rgba(91,68,242,.8)}
.loader-ring{position:absolute;border-radius:50%;border:2.5px solid transparent}.loader-ring.one{inset:-13px;border-top-color:#8b5cf6;border-right-color:#6366f1;animation:ovSpin .9s linear infinite}.loader-ring.two{inset:-24px;border-bottom-color:#22d3ee;border-left-color:#38bdf8;animation:ovSpin 1.5s linear infinite reverse;opacity:.75}
.loader-wave{display:flex;gap:5px;height:24px;align-items:center}.loader-wave i{width:4px;height:100%;border-radius:4px;background:linear-gradient(180deg,#a78bfa,#22d3ee);animation:ovWave .9s ease-in-out infinite}.loader-wave i:nth-child(2){animation-delay:.08s}.loader-wave i:nth-child(3){animation-delay:.16s}.loader-wave i:nth-child(4){animation-delay:.24s}.loader-wave i:nth-child(5){animation-delay:.32s}.loader-wave i:nth-child(6){animation-delay:.4s}.loader-wave i:nth-child(7){animation-delay:.48s}
@keyframes ovSpin{to{transform:rotate(360deg)}}@keyframes ovOrb{50%{transform:scale(.9) rotate(-4deg)}}@keyframes ovWave{0%,100%{transform:scaleY(.3)}50%{transform:scaleY(1)}}
