/* Общий дизайн панелей: админка владельца и личный кабинет клиента. */
.adm{padding:26px 0 60px}
.adm-head{display:flex;align-items:center;gap:24px;flex-wrap:wrap;margin-bottom:20px}
.adm-head h1{margin:0;font-size:26px}
.adm-tabs{display:flex;gap:6px;flex-wrap:wrap}
.tab{padding:8px 15px;border-radius:8px;border:1px solid var(--line);
     background:var(--bg2);color:var(--muted);cursor:pointer;font-size:13.5px;font-family:inherit}
.tab:hover{color:var(--txt)}
.tab.on{background:var(--acc);border-color:var(--acc);color:#fff;font-weight:600}
.adm-pane[hidden]{display:none}

.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:12px;margin-bottom:20px}
.stat{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:15px}
.stat .v{font-size:24px;font-weight:700;letter-spacing:-.02em}
.stat .k{font-size:12px;color:var(--muted);margin-top:3px}
.stat.warn .v{color:var(--warn)}
.stat.err .v{color:var(--err)}
.stat.ok .v{color:var(--ok)}

.adm-cols{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:16px}
@media(max-width:760px){.adm-cols{grid-template-columns:1fr}}
.adm-box{background:var(--card);border:1px solid var(--line);border-radius:var(--r);
         padding:16px;margin-bottom:14px}
.adm-box h3{font-size:14px;margin:0 0 12px;color:var(--muted);font-weight:600;
            text-transform:uppercase;letter-spacing:.04em}

.bars{display:flex;flex-direction:column;gap:8px}
.bar-row{display:flex;align-items:center;gap:10px;font-size:13px}
.bar-row .nm{width:90px;flex-shrink:0;color:var(--muted)}
.bar-row .bg{flex:1;height:20px;background:var(--bg);border-radius:5px;overflow:hidden}
.bar-row .fl{height:100%;background:var(--acc);border-radius:5px}
.bar-row .nu{width:44px;text-align:right;font-variant-numeric:tabular-nums}

.kv{display:grid;grid-template-columns:auto 1fr;gap:6px 14px;font-size:13.5px}
.kv dt{color:var(--muted)}
.kv dd{margin:0;text-align:right;font-variant-numeric:tabular-nums}

.adm-bar{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:14px}
.adm-bar input,.adm-bar select{padding:9px 12px;border-radius:8px;border:1px solid var(--line);
  background:var(--bg2);color:var(--txt);font-size:14px;font-family:inherit;outline:none}
.adm-bar input{flex:1;min-width:180px;max-width:320px}
.adm-bar input:focus,.adm-bar select:focus{border-color:var(--acc)}

.tbl-wrap{overflow-x:auto;border:1px solid var(--line);border-radius:var(--r)}
table{width:100%;border-collapse:collapse;font-size:13.5px}
th{text-align:left;padding:10px 12px;background:var(--bg2);color:var(--muted);
   font-weight:600;font-size:12px;text-transform:uppercase;letter-spacing:.03em;
   white-space:nowrap;position:sticky;top:0}
td{padding:9px 12px;border-top:1px solid var(--line);vertical-align:middle}
tr:hover td{background:rgba(59,130,246,.04)}
td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}
td.mono{font-family:ui-monospace,monospace;font-size:12px;color:var(--muted)}
.ell{max-width:280px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}

.pill{padding:2px 8px;border-radius:5px;font-size:11.5px;font-weight:600;white-space:nowrap}
.p-free{background:rgba(139,148,158,.18);color:var(--muted)}
.p-basic{background:rgba(59,130,246,.18);color:var(--acc)}
.p-pro{background:rgba(139,92,246,.2);color:#c4b5fd}
.p-owner{background:rgba(245,158,11,.18);color:var(--warn)}
.p-ok{background:rgba(34,197,94,.15);color:var(--ok)}
.p-err{background:rgba(239,68,68,.15);color:var(--err)}
.p-wait{background:rgba(245,158,11,.15);color:var(--warn)}
.p-off{background:rgba(139,148,158,.12);color:var(--muted)}

.pager{display:flex;gap:8px;align-items:center;justify-content:center;margin-top:14px;font-size:13.5px}
.pager button{padding:6px 13px;border-radius:7px;border:1px solid var(--line);
  background:var(--bg2);color:var(--txt);cursor:pointer;font-family:inherit;font-size:13px}
.pager button:disabled{opacity:.4;cursor:default}

.btn.danger{background:rgba(239,68,68,.14);border-color:rgba(239,68,68,.4);color:#fca5a5}
.btn.danger:hover{background:rgba(239,68,68,.22)}
.btn.sm{padding:5px 11px;font-size:12.5px}

.ask-box{max-width:400px}
.ask-box h2{font-size:18px;margin-bottom:8px}
.ask-box p{margin:0 0 18px}
/* ── статистика ── */
.st-kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));
  gap:10px;margin-bottom:14px}
