:root{--blue:#0b5ed7;--blue-dark:#084298;--ink:#111827;--muted:#4b5563;--line:#dbe4f0;--bg:#f4f7fc;--card:#ffffff}*{box-sizing:border-box}body{margin:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:var(--bg);color:var(--ink);line-height:1.55}a{color:var(--blue)}header.top{background:#fff;border-bottom:1px solid var(--line)}header.top .inner{max-width:1100px;margin:0 auto;padding:14px 20px;display:flex;gap:20px;align-items:center;flex-wrap:wrap}.brand{font-weight:800;color:var(--blue-dark);text-decoration:none;font-size:20px}nav.main{display:flex;gap:14px;flex-wrap:wrap}nav.main a{color:#1f2937;text-decoration:none;font-weight:600}nav.main a:hover{color:var(--blue);text-decoration:underline}main{max-width:1100px;margin:0 auto;padding:28px 20px 60px}h1{font-size:30px;margin:0 0 8px}h1,h2{color:#0f172a}h2{font-size:20px}.muted{color:var(--muted)}.card{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:20px;margin:16px 0}.grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));grid-gap:16px;gap:16px}.btn,button{background:var(--blue);color:#fff;border:0;border-radius:8px;padding:10px 16px;font-weight:700;cursor:pointer;text-decoration:none;display:inline-block}.btn:hover,button:hover{background:var(--blue-dark)}button.secondary{background:#e8eef9;color:#0f172a}button:disabled{opacity:.55;cursor:not-allowed}input,select,textarea{width:100%;padding:10px 12px;border:1px solid #cbd5e1;border-radius:8px;font:inherit;color:#111827;background:#fff;margin-top:6px}.field{display:block;margin:12px 0;font-weight:600}.alert{background:#fef2f2;border:1px solid #fecaca;color:#7f1d1d;border-radius:10px}.alert,.notice{padding:14px 16px;margin:16px 0}.notice{background:#eff6ff;border:1px solid #bfdbfe;color:#1e3a5f;border-radius:10px}.empty{background:#fff;border:1px dashed var(--line);border-radius:10px;padding:24px;color:var(--muted);margin:16px 0}table{width:100%;border-collapse:collapse}td,th{text-align:left;padding:10px 8px;border-bottom:1px solid var(--line);vertical-align:top}.progress{height:10px;background:#e5e7eb;border-radius:99px;overflow:hidden}.progress>div{height:100%;background:var(--blue)}footer.site{border-top:1px solid var(--line);background:#fff;padding:20px;text-align:center;color:var(--muted);font-size:14px}footer.site a{color:var(--blue)}