:root{
  --ink:#16181d; --ink2:#5b616e; --line:#e4e6eb; --bg:#f4f5f7; --card:#fff;
  --accent:#1f5eff; --accent-ink:#fff; --soft:#eef3ff; --ok:#0f7b4a; --okbg:#e6f6ee; --err:#b42318; --errbg:#fdecea;
  --r:12px; font-family: system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;
}
*{box-sizing:border-box} [hidden]{display:none!important}
body{margin:0;background:var(--bg);color:var(--ink);font-size:15px;line-height:1.45}
a{color:var(--accent);text-decoration:none}
code{font:13px ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;background:#f1f2f4;padding:1px 5px;border-radius:5px;word-break:break-all}
h1{font-size:24px;margin:0 0 16px} h2{font-size:17px;margin:0 0 14px} h3{font-size:13px;text-transform:uppercase;letter-spacing:.04em;color:var(--ink2);margin:18px 0 8px}
.muted{color:var(--ink2)} .small{font-size:13px} small{color:var(--ink2);font-weight:400}

.top{display:flex;align-items:center;gap:16px;padding:0 20px;height:56px;background:#fff;border-bottom:1px solid var(--line);position:sticky;top:0;z-index:5}
.brand{display:flex;align-items:center;gap:10px;font-weight:700;color:var(--ink);white-space:nowrap}
.logo{width:22px;height:22px;border-radius:5px;background:
  linear-gradient(var(--ink),var(--ink)) 0 0/9px 9px no-repeat,
  linear-gradient(var(--ink),var(--ink)) 100% 0/9px 9px no-repeat,
  linear-gradient(var(--ink),var(--ink)) 0 100%/9px 9px no-repeat,
  linear-gradient(var(--accent),var(--accent)) 100% 100%/6px 6px no-repeat}
.top nav{display:flex;gap:2px;margin-left:auto;overflow-x:auto}
.top nav a{color:var(--ink2);padding:8px 12px;border-radius:8px;white-space:nowrap;font-weight:500}
.top nav a.on{background:var(--soft);color:var(--accent)}
.wrap{max-width:1080px;margin:0 auto;padding:20px 16px 60px}

.card{background:var(--card);border:1px solid var(--line);border-radius:var(--r);padding:20px;margin-bottom:16px}
.card.flush{padding:0;overflow:hidden} .pad{padding:20px 20px 0}
.card.narrow,.narrow-in{max-width:420px} .auth{display:grid;place-items:center;min-height:100vh;padding:16px}
.auth .card{width:100%}
.empty{text-align:center;padding:40px}

.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line);background:#fff;color:var(--ink);
  padding:9px 16px;border-radius:9px;font:inherit;font-weight:600;cursor:pointer;white-space:nowrap}
