:root,[data-theme=light]{--brand: #004990;--brand-deep: #003468;--brand-ink: #001b36;--brand-bright: #2a86e0;--brand-tint: #eaf1f9;--brand-line: #cddff0;--steel: #72757b;--steel-dark: #6c6f75;--steel-light: #8d9095;--steel-tint: #f1f2f4;--signal: #17c2a4;--signal-soft: #6fe0cd;--signal-ink: #00231d;--surface-card: #ffffff;--surface-app: #f6f8fb;--surface-sunk: #eceff4;--surface-hover: color-mix(in srgb, var(--brand-tint) 55%, var(--surface-card));--line: color-mix(in srgb, var(--brand) 28%, #ffffff);--grid: color-mix(in srgb, var(--brand-line) 55%, var(--surface-card));--line-strong: #bcc1c5;--line-control: color-mix(in srgb, var(--brand) 66%, #ffffff);--field-grid: linear-gradient(to right, color-mix(in srgb, var(--brand) 4%, transparent) 1px, transparent 1px), linear-gradient(to bottom, color-mix(in srgb, var(--brand) 4%, transparent) 1px, transparent 1px);--field-grid-mask: radial-gradient(ellipse 100% 70% at 50% 0%, #000 40%, transparent 100%);--field-glow: none;--ink: #14181d;--ink-soft: #464646;--ink-muted: #6b7280;--ink-locked: #5f6673;--ink-invert: #f4f8fd;--ink-invert-soft: #a9bdd6;--accent: var(--brand);--accent-soft: var(--brand-tint);--nav-bg: var(--brand-ink);--nav-lift: var(--brand-deep);--nav-ink: var(--ink-invert-soft);--nav-active: var(--ink-invert);--nav-active-bg: color-mix(in srgb, var(--brand-bright) 28%, transparent);--nav-hover-bg: color-mix(in srgb, var(--ink-invert) 8%, transparent);--nav-rule: color-mix(in srgb, var(--ink-invert) 12%, transparent);--nav-tile-bg: color-mix(in srgb, var(--ink-invert) 6%, transparent);--nav-tile-edge: color-mix(in srgb, var(--ink-invert) 14%, transparent);--nav-ink-locked: color-mix(in srgb, var(--steel-light) 55%, var(--ink-invert-soft));--scrim: color-mix(in srgb, var(--brand-ink) 42%, transparent);--font-heading: "Inter Tight", ui-sans-serif, system-ui, sans-serif;--font-body: "Inter", ui-sans-serif, system-ui, sans-serif;--radius: 10px;--radius-sm: 10px;--gap: 16px;--surface-raised: #f8fafd;--surface-menu: var(--surface-card);--shadow-card: inset 0 1px 0 rgba(255, 255, 255, .9), 0 1px 2px rgba(20, 30, 50, .06), 0 6px 18px rgba(20, 30, 50, .05);--shadow-raised: inset 0 1px 0 rgba(255, 255, 255, .9), 0 2px 4px rgba(20, 30, 50, .08), 0 12px 28px rgba(20, 30, 50, .12);--tile-fill: var(--brand-tint);--tile-shadow: inset 0 0 0 1px color-mix(in srgb, var(--brand) 22%, #ffffff);--tile-ink: var(--brand);--bar-fill: var(--brand);--bar-glow: none;--trend-bar-top: var(--series-1);--trend-bar-base: color-mix(in srgb, var(--series-1) 30%, transparent);--trend-line: var(--series-6);--line-glow: none;--ring-glow: none;--stat-selected-edge: linear-gradient(var(--brand), var(--brand));--stat-selected-glow: none;--avatar-ring: linear-gradient(135deg, var(--brand), var(--brand-bright));--nav-edge-glow: none;--shadow-pop: 0 10px 28px rgba(0, 27, 54, .16), 0 4px 8px rgba(0, 27, 54, .08);--error: #b91c1c;--error-soft: #fef2f2;--success: #15803d;--success-soft: #f0fdf4;--notice-info-bg: var(--brand-tint);--notice-info-ink: var(--brand-ink);--notice-info-edge: var(--brand);--notice-warn-bg: #fff6e0;--notice-warn-ink: #14181d;--notice-warn-edge: #a06c00;--notice-error-bg: #fef2f2;--notice-error-ink: #991b1b;--notice-error-edge: #b91c1c;--notice-success-bg: #f0fdf4;--notice-success-ink: #14532d;--notice-success-edge: #15803d;--primary-bg: var(--brand);--primary-ink: var(--ink-invert);--primary-hover: var(--brand-deep);--primary-fill: var(--primary-bg);--primary-fill-hover: var(--primary-hover);--primary-glow: none;--nav-active-fill: var(--nav-active-bg);--nav-active-glow: none;--topbar-bg: var(--surface-card);--card-sheen: none;--mint: var(--signal);--mint-hover: var(--signal-soft);--on-mint: var(--signal-ink);--chip-draft-bg: var(--surface-sunk);--chip-draft-ink: var(--ink-soft);--chip-draft-edge: var(--line);--chip-wait-bg: #fdecc8;--chip-wait-ink: #6b4000;--chip-wait-edge: var(--notice-warn-edge);--chip-info-bg: #dce9f8;--chip-info-ink: var(--brand);--chip-info-edge: var(--brand);--chip-good-bg: #d8f3e0;--chip-good-ink: #14532d;--chip-good-edge: var(--success);--chip-bad-bg: #fde1e1;--chip-bad-ink: #991b1b;--chip-bad-edge: var(--error);--series-1: #1f6fc2;--series-2: #eb6834;--series-3: #17a98f;--series-4: #eda100;--series-5: #e87ba4;--series-6: #4a3aa7;--status-available: #0ca30c;--status-oncall: var(--series-1);--status-ringing: #fab219;--status-wrapup: #fab219;--status-away: #ec835a;--status-dnd: #d92d20;--status-offline: var(--steel);--level-ok: #0ca30c;--level-warn: #fab219;--level-breach: #d92d20;--level-breach-soft: #fdecea;--level-warn-soft: #fff6e0;--ribbon-bg: #eda100;--ribbon-ink: #1b1300;--widget-surface: #ffffff;--widget-ink: #14181d;--widget-bubble: var(--steel-tint);--widget-line: #dde2ea;--wall-dark-bg: var(--brand-ink);--wall-dark-tile: color-mix(in srgb, var(--brand-ink) 88%, var(--ink-invert));--wall-dark-ink: var(--ink-invert-soft);color-scheme:light}:root{--skin-blue: #2563eb;--skin-violet: #6d4aff;--skin-edge: #8ea2ff;--dark-surface-app: #070c1d;--dark-surface-card: #0e1630;--dark-surface-sunk: #050916;--dark-surface-hover: color-mix(in srgb, var(--skin-edge) 12%, var(--dark-surface-card));--dark-line: color-mix(in srgb, var(--skin-edge) 22%, var(--dark-surface-card));--dark-line-control: color-mix(in srgb, var(--skin-edge) 55%, var(--dark-surface-card));--dark-brand-tint: color-mix(in srgb, var(--brand) 30%, var(--dark-surface-card));--dark-grid: color-mix(in srgb, var(--brand-ink) 90%, var(--ink-invert));--dark-nav-bg: #050814;--dark-nav-lift: #0b1230;--dark-ink-soft: color-mix(in srgb, var(--ink-invert) 55%, var(--ink-invert-soft));--dark-ink-locked: var(--ink-invert-soft);--dark-accent: color-mix(in srgb, var(--brand-bright) 72%, var(--ink-invert));--dark-accent-soft: color-mix(in srgb, var(--brand) 40%, var(--brand-ink));--dark-series-1: var(--brand-bright);--dark-series-2: #d95926;--dark-series-3: #149e86;--dark-series-4: #c98500;--dark-series-5: #d55181;--dark-series-6: #9085e9;--dark-level-breach: #f0544a;--dark-status-dnd: #f0544a;--dark-level-breach-soft: #3a1c20;--dark-level-warn-soft: #3a2f12;--dark-error: #f87171;--dark-error-soft: #3a1c20;--dark-success: #4ade80;--dark-success-soft: color-mix(in srgb, var(--dark-success) 26%, #000000);--dark-notice-info-bg: #0b3563;--dark-notice-info-ink: var(--ink-invert);--dark-notice-info-edge: var(--brand-bright);--dark-notice-warn-bg: #3a2f12;--dark-notice-warn-ink: #fde68a;--dark-notice-warn-edge: #fab219;--dark-notice-error-bg: #3a1c20;--dark-notice-error-ink: #fecaca;--dark-notice-error-edge: #f0544a;--dark-notice-success-bg: #12301c;--dark-notice-success-ink: #bbf7d0;--dark-notice-success-edge: #4ade80;--dark-primary-bg: var(--skin-blue);--dark-primary-ink: #ffffff;--dark-primary-hover: color-mix(in srgb, var(--skin-blue) 88%, #ffffff);--dark-primary-fill: linear-gradient(135deg, var(--skin-blue), var(--skin-violet));--dark-primary-fill-hover: linear-gradient(135deg, color-mix(in srgb, var(--skin-blue) 90%, #ffffff), color-mix(in srgb, var(--skin-violet) 90%, #ffffff));--dark-primary-glow: 0 6px 22px color-mix(in srgb, var(--skin-violet) 45%, transparent);--dark-nav-active-fill: linear-gradient(135deg, color-mix(in srgb, var(--skin-blue) 55%, transparent), color-mix(in srgb, var(--skin-violet) 40%, transparent));--dark-nav-active-glow: inset 0 0 0 1px color-mix(in srgb, var(--skin-edge) 30%, transparent), 0 4px 18px color-mix(in srgb, var(--skin-blue) 35%, transparent);--dark-topbar-bg: color-mix(in srgb, var(--dark-surface-app) 78%, transparent);--dark-card-sheen: linear-gradient(180deg, color-mix(in srgb, var(--skin-edge) 6%, transparent), transparent 120px);--dark-surface-raised: color-mix(in srgb, var(--skin-edge) 9%, var(--dark-surface-card));--dark-surface-menu: color-mix(in srgb, var(--dark-accent) 12%, var(--dark-surface-raised));--dark-shadow-card: inset 0 1px 0 color-mix(in srgb, var(--skin-edge) 12%, transparent), 0 1px 2px rgba(0, 0, 0, .5), 0 14px 36px rgba(0, 0, 0, .32);--dark-shadow-raised: inset 0 1px 0 color-mix(in srgb, var(--skin-edge) 20%, transparent), 0 2px 6px rgba(0, 0, 0, .5), 0 20px 48px rgba(0, 0, 0, .5), 0 0 28px color-mix(in srgb, var(--skin-blue) 14%, transparent);--dark-tile-fill: linear-gradient(135deg, color-mix(in srgb, var(--skin-blue) 38%, transparent), color-mix(in srgb, var(--skin-violet) 30%, transparent));--dark-tile-shadow: inset 0 0 0 1px color-mix(in srgb, var(--skin-edge) 38%, transparent), inset 0 0 14px color-mix(in srgb, var(--skin-violet) 35%, transparent);--dark-tile-ink: color-mix(in srgb, var(--skin-edge) 55%, #ffffff);--dark-bar-fill: linear-gradient(90deg, var(--skin-blue), var(--skin-violet));--dark-bar-glow: 0 0 12px color-mix(in srgb, var(--skin-violet) 55%, transparent);--dark-trend-bar-top: var(--skin-blue);--dark-trend-bar-base: color-mix(in srgb, var(--skin-violet) 22%, transparent);--dark-trend-line: color-mix(in srgb, var(--skin-violet) 55%, #ffffff);--dark-line-glow: drop-shadow(0 0 5px currentColor);--dark-ring-glow: drop-shadow(0 0 3px currentColor);--dark-stat-selected-edge: linear-gradient(135deg, var(--skin-blue), var(--skin-violet));--dark-stat-selected-glow: 0 0 22px color-mix(in srgb, var(--skin-violet) 40%, transparent);--dark-avatar-ring: linear-gradient(135deg, var(--skin-blue), var(--skin-violet));--dark-nav-edge-glow: 1px 0 0 color-mix(in srgb, var(--skin-edge) 32%, transparent), 8px 0 30px -10px color-mix(in srgb, var(--skin-blue) 55%, transparent);--dark-btn-disabled-bg: color-mix(in srgb, var(--skin-edge) 17%, var(--dark-surface-card));--dark-mint: var(--signal);--dark-mint-hover: var(--signal-soft);--dark-on-mint: var(--signal-ink);--dark-field-grid: none;--dark-field-grid-mask: radial-gradient(ellipse 100% 70% at 50% 0%, #000 40%, transparent 100%);--dark-field-glow: radial-gradient(ellipse 60% 55% at 10% 0%, color-mix(in srgb, var(--skin-blue) 22%, transparent), transparent 70%), radial-gradient(ellipse 50% 50% at 95% 95%, color-mix(in srgb, var(--skin-violet) 18%, transparent), transparent 70%)}@media screen{[data-theme=dark]{--surface-app: var(--dark-surface-app);--surface-card: var(--dark-surface-card);--surface-sunk: var(--dark-surface-sunk);--surface-hover: var(--dark-surface-hover);--brand-tint: var(--dark-brand-tint);--line: var(--dark-line);--line-control: var(--dark-line-control);--grid: var(--dark-grid);--field-grid: var(--dark-field-grid);--field-grid-mask: var(--dark-field-grid-mask);--field-glow: var(--dark-field-glow);--ink: var(--ink-invert);--ink-soft: var(--dark-ink-soft);--ink-muted: var(--ink-invert-soft);--ink-locked: var(--dark-ink-locked);--accent: var(--dark-accent);--accent-soft: var(--dark-accent-soft);--nav-bg: var(--dark-nav-bg);--nav-lift: var(--dark-nav-lift);--scrim: color-mix(in srgb, #000000 55%, transparent);--shadow-card: var(--dark-shadow-card);--shadow-raised: var(--dark-shadow-raised);--surface-raised: var(--dark-surface-raised);--surface-menu: var(--dark-surface-menu);--tile-fill: var(--dark-tile-fill);--tile-shadow: var(--dark-tile-shadow);--tile-ink: var(--dark-tile-ink);--bar-fill: var(--dark-bar-fill);--bar-glow: var(--dark-bar-glow);--trend-bar-top: var(--dark-trend-bar-top);--trend-bar-base: var(--dark-trend-bar-base);--trend-line: var(--dark-trend-line);--line-glow: var(--dark-line-glow);--ring-glow: var(--dark-ring-glow);--avatar-ring: var(--dark-avatar-ring);--stat-selected-edge: var(--dark-stat-selected-edge);--stat-selected-glow: var(--dark-stat-selected-glow);--nav-edge-glow: var(--dark-nav-edge-glow);--shadow-pop: 0 10px 28px rgba(0, 0, 0, .5);--series-1: var(--dark-series-1);--series-2: var(--dark-series-2);--series-3: var(--dark-series-3);--series-4: var(--dark-series-4);--series-5: var(--dark-series-5);--series-6: var(--dark-series-6);--status-dnd: var(--dark-status-dnd);--level-breach: var(--dark-level-breach);--level-breach-soft: var(--dark-level-breach-soft);--level-warn-soft: var(--dark-level-warn-soft);--error: var(--dark-error);--error-soft: var(--dark-error-soft);--success: var(--dark-success);--success-soft: var(--dark-success-soft);--notice-info-bg: var(--dark-notice-info-bg);--notice-info-ink: var(--dark-notice-info-ink);--notice-info-edge: var(--dark-notice-info-edge);--notice-warn-bg: var(--dark-notice-warn-bg);--notice-warn-ink: var(--dark-notice-warn-ink);--notice-warn-edge: var(--dark-notice-warn-edge);--notice-error-bg: var(--dark-notice-error-bg);--notice-error-ink: var(--dark-notice-error-ink);--notice-error-edge: var(--dark-notice-error-edge);--notice-success-bg: var(--dark-notice-success-bg);--notice-success-ink: var(--dark-notice-success-ink);--notice-success-edge: var(--dark-notice-success-edge);--primary-bg: var(--dark-primary-bg);--primary-ink: var(--dark-primary-ink);--primary-hover: var(--dark-primary-hover);--primary-fill: var(--dark-primary-fill);--primary-fill-hover: var(--dark-primary-fill-hover);--primary-glow: var(--dark-primary-glow);--nav-active-fill: var(--dark-nav-active-fill);--nav-active-glow: var(--dark-nav-active-glow);--topbar-bg: var(--dark-topbar-bg);--card-sheen: var(--dark-card-sheen);--mint: var(--dark-mint);--mint-hover: var(--dark-mint-hover);--on-mint: var(--dark-on-mint);--btn-disabled-bg: var(--dark-btn-disabled-bg);--chip-wait-bg: var(--dark-notice-warn-bg);--chip-wait-ink: var(--dark-notice-warn-ink);--chip-wait-edge: var(--dark-notice-warn-edge);--chip-info-bg: var(--dark-notice-info-bg);--chip-info-ink: var(--dark-notice-info-ink);--chip-info-edge: var(--dark-notice-info-edge);--chip-good-bg: var(--dark-notice-success-bg);--chip-good-ink: var(--dark-notice-success-ink);--chip-good-edge: var(--dark-notice-success-edge);--chip-bad-bg: var(--dark-notice-error-bg);--chip-bad-ink: var(--dark-notice-error-ink);--chip-bad-edge: var(--dark-notice-error-edge);color-scheme:dark}}*,*:before,*:after{box-sizing:border-box}html,body{margin:0;padding:0}body{font-family:var(--font-body);font-size:15px;line-height:1.5;color:var(--ink);background:var(--surface-app);-webkit-font-smoothing:antialiased;-webkit-text-size-adjust:100%;overflow-x:hidden}body:before,body:after{content:"";position:fixed;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:-1}body:before{background-image:var(--field-grid);background-size:64px 64px;-webkit-mask-image:var(--field-grid-mask);mask-image:var(--field-grid-mask)}body:after{background-image:var(--field-glow)}h1,h2,h3,h4{font-family:var(--font-heading);letter-spacing:-.015em;margin:0;line-height:1.2}h1{font-size:1.6rem}h2{font-size:1.1rem}h3{font-size:.98rem}p{margin:0}a{color:var(--accent)}button,input,select,textarea{font:inherit;color:inherit}:focus-visible{outline:2px solid var(--brand-bright);outline-offset:2px;border-radius:4px}.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}.num{font-variant-numeric:tabular-nums}.muted{color:var(--ink-muted)}.soft{color:var(--ink-soft)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:36px;padding:0 14px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface-card);color:var(--ink);font-weight:600;font-size:.9rem;cursor:pointer;text-decoration:none;white-space:nowrap}.btn:hover{background:var(--surface-hover)}.btn:disabled{opacity:.55;cursor:not-allowed}:root{--btn-blue: #1d4ed8;--btn-blue-hover: #1a44c2}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--btn-blue: #2563eb;--btn-blue-hover: #1d4ed8}}[data-theme=dark]{--btn-blue: #2563eb;--btn-blue-hover: #1d4ed8}.btn-primary{background:var(--btn-blue);border-color:var(--btn-blue);color:#fff}.btn-primary:hover{background:var(--btn-blue-hover);border-color:var(--btn-blue-hover)}.btn-danger{color:var(--error)}.btn-ghost{border-color:transparent;background:transparent}.btn-sm{min-height:30px;padding:0 10px;font-size:.82rem}.btn-icon{width:36px;padding:0}.btn-icon.btn-sm{width:30px}.field{display:flex;flex-direction:column;gap:4px;min-width:0}.field>span{font-size:.78rem;font-weight:600;color:var(--ink-soft)}.input,.select{min-height:36px;padding:6px 10px;border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface-card);min-width:0;width:100%}.input:focus,.select:focus{border-color:var(--brand-bright);outline:none;box-shadow:0 0 0 3px var(--accent-soft)}.card{background:var(--surface-card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-card);padding:16px;min-width:0}.card-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px;flex-wrap:wrap}.card-head h2{font-size:1rem}.card-sub{font-size:.8rem;color:var(--ink-muted)}.grid{display:grid;gap:var(--gap)}.grid-kpi{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.grid-cards{grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.grid-2{grid-template-columns:repeat(auto-fit,minmax(min(100%,380px),1fr))}.stack{display:flex;flex-direction:column;gap:var(--gap)}.row{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.spacer{flex:1}.table-wrap{overflow-x:auto;max-width:100%}.table{width:100%;border-collapse:collapse;font-size:.88rem}.table th{text-align:left;font-weight:600;font-size:.75rem;color:var(--ink-muted);padding:8px 10px;border-bottom:1px solid var(--line);white-space:nowrap}.table td{padding:9px 10px;border-bottom:1px solid var(--grid);vertical-align:middle}.table tr:last-child td{border-bottom:0}.table .r{text-align:right;font-variant-numeric:tabular-nums}.table tbody tr.clickable{cursor:pointer}.table tbody tr.clickable:hover{background:var(--surface-hover)}.empty{padding:28px 12px;text-align:center;color:var(--ink-muted);font-size:.9rem}.error-box{padding:10px 12px;border-radius:var(--radius-sm);background:var(--error-soft);color:var(--error);font-size:.88rem}.chip{display:inline-flex;align-items:center;gap:5px;padding:2px 9px 2px 7px;border-radius:999px;font-size:.78rem;font-weight:600;background:var(--surface-sunk);color:var(--ink-soft);white-space:nowrap}.skeleton{background:linear-gradient(90deg,var(--surface-sunk),var(--surface-hover),var(--surface-sunk));background-size:200% 100%;animation:shimmer 1.4s infinite;border-radius:var(--radius-sm)}@keyframes shimmer{to{background-position:-200% 0}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important;scroll-behavior:auto!important}}.input,.select{height:36px}textarea.input{height:auto}.login{min-height:100vh;display:grid;place-items:center;padding:24px 16px}.is-app .login{padding-top:calc(24px + env(safe-area-inset-top,0px));padding-bottom:calc(24px + env(safe-area-inset-bottom,0px))}.login-card{position:relative;width:min(420px,100%);background:var(--surface-card);background-image:var(--card-sheen);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);padding:36px 32px;display:flex;flex-direction:column;gap:16px;box-shadow:var(--shadow-raised)}.login-logo{width:150px;height:auto;align-self:flex-start}[data-theme=dark] .login-logo{content:url(/img/xclutel-logo-invert.svg)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .login-logo{content:url(/img/xclutel-logo-invert.svg)}}.login-intro{display:flex;flex-direction:column;gap:6px;margin-top:4px}.login-kicker{font-size:.75rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:var(--accent);margin-bottom:2px}.login-card h1{font-size:1.4rem;color:var(--ink)}.login-sub{font-size:.9rem;color:var(--ink-muted)}.login-submit{min-height:46px;font-size:.98rem;margin-top:4px}.login-back{align-self:flex-start;color:var(--accent)}.boot{min-height:100vh;background:var(--surface-app)}@media(max-width:480px){.login-card{padding:28px 22px}}.login-openmode{border:0;margin:4px 0 2px;padding:0}.login-openmode legend{padding:0;margin-bottom:8px;font-size:.82rem;font-weight:600;color:var(--ink-soft)}.login-openmode-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}.login-openmode-opt{display:flex;flex-direction:column;gap:1px;padding:10px 12px;border:1px solid var(--line);border-radius:12px;cursor:pointer;transition:border-color .12s ease,background .12s ease}.login-openmode-opt:hover{border-color:var(--brand-line, var(--brand))}.login-openmode-opt.on{border-color:var(--brand);background:var(--brand-tint)}.login-openmode-opt input{position:absolute;opacity:0;pointer-events:none}.login-openmode-title{font-size:.88rem;font-weight:600;color:var(--ink)}.login-openmode-sub{font-size:.74rem}.launcher{min-height:100dvh;display:grid;place-items:center;padding:24px 16px;background:var(--surface-app)}.launcher-card{width:min(400px,100%);display:flex;flex-direction:column;align-items:center;gap:12px;text-align:center;padding:32px 28px}.launcher-logo{height:26px;width:auto}.launcher-title{font-size:1.4rem}.launcher-sub{font-size:.92rem}.launcher-open{width:100%;margin-top:4px}.launcher-hint{margin-top:14px;font-size:.8rem;line-height:1.4}.menu-item{display:flex;align-items:center;gap:10px;width:100%;padding:9px 10px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--ink);font-size:.9rem;font-weight:500;text-align:left;cursor:pointer}.menu-item:hover{background:var(--surface-hover)}.menu-item-danger{color:var(--error)}.soon{display:grid;place-items:center;min-height:60vh;padding:24px 8px}.soon-card{width:min(440px,100%);display:flex;flex-direction:column;align-items:flex-start;gap:12px;padding:32px 28px}.soon-icon{display:inline-grid;place-items:center;width:56px;height:56px;border-radius:var(--radius);background:var(--brand-tint);color:var(--brand)}.soon-chip{background:var(--brand-tint);color:var(--brand);font-size:.68rem;letter-spacing:.03em;text-transform:uppercase}.soon-card h1{font-size:1.5rem}.soon-card .muted{font-size:.92rem}.soon-card .btn{margin-top:6px}.callhist{max-width:720px;margin:0 auto}.call-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.call-row{display:flex;align-items:center;gap:12px;padding:11px 4px;border-bottom:1px solid var(--grid)}.call-row:last-child{border-bottom:0}.call-row-btn{width:100%;border:0;border-bottom:1px solid var(--grid);background:transparent;color:inherit;font:inherit;text-align:left;cursor:pointer}.call-row-btn:hover:not(:disabled){background:var(--surface-hover)}.call-row-btn:disabled{cursor:default}.call-list li:last-child .call-row-btn{border-bottom:0}.call-dir{flex:none;display:inline-grid;place-items:center;width:36px;height:36px;border-radius:999px;background:var(--brand-tint);color:var(--brand)}.call-dir.dir-outbound{background:color-mix(in srgb,#1d4ed8 16%,transparent);color:#1d4ed8}.call-dir.dir-inbound{background:color-mix(in srgb,#16a34a 16%,transparent);color:#16a34a}.call-dir.dir-missed,.call-dir.missed{background:color-mix(in srgb,#7c3aed 16%,transparent);color:#7c3aed}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .call-dir.dir-outbound{background:#2563eb;color:#fff}:root:not([data-theme=light]) .call-dir.dir-inbound{background:#22c55e;color:#fff}:root:not([data-theme=light]) .call-dir.dir-missed,:root:not([data-theme=light]) .call-dir.missed{background:#8b5cf6;color:#fff}}[data-theme=dark] .call-dir.dir-outbound{background:#2563eb;color:#fff}[data-theme=dark] .call-dir.dir-inbound{background:#22c55e;color:#fff}[data-theme=dark] .call-dir.dir-missed,[data-theme=dark] .call-dir.missed{background:#8b5cf6;color:#fff}.call-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.call-party{font-weight:600;font-size:.94rem;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.call-sub{font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.call-meta{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:2px;text-align:right}.call-time{font-size:.8rem}.call-dur{font-size:.86rem;color:var(--ink-soft)}.call-row .skel-line{display:block;height:12px;width:60%}.call-row .skel-line.short{width:35%;margin-top:4px}.voicemail{max-width:720px;margin:0 auto}.vm-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.vm-row{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding:11px 4px;border-bottom:1px solid var(--grid)}.vm-transcript-wrap{flex-basis:100%;width:100%;padding-left:48px;margin-top:-4px}.vm-transcript-toggle{display:inline-flex;align-items:center;gap:5px;border:0;background:transparent;color:var(--brand);font-size:.8rem;font-weight:600;padding:2px 0;cursor:pointer}.vm-transcript-toggle svg{transition:transform .15s ease}.vm-transcript-toggle.on svg{transform:rotate(180deg)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .vm-transcript-toggle{color:color-mix(in srgb,var(--brand) 45%,white)}}[data-theme=dark] .vm-transcript-toggle{color:color-mix(in srgb,var(--brand) 45%,white)}.vm-transcript{margin:5px 0 2px;font-size:.86rem;line-height:1.45;color:var(--ink-soft);background:var(--surface-sunk);border-radius:10px;padding:9px 11px;white-space:pre-wrap}.vm-row:last-child{border-bottom:0}.vm-play{flex:none;display:inline-grid;place-items:center;width:36px;height:36px;border-radius:999px;border:0;cursor:pointer;background:color-mix(in srgb,#16a34a 16%,transparent);color:#16a34a}.vm-play:hover{background:color-mix(in srgb,#16a34a 26%,transparent);color:#16a34a}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .vm-play:not(.on){background:#22c55e;color:#fff}}[data-theme=dark] .vm-play:not(.on){background:#22c55e;color:#fff}.vm-play.on{background:color-mix(in srgb,#1d4ed8 16%,transparent);color:#1d4ed8}.vm-play.on:hover{background:#d92d20;color:#fff}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .vm-play.on{background:#2563eb;color:#fff}:root:not([data-theme=light]) .vm-play.on:hover{background:#d92d20;color:#fff}}[data-theme=dark] .vm-play.on{background:#2563eb;color:#fff}[data-theme=dark] .vm-play.on:hover{background:#d92d20;color:#fff}.vm-play:focus-visible{outline:2px solid var(--brand);outline-offset:2px}.vm-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.vm-party{display:flex;align-items:center;gap:7px;min-width:0;font-weight:600;font-size:.94rem;color:var(--ink)}.vm-party-text{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vm-row.unread .vm-party{font-weight:700}.vm-dot{flex:none;width:8px;height:8px;border-radius:999px;background:var(--signal)}.vm-sub{font-size:.8rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vm-meta{flex:none;display:flex;flex-direction:column;align-items:flex-end;gap:2px;text-align:right}.vm-time{font-size:.8rem}.vm-dur{font-size:.86rem;color:var(--ink-soft)}.vm-row .skel-line{display:block;height:12px;width:60%}.vm-row .skel-line.short{width:35%;margin-top:4px}.settings{max-width:720px;margin:0 auto}.set-section{padding:16px 18px}.set-section-title{font-size:.78rem;font-weight:600;letter-spacing:.03em;text-transform:uppercase;color:var(--ink-soft);margin-bottom:10px}.set-list{margin:0;display:flex;flex-direction:column}.set-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:9px 0;border-bottom:1px solid var(--grid)}.set-row:last-child{border-bottom:0}.set-label{flex:none;font-size:.86rem;color:var(--ink-muted)}.set-value{flex:1;min-width:0;text-align:right;font-size:.9rem;color:var(--ink);overflow-wrap:anywhere}.set-pill{display:inline-flex;align-items:center;font-size:.72rem;font-weight:600;letter-spacing:.02em;padding:2px 9px;border-radius:999px;color:var(--ink-muted);background:var(--surface-sunk)}.set-pill.on{color:var(--success);background:var(--success-soft)}.set-switch{flex:none;position:relative;width:42px;height:24px;padding:0;border:1px solid var(--line);border-radius:999px;background:var(--surface-sunk);cursor:pointer;transition:background .15s ease,border-color .15s ease}.set-switch:disabled{opacity:.55;cursor:not-allowed}.set-switch:focus-visible{outline:none;box-shadow:0 0 0 3px var(--accent-soft)}.set-switch.on{background:var(--brand);border-color:var(--brand)}.set-switch-knob{position:absolute;top:50%;left:2px;width:18px;height:18px;border-radius:999px;background:var(--surface-card);box-shadow:0 1px 2px #00000040;transform:translateY(-50%);transition:left .15s ease}.set-switch.on .set-switch-knob{left:20px}.set-edit-row{padding:8px 0;border-bottom:1px solid var(--grid)}.set-edit-row:last-of-type{border-bottom:0}.set-fwd{padding:4px 0;border-bottom:1px solid var(--grid)}.set-fwd .set-row{border-bottom:0}.set-fwd-dest{padding:0 0 8px}.set-hint{font-size:.76rem;color:var(--ink-muted)}.set-hint.err{color:var(--error)}.input.invalid{border-color:var(--error)}.set-savebar{display:flex;flex-direction:column;align-items:stretch;gap:8px;padding-top:12px;margin-top:4px;border-top:1px solid var(--grid)}.set-save{align-self:flex-end}.a11y-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.set-devices{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.set-device{display:flex;align-items:center;gap:12px;padding:10px 0;border-bottom:1px solid var(--grid)}.set-device:last-child{border-bottom:0}.set-device-icon{flex:none;display:inline-grid;place-items:center;width:34px;height:34px;border-radius:999px;background:var(--brand-tint);color:var(--brand)}.set-device-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.set-device-name{font-weight:600;font-size:.92rem;color:var(--ink)}.set-device-model{font-size:.82rem}.greeting-hint{font-size:.86rem;padding:4px 0 10px}.greeting-list{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-direction:column}.greeting-row{display:flex;align-items:center;gap:8px 10px;flex-wrap:wrap;padding:8px 0;border-bottom:1px solid var(--grid)}.greeting-row:last-child{border-bottom:0}.greeting-actions{display:flex;align-items:center;gap:6px;margin-left:auto;flex-wrap:wrap;justify-content:flex-end}.greeting-action{flex:none;white-space:nowrap}.greeting-confirm{display:inline-flex;align-items:center;gap:6px}.greeting-play{flex:none}.greeting-play.on{color:var(--brand);border-color:var(--brand)}.greeting-name{flex:1;min-width:0;font-size:.9rem;color:var(--ink);overflow-wrap:anywhere}.greeting-dur{flex:none;font-size:.8rem;font-variant-numeric:tabular-nums}.greeting-file{display:flex;flex-direction:column}.greeting-file-label{display:flex;flex-direction:column;gap:4px;font-size:.82rem;color:var(--muted)}.greeting-file-input{font-size:.82rem;max-width:100%}.greeting-record{display:flex;flex-direction:column;gap:10px;padding-top:4px;border-top:1px solid var(--grid)}.greeting-rec{display:flex;flex-direction:column;gap:10px}.greeting-btn{align-self:flex-start}.greeting-btn.recording{color:var(--error);border-color:var(--error)}.greeting-dot{width:10px;height:10px;border-radius:999px;background:var(--error);display:inline-block}.greeting-square{width:9px;height:9px;border-radius:2px;background:currentColor;display:inline-block}.greeting-preview{display:flex;align-items:center;gap:10px;flex-wrap:wrap}.greeting-audio{flex:1;min-width:0;height:34px}.greeting-upload{align-self:flex-start}.greeting-ok{font-size:.85rem;color:var(--success)}.greeting-player{display:none}.messages{max-width:720px;margin:0 auto;width:100%}.messages.thread,.messages.new{height:100%}.msg-new{flex:none}.msg-threads{list-style:none;margin:0;padding:0;display:flex;flex-direction:column}.msg-thread{display:flex;align-items:center;border-bottom:1px solid var(--grid)}.msg-thread:last-child{border-bottom:0}.msg-pin{flex:none;display:inline-grid;place-items:center;width:34px;height:34px;margin-left:2px;border:0;border-radius:999px;background:transparent;color:var(--ink-faint, var(--ink-muted));opacity:.5;cursor:pointer}.msg-pin:hover{background:var(--surface-hover);opacity:1}.msg-pin.on{color:var(--brand);opacity:1}.msg-thread.pinned{background:color-mix(in srgb,var(--brand) 5%,transparent)}.msg-thread-btn{flex:1;min-width:0;display:flex;align-items:center;gap:11px;padding:10px 2px;border:0;background:transparent;color:inherit;text-align:left;cursor:pointer;border-radius:var(--radius-sm)}.msg-thread-btn:hover{background:var(--surface-hover)}.msg-avatar{flex:none;width:38px;height:38px;display:inline-grid;place-items:center;border-radius:999px;background:var(--brand-tint);color:var(--brand);font-weight:700;font-size:.95rem;overflow:hidden;text-transform:uppercase;letter-spacing:.3px}.msg-avatar.av-0{background:#004990;color:#fff}.msg-avatar.av-1{background:#0f766e;color:#fff}.msg-avatar.av-2{background:#6d28d9;color:#fff}.msg-avatar.av-3{background:#b45309;color:#fff}.msg-avatar.av-4{background:#be123c;color:#fff}.msg-avatar.av-5{background:#1f6feb;color:#fff}.msg-avatar.av-glyph{background:var(--steel-tint);color:var(--steel)}.msg-avatar-img{width:100%;height:100%;object-fit:cover;border-radius:999px}.msg-thread-head .msg-avatar{width:30px;height:30px;font-size:.8rem}.msg-thread-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.msg-thread-party{display:flex;align-items:center;gap:7px;font-weight:600;font-size:.94rem;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.msg-thread.unread .msg-thread-party{font-weight:700}.msg-dot{flex:none;width:8px;height:8px;border-radius:999px;background:var(--signal)}.msg-preview{font-size:.82rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.msg-thread-time{flex:none;font-size:.76rem;align-self:flex-start;padding-top:2px}.msg-empty-action{margin-top:12px}.msg-thread-head{display:flex;align-items:center;gap:8px;flex:none}.msg-thread-title{flex:1;min-width:0;font-weight:700;font-size:1rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.msg-thread-del{flex:none;color:var(--ink-muted)}.msg-thread-del:hover{color:var(--error)}.msg-del-confirm{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 12px;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--error) 10%,var(--surface-card));border:1px solid color-mix(in srgb,var(--error) 30%,transparent)}.msg-del-text{flex:1;min-width:140px;font-size:.86rem;color:var(--ink)}.msg-del-err{flex-basis:100%;font-size:.8rem;color:var(--error)}.msg-del-actions{display:flex;gap:8px}.msg-bubbles{flex:1;min-height:140px;max-height:60vh;overflow-y:auto;overflow-x:hidden}.msg-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:8px}.msg-day{align-self:center;margin:10px 0 2px;font-size:.72rem;font-weight:600;color:var(--ink-muted)}.msg-day:first-child{margin-top:0}.msg-bubble-row{display:flex}.msg-bubble-row.in{justify-content:flex-start}.msg-bubble-row.out{justify-content:flex-end}.msg-bubble{max-width:80%;display:flex;flex-direction:column;gap:3px;padding:8px 11px;border-radius:14px;font-size:.9rem;line-height:1.35}.msg-bubble-row.in .msg-bubble{background:color-mix(in srgb,var(--brand) 24%,var(--surface-card));color:var(--ink);border:1px solid var(--brand-line, var(--line));border-bottom-left-radius:5px}.msg-bubble-row.out .msg-bubble{background:var(--brand);color:var(--ink-invert);border-bottom-right-radius:5px}.msg-text{white-space:pre-wrap;word-break:break-word}.msg-time{font-size:.68rem;opacity:.75;align-self:flex-end}.msg-loading{display:flex;flex-direction:column;gap:8px}.skel-bubble{height:34px;border-radius:14px}.skel-bubble.in{width:62%;align-self:flex-start}.skel-bubble.out{width:52%;align-self:flex-end}.msg-composer{flex:none;display:flex;flex-direction:column;gap:6px}.msg-compose-row{display:flex;align-items:flex-end;gap:8px}.msg-input{flex:1;resize:none;max-height:96px;line-height:1.35;padding:8px 10px}.msg-send{flex:none;height:36px}.msg-count{align-self:flex-end;font-size:.72rem}.msg-send-error{font-size:.82rem}.msg-offnet{flex:none;font-size:.72rem;line-height:1.35;margin:0}.msg-new-body{gap:12px}.msg-hint{font-size:.76rem}.msg-sent{display:flex;flex-direction:column;gap:12px;align-items:flex-start}.msg-ok{font-size:.9rem}.set-select{min-width:0;max-width:60%;padding:7px 10px;border:1px solid var(--line);border-radius:10px;background:var(--surface-card);color:var(--ink);font-size:.88rem;cursor:pointer}.set-select:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-tint)}.route-rule{display:flex;align-items:center;gap:10px;padding:9px 2px;border-bottom:1px solid var(--grid)}.route-rule:last-child{border-bottom:0}.route-ico{flex:none;display:inline-grid;place-items:center;width:30px;height:30px;border-radius:999px;background:var(--brand-tint);color:var(--brand)}.route-ico.off{background:var(--surface-sunk);color:var(--ink-muted)}.route-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.route-when{font-weight:600;font-size:.9rem;color:var(--ink)}.route-do{font-size:.8rem}.route-off-badge{flex:none;font-size:.68rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-muted);background:var(--surface-sunk);border-radius:999px;padding:2px 8px}.route-edit-btn,.route-del-btn{flex:none;border:0;background:transparent;color:var(--brand);font-weight:600;font-size:.82rem;padding:4px 6px;cursor:pointer;border-radius:var(--radius-sm)}.route-del-btn{color:var(--ink-muted)}.route-edit-btn:hover{background:var(--brand-tint)}.route-del-btn:hover{color:var(--error);background:var(--surface-hover)}.route-edit-btn:disabled,.route-del-btn:disabled{opacity:.5;cursor:not-allowed}.route-editor{display:flex;flex-direction:column;gap:12px;padding:14px;margin-top:10px;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--brand) 8%,var(--surface-card));border:1px solid var(--grid)}.route-field{display:flex;flex-direction:column;gap:5px}.route-field-label{font-size:.78rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--ink-muted)}.route-field-fixed{font-weight:600;color:var(--ink)}.route-select,.route-input{min-height:40px;padding:0 12px;border-radius:var(--radius-sm);border:1px solid var(--line);background:var(--surface-card);color:var(--ink);font-size:.92rem}.route-select:focus,.route-input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-tint)}.route-toggle{display:flex;align-items:center;gap:8px;font-size:.9rem;color:var(--ink);cursor:pointer}.route-toggle input{width:18px;height:18px;accent-color:var(--brand)}.route-editor-actions{display:flex;justify-content:flex-end;gap:8px}.route-add-row{display:flex;align-items:center;gap:10px;margin-top:10px}.route-add-btn{display:inline-flex;align-items:center;gap:6px;color:var(--brand)}.route-active-badge{flex:none;font-size:.68rem;font-weight:700;letter-spacing:.03em;color:var(--ok, #1a7f4b);background:color-mix(in srgb,var(--ok, #1a7f4b) 14%,transparent);border-radius:999px;padding:2px 8px;white-space:nowrap}.vm-actions{flex:none;display:inline-flex;align-items:center;gap:4px}.vm-act{display:inline-grid;place-items:center;width:34px;height:34px;border-radius:999px;border:0;background:transparent;color:var(--ink-muted);cursor:pointer}.vm-act:hover:not(:disabled){background:var(--surface-hover);color:var(--brand)}.vm-act-save:hover:not(:disabled){background:color-mix(in srgb,#16a34a 18%,transparent);color:#16a34a}.vm-act-del:hover:not(:disabled){color:var(--error)}.vm-act:disabled{opacity:.45;cursor:not-allowed}.vm-tabs{display:flex;gap:6px;margin:2px 0}.vm-tab{display:inline-flex;align-items:center;gap:6px;padding:7px 14px;border-radius:999px;border:1px solid var(--line);background:var(--surface-card);color:var(--ink-muted);font-size:.86rem;font-weight:600;cursor:pointer}.vm-tab:hover{background:var(--surface-hover)}.vm-tab.on{background:var(--btn-blue);border-color:var(--btn-blue);color:#fff}.vm-tab-count{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:color-mix(in srgb,var(--ink) 12%,transparent);color:inherit;font-size:.72rem;font-weight:700}.vm-tab.on .vm-tab-count{background:color-mix(in srgb,white 26%,transparent)}.call-item.open{background:var(--surface-sunk);border-radius:12px}.call-item.open .call-row-btn{border-bottom:0}.call-detail{display:flex;flex-direction:column;gap:4px;padding:2px 12px 12px 62px}.call-detail-when{font-size:.9rem;font-weight:600;color:var(--ink)}.call-detail-meta{font-size:.82rem}.call-detail-actions{display:flex;gap:8px;margin-top:8px}.call-detail-actions .btn{display:inline-flex;align-items:center;gap:6px}.vm-act-pin.on{color:var(--brand)}.vm-act-pin:not(.on){opacity:.55}.vm-row.pinned{background:color-mix(in srgb,var(--brand) 5%,transparent);border-radius:8px}.set-openmode-btn{margin-top:4px}.route-ico{background:color-mix(in srgb,#1d4ed8 16%,transparent);color:#1d4ed8}.route-edit-btn,.route-add-btn{color:#1d4ed8}.route-edit-btn:hover{background:color-mix(in srgb,#1d4ed8 12%,transparent)}.route-active-badge{color:#16a34a;background:color-mix(in srgb,#16a34a 14%,transparent)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .route-ico:not(.off){background:#2563eb;color:#fff}:root:not([data-theme=light]) .route-edit-btn,:root:not([data-theme=light]) .route-add-btn{color:#6ea8fe}:root:not([data-theme=light]) .route-active-badge{color:#22c55e;background:color-mix(in srgb,#22c55e 20%,transparent)}}[data-theme=dark] .route-ico:not(.off){background:#2563eb;color:#fff}[data-theme=dark] .route-edit-btn,[data-theme=dark] .route-add-btn{color:#6ea8fe}[data-theme=dark] .route-active-badge{color:#22c55e;background:color-mix(in srgb,#22c55e 20%,transparent)}.phone-viewport{position:relative;z-index:0;--backdrop-glow: radial-gradient(ellipse 58% 52% at 10% 4%, color-mix(in srgb, var(--brand) 15%, transparent), transparent 66%), radial-gradient(ellipse 52% 50% at 92% 94%, color-mix(in srgb, var(--signal) 13%, transparent), transparent 68%), radial-gradient(ellipse 60% 44% at 86% 8%, color-mix(in srgb, var(--brand-bright) 10%, transparent), transparent 72%)}.phone-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:0;overflow:hidden;background-color:var(--surface-app);isolation:isolate}.phone-backdrop:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;z-index:-2;background-image:var(--field-grid);background-size:64px 64px;-webkit-mask-image:var(--field-grid-mask);mask-image:var(--field-grid-mask)}.phone-backdrop:after{content:"";position:absolute;top:-12%;right:-12%;bottom:-12%;left:-12%;pointer-events:none;z-index:-1;background:var(--backdrop-glow);animation:backdrop-drift 26s ease-in-out infinite alternate;will-change:transform}@keyframes backdrop-drift{0%{transform:translateZ(0) scale(1);opacity:.88}to{transform:translate3d(1.6%,-1.4%,0) scale(1.07);opacity:1}}@media(prefers-reduced-motion:reduce){.phone-backdrop:after{animation:none}}.phone-panel{position:fixed;z-index:2;width:360px;height:min(620px,88vh);display:flex;flex-direction:column;overflow:hidden;background:var(--surface-app);border:1px solid var(--line);border-radius:20px;box-shadow:var(--shadow-pop)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]) .phone-viewport{--surface-app: #070c1d;--surface-card: #0e1630;--surface-sunk: #050814;--surface-hover: #141d3d;--line: rgba(142, 162, 255, .16);--grid: rgba(142, 162, 255, .16);--nav-bg: #050814;--nav-rule: rgba(142, 162, 255, .14);--shadow-pop: 0 2px 6px rgba(0, 0, 0, .5), 0 20px 48px rgba(0, 0, 0, .55), 0 0 32px rgba(109, 74, 255, .2);--brand: #2563eb;--brand-line: rgba(37, 99, 235, .4);--brand-tint: rgba(37, 99, 235, .18);--backdrop-glow: radial-gradient(ellipse 62% 56% at 10% 6%, color-mix(in srgb, var(--brand) 42%, transparent), transparent 70%), radial-gradient(ellipse 50% 48% at 92% 92%, color-mix(in srgb, var(--signal) 15%, transparent), transparent 70%), radial-gradient(ellipse 56% 42% at 82% 10%, color-mix(in srgb, var(--brand-bright) 18%, transparent), transparent 72%)}}[data-theme=dark] .phone-viewport{--surface-app: #070c1d;--surface-card: #0e1630;--surface-sunk: #050814;--surface-hover: #141d3d;--line: rgba(142, 162, 255, .16);--grid: rgba(142, 162, 255, .16);--nav-bg: #050814;--nav-rule: rgba(142, 162, 255, .14);--shadow-pop: 0 2px 6px rgba(0, 0, 0, .5), 0 20px 48px rgba(0, 0, 0, .55), 0 0 32px rgba(109, 74, 255, .2);--backdrop-glow: radial-gradient(ellipse 62% 56% at 10% 6%, color-mix(in srgb, var(--brand) 42%, transparent), transparent 70%), radial-gradient(ellipse 50% 48% at 92% 92%, color-mix(in srgb, var(--signal) 15%, transparent), transparent 70%), radial-gradient(ellipse 56% 42% at 82% 10%, color-mix(in srgb, var(--brand-bright) 18%, transparent), transparent 72%);--brand: #2563eb;--brand-line: rgba(37, 99, 235, .4);--brand-tint: rgba(37, 99, 235, .18)}.phone-viewport.is-docked .phone-panel,.phone-viewport.is-mobile .phone-panel{top:0;right:0;bottom:0;left:0;width:100vw;height:100dvh;max-height:none;border:0;border-radius:0;box-shadow:none}.phone-hdr{flex:none;position:relative;z-index:2;display:flex;align-items:center;gap:8px;padding:8px 8px 8px 10px;background:var(--nav-bg);color:var(--nav-active);border-bottom:1px solid var(--nav-rule);-webkit-user-select:none;user-select:none}.is-app .phone-hdr{padding-top:calc(8px + env(safe-area-inset-top,0px))}.is-app .phone-viewport.is-mobile .phone-panel{top:0;bottom:auto;height:var(--app-h, 100dvh)}.is-app.kb-open .phone-tabs{display:none}.phone-hdr.draggable{cursor:grab;touch-action:none}.phone-hdr.draggable:active{cursor:grabbing}.phone-grip{flex:none;display:inline-flex;color:var(--nav-ink)}.phone-wordmark{flex:none;height:17px;width:auto;display:block}.phone-ext{position:absolute;left:50%;transform:translate(-50%);display:inline-flex;align-items:center;gap:6px;font-size:.76rem;color:var(--nav-ink);white-space:nowrap;pointer-events:none}.phone-ext-num{color:var(--nav-ink)}.phone-ext .num{color:var(--nav-active);font-weight:600}.phone-menu-reg{display:inline-flex;align-items:center;gap:7px;margin-top:4px;font-size:.78rem;color:var(--ink-soft)}.phone-presence-dot{flex:none;width:8px;height:8px;border-radius:999px;background:var(--signal);box-shadow:0 0 0 3px color-mix(in srgb,var(--signal) 30%,transparent)}.phone-hdr-actions{margin-left:auto;display:flex;align-items:center;gap:2px}.phone-hdr-btn{display:inline-grid;place-items:center;width:30px;height:30px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--nav-active);cursor:pointer}.phone-hdr-btn:hover{background:var(--nav-hover-bg)}.phone-menu{position:relative;display:inline-flex}.phone-menu-pop{position:absolute;top:calc(100% + 6px);right:0;z-index:40;min-width:210px;padding:6px;background:var(--surface-card);color:var(--ink);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-pop)}.phone-menu-head{display:flex;flex-direction:column;gap:2px;padding:8px 10px 10px;border-bottom:1px solid var(--grid);margin-bottom:6px}.phone-menu-head strong{font-size:.9rem}.phone-menu-head .muted{font-size:.78rem}.phone-content{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:14px;background-color:var(--surface-app);background-image:radial-gradient(140% 55% at 50% 0%,color-mix(in srgb,var(--brand) 8%,transparent),transparent 72%),radial-gradient(100% 60% at 100% 100%,color-mix(in srgb,var(--signal) 6%,transparent),transparent 70%);background-size:100% 340px,100% 60%;background-repeat:no-repeat,no-repeat;background-position:top center,bottom right}.phone-content:focus{outline:none}.phone-content .stack{gap:12px}.phone-content .card{padding:12px}.phone-content .card-head{margin-bottom:8px}.phone-content .set-section{padding:12px 14px}.phone-content .callhist,.phone-content .voicemail,.phone-content .contacts,.phone-content .settings{max-width:none}.phone-content .call-row,.phone-content .vm-row,.phone-content .contact-row{padding:9px 2px}.is-mobile .phone-content,.is-docked .phone-content{padding:16px}.phone-tabs{flex:none;position:relative;z-index:2;display:grid;grid-template-columns:repeat(5,1fr);gap:2px;padding:4px;padding-bottom:max(4px,env(safe-area-inset-bottom,0px));background:var(--nav-bg);border-top:1px solid var(--nav-rule)}.phone-tab{display:flex;flex-direction:column;align-items:center;gap:3px;padding:6px 2px;border:0;border-radius:var(--radius-sm);background:transparent;color:var(--nav-ink);cursor:pointer}.phone-tab:hover{background:var(--nav-hover-bg)}.phone-tab:hover .phone-tab-label,.phone-tab.active{color:var(--nav-active)}.phone-tab.active .phone-tab-ico{color:var(--nav-active);background:var(--nav-active-fill);box-shadow:var(--nav-active-glow)}.phone-tab-ico{position:relative;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:9px;background:var(--surface-card);border:1px solid var(--line)}.phone-tab-label{font-size:.62rem;font-weight:600;letter-spacing:.01em;line-height:1}.phone-tab-badge{position:absolute;top:-5px;right:-8px;min-width:15px;height:15px;padding:0 4px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--signal);color:var(--signal-ink);font-size:.6rem;font-weight:700;line-height:1;border:1.5px solid var(--nav-bg)}.phone-bubble{position:fixed;z-index:3;width:56px;height:56px;display:inline-grid;place-items:center;border:0;border-radius:18px;background:var(--nav-bg);box-shadow:var(--shadow-pop);cursor:pointer}.phone-bubble:hover{background:var(--nav-lift)}.phone-bubble-mark{width:34px;height:auto;display:block;pointer-events:none}.phone-bubble-badge{position:absolute;top:-4px;right:-4px;min-width:18px;height:18px;padding:0 5px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--signal);color:var(--signal-ink);font-size:.66rem;font-weight:700;line-height:1;border:2px solid var(--nav-bg)}.dialpad{display:flex;flex-direction:column;gap:14px}.dialpad--live{min-height:100%}.dialpad--live .dialpad-actions{margin-top:auto}.dialpad-display{display:flex;align-items:center;gap:8px;min-height:44px;padding-bottom:10px;border-bottom:1px solid var(--grid)}.dialpad-number{flex:1;min-width:0;text-align:center;font-family:var(--font-heading);font-weight:600;font-size:1.7rem;letter-spacing:.02em;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dialpad-number.empty{font-family:var(--font-body);font-weight:500;font-size:.95rem;letter-spacing:0;color:var(--ink-muted)}.dialpad-back{flex:none;display:inline-grid;place-items:center;width:38px;height:38px;border:0;border-radius:999px;background:transparent;color:var(--ink-soft);cursor:pointer}.dialpad-back:hover:not(:disabled){background:var(--surface-hover);color:var(--ink)}.dialpad-back:disabled{opacity:0;pointer-events:none}.dialpad-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.dialpad-key{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;min-height:52px;border:1px solid var(--line);border-radius:14px;background:var(--surface-card);color:var(--ink);cursor:pointer;transition:background .1s ease,transform .05s ease,border-color .1s ease}.dialpad-key:hover{background:var(--surface-hover);border-color:var(--brand-line)}.dialpad-key:active{transform:scale(.97);background:var(--brand-tint);border-color:var(--brand)}.dialpad-digit{font-family:var(--font-heading);font-weight:600;font-size:1.4rem;line-height:1}.dialpad-letters{min-height:.7rem;font-size:.56rem;font-weight:700;letter-spacing:.1em;color:var(--ink-muted)}.dialpad-actions{display:flex;flex-direction:column;align-items:stretch;gap:8px;margin-top:2px}.dialpad-call{display:inline-flex;align-items:center;justify-content:center;gap:8px;width:100%;min-height:48px;border:0;border-radius:14px;background:linear-gradient(135deg,#17e0bd,#08c39c);color:#fff;font-family:var(--font-heading);font-weight:700;font-size:1rem;box-shadow:0 8px 22px color-mix(in srgb,#10cfa8 48%,transparent)}.dialpad-call:hover:not(:disabled){background:linear-gradient(135deg,#1eeccb,#0ad0a7);box-shadow:0 10px 26px color-mix(in srgb,#10cfa8 58%,transparent)}.dialpad-call:disabled{cursor:not-allowed;opacity:.9;box-shadow:0 6px 16px color-mix(in srgb,#10cfa8 32%,transparent)}.dialpad-call-label{line-height:1}.dialpad-display:has(>.dialpad-speaker){position:relative}.dialpad-speaker{position:absolute;top:0;right:0;width:44px;height:44px;display:grid;place-items:center;padding:0;border:0;border-radius:50%;background:none;color:var(--ink);cursor:pointer}.dialpad-speaker.on{color:var(--signal-strong, var(--brand))}.dialpad-display:has(>.dialpad-speaker) .dialpad-oncall{padding:0 44px}.dialpad-oncall{flex:1;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px}.dialpad-oncall-peer{max-width:100%;font-family:var(--font-heading);font-weight:700;font-size:1.5rem;line-height:1.15;color:var(--ink);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dialpad-oncall-sub{font-size:.8rem;color:var(--signal-strong, var(--brand));letter-spacing:.02em}.dialpad-recording-badge{display:inline-flex;align-items:center;gap:4px;font-size:.7rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--error, #b91c1c)}.line-bar{display:flex;flex-direction:column;gap:8px;margin-bottom:12px}.line-row{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:9px 12px;border-radius:12px;background:#ffffff0f;border:1px solid rgba(255,255,255,.12);border-left:4px solid var(--ink-soft, #94a3b8)}.line-row.is-active{border-left-color:#22c55e;background:#22c55e1f}.line-row.is-held{border-left-color:#f59e0b;background:#f59e0b1f}.line-row.is-ringing{border-left-color:#ef4444;background:#ef444426;animation:line-ring 1.2s ease-in-out infinite}.line-row-info{min-width:0;display:flex;flex-direction:column;gap:1px}.line-row-label{font-size:.7rem;font-weight:700;letter-spacing:.03em;text-transform:uppercase;color:var(--ink, #e5e7eb);opacity:.85}.line-row-peer{max-width:100%;font-weight:700;font-size:1.05rem;color:var(--ink, #f8fafc);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.line-row-actions{flex:0 0 auto;display:flex;align-items:center;gap:8px}.line-row-badge{font-size:.72rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:#22c55e}.line-btn{border:0;border-radius:10px;padding:9px 16px;font-size:.85rem;font-weight:700;color:#fff;cursor:pointer;white-space:nowrap}.line-btn-answer{background:#16a34a}.line-btn-decline{background:#dc2626}.line-btn-swap{background:#2563eb}.line-btn-merge{width:100%;background:#7c3aed;padding:11px 16px;font-size:.9rem}.line-btn:active{filter:brightness(.92)}@keyframes line-ring{0%,to{box-shadow:0 0 #ef444400}50%{box-shadow:0 0 0 3px #ef444459}}@media(prefers-reduced-motion:reduce){.line-row.is-ringing{animation:none}}.dialpad-incall-actions{display:flex;align-items:stretch;gap:8px}.dialpad-hangup{flex:1;display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:48px;border:0;border-radius:14px;background:#d92d20;color:#fff;font-family:var(--font-heading);font-weight:700;font-size:1rem;cursor:pointer;box-shadow:0 6px 16px color-mix(in srgb,#d92d20 30%,transparent)}.dialpad-hangup:active{transform:scale(.99)}.dialpad-ctl{flex:none;display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-width:66px;min-height:48px;padding:0 12px;border:1px solid var(--line);border-radius:14px;background:var(--surface-card);color:var(--ink);font-size:.7rem;font-weight:600;cursor:pointer}.dialpad-ctl.on{background:var(--brand-tint);border-color:var(--brand);color:var(--brand-strong, var(--brand))}.dialpad-ctl:disabled{opacity:.45;cursor:not-allowed}.dialpad-ctlbar{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.dialpad-ctlbar .dialpad-ctl{min-width:0;padding:6px 2px}.dialpad-transfer{display:flex;flex-direction:column;gap:8px}.dialpad-transfer-input{width:100%;min-height:42px;padding:0 12px;border:1px solid var(--line);border-radius:12px;background:var(--surface-card);color:var(--ink);font-size:.9rem;letter-spacing:.01em;text-align:center;text-overflow:ellipsis}.dialpad-transfer-input::placeholder{font-size:.86rem}.dialpad-transfer-input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-tint)}.dialpad-transfer-row{display:grid;grid-template-columns:1fr 1.4fr;gap:8px}.dialpad-transfer-3{display:grid;grid-template-columns:1fr 1fr 1fr;gap:8px}.dialpad-consult{display:flex;flex-direction:column;gap:4px;padding:10px 12px;border:1px solid var(--brand-line, var(--line));border-radius:12px;background:color-mix(in srgb,var(--brand) 14%,var(--surface-card));text-align:center}.dialpad-consult-head{font-weight:700;font-size:.92rem;color:var(--ink)}.dialpad-consult-sub{font-size:.76rem}.dialpad-consult-row{margin-top:6px}.dialpad-conf-bar{grid-template-columns:auto 1fr;align-items:center;gap:12px}.dialpad-conf-note{text-align:left;font-size:.82rem;font-weight:600}.dialpad-conf{display:flex;flex-direction:column;gap:8px}.dialpad-conf-members{display:flex;flex-direction:column;gap:6px;margin:0;padding:0;list-style:none}.dialpad-conf-member{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 10px;border:1px solid var(--line);border-radius:12px;background:var(--surface-card)}.dialpad-conf-member-name{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.86rem;font-weight:600;color:var(--ink)}.dialpad-conf-member-drop{flex:none;display:inline-flex;align-items:center;gap:4px;border:0;border-radius:8px;padding:5px 10px;background:color-mix(in srgb,#d92d20 14%,transparent);color:#d92d20;font-size:.76rem;font-weight:700;cursor:pointer}.dialpad-conf-member-drop:active{filter:brightness(.94)}.dialpad-transfer-go{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:44px;border:0;border-radius:12px;background:var(--btn-blue);color:#fff;font-family:var(--font-heading);font-weight:700;font-size:.95rem;cursor:pointer}.dialpad-transfer-go:disabled{opacity:.5;cursor:not-allowed}.dialpad-hint{text-align:center;font-size:.74rem;color:var(--ink-muted)}.phone-content{position:relative;isolation:isolate}.phone-presence-dot.is-registered{background:var(--signal);box-shadow:0 0 0 3px color-mix(in srgb,var(--signal) 30%,transparent)}.phone-presence-dot.is-connecting{background:var(--status-ringing);box-shadow:0 0 0 3px color-mix(in srgb,var(--status-ringing) 30%,transparent);animation:phone-reg-pulse 1.2s ease-in-out infinite}.phone-presence-dot.is-failed,.phone-presence-dot.is-unregistered{background:var(--steel-light);box-shadow:0 0 0 3px color-mix(in srgb,var(--steel-light) 26%,transparent)}.phone-presence-dot.is-offline{background:#d92d20;box-shadow:0 0 0 3px color-mix(in srgb,#d92d20 34%,transparent);animation:phone-reg-pulse 1s ease-in-out infinite}.phone-presence-dot.is-dnd{background:#d92d20;box-shadow:0 0 0 3px color-mix(in srgb,#d92d20 30%,transparent)}.phone-presence-dot.is-forward{background:var(--status-ringing, #d9a520);box-shadow:0 0 0 3px color-mix(in srgb,var(--status-ringing, #d9a520) 30%,transparent)}@keyframes phone-reg-pulse{0%,to{opacity:1}50%{opacity:.4}}.phone-reg-label{font-size:.72rem;color:var(--nav-ink)}.phone-ext-sep{opacity:.6}@media(max-width:380px){.phone-reg-label,.phone-ext-sep{display:none}}.callpanel{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;gap:14px;padding:20px 16px 16px;overflow-y:auto;text-align:center;color:var(--ink-invert);background:radial-gradient(120% 80% at 50% 0%,color-mix(in srgb,var(--brand-bright) 22%,transparent),transparent 70%),var(--brand-ink)}.callpanel-body{margin-top:auto}.callpanel-dismiss{position:absolute;top:10px;right:10px;display:inline-grid;place-items:center;width:30px;height:30px;border:0;border-radius:var(--radius-sm);background:color-mix(in srgb,var(--ink-invert) 14%,transparent);color:var(--ink-invert);cursor:pointer}.callpanel-dismiss:hover{background:color-mix(in srgb,var(--ink-invert) 24%,transparent)}.callpanel-body{display:flex;flex-direction:column;gap:6px}.callpanel-phase{font-size:.82rem;letter-spacing:.04em;text-transform:uppercase;color:var(--ink-invert-soft)}.callpanel-peer{font-family:var(--font-heading);font-weight:700;font-size:1.5rem;line-height:1.2;word-break:break-word}.callpanel-timer{font-size:1.05rem;color:var(--signal-soft)}.callpanel-sub{font-size:.76rem;color:var(--ink-invert-soft)}.callpanel-error{font-size:.82rem;color:#ffd7d1}.callpanel-ring-actions,.callpanel-controls{flex:none;margin-top:auto;display:flex;flex-wrap:wrap;align-items:flex-end;justify-content:center;gap:18px;width:100%}.callpanel-ring-actions{display:grid;grid-template-columns:1fr 1fr;gap:12px}.callpanel-btn{display:inline-flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;min-height:64px;border:0;border-radius:16px;color:#fff;font-size:.82rem;font-weight:700;cursor:pointer;box-shadow:var(--shadow-pop)}.callpanel-btn>:first-child{display:inline-flex;align-items:center;justify-content:center}.callpanel-accept{background:var(--signal);color:var(--signal-ink)}.callpanel-decline,.callpanel-hangup{background:#d92d20;color:#fff}.callpanel-btn:active{transform:scale(.99)}.callpanel-ctl{display:inline-flex;flex-direction:column;align-items:center;gap:6px;border:0;background:none;color:var(--ink-invert);font-size:.72rem;cursor:pointer}.callpanel-ctl>svg{width:52px;height:52px;padding:15px;border-radius:999px;background:color-mix(in srgb,var(--ink-invert) 12%,transparent)}.callpanel-ctl.on>svg{background:var(--ink-invert);color:var(--brand-ink)}.callpanel-dtmf{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;width:100%;max-width:240px}.callpanel-dtmf-key{padding:10px 0;border:1px solid color-mix(in srgb,var(--ink-invert) 22%,transparent);border-radius:10px;background:color-mix(in srgb,var(--ink-invert) 8%,transparent);color:var(--ink-invert);font-family:var(--font-heading);font-weight:600;font-size:1.1rem;cursor:pointer}.callpanel-dtmf-key:active{background:color-mix(in srgb,var(--ink-invert) 20%,transparent)}.dialpad-hint-wait{color:var(--ink-muted)}.dialpad-hint-bad{color:var(--error)}.dialpad-retry{border:0;background:none;padding:0;color:var(--brand);font:inherit;font-weight:600;text-decoration:underline;cursor:pointer}.drawer-scrim{position:absolute;top:0;right:0;bottom:0;left:0;z-index:3;background:color-mix(in srgb,var(--brand-ink) 45%,transparent);opacity:0;visibility:hidden;transition:opacity .18s ease,visibility .18s ease}.drawer-scrim.open{opacity:1;visibility:visible}.presence-drawer{position:absolute;top:10px;right:10px;bottom:10px;z-index:4;width:min(88%,320px);display:flex;flex-direction:column;background:var(--card-sheen),var(--surface-card);border:1px solid var(--line);border-left:3px solid var(--brand);border-radius:var(--radius);overflow:hidden;transform:translate(calc(100% + 10px));transition:transform .2s ease}.presence-drawer.open{transform:translate(0);box-shadow:var(--shadow-pop)}.drawer-hdr{flex:none;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:12px 12px 10px 14px;border-bottom:1px solid var(--line)}.drawer-title{font-family:var(--font-heading);font-weight:700;font-size:1rem;color:var(--ink)}.drawer-search{flex:none;padding:10px 12px}.drawer-search input{width:100%;min-height:40px;padding:0 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-app);color:var(--ink);font-size:.9rem}.drawer-search input:focus{outline:none;border-color:var(--brand);box-shadow:0 0 0 3px var(--brand-tint)}.drawer-list{flex:1;min-height:0;overflow-y:auto;padding:4px 8px 12px}.drawer-empty{padding:20px 12px;text-align:center;font-size:.85rem}.drawer-user-wrap{border-radius:12px}.drawer-user-top{display:flex;align-items:center;gap:2px}.drawer-user-msg{flex:none;display:inline-grid;place-items:center;width:36px;height:36px;margin-right:6px;border:0;border-radius:999px;background:transparent;color:var(--ink-muted);cursor:pointer}.drawer-user-msg:hover{background:var(--surface-hover);color:var(--brand)}.drawer-user{width:100%;display:flex;align-items:center;gap:10px;padding:9px 10px;border:0;border-radius:12px;background:transparent;color:var(--ink);cursor:pointer;text-align:left}.drawer-user:hover{background:var(--surface-hover)}.drawer-user-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.drawer-user-name{font-weight:600;font-size:.92rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.drawer-user-ext{font-size:.76rem}.drawer-user-call{flex:none;display:inline-flex;color:var(--ink-muted)}.drawer-user-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:4px 10px 10px 34px}.presence-dot{flex:none;width:11px;height:11px;border-radius:999px;background:var(--ink-muted);box-shadow:0 0 0 3px color-mix(in srgb,var(--ink-muted) 22%,transparent)}.presence-dot.is-available{background:#22c55e;box-shadow:0 0 0 3px color-mix(in srgb,#22c55e 26%,transparent)}.presence-dot.is-oncall,.presence-dot.is-dnd{background:#d92d20;box-shadow:0 0 0 3px color-mix(in srgb,#d92d20 26%,transparent)}.presence-dot.is-away,.presence-dot.is-wrapup{background:#f59e0b;box-shadow:0 0 0 3px color-mix(in srgb,#f59e0b 26%,transparent)}.presence-dot.is-offline{background:var(--ink-muted);opacity:.6;box-shadow:none}.presence-dot.is-unknown{background:transparent;box-shadow:inset 0 0 0 1.5px color-mix(in srgb,var(--ink-muted) 60%,transparent)}.phone-hdr-btn.on{background:color-mix(in srgb,var(--ink-invert) 18%,transparent)}.dialpad-park{margin-top:10px;padding-top:8px;border-top:1px solid var(--grid)}.dialpad-park-label{display:block;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px}.dialpad-park-zones{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.dialpad-switch{margin-top:10px;padding-top:8px;border-top:1px solid var(--grid)}.dialpad-switch-label{display:block;font-size:.72rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px}.dialpad-switch-list{display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.drawer-sep{display:flex;align-items:center;gap:8px;margin:10px 6px 4px;color:var(--ink-muted);font-size:.68rem;font-weight:700;letter-spacing:.1em;text-transform:uppercase}.drawer-sep:before,.drawer-sep:after{content:"";flex:1;height:1px;background:var(--line)}.drawer-group-ico{flex:none;display:inline-grid;place-items:center;width:11px;height:11px;color:var(--ink-muted)}.presence-dot.is-ringing{background:#f59e0b;box-shadow:0 0 0 3px color-mix(in srgb,#f59e0b 30%,transparent);animation:presence-pulse 1s ease-in-out infinite}@keyframes presence-pulse{0%,to{box-shadow:0 0 0 2px color-mix(in srgb,#f59e0b 40%,transparent)}50%{box-shadow:0 0 0 6px color-mix(in srgb,#f59e0b 8%,transparent)}}@media(prefers-reduced-motion:reduce){.presence-dot.is-ringing{animation:none}}.dialpad-top{display:flex;justify-content:flex-end;margin-bottom:8px}.dnd-toggle{display:inline-flex;align-items:center;gap:7px;padding:6px 12px;border:1px solid var(--line);border-radius:999px;background:var(--surface-card);color:var(--ink-soft);font-size:.78rem;font-weight:600;cursor:pointer}.dnd-toggle:disabled{opacity:.5;cursor:not-allowed}.dnd-dot{width:8px;height:8px;border-radius:999px;background:var(--ink-muted)}.dnd-toggle.on{background:color-mix(in srgb,#d92d20 14%,transparent);border-color:color-mix(in srgb,#d92d20 40%,transparent);color:#d92d20}.dnd-toggle.on .dnd-dot{background:#d92d20;box-shadow:0 0 0 3px color-mix(in srgb,#d92d20 22%,transparent)}.phone-offline{position:absolute;top:0;left:0;right:0;z-index:2;display:flex;align-items:center;gap:10px;padding:8px 14px;background:#d92d20;color:#fff;font-size:.85rem;font-weight:600}.phone-offline-text{flex:1;min-width:0}.phone-offline-btn{flex:none;min-height:26px;padding:0 12px;background:#ffffff2e;border-color:transparent;color:#fff;font-size:.8rem}.phone-offline-btn:hover{background:#ffffff52}.phone-reconnecting{padding:5px 14px;background:color-mix(in srgb,var(--status-ringing, #d9a520) 24%,transparent);color:var(--ink);font-size:.8rem;font-weight:600;text-align:center}.phone-routing{display:flex;align-items:center;gap:10px;padding:6px 14px;font-size:.8rem;font-weight:600;color:var(--ink)}.phone-routing.is-dnd{background:color-mix(in srgb,#d92d20 18%,transparent)}.phone-routing.is-forward{background:color-mix(in srgb,var(--status-ringing, #d9a520) 24%,transparent)}.phone-routing-text{flex:1;min-width:0}.phone-routing-btn{flex:none;min-height:24px;padding:0 10px;font-size:.75rem}.phone-bubble.is-offline{box-shadow:0 0 0 3px #d92d20,0 8px 20px #0000004d;animation:phone-reg-pulse 1s ease-in-out infinite}.drawer-newcontact{padding:8px 14px 4px}.contact-btn-new{width:100%;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;border:1px dashed var(--line);border-radius:12px;background:transparent;color:var(--btn-blue, #2563eb);font-weight:700;font-size:.9rem;cursor:pointer}.contact-btn-new:hover{background:var(--accent-soft, rgba(37, 99, 235, .08))}.drawer-contact-ico{display:inline-flex;align-items:center;justify-content:center;width:22px;color:var(--ink-soft)}.contact-form-scrim{position:absolute;top:0;right:0;bottom:0;left:0;background:var(--surface-card);display:flex;flex-direction:column;z-index:5}.contact-form{padding:14px 16px 18px;display:flex;flex-direction:column;gap:12px;overflow-y:auto}.contact-form-hdr{display:flex;align-items:center;justify-content:space-between}.contact-form-title{font-family:var(--font-heading);font-weight:700;font-size:1.15rem;color:var(--ink)}.contact-field{display:flex;flex-direction:column;gap:4px}.contact-field>span{font-size:.78rem;font-weight:600;color:var(--ink-soft)}.contact-field>span em{font-style:normal;font-weight:400;opacity:.8}.contact-field input{padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:var(--surface-app);color:var(--ink);font-size:1rem}.contact-field input::placeholder{color:var(--ink-soft);opacity:.7}.contact-field input:focus{outline:2px solid var(--btn-blue, #2563eb);outline-offset:0;border-color:transparent}.contact-form-error{color:var(--error, #b91c1c);font-size:.85rem;margin:0}.contact-form-actions{display:flex;align-items:center;gap:8px;margin-top:4px}.contact-form-spacer{flex:1}.contact-btn{border:0;border-radius:10px;padding:10px 16px;font-weight:700;font-size:.9rem;cursor:pointer}.contact-btn:disabled{opacity:.6;cursor:default}.contact-btn-save{background:var(--btn-blue, #2563eb);color:#fff}.contact-btn-cancel{background:transparent;color:var(--ink-soft);border:1px solid var(--line)}.contact-btn-del{background:transparent;color:var(--error, #b91c1c);border:1px solid var(--error, #b91c1c)}.drawer-sep-contacts{justify-content:space-between;border-top:1px solid var(--line);padding-top:10px;margin-top:12px}.drawer-sep-contacts:before,.drawer-sep-contacts:after{display:none}.drawer-sep-new{display:inline-flex;align-items:center;gap:4px;padding:4px 10px;border:1px solid var(--line);border-radius:999px;background:transparent;color:var(--btn-blue, #2563eb);font-size:.72rem;font-weight:700;letter-spacing:.04em;text-transform:none;cursor:pointer}.drawer-sep-new:hover{background:var(--surface-hover)}.teams-sheet{margin:8px 0;padding:12px;border:1px solid var(--line);border-radius:12px;background:var(--surface-card);display:flex;flex-direction:column;gap:8px;text-align:left}.teams-sheet-hdr{display:flex;align-items:center;justify-content:space-between}.teams-sheet-title{font-family:var(--font-heading);font-weight:700;color:var(--ink)}.teams-sheet-sub{font-size:.78rem;margin:0}.teams-sheet-link{display:flex;align-items:center;gap:8px}.teams-sheet-url{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;color:var(--ink);background:var(--surface-app);padding:8px 10px;border-radius:8px;border:1px solid var(--line)}.teams-sheet-copy{flex:0 0 auto;display:inline-flex;align-items:center;gap:4px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:transparent;color:var(--ink);cursor:pointer;font-size:.8rem;font-weight:600}.teams-sheet-actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.teams-btn{display:inline-flex;align-items:center;gap:6px;padding:9px 14px;border-radius:10px;border:1px solid var(--line);background:transparent;color:var(--ink);font-weight:700;font-size:.85rem;cursor:pointer}.teams-btn-primary{background:var(--btn-blue, #2563eb);color:#fff;border-color:transparent}.teams-btn:disabled{opacity:.6;cursor:default}.teams-sheet-hint{font-size:.78rem;flex:1}.teams-sheet-err{color:var(--error, #b91c1c);font-size:.8rem;margin:0}.dialpad-hint-link{background:none;border:0;color:var(--btn-blue, #2563eb);font:inherit;text-decoration:underline;cursor:pointer;padding:0}.dialpad--app:not(.dialpad--live){min-height:100%;padding:0;border:0;background:transparent;box-shadow:none}.dialpad--app:not(.dialpad--live) .dialpad-top{margin-bottom:0}.dialpad--app:not(.dialpad--live) .dialpad-display{flex:1;min-height:72px;padding-bottom:0}.dialpad-stage{flex:1;min-width:0;align-self:stretch;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px}.dialpad-stage .dialpad-number{flex:none;width:100%;font-size:2rem}.dialpad-stage .dialpad-number.empty{font-size:1.05rem}.dialpad-stage .dialpad-hint{margin:0;text-align:center}.dialpad--app .dialpad-key{min-height:clamp(56px,9.5dvh,84px);border-radius:16px}.dialpad--app .dialpad-digit{font-size:1.9rem}.dialpad--app .dialpad-letters{min-height:.8rem;font-size:.68rem}.dialpad-actrow{display:grid;grid-template-columns:72px minmax(0,1fr) 72px;gap:8px}.dialpad-actrow .dialpad-call,.dialpad-side{min-height:clamp(52px,7.6dvh,66px);border-radius:16px}.dialpad-actrow .dialpad-call{font-size:1.15rem}.dialpad-side{display:grid;place-items:center;border:1px solid var(--line);background:transparent;color:var(--ink-soft);cursor:pointer}.dialpad-side:active:not(:disabled){background:var(--brand-tint);border-color:var(--brand)}.dialpad-side:disabled{opacity:.35;cursor:default}
