:root{--meel-primary:#be6a4e;--meel-brand:#4a6b5d;--meel-brand-hover:#3a5347;--meel-cta:#e8a93c;--meel-cta-hover:#cf9530;--meel-cta-text:#2e2a26;--meel-text:#2e2a26;--meel-muted:#8c7f70;--meel-border:#e4d9c9;--meel-bg:#fbf6ef;--meel-error:#a8412e}*{box-sizing:border-box}body{color:var(--meel-text);background:var(--meel-bg);margin:0;font-family:Nunito Sans,-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica,Arial,sans-serif}h1,h2,h3,h4{font-family:Fraunces,Georgia,serif;font-weight:600}a{color:inherit;text-decoration:none}.app-header{border-bottom:1px solid var(--meel-border);background:#fff;justify-content:space-between;padding:.4rem 1.5rem}.app-header,.app-header-brand{align-items:center;display:flex}.app-header-brand{letter-spacing:.05em;color:var(--meel-brand);font-size:1.3rem;font-weight:700}.app-header-logo{height:64px;display:block}.app-header-account{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem 1.1rem;display:flex}@media (width<=480px){.app-header{padding:.4rem 1rem}.app-header-logo{height:48px}.app-header-account{gap:.7rem}.app-header-link{font-size:.82rem}}.app-header-name{color:var(--meel-muted);font-size:.9rem}.app-header-link{color:var(--meel-brand);font-size:.9rem;font-weight:600}.app-header-link:hover{text-decoration:underline}.app-header-credits{color:var(--meel-cta-text);background:var(--meel-cta);white-space:nowrap;border-radius:999px;padding:.3rem .8rem;font-size:.85rem;font-weight:700}.app-header-credits:hover{background:var(--meel-cta-hover)}.page{max-width:420px;margin:0 auto;padding:2.5rem 1.5rem}.page h1{margin-bottom:1.5rem;font-size:1.5rem}.pack-grid{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:1rem;margin-bottom:.5rem;display:grid}.pack-card{text-align:center;border:1px solid var(--meel-border);background:#fff;border-radius:14px;flex-direction:column;align-items:center;padding:1.6rem 1rem 1.1rem;transition:transform .15s,box-shadow .15s;display:flex;position:relative}.pack-card:hover{transform:translateY(-2px);box-shadow:0 8px 20px #2e2a2614}.pack-card.is-best{border:2px solid var(--meel-cta);box-shadow:0 6px 18px #e8a93c40}.pack-ribbon{white-space:nowrap;background:var(--meel-cta);color:var(--meel-cta-text);border-radius:999px;padding:.15rem .7rem;font-size:.75rem;font-weight:700;position:absolute;top:-.7rem;left:50%;transform:translate(-50%)}.pack-name{margin:0;font-size:1.25rem;font-weight:700}.pack-sub{color:var(--meel-muted);margin:.1rem 0 .8rem;font-size:.8rem}.pack-price{color:var(--meel-text);margin:0;font-size:1.8rem;font-weight:800;line-height:1.2}.pack-unit{color:var(--meel-muted);margin:.2rem 0 1rem;font-size:.85rem}.pack-card button{width:100%;margin-top:auto}.pack-vat{color:var(--meel-muted);margin:0 0 1.5rem;font-size:.8rem}.terms-consent{margin-bottom:1.1rem;font-size:.9rem}.terms-consent label{cursor:pointer;align-items:flex-start;gap:.5rem;display:flex}.terms-consent input[type=checkbox]{flex-shrink:0;width:auto;margin-top:.25rem}.terms-consent a{text-decoration:underline}.legal-page{max-width:760px;margin:0 auto;padding:2rem 1rem 3rem;line-height:1.6}.legal-page h1{margin:1rem 0 .25rem;font-size:1.7rem}.legal-page h2{color:var(--meel-brand);margin:2rem 0 .6rem;font-size:1.2rem}.legal-page h3{margin:1.2rem 0 .4rem;font-size:1rem}.legal-page ul{padding-left:1.2rem}.legal-page table{border-collapse:collapse;width:100%;margin:.6rem 0 1rem;font-size:.9rem;display:block;overflow-x:auto}.legal-page td,.legal-page th{border:1px solid var(--meel-border);text-align:left;vertical-align:top;padding:.45rem .6rem}.legal-updated{color:var(--meel-muted);margin-top:0;font-size:.9rem}.legal-nav{flex-wrap:wrap;gap:.4rem 1rem;font-size:.9rem;display:flex}.legal-nav a.router-link-active{color:var(--meel-text);font-weight:700}.legal-missing{color:var(--meel-text);background:#fde7c2;border-radius:3px;padding:0 .2rem}.legal-box{border:1px solid var(--meel-border);background:#fff;border-radius:8px;padding:.8rem 1rem}.field{flex-direction:column;gap:.35rem;min-width:0;margin-bottom:1.1rem;display:flex}.field label{color:var(--meel-muted);font-size:.9rem}.field input:not([type=checkbox]):not([type=radio]){box-sizing:border-box;border:1px solid var(--meel-border);background:#fff;border-radius:8px;width:100%;padding:.6rem .7rem;font-size:1rem}.field input:not([type=checkbox]):not([type=radio]):focus,.field textarea:focus{outline:2px solid var(--meel-brand);outline-offset:1px}.checkbox-list{flex-direction:column;gap:.5rem;display:flex}.checkbox-list label{color:var(--meel-text);cursor:pointer;align-items:center;gap:.55rem;font-size:.95rem;display:flex}.checkbox-list input[type=checkbox]{width:16px;height:16px;accent-color:var(--meel-brand);flex-shrink:0}.field-row{flex-wrap:wrap;gap:.75rem;display:flex}.field-row>.field{flex:1;min-width:140px}.field textarea{border:1px solid var(--meel-border);resize:vertical;background:#fff;border-radius:8px;padding:.6rem .7rem;font-family:inherit;font-size:1rem}.password-field{position:relative}.password-field .password-input{padding-right:2.6rem}.password-toggle{cursor:pointer;color:var(--meel-muted);background:0 0;border:none;align-items:center;padding:.3rem;display:flex;position:absolute;top:50%;right:.5rem;transform:translateY(-50%)}.password-field .password-toggle:hover{color:var(--meel-text);background:0 0}.password-strength-meter{align-items:center;gap:.6rem;margin:-.6rem 0 1.1rem;display:flex}.password-strength-bars{flex:1;gap:.3rem;max-width:160px;display:flex}.password-strength-segment{background:var(--meel-border);border-radius:2px;flex:1;height:4px}.password-strength-segment.filled.weak{background:var(--meel-error)}.password-strength-segment.filled.medium{background:var(--meel-cta)}.password-strength-segment.filled.strong{background:var(--meel-brand)}.password-strength-label{font-size:.85rem;font-weight:600}.password-strength-label.weak{color:var(--meel-error)}.password-strength-label.medium{color:var(--meel-cta-hover)}.password-strength-label.strong{color:var(--meel-brand)}.auth-divider{color:var(--meel-muted);align-items:center;gap:.75rem;margin:1.25rem 0;font-size:.85rem;display:flex}.auth-divider:after,.auth-divider:before{content:"";background:var(--meel-border);flex:1;height:1px}.google-signin-button{width:100%;color:var(--meel-text);border:1px solid var(--meel-border);background:#fff;justify-content:center;align-items:center;gap:.6rem;font-weight:500;display:flex}.google-signin-button.google-signin-button:hover{background:var(--meel-bg)}button{cursor:pointer;background:var(--meel-cta);color:var(--meel-cta-text);border:none;border-radius:8px;padding:.7rem 1.3rem;font-size:1rem;font-weight:600;transition:background .15s,border-color .15s}button:hover:not(:disabled){background:var(--meel-cta-hover)}.btn-danger{background:var(--meel-error);color:#fff}.btn-danger:hover:not(:disabled){background:#832f1f}.btn-secondary{color:var(--meel-text);border:1px solid var(--meel-border);background:#fff}.btn-secondary:hover:not(:disabled){background:var(--meel-bg);border-color:var(--meel-muted)}.actions{flex-wrap:wrap;gap:.5rem;display:flex}button:disabled{opacity:.6;cursor:not-allowed}.filter-dropdown{position:relative}.filter-dropdown>summary{cursor:pointer;border:1px solid var(--meel-border);color:var(--meel-text);white-space:nowrap;background:#fff;border-radius:8px;padding:.6rem .9rem;font-size:.95rem;list-style:none}.filter-dropdown>summary::-webkit-details-marker{display:none}.filter-dropdown>summary:after{content:"▾";color:var(--meel-muted);margin-left:.5rem}.filter-dropdown[open]>summary{border-color:var(--meel-brand)}.filter-dropdown-panel{z-index:50;border:1px solid var(--meel-border);background:#fff;border-radius:10px;min-width:220px;max-height:260px;padding:.75rem .9rem;position:absolute;top:calc(100% + .35rem);left:0;overflow-y:auto;box-shadow:0 8px 24px #2e2a2624}.error-text{color:var(--meel-error);font-size:.9rem}.success-box{border:1px solid var(--meel-border);background:#fff;border-radius:10px;padding:1.5rem}.course-prep-reminder{background:var(--meel-bg);color:var(--meel-text);border-radius:8px;margin:0 0 1rem;padding:.6rem .8rem;font-size:.9rem}.avatar-preview{flex-shrink:0;width:96px;height:96px}.avatar-preview,.avatar-preview-sm{-o-object-fit:cover;object-fit:cover;background:var(--meel-bg);border:1px solid var(--meel-border);border-radius:50%}.avatar-preview-sm{width:36px;height:36px;display:block}.status-badge{border-radius:999px;padding:.2rem .65rem;font-size:.8rem;font-weight:600;display:inline-block}.status-badge.pending,.status-badge.ready{color:#8a5a00;background:#f7e3bc}.status-badge.approved,.status-badge.completed,.status-badge.published{color:var(--meel-brand-hover);background:#dee9e3}.status-badge.cancelled,.status-badge.rejected,.status-badge.suspended{color:var(--meel-error);background:#f2ddd7}.status-badge.draft{background:var(--meel-bg);color:var(--meel-muted)}.status-badge.in_progress{color:#a8501f;background:#f5d9c8}.status-badge.enrolled{background:var(--meel-cta);color:var(--meel-cta-text)}.credit-dot-row{align-items:center;gap:6px;display:flex}.credit-dot{border:1px solid var(--meel-border);background:0 0;border-radius:50%;flex-shrink:0;width:10px;height:10px}.credit-dot.is-filled{background:var(--meel-cta);border-color:var(--meel-cta)}.data-table{border-collapse:collapse;border:1px solid var(--meel-border);background:#fff;border-radius:10px;width:100%;overflow:hidden}.data-table td,.data-table th{text-align:left;border-bottom:1px solid var(--meel-border);padding:.7rem .9rem;font-size:.9rem}.data-table th{background:var(--meel-bg);color:var(--meel-muted);text-transform:uppercase;letter-spacing:.03em;font-size:.8rem;font-weight:600}.data-table tr:last-child td{border-bottom:none}.data-table.data-table-compact td,.data-table.data-table-compact th{vertical-align:middle;padding:.5rem .75rem;font-size:.82rem}.data-table.data-table-compact th{font-size:.7rem}.data-table.data-table-compact button{padding:.3rem .7rem;font-size:.8rem}.progress-bar{background:var(--meel-border);border-radius:999px;width:100%;height:8px;overflow:hidden}.progress-bar-fill{background:var(--meel-brand);height:100%;transition:width .2s}.sidebar-shell{min-height:calc(100vh - 126px);display:flex}.sidebar-panel{border-right:1px solid var(--meel-border);background:#fff;flex-shrink:0;width:230px;padding:1.5rem 0}.sidebar-legal{border-top:1px solid var(--meel-border);flex-wrap:wrap;gap:.3rem .8rem;margin-top:1.5rem;padding:1rem 1.5rem 0;display:flex}.sidebar-legal a{color:var(--meel-muted);font-size:.78rem;text-decoration:none}.sidebar-legal a:hover{text-decoration:underline}.sidebar-brand{border-bottom:1px solid var(--meel-border);margin-bottom:.5rem;padding:0 1.5rem 1.25rem}.sidebar-brand-subtitle{color:var(--meel-brand);font-size:.95rem;font-weight:600}.sidebar-nav{flex-direction:column;gap:.15rem;padding:.5rem;display:flex}.sidebar-nav a{color:var(--meel-text);border-radius:8px;padding:.6rem .9rem;font-size:.95rem;display:block}.sidebar-nav a:hover{background:var(--meel-bg)}.sidebar-nav a.is-active{background:var(--meel-brand);color:#fff;font-weight:600}.sidebar-nav-group{flex-direction:column;gap:.15rem;margin-top:.35rem;display:flex}.sidebar-nav-group-label{text-transform:uppercase;letter-spacing:.04em;color:var(--meel-muted);padding:.4rem .9rem .1rem;font-size:.75rem;font-weight:600}.sidebar-nav .sidebar-nav-child{padding-left:1.75rem}.sidebar-content{flex:1;min-width:0;max-width:1200px;padding:2.5rem 3rem}.sidebar-mobile-bar,.sidebar-overlay{display:none}@media (width<=768px){.sidebar-shell{min-height:0;display:block}.sidebar-mobile-bar{border-bottom:1px solid var(--meel-border);background:#fff;justify-content:space-between;align-items:center;gap:1rem;padding:.75rem 1rem;display:flex}.sidebar-mobile-toggle{background:var(--meel-bg);color:var(--meel-text);padding:.45rem .8rem;font-size:.9rem}.sidebar-overlay{z-index:150;background:#2e2a2680;display:block;position:fixed;inset:0}.sidebar-panel{z-index:200;width:230px;height:100vh;transition:transform .2s;position:fixed;top:0;left:0;overflow-y:auto;transform:translate(-100%)}.sidebar-panel.is-open{transform:translate(0)}.sidebar-content{padding:1.25rem 1rem}}.modal-backdrop{z-index:100;background:#2e2a2680;justify-content:center;align-items:center;padding:1.5rem;display:flex;position:fixed;inset:0}.modal-box{background:#fff;border-radius:12px;width:100%;max-width:460px;max-height:85vh;padding:2rem;overflow-y:auto}.fc-session-event{padding:1px 2px;line-height:1.25;overflow:hidden}.fc-session-line{align-items:center;gap:.3rem;min-width:0;display:flex}.fc-session-service{min-width:0}.fc-session-prof,.fc-session-service{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.fc-session-prof{opacity:.9;font-size:.85em}.event-dot{background:#fff}.event-dot,.fc-status-dot{border-radius:50%;flex-shrink:0;width:7px;height:7px}.fc-session-event-photo{align-items:stretch;gap:.35rem;display:flex}.fc-event-avatar-full{-o-object-fit:cover;object-fit:cover;border-radius:4px;flex-shrink:0;align-self:stretch;width:20px}.fc-session-lines{flex-direction:column;flex:1;justify-content:center;min-width:0;display:flex}.event-dot-assigned{background:#7ea896}.event-avatar{-o-object-fit:cover;object-fit:cover;border:1px solid #fff9;border-radius:50%;flex-shrink:0;width:14px;height:14px}.event-dot-unassigned{background:#dba99c}.fc-enrolled-badge{background:var(--meel-cta);color:var(--meel-cta-text);border-radius:999px;flex-shrink:0;padding:0 .35rem;font-size:.75em;font-weight:600;line-height:1.4;display:inline-block}.fc-member-row{align-items:stretch;gap:.4rem;min-height:40px;display:flex}.fc-member-photo-col{flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;gap:2px;width:32px;display:flex}.fc-member-photo{-o-object-fit:cover;object-fit:cover;border:1px solid #fff9;border-radius:50%;width:26px;height:26px}.fc-member-photo-name{text-overflow:ellipsis;white-space:nowrap;text-align:center;opacity:.9;max-width:32px;font-size:.65em;line-height:1.15;display:block;overflow:hidden}.fc-member-text-col{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.fc-member-badge{align-self:flex-start}.fc-member-title{font-size:.82em;font-weight:600;line-height:1.2}.fc-member-capacity,.fc-member-title{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.fc-member-capacity{opacity:.85;font-size:.78em}.truncate-cell{text-overflow:ellipsis;white-space:nowrap;max-width:280px;overflow:hidden}.live-prejoin{text-align:center;max-width:480px;margin:3rem auto}.door-backdrop{z-index:-1;opacity:.35;pointer-events:none;background-image:url(../images/EntreeStudio1.jpg);background-position:50%;background-size:cover;position:fixed;inset:0;-webkit-mask-image:linear-gradient(#000000e6,#0009 55%,#00000026);mask-image:linear-gradient(#000000e6,#0009 55%,#00000026)}.prejoin-avatar{-o-object-fit:cover;object-fit:cover;border:1px solid var(--meel-border);border-radius:50%;width:140px;height:140px;margin:0 auto 1.25rem;display:block}.prejoin-avatar,.prejoin-avatar-empty{background:var(--meel-bg)}.connecting-breath{background:var(--meel-brand);border-radius:50%;width:48px;height:48px;margin:0 auto 1.25rem;animation:2.4s ease-in-out infinite connecting-breathe}@keyframes connecting-breathe{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.25)}}@media (prefers-reduced-motion:reduce){.connecting-breath{opacity:1;animation:none}}.live-banner{border-radius:8px;margin-bottom:1rem;padding:.6rem 1rem;font-size:.9rem}.live-banner-warning{color:#8a5a00;background:#f7e3bc}.live-banner-error{color:var(--meel-error);background:#f2ddd7}.live-banner-success{color:var(--meel-brand-hover);background:#dee9e3;font-weight:600}.live-stage{flex-direction:column;gap:1rem;display:flex}.live-stage.has-main{flex-direction:row;align-items:flex-start}.live-main-stage{flex:1;min-width:0}.live-main-stage .live-tile{aspect-ratio:16/9;width:100%;max-height:70vh}.live-side-list{flex-direction:column;flex-shrink:0;gap:.6rem;width:160px;max-height:70vh;display:flex;overflow-y:auto}.live-side-list .live-tile{aspect-ratio:4/3}.live-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.75rem;display:grid}@media (width<=720px){.live-stage.has-main{flex-direction:column}.live-side-list{flex-direction:row;width:100%;max-height:none;overflow:auto visible}.live-side-list .live-tile{flex-shrink:0;width:120px}}.live-tile{aspect-ratio:4/3;background:#1c2321;border:2px solid #0000;border-radius:10px;justify-content:center;align-items:center;display:flex;position:relative;overflow:hidden}.live-tile.is-speaking{border-color:var(--meel-cta)}.live-tile-video{-o-object-fit:cover;object-fit:cover;width:100%;height:100%}.live-tile-mirrored{transform:scaleX(-1)}.live-tile-video-contain{-o-object-fit:contain;object-fit:contain;background:#000}.live-tile:fullscreen{border-radius:0}.live-tile:fullscreen .live-tile-video{width:100%;height:100%}.live-tile-placeholder{background:var(--meel-primary);border-radius:50%;justify-content:center;width:3rem;height:3rem;font-weight:600}.live-tile-overlay,.live-tile-placeholder{color:#fff;align-items:center;display:flex}.live-tile-overlay{background:linear-gradient(#0000,#0000008c);gap:.4rem;padding:.4rem .6rem;font-size:.85rem;position:absolute;bottom:0;left:0;right:0}.live-tile-name{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.live-tile-badge{background:var(--meel-cta);color:var(--meel-cta-text);border-radius:999px;padding:.1rem .5rem;font-size:.75rem}.live-tile-icon{font-size:.9rem}.live-tile-controls{opacity:0;gap:.3rem;transition:opacity .15s;display:flex;position:absolute;top:.4rem;right:.4rem}.live-tile:hover .live-tile-controls{opacity:1}.live-tile-controls button,.live-tile-fullscreen-btn{color:var(--meel-text);background:#ffffffd9;box-shadow:0 1px 4px #00000059}.live-tile-controls button:hover,.live-tile-fullscreen-btn.live-tile-fullscreen-btn:hover{background:#fff}.live-tile-controls button{padding:.3rem .45rem;font-size:.85rem}.live-tile-fullscreen-btn{padding:.3rem .5rem;font-size:1rem;line-height:1;position:absolute;top:.4rem;left:.4rem}.live-controls-bar{border:1px solid var(--meel-border);background:#fff;border-radius:10px;flex-wrap:wrap;justify-content:center;align-items:center;gap:.6rem;margin-top:1rem;padding:.9rem;display:flex;position:sticky;bottom:0}.live-controls-bar button.is-off{background:var(--meel-error)}.live-controls-bar button.is-off:hover{background:#832f1f}.live-controls-bar .leave-button{background:var(--meel-muted)}.live-controls-bar .leave-button:hover{background:#6f6459}.live-controls-bar .end-button{background:var(--meel-error)}.live-controls-bar .end-button:hover{background:#832f1f}
