:root{
  --lime:#96C93D; --lime-dark:#7cab2c;
  --navy:#0D1D43; --navy-2:#16295c;
  --red:#ED2024; --cream:#FEDC83;
  --ink:#1a2233; --muted:#6b7280; --line:#e5e7eb; --bg:#f6f7f9; --card:#fff;
  --radius:12px; --shadow:0 1px 3px rgba(13,29,67,.08),0 6px 24px rgba(13,29,67,.06);
}
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,-apple-system,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;
  color:var(--ink);background:var(--bg);line-height:1.5}
a{color:var(--lime-dark);text-decoration:none}
a:hover{text-decoration:underline}
.container{max-width:1000px;margin:0 auto;padding:0 18px}

/* Header */
header.site{background:var(--navy);color:#fff}
header.site .bar{display:flex;align-items:center;gap:18px;height:60px}
header.site .brand{display:flex;align-items:center;gap:10px;color:#fff;font-weight:800;font-size:18px}
header.site .brand:hover{text-decoration:none}
header.site .brand .dot{width:26px;height:26px;border-radius:7px;background:var(--lime);display:inline-block}
header.site nav{margin-left:auto;display:flex;align-items:center;gap:6px;flex-wrap:wrap}
header.site nav a{color:#dfe6f5;padding:8px 12px;border-radius:8px;font-weight:600;font-size:14px}
header.site nav a:hover{background:var(--navy-2);text-decoration:none;color:#fff}
header.site nav .btn-logout{background:none;border:1px solid #33477e;color:#dfe6f5;padding:8px 12px;border-radius:8px;font:inherit;font-weight:600;font-size:14px;cursor:pointer}
header.site nav .btn-logout:hover{background:var(--navy-2);color:#fff}

/* Layout */
main{padding:28px 0 60px}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);padding:26px}
.card + .card{margin-top:20px}
h1{font-size:26px;margin:0 0 6px}
h2{font-size:19px;margin:0 0 14px}
.lead{color:var(--muted);margin:0 0 22px}
.narrow{max-width:520px;margin:0 auto}

/* Forms */
label{display:block;font-weight:600;font-size:13px;margin:14px 0 5px}
.req{color:var(--red)}
input[type=text],input[type=email],input[type=password],input[type=number],select{
  width:100%;padding:10px 12px;border:1px solid #cbd2dd;border-radius:9px;font:inherit;background:#fff}
input:focus,select:focus{outline:none;border-color:var(--lime);box-shadow:0 0 0 3px rgba(150,201,61,.25)}
.hint{color:var(--muted);font-size:12px;margin-top:4px}
.check{display:flex;align-items:center;gap:9px;margin-top:16px}
.check input{width:auto}
.check label{margin:0;font-weight:500}
.row{display:grid;grid-template-columns:1fr 1fr;gap:14px}
@media(max-width:560px){.row{grid-template-columns:1fr}}

.btn{display:inline-block;background:var(--lime);color:var(--navy);border:none;font:inherit;font-weight:800;
  padding:11px 20px;border-radius:10px;cursor:pointer;font-size:15px}
.btn:hover{background:var(--lime-dark);color:#fff;text-decoration:none}
.btn.block{width:100%}
.btn.secondary{background:#eef1f6;color:var(--navy)}
.btn.secondary:hover{background:#e2e7ef;color:var(--navy)}
.btn.danger{background:#fde8e8;color:var(--red);font-weight:700;padding:6px 12px;font-size:13px}
.btn.danger:hover{background:var(--red);color:#fff}
.actions{margin-top:22px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}

/* Alerts */
.alert{padding:12px 15px;border-radius:10px;margin-bottom:18px;font-size:14px;border:1px solid transparent}
.alert.success{background:#eafbea;border-color:#bfe6bf;color:#1f7a2e}
.alert.error{background:#fdecec;border-color:#f5c2c2;color:#b02020}
.alert.info{background:#eaf1fb;border-color:#c2d6f5;color:#1f4a94}
.alert ul{margin:6px 0 0;padding-left:20px}

/* Table */
.table-wrap{overflow-x:auto}
table{width:100%;border-collapse:collapse;font-size:14px}
th,td{text-align:left;padding:10px 12px;border-bottom:1px solid var(--line);white-space:nowrap}
th{background:#f0f3f8;font-size:12px;text-transform:uppercase;letter-spacing:.03em;color:#4b5563}
tbody tr:hover{background:#fafbfd}
.badge{display:inline-block;padding:2px 9px;border-radius:999px;font-size:12px;font-weight:700}
.badge.at{background:#e7f3d8;color:#4d7016}
.badge.mt{background:#e6ebfa;color:#233a86}
.tg{font-weight:700}
.muted{color:var(--muted)}

/* Home hero */
.hero{text-align:center;padding:20px 0 6px}
.hero .count{font-size:44px;font-weight:900;color:var(--lime-dark);line-height:1}
.steps{display:grid;grid-template-columns:repeat(3,1fr);gap:16px;margin-top:8px}
@media(max-width:640px){.steps{grid-template-columns:1fr}}
.step{background:#fff;border:1px solid var(--line);border-radius:var(--radius);padding:18px}
.step .n{width:30px;height:30px;border-radius:50%;background:var(--navy);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;margin-bottom:10px}

.filters{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;align-items:end}
@media(max-width:800px){.filters{grid-template-columns:repeat(2,1fr)}}
@media(max-width:480px){.filters{grid-template-columns:1fr}}
.filters label{margin-top:0}
.result-meta{margin:18px 0 10px;color:var(--muted);font-size:14px}

footer.site{border-top:1px solid var(--line);color:var(--muted);font-size:13px;padding:22px 0;text-align:center}
