/* Служебные страницы портала: вход, админка, ошибки.
   Сама база знаний оформлена темой MkDocs Material и этот файл не использует. */
:root{
  --ground:#faf9f7; --surface:#fff; --ink:#17181b; --muted:#6e7076;
  --rule:#e4e2dd; --accent:#34456e; --ok:#2f6b4a; --off:#8a4b46;
}
@media (prefers-color-scheme:dark){
  :root:not([data-theme="light"]){
    --ground:#131417; --surface:#191b1f; --ink:#e8e7e4; --muted:#9a9ca3;
    --rule:#2a2c31; --accent:#8ca0d4; --ok:#7fb894; --off:#d99a94;
  }
}
:root[data-theme="dark"]{
  --ground:#131417; --surface:#191b1f; --ink:#e8e7e4; --muted:#9a9ca3;
  --rule:#2a2c31; --accent:#8ca0d4; --ok:#7fb894; --off:#d99a94;
}
*{box-sizing:border-box}
body{
  margin:0; background:var(--ground); color:var(--ink);
  font:16px/1.55 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
}
main{padding:32px 20px; margin:0 auto}
main.card{max-width:440px; margin-top:12vh; text-align:center}
main.wide{max-width:1000px}
h1{font-size:1.6rem; margin:.2em 0 .5em; text-wrap:balance; font-weight:650}
h2{font-size:1.15rem; margin:2em 0 .6em; font-weight:600}
p{margin:.6em 0}
a{color:var(--accent)}
.brand{letter-spacing:.22em; font-size:.75rem; color:var(--muted); margin-bottom:1.2em}
.muted{color:var(--muted)}
.hint{color:var(--muted); font-size:.87rem}
.ok{color:var(--ok)} .off{color:var(--off)}
.nowrap{white-space:nowrap; font-variant-numeric:tabular-nums}

.btn{
  display:inline-block; background:var(--accent); color:#fff; border:0; cursor:pointer;
  padding:12px 22px; border-radius:7px; font-size:1rem; text-decoration:none; margin:.6em 0;
}
.btn:hover{filter:brightness(1.08)}
.link{background:none;border:0;color:var(--accent);cursor:pointer;padding:0;font-size:.9rem}
.link:hover{text-decoration:underline}
:focus-visible{outline:2px solid var(--accent); outline-offset:2px}

.topbar{
  display:flex; align-items:center; gap:18px; flex-wrap:wrap;
  padding:12px 20px; background:var(--surface); border-bottom:1px solid var(--rule);
}
.topbar .logo{letter-spacing:.18em; font-size:.8rem; text-decoration:none; color:var(--ink); font-weight:600}
.topbar a{color:var(--muted); text-decoration:none; font-size:.9rem}
.topbar a.on{color:var(--ink); font-weight:600}
.topbar .spacer{flex:1}
.topbar .who{color:var(--muted); font-size:.85rem}

table{width:100%; border-collapse:collapse; margin:1em 0; font-size:.92rem}
th,td{text-align:left; padding:10px 12px; border-bottom:1px solid var(--rule); vertical-align:top}
th{font-size:.75rem; text-transform:uppercase; letter-spacing:.06em; color:var(--muted); font-weight:600}
.table-wrap{overflow-x:auto}

.row{display:flex; gap:10px; flex-wrap:wrap; align-items:center}
input,select{
  padding:10px 12px; border:1px solid var(--rule); border-radius:7px;
  background:var(--surface); color:var(--ink); font-size:.95rem; font-family:inherit;
}
input.copy{width:100%; min-width:240px; font-size:.8rem; color:var(--muted)}
@media (prefers-reduced-motion:reduce){*{animation:none!important;transition:none!important}}
