:root{--accent:#38C4E6;--accent-dark:#1a9fc1;--accent-soft:#e3f6fb;--ink:#13181A;--sub:#505B52;--bg:#F4F5F5;--line:#e3e6e4;--warn:#c0392b;--warn-soft:#fdecea;--ok:#1c8a5f;--ok-soft:#e3f5ea;}
*{box-sizing:border-box;}
body{margin:0;font-family:Figtree,system-ui,-apple-system,"Segoe UI",sans-serif;background:var(--bg);color:var(--ink);font-size:15px;}
a{color:var(--accent-dark);}
.wordmark{font-weight:800;font-size:30px;color:var(--accent);letter-spacing:-.5px;}
h1{font-size:24px;margin:6px 0 18px;} h2{font-size:17px;margin:0 0 12px;}
.auth-wrap{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;}
.auth-card{background:#fff;border-radius:16px;padding:32px;width:100%;max-width:380px;box-shadow:0 10px 30px -12px rgba(0,0,0,.15);display:flex;flex-direction:column;gap:12px;}
.auth-card h1{font-size:18px;color:var(--sub);font-weight:600;margin:0 0 6px;}
.page{max-width:1080px;margin:0 auto;padding:28px 20px 60px;} .page.narrow{max-width:640px;}
.card{background:#fff;border-radius:14px;padding:22px;margin-bottom:18px;box-shadow:0 4px 14px -8px rgba(0,0,0,.12);}
label{display:flex;flex-direction:column;gap:5px;font-size:13px;font-weight:600;color:var(--sub);}
label.check{flex-direction:row;align-items:center;gap:8px;}
input{font:inherit;padding:10px 12px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);}
input:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-soft);}
button,.button{font:inherit;font-weight:700;background:var(--accent);color:#fff;border:none;border-radius:9px;padding:10px 16px;cursor:pointer;text-decoration:none;display:inline-block;}
button:hover,.button:hover{background:var(--accent-dark);}
button.ghost{background:var(--bg);color:var(--ink);border:1px solid var(--line);padding:6px 10px;font-weight:600;font-size:13px;}
button.ghost:hover{background:var(--line);}
.grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:14px;align-items:end;}
.grid .full{grid-column:1/-1;}
.error{background:var(--warn-soft);color:var(--warn);padding:10px 14px;border-radius:9px;}
.success{background:var(--ok-soft);color:var(--ok);padding:10px 14px;border-radius:9px;}
.notice{background:var(--accent-soft);color:var(--accent-dark);padding:10px 14px;border-radius:9px;}
.hint{color:var(--sub);font-size:13px;margin:0;}
table{width:100%;border-collapse:collapse;font-size:14px;}
th{text-align:left;font-size:12px;text-transform:uppercase;color:var(--sub);padding:8px;border-bottom:1px solid var(--line);}
td{padding:8px;border-bottom:1px solid var(--line);vertical-align:middle;}
tr.inactive td{color:#9aa39c;}
form.inline{display:inline-flex;gap:6px;align-items:center;margin:2px 4px 2px 0;}
form.inline input{padding:6px 8px;font-size:13px;width:150px;}
td.actions{white-space:nowrap;}
.tag{font-size:11px;padding:2px 7px;border-radius:100px;background:var(--bg);border:1px solid var(--line);}
.checks{list-style:none;padding:0;margin:0;} .checks li{padding:4px 0;} .checks .ok{color:var(--ok);} .checks .ko{color:var(--warn);font-weight:700;}
.back{text-decoration:none;font-weight:600;}
code{background:var(--bg);padding:2px 6px;border-radius:5px;font-size:13px;word-break:break-all;}
@media (max-width:700px){table,thead,tbody,tr,td,th{display:block;} thead{display:none;} td{border:none;padding:4px 0;} tr{border-bottom:1px solid var(--line);padding:10px 0;}}
