:root{
  --bg:var(--tg-theme-bg-color,#0f141b);
  --surface:var(--tg-theme-secondary-bg-color,#171e27);
  --surface-2:color-mix(in srgb,var(--surface) 86%,var(--text,#eef2f6) 14%);
  --text:var(--tg-theme-text-color,#eef2f6);
  --muted:var(--tg-theme-hint-color,#8995a5);
  --accent:var(--tg-theme-button-color,#2f80ed);
  --accent-text:var(--tg-theme-button-text-color,#fff);
  --line:color-mix(in srgb,var(--muted) 24%,transparent);
  --danger:#e65f65;--success:#36b37e;--warning:#d8a642;
  --radius:14px;--radius-sm:10px;
  font-family:-apple-system,BlinkMacSystemFont,"SF Pro Text","Segoe UI",Roboto,Arial,sans-serif
}
*{box-sizing:border-box;min-width:0;-webkit-tap-highlight-color:transparent}
html,body{margin:0;min-width:320px;min-height:100%;background:var(--bg);color:var(--text);overflow-x:hidden}
body{font-size:14px;line-height:1.4;-webkit-font-smoothing:antialiased}
button,input,select,textarea{font:inherit}.hidden{display:none!important}.muted{color:var(--muted)}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}.truncate{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sidebar,.sidebar-overlay,.mobile-bottom-nav,.bottom-nav,.bottom-navigation,.legacy-nav,#bottomNav,#mobileNav,[data-legacy-nav],.tabs{display:none!important}

.admin-layout{min-height:100dvh;display:grid;grid-template-columns:220px minmax(0,1fr)}
.admin-rail{position:sticky;top:0;height:100dvh;padding:16px 12px;border-right:1px solid var(--line);background:color-mix(in srgb,var(--surface) 92%,transparent);display:flex;flex-direction:column;gap:18px}
.brand-block{display:flex;align-items:center;gap:10px;padding:2px 6px 10px}.brand-logo{width:36px;height:36px;border-radius:10px;object-fit:cover}.brand-block strong{display:block;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand-block small{display:block;color:var(--muted);font-size:11px;margin-top:2px}
.rail-nav{display:flex;flex-direction:column;gap:3px}.nav-group-label{padding:10px 9px 5px;color:var(--muted);font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.08em}.rail-nav button{appearance:none;border:0;background:transparent;color:var(--muted);text-align:left;padding:9px 10px;border-radius:9px;font-weight:600;cursor:pointer}.rail-nav button:hover{background:color-mix(in srgb,var(--text) 6%,transparent);color:var(--text)}.rail-nav button.active{background:color-mix(in srgb,var(--accent) 17%,transparent);color:var(--text)}
.rail-status{margin-top:auto;padding:10px 9px;border-top:1px solid var(--line);display:flex;align-items:center;gap:8px;color:var(--muted);font-size:12px}
.status-dot{width:8px;height:8px;border-radius:50%;background:var(--muted);display:inline-block;flex:0 0 auto}.status-dot.online,.diagnostic .status-dot{background:var(--success)}

.workspace{width:100%;max-width:1240px;padding:0 28px 42px;margin:0 auto}.workspace-header{position:sticky;top:0;z-index:20;min-height:76px;padding:18px 0 14px;display:flex;align-items:flex-end;justify-content:space-between;gap:12px;background:linear-gradient(to bottom,var(--bg) 75%,color-mix(in srgb,var(--bg) 0%,transparent));backdrop-filter:blur(14px);-webkit-backdrop-filter:blur(14px)}
.page-heading{padding:0!important}.page-heading h1,.page-heading h2{font-size:24px;line-height:1.15;margin:0 0 4px}.page-heading p{margin:0;color:var(--muted);font-size:12px}.page-heading .eyebrow{display:none}
.content{padding-top:8px}.loading{min-height:220px;display:grid;place-items:center;color:var(--muted)}

.button{appearance:none;border:1px solid var(--line);background:var(--surface);color:var(--text);min-height:38px;padding:8px 12px;border-radius:10px;font-weight:650;cursor:pointer}.button:hover{border-color:color-mix(in srgb,var(--muted) 45%,transparent)}.button:disabled{opacity:.5;cursor:not-allowed}.button.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-text)}.button.success{background:color-mix(in srgb,var(--success) 16%,var(--surface));border-color:color-mix(in srgb,var(--success) 35%,var(--line))}.button.danger{color:var(--danger);border-color:color-mix(in srgb,var(--danger) 28%,var(--line))}.button.ghost,.button.subtle{background:transparent}.button.small{min-height:32px;padding:6px 9px;font-size:12px}.button.full{width:100%}
.toolbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 12px}.toolbar .muted{font-size:12px}.section-gap{margin-top:14px!important}

.card,.entity-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:16px;box-shadow:none}.card h2,.card h3,.entity-card h3{margin:0 0 10px;font-size:15px}.card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.grid{display:grid;gap:12px}.grid.two{grid-template-columns:repeat(2,minmax(0,1fr))}.grid.stats{grid-template-columns:repeat(4,minmax(0,1fr))}.stat-card{padding:14px}.stat-label{color:var(--muted);font-size:11px;font-weight:650}.stat-value{font-size:25px;font-weight:750;letter-spacing:-.02em;margin:4px 0 2px}.stat-note{font-size:11px;color:var(--muted)}
.dashboard-grid{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(280px,.85fr);gap:12px;margin-top:12px}.quick-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.quick-actions .button{text-align:left;min-height:46px}.health-lines{display:grid;gap:9px}.health-line{display:flex;justify-content:space-between;gap:10px;align-items:center;padding:8px 0;border-bottom:1px solid var(--line)}.health-line:last-child{border-bottom:0}.health-line small{color:var(--muted)}

.badge{display:inline-flex;align-items:center;min-height:23px;padding:3px 8px;border-radius:999px;background:color-mix(in srgb,var(--muted) 15%,transparent);color:var(--text);font-size:10px;font-weight:700;white-space:nowrap}.badge.running,.badge.active,.badge.transferred,.badge.info{background:color-mix(in srgb,var(--success) 15%,transparent);color:color-mix(in srgb,var(--success) 70%,var(--text))}.badge.failed,.badge.error,.badge.do_not_call{background:color-mix(in srgb,var(--danger) 14%,transparent);color:color-mix(in srgb,var(--danger) 70%,var(--text))}.badge.warning,.badge.retry,.badge.paused{background:color-mix(in srgb,var(--warning) 15%,transparent);color:color-mix(in srgb,var(--warning) 75%,var(--text))}

.call-list{display:grid;gap:6px}.call-row{display:grid;grid-template-columns:150px minmax(180px,1.2fr) minmax(130px,.8fr) 95px minmax(110px,.8fr) 70px;gap:10px;align-items:center;padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:var(--surface);cursor:pointer}.call-row:hover{border-color:color-mix(in srgb,var(--accent) 35%,var(--line))}.call-row .call-date,.call-row .call-campaign,.call-row .call-result,.call-row .call-time{font-size:11px;color:var(--muted)}.call-row .call-contact b{display:block;font-size:13px}.call-row .call-contact span{font-size:11px}.call-list-head{display:grid;grid-template-columns:150px minmax(180px,1.2fr) minmax(130px,.8fr) 95px minmax(110px,.8fr) 70px;gap:10px;padding:0 12px 6px;color:var(--muted);font-size:10px;text-transform:uppercase;letter-spacing:.05em}
.filters{display:grid;grid-template-columns:minmax(180px,1fr) 180px auto;gap:8px;margin-bottom:12px}.search-input,.filters input,.filters select{width:100%;min-height:38px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--text);padding:8px 11px;outline:none}.search-input:focus,.filters input:focus,.filters select:focus{border-color:color-mix(in srgb,var(--accent) 60%,var(--line))}

.event-list{display:grid;gap:6px}.event-row{display:grid;grid-template-columns:130px 78px 130px minmax(0,1fr);gap:10px;align-items:start;padding:10px 12px;border:1px solid var(--line);border-radius:11px;background:var(--surface)}.event-row .event-date,.event-row .event-category{font-size:11px;color:var(--muted)}.event-row .event-message{font-size:12px;overflow-wrap:anywhere}.event-payload{grid-column:1/-1;margin-top:4px;padding:9px;border-radius:8px;background:color-mix(in srgb,var(--bg) 55%,transparent);font-size:10px;white-space:pre-wrap;overflow:auto;max-height:180px}

.list-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.entity-card{padding:14px}.entity-meta{display:flex;gap:9px;flex-wrap:wrap;color:var(--muted);font-size:11px;margin:7px 0 12px}.entity-actions{display:flex;gap:6px;flex-wrap:wrap}

.field{display:flex;flex-direction:column;gap:5px}.field label{font-size:11px;color:var(--muted);font-weight:650}.field input,.field select,.field textarea{width:100%;border:1px solid var(--line);background:color-mix(in srgb,var(--bg) 34%,var(--surface));color:var(--text);border-radius:9px;padding:9px 10px;outline:none}.field textarea{min-height:90px;resize:vertical}.field input:focus,.field select:focus,.field textarea:focus{border-color:color-mix(in srgb,var(--accent) 60%,var(--line))}.field small{color:var(--muted);font-size:10px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.form-grid .full{grid-column:1/-1}.switch-row{display:flex;align-items:center;justify-content:space-between;gap:10px;border:1px solid var(--line);border-radius:10px;padding:10px}.switch-row small{display:block;color:var(--muted);font-size:10px}.switch{position:relative;width:42px;height:24px;flex:0 0 auto}.switch input{opacity:0;position:absolute}.switch i{position:absolute;inset:0;border-radius:999px;background:color-mix(in srgb,var(--muted) 30%,transparent)}.switch i:after{content:"";position:absolute;width:18px;height:18px;left:3px;top:3px;border-radius:50%;background:var(--text);transition:.15s}.switch input:checked+i{background:var(--accent)}.switch input:checked+i:after{transform:translateX(18px)}
.settings-tools{position:sticky;top:76px;z-index:12;display:flex;gap:8px;align-items:center;padding:8px 0 10px;background:var(--bg)}.settings-tools input{flex:1}.settings-stack{display:grid;gap:8px}.settings-section{border:1px solid var(--line);border-radius:12px;background:var(--surface);overflow:hidden}.settings-section summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 14px;font-weight:700;cursor:pointer}.settings-section summary::-webkit-details-marker{display:none}.settings-section summary small{font-weight:500;color:var(--muted)}.settings-section[open] summary{border-bottom:1px solid var(--line)}.settings-section .settings-form{padding:14px}.settings-savebar{position:sticky;bottom:12px;z-index:14;display:flex;justify-content:flex-end;gap:8px;margin-top:12px;padding:8px;border:1px solid var(--line);border-radius:12px;background:color-mix(in srgb,var(--surface) 92%,transparent);backdrop-filter:blur(14px)}

.diagnostics{display:grid;gap:7px}.diagnostic{display:flex;align-items:center;gap:9px;border:1px solid var(--line);border-radius:10px;padding:9px}.diagnostic>div{flex:1}.diagnostic-state{font-size:10px;color:var(--muted);overflow-wrap:anywhere}.empty{padding:26px;text-align:center;color:var(--muted)}.empty strong{display:block;color:var(--text);margin-bottom:5px}

.table-wrap{overflow:auto}.table-wrap table{border-collapse:collapse;width:100%;min-width:620px}.table-wrap th,.table-wrap td{padding:9px 10px;border-bottom:1px solid var(--line);text-align:left;font-size:11px}.table-wrap th{color:var(--muted);font-size:10px;text-transform:uppercase}.clickable{cursor:pointer}
.transcript{display:grid;gap:8px}.bubble{max-width:86%;padding:10px 12px;border-radius:12px;background:color-mix(in srgb,var(--text) 7%,var(--surface));overflow-wrap:anywhere}.bubble.assistant{margin-left:auto;background:color-mix(in srgb,var(--accent) 15%,var(--surface))}.bubble small{display:block;color:var(--muted);font-size:9px;margin-top:6px}

.modal{position:fixed;inset:0;z-index:80;display:grid;place-items:center;padding:18px}.modal-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.48)}.modal-panel{position:relative;width:min(760px,100%);max-height:88dvh;display:flex;flex-direction:column;border:1px solid var(--line);border-radius:16px;background:var(--bg);overflow:hidden}.modal-header{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:13px 15px;border-bottom:1px solid var(--line);background:var(--surface)}.modal-header h2{margin:0;font-size:15px}.modal-body{padding:15px;overflow:auto}.modal-close{font-size:22px;line-height:1;min-width:38px}
.toast-container{position:fixed;right:16px;top:calc(14px + env(safe-area-inset-top,0px));bottom:auto;z-index:10080;display:grid;gap:8px;width:min(420px,calc(100vw - 32px));pointer-events:none}.toast{width:100%;box-sizing:border-box;padding:12px 14px;border:1px solid rgba(148,163,184,.45);border-radius:12px;background:#17212b;color:#fff;font-size:13px;line-height:1.35;box-shadow:0 12px 40px rgba(0,0,0,.38);white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;pointer-events:auto}.toast.success{background:#184d35;color:#fff;border-color:#2f7d57}.toast.error{background:#6b2424;color:#fff;border-color:#a94444}

.auth-gate{position:fixed;inset:0;z-index:150;display:grid;place-items:center;background:var(--bg);padding:18px}.auth-card{width:min(390px,100%);padding:22px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.auth-logo{width:48px;height:48px;border-radius:12px}.auth-card h1{margin:12px 0 5px}.auth-card p{color:var(--muted)}.auth-card input{width:100%;min-height:42px;margin:8px 0;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--text);padding:9px 11px}

.mobile-primary,.mobile-more{display:none}

/* Voice test keeps its existing mechanics but becomes visually quieter. */
.voice-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.voice-actions .button{min-height:42px}.voice-actions .primary{grid-column:auto}.voice-actions .button:only-child{grid-column:1/-1}
.voice-test-layout,.voice-test-panel{max-width:100%}.voice-message{border-radius:12px!important}.voice-metrics{gap:8px!important}.voice-metric{border:1px solid var(--line)!important;background:var(--surface)!important;box-shadow:none!important}.manual-contact-row{display:grid;grid-template-columns:1.1fr .8fr auto auto;gap:7px;align-items:center}.manual-consent{font-size:11px;color:var(--muted)}

@media(max-width:980px){
  .admin-layout{display:block}.admin-rail{display:none}.workspace{padding:0 14px calc(86px + env(safe-area-inset-bottom,0px));max-width:760px}.workspace-header{min-height:66px;padding:14px 0 10px}.page-heading h1{font-size:21px}.header-actions .button{min-height:34px;padding:6px 9px;font-size:11px}
  .mobile-primary{position:fixed;left:8px;right:8px;bottom:calc(8px + env(safe-area-inset-bottom,0px));z-index:55;display:grid;grid-template-columns:repeat(5,1fr);gap:3px;padding:5px;border:1px solid var(--line);border-radius:14px;background:color-mix(in srgb,var(--surface) 94%,transparent);backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.mobile-primary button{border:0;background:transparent;color:var(--muted);min-height:42px;border-radius:10px;font-size:10px;font-weight:700}.mobile-primary button.active{background:color-mix(in srgb,var(--accent) 17%,transparent);color:var(--text)}
  .mobile-more{position:fixed;inset:0;z-index:75}.mobile-more:not(.hidden){display:block}.mobile-more-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.45)}.mobile-more-panel{position:absolute;left:8px;right:8px;bottom:calc(66px + env(safe-area-inset-bottom,0px));padding:12px;border:1px solid var(--line);border-radius:16px;background:var(--surface)}.mobile-more-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.mobile-more-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:7px}.mobile-more-grid button{min-height:44px;border:1px solid var(--line);border-radius:10px;background:var(--bg);color:var(--text);font-weight:650}
  .grid.stats{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:1fr}.grid.two{grid-template-columns:1fr}.list-cards{grid-template-columns:1fr}.form-grid{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.settings-tools{top:66px}.settings-savebar{bottom:116px}
  .call-list-head{display:none}.call-row{grid-template-columns:1fr auto;grid-template-areas:"contact badge" "date result" "campaign time";gap:4px 10px;padding:11px}.call-row .call-contact{grid-area:contact}.call-row .call-status{grid-area:badge;justify-self:end}.call-row .call-date{grid-area:date}.call-row .call-result{grid-area:result;justify-self:end;text-align:right}.call-row .call-campaign{grid-area:campaign}.call-row .call-time{grid-area:time;justify-self:end}.filters{grid-template-columns:1fr 130px}.filters .filter-count{grid-column:1/-1}
  .event-row{grid-template-columns:1fr auto;grid-template-areas:"msg level" "date cat" "payload payload"}.event-message{grid-area:msg}.event-level{grid-area:level}.event-date{grid-area:date}.event-category{grid-area:cat;justify-self:end}.event-payload{grid-area:payload}
  .modal{padding:0;align-items:end}.modal-panel{width:100%;max-height:92dvh;border-radius:18px 18px 0 0;border-bottom:0}.modal-body{padding-bottom:calc(18px + env(safe-area-inset-bottom,0px))}.toast-container{left:10px;right:10px;top:calc(10px + env(safe-area-inset-top,0px));bottom:auto;width:auto}.toast{max-width:none}
  .manual-contact-row{grid-template-columns:1fr auto}.manual-contact-row input[data-manual-name]{grid-column:1/-1;grid-row:2}.manual-contact-row .manual-consent{grid-row:1;grid-column:2}.manual-contact-row [data-remove-manual]{grid-row:2;grid-column:2}
}

@media(max-width:420px){.workspace{padding-left:10px;padding-right:10px}.grid.stats{gap:8px}.stat-card{padding:12px}.stat-value{font-size:22px}.card,.entity-card{padding:13px}.quick-actions{grid-template-columns:1fr}.filters{grid-template-columns:1fr}.filters .filter-count{grid-column:auto}.mobile-more-grid{grid-template-columns:1fr 1fr}.voice-actions{grid-template-columns:1fr}.voice-actions .button,.voice-actions .primary{grid-column:1/-1}}
