/* == Шлюз головного офиса — дополнения к общему style.css ================ */
.linkbtn{background:none;border:none;padding:0;font:inherit;cursor:pointer}
.logoutform{margin:0}
.who .linkbtn.logout{color:#8fa0b0;font-size:.85rem}
.who .linkbtn.logout:hover{color:#fff}
.center{text-align:center}
.auth.wide{max-width:560px}
.auth .btn.wide{width:100%}
.crumbs{margin:0 0 .3rem;font-size:.9rem}
.dashhead{margin-bottom:.3rem}
.dashhead h1{margin-bottom:.5rem}
.gwtabs{margin:0 0 .8rem}
.gwtabs .chip{font-size:.88rem;padding:.25em .8em}
.sitefilter{margin:-.3rem 0 1rem;align-items:center}
.sitefilter .chip{font-size:.8rem}

/* карточка участка в сводке */
.sitehead{display:flex;justify-content:space-between;align-items:center;gap:.4rem .8rem;
  flex-wrap:wrap;margin-bottom:.8rem}
.sitehead h2{margin:0;font-size:1.15rem}
.sitemeta{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}
.kpis{display:grid;grid-template-columns:repeat(auto-fit,minmax(9.2rem,1fr));gap:.6rem}
.kpi{background:var(--bg);border-radius:10px;padding:.55rem .75rem;display:flex;flex-direction:column;
  min-width:0}
.kpi span{font-size:.76rem;color:var(--muted);font-weight:600}
.kpi b{font-size:1.55rem;font-weight:800;line-height:1.15;font-variant-numeric:tabular-nums}
.kpi small{font-size:.76rem;color:var(--muted)}
.kpi.warn{background:var(--bad-bg)}
.kpi.warn b{color:var(--bad)}
.totals{border-left:4px solid var(--accent)}
.gwsets{margin-top:.9rem;border-top:1px solid var(--line);padding-top:.7rem}
.setnums{text-align:right;display:flex;gap:1.4rem}
.defgrid{margin-top:1rem}
.defgrid .tbl{font-size:.88rem}

/* код подключения участка */
.codecard{border-left:4px solid var(--accent)}
.codeline{display:flex;align-items:center;gap:.8rem;flex-wrap:wrap}
.codecard .code{font-size:1.7rem;letter-spacing:.12em;user-select:all}
.steps{margin:.4rem 0 .8rem;padding-left:1.3rem}
.steps li{margin-bottom:.35rem}

/* подключение кода входа */
.qrrow{display:flex;gap:1.2rem;align-items:center;flex-wrap:wrap;margin:.6rem 0 1rem}
.qr{background:#fff;border-radius:10px;padding:.4rem;line-height:0;border:1px solid var(--line)}
.qr svg{display:block;max-width:100%;height:auto}
.secret{font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:1.05rem;
  letter-spacing:.06em;word-spacing:.2em;margin:.2rem 0;user-select:all;overflow-wrap:anywhere}
input.otp{font-size:1.4rem;letter-spacing:.3em;text-align:center;font-variant-numeric:tabular-nums}

/* таблицы */
.tbl.kv th{width:13rem;text-transform:none;letter-spacing:0;font-size:.86rem;font-weight:600;
  border-bottom:1px solid var(--line);vertical-align:top;white-space:normal}
.tbl tr.alert td{background:var(--bad-bg)}
.tbl.kv tr:last-child th{border-bottom:none}
.rowbtns{display:flex;gap:.35rem;justify-content:flex-end;flex-wrap:wrap}
.rolesel{width:auto;min-width:11rem;padding:.3rem .4rem;font-size:.88rem}
.errcard h2{font-size:1.25rem}
@media(max-width:640px){
  .tbl.kv th{width:auto}
  .kpis{grid-template-columns:repeat(2,minmax(0,1fr))}
  .kpi b{font-size:1.3rem}
  .setnums{gap:.8rem}
  .setnums .n{font-size:1.15rem}
  .gwsets .row{align-items:flex-start}
  .rowbtns{justify-content:flex-start}
}
html[data-theme="dark"] .qr{border-color:#324050}
