:root{--ink:#33413a;--muted:#78857e;--line:#e2e8e4;--green:#4f9d72;--paper:#fff;--soft:#f7faf7}.ledger-edit-button{background:#eef6ea;width:100%;margin-top:16px;font-weight:700}.ledger-equation{background:#eaf4df;border:1px solid #d2e2c4;border-radius:10px;padding:12px;line-height:1.6}.historical-lessons{gap:10px;margin-bottom:14px;display:grid}.historical-lesson{grid-template-columns:minmax(0,1fr) minmax(0,.7fr) auto;align-items:end;gap:8px;display:grid}.historical-lesson label{margin:0!important}.historical-lesson input{min-width:0}.historical-lesson button{min-height:42px;margin-bottom:0}.course-dialog{max-height:90dvh;overflow:auto}@media (width<=500px){.historical-lesson{grid-template-columns:minmax(0,1fr) minmax(0,.75fr)}.historical-lesson button{grid-column:1/-1;justify-self:end}}.salary-report-heading h2{margin:0;font-size:22px}.salary-day h3{margin:0;font-size:18px}.salary-day>header{z-index:auto;padding:0 0 12px;position:static}.salary-day-total{border-top:2px solid #d5e5ce;justify-content:space-between;align-items:center;gap:12px;margin-top:12px;padding:16px 0 4px;font-size:16px;display:flex}.salary-day-total strong{color:#245d3e;font-size:26px}.salary-missing{color:#8a4f16;font-size:14px;line-height:1.6}.salary-date-summary{cursor:pointer;justify-content:space-between;gap:12px;font-size:16px;line-height:1.5;display:flex}.salary-date-summary strong{color:#245d3e;white-space:nowrap}.salary-history-heading{margin:4px 0;font-size:18px}.selected-salary-day{border-left:5px solid #4f9d72}.selected-salary-day .salary-entry b{font-size:16px}.selected-salary-day .salary-entry span{font-size:14px}.selected-salary-day .salary-entry>strong{font-size:16px}@media (width<=600px){.salary-day-total strong{font-size:22px}.salary-date-summary,.salary-entry{flex-wrap:wrap}.selected-salary-day .salary-entry>strong{margin-left:auto}}*{box-sizing:border-box}body{color:var(--ink);background:#f6f8f5;margin:0;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif}header{z-index:5;border-bottom:1px solid var(--line);background:#fffffff2;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:14px 22px;display:flex;position:sticky;top:0}h1{margin:0;font-size:21px}.sub{color:var(--muted);font-size:12px}.actions{flex-wrap:wrap;gap:8px;display:flex}button,input,select,textarea{font:inherit}button{cursor:pointer;color:var(--ink);background:#fff;border:1px solid #d5ddd7;border-radius:10px;padding:9px 12px}button.primary{background:#e5f4e9;border-color:#cce7d4;font-weight:700}.wrap{max-width:1600px;margin:auto;padding:18px}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:12px;display:flex}.toolbar input{border:1px solid var(--line);background:#fff;border-radius:10px;min-width:230px;padding:10px 12px}.tablebox{border:1px solid var(--line);background:#fff;border-radius:16px;overflow:auto;box-shadow:0 8px 24px #2c41350f}table{border-collapse:separate;border-spacing:0;table-layout:fixed;width:100%;min-width:1050px}th,td{border-right:1px solid var(--line);border-bottom:1px solid var(--line);text-align:center;height:48px;padding:4px}th{z-index:2;background:#eaf4df;font-size:13px;position:sticky;top:0}th:first-child{z-index:3;left:0}.time{z-index:1;color:#48564e;background:#f8fbf6;width:100px;font-weight:800;position:sticky;left:0}.slot{cursor:pointer;white-space:normal;border:1px solid #505a5524;border-radius:8px;justify-content:center;align-items:center;min-height:36px;padding:5px 4px;font-size:12px;font-weight:750;display:flex}.empty{cursor:pointer;border-radius:8px;height:100%;min-height:38px}.empty:hover{background:#f6faf6}dialog{border:0;border-radius:18px;width:min(430px,92vw);padding:0;box-shadow:0 20px 70px #0003}dialog::backdrop{background:#242d2840}.modal{padding:20px}.modal h2{margin:0 0 15px}.field{margin:10px 0}.field label{margin-bottom:5px;font-size:12px;font-weight:700;display:block}.field input,.field select{border:1px solid var(--line);border-radius:10px;width:100%;padding:10px}.modal-actions{justify-content:space-between;gap:8px;margin-top:18px;display:flex}.danger{color:#a34545;background:#fff3f3}.hidden{display:none!important}.sub{font-size:14px}.slot{overflow-wrap:anywhere;width:100%;font-size:14px;font-weight:650}.empty{background:0 0;border:0;width:100%}.toolbar input{font-size:16px}th{font-size:14px}.spacer{flex:1}.card label{margin-bottom:10px;font-size:14px;font-weight:700;display:block}.card textarea{font-size:16px}label{font-size:14px;font-weight:650;display:block}input,select{color:var(--ink)}button:disabled{opacity:.55;cursor:not-allowed}button:hover:not(:disabled){filter:brightness(.98)}button:focus-visible,input:focus-visible,textarea:focus-visible,summary:focus-visible{outline-offset:2px;outline:3px solid #72aa88}.sr-only{clip:rect(0,0,0,0);width:1px;height:1px;position:absolute;overflow:hidden}.entry{background:linear-gradient(140deg,#f7fbf3,#eef7ee);flex-direction:column;justify-content:center;align-items:center;min-height:100dvh;padding:32px 20px;display:flex}.brand{align-items:center;gap:10px;margin-bottom:28px;font-size:20px;font-weight:750;display:flex}.brand-icon{color:#438962;font-size:28px}.entry-card{background:#fff;border:1px solid #dfe9df;border-radius:22px;width:min(480px,100%);padding:36px;box-shadow:0 16px 48px #3b624410}.eyebrow{letter-spacing:.12em;color:#438962;margin-bottom:16px;font-size:12px;font-weight:750}.entry-card h1{letter-spacing:-.02em;font-size:32px;line-height:1.25}.entry-card p{color:#67746d;margin:18px 0 24px;font-size:16px;line-height:1.6}.entry-card input{border:1px solid #ccdacc;border-radius:10px;width:100%;margin:8px 0 12px;padding:13px;font-size:16px}.wide{width:100%;padding:13px}.entry-card .small{margin:18px 0 0;font-size:14px}.entry-foot{color:#78857e;text-align:center;font-size:14px}.info,.error,.success{overflow-wrap:anywhere;border-radius:10px;margin-top:16px;padding:14px;font-size:14px;line-height:1.5}.info{color:#75631d;background:#fff8db}.success{color:#286144;background:#e9f5ed}.error{color:#a04438;background:#fff0ef}.save-error{flex-wrap:wrap;align-items:center;gap:12px;margin:0 0 14px;display:flex}.save-error span{flex:1}.menu{position:relative}.menu summary{cursor:pointer;background:#fff;border:1px solid #d5ddd7;border-radius:10px;padding:10px 12px;font-size:14px;list-style:none}.menu>div{z-index:8;background:#fff;border:1px solid #d5ddd7;border-radius:12px;flex-direction:column;gap:10px;width:min(280px,80vw);padding:16px;display:flex;position:absolute;top:44px;right:0;box-shadow:0 10px 25px #3444351a}.menu input{width:100%;min-width:0;margin-top:6px}.modal label{margin:12px 0}.modal input,.modal select{border:1px solid var(--line);border-radius:10px;width:100%;margin-top:7px;padding:11px;font-size:16px;display:block}.modal-actions{align-items:center}.tablebox{max-height:70vh}@media (width<=700px){.entry-card{padding:26px}.entry-card h1{font-size:28px}.toolbar input{width:100%;min-width:0}.toolbar .spacer{display:none}.menu{margin-left:auto}.tablebox{max-height:65vh}.sub{font-size:13px}.entry-foot{max-width:300px}.actions{width:100%}}.suggest-button{background:#fff8d4;border-color:#eadf9d;font-weight:650}.suggestions{border:1px solid var(--line);background:#fff;border-radius:16px;margin:0 0 18px;padding:22px}.suggest-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.suggest-heading h2{margin:0;font-size:20px}.suggest-heading p{color:#68796e;font-size:14px;line-height:1.5}.template-grid{grid-template-columns:repeat(4,1fr);gap:14px;margin-top:8px;display:grid}.template{background:#fff8d8;border-radius:14px;flex-direction:column;align-items:flex-start;padding:18px;display:flex}.template:nth-child(2){background:#e9f2ff}.template:nth-child(3){background:#f2eafa}.template:nth-child(4){background:#e7f5e9}.template-icon{font-size:26px}.template h3{margin:10px 0 6px;font-size:18px}.template p{margin:0 0 12px;font-size:14px;line-height:1.5}.template details{margin-bottom:14px;font-size:14px}.template summary{cursor:pointer}.template ul{padding-left:18px;font-size:13px;line-height:1.6}.template button{margin-top:auto;font-size:14px}.insights{background:#f7faf7;border-radius:12px;margin-top:16px;padding:16px;font-size:14px}.insights p{margin:8px 0 0;line-height:1.5}.template-notice{color:#286144;font-size:14px}.quick span{color:#78857e;font-size:14px}.quick>div{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.quick button{background:#f4f8f0;padding:6px 8px;font-size:13px}.modal{max-height:85dvh;overflow:auto}@media (width<=1050px){.template-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){.template-grid{grid-template-columns:1fr}.suggestions{padding:16px}.suggest-heading h2{font-size:18px}.template{padding:16px}}.entry-templates{width:min(1000px,100%);margin-top:36px}.entry-templates h2{text-align:center;margin:0 0 18px;font-size:20px}.entry-templates .template{border:1px solid #fff;padding:18px}.entry:has(.entry-templates){justify-content:flex-start}.entry-card .entry-foot{margin:0}.signin-link{text-align:center;color:var(--ink);background:#e5f4e9;border:1px solid #cce7d4;border-radius:10px;padding:14px;font-weight:700;text-decoration:none;display:block}.signin-link:hover{background:#d8eede}.email-option{margin-top:22px;font-size:14px}.email-option summary{cursor:pointer;margin-bottom:12px}.workspace-tabs{gap:8px;margin-bottom:16px;display:flex}.workspace-tabs button[aria-pressed=true],.course-tabs button[aria-pressed=true]{color:#fff;background:#285f43;border-color:#285f43}.week-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:14px;margin:12px 0;display:flex}.week-toolbar label{align-items:center;gap:8px;display:flex}.week-toolbar input{border:1px solid var(--line);background:#fff;border-radius:8px;padding:8px}.schedule-legend{font-size:14px}.red-sample{color:#ab2626;font-weight:650}th small{margin-top:5px;font-size:14px;font-weight:500;display:block}.slot-moved{color:#a12424!important;border-color:#d89792 #d89792 #d89792 #bd3b32!important}.slot-cancelled{opacity:.6;text-decoration:line-through;background:#f0f1ef!important}.slot-preparing{border-style:dashed}.move-action{background:#fff0e8;width:100%;margin-top:10px}.small{color:#63756a;font-size:14px;line-height:1.55}.workspace-tabs button,.course-tabs button{font-weight:650}.courses{margin-top:18px}.course-heading{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.course-heading h2{margin:0 0 6px;font-size:22px}.course-heading p{color:#607567;margin:0;font-size:16px;line-height:1.5}.course-tabs{flex-wrap:wrap;align-items:center;gap:8px;margin:20px 0;display:flex}.course-tabs input{border:1px solid var(--line);border-radius:10px;min-width:220px;margin-left:auto;padding:10px;font-size:16px}.course-empty{color:#63756a;background:#fff;border:1px dashed #cad6ce;border-radius:16px;padding:32px}.course-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.course-card{border:1px solid var(--line);border-top:5px solid var(--course-color);background:#fff;border-radius:16px;min-width:0;padding:20px}.course-card-top{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.course-card h3{overflow-wrap:anywhere;margin:0;font-size:18px;line-height:1.5}.course-card-top button{white-space:nowrap;font-size:14px}.status-rail,.choice-rail{background:#f4f8f4;border:1px solid #dee6df;border-radius:10px;flex-wrap:wrap;gap:4px;padding:4px;display:flex}.status-rail{margin:16px 0}.status-rail button,.choice-rail button{white-space:normal;background:0 0;border:0;border-radius:7px;flex:1;padding:9px 10px;font-size:14px}.choice-rail button{flex:0 auto}.status-rail button[aria-pressed=true]{background:var(--course-color,#285f43);color:#fff;font-weight:700}.choice-rail button[aria-pressed=true]{color:#fff;background:#285f43}.course-balance{grid-template-columns:1fr 1fr;gap:12px;margin:20px 0;display:grid}.course-balance span{color:#68796f;font-size:14px;line-height:1.5;display:block}.course-balance strong{margin-top:6px;font-size:22px;display:block}.course-balance .debt{color:#b03a2c}.lesson-progress{background:#edf0ed;border-radius:6px;height:12px;display:flex;overflow:hidden}.lesson-progress .used{background:#245fb3}.lesson-progress .paid{background:#378260}.progress-legend{flex-wrap:wrap;gap:10px;margin-top:8px;font-size:13px;line-height:1.6;display:flex}.progress-legend span:first-child{color:#245fb3}.progress-legend span:nth-child(2){color:#237950}.collection{background:#f5f8f3;border-radius:10px;margin-top:18px;padding:14px}.collection span{font-size:14px;display:block}.collection strong{margin-top:6px;font-size:20px;display:block}.collection p{color:#617467;margin:6px 0 0;font-size:14px;line-height:1.5}.collection-due{background:#fff0e9}.schedule-summary{color:#68796f;min-height:40px;font-size:14px;line-height:1.6}.record-actions button{flex:1;font-size:14px}.course-history{margin-top:20px;font-size:14px}.course-history summary{cursor:pointer;font-weight:650;line-height:1.5}.course-history h4{margin:20px 0 8px;font-size:15px}.history-row{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:10px;padding:12px 0;display:flex}.history-row>div:first-child{flex:1;min-width:0}.history-row b,.history-row span{overflow-wrap:anywhere;font-size:14px;line-height:1.5;display:block}.history-row span{color:#63756a;margin-top:4px}.history-actions{flex-wrap:wrap;justify-content:flex-end;gap:4px;max-width:155px;display:flex}.history-row button{padding:6px 8px;font-size:14px}.course-dialog{width:min(650px,94vw)}.course-dialog .modal{padding:24px}.class-name-preview{overflow-wrap:anywhere;background:#eaf4df;border:1px solid #d2e2c4;border-radius:10px;padding:14px;font-size:16px;font-weight:700}.color-rail{gap:10px;margin:8px 0 20px;display:flex}.color-rail button{border:3px solid #fff;border-radius:50%;outline:1px solid #d6dfd8;width:36px;height:36px;padding:0}.color-rail button[aria-pressed=true]{outline-offset:2px;outline:3px solid #263d2b}.form-grid{grid-template-columns:1fr 1fr;gap:12px;display:grid}.form-grid label{margin:0}.weekly-counts{grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;display:grid}.weekly-counts input{min-width:0;padding:10px 4px}.checkbox-label{align-items:flex-start;gap:10px;line-height:1.6;display:flex;font-weight:500!important}.checkbox-label input{flex:none;width:auto!important;margin-top:4px!important}.course-dialog .modal label{font-size:14px}.course-dialog .modal p{line-height:1.55}.status-rail button:focus-visible,.choice-rail button:focus-visible{outline-offset:-3px}@media (width<=1200px){.course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.course-grid{grid-template-columns:1fr}.course-tabs input{width:100%;margin-left:0}.week-toolbar{align-items:flex-start}.week-toolbar .actions{width:auto}.week-toolbar .actions button{flex:none}.course-heading .actions{width:100%}.form-grid{grid-template-columns:1fr}.weekly-counts{grid-template-columns:repeat(4,minmax(0,1fr))}.course-dialog .modal{padding:18px}.course-card{padding:16px}.history-actions{max-width:130px}.workspace-tabs button{flex:1}}.calendar-export-actions{flex-wrap:wrap;align-items:center;gap:8px;margin:10px 0;display:flex}.density-switch{background:#e9eee7;border-radius:10px;gap:2px;margin-right:auto;padding:3px;display:flex}.density-switch button{background:0 0;border:0;padding:8px 12px;font-size:14px}.density-switch button[aria-pressed=true]{color:#fff;background:#285f43;font-weight:700}.calendar-export-actions>button{font-size:14px}.overview-calendar{--overview-row:clamp(12px,calc((100dvh - 280px)/36),22px);border-radius:10px;max-height:none;overflow:visible}.overview-calendar table{table-layout:fixed;width:100%;min-width:0}.overview-calendar th,.overview-calendar td{height:var(--overview-row);vertical-align:middle;padding:0 1px}.overview-calendar th{height:32px;padding:2px;font-size:12px}.overview-calendar th:first-child,.overview-calendar td.time{width:64px}.overview-calendar .time{white-space:nowrap;padding:0 2px;font-size:11px;line-height:1}.overview-calendar .slot,.overview-calendar .empty{height:calc(var(--overview-row)*var(--span) - 1px);max-height:calc(var(--overview-row)*var(--span) - 1px);white-space:normal;overflow-wrap:anywhere;border-radius:4px;min-height:0;padding:1px 3px;font-size:clamp(10px,.9vw,14px);line-height:1.08;overflow:hidden;border-left-width:2px!important}.overview-calendar .empty{min-width:0;padding:0}.overview-calendar .slot:focus-visible,.overview-calendar .empty:focus-visible{outline-offset:-2px}.overview-calendar .slot:hover{filter:brightness(.95)}.excel-summary{background:#f1f6ed;border:1px solid #d9e5d2;border-radius:10px;margin:14px 0;padding:12px;font-size:14px}.excel-summary summary{cursor:pointer;font-weight:650;line-height:1.5}.excel-metrics{grid-template-columns:1fr 1fr;gap:8px;margin-top:12px;font-size:14px;line-height:1.5;display:grid}.excel-metrics>span:last-child{grid-column:1/-1}.excel-warning{color:#855822;margin:10px 0;font-size:14px;line-height:1.5}.excel-summary .small{margin:10px 0 0}.excel-summary select{white-space:normal;border:1px solid var(--line);background:#fff;border-radius:8px;width:100%;margin-top:6px;padding:10px;font-size:14px}.excel-summary>details{margin-top:12px}.wrap:has(.overview-calendar){padding-top:10px}.wrap:has(.overview-calendar) .workspace-tabs{margin-bottom:6px}.wrap:has(.overview-calendar) .workspace-tabs button{padding:6px 10px;font-size:14px}.wrap:has(.overview-calendar) .toolbar{margin-bottom:6px}.wrap:has(.overview-calendar) .toolbar input{padding:6px 10px}:is(.wrap:has(.overview-calendar) .toolbar button,.wrap:has(.overview-calendar) .menu summary){padding:6px 10px;font-size:14px}.wrap:has(.overview-calendar) .calendar-export-actions{margin:6px 0}.wrap:has(.overview-calendar) .week-toolbar{margin:6px 0}:is(.wrap:has(.overview-calendar) .week-toolbar button,.wrap:has(.overview-calendar) .calendar-export-actions button){padding:6px 10px;font-size:14px}.wrap:has(.overview-calendar) .week-toolbar input{padding:6px;font-size:14px}@media (width<=700px){.overview-calendar{--overview-row:clamp(12px,calc((100dvh - 360px)/36),20px);overflow:visible}.overview-calendar table{min-width:0}.overview-calendar th:first-child,.overview-calendar td.time{width:43px}.overview-calendar .time{font-size:9px}.overview-calendar .slot{padding:1px;font-size:9.5px}.overview-calendar th,.overview-calendar th small{font-size:10px}.week-toolbar{gap:8px}.calendar-export-actions>button{flex:1}.density-switch{width:100%;margin:0}.density-switch button{flex:1}.calendar-export-actions{gap:6px}.excel-metrics{grid-template-columns:1fr}.excel-metrics>span:last-child{grid-column:auto}.wrap:has(.overview-calendar) .toolbar input{font-size:14px}.wrap:has(.overview-calendar) .schedule-legend{font-size:12px}}.slot-content,.slot-students{width:100%;line-height:1.15;display:block}.slot-student{overflow-wrap:anywhere;display:block}.slot-time-label{margin-top:3px;font-size:11px;font-weight:800;line-height:1.15;display:block}.color-rail{flex-wrap:wrap}.week-agenda{border:1px solid var(--line);background:#fff;border-radius:12px;margin-top:12px;padding:12px 14px}.week-agenda summary{cursor:pointer;font-size:15px;font-weight:700}.week-agenda-grid{grid-template-columns:repeat(auto-fit,minmax(185px,1fr));gap:8px;margin-top:12px;display:grid}.week-agenda-item{background:#f3f7f1;border-radius:9px;gap:4px;padding:10px;font-size:14px;line-height:1.35;display:grid}.week-agenda-item span{color:#596b5e}.week-agenda-item strong{overflow-wrap:anywhere}.day-agenda{border:1px solid var(--line);background:#fff;border-radius:14px;margin-top:12px;padding:20px}.day-agenda h2{text-transform:capitalize;margin:0 0 16px;font-size:20px}.day-lesson-grid{gap:10px;display:grid}.day-lesson{border:1px solid #dce6dc;border-left:5px solid var(--course-color);background:#f7faf6;border-radius:12px;grid-template-columns:minmax(115px,170px) 1fr;align-items:start;gap:16px;padding:16px;display:grid}.day-lesson>time{color:#294735;white-space:nowrap;font-size:20px;font-weight:800}.day-lesson-body{gap:6px;min-width:0;display:grid}.day-students{flex-wrap:wrap;gap:6px 14px;display:flex}.day-students strong{overflow-wrap:anywhere;font-size:18px}.day-class-name{color:#63756a;font-size:14px}.day-status{color:#9f332a;font-size:13px;font-weight:700}.day-moved{background:#fff0ef;border-color:#e5b8b4}.day-cancelled{opacity:.65;text-decoration:line-through}.day-cancelled .day-status{text-decoration:none}.history-actions{max-width:230px}.history-actions button{white-space:normal}@media (width<=760px){.course-balance{grid-template-columns:1fr 1fr}.course-balance>div:last-child{grid-column:1/-1}.day-lesson{grid-template-columns:1fr;gap:8px}.day-lesson>time{font-size:18px}.day-agenda{padding:14px}}.course-search{border:1px solid var(--line);background:#fff;border-radius:10px;flex:1;align-items:center;gap:8px;min-width:220px;margin-left:auto;padding:0 10px;display:flex}.course-search svg{color:#52785c;flex:none;width:20px;height:20px}.course-tabs .course-search input{outline-offset:-2px;background:0 0;border:0;width:100%;min-width:0;margin:0;padding:11px 0}.course-jump{align-items:center;gap:10px;width:100%;font-size:14px;display:flex}.course-jump select{border:1px solid var(--line);background:#fff;border-radius:10px;flex:1;min-width:0;max-width:500px;padding:10px}.course-card{scroll-margin-top:24px}.course-selected{box-shadow:0 0 0 3px #8abb81}.student-fees{background:#f7faf5;border:1px solid #e0e8dc;border-radius:10px;margin:12px 0;padding:12px}.student-fees h4{margin:0 0 8px;font-size:15px}.student-fee-row{border-top:1px solid #e0e8dc;justify-content:space-between;align-items:flex-start;gap:8px;padding:10px 0;font-size:14px;display:flex}.student-fee-row>div{min-width:0}.student-fee-row b,.student-fee-row span{overflow-wrap:anywhere;display:block}.student-fee-row span{color:#607565;margin-top:4px;font-size:13px}.student-state{flex-wrap:wrap;justify-content:flex-end;gap:3px;max-width:150px;display:flex}.student-state button{padding:5px 7px;font-size:12px;line-height:1.3}.student-state button[aria-pressed=true]{color:#fff;background:#285f43;border-color:#285f43}.learning-progress{background:#fff9db;border:1px solid #eee2ab;border-radius:12px;margin:14px 0;padding:14px}.learning-progress>div{justify-content:space-between;align-items:center;gap:8px;display:flex}.learning-progress h4{margin:0;font-size:16px}.learning-progress>strong{overflow-wrap:anywhere;white-space:pre-wrap;margin-top:12px;font-size:16px;line-height:1.5;display:block}.learning-progress p{overflow-wrap:anywhere;margin:8px 0;font-size:14px;line-height:1.5}.learning-progress small{color:#7a7048}.student-roster-fields{grid-template-columns:1fr 1fr;gap:10px;display:grid}.student-roster-fields label{min-width:0}.meeting-plan,.payment-student-fields{background:#f3f7f0;border:1px solid #dce7d7;border-radius:12px;margin:14px 0;padding:14px}.meeting-plan h3{margin:0 0 8px;font-size:16px}.meeting-plan p{margin:4px 0 12px;font-size:14px}.meeting-row{border-top:1px solid #dce7d7;grid-template-columns:1fr 1fr 1fr auto;align-items:end;gap:8px;padding:8px 0;display:grid}.meeting-row button{margin-bottom:12px;padding:10px}.attendance-actions{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.attendance-actions>span{color:#55705c;width:100%;font-size:14px}.attendance-actions button{white-space:normal;padding:9px 11px;font-size:14px}.attendance-actions button[aria-pressed=true]{color:#fff;background:#285f43;border-color:#285f43}.day-cancelled .attendance-actions{text-decoration:none}@media (width<=760px){.course-search{width:100%;margin:0}.course-jump{flex-direction:column;align-items:flex-start}.course-jump select{width:100%;max-width:none}.student-roster-fields{grid-template-columns:1fr}.meeting-row{grid-template-columns:1fr 1fr}.meeting-row>label:last-of-type{grid-column:1}.course-selected{box-shadow:0 0 0 2px #8abb81}}.salary-report{gap:14px;display:grid}.salary-report-heading{border:1px solid var(--line);background:#fff;border-radius:14px;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;padding:18px;display:flex}.salary-report-heading h3{margin:0;font-size:19px}.salary-report-heading p{color:#63756a;margin:7px 0 0;font-size:14px;line-height:1.5}.salary-report-heading label{align-items:center;gap:8px;font-size:14px;display:flex}.salary-report-heading input{border:1px solid var(--line);background:#fff;border-radius:8px;padding:9px}.salary-month-total{background:#eaf4df;border:1px solid #d2e2c4;border-radius:14px;gap:5px;padding:18px;display:grid}.salary-month-total span{color:#506653;font-size:14px}.salary-month-total strong{color:#245d3e;font-size:28px}.salary-month-total small{color:#63756a;font-size:13px}.salary-day{border:1px solid var(--line);background:#fff;border-radius:14px;padding:16px}.salary-day>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding-bottom:10px;display:flex}.salary-day h4{margin:0;font-size:16px}.salary-day>header strong{color:#245d3e;font-size:17px}.salary-entry{border-bottom:1px solid #edf0ed;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px 0;display:flex}.salary-entry:last-child{border-bottom:0;padding-bottom:0}.salary-entry>div{min-width:0}.salary-entry b,.salary-entry span{overflow-wrap:anywhere;line-height:1.5;display:block}.salary-entry b{font-size:14px}.salary-entry span{color:#63756a;margin-top:3px;font-size:13px}.salary-entry>strong{white-space:nowrap;font-size:14px}.salary-rate-label{color:#63756a;margin:0 0 8px;font-size:14px}.salary-rate-label b{color:#294735}@media (width<=600px){.salary-report-heading{padding:14px}.salary-report-heading label{justify-content:space-between;width:100%}.salary-report-heading input{flex:1}.salary-month-total{padding:15px}.salary-month-total strong{font-size:24px}.salary-day{padding:13px}.salary-entry{gap:8px}.salary-entry>strong{font-size:13px}}.course-balance{grid-template-columns:repeat(2,minmax(0,1fr))}@media (width<=760px){.course-balance{grid-template-columns:1fr 1fr}.course-balance>div:last-child{grid-column:auto}}.daily-income,.salary-period-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.daily-income{margin:0 0 16px}.daily-income>div{background:#eaf4df;border:1px solid #d5e5ce;border-radius:12px;gap:4px;padding:14px;display:grid}.daily-income span,.salary-period-grid .salary-month-total span{color:#506653;font-size:13px}.daily-income strong{color:#245d3e;font-size:23px}.daily-income small{color:#63756a;font-size:12px}.day-wage{color:#245d3e;font-size:14px;font-weight:700}.salary-period-grid{margin-bottom:14px}.salary-period-grid .salary-month-total{margin:0}.salary-report-heading label{gap:5px;display:grid}.salary-report-heading input[type=date]{border:1px solid var(--line);background:#fff;border-radius:8px;padding:9px}@media (width<=600px){.daily-income,.salary-period-grid{grid-template-columns:1fr}.daily-income strong{font-size:21px}.salary-report-heading label{width:auto}}.taught-dates{margin-top:12px;font-size:14px}.taught-dates summary{cursor:pointer;font-weight:650}.taught-dates>div{flex-wrap:wrap;gap:6px;max-height:160px;margin-top:10px;display:flex;overflow:auto}.taught-dates span{background:#f1f6ed;border:1px solid #dce7d8;border-radius:7px;padding:7px;line-height:1.4}:root{--ink:#28392e;--muted:#607366;--line:#e2e8df;--paper:#fff;--soft:#fbfcf8}body{background:#fafcf8}.course-card{border-top-width:3px;border-radius:12px;padding:16px;box-shadow:0 3px 12px #2a402b09}.course-heading h2{font-size:21px}.course-grid{gap:14px}.course-tabs{margin:14px 0}.compact-class-status{justify-content:space-between;align-items:center;gap:8px;margin:12px 0;font-size:14px;font-weight:500;display:flex}.compact-class-status select{border:1px solid var(--line);background:#fff;border-radius:8px;max-width:65%;padding:7px 9px}.student-fees{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:0 0;margin:0;padding:10px 0}.student-fees summary{cursor:pointer;font-size:14px;font-weight:600}.learning-progress{background:0 0;border:0;margin:0;padding:12px 0}.learning-progress h4{font-size:14px}.learning-progress button{padding:7px 9px;font-size:14px}.course-balance{gap:10px;margin:14px 0}.course-balance strong{font-size:22px}.collection{background:#fff9df;margin-top:12px;padding:10px 12px}.collection p{margin:5px 0 0;font-size:13px}.collection strong{font-size:18px}.schedule-summary{min-height:0;margin:10px 0;font-size:14px}.course-history{margin-top:14px}.ledger-edit-button{margin-top:10px;padding:8px}.taught-dates>div{max-height:96px}.salary-month-total,.daily-income>div{background:#fff9df;border-color:#e9e1bf}.workspace-tabs button[aria-pressed=true]{color:#344635;background:#fff2ac;border-color:#e5d785}.class-pay-settings{gap:8px;margin-top:12px;display:grid}.class-pay-settings>button{justify-self:start;padding:7px 9px;font-size:14px}.class-pay-settings .salary-rate-label{flex-wrap:wrap;gap:5px 10px;margin:0;line-height:1.5;display:flex}.class-pay-settings .salary-rate-label span{font-size:13px}.rate-rule{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:8px;margin-bottom:12px;display:grid}.rate-rule label{margin:0!important}.rate-rule button{min-height:42px}.rate-preview{background:#fff9df;border-radius:10px;margin-top:16px;padding:12px}.rate-preview h3{margin:0 0 10px;font-size:16px}.rate-preview p{margin:6px 0}.historical-lesson{border:1px solid var(--line);border-radius:10px;grid-template-columns:minmax(0,1fr) minmax(0,.65fr) minmax(0,.7fr);padding:10px}.historical-lesson>button{grid-column:3;justify-self:end}.lesson-rate-preview{color:#245d3e;grid-column:1/3;align-self:center;font-size:14px;line-height:1.5}@media (width<=500px){.historical-lesson{grid-template-columns:minmax(0,1fr) minmax(0,.7fr)}.historical-lesson>button{grid-column:2}.rate-rule{grid-template-columns:1fr 1fr}.rate-rule>button{grid-column:1/-1;justify-self:end}.class-pay-settings .salary-rate-label span{font-size:14px}}.day-learning-content{background:#fff9df;border:1px solid #eee5c1;border-radius:10px;margin-top:10px;padding:10px 12px}.day-learning-content p{overflow-wrap:anywhere;margin:0 0 8px;font-size:14px;line-height:1.6}.day-learning-content button{padding:7px 10px;font-size:14px}.day-lesson-body .attendance-actions{border-top:1px solid var(--line);margin-top:10px;padding-top:10px}.tuition-report{border:1px solid var(--line);background:#fff;border-radius:12px;padding:16px}.tuition-report h3{margin:0 0 14px;font-size:18px}.tuition-report>details>summary{cursor:pointer;font-size:14px}.class-collected-fees{gap:4px;margin:12px 0;font-size:14px;display:grid}.class-collected-fees span{justify-content:space-between;gap:8px;display:flex}.class-collected-fees small{color:var(--muted);font-size:13px}.monthly-billing-label{background:#fff9df;border-radius:8px;margin:12px 0;padding:9px 12px;font-size:14px}.course-grid{align-items:start}.course-card-top{display:block}.course-card-top h3{font-size:18px;line-height:1.4}.course-status-badge{color:#57704f;background:#f0f5ed;border-radius:6px;margin-top:7px;padding:3px 8px;font-size:12px;font-weight:600;display:inline-block}.course-status-badge.status-preparing{color:#786526;background:#fff9df}.course-status-badge.status-completed{color:#6d756d;background:#f2f3f1}.course-card .course-balance{background:#f6faf3;border-radius:9px;margin:14px 0 10px;padding:12px}.course-card .course-balance span{font-size:13px}.course-card .course-balance strong{overflow-wrap:anywhere;margin-top:4px;font-size:21px}.course-card .class-collected-fees{margin:0 0 12px;padding:0 2px}.course-card .class-collected-fees b{white-space:nowrap}.course-card .learning-progress{border-top:1px solid var(--line);padding:12px 0}.course-card .learning-progress h4{color:var(--muted);font-size:13px;font-weight:500}.course-card .learning-progress>strong{margin-top:6px;font-size:15px}.course-card .learning-progress p{margin:6px 0 0}.course-card .learning-progress small{color:var(--muted);margin-top:6px;font-size:12px;display:block}.course-card .collection{justify-content:space-between;align-items:center;gap:8px;margin:0;padding:9px 11px;display:flex}.course-card .collection span{font-size:13px}.course-card .collection strong{margin:0;font-size:15px}.course-card .monthly-billing-label{margin:0;font-size:13px}.course-primary-actions{grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);gap:8px;margin-top:12px;display:grid}.course-primary-actions button{white-space:normal;padding:9px 8px;font-size:13px;line-height:1.4}.course-more{border-top:1px solid var(--line);margin-top:14px;padding-top:11px}.course-more>summary{cursor:pointer;color:var(--muted);font-size:13px;font-weight:600}.course-more[open]>summary{color:var(--ink)}.course-more-body{padding-top:12px}.course-setting-actions{flex-wrap:wrap;gap:6px;display:flex}.course-setting-actions button{padding:7px 9px;font-size:13px}.course-setting-actions .ledger-edit-button{margin:0}.course-more .student-fees{border-left:0;border-right:0;border-radius:0}.course-more .taught-dates,.course-more .course-history{font-size:13px}.course-more .collection-explanation{margin:10px 0;font-size:13px}.course-more .class-pay-settings{border-top:1px solid var(--line);padding-top:12px}@media (width<=760px){.course-jump{flex-direction:row;align-items:center}.course-jump>span{flex-shrink:0;font-size:13px}.course-jump select{width:auto}.course-primary-actions{width:100%}}.course-status-badge.status-paused{color:#795c15;background:#fff4d5}.slot-paused{color:#6b7568;opacity:.75;border-style:dashed;background:#f2f3ef!important}.day-paused{background:#f6f7f3;border-left-color:#aeb7a6}.day-paused .day-status{color:#795c15}.paid-duration-settings{border:1px solid var(--line);background:#f8faf5;border-radius:10px;margin:14px 0;padding:14px}.paid-duration-settings h3{margin:0;font-size:16px}.paid-duration-row{border-top:1px solid var(--line);grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:center;gap:8px;padding:8px 0;display:grid}.paid-duration-row label{min-width:0}.paid-duration-row button{margin-top:20px;padding:8px}.paid-duration-value{color:var(--muted);overflow-wrap:anywhere;grid-column:1/-1;margin-bottom:8px;font-size:14px}.paid-duration-settings>p:last-child{margin-bottom:0}.paid-duration-summary{margin:8px 0}.lesson-duration-choice{border:1px solid var(--line);border-radius:10px;min-width:0;margin:14px 0;padding:12px}.lesson-duration-choice legend{padding:0 5px;font-size:14px;font-weight:650}.lesson-duration-choice>div{flex-wrap:wrap;gap:6px;display:flex}.lesson-duration-choice button{padding:7px 10px;font-size:14px}.lesson-duration-choice button[aria-pressed=true]{color:#fff;background:#285f43;border-color:#285f43}.lesson-duration-choice .small{margin-bottom:0}.course-return-date{color:var(--muted);justify-content:space-between;align-items:center;gap:8px;margin-top:10px;font-size:14px;display:flex}.course-return-date button{flex-shrink:0;padding:6px 9px;font-size:14px}.lesson-participant{background:#fff9df;border:1px solid #eee5c1;border-radius:10px;margin:10px 0;padding:12px}.lesson-participant label{font-size:14px}.lesson-participant select{border:1px solid var(--line);background:#fff;border-radius:8px;width:100%;min-width:0;margin-top:7px;padding:9px;font-size:16px;display:block}.lesson-participant .small{margin:8px 0 0;font-size:14px}.slot-choice-label{margin-top:3px;font-size:11px;font-weight:500;display:block}.overview-calendar .slot-choice-label{font-size:10px}.lesson-participant-compact{background:0 0;border:0;margin:8px 0;padding:0}.lesson-participant-compact label{color:var(--muted);align-items:center;gap:10px;font-weight:500;display:flex}.lesson-participant-compact select{flex:1;max-width:360px;margin:0}@media (width<=600px){.lesson-participant-compact label{display:block}.lesson-participant-compact select{max-width:none;margin-top:6px}}.overview-calendar .slot-choice-label{display:none}.lesson-update-warning{color:#674e19;background:#fff8de;border:1px solid #e8cf83;border-radius:10px;margin:0 0 16px;padding:12px 14px}.lesson-update-warning summary{cursor:pointer;font-size:14px;line-height:1.6}.lesson-update-warning summary strong{font-size:16px}.lesson-update-warning summary>span{color:#806632;overflow-wrap:anywhere;margin-top:3px;display:block}.lesson-warning-list{gap:0;max-height:340px;margin-top:10px;display:grid;overflow:auto}.lesson-warning-row{border-top:1px solid #eadcae;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.lesson-warning-row>div{min-width:0}.lesson-warning-row b,.lesson-warning-row span{overflow-wrap:anywhere;font-size:14px;line-height:1.5;display:block}.lesson-warning-row button{background:#fffdf5;border-color:#d9c791;flex-shrink:0;padding:7px 10px;font-size:14px}.calendar-meeting-fields{gap:12px;margin-top:16px;display:grid}.calendar-meeting-fields>section{border:1px solid var(--line);background:#fafcf7;border-radius:10px;padding:12px 14px}.calendar-meeting-fields h3{margin:0;font-size:16px}.calendar-meeting-fields .form-grid{grid-template-columns:repeat(3,minmax(0,1fr))}@media (width<=600px){.calendar-meeting-fields .form-grid{grid-template-columns:1fr 1fr}.calendar-meeting-fields .form-grid label:last-child{grid-column:1/-1}}.schedule-conflict-options{background:#fff8dc;border:1px solid #ebd794;border-radius:12px;margin:12px 0;padding:14px}.schedule-conflict-options h3{margin:0 0 10px;font-size:16px}.schedule-conflict-options>div{border-top:1px solid #ebd794;padding:10px 0}.schedule-conflict-options p{margin:6px 0}.schedule-conflict-options button[aria-pressed=true]{background:#dcefdc;border-color:#74a477}.lesson-material-links:empty{display:none}.lesson-material-links{flex-wrap:wrap;gap:8px;margin:8px 0;display:flex}.lesson-material-links a{color:#25633c;background:#f0faf2;border:1px solid #b8d7c0;border-radius:8px;padding:7px 10px;font-size:14px;font-weight:600;text-decoration:none;display:inline-flex}.lesson-material-links a:hover{background:#dff2e3}.lesson-material-links a:focus-visible{outline-offset:2px;outline:2px solid #25633c}.fee-receipt-summary{color:#56665b;font-size:13px}.fee-receipt-summary summary{cursor:pointer}.fee-receipt-summary p{margin:6px 0}.fee-receipt-summary>div{border-top:1px solid #e1e8e0;justify-content:space-between;gap:8px;padding:7px 0;display:flex}.overview-calendar{--overview-row:42px;border-radius:14px;max-width:100%;overflow:auto}.overview-calendar table{width:100%;min-width:1240px}.overview-calendar thead th{z-index:3;background:#e5efdd;height:48px;padding:6px 4px;font-size:15px;position:sticky;top:0}.overview-calendar th small{margin-top:3px;font-size:13px}.overview-calendar th:first-child,.overview-calendar td.time{z-index:2;background:#f7faf4;width:78px;min-width:78px;position:sticky;left:0}.overview-calendar thead th:first-child{z-index:4;background:#e5efdd}.overview-calendar .time{padding:0 6px;font-size:13px;line-height:1.2}.overview-calendar .slot,.overview-calendar .empty{height:calc(var(--overview-row)*var(--span) - 2px);text-align:left;border-radius:7px;max-height:none;padding:5px 7px;font-size:14px;line-height:1.25}.overview-calendar .slot-content,.overview-calendar .slot-students{line-height:1.25}.overview-calendar .slot-time-label{margin-top:4px;font-size:12px;line-height:1.25}@media (width<=700px){.overview-calendar{--overview-row:38px}.overview-calendar table{min-width:1060px}.overview-calendar th:first-child,.overview-calendar td.time{width:64px;min-width:64px}.overview-calendar .time{font-size:12px}.overview-calendar .slot{padding:4px 6px;font-size:13px}.overview-calendar th,.overview-calendar th small{font-size:13px}}.install-app-button{white-space:nowrap}.offline-notice{color:#3f4a31;background:#fff8d8;border:1px solid #e6d88a;border-radius:12px;flex-wrap:wrap;align-items:flex-start;gap:10px;margin:0 0 12px;padding:12px 14px;display:flex}.offline-notice b{color:#7a5b0b}.offline-notice span{flex:1;min-width:min(100%,280px);font-size:14px;line-height:1.5}.install-app-dialog{color:#304335;background:#fffdf5;border:1px solid #e7dfbd;border-radius:16px;width:min(440px,100vw - 24px);max-width:none;padding:0;box-shadow:0 18px 60px #152b2040}.install-app-dialog::backdrop{background:#14251e80}.install-app-help{padding:24px;position:relative}.install-app-help h2{margin:0 76px 16px 0;font-size:22px}.install-app-close{background:#fff;border:1px solid #d8dfd6;border-radius:8px;padding:8px 12px;position:absolute;top:18px;right:18px}.overview-calendar .weekly-progress-preview{color:#435b49;border-top:1px solid #2653362e;margin-top:6px;padding-top:5px;font-size:12px;font-weight:500;line-height:1.35;display:block}.overview-calendar .weekly-progress-line{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.overview-calendar .weekly-progress-next{color:#775c1f}.overview-calendar .weekly-progress-empty{color:#6d7b70;margin-top:5px;font-size:12px;font-weight:500;display:block}@media (width<=700px){.overview-calendar{--overview-row:54px}.overview-calendar .slot-class-name{font-size:15px}.overview-calendar .weekly-progress-preview,.overview-calendar .weekly-progress-empty{font-size:11.5px}}.overview-calendar{--overview-row:78px}.overview-slot-wrapper{height:calc(var(--overview-row)*var(--span) - 2px);flex-direction:column;gap:3px;min-height:0;display:flex}.overview-slot-wrapper>.slot{flex:1;height:auto;min-height:0;max-height:none;padding:5px 7px;overflow:hidden}.overview-calendar .slot-class-name{white-space:normal;text-overflow:clip;overflow-wrap:anywhere;font-size:16px;font-weight:800;line-height:1.25;display:block;overflow:visible}.overview-calendar .weekly-progress-preview{color:#435b49;background:#ffffffb8;border:1px solid #26533629;border-radius:6px;flex:none;align-items:center;gap:8px;max-width:100%;min-height:30px;margin:0;padding:4px 6px;font-size:12px;font-weight:500;line-height:1.3;display:flex}.overview-calendar .weekly-progress-line{white-space:nowrap;text-overflow:ellipsis;flex:1;min-width:0;display:block;overflow:hidden}.overview-calendar .weekly-progress-line b{font-weight:750}.overview-calendar .weekly-progress-muted{color:#6d7b70}.overview-calendar .weekly-progress-open{color:#25633c;white-space:nowrap;background:#f0faf2;border:1px solid #b8d7c0;border-radius:5px;flex:none;padding:4px 7px;font-size:14px;font-weight:700;line-height:1.2}.weekly-progress-dialog{color:#27382d;background:#fff;border:1px solid #d7e4d8;border-radius:16px;width:min(620px,100vw - 32px);max-width:none;max-height:min(82dvh,760px);padding:22px;overflow:auto;box-shadow:0 24px 70px #1d342544}.weekly-progress-dialog::backdrop{background:#15241b7a}.weekly-progress-dialog-head{border-bottom:1px solid #e4ece4;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:14px;display:flex}.weekly-progress-dialog-head span{letter-spacing:.08em;color:#397450;font-size:12px;font-weight:800}.weekly-progress-dialog-head h2{margin:5px 0;font-size:24px;line-height:1.3}.weekly-progress-dialog-head p{color:#56665b;margin:0;font-size:16px}.weekly-progress-dialog-head button,.weekly-progress-dialog-actions button{background:#fff;border:1px solid #ccd9ce;border-radius:8px;flex:none;padding:8px 12px;font-size:14px;font-weight:650}.weekly-progress-history{gap:12px;margin-top:16px;display:grid}.weekly-progress-history article{background:#f8fbf7;border:1px solid #dfe9e0;border-radius:11px;padding:14px 16px}.weekly-progress-history header{gap:4px;display:grid}.weekly-progress-history header b{color:#28633f;font-size:15px}.weekly-progress-history time{color:#627166;font-size:14px}.weekly-progress-history article p,.weekly-progress-planned p{white-space:pre-wrap;overflow-wrap:anywhere;margin:10px 0 0;font-size:16px;line-height:1.65}.weekly-progress-history article a{color:#25633c;margin-top:10px;font-size:14px;font-weight:700;display:inline-flex}.weekly-progress-dialog-empty{color:#56665b;margin:12px 0;font-size:16px;line-height:1.6}.weekly-progress-planned{color:#72591f;background:#fff8df;border-radius:10px;margin-top:14px;padding:12px 14px}.weekly-progress-planned b{font-size:14px}.weekly-progress-dialog-actions{justify-content:flex-end;margin-top:18px;display:flex}@media (width<=700px){.overview-calendar{--overview-row:68px}.overview-slot-wrapper>.slot{padding:4px}.overview-calendar .slot-class-name{font-size:15px}.overview-calendar .weekly-progress-preview{gap:4px;padding:3px 4px;font-size:11px}.overview-calendar .weekly-progress-open{padding:4px 5px;font-size:13px}.weekly-progress-dialog-head h2{font-size:21px}input,select,textarea,.modal input,.modal select,.modal textarea{max-width:100%;min-height:44px;font-size:16px}.wrap:has(.overview-calendar) .toolbar input{max-width:100%;min-height:44px;font-size:16px}button{min-height:40px}.course-dialog,dialog{overscroll-behavior:contain;width:calc(100vw - 20px);max-width:620px;max-height:calc(100dvh - 24px);padding:0}.modal{overflow-wrap:anywhere;width:100%;min-width:0;padding:16px}.modal label,.form-grid>*{min-width:0}.modal-actions{padding:12px 0 max(12px,env(safe-area-inset-bottom));z-index:1;background:#fff;position:sticky;bottom:0}.weekly-progress-dialog{padding:16px}.choice-rail,.status-rail{flex-wrap:wrap;gap:6px}.course-card{box-shadow:none}}.lesson-content-fields{border:0;gap:16px;min-width:0;margin:0;padding:0;display:grid}.lesson-edit-section{background:#fffef4;border:1px solid #dedfd4;border-radius:12px;gap:12px;padding:16px;display:grid}.lesson-edit-section h3,.lesson-link-list h4{margin:0 0 4px}.lesson-link-list{gap:10px;display:grid}.lesson-link-row{align-items:flex-end;gap:10px;display:flex}.lesson-link-row label{flex:1;min-width:0}.lesson-link-row button{flex:none;margin-bottom:1px}.lesson-content-fields textarea{box-sizing:border-box;resize:vertical;width:100%;font:inherit;background:#fff;border:1px solid #c9cfc7;border-radius:8px;padding:10px;line-height:1.5}.lesson-content-disabled{opacity:.5}.lesson-no-study{background:#f2f2f2;border-radius:8px;padding:12px}.lesson-text,.weekly-progress-history p,.weekly-progress-planned p{white-space:pre-wrap;overflow-wrap:anywhere}.lesson-content-disabled a{pointer-events:none}.day-learning-content.lesson-content-disabled button{cursor:not-allowed}.lesson-edit-section{gap:18px;padding:20px}.lesson-edit-section>label{gap:9px;margin:0;display:grid}.lesson-edit-section>label input,.lesson-edit-section>label textarea{margin:0}.content-entry-editor{gap:12px;min-width:0;display:grid}.content-entry-editor h4{margin:0;padding:0 0 2px;font-size:16px;line-height:1.5}.content-entry-row{gap:10px;min-width:0;display:grid}.content-entry-top{justify-content:space-between;align-items:center;gap:10px;display:flex}.content-entry-top select{width:auto;max-width:calc(100% - 70px);min-height:44px;margin:0;padding:8px 10px}.content-entry-top button{flex:none}.content-entry-row input,.content-entry-row textarea{box-sizing:border-box;width:100%;margin:0!important}.content-entry-actions{flex-wrap:wrap;gap:8px;display:flex}.content-entry-actions button{min-height:44px;font-size:14px}.lesson-content-display{gap:8px;margin:8px 0;display:grid}.lesson-content-display p{margin:0}.lesson-content-display a{overflow-wrap:anywhere;color:#25633c;font-size:14px;line-height:1.5}@media (width<=700px){.lesson-edit-section{padding:16px}.content-entry-actions button{flex:1}.course-dialog .modal{padding:20px}}.day-lesson-details{background:#fff;border:1px solid #d5e1d4;border-radius:12px;margin-top:16px;overflow:hidden}.day-lesson-details>summary{cursor:pointer;color:#245b39;padding:16px;font-size:16px;line-height:1.5}.day-lesson-details>summary strong{font-weight:750}.day-lesson-details>summary span{color:#5c6c60;white-space:normal;overflow-wrap:anywhere;margin-top:8px;font-size:14px;display:block}.day-lesson-details[open]>summary{background:#f2f8ee;border-bottom:1px solid #d5e1d4}.day-lesson-details-body{gap:16px;min-width:0;padding:18px;display:grid}.day-lesson-details-body>h3,.day-lesson-details-body>p{overflow-wrap:anywhere;margin:0;font-size:16px;line-height:1.5}.day-lesson-details-body .weekly-progress-history{gap:14px;padding:0;display:grid}.day-lesson-details-body .weekly-progress-history article{padding:16px}.day-lesson-details-body .weekly-progress-planned{margin:0;padding:16px}.day-lesson-details-body p{white-space:pre-wrap;overflow-wrap:anywhere}@media (width<=700px){.day-lesson-details-body,.day-lesson-details-body .weekly-progress-history article{padding:14px}}.calendar-access{background:#fffef5;border:1px solid #dedfd4;border-radius:12px;margin-bottom:16px;padding:14px 16px}.calendar-access label{align-items:center;gap:14px;font-size:16px;font-weight:650;display:flex}.calendar-access select{min-width:0;max-width:100%;font:inherit;background:#fff;border:1px solid #c9cfc7;border-radius:8px;flex:1;padding:10px}.calendar-access p{margin:10px 0 0;font-size:14px;line-height:1.5}.sharing-panel p{overflow-wrap:anywhere}.sharing-row{border-bottom:1px solid #d5e1d4;justify-content:space-between;align-items:center;gap:12px;padding:14px 0;display:flex}.sharing-row>div{flex:1;min-width:0}.sharing-row b,.sharing-row span{overflow-wrap:anywhere;font-size:14px;line-height:1.5;display:block}.sharing-row span{color:#607567}.shared-calendar-choice{text-align:left;width:100%;margin:8px 0;padding:14px;display:block}.shared-calendar-choice b,.shared-calendar-choice span{overflow-wrap:anywhere;line-height:1.5;display:block}.entry-install{text-align:center;margin:14px 0}@media (width<=700px){.calendar-access label{gap:10px;display:grid}.calendar-access select{width:100%;font-size:14px}.sharing-row{align-items:flex-start}.sharing-panel form button{width:100%}}.lesson-history-entry{border-bottom:1px solid #e0e7df;gap:12px;padding:0 0 18px;display:grid}.lesson-history-entry h3,.lesson-next-plan h3{margin:0;font-size:16px;line-height:1.5}.lesson-history-entry b{font-size:14px}.lesson-history-entry p{margin:6px 0 0;line-height:1.6}.lesson-next-plan{background:#f6f9f2;border-radius:10px;padding:16px}.lesson-next-plan p{margin:10px 0 0;line-height:1.6}.lesson-fee-notice{color:#6e5016;overflow-wrap:anywhere;background:#fff7dc;border:1px solid #edcf83;border-radius:10px;gap:4px;margin:14px 0;padding:14px 16px;font-size:14px;line-height:1.55;display:grid}.lesson-fee-notice.fee-due{color:#913b1e;background:#fff0e8;border-color:#ecc1a7}.lesson-fee-notice.fee-monthly,.lesson-fee-notice.fee-unknown{color:#586b51;background:#f4f6f1;border-color:#d7dfd3}.install-app-icon{border-radius:18px;margin:4px 0 16px;display:block}.install-app-help p{line-height:1.65}.share-permission-rail{background:#f3f7ef;border:1px solid #d7dfd3;border-radius:10px;flex-wrap:wrap;gap:6px;margin:12px 0 8px;padding:5px;display:flex}.share-permission-rail button{background:0 0;border:1px solid #0000;border-radius:7px;flex:1;justify-content:center;align-items:center;gap:7px;min-width:110px;min-height:44px;padding:10px 8px;font-size:14px;font-weight:650;display:flex}.share-permission-rail button[aria-pressed=true]{color:#fff;background:#285f43;border-color:#285f43}.permission-check{border:1px solid;border-radius:4px;flex:none;width:16px;height:16px;font-size:12px;line-height:14px}.sharing-row{align-items:flex-start}.sharing-row .share-permission-rail button{min-width:95px;padding:9px 6px;font-size:13px}.sharing-row>button{margin-top:10px}@media (width<=700px){.sharing-row{flex-wrap:wrap}.sharing-row>div{flex-basis:100%}.sharing-row>button{margin-top:0}.share-permission-rail button{min-width:90px}.sharing-panel form .share-permission-rail button{width:auto}}
