:root { color-scheme:light; --ink:#15251f; --muted:#627169; --paper:#f5f7f2; --card:#fff; --line:#dce4dc; --green:#176b4d; --red:#a33838; }
* { box-sizing:border-box; }
body { margin:0; min-height:100vh; background:radial-gradient(circle at top left,#dff7e8 0,transparent 34rem),var(--paper); color:var(--ink); font-family:Inter,ui-sans-serif,system-ui,-apple-system,"Segoe UI",sans-serif; }
.auth-shell { width:min(520px,calc(100% - 28px)); margin:0 auto; padding:64px 0; }
.wide-shell { width:min(1040px,calc(100% - 28px)); margin:0 auto; padding:42px 0 70px; }
.card { background:rgba(255,255,255,.95); border:1px solid var(--line); border-radius:22px; padding:26px; box-shadow:0 18px 50px rgba(36,64,49,.09); }
.brand { color:var(--green); font-weight:850; letter-spacing:.1em; text-transform:uppercase; font-size:.76rem; }
h1 { margin:.45rem 0 .55rem; font-size:clamp(2rem,7vw,3.1rem); letter-spacing:-.045em; line-height:1; }
h2 { margin:0 0 4px; font-size:1.25rem; }
p { color:var(--muted); line-height:1.6; }
label { display:block; font-weight:750; font-size:.88rem; margin:16px 0 7px; }
input,select { width:100%; border:1px solid var(--line); background:#fbfcfa; color:var(--ink); border-radius:12px; padding:12px 13px; font:inherit; outline:none; }
input:focus,select:focus { border-color:var(--green); box-shadow:0 0 0 3px rgba(23,107,77,.12); }
button,.button { display:inline-flex; align-items:center; justify-content:center; border:0; border-radius:12px; padding:12px 17px; font-weight:800; text-decoration:none; cursor:pointer; font:inherit; }
.primary { background:var(--green); color:#fff; }
.secondary { background:#edf2ed; color:var(--ink); }
.danger { background:#fff0f0; color:var(--red); }
.actions { display:flex; gap:10px; align-items:center; flex-wrap:wrap; margin-top:18px; }
.error,.notice { border-radius:13px; padding:12px 14px; margin:0 0 18px; font-size:.92rem; line-height:1.5; }
.error { background:#fff0f0; color:var(--red); border:1px solid #f1cece; }
.notice { background:#edfaf3; color:#155f43; border:1px solid #ccebd9; }
.topbar { display:flex; align-items:center; justify-content:space-between; gap:20px; margin-bottom:24px; }
.topbar nav { display:flex; align-items:center; gap:9px; flex-wrap:wrap; }
.topbar form { margin:0; }
.grid { display:grid; grid-template-columns:minmax(280px,.75fr) minmax(0,1.25fr); gap:20px; align-items:start; }
.table-wrap { overflow:auto; }
table { width:100%; border-collapse:collapse; margin-top:14px; }
th,td { text-align:left; border-bottom:1px solid var(--line); padding:13px 10px; vertical-align:top; }
th { color:var(--muted); font-size:.78rem; text-transform:uppercase; letter-spacing:.06em; }
.badge { display:inline-block; border-radius:999px; padding:4px 9px; background:#edf5ef; color:var(--green); font-size:.78rem; font-weight:800; }
.badge.off { background:#f2f2f2; color:#777; }
.inline-form { display:flex; gap:7px; align-items:end; flex-wrap:wrap; margin:5px 0; }
.inline-form input { width:190px; padding:8px 10px; }
.inline-form button { padding:9px 11px; font-size:.82rem; }
small { color:var(--muted); }
@media (max-width:760px) { .grid { grid-template-columns:1fr; } .topbar { align-items:flex-start; flex-direction:column; } }
