:root{--accent:#b9935a;--accent-strong:#9c7b46;--accent-mid:#d4b896;--accent-light:#f6efe4;--accent-bg:#f6efe4;--accent-border:#b9935a66;--bg:#fff;--code-bg:#faf8f4;--border:#e8e2d8;--text:#6b6258;--text-h:#2b2218;--color-background-primary:var(--bg);--color-background-secondary:#faf8f4;--color-background-tertiary:#f1efea;--color-text-primary:var(--text-h);--color-text-secondary:var(--text);--color-text-tertiary:#a39a8c;--color-border-tertiary:var(--border);--color-text:var(--color-text-primary);--color-text-muted:var(--color-text-secondary);--color-border:var(--color-border-tertiary);--color-accent-soft:var(--accent-bg);--color-accent-dark:var(--accent-strong);--color-accent-contrast:#fff;--color-input-bg:var(--color-background-secondary);--color-surface-muted:var(--color-background-secondary);--color-surface-elevated:var(--color-background-primary);--color-success-bg:#2f9e6f24;--color-success-text:#166534;--color-warning-bg:#d9770624;--color-warning-text:#92400e;--color-danger-bg:#d9534f1f;--color-danger-text:#b91c1c;--color-media-slides-bg:#0596691f;--color-media-slides-text:#059669;--color-media-audio-bg:#d977061f;--color-media-audio-text:#d97706;--color-media-video-bg:#dc26261a;--color-media-video-text:#dc2626;--color-chord-accent:#2d8fa3;--color-chord-border:#5eb8c9;--color-chord-bg:#5eb8c924;--color-chord-line:#2bb8d4;--color-section-bg:var(--color-background-secondary);--color-section-label:#3d5566;--color-badge-info-bg:#2563a81f;--color-badge-info-text:#2563a8;--radius-md:8px;--radius-lg:12px;--border-radius-md:var(--radius-md);--border-radius-lg:var(--radius-lg);--sidebar-w:248px;--shadow:0 1px 3px #2b22180f, 0 1px 2px #2b22180a;--sans:system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--heading:var(--sans);--mono:ui-monospace, Consolas, monospace;--success:#2f9e6f;--danger:#d9534f}@media (prefers-color-scheme:dark){:root{--bg:#1c1813;--code-bg:#262019;--border:#3a322a;--text:#b3a896;--text-h:#f5efe6;--accent:#d4b896;--accent-strong:#c2a173;--accent-mid:#c2a173;--accent-light:#d4b8962e;--accent-bg:#d4b89624;--accent-border:#d4b89673;--color-background-primary:var(--bg);--color-background-secondary:#262019;--color-background-tertiary:#1c1813;--color-text-tertiary:#8a7f72;--shadow:0 4px 12px #0006;--color-input-bg:#2e2720;--color-surface-muted:#262019;--color-surface-elevated:#262019;--color-success-bg:#2f9e6f33;--color-success-text:#6ee7b7;--color-warning-bg:#fbbf2429;--color-warning-text:#fcd34d;--color-danger-bg:#d9534f33;--color-danger-text:#fca5a5;--color-media-slides-bg:#34d39924;--color-media-slides-text:#6ee7b7;--color-media-audio-bg:#fbbf2424;--color-media-audio-text:#fcd34d;--color-media-video-bg:#f8717124;--color-media-video-text:#fca5a5;--color-chord-accent:#8ec9db;--color-chord-border:#5eb8c9;--color-chord-bg:#5eb8c92e;--color-chord-line:#6ecde0;--color-section-bg:#262019;--color-section-label:var(--color-text-secondary);--color-badge-info-bg:#93c5fd24;--color-badge-info-text:#93c5fd}}:root{font:15px/145% var(--sans);letter-spacing:.01em;--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light dark;color:var(--color-text-secondary);background:var(--color-background-tertiary);font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}@media (prefers-color-scheme:dark){:root{--lightningcss-light: ;--lightningcss-dark:initial}}@media (width<=1024px){:root{font-size:14px}}body{margin:0}#root{text-align:left;box-sizing:border-box;border-inline:none;flex-direction:column;width:100%;max-width:none;height:100svh;margin:0;display:flex;overflow:hidden}#root:fullscreen{border-inline:none;width:100vw;max-width:none;height:100vh;min-height:100vh;margin:0}#root:fullscreen{border-inline:none;width:100vw;max-width:none;height:100vh;min-height:100vh;margin:0}h1,h2{font-family:var(--heading);color:var(--color-text-primary);font-weight:500}h1{letter-spacing:-.02em;margin:0 0 .5rem;font-size:1.75rem}h2{letter-spacing:-.01em;margin:0 0 8px;font-size:1.125rem;line-height:1.25}p{margin:0}code,.counter{font-family:var(--mono);color:var(--color-text-primary);border-radius:4px;display:inline-flex}code{background:var(--code-bg);padding:4px 8px;font-size:.875rem;line-height:135%}.app-shell{min-height:var(--app-height,100dvh);flex-direction:column;display:flex}.app-shell-main{flex-direction:column;flex:1;min-height:0;display:flex}.app-shell-main>.home-workspace{flex:1;min-height:0;overflow:hidden}.site-header{border-bottom:1px solid var(--border);background:var(--bg);z-index:200;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;padding:10px 16px;display:flex;position:sticky;top:0}.site-header-account{position:relative}.site-header-account-btn{border:1px solid var(--border);background:var(--code-bg);width:42px;height:42px;color:var(--text-h);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;display:inline-flex}.site-header-account-btn:hover,.site-header-account-btn.active{border-color:var(--accent-border);background:var(--accent-bg);color:var(--accent)}.site-header-account-icon{width:22px;height:22px}.site-header-account-menu{border:1px solid var(--border);background:var(--bg);min-width:220px;box-shadow:var(--shadow);z-index:210;border-radius:12px;gap:4px;padding:8px;display:grid;position:absolute;top:calc(100% + 8px);right:0}.site-header-account-meta{border-bottom:1px solid var(--border);gap:2px;margin-bottom:4px;padding:8px 10px 10px;display:grid}.site-header-account-meta strong{color:var(--text-h);font-size:14px}.site-header-account-meta span{color:var(--text);font-size:12px}.site-header-role{background:var(--accent-bg);width:fit-content;color:var(--accent);border-radius:999px;margin-top:4px;padding:2px 8px;font-size:11px}.site-header-menu-item{text-align:left;width:100%;color:var(--text-h);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:10px 12px;font-size:14px}.site-header-menu-item:hover{background:var(--code-bg)}.site-header-menu-item-danger{color:#f87171}.site-header-menu-item-danger:hover{background:#f871711f}.auth-page{box-sizing:border-box;flex:1;place-items:center;padding:24px 16px;display:grid}.auth-modal-overlay{z-index:2000;padding:max(16px, env(safe-area-inset-top)) 20px max(16px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f172a8c;justify-content:center;align-items:safe center;display:flex;position:fixed;inset:0;overflow-y:auto}.auth-login-modal{flex-shrink:0;margin:auto}.auth-card{width:min(420px,100%)}.auth-actions{flex-wrap:wrap;align-items:center}.auth-google-wrap{justify-content:center;margin-bottom:4px;display:flex}.auth-google-wrap>div{width:100%}.auth-divider{color:var(--text-muted,#64748b);align-items:center;gap:12px;margin:16px 0;font-size:13px;display:flex}.auth-divider:before,.auth-divider:after{content:"";background:var(--border);flex:1;height:1px}.auth-link{color:var(--accent);font-size:14px;text-decoration:none}.auth-link:hover{text-decoration:underline}.app-shell-main>.admin-shell{flex:1;min-height:0}.admin-shell{flex:1;align-items:stretch;min-height:0;display:flex}.admin-sidebar{box-sizing:border-box;border-right:1px solid var(--border);background:var(--code-bg);flex-direction:column;flex-shrink:0;gap:8px;width:252px;padding:20px 14px;display:flex}.admin-sidebar-top{padding:0 8px 12px}.admin-sidebar-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--text);margin:0 0 4px;font-size:11px;font-weight:600}.admin-sidebar-title{color:var(--text-h);margin:0;font-size:18px;font-weight:700;line-height:1.25}.admin-sidebar-nav{flex:1;gap:4px;min-height:0;padding:4px 0;display:grid}.admin-sidebar-link{color:var(--text-h);border:1px solid #0000;border-radius:10px;align-items:center;gap:12px;padding:10px 12px;text-decoration:none;transition:background .15s,border-color .15s;display:flex}.admin-sidebar-link:hover{background:var(--bg);border-color:var(--border)}.admin-sidebar-link.active{background:var(--bg);border-color:var(--accent-border);box-shadow:inset 3px 0 0 var(--accent)}.admin-sidebar-link.active .admin-sidebar-icon{color:var(--accent)}.admin-sidebar-icon{width:20px;height:20px;color:var(--text);flex-shrink:0}.admin-sidebar-link-text{gap:1px;min-width:0;display:grid}.admin-sidebar-link-text strong{font-size:14px;font-weight:600;line-height:1.2}.admin-sidebar-link-text small{color:var(--text);font-size:12px;line-height:1.2}.admin-sidebar-footer{border-top:1px solid var(--border);gap:6px;padding:8px 0 4px;display:grid}.admin-sidebar-back{color:var(--text-h);border-radius:8px;align-items:center;gap:4px;padding:8px 10px;font-size:13px;font-weight:500;text-decoration:none;display:inline-flex}.admin-sidebar-back:hover{background:var(--bg)}.admin-sidebar-logout{text-align:left;color:#dc2626;width:100%;font:inherit;cursor:pointer;background:0 0;border:none;border-radius:8px;padding:8px 10px;font-size:13px;font-weight:500}.admin-sidebar-logout:hover{background:#dc262614}.admin-sidebar-user{border-top:1px solid var(--border);align-items:center;gap:10px;margin-top:auto;padding:12px 10px 4px;display:flex}.admin-sidebar-user-avatar{width:36px;height:36px;color:var(--accent);background:var(--accent-bg);border:1px solid var(--accent-border);border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;font-size:14px;font-weight:700;display:inline-flex}.admin-sidebar-user-meta{gap:1px;min-width:0;font-size:12px;display:grid}.admin-sidebar-user-meta strong{color:var(--text-h);white-space:nowrap;text-overflow:ellipsis;font-size:13px;overflow:hidden}.admin-sidebar-user-meta span{color:var(--text);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.admin-sidebar-user-meta em{color:var(--accent);margin-top:2px;font-size:11px;font-style:normal}.admin-main{box-sizing:border-box;flex:1;min-width:0;min-height:0;padding:24px 28px 32px;overflow:auto}.admin-main--embedded{max-width:none;padding:0}.admin-section{gap:16px;max-width:1100px;display:grid}.admin-content-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px 16px;display:flex}.admin-content-header h2{color:var(--text-h);margin:0;font-size:22px;font-weight:700}.admin-content-header p{color:var(--text);margin:4px 0 0;font-size:14px}.admin-toolbar{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.admin-search{flex:1;min-width:220px}.admin-input{box-sizing:border-box;border:1px solid var(--border);background:var(--bg);width:100%;height:40px;color:var(--text-h);font:inherit;border-radius:10px;padding:0 12px;font-size:14px}.admin-input:focus{outline:2px solid var(--accent-border);outline-offset:0;border-color:var(--accent)}.admin-btn{border:1px solid var(--border);background:var(--bg);height:40px;color:var(--text-h);font:inherit;cursor:pointer;white-space:nowrap;border-radius:10px;justify-content:center;align-items:center;gap:6px;padding:0 16px;font-size:14px;font-weight:500;transition:background .15s,border-color .15s;display:inline-flex}.admin-btn:hover:not(:disabled){border-color:var(--accent-border);background:var(--accent-bg)}.admin-btn:disabled{opacity:.5;cursor:not-allowed}.admin-btn-primary{border-color:var(--accent);background:var(--accent);color:#fff}.admin-btn-primary:hover:not(:disabled){filter:brightness(1.05);background:var(--accent);border-color:var(--accent)}.admin-btn-ghost{background:0 0}.admin-btn-sm{border-radius:8px;height:34px;padding:0 12px;font-size:13px}.admin-btn-danger{color:#dc2626;background:0 0;border-color:#0000}.admin-btn-danger:hover:not(:disabled){background:#dc262614;border-color:#0000}.admin-alert{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:10px;margin:0;padding:10px 14px;font-size:14px}.auth-flash-success{border:1px solid var(--accent-border);background:var(--accent-bg);color:var(--accent);border-radius:10px;margin:0 0 12px;padding:10px 14px;font-size:14px}.admin-subsection{gap:12px;margin-top:8px;display:grid}.admin-subsection-title{color:var(--text-h);margin:0;font-size:16px;font-weight:600}.admin-invite-link-cell{flex-wrap:wrap;align-items:center;gap:8px;max-width:420px;display:flex}.admin-invite-code{color:var(--text);word-break:break-all;font-size:12px}.admin-invite-url-box{align-items:stretch;gap:8px;display:flex}.admin-invite-url-box .admin-input{flex:1;min-width:0}.admin-invite-copy-feedback{color:var(--accent);margin:8px 0 0;font-size:13px}.invite-page-card{border:1px solid var(--border);background:var(--bg);width:min(440px,100%);box-shadow:var(--shadow);box-sizing:border-box;border-radius:16px;padding:24px 22px}.invite-page-form{gap:0;display:grid}.invite-page-header h2{color:var(--text-h);margin:0;font-size:22px}.invite-page-muted{color:var(--text);margin:8px 0 0;font-size:14px;line-height:1.45}.invite-page-fields{padding:16px 0 0}.invite-page-footer{padding-top:16px}.invite-page-footer .admin-btn-primary{width:100%}@media (prefers-color-scheme:dark){.admin-alert{color:#fca5a5;background:#7f1d1d40;border-color:#f8717159}.admin-sidebar-logout,.admin-btn-danger{color:#f87171}}@media (width<=860px){.admin-shell{flex-direction:column}.admin-sidebar{border-right:none;border-bottom:1px solid var(--border);width:100%;padding:14px 12px}.admin-sidebar-nav{grid-template-columns:1fr 1fr}.admin-sidebar-user{margin-top:0}.admin-main{padding:16px}}.admin-muted{color:var(--text);margin:0;font-size:14px}.admin-table-wrap{border:1px solid var(--border);border-radius:10px;overflow:auto}.admin-table{border-collapse:collapse;width:100%;font-size:14px}.admin-table th,.admin-table td{border-bottom:1px solid var(--border);text-align:left;vertical-align:middle;padding:10px 12px}.admin-table th{color:var(--text-h);background:var(--code-bg);font-weight:600}.admin-select{border:1px solid var(--border);background:var(--bg);min-width:140px;color:var(--text-h);font:inherit;border-radius:8px;padding:6px 8px}.admin-select-block{box-sizing:border-box;width:100%}.admin-row-actions{flex-wrap:wrap;gap:6px;display:flex}.admin-code-preview{color:var(--text);font-size:12px}.admin-modal-overlay{z-index:50;padding:max(16px, env(safe-area-inset-top)) 20px max(16px, env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f172a8c;justify-content:center;align-items:safe center;display:flex;position:fixed;inset:0;overflow-y:auto}.admin-role-modal{border:1px solid var(--border);background:var(--bg);width:min(560px,100%);max-height:min(100dvh - 32px,90vh);box-shadow:var(--shadow);border-radius:16px;flex-direction:column;flex-shrink:0;gap:0;margin:auto;display:flex;overflow:hidden}.admin-role-modal-header{border-bottom:1px solid var(--border);padding:18px 20px 12px}.admin-role-modal-header h2{color:var(--text-h);margin:0;font-size:20px;font-weight:700}.admin-role-modal-subtitle{color:var(--text);margin:6px 0 0;font-size:13px}.admin-role-modal-body{overscroll-behavior:contain;flex:auto;min-height:0;padding:0 20px 16px;overflow:hidden auto}.admin-role-title-field{gap:6px;padding:14px 0 0;display:grid}.admin-role-title-field span{color:var(--text);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:600}.admin-role-title-field input{box-sizing:border-box;border:1px solid var(--border);background:var(--bg);width:100%;height:42px;color:var(--text-h);font:inherit;border-radius:10px;padding:0 12px;font-size:15px}.admin-role-title-field input:focus{outline:2px solid var(--accent-border);outline-offset:0;border-color:var(--accent)}.admin-role-modal .access-rights-editor{background:0 0;border:none;border-radius:0;margin:14px 0 0;padding:0;overflow:visible}.admin-role-modal-footer{border-top:1px solid var(--border);background:var(--code-bg);flex-shrink:0;justify-content:flex-end;gap:10px;margin-top:0;padding:16px 20px 18px;display:flex}.admin-role-modal-footer .admin-btn-primary{min-width:110px}.admin-form-modal{border:1px solid var(--border);background:var(--bg);width:min(440px,100%);max-height:min(88vh,720px);box-shadow:var(--shadow);border-radius:16px;gap:0;display:grid;overflow:auto}.admin-form-modal-header{border-bottom:1px solid var(--border);padding:18px 20px 12px}.admin-form-modal-header h2{color:var(--text-h);margin:0;font-size:20px;font-weight:700}.admin-form-modal-body{gap:12px;padding:16px 20px;display:grid}.admin-form-field{gap:6px;display:grid}.admin-form-field span{color:var(--text);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:600}.admin-form-field input:not([type=checkbox]):not([type=radio]),.admin-form-field select,.admin-form-field textarea{box-sizing:border-box;border:1px solid var(--border);background:var(--bg);width:100%;height:42px;color:var(--text-h);font:inherit;border-radius:10px;padding:0 12px;font-size:15px}.admin-form-field textarea{resize:vertical;height:auto;min-height:84px;padding:10px 12px;line-height:1.45}.admin-form-field input[type=checkbox],.admin-form-field input[type=radio]{width:16px;height:16px;accent-color:var(--accent);cursor:pointer;flex-shrink:0;margin:0}.admin-form-field--inline{border:1px solid var(--border);background:var(--code-bg);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:10px;flex-direction:row;align-items:center;gap:10px;padding:10px 12px;display:flex}.admin-form-field--inline span{text-transform:none;letter-spacing:normal;font-size:14px;font-weight:500}.admin-form-field input:focus:not([type=checkbox]):not([type=radio]),.admin-form-field select:focus,.admin-form-field textarea:focus{outline:2px solid var(--accent-border);outline-offset:0;border-color:var(--accent)}.admin-form-modal-footer{border-top:1px solid var(--border);background:var(--code-bg);justify-content:flex-end;gap:10px;padding:14px 20px 18px;display:flex}.ministry-members-picker{border:1px solid var(--border);background:var(--code-bg);border-radius:10px;max-height:200px;padding:12px;overflow:auto}.ministry-members-picker .access-rights-actions-grid{gap:8px}.admin-rights-summary-cell{max-width:360px;color:var(--text);font-size:12px;line-height:1.4}.admin-inline-tabs{border-bottom:1px solid var(--border);align-items:flex-end;gap:4px;margin-top:-4px;display:flex}.admin-inline-tab{color:var(--text-h);font:inherit;cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;padding:8px 14px 10px;font-size:13px;font-weight:500;line-height:1}.admin-inline-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.admin-users-actions-row{justify-content:flex-end;display:flex}.admin-table-wrap--elevated{border:.5px solid var(--color-border-tertiary);background:var(--color-background-primary);border-radius:12px}.admin-table-wrap--elevated .admin-table th{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary);background:#fafaf8;font-size:11px}.admin-table-wrap--elevated .admin-table td{font-size:14px}.admin-user-name-cell{color:var(--text-h);font-weight:600}.admin-role-cell{align-items:center;gap:8px;display:flex}.admin-role-pill{border-radius:999px;align-items:center;padding:4px 10px;font-size:11px;line-height:1;display:inline-flex}.admin-role-pill.admin{background:var(--accent-light);color:var(--accent-strong)}.admin-role-pill.leader{color:#166534;background:#f0fdf4}.admin-role-pill.member{color:#57534e;background:#f4f4ef}.admin-select-inline{min-width:132px;max-width:160px;height:30px;padding:4px 8px;font-size:12px}.admin-status{align-items:center;gap:8px;font-weight:500;display:inline-flex}.admin-status i{border-radius:50%;width:8px;height:8px;display:inline-block}.admin-status.active i{background:#059669}.admin-status.pending i{background:#d97706}.admin-status.blocked i{background:#dc2626}.admin-status.inactive i{background:#9ca3af}.admin-icon-btn{width:30px;height:30px;color:var(--text-h);cursor:pointer;font:inherit;background:0 0;border:none;border-radius:8px}.admin-icon-btn:hover:not(:disabled){background:var(--code-bg)}.admin-row-actions-nowrap{white-space:nowrap}.song-form-modal{border:1px solid var(--border);background:var(--bg);width:min(720px,100%);max-height:min(90vh,880px);box-shadow:var(--shadow);border-radius:16px;flex-direction:column;display:flex;overflow:hidden}.song-form-modal-header{border-bottom:1px solid var(--border);flex-shrink:0;padding:18px 20px 14px}.song-form-modal-header h2{color:var(--text-h);margin:0;font-size:20px;font-weight:700;line-height:1.3}.song-form-modal-body{flex:1;gap:12px;min-height:0;padding:16px 20px;display:grid;overflow-y:auto}.song-form-modal-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.song-form-modal-field-wide{grid-column:1/-1}.song-form-modal-body .admin-form-field textarea{resize:vertical;height:auto;min-height:220px;padding:12px;line-height:1.45}.song-form-modal-footer{border-top:1px solid var(--border);background:var(--code-bg);flex-shrink:0;justify-content:flex-end;gap:10px;padding:14px 20px 18px;display:flex}.song-form-modal-meta{color:var(--text);margin:0;padding:0 20px 12px;font-size:12px}.song-form-modal-error{color:#dc2626;margin:0 20px 12px;font-size:13px}@media (width<=640px){.song-form-modal-grid{grid-template-columns:1fr}}.access-rights-editor{border:none;gap:10px;margin:0;padding:0;display:grid}.access-rights-editor-legend{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.access-rights-group{border:1px solid var(--border);background:var(--code-bg);border-radius:12px;gap:10px;padding:12px 14px;display:grid}.access-rights-group-head{justify-content:space-between;align-items:center;gap:10px;display:flex}.access-rights-group-head strong{color:var(--text-h);font-size:14px;font-weight:600}.access-rights-group-desc{color:var(--text);margin:2px 0 0;font-size:12px;line-height:1.35}.access-rights-select-all{color:var(--text);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;font-size:12px;font-weight:500;display:inline-flex}.access-rights-actions-grid{flex-wrap:wrap;gap:8px;display:flex}.access-rights-action-item{border:1px solid var(--border);background:var(--bg);color:var(--text-h);cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:999px;align-items:center;gap:7px;padding:7px 12px;font-size:13px;transition:border-color .15s,background .15s;display:inline-flex}.access-rights-action-item:hover{border-color:var(--accent-border)}.access-rights-action-item:has(input:checked){border-color:var(--accent);background:var(--accent-bg);color:var(--accent);font-weight:600}.access-rights-action-item input{width:15px;height:15px;accent-color:var(--accent);flex-shrink:0;margin:0}.admin-theme-modal{width:min(640px,100%)}.admin-theme-fields-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 16px;display:grid}.admin-theme-file-field input[type=file]{width:100%}.admin-theme-preview{border:1px solid var(--border);border-radius:8px;max-width:280px;margin:8px 0;overflow:hidden}.admin-theme-preview img{object-fit:contain;background:#111;width:100%;height:auto;max-height:120px;display:block}.admin-theme-swatch{border:1px solid var(--border);vertical-align:middle;border-radius:3px;width:14px;height:14px;margin-right:6px;display:inline-block}.admin-theme-bg-names{word-break:break-all;font-size:12px;line-height:1.4}.admin-theme-filename{margin:4px 0 0}.admin-theme-style-field .admin-theme-style-options{text-transform:none;letter-spacing:normal;color:var(--text-h);flex-wrap:wrap;gap:12px 18px;font-size:14px;font-weight:500;display:flex}.admin-theme-style-options label{cursor:pointer;align-items:center;gap:6px;display:inline-flex}.admin-theme-safe-modal{width:min(960px,100%)}.admin-theme-editor-overlay{padding:8px}.admin-theme-editor-modal{flex-direction:column;width:min(880px,100%);min-height:0;max-height:min(100dvh - 16px,92vh);display:flex}.admin-theme-editor-scroll{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:auto;min-height:0;overflow-y:auto}.admin-theme-editor-header{border-bottom:1px solid var(--border);flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px 16px 10px;display:flex}.admin-theme-editor-header h2{color:var(--text-h);margin:0;font-size:17px;font-weight:700;line-height:1.25}.admin-theme-editor-meta{color:var(--text);margin:4px 0 0;font-size:12px;line-height:1.35}.admin-theme-editor-close{border:1px solid var(--border);background:var(--bg);width:32px;height:32px;color:var(--text-h);cursor:pointer;border-radius:8px;flex-shrink:0;font-size:20px;line-height:1}.admin-theme-editor-body{grid-template-columns:minmax(0,1.15fr) minmax(240px,.85fr);gap:12px;min-height:0;padding:12px 16px;display:grid}.admin-theme-editor-main{flex-direction:column;gap:8px;min-width:0;min-height:0;display:flex}.admin-theme-editor-preview{flex:none;min-height:160px;max-height:min(42vh,360px);padding:6px}.admin-theme-editor-bg-overlay{background:linear-gradient(#00000014,#0000002e)}.admin-theme-editor-sample-tabs{border-bottom:1px solid var(--border);background:var(--bg);flex-shrink:0;gap:6px;padding:0 16px 8px;display:flex}.admin-theme-editor-tab{border:1px solid var(--border);background:var(--code-bg);height:32px;color:var(--text);font:inherit;cursor:pointer;border-radius:8px;flex:1;font-size:13px}.admin-theme-editor-tab.is-active{border-color:var(--accent);background:var(--accent-bg);color:var(--accent);font-weight:600}.admin-theme-editor-panels{flex-direction:column;gap:6px;min-width:0;display:flex}.admin-theme-editor-footer{flex-shrink:0;padding:10px 16px 12px}.admin-theme-editor-panel{border:1px solid var(--border);background:var(--code-bg);border-radius:10px;overflow:hidden}.admin-theme-editor-panel>summary{color:var(--text-h);cursor:pointer;-webkit-user-select:none;user-select:none;padding:8px 10px;font-size:13px;font-weight:600;list-style:none}.admin-theme-editor-panel>summary::-webkit-details-marker{display:none}.admin-theme-editor-panel>summary:before{content:"▸";margin-right:6px;transition:transform .15s;display:inline-block}.admin-theme-editor-panel[open]>summary:before{transform:rotate(90deg)}.admin-theme-editor-panel-body{flex-direction:column;gap:8px;padding:0 10px 10px;display:flex}.admin-theme-editor-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.admin-theme-editor-row--3{grid-template-columns:1.2fr .7fr .5fr}.admin-theme-editor-row--4{grid-template-columns:repeat(4,1fr)}.admin-theme-editor-field{gap:3px;min-width:0;display:grid}.admin-theme-editor-field--full{grid-column:1/-1}.admin-theme-editor-field span{color:var(--text);text-transform:uppercase;letter-spacing:.03em;font-size:11px;font-weight:600}.admin-theme-editor-field input,.admin-theme-editor-field select,.admin-theme-editor-panel-body textarea,.admin-theme-editor-panel-body>input[type=text]{box-sizing:border-box;border:1px solid var(--border);background:var(--bg);width:100%;height:34px;color:var(--text-h);font:inherit;border-radius:8px;padding:0 8px;font-size:13px}.admin-theme-editor-field--color input[type=color]{cursor:pointer;height:34px;padding:2px}.admin-theme-editor-panel-body textarea{resize:vertical;height:auto;min-height:72px;padding:8px}.admin-theme-editor-chips{flex-wrap:wrap;gap:6px;display:flex}.admin-theme-editor-chip{border:1px solid var(--border);background:var(--bg);height:30px;color:var(--text);font:inherit;cursor:pointer;border-radius:999px;padding:0 10px;font-size:12px}.admin-theme-editor-chip.is-active{border-color:var(--accent);background:var(--accent-bg);color:var(--accent);font-weight:600}.admin-theme-bg-row{grid-template-columns:auto 1fr auto;align-items:center;gap:8px;font-size:12px;display:grid}.admin-theme-bg-row-label{color:var(--text);white-space:nowrap;font-weight:600}.admin-theme-bg-row-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-h);overflow:hidden}.admin-theme-bg-pick{white-space:nowrap;flex-shrink:0}.admin-theme-bg-hint{color:var(--text-h);margin:0 0 8px;font-size:11px}.admin-theme-bg-picker-overlay{z-index:80;background:#0a0c108c}.admin-theme-bg-picker-modal{flex-direction:column;width:min(720px,100%);min-height:0;max-height:min(100dvh - 24px,86vh);display:flex}.admin-theme-bg-picker-search{flex-shrink:0;padding:0 16px 10px}.admin-theme-bg-picker-search input{box-sizing:border-box;border:1px solid var(--border);background:var(--bg);width:100%;height:36px;color:var(--text-h);font:inherit;border-radius:8px;padding:0 10px;font-size:13px}.admin-theme-bg-picker-body{flex-direction:column;flex:auto;gap:12px;min-height:0;padding:0 16px 16px;display:flex;overflow-y:auto}.admin-theme-bg-picker-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:8px;display:grid}.admin-theme-bg-picker-card{text-align:left;border:1px solid var(--border);background:var(--bg);color:inherit;cursor:pointer;border-radius:10px;flex-direction:column;gap:6px;padding:8px;display:flex}.admin-theme-bg-picker-card:hover,.admin-theme-bg-picker-card.is-active{border-color:var(--accent)}.admin-theme-bg-picker-card.is-active{background:var(--accent-bg)}.admin-theme-bg-picker-thumb{aspect-ratio:16/9;background:#1b1f27;border-radius:6px;width:100%;display:block;overflow:hidden}.admin-theme-bg-picker-thumb img,.admin-theme-bg-picker-thumb video{object-fit:cover;width:100%;height:100%;display:block}.admin-theme-bg-picker-thumb--video{color:#fff;justify-content:center;align-items:center;font-size:18px;display:flex}.admin-theme-bg-picker-card-title{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;overflow:hidden}.admin-theme-bg-picker-card-meta{color:var(--text-h);font-size:11px}.admin-theme-bg-picker-drop{border:1px dashed var(--border);cursor:pointer;min-height:120px;color:var(--text-h);text-align:center;border-radius:10px;justify-content:center;align-items:center;padding:16px;font-size:13px;display:flex}.admin-theme-bg-picker-drop:hover{border-color:var(--accent);color:var(--text)}.admin-theme-bg-picker-preview{border:1px solid var(--border);border-radius:10px;grid-template-columns:160px 1fr;align-items:center;gap:10px;padding:8px;display:grid}.admin-theme-bg-picker-preview video,.admin-theme-bg-picker-preview img{object-fit:cover;background:#111;border-radius:6px;width:160px;height:90px}.admin-theme-bg-picker-preview span{color:var(--text);word-break:break-all;font-size:12px;overflow:hidden}.admin-theme-editor-reset{align-self:flex-start}.admin-theme-modal-footer-safe{margin-right:auto}.admin-theme-safe-body{grid-template-columns:minmax(0,1.4fr) minmax(220px,.8fr);gap:16px;padding-top:14px;display:grid}.admin-theme-safe-preview{border:1px solid var(--border);background:#0d0f14;border-radius:12px;justify-content:center;align-items:center;min-height:280px;padding:8px;display:flex;overflow:hidden}.admin-theme-safe-canvas{-webkit-user-select:none;user-select:none;touch-action:none;background:#1a1d24;flex-shrink:0;position:relative;overflow:hidden;box-shadow:0 0 0 1px #ffffff14}.admin-theme-safe-bg{background-color:#0000;background-image:linear-gradient(145deg,#283044e6,#12141cf2),repeating-linear-gradient(45deg,#ffffff08 0 8px,#0000 8px 16px);background-position:50%;background-repeat:repeat,repeat;background-size:cover;background-attachment:scroll,scroll;background-origin:padding-box,padding-box;background-clip:border-box,border-box;position:absolute;inset:0}.admin-theme-safe-bg-image{object-fit:cover;width:100%;height:100%;display:block}.admin-theme-safe-bg-overlay{background:linear-gradient(#0000002e,#00000052),repeating-linear-gradient(45deg,#ffffff08 0 8px,#0000 8px 16px);position:absolute;inset:0}.admin-theme-safe-dead{pointer-events:none;z-index:1;background:#b4282861;position:absolute}.admin-theme-safe-rect{z-index:2;box-sizing:border-box;pointer-events:none;border:1px dashed #78dca0d9;flex-direction:column;padding:6px 8px;display:flex;position:absolute;overflow:hidden}.admin-theme-safe-sample-text,.admin-theme-safe-sample-ref{text-shadow:0 1px 2px #0000008c;line-height:1.25}.admin-theme-safe-sample-ref{opacity:.9;margin-bottom:4px}.admin-theme-safe-handle{z-index:3;cursor:grab;touch-action:none;background:#5ab4ffd9;border:1px solid #ffffff8c;border-radius:4px;padding:0;position:absolute}.admin-theme-safe-handle:active{cursor:grabbing}.admin-theme-safe-handle--left,.admin-theme-safe-handle--right{cursor:ew-resize}.admin-theme-safe-handle--top,.admin-theme-safe-handle--bottom{cursor:ns-resize}.admin-theme-safe-controls{flex-direction:column;gap:10px;min-width:0;max-height:min(70vh,640px);padding-right:4px;display:flex;overflow-y:auto}.admin-theme-safe-field{gap:4px;display:grid}.admin-theme-safe-field input[type=color]{box-sizing:border-box;border:1px solid var(--border);background:var(--bg);cursor:pointer;border-radius:8px;width:100%;height:38px;padding:2px}.admin-theme-safe-label{color:var(--text);text-transform:uppercase;letter-spacing:.04em;margin:4px 0 0;font-size:12px;font-weight:600}.admin-theme-safe-row{align-items:center;gap:8px;display:flex}.admin-theme-safe-row label,.admin-theme-safe-grid label{color:var(--text);flex:1;gap:4px;font-size:12px;display:grid}.admin-theme-safe-row input,.admin-theme-safe-grid input,.admin-theme-safe-controls select,.admin-theme-safe-controls textarea{box-sizing:border-box;border:1px solid var(--border);background:var(--bg);width:100%;color:var(--text-h);font:inherit;border-radius:8px;padding:8px 10px;font-size:14px}.admin-theme-safe-row input,.admin-theme-safe-grid input,.admin-theme-safe-controls select{height:38px}.admin-theme-safe-grid{grid-template-columns:1fr 1fr;gap:10px;display:grid}.admin-theme-safe-controls textarea{resize:vertical;min-height:110px}@media (width<=720px){.admin-theme-editor-overlay{align-items:stretch;padding:0;overflow:hidden}.admin-theme-editor-modal{border-radius:0;width:100%;height:100dvh;max-height:100dvh;margin:0}.admin-theme-editor-body{grid-template-columns:1fr;padding:10px 12px 16px}.admin-theme-editor-preview{min-height:130px;max-height:28vh}.admin-theme-editor-sample-tabs{padding:0 12px 8px}.admin-theme-bg-picker-modal{border-radius:0;width:100%;height:100dvh;max-height:100dvh;margin:0}.admin-theme-bg-picker-preview{grid-template-columns:1fr}.admin-theme-bg-picker-preview video,.admin-theme-bg-picker-preview img{width:100%;height:auto;max-height:160px}.admin-theme-editor-row--3{grid-template-columns:1fr 1fr}.admin-theme-editor-row--3 .admin-theme-editor-field--color{grid-column:1/-1}}@media (width<=560px){.admin-theme-fields-grid,.admin-theme-safe-body{grid-template-columns:1fr}.admin-theme-safe-preview{min-height:220px}.admin-theme-editor-row--4{grid-template-columns:1fr 1fr}}@media (prefers-color-scheme:dark){.admin-table th{background:#1f2129}.admin-select{color:#f3f4f6;background:#1b1d24;border-color:#3f4351}}.pending-approval-banner-host{z-index:190;pointer-events:none;position:fixed;top:60px;left:0;right:0}.pending-approval-banner-host .pending-approval-banner{pointer-events:auto;max-width:960px;margin-left:auto;margin-right:auto}.pending-approval-banner{border:1px solid var(--color-border-tertiary);background:var(--color-background-primary);box-shadow:var(--shadow);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px 16px;margin:0 20px 12px;padding:12px 16px;display:flex}.pending-approval-banner__content{flex:1;gap:4px;min-width:0;display:grid}.pending-approval-banner__content strong{color:var(--color-text-primary);font-size:14px}.pending-approval-banner__content p{color:var(--color-text-secondary);margin:0;font-size:13px;line-height:1.45}.pending-approval-banner__email{color:var(--color-text-primary);font-weight:600}.pending-approval-banner__actions{flex-wrap:wrap;gap:8px;display:flex}.pending-approval-banner__action{border:1px solid var(--color-border-tertiary);background:var(--color-background-secondary);color:var(--color-text-primary);font:inherit;cursor:pointer;white-space:nowrap;border-radius:8px;padding:8px 14px;font-size:13px;font-weight:500}.pending-approval-banner__action:hover{border-color:var(--accent-mid);background:var(--accent-bg);color:var(--accent-strong)}.pending-approval-banner__action--primary{border-color:var(--accent);background:var(--accent);color:#fff}.pending-approval-banner__action--primary:hover{filter:brightness(1.05);background:var(--accent);border-color:var(--accent);color:#fff}.pending-approval-banner--waiting{background:#fffbeb;border-color:#fde68a}.pending-approval-banner--approved{border-color:var(--accent-mid);background:var(--accent-bg)}.pending-approval-banner--blocked{background:#fef2f2;border-color:#fecaca}@media (width<=768px){.pending-approval-banner-host{top:56px}.pending-approval-banner{margin:0 14px 10px}}.header-brand{cursor:pointer;font:inherit;color:inherit;text-align:left;background:0 0;border:none;flex-shrink:0;align-items:center;gap:10px;padding:0;display:inline-flex}.header-brand--static{cursor:default}.header-brand__mark{width:32px;height:20px;color:var(--accent-strong,var(--accent));flex-shrink:0;display:block}.header-brand__name{letter-spacing:-.2px;color:var(--color-text-primary,var(--text-h));flex-direction:column;font-size:15px;font-weight:700;line-height:1.15;display:flex}.header-brand__name small{letter-spacing:.04em;color:var(--color-text-secondary,var(--muted));font-size:10px;font-weight:600}.site-header .header-brand{border-radius:8px;padding:4px 6px}.site-header .header-brand:hover{background:var(--accent-bg)}.app-layout{background:var(--color-background-tertiary);flex:1;min-height:0;display:flex}.app-layout--mobile-env{padding-top:env(safe-area-inset-top);box-sizing:border-box;flex-direction:column}.app-layout--bare{background:var(--color-background-tertiary);flex-direction:column}.app-layout--no-sidebar .app-main{width:100%}.app-topbar-user-zone{flex-shrink:0;align-items:center;gap:10px;margin-left:auto;display:inline-flex;position:relative}.app-topbar-user-name{color:var(--color-text-primary);white-space:nowrap;font-size:14px;font-weight:500}.app-topbar-login-btn{border-radius:var(--radius-md);background:var(--accent);color:#fff;min-height:36px;font:inherit;cursor:pointer;white-space:nowrap;border:none;justify-content:center;align-items:center;padding:0 16px;font-size:13px;font-weight:500;display:inline-flex}.app-topbar-login-btn:hover{filter:brightness(1.05)}.app-topbar-user-btn{border:1px solid var(--color-border-tertiary);background:var(--color-background-secondary);width:40px;height:40px;color:var(--color-text-secondary);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:border-color .15s,background .15s,color .15s;display:inline-flex}.app-topbar-user-btn:hover,.app-topbar-user-btn.active{border-color:var(--accent-mid);background:var(--accent-bg);color:var(--accent-strong)}.app-topbar-close-btn{border:1px solid var(--accent-mid);background:var(--color-background-primary);width:40px;height:40px;color:var(--accent-strong);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:22px;line-height:1;display:inline-flex}.app-topbar-close-btn:hover{background:var(--accent-bg)}.app-nav-dropdown{background:var(--color-background-primary);border:.5px solid var(--color-border-tertiary);width:min(320px,100vw - 32px);max-height:min(70vh,560px);box-shadow:var(--shadow);z-index:220;border-radius:16px;padding:16px 18px 18px;position:absolute;top:calc(100% + 10px);right:0;overflow-y:auto}.app-nav-block{padding:0}.app-nav-section{letter-spacing:.1em;text-transform:uppercase;color:var(--color-text-tertiary);margin:8px 0 6px;font-size:10px;font-weight:500}.app-nav-group{letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-primary);margin:8px 0 4px;font-size:11px;font-weight:700}.app-nav-divider{border:none;border-top:.5px solid var(--color-border-tertiary);margin:12px 0}.app-nav-link{cursor:pointer;width:100%;font:inherit;color:var(--color-text-primary);text-align:left;background:0 0;border:none;margin:2px 0;padding:8px 0;font-size:14px;font-weight:500;transition:color .15s;display:block}.app-nav-link:hover,.app-nav-link.active{color:var(--accent)}.app-nav-link-muted{color:var(--color-text-secondary);font-weight:400}.app-nav-link-accent{color:var(--accent)}.app-main{flex-direction:column;flex:1;min-width:0;min-height:0;display:flex;overflow:hidden}.app-topbar{background:var(--color-background-primary);border-bottom:1px solid var(--color-border-tertiary);flex-shrink:0;align-items:center;gap:16px;height:60px;padding:0 24px;display:flex}.app-topbar-title{border-left:1px solid var(--color-border-tertiary);color:var(--color-text-secondary);flex:1;margin-left:8px;padding-left:8px;font-size:14px;font-weight:500}.app-topbar-search{background:var(--color-background-secondary);border:.5px solid var(--color-border-tertiary);border-radius:var(--radius-md);width:220px;color:var(--color-text-secondary);align-items:center;gap:8px;padding:6px 12px;font-size:13px;display:flex}.app-topbar-icon-btn{border-radius:var(--radius-md);cursor:pointer;width:32px;height:32px;color:var(--color-text-secondary);background:0 0;border:none;justify-content:center;align-items:center;font-size:16px;display:inline-flex;position:relative}.app-topbar-icon-btn:hover{background:var(--color-background-secondary);color:var(--color-text-primary)}.app-topbar-account{position:relative}.app-topbar-account-btn.active{background:var(--color-background-secondary);color:var(--accent)}.app-topbar-user-icon{width:18px;height:18px}.app-topbar-dot{background:#ef4444;border-radius:50%;width:6px;height:6px;position:absolute;top:6px;right:6px}.app-topbar-back{border:.5px solid var(--color-border-tertiary);border-radius:var(--radius-md);background:var(--color-background-primary);min-height:40px;color:var(--color-text-secondary);font:inherit;cursor:pointer;align-items:center;gap:6px;padding:6px 12px;font-size:13px;display:inline-flex}.app-topbar-back:hover{background:var(--color-background-secondary);color:var(--color-text-primary)}.app-content{flex-direction:column;flex:1;height:0;min-height:0;padding:20px;display:flex;overflow:auto}.app-content--flush{flex-direction:column;padding:0;display:flex;overflow:hidden}.app-layout:has(.program-open-page.mode-operator .opw-shell) .app-topbar{display:none}.ds-panel{background:var(--color-background-primary);border:.5px solid var(--color-border-tertiary);border-radius:var(--radius-lg);box-shadow:var(--shadow);padding:16px}.ds-tabs{border-bottom:.5px solid var(--color-border-tertiary);gap:0;margin-bottom:20px;display:flex}.ds-tab{cursor:pointer;color:var(--color-text-secondary);font-size:13px;font:inherit;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-.5px;padding:8px 16px;transition:all .15s}.ds-tab:hover:not(.active){color:var(--color-text-primary)}.ds-tab.active{color:var(--accent);border-bottom-color:var(--accent);font-weight:500}.ds-btn-primary{background:var(--accent);border-radius:var(--radius-md);font:inherit;cursor:pointer;color:#fff;white-space:nowrap;border:none;justify-content:center;align-items:center;gap:6px;padding:7px 14px;font-size:13px;font-weight:500;display:inline-flex}.ds-btn-primary:hover:not(:disabled){background:var(--accent-strong)}.ds-btn-primary:disabled{opacity:.55;cursor:not-allowed}.ds-btn-ghost{background:var(--color-background-primary);border:.5px solid var(--color-border-tertiary);border-radius:var(--radius-md);font:inherit;cursor:pointer;color:var(--color-text-secondary);align-items:center;gap:6px;padding:6px 12px;font-size:13px;display:inline-flex}.ds-btn-ghost:hover:not(:disabled){background:var(--color-background-secondary);color:var(--color-text-primary)}.ds-search{background:var(--color-background-secondary);border:.5px solid var(--color-border-tertiary);border-radius:var(--radius-md);color:var(--color-text-secondary);align-items:center;gap:8px;padding:6px 12px;font-size:13px;display:flex}@media (width<=768px){.app-topbar{gap:10px;height:56px;padding:0 14px}.header-brand__name small,.app-topbar-title{display:none}.app-topbar-user-name{text-overflow:ellipsis;white-space:nowrap;max-width:110px;overflow:hidden}.app-nav-dropdown{width:min(300px,100vw - 24px);right:-4px}}.program-open-page{box-sizing:border-box;flex-direction:column;flex:1;align-items:stretch;gap:12px;min-height:0;padding:12px;display:flex}.program-open-page.mode-operator{gap:0;height:100svh;max-height:100svh;padding:0;overflow:hidden}.program-open-page.mode-operator .program-page-header{padding:max(6px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) 6px max(12px, env(safe-area-inset-left));background:var(--color-background-secondary);border-bottom:1px solid var(--border);flex-shrink:0;justify-content:flex-end}.program-page-header{justify-content:space-between;align-items:center;gap:10px;display:flex}.program-page-subheader{justify-content:center}.program-home-btn{border:1px solid var(--border);width:42px;height:42px;color:var(--text-h);cursor:pointer;background:#1f2129;border-radius:10px;justify-content:center;align-items:center;display:inline-flex}.program-home-btn svg{width:22px;height:22px}.no-program-page{background:radial-gradient(circle at 100% 0,#3b82f61a,#0000 35%),radial-gradient(circle at 0 0,#9333ea14,#0000 35%),#0b1020}.programs-home{-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#111827d1;border:1px solid #1f2a44;border-radius:16px;gap:14px;width:min(1040px,100%);margin:18px auto;padding:16px;display:grid;box-shadow:0 24px 80px #00000059}.programs-home-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.programs-home-title-wrap{gap:4px;display:grid}.programs-home-title-wrap p{color:#9fb1cf;margin:0;font-size:14px}.programs-home-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.programs-home-header h1{margin:0;font-size:clamp(22px,4vw,34px)}.program-create-form{background:linear-gradient(#18253f 0%,#131e33 100%);border:1px solid #2a3a5e;border-radius:14px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;padding:14px;display:grid}.program-create-form h2{color:#f8fbff;grid-column:1/-1;margin:0;font-size:20px}.program-create-modal-head{grid-column:1/-1;justify-content:space-between;align-items:center;gap:10px;display:flex}.program-create-close{color:#c4d4f3;cursor:pointer;background:#111a2e;border:1px solid #3b4a6e;border-radius:8px;width:34px;height:34px;font-size:22px;line-height:1}.program-create-field{gap:4px;min-width:0;display:grid}.program-create-field span{color:var(--text);font-size:12px}.program-create-field input{color:#f7f9fc;font:inherit;box-sizing:border-box;background:#0d172a;border:1px solid #34496f;border-radius:8px;width:100%;min-width:0;padding:10px 11px}.program-create-field input:focus{outline-offset:1px;border-color:#60a5fa;outline:2px solid #60a5fa80}.program-create-actions{flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:10px;display:flex}.program-create-state{margin:0;font-size:13px}.program-create-state.success{color:#86efac}.program-create-state.error{color:#fca5a5}.program-create-modal-overlay{z-index:50;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#030710d1;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.program-create-modal{grid-template-columns:repeat(2,minmax(0,1fr));width:min(760px,100%)}.program-create-modal .program-create-field{min-width:0}.program-create-modal .program-create-actions{justify-content:flex-start}.programs-home-state{color:#d8e3f4;background:#121b2f;border:1px solid #263554;border-radius:12px;margin:0;padding:14px}.programs-home-state.error{color:#fecaca;border-color:#7f1d1d}.programs-list{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;display:grid}.program-home-item{color:#f5f8ff;background:linear-gradient(#16233d 0%,#111a2e 100%);border:1px solid #2a3f63;border-radius:12px;gap:7px;padding:13px;text-decoration:none;transition:border-color .2s,transform .2s,box-shadow .2s;display:grid}.program-home-item:hover{border-color:#60a5fa;transform:translateY(-2px);box-shadow:0 12px 26px #0e234273}.program-home-item strong{font-size:16px}.program-home-item span{color:var(--text-h);font-size:13px}.program-home-item small{color:var(--text);font-size:12px}.program-home-item.disabled{opacity:.65;pointer-events:none}.programs-btn-primary{color:#eaf2ff;background:linear-gradient(#2563eb 0%,#1d4ed8 100%);border-color:#3b82f6}.programs-btn-primary:hover{border-color:#60a5fa}.programs-btn-ghost{color:#d3e2fb;background:#152139d9;border-color:#3a4b70}.programs-calendar-home{width:min(1120px,100%)}.programs-calendar-layout{grid-template-columns:minmax(280px,1fr) minmax(260px,360px);align-items:start;gap:16px;display:grid}.programs-calendar-panel{background:#121b2f;border:1px solid #263554;border-radius:14px;padding:14px}.programs-calendar-nav{justify-content:space-between;align-items:center;gap:10px;margin-bottom:12px;display:flex}.programs-calendar-month{text-transform:capitalize;color:#f3f7ff;margin:0;font-size:18px}.programs-calendar-nav-btn{color:#dbeafe;cursor:pointer;background:#0d172a;border:1px solid #34496f;border-radius:10px;width:36px;height:36px;font-size:22px;line-height:1}.programs-calendar-nav-btn:hover{border-color:#60a5fa}.programs-calendar-weekdays{color:#94a3b8;text-align:center;grid-template-columns:repeat(7,1fr);gap:4px;margin-bottom:6px;font-size:12px;display:grid}.programs-calendar-grid{grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.programs-calendar-day{color:#e2e8f0;cursor:pointer;background:#0f172aa6;border:1px solid #0000;border-radius:10px;flex-direction:column;align-items:center;gap:4px;min-height:52px;padding:6px 4px 4px;display:flex}.programs-calendar-day:hover{border-color:#3b82f6}.programs-calendar-day.other-month{opacity:.38}.programs-calendar-day.selected{background:#2563eb38;border-color:#60a5fa}.programs-calendar-day.today .programs-calendar-day-num{color:#93c5fd;font-weight:700}.programs-calendar-day.has-events{background:#1e40af47}.programs-calendar-day-num{font-size:14px;line-height:1}.programs-calendar-dots{justify-content:center;gap:3px;min-height:6px;display:flex}.programs-calendar-dots i{background:#60a5fa;border-radius:50%;width:5px;height:5px;display:block}.programs-calendar-day-panel{background:#121b2f;border:1px solid #263554;border-radius:14px;align-content:start;gap:12px;padding:14px;display:grid}.programs-calendar-day-panel h3{color:#f8fafc;text-transform:capitalize;margin:0;font-size:16px}.programs-calendar-events{gap:8px;margin:0;padding:0;list-style:none;display:grid}.programs-calendar-event{text-align:left;color:#f5f8ff;cursor:pointer;background:linear-gradient(#16233d 0%,#111a2e 100%);border:1px solid #2a3f63;border-radius:12px;gap:4px;width:100%;padding:12px;display:grid}.programs-calendar-event:hover{border-color:#60a5fa}.programs-calendar-event strong{font-size:15px}.programs-calendar-event span{color:var(--text-h);font-size:13px}.programs-calendar-event small{color:#93c5fd;font-size:12px}.programs-calendar-detail-modal{border:1px solid var(--border,#2a3f63);background:var(--bg,#111a2e);width:min(420px,100%);color:var(--text-h,#f8fafc);border-radius:16px;gap:10px;padding:20px;display:grid}.library-only-page{flex-direction:column;flex:1;min-height:0;display:flex}.library-only-header{border-bottom:1px solid var(--border,#2e303a);background:var(--bg,#16171d);align-items:center;gap:12px;padding:10px 14px;display:flex}.library-only-header h1{color:var(--text-h,#f3f4f6);margin:0;font-size:18px}.library-only-page .operator-panel.library-only-mode{flex:1;min-height:0}.operator-layout.library-only-layout{flex:1;min-height:0;grid-template-columns:1fr!important}.operator-layout.library-only-layout .materials-library-panel{max-width:none}@media (width<=900px){.programs-calendar-layout{grid-template-columns:1fr}}@media (width<=860px){.program-create-modal{grid-template-columns:minmax(0,1fr)}}.mode-switcher{border:1px solid var(--border);background:#1f2129;border-radius:10px;align-self:flex-end;display:inline-flex;overflow:hidden}.mode-btn{color:var(--text-h);cursor:pointer;font:inherit;background:0 0;border:0;padding:10px 16px}.mode-btn.active{background:var(--accent-bg);color:var(--accent)}.operator-panel,.speaker-screen{width:100%}.operator-panel{background:var(--color-background-tertiary);flex-direction:column;flex:1;min-height:0;display:flex;position:relative;overflow:hidden}.operator-controls{gap:10px;display:grid}.control-buttons,.audio-controls{flex-wrap:wrap;gap:8px;display:flex}.audio-input{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--color-background-secondary);min-width:260px;color:var(--text-h);flex:320px;padding:9px 10px}.action-btn{border:1px solid var(--accent-border);background:var(--accent-bg);color:var(--accent);border-radius:var(--radius-md);font:inherit;cursor:pointer;padding:8px 10px}.action-btn.warning{background:var(--color-warning-bg);color:var(--color-warning-text);border-color:#f59e0b66}.action-btn.danger{color:var(--danger);background:#ef444414;border-color:#ef444459}.command-message{color:#93c5fd;margin:0;font-size:13px}.op-infobar{background:var(--color-background-secondary);border-bottom:1px solid var(--border);flex-shrink:0;align-items:center;gap:8px;height:46px;padding:0 14px;display:flex}.op-meta-chip{background:var(--bg);border:1px solid var(--border);color:var(--text-h);white-space:nowrap;text-overflow:ellipsis;border-radius:999px;align-items:center;gap:5px;max-width:220px;padding:3px 10px;font-size:12px;display:inline-flex;overflow:hidden}.op-meta-label{color:var(--text);flex-shrink:0;font-size:10px}.op-meta-status{color:var(--text);white-space:nowrap;align-items:center;gap:5px;font-size:12px;display:inline-flex}.op-status-dot{background:var(--text);border-radius:50%;flex-shrink:0;width:7px;height:7px;display:inline-block}.op-meta-status.connected .op-status-dot{background:#16a34a}.op-meta-status.connected{color:#166534}.op-meta-status.disconnected .op-status-dot{background:#dc2626}.op-meta-status.disconnected{color:#991b1b}.op-meta-status.unknown .op-status-dot{background:#d97706}.op-infobar-spacer{flex:1}.op-timer-compact{align-items:center;gap:6px;display:flex}.op-timer-live-dot{background:#16a34a;border-radius:50%;flex-shrink:0;width:7px;height:7px;animation:1.4s ease-in-out infinite op-timer-pulse}@keyframes op-timer-pulse{0%,to{box-shadow:0 0 #16a34a80}50%{box-shadow:0 0 0 5px #16a34a00}}.op-timer-duration{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg);align-items:center;gap:0;padding:2px 4px;display:flex}.op-timer-duration.is-running{background:#f0fdf4;border-color:#bbf7d0}.op-timer-digit{width:20px;font-family:var(--mono);text-align:center;color:var(--text-h);background:0 0;border:none;padding:2px 0;font-size:13px;font-weight:600}.op-timer-duration.is-running .op-timer-digit{color:#166534}.op-timer-digit:disabled{opacity:.5}.op-timer-digit:focus{background:#b9935a24;border-radius:4px;outline:none}.op-timer-colon{font-family:var(--mono);color:var(--text);-webkit-user-select:none;user-select:none;font-size:13px;font-weight:600;line-height:1}.op-timer-presets{gap:3px;display:flex}.op-timer-preset{border:1px solid var(--border);background:var(--bg);color:var(--text);font:inherit;cursor:pointer;border-radius:999px;padding:3px 7px;font-size:11px}.op-timer-preset:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.op-timer-preset:disabled{opacity:.4;cursor:not-allowed}.op-timer-actions{gap:4px;display:flex}.op-timer-btn{cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:11px;transition:opacity .12s;display:inline-flex}.op-timer-btn:disabled{opacity:.35;cursor:not-allowed}.op-timer-btn.start{color:#fff;background:#16a34a}.op-timer-btn.stop{color:#fff;background:#dc2626}.op-timer-error{color:#dc2626;font-size:11px}.operator-topbar{grid-template-columns:repeat(4,minmax(110px,1fr)) minmax(220px,1.35fr);align-items:stretch;gap:10px;display:grid}.topbar-timer{gap:8px;min-width:0}.desktop-timer-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.desktop-timer-live-dot{background:#4ade80;border-radius:50%;width:8px;height:8px;animation:1.4s ease-in-out infinite desktop-timer-pulse;box-shadow:0 0 #4ade80b3}@keyframes desktop-timer-pulse{0%,to{box-shadow:0 0 #4ade808c}50%{box-shadow:0 0 0 6px #4ade8000}}.desktop-timer-face{border-radius:var(--radius-md);border:1px solid var(--border);background:var(--color-background-secondary);box-shadow:var(--shadow);padding:8px 10px}.desktop-timer-face.is-running{background:#f0fdf4;border-color:#166534;box-shadow:0 0 0 1px #16a34a33}.desktop-timer-readout{font-variant-numeric:tabular-nums;letter-spacing:.06em;min-height:42px;color:var(--text-h);text-shadow:none;justify-content:center;align-items:center;font-family:SF Mono,Roboto Mono,Consolas,monospace;font-size:28px;font-weight:700;display:flex}.desktop-timer-readout-edit{gap:2px}.desktop-timer-readout-edit.is-running{background:#f0fdf4;border-color:#bbf7d0}.desktop-timer-readout-edit.is-running .desktop-timer-digit{color:#166534}.desktop-timer-segment{display:flex}.desktop-timer-digit{width:2.1ch;min-width:34px;color:inherit;font:inherit;font-size:inherit;font-weight:inherit;letter-spacing:inherit;text-align:center;caret-color:var(--accent);background:0 0;border:none;outline:none;padding:0}.desktop-timer-digit:disabled{opacity:.5}.desktop-timer-digit:focus{color:var(--accent)}.desktop-timer-colon{color:var(--text);opacity:.85;font:inherit;font-size:inherit;-webkit-user-select:none;user-select:none;padding:0 1px;font-weight:700;line-height:1}.desktop-timer-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.desktop-timer-presets{gap:4px;display:flex}.desktop-timer-preset-btn{border:1px solid var(--border);background:var(--color-background-secondary);color:var(--text);cursor:pointer;border-radius:999px;min-width:36px;padding:4px 8px;font-size:11px;font-weight:600;transition:border-color .15s,background .15s,color .15s}.desktop-timer-preset-btn:hover:not(:disabled){border-color:var(--accent);color:var(--accent)}.desktop-timer-preset-btn:disabled{opacity:.45;cursor:not-allowed}.desktop-timer-actions{gap:6px;display:flex}.desktop-timer-btn{cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:13px;line-height:1;transition:transform .12s,opacity .12s,box-shadow .12s;display:inline-flex}.desktop-timer-btn:active:not(:disabled){transform:scale(.94)}.desktop-timer-btn:disabled{opacity:.4;cursor:not-allowed}.desktop-timer-btn-start{color:#052e16;background:linear-gradient(#22c55e 0%,#16a34a 100%);box-shadow:0 2px 8px #22c55e59}.desktop-timer-btn-stop{color:#450a0a;background:linear-gradient(#f87171 0%,#dc2626 100%);font-size:11px;box-shadow:0 2px 8px #ef44444d}.desktop-timer-status{min-height:14px;font-size:11px;line-height:1.3}.desktop-timer-hint{color:var(--text)}.desktop-timer-message{color:var(--accent)}.desktop-timer-error{color:var(--danger)}.topbar-item{background:var(--bg);border:1px solid var(--border);border-radius:var(--radius-md);text-align:left;gap:3px;padding:8px 10px;display:grid}.topbar-item .label{color:var(--text);font-size:12px}.topbar-item strong{color:var(--text-h);font-size:14px;font-weight:600}.desktop-status{align-items:center;gap:6px;display:inline-flex}.desktop-status:before{content:"";background:#9ca3af;border-radius:999px;width:8px;height:8px}.desktop-status.connected:before{background:#22c55e}.desktop-status.disconnected:before{background:#ef4444}.desktop-status.unknown:before{background:#f59e0b}.operator-layout{grid-template-columns:var(--program-width,240px) 10px minmax(620px, 1fr);flex:1;gap:8px;min-height:0;padding:8px;display:grid;overflow:auto hidden}.operator-layout.with-library{grid-template-columns:var(--library-width,260px) 10px var(--program-width,240px) 10px minmax(620px, 1fr)}.materials-library-panel{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg);min-height:0;box-shadow:var(--shadow);flex-direction:column;gap:8px;padding:8px;display:flex;overflow:hidden}.materials-library-header h2{margin:0;font-size:16px}.materials-library-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.library-add-btn{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--color-background-secondary);width:34px;height:34px;color:var(--text-h);cursor:pointer;font-size:24px;line-height:1}.materials-library-placeholder{border:1px dashed var(--border);border-radius:var(--radius-md);color:var(--text);text-align:center;flex-direction:column;flex:1;min-height:0;padding:12px;display:flex}.materials-songs-list-wrap{text-align:left;flex-direction:column;flex:1;gap:8px;min-height:0;display:flex}.materials-songs-actions{justify-content:flex-end;display:flex}.materials-search-row{align-items:center;gap:8px;display:flex}.materials-search-option{color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;margin:0 0 8px;font-size:12.5px;display:inline-flex}.materials-search-option input{width:14px;height:14px;accent-color:var(--accent);margin:0}.materials-search-input{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--color-background-secondary);min-width:0;color:var(--text-h);font:inherit;flex:1;padding:7px 9px}.materials-upload-form{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--color-background-secondary);gap:8px;padding:8px;display:grid}.materials-upload-field{gap:4px;display:grid}.materials-upload-field span{color:var(--text);font-size:12px}.materials-upload-field input,.materials-upload-field select,.materials-upload-select{box-sizing:border-box;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg);width:100%;color:var(--text-h);font:inherit;padding:7px 9px}.materials-upload-textarea{box-sizing:border-box;border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg);width:100%;color:var(--text-h);font:inherit;resize:vertical;min-height:180px;padding:7px 9px}.materials-upload-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.materials-upload-meta{color:var(--text);font-size:12px}.materials-songs-state{color:var(--text);margin:0;font-size:13px}.materials-songs-state.error{color:#fca5a5}.materials-songs-list{flex-direction:column;flex:1;gap:6px;min-height:0;display:flex;overflow:auto}.materials-songs-item{border:1px solid var(--border);background:var(--color-background-secondary);color:var(--text-h);text-align:left;font:inherit;cursor:pointer;border-radius:8px;align-items:center;gap:8px;padding:7px 9px;font-size:13px;display:flex}.materials-songs-item:hover{border-color:#3b82f6}.materials-song-row{align-items:center;gap:6px;display:flex}.materials-song-row .materials-songs-item{flex:1}.song-modal-overlay{z-index:80;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0f172a8c;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.song-modal{background:var(--bg);border:1px solid var(--border);width:min(720px,100%);max-height:min(90vh,880px);box-shadow:var(--shadow);border-radius:16px;flex-direction:column;display:flex;overflow:hidden}.song-modal-header{border-bottom:1px solid var(--border);flex-shrink:0;padding:18px 20px 14px}.song-modal-header h3{color:var(--text-h);margin:0;font-size:20px;font-weight:700}.song-modal-grid{flex:1;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-height:0;padding:16px 20px;display:grid;overflow-y:auto}.song-modal-field-wide{grid-column:1/-1}.song-modal .materials-upload-field input,.song-modal .materials-upload-field select,.song-modal .materials-upload-select,.song-modal .materials-upload-textarea{border:1px solid var(--border);background:var(--bg);color:var(--text-h);border-radius:10px}.song-modal .materials-upload-field input:focus,.song-modal .materials-upload-field select:focus,.song-modal .materials-upload-textarea:focus{outline:2px solid var(--accent-border);outline-offset:0;border-color:var(--accent)}.song-modal .materials-upload-textarea{resize:vertical;min-height:220px;line-height:1.45}.song-modal .materials-upload-field span{letter-spacing:.04em;text-transform:uppercase;color:var(--text);font-size:12px;font-weight:600}.song-modal-actions{border-top:1px solid var(--border);background:var(--code-bg);flex-shrink:0;justify-content:flex-end;gap:10px;padding:14px 20px 18px;display:flex}.song-modal .materials-upload-meta{color:var(--text);margin:0;padding:0 20px 12px;font-size:12px}.song-modal>.materials-songs-state{margin:0 20px 12px}.slideshow-create-modal{grid-template-rows:auto auto minmax(0,1fr) auto;gap:14px;width:min(1120px,100%);height:min(860px,86vh);max-height:86vh;overflow:hidden}.slideshow-create-header{justify-content:space-between;align-items:center;gap:12px;padding-right:4px;display:flex}.slideshow-create-header h3{margin:0}.slideshow-create-close{border:1px solid var(--border);width:36px;height:36px;color:var(--text-h);cursor:pointer;background:0 0;border-radius:8px;font-size:22px;line-height:1}.slideshow-create-loading{margin:0 20px 12px}.slideshow-create-stage{border:1px solid var(--border);background:linear-gradient(135deg, var(--color-background-secondary), var(--bg));border-radius:12px;place-items:center;height:100%;min-height:0;transition:border-color .15s,box-shadow .15s;display:grid;position:relative;overflow:hidden}.slideshow-create-stage.has-slide{background:repeating-conic-gradient(#7d7d7d0f 0% 25%, transparent 0% 50%) 50% / 22px 22px, var(--bg)}.slideshow-create-stage:hover{border-color:var(--accent-border)}.slideshow-stage-img{object-fit:contain;max-width:100%;max-height:100%;display:block}.slideshow-stage-empty{text-align:center;color:var(--text);pointer-events:none;justify-items:center;gap:6px;padding:24px;display:grid}.slideshow-stage-empty strong{color:var(--text-h);font-size:16px;font-weight:600}.slideshow-stage-empty small{color:var(--text);font-size:12px}.slideshow-stage-icon{width:44px;height:44px;color:var(--accent);background:var(--accent-bg);border:1px solid var(--accent-border);border-radius:50%;place-items:center;font-size:20px;display:grid}.slideshow-spinner{border:2px solid var(--accent-border);border-top-color:var(--accent);vertical-align:-3px;border-radius:50%;width:16px;height:16px;animation:.7s linear infinite slideshow-spin;display:inline-block}.slideshow-spinner-lg{border-width:3px;width:30px;height:30px;margin:0 auto 4px}.slideshow-loading-hint{color:var(--text);align-items:center;gap:8px;margin:0;font-size:12px;display:flex}@keyframes slideshow-spin{to{transform:rotate(360deg)}}.slideshow-create-top{grid-template-columns:minmax(0,1fr) minmax(0,1.6fr) auto;align-items:center;gap:12px;display:grid}.slideshow-create-body{grid-template-columns:220px minmax(0,1fr) minmax(260px,.75fr);gap:12px;height:100%;min-height:0;display:grid}.slideshow-create-sidebar{border:1px solid var(--border);background:var(--color-background-secondary);border-radius:10px;grid-template-rows:1fr auto;gap:10px;min-height:0;padding:10px;display:grid}.slideshow-create-gallery{align-content:start;gap:8px;min-height:0;display:grid;overflow-y:auto}.slideshow-create-empty{border:1px dashed var(--border);text-align:center;color:var(--text);border-radius:8px;place-content:center;gap:6px;font-size:12px;display:grid}.slideshow-create-empty strong{color:var(--text-h);font-size:14px}.slideshow-add-slide-btn{justify-content:center;width:100%}.slideshow-gallery-item{border:1px solid var(--border);background:var(--bg);cursor:pointer;border-radius:8px;gap:6px;padding:6px;display:grid;position:relative}.slideshow-gallery-item.active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.slideshow-gallery-item img{aspect-ratio:16/9;object-fit:cover;border:1px solid var(--border);border-radius:6px;width:100%}.slideshow-gallery-item span{color:var(--text-h);white-space:nowrap;text-overflow:ellipsis;font-size:12px;overflow:hidden}.slideshow-gallery-order{color:#e2e8f0;background:#0f172ad1;border-radius:999px;justify-content:center;align-items:center;min-width:22px;height:22px;padding:0 6px;font-size:11px;font-weight:700;display:inline-flex;position:absolute;top:4px;left:4px}.slideshow-gallery-item-actions{justify-content:flex-end;gap:4px;display:flex}.slideshow-gallery-move{border:1px solid var(--border);background:var(--bg);width:28px;height:28px;color:var(--text-h);cursor:pointer;border-radius:6px;font-size:14px;line-height:1}.slideshow-gallery-move:disabled{opacity:.35;cursor:not-allowed}.slideshow-gallery-remove{color:#e2e8f0;cursor:pointer;background:#0f172ac7;border:1px solid #475569;border-radius:6px;width:28px;height:28px;line-height:1}.slideshow-create-main{border:1px solid var(--border);background:var(--color-background-secondary);border-radius:10px;grid-template-rows:minmax(0,1fr) auto;gap:10px;min-height:0;padding:10px;display:grid}.slideshow-create-comment-panel{border:1px solid var(--border);background:var(--color-background-secondary);border-radius:10px;flex-direction:column;gap:8px;min-height:0;padding:10px;display:flex}.slideshow-comment-title{color:var(--text);margin:0;font-size:12px}.slideshow-dropzone{border:1px dashed var(--accent-border);background:linear-gradient(135deg, var(--color-background-secondary), var(--bg));color:var(--text);text-align:center;border-radius:12px;place-items:center;padding:16px;transition:border-color .15s,background .15s;display:grid}.slideshow-dropzone:hover{border-color:var(--accent);background:var(--accent-bg)}.slideshow-dropzone span{color:var(--text-h);font-size:15px;font-weight:600}.slideshow-create-actions{border-top:1px solid var(--border);padding-top:10px}.slideshow-create-actions .action-btn-primary{background:var(--accent,#5d5fef);color:#fff;border-color:#0000;font-weight:600}.slideshow-slide-comment-input{resize:none;flex:auto;height:auto;min-height:0}@media (width<=900px){.song-modal-overlay.slideshow-create-overlay.is-mobile{overscroll-behavior:contain;z-index:200;padding:calc(8px + env(safe-area-inset-top)) 12px calc(96px + env(safe-area-inset-bottom));place-items:start center;overflow:hidden}.slideshow-create-modal.is-mobile{width:min(100%,560px);height:auto;max-height:calc(100dvh - 104px - env(safe-area-inset-top) - env(safe-area-inset-bottom));-webkit-overflow-scrolling:touch;overscroll-behavior:contain;gap:10px;overflow-y:auto}.slideshow-create-modal.is-mobile .slideshow-create-top{grid-template-columns:minmax(0,1fr);gap:8px}.slideshow-create-modal.is-mobile .slideshow-create-body{grid-template-columns:minmax(0,1fr);gap:10px;height:auto}.slideshow-create-modal.is-mobile .slideshow-create-sidebar{grid-template-rows:auto auto}.slideshow-create-modal.is-mobile .slideshow-create-main{grid-template-rows:auto auto auto}.slideshow-create-modal.is-mobile .slideshow-create-stage{min-height:min(28vh,220px);max-height:min(28vh,220px)}.slideshow-create-modal.is-mobile .slideshow-create-gallery{max-height:min(34vh,300px)}.slideshow-create-modal.is-mobile .slideshow-slide-comment-input{min-height:120px}.slideshow-create-modal.is-mobile .slideshow-create-actions{z-index:2;position:sticky;bottom:0}}.song-delete-modal{background:var(--bg);border:1px solid var(--border);width:min(460px,100%);box-shadow:var(--shadow);border-radius:16px;gap:12px;padding:20px;display:grid}.song-delete-modal h3,.song-delete-modal p{color:var(--text-h);margin:0}.song-delete-modal p{color:var(--text);font-size:14px}.song-delete-modal .song-modal-actions{border-top:1px solid var(--border);background:0 0;margin:0;padding:14px 0 0}.song-context-menu{z-index:120;border:1px solid var(--border);background:var(--bg);border-radius:10px;gap:4px;min-width:170px;padding:6px;display:grid;position:fixed;box-shadow:0 12px 36px #00000073}.song-context-menu-item{color:var(--text-h);text-align:left;font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;padding:7px 9px;font-size:13px}.song-context-menu-item:hover{background:#252832}.song-context-menu-item.danger{color:#fecaca}.materials-songs-thumb{object-fit:cover;border:1px solid var(--border);background:#111827;border-radius:4px;flex:none;width:46px;height:28px}.materials-videos-list{flex:1;grid-template-columns:1fr;grid-auto-rows:max-content;align-content:start;gap:12px;min-height:0;display:grid;overflow:auto}.materials-video-item{border:1px solid var(--border);color:var(--text-h);text-align:left;font:inherit;cursor:pointer;background:#23262f;border-radius:10px;gap:8px;padding:10px;display:grid}.materials-video-item:hover{border-color:#3b82f6}.materials-video-thumb-wrap{border:1px solid var(--border);aspect-ratio:16/9;background:#0b1020;border-radius:8px;overflow:hidden}.materials-video-thumb{object-fit:cover;width:100%;height:100%;display:block}.materials-video-thumb-fallback{color:#93c5fd;letter-spacing:1px;place-items:center;width:100%;height:100%;font-size:22px;display:grid}.materials-video-title{font-size:14px;line-height:1.3}.materials-library-tabs{flex-wrap:nowrap;gap:6px;display:flex;overflow:auto hidden}.materials-library-tab{border:1px solid var(--border);background:var(--color-background-secondary);color:var(--text);font:inherit;cursor:pointer;border-radius:999px;padding:4px 10px;font-size:12px}.materials-library-tab.active{border-color:var(--accent);background:var(--accent-bg);color:var(--accent)}.topbar-item-actions{align-content:space-between}.operator-resizer{cursor:col-resize;-webkit-user-select:none;user-select:none;touch-action:none;background:0 0;width:10px;position:relative}.operator-resizer:before{content:"";background:#94a3b847;width:2px;height:100%;margin:auto;position:absolute;inset:0}.operator-resizer:hover:before{background:#3b82f6a6}.library-edge-toggle{z-index:35;border:1px solid var(--accent-border);background:var(--bg);width:28px;height:56px;color:var(--accent);cursor:pointer;box-shadow:var(--shadow);border-radius:0 10px 10px 0;justify-content:center;align-items:center;font-size:14px;line-height:1;display:inline-flex;position:fixed;top:50%;left:6px;transform:translateY(-50%)}.library-edge-toggle:hover{background:var(--accent-bg)}.library-toggle-btn{border:1px solid var(--accent-border);background:var(--accent-bg);color:var(--accent);border-radius:var(--radius-md);font:inherit;cursor:pointer;padding:6px 8px;line-height:1}.library-toggle-btn.compact{width:100%}.program-params-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg);margin-bottom:6px;padding:12px}.program-params-card .params-title{color:var(--text-h);margin:0 0 10px;font-size:13px;font-weight:600}.program-params-card .params-form{gap:8px;display:grid}.program-params-theme-field{grid-template-columns:auto minmax(0,1fr);align-items:center;gap:10px;font-size:13px;display:grid}.program-params-theme-field span{color:var(--text);white-space:nowrap;font-weight:500}.program-params-theme-field select{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg);width:100%;min-width:0;height:36px;color:var(--text-h);padding:0 10px;font-size:13px}.program-params-theme-field select:focus{border-color:var(--accent);box-shadow:0 0 0 2px var(--accent-border);outline:none}.program-params-theme-error{color:#dc2626;margin:0;font-size:12px}.program-list-top{margin-bottom:4px}.program-list{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg);min-height:0;box-shadow:var(--shadow);align-content:start;gap:6px;padding:6px;display:grid;overflow:auto}.program-list-actions{color:var(--text);border:1px dashed var(--border);border-radius:var(--radius-md);padding:8px;font-size:12px}.program-set-ack{color:#16a34a;margin:0;font-size:12px}.program-item-row{grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:6px;display:grid}.program-item-row.drop-active{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-md)}.program-item-actions{gap:6px;display:grid}.program-list-drop-active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent-border)}.program-add-block-btn{justify-content:center;width:100%;margin-top:2px}.program-item{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--color-background-secondary);color:var(--text-h);text-align:left;cursor:pointer;gap:6px;padding:8px;display:grid}.program-item.active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.item-badge{width:fit-content;color:var(--accent);background:var(--accent-bg);border-radius:999px;padding:2px 8px;font-size:11px;display:inline-block}.item-title{color:var(--text-h);font-size:14px;line-height:1.3}.item-meta{color:var(--text);font-size:12px}.operator-right{grid-template-rows:minmax(100px,1fr) minmax(100px,1.3fr) minmax(88px,.65fr);gap:8px;min-height:0;display:grid;overflow:hidden}.right-panel{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--bg);min-height:0;box-shadow:var(--shadow);align-content:start;gap:8px;padding:8px;display:grid;overflow:auto}.panel-header{justify-content:space-between;align-items:center;gap:8px;display:flex}.panel-header h2{margin:0;font-size:16px}.media-preview-panel{grid-template-rows:auto minmax(0,1fr);align-content:stretch;overflow:hidden}.preview-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--color-background-secondary);gap:4px;padding:10px 12px;display:grid}.preview-card strong{color:var(--text-h);font-size:20px}.preview-card span{color:var(--text);font-size:13px}.slides-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.slide-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--color-background-secondary);gap:8px;padding:10px;display:grid}.slide-card-clickable{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer}.slide-card-clickable.active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.slide-card-clickable:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.slide-card h3{color:var(--accent);margin:0;font-size:13px}.slide-card p{color:var(--text-h);margin:0;font-size:13px;line-height:1.45}.bible-preview{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--color-background-secondary);gap:10px;padding:12px;display:grid}.bible-preview h3{color:var(--accent);margin:0;font-size:15px}.bible-preview p{color:var(--text-h);white-space:pre-wrap;margin:0;font-size:14px;line-height:1.5}.bible-verses-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;display:grid}.bible-verse-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--color-background-secondary);gap:8px;padding:10px;display:grid}.bible-verse-card.clickable{text-align:left;width:100%;font:inherit;color:inherit;cursor:pointer}.bible-verse-card.clickable.active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.bible-verse-card.clickable:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.bible-verse-card h4{color:var(--accent);margin:0;font-size:13px}.bible-verse-card p{color:var(--text-h);margin:0;font-size:14px;line-height:1.45}.preview-placeholder,.empty-state{border:1px dashed var(--border);border-radius:var(--radius-md);color:var(--text);gap:10px;padding:16px;display:grid}.preview-placeholder.compact{text-align:center;place-content:center;min-height:100px}.preview-placeholder.media-empty{place-content:center;justify-items:center;min-height:180px}.preview-placeholder.media-empty span{color:var(--text);font-size:18px}.preview-placeholder.media-empty small{color:var(--text)}.preview-placeholder p{margin:0}.preview-zone{transition:box-shadow .15s,border-color .15s,background .15s}.preview-zone.drop-active{border-color:var(--accent);background:var(--accent-bg);box-shadow:inset 0 0 0 1px var(--accent-border)}.library-preview-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--color-background-secondary);gap:6px;padding:14px;display:grid}.library-preview-card strong{color:var(--text-h);font-size:18px}.library-preview-kind{letter-spacing:.04em;text-transform:uppercase;color:var(--accent);font-size:12px}.library-preview-card small{color:var(--text);font-size:12px}.media-thumb-card{border:1px solid var(--border);border-radius:var(--radius-lg);background:var(--color-background-secondary);text-align:left;width:min(560px,100%);color:inherit;font:inherit;cursor:pointer;gap:10px;padding:10px;display:grid}.media-slides-grid{scrollbar-width:thin;align-items:stretch;gap:10px;height:100%;min-height:0;padding-bottom:4px;display:flex;overflow:auto hidden}.media-slides-grid .media-thumb-card{aspect-ratio:16/9;flex:none;gap:0;width:auto;min-width:260px;max-width:none;height:100%;padding:6px}.media-slides-grid .media-thumb-image{height:100%;min-height:0}.media-slides-grid .media-thumb-meta{display:none}.media-thumb-card:hover{border-color:var(--accent)}.media-thumb-card:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.media-thumb-image{border:1px dashed var(--border);border-radius:var(--radius-md);background:var(--color-background-tertiary);place-items:center;min-height:120px;display:grid}.media-thumb-card-video{grid-template-rows:auto auto;align-items:stretch;width:100%;max-width:100%}.media-thumb-card-video .media-thumb-image{aspect-ratio:16/9;min-height:auto;overflow:hidden}.media-thumb-card-video .media-thumb-meta{padding-inline:0}.media-thumb-image span{letter-spacing:1px;color:#9cc1ff;font-size:22px}.media-thumb-photo{object-fit:cover;border-radius:6px;width:100%;height:100%;display:block}.media-thumb-meta{gap:2px;display:grid}.media-thumb-meta strong{color:var(--text-h);overflow-wrap:break-word;font-size:15px;line-height:1.25}.media-thumb-meta span{color:var(--text);font-size:12px}.audio-player-panel{padding-top:6px}.audio-player-panel .audio-controls{align-items:center}.audio-icon-btn{justify-content:center;align-items:center;width:38px;height:38px;padding:0;display:inline-flex}.audio-icon{width:18px;height:18px}.audio-selected-info{border:1px solid var(--border);background:var(--color-background-secondary);border-radius:8px;gap:2px;padding:8px 10px;display:grid}.audio-selected-info strong{color:var(--text-h);font-size:14px}.audio-selected-info span{color:var(--text);overflow-wrap:anywhere;font-size:12px}.audio-progress{align-items:center;gap:10px;margin-top:6px;display:flex}.audio-progress .dot{background:#f3f4f6;border-radius:999px;width:10px;height:10px}.audio-progress .track{background:#374151;border-radius:999px;flex:1;height:4px}.status{margin:0;font-size:14px;font-weight:600}.status-connecting{color:#2563eb}.status-sent{color:#16a34a}.status-error{color:#dc2626}.mode-speaker{justify-content:flex-start}.mode-speaker .speaker-screen h1{font-size:clamp(20px,3.2vw,36px);line-height:1.1}.speaker-screen{gap:12px;display:grid}.speaker-mode-switcher{align-self:flex-start}.fullscreen-hint{border:1px solid var(--border);background:var(--bg);color:var(--text-h);border-radius:8px;padding:8px 10px;font-size:13px;line-height:1.35}.speaker-screen h1{margin:0}.speaker-topbar{justify-content:space-between;align-items:center;gap:12px;display:flex}.speaker-program-meta{gap:4px;display:grid}.speaker-program-meta h1{margin:0;font-size:clamp(20px,3.2vw,36px);line-height:1.1}.speaker-program-meta span{color:var(--text);font-size:13px}.speaker-layout{grid-template-columns:minmax(420px,1fr) minmax(360px,.9fr);gap:12px;display:grid}.speaker-current-slide,.speaker-next-slide{gap:8px;display:grid}.speaker-comment-placeholder{border:1px solid var(--border);background:var(--bg);border-radius:10px;min-height:clamp(140px,22vh,300px);padding:12px}.speaker-comment-placeholder-inner{width:100%;height:100%;min-height:inherit;box-sizing:border-box;background:#111827a6;border:1px dashed #3b4254;border-radius:8px;padding:12px;overflow:auto}.speaker-comment-text{color:#dbe2ef;white-space:pre-wrap;margin:0;font-size:18px;line-height:1.45}.speaker-comment-text.muted{color:var(--text)}.speaker-current-slide h2,.speaker-next-slide h2{text-transform:uppercase;color:#93c5fd;letter-spacing:.04em;margin:0;font-size:14px}.speaker-slide-card{border:1px solid var(--border);background:var(--bg);aspect-ratio:16/9;border-radius:10px;grid-template-rows:auto 1fr;gap:8px;padding:12px;display:grid;overflow:hidden}@media (width>=901px){.speaker-current-slide .speaker-slide-card,.speaker-next-slide .speaker-slide-card{min-height:clamp(340px,48vh,680px)}}.speaker-slide-card-clickable{text-align:left;width:100%;color:inherit;font:inherit;cursor:pointer}.speaker-slide-card-clickable:disabled{cursor:not-allowed;opacity:.75}.speaker-slide-head{align-content:start;gap:4px;display:grid}.speaker-slide-badge{color:#93c5fd;background:#3b82f629;border-radius:999px;width:fit-content;padding:3px 8px;font-size:11px}.speaker-slide-card strong{white-space:nowrap;text-overflow:ellipsis;font-size:22px;line-height:1.25;overflow:hidden}.speaker-slide-canvas{border:1px solid var(--border);background:#111827;border-radius:8px;place-items:center;width:100%;height:100%;display:grid;overflow:hidden}.speaker-slide-text{color:var(--text-h);white-space:pre-wrap;box-sizing:border-box;width:100%;height:100%;margin:0;padding:14px;font-size:clamp(24px,2.2vw,36px);font-weight:700;line-height:1.3;overflow:auto}.speaker-slide-canvas img{object-fit:cover;width:100%;height:100%}.speaker-nav-controls{gap:8px;display:flex}.speaker-nav-btn{border:1px solid var(--border);background:var(--bg);width:62px;height:62px;color:var(--text-h);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.speaker-nav-btn svg{width:34px;height:34px}.speaker-nav-btn[disabled]{opacity:.55;cursor:not-allowed}.speaker-slide-counter{border:1px solid var(--border);background:var(--bg);min-width:96px;height:62px;color:var(--text-h);border-radius:8px;justify-content:center;align-items:center;padding:0 10px;font-size:22px;font-weight:600;display:inline-flex}.speaker-gallery-backdrop{z-index:40;cursor:pointer;background:#080a1059;border:0;margin:0;padding:0;position:fixed;inset:0}.speaker-gallery-drawer{z-index:45;border:1px solid var(--border);background:var(--bg);max-height:min(36vh,300px);padding:10px 12px max(12px, env(safe-area-inset-bottom));border-bottom:none;border-radius:12px 12px 0 0;gap:8px;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -10px 28px #00000038}.speaker-gallery-header{flex-shrink:0;justify-content:space-between;align-items:center;gap:10px;display:flex}.speaker-gallery-header h2{margin:0;font-size:15px;font-weight:600}.speaker-gallery-grid{scroll-snap-type:x proximity;flex-wrap:nowrap;gap:10px;padding-bottom:2px;display:flex;overflow:auto hidden}.speaker-gallery-empty{color:var(--text);margin:0;padding:12px 4px;font-size:13px}.speaker-gallery-item{border:1px solid var(--border);background:var(--bg);text-align:left;width:148px;color:inherit;font:inherit;cursor:pointer;scroll-snap-align:start;border-radius:8px;flex:0 0 148px;gap:6px;padding:6px;display:grid}.speaker-gallery-item.active{border-color:var(--accent);box-shadow:inset 0 0 0 1px var(--accent)}.speaker-gallery-item-index{color:var(--accent);font-size:11px;font-weight:600}.speaker-gallery-item-label{color:var(--text);text-overflow:ellipsis;white-space:nowrap;font-size:11px;line-height:1.25;overflow:hidden}.speaker-gallery-preview{aspect-ratio:16/10;border:1px solid var(--border);background:#111827;border-radius:6px;place-items:center;display:grid;overflow:hidden}.speaker-gallery-item img{object-fit:cover;width:100%;height:100%}.speaker-gallery-preview p{box-sizing:border-box;width:100%;height:100%;margin:0;padding:8px;font-size:12px;line-height:1.35;overflow:auto}@media (width<=1024px){.operator-topbar{grid-template-columns:repeat(2,minmax(120px,1fr))}.topbar-timer{grid-column:1/-1}.desktop-timer-face{background:linear-gradient(#0f172a 0%,#1e293b 100%);border-color:#c8d4ea;box-shadow:inset 0 2px 6px #0f172a59}.desktop-timer-face.is-running{border-color:#86efac}.desktop-timer-readout{color:#4ade80;text-shadow:0 0 10px #4ade8040}.desktop-timer-preset-btn{color:#334155;background:#f1f5f9;border-color:#c8d4ea}.desktop-timer-preset-btn:hover:not(:disabled){color:#0f172a;background:#e2e8f0;border-color:#94a3b8}.desktop-timer-hint{color:#64748b}.desktop-timer-message{color:#1d4ed8}.desktop-timer-error{color:#b91c1c}.operator-layout{grid-template-columns:1fr;min-height:auto}.operator-layout.with-library{grid-template-columns:1fr}.operator-resizer{display:none}.library-edge-toggle{height:42px;top:auto;bottom:12px;transform:none}.operator-right{grid-template-rows:auto}.program-list{max-height:260px}.speaker-layout{grid-template-columns:1fr}.speaker-slide-card strong{font-size:16px}.speaker-slide-text{font-size:clamp(20px,4.2vw,28px)}}@media (width<=900px) and (orientation:landscape){.program-open-page.mode-speaker{gap:8px;padding:8px}.mode-speaker .mode-switcher{justify-content:center;align-self:stretch}.speaker-screen{gap:8px}.speaker-topbar{justify-content:flex-end;align-items:center;gap:8px;min-height:40px;display:flex}.speaker-program-meta{display:none}.speaker-topbar .speaker-mode-switcher{align-self:center}.speaker-layout{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:8px}.speaker-current-slide h2,.speaker-next-slide h2{font-size:12px}.speaker-slide-card{padding:8px}.speaker-slide-head{gap:2px}.speaker-slide-card strong{font-size:14px}.speaker-slide-badge{padding:2px 7px;font-size:10px}.speaker-slide-text{padding:10px;font-size:clamp(18px,3.8vw,24px)}.speaker-current-slide .speaker-slide-card,.speaker-next-slide .speaker-slide-card{aspect-ratio:16/9}.speaker-nav-controls{left:8px;right:8px;bottom:calc(8px + env(safe-area-inset-bottom,0px));z-index:30;border:1px solid var(--border);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);background:#141720f0;border-radius:10px;justify-content:center;gap:10px;padding:8px;position:fixed}.speaker-nav-btn{width:56px;height:56px}.speaker-nav-btn svg{width:28px;height:28px}.speaker-slide-counter{min-width:84px;height:56px;font-size:18px}.speaker-gallery-drawer{bottom:calc(72px + env(safe-area-inset-bottom,0px));max-height:min(30vh,240px)}.speaker-screen,.speaker-screen--gallery-open{padding-bottom:calc(90px + env(safe-area-inset-bottom,0px))}}@media (prefers-color-scheme:light){.program-open-page{color:#1f2937;background:#f6f8fc}.no-program-page{background:radial-gradient(circle at 100% 0,#3b82f614,#0000 35%),radial-gradient(circle at 0 0,#9333ea0f,#0000 35%),#f4f7fd}.programs-home{background:#ffffffeb;border-color:#d9e1ef;box-shadow:0 18px 42px #0f172a14}.programs-home-title-wrap p{color:#51627f}.programs-btn-primary{color:#fff;background:linear-gradient(#3b82f6 0%,#2563eb 100%);border-color:#2563eb}.programs-btn-ghost{color:#1d4ed8;background:#eef3fb;border-color:#c8d4ea}.program-create-form{background:linear-gradient(#f7faff 0%,#eef4fd 100%);border-color:#d3deef}.program-create-form h2{color:#0f172a}.program-create-close{color:#334155;background:#f2f6fd;border-color:#c7d5eb}.program-create-field span{color:#64748b}.program-create-field input{color:#0f172a;background:#fff;border-color:#c6d3ea}.program-create-modal-overlay{background:#0f172a33}.programs-home-state{color:#334155;background:#f7faff;border-color:#d2ddec}.program-home-item{color:#0f172a;background:linear-gradient(#fff 0%,#f7faff 100%);border-color:#d4deed;box-shadow:0 6px 16px #0f172a0f}.program-home-item span{color:#475569}.mode-switcher{background:#eef2f8;border-color:#d3dce9}.program-home-btn{color:#0f172a;background:#eef2f8;border-color:#d3dce9}.operator-topbar .topbar-item,.materials-library-panel,.program-list,.program-item,.right-panel,.bible-preview,.bible-verse-card,.slide-card,.media-thumb-card,.audio-selected-info,.library-preview-card,.speaker-slide-card,.speaker-comment-placeholder,.speaker-gallery-drawer,.speaker-gallery-item,.speaker-nav-btn,.speaker-slide-counter,.speaker-gallery-toggle{color:#0f172a;background:#fff;border-color:#d7dfeb}.library-preview-card strong{color:#0f172a}.library-preview-kind{color:#1d4ed8}.library-preview-card small{color:#64748b}.preview-zone.drop-active{background:#2563eb14;border-color:#2563eb;box-shadow:inset 0 0 0 1px #2563eb59}.operator-topbar .topbar-item .label,.item-meta,.preview-placeholder,.preview-placeholder.media-empty small,.speaker-program-meta span,.speaker-gallery-item-label{color:#64748b}.operator-topbar .topbar-item strong,.program-home-item strong,.speaker-slide-card strong,.speaker-gallery-item strong,.media-thumb-meta strong{color:#0f172a}.speaker-slide-canvas,.media-thumb-image,.speaker-gallery-preview{background:#f8fbff;border-color:#d7dfeb}.speaker-comment-placeholder-inner{background:#f8fbff;border-color:#cfd9e8}.speaker-slide-text,.slide-card p,.bible-verse-card p,.bible-preview p{color:#1f2937}.preview-placeholder,.empty-state{color:#64748b;background:#f8fbff;border-color:#cfd9e8}.library-toggle-btn{color:#1d4ed8;background:#eef3fb;border-color:#c6d3ea}.materials-library-tab{color:#334155;background:#f6f9ff;border-color:#c8d4ea}.materials-library-tab.active{color:#1d4ed8;background:#2563eb1f;border-color:#2563eb}.materials-songs-state{color:#64748b}.materials-upload-form,.materials-upload-field input,.materials-upload-field select,.materials-upload-select,.materials-search-input{border-color:var(--border);background:var(--bg);color:var(--text-h)}.song-modal,.song-delete-modal{background:var(--bg);border-color:var(--border);box-shadow:var(--shadow)}.song-modal-header h3,.song-delete-modal h3{color:var(--text-h)}.song-modal .materials-upload-field input,.song-modal .materials-upload-field select,.song-modal .materials-upload-select,.song-modal .materials-upload-textarea{border-color:var(--border);background:var(--bg);color:var(--text-h)}.song-modal-actions,.song-delete-modal .song-modal-actions{background:var(--code-bg);border-top-color:var(--border)}.materials-upload-field span,.materials-upload-meta{color:#64748b}.materials-songs-item{color:#0f172a;background:#fff;border-color:#c8d4ea}.materials-songs-thumb{background:#f8fbff;border-color:#c8d4ea}.materials-video-item{color:#0f172a;background:linear-gradient(#fff 0%,#f7faff 100%);border-color:#d4deed}.materials-video-thumb-wrap{background:#f8fbff;border-color:#c8d4ea}.library-edge-toggle{color:#1d4ed8;background:#fffffff0;border-color:#c6d3ea}.operator-resizer:before{background:#64748b59}}.bible-library{text-align:left;flex-direction:column;flex:1;gap:12px;width:100%;max-width:420px;height:100%;min-height:0;margin:0 auto;display:flex}.bible-state{color:var(--text);margin:4px 2px;font-size:12px}.bible-state.error{color:var(--danger)}.bible-btn{border:1px solid var(--border);background:var(--color-background-secondary);color:var(--text-h);font:inherit;cursor:pointer;white-space:nowrap;border-radius:8px;padding:7px 12px;font-size:12px;font-weight:600;transition:background .12s,border-color .12s,transform 80ms}.bible-btn:hover{border-color:var(--accent-border)}.bible-btn:active{transform:translateY(1px)}.bible-btn:disabled{opacity:.5;cursor:not-allowed}.bible-btn-primary{background:var(--accent);border-color:var(--accent);color:#fff}.bible-btn-primary:hover{background:var(--accent-strong);border-color:var(--accent-strong)}.bible-btn-ghost{background:var(--accent-bg);border-color:var(--accent-border);color:var(--accent-strong)}.bible-btn-ghost:hover{background:var(--accent-light)}.bible-translation-pill{appearance:none;border:1px solid var(--accent-border);background:var(--accent-bg);color:var(--accent-strong);font:inherit;cursor:pointer;border-radius:999px;max-width:150px;padding:5px 12px;font-size:12px;font-weight:600}.bible-search-field{align-items:center;display:flex;position:relative}.bible-search-icon{color:var(--text);pointer-events:none;position:absolute;left:10px}.bible-search-field input{box-sizing:border-box;border:1px solid var(--border);background:var(--bg);width:100%;min-width:0;color:var(--text-h);font:inherit;border-radius:9px;padding:9px 30px 9px 34px;font-size:13px;transition:border-color .12s,box-shadow .12s}.bible-search-field input::placeholder{color:var(--text)}.bible-search-field input:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg);outline:none}.bible-search-field-sm input{padding:7px 10px;font-size:12px}.bible-search-clear{background:var(--color-background-tertiary);width:20px;height:20px;color:var(--text);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;font-size:16px;line-height:1;display:inline-flex;position:absolute;right:6px}.bible-search-clear:hover{color:var(--text-h)}.bible-quick-search{border:1px solid var(--accent-border);border-radius:var(--radius-lg);background:var(--accent-bg);gap:10px;padding:12px;display:grid}.bible-quick-search-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.bible-quick-search-title{color:var(--text-h);font-size:13px;font-weight:700}.bible-quick-search-form{grid-template-columns:1fr auto;gap:8px;display:grid}.bible-quick-search-examples{flex-wrap:wrap;gap:6px;display:flex}.bible-chip{border:1px solid var(--border);background:var(--bg);color:var(--text);font:inherit;cursor:pointer;border-radius:999px;padding:4px 10px;font-size:11px;transition:background .12s,border-color .12s,color .12s}.bible-chip:hover{border-color:var(--accent);color:var(--accent-strong)}.bible-result-card{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--bg);box-shadow:var(--shadow);gap:10px;padding:12px;display:grid}.bible-result-head{justify-content:space-between;align-items:baseline;gap:8px;display:flex}.bible-result-ref{color:var(--text-h);font-size:14px;font-weight:700}.bible-result-translation{color:var(--accent-strong);background:var(--accent-bg);border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600}.bible-result-body{gap:6px;max-height:200px;padding-right:2px;display:grid;overflow-y:auto}.bible-result-verse{color:var(--text-h);margin:0;font-size:14px;line-height:1.5}.bible-result-verse-num{color:var(--accent-strong);vertical-align:super;margin-right:4px;font-size:10px;font-weight:700}.bible-result-actions{flex-wrap:wrap;gap:8px;display:flex}.bible-browse{flex-direction:column;flex:1;gap:10px;min-height:0;display:flex}.bible-browse-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.bible-browse-title{color:var(--text-h);font-size:13px;font-weight:700}.bible-browse-grid,.bible-browse-body{gap:10px;min-height:0;display:grid}.bible-browse-body{flex:1;grid-template-rows:minmax(140px,1fr) minmax(180px,1.35fr);grid-template-columns:minmax(0,1.5fr) minmax(110px,1fr);min-height:0}.bible-browse-body .bible-pane-books{grid-area:1/1}.bible-browse-body .bible-pane-chapters{grid-area:1/2}.bible-browse-body .bible-pane-verses{grid-area:2/1/auto/-1}.bible-browse-grid{flex:0 0 44%;grid-template-columns:minmax(0,1.5fr) minmax(110px,1fr)}.bible-pane{border:1px solid var(--border);border-radius:var(--radius-md);background:var(--color-background-secondary);flex-direction:column;gap:8px;min-height:0;padding:8px;display:flex;overflow:hidden}.bible-pane-title{letter-spacing:.04em;text-transform:uppercase;color:var(--text);font-size:11px;font-weight:700}.bible-book-list{flex-direction:column;flex:1;gap:3px;min-height:0;padding-right:2px;display:flex;overflow-y:auto}.bible-book-item{color:var(--text-h);font:inherit;text-align:left;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;padding:7px 9px;font-size:13px;transition:background .12s,border-color .12s}.bible-book-item:hover{background:var(--accent-bg)}.bible-book-item.active{background:var(--accent);border-color:var(--accent);color:#fff;font-weight:600}.bible-chapters{flex:1;grid-template-columns:repeat(auto-fill,minmax(38px,1fr));align-content:start;gap:5px;min-height:0;padding-right:2px;display:grid;overflow-y:auto}.bible-chapter-btn{aspect-ratio:1;border:1px solid var(--border);background:var(--bg);color:var(--text-h);font:inherit;cursor:pointer;border-radius:7px;justify-content:center;align-items:center;font-size:12px;font-weight:600;transition:background .12s,border-color .12s;display:inline-flex}.bible-chapter-btn:hover{border-color:var(--accent);background:var(--accent-bg)}.bible-chapter-btn.active{background:var(--accent);border-color:var(--accent);color:#fff}.bible-chapter-btn.suggested{border-color:var(--accent);background:var(--accent-bg);color:var(--accent-strong);box-shadow:0 0 0 1px var(--accent)}.bible-pane-verses{min-height:0}.bible-library--desktop{width:100%;max-width:none;height:100%;min-height:0}.bible-library--desktop .bible-browse{flex:1;min-height:0}.bible-library--desktop .bible-browse-head{flex-shrink:0}.bible-library--desktop .bible-browse-body{grid-template-rows:1fr;grid-template-columns:minmax(168px,220px) minmax(92px,120px) minmax(0,1fr)}.bible-library--desktop .bible-browse-body .bible-pane-books{grid-area:1/1}.bible-library--desktop .bible-browse-body .bible-pane-chapters{grid-area:1/2}.bible-library--desktop .bible-browse-body .bible-pane-verses{grid-area:1/3}.bible-library--desktop .bible-translation-pill{max-width:220px}.bible-library--desktop .bible-selection-bar{flex-shrink:0}.bible-verses-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.bible-verses-hint{color:var(--text);font-size:10px}.bible-verses-clear{border:1px solid var(--accent-border);background:var(--accent-bg);color:var(--accent-strong);font:inherit;cursor:pointer;border-radius:999px;padding:3px 10px;font-size:11px;font-weight:600}.bible-verses-list{flex-direction:column;flex:1;gap:2px;min-height:0;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.bible-verse-row{text-align:left;color:var(--text-h);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:7px;grid-template-columns:26px 1fr;align-items:start;gap:8px;width:100%;padding:6px 8px;font-size:13px;line-height:1.4;transition:background .1s,border-color .1s;display:grid}.bible-verse-row:hover{background:var(--accent-bg)}.bible-verse-row.active{background:var(--accent-bg);border-color:var(--accent-border)}.bible-verse-num{color:var(--accent-strong);text-align:right;padding-top:1px;font-size:12px;font-weight:700}.bible-verse-text{white-space:pre-wrap}.bible-selection-bar{border:1px solid var(--accent-border);border-radius:var(--radius-md);background:var(--accent-bg);cursor:grab;flex-wrap:wrap;flex:none;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.bible-selection-bar:active{cursor:grabbing}.bible-selection-info{flex-direction:column;gap:2px;min-width:0;display:flex}.bible-selection-ref{color:var(--text-h);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:700;overflow:hidden}.bible-selection-sub{color:var(--text);font-size:11px}.bible-selection-actions{flex-wrap:wrap;gap:6px;display:flex}@media (width<=900px){.bible-browse-grid,.bible-browse-body{flex:none;grid-template-rows:auto;grid-template-columns:1fr}.bible-browse-body .bible-pane-books,.bible-browse-body .bible-pane-chapters,.bible-browse-body .bible-pane-verses,.bible-library--desktop .bible-browse-body .bible-pane-books,.bible-library--desktop .bible-browse-body .bible-pane-chapters,.bible-library--desktop .bible-browse-body .bible-pane-verses{grid-area:auto/1}.bible-library--desktop .bible-browse-body{grid-template-columns:1fr}}.device-target-bar{background:#0000000a;border-bottom:1px solid #00000014;align-items:center;gap:8px;padding:8px 12px;font-size:.9rem;display:flex}.device-target-bar select{background:#fff;border:1px solid #0003;border-radius:6px;padding:6px 10px;font-size:.9rem}.song-detail-backdrop{z-index:1200;padding:12px}.song-detail-modal{box-sizing:border-box;background:var(--bg,#fff);border:1px solid var(--border,#e5e7eb);border-radius:16px;flex-direction:column;width:min(96vw,1600px);min-width:min(96vw,900px);max-width:min(96vw,1600px);max-height:calc(100vh - 24px);padding:0;display:flex;overflow:hidden;box-shadow:0 20px 60px #0000001f,0 4px 16px #0000000f}@media (width<=960px){.song-detail-modal{width:calc(100vw - 24px);min-width:0;max-width:calc(100vw - 24px)}}.song-detail-backdrop:has(.song-detail-modal.is-mobile){justify-content:stretch;align-items:stretch;padding:0;overflow:hidden}.song-detail-modal.is-mobile{border:0;border-radius:0;width:100%;min-width:0;max-width:100%;height:100dvh;max-height:100dvh;overflow:hidden}.song-detail-modal.is-mobile .song-detail-modal-header{padding:max(10px, env(safe-area-inset-top)) 14px 10px;border-bottom:1px solid var(--color-border-tertiary,#e6e8ef);flex-direction:row;flex-shrink:0;align-items:center;gap:10px}.song-detail-modal.is-mobile .song-detail-title-wrap{flex:1;gap:8px;min-width:0}.song-detail-modal.is-mobile .song-detail-title{white-space:nowrap;text-overflow:ellipsis;flex:0 auto;min-width:0;font-size:1.15rem;line-height:1.25;overflow:hidden}.song-detail-modal.is-mobile .song-detail-badge{flex-shrink:0;padding:3px 8px;font-size:11px}.song-detail-modal.is-mobile .song-detail-header-actions{flex-shrink:0;gap:8px}.song-detail-modal.is-mobile .song-detail-edit-btn{border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;padding:0;font-size:18px;display:inline-flex}.song-detail-modal.is-mobile .song-detail-close-btn{width:40px;height:40px;font-size:24px}.song-detail-modal.is-mobile .song-detail-modal-body{-webkit-overflow-scrolling:touch;flex:1;min-width:0;max-width:100%;min-height:0;padding:12px 16px 20px;overflow:hidden auto}.song-detail-modal.is-mobile.is-editing .song-detail-modal-body{padding:12px 16px;display:flex;overflow:hidden}.song-detail-modal.is-mobile.is-editing .song-detail-layout,.song-detail-modal.is-mobile.is-editing .song-detail-main,.song-detail-modal.is-mobile.is-editing .song-detail-lyrics,.song-detail-modal.is-mobile.is-editing .song-detail-vcontent{flex-direction:column;flex:auto;gap:0;min-height:0;display:flex}.song-detail-modal.is-mobile.is-editing .song-detail-vname{flex-shrink:0;margin-bottom:10px}.song-detail-modal.is-mobile .song-detail-vname input{padding:12px 14px;font-size:16px}.song-detail-modal.is-mobile .song-detail-layout{flex-direction:column;gap:12px;width:100%;min-width:0;max-width:100%;display:flex}.song-detail-modal.is-mobile .song-detail-main,.song-detail-modal.is-mobile .song-detail-lyrics,.song-detail-modal.is-mobile .song-detail-vcontent,.song-detail-modal.is-mobile .song-detail-sidebar--mobile-panel{min-width:0;max-width:100%}.song-detail-modal.is-mobile .song-detail-title-wrap{min-width:0}.song-detail-modal.is-mobile .song-detail-sections--columns{column-count:1}.song-detail-mobile-tabs{box-sizing:border-box;border-bottom:1px solid var(--color-border-tertiary,#e6e8ef);background:var(--bg,#fff);flex-shrink:0;width:100%;min-width:0;max-width:100%;margin:0;padding:8px 16px 10px}.song-detail-sidebar--mobile-panel{min-width:0}.song-detail-version-tabs{-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;scrollbar-width:thin;flex-wrap:nowrap;gap:8px;margin-bottom:0;padding:2px 2px 4px;display:flex;overflow:auto hidden}.song-detail-version-tab-wrap{flex:none;align-items:stretch;display:inline-flex}.song-detail-version-tab{border:1px solid var(--color-border-tertiary,#e6e8ef);background:var(--color-background-secondary);min-width:0;font:inherit;cursor:pointer;white-space:nowrap;border-radius:999px;flex-direction:column;flex-shrink:0;align-items:flex-start;gap:2px;padding:8px 14px;display:inline-flex}.song-detail-version-tab span{color:var(--color-text-primary,#1d2433);font-size:13px;font-weight:700}.song-detail-version-tab small{color:var(--color-text-secondary,#64748b);font-size:11px}.song-detail-version-tab.active{background:color-mix(in srgb, var(--accent) 12%, var(--color-background-primary));border-color:color-mix(in srgb, var(--accent) 45%, transparent)}.song-detail-version-tab-add{min-width:42px;color:var(--accent);justify-content:center;align-items:center;font-size:20px;font-weight:700}.song-detail-version-tab-del{background:var(--color-danger-bg);width:24px;height:24px;color:var(--color-danger-text);cursor:pointer;border:0;border-radius:999px;align-self:center;margin-left:-6px;font-size:16px;line-height:1}.song-detail-vcontent-head--mobile{flex-direction:column;align-items:stretch;gap:10px}.song-detail-vcontent-head--mobile .song-detail-view-tools{justify-content:flex-start}.song-detail-mobile-actions{gap:8px;margin-top:12px;display:flex}.song-detail-mobile-edit-bar{padding:12px 16px calc(12px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--color-border-tertiary,#e6e8ef);background:var(--bg,#fff);flex-shrink:0;gap:10px;display:flex;box-shadow:0 -4px 20px #0f172a14}.song-detail-mobile-edit-bar .song-detail-btn-ghost,.song-detail-mobile-edit-bar .song-detail-btn-primary{flex:1;min-height:48px;font-size:16px;font-weight:600}.song-detail-modal.is-mobile .song-detail-editor-text{resize:none;border-radius:14px;flex:auto;min-height:200px;padding:16px;font-size:16px;line-height:1.7}.song-detail-modal-header{border-bottom:.5px solid var(--color-border-tertiary);flex-wrap:nowrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:0;padding:20px 28px 14px;display:flex}.song-detail-modal-header .song-detail-title-wrap{flex:1;min-width:0}.song-detail-modal-header .song-detail-title{word-break:normal;overflow-wrap:anywhere;font-size:clamp(1.25rem,2vw,1.65rem);line-height:1.3}.song-detail-header-actions{flex-shrink:0;align-items:center;gap:10px;display:flex}.song-detail-close-btn{width:36px;height:36px;color:var(--color-text-secondary,#64748b);cursor:pointer;background:0 0;border:none;border-radius:8px;flex-shrink:0;font-size:24px;line-height:1}.song-detail-close-btn:hover{background:var(--color-background-secondary,#f1f5f9)}.song-detail-close-btn:disabled{opacity:.5;cursor:not-allowed}.song-detail-badge-muted{background:var(--color-background-secondary);color:var(--color-text-secondary)}.song-detail-modal-body{flex:1;min-height:0;padding:20px 28px 28px;overflow:auto}.song-detail-layout{grid-template-columns:minmax(0,1fr) minmax(340px,400px);align-items:start;gap:28px 32px;display:grid}@media (width<=1100px){.song-detail-layout{grid-template-columns:1fr}}.song-detail-page{flex-direction:column;flex:1;min-height:0;padding:0 4px 32px;display:flex;overflow:auto}.song-detail-header{flex-wrap:wrap;align-items:center;gap:12px 16px;margin-bottom:24px;display:flex}.song-detail-back{color:var(--color-text-secondary);font:inherit;cursor:pointer;background:0 0;border:none;padding:6px 0;font-size:14px}.song-detail-back:hover{color:var(--accent)}.song-detail-title-wrap{flex-wrap:wrap;flex:1;align-items:center;gap:10px;min-width:200px;display:flex}.song-detail-title{color:var(--color-text-primary);margin:0;font-size:clamp(1.35rem,2.5vw,1.75rem);font-weight:700}.song-detail-badge{background:var(--color-badge-info-bg);color:var(--color-badge-info-text);border-radius:999px;align-items:center;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.song-detail-edit-btn{background:var(--accent);color:var(--color-accent-contrast);font:inherit;cursor:pointer;border:none;border-radius:10px;align-items:center;gap:8px;padding:10px 18px;font-size:14px;font-weight:600;display:inline-flex}.song-detail-edit-btn:hover{filter:brightness(1.05)}.song-detail-edit-btn:disabled{opacity:.6;cursor:not-allowed}.song-detail-main{min-width:0}.song-detail-tabs{border-bottom:1px solid var(--color-border-tertiary);gap:0;margin-bottom:20px;display:flex}.song-detail-tab{font:inherit;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:12px 18px;font-size:14px;font-weight:600}.song-detail-tab.active{color:var(--accent);border-bottom-color:var(--accent)}.song-detail-lyrics{grid-template-columns:232px minmax(0,1fr);align-items:start;gap:24px;display:grid}@media (width<=760px){.song-detail-lyrics{grid-template-columns:1fr}}.song-detail-vrail{background:var(--color-background-secondary);border:.5px solid var(--color-border-tertiary,#e6e8ef);border-radius:16px;flex-direction:column;gap:10px;padding:14px;display:flex;position:sticky;top:0}.song-detail-vrail-head{justify-content:space-between;align-items:center;padding:0 4px 4px;display:flex}.song-detail-vrail-title{letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-secondary,#64748b);font-size:12px;font-weight:700}.song-detail-vrail-hint{color:var(--color-text-secondary,#94a3b8);margin:-4px 4px 0;font-size:11px;line-height:1.4}.song-detail-vrail-count{background:var(--accent);min-width:22px;height:22px;color:var(--color-accent-contrast);border-radius:999px;justify-content:center;align-items:center;padding:0 7px;font-size:11px;font-weight:700;display:inline-flex}.song-detail-vrail-list{flex-direction:column;gap:6px;max-height:52vh;margin:0;padding:0;list-style:none;display:flex;overflow:auto}.song-detail-vrail-row{align-items:stretch;display:flex;position:relative}.song-detail-vrail-item{text-align:left;min-width:0;font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:11px;flex-direction:column;flex:1;gap:3px;padding:10px 12px;transition:background .15s,border-color .15s,box-shadow .15s;display:flex}.song-detail-vrail-item:hover{background:var(--color-background-primary);border-color:var(--color-border-tertiary,#e6e8ef)}.song-detail-vrail-item.active{background:var(--color-background-primary);border-color:color-mix(in srgb, var(--accent) 55%, transparent);box-shadow:0 1px 2px #0000000a, 0 0 0 1px color-mix(in srgb, var(--accent) 30%, transparent) inset}.song-detail-vrail-item-name{color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:600;overflow:hidden}.song-detail-vrail-item.active .song-detail-vrail-item-name{color:var(--accent)}.song-detail-vrail-item-meta{color:var(--color-text-secondary,#94a3b8);font-size:11px}.song-detail-vrail-del{width:22px;height:22px;color:var(--color-text-secondary,#94a3b8);cursor:pointer;opacity:0;background:0 0;border:none;border-radius:7px;justify-content:center;align-items:center;font-size:18px;line-height:1;transition:opacity .15s,background .15s,color .15s;display:inline-flex;position:absolute;top:50%;right:6px;transform:translateY(-50%)}.song-detail-vrail-row:hover .song-detail-vrail-del{opacity:1}.song-detail-vrail-del:hover{background:var(--color-danger-bg);color:var(--color-danger-text)}.song-detail-vrail-empty{color:var(--color-text-secondary,#94a3b8);padding:10px 12px;font-size:13px}.song-detail-vrail-add{border:1px dashed color-mix(in srgb, var(--accent) 50%, var(--color-border-tertiary));color:var(--accent);font:inherit;cursor:pointer;background:0 0;border-radius:11px;justify-content:center;align-items:center;gap:6px;padding:10px 12px;font-size:13px;font-weight:600;transition:background .15s,border-color .15s;display:inline-flex}.song-detail-vrail-add:hover{background:color-mix(in srgb, var(--accent) 8%, transparent);border-color:var(--accent)}.song-detail-vrail-add span{font-size:16px;line-height:1}.song-detail-vrail-merge{border:1px solid var(--color-border-tertiary,#e6e8ef);background:var(--color-background-primary);color:var(--color-text-secondary,#64748b);font:inherit;cursor:pointer;border-radius:11px;justify-content:center;align-items:center;gap:6px;padding:9px 12px;font-size:12px;font-weight:600;transition:background .15s,border-color .15s,color .15s;display:inline-flex}.song-detail-vrail-merge:hover{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 45%, transparent);background:color-mix(in srgb, var(--accent) 6%, transparent)}.song-detail-vrail-merge span{font-size:14px;line-height:1}.song-detail-vrail-compare{border:1px solid var(--color-border-tertiary,#e6e8ef);background:var(--color-background-primary);color:var(--color-text-secondary,#64748b);font:inherit;cursor:pointer;border-radius:11px;justify-content:center;align-items:center;gap:6px;padding:9px 12px;font-size:12px;font-weight:600;display:inline-flex}.song-detail-vrail-compare:hover,.song-detail-vrail-compare.active{color:var(--accent);border-color:color-mix(in srgb, var(--accent) 45%, transparent);background:color-mix(in srgb, var(--accent) 8%, transparent)}.song-detail-vrail-item.active.is-compare{box-shadow:inset 0 0 0 1px color-mix(in srgb, var(--accent) 55%, transparent)}.song-detail-modal.is-comparing .song-detail-layout{grid-template-columns:1fr}.song-merge-backdrop{z-index:1300}.song-merge-modal{box-sizing:border-box;background:var(--bg,#fff);border:1px solid var(--border,#e5e7eb);border-radius:16px;flex-direction:column;width:min(96vw,520px);max-height:calc(100vh - 48px);display:flex;overflow:hidden;box-shadow:0 20px 60px #00000024}.song-merge-head{border-bottom:.5px solid var(--color-border-tertiary,#e6e8ef);justify-content:space-between;align-items:flex-start;gap:12px;padding:20px 22px 12px;display:flex}.song-merge-title{margin:0 0 6px;font-size:18px;font-weight:700}.song-merge-sub{color:var(--color-text-secondary,#64748b);margin:0;font-size:13px;line-height:1.45}.song-merge-search-wrap{padding:12px 22px 0}.song-merge-search{box-sizing:border-box;border:1px solid var(--color-border-tertiary,#e6e8ef);width:100%;font:inherit;background:var(--color-input-bg);border-radius:10px;padding:10px 12px;font-size:14px}.song-merge-search:focus{border-color:var(--accent);outline:none}.song-merge-list{flex-direction:column;flex:1;gap:6px;min-height:0;max-height:42vh;margin:12px 0 0;padding:0 14px;list-style:none;display:flex;overflow:auto}.song-merge-item{text-align:left;width:100%;font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:11px;flex-direction:column;gap:3px;padding:11px 12px;transition:background .15s,border-color .15s;display:flex}.song-merge-item:hover{background:var(--color-background-secondary)}.song-merge-item.active{background:color-mix(in srgb, var(--accent) 8%, transparent);border-color:color-mix(in srgb, var(--accent) 45%, transparent)}.song-merge-item-title{color:var(--color-text-primary);font-size:14px;font-weight:600}.song-merge-item-meta{color:var(--color-text-secondary,#94a3b8);font-size:12px}.song-merge-empty{color:var(--color-text-secondary,#94a3b8);text-align:center;padding:16px 12px;font-size:13px}.song-merge-preview{background:var(--accent-bg);color:var(--color-text-primary);border-radius:10px;margin:12px 22px 0;padding:10px 12px;font-size:13px}.song-merge-checkbox{color:var(--color-text-secondary,#64748b);cursor:pointer;align-items:center;gap:10px;margin:14px 22px 0;font-size:13px;display:flex}.song-merge-checkbox input{width:16px;height:16px;accent-color:var(--accent)}.song-merge-actions{justify-content:flex-end;gap:10px;margin-top:auto;padding:16px 22px 20px;display:flex}.song-detail-vcontent{min-width:0}.song-detail-vcontent-head{border-bottom:.5px solid var(--color-border-tertiary,#e6e8ef);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;margin-bottom:14px;padding-bottom:12px;display:flex}.song-detail-vcontent-head-main{align-items:baseline;gap:12px;min-width:0;display:flex}.song-detail-vcontent-title{color:var(--color-text-primary);margin:0;font-size:17px;font-weight:700}.song-detail-vcontent-meta{color:var(--color-text-secondary,#94a3b8);flex-shrink:0;font-size:12px}.song-detail-view-tools{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.song-detail-editor-tools{justify-content:flex-end;margin:0 0 8px;display:flex}.song-detail-layout-toggle{background:var(--color-background-secondary,#f1f5f9);border:.5px solid var(--color-border-tertiary,#e2e8f0);border-radius:10px;gap:4px;padding:3px;display:inline-flex}.song-detail-chords-toggle{border:.5px solid var(--color-chord-border);background:var(--color-background-primary);color:var(--color-chord-accent);font:inherit;cursor:pointer;border-radius:10px;align-items:center;gap:6px;padding:7px 11px;font-size:12px;font-weight:600;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.song-detail-chords-toggle svg{width:16px;height:16px}.song-detail-chords-toggle.active{background:var(--color-chord-bg);border-color:var(--color-chord-border);color:var(--color-chord-accent)}.song-detail-chords-toggle:hover{background:var(--color-chord-bg)}.song-detail-layout-toggle button{color:var(--color-text-secondary,#64748b);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:8px;align-items:center;gap:6px;padding:6px 10px;font-size:12px;font-weight:600;transition:background .15s,color .15s,box-shadow .15s;display:inline-flex}.song-detail-layout-toggle button svg{flex-shrink:0;width:16px;height:16px}.song-detail-layout-toggle button.active{background:var(--color-background-primary);color:var(--accent);box-shadow:0 1px 3px #00000014}.song-detail-layout-toggle button:hover:not(.active){color:var(--color-text-primary)}.song-detail-vname{color:var(--color-text-secondary,#64748b);flex-direction:column;gap:6px;margin-bottom:14px;font-size:12px;font-weight:600;display:flex}.song-detail-vname input{font:inherit;border:1px solid var(--color-border-tertiary,#e6e8ef);background:var(--color-input-bg);border-radius:10px;padding:10px 12px;font-size:15px;font-weight:500}.song-detail-vname input:focus{border-color:var(--accent);outline:none}.song-detail-sections{flex-direction:column;gap:16px;display:flex}.song-detail-section{background:var(--color-section-bg);border-radius:12px;padding:18px 20px}.song-detail-section-label{letter-spacing:.02em;color:var(--color-section-label);text-transform:none;margin:0 0 12px;font-size:13px;font-weight:700}.song-detail-section-text{color:var(--color-text-primary);white-space:pre-wrap;overflow-wrap:break-word;margin:0;font-size:15px;line-height:1.65}.song-detail-section-lines,.song-detail-col-lines{flex-direction:column;gap:10px;display:flex}.song-detail-lyric-row{flex-direction:column;gap:2px;display:flex}.song-detail-lyric-row--inline{flex-flow:wrap;align-items:flex-end;gap:0 10px}.song-detail-inline-chunk{flex-direction:column;align-items:flex-start;max-width:100%;display:inline-flex}.song-detail-chord-line{letter-spacing:.02em;color:var(--color-chord-line);white-space:pre-wrap;font-size:13px;font-weight:700;line-height:1.3}.song-detail-chord-line--spacer{visibility:hidden;min-height:1.3em;display:block}.song-detail-lyric-line{color:var(--color-text-primary);white-space:pre-wrap;overflow-wrap:break-word;font-size:15px;line-height:1.55}.song-detail-sections--columns{column-count:3;column-gap:22px;display:block}@media (width<=1100px){.song-detail-sections--columns{column-count:2}}@media (width<=640px){.song-detail-sections--columns{column-count:1}.song-detail-layout-toggle button span{display:none}}.song-detail-col-block{break-inside:avoid;margin-bottom:26px;position:relative}.song-detail-col-label{border:1.5px solid var(--color-chord-border);background:var(--color-background-primary);color:var(--color-chord-accent);letter-spacing:.02em;text-transform:none;z-index:1;border-radius:999px;margin:0 0 6px 10px;padding:4px 12px;font-size:12px;font-weight:700;line-height:1.3;display:inline-block;position:relative}.song-detail-col-tag{appearance:none;cursor:pointer;max-width:100%;font:inherit;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%232563eb' d='M3 4.5 6 8l3-3.5'/%3E%3C/svg%3E");background-position:right 8px center;background-repeat:no-repeat;padding-right:26px;font-size:12px;font-weight:700}.song-detail-col-tag:hover,.song-detail-col-tag:focus{border-color:var(--accent,#2563eb);outline:none}.song-detail-section .song-detail-col-tag{margin:0 0 12px}.song-detail-col-box{border:2px solid var(--color-chord-border);background:var(--color-background-primary);border-radius:14px;min-height:72px;padding:22px 18px 18px}.song-detail-col-text{color:var(--color-text-primary);white-space:pre-wrap;overflow-wrap:break-word;margin:0;font-size:15px;line-height:1.55}.song-detail-col-box .song-detail-chord-line{font-size:12px}.song-detail-chords{background:var(--color-section-bg);border-radius:12px;padding:20px}.song-detail-chords pre{white-space:pre-wrap;margin:0;font-family:ui-monospace,Cascadia Code,monospace;font-size:14px;line-height:1.6}.song-detail-empty{color:var(--color-text-secondary);margin:0;font-size:14px}.song-detail-sidebar{flex-direction:column;gap:16px;display:flex}.song-detail-card{background:var(--color-background-primary);border:.5px solid var(--color-border-tertiary);border-radius:14px;padding:18px;box-shadow:0 1px 3px #0000000a}.song-detail-card-title{color:var(--color-text-primary);margin:0 0 14px;font-size:13px;font-weight:700}.song-detail-field{flex-direction:column;gap:6px;margin-bottom:12px;display:flex}.song-detail-field:last-child{margin-bottom:0}.song-detail-field span{color:var(--color-text-secondary);font-size:12px}.song-detail-field input,.song-detail-field select,.song-detail-field textarea{border:.5px solid var(--color-border-tertiary);width:100%;font:inherit;background:var(--color-input-bg);color:var(--color-text-primary);border-radius:8px;padding:8px 10px;font-size:14px}.song-detail-field textarea{resize:vertical;min-height:100px}.song-detail-field-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.song-detail-field-readonly{background:var(--color-input-bg);color:var(--color-text-primary);border-radius:8px;padding:8px 10px;font-size:14px}.song-detail-video-list{flex-direction:column;gap:12px;display:flex}.song-detail-video-item{align-items:flex-start;gap:12px;display:flex}.song-detail-video-thumb-wrap{aspect-ratio:16/9;background:var(--color-background-secondary);border-radius:8px;flex-shrink:0;width:120px;overflow:hidden}.song-detail-video-thumb-wrap img{object-fit:cover;width:100%;height:100%;display:block}.song-detail-video-thumb-placeholder{width:100%;height:100%;color:var(--color-text-tertiary);justify-content:center;align-items:center;font-size:24px;display:flex}.song-detail-video-meta{flex:1;min-width:0}.song-detail-video-label{color:var(--color-text-primary);margin:0 0 4px;font-size:13px;font-weight:600}.song-detail-video-link{color:var(--accent);word-break:break-all;margin-bottom:6px;font-size:12px;text-decoration:none;display:block}.song-detail-video-link:hover{text-decoration:underline}.song-detail-video-empty{color:var(--color-text-secondary);margin:0;font-size:12px}.song-detail-video-action{font:inherit;color:var(--accent);cursor:pointer;background:0 0;border:none;padding:0;font-size:12px;font-weight:600}.song-detail-video-action:hover{text-decoration:underline}.song-detail-video-embed{aspect-ratio:16/9;background:#000;border-radius:8px;margin-top:10px;overflow:hidden}.song-detail-video-embed iframe{border:none;width:100%;height:100%}.song-detail-visibility{gap:6px;margin-bottom:14px;display:flex}.song-detail-visibility-btn{border:.5px solid var(--color-border-tertiary);background:var(--color-input-bg);font:inherit;cursor:pointer;color:var(--color-text-secondary);border-radius:8px;flex:1;padding:8px 6px;font-size:11px}.song-detail-visibility-btn.active{border-color:var(--accent);color:var(--accent);background:var(--accent-bg)}.song-detail-toggle-row{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;font-size:13px;display:flex}.song-detail-toggle{background:var(--color-border-tertiary);cursor:pointer;border:none;border-radius:999px;width:44px;height:24px;padding:0;transition:background .15s;position:relative}.song-detail-toggle.on{background:var(--accent)}.song-detail-toggle:after{content:"";background:var(--color-accent-contrast);border-radius:50%;width:18px;height:18px;transition:transform .15s;position:absolute;top:3px;left:3px}.song-detail-toggle.on:after{transform:translate(20px)}.song-detail-meta-list{margin:0;padding:0;font-size:13px;list-style:none}.song-detail-meta-list li{border-top:.5px solid var(--color-border-tertiary);justify-content:space-between;gap:12px;padding:8px 0;display:flex}.song-detail-meta-list li:first-child{border-top:none;padding-top:0}.song-detail-meta-list dt{color:var(--color-text-secondary);margin:0}.song-detail-meta-list dd{text-align:right;margin:0;font-weight:500}.song-detail-editor-text{border:.5px solid var(--color-border-tertiary);width:100%;min-height:320px;font:inherit;resize:vertical;background:var(--color-input-bg);border-radius:12px;padding:16px;font-size:14px;line-height:1.6}.song-detail-actions{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.song-detail-btn-ghost{border:.5px solid var(--color-border-tertiary);font:inherit;cursor:pointer;color:var(--color-text-primary);background:0 0;border-radius:10px;padding:10px 16px}.song-detail-btn-primary{background:var(--accent);color:var(--color-accent-contrast);font:inherit;cursor:pointer;border:none;border-radius:10px;padding:10px 18px;font-weight:600}.song-detail-btn-primary:disabled,.song-detail-btn-ghost:disabled{opacity:.6;cursor:not-allowed}.song-detail-status{color:var(--color-text-secondary);margin:0 0 16px;font-size:14px}.song-detail-error{color:var(--color-danger-text);margin:0 0 16px;font-size:14px}.song-section-keywords-backdrop{z-index:1400}.song-section-keywords-modal{box-sizing:border-box;background:var(--bg,#fff);border:1px solid var(--border,#e5e7eb);border-radius:16px;flex-direction:column;width:min(96vw,720px);max-height:calc(100vh - 48px);display:flex;overflow:hidden;box-shadow:0 20px 60px #00000024}.song-section-keywords-body{padding:12px 22px 8px;overflow:auto}.song-section-keywords-list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.song-section-keywords-item{border:.5px solid var(--color-border-tertiary,#e2e8f0);background:var(--color-background-secondary,#f8fafc);border-radius:10px;grid-template-columns:minmax(110px,.8fr) minmax(160px,1.6fr) auto auto;align-items:end;gap:8px;padding:8px;display:grid}.song-section-keywords-field{flex-direction:column;gap:4px;min-width:0;display:flex}.song-section-keywords-field span{color:var(--color-text-secondary,#64748b);font-size:11px}.song-section-keywords-field input{box-sizing:border-box;border:.5px solid var(--color-border-tertiary,#e2e8f0);background:var(--color-background-primary,#fff);width:100%;color:inherit;font:inherit;border-radius:8px;padding:7px 9px;font-size:13px}.song-section-keywords-check{color:var(--color-text-secondary,#64748b);white-space:nowrap;align-items:center;gap:6px;padding-bottom:8px;font-size:12px;display:flex}.song-section-keywords-remove{width:32px;height:32px;color:var(--color-text-secondary,#94a3b8);cursor:pointer;background:0 0;border:none;border-radius:8px;margin-bottom:2px;font-size:20px;line-height:1}.song-section-keywords-remove:hover{color:var(--color-danger-text,#b91c1c);background:#b91c1c14}.song-section-keywords-add{color:var(--accent,#2563eb);font:inherit;cursor:pointer;background:0 0;border:none;margin-top:10px;padding:8px 0;font-size:13px;font-weight:600}.song-section-keywords-actions{justify-content:space-between}.song-section-keywords-footer-right{gap:10px;display:flex}.song-section-keywords-inline{color:var(--accent,#2563eb);font:inherit;cursor:pointer;background:0 0;border:none;margin-left:8px;padding:0;font-size:12px;font-weight:600}.song-section-keywords-field-label{justify-content:space-between;align-items:baseline;gap:8px;display:flex}@media (width<=720px){.song-section-keywords-item{grid-template-columns:1fr auto}.song-section-keywords-field--wide{grid-column:1/-1}}.song-version-compare-toolbar{grid-template-columns:1fr 1fr;gap:12px;margin-bottom:12px;display:grid}.song-version-compare-pick{flex-direction:column;gap:4px;min-width:0;display:flex}.song-version-compare-pick span{letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-secondary,#64748b);font-size:11px;font-weight:600}.song-version-compare-pick select,.song-version-compare-pane-head select{box-sizing:border-box;border:.5px solid var(--color-border-tertiary,#e2e8f0);background:var(--color-background-primary,#fff);width:100%;color:inherit;font:inherit;border-radius:10px;padding:8px 10px;font-size:13px;font-weight:600}.song-version-diff-head,.song-version-diff-labels,.song-version-diff-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.song-version-diff-head h2{margin:0 0 4px;font-size:15px;font-weight:700}.song-version-diff-legend{color:var(--color-text-secondary,#64748b);flex-wrap:wrap;gap:8px 14px;margin:0 0 14px;font-size:12px;display:flex}.song-version-diff-legend .is-del,.song-version-diff-legend .is-add{border-radius:999px;padding:2px 8px}.song-version-diff-legend .is-del{color:#b91c1c;background:#ef444424}.song-version-diff-legend .is-add{color:#15803d;background:#22c55e29}.song-version-diff-section{margin-bottom:16px}.song-version-diff-labels div{background:var(--color-section-label-bg,#dbeafe);width:fit-content;color:var(--color-section-label,#1d4ed8);border-radius:999px;margin:0 0 6px 4px;padding:4px 12px;font-size:12px;font-weight:700;display:inline-block}.song-version-diff-cell{border-radius:8px;min-width:0;min-height:1.4em;padding:6px 10px}.song-version-diff-row.is-del .song-version-diff-cell:first-child,.song-version-diff-section.is-left .song-version-diff-cell:first-child{background:#ef44441f}.song-version-diff-row.is-add .song-version-diff-cell:last-child,.song-version-diff-section.is-right .song-version-diff-cell:last-child{background:#22c55e1f}.song-version-compare-panes{gap:16px;display:grid;overflow-x:auto}.song-version-compare-pane{border:.5px solid var(--color-border-tertiary,#e2e8f0);background:var(--color-background-secondary,#f8fafc);border-radius:14px;min-width:0;padding:12px}.song-version-compare-pane-head{align-items:center;gap:8px;margin-bottom:12px;display:flex}.song-version-compare-pane-head select{flex:1}.song-version-compare-pane-head span{color:var(--color-text-secondary,#94a3b8);flex-shrink:0;font-size:12px}.song-version-compare-pane-close{width:28px;height:28px;color:var(--color-text-secondary,#94a3b8);cursor:pointer;background:0 0;border:none;border-radius:8px;font-size:18px}@media (width<=720px){.song-version-compare-toolbar{grid-template-columns:1fr}.song-version-diff{overflow-x:auto}.song-version-diff-head,.song-version-diff-labels,.song-version-diff-row{grid-template-columns:minmax(220px,1fr) minmax(220px,1fr);min-width:460px}}.op-mobile-bible{background:var(--color-background-primary);flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.op-mobile-bible--books,.op-mobile-bible--chapter{flex:1;min-height:0;overflow:hidden}.op-mobile-bible-toolbar{border-bottom:.5px solid var(--color-border-tertiary);background:var(--color-background-primary);flex-shrink:0;align-items:center;gap:8px;padding:8px 12px;display:flex}.op-mobile-bible-toolbar-spacer{flex:1}.op-mobile-bible-back{color:var(--accent);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:8px 4px;font-size:14px;font-weight:500}.op-mobile-bible-title-btn{font:inherit;color:var(--color-text-primary);cursor:pointer;text-align:left;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:none;flex:1;min-width:0;padding:8px 4px;font-size:15px;font-weight:600;overflow:hidden}.op-mobile-bible-translation{border:.5px solid var(--color-border-tertiary);font:inherit;background:var(--color-background-secondary);color:var(--color-text-primary);border-radius:8px;max-width:42vw;padding:6px 8px;font-size:12px}.op-mobile-bible-search{border:.5px solid var(--color-border-tertiary);background:var(--color-background-secondary);border-radius:999px;flex-shrink:0;align-items:center;height:42px;margin:8px 12px 0;padding:0 14px;display:flex}.op-mobile-bible-search input{font:inherit;background:0 0;border:none;outline:none;flex:1;font-size:14px}.op-mobile-bible-books{-webkit-overflow-scrolling:touch;flex:1;min-height:0;margin:0;padding:8px 0 16px;list-style:none;overflow-y:auto}.op-mobile-bible-book{border-bottom:.5px solid var(--color-border-tertiary)}.op-mobile-bible-book-btn{background:var(--color-background-primary);width:100%;font:inherit;text-align:left;color:var(--color-text-primary);cursor:pointer;border:none;align-items:center;gap:8px;padding:14px 16px;font-size:15px;font-weight:500;display:flex}.op-mobile-bible-book-btn.expanded{background:var(--color-background-secondary)}.op-mobile-bible-book-chevron{color:var(--color-text-tertiary);flex-shrink:0;transition:transform .15s}.op-mobile-bible-book-chevron.expanded{transform:rotate(90deg)}.op-mobile-bible-chapters{background:var(--color-background-secondary);border-bottom:.5px solid var(--color-border-tertiary);grid-template-columns:repeat(5,1fr);gap:8px;padding:0 12px 14px 16px;display:grid}.op-mobile-bible-chapter-btn{border:.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-md);background:var(--color-background-primary);min-height:40px;font:inherit;color:var(--color-text-primary);cursor:pointer;font-size:14px;font-weight:500}.op-mobile-bible-chapter-btn:active{border-color:var(--accent);background:var(--accent-light);color:var(--accent-strong)}.op-mobile-bible-chapter-btn.suggested{border-color:var(--accent);background:var(--accent-light);color:var(--accent-strong);box-shadow:0 0 0 1px var(--accent)}.op-mobile-bible-chapter-view{flex-direction:column;flex:1;min-height:0;padding-bottom:8px;display:flex;overflow:hidden}.op-mobile-bible-hint{color:var(--color-text-secondary);background:var(--color-background-secondary);border-bottom:.5px solid var(--color-border-tertiary);flex-shrink:0;margin:0;padding:8px 14px;font-size:11px;line-height:1.35}.op-mobile-bible-verses{-webkit-overflow-scrolling:touch;flex:1;margin:0;padding:0;list-style:none;overflow-y:auto}.op-mobile-bible-verse{border-bottom:.5px solid var(--color-border-tertiary)}.op-mobile-bible-verse-btn{text-align:left;width:100%;font:inherit;cursor:pointer;color:var(--color-text-primary);background:0 0;border:none;grid-template-columns:36px 1fr;gap:10px;padding:12px 14px;display:grid}.op-mobile-bible-verse-btn.active{background:var(--accent-light);box-shadow:inset 3px 0 0 var(--accent)}.op-mobile-bible-verse-btn.active .op-mobile-bible-verse-num{color:var(--accent-strong)}.op-mobile-bible-verse-num{color:var(--accent);font-size:13px;font-weight:600}.op-mobile-bible-verse-text{font-size:15px;line-height:1.45}.op-mobile-bible-state{text-align:center;color:var(--color-text-secondary);padding:16px;font-size:13px}.op-mobile-bible-state.error{color:#dc2626}.op-mobile-bible-chapter-actions{padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));border-top:.5px solid var(--color-border-tertiary);background:var(--color-background-secondary);flex-shrink:0;gap:8px;display:flex}.op-mobile-bible-chapter-actions .action-btn{flex:1}.op-mobile-bible-selection-bar{padding:10px 12px calc(10px + env(safe-area-inset-bottom,0px));border-top:.5px solid var(--accent-border,var(--color-border-tertiary));background:var(--accent-bg,var(--color-background-secondary));flex-shrink:0;gap:10px;display:grid}.op-mobile-bible-selection-info{gap:2px;min-width:0;display:grid}.op-mobile-bible-selection-info strong{color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:14px;font-weight:700;overflow:hidden}.op-mobile-bible-selection-info small{color:var(--color-text-secondary);font-size:11px}.op-mobile-bible-selection-actions{grid-template-columns:auto auto 1fr 1fr;align-items:center;gap:8px;display:grid}.op-mobile-bible-style-toggles{gap:4px;display:inline-flex}.op-mobile-bible-style-btn{border:1px solid var(--color-border-tertiary);background:var(--color-background-primary);width:34px;height:34px;color:var(--color-text-primary);font:inherit;cursor:pointer;border-radius:8px;font-size:14px;font-style:normal;font-weight:700}.op-mobile-bible-style-btn:nth-child(2){font-style:italic;font-weight:600}.op-mobile-bible-style-btn.active{background:var(--accent-light);border-color:var(--accent);color:var(--accent-strong,var(--accent))}.op-mobile-bible--desktop .op-mobile-bible-selection-actions{grid-template-columns:auto auto auto 1fr 1fr}.op-mobile-bible-btn{border:1px solid var(--color-border-tertiary);background:var(--color-background-primary);color:var(--color-text-primary);font:inherit;cursor:pointer;white-space:nowrap;border-radius:10px;padding:11px 10px;font-size:13px;font-weight:600}.op-mobile-bible-btn.primary{background:var(--accent);border-color:var(--accent);color:#fff}.op-mobile-bible-btn.secondary{background:var(--accent-bg,var(--color-background-primary));border-color:var(--accent-border,var(--color-border-tertiary));color:var(--accent-strong,var(--accent))}.op-mobile-bible-btn.ghost{color:var(--color-text-secondary);background:0 0}.op-mobile-bible--desktop{background:0 0}.op-mobile-bible--desktop .op-mobile-bible-toolbar{background:#fff;border-bottom:1px solid #eef0f4;gap:6px;padding:10px 12px}.op-mobile-bible--desktop .op-mobile-bible-back{padding:6px 2px;font-size:13px}.op-mobile-bible--desktop .op-mobile-bible-title-btn{color:#1d2433;font-size:14px;font-weight:700}.op-mobile-bible--desktop .op-mobile-bible-translation{background:#f4f5fa;border-radius:8px;max-width:108px;padding:5px 8px;font-size:11px}.op-mobile-bible--desktop .op-mobile-bible-search{background:#fff;border-color:#e4e7ee;height:36px;margin:10px 12px 0;padding:0 12px;box-shadow:0 1px 2px #10182808}.op-mobile-bible--desktop .op-mobile-bible-search input{font-size:13px}.op-mobile-bible--desktop .op-mobile-bible-chapter-view{padding:0}.op-mobile-bible--desktop .op-mobile-bible-verses{padding:4px 0}.op-mobile-bible--desktop .op-mobile-bible-verse{border-bottom-color:#eef0f4}.op-mobile-bible--desktop .op-mobile-bible-verse-btn{grid-template-columns:28px 1fr;gap:8px;padding:9px 12px}.op-mobile-bible--desktop .op-mobile-bible-verse-btn:hover{background:#ffffffa6}.op-mobile-bible--desktop .op-mobile-bible-verse-btn.active{background:var(--accent-light)}.op-mobile-bible--desktop .op-mobile-bible-verse-num{font-size:12px}.op-mobile-bible--desktop .op-mobile-bible-verse-text{color:#2b3245;font-size:13.5px;line-height:1.52}.op-mobile-bible--desktop .op-mobile-bible-books{padding:4px 0 8px}.op-mobile-bible--desktop .op-mobile-bible-book-btn{padding:11px 14px;font-size:14px}.op-mobile-bible--desktop .op-mobile-bible-chapters{grid-template-columns:repeat(6,1fr);gap:6px;padding:0 10px 12px 14px}.op-mobile-bible--desktop .op-mobile-bible-chapter-btn{border-radius:8px;min-height:34px;font-size:13px}.op-mobile-bible--desktop .op-mobile-bible-selection-bar{background:#fff;border-top:1px solid #eef0f4;gap:10px;padding:12px}.op-mobile-bible--desktop .op-mobile-bible-selection-info strong{font-size:13.5px}.op-mobile-bible--desktop .op-mobile-bible-selection-info small{font-size:11px}.op-mobile-bible--desktop .op-mobile-bible-selection-actions{gap:6px}.op-mobile-bible--desktop .op-mobile-bible-btn{border-radius:9px;padding:9px 10px;font-size:12.5px}.op-mobile-bible--desktop .op-mobile-bible-btn.ghost{padding-inline:8px}.operator-panel--mobile{background:var(--color-background-tertiary);flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.operator-panel--mobile .library-edge-toggle{display:none}.op-mobile{background:var(--color-background-primary);flex-direction:column;flex:1;min-height:0;display:flex}.op-mobile-header{padding:10px calc(12px + env(safe-area-inset-right)) 10px calc(20px + env(safe-area-inset-left));border-bottom:.5px solid var(--color-border-tertiary);background:var(--color-background-primary);justify-content:space-between;align-items:center;gap:8px;display:flex}.op-mobile-header-left{align-items:center;display:flex}.op-mobile-back-btn{border:.5px solid var(--color-border-tertiary);background:var(--color-background-secondary);width:40px;height:40px;min-height:40px;font:inherit;color:var(--color-text-primary);cursor:pointer;border-radius:12px;justify-content:center;align-items:center;padding:0;font-size:22px;font-weight:600;line-height:1;display:inline-flex}.op-mobile-back-btn:active{transform:translateY(1px)}.op-mobile-header-end{justify-content:flex-end;align-items:center;gap:8px;min-width:0;display:flex}.op-mobile-desktop-status{color:var(--color-text-secondary);white-space:nowrap;align-items:center;gap:5px;font-size:12px;display:inline-flex}.op-mobile-status-dot{background:#9ca3af;border-radius:50%;width:7px;height:7px}.op-mobile-desktop-status.connected .op-mobile-status-dot{background:#059669}.op-mobile-desktop-status.disconnected .op-mobile-status-dot{background:#ef4444}.op-mobile-timer-wrap{flex-shrink:0}.op-mobile-timer-wrap .desktop-timer-readout{background:var(--color-background-secondary);border:.5px solid var(--color-border-tertiary);border-radius:8px;padding:4px 8px;font-size:13px}.op-mobile-clear-btn{border-radius:var(--border-radius-md);text-align:center;font:inherit;cursor:pointer;color:#b45309;white-space:nowrap;background:#fffbeb;border:.5px solid #fcd34d;padding:8px 10px;font-size:13px;font-weight:500}@media (width<=560px){.op-mobile-header,.op-mobile-header-end{gap:6px}.op-mobile-back-btn{width:36px;height:36px;min-height:36px;font-size:20px}.op-mobile-clear-btn{padding:7px 9px;font-size:12px}}@media (width<=420px){.op-mobile-desktop-status{display:none}}.op-mobile-mode-row{border-bottom:.5px solid var(--color-border-tertiary);background:var(--color-background-primary);padding:8px 12px}.op-mobile-mode-switcher{border-radius:var(--border-radius-md);background:var(--color-background-primary);border:.5px solid var(--color-border-tertiary);grid-template-columns:1fr 1fr;gap:6px;padding:6px;display:grid}.op-mobile-mode-btn{font:inherit;color:var(--color-text-secondary);background:var(--color-background-secondary);cursor:pointer;border:none;border-radius:10px;padding:10px 12px;font-size:14px;font-weight:500}.op-mobile-mode-btn.active{background:var(--accent);color:#fff;cursor:default}.op-mobile-mode-btn:disabled{opacity:1}.op-mobile-tabs{scrollbar-width:none;border-bottom:.5px solid var(--color-border-tertiary);background:var(--color-background-primary);gap:8px;padding:10px 12px;display:flex;overflow-x:auto}.op-mobile-tabs::-webkit-scrollbar{display:none}.op-mobile-tab{border:.5px solid var(--color-border-tertiary);background:var(--color-background-secondary);color:var(--color-text-secondary);font:inherit;cursor:pointer;white-space:nowrap;border-radius:999px;flex-shrink:0;padding:7px 14px;font-size:13px}.op-mobile-tab.active{border-color:var(--accent);background:var(--accent);color:#fff;font-weight:500}.op-mobile-search{border:.5px solid var(--color-border-tertiary);background:var(--color-background-secondary);border-radius:999px;align-items:center;gap:8px;height:44px;margin:10px 12px 0;padding:0 14px;display:flex}.op-mobile-search-icon{color:var(--color-text-tertiary);display:flex}.op-mobile-search-input{min-width:0;font:inherit;color:var(--color-text-primary);background:0 0;border:none;outline:none;flex:1;font-size:14px}.op-mobile-search-input::placeholder{color:var(--color-text-tertiary)}.op-mobile-body{-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;min-height:0;padding:0 0 8px;display:flex;overflow-y:auto}.op-mobile-body>.op-mobile-bible{flex:1;min-height:0}.op-mobile-list{flex-direction:column;display:flex}.op-mobile-row{border-bottom:.5px solid var(--color-border-tertiary);grid-template-columns:28px 1fr auto;align-items:center;gap:8px;padding:12px 14px;display:grid}.op-mobile-grip{color:var(--color-text-tertiary);justify-content:center;align-items:center;display:flex}.op-mobile-grip-icon{width:10px;height:16px}.op-mobile-row-main{text-align:left;font:inherit;color:var(--color-text-primary);cursor:pointer;background:0 0;border:none;min-width:0;padding:0}.op-mobile-row-title{font-size:15px;font-weight:500;line-height:1.35;display:block}.op-mobile-row-meta{color:var(--color-text-secondary);margin-top:2px;font-size:12px;display:block}.op-mobile-add{background:var(--accent-light);width:36px;height:36px;color:var(--accent);cursor:pointer;border:none;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;font-size:22px;line-height:1;display:flex}.op-mobile-remove{color:#dc2626;cursor:pointer;background:#fef2f2;border:none;border-radius:10px;flex-shrink:0;width:36px;height:36px;font-size:20px;line-height:1}.op-mobile-program-panel{flex-direction:column;gap:10px;padding:12px 14px;display:flex}.op-mobile-program-hint{color:var(--color-text-secondary);border:1px dashed var(--color-border-tertiary);border-radius:var(--border-radius-md);text-align:center;margin:0 14px;padding:12px;font-size:13px}.op-mobile-state{color:var(--color-text-secondary);text-align:center;padding:16px 14px;font-size:13px}.op-mobile-state.error{color:#dc2626}.op-mobile-load-more{border:.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-md);background:var(--color-background-secondary);font:inherit;cursor:pointer;width:calc(100% - 28px);margin:8px 14px 12px;padding:10px;font-size:13px}.op-mobile-program-block{border-bottom:.5px solid var(--color-border-tertiary)}.op-mobile-program-block.is-expanded{background:var(--color-background-secondary)}.op-mobile-program-block-head{grid-template-columns:36px 1fr;align-items:stretch;display:grid}.op-mobile-expand-toggle{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;padding:0;display:flex}.op-mobile-expand-toggle-spacer{width:36px}.op-mobile-expand-chevron{transition:transform .15s}.op-mobile-expand-chevron.expanded{transform:rotate(90deg)}.op-mobile-program-row-wrap .op-mobile-row{border-bottom:none}.op-mobile-expand-panel{padding:0 12px 12px 36px}.op-mobile-expand-empty{color:var(--color-text-secondary);margin:0;padding:8px 0;font-size:12px}.op-mobile-expand-subtitle{color:var(--color-text-secondary);margin:0 0 8px;font-size:12px;font-weight:500}.op-mobile-expand-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.op-mobile-expand-item{border:.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-md);background:var(--color-background-primary);text-align:left;width:100%;font:inherit;cursor:pointer;color:var(--color-text-primary);padding:10px 12px}.op-mobile-expand-item.active{border-color:var(--accent);background:var(--accent-light)}.op-mobile-expand-item.secondary{color:var(--color-text-secondary);margin-top:6px}.op-mobile-expand-item:disabled{opacity:.55;cursor:default}.op-mobile-expand-item-label{color:var(--accent);margin-bottom:4px;font-size:11px;font-weight:600;display:block}.op-mobile-expand-item-text{font-size:13px;line-height:1.35;display:block}.op-mobile-expand-slides-list{gap:8px}.op-mobile-expand-slide-row{border:.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-md);background:var(--color-background-primary);text-align:left;width:100%;font:inherit;cursor:pointer;color:var(--color-text-primary);flex-direction:column;gap:8px;padding:10px 12px;display:flex}.op-mobile-expand-slide-row:active{border-color:var(--accent);background:var(--accent-light)}.op-mobile-expand-slide-image-wrap{border-radius:var(--border-radius-md);background:var(--color-background-secondary);width:100%;line-height:0;display:block;overflow:hidden}.op-mobile-expand-slide-image-wrap img{object-fit:contain;vertical-align:top;width:100%;height:auto;max-height:min(52vw,280px);display:block}.op-mobile-expand-media-action{flex-direction:column;gap:8px;display:flex}.op-mobile-expand-video-thumb{object-fit:cover;border-radius:var(--border-radius-md);width:100%;max-height:140px}@media (width<=768px){.program-open-page.mode-operator{gap:0;padding:0}.program-open-page.mode-operator .program-page-header--hidden{display:none}}.opw-shell{background:var(--color-background-secondary);height:100%;min-height:0;color:var(--text-h);font-family:var(--sans);--opw-purple:var(--accent);--opw-purple-dark:var(--accent-strong);flex-direction:column;display:flex}.opw-appbar{background:var(--color-background-primary);height:60px;color:var(--text-h);border-bottom:1px solid var(--border);flex:0 0 60px;align-items:center;gap:14px;padding:0 18px;display:flex}.opw-appbar-back{border:1px solid var(--border);background:var(--color-background-secondary);width:32px;height:32px;color:var(--text);cursor:pointer;border-radius:8px;justify-content:center;align-items:center;transition:background .15s,color .15s,border-color .15s;display:inline-flex}.opw-appbar-back:hover{background:var(--accent-bg);border-color:var(--accent-border);color:var(--accent-strong)}.opw-brand{align-items:center;gap:9px;display:inline-flex}.opw-nav{border-left:1px solid var(--border);align-items:center;gap:4px;margin-left:18px;padding-left:18px;display:inline-flex}.opw-nav button{height:34px;color:var(--text);cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;gap:7px;padding:0 14px;font-size:13.5px;font-weight:600;transition:background .15s,color .15s;display:inline-flex}.opw-nav button:hover{color:var(--text-h);background:var(--color-background-secondary)}.opw-nav button.active{background:var(--accent-bg);color:var(--accent-strong);cursor:default}.opw-appbar-right{align-items:center;gap:12px;margin-left:auto;display:inline-flex}.opw-conn-dot{background:var(--color-text-tertiary);border-radius:50%;width:8px;height:8px}.opw-conn-dot.connected{background:var(--success);box-shadow:0 0 0 3px #2f9e6f2e}.opw-conn-dot.disconnected{background:var(--danger);box-shadow:0 0 0 3px #d9534f2e}.opw-time{font-variant-numeric:tabular-nums;color:var(--text);background:var(--color-background-secondary);border:1px solid var(--border);border-radius:8px;padding:6px 12px;font-size:13px;font-weight:600}.opw-stage-btn{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:9px;align-items:center;gap:8px;height:36px;padding:0 16px;font-size:13px;font-weight:600;transition:background .15s,transform .1s;display:inline-flex;box-shadow:0 4px 14px #9c7b4659}.opw-stage-btn:hover{background:var(--accent-strong)}.opw-stage-btn:active{transform:translateY(1px)}.opw-stage-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.opw-user-chip{background:linear-gradient(135deg, var(--accent), var(--accent-mid));color:#fff;border-radius:50%;justify-content:center;align-items:center;width:34px;height:34px;font-size:12px;font-weight:700;display:inline-flex}.opw-main-grid{flex:auto;grid-template-columns:248px minmax(0,1fr) 320px;gap:18px;min-height:0;padding:18px;display:grid;overflow:hidden}.opw-main-grid-build{grid-template-columns:248px minmax(0,1fr)}.opw-blocks-panel,.opw-program-panel,.opw-preview-panel{background:var(--color-background-primary);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:16px;flex-direction:column;min-height:0;display:flex}.opw-blocks-panel{padding:16px;overflow-y:auto}.opw-add-main-btn{background:linear-gradient(135deg, var(--accent) 0%, var(--accent-strong) 100%);color:#fff;cursor:pointer;border:0;border-radius:11px;width:100%;height:46px;font-size:14px;font-weight:600;transition:transform .1s,box-shadow .15s;box-shadow:0 6px 16px #9c7b464d}.opw-add-main-btn:hover{box-shadow:0 8px 20px #9c7b4666}.opw-add-main-btn:active{transform:translateY(1px)}.opw-add-main-btn:disabled{opacity:.5;cursor:not-allowed}.opw-add-library-btn{border:1px solid var(--accent-border);background:var(--accent-bg);width:100%;height:42px;color:var(--accent-strong);cursor:pointer;border-radius:11px;justify-content:center;align-items:center;gap:8px;margin-top:10px;font-size:13.5px;font-weight:600;transition:background .13s,border-color .13s;display:inline-flex}.opw-add-library-btn:hover{background:var(--color-background-primary);border-color:var(--accent)}.opw-add-library-btn:disabled{opacity:.5;cursor:not-allowed}.opw-panel-label{letter-spacing:.8px;text-transform:uppercase;color:var(--color-text-tertiary);margin:20px 4px 10px;font-size:11px;font-weight:700}.opw-block-types{flex-direction:column;gap:4px;display:flex}.opw-type-item{text-align:left;cursor:pointer;background:0 0;border:0;border-radius:11px;align-items:center;gap:11px;padding:9px 10px;transition:background .13s;display:flex}.opw-type-item:hover{background:var(--color-background-secondary)}.opw-type-item:disabled{opacity:.55;cursor:not-allowed}.opw-type-text{flex-direction:column;gap:1px;min-width:0;display:flex}.opw-type-text strong{color:var(--text-h);font-size:13.5px;font-weight:600}.opw-type-text small{color:var(--color-text-tertiary);font-size:11.5px;line-height:1.25}.opw-type-icon,.opw-library-item-glyph{border-radius:10px;flex:none;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.opw-glyph-aa{letter-spacing:-.5px;font-size:13px;font-weight:800}.color-purple{background:var(--accent-bg);color:var(--accent-strong)}.color-blue{color:#2f6bed;background:#e4eeff}.color-green{color:#18a558;background:#e2f6ec}.color-orange{color:#ec8a13;background:#fdeede}.color-pink{color:#e0488a;background:#fde7f1}.color-teal{color:#0f8f7f;background:#dff7f3}.color-gray{color:#6b7280;background:#eef0f4}.opw-tip{background:var(--accent-bg);border:1px solid var(--accent-border);border-radius:12px;gap:10px;margin-top:auto;padding:12px;display:flex}.opw-tip-icon{color:var(--accent-strong);flex:none;margin-top:1px}.opw-tip strong{color:var(--accent-strong);margin-bottom:2px;font-size:12.5px;display:block}.opw-tip p{color:var(--text);margin:0;font-size:11.5px;line-height:1.35}.opw-program-panel{padding:20px 22px 16px;overflow:hidden}.opw-program-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.opw-program-title-wrap h2{color:var(--text-h);margin:0;font-size:18px;font-weight:700}.opw-program-title-editable{cursor:text;border-radius:6px;margin:-2px -4px;padding:2px 4px}.opw-program-title-editable:hover{background:var(--color-background-secondary)}.opw-program-title-input{border:1px solid var(--accent);width:100%;max-width:420px;color:var(--text-h);background:var(--color-background-primary);box-sizing:border-box;border-radius:6px;outline:none;margin:0;padding:2px 4px;font-size:18px;font-weight:700;display:block;box-shadow:0 0 0 3px #b9935a2e}.opw-program-title-wrap span{color:var(--color-text-tertiary);font-size:12.5px;display:block}.opw-program-subtitle{margin-top:4px}.opw-program-schedule{margin-top:2px;color:var(--text)!important}.opw-program-schedule-edit{grid-template-columns:1fr 1fr;gap:10px;max-width:420px;margin-top:8px;display:grid}.opw-program-schedule-edit .opw-program-meta-field input{box-sizing:border-box;width:100%}.opw-program-meta-edit{gap:10px;min-width:min(420px,100%);display:grid}.opw-program-meta-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.opw-program-meta-field{gap:4px;display:grid}.opw-program-meta-field span{color:var(--text);text-transform:uppercase;letter-spacing:.03em;font-size:11px;font-weight:600}.opw-program-meta-field input{border:1px solid var(--border);height:34px;color:var(--text-h);background:var(--color-input-bg);border-radius:8px;padding:0 10px;font-size:13px}.opw-program-meta-field input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #b9935a26}.opw-program-meta-field--title input{font-size:15px;font-weight:600}.opw-program-meta-actions{gap:8px;display:flex}.opw-soft-btn-primary{border-color:var(--accent);background:var(--accent);color:#fff}.opw-soft-btn-primary:hover{background:var(--accent-strong);border-color:var(--accent-strong)}.opw-program-actions{gap:8px;display:inline-flex}.opw-soft-btn{border:1px solid var(--border);background:var(--color-background-primary);height:34px;color:var(--text);cursor:pointer;border-radius:9px;align-items:center;gap:6px;padding:0 13px;font-size:13px;font-weight:500;transition:background .13s,border-color .13s,color .13s;display:inline-flex}.opw-soft-btn:hover{background:var(--accent-bg);border-color:var(--accent-border);color:var(--accent-strong)}.opw-soft-btn-dots{color:var(--color-text-tertiary);padding:0 9px}.opw-table-head,.opw-row{grid-template-columns:22px 64px 90px minmax(0,1.7fr) minmax(0,1.1fr) 150px 32px;align-items:center;gap:10px;display:grid}.opw-table-head{border-bottom:1px solid var(--border);padding:0 8px 10px}.opw-table-head span{letter-spacing:.3px;color:var(--color-text-tertiary);font-size:11.5px;font-weight:600}.opw-table-body{flex:auto;min-height:0;padding-top:4px;overflow-y:auto}.opw-row{cursor:pointer;border-bottom:1px solid var(--border);border-radius:10px;padding:4px 8px;transition:background .12s,box-shadow .12s}.opw-row:hover{background:var(--color-background-secondary)}.opw-row:hover .opw-row-handle{opacity:1}.opw-row.active{background:var(--accent-bg);box-shadow:inset 3px 0 0 var(--accent);border-bottom-color:#0000}.opw-row.dragging{opacity:.4}.opw-row.drag-over{box-shadow:inset 0 2px 0 var(--accent)}.opw-row-handle{color:var(--color-text-tertiary);cursor:grab;opacity:.35;justify-content:center;align-items:center;transition:opacity .13s,color .13s;display:inline-flex}.opw-row-handle:hover{color:var(--text)}.opw-row-handle:active{cursor:grabbing}.opw-cell{min-width:0;color:var(--text-h);align-items:center;font-size:13.5px;display:flex}.opw-cell-muted{color:var(--text)}.opw-cell-title{font-weight:500}.opw-cell-btn{font:inherit;color:inherit;text-align:left;cursor:text;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;border-radius:7px;width:100%;min-width:0;margin:0;padding:6px;transition:background .12s,box-shadow .12s;overflow:hidden}.opw-cell-btn:hover{background:var(--color-background-primary);box-shadow:inset 0 0 0 1px var(--border)}.opw-cell-btn-type{cursor:pointer}.opw-cell-btn-type:hover{box-shadow:none;background:0 0}.opw-cell-input-duration{text-align:center;width:72px}.opw-cell-menu{justify-content:flex-end;position:relative}.opw-type-badge{color:var(--text-h);white-space:nowrap;align-items:center;gap:7px;font-size:12.5px;font-weight:500;display:inline-flex}.opw-type-badge-icon{border-radius:7px;justify-content:center;align-items:center;width:22px;height:22px;display:inline-flex}.opw-type-badge-icon .opw-glyph-aa{font-size:10.5px}.opw-type-badge.color-purple .opw-type-badge-icon{background:var(--accent-bg);color:var(--accent-strong)}.opw-type-badge.color-blue .opw-type-badge-icon{color:#2f6bed;background:#e4eeff}.opw-type-badge.color-green .opw-type-badge-icon{color:#18a558;background:#e2f6ec}.opw-type-badge.color-orange .opw-type-badge-icon{color:#ec8a13;background:#fdeede}.opw-type-badge.color-pink .opw-type-badge-icon{color:#e0488a;background:#fde7f1}.opw-type-badge.color-teal .opw-type-badge-icon{color:#0f8f7f;background:#dff7f3}.opw-type-badge.color-gray .opw-type-badge-icon{color:#6b7280;background:#eef0f4}.opw-cell-input,.opw-cell-select{border:1px solid var(--accent);width:100%;height:32px;font:inherit;color:var(--text-h);background:var(--color-input-bg);border-radius:8px;outline:none;padding:0 8px;font-size:13px;box-shadow:0 0 0 3px #b9935a26}.opw-cell-input-time{font-variant-numeric:tabular-nums;color:var(--accent-strong);font-weight:600}.opw-cell-input-time::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.7}.opw-row-menu-btn{width:28px;height:28px;color:var(--color-text-tertiary);cursor:pointer;background:0 0;border:0;border-radius:7px;justify-content:center;align-items:center;transition:background .12s,color .12s;display:inline-flex}.opw-row-menu-btn:hover{background:var(--color-background-secondary);color:var(--text)}.opw-row-menu{z-index:20;background:var(--color-background-primary);border:1px solid var(--border);min-width:178px;box-shadow:var(--shadow);border-radius:11px;flex-direction:column;padding:5px;display:flex;position:absolute;top:32px;right:0}.opw-row-menu button{text-align:left;color:var(--text-h);cursor:pointer;background:0 0;border:0;border-radius:8px;padding:9px 11px;font-size:13px}.opw-row-menu button:hover{background:var(--accent-bg)}.opw-row-menu button.danger{color:var(--color-danger-text)}.opw-row-menu button.danger:hover{background:var(--color-danger-bg)}.opw-add-row-btn{color:var(--accent-strong);cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;gap:6px;margin:10px auto 2px;padding:8px 14px;font-size:13.5px;font-weight:600;transition:background .12s;display:inline-flex}.opw-add-row-btn:hover{background:var(--accent-bg)}.opw-empty{text-align:center;color:var(--color-text-tertiary);padding:28px 8px;font-size:13.5px}.opw-preview-panel{padding:16px;overflow-y:auto}.opw-preview-tabs{border-bottom:1px solid var(--border);gap:18px;margin-bottom:14px;display:flex}.opw-preview-tabs button{color:var(--color-text-tertiary);cursor:pointer;background:0 0;border:0;padding:4px 0 11px;font-size:13.5px;font-weight:600;position:relative}.opw-preview-tabs button.active{color:var(--accent-strong)}.opw-preview-tabs button.active:after{content:"";background:var(--accent);border-radius:2px;height:2px;position:absolute;bottom:-1px;left:0;right:0}.opw-preview-tabs button:disabled{cursor:not-allowed}.opw-screen{aspect-ratio:16/10;background:#14161f;border-radius:13px;justify-content:center;align-items:center;margin-bottom:18px;display:flex;overflow:hidden}.opw-screen img{object-fit:cover;width:100%;height:100%}.opw-screen-placeholder{color:#5b6173;text-align:center;flex-direction:column;align-items:center;gap:6px;display:flex}.opw-screen-placeholder strong{color:#c6cad8;margin-top:6px;font-size:14px}.opw-screen-placeholder span{color:#6b7280;font-size:12px}.opw-bible-picker{border:1px solid var(--border);border-radius:12px;flex-direction:column;height:min(440px,42vh);min-height:280px;margin-bottom:10px;display:flex;overflow:hidden}.opw-bible-picker .op-mobile-bible{height:100%;min-height:0}.opw-bible-picker .op-mobile-bible-hint{padding:6px 12px;font-size:10px}.opw-operator-view .opw-preview-panel{flex-direction:column;gap:0;min-height:0;padding:14px 16px 16px;display:flex;overflow:hidden}.opw-preview-panel-top{flex-shrink:0}.opw-preview-panel-top .opw-controls{margin-bottom:12px}.opw-bible-section{flex-direction:column;flex:auto;gap:8px;min-height:0;margin-bottom:12px;display:flex}.opw-bible-section .opw-preview-section-title{margin-bottom:0}.opw-operator-view .opw-bible-picker{border:1px solid var(--border);background:var(--color-background-secondary);height:auto;min-height:0;box-shadow:var(--shadow);border-radius:14px;flex:auto;margin-bottom:0}.opw-preview-panel-footer{border-top:1px solid var(--border);flex-shrink:0;padding-top:4px}.opw-preview-panel-footer .opw-preview-section-title{margin-top:10px}.opw-preview-panel-footer .opw-quick-actions{margin-bottom:0}.opw-preview-section-title{color:var(--text);margin-bottom:10px;font-size:12px;font-weight:700}.opw-controls{grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:18px;display:grid}.opw-controls button{border:1px solid var(--border);background:var(--color-background-primary);color:var(--text);cursor:pointer;border-radius:11px;flex-direction:column;align-items:center;gap:6px;padding:12px 4px;font-size:12px;font-weight:500;transition:background .13s,border-color .13s;display:flex}.opw-controls button svg{color:var(--text)}.opw-controls button:hover{background:var(--color-background-secondary);border-color:var(--accent-border)}.opw-controls button.primary{background:var(--accent-bg);border-color:var(--accent-border);color:var(--accent-strong)}.opw-controls button.primary svg{color:var(--accent-strong)}.opw-current{border:1px solid var(--border);background:var(--color-background-secondary);border-radius:12px;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px;padding:13px 14px;display:flex}.opw-current-info{flex-direction:column;gap:5px;min-width:0;display:flex}.opw-current-info strong{color:var(--text-h);text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:600;overflow:hidden}.opw-current-info span{color:var(--color-text-tertiary);font-variant-numeric:tabular-nums;font-size:12px}.opw-current-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.opw-song-version-select{color:var(--color-text-tertiary);flex-direction:column;gap:4px;font-size:11px;font-weight:600;display:inline-flex}.opw-song-version-select select{border:1px solid var(--border);min-width:140px;height:32px;font:inherit;color:var(--text-h);background:var(--color-input-bg);border-radius:9px;padding:0 10px;font-size:12.5px}.opw-details-badge-row .opw-song-version-select{margin-right:auto}.opw-current-bind{border:1px solid var(--border);background:var(--color-background-primary);height:32px;color:var(--text);cursor:pointer;border-radius:9px;flex:none;padding:0 14px;font-size:12.5px;font-weight:600;transition:background .13s,border-color .13s}.opw-current-bind:hover{background:var(--accent-bg);border-color:var(--accent-border);color:var(--accent-strong)}.opw-current-empty{color:var(--color-text-tertiary);font-size:12.5px}.opw-nav-hud{border:1px solid var(--border);background:var(--color-background-secondary);border-radius:12px;flex-direction:column;gap:7px;margin-bottom:18px;padding:11px 12px;display:flex}.opw-nav-hud-row{justify-content:space-between;align-items:baseline;gap:10px;display:flex}.opw-nav-hud-row span{color:var(--color-text-tertiary);font-size:12px}.opw-nav-hud-row strong{color:var(--text-h);text-align:right;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:12.5px;font-weight:600;overflow:hidden}.opw-nav-hud-next{border-top:1px dashed var(--border);color:var(--accent-strong);margin-top:3px;padding-top:8px;font-size:12.5px;font-weight:600}.opw-quick-actions{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.opw-quick-actions button{border:1px solid var(--border);background:var(--color-background-primary);color:var(--text);cursor:pointer;border-radius:10px;padding:10px 4px;font-size:11.5px;font-weight:500;transition:background .13s,border-color .13s}.opw-quick-actions button:hover{background:var(--color-background-secondary);border-color:var(--accent-border)}.opw-bind-popup-overlay{z-index:1000;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#10121c80;justify-content:center;align-items:center;padding:24px;display:flex;position:fixed;inset:0}.opw-bind-popup{background:var(--color-background-primary);border-radius:16px;flex-direction:column;width:min(720px,100%);max-height:85vh;display:flex;overflow:hidden;box-shadow:0 24px 64px #1018284d}.opw-bind-popup-header{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:16px 18px;display:flex}.opw-bind-popup-header strong{color:var(--text-h);font-size:15px;font-weight:700}.opw-bind-popup-header button{background:var(--color-background-secondary);width:30px;height:30px;color:var(--text);cursor:pointer;border:0;border-radius:8px;font-size:18px;line-height:1}.opw-bind-popup-header button:hover{background:var(--color-background-tertiary)}.opw-bind-popup-tabs{gap:6px;padding:12px 18px 0;display:flex}.opw-bind-popup-tabs button{background:var(--color-background-secondary);color:var(--text);cursor:pointer;border:0;border-radius:8px;padding:8px 12px;font-size:12.5px;font-weight:600}.opw-bind-popup-tabs button.active{background:var(--accent-bg);color:var(--accent-strong)}.opw-bind-popup-search{gap:8px;padding:12px 18px;display:flex}.opw-bind-popup-search input{border:1px solid var(--border);height:38px;font:inherit;color:var(--text-h);background:var(--color-input-bg);border-radius:9px;outline:none;flex:auto;padding:0 12px;font-size:13px}.opw-bind-popup-search input:focus{border-color:var(--accent);box-shadow:0 0 0 3px #b9935a26}.opw-bind-popup-search button{background:var(--accent);color:#fff;cursor:pointer;border:0;border-radius:9px;height:38px;padding:0 16px;font-size:13px;font-weight:600}.opw-bind-popup-search-option{color:var(--text);cursor:pointer;-webkit-user-select:none;user-select:none;align-items:center;gap:8px;margin:0 18px 8px;font-size:12.5px;display:inline-flex}.opw-bind-popup-search-option input{width:14px;height:14px;accent-color:var(--accent);margin:0}.opw-bind-popup-hint{color:var(--color-text-tertiary);margin:0;padding:0 18px 8px;font-size:12.5px}.opw-bind-popup-hint strong{color:var(--text)}.opw-library-state{color:var(--color-text-tertiary);margin:0;padding:4px 18px;font-size:12.5px}.opw-library-state.error{color:var(--color-danger-text)}.opw-bind-popup.opw-bind-popup-wide{width:min(960px,100%)}.opw-bind-popup-list{flex-direction:column;flex:auto;gap:2px;min-height:0;padding:6px 12px 14px;display:flex;overflow:hidden}.opw-bind-popup-list .bible-library{flex:1;height:min(520px,58vh);min-height:0}.opw-bind-popup-list .bible-browse-title{display:none}.opw-bind-popup-list .bible-browse-head{padding:0 4px 2px}.opw-bind-popup-list .bible-selection-bar{margin-top:8px}.opw-bind-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;padding:4px 6px 8px;display:grid}.opw-bind-card{border:1px solid var(--border);background:var(--color-background-primary);text-align:left;cursor:pointer;border-radius:12px;flex-direction:column;align-items:stretch;gap:8px;padding:10px;transition:border-color .12s,box-shadow .12s,transform .12s;display:flex}.opw-bind-card:hover{border-color:var(--accent-border);transform:translateY(-1px);box-shadow:0 8px 20px #9c7b461f}.opw-bind-card-thumb{aspect-ratio:16/10;background:var(--color-background-secondary);color:var(--color-text-tertiary);border-radius:8px;justify-content:center;align-items:center;font-size:22px;display:flex;overflow:hidden}.opw-bind-card-thumb img{object-fit:cover;width:100%;height:100%;display:block}.opw-bind-card-thumb-song{background:var(--accent-bg);color:var(--accent-strong)}.opw-bind-card-thumb-slideshow{color:#1f9d63;background:#e5f7ee}.opw-bind-card-thumb-video{color:#ec8a13;background:#fdeede}.opw-bind-card-thumb-audio{color:#e0488a;background:#fde7f1}.opw-bind-card-info{gap:4px;min-width:0;display:grid}.opw-bind-card-info strong{color:var(--text-h);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:13px;font-weight:700;line-height:1.3;display:-webkit-box;overflow:hidden}.opw-bind-card-info span{color:var(--color-text-tertiary);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:11.5px;line-height:1.35;display:-webkit-box;overflow:hidden}.opw-bind-slideshow-picker{flex-direction:column;gap:12px;padding:4px 6px 8px;display:flex}.opw-bind-slideshow-head{gap:8px;display:grid}.opw-bind-range-inputs{flex-wrap:wrap;align-items:flex-end;gap:10px;padding:0 4px;display:flex}.opw-bind-range-inputs label{gap:4px;display:grid}.opw-bind-range-inputs label span{color:var(--text);text-transform:uppercase;letter-spacing:.03em;font-size:11px;font-weight:600}.opw-bind-range-inputs input{border:1px solid var(--border);width:88px;height:34px;font:inherit;color:var(--text-h);background:var(--color-input-bg);border-radius:8px;padding:0 10px;font-size:13px}.opw-bind-range-count{color:var(--text);padding-bottom:8px;font-size:12.5px}.opw-bind-slides-grid{grid-template-columns:repeat(auto-fill,minmax(108px,1fr));gap:8px;max-height:42vh;padding:4px;display:grid;overflow-y:auto}.opw-bind-slide-thumb{aspect-ratio:16/10;background:var(--color-background-secondary);cursor:pointer;border:2px solid #0000;border-radius:8px;padding:0;position:relative;overflow:hidden}.opw-bind-slide-thumb img{object-fit:cover;width:100%;height:100%;display:block}.opw-bind-slide-thumb em{color:#fff;background:#10121cb8;border-radius:999px;justify-content:center;align-items:center;min-width:20px;height:20px;padding:0 5px;font-size:11px;font-style:normal;font-weight:700;display:inline-flex;position:absolute;top:6px;left:6px}.opw-bind-slide-thumb.active{border-color:var(--accent);box-shadow:0 0 0 3px #b9935a2e}.opw-bind-confirm-btn{align-self:flex-start;margin:4px 4px 8px}.opw-bind-version-picker{flex-direction:column;gap:10px;padding:4px 6px;display:flex}.opw-bind-version-title{color:var(--text);margin:0;font-size:13px;font-weight:600}.opw-bind-version-list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.opw-bind-version-item{border:1px solid var(--border);background:var(--color-background-primary);width:100%;font:inherit;color:var(--text-h);cursor:pointer;text-align:left;border-radius:10px;flex-direction:column;align-items:flex-start;gap:2px;padding:11px 12px;font-size:13.5px;font-weight:600;display:flex}.opw-bind-version-item:hover{border-color:var(--accent-border);background:var(--accent-bg);color:var(--accent-strong)}.opw-bind-version-back{color:var(--color-text-tertiary);font:inherit;cursor:pointer;background:0 0;border:none;align-self:flex-start;padding:4px 0;font-size:12.5px;font-weight:600}.opw-bind-version-back:hover{color:var(--accent-strong)}.opw-library-item{text-align:left;color:var(--text-h);cursor:pointer;background:0 0;border:0;border-radius:10px;align-items:center;gap:11px;padding:9px 10px;font-size:13.5px;transition:background .12s;display:flex}.opw-library-item:hover{background:var(--accent-bg)}.opw-library-item-glyph{width:30px;height:30px}.opw-details-view{flex:auto;grid-template-columns:360px minmax(0,1fr);gap:18px;min-height:0;padding:18px;display:grid;overflow:hidden}.opw-operator-view{grid-template-columns:320px minmax(0,1fr) 360px}.opw-details-list{background:var(--color-background-primary);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:16px;flex-direction:column;min-height:0;display:flex;overflow:hidden}.opw-details-list-head{border-bottom:1px solid var(--border);justify-content:space-between;align-items:center;padding:15px 16px 12px;display:flex}.opw-details-list-head strong{color:var(--text-h);font-size:14px;font-weight:700}.opw-details-list-head span{color:var(--text);background:var(--color-background-secondary);border-radius:999px;padding:2px 9px;font-size:12px;font-weight:600}.opw-details-list-scroll{flex-direction:column;flex:auto;gap:3px;min-height:0;padding:8px;display:flex;overflow-y:auto}.opw-details-list-scroll button{cursor:pointer;text-align:left;background:0 0;border:0;border-radius:11px;grid-template-columns:24px 50px minmax(0,1fr);align-items:center;gap:10px;padding:10px 11px;transition:background .12s;display:grid}.opw-details-list-scroll button:hover{background:var(--color-background-secondary)}.opw-details-list-scroll button.active{background:var(--accent-bg);box-shadow:inset 3px 0 0 var(--accent)}.opw-details-list-num{color:var(--color-text-tertiary);font-size:12px;font-weight:700}.opw-details-list-time{font-variant-numeric:tabular-nums;color:var(--text);font-size:12.5px;font-weight:600}.opw-details-list-main{min-width:0}.opw-details-list-main strong{color:var(--text-h);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:600;display:block;overflow:hidden}.opw-details-list-main small{margin-top:4px;display:block}.opw-details-content{background:var(--color-background-primary);border:1px solid var(--border);box-shadow:var(--shadow);border-radius:16px;min-height:0;padding:22px 24px;overflow-y:auto}.opw-details-meta h3{color:var(--text-h);margin:0;font-size:20px;font-weight:700}.opw-details-meta p{color:var(--color-text-tertiary);margin:7px 0 0;font-size:13px}.opw-details-badge-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-top:14px;display:flex}.opw-details-actions{gap:8px;display:inline-flex}.opw-details-actions button{border:1px solid var(--border);background:var(--color-background-primary);height:34px;color:var(--text);cursor:pointer;border-radius:9px;padding:0 14px;font-size:12.5px;font-weight:600;transition:background .13s,border-color .13s}.opw-details-actions button:hover{background:var(--accent-bg);border-color:var(--accent-border);color:var(--accent-strong)}.opw-details-parts{margin-top:22px}.opw-details-parts-head{justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.opw-details-parts h4{color:var(--text);margin:0;font-size:13px;font-weight:700}.opw-song-edit-btn{border:1px solid var(--accent-border);background:var(--accent-bg);height:32px;color:var(--accent-strong);cursor:pointer;border-radius:9px;flex:none;align-items:center;gap:6px;padding:0 14px;font-size:12.5px;font-weight:600;transition:background .13s,border-color .13s;display:inline-flex}.opw-song-edit-btn:hover{background:var(--color-background-primary);border-color:var(--accent)}.opw-song-editor{flex-direction:column;gap:12px;display:flex}.opw-song-editor-area{resize:vertical;border:1px solid var(--border);background:var(--color-input-bg);width:100%;min-height:320px;color:var(--text-h);white-space:pre;overflow-wrap:normal;border-radius:11px;padding:14px 16px;font-family:SF Mono,ui-monospace,Menlo,Consolas,monospace;font-size:13.5px;line-height:1.6;overflow-x:auto}.opw-song-editor-area:focus{border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-bg);outline:none}.opw-song-editor-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.opw-song-editor-actions button{border:1px solid var(--border);background:var(--color-background-primary);height:36px;color:var(--text);cursor:pointer;border-radius:9px;padding:0 18px;font-size:13px;font-weight:600}.opw-song-editor-actions button.primary{background:linear-gradient(135deg, var(--accent) 0%, var(--accent-strong) 100%);color:#fff;border:0}.opw-song-editor-actions button:disabled{opacity:.55;cursor:not-allowed}.opw-song-editor-hint{color:var(--color-text-tertiary);font-size:12px}.opw-slide-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;display:grid}.opw-slide-card{border:1px solid var(--border);background:var(--color-background-primary);text-align:left;cursor:pointer;font:inherit;border-radius:12px;flex-direction:column;padding:0;transition:border-color .13s,box-shadow .13s,transform .1s;display:flex;overflow:hidden}.opw-slide-card:hover{border-color:var(--accent-border);box-shadow:0 6px 18px #9c7b4629}.opw-slide-card:active{transform:translateY(1px)}.opw-slide-card.live{border-color:var(--accent);box-shadow:0 0 0 2px #b9935a40}.opw-slide-card-live{letter-spacing:.3px;text-transform:uppercase;color:#fff;background:var(--accent);border-radius:999px;margin-left:auto;padding:2px 8px;font-size:10px;font-weight:700}.opw-slide-card-head{border-bottom:1px solid var(--border);align-items:center;gap:8px;padding:9px 11px;display:flex}.opw-slide-card-num{background:var(--accent-bg);width:22px;height:22px;color:var(--accent-strong);border-radius:6px;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:inline-flex}.opw-slide-card-label{color:var(--text);font-size:12px;font-weight:600}.opw-slide-card-body{color:#eef0f6;text-align:center;background:#14161f;flex-direction:column;flex:auto;justify-content:center;align-items:center;gap:4px;min-height:132px;padding:16px 14px;display:flex}.opw-slide-card-body p{word-break:break-word;margin:0;font-size:13.5px;font-weight:500;line-height:1.45}.opw-slide-card-image{object-fit:cover;width:100%;height:100%;display:block}.opw-slide-card-empty{color:#5b6173!important}.opw-details-empty{color:var(--color-text-tertiary);margin:0;font-size:13px;line-height:1.5}@media (width<=1180px){.opw-main-grid{grid-template-columns:220px minmax(0,1fr) 290px;gap:14px;padding:14px}.opw-main-grid-build{grid-template-columns:220px minmax(0,1fr)}.opw-details-view{grid-template-columns:280px minmax(0,1fr);gap:14px;padding:14px}.opw-operator-view{grid-template-columns:260px minmax(0,1fr) 290px}}.opw-link-detail{flex-direction:column;gap:10px;padding:4px 0;display:flex}.opw-link-detail-thumb{aspect-ratio:16/9;object-fit:cover;background:#eef0f4;border-radius:10px;width:100%;max-width:360px}.opw-link-detail-url{word-break:break-all;color:var(--text-h);margin:0;font-size:13px}.opw-link-detail-title{color:var(--text);margin:0;font-size:12.5px}.opw-link-editor-form{flex-direction:column;gap:14px;padding:16px 18px 18px;display:flex}.opw-link-editor-form label{color:var(--text);flex-direction:column;gap:6px;font-size:12.5px;display:flex}.opw-link-editor-form input{border:1px solid var(--border,#e4e7ee);height:36px;font:inherit;color:var(--text-h);background:var(--color-input-bg,#fff);border-radius:8px;padding:0 10px;font-size:13.5px}.opw-link-editor-form input:focus{border-color:var(--accent);outline:none;box-shadow:0 0 0 3px #b9935a26}.opw-link-editor-actions{justify-content:flex-end;gap:8px;margin-top:4px;display:flex}.opw-link-editor-actions button{border:1px solid var(--border,#e4e7ee);height:34px;font:inherit;cursor:pointer;background:#fff;border-radius:8px;padding:0 14px;font-size:13px}.opw-link-editor-actions button.primary{background:var(--accent-strong,#6d4aff);color:#fff;border-color:#0000}.opw-link-editor-actions button.primary:disabled{opacity:.45;cursor:not-allowed}.library-page{min-height:0;box-shadow:none;background:0 0;border:none;flex-direction:column;flex:1;padding:0;display:flex;overflow:hidden}.library-page .lib-toolbar{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:8px;margin-bottom:16px;display:flex}.library-page .lib-search{flex:200px;min-width:160px}.library-page .lib-search input{width:100%;font:inherit;color:var(--color-text-primary);background:0 0;border:none;outline:none;font-size:13px}.library-page .lib-search input::placeholder{color:var(--color-text-secondary)}.library-page .lib-mine-filter{border:.5px solid var(--color-border-tertiary);border-radius:var(--radius-md);background:var(--color-background-primary);color:var(--color-text-secondary);cursor:pointer;white-space:nowrap;-webkit-user-select:none;user-select:none;align-items:center;gap:6px;padding:6px 10px;font-size:13px;display:inline-flex}.library-page .lib-mine-filter:has(input:checked){border-color:var(--accent);color:var(--accent);background:var(--accent-light)}.library-page .lib-mine-filter input{accent-color:var(--accent);margin:0}.library-page .lib-filters{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.library-page .filter-btn{background:var(--color-background-primary);border:.5px solid var(--color-border-tertiary);border-radius:var(--radius-md);font:inherit;cursor:pointer;color:var(--color-text-secondary);white-space:nowrap;align-items:center;gap:6px;padding:6px 12px;font-size:13px;transition:all .15s;display:inline-flex}.library-page .filter-btn:hover{color:var(--color-text-primary);background:var(--color-background-secondary)}.library-page .filter-btn.active{border-color:var(--accent);color:var(--accent);background:var(--accent-light);font-weight:500}.library-page .filter-btn svg{flex-shrink:0;width:16px;height:16px}.library-page .lib-add-btn{background:var(--accent);border-radius:var(--radius-md);font:inherit;cursor:pointer;color:#fff;white-space:nowrap;border:none;align-items:center;gap:6px;margin-left:auto;padding:7px 14px;font-size:13px;font-weight:500;display:inline-flex}.library-page .lib-add-btn:hover:not(:disabled){background:var(--accent-strong)}.library-page .lib-add-btn:disabled{opacity:.5;cursor:not-allowed}.library-page .lib-body{overscroll-behavior:contain;flex:1;min-height:0;padding-right:4px;overflow:hidden auto}.library-page .lib-grid{grid-template-columns:repeat(auto-fill,minmax(168px,1fr));align-content:start;gap:12px;display:grid}.library-page .lib-state{text-align:center;color:var(--color-text-secondary);margin:0;padding:24px 12px;font-size:14px}.library-page .lib-state.error{color:var(--danger)}.library-page .lib-card{background:var(--color-background-primary);border:.5px solid var(--color-border-tertiary);border-radius:var(--radius-lg);cursor:pointer;font:inherit;text-align:left;color:inherit;touch-action:manipulation;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;flex-direction:column;padding:0;transition:border-color .15s;display:flex;overflow:hidden}.library-page .lib-card:hover{border-color:var(--accent-mid)}.library-page .lib-thumb{justify-content:center;align-items:center;height:90px;display:flex;overflow:hidden}.library-page .lib-thumb img{object-fit:cover;width:100%;height:100%}.library-page .lib-thumb.song{background:var(--accent-light)}.library-page .lib-thumb.slides{background:var(--color-media-slides-bg)}.library-page .lib-thumb.audio{background:var(--color-media-audio-bg)}.library-page .lib-thumb.video{background:var(--color-media-video-bg)}.library-page .lib-thumb-icon{font-size:36px;line-height:1}.library-page .lib-thumb-icon.song{color:var(--accent-mid)}.library-page .lib-thumb-icon.slides{color:var(--color-media-slides-text)}.library-page .lib-thumb-icon.audio{color:var(--color-media-audio-text)}.library-page .lib-thumb-icon.video{color:var(--color-media-video-text)}.library-page .lib-info{padding:10px 12px}.library-page .lib-name{white-space:nowrap;text-overflow:ellipsis;color:var(--color-text-primary);font-size:13px;font-weight:500;overflow:hidden}.library-page .lib-subtitle{color:var(--color-text-secondary);white-space:nowrap;text-overflow:ellipsis;margin-top:2px;font-size:11px;overflow:hidden}.library-page .lib-songbook-filter{border:.5px solid var(--color-border-tertiary);border-radius:var(--radius-md);background:var(--color-background-primary);font:inherit;color:var(--color-text-secondary);cursor:pointer;max-width:200px;padding:6px 10px;font-size:13px}.library-page .lib-songbook-filter:disabled{opacity:.6;cursor:wait}.library-page .lib-meta{color:var(--color-text-secondary);flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px;font-size:11px;display:flex}.library-page .type-badge{border-radius:10px;flex-shrink:0;padding:2px 7px;font-size:10px;font-weight:500}.library-page .type-badge.song{background:var(--accent-light);color:var(--accent-strong)}.library-page .type-badge.slides{background:var(--color-media-slides-bg);color:var(--color-media-slides-text)}.library-page .type-badge.audio{background:var(--color-media-audio-bg);color:var(--color-media-audio-text)}.library-page .type-badge.video{background:var(--color-media-video-bg);color:var(--color-media-video-text)}.library-page .lib-load-more{border:.5px solid var(--color-border-tertiary);border-radius:var(--radius-md);background:var(--color-background-primary);color:var(--color-text-secondary);font:inherit;cursor:pointer;align-items:center;margin-top:12px;padding:7px 14px;font-size:13px;display:inline-flex}.library-page .lib-load-more:hover:not(:disabled){background:var(--color-background-secondary);color:var(--color-text-primary)}.library-page .lib-load-more:disabled{opacity:.6;cursor:wait}@media (width<=640px){.library-page .lib-grid{grid-template-columns:repeat(2,1fr)}.library-page .lib-add-btn{justify-content:center;width:100%;margin-left:0}}.library-item-context-sheet-backdrop{z-index:300;background:#0f172a73;justify-content:stretch;align-items:flex-end;display:flex;position:fixed;inset:0}.library-item-context-sheet{background:var(--color-background-primary,var(--bg));width:100%;padding:8px 8px max(8px, env(safe-area-inset-bottom));border:none;border-radius:16px 16px 0 0;gap:4px;display:grid;box-shadow:0 -8px 32px #0000002e}.library-item-context-sheet .song-context-menu-item{text-align:center;border-radius:12px;width:100%;padding:14px 16px;font-size:16px}.library-item-context-sheet-cancel{background:var(--color-background-secondary,#252832);width:100%;color:var(--color-text-secondary,var(--text));font:inherit;cursor:pointer;border:none;border-radius:12px;margin-top:4px;padding:14px 16px;font-size:16px;font-weight:500}.profile-page{flex-direction:column;gap:16px;width:100%;max-width:1100px;min-height:0;margin:0 auto;display:flex}.profile-page-header{border:1px solid var(--color-border-tertiary);background:radial-gradient(120% 140% at 0% 0%, var(--accent-bg) 0%, transparent 60%), var(--color-background-primary);border-radius:14px;align-items:center;gap:16px;padding:18px 20px;display:flex}.profile-page-avatar{width:56px;height:56px;color:var(--color-accent-contrast,#fff);background:linear-gradient(145deg, var(--color-accent,#b9935a), var(--color-accent-dark,#9c7b46));border-radius:50%;flex-shrink:0;place-items:center;font-size:1.2rem;font-weight:700;display:grid;box-shadow:0 4px 12px #0000001f}.profile-page-intro{min-width:0}.profile-page-name{color:var(--color-text-primary);margin:0;font-size:1.25rem;line-height:1.2}.profile-page-meta{color:var(--color-text-secondary);margin:3px 0 0;font-size:.85rem}.profile-page-hint{max-width:48rem;color:var(--color-text-secondary);margin:8px 0 0;font-size:.8rem;line-height:1.45}.profile-page-grid{grid-template-columns:repeat(auto-fit,minmax(320px,1fr));align-items:start;gap:16px;display:grid}.profile-ministries-section{align-content:start;gap:12px;display:grid}.profile-ministries-block{border:1px solid var(--color-border-tertiary);background:var(--color-background-primary);border-radius:14px;padding:16px}.profile-ministries-title{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary);margin:0 0 10px;font-size:.82rem;font-weight:600}.profile-ministry-invite-list,.profile-ministry-membership-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.profile-ministry-membership-list{grid-template-columns:repeat(auto-fill,minmax(200px,1fr))}.profile-ministry-invite-card,.profile-ministry-membership-card{border:1px solid var(--color-border-tertiary);background:var(--accent-bg);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px;padding:10px 12px;display:flex}.profile-ministry-membership-card{background:var(--color-background-primary);flex-direction:column}.profile-ministry-invite-main{min-width:0}.profile-ministry-invite-main p,.profile-ministry-membership-card p{color:var(--color-text-secondary);margin:4px 0 0;font-size:.88rem;line-height:1.4}.profile-ministry-invite-meta{font-size:.82rem!important}.profile-ministry-invite-message{font-style:italic}.profile-ministry-invite-actions{flex-wrap:wrap;gap:8px;display:flex}.ministry-invite-search-row{gap:8px;display:flex}.ministry-invite-search-row input{flex:1}.ministry-invite-results{gap:6px;margin-top:8px;display:grid}.ministry-invite-result{border:1px solid var(--border);background:var(--color-background-primary);border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;font-size:13px;display:flex}.ministry-member-chips,.ministry-pending-invites{flex-wrap:wrap;gap:8px;display:flex}.ministry-member-chip,.ministry-pending-chip{border:1px solid var(--border);background:var(--code-bg);border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:12px;display:inline-flex}.ministry-pending-chip button{color:var(--text);cursor:pointer;background:0 0;border:none;padding:0;line-height:1}.ministry-workspace-page{gap:20px;display:grid}.ministry-workspace-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.ministry-workspace-header h2{margin:0;font-size:1.35rem}.ministry-workspace-badges{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ministry-role-badge{background:var(--accent-bg);color:var(--accent-strong);border-radius:999px;align-items:center;padding:4px 10px;font-size:12px;font-weight:600;display:inline-flex}.ministry-workspace-meta{color:var(--color-text-secondary);margin:0}.ministry-stats-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:10px;display:grid}.ministry-stat-card{border:1px solid var(--color-border-tertiary);background:var(--color-background-primary);border-radius:12px;flex-direction:column;gap:4px;padding:14px 16px;display:flex}.ministry-stat-value{color:var(--color-text-primary);font-size:1.5rem;font-weight:700;line-height:1}.ministry-stat-label{color:var(--color-text-secondary);font-size:.82rem}.ministry-team-modal{width:min(920px,100%)}.ministry-team-modal-body{gap:20px;max-height:min(70vh,720px);display:grid;overflow:auto}.ministry-team-section{gap:10px;display:grid}.ministry-team-section-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.ministry-team-section h3{color:var(--text-h);margin:0;font-size:14px;font-weight:600}.visibility-picker{flex-direction:column;gap:8px;display:flex}.visibility-picker-label{color:var(--color-text-secondary);font-size:.82rem;font-weight:600}.visibility-picker-options{grid-template-columns:1fr 1fr;gap:8px;display:grid}.visibility-picker-btn{border:1px solid var(--color-border-tertiary);background:var(--color-background-primary);text-align:left;cursor:pointer;color:var(--color-text-primary);border-radius:10px;flex-direction:column;align-items:flex-start;gap:2px;padding:10px 12px;transition:border-color .15s,background .15s;display:flex}.visibility-picker-btn small{color:var(--color-text-secondary);font-size:.72rem;line-height:1.3}.visibility-picker-btn.active{border-color:var(--accent);background:var(--accent-bg)}.visibility-picker-compact .visibility-picker-options{grid-template-columns:auto auto}.lib-meta{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.lib-card-visibility{text-transform:uppercase;letter-spacing:.03em;border-radius:999px;margin-left:auto;padding:2px 6px;font-size:.68rem;font-weight:600}.lib-card-visibility.public{color:var(--color-success-text);background:var(--color-success-bg)}.lib-card-visibility.private{color:var(--color-warning-text);background:var(--color-warning-bg)}.profile-figma-section{align-content:start;gap:10px;display:grid}.profile-figma-block{border:1px solid var(--color-border-tertiary);background:var(--color-background-primary);border-radius:14px;padding:16px}.profile-figma-title{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary);margin:0 0 6px;font-size:.82rem;font-weight:600}.profile-figma-hint{color:var(--color-text-secondary);margin:0 0 8px;font-size:.82rem;line-height:1.4}.profile-figma-hint a{color:var(--accent-strong)}.profile-figma-muted{color:var(--color-text-secondary);margin:0;font-size:.88rem}.profile-figma-connected,.profile-figma-connect{justify-items:start;gap:10px;display:grid}.profile-figma-connect .action-btn,.profile-figma-connected .action-btn{padding:8px 16px}.profile-figma-badge{color:var(--color-success-text);background:var(--color-success-bg);border-radius:999px;align-items:center;padding:4px 10px;font-size:.75rem;font-weight:600;display:inline-flex}.profile-figma-actions{flex-wrap:wrap;gap:8px;display:flex}.profile-figma-token-field{gap:6px;width:100%;max-width:26rem;display:grid}.profile-figma-token-field span{color:var(--color-text-secondary);font-size:.85rem}.profile-figma-token-field input{border:1px solid var(--color-border-tertiary);background:var(--color-input-bg);width:100%;max-width:28rem;color:var(--color-text-primary);border-radius:8px;padding:8px 10px}.profile-figma-status{color:var(--color-success-text);margin:8px 0 0;font-size:.85rem}.profile-figma-error{color:var(--color-danger-text);margin:8px 0 0;font-size:.85rem}.figma-import-modal{width:min(920px,100vw - 24px);max-height:calc(100vh - 32px)}.figma-import-body{gap:12px;max-height:min(68vh,640px);display:grid;overflow:auto}.figma-import-toolbar{flex-wrap:wrap;gap:8px;display:flex}.figma-import-grid{grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px;display:grid}.figma-import-frame{border:1px solid var(--color-border-tertiary);cursor:pointer;background:var(--color-background-primary);color:var(--color-text-primary);border-radius:10px;gap:6px;padding:8px;display:grid}.figma-import-frame.is-selected{border-color:var(--accent-strong);box-shadow:0 0 0 1px var(--accent-strong)}.figma-import-frame input[type=checkbox]{width:auto}.figma-import-frame-preview{aspect-ratio:16/9;background:var(--color-background-secondary);border-radius:6px;place-items:center;display:grid;overflow:hidden}.figma-import-frame-preview img{object-fit:cover;width:100%;height:100%}.figma-import-frame-placeholder{color:var(--color-text-secondary);font-size:.75rem}.figma-import-frame-name{color:var(--color-text-primary);font-size:.82rem;font-weight:600;line-height:1.2}.figma-import-frame-page{color:var(--color-text-secondary);font-size:.72rem}.slideshow-add-actions{flex-wrap:wrap;gap:8px;display:flex}.slideshow-add-actions .slideshow-add-slide-btn,.slideshow-add-actions .slideshow-figma-btn{flex:auto}.ministry-device-form{flex-wrap:wrap;gap:8px;margin:8px 0;display:flex}.ministry-device-form input{border:1px solid var(--color-border-tertiary);background:var(--color-input-bg);color:var(--color-text-primary);border-radius:6px;flex:180px;padding:8px 10px;font-size:.9rem}.ministry-device-actions{flex-wrap:wrap;gap:8px;display:flex}.ministry-device-actions .admin-danger{color:var(--color-danger-text)}.app-content:has(.profile-page){padding:12px 16px}.profile-page .library-page .lib-toolbar{gap:6px;margin-bottom:10px}.profile-page .library-page .lib-state{padding:12px 8px}.profile-page .library-page .lib-grid{grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:10px}.library-item-context-menu{z-index:300}.profile-page .library-item-context-menu{border-color:var(--color-border-tertiary);background:var(--color-background-primary);box-shadow:var(--shadow)}.profile-page .library-item-context-menu .song-context-menu-item{color:var(--color-text-primary)}.profile-page .library-item-context-menu .song-context-menu-item:hover{background:var(--color-background-secondary)}.profile-page .library-item-context-menu .song-context-menu-item.danger{color:var(--color-danger-text)}.profile-page .library-item-context-menu .song-context-menu-item.danger:hover{background:var(--color-danger-bg)}.program-picker-modal{width:100%;max-width:460px}.program-picker-search{border:1px solid var(--color-border,#e4e7ee);width:100%;height:40px;font:inherit;border-radius:10px;margin-bottom:14px;padding:0 14px;font-size:13.5px}.program-picker-state{color:var(--color-text-tertiary,#98a0b3);margin:8px 0;font-size:13px}.program-picker-list{flex-direction:column;gap:6px;max-height:360px;margin:0;padding:0;list-style:none;display:flex;overflow-y:auto}.program-picker-item{border:1px solid var(--color-border,#e4e7ee);cursor:pointer;text-align:left;background:#fff;border-radius:10px;align-items:center;gap:10px;width:100%;padding:10px 12px;transition:background .12s,border-color .12s;display:flex}.program-picker-item:hover:not(:disabled){background:var(--accent-bg,#f5f0e4);border-color:var(--accent-border,#d8c79b)}.program-picker-item:disabled{opacity:.6;cursor:not-allowed}.program-picker-item-title{color:var(--color-text-primary,#1d2433);flex:auto;font-size:13.5px;font-weight:600}.program-picker-item-date{color:var(--color-text-tertiary,#98a0b3);white-space:nowrap;flex:none;font-size:12px}.program-picker-item-busy{color:var(--accent-strong,#9c7b46);flex:none;font-size:12px;font-weight:600}.program-picker-done{flex-direction:column;align-items:flex-start;gap:12px;padding:10px 0;font-size:14px;display:flex}.mw-page{gap:14px;width:100%;max-width:1040px;margin:0 auto;display:grid}.app-content:has(.mw-page){padding:12px 16px 20px}.mw-loading,.mw-empty{text-align:center;color:var(--color-text-secondary);margin:0;padding:20px 16px;font-size:13px}.mw-alert{border:1px solid var(--color-danger-bg);background:var(--color-danger-bg);color:var(--color-danger-text);border-radius:10px;margin:0;padding:10px 14px;font-size:13px}.mw-hero{border:1px solid var(--color-border-tertiary);background:linear-gradient(135deg, var(--color-background-primary) 0%, var(--accent-bg) 140%);border-radius:14px;gap:14px;padding:16px 18px;display:grid}.mw-hero-top{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.mw-hero h1{color:var(--color-text-primary);margin:0;font-size:1.35rem;line-height:1.2}.mw-hero-desc{color:var(--color-text-secondary);max-width:36rem;margin:6px 0 0;font-size:.88rem;line-height:1.45}.mw-hero-leader{color:var(--color-text-secondary);margin:8px 0 0;font-size:.82rem}.mw-hero-leader strong{color:var(--color-text-primary);font-weight:600}.mw-hero-badges{flex-wrap:wrap;gap:6px;display:flex}.mw-badge{border:1px solid #0000;border-radius:999px;align-items:center;gap:5px;padding:4px 10px;font-size:11px;font-weight:600;display:inline-flex}.mw-badge--role{background:var(--accent-bg);color:var(--accent-strong);border-color:#9c7b4633}.mw-badge--active{background:var(--color-success-bg);color:var(--color-success-text);border-color:var(--color-success-bg)}.mw-badge--inactive{background:var(--color-background-secondary);color:var(--color-text-secondary);border-color:var(--color-border-tertiary)}.mw-badge-dot{opacity:.85;background:currentColor;border-radius:50%;width:6px;height:6px}.mw-stats{border-top:1px solid #0000000f;grid-template-columns:repeat(4,1fr);gap:8px;padding-top:4px;display:grid}.mw-stat{background:#ffffffbf;border:1px solid #ffffffe6;border-radius:10px;flex-direction:column;gap:2px;padding:10px 12px;display:flex}.mw-stat-value{color:var(--color-text-primary);font-size:1.25rem;font-weight:700;line-height:1}.mw-stat-label{color:var(--color-text-secondary);font-size:.72rem}.mw-layout{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);align-items:start;gap:14px;display:grid}.mw-main,.mw-aside{gap:14px;min-width:0;display:grid}.mw-card{border:1px solid var(--color-border-tertiary);background:var(--color-background-primary);border-radius:12px;overflow:hidden}.mw-card-head{border-bottom:1px solid var(--color-border,#e5e7eb);background:var(--color-background-secondary,#fafafa);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;display:flex}.mw-card-head h2{color:var(--color-text-primary);margin:0;font-size:.92rem;font-weight:650}.mw-count{color:var(--color-accent-dark,#9c7b46);background:var(--color-accent-soft,#f6efe4);border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600}.mw-card-body{padding:10px 12px 12px}.mw-card-hint{color:var(--color-text-secondary);margin:0 0 10px;padding:0 2px;font-size:.8rem;line-height:1.45}.mw-people-list{gap:6px;margin:0;padding:0;list-style:none;display:grid}.mw-person-row{border:1px solid var(--color-border-tertiary);background:var(--color-background-primary);border-radius:10px;align-items:center;gap:10px;padding:8px 10px;display:flex}.mw-person-avatar{width:36px;height:36px;color:var(--color-accent-dark,#9c7b46);background:var(--color-accent-soft,#f6efe4);border-radius:50%;flex-shrink:0;place-items:center;font-size:12px;font-weight:700;display:grid}.mw-person-main{flex:1;gap:2px;min-width:0;display:grid}.mw-person-name{color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;font-size:13px;font-weight:600;overflow:hidden}.mw-person-meta{color:var(--color-text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:11px;overflow:hidden}.mw-person-actions{flex-shrink:0}.mw-search{border:1px solid var(--color-border-tertiary);background:var(--color-background-secondary,#f9fafb);border-radius:10px;align-items:center;gap:8px;margin-bottom:8px;padding:8px 12px;display:flex}.mw-search input{min-width:0;font:inherit;color:var(--color-text-primary);background:0 0;border:none;outline:none;flex:1;font-size:13px}.mw-search input::placeholder{color:var(--color-text-muted,#9ca3af)}.mw-search-hint{color:var(--color-text-secondary);margin:0 0 8px;font-size:12px}.mw-invite-results{gap:6px;display:grid}.mw-invite-result{border:1px solid var(--color-border-tertiary);background:var(--color-background-primary);border-radius:10px;justify-content:space-between;align-items:center;gap:10px;padding:8px 10px;font-size:13px;display:flex}.mw-tabs{scrollbar-width:none;flex-wrap:nowrap;gap:4px;padding-bottom:2px;display:flex;overflow-x:auto}.mw-tabs::-webkit-scrollbar{display:none}.mw-tab{border:1px solid var(--color-border-tertiary);background:var(--color-background-primary);font:inherit;color:var(--color-text-secondary);cursor:pointer;border-radius:999px;flex-shrink:0;padding:5px 10px;font-size:11px;font-weight:500;transition:background .15s,border-color .15s,color .15s}.mw-tab:hover{border-color:var(--accent);color:var(--accent-strong)}.mw-tab.active{border-color:var(--color-accent,#b9935a);background:var(--accent-bg);color:var(--accent-strong)}.mw-invite-list{gap:6px;margin:10px 0 0;padding:0;list-style:none;display:grid}.mw-invite-item{border:1px solid var(--color-border-tertiary);background:var(--color-background-primary);border-radius:10px;gap:8px;padding:10px 12px;display:grid}.mw-invite-item-top{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.mw-invite-item .mw-person-row{background:0 0;border:none;flex:1;padding:0}.mw-invite-item-meta{color:var(--color-text-secondary);flex-wrap:wrap;gap:6px 12px;font-size:11px;display:flex}.mw-status{white-space:nowrap;border-radius:999px;align-items:center;gap:5px;padding:3px 8px;font-size:11px;font-weight:600;display:inline-flex}.mw-status--pending{background:var(--color-warning-bg);color:var(--color-warning-text)}.mw-status--accepted{color:#166534;background:#ecfdf5}.mw-status--declined{background:var(--color-danger-bg);color:var(--color-danger-text)}.mw-status--revoked,.mw-status--offline{color:#6b7280;background:#f3f4f6}.mw-status--online{color:#166534;background:#ecfdf5}.mw-form{gap:8px;margin-bottom:10px;display:grid}.mw-form-row{grid-template-columns:1fr 1fr;gap:8px;display:grid}.mw-form input,.mw-form select{border:1px solid var(--color-border-tertiary);width:100%;font:inherit;color:var(--color-text-primary);background:var(--color-background-primary);box-sizing:border-box;border-radius:8px;padding:8px 10px;font-size:13px}.mw-form input:focus,.mw-form select:focus{border-color:var(--color-accent,#b9935a);outline:none;box-shadow:0 0 0 2px #b9935a26}.mw-form-submit{background:var(--accent);width:100%;color:var(--color-accent-contrast);font:inherit;cursor:pointer;border:none;border-radius:8px;padding:9px 14px;font-size:13px;font-weight:600}.mw-form-submit:hover:not(:disabled){filter:brightness(1.05)}.mw-form-submit:disabled{opacity:.5;cursor:not-allowed}.mw-device-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.mw-device-item{border:1px solid var(--color-border-tertiary);background:var(--color-background-primary);border-radius:10px;gap:8px;padding:10px 12px;display:grid}.mw-device-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.mw-device-name{color:var(--color-text-primary);font-size:13px;font-weight:600}.mw-device-meta{color:var(--color-text-secondary);flex-wrap:wrap;gap:6px 12px;font-size:11px;display:flex}.mw-device-code{letter-spacing:.06em;background:var(--accent-bg);color:var(--accent-strong);border-radius:6px;padding:4px 8px;font-family:ui-monospace,monospace;font-size:12px;font-weight:600}.mw-device-actions{flex-wrap:wrap;gap:6px;display:flex}.mw-btn-ghost{border:1px solid var(--color-border-tertiary);background:var(--color-background-primary);font:inherit;color:var(--color-text-secondary);cursor:pointer;border-radius:7px;padding:5px 10px;font-size:12px}.mw-btn-ghost:hover:not(:disabled){border-color:var(--accent);color:var(--accent-strong)}.mw-btn-danger{font:inherit;color:#b91c1c;cursor:pointer;background:0 0;border:none;border-radius:7px;padding:5px 10px;font-size:12px}.mw-btn-danger:hover:not(:disabled){background:#fef2f2}.mw-form-submit.mw-btn-sm{width:auto;padding:6px 12px}.mw-btn-sm{padding:4px 10px;font-size:11px}.mw-alert+.mw-device-list,.mw-card-body>.mw-alert{margin-bottom:10px}.mw-readonly-note{color:var(--color-text-secondary);background:var(--color-background-secondary,#f9fafb);border:1px dashed var(--color-border,#e5e7eb);border-radius:10px;margin:0;padding:12px 14px;font-size:13px}@media (width<=860px){.mw-layout{grid-template-columns:1fr}.mw-stats{grid-template-columns:repeat(2,1fr)}.mw-form-row{grid-template-columns:1fr}}@media (width<=480px){.mw-hero h1{font-size:1.15rem}.mw-stats{grid-template-columns:repeat(2,1fr)}}.home-workspace{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.home-workspace-rail{box-sizing:border-box;border-right:1px solid var(--border);background:var(--bg);flex-direction:column;flex-shrink:0;gap:12px;width:220px;padding:20px 12px;display:flex}.home-workspace-rail-eyebrow{letter-spacing:.08em;text-transform:uppercase;color:var(--text);margin:0 8px 4px;font-size:11px;font-weight:600}.home-workspace-tabs{gap:6px;display:grid}.home-workspace-tab{text-align:left;width:100%;color:var(--text-h);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:12px;gap:2px;padding:12px 14px;transition:background .15s,border-color .15s,box-shadow .15s;display:grid}.home-workspace-tab:hover{background:var(--code-bg);border-color:var(--border)}.home-workspace-tab.active{background:var(--accent-bg);border-color:var(--accent-border);box-shadow:inset 3px 0 0 var(--accent)}.home-workspace-tab-label{font-size:15px;font-weight:600;line-height:1.2}.home-workspace-tab-hint{color:var(--text);font-size:12px}.home-workspace-main{box-sizing:border-box;flex:1;min-width:0;min-height:0;padding:0;overflow:auto}.home-workspace-main:has(.library-page){flex-direction:column;padding:0;display:flex;overflow:hidden}.home-panel-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px 16px;margin-bottom:16px;display:flex}.home-panel-header h1{color:var(--text-h);margin:0;font-size:22px;font-weight:700}.home-panel-header p,.home-panel-header .programs-home-title-wrap p{color:var(--text);margin:4px 0 0;font-size:14px}.home-panel-empty{border:1px solid var(--border);background:var(--bg);color:var(--text);border-radius:12px;margin:0;padding:16px}.home-calendar-panel,.home-library-panel{min-height:0}.home-library-panel{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.home-workspace .programs-calendar-layout{grid-template-columns:minmax(300px,1fr) minmax(260px,340px);align-items:start;gap:16px;display:grid}.home-workspace .programs-calendar-panel,.home-workspace .programs-calendar-day-panel{border:1px solid var(--border);background:var(--bg);box-shadow:var(--shadow);border-radius:14px;padding:16px}.home-workspace .programs-calendar-month{color:var(--text-h);text-transform:capitalize}.home-workspace .programs-calendar-nav-btn{border:1px solid var(--border);background:var(--bg);color:var(--text-h)}.home-workspace .programs-calendar-nav-btn:hover{border-color:var(--accent-border);background:var(--accent-bg)}.home-workspace .programs-calendar-weekdays{color:var(--text)}.home-workspace .programs-calendar-day{background:var(--code-bg);color:var(--text-h)}.home-workspace .programs-calendar-day:hover{border-color:var(--accent-border)}.home-workspace .programs-calendar-day.selected{border-color:var(--accent);background:var(--accent-bg)}.home-workspace .programs-calendar-day.has-events{background:color-mix(in srgb, var(--accent-bg) 80%, var(--code-bg))}.home-workspace .programs-calendar-dots i{background:var(--accent)}.home-workspace .programs-calendar-day-panel h3{color:var(--text-h)}.home-workspace .programs-home-state{border:1px solid var(--border);background:var(--code-bg);color:var(--text)}.home-workspace .programs-calendar-event{border:1px solid var(--border);background:var(--bg);color:var(--text-h)}.home-workspace .programs-calendar-event:hover{border-color:var(--accent);background:var(--accent-bg)}.home-workspace .programs-calendar-event span{color:var(--text)}.home-workspace .programs-home-actions .programs-btn-primary,.home-workspace .programs-home-actions .action-btn.programs-btn-primary{border-color:var(--accent);background:var(--accent);color:#fff}.workspace-library-shell{flex-direction:column;flex:1;min-height:0;display:flex}.workspace-library-shell .operator-panel.library-only-mode,.workspace-library-shell .operator-panel.library-only-mode>.operator-layout{flex-direction:column;flex:1 1 0;min-height:0;display:flex;overflow:hidden}.workspace-library-shell .operator-layout.library-only-layout{flex:1 1 0;min-height:0;overflow:hidden;height:auto!important}.workspace-library-shell .operator-layout.library-only-layout>.materials-library-panel{flex:1 1 0;min-height:0;overflow:hidden}.workspace-library-shell .materials-library-header,.workspace-library-shell .materials-library-tabs{flex-shrink:0}.workspace-library-shell .materials-library-panel{border:1px solid var(--border);background:var(--bg);min-height:0;box-shadow:var(--shadow);border-radius:14px;flex-direction:column;flex:1 1 0;gap:12px;padding:14px 16px 16px;display:flex;overflow:hidden}.workspace-library-shell .materials-library-header h2{color:var(--text-h);font-size:15px;font-weight:600}.workspace-library-shell .library-add-btn{border:1px solid var(--accent-border);background:var(--accent-bg);color:var(--accent)}.workspace-library-shell .library-add-btn:hover{background:var(--accent);color:#fff}.workspace-library-shell .materials-library-tabs{background:var(--code-bg);border:1px solid var(--border);border-radius:12px;gap:6px;padding:4px}.workspace-library-shell .materials-library-tab{color:var(--text);background:0 0;border:none;border-radius:8px;padding:8px 14px;font-size:13px;font-weight:500}.workspace-library-shell .materials-library-tab:hover{background:var(--bg);color:var(--text-h)}.workspace-library-shell .materials-library-tab.active{background:var(--bg);color:var(--accent);font-weight:600;box-shadow:0 1px 3px #00000014}.workspace-library-shell .materials-library-placeholder>*{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.workspace-library-shell .materials-library-placeholder{border:1px solid var(--border);background:var(--code-bg);min-height:0;color:var(--text);text-align:left;border-radius:12px;flex-direction:column;flex:1;padding:14px;display:flex;overflow:hidden}.workspace-library-shell .materials-songs-list-wrap{flex-direction:column;flex:1;gap:10px;min-height:0;display:flex;overflow:hidden}.workspace-library-shell .materials-library-toolbar{flex-shrink:0}.workspace-library-shell .materials-library-scroll{overscroll-behavior:contain;flex-direction:column;flex:1 1 0;gap:10px;min-height:0;max-height:calc(100dvh - 240px);padding-right:4px;display:flex;overflow:hidden auto}.workspace-library-shell .materials-library-scroll .materials-songs-list,.workspace-library-shell .materials-library-scroll .materials-videos-list{min-height:unset!important;flex:none!important;overflow:visible!important}.workspace-library-shell .materials-media-grid{min-height:unset;flex:none;grid-template-columns:repeat(auto-fill,minmax(132px,1fr));align-content:start;gap:10px;display:grid;overflow:visible}.workspace-library-shell .materials-videos-list.materials-media-grid,.workspace-library-shell .materials-songs-list.materials-media-grid{overflow:visible}.workspace-library-shell .materials-library-tile{border:1px solid var(--border);background:var(--bg);color:var(--text-h);font:inherit;cursor:pointer;text-align:left;border-radius:10px;flex-direction:column;align-items:stretch;gap:8px;min-height:88px;padding:10px;font-size:12px;line-height:1.35;display:flex;overflow:hidden}.workspace-library-shell .materials-library-tile:hover{border-color:var(--accent-border);background:var(--accent-bg)}.workspace-library-shell .materials-library-tile-icon{background:var(--code-bg);border-radius:8px;flex-shrink:0;place-items:center;width:36px;height:36px;font-size:18px;display:grid}.workspace-library-shell .materials-library-tile-title{-webkit-line-clamp:3;word-break:break-word;-webkit-box-orient:vertical;display:-webkit-box;overflow:hidden}.workspace-library-shell .materials-song-row{min-width:0;display:block}.workspace-library-shell .materials-song-row .materials-library-tile{width:100%}.workspace-library-shell .materials-video-item{gap:6px;min-width:0;padding:8px}.workspace-library-shell .materials-video-thumb-wrap{aspect-ratio:4/3;border-radius:8px}.workspace-library-shell .materials-video-thumb-fallback{letter-spacing:.06em;font-size:11px}.workspace-library-shell .materials-video-title{text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1.3;overflow:hidden}.workspace-library-shell .materials-songs-state{flex-shrink:0;margin:0}.workspace-library-shell .materials-library-scroll>.action-btn{flex-shrink:0;align-self:flex-start}.workspace-library-shell .materials-search-input,.workspace-library-shell .materials-upload-field input,.workspace-library-shell .materials-upload-field select,.workspace-library-shell .materials-songs-item,.workspace-library-shell .bible-book-item,.workspace-library-shell .bible-chapter-item{border:1px solid var(--border);background:var(--bg);color:var(--text-h)}.workspace-library-shell .bible-book-item.active,.workspace-library-shell .bible-chapter-item.active{background:var(--accent-bg);border-color:var(--accent);color:var(--accent)}.workspace-library-shell .bible-library{flex:1;width:100%;max-width:none;min-height:0;overflow:hidden}.workspace-library-shell .bible-library-top-grid{flex:1;grid-template-columns:minmax(140px,200px) minmax(72px,88px) minmax(0,1fr);min-height:0;overflow:hidden}.workspace-library-shell .bible-library-verses{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.workspace-library-shell .bible-library-verses-list{flex:1;min-height:0;overflow-y:auto}.workspace-library-shell .bible-book-list,.workspace-library-shell .bible-library-chapters-grid{overflow-y:auto}.workspace-library-shell .bible-pane{border:1px solid var(--border);background:var(--bg)}.workspace-library-shell .bible-library-verses{border:1px solid var(--border);background:var(--bg);border-radius:12px;min-height:200px}.workspace-library-shell .bible-library-translation select{border:1px solid var(--border);background:var(--bg);color:var(--text-h)}@media (width<=960px){.home-workspace{flex-direction:column}.home-workspace-rail{border-right:none;border-bottom:1px solid var(--border);width:100%;padding:12px}.home-workspace-tabs{grid-template-columns:1fr 1fr}.home-workspace .programs-calendar-layout{grid-template-columns:1fr}.workspace-library-shell .bible-library-top-grid{grid-template-rows:auto 1fr;grid-template-columns:1fr 72px}}.dashboard-page{gap:16px;display:grid}.stats-row{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.stat-card{background:var(--color-background-primary);border:.5px solid var(--color-border-tertiary);border-radius:var(--radius-lg);padding:14px 16px}.stat-label{color:var(--color-text-secondary);letter-spacing:.04em;text-transform:uppercase;margin:0 0 4px;font-size:11px}.stat-value{color:var(--color-text-primary);margin:0;font-size:22px;font-weight:500;line-height:1}.stat-subtext{color:var(--color-text-secondary);margin:4px 0 0;font-size:12px}.stat-up{color:#059669}.stat-status{color:#059669;margin:0;padding-top:4px;font-size:14px;font-weight:500}.dashboard-grid{grid-template-columns:1.6fr 1fr;gap:16px;display:grid}.dashboard-panel{background:var(--color-background-primary);border:.5px solid var(--color-border-tertiary);border-radius:var(--radius-lg);padding:16px}.dashboard-panel-head{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.dashboard-panel-head h2{margin:0;font-size:13px;font-weight:500;line-height:1.15}.dashboard-link-btn{color:var(--accent);cursor:pointer;background:0 0;border:none;font-size:14px}.dashboard-login-btn{border:1px solid var(--accent);background:var(--accent-bg);color:var(--accent);font:inherit;cursor:pointer;border-radius:8px;margin-top:8px;padding:6px 12px;font-size:13px;font-weight:500}.dashboard-login-btn:hover{filter:brightness(.98)}.event-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.event-item{align-items:flex-start;gap:10px;display:flex}.event-dot{border-radius:50%;width:8px;height:8px;margin-top:6px}.event-dot.blue{background:var(--accent)}.event-dot.green{background:#059669}.event-dot.amber{background:#d97706}.event-title{margin:0;font-size:13px;line-height:1.3}.event-date{color:var(--color-text-secondary);margin:2px 0 0;font-size:11px}.mini-calendar-grid{text-align:center;grid-template-columns:repeat(7,1fr);gap:4px;display:grid}.mini-calendar-dow{color:var(--color-text-secondary);font-size:10px;font-weight:500}.mini-calendar-day{border-radius:8px;padding:5px 3px;font-size:12px;position:relative}.mini-calendar-day.muted{color:var(--color-text-tertiary)}.mini-calendar-day.today{background:var(--accent);color:#fff;font-weight:600}.mini-calendar-day.has-event:after{content:"";background:var(--accent-mid);border-radius:50%;width:4px;height:4px;position:absolute;bottom:2px;left:50%;transform:translate(-50%)}.mini-calendar-day.today.has-event:after{background:#fff}.calendar-full-wrap{gap:16px;min-width:0;display:grid}.cal-toolbar{gap:12px;display:grid}.cal-scale-tabs{grid-template-columns:repeat(var(--scale-count,4), 1fr);background:var(--color-background-secondary);border:1px solid var(--color-border-tertiary);width:calc(var(--scale-count,4) * 84px + 8px);border-radius:999px;gap:0;max-width:100%;padding:4px;display:grid;position:relative}.cal-scale-indicator{width:calc((100% - 8px) / var(--scale-count,4));background:var(--color-background-primary);transform:translateX(calc(var(--active-index,0) * 100%));pointer-events:none;z-index:0;border-radius:999px;transition:transform .32s cubic-bezier(.34,1.3,.5,1);position:absolute;top:4px;bottom:4px;left:4px;box-shadow:0 1px 3px #2b22181f}.cal-scale-tab{z-index:1;color:var(--color-text-secondary);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:none;border-radius:999px;padding:7px 18px;font-size:13px;font-weight:500;transition:color .2s;position:relative}.cal-scale-tab:hover{color:var(--color-text-primary)}.cal-scale-tab.active{color:var(--accent);font-weight:600}.cal-body{min-width:0;min-height:0}@keyframes calZoomIn{0%{opacity:0;transform:scale(1.03)}to{opacity:1;transform:none}}@keyframes calZoomOut{0%{opacity:0;transform:scale(.965)}to{opacity:1;transform:none}}@keyframes calSlideNext{0%{opacity:0;transform:translate(22px)}to{opacity:1;transform:none}}@keyframes calSlidePrev{0%{opacity:0;transform:translate(-22px)}to{opacity:1;transform:none}}@keyframes calFade{0%{opacity:0}to{opacity:1}}.cal-anim-zoom-in{animation:.3s cubic-bezier(.22,1,.36,1) both calZoomIn}.cal-anim-zoom-out{animation:.3s cubic-bezier(.22,1,.36,1) both calZoomOut}.cal-anim-slide-next{animation:.28s cubic-bezier(.22,1,.36,1) both calSlideNext}.cal-anim-slide-prev{animation:.28s cubic-bezier(.22,1,.36,1) both calSlidePrev}.cal-anim-fade,.cal-month-label{animation:.25s both calFade}@media (prefers-reduced-motion:reduce){.cal-scale-indicator,.cal-body,.cal-month-label{transition:none!important;animation:none!important}}.cal-page-header{flex-wrap:wrap;align-items:center;gap:12px;display:flex}.cal-today-btn{border:1px solid var(--color-border-tertiary);background:var(--color-background-primary);color:var(--color-text-secondary);border-radius:var(--radius-md);font:inherit;cursor:pointer;padding:6px 12px;font-size:13px}.cal-today-btn:hover{border-color:var(--accent-border);color:var(--accent);background:var(--accent-light)}.cal-day-view{background:var(--color-background-primary);border:1px solid var(--color-border-tertiary);border-radius:var(--radius-lg);overflow:hidden}.cal-day-hero{border-bottom:1px solid var(--color-border-tertiary);background:var(--color-background-primary);align-items:center;gap:14px;padding:14px 20px;display:flex}.cal-day-hero-date{flex-direction:column;align-items:center;gap:2px;display:flex}.cal-day-view-weekday{text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-secondary);font-size:11px;font-weight:600}.cal-day-view-daynum{width:44px;height:44px;color:var(--color-text-primary);border-radius:50%;justify-content:center;align-items:center;font-size:22px;font-weight:500;display:inline-flex}.cal-day-hero-date.today .cal-day-view-weekday{color:var(--accent)}.cal-day-hero-date.today .cal-day-view-daynum{background:var(--accent);color:#fff;font-weight:600}.cal-day-hero-full{color:var(--color-text-secondary);text-transform:capitalize;font-size:15px;font-weight:500}.cal-day-tz{color:var(--color-text-tertiary);margin-left:auto;font-size:11px;font-weight:600}.cal-day-timeline-wrap{overscroll-behavior:contain;background:var(--color-background-primary);max-height:min(68vh,1000px);overflow-y:auto}.cal-day-timeline{grid-template-columns:60px 1fr;display:grid;position:relative}.cal-day-time-col{border-right:1px solid var(--color-border-tertiary);position:relative}.cal-day-time-tick{display:block;position:relative}.cal-day-time-tick-label{color:var(--color-text-tertiary);background:var(--color-background-primary);padding-left:4px;font-size:10px;font-weight:500;line-height:1;position:absolute;top:-7px;right:8px}.cal-day-grid-col{position:relative}.cal-day-hour-slot{border:none;border-top:1px solid color-mix(in srgb, var(--color-border-tertiary) 70%, transparent);cursor:pointer;background:0 0;width:100%;margin:0;padding:0;transition:background .12s;display:block}.cal-day-hour-slot:hover{background:color-mix(in srgb, var(--accent-light) 45%, transparent)}.cal-day-now-line{z-index:5;pointer-events:none;background:#ea4335;height:2px;position:absolute;left:0;right:0}.cal-day-now-line:before{content:"";background:#ea4335;border-radius:50%;width:11px;height:11px;position:absolute;top:50%;left:-5px;transform:translateY(-50%)}.cal-day-timeline-event{border:none;border-left:4px solid var(--accent);background:color-mix(in srgb, var(--accent-light) 65%, var(--color-background-primary));text-align:left;cursor:pointer;z-index:4;border-radius:8px;flex-direction:column;gap:2px;padding:6px 10px;transition:filter .12s;display:flex;position:absolute;left:8px;right:12px;overflow:hidden;box-shadow:0 1px 2px #0f172a14}.cal-day-timeline-event:hover{filter:brightness(.97)}.cal-day-timeline-event.blue{border-left-color:var(--accent);background:color-mix(in srgb, var(--accent-light) 65%, var(--color-background-primary))}.cal-day-timeline-event.green{background:#eafaf0;border-left-color:#22c55e}.cal-day-timeline-event.amber{background:#fff6e6;border-left-color:#f59e0b}.cal-day-event-time{color:var(--accent);font-size:11px;font-weight:600}.cal-day-timeline-event strong{color:var(--color-text-primary);text-overflow:ellipsis;white-space:nowrap;font-size:13px;line-height:1.2;overflow:hidden}.cal-day-event-place{color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.cal-day-empty-hint{background:var(--color-background-secondary);color:var(--color-text-tertiary);pointer-events:none;white-space:normal;text-align:center;border-radius:999px;max-width:calc(100% - 20px);margin:0;padding:8px 14px;font-size:12px;position:absolute;top:20px;left:50%;transform:translate(-50%)}.cal-week-grid{background:var(--color-border-tertiary);border:1px solid var(--color-border-tertiary);border-radius:var(--radius-lg);grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;min-height:360px;display:grid;overflow:hidden}.cal-week-col{background:var(--color-background-primary);flex-direction:column;min-width:0;display:flex}.cal-week-col-head{border:none;border-bottom:1px solid var(--color-border-tertiary);background:var(--color-background-secondary);cursor:pointer;font:inherit;flex-direction:column;align-items:center;gap:2px;padding:10px 6px;display:flex}.cal-week-col-head.today .cal-week-col-num{background:var(--accent);color:#fff}.cal-week-col-dow{color:var(--color-text-secondary);font-size:11px;font-weight:500}.cal-week-col-num{width:28px;height:28px;color:var(--color-text-primary);border-radius:50%;justify-content:center;align-items:center;font-size:14px;font-weight:600;display:inline-flex}.cal-week-col-body{flex-direction:column;flex:1;gap:4px;min-height:120px;padding:6px;display:flex;overflow-y:auto}.cal-week-add{border:1px dashed var(--color-border-tertiary);width:28px;height:28px;color:var(--color-text-tertiary);cursor:pointer;background:0 0;border-radius:8px;align-self:center;margin-top:auto;font-size:16px}.cal-week-add:hover{border-color:var(--accent);color:var(--accent)}.cal-year-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.cal-year-month{background:var(--color-background-primary);border:1px solid var(--color-border-tertiary);border-radius:12px;min-width:0;padding:10px}.cal-year-month-head{border:none;border-bottom:1px solid var(--color-border-tertiary);cursor:pointer;width:100%;font:inherit;color:var(--color-text-primary);text-transform:capitalize;background:0 0;justify-content:space-between;align-items:center;margin-bottom:8px;padding:0 2px 6px;font-size:13px;font-weight:600;display:flex}.cal-year-month-head:hover{color:var(--accent)}.cal-year-month-count{color:var(--accent);background:var(--accent-light);border-radius:999px;padding:2px 8px;font-size:11px;font-weight:600}.cal-mini-month-grid{grid-template-columns:repeat(7,1fr);gap:2px;display:grid}.cal-mini-dow{text-align:center;color:var(--color-text-tertiary);padding:2px 0;font-size:9px;font-weight:600}.cal-mini-day{aspect-ratio:1;font:inherit;color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;border-radius:4px;padding:0;font-size:10px}.cal-mini-day.other-month{visibility:hidden;pointer-events:none}.cal-mini-day.has-events{background:var(--accent-light);color:var(--accent-strong);font-weight:600}.cal-mini-day.today{background:var(--accent);color:#fff;font-weight:700}.cal-mini-day:not(.other-month):hover{background:var(--color-background-secondary)}.cal-mini-day.today:hover{background:var(--accent-strong)}@media (width<=1100px){.cal-year-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=768px){.cal-year-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cal-week-grid{grid-template-columns:repeat(7,minmax(72px,1fr));overflow-x:auto}}@media (width<=520px){.cal-year-grid{grid-template-columns:1fr}.cal-scale-tabs{justify-content:stretch;width:100%}.cal-scale-tab{text-align:center;flex:1;padding-inline:8px}}.cal-nav-btn{border-radius:var(--radius-md);border:.5px solid var(--color-border-tertiary);background:var(--color-background-primary);cursor:pointer;width:32px;height:32px;color:var(--color-text-secondary);justify-content:center;align-items:center;font-size:18px;display:inline-flex}.cal-month-label{text-transform:capitalize;flex:1;margin:0;font-size:15px}.full-cal-grid{background:var(--color-border-tertiary);border:.5px solid var(--color-border-tertiary);border-radius:var(--radius-lg);grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.full-cal-dow{background:var(--color-background-secondary);color:var(--color-text-secondary);text-align:center;padding:10px 8px;font-size:11px;font-weight:500}.full-cal-day{background:var(--color-background-primary);text-align:left;cursor:pointer;border:none;min-height:88px;padding:8px}.full-cal-day:hover{background:var(--color-background-secondary)}.full-cal-day .day-num{color:var(--color-text-primary);margin-bottom:4px;font-size:12px;font-weight:500;display:block}.full-cal-day.today .day-num{color:#fff;background:var(--accent);border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;font-size:13px;display:inline-flex}.full-cal-day.other-month .day-num{color:var(--color-text-tertiary)}.cal-event-chip{white-space:nowrap;text-overflow:ellipsis;border-radius:4px;margin-top:4px;padding:2px 6px;font-size:10px;line-height:1.25;display:block;overflow:hidden}.cal-event-chip.blue{background:var(--accent-light);color:var(--accent-strong)}.cal-event-chip.green{color:#166534;background:#f0fdf4}.cal-event-chip.amber{color:#92400e;background:#fffbeb}.full-cal-day.empty-clickable:hover:after{content:"+";color:var(--accent);opacity:.7;font-size:16px;font-weight:300;line-height:1;position:absolute;top:6px;right:8px}.full-cal-day{position:relative}.mobile-page-wrap .program-open-page,.mobile-page-wrap .no-program-page{background:0 0;padding:0}.mobile-page-wrap .programs-home,.mobile-page-wrap .programs-calendar-home{width:100%;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none;background:0 0;border:none;border-radius:0;margin:0;padding:0}.mobile-page-wrap .calendar-full-wrap{box-shadow:none;background:0 0;border:none;border-radius:0;gap:8px;padding:0}.mobile-page-wrap .cal-toolbar{gap:8px}.mobile-page-wrap .cal-scale-tabs{grid-template-columns:repeat(4,minmax(0,1fr));width:100%}.mobile-page-wrap .cal-scale-tab{min-width:0;padding:7px 4px;font-size:11px}.mobile-page-wrap .cal-page-header{grid-template-columns:34px 1fr 34px;grid-template-areas:"prev label next""today today create";align-items:center;gap:6px;display:grid}.mobile-page-wrap .cal-page-header .cal-nav-btn:first-of-type{grid-area:prev}.mobile-page-wrap .cal-page-header .cal-nav-btn:nth-of-type(2){grid-area:next}.mobile-page-wrap .cal-month-label{text-align:center;letter-spacing:-.02em;overflow-wrap:anywhere;grid-area:label;min-width:0;margin:0;font-size:15px;line-height:1.2}.mobile-page-wrap .cal-today-btn{grid-area:today;justify-self:start;min-height:34px;padding:6px 12px;font-size:12px}.mobile-page-wrap .cal-page-header .ds-btn-primary{grid-area:create;justify-self:end;min-height:34px;padding:6px 10px;font-size:12px}.mobile-page-wrap .cal-nav-btn{width:34px;height:34px;font-size:16px}.mobile-page-wrap .cal-week-grid{grid-template-columns:repeat(7,minmax(0,1fr));min-height:320px;overflow:hidden}.mobile-page-wrap .cal-week-col-head{padding:8px 2px}.mobile-page-wrap .cal-week-col-dow{font-size:10px}.mobile-page-wrap .cal-week-col-num{width:24px;height:24px;font-size:12px}.mobile-page-wrap .cal-week-col-body{gap:3px;min-height:200px;padding:4px 2px}.mobile-page-wrap .cal-week-col-body .cal-event-chip{border-radius:4px;padding:2px 4px;font-size:9px}.mobile-page-wrap .cal-week-add{width:22px;height:22px;font-size:14px}.mobile-page-wrap .cal-day-view{border-radius:12px;overflow:hidden}.mobile-page-wrap .cal-day-hero{gap:10px;padding:10px 12px}.mobile-page-wrap .cal-day-hero-full{font-size:12px}.mobile-page-wrap .cal-day-timeline-wrap{scrollbar-width:none;max-height:calc(100dvh - 300px)}.mobile-page-wrap .cal-day-timeline-wrap::-webkit-scrollbar{width:0;height:0}.mobile-page-wrap .cal-day-timeline{grid-template-columns:42px 1fr}.mobile-page-wrap .cal-day-time-tick-label{font-size:9px;right:4px}.mobile-page-wrap .cal-day-timeline-event{border-left-width:3px;border-radius:8px;padding:5px 8px;left:5px;right:6px}.mobile-page-wrap .cal-day-event-time{font-size:10px}.mobile-page-wrap .cal-day-timeline-event strong{font-size:12px}.mobile-page-wrap .cal-day-empty-hint{padding:6px 10px;font-size:11px;top:12px}@media (width<=360px){.mobile-page-wrap .cal-scale-tab{padding:6px 3px;font-size:10px}.mobile-page-wrap .cal-month-label{font-size:14px}.mobile-page-wrap .cal-day-view-daynum{width:38px;height:38px;font-size:18px}.mobile-page-wrap .cal-day-timeline{grid-template-columns:38px 1fr}}.mobile-page-wrap .full-cal-grid{border-radius:calc(var(--radius-lg) + 2px);box-shadow:0 1px 2px #0f172a0d}.mobile-page-wrap .full-cal-dow{letter-spacing:.02em;padding:9px 4px;font-size:10px}.mobile-page-wrap .full-cal-day{flex-direction:column;align-items:flex-start;min-height:84px;padding:6px 5px;transition:background .15s;display:flex}.mobile-page-wrap .full-cal-day .day-num{margin-bottom:4px;font-size:13px;font-weight:600}.mobile-page-wrap .full-cal-day.today .day-num{width:24px;height:24px;font-size:12px}.mobile-page-wrap .cal-event-chip{text-align:left;cursor:pointer;appearance:none;background-clip:padding-box;border:none;border-radius:5px;width:100%;margin-top:3px;padding:2px 5px;font-size:10px;line-height:1.25}.mobile-page-wrap .cal-event-more{background:var(--color-background-secondary);color:var(--color-text-secondary);border-radius:999px;margin-top:3px;padding:1px 6px;font-size:10px;font-weight:600}@media (width<=420px){.mobile-page-wrap .calendar-full-wrap{padding:10px}.mobile-page-wrap .full-cal-day{min-height:76px;padding:6px 4px}.mobile-page-wrap .cal-event-chip{padding:2px 4px;font-size:9px}}.mobile-page-wrap .cal-m-month{gap:14px;display:grid}.mobile-page-wrap .cal-m-grid{touch-action:pan-y;-webkit-user-select:none;user-select:none;grid-template-columns:repeat(7,1fr);gap:2px 0;display:grid}.mobile-page-wrap .cal-m-dow{text-align:center;color:var(--color-text-tertiary);text-transform:uppercase;letter-spacing:.02em;padding-bottom:6px;font-size:11px;font-weight:600}.mobile-page-wrap .cal-m-day{aspect-ratio:1/1.15;cursor:pointer;font:inherit;-webkit-tap-highlight-color:transparent;background:0 0;border:none;border-radius:12px;flex-direction:column;justify-content:flex-start;align-items:center;gap:4px;padding-top:5px;display:flex;position:relative}.mobile-page-wrap .cal-m-num{width:32px;height:32px;color:var(--color-text-primary);border-radius:50%;justify-content:center;align-items:center;font-size:15px;font-weight:500;transition:background .18s,color .18s,transform .18s;display:inline-flex}.mobile-page-wrap .cal-m-day.other-month .cal-m-num{color:var(--color-text-tertiary);opacity:.45}.mobile-page-wrap .cal-m-day.selected .cal-m-num{background:var(--accent-light);color:var(--accent-strong);font-weight:700}.mobile-page-wrap .cal-m-day.today .cal-m-num{background:var(--accent);color:#fff;font-weight:700}.mobile-page-wrap .cal-m-day:active .cal-m-num{transform:scale(.9)}.mobile-page-wrap .cal-m-dots{align-items:center;gap:3px;height:6px;display:flex}.mobile-page-wrap .cal-m-dot{background:var(--accent);border-radius:50%;width:5px;height:5px}.mobile-page-wrap .cal-m-dot.green{background:#22c55e}.mobile-page-wrap .cal-m-dot.amber{background:#f59e0b}.mobile-page-wrap .cal-m-dot.blue{background:var(--accent)}.mobile-page-wrap .cal-m-agenda{border-top:1px solid var(--color-border-tertiary);gap:10px;padding-top:14px;animation:.25s both calFade;display:grid}.mobile-page-wrap .cal-m-agenda-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.mobile-page-wrap .cal-m-agenda-date{color:var(--color-text-primary);text-transform:capitalize;font-size:15px;font-weight:600}.mobile-page-wrap .cal-m-agenda-add{background:var(--accent-light);width:32px;height:32px;color:var(--accent-strong);cursor:pointer;border:none;border-radius:50%;flex-shrink:0;font-size:22px;line-height:1}.mobile-page-wrap .cal-m-agenda-empty{text-align:center;color:var(--color-text-tertiary);margin:0;padding:20px 0;font-size:14px}.mobile-page-wrap .cal-m-agenda-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.mobile-page-wrap .cal-m-agenda-item{text-align:left;border:none;border-left:3px solid var(--accent);background:var(--color-background-primary);cursor:pointer;width:100%;font:inherit;border-radius:10px;gap:3px;padding:12px 14px;display:grid;box-shadow:0 1px 2px #0f172a0d}.mobile-page-wrap .cal-m-agenda-item.green{border-left-color:#22c55e}.mobile-page-wrap .cal-m-agenda-item.amber{border-left-color:#f59e0b}.mobile-page-wrap .cal-m-agenda-item.blue{border-left-color:var(--accent)}.mobile-page-wrap .cal-m-agenda-time{color:var(--accent);font-size:12px;font-weight:600}.mobile-page-wrap .cal-m-agenda-title{color:var(--color-text-primary);font-size:15px;font-weight:600}.mobile-page-wrap .cal-m-agenda-place{color:var(--color-text-secondary);font-size:12px}.cal-modal-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:200;pointer-events:auto;background:#0f172a59;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.cal-modal{background:var(--bg);border:1px solid var(--border);pointer-events:auto;border-radius:16px;flex-direction:column;width:100%;max-width:460px;max-height:min(92dvh,760px);display:flex;overflow:hidden;box-shadow:0 20px 60px #0000001f,0 4px 16px #0000000f}.cal-modal-head{align-items:flex-start;gap:12px;padding:20px 20px 0;display:flex}.cal-modal-icon{flex-shrink:0;margin-top:2px;font-size:28px;line-height:1}.cal-modal-title{color:var(--text-h);margin:0;font-size:17px;font-weight:600;line-height:1.2}.cal-modal-sub{color:var(--text);margin:3px 0 0;font-size:12px}.cal-modal-close{background:var(--color-background-tertiary);cursor:pointer;width:28px;height:28px;color:var(--text);border:none;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;margin-left:auto;font-size:16px;line-height:1;display:inline-flex}.cal-modal-close:hover{background:var(--border)}.cal-modal-body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex-direction:column;flex:1;gap:12px;min-height:0;padding:16px 20px;display:flex;overflow-y:auto}.cal-modal-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.cal-modal-field{flex-direction:column;gap:4px;display:flex}.cal-modal-field span{color:var(--text);font-size:12px;font-weight:500}.cal-modal-field input,.cal-modal-field select,.cal-modal-field textarea{border:1px solid var(--border);background:var(--color-background-secondary);color:var(--text-h);font:inherit;box-sizing:border-box;border-radius:8px;outline:none;width:100%;padding:8px 10px;font-size:13px;transition:border-color .15s}.cal-modal-field input:focus,.cal-modal-field select:focus,.cal-modal-field textarea:focus{border-color:var(--accent);background:var(--bg)}.lib-create-modal{max-width:540px}.lib-drop-zone{border:2px dashed var(--border);background:var(--color-background-secondary);border-radius:10px;min-height:80px;padding:16px;transition:border-color .15s,background .15s}:is(.lib-drop-zone:has(input[type=file]):hover,.lib-drop-zone:focus-within){border-color:var(--accent);background:var(--bg)}.lib-drop-zone:empty-state{flex-direction:column;align-items:center;gap:6px;display:flex}.lib-drop-icon{text-align:center;font-size:22px;display:block}.lib-drop-hint{color:var(--text);text-align:center;margin:4px 0 8px;font-size:12px;display:block}.lib-drop-pick{cursor:pointer;margin:0 auto;padding:6px 14px;font-size:12px;display:inline-block}.lib-drop-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.lib-drop-item{background:var(--bg);border:1px solid var(--border);border-radius:6px;align-items:center;gap:8px;padding:5px 8px;font-size:12px;display:flex}.lib-drop-item-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--text-h);flex:1;overflow:hidden}.lib-drop-item-size{color:var(--text);flex-shrink:0}.lib-drop-item-remove{color:var(--text);cursor:pointer;background:0 0;border:none;flex-shrink:0;padding:0 2px;font-size:14px;line-height:1}.lib-drop-item-remove:hover{color:#dc2626}.lib-drop-add{margin-top:4px}.lib-drop-add-btn{color:var(--accent);cursor:pointer;padding:4px 0;font-size:12px;display:inline-block}.lib-preview-backdrop{z-index:210}.lib-preview-modal{flex-direction:column;max-width:min(920px,96vw);max-height:90vh;display:flex}.lib-preview-body{flex:1;min-height:0;padding:16px 20px;overflow:auto}.lib-preview-status{color:var(--text);margin:0;font-size:13px}.lib-preview-song-layout{grid-template-columns:220px 1fr;gap:14px;min-height:280px;display:grid}.lib-preview-song-list{flex-direction:column;gap:6px;max-height:420px;display:flex;overflow-y:auto}.lib-preview-song-item{border:1px solid var(--border);background:var(--color-background-secondary);cursor:pointer;text-align:left;font:inherit;color:inherit;border-radius:8px;flex-direction:column;align-items:flex-start;gap:4px;padding:8px 10px;display:flex}.lib-preview-song-item.active{border-color:var(--accent);background:var(--bg)}.lib-preview-song-item span{color:var(--text);-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:11px;line-height:1.35;display:-webkit-box;overflow:hidden}.lib-preview-song-main{border:1px solid var(--border);background:var(--color-background-secondary);border-radius:10px;min-height:280px;padding:14px}.lib-preview-song-heading{color:var(--text-h);margin:0 0 10px;font-size:15px}.lib-preview-song-text{white-space:pre-wrap;color:var(--text-h);margin:0;font-family:inherit;font-size:14px;line-height:1.55}.lib-preview-slideshow-layout{flex-direction:column;gap:12px;display:flex}.lib-preview-slide-stage{border:1px solid var(--border);background:#111;border-radius:10px;justify-content:center;align-items:center;min-height:320px;max-height:50vh;display:flex;overflow:hidden}.lib-preview-slide-stage img{object-fit:contain;max-width:100%;max-height:50vh}.lib-preview-slide-thumbs{gap:8px;padding-bottom:4px;display:flex;overflow-x:auto}.lib-preview-slide-thumb{cursor:pointer;background:var(--color-background-tertiary);border:2px solid #0000;border-radius:6px;flex-shrink:0;width:88px;height:56px;padding:0;overflow:hidden}.lib-preview-slide-thumb.active{border-color:var(--accent)}.lib-preview-slide-thumb img{object-fit:cover;width:100%;height:100%;display:block}.lib-preview-modal-media{max-width:min(960px,96vw)}.lib-preview-loading{justify-items:center;gap:12px;padding:32px 16px;display:grid}.lib-preview-media-layout{gap:14px;display:grid}.lib-preview-media-player{border:1px solid var(--border);background:repeating-conic-gradient(#7d7d7d0f 0% 25%, transparent 0% 50%) 50% / 22px 22px, var(--color-background-secondary);border-radius:12px;overflow:hidden}.lib-preview-audio{background:var(--bg);width:100%;padding:16px;display:block}.lib-preview-video{background:#0f172a;width:100%;max-height:min(62vh,520px);display:block}.lib-preview-media-desc{color:var(--text);margin:0;font-size:13px;line-height:1.45}@media (width<=720px){.lib-preview-song-layout{grid-template-columns:1fr}.lib-preview-song-list{flex-direction:row;max-height:160px;overflow-x:auto}.lib-preview-song-item{min-width:140px}}.cal-modal-error{color:#dc2626;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;margin:0 20px;padding:8px 12px;font-size:12px}.cal-modal-footer{border-top:1px solid var(--border);flex-shrink:0;gap:8px;margin-top:4px;padding:12px 20px 20px;display:flex}@media (width<=640px){.cal-modal-backdrop{overscroll-behavior:contain;justify-content:stretch;align-items:stretch;padding:0;overflow:hidden}.cal-modal{width:100%;max-width:none;height:100%;max-height:100%;box-shadow:none;border:none;border-radius:0;flex-direction:column;min-height:0;display:flex}.cal-modal-head{padding:max(10px, env(safe-area-inset-top)) 14px 10px;border-bottom:1px solid var(--border);background:var(--bg);flex:none}.cal-modal-body{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;flex:auto;min-height:0;padding:12px 14px;overflow-y:auto}.cal-modal-row{grid-template-columns:1fr}.cal-modal-error{flex:none;margin:0 14px}.cal-modal-footer{padding:10px 14px max(14px, env(safe-area-inset-bottom));background:var(--bg);border-top:1px solid var(--border);flex:none;margin-top:0}}.cal-modal-btn-primary{background:var(--accent);color:#fff;font:inherit;cursor:pointer;border:none;border-radius:8px;flex:1;padding:9px 16px;font-size:13px;font-weight:500;transition:opacity .15s}.cal-modal-btn-primary:disabled{opacity:.55;cursor:not-allowed}.cal-modal-btn-ghost{color:var(--text);border:1px solid var(--border);font:inherit;cursor:pointer;background:0 0;border-radius:8px;padding:9px 16px;font-size:13px}.cal-modal-btn-ghost:hover{background:var(--color-background-secondary)}.mobile-shell{background:var(--color-background-tertiary);flex-direction:column;flex:1;width:100%;max-width:none;min-height:0;margin:0;display:flex}.mobile-header{background:var(--color-background-primary);box-sizing:border-box;border-bottom:.5px solid var(--color-border-tertiary);flex-shrink:0;width:100%;padding:12px 12px 16px}.mobile-header-top{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.mobile-greeting{color:var(--color-text-secondary);font-size:13px}.mobile-hname{letter-spacing:-.3px;color:var(--color-text-primary);font-size:20px;font-weight:500}.mobile-header-actions{align-items:center;gap:10px;display:flex}.mobile-bell-btn{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:none;padding:4px;display:flex;position:relative}.mobile-bell-btn svg{width:22px;height:22px}.mobile-bell-dot{border:1.5px solid var(--color-background-primary);background:#e24b4a;border-radius:50%;width:7px;height:7px;position:absolute;top:2px;right:2px}.mobile-login-btn{background:var(--accent);color:#fff;min-height:36px;font:inherit;cursor:pointer;white-space:nowrap;border:none;border-radius:8px;padding:0 14px;font-size:14px;font-weight:500}.mobile-login-btn:hover{filter:brightness(1.05)}.mobile-avatar{background:var(--accent-light);width:40px;height:40px;color:var(--accent-strong);cursor:pointer;border:none;border-radius:50%;justify-content:center;align-items:center;font-family:inherit;font-size:13px;font-weight:500;display:flex}.mobile-notif-row{background:var(--color-background-secondary);border-radius:var(--border-radius-md);text-align:left;cursor:pointer;width:100%;font:inherit;color:inherit;border:none;align-items:center;gap:8px;padding:10px 12px;display:flex}.mobile-notif-dot{background:var(--accent);border-radius:50%;flex-shrink:0;width:7px;height:7px}.mobile-notif-text{color:var(--color-text-secondary);flex:1;font-size:12px}.mobile-body{-webkit-overflow-scrolling:touch;flex:1;min-height:0;overflow:auto}.mobile-body--flush{padding:0}.mobile-tabbar{background:var(--color-background-primary);border-top:.5px solid var(--color-border-tertiary);padding:8px 0 calc(8px + env(safe-area-inset-bottom,0px));z-index:10;flex-shrink:0;display:flex}.mobile-tab{cursor:pointer;font:inherit;color:var(--color-text-tertiary);background:0 0;border:none;flex-direction:column;flex:1;align-items:center;gap:3px;padding:6px 0;display:flex}.mobile-tab svg{width:22px;height:22px}.mobile-tab-label{font-size:10px}.mobile-tab.active{color:var(--accent)}.mobile-tab.active .mobile-tab-label{font-weight:500}.mobile-tab-dot{background:var(--accent);border-radius:50%;width:4px;height:4px;margin-top:-4px}.mobile-admin-shell{background:var(--color-background-tertiary);flex-direction:column;flex:1;min-height:0;display:flex}.mobile-admin-header{padding:max(10px, env(safe-area-inset-top)) max(12px, env(safe-area-inset-right)) 10px max(12px, env(safe-area-inset-left));background:var(--color-background-primary);border-bottom:.5px solid var(--color-border-tertiary);flex-shrink:0;align-items:center;gap:10px;display:flex}.mobile-admin-back{color:var(--accent);font:inherit;cursor:pointer;white-space:nowrap;background:0 0;border:none;padding:6px 4px;font-size:14px;font-weight:500}.mobile-admin-title{color:var(--color-text-primary);margin:0;font-size:16px;font-weight:600}.mobile-admin-body{-webkit-overflow-scrolling:touch;flex:1;min-height:0;padding:12px;overflow:auto}.mobile-admin-body .admin-inline-tabs{margin-bottom:12px}.mobile-page-wrap{min-height:100%;padding:10px 10px 12px}.mobile-page-wrap h1,.mobile-page-wrap .programs-calendar-page{font-size:inherit}.mobile-page-wrap>.program-open-page.no-program-page{background:0 0!important;gap:8px!important;padding:0!important}.mobile-page-wrap>.program-open-page.no-program-page>.programs-home.programs-calendar-home{width:100%!important;box-shadow:none!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;background:0 0!important;border:none!important;border-radius:0!important;margin:0!important;padding:0!important}.mobile-section{padding:16px 20px 0}.mobile-guest-banner{border-radius:var(--border-radius-lg);background:var(--accent-light);border:1px solid #c7d2fe;gap:10px;margin:16px 20px 0;padding:14px 16px;display:grid}.mobile-guest-banner p{color:#3730a3;margin:0;font-size:14px;line-height:1.45}.mobile-guest-login-btn{background:var(--accent);color:#fff;font:inherit;cursor:pointer;border:none;border-radius:8px;justify-self:start;padding:8px 14px;font-size:14px;font-weight:500}.mobile-sec-head{justify-content:space-between;align-items:center;margin-bottom:10px;display:flex}.mobile-sec-title{color:var(--color-text-secondary);letter-spacing:.2px;font-size:13px;font-weight:500}.mobile-sec-link{color:var(--accent);cursor:pointer;font-size:12px;font:inherit;background:0 0;border:none;padding:0}.mobile-next-event{background:var(--color-background-primary);border:.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-lg);text-align:left;cursor:pointer;width:100%;font:inherit;color:inherit;align-items:center;gap:14px;padding:14px 16px;display:flex}.mobile-event-date-box{background:var(--accent-light);border-radius:var(--border-radius-md);flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;width:44px;height:44px;display:flex}.mobile-eday{color:var(--accent-strong);font-size:18px;font-weight:500;line-height:1}.mobile-emon{color:var(--accent-mid);text-transform:uppercase;letter-spacing:.5px;font-size:10px;font-weight:500}.mobile-event-info{flex:1;min-width:0}.mobile-event-name{color:var(--color-text-primary);font-size:14px;font-weight:500}.mobile-event-sub{color:var(--color-text-secondary);align-items:center;gap:4px;margin-top:2px;font-size:12px;display:flex}.mobile-event-sub svg{flex-shrink:0;width:12px;height:12px}.mobile-next-event>svg{width:18px;height:18px;color:var(--color-text-tertiary);flex-shrink:0}.mobile-quick-grid{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.mobile-qcard{background:var(--color-background-primary);border:.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-lg);cursor:pointer;font:inherit;text-align:left;color:inherit;border-width:.5px;width:100%;padding:14px}.mobile-qcard-icon{border-radius:var(--border-radius-md);justify-content:center;align-items:center;width:36px;height:36px;margin-bottom:10px;display:flex}.mobile-qcard-icon svg{width:18px;height:18px}.mobile-qcard-icon.purple{background:var(--accent-light);color:var(--accent-strong)}.mobile-qcard-icon.green{background:var(--color-media-slides-bg);color:var(--color-media-slides-text)}.mobile-qcard-icon.amber{background:var(--color-media-audio-bg);color:var(--color-media-audio-text)}.mobile-qcard-icon.red{background:var(--color-media-video-bg);color:var(--color-media-video-text)}.mobile-qcard-label{font-size:13px;font-weight:500}.mobile-qcard-sub{color:var(--color-text-secondary);margin-top:2px;font-size:11px}.mobile-events-mini{flex-direction:column;gap:8px;display:flex}.mobile-em-item{background:var(--color-background-primary);border:.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-md);cursor:pointer;text-align:left;width:100%;font:inherit;color:inherit;align-items:center;gap:10px;padding:10px 12px;display:flex}.mobile-em-stripe{border-radius:2px;flex-shrink:0;width:3px;height:32px}.mobile-em-stripe.blue{background:var(--accent)}.mobile-em-stripe.green{background:#059669}.mobile-em-stripe.amber{background:#d97706}.mobile-em-text{flex:1;min-width:0}.mobile-em-name{font-size:13px;font-weight:500}.mobile-em-when{color:var(--color-text-secondary);margin-top:1px;font-size:11px}.mobile-em-type{border-radius:8px;flex-shrink:0;padding:2px 7px;font-size:10px;font-weight:500}.mobile-em-type.bog{background:var(--accent-light);color:var(--accent-strong)}.mobile-em-type.rep{background:var(--color-media-slides-bg);color:var(--color-media-slides-text)}.mobile-em-type.mol{background:var(--color-media-audio-bg);color:var(--color-media-audio-text)}.mobile-lib-scroll{scrollbar-width:none;gap:10px;padding-bottom:4px;display:flex;overflow-x:auto}.mobile-lib-scroll::-webkit-scrollbar{display:none}.mobile-lib-card{background:var(--color-background-primary);border:.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-lg);cursor:pointer;min-width:130px;font:inherit;text-align:left;color:inherit;border-width:.5px;flex-shrink:0;padding:12px}.mobile-lib-thumb{border-radius:var(--border-radius-md);justify-content:center;align-items:center;width:100%;height:70px;margin-bottom:8px;display:flex}.mobile-lib-thumb svg{width:28px;height:28px}.mobile-lib-thumb.s{background:var(--accent-light);color:var(--accent-mid)}.mobile-lib-thumb.sl{background:var(--color-media-slides-bg);color:var(--color-media-slides-text)}.mobile-lib-thumb.a{background:var(--color-media-audio-bg);color:var(--color-media-audio-text)}.mobile-lib-thumb.v{background:var(--color-media-video-bg);color:var(--color-media-video-text)}.mobile-lib-name{white-space:nowrap;text-overflow:ellipsis;font-size:12px;font-weight:500;overflow:hidden}.mobile-lib-meta{color:var(--color-text-secondary);margin-top:2px;font-size:10px}.mobile-profile{padding:10px 8px}.mobile-profile-card{background:var(--color-background-primary);border:.5px solid var(--color-border-tertiary);border-radius:var(--border-radius-lg);text-align:center;margin-bottom:16px;padding:20px}.mobile-profile-avatar{background:var(--accent-light);width:72px;height:72px;color:var(--accent-strong);border-radius:50%;justify-content:center;align-items:center;margin:0 auto 12px;font-size:22px;font-weight:600;display:flex}.mobile-profile-name{font-size:18px;font-weight:500}.mobile-profile-role{color:var(--color-text-secondary);margin-top:4px;font-size:13px}.mobile-profile-admin{margin-bottom:16px}.mobile-profile-admin-title{color:var(--color-text-secondary);text-transform:uppercase;letter-spacing:.4px;margin:0 0 10px;font-size:13px;font-weight:600}.mobile-profile-admin-links{flex-direction:column;gap:8px;display:flex}.mobile-profile-admin-link{border-radius:var(--border-radius-md);border:.5px solid var(--color-border-tertiary);background:var(--color-background-primary);width:100%;font:inherit;text-align:left;color:var(--color-text-primary);cursor:pointer;padding:12px 14px;font-size:14px;font-weight:500}.mobile-profile-admin-link:active{border-color:var(--accent);background:var(--accent-light);color:var(--accent-strong)}.mobile-logout-btn{border-radius:var(--border-radius-md);border:.5px solid var(--color-border-tertiary);background:var(--color-background-primary);width:100%;font:inherit;color:#dc2626;cursor:pointer;padding:12px;font-size:14px}.mobile-admin-body .admin-section{max-width:none;padding:0}.mobile-admin-body .admin-content-header{display:none}.mobile-admin-body .admin-inline-tabs{background:var(--color-background-secondary,#f4f4ef);border:none;border-radius:12px;grid-template-columns:repeat(3,minmax(0,1fr));gap:4px;margin:0 0 14px;padding:4px;display:grid}.mobile-admin-body .admin-inline-tab{text-align:center;color:var(--color-text-secondary);-webkit-hyphens:auto;hyphens:auto;border:none;border-radius:9px;padding:10px 4px;font-size:11px;font-weight:600;line-height:1.25}.mobile-admin-body .admin-inline-tab.active{background:var(--color-background-primary,#fff);color:var(--accent);box-shadow:0 1px 3px #0f172a14}.mobile-admin-body .admin-users-actions-row{justify-content:stretch;margin-bottom:12px}.mobile-admin-body .admin-users-actions-row .admin-btn-primary{width:100%;min-height:44px;font-size:15px}.mobile-admin-body .admin-toolbar{flex-direction:column;align-items:stretch;gap:8px;margin-bottom:12px}.mobile-admin-body .admin-toolbar .admin-search{width:100%;min-height:44px;font-size:16px}.mobile-admin-body .admin-toolbar .admin-btn{width:100%;min-height:44px}.mobile-admin-body .admin-alert{margin-bottom:12px;font-size:14px;line-height:1.4}.mobile-admin-body .admin-subsection{margin-top:20px}.mobile-admin-body .admin-subsection-title{margin-bottom:10px;font-size:15px}.mobile-admin-body .admin-table-wrap,.mobile-admin-body .admin-table-wrap--elevated{background:0 0;border:none;border-radius:0;overflow:visible}.mobile-admin-body .admin-table{width:100%;display:block}.mobile-admin-body .admin-table thead{display:none}.mobile-admin-body .admin-table tbody{flex-direction:column;gap:10px;display:flex}.mobile-admin-body .admin-table tbody tr{border:.5px solid var(--color-border-tertiary,#e7e5e4);background:var(--color-background-primary,#fff);border-radius:14px;padding:14px;display:block;box-shadow:0 1px 2px #0f172a0a}.mobile-admin-body .admin-table tbody tr:only-child td.admin-muted,.mobile-admin-body .admin-table tbody tr td[colspan]{text-align:center;padding:12px 0;display:block}.mobile-admin-body .admin-table tbody tr td[colspan]:before{display:none}.mobile-admin-body .admin-table tbody td{text-align:right;border:none;justify-content:space-between;align-items:flex-start;gap:12px;padding:7px 0;font-size:14px;display:flex}.mobile-admin-body .admin-table tbody td:before{content:attr(data-label);letter-spacing:.03em;text-transform:uppercase;max-width:42%;color:var(--color-text-secondary,#78716c);text-align:left;flex:none;padding-top:2px;font-size:11px;font-weight:600;line-height:1.35}.mobile-admin-body .admin-table tbody td[data-label=""]:before,.mobile-admin-body .admin-table tbody td.admin-table-primary:before,.mobile-admin-body .admin-table tbody td.admin-table-actions:before{display:none}.mobile-admin-body .admin-table tbody td.admin-table-primary{text-align:left;color:var(--color-text-primary);padding-top:0;padding-bottom:4px;font-size:16px;font-weight:600;display:block}.mobile-admin-body .admin-table tbody td.admin-table-sub{text-align:left;color:var(--color-text-secondary);word-break:break-word;padding-top:0;font-size:13px;display:block}.mobile-admin-body .admin-table tbody td.admin-table-sub:before{display:none}.mobile-admin-body .admin-table tbody td.admin-role-cell-wrap{text-align:left;flex-direction:column;align-items:stretch}.mobile-admin-body .admin-table tbody td.admin-role-cell-wrap:before{margin-bottom:4px}.mobile-admin-body .admin-table tbody td.admin-role-cell-wrap .admin-role-cell{flex-direction:column;align-items:flex-start;width:100%}.mobile-admin-body .admin-table tbody td.admin-role-cell-wrap .admin-select-inline{width:100%;max-width:none;min-height:40px;font-size:15px}.mobile-admin-body .admin-table tbody td.admin-row-actions,.mobile-admin-body .admin-table tbody td.admin-table-actions{border-top:.5px solid var(--color-border-tertiary,#e7e5e4);flex-direction:column;align-items:stretch;gap:8px;margin-top:4px;padding-top:10px}.mobile-admin-body .admin-table tbody td.admin-row-actions .admin-btn,.mobile-admin-body .admin-table tbody td.admin-table-actions .admin-btn{justify-content:center;width:100%;min-height:40px}.mobile-admin-body .admin-table tbody td.admin-invite-link-cell{text-align:left;flex-direction:column;align-items:stretch}.mobile-admin-body .admin-table tbody td.admin-invite-link-cell .admin-invite-code{word-break:break-all;text-align:left;margin-bottom:8px;font-size:12px;display:block}.mobile-admin-body .admin-table tbody td.admin-invite-link-cell .admin-btn{width:100%}.mobile-admin-body .admin-table tbody td.admin-rights-summary-cell{text-align:left;flex-direction:column;align-items:stretch;max-width:none}.mobile-admin-body .admin-table tbody td.admin-rights-summary-cell:before{margin-bottom:4px}.mobile-admin-body .admin-table tbody td.admin-theme-meta{text-align:left;flex-direction:column;align-items:flex-start}.mobile-admin-body .admin-table tbody td.admin-theme-meta .admin-theme-swatch{margin-bottom:4px}.mobile-admin-body .admin-table tbody td.admin-theme-bg-names{text-align:left;word-break:break-word}.mobile-admin-body .admin-modal-overlay{background:#0f172a73;justify-content:stretch;align-items:flex-end;padding:0}.mobile-admin-body .admin-form-modal,.mobile-admin-body .admin-role-modal{border-bottom:none;border-left:none;border-right:none;border-radius:16px 16px 0 0;width:100%;max-width:none;max-height:min(92dvh,92vh);margin:0}.mobile-admin-body .admin-form-modal-header,.mobile-admin-body .admin-role-modal-header{padding:16px 16px 10px;padding-top:max(16px, env(safe-area-inset-top))}.mobile-admin-body .admin-form-modal-body,.mobile-admin-body .admin-role-modal-body{padding:0 16px 12px}.mobile-admin-body .admin-form-modal-footer,.mobile-admin-body .admin-role-modal-footer{padding:12px 16px max(16px, env(safe-area-inset-bottom));grid-template-columns:1fr 1fr;gap:10px;display:grid}.mobile-admin-body .admin-form-modal-footer .admin-btn,.mobile-admin-body .admin-role-modal-footer .admin-btn{width:100%;min-height:44px}.mobile-admin-body .admin-form-field input,.mobile-admin-body .admin-form-field select,.mobile-admin-body .admin-role-title-field input,.mobile-admin-body .admin-role-title-field select{min-height:44px;font-size:16px}.mobile-admin-body .admin-invite-url-box{flex-direction:column;gap:10px}.mobile-admin-body .admin-invite-url-box .admin-input{width:100%;min-height:44px;font-size:14px}.mobile-admin-body .admin-invite-url-box .admin-btn{width:100%;min-height:44px}.mobile-admin-body .access-rights-group-head{flex-direction:column;align-items:flex-start}.mobile-admin-body .access-rights-actions-grid{grid-template-columns:1fr 1fr;gap:8px;display:grid}.mobile-admin-body .access-rights-action-item{border-radius:10px;justify-content:flex-start;padding:10px;font-size:12px}.mobile-admin-body .admin-theme-fields-grid{grid-template-columns:1fr}.loc-admin{gap:24px;max-width:1100px;display:grid}.loc-admin-header h1{color:var(--text-h);margin:0;font-size:24px;font-weight:700}.loc-admin-header p{max-width:720px;color:var(--text);margin:6px 0 0;font-size:14px;line-height:1.5}.loc-card{border:1px solid var(--border);background:var(--bg);box-shadow:var(--shadow);border-radius:16px;overflow:hidden}.loc-card-head{border-bottom:1px solid var(--border);align-items:baseline;gap:8px;padding:16px 20px;display:flex}.loc-card-head h2{color:var(--text-h);margin:0;font-size:17px;font-weight:650}.loc-card-count{color:var(--accent);background:var(--accent-bg);border:1px solid var(--accent-border);border-radius:999px;padding:1px 9px;font-size:13px;font-weight:600}.loc-form{border-bottom:1px solid var(--border);background:var(--code-bg);flex-wrap:wrap;gap:10px;padding:16px 20px;display:flex}.loc-form .admin-input,.loc-form .admin-select{flex:180px;min-width:0}.loc-form .admin-btn{flex:none}.loc-table-wrap{overflow-x:auto}.loc-table{border-collapse:collapse;width:100%;font-size:14px}.loc-table th,.loc-table td{text-align:left;vertical-align:middle;border-bottom:1px solid var(--border);padding:12px 20px}.loc-table thead th{text-transform:uppercase;letter-spacing:.04em;color:var(--text);background:var(--code-bg);font-size:12px;font-weight:600}.loc-table tbody tr:last-child td{border-bottom:none}.loc-table tbody tr:hover{background:var(--accent-bg)}.loc-table-primary{color:var(--text-h);font-weight:600}.loc-pairing-code{letter-spacing:.12em;color:var(--text-h);background:var(--code-bg);border:1px solid var(--border);border-radius:6px;padding:2px 8px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:14px;font-weight:600}.loc-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.loc-empty{text-align:center;color:var(--text);margin:0;padding:24px 20px;font-size:14px}@media (width<=720px){.loc-form{flex-direction:column;align-items:stretch}.loc-form .admin-btn{width:100%}.loc-actions{justify-content:flex-start}}
