
:root { --bg:#0f172a; --card:#111827; --muted:#1f2937; --txt:#e5e7eb; --acc:#22d3ee; }
*{box-sizing:border-box}
body{margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;background:linear-gradient(180deg,#0b1220,#0f172a);color:var(--txt)}
a{color:var(--acc);text-decoration:none}
.container{max-width:1200px;margin:0 auto;padding:24px}
.card{background:linear-gradient(180deg,#111827,#0b0f19);border:1px solid #1f2937;border-radius:16px;box-shadow:0 10px 30px rgba(0,0,0,.35);padding:20px;margin-bottom:20px}
.btn{background:linear-gradient(180deg,#22d3ee,#0ea5e9);color:#001b2e;border:none;padding:10px 14px;border-radius:12px;font-weight:700;cursor:pointer}
.btn:disabled{opacity:.6;cursor:not-allowed}
.btn.secondary{background:#1f2937;color:#cbd5e1;border:1px solid #334155}
.input,select,textarea{width:100%;padding:10px;border-radius:10px;border:1px solid #334155;background:#0b1220;color:#e5e7eb}
.grid{display:grid;gap:16px}
.grid-2{grid-template-columns:1fr 1fr}
.grid-3{grid-template-columns:1fr 1fr 1fr}
table{width:100%;border-collapse:collapse;background:#0b1220;border-radius:12px;overflow:hidden}
th,td{padding:10px;border-bottom:1px solid #1f2937}
th{text-align:left;background:#0b1220;color:#cbd5e1}
tr:hover td{background:#0b1628}
.header{background:#0b1220;border-bottom:1px solid #1f2937;position:sticky;top:0;z-index:10}
.header .wrap{display:flex;gap:16px;align-items:center;justify-content:space-between;max-width:1200px;margin:0 auto;padding:14px 24px}
.brand{font-weight:900;letter-spacing:.3px}
.badge{display:inline-block;padding:4px 10px;background:#111827;border:1px solid #1f2937;border-radius:999px;font-size:12px}
.menu{display:flex;gap:8px;flex-wrap:wrap}
.menu a{padding:8px 12px;border-radius:10px;border:1px solid #1f2937;background:linear-gradient(180deg,#0b1220,#0d1526);color:#e5e7eb}
.menu a.active{border-color:#22d3ee;color:#e6fbff;box-shadow:0 0 0 2px rgba(34,211,238,.15) inset}
.login-wrap{min-height:100vh;display:grid;place-items:center;padding:24px}
.login-card{max-width:420px;width:100%}
.notice{padding:10px;border-radius:10px;background:#052e2b;color:#a7f3d0;border:1px solid #065f46;margin-bottom:12px}
.error{background:#3b0d0d;color:#fecaca;border-color:#7f1d1d}
footer{color:#94a3b8;opacity:.7;text-align:center;padding:24px}
