/* Кабинет HOME · вход и «Настройки» (22.10.2026) — в стиле сайта sensor23.com, поверх style.css и style-site.css */

/* ---------- кто вошёл, внизу меню ---------- */
.side-foot .who { display: grid; gap: 2px; padding: 12px 0 2px; border-top: 1px solid var(--border); font-size: 13px; color: var(--side-ink); }
.side-foot .who span { font: 600 11px/1.3 var(--font-ui, inherit); letter-spacing: 1.2px; text-transform: uppercase; color: var(--side-muted, var(--muted)); }
nav a[hidden], button[hidden], form[hidden], input[hidden] { display: none !important; }
nav a.nav-set { margin-top: 14px; }

/* ---------- страница входа ---------- */
body.auth-page { min-height: 100vh; display: grid; place-items: center; background: var(--side); color: var(--ink); }
.auth { width: min(420px, 92vw); padding: 44px 40px 36px; background: var(--page); border: 1px solid var(--border); }
.auth-logo { width: 168px; height: 42px; background: url('/app/brand/gold-logo.svg') left center / contain no-repeat; }
.auth-kicker { margin: 18px 0 26px; font: 600 12px/1.3 var(--font-ui); letter-spacing: 1.6px; text-transform: uppercase; color: var(--muted); }
.auth h1 { margin: 0 0 8px; font: 500 34px/1.05 var(--font-ui); text-transform: uppercase; letter-spacing: -0.03em; }
.auth-sub { margin: 0 0 26px; color: var(--ink-2); font-size: 14px; line-height: 1.5; }
.auth-form { display: grid; gap: 16px; }
.auth-form label { display: grid; gap: 7px; font: 600 12px/1.3 var(--font-ui); letter-spacing: 1.2px; text-transform: uppercase; color: var(--muted); }
.auth-form input { font: 400 15px/1.3 var(--font-ui); color: var(--ink); background: transparent; border: 1px solid var(--border); border-radius: 0; padding: 11px 12px; text-transform: none; letter-spacing: 0; }
.auth-form input:hover { border-color: var(--axis); }
.auth-form input:focus-visible { outline: 2px solid #b08b45; outline-offset: 1px; border-color: transparent; }
.auth-form input[readonly] { color: var(--muted); }
.auth-err { margin: 0; min-height: 20px; color: var(--crit-ink); font-size: 13px; }
.auth-btn { margin-top: 2px; padding: 13px 18px; border: 1px solid var(--btn); border-radius: 0; background: var(--btn); color: var(--btn-ink); cursor: pointer;
  font: 600 13px/1.2 var(--font-ui); letter-spacing: 1.6px; text-transform: uppercase; }
.auth-btn:hover { filter: brightness(1.12); }
.auth-btn:active { transform: translateY(1px); }
.auth-btn:focus-visible { outline: 2px solid #b08b45; outline-offset: 2px; }
.auth-btn:disabled { opacity: .55; cursor: default; }
.auth-foot { margin: 26px 0 0; padding-top: 18px; border-top: 1px solid var(--border); color: var(--muted); font-size: 12px; line-height: 1.55; }

/* ---------- «Настройки» ---------- */
table.users tr.off td { color: var(--muted); }
table.users select, table.roles select, .toolbar input[type=date] { border-radius: 0; font-family: var(--font-ui); background: transparent; border: 1px solid var(--border); padding: 6px 8px; font-size: 13px; color: var(--ink); }
table.users td, table.roles td { vertical-align: middle; }
table.users .acts { white-space: nowrap; text-align: right; }
.also { color: var(--muted); font-size: 12px; margin-top: 2px; }
.chk { display: inline-flex; gap: 6px; align-items: center; white-space: nowrap; cursor: pointer; }
.chk input { accent-color: #9a7a31; }
.seterr { color: var(--crit-ink); font-size: 13px; }
.chform select { border-radius: 0; font-family: var(--font-ui); background: transparent; border: 1px solid var(--border); padding: 7px 10px; font-size: 14px; color: var(--ink); }
.chform input[name=login] { min-width: 260px; }
.setlink { display: grid; gap: 6px; margin: 0 0 22px; padding: 16px 18px; border-left: 2px solid #b08b45; background: var(--surface-2); }
.setlink span { color: var(--ink-2); font-size: 13px; }
.setlink-row { display: flex; gap: 10px; margin-top: 6px; }
.setlink-row input { flex: 1; font: 400 13px/1.3 ui-monospace, Menlo, monospace; color: var(--ink); background: var(--page); border: 1px solid var(--border); border-radius: 0; padding: 7px 10px; }
.wide-t { overflow-x: auto; }
table.roles th { min-width: 150px; }
table.roles th:first-child { min-width: 170px; }
.lv-sel.lv-hidden { color: var(--muted); }
.lv-sel.lv-edit { border-color: #b08b45; }
.lv { font-size: 13px; }
.lv-hidden { color: var(--muted); }
table.journal td { vertical-align: top; }
table.journal td.was { color: var(--muted); text-decoration: line-through; text-decoration-color: var(--axis); }
table.journal td:nth-child(5), table.journal td:nth-child(6) { max-width: 340px; overflow-wrap: anywhere; }
table.roles select { width: 100%; max-width: 180px; }
table.roles td { padding-right: 14px; }
.auth-enroll { display: grid; gap: 4px; justify-items: start; }
.auth-qr svg { display: block; width: 180px; height: 180px; border: 1px solid var(--border); background: #fff; }
.auth-enroll b { font: 600 13px/1.4 ui-monospace, Menlo, monospace; letter-spacing: 0.5px; word-break: normal; }
#code { font-size: 22px; letter-spacing: 6px; }
