:root{--primary:#0d6efd;--ink:#0f172a;--muted:#6b7280;--border:#e5e7eb}
*{box-sizing:border-box}html,body{height:100%}body{font-family:system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;margin:0;color:var(--ink);background:#f8fafc}
a{color:var(--primary);text-decoration:none}a:hover{text-decoration:underline}
.container{max-width:1100px;margin:0 auto;padding:1.2rem}
.navbar{display:flex;gap:1rem;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid var(--border);background:#fff;position:sticky;top:0;z-index:10}
.brand{display:flex;gap:.5rem;align-items:center;font-weight:800;font-size:1.05rem}
.badge{background:#eef2ff;color:#3b82f6;padding:.2rem .5rem;border-radius:.5rem;font-size:.8rem}
.navlinks a{margin-right:.6rem;padding:.35rem .6rem;border-radius:.5rem}
.navlinks a.btn{background:#ffffff;border:1px solid var(--border)}
.navlinks a.btn.primary{background:var(--primary);color:#fff;border-color:var(--primary)}
.hero{background:linear-gradient(135deg,#0f5bd7,#2563eb,#60a5fa);color:#fff;padding:4.0rem 0 3.0rem;margin-bottom:1rem}
.hero h1{font-size:3rem;line-height:1.1;margin:0 0 .75rem}
.hero p{opacity:.95;margin:.2rem 0 1.2rem}
.btn{display:inline-block;border:1px solid var(--border);padding:.65rem 1.05rem;border-radius:.7rem;background:#fff;font-weight:600}
.btn.primary{background:var(--primary);color:#fff;border-color:var(--primary)}
.btn.ghost{background:#ffffff33;color:#fff;border-color:#ffffff55}
.card{border:1px solid var(--border);border-radius:1rem;padding:1rem;margin:1rem 0;background:#fff}
.footer{background:#0f172a;color:#cbd5e1;margin-top:2rem;padding:2.2rem 0}
.footer a{color:#cbd5e1}
.list{list-style:none;padding-left:0}
.small{font-size:.94rem;color:var(--muted)}
.table{width:100%;border-collapse:collapse;background:#fff;border-radius:.7rem;overflow:hidden}
.table th,.table td{border-bottom:1px solid var(--border);padding:.65rem .55rem;text-align:left}
.input,select,textarea{width:100%;padding:.6rem;border:1px solid var(--border);border-radius:.5rem;background:#fff}
.grid{display:grid;gap:.9rem}.grid2{grid-template-columns:1fr 1fr}
.notice{background:#e6f6ff;border:1px solid #bfe3ff;color:#0b4870;padding:.9rem;border-radius:.6rem}
.err{background:#fee2e2;border:1px solid #fecaca;color:#7f1d1d;padding:.9rem;border-radius:.6rem}
.adminbar{background:#0b1324;color:#cbd5e1;padding:.6rem 1rem}
.searchrow{display:flex;gap:.5rem;align-items:center}
.searchrow input{flex:1}
blockquote{border-left:3px solid var(--border);padding-left:.7rem;margin-left:0;color:#334155}
