:root{
    --bg:#f4f7fb;
    --text:#1b2430;
    --muted:#7b8794;
    --card:rgba(255,255,255,.88);
    --border:rgba(255,255,255,.65);
    --sidebar:#0f172a;
    --sidebar-text:#cbd5e1;
    --shadow:0 15px 45px rgba(15,23,42,.08);
    --radius:24px;
}
*{box-sizing:border-box}
body{font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;color:var(--text)}
.bg-app{background:linear-gradient(180deg,#f7f9fc 0%,#eef3f9 100%)}
.bg-login{background:radial-gradient(circle at top left,#0d6efd 0%,#6f42c1 45%,#0b1020 100%)}
.app-shell{display:flex;min-height:100vh}
.sidebar{width:290px;background:var(--sidebar);padding:26px 20px;color:#fff;position:sticky;top:0;height:100vh}
.sidebar-brand{display:flex;align-items:center;gap:14px;padding:8px 10px}
.brand-badge{width:52px;height:52px;border-radius:18px;background:linear-gradient(135deg,#0d6efd,#20c997);display:grid;place-items:center;font-weight:800}
.sidebar .nav-link{color:var(--sidebar-text);padding:14px 16px;border-radius:18px;display:flex;gap:10px;align-items:center}
.sidebar .nav-link.active,.sidebar .nav-link:hover{background:rgba(255,255,255,.08);color:#fff}
.main-content{flex:1;padding:24px}
.card-glass{background:var(--card);border:1px solid var(--border);backdrop-filter:blur(14px);border-radius:var(--radius);box-shadow:var(--shadow)}
.topbar{padding:18px 22px;display:flex;align-items:center;justify-content:space-between}
.metric-card{border-radius:28px;padding:26px;color:#fff;box-shadow:var(--shadow);min-height:148px}
.metric-label{font-size:.92rem;opacity:.9}
.metric-value{font-size:2.4rem;font-weight:800;margin-top:10px}
.gradient-primary{background:linear-gradient(135deg,#0d6efd,#6ea8fe)}
.gradient-success{background:linear-gradient(135deg,#198754,#5fd18c)}
.gradient-warning{background:linear-gradient(135deg,#f59f00,#ffd166);color:#2f2a15}
.gradient-danger{background:linear-gradient(135deg,#dc3545,#ff8787)}
.login-card{border-radius:32px;overflow:hidden;background:rgba(255,255,255,.12);backdrop-filter:blur(14px)}
.login-hero{background:linear-gradient(160deg,rgba(255,255,255,.18),rgba(255,255,255,.06))}
.hero-stats{display:flex;gap:18px;flex-wrap:wrap}
.hero-stats div{background:rgba(255,255,255,.08);padding:14px 18px;border-radius:18px;min-width:120px}
.hero-stats strong{display:block;font-size:1.4rem;color:#fff}
.hero-stats span{color:rgba(255,255,255,.75)}
.option-chip{padding:16px 18px;border-radius:18px;background:#fff;border:1px solid #edf2f7;box-shadow:0 8px 20px rgba(15,23,42,.04)}
.option-card{display:flex;align-items:center;gap:14px;padding:18px;border:1px solid #e8edf5;border-radius:20px;background:#fff;cursor:pointer;transition:.2s;min-height:78px}
.option-card:hover{transform:translateY(-2px);box-shadow:0 10px 28px rgba(15,23,42,.07)}
.option-card input{transform:scale(1.15)}
.option-card:has(input:checked){border-color:#0d6efd;box-shadow:0 0 0 4px rgba(13,110,253,.12)}
.question-block{padding:24px;border-radius:24px;background:rgba(255,255,255,.72);border:1px solid rgba(255,255,255,.8)}
.vote-progress{width:74px;height:74px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#0d6efd 0deg,#dbeafe 0deg);font-weight:700;color:#0d6efd}
.progress-modern{height:14px;border-radius:999px;background:#edf2f8}
.progress-modern .progress-bar{border-radius:999px}
.option-bar-0{background:linear-gradient(90deg,#0d6efd,#6ea8fe)}
.option-bar-1{background:linear-gradient(90deg,#198754,#66d19e)}
.option-bar-2{background:linear-gradient(90deg,#f59f00,#ffd166)}
.option-bar-3{background:linear-gradient(90deg,#dc3545,#ff8a8a)}
.option-bar-4{background:linear-gradient(90deg,#6f42c1,#b197fc)}
.option-bar-5{background:linear-gradient(90deg,#20c997,#63e6be)}
.option-bar-6{background:linear-gradient(90deg,#fd7e14,#ffb570)}
.option-bar-7{background:linear-gradient(90deg,#0dcaf0,#74e0ff)}
.chart-card{background:#fff;border-radius:24px;padding:18px;border:1px solid #edf2f7;box-shadow:0 8px 20px rgba(15,23,42,.05)}
.table>:not(caption)>*>*{padding:1rem .75rem}
.form-control,.form-select{border-radius:16px;padding:.9rem 1rem;border:1px solid #dde6f1}
.btn{border-radius:16px}
@media (max-width: 991.98px){
    .app-shell{display:block}
    .sidebar{width:100%;height:auto;position:relative}
    .main-content{padding:16px}
    .topbar{gap:12px;flex-direction:column;align-items:flex-start}
}
