
:root { --fg:#0f172a; --muted:#64748b; --accent:#2563eb; }
*{box-sizing:border-box} body{font:14px/1.4 system-ui,Segoe UI,Roboto,Arial;color:var(--fg);margin:0;background:#f8fafc}
.topbar{display:flex;justify-content:space-between;align-items:center;padding:10px 16px;background:#fff;border-bottom:1px solid #e2e8f0;position:sticky;top:0;z-index:2}
.topbar .brand{font-weight:700}
.topbar nav a{margin-right:12px;text-decoration:none;color:#111}
.container{padding:16px;max-width:1100px;margin:0 auto}
h1,h2{margin:.6em 0}
table{width:100%;border-collapse:collapse;background:#fff}
th,td{border:1px solid #e5e7eb;padding:8px}
th{background:#f1f5f9;text-align:left}
label{display:block;margin:8px 0 4px}
input,select{width:100%;padding:8px;border:1px solid #cbd5e1;border-radius:6px;background:#fff}
.row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.btn{display:inline-block;background:var(--accent);border:none;color:white;padding:8px 12px;border-radius:8px;text-decoration:none;cursor:pointer}
.btn.secondary{background:#475569}
.flash{background:#ecfeff;border:1px solid #06b6d4;color:#164e63;padding:10px;border-radius:8px;margin:10px 0}
.card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:12px;margin:12px 0}
.footer{padding:16px;text-align:center;color:var(--muted)}
.inline{display:flex;gap:8px;align-items:center}
.small{font-size:12px;color:var(--muted)}
.text-right{text-align:right}
.badge{display:inline-block;padding:2px 8px;border-radius:999px;background:#e2e8f0}
