@import "https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&display=swap";.notif-dropdown-wrapper{display:inline-block;position:relative}.notif-dropdown-panel{-webkit-backdrop-filter:blur(16px);z-index:1000;transform-origin:100% 0;background:#fffffffa;border:1px solid #e2e8f0f2;border-radius:16px;flex-direction:column;width:360px;max-width:calc(100vw - 28px);animation:.2s cubic-bezier(.16,1,.3,1) forwards notifDropdownFade;display:flex;position:absolute;top:calc(100% + 12px);right:0;overflow:hidden;box-shadow:0 16px 40px -4px #0f172a24,0 4px 12px -1px #0f172a0d}@keyframes notifDropdownFade{0%{opacity:0;transform:scale(.96)translateY(-8px)}to{opacity:1;transform:scale(1)translateY(0)}}.notif-dropdown-header{background:#fff;border-bottom:1px solid #f1f5f9;padding:16px 18px 12px}.notif-header-title-row{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.notif-title-wrap{align-items:center;gap:8px;display:flex}.notif-header-title{color:#0f172a;letter-spacing:-.01em;font-size:1rem;font-weight:700}.notif-unread-badge{color:#fff;background:#1363df;border-radius:999px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 6px;font-size:.72rem;font-weight:700;display:inline-flex}.notif-mark-all-btn{color:#1363df;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:5px;padding:4px 8px;font-size:.8rem;font-weight:600;transition:background-color .15s;display:inline-flex}.notif-mark-all-btn:hover{background:#eff6ff}.notif-header-actions{align-items:center;gap:8px;display:flex}.notif-close-btn{color:#64748b;cursor:pointer;background:#f1f5f9;border:none;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;padding:0;font-size:1.15rem;line-height:1;transition:background .15s,color .15s;display:none}.notif-close-btn:hover{color:#0f172a;background:#e2e8f0}.notif-tabs-row{align-items:center;gap:8px;display:flex}.notif-tab-btn{color:#64748b;cursor:pointer;background:#f8fafc;border:1px solid #0000;border-radius:999px;padding:5px 12px;font-size:.78rem;font-weight:600;transition:all .15s}.notif-tab-btn:hover{color:#334155;background:#f1f5f9}.notif-tab-btn.active{color:#fff;background:#1363df}.notif-dropdown-body{overscroll-behavior:contain;max-height:380px;overflow-y:auto}.notif-list{margin:0;padding:0;list-style:none}.notif-list-item{cursor:pointer;border-bottom:1px solid #f8fafc;align-items:flex-start;gap:12px;padding:14px 18px;transition:background-color .15s;display:flex;position:relative}.notif-list-item:last-child{border-bottom:none}.notif-list-item:hover{background:#f8fafc}.notif-list-item.unread{background:#eff6ff73}.notif-list-item.unread:hover{background:#eff6ffcc}.notif-icon-badge{border-radius:10px;flex-shrink:0;place-items:center;width:32px;height:32px;margin-top:2px;display:grid}.notif-icon-result{color:#059669;background:#ecfdf5}.notif-icon-poll{color:#2563eb;background:#eff6ff}.notif-icon-cap{color:#d97706;background:#fffbeb}.notif-icon-system{color:#7c3aed;background:#f5f3ff}.notif-icon-election-approved{color:#059669;background:#ecfdf5}.notif-icon-election-rejected{color:#dc2626;background:#fef2f2}.notif-icon-election-pending{color:#d97706;background:#fffbeb}.notif-icon-election-voting{color:#1363df;background:#eff6ff}.notif-content{flex:1;min-width:0}.notif-item-header{justify-content:space-between;align-items:center;gap:6px;margin-bottom:2px;display:flex}.notif-item-title{color:#0f172a;font-size:.84rem;font-weight:700}.notif-item-dot{background:#2563eb;border-radius:50%;flex-shrink:0;width:7px;height:7px}.notif-item-poll-name{color:#1e293b;text-overflow:ellipsis;white-space:nowrap;margin:0 0 3px;font-size:.82rem;font-weight:600;overflow:hidden}.notif-item-message{color:#64748b;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0 0 6px;font-size:.78rem;line-height:1.4;display:-webkit-box;overflow:hidden}.notif-item-time{color:#94a3b8;font-size:.72rem;font-weight:500}.notif-empty-state{text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:40px 24px;display:flex}.notif-empty-icon{background:#f8fafc;border-radius:50%;place-items:center;width:64px;height:64px;margin-bottom:14px;display:grid}.notif-empty-title{color:#1e293b;margin:0 0 6px;font-size:.92rem;font-weight:700}.notif-empty-desc{color:#64748b;max-width:240px;margin:0;font-size:.78rem;line-height:1.45}.notif-dropdown-footer{background:#fafafa;border-top:1px solid #f1f5f9;justify-content:flex-end;align-items:center;padding:10px 18px;display:flex}.notif-clear-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:6px;padding:4px 8px;font-size:.76rem;font-weight:600;transition:color .15s}.notif-clear-btn:hover{color:#64748b}.notif-mobile-backdrop{display:none}@media (width<=640px){.notif-mobile-backdrop{-webkit-backdrop-filter:blur(3px);z-index:999;background:#0f172a66;animation:.2s forwards notifBackdropFade;display:block;position:fixed;inset:0}@keyframes notifBackdropFade{0%{opacity:0}to{opacity:1}}.notif-dropdown-panel{z-index:1000;transform-origin:top;border-radius:18px;width:auto;max-width:calc(100vw - 24px);max-height:calc(100dvh - 78px);animation:.22s cubic-bezier(.16,1,.3,1) forwards notifMobileSlideDown;position:fixed;top:64px;left:12px;right:12px;box-shadow:0 20px 48px -4px #0f172a47,0 8px 24px -2px #0f172a1f}@keyframes notifMobileSlideDown{0%{opacity:0;transform:scale(.97)translateY(-10px)}to{opacity:1;transform:scale(1)translateY(0)}}.notif-close-btn{display:inline-flex}.notif-dropdown-header{padding:14px 16px 12px}.notif-dropdown-body{-webkit-overflow-scrolling:touch;max-height:calc(100dvh - 200px)}.notif-list-item{gap:12px;padding:13px 16px}.notif-dropdown-footer{padding:10px 16px}}@media (width<=380px){.notif-dropdown-panel{border-radius:14px;max-width:calc(100vw - 16px);max-height:calc(100dvh - 68px);top:56px;left:8px;right:8px}.notif-dropdown-header{padding:12px 14px 10px}.notif-header-title{font-size:.95rem}.notif-mark-all-btn{padding:3px 6px;font-size:.74rem}.notif-list-item{gap:10px;padding:11px 12px}.notif-dropdown-body{max-height:calc(100dvh - 180px)}}.shell{box-sizing:border-box;background-color:#f8fafc;background-image:radial-gradient(at 0 0,#e0eeffb3 0,#0000 50%),radial-gradient(at 100% 0,#fef0f8b3 0,#0000 50%),radial-gradient(at 100% 100%,#ecfdf5b3 0,#0000 50%),radial-gradient(at 0 100%,#eef2ffb3 0,#0000 50%);background-position:0 0;background-repeat:repeat;background-size:auto;background-attachment:fixed;background-origin:padding-box;background-clip:border-box;width:100%;max-width:100%;height:100vh;max-height:100vh;font-family:Outfit,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;display:flex;overflow:hidden}.sidebar,.drawer-nav{z-index:30;box-sizing:border-box;background:#fff;border-right:1px solid #e2e8f0cc;flex-direction:column;flex-shrink:0;width:240px;min-width:240px;max-width:240px;height:100vh;max-height:100vh;padding:24px 16px;transition:width .25s cubic-bezier(.4,0,.2,1),min-width .25s cubic-bezier(.4,0,.2,1),max-width .25s cubic-bezier(.4,0,.2,1),padding .25s;display:flex;overflow:hidden auto}.sidebar::-webkit-scrollbar{width:4px}.sidebar::-webkit-scrollbar-thumb{background:#94a3b84d;border-radius:9999px}.sidebar.collapsed{width:72px;min-width:72px;max-width:72px;padding:20px 8px}.sidebar-header{justify-content:space-between;align-items:center;width:100%;margin-bottom:28px;display:flex}.sidebar.collapsed .sidebar-header{flex-direction:column;justify-content:center;align-items:center;gap:12px;margin-bottom:24px}.brand{align-items:center;gap:10px;padding-left:6px;text-decoration:none;display:flex}.sidebar.collapsed .brand{justify-content:center;padding-left:0}.brand-logo-icon{object-fit:contain;flex-shrink:0;width:32px;height:32px}.brand-name{letter-spacing:-.02em;color:#0f172a;text-transform:uppercase;white-space:nowrap;font-size:1.5rem;font-weight:900}.sidebar.collapsed .brand-name{display:none}.sidebar-collapse-btn{color:#64748b;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:9px;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;transition:all .2s;display:inline-flex;box-shadow:0 1px 3px #0f172a0a}.sidebar-collapse-btn:hover{color:#0f172a;background:#f1f5f9;border-color:#cbd5e1}.sidebar-nav-group{flex-direction:column;flex:1;gap:6px;display:flex}.sidebar-nav-item{color:#475569;white-space:nowrap;border-radius:12px;align-items:center;gap:12px;height:44px;padding:0 14px;font-size:.95rem;font-weight:600;text-decoration:none;transition:all .2s;display:flex}.sidebar.collapsed .sidebar-nav-item{justify-content:center;width:44px;height:44px;margin:0 auto;padding:0}.sidebar.collapsed .sidebar-nav-text{display:none}.sidebar-nav-item:hover{color:#0f172a;background:#f1f5f9}.sidebar-nav-item.active,.sidebar-nav-item[aria-current=page]{color:#1363df;background:#eff6ff;font-weight:700;position:relative;box-shadow:0 1px 3px #1363df14}.sidebar-nav-item.active:before,.sidebar-nav-item[aria-current=page]:before{content:"";background:#1363df;border-radius:0 4px 4px 0;width:3.5px;position:absolute;top:8px;bottom:8px;left:0;box-shadow:0 0 8px #1363df99}.sidebar-nav-icon{flex-shrink:0;justify-content:center;align-items:center;width:20px;height:20px;display:inline-flex}.sidebar-create-btn{color:#1363df;white-space:nowrap;background:#eef4ff;border:1.5px solid #bfdbfe;border-radius:12px;justify-content:space-between;align-items:center;height:44px;margin:6px 0;padding:0 14px;font-size:.95rem;font-weight:700;text-decoration:none;transition:all .2s;display:flex}.sidebar-create-btn:hover{background:#dbeafe;border-color:#93c5fd;transform:translateY(-1px)}.sidebar.collapsed .sidebar-create-btn{justify-content:center;width:44px;height:44px;margin:6px auto;padding:0}.sidebar.collapsed .sidebar-create-plus{display:none}.sidebar-admin-section{flex-direction:column;gap:6px;display:flex}.sidebar-section-divider{background:#e2e8f0;height:1px;margin:14px 8px 10px}.sidebar-section-header{padding:4px 12px 6px}.sidebar-section-text{color:#94a3b8;text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:800}.sidebar.collapsed .sidebar-section-header{display:none}.sidebar.collapsed .sidebar-section-divider{margin:10px 4px}.sidebar-footer{border-top:1px solid #f1f5f9;margin-top:auto;padding-top:16px}.sidebar.collapsed .sidebar-footer{justify-content:center;display:flex}.sidebar-logout-btn{color:#64748b;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:10px;align-items:center;gap:10px;width:100%;height:40px;padding:0 12px;font-size:.9rem;font-weight:600;transition:all .2s;display:flex}.sidebar.collapsed .sidebar-logout-btn{justify-content:center;width:44px;height:40px;margin:0 auto;padding:0}.sidebar-logout-btn:hover{color:#ef4444;background:#fee2e2}.shell-main{box-sizing:border-box;flex-direction:column;flex:1;min-width:0;height:100vh;max-height:100vh;display:flex;overflow:hidden}.topbar{-webkit-backdrop-filter:blur(12px);z-index:20;box-sizing:border-box;background:#ffffffd9;border-bottom:1px solid #e2e8f0b3;flex-shrink:0;justify-content:space-between;align-items:center;height:70px;padding:0 36px;display:flex;position:relative}.topbar-left-group{flex:1;align-items:center;min-width:0;margin-right:20px;display:flex}.topbar-ticker-container{-webkit-user-select:none;user-select:none;background:#f8fafcf2;border:1px solid #e2e8f0e6;border-radius:9999px;align-items:center;height:38px;transition:all .2s;display:inline-flex;position:relative;overflow:hidden;box-shadow:0 1px 4px #0f172a08}.topbar-ticker-container:hover{background:#fff;border-color:#cbd5e1;box-shadow:0 3px 10px #0f172a0f}.topbar-ticker-slot{align-items:center;height:100%;padding:0 14px 0 8px;animation:.35s cubic-bezier(.16,1,.3,1) tickerSlideIn;display:flex}@keyframes tickerSlideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.topbar-ticker-link{color:#0f172a;cursor:pointer;align-items:center;gap:8px;max-width:460px;text-decoration:none;display:inline-flex}.topbar-ticker-link:hover .topbar-ticker-title{color:#1363df}.topbar-ticker-link:hover .topbar-ticker-arrow{color:#1363df;transform:translate(2px)}.topbar-ticker-badge{letter-spacing:.02em;border-radius:9999px;flex-shrink:0;align-items:center;gap:4px;padding:3px 9px;font-size:.74rem;font-weight:700;display:inline-flex}.topbar-ticker-badge.hot{color:#ea580c;background:#fff7ed;border:1px solid #ffedd5}.topbar-ticker-badge.ad{color:#2563eb;background:#eff6ff;border:1px solid #dbeafe}.topbar-ticker-title{color:#1e293b;text-overflow:ellipsis;white-space:nowrap;max-width:280px;font-size:.86rem;font-weight:600;transition:color .15s;overflow:hidden}.topbar-ticker-arrow{color:#94a3b8;flex-shrink:0;transition:transform .2s,color .2s}.topbar-ticker-ad{color:#475569;align-items:center;gap:8px;font-size:.84rem;font-weight:500;display:inline-flex}.topbar-ticker-ad-sub{color:#64748b;white-space:nowrap;font-size:.82rem}.topbar-right{align-items:center;gap:20px;display:flex}.topbar-lang-container{position:relative}.topbar-lang-trigger{color:#334155;cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;border:1px solid #e2e8f0;border-radius:50%;justify-content:center;align-items:center;width:36px;height:36px;font-size:.95rem;font-weight:700;transition:all .2s;display:flex}.topbar-lang-trigger:hover,.topbar-lang-trigger.active{color:#0f172a;background:#f8fafc;border-color:#cbd5e1}.topbar-lang-badge{line-height:1}.topbar-lang-menu{z-index:1000;background:#fff;border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;gap:2px;width:140px;padding:6px;display:flex;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 10px 25px -5px #0000001a,0 8px 10px -6px #0000001a}.topbar-lang-item{color:#334155;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:8px;justify-content:space-between;align-items:center;width:100%;padding:8px 12px;font-size:.88rem;font-weight:500;transition:all .15s;display:flex}.topbar-lang-item:hover{color:#0f172a;background:#f1f5f9}.topbar-lang-item.selected{color:#166534;background:#f0fdf4;font-weight:600}.topbar-user-section{align-items:center;gap:12px;display:flex;position:relative}.topbar-user-trigger{cursor:pointer;-webkit-user-select:none;user-select:none;background:0 0;border:1px solid #0000;border-radius:9999px;align-items:center;gap:10px;padding:4px 10px 4px 4px;transition:all .2s;display:flex}.topbar-user-trigger:hover,.topbar-user-trigger.active{background:#f1f5f9;border-color:#e2e8f0}.topbar-avatar{color:#fff;background:linear-gradient(135deg,#1363df 0%,#3b82f6 100%);border-radius:50%;flex-shrink:0;place-items:center;width:36px;height:36px;font-size:.92rem;font-weight:700;display:grid;box-shadow:0 2px 6px #1363df40}.topbar-user-name{color:#0f172a;font-size:.95rem;font-weight:700}.topbar-chevron{transition:transform .2s}.topbar-dropdown-menu{z-index:1000;opacity:0;visibility:hidden;pointer-events:none;background:#fff;border:1px solid #e2e8f0;border-radius:14px;flex-direction:column;width:230px;padding:8px;transition:opacity .18s,transform .18s,visibility .18s;display:flex;position:absolute;top:calc(100% + 8px);right:0;transform:translateY(-6px)scale(.97);box-shadow:0 12px 32px #0f172a1f,0 2px 6px #0f172a0a}.topbar-dropdown-menu.open{opacity:1;visibility:visible;pointer-events:auto;transform:translateY(0)scale(1)}.topbar-dropdown-header{align-items:center;gap:10px;padding:8px 8px 10px;display:flex}.topbar-dropdown-avatar{color:#fff;background:linear-gradient(135deg,#1363df 0%,#3b82f6 100%);border-radius:50%;flex-shrink:0;place-items:center;width:36px;height:36px;font-size:.92rem;font-weight:700;display:grid}.topbar-dropdown-meta{flex-direction:column;display:flex;overflow:hidden}.topbar-dropdown-name{color:#0f172a;white-space:nowrap;text-overflow:ellipsis;font-size:.92rem;font-weight:700;overflow:hidden}.topbar-role-badge{border-radius:4px;margin-top:2px;padding:1px 6px;font-size:.72rem;font-weight:600;display:inline-block}.topbar-role-badge.admin{color:#dc2626;background:#fef2f2}.topbar-role-badge.user{color:#1363df;background:#eff6ff}.topbar-dropdown-divider{background:#f1f5f9;height:1px;margin:4px 0}.topbar-dropdown-locale{padding:4px 8px}.auth-locale-inline{width:100%}.auth-locale-inline .auth-locale-trigger{justify-content:flex-start;width:100%}.auth-locale-inline .auth-locale-trigger span{text-align:left;flex:1}.auth-locale-inline .auth-locale-menu{width:100%;min-width:0;box-shadow:none;background:0 0;border:0;border-radius:10px;margin-top:4px;padding:4px;position:static}.auth-locale-inline .auth-locale-menu button{padding:8px 10px 8px 34px}.topbar-dropdown-item{color:#334155;cursor:pointer;box-sizing:border-box;text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;width:100%;padding:9px 12px;font-size:.88rem;font-weight:500;text-decoration:none;transition:all .15s;display:flex}.topbar-dropdown-item:hover{color:#1363df;background:#f8fafc}.topbar-dropdown-logout{color:#e11d48}.topbar-dropdown-logout:hover{color:#be123c;background:#fff1f2}.topbar-bell-btn{color:#475569;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:50%;place-items:center;width:36px;height:36px;transition:all .2s;display:grid;position:relative}.topbar-bell-btn:hover{color:#0f172a;border-color:#cbd5e1}.topbar-bell-dot{background:#ef4444;border:1.5px solid #fff;border-radius:50%;width:7px;height:7px;position:absolute;top:7px;right:7px}.topbar-bell-badge{color:#fff;text-align:center;box-sizing:border-box;font-variant-numeric:tabular-nums;pointer-events:none;background:#ef4444;border:2px solid #fff;border-radius:9999px;justify-content:center;align-items:center;min-width:18px;height:18px;padding:0 4px;font-size:.68rem;font-weight:700;line-height:14px;display:flex;position:absolute;top:-4px;right:-4px;box-shadow:0 2px 6px #ef444459}.topbar-auth-links{align-items:center;gap:12px;display:flex}.topbar-login-link{color:#475569;border-radius:8px;padding:6px 14px;font-size:.92rem;font-weight:600;text-decoration:none;transition:all .2s}.topbar-login-link:hover{color:#1363df}.topbar-register-link{color:#fff;background:#1363df;border-radius:9999px;padding:7px 18px;font-size:.92rem;font-weight:700;text-decoration:none;transition:all .2s;box-shadow:0 4px 12px #1363df40}.topbar-register-link:hover{background:#0f52ba;transform:translateY(-1px)}.mobile-tabbar{min-height:60px;padding:4px 4px calc(6px + env(safe-area-inset-bottom));box-sizing:border-box;background:#fff;border-top:1px solid #e2e8f0;flex-shrink:0;justify-content:space-around;align-items:stretch;gap:2px;display:flex;box-shadow:0 -2px 10px #0f172a0a}.mobile-tab{color:#64748b;text-align:center;border-radius:10px;flex-direction:column;flex:1 1 0;justify-content:center;align-items:center;gap:2px;min-width:0;min-height:44px;padding:4px 1px;font-size:.66rem;font-weight:600;line-height:1.1;text-decoration:none;display:flex}.mobile-tab.active,.mobile-tab[aria-current=page]{color:#1363df;background:#eff6ff}.mobile-tab-create{color:#fff;background:#1363df}.mobile-tab-create.active,.mobile-tab-create[aria-current=page]{color:#fff;background:#0f52ba}.mobile-tab-create-mark{place-items:center;width:22px;height:22px;font-size:1.25rem;font-weight:700;line-height:1;display:grid}.content{box-sizing:border-box;flex-direction:column;flex:1;width:100%;height:calc(100vh - 70px);min-height:0;max-height:calc(100vh - 70px);padding:24px 36px 16px;display:flex;overflow:hidden}.content::-webkit-scrollbar{width:6px;height:6px}.content::-webkit-scrollbar-track{background:0 0}.content::-webkit-scrollbar-thumb{background:#94a3b859;border-radius:9999px}.content::-webkit-scrollbar-thumb:hover{background:#64748b8c}.topbar-mobile-left{flex-shrink:0;align-items:center;gap:10px;display:none}.topbar-mobile-brand{flex-shrink:0;align-items:center;gap:8px;text-decoration:none;display:flex}.topbar-mobile-menu-btn,.sidebar-mobile-close-btn{display:none}@media (width<=960px){.shell{box-sizing:border-box;flex-direction:column;width:100%;min-width:0;max-width:100%;height:100vh;max-height:100vh;display:flex;overflow:hidden}.sidebar{display:none}.sidebar.mobile-open{z-index:1200;background:#fff;width:270px;max-width:82vw;animation:.22s cubic-bezier(.16,1,.3,1) drawerSlideIn;top:0;bottom:0;left:0;box-shadow:6px 0 24px #0f172a38;display:flex!important;position:fixed!important}@keyframes drawerSlideIn{0%{transform:translate(-100%)}to{transform:translate(0)}}.mobile-drawer-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1150;background:#0f172a73;animation:.2s fadeInBackdrop;position:fixed;inset:0}@keyframes fadeInBackdrop{0%{opacity:0}to{opacity:1}}.topbar-mobile-menu-btn{color:#475569;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;margin-right:6px;padding:6px;transition:background .15s;display:inline-flex}.topbar-mobile-menu-btn:hover{color:#0f172a;background:#f1f5f9}.sidebar-mobile-close-btn{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;padding:6px;display:inline-flex}.sidebar-mobile-close-btn:hover{color:#0f172a;background:#f1f5f9}.topbar-left-group{display:none}.shell-main{box-sizing:border-box;flex-direction:column;flex:1;width:100%;min-width:0;max-width:100%;height:100vh;max-height:100vh;display:flex;overflow:hidden}.topbar-mobile-left{display:flex}.topbar{box-sizing:border-box;flex-shrink:0;width:100%;max-width:100%;height:62px;padding:0 16px}.content{box-sizing:border-box;flex-direction:column;flex:1;width:100%;min-width:0;max-width:100%;height:auto;min-height:0;max-height:none;padding:16px 16px 8px;display:flex;overflow:hidden}}@media (width<=560px){.topbar{height:56px;padding:0 12px}.topbar-right{flex-shrink:0;gap:8px}.topbar-user-name{display:none}.topbar-user,.topbar-auth-links{gap:6px}.topbar-login-link{padding:5px 8px;font-size:.82rem}.topbar-register-link{padding:5px 10px;font-size:.8rem}.content{height:auto;max-height:none;padding:12px 12px 6px}}@media (width<=380px){.topbar{height:52px;padding:0 8px}.topbar-mobile-left{gap:6px}.topbar-mobile-brand .brand-name{display:none}.topbar-register-link{padding:4px 8px;font-size:.78rem}.content{height:auto;max-height:none;padding:10px 8px 4px}}@keyframes pieTooltipFadeIn{0%{opacity:0;transform:translate(-50%,-50%)scale(.96)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}@media (width<=960px){.results-split{grid-template-columns:1fr}}@media (width<=768px){.view-header{margin-bottom:20px}.view-title{font-size:1.55rem}.view-subtitle{font-size:.9rem}.view-card{border-radius:16px;margin-bottom:18px;padding:20px 16px}.view-card-header{flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:16px}.ballot-option-tile{min-height:52px;padding:14px}.ballot-option-left{gap:10px;min-width:0}.ballot-option-text{word-break:break-word;font-size:.95rem}.receipt-card{border-radius:14px;padding:20px 16px}.receipt-header{gap:10px}.receipt-seal{flex-shrink:0;width:34px;height:34px;font-size:1.1rem}.saas-table-card{-webkit-overflow-scrolling:touch;border-radius:14px;overflow-x:auto}.results-table-card .saas-table{table-layout:fixed;width:100%}.results-option-cell{align-items:flex-start}.results-swatch{flex-shrink:0;margin-top:5px;margin-right:6px}.results-option-main{flex-direction:column;align-items:flex-start;gap:3px;min-width:0}.results-option-text{max-width:100%;font-size:.84rem;line-height:1.3}.results-winner-badge{padding:1px 6px;font-size:.65rem;line-height:1.35}.saas-table th,.saas-table td{white-space:nowrap;padding:10px 12px;font-size:.85rem}.view-root,.poll-form-root,.admin-page-root{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;box-sizing:border-box;flex:1;width:100%;min-height:0;padding-bottom:24px;overflow:hidden auto}.view-root::-webkit-scrollbar{width:5px}.poll-form-root::-webkit-scrollbar{width:5px}.admin-page-root::-webkit-scrollbar{width:5px}.view-root::-webkit-scrollbar-thumb{background:#94a3b866;border-radius:9999px}.poll-form-root::-webkit-scrollbar-thumb{background:#94a3b866;border-radius:9999px}.admin-page-root::-webkit-scrollbar-thumb{background:#94a3b866;border-radius:9999px}}@media (width<=480px){.view-title{letter-spacing:-.02em;font-size:1.35rem}.view-card{border-radius:14px;padding:16px 12px}.ballot-option-tile{padding:12px 10px}.ballot-option-letter{width:26px;height:26px;font-size:.78rem}.ballot-option-text{font-size:.9rem}.view-btn{padding:12px 16px;font-size:.9rem}.saas-table th,.saas-table td{padding:8px 10px;font-size:.8rem}.results-table-card .saas-table th,.results-table-card .saas-table td{padding:8px 6px;font-size:.78rem}.results-table-card .saas-table th:first-child,.results-table-card .saas-table td:first-child{padding-left:10px}.results-table-card .saas-table th:last-child,.results-table-card .saas-table td:last-child{padding-right:10px}.results-option-text{font-size:.8rem}.results-winner-badge{padding:0 5px;font-size:.62rem}.receipt-id-box{padding:3px 6px;font-size:.8rem}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes scaleUp{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}.polls-page-root{color:#0f172a;box-sizing:border-box;flex-direction:column;width:100%;max-width:1240px;height:100%;max-height:100%;margin:0 auto;font-family:Outfit,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;display:flex;overflow:hidden}.polls-header{flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.polls-header-left{flex-direction:column;gap:6px;display:flex}.polls-page-title{color:#0f172a;letter-spacing:-.025em;margin:0;font-size:2rem;font-weight:800}.polls-page-subtitle{color:#64748b;max-width:650px;margin:0;font-size:.95rem;line-height:1.5}.polls-create-btn{color:#fff;background:#1363df;border-radius:12px;align-items:center;gap:8px;padding:10px 22px;font-size:.95rem;font-weight:700;text-decoration:none;transition:all .2s;display:inline-flex;box-shadow:0 4px 14px #1363df4d}.polls-create-btn:hover{color:#fff;background:#0f52ba;transform:translateY(-1px);box-shadow:0 6px 18px #1363df66}.polls-filter-card{background:#fff;border:1px solid #e2e8f0;border-radius:18px;flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;padding:14px 20px;display:flex;box-shadow:0 4px 16px #0f172a08}.polls-filter-main-row{flex:1;align-items:center;gap:12px;min-width:0;display:flex}.polls-search-wrap{flex:1;min-width:260px;position:relative}.polls-search-icon{color:#94a3b8;pointer-events:none;width:17px;height:17px;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.polls-search-input{color:#0f172a;box-sizing:border-box;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:9999px;outline:none;width:100%;height:44px;padding:0 16px 0 42px;font-size:.92rem;transition:all .2s}.polls-search-input:focus{background:#fff;border-color:#1363df;box-shadow:0 0 0 3px #1363df1f}.polls-sort-wrap{flex-shrink:0;position:relative}.polls-sort-btn{color:#334155;cursor:pointer;box-sizing:border-box;white-space:nowrap;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:9999px;align-items:center;gap:8px;height:44px;padding:0 16px;font-size:.88rem;font-weight:600;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.polls-sort-btn:hover{color:#0f172a;background:#fff;border-color:#cbd5e1;box-shadow:0 2px 8px #0f172a0d}.polls-sort-btn.open{color:#1363df;background:#fff;border-color:#1363df;box-shadow:0 0 0 3px #1363df1f}.polls-sort-icon{color:#64748b;flex-shrink:0;transition:color .2s}.polls-sort-btn:hover .polls-sort-icon,.polls-sort-btn.open .polls-sort-icon{color:#1363df}.polls-sort-text{align-items:center;gap:4px;display:inline-flex}.polls-sort-val{color:#1363df;font-weight:700}.polls-sort-chevron{color:#94a3b8;flex-shrink:0;transition:transform .2s,color .2s}.polls-sort-btn:hover .polls-sort-chevron,.polls-sort-btn.open .polls-sort-chevron{color:#1363df}.polls-sort-menu{-webkit-backdrop-filter:blur(16px);z-index:60;background:#fffffffa;border:1px solid #e2e8f0f2;border-radius:16px;flex-direction:column;gap:2px;min-width:200px;padding:6px;animation:.2s cubic-bezier(.16,1,.3,1) forwards sortDropdownFadeIn;display:flex;position:absolute;top:calc(100% + 8px);left:0;box-shadow:0 12px 32px #0f172a1f,0 2px 6px #0f172a0a}@keyframes sortDropdownFadeIn{0%{opacity:0;transform:translateY(-6px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.polls-sort-item{color:#334155;cursor:pointer;text-align:left;box-sizing:border-box;background:0 0;border:none;border-radius:10px;justify-content:space-between;align-items:center;width:100%;padding:9px 12px;font-size:.86rem;font-weight:600;transition:background .15s,color .15s;display:flex}.polls-sort-item:hover{color:#0f172a;background:#f1f5f9}.polls-sort-item.selected{color:#1363df;background:#eff6ff;font-weight:700}.polls-sort-item-label{align-items:center;gap:8px;display:inline-flex}.polls-sort-item-icon{font-size:.95rem;line-height:1}.polls-status-tabs{background:#f1f5f9;border-radius:12px;align-items:center;gap:4px;padding:4px;display:flex;overflow-x:auto}.polls-tab-btn{color:#475569;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:9px;align-items:center;gap:6px;padding:6px 14px;font-size:.88rem;font-weight:600;transition:all .2s;display:inline-flex}.polls-tab-btn:hover:not(.active){color:#0f172a;background:#fff9}.polls-tab-btn.active{color:#1363df;background:#fff;font-weight:700;box-shadow:0 2px 6px #0f172a14}.polls-tab-dot{background:#10b981;border-radius:50%;width:6px;height:6px}.polls-tab-count{color:#1363df;background:#1363df1f;border-radius:9999px;justify-content:center;align-items:center;min-width:18px;height:18px;margin-left:2px;padding:0 5px;font-size:.72rem;font-weight:700;display:inline-flex}.polls-tab-btn.active .polls-tab-count{color:#fff;background:#1363df}.my-polls-quick-create-card{cursor:pointer!important;min-height:220px!important;box-shadow:none!important;background:#f8fafcb3!important;border:2px dashed #cbd5e1!important;justify-content:center!important;align-items:center!important;text-decoration:none!important;transition:all .2s cubic-bezier(.4,0,.2,1)!important;display:flex!important}.my-polls-quick-create-card:hover{background:#f0f7ff!important;border-color:#3b82f6!important;transform:translateY(-2px)!important;box-shadow:0 10px 24px #3b82f61f!important}.quick-create-inner{text-align:center;flex-direction:column;align-items:center;gap:10px;padding:20px;display:flex}.quick-create-icon{color:#2563eb;background:#fff;border:1px solid #e2e8f0;border-radius:50%;place-items:center;width:46px;height:46px;transition:transform .2s,background .2s,color .2s;display:grid;box-shadow:0 2px 8px #0f172a0f}.my-polls-quick-create-card:hover .quick-create-icon{color:#fff;background:#2563eb;border-color:#2563eb;transform:scale(1.1)}.quick-create-title{color:#1e293b;font-size:.98rem;font-weight:700}.quick-create-desc{color:#64748b;font-size:.8rem;font-weight:500}.polls-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;margin-bottom:32px;display:grid}.plaza-card{box-sizing:border-box;background:#fff;border:1px solid #e2e8f0;border-radius:20px;flex-direction:column;padding:22px 24px;transition:transform .25s cubic-bezier(.4,0,.2,1),box-shadow .25s cubic-bezier(.4,0,.2,1),border-color .25s;display:flex;position:relative;overflow:hidden;box-shadow:0 4px 20px -2px #0f172a0a}.plaza-card:hover{border-color:#cbd5e1;transform:translateY(-2px);box-shadow:0 16px 36px -4px #1363df1a,0 4px 12px -2px #0f172a0a}.plaza-card-top{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:8px;display:flex}.plaza-card-title{color:#0f172a;letter-spacing:-.01em;-webkit-line-clamp:2;-webkit-box-orient:vertical;flex:1;min-width:0;margin:0;font-size:1.22rem;font-weight:800;line-height:1.35;display:-webkit-box;overflow:hidden}.plaza-card-title a{color:inherit;text-decoration:none;transition:color .2s}.plaza-card-title a:hover{color:#1363df}.plaza-status-badge{letter-spacing:.03em;white-space:nowrap;border-radius:9999px;flex-shrink:0;align-items:center;gap:6px;padding:3px 10px;font-size:.72rem;font-weight:700;display:inline-flex}.plaza-status-open{color:#16a34a;background:#ecfdf5;border:1px solid #bbf7d0}.plaza-status-scheduled{color:#d97706;background:#fffbeb;border:1px solid #fde68a}.plaza-status-closed{color:#475569;background:#f1f5f9;border:1px solid #e2e8f0}.plaza-status-draft{color:#64748b;background:#f8fafc;border:1px solid #cbd5e1}.plaza-status-dot{background:currentColor;border-radius:50%;width:6px;height:6px}.plaza-status-icon{flex-shrink:0;width:13px;height:13px}.plaza-badge{letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;border-radius:9999px;flex-shrink:0;align-items:center;gap:6px;padding:4px 12px;font-size:.72rem;font-weight:700;display:inline-flex}.plaza-badge-open{color:#059669;background:#ecfdf5;border:1px solid #a7f3d0}.plaza-badge-private{color:#e11d48;background:#fff1f2;border:1px solid #fecdd3}.plaza-badge-upcoming{color:#d97706;background:#fffbeb;border:1px solid #fde68a}.plaza-badge-closed{color:#475569;background:#f1f5f9;border:1px solid #e2e8f0}.plaza-badge-dot{background:currentColor;border-radius:50%;width:6px;height:6px}.plaza-card-rules{color:#64748b;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:12px;font-size:.84rem;font-weight:500;line-height:1.4;display:flex}.plaza-rule-sep{color:#94a3b8;-webkit-user-select:none;user-select:none}.plaza-private-wrap{align-items:center;gap:4px;display:inline-flex}.plaza-lock-icon{color:#475569;flex-shrink:0}.plaza-card-time{color:#1e293b;align-items:center;gap:7px;margin-bottom:14px;font-size:.88rem;font-weight:500;display:flex}.plaza-time-icon{color:#334155;flex-shrink:0}.plaza-card-progress{margin-bottom:14px}.plaza-progress-header{color:#334155;justify-content:space-between;align-items:center;margin-bottom:7px;font-size:.82rem;font-weight:500;display:flex}.plaza-progress-label{color:#1e293b}.plaza-progress-value{color:#334155;font-weight:600}.plaza-progress-track{background:#e2e8f0;border-radius:9999px;width:100%;height:8px;overflow:hidden}.plaza-progress-fill{border-radius:9999px;height:100%;transition:width .3s cubic-bezier(.4,0,.2,1)}.plaza-progress-fill-blue{background:linear-gradient(90deg,#2563eb,#3b82f6)}.plaza-progress-fill-purple{background:linear-gradient(90deg,#6366f1,#818cf8)}.plaza-card-desc{color:#475569;-webkit-line-clamp:2;-webkit-box-orient:vertical;min-height:2.5em;margin:0 0 16px;font-size:.86rem;line-height:1.48;display:-webkit-box;overflow:hidden}.plaza-card-desc-placeholder{min-height:12px}.plaza-card-footer{box-sizing:border-box;grid-template-columns:1.2fr 1fr;gap:10px;width:100%;margin-top:auto;padding-top:4px;display:grid}.plaza-card-footer:has(.plaza-card-btn-full){grid-template-columns:1fr}.plaza-card-btn{box-sizing:border-box;text-align:center;border-radius:12px;justify-content:center;align-items:center;width:100%;padding:9px 16px;font-size:.88rem;font-weight:600;text-decoration:none;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex}.plaza-card-btn-primary{color:#fff;background:#1363df;border:1.5px solid #1363df;box-shadow:0 2px 8px #1363df40}.plaza-card-btn-primary:hover{color:#fff;background:#0f4fc1;border-color:#0f4fc1;transform:translateY(-1px);box-shadow:0 4px 14px #1363df59}.plaza-card-btn-outline{color:#1e293b;background:#fff;border:1.5px solid #e2e8f0;box-shadow:0 1px 3px #0f172a0a}.plaza-card-btn-outline:hover{color:#0f172a;background:#f8fafc;border-color:#cbd5e1;transform:translateY(-1px);box-shadow:0 3px 8px #0f172a0f}.plaza-card-btn-muted{color:#94a3b8;cursor:not-allowed;-webkit-user-select:none;user-select:none;background:#f8fafc;border:1.5px solid #f1f5f9}.plaza-card-btn-full{grid-column:1/-1;width:100%}.plaza-card-ribbon{pointer-events:none;width:110px;height:90px;position:absolute;bottom:-10px;right:-10px}.my-polls-stack{flex-direction:column;gap:16px;margin-bottom:32px;display:flex}.my-poll-row-card{background:#fff;border:1px solid #e2e8f0d9;border-radius:16px;justify-content:space-between;align-items:center;gap:20px;padding:20px 24px;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;box-shadow:0 1px 3px #0f172a0a,0 4px 12px -2px #0f172a0d}.my-poll-row-card:hover{border-color:#1363df47;transform:translateY(-2px);box-shadow:0 12px 28px -6px #1363df1f,0 4px 10px -2px #0f172a0a}.my-poll-info-left{flex-direction:column;flex:1;gap:8px;display:flex}.my-poll-title-line{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.my-poll-title{color:#0f172a;margin:0;font-size:1.15rem;font-weight:800}.my-poll-title a{color:inherit;text-decoration:none;transition:color .2s}.my-poll-title a:hover{color:#1363df}.my-poll-id-badge{color:#64748b;background:#f1f5f9;border-radius:6px;padding:2px 8px;font-size:.72rem;font-weight:700}.my-poll-tags-line{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.my-poll-actions-right{flex-shrink:0;align-items:center;gap:10px;display:flex}.my-poll-btn{border-radius:10px;align-items:center;gap:6px;padding:8px 16px;font-size:.88rem;font-weight:700;text-decoration:none;transition:all .2s;display:inline-flex}.my-poll-btn-primary{color:#fff;background:#1363df;box-shadow:0 4px 12px #1363df40}.my-poll-btn-primary:hover{color:#fff;background:#0f52ba;transform:translateY(-1px)}.my-poll-btn-secondary{color:#475569;background:#fff;border:1px solid #e2e8f0}.my-poll-btn-secondary:hover{color:#0f172a;background:#f8fafc;border-color:#cbd5e1}.polls-pagination-bar{color:#64748b;background:#fff;border:1px solid #e2e8f0;border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:20px;padding:16px 20px;font-size:.9rem;display:flex}.polls-page-btn-group{align-items:center;gap:8px;display:flex}.polls-page-btn{color:#334155;cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:6px;padding:6px 14px;font-size:.85rem;font-weight:600;transition:all .2s;display:inline-flex}.polls-page-btn:hover:not(:disabled){color:#0f172a;background:#f1f5f9;border-color:#cbd5e1}.polls-page-btn:disabled{opacity:.4;cursor:not-allowed}.polls-empty-card{text-align:center;background:#fff;border:1px dashed #cbd5e1;border-radius:18px;flex-direction:column;justify-content:center;align-items:center;gap:12px;margin:20px 0;padding:48px 24px;display:flex}.polls-empty-icon{font-size:2.2rem}.polls-empty-text{color:#64748b;margin:0;font-size:1rem;font-weight:600}.polls-scroll-frame{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;box-sizing:border-box;flex:1;width:100%;min-height:0;padding:4px 6px 36px 2px;overflow:hidden auto}.polls-scroll-frame::-webkit-scrollbar{width:6px}.polls-scroll-frame::-webkit-scrollbar-track{background:0 0}.polls-scroll-frame::-webkit-scrollbar-thumb{background:#94a3b866;border-radius:9999px}.polls-scroll-frame::-webkit-scrollbar-thumb:hover{background:#64748b99}@media (width<=860px){.polls-page-root{box-sizing:border-box;flex-direction:column;width:100%;height:100%;min-height:0;max-height:100%;display:flex;overflow:hidden}.polls-header{flex-shrink:0;gap:8px;margin-bottom:10px}.polls-page-title{font-size:1.45rem}.polls-page-subtitle{font-size:.85rem;line-height:1.45}.polls-filter-card{flex-direction:column;flex-shrink:0;align-items:stretch;gap:10px;margin-bottom:12px;padding:12px 14px}.polls-filter-main-row{align-items:center;gap:8px;width:100%;min-width:0;display:flex}.polls-filter-main-row .polls-search-wrap{flex:1;width:auto;min-width:0}.polls-filter-main-row .polls-search-input{width:100%;height:40px;padding:0 12px 0 38px;font-size:.88rem}.polls-filter-main-row .polls-search-icon{width:16px;height:16px;left:12px}.polls-filter-main-row .polls-sort-wrap{flex-shrink:0}.polls-filter-main-row .polls-sort-btn{gap:6px;height:40px;padding:0 12px;font-size:.84rem}.polls-sort-menu{left:auto;right:0}.polls-scroll-frame{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;box-sizing:border-box;flex:1;min-height:0;padding:2px 2px 24px;overflow:hidden auto}.polls-scroll-frame::-webkit-scrollbar{width:5px}.polls-scroll-frame::-webkit-scrollbar-track{background:0 0}.polls-scroll-frame::-webkit-scrollbar-thumb{background:#94a3b866;border-radius:9999px}.dashboard-root .polls-grid,.polls-grid{flex-direction:column;gap:16px;width:100%;display:flex}.polls-grid .poll-card,.polls-grid .plaza-card,.my-poll-row-card{box-sizing:border-box;flex-shrink:0;width:100%;min-height:max-content}.my-poll-row-card{flex-direction:column;align-items:flex-start;gap:14px;padding:16px 14px}.my-poll-actions-right{justify-content:flex-start;width:100%}.polls-status-tabs{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;justify-content:flex-start;width:100%;overflow-x:auto}.polls-status-tabs::-webkit-scrollbar{display:none}}@media (width<=520px){.polls-header-top{flex-direction:column;align-items:flex-start;gap:14px}.polls-title{font-size:1.5rem}.polls-subtitle{font-size:.88rem}.plaza-card{border-radius:16px;padding:18px 16px}.plaza-card-title{font-size:1.15rem}.plaza-card-footer{width:100%}.plaza-card-btn{justify-content:center;width:100%;padding:10px 16px}.my-poll-actions-right{grid-template-columns:1fr 1fr;width:100%;display:grid}.my-poll-actions-right .view-btn{text-align:center;width:100%;padding:8px 10px;font-size:.85rem}.polls-pagination-bar{flex-direction:column;align-items:center;gap:12px}.polls-page-btn-group{justify-content:space-between;width:100%}}@media (width<=440px){.polls-sort-label-prefix{display:none}.polls-filter-main-row .polls-sort-btn{gap:4px;padding:0 10px;font-size:.8rem}}.inline-banner{box-sizing:border-box;border-radius:12px;align-items:center;gap:12px;margin-bottom:16px;padding:12px 16px;font-size:.9rem;font-weight:600;line-height:1.45;animation:.2s cubic-bezier(.16,1,.3,1) inlineBannerPop;display:flex}@keyframes inlineBannerPop{0%{opacity:0;transform:translateY(-4px)scale(.99)}to{opacity:1;transform:translateY(0)scale(1)}}.inline-banner-icon{flex-shrink:0;justify-content:center;align-items:center;font-size:1.15rem;display:flex}.inline-banner-message{word-break:break-word;flex:1}.inline-banner-close{cursor:pointer;color:inherit;opacity:.6;background:0 0;border:none;justify-content:center;align-items:center;padding:0 4px;font-size:1.25rem;line-height:1;transition:opacity .15s;display:flex}.inline-banner-close:hover{opacity:1}.inline-banner.type-success{color:#065f46;background:#ecfdf5;border:1px solid #a7f3d0}.inline-banner.type-error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.inline-banner.type-warning{color:#92400e;background:#fffbeb;border:1px solid #fde68a}.inline-banner.type-info{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe}.admin-election-create-page{box-sizing:border-box;flex-direction:column;gap:20px;width:100%;max-width:900px;margin:0 auto;padding:8px 12px 64px;display:flex}.create-form-card{background:#fff;border:1px solid #e2e8f0d9;border-radius:20px;flex-direction:column;gap:28px;padding:36px;display:flex;box-shadow:0 1px 3px #0f172a0a,0 6px 20px -3px #0f172a0f}.create-header{border-bottom:1px solid #f1f5f9;flex-direction:column;gap:8px;padding-bottom:20px;display:flex}.create-title{color:#0f172a;letter-spacing:-.025em;margin:0;font-size:1.85rem;font-weight:800}.create-subtitle{color:#64748b;margin:0;font-size:.95rem;line-height:1.5}.create-form{flex-direction:column;gap:24px;display:flex}.form-input,.form-textarea{color:#0f172a;box-sizing:border-box;background:#fff;border:1.5px solid #cbd5e1;border-radius:12px;min-height:44px;padding:12px 16px;font-size:.92rem;transition:border-color .15s,box-shadow .15s}.form-input:focus,.form-textarea:focus{border-color:#1363df;outline:none;box-shadow:0 0 0 3px #1363df26}.form-row-grid{grid-template-columns:1fr 1fr;gap:16px;display:grid}.live-results-toggle-box{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;flex-direction:column;gap:6px;padding:18px 20px;transition:border-color .15s;display:flex}.live-results-toggle-box:hover{border-color:#cbd5e1}.checkbox-label{cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:10px;display:flex}.checkbox-label input[type=checkbox]{accent-color:#1363df;cursor:pointer;width:18px;height:18px}.toggle-title{color:#0f172a;font-size:.94rem;font-weight:700}.toggle-hint{color:#64748b;margin:0 0 0 28px;font-size:.84rem;line-height:1.4}.candidates-editor-section{border-top:1px solid #f1f5f9;flex-direction:column;gap:16px;padding-top:24px;display:flex}.section-header-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.btn-add-candidate{color:#1d4ed8;cursor:pointer;background:#eff6ff;border:1px solid #bfdbfe;border-radius:10px;min-height:38px;padding:8px 18px;font-size:.86rem;font-weight:700;transition:all .15s}.btn-add-candidate:hover{background:#dbeafe;border-color:#93c5fd}.candidates-inputs-list{flex-direction:column;gap:14px;display:flex}.candidate-input-row{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;align-items:flex-end;gap:12px;padding:16px 18px;transition:border-color .15s;display:flex}.candidate-input-row:hover{border-color:#cbd5e1}.input-field{flex-direction:column;gap:6px;display:flex}.input-field label{color:#64748b;text-transform:uppercase;letter-spacing:.03em;font-size:.78rem;font-weight:700}.col-code{flex-shrink:0;width:100px}.col-name{flex-shrink:0;width:200px}.col-statement{flex:1}.btn-remove-cand{color:#dc2626;cursor:pointer;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;font-size:1.25rem;font-weight:700;transition:all .15s;display:flex}.btn-remove-cand:hover{color:#b91c1c;background:#fee2e2;border-color:#fca5a5}.create-submit-row{margin-top:14px}.btn-submit-create{color:#fff;cursor:pointer;background:#1363df;border:none;border-radius:12px;width:100%;min-height:48px;padding:14px;font-size:1.02rem;font-weight:800;transition:all .15s;box-shadow:0 4px 14px #1363df47}.btn-submit-create:hover:not(:disabled){background:#0f52ba;box-shadow:0 6px 18px #1363df61}.btn-submit-create:disabled{opacity:.6;cursor:not-allowed}.create-error-banner{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:12px;padding:14px 18px;font-size:.9rem;font-weight:600}@media (width<=640px){.create-form-card{border-radius:16px;gap:20px;padding:22px 18px}.create-title{font-size:1.45rem}.form-row-grid{grid-template-columns:1fr;gap:14px}.candidate-input-row{flex-direction:column;align-items:stretch;padding:14px}.col-code,.col-name,.col-statement{width:100%}.btn-remove-cand{border-radius:8px;width:100%;height:40px;font-size:.9rem}}.confirm-action-backdrop{-webkit-backdrop-filter:blur(4px);z-index:1000;background:#0f172a8c;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.confirm-action-card{text-align:center;box-sizing:border-box;background:#fff;border-radius:20px;flex-direction:column;align-items:center;width:100%;max-width:440px;padding:32px 28px;display:flex;box-shadow:0 25px 50px -12px #0f172a40,0 0 0 1px #e2e8f0cc}.confirm-action-icon-circle{border-radius:50%;justify-content:center;align-items:center;width:52px;height:52px;margin-bottom:16px;font-size:1.6rem;display:flex}.confirm-action-icon-circle.variant-primary{color:#2563eb;background:#eff6ff}.confirm-action-icon-circle.variant-warning{color:#d97706;background:#fef3c7}.confirm-action-icon-circle.variant-danger{color:#dc2626;background:#fee2e2}.confirm-action-title{color:#0f172a;letter-spacing:-.01em;margin:0 0 8px;font-size:1.25rem;font-weight:800}.confirm-action-message{color:#475569;margin:0 0 24px;font-size:.93rem;line-height:1.55}.confirm-action-actions{gap:12px;width:100%;display:flex}.btn-confirm-action-cancel{color:#475569;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:12px;flex:1;padding:12px 16px;font-size:.92rem;font-weight:700;transition:all .15s}.btn-confirm-action-cancel:hover:not(:disabled){color:#0f172a;background:#f8fafc;border-color:#94a3b8}.btn-confirm-action-cancel:disabled{opacity:.6;cursor:not-allowed}.btn-confirm-action-submit{cursor:pointer;border:none;border-radius:12px;flex:1;padding:12px 16px;font-size:.92rem;font-weight:700;transition:all .15s}.btn-confirm-action-submit.variant-primary{color:#fff;background:#1363df;box-shadow:0 4px 12px #1363df40}.btn-confirm-action-submit.variant-primary:hover:not(:disabled){background:#0d4eb5}.btn-confirm-action-submit.variant-warning{color:#fff;background:#ea580c;box-shadow:0 4px 12px #ea580c40}.btn-confirm-action-submit.variant-warning:hover:not(:disabled){background:#c2410c}.btn-confirm-action-submit.variant-danger{color:#fff;background:#dc2626;box-shadow:0 4px 12px #dc262640}.btn-confirm-action-submit.variant-danger:hover:not(:disabled){background:#b91c1c}.btn-confirm-action-submit:disabled{opacity:.6;cursor:not-allowed}.election-timeline-wrapper{box-sizing:border-box;background:#f8fafc;border:1px solid #eef2f6;border-radius:14px;flex-direction:column;width:100%;margin:6px 0;padding:14px 10px 12px;display:flex;position:relative}.timeline-steps-track{justify-content:space-between;align-items:center;width:100%;display:flex;position:relative}.timeline-connector{z-index:1;background:#e2e8f0;height:3px;display:flex;position:absolute;top:16px;left:10%;right:10%}.connector-segment{flex:1;height:100%}.connector-done{background:#059669}.connector-active{background:linear-gradient(90deg,#059669,#1363df)}.connector-pending{background:#e2e8f0}.timeline-step{z-index:2;flex-direction:column;flex:1;align-items:center;min-width:0;display:flex;position:relative}.step-circle{color:#64748b;box-sizing:border-box;background:#fff;border:2px solid #e2e8f0;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:30px;height:30px;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex}.step-completed .step-circle{color:#059669;background:#ecfdf5;border-color:#059669;box-shadow:0 1px 3px #05966926}.step-completed .step-pill{color:#047857;background:#ecfdf5;font-weight:700}.step-active .step-circle{color:#fff;background:#1363df;border-color:#1363df;width:36px;height:36px;margin:-3px 0;box-shadow:0 0 0 5px #1363df29,0 3px 8px #1363df47}.step-active .step-pill{color:#fff;background:#1363df;font-weight:800;box-shadow:0 2px 6px #1363df40}.step-pending .step-circle{color:#94a3b8;background:#f8fafc;border:2px dashed #cbd5e1}.step-pending .step-pill{color:#94a3b8;background:0 0;font-weight:600}.step-pill{letter-spacing:-.01em;white-space:nowrap;text-align:center;border-radius:9999px;justify-content:center;align-items:center;margin-top:8px;padding:2px 8px;font-size:.74rem;transition:all .15s;display:inline-flex}.step-pill-short,.timeline-mobile-summary{display:none}@media (width<=640px){.election-timeline-wrapper.election-timeline-compact{background:0 0;border:0;margin:0;padding:9px 5px 6px}.election-timeline-compact .step-circle,.election-timeline-compact .step-active .step-circle{width:12px;height:12px;box-shadow:none;border-width:2px;margin:0}.election-timeline-compact .step-circle svg{display:none}.election-timeline-compact .timeline-connector{height:2px;top:15px;left:10%;right:10%}.election-timeline-compact .step-pill-short{color:#64748b;white-space:nowrap;margin-top:7px;font-size:.68rem;font-weight:600;display:block}.election-timeline-compact .step-active .step-pill-short{color:#1363df;font-weight:800}.election-timeline-compact .step-completed .step-pill-short{color:#047857}.election-timeline-compact .timeline-mobile-summary{display:none}.election-timeline-wrapper{gap:8px;padding:12px 10px}.timeline-step .step-pill{display:none}.step-circle{width:28px;height:28px}.step-circle svg{width:14px;height:14px}.step-active .step-circle{width:32px;height:32px;margin:-2px 0}.timeline-connector{top:15px}.timeline-mobile-summary{color:#334155;background:#fff;border:1px solid #e2e8f0;border-radius:8px;flex-direction:column;gap:4px;margin-top:4px;padding:8px 10px;font-size:.8rem;display:flex}.mobile-summary-row{flex-wrap:wrap;align-items:center;gap:6px;line-height:1.4;display:flex}.mobile-summary-row.current-stage strong{color:#1363df}.mobile-summary-row.next-stage{color:#64748b;font-size:.76rem}.summary-badge{color:#1d4ed8;background:#eff6ff;border-radius:4px;padding:1px 6px;font-size:.72rem;font-weight:700}}.election-phase-badge{letter-spacing:.01em;border-radius:9999px;align-items:center;gap:6px;padding:3px 10px;font-size:.78rem;font-weight:600;line-height:1.3;display:inline-flex}.phase-dot{border-radius:50%;width:7px;height:7px;display:inline-block}.badge-draft{color:#475569;background:#f1f5f9}.badge-draft .phase-dot{background:#94a3b8}.badge-reg-sched{color:#b45309;background:#fffbeb}.badge-reg-sched .phase-dot{background:#f59e0b}.badge-reg-open{color:#1d4ed8;background:#eff6ff}.badge-reg-open .phase-dot{background:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.badge-reviewing{color:#7e22ce;background:#faf5ff}.badge-reviewing .phase-dot{background:#a855f7}.badge-vote-sched{color:#a16207;background:#fefce8}.badge-vote-sched .phase-dot{background:#eab308}.badge-vote-open{color:#047857;background:#ecfdf5}.badge-vote-open .phase-dot{background:#10b981;box-shadow:0 0 0 2px #10b98140}.badge-closed{color:#64748b;background:#f8fafc;border:1px solid #e2e8f0}.badge-closed .phase-dot{background:#94a3b8}.admin-election-detail-page{box-sizing:border-box;flex-direction:column;gap:22px;width:100%;max-width:1020px;margin:0 auto;padding:8px 12px 64px;display:flex}.admin-breadcrumb{margin-bottom:2px}.admin-detail-header-card{background:#fff;border:1px solid #e2e8f0d9;border-radius:20px;flex-direction:column;gap:18px;padding:32px;display:flex;box-shadow:0 1px 3px #0f172a0a,0 6px 20px -3px #0f172a0f}.header-badge-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.lifecycle-tag{color:#64748b;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:3px 8px;font-family:monospace;font-size:.75rem;font-weight:700}.header-title{color:#0f172a;letter-spacing:-.025em;margin:0;font-size:1.85rem;font-weight:800;line-height:1.3}.header-desc{color:#475569;margin:0;font-size:.98rem;line-height:1.6}.admin-control-bar{border-top:1px solid #f1f5f9;flex-wrap:wrap;align-items:center;gap:10px;padding-top:20px;display:flex}.ctrl-btn{cursor:pointer;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;min-height:40px;padding:9px 20px;font-size:.88rem;font-weight:700;text-decoration:none;transition:all .15s;display:inline-flex}.btn-publish{color:#fff;background:#1363df;box-shadow:0 4px 12px #1363df40}.btn-publish:hover{color:#fff;background:#0f52ba;box-shadow:0 6px 16px #1363df59}.btn-results{color:#334155;background:#f1f5f9;border-color:#cbd5e1}.btn-results:hover{color:#0f172a;background:#e2e8f0}.detail-meta-grid{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.meta-card{background:#fff;border:1px solid #e2e8f0d9;border-radius:16px;flex-direction:column;gap:8px;padding:20px;display:flex;box-shadow:0 1px 3px #0f172a0a}.meta-label{color:#64748b;text-transform:uppercase;letter-spacing:.04em;font-size:.78rem;font-weight:700}.meta-val{color:#1e293b;font-size:.88rem;font-weight:600;line-height:1.5}.tag-enabled{color:#059669;font-weight:700}.tag-disabled{color:#64748b;font-weight:600}.admin-candidates-section{flex-direction:column;gap:16px;display:flex}.candidates-table-card{-webkit-overflow-scrolling:touch;background:#fff;border:1px solid #e2e8f0d9;border-radius:16px;overflow-x:auto;box-shadow:0 1px 3px #0f172a0a}.candidates-table{border-collapse:collapse;width:100%}.candidates-table th{color:#475569;text-transform:uppercase;letter-spacing:.04em;text-align:left;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:14px 18px;font-size:.82rem;font-weight:700}.candidates-table td{color:#1e293b;vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:14px 18px;font-size:.9rem}.candidates-table tr:last-child td{border-bottom:none}.col-code{width:110px}.candidate-code-tag{color:#475569;background:#f1f5f9;border-radius:6px;padding:3px 8px;font-family:monospace;font-size:.78rem;font-weight:700}.col-name{color:#0f172a;width:220px;font-weight:700}.col-statement{color:#64748b;font-size:.88rem;line-height:1.4}@media (width<=768px){.admin-detail-header-card{border-radius:16px;padding:22px 18px}.header-title{font-size:1.45rem}.admin-control-bar{flex-direction:column;align-items:stretch}.ctrl-btn{width:100%;min-height:44px}.detail-meta-grid{grid-template-columns:1fr;gap:12px}.candidates-table th,.candidates-table td{padding:12px 14px}}.registrations-header-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.filter-pill-row{align-items:center;gap:8px;max-width:100%;padding-bottom:2px;display:flex;overflow-x:auto}.filter-pill{color:#475569;cursor:pointer;white-space:nowrap;background:#f1f5f9;border:1px solid #0000;border-radius:9999px;min-height:34px;padding:7px 16px;font-size:.82rem;font-weight:700;transition:all .15s}.filter-pill:hover{color:#0f172a;background:#e2e8f0}.filter-pill.active{color:#fff;background:#1363df;box-shadow:0 2px 8px #1363df47}.registrations-table-card{-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#cbd5e1 transparent;background:#fff;border:1px solid #e2e8f0d9;border-radius:16px;width:100%;overflow-x:auto;box-shadow:0 1px 3px #0f172a0a,0 4px 16px -2px #0f172a0d}.registrations-table-card::-webkit-scrollbar{height:6px}.registrations-table-card::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:9999px}.registrations-table-card::-webkit-scrollbar-track{background:0 0}.registrations-table{border-collapse:separate;border-spacing:0;white-space:nowrap;width:100%;min-width:860px}.registrations-table th{color:#475569;text-transform:uppercase;letter-spacing:.03em;text-align:left;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:12px 14px;font-size:.78rem;font-weight:700}.registrations-table td{color:#1e293b;vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:12px 14px;font-size:.88rem}.registrations-table tr:last-child td{border-bottom:none}.registrations-table tr:hover td{background:#f8fafc}.th-score,.col-score{text-align:center}.th-actions,.col-actions{text-align:right;padding-right:18px;position:sticky;right:0}.th-actions{z-index:2;background:#f8fafc;box-shadow:-3px 0 6px -2px #0f172a0f}.col-actions{z-index:1;background:#fff;box-shadow:-3px 0 6px -2px #0f172a0f}.registrations-table tr:hover .col-actions{background:#f8fafc}.col-id{color:#64748b;font-family:monospace;font-size:.84rem;font-weight:700}.col-name{color:#0f172a;font-weight:700}.status-pill{letter-spacing:.04em;text-transform:uppercase;border-radius:9999px;align-items:center;padding:4px 12px;font-size:.75rem;font-weight:800;display:inline-flex}.score-tag{color:#334155;font-variant-numeric:tabular-nums;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:3px 8px;font-size:.8rem;font-weight:700}.table-btn{cursor:pointer;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;min-height:32px;padding:6px 14px;font-size:.82rem;font-weight:700;transition:all .15s;display:inline-flex}.table-btn.btn-locked{color:#94a3b8;cursor:not-allowed;box-shadow:none;background:#f1f5f9;border-color:#e2e8f0}.table-btn.btn-locked:hover{color:#94a3b8;background:#f1f5f9}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:999;background:#0f172a8c;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.review-modal-box{background:#fff;border:1px solid #e2e8f0e6;border-radius:20px;flex-direction:column;gap:20px;width:100%;max-width:480px;padding:30px;display:flex;box-shadow:0 20px 30px -10px #0f172a40}.modal-title{color:#0f172a;margin:0;font-size:1.3rem;font-weight:800;line-height:1.3}.modal-subtitle{color:#64748b;margin:-12px 0 0;font-size:.88rem}.review-modal-error{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:12px;align-items:center;gap:10px;padding:12px 14px;font-size:.88rem;font-weight:600;line-height:1.45;animation:.2s ease-out modalErrorPop;display:flex}@keyframes modalErrorPop{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.review-modal-error .error-icon{flex-shrink:0;font-size:1.15rem}.decision-radio-group{grid-template-columns:1fr 1fr;gap:12px;display:grid}.decision-card{cursor:pointer;-webkit-user-select:none;user-select:none;border:2px solid #e2e8f0;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:12px;font-weight:700;transition:all .15s;display:flex}.decision-card.selected.approve{color:#065f46;background:#ecfdf5;border-color:#059669}.decision-card.selected.reject{color:#991b1b;background:#fef2f2;border-color:#dc2626}.decision-label{font-size:.95rem}.form-textarea{color:#0f172a;resize:vertical;border:1.5px solid #cbd5e1;border-radius:10px;padding:12px 14px;font-size:.9rem;transition:border-color .15s,box-shadow .15s}.form-textarea:focus{border-color:#1363df;outline:none;box-shadow:0 0 0 3px #1363df26}.modal-actions{gap:12px;margin-top:6px;display:flex}.btn-modal-cancel{color:#475569;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:10px;flex:1;min-height:44px;padding:12px;font-size:.92rem;font-weight:700;transition:background .15s}.btn-modal-cancel:hover{background:#f8fafc}.btn-modal-confirm{color:#fff;cursor:pointer;background:#1363df;border:none;border-radius:10px;flex:1;min-height:44px;padding:12px;font-size:.92rem;font-weight:700;transition:all .15s;box-shadow:0 4px 12px #1363df40}@media (width<=640px){.registrations-header-row{flex-direction:column;align-items:stretch}.filter-pill-row{width:100%;padding-bottom:6px;overflow-x:auto}.registrations-table th,.registrations-table td{padding:12px 14px}.review-modal-box{border-radius:16px;padding:22px 18px}}.admin-page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.btn-create-election{color:#fff;background:#1363df;border-radius:12px;align-items:center;gap:8px;min-height:42px;padding:10px 22px;font-size:.92rem;font-weight:700;text-decoration:none;transition:all .15s;display:inline-flex;box-shadow:0 4px 14px #1363df40}.btn-create-election:hover{color:#fff;background:#0f52ba;transform:translateY(-1px);box-shadow:0 6px 18px #1363df59}.admin-view-root{max-width:1240px}.table-scroll-toolbar{justify-content:space-between;align-items:center;margin-bottom:10px;padding:0 4px;display:flex}.scroll-hint-pill{color:#475569;-webkit-user-select:none;user-select:none;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:9999px;align-items:center;gap:6px;padding:5px 12px;font-size:.8rem;font-weight:600;display:inline-flex}.scroll-arrow-controls{align-items:center;gap:8px;display:inline-flex}.scroll-arrow-btn{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;font-size:.8rem;transition:all .15s;display:inline-flex;box-shadow:0 1px 2px #0f172a0d}.scroll-arrow-btn:hover{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe;transform:translateY(-1px)}.admin-elections-table-wrapper{-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#94a3b8 #f1f5f9;background:#fff;border:1px solid #e2e8f0d9;border-radius:16px;width:100%;overflow:auto hidden;box-shadow:0 1px 3px #0f172a0a,0 4px 16px -2px #0f172a0d}.admin-elections-table-wrapper::-webkit-scrollbar{height:10px}.admin-elections-table-wrapper::-webkit-scrollbar-track{background:#f1f5f9;border-bottom-left-radius:16px}.admin-elections-table-wrapper::-webkit-scrollbar-thumb{background:#cbd5e1;border:2px solid #f1f5f9;border-radius:9999px}.admin-elections-table-wrapper::-webkit-scrollbar-thumb:hover{background:#94a3b8}.admin-elections-table{border-collapse:separate;border-spacing:0;width:100%;min-width:1260px}.admin-elections-table th{color:#475569;text-transform:uppercase;letter-spacing:.04em;text-align:left;white-space:nowrap;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:14px 16px;font-size:.78rem;font-weight:700}.admin-elections-table td{color:#1e293b;vertical-align:middle;background:#fff;border-bottom:1px solid #f1f5f9;padding:14px 16px;font-size:.88rem}.admin-elections-table tr:hover td{background:#f8fafc}.col-id{color:#64748b;white-space:nowrap;width:60px;min-width:60px;font-family:monospace;font-size:.82rem;font-weight:700}.col-title{min-width:260px;line-height:1.45}.col-title a{color:#0f172a;font-weight:700;text-decoration:none;transition:color .15s;display:inline-block}.col-title a:hover{color:#1363df}.col-phase{white-space:nowrap;width:140px;min-width:140px}.col-live{text-align:center;white-space:nowrap;width:90px;min-width:90px}.col-candidates{text-align:center;white-space:nowrap;width:110px;min-width:110px;font-weight:600}.col-dates{color:#64748b;font-variant-numeric:tabular-nums;white-space:nowrap;width:240px;min-width:240px;font-size:.82rem}.election-dates-box{align-items:center;gap:6px;display:inline-flex}.election-dates-box .date-sep{color:#94a3b8}.col-actions-header{white-space:nowrap;text-align:right;z-index:10;background:#f8fafc;border-left:1px solid #e2e8f0;width:320px;min-width:320px;position:sticky;right:0;box-shadow:-8px 0 16px -6px #0f172a1f;padding-right:20px!important}.col-actions{white-space:nowrap;text-align:right;z-index:5;background:#fff;border-left:1px solid #f1f5f9;width:320px;min-width:320px;position:sticky;right:0;box-shadow:-8px 0 16px -6px #0f172a1f;padding-right:20px!important}.col-actions-group{white-space:nowrap;justify-content:flex-end;align-items:center;gap:6px;display:inline-flex}.admin-elections-table tr:hover .col-actions{background:#f8fafc}.table-btn{cursor:pointer;white-space:nowrap;border:1px solid #0000;border-radius:8px;justify-content:center;align-items:center;min-height:32px;padding:6px 14px;font-size:.82rem;font-weight:700;text-decoration:none;transition:all .15s;display:inline-flex}.btn-view{color:#334155;background:#f1f5f9;border-color:#cbd5e1}.btn-view:hover{color:#0f172a;background:#e2e8f0}.btn-review{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.btn-review:hover{background:#dbeafe}.btn-publish{color:#047857;background:#ecfdf5;border-color:#a7f3d0}.btn-publish:hover{background:#d1fae5}.btn-freeze{color:#b45309;background:#fffbeb;border-color:#fde68a}.btn-freeze:hover{background:#fef3c7}.btn-close{color:#b91c1c;background:#fef2f2;border-color:#fecaca}.btn-close:hover{background:#fee2e2}.admin-success-banner{color:#047857;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:12px;margin-bottom:18px;padding:12px 18px;font-size:.88rem;font-weight:600}.admin-error-banner{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:12px;margin-bottom:18px;padding:12px 18px;font-size:.88rem;font-weight:600}@media (width<=768px){.col-actions-header,.col-actions{width:88px!important;min-width:88px!important;padding-left:8px!important;padding-right:10px!important}.col-actions-group{justify-content:center!important;gap:0!important}.col-actions-group .table-btn:not(.btn-view),.col-actions-group .roster-frozen-badge{display:none!important}.col-actions-group .btn-view{min-height:30px;padding:6px 12px;font-size:.82rem;font-weight:700}}@media (width<=640px){.admin-page-header{flex-direction:column;align-items:stretch}.btn-create-election{justify-content:center;width:100%;min-height:44px}.admin-elections-table th,.admin-elections-table td{padding:12px 14px}}.dashboard-root{color:#0f172a;box-sizing:border-box;flex-direction:column;width:100%;max-width:1240px;height:100%;max-height:100%;margin:0 auto;font-family:Outfit,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;display:flex;overflow:hidden}.dashboard-header{flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;display:flex}.dashboard-title-area{flex-direction:column;gap:4px;display:flex}.dashboard-heading{color:#0f172a;letter-spacing:-.025em;margin:0;font-size:2rem;font-weight:800}.dashboard-subheading{color:#64748b;align-items:center;gap:12px;margin:0;font-size:.95rem;display:flex}.dashboard-live-pill{color:#10b981;background:#ecfdf5;border-radius:9999px;align-items:center;gap:6px;padding:4px 10px;font-size:.8rem;font-weight:700;display:inline-flex}.dashboard-live-dot{background:#10b981;border-radius:50%;width:7px;height:7px;animation:2s ease-in-out infinite pulseDot;box-shadow:0 0 0 3px #10b98140}@keyframes pulseDot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.3)}}.dashboard-header-right{flex-wrap:wrap;align-items:center;gap:14px;display:flex}.dashboard-stats-strip{align-items:center;gap:12px;display:flex}.dashboard-stat-chip{color:#475569;background:#ffffffe6;border:1px solid #e2e8f0d9;border-radius:9999px;align-items:center;gap:8px;padding:6px 14px;font-size:.85rem;display:inline-flex;box-shadow:0 1px 3px #0f172a0a}.dashboard-stat-chip strong{color:#1363df;font-variant-numeric:tabular-nums;font-size:.95rem;font-weight:800}.dashboard-search-wrap{width:240px;position:relative}.dashboard-search-icon{color:#94a3b8;pointer-events:none;width:16px;height:16px;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.dashboard-search-input{color:#0f172a;background:#fff;border:1px solid #e2e8f0;border-radius:9999px;outline:none;width:100%;height:40px;padding:0 16px 0 38px;font-size:.9rem;transition:all .2s;box-shadow:0 2px 6px #0f172a05}.dashboard-search-input:focus{border-color:#1363df;box-shadow:0 0 0 3px #1363df1f}.dashboard-search-input::placeholder{color:#94a3b8}.dashboard-board{flex-direction:column;flex:1;min-height:0;display:flex}.dashboard-span{grid-column:1/-1}.dashboard-root .polls-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;display:grid}.dashboard-grid{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;box-sizing:border-box;flex:1;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;width:100%;min-height:0;padding:4px 6px 36px 2px;display:grid;overflow:hidden auto}.dashboard-grid::-webkit-scrollbar{width:6px}.dashboard-grid::-webkit-scrollbar-track{background:0 0}.dashboard-grid::-webkit-scrollbar-thumb{background:#94a3b866;border-radius:9999px}.dashboard-grid::-webkit-scrollbar-thumb:hover{background:#64748b99}.poll-card{-webkit-backdrop-filter:blur(16px);background:#fffffff0;border:1px solid #e2e8f0d9;border-radius:20px;flex-direction:column;flex-shrink:0;min-height:max-content;padding:24px 26px;transition:transform .25s cubic-bezier(.4,0,.2,1),box-shadow .25s cubic-bezier(.4,0,.2,1),border-color .25s;display:flex;position:relative;overflow:hidden;box-shadow:0 10px 30px -4px #0f172a0a,0 2px 6px -1px #0f172a05}.poll-card:hover{border-color:#1363df47;transform:translateY(-2px);box-shadow:0 18px 40px -6px #1363df1f,0 4px 12px -2px #0f172a08}.poll-card-top{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px;display:flex}.poll-card-title-group{flex-direction:column;gap:4px;display:flex}.poll-card-title{color:#0f172a;letter-spacing:-.01em;margin:0;font-size:1.25rem;font-weight:800;line-height:1.35}.poll-card-meta{color:#64748b;font-size:.8rem;font-weight:600}.poll-badge{letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;border-radius:9999px;align-items:center;gap:6px;padding:4px 12px;font-size:.72rem;font-weight:700;display:inline-flex}.poll-badge-open{color:#059669;background:#ecfdf5;border:1px solid #a7f3d0}.poll-badge-private{color:#e11d48;background:#fff1f2;border:1px solid #fecdd3}.poll-badge-upcoming{color:#d97706;background:#fffbeb;border:1px solid #fde68a}.poll-badge-dot{background:currentColor;border-radius:50%;width:6px;height:6px;box-shadow:0 0 0 2px #10b98140}.poll-card-info-row{color:#475569;justify-content:space-between;align-items:center;margin-bottom:16px;font-size:.88rem;font-weight:500;display:flex}.poll-card-time{color:#334155;align-items:center;gap:6px;display:inline-flex}.poll-avatar-stack{align-items:center;display:flex}.poll-avatar-item{background-position:50%;background-size:cover;border:2px solid #fff;border-radius:50%;width:26px;height:26px;margin-left:-8px;display:inline-block;box-shadow:0 1px 3px #0000001a}.poll-avatar-stack .poll-avatar-item:first-child{margin-left:0}.poll-avatar-more{color:#475569;background:#f1f5f9;border:2px solid #fff;border-radius:50%;justify-content:center;align-items:center;width:26px;height:26px;margin-left:-8px;font-size:.68rem;font-weight:700;display:inline-flex}.poll-progress-wrap{margin-bottom:16px}.poll-progress-labels{color:#475569;justify-content:space-between;align-items:center;margin-bottom:6px;font-size:.85rem;font-weight:600;display:flex}.poll-progress-track{background:#edf2f7;border-radius:9999px;width:100%;height:8px;position:relative;overflow:hidden}.poll-progress-fill{border-radius:9999px;height:100%;transition:width .6s cubic-bezier(.4,0,.2,1)}.poll-progress-fill-blue{background:linear-gradient(90deg,#1363df 0%,#38bdf8 100%);box-shadow:0 0 10px #1363df59}.poll-progress-fill-coral{background:linear-gradient(90deg,#f43f5e 0%,#fb7185 100%);box-shadow:0 0 10px #f43f5e59}.poll-progress-fill-amber{background:linear-gradient(90deg,#f59e0b 0%,#fbbf24 100%);box-shadow:0 0 10px #f59e0b59}.poll-card-desc{color:#475569;overflow-wrap:anywhere;margin:0;font-size:.9rem;font-weight:500;line-height:1.5}.poll-card-footer{justify-content:flex-start;align-items:center;margin-top:auto;display:flex}.poll-card-btn{color:#0f172a;background:#fff;border:1px solid #e2e8f0e6;border-radius:10px;justify-content:center;align-items:center;padding:8px 18px;font-size:.88rem;font-weight:600;text-decoration:none;transition:all .2s cubic-bezier(.4,0,.2,1);display:inline-flex;box-shadow:0 1px 2px #0f172a0a}.poll-card-btn:hover{color:#1363df;background:#f8fafc;border-color:#cbd5e1;transform:translateY(-1px);box-shadow:0 4px 12px #1363df1f}.poll-card-ribbon{pointer-events:none;opacity:.95;width:110px;height:90px;position:absolute;bottom:-10px;right:-10px}@media (width<=960px){.dashboard-root{box-sizing:border-box;flex-direction:column;width:100%;min-width:0;height:100%;min-height:0;max-height:100%;display:flex;overflow:hidden}.dashboard-root .polls-grid{grid-template-columns:1fr!important;gap:16px!important;width:100%!important;display:grid!important}.dashboard-header{box-sizing:border-box;flex-direction:column;flex-shrink:0;align-items:stretch;gap:12px;width:100%;min-width:0;margin-bottom:12px}.dashboard-title-area{width:100%;min-width:0}.dashboard-heading{word-break:break-word;letter-spacing:-.02em;font-size:1.45rem;line-height:1.25}.dashboard-subheading{flex-wrap:wrap;gap:6px;font-size:.82rem;line-height:1.4}.dashboard-header-right{box-sizing:border-box;flex-direction:column;align-items:stretch;gap:10px;width:100%;min-width:0}.dashboard-stats-strip{gap:8px;width:100%;min-width:0;display:flex}.dashboard-stat-chip{box-sizing:border-box;flex:auto;justify-content:center;padding:6px 10px;font-size:.8rem}.dashboard-search-wrap{box-sizing:border-box;width:100%;max-width:100%;height:38px}.dashboard-search-input{box-sizing:border-box;width:100%}.dashboard-grid{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;box-sizing:border-box;flex-direction:column;flex:1;gap:16px;width:100%;min-width:0;min-height:0;padding:4px 2px 32px;display:flex;overflow:hidden auto}.poll-card,.dashboard-grid .plaza-card{box-sizing:border-box;flex-shrink:0;width:100%;min-height:max-content}.dashboard-grid::-webkit-scrollbar{width:5px}.dashboard-grid::-webkit-scrollbar-track{background:0 0}.dashboard-grid::-webkit-scrollbar-thumb{background:#94a3b866;border-radius:9999px}}@media (width<=480px){.dashboard-heading{font-size:1.35rem}.dashboard-stats-strip{grid-template-columns:1fr 1fr;gap:8px;width:100%;display:grid}.dashboard-stat-chip{gap:6px;padding:5px 8px;font-size:.78rem}.poll-card,.dashboard-grid .plaza-card{border-radius:16px;flex-shrink:0;min-height:max-content;padding:18px 16px}.poll-card-title{font-size:1.1rem}.poll-card-info-row{flex-direction:column;align-items:flex-start;gap:8px}.poll-card-footer{width:100%}.poll-card-btn{justify-content:center;width:100%;padding:10px 14px;font-size:.88rem}}.demo-polls{margin-bottom:28px}.demo-polls-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:16px;display:flex}.demo-polls-title{color:#0f172a;margin:0;font-size:1.25rem;font-weight:800}.demo-polls-search{max-width:360px;margin-bottom:16px}.election-ballot-page{box-sizing:border-box;flex-direction:column;gap:20px;width:100%;max-width:860px;margin:0 auto;padding:8px 12px 64px;display:flex}.ballot-breadcrumb{margin-bottom:2px}.ballot-booth-card,.ballot-receipt-card{background:#fff;border:1px solid #e2e8f0e6;border-radius:20px;flex-direction:column;gap:24px;padding:34px;display:flex;box-shadow:0 1px 4px #0f172a0a,0 6px 20px -2px #0f172a0f}.booth-header{flex-direction:column;gap:8px;display:flex}.booth-title{color:#0f172a;letter-spacing:-.025em;margin:0;font-size:clamp(1.4rem,3.5vw,1.85rem);font-weight:800;line-height:1.35}.booth-subtitle{color:#64748b;margin:0;font-size:.95rem}.b2-privacy-notice{background:#f0f7ff;border:1px solid #bfdbfe;border-radius:14px;gap:14px;padding:16px 18px;display:flex}.notice-shield{flex-shrink:0;font-size:1.4rem}.notice-body strong{color:#1e40af;margin-bottom:4px;font-size:.95rem;display:block}.notice-body p{color:#1d4ed8;margin:0;font-size:.86rem;line-height:1.5}.candidate-selection-container{flex-direction:column;gap:14px;display:flex}.selection-prompt{color:#0f172a;font-size:1rem;font-weight:800}.candidate-radio-grid{flex-direction:column;gap:14px;display:flex}.candidate-radio-card{cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;border:2px solid #e2e8f0;border-radius:14px;align-items:flex-start;gap:16px;padding:18px 22px;transition:all .2s cubic-bezier(.16,1,.3,1);display:flex}.candidate-radio-card:hover{background:#f8fafc;border-color:#93c5fd;transform:translateY(-1px)}.candidate-radio-card.selected{background:#eff6ff;border-color:#1363df;box-shadow:0 4px 14px #1363df26}.radio-indicator{margin-top:2px}.radio-circle{color:#1363df;background:#fff;border:2px solid #cbd5e1;border-radius:50%;justify-content:center;align-items:center;width:22px;height:22px;font-size:.75rem;transition:all .15s;display:inline-flex}.candidate-radio-card.selected .radio-circle{color:#fff;background:#1363df;border-color:#1363df}.candidate-info{flex-direction:column;gap:6px;display:flex}.candidate-code-pill{color:#1d4ed8;background:#eff6ff;border-radius:4px;align-self:flex-start;padding:2px 8px;font-family:monospace;font-size:.78rem;font-weight:700;display:inline-block}.candidate-card-name{color:#0f172a;margin:0;font-size:1.15rem;font-weight:800}.candidate-card-statement{color:#64748b;margin:0;font-size:.9rem;line-height:1.55}.booth-submit-row{margin-top:10px}.btn-cast-ballot{color:#fff;cursor:pointer;background:#1363df;border:none;border-radius:12px;width:100%;min-height:48px;padding:15px;font-size:1.05rem;font-weight:700;transition:all .2s cubic-bezier(.16,1,.3,1);box-shadow:0 4px 14px #1363df40}.btn-cast-ballot:hover:not(:disabled){background:#0f52ba;transform:translateY(-1px);box-shadow:0 6px 20px #1363df59}.btn-cast-ballot:disabled{opacity:.5;cursor:not-allowed}.ballot-error-banner{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;padding:12px 16px;font-size:.9rem;font-weight:600}.modal-backdrop{-webkit-backdrop-filter:blur(4px);z-index:999;background:#0f172aa6;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.confirm-modal-box{text-align:center;box-sizing:border-box;background:#fff;border-radius:20px;flex-direction:column;align-items:center;width:100%;max-width:460px;padding:32px 28px;display:flex;box-shadow:0 25px 50px -12px #0f172a40}.modal-warning-icon{margin-bottom:12px;font-size:2.8rem}.modal-title{color:#0f172a;margin:0 0 8px;font-size:1.35rem;font-weight:800}.modal-desc{color:#475569;margin:0 0 24px;font-size:.94rem;line-height:1.55}.modal-actions{gap:12px;width:100%;display:flex}.btn-modal-cancel{color:#475569;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:10px;flex:1;padding:12px;font-size:.95rem;font-weight:700;transition:all .15s}.btn-modal-cancel:hover{color:#0f172a;background:#f8fafc}.btn-modal-confirm{color:#fff;cursor:pointer;background:#1363df;border:none;border-radius:10px;flex:1;padding:12px;font-size:.95rem;font-weight:700;transition:all .15s;box-shadow:0 4px 12px #1363df40}.btn-modal-confirm:hover:not(:disabled){background:#0f52ba;box-shadow:0 6px 18px #1363df59}.receipt-success-banner{background:#ecfdf5;border:1px solid #a7f3d0;border-radius:14px;align-items:center;gap:16px;padding:20px;display:flex}.success-icon{color:#fff;background:#059669;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;font-size:1.3rem;font-weight:800;display:flex}.success-text h2{color:#065f46;margin:0 0 4px;font-size:1.25rem;font-weight:800}.submitted-at-text{color:#047857;margin:0;font-size:.88rem}.receipt-box-container{background:#f8fafc;border:1px solid #e2e8f0;border-radius:14px;flex-direction:column;gap:10px;padding:20px;display:flex}.receipt-label{color:#64748b;text-transform:uppercase;letter-spacing:.05em;font-size:.82rem;font-weight:700}.receipt-id-row{background:#fff;border:1px solid #cbd5e1;border-radius:10px;justify-content:space-between;align-items:center;gap:14px;padding:12px 16px;display:flex}.receipt-code{color:#0f172a;word-break:break-all;font-family:JetBrains Mono,monospace;font-size:.95rem;font-weight:700}.copy-btn{color:#334155;cursor:pointer;white-space:nowrap;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:8px;flex-shrink:0;padding:8px 16px;font-size:.86rem;font-weight:700;transition:all .15s}.copy-btn.copied{color:#059669;background:#ecfdf5;border-color:#a7f3d0}.receipt-hint{color:#64748b;margin:0;font-size:.85rem;line-height:1.5}.receipt-actions-row{gap:14px;display:flex}.btn-primary{color:#fff;cursor:pointer;background:#1363df;border:none;border-radius:10px;flex:1;padding:12px 20px;font-size:.96rem;font-weight:700;transition:all .15s;box-shadow:0 4px 12px #1363df40}.btn-primary:hover{background:#0f52ba}.btn-secondary{color:#334155;cursor:pointer;background:#f8fafc;border:1px solid #cbd5e1;border-radius:10px;padding:12px 24px;font-size:.96rem;font-weight:700;transition:all .15s}@media (width<=640px){.ballot-booth-card,.ballot-receipt-card{border-radius:16px;gap:18px;padding:20px 18px}.b2-privacy-notice{padding:12px 14px}.candidate-radio-card{padding:14px 16px}.receipt-id-row{flex-direction:column;align-items:stretch;gap:10px}.copy-btn{text-align:center;width:100%}.receipt-actions-row,.modal-actions{flex-direction:column}}.election-detail-page{box-sizing:border-box;flex-direction:column;gap:22px;width:100%;max-width:960px;margin:0 auto;padding:8px 12px 64px;display:flex}.detail-breadcrumb{margin-bottom:2px}.detail-header-card{background:#fff;border:1px solid #e2e8f0e6;border-radius:20px;flex-direction:column;gap:20px;padding:34px;display:flex;box-shadow:0 1px 4px #0f172a0a,0 6px 20px -2px #0f172a0f}.detail-title{color:#0f172a;letter-spacing:-.025em;margin:0;font-size:clamp(1.4rem,3.5vw,1.95rem);font-weight:800;line-height:1.35}.detail-description{color:#475569;margin:0;font-size:.98rem;line-height:1.65}.detail-timeline-grid{background:#f8fafc;border:1px solid #f1f5f9;border-radius:14px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:14px;padding:18px 20px;display:grid}.timeline-box{flex-direction:column;gap:6px;display:flex}.timeline-label{color:#64748b;text-transform:uppercase;letter-spacing:.05em;font-size:.76rem;font-weight:700}.timeline-val{color:#1e293b;font-size:.88rem;font-weight:600;line-height:1.4}.live-tag{border-radius:6px;padding:3px 8px;font-size:.75rem;font-weight:700;display:inline-block}.live-tag.enabled{color:#059669;background:#ecfdf5}.live-tag.disabled{color:#64748b;background:#f1f5f9}.detail-voter-panel{border-top:1px solid #f1f5f9;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding-top:20px;display:flex}.voter-status-info{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.panel-title{color:#0f172a;font-size:.92rem;font-weight:700}.status-pill{text-transform:uppercase;border-radius:9999px;padding:5px 14px;font-size:.78rem;font-weight:700}.voter-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.detail-voter-guidance{color:#475569;width:100%;margin:0;font-size:.85rem;line-height:1.5}.action-btn{cursor:pointer;box-sizing:border-box;border-radius:12px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:10px 22px;font-size:.92rem;font-weight:700;text-decoration:none;transition:all .2s cubic-bezier(.16,1,.3,1);display:inline-flex}.btn-primary{color:#fff;background:#1363df;border:1px solid #0000;box-shadow:0 4px 14px #1363df40}.btn-primary:hover{color:#fff;background:#0f52ba;transform:translateY(-1px);box-shadow:0 6px 18px #1363df59}.btn-secondary{color:#334155;background:#f8fafc;border:1px solid #cbd5e1}.btn-secondary:hover{color:#0f172a;background:#e2e8f0}.detail-candidates-section{flex-direction:column;gap:18px;display:flex}.section-title{color:#0f172a;letter-spacing:-.02em;margin:0;font-size:1.3rem;font-weight:800}.candidates-list-grid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:18px;display:grid}.candidate-card{background:#fff;border:1px solid #e2e8f0d9;border-radius:16px;flex-direction:column;gap:12px;padding:22px;transition:transform .15s,box-shadow .15s,border-color .15s;display:flex;box-shadow:0 1px 3px #0f172a0a}.candidate-card:hover{border-color:#93c5fd;transform:translateY(-2px);box-shadow:0 8px 20px -2px #1363df14}.candidate-header{align-items:center;gap:10px;display:flex}.candidate-name{color:#0f172a;margin:0;font-size:1.08rem;font-weight:800}.candidate-statement{color:#64748b;margin:0;font-size:.9rem;line-height:1.55}@media (width<=640px){.detail-header-card{border-radius:16px;gap:14px;padding:20px 16px}.detail-badge-row{order:1}.detail-title{order:2}.detail-timeline-wrapper-row{order:5;margin:4px 0 8px!important}.detail-voter-panel{flex-direction:column;order:3;align-items:stretch;gap:12px;margin:4px 0 10px}.election-detail-pending-banner{order:4;margin-top:4px!important}.detail-description{order:4;font-size:.92rem;line-height:1.6}.detail-timeline-grid{order:7;grid-template-columns:1fr;gap:10px;padding:14px}.voter-status-info{justify-content:space-between}.voter-actions{flex-direction:column;width:100%}.action-btn{width:100%}.candidates-list-grid{grid-template-columns:1fr}}.election-register-page{box-sizing:border-box;flex-direction:column;gap:18px;width:100%;max-width:640px;margin:0 auto;padding:8px 12px 64px;display:flex}.register-breadcrumb{margin-bottom:2px}.back-link:hover{color:#1363df}.register-card{background:#fff;border:1px solid #e2e8f0e6;border-radius:20px;flex-direction:column;gap:22px;padding:34px;display:flex;box-shadow:0 1px 4px #0f172a0a,0 6px 20px -2px #0f172a0f}.register-header{flex-direction:column;gap:8px;display:flex}.official-stamp-pill{color:#1363df;letter-spacing:.05em;text-transform:uppercase;background:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;align-self:flex-start;padding:3px 10px;font-size:.75rem;font-weight:700}.register-title{color:#0f172a;letter-spacing:-.025em;margin:0;font-size:clamp(1.4rem,3.5vw,1.85rem);font-weight:800;line-height:1.3}.register-subtitle{color:#64748b;margin:0;font-size:.92rem;line-height:1.55}.security-notice-callout{background:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.notice-icon{flex-shrink:0;font-size:1.15rem}.notice-text{color:#1e40af;margin:0;font-size:.86rem;font-weight:500;line-height:1.5}.register-form{flex-direction:column;gap:20px;display:flex}.form-group{flex-direction:column;gap:8px;display:flex}.form-label{color:#1e293b;font-size:.88rem;font-weight:700}.form-input,.form-select{color:#0f172a;box-sizing:border-box;background:#fff;border:1.5px solid #cbd5e1;border-radius:10px;min-height:44px;padding:12px 14px;font-size:.92rem;transition:all .15s}.form-input:focus,.form-select:focus{border-color:#1363df;outline:none;box-shadow:0 0 0 3px #1363df26}.register-error-banner{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;padding:12px 16px;font-size:.88rem;font-weight:600}.form-submit-row{margin-top:10px}.btn-submit{color:#fff;cursor:pointer;box-sizing:border-box;background:#1363df;border:none;border-radius:12px;width:100%;min-height:46px;padding:13px 24px;font-size:.96rem;font-weight:700;transition:all .2s cubic-bezier(.16,1,.3,1);box-shadow:0 4px 14px #1363df40}.btn-submit:hover:not(:disabled){background:#0f52ba;transform:translateY(-1px);box-shadow:0 6px 18px #1363df59}.btn-submit:disabled{opacity:.6;cursor:not-allowed}.register-success-view{flex-direction:column;gap:20px;display:flex}.result-alert-box{border-radius:14px;align-items:flex-start;gap:14px;padding:18px 20px;display:flex}.result-alert-box.status-approved{color:#065f46;background:#ecfdf5;border:1px solid #a7f3d0}.result-alert-box.status-needs_review,.result-alert-box.status-pending{color:#92400e;background:#fffbeb;border:1px solid #fde68a}.result-alert-box.status-rejected{color:#991b1b;background:#fef2f2;border:1px solid #fecaca}.result-alert-icon{color:#fff;background:currentColor;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;margin-top:2px;font-size:.9rem;font-weight:800;display:inline-flex}.result-alert-text h3{color:inherit;margin:0 0 6px;font-size:1.1rem;font-weight:800}.result-alert-text p{color:inherit;margin:0;font-size:.88rem;line-height:1.5}.result-detail-hint{opacity:.85;margin-top:6px!important;font-size:.82rem!important}.registration-meta-summary{background:#f8fafc;border:1px solid #f1f5f9;border-radius:12px;flex-direction:column;gap:10px;padding:16px 20px;display:flex}.summary-item{justify-content:space-between;align-items:center;gap:12px;font-size:.88rem;display:flex}.summary-item .label{color:#64748b;font-weight:500}.summary-item .val{color:#0f172a;font-weight:700}.register-success-actions{gap:12px;margin-top:10px;display:flex}@media (width<=640px){.register-card{border-radius:16px;padding:22px 18px}.register-success-actions{flex-direction:column}.summary-item{flex-direction:column;align-items:flex-start;gap:4px}}.election-result-page{box-sizing:border-box;flex-direction:column;gap:22px;width:100%;max-width:1020px;margin:0 auto;padding:8px 12px 64px;display:flex}.result-breadcrumb{margin-bottom:2px}.back-link{color:#64748b;align-items:center;gap:6px;font-size:.92rem;font-weight:600;text-decoration:none;transition:color .15s,transform .15s;display:inline-flex}.back-link:hover{color:#1363df;transform:translate(-2px)}.btn-export-report{color:#fff;cursor:pointer;background:#2563eb;border:1px solid #1d4ed8;border-radius:8px;align-items:center;gap:6px;padding:6px 14px;font-size:.82rem;font-weight:700;transition:all .15s;display:inline-flex;box-shadow:0 1px 2px #2563eb33}.btn-export-report:hover{color:#fff;background:#1d4ed8;border-color:#1e40af;transform:translateY(-1px);box-shadow:0 4px 6px -1px #2563eb40}.btn-export-report:active{transform:translateY(0)}.btn-export-excel{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;align-items:center;gap:6px;padding:6px 14px;font-size:.82rem;font-weight:700;transition:all .15s;display:inline-flex;box-shadow:0 1px 2px #0f172a0a}.btn-export-excel:hover{color:#0f172a;background:#f8fafc;border-color:#94a3b8;transform:translateY(-1px)}.btn-export-excel:active{transform:translateY(0)}.result-header-card{background:#fff;border:1px solid #e2e8f0d9;border-radius:20px;flex-direction:column;gap:16px;padding:32px;display:flex;box-shadow:0 1px 3px #0f172a0a,0 6px 20px -3px #0f172a0f}.detail-badge-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.official-stamp-pill{color:#475569;letter-spacing:.04em;text-transform:uppercase;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;padding:4px 10px;font-size:.75rem;font-weight:700}.result-title{color:#0f172a;letter-spacing:-.025em;margin:0;font-size:1.85rem;font-weight:800;line-height:1.3}.result-notice-bar{border-radius:10px;align-items:center;gap:8px;width:fit-content;padding:8px 14px;font-size:.86rem;font-weight:600;display:inline-flex}.notice-live{color:#047857;background:#ecfdf5;border:1px solid #a7f3d0}.notice-closed{color:#475569;background:#f8fafc;border:1px solid #e2e8f0}.notice-dot{background:currentColor;border-radius:50%;width:8px;height:8px;box-shadow:0 0 0 2px #04785733}.scale-metrics-grid{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.scale-metric-card{text-align:center;background:#fff;border:1px solid #e2e8f0d9;border-radius:16px;flex-direction:column;align-items:center;gap:6px;padding:22px 18px;transition:transform .2s,box-shadow .2s;display:flex;box-shadow:0 1px 3px #0f172a0a}.scale-metric-card:hover{transform:translateY(-2px);box-shadow:0 6px 16px -2px #0f172a14}.metric-num{color:#0f172a;letter-spacing:-.03em;font-size:2rem;font-weight:800;line-height:1.1}.metric-label{color:#64748b;font-size:.82rem;font-weight:600;line-height:1.3}.winner-spotlight-card{background:linear-gradient(135deg,#fffbeb 0%,#fef3c7 60%,#fde68a 100%);border:1px solid #fcd34d;border-radius:18px;align-items:center;gap:24px;padding:26px 30px;display:flex;box-shadow:0 4px 16px #f59e0b26}.winner-spotlight-card.tie-card{background:linear-gradient(135deg,#f8fafc 0%,#e2e8f0 100%);border-color:#cbd5e1;box-shadow:0 4px 14px #64748b1f}.winner-spotlight-card.live-card{background:linear-gradient(135deg,#eff6ff 0%,#dbeafe 60%,#bfdbfe 100%);border-color:#93c5fd;box-shadow:0 4px 16px #2563eb1f}.live-card .winner-label{color:#1d4ed8}.live-card .winner-names{color:#1e3a8a}.winner-trophy-icon{filter:drop-shadow(0 2px 4px #b4530933);flex-shrink:0;font-size:3rem;line-height:1}.winner-details{flex-direction:column;gap:6px;display:flex}.winner-label{text-transform:uppercase;color:#b45309;letter-spacing:.05em;font-size:.82rem;font-weight:700}.tie-card .winner-label{color:#475569}.winner-names{color:#78350f;letter-spacing:-.02em;margin:0;font-size:1.5rem;font-weight:800}.tie-card .winner-names{color:#0f172a}.winner-share-badge{color:#92400e;font-size:.92rem;font-weight:700}.tie-card .winner-share-badge{color:#334155}.candidate-results-section{background:#fff;border:1px solid #e2e8f0d9;border-radius:20px;flex-direction:column;gap:22px;padding:30px;display:flex;box-shadow:0 1px 3px #0f172a0a}.section-title{color:#0f172a;margin:0;font-size:1.25rem;font-weight:800}.candidate-bars-list{flex-direction:column;gap:16px;display:flex}.candidate-result-row{background:#f8fafc;border:1px solid #f1f5f9;border-radius:12px;flex-direction:column;gap:10px;padding:16px 20px;transition:all .15s;display:flex}.candidate-result-row:hover{background:#f1f5f9}.candidate-result-row.winner-row{background:#eff6ff;border-color:#bfdbfe;box-shadow:0 2px 8px #2563eb14}.row-header{justify-content:space-between;align-items:center;gap:12px;display:flex}.row-candidate-name{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.candidate-code-tag{color:#475569;background:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:3px 8px;font-family:monospace;font-size:.75rem;font-weight:700}.winner-row .candidate-code-tag{color:#1e40af;background:#dbeafe;border-color:#93c5fd}.name-text{color:#0f172a;font-size:1.05rem;font-weight:700}.winner-mini-badge{font-size:1.05rem}.row-tally{align-items:baseline;gap:8px;display:flex}.vote-num{color:#0f172a;font-size:1.25rem;font-weight:800}.vote-pct{color:#64748b;font-size:.92rem;font-weight:700}.progress-track{background:#e2e8f0;border-radius:9999px;height:12px;overflow:hidden}.progress-fill{background:linear-gradient(90deg,#94a3b8,#64748b);border-radius:9999px;height:100%;transition:width .5s cubic-bezier(.4,0,.2,1)}.progress-fill.fill-winner{background:linear-gradient(90deg,#1363df 0%,#2563eb 100%);box-shadow:0 0 10px #1363df66}.confidential-scale-notice,.result-forbidden-card,.result-error-card{text-align:center;background:#fff;border:1px solid #e2e8f0d9;border-radius:20px;flex-direction:column;align-items:center;gap:14px;padding:48px 24px;display:flex;box-shadow:0 1px 3px #0f172a0a}.forbidden-icon{font-size:3rem}.btn-primary{color:#fff;background:#1363df;border-radius:12px;justify-content:center;align-items:center;padding:11px 26px;font-size:.92rem;font-weight:700;text-decoration:none;transition:all .15s;display:inline-flex;box-shadow:0 4px 14px #1363df47}.btn-primary:hover{color:#fff;background:#0f52ba;box-shadow:0 6px 18px #1363df61}@media (width<=768px){.election-result-page{gap:16px;padding:6px 8px 48px}.result-header-card,.candidate-results-section{border-radius:16px;padding:22px 18px}.result-title{font-size:1.45rem}.scale-metrics-grid{grid-template-columns:repeat(2,1fr);gap:12px}.scale-metric-card{padding:16px 12px}.metric-num{font-size:1.6rem}.winner-spotlight-card{flex-direction:column;align-items:flex-start;gap:14px;padding:20px 18px}.winner-names{font-size:1.25rem}}.election-card{box-sizing:border-box;background:#fff;border:1px solid #e2e8f0;border-radius:18px;flex-direction:column;gap:16px;width:100%;padding:22px 24px;transition:transform .2s cubic-bezier(.16,1,.3,1),box-shadow .2s cubic-bezier(.16,1,.3,1),border-color .2s;display:flex;position:relative;box-shadow:0 1px 4px #0f172a08,0 3px 10px #0f172a05}.election-card:hover{border-color:#93c5fd;transform:translateY(-2px);box-shadow:0 12px 28px -4px #1363df1f,0 4px 12px -2px #0f172a0a}.election-card-header{flex-direction:column;gap:8px;display:flex}.election-card-badge-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.election-badge-cluster{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.official-stamp-pill{text-transform:uppercase;letter-spacing:.04em;color:#1363df;background:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;align-items:center;gap:4px;padding:3px 9px;font-size:.72rem;font-weight:800;display:inline-flex}.official-stamp-icon{font-size:.82rem;line-height:1}.pending-freeze-pill{color:#b45309;background:#fffbeb;border:1px solid #fde68a;border-radius:6px;align-items:center;gap:4px;padding:3px 9px;font-size:.72rem;font-weight:700;display:inline-flex}.election-card-title{color:#0f172a;letter-spacing:-.015em;margin:0;font-size:1.18rem;font-weight:800;line-height:1.4}.election-card-title a{color:inherit;text-decoration:none;transition:color .15s}.election-card-title a:hover{color:#1363df}.election-card-desc{color:#64748b;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-size:.88rem;line-height:1.5;display:-webkit-box;overflow:hidden}.election-data-grid{background:#f8fafc;border:1px solid #f1f5f9;border-radius:12px;grid-template-columns:1fr 1fr;gap:10px;padding:12px 14px;display:grid}.data-grid-cell{flex-direction:column;gap:3px;min-width:0;display:flex}.data-grid-cell.cell-full-width{border-top:1px dashed #e2e8f0;grid-column:span 2;margin-top:2px;padding-top:9px}.cell-label{color:#64748b;align-items:center;gap:5px;font-size:.74rem;font-weight:600;display:inline-flex}.cell-label svg{color:#94a3b8;flex-shrink:0}.cell-value{color:#0f172a;letter-spacing:-.01em;white-space:nowrap;text-overflow:ellipsis;font-size:.88rem;font-weight:700;overflow:hidden}.cell-value-unit{color:#64748b;margin-left:2px;font-size:.78rem;font-weight:500}.cell-value-highlight{color:#166534}.cell-value-live{color:#059669}.cell-header-inline{justify-content:space-between;align-items:center;gap:8px;display:flex}.schedule-countdown-badge{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;border-radius:9999px;align-items:center;gap:5px;padding:2px 8px;font-size:.72rem;font-weight:700;display:inline-flex}.countdown-pulse-dot{background:#2563eb;border-radius:50%;width:5px;height:5px;animation:1.8s infinite pulse-dot;box-shadow:0 0 0 2px #2563eb33}.cell-schedule-range{color:#334155;font-size:.82rem;font-weight:600}.live-dot{background:#10b981;border-radius:50%;width:7px;height:7px;animation:1.8s infinite pulse-dot;display:inline-block;box-shadow:0 0 0 2px #10b98133}@keyframes pulse-dot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.45;transform:scale(.85)}}.election-card-pending-notice{color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:10px;align-items:flex-start;gap:8px;padding:10px 12px;font-size:.8rem;font-weight:600;line-height:1.45;display:flex}.election-card-pending-notice .notice-icon{flex-shrink:0;font-size:.95rem}.election-card-footer{border-top:1px solid #f1f5f9;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:auto;padding-top:14px;display:flex}.election-user-status{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.badge-voter-status{border-radius:8px;align-items:center;gap:6px;padding:5px 11px;font-size:.78rem;font-weight:700;line-height:1.2;display:inline-flex}.badge-voter-status svg{flex-shrink:0}.status-voted{color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0}.status-unregistered{color:#64748b;background:#f8fafc;border:1px solid #e2e8f0}.unregistered-dot{background:#94a3b8;border-radius:50%;width:6px;height:6px}.voter-status-text{align-items:center;gap:4px;display:inline-flex}.voter-status-sep{opacity:.5}.election-card-action{align-items:center;gap:8px;display:flex}.election-btn{cursor:pointer;box-sizing:border-box;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;gap:6px;min-height:38px;padding:8px 18px;font-size:.86rem;font-weight:700;text-decoration:none;transition:all .15s;display:inline-flex}.btn-arrow{font-size:.95rem;transition:transform .15s}.election-btn:hover .btn-arrow{transform:translate(2px)}.btn-icon{font-size:.95rem}.election-btn-primary{color:#fff;background:#1363df;box-shadow:0 2px 8px #1363df40}.election-btn-primary:hover{color:#fff;background:#0f52ba;box-shadow:0 4px 12px #1363df59}.election-btn-emerald{color:#fff;background:#1363df;box-shadow:0 2px 8px #1363df40}.election-btn-emerald:hover{color:#fff;background:#0f52ba}.election-btn-secondary{color:#334155;background:#f1f5f9;border-color:#cbd5e1}.election-btn-secondary:hover{color:#0f172a;background:#e2e8f0}.election-btn-outline{color:#0f172a;background:0 0;border-color:#cbd5e1}.election-btn-outline:hover{background:#f8fafc;border-color:#94a3b8}@media (width<=640px){.election-card{border-radius:16px;gap:10px;padding:16px 18px 12px}.election-card-title{font-size:1.08rem}.election-data-grid{grid-template-columns:1fr;gap:8px;padding:10px 12px}.election-card-desc{-webkit-line-clamp:1}.election-card .election-data-grid>.data-grid-cell:nth-child(2){display:none}.data-grid-cell.cell-full-width{grid-column:span 1}.election-card-footer{flex-direction:column;align-items:stretch;gap:10px}.election-card-action,.election-btn{width:100%}}.elections-header-row{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;display:flex}.elections-view-switcher{background:#f1f5f9;border:1px solid #e2e8f0e6;border-radius:14px;align-items:center;gap:4px;padding:4px;display:inline-flex}.view-switch-btn{color:#64748b;cursor:pointer;box-sizing:border-box;background:0 0;border:none;border-radius:10px;align-items:center;gap:8px;min-height:38px;padding:8px 18px;font-size:.88rem;font-weight:700;transition:all .15s;display:inline-flex}.view-switch-btn:hover{color:#0f172a}.view-switch-btn.active{color:#1363df;background:#fff;box-shadow:0 1px 3px #0f172a14,0 4px 10px -2px #0f172a0a}.tab-count-badge{color:#1363df;background:#eff6ff;border:1px solid #bfdbfe;border-radius:9999px;padding:1px 7px;font-size:.75rem;font-weight:800}.elections-filter-tabs{-webkit-overflow-scrolling:touch;scrollbar-width:none;align-items:center;gap:10px;padding:4px 2px 10px;display:flex;overflow-x:auto}.elections-filter-tabs::-webkit-scrollbar{display:none}.filter-tab-btn{color:#475569;cursor:pointer;white-space:nowrap;box-sizing:border-box;background:#f1f5f9;border:1px solid #0000;border-radius:9999px;flex-shrink:0;padding:8px 20px;font-size:.88rem;font-weight:700;transition:all .2s cubic-bezier(.16,1,.3,1)}.filter-tab-btn:hover{color:#0f172a;background:#e2e8f0}.filter-tab-btn.active{color:#fff;background:#1363df;box-shadow:0 4px 14px #1363df4d}.elections-grid{grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:22px;padding-bottom:32px;display:grid}.elections-pagination{border-top:1px solid #f1f5f9;flex-wrap:wrap;justify-content:center;align-items:center;gap:16px;margin-top:24px;padding-top:20px;display:flex}.pagination-btn{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;min-height:38px;padding:8px 18px;font-size:.88rem;font-weight:700;transition:all .15s}.pagination-btn:hover:not(:disabled){color:#0f172a;background:#f8fafc;border-color:#94a3b8}.pagination-btn:disabled{opacity:.4;cursor:not-allowed}.pagination-info{color:#64748b;font-size:.88rem;font-weight:600}.registrations-list-wrapper{width:100%}.registrations-list{box-sizing:border-box;flex-direction:column;gap:16px;width:100%;max-width:960px;display:flex}.registration-card{background:#fff;border:1px solid #e2e8f0d9;border-radius:18px;flex-direction:column;gap:16px;padding:24px 28px;transition:transform .2s,box-shadow .2s,border-color .2s;display:flex;box-shadow:0 1px 3px #0f172a0a,0 4px 16px -2px #0f172a0d}.registration-card:hover{border-color:#cbd5e1;transform:translateY(-1px);box-shadow:0 6px 20px -2px #0f172a14}.reg-card-header{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.reg-poll-title{color:#0f172a;letter-spacing:-.015em;margin:0;font-size:1.2rem;font-weight:800;line-height:1.35}.reg-poll-title a{color:inherit;text-decoration:none;transition:color .15s}.reg-poll-title a:hover{color:#1363df}.reg-card-grid{background:#f8fafc;border:1px solid #f1f5f9;border-radius:12px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;padding:16px 20px;display:grid}.reg-meta-item{flex-wrap:wrap;align-items:baseline;gap:8px;font-size:.88rem;display:flex}.reg-meta-item .label{color:#64748b;font-size:.82rem;font-weight:500}.reg-meta-item .val{color:#0f172a;font-weight:700}.reg-card-footer{border-top:1px solid #f1f5f9;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding-top:14px;display:flex}.reg-date{color:#94a3b8;font-size:.82rem;font-weight:500}.status-pill{letter-spacing:.04em;text-transform:uppercase;border-radius:9999px;flex-shrink:0;align-items:center;gap:6px;padding:4px 14px;font-size:.78rem;font-weight:800;display:inline-flex}.status-approved{color:#059669;background:#ecfdf5;border:1px solid #a7f3d0}.status-needs_review,.status-pending{color:#d97706;background:#fffbeb;border:1px solid #fde68a}.status-rejected{color:#dc2626;background:#fef2f2;border:1px solid #fecaca}.btn-outline{color:#1363df;background:#fff;border:1px solid #cbd5e1;border-radius:10px;justify-content:center;align-items:center;min-height:38px;padding:8px 16px;font-size:.86rem;font-weight:700;text-decoration:none;transition:all .15s;display:inline-flex}.btn-outline:hover{color:#1d4ed8;background:#eff6ff;border-color:#93c5fd}@media (width<=768px){.elections-header-row{flex-direction:column;align-items:stretch;gap:14px}.elections-view-switcher{width:100%;display:flex}.view-switch-btn{flex:1;justify-content:center;min-height:42px;padding:8px 12px;font-size:.85rem}.elections-grid{grid-template-columns:1fr;gap:16px}.filter-tab-btn{padding:7px 16px;font-size:.84rem}.elections-pagination{justify-content:space-between;width:100%}.pagination-info{text-align:center;order:-1;width:100%;margin-bottom:6px}.registration-card{border-radius:14px;gap:14px;padding:18px 16px}.reg-card-header{flex-direction:column;align-items:flex-start;gap:8px}.reg-poll-title{font-size:1.05rem}.reg-card-grid{grid-template-columns:1fr;gap:8px;padding:12px 14px}.reg-card-footer{flex-direction:column;align-items:stretch;gap:10px}.btn-outline{width:100%;min-height:44px}}.auth-page{box-sizing:border-box;background-color:#fff;width:100%;min-height:100vh;font-family:Outfit,Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;position:relative;overflow-x:hidden}.auth-container{width:100%;min-height:100vh;display:flex;position:relative}.auth-skip-header{z-index:40;flex-direction:column;align-items:flex-end;gap:8px;display:flex;position:absolute;top:24px;right:32px}.auth-skip-btn{-webkit-backdrop-filter:blur(12px);color:#1e293b;background:#fffffff2;border:1px solid #e2e8f0;border-radius:9999px;align-items:center;gap:8px;padding:8px 18px;font-size:.88rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex;box-shadow:0 4px 12px #0f172a0f}.auth-skip-btn:hover{color:#1363df;background:#fff;border-color:#1363df;transform:translateY(-1px);box-shadow:0 6px 18px #1363df26}.auth-skip-text-short{display:none}.auth-skip-hint{color:#64748b;margin-top:4px;margin-right:6px;font-size:.72rem;font-weight:500}.auth-hero-section{box-sizing:border-box;color:#fff;text-align:center;z-index:10;background:linear-gradient(160deg,#105bd8 0%,#1363df 45%,#0c4cb3 100%);flex-direction:column;justify-content:flex-start;align-items:center;width:48%;min-width:440px;padding:56px 48px;display:flex;position:relative}.auth-hero-wave{pointer-events:none;z-index:20;width:90px;height:100%;position:absolute;top:0;right:-1px}.auth-mobile-wave{display:none}.auth-hero-top{color:#fff;letter-spacing:-.01em;font-size:1.45rem;font-weight:600}.auth-hero-center{flex-direction:column;align-items:center;max-width:380px;margin:auto 0;display:flex;transform:translateY(-6vh)}.auth-brand-badge{background:#fff;border-radius:50%;justify-content:center;align-items:center;width:132px;height:132px;margin-bottom:18px;transition:transform .3s;display:flex;box-shadow:0 16px 36px #0c4cb359}.auth-brand-badge:hover{transform:scale(1.04)}.auth-brand-icon{object-fit:contain;width:100px;height:100px}.auth-brand-title{color:#fff;letter-spacing:.02em;margin-bottom:16px;font-size:1.75rem;font-weight:800}.auth-brand-desc{color:#ffffffe0;text-align:center;align-self:stretch;margin:0;font-size:.95rem;line-height:1.65}.auth-hero-footer{letter-spacing:.12em;color:#ffffffbf;text-transform:uppercase;font-size:.75rem;font-weight:700}.auth-form-section{box-sizing:border-box;z-index:15;background:#fff;justify-content:center;align-items:center;width:52%;padding:48px 36px;display:flex;position:relative}.auth-form-container{flex-direction:column;width:100%;max-width:400px;display:flex}.auth-form-heading{color:#0f172a;letter-spacing:-.02em;margin:0 0 28px;font-size:1.85rem;font-weight:800}.auth-form{flex-direction:column;gap:18px;width:100%;display:flex}.auth-field{flex-direction:column;gap:6px;display:flex}.auth-field-label{color:#334155;font-size:.88rem;font-weight:600}.auth-field-input{color:#0f172a;box-sizing:border-box;background:#f1f5f9;border:1.5px solid #0000;border-radius:10px;outline:none;width:100%;height:48px;padding:0 16px;font-size:.95rem;transition:all .2s}.auth-field-input::placeholder{color:#94a3b8}.auth-field-input:focus{background:#fff;border-color:#1363df;box-shadow:0 0 0 4px #1363df1f}.auth-password-wrapper{align-items:center;width:100%;display:flex;position:relative}.auth-password-input{padding-right:48px}.auth-password-toggle{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:36px;height:36px;padding:0;transition:color .15s,background-color .15s,transform .1s;display:flex;position:absolute;top:50%;right:8px;transform:translateY(-50%)}.auth-password-toggle:hover{color:#1363df;background-color:#1363df14}.auth-password-toggle:active{transform:translateY(-50%)scale(.92)}.auth-password-toggle:focus-visible{outline-offset:1px;outline:2px solid #1363df}.auth-password-strength{align-items:center;gap:10px;margin-top:6px;font-size:.78rem;font-weight:500;display:flex}.auth-strength-bars{flex:1;gap:4px;max-width:140px;display:flex}.auth-strength-bar{background:#e2e8f0;border-radius:2px;flex:1;height:4px;transition:background-color .2s}.auth-strength-bar.active.level-1{background:#f43f5e}.auth-strength-bar.active.level-2{background:#f59e0b}.auth-strength-bar.active.level-3{background:#3b82f6}.auth-strength-bar.active.level-4{background:#10b981}.auth-strength-label{font-size:.78rem;font-weight:600}.auth-checkbox-row{color:#64748b;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;margin-top:2px;font-size:.85rem;display:flex}.auth-checkbox-label{cursor:pointer;flex-wrap:wrap;align-items:center;gap:2px;display:inline-flex}.auth-policy-link{color:#1363df;font-size:inherit;text-underline-offset:2px;cursor:pointer;background:0 0;border:none;margin:0;padding:0 1px;font-weight:600;text-decoration:underline;transition:color .15s;display:inline}.auth-policy-link:hover{color:#0c4cb3}.auth-checkbox-row input[type=checkbox]{accent-color:#1363df;cursor:pointer;flex-shrink:0;width:16px;height:16px}button[type=submit].auth-primary-btn,button.auth-primary-btn,.auth-primary-btn{color:#fff!important;letter-spacing:.02em!important;cursor:pointer!important;background:#1363df!important;border:none!important;border-radius:10px!important;justify-content:center!important;align-items:center!important;width:100%!important;height:48px!important;margin-top:10px!important;font-size:1rem!important;font-weight:700!important;transition:all .2s!important;display:flex!important;box-shadow:0 6px 18px #1363df52!important}button[type=submit].auth-primary-btn:hover:not(:disabled),button.auth-primary-btn:hover:not(:disabled),.auth-primary-btn:hover:not(:disabled){background:#0f52ba!important;transform:translateY(-1px)!important;box-shadow:0 8px 24px #1363df6b!important}button[type=submit].auth-primary-btn:active:not(:disabled),button.auth-primary-btn:active:not(:disabled),.auth-primary-btn:active:not(:disabled){transform:translateY(0)!important}button[type=submit].auth-primary-btn:disabled,button.auth-primary-btn:disabled,.auth-primary-btn:disabled{opacity:.65!important;cursor:not-allowed!important;transform:none!important}.auth-actions{align-items:stretch;gap:10px;display:flex}.auth-actions>button.auth-primary-btn{flex:1.05 1 0;min-width:0;width:auto!important;margin-top:0!important}.auth-guest-btn{color:#334155;text-align:center;white-space:nowrap;background:#fff;border:1px solid #e2e8f0;border-radius:10px;flex:1 1 0;justify-content:center;align-items:center;min-width:0;height:48px;padding:0 12px;font-size:.88rem;font-weight:600;line-height:1.2;text-decoration:none;display:inline-flex}.auth-guest-btn:hover{color:#1363df;border-color:#1363df}.auth-locale{position:relative}.auth-locale-trigger{color:#334155;height:36px;font:inherit;cursor:pointer;background:#f4f6fa;border:1px solid #e6eaf0;border-radius:999px;align-items:center;gap:8px;padding:0 12px 0 10px;font-size:.9rem;font-weight:600;display:inline-flex}.auth-locale-trigger:hover{background:#fff;border-color:#d5deea}.auth-locale-chevron{transition:transform .15s}.auth-locale-trigger[aria-expanded=true] .auth-locale-chevron{transform:rotate(180deg)}.auth-locale-menu{z-index:50;background:#fff;border:1px solid #e2e8f0;border-radius:12px;min-width:148px;padding:6px;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 12px 32px #0f172a1f}.auth-locale-menu button{text-align:left;width:100%;font:inherit;color:#334155;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:8px 10px;font-size:.9rem;font-weight:600;display:block}.auth-locale-menu button:hover{background:#f8fafc}.auth-locale-menu button[aria-selected=true]{color:#1363df;background:#eff6ff}.auth-social-divider{justify-content:center;align-items:center;margin:28px 0 20px;display:flex;position:relative}.auth-social-divider:before,.auth-social-divider:after{content:"";background:#e2e8f0;width:calc(50% - 60px);height:1px;position:absolute;top:50%}.auth-social-divider:before{left:0}.auth-social-divider:after{right:0}.auth-social-divider span{color:#94a3b8;background:#fff;padding:0 8px;font-size:.82rem}.auth-social-row{justify-content:center;align-items:center;gap:16px;margin-bottom:24px;display:flex}.auth-social-icon-btn{cursor:pointer;background:#fff;border:1px solid #e2e8f0;border-radius:50%;justify-content:center;align-items:center;width:44px;height:44px;transition:all .2s;display:flex;box-shadow:0 2px 6px #00000008}.auth-social-icon-btn:hover{border-color:#cbd5e1;transform:translateY(-2px);box-shadow:0 6px 14px #00000012}.auth-footer-prompt{text-align:center;color:#64748b;font-size:.88rem}.auth-footer-prompt a{color:#1363df;margin-left:5px;font-weight:700;text-decoration:none;transition:color .2s}.auth-footer-prompt a:hover{color:#0c4cb3;text-decoration:underline}@media (width<=900px){.auth-page{flex-direction:column;min-height:100vh;display:flex}.auth-container{flex-direction:column;flex:1;min-height:100vh}.auth-hero-section{box-sizing:border-box;flex-direction:column;flex:none;justify-content:center;align-items:center;width:100%;min-width:0;height:33vh;min-height:240px;max-height:300px;padding:20px 20px 56px;display:flex;position:relative;overflow:hidden}.auth-hero-top,.auth-brand-desc,.auth-hero-footer,.auth-hero-wave{display:none!important}.auth-hero-center{flex-direction:column;align-items:center;max-width:100%;margin:0;display:flex;transform:translateY(-8px)}.auth-brand-badge{border-radius:50%;width:92px;height:92px;margin-bottom:10px;box-shadow:0 12px 28px #0c4cb359}.auth-brand-icon{width:70px;height:70px}.auth-brand-title{color:#fff;letter-spacing:.02em;margin:0;font-size:1.5rem;font-weight:800}.auth-mobile-wave{pointer-events:none;z-index:25;width:100%;height:60px;display:block;position:absolute;bottom:-1px;left:0}.auth-skip-header{top:14px;right:16px}.auth-skip-btn{color:#fff;-webkit-backdrop-filter:blur(8px);box-shadow:none;background:#ffffff38;border:1px solid #ffffff73;border-radius:9999px;gap:6px;padding:5px 14px;font-size:.82rem;font-weight:600}.auth-skip-btn:hover{color:#fff;background:#ffffff59;border-color:#ffffffb3}.auth-skip-btn span:last-child{color:#fff!important}.auth-skip-text-full{display:none!important}.auth-skip-text-short{display:inline!important}.auth-skip-hint{display:none!important}.auth-form-section{box-sizing:border-box;background:#fff;flex-direction:column;flex:1 0 auto;justify-content:flex-start;align-items:center;width:100%;padding:20px 24px 28px;display:flex}.auth-form-container{flex-direction:column;flex:1;width:100%;max-width:380px;display:flex}.auth-form-heading{color:#0f172a;text-align:center;margin:0 0 20px;font-size:1.65rem;font-weight:800}.auth-form{gap:14px}.auth-field-label{color:#334155;font-size:.88rem;font-weight:600}.auth-field-input{background:#f4f6fa;border:1px solid #e2e8f0;border-radius:12px;height:48px;font-size:.95rem}.auth-field-input:focus{background:#fff;border-color:#1363df;box-shadow:0 0 0 4px #1363df1f}.auth-primary-btn{border-radius:12px!important;height:48px!important;margin-top:8px!important;font-size:1rem!important}.auth-actions{flex-direction:column}.auth-actions>button.auth-primary-btn,.auth-actions>.auth-guest-btn{border-radius:12px;flex:none;width:100%!important}.auth-actions>button.auth-primary-btn{margin-top:0!important}.auth-social-divider{margin-top:auto;margin-bottom:16px;padding-top:24px}.auth-social-row{gap:16px;margin-bottom:20px}.auth-social-icon-btn{width:44px;height:44px}.auth-footer-prompt{text-align:center;padding-bottom:6px;font-size:.88rem}}.coming-soon-backdrop{-webkit-backdrop-filter:blur(6px);z-index:9999;background:#000000b3;justify-content:center;align-items:center;padding:16px;animation:.2s ease-out forwards csFadeIn;display:flex;position:fixed;inset:0}.coming-soon-card{box-sizing:border-box;background:#000;border:1px solid #27272a;border-radius:20px;flex-direction:column;width:100%;max-width:380px;padding:24px;animation:.22s cubic-bezier(.16,1,.3,1) forwards csScaleUp;display:flex;box-shadow:0 24px 48px #0009,0 0 0 1px #ffffff14}@keyframes csFadeIn{0%{opacity:0}to{opacity:1}}@keyframes csScaleUp{0%{opacity:0;transform:scale(.92)translateY(6px)}to{opacity:1;transform:scale(1)translateY(0)}}.coming-soon-header{justify-content:space-between;align-items:center;width:100%;display:flex}.coming-soon-icon{color:#f1f5f9;justify-content:flex-start;align-items:center;width:32px;height:32px;display:flex}.coming-soon-close{color:#94a3b8;cursor:pointer;background:0 0;border:none;border-radius:8px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;transition:color .15s,background .15s;display:flex}.coming-soon-close:hover{color:#fff;background:#ffffff1a}.coming-soon-title{color:#fff;letter-spacing:-.02em;margin:18px 0 12px;font-size:1.55rem;font-weight:700;line-height:1.25}.coming-soon-desc{color:#9ca3af;margin:0 0 24px;font-size:.98rem;font-weight:400;line-height:1.55}.coming-soon-btn{color:#fff;cursor:pointer;background:#1d68ed;border:none;border-radius:12px;justify-content:center;align-items:center;width:100%;height:48px;font-size:1rem;font-weight:600;transition:background .15s,transform .1s;display:flex}.coming-soon-btn:hover{background:#1858c7}.coming-soon-btn:active{transform:scale(.98)}.activity-page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px;display:flex}.activity-header-left{flex-direction:column;gap:4px;display:flex}.activity-tabs-switcher{background:#f1f5f9;border:1px solid #e2e8f0e6;border-radius:14px;align-items:center;gap:4px;padding:4px;display:inline-flex}.activity-tab-btn{color:#64748b;cursor:pointer;box-sizing:border-box;white-space:nowrap;background:0 0;border:none;border-radius:10px;align-items:center;gap:8px;min-height:38px;padding:8px 18px;font-size:.88rem;font-weight:700;transition:all .15s;display:inline-flex}.activity-tab-btn:hover{color:#0f172a}.activity-tab-btn.active{color:#1363df;background:#fff;box-shadow:0 1px 3px #0f172a14,0 4px 10px -2px #0f172a0a}.activity-count-badge{color:#1363df;background:#eff6ff;border:1px solid #bfdbfe;border-radius:9999px;padding:1px 7px;font-size:.75rem;font-weight:800}.activity-tab-content{width:100%}.activity-privacy-banner{color:#475569;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;align-items:center;gap:10px;margin-bottom:18px;padding:12px 18px;font-size:.86rem;font-weight:500;display:flex}.activity-privacy-banner svg{color:#64748b;flex-shrink:0}@media (width<=768px){.activity-page-header{flex-direction:column;align-items:stretch;gap:14px}.activity-tabs-switcher{width:100%;display:flex}.activity-tab-btn{flex:1;justify-content:center;min-height:42px;padding:8px 10px;font-size:.84rem}}.poll-hero-header{flex-direction:column;gap:14px;width:100%;margin-bottom:24px;display:flex}.poll-hero-top-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.poll-hero-badges{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.poll-hero-password-badge{color:#e11d48;letter-spacing:.03em;white-space:nowrap;background:#fff1f2;border:1px solid #fecdd3;border-radius:9999px;align-items:center;gap:5px;padding:3px 10px;font-size:.72rem;font-weight:700;display:inline-flex}.poll-hero-version-badge{color:#64748b;letter-spacing:.02em;white-space:nowrap;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:5px;padding:4px 10px;font-size:.75rem;font-weight:700;display:inline-flex;box-shadow:0 1px 2px #0f172a05}.poll-hero-title-area{flex-direction:column;gap:6px;display:flex}.poll-hero-title{color:#0f172a;letter-spacing:-.025em;word-break:break-word;margin:0;font-size:2.15rem;font-weight:800;line-height:1.25}.poll-hero-description{color:#64748b;max-width:800px;margin:0;font-size:.98rem;line-height:1.6}.poll-hero-status-notice-wrap{align-items:center;gap:8px;display:flex}.poll-hero-status-alert{border-radius:10px;align-items:center;gap:6px;padding:6px 14px;font-size:.88rem;font-weight:600;display:inline-flex}.poll-hero-status-alert.closed{color:#dc2626;background:#fef2f2;border:1px solid #fecaca}.poll-hero-status-alert.scheduled{color:#b45309;background:#fffbeb;border:1px solid #fde68a}.poll-schedule-widget{box-sizing:border-box;background:linear-gradient(135deg,#fff 0%,#f8fafc 100%);border:1.5px solid #e2e8f0;border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:14px 20px;display:flex;box-shadow:0 2px 10px #0f172a08}.poll-schedule-track{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.poll-schedule-icon-wrapper{color:#1363df;background:#eff6ff;border:1px solid #bfdbfe;border-radius:11px;flex-shrink:0;justify-content:center;align-items:center;width:40px;height:40px;display:flex}.poll-schedule-flow{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.poll-schedule-point{flex-direction:column;gap:2px;display:flex}.poll-schedule-point-label{text-transform:uppercase;letter-spacing:.06em;color:#94a3b8;font-size:.68rem;font-weight:700}.poll-schedule-point-val{align-items:baseline;gap:6px;display:flex}.poll-schedule-date{color:#475569;letter-spacing:-.01em;font-size:.88rem;font-weight:600}.poll-schedule-time{color:#0f172a;font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-size:1.05rem;font-weight:800}.poll-schedule-connector{color:#94a3b8;align-items:center;gap:6px;display:flex}.poll-schedule-line{background:#cbd5e1;width:20px;height:1.5px}.poll-schedule-duration-pill{color:#1d4ed8;white-space:nowrap;letter-spacing:.02em;background:#eff6ff;border:1px solid #dbeafe;border-radius:9999px;align-items:center;padding:2px 9px;font-size:.72rem;font-weight:700;display:inline-flex}.poll-schedule-arrow{color:#94a3b8;flex-shrink:0}.poll-schedule-side{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.poll-schedule-tz-tag{color:#475569;letter-spacing:.04em;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;align-items:center;padding:3px 8px;font-size:.72rem;font-weight:700;display:inline-flex}.poll-schedule-status-pill{letter-spacing:.02em;white-space:nowrap;border-radius:9999px;align-items:center;gap:6px;padding:4px 12px;font-size:.75rem;font-weight:700;display:inline-flex}.poll-schedule-status-pill.is-closed{color:#64748b;background:#f1f5f9;border:1px solid #e2e8f0}.poll-schedule-status-pill.is-open{color:#059669;background:#ecfdf5;border:1px solid #a7f3d0}.poll-schedule-status-pill.is-scheduled{color:#b45309;background:#fffbeb;border:1px solid #fde68a}.poll-schedule-pulse{background:#10b981;border-radius:50%;width:7px;height:7px;animation:2s cubic-bezier(.4,0,.6,1) infinite pollPulse;box-shadow:0 0 0 2px #10b98140}@keyframes pollPulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.5;transform:scale(.85)}}@media (width<=768px){.poll-hero-title{font-size:1.65rem}.poll-schedule-widget{flex-direction:column;align-items:flex-start;gap:12px;padding:14px 16px}.poll-schedule-flow{justify-content:space-between;width:100%}.poll-schedule-line{width:12px}.poll-schedule-side{border-top:1px solid #f1f5f9;justify-content:flex-start;width:100%;padding-top:6px}}.json-preview-backdrop{z-index:9999;-webkit-backdrop-filter:blur(8px);background:#0f172a99;justify-content:center;align-items:center;padding:20px;animation:.2s cubic-bezier(.16,1,.3,1) forwards jsonFadeIn;display:flex;position:fixed;inset:0}@keyframes jsonFadeIn{0%{opacity:0}to{opacity:1}}.json-preview-card{background:#fff;border:1px solid #e2e8f0f2;border-radius:18px;flex-direction:column;width:100%;max-width:680px;max-height:85vh;animation:.22s cubic-bezier(.16,1,.3,1) forwards jsonCardZoom;display:flex;overflow:hidden;box-shadow:0 24px 60px -8px #0f172a4d,0 8px 24px -4px #0f172a26}@keyframes jsonCardZoom{0%{opacity:0;transform:scale(.96)translateY(10px)}to{opacity:1;transform:scale(1)translateY(0)}}.json-preview-header{background:#f8fafc;border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:16px 20px;display:flex}.json-preview-title-row{align-items:center;gap:10px;display:flex}.json-preview-icon{color:#1363df;background:#eff6ff;border-radius:8px;place-items:center;width:32px;height:32px;display:grid}.json-preview-title{color:#0f172a;margin:0;font-size:1.05rem;font-weight:700}.json-preview-status-pill{color:#059669;background:#ecfdf5;border:1px solid #a7f3d0;border-radius:999px;padding:2px 8px;font-size:.72rem;font-weight:700}.json-preview-header-actions{align-items:center;gap:8px;display:flex}.json-preview-copy-btn{color:#334155;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;align-items:center;gap:6px;padding:6px 12px;font-size:.8rem;font-weight:600;transition:all .15s;display:inline-flex}.json-preview-copy-btn:hover{color:#0f172a;background:#f1f5f9;border-color:#94a3b8}.json-preview-copy-btn.copied{color:#059669;background:#ecfdf5;border-color:#6ee7b7}.json-preview-close-btn{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:8px;place-items:center;width:32px;height:32px;transition:all .15s;display:grid}.json-preview-close-btn:hover{color:#0f172a;background:#e2e8f0}.json-preview-summary-bar{background:#f1f5f9;border-bottom:1px solid #e2e8f0;align-items:center;gap:16px;padding:10px 20px;font-size:.8rem;display:flex}.json-preview-meta-item{align-items:center;gap:6px;display:flex}.meta-label{color:#64748b;font-weight:500}.meta-value{color:#0f172a;font-weight:700}.json-preview-body{background:#0f172a;flex:1;min-height:220px;max-height:440px;padding:16px 20px;overflow-y:auto}.json-preview-code{color:#38bdf8;white-space:pre;tab-size:2;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-size:.85rem;line-height:1.55}.json-preview-footer{background:#fff;border-top:1px solid #e2e8f0;justify-content:flex-end;align-items:center;gap:10px;padding:14px 20px;display:flex}.json-preview-btn-cancel{color:#475569;cursor:pointer;background:#fff;border:1.5px solid #cbd5e1;border-radius:10px;padding:8px 18px;font-size:.84rem;font-weight:600;transition:all .15s}.json-preview-btn-cancel:hover{color:#0f172a;background:#f8fafc;border-color:#94a3b8}.json-preview-btn-apply{color:#fff;cursor:pointer;background:#1363df;border:none;border-radius:10px;align-items:center;gap:6px;padding:8px 22px;font-size:.84rem;font-weight:700;transition:all .15s;display:inline-flex;box-shadow:0 2px 8px #1363df47}.json-preview-btn-apply:hover{background:#0f52ba;transform:translateY(-1px);box-shadow:0 4px 14px #1363df59}.poll-import-card{background:linear-gradient(#f0f7ff 0%,#e0f2fe 100%);border:1.5px solid #3b82f673;border-radius:16px;margin-bottom:24px;transition:all .25s cubic-bezier(.4,0,.2,1);overflow:hidden;box-shadow:0 4px 18px -2px #2563eb1a,0 0 0 1px #60a5fa33}.poll-import-card:hover{border-color:#2563eba6;box-shadow:0 8px 24px -2px #2563eb29,0 0 0 1px #60a5fa59}.poll-import-header{cursor:pointer;-webkit-user-select:none;user-select:none;background:#e0f2fea6;border-bottom:1px solid #1363df1a;justify-content:space-between;align-items:center;padding:13px 20px;transition:background .15s;display:flex}.poll-import-header:hover{background:#bae6fdb3}.poll-import-title{color:#0369a1;letter-spacing:-.01em;align-items:center;gap:8px;font-size:14px;font-weight:700;display:flex}.poll-import-toggle{color:#0284c7;background:#fff;border:1px solid #0284c740;border-radius:999px;align-items:center;gap:4px;padding:3px 10px;font-size:12px;font-weight:700;transition:all .15s;display:inline-flex;box-shadow:0 1px 2px #0000000a}.poll-import-header:hover .poll-import-toggle{background:#eff6ff;border-color:#0284c7}.poll-import-body{background:0 0;padding:18px 20px 20px}.poll-import-hint{color:#475569;margin:0 0 12px;font-size:13.5px;font-weight:500;line-height:1.5}.poll-import-textarea{resize:vertical;box-sizing:border-box;color:#0f172a;background:#fff;border:1.5px solid #cbd5e1;border-radius:12px;outline:none;width:100%;min-height:155px;padding:14px 16px;font-size:13.5px;line-height:1.65;transition:border-color .2s,box-shadow .2s,background .2s;box-shadow:0 1px 3px #0f172a08}.poll-import-textarea:focus{background:#fff;border-color:#1363df;box-shadow:0 0 0 3px #1363df1f}.poll-import-textarea::placeholder{color:#94a3b8;font-size:13px;line-height:1.65}.poll-import-actions{justify-content:flex-end;align-items:center;gap:10px;margin-top:14px;display:flex}.poll-import-btn-clear{color:#475569;cursor:pointer;background:#fff;border:1.5px solid #cbd5e1;border-radius:10px;padding:8px 18px;font-size:13px;font-weight:600;transition:all .15s cubic-bezier(.4,0,.2,1);box-shadow:0 1px 2px #0f172a0a}.poll-import-btn-clear:hover:not(:disabled){color:#0f172a;background:#f8fafc;border-color:#94a3b8;transform:translateY(-1px)}.poll-import-btn-clear:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.poll-import-btn-preview{color:#1363df;cursor:pointer;background:#fff;border:1.5px solid #bfdbfe;border-radius:10px;align-items:center;gap:6px;padding:8px 16px;font-size:13px;font-weight:600;transition:all .15s cubic-bezier(.4,0,.2,1);display:inline-flex;box-shadow:0 1px 2px #1363df14}.poll-import-btn-preview:hover:not(:disabled){color:#0f52ba;background:#eff6ff;border-color:#93c5fd;transform:translateY(-1px)}.poll-import-btn-preview:disabled{opacity:.45;cursor:not-allowed;box-shadow:none}.poll-import-btn-submit{color:#fff;cursor:pointer;background:#1363df;border:none;border-radius:10px;align-items:center;gap:6px;padding:8px 22px;font-size:13px;font-weight:700;transition:all .15s cubic-bezier(.4,0,.2,1);display:inline-flex;box-shadow:0 2px 8px #1363df47}.poll-import-btn-submit:hover:not(:disabled){background:#0f52ba;transform:translateY(-1px);box-shadow:0 4px 14px #1363df59}.poll-import-btn-submit:active:not(:disabled){transform:translateY(0)}.poll-import-btn-submit:disabled{opacity:.6;cursor:not-allowed;box-shadow:none}.poll-import-feedback{border-radius:10px;align-items:center;gap:8px;margin-top:12px;padding:10px 14px;font-size:13px;font-weight:600;line-height:1.4;display:flex}.poll-import-feedback.is-success{color:#047857;background:#ecfdf5;border:1px solid #10b98140}.poll-import-feedback.is-error{color:#b91c1c;background:#fef2f2;border:1px solid #ef444440}.poll-import-feedback.is-warning{color:#b45309;background:#fffbeb;border:1px solid #f59e0b4d}@media (width<=640px){.poll-import-actions{flex-wrap:wrap;justify-content:stretch}.poll-import-btn-clear,.poll-import-btn-submit{text-align:center;flex:auto;justify-content:center}}.poll-form-wrapper{color:#0f172a;max-width:860px;margin:0 auto;font-family:Outfit,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.poll-form-header{margin-bottom:28px}.poll-form-title{color:#0f172a;letter-spacing:-.02em;margin:0 0 6px;font-size:1.85rem;font-weight:800}.poll-form-subtitle{color:#64748b;margin:0;font-size:.95rem}.poll-form-card{box-sizing:border-box;background:#fff;border:1px solid #e2e8f0d9;border-radius:20px;flex-direction:column;gap:32px;padding:36px;display:flex;box-shadow:0 1px 3px #0f172a0a,0 10px 30px -4px #0f172a0f}.poll-form-section{border-bottom:1px solid #f1f5f9;flex-direction:column;gap:18px;padding-bottom:28px;display:flex}.poll-form-section:last-of-type{border-bottom:none;padding-bottom:0}.poll-section-title{color:#0f172a;align-items:center;gap:8px;margin:0;font-size:1.1rem;font-weight:700;display:flex}.poll-options-heading{justify-content:space-between;align-items:center;gap:16px;display:flex;position:relative}.poll-options-heading .poll-segment-compact{box-sizing:border-box;background:#fff;border:1px solid #d7e4f5;border-radius:999px;flex-shrink:0;align-items:center;width:max-content;max-width:none;height:40px;margin-left:auto;padding:4px;transition:opacity .2s,transform .2s,box-shadow .2s;display:flex}.poll-options-heading .poll-segment-compact.is-hidden{opacity:0;pointer-events:none;visibility:hidden;border:none;width:0;min-width:0;max-width:0;height:0;margin:0;padding:0;position:absolute;right:0;overflow:hidden}.poll-options-heading .poll-segment-compact.is-visible{opacity:1;pointer-events:auto;visibility:visible}@keyframes poll-segment-flash{0%{background:#e0f2fe;border-color:#0284c7;transform:scale(.96);box-shadow:0 0 #0284c7b3}35%{background:#bae6fd;border-color:#0284c7;transform:scale(1.04);box-shadow:0 0 0 6px #0284c759}70%{background:#e0f2fe;border-color:#0284c7;transform:scale(1.02);box-shadow:0 0 0 3px #0284c733}to{box-shadow:none;background:#fff;border-color:#d7e4f5;transform:scale(1)}}.poll-options-heading .poll-segment-compact.is-flashing{animation:1s ease-in-out forwards poll-segment-flash}.poll-options-heading .poll-segment-compact .poll-segment-option{flex:none;justify-content:center;align-items:center;height:100%;display:flex;position:relative}.poll-options-heading .poll-segment-compact .poll-segment-copy{width:100%;transition:background .15s,color .15s,box-shadow .15s;box-sizing:border-box!important;white-space:nowrap!important;border-radius:999px!important;flex-direction:row!important;justify-content:center!important;align-items:center!important;height:100%!important;min-height:0!important;margin:0!important;padding:0 16px!important;font-size:.92rem!important;font-weight:600!important;line-height:1!important;display:flex!important}.poll-options-heading .poll-segment-compact .poll-segment-input:checked+.poll-segment-copy{color:#1f2937!important;box-shadow:none!important;background:#e6e8ec!important}.poll-options-heading .poll-segment-compact .poll-segment-input:not(:checked)+.poll-segment-copy{color:#9aa3b2!important;box-shadow:none!important;background:0 0!important}.poll-options-heading .poll-segment-compact .poll-segment-option.is-disabled .poll-segment-copy{opacity:.45;cursor:not-allowed}.poll-setting-hint{color:#64748b;margin:0;font-size:.82rem;font-weight:600;line-height:1.45}.poll-section-desc{color:#64748b;margin:-10px 0 4px;font-size:.88rem}.poll-form-field{flex-direction:column;gap:8px;display:flex}.poll-form-label{color:#1e293b;justify-content:space-between;align-items:center;font-size:.92rem;font-weight:600;display:flex}.poll-form-label-hint{color:#94a3b8;font-size:.8rem;font-weight:500}.poll-form-input{color:#0f172a;box-sizing:border-box;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:12px;outline:none;width:100%;height:48px;min-height:48px;padding:0 16px;font-size:.95rem;transition:all .2s}.poll-form-input:focus{background:#fff;border-color:#1363df;box-shadow:0 0 0 3px #1363df1f}.poll-form-textarea{color:#0f172a;resize:vertical;box-sizing:border-box;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:12px;outline:none;width:100%;min-height:96px;padding:12px 16px;font-family:inherit;font-size:.95rem;transition:all .2s}.poll-form-textarea:focus{background:#fff;border-color:#1363df;box-shadow:0 0 0 3px #1363df1f}.poll-config-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.poll-config-card{cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;border:2px solid #e2e8f0;border-radius:14px;flex-direction:column;padding:18px 20px;transition:all .2s;display:flex;position:relative}.poll-config-card:hover{background:#f8fafc;border-color:#cbd5e1}.poll-config-card.selected{background:#f0f7ff;border-color:#1363df}.poll-config-card-header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.poll-config-icon-title{align-items:center;gap:10px;display:flex}.poll-config-icon{background:#f1f5f9;border-radius:8px;place-items:center;width:32px;height:32px;font-size:1.1rem;display:grid}.poll-config-card.selected .poll-config-icon{background:#dbeafe}.poll-config-title{color:#0f172a;font-size:.98rem;font-weight:700}.poll-config-radio-dot{border:2px solid #cbd5e1;border-radius:50%;place-items:center;width:20px;height:20px;transition:all .2s;display:grid}.poll-config-card.selected .poll-config-radio-dot{border-color:#1363df}.poll-config-radio-inner{opacity:0;background:#1363df;border-radius:50%;width:10px;height:10px;transition:all .2s;transform:scale(.5)}.poll-config-card.selected .poll-config-radio-inner{opacity:1;transform:scale(1)}.poll-config-desc{color:#64748b;margin:0;font-size:.85rem;line-height:1.5}.poll-settings-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.poll-setting-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;flex-direction:column;gap:12px;min-width:0;padding:14px 16px;display:flex}.poll-setting-name{color:#0f172a;letter-spacing:-.01em;font-size:1rem;font-weight:800}.poll-switch-row{justify-content:space-between;align-items:center;gap:8px;min-height:44px;display:flex}.poll-switch-side{color:#94a3b8;white-space:nowrap;cursor:pointer;background:0 0;border:0;border-radius:8px;min-width:0;padding:4px 6px;font-family:inherit;font-size:.82rem;font-weight:650;transition:all .15s}.poll-switch-side:hover{color:#475569}.poll-switch-side.is-active{color:#0f172a;font-weight:750}.poll-switch{appearance:none;cursor:pointer;background:#cbd5e1;border:0;border-radius:999px;flex:none;width:44px;height:24px;margin:0;transition:background .2s;position:relative;min-height:24px!important}.poll-switch:after{content:"";background:#1e293b;border-radius:50%;width:18px;height:18px;transition:transform .2s cubic-bezier(.4,0,.2,1);position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0f172a59}.poll-switch:checked:after{transform:translate(20px)}.poll-switch:focus-visible{outline-offset:3px;outline:2px solid #1363df}.poll-passcode-banner{box-sizing:border-box;background:#eff6ff;border:1.5px solid #bfdbfe;border-radius:14px;grid-column:1/-1;justify-content:space-between;align-items:center;gap:16px;padding:12px 18px;animation:.2s cubic-bezier(.16,1,.3,1) pollBannerSlide;display:flex}@keyframes pollBannerSlide{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.poll-passcode-banner-header{color:#1e40af;white-space:nowrap;align-items:center;gap:8px;font-size:.92rem;font-weight:700;display:flex}.poll-passcode-banner-icon{font-size:1.1rem}.poll-passcode-banner-label{cursor:pointer}.poll-passcode-banner-input{color:#0f172a;box-sizing:border-box;background:#fff;border:1.5px solid #93c5fd;border-radius:10px;outline:none;flex:1;max-width:360px;height:40px;padding:0 14px;font-family:inherit;font-size:.92rem;transition:all .2s;min-height:40px!important}.poll-passcode-banner-input:focus{border-color:#1363df;box-shadow:0 0 0 3px #1363df26}.poll-setting-card-limit{flex-direction:column;gap:12px;display:flex}.poll-limit-card-header{justify-content:space-between;align-items:center;display:flex}.poll-limit-status-pill{letter-spacing:-.01em;border-radius:999px;align-items:center;gap:6px;padding:3px 10px;font-size:.76rem;font-weight:700;line-height:1;transition:all .2s;display:inline-flex}.poll-limit-status-pill.is-unlimited{color:#1d4ed8;background:#eff6ff;border:1px solid #3b82f633}.poll-limit-status-pill.is-limited{color:#047857;background:#ecfdf5;border:1px solid #10b98140}.poll-limit-status-dot{border-radius:50%;width:6px;height:6px}.poll-limit-status-pill.is-unlimited .poll-limit-status-dot{background:#3b82f6;box-shadow:0 0 6px #3b82f699}.poll-limit-status-pill.is-limited .poll-limit-status-dot{background:#10b981;box-shadow:0 0 6px #10b98199}.poll-limit-control-row{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.poll-limit-capsule{background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:12px;align-items:center;padding:3px;transition:all .2s;display:inline-flex;box-shadow:0 1px 3px #0f172a08}.poll-limit-capsule:focus-within{background:#fff;border-color:#1363df;box-shadow:0 0 0 3px #1363df1f}.poll-limit-capsule .poll-step-btn{color:#1e293b;cursor:pointer;background:#fff;border:0;border-radius:8px;place-items:center;width:32px;height:32px;font-size:1.15rem;font-weight:700;line-height:1;transition:all .15s;display:grid;box-shadow:0 1px 2px #0f172a0d;min-height:32px!important}.poll-limit-capsule .poll-step-btn:hover:not(:disabled){color:#1363df;background:#f1f5f9;transform:scale(1.04)}.poll-limit-capsule .poll-step-btn:active:not(:disabled){transform:scale(.96)}.poll-limit-capsule .poll-step-btn:focus-visible{outline-offset:-1px;outline:2px solid #1363df}.poll-limit-capsule .poll-step-btn:disabled{opacity:.3;cursor:not-allowed;box-shadow:none;background:0 0}.poll-limit-input-wrap{box-sizing:border-box;justify-content:center;align-items:center;gap:4px;height:32px;padding:0 10px;display:flex}.poll-limit-input{color:#0f172a;text-align:center;font-variant-numeric:tabular-nums;background:0 0;border:0;outline:none;width:42px;height:30px;padding:0;font-size:.98rem;font-weight:800;line-height:1;min-height:0!important}.poll-limit-input.is-empty{width:78px;font-size:.88rem;font-weight:700}.poll-limit-input.is-long{width:66px;font-size:.85rem}.poll-limit-input::placeholder{color:#94a3b8;font-weight:700}.poll-limit-unit{color:#64748b;white-space:nowrap;-webkit-user-select:none;user-select:none;font-size:.82rem;font-weight:700;line-height:1}.poll-limit-presets{align-items:center;gap:6px;display:flex}.poll-preset-btn{color:#475569;font-variant-numeric:tabular-nums;cursor:pointer;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:10px;justify-content:center;align-items:center;height:40px;padding:0 13px;font-size:.82rem;font-weight:700;transition:all .15s cubic-bezier(.4,0,.2,1);display:inline-flex}.poll-preset-btn:hover{color:#0f172a;background:#fff;border-color:#cbd5e1;transform:translateY(-1px);box-shadow:0 2px 5px #0f172a0d}.poll-preset-btn:active{transform:translateY(0)}.poll-preset-btn.is-active{color:#1363df;background:#eff6ff;border-color:#1363df;font-weight:800;box-shadow:0 2px 8px #1363df2e}.poll-limit-slider-container{flex-direction:column;gap:4px;margin-top:4px;display:flex}.poll-limit-track{align-items:center;height:26px;display:flex;position:relative}.poll-limit-rail,.poll-limit-fill{border-radius:999px;height:6px;position:absolute;left:0}.poll-limit-rail{background:#e2e8f0;right:0}.poll-limit-fill{background:linear-gradient(90deg,#1363df 0%,#38bdf8 100%);box-shadow:0 0 8px #1363df4d}.poll-limit-thumb{pointer-events:none;background:#fff;border:3px solid #1363df;border-radius:50%;width:18px;height:18px;transition:transform 50ms;position:absolute;top:50%;transform:translate(-50%,-50%);box-shadow:0 2px 8px #1363df59}.poll-limit-range{opacity:0;cursor:grab;z-index:1;width:100%;height:100%;margin:0;position:absolute;inset:0;min-height:0!important}.poll-limit-range:active{cursor:grabbing}.poll-limit-ticks{color:#94a3b8;font-variant-numeric:tabular-nums;-webkit-user-select:none;user-select:none;width:100%;height:20px;margin-top:6px;font-size:.72rem;font-weight:600;position:relative}.poll-limit-tick-label{cursor:pointer;white-space:nowrap;transition:color .15s;position:absolute;top:0;transform:translate(-50%)}.poll-limit-tick-label:first-child{transform:translate(0)}.poll-limit-tick-label:last-child{transform:translate(-100%)}.poll-limit-tick-label:hover{color:#1363df}.poll-limit-tick-label.is-active{color:#1363df;font-weight:800}.poll-segment{background:#f3f4f6;border-radius:999px;gap:0;padding:4px;display:flex}.poll-segment-option{flex:1;min-width:0;position:relative}.poll-segment-input{opacity:0;cursor:pointer;width:100%;height:100%;margin:0;position:absolute;inset:0;min-height:0!important}.poll-segment-input:disabled{cursor:not-allowed}.poll-segment-copy{color:#64748b;text-align:center;border-radius:999px;flex-direction:column;justify-content:center;align-items:center;gap:1px;min-height:48px;padding:6px 8px;font-size:.92rem;font-weight:800;line-height:1.1;display:flex}.poll-segment-input:checked+.poll-segment-copy{color:#fff;background:#111827}.poll-segment-input:focus-visible+.poll-segment-copy{outline-offset:2px;outline:2px solid #1363df}.poll-segment-option.is-disabled .poll-segment-copy{opacity:.45}.poll-inline-status{color:#1363df;margin:0;font-size:.85rem;font-weight:600}.poll-native-radio{opacity:0;pointer-events:none;width:0;height:0;margin:0;position:absolute;min-height:0!important}.poll-passcode-box{background:#fff1f2;border:1px solid #fecdd3;border-radius:12px;flex-direction:column;gap:8px;margin-top:14px;padding:16px 20px;display:flex}.poll-passcode-label{color:#9f1239;align-items:center;gap:6px;font-size:.88rem;font-weight:700;display:flex}.poll-schedule-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.poll-schedule-item{flex-direction:column;gap:8px;display:flex}.poll-time-inputs{gap:10px;display:flex}.poll-time-inputs input[type=date]{color:#0f172a;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:12px;outline:none;flex:3;height:48px;min-height:48px;padding:0 14px;font-size:.92rem}.poll-time-inputs input[type=time]{color:#0f172a;background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:12px;outline:none;flex:2;height:48px;min-height:48px;padding:0 14px;font-size:.92rem}.poll-time-inputs input:focus{background:#fff;border-color:#1363df;box-shadow:0 0 0 3px #1363df1f}.poll-options-list{flex-direction:column;gap:12px;display:flex}.poll-option-row{align-items:center;gap:12px;display:flex}.poll-option-index{color:#475569;background:#f1f5f9;border-radius:10px;flex-shrink:0;place-items:center;width:78px;height:48px;font-size:.82rem;font-weight:700;display:grid}.poll-option-input-wrap{flex:1}.poll-option-remove-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:48px;padding:0;font-size:1.15rem;transition:all .2s;display:flex}.poll-option-remove-btn:hover:not(:disabled){color:#ef4444;background:0 0;transform:scale(1.15)}.poll-option-remove-btn:disabled{opacity:.3;cursor:not-allowed;color:#cbd5e1}.poll-add-option-btn{color:#1363df;cursor:pointer;background:#f8fbff;border:1.5px dashed #bfdbfe;border-radius:12px;justify-content:center;align-items:center;gap:8px;height:46px;margin-top:4px;font-size:.92rem;font-weight:700;transition:all .2s;display:inline-flex}.poll-add-option-btn:hover:not(:disabled){background:#eef4ff;border-color:#1363df;transform:translateY(-1px)}.poll-add-option-btn:disabled{opacity:.5;cursor:not-allowed;color:#94a3b8;border-style:solid;border-color:#e2e8f0}.poll-error-banner{color:#e11d48;background:#fff1f2;border:1px solid #fecdd3;border-radius:12px;align-items:center;gap:10px;padding:14px 18px;font-size:.92rem;font-weight:600;display:flex}.poll-actions-bar{justify-content:space-between;align-items:center;gap:14px;padding-top:8px;display:flex}.poll-cancel-btn{color:#475569;background:#fff;border:1px solid #e2e8f0;border-radius:12px;justify-content:center;align-items:center;height:48px;padding:0 20px;font-size:.95rem;font-weight:600;text-decoration:none;transition:all .2s;display:inline-flex}.poll-cancel-btn:hover{color:#0f172a;background:#f8fafc;border-color:#cbd5e1}.poll-submit-btn{color:#fff;cursor:pointer;background:#1363df;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;height:48px;padding:0 28px;font-size:1rem;font-weight:700;transition:all .2s;display:inline-flex;box-shadow:0 6px 18px #1363df52}.poll-submit-btn:hover:not(:disabled){background:#0f52ba;transform:translateY(-1px);box-shadow:0 8px 24px #1363df6b}.poll-submit-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}@media (width<=768px){.poll-options-heading{flex-wrap:wrap}.poll-options-heading .poll-segment{flex:none;width:max-content;margin-left:0}.poll-form-card{padding:22px 18px}.poll-config-grid,.poll-settings-grid,.poll-schedule-grid{grid-template-columns:1fr}.poll-actions-bar{flex-direction:column-reverse}.poll-actions-bar button,.poll-actions-bar a{width:100%}}@media (width<=520px){.poll-form-card{border-radius:16px;padding:18px 14px}.poll-form-heading{font-size:1.45rem}.poll-form-subtitle{font-size:.88rem}.poll-config-card{padding:14px}.poll-time-inputs{flex-direction:column;gap:8px}.poll-time-inputs input[type=date],.poll-time-inputs input[type=time]{flex:none;width:100%}.poll-option-row{gap:8px}.poll-passcode-banner{flex-direction:column;align-items:stretch;gap:10px}.poll-passcode-banner-input{max-width:100%}}.share-panel{background:#fff;border:1px solid #e2e8f0d9;border-radius:18px;margin-top:24px;padding:22px 22px 18px;box-shadow:0 1px 3px #0f172a0a,0 8px 24px -6px #0f172a0f}.share-panel-header{margin-bottom:18px}.share-panel-title-wrap{align-items:center;gap:10px;display:flex}.share-panel-title-icon{color:#1363df;background:#e8f1ff;border-radius:12px;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex}.share-panel-title{color:#0f172a;margin:0;font-size:1.2rem;font-weight:750}.share-panel-note{color:#64748b;margin:12px 0 0;font-size:.92rem;line-height:1.5}.share-panel-grid{border:1px solid #e6edf5;border-radius:16px;grid-template-rows:1fr auto;grid-template-columns:minmax(0,1.35fr) minmax(240px,.8fr);display:grid;overflow:hidden}.share-left-section{background:#fff;flex-direction:column;grid-area:1/1;gap:14px;padding:22px 22px 8px;display:flex}.share-field-group{flex-direction:column;gap:8px;display:flex}.share-field-label{color:#334155;font-size:.92rem;font-weight:650}.share-input-row{align-items:center;gap:10px;display:flex;position:relative}.share-url-shell{flex:1;min-width:0;position:relative}.share-url-icon{display:none}.share-url-input{color:#334155;background:#f8fafc;border:1.5px solid #d7e0ea;border-radius:12px;outline:none;width:100%;min-width:0;height:46px;padding:0 14px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.92rem}.share-url-input:focus{background:#fff;border-color:#1363df}.share-copy-btn{color:#fff;white-space:nowrap;cursor:pointer;background:#1363df;border:0;border-radius:12px;justify-content:center;align-items:center;gap:8px;height:46px;padding:0 16px;font-size:.95rem;font-weight:700;display:inline-flex}.share-copy-btn:hover{background:#0f56c8}.share-copy-btn.copied{background:#059669}.share-passcode-block{flex-direction:column;gap:8px;display:flex}.share-passcode-chip{color:#475569;background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;justify-content:space-between;align-items:center;gap:8px;min-height:44px;padding:8px 10px 8px 14px;font-size:.9rem;font-weight:600;display:flex}.share-passcode-main{align-items:center;gap:8px;min-width:0;display:flex}.share-passcode-main span{overflow-wrap:anywhere}.share-passcode-actions{align-items:center;gap:2px;display:flex}.share-passcode-toggle,.share-passcode-copy{color:#64748b;cursor:pointer;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;background:0 0;border:0;border-radius:10px;flex:none;justify-content:center;align-items:center;width:36px;height:36px;transition:all .15s;display:inline-flex}.share-passcode-toggle:hover,.share-passcode-toggle.active{color:#1363df;background:#e8f1ff}.share-passcode-copy{color:#1363df}.share-passcode-copy:hover,.share-passcode-copy.copied{background:#e8f1ff}.share-passcode-copy.copied{color:#059669}.share-actions-row{box-sizing:border-box;background:#fff;grid-area:2/1;justify-content:space-between;align-items:center;gap:12px;padding:8px 22px 18px;display:flex}.share-secondary-btn{color:#334155;cursor:pointer;background:#fff;border:1px solid #d7e0ea;border-radius:12px;justify-content:center;align-items:center;gap:6px;min-height:44px;padding:0 14px;font-size:.9rem;font-weight:650;display:inline-flex}.share-secondary-btn:hover{color:#1363df;border-color:#1363df}.share-manual-hint{color:#64748b;margin:0;font-size:.84rem;line-height:1.45}.share-right-section{background:#eef3fb;flex-direction:column;grid-area:1/2;align-items:center;padding:28px 18px 8px;display:flex}.share-download-row{background:#eef3fb;grid-area:2/2;justify-content:center;align-items:center;padding:8px 18px 18px;display:flex}.share-qr-card{background:#fff;border-radius:18px;width:min(100%,230px);padding:28px 16px 16px;position:relative;box-shadow:0 10px 24px -16px #0f172a73}.share-scan-pill{color:#475569;white-space:nowrap;background:#e7eefb;border-radius:999px;max-width:calc(100% - 16px);padding:6px 12px;font-size:.78rem;font-weight:700;position:absolute;top:-12px;left:50%;transform:translate(-50%)}.share-qr-box{justify-content:center;display:flex}.share-qr-download-btn{color:#334155;cursor:pointer;background:#f8fafc;border:1px solid #d5deea;border-radius:999px;justify-content:center;align-items:center;gap:8px;width:min(100%,230px);min-height:44px;padding:0 14px;font-size:.92rem;font-weight:700;display:inline-flex}.share-qr-download-btn:hover{color:#1363df;border-color:#1363df}@media (width<=768px){.share-panel{border-radius:16px;padding:18px 14px 14px}.share-panel-grid{border:0;flex-direction:column;gap:12px;display:flex;overflow:visible}.share-left-section{display:contents}.share-field-group{order:1}.share-passcode-block{order:2}.share-passcode-chip{color:#1363df;background:#e8f1ff;border-color:#d6e6fb}.share-right-section{box-shadow:none;background:#fff;border:1px solid #e2e8f0;border-bottom:0;border-radius:18px 18px 0 0;order:3;margin-top:0;padding:16px 16px 0}.share-download-row{background:#fff;border:1px solid #e2e8f0;border-top:0;border-radius:0 0 18px 18px;order:4;margin-top:0;padding:12px 16px 16px;box-shadow:0 8px 20px -16px #0f172a66}.share-actions-row{background:0 0;order:5;grid-template-columns:1fr 1fr;padding:0;display:grid}.share-manual-hint{order:6}.share-url-shell{width:100%}.share-url-icon{color:#94a3b8;z-index:1;display:inline-flex;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.share-input-row{flex-direction:column;align-items:stretch}.share-url-input{width:100%;padding-left:40px}.share-copy-btn{width:100%}.share-secondary-btn{width:100%;padding:0 8px}.share-qr-card{width:100%;box-shadow:none;padding:8px 8px 0}.share-scan-pill{text-align:center;color:#64748b;white-space:normal;background:0 0;max-width:none;margin-top:12px;font-size:.95rem;font-weight:600;display:block;position:static;transform:none}.share-qr-download-btn{background:#fff;border-radius:12px;width:100%}}:root{--safe-area-top:env(safe-area-inset-top,0px);--safe-area-right:env(safe-area-inset-right,0px);--safe-area-bottom:env(safe-area-inset-bottom,0px);--safe-area-left:env(safe-area-inset-left,0px);--app-viewport-height:100vh;--text:#334155;--text-h:#0f172a;--bg-color:#f8fafc;--primary:#1363df;--primary-hover:#0f52ba;--primary-bg:#1363df14;--primary-light:#eff6ff;--glass-bg:#ffffffd9;--glass-border:#e2e8f0d9;--color-primary:#1363df;--color-primary-hover:#0f52ba;--color-primary-light:#eff6ff;--color-primary-glow:#1363df2e;--grad-aurora:linear-gradient(135deg, #1363df 0%, #38bdf8 100%);--color-bg:#f8fafc;--color-bg-alt:#f1f5f9;--color-title:#0f172a;--color-body:#334155;--color-muted:#64748b;--color-line:#94a3b838;--color-line-highlight:#1363df59;--card-border:#e2e8f0d9;--card-border-hover:#1363df4d;--color-emerald:#10b981;--color-emerald-light:#ecfdf5;--color-amber:#f59e0b;--color-amber-light:#fffbeb;--color-rose:#f43f5e;--color-purple:#8b5cf6;--color-purple-light:#faf5ff;--font-family:"Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-display:"Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-body:"Outfit", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--shadow-xs:0 1px 2px #0f172a0d;--shadow-sm:0 1px 3px #0f172a0a, 0 4px 12px -2px #0f172a0d;--shadow-md:0 4px 6px -1px #0f172a0a, 0 10px 24px -4px #0f172a0f;--shadow-lg:0 10px 20px -3px #0f172a0f, 0 6px 10px -4px #0f172a0a;--shadow-card:0 10px 30px -4px #0f172a0a, 0 2px 6px -1px #0f172a05;--shadow-hover:0 18px 40px -6px #1363df1f, 0 4px 12px -2px #0f172a08;--shadow-popover:0 20px 40px -12px #0f172a29;--shadow:var(--shadow-card);--radius-sm:8px;--radius:20px;--radius-lg:24px;--radius-full:9999px;--sidebar:260px;--target:44px;--transition-fast:.15s cubic-bezier(.4, 0, .2, 1);--transition-normal:.3s cubic-bezier(.4, 0, .2, 1);color:var(--text-h);background:var(--bg-color);font-family:var(--font-family)}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.view-root{color:#0f172a;box-sizing:border-box;flex-direction:column;width:100%;max-width:1080px;height:100%;max-height:100%;margin:0 auto;font-family:Outfit,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;display:flex;overflow:hidden}.view-root-narrow{max-width:640px}.view-header{flex-shrink:0;margin-bottom:20px}.view-scroll-frame{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;box-sizing:border-box;flex:1;width:100%;min-height:0;padding:4px 6px 36px 2px;overflow:hidden auto}.view-scroll-frame::-webkit-scrollbar{width:6px}.view-scroll-frame::-webkit-scrollbar-track{background:0 0}.view-scroll-frame::-webkit-scrollbar-thumb{background:#94a3b866;border-radius:9999px}.view-scroll-frame::-webkit-scrollbar-thumb:hover{background:#64748b99}:is(.view-root:not(:has(.view-scroll-frame)),.poll-form-wrapper,.poll-workspace){-webkit-overflow-scrolling:touch;box-sizing:border-box;flex:1;width:100%;min-height:0;padding:4px 6px 36px 2px;overflow:hidden auto}.view-badge{color:#1363df;letter-spacing:.05em;text-transform:uppercase;background:#eef4ff;border-radius:9999px;align-items:center;gap:6px;margin-bottom:12px;padding:4px 12px;font-size:.78rem;font-weight:700;display:inline-flex}.view-title{color:#0f172a;letter-spacing:-.025em;margin:0 0 8px;font-size:2rem;font-weight:800}.view-subtitle{color:#64748b;margin:0;font-size:.95rem;line-height:1.55}.view-card{-webkit-backdrop-filter:blur(16px);background:#fffffff0;border:1px solid #e2e8f0d9;border-radius:20px;margin-bottom:24px;padding:32px;box-shadow:0 10px 30px -4px #0f172a0a,0 2px 6px -1px #0f172a05}.view-card-header{border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;display:flex}.view-card-title{color:#0f172a;margin:0;font-size:1.25rem;font-weight:800}.poll-frozen-facts{text-align:left;gap:8px;max-width:360px;margin:0 auto 20px;display:grid}.poll-frozen-facts div{justify-content:space-between;gap:16px;display:flex}.poll-frozen-facts dt{color:#64748b;margin:0;font-weight:600}.poll-frozen-facts dd{margin:0;font-weight:700}.ballot-options-grid{flex-direction:column;gap:12px;margin:20px 0;display:flex}.ballot-option-tile{cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;border:2px solid #e2e8f0;border-radius:14px;justify-content:flex-start;align-items:center;gap:14px;padding:16px 20px;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;position:relative}.ballot-option-tile:hover{background:#f8fafc;border-color:#93c5fd;transform:translateY(-1px);box-shadow:0 4px 12px #0f172a0d}.ballot-option-tile.selected{background:#eff6ff;border-color:#2563eb;transform:translateY(-1px);box-shadow:0 0 0 3px #2563eb29,0 4px 14px #2563eb1f}.ballot-option-left{flex:1;align-items:center;gap:12px;display:flex}.ballot-option-letter{color:#475569;background:#f1f5f9;border-radius:8px;place-items:center;width:32px;height:32px;font-size:.88rem;font-weight:800;display:grid}.ballot-option-tile.selected .ballot-option-letter{color:#fff;background:#1363df}.ballot-option-text{color:#1e293b;font-size:1.05rem;font-weight:600}.ballot-option-tile.selected .ballot-option-text{color:#1363df;font-weight:700}.ballot-option-radio-dot{border:2px solid #cbd5e1;border-radius:50%;place-items:center;width:22px;height:22px;transition:all .2s;display:grid}.ballot-option-tile.selected .ballot-option-radio-dot{border-color:#1363df}.ballot-option-radio-inner{opacity:0;background:#1363df;border-radius:50%;width:10px;height:10px;transition:all .2s;transform:scale(.5)}.ballot-option-tile.selected .ballot-option-radio-inner{opacity:1;transform:scale(1)}.ballot-option-tile.is-multiple .ballot-option-radio-dot,.ballot-option-tile.is-multiple .ballot-option-radio-inner{border-radius:4px}.receipt-card{background:linear-gradient(135deg,#f0fdf4 0%,#ecfdf5 100%);border:1.5px solid #a7f3d0;border-radius:18px;margin:20px 0;padding:26px;box-shadow:0 4px 18px #10b9811a}.receipt-header{align-items:center;gap:12px;margin-bottom:14px;display:flex}.receipt-seal{color:#fff;background:#10b981;border-radius:50%;place-items:center;width:40px;height:40px;font-size:1.25rem;font-weight:800;display:grid}.receipt-id-box{color:#065f46;background:#fff;border:1px solid #bbf7d0;border-radius:6px;margin:4px 0 8px;padding:4px 10px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.95rem;font-weight:700;display:inline-block}.receipt-copy-btn{color:#374151;cursor:pointer;-webkit-user-select:none;user-select:none;background:#fff;border:1px solid #d1d5db;border-radius:8px;align-items:center;gap:6px;height:32px;padding:4px 12px;font-size:.85rem;font-weight:600;transition:all .15s;display:inline-flex}.receipt-copy-btn:hover{color:#111827;background:#f9fafb;border-color:#9ca3af}.receipt-copy-btn.copied{color:#065f46;background:#d1fae5;border-color:#10b981}.results-summary-strip{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;align-items:center;gap:16px;margin-bottom:24px;padding:14px 20px;display:flex}.results-split{grid-template-columns:minmax(0,1.4fr) minmax(280px,320px);align-items:stretch;gap:20px;margin-bottom:12px;display:grid}.results-table-card{box-sizing:border-box;flex-direction:column;height:100%;min-height:290px;margin-bottom:0;display:flex}.results-table-card .saas-table{table-layout:fixed;width:100%}.results-option-cell{align-items:center;min-width:0;display:flex}.results-option-main{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.results-winner-badge{color:#1363df;letter-spacing:.03em;white-space:nowrap;background:#eff6ff;border:1px solid #bfdbfe;border-radius:9999px;flex-shrink:0;align-items:center;padding:2px 8px;font-size:.72rem;font-weight:700;display:inline-flex}.results-swatch{vertical-align:middle;border-radius:999px;flex-shrink:0;width:10px;height:10px;margin-right:8px;display:inline-block}.results-pie-card{box-sizing:border-box;background:#fff;border:1px solid #e2e8f0d9;border-radius:16px;flex-direction:column;justify-content:flex-start;align-items:stretch;height:100%;min-height:290px;padding:0 20px 20px;display:flex;box-shadow:0 1px 3px #0f172a0a,0 4px 12px -2px #0f172a0d}.results-pie-heading{box-sizing:border-box;border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;gap:8px;width:100%;height:48px;min-height:48px;display:flex}.results-pie-caption{color:#475569;letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:.82rem;font-weight:700;line-height:1}.results-note{flex-shrink:0;align-items:center;display:flex;position:relative}.results-note-button{color:#1363df;cursor:pointer;background:#eff6ff;border:1px solid #dbeafe;border-radius:999px;place-items:center;width:28px;height:28px;padding:0;transition:background-color .15s,border-color .15s;display:grid}.results-note-button:hover,.results-note-button:focus-visible{background:#dbeafe;outline:none}.results-note-pop{z-index:5;color:#f8fafc;text-align:left;opacity:0;visibility:hidden;pointer-events:none;background:#0f172a;border-radius:10px;width:min(260px,100vw - 48px);margin:0;padding:10px 12px;font-size:.8rem;font-weight:500;line-height:1.45;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 8px 24px #0f172a2e}.results-note-pop.open{opacity:1;visibility:visible;pointer-events:auto}.results-pie{width:min(100%,220px);height:auto}.results-pie-label{fill:#fff;font-size:11px;font-weight:700}.results-pie-tooltip{animation:.15s cubic-bezier(.16,1,.3,1) forwards pieTooltipFadeIn}.results-option-text{text-overflow:ellipsis;white-space:nowrap;color:#0f172a;vertical-align:middle;max-width:min(200px,28vw);font-weight:600;display:inline-block;overflow:hidden}.results-pie-legend{flex-direction:column;flex:1;gap:4px;width:100%;min-height:0;max-height:340px;margin-top:16px;padding:4px 2px;display:flex;overflow-y:auto}.results-pie-legend::-webkit-scrollbar{width:4px}.results-pie-legend::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.results-pie-legend-item{color:#334155;cursor:pointer;-webkit-user-select:none;user-select:none;border:1px solid #0000;border-radius:8px;justify-content:space-between;align-items:center;padding:6px 10px;font-size:.82rem;transition:all .15s;display:flex}.results-pie-legend-item:hover,.results-pie-legend-item.active{color:#0f172a;background:#f1f5f9;border-color:#e2e8f0}.results-pie-legend-left{flex:1;align-items:center;gap:8px;min-width:0;display:flex}.results-pie-legend-dot{border-radius:50%;flex-shrink:0;width:8px;height:8px}.results-pie-legend-label{text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.results-pie-legend-right{font-variant-numeric:tabular-nums;flex-shrink:0;align-items:center;gap:8px;display:flex}.results-pie-legend-votes{color:#64748b;font-size:.78rem}.results-pie-legend-pct{color:#0f172a;text-align:right;min-width:44px;font-weight:700}@media (width<=960px){.results-split{grid-template-columns:1fr}}.saas-table-card{background:#fff;border:1px solid #e2e8f0d9;border-radius:16px;margin-bottom:24px;overflow:hidden;box-shadow:0 1px 3px #0f172a0a,0 4px 12px -2px #0f172a0d}.saas-table{border-collapse:collapse;text-align:left;width:100%;font-size:.92rem}.saas-table th{box-sizing:border-box;color:#475569;letter-spacing:.04em;text-transform:uppercase;vertical-align:middle;white-space:nowrap;background:#f8fafc;border-bottom:1px solid #e2e8f0;height:48px;padding:0 20px;font-size:.82rem;font-weight:700;line-height:48px}.saas-table td{color:#1e293b;vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:16px 20px}.saas-table tr:last-child td{border-bottom:none}.saas-table tr:hover td{background:#f8fafc}.view-btn{cursor:pointer;touch-action:manipulation;border:none;border-radius:12px;justify-content:center;align-items:center;gap:8px;padding:10px 22px;font-size:.95rem;font-weight:700;text-decoration:none;transition:all .2s;display:inline-flex}.view-btn-primary{color:#fff;background:#1363df;box-shadow:0 4px 14px #1363df40}.view-btn-primary:hover:not(:disabled){color:#fff;background:#0f52ba;transform:translateY(-1px)}.view-btn-primary:active:not(:disabled){transform:translateY(0)}.view-btn-secondary{color:#334155;background:#f1f5f9;border:1px solid #e2e8f0}.view-btn-secondary:hover:not(:disabled){color:#0f172a;background:#e2e8f0}.view-btn-secondary:active:not(:disabled){background:#cbd5e1}.view-btn:disabled{opacity:.5;cursor:not-allowed}.receipt-id-box{word-break:break-all;max-width:100%}@media (width<=768px){.view-header{margin-bottom:20px}.view-title{font-size:1.55rem}.view-subtitle{font-size:.9rem}.view-card{border-radius:16px;margin-bottom:18px;padding:20px 16px}.view-card-header{flex-direction:column;align-items:flex-start;gap:8px;margin-bottom:16px}.ballot-option-tile{min-height:52px;padding:14px}.ballot-option-left{gap:10px;min-width:0}.ballot-option-text{word-break:break-word;font-size:.95rem}.receipt-card{border-radius:14px;padding:20px 16px}.receipt-header{gap:10px}.receipt-seal{flex-shrink:0;width:34px;height:34px;font-size:1.1rem}.saas-table-card{-webkit-overflow-scrolling:touch;border-radius:14px;overflow-x:auto}.results-table-card .saas-table{table-layout:fixed;width:100%}.results-option-cell{align-items:flex-start}.results-swatch{flex-shrink:0;margin-top:5px;margin-right:6px}.results-option-main{flex-direction:column;align-items:flex-start;gap:3px;min-width:0}.results-option-text{max-width:100%;font-size:.84rem;line-height:1.3}.results-winner-badge{padding:1px 6px;font-size:.65rem;line-height:1.35}.saas-table th,.saas-table td{white-space:nowrap;padding:10px 12px;font-size:.85rem}.view-root,.poll-form-root,.admin-page-root{-webkit-overflow-scrolling:touch;overscroll-behavior:contain;box-sizing:border-box;flex:1;width:100%;min-height:0;padding-bottom:24px;overflow:hidden auto}.view-root::-webkit-scrollbar{width:5px}.poll-form-root::-webkit-scrollbar{width:5px}.admin-page-root::-webkit-scrollbar{width:5px}.view-root::-webkit-scrollbar-thumb{background:#94a3b866;border-radius:9999px}.poll-form-root::-webkit-scrollbar-thumb{background:#94a3b866;border-radius:9999px}.admin-page-root::-webkit-scrollbar-thumb{background:#94a3b866;border-radius:9999px}}@media (width<=480px){.view-title{letter-spacing:-.02em;font-size:1.35rem}.view-card{border-radius:14px;padding:16px 12px}.ballot-option-tile{padding:12px 10px}.ballot-option-letter{width:26px;height:26px;font-size:.78rem}.ballot-option-text{font-size:.9rem}.view-btn{padding:12px 16px;font-size:.9rem}.saas-table th,.saas-table td{padding:8px 10px;font-size:.8rem}.results-table-card .saas-table th,.results-table-card .saas-table td{padding:8px 6px;font-size:.78rem}.results-table-card .saas-table th:first-child,.results-table-card .saas-table td:first-child{padding-left:10px}.results-table-card .saas-table th:last-child,.results-table-card .saas-table td:last-child{padding-right:10px}.results-option-text{font-size:.8rem}.results-winner-badge{padding:0 5px;font-size:.62rem}.receipt-id-box{padding:3px 6px;font-size:.8rem}}.admin-page-root{color:#0f172a;box-sizing:border-box;flex-direction:column;width:100%;max-width:1240px;height:100%;max-height:100%;margin:0 auto;font-family:Outfit,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;display:flex;overflow:hidden}.admin-header{flex-wrap:wrap;flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:20px;display:flex}.admin-header-title-area{flex-direction:column;gap:6px;display:flex}.admin-header-title-row{align-items:center;gap:12px;display:flex}.admin-page-title{color:#0f172a;letter-spacing:-.025em;margin:0;font-size:2rem;font-weight:800}.admin-readonly-pill{color:#1d4ed8;letter-spacing:.04em;text-transform:uppercase;background:#eff6ff;border:1px solid #bfdbfe;border-radius:9999px;align-items:center;gap:6px;padding:3px 10px;font-size:.74rem;font-weight:700;display:inline-flex}.admin-page-subtitle{color:#64748b;max-width:680px;margin:0;font-size:.95rem;line-height:1.5}.admin-stat-chip{color:#64748b;background:#ffffffe6;border:1px solid #e2e8f0d9;border-radius:9999px;align-items:center;gap:8px;padding:6px 14px;font-size:.85rem;display:inline-flex;box-shadow:0 1px 3px #0f172a0a}.admin-stat-chip strong{color:#0f172a;font-weight:800}.admin-filter-form{display:contents}.admin-search-label{flex:1;align-items:center;min-width:240px;display:flex;position:relative}.admin-filter-submit-btn{color:#fff;cursor:pointer;white-space:nowrap;background:#1363df;border:none;border-radius:12px;justify-content:center;align-items:center;gap:6px;padding:9px 18px;font-size:.88rem;font-weight:700;transition:all .2s;display:inline-flex;box-shadow:0 2px 8px #1363df40}.admin-filter-submit-btn:hover{background:#0f52ba;transform:translateY(-1px);box-shadow:0 4px 12px #1363df59}.admin-clear-filter-btn{color:#64748b;cursor:pointer;white-space:nowrap;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:10px;align-items:center;padding:8px 14px;font-size:.85rem;font-weight:600;transition:all .2s;display:inline-flex}.admin-clear-filter-btn:hover{color:#0f172a;background:#e2e8f0}.admin-table-card{background:#fff;border:1px solid #e2e8f0;border-radius:20px;margin-bottom:24px;overflow:hidden;box-shadow:0 4px 20px -2px #0f172a0a}.admin-table-wrap{-webkit-overflow-scrolling:touch;width:100%;overflow-x:auto}.admin-table{border-collapse:collapse;text-align:left;width:100%;font-size:.92rem}.admin-table th{color:#475569;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:14px 18px;font-size:.78rem;font-weight:700}.admin-table td{color:#1e293b;vertical-align:middle;border-bottom:1px solid #f1f5f9;padding:16px 18px}.admin-table tr:last-child td{border-bottom:none}.admin-table tr:hover td{background:#f8fafc}.admin-title-cell{flex-direction:column;gap:4px;min-width:220px;max-width:320px;display:flex}.admin-title-link{color:#0f172a;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:1rem;font-weight:700;line-height:1.35;text-decoration:none;transition:color .2s;display:-webkit-box;overflow:hidden}.admin-title-link:hover{color:#1363df}.admin-title-meta{color:#64748b;flex-wrap:wrap;align-items:center;gap:6px;font-size:.78rem;display:flex}.admin-id-badge{color:#475569;background:#f1f5f9;border-radius:6px;padding:1px 6px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.75rem;font-weight:700;display:inline-block}.admin-mode-cell{flex-direction:column;gap:4px;min-width:140px;display:flex}.admin-mode-pill-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.admin-pill{white-space:nowrap;border-radius:6px;align-items:center;gap:4px;padding:2px 8px;font-size:.76rem;font-weight:600;display:inline-flex}.admin-pill-named{color:#4f46e5;background:#eef2ff;border:1px solid #c7d2fe}.admin-pill-anon{color:#7c3aed;background:#f5f3ff;border:1px solid #ddd6fe}.admin-pill-public{color:#059669;background:#ecfdf5;border:1px solid #a7f3d0}.admin-pill-private{color:#e11d48;background:#fff1f2;border:1px solid #fecdd3}.admin-pill-choice{color:#475569;background:#f8fafc;border:1px solid #e2e8f0}.admin-ballots-cell{min-width:130px}.admin-ballots-text{color:#0f172a;margin-bottom:4px;font-size:.88rem;font-weight:700}.admin-ballots-sub{color:#64748b;font-size:.75rem}.admin-ballots-bar{background:#e2e8f0;border-radius:9999px;width:100px;height:6px;margin-top:4px;overflow:hidden}.admin-ballots-bar-fill{background:#1363df;border-radius:9999px;height:100%;transition:width .3s}.admin-creator-chip{color:#334155;white-space:nowrap;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:6px;padding:4px 10px;font-size:.82rem;font-weight:600;display:inline-flex}.admin-actions-cell{white-space:nowrap;align-items:center;gap:8px;display:flex}.admin-action-btn{border-radius:8px;justify-content:center;align-items:center;gap:5px;padding:6px 12px;font-size:.82rem;font-weight:700;text-decoration:none;transition:all .2s;display:inline-flex}.admin-action-btn-inspect{color:#fff;background:#1363df;box-shadow:0 1px 3px #1363df33}.admin-action-btn-inspect:hover{color:#fff;background:#0f52ba;transform:translateY(-1px)}.admin-action-btn-results{color:#334155;background:#fff;border:1px solid #cbd5e1}.admin-action-btn-results:hover{color:#0f172a;background:#f8fafc;border-color:#94a3b8}.admin-audit-tag{letter-spacing:.02em;white-space:nowrap;border-radius:6px;align-items:center;gap:5px;padding:3px 9px;font-size:.78rem;font-weight:700;display:inline-flex}.admin-audit-tag-create{color:#059669;background:#ecfdf5;border:1px solid #a7f3d0}.admin-audit-tag-publish{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe}.admin-audit-tag-close{color:#b45309;background:#fffbeb;border:1px solid #fde68a}.admin-audit-tag-update{color:#4338ca;background:#eef2ff;border:1px solid #c7d2fe}.admin-audit-tag-vote{color:#7e22ce;background:#faf5ff;border:1px solid #e9d5ff}.admin-audit-poll-link{color:#1363df;background:#f1f5f9;border-radius:6px;align-items:center;gap:4px;padding:2px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.82rem;font-weight:700;text-decoration:none;transition:all .2s;display:inline-flex}.admin-audit-poll-link:hover{color:#0f52ba;background:#e0eeff;transform:translateY(-1px)}.admin-audit-receipt{color:#047857;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:6px;align-items:center;gap:4px;padding:3px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.8rem;font-weight:700;display:inline-flex}.admin-audit-request-id{color:#64748b;background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;align-items:center;gap:6px;max-width:200px;padding:3px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.78rem;display:inline-flex}.admin-audit-time{color:#475569;white-space:nowrap;align-items:center;gap:6px;font-size:.84rem;display:inline-flex}.admin-poll-input-wrap{background:#fff;border:1.5px solid #cbd5e1;border-radius:12px;align-items:center;gap:8px;padding:2px 12px;transition:all .2s;display:flex}.admin-poll-input-wrap:focus-within{border-color:#1363df;box-shadow:0 0 0 3px #1363df1f}.admin-poll-input{color:#0f172a;background:0 0;border:none;outline:none;width:100px;padding:8px 0;font-family:inherit;font-size:.92rem}.admin-action-select{color:#0f172a;background:#fff;border:1.5px solid #cbd5e1;border-radius:12px;outline:none;padding:8px 14px;font-family:inherit;font-size:.92rem;transition:all .2s}.admin-action-select:focus{border-color:#1363df;box-shadow:0 0 0 3px #1363df1f}.vote-delete-row-btn{color:#ef4444;cursor:pointer;background:#fef2f2;border:1px solid #fee2e2;border-radius:6px;padding:4px 10px;font-size:.82rem;font-weight:500;transition:all .15s}.vote-delete-row-btn:hover{color:#dc2626;background:#fee2e2;border-color:#fca5a5}.vote-delete-modal-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:1050;background:#0f172a73;place-items:center;padding:16px;animation:.15s fadeIn;display:grid;position:fixed;inset:0}.vote-delete-modal-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;width:360px;max-width:92vw;padding:24px;animation:.18s scaleUp;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a}.vote-delete-modal-title{color:#0f172a;margin:0 0 10px;font-size:1.1rem;font-weight:700}.vote-delete-modal-text{color:#334155;margin:0 0 8px;font-size:.95rem;font-weight:500;line-height:1.4}.vote-delete-modal-hint{color:#059669;margin:0 0 22px;font-size:.85rem;font-weight:600;line-height:1.4}.vote-delete-modal-actions{justify-content:flex-end;gap:10px;display:flex}.vote-delete-modal-cancel{color:#374151;cursor:pointer;background:#fff;border:1px solid #d1d5db;border-radius:8px;padding:7px 16px;font-size:.88rem;font-weight:500;transition:all .15s}.vote-delete-modal-cancel:hover{background:#f3f4f6;border-color:#9ca3af}.vote-delete-modal-confirm{color:#dc2626;cursor:pointer;background:#fee2e2;border:1px solid #fca5a5;border-radius:8px;padding:7px 18px;font-size:.88rem;font-weight:600;transition:all .15s}.vote-delete-modal-confirm:hover{color:#b91c1c;background:#fecaca;border-color:#f87171}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;min-height:100%;overflow-x:hidden}body{min-height:100%}#root{box-sizing:border-box;width:100%;max-width:100%;min-height:100%}body{-webkit-tap-highlight-color:transparent;color:var(--text);background-color:var(--bg-color);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-image:radial-gradient(at 0 0,#efebff 0,#0000 50%),radial-gradient(at 100% 0,#ebf0ff 0,#0000 50%),radial-gradient(at 100% 100%,#ebfff8 0,#0000 50%),radial-gradient(at 0 100%,#ffebf2 0,#0000 50%);background-attachment:fixed;margin:0;padding:0;overflow-x:hidden}body:before{content:"";z-index:-1;pointer-events:none;background:radial-gradient(circle at 15%,#6366f114,#0000 25%),radial-gradient(circle at 85% 30%,#10b9810d,#0000 25%);animation:15s ease-in-out infinite alternate ambientLight;position:fixed;inset:0}@keyframes ambientLight{0%{transform:scale(1)translate(0)}50%{transform:scale(1.2)translate(5%,-5%)}to{transform:scale(.9)translate(-5%,5%)}}h1,h2,h3,h4,.display{font-family:var(--font-family);color:var(--text-h);letter-spacing:-.025em;font-weight:600}h1{font-size:1.85rem;line-height:1.25}h2{font-size:1.35rem;line-height:1.3}h3{font-size:1.1rem}a{color:var(--primary);transition:color var(--transition-fast);font-weight:500;text-decoration:none}a:hover{color:var(--primary-hover)}:focus-visible{outline:2px solid var(--primary);outline-offset:3px}button,.ant-btn,input,select,textarea{min-height:var(--target);font-family:var(--font-family)}.skip-link{z-index:100;border:1px solid var(--primary);color:var(--primary);border-radius:var(--radius);box-shadow:var(--shadow-hover);transition:top var(--transition-normal);background:#fff;padding:10px 18px;font-weight:600;position:absolute;top:-60px;left:16px}.skip-link:focus{top:16px}.glass-panel{-webkit-backdrop-filter:blur(20px);border:1px solid var(--glass-border);box-shadow:var(--shadow);background:linear-gradient(135deg,#ffffffbf 0%,#ffffff80 100%);border-top:1px solid #ffffffd9;border-left:1px solid #ffffffd9}.glass-card{border-radius:var(--radius);box-shadow:var(--shadow);transition:transform var(--transition-normal), box-shadow var(--transition-normal);position:relative;-webkit-backdrop-filter:blur(20px)!important;border:1px solid var(--glass-border)!important;background:linear-gradient(135deg,#fffc 0%,#ffffff8c 100%)!important;border-top:1px solid #ffffffd9!important;border-left:1px solid #ffffffd9!important}.glass-card:hover{box-shadow:var(--shadow-hover);transform:translateY(-3px)}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background-color:var(--primary-bg);border-radius:20px}::-webkit-scrollbar-thumb:hover{background-color:var(--primary)}.page{gap:22px;min-width:0;animation:.3s cubic-bezier(.16,1,.3,1) pageFadeIn;display:grid}@keyframes pageFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.page-narrow{max-width:820px}.card-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr));gap:20px;min-width:0;display:grid}.stat-value{font-family:var(--font-display);background:var(--grad-aurora);-webkit-text-fill-color:transparent;letter-spacing:-.04em;font-variant-numeric:tabular-nums;-webkit-background-clip:text;margin:6px 0 10px;font-size:48px;font-weight:800;line-height:1}.muted{color:var(--color-muted);font-size:.925rem}.table-scroll{border-radius:var(--radius-sm);min-width:0;max-width:100%;overflow-x:auto}.login-split{grid-template-columns:minmax(0,1.25fr) minmax(320px,.85fr);align-items:stretch;gap:24px;display:grid}.brand-panel{color:#fff;border-radius:var(--radius-lg);background:radial-gradient(circle at 10% 15%,#06b6d459,#0000 45%),radial-gradient(circle at 90% 85%,#f43f5e40,#0000 40%),linear-gradient(135deg,#1e1b4b 0%,#312e81 35%,#4f46e5 75%,#7c3aed 100%);min-height:420px;padding:44px;position:relative;overflow:hidden;box-shadow:0 20px 45px -10px #312e8166,inset 0 1px 1px #fff3}.brand-panel h1,.brand-panel p{z-index:2;color:#fff;position:relative}.brand-panel h1{letter-spacing:-.03em;text-shadow:0 2px 10px #0003;font-size:2.25rem}.brand-panel p{opacity:.92;max-width:520px;font-size:1.05rem;line-height:1.6}.ballot-mark{pointer-events:none;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:linear-gradient(#ffffff1a 0%,#ffffff05 100%);border:10px solid #ffffff38;border-radius:24px;width:240px;height:300px;position:absolute;bottom:-25px;right:-15px;transform:rotate(-7deg)}.ballot-mark:before,.ballot-mark:after{content:"";background:#fff6;border-radius:8px;height:16px;position:absolute;left:28px;right:28px}.ballot-mark:before{top:54px}.ballot-mark:after{width:100px;top:94px}.form-stack{gap:16px;display:grid}.form-stack label{color:var(--color-title);gap:7px;font-size:.95rem;font-weight:600;display:grid}.form-stack input:not([type=radio]):not([type=checkbox]),.form-stack textarea,.form-stack select{border:1px solid var(--color-line);border-radius:var(--radius-sm);color:var(--color-title);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);background:#ffffffe6;padding:10px 14px;font-size:1rem}.form-stack input:focus,.form-stack textarea:focus,.form-stack select:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-glow);outline:none}button[type=submit],.btn-primary,button[data-testid=vote-submit]{background:var(--grad-aurora);color:#fff;border-radius:var(--radius-sm);cursor:pointer;transition:transform var(--transition-fast), box-shadow var(--transition-fast), opacity var(--transition-fast);border:none;justify-content:center;align-items:center;gap:8px;padding:10px 22px;font-size:1rem;font-weight:600;display:inline-flex;box-shadow:0 4px 14px #1363df4d}button[type=submit]:hover:not(:disabled),.btn-primary:hover:not(:disabled),button[data-testid=vote-submit]:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 6px 20px #1363df66}button[type=submit]:active:not(:disabled),button[data-testid=vote-submit]:active:not(:disabled){transform:translateY(0)}button:disabled,.ant-btn:disabled{opacity:.55;cursor:not-allowed;filter:grayscale(20%)}.option-card-label{border:1.5px solid var(--color-line);border-radius:var(--radius);cursor:pointer;transition:all var(--transition-normal);-webkit-user-select:none;user-select:none;background:#ffffffb3;align-items:center;gap:14px;padding:14px 18px;display:flex!important}.option-card-label:hover{border-color:var(--color-primary);box-shadow:var(--shadow-sm);background:#fff;transform:translate(3px)}.option-card-label.selected{background:var(--grad-card-selected);border-color:var(--color-primary);box-shadow:0 0 0 1px var(--color-primary), 0 8px 20px -4px var(--color-primary-glow)}.option-badge{background:var(--color-bg-alt);width:28px;height:28px;color:var(--color-title);transition:all var(--transition-fast);border-radius:8px;place-items:center;font-size:.85rem;font-weight:700;display:grid}.option-card-label.selected .option-badge{background:var(--color-primary);color:#fff;box-shadow:0 2px 8px var(--color-primary-glow)}.receipt-ticket{border-radius:var(--radius);box-shadow:var(--shadow-emerald-glow);background:linear-gradient(135deg,#fffffff2 0%,#f0fdf4d9 100%);border:1.5px solid #10b98159;padding:24px;position:relative;overflow:hidden}.receipt-ticket:before{content:"OFFICIAL RECEIPT";color:#10b98112;letter-spacing:.1em;pointer-events:none;font-size:2.2rem;font-weight:900;position:absolute;bottom:12px;right:18px}.receipt-id-tag{color:#047857;border-radius:var(--radius-sm);letter-spacing:.04em;background:#10b9811f;padding:6px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.95rem;font-weight:700;display:inline-block}.option-row{grid-template-columns:1fr auto;align-items:center;gap:10px;display:grid}.inline-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.time-pair{grid-template-columns:1.4fr 1fr;gap:10px;display:grid}.status-pulse-dot{border-radius:50%;width:8px;height:8px;margin-right:6px;display:inline-block}.status-pulse-dot.green{background:var(--color-emerald);box-shadow:0 0 8px var(--color-emerald);animation:2s infinite pulseGreen}@keyframes pulseGreen{0%{box-shadow:0 0 #10b981b3}70%{box-shadow:0 0 0 6px #10b98100}to{box-shadow:0 0 #10b98100}}@media (width<=991px){.login-split,.time-pair{grid-template-columns:1fr}.brand-panel{min-height:240px;padding:26px}.brand-panel h1{font-size:1.75rem}}
