:root{
  --bg:#ffffff;--fg:#0f172a;--muted:#64748b;--card:#f8fafc;--border:#e2e8f0;
  --primary:#2563eb;--primary-ink:#ffffff;--accent:#0ea5e9;
}
@media (prefers-color-scheme: dark){
  :root{--bg:#0b1220;--fg:#e5e7eb;--muted:#94a3b8;--card:#111827;--border:#1f2937;--primary:#60a5fa;--primary-ink:#0b1220;--accent:#22d3ee;}
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;font-family:system-ui,-apple-system,Segoe UI,Roboto,Ubuntu,Inter,Arial,sans-serif;background:var(--bg);color:var(--fg);}
a{color:var(--primary);text-decoration:none}
.container{max-width:1100px;margin:0 auto;padding:16px}
.header{position:sticky;top:0;background:var(--bg);border-bottom:1px solid var(--border);z-index:10}
.header .bar{display:flex;gap:12px;align-items:center;justify-content:space-between;padding:12px 16px}
.brand{display:flex;gap:10px;align-items:center;font-weight:700}
.brand img{height:28px}
.actions{display:flex;gap:8px;align-items:center}
.btn{padding:10px 14px;border-radius:12px;border:1px solid var(--border);background:var(--card);color:var(--fg);cursor:pointer}
.btn.primary{background:var(--primary);border-color:var(--primary);color:var(--primary-ink);}
.btn.outline{background:transparent;border-color:var(--border)}
.card{background:var(--card);border:1px solid var(--border);border-radius:16px;padding:16px;box-shadow:0 2px 8px rgba(0,0,0,.05);margin:12px 0}
.grid{display:grid;gap:16px}
.grid.cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}
.grid.cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}
@media (max-width:900px){.grid.cols-2,.grid.cols-3{grid-template-columns:1fr}}
.table{width:100%;border-collapse:collapse}
.table th,.table td{padding:10px;border-bottom:1px solid var(--border);text-align:left;font-size:14px}
.input,select,textarea{width:100%;padding:10px;border-radius:10px;border:1px solid var(--border);background:var(--bg);color:var(--fg)}
.notice{padding:12px;border-radius:10px;background:#ecfeff;border:1px solid #a5f3fc}
.error{padding:12px;border-radius:10px;background:#fee2e2;border:1px solid #fecaca}
.badge{display:inline-block;padding:3px 8px;border-radius:999px;background:var(--card);border:1px solid var(--border);font-size:12px}
.small{font-size:12px;color:var(--muted)}
.carousel{position:relative;overflow:hidden;border-radius:16px;border:1px solid var(--border);background:#000}
.carousel img{width:100%;height:360px;object-fit:cover;display:none}
.carousel img.active{display:block}
.sidebar{min-width:240px}
.wrap{display:flex;gap:16px}
@media (max-width:1000px){.wrap{flex-direction:column}}
.footer{margin:24px auto;opacity:.7;font-size:12px;text-align:center}
.hl{font-weight:600}
