.search-wrap{position:relative}.global-search button{border:0;padding:0;background:transparent;color:var(--muted);display:grid;place-items:center}.search-results{position:absolute;top:47px;left:0;width:360px;padding:7px;z-index:50;border:1px solid var(--line);border-radius:12px;background:var(--panel);box-shadow:0 18px 50px rgba(15,43,42,.18)}.search-results>button{width:100%;border:0;padding:9px;border-radius:9px;background:transparent;display:grid;grid-template-columns:34px 1fr auto 16px;grid-gap:8px;gap:8px;align-items:center;text-align:left}.search-results>button:hover{background:#f0f4f1}.search-results>button>span{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;background:#e6f0ee;color:var(--teal)}.search-results>button>span.student{background:#f8ecd9;color:#a66c24}.search-results b,.search-results small{display:block}.search-results b{font-size:11px}.search-results small{margin-top:3px;color:var(--muted);font-size:9px}.search-results em{color:var(--teal);font-size:9px;font-style:normal}.search-results>p{margin:8px;color:var(--muted);font-size:10px}.calendar-page{min-width:0}.week-switcher{display:flex;gap:5px;padding:3px;border-radius:9px;background:#e9e6dd}.week-switcher button{min-width:34px;height:32px;border:0;border-radius:7px;background:var(--panel);color:var(--teal);display:grid;place-items:center;font-size:10px}.week-switcher svg{width:16px}.week-calendar{display:grid;grid-template-columns:repeat(7,minmax(135px,1fr));overflow-x:auto;border:1px solid var(--line);border-radius:14px;background:var(--panel);box-shadow:var(--shadow)}.week-calendar>article{min-height:520px;border-left:1px solid var(--line);background:linear-gradient(180deg,#fffefa,#fbfaf5)}.week-calendar>article:first-child{border-left:0}.week-calendar>article.today{background:#f0f6f4;box-shadow:inset 0 3px var(--teal)}.week-calendar article>header{height:64px;padding:12px;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;align-items:center}.week-calendar article>header span{color:var(--muted);font-size:10px}.week-calendar article>header b{font:600 16px Georgia,serif}.day-course-list{padding:9px;align-content:start}.day-course-list>p{padding:18px 4px;text-align:center;color:#a8b0af;font-size:9px}.calendar-course{border-left:3px solid var(--teal);border-radius:8px;padding:9px;background:#e7f1ef}.calendar-course b,.calendar-course span,.calendar-course time{display:block}.calendar-course time{color:var(--teal);font-size:9px;font-weight:700}.calendar-course b{margin-top:6px;font-size:10px;line-height:1.35}.calendar-course span{margin-top:5px;color:var(--muted);font-size:8px;line-height:1.4}.calendar-course.subject-英语{border-color:var(--blue);background:#edf2f6}.calendar-course.subject-化学{border-color:var(--amber);background:#fbf3e7}.calendar-course.subject-物理{border-color:var(--rose);background:#f7ecea}.profile-modal{width:min(960px,96vw)}.profile-summary{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:10px;gap:10px;margin:20px 0}.profile-summary>div{min-height:72px;padding:12px;border:1px solid var(--line);border-radius:10px;display:flex;align-items:center;gap:10px;background:#faf8f2;color:var(--teal)}.profile-summary>div.danger{color:var(--rose);background:#f8eeec}.profile-summary b,.profile-summary span{display:block}.profile-summary span{color:var(--muted);font-size:9px}.profile-summary b{margin-top:4px;color:var(--ink);font-size:13px}.detail-heading{margin:20px 0 10px;font:600 15px Georgia,Songti SC,serif}.mini-week{display:grid;grid-template-columns:repeat(7,minmax(105px,1fr));overflow-x:auto;border:1px solid var(--line);border-radius:10px}.mini-week>div{min-height:125px;padding:8px;border-left:1px solid var(--line)}.mini-week>div:first-child{border-left:0}.mini-week>div>b{display:block;margin-bottom:8px;color:var(--muted);font-size:9px}.mini-week>div>span{display:block;margin-bottom:6px;padding:7px;border-radius:6px;background:#e7f1ef;font-size:9px;line-height:1.35}.mini-week small,.mini-week time{display:block;color:var(--teal);font-size:8px}.mini-week small{margin-top:3px;color:var(--muted)}.mini-week em{color:#b1b9b8;font-size:10px;font-style:normal}.student-finance-detail{margin-top:14px;display:grid;grid-template-columns:repeat(3,1fr);border:1px solid var(--line);border-radius:10px}.student-finance-detail div{padding:11px;border-left:1px solid var(--line)}.student-finance-detail div:first-child{border-left:0}.student-finance-detail b,.student-finance-detail span{display:block}.student-finance-detail span{color:var(--muted);font-size:9px}.student-finance-detail b{margin-top:4px;font:600 15px Georgia,serif}.profile-payment-list{border:1px solid var(--line);border-radius:10px;overflow:hidden}.profile-payment-list>div{display:grid;grid-template-columns:1fr auto 90px;grid-gap:10px;gap:10px;align-items:center;padding:10px 12px;border-top:1px solid var(--line)}.profile-payment-list>div:first-child{border-top:0}.profile-payment-list span{display:flex;align-items:center;gap:5px;font-size:10px}.profile-payment-list time{color:var(--muted);font-size:9px;text-align:right}.profile-payment-list>p{padding:15px;margin:0;color:var(--muted);font-size:10px}.review-card .review-item{width:100%;border-top:0;border-right:0;border-bottom:0;text-align:left;cursor:pointer}.review-card .review-item:hover{transform:translateX(2px)}.review-count{min-width:27px;height:27px;padding:0 7px;border-radius:20px;background:var(--rose);color:white;display:grid;place-items:center;font-size:11px}.review-modal{width:min(980px,96vw);height:min(720px,92vh);display:flex;flex-direction:column}.review-workspace{min-height:0;flex:1 1;display:grid;grid-template-columns:290px 1fr;grid-gap:16px;gap:16px}.review-workspace aside{overflow-y:auto;border:1px solid var(--line);border-radius:10px;padding:5px}.review-workspace aside button{width:100%;display:grid;grid-template-columns:9px 1fr;grid-gap:8px;gap:8px;align-items:start;border:0;border-radius:8px;padding:9px;background:transparent;text-align:left}.review-workspace aside button.active{background:#e9f2ef}.review-workspace aside b,.review-workspace aside small{display:block}.review-workspace aside b{font-size:10px}.review-workspace aside small{margin-top:3px;color:var(--muted);font-size:8px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.review-state{width:8px;height:8px;margin-top:3px;border-radius:50%;background:var(--amber)}.review-state.resolved{background:#4d8a55}.review-state.kept{background:var(--blue)}.review-state.skipped{background:#a5abaa}.review-editor{min-width:0;padding:8px 5px}.source-location{padding:8px 10px;border-radius:7px;background:#eef3f1;color:var(--teal);font-size:9px;font-weight:700}.review-editor label{display:block;margin-top:15px}.review-editor label>span{display:block;margin-bottom:6px;color:var(--muted);font-size:10px}.raw-value{min-height:45px;padding:11px;border-radius:8px;background:#f3f1eb;color:var(--ink);font-size:11px;line-height:1.5}.review-reason{display:flex;align-items:center;gap:6px;margin:10px 0;color:#a26a29;font-size:9px}.review-editor textarea{width:100%;min-height:120px;resize:vertical;border:1px solid var(--line);border-radius:8px;padding:11px;background:#fff;outline:0}.review-editor textarea:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(31,106,100,.08)}.review-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:15px}.review-actions>button:not(.primary){border:1px solid var(--line);background:white;border-radius:8px;padding:0 12px;font-size:10px}@media (max-width:800px){.search-wrap{display:none}.week-calendar{grid-template-columns:repeat(7,170px)}.week-calendar>article{min-height:400px}.profile-summary{grid-template-columns:1fr}.mini-week{grid-template-columns:repeat(7,145px)}.review-workspace{grid-template-columns:1fr}.review-workspace aside{max-height:180px}.review-modal{height:94vh}}@media (max-width:520px){.student-finance-detail{grid-template-columns:1fr}.student-finance-detail div{border-left:0;border-top:1px solid var(--line)}.student-finance-detail div:first-child{border-top:0}.review-actions{flex-wrap:wrap}.review-actions button{flex:1 1;min-height:38px}}.directory-page .section-head{align-items:flex-end}.directory-filters{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.directory-filters label{display:flex;align-items:center;gap:6px;min-width:190px;padding:8px 10px;border:1px solid var(--line);border-radius:8px;background:white}.directory-filters input{width:100%;border:0;outline:0;background:transparent;font-size:10px}.calendar-filters select,.directory-filters button,.directory-filters select{min-height:34px;border:1px solid var(--line);border-radius:8px;padding:0 10px;background:white;color:var(--ink);font-size:10px}.directory-filters button.active{border-color:var(--rose);background:#f7ecea;color:var(--rose)}.clickable-row{cursor:pointer;transition:background .15s ease}.clickable-row:hover{background:#f0f6f4}.danger-text{color:var(--rose)}.positive-text{color:var(--teal)}.status svg{vertical-align:-2px;margin-right:3px}.profile-summary.four{grid-template-columns:repeat(4,1fr)}.profile-warning{gap:6px;padding:9px 11px;border-radius:8px;background:#fbf3e7;color:#9b692e}.profile-footer,.profile-warning{display:flex;align-items:center;font-size:10px}.profile-footer{justify-content:space-between;gap:12px;margin-top:18px;padding-top:14px;border-top:1px solid var(--line);color:var(--muted)}.import-preview{margin-top:12px;padding:11px;border-radius:9px;background:#f8eee9}.import-preview b,.import-preview p{display:block;margin:0 0 7px}.import-preview p{font-size:9px;line-height:1.5;color:var(--muted)}.danger-button{border:0;background:var(--rose);color:white;font-size:10px}.backup-panel button{display:flex;align-items:center;gap:5px}.calendar-filters{display:flex;align-items:center;gap:7px;flex-wrap:wrap;margin-bottom:12px;padding:10px;border:1px solid var(--line);border-radius:10px;background:var(--panel)}.series-toggle{margin-left:auto;display:flex;align-items:center;gap:5px;font-size:10px;color:var(--muted)}.time-calendar{display:grid;grid-template-columns:58px repeat(7,minmax(150px,1fr));min-width:1110px;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:var(--panel);box-shadow:var(--shadow)}.advanced-calendar{overflow-x:auto;padding-bottom:12px}.time-axis header,.time-day>header{height:54px;border-bottom:1px solid var(--line)}.time-axis>div,.time-grid{position:relative;height:1024px}.time-axis span{position:absolute;right:8px;transform:translateY(-7px);color:var(--muted);font-size:8px}.time-day{border-left:1px solid var(--line);min-width:0}.time-day.today{background:#f3f8f6}.time-day>header{display:flex;align-items:center;justify-content:space-between;padding:0 9px;position:-webkit-sticky;position:sticky;top:0;z-index:5;background:#fffefa}.time-day.today>header{box-shadow:inset 0 3px var(--teal);background:#edf5f2}.time-day>header span{font-size:9px;color:var(--muted)}.time-day>header b{font:600 14px Georgia,serif}.time-grid>i{position:absolute;left:0;right:0;height:1px;background:#eceae4}.time-grid>i:nth-child(odd){background:#f5f3ee}.time-course{position:absolute;left:4px;right:4px;z-index:2;overflow:hidden;border:0;border-left:3px solid var(--teal);border-radius:7px;padding:5px 6px 5px 18px;background:#e4f0ed;text-align:left;cursor:-webkit-grab;cursor:grab;box-shadow:0 2px 7px rgba(20,55,52,.1)}.time-course>svg{position:absolute;left:3px;top:6px;color:var(--muted)}.time-course b,.time-course small,.time-course time{display:block}.time-course time{font-size:8px;color:var(--teal);font-weight:700}.time-course b{margin-top:2px;font-size:9px;line-height:1.2}.time-course small{margin-top:2px;color:var(--muted);font-size:7px;line-height:1.25}.time-course.completed{opacity:.62;background:#e8eee8}.time-course.cancelled{opacity:.4;text-decoration:line-through}.time-course.subject-英语{border-color:var(--blue);background:#edf2f6}.time-course.subject-物理{border-color:var(--rose);background:#f7ecea}.time-course.subject-化学,.time-course.subject-化学沪教{border-color:var(--amber);background:#fbf3e7}.session-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:9px;gap:9px;margin:20px 0}.session-detail-grid>div{display:flex;align-items:center;gap:8px;padding:11px;border:1px solid var(--line);border-radius:9px;background:#faf8f2;color:var(--teal)}.session-detail-grid b,.session-detail-grid span{display:block}.session-detail-grid span{font-size:9px;color:var(--muted)}.session-detail-grid b{margin-top:4px;color:var(--ink);font-size:10px}.session-actions.wide{display:flex;justify-content:flex-end;gap:8px}.session-actions.wide button{display:flex;align-items:center;gap:5px}@media (max-width:900px){.profile-summary.four{grid-template-columns:1fr 1fr}.directory-page .section-head{align-items:flex-start}.directory-filters{width:100%}.session-detail-grid{grid-template-columns:1fr}.series-toggle{margin-left:0}.time-calendar{min-width:1060px}}@media (max-width:560px){.profile-summary.four{grid-template-columns:1fr}.directory-filters label{min-width:100%}.time-course{cursor:pointer}.series-toggle{display:none}}.reconcile-panel{margin-bottom:14px}.reconcile-intro{display:flex;align-items:center;gap:13px}.reconcile-intro>span{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:#e6f1ee;color:var(--teal)}.reconcile-intro>div{flex:1 1}.reconcile-intro h3{margin:2px 0 4px;font-size:15px}.reconcile-intro p:last-child{margin:0;color:var(--muted);font-size:9px}.reconcile-preview{display:grid;grid-template-columns:repeat(5,1fr) auto;grid-gap:8px;gap:8px;align-items:stretch;margin-top:16px;padding-top:15px;border-top:1px solid var(--line)}.reconcile-preview>div{padding:10px;border-radius:9px;background:#f4f2ec}.reconcile-preview>div.good{background:#e8f2ec;color:#2f7249}.reconcile-preview b,.reconcile-preview span{display:block}.reconcile-preview span{font-size:8px;color:var(--muted)}.reconcile-preview b{margin-top:5px;font-size:16px}.reconcile-applied{display:flex;align-items:center;gap:7px;margin-top:14px;padding:10px;border-radius:8px;background:#e9f3ee;color:#397452;font-size:10px}.proposal-panel{margin-top:14px}.proposal-list{display:grid;grid-gap:8px;gap:8px;margin-top:12px}.proposal-list article{display:grid;grid-template-columns:minmax(210px,1fr) 2fr;grid-gap:12px;gap:12px;align-items:center;padding:11px;border:1px solid var(--line);border-radius:10px;background:#fbfaf6}.proposal-list article b{font-size:11px}.proposal-list article p{margin:4px 0;color:var(--muted);font-size:9px}.proposal-list article small{color:var(--amber);font-size:8px}.proposal-list article>div:last-child{display:flex;gap:6px;flex-wrap:wrap;justify-content:flex-end}.proposal-list article button{border:1px solid #b7cec8;border-radius:7px;padding:7px 9px;background:#eef6f3;color:var(--teal);font-size:9px}.proposal-list article button:hover{background:var(--teal);color:white}.weekly-settlement-list{display:grid;grid-template-columns:repeat(3,1fr);grid-gap:8px;gap:8px;margin-bottom:15px}.weekly-settlement{display:flex;align-items:center;justify-content:space-between;gap:7px;padding:10px;border-radius:9px;background:#f4f2ec;border-left:3px solid #aab0ae}.weekly-settlement.paid{background:#eaf4ee;border-color:#4f8c63}.weekly-settlement.unpaid{background:#f8ece9;border-color:var(--rose)}.weekly-settlement.absent{background:#f0f1f0;border-color:#9ca3a1}.weekly-settlement span b,.weekly-settlement span small{display:block}.weekly-settlement span b{font-size:9px}.weekly-settlement span small{margin-top:3px;color:var(--muted);font-size:8px}.weekly-settlement strong{font-size:10px}.weekly-settlement-list>p{color:var(--muted);font-size:9px}@media (max-width:900px){.reconcile-preview{grid-template-columns:repeat(2,1fr)}.reconcile-preview>button{grid-column:1/-1}.proposal-list article{grid-template-columns:1fr}.proposal-list article>div:last-child{justify-content:flex-start}.weekly-settlement-list{grid-template-columns:1fr}}@media (max-width:560px){.reconcile-intro{align-items:flex-start;flex-wrap:wrap}.reconcile-intro>div{min-width:200px}.reconcile-intro>button{width:100%}}.calendar-view-toggle{display:flex;justify-content:flex-end;gap:4px;margin:0 0 10px}.calendar-view-toggle button{border:1px solid var(--line);border-radius:8px;padding:7px 11px;background:#fff;color:var(--muted);font-size:9px}.calendar-view-toggle button.active{border-color:var(--teal);background:var(--teal);color:#fff}.week-overview{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));width:100%;border:1px solid var(--line);border-radius:14px;overflow:hidden;background:var(--panel);box-shadow:var(--shadow)}.week-overview>article{min-width:0;border-left:1px solid var(--line);background:#fffefa}.week-overview>article:first-child{border-left:0}.week-overview>article.today{background:#f3f8f6;box-shadow:inset 0 3px var(--teal)}.week-overview>article>header{min-height:52px;padding:9px 7px 7px;border-bottom:1px solid var(--line);text-align:center}.week-overview>article>header b,.week-overview>article>header em,.week-overview>article>header span{display:block}.week-overview>article>header span{color:var(--muted);font-size:8px}.week-overview>article>header b{margin-top:2px;font:600 13px Georgia,serif}.week-overview>article>header em{margin-top:2px;color:var(--teal);font-size:7px;font-style:normal}.overview-course-list{display:flex;flex-direction:column;gap:5px;padding:6px}.overview-course-list>p{padding:15px 2px;color:var(--muted);text-align:center;font-size:8px}.overview-course{width:100%;min-width:0;border:0;border-left:3px solid var(--teal);border-radius:7px;padding:6px;overflow:hidden;background:#e4f0ed;text-align:left;box-shadow:0 1px 4px rgba(20,55,52,.08)}.overview-course b,.overview-course small,.overview-course span,.overview-course time{display:block;overflow-wrap:anywhere}.overview-course time{color:var(--teal);font-size:8px;font-weight:800}.overview-course b{margin-top:2px;font-size:9px;line-height:1.25}.overview-course small{margin-top:3px;color:var(--ink);font-size:8px;font-weight:700}.overview-course span{margin-top:2px;color:var(--muted);font-size:7px;line-height:1.25}.overview-course.completed{opacity:.66;background:#e8eee8}.overview-course.cancelled{opacity:.42;text-decoration:line-through}.overview-course.subject-英语{border-color:var(--blue);background:#edf2f6}.overview-course.subject-物理{border-color:var(--rose);background:#f7ecea}.overview-course.subject-化学,.overview-course.subject-化学沪教{border-color:var(--amber);background:#fbf3e7}@media (max-width:700px){.week-overview{grid-template-columns:repeat(2,minmax(0,1fr));border-radius:10px}.week-overview>article{border-top:1px solid var(--line)}.week-overview>article:nth-child(odd){border-left:0}.calendar-view-toggle{justify-content:stretch}.calendar-view-toggle button{flex:1 1}}.overview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:14px;gap:14px;margin-bottom:18px}.overview-card{display:grid;grid-template-columns:1fr auto;grid-gap:8px;gap:8px;text-align:left;align-items:center;padding:18px;border:1px solid var(--line);border-radius:14px;background:var(--panel);box-shadow:var(--shadow);color:var(--ink)}.overview-card span{grid-column:1/-1;color:var(--muted);font-size:11px}.overview-card strong{font:600 22px Georgia,serif}.overview-card svg{color:var(--teal)}.simple-row{display:flex;align-items:center;gap:12px;padding:12px 0;border-top:1px solid #ece9e1}.simple-row:first-of-type{border-top:0}.simple-row>div{flex:1 1}.simple-row b,.simple-row small{display:block}.simple-row small{color:var(--muted);font-size:9px;margin-top:4px}.simple-row time{width:52px;font:600 12px Georgia,serif}.simple-row .dot{width:8px;height:8px;border-radius:50%;background:var(--teal)}.empty-state{padding:34px;text-align:center;color:var(--muted);font-size:11px;background:#faf9f5;border-radius:10px}.toolbar{gap:10px;margin-bottom:15px}.toolbar,.toolbar label{display:flex;align-items:center}.toolbar label{gap:7px;min-width:300px;padding:0 10px;border:1px solid var(--line);border-radius:9px;background:#fff}.toolbar input,.toolbar select{border:0;outline:0;background:transparent;padding:9px;width:100%}.inline-form input,.inline-form select,.toolbar>select{border:1px solid var(--line);border-radius:9px;background:#fff;padding:9px}.row-actions{display:flex;gap:5px;align-items:center;flex-wrap:wrap}.add-session button,.formal-actions button,.row-actions button,.simple-row button{display:inline-flex;align-items:center;gap:4px;border:1px solid var(--line);background:#fff;border-radius:7px;padding:6px 8px;font-size:9px}.row-actions button:disabled{opacity:.35}.status.incomplete{background:#f7e9e6;color:var(--rose)}.status.matching,.status.trial,.status.unscheduled{background:#fbefdd;color:#a66c24}.status.active,.status.flexible,.status.ready{background:#e7f1ef;color:var(--teal)}.status.converted{background:#e9f2e7;color:#3f7b42}.status.archived,.status.paused{background:#ecebea;color:#777}.check-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));max-height:160px;overflow:auto;border:1px solid var(--line);border-radius:9px;padding:10px}.check-grid legend{padding:0 5px;color:var(--muted);font-size:10px}.check-grid label{display:flex!important;flex-direction:row!important;align-items:center;gap:5px;font-size:10px}.check-grid input{width:auto!important}.form-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:12px;gap:12px;margin-top:20px}.form-grid label{display:flex;flex-direction:column;gap:5px}.form-grid label>span{color:var(--muted);font-size:10px}.form-grid input,.form-grid select,.form-grid textarea{width:100%;border:1px solid var(--line);border-radius:8px;background:#faf9f5;padding:9px;outline:0}.form-grid textarea{min-height:85px;resize:vertical}.form-grid .wide{grid-column:1/-1}.editor-modal{width:min(820px,100%)}.course-list{display:grid;grid-gap:12px;gap:12px}.formal-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;box-shadow:var(--shadow);overflow:hidden}.formal-main{width:100%;display:grid;grid-template-columns:minmax(260px,1fr) minmax(420px,1.5fr) auto;grid-gap:25px;gap:25px;align-items:center;padding:18px;border:0;background:transparent;text-align:left;color:var(--ink)}.formal-main h3{font:600 18px Georgia,Songti SC,serif;margin:8px 0 5px}.formal-main p{margin:0;color:var(--muted);font-size:10px}.formal-main dl{display:grid;grid-template-columns:repeat(3,1fr);margin:0}.formal-main dl div{padding:4px 14px;border-left:1px solid var(--line)}.formal-main dt{font-size:8px;color:var(--muted)}.formal-main dd{font-size:10px;margin:5px 0 0}.formal-actions{display:flex;align-items:center;gap:8px;padding:13px 18px;background:#f7f5ef;border-top:1px solid var(--line)}.formal-actions>div{flex:1 1}.formal-actions b,.formal-actions p{display:block;margin:0;font-size:9px}.formal-actions p{color:var(--muted);margin-top:3px}.danger-button{display:inline-flex;align-items:center;justify-content:center;gap:5px;border:1px solid #d9aaa3!important;background:#fff7f6!important;color:var(--rose);border-radius:8px;padding:8px 11px}.add-session{display:flex;gap:5px}.add-session input{border:1px solid var(--line);border-radius:7px;padding:5px;font-size:9px}.inline-form{display:grid;grid-template-columns:1fr 1fr 1fr auto;grid-gap:8px;gap:8px}.subheading{font-size:11px;margin:20px 0 8px;color:var(--muted)}.settings-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px}.backups-panel{grid-column:1/-1}.database-card{display:flex;align-items:center;gap:13px;padding:15px;background:#edf5f3;border-radius:10px}.database-card svg{color:var(--teal)}.database-card b,.database-card small{display:block}.database-card small{color:var(--muted);margin-top:5px}.settings-actions{display:flex;gap:8px;margin-top:16px}.migration-card>p{color:var(--muted);line-height:1.7;font-size:10px}.positive-text{color:#3f7b42}@media (max-width:1000px){.overview-grid{grid-template-columns:repeat(2,1fr)}.formal-main{grid-template-columns:1fr}.formal-main dl{grid-template-columns:repeat(3,1fr)}.settings-grid{grid-template-columns:1fr}.backups-panel{grid-column:auto}.check-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:700px){.overview-grid{grid-template-columns:1fr 1fr}.toolbar{align-items:stretch;flex-direction:column}.toolbar label{min-width:0}.form-grid{grid-template-columns:1fr}.form-grid .wide{grid-column:auto}.formal-main dl{grid-template-columns:1fr}.formal-main dl div{border-left:0;border-top:1px solid var(--line);padding:8px 0}.formal-actions{align-items:stretch;flex-direction:column}.check-grid,.inline-form{grid-template-columns:1fr}}.match-suggestions{display:flex;gap:8px;align-items:center;overflow:auto;margin-bottom:14px}.match-suggestions>b{white-space:nowrap;color:var(--teal);font-size:11px}.match-suggestions button{display:grid;grid-template-columns:auto 1fr;grid-gap:3px 7px;gap:3px 7px;min-width:260px;text-align:left;border:1px solid var(--line);border-radius:10px;background:var(--panel);padding:10px;color:var(--ink);font-size:10px}.match-suggestions button>span{grid-row:1/3;color:var(--amber);font:700 16px Georgia,serif}.match-suggestions small{color:var(--muted)}.legacy-badge{display:inline-flex!important;width:auto!important;padding:2px 5px;border-radius:10px;background:#ece7db;color:#7a6a48;font-size:8px;font-style:normal}.legacy-note{padding:10px;border-radius:8px;background:#f4f1e8;color:#786b50;font-size:10px}.wide-profile{width:min(1120px,97vw)}.week-toolbar{display:flex;align-items:center;justify-content:center;gap:8px;margin:10px 0}.week-toolbar button{border:1px solid var(--line);background:#fff;border-radius:7px;padding:5px 8px;color:var(--teal)}.real-week-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));border:1px solid var(--line);border-radius:11px;overflow:hidden}.real-week-grid>div{min-width:0;min-height:155px;padding:7px;border-left:1px solid var(--line)}.real-week-grid>div:first-child{border-left:0}.real-week-grid>div.today{background:#f1f7f5}.real-week-grid header{display:flex;justify-content:space-between;padding-bottom:6px;color:var(--muted)}.real-week-grid article{position:relative;display:block;margin:5px 0;padding:7px;background:#e8f2ef;border-radius:7px;font-size:8px}.real-week-grid article.cancelled{background:#f4e9e7;opacity:.7}.real-week-grid article.completed{background:#edf3e9}.real-week-grid article b,.real-week-grid article small,.real-week-grid article time{display:block}.real-week-grid article b{margin:3px 0;line-height:1.35}.real-week-grid article small{color:var(--muted)}.real-week-grid article em{display:inline-block;margin-top:4px;color:var(--teal);font-style:normal}.week-empty{display:block;text-align:center;color:#c2c7c5;padding-top:30px}.pending-week-box,.untimed-box,.untimed-summary{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px;padding:10px;border-radius:9px;background:#fbf3e7;font-size:9px}.pending-week-box b,.untimed-box b,.untimed-summary b{width:100%}.pending-week-box span,.untimed-box span,.untimed-summary span{padding:5px 7px;border-radius:6px;background:#fff}.student-group-tabs{display:flex;gap:6px;margin-bottom:15px;padding:4px;width:max-content;background:#eeece5;border-radius:10px}.student-group-tabs button{border:0;background:transparent;padding:8px 12px;border-radius:8px;color:var(--muted)}.student-group-tabs button.active{background:#fff;color:var(--teal);box-shadow:0 2px 8px rgba(0,0,0,.07)}.student-group-tabs em{font-style:normal;margin-left:4px}.session-finance-list{border:1px solid var(--line);border-radius:10px;overflow:hidden}.session-finance-list>div{display:grid;grid-template-columns:minmax(230px,1fr) 85px 85px 120px;grid-gap:10px;gap:10px;align-items:center;padding:11px 12px;border-top:1px solid var(--line);font-size:9px}.session-finance-list>div:first-child{border-top:0}.session-finance-list span b,.session-finance-list span small{display:block}.session-finance-list span small{margin-top:4px;color:var(--muted)}.session-finance-list>p{padding:20px;color:var(--muted)}.legacy-summary{margin-top:12px;padding:10px;background:#f4f2ec;border-radius:8px;font-size:9px}.legacy-summary p{color:var(--muted)}@media (max-width:800px){.real-week-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.real-week-grid>div{border-top:1px solid var(--line)}.session-finance-list>div{grid-template-columns:1fr 70px 70px}.session-finance-list>div>strong{grid-column:1/-1}.student-group-tabs{width:100%;overflow:auto}}.income-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:14px;gap:14px;margin-bottom:8px}.income-card{padding:18px;border:1px solid #cfded9;border-radius:14px;background:linear-gradient(135deg,#f4faf8,#fff);box-shadow:var(--shadow)}.income-card>span{display:block;color:var(--muted);font-size:11px}.income-card>strong{display:block;margin:7px 0 5px;font:600 28px Georgia,serif;color:var(--teal)}.income-card div small,.income-card>small{display:block;color:var(--muted);font-size:9px;line-height:1.6}.income-card>div{margin-top:12px;padding-top:10px;border-top:1px solid #dfe9e6}.income-card>div b{font-size:11px}.income-card>em{display:block;margin-top:8px;color:#83908d;font-size:8px;font-style:normal}.income-note{margin:0 0 14px;color:var(--muted);font-size:9px}.teacher-payout-list{display:grid;grid-gap:7px;gap:7px}.teacher-payout-list details{border:1px solid var(--line);border-radius:9px;background:#faf9f5}.teacher-payout-list summary{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:11px;cursor:pointer;list-style:none}.teacher-payout-list summary span{min-width:0}.teacher-payout-list summary b,.teacher-payout-list summary small{display:block}.teacher-payout-list summary small{margin-top:4px;color:var(--muted);font-size:9px}.teacher-payout-list summary em{font-style:normal;color:var(--teal);font-size:9px;white-space:nowrap}.payout-detail{padding:0 11px 11px}.payout-detail>div{display:flex;justify-content:space-between;gap:12px;padding:8px;border-top:1px solid var(--line)}.payout-detail b,.payout-detail small{display:block}.payout-detail p,.payout-detail small{color:var(--muted);font-size:9px}.amount-detail-button{border:0;background:transparent;color:var(--teal);font-weight:700;text-align:left;cursor:pointer}.amount-detail-button small{display:block;color:var(--muted);font-size:8px;font-weight:400;margin-top:3px}.candidate-group-tabs{display:flex;gap:6px;margin-bottom:14px;padding:4px;width:max-content;background:#eeece5;border-radius:10px}.candidate-group-tabs button{border:0;background:transparent;padding:9px 13px;border-radius:8px;color:var(--muted)}.candidate-group-tabs button.active{background:#fff;color:var(--teal);box-shadow:0 2px 8px rgba(0,0,0,.07)}.candidate-group-tabs em{margin-left:5px;font-style:normal}.switch-row{background:#fffaf1}.switch-requirement{max-width:340px;padding:8px;border-left:3px solid var(--amber);background:#fff7e9;border-radius:4px;white-space:pre-wrap;line-height:1.55;font-size:9px}@media (max-width:700px){.income-grid{grid-template-columns:1fr}.candidate-group-tabs{width:100%;overflow:auto}.candidate-group-tabs button{white-space:nowrap}}.course-end-date{display:inline-block;margin-top:7px;padding:4px 7px;border-radius:6px;background:#fbefdd;color:#9a641f;font-size:9px}.formal-main>svg{transition:transform .2s}.formal-main>svg.open{transform:rotate(90deg)}.formal-detail{padding:18px;border-top:1px solid var(--line);background:#fff}.formal-detail-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:10px;gap:10px}.formal-detail-grid>div{padding:11px;border-radius:9px;background:#f7f6f1}.formal-detail-grid b,.formal-detail-grid span{display:block}.formal-detail-grid span{margin-bottom:5px;color:var(--muted);font-size:9px}.formal-detail-grid b{font-size:10px;line-height:1.5}.course-note{margin-top:12px;padding:11px;border-left:3px solid var(--teal);background:#f1f7f5;border-radius:6px}.course-note b,.course-note p{margin:0;font-size:9px}.course-note p{margin-top:4px;color:var(--muted)}.formal-detail h4{margin:18px 0 8px;font-size:11px}.formal-session-list{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));grid-gap:7px;gap:7px;max-height:270px;overflow:auto}.formal-session-list>div{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:9px;border:1px solid var(--line);border-radius:8px}.formal-session-list time{font-size:9px}.formal-session-list .status{white-space:nowrap}.formal-actions{justify-content:flex-end}.legacy-tuition-list{margin-top:9px}.legacy-tuition-list>div{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 0;border-top:1px solid var(--line);font-size:9px}.legacy-summary>b{font-size:10px}.legacy-summary>p{margin:9px 0 0;color:var(--muted);font-size:9px}@media (max-width:1000px){.formal-detail-grid,.formal-session-list{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:700px){.formal-detail-grid,.formal-session-list{grid-template-columns:1fr}}.finance-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:24px 28px;margin-bottom:16px;border-radius:18px;background:linear-gradient(135deg,#173f39,#2c665c);color:#fff;box-shadow:0 14px 34px rgba(24,68,60,.18)}.finance-hero h2{margin:5px 0 7px;font:600 24px Georgia,Songti SC,serif}.finance-hero p{margin:0;color:#d7ebe6}.profit-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:13px;gap:13px;margin-bottom:14px}.profit-card{padding:19px;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:var(--shadow)}.profit-card.accent{border-color:#a9cdc4;background:linear-gradient(145deg,#f0faf7,#fff)}.profit-card small,.profit-card span{display:block;color:var(--muted)}.profit-card strong{display:block;margin:8px 0 6px;font:600 25px Georgia,serif;color:var(--ink)}.profit-card.accent strong{color:var(--teal)}.income-breakdown{margin-bottom:16px;border:1px solid var(--line);border-radius:12px;background:#fff}.income-breakdown summary{padding:12px 15px;cursor:pointer;color:var(--teal);font-weight:700}.breakdown-grid{display:grid;grid-template-columns:1fr 1fr;grid-gap:16px;gap:16px;padding:0 15px 15px}.breakdown-grid>div{padding:12px;background:#f7f6f1;border-radius:10px}.breakdown-grid h4{margin:0 0 8px}.breakdown-grid p{display:flex;justify-content:space-between;gap:12px;margin:0;padding:7px 0;border-top:1px solid #e5e1d7}.quick-finance{margin-bottom:14px}.quick-entry>h3{margin:0}.quick-entry>p{margin:5px 0 14px;color:var(--muted)}.quick-form{display:grid;grid-template-columns:1fr 1fr;grid-gap:10px;gap:10px}.drawer-form>label,.quick-form label{display:flex;flex-direction:column;gap:5px}.drawer-form label>span,.quick-form label span{font-size:9px;color:var(--muted)}.drawer-form input,.drawer-form select,.drawer-form textarea,.merge-form select,.quick-form input,.quick-form select{width:100%;padding:9px;border:1px solid var(--line);border-radius:8px;background:#fff}.quick-form button{grid-column:1/-1}.due-hint{display:flex;align-items:center;padding:8px 10px;border-radius:8px;background:#f4f1e8;color:var(--muted)}.attention-grid{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:12px;gap:12px;margin-bottom:16px}.attention-grid button{display:flex;align-items:center;gap:12px;padding:16px;text-align:left;border:1px solid var(--line);border-radius:13px;background:#fff;color:var(--ink);box-shadow:var(--shadow)}.attention-grid svg{color:var(--teal)}.attention-grid b,.attention-grid span{display:block}.attention-grid span{font-size:9px;color:var(--muted)}.attention-grid b{margin-top:5px;font-size:14px;color:var(--ink)}.finance-tabs{display:flex;gap:6px;padding:4px;margin-bottom:14px;width:max-content;max-width:100%;overflow:auto;border-radius:10px;background:#eeece5}.finance-tabs button{white-space:nowrap;border:0;border-radius:8px;background:transparent;padding:8px 12px;color:var(--muted)}.finance-tabs button.active{background:#fff;color:var(--teal);box-shadow:0 2px 8px rgba(0,0,0,.07)}.finance-history{margin-top:14px}.finance-row{display:grid;grid-template-columns:1fr 110px auto auto;grid-gap:10px;gap:10px;align-items:center;padding:11px 0;border-top:1px solid var(--line)}.finance-row b,.finance-row small{display:block}.finance-row small{margin-top:4px;color:var(--muted)}.finance-row button{display:flex;align-items:center;gap:4px;border:0;background:transparent}.finance-row strong{color:var(--teal)}.calendar-filter-panel{margin-bottom:14px;border:1px solid var(--line);border-radius:11px;background:#fff}.calendar-filter-panel summary{display:flex;align-items:center;gap:7px;padding:11px 13px;cursor:pointer;color:var(--teal);font-weight:700}.calendar-filter-panel .calendar-filters{padding:0 12px 12px}.week-card-grid{display:grid;grid-template-columns:repeat(12,minmax(0,1fr));grid-gap:13px;gap:13px}.day-card{grid-column:span 3;min-width:0;overflow:hidden;border:1px solid var(--line);border-radius:15px;background:#fff;box-shadow:var(--shadow)}.day-card:nth-child(n+5){grid-column:span 4}.day-card.today{border-color:#74aa9e;box-shadow:0 0 0 2px rgba(74,144,128,.12)}.day-card>header{display:flex;justify-content:space-between;align-items:center;padding:13px 14px;background:#f7f6f1;border-bottom:1px solid var(--line)}.day-card>header b,.day-card>header span{display:block}.day-card>header span{font-size:10px;color:var(--teal);font-weight:800}.day-card>header b{margin-top:3px;font-size:13px}.day-card>header em{font-style:normal;color:var(--muted);font-size:9px}.day-course-list{display:grid;grid-gap:8px;gap:8px;padding:10px;min-height:130px}.day-course{display:grid;grid-template-columns:52px minmax(0,1fr) auto;grid-gap:9px;gap:9px;align-items:center;width:100%;padding:10px;text-align:left;border:1px solid #dbe5e1;border-left:4px solid var(--teal);border-radius:10px;background:#f4faf8;color:var(--ink)}.day-course.completed{border-color:#d9e2d5 #d9e2d5 #d9e2d5 #6f9471;background:#f3f7f1}.day-course.cancelled{opacity:.55;border-left-color:#aa7b75;background:#f8f2f1}.course-money span,.course-money strong,.course-time span,.course-time time,.day-course b,.day-course small{display:block}.course-time time{font-weight:800;color:var(--teal)}.course-money span,.course-time span,.day-course small{margin-top:3px;color:var(--muted);font-size:8px}.day-course b{font-size:10px;line-height:1.4}.course-money{text-align:right}.course-money strong{font-size:10px}.day-empty{align-self:center;text-align:center;color:#a6adaa}.drawer-backdrop{position:fixed;inset:0;z-index:80;background:rgba(22,31,29,.38);display:flex;justify-content:flex-end}.detail-drawer{width:min(520px,96vw);height:100%;overflow:auto;padding:22px;background:#fff;box-shadow:-18px 0 50px rgba(0,0,0,.18)}.drawer-form{display:grid;grid-gap:12px;gap:12px}.drawer-form fieldset{max-height:210px;overflow:auto;padding:10px;border:1px solid var(--line);border-radius:9px}.check-line{display:flex!important;flex-direction:row!important;align-items:center;gap:7px;padding:5px 0}.check-line input{width:auto!important}.drawer-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:18px;padding-top:15px;border-top:1px solid var(--line)}.drawer-actions button{display:flex;align-items:center;gap:5px;padding:9px 12px;border:1px solid var(--line);border-radius:8px;background:#fff}.drawer-finance{display:grid;grid-template-columns:auto 1fr auto 1fr;grid-gap:8px;gap:8px;align-items:center;margin-top:18px;padding:13px;border-radius:10px;background:#eef6f3}.drawer-finance svg{color:var(--teal)}.select-cell{width:28px}.merge-form{display:grid;grid-gap:9px;gap:9px}.audit-panel,.trash-panel{grid-column:1/-1}.trash-panel .simple-row button{display:flex;align-items:center;gap:4px}.audit-panel{max-height:520px;overflow:auto}@media (max-width:1100px){.attention-grid,.profit-grid{grid-template-columns:repeat(2,1fr)}.day-card,.day-card:nth-child(n+5){grid-column:span 6}.week-card-grid .day-card:last-child{grid-column:span 12}}@media (max-width:700px){.finance-hero{align-items:flex-start;flex-direction:column}.attention-grid,.breakdown-grid,.profit-grid,.quick-form{grid-template-columns:1fr}.week-card-grid{display:block}.day-card{margin-bottom:12px}.finance-row{grid-template-columns:1fr auto}.finance-row button{justify-content:flex-start}.calendar-filters{display:grid!important;grid-template-columns:1fr 1fr}.audit-panel,.trash-panel{grid-column:auto}}.custom-range{display:flex;align-items:center;gap:8px;margin-bottom:14px;padding:12px;border:1px solid var(--line);border-radius:10px;background:#fff}.custom-range input{padding:7px;border:1px solid var(--line);border-radius:7px}.quick-create-menu{position:relative}.quick-create-menu summary{display:flex;align-items:center;gap:6px;cursor:pointer;list-style:none}.quick-create-menu>div{position:absolute;right:0;top:42px;z-index:40;display:grid;min-width:170px;padding:7px;border:1px solid var(--line);border-radius:10px;background:#fff;box-shadow:0 14px 30px rgba(0,0,0,.15)}.quick-create-menu>div button{padding:9px;text-align:left;border:0;border-radius:7px;background:transparent;color:var(--ink)}.quick-create-menu>div button:hover{background:#f1f6f4;color:var(--teal)}.duplicate-hints{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px;padding:10px;border-radius:9px;background:#fff7e9}.duplicate-hints b{width:100%}.duplicate-hints button{border:1px solid #ead4ad;border-radius:7px;background:#fff;padding:6px 8px}.breakdown-section{display:flex;justify-content:space-between;align-items:center;margin-top:12px;padding:8px 9px;border-radius:7px;background:#eaf3f0;color:var(--teal)}.breakdown-section em{font-style:normal;font-weight:800}.breakdown-grid p span small{display:block;margin-top:3px;color:var(--muted);font-size:8px}.week-card-grid{gap:16px}.day-card{border:0;background:#fbfcfb;box-shadow:0 8px 24px rgba(35,61,56,.08)}.day-card>header{padding:15px 16px;background:linear-gradient(135deg,#f0f7f5,#f8faf8)}.day-card.today>header{background:linear-gradient(135deg,#dceee9,#eef7f4)}.day-course-list{gap:9px;padding:11px}.day-course{grid-template-columns:58px minmax(0,1fr) auto;gap:11px;padding:11px 12px;border:1px solid #e4ebe8;border-left:0;background:#fff;box-shadow:0 2px 8px rgba(29,58,51,.04);transition:transform .15s,box-shadow .15s,border-color .15s}.day-course:hover{transform:translateY(-1px);border-color:#b9d2cc;box-shadow:0 6px 16px rgba(29,58,51,.09)}.course-time{align-self:stretch;display:flex;flex-direction:column;justify-content:center;padding-right:10px;border-right:1px solid #e4ebe8}.course-time time{font-size:13px;letter-spacing:.2px}.course-time span{font-size:8px}.course-info{min-width:0}.course-info b{font-size:11px;line-height:1.4}.course-info small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-size:9px}.course-info small span{display:inline-block;margin-right:6px;padding:2px 5px;border-radius:5px;background:#edf4f2;color:var(--teal);font-weight:700}.course-state{display:flex;align-items:center;gap:5px;white-space:nowrap;font-size:8px;color:#7a8582}.course-state i{width:7px;height:7px;border-radius:50%;background:#d6a54a}.course-state.completed i{background:#6d9b75}.course-state.cancelled i{background:#b3817a}.day-course.completed{opacity:.82;background:#f7faf6}.day-course.cancelled{opacity:.58;background:#faf7f6}.profit-explanation{display:grid;grid-gap:5px;gap:5px;margin:-2px 0 14px;padding:13px 15px;border-left:4px solid var(--teal);border-radius:9px;background:#eef6f3;font-size:9px}.profit-explanation b{font-size:10px}.profit-explanation span{color:#566461}.profit-explanation em{color:#8a6a32;font-style:normal;font-weight:700}@media (max-width:700px){.day-course{grid-template-columns:54px minmax(0,1fr)}.course-state{grid-column:2}.profit-explanation{font-size:9px}}.tuition-progress-panel{margin:15px 0;padding:15px;border:1px solid #cbded8;border-radius:14px;background:linear-gradient(145deg,#f4faf8,#fff)}.tuition-progress-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px}.tuition-progress-head h3{margin:3px 0 0;font-size:15px}.tuition-progress-head>strong{padding:7px 10px;border-radius:8px;background:#fff;font-size:11px;white-space:nowrap}.tuition-progress-summary{display:flex;gap:9px;margin-top:13px}.tuition-stat{flex:1 1;padding:11px;border-radius:10px;background:#fff;border:1px solid #e3e8e5}.tuition-stat.danger{border-color:#ebcbc5;background:#fff8f6}.tuition-stat.credit{border-color:#bfdbd3;background:#f5fbf8}.tuition-stat b,.tuition-stat small,.tuition-stat span{display:block}.tuition-stat span{color:var(--muted);font-size:9px}.tuition-stat b{margin:5px 0 4px;font-size:14px}.tuition-stat small{color:var(--muted);font-size:8px;line-height:1.5}.course-payment-progress{margin-top:11px;border:1px solid var(--line);border-radius:10px;overflow:hidden;background:#fff}.course-payment-progress>div{display:grid;grid-template-columns:minmax(190px,1.3fr) minmax(130px,1fr) minmax(130px,1fr) auto;grid-gap:12px;gap:12px;align-items:center;padding:11px;border-top:1px solid var(--line)}.course-payment-progress>div:first-child{border-top:0}.course-payment-progress span b,.course-payment-progress span small{display:block}.course-payment-progress span small{margin-bottom:3px;color:var(--muted);font-size:8px}.course-payment-progress span b{font-size:9px;line-height:1.45}.course-payment-progress>div>strong{font-size:9px;text-align:right;white-space:nowrap}.course-payment-progress>p{margin:0;padding:14px;color:var(--muted);font-size:9px}@media (max-width:760px){.tuition-progress-head,.tuition-progress-summary{align-items:stretch;flex-direction:column}.tuition-progress-head>strong{white-space:normal}.course-payment-progress>div{grid-template-columns:1fr 1fr}.course-payment-progress>div>strong{grid-column:1/-1;text-align:left}}.recurring-editor{display:grid;grid-gap:9px;gap:9px;padding:12px;border:1px solid #cbded8;border-radius:11px;background:#f4faf8}.recurring-editor-head{display:flex;align-items:center;justify-content:space-between;gap:12px}.recurring-editor-head b,.recurring-editor-head small{display:block}.recurring-editor-head small{margin-top:3px;color:var(--muted);font-size:8px}.recurring-editor-head button,.recurring-slot button{display:flex;align-items:center;gap:4px;padding:7px 9px;border:1px solid var(--line);border-radius:7px;background:#fff}.recurring-slot{display:grid;grid-template-columns:95px 1fr auto 1fr 36px;grid-gap:7px;gap:7px;align-items:center;padding:8px;border-radius:9px;background:#fff}.recurring-slot input,.recurring-slot select{min-width:0;padding:8px;border:1px solid var(--line);border-radius:7px}.recurring-editor>label{display:flex;flex-direction:column;gap:5px;margin-top:3px}.recurring-editor>label span{font-size:9px;color:var(--muted)}.recurring-editor>label input{padding:8px;border:1px solid var(--line);border-radius:7px;background:#fff}.formal-session-list>div{position:relative;padding-right:34px}.session-delete-button{position:absolute;right:7px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:25px;height:25px;border:0;border-radius:6px;background:transparent;color:#a56c65;opacity:.2}.formal-session-list>div:hover .session-delete-button{opacity:1}.session-delete-button:hover{background:#f8e9e6}.deleted-session-list{margin-top:10px;border:1px dashed #d8c8c3;border-radius:9px;background:#fcf8f6}.deleted-session-list summary{padding:9px 11px;cursor:pointer;color:#8f7169;font-size:9px}.deleted-session-list>div{display:grid;grid-template-columns:150px 1fr auto;grid-gap:10px;gap:10px;align-items:center;padding:9px 11px;border-top:1px solid #eee2de;font-size:9px}.deleted-session-list>div span{color:var(--muted)}.deleted-session-list button{display:flex;align-items:center;gap:4px;border:0;background:transparent;color:var(--teal)}@media (max-width:620px){.recurring-slot{grid-template-columns:1fr 1fr}.recurring-slot>span{display:none}.recurring-slot button{justify-self:end}.deleted-session-list>div{grid-template-columns:1fr auto}.deleted-session-list>div span{grid-column:1/-1}.session-delete-button{opacity:1}}.real-week-grid article em.tuition-covered{padding:3px 5px;border-radius:5px;background:#d7eee4;color:#236b51;font-weight:800}.real-week-grid article em.tuition-partial{padding:3px 5px;border-radius:5px;background:#fff0d8;color:#94651e;font-weight:800}.finance-empty-explanation{padding:15px!important;background:#fbf7ed;border-left:4px solid var(--amber)}.finance-empty-explanation b{display:block;font-size:10px}.finance-empty-explanation p{margin:6px 0 0!important;padding:0!important;line-height:1.65;color:var(--muted);font-size:9px}.finance-3d-hero{position:relative;display:grid;grid-template-columns:330px minmax(0,1fr);min-height:340px;margin-bottom:16px;overflow:hidden;border:1px solid rgba(133,177,164,.28);border-radius:20px;background:radial-gradient(circle at 72% 18%,rgba(94,150,132,.24),transparent 38%),linear-gradient(135deg,#102e2a,#214f47 58%,#173b35);box-shadow:0 20px 46px rgba(18,59,52,.2);color:#fff}.finance-3d-hero:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,rgba(255,255,255,.06),transparent 36%)}.finance-3d-copy{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:center;padding:27px 0 27px 29px}.finance-3d-copy .eyebrow{color:#9ed1c3}.finance-3d-copy h2{margin:6px 0 9px;font:600 22px Georgia,Songti SC,serif}.finance-3d-copy>strong{font:600 34px Georgia,serif;color:#fff}.finance-3d-copy>small{margin-top:3px;color:#a9c9c1}.finance-3d-copy>button{align-self:flex-start;margin-top:17px;padding:9px 13px;border:1px solid rgba(255,255,255,.24);border-radius:9px;background:rgba(255,255,255,.09);color:#fff;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.finance-3d-copy>button:hover{background:#fff;color:#173f39}.finance-3d-legend{display:grid;grid-template-columns:1fr 1fr;grid-gap:7px 13px;gap:7px 13px;margin-top:18px}.finance-3d-legend span{display:grid;grid-template-columns:8px 1fr;grid-gap:2px 6px;gap:2px 6px;align-items:center;color:#bdd3cd;font-size:8px}.finance-3d-legend i{grid-row:1/3;width:7px;height:18px;border-radius:4px}.finance-3d-legend b{display:block;color:#fff;font-size:9px}.webgl-stage{position:relative;min-width:0;min-height:260px}.monthly-stage{height:340px}.webgl-stage canvas{display:block;width:100%;height:100%;cursor:crosshair}.webgl-tooltip{position:absolute;z-index:8;min-width:116px;pointer-events:none;transform:translateY(-50%);padding:9px 11px;border:1px solid rgba(255,255,255,.35);border-radius:9px;background:rgba(13,39,35,.9);box-shadow:0 10px 24px rgba(0,0,0,.24);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#fff}.webgl-tooltip b,.webgl-tooltip small,.webgl-tooltip strong{display:block}.webgl-tooltip b{font-size:9px;color:#b9d7cf}.webgl-tooltip strong{margin-top:4px;font:600 15px Georgia,serif}.webgl-tooltip small{margin-top:3px;color:#d9e8e4;font-size:8px}.finance-visual-loading{display:grid;place-items:center;min-height:340px;margin-bottom:16px;border-radius:20px;background:linear-gradient(135deg,#173f39,#2c665c);color:#d7ebe6}.cashflow-3d-panel{margin-bottom:16px;padding:18px 20px 13px;overflow:hidden;border:1px solid #d5e2de;border-radius:17px;background:radial-gradient(circle at 78% 0,rgba(105,158,143,.13),transparent 35%),#fff;box-shadow:var(--shadow)}.cashflow-3d-panel>header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px}.cashflow-3d-panel h3{margin:4px 0 5px;font:600 17px Georgia,Songti SC,serif}.cashflow-3d-panel header span{color:var(--muted);font-size:9px}.best-cash-day{display:grid;grid-template-columns:1fr auto;grid-gap:3px 12px;gap:3px 12px;padding:9px 11px;border:1px solid #d7e6e1;border-radius:10px;background:#f4faf8}.best-cash-day small{grid-column:1/-1;color:var(--muted);font-size:8px}.best-cash-day b{font-size:9px}.best-cash-day strong{color:var(--teal);font:600 12px Georgia,serif}.cashflow-stage{height:285px;margin-top:6px}.cashflow-3d-panel .webgl-tooltip{background:rgba(250,250,247,.95);border-color:#cbdad5;color:var(--ink)}.cashflow-3d-panel .webgl-tooltip b{color:var(--teal)}.cashflow-3d-panel .webgl-tooltip small{color:var(--muted)}.cashflow-labels{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:5px;gap:5px;margin-top:-9px}.cashflow-labels span{text-align:center}.cashflow-labels b,.cashflow-labels small{display:block}.cashflow-labels b{font-size:8px;color:var(--muted)}.cashflow-labels small{margin-top:3px;font-size:8px;color:var(--teal)}.profit-card{position:relative;overflow:hidden}.profit-card:after{content:"";position:absolute;right:-28px;bottom:-38px;width:90px;height:90px;border-radius:50%;background:radial-gradient(circle,rgba(83,145,127,.09),transparent 68%)}.profit-rate{position:relative;z-index:1;display:flex!important;align-items:center;justify-content:space-between;margin-top:12px;padding-top:9px;border-top:1px solid #e4e8e5;color:var(--teal)!important;font-size:11px;font-style:normal;font-weight:800}.profit-rate b{color:var(--muted);font-size:8px}.profit-rate.negative{color:#b35f57!important}.static-metric-chart{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:14px;gap:14px;align-items:end;height:100%;padding:32px 28px 22px}.static-metric-chart>div{text-align:center}.static-bar-space{position:relative;display:flex;align-items:flex-end;justify-content:center;height:190px;border-bottom:1px solid rgba(255,255,255,.26)}.static-bar-space i{display:block;width:56%;min-height:5px;border-radius:7px 7px 2px 2px;box-shadow:0 8px 20px rgba(0,0,0,.2)}.static-bar-space i.negative{align-self:flex-start;border-radius:2px 2px 7px 7px}.static-metric-chart b,.static-metric-chart strong{display:block;color:#dceae6}.static-metric-chart b{margin-top:8px;font-size:8px}.static-metric-chart strong{margin-top:3px;font-size:9px}.static-cashflow{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));grid-gap:8px;gap:8px;height:270px;padding:20px 8px 5px}.static-cashflow>div{text-align:center}.static-day-bars{display:flex;align-items:center;justify-content:center;gap:3px;height:210px;border-bottom:1px solid var(--line)}.static-day-bars i{align-self:flex-end;width:8px;min-height:3px;border-radius:4px 4px 1px 1px;background:#4f9a86}.static-day-bars i.wage{background:#d3a85c}.static-day-bars i.net{background:#173f39}.static-day-bars i.negative{background:#b86f68}.static-cashflow b,.static-cashflow small{display:block}.static-cashflow b{margin-top:6px;color:var(--muted);font-size:8px}.static-cashflow small{margin-top:2px;color:var(--teal);font-size:8px}@media (max-width:980px){.finance-3d-hero{grid-template-columns:285px minmax(0,1fr)}.finance-3d-copy{padding-left:22px}.monthly-stage{height:330px}.finance-3d-legend{grid-template-columns:1fr}.cashflow-stage{height:260px}}@media (max-width:700px){.finance-3d-hero{display:flex;flex-direction:column;min-height:0}.finance-3d-copy{padding:20px 20px 0}.finance-3d-copy>strong{font-size:29px}.finance-3d-legend{grid-template-columns:1fr 1fr}.monthly-stage{height:260px}.cashflow-3d-panel{padding:15px 12px}.cashflow-3d-panel>header{flex-direction:column}.best-cash-day{width:100%}.cashflow-stage{height:250px}.cashflow-labels{gap:2px}.cashflow-labels small{font-size:7px}.static-metric-chart{height:260px;padding:20px 12px}.static-bar-space{height:155px}.static-cashflow{height:245px;padding-inline:0}.static-day-bars{height:180px}.webgl-tooltip{max-width:135px}}.static-fund-flow,.static-terrain{display:grid;place-items:center;width:100%;height:100%;min-height:250px}.static-fund-flow svg,.static-terrain svg{display:block;width:100%;height:100%;overflow:visible}.static-fund-flow text{fill:#dceae6;font-size:13px;font-weight:700;letter-spacing:.04em}.static-fund-flow path{filter:drop-shadow(0 5px 8px rgba(0,0,0,.18))}.static-terrain{padding:8px 6px 0}.static-terrain svg{min-height:235px;filter:drop-shadow(0 12px 18px rgba(31,91,77,.1))}.cashflow-stage canvas,.monthly-stage canvas{touch-action:pan-y}.finance-3d-hero{background:radial-gradient(circle at 75% 25%,rgba(104,178,157,.2),transparent 33%),radial-gradient(circle at 82% 78%,rgba(223,187,111,.12),transparent 32%),linear-gradient(135deg,#102e2a,#214f47 58%,#173b35)}.cashflow-3d-panel{background:radial-gradient(circle at 72% 8%,rgba(105,158,143,.12),transparent 35%),linear-gradient(180deg,#fff,#fbfdfc)}@media (max-width:700px){.static-fund-flow,.static-terrain{min-height:220px}.static-fund-flow text{font-size:15px}.static-terrain{padding-inline:0}.cashflow-stage canvas,.monthly-stage canvas{cursor:default}}.finance-page-title{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;margin:2px 0 18px;padding:4px 2px}.finance-page-title h2{margin:4px 0 5px;font:600 27px Georgia,Songti SC,serif;color:var(--ink)}.finance-page-title span{color:var(--muted);font-size:10px}.finance-landscape-panel>header button,.finance-page-title>button{padding:10px 14px;border:1px solid #8aa79e;border-radius:9px;background:#fff;color:#174b40;font-weight:800}.finance-landscape-panel>header button:hover,.finance-page-title>button:hover{background:#174b40;color:#fff}.finance-top-grid{margin-bottom:18px}.finance-top-grid .profit-card{min-height:126px;border-color:#ddd7c9;background:linear-gradient(145deg,#fff,#fdfbf6);box-shadow:0 8px 22px rgba(47,70,62,.06)}.finance-top-grid .profit-card strong{font-family:Georgia,Times New Roman,serif;font-size:27px;color:#174b40}.finance-landscape-panel{position:relative;margin-bottom:16px;padding:18px 20px 17px;overflow:hidden;border:1px solid #ddd7c9;border-radius:18px;background:radial-gradient(circle at 52% 38%,#fff 0,#fbf9f3 43%,#f6f1e7 100%);box-shadow:0 18px 40px rgba(48,67,60,.08)}.finance-landscape-panel:before{content:"";position:absolute;inset:0;pointer-events:none;background:linear-gradient(110deg,rgba(255,255,255,.6),transparent 33%)}.finance-landscape-panel>header{position:relative;z-index:5;display:flex;align-items:flex-start;justify-content:space-between;gap:20px}.finance-landscape-panel h3{margin:4px 0;font:600 18px Georgia,Songti SC,serif}.finance-landscape-panel header span{color:var(--muted);font-size:9px}.landscape-stage{position:relative;height:390px;margin-top:-18px}.landscape-stage .cashflow-stage{height:390px;margin:0}.landscape-stage canvas{cursor:crosshair}.landscape-tag{position:absolute;z-index:4;display:flex;flex-direction:column;gap:4px;min-width:128px;padding:9px 13px;border:1px solid rgba(36,100,84,.35);border-radius:11px;background:rgba(255,255,252,.9);box-shadow:0 9px 22px rgba(37,72,62,.1);-webkit-backdrop-filter:blur(7px);backdrop-filter:blur(7px);color:#174b40;pointer-events:none}.landscape-tag small{font-size:9px;color:#50756b}.landscape-tag b{font:600 14px Georgia,serif}.landscape-tag.inflow{left:5%;top:34%}.landscape-tag.income{left:50%;top:6%;transform:translateX(-50%);background:#174b40;border-color:#174b40;color:#fff;text-align:center}.landscape-tag.income small{color:#c8ded7}.landscape-tag.outflow{right:4%;top:36%;border-color:rgba(182,132,55,.48);color:#986b27}.landscape-tag.outflow small{color:#9d7a46}.landscape-actions{position:relative;z-index:5;display:flex;justify-content:flex-end;gap:12px;margin-top:-14px}.landscape-actions button{min-width:148px;padding:12px 19px;border:1px solid #174b40;border-radius:10px;background:#fff;color:#174b40;font-weight:900}.landscape-actions button.primary-landscape{background:#174b40;color:#fff;box-shadow:0 8px 18px rgba(23,75,64,.17)}.landscape-actions button:hover{transform:translateY(-1px)}@media (max-width:980px){.landscape-stage,.landscape-stage .cashflow-stage{height:350px}.landscape-tag{min-width:112px;padding:8px 10px}.finance-top-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (max-width:700px){.finance-page-title{align-items:flex-start}.finance-page-title h2{font-size:24px}.finance-page-title>button{padding:8px 10px}.finance-landscape-panel{padding:15px 12px}.finance-landscape-panel>header span{display:none}.landscape-stage{height:310px;margin-top:0}.landscape-stage .cashflow-stage{height:310px}.landscape-tag{min-width:0;padding:6px 8px}.landscape-tag small{font-size:7px}.landscape-tag b{font-size:10px}.landscape-tag.inflow{left:1%;top:36%}.landscape-tag.outflow{right:1%;top:38%}.landscape-tag.income{top:3%}.landscape-actions{margin-top:0;display:grid;grid-template-columns:1fr 1fr}.landscape-actions button{min-width:0;padding:10px}.finance-top-grid .profit-card{min-height:112px}.finance-top-grid .profit-card strong{font-size:22px}}.finance-tree-panel{position:relative;margin-bottom:16px;padding:18px 20px 17px;overflow:hidden;border:1px solid #ddd7c9;border-radius:18px;background:radial-gradient(circle at 50% 28%,#fff 0,#fbf9f3 48%,#f5f0e5 100%);box-shadow:0 18px 40px rgba(48,67,60,.08)}.finance-tree-panel>header{position:relative;z-index:4}.finance-tree-panel h3{margin:4px 0;font:600 18px Georgia,Songti SC,serif}.finance-tree-panel header span{color:var(--muted);font-size:9px}.tree-visual{position:relative;height:390px}.finance-tree-stage{height:390px}.finance-tree-stage canvas{cursor:crosshair}.tree-root-label{position:absolute;z-index:4;left:50%;top:5%;transform:translateX(-50%);display:grid;grid-gap:3px;gap:3px;min-width:130px;padding:9px 14px;border-radius:11px;background:#174b40;box-shadow:0 10px 22px rgba(23,75,64,.2);color:#fff;text-align:center;pointer-events:none}.tree-root-label small{color:#c8ded7;font-size:8px}.tree-root-label b{font:600 14px Georgia,serif}.tree-node-labels{position:absolute;z-index:4;left:2%;right:2%;bottom:5%;display:grid;grid-template-columns:repeat(4,1fr);grid-gap:12px;gap:12px;pointer-events:none}.tree-node-labels span{display:grid;grid-gap:3px;gap:3px;justify-items:center;padding:8px;border:1px solid #ddd7c9;border-radius:9px;background:rgba(255,255,252,.88);box-shadow:0 7px 16px rgba(42,67,59,.07)}.tree-node-labels small{font-size:8px;color:var(--muted)}.tree-node-labels b{font:600 12px Georgia,serif;color:#174b40}.static-finance-tree{height:100%;display:grid;place-items:center}.static-finance-tree svg{width:100%;height:100%}.static-finance-tree text{fill:#174b40;font-size:11px;font-weight:700}.finance-tree-panel .landscape-actions{margin-top:-8px}@media (max-width:700px){.finance-tree-panel{padding:15px 12px}.finance-tree-panel header span{display:none}.finance-tree-stage,.tree-visual{height:310px}.tree-root-label{top:2%;min-width:105px;padding:6px 9px}.tree-node-labels{left:0;right:0;bottom:1%;gap:4px}.tree-node-labels span{padding:5px 2px}.tree-node-labels small{font-size:6px}.tree-node-labels b{font-size:8px}.finance-tree-panel .landscape-actions{margin-top:4px}}.finance-bars-panel{position:relative;margin-bottom:16px;padding:18px 20px 17px;overflow:hidden;border:1px solid #ddd7c9;border-radius:18px;background:radial-gradient(circle at 55% 30%,#fff 0,#fbf9f3 48%,#f5f0e5 100%);box-shadow:0 18px 40px rgba(48,67,60,.08)}.finance-bars-panel>header{position:relative;z-index:3}.finance-bars-panel h3{margin:4px 0;font:600 18px Georgia,Songti SC,serif}.finance-bars-panel header span{color:var(--muted);font-size:9px}.finance-bars-stage{height:385px;margin-top:-18px}.finance-bars-stage canvas{cursor:-webkit-grab;cursor:grab;touch-action:none}.finance-bars-stage canvas.dragging{cursor:-webkit-grabbing;cursor:grabbing}.bar-node-labels{display:grid;grid-template-columns:repeat(4,1fr);grid-gap:10px;gap:10px;margin-top:-25px;margin-bottom:14px}.bar-node-labels span{display:grid;grid-template-columns:8px 1fr;grid-gap:3px 7px;gap:3px 7px;align-items:center;padding:8px 10px;border:1px solid #ddd7c9;border-radius:9px;background:rgba(255,255,252,.9)}.bar-node-labels i{grid-row:1/3;width:7px;height:25px;border-radius:4px}.bar-node-labels small{font-size:8px;color:var(--muted)}.bar-node-labels b{font:600 12px Georgia,serif;color:#174b40}.static-3d-bars{display:grid;grid-template-columns:repeat(4,1fr);align-items:end;grid-gap:20px;gap:20px;height:350px;padding:40px 8% 18px}.static-3d-bars>div{display:flex;flex-direction:column;align-items:center;gap:5px}.static-3d-bars i{width:56px;border-radius:6px 6px 2px 2px;box-shadow:8px 8px 0 rgba(23,75,64,.1)}.static-3d-bars b{font-size:8px}.static-3d-bars small{font-size:8px;color:var(--muted)}.finance-bars-panel .landscape-actions{margin-top:0}@media (max-width:700px){.finance-bars-panel{padding:15px 12px}.finance-bars-panel header span{display:none}.finance-bars-stage{height:310px;margin-top:0}.bar-node-labels{gap:4px;margin-top:-16px}.bar-node-labels span{grid-template-columns:5px 1fr;padding:5px 3px;gap:2px 4px}.bar-node-labels i{width:5px;height:19px}.bar-node-labels small{font-size:6px}.bar-node-labels b{font-size:8px}.static-3d-bars{height:285px;gap:8px;padding-inline:2%}.static-3d-bars i{width:34px}}.login-page{min-height:100dvh;display:grid;place-items:center;padding:20px;background:radial-gradient(circle at 70% 15%,rgba(92,151,133,.2),transparent 34%),linear-gradient(145deg,#102e2a,#204d46 62%,#173a35)}.login-card{width:min(420px,100%);padding:28px;border:1px solid rgba(255,255,255,.4);border-radius:22px;background:rgba(255,255,252,.97);box-shadow:0 28px 80px rgba(0,0,0,.28)}.login-brand,.login-copy{display:flex;align-items:center;gap:12px}.login-brand>span{display:grid;place-items:center;width:46px;height:46px;border-radius:13px;background:var(--teal-dark);color:#fff}.login-brand p{margin:0;color:var(--teal);font-size:9px;font-weight:800;letter-spacing:.18em}.login-brand h1{margin:3px 0 0;font:600 24px Georgia,Songti SC,serif}.login-copy{margin:27px 0 18px;padding:13px;border-radius:11px;background:#eef6f3;color:var(--teal)}.login-copy h2,.login-copy p{margin:0}.login-copy h2{font-size:14px}.login-copy p{margin-top:4px;color:var(--muted);font-size:9px}.login-card form{display:grid;grid-gap:13px;gap:13px}.login-card label{display:grid;grid-gap:6px;gap:6px}.login-card label span{color:var(--muted);font-size:10px}.login-card input{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:9px;background:#fff;outline:none;font-size:16px}.login-card input:focus{border-color:var(--teal);box-shadow:0 0 0 3px rgba(31,106,100,.1)}.login-card button{min-height:44px;margin-top:3px}.login-error{margin:0;padding:9px 11px;border-radius:8px;background:#fff0ed;color:var(--rose);font-size:10px}@media (max-width:700px){body,html{overflow-x:hidden}.content{padding:15px 10px calc(36px + env(safe-area-inset-bottom))}.topbar{position:-webkit-sticky;position:sticky;top:0;z-index:20;padding-left:max(12px,env(safe-area-inset-left));padding-right:max(12px,env(safe-area-inset-right));background:rgba(246,243,235,.94);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px)}.attention-grid,.formal-detail-grid,.formal-session-list,.income-grid,.profile-summary.four,.profit-grid,.session-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important;gap:8px}.attention-grid button,.income-card,.overview-card,.profit-card,.session-card{min-width:0;padding:12px}.income-card>strong,.profit-card strong{font-size:19px}.income-card>span,.overview-card span,.profit-card span{font-size:9px}.profit-rate{align-items:flex-start;gap:4px;flex-direction:column}.week-card-grid{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:8px;gap:8px}.day-card,.day-card:nth-child(n+5){grid-column:auto!important;margin:0!important}.week-card-grid .day-card:last-child{grid-column:1/-1!important}.day-card>header{padding:10px}.day-course-list{min-height:92px;padding:7px;gap:6px}.day-course{grid-template-columns:1fr!important;padding:8px;gap:5px}.course-time{display:grid;grid-template-columns:auto 1fr;grid-gap:6px;gap:6px;padding:0 0 5px;border-right:0;border-bottom:1px solid #e4ebe8}.course-time span{margin:0;align-self:center}.course-state{grid-column:auto!important}.course-money{text-align:left}.formal-detail-grid>div{padding:9px}.formal-session-list>div{padding:8px 31px 8px 8px}.profile-summary>div{min-height:64px;padding:9px;gap:7px}.profile-summary>div svg{width:17px}.profile-summary b{font-size:11px}.real-week-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.real-week-grid>div{min-height:125px}.panel{border-radius:12px}.login-page{padding:14px}.login-card{padding:22px;border-radius:18px}}@media (max-width:370px){.attention-grid button,.income-card,.overview-card,.profit-card{padding:10px}.income-card>strong,.profit-card strong{font-size:17px}.day-card>header b{font-size:11px}}.logout-button{display:flex;align-items:center;gap:5px;height:38px;padding:0 10px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--muted)}.logout-button:hover{border-color:#c9a49e;color:var(--rose)}@media (max-width:800px){.logout-button{width:38px;padding:0;justify-content:center}.logout-button span{display:none}}.month-switcher{display:flex;align-items:center;justify-content:space-between;gap:16px;margin:-4px 0 16px;padding:12px 14px;border:1px solid #d9ded9;border-radius:13px;background:rgba(255,255,252,.82);box-shadow:0 6px 18px rgba(42,67,59,.05)}.month-switcher>div:first-child{display:flex;align-items:center;gap:9px}.month-switcher span{color:var(--muted);font-size:9px}.month-switcher strong{font:600 17px Georgia,Songti SC,serif;color:#174b40}.month-switcher em{padding:3px 7px;border-radius:99px;background:#e8f3ef;color:#236f60;font-size:8px;font-style:normal;font-weight:800}.month-switcher-controls{display:flex;align-items:center;gap:7px}.month-switcher-controls button,.month-switcher-controls input{height:36px;border:1px solid #cfdad6;border-radius:8px;background:#fff;color:#174b40}.month-switcher-controls button{min-width:36px;padding:0 10px;font-weight:900}.month-switcher-controls button:not(:disabled):hover{border-color:#174b40;background:#174b40;color:#fff}.month-switcher-controls button:disabled{cursor:not-allowed;opacity:.38}.month-switcher-controls input{padding:0 10px;font-weight:700}.month-switcher-controls .month-current-button{min-width:78px}@media (max-width:700px){.month-switcher{align-items:flex-start;flex-direction:column;padding:11px}.month-switcher-controls{width:100%;display:grid;grid-template-columns:36px minmax(0,1fr) 36px auto}.month-switcher-controls input{width:100%;min-width:0}.month-switcher-controls button{padding:0 7px}.month-switcher-controls .month-current-button{min-width:68px;font-size:9px}}.finance-history-more{margin-top:10px;border-top:1px solid var(--line)}.finance-history-more>summary{padding:13px 4px;color:#236f60;font-size:10px;font-weight:900;cursor:pointer}.finance-history-more[open]>summary{margin-bottom:3px}@media (max-width:800px){main{padding-top:calc(72px + env(safe-area-inset-top))}.topbar{position:fixed;inset:0 0 auto 0;width:100%;height:calc(72px + env(safe-area-inset-top));padding-top:env(safe-area-inset-top);z-index:20}.sidebar{z-index:30}.nav-backdrop{z-index:25}}@media (max-width:700px){.table-wrap:has(th.select-cell){overflow:visible}.table-wrap:has(th.select-cell) table,.table-wrap:has(th.select-cell) tbody{display:block;width:100%}.table-wrap:has(th.select-cell) thead{display:none}.table-wrap:has(th.select-cell) tbody{display:grid;grid-gap:10px;gap:10px}.table-wrap:has(th.select-cell) tr{position:relative;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:0 12px;gap:0 12px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 5px 16px rgba(35,65,58,.05)}.table-wrap:has(th.select-cell) td{display:block;min-width:0;padding:6px 2px;border:0}.table-wrap:has(th.select-cell) td:first-child{position:absolute;top:11px;right:10px;padding:0}.table-wrap:has(th.select-cell) td:nth-child(2){grid-column:1/-1;padding-right:30px;border-bottom:1px solid #ece9e1}.table-wrap:has(th.select-cell) td:nth-child(n+3):nth-child(-n+6){font-size:10px}.table-wrap:has(th.select-cell) td:nth-child(n+3):nth-child(-n+6):before{display:block;margin-bottom:3px;color:var(--muted);font-size:7px}.table-wrap:has(th.select-cell) td:nth-child(3):before{content:"科目 / 年级"}.table-wrap:has(th.select-cell) td:nth-child(4):before{content:"当前课程"}.table-wrap:has(th.select-cell) td:nth-child(5):before{content:"欠费 / 待发"}.table-wrap:has(th.select-cell) td:nth-child(6):before{content:"结算 / 已付"}.table-wrap:has(th.select-cell) td:last-child{grid-column:1/-1;padding-top:9px;border-top:1px solid #ece9e1}.table-wrap:has(th.select-cell) .row-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:6px;gap:6px}.table-wrap:has(th.select-cell) .row-actions button{min-width:0;justify-content:center;white-space:nowrap;padding:7px 3px;font-size:8px}.table-wrap:has(th.select-cell) .amount-detail-button{display:inline-flex!important;width:auto!important;align-items:center;gap:5px}.table-wrap:has(th.select-cell) .amount-detail-button small{margin:0}}@media (max-width:700px){.candidate-table-wrap{overflow:visible}.candidate-table-wrap table,.candidate-table-wrap tbody{display:block;width:100%}.candidate-table-wrap thead{display:none}.candidate-table-wrap tbody{display:grid;grid-gap:10px;gap:10px}.candidate-table-wrap tr{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));grid-gap:0 12px;gap:0 12px;padding:12px;border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 5px 16px rgba(35,65,58,.05)}.candidate-table-wrap td{display:block;min-width:0;padding:6px 2px;border:0;font-size:10px}.candidate-table-wrap td:first-child{grid-column:1/-1;padding-bottom:9px;border-bottom:1px solid #ece9e1}.candidate-table-wrap td:nth-child(n+2):nth-child(-n+5):before{display:block;margin-bottom:3px;color:var(--muted);font-size:7px}.candidate-table-wrap td:nth-child(2):before{content:"老师 / 学生"}.candidate-table-wrap td:nth-child(3):before{content:"收费 / 要求"}.candidate-table-wrap td:nth-child(4):before{content:"排课"}.candidate-table-wrap td:nth-child(5):before{content:"资料状态"}.candidate-table-wrap td:last-child{grid-column:1/-1;padding-top:9px;border-top:1px solid #ece9e1}.candidate-table-wrap .row-actions{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));grid-gap:6px;gap:6px}.candidate-table-wrap .row-actions button{min-width:0;justify-content:center;white-space:nowrap;padding:8px 3px;font-size:8px}.candidate-table-wrap .row-actions button[title]{font-size:0}.candidate-table-wrap .row-actions button[title] svg{width:15px;height:15px}}.student-payment-field{position:relative;display:flex;min-width:0;flex-direction:column;gap:5px}.student-payment-field>span{color:var(--muted);font-size:9px}.student-picker-trigger{display:grid;width:100%;min-height:42px;grid-template-columns:minmax(0,1fr) auto auto;grid-gap:8px;gap:8px;align-items:center;padding:9px 11px;border:1px solid var(--line);border-radius:9px;background:#fff;color:var(--ink);text-align:left}.student-picker-trigger>span{overflow:hidden;font-size:11px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.student-picker-trigger small{color:var(--muted);font-size:9px;white-space:nowrap}.student-picker-trigger svg{transform:rotate(90deg)}.student-picker-popover{position:absolute;z-index:120;top:calc(100% + 7px);left:0;width:min(390px,calc(100vw - 32px));padding:10px;border:1px solid rgba(28,83,70,.2);border-radius:14px;background:#fffdf8;box-shadow:0 18px 48px rgba(18,50,43,.24)}.student-picker-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:8px}.student-picker-head strong{font-size:11px}.student-picker-head button{display:grid;width:30px;height:30px;place-items:center;border:1px solid var(--line);border-radius:50%;background:#fff}.student-picker-popover>input{width:100%;margin-bottom:8px}.student-picker-options{display:grid;max-height:min(280px,45vh);grid-gap:4px;gap:4px;overflow-y:auto;overscroll-behavior:contain}.student-picker-options>button{display:grid;min-height:42px;grid-template-columns:minmax(0,1fr) auto 18px;grid-gap:8px;gap:8px;align-items:center;padding:9px 10px;border:1px solid transparent;border-radius:9px;background:transparent;color:var(--ink);text-align:left}.student-picker-options>button.selected,.student-picker-options>button:hover{border-color:rgba(28,83,70,.18);background:rgba(28,83,70,.08)}.student-picker-options span{overflow:hidden;font-size:10px;font-weight:700;text-overflow:ellipsis;white-space:nowrap}.student-picker-options small{color:var(--muted);font-size:9px;white-space:nowrap}.student-picker-options p{margin:0;padding:18px 8px;color:var(--muted);font-size:10px;text-align:center}@media (max-width:720px){.student-picker-popover{position:fixed;top:50%;right:16px;left:16px;width:auto;max-height:62vh;transform:translateY(-50%)}.student-picker-options{max-height:42vh}}.quick-student-inline{grid-column:1/-1;display:grid;grid-template-columns:minmax(150px,1fr) minmax(120px,1fr) 100px auto;grid-gap:8px;gap:8px;align-items:center;margin-top:8px;padding-top:9px;border-top:1px solid var(--line)}.quick-student-inline>div b,.quick-student-inline>div small{display:block}.quick-student-inline>div b{font-size:9px}.quick-student-inline>div small{margin-top:2px;color:var(--muted);font-size:8px}.quick-student-inline input{width:100%!important}.quick-student-inline button{display:inline-flex;align-items:center;justify-content:center;gap:5px;min-height:36px;white-space:nowrap}.candidate-save-note{margin-top:14px;padding:9px 11px;border-radius:9px;background:rgba(28,83,70,.07);color:var(--muted);font-size:9px;line-height:1.55}@media (max-width:700px){.quick-student-inline{grid-template-columns:1fr 1fr}.quick-student-inline button,.quick-student-inline>div{grid-column:1/-1}.modal-actions{flex-wrap:wrap}.modal-actions button{flex:1 1 120px}}