:root{--phone-w: 360px;--phone-h: 591px;--bg-page: #e8ecf1;--bg: #ffffff;--ink: #111827;--muted: #9ca3af;--muted-2: #6b7280;--line: #e5e7eb;--blue: #234feb;--blue-soft: #e8efff;--blue-border: #9db6ff;--call: #7ed957;--call-ink: #ffffff;--danger: #ef4444;--danger-soft: #fee2e2;--brand-yellow: #ffc823;--brand-ink: #000000;--font: "SF Pro Text", "Segoe UI", "Helvetica Neue", Arial, sans-serif}*{box-sizing:border-box}html,body,#root{height:100%;margin:0;overflow:hidden}body{font-family:var(--font);color:var(--ink);background:var(--bg-page);-webkit-font-smoothing:antialiased}button,input{font:inherit}.launcher{min-height:100%;display:grid;place-items:center;padding:1.5rem;background:radial-gradient(ellipse 70% 50% at 50% 0%,#dfe7f5 0%,transparent 60%),var(--bg-page)}.launcher-card{width:min(380px,100%);background:#fff;border:1px solid #dbe1ea;border-radius:16px;padding:1.75rem 1.5rem;box-shadow:0 18px 40px #1018281a;text-align:center}.launcher-card h1{margin:0 0 .5rem;font-size:1.6rem;letter-spacing:-.02em}.launcher-card p{margin:0 0 1.1rem;color:var(--muted-2);font-size:.92rem;line-height:1.45}.launcher-card .hint{margin:1rem 0 0;font-size:.78rem;color:var(--muted)}.launcher-card .btn-primary{width:100%}.launcher-mobile-title{margin:.85rem 0 .55rem;font-size:1.35rem;letter-spacing:-.02em;color:var(--ink)}.launcher-mobile-lead{margin:0 0 .85rem;color:var(--muted-2);font-size:.95rem;line-height:1.45}.brand-logo{display:flex;justify-content:center;align-items:center;background:transparent;border-radius:0;padding:0;overflow:visible}.brand-logo img{display:block;object-fit:contain}.brand-logo--hero{margin:0 auto 1rem;padding:0;width:100%;max-width:320px}.brand-logo--account{margin:0 0 .85rem;padding:0;justify-content:flex-start;width:fit-content;max-width:100%}.page{min-height:100%;display:grid;place-items:center;padding:1.25rem}.phone{width:min(var(--phone-w),100%);height:min(var(--phone-h),calc(100vh - 2.5rem));max-height:var(--phone-h);background:var(--bg);border-radius:18px;box-shadow:0 1px 2px #1018280f,0 18px 40px #1018281f;border:1px solid #dbe1ea;display:flex;flex-direction:column;overflow:hidden;position:relative;container-type:size;container-name:phone;--key: clamp(2.2rem, min(13.5cqi, 9cqh), 3.35rem);--key-gap-x: calc(var(--key) * .22);--key-gap-y: calc(var(--key) * .14);-webkit-tap-highlight-color:transparent;touch-action:manipulation}body.popup-mode{background:var(--bg)}body.popup-mode .page{padding:0;min-height:100%;height:100%}body.popup-mode .phone{width:100%;height:100%;max-height:none;border-radius:0;border:0;box-shadow:none}.phone-body{flex:1;min-height:0;display:flex;flex-direction:column;padding:.55rem .9rem .35rem;position:relative;overflow:hidden}.status-chip{display:flex;align-items:center;justify-content:center;gap:.35rem;font-size:.72rem;color:var(--muted-2);margin:0 0 .45rem;min-height:1rem;flex-shrink:0}.connection-alert{flex-shrink:0;display:flex;align-items:flex-start;gap:.4rem;margin:0 0 .3rem;padding:.38rem .55rem;border-radius:10px;border:1px solid transparent;text-align:left;line-height:1.25}.connection-alert .dot{margin-top:.18rem;flex-shrink:0}.connection-alert-copy{display:flex;flex-direction:column;gap:.08rem;min-width:0}.connection-alert-copy strong{font-size:.72rem;font-weight:750;letter-spacing:-.01em}.connection-alert-copy span{font-size:.64rem;font-weight:500;opacity:.92;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.connection-alert.is-error{background:linear-gradient(180deg,#fff5f5,#ffecec);border-color:#fecaca;color:#991b1b}.connection-alert.is-warn{background:linear-gradient(180deg,#fffbeb,#fef3c7);border-color:#fde68a;color:#92400e}.dot{width:.45rem;height:.45rem;border-radius:50%;background:#cbd5e1}.dot.ok{background:#22c55e}.dot.bad{background:var(--danger)}.dot.warn{background:#f59e0b;animation:pulse 1.2s ease infinite}@keyframes pulse{50%{opacity:.35}}.network-banner{flex-shrink:0;background:#92400e;color:#fffbeb;text-align:center;font-size:.78rem;font-weight:600;padding:.45rem .75rem;line-height:1.3}.masquerade-banner{flex-shrink:0;background:#1e3a5f;color:#e8f1ff;text-align:center;font-size:.78rem;font-weight:600;padding:.4rem .65rem;line-height:1.35;border-radius:8px;margin-bottom:.35rem}.masquerade-banner strong{font-weight:700}.masquerade-banner span{font-weight:500;opacity:.85}.caps-line{font-size:.88rem;line-height:1.4}.caps-line.muted{margin-top:.25rem;color:var(--muted-2);font-size:.8rem;font-weight:400}.error{color:var(--danger);font-size:.8rem;margin:.4rem 0 0;text-align:center}.flash-message{display:flex;align-items:flex-start;justify-content:center;gap:.45rem;margin:.4rem 0 0;padding:.45rem .5rem .45rem .65rem;border-radius:8px;font-size:.8rem;line-height:1.35;text-align:left}.flash-message--error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.flash-message--notice{color:var(--muted-2);background:#f3f4f6;border:1px solid var(--line)}.flash-message-text{flex:1;min-width:0;text-align:center}.flash-message-dismiss{flex:0 0 auto;width:1.35rem;height:1.35rem;margin:-.1rem 0 0;padding:0;border:0;border-radius:6px;background:transparent;color:inherit;font-size:1.05rem;line-height:1;cursor:pointer;opacity:.7}.flash-message-dismiss:hover{opacity:1;background:#0000000f}.keypad-inline-error{flex-shrink:0;margin:.35rem 0 .55rem;padding:.45rem .5rem .45rem .65rem;line-height:1.35}.sms-inline-error.flash-message{margin:.5rem 0 0}.reg-help{margin:.35rem .85rem 0;padding:0 .25rem;color:var(--muted-2);font-size:.78rem;line-height:1.4;text-align:center}.login{flex:1;display:flex;flex-direction:column;justify-content:center;padding:0 .5rem 1rem}.login .sub{margin:0 0 1.4rem;text-align:center;color:var(--muted-2);font-size:.9rem}.login label{display:grid;gap:.3rem;margin-bottom:.75rem;font-size:.78rem;color:var(--muted-2)}.login input{width:100%;border:1px solid var(--line);border-radius:10px;padding:.7rem .8rem;background:#fff;color:var(--ink)}.login input:focus{outline:2px solid color-mix(in srgb,var(--blue) 35%,transparent);border-color:var(--blue)}.login-forgot{margin:.85rem 0 0;text-align:center;color:var(--muted-2);font-size:.82rem;line-height:1.4}.login-forgot a{color:var(--blue);text-decoration:underline;text-underline-offset:2px}.login-notice{margin:.65rem 0 0}.login-notice.flash-message--notice{color:var(--muted-2);background:#f3f4f6;border:1px solid var(--line);font-weight:400}.btn-primary{width:100%;border:0;border-radius:10px;padding:.8rem 1rem;background:var(--blue);color:#fff;font-weight:600;cursor:pointer;margin-top:.35rem;min-height:44px}.btn-primary:disabled{opacity:.55;cursor:not-allowed}.keypad-view{flex:1;min-height:0;display:flex;flex-direction:column;justify-content:flex-start;gap:.2rem;padding:.15rem 0 .2rem;position:relative;overflow:hidden}.keypad-view.is-compact{gap:.1rem;padding:0 0 .1rem}.keypad-form{flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden}.keypad-stack{container-type:size;container-name:keypad-stack;--key: clamp(1.4rem, min(29cqi, 16.8cqh), 3.4rem);--key-gap-x: calc(var(--key) * .2);--key-gap-y: calc(var(--key) * .11);flex:1;min-height:0;display:flex;flex-direction:column;justify-content:space-evenly;align-items:center;overflow:hidden}.keypad-view.is-compact .cli-picker-row{margin-bottom:.2rem;min-height:0}.keypad-view.is-compact .cli-picker{padding:.14rem .4rem .14rem .45rem;font-size:clamp(.66rem,2.8cqi,.78rem)}.keypad-view.is-compact .number-display{min-height:1.15rem;padding:0}.keypad-view.is-compact .number-display input{font-size:clamp(.95rem,4.4cqi,1.15rem)}.keypad-view.is-compact .dial-hint{display:none}.cli-picker-row{flex:0 0 auto;display:flex;justify-content:flex-end;align-items:center;padding:0 .05rem;margin-top:0;margin-bottom:clamp(.35rem,1.8cqh,.7rem);min-height:1.65rem;position:relative;z-index:1}.cli-picker{display:inline-flex;align-items:center;gap:.28rem;max-width:min(100%,78cqi);padding:.28rem .55rem .28rem .65rem;border-radius:999px;background:#6ba8d8;color:#fff;font-size:clamp(.78rem,3.4cqi,.92rem);font-weight:600;line-height:1.25;box-shadow:0 1px 2px #0f172a14;cursor:pointer}.cli-picker-prefix{flex-shrink:0;opacity:.95}.cli-picker-select{-moz-appearance:none;appearance:none;-webkit-appearance:none;border:0;background:transparent;color:inherit;font:inherit;font-weight:600;padding:0 .05rem;margin:0;min-width:0;max-width:100%;cursor:pointer;outline:none;text-overflow:ellipsis}.cli-picker-select:focus-visible{outline:2px solid #fff;outline-offset:1px;border-radius:4px}.cli-picker-select option{color:var(--ink);background:#fff;font-weight:500}.cli-picker-chevron{flex-shrink:0;font-size:.72rem;line-height:1;opacity:.9;pointer-events:none}.number-display{flex:0 0 auto;display:flex;align-items:center;justify-content:center;min-height:clamp(1.6rem,5.5cqh,2.4rem);padding:.05rem .35rem;margin:0}.dial-hint{margin:0 0 clamp(.25rem,1.4cqh,.5rem);padding:0 .75rem;text-align:center;font-size:clamp(.65rem,2.5cqi,.74rem);font-weight:500;color:#9ca3af;line-height:1.3}.number-display input{width:100%;border:0;background:transparent;text-align:center;font-size:clamp(1.05rem,5.2cqi,1.4rem);font-weight:500;letter-spacing:.02em;color:var(--ink);outline:none;caret-color:var(--ink)}.number-display input::placeholder{color:#c4c9d1;font-weight:400;font-size:.92em}.dialpad{display:grid;grid-template-columns:repeat(3,var(--key, 2.75rem));column-gap:var(--key-gap-x, .55rem);row-gap:var(--key-gap-y, .35rem);justify-content:center;justify-items:center;padding:0;margin:0 auto;width:max-content;max-width:100%;flex-shrink:0}.dial-key{width:var(--key, 2.75rem);height:var(--key, 2.75rem);border-radius:50%;border:1.5px solid #d1d5db;background:#fff;color:#111;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.04rem;padding:0;line-height:1;-webkit-user-select:none;user-select:none;transition:background .06s ease,border-color .06s ease,transform .05s ease}.dial-key:hover{border-color:#9ca3af;background:#fafafa}.dial-key:active{background:#f3f4f6;transform:scale(.96)}.dial-key .digit{font-size:calc(var(--key, 2.75rem) * .38);font-weight:500}.dial-key .letters{font-size:calc(var(--key, 2.75rem) * .145);letter-spacing:.1em;color:#6b7280;font-weight:600;text-transform:uppercase}.call-row{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;column-gap:calc(var(--key, 2.75rem) * .45);padding:0;flex-shrink:0;width:100%}.call-row .call-btn{justify-self:center}.call-row .backspace-btn{justify-self:end}.call-row .call-row-spacer,.call-row .keypad-balance{justify-self:start;min-width:0}.keypad-balance{display:flex;flex-direction:column;align-items:flex-start;gap:.05rem;max-width:100%;padding:.1rem .15rem;line-height:1.15}.keypad-balance-label{font-size:.62rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.keypad-balance-value{font-size:clamp(.72rem,calc(var(--key, 2.75rem) * .28),.88rem);font-weight:600;font-variant-numeric:tabular-nums;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:100%}.call-btn{width:var(--key, 2.75rem);height:var(--key, 2.75rem);border-radius:50%;border:0;background:var(--call);color:var(--call-ink);cursor:pointer;display:grid;place-items:center;box-shadow:0 6px 16px #7ed95759;flex-shrink:0}.call-btn:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.call-btn:active:not(:disabled){transform:scale(.96)}.call-btn svg{display:block;width:calc(var(--key) * .42);height:calc(var(--key) * .42)}.backspace-btn{width:calc(var(--key) * .85);height:calc(var(--key) * .85);border:0;background:transparent;color:var(--muted-2);cursor:pointer;border-radius:10px;font-size:calc(var(--key) * .36)}.backspace-btn:disabled{opacity:.35;cursor:default}.call-row-spacer{width:calc(var(--key) * .85)}.in-call{flex:1;min-height:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;gap:.35rem;padding-bottom:.5rem;overflow:hidden}.in-call:has(.dtmf-panel){justify-content:stretch;align-items:stretch}.in-call .phase{color:var(--muted-2);font-size:.9rem;margin:0}.in-call .phase.phase-held{color:#b45309;font-weight:800;letter-spacing:.06em;text-transform:uppercase;font-size:.95rem}.in-call.is-held{background:radial-gradient(520px 220px at 50% 12%,rgba(255,200,35,.18),transparent 60%)}.hold-badge{display:inline-flex;align-items:center;justify-content:center;gap:.45rem;margin:.15rem 0 .35rem;padding:.5rem .9rem;border:1px solid #f6c453;border-radius:999px;background:#fff8e8;color:#92400e;font-size:.82rem;font-weight:700;cursor:pointer;animation:hold-pulse 1.6s ease-in-out infinite}.hold-badge svg{width:16px;height:16px;flex-shrink:0}.hold-badge:hover{background:#fff1d0}@keyframes hold-pulse{0%,to{box-shadow:0 0 #f59e0b59}50%{box-shadow:0 0 0 6px #f59e0b00}}.in-call .timer{font-variant-numeric:tabular-nums;font-size:2rem;font-weight:600;letter-spacing:.04em;margin:.15rem 0 .35rem}.in-call .party{margin:0 0 1.75rem;font-size:1.35rem;font-weight:600;letter-spacing:.02em;word-break:break-all;padding:0 .5rem;color:var(--ink)}.in-call-controls{display:flex;flex-direction:column;align-items:center;gap:1.35rem;width:100%}.in-call-actions{display:flex;gap:1.25rem;align-items:flex-start;justify-content:center}.circle-action{width:auto;min-width:64px;height:auto;border-radius:0;border:0;background:transparent;color:var(--ink);cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:.45rem;padding:0}.circle-action svg{width:22px;height:22px;box-sizing:content-box;padding:16px;border-radius:50%;border:1px solid var(--line);background:#fff}.circle-action .action-label{font-size:.75rem;font-weight:600;color:var(--muted-2);line-height:1}.circle-action:disabled{opacity:.45;cursor:not-allowed}.circle-action:active:not(:disabled) svg{transform:scale(.94);background:#f3f4f6}.circle-action.active svg{background:var(--blue-soft);border-color:var(--blue-border);color:var(--blue)}.circle-action.active .action-label{color:var(--blue)}.circle-action.is-resume svg{background:#ecfdf3;border-color:#86efac;color:#15803d}.circle-action.is-resume .action-label{color:#15803d;font-weight:700}.end-call-btn{display:inline-flex;align-items:center;justify-content:center;gap:.55rem;min-width:168px;height:52px;padding:0 1.35rem;border:0;border-radius:999px;background:var(--danger);color:#fff;font-size:.95rem;font-weight:600;cursor:pointer;box-shadow:0 6px 16px #ef444447;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.end-call-btn svg{width:22px;height:22px;flex-shrink:0}.end-call-btn:hover:not(:disabled){filter:brightness(.96)}.end-call-btn:active:not(:disabled){transform:scale(.97);filter:brightness(.92)}.end-call-btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.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}.segment{display:grid;grid-template-columns:1fr 1fr;background:#f1f3f7;border-radius:999px;padding:.2rem;margin:.15rem auto .85rem;width:min(220px,100%)}.segment button{border:0;border-radius:999px;background:transparent;color:var(--muted-2);padding:.45rem .75rem;font-size:.88rem;font-weight:600;cursor:pointer}.segment button.active{background:#fff;color:var(--blue);box-shadow:0 1px 2px #10182814}.filters{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.75rem}.chip{border:1px solid var(--blue-border);background:#fff;color:#6b8cff;border-radius:999px;padding:.28rem .7rem;font-size:.78rem;font-weight:600;cursor:pointer}.chip.active{background:var(--blue);border-color:var(--blue);color:#fff}.chip:disabled{opacity:.45;cursor:not-allowed}.history-list{list-style:none;margin:0;padding:0;overflow:auto;flex:1;min-height:0;display:flex;flex-direction:column;gap:.85rem}.history-group{margin:0;padding:0}.history-day-heading{margin:0 0 .35rem;padding:.15rem .1rem;font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--muted)}.history-day-list{list-style:none;margin:0;padding:0}.history-list li,.history-row{display:flex;align-items:center;gap:.4rem;padding:.55rem 0;border-bottom:1px solid var(--line);cursor:default}.history-day-list .history-row:last-child{border-bottom:0}.history-main{flex:1;min-width:0;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:.75rem;padding:.1rem;border:0;background:transparent;text-align:left;cursor:pointer;color:inherit;font:inherit}.history-identity{display:flex;flex-direction:column;gap:.12rem;min-width:0}.history-list .num{font-weight:650;font-size:.94rem;letter-spacing:-.01em;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-subnum{font-size:.72rem;color:var(--muted);font-variant-numeric:tabular-nums;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-list .meta{display:flex;align-items:center;gap:.35rem;color:var(--muted-2);font-size:.78rem;font-variant-numeric:tabular-nums}.history-dir{display:inline-flex;width:.95rem;justify-content:center;color:var(--muted)}.history-missed{color:var(--danger);font-weight:600}.history-detail-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:8;display:grid;place-items:end center;padding:.85rem;background:#0f172a52}.history-detail-panel{width:min(100%,22rem);border-radius:16px 16px 14px 14px;background:#fff;border:1px solid var(--line);box-shadow:0 16px 40px #10182838;padding:.95rem 1rem 1.05rem;display:flex;flex-direction:column;gap:.65rem}.history-detail-top{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.history-detail-top h3{margin:0;font-size:.95rem;font-weight:650;color:var(--ink)}.history-detail-name{margin:0;font-size:1.15rem;font-weight:700;letter-spacing:-.02em;color:var(--ink);word-break:break-word}.history-detail-number{margin:-.35rem 0 0;font-size:.82rem;color:var(--muted);font-variant-numeric:tabular-nums}.history-detail-facts{margin:0;display:flex;flex-direction:column;gap:.55rem}.history-detail-facts>div{display:grid;grid-template-columns:6.5rem minmax(0,1fr);gap:.45rem;align-items:start}.history-detail-facts dt{margin:0;font-size:.72rem;font-weight:600;color:var(--muted-2);text-transform:uppercase;letter-spacing:.04em;padding-top:.12rem}.history-detail-facts dd{margin:0;font-size:.9rem;color:var(--ink);display:flex;flex-direction:column;gap:.2rem}.history-detail-facts dd strong{font-weight:650}.history-detail-explain{font-size:.82rem;color:var(--muted);line-height:1.35}.history-detail-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.25rem}.history-detail-actions .primary,.history-detail-actions .ghost{flex:1 1 8rem;min-height:2.4rem;border-radius:11px;font:inherit;font-weight:600;cursor:pointer}.history-detail-actions .primary{border:0;background:var(--call);color:#0b1a08}.history-detail-actions .primary:disabled{opacity:.45;cursor:not-allowed}.history-detail-actions .ghost{border:1px solid var(--line);background:#fff;color:var(--ink)}.history-when{display:flex;flex-direction:column;align-items:flex-end;justify-content:center;gap:.12rem;flex-shrink:0;text-align:right;min-width:4.75rem}.history-day{font-size:.7rem;font-weight:600;color:var(--muted-2);white-space:nowrap}.history-time{font-size:.82rem;font-variant-numeric:tabular-nums;color:var(--muted);white-space:nowrap}.history-save-contact{border:1px solid var(--line);background:#fff;color:var(--blue)}.history-save-contact:hover{border-color:var(--blue-border);background:var(--blue-soft)}.history-call-btn{border:0;background:var(--call);color:var(--call-ink)}.history-call-btn:disabled{opacity:.45;cursor:not-allowed}.row-action-btn{flex-shrink:0;align-self:center;box-sizing:border-box;width:1.85rem;height:1.85rem;min-width:1.85rem;min-height:1.85rem;border-radius:50%;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;padding:0;line-height:0}.row-action-btn svg{display:block;width:.95rem;height:.95rem;flex-shrink:0}.empty{color:var(--muted);text-align:center;padding:2.5rem 1rem;font-size:.92rem;line-height:1.45}.history-view{position:relative;flex:1;min-height:0;display:flex;flex-direction:column;overflow:hidden;padding:0 0 .25rem}.history-view .section-title{margin:0 0 .55rem;flex-shrink:0}.history-view .filters{display:flex;flex-wrap:wrap;gap:.4rem;margin:0 0 .35rem;flex-shrink:0}.history-view .empty{flex:1;display:flex;align-items:center;justify-content:center;margin:0;padding:1.25rem .75rem}.history-view .history-list{flex:1;min-height:0}.contacts-view{flex:1;min-height:0;display:flex;flex-direction:column;overflow:auto;position:relative}.contacts-header{margin-bottom:.65rem}.contacts-header-row{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem}.contacts-header-row .section-title{margin-bottom:.15rem}.contacts-sub{margin:0;font-size:.8rem;color:var(--muted-2)}.contact-plus-btn{border:0;background:var(--blue);color:#fff}.contact-plus-btn:hover{filter:brightness(1.05)}.sms-app{flex:1;min-height:0;display:flex;flex-direction:column;background:#f2f2f7;margin:-.15rem -.15rem 0;border-radius:0}.sms-app-header{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;padding:.35rem .85rem .65rem;background:#f2f2f7eb;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-bottom:1px solid #e5e5ea;flex-shrink:0}.sms-app-header-text h2{margin:0;font-size:1.7rem;font-weight:800;letter-spacing:-.03em;color:#111}.sms-app-header-text p{margin:.15rem 0 0;font-size:.78rem;color:#8e8e93}.sms-app-header-nav{align-items:center;padding-top:.45rem;padding-bottom:.45rem}.sms-app-header-nav h2{margin:0;font-size:1rem;font-weight:700;color:#111}.sms-compose-btn{width:40px;height:40px;border:0;border-radius:999px;background:transparent;color:var(--blue);display:grid;place-items:center;cursor:pointer;flex-shrink:0;margin-top:.15rem}.sms-compose-btn:disabled{opacity:.35;cursor:not-allowed}.sms-compose-btn:hover:not(:disabled){background:#234feb14}.sms-nav-back{border:0;background:transparent;color:var(--blue);display:inline-flex;align-items:center;gap:.1rem;font-size:.95rem;font-weight:500;padding:.25rem .15rem;cursor:pointer;min-width:5.5rem}.sms-header-spacer{min-width:5.5rem}.sms-thread-title{display:flex;flex-direction:column;align-items:center;gap:.2rem;min-width:0}.sms-thread-title strong{font-size:.82rem;font-weight:600;color:#111;max-width:10rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sms-empty{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.75rem;color:#8e8e93;padding:2rem 1rem;text-align:center}.sms-empty p{margin:0;font-size:1.25rem;font-weight:700;color:#3a3a3c}.sms-empty-cta{border:0;background:transparent;color:var(--blue);font-size:1rem;font-weight:600;cursor:pointer;padding:.35rem .5rem}.sms-inbox-list{list-style:none;margin:0;padding:0;overflow:auto;flex:1;background:#fff}.sms-inbox-list li{border-bottom:1px solid #e5e5ea}.sms-inbox-row{width:100%;border:0;background:#fff;display:flex;align-items:center;gap:.75rem;padding:.7rem .85rem;cursor:pointer;text-align:left}.sms-inbox-row:active{background:#ececf0}.sms-avatar{width:44px;height:44px;border-radius:999px;background:#c7c7cc;color:#fff;display:grid;place-items:center;font-size:.85rem;font-weight:700;flex-shrink:0}.sms-avatar-sm{width:28px;height:28px;font-size:.65rem}.sms-inbox-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:.15rem}.sms-inbox-top{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.sms-inbox-name{font-weight:650;color:#111;font-size:.98rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sms-inbox-time{color:#8e8e93;font-size:.78rem;flex-shrink:0}.sms-inbox-preview{color:#8e8e93;font-size:.88rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.sms-to-row{display:flex;align-items:center;gap:.5rem;padding:.55rem .85rem;background:#fff;border-bottom:1px solid #e5e5ea;flex-shrink:0}.sms-to-row label{color:#8e8e93;font-size:.95rem;margin:0}.sms-to-row input{flex:1;border:0;outline:none;font:inherit;font-size:1rem;background:transparent;padding:.2rem 0}.sms-thread-scroll{flex:1;min-height:0;overflow:auto;padding:.75rem .75rem .5rem}.sms-thread-scroll-empty{background:#f2f2f7}.sms-bubble-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.sms-bubble-list li{display:flex;flex-direction:column;max-width:78%}.sms-bubble-list li.in{align-self:flex-start;align-items:flex-start}.sms-bubble-list li.out{align-self:flex-end;align-items:flex-end}.sms-bubble{padding:.55rem .75rem;border-radius:18px;font-size:.95rem;line-height:1.35;white-space:pre-wrap;word-break:break-word}.sms-bubble-list li.in .sms-bubble{background:#e9e9eb;color:#111;border-bottom-left-radius:5px}.sms-bubble-list li.out .sms-bubble{background:#3478f6;color:#fff;border-bottom-right-radius:5px}.sms-bubble-meta{font-size:.68rem;color:#8e8e93;padding:.15rem .35rem .25rem}.sms-composer-bar{display:flex;align-items:flex-end;gap:.45rem;padding:.45rem .65rem calc(.55rem + env(safe-area-inset-bottom));background:#f2f2f7f5;border-top:1px solid #e5e5ea;flex-shrink:0}.sms-composer-bar textarea{flex:1;border:1px solid #d1d1d6;border-radius:18px;padding:.55rem .8rem;font:inherit;font-size:.95rem;resize:none;max-height:7rem;min-height:2.35rem;background:#fff;line-height:1.35}.sms-send-pill{width:34px;height:34px;border:0;border-radius:999px;background:var(--blue);color:#fff;display:grid;place-items:center;cursor:pointer;flex-shrink:0;margin-bottom:.15rem}.sms-send-pill:disabled{background:#c7c7cc;cursor:not-allowed}.sms-inline-error{margin:0;padding:.4rem .85rem .55rem;color:var(--danger);font-size:.8rem;background:#fff;border-top:1px solid #fee2e2;flex-shrink:0}.sms-inline-error.flash-message{border-radius:0;border:0;border-top:1px solid #fee2e2;background:#fff7f7;margin:0}.contact-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.35rem}.contact-add-form{display:flex;flex-direction:column;gap:.55rem;margin:0;padding:.85rem .9rem;border:1px solid var(--line);border-radius:14px;background:#fff;width:min(100%,20rem);box-shadow:0 12px 32px #1018282e}.contact-editor-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:8;display:grid;place-items:center;padding:.85rem;background:#0f172a47}.contact-editor-top{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.contact-editor-close{border:0;background:transparent;color:var(--muted-2);font-size:1rem;cursor:pointer;padding:.15rem .35rem;line-height:1}.contact-add-title{margin:0;font-size:.9rem;font-weight:600;color:var(--ink)}.contact-add-field{display:flex;flex-direction:column;gap:.25rem;font-size:.68rem;font-weight:500;color:var(--muted-2)}.contact-add-form input{width:100%;min-width:0;border:1px solid var(--line);border-radius:10px;padding:.6rem .7rem;font:inherit;font-size:.88rem;font-weight:500;background:#fff;color:var(--ink)}.contact-add-btn{width:100%;margin-top:.15rem}.contact-row{display:flex;align-items:center;gap:.5rem;padding:.65rem .7rem;border:1px solid var(--line);border-radius:12px;background:#fff}.contact-meta{flex:1;min-width:0;text-align:left}.contact-meta-btn{border:0;background:transparent;padding:0;cursor:pointer;font:inherit}.contact-name{font-weight:600;font-size:.95rem;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contact-ext{margin-top:.15rem;font-size:.78rem;color:var(--muted-2);font-variant-numeric:tabular-nums}.contact-call{border:0;background:var(--call);color:var(--call-ink)}.contact-call:disabled{opacity:.45;cursor:not-allowed}.contact-delete{border:1px solid #fecaca;background:var(--danger-soft);color:var(--danger)}.contact-delete:disabled{opacity:.45;cursor:not-allowed}.feature-stub{display:flex;flex-direction:column;align-items:center;text-align:center;padding:.5rem .25rem 1rem}.feature-stub .section-title{align-self:stretch;text-align:left}.stub-lead{margin:1.25rem 0 .35rem;font-size:1rem;font-weight:600;color:var(--ink)}.feature-stub .empty{padding:.5rem 1rem 1.25rem;max-width:280px}.stub-cta{width:auto;min-width:160px;padding:.7rem 1.25rem}.section-title{margin:0 0 .65rem;font-size:1.15rem;font-weight:700}.account-view{--account-title: .95rem;--account-label: .68rem;--account-body: .8rem;--account-meta: .66rem;--account-space: .85rem;flex:1;min-height:0;overflow:auto;padding:0 .55rem 1rem;display:flex;flex-direction:column;gap:0}.account-view .section-title{margin:0 0 .85rem;font-size:var(--account-title);font-weight:600;line-height:1.25;letter-spacing:-.01em}.account-card{border:1px solid var(--line);border-radius:12px;padding:.7rem .85rem;margin-bottom:var(--account-space)}.account-card .label{font-size:var(--account-label);font-weight:500;color:var(--muted-2);margin-bottom:.28rem;line-height:1.25;letter-spacing:.01em}.account-card .value{font-size:var(--account-body);font-weight:500;line-height:1.4;word-break:break-word;color:var(--ink)}.account-balance-row{display:flex;flex-direction:row;align-items:center;justify-content:space-between;gap:.65rem;width:100%}.account-balance-row .value{flex:1 1 auto;min-width:0;word-break:normal;overflow-wrap:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.account-view a.account-add-balance.btn-outline{flex:0 0 auto;width:auto;max-width:none;align-self:center;display:inline-flex;align-items:center;justify-content:center;margin:0;min-height:1.75rem;height:1.75rem;padding:0 .65rem;font-size:.72rem;font-weight:600;line-height:1;border-radius:999px;text-decoration:none;white-space:nowrap;box-sizing:border-box}.account-balance-error{margin:0 0 var(--account-space);font-size:var(--account-meta);line-height:1.35}.account-select-field{display:flex;flex-direction:column;gap:.28rem;position:relative;margin:0 0 var(--account-space);padding:.7rem .85rem;border:1px solid var(--line);border-radius:12px;background:var(--bg, #fff)}.account-select-label{position:static;top:auto;left:auto;padding:0;background:transparent;color:var(--muted-2);font-size:var(--account-label);font-weight:500;line-height:1.25;letter-spacing:.01em;z-index:auto}.account-select{width:100%;-webkit-appearance:none;-moz-appearance:none;appearance:none;border:0;border-radius:0;padding:.15rem 1.5rem 0 0;font:inherit;font-size:var(--account-body);font-weight:500;line-height:1.4;background:transparent url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23666' d='M1 1l5 5 5-5'/%3E%3C/svg%3E") no-repeat right .1rem center;color:var(--ink)}.account-select:focus{outline:none}.account-select-field:focus-within{outline:2px solid var(--blue);outline-offset:1px}.account-gain-field{display:flex;flex-direction:column;gap:.4rem;position:relative;margin:0 0 var(--account-space);padding:.7rem .85rem .75rem;border:1px solid var(--line);border-radius:12px;background:var(--bg, #fff)}.account-gain-row{display:flex;align-items:center;gap:.65rem}.account-gain-slider{flex:1;accent-color:var(--blue)}.account-gain-value{min-width:2.6rem;text-align:right;font-size:var(--account-body);font-weight:500;font-variant-numeric:tabular-nums;line-height:1.35;color:var(--ink)}.account-gain-hint{margin:.15rem 0 0;font-size:var(--account-meta);line-height:1.35;color:var(--muted-2)}.account-view .btn-outline{display:inline-flex;align-items:center;justify-content:center;font-size:var(--account-body);font-weight:500;line-height:1.2;border-radius:999px;padding:.7rem 1rem;min-height:2.5rem;margin-top:.35rem;margin-bottom:.35rem;box-sizing:border-box}.account-view .btn-outline.danger{color:var(--danger);border-color:#fecaca;background:var(--danger-soft)}.account-password-block{margin:.35rem 0 .15rem}.account-password-toggle{width:100%}.account-password-form{display:flex;flex-direction:column;gap:.45rem;margin:0;padding:.75rem .85rem;border:1px solid var(--line);border-radius:12px;background:#fff}.account-password-form-head{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.account-password-title{margin:0;font-size:var(--account-body);font-weight:600;color:var(--ink)}.account-password-cancel{flex:0 0 auto;width:1.6rem;height:1.6rem;border:0;border-radius:6px;background:transparent;color:var(--muted-2);font-size:.95rem;line-height:1;cursor:pointer}.account-password-cancel:hover{background:#f3f4f6;color:var(--ink)}.account-password-lead{margin:0 0 .2rem;font-size:.78rem;line-height:1.35;color:var(--muted-2)}.account-password-form label{display:flex;flex-direction:column;gap:.25rem;font-size:.78rem;color:var(--muted-2)}.account-password-form input{width:100%;border:1px solid var(--line);border-radius:10px;padding:.55rem .7rem;background:#fff;color:var(--ink);font-size:.9rem}.account-password-form input:focus{outline:2px solid color-mix(in srgb,var(--blue) 35%,transparent);border-color:var(--blue)}.account-password-form .btn-outline{margin-top:.2rem;width:100%}.account-toggle-field{display:flex;flex-direction:column;gap:.2rem;margin:0 0 var(--account-space);padding:.7rem .85rem;border:1px solid var(--line);border-radius:12px;background:var(--bg, #fff)}.account-toggle-row{display:flex;align-items:center;gap:.6rem;cursor:pointer;font-size:var(--account-body);font-weight:500;line-height:1.4;color:var(--ink)}.account-toggle-row input{width:.95rem;height:.95rem;accent-color:var(--blue);flex-shrink:0}.account-toggle-hint{margin:0;padding-left:1.55rem;font-size:var(--account-meta);line-height:1.35;color:var(--muted-2)}.pip-placeholder{min-height:100vh;display:grid;place-content:center;gap:.5rem;padding:1.5rem;text-align:center;font-family:var(--font);color:var(--ink);background:var(--bg-page)}.pip-placeholder p{margin:0;font-size:.9rem;line-height:1.4;color:var(--muted-2)}.pip-placeholder strong{color:var(--ink);font-size:1rem}.ringtone-options{display:flex;flex-direction:column;gap:.4rem;margin:.45rem 0 .65rem}.ringtone-row{display:flex;align-items:center;gap:.5rem}.ringtone-option{display:flex;align-items:center;gap:.5rem;flex:1;min-width:0;font-size:var(--account-body);font-weight:500;line-height:1.35;cursor:pointer}.ringtone-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ringtone-delete{border:none;background:transparent;color:var(--danger);font-size:var(--account-meta);font-weight:600;line-height:1.3;cursor:pointer;padding:.25rem .35rem;flex-shrink:0}.ringtone-delete:disabled{opacity:.5;cursor:not-allowed}.ringtone-upload{margin-top:.15rem}.btn-outline{width:100%;border:1px solid var(--line);background:#fff;border-radius:10px;padding:.75rem 1rem;font-weight:600;cursor:pointer;min-height:44px;display:inline-flex;align-items:center;justify-content:center;line-height:1.2;box-sizing:border-box}.btn-outline.danger{color:var(--danger);border-color:#fecaca;background:var(--danger-soft)}.bottom-nav{display:grid;grid-template-columns:repeat(4,1fr);align-items:stretch;border-top:1px solid var(--line);padding:.35rem 0 calc(.4rem + env(safe-area-inset-bottom));background:#fff;flex-shrink:0}.bottom-nav.has-sms{grid-template-columns:repeat(5,minmax(0,1fr))}.bottom-nav button{border:0;background:transparent;color:#9aa3af;cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.22rem;width:100%;margin:0;padding:.25rem .05rem;font-size:.62rem;font-weight:500;line-height:1;min-height:52px;min-width:0;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.bottom-nav button:active{opacity:.7}.bottom-nav.has-sms button{font-size:.58rem;gap:.18rem}.bottom-nav button.active{color:var(--blue)}.bottom-nav svg{display:block;width:20px;height:20px;flex-shrink:0;stroke:currentColor;fill:none;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.bottom-nav.has-sms svg{width:19px;height:19px}.call-bar{position:absolute;left:.5rem;right:.5rem;bottom:4.35rem;background:#111827;color:#fff;border-radius:14px;padding:.45rem .5rem;display:flex;align-items:center;gap:.35rem;z-index:5;font-size:.78rem;box-shadow:0 8px 24px #00000040}.call-bar.is-held{background:#3b2f14;box-shadow:0 8px 24px #b4530959;outline:1px solid rgba(251,191,36,.55)}.call-bar-meta{flex:1;min-width:0;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer;padding:.2rem .35rem;display:flex;flex-direction:column;gap:.1rem}.call-bar-meta .meta-phase{font-weight:600;font-size:.72rem;color:#9ca3af}.call-bar-meta .meta-phase.phase-held{color:#fbbf24;font-weight:800;text-transform:uppercase;letter-spacing:.04em}.call-bar-meta .meta-line{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.call-bar-actions{display:flex;align-items:center;gap:.25rem;flex-shrink:0}.bar-btn{border:0;border-radius:8px;padding:.28rem;background:#374151;color:#fff;cursor:pointer;display:flex;flex-direction:column;align-items:center;gap:.05rem;font-size:.55rem;font-weight:600;min-width:36px;line-height:1.1;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.bar-btn svg{width:16px;height:16px}.bar-btn:active:not(:disabled){transform:scale(.94);filter:brightness(1.08)}.bar-btn.active{background:#2563eb}.bar-btn.is-resume{background:#15803d}.bar-btn.end{background:var(--danger)}.bar-btn:disabled{opacity:.45;cursor:not-allowed}.dtmf-panel{container-type:size;container-name:dtmf-panel;--key: clamp(1.7rem, min(27cqi, 14.5cqh), 3.35rem);--key-gap-x: calc(var(--key) * .2);--key-gap-y: calc(var(--key) * .12);display:flex;flex-direction:column;align-items:stretch;width:100%;flex:1;min-height:0;padding:.1rem 0 .2rem;overflow:hidden}.dtmf-header{flex:0 0 auto;text-align:center;margin-bottom:.15rem}.dtmf-timer{margin:0;font-variant-numeric:tabular-nums;font-size:.8rem;font-weight:600;letter-spacing:.06em;color:var(--muted-2)}.dtmf-party{margin:.15rem 0 0!important;font-size:1.05rem!important;font-weight:600!important;color:var(--ink)!important;word-break:break-all;padding:0 .5rem}.in-call .dtmf-party.party{margin:.15rem 0 0;font-size:1.05rem}.dtmf-display{flex:0 0 auto;min-height:1.45rem;margin:.05rem 0 .25rem;padding:0 .75rem;font-size:1.25rem;font-weight:500;letter-spacing:.12em;font-variant-numeric:tabular-nums;color:var(--ink);word-break:break-all;text-align:center;line-height:1.25}.dtmf-display .dtmf-placeholder{color:#c4c9d1;letter-spacing:.02em;font-weight:400;font-size:1rem}.dtmf-pad-wrap{flex:1 1 auto;min-height:0;width:100%;display:flex;align-items:center;justify-content:center;container-type:size;container-name:dtmf-pad-wrap;--key: clamp(1.65rem, min(34cqi, 22cqh), 3.6rem);--key-gap-x: calc(var(--key) * .2);--key-gap-y: calc(var(--key) * .12)}.dtmf-pad{flex:0 0 auto;margin:0;align-content:center;justify-items:center}.dtmf-footer{flex:0 0 auto;margin-top:.25rem;width:100%;max-width:280px;align-self:center;display:grid;grid-template-columns:1fr 1fr;align-items:stretch;gap:.65rem;padding:.15rem 0 .1rem}.dtmf-hide{width:100%;min-width:0;height:48px;margin:0;padding:0 .75rem;border-radius:999px;border:1.5px solid var(--line);background:#fff;color:var(--ink);font-size:.88rem;font-weight:600;cursor:pointer}.dtmf-hide:hover{background:#f9fafb;border-color:#c5cad3}.dtmf-footer .end-call-btn{width:100%;min-width:0;height:48px;padding:0 .75rem;box-shadow:0 4px 12px #ef444438}.dtmf-footer .end-call-btn.dtmf-end{width:100%;min-width:0;height:48px;border-radius:999px;padding:0 .75rem}.dtmf-footer .end-call-btn.dtmf-end .end-label{display:inline}.dtmf-overlay{position:absolute;top:0;right:0;bottom:0;left:0;z-index:8;background:#fffffffa;display:flex;flex-direction:column;padding:.55rem .9rem .35rem;overflow:hidden}.dtmf-overlay .overlay-panel{flex:1;min-height:0;display:flex;flex-direction:column;width:100%}.dtmf-overlay .overlay-panel .dtmf-panel{flex:1;min-height:0;height:100%}.overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:#fffffff7;z-index:10;display:flex;flex-direction:column;align-items:center;justify-content:center;padding:1.5rem;text-align:center}.overlay .sub{color:var(--muted-2);margin:0 0 .5rem}.overlay h2{margin:0 0 1.5rem;font-size:1.2rem;word-break:break-all}.overlay .row{display:flex;gap:1rem}.overlay .decline,.overlay .accept{width:64px;height:64px;border-radius:50%;border:0;color:#fff;font-weight:600;cursor:pointer;font-size:.75rem}.overlay .decline{background:var(--danger)}.overlay .accept{background:var(--call);color:#0b1a08}.overlay.mic-overlay{z-index:12;gap:.25rem}.mic-help{margin:0 0 1.25rem;max-width:280px;color:var(--muted-2);font-size:.88rem;line-height:1.45}.mic-actions{display:flex;gap:.75rem;align-items:center}.mic-actions .btn-primary,.mic-actions .btn-outline{min-width:100px;padding:.65rem 1rem;border-radius:10px;cursor:pointer}.mic-actions .btn-primary{border:0;background:var(--blue);color:#fff;font-weight:600}.mic-actions .btn-outline{border:1px solid var(--line);background:#fff;color:var(--ink)}.media-banner{margin:.75rem 0 0;text-align:center;font-size:.8rem;color:var(--muted-2)}.media-banner.hold{color:#b45309;font-weight:700}@media(max-width:400px){.page{padding:0}.phone{width:100%;height:100%;max-height:none;border-radius:0;border:0;box-shadow:none}.dial-key,.call-btn{width:var(--key);height:var(--key)}.dialpad{grid-template-columns:repeat(3,var(--key));column-gap:var(--key-gap-x);row-gap:var(--key-gap-y)}}
