.reaction-picker{position:absolute;bottom:100%;right:0;display:flex;gap:.4rem;padding:.5rem;background:#fff;border:1px solid #e1e5e9;border-radius:8px;box-shadow:0 4px 12px #00000026;margin-bottom:.35rem;z-index:10}.reaction-picker-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;background:#f8f9fa;border:1px solid transparent;border-radius:6px;cursor:pointer;font-size:1.2rem;transition:all .1s}.reaction-picker-btn:hover{background:#e9ecef;transform:scale(1.15)}.reaction-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(0,0,0,.4);display:flex;align-items:center;justify-content:center;z-index:1000}.reaction-modal{background:#fff;border-radius:14px;box-shadow:0 8px 40px #0000002e;width:320px;max-width:90vw;max-height:480px;display:flex;flex-direction:column;overflow:hidden}.reaction-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem .75rem;border-bottom:1px solid #f0f4f8}.reaction-modal-title{font-size:.95rem;font-weight:700;color:#172033}.reaction-modal-close{background:none;border:none;font-size:.85rem;color:#9aa4b2;cursor:pointer;padding:.2rem .4rem;border-radius:4px;line-height:1;transition:background .12s}.reaction-modal-close:hover{background:#f0f4f8;color:#415066}.reaction-modal-tabs{display:flex;gap:.25rem;padding:.6rem 1rem;border-bottom:1px solid #f0f4f8;flex-wrap:wrap}.reaction-tab{display:flex;align-items:center;gap:.3rem;padding:.3rem .65rem;border:1px solid #e6ebf2;border-radius:999px;background:#fff;font-size:.9rem;cursor:pointer;transition:background .12s,border-color .12s}.reaction-tab:hover{background:#f0f4f8}.reaction-tab.active{background:rgba(102,126,234,.12);border-color:#667eea66}.reaction-tab-count{font-size:.8rem;font-weight:600;color:#415066}.reaction-modal-list{list-style:none;margin:0;padding:.5rem 0;overflow-y:auto;flex:1}.reaction-modal-user{display:flex;align-items:center;gap:.75rem;padding:.55rem 1.25rem;transition:background .1s}.reaction-modal-user.clickable{cursor:pointer}.reaction-modal-user.clickable:hover{background:#f4f6f9}.reaction-modal-nickname{font-size:.9rem;font-weight:600;color:#172033}.reaction-modal-empty{padding:1rem 1.25rem;color:#9aa4b2;font-size:.875rem}.hub-popup-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(10,18,36,.45);z-index:2000;display:flex;align-items:center;justify-content:center;padding:1rem}.hub-popup-card{position:relative;background:#fff;border-radius:12px;box-shadow:0 16px 48px #0a122438;padding:1.5rem;width:100%;max-width:400px}.hub-popup-close{position:absolute;top:.75rem;right:.75rem;background:none;border:none;font-size:.9rem;color:#9aa4b2;cursor:pointer;padding:.25rem;line-height:1}.hub-popup-close:hover{color:#415066}.hub-popup-state{padding:1.5rem 0;text-align:center;color:#9aa4b2;font-size:.9rem}.hub-popup-state--error{color:#e74c3c}.hub-popup-head{display:flex;align-items:center;gap:.5rem;margin-bottom:.75rem;flex-wrap:wrap}.hub-popup-badge{font-size:.7rem;font-weight:800;text-transform:uppercase;padding:.2rem .5rem;border-radius:999px;letter-spacing:.04em}.hub-popup-badge--idea{background:#fef9c3;color:#854d0e}.hub-popup-badge--poll{background:#dbeafe;color:#1e40af}.hub-popup-badge--reminder{background:#fce7f3;color:#9d174d}.hub-popup-badge--event{background:#d1fae5;color:#065f46}.hub-popup-badge--note{background:#f3f4f6;color:#374151}.hub-popup-ref{font-size:.8rem;font-weight:700;color:#667eea;font-family:monospace}.hub-popup-status{font-size:.72rem;font-weight:700;padding:.15rem .45rem;border-radius:999px;margin-left:auto}.hub-popup-status--open{background:#ecfdf5;color:#065f46}.hub-popup-status--done{background:#f3f4f6;color:#6b7280}.hub-popup-status--archived{background:#fef2f2;color:#991b1b}.hub-popup-title{margin:0 0 .5rem;font-size:1rem;color:#172033;line-height:1.4;padding-right:1.5rem}.hub-popup-body{margin:0 0 .75rem;font-size:.875rem;color:#415066;line-height:1.55}.hub-popup-meta{display:flex;flex-wrap:wrap;gap:.5rem 1rem;margin-bottom:1rem;font-size:.8rem;color:#687386}.hub-popup-view-btn{display:block;width:100%;padding:.65rem 1rem;background:#667eea;color:#fff;border:none;border-radius:8px;font-size:.875rem;font-weight:700;cursor:pointer;text-align:center;transition:background .15s}.hub-popup-view-btn:hover{background:#5168d9}.person-popup-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(10,18,36,.45);z-index:2000;display:flex;align-items:center;justify-content:center;padding:1rem}.person-popup-card{position:relative;background:#fff;border-radius:14px;box-shadow:0 16px 48px #0a122438;padding:1.5rem;width:100%;max-width:360px}@media (max-width: 540px){.person-popup-overlay{align-items:flex-end;padding:0}.person-popup-card.person-popup-sheet{max-width:100%;border-radius:18px 18px 0 0;padding:1.5rem 1.25rem 2rem;box-shadow:0 -12px 32px #0a122438;animation:person-popup-slide-up .18s ease-out}@keyframes person-popup-slide-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}}.person-popup-close{position:absolute;top:.75rem;right:.75rem;background:none;border:none;font-size:.9rem;color:#9aa4b2;cursor:pointer;padding:.25rem;line-height:1}.person-popup-close:hover{color:#415066}.person-popup-state{padding:1.5rem 0;text-align:center;color:#9aa4b2;font-size:.9rem}.person-popup-state--error{color:#e74c3c}.person-popup-header{display:flex;align-items:flex-start;gap:1rem;margin-bottom:1.25rem}.person-popup-avatar-wrap{position:relative;flex-shrink:0}.person-popup-online-dot{position:absolute;right:2px;bottom:2px;width:12px;height:12px;border-radius:50%;border:2px solid #fff;background:#9aa4b2}.person-popup-online-dot.online{background:#22c55e}.person-popup-identity{min-width:0}.person-popup-name{margin:0 0 .15rem;font-size:1.1rem;color:#172033;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.person-popup-username{margin:0 0 .45rem;font-size:.82rem;color:#9aa4b2}.person-popup-role{font-size:.72rem;font-weight:800;text-transform:capitalize;padding:.18rem .5rem;border-radius:999px}.person-popup-badges{display:flex;flex-wrap:wrap;gap:.35rem;align-items:center}.person-popup-display-role{font-size:.72rem;font-weight:700;padding:.18rem .5rem;border-radius:999px;background:linear-gradient(135deg,#fef3c7,#fde68a);color:#78350f}.person-popup-avatar-emoji{display:inline-flex;align-items:center;justify-content:center;width:56px;height:56px;border-radius:50%;background:#f1f5f9;font-size:1.75rem;line-height:1}.person-popup-description{margin:0 0 1rem;padding:.75rem .9rem;background:#f8fafc;border-radius:10px;border:1px solid #e6ebf2}.person-popup-description span{display:block;margin-bottom:.3rem;color:#64748b;font-size:.72rem;font-weight:800;text-transform:uppercase}.person-popup-description p{margin:0;font-size:.875rem;line-height:1.4;color:#334155;white-space:pre-wrap;word-wrap:break-word}.person-popup-description.empty p{color:#94a3b8;font-style:italic}.person-popup-actions{display:flex;flex-direction:column;gap:.5rem}.person-popup-secondary-btn{display:block;width:100%;padding:.55rem 1rem;background:#f1f5f9;color:#334155;border:none;border-radius:8px;font-size:.875rem;font-weight:600;cursor:pointer;transition:background .15s}.person-popup-secondary-btn:hover{background:#e2e8f0}.person-popup-secondary-btn:disabled{opacity:.6;cursor:default}.person-popup-form{display:flex;flex-direction:column;gap:.85rem}.person-popup-form-title{margin:0;font-size:1.05rem;color:#172033}.person-popup-field{display:flex;flex-direction:column;gap:.3rem;font-size:.8rem;color:#475569}.person-popup-field input,.person-popup-field textarea{font:inherit;font-size:.9rem;color:#172033;padding:.55rem .75rem;background:#fff;border:1px solid #cbd5e1;border-radius:8px;outline:none;transition:border-color .15s;resize:vertical}.person-popup-field input:focus,.person-popup-field textarea:focus{border-color:#667eea}.person-popup-form-actions{display:flex;gap:.5rem;margin-top:.25rem}.person-popup-form-actions>*{flex:1}.person-popup-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem;margin-bottom:1.25rem;padding:1rem;background:#f8fafc;border-radius:10px;text-align:center}.person-popup-stat-value{display:block;font-size:1rem;font-weight:700;color:#172033}.person-popup-stat-label{display:block;font-size:.72rem;color:#9aa4b2;margin-top:.1rem}.person-popup-view-btn{display:block;width:100%;padding:.65rem 1rem;background:#667eea;color:#fff;border:none;border-radius:8px;font-size:.875rem;font-weight:700;cursor:pointer;transition:background .15s}.person-popup-view-btn:hover{background:#5168d9}.agenda-poll-card{--card-bg: #ffffff;--card-border: #e1e6ee;--accent: #4361ee;--accent-soft: #e9eefe;--muted: #5a6478;--danger: #c1402c;background:var(--card-bg);border:1px solid var(--card-border);border-radius:14px;padding:12px 14px;display:flex;flex-direction:column;gap:8px;max-width:360px;font-size:.9rem;color:#1f2533;box-shadow:0 1px 2px #0f172a0a}.agenda-poll-card.loading{align-items:center;justify-content:center;min-height:60px;color:var(--muted);font-style:italic}.agenda-poll-card.compact{padding:10px 12px;font-size:.86rem;max-width:320px}.agenda-poll-card.status-live{border-color:#b9d2ff;box-shadow:0 1px 2px #4361ee2e}.agenda-poll-card.status-scheduled{border-color:#ead8a8;background:#fff9eb}.agenda-poll-card.status-closed,.agenda-poll-card.status-cancelled{border-color:#d3d8e1;background:#f6f7fb}.agenda-poll-card-head{display:flex;align-items:center;justify-content:space-between;gap:8px}.agenda-poll-card-eyebrow{font-size:.72rem;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-weight:600}.agenda-poll-card-badge{font-size:.7rem;text-transform:uppercase;font-weight:700;padding:2px 8px;border-radius:999px;letter-spacing:.04em}.agenda-poll-card-badge.badge-scheduled{background:#fbe8b0;color:#6b4a00}.agenda-poll-card-badge.badge-live{background:#d8e5ff;color:#1a3aab;animation:agenda-pulse 1.6s ease-in-out infinite}.agenda-poll-card-badge.badge-closed,.agenda-poll-card-badge.badge-cancelled{background:#e1e6ee;color:#3a4254}@keyframes agenda-pulse{0%,to{opacity:1}50%{opacity:.65}}.agenda-poll-card-title{margin:0;font-size:1rem;font-weight:700;line-height:1.25;color:#1a2030}.agenda-poll-card-target{font-size:.84rem;color:var(--muted)}.agenda-poll-card-timing{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:.8rem;color:var(--muted)}.agenda-poll-card-timing .dot{color:#b8becc}.agenda-poll-card-countdown{display:inline-flex;align-items:center;gap:4px;background:#1a3aab;color:#fff;padding:2px 8px;border-radius:999px;font-size:.78rem;font-weight:600;letter-spacing:.02em}.agenda-poll-card-options{display:flex;flex-direction:column;gap:6px}.agenda-poll-option{position:relative;display:flex;align-items:center;justify-content:space-between;gap:8px;padding:8px 12px;border:1px solid #d8dde7;border-radius:10px;background:#fff;overflow:hidden;cursor:pointer;font:inherit;text-align:left;transition:border-color .12s ease,background .12s ease,transform .12s ease}.agenda-poll-option:hover:not(.disabled){border-color:var(--accent);background:var(--accent-soft)}.agenda-poll-option:active:not(.disabled){transform:scale(.99)}.agenda-poll-option.selected{border-color:var(--accent);background:var(--accent-soft)}.agenda-poll-option.disabled{cursor:not-allowed;opacity:.85}.agenda-poll-option-fill{position:absolute;inset:0 auto 0 0;background:rgba(67,97,238,.12);z-index:0;transition:width .2s ease}.agenda-poll-card.status-closed .agenda-poll-option-fill,.agenda-poll-card.status-cancelled .agenda-poll-option-fill{background:rgba(58,66,84,.12)}.agenda-poll-option-label,.agenda-poll-option-count{position:relative;z-index:1}.agenda-poll-option-label{font-weight:500}.agenda-poll-option-count{font-variant-numeric:tabular-nums;font-weight:700;color:var(--muted)}.agenda-poll-card-result{background:#eef6ec;border:1px solid #c7e3c1;color:#29602a;border-radius:8px;padding:6px 10px;font-size:.85rem}.agenda-poll-card-hint{font-size:.78rem;color:var(--muted)}.agenda-poll-card-error{color:var(--danger);font-size:.82rem}.agenda-poll-card-actions{display:flex;justify-content:flex-end}.agenda-poll-card-link{background:none;border:none;color:var(--accent);cursor:pointer;font-size:.85rem;font-weight:600;padding:4px 6px}.agenda-poll-card-link:hover{text-decoration:underline}.message .agenda-poll-card{margin-top:6px;box-shadow:none;max-width:320px}.online-users{width:200px;min-width:200px;border-left:1px solid var(--color-border);background:var(--color-surface-alt);display:flex;flex-direction:column;overflow:hidden}.online-users-header{padding:.85rem 1rem;font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--color-muted-text);border-bottom:1px solid var(--color-border);display:flex;align-items:center;gap:.45rem;flex-shrink:0}.online-dot{width:8px;height:8px;border-radius:50%;background:#2ecc71;flex-shrink:0}.online-users-list{list-style:none;margin:0;padding:.5rem 0;overflow-y:auto;flex:1}.online-user{display:flex;align-items:center;gap:.6rem;padding:.45rem 1rem;transition:background .15s}.online-user:hover{background:color-mix(in srgb,var(--color-primary) 8%,var(--color-surface))}.online-user-name{font-size:.875rem;color:var(--color-text);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.online-user-you{color:var(--color-primary);font-size:.75rem;font-style:italic}.online-user-empty{padding:.75rem 1rem;font-size:.85rem;color:var(--color-muted-text);font-style:italic}@media (max-width: 860px){.online-users{display:none}}.chat-message-toast{position:fixed;top:max(.85rem,env(safe-area-inset-top));left:50%;z-index:2000;width:min(420px,calc(100vw - 2rem));display:flex;align-items:center;gap:.65rem;padding:.6rem .75rem;border:1px solid rgba(225,229,233,.95);border-radius:18px;background:rgba(255,255,255,.96);box-shadow:0 14px 40px #141e3638;color:#1a1a2e;cursor:pointer;text-align:left;transform:translate(-50%);animation:chat-message-toast-slide 3.6s ease forwards;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.chat-message-toast__body{display:grid;gap:.05rem;min-width:0}.chat-message-toast__sender{font-size:.84rem;font-weight:800;color:#1a1a2e}.chat-message-toast__preview{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.86rem;color:#566174}@keyframes chat-message-toast-slide{0%{opacity:0;transform:translate(-50%,-120%)}10%,82%{opacity:1;transform:translate(-50%)}to{opacity:0;transform:translate(-50%,-120%)}}@media (prefers-reduced-motion: reduce){.chat-message-toast{animation:none}}.photo-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1.25rem}.photo-modal__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:0;background:rgba(7,15,30,.82);cursor:zoom-out}.photo-modal__content{position:relative;z-index:1;max-width:min(1040px,94vw);max-height:92vh;display:grid;gap:.65rem}.photo-modal__content img{display:block;max-width:100%;max-height:calc(92vh - 4rem);object-fit:contain;border-radius:8px;background:#0b1220;box-shadow:0 24px 70px #00000059}.photo-modal__close{position:absolute;top:.75rem;right:.75rem;width:2.25rem;height:2.25rem;border:0;border-radius:999px;background:rgba(255,255,255,.94);color:#0b1f3d;cursor:pointer;font-size:1rem;font-weight:800;line-height:1}.photo-modal__caption{max-width:min(720px,86vw);justify-self:center;overflow:hidden;color:#fff;font-size:.9rem;text-align:center;text-overflow:ellipsis;white-space:nowrap}.photo-modal__action{justify-self:center;padding:.4rem 1.1rem;border:1px solid rgba(255,255,255,.3);border-radius:999px;background:rgba(255,255,255,.1);color:#fff;font-size:.85rem;cursor:pointer;transition:background .15s}.photo-modal__action:hover{background:rgba(255,255,255,.2)}.agenda-modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(15,22,36,.55);display:flex;align-items:center;justify-content:center;z-index:1100;padding:1rem}.agenda-modal{background:#fff;border-radius:14px;box-shadow:0 16px 60px #0f162447;width:460px;max-width:100%;max-height:calc(100vh - 2rem);display:flex;flex-direction:column;overflow:hidden}.agenda-modal-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.1rem .7rem;border-bottom:1px solid #f0f4f8}.agenda-modal-header h2{margin:0;font-size:1.05rem;color:#1a1a2e;letter-spacing:-.01em}.agenda-modal-header p{margin:.15rem 0 0;font-size:.78rem;color:#6c757d}.agenda-modal-close{background:none;border:none;font-size:1rem;color:#9aa4b2;cursor:pointer;padding:.3rem .5rem;border-radius:6px;line-height:1}.agenda-modal-close:hover{background:#f0f4f8;color:#415066}.agenda-modal-form{display:flex;flex-direction:column;gap:.7rem;padding:1rem 1.1rem;overflow-y:auto}.agenda-modal-form label{display:block;font-size:.78rem;font-weight:600;color:#415066;margin-bottom:.25rem}.agenda-modal-form input,.agenda-modal-form select,.agenda-modal-form textarea{width:100%;box-sizing:border-box;padding:.55rem .7rem;border:1.5px solid #e1e5e9;border-radius:8px;font-size:.92rem;background:#fff;outline:none;transition:border-color .12s}.agenda-modal-form input:focus,.agenda-modal-form select:focus,.agenda-modal-form textarea:focus{border-color:#667eea}.agenda-event-type-row{display:grid;grid-template-columns:repeat(3,1fr);gap:.35rem}.agenda-event-type-row button{background:#f4f6fa;border:1.5px solid transparent;border-radius:8px;padding:.55rem .5rem;font-size:.82rem;font-weight:600;color:#415066;cursor:pointer}.agenda-event-type-row button.active{background:rgba(102,126,234,.12);border-color:#667eea80;color:#2c3a8c}.agenda-event-type-row button:disabled{opacity:.5;cursor:not-allowed}.agenda-time-row{display:grid;grid-template-columns:1fr 1fr;gap:.6rem}.agenda-modal-error{margin:0;padding:.5rem .7rem;background:#fff0f0;border-left:3px solid #e74c3c;border-radius:6px;color:#9f2020;font-size:.82rem}.agenda-modal-actions{display:flex;gap:.5rem;justify-content:flex-end;padding:.7rem 1.1rem 1rem;border-top:1px solid #f0f4f8}.agenda-modal-actions button{border:none;border-radius:8px;padding:.55rem 1rem;font-size:.88rem;font-weight:600;cursor:pointer}.agenda-modal-cancel{background:#f4f6fa;color:#415066}.agenda-modal-cancel:hover{background:#e8ecf4}.agenda-modal-submit{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff}.agenda-modal-submit:disabled{opacity:.6;cursor:not-allowed}.chat-agenda-btn{background:linear-gradient(135deg,#f7b733 0%,#fc4a1a 100%);border:none;border-radius:8px;padding:.4rem .75rem;font-size:.78rem;font-weight:700;color:#fff;cursor:pointer;letter-spacing:.02em;display:inline-flex;align-items:center;gap:.3rem}.chat-agenda-btn:hover{filter:brightness(1.05)}.chat-agenda-btn:disabled{filter:grayscale(.4);cursor:not-allowed}@media (max-width: 600px){.agenda-modal-overlay{padding:0;align-items:flex-end}.agenda-modal{width:100%;max-width:100%;border-radius:14px 14px 0 0;max-height:92vh}.agenda-time-row{grid-template-columns:1fr}.chat-agenda-btn{padding:.35rem .55rem;font-size:.72rem}}.pinned-agenda-banner{margin:4px 8px 0;border:1px solid #b9d2ff;background:linear-gradient(180deg,#eef3ff,#f8faff);border-radius:12px;padding:6px 10px;box-shadow:0 1px 2px #4361ee14;font-size:.88rem}.pinned-agenda-banner-summary{display:flex;align-items:center;gap:8px;width:100%;background:none;border:none;padding:4px 0;cursor:pointer;text-align:left;color:#1a2030}.pinned-agenda-banner-pin{font-size:1rem}.pinned-agenda-banner-title{flex:1 1 auto;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.pinned-agenda-banner-countdown{background:#1a3aab;color:#fff;font-size:.74rem;font-weight:700;padding:2px 8px;border-radius:999px;letter-spacing:.02em}.pinned-agenda-banner-count{background:#d8e5ff;color:#1a3aab;font-size:.74rem;font-weight:700;padding:2px 8px;border-radius:999px}.pinned-agenda-banner-toggle{color:#5a6478;font-size:.85rem}.pinned-agenda-banner-quick{display:flex;justify-content:flex-end;padding-top:4px}.pinned-agenda-banner-vote{background:#4361ee;color:#fff;border:none;border-radius:999px;padding:4px 12px;font-size:.8rem;font-weight:600;cursor:pointer}.pinned-agenda-banner-vote:hover{background:#2a44c8}.pinned-agenda-banner-cards{display:flex;flex-direction:column;gap:8px;padding-top:6px}.pinned-agenda-banner-more{display:flex;justify-content:space-between;align-items:center;font-size:.8rem;color:#5a6478}.pinned-agenda-banner-link{background:none;border:none;color:#4361ee;cursor:pointer;font-weight:600;font-size:.82rem;padding:2px 6px}.pinned-agenda-banner-link:hover{text-decoration:underline}@media (max-width: 600px){.pinned-agenda-banner{margin:4px 4px 0}}.chat-wrapper{display:flex;height:100vh;height:100dvh;max-width:1080px;margin:0 auto;border:1px solid var(--color-border);border-radius:var(--radius-card);overflow:hidden;box-shadow:var(--shadow-card);background:var(--color-surface)}.chat-container{flex:1;display:flex;flex-direction:column;min-width:0;background:radial-gradient(circle at top left,color-mix(in srgb,var(--color-primary) 9%,transparent),transparent 24rem),linear-gradient(180deg,var(--color-surface-alt),color-mix(in srgb,var(--color-background) 70%,var(--color-surface)))}.chat-header{background:color-mix(in srgb,var(--color-surface) 90%,transparent);border-bottom:1px solid var(--color-border);padding:.85rem 1.25rem;display:flex;justify-content:space-between;align-items:center;flex-shrink:0}.chat-header h1{margin:0;font-size:1.25rem;font-weight:700;color:var(--color-text);letter-spacing:-.02em}.connection-status{display:flex;align-items:center;gap:.4rem;font-size:.875rem;color:var(--color-muted-text)}.status-dot{width:9px;height:9px;border-radius:50%;flex-shrink:0}.status-dot.connected{background:#2ecc71}.status-dot.connecting{background:#f39c12;animation:pulse 1.4s ease-in-out infinite}.status-dot.disconnected,.status-dot.error{background:#e74c3c}.status-name{font-weight:600;color:var(--color-text)}.status-text{color:var(--color-primary)}.header-buttons{display:flex;gap:.4rem;margin-left:.75rem}.reconnect-btn,.disconnect-btn{border:none;border-radius:6px;padding:.35rem .75rem;font-size:.8rem;cursor:pointer;font-weight:600;transition:filter .15s}.reconnect-btn{background:#2ecc71;color:#fff}.disconnect-btn{background:#e74c3c;color:#fff}.reconnect-btn:hover,.disconnect-btn:hover{filter:brightness(1.1)}.disconnect-btn:disabled{background:#ccc;cursor:not-allowed}.loading-bar{padding:.5rem 1rem;background:#f8f9fa;border-bottom:1px solid #e1e5e9;font-size:.8rem;color:#6c757d;font-style:italic;flex-shrink:0}.loading-bar.error{background:#fff0f0;color:#9f2020;border-bottom-color:#ffd0d0}.load-older-btn{align-self:center;margin:.65rem 0 .25rem;border:1px solid #d1d8e0;border-radius:7px;background:var(--color-surface);color:var(--color-text);padding:.45rem .8rem;font-size:.82rem;font-weight:700;cursor:pointer;flex-shrink:0}.load-older-btn:disabled{opacity:.6;cursor:not-allowed}.message-list{flex:1;overflow-y:auto;padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.25rem}.message{display:flex;flex-direction:column}.message-target-highlight{border-radius:22px;animation:message-target-pulse 1.8s ease-out 1}.message-target-highlight .chat-message{box-shadow:0 0 0 3px #5168d93d,0 8px 24px #5168d938}.message-list-item--new{animation:message-bubble-slide-down .34s cubic-bezier(.2,.8,.2,1)}@keyframes message-target-pulse{0%{background:rgba(81,104,217,.18)}to{background:transparent}}.message.me{align-items:flex-end}.message.other{align-items:flex-start}.message-row{display:flex;align-items:flex-end;gap:.45rem;max-width:78%}.message.me .message-row{flex-direction:row-reverse}.message-body{min-width:0;display:flex;flex-direction:column}.message.me .message-body{align-items:flex-end}.message.other .message-body{align-items:flex-start}.system-message{text-align:center;margin:.35rem auto;font-size:.8rem;color:#9b59b6;font-style:italic;padding:.2rem .75rem;background:rgba(155,89,182,.07);border-radius:12px;max-width:80%}.system-message .timestamp{margin-right:.4rem;opacity:.6}.chat-message{max-width:100%;padding:.65rem .9rem;border-radius:18px;line-height:1.45;word-wrap:break-word}.message.me .chat-message{background:linear-gradient(135deg,var(--color-own-message),color-mix(in srgb,var(--color-own-message) 72%,var(--color-accent)));color:var(--color-primary-text);border-radius:18px 18px 4px;box-shadow:0 10px 24px color-mix(in srgb,var(--color-own-message) 24%,transparent)}.message.other .chat-message{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:18px 18px 18px 4px;box-shadow:var(--shadow-soft)}.message-header{display:flex;justify-content:space-between;align-items:baseline;gap:.6rem;margin-bottom:.2rem;font-size:.78rem}.sender{font-weight:700;font-size:.8rem}.message.me .sender{color:#ffffffd9}.message.other .sender{color:var(--user-color, #555)}.sender{display:inline-flex;align-items:center;gap:.35rem;flex-wrap:wrap}.sender-name-btn{background:none;border:none;padding:0;margin:0;font:inherit;color:inherit;cursor:pointer}.sender-name-btn:disabled{cursor:default}.sender-name-btn:hover:not(:disabled){text-decoration:underline}.message-avatar-btn{background:none;border:none;padding:0;margin:0;cursor:pointer;border-radius:50%;line-height:0;flex:0 0 auto}.message-avatar-btn:hover:not(:disabled){transform:translateY(-1px)}.message-avatar-btn:disabled{cursor:default}.message-avatar-btn:focus-visible{outline:2px solid #667eea;outline-offset:2px}.role-badge{display:inline-block;padding:.05rem .4rem;font-size:.62rem;font-weight:700;letter-spacing:.02em;text-transform:none;background:rgba(253,230,138,.85);color:#78350f;border-radius:999px;vertical-align:middle;line-height:1.4;max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message.me .role-badge{background:rgba(255,255,255,.22);color:#fffffff2}.timestamp{font-size:.72rem;opacity:.65;cursor:help;white-space:nowrap}.message.me .timestamp{color:#ffffffb3}.message.other .timestamp{color:var(--color-muted-text)}.message.bot .chat-message{background:linear-gradient(135deg,var(--color-bot-message),color-mix(in srgb,var(--color-bot-message) 78%,var(--color-surface)));border:1px solid color-mix(in srgb,var(--color-primary) 28%,var(--color-border));color:var(--color-text)}.bot-badge{display:inline-block;margin-left:.35rem;padding:.05rem .35rem;font-size:.62rem;font-weight:700;letter-spacing:.04em;color:var(--color-primary-text);background:var(--color-primary);border-radius:var(--radius-pill);vertical-align:middle;line-height:1.4}.message-content{font-size:.95rem}.hub-reference-link{display:inline;background:none;border:none;padding:0;font:inherit;font-weight:800;color:var(--color-primary);text-decoration:underline;text-underline-offset:2px;cursor:pointer}.hub-reference-link:hover{color:var(--color-accent)}.photo-message-content{display:grid;gap:.4rem;padding:0;border:0;background:transparent;color:inherit;cursor:zoom-in;font:inherit;text-align:left}.photo-message-content img{display:block;width:min(280px,58vw);max-height:340px;object-fit:cover;border-radius:10px}.photo-message-content span{font-size:.82rem;opacity:.8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.typing-indicator{display:flex;align-items:center;gap:.5rem;padding:.4rem 1.25rem;min-height:28px;flex-shrink:0}.typing-dots{display:flex;gap:3px;align-items:center}.typing-dots span{width:6px;height:6px;border-radius:50%;background:var(--color-primary);animation:bounce 1.2s ease-in-out infinite}.typing-dots span:nth-child(2){animation-delay:.2s}.typing-dots span:nth-child(3){animation-delay:.4s}.typing-label{font-size:.8rem;color:var(--color-primary);font-style:italic}.message-input-container{border-top:1px solid var(--color-border);padding:.8rem 1rem;padding-bottom:calc(.8rem + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--color-surface) 88%,transparent);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);flex-shrink:0;position:sticky;bottom:0;z-index:4}.mention-dropdown{position:absolute;bottom:100%;left:1rem;right:1rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:0 -8px 24px #0a12241f;overflow:hidden;z-index:100}.mention-dropdown-hint{margin:0;padding:.4rem .75rem;font-size:.7rem;color:var(--color-muted-text);background:var(--color-surface-alt);border-bottom:1px solid var(--color-border)}.mention-item{display:flex;align-items:center;gap:.5rem;width:100%;padding:.55rem .75rem;border:none;border-bottom:1px solid #f5f7fa;background:var(--color-surface);text-align:left;cursor:pointer;font-size:.875rem;transition:background .1s}.mention-item:last-child{border-bottom:none}.mention-item:hover,.mention-item--active{background:color-mix(in srgb,var(--color-primary) 10%,var(--color-surface))}.mention-item-badge{flex-shrink:0;font-size:.65rem;font-weight:800;text-transform:uppercase;padding:.15rem .4rem;border-radius:999px;letter-spacing:.04em}.mention-item-ref{flex-shrink:0;font-family:monospace;font-size:.8rem;font-weight:700;color:var(--color-primary);min-width:44px}.mention-item-title{flex:1;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mention-item-status{flex-shrink:0;font-size:.7rem;color:var(--color-muted-text);font-style:italic}.mention-avatar{flex-shrink:0;width:24px;height:24px;border-radius:50%;color:#fff;font-size:.7rem;font-weight:700;display:flex;align-items:center;justify-content:center}.mention-item-name{flex:1;font-weight:600;color:var(--color-text);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mention-item-username{flex-shrink:0;font-size:.75rem;color:var(--color-muted-text)}.mention-item-online{flex-shrink:0;width:7px;height:7px;border-radius:50%;background:#22c55e}.person-mention{display:inline;background:none;border:none;padding:0;font:inherit;font-weight:700;color:var(--color-primary);cursor:pointer}.person-mention:hover{text-decoration:underline;text-underline-offset:2px}.message-input-form{display:flex;gap:.5rem;align-items:center;min-width:0}.message-input-form input{flex:1;min-width:0;padding:.65rem 1rem;border:1.5px solid var(--color-border);border-radius:var(--radius-pill);font-size:1rem;outline:none;transition:border-color .15s;background:var(--color-surface);color:var(--color-text)}.message-input-form .message-photo-input{display:none}.message-input-form input:focus{border-color:var(--color-primary);background:var(--color-surface)}.message-input-form input:disabled{opacity:.55;cursor:not-allowed}.message-input-form button{flex-shrink:0;padding:.65rem 1.25rem;background:var(--color-primary);color:var(--color-primary-text);border:none;border-radius:var(--radius-pill);font-size:.9rem;font-weight:600;cursor:pointer;transition:filter .15s,transform .1s}.mobile-label{display:none}.message-input-form button:hover:not(:disabled){filter:brightness(1.08);transform:translateY(-1px)}.message-input-form button:disabled{background:color-mix(in srgb,var(--color-muted-text) 42%,var(--color-border));cursor:not-allowed;transform:none}@keyframes pulse{0%,to{opacity:1}50%{opacity:.4}}@keyframes bounce{0%,80%,to{transform:translateY(0)}40%{transform:translateY(-5px)}}@keyframes message-bubble-slide-down{0%{opacity:0;transform:translateY(-22px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media (prefers-reduced-motion: reduce){.message-list-item--new,.status-dot.connecting,.typing-dots span{animation:none}}.reply-quote{display:flex;gap:.4rem;margin-bottom:.35rem;padding:.4rem .6rem;background:rgba(0,0,0,.08);border-left:3px solid rgba(0,0,0,.2);border-radius:4px;font-size:.8rem}.reply-quote-indicator{flex-shrink:0;opacity:.6}.reply-quote-content{min-width:0}.reply-quote-content strong{display:block;font-weight:600;margin-bottom:.15rem}.reply-quote-content p{margin:0;word-break:break-word;opacity:.8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.message.me .reply-quote{background:rgba(255,255,255,.15);border-left-color:#ffffff4d}.reaction-display{display:flex;gap:.35rem;flex-wrap:wrap;margin-top:.35rem}.reaction-bubble{display:flex;align-items:center;gap:.2rem;padding:.2rem .5rem;background:rgba(0,0,0,.08);border:1px solid transparent;border-radius:16px;cursor:pointer;transition:all .15s;font-size:.75rem}.reaction-bubble:hover{background:rgba(0,0,0,.12)}.reaction-bubble.user-reacted{background:rgba(102,126,234,.2);border-color:#667eea66}.reaction-emoji{font-size:.9rem}.reaction-count{font-weight:600;color:#555;min-width:16px;text-align:center}.message.me .reaction-bubble{background:rgba(255,255,255,.2);color:#fff}.message.me .reaction-bubble.user-reacted{background:rgba(255,255,255,.35)}.message.me .reaction-count{color:#ffffffe6}.message-actions{display:flex;flex-direction:row-reverse;gap:.25rem;margin-top:.25rem;padding:0 .3rem;opacity:0;pointer-events:none;transition:opacity .12s}.message.chat:hover .message-actions,.message.chat.show-actions .message-actions,.message-actions.picker-open{opacity:1;pointer-events:auto}.action-btn{display:flex;align-items:center;justify-content:center;width:28px;height:28px;padding:0;background:#f1f3f5;border:1px solid #e1e5e9;border-radius:6px;cursor:pointer;font-size:.95rem;transition:all .1s;position:relative}.action-btn:before{content:"";position:absolute;top:-8px;right:-8px;bottom:-8px;left:-8px}.action-btn:hover{background:#e9ecef;border-color:#ccc}.message.me .action-btn{background:rgba(255,255,255,.2);border-color:#fff6;color:#fff}.message.me .action-btn:hover{background:rgba(255,255,255,.3);border-color:#fff9}.reaction-picker-wrapper{position:relative}@media (max-width: 600px){.chat-container{min-height:0}.message-row{max-width:min(88%,520px)}.chat-wrapper{border-radius:0;border:none;box-shadow:none}.chat-header{padding:.7rem .85rem}.chat-header h1{font-size:1rem}.connection-status{min-width:0;gap:.3rem;font-size:.76rem}.status-name,.status-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.message-list{padding:.75rem .8rem}.typing-indicator{padding:.25rem .85rem;min-height:22px}.message-input-container{padding:.55rem .65rem calc(.55rem + env(safe-area-inset-bottom))}.message-input-form{display:grid;grid-template-columns:minmax(0,1fr) 42px auto;gap:.4rem}.message-input-form input{min-height:42px;padding:.55rem .85rem;font-size:16px}.message-input-form button{min-width:42px;min-height:42px;padding:.55rem .8rem;border-radius:999px;font-size:.86rem}.message-input-form .attach-photo-btn{width:42px;padding:0;font-size:1.25rem;line-height:1}.desktop-label{display:none}.mobile-label{display:inline}.mention-dropdown{left:.65rem;right:.65rem;max-height:min(320px,45vh);overflow-y:auto}}.reply-to-badge{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-bottom:.5rem;padding:.5rem .75rem;background:color-mix(in srgb,var(--color-primary) 10%,var(--color-surface));border-left:3px solid var(--color-primary);border-radius:var(--radius-control);font-size:.8rem;color:var(--color-text)}.clear-reply-btn{border:none;background:none;color:#999;cursor:pointer;font-size:1rem;padding:0;line-height:1;transition:color .1s}.clear-reply-btn:hover{color:#667eea}.message.chat{flex-direction:row;align-items:flex-end;gap:.5rem;margin-bottom:.35rem}.message.chat.me{justify-content:flex-end}.message.chat.other{justify-content:flex-start}.message-body{display:flex;flex-direction:column;min-width:0}.message.chat.me .message-body{align-items:flex-end}.message.chat.other .message-body{align-items:flex-start}.message-body .chat-message{max-width:100%;width:100%;box-sizing:border-box}.deleted-message{opacity:.5;font-style:italic}.edited-tag{display:block;font-size:.68rem;opacity:.55;margin-top:.2rem;font-style:italic}.edit-mode-badge{display:flex;align-items:center;justify-content:space-between;gap:.6rem;margin-bottom:.5rem;padding:.5rem .75rem;background:color-mix(in srgb,var(--color-accent) 12%,var(--color-surface));border-left:3px solid var(--color-accent);border-radius:var(--radius-control);font-size:.8rem;color:var(--color-text)}.action-btn-danger:hover{background:rgba(231,76,60,.15)!important;border-color:#e74c3c66!important}.message.chat.other .reaction-picker{left:0;right:auto}.message.chat.me .reaction-picker{right:0;left:auto}@media (min-width: 861px){.chat-wrapper{width:min(100%,1180px);max-width:1180px}.chat-container{max-width:860px}.online-users{width:280px;flex:0 0 280px;border-left-color:var(--color-border);background:color-mix(in srgb,var(--color-surface) 86%,var(--color-surface-alt))}.message-list{padding-inline:clamp(1rem,2vw,1.5rem)}.message-row{max-width:min(74%,640px)}.message-input-container{padding-inline:clamp(1rem,2vw,1.5rem)}}@media (min-width: 1280px){.chat-wrapper{max-width:1200px}.chat-container{max-width:880px}}:root{--sidebar-w: var(--layout-sidebar-width, 244px)}.app-shell{display:grid;grid-template-columns:var(--sidebar-w) minmax(0,1fr);min-height:100vh;min-height:100dvh;background:transparent;color:var(--color-text);overflow-x:hidden}.app-sidebar{position:sticky;top:0;height:100vh;height:100dvh;min-width:0;display:flex;flex-direction:column;gap:1.1rem;padding:1.25rem .85rem;background:linear-gradient(180deg,color-mix(in srgb,var(--color-nav-background) 96%,var(--color-surface)),var(--color-nav-background)),var(--color-nav-background);color:var(--color-primary-text);border-right:1px solid color-mix(in srgb,var(--color-primary-text) 10%,transparent);overflow:hidden}.app-brand{display:inline-flex;align-items:center;min-height:2.4rem;padding:0 .25rem;color:var(--color-primary-text);font-size:1.22rem;font-weight:800;text-decoration:none}.app-nav{display:flex;flex-direction:column;gap:.28rem;flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding-top:.35rem;border-top:1px solid color-mix(in srgb,var(--color-primary-text) 9%,transparent);scrollbar-width:thin}.app-sidebar-footer{padding:.75rem 0 0;border-top:1px solid color-mix(in srgb,var(--color-primary-text) 10%,transparent);display:flex;align-items:center;gap:.25rem;flex-shrink:0}.sidebar-profile-btn{flex:1;display:flex;align-items:center;gap:.5rem;background:none;border:none;border-radius:16px;padding:.5rem .55rem;cursor:pointer;color:#ffffffc2;text-align:left;min-width:0;transition:background .12s}.sidebar-profile-btn:hover,.sidebar-profile-btn.active{background:color-mix(in srgb,var(--color-primary-text) 12%,transparent);color:var(--color-primary-text)}.sidebar-profile-name{font-size:.82rem;font-weight:650;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-nav-link{display:flex;align-items:center;min-width:0;min-height:42px;padding:.64rem .72rem;border-radius:12px;color:#ffffffc2;text-decoration:none;font-weight:650}.app-nav-link:hover,.app-nav-link.active{color:var(--color-primary-text);background:color-mix(in srgb,var(--color-primary-text) 12%,transparent)}.app-nav-link.active{box-shadow:inset 3px 0 0 var(--color-accent)}.app-main{min-width:0;min-height:100vh;min-height:100dvh;padding:clamp(1rem,2vw,2rem);overflow:auto}@media (min-width: 1100px){.app-main:has(.home-dashboard){overflow:hidden;min-height:0;height:100dvh}}.mobile-bottom-nav{display:none}.page{width:min(100%,var(--layout-content-max));margin:0 auto}.page-header{margin-bottom:1.25rem}.page-header h1{margin:0;font-size:2rem;line-height:1.15;color:var(--color-text)}.page-subtitle{margin:.4rem 0 0;color:var(--color-muted-text)}.panel-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--layout-card-gap)}.dashboard-card,.member-row,.placeholder-panel{background:#fff;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-card)}.dashboard-card{min-height:160px;padding:1rem;display:flex;flex-direction:column;justify-content:space-between}.dashboard-card h2{margin:0;font-size:1rem;color:var(--color-text)}.dashboard-value{font-size:2rem;font-weight:800;color:var(--color-primary)}.dashboard-meta{margin:0;color:var(--color-muted-text);font-size:.9rem}.placeholder-panel{min-height:260px;display:flex;align-items:center;justify-content:center;color:var(--color-muted-text);font-size:1.1rem}.page-chat{height:calc(100vh - clamp(2.5rem,4vw,4rem));height:calc(100dvh - clamp(2.5rem,4vw,4rem))}.page-chat .chat-wrapper{height:100%;max-width:1180px}@media (min-width: 1200px){.app-main{padding-left:clamp(1.25rem,2vw,2rem);padding-right:clamp(1.25rem,2vw,2rem)}.page.feature-page{--layout-content-max: 1040px}}@media (max-width: 767px){.app-shell{grid-template-columns:1fr}.app-sidebar{display:none}.app-main{min-height:100vh;min-height:100dvh;padding:var(--page-padding);padding-bottom:calc(var(--bottom-nav-height) + 1.25rem + env(safe-area-inset-bottom));overflow-x:hidden}.mobile-bottom-nav{position:fixed;left:0;right:0;bottom:0;z-index:20;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(56px,1fr);gap:.15rem;overflow-x:auto;min-height:var(--bottom-nav-height);padding:.5rem .55rem calc(.5rem + env(safe-area-inset-bottom));background:color-mix(in srgb,var(--color-nav-background) 94%,transparent);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);border-top:1px solid color-mix(in srgb,var(--color-primary-text) 14%,transparent);box-shadow:0 -12px 34px #0f172a38}.mobile-nav-link{min-width:0;min-height:44px;display:flex;align-items:center;justify-content:center;padding:.35rem .2rem;border-radius:16px;color:#ffffffb8;text-decoration:none;font-size:.68rem;font-weight:700;line-height:1;text-align:center;white-space:nowrap}.mobile-nav-link.active{color:#fff;background:rgba(255,255,255,.14)}.mobile-nav-profile-btn{display:flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding:.35rem;border:none;border-radius:16px;background:transparent;color:#ffffffb8;cursor:pointer}.mobile-nav-profile-btn:hover,.mobile-nav-profile-btn.active{background:rgba(255,255,255,.14)}.mobile-nav-profile-btn>img,.mobile-nav-profile-btn>div{box-shadow:0 0 0 2px color-mix(in srgb,var(--color-primary-text) 18%,transparent)}.panel-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.page-chat{height:calc(100vh - 6.75rem);height:calc(100dvh - 6.75rem)}body.chat-keyboard-open .app-main{padding-bottom:1rem;overflow:hidden}body.chat-keyboard-open .mobile-bottom-nav{display:none}body.chat-keyboard-open .page-chat{height:calc(var(--visual-viewport-height, 100dvh) - 2rem)}}@media (max-width: 560px){.panel-grid{grid-template-columns:1fr}}@media (max-width: 380px){.mobile-bottom-nav{padding-left:.25rem;padding-right:.25rem}.mobile-nav-link{font-size:.68rem}}.app-nav-more-btn{width:100%;background:none;border:none;text-align:left;cursor:pointer;font-size:inherit;font-family:inherit}.app-nav-more-items{display:flex;flex-direction:column;gap:.12rem;padding:.15rem 0 .15rem .65rem;border-left:2px solid rgba(255,255,255,.12);margin:.1rem 0 .1rem .7rem}.app-nav-more-item{min-height:34px;padding:.45rem .6rem;font-size:.84rem}.mobile-nav-more-btn{background:none;border:none;cursor:pointer;font-size:.68rem;font-family:inherit;font-weight:700}.more-popup{position:fixed;left:.75rem;right:.75rem;bottom:calc(var(--bottom-nav-height) + .75rem + env(safe-area-inset-bottom));z-index:30;background:color-mix(in srgb,var(--color-surface) 94%,transparent);border:1px solid var(--color-border);border-radius:22px;padding:.65rem;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.45rem;box-shadow:0 18px 50px #0f172a3d;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px)}.more-popup-item{display:grid;grid-template-columns:auto minmax(0,1fr);grid-template-rows:auto auto;align-items:center;gap:.45rem;min-height:48px;padding:.65rem .75rem;border-radius:16px;color:var(--color-text);text-decoration:none;font-weight:650;font-size:.88rem;transition:background .1s}.more-popup-item:before{content:attr(data-icon);grid-row:1 / 3;width:1.75rem;height:1.75rem;display:inline-flex;align-items:center;justify-content:center;border-radius:var(--radius-pill);background:color-mix(in srgb,var(--color-primary) 13%,var(--color-surface-alt))}.more-popup-item__label,.more-popup-item__desc{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.more-popup-item__desc{color:var(--color-muted-text);font-size:.72rem;font-weight:650}.more-popup-item:hover,.more-popup-item.active{background:var(--color-surface-alt);color:var(--color-primary)}@media (min-width: 768px){.more-popup{display:none}}.sidebar-search-form{padding:.5rem .75rem .25rem}.sidebar-search-input{width:100%;padding:.45rem .65rem;font-size:.85rem;border:1px solid rgba(255,255,255,.2);border-radius:var(--radius-control);background:rgba(255,255,255,.12);color:inherit;box-sizing:border-box;transition:background .15s,border-color .15s}.sidebar-search-input::placeholder{color:#ffffff80}.sidebar-search-input:focus{outline:none;background:rgba(255,255,255,.2);border-color:#fff6}.notif-bell-wrap{position:relative}.notif-bell-btn{background:none;border:none;cursor:pointer;font-size:1.1rem;padding:.35rem;border-radius:6px;position:relative;line-height:1;color:inherit}.notif-bell-btn:hover{background:rgba(255,255,255,.12)}.notif-badge{position:absolute;top:-2px;right:-4px;background:#e74c3c;color:#fff;font-size:.65rem;font-weight:700;min-width:16px;height:16px;border-radius:999px;display:flex;align-items:center;justify-content:center;padding:0 3px;line-height:1}.notif-panel{position:fixed;bottom:72px;left:calc(var(--sidebar-w, 220px) + 8px);width:320px;background:white;border:1px solid #e1e5e9;border-radius:10px;box-shadow:0 8px 24px #00000024;z-index:1000;overflow:hidden}@media (max-width: 860px){.notif-panel{position:fixed;bottom:72px;left:12px;right:12px;width:auto}}.notif-panel-header{display:flex;align-items:center;justify-content:space-between;padding:.75rem 1rem;border-bottom:1px solid #eef2f6;font-weight:600;font-size:.9rem;color:#172033}.notif-mark-all{background:none;border:none;font-size:.8rem;color:#667eea;cursor:pointer;padding:0}.notif-mark-all:hover{text-decoration:underline}.notif-list{list-style:none;margin:0;padding:0;max-height:360px;overflow-y:auto}.notif-empty{padding:1.5rem 1rem;text-align:center;color:#9aa4b2;font-size:.875rem}.notif-item{display:flex;align-items:flex-start;gap:.75rem;padding:.75rem 1rem;cursor:pointer;border-bottom:1px solid #f5f7fa;transition:background .1s}.notif-item:hover{background:#f8fafc}.notif-item.unread{background:#f0f4ff}.notif-item.unread:hover{background:#e8effe}.notif-icon{font-size:1.1rem;flex-shrink:0;margin-top:2px}.notif-body{flex:1;min-width:0}.notif-title{margin:0 0 .2rem;font-size:.875rem;color:#172033;line-height:1.4}.notif-meta{font-size:.75rem;color:#9aa4b2}.notif-dot{width:8px;height:8px;background:#667eea;border-radius:50%;flex-shrink:0;margin-top:5px}.home-appearance-modal{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:flex-end;justify-content:center}.home-appearance-modal__backdrop{position:absolute;top:0;right:0;bottom:0;left:0;border:0;background:rgba(7,15,30,.55);cursor:pointer}.home-appearance-modal__sheet{position:relative;z-index:1;width:100%;max-width:640px;max-height:92vh;overflow-y:auto;background:#fff;border-radius:18px 18px 0 0;box-shadow:0 -18px 60px #070f1e40;padding:1rem 1.1rem 1.4rem;display:flex;flex-direction:column;gap:.85rem}@media (min-width: 769px){.home-appearance-modal{align-items:center;padding:1.5rem}.home-appearance-modal__sheet{border-radius:16px;max-width:720px}}.home-appearance-modal__header{display:flex;align-items:center;justify-content:space-between}.home-appearance-modal__header h2{margin:0;font-size:1.05rem;color:#172033}.home-appearance-modal__close{border:0;width:2rem;height:2rem;border-radius:999px;background:#f2f4fa;color:#172033;font-size:1.1rem;font-weight:800;cursor:pointer}.home-appearance-modal__preview{width:100%;height:180px;border-radius:12px;background:#edf0f5;overflow:hidden;display:flex;align-items:center;justify-content:center}.home-appearance-modal__preview img{width:100%;height:100%;object-fit:cover;display:block}.home-appearance-modal__preview-empty{color:#687386;font-size:.9rem}.home-appearance-modal__sliders{display:flex;flex-direction:column;gap:.6rem;background:#f7f9fc;border-radius:12px;padding:.75rem .85rem}.home-appearance-modal__sliders label{display:flex;flex-direction:column;gap:.25rem;font-size:.78rem;color:#495163;font-weight:700}.home-appearance-modal__sliders input[type=range]{width:100%}.home-appearance-modal__actions{display:flex;flex-wrap:wrap;gap:.5rem;padding-top:.25rem}.home-appearance-modal__save,.home-appearance-modal__remove{flex:1;min-width:130px;border:0;border-radius:999px;padding:.55rem 1rem;font-weight:800;cursor:pointer}.home-appearance-modal__save{background:#5168d9;color:#fff}.home-appearance-modal__remove{background:#fff;color:#c2410c;border:1px solid #f2cba2}.home-appearance-modal__save:disabled,.home-appearance-modal__remove:disabled{opacity:.6;cursor:not-allowed}.home-appearance-modal__subhead{margin:.2rem 0 0;font-size:.95rem;color:#172033}.home-appearance-modal__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:.45rem}.home-appearance-modal__photo{position:relative;aspect-ratio:1 / 1;border-radius:10px;overflow:hidden;border:2px solid transparent;background:#edf0f5;cursor:pointer;padding:0}.home-appearance-modal__photo img{width:100%;height:100%;object-fit:cover;display:block}.home-appearance-modal__photo.is-current{border-color:#5168d9;box-shadow:0 0 0 2px #5168d940}.home-appearance-modal__photo:disabled{opacity:.7;cursor:not-allowed}.home-appearance-modal__badge{position:absolute;bottom:4px;left:4px;padding:2px 6px;font-size:.65rem;border-radius:999px;background:rgba(81,104,217,.92);color:#fff;font-weight:700}.pinned-items-modal__list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.5rem}.pinned-items-modal__item{width:100%;text-align:left;background:#f7f9fc;border:1px solid #e1e6ef;border-radius:12px;padding:.7rem .85rem;cursor:pointer;display:flex;flex-direction:column;gap:.2rem}.pinned-items-modal__item strong{font-size:.95rem;color:#172033}.pinned-items-modal__eyebrow{font-size:.7rem;font-weight:800;color:#5168d9;text-transform:uppercase;letter-spacing:.04em}.pinned-items-modal__body{font-size:.82rem;color:#495163;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.story-carousel{position:relative;width:100%;min-width:0;max-width:100%;overflow:hidden;border-radius:18px}.story-carousel__progress{display:flex;gap:4px;padding:0 .25rem .5rem}.story-carousel__bar{flex:1;height:3px;border-radius:2px;background:rgba(120,130,155,.25);transition:background .25s ease}.story-carousel__bar.active{background:linear-gradient(90deg,#6366f1,#ec4899)}.story-carousel,.story-carousel *{box-sizing:border-box}.story-carousel__scroller{display:flex;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none;-ms-overflow-style:none;-webkit-overflow-scrolling:touch;gap:0;width:100%}.story-carousel__scroller::-webkit-scrollbar{display:none}.story-carousel__slide{flex:0 0 100%;min-width:0;max-width:100%;scroll-snap-align:center;padding:0}.story-carousel__nav{position:absolute;top:calc(50% + 4px);transform:translateY(-50%);width:2rem;height:2rem;border-radius:999px;border:0;background:rgba(15,20,35,.55);color:#fff;font-size:1.4rem;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;z-index:4;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);transition:background .2s,transform .2s}.story-carousel__nav:hover{background:rgba(15,20,35,.8);transform:translateY(-50%) scale(1.05)}.story-carousel__nav.prev{left:.5rem}.story-carousel__nav.next{right:.5rem}.story-carousel__counter{position:absolute;bottom:.75rem;right:.85rem;font-size:.7rem;color:#ffffffd9;font-weight:700;letter-spacing:.04em;z-index:3;background:rgba(0,0,0,.4);padding:.2rem .55rem;border-radius:999px;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px)}.story-card{position:relative;width:100%;max-width:100%;min-height:240px;border-radius:18px;overflow:hidden;border:0;padding:0;cursor:pointer;color:#fff;text-align:left;display:block;isolation:isolate;background-size:cover;background-position:center;box-shadow:0 12px 30px #0f172a40;transition:transform .25s ease,box-shadow .25s ease}.story-card:hover{transform:translateY(-2px);box-shadow:0 18px 40px #0f172a59}.story-card:active{transform:scale(.99)}.story-card__image{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;z-index:0;filter:saturate(1.05)}.story-card__veil{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;background:radial-gradient(120% 80% at 50% 10%,rgba(0,0,0,0) 0%,rgba(0,0,0,.15) 55%,rgba(0,0,0,.65) 100%),linear-gradient(180deg,rgba(0,0,0,0) 35%,rgba(0,0,0,.55) 100%)}.story-card__body{position:relative;z-index:2;display:flex;flex-direction:column;gap:.45rem;padding:3rem 1.1rem 1.1rem;min-height:240px;justify-content:flex-end}.story-card__badge{position:absolute;top:.85rem;left:.95rem;z-index:3;display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .65rem;border-radius:999px;font-size:.7rem;font-weight:800;letter-spacing:.05em;text-transform:uppercase;background:rgba(255,255,255,.18);color:#fff;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.25)}.story-card__badge.tone-live{background:rgba(239,68,68,.9);border-color:#fff6;animation:story-pulse 1.6s ease-in-out infinite}.story-card__badge.tone-hot{background:rgba(249,115,22,.9);border-color:#fff6}.story-card__badge.tone-urgent{background:rgba(220,38,38,.85);border-color:#fff6}@keyframes story-pulse{0%,to{box-shadow:0 0 #ef444499}50%{box-shadow:0 0 0 10px #ef444400}}.story-card__eyebrow{font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em;color:#ffffffe0;text-shadow:0 1px 4px rgba(0,0,0,.4)}.story-card__title{margin:0;font-size:1.35rem;font-weight:800;line-height:1.2;letter-spacing:-.01em;color:#fff;text-shadow:0 2px 12px rgba(0,0,0,.45);word-break:break-word;overflow-wrap:anywhere;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}.story-card__sub{margin:0;font-size:.95rem;line-height:1.4;color:#ffffffeb;text-shadow:0 1px 6px rgba(0,0,0,.4);font-weight:500}.story-card__avatars{display:flex;margin-top:.4rem}.story-card__avatar{margin-left:-8px;border-radius:999px;border:2px solid rgba(255,255,255,.85);display:inline-flex;box-shadow:0 2px 6px #00000040}.story-card__avatar:first-child{margin-left:0}.story-card__progress{height:6px;border-radius:999px;background:rgba(255,255,255,.2);overflow:hidden;margin-top:.3rem}.story-card__progress>span{display:block;height:100%;background:linear-gradient(90deg,#fff,rgba(255,255,255,.6));border-radius:999px;transition:width .4s ease}.story-empty{position:relative;border-radius:18px;padding:2rem 1.5rem;min-height:220px;background:linear-gradient(160deg,#1f2937 0%,#312e81 100%);color:#fff;text-align:center;overflow:hidden;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem}.story-empty__glow{position:absolute;inset:-40% -20% auto auto;width:280px;height:280px;border-radius:50%;background:radial-gradient(circle,rgba(236,72,153,.55),transparent 60%);filter:blur(20px)}.story-empty__title{margin:0;font-size:1.2rem;font-weight:800}.story-empty__sub{margin:0;font-size:.9rem;color:#fffc;max-width:22rem}@media (min-width: 768px){.story-card,.story-card__body{min-height:320px}.story-card__body{padding:3.25rem 1.5rem 1.4rem}.story-card__title{font-size:1.65rem;-webkit-line-clamp:2}.story-carousel__nav{width:2.5rem;height:2.5rem}}.feature-page{display:flex;flex-direction:column;gap:1rem}.feature-form{display:grid;grid-template-columns:minmax(0,1fr) 220px auto;gap:.75rem;align-items:start}.feature-form input,.feature-form textarea,.feature-row select,.event-edit-form input,.event-edit-form textarea{width:100%;border:1px solid #d8deea;border-radius:8px;padding:.75rem;background:#fff;color:#172033}.feature-form input[type=datetime-local],.event-edit-form input[type=datetime-local]{min-height:46px;-webkit-appearance:none;-moz-appearance:none;appearance:none;color-scheme:light;font-family:inherit;font-size:.95rem;font-weight:750;letter-spacing:0;line-height:1.2}.feature-form input[type=datetime-local]::-webkit-calendar-picker-indicator,.event-edit-form input[type=datetime-local]::-webkit-calendar-picker-indicator{width:1.25rem;height:1.25rem;margin-left:.5rem;cursor:pointer;opacity:.72;filter:invert(25%) sepia(20%) saturate(812%) hue-rotate(176deg) brightness(90%) contrast(88%)}.feature-form input[type=datetime-local]:focus,.event-edit-form input[type=datetime-local]:focus{border-color:#8ea0f0;box-shadow:0 0 0 3px #667eea24;outline:none}.event-edit-field{display:flex;flex-direction:column;gap:4px;font-size:.85rem;font-weight:600;color:#1f2533}.event-edit-field>span:first-child{font-weight:600}.event-edit-short-id{display:flex;align-items:stretch;border:1px solid #d8deea;border-radius:8px;overflow:hidden;background:#fff}.event-edit-short-id:focus-within{border-color:#8ea0f0;box-shadow:0 0 0 3px #667eea24}.event-edit-short-id-hash{background:#f6f7fb;color:#5a6478;padding:.75rem .85rem;font-weight:700;border-right:1px solid #d8deea;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.event-edit-short-id input{border:none!important;border-radius:0!important;flex:1 1 auto;background:transparent;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.event-edit-short-id input:focus{box-shadow:none!important;outline:none}.event-edit-hint{font-weight:400;color:#687386;font-size:.8rem}.event-cover-picker{border:1px solid #d8deea;border-radius:10px;padding:10px;background:#fafbfd;display:flex;flex-direction:column;gap:10px}.event-cover-picker-row{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.event-cover-picker-preview{width:110px;height:70px;object-fit:cover;border-radius:8px;border:1px solid #d8deea;background:#f0f4f8}.event-cover-picker-preview--empty{display:flex;align-items:center;justify-content:center;color:#5a6478;font-size:.78rem;text-align:center;padding:6px}.event-cover-picker-actions{display:flex;flex-wrap:wrap;gap:6px;flex:1 1 200px}.event-cover-picker-actions button{font:inherit;padding:6px 12px;border-radius:8px;border:1px solid #d8deea;background:#fff;color:#1f2533;cursor:pointer;font-weight:600}.event-cover-picker-actions button:hover:not(:disabled){background:#eef3ff;border-color:#8ea0f0}.event-cover-picker-actions button:disabled{opacity:.6;cursor:not-allowed}.event-cover-picker-remove{color:#c1402c!important}.event-cover-picker-pane{border-top:1px solid #e1e6ee;padding-top:8px}.event-cover-picker-tabs{display:flex;align-items:center;gap:8px;margin-bottom:8px}.event-cover-picker-tabs button{background:none;border:none;padding:4px 10px;border-radius:999px;font-weight:600;font-size:.82rem;color:#5a6478;cursor:pointer}.event-cover-picker-tabs button.active{background:#4361ee;color:#fff}.event-cover-picker-tabs button:hover:not(.active){background:#eef3ff;color:#1a3aab}.event-cover-picker-close{margin-left:auto;color:#5a6478}.event-cover-picker-empty{margin:4px 0;font-size:.85rem;color:#5a6478}.event-cover-picker-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(96px,1fr));gap:6px;max-height:240px;overflow-y:auto}.event-cover-picker-tile{position:relative;padding:0;border:2px solid transparent;border-radius:8px;overflow:hidden;cursor:pointer;background:#f0f4f8;aspect-ratio:1}.event-cover-picker-tile img{width:100%;height:100%;object-fit:cover;display:block}.event-cover-picker-tile:hover:not(:disabled){border-color:#4361ee}.event-cover-picker-tile.is-current{border-color:#4361ee;box-shadow:0 0 0 1px #4361ee66}.event-cover-picker-tile:disabled{opacity:.6;cursor:not-allowed}.event-cover-picker-current{position:absolute;bottom:4px;left:4px;background:#4361ee;color:#fff;font-size:.65rem;padding:2px 6px;border-radius:4px;text-transform:uppercase;letter-spacing:.04em;font-weight:700}.feature-form textarea{grid-column:1 / 3;resize:vertical}.stacked-form{grid-template-columns:minmax(0,1fr) 180px 180px auto}.feature-form button,.row-actions button,.upload-control{border:0;border-radius:8px;padding:.75rem 1rem;background:#5168d9;color:#fff;font-weight:800;cursor:pointer}.feature-form button:disabled{opacity:.6;cursor:not-allowed}.feature-list{display:flex;flex-direction:column;gap:.75rem}.feature-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;background:#fff;border:1px solid #e1e6ef;border-radius:8px}.feature-row h2{margin:0;font-size:1rem}.feature-row p{margin:.25rem 0 0;color:#687386}.planning-card,.activity-row{background:#fff;border:1px solid #e1e6ef;border-radius:8px;padding:1rem;box-shadow:0 8px 24px #1720330f}.planning-card.is-complete{opacity:.72}.planning-card-header{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start}.poll-card-actions{display:flex;gap:.4rem;flex-shrink:0}.poll-card-edit-btn{background:#f0f4f8;border:1px solid #d8dde7;color:#1a2030}.poll-card-edit-btn:hover{background:#e1e6ee}.planning-card h2,.activity-section h2,.section-heading h2{margin:0}.planning-card p{margin:.35rem 0;color:#687386}.eyebrow{display:inline-block;margin-bottom:.35rem;color:#5168d9;font-size:.75rem;font-weight:900;text-transform:uppercase}.filter-tabs,.reaction-row,.assignee-picker,.poll-options{display:flex;flex-wrap:wrap;gap:.5rem}.filter-tabs button,.reaction-row button{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;border:1px solid #d8deea;border-radius:8px;padding:.45rem .65rem;background:#fff;cursor:pointer;color:#415066;font-weight:750}.reaction-row button:disabled{opacity:.55;cursor:default}.react-menu{position:relative;display:inline-flex;min-width:0}.react-menu-popover{position:absolute;z-index:10;bottom:calc(100% + .35rem);left:0;display:flex;gap:.25rem;border:1px solid #d8deea;border-radius:8px;padding:.3rem;background:#fff;box-shadow:0 12px 28px #17203324}.comment-reactions{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.45rem}.comment-reactions button{display:inline-flex;align-items:center;gap:.3rem;border:1px solid #d8deea;border-radius:8px;padding:.28rem .45rem;background:#fff;color:#4d5a70;font-size:.75rem;cursor:pointer}.filter-tabs button.active{border-color:#5168d9;background:#edf4ff;color:#284ea6}.engagement-panel{margin-top:1rem;border-top:1px solid #edf0f5;padding-top:.75rem}.comments-panel{display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem}.comment-row{display:flex;align-items:flex-start;gap:.55rem;padding:.35rem 0}.comment-body{flex:1;min-width:0;border-left:3px solid #d8deea;padding-left:.65rem}.comment-row p{margin:.15rem 0 0;font-size:.875rem;color:#415066}.comment-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.5rem}.comment-form input,.assignee-picker{border:1px solid #d8deea;border-radius:8px;padding:.65rem;background:#fff}.comment-form button,.poll-option{border:1px solid #d8deea;border-radius:8px;padding:.65rem .8rem;background:#f8faff}.poll-options{flex-direction:column;margin-top:1rem}.poll-option{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.65rem;align-items:center}.create-panel,.poll-create-panel{display:grid;gap:.75rem}.create-panel-toggle,.poll-create-toggle{min-height:46px;display:flex;align-items:center;justify-content:space-between;border:1px solid #d8deea;border-radius:10px;padding:.7rem .85rem;background:#fff;color:#172033;cursor:pointer;font-weight:850}.create-panel-toggle strong,.poll-create-toggle strong{width:1.7rem;height:1.7rem;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:#eef2ff;color:#5168d9;font-size:1.1rem}.create-panel-form,.poll-create-form{border:1px solid #e1e6ef;border-radius:10px;padding:.75rem;background:#fff}.poll-card{overflow:hidden}.poll-card.is-closed{background:#fbfcff}.poll-card-eyebrows{display:flex;align-items:center;flex-wrap:wrap;gap:.4rem}.poll-status-pill{display:inline-flex;align-items:center;min-height:1.35rem;border-radius:999px;padding:.15rem .5rem;background:#dcfce7;color:#166534;font-size:.7rem;font-weight:900;text-transform:uppercase}.poll-status-pill.closed,.poll-status-pill.status-closed,.poll-status-pill.status-cancelled{background:#f1f5f9;color:#64748b}.poll-status-pill.status-scheduled{background:#fef3c7;color:#92400e}.poll-status-pill.status-live{background:#dcfce7;color:#166534}.poll-source-pill{display:inline-flex;align-items:center;min-height:1.35rem;border-radius:999px;padding:.15rem .5rem;background:#e9eefe;color:#1a3aab;font-size:.7rem;font-weight:800;text-transform:uppercase;letter-spacing:.02em}.poll-source-pill.source-chat-agenda:before{content:"📜";margin-right:4px;font-size:.78rem}.poll-target-row{margin:.25rem 0 0;font-size:.85rem;color:#415066}.poll-card.is-scheduled .poll-options{opacity:.65}.poll-option-pill{position:relative;min-height:44px;overflow:hidden;border-radius:10px;background:#fff;cursor:pointer}.poll-option-pill.selected{border-color:#5168d9}.poll-option-pill.disabled{cursor:default;opacity:.84}.poll-option-fill{position:absolute;inset:0 auto 0 0;z-index:0;width:0;background:linear-gradient(90deg,rgba(102,126,234,.24),rgba(81,104,217,.12));transition:width .22s ease}.poll-option-pill input,.poll-option-label,.poll-option-pill strong{position:relative;z-index:1}.poll-option-label{min-width:0;overflow:hidden;text-overflow:ellipsis}.creator-card{width:fit-content;max-width:100%;min-height:40px;display:inline-flex;align-items:center;gap:.5rem;border:1px solid #e1e6ef;border-radius:10px;padding:.35rem .55rem .35rem .35rem;background:#fbfcff;color:#172033}.creator-card--button{cursor:pointer;font:inherit;text-align:left;transition:border-color .15s,background .15s,transform .1s}.creator-card--button:hover{border-color:#b9c3d4;background:#f8faff}.creator-card--button:active{transform:scale(.99)}.creator-card span{display:grid;gap:.02rem;min-width:0}.creator-card em{color:#687386;font-size:.68rem;font-style:normal;font-weight:800;line-height:1;text-transform:uppercase}.creator-card strong{overflow:hidden;color:#172033;font-size:.84rem;line-height:1.15;text-overflow:ellipsis;white-space:nowrap}.poll-meta-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;margin-top:.5rem}.activity-section,.stats-grid{margin-top:1rem}.home-pinned-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.home-item-section{gap:.85rem;justify-content:flex-start;min-height:220px}.home-item-section__header{display:flex;justify-content:space-between;gap:.75rem;align-items:center}.home-item-section__header button{border:1px solid #d8deea;border-radius:8px;padding:.4rem .6rem;background:#f8faff;color:#5168d9;font-weight:800;cursor:pointer}.home-hub-list{display:flex;flex-direction:column;gap:.55rem}.home-hub-card{width:100%;min-width:0;display:flex;flex-direction:column;gap:.25rem;border:1px solid #e1e6ef;border-radius:8px;padding:.7rem;background:#fff;text-align:left;color:#172033;cursor:pointer;overflow:hidden;transition:border-color .15s,box-shadow .15s}.home-hub-card:hover{border-color:#b9c3d4;box-shadow:0 8px 18px #17203314}.home-hub-card.has-cover{padding:0;background:transparent}.home-hub-card__cover{width:100%;height:120px;object-fit:cover;display:block}.home-hub-card__content{display:flex;flex-direction:column;gap:.25rem;padding:.7rem;background:#fff}.home-hub-card.has-cover .home-hub-card__content{border-top:1px solid #e1e6ef}.home-hub-card__eyebrow{color:#5168d9;font-size:.72rem;font-weight:900;text-transform:uppercase}.home-hub-card strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-hub-card p,.home-hub-card__meta{margin:0;color:#687386;font-size:.85rem;line-height:1.35}.home-hub-card p{display:-webkit-box;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical}.home-hub-card__tags{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.1rem}.home-hub-card__tags em{border-radius:999px;padding:.15rem .4rem;background:#edf4ff;color:#284ea6;font-size:.75rem;font-style:normal;font-weight:800}.section-heading{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem;color:#687386}.activity-list{display:flex;flex-direction:column;gap:.5rem;max-height:320px;overflow-y:auto;padding-right:.25rem;scrollbar-width:thin;scrollbar-color:#d1d8e0 transparent}.activity-row{display:flex;gap:.55rem;align-items:center}.activity-group-card{display:flex;align-items:flex-start;gap:.6rem;width:100%;text-align:left;padding:.65rem .75rem;border:1px solid #eef2f6;border-radius:8px;background:#fff;cursor:pointer;font:inherit;color:inherit;transition:background .12s,border-color .12s}.activity-group-card:hover{background:#f8faff;border-color:#d0d8e4}.activity-group-avatars{display:flex;flex-direction:column;gap:2px;flex-shrink:0;padding-top:1px}.activity-group-body{flex:1;min-width:0}.activity-group-header{display:flex;align-items:center;gap:.45rem;flex-wrap:wrap;margin-bottom:.2rem}.activity-group-tag{font-size:.7rem;font-weight:800;font-family:monospace;padding:.12rem .4rem;border-radius:4px;flex-shrink:0}.activity-group-name{font-size:.85rem;font-weight:600;color:#172033;flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.activity-group-time{font-size:.75rem;color:#9aa4b2;flex-shrink:0;margin-left:auto}.activity-group-line{margin:0;font-size:.78rem;color:#687386;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.placeholder-panel.compact{min-height:auto;padding:1rem}.back-link-button{align-self:flex-start;border:1px solid #d8deea;border-radius:8px;padding:.55rem .75rem;background:#fff;color:#5168d9;font-weight:800;cursor:pointer}.event-detail-card{display:flex;flex-direction:column;gap:1rem}.event-cover-photo,.event-card-cover{width:100%;object-fit:cover;background:#edf0f5}.event-cover-photo{max-height:340px;border-radius:8px;display:block}.event-cover-frame{position:relative;width:100%;height:340px;border-radius:8px;overflow:hidden;background:#edf0f5}.event-cover-frame .event-cover-photo{width:100%;height:100%;max-height:none;border-radius:0}.event-cover-frame.is-repositioning{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none}.event-cover-frame.is-repositioning:active{cursor:grabbing}.event-cover-frame.is-repositioning:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;border:2px dashed rgba(255,255,255,.85);border-radius:8px;box-shadow:inset 0 0 0 9999px #0f16262e;pointer-events:none}.event-cover-reposition-btn{position:absolute;top:.75rem;right:.75rem;padding:.4rem .75rem;border-radius:999px;border:none;background:rgba(15,22,38,.7);color:#fff;font-weight:700;font-size:.8rem;cursor:pointer}.event-cover-reposition-btn:hover{background:rgba(15,22,38,.85)}.event-cover-reposition-hint{position:absolute;top:.75rem;left:50%;transform:translate(-50%);padding:.3rem .7rem;border-radius:999px;background:rgba(15,22,38,.8);color:#fff;font-size:.78rem;font-weight:700;pointer-events:none}.event-cover-reposition-actions{position:absolute;bottom:.75rem;right:.75rem;display:flex;gap:.5rem}.event-cover-reposition-actions button{padding:.45rem .85rem;border-radius:8px;border:none;font-weight:700;font-size:.85rem;cursor:pointer}.event-cover-reposition-cancel{background:rgba(255,255,255,.9);color:#172033}.event-cover-reposition-save{background:#5168d9;color:#fff}.event-cover-reposition-actions button:disabled{opacity:.6;cursor:not-allowed}.event-card-cover{max-height:180px;border-radius:8px;margin-bottom:.75rem}.event-list-card{display:grid;gap:.85rem}.event-list-card__header{align-items:stretch}.event-list-card__content{min-width:0;display:grid;gap:.45rem}.event-list-card__content h2{line-height:1.15}.event-list-card__content p{margin:0}.event-list-actions{min-width:11rem;display:grid;gap:.5rem;align-content:start}.event-open-btn{min-height:38px;border:1px solid #d8deea;border-radius:8px;padding:.55rem .75rem;background:#fff;color:#5168d9;font-weight:850;cursor:pointer}.event-open-btn:hover{border-color:#b8c2f3;background:#f7f8ff}.event-detail-title-row{display:flex;align-items:center;gap:.75rem;margin-bottom:.25rem}.event-detail-header h1{margin:0;color:#172033;flex:1}.event-detail-header p{margin-top:.5rem}.event-edit-toggle-btn{flex-shrink:0;padding:.3rem .85rem;border:1px solid #d1d8e0;border-radius:7px;background:#fff;color:#415066;font-size:.8rem;font-weight:700;cursor:pointer;transition:background .12s,border-color .12s}.event-edit-toggle-btn:hover{background:#f0f4f8}.event-edit-toggle-btn.active{background:#f0f4f8;border-color:#9aa4b2;color:#172033}.event-creator-line{margin:0 0 .5rem;font-size:.85rem;color:#9aa4b2}.event-creator-link{background:none;border:none;padding:0;font:inherit;font-size:inherit;color:#5168d9;cursor:pointer;font-weight:600}.event-creator-link:hover{text-decoration:underline}.map-link{display:inline-flex;width:fit-content;color:#5168d9;font-weight:800;text-decoration:none}.map-link:hover{text-decoration:underline}.event-tags-form,.event-post-form{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.6rem;align-items:end}.event-tags-form label{display:flex;flex-direction:column;gap:.35rem;color:#687386;font-size:.85rem;font-weight:800}.event-tags-form input,.event-post-form textarea{width:100%;border:1px solid #d8deea;border-radius:8px;padding:.7rem;background:#fff;color:#172033;font:inherit}.event-post-form textarea{resize:vertical}.event-tags-form button,.event-post-form button{border:0;border-radius:8px;padding:.7rem 1rem;background:#5168d9;color:#fff;font-weight:800;cursor:pointer}.event-tags-form button:disabled,.event-post-form button:disabled{opacity:.65;cursor:not-allowed}.event-detail-section{border-top:1px solid #edf0f5;padding-top:1rem}.event-detail-section h2{margin:0 0 .5rem;font-size:1rem}.event-detail-actions{margin-top:.75rem}.event-invites{display:flex;flex-wrap:wrap;gap:.45rem;color:#687386}.event-invites strong{color:#172033}.event-edit-panel{display:flex;flex-direction:column;gap:.85rem}.event-edit-form{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.6rem}.event-edit-form input,.event-edit-form textarea{width:100%;border:1px solid #d8deea;border-radius:8px;padding:.7rem;background:#fff;color:#172033;font:inherit}.event-edit-form textarea,.event-invite-picker,.event-edit-form button{grid-column:1 / -1}.event-invite-picker{display:flex;flex-wrap:wrap;gap:.5rem;border:1px solid #d8deea;border-radius:8px;padding:.65rem;background:#fff}.event-invite-picker label{display:inline-flex;align-items:center;gap:.35rem}.event-edit-form button{border:0;border-radius:8px;padding:.7rem 1rem;background:#5168d9;color:#fff;font-weight:800;cursor:pointer}.event-post-list{display:flex;flex-direction:column;gap:.75rem;margin-top:.85rem}.event-photo-upload{display:inline-flex;width:fit-content;margin-bottom:.85rem}.event-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:.75rem}.event-photo-card{border:1px solid #e1e6ef;border-radius:8px;padding:.5rem;background:#fff}.event-photo-card img{width:100%;aspect-ratio:1;border-radius:6px;object-fit:cover;display:block}.event-photo-card span{display:block;margin-top:.4rem;color:#687386;font-size:.78rem;font-weight:800}.event-photo-card button{width:100%;margin-top:.45rem;border:1px solid #d8deea;border-radius:8px;padding:.45rem;background:#f8faff;color:#5168d9;font-weight:800;cursor:pointer}.event-photo-card-actions{display:flex;flex-direction:column;gap:.35rem}.event-photo-card-actions button{margin-top:0}.event-photo-cover-badge{display:inline-block!important;margin-top:.4rem;padding:.15rem .5rem;background:#5168d9;color:#fff!important;border-radius:999px;font-size:.7rem!important;font-weight:800;letter-spacing:.04em;text-transform:uppercase}.event-photo-delete-btn{background:#fff5f5!important;border-color:#f5c2c2!important;color:#c93333!important}.event-photo-delete-btn:hover{background:#ffe5e5!important}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(15,22,38,.55);display:flex;align-items:center;justify-content:center;z-index:100;padding:1rem}.modal-card{background:#fff;border-radius:14px;padding:1.25rem 1.4rem;max-width:380px;width:100%;box-shadow:0 20px 50px #0f162640}.modal-card h3{margin:0 0 .4rem;color:#172033}.modal-card p{margin:0 0 .85rem;color:#4a5468;font-size:.92rem}.confirm-delete-modal__preview{width:100%;max-height:180px;object-fit:cover;border-radius:8px;margin-bottom:.85rem}.confirm-delete-modal__actions{display:flex;justify-content:flex-end;gap:.5rem}.confirm-delete-modal__actions button{border-radius:8px;padding:.5rem .95rem;font-weight:800;cursor:pointer;border:1px solid #d8deea}.confirm-delete-modal__cancel{background:#f8faff;color:#5168d9}.confirm-delete-modal__delete{background:#c93333;border-color:#c93333;color:#fff}.confirm-delete-modal__delete:disabled,.confirm-delete-modal__cancel:disabled{opacity:.6;cursor:not-allowed}.event-post-card{border:1px solid #e1e6ef;border-radius:8px;padding:.85rem;background:#fbfcff}.event-post-card__header{display:flex;justify-content:space-between;gap:.75rem;color:#687386;font-size:.85rem}.event-post-card__header strong{color:#172033}.event-post-card p{margin:.55rem 0 0;color:#172033;white-space:pre-wrap}.event-rsvp-breakdown{display:grid;gap:.75rem;margin-top:.75rem}.event-rsvp-breakdown--list{margin-top:0}.event-rsvp-chart{display:grid;gap:.45rem}.event-rsvp-bar{display:grid;grid-template-columns:58px minmax(0,1fr) 2.2rem;align-items:center;gap:.55rem;width:100%;min-height:40px;border:1px solid #d8deea;border-radius:9px;padding:.45rem .55rem;background:#fff;color:#172033;cursor:pointer;font:inherit;text-align:left}.event-rsvp-bar.active{border-color:#5168d9;background:#f4f6ff}.event-rsvp-bar__label{font-size:.82rem;font-weight:850}.event-rsvp-bar__track{height:.55rem;overflow:hidden;border-radius:999px;background:#edf1f7}.event-rsvp-bar__track span{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,#667eea,#5168d9);transition:width .2s ease}.event-rsvp-bar strong{justify-self:end;color:#5168d9;font-size:.9rem}.event-rsvp-voters{border:1px solid #edf0f5;border-radius:9px;padding:.65rem;background:#fbfcff}.event-rsvp-voters>strong{display:block;margin-bottom:.45rem;font-size:.85rem}.event-rsvp-voters p{margin:0;color:#687386;font-size:.85rem}.event-rsvp-voter-list{display:flex;flex-wrap:wrap;gap:.4rem}.event-rsvp-voter{min-height:34px;display:inline-flex;align-items:center;gap:.35rem;border:1px solid #d8deea;border-radius:999px;padding:.2rem .55rem .2rem .25rem;background:#fff;color:#172033;font:inherit}.event-rsvp-voter img,.event-rsvp-voter span{width:24px;height:24px;border-radius:999px}.event-rsvp-voter img{object-fit:cover}.event-rsvp-voter span{display:inline-flex;align-items:center;justify-content:center;background:#667eea;color:#fff;font-size:.75rem;font-weight:850}.event-rsvp-voter em{font-size:.8rem;font-style:normal;font-weight:750}.event-rsvp-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;margin-top:.85rem}.event-rsvp-actions--compact{margin-top:0}.event-rsvp-actions button{min-height:44px;border:1px solid #d8deea;border-radius:10px;padding:.65rem .45rem;background:#fff;color:#415066;font-weight:850;cursor:pointer}.event-rsvp-actions button.active{border-color:#5168d9;background:#5168d9;color:#fff}.event-rsvp-actions--compact button{min-height:38px;border-radius:8px;padding:.5rem .45rem;background:#fff}.event-rsvp-actions--compact button.active{background:#5168d9;color:#fff}@media (max-width: 980px){.home-pinned-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width: 560px){.home-pinned-grid,.event-tags-form,.event-post-form,.event-edit-form{grid-template-columns:1fr}}.row-actions{display:flex;align-items:center;gap:.5rem;white-space:nowrap}.row-actions span{color:#687386;font-size:.9rem}.calendar-layout{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);gap:1rem;align-items:start}.calendar-panel,.day-summary{background:#fff;border:1px solid #e1e6ef;border-radius:8px;padding:1rem}.calendar-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:1rem}.calendar-toolbar-actions{display:flex;gap:.5rem}.calendar-toolbar h2,.day-summary h2,.day-event-card h3{margin:0;color:#172033}.calendar-toolbar h2{font-size:1.15rem}.calendar-toolbar button{border:1px solid #d8deea;border-radius:8px;padding:.55rem .8rem;background:#f8faff;color:#172033;font-weight:800;cursor:pointer}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr))}.calendar-weekdays{gap:.4rem;margin-bottom:.4rem;color:#687386;font-size:.78rem;font-weight:800;text-align:center}.calendar-grid{gap:.4rem}.calendar-day{display:flex;flex-direction:column;gap:.42rem;min-height:104px;overflow:hidden;border:1px solid #dfe5ef;border-radius:8px;padding:.55rem;background:#fff;color:#172033;text-align:left;cursor:pointer}.calendar-day-header{display:flex;align-items:center;justify-content:space-between;gap:.35rem;min-width:0}.calendar-day:hover{border-color:#5168d9}.calendar-day.is-muted{background:#f7f9fd;color:#8a94a6}.calendar-day.is-selected{border-color:#5168d9;box-shadow:0 0 0 2px #5168d92e}.calendar-day.is-today .calendar-day-number{display:inline-flex;align-items:center;justify-content:center;width:1.8rem;height:1.8rem;border-radius:999px;background:#172033;color:#fff}.calendar-day-number{font-weight:900}.calendar-day-intensity{width:.48rem;height:.48rem;flex:0 0 auto;border-radius:999px;background:#5168d9;box-shadow:0 0 0 3px #5168d91f}.calendar-day-events{display:flex;min-width:0;flex-direction:column;gap:.2rem;color:#687386;font-size:.74rem}.calendar-day-metrics,.day-summary-counts{display:flex;flex-wrap:wrap;gap:.25rem}.calendar-day-metrics span,.day-summary-counts span{border-radius:999px;background:#f1f4f9;color:#4d5a70;font-size:.7rem;font-weight:800}.calendar-day-metrics span{padding:.13rem .42rem}.calendar-day-metrics .metric--messages{background:#edf4ff;color:#284ea6}.calendar-day-metrics .metric--photos{background:#eaf7ef;color:#17633a}.calendar-day-metrics .metric--plans{background:#fff4d8;color:#845200}.calendar-day-signals{display:flex;align-items:center;gap:.26rem;min-height:.45rem}.signal{width:.42rem;height:.42rem;border-radius:999px}.signal--messages{background:#5168d9}.signal--photos{background:#2f9e5d}.signal--plans{background:#d18a00}.calendar-day-events:empty{display:none}.day-summary-counts{margin-top:.65rem}.day-summary-counts span{padding:.25rem .5rem}.calendar-day-events span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.day-summary{position:sticky;top:1rem}.day-summary-header{border-bottom:1px solid #e1e6ef;padding-bottom:.75rem}.day-summary-header span,.day-event-time,.day-event-rsvps{color:#687386;font-size:.86rem;font-weight:800}.day-event-list{display:flex;flex-direction:column;gap:.75rem;margin-top:.75rem}.day-section{margin-top:1rem}.day-section h3,.day-event-list h3{margin:0 0 .6rem;color:#172033;font-size:.95rem}.day-message-list{display:flex;max-height:min(360px,42vh);flex-direction:column;gap:.6rem;overflow:auto;padding-right:.2rem}.day-message{width:100%;border:1px solid #e1e6ef;border-radius:8px;padding:.75rem;background:#fbfcff;color:inherit;text-align:left;cursor:pointer}.day-message:hover{border-color:#5168d9;background:#f8faff}.day-message div{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem}.day-message strong{color:#172033}.day-message span{color:#687386;font-size:.78rem;font-weight:800;white-space:nowrap}.day-message p{margin:.35rem 0 0;color:#344057;overflow-wrap:anywhere}.day-photo-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem}.day-photo-card{overflow:hidden;border:1px solid #e1e6ef;border-radius:8px;background:#fbfcff}.day-photo-card img{display:block;width:100%;aspect-ratio:1;object-fit:cover}.day-photo-card span{display:block;overflow:hidden;padding:.45rem;color:#687386;font-size:.75rem;text-overflow:ellipsis;white-space:nowrap}.day-event-card{display:flex;min-width:0;flex-direction:column;gap:.85rem;border:1px solid #e1e6ef;border-radius:8px;padding:.9rem;background:#fbfcff;cursor:pointer;transition:border-color .15s ease,box-shadow .15s ease}.day-event-card:hover{border-color:#5168d9;box-shadow:0 8px 24px #5168d91f}.day-event-card__top{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;min-width:0}.day-event-card__body{display:flex;min-width:0;flex-direction:column;gap:.35rem}.day-event-card h3{margin:0;font-size:1rem}.day-event-card p{margin:0;color:#687386;overflow-wrap:anywhere}.day-event-owner{color:#687386;font-size:.8rem;font-weight:800}.day-event-actions{flex-wrap:wrap;gap:.45rem;white-space:normal}.day-event-actions button{flex:1 1 calc(33.333% - .45rem);min-width:5.25rem;padding:.65rem .75rem}.day-event-card .engagement-panel{margin-top:0;padding-top:.75rem}.day-event-card .reaction-row{gap:.4rem}.day-event-card .reaction-row button{flex:1 1 3.2rem;min-width:0;padding:.45rem .5rem}.day-event-card .comment-form{grid-template-columns:minmax(0,1fr) auto}.day-event-card .comment-form input{min-width:0}.placeholder-panel.compact{margin-top:.75rem;min-height:140px}.upload-control{display:inline-flex;align-self:flex-start}.upload-control input{display:none}.photo-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.75rem}.folder-select,.folder-form{display:flex;align-items:center;gap:.5rem}.folder-select span{color:#687386;font-weight:700}.folder-select select,.folder-form input{min-height:42px;border:1px solid #d6ddea;border-radius:8px;padding:0 .75rem;font:inherit;background:#fff;color:#0b1f3d}.folder-form button{min-height:42px}.photos-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem}.photo-card{overflow:hidden;padding:0;background:#fff;border:1px solid #e1e6ef;border-radius:8px;color:inherit;cursor:zoom-in;font:inherit;text-align:left}.photo-card:hover{border-color:#9fb2d0}.hub-item-meta{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:.55rem;margin-bottom:.55rem}.hub-item-meta__line,.hub-item-meta__actions{display:flex;flex-wrap:wrap;align-items:center;gap:.4rem}.hub-item-meta__actions{justify-content:flex-end}.hub-item-meta__line strong{color:#0b1f3d;font-size:.82rem}.hub-item-meta__line span,.hub-item-meta__line em{border-radius:999px;background:#eef4ff;color:#436187;font-size:.72rem;font-style:normal;font-weight:800;padding:.18rem .45rem;text-transform:uppercase}.hub-btn{display:inline-flex;align-items:center;border-radius:6px;font-size:.78rem;font-weight:700;padding:.25rem .6rem;min-height:28px;cursor:pointer;transition:background .15s,opacity .15s;white-space:nowrap}.hub-btn--pin{border:1px solid #d1d8e0;background:transparent;color:#415066}.hub-btn--pin:hover{background:#f0f4f8}.hub-btn--send{border:0;background:#667eea;color:#fff}.hub-btn--send:hover:not(:disabled){background:#5168d9}.hub-btn--send:disabled{opacity:.6;cursor:not-allowed}.hub-btn--sent{background:#22c55e}.hub-item-send-error{font-size:.75rem;color:#e74c3c}.photo-card img{display:block;width:100%;aspect-ratio:1;object-fit:cover}.photo-card p{margin:0;padding:.75rem .75rem .25rem;color:#687386;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.photo-card span{display:block;padding:0 .75rem .75rem;color:#8a94a6;font-size:.85rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inline-error,.inline-notice{padding:.8rem 1rem;border-radius:8px}.inline-error{background:#ffe9e9;color:#9f2020}.inline-notice{background:#edf4ff;color:#284ea6}@media (max-width: 760px){.feature-form,.stacked-form{grid-template-columns:1fr}.feature-form textarea{grid-column:auto}.feature-row,.row-actions{align-items:flex-start;flex-direction:column}.calendar-layout{grid-template-columns:1fr}.calendar-panel,.day-summary{padding:.75rem}.day-summary{position:static}.calendar-toolbar h2{font-size:1rem}.calendar-toolbar button{padding:.5rem .65rem}.calendar-toolbar-actions{gap:.35rem}.calendar-grid{gap:.28rem}.calendar-weekdays{gap:.28rem;font-size:.68rem}.calendar-day{min-height:76px;padding:.4rem}.calendar-day-count,.calendar-day-metrics,.calendar-day-events{display:none}.day-event-card,.planning-card-header{flex-direction:column}.event-list-actions{width:100%;min-width:0}.event-open-btn{width:100%}}.home-dashboard{display:flex;flex-direction:column;gap:var(--layout-page-gap);width:min(100%,var(--layout-content-max))}.home-cover-header{position:relative;display:block;width:100%;min-height:150px;border-radius:14px;overflow:hidden;background:linear-gradient(135deg,#2a3a78 0%,#5168d9 100%);color:#fff;box-shadow:0 10px 28px #1720331f}.home-cover-header.has-cover{background:#0b1220}.home-cover-header__image{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;object-fit:cover;display:block}.home-cover-header__overlay{position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(180deg,rgba(7,15,30,.05) 0%,rgba(7,15,30,.55) 100%);pointer-events:none}.home-cover-header.has-cover .home-cover-header__overlay{background:linear-gradient(180deg,rgba(7,15,30,.15) 0%,rgba(7,15,30,.65) 100%)}.home-cover-header__content{position:relative;z-index:1;padding:1.1rem 1.1rem 1rem;display:flex;flex-direction:column;gap:.3rem;min-height:150px;justify-content:flex-end;align-items:flex-start}.home-cover-header__title{margin:0;font-size:1.55rem;line-height:1.05;color:#fff;text-shadow:0 2px 8px rgba(7,15,30,.4)}.home-cover-header__subtitle{margin:0;font-size:.85rem;color:#ffffffeb;font-weight:700;text-shadow:0 1px 6px rgba(7,15,30,.35)}.home-cover-header__pinned{display:inline-flex;align-items:center;gap:.35rem;max-width:100%;margin:.25rem 0 0;border:1px solid rgba(255,255,255,.35);border-radius:999px;padding:.3rem .7rem;background:rgba(7,15,30,.35);color:#fff;font-size:.78rem;font-weight:700;cursor:pointer}.home-cover-header__pinned:hover{background:rgba(7,15,30,.55)}.home-cover-header__pinned-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:80vw}.home-cover-header__actions{position:absolute;top:.6rem;right:.65rem;z-index:2;display:inline-flex;gap:.4rem}.home-cover-header__icon-btn{width:2rem;height:2rem;display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:999px;background:rgba(7,15,30,.5);color:#fff;font-size:1rem;cursor:pointer}.home-cover-header__icon-btn:hover{background:rgba(7,15,30,.75)}.cover-photo-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(7,15,30,.85);z-index:1000;display:flex;align-items:center;justify-content:center;padding:2rem;cursor:zoom-out}.cover-photo-modal-image{max-width:100%;max-height:100%;object-fit:contain;border-radius:8px;box-shadow:0 12px 36px #00000080;cursor:default}.cover-photo-modal-close{position:absolute;top:1rem;right:1rem;width:2.5rem;height:2.5rem;border:0;border-radius:999px;background:rgba(255,255,255,.15);color:#fff;font-size:1.5rem;cursor:pointer;display:inline-flex;align-items:center;justify-content:center}.cover-photo-modal-close:hover{background:rgba(255,255,255,.3)}.dashboard-section{background:#fff;border:1px solid #e1e6ef;border-radius:8px;padding:1rem;box-shadow:0 8px 24px #1720330f}.home-layout{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--layout-page-gap);align-items:start}.mobile-home-dashboard{display:none}.home-layout>.home-cover-header{grid-column:1 / -1}.home-chat-section,.home-activity-section,.home-needs-section{grid-column:auto;grid-row:auto}.home-main-column{display:grid;gap:var(--layout-page-gap);min-width:0}.home-pinned-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;background:none;border:none;padding:0;cursor:pointer;text-align:left;color:inherit;font:inherit}.home-pinned-toggle h2{margin:0}.home-pinned-meta{display:flex;align-items:center;gap:.4rem;font-size:.85rem;color:#64748b}.home-pinned-chevron{display:inline-block;transition:transform .2s;font-size:1rem}.home-pinned-chevron.open{transform:rotate(180deg)}.chat-messages-list{display:flex;flex-direction:column;gap:.65rem;max-height:420px;overflow-y:auto;padding-right:.25rem;scrollbar-width:thin;scrollbar-color:#d1d8e0 transparent}.chat-message-item{display:flex;align-items:flex-start;gap:.75rem;width:100%;text-align:left;padding:.8rem;margin:0;border:none;background:transparent;cursor:pointer;border-radius:6px;transition:background .15s;color:inherit;font:inherit}.chat-message-body{flex:1;min-width:0}.chat-message-item:hover{background:#f8faff}.chat-message-header{display:flex;justify-content:space-between;gap:.5rem;align-items:baseline;margin-bottom:.25rem}.chat-message-header strong{color:#172033;font-size:.95rem;font-weight:700}.chat-message-time{color:#8a94a6;font-size:.8rem;font-weight:600;white-space:nowrap}.chat-message-text{margin:0;color:#687386;font-size:.9rem;line-height:1.45;word-break:break-word;display:-webkit-box;overflow:hidden;-webkit-line-clamp:2;-webkit-box-orient:vertical}.activity-carousel{position:relative;min-height:260px;border-radius:12px;background:linear-gradient(155deg,#1f2a44 0%,#2d3a5a 60%,#4f5a7d 100%);overflow:hidden;padding:1.5rem 3rem 1.25rem;color:#fff}.activity-carousel-progress{position:absolute;top:.5rem;left:.75rem;right:.75rem;display:flex;gap:4px;z-index:2}.activity-carousel-progress-bar{flex:1;height:3px;border-radius:2px;background:rgba(255,255,255,.25);transition:background .2s}.activity-carousel-progress-bar.active{background:#fff}.activity-carousel-card{background:none;border:0;color:inherit;font:inherit;text-align:left;width:100%;display:flex;flex-direction:column;gap:.75rem;padding:.5rem 0;cursor:pointer;min-height:220px}.activity-carousel-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.activity-carousel-header .activity-group-tag{font-size:.75rem;font-weight:700;padding:.2rem .55rem;border-radius:999px;text-transform:uppercase;letter-spacing:.04em}.activity-carousel-header .activity-group-time{color:#ffffffbf;font-size:.8rem;font-weight:600}.activity-carousel-title{margin:0;font-size:1.4rem;line-height:1.25;font-weight:700;color:#fff;word-break:break-word}.activity-carousel-actors{display:flex;gap:.35rem;flex-wrap:wrap}.activity-carousel-line{margin:0;font-size:.95rem;line-height:1.5;color:#ffffffeb;word-break:break-word}.activity-carousel-nav{position:absolute;top:50%;transform:translateY(-50%);width:2.25rem;height:2.25rem;border-radius:999px;border:0;background:rgba(0,0,0,.35);color:#fff;font-size:1.4rem;line-height:1;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;z-index:3}.activity-carousel-nav:hover{background:rgba(0,0,0,.55)}.activity-carousel-nav.prev{left:.5rem}.activity-carousel-nav.next{right:.5rem}.activity-carousel-counter{position:absolute;bottom:.5rem;right:.85rem;font-size:.75rem;color:#ffffffb3;font-weight:600;z-index:2}.home-needs-section{padding:1.25rem 1rem;min-width:0}.home-needs-section h2{margin:0 0 1rem;font-size:1rem;color:#172033}.upcoming-block{display:grid;gap:.55rem;margin-bottom:1.25rem}.upcoming-block:last-child{margin-bottom:0}.upcoming-block-title{margin:0;font-size:.85rem;color:#687386;font-weight:800;text-transform:uppercase}.upcoming-block-header{display:flex;align-items:center;justify-content:space-between;gap:.75rem}.upcoming-block-header button{border:1px solid #d8deea;border-radius:999px;padding:.25rem .55rem;background:#fff;color:#5168d9;font-size:.72rem;font-weight:800;cursor:pointer}.upcoming-items{display:flex;flex-direction:column;gap:.5rem}.upcoming-items .placeholder-panel.compact{min-height:auto;margin-top:0;padding:.75rem;justify-content:flex-start;font-size:.84rem}.home-hub-card.compact{padding:.7rem}.home-hub-card.compact.has-cover{display:grid;grid-template-columns:72px minmax(0,1fr);align-items:stretch;min-height:72px;padding:0}.home-hub-card.compact .home-hub-card__cover{width:72px;height:100%;min-height:72px}.home-hub-card.compact.has-cover .home-hub-card__content{border-top:0;border-left:1px solid #e1e6ef}.home-hub-card.compact .home-hub-card__eyebrow{font-size:.7rem}.home-hub-card.compact strong{font-size:.95rem;line-height:1.2}.home-hub-card.compact .home-hub-card__meta{font-size:.8rem}.view-all-btn{border:1px solid #d8deea;border-radius:6px;padding:.4rem .65rem;background:#fff;color:#5168d9;font-weight:700;font-size:.85rem;cursor:pointer;transition:background .15s}.view-all-btn:hover{background:#f8faff}.calendar-page{display:flex;flex-direction:column;gap:.75rem}.calendar-compact{background:#fff;border:1px solid #e1e6ef;border-radius:8px;padding:1rem;flex:0 0 auto}.calendar-compact .calendar-toolbar{margin-bottom:.75rem}.calendar-compact .calendar-toolbar h2{font-size:.95rem}.calendar-compact .calendar-day{min-height:auto;padding:.45rem;font-size:.85rem;gap:.25rem}.calendar-compact .calendar-day-number{font-size:.9rem}.calendar-day-dot{width:.4rem;height:.4rem;border-radius:999px;background:#5168d9;flex:0 0 auto;margin-left:auto}.calendar-tabs{display:flex;gap:.5rem;background:#fff;border:1px solid #e1e6ef;border-radius:8px;padding:.5rem;flex:0 0 auto}.tab{flex:1;border:1px solid transparent;border-radius:6px;padding:.7rem 1rem;background:transparent;color:#687386;font-weight:700;cursor:pointer;transition:all .2s ease;font-size:.95rem}.tab:hover{background:#f7f9fd;color:#172033}.tab.is-active{border-color:#5168d9;background:#eef2ff;color:#5168d9}.calendar-tab-content{display:flex;flex-direction:column;gap:1rem;flex:1 1 auto;min-height:0}.tab-pane{display:flex;flex-direction:column;gap:1rem}@media (min-width: 1024px){.calendar-page{display:grid;grid-template-rows:auto auto auto 1fr;gap:1rem}.calendar-compact{grid-column:1;grid-row:1}.calendar-tabs{display:none}.calendar-tab-content{display:grid;grid-template-columns:1fr 1fr;gap:1rem;grid-row:2 / 4}.tab-pane{display:contents}.tab-pane:nth-child(2){grid-column:1}.tab-pane:nth-child(3){grid-column:2}}@media (max-width: 767px){.home-dashboard{gap:0;height:calc(100dvh - 7.75rem);min-height:0;overflow:hidden}.home-dashboard>.page-header{display:none}.desktop-home-dashboard{display:none}.mobile-home-dashboard{display:grid;grid-template-rows:auto minmax(0,1.12fr) minmax(212px,.88fr);gap:.65rem;height:100%;min-height:0}.mobile-home-dashboard .home-cover-header{min-height:150px;border-radius:12px}.mobile-home-dashboard .home-cover-header__content{min-height:150px;padding:.9rem .95rem .85rem}.mobile-home-dashboard .home-cover-header__title{font-size:1.35rem}.mobile-home-dashboard .dashboard-section{min-height:0;min-width:0;border-radius:12px;padding:.75rem;box-shadow:0 10px 28px #17203314;overflow:hidden}.mobile-home-dashboard .home-activity-section{min-width:0}.mobile-home-dashboard .home-chat-section{display:flex;flex-direction:column;grid-column:auto;grid-row:auto;overflow:hidden}.mobile-home-dashboard .section-heading{flex-shrink:0;margin-bottom:.45rem}.mobile-home-dashboard .section-heading h2{font-size:.95rem}.mobile-home-dashboard .view-all-btn{min-height:34px;border-radius:999px;padding:.35rem .7rem;font-size:.78rem}.mobile-home-dashboard .chat-messages-list{flex:1;min-height:0;max-height:none;gap:.2rem;padding:.1rem .15rem .15rem 0;overflow-y:auto}.mobile-home-dashboard .chat-message-item{align-items:center;min-height:50px;gap:.55rem;margin:0;padding:.42rem;border-radius:9px}.mobile-home-dashboard .chat-message-header{margin-bottom:.05rem}.mobile-home-dashboard .chat-message-header strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.86rem}.mobile-home-dashboard .chat-message-time{font-size:.7rem}.mobile-home-dashboard .chat-message-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.8rem;line-height:1.25}.mobile-home-lower{display:grid;grid-template-rows:1fr;min-height:0;overflow:hidden;border-radius:12px;background:#fff;box-shadow:0 10px 28px #17203314}.mobile-home-lower .whats-happening-feed{border-radius:12px;padding:.9rem;min-height:0;overflow:hidden}.mobile-home-lower .feed-title{font-size:1.1rem}.mobile-home-lower .feed-subtitle{font-size:.8rem}.mobile-home-lower .feed-filters{gap:.5rem}.mobile-home-lower .feed-filter-chip{height:26px;padding:0 .7rem;font-size:.75rem}.mobile-home-lower .feed-cards{gap:.7rem}.mobile-home-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-template-rows:repeat(2,minmax(0,1fr));gap:.6rem;height:100%}.mobile-home-card{min-width:0;min-height:0;display:grid;grid-template-columns:34px minmax(0,1fr);align-items:center;gap:.55rem;border:1px solid #e1e6ef;border-radius:12px;padding:.65rem;background:#fff;color:#172033;text-align:left;cursor:pointer;box-shadow:0 8px 22px #1720330f;transition:transform .16s ease,border-color .16s ease,box-shadow .16s ease}.mobile-home-card:active{transform:scale(.98)}.mobile-home-card__icon{width:34px;height:34px;display:inline-flex;align-items:center;justify-content:center;border-radius:10px;background:#eef2ff;color:#5168d9;font-size:1rem;font-weight:900}.mobile-home-card__body{display:grid;gap:.08rem;min-width:0}.mobile-home-card__body strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;line-height:1.1}.mobile-home-card__body span{color:#5168d9;font-size:.74rem;font-weight:800}.mobile-home-card__body em{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#687386;font-size:.72rem;font-style:normal}.mobile-home-detail-panel{display:grid;grid-template-rows:auto minmax(0,1fr);height:100%;min-height:0;border:1px solid #e1e6ef;border-radius:12px;background:#fff;box-shadow:0 10px 28px #17203314;overflow:hidden;animation:mobile-home-panel-in .18s ease-out}.mobile-home-detail-header{display:grid;grid-template-columns:38px 34px minmax(0,1fr) 38px;align-items:center;gap:.45rem;padding:.55rem;border-bottom:1px solid #eef2f6}.mobile-home-detail-header button{width:38px;height:38px;border:1px solid #d8deea;border-radius:10px;background:#f8faff;color:#172033;font-size:1.2rem;font-weight:900;cursor:pointer}.mobile-home-detail-header h2{margin:0;font-size:.95rem;line-height:1.1}.mobile-home-detail-header p{margin:.12rem 0 0;color:#687386;font-size:.74rem;font-weight:750}.mobile-home-detail-scroll{min-height:0;overflow-y:auto;padding:.6rem}.mobile-home-detail-scroll .activity-list,.mobile-home-detail-scroll .home-hub-list{max-height:none;gap:.45rem}.mobile-home-detail-scroll .activity-group-card,.mobile-home-detail-scroll .home-hub-card.compact{padding:.55rem}.mobile-home-detail-scroll .home-hub-card.compact strong{font-size:.84rem}.mobile-home-detail-scroll .home-hub-card.compact .home-hub-card__meta{font-size:.72rem}@keyframes mobile-home-panel-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}}@media (max-width: 380px){.mobile-home-dashboard{grid-template-rows:auto minmax(0,1.08fr) minmax(194px,.92fr);gap:.5rem}.mobile-home-card{grid-template-columns:30px minmax(0,1fr);gap:.45rem;padding:.55rem}.mobile-home-card__icon{width:30px;height:30px}.mobile-home-lower .whats-happening-feed{padding:.75rem;gap:.9rem}.mobile-home-lower .feed-title{font-size:1rem}.mobile-home-lower .feed-subtitle{font-size:.75rem}.mobile-home-lower .feed-cards{gap:.6rem}}.mobile-week-strip,.mobile-month-toggle,.mobile-day-timeline-section{display:none}.calendar-month-panel{display:block}.desktop-day-sections{display:flex;flex-direction:column;gap:1rem}.day-summary-heading-row{display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:.75rem;align-items:center}.day-summary-title{min-width:0}.day-summary-title h2{margin:0}.day-nav-button{display:inline-flex;align-items:center;justify-content:center;width:2.4rem;height:2.4rem;border:1px solid #d8deea;border-radius:8px;background:#f8faff;color:#172033;font-weight:900;cursor:pointer}.day-summary-actions{display:none}.day-photo-card{border:1px solid #e1e6ef;border-radius:8px;background:#fbfcff;color:inherit;cursor:zoom-in;font:inherit;padding:0;text-align:left}.timeline-filter{display:flex;gap:.4rem;overflow-x:auto;padding-bottom:.1rem;scrollbar-width:none}.timeline-filter::-webkit-scrollbar{display:none}.timeline-filter button{display:inline-flex;align-items:center;gap:.35rem;flex:0 0 auto;border:1px solid #d8deea;border-radius:999px;padding:.45rem .65rem;background:#fff;color:#4d5a70;font-weight:800;cursor:pointer}.timeline-filter button.is-active{border-color:#5168d9;background:#eef2ff;color:#5168d9}.timeline-filter span{color:#687386;font-size:.75rem}.day-timeline{display:flex;flex-direction:column;gap:.75rem}.timeline-item--photo{display:grid;grid-template-columns:84px minmax(0,1fr);gap:.2rem .75rem;align-items:center;width:100%;border:1px solid #e1e6ef;border-radius:8px;padding:.55rem;background:#fbfcff;color:inherit;cursor:zoom-in;font:inherit;text-align:left}.timeline-item--photo img{grid-row:span 2;width:84px;height:84px;border-radius:7px;object-fit:cover;background:#edf0f5}.timeline-item--photo span{align-self:end;color:#687386;font-size:.78rem;font-weight:800}.timeline-item--photo strong{align-self:start;min-width:0;overflow:hidden;color:#172033;text-overflow:ellipsis;white-space:nowrap}.mobile-plan-card__main{display:flex;min-width:0;flex-direction:column;gap:.35rem}.mobile-plan-card__meta{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.mobile-plan-card__meta span{border-radius:999px;padding:.18rem .5rem;background:#eef4ff;color:#436187;font-size:.72rem;font-weight:900;text-transform:uppercase}.mobile-plan-card__meta strong{color:#687386;font-size:.82rem}.mobile-plan-card__actions{display:grid;grid-template-columns:1.5fr repeat(3,1fr);gap:.45rem}.mobile-plan-card__actions button{border:1px solid #d8deea;border-radius:8px;padding:.58rem .45rem;background:#fff;color:#415066;font-weight:800;cursor:pointer}.mobile-plan-card__actions .mobile-plan-card__open{border-color:#5168d9;background:#5168d9;color:#fff}.mobile-plan-card__secondary .hub-item-meta{margin-bottom:0}.day-empty-state{color:#687386;font-weight:800;text-align:center}@media (max-width: 760px){.calendar-page{gap:.6rem}.calendar-page .page-header{margin-bottom:0}.calendar-page .page-header h1{margin-bottom:.2rem}.calendar-page .page-subtitle{margin-bottom:0}.calendar-compact{padding:.65rem}.mobile-week-strip{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:.35rem}.mobile-week-day{display:flex;align-items:center;min-width:0;min-height:4.35rem;flex-direction:column;gap:.18rem;border:1px solid #dfe5ef;border-radius:8px;padding:.4rem .2rem;background:#fff;color:#172033;cursor:pointer}.mobile-week-day.is-selected{border-color:#5168d9;background:#eef2ff;box-shadow:0 0 0 2px #5168d924}.mobile-week-day.is-today .mobile-week-day__number{background:#172033;color:#fff}.mobile-week-day__weekday{color:#687386;font-size:.68rem;font-weight:900}.mobile-week-day__number{display:inline-flex;align-items:center;justify-content:center;width:1.65rem;height:1.65rem;border-radius:999px;font-weight:900}.mobile-week-day__signals{display:flex;justify-content:center;gap:.12rem;min-height:.85rem;width:100%}.mobile-week-day__signals .signal{display:inline-flex;align-items:center;justify-content:center;width:auto;min-width:.82rem;height:.82rem;padding:0 .12rem;color:#fff;font-size:.52rem;font-weight:900;line-height:1}.mobile-month-toggle{display:flex;align-items:center;justify-content:center;width:100%;margin-top:.55rem;border:1px solid #d8deea;border-radius:8px;padding:.55rem .75rem;background:#f8faff;color:#5168d9;font-weight:900;cursor:pointer}.calendar-month-panel{display:none;margin-top:.65rem}.calendar-month-panel.is-expanded{display:block}.calendar-month-panel .calendar-toolbar{margin-bottom:.55rem}.day-summary-header{border-bottom:0;border-radius:8px;padding:.75rem;background:#fff;box-shadow:inset 0 0 0 1px #e1e6ef}.day-summary-heading-row{gap:.55rem}.day-summary-title span{display:block;color:#5168d9;font-size:.75rem;font-weight:900;text-transform:uppercase}.day-summary-title h2{font-size:1.18rem;line-height:1.15}.day-nav-button{width:2.15rem;height:2.15rem}.day-summary-counts{margin-top:.6rem}.day-summary-counts span{padding:.25rem .48rem;font-size:.68rem}.day-summary-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem;margin-top:.65rem}.day-summary-actions button{border:1px solid #d8deea;border-radius:8px;padding:.55rem .35rem;background:#fff;color:#5168d9;font-weight:900;cursor:pointer}.mobile-day-timeline-section{display:flex;flex-direction:column;gap:.75rem}.desktop-day-sections{display:none}.day-message-list{max-height:none;overflow:visible;padding-right:0}.timeline-item--chat{background:#fff}.day-photo-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:.4rem}.day-photo-grid.has-single-photo{grid-template-columns:1fr}.day-photo-grid.has-single-photo .day-photo-card img{aspect-ratio:16 / 10}.day-photo-card img{aspect-ratio:1}.day-photo-card span{padding:.35rem;font-size:.68rem}.mobile-plan-card{gap:.7rem;padding:.75rem;background:#fff;cursor:default}.mobile-plan-card:hover{border-color:#e1e6ef;box-shadow:none}.mobile-plan-card .event-card-cover{max-height:150px;margin-bottom:0}.mobile-plan-card h3{font-size:1rem;line-height:1.2}.mobile-plan-card__secondary{border-top:1px solid #edf0f5;padding-top:.55rem}.mobile-plan-card__secondary .hub-item-meta{align-items:flex-start;gap:.45rem}.mobile-plan-card__secondary .hub-item-meta__actions{opacity:.78}.mobile-plan-card__secondary .hub-btn{min-height:24px;padding:.18rem .45rem;font-size:.7rem}.mobile-plan-card .engagement-panel{border-top:1px solid #edf0f5;padding-top:.6rem}}.feature-form input,.feature-form textarea,.feature-row select,.event-edit-form input,.event-edit-form textarea,.comment-form input,.assignee-picker,.event-tags-form input,.event-post-form textarea{border-color:var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-text)}.feature-form button,.row-actions button,.upload-control,.event-tags-form button,.event-post-form button,.event-edit-form button{border-radius:var(--radius-control);background:var(--color-primary);color:var(--color-primary-text)}.feature-row,.planning-card,.activity-row,.create-panel-form,.poll-create-form,.event-photo-card,.modal-card,.dashboard-section,.home-item-section{background:var(--color-surface);border-color:var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-soft);color:var(--color-text)}.feature-row p,.planning-card p,.dashboard-meta,.event-edit-hint,.comment-row p,.event-creator-line,.event-post-card__header,.chat-message-text,.chat-message-time,.activity-group-line,.activity-group-time,.home-hub-card p,.home-hub-card__meta{color:var(--color-muted-text)}.eyebrow,.map-link,.event-creator-link,.home-hub-card__eyebrow{color:var(--color-primary)}.filter-tabs button,.reaction-row button,.comment-reactions button,.comment-form button,.poll-option,.create-panel-toggle,.poll-create-toggle,.event-open-btn,.back-link-button,.home-item-section__header button,.upcoming-block-header button,.event-edit-toggle-btn,.event-cover-picker-actions button{border-color:var(--color-border);border-radius:var(--radius-control);background:var(--color-surface);color:var(--color-text)}.filter-tabs button.active,.event-rsvp-bar.active,.poll-option-pill.selected{border-color:var(--color-primary);background:color-mix(in srgb,var(--color-primary) 12%,var(--color-surface));color:var(--color-text)}.poll-card:before,.event-list-card:before{content:"";position:absolute;inset:0 0 auto 0;height:4px;background:linear-gradient(90deg,var(--color-primary),var(--color-accent))}.poll-card,.event-list-card{position:relative;overflow:hidden}.poll-card h2,.event-list-card__content h2{color:var(--color-text);font-size:1.16rem}.poll-status-pill,.poll-source-pill{background:color-mix(in srgb,var(--color-primary) 14%,var(--color-surface));color:var(--color-text);border:1px solid color-mix(in srgb,var(--color-primary) 22%,var(--color-border))}.poll-status-pill.status-live{background:color-mix(in srgb,#22c55e 18%,var(--color-surface))}.poll-status-pill.status-scheduled{background:color-mix(in srgb,var(--color-accent) 20%,var(--color-surface))}.poll-option-pill,.event-rsvp-bar,.creator-card,.event-post-card{background:var(--color-surface-alt);border-color:var(--color-border);border-radius:var(--radius-control);color:var(--color-text)}.poll-option-fill,.event-rsvp-bar__track span{background:linear-gradient(90deg,color-mix(in srgb,var(--color-primary) 30%,transparent),color-mix(in srgb,var(--color-accent) 20%,transparent))}.engagement-panel,.event-detail-section,.mobile-plan-card__secondary,.mobile-plan-card .engagement-panel{border-top-color:var(--color-border)}.home-cover-header{min-height:260px;border:1px solid color-mix(in srgb,var(--color-border) 80%,transparent);border-radius:26px;box-shadow:var(--shadow-card)}.home-cover-header__overlay{background:linear-gradient(180deg,rgba(9,13,24,.12),rgba(9,13,24,.82)),linear-gradient(90deg,rgba(9,13,24,.48),transparent 68%)}.home-cover-header__title{font-size:clamp(2rem,7vw,3.8rem);letter-spacing:0;text-shadow:0 3px 18px rgba(0,0,0,.32)}.home-cover-header__subtitle,.home-cover-header__pinned,.home-cover-header__icon-btn{border:1px solid rgba(255,255,255,.24);background:rgba(255,255,255,.16);color:#fff;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.home-cover-header__subtitle,.home-cover-header__pinned{width:fit-content;border-radius:var(--radius-pill);padding:.38rem .7rem}.section-heading{color:var(--color-muted-text)}.section-heading h2{color:var(--color-text);font-size:1.08rem}.chat-message-item,.activity-group-card,.home-hub-card{background:var(--color-surface-alt);border-color:var(--color-border);border-radius:16px;color:var(--color-text)}.chat-message-item:hover,.activity-group-card:hover,.home-hub-card:hover{background:color-mix(in srgb,var(--color-primary) 7%,var(--color-surface));border-color:color-mix(in srgb,var(--color-primary) 32%,var(--color-border))}.home-hub-card__content{background:var(--color-surface-alt)}.home-hub-card__tags em,.activity-group-tag{background:color-mix(in srgb,var(--color-primary) 13%,var(--color-surface));color:var(--color-primary)}.settings-section{display:grid;gap:.85rem;padding:1rem;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);box-shadow:var(--shadow-soft)}.settings-section__header h2{margin:0;color:var(--color-text);font-size:1.05rem}.settings-section__header p{margin:.25rem 0 0;color:var(--color-muted-text)}.theme-picker-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:.65rem}.theme-option{display:flex;align-items:center;gap:.75rem;min-height:74px;padding:.75rem;border:1px solid var(--color-border);border-radius:16px;background:var(--color-surface-alt);color:var(--color-text);cursor:pointer;text-align:left}.theme-option.is-selected{border-color:var(--color-primary);box-shadow:var(--focus-ring)}.theme-option__preview{display:grid;grid-template-columns:repeat(3,1fr);width:3.5rem;height:2.3rem;overflow:hidden;border:1px solid var(--color-border);border-radius:12px;flex:0 0 auto}.theme-option__body{display:grid;gap:.15rem;min-width:0}.theme-option__body strong{color:var(--color-text)}.theme-option__body span{color:var(--color-muted-text);font-size:.84rem}@media (max-width: 640px){.home-cover-header{min-height:230px;border-radius:22px}.theme-picker-grid{grid-template-columns:1fr}}@media (min-width: 768px){.home-dashboard{width:min(100%,1120px)}.desktop-home-dashboard.home-layout{grid-template-columns:minmax(0,1fr);gap:var(--layout-page-gap);align-items:start}.desktop-home-dashboard>.home-cover-header{grid-column:1 / -1;grid-row:1}.desktop-home-dashboard>.home-main-column{grid-column:1 / -1;grid-row:2;display:grid;align-content:start;gap:var(--layout-page-gap);min-width:0}.desktop-home-dashboard>.home-needs-section{grid-column:1 / -1;grid-row:3;position:static;align-self:start}.desktop-home-dashboard .dashboard-section{padding:1.15rem}.desktop-home-dashboard .home-chat-section{display:flex;flex-direction:column}.desktop-home-dashboard .chat-messages-list{max-height:310px;margin:0;padding-right:.15rem}.desktop-home-dashboard .chat-message-item{margin:0;border:1px solid transparent}.desktop-home-dashboard .story-card,.desktop-home-dashboard .story-card__body{min-height:0}.desktop-home-dashboard .home-needs-section{display:grid;gap:1rem;max-height:none;overflow:visible}.desktop-home-dashboard .home-needs-section h2,.desktop-home-dashboard .upcoming-block{margin:0}.desktop-home-dashboard .upcoming-block{display:grid;gap:.5rem}.desktop-home-dashboard .home-hub-card.compact{min-height:auto}}@media (min-width: 1100px){.home-dashboard{width:min(100%,1280px);height:100%;overflow:hidden}.desktop-home-dashboard.home-layout{grid-template-columns:minmax(0,1fr) minmax(240px,280px);grid-template-rows:auto minmax(0,1fr);height:100%}.desktop-home-dashboard>.home-cover-header{grid-column:1 / -1;min-height:140px}.desktop-home-dashboard>.home-main-column{grid-column:1;grid-row:2;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#d1d8e0 transparent;min-height:0;align-content:start}.desktop-home-dashboard>.home-needs-section{grid-column:2;grid-row:2;overflow-y:auto;overflow-x:hidden;scrollbar-width:thin;scrollbar-color:#d1d8e0 transparent;position:static;max-height:none;min-height:0}.desktop-home-dashboard .home-chat-section{min-height:0}.desktop-home-dashboard .chat-messages-list{max-height:300px}.desktop-home-dashboard .home-activity-section,.desktop-home-dashboard .story-card,.desktop-home-dashboard .story-card__body{min-height:0}}@media (min-width: 1180px){.polls-page .feature-list,.events-page .feature-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:var(--layout-card-gap)}.polls-page,.events-page{width:min(100%,1120px)}.polls-page .create-panel,.events-page .create-panel,.polls-page .poll-create-panel,.events-page .poll-create-panel,.polls-page .inline-error,.events-page .inline-error{grid-column:1 / -1}.polls-page .planning-card,.events-page .planning-card{height:fit-content}.polls-page .planning-card-header,.events-page .planning-card-header{gap:.85rem}}@media (min-width: 1400px){.home-dashboard{width:min(100%,1320px)}.desktop-home-dashboard.home-layout{grid-template-columns:minmax(0,1fr) 300px;justify-content:center}}.admin-users-list{display:grid;gap:.75rem}.admin-user-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center;padding:.85rem;border:1px solid var(--border, #dfe3ea);border-radius:8px}.admin-user-row>div:first-child,.admin-user-actions{display:grid;gap:.35rem}.admin-user-row span{color:var(--muted, #667085);font-size:.9rem}.admin-user-actions{grid-auto-flow:column;align-items:center}@media (max-width: 720px){.admin-user-row{grid-template-columns:1fr}.admin-user-actions{grid-auto-flow:row}}.items-page{display:flex;flex-direction:column;gap:1rem}.items-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.85rem}.items-card{position:relative;min-height:150px;background:linear-gradient(135deg,color-mix(in srgb,var(--color-primary) 10%,transparent),transparent 60%),var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-card);padding:1rem;text-decoration:none;color:var(--color-text);transition:border-color .15s,box-shadow .15s,background .15s,transform .12s;display:flex;flex-direction:column;justify-content:space-between;gap:.85rem;box-shadow:var(--shadow-soft);overflow:hidden}.items-card:hover{border-color:color-mix(in srgb,var(--color-primary) 45%,var(--color-border));box-shadow:var(--shadow-card);transform:translateY(-1px)}.items-card__icon{width:2.4rem;height:2.4rem;display:inline-flex;align-items:center;justify-content:center;border-radius:16px;background:var(--color-primary);color:var(--color-primary-text);font-weight:900;box-shadow:0 10px 22px color-mix(in srgb,var(--color-primary) 28%,transparent)}.items-card__content{display:grid;gap:.45rem}.items-card__topline{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.items-card__topline em{border-radius:var(--radius-pill);padding:.2rem .5rem;background:color-mix(in srgb,var(--color-accent) 16%,var(--color-surface));color:var(--color-text);font-size:.68rem;font-style:normal;font-weight:850;text-transform:uppercase}.items-card h2{margin:0;font-size:1.1rem;color:var(--color-text);font-weight:850}.items-card p{margin:0;color:var(--color-muted-text);font-size:.95rem;line-height:1.42}@media (max-width: 768px){.items-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem}.items-card{min-height:164px;padding:.85rem}.items-card p{font-size:.82rem}}@media (min-width: 861px){.items-page{width:min(100%,1040px);gap:var(--layout-page-gap)}.items-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--layout-card-gap)}.items-card{min-height:190px;padding:1.15rem}}@media (max-width: 380px){.items-grid{grid-template-columns:1fr}}.members-page-header{display:flex;align-items:center;justify-content:space-between}.members-overview{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-bottom:.9rem}.members-overview>div{border:1px solid #e6ebf2;border-radius:10px;padding:.85rem;background:#fff}.members-overview span{display:block;color:#687386;font-size:.76rem;font-weight:800;text-transform:uppercase}.members-overview strong{display:block;margin-top:.2rem;color:#172033;font-size:1.35rem;line-height:1}.members-toolbar{display:flex;align-items:center;justify-content:space-between;gap:.75rem;margin-bottom:.9rem}.members-toolbar>span{color:#687386;font-size:.82rem;font-weight:800;text-transform:uppercase}.members-sort-controls{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.4rem}.members-sort-controls button{min-height:36px;display:inline-flex;align-items:center;gap:.35rem;border:1px solid #d8deea;border-radius:999px;padding:.45rem .7rem;background:#fff;color:#415066;font-weight:800;cursor:pointer}.members-sort-controls button.active{border-color:#5168d9;background:#eef2ff;color:#5168d9}.members-sort-controls em{font-style:normal;font-size:.8rem}.members-list-page{display:flex;flex-direction:column;gap:.75rem}.member-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem;border:1px solid #e6ebf2;border-radius:8px;background:#fff}.member-person{display:flex;align-items:center;gap:.85rem;min-width:0;flex:1;border:0;border-radius:6px;padding:.25rem;margin:-.25rem;background:transparent;color:inherit;font:inherit;text-align:left;transition:background .12s}.member-person:not(:disabled){cursor:pointer}.member-person:not(:disabled):hover{background:#f4f6f9}.member-person:disabled{cursor:default}.member-person>div:last-child{min-width:0}.member-person h2{margin:0;font-size:1rem;color:#172033}.member-person p{margin:.2rem 0 0;color:#687386;font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.member-avatar-wrap{position:relative}.member-presence{position:absolute;right:-1px;bottom:-1px;width:13px;height:13px;border:2px solid #fff;border-radius:999px;background:#9aa4b2}.member-presence.online{background:#20b26b}.member-row-meta{display:flex;align-items:center;justify-content:flex-end;gap:.6rem;flex:0 0 auto}.member-message-count{min-width:3rem;color:#172033;font-size:.9rem;font-weight:850;text-align:right}.member-message-count:after{content:" msgs";color:#8a94a6;font-size:.72rem;font-weight:700}.role-pill{padding:.35rem .65rem;border-radius:999px;background:#eef2f6;color:#415066;font-size:.8rem;font-weight:800;text-transform:capitalize}.role-owner{background:#fff1d6;color:#8a5600}.role-admin{background:#e6f0ff;color:#284ea6}.member-you{font-size:.8rem;color:#9aa4b2;font-weight:400}.member-imported{margin-left:.35rem;font-size:.85rem;color:#677188;font-weight:400}.members-role-error{background:#fdf0ef;border:1px solid #f5c6c3;border-radius:8px;color:#c0392b;font-size:.875rem;padding:.75rem 1rem;margin-bottom:1rem}.role-select{padding:.35rem 1.4rem .35rem .55rem;border-radius:999px;border:1px solid #d1d8e0;background:#eef2f6;color:#415066;font-size:.8rem;font-weight:800;cursor:pointer;text-transform:capitalize;-moz-appearance:none;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='10' height='6' viewBox='0 0 10 6'%3E%3Cpath d='M0 0l5 6 5-6z' fill='%23687386'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .45rem center}.role-select.role-owner{background-color:#fff1d6;color:#8a5600;border-color:#f0d080}.role-select.role-admin{background-color:#e6f0ff;color:#284ea6;border-color:#a8c4f5}.role-select:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 520px){.members-overview{grid-template-columns:repeat(3,minmax(0,1fr));gap:.45rem}.members-overview>div{padding:.65rem .55rem}.members-overview strong{font-size:1.05rem}.members-toolbar{align-items:flex-start;flex-direction:column}.members-sort-controls{width:100%;justify-content:stretch}.members-sort-controls button{flex:1;justify-content:center;padding-inline:.5rem}.member-row{align-items:stretch;flex-direction:column}.member-row-meta{justify-content:space-between;border-top:1px solid #eef2f6;padding-top:.65rem}.member-message-count{text-align:left}.role-pill,.role-select{flex:0 0 auto}}.tag-chip-input{display:flex;flex-direction:column;gap:.5rem;padding:.75rem;background-color:var(--color-input-bg, #f5f5f5);border:1px solid var(--color-border, #ddd);border-radius:.375rem}.tag-chip-display{display:flex;flex-wrap:wrap;gap:.5rem;min-height:1.5rem}.tag-chip{display:inline-flex;align-items:center;gap:.375rem;padding:.375rem .75rem;background-color:var(--color-chip-bg, #e0e0e0);color:var(--color-chip-text, #333);border-radius:1rem;font-size:.875rem;font-weight:500;white-space:nowrap;-webkit-user-select:none;user-select:none}.tag-chip-remove{display:flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;padding:0;margin-left:.25rem;background:none;border:none;color:inherit;cursor:pointer;font-size:1.125rem;line-height:1;opacity:.7;transition:opacity .15s ease-in-out}.tag-chip-remove:hover{opacity:1}.tag-chip-input-field{padding:.5rem;border:1px solid var(--color-border, #ddd);border-radius:.25rem;font-size:.875rem;font-family:inherit}.tag-chip-input-field:focus{outline:2px solid var(--color-primary, #0066cc);outline-offset:-1px}.tag-chip-input-field:disabled{background-color:var(--color-disabled-bg, #f0f0f0);color:var(--color-disabled-text, #999);cursor:not-allowed}.tag-chip-suggestions{display:flex;flex-wrap:wrap;gap:.5rem}.tag-chip-suggestion{padding:.375rem .75rem;background-color:transparent;border:1px solid var(--color-border, #ddd);border-radius:1rem;color:var(--color-text, #333);font-size:.75rem;cursor:pointer;transition:all .15s ease-in-out}.tag-chip-suggestion:hover:not(:disabled){background-color:var(--color-chip-bg, #e0e0e0);border-color:var(--color-primary, #0066cc)}.tag-chip-suggestion.selected{background-color:var(--color-chip-bg, #e0e0e0);border-color:var(--color-primary, #0066cc);font-weight:600}.tag-chip-suggestion:disabled{opacity:.5;cursor:not-allowed}.tag-chip-submit{align-self:flex-start;padding:.5rem 1rem;background-color:var(--color-primary, #0066cc);color:#fff;border:none;border-radius:.25rem;font-size:.875rem;font-weight:500;cursor:pointer;transition:background-color .15s ease-in-out}.tag-chip-submit:hover:not(:disabled){background-color:var(--color-primary-hover, #0052a3)}.tag-chip-submit:disabled{background-color:var(--color-disabled-bg, #ccc);cursor:not-allowed}.poll-edit-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:rgba(15,23,42,.55);display:flex;align-items:center;justify-content:center;z-index:1100;padding:16px}.poll-edit-modal{background:#fff;border-radius:14px;max-width:520px;width:100%;max-height:90vh;overflow-y:auto;box-shadow:0 20px 40px #0f172a40;display:flex;flex-direction:column}.poll-edit-header{display:flex;align-items:flex-start;justify-content:space-between;padding:18px 20px 8px;gap:12px}.poll-edit-header h2{margin:0;font-size:1.1rem}.poll-edit-header p{margin:2px 0 0;font-size:.82rem;color:#5a6478}.poll-edit-close{background:none;border:none;font-size:1.1rem;color:#5a6478;cursor:pointer;padding:4px 8px;border-radius:6px}.poll-edit-close:hover{background:#f0f4f8;color:#1a2030}.poll-edit-form{display:flex;flex-direction:column;gap:12px;padding:12px 20px 20px}.poll-edit-form label{display:flex;flex-direction:column;gap:4px;font-size:.85rem;font-weight:600;color:#1f2533}.poll-edit-form label small{font-weight:400;color:#5a6478;margin-left:4px}.poll-edit-form input,.poll-edit-form textarea{font:inherit;padding:8px 10px;border:1px solid #d8dde7;border-radius:8px;background:#fff;color:#1f2533}.poll-edit-form input:focus,.poll-edit-form textarea:focus{outline:none;border-color:#4361ee;box-shadow:0 0 0 3px #4361ee2e}.poll-edit-hint{font-size:.82rem;color:#5a6478;margin:0;padding:8px 10px;background:#f6f7fb;border-radius:8px;border:1px dashed #d8dde7}.poll-edit-short-id{display:flex;align-items:stretch;border:1px solid #d8dde7;border-radius:8px;overflow:hidden;background:#fff}.poll-edit-short-id:focus-within{border-color:#4361ee;box-shadow:0 0 0 3px #4361ee2e}.poll-edit-short-id-hash{background:#f6f7fb;color:#5a6478;padding:8px 10px;font-weight:700;border-right:1px solid #d8dde7;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.poll-edit-short-id input{border:none!important;border-radius:0!important;flex:1 1 auto;background:transparent;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.poll-edit-short-id input:focus{box-shadow:none!important;outline:none}.poll-edit-short-id input[aria-invalid=true]{color:#c1402c}.poll-edit-short-id-hint{font-weight:400;color:#5a6478;margin-top:4px}.poll-edit-time-row{display:grid;grid-template-columns:1fr 1fr;gap:10px}@media (max-width: 480px){.poll-edit-time-row{grid-template-columns:1fr}}.poll-edit-error{color:#c1402c;font-size:.85rem;margin:0}.poll-edit-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:4px}.poll-edit-cancel,.poll-edit-submit{font:inherit;font-weight:600;border-radius:8px;padding:8px 14px;cursor:pointer;border:1px solid transparent}.poll-edit-cancel{background:#fff;border-color:#d8dde7;color:#1f2533}.poll-edit-cancel:hover{background:#f0f4f8}.poll-edit-submit{background:#4361ee;color:#fff}.poll-edit-submit:hover:not(:disabled){background:#2a44c8}.poll-edit-submit:disabled{opacity:.7;cursor:not-allowed}.photo-upload-trigger{margin-bottom:1rem}.photo-upload-btn{padding:.65rem 1.25rem;background:#667eea;color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:700;cursor:pointer;transition:background .15s}.photo-upload-btn:hover{background:#5168d9}.photo-upload-form{display:flex;gap:1rem;align-items:flex-start;background:white;border:1px solid #e6ebf2;border-radius:10px;padding:1rem;margin-bottom:1.25rem}.photo-upload-preview{width:100px;height:100px;object-fit:cover;border-radius:8px;flex-shrink:0}.photo-upload-fields{flex:1;display:flex;flex-direction:column;gap:.6rem}.photo-upload-caption,.photo-upload-tags{padding:.55rem .75rem;border:1px solid #d1d8e0;border-radius:7px;font-size:.9rem;width:100%;box-sizing:border-box}.photo-upload-caption:focus,.photo-upload-tags:focus{outline:none;border-color:#667eea}.photo-upload-tag-suggestions{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin-top:-.15rem}.photo-upload-tag-suggestions-label{font-size:.75rem;color:#89a;margin-right:.1rem}.photo-upload-tag-suggestion-chip{padding:.18rem .55rem;background:#f0f4ff;border:1px solid #c7d2f8;border-radius:20px;font-size:.75rem;color:#4a5fa8;cursor:pointer;transition:background .15s,border-color .15s}.photo-upload-tag-suggestion-chip:hover{background:#dce4ff;border-color:#a0aef0}.photo-upload-actions{display:flex;gap:.5rem}.photo-upload-submit{padding:.5rem 1.25rem;background:#667eea;color:#fff;border:none;border-radius:7px;font-size:.875rem;font-weight:700;cursor:pointer}.photo-upload-submit:hover:not(:disabled){background:#5168d9}.photo-upload-submit:disabled{opacity:.6;cursor:not-allowed}.photo-upload-cancel{padding:.5rem 1rem;background:transparent;border:1px solid #d1d8e0;border-radius:7px;font-size:.875rem;color:#415066;cursor:pointer}.photo-upload-cancel:hover{background:#f0f4f8}.photo-tag-filters{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:1rem}.photo-tag-chip{padding:.3rem .7rem;border:1px solid #d1d8e0;border-radius:999px;background:white;font-size:.8rem;font-weight:600;color:#415066;cursor:pointer;transition:background .1s,border-color .1s}.photo-tag-chip:hover{background:#f0f4f8}.photo-tag-chip.active{background:#667eea;border-color:#667eea;color:#fff}.photo-date-filters{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1rem;padding:.75rem;background:#f8fafc;border-radius:8px;border:1px solid #e6ebf2}.photo-date-filter-group{display:flex;align-items:center;gap:.5rem}.photo-date-filter-label{font-size:.85rem;font-weight:600;color:#415066;white-space:nowrap}.photo-date-filter-input{padding:.4rem .6rem;border:1px solid #d1d8e0;border-radius:6px;font-size:.875rem;color:#172033;background:white;cursor:pointer}.photo-date-filter-input:focus{outline:none;border-color:#667eea}.photo-date-filter-clear{padding:.4rem .8rem;background:white;border:1px solid #d1d8e0;border-radius:6px;font-size:.8rem;color:#667eea;cursor:pointer;transition:background .15s,border-color .15s}.photo-date-filter-clear:hover{background:#f0f4ff;border-color:#c7d2f8}.photo-card-caption{padding:.4rem .75rem 0;font-size:.83rem;color:#172033;margin:0;text-align:left;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.photo-card-tags{display:flex;flex-wrap:wrap;gap:.25rem;padding:.3rem .6rem .5rem}.photo-card-tag{font-size:.7rem;font-weight:700;color:#667eea;background:#eef2ff;border-radius:999px;padding:.1rem .4rem}@media (max-width: 520px){.photo-upload-form{flex-direction:column}.photo-upload-preview{width:100%;height:160px}}.notification-settings{background:#fff;border:1px solid #e1e6ef;border-radius:8px;padding:1.5rem;margin-bottom:1.5rem}.notification-settings h2{margin:0 0 .5rem;color:#172033;font-size:1.25rem}.notification-settings>p{margin:0 0 1rem;color:#687386;font-size:.9rem}.notification-status{margin-bottom:1rem}.status-enabled,.status-denied,.status-default{display:flex;align-items:center;gap:.75rem;padding:.75rem;border-radius:6px;font-size:.9rem}.status-enabled{background:#eaf7ef;color:#17633a;border:1px solid #c6f6d5}.status-denied{background:#fef5e7;color:#d97706;border:1px solid #fcd34d}.status-denied small{display:block;margin-top:.25rem;color:#92400e;font-size:.8rem}.status-default{background:#f7f9fd;color:#4d5a70;border:1px solid #d8deea}.status-icon{font-size:1.2rem}.notification-toggle{background:#5168d9;color:#fff;border:0;border-radius:6px;padding:.75rem 1.25rem;font-weight:600;cursor:pointer;transition:background-color .2s ease}.notification-toggle:hover:not(:disabled){background:#3d52b5}.notification-toggle:disabled{opacity:.6;cursor:not-allowed}.notification-toggle:disabled:hover{background:#5168d9}.notification-error{margin:.75rem 0;padding:.6rem .8rem;background:#fef2f2;color:#b91c1c;border:1px solid #fecaca;border-radius:6px;font-size:.85rem}.notification-install-hint{margin:1rem 0 0;font-size:.8rem;color:#687386;line-height:1.4}.notification-buttons{display:flex;flex-wrap:wrap;gap:.5rem}.notification-secondary{background:#f1f5f9;color:#334155;border:0;border-radius:6px;padding:.75rem 1rem;font-weight:600;cursor:pointer;transition:background-color .15s ease}.notification-secondary:hover:not(:disabled){background:#e2e8f0}.notification-secondary:disabled{opacity:.6;cursor:not-allowed}.search-page{max-width:680px}.search-input-wrap{margin-bottom:1.5rem}.search-input{width:100%;padding:.875rem 1rem;font-size:1rem;border:2px solid #e1e5e9;border-radius:10px;box-sizing:border-box;transition:border-color .2s}.search-input:focus{outline:none;border-color:#667eea}.search-state{text-align:center;padding:2rem 1rem;color:#687386;font-size:.95rem}.search-state.error{color:#e74c3c}.search-results{display:flex;flex-direction:column;gap:2rem}.search-section-title{display:flex;align-items:center;gap:.4rem;font-size:.8rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:#687386;margin:0 0 .6rem}.search-result-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.4rem}.search-result-item{padding:.75rem 1rem;border:1px solid #eef2f6;border-radius:8px;background:white;cursor:pointer;transition:background .1s,border-color .1s}.search-result-item:hover{background:#f8fafc;border-color:#d0d8e4}.result-title{margin:0 0 .25rem;font-size:.9rem;font-weight:600;color:#172033;display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.result-status{font-size:.72rem;font-weight:700;padding:.15rem .5rem;border-radius:999px;text-transform:capitalize;background:#eef2f6;color:#687386}.status-done{background:#dcfce7;color:#166534}.status-planned{background:#dbeafe;color:#1e40af}.status-rejected{background:#fee2e2;color:#991b1b}.result-snippet{margin:0 0 .35rem;font-size:.85rem;color:#415066;line-height:1.5}.result-meta{display:flex;gap:.75rem;font-size:.76rem;color:#9aa4b2}mark{background:#fef9c3;color:inherit;border-radius:2px;padding:0 1px}.stats-page{max-width:760px}.stats-card-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;margin-bottom:2rem}.stat-card{background:white;border:1px solid #e6ebf2;border-top:3px solid #667eea;border-radius:8px;padding:1rem;text-align:center}.stat-card-value{margin:0 0 .2rem;font-size:1.75rem;font-weight:700;color:#172033;line-height:1}.stat-card-label{margin:0;font-size:.8rem;color:#687386;font-weight:500}.stats-section{background:white;border:1px solid #e6ebf2;border-radius:10px;padding:1.25rem 1.5rem;margin-bottom:1rem}.stats-section h2{margin:0 0 .2rem;font-size:.95rem;font-weight:700;color:#172033}.stats-meta{margin:0 0 1rem;font-size:.8rem;color:#9aa4b2}.hbar-row{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.hbar-label{width:100px;flex-shrink:0;font-size:.85rem;color:#415066;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hbar-track{flex:1;height:10px;background:#f0f4f8;border-radius:999px;overflow:hidden}.hbar-fill{height:100%;border-radius:999px;transition:width .4s ease;min-width:2px}.hbar-value{width:60px;flex-shrink:0;font-size:.8rem;color:#687386;text-align:right}.sparkline{display:block;width:100%;height:80px}.sparkline-empty{height:80px;display:flex;align-items:center;justify-content:center;color:#9aa4b2;font-size:.875rem}.heat-strip{display:flex;gap:2px;margin-top:.5rem}.heat-cell{flex:1;height:36px;border-radius:4px;display:flex;align-items:flex-end;justify-content:center;padding-bottom:3px;cursor:default}.heat-label{font-size:.55rem;color:#0006;line-height:1;-webkit-user-select:none;user-select:none}.stats-two-col{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.emoji-grid{display:flex;flex-wrap:wrap;gap:.75rem;margin-top:.75rem}.emoji-cell{display:flex;flex-direction:column;align-items:center;gap:.15rem;min-width:40px}.emoji-icon{font-size:1.5rem;line-height:1}.emoji-count{font-size:.75rem;color:#687386;font-weight:600}@media (max-width: 600px){.stats-card-grid{grid-template-columns:repeat(2,1fr)}.stats-two-col{grid-template-columns:1fr}.hbar-label{width:70px}}@media (max-width: 400px){.heat-label{display:none}}.server-page{max-width:780px}.srv-refresh-btn{background:none;border:1px solid #d1d8e0;border-radius:7px;padding:.4rem .9rem;font-size:.85rem;font-weight:700;color:#415066;cursor:pointer;margin-bottom:1.25rem}.srv-refresh-btn:hover{background:#f0f4f8}.srv-grid{display:flex;flex-direction:column;gap:1rem}.srv-card{background:#fff;border:1px solid #e6ebf2;border-radius:12px;padding:1.25rem 1.5rem}.srv-card-title{display:flex;align-items:center;gap:.5rem;font-size:1rem;font-weight:700;color:#172033;margin:0 0 1rem}.srv-bar-wrap{margin-bottom:.75rem}.srv-bar-track{position:relative;height:10px;background:#eef2f6;border-radius:999px;overflow:visible;margin-bottom:.35rem}.srv-bar-fill{height:100%;border-radius:999px;transition:width .4s ease;min-width:2px}.srv-bar-warn-marker{position:absolute;top:-3px;bottom:-3px;width:2px;background:#f59e0b;border-radius:1px;z-index:1}.srv-bar-labels{display:flex;justify-content:space-between;font-size:.78rem;color:#687386}.srv-stat-row{display:flex;flex-wrap:wrap;gap:.6rem}.srv-stat-tile{flex:1 1 80px;background:#f8fafc;border:1px solid #eef2f6;border-radius:8px;padding:.6rem .75rem;display:flex;flex-direction:column;gap:.15rem;min-width:80px}.srv-stat-value{font-size:1.05rem;font-weight:800;color:#172033;white-space:nowrap}.srv-stat-label{font-size:.72rem;color:#9aa4b2;text-transform:uppercase;letter-spacing:.04em}.srv-stat-sub{font-size:.72rem;color:#687386}.srv-ai-unconfigured{padding:.5rem 0;color:#687386;font-size:.9rem}.srv-ai-unconfigured p{margin:0 0 .35rem}.srv-ai-hint{margin:.5rem 0;font-size:.82rem;color:#9aa4b2}.srv-ai-hint code{font-family:monospace;background:#f0f4f8;padding:.1rem .3rem;border-radius:4px;font-size:.8rem}.srv-ai-provider{display:flex;align-items:center;gap:.6rem;margin-bottom:.75rem}.srv-ai-badge{font-size:.75rem;font-weight:800;background:#eef2ff;color:#667eea;padding:.2rem .55rem;border-radius:999px;text-transform:capitalize}.srv-ai-status{font-size:.8rem;font-weight:600}.srv-ai-status--ok{color:#22c55e}.srv-ai-status--warn{color:#f59e0b}.group-lore-page{display:flex;flex-direction:column;gap:1rem;padding-bottom:6rem}.lore-header{display:flex;flex-direction:column;gap:.2rem}.lore-header h1{margin:0;font-size:1.6rem;letter-spacing:-.01em}.lore-subtitle{margin:0;color:#5a6479;font-size:.95rem}.lore-search-bar{display:flex;align-items:center;background:#fff;border:1px solid #e3e7f1;border-radius:14px;padding:.65rem .9rem}.lore-search-bar:focus-within{border-color:#8ea0f0;box-shadow:0 0 0 3px #667eea24}.lore-search-bar input{flex:1;min-width:0;border:none;outline:none;background:transparent;font-size:1rem;color:#172033}.lore-search-icon{margin-right:.5rem;opacity:.55}.lore-filters{display:flex;flex-direction:column;gap:.55rem}.lore-chip-row{display:flex;flex-wrap:wrap;gap:.4rem}.lore-chip{border:1px solid #e3e7f1;background:#fff;border-radius:999px;padding:.35rem .85rem;font-size:.85rem;font-weight:600;color:#4a536b;cursor:pointer;transition:background .12s ease,color .12s ease,border-color .12s ease}.lore-chip:hover{border-color:#c8d0eb;color:#1f2533}.lore-chip.is-active{background:#1f2533;border-color:#1f2533;color:#fff}.lore-chip-custom{font-style:italic}.lore-custom-range{background:#fff;border:1px solid #eaedf5;border-radius:14px;padding:.7rem .85rem;display:flex;flex-wrap:wrap;gap:.6rem;align-items:flex-end}.lore-custom-field{display:flex;flex-direction:column;gap:.3rem;font-size:.78rem;color:#6a7388;font-weight:600;flex:1;min-width:140px;cursor:pointer}.lore-date-input{position:relative;display:flex;align-items:center;border:1px solid #d8deea;border-radius:12px;background:#fff;transition:border-color .12s ease,box-shadow .12s ease;min-height:44px}.lore-date-input:hover{border-color:#c8d0eb}.lore-date-input:focus-within{border-color:#8ea0f0;box-shadow:0 0 0 3px #667eea24}.lore-custom-field input[type=date]{flex:1;border:none;outline:none;background:transparent;padding:.65rem .75rem;font-size:.95rem;font-family:inherit;color:#172033;color-scheme:light;cursor:pointer;min-width:0;width:100%}.lore-custom-field input[type=date]::-webkit-calendar-picker-indicator{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;padding:0;opacity:0;cursor:pointer}.lore-date-icon{position:absolute;right:.65rem;top:50%;transform:translateY(-50%);font-size:1.05rem;opacity:.7;pointer-events:none}.lore-custom-clear{border:none;background:transparent;color:#8a5050;font-weight:600;font-size:.85rem;cursor:pointer;padding:.5rem}.lore-custom-clear:hover{color:#b03030}.lore-tabs{display:flex;gap:.25rem;background:#eef0f8;border-radius:999px;padding:.25rem;align-self:flex-start}.lore-tab{border:none;background:transparent;padding:.5rem 1.1rem;font-size:.9rem;border-radius:999px;color:#4a536b;cursor:pointer;font-weight:600;transition:background .12s ease,color .12s ease}.lore-tab:hover{color:#1f2533}.lore-tab.is-active{background:#fff;color:#1f2533;box-shadow:0 1px 2px #141e3c0f}.lore-state{background:#fff;border:1px solid #eaedf5;border-radius:16px;padding:1.25rem;text-align:center;color:#475063}.lore-state .lore-state-title{font-weight:700;color:#1f2533;margin:0 0 .25rem}.lore-state .lore-state-sub{margin:0;color:#6a7388;font-size:.9rem}.lore-state.is-error{border-color:#f3c0c4;background:#fff5f6;color:#8a2a31}.lore-results{display:flex;flex-direction:column;gap:.6rem}.lore-card{background:#fff;border:1px solid #eaedf5;border-radius:16px;padding:.85rem .95rem;display:flex;gap:.85rem;align-items:flex-start;cursor:pointer;transition:transform 80ms ease,box-shadow .12s ease,border-color .12s ease,background .12s ease;text-align:left}.lore-card:hover{border-color:#d3dcf3;box-shadow:0 4px 12px #141e3c0f}.lore-card:focus-visible{outline:none;border-color:#8ea0f0;box-shadow:0 0 0 3px #667eea2e}.lore-card:active{transform:translateY(1px);background:#fafbff}.lore-card-body{flex:1;min-width:0;text-align:left}.lore-card-head{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:.2rem}.lore-card-name{font-weight:700;color:#1f2533;font-size:.95rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lore-card-time{color:#8a92a6;font-size:.78rem;white-space:nowrap;flex-shrink:0}.lore-card-snippet{margin:0;color:#2f3650;font-size:.95rem;line-height:1.42;word-break:break-word;text-align:left}.lore-card-foot{display:flex;align-items:center;justify-content:space-between;margin-top:.5rem;color:#5868c8;font-size:.82rem;font-weight:600}.lore-card-action{letter-spacing:.01em}.lore-card-chev{color:#a3aac0;font-size:1.1rem;line-height:1}.lore-mark{background:#ffeaa3;color:inherit;padding:0 3px;border-radius:4px;box-decoration-break:clone;-webkit-box-decoration-break:clone}.lore-summary-line{margin:0;font-size:1rem;color:#2f3650;font-weight:600}.lore-champion{background:linear-gradient(135deg,#fff4d6,#ffe1ef);border:1px solid #f6e0c8;border-radius:18px;padding:.85rem 1rem;display:flex;flex-direction:column;gap:.55rem}.lore-champion-badge{font-size:.78rem;font-weight:700;letter-spacing:.04em;color:#92561e;text-transform:uppercase}.lore-champion-body{display:flex;align-items:center;gap:.75rem}.lore-champion-name{font-weight:800;color:#1f2533;font-size:1.05rem}.lore-champion-count{color:#6a4a1e;font-size:.85rem;font-weight:600}.lore-people-summary{background:#fff;border:1px solid #eaedf5;border-radius:16px;padding:.9rem 1rem;display:flex;gap:1rem;justify-content:space-around;text-align:center}.lore-people-summary .stat-value{display:block;font-size:1.25rem;font-weight:800;color:#1f2533;line-height:1.1}.lore-people-summary .stat-label{display:block;font-size:.82rem;color:#6a7388;font-weight:600;margin-top:.15rem}.lore-people-list{display:flex;flex-direction:column;gap:.55rem}.lore-person-row{background:#fff;border:1px solid #eaedf5;border-radius:14px;padding:.7rem .9rem;display:flex;align-items:center;gap:.75rem}.lore-person-info{flex:1;min-width:0}.lore-person-name{display:flex;justify-content:space-between;align-items:baseline;gap:.5rem;margin-bottom:.35rem;font-size:.95rem}.lore-person-label{font-weight:700;color:#1f2533;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.lore-person-stats{display:inline-flex;align-items:baseline;gap:.35rem;flex-shrink:0}.lore-person-count{color:#1f2533;font-weight:700}.lore-person-dot{color:#b8becf}.lore-person-pct{color:#6a7388;font-size:.85rem;font-weight:600}.lore-bar{height:8px;background:#eef0f8;border-radius:999px;overflow:hidden}.lore-bar-fill{height:100%;background:linear-gradient(90deg,#8ea0f0,#5868c8);border-radius:999px;transition:width .22s ease}@media (min-width: 720px){.lore-header h1{font-size:2rem}.group-lore-page{padding-bottom:2rem}}.profile-page{max-width:560px}.profile-hero{display:flex;align-items:flex-start;gap:1.25rem;background:#fff;border:1px solid #e6ebf2;border-radius:14px;padding:1.5rem;margin-bottom:1rem}.profile-avatar-wrap{position:relative;flex-shrink:0}.profile-avatar{border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:800;line-height:1}.profile-online-dot{position:absolute;right:3px;bottom:3px;width:14px;height:14px;border-radius:50%;border:2px solid #fff;background:#9aa4b2;z-index:1}.profile-online-dot.online{background:#22c55e}.profile-avatar-change-btn{position:absolute;top:0;right:0;bottom:0;left:0;border-radius:50%;background:rgba(0,0,0,.45);border:none;color:#fff;font-size:1.2rem;display:flex;align-items:center;justify-content:center;cursor:pointer;opacity:0;transition:opacity .15s}.profile-avatar-wrap:hover .profile-avatar-change-btn{opacity:1}.profile-remove-avatar-btn{display:inline-block;margin-top:.5rem;background:none;border:none;font-size:.78rem;color:#9aa4b2;cursor:pointer;padding:0;text-decoration:underline}.profile-remove-avatar-btn:hover{color:#e74c3c}.profile-hero-body{flex:1;min-width:0}.profile-name-row{display:flex;align-items:center;gap:.5rem;margin-bottom:.2rem}.profile-nickname{margin:0;font-size:1.6rem;color:#172033;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-edit-btn{background:none;border:none;cursor:pointer;font-size:1rem;padding:.2rem;opacity:.5;transition:opacity .15s}.profile-edit-btn:hover{opacity:1}.profile-username{margin:0 0 .6rem;font-size:.9rem;color:#9aa4b2}.profile-role-badge{display:inline-block;font-size:.75rem;font-weight:800;text-transform:capitalize;padding:.2rem .6rem;border-radius:999px}.profile-edit-form{margin-bottom:.6rem}.profile-edit-input{width:100%;padding:.5rem .75rem;font-size:1.2rem;font-weight:700;border:2px solid #667eea;border-radius:8px;margin-bottom:.5rem;box-sizing:border-box}.profile-edit-input:focus{outline:none}.profile-edit-actions{display:flex;gap:.5rem}.profile-save-btn{padding:.45rem 1rem;background:#667eea;color:#fff;border:none;border-radius:7px;font-size:.875rem;font-weight:700;cursor:pointer}.profile-save-btn:hover:not(:disabled){background:#5168d9}.profile-save-btn:disabled{opacity:.6;cursor:not-allowed}.profile-cancel-btn{padding:.45rem .85rem;background:transparent;border:1px solid #d1d8e0;border-radius:7px;font-size:.875rem;color:#415066;cursor:pointer}.profile-cancel-btn:hover{background:#f0f4f8}.profile-edit-error{margin:.4rem 0 0;font-size:.8rem;color:#e74c3c}.profile-stats-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:1rem}.profile-stat-card{background:#fff;border:1px solid #e6ebf2;border-radius:10px;padding:1rem;text-align:center}.profile-stat-value{display:block;font-size:1.3rem;font-weight:800;color:#172033;margin-bottom:.2rem}.profile-stat-label{display:block;font-size:.78rem;color:#9aa4b2}.profile-actions{display:flex;gap:.75rem}.profile-logout-btn{padding:.65rem 1.25rem;border:1px solid #fca5a5;background:#fff;color:#e74c3c;border-radius:8px;font-size:.875rem;font-weight:700;cursor:pointer;transition:background .15s}.profile-logout-btn:hover{background:#fff5f5}.profile-activity{background:#fff;border:1px solid #e6ebf2;border-radius:14px;padding:1.25rem 1.5rem;margin-top:1rem}.profile-activity-title{margin:0 0 1rem;font-size:.9rem;font-weight:700;color:#415066;text-transform:uppercase;letter-spacing:.05em}.profile-activity-empty{margin:0;font-size:.875rem;color:#9aa4b2}.profile-activity-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:0}.profile-activity-item{display:flex;align-items:flex-start;gap:.75rem;padding:.65rem .5rem;margin:0 -.5rem;border-bottom:1px solid #f0f4f8;border-radius:6px;transition:background .12s}.profile-activity-item:last-child{border-bottom:none}.profile-activity-item.clickable{cursor:pointer}.profile-activity-item.clickable:hover{background:#f4f6f9}.profile-activity-icon{font-size:1rem;flex-shrink:0;margin-top:.1rem}.profile-activity-body{flex:1;min-width:0;display:flex;flex-direction:column;gap:.15rem}.profile-activity-summary{font-size:.875rem;color:#2d3748;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.profile-activity-time{font-size:.75rem;color:#9aa4b2}@media (max-width: 480px){.profile-stats-grid{grid-template-columns:1fr 1fr}}.register-form-container{display:flex;justify-content:center;align-items:center;min-height:100vh;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;padding:1rem;box-sizing:border-box}.register-form{background:white;padding:3rem;border-radius:12px;box-shadow:0 10px 25px #0003;text-align:center;width:100%;max-width:420px}.register-form h1{margin:0 0 .5rem;color:#333;font-size:2rem;font-weight:600}.register-form .subtitle{color:#666;margin-bottom:2rem;font-size:1rem}.register-form .input-group{margin-bottom:1.25rem;text-align:left}.register-form label{display:block;font-size:.875rem;font-weight:600;color:#333;margin-bottom:.4rem}.register-form input{width:100%;padding:.875rem 1rem;border:2px solid #e1e5e9;border-radius:8px;font-size:1rem;transition:border-color .2s ease;box-sizing:border-box}.register-form input:focus{outline:none;border-color:#667eea}.register-form input.error{border-color:#e74c3c}.register-form input:disabled{background-color:#f8f9fa;cursor:not-allowed}.field-error{color:#e74c3c;font-size:.8125rem;margin-top:.4rem}.form-error{background:#fdf0ef;border:1px solid #f5c6c3;border-radius:8px;color:#c0392b;font-size:.875rem;padding:.75rem 1rem;margin-bottom:1.25rem;text-align:left}.register-button{width:100%;padding:1rem;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease;margin-top:.5rem}.register-button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 5px 15px #667eea66}.register-button:disabled{background:#ccc;cursor:not-allowed;transform:none;box-shadow:none}.invite-hint{margin-top:1.5rem;font-size:.8125rem;color:#999}.auth-choice-actions{display:grid;gap:.75rem;margin-top:2rem}.secondary-auth-button,.link-auth-button{width:100%;border:1px solid #d8dce4;background:#fff;color:#333;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer}.secondary-auth-button{padding:1rem}.link-auth-button{padding:.75rem;margin-top:.75rem}.secondary-auth-button:hover,.link-auth-button:hover{background:#f7f8fb}.install-prompt{position:fixed;top:0;left:0;right:0;z-index:200;background:#101827;color:#fff;border-bottom:1px solid rgba(255,255,255,.12);box-shadow:0 4px 16px #0006;animation:prompt-slide-down .3s ease;padding-top:env(safe-area-inset-top)}@keyframes prompt-slide-down{0%{transform:translateY(-100%);opacity:0}to{transform:translateY(0);opacity:1}}.install-prompt-inner{display:flex;align-items:center;gap:.75rem;padding:.7rem 1rem;max-width:860px;margin:0 auto}.install-prompt-icon{font-size:1.4rem;flex-shrink:0}.install-prompt-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:.1rem;font-size:.82rem;line-height:1.35}.install-prompt-text strong{font-size:.88rem;font-weight:700;color:#fff}.install-prompt-text span{color:#ffffffb3}.install-ios-share{display:inline-block;font-size:1rem;vertical-align:middle;color:#667eea}.install-prompt-action{flex-shrink:0;padding:.45rem 1rem;background:#667eea;color:#fff;border:none;border-radius:6px;font-size:.85rem;font-weight:700;cursor:pointer;white-space:nowrap;transition:filter .15s}.install-prompt-action:hover{filter:brightness(1.12)}.install-prompt-close{flex-shrink:0;background:none;border:none;color:#ffffff80;font-size:1rem;cursor:pointer;padding:.25rem;line-height:1;transition:color .1s;min-width:36px;min-height:36px;display:flex;align-items:center;justify-content:center;border-radius:6px}.install-prompt-close:hover{color:#fff;background:rgba(255,255,255,.08)}@media (max-width: 360px){.install-prompt-icon{display:none}}*{margin:0;padding:0;box-sizing:border-box}:root{--radius-card: 18px;--radius-control: 12px;--radius-pill: 999px;--shadow-card: 0 16px 42px rgba(23, 32, 51, .1);--shadow-soft: 0 8px 22px rgba(23, 32, 51, .08);--page-padding: 1rem;--bottom-nav-height: 72px;--focus-ring: 0 0 0 3px color-mix(in srgb, var(--color-primary) 22%, transparent);--layout-sidebar-width: 180px;--layout-right-rail-width: 340px;--layout-content-max: 1280px;--layout-page-gap: 1.25rem;--layout-card-gap: 1rem}html{min-width:0;overflow-x:hidden}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:var(--color-background, #edf2f7);color:var(--color-text, #172033);min-width:0;overflow-x:hidden}.app-theme-root{min-height:100vh;min-height:100dvh;color:var(--color-text);background:radial-gradient(circle at top left,color-mix(in srgb,var(--color-primary) 16%,transparent),transparent 34rem),linear-gradient(180deg,color-mix(in srgb,var(--color-background) 86%,var(--color-surface-alt)),var(--color-background) 55%,color-mix(in srgb,var(--color-background) 82%,var(--color-accent)))}button{font:inherit}button:focus-visible,a:focus-visible,input:focus-visible,textarea:focus-visible,select:focus-visible{outline:none;box-shadow:var(--focus-ring)}.App{min-height:100vh;min-height:100dvh}.dashboard-button{border:1px solid var(--color-border);text-align:left;cursor:pointer}.dashboard-button:hover{border-color:color-mix(in srgb,var(--color-primary) 34%,var(--color-border));box-shadow:var(--shadow-card)}.dashboard-grid{align-items:stretch}.dashboard-list{display:flex;flex-direction:column;gap:.45rem;margin-top:1rem}.dashboard-list p{margin:0;color:var(--color-muted-text);font-size:.9rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-list strong{color:var(--color-text)}.photo-strip{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.4rem;margin-top:1rem;color:var(--color-muted-text)}.photo-strip img{width:100%;aspect-ratio:1;border-radius:6px;object-fit:cover}
