.admin-shell{gap:0;align-items:stretch}.admin-nav,.admin-shell{display:flex;height:100vh;height:100dvh}.admin-nav{width:232px;flex:none;border-right:1px solid var(--line);background:var(--panel);padding:18px 14px;flex-direction:column;gap:18px;position:sticky;top:0;overflow-y:auto}.admin-brand{display:flex;align-items:center;gap:10px;min-width:0}.admin-brand img{width:32px;height:32px;border-radius:7px;object-fit:contain;flex:none}.admin-brand span{display:flex;flex-direction:column;line-height:1.2;min-width:0}.admin-brand strong{font-size:.88rem;font-weight:640}.admin-links{display:flex;flex-direction:column;gap:2px}.admin-link{display:flex;align-items:center;min-height:38px;padding:0 11px;border-radius:var(--radius-sm);font-size:.85rem;font-weight:540;color:var(--text-2);transition:background .14s ease,color .14s ease}.admin-link:hover{background:var(--surface-2);color:var(--text)}.admin-link-active{background:var(--accent-soft);color:var(--accent);font-weight:600}.admin-identity{margin-top:auto;display:flex;flex-direction:column;gap:6px;align-items:flex-start;padding-top:14px;border-top:1px solid var(--line);min-width:0;width:100%}.admin-identity-name{font-size:.82rem;font-weight:580;width:100%}.admin-identity-email{font-size:.72rem;color:var(--text-3);width:100%}.admin-content{flex:1 1;min-width:0;padding:24px 26px 60px;overflow-y:auto;overflow-x:hidden}.btn-google{display:flex;align-items:center;justify-content:center;gap:10px;width:100%;min-height:44px;margin-bottom:16px;background:#ffffff;color:#1f2937;border:1px solid #d1d5db;border-radius:var(--radius-pill,999px);font-weight:600;font-size:.95rem;cursor:pointer;text-decoration:none;transition:background .15s ease}.btn-google:hover{background:#f3f4f6}.auth-divider{display:flex;align-items:center;gap:12px;margin:0 0 16px;color:var(--text-secondary,#9ca3af);font-size:.8rem;text-transform:uppercase;letter-spacing:.08em}.auth-divider:after,.auth-divider:before{content:"";flex:1 1;height:1px;background:var(--border-color,#333)}.profile-head{display:flex;align-items:center;gap:14px;margin-bottom:12px}.profile-page .page-title{margin-bottom:18px}.profile-avatar{width:52px;height:52px;flex:none;border-radius:50%;background:var(--accent-soft);color:var(--accent);display:flex;align-items:center;justify-content:center;font-size:1.35rem;font-weight:700;letter-spacing:.01em;box-shadow:0 0 0 2px var(--panel-raised,var(--panel)),0 0 0 3.5px var(--accent-line,var(--accent))}.profile-id{min-width:0;flex:1 1}.profile-name{font-size:1.05rem;font-weight:650;letter-spacing:-.01em}.profile-email,.profile-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.profile-email{font-size:.82rem;color:var(--text-3)}.profile-side{margin-left:auto;flex:none;display:flex;align-items:center;gap:10px}.profile-status{display:inline-flex;align-items:center;gap:7px;font-size:.76rem;font-weight:560;color:var(--text-2);border:1px solid var(--line);border-radius:var(--radius-pill,999px);padding:5px 11px;white-space:nowrap}.profile-cards{display:flex;flex-direction:column;gap:12px}.profile-card-title{font-size:.74rem;font-weight:650;letter-spacing:.07em;text-transform:uppercase;color:var(--text-3);margin:0 0 10px}.profile-row{display:flex;align-items:center;justify-content:space-between;gap:12px;min-width:0}.profile-row+.profile-row{margin-top:10px;padding-top:10px;border-top:1px solid var(--line)}.profile-row-label{font-size:.8125rem;font-weight:560;color:var(--text-2)}.profile-row-value{font-size:.9rem;font-weight:550;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media (max-width:520px){.profile-head{flex-wrap:wrap}.profile-side{margin-left:0;width:100%;justify-content:space-between}}.profile-anim{animation:profile-rise .45s cubic-bezier(.22,1,.36,1) both;animation-delay:var(--d,0s)}@keyframes profile-rise{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.profile-page .btn:active:not(:disabled){opacity:.9}.profile-cards .panel{transition:border-color .2s ease}.profile-cards .panel:hover{border-color:var(--line-strong)}.profile-status .account-dot.dot-ok{position:relative}.profile-status .account-dot.dot-ok:after{content:"";position:absolute;inset:-4px;border-radius:50%;border:1.5px solid var(--accent);opacity:0;animation:profile-ping 2.2s cubic-bezier(0,0,.2,1) infinite}@keyframes profile-ping{0%{opacity:.7}75%,to{opacity:0}}.profile-skeleton{display:flex;align-items:center;gap:14px}.profile-skeleton-avatar{width:52px;height:52px;flex:none;border-radius:50%}.profile-skeleton-lines{flex:1 1;display:flex;flex-direction:column;gap:8px;min-width:0}.profile-skeleton-line{height:12px;border-radius:6px}.profile-skeleton-line.short{width:45%}.profile-shimmer{background:linear-gradient(100deg,var(--surface-2) 30%,var(--surface-3,var(--surface-2)) 50%,var(--surface-2) 70%);background-size:200% 100%;animation:profile-shimmer 1.4s linear infinite}@keyframes profile-shimmer{0%{background-position:180% 0}to{background-position:-20% 0}}.profile-editor{animation:profile-fade .22s ease-out both}@keyframes profile-fade{0%{opacity:0}to{opacity:1}}.profile-saved{animation:profile-saved-flash 1.6s ease-out both}@keyframes profile-saved-flash{0%,20%{color:var(--accent)}to{color:inherit}}.profile-name,.profile-row-value{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}@media (prefers-reduced-motion:reduce){.profile-anim,.profile-editor,.profile-saved,.profile-shimmer,.profile-status .account-dot.dot-ok:after{animation:none}.profile-page .btn:active:not(:disabled){transform:none}}.edit-sermon-form{gap:18px;max-width:760px}.edit-files,.edit-sermon-form{display:flex;flex-direction:column}.edit-files{border:1px solid var(--line);border-radius:var(--radius-sm,8px);padding:16px;margin:0;gap:14px}.edit-files legend{padding:0 6px}.edit-actions{flex-wrap:wrap;justify-content:flex-end;margin-top:4px}.account-chip,.edit-actions{display:flex;align-items:center;gap:10px}.account-chip{flex-shrink:0;font-size:.88rem}.account-name{color:var(--text);max-width:140px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.account-dot{width:8px;height:8px;border-radius:50%;display:inline-block}.dot-ok{background:var(--accent)}.dot-dim{background:var(--border)}.linklike{background:none;border:none;padding:0;color:var(--accent);font:inherit;cursor:pointer}.linklike:hover{text-decoration:underline}.row-dim{opacity:.45}.admin-login{display:flex;align-items:center;justify-content:center;min-height:78vh;padding:30px 0}.admin-login-panel{width:100%;max-width:380px;display:flex;flex-direction:column;gap:15px;align-items:stretch}.admin-login-mark{width:62px;height:62px;object-fit:contain;align-self:center;border-radius:12px}.admin-table-wrap{border:1px solid var(--line);border-radius:var(--radius);overflow-x:auto;background:var(--surface-1)}.admin-table{width:100%;border-collapse:collapse;font-size:.85rem;min-width:560px}.admin-table th{text-align:left;padding:10px 12px;font-size:.72rem;font-weight:620;letter-spacing:.05em;text-transform:uppercase;color:var(--text-3);white-space:nowrap}.admin-table td,.admin-table th{border-bottom:1px solid var(--line)}.admin-table td{padding:11px 12px;vertical-align:middle}.admin-table tr:last-child td{border-bottom:none}.admin-table tr:hover td{background:var(--surface-2)}.admin-table .cell-actions{display:flex;gap:5px;justify-content:flex-end;flex-wrap:wrap}.cell-title{font-weight:570;max-width:320px}.admin-form{display:flex;flex-direction:column;gap:15px;max-width:620px}.form-row{display:flex;gap:12px;min-width:0}.form-row>*{flex:1 1;min-width:0}.inline-add{display:flex;gap:7px;align-items:flex-end;min-width:0}.inline-add>.field{flex:1 1;min-width:0}.file-drop{display:flex;flex-direction:column;gap:6px;align-items:center;justify-content:center;padding:22px 16px;border:1px dashed var(--line-strong);border-radius:var(--radius);background:var(--surface-1);cursor:pointer;text-align:center;transition:border-color .14s ease,background .14s ease}.file-drop-active,.file-drop:hover{border-color:var(--accent-line);background:var(--accent-soft)}.file-drop-name{font-size:.85rem;font-weight:560;word-break:break-all}.file-drop-hint{font-size:.75rem;color:var(--text-3)}.upload-progress{display:flex;flex-direction:column;gap:7px}.upload-progress-row{display:flex;justify-content:space-between;font-size:.78rem;color:var(--text-2);gap:10px;min-width:0}.cover-preview{width:82px;height:82px;border-radius:var(--radius-sm);border:1px solid var(--line);object-fit:cover;flex:none}.stat-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(148px,1fr));gap:11px;margin-bottom:24px}.stat{padding:15px;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-1);display:flex;flex-direction:column;gap:3px;min-width:0}.stat-value{font-family:var(--mono);font-size:1.5rem;font-weight:620;letter-spacing:-.03em}.stat-label{font-size:.75rem;color:var(--text-3)}.stat-accent .stat-value{color:var(--accent)}@media (max-width:900px){.admin-shell{flex-direction:column;height:100vh;height:100dvh;overflow-y:auto}.admin-nav{width:100%;height:auto;position:static;border-right:none;border-bottom:1px solid var(--line);flex-direction:column;gap:12px;padding:12px 14px;overflow:visible}.admin-links{flex-direction:row;overflow-x:auto;gap:5px;scrollbar-width:none;max-width:100%}.admin-links::-webkit-scrollbar{display:none}.admin-link{white-space:nowrap;flex:none}.admin-identity{margin-top:0;flex-direction:row;align-items:center;flex-wrap:wrap;gap:8px;padding-top:10px}.admin-identity-email,.admin-identity-name{width:auto;max-width:45%}.admin-content{padding:18px 14px 60px}.form-row{flex-direction:column}}.notify-meta{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:16px}.notify-title{font-size:.9rem;font-weight:580;min-width:0}.notify-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-top:18px}.notify-local{font-size:.78rem}.notify-row+.notice{margin-top:12px}.notice+.notice{margin-top:8px}