/* Reset, layout shell, typography, forms, buttons. Component-specific styles live in components.css. */
*{box-sizing:border-box}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--ui);font-size:14px;line-height:1.55}
a{color:inherit;text-decoration:none}
.topbar{position:sticky;top:0;z-index:5;display:flex;align-items:center;gap:20px;padding:12px 24px;background:var(--panel);border-bottom:1px solid var(--border)}
.brand{font-family:var(--disp);text-transform:uppercase;letter-spacing:.06em;font-weight:700;font-size:15px;color:var(--ink)}
.brand b{color:var(--dim);font-family:var(--mono);font-weight:400;margin:0 4px}
.nav{font-size:13px;color:var(--dim);padding:5px 2px;border-bottom:2px solid transparent}
.nav:hover{color:var(--ink)} .nav.on{color:var(--ink);border-bottom-color:var(--accent)}
.sp{flex:1}
.toggle{font-family:var(--mono);font-size:12px;color:var(--dim);background:transparent;border:1px solid var(--border);border-radius:6px;padding:5px 10px;cursor:pointer}
.toggle:hover{color:var(--ink);border-color:var(--accent)}
.wrap{max-width:1000px;margin:0 auto;padding:26px 24px 90px}
h1{font-family:var(--disp);font-weight:650;font-size:23px;letter-spacing:-.01em;margin:0}
h2{font-family:var(--disp);font-weight:650;font-size:18px;margin:0}
h3{font-family:var(--mono);font-size:10.5px;font-weight:600;letter-spacing:.12em;text-transform:uppercase;color:var(--dim);margin:0 0 10px}
.mono{font-family:var(--mono)} .dim{color:var(--dim)}
.hint{color:var(--dim);font-size:12.5px;margin:8px 0 16px;max-width:74ch}
.bar{display:flex;align-items:center;justify-content:space-between;margin:26px 0 8px}
.rt-actions{display:flex;gap:16px;align-items:center}
.filters{display:flex;gap:16px;align-items:flex-end;margin:0 0 14px}
.filters label{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);display:flex;flex-direction:column;gap:4px}
.filters select{width:auto;min-width:180px;margin:0}
.filters a{align-self:center;font-size:12px}
.lnk{color:var(--accent)} .lnk:hover{text-decoration:underline}
.back{color:var(--dim);font-size:12px;display:inline-block;margin-bottom:14px} .back:hover{color:var(--ink)}

.btn{font-family:var(--ui);font-size:13px;color:var(--ink);background:var(--panel);border:1px solid var(--border);border-radius:8px;padding:8px 15px;cursor:pointer}
.btn:hover{border-color:var(--accent);color:var(--accent)}
.btn.go{background:var(--signal);border-color:var(--signal);color:#fff} .btn.go:hover{opacity:.92;color:#fff}
.btn.ok{border-color:var(--signal);color:var(--signal)} .btn.ok:hover{background:var(--signal);color:#fff}
.btn.no{border-color:var(--failed);color:var(--failed)} .btn.no:hover{background:var(--failed);color:#fff}
.btn:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,.toggle:focus-visible{outline:2px solid var(--signal);outline-offset:2px}
.btn.disabled{opacity:.4;cursor:default;pointer-events:none}

.pager{display:flex;align-items:center;justify-content:center;gap:16px;margin:16px 0 8px;font-size:12.5px}
.row-actions{text-align:right;width:1%;white-space:nowrap} .row-actions form{margin:0}
.btn.danger{padding:2px 9px;font-size:15px;line-height:1;color:var(--dim);background:transparent;border-color:transparent;border-radius:6px}
.btn.danger:hover{color:#fff;background:var(--failed);border-color:var(--failed)}

.form{background:var(--panel);border:1px solid var(--border);border-radius:10px;padding:22px;max-width:720px}
.form>label,.two>label{display:block;font-size:11.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--dim);margin:0 0 16px}
input,select,textarea{width:100%;margin-top:7px;font-family:var(--mono);font-size:13px;color:var(--ink);background:var(--bg);border:1px solid var(--border);border-radius:8px;padding:10px}
.chk{display:flex;align-items:center;gap:9px;text-transform:none;letter-spacing:0} .chk input{width:auto;margin:0}
fieldset{border:1px solid var(--border);border-radius:10px;margin:0 0 16px;padding:12px 14px}
legend{font-family:var(--mono);font-size:10.5px;letter-spacing:.1em;text-transform:uppercase;color:var(--dim);padding:0 6px}
.cks{display:grid;grid-template-columns:1fr 1fr;gap:8px}
.ck{display:flex;align-items:center;gap:8px;font-family:var(--mono);font-size:12.5px;color:var(--ink);text-transform:none;letter-spacing:0;margin:0} .ck input{width:auto;margin:0}
