body{font-family:system-ui,Arial;margin:0;background:#0b1220;color:#e5e7eb}
a{color:inherit;text-decoration:none}
.shell{display:flex;min-height:100vh}
.side{width:240px;background:#0f172a;padding:18px}
.main{flex:1;padding:18px;background:#0b1220}
.nav a{display:block;padding:10px 12px;border-radius:10px;margin:6px 0;background:#111b33}
.nav a.active{background:#1f2a4a}
.topbar{display:flex;justify-content:space-between;align-items:center;margin-bottom:14px}
.card{background:#0f172a;border:1px solid #1f2a4a;border-radius:14px;padding:14px;margin-bottom:14px}
table{width:100%;border-collapse:collapse}
th,td{padding:10px;border-bottom:1px solid #1f2a4a;text-align:left;font-size:14px}
input,select{width:100%;padding:10px;border-radius:10px;border:1px solid #26345d;background:#0b1220;color:#e5e7eb}
.btn{padding:10px 12px;border-radius:10px;border:0;background:#2563eb;color:white;cursor:pointer}
.btn2{padding:10px 12px;border-radius:10px;border:1px solid #2b3a64;background:transparent;color:#e5e7eb;cursor:pointer}
.box{max-width:420px;margin:8vh auto;background:#0f172a;border:1px solid #1f2a4a;border-radius:14px;padding:18px}
.err{background:#3b0a0a;border:1px solid #7f1d1d;padding:10px;border-radius:10px;margin:10px 0}
.mono{font-family:ui-monospace, SFMono-Regular, Menlo, monospace;background:#0b1220;border:1px solid #26345d;padding:10px;border-radius:10px}

/* --- Modal + forms (admin.js) --- */
.modal{ position:fixed; inset:0; background:rgba(0,0,0,.55); display:none; align-items:center; justify-content:center; padding:16px; z-index:50; }
.modal.open{ display:flex; }
.modal-card{ width:min(760px, 100%); background:#0b1220; border:1px solid rgba(255,255,255,.08); border-radius:14px; padding:14px; }
.modal-head{ display:flex; justify-content:space-between; align-items:center; margin-bottom:10px; }
.modal-title{ font-weight:800; }
.grid2{ display:grid; grid-template-columns:1fr 1fr; gap:10px; }
.grid1{ display:grid; grid-template-columns:1fr; gap:10px; }
.lbl{ font-size:12px; color:#9ca3af; margin-bottom:4px; }
.field{ display:flex; flex-direction:column; gap:4px; }
.input{ width:100%; }
hr.sep{ border:0; border-top:1px solid rgba(255,255,255,.08); margin:12px 0; }

/* --- Tree (MLM) --- */
.icon-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px}
.icon-btn .icon{width:18px;height:18px;display:block}
.tree-toggle{min-width:32px;text-align:center;font-weight:700}
