@import "https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@300;400;500;600;700;800&display=swap";:root{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;color:#f8fafc;--bg-gradient:radial-gradient(circle at top, #131b31 0%, #090d16 100%);--panel-bg:#0f172a73;--panel-border:#ffffff14;--panel-border-glow:#6366f133;--primary:#6366f1;--primary-hover:#4f46e5;--primary-glow:#6366f159;--secondary:#0ea5e9;--status-green:#10b981;--status-green-bg:#10b98126;--status-green-border:#10b9814d;--status-yellow:#f59e0b;--status-yellow-bg:#f59e0b26;--status-yellow-border:#f59e0b4d;--status-red:#ef4444;--status-red-bg:#ef444426;--status-red-border:#ef44444d;--text-primary:#f8fafc;--text-secondary:#94a3b8;--text-muted:#64748b;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#090d16;font-family:Plus Jakarta Sans,system-ui,sans-serif;font-weight:400;line-height:1.5}*{box-sizing:border-box;margin:0;padding:0}html{background:#090d16;min-height:100%}body{background:var(--bg-gradient);min-width:320px;min-height:100dvh;color:var(--text-primary);background-attachment:fixed;margin:0;overflow-x:hidden}button,input,textarea,select{font-family:inherit;font-size:inherit}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:#090d1680}::-webkit-scrollbar-thumb{background:#6366f133;border-radius:4px}::-webkit-scrollbar-thumb:hover{background:#6366f166}.glass-panel{background:var(--panel-bg);-webkit-backdrop-filter:blur(12px);border:1px solid var(--panel-border);border-radius:16px;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 8px 32px #0000005e}.glass-panel:hover{border-color:#6366f140;box-shadow:0 8px 32px #6366f10d}.btn-primary{background:linear-gradient(135deg, var(--primary) 0%, var(--primary-hover) 100%);color:#fff;cursor:pointer;box-shadow:0 4px 14px 0 var(--primary-glow);border:none;border-radius:10px;justify-content:center;align-items:center;gap:8px;padding:12px 24px;font-weight:600;transition:all .2s ease-in-out;display:inline-flex}.btn-primary:hover{box-shadow:0 6px 20px 0 var(--primary-glow);filter:brightness(1.1);transform:translateY(-2px)}.btn-primary:active{transform:translateY(0)}.btn-primary:disabled{opacity:.6;cursor:not-allowed;box-shadow:none;transform:none}.btn-secondary{color:var(--text-primary);border:1px solid var(--panel-border);cursor:pointer;background:#ffffff0d;border-radius:10px;padding:10px 20px;font-weight:600;transition:all .2s ease-in-out}.btn-secondary:hover{background:#ffffff1a;border-color:#fff3}.nav-group{gap:8px;display:grid}.app-header{z-index:50;border-bottom:1px solid var(--panel-border);-webkit-backdrop-filter:blur(16px);background:#090d16d1;justify-content:space-between;align-items:center;gap:14px;min-height:84px;padding:18px 24px;display:flex;position:relative}.app-header-identity,.app-header-actions{align-items:center;gap:14px;min-width:0;display:flex}.app-header-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px}.app-logo{object-fit:cover;border-radius:12px;width:64px;max-width:100%;height:64px}.app-header-user-copy{min-width:0}.app-header-user-copy strong,.app-header-user-copy p{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.mobile-menu-button{border:1px solid var(--panel-border);width:44px;height:44px;color:var(--text-primary);cursor:pointer;background:#ffffff0f;border-radius:10px;flex:0 0 44px;justify-content:center;align-items:center;font-size:1.45rem;line-height:1;display:none}.sidebar-nav{align-self:start;gap:10px;padding:18px;display:grid}.mobile-nav-backdrop,.mobile-nav-heading,.mobile-nav-logout{display:none}.app-notification{z-index:100;top:calc(96px + env(safe-area-inset-top,0px));border:1px solid var(--status-green-border);color:#ecfdf5;background:#064e3bf7;border-radius:12px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;width:min(440px,100vw - 32px);padding:12px 14px;display:grid;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 14px 42px #0000007a}.app-notification.is-error{border-color:var(--status-red-border);color:#fef2f2;background:#7f1d1df7}.app-notification>span{background:#ffffff24;border-radius:50%;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.app-notification strong{overflow-wrap:anywhere;min-width:0}.app-notification button{width:36px;height:36px;color:inherit;cursor:pointer;background:#ffffff1a;border:0;border-radius:8px;font-size:1.35rem}.nav-group-button{justify-content:space-between;align-items:center;width:100%;display:flex}.nav-submenu{border-left:1px solid var(--panel-border);gap:7px;margin-left:12px;padding-left:12px;display:grid}.nav-submenu .btn-primary,.nav-submenu .btn-secondary{border-radius:8px;justify-content:flex-start;align-items:center;width:100%;padding:9px 12px;font-size:.88rem;display:flex}.form-group{flex-direction:column;gap:8px;margin-bottom:20px;display:flex}.form-group label{color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;font-size:.875rem;font-weight:600}.input-control{border:1px solid var(--panel-border);color:var(--text-primary);background:#0f172a99;border-radius:10px;outline:none;width:100%;padding:12px 16px;transition:all .2s}.input-control:focus{border-color:var(--primary);background:#0f172ad9;box-shadow:0 0 0 3px #6366f126}.input-control::placeholder{color:var(--text-muted)}.input-control.input-invalid{border-color:var(--status-red);box-shadow:0 0 0 3px var(--status-red-bg)}.password-match{color:var(--text-muted);font-size:.78rem;line-height:1.4}.input-invalid+.password-match{color:#fca5a5}.password-match.is-valid{color:var(--status-green)}.link-button{appearance:none;color:#93c5fd;cursor:pointer;text-underline-offset:3px;background:0 0;border:0;padding:0;font-weight:700;text-decoration:underline}.link-button:hover{color:#bfdbfe}.auth-privacy-link{justify-self:center;font-size:.9rem}.auth-resend-code{width:fit-content;margin-top:8px;font-size:.82rem}.auth-screen{place-items:center;min-height:100dvh;padding:24px;display:grid}.auth-card{gap:16px;width:100%;max-width:420px;padding:28px;display:grid}.auth-logo{border-radius:18px;justify-self:center;width:210px;max-width:100%;box-shadow:0 18px 45px #00000059}.auth-tabs{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.auth-tabs button{min-width:0}.auth-status{overflow-wrap:anywhere;text-transform:none;letter-spacing:normal;justify-content:flex-start;width:100%;line-height:1.4}.privacy-consent{border:1px solid var(--panel-border);color:var(--text-secondary);background:#0f172a8c;border-radius:10px;grid-template-columns:20px 1fr;align-items:flex-start;gap:10px;padding:12px;font-size:.9rem;line-height:1.45;display:grid}.privacy-consent input{accent-color:var(--primary);width:18px;height:18px;margin-top:2px}.auth-legal-links,.about-legal-links,.legal-modal-tabs{flex-wrap:wrap;gap:10px;display:flex}.auth-legal-links{justify-content:center}.legal-modal-tabs button{flex:150px}.privacy-content address{color:var(--text-secondary);font-style:normal;line-height:1.6}.privacy-content a,.privacy-content .link-button{overflow-wrap:anywhere}.legal-contact-form{align-content:start}.legal-honeypot{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.privacy-modal{gap:18px;width:min(92vw,860px);max-width:860px;max-height:min(86vh,860px);padding:24px;display:grid;overflow:hidden}.privacy-modal-header{justify-content:space-between;align-items:start;gap:16px;display:flex}.privacy-modal-header h1{font-size:clamp(1.6rem,3vw,2.4rem)}.privacy-content{color:var(--text-secondary);gap:13px;padding-right:6px;display:grid;overflow:auto}.privacy-content h2{color:var(--text-primary);margin-top:8px;font-size:1rem}.privacy-content strong{color:var(--text-primary)}.badge{text-transform:uppercase;letter-spacing:.05em;border-radius:9999px;align-items:center;gap:6px;padding:6px 12px;font-size:.75rem;font-weight:700;display:inline-flex}.badge-green{background-color:var(--status-green-bg);color:var(--status-green);border:1px solid var(--status-green-border)}.badge-yellow{background-color:var(--status-yellow-bg);color:var(--status-yellow);border:1px solid var(--status-yellow-border)}.badge-red{background-color:var(--status-red-bg);color:var(--status-red);border:1px solid var(--status-red-border)}.badge-neutral{color:var(--text-secondary);border:1px solid var(--panel-border);background-color:#ffffff0d}.badge-white{color:var(--text-primary);background-color:#ffffff1f;border:1px solid #ffffff57}.badge-pink{color:#f9a8d4;background-color:#ec48991f;border:1px solid #ec489961}.calendar-alert-count{background:var(--status-yellow-bg);color:var(--status-yellow);border:1px solid var(--status-yellow-border);border-radius:999px;margin-left:6px;padding:2px 7px;font-size:.72rem;font-weight:800;line-height:1.2}.calendar-alert-count-red{color:#fecaca;background:#7f1d1d6b;border-color:#f87171b3}.user-stats-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.user-stats-grid>div{border:1px solid var(--panel-border);background:#ffffff05;border-radius:8px;padding:12px}.user-stats-grid span{color:var(--text-muted);text-transform:uppercase;font-size:.72rem;font-weight:800;display:block}.user-stats-grid strong{margin-top:3px;font-size:1.25rem;display:block}.user-filter-grid{grid-template-columns:minmax(240px,1.4fr) repeat(3,minmax(150px,.65fr));gap:10px;display:grid}.user-table-wrap{border:1px solid var(--panel-border);border-radius:8px;overflow-x:auto}.user-table{border-collapse:collapse;width:100%;min-width:860px}.mobile-user-management,.mobile-dummy-list{display:none}.about-page{gap:22px;padding:24px;display:grid}.page-header,.modal-header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.page-header>div:first-child{gap:5px;display:grid}.page-header h1{font-size:1.5rem}.page-header p{color:var(--text-secondary);line-height:1.5}.page-header-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.connection-status{top:calc(88px + env(safe-area-inset-top,0px));z-index:55;color:#fde68a;text-align:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#78350ff0;border-block:1px solid #f59e0b73;justify-content:center;align-items:center;gap:8px;padding:9px 16px;font-size:.82rem;display:flex;position:sticky}.connection-status>span:first-child{color:#451a03;background:#fbbf24;border-radius:50%;flex:0 0 21px;place-items:center;width:21px;height:21px;font-weight:900;display:grid}.management-filters{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.management-filters .input-control:first-child{flex:260px}.management-filters select.input-control{width:min(220px,100%)}.management-search{margin:12px 0 4px}.about-hero{align-items:center;gap:24px;display:flex}.about-hero img{border-radius:18px;width:180px;max-width:32%}.about-hero>div{gap:8px;display:grid}.about-hero h1{font-size:clamp(1.7rem,4vw,2.6rem)}.about-hero p,.about-developer p,.release-intro,.release-note-format p{color:var(--text-secondary)}.about-developer{border-color:#6366f14d;gap:5px;padding:18px;display:grid}.about-developer>span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:800}.about-developer strong{font-size:1.15rem}.about-contact-link{color:#a5b4fc;overflow-wrap:anywhere;width:fit-content;margin-top:5px;font-size:.9rem;font-weight:750;text-decoration:none}.about-contact-link:hover{color:#c7d2fe;text-decoration:underline}.about-tabs{border:1px solid var(--panel-border);background:#070d1d94;border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;padding:6px;display:grid}.about-tabs button:last-child{grid-column:1/-1}.about-tabs button{min-height:46px;color:var(--text-secondary);font:inherit;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:9px;padding:10px 14px;font-size:.88rem;font-weight:750;transition:all .16s}.about-tabs button:hover{color:var(--text-primary);background:#ffffff0a}.about-tabs button.is-active{color:#fff;background:linear-gradient(135deg,#4f46e5eb,#6366f1c7);border-color:#818cf87a;box-shadow:0 8px 22px #4f46e533}.feature-overview,.about-information{gap:18px;display:grid}.feature-overview-intro{gap:5px;display:grid}.feature-overview-intro p,.about-mission{color:var(--text-secondary);line-height:1.6}.role-feature-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:13px;display:grid}.role-feature-card{border:1px solid var(--panel-border);background:#ffffff06;border-radius:12px;align-content:start;gap:13px;padding:18px;display:grid}.role-feature-card header{align-items:center;gap:10px;display:flex}.role-feature-card header>span{color:#c7d2fe;background:#6366f129;border-radius:10px;flex:0 0 34px;place-items:center;width:34px;height:34px;display:grid}.role-feature-card h3{font-size:1rem}.role-feature-card ul{gap:9px;margin:0;padding:0;list-style:none;display:grid}.role-feature-card li{color:var(--text-secondary);padding-left:17px;font-size:.87rem;line-height:1.5;position:relative}.role-feature-card li:before{content:"";background:#818cf8;border-radius:50%;width:5px;height:5px;position:absolute;top:.63em;left:1px}.role-feature-card.is-staff{border-color:#0ea5e945}.role-feature-card.is-admin{border-color:#f59e0b4d}.about-facts{grid-template-columns:repeat(auto-fit,minmax(175px,1fr));gap:12px;display:grid}.about-facts article{border:1px solid var(--panel-border);background:#ffffff06;border-radius:11px;gap:5px;padding:16px;display:grid}.about-facts span{color:var(--text-muted);letter-spacing:.06em;text-transform:uppercase;font-size:.72rem;font-weight:800}.about-mission{background:#6366f112;border-left:3px solid #6366f1;border-radius:0 10px 10px 0;padding:17px}.release-notes,.release-note-format{gap:16px;display:grid}.release-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.release-heading>div{gap:4px;display:grid}.release-version{color:#a5b4fc;letter-spacing:.06em;font-size:.8rem;font-weight:800}.release-heading time{color:var(--text-muted);white-space:nowrap;font-size:.82rem}.release-feature-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;display:grid}.release-feature-grid article{border:1px solid var(--panel-border);background:#ffffff05;border-radius:10px;align-content:start;gap:6px;padding:15px;display:grid}.release-feature-grid h3{font-size:.95rem}.release-feature-grid p{color:var(--text-secondary);font-size:.84rem;line-height:1.55}.release-note-format{border-top:1px solid var(--panel-border);padding-top:18px}.release-note-format h2{font-size:1.1rem}@media (width<=900px){.user-desktop-filters{display:none}.users-page{padding:18px!important}.user-desktop-table,.dummy-account-panel .user-table-wrap{display:none}.mobile-user-management,.mobile-dummy-list{gap:14px;display:grid}.mobile-user-stats{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.mobile-user-stats>div{border:1px solid var(--panel-border);background:#ffffff06;border-radius:10px;justify-items:center;gap:2px;padding:12px 6px;display:grid}.mobile-user-stats strong{font-size:1.25rem}.mobile-user-stats span{color:var(--text-muted);text-transform:uppercase;font-size:.68rem;font-weight:800}.mobile-user-filters{grid-template-columns:minmax(0,1.5fr) minmax(150px,.7fr);gap:8px;display:grid}.mobile-user-list{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;display:grid}.mobile-user-card{gap:12px;min-width:0;padding:14px;display:grid}.mobile-user-card-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.mobile-user-card-head .user-cell{min-width:0}.mobile-user-card-badges{flex-wrap:wrap;gap:6px;display:flex}.mobile-user-edit{width:100%;min-height:44px}.mobile-user-empty{color:var(--text-muted);text-align:center;padding:18px}}.user-table th,.user-table td{border-bottom:1px solid var(--panel-border);text-align:left;vertical-align:middle;padding:10px 12px}.user-table th{z-index:1;color:var(--text-muted);text-transform:uppercase;background:#0f172af5;font-size:.72rem;font-weight:800;position:sticky;top:0}.user-table tbody tr{cursor:pointer}.user-table tbody tr:hover,.user-table tbody tr.is-selected{background:#6366f117}.user-table tbody tr:last-child td{border-bottom:0}.user-cell{align-items:center;gap:10px;min-width:0;display:flex}.user-cell strong,.user-cell span span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.user-cell span span{max-width:260px;color:var(--text-secondary);font-size:.75rem}.user-avatar{width:30px;height:30px;color:var(--text-primary);background:#ffffff0f;border-radius:999px;flex:none;justify-content:center;align-items:center;font-size:.8rem;font-weight:800;display:inline-flex;overflow:hidden}.user-avatar img{object-fit:cover;width:100%;height:100%;display:block}.user-avatar-sm{width:24px;height:24px;font-size:.7rem}.user-avatar-md{width:54px;height:54px;font-size:1.2rem}.member-label,.member-choice{align-items:center;gap:8px;display:inline-flex}.pair-label{align-items:center;gap:8px;min-width:0;display:inline-flex}.pair-avatar-stack{flex:none;align-items:center;display:inline-flex}.pair-avatar-stack .user-avatar+.user-avatar{margin-left:-8px;box-shadow:0 0 0 2px #0d1426f2}.badge-member{text-transform:none;letter-spacing:0;align-items:center;gap:8px;display:inline-flex}.member-label-list{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.profile-image-row{grid-template-columns:auto minmax(220px,1fr) auto;align-items:center;gap:12px;display:grid}.profile-role-summary{flex-wrap:wrap;gap:8px;margin-top:4px;display:flex}.profile-role-badge{color:#e0e7ff;background:#6366f124;border:1px solid #818cf861;border-radius:999px;align-items:center;min-height:31px;padding:6px 11px;font-size:.78rem;font-weight:800;display:inline-flex}.profile-role-badge.role-admin{color:#fde68a;background:#f59e0b1f;border-color:#f59e0b73}.profile-role-badge.role-server_admin{color:#fef08a;background:linear-gradient(135deg,#a1620738,#f59e0b1a);border-color:#facc158c;box-shadow:0 0 18px #f59e0b17}.profile-role-badge.role-trainer,.profile-role-badge.is-pair{color:#bae6fd;background:#0ea5e91c;border-color:#0ea5e966}.profile-role-badge.is-active{color:#bbf7d0;background:#22c55e1c;border-color:#22c55e66}.profile-role-badge.is-inactive{color:#cbd5e1;background:#64748b1f;border-color:#94a3b857}.profile-role-badge.is-neutral{border-color:var(--panel-border);color:var(--text-secondary);background:#ffffff09}.delete-request-warning{color:#fecaca;align-items:center;gap:5px;width:fit-content;margin-top:5px;font-size:.72rem;font-weight:800;display:inline-flex}.delete-request-panel{background:#7f1d1d1f;border:1px solid #f8717161;border-radius:8px;gap:10px;padding:14px;display:grid}.delete-request-list{gap:8px;display:grid}.delete-request-row{border-top:1px solid #f8717138;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 0;display:grid}.dummy-account-panel{border:1px solid var(--panel-border);background:#ffffff06;border-radius:8px;gap:10px;padding:14px;display:grid}.btn-danger-soft{color:#fecaca;border-color:#f87171a6}.dummy-account-summary{border:1px solid var(--panel-border);color:var(--text-secondary);background:#ffffff0a;border-radius:8px;gap:6px;padding:12px;display:grid}.dummy-account-summary strong{color:var(--text-primary)}.user-actions{flex-wrap:wrap;gap:6px;display:flex}.user-actions .btn-primary,.user-actions .btn-secondary{border-radius:8px;padding:6px 8px;font-size:.72rem}.dancer-status{text-transform:uppercase;border-radius:999px;align-items:center;gap:8px;min-width:118px;padding:6px 10px;font-size:.76rem;font-weight:800;display:inline-flex}.dancer-status-icon,.dancer-toggle-control{border-radius:999px;flex:none;justify-content:center;align-items:center;width:18px;height:18px;font-size:.78rem;font-weight:900;line-height:1;display:inline-flex}.dancer-status.is-active{color:var(--status-green);background:var(--status-green-bg);border:1px solid var(--status-green-border)}.dancer-status.is-active .dancer-status-icon{color:#052e1e;background:var(--status-green);box-shadow:0 0 0 3px #10b98124}.dancer-status.is-inactive{color:var(--text-muted);border:1px solid var(--panel-border);background:#ffffff09}.dancer-status.is-inactive .dancer-status-icon{background:#94a3b829;border:1px solid #94a3b82e}.dancer-toggle{border:1px solid var(--panel-border);cursor:pointer;background:#ffffff06;border-radius:8px;align-items:center;gap:12px;padding:12px;display:flex}.dancer-toggle input{opacity:0;pointer-events:none;position:absolute}.dancer-toggle strong,.dancer-toggle small{display:block}.dancer-toggle strong{font-size:.92rem}.dancer-toggle small{color:var(--text-secondary);margin-top:2px;font-size:.78rem}.dancer-toggle-control{color:#0000;background:#94a3b81f;border:1px solid #94a3b83d;width:28px;height:28px}.dancer-toggle.is-active{border-color:var(--status-green-border);background:var(--status-green-bg)}.dancer-toggle.is-active .dancer-toggle-control{color:#052e1e;background:var(--status-green);border-color:var(--status-green)}.overview-page{gap:18px;padding:22px;display:grid}.overview-head{flex-wrap:wrap;justify-content:space-between;align-items:start;gap:14px;display:flex}.overview-head h1{font-size:1.5rem}.overview-head p,.overview-empty{color:var(--text-secondary)}.overview-grid{grid-template-columns:minmax(0,.9fr) minmax(0,1.1fr);align-items:start;gap:14px;display:grid}.overview-panel{border:1px solid var(--panel-border);background:#ffffff05;border-radius:8px;gap:12px;min-width:0;padding:16px;display:grid}.overview-news{background:linear-gradient(135deg,#0ea5e91c,#6366f114)}.overview-news-item{border:1px solid var(--panel-border);background:#090d1638;border-radius:8px;gap:10px;padding:12px;display:grid}.overview-news-item p{color:var(--text-secondary);margin-top:6px}.overview-news-item small{color:var(--text-muted);margin-top:6px;font-size:.78rem;display:block}.overview-news-form{border:1px solid var(--panel-border);background:#ffffff06;border-radius:8px;gap:10px;padding:12px;display:grid}.overview-news-form h3{font-size:.98rem}.overview-check-row{color:var(--text-secondary);align-items:center;gap:8px;font-size:.9rem;display:flex}.overview-votes{border-color:var(--status-yellow-border);background:#f59e0b0f}.overview-vote-row{border-color:#f59e0b38}.overview-news h2,.overview-section-title h2{margin-top:8px;font-size:1.08rem}.overview-news p{color:var(--text-secondary);margin-top:8px}.overview-section-title{justify-content:space-between;align-items:center;gap:10px;display:flex}.overview-list{gap:10px;display:grid}.music-columns{grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:12px;display:grid}.music-add-button{min-height:36px;box-shadow:none;border-radius:8px;justify-self:start;padding:8px 12px;font-size:.9rem}.music-column{gap:10px;min-width:0;display:grid}.music-column-head{justify-content:space-between;align-items:center;gap:8px;min-height:34px;display:flex}.music-column-head h3{font-size:.98rem}.music-item audio{min-width:0}.music-markers{border:1px solid var(--panel-border);background:#0206173d;border-radius:10px;gap:9px;padding:12px;display:grid}.music-version-title{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.music-version-warning{border:1px solid var(--status-yellow-border);background:var(--status-yellow-bg);border-radius:10px;gap:5px;padding:13px;display:grid}.music-version-warning strong{color:#fbbf24}.music-version-warning p{color:var(--text-secondary);font-size:.84rem;line-height:1.5}.music-marker-heading{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;display:grid}.music-marker-heading>div{gap:2px;display:grid}.music-marker-heading small,.music-marker-empty{color:var(--text-muted);font-size:.76rem}.music-marker-list{gap:6px;display:grid}.music-marker-picker{gap:9px;display:grid}.music-marker-picker>label{gap:5px;display:grid}.music-marker-picker>label>span{color:var(--text-secondary);font-size:.76rem;font-weight:700}.music-marker-row{grid-template-columns:minmax(0,1fr);gap:10px;display:grid}.music-marker-jump{border:1px solid var(--panel-border);min-width:0;color:var(--text-primary);cursor:pointer;text-align:left;background:#6366f114;border-radius:8px;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;padding:9px 11px;display:grid}.music-marker-jump small{color:var(--text-muted);grid-column:2/-1;font-size:.7rem}.music-marker-jump strong{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.music-marker-jump time{color:#a5b4fc;font-variant-numeric:tabular-nums;font-size:.8rem;font-weight:800}.music-marker-delete{border:1px solid var(--status-red-border);background:var(--status-red-bg);color:#fecaca;cursor:pointer;border-radius:8px;min-height:42px;padding:7px 10px;font-family:inherit;font-size:.76rem;font-weight:700}.music-marker-actions{flex-wrap:wrap;align-items:stretch;gap:6px;display:flex}.music-marker-lead-select,.music-marker-edit,.music-marker-pause{border:1px solid var(--panel-border);min-height:42px;color:var(--text-primary);cursor:pointer;background:#ffffff0f;border-radius:8px;font-family:inherit;font-size:.76rem;font-weight:700}.music-marker-pause{color:#bae6fd;background:#0ea5e91f;border-color:#38bdf86b;justify-content:center;align-items:center;gap:7px;padding:7px 11px;display:inline-flex}.music-marker-pause:disabled{opacity:.42;cursor:not-allowed}.music-marker-lead-select{width:100%;max-width:none;padding:7px 8px}.music-marker-lead-control{flex:240px;gap:3px;min-width:0;display:grid}.music-marker-pause,.music-marker-edit,.music-marker-delete{flex:120px}.music-marker-lead-control>span{color:var(--text-muted);text-transform:uppercase;letter-spacing:.04em;font-size:.66rem;font-weight:800}.music-marker-edit{padding:7px 10px}.music-marker-create{grid-template-columns:minmax(0,1fr) minmax(140px,auto) auto;gap:7px;display:grid}.music-marker-open{white-space:nowrap;min-height:44px;padding:9px 13px}.music-marker-modal{overscroll-behavior:contain;background:#0f172afc;gap:18px;width:min(1000px,100vw - 32px);max-height:calc(100dvh - 32px);padding:20px;display:grid;overflow-y:auto}.music-marker-modal-head{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.music-marker-modal-head p,.music-waveform-instructions p{color:var(--text-secondary);margin-top:3px}.music-waveform-instructions{gap:2px;display:grid}.music-waveform-status{border:1px solid var(--panel-border);min-height:210px;color:var(--text-secondary);background:#02061759;border-radius:12px;place-items:center;display:grid}.music-waveform-status.is-error{color:#fecaca;border-color:var(--status-red-border)}.music-waveform-shell{background:linear-gradient(#0f172af5,#020617f5);border:1px solid #6366f159;border-radius:12px;display:grid;position:relative;overflow:hidden}.music-waveform-scroll{overscroll-behavior-x:contain;touch-action:pan-x;scrollbar-color:#6366f180 transparent;width:100%;overflow:auto hidden}.music-waveform-track{align-items:center;width:max-content;min-width:100%;display:flex}.music-waveform-track canvas{flex:none;display:block}.music-waveform-center-line{z-index:2;pointer-events:none;background:#38bdf8;width:3px;position:absolute;top:0;bottom:0;left:50%;transform:translate(-50%);box-shadow:0 0 14px #38bdf8e6}.music-waveform-time{z-index:3;color:#fff;font-variant-numeric:tabular-nums;pointer-events:none;background:#0284c7;border-radius:999px;padding:4px 8px;font-size:.78rem;font-weight:800;position:absolute;top:8px;left:50%;transform:translate(-50%)}.music-marker-place-button{justify-self:center;min-height:48px}.music-waveform-play{justify-content:center;justify-self:center;align-items:center;gap:10px;min-height:48px;padding-inline:20px;display:inline-flex}.music-waveform-play span{color:#7dd3fc}.music-marker-details{justify-self:center;gap:16px;width:min(520px,100%);display:grid}.music-marker-details .form-group{margin-bottom:0}.music-marker-selected-time{border:1px solid var(--panel-border);background:#38bdf814;border-radius:10px;justify-content:space-between;align-items:center;gap:12px;padding:14px;display:flex}.music-marker-selected-time span{color:var(--text-secondary)}.music-marker-selected-time strong{color:#7dd3fc;font-variant-numeric:tabular-nums;font-size:1.2rem}.music-marker-detail-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.overview-event-row{border:1px solid var(--panel-border);background:#090d1638;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px;display:grid}.overview-event-row strong,.overview-event-row span,.overview-event-row small{display:block}.overview-event-row span,.overview-event-row small{color:var(--text-secondary);font-size:.82rem}.overview-row-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.overview-row-actions .btn-secondary{border-radius:8px;padding:7px 10px;font-size:.82rem}.address-action-row{vertical-align:middle;align-items:center;gap:6px;min-width:0;max-width:100%;display:inline-flex}.address-action-row a{color:var(--text-secondary);text-underline-offset:3px;overflow-wrap:anywhere;-webkit-text-decoration:underline #94a3b873;text-decoration:underline #94a3b873}.overview-event-row .calendar-address-line,.calendar-address-line,.calendar-address-line .address-action-row a{color:var(--text-primary)}.calendar-address-line .address-action-row a{text-decoration-color:#ffffff94}.address-action-row a:hover{color:var(--text-primary);text-decoration-color:#ffffffb8}.address-copy-button{border:1px solid var(--panel-border);width:26px;height:26px;color:var(--text-secondary);cursor:pointer;background:#ffffff0d;border-radius:6px;flex:none;place-items:center;display:inline-grid}.address-copy-button:hover{color:var(--text-primary);border-color:#ffffff47}.calendar-layout{grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);align-items:start;gap:18px;display:grid}.calendar-month-header{grid-template-columns:minmax(0,1.1fr) minmax(300px,.9fr);gap:18px;display:grid}.calendar-month-main{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;display:flex}.calendar-month-actions{flex-wrap:wrap;gap:8px;display:flex}.calendar-month-actions .btn-secondary{border-radius:8px;padding:8px 12px;font-size:.86rem}.calendar-action-short{display:none}.calendar-event-indicators{display:contents}.calendar-selected-day-heading{justify-content:space-between;align-items:center;gap:10px;display:flex}.calendar-create-event-button{white-space:nowrap;min-height:40px;padding:8px 12px}.calendar-month-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;display:grid}.calendar-month-grid>strong{color:var(--text-muted);text-align:center;text-transform:uppercase;font-size:.72rem}.calendar-day-cell{border:1px solid var(--panel-border);background:#ffffff03;border-radius:8px;flex-direction:column;gap:4px;min-height:92px;padding:8px;display:flex;overflow:hidden}.calendar-day-clickable{cursor:pointer;transition:border-color .18s,background .18s,transform .18s}.calendar-day-clickable:hover{border-color:var(--primary);background:#6366f114;transform:translateY(-1px)}.calendar-day-selected{border-color:var(--primary);background:#6366f11c}.calendar-day-today{border-color:var(--secondary);background:#0ea5e91a;box-shadow:inset 0 0 0 1px #0ea5e959}.calendar-day-today>div:first-child>span:first-child{background:var(--secondary);color:#03111d;border-radius:999px;justify-content:center;align-items:center;min-width:28px;height:28px;font-weight:800;display:inline-flex}.calendar-day-selected.calendar-day-today{border-color:var(--primary);background:#6366f124;box-shadow:inset 0 0 0 1px #0ea5e973}.calendar-rsvp-alert{border:1px solid var(--status-yellow-border);background:var(--status-yellow-bg);border-radius:8px;gap:10px;padding:14px;display:grid}.calendar-rsvp-alert h3{color:var(--status-yellow);align-items:center;gap:8px;font-size:.95rem;display:flex}.calendar-rsvp-alert-item{background:#090d1647;border:1px solid #f59e0b38;border-radius:8px;gap:10px;padding:12px;display:grid}.calendar-rsvp-summary{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:10px;display:grid}.calendar-rsvp-summary-group{border:1px solid var(--panel-border);background:#ffffff06;border-radius:8px;align-content:start;gap:8px;padding:12px;display:grid}.calendar-rsvp-name-list{flex-wrap:wrap;gap:6px;display:flex}.calendar-rsvp-name-list span{color:var(--text-primary);border:1px solid var(--panel-border);background:#ffffff0f;border-radius:999px;padding:4px 8px;font-size:.82rem;font-weight:600}.calendar-add-button{border:1px solid var(--primary);background:var(--primary);color:#fff;cursor:pointer;width:24px;height:24px;box-shadow:0 4px 12px var(--primary-glow);border-radius:999px;justify-content:center;align-items:center;font-weight:900;line-height:1;display:inline-flex}.calendar-add-button:hover{filter:brightness(1.12)}.calendar-day-cell>span{color:var(--text-primary);font-size:.8rem;font-weight:800}.calendar-event-indicators>small{text-overflow:ellipsis;white-space:nowrap;color:var(--secondary);background:#0ea5e917;border-radius:6px;padding:2px 5px;font-size:.68rem;display:block;overflow:hidden}.calendar-event-indicators>small.badge-green{color:var(--status-green);background:var(--status-green-bg);border:1px solid var(--status-green-border)}.calendar-event-indicators>small.badge-yellow{color:var(--status-yellow);background:var(--status-yellow-bg);border:1px solid var(--status-yellow-border)}.calendar-event-indicators>small.badge-red{color:var(--status-red);background:var(--status-red-bg);border:1px solid var(--status-red-border)}.calendar-event-indicators>small.badge-neutral{color:var(--text-secondary);border:1px solid var(--panel-border);background:#ffffff0d}.calendar-event-indicators>small.badge-white{color:var(--text-primary);background:#ffffff1f;border:1px solid #ffffff57}.calendar-event-indicators>small.badge-pink{color:#f9a8d4;background:#ec48991f;border:1px solid #ec489961}.calendar-day-clickable .calendar-event-indicators>small{cursor:pointer}.calendar-day-clickable .calendar-event-indicators>small:hover{background:#0ea5e92e}.modal-backdrop{z-index:70;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);overscroll-behavior:none;touch-action:none;background:#020617c7;place-items:center;padding:24px;display:grid;position:fixed;inset:0;overflow:hidden}.modal-backdrop>*{touch-action:pan-y}.confirm-backdrop{z-index:90;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#020617db}.calendar-modal{overscroll-behavior:contain;-webkit-overflow-scrolling:touch;background:#0f172afa;border:1px solid #fff3;flex-direction:column;gap:14px;width:min(860px,100vw - 48px);max-height:calc(100dvh - 48px);padding:22px;display:flex;overflow-y:auto;box-shadow:0 26px 80px #0000009e,0 0 0 1px #5b53f629}.calendar-date-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;width:100%;min-width:0;display:grid}.calendar-date-fields label{min-width:0;color:var(--text-secondary);text-transform:uppercase;letter-spacing:.04em;gap:6px;font-size:.78rem;font-weight:700;display:grid}.calendar-date-fields input[type=datetime-local]{text-align:left;width:100%;min-width:0;max-width:100%;display:block}.confirm-modal{background:#0f172afa;border:1px solid #ffffff38;gap:18px;width:min(440px,100%);padding:22px;display:grid;box-shadow:0 26px 80px #000000b8,0 0 0 1px #5b53f63d}.confirm-modal h2{font-size:clamp(1.5rem,4vw,2.2rem)}.confirm-modal p{font-size:1.05rem;line-height:1.45;color:var(--text-primary)!important}.dashboard-grid{grid-template-columns:320px 1fr;align-content:start;align-items:start;gap:24px;max-width:1400px;min-height:calc(100dvh - 120px);margin:0 auto;padding:24px;display:grid}.member-task-columns{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:24px;display:grid}.member-task-column{border:1px solid var(--panel-border);background:#ffffff03;border-radius:8px;flex-direction:column;gap:12px;min-width:0;padding:16px;display:flex}.weekly-overview-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:14px;display:grid}.weekly-overview-card{align-content:start;gap:10px;padding:14px;display:grid}.weekly-overview-card img{object-fit:contain;background:#ffffff09;border-radius:8px;width:100%;height:auto;max-height:360px}.weekly-overview-card strong,.weekly-overview-card p{display:block}.weekly-overview-card p{color:var(--text-secondary);margin-top:4px}.large-figure-role-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;display:grid}.large-figure-picker{border:1px solid var(--panel-border);background:#ffffff05;border-radius:8px;gap:10px;padding:12px;display:grid}.large-figure-picker h3{font-size:.98rem}.large-figure-picker>div,.large-figure-meta{flex-wrap:wrap;gap:8px;display:flex}.large-figure-picker label{align-items:center;gap:8px;display:inline-flex}.large-figure-pairing-list{gap:8px;display:grid}.large-figure-pairing-row{border:1px solid var(--panel-border);background:#ffffff06;border-radius:8px;grid-template-columns:minmax(0,1fr) minmax(140px,auto) auto;align-items:center;gap:8px;padding:10px;display:grid}.large-figure-pairing-row span,.large-figure-pairing-row strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.large-figure-exercise-list{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;display:grid}.large-figure-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:14px;display:grid}.large-figure-card{gap:12px;padding:16px;display:grid}.large-figure-card p{color:var(--text-secondary);margin-top:4px}.large-figure-overview-list{gap:14px;display:grid}.large-figure-overview-card{gap:14px;padding:16px;display:grid}.large-figure-overview-card header p{color:var(--text-secondary);margin-top:4px}.large-figure-media-block{gap:10px;display:grid}.large-figure-media-grid{grid-template-columns:repeat(auto-fit,minmax(120px,1fr));gap:8px;display:grid}.large-figure-media-item{gap:8px;min-width:0;display:grid}.large-figure-media-preview{width:100%;color:inherit;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:8px;padding:0;display:grid;position:relative;overflow:hidden}.large-figure-media-preview img{object-fit:contain;border:1px solid var(--panel-border);background:#ffffff09;border-radius:8px;width:100%;height:auto;max-height:420px}.large-figure-media-preview video{aspect-ratio:16/9;object-fit:cover;border:1px solid var(--panel-border);background:#ffffff09;border-radius:8px;width:100%}.large-figure-media-item.is-featured .large-figure-media-preview img{max-height:560px}.large-figure-media-item.is-featured .large-figure-media-preview video{aspect-ratio:16/9}.large-figure-media-badge{color:#fff;background:#5b53f6eb;border-radius:999px;padding:4px 8px;font-size:.76rem;font-weight:800;position:absolute;top:8px;left:8px}.large-figure-media-badge-secondary{background:#0f172ad1;top:auto;bottom:8px}.large-figure-media-actions{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.large-figure-media-actions .btn-primary,.large-figure-media-actions .btn-secondary{min-height:36px;padding:8px 10px;font-size:.82rem}.large-figure-current-primary{min-height:36px;color:var(--text-secondary);background:#5b53f624;border:1px solid #5b53f673;border-radius:8px;align-items:center;padding:8px 10px;font-size:.82rem;font-weight:800;display:inline-flex}.large-figure-gallery-modal{gap:16px;width:min(94vw,1100px);max-height:min(88vh,920px);padding:22px;display:grid;overflow:hidden}.large-figure-gallery-upload{border:1px solid var(--panel-border);background:#ffffff06;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:12px;display:flex}.large-figure-gallery-upload p{color:var(--text-secondary);margin:4px 0 0}.large-figure-gallery-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr));gap:12px;padding-right:4px;display:grid;overflow:auto}.large-figure-gallery-item{align-content:start;gap:8px;min-width:0;display:grid}.large-figure-gallery-item .large-figure-media-preview img{max-height:320px}.large-figure-gallery-item .large-figure-media-preview video{aspect-ratio:16/9}.large-figure-assignment-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.large-figure-assignment-grid section{border:1px solid var(--panel-border);background:#ffffff05;border-radius:8px;align-content:start;gap:8px;min-width:0;padding:12px;display:grid}.large-figure-assignment-grid h3{font-size:.92rem}.large-figure-assignment-grid section>div{flex-wrap:wrap;gap:8px;min-width:0;display:flex}.weekly-task-card{cursor:pointer;border-radius:8px;gap:10px;min-width:0;padding:14px;display:grid;position:relative}.weekly-task-card input{width:18px;height:18px;accent-color:var(--primary);position:absolute;top:12px;right:12px}.weekly-task-card.is-selected{border-color:var(--primary);background:#6366f11f}.weekly-task-card img{object-fit:contain;background:#ffffff09;border-radius:8px;width:100%;height:auto;max-height:360px}.weekly-task-card span,.weekly-task-card strong,.weekly-task-card small{display:block}.weekly-task-card small,.weekly-task-card p,.weekly-task-card ul{color:var(--text-secondary)}.weekly-task-card ul{gap:4px;margin:0;padding-left:18px;display:grid}.weekly-assignment-notice{border:1px solid var(--status-green-border);border-left:4px solid var(--status-green);background:var(--status-green-bg);border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;padding:14px 16px;display:flex}.weekly-assignment-notice strong{color:var(--text-primary)}.weekly-assignment-notice p{color:var(--text-secondary);margin:2px 0 0}.weekly-assignment-summary{flex-wrap:wrap;gap:8px;display:flex}.weekly-assignment-info{border:1px solid var(--status-yellow-border);border-left:4px solid var(--status-yellow);background:var(--status-yellow-bg);color:var(--text-primary);border-radius:8px;padding:12px 14px;font-weight:700}.upload-status{border:1px solid var(--panel-border);background:#ffffff06;border-radius:8px;gap:7px;padding:10px;display:grid}.upload-status-head{color:var(--text-secondary);justify-content:space-between;gap:10px;font-size:.82rem;display:flex}.upload-status-head strong{color:var(--text-primary)}.upload-progress-track{background:#94a3b829;border-radius:999px;height:7px;overflow:hidden}.upload-progress-track span{border-radius:inherit;background:var(--status-green);height:100%;transition:width .16s;display:block}.evidence-grid{grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:8px;display:grid}.task-checkpoints{border:1px solid var(--panel-border);background:#ffffff06;border-radius:8px;gap:7px;padding:10px;display:grid}.task-checkpoints>strong{color:var(--text-secondary);font-size:.82rem}.task-checkpoint{color:var(--text-secondary);grid-template-columns:20px minmax(0,1fr);align-items:start;gap:8px;font-size:.86rem;display:grid}.task-checkpoint span{border-radius:999px;justify-content:center;align-items:center;width:18px;height:18px;font-size:.72rem;font-weight:900;display:inline-flex}.task-checkpoint p{margin:0}.task-checkpoint.is-complete{color:var(--text-primary)}.task-checkpoint.is-complete span{color:#052e1e;background:var(--status-green)}.task-checkpoint.is-open span{background:#94a3b81f;border:1px solid #94a3b842}.task-checkpoints-action{background:#ffffff04}.task-checkpoint-action{cursor:pointer;position:relative}.task-checkpoint-action input{opacity:0;pointer-events:none;position:absolute}.task-checkpoint-action p{color:var(--text-secondary)}.task-checkpoint-action.is-complete p{color:var(--text-primary)}.task-checkpoint-action:focus-within span{outline-offset:2px;outline:2px solid #60a5fa9e}.evaluation-comment{border:1px solid #0ea5e93d;border-left:4px solid var(--secondary);background:#0ea5e914;border-radius:8px;gap:6px;padding:11px 12px;display:grid}.evaluation-comment strong{color:var(--text-primary);font-size:.82rem}.evaluation-comment p{color:var(--text-primary);white-space:pre-wrap;margin:0}.submission-comment{border:1px solid #f59e0b42;border-left:4px solid var(--status-yellow);background:#f59e0b14;border-radius:8px;gap:6px;padding:11px 12px;display:grid}.submission-comment strong{color:var(--text-primary);font-size:.82rem}.submission-comment p{color:var(--text-primary);white-space:pre-wrap;margin:0}.evidence-thumb,.evidence-video-thumb{border:1px solid var(--panel-border);cursor:pointer;background:#ffffff09;border-radius:8px;width:100%;min-width:0;padding:0;position:relative;overflow:hidden}.evidence-thumb img{object-fit:contain;background:#ffffff09;width:100%;height:auto;max-height:320px;display:block}.evidence-video-thumb video{aspect-ratio:16/9;object-fit:cover;width:100%;display:block}.evidence-thumb span{color:var(--text-primary);background:#090d16d1;border-radius:999px;padding:3px 6px;font-size:.68rem;font-weight:800;position:absolute;bottom:6px;right:6px}.evidence-thumb:hover,.evidence-video-thumb:hover{border-color:var(--primary);box-shadow:0 0 0 3px #6366f129}.evidence-video-thumb{color:var(--text-primary);gap:8px;padding-bottom:10px;font-weight:800;display:grid}.media-preview-modal{gap:14px;width:min(1100px,100%);max-height:calc(100dvh - 48px);padding:18px;display:grid}.media-preview-head{justify-content:space-between;align-items:center;gap:12px;display:flex}.media-preview-head h2{font-size:1.05rem}.media-preview-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.media-preview-content{object-fit:contain;border-radius:8px;max-width:100%;max-height:calc(100dvh - 150px);margin:0 auto;display:block}.media-preview-stage{place-items:center;min-height:0;display:grid;position:relative}.media-preview-nav{z-index:2;color:#ffffffe6;cursor:pointer;opacity:0;background:0 0;border:0;width:50%;font-size:clamp(2.5rem,7vw,5rem);font-weight:700;transition:opacity .15s,background .15s;position:absolute;top:0;bottom:0}.media-preview-stage:hover .media-preview-nav,.media-preview-nav:focus-visible{opacity:1}.media-preview-nav-left{text-align:left;padding-left:18px;left:0}.media-preview-nav-right{text-align:right;padding-right:18px;right:0}.media-preview-nav-left:hover{background:linear-gradient(90deg,#0f172a73,#0000)}.media-preview-nav-right:hover{background:linear-gradient(270deg,#0f172a73,#0000)}.media-preview-thumbs{gap:8px;padding:2px 2px 8px;display:flex;overflow-x:auto}.media-preview-thumb{cursor:pointer;background:#ffffff0d;border:2px solid #0000;border-radius:8px;flex:none;width:84px;height:62px;padding:0;position:relative;overflow:hidden}.media-preview-thumb.is-active{border-color:var(--primary)}.media-preview-thumb img,.media-preview-thumb video{object-fit:cover;width:100%;height:100%;display:block}.media-preview-thumb span{color:#fff;background:#0f172ad1;border-radius:999px;padding:2px 5px;font-size:.68rem;font-weight:800;position:absolute;bottom:5px;left:6px}.annotation-toolbar{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.annotation-toolbar .btn-primary,.annotation-toolbar .btn-secondary{border-radius:8px;padding:7px 10px;font-size:.82rem}.color-swatch{cursor:pointer;border:2px solid #ffffff47;border-radius:999px;width:28px;height:28px;padding:0}.color-swatch.is-selected{border-color:var(--text-primary);box-shadow:0 0 0 3px #ffffff29}.annotation-canvas{cursor:crosshair;touch-action:none}.review-mode-switch{border:1px solid var(--panel-border);background:#ffffff06;border-radius:8px;flex-wrap:wrap;align-items:center;gap:8px;padding:6px;display:flex}.review-mode-switch .btn-primary,.review-mode-switch .btn-secondary{border-radius:8px}.member-task-mode-switch{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:10px;display:grid}.member-task-mode-switch .member-task-mode-tab{text-align:left;align-content:center;justify-items:start;gap:4px;min-height:82px;padding:14px 16px;display:grid}.member-task-mode-tab strong,.member-task-mode-tab small{display:block}.member-task-mode-tab strong{font-size:.98rem}.member-task-mode-tab small{color:var(--text-secondary);font-size:.76rem;font-weight:500;line-height:1.35}.member-task-mode-tab.btn-primary small{color:#ffffffd1}.member-task-mode-content{border:1px solid var(--panel-border);background:#02061733;border-radius:12px;gap:16px;padding:16px;display:grid}.member-task-mode-heading{border-bottom:1px solid var(--panel-border);gap:3px;padding-bottom:12px;display:grid}.member-task-mode-heading span{font-size:1.15rem;font-weight:800}.member-task-mode-heading p{color:var(--text-secondary);font-size:.84rem}.weekly-review-group-card{gap:10px;padding:14px;display:grid}.weekly-review-group-card p{color:var(--text-secondary);margin-top:4px}.weekly-review-members{flex-wrap:wrap;gap:7px;display:flex}.system-backup-card,.system-backup-entry{min-width:0}.system-tabs{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.system-tabs .btn-primary,.system-tabs .btn-secondary{min-height:42px}.system-backup-list{gap:10px;max-height:min(560px,62vh);padding-right:6px;display:grid;overflow-y:auto}.system-backup-entry{border-bottom:1px solid var(--panel-border);gap:2px;padding:10px 0;display:grid}.system-backup-entry:last-child{border-bottom:0}.system-backup-entry strong,.system-backup-entry small{overflow-wrap:anywhere;word-break:break-word;min-width:0;max-width:100%}.review-task-columns{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:start;gap:18px;display:grid}.review-task-column{border:1px solid var(--panel-border);background:#ffffff03;border-radius:8px;flex-direction:column;gap:14px;min-width:0;padding:16px;display:flex}@media (width<=900px){.app-header{padding-top:calc(18px + env(safe-area-inset-top,0px));padding-right:calc(24px + env(safe-area-inset-right,0px));padding-left:calc(24px + env(safe-area-inset-left,0px))}.dashboard-grid{padding-top:20px;padding-right:calc(20px + env(safe-area-inset-right,0px));padding-bottom:calc(20px + env(safe-area-inset-bottom,0px));padding-left:calc(20px + env(safe-area-inset-left,0px));grid-template-columns:1fr}.dashboard-grid>:not(.sidebar-nav){min-width:0}.mobile-menu-button{display:inline-flex}.sidebar-nav{z-index:80;width:min(86vw,340px);max-height:100dvh;padding-top:calc(20px + env(safe-area-inset-top,0px));padding-right:calc(18px + env(safe-area-inset-right,0px));padding-bottom:calc(20px + env(safe-area-inset-bottom,0px));padding-left:calc(18px + env(safe-area-inset-left,0px));visibility:hidden;background:#0f172afa;border-radius:0 16px 16px 0;align-content:start;transition:transform .25s,visibility .25s;position:fixed;top:0;bottom:0;left:0;overflow-y:auto;transform:translate(-105%)}.sidebar-nav.is-mobile-open{visibility:visible;transform:translate(0)}body.mobile-nav-visible{overflow:hidden}.mobile-nav-heading{justify-content:space-between;align-items:center;min-height:44px;margin-bottom:4px;font-size:1.1rem;display:flex}.mobile-nav-heading button{border:1px solid var(--panel-border);width:44px;height:44px;color:var(--text-primary);cursor:pointer;background:#ffffff0f;border-radius:10px;justify-content:center;align-items:center;font-size:1.55rem;display:inline-flex}.sidebar-nav>button,.sidebar-nav .nav-group-button{min-height:44px}.mobile-nav-logout{border-color:var(--status-red-border);color:#fecaca;margin-top:10px;display:block}.mobile-nav-backdrop{z-index:75;-webkit-backdrop-filter:blur(3px);background:#020617b8;border:0;width:100%;display:block;position:fixed;inset:0}.review-task-columns,.member-task-columns,.user-stats-grid,.user-filter-grid,.large-figure-assignment-grid,.music-columns,.overview-grid,.overview-event-row,.calendar-layout,.calendar-month-header,.profile-image-row{grid-template-columns:1fr}.overview-row-actions{justify-content:flex-start}.calendar-month-grid{min-width:0}.calendar-layout{overflow-x:visible}}@media (width<=600px){.music-marker-heading{grid-template-columns:minmax(0,1fr) auto}.music-marker-heading .music-marker-open{grid-column:1/-1;width:100%}.music-marker-row{grid-template-columns:minmax(0,1fr)}.music-marker-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.music-marker-lead-select{width:100%;max-width:none}.music-marker-lead-control{grid-column:1/-1;min-width:0}.music-marker-pause{grid-column:1/-1}.music-marker-edit,.music-marker-delete,.music-marker-pause{width:100%}.music-marker-modal{gap:14px;width:100%;max-height:calc(100dvh - 24px);padding:15px}.music-marker-modal-head h2{font-size:1.2rem}.music-marker-modal-head .btn-secondary{min-height:42px;padding:8px 10px}.music-marker-place-button,.music-waveform-play,.music-marker-detail-actions>button{width:100%}.music-marker-create{grid-template-columns:minmax(0,1fr)}.music-marker-create .btn-secondary{min-height:44px}.about-page{gap:18px;padding:16px}.about-hero{gap:14px;display:grid}.about-hero img{width:150px;max-width:70%}.about-tabs{grid-template-columns:repeat(2,minmax(0,1fr));display:grid;overflow:visible}.about-tabs button{white-space:normal;min-width:0}.about-tabs button:last-child{grid-column:1/-1}.role-feature-grid,.about-facts{grid-template-columns:minmax(0,1fr)}.role-feature-card{padding:15px}.release-heading{gap:8px;display:grid}.release-feature-grid{grid-template-columns:minmax(0,1fr)}.users-page{padding:14px!important}.mobile-user-filters,.mobile-user-list{grid-template-columns:minmax(0,1fr)}.mobile-user-card-head{align-items:center}.mobile-user-card-head>.badge{padding:5px 8px;font-size:.66rem}.member-tasks-page{padding:14px!important}.member-task-mode-switch{gap:7px;padding:7px}.member-task-mode-switch .member-task-mode-tab{min-height:96px;padding:10px}.member-task-mode-tab strong{font-size:.86rem}.member-task-mode-tab small{font-size:.69rem}.member-task-mode-content{padding:12px}.auth-screen{min-height:100dvh;padding-top:calc(clamp(20px, 5dvh, 52px) + env(safe-area-inset-top,0px));padding-right:calc(12px + env(safe-area-inset-right,0px));padding-bottom:calc(16px + env(safe-area-inset-bottom,0px));padding-left:calc(12px + env(safe-area-inset-left,0px));place-items:start center}.auth-card{border-radius:16px;gap:14px;max-width:460px;padding:20px 16px}.auth-logo{justify-self:center;width:156px}.auth-tabs{gap:5px}.auth-tabs .btn-primary,.auth-tabs .btn-secondary{min-height:44px;padding:8px 5px;font-size:.78rem}.auth-card .form-group{gap:6px;margin-bottom:0}.auth-card .form-group label{font-size:.78rem}.auth-card .input-control{min-height:48px;padding:12px 14px;font-size:16px}.auth-card>.btn-primary{min-height:48px}.auth-card .privacy-consent{font-size:.82rem}.auth-privacy-link{min-height:40px;padding:8px}.app-notification{top:calc(80px + env(safe-area-inset-top,0px));width:calc(100vw - 24px - env(safe-area-inset-left,0px) - env(safe-area-inset-right,0px))}.app-header{min-height:calc(68px + env(safe-area-inset-top,0px));padding-top:calc(10px + env(safe-area-inset-top,0px));padding-right:calc(12px + env(safe-area-inset-right,0px));padding-bottom:10px;padding-left:calc(12px + env(safe-area-inset-left,0px));position:sticky;top:0}.app-header-identity{gap:9px}.app-logo{width:52px;height:52px}.app-header-identity>.user-avatar,.app-header-user-copy,.app-logout-button{display:none}.app-header-actions .member-choice{min-height:44px;padding:8px 10px}.dashboard-grid{padding-top:12px;padding-right:calc(12px + env(safe-area-inset-right,0px));padding-bottom:calc(12px + env(safe-area-inset-bottom,0px));padding-left:calc(12px + env(safe-area-inset-left,0px));min-height:calc(100dvh - 68px - env(safe-area-inset-top,0px));gap:14px}.calendar-page{gap:14px!important;padding:14px 10px!important}.calendar-date-fields{grid-template-columns:minmax(0,1fr)}.calendar-date-fields input[type=datetime-local]{appearance:none;box-sizing:border-box;block-size:48px;inline-size:100%;height:48px;min-height:48px;max-height:48px;padding:10px 12px;font-size:16px;line-height:24px;overflow:hidden}.calendar-date-fields input[type=datetime-local]::-webkit-datetime-edit{min-width:0;padding:0;line-height:24px;display:block}.calendar-date-fields input[type=datetime-local]::-webkit-datetime-edit-fields-wrapper{padding:0}.calendar-date-fields input[type=datetime-local]::-webkit-date-and-time-value{text-align:left;min-height:24px;margin:0;padding:0}.calendar-page>h1{padding:0 4px;font-size:1.25rem!important}.calendar-month-main{grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:0 4px;display:grid}.calendar-month-main h2{text-transform:capitalize;color:var(--text-primary)!important;font-size:1.05rem!important}.calendar-month-actions{flex-wrap:nowrap;gap:4px}.calendar-month-actions .btn-secondary{min-width:38px;min-height:38px;padding:5px 8px}.calendar-action-long{display:none}.calendar-action-short{font-size:1.6rem;line-height:1;display:inline}.calendar-month-grid{gap:2px;width:100%}.calendar-month-grid>strong{padding:4px 0 6px;font-size:.68rem}.calendar-day-cell{background:0 0;border-color:#0000;border-radius:10px;align-items:center;gap:3px;min-width:0;min-height:54px;padding:4px 1px;position:relative;overflow:visible}.calendar-day-cell>div:first-child{width:100%;justify-content:center!important}.calendar-day-cell>div:first-child>span:first-child{border-radius:50%;justify-content:center;align-items:center;width:30px;height:30px;font-size:.82rem;font-weight:700;display:inline-flex}.calendar-day-selected{background:#6366f11f;border-color:#0000}.calendar-day-selected>div:first-child>span:first-child{background:var(--primary);color:#fff}.calendar-day-today{box-shadow:none;background:0 0;border-color:#0000}.calendar-day-today>div:first-child>span:first-child{width:30px;min-width:30px;height:30px}.calendar-day-selected.calendar-day-today{box-shadow:none;background:#6366f11f;border-color:#0000}.calendar-add-button{width:20px;height:20px;box-shadow:none;color:#a5b4fc;background:0 0;border:0;font-size:1.15rem;display:inline-flex;position:absolute;top:2px;right:1px}.calendar-event-indicators{justify-content:center;align-items:center;gap:3px;min-height:6px;display:flex}.calendar-event-indicators>small,.calendar-event-indicators>small[class]{background:var(--secondary);color:#0000;border:0;border-radius:50%;flex:0 0 5px;width:5px;height:5px;padding:0;font-size:0;display:block;overflow:hidden}.calendar-event-indicators>small.badge-green{background:var(--status-green)}.calendar-event-indicators>small.badge-yellow{background:var(--status-yellow)}.calendar-event-indicators>small.badge-red{background:var(--status-red)}.calendar-event-indicators>small.badge-neutral{background:var(--text-secondary)}.calendar-event-indicators>small.badge-white{background:var(--text-primary)}.calendar-event-indicators>small.badge-pink{background:#ec4899}.calendar-layout>div:last-child{padding:4px}.calendar-rsvp-alert{order:2}.calendar-selected-day-heading{min-height:44px;scroll-margin-top:calc(84px + env(safe-area-inset-top,0px))}.calendar-create-event-button{min-height:40px;padding:8px 10px;font-size:.8rem}.glass-panel{border-radius:12px}.modal-backdrop{padding:12px}.calendar-modal,.confirm-modal,.privacy-modal{width:100%;max-height:calc(100dvh - 24px);padding:16px}}@media (prefers-reduced-motion:reduce){.sidebar-nav{transition:none}}
