
:root{--bg:#fff;--text:#111;--muted:#6b7280;--brand:#4F46E5;--border:#e5e7eb}
*{box-sizing:border-box}body{margin:0;font:16px/1.5 system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;color:var(--text);background:var(--bg)}
a{color:var(--brand);text-decoration:none}.container{max-width:1100px;margin:0 auto;padding:16px}
.topbar{border-bottom:1px solid var(--border);background:#fafafa}.topbar .row{display:flex;align-items:center;justify-content:space-between;padding:10px 16px;gap:12px}
.brand{display:flex;align-items:center;gap:10px}.brand img{width:32px;height:32px}.nav a{margin-left:16px}
.hero{background:#f5f7ff url('/images/hero_pattern.svg') no-repeat center/cover;padding:40px 16px;border-bottom:1px solid var(--border)}
.hero .t{font-size:28px;font-weight:700;margin-bottom:8px}.hero .s{color:var(--muted);max-width:700px}
.btn{display:inline-block;background:var(--brand);color:#fff;padding:10px 14px;border-radius:10px;border:0;cursor:pointer}
.card{border:1px solid var(--border);border-radius:12px;background:#fff}.card .body{padding:16px}
.grid{display:grid;gap:16px}.grid.cols-3{grid-template-columns:repeat(1,1fr)}
@media(min-width:720px){.grid.cols-3{grid-template-columns:repeat(2,1fr)}}@media(min-width:1024px){.grid.cols-3{grid-template-columns:repeat(3,1fr)}}
.input{width:100%;padding:10px;border:1px solid var(--border);border-radius:10px}.badge{display:inline-block;padding:4px 8px;border:1px solid var(--border);border-radius:999px;font-size:12px;margin-right:6px;margin-top:6px}
.table{width:100%;border-collapse:collapse}.table th,.table td{border-bottom:1px solid var(--border);padding:8px 6px;text-align:left}
.muted{color:var(--muted)}footer{border-top:1px solid var(--border);padding:16px;color:var(--muted);text-align:center;margin-top:40px}
.alert{padding:10px 12px;border-left:4px solid #f59e0b;background:#fff8e6;border-radius:8px}.success{padding:10px 12px;border-left:4px solid #10b981;background:#ecfffa;border-radius:8px}
.formgrid{display:grid;grid-template-columns:repeat(1,1fr);gap:12px}@media(min-width:900px){.formgrid{grid-template-columns:repeat(2,1fr)}}
label{display:flex;flex-direction:column;gap:6px;font-size:14px}input,select,textarea{padding:10px;border:1px solid var(--border);border-radius:10px}
hr{border:0;border-top:1px solid var(--border);margin:20px 0}
