:root{
  --bg:#0b1220;
  --card:#0f1b33;
  --text:#e8eefc;
  --muted:#a9b6d4;
  --accent:#2d6cff;
  --danger:#e24a4a;
  --ok:#25c06d;
  --border:rgba(255,255,255,0.08);
}

*{box-sizing:border-box}
body{
  margin:0;
  font-family:system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
  background:linear-gradient(180deg, #081024, #060b16);
  color:var(--text);
}
.container{max-width:960px;margin:0 auto;padding:16px}
.header{
  display:flex;justify-content:space-between;align-items:center;
  gap:12px;margin-bottom:16px
}
.brand{display:flex;align-items:center;gap:12px}
.logo{
  width:44px;height:44px;border-radius:12px;
  background:var(--accent);display:grid;place-items:center;
  font-weight:800;letter-spacing:1px
}
.title{font-weight:800;font-size:18px}
.subtitle{color:var(--muted);font-size:13px}
.userbox{display:flex;align-items:center;gap:10px}
.card{
  background:rgba(15,27,51,0.85);
  border:1px solid var(--border);
  border-radius:16px;
  padding:14px;
  margin-bottom:14px;
 
}
h2{margin:0 0 12px 0;font-size:18px}
label{display:flex;flex-direction:column;gap:6px;font-size:13px;color:var(--muted)}
input,select{
  background:#0b1730;
  border:1px solid var(--border);
  color:var(--text);
  border-radius:12px;
  padding:10px 12px;
  font-size:14px;
  outline:none;
}
.row{display:flex;gap:10px;align-items:center;margin-top:10px;flex-wrap:wrap}
.btn{
  background:var(--accent);
  border:none;color:white;
  padding:10px 14px;border-radius:12px;
  font-weight:700;cursor:pointer;
}
.btn-ghost{
  background:transparent;border:1px solid var(--border);
  color:var(--text);
}
.hidden{display:none !important}
.msg{margin-top:10px;min-height:18px;color:var(--muted);font-size:13px}
.muted{color:var(--muted);font-size:13px}
.grid{display:grid;grid-template-columns:1fr;gap:12px}
.grid-2{grid-template-columns:1fr}
.inline{gap:8px}
.seg{display:flex;gap:8px}
.segbtn{
  flex:1;
  background:#0b1730;
  border:1px solid var(--border);
  color:var(--text);
  padding:10px 12px;
  border-radius:12px;
  cursor:pointer;
  font-weight:700;
}
.segbtn.active{border-color:var(--accent);box-shadow:0 0 0 2px rgba(45,108,255,0.25) inset}
.segbtn.ok.active{border-color:var(--ok)}
.segbtn.bad.active{border-color:var(--danger)}
@media(min-width:820px){
  .grid{grid-template-columns:repeat(2,1fr)}
  .grid-2{grid-template-columns:repeat(2,1fr)}
}