.st-kpi{background:var(--card);border:1px solid var(--line);border-radius:11px;padding:12px 14px}
.st-kpi small{display:block;font-size:10px;color:var(--muted);text-transform:uppercase;
  letter-spacing:.04em;margin-bottom:3px}
.st-kpi b{display:block;font-size:21px;font-weight:700;font-variant-numeric:tabular-nums}
.st-kpi span{font-size:10.5px;color:var(--muted)}
.st-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px}
@media(max-width:860px){.st-grid{grid-template-columns:1fr}}
.st-card{background:var(--card);border:1px solid var(--line);border-radius:11px;padding:14px}
.st-card.span2{grid-column:span 2}
@media(max-width:860px){.st-card.span2{grid-column:span 1}}
.st-card h4{margin:0 0 4px;font-size:13px}
.st-card .note{font-size:10.5px;color:var(--muted);margin:0 0 10px}
.st-daily{display:flex;align-items:flex-end;gap:3px;height:110px}
.st-daily i{flex:1;min-width:3px;background:var(--acc);border-radius:2px 2px 0 0;
  opacity:.75;transition:opacity .15s}
.st-daily i:hover{opacity:1}
.st-hours{display:flex;align-items:flex-end;gap:2px;height:80px}
.st-hours i{flex:1;background:var(--acc);border-radius:2px 2px 0 0;opacity:.7}
.st-hours i:hover{opacity:1}
.st-rank{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:7px}
.st-rank li{display:grid;grid-template-columns:minmax(0,1fr) 46px;gap:8px;
  font-size:12px;align-items:center}
