
*{box-sizing:border-box}
:root{
  --bg:#08111f;--bg-soft:#0c1728;--surface:#101d30;--surface-2:#15243a;--surface-3:#1b2d47;
  --border:#243752;--border-soft:#1b2d45;--text:#edf4ff;--muted:#8ea2bd;--muted-2:#647a96;
  --accent:#5b8cff;--accent-2:#7c5cff;--accent-soft:rgba(91,140,255,.14);--success:#31c48d;
  --success-soft:rgba(49,196,141,.13);--warning:#f7b955;--warning-soft:rgba(247,185,85,.13);
  --danger:#f36b7f;--danger-soft:rgba(243,107,127,.13);--info:#52c7ea;--info-soft:rgba(82,199,234,.13);
  --shadow:0 18px 50px rgba(0,0,0,.24);--radius:18px;--sidebar:270px;--topbar:72px;
}
html[data-theme="light"]{
  --bg:#f4f7fb;--bg-soft:#eef3f9;--surface:#ffffff;--surface-2:#f8fbff;--surface-3:#eef4fb;
  --border:#dce6f1;--border-soft:#e8eef5;--text:#142033;--muted:#5e7189;--muted-2:#8292a6;
  --accent:#356df3;--accent-2:#6a4deb;--accent-soft:rgba(53,109,243,.10);--shadow:0 16px 42px rgba(37,55,78,.10)
}
html{min-height:100%;background:var(--bg)}
body{margin:0;min-height:100vh;background:var(--bg);color:var(--text);font-family:Tahoma,"Segoe UI",Arial,sans-serif;font-size:14px;line-height:1.65;overflow-x:hidden}
a{color:inherit;text-decoration:none}a:hover{color:var(--accent)}
button,input,textarea,select{font:inherit}
button{cursor:pointer}
::selection{background:var(--accent);color:white}
:focus-visible{outline:2px solid var(--accent);outline-offset:2px}
.app-shell{min-height:100vh}
.sidebar{position:fixed;inset-block:0;inset-inline-start:0;width:var(--sidebar);background:linear-gradient(180deg,var(--surface),var(--bg-soft));border-inline-end:1px solid var(--border-soft);z-index:40;display:flex;flex-direction:column;padding:18px 14px}
.brand{height:62px;display:flex;align-items:center;gap:12px;padding:0 10px 14px;border-bottom:1px solid var(--border-soft);margin-bottom:14px}
.brand-mark{width:42px;height:42px;border-radius:14px;display:grid;place-items:center;background:linear-gradient(135deg,var(--accent),var(--accent-2));color:#fff;font-weight:900;box-shadow:0 10px 28px rgba(91,140,255,.28)}
.brand-copy strong{display:block;font-size:16px}.brand-copy small{display:block;color:var(--muted);font-size:11px;margin-top:1px}
.nav-scroll{overflow:auto;padding-inline:3px;padding-bottom:16px;scrollbar-width:thin;scrollbar-color:var(--border) transparent}
.nav-group{margin:14px 0 6px;padding:0 10px;color:var(--muted-2);font-size:11px;font-weight:700;letter-spacing:.08em}
.nav-link{display:flex;align-items:center;gap:11px;min-height:43px;padding:9px 11px;border-radius:12px;color:var(--muted);font-weight:600;margin:2px 0;transition:.18s ease}
.nav-link:hover{background:var(--surface-2);color:var(--text)}
.nav-link.active{background:linear-gradient(135deg,var(--accent-soft),rgba(124,92,255,.10));color:var(--text);box-shadow:inset 3px 0 0 var(--accent)}
.nav-icon{width:24px;text-align:center;font-size:17px;opacity:.95}
.sidebar-footer{margin-top:auto;border-top:1px solid var(--border-soft);padding-top:12px}
.user-mini{display:flex;align-items:center;gap:10px;padding:8px 9px;margin-bottom:7px}
.avatar{width:36px;height:36px;border-radius:12px;display:grid;place-items:center;background:var(--surface-3);color:var(--accent);font-weight:800;border:1px solid var(--border)}
.user-mini strong{display:block;font-size:13px}.user-mini small{display:block;color:var(--muted);font-size:11px}
.logout-btn{width:100%;min-height:40px;background:transparent;border:1px solid var(--border);color:var(--muted);border-radius:11px}.logout-btn:hover{background:var(--danger-soft);border-color:rgba(243,107,127,.35);color:var(--danger)}
.workspace{min-height:100vh;margin-inline-start:var(--sidebar)}
.topbar{height:var(--topbar);position:sticky;top:0;z-index:25;background:color-mix(in srgb,var(--bg) 82%,transparent);backdrop-filter:blur(16px);border-bottom:1px solid var(--border-soft);display:flex;align-items:center;justify-content:space-between;padding:0 28px}
.topbar-title{display:flex;align-items:center;gap:12px;min-width:0}.topbar-title strong{font-size:15px}.topbar-title span{color:var(--muted);font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.top-actions{display:flex;align-items:center;gap:8px}.icon-btn{width:40px;height:40px;border-radius:12px;border:1px solid var(--border);background:var(--surface);color:var(--text);display:grid;place-items:center}.icon-btn:hover{background:var(--surface-2);border-color:var(--accent)}
.mobile-menu{display:none}
.content{max-width:1500px;margin:0 auto;padding:26px 30px 56px}
.page-head{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;margin-bottom:22px}.page-title{margin:0;font-size:28px;line-height:1.25;letter-spacing:-.02em}.page-subtitle{margin:7px 0 0;color:var(--muted);max-width:850px}.page-actions{display:flex;gap:9px;flex-wrap:wrap;align-items:center}
.card{background:linear-gradient(180deg,var(--surface),color-mix(in srgb,var(--surface) 90%,var(--bg)));border:1px solid var(--border-soft);border-radius:var(--radius);padding:20px;margin:14px 0;box-shadow:0 1px 0 rgba(255,255,255,.02)}
.card.hoverable{transition:.2s ease}.card.hoverable:hover{transform:translateY(-1px);border-color:var(--border);box-shadow:var(--shadow)}
.card-title{margin:0 0 5px;font-size:17px}.card-subtitle{margin:0;color:var(--muted);font-size:13px}.card-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:16px}.card-footer{border-top:1px solid var(--border-soft);margin:18px -20px -20px;padding:14px 20px}
.grid{display:grid;gap:14px}.grid-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(4,minmax(0,1fr))}
.stats-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:13px;margin-bottom:18px}.stat-card{position:relative;overflow:hidden;background:var(--surface);border:1px solid var(--border-soft);border-radius:17px;padding:18px;min-height:128px}.stat-card:after{content:"";position:absolute;width:90px;height:90px;border-radius:50%;background:var(--accent-soft);inset-inline-end:-26px;top:-30px}.stat-icon{width:38px;height:38px;border-radius:12px;display:grid;place-items:center;background:var(--surface-3);margin-bottom:13px;font-size:18px}.stat-label{color:var(--muted);font-size:12px}.stat-value{display:block;font-size:28px;font-weight:800;line-height:1.2;margin-top:3px}.stat-meta{display:block;color:var(--muted);font-size:11px;margin-top:7px}
.toolbar{display:flex;align-items:end;gap:10px;flex-wrap:wrap}.toolbar>*{margin:0}.toolbar .grow{flex:1 1 260px}.toolbar input,.toolbar select{margin:0}
.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.form-grid .span-2{grid-column:1/-1}
label{display:block;color:var(--muted);font-size:12px;font-weight:700;margin:0}.field-help{display:block;color:var(--muted-2);font-size:11px;font-weight:400;margin-top:5px}
input,textarea,select{width:100%;margin-top:7px;border:1px solid var(--border);background:var(--bg-soft);color:var(--text);border-radius:11px;padding:10px 12px;min-height:43px;transition:.16s ease}
textarea{min-height:100px;resize:vertical}input:focus,textarea:focus,select:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);outline:none}
input[type=checkbox],input[type=radio]{width:auto;min-height:auto;margin:0 7px;accent-color:var(--accent);box-shadow:none}.check-row{display:flex;align-items:flex-start;gap:7px;color:var(--text);font-weight:500;font-size:13px}.check-row input{margin-top:4px}
button,.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;min-height:42px;padding:9px 14px;border:0;border-radius:11px;background:linear-gradient(135deg,var(--accent),color-mix(in srgb,var(--accent) 75%,var(--accent-2)));color:#fff;font-weight:700;transition:.18s ease;width:auto}.btn:hover,button:hover{filter:brightness(1.07);transform:translateY(-1px);color:#fff}.btn-secondary,button.secondary{background:var(--surface-3);color:var(--text);border:1px solid var(--border)}.btn-ghost,button.ghost{background:transparent;color:var(--muted);border:1px solid var(--border)}.btn-success,button.success{background:var(--success);color:#06291c}.danger,button.danger,.btn-danger{background:var(--danger);color:#fff}.btn-warning,button.warning{background:var(--warning);color:#302108}.btn-sm{min-height:34px;padding:6px 10px;font-size:12px;border-radius:9px}.btn-block{width:100%}.actions{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.actions form{margin:0}.actions form button{margin:0}
.table-wrap{overflow:auto;border:1px solid var(--border-soft);border-radius:16px;background:var(--surface);box-shadow:0 1px 0 rgba(255,255,255,.02)}
table{width:100%;border-collapse:separate;border-spacing:0;min-width:720px}th{position:sticky;top:0;background:var(--surface-2);z-index:1;color:var(--muted);font-size:11px;text-transform:none;font-weight:800;white-space:nowrap}th,td{text-align:right;padding:13px 14px;border-bottom:1px solid var(--border-soft);vertical-align:middle}tr:last-child td{border-bottom:0}tbody tr:hover td{background:color-mix(in srgb,var(--surface-2) 65%,transparent)}td .muted{font-size:11px}
.badge{display:inline-flex;align-items:center;gap:5px;min-height:26px;padding:3px 8px;border-radius:999px;background:var(--surface-3);border:1px solid var(--border);font-size:11px;font-weight:800;color:var(--muted);white-space:nowrap}.badge:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.badge[data-status="completed"],.badge[data-status="settled"],.badge[data-status="active"],.badge[data-status="paid"],.badge[data-status="delivered"],.badge[data-status="success"]{background:var(--success-soft);border-color:rgba(49,196,141,.26);color:var(--success)}.badge[data-status="pending"],.badge[data-status="queued"],.badge[data-status="sending"],.badge[data-status="activation"],.badge[data-status="reserved"]{background:var(--warning-soft);border-color:rgba(247,185,85,.26);color:var(--warning)}.badge[data-status="review"],.badge[data-status="needs_review"],.badge[data-status="manual_admin"],.badge[data-status="unknown"]{background:var(--info-soft);border-color:rgba(82,199,234,.26);color:var(--info)}.badge[data-status="failed"],.badge[data-status="rejected"],.badge[data-status="refund_due"],.badge[data-status="disabled"],.badge[data-status="cancelled"]{background:var(--danger-soft);border-color:rgba(243,107,127,.26);color:var(--danger)}
.notice{display:flex;gap:12px;padding:14px 16px;border:1px solid var(--border);border-radius:14px;background:var(--surface-2);margin:12px 0}.notice-icon{font-size:19px}.notice p{margin:0}.notice.info{background:var(--info-soft);border-color:rgba(82,199,234,.22)}.notice.warning{background:var(--warning-soft);border-color:rgba(247,185,85,.22)}.notice.danger{background:var(--danger-soft);border-color:rgba(243,107,127,.22)}.notice.success{background:var(--success-soft);border-color:rgba(49,196,141,.22)}
.metric-row{display:flex;gap:10px;flex-wrap:wrap}.metric-chip{padding:8px 10px;border-radius:10px;background:var(--surface-2);border:1px solid var(--border-soft);font-size:12px}.metric-chip strong{color:var(--text);font-size:14px}.muted{color:var(--muted)}.subtle{color:var(--muted-2)}.ltr{direction:ltr;text-align:left}.mono{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.nowrap{white-space:nowrap}.break{overflow-wrap:anywhere}.text-danger{color:var(--danger)}.text-success{color:var(--success)}.text-warning{color:var(--warning)}
.section-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:26px 0 10px}.section-title h2{margin:0;font-size:18px}.section-title p{margin:0;color:var(--muted);font-size:12px}
.tabs{display:flex;gap:7px;flex-wrap:wrap;padding:5px;background:var(--surface);border:1px solid var(--border-soft);border-radius:14px;width:max-content;max-width:100%;margin:0 0 18px}.tab{padding:8px 12px;border-radius:10px;color:var(--muted);font-weight:700;font-size:12px}.tab:hover,.tab.active{background:var(--surface-3);color:var(--text)}
details{border-radius:14px}summary{cursor:pointer;font-weight:800;user-select:none}details[open] summary{margin-bottom:14px}pre{white-space:pre-wrap;overflow-wrap:anywhere;background:var(--bg-soft);border:1px solid var(--border-soft);padding:14px;border-radius:12px;color:var(--text);overflow:auto}.diagnostic-block{direction:ltr;text-align:left;margin:0;max-width:100%;font-size:12px}.diagnostic-block[data-status="success"]{border-color:rgba(49,196,141,.35)}.diagnostic-block[data-status="failed"]{border-color:rgba(243,107,127,.35)}
.pagination{display:flex;justify-content:center;align-items:center;gap:10px;margin:18px 0}.pagination a,.pagination span{padding:8px 12px;border:1px solid var(--border);border-radius:10px;background:var(--surface)}
.empty{padding:38px 20px;text-align:center;color:var(--muted);background:var(--surface);border:1px dashed var(--border);border-radius:16px}.empty-icon{display:block;font-size:30px;margin-bottom:8px}
.auth-shell{min-height:100vh;display:grid;place-items:center;padding:24px;background:radial-gradient(circle at 75% 15%,rgba(91,140,255,.16),transparent 35%),radial-gradient(circle at 15% 80%,rgba(124,92,255,.12),transparent 35%),var(--bg)}.auth-wrap{width:min(440px,100%)}.auth-brand{text-align:center;margin-bottom:20px}.auth-brand .brand-mark{margin:0 auto 11px;width:52px;height:52px}.auth-card{background:var(--surface);border:1px solid var(--border);border-radius:22px;padding:26px;box-shadow:var(--shadow)}
.notice.success{background:var(--success-soft);border-color:rgba(49,196,141,.3)}
.toast{position:fixed;inset-inline-end:20px;bottom:20px;z-index:100;background:var(--surface);border:1px solid var(--border);border-radius:12px;padding:12px 14px;box-shadow:var(--shadow);display:none;max-width:360px}.sidebar-backdrop{display:none}
@media(max-width:1180px){.stats-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-4{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:960px){
  .sidebar{transform:translateX(110%);transition:transform .22s ease}.sidebar.open{transform:translateX(0)}[dir="ltr"] .sidebar{transform:translateX(-110%)}[dir="ltr"] .sidebar.open{transform:translateX(0)}
  .workspace{margin-inline-start:0}.mobile-menu{display:grid}.sidebar-backdrop{position:fixed;inset:0;background:rgba(0,0,0,.45);z-index:35}.sidebar-backdrop.show{display:block}.topbar{padding:0 16px}.content{padding:22px 16px 44px}.page-title{font-size:24px}
}
@media(max-width:720px){.form-grid,.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.form-grid .span-2{grid-column:auto}.stats-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-head{flex-direction:column}.page-actions{width:100%}.page-actions .btn{flex:1}.topbar-title span{display:none}.card{padding:16px}.card-footer{margin:16px -16px -16px;padding:13px 16px}.hide-sm{display:none}}
@media(max-width:430px){.stats-grid{grid-template-columns:1fr 1fr}.stat-card{min-height:112px;padding:14px}.stat-value{font-size:23px}.content{padding-inline:12px}.topbar{height:62px}.workspace{--topbar:62px}}

.chart-wrap{margin-top:6px}.bar-chart{width:100%;height:120px;display:block}.bar-chart .bar{fill:var(--accent)}.bar-chart .bar-empty{fill:var(--border,#334)}
.chart-axis{display:flex;justify-content:space-between;font-size:11px;color:var(--muted,#889)}
.progress{height:10px;border-radius:6px;background:var(--border);overflow:hidden;margin:6px 0 12px}.progress-bar{height:100%;background:var(--accent)}
.preview-box{background:var(--surface-2,rgba(255,255,255,.04));border-radius:8px;padding:12px;min-height:60px}
.global-search{flex:1;max-width:420px;margin-inline:12px}.global-search input{width:100%;padding:7px 12px;border-radius:999px}
@media (max-width:640px){.global-search{display:none}.content table{min-width:560px}}
/* 5.11.0 broadcast editor and Telegram-like preview */
.bc-layout{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(320px,1fr);gap:16px;align-items:start}
@media (max-width:1100px){.bc-layout{grid-template-columns:1fr}}
.bc-editor .card-title{margin-top:18px}.bc-editor .card-title:first-of-type{margin-top:0}
.bc-load{display:flex;gap:10px;align-items:flex-end;margin-bottom:14px}.bc-load label{flex:1}
.bc-kinds{display:flex;flex-wrap:wrap;gap:8px}.bc-kind{display:flex;align-items:center;gap:4px;border:1px solid var(--border);border-radius:10px;padding:6px 10px;cursor:pointer;font-weight:600}
.bc-kind:has(input:checked){border-color:var(--accent);background:var(--accent-soft)}
.bc-media-list{display:flex;flex-wrap:wrap;gap:6px;margin:6px 0}.bc-chip{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--border);border-radius:999px;padding:3px 10px;font-size:12px;background:var(--surface-2)}
.bc-chip-new{border-style:dashed}.bc-chip .btn-sm{min-height:24px;padding:0 6px}
.bc-counter{font-weight:400;font-size:12px;color:var(--muted);margin-inline-start:6px}.bc-counter.over{color:var(--danger);font-weight:700}
.bc-vars{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:8px 0}
.bc-row{border:1px dashed var(--border);border-radius:12px;padding:10px;margin:8px 0}.bc-row-title{font-size:12px;color:var(--muted);margin-bottom:6px}
.bc-btn-edit{display:grid;grid-template-columns:140px 1fr 1fr;gap:6px;margin-bottom:8px;align-items:center}.bc-btn-edit>select:nth-child(4),.bc-btn-edit>input:nth-child(4){grid-column:1/-2}
@media (max-width:700px){.bc-btn-edit{grid-template-columns:1fr}.bc-btn-edit>*{grid-column:auto!important}}
.bc-submit{margin-top:18px;display:grid;gap:12px}.bc-save-template{display:flex;gap:10px;align-items:flex-end;flex-wrap:wrap}.bc-save-template label{flex:1;min-width:220px}
.bc-sticky{position:sticky;top:12px}
.bc-preview-pair{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media (max-width:1400px){.bc-preview-pair{grid-template-columns:1fr}}
.bc-phone{border-radius:16px;overflow:hidden;border:1px solid var(--border);background:#0e1621 linear-gradient(160deg,#17212b,#0e1621)}
.bc-phone-head{background:#17212b;color:#fff;font-size:12px;padding:8px 12px;font-weight:700}
.bc-chat{padding:14px 10px;min-height:120px;display:flex;flex-direction:column;gap:4px}
.bc-bubble{position:relative;align-self:flex-start;max-width:92%;background:#182533;color:#f5f5f5;border-radius:12px 12px 12px 4px;padding:6px 8px 18px;font-size:14px;line-height:1.45;overflow:hidden}
.bc-bubble[dir=rtl]{border-radius:12px 12px 4px 12px}
.bc-text{white-space:pre-wrap;word-wrap:break-word;padding:2px 2px 0}.bc-text a{color:#6ab3f3;text-decoration:underline}
.bc-text code,.bc-text pre{font-family:ui-monospace,monospace;background:rgba(255,255,255,.08);border-radius:4px;padding:0 3px}.bc-text pre{display:block;padding:6px;white-space:pre-wrap}
.bc-text blockquote{margin:4px 0;padding:2px 8px;border-inline-start:3px solid #6ab3f3;background:rgba(106,179,243,.08);border-radius:4px}
.bc-spoiler{background:#9aa4ae;color:transparent;border-radius:3px}.bc-spoiler:hover{color:inherit;background:transparent}
.bc-premium{outline:1px dotted #e3b341;border-radius:3px}
.bc-time{position:absolute;bottom:3px;inset-inline-end:8px;font-size:10px;color:#8a99a8}
.bc-media-item{margin:-6px -8px 4px;position:relative}.bc-media-item img,.bc-media-item video{display:block;width:100%;max-height:320px;object-fit:cover}
.bc-media-item audio{width:100%;margin:6px 0}.bc-gif-badge{position:absolute;top:6px;inset-inline-start:6px;background:rgba(0,0,0,.55);color:#fff;font-size:10px;padding:1px 5px;border-radius:4px}
.bc-file{display:flex;align-items:center;gap:8px;margin:0 0 4px;padding:4px 0}.bc-file-icon{width:40px;height:40px;border-radius:50%;background:#2b5278;display:grid;place-items:center}.bc-file-name{font-size:13px;word-break:break-all}
.bc-album{display:grid;gap:2px;margin:-6px -8px 4px;grid-template-columns:1fr 1fr}.bc-album.n3,.bc-album.n5,.bc-album.n7,.bc-album.n9{grid-template-columns:repeat(3,1fr)}
.bc-album .bc-media-item{margin:0}.bc-album .bc-media-item img,.bc-album .bc-media-item video{height:110px;max-height:none}.bc-album .bc-file{padding:4px 8px}
.bc-keyboard{display:flex;flex-direction:column;gap:3px;max-width:92%;align-self:flex-start;width:92%}
.bc-kb-row{display:flex;gap:3px}.bc-kb-btn{flex:1;position:relative;text-align:center;background:rgba(43,82,120,.55);color:#fff;border-radius:8px;padding:8px 6px;font-size:13px;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.bc-kb-arrow{position:absolute;top:2px;inset-inline-end:4px;font-size:9px;opacity:.8}
.bc-link-preview{border-inline-start:3px solid #6ab3f3;padding:2px 8px;margin-top:4px;font-size:12px;color:#8fc2f0}
.bc-empty{color:#8a99a8;font-size:13px;padding:12px;text-align:center}
