.voting-page{flex-direction:column;min-height:100vh;display:flex}.voting-header{border-bottom:1px solid var(--border);background:var(--surface);z-index:40;justify-content:space-between;align-items:center;padding:16px 32px;display:flex;position:sticky;top:0}.voting-header-logo{align-items:center;gap:8px;text-decoration:none;display:flex}.voting-header-actions{align-items:center;gap:12px;display:flex}.voting-main{flex:1;width:100%;max-width:1280px;margin:0 auto;padding:32px 24px 120px}.voting-layout{grid-template-columns:1fr 320px;align-items:start;gap:32px;display:grid}.stats-strip{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:32px;display:grid}.stat-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;gap:4px;padding:20px 24px;transition:border-color .2s,box-shadow .2s;display:flex}.stat-card:hover{border-color:var(--border-hover);box-shadow:var(--shadow)}.stat-card-label{color:var(--muted);text-transform:uppercase;letter-spacing:.06em;font-size:12px;font-weight:500}.stat-card-value{letter-spacing:-.02em;font-size:28px;font-weight:800;line-height:1.1}.stat-card-value.accent{color:var(--accent)}.stat-card-value.warning{color:var(--warning)}.stat-card-value.success{color:var(--success)}.stat-card-value.info{color:var(--info)}.stat-card-value.danger{color:var(--danger)}.budget-gauge{background:var(--surface-active);border-radius:3px;width:100%;height:6px;margin-top:8px;overflow:hidden}.budget-gauge-fill{border-radius:3px;height:100%;transition:width .4s cubic-bezier(.34,1.56,.64,1),background .3s}.voting-section-title{letter-spacing:-.01em;margin-bottom:8px;font-size:22px;font-weight:700}.voting-section-subtitle{color:var(--muted);margin-bottom:24px;font-size:14px}.toolbar{flex-wrap:wrap;align-items:center;gap:12px;margin-bottom:24px;display:flex}.search-wrapper{flex:1;min-width:200px;position:relative}.search-icon{color:var(--muted);pointer-events:none;position:absolute;top:50%;left:14px;transform:translateY(-50%)}.search-input{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius);width:100%;color:var(--foreground);outline:none;padding:10px 16px 10px 40px;font-family:inherit;font-size:14px;transition:border-color .2s}.search-input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-muted)}.search-input::placeholder{color:var(--muted)}.filter-pills{flex-wrap:wrap;gap:6px;display:flex}.filter-pill{border:1px solid var(--border);background:var(--surface);color:var(--foreground);cursor:pointer;border-radius:999px;padding:7px 16px;font-family:inherit;font-size:13px;font-weight:500;transition:all .2s}.filter-pill:hover{border-color:var(--border-hover);background:var(--surface-hover)}.filter-pill.active{background:var(--accent);color:#fff;border-color:var(--accent)}.sort-select{border-radius:var(--radius);border:1px solid var(--border);background:var(--surface);color:var(--foreground);cursor:pointer;outline:none;padding:9px 14px;font-family:inherit;font-size:13px;font-weight:500}.sort-select:focus{border-color:var(--accent)}.ideas-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:16px;display:grid}.idea-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);flex-direction:column;gap:12px;padding:24px;transition:all .25s cubic-bezier(.4,0,.2,1);display:flex;position:relative;overflow:hidden}.idea-card:before{content:"";background:linear-gradient(90deg,var(--accent),var(--secondary));opacity:0;height:3px;transition:opacity .3s;position:absolute;top:0;left:0;right:0}.idea-card:hover{border-color:var(--border-hover);box-shadow:var(--shadow);transform:translateY(-2px)}.idea-card:hover:before,.idea-card.has-points:before{opacity:1}.idea-card.locked{opacity:.85;pointer-events:none}.idea-card-header{justify-content:space-between;align-items:start;gap:12px;display:flex}.idea-card-title{font-size:16px;font-weight:600;line-height:1.3}.idea-card-category{background:var(--surface-hover);border:1px solid var(--border);color:var(--muted);white-space:nowrap;text-transform:uppercase;letter-spacing:.05em;border-radius:999px;flex-shrink:0;padding:3px 10px;font-size:11px;font-weight:600}.category-product{color:var(--info);background:#3b82f626}.category-process{color:var(--warning);background:#f59e0b26}.category-culture{color:var(--success);background:#22c55e26}.category-strategy{color:#a855f7;background:#a855f726}.idea-card-desc{color:var(--muted);flex:1;font-size:13px;line-height:1.5}.idea-vote-row{justify-content:space-between;align-items:flex-end;gap:12px;display:flex}.idea-metric-label{color:var(--muted);letter-spacing:0;text-transform:uppercase;margin-bottom:6px;font-size:11px;font-weight:600;display:block}.idea-support-summary{color:var(--muted);text-align:right;flex-direction:column;font-size:12px;line-height:1.4;display:flex}.point-stepper{border:1px solid var(--border);border-radius:var(--radius);background:var(--surface);align-items:center;gap:0;display:flex;overflow:hidden}.stepper-btn{width:36px;height:36px;color:var(--foreground);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;font-family:inherit;font-size:18px;font-weight:600;transition:background .15s;display:flex}.stepper-btn:hover:not(:disabled){background:var(--surface-hover)}.stepper-btn:disabled{opacity:.3;cursor:not-allowed}.stepper-value{text-align:center;width:52px;color:var(--accent);border-left:1px solid var(--border);border-right:1px solid var(--border);background:var(--background);padding:6px 0;font-size:16px;font-weight:700}.stepper-value.zero{color:var(--muted)}.idea-metrics{color:var(--muted);justify-content:space-between;align-items:center;gap:12px;font-size:12px;display:flex}.idea-total-points{color:var(--foreground);font-weight:600}.progress-bar{background:var(--surface-active);border-radius:2px;width:100%;height:4px;overflow:hidden}.progress-bar-fill{background:linear-gradient(90deg,var(--accent),var(--secondary));border-radius:2px;min-width:0;height:100%;transition:width .5s cubic-bezier(.34,1.56,.64,1)}.leaderboard{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);padding:24px;position:sticky;top:80px}.leaderboard-title{align-items:center;gap:8px;margin-bottom:20px;font-size:16px;font-weight:700;display:flex}.leaderboard-list{flex-direction:column;gap:14px;display:flex}.leaderboard-item{align-items:center;gap:12px;display:flex}.leaderboard-rank{border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:24px;height:24px;font-size:12px;font-weight:700;display:flex}.leaderboard-rank.gold{color:var(--warning);background:#f59e0b33}.leaderboard-rank.silver{color:#94a3b8;background:#94a3b833}.leaderboard-rank.bronze{color:#b45309;background:#b4530933}.leaderboard-rank.default{background:var(--surface-hover);color:var(--muted)}.leaderboard-info{flex:1;min-width:0}.leaderboard-name{white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.leaderboard-bar{background:var(--surface-active);border-radius:2px;width:100%;height:3px;margin-top:4px;overflow:hidden}.leaderboard-bar-fill{background:var(--accent);border-radius:2px;height:100%;transition:width .5s}.leaderboard-points{color:var(--accent);flex-shrink:0;font-size:13px;font-weight:700}.submit-bar{background:var(--surface);border-top:1px solid var(--border);z-index:40;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);justify-content:center;align-items:center;gap:24px;padding:16px 32px;display:flex;position:fixed;bottom:0;left:0;right:0}.submit-status{flex-direction:column;gap:2px;display:flex}.submit-remaining{color:var(--muted);font-size:14px}.submit-remaining strong{color:var(--accent);font-size:18px;font-weight:700}.submit-remaining strong.warning{color:var(--warning)}.submit-remaining strong.danger{color:var(--danger)}.submit-validation{color:var(--muted);font-size:12px}.submit-validation.ready{color:var(--success)}.submit-validation.blocked{color:var(--muted)}.submit-btn{background:linear-gradient(135deg,var(--accent),var(--secondary));color:#fff;border-radius:var(--radius);cursor:pointer;border:none;justify-content:center;align-items:center;gap:8px;padding:12px 32px;font-family:inherit;font-size:15px;font-weight:700;transition:all .25s;display:inline-flex}.submit-btn:hover:not(:disabled){opacity:.9;transform:translateY(-1px);box-shadow:0 4px 20px #00d4aa4d}.submit-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}.success-overlay{background:var(--background);z-index:50;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.success-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-xl);text-align:center;width:100%;max-width:560px;padding:48px}.success-icon{width:72px;height:72px;color:var(--success);background:#22c55e26;border-radius:50%;justify-content:center;align-items:center;margin:0 auto 24px;font-size:32px;display:flex}.success-title{margin-bottom:8px;font-size:24px;font-weight:800}.success-subtitle{color:var(--muted);margin-bottom:16px;font-size:14px}.lock-notice{border-radius:var(--radius);color:var(--success);background:#22c55e1a;border:1px solid #22c55e33;align-items:center;gap:6px;margin-bottom:28px;padding:8px 12px;font-size:13px;font-weight:600;display:inline-flex}.success-breakdown{text-align:left;flex-direction:column;gap:10px;margin-bottom:32px;display:flex}.success-row{background:var(--background);border-radius:var(--radius);border:1px solid var(--border);justify-content:space-between;align-items:center;padding:10px 16px;display:flex}.success-row-title{font-size:14px;font-weight:500}.success-row-points{color:var(--accent);font-size:16px;font-weight:700}.admin-badge{color:var(--warning);background:#f59e0b26;border:1px solid #f59e0b4d;border-radius:999px;align-items:center;gap:6px;padding:5px 14px;font-size:12px;font-weight:600;display:inline-flex}.admin-card-actions{gap:6px;margin-top:auto;display:flex}.admin-category-manager{border-top:1px solid #f59e0b2e;flex:100%;gap:10px;padding-top:4px;display:grid}.admin-category-title{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:700}.admin-category-list{flex-wrap:wrap;gap:8px;display:flex}.admin-category-chip{background:var(--surface);border:1px solid var(--border);color:var(--foreground);border-radius:999px;align-items:center;gap:6px;min-height:30px;padding:4px 6px 4px 12px;font-size:12px;font-weight:700;display:inline-flex}.admin-category-chip button{color:var(--muted);cursor:pointer;background:0 0;border:none;border-radius:999px;justify-content:center;align-items:center;width:22px;height:22px;display:inline-flex}.admin-category-chip button:hover:not(:disabled){color:var(--danger);background:#ef44441f}.admin-category-chip button:disabled{cursor:not-allowed;opacity:.35}.admin-category-add{flex-wrap:wrap;gap:8px;display:flex}.admin-category-add .input{max-width:220px;min-height:36px}.admin-category-add .btn-secondary{min-height:36px;padding:7px 12px;font-size:13px}.modal-overlay{z-index:100;background:#0009;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.modal-card{background:var(--surface);border:1px solid var(--border);border-radius:var(--radius-lg);width:100%;max-width:480px;padding:32px}.modal-title{margin-bottom:20px;font-size:20px;font-weight:600}.modal-field{margin-bottom:16px}.modal-label{color:var(--muted);margin-bottom:6px;font-size:13px;font-weight:500;display:block}.modal-actions{justify-content:flex-end;gap:12px;margin-top:24px;display:flex}.empty-state{text-align:center;color:var(--muted);padding:64px 24px}.empty-state-icon{margin-bottom:16px;font-size:48px}.empty-state-title{color:var(--foreground);margin-bottom:8px;font-size:18px;font-weight:600}@keyframes votingCardEnter{0%{opacity:0;transform:translateY(16px)scale(.97)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes pointPulse{0%{transform:scale(1)}50%{transform:scale(1.15)}to{transform:scale(1)}}@keyframes successPop{0%{opacity:0;transform:scale(.8)}60%{transform:scale(1.05)}to{opacity:1;transform:scale(1)}}.idea-card{animation:.4s ease-out backwards votingCardEnter}.point-pulse{animation:.3s ease-out pointPulse}.success-card{animation:.5s cubic-bezier(.34,1.56,.64,1) forwards successPop}@media (max-width:1024px){.voting-layout{grid-template-columns:1fr}.leaderboard{position:static}}@media (max-width:768px){.stats-strip{grid-template-columns:repeat(2,1fr)}.voting-header{padding:12px 16px}.voting-main{padding:20px 16px 120px}.ideas-grid{grid-template-columns:1fr}.submit-bar{flex-wrap:wrap;gap:16px;padding:12px 16px}.success-card{padding:32px 24px}}@media (max-width:480px){.stats-strip{grid-template-columns:1fr}.idea-vote-row{flex-direction:column;align-items:stretch}.idea-support-summary{text-align:left}.toolbar{flex-direction:column}.filter-pills{flex-wrap:nowrap;width:100%;padding-bottom:4px;overflow-x:auto}}@media (prefers-reduced-motion:reduce){.idea-card,.success-card,.budget-gauge-fill,.progress-bar-fill,.leaderboard-bar-fill{transition-duration:.01ms!important;animation:none!important}}