.st-rank .nm{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.st-rank .bw{grid-column:1/3;height:4px;background:var(--bg2);border-radius:2px;overflow:hidden}
.st-rank .bw i{display:block;height:100%;background:var(--acc);opacity:.6}
.st-heat{display:flex;flex-direction:column;gap:2px;font-size:9px;overflow-x:auto}
.st-heat .r{display:flex;gap:2px;align-items:center}
.st-heat .r>span:first-child{width:26px;color:var(--muted);flex-shrink:0}
.st-heat i{width:11px;height:11px;border-radius:2px;background:var(--bg2);display:block}
.st-tbl{max-height:320px;overflow:auto;font-size:11.5px}
.st-tbl table{width:100%;border-collapse:collapse}
.st-tbl th{position:sticky;top:0;background:var(--card);text-align:left;
  font-size:10px;color:var(--muted);padding:5px 7px;border-bottom:1px solid var(--line);
  text-transform:uppercase;letter-spacing:.03em;font-weight:600}
.st-tbl td{padding:4px 7px;border-bottom:1px solid rgba(42,50,61,.5);
  white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:200px}
.st-tbl td.ref{max-width:180px;color:var(--muted)}
/* ── обслуживание ── */
.mt-card{background:var(--card);border:1px solid var(--line);border-radius:11px;
  padding:16px;margin-bottom:12px}
.mt-card h3{font-size:13px;margin:0 0 12px;color:var(--muted);text-transform:uppercase;
  letter-spacing:.04em;font-weight:600}
.mt-row{display:grid;grid-template-columns:auto minmax(0,1fr);gap:5px 16px;
  font-size:12.5px;align-items:baseline}
.mt-row dt{color:var(--muted);white-space:nowrap}
.mt-row dd{margin:0;font-variant-numeric:tabular-nums;overflow:hidden;
  text-overflow:ellipsis}
.mt-row dd.ok{color:var(--ok);font-weight:600}
.mt-row dd.bad{color:var(--err);font-weight:600}
.mt-row dd.warn{color:var(--warn);font-weight:600}
/* ── переключатель автообновления ── */
.mt-switch{display:flex;align-items:center;gap:14px;padding:13px 16px;
  border-radius:11px;margin:12px 0;border:1px solid var(--line);
  transition:background .15s,border-color .15s}
.mt-switch.on{background:rgba(34,197,94,.09);border-color:rgba(34,197,94,.42)}
.mt-switch.off{background:rgba(139,148,158,.07);border-color:var(--line)}
.mt-switch .lamp{width:12px;height:12px;border-radius:50%;flex-shrink:0;
  position:relative}
.mt-switch.on .lamp{background:var(--ok);box-shadow:0 0 0 4px rgba(34,197,94,.16);
  animation:lampPulse 2.4s ease-in-out infinite}
.mt-switch.off .lamp{background:#4b5563;box-shadow:0 0 0 4px rgba(139,148,158,.12)}
@keyframes lampPulse{
  0%,100%{box-shadow:0 0 0 4px rgba(34,197,94,.16)}
  50%{box-shadow:0 0 0 7px rgba(34,197,94,.05)}
}
.mt-switch .txt{flex:1;min-width:0}
.mt-switch .state{font-size:14px;font-weight:700;letter-spacing:.01em;display:block}
.mt-switch.on .state{color:var(--ok)}
.mt-switch.off .state{color:#9ca3af}
.mt-switch .hint{font-size:11.5px;color:var(--muted);margin-top:2px;display:block}
/* сам тумблер */
.mt-toggle{position:relative;width:46px;height:26px;border-radius:13px;
  border:1px solid var(--line);background:var(--bg2);cursor:pointer;
  flex-shrink:0;transition:background .18s,border-color .18s;padding:0}
.mt-toggle::after{content:'';position:absolute;top:2px;left:2px;width:20px;height:20px;
  border-radius:50%;background:#8b949e;transition:transform .18s,background .18s}
.mt-toggle.on{background:rgba(34,197,94,.28);border-color:rgba(34,197,94,.55)}
.mt-toggle.on::after{transform:translateX(20px);background:var(--ok)}
.mt-toggle:disabled{opacity:.55;cursor:not-allowed}
.mt-toggle:hover:not(:disabled){border-color:var(--muted)}

.mt-alert{padding:11px 14px;border-radius:9px;margin-bottom:12px;font-size:13px;
  display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.mt-alert.warn{background:rgba(245,158,11,.12);border:1px solid rgba(245,158,11,.4);
  color:#fcd34d}
.mt-alert.ok{background:rgba(34,197,94,.1);border:1px solid rgba(34,197,94,.35);
  color:#86efac}
.mt-alert button{margin-left:auto}
.mt-list{list-style:none;margin:0;padding:0;font-size:12px}
.mt-list li{display:flex;justify-content:space-between;gap:10px;padding:5px 0;
  border-bottom:1px solid rgba(42,50,61,.5)}
.mt-list li:last-child{border-bottom:none}
.mt-list .sz{color:var(--muted);font-variant-numeric:tabular-nums;white-space:nowrap}
.modal-box.wide{max-width:520px}
.row2{display:grid;grid-template-columns:1fr 1fr;gap:12px}
@media(max-width:480px){.row2{grid-template-columns:1fr}}
.modal-box select{width:100%;margin-top:6px;padding:11px 13px;border-radius:9px;
  border:1px solid var(--line);background:var(--bg);color:var(--txt);
  font-size:15px;font-family:inherit;outline:none}
.set-row{display:flex;justify-content:space-between;padding:9px 0;
  border-bottom:1px solid var(--line);font-size:13.5px}
.set-row:last-child{border-bottom:none}
.set-row .k{color:var(--muted)}
.set-row .v{font-variant-numeric:tabular-nums}
.yt-form{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin:12px 0 4px}
.yt-form input[type=text]{flex:1 1 260px;min-width:200px}
.yt-form input[type=file]{flex:1 1 240px;font-size:13px}
.yt-form select{padding:8px 10px;border-radius:8px;border:1px solid var(--line);
  background:var(--card);color:var(--txt)}
.yt-check{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--muted)}
.yt-badge{display:inline-block;padding:3px 9px;border-radius:12px;font-size:12px;font-weight:600}
.yt-ok{background:rgba(40,190,120,.16);color:#2fbd7e}
.yt-bad{background:rgba(230,70,70,.16);color:#e64646}
.yt-none{background:rgba(140,140,140,.16);color:var(--muted)}
.btn.danger{border-color:rgba(230,70,70,.5);color:#e64646}

