/* Общие стили страниц входа и кабинета (демо) */
:root { --ink:#111; --paper:#fff; --muted:#5d5d5d; --rule:#d9d9d9; --tape:#ffd400; --err:#b00020; }
*, *::before, *::after { box-sizing: border-box; }
html { -webkit-text-size-adjust: 100%; }
body { margin:0; background:var(--paper); color:var(--ink); font:400 1.0625rem/1.55 "Helvetica Neue", Helvetica, Arial, sans-serif; }
::selection { background:var(--tape); }
a { color:inherit; text-decoration-thickness:1px; text-underline-offset:3px; }
a:hover { text-decoration-thickness:3px; }
:focus-visible { outline:3px solid var(--ink); outline-offset:3px; }
[hidden] { display:none !important; }
.wrap { max-width:1120px; margin:0 auto; padding:0 24px; }

.top { border-bottom:1px solid var(--ink); }
.top .wrap { display:flex; justify-content:space-between; align-items:baseline; gap:24px; padding-top:18px; padding-bottom:18px; }
.mark { font-weight:900; font-size:1.6rem; letter-spacing:-0.04em; text-decoration:none; }
.top nav { display:flex; align-items:baseline; gap:22px; font-size:0.95rem; }
.top nav a { text-decoration:none; }
.top nav a:hover { text-decoration:underline; text-decoration-thickness:2px; }
.linkbtn { background:none; border:0; padding:0; font:inherit; color:inherit; cursor:pointer; text-decoration:underline; text-underline-offset:3px; }
.linkbtn:hover { text-decoration-thickness:3px; }

h1 { margin:0 0 20px; font-weight:800; font-size:clamp(2.2rem,5vw,3.6rem); line-height:1.04; letter-spacing:-0.035em; }
h2 { margin:0 0 14px; font-weight:800; font-size:1.6rem; line-height:1.1; letter-spacing:-0.02em; }

.btn { display:inline-block; background:var(--ink); color:var(--paper); border:2px solid var(--ink); padding:13px 24px; font:700 1rem/1.2 inherit; font-family:inherit; cursor:pointer; text-decoration:none; }
.btn:hover { background:var(--tape); color:var(--ink); }
.btn.plain { background:var(--paper); color:var(--ink); }
.btn.plain:hover { background:var(--tape); }
.btn.small { padding:7px 14px; font-size:0.9rem; }

label { display:block; font-weight:700; margin:20px 0 6px; }
input, select { width:100%; font:inherit; padding:13px 14px; border:2px solid var(--ink); border-radius:0; background:var(--paper); color:var(--ink); }
input:focus, select:focus { outline:3px solid var(--tape); outline-offset:0; }

.muted { color:var(--muted); }
.note { color:var(--muted); font-size:0.95rem; }
footer { padding:22px 0 30px; font-size:0.9rem; color:var(--muted); }

table { width:100%; border-collapse:collapse; font-variant-numeric:tabular-nums; }
th, td { text-align:left; padding:12px 10px 12px 0; border-bottom:1px solid var(--rule); vertical-align:baseline; }
th { font-weight:700; font-size:0.9rem; color:var(--muted); border-bottom:1px solid var(--ink); }
td.act { text-align:right; padding-right:0; white-space:nowrap; }

@media (max-width:560px) { .top nav { gap:14px; font-size:0.9rem; } }
