:root { color-scheme: dark; }
* { box-sizing: border-box; }
body { margin:0; background:#14161a; color:#e6e8eb;
  font:15px/1.5 -apple-system,Segoe UI,Roboto,Arial,sans-serif; }
.topbar { display:flex; align-items:center; justify-content:space-between;
  padding:12px 18px; background:#1b1e24; border-bottom:1px solid #2a2f37; }
.brand { font-weight:700; }
.tag { font-size:11px; color:#8b93a1; border:1px solid #2a2f37; border-radius:6px; padding:1px 6px; margin-left:6px; }
nav { display:flex; align-items:center; gap:14px; }
nav a { color:#cdd3db; text-decoration:none; }
nav a:hover { color:#fff; }
main { max-width:860px; margin:22px auto; padding:0 16px; }
.card { background:#1b1e24; border:1px solid #2a2f37; border-radius:12px;
  padding:18px 20px; margin-bottom:18px; }
.card.narrow { max-width:360px; margin:60px auto; }
h2 { margin:0 0 14px; font-size:18px; }
.hint { color:#8b93a1; font-size:13px; }
.err { color:#ff6b6b; }
label { display:flex; flex-direction:column; gap:5px; font-size:13px; color:#aab2bd; }
input, select, textarea { background:#0f1115; color:#e6e8eb; border:1px solid #2a2f37;
  border-radius:8px; padding:9px 11px; font:inherit; width:100%; }
textarea { resize:vertical; }
.grid { display:grid; grid-template-columns:1fr 1fr; gap:14px; }
.span2 { grid-column:1 / -1; }
.row { display:flex; gap:10px; align-items:center; flex-wrap:wrap; }
button { cursor:pointer; border:1px solid #2a2f37; background:#232833; color:#e6e8eb;
  border-radius:8px; padding:9px 14px; font:inherit; }
button:hover { background:#2b313d; }
button.primary { background:#fe2c55; border-color:#fe2c55; color:#fff; font-weight:600; }
button.primary:hover { background:#e02449; }
button.primary:disabled { opacity:.5; cursor:default; }
button.link { background:none; border:none; color:#cdd3db; padding:0; }
.btn-sm { padding:5px 9px; font-size:13px; }
.btn-sm.del:hover { background:#3a1f24; border-color:#fe2c55; }
.log { background:#0f1115; border:1px solid #2a2f37; border-radius:8px; padding:12px;
  margin-top:14px; white-space:pre-wrap; font:12px/1.5 ui-monospace,monospace; color:#9fb3c8; }
.accs { list-style:none; margin:0 0 14px; padding:0; }
.accs li { display:flex; align-items:center; gap:10px; padding:8px 0;
  border-bottom:1px solid #22262e; flex-wrap:wrap; }
.accs .name { min-width:160px; }
.accs code { color:#8b93a1; font-size:12px; }
.accs .proxy { width:260px; }
.inline { display:inline; }
.upload { margin-top:8px; }
#status { font-size:13px; }
