/* Служебные страницы портала (вход, согласие, доступы). Палитра «Шалфей». */
:root{
  --paper:#F6F8F6; --surf:#FFFFFF; --ink:#1F2621; --mute:#5E6A62; --faint:#8E988F;
  --line:#DDE4DF; --acc:#2F6B4F; --acc-ink:#FFFFFF; --acc-soft:#E3EFE8;
  --red:#B23A2B; --red-soft:#FAE6E2; --ok:#2F6B4F;
  --f:'Onest',system-ui,-apple-system,'Segoe UI',Roboto,sans-serif;
}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]){
  --paper:#161A17; --surf:#1F2420; --ink:#E7ECE8; --mute:#A3AEA6; --faint:#76807A;
  --line:#313833; --acc:#7FCBA0; --acc-ink:#0F2219; --acc-soft:#22352A;
  --red:#E58C7E; --red-soft:#3B2420; --ok:#7FCBA0; color-scheme:dark}}
:root[data-theme="dark"]{
  --paper:#161A17; --surf:#1F2420; --ink:#E7ECE8; --mute:#A3AEA6; --faint:#76807A;
  --line:#313833; --acc:#7FCBA0; --acc-ink:#0F2219; --acc-soft:#22352A;
  --red:#E58C7E; --red-soft:#3B2420; --ok:#7FCBA0; color-scheme:dark}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
body{margin:0;background:var(--paper);color:var(--ink);font:400 15px/1.5 var(--f);-webkit-font-smoothing:antialiased}
a{color:var(--acc)}
h1{font-size:22px;line-height:1.2;margin:0 0 6px;font-weight:600}
h2{font-size:17px;margin:0 0 12px;font-weight:600}
.mute{color:var(--mute)}
.small{font-size:13px}
.center{min-height:100vh;display:grid;place-items:center;padding:24px 16px}
.card{background:var(--surf);border:1px solid var(--line);border-radius:14px;padding:28px;width:100%;max-width:400px}
.brand{display:flex;align-items:center;gap:10px;margin-bottom:22px;font-weight:600}
.brand i{width:30px;height:30px;border-radius:9px;background:var(--acc);display:inline-block}
label{display:block;font-size:13px;color:var(--mute);margin:14px 0 6px}
input,select,textarea{width:100%;font:inherit;color:var(--ink);background:var(--surf);border:1px solid var(--line);border-radius:10px;padding:10px 12px}
input:focus,select:focus,textarea:focus{outline:2px solid var(--acc);outline-offset:-1px;border-color:transparent}
input.code{font-size:24px;letter-spacing:.35em;text-align:center;font-variant-numeric:tabular-nums}
button{font:inherit;cursor:pointer;border-radius:10px;padding:10px 16px;border:1px solid var(--line);background:var(--surf);color:var(--ink)}
button.pri{background:var(--acc);border-color:var(--acc);color:var(--acc-ink);font-weight:500}
button.wide{width:100%;margin-top:18px}
button.link{border:0;background:none;color:var(--acc);padding:0}
button:disabled{opacity:.55;cursor:default}
.err{color:var(--red);font-size:13px;margin-top:10px;min-height:1em}
.check{display:flex;gap:10px;align-items:flex-start;margin-top:16px;color:var(--ink);font-size:14px}
.check input{width:18px;height:18px;margin-top:2px;flex:none;accent-color:var(--acc)}

/* доступы */
.top{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:14px 24px;border-bottom:1px solid var(--line);background:var(--surf);flex-wrap:wrap}
.top nav{display:flex;gap:16px;align-items:center;font-size:14px;flex-wrap:wrap}
.top nav a{text-decoration:none}
.wrap{max-width:1080px;margin:0 auto;padding:24px 16px 60px}
.tabs{display:flex;gap:6px;margin:18px 0;flex-wrap:wrap}
.tabs button[aria-selected="true"]{background:var(--acc-soft);border-color:var(--acc);color:var(--ink)}
.panel{background:var(--surf);border:1px solid var(--line);border-radius:14px;padding:20px;margin-bottom:18px}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:0 14px}
table{width:100%;border-collapse:collapse;font-size:14px}
th{text-align:left;font-weight:500;color:var(--mute);font-size:12px;padding:8px 10px;border-bottom:1px solid var(--line)}
td{padding:10px;border-bottom:1px solid var(--line);vertical-align:top}
tr.off td{color:var(--faint)}
.tbl{overflow-x:auto}
.pill{display:inline-block;font-size:12px;padding:2px 8px;border-radius:99px;background:var(--acc-soft);color:var(--ink);white-space:nowrap}
.pill.off{background:var(--red-soft);color:var(--red)}
.row{display:flex;gap:10px;align-items:end;flex-wrap:wrap}
.row>*{flex:1;min-width:180px}
.row>button{flex:none}
.ok{color:var(--ok);font-size:13px;margin-top:10px;min-height:1em}
@media (max-width:600px){.top{padding:12px 16px}.card{padding:22px}}
.top nav a[aria-current="page"]{font-weight:600;color:var(--ink)}
.pill.s-work{background:#FFF1D6;color:#8A5A00}
.pill.s-done{background:var(--acc-soft);color:var(--acc)}
.pill.s-new{background:#E4ECF7;color:#2C4F7C}
.pill.s-draft{background:#ECEAE6;color:#5E5A52}
.pill.s-review{background:#FFF1D6;color:#8A5A00}
.pill.s-live{background:var(--acc-soft);color:var(--acc)}
@media (prefers-color-scheme:dark){:root:not([data-theme="light"]) .pill.s-work,:root:not([data-theme="light"]) .pill.s-review{background:#3A3020;color:#E8C27A}
  :root:not([data-theme="light"]) .pill.s-new{background:#22303F;color:#9DBBE0}
  :root:not([data-theme="light"]) .pill.s-draft{background:#2C2F2D;color:#B8BDB9}}
.filters{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:14px}
.filters>*{width:auto;flex:1;min-width:150px}
.filters input{min-width:220px;flex:2}
.req{border-top:1px solid var(--line);padding:16px 0}
.req:first-child{border-top:0;padding-top:0}
.req .meta{display:flex;gap:8px;flex-wrap:wrap;align-items:center;font-size:13px;color:var(--mute);margin-bottom:6px}
.req .txt{white-space:pre-wrap}
.req .reply{margin-top:8px;padding:10px 12px;border-radius:10px;background:var(--paper);font-size:14px;white-space:pre-wrap}
.req .ctl{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px;align-items:center}
.req .ctl select{width:auto}
.req .ctl input{flex:1;min-width:200px}
td.num{color:var(--faint);font-variant-numeric:tabular-nums}
td input.cities{padding:6px 8px;font-size:13px;min-width:120px}
td select{padding:6px 8px;font-size:13px;width:auto;min-width:128px}
.bulk{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-bottom:12px;font-size:14px}
.bulk select{width:auto}