.btn:hover{border-color:#c9ccd3} .btn.primary{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}
.btn.primary:hover{filter:brightness(1.07)} .btn.sm{padding:6px 11px;font-size:13px} .btn:disabled{opacity:.6;cursor:wait}
.link{background:none;border:0;color:var(--accent);font:inherit;cursor:pointer;padding:6px 0} .danger{color:var(--err)}
.inline{display:inline} .acts{text-align:right;white-space:nowrap} .acts .link{margin-left:12px}

.stack{display:grid;gap:14px} .stack.cols{grid-template-columns:repeat(auto-fit,minmax(200px,1fr));align-items:end}
label{display:grid;gap:6px;font-weight:600;font-size:14px}
label.row{display:flex;align-items:center;gap:8px;font-weight:500}
input,select,textarea{font:inherit;font-weight:400;padding:9px 11px;border:1px solid #d3d6dc;border-radius:9px;background:#fff;color:var(--ink);width:100%}
input[type=checkbox]{width:auto} input[type=color]{padding:3px;height:40px}
input:focus,select:focus,textarea:focus{outline:2px solid var(--soft);border-color:var(--accent)}
.prefix{display:flex;border:1px solid #d3d6dc;border-radius:9px;overflow:hidden}
.prefix span{background:#f1f2f4;padding:9px 8px;color:var(--ink2);font-weight:400;font-size:13px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:55%}
.prefix input{border:0;border-radius:0}
.row.gap{display:flex;gap:10px;flex-wrap:wrap}

.alert{padding:10px 14px;border-radius:9px;margin:0 0 14px} .alert.ok{background:var(--okbg);color:var(--ok)} .alert.err{background:var(--errbg);color:var(--err)}
.pill{display:inline-block;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;background:#f1f2f4;color:var(--ink2);padding:2px 7px;border-radius:99px}

.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(105px,1fr));gap:12px;margin-bottom:16px}
.kpis>div{background:#fff;border:1px solid var(--line);border-radius:var(--r);padding:14px 16px}
.kpis.in>div{background:#f8f9fa;border:0}
.kpis b{display:block;font-size:24px;font-variant-numeric:tabular-nums} .kpis span{color:var(--ink2);font-size:13px}

.bar{display:flex;gap:10px;margin-bottom:12px} .search{flex:1}
.selbar{display:flex;align-items:center;gap:10px;padding:10px 16px;border-bottom:1px solid var(--line);background:#fafbfc;flex-wrap:wrap}
.selbar label{display:flex;flex-direction:row;align-items:center;gap:8px;font-weight:500} .grow{flex:1}

table{width:100%;border-collapse:collapse}
.list td{padding:12px 16px;border-top:1px solid var(--line);vertical-align:middle}
.list tr:first-child td{border-top:0} .list tr.off .main,.list tr.off .thumb{opacity:.5}
.list .ck{width:36px;padding-right:0} .list .thumb{width:68px}
.thumb span{display:block;width:52px;height:52px} .thumb svg{width:100%;height:100%;display:block;border-radius:4px}
.list .main{min-width:0} .name{font-weight:600;color:var(--ink)}
.dest{color:var(--ink2);font-size:13px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:560px}
.meta{font-size:12px;color:var(--ink2);margin-top:3px}
.num{text-align:right;width:80px} .num b{display:block;font-size:18px;font-variant-numeric:tabular-nums} .num span{font-size:12px;color:var(--ink2)}

.back{display:inline-block;margin-bottom:12px;font-weight:500}
.grid2{display:grid;grid-template-columns:1fr 1fr;gap:16px} .grid2>.card{margin:0} .grid2+.card{margin-top:16px}
.preview{display:grid;place-items:center;background:#f8f9fa;border-radius:10px;padding:18px;margin-bottom:14px}
.preview svg{width:200px;height:200px;display:block}
.preview.checker svg{background:conic-gradient(#e7e8eb 25%,#fff 0 50%,#e7e8eb 0 75%,#fff 0) 0 0/14px 14px}
.opts{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:10px;margin-bottom:8px}
.opts label{font-size:13px}

.chart{display:flex;align-items:flex-end;gap:3px;height:140px;padding-top:10px;border-bottom:1px solid var(--line)}
.chart .b{flex:1;height:100%;display:flex;align-items:flex-end}
.chart .b i{display:block;width:100%;height:var(--h);min-height:2px;background:var(--accent);border-radius:3px 3px 0 0;opacity:.85}
.chart .b:hover i{opacity:1}
.chart-x{display:flex;justify-content:space-between;font-size:12px;color:var(--ink2);margin-top:4px}
.split{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.hbar{display:grid;grid-template-columns:76px 1fr 38px;align-items:center;gap:8px;font-size:13px;margin:5px 0}
.hbar em{height:8px;border-radius:4px;background:linear-gradient(var(--accent),var(--accent)) 0/var(--w) 100% no-repeat #eceef2}
.hbar b{text-align:right;font-variant-numeric:tabular-nums}
.mini td{padding:6px 8px;border-top:1px solid var(--line);font-size:13px} .mini td:first-child{padding-left:0;font-variant-numeric:tabular-nums}

@media (max-width:760px){
  .grid2,.split{grid-template-columns:1fr}
  .top{padding:0 12px;gap:8px} .brand{font-size:0;gap:0} .top nav a{padding:8px 9px}
  .list td{padding:10px} .list .thumb{width:56px} .thumb span{width:44px;height:44px}
  .dest{max-width:58vw} .bar{flex-direction:column}
}
