:root{
  --bg:#0f1115; --card:#171a21; --muted:#9aa3b2; --text:#e7eaf1; --pri:#4f8cff; --pri-2:#2e6bff; --ok:#22c55e; --warn:#f59e0b; --err:#ef4444; --bd:#242936;
}
*{box-sizing:border-box}
html,body{height:100%}
body{margin:0;background:linear-gradient(180deg,#0e1117,#0b0e13);color:var(--text);font:14px/1.5 system-ui,Segoe UI,Roboto,Ubuntu,Arial}
.hidden{display:none!important}
header.topbar{display:flex;align-items:center;gap:12px;padding:12px 16px;border-bottom:1px solid var(--bd);position:sticky;top:0;background:#0e1218;z-index:10}
.brand{font-weight:700;letter-spacing:.3px}
.spacer{flex:1}
.ghost{background:transparent;border:1px solid var(--bd);color:var(--text);padding:8px 12px;border-radius:10px;cursor:pointer}
.primary{background:var(--pri);border:none;color:white;padding:10px 14px;border-radius:12px;cursor:pointer}
.primary:hover{background:var(--pri-2)}
.secondary{background:#2a3345;border:1px solid #344055;color:#eaf1ff;padding:10px 14px;border-radius:12px;cursor:pointer}
main{max-width:1000px;margin:28px auto;padding:0 16px}
.card{background:var(--card);border:1px solid var(--bd);border-radius:16px;padding:18px;box-shadow:0 10px 30px rgba(0,0,0,.25)}
.form{display:grid;gap:10px;margin:12px 0}
.form input{width:100%;padding:10px 12px;border-radius:10px;border:1px solid #2a2f3d;background:#11141a;color:var(--text)}
.msg{margin-top:8px}
.muted{color:var(--muted);font-size:13px}
.tabs{display:flex;gap:8px;margin-bottom:12px}
.tab{border:1px solid var(--bd);background:#141823;color:#cfd6e6;padding:8px 12px;border-radius:10px;cursor:pointer}
.tab.active{background:#1b2230;border-color:#3a455a}
.pane{margin-top:8px}
.userbox{display:flex;gap:8px;align-items:center}
.toolbar .row{display:flex;flex-wrap:wrap;gap:10px;align-items:end}
label{display:grid;gap:6px;font-weight:600}
.table-wrap{overflow:auto;border:1px solid var(--bd);border-radius:12px}
table{width:100%;border-collapse:collapse}
thead th{position:sticky;top:0;background:#121722;border-bottom:1px solid var(--bd);padding:10px;text-align:left}
tbody td, tbody th{border-bottom:1px solid #1f2635;padding:10px;vertical-align:middle}
.slot{display:flex;gap:8px;align-items:center}
.namepill{padding:6px 10px;border-radius:999px;background:#1a2334;border:1px solid #2a3857}
.action{padding:6px 10px;border-radius:10px;border:1px dashed #3a4b74;background:#12203a;color:#cfe1ff;cursor:pointer}
.action.out{border-style:solid;border-color:#5a2f34;background:#2a1215;color:#ffc7cd}
.row.end{justify-content:flex-end;margin-top:10px}
.list{list-style:none;padding:0;margin:10px 0;display:grid;gap:8px}
.list li{display:flex;align-items:center;justify-content:space-between;background:#131924;border:1px solid var(--bd);padding:10px;border-radius:12px}
.fileinput{margin-left:8px}
.footer{max-width:1000px;margin:20px auto;padding:0 16px;color:var(--muted)}
@media (max-width:680px){
  thead th:nth-child(2), thead th:nth-child(3), thead th:nth-child(4){min-width:180px}
}
