:root{font-family:Avenir Next,Segoe UI,sans-serif;color:#172033;background:radial-gradient(circle at top left,#fffffff5 0,#fff0 28%),radial-gradient(circle at top right,#bfdbfe99 0,#bfdbfe00 24%),linear-gradient(180deg,#eef4ff,#edf6ff 46%,#e7f1fb);--surface: rgba(255, 255, 255, .82);--surface-strong: rgba(255, 255, 255, .94);--surface-line: rgba(148, 163, 184, .24);--surface-shadow: 0 18px 50px rgba(15, 23, 42, .08);--text-primary: #172033;--text-secondary: #516074;--accent: #133b63;--accent-soft: #e2eefc;--accent-strong: #0f2f51;--success: #14532d;--danger: #991b1b;--danger-soft: #fff1f2}*{box-sizing:border-box}body{margin:0;color:var(--text-primary);background:transparent}.page{min-height:100vh;max-width:1240px;padding:28px 20px 40px;width:100%;margin:0 auto;display:grid;gap:18px;align-content:start}.top{display:flex;gap:12px;align-items:center;flex-wrap:wrap;padding:10px 2px 2px}.top-logo{width:52px;height:52px;object-fit:contain;filter:drop-shadow(0 8px 14px rgba(15,23,42,.12))}.top h1{margin:0;font-size:clamp(2rem,3vw,3rem);letter-spacing:-.04em;line-height:.98}.pill{background:linear-gradient(135deg,#153a63,#102746);color:#fff;border-radius:999px;padding:7px 12px;font-size:11px;font-weight:800;letter-spacing:.06em;box-shadow:0 10px 24px #133b632e}.user-pill{max-width:560px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;letter-spacing:0;font-weight:700;background:linear-gradient(135deg,#143b62,#0f2743)}.admin-pill{background:linear-gradient(135deg,#9f1239,#7f1d1d)}button{border:1px solid rgba(15,47,81,.16);border-radius:14px;background:linear-gradient(180deg,#fffffffa,#f1f5f9eb);color:var(--accent-strong);font-weight:700;padding:10px 14px;cursor:pointer;box-shadow:0 8px 18px #0f172a0f;transition:transform .14s ease,box-shadow .14s ease,background-color .14s ease,border-color .14s ease}button:hover:not(:disabled){transform:translateY(-1px);border-color:#133b6357;box-shadow:0 12px 24px #0f172a1a}button:disabled{background:#e2e8f0c7;border-color:#94a3b873;color:#7a8799;cursor:not-allowed;opacity:1;box-shadow:none}.login-button{border-color:transparent;background:linear-gradient(135deg,#143b62,#0f2743);color:#fff;padding:11px 18px;border-radius:16px;box-shadow:0 16px 30px #133b633d}.login-button:hover{background:linear-gradient(135deg,#1a4b7d,#15395f)}input{width:100%;border:1px solid rgba(148,163,184,.36);border-radius:14px;padding:11px 13px;font:inherit;color:var(--text-primary);background:#fffffff2;box-shadow:inset 0 1px #ffffffb3}select{border:1px solid rgba(148,163,184,.36);border-radius:14px;padding:10px 12px;font:inherit;color:var(--text-primary);background:#fffffff2}input:focus,select:focus,button:focus-visible{outline:none;border-color:#133b638c;box-shadow:0 0 0 4px #3b82f624,0 10px 24px #0f172a14}.card{background:var(--surface);border:1px solid var(--surface-line);border-radius:24px;padding:20px;box-shadow:var(--surface-shadow);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.section-menu{padding:14px 18px}.view-switch{display:inline-flex;gap:8px;background:#e2e8f0bd;border-radius:999px;padding:6px;border:1px solid rgba(148,163,184,.24);box-shadow:inset 0 1px #ffffff80}.view-switch button{border:none;background:transparent;color:#4d5e73;font-weight:700;border-radius:999px;padding:10px 16px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;box-shadow:none;transform:none}.view-switch .tab-badge{min-width:22px;height:22px;border-radius:999px;padding:0 6px;display:inline-flex;align-items:center;justify-content:center;background:#dcecff;color:#1752a4;font-size:12px;font-weight:800}.view-switch button.active .tab-badge{background:#fff3;color:#fff}.view-switch button.active{background:linear-gradient(135deg,#153b62,#102847);color:#fff;box-shadow:0 10px 24px #0f2f513d}.card h2{margin-top:0;margin-bottom:16px;font-size:clamp(1.45rem,2vw,2rem);letter-spacing:-.03em}.section-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px}.section-header h2{margin:0}.section-helper{margin:-6px 0 16px;color:var(--text-secondary);font-size:.96rem;line-height:1.5}.info-banner{display:flex;justify-content:space-between;align-items:start;gap:14px;margin:0 0 16px;padding:14px 16px;border-radius:18px;border:1px solid rgba(59,130,246,.18);background:linear-gradient(180deg,#eff6fff5,#dbeafec7)}.info-banner p{margin:4px 0 0;color:var(--text-secondary);line-height:1.5}.notification-stack{display:grid;gap:10px;margin-bottom:16px}.notification-card{border-color:#f973162e;background:linear-gradient(180deg,#fff7edf5,#ffedd5d1)}.notification-content-button{display:grid;gap:4px;cursor:pointer;outline:none}.notification-content-button:focus-visible{border-radius:12px;box-shadow:0 0 0 3px #3b82f63d}.onboarding-card{border-color:#0e749033;background:linear-gradient(180deg,#ecfefff5,#cffafed6)}.sort-toggle{display:inline-flex;align-items:center;gap:8px;padding:9px 12px;border-radius:999px;background:#f1f5f9eb;border:1px solid rgba(148,163,184,.2);color:var(--text-primary)}.sort-label-compact{display:none}.polls-section-header{flex-wrap:nowrap}.polls-section-header .sort-toggle{margin-left:auto}.error{border-color:#ef444447;background:linear-gradient(180deg,#fffffff5,#fff1f2e6)}.error-text{color:#b91c1c;margin:8px 0 0}.info-text{color:#1e3a8a;margin:8px 0 0}.top-error{margin-top:-4px}.household-grid{display:grid;grid-template-columns:120px 1fr 1fr;gap:10px;align-items:center;margin-top:6px}.household-header{font-weight:700;color:#546376;margin-top:14px;padding:0 4px;text-transform:uppercase;letter-spacing:.06em;font-size:12px}.household-list{max-height:320px;overflow-y:auto;padding-right:4px;margin-top:8px}.household-grid input{min-height:42px;padding:8px 10px;border-radius:12px}.household-actions{display:flex;gap:8px;margin-top:10px;padding-top:12px;border-top:1px solid rgba(148,163,184,.16);background:linear-gradient(180deg,#fff0,#ffffffe6 18%)}.household-actions button{min-width:140px}.street-picker{display:grid;gap:6px;margin-top:10px;max-width:320px}.admin-email-create{display:grid;grid-template-columns:1fr auto;gap:8px;margin-top:8px}.settings-divider{margin:20px 0;border-top:1px solid rgba(148,163,184,.18)}.email-change-panel{display:grid;gap:10px}.email-change-panel h3{margin:0}.admin-email-list{margin-top:10px;display:grid;gap:8px}.admin-email-row{display:flex;justify-content:space-between;align-items:center;gap:10px;border:1px solid rgba(148,163,184,.22);background:var(--surface-strong);border-radius:16px;padding:12px 14px;box-shadow:inset 0 1px #ffffffb8}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:14px 0 16px}.stats-grid.compact{margin-top:6px}.stat-card{display:grid;gap:6px;padding:14px;border-radius:18px;border:1px solid rgba(148,163,184,.18);background:#ffffffeb}.stat-card.success{background:#ecfdf5f5}.stat-card.warning{background:#fffbebf5}.stat-label{color:var(--text-secondary);font-size:.88rem;font-weight:700}.stat-value{font-size:1.55rem;letter-spacing:-.04em}.poll-create{display:grid;grid-template-columns:1fr 220px 220px auto;gap:10px;margin-bottom:18px}.inset-card{margin:0 0 18px;padding:16px;border-radius:20px;background:#f8fafcd1;border:1px solid rgba(148,163,184,.18)}.export-textarea{width:100%;min-height:180px;resize:vertical;font-family:SFMono-Regular,SF Mono,Monaco,Consolas,Liberation Mono,monospace;font-size:.92rem;line-height:1.45}.empty-state{margin:12px 0 4px;padding:14px 16px;border-radius:18px;background:#f8fafce6;border:1px solid rgba(148,163,184,.18);color:var(--text-secondary);line-height:1.55}.filter-row{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 16px}.filter-chip{border-radius:999px;padding:8px 12px;background:#f1f5f9eb;color:var(--text-primary);box-shadow:none}.filter-chip.active{background:linear-gradient(135deg,#153b62,#102847);color:#fff}.preference-row{display:grid;gap:12px;margin-bottom:8px}.settings-phase-grid{gap:10px}.settings-phase-card{border:1px solid rgba(148,163,184,.2);border-radius:14px;background:#f8fafcbf;padding:10px 12px;display:grid;gap:6px}.settings-phase-card h3{margin:0;font-size:.95rem;color:#425066;letter-spacing:.01em}.settings-phase-card .section-helper{margin:0 0 2px;font-size:.9rem}.settings-phase-card .checkbox-row,.settings-phase-card .inline-field{min-height:36px;padding:2px 0}.checkbox-row{display:flex;align-items:center;gap:10px;color:var(--text-primary);font-weight:600;min-height:42px;padding:6px 2px}.checkbox-row input[type=checkbox]{width:auto;min-width:16px;height:16px;margin:0}.poll-item{border:1px solid rgba(148,163,184,.22);border-radius:22px;padding:18px;margin-top:14px;background:linear-gradient(180deg,#fffffff2,#f8fafceb);box-shadow:inset 0 1px #ffffffbd,0 12px 30px #0f172a0d}.poll-item h3{margin:0 0 10px;font-size:1.35rem;letter-spacing:-.03em}.poll-summary-toggle{width:100%;display:grid;grid-template-columns:1fr auto;gap:10px;align-items:start;text-align:left;padding:0;border:0;background:transparent;box-shadow:none}.poll-summary-main{display:flex;flex-wrap:wrap;align-items:center;gap:10px}.poll-summary-title{font-size:1.2rem;font-weight:800;color:var(--text-primary);letter-spacing:-.03em}.poll-status-badge{display:inline-flex;align-items:center;border-radius:999px;padding:5px 10px;font-size:11px;font-weight:800;letter-spacing:.04em;text-transform:uppercase;background:#1e40af1a;color:#1d4ed8}.poll-status-badge.closed{background:#0f172a14;color:#475569}.poll-status-badge.published{background:#0596691f;color:#047857}.poll-status-badge.planned{background:#f59e0b26;color:#b45309}.poll-summary-meta{display:grid;gap:4px;margin-top:6px;color:var(--text-secondary);font-size:.95rem;line-height:1.45}.poll-summary-icon{display:inline-flex;align-items:center;justify-content:center;width:34px;height:34px;border-radius:999px;background:#e2e8f0eb;color:var(--text-primary);font-size:1.25rem;font-weight:700}.poll-item-expanded .poll-summary-toggle{margin-bottom:14px;padding-bottom:12px;border-bottom:1px solid rgba(148,163,184,.16)}.poll-meta{margin:6px 0;color:var(--text-secondary);line-height:1.5}.status-chip-row{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0}.status-chip{display:inline-flex;align-items:center;padding:6px 10px;border-radius:999px;background:#e2e8f0d9;color:var(--text-primary);font-size:.84rem;font-weight:700}.status-chip.success{background:#dcfce7e6;color:var(--success)}.status-chip.warning{background:#fef3c7f5;color:#92400e}.lock-confirmation-card,.after-close-card,.resident-preview-card,.resident-history-item{margin-top:12px;padding:14px;border-radius:18px;border:1px solid rgba(148,163,184,.2);background:#f8fafce0}.lock-confirmation-card{background:#ecfdf5e0;border-color:#16a34a33}.after-close-card{background:#fffbebe6;border-color:#f59e0b33}.resident-preview-card{background:#eff6ffd9}.resident-history-card{margin-bottom:18px}.resident-history-list{display:grid;gap:10px}.poll-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:14px;align-items:center}.poll-resident-actions{display:grid;gap:10px;width:100%}.poll-resident-settings{display:grid;gap:10px;padding:12px 14px;border-radius:18px;background:#f1f5f9b3;border:1px solid rgba(148,163,184,.18)}.poll-vote-buttons-row{display:flex;flex-wrap:wrap;gap:8px}.audit-log-list{display:grid;gap:10px}.audit-log-item{border:1px solid rgba(148,163,184,.18);background:var(--surface-strong);border-radius:18px;padding:14px}.audit-log-item-warning{background:#fffbebeb;border-color:#f59e0b47}.audit-log-header{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.audit-reason{margin:8px 0 0;padding:10px 12px;border-radius:14px;background:#ffffffd1;border:1px solid rgba(245,158,11,.2);color:#7c2d12;line-height:1.5}.vote-button.selected{background:linear-gradient(135deg,#153b62,#102847);color:#fff;border-color:transparent;box-shadow:0 14px 28px #133b632e}.poll-vote-list{margin-top:12px;padding:14px;border-radius:18px;background:#eff6ffc7;border:1px solid rgba(148,163,184,.2)}.poll-comments{margin-top:14px;display:grid;gap:10px;padding:14px;border-radius:18px;background:#f8fafcd1;border:1px solid rgba(148,163,184,.16)}.poll-comments-header{align-items:center;margin-bottom:0}.comment-toggle{margin-left:auto;padding:8px 12px;border-radius:999px;background:#f1f5f9eb;border:1px solid rgba(148,163,184,.2);box-shadow:none;font-size:.9rem}.comment-toggle.has-new{border-color:#d9770673;background:#fff7edf5;color:#92400e}.poll-comments h4,.poll-comments h5{margin:0}.comment-card,.comment-thread{display:grid;gap:6px}.comment-thread.thread-highlighted{padding:8px;border-radius:18px;background:linear-gradient(180deg,#fef9c3e6,#fffbebc7);box-shadow:0 0 0 2px #f59e0b2e;transition:background .22s ease,box-shadow .22s ease}.thread-highlight-badge{margin:0;font-size:.82rem;font-weight:700;color:#92400e}.comment-card{padding:12px 14px;border-radius:16px;background:#ffffffe0;border:1px solid rgba(148,163,184,.14)}.comment-card.private{background:#fffbebd9;border-color:#f59e0b2e}.comment-header{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap}.comment-compose{display:grid;gap:8px}.comment-compose.compact{margin-top:8px}.comment-action-row{display:flex;gap:8px;flex-wrap:wrap}.thread-meta-row{display:flex;gap:10px;flex-wrap:wrap;align-items:center}.private-thread-list{display:grid;gap:10px}.admin-private-thread-list{margin-top:6px}.inline-field{display:flex;align-items:center;gap:10px;color:var(--text-primary);font-weight:600;flex-wrap:nowrap;min-height:42px;padding:6px 2px}.inline-field input[type=checkbox]{width:auto;min-width:16px;height:16px;margin:0;flex:0 0 auto}.inline-field select{min-width:130px}.tiny-select{min-width:72px;height:36px;padding:4px 10px;line-height:1.1}.lock-button{background:linear-gradient(135deg,#166534,#14532d);color:#fff;border-color:transparent;box-shadow:0 14px 28px #14532d33}.lock-button:before{content:"✓ ";font-weight:900}.lock-button:hover:not(:disabled){background:linear-gradient(135deg,#15803d,#166534)}.poll-item button:last-child:not(.lock-button):not(.vote-button.selected){border-color:#991b1b2e}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:#94a3b873;border-radius:999px}::-webkit-scrollbar-track{background:transparent}@media (max-width: 760px){.page{padding:12px 10px 22px;gap:12px}.top{align-items:flex-start;gap:10px;padding:4px 2px 0}.top h1{font-size:1.6rem;line-height:1.05;max-width:100%;flex:1 1 220px}.top-logo{width:40px;height:40px}.pill{padding:6px 10px;font-size:10px}.user-pill{max-width:100%;white-space:normal;line-height:1.35}.card{padding:14px;border-radius:18px}.section-menu{padding:10px}.card h2{margin-bottom:12px;font-size:1.3rem}.section-header{align-items:stretch;flex-direction:column;gap:10px;margin-bottom:14px}.sort-toggle{width:100%;justify-content:center}.sort-label-full{display:none}.sort-label-compact{display:inline}.polls-section-header,.poll-comments-header{flex-direction:row;align-items:center}.polls-section-header .sort-toggle,.poll-comments-header .comment-toggle{width:auto;justify-content:flex-start}.filter-row{gap:6px}.filter-chip{width:100%;justify-content:center}.info-banner{flex-direction:column}.info-banner button{width:100%}button{padding:10px 12px;border-radius:12px}input,select{font-size:16px}.household-grid{grid-template-columns:1fr;gap:6px}.household-header{display:none}.household-list{max-height:min(52vh,420px);overflow-y:auto;margin-top:10px;display:grid;gap:10px;padding-right:2px;padding-bottom:6px}.household-list .household-grid{padding:10px;margin-top:0;border-radius:14px;background:#f8fafce6;border:1px solid rgba(148,163,184,.14)}.poll-create{grid-template-columns:1fr;gap:8px;margin-bottom:14px}.admin-email-create{grid-template-columns:1fr}.admin-email-row{align-items:flex-start;flex-direction:column}.admin-email-row button{width:100%}.street-picker{max-width:none}.poll-item{padding:14px;border-radius:18px}.poll-item h3{font-size:1.15rem;margin-bottom:8px}.poll-summary-title{font-size:1.05rem}.poll-summary-meta{font-size:14px}.poll-meta{font-size:14px;line-height:1.45}.poll-actions{gap:8px}.status-chip-row{gap:6px}.poll-resident-settings{padding:12px;border-radius:16px}.inline-field{flex-wrap:wrap;align-items:flex-start;gap:8px}.settings-phase-card{padding:10px}.settings-phase-card h3{font-size:.92rem}.inline-field span:last-child{width:100%;padding-left:26px}.inline-field select{min-width:88px}.view-switch{width:100%;justify-content:stretch;padding:5px}.view-switch button{flex:1 1 0;justify-content:center;padding:10px 8px;font-size:14px}.household-actions button,.poll-vote-buttons-row button,.poll-actions>button{width:100%}.household-actions{position:sticky;bottom:0;z-index:2;margin-top:12px;padding-top:12px;padding-bottom:2px}}
