.card{border:1px solid var(--border-color);border-radius:var(--radius-sm);box-shadow:none;margin-bottom:var(--spacing-lg);transition:all var(--transition-normal);background-color:var(--card-bg)}.card:hover{transform:translateY(-2px);border-color:var(--accent-blue)}.card-header{background-color:#fff0;color:var(--text-primary);font-weight:600;border-bottom:1px solid var(--border-color);padding:var(--spacing-md) var(--spacing-lg)}.card-body{padding:var(--spacing-lg)}.info-card{background-color:var(--bg-primary);color:var(--text-primary);padding:var(--spacing-xl);border-radius:var(--radius-sm);border:1px solid var(--accent-blue);transition:all var(--transition-normal);text-align:center}.info-card:hover{transform:translateY(-2px);border-color:var(--accent-green)}.info-card:nth-child(2){border-color:var(--accent-red)}.info-card:nth-child(2):hover{border-color:var(--accent-yellow)}.info-card:nth-child(3){border-color:var(--accent-green)}.info-card:nth-child(3):hover{border-color:var(--accent-purple)}.info-card h3{font-size:2.5rem;font-weight:700;margin-bottom:var(--spacing-sm)}.info-card p{opacity:.95;font-weight:500;margin-bottom:0}.btn{padding:10px 24px;border-radius:var(--radius-sm);font-weight:600;transition:all var(--transition-normal);cursor:pointer;border:1px solid #fff0;display:inline-block;text-align:center}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background-color:var(--text-primary);border:1px solid var(--text-primary);color:var(--bg-primary)}.btn-primary:hover:not(:disabled){background-color:#fff0;color:var(--text-primary);transform:translateY(-1px)}.btn-login{background-color:var(--text-primary);color:var(--bg-primary);font-weight:600;border-radius:var(--radius-sm);padding:8px 20px;border:1px solid var(--text-primary)}.btn-login:hover{background-color:#fff0;color:var(--text-primary);transform:translateY(-1px)}.btn-outline-secondary{border:1px solid var(--border-color);color:var(--text-primary);background-color:#fff0}.btn-outline-secondary:hover:not(:disabled){background-color:var(--bg-secondary);border-color:var(--text-primary)}.btn-outline-danger{border:1px solid var(--accent-red);color:var(--text-primary);background-color:#fff0}.btn-outline-danger:hover:not(:disabled){background-color:var(--accent-red);color:var(--bg-primary);transform:translateY(-1px)}.form-control{border-radius:var(--radius-sm);border:1px solid var(--border-color);padding:10px 16px;transition:all var(--transition-normal);background-color:var(--bg-primary);color:var(--text-primary);width:100%;font-size:1rem}.form-control:focus{border-color:var(--accent-blue);box-shadow:none;outline:none;background-color:var(--bg-primary)}.form-control::placeholder{color:var(--text-secondary);opacity:.7}.form-label{display:block;margin-bottom:var(--spacing-sm);color:var(--text-primary);font-weight:500}.form-group{margin-bottom:var(--spacing-md)}.badge{display:inline-block;padding:5px 12px;border-radius:var(--radius-sm);font-size:.85rem;font-weight:600}.badge-primary{background-color:var(--accent-blue);color:var(--text-primary)}.badge-secondary{background-color:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color)}.alert{border-radius:var(--radius-md);border:1px solid;padding:14px 18px;margin-bottom:var(--spacing-md)}.alert-info{background-color:var(--bg-secondary);border:1px solid var(--accent-blue);color:var(--text-primary)}.alert-success{background-color:var(--bg-secondary);border:1px solid var(--accent-green);color:var(--text-primary)}.alert-danger{background-color:var(--bg-secondary);border:1px solid var(--accent-red);color:var(--text-primary)}.avatar{width:48px;height:48px;border-radius:var(--radius-sm);background-color:var(--text-primary);border:1px solid var(--accent-blue);display:flex;align-items:center;justify-content:center;color:var(--bg-primary);font-weight:700;font-size:1.1rem}.profile-avatar{width:36px;height:36px;border-radius:50%;background-color:var(--text-primary);border:2px solid var(--accent-blue);display:flex;align-items:center;justify-content:center;color:var(--bg-primary);font-weight:600;font-size:.9rem}.member-item{padding:var(--spacing-md);border-bottom:1px solid var(--border-color);cursor:pointer;transition:all var(--transition-normal);border-radius:var(--radius-md);margin-bottom:4px;display:flex;align-items:center}.member-item:hover{background-color:var(--bg-secondary);transform:translateX(4px);border-color:var(--accent-blue)}.member-avatar{width:48px;height:48px;border-radius:var(--radius-sm);background-color:var(--text-primary);border:1px solid var(--accent-blue);display:flex;align-items:center;justify-content:center;color:var(--bg-primary);font-weight:700;font-size:1.1rem;margin-right:var(--spacing-md);flex-shrink:0}.motto-card{border-left:2px solid var(--accent-purple);padding:var(--spacing-lg);background-color:var(--card-bg);margin-bottom:var(--spacing-md);border-radius:var(--radius-sm);border:1px solid var(--border-color);border-left-width:2px;border-left-color:var(--accent-purple)}.vote-container{display:flex;flex-direction:column;align-items:center;gap:8px;min-width:60px}.vote-btn{background:none;border:none;font-size:1.8rem;color:var(--text-secondary);cursor:pointer;transition:all 0.2s;padding:4px;line-height:1}.vote-btn:hover:not(:disabled){color:var(--text-primary);transform:scale(1.15)}.vote-btn:disabled{cursor:not-allowed;opacity:.4}.vote-btn.upvoted{color:var(--accent-green);animation:voteAnimation 0.3s ease}.vote-btn.upvoted:hover:not(:disabled){color:#4ade80}.vote-btn.downvoted{color:var(--accent-red);animation:voteAnimation 0.3s ease}.vote-btn.downvoted:hover:not(:disabled){color:#f87171}.vote-score{font-size:1.2rem;font-weight:700;color:var(--text-primary);min-width:40px;text-align:center}@keyframes voteAnimation{0%{transform:scale(1)}50%{transform:scale(1.3)}100%{transform:scale(1)}}.vote-container.opacity-50{opacity:.5}.transaction-item{padding:12px var(--spacing-md);border-bottom:1px solid var(--border-color);justify-content:space-between;align-items:center}.transaction-amount{font-weight:600;margin-right:12px}.transaction-amount.income{color:var(--text-primary)}.transaction-amount.expense{color:var(--text-secondary)}.balance-display{font-size:2.5rem;font-weight:700;color:var(--text-primary)}.transaction-item:last-child{border-bottom:none}.transaction-item:hover{background-color:var(--bg-secondary)}.committee-card{background:var(--bg-secondary);border-radius:8px;padding:20px;margin-bottom:20px;transition:all 0.3s;border:1px solid #fff0}.committee-card:hover{border-color:var(--accent-blue);box-shadow:0 4px 12px rgb(0 0 0 / .1)}.committee-card h4{color:var(--text-primary);font-weight:700;margin-bottom:8px;display:flex;align-items:center;gap:10px}.committee-card p{color:var(--text-secondary);margin-bottom:16px;font-size:.95rem}.committee-actions{display:flex;gap:10px;margin-bottom:20px;flex-wrap:wrap}.committee-actions .btn{flex:1;min-width:120px}.candidates-section{margin-top:20px}.candidates-section h5{color:var(--text-primary);font-size:1.1rem;margin-bottom:15px;display:flex;align-items:center;gap:8px}.candidates-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:15px;margin-top:15px}.candidate-card{background:var(--bg-primary);border:1px solid var(--bg-secondary);border-radius:8px;padding:16px;transition:all 0.3s;display:flex;align-items:center;gap:12px}.candidate-card:hover{border-color:var(--accent-blue);transform:translateY(-2px);box-shadow:0 4px 8px rgb(0 0 0 / .1)}.candidate-card.is-current-user{border-color:var(--accent-green);background:linear-gradient(135deg,var(--bg-primary) 0%,rgb(72 187 120 / .05) 100%)}.member-card{background:var(--bg-primary);border:2px solid var(--accent-blue);border-radius:8px;padding:16px;transition:all 0.3s;display:flex;align-items:center;gap:12px}.member-card:hover{border-color:var(--accent-purple);transform:translateY(-2px);box-shadow:0 4px 8px rgb(0 0 0 / .1)}.member-card.is-current-user{border-color:var(--accent-green);background:linear-gradient(135deg,var(--bg-primary) 0%,rgb(72 187 120 / .05) 100%)}.candidate-avatar{width:50px;height:50px;border-radius:4px;background:var(--accent-blue);color:var(--text-primary);display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1.2rem;flex-shrink:0;overflow:hidden}.candidate-avatar img{width:100%;height:100%;object-fit:cover}.candidate-info{flex:1;min-width:0}.candidate-name{font-weight:600;color:var(--text-primary);margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.candidate-username{font-size:.85rem;color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.candidate-vote{display:flex;flex-direction:column;align-items:center;gap:4px;flex-shrink:0}.candidate-vote-btn{background:none;border:2px solid var(--bg-secondary);width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all 0.2s;color:var(--text-secondary);font-size:1.2rem}.candidate-vote-btn:hover:not(:disabled){border-color:var(--accent-blue);color:var(--accent-blue);transform:scale(1.1)}.candidate-vote-btn:disabled{opacity:.4;cursor:not-allowed}.candidate-vote-btn.voted{background:var(--accent-blue);border-color:var(--accent-blue);color:#fff}.candidate-votes{font-size:.9rem;font-weight:600;color:var(--text-primary)}.no-candidates{text-align:center;padding:30px;color:var(--text-secondary);font-style:italic}.committee-badge{display:inline-flex;align-items:center;gap:6px;padding:4px 12px;border-radius:12px;font-size:.85rem;font-weight:600;color:var(--accent-purple)!important}.committee-stats{display:flex;flex-direction:column;gap:5px;margin-top:12px;padding-top:12px;border-top:1px solid var(--bg-secondary)}.committee-stat{display:flex;align-items:center;gap:6px;font-size:.9rem;color:var(--text-secondary)}.committee-stat i{color:var(--accent-blue)}.vote-btn{background:none;border:none;font-size:1.8rem;color:var(--text-secondary);cursor:pointer;transition:all 0.2s;padding:4px;line-height:1}.vote-btn:hover:not(:disabled){color:var(--text-primary);transform:scale(1.15)}.vote-btn:disabled{cursor:not-allowed;opacity:.4}.candidate-vote-btn{background:none;border:2px solid var(--bg-secondary);width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all 0.2s;color:var(--text-secondary);font-size:1.2rem}.candidate-vote-btn:hover:not(:disabled){border-color:var(--accent-red);color:var(--accent-red);transform:scale(1.1)}.candidate-vote-btn:disabled{opacity:.4;cursor:not-allowed}.candidate-vote-btn.voted{background:var(--accent-red);border-color:var(--accent-red);color:#fff;animation:heartBeat 0.3s ease}.candidate-vote-btn.voted:hover:not(:disabled){background:#dc2626;border-color:#dc2626;transform:scale(1.15)}@keyframes heartBeat{0%{transform:scale(1)}25%{transform:scale(1.3)}50%{transform:scale(1.1)}75%{transform:scale(1.25)}100%{transform:scale(1)}}@media (max-width:768px){.candidates-grid{grid-template-columns:1fr}.committee-actions{flex-direction:column}.committee-actions .btn{width:100%}}.table{width:100%;border-collapse:collapse}.table th,.table td{padding:var(--spacing-md);text-align:left;border-bottom:1px solid var(--border-color)}.table th{font-weight:600;color:var(--text-primary)}.table-responsive{overflow-x:auto}.spinner{border:3px solid var(--border-color);border-top:3px solid var(--text-primary);border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite;margin:var(--spacing-lg) auto}@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}.password-strength{height:4px;border-radius:2px;margin-top:5px;background:var(--bg-secondary);overflow:hidden}.password-strength-bar{height:100%;transition:width 0.3s,background-color 0.3s}.password-strength-weak{width:33%;background:var(--accent-red)}.password-strength-medium{width:66%;background:var(--accent-yellow)}.password-strength-strong{width:100%;background:var(--accent-green)}.password-toggle{cursor:pointer;position:absolute;right:10px;top:50%;transform:translateY(-50%)}@media (max-width:768px){.info-card h3{font-size:2rem}.balance-display{font-size:2rem}.card{margin-bottom:var(--spacing-md)}}.news-item{transition:opacity 0.2s ease}.news-title{font-size:1rem;font-weight:600;line-height:1.4}.news-body{font-size:.88rem;line-height:1.6;color:var(--text-secondary,#9ca3af)}.badge-event{background:rgb(59 130 246 / .1);color:#60a5fa;border:1px solid rgb(59 130 246 / .2)}.badge-wichtig{background:rgb(239 68 68 / .1);color:#f87171;border:1px solid rgb(239 68 68 / .2)}.badge-info-soft{background:rgb(107 114 128 / .1);color:#9ca3af;border:1px solid rgb(107 114 128 / .2)}.news-skeleton{display:flex;flex-direction:column;gap:10px;padding:4px 0}.skeleton-line{border-radius:6px;background:linear-gradient(90deg,rgb(255 255 255 / .04) 0%,rgb(255 255 255 / .09) 50%,rgb(255 255 255 / .04) 100%);background-size:200% auto;animation:shimmer-bg 1.5s linear infinite;height:14px}.skeleton-title{width:60%;height:18px}.skeleton-short{width:35%;height:11px}.skeleton-body{width:100%}.gmodal-overlay{position:fixed;inset:0;z-index:9999;background:rgb(0 0 0 / .6);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;padding:16px;opacity:0;transition:opacity 0.28s ease}.gmodal-overlay.gmodal-visible{opacity:1}.gmodal-overlay.gmodal-visible .gmodal{transform:translateY(0) scale(1);opacity:1}.gmodal{position:relative;background:var(--bg-secondary,#1e1e2e);border:1px solid rgb(255 255 255 / .08);border-radius:14px;width:100%;overflow:hidden;box-shadow:0 24px 60px rgb(0 0 0 / .5);transform:translateY(16px) scale(.98);opacity:0;transition:all 0.28s cubic-bezier(.34,1.56,.64,1)}.gmodal-sm{max-width:360px}.gmodal-md{max-width:480px}.gmodal-lg{max-width:640px}.gmodal-accent{height:3px;width:100%}.gmodal-close{position:absolute;top:12px;right:12px;background:rgb(255 255 255 / .06);border:none;border-radius:6px;color:var(--text-muted,#6b7280);width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:.8rem;transition:all 0.15s ease;z-index:1}.gmodal-close:hover{background:rgb(255 255 255 / .12);color:#fff}.gmodal-body{padding:24px}.gmodal-simple{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px}.gmodal-icon{width:52px;height:52px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.4rem;margin-bottom:4px}.gmodal-title{font-size:1.05rem;font-weight:700;margin:0}.gmodal-subtitle{font-size:.85rem;color:var(--text-muted,#9ca3af);margin:0}.gmodal-text{font-size:.88rem;color:var(--text-secondary,#d1d5db);margin:4px 0 0;line-height:1.6}.gmodal-subtext{font-size:.75rem;color:var(--text-muted,#6b7280);margin:0}.gmodal-actions{display:flex;gap:8px;justify-content:center;margin-top:16px;flex-wrap:wrap}.update-modal{display:flex;flex-direction:column;align-items:center;text-align:center;gap:12px}@keyframes update-pulse{0%,100%{transform:scale(1);opacity:1}50%{transform:scale(1.12);opacity:.85}}.update-icon{width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.6rem;animation:update-pulse 2s ease-in-out infinite}.update-icon-major{background:rgb(102 126 234 / .15);color:#a78bfa;box-shadow:0 0 24px rgb(102 126 234 / .25)}.update-icon-minor{background:rgb(96 165 250 / .1);color:#60a5fa}.update-header{display:flex;flex-direction:column;align-items:center;gap:6px}.update-title{font-size:1rem;font-weight:700;margin:0}.update-badge{display:inline-block;font-size:.65rem;font-weight:600;padding:3px 10px;border-radius:20px;letter-spacing:.05em;text-transform:uppercase}.update-badge-major{background:rgb(167 139 250 / .15);color:#a78bfa;border:1px solid rgb(167 139 250 / .25)}.update-badge-minor{background:rgb(96 165 250 / .1);color:#60a5fa;border:1px solid rgb(96 165 250 / .2)}.update-version{display:flex;align-items:center;gap:8px;font-size:.9rem}.version-old{color:var(--text-muted,#6b7280);text-decoration:line-through;font-family:monospace}.version-new{color:#4ade80;font-weight:700;font-family:monospace}.version-arrow{color:var(--text-muted,#6b7280);font-size:.8rem}.update-changes{text-align:left;width:100%;padding:12px 16px;margin:0;background:rgb(255 255 255 / .03);border-radius:8px;border:1px solid rgb(255 255 255 / .06);list-style:none;display:flex;flex-direction:column;gap:6px}.update-changes li{font-size:.82rem;color:var(--text-secondary,#d1d5db);padding-left:16px;position:relative}.update-changes li::before{content:'→';position:absolute;left:0;color:#a78bfa;font-size:.75rem}body.page-chat,body.page-chat .page-wrapper,body.page-chat main{overflow:hidden;height:100%}.chat-page{--navbar-h:95px;height:calc(100dvh - var(--navbar-h));padding:var(--spacing-md);display:flex;flex-direction:column;overflow:hidden}.chat-layout{display:flex;gap:var(--spacing-md);flex:1;min-height:0;overflow:hidden}.chat-sidebar{width:300px;flex-shrink:0;display:flex;flex-direction:column;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-sm);overflow:hidden;min-height:0;transition:width var(--transition-normal)}.chat-sidebar__header{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--border-color);flex-shrink:0;font-weight:600}.chat-sidebar__body{flex:1;overflow-y:auto;min-height:0}.chat-sidebar__body::-webkit-scrollbar{width:3px}.chat-sidebar__body::-webkit-scrollbar-track{background:#fff0}.chat-sidebar__body::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:2px}.chat-sidebar__empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:var(--spacing-xl) var(--spacing-lg);color:var(--text-secondary);text-align:center}.chat-sidebar__empty i{font-size:2rem;opacity:.35;display:block}.chat-sidebar__empty p{margin:0;font-weight:600;font-size:.9rem;color:var(--text-primary)}.chat-sidebar__empty small{color:var(--text-secondary)}.chat-room-item{cursor:pointer;border-radius:var(--radius-sm);margin:3px var(--spacing-sm);transition:background var(--transition-normal);border:1px solid #fff0}.chat-room-item:hover{background-color:var(--bg-secondary)}.chat-room-item.active{background-color:var(--bg-secondary);border-color:var(--accent-blue)}.chat-room-item .d-flex{padding:var(--spacing-sm) var(--spacing-md)}.chat-room-item .avatar{width:40px;height:40px;border-radius:50%;background-color:var(--accent-blue);border:1px solid var(--border-color);display:flex;align-items:center;justify-content:center;color:var(--bg-primary);font-weight:700;font-size:.8rem;flex-shrink:0;overflow:hidden}.chat-room-item .avatar img{width:100%;height:100%;object-fit:cover}.chat-main{flex:1;display:flex;flex-direction:column;min-height:0;background-color:var(--card-bg);border:1px solid var(--border-color);border-radius:var(--radius-sm);overflow:hidden}.chat-main__header{display:flex;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md) var(--spacing-lg);border-bottom:1px solid var(--border-color);flex-shrink:0;background-color:var(--card-bg)}.chat-main__avatar{width:40px;height:40px;border-radius:50%;background-color:var(--accent-blue);border:1px solid var(--border-color);display:flex;align-items:center;justify-content:center;color:var(--bg-primary);font-weight:700;font-size:.85rem;flex-shrink:0;overflow:hidden}.chat-main__avatar img{width:100%;height:100%;object-fit:cover}.chat-main__header-info{display:flex;flex-direction:column;gap:1px;min-width:0}.chat-main__header-name{font-size:.95rem;font-weight:700;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.chat-main__header-sub{font-size:.75rem;color:var(--text-secondary)}.chat-main__messages{flex:1;overflow-y:auto;min-height:0;padding:var(--spacing-lg) var(--spacing-md) var(--spacing-sm);display:flex;flex-direction:column;gap:2px}.chat-main__messages::-webkit-scrollbar{width:3px}.chat-main__messages::-webkit-scrollbar-track{background:#fff0}.chat-main__messages::-webkit-scrollbar-thumb{background:var(--border-color);border-radius:2px}.chat-empty-state{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--spacing-sm);height:100%;color:var(--text-secondary);text-align:center;padding:var(--spacing-xl)}.chat-empty-state i{font-size:2.5rem;opacity:.3;display:block}.chat-empty-state h5,.chat-empty-state h6{margin:0;font-weight:600;color:var(--text-primary)}.msg-row{display:flex;align-items:flex-end;gap:var(--spacing-sm);margin-bottom:2px}.msg-row--first{margin-top:var(--spacing-sm)}.msg-row--other{flex-direction:row;justify-content:flex-start}.msg-row--own{flex-direction:row-reverse;justify-content:flex-start}.msg-date-separator{display:inline-block;background-color:var(--bg-secondary);color:var(--text-secondary);font-size:.75rem;padding:4px 12px;border-radius:12px;margin:12px auto}.msg-avatar-slot{width:30px;flex-shrink:0;align-self:flex-end}.msg-avatar{width:30px;height:30px;border-radius:var(--radius-sm);object-fit:cover;border:1px solid var(--border-color);display:block}.msg-avatar-initials{width:30px;height:30px;border-radius:var(--radius-sm);background-color:var(--accent-blue);border:1px solid var(--border-color);display:flex;align-items:center;justify-content:center;font-size:.6rem;font-weight:700;color:var(--bg-primary)}.msg-body{display:flex;flex-direction:column;max-width:min(68%, 480px);gap:2px}.msg-row--own .msg-body{align-items:flex-end}.msg-row--other .msg-body{align-items:flex-start}.msg-sender{font-size:.7rem;font-weight:600;color:var(--accent-blue);padding:0 var(--spacing-sm)}.msg-bubble{display:inline-flex;flex-direction:column;padding:8px 12px;border-radius:16px;word-break:break-word;line-height:1.45;transition:opacity var(--transition-normal)}.msg-bubble--other{background-color:var(--bg-secondary);border:1px solid var(--border-color);color:var(--text-primary);border-bottom-left-radius:4px}.msg-bubble--own{background-color:var(--text-primary);color:var(--bg-primary);border-bottom-right-radius:4px;border:1px solid #fff0}.msg-bubble--chain-other{border-top-left-radius:4px}.msg-bubble--chain-own{border-top-right-radius:4px}.msg-text{font-size:.88rem}.msg-time{font-size:.65rem;opacity:.55;margin-top:3px;align-self:flex-end;white-space:nowrap}.msg-bubble--own .msg-time{opacity:.65}.chat-main__input{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border-top:1px solid var(--border-color);flex-shrink:0;background-color:var(--card-bg)}.chat-input-wrap{flex:1;position:relative;display:flex;align-items:center}.chat-input-field{width:100%;background-color:var(--bg-primary);border:1px solid var(--border-color);border-radius:20px;padding:9px 44px 9px 16px;font-size:.9rem;color:var(--text-primary);outline:none;transition:border-color var(--transition-normal);line-height:1.4}.chat-input-field::placeholder{color:var(--text-secondary);opacity:.7}.chat-input-field:focus{border-color:var(--accent-blue);background-color:var(--bg-primary)}.chat-input-counter{position:absolute;right:14px;font-size:.65rem;color:var(--text-secondary);pointer-events:none;white-space:nowrap}.chat-input-counter.warn{color:var(--accent-red)}.chat-input-action,.chat-send-btn{width:38px;height:38px;border-radius:50%;border:1px solid var(--border-color);display:flex;align-items:center;justify-content:center;font-size:.95rem;flex-shrink:0;cursor:pointer;transition:all var(--transition-normal)}.chat-input-action{background-color:#fff0;color:var(--text-secondary)}.chat-input-action:hover{background-color:var(--bg-secondary);border-color:var(--text-primary);color:var(--text-primary)}.chat-send-btn{background-color:var(--text-primary);color:var(--bg-primary);border-color:var(--text-primary)}.chat-send-btn:hover:not(:disabled){background-color:#fff0;color:var(--text-primary);transform:translateY(-1px)}.chat-send-btn:disabled{opacity:.4;cursor:not-allowed;transform:none}@media (max-width:640px){.chat-page{--navbar-h:60px;padding:var(--spacing-sm)}.chat-layout{gap:var(--spacing-sm)}.chat-sidebar{width:56px}.chat-sidebar__title,.chat-sidebar__empty p,.chat-sidebar__empty small,.chat-room-item .flex-grow-1,.chat-room-item .badge{display:none}.chat-sidebar__header{justify-content:center;padding:var(--spacing-sm)}.chat-room-item{margin:3px 4px}.chat-room-item .d-flex{justify-content:center;padding:var(--spacing-sm)!important;gap:0!important}.msg-body{max-width:88%}.chat-main__input{padding:var(--spacing-sm);gap:6px}.chat-input-action{display:none}}@media (min-width:641px) and (max-width:900px){.chat-sidebar{width:220px}}.chat-media-preview{display:none;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) var(--spacing-md);border-top:1px solid var(--border-color);background-color:var(--bg-secondary);flex-shrink:0}.chat-media-preview-thumb{width:48px;height:48px;object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--border-color);flex-shrink:0}.chat-media-preview__cancel{margin-left:auto;background:none;border:1px solid var(--border-color);border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;cursor:pointer;color:var(--text-secondary);font-size:.75rem;flex-shrink:0;transition:all var(--transition-normal)}.chat-media-preview__cancel:hover{background-color:var(--accent-red);border-color:var(--accent-red);color:var(--bg-primary)}.msg-bubble--media{padding:3px;overflow:hidden}.msg-time--media{display:block;font-size:.65rem;opacity:.75;text-align:right;padding:2px 6px 3px}.msg-media-link{display:block;line-height:0}.msg-media-img{max-width:280px;max-height:320px;width:100%;height:auto;object-fit:cover;border-radius:calc(var(--radius-sm) - 2px);display:block;cursor:zoom-in;transition:opacity var(--transition-normal)}.msg-media-img:hover{opacity:.9}.msg-media-video{max-width:280px;max-height:320px;width:100%;height:auto;border-radius:calc(var(--radius-sm) - 2px);display:block;background:#000}.msg-bubble--media.msg-bubble--own{border-bottom-right-radius:4px}.msg-bubble--media.msg-bubble--other{border-bottom-left-radius:4px}@media (max-width:640px){.msg-media-img,.msg-media-video{max-width:200px}}.comments-preview{display:flex;align-items:center;gap:.3rem;margin-top:.45rem;font-size:.76rem;color:var(--bs-secondary-color,#6c757d);overflow:hidden;cursor:pointer}.comment-rotate-text{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;transition:opacity 0.28s ease,transform 0.28s ease;opacity:1;transform:translateY(0)}.comment-rotate-text.fading{opacity:0;transform:translateY(-5px)}.comment-count-badge{display:inline-flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:600;min-width:1.2rem;height:1.2rem;padding:0 .3rem;border-radius:999px;background:var(--bs-primary);color:#fff;flex-shrink:0}.motto-card{cursor:pointer;transition:box-shadow 0.2s ease}.motto-card:hover{box-shadow:0 2px 12px rgb(0 0 0 / .08)}.motto-card.is-expanded .comment-input-wrap{display:block}.comments-expanded{display:grid;grid-template-rows:0fr;transition:grid-template-rows 0.3s ease;overflow:hidden}.comments-expanded>*{overflow:hidden}.motto-card.is-expanded .comments-expanded{grid-template-rows:1fr}.comments-expanded{padding:0 1rem;border-top:0 solid #fff0;transition:grid-template-rows 0.3s ease,padding 0.3s ease,border-color 0.3s ease}.motto-card.is-expanded .comments-expanded{padding:.75rem 1rem;border-top:1px solid rgb(0 0 0 / .07)}.comments-list{max-height:190px;overflow-y:auto;scrollbar-width:thin}.comment-item{display:flex;gap:.5rem;padding:.28rem 0;font-size:.8rem;border-bottom:1px solid rgb(0 0 0 / .05);align-items:baseline}.comment-item:last-child{border-bottom:none}.comment-author{font-weight:600;white-space:nowrap;color:var(--bs-primary);font-size:.75rem}@keyframes commentIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:translateY(0)}}.comment-item--new{animation:commentIn 0.25s ease forwards}.comment-input-wrap{display:none}.comment-submit{line-height:1}.committee-detail-section{margin-top:var(--spacing-lg);padding-top:var(--spacing-lg);border-top:1px solid var(--border-color)}.final-vote-btn{display:inline-flex;align-items:center;gap:6px;padding:5px 10px;border-radius:var(--radius-sm);border:1px solid var(--border-color);font-size:.82rem;font-weight:600;cursor:pointer;position:relative;overflow:hidden;color:var(--text-primary);background:linear-gradient(to right,color-mix(in srgb,var(--accent-purple) 22%,transparent) var(--fill),var(--bg-secondary) var(--fill));transition:border-color 0.2s,box-shadow 0.2s,background 0.6s;user-select:none}.final-vote-btn input[type="radio"]{display:none}.final-vote-btn:not(.is-disabled):hover{border-color:var(--accent-purple);box-shadow:0 0 0 2px color-mix(in srgb,var(--accent-purple) 25%,transparent)}.final-vote-btn.is-selected{border-color:var(--accent-purple);background:linear-gradient(to right,color-mix(in srgb,var(--accent-purple) 40%,transparent) var(--fill),color-mix(in srgb,var(--accent-purple) 10%,transparent) var(--fill));animation:finalPop 0.4s ease}.final-vote-btn.is-disabled{opacity:.45;cursor:not-allowed}.final-vote-pct{margin-left:auto;opacity:.6;font-weight:400}.motto-card.is-winner{border:2px solid gold;box-shadow:0 0 24px rgb(255 215 0 / .35);background:linear-gradient(135deg,rgb(255 215 0 / .07) 0%,transparent 60%)}.motto-winner-badge{font-size:1.6rem;animation:winner-pulse 1.8s ease-in-out infinite}.winner-announcement .winner-crown{animation:winner-pulse 1.8s ease-in-out infinite}@keyframes winner-pulse{0%,100%{transform:scale(1)}50%{transform:scale(1.15)}}@keyframes finalPop{0%{transform:scale(1)}40%{transform:scale(1.05)}100%{transform:scale(1)}}