body{background:#f4f6f9;font-family:Inter,Arial,sans-serif}.sidebar{position:fixed;left:0;top:0;bottom:0;width:245px;background:#101827;color:#fff;padding:20px 12px;z-index:10}.brand{font-size:21px;font-weight:700;padding:10px 14px 25px}.sidebar a{display:block;color:#b9c3d0;text-decoration:none;padding:12px 14px;border-radius:9px;margin:3px 0}.sidebar a:hover{background:#1d293b;color:#fff}.sidebar i{margin-right:9px}.sidebar .logout{position:absolute;bottom:20px;left:12px;right:12px}.content{margin-left:245px}.topbar{height:64px;background:#fff;display:flex;align-items:center;justify-content:space-between;padding:0 25px;box-shadow:0 1px 8px #00000010}.card{border:0;border-radius:14px;box-shadow:0 3px 15px #0000000a}.stat{padding:20px;display:flex;justify-content:space-between;align-items:center}.stat h2{margin:7px 0 0}.stat i{font-size:30px;color:#0d6efd}.winner{padding:22px;display:flex;justify-content:space-between;align-items:center}.winner-percent{font-size:32px;font-weight:800}.logo{width:45px;height:45px;object-fit:contain;border-radius:7px}.login-bg{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#0f172a,#2563eb)}.login-card{width:390px;background:#fff;padding:35px;border-radius:18px;box-shadow:0 20px 60px #0004}.login-icon{width:65px;height:65px;background:#2563eb;color:#fff;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:35px;font-weight:bold;margin-bottom:10px}
.sidebar,.content{transition:width .2s ease,margin-left .2s ease,transform .2s ease}
.brand{display:flex;align-items:center;gap:10px}
.sidebar a{white-space:nowrap;overflow:hidden}
.sidebar a i{display:inline-block;width:20px;text-align:center}
.topbar-heading{display:flex;align-items:center;gap:14px}
.sidebar-toggle{width:40px;height:40px;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:8px;background:transparent;color:#263445;font-size:25px}
.sidebar-toggle:hover,.sidebar-toggle:focus-visible{background:#edf1f6}
.sidebar-backdrop{display:none}
.logo-placeholder{width:45px;height:45px;display:inline-flex;align-items:center;justify-content:center;border:1px solid #dee2e6;border-radius:7px;background:#f8f9fa;color:#64748b;font-size:22px}
.dashboard-party-logo{width:52px;height:52px;object-fit:contain;border:1px solid #e5e7eb;border-radius:10px;background:#fff;padding:4px}
.dashboard-winner-party{display:flex;align-items:center;gap:14px;margin:8px 0}
.dashboard-winner-party h3{margin:0}
.reporte-logo{width:42px;height:42px;object-fit:contain;border:1px solid #e5e7eb;border-radius:8px;background:#fff;padding:3px}
.reporte-pdf-frame{display:block;width:100%;height:min(72vh,780px);border:0;background:#e9edf2}
body.sidebar-collapsed .sidebar{width:76px}
body.sidebar-collapsed .sidebar .brand{padding-left:14px;padding-right:14px}
body.sidebar-collapsed .sidebar .brand span,body.sidebar-collapsed .sidebar a span{display:none}
body.sidebar-collapsed .sidebar a{padding-left:14px;padding-right:14px}
body.sidebar-collapsed .sidebar .logout{left:12px;right:12px}
body.sidebar-collapsed .content{margin-left:76px}
@media(max-width:767.98px){
    .sidebar{width:245px;transform:translateX(-100%)}
    .content,body.sidebar-collapsed .content{margin-left:0}
    body.sidebar-open .sidebar{transform:translateX(0)}
    body.sidebar-open .sidebar-backdrop{display:block;position:fixed;inset:0;background:#0006;border:0;z-index:9}
    body.sidebar-collapsed .sidebar{width:245px}
    body.sidebar-collapsed .sidebar .brand span,body.sidebar-collapsed .sidebar a span{display:inline}
    .topbar{padding:0 14px}
}