:root{
  --bg:#0b0f14; --card:#111827; --line:#243041; --text:#e6edf3; --muted:#9fb2c6;
  --primary:#3b82f6; --danger:#ef4444; --accent:#0ea5e9;
}
*{box-sizing:border-box}
html,body{margin:0;padding:0;background:radial-gradient(1200px 700px at 20% -10%, #0f172a 0%, #0b0f14 60%);color:var(--text);font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif}
a{color:var(--primary);text-decoration:none}
.container{max-width:940px;margin:24px auto;padding:0 16px}
.card{background:linear-gradient(180deg,#101826 0%, #0e1724 100%);border:1px solid var(--line);border-radius:18px;padding:18px;margin:16px 0;box-shadow:0 10px 30px rgba(0,0,0,.35)}
.card h2{margin:6px 0 12px 2px}

/* Buttons */
.btn,button{appearance:none;background:linear-gradient(180deg, var(--primary), #2563eb);color:#fff;border:0;padding:12px 16px;border-radius:12px;cursor:pointer;font-weight:600;box-shadow:0 3px 0 rgba(0,0,0,.2)}
button.secondary{background:#1f2937}
button.danger{background:linear-gradient(180deg, #f87171, #ef4444)}

/* Text-like inputs (IMPORTANT: include inputs with no type attr) */
input:not([type]), 
input[type="text"], 
input[type="datetime-local"], 
input[type="password"], 
input[type="search"], 
select{
  width:100%;
  display:block;
  background:#0f1720;
  border:1px solid var(--line);
  color:var(--text);
  border-radius:12px;
  padding:10px 12px;
  margin:6px 0 10px;
  outline:none;
}
input:not([type]):focus,
input[type="text"]:focus, 
input[type="datetime-local"]:focus, 
input[type="password"]:focus, 
input[type="search"]:focus, 
select:focus{
  border-color:var(--accent);
  box-shadow:0 0 0 3px rgba(14,165,233,.2)
}

/* Radios/checkboxes */
input[type="checkbox"], input[type="radio"]{
  width:auto;display:inline-block;margin-right:8px;accent-color:var(--primary)
}

/* Labels & small help text */
.lbl{display:block;margin:6px 0 4px;color:#cbd5e1;font-size:14px}
.muted{color:var(--muted);font-size:14px}
.error{color:var(--danger)}

/* Admin form layout */
.form-grid{
  display:grid;
  grid-template-columns: repeat(12, 1fr);
  gap:12px;
  align-items:end;
}
.form-grid .col-12{grid-column: span 12}
.form-grid .col-6{grid-column: span 6}
.form-grid .col-4{grid-column: span 4}
.form-grid .col-3{grid-column: span 3}
.form-grid .check{display:flex;align-items:center;gap:8px;padding:6px 0}

/* Table & lists */
.table{width:100%;border-collapse:collapse}
.table th,.table td{border-bottom:1px solid var(--line);padding:10px;text-align:left}

/* Option list aesthetic */
ul.options{list-style:none;padding-left:0;margin:0;display:grid;grid-template-columns:1fr;gap:12px}
.optcard{background:#0c1420;border:1px solid #1e2a3a;border-radius:12px;padding:12px}
.optcard:hover{border-color:#35507a}
label.opt{display:flex;align-items:center;gap:10px}
.bar{height:8px;background:#0a1220;border-radius:999px;overflow:hidden;margin-top:10px}
.bar>div{height:8px;background:linear-gradient(90deg,#22d3ee,#3b82f6)}
.tag{background:#1f2937;color:#cbd5e1;padding:2px 6px;border-radius:999px;font-size:12px;margin-left:6px}
.custom-box{margin:14px 0}
.optgrid{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}
.optchip{background:#0e1724;border:1px solid #233246;color:#dbe6f3;padding:6px 10px;border-radius:999px}
.votesbox{margin-top:10px}

/* Responsive */
@media (max-width:700px){
  .form-grid{grid-template-columns: repeat(6, 1fr)}
  .form-grid .col-6{grid-column: span 6}
  .form-grid .col-4{grid-column: span 6}
  .form-grid .col-3{grid-column: span 6}
}
@media (max-width:520px){
  .container{padding:0 12px}
  .card{padding:14px;border-radius:16px}
  button,.btn{width:100%}
}
