:root{color-scheme:dark light;--accent: #0ea5e9;--accent2: #22c55e;--accent-purple: #7c6fcd;--accent-sky: #4fc3f7;--bg-body: #020617;--bg-body-gradient: radial-gradient(circle at top, #0f172a, #020617 60%);--bg-shell: #13162a;--bg-card: rgba(15, 23, 42, .85);--bg-card-solid: #0f172a;--bg-input: rgba(2, 6, 23, .8);--bg-nav: #13162a;--bg-hover: rgba(255, 255, 255, .04);--bg-panel: rgba(255, 255, 255, .04);--bg-badge: rgba(255, 255, 255, .08);--border: rgba(255, 255, 255, .1);--border-strong: rgba(255, 255, 255, .18);--fg: #e5e7eb;--fg-muted: rgba(229, 231, 235, .6);--fg-subtle: rgba(229, 231, 235, .4);--fg-footer: #9ca3af;--shadow-card: 0 4px 24px rgba(0,0,0,.4);--shadow-nav: 0 2px 8px rgba(0,0,0,.4)}@media (prefers-color-scheme: light){:root{color-scheme:light;--bg-body: #fafafa;--bg-body-gradient: #fafafa;--bg-shell: #fafafa;--bg-card: #ffffff;--bg-card-solid: #ffffff;--bg-input: #ffffff;--bg-nav: #ffffff;--bg-hover: rgba(0, 0, 0, .04);--bg-panel: #ffffff;--bg-badge: rgba(0, 0, 0, .06);--border: #dbdbdb;--border-strong: #c7c7c7;--fg: #262626;--fg-muted: #737373;--fg-subtle: #a8a8a8;--fg-footer: #a8a8a8;--accent: #6d28d9;--accent2: #14532d;--accent-sky: #6d28d9;--fg: #000000;--shadow-card: 0 1px 0 rgba(0,0,0,.08), 0 0 0 1px #dbdbdb;--shadow-nav: 0 1px 0 #dbdbdb}}html{height:100%;height:-webkit-fill-available}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;-webkit-touch-callout:none}input,select,textarea{font-size:max(16px,1em);background:var(--bg-input);color:var(--fg);border-color:var(--border)}body{margin:0;font-family:system-ui,sans-serif;background:var(--bg-body-gradient);color:var(--fg);height:100%;min-height:100vh;overflow-x:hidden;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}#root{height:100%;display:flex;flex-direction:column}.app{width:100%;max-width:960px;margin:0 auto;padding:1.5rem;box-sizing:border-box;overflow-x:hidden}.header{text-align:center;margin-bottom:1.5rem}.header h1{margin:0 0 .5rem;font-size:1.6rem}.header p{margin:0 0 .75rem;opacity:.8}.progress-bar{width:100%;height:10px;border-radius:999px;background:#ffffff1f;overflow:hidden}@media (prefers-color-scheme: light){.progress-bar{background:#e2e8f0}}.progress-bar-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--accent2));transition:width .3s ease}.reading-book-section .progress-bar{position:relative;overflow:visible}.reading-pace-marker{position:absolute;top:50%;transform:translate(-50%,-50%);width:3px;height:18px;background:#e2e8f0;border-radius:2px;box-shadow:0 0 0 1.5px #020617bf;z-index:1}.reading-pace-status{margin-top:.4rem;font-size:.75rem;font-weight:600;letter-spacing:.02em}.reading-pace-status.pace-ahead{color:#34d399}.reading-pace-status.pace-ontrack{color:var(--text-muted, #94a3b8)}.reading-pace-status.pace-behind{color:#f87171}.mosaic-container{width:100%;border-radius:12px;overflow:hidden;box-shadow:0 0 40px #0ea5e926}.mosaic-svg{display:block;width:100%;height:auto}.piece{cursor:pointer;transition:filter .4s ease,opacity .4s ease}.piece-overlay{transition:fill .4s ease,opacity .4s ease}.piece-unread .piece-overlay{fill:#0a0f1a;opacity:.82}.piece-read .piece-overlay{fill:transparent;opacity:0}.piece-border{fill:none;stroke:#ffffffd9;stroke-width:5;stroke-linejoin:round;pointer-events:none}.piece-read .piece-border{stroke:#ffffffb3;stroke-width:4}.piece-label{font-size:11px;fill:var(--fg-muted);font-weight:600;pointer-events:none;-webkit-user-select:none;user-select:none;transition:fill .3s ease}.piece-read .piece-label{fill:#fff;text-shadow:0 1px 4px rgba(0,0,0,.8)}.piece:hover .piece-overlay{opacity:.3!important;fill:#0a0f1a}.piece:hover .piece-label{fill:#e5e7eb}.piece-read:hover .piece-overlay{opacity:0!important}.piece-read:hover .piece-border{stroke:#fffffff2;stroke-width:5}@media (max-width: 640px){.header h1{font-size:1.2rem}.piece-label{font-size:8px}.report-chapters{gap:3px}.report-ch{flex:0 0 30px;width:30px;height:30px}}.reading-book-section{margin:1.5rem 0;padding:1.25rem 1.5rem;background:var(--bg-card);border:1px solid var(--border);border-radius:14px}.reading-book-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.5rem}.reading-book-header h2{margin:0;font-size:1.1rem;font-weight:600}.reading-progress-label{font-size:.85rem;color:var(--fg-muted)}.report-section,.history-section{margin-top:2rem}.report-panel,.history-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:1.5rem;overflow:hidden}.reading-book-section .report-panel{background:none;border:none;border-top:1px solid var(--border);border-radius:0;padding:1.25rem 0 0;margin-top:1rem}.report-panel h2,.history-panel h2{margin:0 0 1rem;font-size:1.2rem;color:var(--fg)}.report-book-select{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.report-book-select label{font-size:.85rem;opacity:.7}.report-book-select select{flex:1;padding:.5rem .75rem;border-radius:8px;border:1px solid var(--border-strong);background:var(--bg-input);color:var(--fg);font-size:.95rem;cursor:pointer}.report-actions{display:flex;gap:.5rem;margin-bottom:.75rem}.report-btn-sm{padding:.35rem .75rem;border-radius:6px;border:1px solid var(--border-strong);background:transparent;color:var(--accent);font-size:.8rem;cursor:pointer;transition:background .2s}.report-btn-sm:hover{background:#0ea5e926}.report-chapters{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:1rem}.report-ch{flex:0 0 34px;width:34px;height:34px;border-radius:6px;border:1px solid var(--border);background:var(--bg-card);color:var(--fg);font-size:.75rem;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center}.report-ch:hover:not(:disabled){background:#0ea5e940;border-color:var(--accent)}.report-ch-selected{background:#0ea5e966!important;border-color:var(--accent)!important;color:#fff;font-weight:700;box-shadow:0 0 8px #0ea5e966}.report-ch-done{background:#22c55e33;border-color:#22c55e4d;color:#22c55eb3;cursor:default;opacity:.6}.btn-primary{width:100%;padding:.75rem;border-radius:8px;border:none;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:opacity .2s,transform .15s;box-sizing:border-box}.btn-primary:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.btn-primary:disabled{opacity:.4;cursor:default}.report-submit{width:100%;padding:.75rem;border-radius:8px;border:none;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:opacity .2s,transform .15s}.report-submit:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.report-submit:disabled{opacity:.4;cursor:default}.report-confirm{text-align:center;margin-top:.75rem;padding:.5rem;border-radius:6px;background:#22c55e26;color:var(--accent2);font-weight:600;animation:fadeIn .3s ease}.report-share-toggle{display:flex;align-items:center;gap:.5rem;margin-top:.75rem;font-size:.82rem;color:var(--fg-muted);cursor:pointer;-webkit-user-select:none;user-select:none}.report-share-toggle input[type=checkbox]{accent-color:var(--accent);width:15px;height:15px;cursor:pointer}@keyframes fadeIn{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.history-empty{opacity:.5;font-size:.9rem}.history-list{display:flex;flex-direction:column;gap:.5rem;max-height:300px;overflow-y:auto}.history-entry{display:flex;align-items:baseline;gap:.75rem;padding:.5rem .75rem;border-radius:6px;background:var(--bg-card);font-size:.85rem}.history-date{flex-shrink:0;color:var(--accent);font-weight:600;min-width:90px}.history-time{font-weight:400;font-size:.8rem;opacity:.7}.history-chapters{flex:1;color:var(--fg);opacity:.8;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.history-book-tag{font-weight:700;margin-right:.35rem}.history-count{flex-shrink:0;color:var(--accent2);font-weight:600;font-size:.8rem}.login-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:#fafafa;overflow-y:auto}.login-card{background:#fff;border:1px solid #dbdbdb;border-radius:16px;padding:2.5rem;width:100%;max-width:400px;text-align:center;box-shadow:none;color:#262626}.login-card h1{margin:0 0 .25rem;font-size:1.5rem;color:#262626}.login-subtitle{margin:0 0 1.5rem;font-size:.9rem;color:#737373}.login-welcome{margin:0 0 1rem;font-size:.95rem;color:#262626}.login-card form{display:flex;flex-direction:column;gap:.75rem}.login-card label{text-align:left;font-size:.85rem;color:#262626}.login-card input,.login-card select{padding:.65rem .85rem;border-radius:8px;border:1px solid #dbdbdb;background:#fafafa;color:#262626;font-size:1rem}.login-card input::placeholder{color:#a8a8a8}.login-card button{padding:.75rem;border-radius:8px;border:none;background:linear-gradient(135deg,var(--accent),var(--accent2));color:#fff;font-size:1rem;font-weight:600;cursor:pointer;transition:opacity .2s}.login-card button:disabled{opacity:.4;cursor:default}.login-error{margin-top:.75rem;color:#dc2626;font-size:.85rem}@media (prefers-color-scheme: dark){.login-backdrop{background:radial-gradient(ellipse at center,#0f172a,#020617)}.login-card{background:#13162a;border-color:#ffffff1a;box-shadow:0 4px 32px #00000080;color:#e5e7eb}.login-card h1,.login-subtitle,.login-welcome,.login-card label{color:#e5e7eb}.login-card input,.login-card select{background:#020617cc;border-color:#ffffff26;color:#e5e7eb}.login-card input::placeholder{color:#e5e7eb66}.login-error{color:#f87171}}.loading-screen{min-height:100vh;display:flex;align-items:center;justify-content:center;opacity:.5;font-size:1.1rem}.app-footer{position:fixed;bottom:calc(.75rem + env(safe-area-inset-bottom));right:1rem;font-size:.72rem;color:var(--fg-footer);opacity:.35;pointer-events:none;z-index:50}.header-top{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.5rem}.header-user{display:flex;align-items:center;gap:.5rem}.header-avatar{width:32px;height:32px;border-radius:50%;background:linear-gradient(135deg,var(--accent),var(--accent2));display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.85rem;color:#fff}.header-name{font-size:.9rem;font-weight:600}.header-logout{padding:.3rem .6rem;border-radius:6px;border:1px solid var(--border-strong);background:transparent;color:var(--fg);font-size:.75rem;cursor:pointer;opacity:.6;transition:opacity .2s}.header-logout:hover{opacity:1}.two-col{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:2rem}.col-left,.col-right{display:flex;flex-direction:column;gap:1.5rem;min-width:0}.col-left .report-section,.col-left .history-section,.col-right .feed-section{margin-top:0}@media (max-width: 768px){.two-col{grid-template-columns:1fr}}.feed-panel{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:1.5rem}.feed-panel h2{margin:0 0 .25rem;font-size:1.2rem}.feed-members{margin:0 0 1rem;font-size:.8rem;opacity:.5}.feed-stats{display:flex;gap:.5rem;margin-bottom:1rem}.feed-stat{flex:1;display:flex;flex-direction:column;align-items:center;padding:.6rem .4rem;border-radius:8px;background:var(--bg-card)}.feed-stat-number{font-size:1.3rem;font-weight:700;color:var(--accent)}.feed-stat-label{font-size:.65rem;text-transform:uppercase;letter-spacing:.04em;opacity:.5}.feed-comment-form{display:flex;gap:.5rem;margin-bottom:1rem}.feed-comment-form input{flex:1;padding:.55rem .75rem;border-radius:8px;border:1px solid var(--border);background:var(--bg-input);color:var(--fg);font-size:.9rem}.feed-comment-form button{padding:.55rem 1rem;border-radius:8px;border:none;background:var(--accent);color:#fff;font-weight:600;cursor:pointer;font-size:.85rem;transition:opacity .2s}.feed-comment-form button:disabled{opacity:.3;cursor:default}@media (max-width: 480px){.feed-comment-form{flex-direction:column}.feed-comment-form input,.feed-comment-form button{width:100%}}.feed-section h3{font-size:.8rem;text-transform:uppercase;letter-spacing:.05em;opacity:.4;margin:1rem 0 .5rem}.feed-loading,.feed-empty{opacity:.5;font-size:.85rem}.feed-post{padding:.65rem 0;border-bottom:1px solid var(--border);background:none;margin-bottom:0}.feed-post:last-child{border-bottom:none}.feed-post-mine{background:none}.feed-post-header{display:flex;align-items:center;gap:.4rem;margin-bottom:.3rem}.feed-post-avatar{width:24px;height:24px;border-radius:50%;background:#0ea5e94d;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.65rem;color:var(--accent);flex-shrink:0}.feed-post-name{font-weight:600;font-size:.85rem}.feed-post-time{margin-left:auto;font-size:.7rem;opacity:.4}.feed-post-reading{margin:0;font-size:.85rem;color:var(--accent2)}.feed-post-chapters{color:var(--fg);opacity:.7;font-size:.8rem}.feed-post-text{margin:0;font-size:.9rem;line-height:1.4}.feed-post-tag{display:inline-block;font-size:.72rem;font-weight:500;padding:.1rem .5rem;border-radius:999px;border:1px solid;flex-shrink:0}.feed-post-tag--bom{background:#0ea5e914;border-color:#0ea5e966;color:var(--accent)}.feed-post-tag--fsy{background:#22c55e14;border-color:#22c55e66;color:var(--accent2)}.feed-post-tag--temple{background:#a855f714;border-color:#a855f766;color:#a855f7}.feed-post-tag--adult{background:#f59e0b14;border-color:#f59e0b66;color:#d97706}.feed-post-tag--leader{background:#3b82f614;border-color:#3b82f666;color:#3b82f6}@media (prefers-color-scheme: light){.feed-post-tag--bom{background:#6d28d90f;border-color:#6d28d959;color:#6d28d9}.feed-post-tag--fsy{background:#14532d0f;border-color:#14532d59;color:#14532d}.feed-post-tag--temple{background:#6d28d90f;border-color:#6d28d959;color:#7e22ce}.feed-post-tag--adult{background:#b453090f;border-color:#b4530959;color:#b45309}.feed-post-tag--leader{background:#1d4ed80f;border-color:#1d4ed859;color:#1d4ed8}}.admin-link-btn{margin-top:1rem;padding:.4rem .8rem;border-radius:6px;border:1px solid var(--border);background:transparent;color:var(--fg);font-size:.8rem;cursor:pointer;opacity:.4;transition:opacity .2s}.admin-link-btn:hover{opacity:.8}.login-back-btn{display:block;margin-top:.5rem;background:transparent;border:none;color:#1a1a2e;font-size:.82rem;opacity:.5;cursor:pointer;padding:.25rem 0;text-align:left}.login-back-btn:hover{opacity:.85}@media (prefers-color-scheme: dark){.login-back-btn{color:#e5e7eb}}.login-welcome{margin-bottom:.75rem;font-size:.95rem}.admin-back-btn{margin-top:1rem;padding:.4rem .8rem;border-radius:6px;border:1px solid var(--border);background:transparent;color:var(--fg);font-size:.8rem;cursor:pointer;opacity:.5}.admin-stats{display:grid;grid-template-columns:repeat(4,1fr);gap:.5rem;margin-bottom:.75rem}.admin-stat-card{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:.65rem .5rem;text-align:center;display:flex;flex-direction:column;gap:.15rem}.admin-stat-number{font-size:1.5rem;font-weight:700;background:linear-gradient(135deg,var(--accent),var(--accent2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.admin-stat-label{font-size:.7rem;opacity:.5;text-transform:uppercase;letter-spacing:.05em}.admin-section{margin-bottom:2rem}.admin-section h2{font-size:1.1rem;margin:0 0 1rem}.admin-team-card{background:var(--bg-card);border:1px solid var(--border);border-radius:12px;padding:1rem;margin-bottom:.75rem}.admin-team-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.admin-team-name{font-weight:700;font-size:1rem;display:flex;align-items:center;gap:.4rem}.admin-rename-btn{background:none;border:none;cursor:pointer;font-size:.85rem;opacity:.5;padding:0 2px}.admin-rename-btn:hover{opacity:1}.admin-team-rename-row{display:flex;align-items:center;gap:.4rem;flex:1}.admin-team-rename-input{background:var(--bg-badge);border:1px solid var(--border-strong);border-radius:6px;color:var(--fg);padding:.3rem .6rem;font-size:.95rem;min-width:0;flex:1}.admin-rename-save-btn{background:var(--accent);border:none;border-radius:6px;color:#fff;padding:.3rem .7rem;font-size:.8rem;cursor:pointer}.admin-rename-cancel-btn{background:none;border:1px solid var(--border-strong);border-radius:6px;color:var(--fg);padding:.3rem .5rem;font-size:.8rem;cursor:pointer;opacity:.6}.admin-team-switcher{display:flex;align-items:center;justify-content:space-between;background:#0ea5e91a;border:1px solid rgba(14,165,233,.25);border-radius:10px;padding:.6rem 1rem;margin:1rem 1.5rem 0}.admin-team-switcher-label{font-size:.9rem;opacity:.85}.admin-team-switch-btn{background:var(--accent);border:none;border-radius:6px;color:#fff;padding:.3rem .8rem;font-size:.8rem;cursor:pointer}.admin-team-picker{display:flex;flex-wrap:wrap;gap:.5rem;padding:.75rem 1.5rem}.admin-team-pick-item{background:var(--bg-hover);border:1px solid var(--border-strong);border-radius:8px;color:var(--fg);padding:.4rem .9rem;cursor:pointer;font-size:.85rem}.admin-team-pick-item.active{background:#0ea5e933;border-color:var(--accent);color:var(--accent)}.admin-team-pick-item:hover:not(.active){background:var(--bg-badge)}.admin-team-count{font-size:.8rem;opacity:.5}.admin-members{display:flex;flex-direction:column;gap:.4rem}.admin-member{display:flex;align-items:center;gap:.6rem;padding:.4rem .6rem;border-radius:6px;background:var(--bg-card);transition:background .15s}.admin-member:hover{background:#ffffff0f}.admin-member-avatar{width:28px;height:28px;border-radius:50%;background:#0ea5e940;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:.7rem;color:var(--accent);flex-shrink:0}.admin-member-name{flex:1;font-size:.9rem}.admin-member-progress{font-size:.8rem;color:var(--accent2);font-weight:600}.leader-role-badge{font-size:.7rem;font-weight:500;padding:.1rem .5rem;border-radius:999px;border:1px solid}.leader-role-badge--leader{background:#0ea5e914;border-color:#0ea5e966;color:var(--accent)}.leader-role-badge--member,.leader-role-badge--teen{background:var(--bg-badge);border-color:var(--border);color:var(--fg-muted)}.leader-role-badge--adult{background:#f59e0b1a;border-color:#f59e0b73;color:#f59e0b}.leader-role-badge--admin{background:#0ea5e914;border-color:#0ea5e966;color:var(--accent)}@media (prefers-color-scheme: light){.leader-role-badge--leader{background:#6d28d912;border-color:#6d28d959;color:#6d28d9}.leader-role-badge--adult{background:#b4530912;border-color:#b4530959;color:#b45309}}.family-header-sub{font-size:.9rem;font-weight:400;opacity:.6}.family-goals-context .goal-card{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.family-goals-context{margin-bottom:1rem!important}.family-goals-context h2{margin-bottom:.5rem}.family-goals-list{display:flex;flex-wrap:wrap;gap:8px}.family-goal-chip{display:flex;align-items:center;gap:.5rem;background:var(--bg-card);border:1px solid var(--border);border-radius:99px;padding:.3rem .75rem;font-size:.82rem}.family-goal-chip-label{font-weight:600;color:var(--fg)}.family-goal-chip-days{color:var(--fg-muted)}.family-coverage-note{font-size:.82rem;color:var(--fg-muted);margin:-4px 0 12px}.family-coverage-grid{display:grid;grid-template-columns:1fr 1fr 1fr;gap:16px}@media (max-width: 500px){.family-coverage-grid{grid-template-columns:1fr 1fr}}@media (max-width: 340px){.family-coverage-grid{grid-template-columns:1fr}}.family-coverage-item{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:12px 14px;display:flex;flex-direction:column;gap:6px}.family-coverage-label{font-size:.82rem;font-weight:600;color:var(--fg-muted)}.family-coverage-bar-wrap{display:flex;align-items:center;gap:8px}.family-coverage-pct{font-size:1.1rem;font-weight:700;color:var(--fg);min-width:42px;text-align:right}.family-coverage-count{font-size:.75rem;color:var(--fg-subtle)}.family-coverage-temple{justify-content:flex-start}.family-temple-stats{display:flex;flex-direction:column;gap:.2rem}.family-temple-row{display:flex;align-items:baseline;gap:.3rem}.family-temple-num{font-size:1.1rem;font-weight:700;color:var(--fg)}.family-temple-sub{font-size:.72rem;color:var(--fg-muted)}.family-temple-sep{font-size:.72rem;color:var(--fg-subtle);margin:0 .1rem}.family-card-mine{border-color:#0ea5e959}.family-read-today-dot{font-size:.75rem;color:var(--accent2);font-weight:700;margin-left:auto}.family-streak-row{font-size:.78rem;color:var(--fg-muted);margin-top:2px}.leader-member-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:8px}.leader-member-card{background:var(--bg-card);border:1px solid var(--border);border-radius:10px;padding:9px 12px;display:flex;flex-direction:column;gap:6px}.leader-member-card-header{display:flex;align-items:center;gap:7px}.leader-member-card-name{flex:1;font-size:.82rem;font-weight:600;color:var(--fg);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.leader-member-card-stats{display:flex;flex-direction:column;gap:4px}.leader-progress-row{display:flex;align-items:center;gap:6px}.leader-progress-label{font-size:.62rem;font-weight:600;color:var(--fg-muted);text-transform:uppercase;letter-spacing:.04em;width:24px;flex-shrink:0}.progress-bar-wrap{flex:1}.leader-progress-count{font-size:.65rem;color:var(--fg-muted);white-space:nowrap;min-width:40px;text-align:right}.leader-temple-row{display:flex;align-items:center;gap:6px}.leader-temple-count{font-size:.68rem;color:var(--fg-muted)}.leader-member-card .admin-member-avatar{width:26px;height:26px;font-size:.75rem}.leader-member-card .leader-role-badge{font-size:.6rem;padding:.1rem .35rem}.leader-member-card .progress-bar{height:6px}.admin-activity-list{display:flex;flex-direction:column;gap:.3rem;max-height:400px;overflow-y:auto}.admin-activity-row{display:flex;align-items:center;gap:.75rem;padding:.4rem .6rem;border-radius:6px;background:var(--bg-card);font-size:.8rem}.admin-activity-date{flex-shrink:0;min-width:50px;opacity:.5}.admin-activity-user{flex:1;font-weight:600}.admin-activity-team{flex-shrink:0;color:var(--accent);font-size:.75rem}.admin-activity-type{flex-shrink:0;color:var(--accent2);font-size:.75rem;font-weight:600}@media (max-width: 640px){.admin-stats{grid-template-columns:repeat(3,1fr);gap:.5rem}}.team-goal-stats{grid-template-columns:repeat(5,1fr);margin-bottom:0}.team-temple-stats{grid-template-columns:repeat(4,1fr)}.leader-stats{grid-template-columns:repeat(5,1fr)!important}.leader-stats .admin-stat-card{padding:.45rem .25rem}.leader-stats .admin-stat-number{font-size:1.2rem}.leader-stats .admin-stat-label{font-size:.58rem}.leader-danger-zone{border:1px solid rgba(239,68,68,.25);border-radius:12px;padding:1rem;margin-bottom:2rem;background:#ef44440a}.leader-danger-zone-header{display:flex;align-items:baseline;gap:.75rem;margin-bottom:.75rem;font-weight:700;font-size:1rem;color:#ef4444}.leader-danger-zone-hint{font-size:.75rem;font-weight:400;color:var(--fg-muted)}.leader-danger-zone .admin-members-section,.leader-danger-zone .admin-families-section{border-radius:8px;overflow:hidden;margin-bottom:.5rem}@media (max-width: 480px){.team-goal-stats{grid-template-columns:repeat(3,1fr)!important}}.team-summary-stats{grid-template-columns:repeat(4,1fr)!important}@media (max-width: 480px){.team-goal-stats .admin-stat-number,.team-summary-stats .admin-stat-number{font-size:1.1rem}.team-goal-stats .admin-stat-label,.team-summary-stats .admin-stat-label{font-size:.6rem}}.admin-delete-btn{margin-left:auto;padding:.2rem .5rem;font-size:.75rem;background:transparent;color:#e05c5c;border:1px solid #e05c5c44;border-radius:6px;cursor:pointer;white-space:nowrap;transition:background .15s}.admin-delete-btn:hover{background:#e05c5c22}.admin-confirm-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:100}.admin-confirm-card{background:var(--bg-card-solid);border:1px solid var(--border);border-radius:12px;padding:1.5rem 2rem;max-width:360px;width:90%;text-align:center}.admin-confirm-card p{margin-bottom:1.25rem;font-size:.95rem}.admin-confirm-actions{display:flex;gap:.75rem;justify-content:center}.admin-delete-confirm-btn{background:#e05c5c;color:#fff;border:none;border-radius:8px;padding:.5rem 1.25rem;cursor:pointer;font-weight:600}.admin-delete-confirm-btn:hover{background:#c94a4a}.admin-create-team-form{display:flex;gap:.6rem;flex-wrap:wrap;align-items:center}.admin-create-team-form input{flex:1 1 150px;padding:.5rem .75rem;border-radius:8px;border:1px solid var(--border);background:var(--bg-input);color:inherit;font-size:.9rem}.admin-create-team-form button{padding:.5rem 1.1rem;background:var(--accent-purple);color:#fff;border:none;border-radius:8px;font-weight:600;cursor:pointer;white-space:nowrap}.admin-create-team-form button:disabled{opacity:.5;cursor:not-allowed}@media (max-width: 520px){.admin-create-team-form{flex-direction:column}.admin-create-team-form input,.admin-create-team-form button{width:100%;flex:none}}.admin-team-passcode{font-size:.78rem;color:var(--accent-purple);background:#7c6fcd17;border:1px solid rgba(124,111,205,.27);border-radius:6px;padding:.15rem .5rem;font-family:monospace}.admin-toggle-passcode-btn{font-size:.78rem;background:transparent;border:1px solid var(--border);border-radius:6px;padding:.2rem .6rem;cursor:pointer;color:inherit;white-space:nowrap}.feed-post-delete-btn{margin-left:auto;background:transparent;border:none;color:var(--fg-subtle);cursor:pointer;padding:.2rem;display:flex;align-items:center;justify-content:center;border-radius:4px;opacity:0;transition:opacity .15s,color .15s}.feed-post-mine:hover .feed-post-delete-btn,.feed-post-mine:focus-within .feed-post-delete-btn{opacity:1}.feed-post-delete-btn:hover{color:#e05c5c}.modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0000008c;z-index:500;display:flex;align-items:flex-end;justify-content:center;padding-bottom:env(safe-area-inset-bottom);animation:modal-fade-in .15s ease}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}.modal-sheet{background:var(--bg-card-solid);border:1px solid var(--border);border-radius:20px 20px 0 0;padding:1.5rem 1.5rem calc(1.5rem + env(safe-area-inset-bottom));width:100%;max-width:480px;display:flex;flex-direction:column;gap:.6rem;animation:sheet-up .2s ease}@keyframes sheet-up{0%{transform:translateY(100%)}to{transform:translateY(0)}}.modal-title{margin:0;font-size:1rem;font-weight:700;color:var(--fg)}.modal-subtitle{margin:0 0 .4rem;font-size:.85rem;color:var(--fg-muted)}.modal-btn{width:100%;padding:.85rem;border:none;border-radius:12px;font-size:.95rem;font-weight:600;cursor:pointer}.modal-btn-danger{background:#e05c5c;color:#fff}.modal-btn-cancel{background:var(--bg-panel);color:var(--fg)}.profile-page{padding:0}.profile-container{max-width:560px;margin:0 auto;padding:1.5rem 1rem;display:flex;flex-direction:column;gap:1.5rem}.profile-section{background:var(--bg-card-solid);border:1px solid var(--border);border-radius:14px;padding:1.5rem}.profile-section h2{margin:0 0 1rem;font-size:1rem;font-weight:700;color:var(--accent)}.profile-form{display:flex;flex-direction:column;gap:.75rem}.profile-field{display:flex;flex-direction:column;gap:.3rem}.profile-field label{font-size:.82rem;opacity:.7;font-weight:500}.profile-field input,.profile-field select{width:100%;padding:.65rem .85rem;border-radius:8px;background:var(--bg-input);border:1px solid var(--border);color:var(--fg);font-size:.95rem;box-sizing:border-box;outline:none;transition:border-color .2s}.profile-form button[type=submit]{width:100%;padding:.65rem;border-radius:8px;border:none;background:var(--accent);color:#fff;font-size:.95rem;font-weight:600;cursor:pointer;transition:opacity .2s;box-sizing:border-box}.profile-form button[type=submit]:hover:not(:disabled){opacity:.85}.profile-form button[type=submit]:disabled{opacity:.4;cursor:default}.profile-field input:focus,.profile-field select:focus{border-color:var(--accent-purple)}.profile-readonly{padding:.5rem .75rem;border-radius:8px;background:var(--bg-input);border:1px solid var(--border);font-size:.95rem;opacity:.6;font-family:monospace;letter-spacing:.03em}.profile-role-badge{font-family:inherit;letter-spacing:0;opacity:.8}.profile-hint{font-size:.75rem;opacity:.45;margin:0}.profile-msg{margin:.25rem 0 0;font-size:.83rem;border-radius:6px;padding:.35rem .6rem}.profile-msg-ok{background:#2ecc7122;color:#2ecc71}.profile-msg-err{background:#e05c5c22;color:#e05c5c}.team-hero{background:linear-gradient(135deg,#1e3a8a,#0284c7);border-radius:16px;padding:1.25rem 1.25rem 1rem;margin:0;text-align:center;color:#fff}.team-hero-number{display:block;font-size:2.75rem;font-weight:800;line-height:1}.team-hero-label{display:block;font-size:.95rem;font-weight:600;margin:.2rem 0 .1rem;opacity:.9}.team-hero-sub{display:block;font-size:.8rem;opacity:.75;margin-bottom:.9rem}.team-coverage-bar-wrap{padding:0 .5rem;margin-bottom:.25rem}.team-coverage-bar{background:#ffffff40;border-radius:99px;height:10px;position:relative}.team-coverage-bar-fill{background:#fff;height:100%;border-radius:99px;transition:width .6s ease}.team-coverage-pace-marker{position:absolute;top:50%;transform:translate(-50%,-50%);width:3px;height:18px;background:#1e1b4b;border-radius:2px;box-shadow:0 0 0 1.5px #ffffffbf;z-index:1}.team-pace-status{margin-top:.45rem;font-size:.75rem;font-weight:600;text-align:center;letter-spacing:.02em}.pace-ahead{color:#6ee7b7}.pace-ontrack{color:#fff;opacity:.85}.pace-behind{color:#fca5a5}.admin-youth-group-select{font-size:.7rem;padding:.2rem .35rem;border-radius:6px;border:1px solid rgba(148,163,184,.4);background:#0f172a99;color:#e2e8f0;max-width:150px}.leader-member-group-chip{display:inline-block;font-size:.7rem;font-weight:600;color:#a5b4fc;background:#6366f126;border:1px solid rgba(99,102,241,.35);border-radius:999px;padding:.1rem .5rem;margin-bottom:4px}.team-group-breakdown{margin-top:.85rem;padding-top:.75rem;border-top:1px solid rgba(148,163,184,.18)}.team-group-breakdown-title{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#94a3b8;margin-bottom:.5rem}.team-group-row{display:grid;grid-template-columns:11rem 1fr 2.75rem;align-items:center;gap:.6rem;margin-bottom:.45rem}.team-group-row-label{font-size:.8rem;font-weight:600;color:#e2e8f0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.team-group-sex-m{border-left:3px solid #38bdf8;padding-left:.4rem}.team-group-sex-f{border-left:3px solid #f472b6;padding-left:.4rem}.team-group-sex-u{border-left:3px solid #64748b;padding-left:.4rem}.team-group-row-count{color:#94a3b8;font-weight:500}.team-group-row-bar{position:relative;height:8px;border-radius:99px;background:#94a3b833}.team-group-row-fill{height:100%;border-radius:99px;background:linear-gradient(90deg,var(--accent, #0ea5e9),var(--accent2, #6366f1));transition:width .5s ease}.team-group-row-pace{position:absolute;top:50%;transform:translate(-50%,-50%);width:2px;height:14px;background:#e2e8f0;border-radius:2px;box-shadow:0 0 0 1px #020617b3}.team-group-row-pct{font-size:.78rem;font-weight:700;color:#cbd5e1;text-align:right}.leader-group-breakdowns{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1rem 1.75rem}.leader-group-block .team-group-breakdown{margin-top:0;padding-top:0;border-top:none}.leader-teen-group{margin-bottom:1.5rem}.leader-teen-group-title{font-size:.95rem;font-weight:700;margin:0 0 .6rem;padding-left:.5rem;color:#e2e8f0;border-left:4px solid #64748b}.leader-teen-group-m{border-left-color:#38bdf8}.leader-teen-group-f{border-left-color:#f472b6}.leader-teen-group-u{border-left-color:#64748b}.leader-teen-group-count{font-weight:500;color:#94a3b8}@media (prefers-color-scheme: light){.team-hero{background:linear-gradient(135deg,#6d28d9,#a78bfa)}}.team-members-list{display:flex;flex-direction:column;gap:.75rem}.team-member-private-note{font-size:.8rem;opacity:.45;text-align:center;margin:.5rem 0 0;font-style:italic}.team-member-card{background:var(--bg-card-solid);border:1px solid var(--border);border-radius:12px;padding:.9rem 1rem}.team-member-card--me{border-color:var(--accent-purple);box-shadow:0 0 0 1px var(--accent-purple) 33}.team-member-card-top{display:flex;align-items:center;gap:.75rem;margin-bottom:.6rem}.team-member-avatar{width:36px;height:36px;border-radius:50%;background:var(--accent-purple);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem;flex-shrink:0}.team-member-info{flex:1;display:flex;flex-direction:column;gap:.1rem}.team-member-name{font-weight:600;font-size:.95rem;display:flex;align-items:center;gap:.4rem}.team-member-you{font-size:.68rem;background:var(--accent-purple);color:#fff;border-radius:4px;padding:.05rem .35rem;font-weight:600}.team-member-leader{font-size:.85rem}.team-member-stats{font-size:.78rem;opacity:.55}.team-member-pct{font-size:1rem;font-weight:700;color:var(--accent-purple);flex-shrink:0}.team-member-bar{background:var(--border);border-radius:99px;height:6px;overflow:hidden}.team-member-bar-fill{background:var(--accent-purple);height:100%;border-radius:99px;transition:width .5s ease}.book-tabs{display:flex;gap:.5rem;margin:0 0 1.25rem;padding:.25rem;background:var(--bg-card-solid);border-radius:999px;width:fit-content}.book-tab{padding:.5rem 1.25rem;border-radius:999px;border:none;background:transparent;color:var(--fg-muted);font-size:.875rem;font-weight:500;cursor:pointer;transition:background .2s,color .2s;white-space:nowrap;min-height:44px}.book-tab:hover{background:var(--bg-hover);color:var(--fg)}.book-tab.active{background:var(--accent);color:#fff}.fsy-tracker{border-top:1px solid var(--border);padding:1.25rem 0 0;margin-top:1rem}.fsy-tracker-header{margin-bottom:1rem}.fsy-tracker-header h2{margin:0 0 .25rem;font-size:1.25rem;color:var(--fg)}.fsy-subtitle{margin:0;font-size:.875rem;color:var(--fg-muted)}.fsy-chapters-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:.75rem}@media (max-width: 480px){.fsy-chapters-grid{grid-template-columns:1fr}}.fsy-chapter-card{display:flex;align-items:center;gap:.75rem;background:var(--bg-card);border-radius:10px;padding:.75rem 1rem;cursor:pointer;border:2px solid var(--border);min-height:80px;transition:background .2s,border-color .2s,transform .15s;-webkit-user-select:none;user-select:none}.fsy-chapter-card:hover{background:var(--bg-badge);transform:translateY(-1px)}.fsy-chapter-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.fsy-chapter-card.fsy-chapter-read{background:#22c55e1f;border-color:#22c55e44}.fsy-chapter-card.fsy-chapter-read .fsy-chapter-num{color:#22c55e}.fsy-chapter-card.fsy-chapter-pending{background:#0ea5e914;border-color:var(--accent)}.fsy-chapter-num{font-size:1.4rem;font-weight:700;min-width:2rem;text-align:center;color:var(--fg-muted);flex-shrink:0}.fsy-chapter-content{flex:1;min-width:0}.fsy-chapter-title{font-size:.875rem;font-weight:600;color:var(--fg);line-height:1.3;margin-bottom:.2rem}.fsy-chapter-scripture{font-size:.75rem;color:var(--fg-subtle)}.fsy-report-bar{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap;background:var(--bg-card);border:1px solid var(--accent);border-radius:10px;padding:.75rem 1rem;margin-top:1rem;font-size:.875rem;color:var(--fg)}.fsy-report-bar span{flex:1}.report-btn-sm{background:var(--bg-card);border:1px solid var(--border);color:var(--fg-muted);border-radius:6px;padding:.4rem .8rem;cursor:pointer;font-size:.8rem;min-height:36px}.report-btn-sm:hover{background:var(--bg-badge)}.report-submit{background:var(--accent);border:none;color:#fff;border-radius:6px;padding:.4rem 1rem;cursor:pointer;font-size:.875rem;font-weight:600;min-height:36px;transition:opacity .2s}.report-submit:disabled{opacity:.5;cursor:not-allowed}.report-confirm{margin-top:.75rem;text-align:center;color:#22c55e;font-weight:600}.feed-post-book-badge{display:inline-block;background:#0ea5e914;border:1px solid var(--accent);color:var(--accent);font-size:.7rem;font-weight:700;padding:.15rem .5rem;border-radius:999px;margin-right:.4rem;vertical-align:middle}.goal-card{background:var(--bg-card-solid);border:1px solid var(--border);border-radius:10px;padding:1rem 1.25rem;margin-bottom:.75rem}.goal-card-title{font-size:1rem;font-weight:700;color:var(--fg);margin-bottom:.4rem}.goal-date{font-size:.875rem;color:var(--fg-muted)}.goal-note{margin-top:.4rem;font-size:.8rem;color:var(--fg-subtle);font-style:italic}.days-remaining{font-weight:600}.days-green{color:#22c55e}.days-yellow{color:#eab308}.days-red{color:#ef4444}.admin-goal-form{background:var(--bg-card-solid);border-top:1px solid var(--border);padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.75rem}.admin-goal-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.admin-goal-row label{font-size:.8rem;color:var(--fg-muted);min-width:140px;flex-shrink:0}.admin-goal-row input[type=date],.admin-goal-row input[type=text]{background:var(--bg-input);border:1px solid var(--border);color:var(--fg);border-radius:6px;padding:.35rem .6rem;font-size:.85rem;min-height:36px}.admin-goal-row input[type=text]{flex:1;min-width:160px}.admin-goal-label{display:block;font-size:.8rem;color:var(--fg-muted);margin-top:.5rem;margin-bottom:.25rem}.goal-badge{margin:4px 0 12px;font-size:.82rem;opacity:.9}.goal-badge.days-green{color:#4ade80}.goal-badge.days-yellow{color:#fbbf24}.goal-badge.days-red{color:#f87171}@media (prefers-color-scheme: light){.goal-badge.days-green{color:#15803d}.goal-badge.days-yellow{color:#b45309}.goal-badge.days-red{color:#dc2626}}.temple-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(130px,1fr));gap:12px;margin:16px}.temple-metric-card{background:var(--bg-card-solid);border:1px solid var(--border);border-radius:10px;padding:16px;text-align:center}.temple-metric-num{display:block;font-size:2rem;font-weight:700;color:var(--accent-sky)}.temple-metric-label{font-size:.72rem;text-transform:uppercase;letter-spacing:.05em;color:var(--fg-muted)}.temple-form{background:var(--bg-card-solid);border:1px solid var(--border);border-radius:12px;padding:20px;margin:0 16px 16px;display:flex;flex-direction:column;gap:12px}.temple-form h3{margin:0 0 4px;font-size:1rem}.temple-form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}@media (max-width: 480px){.temple-form-row{grid-template-columns:1fr}}.temple-form input,.temple-form textarea{background:var(--bg-input);border:1px solid var(--border);border-radius:8px;color:var(--fg);padding:10px 12px;font-size:.9rem;width:100%;box-sizing:border-box}.temple-form textarea{resize:vertical;min-height:70px}.temple-form label{font-size:.8rem;color:var(--fg-muted);margin-bottom:2px;display:block}.temple-entries{margin:0 16px 80px;display:flex;flex-direction:column;gap:10px}.temple-entry-card{background:var(--bg-card-solid);border-radius:10px;padding:14px 16px;display:flex;justify-content:space-between;align-items:flex-start;gap:12px}.temple-entry-info{flex:1;min-width:0}.temple-entry-date{font-weight:600;font-size:.9rem;color:var(--accent-sky)}.temple-entry-name{font-size:1rem;font-weight:500;margin:2px 0}.temple-entry-stats{font-size:.8rem;color:var(--fg-muted);margin:2px 0}.temple-entry-notes{font-size:.82rem;color:var(--fg-muted);margin-top:4px;font-style:italic}.temple-delete-btn{background:none;border:none;color:#f87171;cursor:pointer;font-size:1.3rem;padding:4px 8px;min-width:44px;min-height:44px;border-radius:8px;display:flex;align-items:center;justify-content:center}.temple-delete-btn:hover{background:#f871711a}.temple-confirm-actions{display:flex;gap:8px;margin-top:4px}.temple-confirm-yes{background:#ef4444;color:#fff;border:none;border-radius:6px;padding:6px 14px;cursor:pointer;font-size:.85rem}.temple-confirm-no{background:var(--bg-input);color:var(--fg);border:none;border-radius:6px;padding:6px 14px;cursor:pointer;font-size:.85rem}.team-book-grid{display:grid;grid-template-columns:1fr;gap:0}@media (min-width: 900px){.team-book-grid{grid-template-columns:repeat(2,1fr);gap:16px}}.team-book-section{margin:0 0 24px;border:1px solid var(--border);border-radius:14px;overflow:hidden}@media (min-width: 900px){.team-book-section{margin:0}.team-book-section--full{grid-column:1 / -1}}.team-book-section-header{background:linear-gradient(135deg,#0ea5e926,#0ea5e940);padding:10px 20px;display:flex;flex-direction:column;align-items:flex-start;gap:3px}.team-book-section-title{font-size:1rem;font-weight:700;white-space:nowrap}.team-book-goal-badge{font-size:.82rem;opacity:.9;display:flex;align-items:center;gap:6px;flex-wrap:nowrap}.team-book-goal-sep{opacity:.5}@media (max-width: 480px){.team-book-section-header{padding:10px 16px}}.team-book-section-body{padding:16px;display:flex;flex-direction:column;gap:12px}@media (max-width: 480px){.team-book-section{margin:0 0 12px}.team-book-section-body{padding:10px;gap:8px}.team-hero{padding:.6rem .85rem .55rem;text-align:left}.team-hero-stat{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin-bottom:.45rem}.team-hero-number{flex-shrink:0}.team-hero-label{flex-shrink:0;margin:0}.team-hero-sub{flex-basis:100%;margin-bottom:0;opacity:.7}.team-coverage-bar-wrap{padding:0;margin-bottom:0}.team-goal-stats{grid-template-columns:repeat(5,1fr)!important;margin-bottom:0}.team-temple-stats{grid-template-columns:repeat(4,1fr)!important}.team-goal-stats .admin-stat-card{padding:.4rem .15rem}}.no-goals-card{background:var(--bg-card-solid);border-radius:12px;padding:32px;text-align:center;color:var(--fg-muted);margin:16px}.no-goals-card h3{margin:0 0 8px;color:var(--fg-muted)}.personal-streak-banner{display:flex;align-items:center;gap:8px;margin:0 0 12px;padding:10px 14px;background:#f59e0b1a;border:1px solid rgba(245,158,11,.3);border-radius:10px}.personal-streak-fire{font-size:1.2rem;line-height:1}.personal-streak-text{font-size:.88rem;color:var(--fg)}.personal-streak-text strong{color:#f59e0b}.personal-streak-check{color:#34d399}.app-shell{flex:1;min-height:100vh;min-height:-webkit-fill-available;background:var(--bg-shell);display:flex;flex-direction:column;padding-top:env(safe-area-inset-top)}.sw-update-banner{background:#1a3a1a;border-bottom:1px solid #2ecc71;color:#2ecc71;font-size:.85rem;padding:8px 16px;display:flex;align-items:center;gap:10px;justify-content:center}.sw-update-btn{background:#2ecc71;color:#0a0a0a;border:none;border-radius:6px;padding:4px 12px;font-size:.82rem;font-weight:700;cursor:pointer}.page-content{flex:1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;padding-bottom:calc(1rem + env(safe-area-inset-bottom))}.app-nav{position:sticky;top:0;z-index:100;width:100%;box-shadow:var(--shadow-nav);padding-top:env(safe-area-inset-top)}.app-nav-user{background:var(--bg-nav);padding:8px 16px;display:flex;align-items:center;gap:10px;border-bottom:1px solid var(--border);border-radius:0;width:100%;cursor:pointer;transition:background .15s;border-top:none;border-left:none;border-right:none;text-align:left}.app-nav-user:hover,.app-nav-user.active{background:var(--bg-hover)}.app-nav-user.active .app-nav-username{color:var(--accent-sky)}.app-nav-user-chevron{margin-left:auto;font-size:1.2rem;color:var(--fg-muted);line-height:1}.app-nav-avatar{width:32px;height:32px;border-radius:50%;background:var(--accent-sky);color:var(--bg-shell);font-weight:700;font-size:.9rem;display:flex;align-items:center;justify-content:center;flex-shrink:0}.app-nav-username{font-size:.88rem;color:var(--fg);font-weight:500}.app-nav-tabs{background:var(--bg-nav);display:flex;overflow-x:auto;scrollbar-width:none;-ms-overflow-style:none;border-bottom:1px solid var(--border)}.app-nav-tabs::-webkit-scrollbar{display:none}.app-nav-tab{flex-shrink:0;min-width:60px;min-height:52px;padding:6px 14px;border:none;background:transparent;color:var(--fg-muted);cursor:pointer;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;position:relative;transition:color .15s,background .15s;-webkit-tap-highlight-color:transparent}.app-nav-tab:hover{color:var(--fg);background:var(--bg-hover)}.app-nav-tab.active{color:var(--accent-sky)}.app-nav-tab.active:after{content:"";position:absolute;bottom:0;left:8px;right:8px;height:3px;background:var(--accent-sky);border-radius:3px 3px 0 0}.app-nav-tab-icon{font-size:18px;line-height:1;display:flex;align-items:center;justify-content:center}.app-nav-tab-label{font-size:11px;font-weight:500;letter-spacing:.02em;white-space:nowrap}.app-nav-tab.signout{color:#f87171;margin-left:auto}.app-nav-tab.signout:hover{color:#fca5a5;background:#f871710f}.visibility-toggle{display:flex;align-items:center;gap:8px;cursor:pointer;-webkit-user-select:none;user-select:none;padding:6px 0}.visibility-toggle input[type=checkbox]{width:18px;height:18px;accent-color:var(--accent-sky);cursor:pointer;flex-shrink:0}.visibility-toggle-label{font-size:.88rem;color:var(--fg-muted);transition:color .15s}.visibility-toggle:has(input:checked) .visibility-toggle-label{color:var(--accent-sky)}.visibility-toggle-inline{padding:0}.book-tab{display:flex;align-items:center;gap:6px}.book-tab svg{flex-shrink:0;opacity:.8}.piece-readonly{cursor:default!important;pointer-events:none}.feed-post-temple{display:flex;align-items:flex-start;gap:10px}.feed-post-temple-icon{font-size:1.3rem;line-height:1.3;flex-shrink:0}.feed-post-temple-name{font-weight:600;color:var(--fg);margin:0 0 2px}.feed-post-temple-stats{font-size:.85rem;color:var(--fg-muted);margin:0}.temple-share-section{background:#4fc3f70d;border:1px solid rgba(79,195,247,.15);border-radius:12px;padding:16px;margin:0 16px 16px;display:flex;flex-direction:column;gap:8px}.temple-share-section h3{margin:0 0 2px;font-size:1rem}.temple-share-row{display:flex;gap:10px;align-items:flex-end}.temple-share-row .btn-primary{width:auto;padding:.75rem 1.5rem;flex-shrink:0}@media (max-width: 480px){.temple-share-row{flex-direction:column;align-items:stretch}.temple-share-row .btn-primary{width:100%}}.temple-share-input{flex:1;background:var(--bg-input);border:1px solid var(--border);border-radius:8px;color:var(--fg);padding:8px 10px;font-size:.9rem;resize:none;font-family:inherit}.temple-share-input::placeholder{color:var(--fg-subtle)}.temple-share-input:focus{outline:none;border-color:var(--accent-sky)}.team-today-stats{border-top:1px solid var(--border);padding-top:8px}.team-today-card .admin-stat-number{color:var(--accent-sky)}.admin-goals-section{background:var(--bg-hover);border:1px solid rgba(79,195,247,.12);border-radius:10px;padding:0;margin:10px 0;display:flex;flex-direction:column;gap:0;overflow:hidden}.admin-goals-section .admin-section-toggle{border-color:#4fc3f740;border-radius:10px}.admin-goals-body{display:flex;flex-direction:column;gap:8px;padding:10px 14px 12px}.admin-goals-empty{color:var(--fg-subtle);font-size:.83rem;margin:0}.admin-goals-add-btn{background:#4fc3f71a;border:1px solid rgba(79,195,247,.25);color:var(--accent-sky);border-radius:6px;padding:4px 10px;font-size:.82rem;cursor:pointer}.admin-goals-add-btn:hover{background:#4fc3f72e}.admin-goal-item{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:6px 8px;border-radius:7px;font-size:.83rem}.admin-goal-active{background:#4fc3f70f;border:1px solid rgba(79,195,247,.15)}.admin-goal-done{background:#ffffff08;border:1px solid rgba(255,255,255,.06);opacity:.7}.admin-goal-item-info{display:flex;align-items:center;gap:8px;flex:1;flex-wrap:wrap}.admin-goal-book{font-weight:600;color:var(--fg)}.admin-goal-dates{color:var(--fg-muted)}.admin-goal-note{color:var(--fg-subtle);font-style:italic}.admin-goal-done-badge{color:#4ade80;font-size:.78rem;font-weight:600;margin-left:auto}.admin-goal-complete-btn{background:#4ade801a;border:1px solid rgba(74,222,128,.25);color:#4ade80;border-radius:5px;padding:3px 9px;font-size:.78rem;cursor:pointer;white-space:nowrap}.admin-goal-complete-btn:hover{background:#4ade8033}.admin-add-goal-form{display:flex;flex-direction:column;gap:8px;padding:10px;background:var(--bg-hover);border-radius:8px;border:1px dashed rgba(79,195,247,.2)}.admin-goal-history-toggle{background:none;border:none;color:var(--fg-subtle);font-size:.8rem;cursor:pointer;padding:2px 0;text-align:left}.admin-goal-history-toggle:hover{color:var(--fg-muted)}.admin-goal-history-list{display:flex;flex-direction:column;gap:4px;margin-top:4px}.admin-page{width:100%;max-width:960px;margin:0 auto;padding:1.5rem;box-sizing:border-box}.admin-page-titlebar{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.2rem .5rem}.admin-page-titlebar h1{font-size:1.3rem;margin:0}.admin-refresh-btn{background:var(--bg-card-solid);border:1px solid var(--border);color:var(--fg-muted);padding:.35rem .8rem;border-radius:6px;cursor:pointer;font-size:.85rem}.admin-refresh-btn:hover{border-color:var(--accent);color:var(--accent)}.pre-login-admin-bar{padding:.6rem 1rem;background:var(--bg-card-solid);border-bottom:1px solid var(--border)}.admin-role-badge{font-size:.7rem;padding:.15rem .45rem;border-radius:10px;font-weight:600;text-transform:capitalize;border:1px solid}.admin-role-member,.admin-role-teen{background:#3b82f618;border-color:#3b82f644;color:#3b82f6}.admin-role-adult{background:#f59e0b18;border-color:#f59e0b44;color:#d97706}.admin-role-leader{background:#2ecc7118;border-color:#2ecc7144;color:#2ecc71}.admin-role-admin{background:#e74c3c18;border-color:#e74c3c44;color:#e74c3c}.admin-role-btn{font-size:.75rem;padding:.2rem .55rem;border-radius:6px;border:1px solid rgba(255,255,255,.1);background:#ffffff0d;color:var(--fg-muted);cursor:pointer;transition:opacity .15s}.admin-role-btn:disabled{cursor:default;opacity:1}.admin-role-btn:not(:disabled):hover{opacity:.8}.admin-role-btn--teen{background:#3b82f618;border-color:#3b82f644;color:#3b82f6}.admin-role-btn--adult{background:#f59e0b18;border-color:#f59e0b44;color:#d97706}.admin-role-btn--leader{background:#2ecc7118;border-color:#2ecc7144;color:#2ecc71}.admin-members-section{margin:10px 0}.admin-section-toggle{width:100%;display:flex;align-items:center;justify-content:space-between;background:var(--bg-hover);border:1px solid var(--border);border-radius:10px;padding:10px 14px;font-size:.9rem;font-weight:600;color:var(--fg);cursor:pointer;transition:background .15s}.admin-section-toggle:hover{background:var(--bg-card-solid)}.admin-families-section{background:var(--bg-hover);border:1px solid rgba(245,158,11,.15);border-radius:10px;padding:0;margin:10px 0;display:flex;flex-direction:column;gap:0;overflow:hidden}.admin-families-section .admin-section-toggle{border-color:#f59e0b4d;border-radius:10px}.admin-families-body{padding:12px 14px;display:flex;flex-direction:column;gap:10px}.admin-family-card{background:#f59e0b0d;border:1px solid rgba(245,158,11,.18);border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:8px}.admin-family-header{display:flex;align-items:center;justify-content:space-between}.admin-family-name{font-weight:600;font-size:.9rem;color:#f59e0b}.admin-family-rename-btn{background:none;border:none;color:var(--fg-muted);cursor:pointer;font-size:.9rem;padding:0 .25rem;opacity:.6;line-height:1}.admin-family-rename-btn:hover{opacity:1}.admin-family-members{display:flex;flex-wrap:wrap;gap:6px;min-height:24px}.admin-family-empty{font-size:.8rem;color:var(--fg-subtle)}.admin-family-member-chip{display:flex;align-items:center;gap:5px;background:var(--bg-badge);border:1px solid var(--border);border-radius:20px;padding:3px 8px 3px 4px;font-size:.82rem}.admin-family-chip-avatar{width:20px;height:20px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.7rem;font-weight:700;flex-shrink:0}.admin-family-chip-name{font-size:.82rem;color:var(--fg)}.admin-family-chip-remove{background:none;border:none;color:var(--fg-muted);cursor:pointer;font-size:.75rem;padding:0 2px;line-height:1}.admin-family-chip-remove:hover{color:#ef4444}.admin-family-add-row{display:flex;gap:6px;align-items:center}.admin-family-add-select{flex:1;background:var(--bg);border:1px solid var(--border);color:var(--fg);border-radius:6px;padding:4px 8px;font-size:.82rem}.admin-family-create-row{display:flex;gap:6px;align-items:center;margin-top:4px;padding-top:8px;border-top:1px solid var(--border)}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.skeleton{background:linear-gradient(90deg,var(--bg-hover) 25%,var(--bg-badge) 50%,var(--bg-hover) 75%);background-size:200% 100%;animation:shimmer 1.4s ease infinite;border-radius:6px}.skeleton-line{display:block;border-radius:4px;margin-bottom:6px}.skeleton-box{display:block;width:100%;border-radius:10px}.skeleton-avatar{width:26px;height:26px;border-radius:50%;flex-shrink:0}.skeleton-feed-post{padding:.75rem;border-radius:8px;background:var(--bg-card);margin-bottom:.5rem;display:flex;flex-direction:column;gap:6px}.skeleton-feed-post-header{display:flex;align-items:center;gap:.5rem;margin-bottom:2px}.skeleton-feed-post-meta{display:flex;flex-direction:column;gap:4px;flex:1}.page-loading{padding:1.5rem;display:flex;flex-direction:column;gap:1rem}@keyframes page-enter{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.page-view{animation:page-enter .18s ease}button:active:not(:disabled),.app-nav-tab:active,.feed-post:active{opacity:.75;transform:scale(.97);transition:opacity .1s,transform .1s}.pull-refresh-indicator{text-align:center;padding:.5rem;font-size:.85rem;color:var(--accent);opacity:.8;animation:fadeIn .2s ease}.feed-offline-banner{background:#eab3081f;border:1px solid rgba(234,179,8,.3);color:#ca8a04;font-size:.78rem;text-align:center;padding:.4rem .75rem;border-radius:8px;margin-bottom:.5rem}@media (prefers-color-scheme: light){.feed-offline-banner{color:#92400e;background:#eab30814}}.feed-post-error{font-size:.82rem;color:#f87171;background:#f871711a;border-radius:6px;padding:.4rem .75rem;margin:0 0 .5rem}
