:root{color:#17202a;background:#f6f8fb;font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}button,.button,input,select{min-height:44px;border-radius:8px;border:1px solid #b8c3cf;font:inherit}button,.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 14px;background:#0f766e;color:#fff;cursor:pointer;text-decoration:none;font-weight:700}.active{background:#0f766e;color:#fff}button:disabled{cursor:not-allowed;opacity:.55}.secondary{background:#fff;color:#0f3f3b}.ghost,.link{background:transparent;color:#0f3f3b}.align-start{justify-self:start}.app-shell{width:min(980px,100%);margin:0 auto;padding:18px}.hero{display:flex;align-items:center;gap:16px;padding:18px 0 22px}.hero h1{margin:0;font-size:clamp(2rem,7vw,3.8rem);letter-spacing:0}.hero p{margin:4px 0 0;color:#51606f}.logo{width:68px;height:68px;border-radius:50%;display:grid;place-items:center;background:#0f766e;color:#fff;font-size:42px}.panel{background:#fff;border:1px solid #d9e0e8;border-radius:8px;padding:18px;margin-bottom:16px}.auth-page{display:grid;grid-template-columns:minmax(0,1.15fr) minmax(320px,.85fr);gap:16px;align-items:start}.intro-panel{background:#fff;border:1px solid #d9e0e8;border-radius:8px;padding:22px;margin-bottom:16px}.intro-panel h2{margin:0 0 8px;font-size:clamp(1.7rem,4vw,2.6rem);letter-spacing:0}.eyebrow{margin:0 0 8px;color:#0f766e;font-weight:800;text-transform:uppercase}.intro-subtitle{color:#0f3f3b;font-size:1.2rem;font-weight:700}.feature-list{display:grid;gap:8px;padding-left:20px}.feature-list li::marker{color:#0f766e}.intro-footer{color:#51606f;font-weight:700}.email-contact{display:grid;grid-template-columns:76px minmax(0,1fr);gap:14px;align-items:center;margin-top:20px;padding-top:18px;border-top:1px solid #d9e0e8}.email-contact-icon{width:76px;height:76px;object-fit:contain}.email-contact h3{margin:0 0 4px;color:#0f3f3b}.email-address{color:#0f766e;font-weight:800;overflow-wrap:anywhere}.email-contact p{margin:6px 0 0;color:#51606f}.section-title,.top-actions{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap}.top-actions{margin-bottom:16px}.form-grid{display:grid;gap:12px}.form-grid.three{grid-template-columns:repeat(3,1fr)}label{display:grid;gap:6px;font-weight:700}input,select{width:100%;padding:10px 12px;background:#fff}.password-field{display:grid;grid-template-columns:1fr auto;align-items:center}.password-field input{border-top-right-radius:0;border-bottom-right-radius:0}.password-toggle{min-height:44px;min-width:82px;border-top-left-radius:0;border-bottom-left-radius:0;background:#fff;color:#0f3f3b}input[type=radio]{width:auto;min-height:auto}.instrument-field{border:0;padding:0;margin:12px 0}.instrument-field legend{font-weight:700;margin-bottom:8px}.instrument-options{display:grid;grid-template-columns:repeat(5,1fr);gap:10px}.instrument-option{min-height:44px;display:flex;align-items:center;gap:8px;padding:10px 12px;border:1px solid #b8c3cf;border-radius:8px;background:#fff;color:#17202a;cursor:pointer}.selected-instrument{border-color:#0f766e;color:#0f766e}.turnstile-box{min-height:65px;display:flex;align-items:center}.date-grid,.slot-grid,.week-nav{display:grid;grid-template-columns:repeat(3,1fr);gap:10px;margin:12px 0}.date-grid button{min-height:76px;flex-direction:column;text-align:center}.date-grid button span{font-size:.92rem;font-weight:600}.slot-grid{grid-template-columns:repeat(5,1fr)}.slot-grid button{min-height:84px;flex-direction:column}.group-lesson-summary{display:grid;grid-template-columns:repeat(5,1fr);gap:10px;margin:12px 0}.group-lesson-summary>div{display:grid;gap:4px;min-height:76px;align-content:center;padding:10px 12px;border:1px solid #d9e0e8;border-radius:8px;background:#f8fafc}.group-lesson-summary span{color:#51606f;font-size:.9rem;font-weight:700}.group-lesson-actions{display:flex;gap:10px;flex-wrap:wrap;margin:12px 0}.selected{background:#0f766e;color:#fff}.mine{background:#e0f2fe;color:#0b3551}.disabled{background:#edf1f5;color:#647282}.sticky-confirm{position:sticky;bottom:0;display:flex;gap:16px;justify-content:space-between;align-items:center;padding:12px;margin:16px -6px 0;background:#f8fafc;border:1px solid #d9e0e8;border-radius:8px}.sticky-confirm p{margin:4px 0 0}.booking-list{display:grid;gap:10px}.booking-card{display:grid;grid-template-columns:1.4fr 1fr .8fr 1.4fr;gap:10px;align-items:center;padding:12px;border:1px solid #d9e0e8;border-radius:8px}.booking-card div:first-child{display:grid;gap:4px}.booking-actions,.calendar-actions{display:grid;gap:8px}.calendar-actions{border-top:1px solid #d9e0e8;padding-top:8px}.calendar-actions strong{color:#0f3f3b}.calendar-warning{color:#51606f;font-weight:600}.contact{display:flex;gap:10px;align-items:center;flex-wrap:wrap;margin-top:14px}.contact h3{width:100%;margin:0}.contact.compact{margin-top:0}.email-button img{width:24px;height:24px}.toast{position:fixed;left:50%;bottom:18px;transform:translate(-50%);max-width:min(92vw,620px);background:#17202a;color:#fff;box-shadow:0 12px 40px #17202a38}.notice{color:#8a4a00}.success{color:#0f766e;font-weight:700;margin:0}.danger{background:#b42318;color:#fff}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;display:grid;place-items:center;padding:18px;background:#17202a7a}.modal-panel{width:min(560px,100%);max-height:calc(100vh - 36px);overflow:auto;background:#fff;border-radius:8px;padding:18px;box-shadow:0 18px 60px #17202a47}.booking-summary{display:grid;gap:6px;margin:12px 0}.booking-summary p{margin:0}.dialog-actions{display:flex;gap:10px;flex-wrap:wrap}@media (max-width: 760px){.app-shell{padding:14px}.auth-page,.form-grid.three,.week-nav,.date-grid,.slot-grid,.booking-card,.instrument-options,.group-lesson-summary{grid-template-columns:1fr}.sticky-confirm{align-items:stretch;flex-direction:column}.top-actions button,.top-actions .button,.contact .button,.dialog-actions button{width:100%}.email-contact{grid-template-columns:60px minmax(0,1fr)}.email-contact-icon{width:60px;height:60px}}
