:root{--ink-900: #0b0c0e;--ink-850: #0f1013;--ink-800: #131418;--ink-700: #1b1d22;--ink-600: #24262c;--line: #2b2e35;--line-soft: #1e2025;--paper-50: #f2f3f6;--paper-300: #9aa0ab;--paper-500: #606672;--signal: #37cc8b;--signal-bright: #4ce3a1;--signal-wash: rgba(55, 204, 139, .12);--warn: #e2a33c;--stop: #ec5b62;--stop-wash: rgba(236, 91, 98, .13);--bg: var(--ink-900);--surface: var(--ink-800);--surface-2: var(--ink-700);--border: var(--line);--text: var(--paper-50);--text-dim: var(--paper-300);--accent: var(--signal);--accent-dim: #17251f;--green: var(--signal);--red: var(--stop);--amber: var(--warn);--radius: 14px;--font-display: "Space Grotesk", ui-sans-serif, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-ui: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif;--ease-spring: cubic-bezier(.34, 1.4, .5, 1);--dur: .18s;--shadow-key: inset 0 1px 0 rgba(255, 255, 255, .07), inset 0 -1px 0 rgba(0, 0, 0, .35), 0 1px 2px rgba(0, 0, 0, .45), 0 12px 24px -14px rgba(0, 0, 0, .8);--shadow-sheet: 0 -1px 0 var(--line-soft), 0 -24px 60px -20px rgba(0, 0, 0, .6)}*{box-sizing:border-box}html,body,#root{height:100%;margin:0}body{background:var(--ink-900);color:var(--text);font-family:var(--font-ui);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}body:before{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:0;background:radial-gradient(120% 60% at 50% -10%,rgba(55,204,139,.06),transparent 60%),radial-gradient(140% 50% at 50% 115%,rgba(0,0,0,.5),transparent 55%)}button{font:inherit;color:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}input{font:inherit;color:inherit}::selection{background:var(--signal);color:var(--ink-900)}:focus-visible{outline:2px solid var(--signal-bright);outline-offset:2px;border-radius:4px}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.001ms!important;animation-iteration-count:1!important;transition-duration:.001ms!important}}.app-shell{display:flex;flex-direction:column;height:100dvh;max-width:480px;margin:0 auto;background:linear-gradient(180deg,var(--ink-850),var(--ink-900) 40%);position:relative;z-index:1;isolation:isolate;border-left:1px solid var(--line-soft);border-right:1px solid var(--line-soft)}.app-header{display:flex;align-items:center;justify-content:space-between;padding:14px 18px;border-bottom:1px solid var(--line-soft);flex-shrink:0}.app-title{font-family:var(--font-display);font-weight:500;font-size:15px;letter-spacing:.14em;text-transform:uppercase;color:var(--paper-300)}.connection-badge{font-family:var(--font-ui);font-size:11px;font-weight:600;letter-spacing:.06em;text-transform:uppercase;padding:5px 10px 5px 8px;border-radius:999px;background:var(--ink-700);color:var(--text-dim);display:inline-flex;align-items:center;gap:6px}.connection-badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.connection-badge--registered{background:var(--signal-wash);color:var(--signal)}.connection-badge--error{background:var(--stop-wash);color:var(--stop)}.connection-badge--connecting,.connection-badge--disconnected{background:#e2a33c24;color:var(--amber)}.app-main{flex:1;display:flex;flex-direction:column;min-height:0;min-width:0}.app-content{flex:1;overflow-y:auto;display:flex;flex-direction:column;min-height:0;overscroll-behavior:contain}.app-loading{height:100dvh;display:flex;align-items:center;justify-content:center;color:var(--text-dim)}.app-tabbar{display:flex;border-top:1px solid var(--line-soft);background:color-mix(in srgb,var(--ink-800) 82%,transparent);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);flex-shrink:0;padding-bottom:env(safe-area-inset-bottom)}.app-tab{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;gap:3px;padding:9px 4px 8px;background:none;border:none;color:var(--paper-500);transition:color var(--dur) ease}.app-tab:hover{color:var(--paper-300)}.app-tab--active{color:var(--signal)}.app-tab--active:before{content:"";position:absolute;top:0;width:22px;height:2px;border-radius:0 0 2px 2px;background:var(--signal);box-shadow:0 0 10px var(--signal)}.app-tab-icon{display:flex;line-height:1}.app-tab-icon svg{width:21px;height:21px}.app-tab-label{font-size:10px;font-weight:600;letter-spacing:.04em}.screen{flex:1;display:flex;flex-direction:column;min-height:0}.screen-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px;border-bottom:1px solid var(--border)}.empty-state{padding:40px 16px;text-align:center;color:var(--text-dim)}.auth-screen{height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px}.auth-card{width:100%;max-width:340px;display:flex;flex-direction:column;gap:12px}.auth-card h1{margin:0 0 4px;font-size:22px}.auth-subtitle{margin:0 0 8px;color:var(--text-dim);font-size:14px}.auth-card form{display:flex;flex-direction:column;gap:10px}.auth-input{background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:12px 14px;color:var(--text)}.auth-input--code{text-align:center;font-size:24px;letter-spacing:8px}.auth-submit{background:var(--accent);color:var(--ink-900);border:none;border-radius:10px;padding:12px;font-weight:600;margin-top:4px}.auth-submit:disabled{opacity:.5;cursor:default}.auth-error{color:var(--red);font-size:13px;margin:0}.auth-hint{color:var(--text-dim);font-size:13px;text-align:center;margin-top:8px}.dialer-screen{padding:clamp(10px,3vh,26px) 16px calc(14px + env(safe-area-inset-bottom));align-items:center;justify-content:safe center}.dialer-console{width:100%;max-width:360px;display:flex;flex-direction:column;align-items:center;gap:clamp(10px,2.1vh,18px)}.dialer-status{display:inline-flex;align-items:center;gap:8px;font-family:var(--font-ui);font-size:10.5px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--paper-500)}.dialer-status-dot{width:7px;height:7px;border-radius:50%;background:currentColor;flex-shrink:0}.dialer-status[data-state=registered]{color:var(--signal)}.dialer-status[data-state=registered] .dialer-status-dot{animation:dot-pulse 2.4s ease-out infinite}.dialer-status[data-state=connecting],.dialer-status[data-state=disconnected]{color:var(--warn)}.dialer-status[data-state=connecting] .dialer-status-dot,.dialer-status[data-state=disconnected] .dialer-status-dot{animation:dot-blink 1s steps(1,end) infinite}.dialer-status[data-state=error]{color:var(--stop)}@keyframes dot-pulse{0%{box-shadow:0 0 #37cc8b73}70%{box-shadow:0 0 0 7px #37cc8b00}to{box-shadow:0 0 #37cc8b00}}@keyframes dot-blink{50%{opacity:.2}}.dialer-readout{width:100%;display:grid;grid-template-columns:40px minmax(0,1fr) 40px;align-items:center;gap:4px;border-bottom:1px solid var(--line);padding-bottom:6px}.dialer-input{grid-column:2;min-width:0;background:transparent;border:none;padding:6px 2px;font-family:var(--font-display);font-size:clamp(21px,6vw,30px);font-weight:500;letter-spacing:.01em;font-variant-numeric:tabular-nums;text-align:center;color:var(--text)}.dialer-input:focus{outline:none}.dialer-input::placeholder{font-size:13px;font-weight:600;letter-spacing:.16em;text-transform:uppercase;color:var(--paper-500)}.dialer-readout-btn{width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:none;border:none;border-radius:50%;color:var(--paper-300);transition:background var(--dur) ease,color var(--dur) ease}.dialer-readout-btn svg{width:20px;height:20px}.dialer-readout-btn--plus{grid-column:1;font-family:var(--font-display);font-size:21px;font-weight:400}.dialer-readout-btn--back{grid-column:3}.dialer-readout-btn:active{background:var(--ink-700);color:var(--text)}@media(hover:hover){.dialer-readout-btn:hover{color:var(--text)}}.keypad{display:grid;grid-template-columns:repeat(3,1fr);gap:clamp(8px,2.4vw,12px);width:100%;max-width:clamp(240px,84vw,300px)}.keypad-key{position:relative;aspect-ratio:1 / .74;border-radius:clamp(13px,4vw,18px);border:1px solid var(--line-soft);background:radial-gradient(120% 90% at 50% 0%,rgba(255,255,255,.05),transparent 55%),linear-gradient(180deg,var(--ink-700),var(--ink-800) 70%,var(--ink-850));box-shadow:var(--shadow-key);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;color:var(--text);overflow:hidden;transition:transform .12s var(--ease-spring),box-shadow .12s ease,background .12s ease,border-color .12s ease}.keypad-key:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border-radius:inherit;background:radial-gradient(circle at center,var(--signal-wash),transparent 70%);opacity:0;transform:scale(.5);transition:opacity .26s ease,transform .26s ease}.keypad-key:active{transform:translateY(1px) scale(.97);background:var(--ink-600);box-shadow:inset 0 2px 5px #0000008c}.keypad-key:active:after{opacity:1;transform:scale(1);transition:none}@media(hover:hover){.keypad-key:hover{border-color:var(--line);background:linear-gradient(180deg,var(--ink-600),var(--ink-700))}}.keypad-digit{font-family:var(--font-display);font-size:clamp(19px,5.8vw,24px);font-weight:500;line-height:1;font-variant-numeric:tabular-nums}.keypad-key[data-key="*"] .keypad-digit,.keypad-key[data-key="#"] .keypad-digit{font-size:clamp(21px,6.4vw,26px)}.keypad-sub{font-family:var(--font-ui);font-size:9px;font-weight:700;letter-spacing:.18em;line-height:10px;height:10px;color:var(--paper-500);white-space:pre}.keypad-key[data-key="0"] .keypad-sub{font-family:var(--font-display);font-size:13px;letter-spacing:0;color:var(--paper-300)}.dialer-call-row{display:flex;justify-content:center;padding-top:clamp(0px,1vh,6px)}.call-button{width:clamp(56px,15vw,66px);height:clamp(56px,15vw,66px);border-radius:50%;border:none;display:flex;align-items:center;justify-content:center;color:var(--ink-900);background:radial-gradient(circle at 50% 32%,var(--signal-bright),var(--signal) 72%);box-shadow:0 10px 26px -8px #37cc8b8c,inset 0 1px #ffffff4d;transition:transform .14s var(--ease-spring),box-shadow .14s ease,filter .14s ease}.call-button-icon{width:26px;height:26px}.call-button:not(:disabled):hover{filter:brightness(1.06)}.call-button:not(:disabled):active{transform:scale(.93);box-shadow:0 5px 14px -8px #37cc8b8c}.call-button:disabled{cursor:default;color:var(--paper-500);background:var(--ink-700);box-shadow:inset 0 0 0 1px var(--line-soft)}.dialer-hint{min-height:1.1em;margin:0;max-width:34ch;color:var(--paper-300);font-size:12.5px;line-height:1.35;text-align:center;text-wrap:balance}@media(max-height:560px)and (min-width:560px){.dialer-screen{padding-block:10px;align-items:safe center}.dialer-console{max-width:660px;display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"status keypad" "readout keypad" "call keypad" "hint keypad";align-items:center;justify-items:center;column-gap:clamp(18px,4vw,40px);row-gap:8px}.dialer-status{grid-area:status}.dialer-readout{grid-area:readout}.dialer-input{font-size:clamp(19px,3.4vw,26px)}.keypad{grid-area:keypad;align-self:center;max-width:min(42vw,256px)}.keypad-key{aspect-ratio:1 / .72}.keypad-sub{display:none}.dialer-call-row{grid-area:call;padding-top:2px}.dialer-hint{grid-area:hint}}@media(max-height:560px)and (max-width:559px){.dialer-screen{justify-content:flex-start}.keypad-key{aspect-ratio:1 / .62}}.call-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:20;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:clamp(36px,10vh,80px) 24px calc(36px + env(safe-area-inset-bottom));background:radial-gradient(110% 55% at 50% 0%,rgba(55,204,139,.09),transparent 62%),color-mix(in srgb,var(--ink-900) 95%,transparent);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px)}.call-incoming-body{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px}.call-avatar{width:clamp(84px,24vw,100px);height:clamp(84px,24vw,100px);margin-bottom:10px;border-radius:50%;border:1px solid var(--line);background:linear-gradient(180deg,var(--ink-700),var(--ink-800));color:var(--signal);display:flex;align-items:center;justify-content:center}.call-avatar-icon{width:36px;height:36px}.call-avatar--ringing{animation:avatar-ring 2s ease-out infinite}@keyframes avatar-ring{0%{box-shadow:0 0 #37cc8b59,0 0 #37cc8b2e}70%{box-shadow:0 0 0 16px #37cc8b00,0 0 0 32px #37cc8b00}to{box-shadow:0 0 #37cc8b00,0 0 #37cc8b00}}.call-overlay-label{margin:0;font-family:var(--font-ui);font-size:10.5px;font-weight:600;text-transform:uppercase;letter-spacing:.18em;color:var(--paper-300)}.call-overlay-number{margin:0;font-family:var(--font-display);font-size:clamp(23px,6.8vw,31px);font-weight:500;letter-spacing:.01em;font-variant-numeric:tabular-nums}.call-overlay-timer{margin:0;font-family:var(--font-display);font-size:17px;font-variant-numeric:tabular-nums;color:var(--signal);flex-shrink:0}.call-overlay-actions{display:flex;gap:clamp(44px,20vw,84px)}.call-answer-btn-wrap{display:flex;flex-direction:column;align-items:center;gap:10px}.call-round{width:66px;height:66px;border-radius:50%;border:none;display:flex;align-items:center;justify-content:center;color:#fff;transition:transform .14s var(--ease-spring),filter .14s ease}.call-round svg{width:26px;height:26px}.call-round:active{transform:scale(.92);animation:none}.call-round--accept{color:var(--ink-900);background:radial-gradient(circle at 50% 32%,var(--signal-bright),var(--signal) 72%);box-shadow:0 10px 26px -8px #37cc8b80;animation:btn-bob 1.6s ease-in-out infinite}@keyframes btn-bob{50%{transform:translateY(-4px)}}.call-round--reject{background:var(--stop);box-shadow:0 10px 26px -10px #ec5b6280}.call-round-label{font-size:10.5px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;color:var(--paper-300)}.call-overlay--active{inset:auto 0 0 0;height:auto;justify-content:flex-start;gap:13px;padding:16px 16px calc(18px + env(safe-area-inset-bottom));border-radius:22px 22px 0 0;border-top:1px solid var(--line);background:linear-gradient(180deg,var(--ink-800),var(--ink-850));box-shadow:var(--shadow-sheet);-webkit-backdrop-filter:none;backdrop-filter:none}.call-overlay--active:before{content:"";width:36px;height:4px;border-radius:999px;background:var(--line);margin-bottom:3px}.call-active-head{width:100%;display:flex;align-items:center;justify-content:space-between;gap:12px}.call-active-id{display:flex;flex-direction:column;gap:3px;min-width:0}.call-active-id .call-overlay-number{font-size:clamp(18px,5.4vw,22px);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.call-overlay-controls{display:flex;gap:8px;width:100%}.call-control{flex:1;display:flex;flex-direction:column;align-items:center;gap:5px;padding:11px 6px;border-radius:14px;border:1px solid var(--line-soft);background:var(--ink-700);color:var(--paper-300);font-size:11px;font-weight:600;letter-spacing:.03em;transition:background var(--dur) ease,color var(--dur) ease,border-color var(--dur) ease}.call-control svg{width:20px;height:20px}.call-control:active{background:var(--ink-600)}.call-control--on{background:var(--signal-wash);color:var(--signal);border-color:color-mix(in srgb,var(--signal) 42%,transparent)}.call-overlay-dtmf{width:100%;display:flex;justify-content:center;margin:2px 0}.call-overlay-dtmf .keypad{max-width:236px;gap:7px}.call-overlay-dtmf .keypad-key{aspect-ratio:1 / .58;border-radius:12px}.call-overlay-dtmf .keypad-digit{font-size:18px}.call-overlay-dtmf .keypad-sub{display:none}.call-action--hangup{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:13px;border:none;border-radius:14px;background:var(--stop);color:#fff;font-weight:600;font-size:14px;box-shadow:0 10px 24px -12px #ec5b62a6;transition:transform .14s var(--ease-spring),filter .14s ease}.call-action--hangup svg{width:20px;height:20px}.call-action--hangup:active{transform:scale(.98);filter:brightness(.94)}.thread-list{list-style:none;margin:0;padding:0;width:100%;overflow-y:auto}.thread-row{width:100%;display:flex;align-items:center;justify-content:space-between;padding:14px 16px;background:none;border:none;border-bottom:1px solid var(--border);color:var(--text);text-align:left}.thread-row--selected{background:var(--surface)}.thread-row-meta{display:flex;gap:6px;align-items:center}.thread-badge{font-size:11px;border-radius:999px;padding:2px 8px}.thread-badge--unread{background:var(--accent);color:var(--ink-900)}.thread-badge--optout{background:#e5484d26;color:var(--red)}.thread-view{flex:1;display:flex;flex-direction:column;min-height:0}.thread-view-header{display:flex;align-items:center;gap:8px;padding:14px 16px;border-bottom:1px solid var(--border);font-weight:600}.thread-back{background:none;border:none;color:var(--accent);font-size:22px;line-height:1;padding:0 4px 0 0}.thread-view-messages{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:8px}.message-bubble{max-width:75%;padding:8px 12px;border-radius:16px}.message-bubble p{margin:0}.message-bubble--inbound{align-self:flex-start;background:var(--surface-2);border-bottom-left-radius:4px}.message-bubble--outbound{align-self:flex-end;background:var(--accent);color:var(--ink-900);border-bottom-right-radius:4px}.message-bubble-meta{display:block;font-size:10px;opacity:.6;margin-top:2px}.thread-compose{display:flex;gap:8px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));border-top:1px solid var(--border)}.thread-compose-input{flex:1;background:var(--surface);border:1px solid var(--border);border-radius:999px;padding:10px 16px;color:var(--text)}.thread-compose-send{background:var(--accent);color:var(--ink-900);border:none;border-radius:999px;padding:0 18px;font-weight:600}.thread-compose-send:disabled{opacity:.4}.thread-optout-notice{padding:12px 16px;color:var(--red);font-size:13px;text-align:center}.search-input{flex:1;background:var(--surface);border:1px solid var(--border);border-radius:10px;padding:10px 14px;color:var(--text)}.primary-button,.secondary-button,.danger-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;border-radius:10px;padding:10px 16px;font-weight:600;white-space:nowrap;transition:filter var(--dur) ease,background var(--dur) ease,transform var(--dur) ease}.primary-button svg,.secondary-button svg,.danger-button svg{width:17px;height:17px}.primary-button:active:not(:disabled),.secondary-button:active:not(:disabled),.danger-button:active:not(:disabled){transform:scale(.97)}.primary-button{background:var(--accent);color:var(--ink-900);border:none}.primary-button:hover:not(:disabled){filter:brightness(1.07)}.primary-button:disabled{opacity:.5}.secondary-button{background:var(--ink-700);color:var(--text);border:1px solid var(--line)}.secondary-button:hover:not(:disabled){background:var(--ink-600)}.danger-button{background:var(--stop-wash);color:var(--stop);border:1px solid color-mix(in srgb,var(--stop) 32%,transparent)}.danger-button:hover:not(:disabled){background:color-mix(in srgb,var(--stop) 20%,transparent)}.contact-list,.history-list,.admin-list{list-style:none;margin:0;padding:0;overflow-y:auto;flex:1}.contact-row{display:flex;align-items:center;border-bottom:1px solid var(--border)}.contact-row-main{flex:1;min-width:0;display:flex;justify-content:space-between;align-items:center;gap:10px;padding:14px 8px 14px 16px;background:none;border:none;color:var(--text);text-align:left}.contact-row-name,.contact-row-number{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contact-row-number{color:var(--text-dim)}.history-row{display:flex;align-items:center;gap:10px;padding:12px 8px 12px 16px;border-bottom:1px solid var(--border)}.history-row--missed .history-number{color:var(--red)}.history-direction{display:flex;color:var(--paper-500);flex-shrink:0}.history-direction svg{width:17px;height:17px}.history-row--missed .history-direction{color:var(--stop)}.history-details{flex:1;min-width:0;display:flex;flex-direction:column}.history-number{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-meta{font-size:12px;color:var(--text-dim)}.history-time{font-size:12px;color:var(--text-dim);flex-shrink:0;white-space:nowrap}.icon-button{flex-shrink:0;width:44px;height:44px;display:flex;align-items:center;justify-content:center;line-height:1;background:none;border:none;border-radius:50%;color:var(--text-dim);transition:background var(--dur) ease,color var(--dur) ease}.icon-button svg{width:19px;height:19px}.icon-button:disabled{opacity:.35;cursor:default}.icon-button--call:not(:disabled){color:var(--signal)}.icon-button--call:not(:disabled):hover{background:var(--signal-wash)}.icon-button--delete:not(:disabled):hover{color:var(--stop);background:var(--stop-wash)}.contact-detail-name{margin:0;font-size:20px}.contact-detail-number{margin:0;color:var(--text-dim)}.contact-detail-call{margin-top:4px;padding:14px;font-size:16px}.contact-detail-subhead{margin:12px 0 0;font-size:13px;font-weight:600;color:var(--text-dim);text-transform:uppercase;letter-spacing:.04em}.contact-detail-numbers{list-style:none;margin:0;padding:0}.contact-detail-numbers li{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:4px 0;border-bottom:1px solid var(--border)}.list-error{margin:12px 16px 0}.screen-header--end{justify-content:flex-end}.admin-row{display:flex;flex-wrap:wrap;gap:8px;padding:14px 16px;border-bottom:1px solid var(--border);align-items:center}.admin-row-identity{display:flex;flex-direction:column;min-width:120px;flex:1}.admin-row-name{font-weight:600}.admin-row-email{font-size:12px;color:var(--text-dim)}.admin-row-actions{display:flex;gap:6px}.admin-select,.admin-input{background:var(--surface);border:1px solid var(--border);border-radius:8px;padding:8px 10px;color:var(--text);font-size:13px}.admin-select--full{width:100%}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#0009;display:flex;align-items:flex-end;justify-content:center;z-index:30}.modal-card{background:var(--surface);border-radius:18px 18px 0 0;padding:20px 16px calc(20px + env(safe-area-inset-bottom));width:100%;max-width:480px;display:flex;flex-direction:column;gap:10px;max-height:85dvh;overflow-y:auto}.modal-card h2{margin:0 0 4px}.modal-hint{color:var(--text-dim);font-size:13px;margin:0 0 8px}.modal-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:8px}.settings-screen{padding:16px;gap:24px}.settings-section h2{font-size:15px;color:var(--text-dim);text-transform:uppercase;letter-spacing:.5px;margin:0 0 8px}.settings-row{display:flex;justify-content:space-between;align-items:center;padding:10px 0;border-bottom:1px solid var(--border);margin:0}.settings-hint{color:var(--text-dim);font-size:13px}.settings-factor-list{list-style:none;margin:0;padding:0}.mfa-enroll{display:flex;flex-direction:column;align-items:center;gap:10px;margin-top:12px}.mfa-qr{width:180px;height:180px;background:#fff;border-radius:8px;padding:8px}@media(min-width:900px){.app-shell{max-width:none;flex-direction:row;border-left:none;border-right:none}.app-tabbar{order:-1;flex-direction:column;width:208px;flex-shrink:0;gap:2px;padding:14px 10px;border-top:none;border-right:1px solid var(--line-soft);-webkit-backdrop-filter:none;backdrop-filter:none;background:linear-gradient(180deg,var(--ink-850),var(--ink-900))}.app-tab{flex:0 0 auto;flex-direction:row;justify-content:flex-start;gap:12px;padding:11px 12px;border-radius:10px}.app-tab--active{background:var(--accent-dim)}.app-tab--active:before{top:12px;bottom:12px;left:0;width:2px;height:auto;border-radius:0 2px 2px 0}.app-tab-label{font-size:13.5px}.dialer-console{padding:30px 30px 26px;border:1px solid var(--line-soft);border-radius:28px;background:linear-gradient(180deg,var(--ink-800),var(--ink-850));box-shadow:0 44px 90px -34px #000000bf,inset 0 1px #ffffff08}.contacts-screen,.history-screen,.admin-screen,.settings-screen{flex:0 0 auto;width:100%;max-width:640px;margin:0 auto;padding:40px 32px 72px;gap:18px}.settings-screen{max-width:540px}.admin-screen{max-width:840px}.contact-list,.history-list,.admin-list{flex:none;overflow:hidden;border:1px solid var(--line-soft);border-radius:16px;background:var(--ink-800)}.contact-row:last-child,.history-row:last-child,.admin-row:last-child{border-bottom:none}.contact-row-main{display:grid;grid-template-columns:minmax(0,200px) 1fr;gap:24px;padding:16px 10px 16px 18px}.contact-row-number{text-align:left}.history-row{padding:15px 10px 15px 18px}.admin-row{padding:18px}.admin-row-actions{margin-left:auto}.screen-header{padding:0;border-bottom:none}.screen-header h2{font-family:var(--font-display);font-size:18px;font-weight:500;letter-spacing:.02em;margin:0}.settings-section{background:var(--ink-800);border:1px solid var(--line-soft);border-radius:16px;padding:16px 22px 20px}.settings-section h2{margin-bottom:4px}.settings-row{display:grid;grid-template-columns:132px 1fr;gap:16px;padding:13px 0}.settings-row>span:first-child{color:var(--text-dim)}.settings-row:last-of-type{border-bottom:none}.settings-factor-list .settings-row{grid-template-columns:1fr auto;align-items:center}.settings-section>.primary-button,.settings-section>.secondary-button{margin-top:16px}.modal-backdrop{align-items:center}.modal-card{border-radius:18px;max-width:420px;padding-bottom:20px}.call-overlay{left:208px}.call-overlay--active{left:50%;right:auto;bottom:22px;transform:translate(-50%);width:min(440px,calc(100vw - 280px));border:1px solid var(--line);border-radius:22px;box-shadow:0 36px 90px -24px #000c}.call-overlay--active:before{display:none}}@media(min-width:900px)and (max-height:560px){.dialer-console{transform:none;padding:0;border:none;background:none;box-shadow:none}}
