.help-panel{display:flex;justify-content:flex-end}.help-panel-trigger{display:inline-flex;align-items:center;padding:.25rem .7rem;border-radius:999px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font-weight:600;font-size:.75rem}.help-panel-trigger:hover{border-color:var(--color-primary);color:var(--color-primary)}.help-panel-overlay{position:fixed;inset:0;background:#0f172a80;display:flex;align-items:center;justify-content:center;padding:1.5rem;z-index:1000}.help-panel-modal{width:100%;max-width:560px;background:var(--color-surface);border-radius:16px;border:1px solid var(--color-border);box-shadow:0 18px 50px #0f172a40;padding:1.5rem}.help-panel-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.help-panel-title h3{margin:0;font-size:1.2rem;color:var(--color-text)}.help-panel-close{display:inline-flex;align-items:center;justify-content:center;border:none;background:var(--color-bg);color:var(--color-text);border-radius:999px;width:32px;height:32px;font-size:1.25rem;line-height:1;padding:0}.help-panel-list{list-style:none;padding:0;margin:0;display:grid;gap:.75rem}.help-panel-item{display:flex;align-items:flex-start;gap:.6rem;color:var(--color-text);font-size:.98rem}.help-panel-text{line-height:1.4}.current-classes-container{display:flex;justify-content:center;align-items:flex-start;min-height:calc(100vh - 80px);padding:2rem}.current-classes-card{background:var(--color-surface);border-radius:8px;padding:2.5rem;width:100%;max-width:960px;box-shadow:0 4px 20px #00000014;border:1px solid var(--color-border)}.current-classes-header{display:flex;justify-content:space-between;align-items:center;gap:1rem}.current-classes-header h2{margin:0;font-size:2rem}.current-classes-subtitle{color:var(--color-muted);margin:.5rem 0 1.5rem}.current-classes-groups{display:grid;gap:1.5rem}.current-classes-student-heading{display:flex;justify-content:space-between;align-items:baseline;gap:1rem;margin-bottom:.75rem}.current-classes-student h3{margin:0;font-size:1.25rem}.current-classes-student-tuition,.current-classes-tuition{margin:0;font-weight:600;white-space:nowrap}.current-classes-tuition{color:var(--color-text)}.current-classes-day h4{margin:.75rem 0 .5rem;color:var(--color-muted);font-size:.85rem;text-transform:uppercase;letter-spacing:.04em}.current-classes-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem}.current-classes-card-item{border:1px solid var(--color-border);border-radius:8px;padding:1rem;background:var(--color-bg)}.current-classes-card-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.4rem}.current-classes-card-item h4{margin:0;font-size:1.05rem;text-transform:none;letter-spacing:0;color:var(--color-text)}.btn-drop{background:transparent;color:var(--color-error);border-color:var(--color-error)}.btn-drop:disabled{opacity:.6}.current-classes-card-item p{margin:.2rem 0}.current-classes-meta{color:var(--color-muted);font-size:.9rem}@media(max-width:640px){.current-classes-container{padding:1rem}.current-classes-card{padding:1.5rem}}.family-members-container{margin-top:1rem}.family-members-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem}.family-members-header h3{margin:0}.family-members-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:1.25rem}.family-member-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:1.25rem}.member-photo{display:flex;flex-direction:column;align-items:flex-start;gap:.6rem;margin-bottom:1rem}.member-photo img,.member-photo-placeholder{width:72px;height:72px;border-radius:8px;object-fit:cover;border:1px solid var(--color-border);background:var(--color-bg)}.member-photo-placeholder{background:repeating-linear-gradient(135deg,var(--color-bg),var(--color-bg) 8px,var(--color-border) 8px,var(--color-border) 9px)}.member-photo-picker{font-size:.85rem;font-weight:600;color:var(--color-primary);cursor:pointer}.member-photo-picker input{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.member-header{display:flex;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.85rem;padding-bottom:.85rem;border-bottom:1px solid var(--color-border)}.member-header h4{margin:0}.member-actions{display:flex;gap:.5rem}.member-details{display:flex;flex-direction:column;gap:.5rem}.detail-item{display:flex;gap:.5rem}.detail-item .label{font-weight:600;color:var(--color-muted);min-width:56px}.member-age{color:var(--color-muted);font-weight:600}.btn-primary{background:var(--color-primary);color:var(--color-on-primary)}.btn-edit,.btn-secondary{background:var(--color-bg);color:var(--color-text);border-color:var(--color-border)}.btn-delete{background:transparent;color:var(--color-error);border-color:var(--color-error)}.edit-form{margin-bottom:1.5rem;padding:1.25rem;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group-full{grid-column:1 / -1}.form-actions{display:flex;gap:.75rem;margin-top:1rem}.error-message{background:#fef3f2;color:var(--color-error);padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem;border-left:4px solid var(--color-error)}.success-message{background:#ecfdf3;color:var(--color-success);padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem;border-left:4px solid var(--color-success)}.family-member-form .form-group{display:flex;flex-direction:column;gap:.4rem}.family-member-form input,.family-member-form textarea{padding:.7rem .85rem;border:2px solid var(--color-border);border-radius:8px;font-family:inherit}@media(max-width:640px){.form-grid{grid-template-columns:1fr}}.app-header{background:var(--color-surface);border-bottom:1px solid var(--color-border);padding:1.25rem 0;position:sticky;top:0;z-index:100;box-shadow:0 1px 3px #0000000d}.header-container{max-width:1400px;margin:0 auto;padding:0 2rem;display:flex;align-items:center;justify-content:space-between;gap:1rem}.logo-container{display:flex;align-items:center;gap:.75rem;cursor:pointer}.logo-container:hover{opacity:.85}.studio-logo-image{height:44px;width:auto;object-fit:contain;display:block;max-width:200px}.studio-logo-text{font-size:1.35rem;font-weight:800;color:var(--color-primary);letter-spacing:-.02em}.header-nav{display:flex;align-items:center;gap:.75rem}.nav-link{color:var(--color-text);background:transparent;border:none;text-decoration:none;font-weight:600;font-size:1rem;padding:.5rem 1rem;border-radius:6px}.nav-link:hover{background:var(--color-bg);color:var(--color-primary)}.nav-link.active{color:var(--color-primary);background:var(--color-bg)}.sign-out-link{border:1px solid var(--color-primary);color:var(--color-primary)}.sign-out-link:hover{background:var(--color-primary);color:var(--color-on-primary)}.profile-name{color:var(--color-muted);font-weight:600;font-size:.9rem}@media(max-width:720px){.header-container{padding:0 1rem;flex-wrap:wrap}.studio-logo-text,.profile-name{display:none}}.schedule-container{display:flex;justify-content:center;padding:2rem}.schedule-card{width:100%;max-width:1100px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;padding:2rem}.schedule-header{display:flex;justify-content:space-between;align-items:center;gap:1rem}.schedule-header h2,.schedule-card h3{margin:0}.schedule-card h3{margin:1.5rem 0 .75rem}.schedule-card h4{margin:0 0 .5rem}.schedule-subtitle{color:var(--color-muted);margin:.5rem 0 0}.schedule-age-tabs{display:flex;flex-wrap:wrap;gap:.5rem;margin:1.25rem 0 .75rem}.schedule-age-tab{background:var(--color-bg);color:var(--color-text);border:1px solid var(--color-border);border-radius:999px;padding:.4rem .85rem;font-size:.9rem}.schedule-age-tab.active{background:var(--color-primary);color:var(--color-on-primary);border-color:var(--color-primary)}.schedule-page-notes{display:flex;flex-wrap:wrap;gap:.4rem;margin-bottom:.75rem}.schedule-filters{display:flex;flex-direction:column;align-items:stretch;gap:.75rem;margin:.5rem 0 1rem}.schedule-filter{display:flex;flex-direction:column;gap:.25rem;font-size:.8rem;font-weight:600;color:var(--color-muted)}.schedule-filter select,.schedule-filter input{min-width:10rem;padding:.45rem .6rem;border:1px solid var(--color-border);border-radius:6px;background:var(--color-surface);color:var(--color-text);font:inherit;font-weight:500}.schedule-filter-search{flex:1;min-width:12rem}.schedule-filter-search input{width:100%}.schedule-advanced{font-size:.8rem;font-weight:600;color:var(--color-muted)}.schedule-advanced summary{cursor:pointer;width:fit-content;-webkit-user-select:none;user-select:none}.schedule-advanced-filters{display:flex;flex-wrap:wrap;gap:.75rem 1rem;margin-top:.5rem}.schedule-groups{display:grid;gap:.5rem}.schedule-day h3{font-size:1.1rem}.schedule-level h4{color:var(--color-muted);font-size:.85rem;text-transform:uppercase;letter-spacing:.04em;margin:.75rem 0 .5rem}.schedule-class-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:1rem}.schedule-class-card{border:1px solid var(--color-border);border-radius:8px;padding:1rem;background:var(--color-bg)}.schedule-class-card-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:.75rem;margin-bottom:.4rem}.schedule-class-card h4{margin:0 0 .4rem}.schedule-class-card-heading h4{margin:0}.btn{border:1px solid transparent;border-radius:6px;padding:.4rem .75rem;font-weight:600}.btn-enroll{background:var(--color-primary);color:var(--color-on-primary)}.btn-enroll:disabled{opacity:.6}.btn-secondary{background:var(--color-bg);color:var(--color-text);border-color:var(--color-border)}.schedule-enroll{margin-top:.75rem}.schedule-enroll-actions{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.success-message{background:#ecfdf3;color:var(--color-success);padding:.75rem 1rem;border-radius:8px;margin:1rem 0;border-left:4px solid var(--color-success)}.schedule-enroll-success{margin:.75rem 0 0;padding:.55rem .7rem}.schedule-class-card p{margin:.2rem 0}.schedule-class-card.quiet{opacity:.7;font-size:.85rem;padding:.65rem .8rem}.schedule-class-card.quiet h4{font-size:.95rem;font-weight:600}.schedule-meta{color:var(--color-muted);font-size:.9rem}.schedule-tags{display:flex;flex-wrap:wrap;gap:.3rem;margin-top:.4rem}.schedule-tag{display:inline-block;font-size:.68rem;font-weight:700;letter-spacing:.02em;padding:.12rem .45rem;border-radius:999px;background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-muted)}.error-message{background:#fef3f2;color:var(--color-error);padding:.75rem 1rem;border-radius:8px;margin:1rem 0;border-left:4px solid var(--color-error)}.no-data,.loading{color:var(--color-muted)}@media(max-width:640px){.schedule-container{padding:1rem}.schedule-card{padding:1.25rem}.schedule-age-tab{font-size:.8rem}}.signin-container{display:flex;justify-content:center;align-items:center;min-height:calc(100vh - 80px);padding:2rem}.signin-card{background:var(--color-surface);border-radius:8px;padding:2.5rem;width:100%;max-width:440px;box-shadow:0 4px 20px #00000014;border:1px solid var(--color-border)}.signin-logo{text-align:center;margin-bottom:1.5rem}.signin-logo img{max-width:220px;height:auto}.signin-card h2{margin:0 0 .5rem;font-size:2rem;font-weight:700;color:var(--color-text);text-align:center}.signin-subtitle{text-align:center;color:var(--color-muted);margin:0 0 2rem;font-size:.95rem}.signin-form{display:flex;flex-direction:column;gap:1.5rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{font-weight:600;color:var(--color-text);font-size:.9rem}.form-group input{padding:.875rem 1rem;border:2px solid var(--color-border);border-radius:8px;font-size:1rem;font-family:inherit;width:100%;background:var(--color-surface);color:var(--color-text)}.form-group input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-primary) 15%,transparent)}.password-input-wrapper{position:relative}.password-input-wrapper input{padding-right:4.5rem}.password-toggle{position:absolute;right:.5rem;top:50%;transform:translateY(-50%);background:none;border:none;color:var(--color-muted);font-size:.8rem;font-weight:600;padding:.25rem .4rem}.submit-button{padding:.875rem 1.5rem;background:var(--color-primary);color:var(--color-on-primary);border:none;border-radius:8px;font-size:1rem;font-weight:600;width:100%}.submit-button:hover:not(:disabled){background:var(--color-primary-hover)}.submit-button:disabled{opacity:.6}.signin-footer{margin-top:2rem;text-align:center;padding-top:1.5rem;border-top:1px solid var(--color-border)}.signin-footer p{margin:0;color:var(--color-muted);font-size:.9rem}.signin-footer .link-button{color:var(--color-primary);background:none;border:none;cursor:pointer;font-size:inherit;font-weight:600;padding:0}.error-message{background:#fef3f2;color:var(--color-error);padding:.875rem 1rem;border-radius:8px;margin-bottom:1rem;font-size:.9rem;border-left:4px solid var(--color-error)}.signup-container{display:flex;justify-content:center;align-items:center;min-height:calc(100vh - 80px);padding:2rem}.signup-card{background:var(--color-surface);border-radius:8px;padding:2.5rem;width:100%;max-width:440px;box-shadow:0 4px 20px #00000014;border:1px solid var(--color-border)}.signup-logo{text-align:center;margin-bottom:1.5rem}.signup-logo img{max-width:220px;height:auto}.signup-card h2{margin:0 0 .5rem;font-size:2rem;font-weight:700;text-align:center}.signup-subtitle{text-align:center;color:var(--color-muted);margin:0 0 2rem}.signup-form{display:flex;flex-direction:column;gap:1.25rem}.signup-form .form-group{display:flex;flex-direction:column;gap:.5rem}.signup-form label{font-weight:600}.signup-form input{padding:.875rem 1rem;border:2px solid var(--color-border);border-radius:8px;font-size:1rem;font-family:inherit}.submit-button{padding:.875rem 1.5rem;background:var(--color-primary);color:var(--color-on-primary);border:none;border-radius:8px;font-size:1rem;font-weight:600}.error-message{background:#fef3f2;color:var(--color-error);padding:.875rem 1rem;border-radius:8px;margin-bottom:1rem;border-left:4px solid var(--color-error)}.password-hint{color:var(--color-muted);font-size:.8rem}.back-button{background:transparent;border:1px solid var(--color-border);color:var(--color-text)}.signup-footer{margin-top:2rem;text-align:center;padding-top:1.5rem;border-top:1px solid var(--color-border)}.signup-footer .link-button{color:var(--color-primary);background:none;border:none;font-weight:600;padding:0}.success-message{background:#ecfdf3;color:var(--color-success);padding:.875rem 1rem;border-radius:8px;margin-bottom:1rem;border-left:4px solid var(--color-success)}.students-page-container{display:flex;justify-content:center;align-items:flex-start;min-height:calc(100vh - 80px);padding:2rem}.students-page-card{background:var(--color-surface);border-radius:8px;padding:2.5rem;width:100%;max-width:960px;box-shadow:0 4px 20px #00000014;border:1px solid var(--color-border)}.students-page-header{display:flex;justify-content:space-between;align-items:center;gap:1rem}.students-page-header h2{margin:0;font-size:2rem}.students-page-subtitle{color:var(--color-muted);margin:.5rem 0 1.5rem}@media(max-width:640px){.students-page-container{padding:1rem}.students-page-card{padding:1.5rem}}.pilot-home{max-width:720px;margin:0 auto;padding:1.5rem 1rem 3rem}.pilot-home-header h2{margin:0 0 .5rem}.pilot-home-note{color:#555;font-size:.95rem;line-height:1.4}.pilot-home-error{color:#a33}.pilot-student-list{list-style:none;padding:0;margin:1.5rem 0 0;display:grid;gap:1rem}.pilot-student-card{border:1px solid #ddd;border-radius:12px;padding:1rem 1.1rem;background:#fff}.pilot-student-top{display:flex;justify-content:space-between;align-items:baseline;gap:.75rem}.pilot-student-top h3{margin:0}.pilot-location{font-size:.85rem;color:#666}.pilot-money{display:grid;grid-template-columns:1fr 1fr;gap:.75rem;margin:1rem 0}.pilot-label{display:block;font-size:.8rem;color:#666;margin-bottom:.2rem}.pilot-enrollments h4{margin:0 0 .4rem;font-size:.95rem}.pilot-enrollments ul{margin:0;padding-left:1.1rem}.pilot-sid{margin:.75rem 0 0;font-size:.75rem;color:#888}.attendance-kiosk{min-height:100vh;padding:1.25rem;background:var(--color-bg);color:var(--color-text)}.attendance-kiosk-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.25rem}.attendance-kiosk-brand{display:flex;align-items:center;gap:.85rem}.attendance-kiosk-logo{width:56px;height:56px}.attendance-kiosk-studio{margin:0;color:var(--color-muted);font-weight:600}.attendance-kiosk-header h1{margin:.15rem 0 0;font-size:1.85rem}.attendance-kiosk-date{margin:.2rem 0 0;color:var(--color-muted)}.attendance-kiosk-tools{display:flex;align-items:center;gap:.75rem}.attendance-kiosk-lock,.attendance-kiosk-back,.attendance-kiosk-primary,.attendance-kiosk-pad-key,.attendance-kiosk-list-button{min-height:64px;font-size:1.15rem}.attendance-kiosk-lock,.attendance-kiosk-back{padding:.75rem 1.2rem;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text)}.attendance-kiosk-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;padding:1.5rem;max-width:880px;margin:0 auto;box-shadow:0 4px 20px #0000000f}.attendance-kiosk-copy{margin-top:0;color:var(--color-muted)}.attendance-kiosk-pin-display{min-height:64px;display:flex;align-items:center;justify-content:center;margin:1rem 0;border:1px solid var(--color-border);border-radius:12px;font-size:1.6rem;letter-spacing:.35em;background:var(--color-bg)}.attendance-kiosk-pad{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem}.attendance-kiosk-pad-key{border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);border-radius:12px;font-weight:700}.attendance-kiosk-primary{width:100%;margin-top:1rem;border:none;background:var(--color-primary);color:var(--color-on-primary);border-radius:12px;font-weight:700}.attendance-kiosk-primary:disabled,.attendance-kiosk-list-button:disabled{opacity:.7}.attendance-kiosk-error{color:var(--color-error);font-weight:600}.attendance-kiosk-list{display:grid;gap:.75rem}.attendance-kiosk-list-button{display:flex;flex-direction:column;align-items:flex-start;gap:.2rem;width:100%;padding:1rem 1.1rem;border:1px solid var(--color-border);background:var(--color-bg);color:var(--color-text);border-radius:12px;text-align:left}.attendance-kiosk-list-button.is-present{border-color:var(--color-success);background:#edf8f2}.attendance-kiosk-list-title{font-size:1.25rem;font-weight:700}.attendance-kiosk-list-meta{color:var(--color-muted)}.attendance-kiosk-back{margin-bottom:1rem}.app-shell{min-height:100vh;background:var(--color-bg);color:var(--color-text)}.app-denied{padding:2rem;text-align:center}:root{--color-primary: #111111;--color-primary-hover: #000000;--color-accent: #3f3f3f;--color-bg: #f3f3f1;--color-surface: #ffffff;--color-text: #111111;--color-muted: #5c5c5c;--color-border: #d6d6d4;--color-error: #b42318;--color-success: #027a48;--color-on-primary: #ffffff;font-family:system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:var(--color-text);background-color:var(--color-bg);font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}*{box-sizing:border-box}body{margin:0;min-width:320px;min-height:100vh;background-color:var(--color-bg)}a{font-weight:500;color:var(--color-primary);text-decoration:inherit}a:hover{color:var(--color-primary-hover)}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;cursor:pointer}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}.page-header-emoji{display:inline-flex;align-items:center;font-size:1.35em;margin-right:.5rem;line-height:1}
