:root{--g:#1F5F3F;--g2:#174A31;--gl:#DCEBE2;--gx:#EEF5F0;--bg:#F4F6F5;--card:#fff;--ink:#15221B;--mut:#5F6E66;--line:#E3E8E5;--am:#9A6408;--aml:#FCEFD6;--bl:#2B5C8A;--bll:#E3ECF6;--rd:#B42318;--rdl:#FDE2E1;--ok:#1F7A4A;--okl:#DCF1E4;--r:16px;--sh:0 1px 3px rgba(16,40,28,.08),0 1px 2px rgba(16,40,28,.04);--side:250px}
@media (prefers-color-scheme:dark){:root{--g:#5DBB8A;--g2:#4FA97A;--gl:#1E3A2B;--gx:#16271E;--bg:#0F1512;--card:#17201B;--ink:#E6EEE9;--mut:#9AAAA1;--line:#26332C;--am:#E3B25A;--aml:#3A2E15;--bl:#86B3E0;--bll:#1B2A3A;--rd:#F28B82;--rdl:#3B1D1B;--ok:#6CCB97;--okl:#163223;--sh:0 1px 2px rgba(0,0,0,.4)}}
*{box-sizing:border-box;-webkit-tap-highlight-color:transparent}
html,body{margin:0;padding:0;background:var(--bg);color:var(--ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue",Arial,sans-serif;font-size:16px;line-height:1.45}
button,input,select,textarea{font:inherit;color:inherit}
a{color:var(--g)}
h1,h2,h3{line-height:1.25}
.hdr{position:sticky;top:0;z-index:30;background:color-mix(in srgb,var(--bg) 92%,transparent);backdrop-filter:saturate(1.4) blur(10px);-webkit-backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid var(--line)}
.hdr-in{padding:10px 14px;display:flex;align-items:center;gap:10px}
.brand img{width:34px;height:34px;object-fit:contain;display:block}
.tt{flex:1;min-width:0}
.t1{font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--g)}
.t2{font-size:15px;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ib{border:0;background:var(--card);border-radius:12px;height:38px;min-width:38px;padding:0 12px;font-weight:700;font-size:15px;box-shadow:var(--sh);cursor:pointer;color:var(--ink);display:inline-flex;align-items:center;justify-content:center;text-decoration:none}
.shell{display:flex;min-height:calc(100vh - 59px)}
.side{width:var(--side);flex:none;background:var(--card);border-right:1px solid var(--line);padding:14px 10px 24px;display:flex;flex-direction:column;gap:2px;position:sticky;top:59px;height:calc(100vh - 59px);overflow:auto}
.side a,.side .linkbtn{display:block;padding:10px 12px;border-radius:10px;text-decoration:none;color:var(--ink);font-weight:600;font-size:15px;background:none;border:0;text-align:left;width:100%;cursor:pointer}
.side a:hover,.side .linkbtn:hover{background:var(--gx)}
.side a.on{background:var(--gl);color:var(--g2)}
.side-head{display:none}
.side-sec{font-size:11px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--mut);margin:16px 12px 4px}
.side-foot{margin-top:auto;padding:14px 12px 0;font-size:13px;color:var(--mut);border-top:1px solid var(--line)}
.scrim{display:none}
.menu-btn{display:none}
.main{flex:1;min-width:0;padding:18px 22px 80px;max-width:1100px}
.main.solo{max-width:460px;margin:0 auto;padding:24px 16px 60px}
@media (max-width:860px){
  .menu-btn{display:inline-flex}
  .side{position:fixed;left:0;top:0;bottom:0;height:100vh;z-index:50;transform:translateX(-102%);transition:transform .2s ease;box-shadow:none;width:min(290px,84vw)}
  .side-head{display:flex;gap:10px;align-items:center;padding:4px 8px 12px;border-bottom:1px solid var(--line);margin-bottom:8px}
  .side-head img{width:36px;height:36px;object-fit:contain}
  .side-head small{display:block;color:var(--mut);font-size:12px}
  body.nav-open .side{transform:none;box-shadow:0 0 30px rgba(0,0,0,.18)}
  body.nav-open .scrim{display:block;position:fixed;inset:0;background:rgba(0,0,0,.35);z-index:40}
  .main{padding:14px 16px 80px}
}
h1.big{font-size:24px;margin:6px 2px 4px}
.lead{color:var(--mut);margin:0 2px 14px;font-size:14.5px}
.eyb{font-size:11.5px;font-weight:700;letter-spacing:.07em;text-transform:uppercase;color:var(--g)}
.card{background:var(--card);border-radius:var(--r);box-shadow:var(--sh);padding:16px;margin:12px 0}
.card h3{margin:0 0 10px;font-size:16.5px}
.card.warn{background:var(--aml)}
.card.okc{background:var(--okl)}
.card.acc{border:2px solid var(--g)}
.lbl{display:block;font-size:12px;font-weight:700;letter-spacing:.04em;text-transform:uppercase;color:var(--mut);margin:0 0 6px}
.sm{font-size:13px;color:var(--mut)}
.muted{color:var(--mut)}
.row{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.sp{flex:1}
.btn{display:inline-block;border:0;border-radius:12px;background:var(--g);color:#fff;font-weight:700;font-size:15px;padding:12px 18px;cursor:pointer;text-align:center;text-decoration:none;line-height:1.2}
@media (prefers-color-scheme:dark){.btn{color:#0F1512}}
.btn:disabled{opacity:.45;cursor:not-allowed}
.btn.sec{background:transparent;color:var(--g);box-shadow:inset 0 0 0 1.5px var(--g)}
.btn.red{background:transparent;color:var(--rd);box-shadow:inset 0 0 0 1.5px var(--rd)}
.btn.sm2{padding:8px 12px;font-size:14px;border-radius:10px}
.btn.full{display:block;width:100%;padding:15px}
.btns{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px}
.linkbtn{background:none;border:0;color:var(--g);font-weight:600;cursor:pointer;padding:0}
.linkbtn.red{color:var(--rd)}
.fld{margin:0 0 14px}
.inp,select.inp,textarea.inp{display:block;width:100%;border:1.5px solid var(--line);background:var(--card);border-radius:12px;padding:11px 13px;font-size:16px;outline:none}
.inp:focus{border-color:var(--g)}
textarea.inp{min-height:110px;resize:vertical}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:0 14px}
.chk{display:flex;gap:10px;align-items:flex-start;padding:8px 0;cursor:pointer}
.chk input{width:20px;height:20px;margin:1px 0 0;accent-color:var(--g);flex:none}
.hint{font-size:13px;color:var(--mut);margin-top:5px}
.flash{border-radius:12px;padding:12px 14px;margin:0 0 12px;font-size:15px;background:var(--okl);color:var(--ink)}
.flash.warn{background:var(--aml)}
.flash.err{background:var(--rdl)}
.flash.info{background:var(--bll)}
.badge{display:inline-block;font-size:12px;font-weight:700;padding:3px 9px;border-radius:999px;background:var(--gx);color:var(--mut);white-space:nowrap}
.badge.ok{background:var(--okl);color:var(--ok)}
.badge.am{background:var(--aml);color:var(--am)}
.badge.bl{background:var(--bll);color:var(--bl)}
.badge.rd{background:var(--rdl);color:var(--rd)}
.stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:12px;margin:12px 0}
.stat{background:var(--card);border-radius:var(--r);box-shadow:var(--sh);padding:14px 16px;text-decoration:none;color:var(--ink)}
.stat b{display:block;font-size:28px;font-variant-numeric:tabular-nums;color:var(--g)}
.stat span{font-size:13px;color:var(--mut)}
.tbl-wrap{overflow-x:auto;background:var(--card);border-radius:var(--r);box-shadow:var(--sh);margin:12px 0}
table.tbl{width:100%;border-collapse:collapse;font-size:14.5px}
.tbl th{text-align:left;font-size:12px;letter-spacing:.04em;text-transform:uppercase;color:var(--mut);padding:11px 12px;border-bottom:1px solid var(--line);white-space:nowrap}
.tbl td{padding:11px 12px;border-bottom:1px solid var(--line);vertical-align:top}
.tbl tr:last-child td{border-bottom:0}
.tbl td.num{font-variant-numeric:tabular-nums;white-space:nowrap}
.tbl a.nm{font-weight:700;text-decoration:none}
@media (max-width:700px){
  .tbl.stack thead{display:none}
  .tbl.stack tr{display:block;padding:10px 12px;border-bottom:1px solid var(--line)}
  .tbl.stack tr:last-child{border-bottom:0}
  .tbl.stack td{display:flex;gap:10px;padding:3px 0;border:0}
  .tbl.stack td::before{content:attr(data-l);flex:0 0 110px;font-size:12px;color:var(--mut);padding-top:2px}
  .tbl.stack td[data-l=""]::before{display:none}
}
.filters{display:flex;gap:8px;flex-wrap:wrap;align-items:flex-end}
.filters .inp{width:auto;min-width:140px;padding:9px 11px;font-size:15px}
.filters .grow{flex:1;min-width:180px}
dl.kv{display:grid;grid-template-columns:minmax(120px,190px) 1fr;gap:8px 14px;margin:0;font-size:15px}
dl.kv dt{color:var(--mut)}
dl.kv dd{margin:0;word-break:break-word}
@media (max-width:520px){dl.kv{grid-template-columns:1fr}dl.kv dt{margin-top:6px;font-size:13px}}
.pin{font-size:22px;font-weight:800;letter-spacing:.15em;font-variant-numeric:tabular-nums;color:var(--g)}
.pre{white-space:pre-wrap;font-size:13px;background:var(--gx);padding:10px;border-radius:10px;overflow:auto}
.pager{display:flex;gap:8px;justify-content:center;margin:14px 0}
.login-logo{display:block;width:84px;height:84px;object-fit:contain;margin:18px auto 6px}
.center{text-align:center}
.steps{counter-reset:s;padding:0;margin:0;list-style:none}
.steps li{counter-increment:s;padding:6px 0 6px 34px;position:relative}
.steps li::before{content:counter(s);position:absolute;left:0;top:5px;width:24px;height:24px;border-radius:50%;background:var(--gl);color:var(--g2);font-weight:700;font-size:13px;display:flex;align-items:center;justify-content:center}
.diff{font-size:13px}
.diff del{color:var(--rd)}
.diff ins{color:var(--ok);text-decoration:none}
