.role-page{max-width:1000px}.role-cards{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin:32px 0}.role-card{display:block;padding:36px;transition:transform .2s,border-color .2s}.role-card:hover{transform:translateY(-4px);border-color:#437968}.role-card p{min-height:64px}.role-card strong{color:#215647}.role-icon{display:grid;place-items:center;width:58px;height:58px;border-radius:18px;background:#e7eee3;font-size:28px}.role-form{max-width:760px}.role-form>.panel{margin-top:24px;padding:36px}.role-form form>button{margin-top:22px}.role-form h1{font-size:38px}.platform-editor{padding:26px;margin:24px 0;background:#eef2eb;border:1px solid #dce3d7;border-radius:18px}.platform-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px}.platform-grid label{display:block;font-weight:600}.platform-grid small{display:block;font-weight:400;font-size:14px;margin-top:7px;color:#70817a}.profile-edit-extra .days-options{padding:24px;border-radius:18px;background:white}.days-options .checkgrid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.days-options .checkgrid label{display:flex!important;align-items:center;gap:10px;min-height:54px;padding:12px;border:1px solid #dde4d9;border-radius:10px;margin:0!important;background:#f8faf6;font-size:15px}.days-options input[type=checkbox]{width:19px!important;height:19px!important;flex:0 0 19px;margin:0!important;accent-color:#25594b}.days-options label:has(input:checked){border-color:#4f7e64;background:#e9f0e3}.days-options .formhelp{margin-top:18px}.booking-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:20px}.booking-grid label{display:flex;flex-direction:column;gap:8px;min-width:0}.booking-grid input,.booking-grid select{width:100%;min-width:0}.booking-footer{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-top:26px;padding-top:24px;border-top:1px solid #e0e5dc}.booking-price{font-size:25px;font-weight:650}.booking-price small{display:block;font-size:14px;font-weight:400}.programme-card{display:flex;gap:24px;padding:25px 0;border-top:1px solid #e3e8df}.programme-date{flex:0 0 80px;padding:16px 10px;border-radius:14px;background:#edf2e7;text-align:center;align-self:flex-start}.programme-date strong{display:block;font-size:23px}.programme-date span,.programme-date small{display:block;font-size:14px;margin-top:5px}.programme-info{flex:1;min-width:0}.programme-info h3{font-size:22px;margin:12px 0 7px}.programme-info p{margin:6px 0;font-size:16px}.programme-actions{display:flex;flex-direction:column;gap:9px;justify-content:center;flex:0 0 170px}.programme-actions button,.programme-actions a{font-size:14px;padding:10px 14px;text-align:center}.status-chip{display:inline-block;padding:5px 10px;background:#edf0e9;border-radius:6px;font-size:13px;font-weight:600}.status-completed{color:#246548;background:#e1f0e3}.status-requested{color:#8b6220;background:#fff0d7}.status-no_show,.status-cancelled{color:#985847;background:#f5e8e1}.programme-empty{text-align:center;padding:45px 20px}.programme-empty>span{font-size:40px;color:#7d9771}.programme-callout{display:flex;justify-content:space-between;align-items:center;background:#eaf0e3;gap:20px}.programme-callout h2{margin:10px 0}.programme-callout p{margin:0}.profile-platforms{margin-bottom:45px}.platform-links{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px}.role-form label{display:block}.role-form .rows{gap:20px}.programme-list .sectionhead label{min-width:190px;font-size:14px}.subject-price-edit{align-items:center}.subject-price-edit input{min-height:48px}
@media(max-width:900px){.booking-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.days-options .checkgrid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:600px){.role-cards,.platform-grid{grid-template-columns:1fr}.role-card,.role-form>.panel{padding:24px}.role-card p{min-height:0}.days-options .checkgrid{grid-template-columns:repeat(2,minmax(0,1fr))}.booking-grid{grid-template-columns:1fr}.programme-card{flex-wrap:wrap;gap:16px}.programme-date{flex-basis:68px}.programme-actions{flex:1 1 100%;flex-direction:row;flex-wrap:wrap;justify-content:flex-start}.programme-actions>*{flex:1}.booking-footer,.programme-callout{align-items:flex-start;flex-direction:column}.programme-list .sectionhead{align-items:flex-start;flex-direction:column;gap:16px}.programme-list .sectionhead label{width:100%}.platform-editor{padding:18px}.role-form h1{font-size:30px}}

/* Consistent selection cards throughout teacher registration and profile editing. */
.checkgroup{padding:0!important;border:1px solid #dce5d9!important;border-radius:16px!important;overflow:hidden;background:#fff;margin:14px 0!important}
.checkgroup>summary{padding:19px 22px;background:#f0f4eb;font-size:16px;font-weight:650;cursor:pointer}
.checkgroup[open]>summary{border-bottom:1px solid #dce5d9}
.checkgroup .checkgrid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:0 20px 20px;margin:0}
.checkgroup .checkgrid label,.checkgroup>.subject-select-all{display:flex!important;align-items:center;gap:12px;min-width:0;line-height:1.45;margin:0!important;padding:14px 16px;border:1px solid #dfe7da;border-radius:11px;background:#fafbf8;cursor:pointer;font-size:15px}
.checkgroup>.subject-select-all{margin:18px 20px!important;background:#edf3e7;font-weight:600;width:fit-content;max-width:calc(100% - 40px)}
.checkgroup input[type=checkbox],.demo-consent input[type=checkbox]{display:block;width:19px!important;height:19px!important;min-width:19px;flex:0 0 19px;margin:0!important;padding:0;accent-color:#23594b}
.checkgroup .checkgrid label:has(input:checked),.checkgroup>.subject-select-all:has(input:checked){border-color:#61866c;background:#eaf2e3}
.checkgroup label:hover{border-color:#93ac88}
.checkgroup label:focus-within,.demo-consent:focus-within{outline:2px solid #5d8067;outline-offset:3px}
.demo-consent{display:flex!important;align-items:flex-start;gap:12px;margin:26px 0 18px!important;padding:18px 20px;background:#f0f4eb;border:1px solid #dce5d9;border-radius:12px;font-size:15px;line-height:1.6;cursor:pointer}
.demo-consent input[type=checkbox]{margin-top:3px!important}.demo-consent span{flex:1;min-width:0}
@media(max-width:900px){.checkgroup .checkgrid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.checkgroup .checkgrid{grid-template-columns:1fr;padding:0 14px 14px;gap:9px}.checkgroup>summary{padding:17px 16px}.checkgroup>.subject-select-all{margin:14px!important;max-width:calc(100% - 28px);width:auto}.demo-consent{padding:16px}}

.lesson-slider>.art-caption{position:absolute;left:36px;right:auto;bottom:15px;z-index:2;display:flex;align-items:center;gap:8px;margin:0;line-height:1.4;font-size:14px;letter-spacing:.6px;pointer-events:none;color:#6b7f6c}
@media(max-width:1000px){.lesson-slider>.art-caption{left:30px}}
@media(max-width:600px){.lesson-slider>.art-caption{left:20px;bottom:14px;font-size:13px;letter-spacing:.2px}.lesson-slider>.art-caption .art-caption-mark{font-size:18px}}
/* Shared teacher form selections, including both dashboard editors. */
.demo-consent{align-items:center!important}.demo-consent input[type=checkbox]{margin:0!important;min-height:19px!important;max-height:19px;align-self:center}
.per-subject-levels .checkgrid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}
.per-subject-levels .checkgrid label{display:flex!important;align-items:center;gap:12px;min-height:54px;padding:14px 16px;margin:0;border:1px solid #dfe7da;border-radius:11px;background:#fff;line-height:1.45;cursor:pointer;font-size:15px}
.per-subject-levels input[type=checkbox],.checkgroup input[type=checkbox]{width:19px!important;height:19px!important;min-height:19px!important;max-height:19px;min-width:19px;flex:0 0 19px;padding:0!important;margin:0!important;accent-color:#23594b}
.per-subject-levels label:has(input:checked){border-color:#61866c;background:#eaf2e3}.per-subject-levels label:hover{border-color:#93ac88}.per-subject-levels label:focus-within{outline:2px solid #5d8067;outline-offset:3px}
.dashboard .managed-lessons>div{padding:20px;margin:12px 0;border:1px solid #dfe7da;border-radius:12px;background:#fafbf8}.dashboard .managed-lessons>div>label{font-weight:600}.dashboard .managed-lessons input{background:white}
@media(max-width:600px){.per-subject-levels .checkgrid{grid-template-columns:1fr}.dashboard .managed-lessons>div{padding:16px}}
.admin-workspace .dashboard-tabs button{background:transparent;color:#597067;border:1px solid #dfe6db;font-size:15px;padding:12px 18px;white-space:nowrap}.admin-workspace .dashboard-tabs button.selected{background:#23594b;color:white;border-color:#23594b}.admin-filters{display:flex;gap:16px;align-items:flex-end;flex-wrap:wrap;padding:22px;background:#f1f5ec;border-radius:14px;margin:24px 0}.admin-filters label{flex:1;min-width:170px;font-size:14px}.admin-filters label:first-child{flex:2;position:relative}.admin-filters label:first-child input{padding-right:75px}.admin-filters label:first-child button{position:absolute;bottom:6px;right:6px;padding:6px 13px}.admin-filters>button{margin-bottom:1px}.admin-table-scroll{overflow:auto;max-width:100%;border:1px solid #e1e7db;border-radius:12px}.admin-table{width:100%;border-collapse:collapse;min-width:800px}.admin-table th{text-align:left;background:#eef3e8;color:#4f6b5d;font-size:13px;letter-spacing:.3px;padding:16px;white-space:nowrap}.admin-table td{padding:18px 16px;vertical-align:top;border-top:1px solid #e2e8dd;font-size:15px;max-width:320px;overflow-wrap:anywhere}.admin-table td small{display:block;color:#758279;font-size:13px;margin-top:6px;line-height:1.5}.admin-table tr:hover td{background:#fafcf7}.admin-breakdown>div{display:flex;justify-content:space-between;gap:20px;padding:15px 0;border-bottom:1px solid #e3e9dd}.admin-breakdown strong{font-size:19px}.admin-legacy>.wrap{max-width:none;padding:0}.admin-legacy .page{margin:0}.admin-workspace h1{margin-bottom:14px}#admin-detail{width:min(1100px,95vw);max-width:95vw;max-height:88vh;overflow:auto;border:1px solid #dce5d7;border-radius:20px;padding:30px;color:#183e37}#admin-detail::backdrop{background:#173c3599}#admin-detail .admin-breakdown{max-height:240px;overflow:auto}#admin-detail .sectionhead{align-items:flex-start}@media(max-width:600px){.admin-filters{padding:16px;gap:12px}.admin-filters label{flex:1 1 100%}.admin-workspace .dashboard-tabs{gap:8px}.admin-workspace .dashboard-tabs button{font-size:14px;padding:10px 13px}#admin-detail{padding:20px}.admin-workspace .dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
.lesson-slider>.sliderbar{bottom:8px}
@media(max-width:600px){.lesson-slider>.sliderbar{bottom:6px}}
/* Desktop reading scale: equivalent to the preferred 110% view. */
@media(min-width:1200px){body{zoom:1.1}}
.dashboard-tabs button{background:transparent;color:#597067;border:1px solid #dfe6db;font-size:15px;padding:12px 18px;white-space:nowrap}.dashboard-tabs button.selected{background:#23594b;color:white;border-color:#23594b}.child-switch{display:flex;align-items:flex-end;gap:18px;padding:20px 24px;background:#edf3e7;border:1px solid #dfe7d8;border-radius:14px;margin:24px 0}.child-switch label{min-width:240px;font-size:14px}.child-cards,.student-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.child-cards article,.student-grid article{padding:24px;border:1px solid #dde5d7;background:#fafcf7;border-radius:16px}.child-cards h3,.student-grid h3{font-size:21px;margin:16px 0 8px}.inline-child{display:flex;gap:16px;align-items:flex-end;margin-top:24px}.inline-child label{flex:1}.inline-child button{margin-bottom:1px}.flow-proposal{background:#fff4df;padding:16px;border:1px solid #ead9b7;border-radius:12px;margin:14px 0}.flow-proposal .tabs{flex-wrap:wrap}.flow-reason{background:#f4eee7;padding:12px 15px;border-radius:10px}.status-rejected{background:#f5e8e1;color:#985847}.programme-info>.status-chip{margin-right:6px}.lesson-history{font-size:13px;margin-top:14px;color:#6c7e73}.lesson-history summary{cursor:pointer}.lesson-history p{font-size:13px}.week-scroll{overflow:auto}.week-grid{display:grid;grid-template-columns:repeat(7,minmax(130px,1fr));min-width:980px;border:1px solid #dfe6d8;border-radius:12px;overflow:hidden}.week-day{padding:12px;border-right:1px solid #dfe6d8;min-height:190px;background:#fafcf7}.week-day:last-child{border:0}.week-day.today{background:#eff5e9}.week-day h3{font-size:14px;margin:0 0 16px}.week-day h3 small{display:block;font-size:20px;margin-top:5px;font-weight:500}.week-slot{background:#e3eedc;border-left:3px solid #4d7c5c;border-radius:7px;padding:10px;margin-bottom:10px;font-size:13px;overflow-wrap:anywhere}.week-slot.requested{background:#fff1d5;border-color:#d0a256}.week-slot span,.week-slot small{display:block;margin-top:5px}.student-avatar{width:48px;height:48px;border-radius:50%;display:grid;place-items:center;background:#e1ecd7;font-size:24px}.student-counts{display:flex;gap:12px;font-size:13px}.student-history-row{display:flex;justify-content:space-between;padding:18px 0;border-bottom:1px solid #e2e8dc;gap:20px}.direct-request{display:flex;align-items:center;justify-content:space-between;gap:32px;margin-bottom:35px}.direct-request>div:last-child{min-width:280px}.direct-request button{margin-top:15px;width:100%}.rating-eligibility{padding:20px;background:#f0f4eb;border-radius:12px;margin-top:24px}.rating-eligibility button{margin:8px}.table-pagination{display:flex;align-items:center;justify-content:flex-end;gap:12px;margin-top:20px;font-size:14px}#flow-dialog{width:min(700px,94vw);max-height:88vh;overflow:auto;border:1px solid #dbe4d4;border-radius:20px;padding:30px;color:#183e37}#flow-dialog::backdrop{background:#173c3599}#flow-dialog label{display:block}#flow-dialog .sectionhead{align-items:flex-start;gap:15px}#flow-dialog .sectionhead button{white-space:nowrap}.student-grid .ext-button{font-size:14px}@media(max-width:900px){.child-cards,.student-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.direct-request{align-items:flex-start;flex-direction:column}}@media(max-width:600px){.child-cards,.student-grid{grid-template-columns:1fr}.child-switch,.inline-child{flex-direction:column;align-items:stretch}.child-switch label{min-width:0}.direct-request>div:last-child{min-width:0;width:100%}.student-history-row{flex-direction:column;gap:8px}#flow-dialog{padding:20px}.table-pagination{flex-wrap:wrap}.dashboard-tabs button{font-size:14px;padding:10px 13px}}
.wrap.page.dashboard{padding:45px 28px}.admin-legacy>.wrap.page{padding:0}.dashboard-metrics:has(>:nth-child(4)){grid-template-columns:repeat(4,minmax(0,1fr))}@media(max-width:900px){.dashboard-metrics:has(>:nth-child(4)){grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.wrap.page.dashboard{padding:28px 18px}.dashboard-metrics:has(>:nth-child(4)){grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-metrics .panel{padding:18px}.dashboard-metrics b{font-size:28px}.dashboard .panel h2{font-size:24px}}
.duration-plans{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin:30px 0}.duration-plan{display:flex;flex-direction:column;position:relative;padding:27px}.duration-plan h3{font-size:24px;margin:18px 0}.duration-plan .plan-amount{font-size:32px}.duration-plan .plan-amount small{display:block;font-size:13px;font-weight:400;color:#78877c}.duration-plan ul{padding-left:18px;line-height:1.8;margin:15px 0 25px;font-size:14px}.duration-plan>button,.duration-plan>.ext-button{margin-top:auto;text-align:center}.duration-plan.best-duration{border-color:#8eaa7c;background:#f0f5e9}.membership-intro{font-size:19px;max-width:850px}.membership-limit{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 24px;padding:22px;background:#f3f0e6;border:1px solid #e6dfcb;border-radius:14px}.membership-limit.unlimited{background:#eaf3e4;border-color:#d5e4cb}.membership-limit p{font-size:14px!important;margin:8px 0 0}.membership-limit .ext-button{white-space:nowrap;font-size:14px}.membership-metric{font-size:24px!important}.rating-position{background:#eaf1e1;color:#45623b;padding:9px 18px;font-size:13px;font-weight:650;position:relative;z-index:1}.rating-leaders .panel{background:#f0f4eb}.membership-page .admin-table{min-width:650px}.duration-plan p{font-size:14px}.support-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.course-checklist li{margin:12px 0}@media(max-width:1100px){.duration-plans{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:600px){.duration-plans,.support-cards{grid-template-columns:1fr}.membership-limit{align-items:flex-start;flex-direction:column}.duration-plan{padding:24px}}
.sample-rating-note{font-size:14px;color:#71816b;margin:14px 0 22px;padding-left:14px;border-left:3px solid #b7c6a4}.rating-leaders .teacher-rating small{font-size:12px;line-height:1.5}
.upgrade-intro p{font-size:17px;line-height:1.8}.upgrade-prices{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin:24px 0}.upgrade-prices>div{padding:18px 12px;border:1px solid #d9e4d1;background:#f0f5e9;border-radius:12px;text-align:center}.upgrade-prices strong,.upgrade-prices span,.upgrade-prices small{display:block}.upgrade-prices strong{font-size:18px}.upgrade-prices span{font-size:22px;font-weight:650;margin:8px 0}.upgrade-prices small{font-size:12px;color:#6e8068}.upgrade-actions{display:flex;flex-wrap:wrap;gap:12px;margin-top:24px}.upgrade-actions button,.upgrade-actions a{font-size:14px}.upgrade-actions>a{width:100%;text-align:center}@media(max-width:600px){.upgrade-prices{grid-template-columns:repeat(2,minmax(0,1fr))}}
