  :root { --bg:#0f1115; --card:#181b22; --line:#272b34; --txt:#e6e8ec; --mut:#9aa3af; --acc:#5b8cff; --ok:#34d399; --err:#f87171; }
  * { box-sizing:border-box; }
  body { margin:0; background:var(--bg); color:var(--txt); font:15px/1.5 -apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif; }
  .wrap { max-width:760px; margin:0 auto; padding:32px 20px 80px; }
  h1 { font-size:22px; margin:0 0 4px; }
  .sub { color:var(--mut); margin:0 0 28px; }
  .card { background:var(--card); border:1px solid var(--line); border-radius:12px; padding:22px; margin-bottom:20px; }
  label { display:block; font-size:13px; color:var(--mut); margin:0 0 6px; }
  input[type=text], input[type=password] { width:100%; padding:11px 13px; border:1px solid var(--line); background:#0f1115; color:var(--txt); border-radius:8px; font-size:15px; }
  button { background:var(--acc); color:#fff; border:0; padding:11px 18px; border-radius:8px; font-size:15px; font-weight:600; cursor:pointer; }
  button.ghost { background:transparent; border:1px solid var(--line); color:var(--mut); padding:7px 12px; font-weight:500; font-size:13px; }
  button.danger { background:transparent; border:1px solid #5a2a2a; color:var(--err); padding:7px 12px; font-weight:500; font-size:13px; }
  .flash { padding:11px 14px; border-radius:8px; margin-bottom:20px; font-size:14px; }
  .flash.ok { background:rgba(52,211,153,.12); color:var(--ok); border:1px solid rgba(52,211,153,.3); }
  .flash.err { background:rgba(248,113,113,.12); color:var(--err); border:1px solid rgba(248,113,113,.3); }
  .drop { border:2px dashed var(--line); border-radius:12px; padding:40px 20px; text-align:center; color:var(--mut); cursor:pointer; transition:.15s; }
  .drop.over { border-color:var(--acc); background:rgba(91,140,255,.06); color:var(--txt); }
  .drop strong { color:var(--txt); }
  .row { display:flex; gap:10px; align-items:center; }
  .mt { margin-top:14px; }
  table { width:100%; border-collapse:collapse; }
  td, th { text-align:left; padding:10px 8px; border-bottom:1px solid var(--line); font-size:14px; vertical-align:middle; }
  th { color:var(--mut); font-weight:500; font-size:12px; text-transform:uppercase; letter-spacing:.04em; }
  a.link { color:var(--acc); text-decoration:none; }
  .codebox { display:flex; gap:8px; align-items:center; background:#0f1115; border:1px solid var(--line); border-radius:8px; padding:10px 12px; margin-top:14px; }
  .codebox input { border:0; background:transparent; flex:1; color:var(--txt); font-size:14px; }
  .muted { color:var(--mut); font-size:13px; }
  .empty { color:var(--mut); text-align:center; padding:30px 0; }
