: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);--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;--shadow:0 4px 12px #0006}}: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-logo{color:var(--text-h);cursor:pointer;font:inherit;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;padding:4px 6px;display:inline-flex}.site-header-logo:hover{background:var(--accent-bg)}.site-header-logo-mark{width:36px;height:36px;color:var(--accent);background:var(--accent-bg);border:1px solid var(--accent-border);border-radius:10px;justify-content:center;align-items:center;font-size:18px;font-weight:700;display:inline-flex}.site-header-logo-text{letter-spacing:.02em;font-size:18px;font-weight:700}.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}@media (width<=560px){.admin-theme-fields-grid{grid-template-columns:1fr}}@media (prefers-color-scheme:dark){.admin-table th{background:#1f2129}.admin-select{color:#f3f4f6;background:#1b1d24;border-color:#3f4351}}.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:#111827;white-space:nowrap;font-size:14px;font-weight:500}.app-topbar-user-btn{color:#374151;cursor:pointer;background:#f9fafb;border:1px solid #e5e7eb;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;padding:0;transition:border-color .15s,background .15s,color .15s;display:inline-flex}.app-topbar-user-btn:hover,.app-topbar-user-btn.active{color:#6b4f2a;background:#faf6f0;border-color:#d4b896}.app-topbar-close-btn{color:#6b4f2a;cursor:pointer;background:#fff;border:1px solid #d4b896;border-radius:50%;justify-content:center;align-items:center;width:40px;height:40px;padding:0;font-size:22px;line-height:1;display:inline-flex}.app-topbar-close-btn:hover{background:#faf6f0}.app-nav-dropdown{z-index:220;background:#fff;border:.5px solid #e8eaef;border-radius:16px;width:min(320px,100vw - 32px);max-height:min(70vh,560px);padding:16px 18px 18px;position:absolute;top:calc(100% + 10px);right:0;overflow-y:auto;box-shadow:0 12px 40px #0f172a1f,0 2px 8px #0f172a0f}.app-nav-block{padding:0}.app-nav-section{letter-spacing:.1em;text-transform:uppercase;color:#9ca3af;margin:8px 0 6px;font-size:10px;font-weight:500}.app-nav-group{letter-spacing:.06em;text-transform:uppercase;color:#111827;margin:8px 0 4px;font-size:11px;font-weight:700}.app-nav-divider{border:none;border-top:.5px solid #eef0f4;margin:12px 0}.app-nav-link{cursor:pointer;width:100%;font:inherit;color:#111827;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:#4b5563;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-brand{cursor:pointer;font:inherit;color:inherit;background:0 0;border:none;flex-shrink:0;align-items:center;gap:10px;padding:0;display:inline-flex}.app-topbar-brand-mark{background:linear-gradient(135deg, var(--accent) 0%, var(--accent-strong) 100%);color:#fff;border-radius:10px;flex-shrink:0;justify-content:center;align-items:center;width:36px;height:36px;display:inline-flex;box-shadow:0 2px 6px #9c7b4647}.app-topbar-brand-text{text-align:left;flex-direction:column;line-height:1.1;display:flex}.app-topbar-brand-text strong{letter-spacing:-.2px;color:var(--color-text-primary);font-size:15px;font-weight:700}.app-topbar-brand-text small{letter-spacing:.18em;text-transform:uppercase;color:var(--accent);font-size:10px;font-weight:600}.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}.app-topbar-brand-text 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{color:#92400e;background:#f59e0b1a;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-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-preview{border:1px solid var(--border);background:#111827;border-radius:8px;min-height:120px;max-height:min(42vh,360px);overflow:hidden}.slideshow-create-preview img{object-fit:contain;width:100%;max-height:min(42vh,360px);display:block}.slideshow-create-top{grid-template-columns:minmax(0,1fr) minmax(0,1.8fr);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{text-align:center;color:var(--text);border:1px dashed #4b5567;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:#3b82f6;box-shadow:inset 0 0 0 1px #3b82f666}.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{color:var(--text-h);text-align:center;background:#2b303c;border:1px dashed #4b5567;border-radius:8px;place-items:center;padding:12px;font-size:32px;display:grid}.slideshow-dropzone span{font-size:36px;font-weight:500}.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-preview,.slideshow-create-modal.is-mobile .slideshow-create-preview img{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{flex:0 0 44%;grid-template-columns:minmax(0,1.5fr) minmax(110px,1fr);gap:10px;min-height:0;display:grid}.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}.bible-pane-title{letter-spacing:.04em;text-transform:uppercase;color:var(--text);font-size:11px;font-weight:700}.bible-book-list{flex-direction:column;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{grid-template-columns:repeat(auto-fill,minmax(38px,1fr));align-content:start;gap:5px;max-height:100%;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{flex:56%;min-height: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;gap:2px;min-height:0;max-height:100%;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{flex:none;grid-template-columns:1fr}}.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{color:#1d2433;--opw-purple:#6d4aff;--opw-purple-dark:#5b39e6;background:#f4f5fa;flex-direction:column;height:100%;min-height:0;font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,sans-serif;display:flex}.opw-appbar{color:#e7e9f1;background:#181c2a;flex:0 0 58px;align-items:center;gap:14px;height:58px;padding:0 18px;display:flex}.opw-appbar-back{color:#c6cad8;cursor:pointer;background:#ffffff0f;border:0;border-radius:8px;justify-content:center;align-items:center;width:30px;height:30px;transition:background .15s,color .15s;display:inline-flex}.opw-appbar-back:hover{color:#fff;background:#ffffff1f}.opw-brand{align-items:center;gap:9px;display:inline-flex}.opw-brand-mark{color:var(--opw-purple);display:inline-flex}.opw-brand strong{letter-spacing:.2px;color:#fff;font-size:15px;font-weight:700}.opw-nav{align-items:center;gap:4px;margin-left:18px;display:inline-flex}.opw-nav button{color:#9aa0b4;cursor:pointer;background:0 0;border:0;border-radius:9px;align-items:center;gap:7px;height:34px;padding:0 14px;font-size:13.5px;font-weight:600;transition:background .15s,color .15s;display:inline-flex}.opw-nav button:hover{color:#e7e9f1;background:#ffffff0d}.opw-nav button.active{color:#c7b8ff;cursor:default;background:#6d4aff38}.opw-appbar-right{align-items:center;gap:12px;margin-left:auto;display:inline-flex}.opw-conn-dot{background:#6b7280;border-radius:50%;width:8px;height:8px}.opw-conn-dot.connected{background:#34d399;box-shadow:0 0 0 3px #34d3992e}.opw-conn-dot.disconnected{background:#f87171;box-shadow:0 0 0 3px #f871712e}.opw-time{font-variant-numeric:tabular-nums;color:#cfd3e0;background:#0f1320;border-radius:8px;padding:7px 12px;font-size:13px;font-weight:600}.opw-stage-btn{background:var(--opw-purple);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 #6d4aff66}.opw-stage-btn:hover{background:var(--opw-purple-dark)}.opw-stage-btn:active{transform:translateY(1px)}.opw-stage-btn:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.opw-user-chip{color:#fff;background:linear-gradient(135deg,#6d4aff,#9d7bff);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:#fff;border:1px solid #ebedf3;border-radius:16px;flex-direction:column;min-height:0;display:flex;box-shadow:0 1px 2px #1018280a}.opw-blocks-panel{padding:16px;overflow-y:auto}.opw-add-main-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#6d4aff 0%,#8a63ff 100%);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 #6d4aff52}.opw-add-main-btn:hover{box-shadow:0 8px 20px #6d4aff6b}.opw-add-main-btn:active{transform:translateY(1px)}.opw-add-main-btn:disabled{opacity:.5;cursor:not-allowed}.opw-panel-label{letter-spacing:.8px;text-transform:uppercase;color:#98a0b3;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:#f5f3ff}.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:#2b3245;font-size:13.5px;font-weight:600}.opw-type-text small{color:#98a0b3;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{color:#6d4aff;background:#ede8ff}.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-gray{color:#6b7280;background:#eef0f4}.opw-tip{background:#f5f3ff;border:1px solid #e9e3ff;border-radius:12px;gap:10px;margin-top:auto;padding:12px;display:flex}.opw-tip-icon{color:#6d4aff;flex:none;margin-top:1px}.opw-tip strong{color:#5b39e6;margin-bottom:2px;font-size:12.5px;display:block}.opw-tip p{color:#7a82a0;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:#1d2433;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:#f3f5f9}.opw-program-title-input{border:1px solid var(--accent);color:#1d2433;box-sizing:border-box;background:#fff;border-radius:6px;outline:none;width:100%;max-width:420px;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:#98a0b3;font-size:12.5px;display:block}.opw-program-subtitle{margin-top:4px}.opw-program-schedule{margin-top:2px;color:#6b7289!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:#6b7289;text-transform:uppercase;letter-spacing:.03em;font-size:11px;font-weight:600}.opw-program-meta-field input{color:#1d2433;background:#fff;border:1px solid #e4e7ee;border-radius:8px;height:34px;padding:0 10px;font-size:13px}.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{color:#4a5165;cursor:pointer;background:#fff;border:1px solid #e4e7ee;border-radius:9px;align-items:center;gap:6px;height:34px;padding:0 13px;font-size:13px;font-weight:500;transition:background .13s,border-color .13s;display:inline-flex}.opw-soft-btn:hover{background:#f7f8fc;border-color:#d7dbe5}.opw-soft-btn-dots{color:#98a0b3;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 #eef0f4;padding:0 8px 10px}.opw-table-head span{letter-spacing:.3px;color:#98a0b3;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 #f3f4f8;border-radius:10px;padding:4px 8px;transition:background .12s,box-shadow .12s}.opw-row:hover{background:#faf9ff}.opw-row:hover .opw-row-handle{opacity:1}.opw-row.active{box-shadow:inset 3px 0 0 var(--opw-purple);background:#f3efff;border-bottom-color:#0000}.opw-row.dragging{opacity:.4}.opw-row.drag-over{box-shadow:inset 0 2px 0 var(--opw-purple)}.opw-row-handle{color:#c4c9d6;cursor:grab;opacity:.35;justify-content:center;align-items:center;transition:opacity .13s,color .13s;display:inline-flex}.opw-row-handle:hover{color:#8b93a7}.opw-row-handle:active{cursor:grabbing}.opw-cell{color:#2b3245;align-items:center;min-width:0;font-size:13.5px;display:flex}.opw-cell-muted{color:#6b7280}.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:#fff;box-shadow:inset 0 0 0 1px #e4e7ee}.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:#4a5165;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{color:#6d4aff;background:#ede8ff}.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-gray .opw-type-badge-icon{color:#6b7280;background:#eef0f4}.opw-cell-input,.opw-cell-select{border:1px solid var(--opw-purple);width:100%;height:32px;font:inherit;color:#2b3245;background:#fff;border-radius:8px;outline:none;padding:0 8px;font-size:13px;box-shadow:0 0 0 3px #6d4aff1f}.opw-cell-input-time{font-variant-numeric:tabular-nums;color:#5b39e6;font-weight:600}.opw-cell-input-time::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.7}.opw-row-menu-btn{color:#b3b9c7;cursor:pointer;background:0 0;border:0;border-radius:7px;justify-content:center;align-items:center;width:28px;height:28px;transition:background .12s,color .12s;display:inline-flex}.opw-row-menu-btn:hover{color:#6b7280;background:#eef0f4}.opw-row-menu{z-index:20;background:#fff;border:1px solid #e4e7ee;border-radius:11px;flex-direction:column;min-width:178px;padding:5px;display:flex;position:absolute;top:32px;right:0;box-shadow:0 12px 32px #10182829}.opw-row-menu button{text-align:left;color:#2b3245;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:9px 11px;font-size:13px}.opw-row-menu button:hover{background:#f5f3ff}.opw-row-menu button.danger{color:#dc2626}.opw-row-menu button.danger:hover{background:#fef2f2}.opw-add-row-btn{color:var(--opw-purple);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:#f5f3ff}.opw-empty{text-align:center;color:#98a0b3;padding:28px 8px;font-size:13.5px}.opw-preview-panel{padding:16px;overflow-y:auto}.opw-preview-tabs{border-bottom:1px solid #eef0f4;gap:18px;margin-bottom:14px;display:flex}.opw-preview-tabs button{color:#98a0b3;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(--opw-purple)}.opw-preview-tabs button.active:after{content:"";background:var(--opw-purple);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 #eef0f4;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{background:linear-gradient(#fcfcff 0%,#f6f7fb 100%);border:1px solid #e4e7ee;border-radius:14px;flex:auto;height:auto;min-height:0;margin-bottom:0;box-shadow:inset 0 1px #fffffff2,0 1px 2px #1018280a}.opw-preview-panel-footer{border-top:1px solid #eef0f4;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:#6b7280;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{color:#4a5165;cursor:pointer;background:#fff;border:1px solid #e4e7ee;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:#6b7280}.opw-controls button:hover{background:#f7f8fc;border-color:#d7dbe5}.opw-controls button.primary{color:var(--opw-purple);background:#f3efff;border-color:#ddd2ff}.opw-controls button.primary svg{color:var(--opw-purple)}.opw-current{background:#fbfbfe;border:1px solid #eef0f4;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:#2b3245;text-overflow:ellipsis;white-space:nowrap;font-size:13.5px;font-weight:600;overflow:hidden}.opw-current-info span{color:#98a0b3;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:#98a0b3;flex-direction:column;gap:4px;font-size:11px;font-weight:600;display:inline-flex}.opw-song-version-select select{min-width:140px;height:32px;font:inherit;color:#2b3245;background:#fff;border:1px solid #e4e7ee;border-radius:9px;padding:0 10px;font-size:12.5px}.opw-details-badge-row .opw-song-version-select{margin-right:auto}.opw-current-bind{color:#4a5165;cursor:pointer;background:#fff;border:1px solid #e4e7ee;border-radius:9px;flex:none;height:32px;padding:0 14px;font-size:12.5px;font-weight:600;transition:background .13s,border-color .13s}.opw-current-bind:hover{color:var(--opw-purple);background:#f5f3ff;border-color:#ddd2ff}.opw-current-empty{color:#98a0b3;font-size:12.5px}.opw-nav-hud{background:#fbfbfe;border:1px solid #eef0f4;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:#98a0b3;font-size:12px}.opw-nav-hud-row strong{color:#2b3245;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{color:#5b39e6;border-top:1px dashed #e3e7f0;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{color:#4a5165;cursor:pointer;background:#fff;border:1px solid #e4e7ee;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:#f7f8fc;border-color:#d7dbe5}.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:#fff;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 #eef0f4;justify-content:space-between;align-items:center;padding:16px 18px;display:flex}.opw-bind-popup-header strong{color:#1d2433;font-size:15px;font-weight:700}.opw-bind-popup-header button{color:#6b7280;cursor:pointer;background:#f4f5fa;border:0;border-radius:8px;width:30px;height:30px;font-size:18px;line-height:1}.opw-bind-popup-header button:hover{background:#eef0f4}.opw-bind-popup-tabs{gap:6px;padding:12px 18px 0;display:flex}.opw-bind-popup-tabs button{color:#6b7280;cursor:pointer;background:#f4f5fa;border:0;border-radius:8px;padding:8px 12px;font-size:12.5px;font-weight:600}.opw-bind-popup-tabs button.active{color:var(--opw-purple);background:#f3efff}.opw-bind-popup-search{gap:8px;padding:12px 18px;display:flex}.opw-bind-popup-search input{height:38px;font:inherit;border:1px solid #e4e7ee;border-radius:9px;outline:none;flex:auto;padding:0 12px;font-size:13px}.opw-bind-popup-search input:focus{border-color:var(--opw-purple);box-shadow:0 0 0 3px #6d4aff1f}.opw-bind-popup-search button{background:var(--opw-purple);color:#fff;cursor:pointer;border:0;border-radius:9px;height:38px;padding:0 16px;font-size:13px;font-weight:600}.opw-bind-popup-hint{color:#98a0b3;margin:0;padding:0 18px 8px;font-size:12.5px}.opw-bind-popup-hint strong{color:#4a5165}.opw-library-state{color:#98a0b3;margin:0;padding:4px 18px;font-size:12.5px}.opw-library-state.error{color:#dc2626}.opw-bind-popup.opw-bind-popup-wide{width:min(920px,100%)}.opw-bind-popup-list{flex-direction:column;flex:auto;gap:2px;min-height:0;padding:6px 12px 14px;display:flex;overflow-y:auto}.opw-bind-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;padding:4px 6px 8px;display:grid}.opw-bind-card{text-align:left;cursor:pointer;background:#fff;border:1px solid #e8ebf2;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:#c9b8ff;transform:translateY(-1px);box-shadow:0 8px 20px #6d4aff1a}.opw-bind-card-thumb{aspect-ratio:16/10;color:#8b93a7;background:#f4f5fa;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{color:#6d4aff;background:#ede8ff}.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:#1d2433;-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:#98a0b3;-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:#6b7289;text-transform:uppercase;letter-spacing:.03em;font-size:11px;font-weight:600}.opw-bind-range-inputs input{width:88px;height:34px;font:inherit;border:1px solid #e4e7ee;border-radius:8px;padding:0 10px;font-size:13px}.opw-bind-range-count{color:#6b7289;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;cursor:pointer;background:#f4f5fa;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(--opw-purple);box-shadow:0 0 0 3px #6d4aff26}.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:#4a5165;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{width:100%;font:inherit;color:#2b3245;cursor:pointer;text-align:left;background:#fff;border:1px solid #e4e7ee;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{color:var(--opw-purple);background:#f8f6ff;border-color:#c9b8ff}.opw-bind-version-back{color:#98a0b3;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(--opw-purple)}.opw-library-item{text-align:left;color:#2b3245;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:#f5f3ff}.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:#fff;border:1px solid #ebedf3;border-radius:16px;flex-direction:column;min-height:0;display:flex;overflow:hidden;box-shadow:0 1px 2px #1018280a}.opw-details-list-head{border-bottom:1px solid #eef0f4;justify-content:space-between;align-items:center;padding:15px 16px 12px;display:flex}.opw-details-list-head strong{color:#1d2433;font-size:14px;font-weight:700}.opw-details-list-head span{color:#98a0b3;background:#f4f5fa;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:#f7f8fc}.opw-details-list-scroll button.active{box-shadow:inset 3px 0 0 var(--opw-purple);background:#f3efff}.opw-details-list-num{color:#c4c9d6;font-size:12px;font-weight:700}.opw-details-list-time{font-variant-numeric:tabular-nums;color:#6b7280;font-size:12.5px;font-weight:600}.opw-details-list-main{min-width:0}.opw-details-list-main strong{color:#1d2433;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:#fff;border:1px solid #ebedf3;border-radius:16px;min-height:0;padding:22px 24px;overflow-y:auto;box-shadow:0 1px 2px #1018280a}.opw-details-meta h3{color:#1d2433;margin:0;font-size:20px;font-weight:700}.opw-details-meta p{color:#98a0b3;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{color:#4a5165;cursor:pointer;background:#fff;border:1px solid #e4e7ee;border-radius:9px;height:34px;padding:0 14px;font-size:12.5px;font-weight:600;transition:background .13s,border-color .13s}.opw-details-actions button:hover{color:var(--opw-purple);background:#f5f3ff;border-color:#ddd2ff}.opw-details-parts{margin-top:22px}.opw-details-parts h4{color:#4a5165;margin:0 0 12px;font-size:13px;font-weight:700}.opw-slide-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px;display:grid}.opw-slide-card{text-align:left;cursor:pointer;font:inherit;background:#fff;border:1px solid #eef0f4;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:#c7bafc;box-shadow:0 6px 18px #6d4aff29}.opw-slide-card:active{transform:translateY(1px)}.opw-slide-card.live{border-color:var(--opw-purple);box-shadow:0 0 0 2px #6d4aff38}.opw-slide-card-live{letter-spacing:.3px;text-transform:uppercase;color:#fff;background:var(--opw-purple);border-radius:999px;margin-left:auto;padding:2px 8px;font-size:10px;font-weight:700}.opw-slide-card-head{border-bottom:1px solid #f0f1f5;align-items:center;gap:8px;padding:9px 11px;display:flex}.opw-slide-card-num{width:22px;height:22px;color:var(--opw-purple);background:#ede8ff;border-radius:6px;justify-content:center;align-items:center;font-size:11px;font-weight:700;display:inline-flex}.opw-slide-card-label{color:#6b7280;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:#98a0b3;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}}.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,#f6f7fb);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,#5d5fef) 12%, #fff);border-color:color-mix(in srgb, var(--accent,#5d5fef) 45%, transparent)}.song-detail-version-tab-add{min-width:42px;color:var(--accent,#5d5fef);justify-content:center;align-items:center;font-size:20px;font-weight:700}.song-detail-version-tab-del{color:#b91c1c;cursor:pointer;background:#fee2e2;border:0;border-radius:999px;align-self:center;width:24px;height:24px;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{color:var(--color-text-secondary);background:#f0f0f0}.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{color:#2563a8;background:#e8f4fc;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,#5d5fef);color:#fff;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,#5d5fef);border-bottom-color:var(--accent,#5d5fef)}.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,#f6f7fb);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-count{background:var(--accent,#5d5fef);color:#fff;border-radius:999px;justify-content:center;align-items:center;min-width:22px;height:22px;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,#fff);border-color:var(--color-border-tertiary,#e6e8ef)}.song-detail-vrail-item.active{background:var(--color-background-primary,#fff);border-color:color-mix(in srgb, var(--accent,#5d5fef) 55%, transparent);box-shadow:0 1px 2px #0000000a, 0 0 0 1px color-mix(in srgb, var(--accent,#5d5fef) 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,#5d5fef)}.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{color:#b91c1c;background:#fee2e2}.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,#5d5fef) 50%, #cbd5e1);color:var(--accent,#5d5fef);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,#5d5fef) 8%, transparent);border-color:var(--accent,#5d5fef)}.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,#fff);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,#5d5fef);border-color:color-mix(in srgb, var(--accent,#5d5fef) 45%, transparent);background:color-mix(in srgb, var(--accent,#5d5fef) 6%, transparent)}.song-detail-vrail-merge span{font-size:14px;line-height:1}.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:#fafaf8;border-radius:10px;padding:10px 12px;font-size:14px}.song-merge-search:focus{border-color:var(--accent,#5d5fef);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,#f6f7fb)}.song-merge-item.active{background:color-mix(in srgb, var(--accent,#5d5fef) 8%, transparent);border-color:color-mix(in srgb, var(--accent,#5d5fef) 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-light);color:#3730a3;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,#5d5fef)}.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-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{color:#2d8fa3;font:inherit;cursor:pointer;background:#fff;border:.5px solid #a5d8e6;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{color:#1a7a8f;background:#e8f7fb;border-color:#5eb8c9}.song-detail-chords-toggle:hover{background:#f0fbfd}.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{color:var(--accent,#5d5fef);background:#fff;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:#fafaf8;border-radius:10px;padding:10px 12px;font-size:15px;font-weight:500}.song-detail-vname input:focus{border-color:var(--accent,#5d5fef);outline:none}.song-detail-sections{flex-direction:column;gap:16px;display:flex}.song-detail-section{background:#f5f5f0;border-radius:12px;padding:18px 20px}.song-detail-section-label{letter-spacing:.02em;color:#3d5566;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:#2bb8d4;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{color:#2d8fa3;letter-spacing:.02em;text-transform:none;z-index:1;background:#fff;border:1.5px solid #5eb8c9;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-box{background:#fff;border:2px solid #5eb8c9;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:#f5f5f0;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;color:var(--color-text-primary);background:#fafaf8;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{color:var(--color-text-primary);background:#fafaf8;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:#eee;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{color:#999;justify-content:center;align-items:center;width:100%;height:100%;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,#5d5fef);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,#5d5fef);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);font:inherit;cursor:pointer;color:var(--color-text-secondary);background:#fafaf8;border-radius:8px;flex:1;padding:8px 6px;font-size:11px}.song-detail-visibility-btn.active{border-color:var(--accent,#5d5fef);color:var(--accent,#5d5fef);background:var(--accent-light,#eef0ff)}.song-detail-toggle-row{justify-content:space-between;align-items:center;gap:12px;margin-bottom:14px;font-size:13px;display:flex}.song-detail-toggle{cursor:pointer;background:#ccc;border:none;border-radius:999px;width:44px;height:24px;padding:0;transition:background .15s;position:relative}.song-detail-toggle.on{background:var(--accent,#5d5fef)}.song-detail-toggle:after{content:"";background:#fff;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:#fafaf8;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;background:0 0;border-radius:10px;padding:10px 16px}.song-detail-btn-primary{background:var(--accent,#5d5fef);color:#fff;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:#c0392b;margin:0 0 16px;font-size:14px}.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;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:#f0fdf4}.library-page .lib-thumb.audio{background:#fffbeb}.library-page .lib-thumb.video{background:#fef2f2}.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:#059669}.library-page .lib-thumb-icon.audio{color:#d97706}.library-page .lib-thumb-icon.video{color:#dc2626}.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{color:#166534;background:#f0fdf4}.library-page .type-badge.audio{color:#92400e;background:#fffbeb}.library-page .type-badge.video{color:#991b1b;background:#fef2f2}.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}}.profile-page{flex-direction:column;gap:20px;min-height:0;display:flex}.profile-page-header{align-items:flex-start;gap:16px;padding:4px 0 8px;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.1rem;font-weight:700;display:grid}.profile-page-intro{min-width:0}.profile-page-name{color:var(--color-text,#1f2937);margin:0;font-size:1.35rem;line-height:1.2}.profile-page-meta{color:var(--color-text-muted,#6b7280);margin:4px 0 0;font-size:.92rem}.profile-page-hint{max-width:52rem;color:var(--color-text-muted,#6b7280);margin:10px 0 0;font-size:.88rem;line-height:1.45}.profile-ministries-section{gap:16px;display:grid}.profile-ministries-block{border:1px solid var(--color-border,#e5e7eb);background:#fff;border-radius:12px;padding:16px}.profile-ministries-title{color:var(--color-text,#1f2937);margin:0 0 12px;font-size:1rem}.profile-ministry-invite-list,.profile-ministry-membership-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.profile-ministry-invite-card,.profile-ministry-membership-card{border:1px solid var(--color-border,#e5e7eb);background:var(--color-accent-soft,#f6efe4);border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px 14px;display:flex}.profile-ministry-membership-card{background:#fff;flex-direction:column}.profile-ministry-invite-main{min-width:0}.profile-ministry-invite-main p,.profile-ministry-membership-card p{color:var(--color-text-muted,#6b7280);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,#e5e7eb);background:var(--bg,#fff);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,#e5e7eb);background:var(--code-bg,#f9fafb);border-radius:999px;align-items:center;gap:6px;padding:6px 10px;font-size:12px;display:inline-flex}.ministry-pending-chip button{color:var(--text,#6b7280);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(--color-accent-soft,#f6efe4);color:var(--color-accent-dark,#9c7b46);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-muted,#6b7280);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,#e5e7eb);background:#fff;border-radius:12px;flex-direction:column;gap:4px;padding:14px 16px;display:flex}.ministry-stat-value{color:var(--color-text,#1f2937);font-size:1.5rem;font-weight:700;line-height:1}.ministry-stat-label{color:var(--color-text-muted,#6b7280);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,#111827);margin:0;font-size:14px;font-weight:600}.visibility-picker{flex-direction:column;gap:8px;display:flex}.visibility-picker-label{color:var(--color-text-muted,#6b7280);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,#e5e7eb);text-align:left;cursor:pointer;background:#fff;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-muted,#6b7280);font-size:.72rem;line-height:1.3}.visibility-picker-btn.active{border-color:var(--color-accent,#b9935a);background:var(--color-accent-soft,#f6efe4)}.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:#166534;background:#dcfce7}.lib-card-visibility.private{color:#92400e;background:#fef3c7}.profile-figma-section{gap:16px;display:grid}.profile-figma-block{border:1px solid var(--color-border,#e5e7eb);background:#fff;border-radius:12px;padding:16px}.profile-figma-title{color:var(--color-text,#1f2937);margin:0 0 8px;font-size:1rem}.profile-figma-hint{color:var(--color-text-muted,#6b7280);margin:0 0 12px;font-size:.88rem;line-height:1.45}.profile-figma-hint a{color:var(--color-accent,#9c7b46)}.profile-figma-muted{color:var(--color-text-muted,#6b7280);margin:0;font-size:.88rem}.profile-figma-connected,.profile-figma-connect{gap:12px;display:grid}.profile-figma-badge{color:#166534;background:#dcfce7;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;display:grid}.profile-figma-token-field span{color:var(--color-text-muted,#6b7280);font-size:.85rem}.profile-figma-token-field input{border:1px solid var(--color-border,#e5e7eb);border-radius:8px;width:100%;max-width:28rem;padding:8px 10px}.profile-figma-status{color:#166534;margin:8px 0 0;font-size:.85rem}.profile-figma-error{color:#b91c1c;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,#e5e7eb);cursor:pointer;background:#fff;border-radius:10px;gap:6px;padding:8px;display:grid}.figma-import-frame.is-selected{border-color:var(--color-accent,#9c7b46);box-shadow:0 0 0 1px var(--color-accent,#9c7b46)}.figma-import-frame input[type=checkbox]{width:auto}.figma-import-frame-preview{aspect-ratio:16/9;background:#f3f4f6;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-muted,#6b7280);font-size:.75rem}.figma-import-frame-name{color:var(--color-text,#1f2937);font-size:.82rem;font-weight:600;line-height:1.2}.figma-import-frame-page{color:var(--color-text-muted,#6b7280);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}.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;display:grid}.cal-toolbar{gap:12px;display:grid}.cal-scale-tabs{background:var(--color-background-secondary);border:1px solid var(--color-border-tertiary);border-radius:999px;flex-wrap:wrap;gap:4px;width:fit-content;padding:4px;display:inline-flex}.cal-scale-tab{color:var(--color-text-secondary);font:inherit;cursor:pointer;background:0 0;border:none;border-radius:999px;padding:7px 14px;font-size:13px;font-weight:500;transition:background .15s,color .15s}.cal-scale-tab:hover{color:var(--color-text-primary)}.cal-scale-tab.active{background:var(--color-background-primary);color:var(--accent);box-shadow:0 1px 3px #2b221814}.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);min-height:280px;padding:20px}.cal-day-view-meta{border-bottom:1px solid var(--color-border-tertiary);flex-wrap:wrap;align-items:baseline;gap:8px 12px;margin-bottom:16px;padding-bottom:12px;display:flex}.cal-day-view-weekday{text-transform:capitalize;color:var(--accent);font-size:13px;font-weight:600}.cal-day-view-date{color:var(--color-text-primary);text-transform:capitalize;font-size:18px;font-weight:600}.cal-day-view-empty{color:var(--color-text-secondary);justify-items:start;gap:12px;display:grid}.cal-day-event-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.cal-day-event-card{text-align:left;border:1px solid var(--color-border-tertiary);background:var(--color-background-secondary);cursor:pointer;width:100%;font:inherit;border-radius:12px;gap:4px;padding:14px 16px;transition:border-color .15s,background .15s;display:grid}.cal-day-event-card:hover{border-color:var(--accent-border);background:var(--accent-light)}.cal-day-event-time{color:var(--accent);font-size:12px;font-weight:600}.cal-day-event-card strong{color:var(--color-text-primary);font-size:15px}.cal-day-event-place{color:var(--color-text-secondary);font-size:12px}.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 .calendar-full-wrap{border:.5px solid var(--color-border-tertiary);border-radius:calc(var(--radius-lg) + 4px);background:var(--color-background-secondary);gap:12px;padding:12px}.mobile-page-wrap .cal-page-header{grid-template-columns:34px 1fr 34px;align-items:center;gap:8px;display:grid}.mobile-page-wrap .cal-month-label{text-align:center;letter-spacing:-.02em;margin:0;font-size:22px}.mobile-page-wrap .cal-page-header .ds-btn-primary{grid-column:1/-1;justify-self:end;min-height:34px;padding:7px 12px;font-size:14px}.mobile-page-wrap .cal-nav-btn{width:34px;height:34px;font-size:17px}.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}}.cal-modal-backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:200;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);border-radius:16px;flex-direction:column;width:100%;max-width:460px;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{flex-direction:column;gap:12px;padding:16px 20px;display:flex}.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}@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);gap:8px;margin-top:4px;padding:12px 20px 20px;display:flex}.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-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:12px 16px 16px}.mobile-page-wrap h1,.mobile-page-wrap .programs-calendar-page{font-size:inherit}.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{color:#059669;background:#f0fdf4}.mobile-qcard-icon.amber{color:#d97706;background:#fffbeb}.mobile-qcard-icon.red{color:#dc2626;background:#fef2f2}.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{color:#166534;background:#f0fdf4}.mobile-em-type.mol{color:#92400e;background:#fffbeb}.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{color:#059669;background:#f0fdf4}.mobile-lib-thumb.a{color:#d97706;background:#fffbeb}.mobile-lib-thumb.v{color:#dc2626;background:#fef2f2}.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:16px 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}
