*{box-sizing:border-box}body{min-width:0;min-height:100vh;margin:0}button,input{font:inherit}button{cursor:pointer}.app-shell{background:var(--cream);min-height:100vh;display:flex}.sidebar{color:#fff;background:#202b2d;flex-direction:column;flex:0 0 256px;width:256px;padding:30px 18px 22px;display:flex}.brand-lockup{align-items:center;gap:11px;padding:0 14px 37px;display:flex}.brand-mark{background:var(--coral);border-radius:10px 10px 10px 3px;place-items:center;width:33px;height:33px;display:grid}.brand-lockup strong{letter-spacing:.16em;font-size:17px;line-height:15px;display:block}.brand-lockup span{color:#a9b4b0;letter-spacing:.29em;margin-top:4px;font-size:8px;display:block}.sidebar-context{border-bottom:1px solid #ffffff1c;padding:0 14px 29px}.eyebrow{color:var(--muted);letter-spacing:.13em;text-transform:uppercase;font-size:10px;font-weight:700;line-height:1.3;display:block}.sidebar .eyebrow{color:#8c9b99}.context-role{color:#fff;margin-top:9px;font-size:14px;font-weight:600;display:block}.main-nav{padding:29px 0}.nav-heading{color:#697a77;letter-spacing:.13em;text-transform:uppercase;padding:0 14px 12px;font-size:10px;font-weight:700;display:block}.nav-item{color:#aab7b4;text-align:left;background:0 0;border:0;border-radius:9px;align-items:center;gap:12px;width:100%;margin:2px 0;padding:12px 14px;font-size:13px;transition:all .2s;display:flex}.nav-item:hover,.nav-item.active{color:#fff;background:#ffffff1a}.nav-item.active{box-shadow:inset 3px 0 var(--coral)}.nav-arrow{color:var(--coral);margin-left:auto}.sidebar-bottom{margin-top:auto}.help-box{background:#ffffff0a;border:1px solid #ffffff1c;border-radius:10px;margin:0 3px 18px;padding:16px}.help-icon{color:#c0ded8;background:#206c6526;border-radius:8px;place-items:center;width:28px;height:28px;margin-bottom:12px;display:grid}.help-box strong,.help-box span{display:block}.help-box strong{font-size:12px}.help-box span{color:#93a19e;margin-top:5px;font-size:11px;line-height:1.45}.help-box button{color:#c0ded8;background:0 0;border:0;align-items:center;gap:5px;margin-top:13px;padding:0;font-size:11px;font-weight:700;display:flex}.logout-button{color:#94a29f;text-align:left;background:0 0;border:0;align-items:center;gap:10px;width:100%;padding:10px 14px;font-size:12px;display:flex}.main-content{flex:1;min-width:0}.topbar{border-bottom:1px solid var(--line);background:#fffefabf;justify-content:space-between;align-items:center;height:76px;padding:0 5.4%;display:flex}.breadcrumb{color:#9ca4a3;align-items:center;gap:9px;font-size:12px;display:flex}.breadcrumb strong{color:var(--ink);font-weight:600}.topbar-actions{align-items:center;gap:20px;display:flex}.demo-pill{color:#89918f;align-items:center;gap:7px;font-size:11px;display:flex}.demo-pill span{background:var(--sage);border-radius:50%;width:6px;height:6px}.icon-button{border:1px solid var(--line);color:#687473;background:var(--paper);border-radius:50%;place-items:center;width:34px;height:34px;display:inline-grid;position:relative}.icon-button i{background:var(--coral);border-radius:50%;width:5px;height:5px;position:absolute;top:5px;right:5px}.avatar-button{color:#fff;background:var(--coral);border:0;border-radius:50%;width:34px;height:34px;font-size:10px;font-weight:700}.mobile-menu{color:var(--ink);background:0 0;border:0;display:none}.content-wrap{max-width:1320px;margin:0 auto;padding:39px 5.4% 60px}.role-switcher{border:1px solid var(--line);background:#eeede8;border-radius:8px;width:max-content;margin-bottom:26px;padding:4px;display:flex}.role-switcher button{color:#8a9491;background:0 0;border:0;border-radius:5px;align-items:center;gap:7px;padding:7px 12px;font-size:11px;font-weight:600;display:flex}.role-switcher button.selected{color:var(--ink);background:var(--paper);box-shadow:0 2px 6px #202b2d0d}.welcome-row{justify-content:space-between;align-items:center;margin-bottom:31px;display:flex}.welcome-row h1,.page-title h1{max-width:650px;color:var(--ink);letter-spacing:-.02em;margin:9px 0 7px;font-family:Playfair Display,Georgia,serif;font-size:clamp(29px,3vw,43px);font-weight:500;line-height:1.08}.welcome-row p,.page-title p{color:#88918f;margin:0;font-size:13px}.welcome-orbit{width:88px;height:88px;color:var(--sage);border:1px solid #dfe4de;border-radius:50%;justify-content:center;align-items:center;margin-right:4%;font-family:Playfair Display,Georgia,serif;font-size:18px;display:flex;position:relative}.welcome-orbit svg{color:var(--coral);position:absolute;top:7px;right:-7px}.stats-grid{grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:24px;display:grid}.stat-card{border:1px solid var(--line);background:var(--paper);border-radius:11px;min-height:153px;padding:20px 22px;position:relative;overflow:hidden}.stat-card:after{content:"";opacity:.07;border:17px solid;border-radius:50%;width:130px;height:130px;position:absolute;bottom:-45px;right:-38px}.accent-coral{color:var(--coral)}.accent-sage{color:var(--sage)}.accent-blue{color:var(--blue)}.stat-icon{color:#fff;background:currentColor;border-radius:8px;place-items:center;width:32px;height:32px;display:grid}.stat-label{color:#89918f;margin-top:17px;font-size:11px;display:block}.stat-card strong{color:var(--ink);letter-spacing:-.03em;margin-top:4px;font-size:25px;display:block}.stat-card strong.stat-word{font-size:22px}.stat-foot{color:#a7aeac;margin-top:5px;font-size:10px;display:block}.dashboard-grid,.lower-grid{grid-template-columns:1.18fr .82fr;gap:15px;margin-bottom:15px;display:grid}.lower-grid{grid-template-columns:1fr 1fr}.panel{border:1px solid var(--line);background:var(--paper);border-radius:11px}.schedule-panel,.spotlight-panel,.progress-panel,.quick-panel{padding:22px}.panel-heading{justify-content:space-between;align-items:flex-start;gap:15px;margin-bottom:22px;display:flex}.panel h2{color:var(--ink);letter-spacing:-.02em;margin:7px 0 0;font-size:17px;font-weight:600}.text-button{color:var(--coral);background:0 0;border:0;align-items:center;gap:4px;padding:3px 0;font-size:11px;font-weight:700;display:flex}.class-list{flex-direction:column;display:flex}.class-row{border-top:1px solid #f0f0eb;align-items:center;gap:13px;min-height:68px;display:flex}.date-block{border-right:1px solid var(--line);width:40px;padding:3px 0}.date-block strong,.date-block span{text-align:center;display:block}.date-block strong{color:var(--ink);font-family:Playfair Display,Georgia,serif;font-size:21px;font-weight:500;line-height:20px}.date-block span{color:#a4aaa8;letter-spacing:.09em;margin-top:4px;font-size:8px;font-weight:700}.class-info{flex:1;min-width:0}.class-info strong,.class-info span{display:block}.class-info strong{color:var(--ink);font-size:12px;font-weight:600}.class-info span{color:#9ca4a2;margin-top:5px;font-size:10px}.status{border-radius:4px;align-items:center;gap:4px;padding:5px 8px;font-size:9px;font-weight:700;display:inline-flex}.status.confirmed{color:#759273;background:var(--sage-soft)}.status.pending{color:#6ab3a3;background:#fff5e7}.row-arrow{color:#c3c9c6}.mini-spark{width:28px;height:28px;color:var(--coral);background:var(--coral-soft);border-radius:8px;place-items:center;display:grid}.teacher-feature{align-items:center;gap:13px;min-height:93px;display:flex}.portrait{color:#fff;border-radius:50%;flex:none;place-items:center;width:43px;height:43px;font-size:11px;font-weight:700;display:grid}.portrait-coral{background:#a7d1c8}.portrait-sage{background:#9bad8e}.portrait-blue{background:#8caab3}.portrait-more{color:#687b7b;background:#e5edeb}.portrait.large{width:62px;height:62px;font-size:16px}.teacher-feature strong,.teacher-feature span{display:block}.teacher-feature strong{color:var(--ink);font-size:13px}.teacher-feature span{color:#9ba3a1;margin-top:5px;font-size:10px}.rating{color:#969e9b;margin-top:8px;font-size:10px}.rating span{color:#8dc5b9;letter-spacing:2px;display:inline}.rating small{color:#b1b6b4}.outline-button,.primary-button{border-radius:6px;justify-content:center;align-items:center;gap:8px;font-size:11px;font-weight:700;display:inline-flex}.outline-button{color:#687472;background:0 0;border:1px solid #dce1dc;width:100%;margin-top:19px;padding:10px}.outline-button:hover{border-color:var(--coral);color:var(--coral)}.people-stack{min-height:93px}.avatar-stack{padding-left:8px;display:flex}.avatar-stack .portrait{border:3px solid var(--paper);margin-left:-8px}.people-stack p{color:#89918f;margin:14px 0 0;font-size:11px;line-height:1.5}.period{color:#9ea6a4;align-items:center;gap:4px;font-size:10px;display:flex}.progress-content{align-items:center;gap:22px;display:flex}.progress-ring{border:9px solid var(--coral-soft);border-right-color:var(--coral);border-top-color:var(--coral);border-radius:50%;flex-direction:column;flex:none;justify-content:center;align-items:center;width:93px;height:93px;display:flex}.progress-ring strong{color:var(--ink);font-size:19px}.progress-ring span{color:#a1a9a6;font-size:9px}.progress-copy{flex:1}.progress-copy strong{color:var(--ink);font-size:12px}.progress-copy p{color:#9da5a2;margin:7px 0 16px;font-size:10px;line-height:1.45}.progress-line{background:#f0f0ea;border-radius:5px;height:5px;overflow:hidden}.progress-line span{border-radius:inherit;background:var(--coral);height:100%;display:block}.quick-actions{flex-direction:column;display:flex}.quick-actions button{color:var(--coral);text-align:left;background:0 0;border:0;border-top:1px solid #f0f0eb;align-items:center;gap:12px;padding:12px 0;display:flex}.quick-actions button>span{flex:1}.quick-actions strong,.quick-actions small{display:block}.quick-actions strong{color:var(--ink);font-size:11px}.quick-actions small{color:#a1a8a5;margin-top:4px;font-size:10px}.quick-actions svg:last-child{color:#c2c9c6}.page-view{animation:.35s both rise}.page-title{justify-content:space-between;align-items:flex-end;gap:25px;margin-bottom:28px;display:flex}.page-title h1{margin-top:9px}.primary-button{color:#fff;background:var(--coral);border:0;padding:11px 15px}.search-field{border:1px solid var(--line);color:#9ba4a1;background:var(--paper);border-radius:7px;align-items:center;gap:8px;width:245px;padding:10px 12px;display:flex}.search-field input{width:100%;color:var(--ink);background:0 0;border:0;outline:0;font-size:11px}.filter-row{gap:8px;margin-bottom:17px;display:flex}.filter-chip{border:1px solid var(--line);color:#929b98;background:0 0;border-radius:5px;padding:7px 11px;font-size:10px}.filter-chip.active{border-color:var(--coral);color:var(--coral);background:var(--coral-soft)}.teacher-grid{grid-template-columns:repeat(3,1fr);gap:15px;display:grid}.teacher-card{border:1px solid var(--line);background:var(--paper);border-radius:11px;overflow:hidden}.teacher-card-cover{justify-content:center;align-items:flex-end;height:112px;display:flex;position:relative}.cover-coral{background:#dfeeeb}.cover-sage{background:#e0e9dc}.cover-blue{background:#dcebef}.teacher-card-cover .portrait{border:4px solid var(--paper);width:68px;height:68px;margin-bottom:-19px;font-size:16px}.availability{color:#759273;align-items:center;gap:5px;font-size:9px;font-weight:700;display:flex;position:absolute;top:13px;left:14px}.availability span{background:#84ad7e;border-radius:50%;width:6px;height:6px}.teacher-card-body{padding:31px 17px 16px}.teacher-card h2{color:var(--ink);margin:0;font-size:14px}.teacher-card p{color:#969e9b;margin:5px 0 0;font-size:10px}.teacher-card .rating{margin:13px 0 16px}.teacher-card-footer{border-top:1px solid #f0f0eb;justify-content:space-between;align-items:center;padding-top:12px;display:flex}.teacher-card-footer span{color:#969e9b;align-items:center;gap:5px;font-size:9px;display:flex}.round-arrow{color:#fff;background:var(--ink);border:0;border-radius:50%;place-items:center;width:29px;height:29px;display:grid}.full-panel{padding:22px}.calendar-toolbar{color:var(--ink);align-items:center;gap:11px;margin-bottom:25px;font-size:13px;display:flex}.calendar-toolbar span{flex:1}.calendar-toolbar .icon-button{width:28px;height:28px}.small-button{width:auto;margin:0;padding:7px 13px}.rotate-180{transform:rotate(180deg)}.calendar-grid{border:1px solid #f0f0eb;border-radius:7px;overflow:hidden}.calendar-labels,.calendar-days{grid-template-columns:repeat(7,1fr);display:grid}.calendar-labels{color:#a7aeab;text-align:center;border-bottom:1px solid #f0f0eb;padding:10px 0;font-size:9px;font-weight:700}.calendar-day{color:#9da5a2;border-bottom:1px solid #f0f0eb;border-right:1px solid #f0f0eb;padding:10px;font-size:11px;position:relative}.calendar-day:nth-child(7n){border-right:0}.calendar-day.today span{color:#fff;background:var(--coral);border-radius:50%;place-items:center;width:23px;height:23px;display:grid}.calendar-day small{color:#759273;background:var(--sage-soft);border-radius:3px;width:max-content;margin-top:5px;padding:3px 5px;font-size:8px;display:block}.section-divider{background:#f0f0eb;height:1px;margin:24px 0 19px}.list-heading{justify-content:space-between;align-items:center;margin-bottom:6px;display:flex}.list-heading h2{margin:0;font-size:15px}.list-heading span{color:#9ca4a2;font-size:10px}.login-shell{background:var(--cream);grid-template-columns:1fr 470px;min-height:100vh;display:grid}.login-art{color:#fff;background:#202b2d;flex-direction:column;justify-content:center;padding:8vw 10vw;display:flex;position:relative;overflow:hidden}.login-art:after{content:"";border:1px solid #ed7e6866;border-radius:50%;width:420px;height:420px;position:absolute;bottom:-130px;right:-100px;box-shadow:0 0 0 36px #ed7e680a,0 0 0 72px #ed7e6808}.login-art-mark{color:#fff;background:var(--coral);border-radius:13px 13px 13px 4px;place-items:center;width:43px;height:43px;margin-bottom:80px;display:grid}.login-art .eyebrow{color:#98aaa5}.login-art h1{letter-spacing:-.03em;max-width:540px;margin:15px 0 18px;font-family:Playfair Display,Georgia,serif;font-size:clamp(42px,5vw,72px);font-weight:500;line-height:1.03}.login-art p{color:#a5b2ae;max-width:340px;font-size:14px;line-height:1.7}.login-art-line{background:var(--coral);width:92px;height:2px;margin-top:52px}.login-panel{background:var(--paper);flex-direction:column;justify-content:center;padding:60px clamp(32px,6vw,75px);display:flex}.login-brand{color:#7e8986;letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:10px;margin-bottom:66px;font-size:11px;font-weight:700;display:flex}.login-brand .brand-mark{color:#fff;width:31px;height:31px}.login-panel h2{color:var(--ink);margin:0 0 9px;font-family:Playfair Display,Georgia,serif;font-size:30px;font-weight:500}.login-intro{color:#929b98;margin:0 0 28px;font-size:12px;line-height:1.6}.login-panel form{flex-direction:column;gap:17px;display:flex}.login-panel label{color:#697572;font-size:10px;font-weight:700}.login-panel input{border:1px solid var(--line);width:100%;color:var(--ink);background:#fcfcf8;border-radius:6px;outline:none;margin-top:8px;padding:12px 13px;font-size:12px;display:block}.login-panel input:focus{border-color:var(--coral)}.login-submit{width:100%;margin-top:7px;padding:13px}.login-submit:disabled{opacity:.65;cursor:wait}.login-error{color:#5cab9a;background:var(--coral-soft);border:1px solid #cde5e0;border-radius:5px;padding:9px 11px;font-size:10px}.login-divider{color:#b2bab7;align-items:center;gap:10px;margin:27px 0 17px;font-size:10px;display:flex}.login-divider:before,.login-divider:after{content:"";background:var(--line);flex:1;height:1px}.demo-button{border:1px solid var(--line);color:#677470;background:0 0;border-radius:6px;justify-content:center;align-items:center;gap:7px;padding:11px;font-size:11px;font-weight:700;display:flex}.demo-button:hover{border-color:var(--coral);color:var(--coral)}.login-security{color:#a8afad;justify-content:center;align-items:center;gap:6px;margin-top:27px;font-size:9px;display:flex}.booking-panel{background:var(--coral-soft);border:1px solid #d2e8e3;border-radius:10px;grid-template-columns:1.15fr 1fr;gap:16px;margin-bottom:18px;padding:20px;display:grid}.booking-panel h2{color:var(--ink);margin:7px 0 5px;font-size:17px}.booking-panel p{color:#739e95;margin:0;font-size:10px;line-height:1.5}.booking-panel>label{color:#68807b;grid-column:1/-1;font-size:10px;font-weight:700}.booking-panel input,.booking-panel select,.booking-panel textarea{width:100%;color:var(--ink);resize:vertical;background:#fffaf8;border:1px solid #d5eae5;border-radius:5px;outline:none;margin-top:7px;padding:10px;font-size:11px;display:block}.booking-panel input:focus,.booking-panel select:focus,.booking-panel textarea:focus{border-color:var(--coral)}.booking-fields{grid-template-columns:1fr 1fr;gap:10px;display:grid}.booking-fields label{color:#68807b;font-size:10px;font-weight:700}.booking-panel .primary-button{grid-column:1/-1;justify-self:end;width:max-content}.profile-grid{grid-template-columns:1.3fr .7fr;gap:15px;display:grid}.profile-card{padding:25px}.profile-hero{border-bottom:1px solid #f0f0eb;align-items:center;gap:15px;padding-bottom:23px;display:flex}.profile-hero h2{margin:0 0 6px;font-size:18px}.profile-hero span{color:#9aa29f;font-size:11px}.profile-fields{grid-template-columns:1fr 1fr;gap:19px;padding-top:23px;display:grid}.profile-fields label{color:#7e8885;font-size:10px;font-weight:700}.profile-fields label:last-child{grid-column:1/-1}.profile-fields input{border:1px solid var(--line);width:100%;color:var(--ink);background:#fcfcf8;border-radius:6px;outline:0;margin-top:8px;padding:11px 12px;font-size:12px;display:block}.profile-fields input:focus{border-color:var(--coral)}.profile-note{background:var(--coral-soft);flex-direction:column;align-items:flex-start;padding:25px;display:flex}.note-icon{width:33px;height:33px;color:var(--coral);background:#fff;border-radius:8px;place-items:center;margin-bottom:34px;display:grid}.profile-note h2{max-width:230px;margin:10px 0;font-family:Playfair Display,Georgia,serif;font-size:25px;font-weight:500;line-height:1.15}.profile-note p{color:#739e95;margin:0;font-size:11px;line-height:1.6}.toast{color:#64855f;background:#f3f9f0;border:1px solid #d6e5d2;border-radius:7px;align-items:center;gap:9px;padding:12px 14px;font-size:11px;animation:.25s both rise;display:flex;position:fixed;bottom:25px;right:25px;box-shadow:0 8px 30px #202b2d1f}.toast button{color:#799473;background:0 0;border:0;place-items:center;margin-left:8px;padding:0;display:grid}@keyframes rise{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (max-width:1050px){.sidebar{flex-basis:220px;width:220px}.teacher-grid{grid-template-columns:repeat(2,1fr)}.profile-grid{grid-template-columns:1fr}}@media (max-width:760px){.login-shell{display:block}.login-art{min-height:300px;padding:45px 28px 50px}.login-art-mark{margin-bottom:45px}.login-art h1{font-size:42px}.login-panel{padding:42px 28px 55px}.login-brand{margin-bottom:45px}.booking-panel{grid-template-columns:1fr}.booking-panel .primary-button{grid-column:auto;justify-self:stretch;width:100%}.sidebar{z-index:20;transition:transform .25s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}.sidebar.is-open{transform:translate(0)}.mobile-menu{place-items:center;display:grid}.topbar{height:65px;padding:0 20px}.breadcrumb,.demo-pill{display:none}.topbar-actions{gap:10px}.content-wrap{padding:28px 20px 45px}.welcome-row{align-items:flex-start}.welcome-orbit{display:none}.stats-grid,.dashboard-grid,.lower-grid,.teacher-grid{grid-template-columns:1fr}.page-title{display:block}.page-title .primary-button,.search-field{margin-top:20px}.search-field{width:100%}.profile-fields{grid-template-columns:1fr}.profile-fields label:last-child{grid-column:auto}.status{display:none}.role-switcher{margin-bottom:23px}}.slot-payment-note{color:#739e95;align-self:end;align-items:center;gap:7px;min-height:35px;font-size:10px;display:flex}.admin-badge{color:#668578;background:#eff6f1;border:1px solid #dbe6e1;border-radius:5px;align-items:center;gap:7px;padding:8px 10px;font-size:10px;font-weight:700;display:inline-flex}.admin-success{color:#64855f;background:#f3f9f0;border:1px solid #d7e6d3;border-radius:6px;align-items:center;gap:8px;margin-bottom:16px;padding:10px 12px;font-size:11px;display:flex}.admin-stats{grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:15px;display:grid}.admin-grid{grid-template-columns:1.45fr .55fr;gap:15px;display:grid}.admin-classes{min-width:0;padding:22px}.admin-table-wrap{overflow-x:auto}.admin-table{border-collapse:collapse;color:#7f8986;width:100%;font-size:10px}.admin-table th{color:#9aa29f;text-align:left;text-transform:uppercase;padding:9px 8px;font-size:9px;font-weight:700}.admin-table td{white-space:nowrap;border-top:1px solid #f0f0eb;padding:12px 8px}.admin-table td:nth-child(2),.admin-table td:nth-child(3){color:var(--ink);font-weight:600}.admin-status{border-radius:4px;padding:5px 7px;font-size:9px;font-weight:700}.admin-status.confirmed{color:#759273;background:var(--sage-soft)}.admin-status.awaiting_payment{color:#6ab3a3;background:#fff5e7}.payment-action{align-items:center;gap:5px;display:flex}.payment-action input{border:1px solid var(--line);border-radius:4px;outline:none;width:92px;padding:7px;font-size:9px}.payment-action .round-arrow{width:25px;height:25px}.muted-cell{color:#b2b9b7}.create-user-panel{flex-direction:column;align-items:stretch;padding:22px;display:flex}.create-user-panel .panel-heading{margin-bottom:11px}.form-help{color:#9aa29f;margin:-7px 0 18px;font-size:10px;line-height:1.5}.create-user-panel label{color:#7e8885;margin-top:11px;font-size:10px;font-weight:700}.create-user-panel input,.create-user-panel select{border:1px solid var(--line);border-radius:5px;outline:none;width:100%;margin-top:7px;padding:9px;font-size:11px;display:block}.create-user-panel .primary-button{width:100%;margin-top:19px}.admin-grid+*{margin-top:15px}.notification-list{flex-direction:column;gap:8px;max-width:760px;display:flex}.notification-item{border:1px solid var(--line);width:100%;color:var(--ink);background:var(--paper);text-align:left;border-radius:9px;align-items:flex-start;gap:13px;padding:17px;display:flex;position:relative}.notification-item:hover{border-color:#c4e1db}.notification-item.read{opacity:.65}.notification-dot{width:32px;height:32px;color:var(--coral);background:var(--coral-soft);border-radius:8px;flex:none;place-items:center;display:grid}.notification-dot.success{color:#759273;background:var(--sage-soft)}.notification-dot.warning{color:#6ab3a3;background:#fff5e7}.notification-item strong{font-size:12px;display:block}.notification-item p{color:#8f9895;margin:5px 0;font-size:11px;line-height:1.45}.notification-item small{color:#b0b7b4;font-size:9px}.unread-dot{background:var(--coral);border-radius:50%;width:7px;height:7px;position:absolute;top:17px;right:17px}.empty-state{color:#9aa29f;text-align:center;padding:40px}.empty-state h2{color:var(--ink);margin:12px 0 7px;font-size:17px}.empty-state p{margin:0;font-size:11px}.weekday-picker{border:0;flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:7px;margin:0;padding:0;display:flex}.weekday-picker legend{color:#68807b;width:100%;margin-bottom:2px;font-size:10px;font-weight:700}.weekday-picker label{color:#68807b;background:#fffaf8;border:1px solid #d5eae5;border-radius:5px;align-items:center;gap:4px;padding:6px 8px;font-size:10px;display:flex}.weekday-picker input{width:auto;margin:0}.class-row-button{border:0;border-bottom:1px solid var(--line);width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0}.class-row-button:hover{background:var(--coral-soft)}.calendar-day{border:0;border-right:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--ink);text-align:left;cursor:pointer;background:0 0}.calendar-day:hover{background:var(--coral-soft)}.calendar-day.selected-day{outline:2px solid var(--coral);outline-offset:-2px}.calendar-blank{cursor:default;background:#fafaf7}.calendar-day small{margin-top:4px;display:block}.detail-panel{margin-top:18px;padding:22px;position:relative}.detail-close{position:absolute;top:12px;right:12px}.detail-panel dl{grid-template-columns:100px 1fr;gap:12px;font-size:12px;display:grid}.detail-panel dt{color:#7e8885}.detail-panel dd{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.profile-fields textarea,.support-form textarea,.user-management input:not([type=checkbox]){border:1px solid var(--line);width:100%;color:var(--ink);font:inherit;background:#fcfcf8;border-radius:6px;margin:8px 0 18px;padding:11px 12px;display:block}.profile-card>.primary-button,.user-management .primary-button{margin-top:18px}.support-form{max-width:760px}.preserve-lines{white-space:pre-wrap;overflow-wrap:anywhere}.user-management{margin-top:20px}.user-management form+form,.delete-user-area{border-top:1px solid var(--line);margin-top:24px;padding-top:20px}button:disabled{cursor:wait;opacity:.55}button:focus-visible{outline:2px solid var(--coral);outline-offset:3px}@media (max-width:760px){.admin-grid{grid-template-columns:1fr}.calendar-day{min-height:70px;padding:7px 4px}.calendar-day small{font-size:8px}.detail-panel dl{grid-template-columns:75px 1fr}}.recovery-link{margin-top:18px}.availability-builder{margin-bottom:24px;padding:clamp(18px,3vw,30px)}.availability-heading{align-items:flex-start;gap:16px;margin-bottom:24px;display:flex}.availability-heading h2{margin:6px 0 8px;font-family:Georgia,serif;font-size:26px;font-weight:500}.availability-heading p{color:#606d69;margin:0;font-size:14px;line-height:1.6}.availability-icon{background:var(--coral-soft);color:#47897b;border-radius:16px;flex:0 0 50px;place-items:center;height:50px;display:grid}.availability-layout{grid-template-columns:minmax(0,1.4fr) minmax(230px,.8fr);align-items:start;gap:26px;display:grid}.availability-step{border:0;min-width:0;margin:0 0 28px;padding:0}.availability-step legend{align-items:center;gap:10px;margin-bottom:16px;font-size:16px;font-weight:700;display:flex}.availability-step legend span{color:#43583b;background:#eef3eb;border-radius:50%;place-items:center;width:28px;height:28px;font-size:13px;display:grid}.availability-builder label{color:#475550;font-size:13px;font-weight:600;display:block}.availability-builder input,.availability-builder select{width:100%;min-width:0;min-height:46px;color:var(--ink);font:inherit;background:#fffefa;border:1px solid #cdd4ce;border-radius:9px;margin:8px 0 14px;padding:10px;font-size:15px}.segmented-control{background:#f0f1eb;border-radius:10px;margin-bottom:18px;padding:4px;display:flex}.segmented-control button{color:#56645f;background:0 0;border:0;border-radius:8px;flex:1;min-height:44px;padding:8px;font-size:13px}.segmented-control button[aria-pressed=true]{color:#428174;background:#fff;font-weight:700;box-shadow:0 2px 8px #202b2d12}.day-selector{grid-template-columns:repeat(7,1fr);gap:6px;margin-top:4px;display:grid}.day-selector button{color:#4f5d57;background:#fff;border:1px solid #ced6ce;border-radius:9px;min-height:44px;padding:4px;font-size:13px}.day-selector button[aria-pressed=true]{color:#fff;background:#263e35;border-color:#263e35}.time-presets{flex-wrap:wrap;gap:8px;margin-bottom:15px;display:flex}.time-presets button{color:#448577;background:#fff4ee;border:1px solid #bbdcd5;border-radius:22px;min-height:42px;padding:10px 12px;font-size:12px}.availability-preview{background:#eef3eb;border:1px solid #d6e1d0;border-radius:16px;padding:24px}.preview-count{color:#314a36;margin-top:14px;font-family:Georgia,serif;font-size:64px;line-height:1;display:block}.availability-preview h3{color:#3f5743;margin:6px 0 22px;font-size:18px}.availability-preview p{color:#4e6351;align-items:center;gap:7px;font-size:13px;line-height:1.6;display:flex}.preview-dates{border-top:1px solid #cfdbca;gap:9px;margin-top:18px;padding-top:16px;display:grid}.preview-dates span{color:#455e48;align-items:center;gap:9px;font-size:13px;display:flex}.preview-dates small{color:#5f725d}.availability-preview .preview-note{margin:22px 0 18px;font-size:12px;display:block}.availability-preview .primary-button{color:#fff;background:#294b38;justify-content:center;width:100%;min-height:46px}.policy-notice{color:#315e55;background:#fff8ed;border:1px solid #b0d6ce;border-left:4px solid #4f998a;border-radius:10px;grid-column:1/-1;padding:16px}.policy-notice p{color:#35675c;margin:8px 0;font-size:13px;line-height:1.65}.policy-checkbox{cursor:pointer;align-items:flex-start;gap:12px;font-size:13px;line-height:1.6;display:flex!important}.policy-checkbox input{accent-color:#46877a;flex:0 0 20px;height:20px;width:20px!important;margin:2px 0!important}.policy-notice a,.legal-page a,.legal-footer a{color:#3e786c;text-underline-offset:3px;text-decoration:underline}.cancellation-box{border-top:1px solid #dfd8cc;margin-top:22px;padding-top:18px}.cancellation-box h3{align-items:center;gap:9px;font-size:15px;display:flex}.cancellation-box p{color:#52605b;font-size:13px;line-height:1.7}.action-row{flex-wrap:wrap;gap:12px;display:flex}.danger-button{color:#fff;background:#458578;border:0;border-radius:8px;min-height:44px;padding:10px 18px}.legal-footer{color:#58655e;background:#fffefa;border-top:1px solid #dfdfd7;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:18px;padding:25px max(22px,5vw);font-size:12px;display:flex}.legal-footer nav{flex-wrap:wrap;gap:16px;display:flex}.legal-footer a{align-items:center;min-height:32px;display:inline-flex}.legal-page{max-width:880px;min-height:85vh;margin:0 auto;padding:35px 24px 60px}.legal-page>.eyebrow{margin-top:35px}.legal-page h1{font-family:Georgia,serif;font-size:clamp(30px,5vw,44px);font-weight:500;line-height:1.15}.legal-page h2{margin:30px 0 10px;font-size:20px}.legal-page p{color:#475650;font-size:16px;line-height:1.85}.legal-intro{color:#465f43;background:#eef3eb;border-radius:10px;padding:18px;line-height:1.7}.skip-link{color:#fff;z-index:200;background:#243a31;padding:14px;position:fixed;top:-100px;left:15px}.skip-link:focus{top:10px}.sidebar-backdrop{display:none}:focus-visible{outline-offset:3px;outline:3px solid #417d71}.password-panel{margin-top:24px}.password-panel p{overflow-wrap:anywhere;line-height:1.7}@media (max-width:1100px) and (min-width:761px){.sidebar{flex-basis:210px;width:210px;padding-left:10px;padding-right:10px}.content-wrap{padding-left:25px;padding-right:25px}.availability-layout{grid-template-columns:1fr}.availability-preview{grid-template-columns:1fr 1fr;gap:0 20px;display:grid}.availability-preview .preview-count{grid-row:2/5}.availability-preview .preview-note,.availability-preview .primary-button{grid-column:1/-1}.admin-grid{grid-template-columns:1fr}}@media (max-width:760px){.sidebar{z-index:80;visibility:hidden;width:min(300px,85vw);overflow-y:auto}.sidebar.is-open{visibility:visible}.sidebar-backdrop{z-index:70;background:#132d26a6;border:0;display:block;position:fixed;top:0;bottom:0;left:0;right:0}.topbar{z-index:50;background:#fffefa;position:sticky;top:0}.mobile-menu,.icon-button,.avatar-button{min-width:44px;min-height:44px}.content-wrap{padding:24px 14px 36px}.role-switcher{width:100%;max-width:100%}.role-switcher button{flex:1;justify-content:center;min-height:44px;padding:7px}.page-title p{font-size:14px;line-height:1.7}.availability-layout{grid-template-columns:1fr;gap:5px}.availability-builder{padding:18px 14px}.availability-heading{gap:12px}.availability-heading h2{font-size:25px}.availability-icon{border-radius:12px;flex-basis:40px;height:40px}.availability-preview{padding:22px}.day-selector{gap:4px}.day-selector button{font-size:12px}.booking-panel{gap:18px;padding:18px 14px}.booking-fields,.password-fields{grid-template-columns:1fr}input,select,textarea,.booking-panel input,.booking-panel select,.booking-panel textarea,.profile-fields input,.create-user-panel input,.create-user-panel select{min-height:44px;font-size:16px!important}.booking-panel .primary-button{min-height:46px}.filter-row{flex-wrap:wrap;gap:8px}.filter-chip{min-height:44px;padding:10px 14px}.class-row{flex-wrap:wrap;gap:12px;padding:15px 5px}.class-info{flex:1;min-width:0}.class-info strong{font-size:14px;line-height:1.5}.class-info span{white-space:normal;line-height:1.6}.status{flex-basis:auto;padding:6px 8px;font-size:11px;display:inline-flex}.class-row>.status{margin-left:50px}.full-panel{padding:16px 12px}.calendar-toolbar{gap:8px}.calendar-toolbar strong{font-size:13px}.calendar-day{min-width:0;min-height:70px;padding:8px 3px}.calendar-day small{overflow-wrap:anywhere;font-size:9px}.calendar-labels span{font-size:9px}.list-heading{flex-wrap:wrap;gap:10px}.teacher-card-body h2{font-size:19px}.teacher-card-body p,.profile-note p,.teacher-card-footer span{font-size:13px;line-height:1.7}.round-arrow{width:44px;height:44px}.profile-card{padding:20px 16px}.profile-fields{gap:12px}.notification-item{padding:16px 12px}.notification-item p{font-size:13px}.legal-footer{padding:22px 18px}.legal-footer nav{grid-template-columns:1fr 1fr;gap:10px 18px;display:grid}.legal-footer a{min-height:44px}.login-art{min-height:auto;padding:30px 24px}.login-art-mark{margin-bottom:20px}.login-art h1{font-size:36px}.login-art p{max-width:420px}.login-panel{padding:30px 24px}.login-brand{margin-bottom:28px}.password-panel{padding:22px 16px}.admin-table{font-size:12px}.admin-table th{font-size:11px}}@media (max-width:380px){.calendar-toolbar{gap:4px}.calendar-toolbar strong{font-size:12px}.calendar-toolbar .icon-button{min-width:36px;min-height:36px}.day-selector button{font-size:11px}.status{font-size:10px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.calendar-days{grid-auto-rows:minmax(70px,auto)}@media (max-width:760px){.calendar-days{grid-auto-rows:minmax(76px,auto)}.calendar-day small{width:auto;max-width:100%;padding:2px 1px;font-size:9px}}.honeypot{width:1px;height:1px;position:absolute;left:-10000px;overflow:hidden}.role-choice{border:0;gap:16px;margin:0 0 14px;padding:0;display:flex}.role-choice label,.terms-option{align-items:center;gap:8px;font-size:13px;display:flex}.form-hint,.rate-preview{color:var(--muted,#5f6b66);font-size:12px}.teacher-onboarding{margin-bottom:20px}.teacher-onboarding form,.teacher-onboarding>div{border-top:1px solid var(--line);margin-top:20px;padding-top:16px}.teacher-onboarding input:not([type=checkbox]):not([type=radio]){border:1px solid var(--line);width:100%;font:inherit;border-radius:6px;margin:8px 0;padding:10px 12px;display:block}.onboarding-steps{gap:8px;margin:14px 0;padding:0;list-style:none;display:grid}.onboarding-steps li{align-items:center;gap:8px;font-size:13px;display:flex}.onboarding-steps li span{color:var(--muted,#5f6b66);margin-left:auto;font-size:12px}.onboarding-steps li.done span{color:#206c65;font-weight:600}.verification-item{margin-bottom:14px}.verification-item label{margin:10px 0;font-size:13px;display:block}.verification-item input{border:1px solid var(--line);width:100%;max-width:320px;font:inherit;border-radius:6px;margin-top:6px;padding:9px 11px;display:block}.login-panel .role-choice input,.login-panel .terms-option input{flex:none;width:18px;height:18px;min-height:0;margin:0;padding:0;display:inline-block}.login-panel .role-choice label,.login-panel .terms-option{color:var(--ink);font-size:13px;font-weight:500}.login-panel .terms-option{margin:16px 0 6px;line-height:1.5}.login-panel .terms-option a{margin:0 3px}.login-panel .terms-option{display:block}.login-panel .terms-option input{vertical-align:-4px;margin-right:8px}.price-breakdown{grid-template-columns:1fr auto;gap:4px 16px;margin:10px 0;font-size:13px;display:grid}.price-breakdown dd{text-align:right;font-variant-numeric:tabular-nums;margin:0}.price-breakdown .total{font-weight:700}.balance-panel{margin-bottom:20px}.balance-amount{margin:6px 0;font-size:28px;font-weight:700}.balance-movements{margin:12px 0 0;padding:0;font-size:13px;list-style:none}.balance-movements li{border-top:1px solid var(--line);justify-content:space-between;padding:6px 0;display:flex}.payment-return{max-width:640px}.class-settlement{border-top:1px solid var(--line);margin-top:18px;padding-top:14px}.class-settlement textarea,.settlement-resolution textarea{border:1px solid var(--line);width:100%;font:inherit;border-radius:6px;margin:8px 0;padding:10px 12px;display:block}.settlement-resolution{margin-top:16px}.earnings-panel{margin-bottom:20px}.earnings-panel .role-choice{flex-direction:column;gap:8px;margin:14px 0}.earnings-panel .role-choice label{align-items:center;gap:8px;font-size:13px;display:flex}.earnings-panel h2{margin:0 0 10px;font-size:18px}.pro-badge{color:#fff;letter-spacing:.04em;vertical-align:middle;background:#206c65;border-radius:999px;margin-left:8px;padding:2px 8px;font-size:11px;font-weight:700;display:inline-block}.pro-filter{align-items:center;gap:6px;font-size:13px;display:inline-flex}.pro-status{margin:10px 0;font-size:13px}.experience-shell{background:#f5f4ef}.experience-shell .content-wrap{max-width:1480px;padding:24px 32px 38px}.experience-shell .topbar{height:65px;padding:0 32px}.experience-shell .sidebar{flex-basis:222px;width:222px;padding:25px 14px 20px}.experience-shell .sidebar-context{padding-bottom:20px}.experience-shell .brand-lockup{padding-bottom:26px}.experience-shell .main-nav{padding:20px 0}.experience-shell .page-title{margin-bottom:20px}.experience-shell .page-title h1{font-size:34px}.experience-shell .page-title p{color:#626e68;font-size:14px}.mobile-brand,.bottom-navigation{display:none}.demo-tools{color:#66746c;margin:0 0 20px;font-size:12px}.demo-tools>summary{cursor:pointer;background:#eef3e9;border:1px dashed #c6d1c5;border-radius:20px;width:-moz-fit-content;width:fit-content;padding:7px 12px}.demo-tools .role-switcher{margin:12px 0 0}.home-greeting{justify-content:space-between;align-items:center;margin-bottom:22px;display:flex}.home-greeting h1{letter-spacing:-.04em;margin:6px 0 5px;font-family:Georgia,serif;font-size:clamp(30px,3vw,40px);font-weight:500}.greeting-dot{color:#68b1a2}.home-greeting p{color:#68736c;margin:0;font-size:14px}.greeting-emblem{color:#69805a;background:#e8eee2;border-radius:18px;place-items:center;width:52px;height:52px;display:grid;transform:rotate(8deg)}.home-feature-grid{grid-template-columns:minmax(0,1.3fr) minmax(280px,1fr);gap:18px;display:grid}.next-session{color:#fffef7;background:#233f34;border-radius:20px;padding:25px;position:relative;overflow:hidden}.next-session:after{content:"";pointer-events:none;border:40px solid #ffffff06;border-radius:50%;width:240px;height:240px;position:absolute;top:-100px;right:-100px}.session-label{color:#d7e5d3;justify-content:space-between;align-items:center;gap:16px;font-size:12px;display:flex}.session-label>span{align-items:center;gap:8px;display:flex}.live-dot{background:#a4d0c7;border-radius:50%;width:7px;height:7px}.next-session h2{margin:19px 0 6px;font-family:Georgia,serif;font-size:29px;font-weight:500;line-height:1.2}.next-session>p{color:#d3e0d0;margin:0 0 18px;font-size:14px;line-height:1.6}.session-when{align-items:center;gap:14px;margin:18px 0;display:flex}.session-date{text-align:center;background:#ffffff16;border-radius:12px;flex-direction:column;flex:0 0 55px;justify-content:center;min-height:63px;display:flex}.session-date strong{font-size:25px;line-height:1}.session-date span{text-transform:uppercase;margin-top:5px;font-size:11px}.session-when>div:nth-child(2){gap:6px;font-size:14px;display:grid}.session-when>div:nth-child(2)>span{color:#d3e0d0;font-size:13px}.session-state{text-align:center;background:#ffffff19;border-radius:15px;max-width:130px;margin-left:auto;padding:6px 9px;font-size:11px}.session-button{color:#23382b;background:#b4d8d1;border:0;border-radius:10px;justify-content:space-between;align-items:center;width:100%;min-height:44px;padding:10px 14px;font-size:13px;font-weight:700;display:flex}.home-actions{background:#fffefa;border:1px solid #e2e5db;border-radius:20px;flex-direction:column;gap:13px;padding:21px;display:flex}.home-action{color:#36685e;text-align:left;background:#fff0e9;border:0;border-radius:13px;align-items:center;gap:13px;padding:18px 14px;display:flex}.home-action>span:nth-child(2){flex:1;gap:5px;display:grid}.home-action strong{font-size:15px}.home-action small{color:#498276;font-size:12px}.action-icon{background:#a8d2c9;border-radius:12px;place-items:center;width:39px;height:39px;display:grid}.mini-stats{flex:1;grid-template-columns:repeat(3,minmax(0,1fr));gap:6px;display:grid}.mini-stats button{color:#64775a;background:#f3f4ee;border:0;border-radius:12px;flex-direction:column;justify-content:center;align-items:flex-start;gap:8px;padding:12px;display:flex}.mini-stats strong{color:#283b30;font-size:26px;line-height:1}.mini-stats span{color:#55624f;font-size:11px}.week-overview{margin:23px 0}.section-caption{justify-content:space-between;align-items:center;gap:12px;margin-bottom:13px;display:flex}.section-caption h2{margin:0;font-size:17px}.section-caption>span{color:#6d796d;font-size:12px}.week-rhythm{grid-template-columns:repeat(7,minmax(0,1fr));gap:9px;display:grid}.week-rhythm button{color:#606e61;background:#fffefa;border:1px solid #e2e5db;border-radius:13px;justify-items:center;gap:8px;padding:14px 4px 12px;display:grid}.week-rhythm strong{color:#263b30;font-size:22px}.week-rhythm span{text-transform:capitalize;font-size:12px}.week-rhythm small{font-size:10px}.week-rhythm i{background:#d5dece;border-radius:50%;width:5px;height:5px}.week-rhythm .is-busy i{background:#6db4a5}.week-rhythm .is-today{background:#eaf0e5;border-color:#33543f}.home-lower-grid{grid-template-columns:minmax(0,1.5fr) minmax(240px,1fr);gap:18px;display:grid}.home-class-list{padding:20px}.community-card{background:#eee6d5;border:1px solid #e5dac6;border-radius:16px;padding:22px;position:relative}.community-symbol{float:right;color:#8c8456;margin-left:8px}.community-card h2{margin:14px 0 10px;font-family:Georgia,serif;font-size:23px;font-weight:500;line-height:1.25}.community-card p{color:#69654e;font-size:13px;line-height:1.65}.community-card .text-button{color:#5e643d}.agenda-heading{justify-content:space-between;align-items:center;gap:14px;display:flex}.new-availability{white-space:nowrap;width:auto;margin:0 0 20px}.agenda-panel{padding:20px}.agenda-controls{justify-content:space-between;align-items:center;gap:15px;margin-bottom:16px;display:flex}.agenda-controls .calendar-toolbar{flex-wrap:wrap;gap:10px;margin:0}.agenda-view-toggle{background:#edf0e8;border-radius:10px;padding:4px;display:flex}.agenda-view-toggle button{color:#58684e;background:0 0;border:0;border-radius:7px;min-height:36px;padding:8px 15px;font-size:12px}.agenda-view-toggle button[aria-pressed=true]{color:#263e30;background:#fff;box-shadow:0 1px 4px #20302012}.agenda-day-strip{grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;margin-bottom:23px;display:grid}.agenda-day-strip button{color:#596b51;background:#f8f9f3;border:1px solid #e3e7dd;border-radius:12px;justify-items:center;gap:9px;padding:12px 2px;display:grid}.agenda-day-strip strong{font-size:21px}.agenda-day-strip span{text-transform:capitalize;font-size:11px}.agenda-day-strip i{background:0 0;border-radius:50%;width:5px;height:5px}.agenda-day-strip .has-events i{background:#59aa99}.agenda-day-strip button[aria-pressed=true]{color:#fff;background:#2b4838;border-color:#2b4838}.agenda-panel .calendar-grid{margin-bottom:23px}.open-slots-section{border-top:1px solid #dfe4d8;margin-top:22px;padding-top:18px}.open-slots-section>summary{cursor:pointer;padding:6px 0;font-size:15px;font-weight:700}.open-slots-section summary span{float:right;color:#65785c;font-size:12px;font-weight:400}.availability-dialog{color:#24392b;background:#fffefa;border:0;border-radius:20px;width:min(900px,100vw - 36px);max-height:calc(100dvh - 40px);padding:0;box-shadow:0 24px 100px #132c2b44}.availability-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#122f27a6}.editor-top{z-index:5;background:#fffefa;border-bottom:1px solid #e1e7da;justify-content:space-between;align-items:center;padding:14px 22px;font-size:14px;font-weight:700;display:flex;position:sticky;top:0}.availability-dialog .availability-builder{border:0;border-radius:0;margin:0;padding:22px}.availability-dialog .availability-heading h2{font-size:24px}.availability-dialog .availability-layout{grid-template-columns:minmax(0,1.4fr) minmax(220px,1fr)}.availability-mobile-steps,.availability-mobile-actions{display:none}.profile-shortcuts{margin-top:20px;padding:5px 16px}.profile-shortcuts>button{color:#394f40;text-align:left;background:0 0;border:0;align-items:center;gap:14px;width:100%;min-height:54px;display:flex}.profile-shortcuts>button span{flex:1}.profile-shortcuts>button+button{border-top:1px solid #e0e6da}.experience-shell .class-row-button{padding:15px 0}.experience-shell .class-info strong{font-size:14px}.experience-shell .class-info span{color:#637363;font-size:12px}.experience-shell .date-block{color:#426139;background:#ecf1e6;border-radius:10px}.experience-shell .status{font-size:11px}.experience-shell .teacher-grid{gap:15px}.experience-shell .teacher-card-cover{background:#e7eddd;height:130px}.experience-shell .teacher-card:nth-child(2n) .teacher-card-cover{background:#d7ebe7}.experience-shell .teacher-card:nth-child(3n) .teacher-card-cover{background:#dce7e8}.experience-shell .teacher-card-body{padding:19px}.experience-shell .teacher-card-body h2{font-size:19px}.experience-shell .teacher-card-body p{font-size:13px}@media (min-width:761px) and (max-width:1100px){.experience-shell .sidebar{flex-basis:82px;width:82px;padding:24px 10px}.experience-shell .brand-lockup{justify-content:center;padding:0 0 28px}.experience-shell .brand-lockup>div:last-child,.experience-shell .sidebar-context,.experience-shell .nav-heading,.experience-shell .nav-item>span,.experience-shell .nav-arrow,.experience-shell .help-box{display:none}.experience-shell .nav-item{justify-content:center;min-height:56px;padding:14px}.experience-shell .sidebar .main-nav{padding-top:0}.experience-shell .logout-button{justify-content:center;font-size:0}.experience-shell .logout-button svg{flex-shrink:0}.experience-shell .content-wrap{padding:22px}.home-feature-grid{grid-template-columns:minmax(0,1.2fr) minmax(240px,1fr);gap:14px}.home-actions{padding:16px}.mini-stats button{padding:10px 7px}.home-lower-grid{grid-template-columns:1.4fr 1fr;gap:14px}}@media (max-width:760px){.experience-shell{min-height:calc(100dvh - 80px)}.experience-shell .content-wrap{padding:15px 16px 30px}.experience-shell .topbar{border-bottom:0;height:67px;padding:0 16px}.experience-shell .breadcrumb,.experience-shell .mobile-menu{display:none}.mobile-brand{align-items:center;gap:9px;display:flex}.mobile-brand .brand-mark{color:#fff;background:#80beb1;border-radius:11px;width:33px;height:33px}.mobile-brand>div{gap:4px;display:grid}.mobile-brand strong{color:#253f31;font-size:13px}.mobile-brand small{color:#6b7c67;font-size:10px}.experience-shell .topbar-actions{gap:7px}.experience-shell .topbar-actions .icon-button{background:#f0f3e9;border:0}.experience-shell .avatar-button{color:#2d584f;background:#b0d7cf}.experience-shell .sidebar{display:none}.bottom-navigation{z-index:65;padding:5px 12px calc(7px + env(safe-area-inset-bottom));-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);background:#fffefaee;border-top:1px solid #dce4d4;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -6px 28px #1d342508}.bottom-navigation button{color:#73816d;background:0 0;border:0;flex-direction:column;flex:1;justify-content:center;align-items:center;gap:3px;min-height:58px;padding:3px;font-size:10px;font-weight:600;display:flex}.bottom-nav-icon{border-radius:18px;padding:4px 17px;line-height:0}.bottom-navigation button[aria-current=page]{color:#28452f}.bottom-navigation button[aria-current=page] .bottom-nav-icon{background:#e4eddb}.legal-footer{padding-bottom:calc(95px + env(safe-area-inset-bottom));font-size:10px}.legal-footer nav{gap:0 16px}.legal-footer a{min-height:35px}.demo-tools{margin-bottom:16px;font-size:10px}.demo-tools>summary{padding:5px 10px}.home-greeting{margin-bottom:18px}.home-greeting h1{margin:5px 0;font-size:34px}.home-greeting .eyebrow{letter-spacing:.08em;font-size:9px}.home-greeting p{font-size:12px}.greeting-emblem{border-radius:15px;width:42px;height:42px}.home-feature-grid{display:contents}.next-session{border-radius:20px;padding:20px}.next-session h2{margin-top:17px;font-size:27px}.next-session>p{font-size:13px}.session-label{font-size:11px}.session-when{gap:11px}.session-date{flex-basis:47px;min-height:56px}.session-date strong{font-size:23px}.session-when>div:nth-child(2){font-size:13px}.session-state{max-width:100px;padding:6px 8px;font-size:9px}.session-button{min-height:44px}.home-actions{background:0 0;border:0;gap:12px;margin-top:12px;padding:0;display:flex}.home-actions>.eyebrow{display:none}.home-action{background:#f0e2d5;border:1px solid #cae4de;padding:13px}.home-action strong{font-size:13px}.home-action small{font-size:11px}.action-icon{width:34px;height:34px}.mini-stats{gap:8px}.mini-stats button{background:#fffefa;border:1px solid #e1e6d8;border-radius:13px;grid-template-columns:1fr auto;gap:5px;padding:13px 12px;display:grid;position:relative}.mini-stats svg{grid-area:1/2;width:17px;height:17px}.mini-stats strong{grid-area:1/1;font-size:25px}.mini-stats span{grid-column:1/-1;font-size:10px}.week-overview{margin:22px 0}.section-caption h2{font-size:15px}.section-caption .text-button{font-size:11px}.week-rhythm{gap:5px}.week-rhythm button{border-radius:11px;gap:6px;padding:11px 2px}.week-rhythm span{font-size:10px}.week-rhythm strong{font-size:19px}.week-rhythm small{display:none}.home-lower-grid{flex-direction:column;gap:13px;display:flex}.home-class-list{border-radius:16px;padding:17px 14px}.community-card{padding:18px}.community-card h2{margin-top:9px;font-size:22px}.community-card p{font-size:12px}.experience-shell .page-title h1{font-size:30px}.experience-shell .page-title p{font-size:12px}.experience-shell .class-row-button{grid-template-columns:43px minmax(0,1fr) 18px;gap:5px 10px;padding:14px 0;display:grid}.experience-shell .class-row-button .date-block{grid-area:1/1/3;width:43px}.experience-shell .class-row-button .class-info{grid-area:1/2}.experience-shell .class-row-button .class-info strong{font-size:13px}.experience-shell .class-row-button .class-info span{font-size:11px}.experience-shell .class-row-button>.status{grid-area:2/2;width:-moz-fit-content;width:fit-content;margin:0;padding:3px 7px;font-size:9px}.experience-shell .class-row-button>svg{grid-area:1/3/3}.agenda-heading{align-items:flex-start;gap:8px}.new-availability{min-height:42px;margin-top:7px;padding:10px 12px;font-size:11px}.new-availability svg{width:15px}.agenda-panel{border-radius:17px;padding:15px 12px}.agenda-controls{flex-wrap:wrap;gap:8px}.agenda-controls .calendar-toolbar{gap:6px}.agenda-controls .calendar-toolbar .icon-button{width:32px;min-width:32px;height:36px;min-height:36px}.agenda-controls .calendar-toolbar strong{font-size:12px}.agenda-controls .text-button{font-size:10px}.agenda-view-toggle{margin-left:auto;padding:3px}.agenda-view-toggle button{min-height:35px;padding:7px 12px;font-size:11px}.agenda-day-strip{gap:5px;margin:5px 0 22px}.agenda-day-strip button{border-radius:10px;gap:7px;padding:10px 1px}.agenda-day-strip span{font-size:10px}.agenda-day-strip strong{font-size:20px}.agenda-panel .list-heading h2{font-size:14px}.open-slots-section>summary{font-size:13px}.open-slots-section summary span{font-size:10px}.availability-dialog{width:100%;max-width:100%;max-height:calc(100dvh - env(safe-area-inset-top) - 18px);border-radius:22px 22px 0 0;margin:auto 0 0}.editor-top{border-radius:22px 22px 0 0;padding:12px 18px;font-size:13px}.availability-dialog .availability-builder{padding:17px 18px calc(20px + env(safe-area-inset-bottom))}.availability-dialog .availability-heading{margin-bottom:17px}.availability-dialog .availability-heading h2{font-size:22px}.availability-dialog .availability-heading .availability-icon,.availability-dialog .availability-heading p,.availability-dialog .availability-heading .eyebrow{display:none}.availability-mobile-steps{gap:8px;margin-bottom:24px;display:flex}.availability-mobile-steps button{color:#66775b;background:#edf1e6;border:0;border-radius:10px;flex:1;justify-content:center;align-items:center;gap:6px;min-height:42px;padding:6px;font-size:11px;display:flex}.availability-mobile-steps button>span{background:#fffa;border-radius:50%;place-items:center;width:19px;height:19px;font-size:10px;display:grid}.availability-mobile-steps button[aria-current=step]{color:#fff;background:#2b4937}.availability-mobile-steps button[aria-current=step]>span{color:#284230;background:#c0ded8}.availability-dialog .availability-layout{display:block}.availability-builder[data-step="0"] .availability-step:nth-child(2),.availability-builder[data-step="0"] .availability-preview,.availability-builder[data-step="1"] .availability-step:first-child,.availability-builder[data-step="1"] .availability-preview,.availability-builder[data-step="2"] .availability-settings{display:none}.availability-step{margin-bottom:10px}.availability-mobile-actions{justify-content:flex-end;gap:12px;margin-top:22px;display:flex}.availability-mobile-actions .primary-button{flex:1;justify-content:center;min-height:47px}.availability-mobile-actions .outline-button{min-height:47px}.availability-dialog .availability-preview{padding:20px}.experience-shell .teacher-grid{flex-direction:column;display:flex}.experience-shell .teacher-card{border-radius:16px;grid-template-columns:90px minmax(0,1fr);display:grid}.experience-shell .teacher-card-cover{align-items:center;height:100%;min-height:138px;position:relative}.experience-shell .teacher-card-cover .portrait{width:54px;height:54px;margin:0 auto;font-size:17px;position:static;transform:none}.experience-shell .teacher-card-cover .availability{display:none}.experience-shell .teacher-card-body{min-width:0;padding:14px}.experience-shell .teacher-card-body h2{margin:0 0 6px;font-size:16px}.experience-shell .teacher-card-body p{margin:0;font-size:12px}.experience-shell .teacher-card-footer{margin-top:13px;padding-top:10px}.experience-shell .teacher-card-footer span{gap:4px;font-size:10px}.experience-shell .teacher-card-footer .round-arrow{width:37px;height:37px}.experience-shell .booking-panel{border-radius:16px}.experience-shell .profile-grid{gap:12px}.experience-shell .profile-note{display:none}.experience-shell .notification-item{border-radius:14px}}@media (max-width:360px){.experience-shell .content-wrap{padding-left:12px;padding-right:12px}.home-greeting h1{font-size:31px}.session-state{max-width:78px}.new-availability{font-size:10px}.agenda-controls .calendar-toolbar strong{font-size:11px}}@media (min-width:761px) and (max-width:1100px){.login-shell{grid-template-columns:1fr 1fr}.login-art{padding:45px}.login-panel{padding:40px 32px}}@media (max-width:760px){.login-shell{background:#233f33;min-height:100dvh;padding:0 16px 20px}.login-art{background:0 0;min-height:auto;padding:27px 12px 24px}.login-art-mark{width:34px;height:34px;margin:0;position:absolute;top:24px;right:12px}.login-art h1{max-width:270px;margin:13px 0 9px;font-size:32px}.login-art p{max-width:280px;margin:0;font-size:12px;line-height:1.5}.login-art-line,.login-art:after{display:none}.login-panel{border-radius:22px;padding:25px 22px;position:relative}.login-brand{margin-bottom:19px}.login-panel h2{font-size:27px}.login-intro{color:#68766e;margin-bottom:21px;font-size:13px}.login-panel input{border-radius:10px;min-height:48px;font-size:16px}.login-panel label{font-size:12px}.login-submit,.demo-button{border-radius:10px;min-height:47px;font-size:13px}.login-divider{margin:17px 0 12px}.login-security{color:#68766e;margin-top:19px;font-size:10px}.experience-shell .filter-row{flex-wrap:wrap;gap:7px;margin-top:12px}.experience-shell .filter-chip{color:#5f6d64;border-radius:20px;min-height:42px;padding:8px 12px;font-size:12px}.experience-shell .filter-chip.active{color:#47897b}.experience-shell .teacher-card-footer span{color:#65746b}}.experience-shell .history-breadcrumb{flex:1;gap:10px;min-width:0;margin-right:18px;display:flex}.history-breadcrumb>a{color:#586b60;flex-shrink:0;font-size:12px}.history-breadcrumb a{border-radius:5px;text-decoration:none}.history-breadcrumb a:hover{color:#4b9182;text-decoration:underline}.history-breadcrumb ol{scrollbar-width:thin;align-items:center;gap:9px;min-width:0;margin:0;padding:3px 0;list-style:none;display:flex;overflow-x:auto}.history-breadcrumb li{flex:none;align-items:center;gap:9px;font-size:12px;display:flex}.history-breadcrumb li a{color:#66766b;padding:9px 3px}.history-breadcrumb [aria-current=page]{color:#294638;padding:9px 0;font-weight:700}.experience-shell .topbar-actions{flex-shrink:0}.session-loading{text-align:center;color:#294638;flex-direction:column;justify-content:center;align-items:center;gap:16px;min-height:75dvh;padding:25px;display:flex}.session-loading h1{margin:0;font:30px Georgia,serif}.session-loading .text-button{min-height:44px}@media (max-width:760px){.experience-shell .topbar{flex-wrap:wrap;gap:4px 8px;height:auto;min-height:104px;padding-top:9px;padding-bottom:0}.experience-shell .history-breadcrumb{border-top:1px solid #e3e7df;flex:0 0 100%;order:3;gap:3px;width:100%;margin:0}.history-breadcrumb>a{padding:10px 0;font-size:11px}.history-breadcrumb li{gap:3px;font-size:11px}.history-breadcrumb ol{scrollbar-width:none;gap:3px}.history-breadcrumb li a{padding:13px 4px}}.assistance-fab{z-index:35;color:#fff;background:#294638;border:1px solid #c6e2dc;border-radius:28px;align-items:center;gap:8px;min-height:50px;padding:12px 18px;font-weight:700;display:inline-flex;position:fixed;bottom:24px;right:24px;box-shadow:0 5px 22px #1b352530}.assistance-fab:hover{background:#3b5a46}.experience-shell .content-wrap{padding-bottom:90px}.avatar-button img,.portrait img{object-fit:cover;border-radius:50%;width:100%;height:100%}.photo-picker{color:#294638;cursor:pointer;background:#ecf1e5;border-radius:10px;margin-top:9px;padding:9px 12px;font-size:13px;display:inline-flex;position:relative;overflow:hidden}.photo-picker:focus-within{outline-offset:3px;outline:2px solid #509b8b}.photo-picker input{opacity:0;cursor:pointer;width:100%;position:absolute;top:0;bottom:0;left:0;right:0}.photo-help{color:#68766d;font-size:12px;line-height:1.6}.profile-fields .full-field{grid-column:1/-1}.incident-form,.incident-card{margin:18px 0;padding:24px}.incident-form h2,.incident-card h2,.incidents-view .section-caption h2{margin:0 0 12px;font-size:20px}.incident-form label,.incident-filter{color:#425b4b;margin:14px 0;font-size:13px;display:block}.incident-form input,.incident-form textarea,.incident-form select,.incident-filter select{width:100%;font:inherit;color:#294638;background:#fffefa;border:1px solid #d3dbd0;border-radius:9px;margin-top:8px;padding:12px;display:block}.incident-form p{color:#637267;font-size:13px;line-height:1.6}.incident-card .section-caption{gap:12px;margin-bottom:15px}.incident-card small{color:#68776c}.incident-message,.incident-response p{white-space:pre-wrap;overflow-wrap:anywhere;font-size:14px;line-height:1.7}.incident-author{color:#637267;font-size:12px}.incident-status{color:#3a7165;background:#f8e7d4;border-radius:20px;padding:6px 10px;font-size:12px;display:inline-block}.incident-status.in_progress{color:#375d76;background:#e5eff5}.incident-status.resolved{color:#2e5a37;background:#e8f1e2}.incident-response{background:#eef3e7;border-radius:12px;padding:15px}.incident-response strong{color:#375441;font-size:13px}.incident-filter{max-width:300px}@media (max-width:760px){.assistance-fab{right:16px;bottom:calc(88px + env(safe-area-inset-bottom));justify-content:center;width:50px;height:50px;padding:0}.assistance-fab span{display:none}.incident-form,.incident-card{border-radius:16px;padding:18px}.incident-form input,.incident-form textarea,.incident-form select,.incident-filter select{font-size:16px}.incidents-view .page-title{align-items:center;display:flex}.incidents-view .page-title>svg{display:none}.experience-shell .role-admin~.bottom-navigation{gap:0}.bottom-navigation button{min-width:0}}.profile-fields select{color:#294638;width:100%;min-height:46px;font:inherit;background:#fffefa;border:1px solid #d3dbd0;border-radius:9px;margin-top:8px;padding:10px 12px;font-size:15px;display:block}@media (min-width:761px){.legal-footer{padding-right:200px}}@media (max-width:760px){.profile-fields select{font-size:16px}}.onboarding-shell{background:radial-gradient(at 8% 0,#e6d9c0 0,#0000 48%),#f2f3ec;min-height:100dvh;padding:28px 24px 50px}.onboarding-top{justify-content:space-between;align-items:center;gap:15px;max-width:1020px;margin:0 auto 35px;display:flex}.onboarding-top>span{color:#2b4937;align-items:center;gap:9px;font-weight:700;display:flex}.education-space{max-width:960px;margin:0 auto}.education-intro{align-items:center;gap:20px;margin-bottom:26px;display:flex}.education-emblem{color:#badbd4;background:#2b4937;border-radius:22px;flex:0 0 68px;place-items:center;height:68px;display:grid}.education-intro h1,.education-intro h2{color:#294638;letter-spacing:-.035em;margin:8px 0 10px;font:38px Georgia,serif}.education-intro p{color:#627365;margin:0;font-size:14px;line-height:1.7}.education-card{background:#fffefa;border:1px solid #dfe5d7;border-radius:24px;padding:32px;box-shadow:0 12px 38px #293d2410}.education-progress{border-bottom:1px solid #e5e8dd;gap:12px;margin:0 0 28px;padding:0 0 25px;list-style:none;display:flex}.education-progress li{color:#7b867a;flex:1;align-items:center;gap:9px;font-size:13px;display:flex}.education-progress li>span{background:#edf0e6;border-radius:50%;place-items:center;width:29px;height:29px;font-size:12px;display:grid}.education-progress li[aria-current=step]{color:#294638;font-weight:700}.education-progress li[aria-current=step]>span{color:#fff;background:#2b4937}.education-card fieldset{border:0;min-width:0;margin:0;padding:0}.education-card legend{color:#294638;margin-bottom:15px;font:25px Georgia,serif}.education-card fieldset>p{color:#637365;font-size:13px;line-height:1.65}.education-card label,.education-label{color:#405b49;margin:18px 0 10px;font-size:13px;font-weight:600;display:block}.education-card input,.education-card select,.education-card textarea{width:100%;min-width:0;font:inherit;color:#294638;background:#fff;border:1px solid #cfd8ca;border-radius:10px;min-height:47px;margin-top:9px;padding:12px;font-size:15px;font-weight:400;display:block}.education-fields{grid-template-columns:1fr 1fr;gap:0 18px;display:grid}.education-stages{grid-template-columns:repeat(3,1fr);gap:10px;margin:20px 0;display:grid}.education-stages button{text-align:left;color:#425c49;background:#f3f5ed;border:1px solid #dce3d4;border-radius:12px;align-items:center;gap:10px;min-height:70px;padding:13px;font-size:13px;display:flex}.education-stages button>span{flex-shrink:0;place-items:center;width:27px;height:27px;display:grid}.education-stages button[aria-pressed=true]{color:#fff;background:#2c4937;border-color:#2c4937;box-shadow:0 3px 8px #293e2420}.education-times{flex-wrap:wrap;gap:9px;display:flex}.education-times button{color:#526a56;background:#f3f5ed;border:1px solid #d5decd;border-radius:22px;min-height:44px;padding:10px 15px;font-size:13px}.education-times button[aria-pressed=true]{color:#fff;background:#2c4937}.education-card .area-search{position:relative}.area-search>svg{color:#6c816c;position:absolute;top:15px;left:14px}.education-card .area-search input{margin:0;padding-left:43px}.selected-areas{flex-wrap:wrap;gap:8px;margin:18px 0;display:flex}.selected-areas button{color:#2c4937;background:#eaf1e0;border:1px solid #cbd8bf;border-radius:22px;align-items:center;gap:8px;min-height:38px;padding:8px 12px;font-size:12px;display:flex}.education-summary{color:#3c553c;background:#f2e8d8;border-radius:14px;gap:13px;padding:18px;display:flex}.education-summary>svg{flex-shrink:0}.education-summary p{overflow-wrap:anywhere;margin:0;font-size:13px;line-height:1.7}.education-summary strong{font-weight:600;display:block}.education-actions{border-top:1px solid #e7eadd;justify-content:space-between;align-items:center;gap:15px;margin-top:26px;padding-top:22px;display:flex}.education-actions .primary-button{background:#2c4937;min-height:47px;margin-left:auto;padding:12px 20px;font-size:13px}.education-actions .text-button{align-items:center;gap:6px;min-height:44px;font-size:12px;display:flex}.education-note{padding:12px 0}.education-embedded{max-width:none;margin:25px 0;padding:25px}.education-embedded .education-intro h1,.education-intro h2{font-size:28px}.education-embedded .education-card{box-shadow:none;padding:22px}.complete-questionnaire{color:#4c5d42;text-align:left;background:#f6e7d7;border:1px solid #bcddd6;border-radius:12px;align-items:center;gap:10px;width:100%;margin-bottom:20px;padding:15px;font-size:13px;display:flex}.complete-questionnaire span{flex:1}.recommendation-label{color:#3c5f3d;background:#e8f0de;border-radius:8px;align-items:center;gap:5px;margin:6px 0;padding:5px 8px;font-size:11px;display:inline-flex}.recommendation-note,.hour-availability-note,.hour-booking-summary{color:#58705b;font-size:13px;line-height:1.7}@media (max-width:760px){.onboarding-shell{padding:18px 14px 30px}.onboarding-top{margin-bottom:24px;font-size:13px}.education-intro{align-items:flex-start;gap:13px;margin-bottom:20px}.education-emblem{border-radius:15px;flex-basis:45px;height:45px}.education-emblem svg{width:23px}.education-intro h1,.education-intro h2{margin-top:6px;font-size:29px;line-height:1.1}.education-intro p{font-size:13px;line-height:1.6}.education-card{border-radius:20px;padding:20px 16px}.education-progress{gap:7px;margin-bottom:22px;padding-bottom:18px}.education-progress li{gap:5px;font-size:11px}.education-progress li>span{flex-shrink:0;width:23px;height:23px}.education-card legend{font-size:23px}.education-stages{grid-template-columns:1fr 1fr;gap:8px}.education-stages button{gap:5px;min-height:66px;padding:10px;font-size:12px}.education-fields{grid-template-columns:1fr}.education-card input,.education-card select,.education-card textarea{font-size:16px}.education-embedded{padding:16px}.education-embedded .education-intro{display:block}.education-embedded .education-emblem{display:none}.education-embedded .education-card{padding:16px 12px}.education-actions{gap:8px}.education-actions .primary-button{padding:12px 15px}}.education-saved{background:#edf3e7;border-radius:15px;margin:20px 0;padding:20px}.education-saved h3{color:#2b4937;margin:0 0 16px;font-size:19px}.education-saved dl{grid-template-columns:180px 1fr;gap:12px 20px;margin:0;font-size:13px;line-height:1.7;display:grid}.education-saved dt{color:#65785e}.education-saved dd{color:#2f4b37;white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.education-saved p{color:#61745c;margin:16px 0 0;font-size:12px}@media (max-width:760px){.education-saved dl{grid-template-columns:1fr;gap:3px}.education-saved dd{margin-bottom:12px}}.teacher-directory .search-field{width:100%;max-width:700px;padding:14px}.teacher-directory .search-field input{font-size:15px}.directory-scopes{flex-wrap:wrap;gap:8px;margin:20px 0 12px;display:flex}.directory-scopes button{border:1px solid var(--line);background:var(--paper);color:var(--ink);border-radius:14px;align-items:center;gap:8px;padding:12px 16px;font-weight:600;display:flex}.directory-scopes button[aria-pressed=true]{color:#fff;background:#294c3c;border-color:#294c3c}.directory-scopes span{background:#ffffff30;border-radius:20px;padding:2px 7px}.directory-filters{flex-wrap:wrap;align-items:end;gap:12px;margin:18px 0;display:flex}.directory-filters label{color:#586b60;flex:170px;gap:6px;font-size:12px;display:grid}.directory-filters select{border:1px solid var(--line);width:100%;min-width:0;color:var(--ink);background:var(--paper);border-radius:10px;padding:12px}.directory-results{color:#586b60;margin-bottom:16px;font-size:13px}.experience-shell .teacher-directory .teacher-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.experience-shell .teacher-directory .teacher-card-cover{align-items:center;height:95px}.experience-shell .teacher-directory .teacher-card-cover .portrait{margin:0}.teacher-card .portrait img{object-fit:cover;border-radius:50%;width:100%;height:100%}.teacher-information{gap:12px;margin:16px 0;font-size:13px;line-height:1.65;display:grid}.teacher-information div{min-width:0}.teacher-information dt{color:#586b60;font-size:11px;font-weight:600}.teacher-information dd{white-space:pre-wrap;overflow-wrap:anywhere;color:var(--ink);margin:2px 0 0}.experience-shell .teacher-card-body p.teacher-bio{color:#586b60;white-space:pre-wrap;overflow-wrap:anywhere;margin-top:10px;line-height:1.7}.teacher-next-slot{align-items:start;gap:6px;line-height:1.7;display:flex}.teacher-next-slot svg{flex-shrink:0;margin-top:4px}.teacher-directory .teacher-card-footer{flex-wrap:wrap;gap:10px}.teacher-disclosure{color:#68786c;font-size:12px}.directory-empty{border:1px dashed var(--line);text-align:center;border-radius:16px;padding:24px}.teacher-directory .recommendation-label{align-items:start;gap:5px;margin-top:8px;line-height:1.5;display:flex}.teacher-directory .recommendation-label svg{flex-shrink:0;margin-top:3px}@media (max-width:760px){.experience-shell .teacher-directory .teacher-grid{grid-template-columns:1fr}.experience-shell .teacher-directory .teacher-card{display:block}.experience-shell .teacher-directory .teacher-card-cover{justify-content:flex-start;height:76px;min-height:0;padding-left:16px}.experience-shell .teacher-directory .teacher-card-cover .portrait{margin:0}.experience-shell .teacher-directory .teacher-card-body{padding:18px}.directory-filters{gap:10px}.directory-filters label{flex-basis:calc(50% - 10px)}.directory-filters label:first-child{flex-basis:100%}.directory-filters select{font-size:16px}.directory-scopes button{flex:1;justify-content:center;padding:12px 9px;font-size:12px}.teacher-directory .teacher-card-footer .outline-button{min-height:44px}}.login-error{color:#922b36;background:#fff0f2;border-color:#d6a0aa}.autosave-status{color:#506e60;margin:16px 0;font-size:12px;line-height:1.6}.purchase-progress{gap:8px;margin:0 0 22px;padding:0;list-style:none;display:flex}.purchase-progress li{color:#5d6c60;background:#ecece6;border-radius:12px;flex:1;padding:12px;font-size:12px}.purchase-progress li[aria-current=step]{color:#3b7065;background:#e3f0ed;font-weight:700}.reservation-summary{background:#f4f9f8;border:1px solid #d0e7e2;border-radius:14px;grid-column:1/-1;gap:10px;padding:18px;display:grid}.reservation-summary>strong{color:#3b7065;font-size:23px}@media (min-width:1101px){.experience-shell .sidebar{align-self:flex-start;height:100dvh;position:sticky;top:0;overflow-y:auto}}@media (max-width:760px){.role-student .bottom-navigation{grid-template-columns:repeat(5,minmax(0,1fr))}.purchase-progress{gap:5px}.purchase-progress li{padding:10px 6px;font-size:10px}}[hidden]{display:none!important}.teacher-directory .booking-panel{background:#eef6f5;border-color:#d3e8e4;border-radius:20px;gap:20px;padding:24px}.teacher-directory .booking-panel h2{margin:8px 0;font-size:24px}.teacher-directory .booking-panel p{color:#55706a;font-size:14px;line-height:1.7}.teacher-directory .booking-panel label{color:#47635d;font-size:13px}.teacher-directory .booking-panel input,.teacher-directory .booking-panel select,.teacher-directory .booking-panel textarea{background:#fffefa;border-color:#cde3de;border-radius:10px;padding:12px;font-size:16px}.teacher-directory .booking-panel select{min-height:48px}.teacher-directory .booking-panel .primary-button{min-height:48px;font-size:14px}@media (max-width:760px){.teacher-directory .booking-panel{gap:16px;padding:18px}.teacher-directory .booking-panel .booking-fields{grid-template-columns:1fr}.teacher-directory .booking-panel .policy-checkbox input{width:20px;min-width:20px;height:20px}}.primary-button:hover{background:#19564f}.brand-mark{color:#174d45;background:#a9d3c1}.avatar-button{color:#174d45;background:#c8e2d5}.session-button{color:#183e35;background:#c5dfce}.home-action{color:#234e43;background:#e5f2eb}.home-action small{color:#4d6d61}.action-icon{background:#c4dfd1}:where(button,a,input,select,textarea):focus-visible{outline-offset:3px;outline:3px solid #206c65}@keyframes apr-enter{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion:no-preference){.page-view,.home-experience,.education-space,.login-shell,.incident-space{animation:.3s ease-out both apr-enter}.teacher-card,.home-actions,.next-session,.home-class-list,.community-card,.education-card,.incident-card{animation:.38s ease-out both apr-enter}.teacher-card:nth-child(2){animation-delay:45ms}.teacher-card:nth-child(3){animation-delay:90ms}.teacher-card:nth-child(n+4){animation-delay:.12s}.booking-panel,.availability-builder,.detail-panel{animation:.24s ease-out both apr-enter}button,a,.panel,.teacher-card{transition:background-color .18s,border-color .18s,box-shadow .18s,transform .18s}button:not(:disabled):active{transform:scale(.98)}.education-progress li>span,.bottom-nav-icon{transition:background-color .18s,transform .18s}.bottom-navigation button[aria-current=page] .bottom-nav-icon{transform:translateY(-2px)}@media (hover:hover) and (pointer:fine){.primary-button:not(:disabled):hover{transform:translateY(-2px);box-shadow:0 6px 16px #174f4422}.teacher-card:hover{transform:translateY(-3px);box-shadow:0 10px 24px #244d4012}.home-action:hover{transform:translateY(-2px)}}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.online-only-note{color:#275a4d;background:#e3efe8;border-radius:10px;align-self:end;padding:10px 12px;font-size:13px;line-height:1.6;display:block}.chat-policy{color:#365c4d;background:#e8f2ed;border-radius:12px;padding:15px;font-size:13px;line-height:1.7}.chat-layout{grid-template-columns:230px minmax(0,1fr);align-items:start;gap:18px;margin-top:20px;display:grid}.chat-partners{padding:12px}.chat-partners button{text-align:left;color:#3d6654;background:0 0;border:1px solid #0000;border-radius:12px;align-items:center;gap:10px;width:100%;margin-bottom:5px;padding:14px 12px;display:flex}.chat-partners button[aria-pressed=true]{color:#214e3d;background:#e2eee6;border-color:#8cb3a0}.chat-thread{border-radius:18px;padding:22px}.chat-thread h2{margin:0 0 18px;font-size:21px}.chat-messages{flex-direction:column;gap:12px;min-height:180px;max-height:430px;padding:8px 3px 20px;display:flex;overflow-y:auto}.chat-bubble{background:#eef0e9;border:1px solid #d6ded2;border-radius:15px 15px 15px 3px;align-self:flex-start;max-width:85%;padding:12px 15px}.chat-bubble.mine{background:#dceee4;border-color:#bdd8c8;border-radius:15px 15px 3px;align-self:flex-end}.chat-bubble p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0 0 7px;font-size:14px;line-height:1.7}.chat-bubble time{color:#526a5e;font-size:10px}.chat-thread form{border-top:1px solid #d6e2d9;padding-top:18px}.chat-thread label{color:#345747;font-size:13px}.chat-thread textarea{resize:vertical;color:#214d3d;background:#fffefa;border:1px solid #b9cec0;border-radius:12px;width:100%;margin:9px 0 12px;padding:13px;font-size:16px;display:block}@media (max-width:760px){.role-student .bottom-navigation{grid-template-columns:repeat(6,minmax(0,1fr))}.chat-layout{grid-template-columns:1fr;gap:12px}.chat-partners{gap:8px;padding:8px;display:flex;overflow-x:auto}.chat-partners button{flex:none;width:auto;max-width:240px;margin:0}.chat-thread{padding:16px}.chat-messages{max-height:360px}}.chat-thread textarea{font-family:inherit}.directory-filters label.pro-filter{color:var(--ink);flex:none;align-self:center;align-items:center;gap:8px;font-size:13px;display:inline-flex}.directory-filters label.pro-filter input{width:18px;height:18px;margin:0}.info-tip{vertical-align:middle;margin-left:4px;display:inline-flex;position:relative}.info-tip-button{color:#5d7a70;cursor:pointer;background:0 0;border:0;border-radius:50%;place-items:center;width:26px;height:26px;padding:0;display:inline-grid}.info-tip-button:hover,.info-tip-button[aria-expanded=true]{background:var(--coral-soft);color:var(--coral)}.info-tip-button:focus-visible{outline:2px solid var(--coral);outline-offset:1px}.info-tip-bubble{z-index:60;color:#fff;letter-spacing:normal;text-transform:none;text-align:left;white-space:normal;background:#24392f;border-radius:10px;width:max-content;max-width:min(290px,100vw - 24px);padding:10px 12px;font-family:DM Sans,Segoe UI,sans-serif;font-size:13px;font-weight:400;line-height:1.55;position:fixed;box-shadow:0 10px 24px #1b2b2433}.info-tip-bubble[hidden]{display:none}.info-tip-bubble a{color:#cdeee4;text-decoration:underline}.teacher-subjects{flex-wrap:wrap;gap:6px;margin:10px 0 6px;padding:0;list-style:none;display:flex}.teacher-subjects li{background:var(--coral-soft);color:#1f5d56;border-radius:999px;padding:4px 10px;font-size:12px;font-weight:600}.teacher-stages{color:#586b60;align-items:center;gap:6px;display:flex}.experience-shell .teacher-card-body p.teacher-price,.teacher-price{color:var(--ink);align-items:center;gap:4px;margin:8px 0 2px;font-size:14px;display:flex}.teacher-price strong{color:var(--coral);font-size:18px}.teacher-more{border-top:1px solid var(--line);margin-top:12px;padding-top:12px}.teacher-more .teacher-bio{white-space:pre-wrap;overflow-wrap:anywhere;color:#586b60;line-height:1.7}.teacher-more-toggle{padding:0}.directory-scope-row{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.filters-toggle{display:none}.profile-grid.single{grid-template-columns:1fr}.policy-notice .policy-line{flex-wrap:wrap;align-items:center;gap:2px;margin:0 0 6px;display:flex}.reservation-summary .pay-note{flex-wrap:wrap;align-items:center;gap:2px;margin:0;font-size:13px;display:flex}.heading-tip{align-items:center;gap:2px;display:flex}@media (max-width:760px){.filters-toggle{align-items:center;gap:6px;margin-top:12px;display:inline-flex}.directory-filters:not(.is-open){display:none}}.rotate-90{transform:rotate(90deg)}.teacher-directory .booking-panel .booking-fields{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr);align-items:end}@media (max-width:760px){.teacher-directory .booking-panel .booking-fields{grid-template-columns:1fr}}.directory-scopes button{white-space:nowrap}@media (max-width:760px){.experience-shell .teacher-directory .teacher-grid{align-items:stretch}}.price-list{gap:10px;margin:12px 0 16px;display:grid}.price-row{--tier:#1f8a4c;--tier-soft:#e9f6ee;--tier-ink:#17643a;border:1px solid var(--line);border-left:3px solid var(--tier);background:var(--paper);border-radius:14px;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"label control""tier control";align-items:center;gap:4px 16px;padding:14px 16px;transition:border-color .3s;display:grid}.price-row.tier-mid{--tier:#c99700;--tier-soft:#fdf5d8;--tier-ink:#7a5c00}.price-row.tier-high{--tier:#c9483a;--tier-soft:#fbe9e6;--tier-ink:#99301f}.price-row-label{grid-area:label;gap:2px;min-width:0;display:grid}.price-row-label strong{color:var(--ink);font-size:14px}.price-row-label small{color:var(--muted);font-size:12px}.price-control{border:1px solid var(--line);background:#fff;border-radius:12px;grid-area:control;align-items:center;gap:8px;padding:4px 4px 4px 12px;display:flex}.price-control:focus-within{border-color:var(--tier);box-shadow:0 0 0 3px var(--tier-soft)}.price-value{color:var(--tier-ink);align-items:baseline;gap:4px;transition:color .3s;display:flex}.price-row .price-value input{color:inherit;text-align:right;font-variant-numeric:tabular-nums;outline:none;min-height:0!important;box-shadow:none!important;background:0 0!important;border:0!important;padding:0!important;font:800 26px/1.15 DM Sans,Segoe UI,sans-serif!important}.price-value>span{font-size:13px;font-weight:700}.price-arrows{gap:2px;display:grid}.price-arrow{background:var(--cream);width:34px;height:22px;color:var(--ink);cursor:pointer;touch-action:manipulation;-webkit-user-select:none;user-select:none;border:0;border-radius:7px;place-items:center;padding:0;transition:background-color .15s,color .15s,transform .1s;display:grid}.price-arrow:hover:not(:disabled){background:var(--tier);color:#fff}.price-arrow:active:not(:disabled){transform:scale(.92)}.price-arrow:disabled{opacity:.35;cursor:not-allowed}.price-arrow:focus-visible{outline:2px solid var(--tier);outline-offset:1px}.price-tier{color:var(--tier-ink);grid-area:tier;align-items:center;gap:6px;font-size:12px;display:inline-flex}.price-tier i{background:var(--tier);border-radius:50%;width:8px;height:8px;transition:background-color .3s}.pack-option{gap:8px;display:grid}.pack-switch{color:var(--ink);align-items:center;gap:8px;font-size:13px;display:flex}.pack-switch input{width:18px;height:18px;accent-color:var(--coral);margin:0}.pack-saving{background:var(--coral-soft);color:var(--coral);border-radius:999px;margin-left:6px;padding:1px 7px;font-size:11px;font-weight:700;display:inline-block}@media (max-width:420px){.price-row{grid-template-columns:1fr;grid-template-areas:"label""control""tier"}.price-control{justify-self:start}}.teacher-pack-price{color:#586b60;flex-wrap:wrap;align-items:center;gap:4px;margin:2px 0;font-size:13px;display:flex}.teacher-pack-price strong{color:var(--ink)}.pack-offer{background:var(--paper);border:1px dashed #b9d6cf;border-radius:14px;grid-column:1/-1;gap:12px;padding:16px;display:grid}.pack-offer-title{color:var(--coral);align-items:center;gap:6px;margin:0;display:flex}.pack-choices,.pay-choice{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;display:grid}.pay-choice{grid-column:1/-1}.pack-choices button,.pay-choice button{border:1px solid var(--line);color:var(--ink);text-align:left;cursor:pointer;font:inherit;background:#fff;border-radius:12px;justify-items:start;gap:3px;padding:12px 14px;display:grid}.pack-choices button[aria-checked=true],.pay-choice button[aria-checked=true]{border-color:var(--coral);box-shadow:0 0 0 3px var(--coral-soft)}.pack-choices button span{align-items:center;gap:6px;font-size:14px;font-weight:700;display:flex}.pack-choices button em{background:var(--coral-soft);color:var(--coral);border-radius:999px;padding:1px 7px;font-size:11px;font-style:normal}.pack-choices button strong{color:var(--coral);font-size:18px}.pack-choices button small,.pay-choice button small{color:var(--muted);font-size:12px}.pack-list{gap:10px;margin:12px 0 0;padding:0;list-style:none;display:grid}.pack-list li{border:1px solid var(--line);background:var(--paper);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:12px 14px;display:flex}.pack-list li>div{gap:2px;display:grid}.pack-list small{color:var(--muted);font-size:12px}.pack-left{color:var(--coral);font-size:13px}.pack-left strong{font-size:20px}.teacher-settings{gap:14px;margin-bottom:14px;display:grid}.teacher-settings>.teacher-onboarding{margin:0}.setting-card{--tone:#6b7a74;--tone-soft:#eef1ef;border:1px solid var(--line);background:var(--paper);border-radius:18px;gap:14px;margin-bottom:14px;padding:20px;display:grid;box-shadow:0 1px 2px #1b2b2408,0 8px 24px #1b2b240a}.teacher-settings .setting-card{margin:0}.setting-card.tone-ok{--tone:#1f8a4c;--tone-soft:#e6f4ec}.setting-card.tone-warn{--tone:#b07d00;--tone-soft:#fdf3d6}.setting-card.tone-danger{--tone:#c0392b;--tone-soft:#fbe7e4}.setting-head{align-items:center;gap:12px;display:flex}.setting-icon{background:var(--coral-soft);width:42px;height:42px;color:var(--coral);border-radius:12px;flex:none;place-items:center;display:grid}.setting-title{flex:auto;min-width:0}.setting-title h3{color:var(--ink);align-items:center;margin:0;font-size:16px;display:flex}.setting-title p{color:var(--muted);margin:2px 0 0;font-size:13px}.setting-badge{background:var(--tone-soft);color:var(--tone);border-radius:999px;flex:none;align-items:center;gap:6px;padding:4px 10px;font-size:12px;font-weight:700;display:inline-flex}.setting-badge:before{content:"";background:var(--tone);border-radius:50%;width:7px;height:7px}.setting-body{border-top:1px solid var(--line);gap:12px;padding-top:14px;display:grid}.setting-body form{gap:12px;display:grid}.setting-body .price-list{margin:0}.setting-fact{background:var(--cream);color:var(--ink);border-radius:10px;align-items:center;gap:8px;margin:0;padding:10px 12px;font-size:14px;display:flex}.setting-fact svg{color:var(--coral);flex:none}.setting-fact.is-danger{color:#99301f;background:#fbe7e4}.setting-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.setting-figures{grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:10px;display:grid}.setting-figure{background:var(--cream);border-radius:12px;gap:4px;padding:12px 14px;display:grid}.setting-figure>span{color:var(--muted);font-size:12px}.setting-figure strong{color:var(--ink);font-variant-numeric:tabular-nums;font-size:22px}.setting-figure.is-strong{background:var(--coral-soft)}.setting-figure.is-strong strong{color:var(--coral)}.option-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.option-cards button{border:1px solid var(--line);color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:#fff;border-radius:12px;justify-items:start;gap:2px;padding:12px 14px;display:grid}.option-cards button[aria-checked=true]{border-color:var(--coral);box-shadow:0 0 0 3px var(--coral-soft)}.option-cards small{color:var(--muted);font-size:12px}.file-drop{color:var(--coral);text-align:center;cursor:pointer;background:#f7fbfa;border:1.5px dashed #b9d6cf;border-radius:14px;justify-items:center;gap:4px;padding:20px;display:grid;position:relative}.file-drop:hover,.file-drop:focus-within{border-color:var(--coral);background:var(--coral-soft)}.file-drop span{color:var(--ink);overflow-wrap:anywhere;font-weight:700}.file-drop small{color:var(--muted);font-size:12px}.file-drop input{opacity:0;cursor:pointer;position:absolute;top:0;bottom:0;left:0;right:0}.setting-card .balance-movements{margin:0}@media (max-width:520px){.setting-card{padding:16px}.setting-head{flex-wrap:wrap}.setting-badge{margin-left:54px}}.setting-actions>button,.setting-actions>a{flex:none;width:auto}.notification-menu,.notification-menu>.icon-button{position:relative}.notification-count{color:#fff;text-align:center;min-width:17px;height:17px;box-shadow:0 0 0 2px var(--paper);background:#d64535;border-radius:999px;padding:0 4px;font:700 10px/17px DM Sans,sans-serif;position:absolute;top:-3px;right:-3px}.notification-popover{z-index:80;border:1px solid var(--line);background:var(--paper);border-radius:16px;width:min(380px,100vw - 24px);animation:.16s ease-out apr-pop;display:grid;position:absolute;top:calc(100% + 10px);right:0;overflow:hidden;box-shadow:0 18px 48px #1b2b2429,0 2px 6px #1b2b2412}@keyframes apr-pop{0%{opacity:0;transform:translateY(-6px)}to{opacity:1;transform:translateY(0)}}.notification-popover header,.notification-popover footer{align-items:center;gap:8px;padding:12px 14px;display:flex}.notification-popover header{border-bottom:1px solid var(--line)}.notification-popover header strong{flex:1;font-size:15px}.notification-popover header .text-button{font-size:12px}.notification-close{width:30px;height:30px}.notification-popover footer{border-top:1px solid var(--line);background:var(--cream);justify-content:center}.notification-popover-list{max-height:min(420px,60vh);overflow-y:auto}.notification-entry{border:0;border-bottom:1px solid var(--line);width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;grid-template-columns:34px minmax(0,1fr) auto;align-items:start;gap:10px;padding:12px 14px;display:grid;position:relative}.notification-entry:hover{background:var(--cream)}.notification-entry.is-unread{background:#f3f9f6}.notification-entry-icon{background:var(--coral-soft);width:34px;height:34px;color:var(--coral);border-radius:10px;place-items:center;display:grid}.notification-entry-text{gap:2px;min-width:0;display:grid}.notification-entry-text strong{font-size:13px}.notification-entry-text span{color:#4f5d58;-webkit-line-clamp:2;-webkit-box-orient:vertical;font-size:12px;line-height:1.45;display:-webkit-box;overflow:hidden}.notification-entry-text small{color:var(--muted);font-size:11px}.notification-entry .unread-dot{background:var(--coral);border-radius:50%;width:8px;height:8px;margin-top:6px}.notification-empty{color:var(--muted);justify-items:center;gap:6px;padding:28px 14px;font-size:13px;display:grid}@media (max-width:760px){.notification-popover{width:auto;position:fixed;top:72px;left:12px;right:12px}}.chat-shell{border:1px solid var(--line);background:var(--paper);border-radius:20px;grid-template-columns:290px minmax(0,1fr);height:min(720px,100vh - 220px);min-height:480px;display:grid;overflow:hidden;box-shadow:0 1px 2px #1b2b2408,0 10px 30px #1b2b240d}.chat-sidebar{border-right:1px solid var(--line);background:#fbfaf6;flex-direction:column;min-height:0;display:flex}.chat-sidebar-head{justify-content:space-between;align-items:center;padding:18px 18px 12px;display:flex}.chat-sidebar-head strong{font-size:15px}.chat-sidebar-head span{background:var(--coral-soft);min-width:22px;color:var(--coral);text-align:center;border-radius:999px;padding:1px 7px;font-size:12px;font-weight:700}.chat-search{border:1px solid var(--line);color:var(--muted);background:#fff;border-radius:10px;align-items:center;gap:8px;margin:0 14px 10px;padding:8px 10px;display:flex}.chat-search input{min-width:0;font:inherit;background:0 0;border:0;outline:none;flex:1;font-size:13px}.chat-contacts{flex:1;min-height:0;padding:4px 8px 12px;overflow-y:auto}.chat-contacts button{width:100%;color:var(--ink);font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:12px;align-items:center;gap:12px;padding:10px;display:flex}.chat-contacts button:hover{background:#f0f3ee}.chat-contacts button[aria-pressed=true]{background:var(--coral-soft)}.chat-avatar{color:#fff;letter-spacing:.02em;background:linear-gradient(135deg,#2b7d73,#206c65);border-radius:50%;flex:none;place-items:center;width:40px;height:40px;font-size:13px;font-weight:700;display:grid}.chat-contact-text{min-width:0;display:grid}.chat-contact-text strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.chat-contact-text small,.chat-muted{color:var(--muted);font-size:12px}.chat-muted{padding:10px}.chat-pane{background:#fff;flex-direction:column;min-width:0;min-height:0;display:flex}.chat-pane-head{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:14px 18px;display:flex}.chat-pane-head>div{flex:1;min-width:0;display:grid}.chat-pane-head strong{font-size:15px}.chat-pane-head small{color:var(--muted);font-size:12px}.chat-back{display:none}.chat-log{background:linear-gradient(#fafbf8,#f6f7f3);flex-direction:column;flex:1;min-height:0;padding:18px 22px;display:flex;overflow-y:auto}.chat-row{flex-direction:column;display:flex}.chat-day{justify-content:center;margin:14px 0 10px;display:flex}.chat-day span{color:#5c6b64;background:#e9ede6;border-radius:999px;padding:3px 12px;font-size:11px;font-weight:600}.chat-message{max-width:min(72%,560px);color:var(--ink);background:#fff;border-radius:16px 16px 16px 4px;align-self:flex-start;margin-top:8px;padding:9px 12px 6px;position:relative;box-shadow:0 1px 2px #1b2b2414}.chat-message.mine{background:var(--coral);color:#fff;border-radius:16px 16px 4px;align-self:flex-end}.chat-message.grouped{margin-top:3px}.chat-message p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0;font-size:14px;line-height:1.55}.chat-message time{text-align:right;opacity:.65;margin-top:2px;font-size:10px;display:block}.chat-start,.chat-placeholder,.chat-empty-page{text-align:center;color:var(--muted);justify-items:center;gap:6px;margin:auto;padding:30px;font-size:13px;display:grid}.chat-start svg,.chat-placeholder svg,.chat-empty-page svg{color:var(--coral)}.chat-start strong,.chat-placeholder strong{color:var(--ink);font-size:15px}.chat-empty-page h2{color:var(--ink);margin:4px 0 0;font-size:18px}.chat-placeholder{flex:1;align-content:center}.chat-composer{border-top:1px solid var(--line);background:#fff;align-items:flex-end;gap:10px;margin:0;padding:12px 14px 6px;display:flex;position:relative}.chat-composer textarea{resize:none;border:1px solid var(--line);background:var(--cream);min-height:44px;max-height:150px;color:var(--ink);font:inherit;border-radius:14px;outline:none;flex:1;padding:11px 14px;font-size:14px;line-height:1.45}.chat-composer textarea:focus{border-color:var(--coral);box-shadow:0 0 0 3px var(--coral-soft);background:#fff}.chat-count{color:var(--muted);font-size:11px;position:absolute;bottom:16px;right:72px}.chat-send{background:var(--coral);color:#fff;cursor:pointer;border:0;border-radius:50%;flex:none;place-items:center;width:44px;height:44px;transition:transform .1s,opacity .2s;display:grid}.chat-send:disabled{opacity:.35;cursor:not-allowed}.chat-send:active:not(:disabled){transform:scale(.92)}.chat-hint{color:var(--muted);background:#fff;margin:0;padding:0 16px 10px;font-size:11px}@media (max-width:760px){.chat-shell{border-radius:16px;grid-template-columns:1fr;height:calc(100vh - 250px);min-height:420px}.chat-shell.has-thread .chat-sidebar,.chat-shell:not(.has-thread) .chat-pane{display:none}.chat-back{display:grid}.chat-log{padding:14px}.chat-message{max-width:85%}.chat-hint{display:none}}.experience-shell .topbar{z-index:60;position:relative}.notification-menu .icon-button i.notification-count{background:#d64535;border-radius:999px;width:auto;min-width:17px;height:17px;top:-4px;right:-4px}@media (max-width:760px){.experience-shell .topbar{position:sticky;top:0}}.admin-month{color:var(--muted);gap:6px;margin:0 0 18px;font-size:13px;display:inline-grid}.admin-month input{border:1px solid var(--line);font:inherit;color:var(--ink);background:#fff;border-radius:10px;padding:10px 12px}:root{color:#202b2d;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;--ink:#202b2d;--muted:#788183;--line:#e6e6e0;--paper:#fffefa;--cream:#f6f5f1;--coral:#206c65;--coral-soft:#e7f3ee;--sage:#8cae9b;--sage-soft:#edf4ed;--blue:#89abb9;--blue-soft:#e6f0f4;background:#f6f5f1;font-family:DM Sans,Segoe UI,sans-serif}
