:root{--bg:#0B1520;--card:#101b25;--muted:#7f96a8;--fg:#eaf2f7;--accent:#2da4ff;--danger:#ff5050;--ok:#1fca64}
*{box-sizing:border-box}body{margin:0;background:var(--bg);color:var(--fg);font:16px/1.4 "Segoe UI",system-ui}
.wrap{max-width:1080px;margin:0 auto;padding:24px}.card{background:var(--card);border:1px solid #2a3a46;border-radius:12px;padding:16px;margin:16px 0}
h1,h2{margin:0 0 12px}.grid{display:grid;gap:12px}.grid-2{grid-template-columns:1fr 1fr}
label{display:block;font-size:13px;color:var(--muted);margin-bottom:4px}
input[type=text],input[type=number],textarea,select{width:100%;padding:10px 12px;border-radius:10px;border:1px solid #3a4a58;background:#0e1821;color:var(--fg)}
table{width:100%;border-collapse:collapse;margin:10px 0 0}th,td{border-bottom:1px solid #243241;padding:8px 10px;text-align:left}th{color:var(--muted);font-weight:600}
.actions{display:flex;gap:8px;flex-wrap:wrap}.btn{padding:10px 14px;border-radius:10px;border:1px solid transparent;color:#fff;text-decoration:none;cursor:pointer}
.btn-primary{background:var(--accent)}.btn-ok{background:var(--ok)}.btn-danger{background:var(--danger)}.btn-outline{background:transparent;border-color:#3a4a58;color:var(--fg)}
.badge{display:inline-block;padding:2px 8px;border-radius:99px;background:#203040;color:#bcd}.flash{padding:12px;border-radius:10px;margin:8px 0}
.flash.success{background:#0f3a1f;color:#cfe}.flash.error{background:#3a1111;color:#fee}small{color:var(--muted)}
