/* App, sign-up and onboarding screens. Needs base.css. */

/* ---------- Auth (split screen) ---------- */
.auth{min-height:100vh;display:grid;grid-template-columns:1fr 1fr}
.auth-side{background:linear-gradient(160deg,#0B1B3F 0%,#1E3A8A 55%,var(--blue) 100%);color:#fff;padding:56px;display:flex;flex-direction:column;justify-content:space-between;position:relative;overflow:hidden}
.auth-side::after{content:"";position:absolute;width:520px;height:520px;border-radius:50%;background:radial-gradient(circle,rgba(56,189,248,.35),transparent 65%);right:-180px;bottom:-160px}
.auth-side .logo{color:#fff}
.auth-side h1{font-size:clamp(2.2rem,3.6vw,3.2rem);font-weight:800;margin-top:auto;max-width:460px}
.auth-side p{color:#C9D6F2;font-size:1.1rem;margin-top:14px;max-width:420px}
.auth-points{display:flex;gap:28px;flex-wrap:wrap;margin-top:56px;position:relative;z-index:1}
.auth-points div{display:flex;gap:10px;align-items:center;font-weight:600;font-size:.92rem}
.auth-points .ic{width:40px;height:40px;border-radius:12px;background:rgba(255,255,255,.12);display:grid;place-items:center}
.auth-main{display:flex;align-items:center;justify-content:center;padding:40px 20px;background:radial-gradient(circle at 70% 30%,var(--tint),var(--bg) 60%)}
.auth-card{width:100%;max-width:420px;background:var(--surface);border:1px solid var(--line);border-radius:24px;padding:40px 36px;box-shadow:var(--shadow-lg)}
.auth-card h2{font-size:1.7rem;font-weight:800;text-align:center}
.auth-card .sub{text-align:center;color:var(--muted);margin:6px 0 26px}
.btn-google{width:100%;background:var(--surface);border:1.5px solid var(--line);color:var(--ink);font-weight:700}
.btn-google:hover{border-color:var(--blue)}
.divider{display:flex;align-items:center;gap:12px;color:var(--muted);font-size:.85rem;margin:20px 0}
.divider::before,.divider::after{content:"";flex:1;height:1px;background:var(--line)}
.auth-foot{text-align:center;font-size:.82rem;color:var(--muted);margin-top:22px}
.auth-foot a{color:var(--blue);font-weight:600}
.auth-mobile-logo{display:none;justify-content:center;margin-bottom:18px}

/* ---------- Wizard (onboarding) ---------- */
.wizard{min-height:100vh;display:flex;flex-direction:column;align-items:center;padding:32px 20px 64px}
.wizard-logo{margin-bottom:28px}
.wizard h1{font-size:clamp(1.8rem,3.4vw,2.5rem);font-weight:800;text-align:center;max-width:680px}
.wizard .intro{color:var(--ink-2);text-align:center;max-width:620px;margin:12px auto 28px;font-size:1.05rem}
.wizard-body{width:100%;max-width:760px}
.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:0 8px 30px -18px rgba(11,27,63,.25)}
.card-pad{padding:28px}
.card+.card{margin-top:18px}
.or-pill{display:flex;align-items:center;gap:12px;margin:18px 0;color:var(--muted);font-size:.72rem;font-weight:700;letter-spacing:.06em}
.or-pill::before,.or-pill::after{content:"";flex:1;height:1px;background:var(--line)}
.or-pill span{border:1px solid var(--line);border-radius:999px;padding:3px 10px;background:var(--bg)}
.card-foot{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-top:22px}
.lock-note{display:flex;gap:8px;align-items:center;color:var(--muted);font-size:.86rem}
.next-card{display:flex;gap:14px;align-items:flex-start;padding:20px 24px}
.next-card .ic{width:42px;height:42px;border-radius:50%;background:var(--tint);color:var(--blue);display:grid;place-items:center;flex-shrink:0}
.next-card b{display:block}
.next-card p{color:var(--ink-2);font-size:.92rem}
.suggest{position:relative}
.suggest-list{position:absolute;left:0;right:0;top:calc(100% + 6px);background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow-lg);z-index:20;overflow:hidden;max-height:320px;overflow-y:auto}
.suggest-list button{display:block;width:100%;text-align:left;background:none;border:0;padding:11px 14px;cursor:pointer;border-bottom:1px solid var(--line)}
.suggest-list button:last-child{border-bottom:0}
.suggest-list button:hover,.suggest-list button.active{background:var(--tint)}
.suggest-list b{display:block;font-size:.92rem}
.suggest-list small{color:var(--muted)}
.picked{display:flex;align-items:center;justify-content:space-between;gap:10px;background:var(--tint);border-radius:12px;padding:10px 14px;margin-top:8px;font-weight:600;font-size:.92rem}

/* Stepper */
.stepper{display:flex;align-items:center;gap:10px;margin-bottom:26px;flex-wrap:wrap;justify-content:center}
.stepper .st{display:flex;align-items:center;gap:8px;font-weight:600;font-size:.92rem;color:var(--muted)}
.stepper .st .n{width:24px;height:24px;border-radius:50%;border:1.5px solid var(--line);display:grid;place-items:center;font-size:.75rem;font-weight:700;background:var(--surface)}
.stepper .st.done{color:var(--ink-2)}
.stepper .st.done .n{background:var(--green-bg);border-color:var(--green-bg);color:var(--green)}
.stepper .st.current{color:var(--blue)}
.stepper .st.current .n{background:var(--blue);border-color:var(--blue);color:#fff}
.stepper .line{width:48px;height:1.5px;background:var(--line)}

/* Learning screen */
.biz-preview{display:flex;gap:16px;align-items:flex-start;padding:24px;border-bottom:1px solid var(--line)}
.biz-logo{width:76px;height:76px;border-radius:16px;border:1px solid var(--line);display:grid;place-items:center;background:var(--bg);overflow:hidden;flex-shrink:0;font-weight:800;color:var(--blue);font-size:1.5rem}
.biz-logo img{width:100%;height:100%;object-fit:contain}
.biz-lines{flex:1;display:grid;gap:8px;min-width:0}
.biz-lines .line-row{display:flex;gap:8px;align-items:center;color:var(--ink-2);font-size:.92rem;overflow:hidden;text-overflow:ellipsis}
.skeleton{height:12px;border-radius:6px;background:linear-gradient(90deg,var(--tint) 0%,var(--tint-2) 50%,var(--tint) 100%);background-size:200% 100%;animation:shimmer 1.4s infinite;width:220px;max-width:100%}
.skeleton.lg{height:18px;width:280px}
@keyframes shimmer{to{background-position:-200% 0}}
.learning{display:grid;grid-template-columns:1fr 1fr;gap:24px;padding:28px;align-items:center}
.learning-art{display:grid;place-items:center}
.progress{height:8px;border-radius:999px;background:var(--tint);overflow:hidden;margin:10px 0 20px}
.progress>span{display:block;height:100%;background:linear-gradient(90deg,var(--blue),var(--sky));border-radius:999px;transition:width .6s ease}
.checklist{list-style:none;display:grid;gap:16px}
.checklist li{display:flex;gap:12px;align-items:center;color:var(--muted);font-weight:500}
.checklist .mark{width:26px;height:26px;border-radius:50%;border:2px solid var(--tint-2);display:grid;place-items:center;flex-shrink:0}
.checklist li.active{color:var(--ink);font-weight:700}
.checklist li.active .mark{border-color:var(--tint-2);border-top-color:var(--blue);animation:spin .8s linear infinite}
.checklist li.done{color:var(--ink-2)}
.checklist li.done .mark{background:var(--green);border-color:var(--green);color:#fff;animation:none}

/* Test call */
.call-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}
.call-box{background:var(--tint);border:2px solid var(--blue);border-radius:18px;padding:24px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px}
.call-box .t{color:var(--blue);font-weight:700}
.call-pill{display:inline-flex;align-items:center;gap:14px;white-space:nowrap;background:var(--surface);border-radius:999px;padding:6px 22px 6px 6px;font-size:1.5rem;font-weight:800;letter-spacing:-.01em;box-shadow:var(--shadow)}
.call-pill .ph{width:56px;height:56px;border-radius:50%;background:var(--blue);color:#fff;display:grid;place-items:center}
.ask-list{border:1px solid var(--line);border-radius:18px;overflow:hidden}
.ask-list .h{background:var(--tint);color:var(--blue);font-weight:700;padding:12px 16px}
.ask-list div.q{display:flex;gap:10px;padding:12px 16px;border-top:1px solid var(--line);font-weight:600;font-size:.92rem}
.ask-list .q .qi{width:22px;height:22px;border-radius:50%;background:var(--tint);color:var(--blue);display:grid;place-items:center;font-size:.72rem;font-weight:800;flex-shrink:0}
.test-numbers{margin-top:16px;border-top:1px dashed var(--line);padding-top:16px}
.number-chip{display:inline-flex;align-items:center;gap:8px;background:var(--bg);border:1px solid var(--line);border-radius:999px;padding:5px 6px 5px 12px;font-weight:600;font-size:.88rem;margin:0 6px 6px 0}
.number-chip form{display:inline}
.number-chip button{background:none;border:0;cursor:pointer;color:var(--muted);width:22px;height:22px;border-radius:50%;display:grid;place-items:center}
.number-chip button:hover{background:var(--red-bg);color:var(--red)}
.inline-form{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-start}
.inline-form .input{max-width:240px;padding:9px 12px}

/* Question step (customise) */
.q-card{display:grid;grid-template-columns:1fr 1.1fr;gap:28px;padding:36px;align-items:center}
.q-card h2{font-size:1.6rem;font-weight:800}
.q-card p{color:var(--ink-2);margin-top:10px}
.tiles{display:grid;gap:12px}
.tile{position:relative;display:flex;gap:14px;align-items:center;border:1.5px solid var(--line);border-radius:16px;padding:16px 18px;cursor:pointer;background:var(--surface);transition:.15s}
.tile:hover{border-color:var(--blue)}
.tile input{position:absolute;opacity:0;pointer-events:none}
.tile .ic{width:40px;height:40px;border-radius:50%;background:var(--tint);color:var(--blue);display:grid;place-items:center;flex-shrink:0}
.tile b{display:block}
.tile small{color:var(--muted)}
.tile .check-mark{margin-left:auto;width:22px;height:22px;border-radius:50%;border:1.5px solid var(--line);display:grid;place-items:center;flex-shrink:0;color:transparent}
.tile:has(input:checked){border-color:var(--blue);box-shadow:0 0 0 3px rgba(37,99,235,.12)}
.tile:has(input:checked) .check-mark{background:var(--blue);border-color:var(--blue);color:#fff}
.tile:has(input:focus-visible){box-shadow:var(--focus)}
.subtiles{display:grid;gap:10px;background:var(--tint);border-radius:16px;padding:12px;margin-top:-2px}
.voice-tabs{margin-bottom:12px}
.voice-list{display:grid;gap:10px;max-height:300px;overflow-y:auto;padding:2px}
.voice-row{display:flex;align-items:center;gap:12px;border:1.5px solid var(--line);border-radius:999px;padding:8px 14px 8px 8px;cursor:pointer;background:var(--surface)}
.voice-row input{position:absolute;opacity:0;pointer-events:none}
.voice-row:has(input:checked){border-color:var(--blue)}
.voice-row .play{width:34px;height:34px;border-radius:50%;background:var(--tint);border:0;color:var(--ink);display:grid;place-items:center;cursor:pointer;flex-shrink:0}
.voice-row .play[disabled]{opacity:.35;cursor:default}
.voice-row .flag{font-size:.68rem;font-weight:800;letter-spacing:.04em;background:var(--tint);color:var(--blue);border-radius:6px;padding:3px 6px;min-width:28px;text-align:center}
.voice-row .nm{font-weight:600}
.voice-row .acc{color:var(--muted);font-size:.84rem}
.voice-row .check-mark{margin-left:auto;width:22px;height:22px;border-radius:50%;display:grid;place-items:center;color:transparent}
.voice-row:has(input:checked) .check-mark{background:var(--blue);color:#fff}
.wizard-nav{display:flex;justify-content:space-between;align-items:center;margin-top:22px}
.wizard-nav .prog{display:flex;align-items:center;gap:12px;color:var(--muted);font-weight:600}
.wizard-nav .bar{width:80px;height:7px;border-radius:999px;background:var(--tint-2);overflow:hidden}
.wizard-nav .bar span{display:block;height:100%;background:var(--blue);border-radius:999px}
.back-btn{width:44px;height:44px;border-radius:50%;border:0;background:var(--tint);display:grid;place-items:center;cursor:pointer;color:var(--ink)}
.back-btn:hover{background:var(--tint-2)}

/* ---------- App shell ---------- */
.trial-banner{background:var(--ink);color:#fff;text-align:center;padding:9px 16px;font-size:.92rem;font-weight:600}
.trial-banner .days{display:inline-grid;place-items:center;background:#fff;color:var(--ink);border-radius:6px;min-width:24px;height:24px;padding:0 5px;margin-right:6px;font-weight:800}
.trial-banner a{text-decoration:underline;margin-left:6px}
.shell{display:grid;grid-template-columns:248px 1fr;gap:16px;padding:16px;min-height:calc(100vh - 42px)}
.shell.no-banner{min-height:100vh}
.sidebar{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:22px 16px;display:flex;flex-direction:column;position:sticky;top:16px;height:calc(100vh - 74px)}
.shell.no-banner .sidebar{height:calc(100vh - 32px)}
.sidebar .logo{justify-content:center;font-size:1.2rem}
.sidebar .biz-name{text-align:center;font-weight:600;font-size:.9rem;color:var(--ink-2);margin:10px 0 18px;padding-bottom:16px;border-bottom:1px solid var(--line);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.nav-main{display:grid;gap:4px}
.nav-item{display:flex;align-items:center;gap:12px;padding:11px 14px;border-radius:12px;font-weight:600;color:var(--ink-2);font-size:.95rem}
.nav-item:hover{background:var(--bg);color:var(--ink)}
.nav-item.active{background:var(--ink);color:#fff}
.nav-item .flag-badge{display:inline-flex;align-items:center;gap:4px;font-size:.62rem;font-weight:800;letter-spacing:.04em;background:var(--amber-bg);color:#B45309;border:1px solid #FDE68A;border-radius:6px;padding:1px 6px;margin-top:3px}
.nav-item.active .flag-badge{background:rgba(255,255,255,.15);color:#fff;border-color:transparent}
.nav-item .count{margin-left:auto;background:var(--blue);color:#fff;font-size:.72rem;font-weight:800;border-radius:999px;padding:1px 8px}
.side-bottom{margin-top:auto;display:grid;gap:12px}
.number-box{background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:14px;text-align:center}
.number-box .trial-days{display:inline-block;background:var(--tint);color:var(--ink-2);font-size:.75rem;font-weight:700;border-radius:6px;padding:2px 8px;margin-bottom:8px}
.number-box .num{font-weight:700}
.number-box .state{margin-top:10px;padding-top:10px;border-top:1px solid var(--line);font-size:.72rem;font-weight:800;letter-spacing:.06em;color:var(--muted);display:flex;gap:6px;align-items:center;justify-content:center}
.number-box .state.live{color:var(--green)}
.side-user{display:flex;align-items:center;gap:10px;font-size:.85rem}
.side-user .av{width:32px;height:32px;border-radius:50%;background:var(--tint-2);color:var(--blue);display:grid;place-items:center;font-weight:700;flex-shrink:0}
.side-user .em{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--ink-2)}
.side-user form button{background:none;border:0;color:var(--muted);cursor:pointer;padding:6px;border-radius:8px;display:flex}
.side-user form button:hover{background:var(--bg);color:var(--ink)}
.mobile-top{display:none}
.main{min-width:0}
.main-inner{max-width:1080px;margin:0 auto}

/* Page head + panels */
.page-head{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:22px 26px;display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:16px;flex-wrap:wrap}
.page-head h1{font-size:1.45rem;font-weight:800}
.page-head p{color:var(--muted);font-size:.92rem;margin-top:2px}
.panel{background:var(--surface);border:1px solid var(--line);border-radius:20px;margin-bottom:16px;overflow:hidden}
.panel-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 24px;border-bottom:1px solid var(--line);flex-wrap:wrap}
.panel-head h2{font-size:1.05rem;font-weight:700;display:flex;align-items:center;gap:10px}
.panel-head h2 .ic{width:32px;height:32px;border-radius:10px;background:var(--tint);color:var(--blue);display:grid;place-items:center}
.panel-body{padding:22px 24px}
.panel-info{background:var(--bg);padding:12px 24px;border-bottom:1px solid var(--line);font-size:.88rem;color:var(--ink-2);display:flex;gap:8px}
.panel-foot{padding:14px 24px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:10px;background:#FBFDFF}
.kv{display:grid;grid-template-columns:220px 1fr;gap:12px 20px;font-size:.93rem}
.kv dt{font-weight:600;color:var(--ink-2)}
.kv dd{color:var(--ink);white-space:pre-line;word-break:break-word}
.list-row{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;padding:14px 0;border-bottom:1px solid var(--line)}
.list-row:last-child{border-bottom:0}
.list-row b{display:block}
.list-row .sub{color:var(--muted);font-size:.88rem;word-break:break-word}
.list-actions{display:flex;gap:6px;flex-shrink:0}
.icon-btn{width:34px;height:34px;border-radius:10px;border:1px solid var(--line);background:var(--surface);display:grid;place-items:center;cursor:pointer;color:var(--ink-2)}
.icon-btn:hover{border-color:var(--blue);color:var(--blue)}
.icon-btn.danger:hover{border-color:#FECACA;color:var(--red);background:var(--red-bg)}
.empty{text-align:center;padding:36px 20px;color:var(--muted)}
.empty .ic{width:52px;height:52px;border-radius:50%;background:var(--tint);color:var(--blue);display:grid;place-items:center;margin:0 auto 12px}
.empty b{display:block;color:var(--ink);margin-bottom:4px}
.upsell{display:flex;gap:12px;align-items:center;background:var(--amber-bg);border:1px solid #FDE68A;border-radius:14px;padding:12px 16px;font-size:.9rem;color:#92400E;margin-bottom:16px}
.upsell a{font-weight:700;text-decoration:underline}

/* Settings layout */
.settings{display:grid;grid-template-columns:230px 1fr;gap:16px;align-items:start}
.subnav{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:12px;position:sticky;top:16px}
.subnav a{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;font-weight:600;font-size:.92rem;color:var(--ink-2)}
.subnav a:hover{background:var(--bg)}
.subnav a.active{background:var(--tint);color:var(--blue)}
.subnav a .prem{margin-left:auto;color:var(--amber)}
.publish-bar{display:flex;align-items:center;gap:12px}
.publish-bar .dirty{font-size:.85rem;color:#B45309;font-weight:600}
.hours-grid{display:grid;grid-template-columns:130px 110px 1fr 1fr;gap:10px 14px;align-items:center}
.hours-grid .input{padding:8px 10px}
.toggle-row{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 0;border-bottom:1px solid var(--line)}
.toggle-row:last-child{border-bottom:0}
.toggle-row b{display:block}
.toggle-row small{color:var(--muted);display:block;max-width:560px}
.tag-input{display:flex;flex-wrap:wrap;gap:8px;border:1.5px solid var(--line);border-radius:12px;padding:8px;background:var(--surface)}
.tag-input input{border:0;outline:none;flex:1;min-width:160px;padding:4px}
.tag{display:inline-flex;align-items:center;gap:6px;background:var(--tint);color:var(--blue);border-radius:999px;padding:4px 6px 4px 12px;font-weight:600;font-size:.86rem}
.tag button{background:none;border:0;color:inherit;cursor:pointer;width:20px;height:20px;border-radius:50%;display:grid;place-items:center}
.tag button:hover{background:var(--tint-2)}
.greeting-preview{background:var(--bg);border:1px solid var(--line);border-radius:14px;padding:16px;font-size:.93rem;color:var(--ink-2)}
.token-btns{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:8px}

/* Modal (native <dialog>) */
dialog.modal{border:0;border-radius:22px;padding:0;width:min(560px,calc(100% - 32px));box-shadow:var(--shadow-lg);margin:auto;max-height:calc(100vh - 40px)}
dialog.modal.wide{width:min(860px,calc(100% - 32px))}
dialog.modal::backdrop{background:rgba(11,27,63,.45);backdrop-filter:blur(2px)}
.modal-head{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid var(--line)}
.modal-head h3{font-size:1.15rem;font-weight:800}
.modal-head p{color:var(--muted);font-size:.85rem}
.modal-body{padding:22px 24px;overflow-y:auto;max-height:calc(100vh - 220px)}
.modal-foot{padding:14px 24px;border-top:1px solid var(--line);display:flex;justify-content:flex-end;gap:10px}
.modal-close{width:34px;height:34px;border-radius:50%;border:0;background:var(--bg);cursor:pointer;display:grid;place-items:center;color:var(--ink-2)}
.modal-close:hover{background:var(--tint)}

/* Toasts */
.toasts{position:fixed;right:20px;bottom:20px;display:grid;gap:10px;z-index:100;max-width:380px}
.toast{background:var(--ink);color:#fff;border-radius:14px;padding:12px 16px;box-shadow:var(--shadow-lg);font-weight:600;font-size:.92rem;display:flex;gap:10px;align-items:flex-start;animation:toastIn .25s ease}
.toast.error{background:#B91C1C}
@keyframes toastIn{from{opacity:0;transform:translateY(10px)}}

/* Quick start */
.qs-next{display:grid;gap:18px;padding:26px}
.qs-next .row{display:flex;gap:14px;align-items:flex-start}
.qs-next .ic{width:40px;height:40px;border-radius:50%;background:var(--tint);color:var(--blue);display:grid;place-items:center;flex-shrink:0}
.plan-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;align-items:stretch}
.plan-card{background:var(--surface);border:1px solid var(--line);border-radius:20px;padding:26px 22px;display:flex;flex-direction:column;position:relative}
.plan-card.rec{border:2px solid var(--blue);box-shadow:var(--shadow-lg)}
.plan-card .rec-badge{position:absolute;top:-1px;left:-1px;right:-1px;background:var(--blue);color:#fff;text-align:center;font-size:.76rem;font-weight:800;letter-spacing:.04em;padding:6px;border-radius:18px 18px 0 0}
.plan-card.rec h3{margin-top:22px}
.plan-card h3{font-size:1.15rem}
.plan-card .pr{font-size:2.3rem;font-weight:800;letter-spacing:-.03em;margin-top:6px}
.plan-card .pr small{font-size:.9rem;color:var(--muted);font-weight:600;letter-spacing:0}
.plan-card .d{color:var(--muted);font-size:.88rem;margin:6px 0 14px;min-height:40px}
.plan-card ul{list-style:none;display:grid;gap:9px;flex:1;margin-bottom:20px}
.plan-card li{display:flex;gap:8px;font-size:.88rem;color:var(--ink-2)}
.cycle-switch{display:flex;justify-content:center;margin-bottom:18px}
.trust-row{display:flex;gap:18px;justify-content:center;flex-wrap:wrap;color:var(--ink-2);font-size:.86rem;margin:6px 0 16px}
.trust-row span{display:flex;gap:6px;align-items:center}
.includes{display:grid;grid-template-columns:1fr 1fr;gap:10px 28px;padding:24px}
.includes div{display:flex;gap:8px;font-size:.9rem;color:var(--ink-2)}
.link-list a{display:flex;align-items:center;gap:14px;padding:18px 24px;border-bottom:1px solid var(--line)}
.link-list a:last-child{border-bottom:0}
.link-list a:hover{background:var(--bg)}
.link-list .ic{width:40px;height:40px;border-radius:12px;background:var(--tint);color:var(--blue);display:grid;place-items:center;flex-shrink:0}
.link-list b{display:block}
.link-list small{color:var(--muted)}
.link-list .arr{margin-left:auto;color:var(--muted)}
.live-hero{display:flex;gap:16px;align-items:center;padding:24px;background:linear-gradient(135deg,var(--green-bg),#fff)}
.live-hero .ic{width:52px;height:52px;border-radius:50%;background:var(--green);color:#fff;display:grid;place-items:center;flex-shrink:0}
.usage-bar{height:10px;border-radius:999px;background:var(--tint);overflow:hidden;margin:10px 0 6px}
.usage-bar span{display:block;height:100%;background:var(--blue);border-radius:999px}
.usage-bar span.over{background:var(--amber)}
.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}
.stat-box{background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:16px}
.stat-box b{display:block;font-size:1.6rem;font-weight:800;letter-spacing:-.02em}
.stat-box span{color:var(--muted);font-size:.84rem;font-weight:600}

/* Forwarding instructions */
.fwd-options{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:18px}
.codes{width:100%;border-collapse:collapse;font-size:.92rem}
.codes th,.codes td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line)}
.codes th{color:var(--muted);font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.04em}
.codes code{background:var(--bg);border:1px solid var(--line);border-radius:6px;padding:3px 8px;font-weight:700;font-family:ui-monospace,Consolas,monospace;white-space:nowrap}

/* ---------- Conversations inbox ---------- */
.inbox{display:grid;grid-template-columns:320px 1fr;gap:16px;align-items:start}
.inbox-list{background:var(--surface);border:1px solid var(--line);border-radius:20px;overflow:hidden;position:sticky;top:16px;max-height:calc(100vh - 32px);display:flex;flex-direction:column}
.inbox-tools{padding:14px;border-bottom:1px solid var(--line);display:grid;gap:10px}
.inbox-tools .input{padding:9px 12px 9px 38px}
.inbox-items{overflow-y:auto}
.inbox-item{display:block;padding:14px 16px;border-bottom:1px solid var(--line);position:relative}
.inbox-item:hover{background:var(--bg)}
.inbox-item.active{background:var(--tint)}
.inbox-item .top{display:flex;justify-content:space-between;gap:8px;align-items:baseline}
.inbox-item .who{font-weight:700;display:flex;align-items:center;gap:6px;min-width:0}
.inbox-item .who span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.inbox-item .when{font-size:.78rem;color:var(--muted);flex-shrink:0}
.inbox-item .num{font-size:.84rem;color:var(--muted)}
.inbox-item .tags{display:flex;gap:6px;margin-top:6px;flex-wrap:wrap}
.unread-dot{width:8px;height:8px;border-radius:50%;background:var(--blue);flex-shrink:0}
.star-on{color:var(--amber)}
.detail{display:grid;grid-template-columns:1fr 290px;gap:16px;align-items:start}
.summary-banner{background:linear-gradient(135deg,var(--blue),#3B82F6 70%,var(--sky));color:#fff;border-radius:18px;padding:18px 22px;margin-bottom:14px}
.summary-banner small{text-transform:uppercase;letter-spacing:.08em;font-weight:800;font-size:.72rem;opacity:.85}
.summary-banner p{margin-top:4px;font-weight:500}
.player-row{display:flex;align-items:center;gap:10px;margin-bottom:14px;flex-wrap:wrap}
.player-row audio{flex:1;min-width:220px;height:40px}
.transcript{display:flex;flex-direction:column;gap:10px;padding:20px}
.transcript .bubble{max-width:78%}
.transcript .bubble.caller{background:var(--blue);color:#fff;border:0;border-bottom-right-radius:4px}
.transcript .bubble.ai{background:var(--bg);color:var(--ink);border:1px solid var(--line);border-bottom-left-radius:4px}
.transcript .who{font-size:.72rem;color:var(--muted);font-weight:700;margin-bottom:-4px}
.transcript .who.r{align-self:flex-end}
.info-card dl{display:grid;gap:12px;font-size:.9rem}
.info-card dt{font-size:.75rem;color:var(--muted);font-weight:700;text-transform:uppercase;letter-spacing:.04em}
.info-card dd{font-weight:600;word-break:break-word}
.rate-btns{display:flex;gap:6px}
.rate-btns button.on{background:var(--tint);border-color:var(--blue);color:var(--blue)}
.note{background:var(--bg);border-radius:12px;padding:10px 12px;font-size:.88rem;margin-bottom:8px}
.note small{display:block;color:var(--muted);font-size:.75rem}

/* Tables (admin, users) */
.table{width:100%;border-collapse:collapse;font-size:.92rem}
.table th,.table td{text-align:left;padding:12px 16px;border-bottom:1px solid var(--line);vertical-align:middle}
.table th{color:var(--muted);font-weight:700;font-size:.78rem;text-transform:uppercase;letter-spacing:.04em;background:#FBFDFF}
.table tr:last-child td{border-bottom:0}
.table-wrap{overflow-x:auto}

/* Error page */
.error-page{min-height:100vh;display:grid;place-items:center;padding:24px;text-align:center}
.error-page .code{font-size:5rem;font-weight:800;letter-spacing:-.04em;background:linear-gradient(90deg,var(--blue),var(--sky));-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1}
.error-page p{color:var(--ink-2);margin:12px auto 24px;max-width:440px}

/* ---------- Responsive ---------- */
@media (max-width:1400px){
  .detail{grid-template-columns:1fr}
  .detail>aside{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;align-items:start}
  .detail>aside .panel{margin-bottom:0}
}
@media (max-width:1100px){
  .plan-grid{grid-template-columns:1fr}
  .stat-grid{grid-template-columns:repeat(2,1fr)}
}
@media (max-width:980px){
  .auth{grid-template-columns:1fr}
  .auth-side{display:none}
  .auth-mobile-logo{display:flex}
  .shell{grid-template-columns:1fr;padding:10px}
  .sidebar{display:none;position:fixed;inset:0 auto 0 0;width:280px;height:100vh;top:0;z-index:60;border-radius:0 20px 20px 0}
  .sidebar.open{display:flex}
  .mobile-top{display:flex;align-items:center;justify-content:space-between;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:10px 14px;margin-bottom:10px}
  .mobile-top button{background:none;border:0;cursor:pointer;padding:6px}
  .settings,.inbox{grid-template-columns:1fr}
  .subnav{position:static;display:flex;overflow-x:auto;gap:4px}
  .subnav a{white-space:nowrap}
  .inbox-list{position:static;max-height:none}
  .q-card,.learning,.call-grid,.fwd-options,.includes{grid-template-columns:1fr}
  .q-card{padding:24px}
  .kv{grid-template-columns:1fr;gap:2px}
  .kv dd{margin-bottom:10px}
  .hours-grid{grid-template-columns:1fr 1fr}
}
@media (max-width:560px){
  .auth-card{padding:30px 22px}
  .row-2{grid-template-columns:1fr}
  .panel-body,.panel-head{padding:16px}
  .call-pill{font-size:1.2rem}
  .stat-grid{grid-template-columns:1fr 1fr}
}
