:root{font-family:Inter,Microsoft YaHei,PingFang SC,system-ui,sans-serif;color:#1c2a28;background:#f4f6f8;font-synthesis:none;font-weight:400;font-size:14px;--green:#176653;--green-dark:#105441;--mint:#eaf3ef;--line:#e6ebea;--muted:#798681;--amber:#b17a22;--sidebar:230px}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button,a{touch-action:manipulation}button{cursor:pointer}button:disabled{cursor:not-allowed;opacity:.5}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid #a6d4c0;outline-offset:2px}input,select,textarea{border:1px solid #dce3df;border-radius:7px;background:#fff;padding:10px 12px;min-height:40px;color:#263b32;max-width:100%}input[type=checkbox]{min-height:0;width:16px;height:16px;accent-color:var(--green);padding:0;cursor:pointer}textarea{min-height:86px;resize:vertical}select{padding-right:28px}h1,h2,h3,p{margin:0}h1{font-size:28px;letter-spacing:-.6px;font-weight:650;line-height:1.5}h2{font-size:17px;font-weight:650}h3{font-size:15px;margin:24px 0 14px}small{font-size:12px}p{line-height:1.7}hr{border:0;border-top:1px solid var(--line);margin:24px 0}.app-shell{display:flex;min-height:100vh}.sidebar{width:var(--sidebar);position:fixed;top:0;bottom:0;background:#fff;border-right:1px solid var(--line);display:flex;flex-direction:column;z-index:30;padding:30px 18px 18px}.brand{display:flex;align-items:center;gap:12px;margin:0 10px 42px;cursor:pointer}.brand-mark{width:44px;height:44px;background:var(--green);color:#fff;display:grid;place-items:center;border-radius:12px;font-family:SimSun,serif;font-size:27px}.brand strong{display:block;font-size:21px;letter-spacing:2px}.brand span{display:block;color:var(--muted);font-size:12px;letter-spacing:1px;margin-top:3px}.nav-label{font-size:11px;letter-spacing:2px;color:#9aa59f;margin:0 14px 13px}.sidebar nav{display:flex;flex-direction:column;gap:6px}.sidebar nav button{display:flex;gap:12px;align-items:center;position:relative;border:0;background:transparent;color:#6c7973;padding:13px 15px;border-radius:8px;text-align:left;font-size:14px}.sidebar nav button.active{background:var(--mint);color:var(--green);font-weight:600}.sidebar nav button.active:before{content:"";position:absolute;width:3px;height:22px;background:var(--green);left:-18px;border-radius:0 4px 4px 0}.sidebar nav button:hover{background:#f2f6f4}.sidebar nav button.nav-section{margin-top:22px}.nav-count{font-size:11px;margin-left:auto;background:#e2aa56;color:#fff;min-width:20px;height:20px;display:grid;place-items:center;border-radius:6px}.sidebar-bottom{margin-top:auto;display:flex;align-items:center;gap:9px;border-top:1px solid var(--line);padding:20px 5px 2px;color:var(--muted)}.sidebar-bottom strong{font-size:12px;font-weight:500;display:block}.sidebar-bottom small{font-size:10px;display:block;margin-top:5px}.sidebar-bottom>svg{margin-left:auto}.local-dot{display:inline-block;width:7px;height:7px;background:#4c977b;border-radius:50%;margin-right:4px;flex-shrink:0}.workspace{margin-left:var(--sidebar);width:calc(100% - var(--sidebar));min-width:0}.topbar{height:76px;border-bottom:1px solid var(--line);background:#fff;display:flex;justify-content:space-between;align-items:center;padding:0 36px;gap:20px}.top-title{display:flex;gap:13px;align-items:center;color:#65736d;font-size:13px}.top-separator{color:#c3cec8}.top-right{display:flex;align-items:center;gap:13px}.month-picker{position:relative;display:flex;align-items:center;gap:12px;font-size:12px;color:var(--muted);margin-right:20px}.month-picker select{-webkit-appearance:none;-moz-appearance:none;appearance:none;padding:8px 30px 8px 12px;min-height:35px;font-size:13px;background:#fafcfb;border-color:#e4eae7;color:#45574e}.month-picker>svg{position:absolute;right:10px;pointer-events:none}.avatar{border-radius:50%;width:34px;height:34px;display:grid;place-items:center;background:#e9ede8;color:#557764;font-size:15px;font-weight:600}.user-label strong{font-size:13px;font-weight:550}.user-label small{display:block;font-size:11px;color:#99a39d;margin-top:3px}.mobile-menu{display:none!important}main{padding:32px 36px 22px;max-width:1800px;margin:0 auto}.page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:27px}.eyebrow{font-size:11px;letter-spacing:1.5px;color:#9aa6a0;margin-bottom:6px}.page-heading p{color:var(--muted);font-size:13px;margin-top:6px}.actions{display:flex;align-items:center;gap:9px;flex-wrap:wrap}.btn{display:inline-flex;justify-content:center;align-items:center;gap:7px;vertical-align:middle;background:#fff;color:#52685c;border:1px solid #dce5df;padding:9px 13px;min-height:37px;border-radius:7px;white-space:nowrap;line-height:1.4;font-size:13px;font-weight:500;text-decoration:none}.btn:hover{background:#f2f7f4;border-color:#b8d2c3}.btn.primary{background:var(--green);border-color:var(--green);color:#fff}.btn.primary:hover{background:var(--green-dark)}.btn.danger{background:#fff3f0;border-color:#ecc7bb;color:#a63f2b}.icon-btn{display:inline-flex;align-items:center;justify-content:center;background:none;border:0;color:#7b8b81;border-radius:5px;padding:7px;vertical-align:middle}.icon-btn:hover{background:#f1f5f3}.text-btn{padding:0;border:0;background:none;color:var(--green);display:inline-flex;gap:6px;align-items:center;font-size:13px;line-height:1.6}.text-btn:hover{text-decoration:underline}.number-link{background:none;border:0;color:var(--green);font-weight:650;font-size:16px}.card{background:#fff;border:1px solid var(--line);border-radius:12px;padding:22px 24px;margin-bottom:22px;min-width:0}.card-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:22px}.card-heading h2{font-size:16px}.tag{display:inline-flex;align-items:center;gap:4px;padding:4px 8px;font-size:11px;border-radius:5px;background:#f1f3f4;color:#7a8881;line-height:1.45;white-space:nowrap;font-weight:500}.tag.green{background:#eaf4ee;color:#388068}.tag.amber{background:#fcf4e6;color:#b17d2b}.tag.red{background:#ffede8;color:#bd5d47}.green-text{color:var(--green)!important}.amber-text{color:var(--amber)!important}.muted{color:var(--muted)}.small{font-size:12px}.full-width{width:100%}.right{text-align:right!important}.loading{display:flex;align-items:center;gap:10px;color:var(--muted);padding:12px 0}.spin{animation:spin 1s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.stats-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:18px;margin-bottom:24px}.stat-card{background:#fff;border:1px solid var(--line);border-radius:10px;padding:21px 22px;text-align:left;transition:border-color .2s,transform .2s}.stat-card:hover{border-color:#a9c6b7;transform:translateY(-2px)}.stat-label{display:flex;justify-content:space-between;align-items:center;color:#718078;font-size:13px}.stat-label svg{color:#90a396}.stat-value{display:flex;align-items:baseline;margin:13px 0 12px;font-size:36px;line-height:1.2;letter-spacing:-1px;font-weight:620;color:#243c30;font-variant-numeric:tabular-nums}.stat-value small{font-size:12px;font-weight:400;margin-left:8px;color:#9aaa9f;letter-spacing:0}.stat-value svg{margin-left:auto;color:#a8b9ae}.stat-note{font-size:11px;color:#9aa89e}.dashboard-columns{display:grid;grid-template-columns:minmax(0,1.85fr) minmax(290px,1fr);gap:22px}.meal-panel{padding:26px 26px 0;background:linear-gradient(130deg,#f5faf7,#fff 80%);border-color:#dae8df;overflow:hidden}.meal-panel-top{display:flex;justify-content:space-between;align-items:center;gap:10px}.meal-panel-top h2{font-size:23px;margin-top:13px;letter-spacing:-.3px}.meal-panel-top p{color:#8a9d90;font-size:12px;margin-top:6px}.meal-panel-top input{background:#ffffffb3;font-size:12px;color:#6a8270;border-color:#dbe7dc;min-width:128px}.meal-counts{display:grid;grid-template-columns:repeat(3,1fr);margin:24px 0 23px}.meal-counts button{background:none;border:0;border-right:1px solid #e5eee8;display:flex;flex-direction:column;align-items:flex-start;padding:0 18px 0 25px;text-align:left}.meal-counts button:first-child{padding-left:0}.meal-counts button:last-child{border-right:0}.meal-icon{width:36px;height:36px;border-radius:9px;display:grid;place-items:center;margin-bottom:11px}.meal-icon.breakfast{background:#fbf0d9;color:#b99342}.meal-icon.lunch{background:#e5f1e9;color:#548167}.meal-icon.dinner{background:#eaedf4;color:#7c86a3}.meal-counts button>span{font-size:12px;color:#7d9181}.meal-counts strong{font-size:42px;letter-spacing:-1.5px;font-weight:600;line-height:1.5;color:#224c36;font-variant-numeric:tabular-nums}.meal-counts small{font-size:12px;color:#8ba08f;margin-left:8px;letter-spacing:0;font-weight:400}.meal-counts p{font-size:11px;color:#a1aea3}.meal-panel-foot{border-top:1px solid #e0e9e2;display:flex;align-items:center;justify-content:space-between;margin:0 -26px;padding:13px 23px;background:#edf5ef}.meal-panel-foot>span{font-size:11px;color:#73947e}.meal-panel-foot .btn{background:none;border:0;font-size:12px;color:#538363;padding:4px}.finance-total{padding-bottom:18px;border-bottom:1px solid var(--line)}.finance-total span{display:block;font-size:12px;color:#859389}.finance-total strong{font-size:29px;color:#294b36;letter-spacing:-.5px;font-weight:600;display:block;margin:10px 0 7px}.finance-total small{font-size:11px;color:#a0aca3}.finance-row{display:flex;justify-content:space-between;align-items:center;font-size:12px;margin:18px 0 7px;color:#839187;gap:10px}.finance-row strong{color:#527b5d;font-size:16px;font-weight:550}.finance-row b{color:#61766a;font-size:14px;font-weight:500}.finance-row+.small{font-size:10px}.finance-row+.btn{margin-top:10px}.notice{padding:14px 16px;display:flex;align-items:flex-start;gap:10px;border:1px solid #e5eadd;border-radius:8px;background:#f4f7ee;color:#7c895a;font-size:12px;line-height:1.8;margin-bottom:22px}.notice>svg{flex-shrink:0;margin-top:2px}.notice>div{flex:1;min-width:0}.notice.warning{background:#fff8eb;border-color:#f1e1c3;color:#a0803c}.notice-action{display:flex;align-items:center;justify-content:space-between;gap:12px}.notice .btn{padding:4px 8px;background:transparent;border:0;color:inherit;font-size:11px;min-height:25px}.report-feed>div{display:flex;gap:13px;align-items:center;border-bottom:1px solid var(--line);padding:14px 0}.report-feed>div:first-child{padding-top:0}.report-feed>div:last-child{border:0}.report-feed strong{font-size:13px;font-weight:500}.report-feed p{font-size:11px;color:#93a095;margin-top:4px}.report-feed .tag{margin-left:auto}.feed-dot{width:7px;height:7px;background:#b5cdbd;border-radius:50%;flex-shrink:0}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:165px;color:#afbbb2;gap:13px;text-align:center;padding:25px}.empty p{font-size:13px;color:#8e9e92}.quick-actions{display:flex;flex-direction:column;gap:5px}.quick-actions button{display:flex;align-items:center;gap:14px;background:transparent;border:0;text-align:left;padding:14px 0;color:#739481;border-bottom:1px solid var(--line)}.quick-actions button:last-child{border-bottom:0}.quick-actions strong{display:block;font-size:13px;font-weight:500;color:#556f5f}.quick-actions span{font-size:11px;color:#9dac9f;display:block;margin-top:5px}.quick-actions svg:last-child{margin-left:auto;color:#b3c2b6}.app-footer{font-size:10px;color:#a8b4ac;border-top:1px solid #e8eeea;margin:0 36px;padding:16px 0 20px;display:flex;justify-content:space-between}.toolbar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:20px}.toolbar .search{min-width:190px;flex:1;max-width:330px}.toolbar input,.toolbar select{font-size:13px}.toolbar.slim{margin:12px 0}.toolbar.vertical{flex-direction:column;align-items:stretch}.toolbar.vertical .search{max-width:none;min-width:0}.search{display:flex;align-items:center;gap:8px;border:1px solid #e1e7e2;border-radius:7px;padding:0 11px;background:#fff;color:#95a59a}.search input{padding:9px 0;min-height:38px;border:0;border-radius:0;background:transparent;outline:0;width:100%}.count-label{font-size:12px;color:#8a9b8f;margin-left:auto}.inline-label{display:flex;align-items:center;gap:8px;font-size:12px;color:#89958e}.table-wrap{overflow:auto;width:100%}table{width:100%;border-collapse:collapse;font-size:13px;text-align:left}th{padding:12px 14px;background:#f6f8f7;font-size:12px;color:#8a9c90;font-weight:500;white-space:nowrap;border-bottom:1px solid #eaf0eb}td{padding:15px 14px;border-bottom:1px solid #edf1ee;color:#627669;line-height:1.6}td strong{font-weight:550;color:#385141}tbody tr:last-child td{border-bottom:0}tbody tr:hover{background:#fcfdfc}td .btn{font-size:11px;padding:5px 8px;min-height:30px;margin:2px}td .tag{font-size:10px}.cell-sub{display:block;font-size:11px;color:#9caaa0;margin-top:3px;max-width:220px;white-space:normal}.meal-tags{display:flex;gap:4px}.meal-tags span{font-size:10px;background:#f3f7f4;padding:4px 5px;border-radius:4px;color:#86a08d}.total-row td{background:#f0f6f2;color:#416e50;font-weight:650;border-top:1px solid #dfe9e1;font-size:15px}.summary-strip{display:grid;grid-template-columns:repeat(4,1fr);background:#fff;border:1px solid var(--line);border-radius:10px;margin-bottom:24px;padding:22px 0}.summary-strip>div{padding:0 25px;border-right:1px solid var(--line)}.summary-strip>div:last-child{border:0}.summary-strip span{font-size:12px;color:#8d9d91;display:block;margin-bottom:10px}.summary-strip strong{font-size:25px;font-weight:600;color:#395d44;letter-spacing:-.5px;white-space:nowrap}.summary-strip small{font-size:12px;margin-left:8px;font-weight:400;letter-spacing:0}.summary-strip b{font-size:14px;font-weight:550;color:#66806e}.summary-strip .tag{display:inline-flex;margin-top:4px;margin-bottom:0}.summary-strip.six{grid-template-columns:repeat(6,1fr)}.summary-strip.six>div{padding:0 16px}.summary-strip.six strong{font-size:19px}.summary-strip.compact{margin:0 0 22px}.summary-strip.compact strong{font-size:18px}.tabs{display:flex;align-items:center;gap:26px;border-bottom:1px solid var(--line);margin:-4px 0 22px}.tabs>button{padding:10px 1px 15px;border:0;background:none;font-size:14px;color:#97a398;border-bottom:2px solid transparent}.tabs>button.active{color:var(--green);border-color:var(--green);font-weight:600}.tabs>button b{margin-left:8px;background:#f8eddb;color:#b08a45;border-radius:5px;font-size:11px;padding:3px 5px}.tabs.standalone{margin:0 0 22px;gap:32px}.tab-action{margin-left:auto;margin-bottom:10px}.approval-tabs{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 22px}.approval-tabs>button{display:grid;grid-template-columns:1fr auto;grid-template-rows:auto auto;gap:3px 8px;text-align:left;padding:14px 16px;border:1px solid #e3ebe5;border-radius:9px;background:#fbfdfb;color:#789080}.approval-tabs>button:hover{border-color:#a7c9b0;background:#f6fbf7}.approval-tabs>button.active{border-color:#5a9870;background:#edf7f0;color:#2f7049;box-shadow:inset 0 -2px #5a9870}.approval-tabs strong{font-size:13px;font-weight:600}.approval-tabs b{grid-row:1 / span 2;align-self:center;font-size:24px;color:#315f43;font-weight:650}.approval-tabs small{font-size:11px;color:#96a69b}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#142c2457;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);z-index:100;display:flex;align-items:center;justify-content:center;padding:24px}.modal{width:600px;max-width:100%;max-height:92vh;display:flex;flex-direction:column;background:#fff;border-radius:14px;box-shadow:0 25px 90px #17302638;overflow:hidden}.modal.wide{width:900px}.modal>header{padding:21px 26px;display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--line);flex-shrink:0}.modal>header h2{font-size:18px}.modal-body{padding:24px 26px;overflow:auto}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:17px 20px;margin-bottom:20px}.form-grid.three{grid-template-columns:repeat(3,1fr)}.field{display:flex;flex-direction:column;gap:8px;margin-bottom:18px;min-width:0}.form-grid .field{margin:0}.field>span{font-size:12px;color:#7f9586}.field.full{grid-column:1/-1}.field input,.field select,.field textarea{width:100%;font-size:14px}.checks{display:flex;gap:20px;padding:10px 0}.checks label,.checkbox-line{display:flex;align-items:center;gap:8px;font-size:13px;color:#6f8677}.checkbox-line{margin:10px 0;line-height:1.8}.checkbox-line input{flex-shrink:0}.form-actions{display:flex;justify-content:flex-end;align-items:center;gap:10px;border-top:1px solid var(--line);padding-top:20px;margin-top:23px}.picker-heading{display:flex;justify-content:space-between;align-items:center;margin-top:20px}.picker-heading strong{font-size:13px;font-weight:550}.student-picker{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;max-height:230px;overflow:auto;border:1px solid var(--line);border-radius:8px;padding:12px}.student-picker>label{display:flex;align-items:center;gap:8px;border:1px solid #e9eeea;border-radius:7px;padding:10px;font-size:12px;cursor:pointer}.student-picker>label.selected{background:#edf6f0;border-color:#bcd6c5}.student-picker small{display:block;font-size:10px;color:#91a397;margin-top:3px}.timeline>div{padding:0 0 23px 20px;border-left:2px solid #dcebe0;position:relative;margin-left:5px}.timeline>div:before{content:"";width:8px;height:8px;border-radius:50%;background:#5a9171;position:absolute;left:-5px;top:5px}.timeline strong{font-size:14px;font-weight:550}.timeline p{font-size:13px;color:#87988b;margin-top:7px}.timeline small{color:#a9b6ac;display:block;margin-top:8px}.receipt-images{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin-top:20px}.receipt-images a{border:1px solid var(--line);border-radius:8px;padding:10px}.receipt-images img{display:block;width:100%;height:440px;object-fit:contain;background:#f6f8f6}.receipt-images span{display:block;text-align:center;font-size:12px;color:#8a9b8e;margin:12px 0 4px}.toast{position:fixed;bottom:24px;left:calc(50% + 80px);transform:translate(-50%);z-index:200;display:flex;align-items:center;gap:12px;background:#214f3a;color:#fff;border:1px solid #598568;border-radius:10px;padding:14px 18px;max-width:760px;box-shadow:0 12px 35px #16312630;font-size:13px}.toast.error{background:#974d36;border-color:#ba6e53}.toast .icon-btn{color:#fff}.toast>svg{flex-shrink:0}.calendar-week{display:grid;grid-template-columns:repeat(7,1fr);gap:1px;margin-bottom:14px;text-align:center}.calendar-week b{font-size:12px;font-weight:500;color:#90a094}.calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:1px;background:#e6eee8;border:1px solid #e6eee8;border-radius:7px;overflow:hidden}.calendar-empty{background:#fafcfb}.calendar-day{background:#fff;border:0;text-align:left;min-height:120px;padding:13px 12px;display:flex;flex-direction:column;gap:12px;overflow:hidden}.calendar-day:hover{background:#f3f8f4}.calendar-day.closed{background:#f8faf9}.calendar-day>div:first-child{display:flex;justify-content:space-between;align-items:center}.calendar-day strong{font-size:16px;font-weight:550;color:#4c6e55}.calendar-day>div>span{font-size:10px;color:#9caca0}.calendar-meals{display:flex;gap:4px;flex-wrap:wrap}.calendar-meals span{font-size:10px;color:#bac4bc;background:#f3f5f3;padding:3px 4px;border-radius:3px}.calendar-meals span.on{color:#6c9b77;background:#eaf4ec}.calendar-day>small{font-size:10px;color:#9eada1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}.date-navigation{display:flex;align-items:center;gap:22px;margin-bottom:22px}.date-navigation label{display:flex;align-items:center;gap:12px;color:#728e7b;font-size:13px}.date-navigation>span{font-size:12px;color:#9aa99e}.meal-total-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin-bottom:24px}.meal-total{border:1px solid #e3e8de;border-radius:10px;padding:20px 24px;background:#fff;text-align:left;display:flex;flex-direction:column}.meal-total.breakfast{background:#fffcf4;border-color:#eee6d7}.meal-total.lunch{background:#f2f8f3;border-color:#dae9de}.meal-total.dinner{background:#f6f7fb;border-color:#e2e5ee}.meal-total>span:first-child{color:#768c7d;font-size:13px}.meal-total strong{font-size:40px;font-weight:600;color:#385c44;letter-spacing:-1px;line-height:1.7}.meal-total small{font-size:13px;font-weight:400;margin-left:10px;letter-spacing:0}.meal-total>span:last-child{font-size:11px;color:#9fac9e}.version-list{display:flex;align-items:center;flex-wrap:wrap;gap:13px;color:#90a296;font-size:12px;padding:10px 0}.version-list .btn{font-size:12px}.reconcile-layout{display:grid;grid-template-columns:230px minmax(0,1fr);gap:20px;align-items:start}.student-list-panel{padding:18px 10px 0;overflow:hidden}.student-list-panel .toolbar{padding:0 8px;gap:10px}.reconcile-students{max-height:75vh;overflow:auto}.reconcile-students>button{border:0;border-top:1px solid #f0f4f0;background:none;width:100%;display:flex;align-items:center;justify-content:space-between;padding:14px 16px;gap:8px;text-align:left;color:#698571}.reconcile-students>button.active{background:#ecf5ef;color:#245d38}.reconcile-students strong{font-size:13px;font-weight:550}.reconcile-students small{display:block;font-size:11px;color:#9caf9f;margin-top:4px}.reconcile-students b{border-radius:5px;color:#b18f4c;font-size:11px;background:#fcf4e3;padding:3px 6px;font-weight:500}.detail-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:18px}.detail-heading h2{display:flex;align-items:center;gap:12px;font-size:21px}.detail-heading p{color:#93a596;font-size:11px;margin-top:7px}.detail-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;padding:17px;background:#f6f9f6;border-radius:8px;margin-bottom:20px}.detail-stats span{font-size:11px;display:block;color:#8a9e90;margin-bottom:7px}.detail-stats b{font-size:19px;color:#50785c;font-weight:550}.records-table{max-height:650px}.records-table th{position:sticky;top:0;z-index:1}.records-table td{padding:12px 10px;font-size:12px}.records-table .cell-sub{max-width:190px;font-size:10px}.records-table .tag{font-size:10px}.unmatched-list{max-height:220px;overflow:auto}.unmatched-list>div{display:flex;align-items:center;justify-content:space-between;padding:10px 0;border-bottom:1px solid var(--line)}.unmatched-list>div span{font-size:13px}.unmatched-list small{color:#a0b0a3}.import-steps{display:flex;align-items:center;justify-content:center;gap:15px;margin-bottom:25px;font-size:13px;color:#b6c2b8}.import-steps span.active{color:#488361;font-weight:500}.upload-zone{border:1px dashed #afc8b5;border-radius:10px;background:#f7fbf8;padding:26px;display:flex;align-items:center;flex-direction:column;gap:12px;margin-bottom:24px;color:#7b9b85}.upload-zone strong{font-size:15px;font-weight:550;color:#4d7a5b}.upload-zone span,.upload-zone input{font-size:12px}.preview-table{margin-bottom:22px;max-height:210px}.preview-table td{font-size:11px;white-space:nowrap;padding:8px 12px}.preview-table th{padding:8px;font-size:10px}.blocker-list{display:flex;flex-wrap:wrap;gap:5px 17px;padding:8px 0}.blocker-list span:before{content:"•";margin-right:7px}.backup-list>div{display:flex;align-items:center;gap:17px;padding:18px 0;border-bottom:1px solid var(--line);color:#7c9a86}.backup-list>div:last-child{border:0}.backup-list>div>div{flex:1}.backup-list strong{font-size:13px;font-weight:500;color:#597563;word-break:break-all}.backup-list small{display:block;font-size:11px;color:#a0b0a3;margin-top:6px}@media(min-width:1600px){main{padding:38px 48px}.topbar{padding:0 48px}.stat-value{font-size:40px}.meal-counts strong{font-size:48px}.card{padding:26px}.meal-panel{padding-bottom:0}.meal-counts{margin-top:26px;margin-bottom:28px}}@media(max-width:1250px){:root{--sidebar:208px}main{padding:25px 24px}.topbar{padding:0 24px}.brand{margin-left:2px;gap:9px}.brand strong{font-size:18px}.dashboard-columns{grid-template-columns:minmax(0,1.6fr) minmax(270px,1fr)}.stats-grid{gap:12px}.stat-card{padding:18px}.summary-strip.six{grid-template-columns:repeat(3,1fr);row-gap:25px}.summary-strip.six>div:nth-child(3){border:0}.calendar-day{padding:10px 7px}.calendar-meals{gap:2px}.calendar-meals span{padding:3px}.reconcile-layout{grid-template-columns:190px minmax(0,1fr)}.card{padding:20px}.meal-panel{padding-bottom:0}.meal-panel-foot{margin:0 -20px}.page-heading{align-items:flex-start}.page-heading .actions{justify-content:flex-end}.summary-strip strong{font-size:21px}.record-table td{padding:10px 8px}}@media(max-width:1020px){:root{--sidebar:185px}.sidebar{padding:26px 12px 16px}.brand strong{font-size:16px}.brand-mark{width:37px;height:37px;font-size:24px}.brand span{font-size:10px}.sidebar nav button{padding:12px;gap:10px;font-size:13px}.sidebar-bottom{gap:5px}.sidebar-bottom small{font-size:9px}.sidebar nav button.active:before{left:-12px}.top-title{font-size:11px;gap:9px}.month-picker{margin-right:0;gap:8px}.user-label{display:none}.dashboard-columns{grid-template-columns:1fr}.stats-grid{grid-template-columns:repeat(2,1fr)}.page-heading{flex-wrap:wrap}.meal-counts button{align-items:center}.meal-counts button:first-child{padding-left:18px}.meal-panel-top h2{font-size:23px}.summary-strip{grid-template-columns:repeat(2,1fr);gap:20px 0}.summary-strip>div:nth-child(2){border:0}.calendar-meals{flex-direction:column}.calendar-meals span{font-size:10px;padding:2px}.calendar-day{min-height:145px}.calendar-day>div:first-child{flex-direction:column;align-items:flex-start;gap:5px}.reconcile-layout{grid-template-columns:1fr}.reconcile-students{max-height:210px;display:grid;grid-template-columns:repeat(3,1fr)}.student-list-panel .toolbar{flex-direction:row;flex-wrap:wrap}.records-table{max-height:650px}.student-picker{grid-template-columns:repeat(3,1fr)}.finance-row+.btn{margin-top:15px}.top-title .top-separator,.top-title>span:last-child{display:none}}@media(max-width:720px){:root{--sidebar:230px}.sidebar{transform:translate(-100%);transition:transform .2s;box-shadow:5px 0 20px #2b4c3320}.sidebar.open{transform:translate(0)}.workspace{margin-left:0;width:100%}.mobile-menu{display:inline-flex!important}.topbar{height:64px;padding:0 16px}.top-title{gap:8px}.top-title>span{display:none}.month-picker{font-size:11px}.month-picker select{font-size:12px;padding:8px 25px 8px 8px}.avatar{width:30px;height:30px}main{padding:22px 16px}.eyebrow{font-size:10px}h1{font-size:25px}.page-heading{margin-bottom:20px;gap:15px}.page-heading p{font-size:12px}.page-heading .actions{justify-content:flex-start}.btn{font-size:12px}.stats-grid{gap:10px;margin-bottom:17px}.stat-card{padding:16px}.stat-value{font-size:32px}.stat-note{font-size:10px}.stat-label{font-size:12px}.card{padding:18px;margin-bottom:18px}.dashboard-columns{gap:0}.meal-panel{padding-bottom:0}.meal-panel-foot{margin:0 -18px;padding:10px 15px}.meal-panel-top h2{font-size:20px}.meal-panel-top input{font-size:11px;min-width:120px;width:120px;padding:8px}.meal-counts{margin:20px 0}.meal-counts strong{font-size:34px}.meal-counts button{padding:0 12px}.meal-counts button:first-child{padding-left:8px}.meal-counts p{font-size:10px}.notice-action{align-items:flex-start}.notice{font-size:11px;line-height:1.8}.app-footer{margin:0 16px;font-size:9px}.summary-strip>div{padding:0 16px}.summary-strip strong{font-size:19px}.summary-strip.six{grid-template-columns:repeat(2,1fr)}.summary-strip.six>div:nth-child(3){border-right:1px solid var(--line)}.summary-strip.six>div:nth-child(2n){border:0}.tabs{gap:20px;overflow:auto;white-space:nowrap}.approval-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.approval-tabs>button{padding:12px}.approval-tabs b{font-size:21px}.tabs>button{font-size:13px}.tabs.standalone{gap:23px}.tab-action .btn{font-size:11px}.date-navigation{flex-wrap:wrap;gap:12px}.meal-total-grid{gap:10px}.meal-total{padding:15px 12px}.meal-total strong{font-size:33px}.meal-total small{font-size:11px;margin-left:5px}.meal-total>span:first-child{font-size:12px}.meal-total>span:last-child{font-size:10px}.calendar-day{min-height:120px;padding:7px 4px;gap:7px}.calendar-day strong{font-size:14px}.calendar-day>div>span{font-size:8px}.calendar-meals span{font-size:9px;padding:1px 2px}.calendar-day>small{display:none}.calendar-week b{font-size:10px}.form-grid,.form-grid.three{grid-template-columns:1fr}.form-grid .full{grid-column:auto}.modal-backdrop{padding:10px}.modal{max-height:96vh}.modal-body{padding:20px}.modal>header{padding:18px 20px}.modal>header h2{font-size:17px}.student-picker{grid-template-columns:repeat(2,1fr)}.receipt-images{grid-template-columns:1fr}.detail-heading{flex-wrap:wrap}.detail-heading h2{font-size:18px}.detail-stats{gap:10px;padding:14px}.detail-stats b{font-size:16px}.reconcile-students{grid-template-columns:repeat(2,1fr)}.toolbar .search{max-width:none;min-width:170px}.backup-list>div{gap:10px;flex-wrap:wrap}.backup-list>div>div{min-width:80%;flex:1}.backup-list strong{font-size:11px}.toast{left:50%;bottom:15px;max-width:calc(100% - 28px);width:calc(100% - 28px);font-size:12px}.user-label{display:none}.import-steps{font-size:11px;gap:8px}.upload-zone{padding:20px 12px}.upload-zone input{max-width:100%}}@media print{body{background:#fff}.sidebar,.topbar,.actions,.toolbar,.tabs,.btn,.text-btn,.icon-btn,.toast,.app-footer,.date-navigation button,.version-list,.page-heading .eyebrow{display:none!important}.workspace{margin:0;width:100%}main{padding:0}.card{border:0;break-inside:auto;padding:10px 0;margin-bottom:12px}.table-wrap{overflow:visible;max-height:none}.page-heading{margin-bottom:15px}h1{font-size:22px}th,td{font-size:11px;padding:8px}.summary-strip{margin-bottom:12px}.meal-total-grid{gap:12px}.notice{background:#fff}.records-table th{position:static}.reconcile-layout{display:block}.student-list-panel{display:none}.meal-total{padding:12px}.calendar-day{break-inside:avoid}.modal-backdrop{display:none}}.page-accounts .page-heading{margin-bottom:17px}.page-accounts .notice{padding:10px 13px;margin-bottom:16px;line-height:1.55}.page-accounts .card{padding:15px 18px;margin-bottom:16px}.page-accounts th{padding:10px 12px}.page-accounts td{padding:11px 12px}.page-accounts td .btn{padding:4px 7px;min-height:28px}@media(max-width:720px){.page-accounts .card{padding:8px}.page-accounts .page-heading{margin-bottom:14px}}.student-welcome{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:22px 24px;background:linear-gradient(135deg,#edf7f0,#fff);border:1px solid #dcebe0;border-radius:12px;margin-bottom:20px}.student-welcome h2{font-size:24px;color:#245b40;margin:4px 0}.student-welcome h2 small{font-size:13px;color:#789080;font-weight:400;margin-left:8px}.student-welcome p{font-size:12px;color:#82958a}.student-summary{grid-template-columns:repeat(4,1fr);margin-bottom:20px}.student-summary strong{font-size:19px}.student-notes-list>div{display:flex;align-items:center;gap:14px;padding:13px 0;border-bottom:1px solid var(--line)}.student-notes-list>div:last-child{border:0}.student-notes-list strong{color:#527461;font-size:13px;min-width:46px}.student-notes-list span{flex:1;color:#60786a;font-size:13px}.student-notes-list small{color:#a1aea4;font-size:11px}.student-record-day{display:grid;grid-template-columns:90px 1fr;gap:20px;padding:17px 0;border-bottom:1px solid var(--line)}.student-record-day:last-child{border:0}.student-record-date strong{display:block;font-size:18px;color:#3e6e52}.student-record-date small{display:block;color:#9aaa9f;margin-top:4px}.student-record-meals{display:grid;grid-template-columns:repeat(3,1fr);gap:12px}.student-record-meals>div{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.student-record-meals>div>span{font-size:13px;color:#637c6b}.student-record-meals small{font-size:11px;color:#9aaa9f;width:100%}.student-bill-card{padding:22px 24px}.student-bill-head{display:flex;justify-content:space-between;gap:16px}.student-bill-head h2{font-size:19px;color:#315f45;margin:5px 0}.student-bill-head p{font-size:12px;color:#8c9d91}.student-bill-numbers{display:grid;grid-template-columns:repeat(4,1fr);gap:15px;border-top:1px solid var(--line);border-bottom:1px solid var(--line);padding:18px 0;margin:18px 0}.student-bill-numbers span{display:block;font-size:11px;color:#8b9a90;margin-bottom:6px}.student-bill-numbers strong{font-size:20px;color:#466c51}.student-bill-foot{display:flex;align-items:center;justify-content:space-between;gap:10px}.student-bill-foot small{color:#9aa89f;font-size:11px}.bill-detail>p{color:#60786a;font-size:13px;margin-bottom:17px}.bill-detail .summary-strip{grid-template-columns:repeat(3,1fr)}.student-confirm-bar{display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 18px;margin-bottom:16px;background:#f4faf5;border:1px solid #dcebe0;border-radius:9px}.student-confirm-bar strong{color:#315f45}.student-confirm-bar p{margin-top:6px;color:#809488;font-size:12px}@media(max-width:720px){.student-welcome{padding:17px;gap:10px}.student-welcome h2{font-size:20px}.student-welcome p{font-size:11px}.student-summary{grid-template-columns:repeat(2,1fr);padding:15px 0;gap:16px 0}.student-summary>div{padding:0 15px}.student-record-day{grid-template-columns:54px 1fr;gap:10px;padding:13px 0}.student-record-date strong{font-size:15px}.student-record-meals{grid-template-columns:1fr;gap:7px}.student-record-meals>div{gap:6px}.student-bill-card{padding:17px}.student-bill-numbers{grid-template-columns:repeat(2,1fr);gap:15px}.student-bill-foot{align-items:flex-end;flex-direction:column}.student-bill-foot small{width:100%}.bill-detail .summary-strip{grid-template-columns:1fr;gap:15px}.bill-detail .summary-strip>div{border:0}.student-confirm-bar{align-items:flex-start;flex-direction:column;gap:12px}}.student-record-meals .btn{font-size:11px;min-height:30px;padding:5px 9px}.appeal-hint{color:#9b7a40!important}.appeal-current{display:flex;align-items:center;gap:10px;padding:12px 14px;background:#fff8e9;border:1px solid #f0dfbb;border-radius:8px;margin-bottom:18px;font-size:12px;color:#7d6b4b}.appeal-current span{font-weight:600;color:#5f6f63}.appeal-current small{margin-left:auto}.appeal-options{display:flex;gap:18px}.appeal-options label{display:flex;align-items:center;gap:7px}.appeal-options input{width:17px;height:17px}.appeal-list{display:grid;gap:9px}.appeal-select-row{display:flex;align-items:stretch;gap:8px}.appeal-select-row>.appeal-list-row{flex:1;min-width:0}.appeal-select-box{display:flex;align-items:center;justify-content:center;width:38px;border:1px solid #e0e9e2;border-radius:9px;background:#fbfdfb;cursor:pointer}.appeal-select-box input{width:18px;height:18px;accent-color:var(--green)}.appeal-select-box:has(input:checked){background:#edf7f0;border-color:#7aad88}.appeal-list-row{display:flex;align-items:center;justify-content:space-between;gap:15px;width:100%;padding:15px 17px;border:1px solid #e0e9e2;border-radius:9px;background:#fff;text-align:left;color:#476953}.appeal-list-row:hover{border-color:#9dc5a8;background:#fbfefb}.appeal-list-row.archived{background:#f5f6f5;border-color:#e5e8e5;color:#9aa39c}.appeal-list-row.archived:hover{background:#eef0ef;border-color:#cdd3ce}.appeal-list-row.archived strong,.appeal-list-row.archived span,.appeal-list-row.archived small{color:#9aa39c}.appeal-list-row>div:first-child{display:flex;flex-direction:column;gap:6px}.appeal-list-row strong{font-size:16px;color:#285a40}.appeal-list-row span,.appeal-list-row small{font-size:12px;color:#8a9d8f}.appeal-list-row>div:last-child{display:flex;align-items:flex-end;flex-direction:column;gap:6px}.appeal-toolbar .search{max-width:380px}.appeal-detail-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px;padding:15px;background:#f5f9f6;border-radius:8px;margin-bottom:18px}.appeal-detail-grid span{display:block;font-size:11px;color:#8b9b90;margin-bottom:7px}.appeal-detail-grid strong{font-size:14px;color:#426e52}.appeal-reason,.appeal-review-note{padding:14px 16px;border-left:3px solid #c99b4e;background:#fff9ed;margin:12px 0;color:#5f715f}.appeal-review-note{border-color:#5e9d73;background:#f1f8f3}.appeal-reason p,.appeal-review-note p{margin-top:8px;white-space:pre-wrap;line-height:1.7}@media(max-width:720px){.appeal-select-row{gap:6px}.appeal-select-box{width:34px}.appeal-list-row{padding:13px 12px;align-items:flex-start}.appeal-list-row>div:last-child{align-items:flex-end;text-align:right}.appeal-detail-grid{grid-template-columns:repeat(2,1fr);gap:14px}.appeal-options{flex-direction:column;gap:10px}.student-record-meals .btn{min-height:36px}}.payment-suggestions{border:1px solid #e1ebe3;border-radius:8px;padding:12px;margin:0 0 17px;background:#f7fbf8}.payment-suggestions>span{display:block;color:#7d9383;font-size:11px;margin-bottom:8px}.payment-suggestions{display:grid;grid-template-columns:repeat(3,1fr);gap:8px}.payment-suggestions>span{grid-column:1/-1}.payment-suggestions button{border:1px solid #e1e9e3;background:#fff;border-radius:7px;text-align:left;padding:8px;cursor:pointer}.payment-suggestions button.selected{border-color:#78ad8a;background:#edf7ef}.payment-suggestions strong,.payment-suggestions small{display:block}.payment-suggestions strong{font-size:12px;color:#446d51}.payment-suggestions small{font-size:10px;color:#98a89d;margin-top:4px}@media(max-width:720px){.payment-suggestions{grid-template-columns:repeat(2,1fr)}}.canteen-days{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.canteen-day{margin-bottom:12px}.canteen-day-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:18px}.canteen-day-head h2{font-size:23px;color:#315f45}.canteen-day-head>div:last-child{text-align:right}.canteen-day-head small{display:block;color:#96a49b;font-size:10px;line-height:1.6;margin-top:6px}.canteen-totals{display:grid;grid-template-columns:repeat(4,1fr);gap:10px;margin-bottom:14px}.canteen-totals>div{border:1px solid #e2eae5;border-radius:10px;padding:14px;background:#fafcfb}.canteen-totals>div>span{font-size:12px;color:#789083}.canteen-totals strong{display:block;font-size:35px;line-height:1.35;color:#285a3e;font-weight:620;font-variant-numeric:tabular-nums}.canteen-totals strong small{font-size:11px;color:#90a197;margin-left:5px;font-weight:400}.canteen-totals p{font-size:10px;color:#a3afa7}.canteen-totals .breakfast{background:#fffaf0}.canteen-totals .lunch{background:#f3faf5}.canteen-totals .dinner{background:#f5f7fb}.canteen-totals .canteen-paid{background:#f2f7ff;border-color:#dce7f3}.canteen-report-summary{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:0 0 17px;color:#778b7d;font-size:12px}.canteen-updated{text-align:right;color:#9aa89f;font-size:11px}@media(max-width:980px){.canteen-days{grid-template-columns:1fr}}@media(max-width:720px){.canteen-day{padding:16px 12px}.canteen-totals{grid-template-columns:repeat(2,1fr);gap:7px}.canteen-totals>div{padding:11px 9px}.canteen-totals strong{font-size:30px}.canteen-day-head h2{font-size:20px}.canteen-report-summary{font-size:11px}}.forecast-print-sheet{display:none}@media print{.forecast-screen{display:none!important}.forecast-print-sheet{display:block!important;padding:0 10mm;color:#1d3127;font-family:Microsoft YaHei,sans-serif}.forecast-print-sheet header{border-bottom:2px solid #176653;padding-bottom:8px;margin-bottom:14px}.forecast-print-sheet h1{font-size:22px;color:#176653;margin:0 0 4px}.forecast-print-sheet header p{font-size:11px;color:#65786c}.forecast-print-sheet article{break-inside:avoid;margin-bottom:17px}.forecast-print-sheet h2{font-size:16px;color:#176653;margin:0 0 6px}.forecast-print-sheet h2 small{font-size:11px;color:#788c80;font-weight:400;margin-left:8px}.forecast-print-sheet table{width:100%;border-collapse:collapse;font-size:11px}.forecast-print-sheet th{background:#edf4ef;color:#176653;padding:6px 8px;border:1px solid #d7e3da;text-align:center;font-size:10px}.forecast-print-sheet td{padding:6px 8px;border:1px solid #dfe8e1;color:#405e4b;text-align:center}.forecast-print-sheet td:nth-child(2){text-align:left}.forecast-print-sheet footer{font-size:10px;color:#718579;margin-top:12px}.forecast-print-sheet footer table{margin-top:8px}.forecast-print-empty{padding:35px 0;text-align:center;color:#768b7c}}.actions-inline{display:flex;gap:8px;flex-wrap:wrap;align-items:center}.student-auto-settlement{border-color:#cfe2d4;background:linear-gradient(135deg,#f2f9f4,#fff)}.student-auto-settlement>header{display:flex;align-items:center;justify-content:space-between;gap:15px;margin-bottom:18px}.student-auto-settlement h2{font-size:20px;color:#285c40;margin-top:5px}.student-auto-settlement>p{font-size:12px;color:#788d7e;margin-top:15px;line-height:1.8}.auto-settlement-grid{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.auto-settlement-grid>div{padding:13px;border:1px solid #dce8df;background:#fff;border-radius:8px}.auto-settlement-grid span{display:block;color:#7f9486;font-size:11px;margin-bottom:7px}.auto-settlement-grid strong{font-size:18px;color:#376347}.student-day-list{display:grid;gap:13px}.student-day-card{border:1px solid #dce7df;border-radius:11px;overflow:hidden;background:#fff}.student-day-card>header{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:15px 17px;background:#f3f8f4;border-bottom:1px solid #dfe9e2}.student-day-card>header>div{display:flex;flex-direction:column;gap:5px}.student-day-card>header>div:last-child{align-items:flex-end}.student-day-card>header strong{font-size:18px;color:#285b40}.student-day-card>header span,.student-day-card>header small{font-size:11px;color:#7d9183}.student-day-card>header b{font-size:18px;color:#285b40}.student-day-meals>section{display:grid;grid-template-columns:80px minmax(0,1fr) minmax(100px,auto);align-items:center;gap:15px;padding:14px 17px;border-bottom:1px solid #edf1ee}.student-day-meals>section:last-child{border:0}.student-day-meals>section.is-off{background:#fafbfa}.meal-name strong,.meal-name small,.meal-state>small{display:block}.meal-name strong{font-size:16px;color:#385f47}.meal-name small{font-size:11px;color:#92a197;margin-top:5px}.meal-state{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.meal-state>small{font-size:12px;color:#7d9183}.meal-state .meal-reason,.meal-state .appeal-hint{width:100%}.meal-action{text-align:right}.meal-action small{font-size:11px;line-height:1.6}.student-day-meals .is-off .meal-name strong,.student-day-meals .is-off .meal-state>small{color:#9aa59e}.report-day-summary{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:12px 15px;margin-bottom:14px;border:1px solid #dcebe1;border-radius:9px;background:#f4faf6}.report-day-summary strong{font-size:26px;color:#285a40}.report-day-summary span{font-weight:600;color:#365b47}.report-day-summary small{width:100%;font-size:11px;color:#718579}@media(max-width:900px){.auto-settlement-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:720px){.student-auto-settlement{padding:16px}.student-auto-settlement>header{align-items:flex-start;flex-direction:column}.auto-settlement-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.auto-settlement-grid>div{padding:11px}.auto-settlement-grid strong{font-size:16px}.student-day-card>header{padding:13px}.student-day-card>header strong{font-size:17px}.student-day-meals>section{grid-template-columns:62px minmax(0,1fr);gap:9px;padding:13px}.meal-action{grid-column:2;text-align:left}.meal-action .btn{min-height:36px}.meal-state{gap:6px}.meal-state>small{font-size:11px}}.calendar-day{background:#f3fbf5}.calendar-day.closed{background:#253a32;color:#eef8f0}.calendar-day.closed strong,.calendar-day.closed>div>span,.calendar-day.closed>small{color:#d2e5d8}.calendar-day.closed .calendar-meals span{color:#a9c5b2;background:#334d42}.calendar-day.closed .calendar-meals span.on{color:#d8f0dd;background:#416b52}.outing-teacher-contact{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:18px 22px;background:linear-gradient(135deg,#edf8f1,#fff);border:1px solid #cfe8d8}.outing-teacher-contact h2{margin:4px 0;color:#245d3d;font-size:21px}.outing-teacher-contact p{color:#789184;font-size:12px}.outing-call{display:flex;align-items:center;gap:9px;padding:10px 16px;border-radius:12px;background:#1d8b57;color:#fff;text-decoration:none;box-shadow:0 6px 18px #1d8b5730}.outing-call span{font-size:23px;line-height:1}.outing-call strong{font-size:13px}.outing-call small{font-size:11px;opacity:.85}.outing-call:hover{background:#146c43;transform:translateY(-1px)}.page-teacher-outings .table-wrap{position:relative}.page-teacher-outings .table-wrap th:last-child,.page-teacher-outings .table-wrap td:last-child{position:sticky;right:0;background:#fff;box-shadow:-6px 0 10px #274f3814;z-index:2;white-space:nowrap}.page-teacher-outings .table-wrap th:last-child{background:#f4faf5}.page-teacher-outings .table-wrap td:last-child .btn{min-width:66px;margin:2px 0}.outing-status-tabs{gap:7px;flex-wrap:wrap}.outing-status-tabs button{border:1px solid #dce8df;border-radius:9px;padding:9px 14px;background:#fff;color:#6f8677;font-size:13px;font-weight:600;transition:.15s}.outing-status-tabs button:first-child{display:none}.outing-status-tabs button:hover{transform:translateY(-1px)}.outing-status-tabs button.active{color:#fff}.outing-status-tabs button:nth-child(2).active{background:#b98632;border-color:#b98632}.outing-status-tabs button:nth-child(3).active{background:#238653;border-color:#238653}.outing-status-tabs button:nth-child(4).active{background:#b65346;border-color:#b65346}.page-teacher-outings .table-wrap td:last-child .btn{border-color:#bddbc6;color:#28724a;background:#f1faf4}.page-teacher-outings .table-wrap td:last-child .btn:hover{background:#dff3e6}.page-teacher-outings .modal .form-actions .btn:last-child{background:#238653;color:#fff;border-color:#238653}.page-teacher-outings .modal .form-actions .btn:nth-last-child(2){background:#fff1ed;color:#a74c3e;border-color:#efc9c1}.teacher-reset-pass{display:inline-flex!important;align-items:center;justify-content:center;min-width:82px!important;margin:3px 0!important;border:1px solid #e2b66b!important;background:#fff7e8!important;color:#a66a16!important;font-weight:650!important;box-shadow:0 3px 10px #a66a161f}.teacher-reset-pass:hover{background:#ffeaca!important;border-color:#d49a3d!important;color:#87530c!important;transform:translateY(-1px)}.outing-teacher-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.outing-teacher-card{border:1px solid #dcebe0;border-radius:14px;background:linear-gradient(145deg,#fff,#f5fbf7);padding:16px;text-align:left;color:#3d604b;cursor:pointer;box-shadow:0 6px 18px #285b3c0f;transition:.18s}.outing-teacher-card:hover{border-color:#8fc7a1;transform:translateY(-2px);box-shadow:0 10px 24px #285b3c1f}.outing-card-head{display:flex;align-items:center;justify-content:space-between;gap:10px}.outing-card-head strong{font-size:16px;color:#245d3d}.outing-card-meta{display:flex;flex-wrap:wrap;gap:6px 14px;margin-top:10px;color:#82958a;font-size:11px}.outing-teacher-card p{margin:12px 0 6px;color:#536b5b;font-size:13px}.outing-teacher-card small{color:#9aab9f;font-size:11px}.outing-detail-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:12px;padding:14px;background:#f5faf6;border-radius:10px}.outing-detail-grid span{display:block;color:#8a9d90;font-size:11px;margin-bottom:5px}.outing-detail-grid strong{display:block;color:#315f45;font-size:13px;word-break:break-word}.outing-detail-reason{padding:12px 14px;margin:14px 0;background:#fff9ed;border-left:3px solid #d0a55b;color:#637466;line-height:1.7}.outing-student-tools{display:flex;gap:10px;align-items:center;padding:10px 12px;border-radius:18px;background:#ffffffd1;border:1px solid #dcebe0;box-shadow:0 8px 24px #265b3c1a;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}@media(max-width:720px){.outing-teacher-cards,.outing-detail-grid{grid-template-columns:1fr}.outing-teacher-card{padding:15px}.outing-student-tools{position:sticky;bottom:12px;z-index:5}}.page-teacher-outings .teacher-toolbar{align-items:center;flex-wrap:wrap}.page-teacher-outings .outing-status-tabs{display:flex;overflow-x:auto;max-width:100%;white-space:nowrap}.page-teacher-outings .btn{border:1px solid #9bc8aa;background:#f1faf4;color:#236a42;font-weight:650;box-shadow:0 3px 10px #236a421a}.page-teacher-outings .btn:hover{background:#dff3e6;border-color:#69aa7d}.page-teacher-outings .toolbar>.btn{background:#238653;color:#fff;border-color:#238653}.page-teacher-outings .toolbar>.btn:hover{background:#176b40}.page-teacher-outings .outing-teacher-card .tag{font-weight:650}.page-teacher-outings .teacher-toolbar>button:last-child{margin-left:auto;min-width:136px}.page-teacher-outings .teacher-toolbar{row-gap:10px}@media(max-width:720px){.page-teacher-outings .teacher-toolbar>button:last-child{width:100%;margin-left:0;min-height:44px}.page-teacher-outings .teacher-toolbar .outing-status-tabs{order:3;width:100%}}.page-teacher-outings .modal .form-actions{position:sticky;bottom:-20px;background:#fff;padding-bottom:20px;z-index:3}.page-teacher-outings .modal .form-actions .btn{min-height:44px;min-width:92px}.page-student-outings .page-heading{margin-bottom:16px}.page-student-outings .field input,.page-student-outings .field textarea{border-radius:10px}.page-student-outings .form-grid{gap:14px 18px}.page-student-outings .btn{min-height:44px}.page-student-outings .outing-row{padding:16px;border:1px solid #dcebe0;border-radius:12px;background:#fbfefc;margin-bottom:10px}.page-student-outings .outing-row a{color:#217b4d;font-weight:650}.brand-mark.image{background:#f0f4ff;padding:4px;overflow:hidden}.brand-mark.image img{display:block;width:100%;height:100%;object-fit:contain}.login-brand{display:flex;align-items:center;gap:16px;margin:0 0 30px}.login-logo-mark{display:block;width:78px;height:78px;object-fit:contain}.login-logo-full{display:block;width:255px;max-width:72vw;height:auto;object-fit:contain}.login-brand strong{display:block;color:#176653;font-size:24px;letter-spacing:4px}.login-brand span{display:block;color:#718f7d;font-size:12px;letter-spacing:2px;margin-top:8px}.archive-card{padding:12px 16px}.archive-card details>summary{display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;list-style:none}.archive-card details>summary::-webkit-details-marker{display:none}.archive-card details>summary>span{display:flex;align-items:baseline;gap:10px}.archive-card details>summary strong{font-size:14px;color:#53685a}.archive-card details>summary small{font-size:11px;color:#8a978d}.archive-list{display:grid;gap:8px;margin-top:12px}.archive-list article{display:flex;align-items:center;justify-content:space-between;gap:18px;padding:10px 12px;border:1px solid #e5ded0;border-radius:8px;background:#fffdf8}.archive-list article>div:last-child{display:flex;align-items:center;justify-content:flex-end;gap:7px;flex-wrap:wrap}.archive-list strong{font-size:13px;color:#4b5e50}.archive-list small{display:block;color:#87968d;font-size:11px;margin-top:3px}.archive-list p{color:#795f40;font-size:11px;margin-top:4px}.delete-impact{display:grid;grid-template-columns:repeat(3,1fr);gap:9px;margin:0 0 20px}.delete-impact>div{padding:13px;border:1px solid #eadfce;border-radius:8px;background:#fffaf2}.delete-impact span{display:block;font-size:11px;color:#8d7a63;margin-bottom:6px}.delete-impact strong{font-size:17px;color:#754b27}@media(max-width:1020px){.brand-mark.image{padding:3px}}@media(max-width:720px){.login-brand{gap:11px;margin-bottom:16px}.login-logo-mark{width:54px;height:54px}.login-logo-full{width:190px;max-width:68vw}.login-brand strong{font-size:18px;letter-spacing:3px}.login-brand span{font-size:10px;margin-top:4px;letter-spacing:1px}.archive-list article{align-items:flex-start;flex-direction:column}.archive-list article>div:last-child{width:100%;justify-content:space-between}.delete-impact{grid-template-columns:1fr}.delete-impact>div{display:flex;align-items:center;justify-content:space-between}.delete-impact span{margin:0}}.class-tabs{display:flex;gap:9px;align-items:center;flex-wrap:wrap;margin-bottom:22px}.class-tabs>button{display:inline-flex;align-items:center;gap:9px;padding:12px 16px;background:#fff;border:1px solid #e0e8e2;border-radius:8px;color:#688473;font-size:14px}.class-tabs>button.active{border-color:#38846a;background:#edf6f0;color:#185f48;font-weight:600}.class-tabs>button b{font-size:12px;min-width:22px;padding:2px 5px;background:#f0f4f1;border-radius:4px;color:#728a78}.class-tabs>button.active b{background:#d5eadd;color:#397253}.class-order{width:21px;height:21px;border-radius:5px;background:#f0f5f1;display:grid;place-items:center;font-size:11px;font-weight:600}.class-tools-row{display:flex;justify-content:space-between;align-items:flex-start;gap:16px;flex-wrap:wrap;margin-bottom:2px}.preset-bar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;background:#f3f8f4;border:1px solid #e3ede5;border-radius:8px;padding:13px;margin-bottom:20px}.preset-bar>span{font-size:12px;color:#698873;margin-right:5px}.preset-bar .btn{font-size:12px;min-height:32px;padding:6px 10px}.selected-students-summary{display:flex;gap:6px;flex-wrap:wrap;max-height:100px;overflow:auto;margin-bottom:10px}.selected-students-summary button{font-size:11px;color:#33744c;background:#edf6ef;border:1px solid #d0e4d6;border-radius:5px;padding:5px 8px}.report-class-label{font-size:12px;color:#61906f;font-weight:600;margin-bottom:8px}.report-names{display:flex;flex-wrap:wrap;gap:4px 9px;max-width:250px;color:#355944;font-size:13px;margin-bottom:8px}.report-detail-summary{display:flex;align-items:center;gap:15px;flex-wrap:wrap;background:#f2f7f3;border-radius:8px;padding:16px;margin-bottom:16px}.report-detail-summary strong{font-size:16px;color:#2c6041}.report-detail-summary>span{font-size:13px;color:#779180}.qa-banner{padding:11px 20px;text-align:center;background:#fff1d0;border-bottom:1px solid #e7c874;color:#8b6623;font-size:13px;font-weight:600}@media(max-width:720px){.class-tabs{gap:7px;flex-wrap:nowrap;overflow:auto;padding-bottom:5px;margin-bottom:16px}.class-tabs>button{flex-shrink:0;padding:10px 12px;font-size:13px}.class-tools-row{display:block}.class-tools-row>.btn{margin-bottom:16px}.preset-bar{padding:10px}.report-names{max-width:180px}.report-detail-summary{gap:9px}.report-detail-summary strong{font-size:14px}}@media print{.class-tabs,.class-tools-row,.qa-banner{display:none!important}}.sidebar nav{flex:1;min-height:0;overflow-y:auto;padding-bottom:10px}.sidebar nav button{flex-shrink:0}.login-shell{min-height:100vh;display:grid;grid-template-columns:minmax(350px,1fr) minmax(360px,480px);align-items:center;gap:70px;padding:70px max(7vw,32px);background:linear-gradient(125deg,#e8f2ec 0,#f6f8f6 56%,#fff)}.login-shell.single{display:flex;justify-content:center}.login-intro{max-width:590px}.login-intro .brand-mark{width:64px;height:64px;font-size:38px;margin-bottom:40px}.login-intro .eyebrow{font-size:12px;color:#6e937d;margin:0 0 18px}.login-intro h1{font-size:42px;line-height:1.5;color:#164f3c;font-weight:650;letter-spacing:-1px}.login-intro>p{color:#789283;line-height:2;font-size:16px;margin:22px 0}.login-rule{display:flex;align-items:center;gap:22px;border-top:1px solid #d7e5dd;padding-top:26px;margin-top:34px}.login-rule strong{font-size:38px;color:#396e55;font-weight:550}.login-rule span{font-size:13px;line-height:1.8;color:#839b89}.login-card{padding:38px;background:#fff;border:1px solid #e0e8e2;border-radius:16px;box-shadow:0 18px 55px #234b3010;width:100%;max-width:490px;color:#35644c}.login-card>svg{margin-bottom:18px}.login-card h2{font-size:23px;line-height:1.5;margin-bottom:10px}.login-card>p{font-size:13px;color:#899b8e;margin-bottom:24px}.login-card .field{margin:20px 0}.login-card .field>span{font-size:13px}.login-card .btn{min-height:44px}.login-card .text-btn{margin-top:18px}.auth-error{padding:10px 12px;background:#fff0eb;border-radius:7px;color:#ae563b;margin:12px 0;font-size:13px;line-height:1.7}.auth-footer{display:flex;align-items:center;justify-content:center;gap:6px;font-size:11px;color:#a0b0a3;margin-top:22px}.teacher-day-controls{display:flex;align-items:center;gap:18px;flex-wrap:wrap;margin-bottom:20px}.teacher-day-controls>label{display:flex;align-items:center;gap:10px;color:#6b8675;font-size:13px}.submission-tags{display:inline-flex;align-items:center;gap:5px;flex-wrap:wrap}.teacher-meal-table td{vertical-align:top}.teacher-meal-table textarea{min-width:210px;min-height:68px;width:100%;font-size:13px}.meal-toggle{display:flex;align-items:center;gap:6px;white-space:nowrap;font-size:12px;color:#718976}.meal-toggle input{width:19px;height:19px}.evidence-gallery{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0 0}.evidence-gallery a{display:flex;flex-direction:column;width:76px;gap:4px;border:1px solid #dfe7e1;border-radius:6px;padding:4px;background:#fff}.evidence-gallery img{width:66px;height:60px;object-fit:cover;border-radius:3px}.evidence-gallery span{font-size:9px;color:#8a9c8e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.student-note{padding:20px;border:1px solid #e3ebe5;background:#f8fbf9;border-radius:9px;margin:15px 0}.student-note>div:first-child{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.student-note p{margin-top:12px;font-size:14px;color:#506e59;white-space:pre-wrap}.student-note small{color:#a0b0a3}.student-note .evidence-gallery a{width:150px}.student-note .evidence-gallery img{width:140px;height:130px}.review-feedback{padding:18px 20px;border-left:3px solid #55926a;background:#f0f7f2;color:#4d7359;margin:18px 0}.review-feedback p{margin:8px 0;white-space:pre-wrap}.review-feedback small{font-size:11px;color:#8aa291}.review-note-block{padding:12px 16px;background:#f5f8f5;margin-bottom:16px;color:#77937f;border-radius:7px}.submission-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}.submission-board>button{background:#fff;border:1px solid #e0e8e1;border-radius:10px;display:flex;flex-direction:column;align-items:flex-start;gap:13px;padding:21px;color:#477557;text-align:left}.submission-board strong{font-size:16px}.submission-board small{font-size:11px;color:#92a496}.submission-board>button:hover{border-color:#9cc6ab}.review-detail-top{display:flex;gap:15px;align-items:center;flex-wrap:wrap;margin-bottom:18px;color:#91a394;font-size:12px}.review-items td{vertical-align:top;font-size:12px}.review-decision{background:#f5f9f6;padding:20px;border-radius:9px;border:1px solid #dce9df;margin:24px 0}.history-chips{display:flex;flex-direction:column;gap:7px;align-items:flex-start}.history-chips .btn{font-size:11px;white-space:normal;text-align:left}.btn.disabled{opacity:.5;pointer-events:none}.review-toolbar{align-items:center}.select-all,.select-cell{display:inline-flex;align-items:center;gap:6px;color:#718779;font-size:12px;white-space:nowrap}.select-all input,.select-cell input{width:17px;height:17px;accent-color:var(--green)}.select-cell{justify-content:center;width:42px}.bulk-review-bar{display:flex;align-items:center;gap:7px;padding:5px 7px 5px 10px;border:1px solid #d7e8dc;border-radius:8px;background:#f2faf4;color:#4d7359}.bulk-review-bar strong{font-size:12px;margin-right:3px}.bulk-review-bar .btn{min-height:30px;padding:5px 9px;font-size:11px}.bulk-selected-summary{padding:10px 12px;border-radius:7px;background:#f5f9f6;color:#65816d;font-size:12px;line-height:1.7}.proof-select{display:flex;align-items:center;gap:6px;margin-bottom:8px;color:#6d8876;font-size:11px}.proof-select input{width:17px;height:17px;accent-color:var(--green)}@media(max-width:1200px){.sidebar{padding-top:22px}.sidebar .brand{margin-bottom:23px}.sidebar nav{gap:3px}.sidebar nav button{padding-top:11px;padding-bottom:11px}.sidebar nav button.nav-section{margin-top:10px}.sidebar-bottom{padding-top:12px}.submission-board{gap:10px}.submission-board>button{padding:16px}}.payment-proof-box{padding:18px 20px;margin:0 0 18px;border:1px solid #dce9df;background:#fbfdfb;border-radius:10px}.payment-proof-box .card-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px}.payment-proof-box h3{font-size:15px;color:#315f45}.payment-proof-box .notice{margin:10px 0 14px}.proof-links{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 14px}.proof-links a{padding:7px 10px;border-radius:6px;background:#edf6f0;color:#4c765a;font-size:12px}.payment-proof-box form{margin-top:10px}.paste-hint{display:block;margin-top:5px;color:#829287;font-size:11px}.payment-proof-status{display:flex;gap:6px;align-items:center;margin-bottom:7px}@media(max-width:900px){.login-shell{gap:30px;padding:45px 30px;grid-template-columns:minmax(280px,1fr) minmax(320px,1fr)}.login-intro h1{font-size:32px}.login-card{padding:27px}.login-rule{gap:15px}.login-rule strong{font-size:30px}.submission-board{grid-template-columns:repeat(2,1fr)}}@media(max-width:720px){.login-shell{display:flex;flex-direction:column;align-items:stretch;gap:25px;padding:30px 20px}.login-intro .brand-mark{width:45px;height:45px;font-size:29px;margin-bottom:18px}.login-intro h1{font-size:27px;line-height:1.5}.login-intro h1 br{display:none}.login-intro>p{font-size:13px;margin:10px 0}.login-intro .eyebrow{margin:10px 0;font-size:10px}.login-rule{margin-top:15px;padding-top:15px}.login-rule strong{font-size:27px}.login-rule span{font-size:11px}.login-card{padding:25px;max-width:none}.login-card h2{font-size:21px}.login-shell.single{justify-content:center}.teacher-day-controls{gap:12px}.teacher-day-controls label{font-size:12px}.teacher-meal-table td{padding:12px 8px}.teacher-meal-table textarea{min-width:170px}.submission-board>button{padding:15px}.review-decision,.student-note{padding:15px}.top-right{gap:6px}.top-right .icon-btn{padding:6px}.month-picker{margin-right:0}}@media print{.teacher-day-controls,.review-decision,.history-chips{display:none!important}.evidence-gallery img{max-width:100%}.submission-board{break-inside:avoid}}.payment-proof-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:13px}.payment-proof-card{border:1px solid #dfe8e1;border-radius:10px;padding:14px;background:#fff;min-width:0}.payment-proof-card.pending{border-color:#e0bf7e;background:#fffdf7}.payment-proof-card img{width:100%;height:170px;object-fit:contain;background:#f6f8f6;border-radius:6px}.payment-proof-card header{display:flex;align-items:center;justify-content:space-between;gap:8px;margin:11px 0 7px}.payment-proof-card strong{font-size:14px;color:#365943}.payment-proof-card p,.payment-proof-card small{display:block;color:#829287;font-size:11px;line-height:1.7}.payment-proof-card .btn{margin-top:10px;width:100%}.proof-review-layout{display:grid;grid-template-columns:minmax(280px,1fr) minmax(300px,1fr);gap:24px}.proof-review-image{display:flex;align-items:center;justify-content:center;background:#f5f7f5;border:1px solid #e1e7e3;border-radius:9px;min-height:380px}.proof-review-image img{max-width:100%;max-height:560px;object-fit:contain}.proof-facts{display:flex;flex-direction:column;gap:7px;margin:12px 0 18px;color:#738579;font-size:12px}.proof-facts strong{font-size:16px;color:#3c5e48}@media(max-width:1000px){.payment-proof-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:720px){.payment-proof-grid,.proof-review-layout{grid-template-columns:1fr}.payment-proof-card img{height:210px}.proof-review-image{min-height:260px}.proof-review-layout{gap:16px}.review-toolbar{align-items:stretch}.bulk-review-bar{width:100%;justify-content:flex-end}.bulk-review-bar strong{margin-right:auto}.select-all{min-height:40px}}.submission-summary{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px;margin-bottom:16px}.submission-summary>div{padding:13px 15px;border:1px solid #e0e9e2;border-radius:8px;background:#f8fbf9}.submission-summary span{display:block;font-size:11px;color:#7e9184}.submission-summary strong{display:block;font-size:26px;color:#315f45;margin-top:5px}.submission-filters{margin-bottom:16px}.submission-class-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:13px}.submission-class{border:1px solid #dce7df;border-radius:10px;background:#fff;padding:16px;min-width:0}.submission-class.needs-submit{border-color:#e5c58c;background:#fffdf8}.submission-class>header,.submission-class>footer{display:flex;align-items:center;justify-content:space-between;gap:12px}.submission-class>header strong{font-size:17px;color:#315d44}.submission-class>header small,.submission-class>footer small{display:block;color:#87988d;font-size:11px;margin-top:5px}.submission-meals{display:grid;grid-template-columns:repeat(3,1fr);gap:7px;margin:14px 0}.submission-meals>div{padding:10px;border-radius:7px;background:#f5f8f6}.submission-meals span{font-size:11px;color:#7a8d81}.submission-meals strong{display:block;font-size:23px;color:#315d44}.submission-meals strong small{font-size:10px;margin-left:4px}.submission-meals p{font-size:9px;color:#99a59d}.submission-class>footer{padding-top:12px;border-top:1px solid #e7ede9}.submission-class>footer>div:first-child strong{font-size:12px;color:#607669}@media(max-width:1050px){.submission-class-grid{grid-template-columns:1fr}}@media(max-width:720px){.submission-summary{grid-template-columns:repeat(3,1fr)}.submission-summary>div{padding:10px}.submission-summary strong{font-size:22px}.submission-class{padding:13px}.submission-class>footer{align-items:flex-start;flex-direction:column}.submission-class>footer .actions-inline{width:100%}.submission-class>footer .btn{flex:1}.submission-meals>div{padding:8px 6px}.submission-meals strong{font-size:20px}.submission-filters{display:grid;grid-template-columns:repeat(2,1fr)}.submission-filters button{width:100%}}.teacher-student-grid,.teacher-record-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}.teacher-student,.teacher-record-card{border:1px solid #dbe6df;border-radius:12px;padding:17px;background:#fff;min-width:0}.teacher-student.is-changed{border-color:#d7ad68;background:#fffcf6}.student-card-top,.student-card-top>div,.teacher-record-card>header,.daily-record-list header{display:flex;align-items:center;justify-content:space-between;gap:10px}.student-card-top>div{justify-content:flex-start;flex-wrap:wrap}.student-card-top strong,.teacher-record-card strong{font-size:17px;color:#264f3b}.student-card-top .text-btn{display:flex;align-items:center;gap:3px;white-space:nowrap;font-size:12px}.meal-off-label,.meal-on-label{font-size:11px;border-radius:5px;padding:3px 6px}.meal-off-label{color:#915813;background:#fff0d8}.meal-on-label{color:#53725c;background:#f0f5f1}.student-plan-label{font-size:12px;color:#987132;margin-top:8px}.skip-hint{margin:0 0 15px}.skip-meals{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin-top:14px}.skip-meals>button{display:flex;align-items:center;justify-content:space-between;gap:5px;border:1px solid #dce6df;border-radius:8px;background:#fff;color:#566c5e;min-height:44px;padding:10px;font-size:13px}.skip-meals>button.selected{background:#fff0d5;border-color:#d8b16f;color:#83501b}.skip-meals>button:disabled{opacity:.72;cursor:default}.skip-meals b{font-size:14px;font-weight:500}.student-card-details{margin-top:13px;padding-top:13px;border-top:1px solid #e4ebe5}.student-card-details textarea{display:block;width:100%;min-height:65px;font-size:14px}.quick-reasons{display:flex;flex-wrap:wrap;gap:7px;margin:0 0 10px}.quick-reasons button{padding:5px 10px;background:#f2f6f3;border:1px solid #dce5de;border-radius:20px;color:#4e7058;font-size:12px}.student-card-actions{display:flex;align-items:center;flex-wrap:wrap;gap:7px;margin-top:12px}.student-card-actions .btn{font-size:12px;min-height:34px;padding:6px 10px}.view-pills{display:flex;gap:5px;flex-wrap:wrap}.view-pills button{border:1px solid #dce6df;border-radius:7px;background:#fff;padding:9px 12px;font-size:12px;color:#6b7e71}.view-pills button.active{color:#24563c;background:#ecf5ee;border-color:#95bca0}.teacher-record-totals{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:18px}.teacher-record-totals>div{background:#fff;border:1px solid #dfe8e1;border-radius:10px;padding:18px}.teacher-record-totals span{display:block;font-size:12px;color:#617b69;margin-bottom:10px}.teacher-record-totals strong{font-size:27px;color:#285b40}.teacher-record-totals small{font-size:12px;margin-left:6px;font-weight:400}.record-numbers{display:grid;grid-template-columns:repeat(3,1fr);gap:6px;margin:16px 0 8px;font-size:12px;color:#6a8172}.record-numbers b{font-size:19px;color:#355f44;font-weight:600}.teacher-record-card>small{font-size:11px}.data-coverage-note{padding:11px 13px;background:#f2f6f3;border-radius:7px;color:#6b8172;font-size:12px;line-height:1.7;margin-bottom:16px}.daily-record-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.daily-record-list article{padding:14px;border:1px solid #e0e8e2;border-radius:8px;min-width:0}.daily-record-list strong{font-size:14px}.daily-record-list p{display:flex;justify-content:space-between;gap:10px;font-size:12px;color:#6a7d70;line-height:1.7;margin-top:9px;flex-wrap:wrap}.daily-record-list .record-reason{display:block;white-space:pre-wrap;overflow-wrap:anywhere;color:#5b6f61}.plan-list{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.plan-list article{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:16px;border:1px solid #e1e9e3;border-radius:9px}.plan-list strong{font-size:16px}.plan-list small{display:block;font-size:11px;color:#7d9485;margin-top:6px}.plan-list .tag{white-space:normal}.plan-presets{margin-top:18px}.plan-preview{font-size:14px;color:#835d2c;margin-bottom:20px}.teacher-submit-bar,.teacher-bottom-nav,.sidebar-overlay{display:none}.teacher-toolbar{flex-wrap:wrap}.teacher-toolbar>*{max-width:100%}.teacher-toolbar .search{flex:1;min-width:200px;max-width:380px}.teacher-mobile-submit{display:none}@media(max-width:1100px){.teacher-student-grid{grid-template-columns:1fr}.teacher-record-totals{grid-template-columns:repeat(2,minmax(0,1fr))}.plan-list{grid-template-columns:1fr}}@media(max-width:720px){.teacher-mobile-submit{display:none}.page-students table,.page-students tbody,.page-students tr{display:block}.page-students thead{display:none}.page-students tbody tr{border:1px solid #dde6df;border-radius:10px;padding:12px;margin-bottom:12px}.page-students td{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap;padding:7px 0;border:0}.page-students td:before{content:attr(data-label);font-size:12px;color:#87968c;min-width:55px}.page-students td[data-label=姓名] strong{font-size:18px}.page-students td .cell-sub{margin:0}.page-students td .btn{min-height:38px}.page-students .toolbar .search{min-width:0;width:100%;flex-basis:100%}.page-students .inline-label{flex-wrap:wrap}.workspace,.topbar,.top-right{min-width:0}.is-teacher .topbar{padding:0 12px}.is-teacher .month-picker{font-size:0;gap:0}.is-teacher .month-picker select{font-size:13px;max-width:170px}.is-teacher .avatar{display:none}.is-teacher main{padding:20px 12px 105px}.is-teacher .page-teacher-day main{padding-bottom:175px}.is-teacher .app-footer,.is-teacher .page-heading .eyebrow{display:none}.is-teacher .page-heading{gap:10px;margin-bottom:16px}.is-teacher .page-heading h1{font-size:25px}.is-teacher .page-heading p{line-height:1.7;color:#668070;font-size:13px}.page-teacher-day .page-heading .actions{display:none}.teacher-day-controls{gap:12px;margin-bottom:13px}.teacher-day-controls>label{flex:1;min-width:130px;align-items:flex-start;flex-direction:column;gap:5px}.teacher-day-controls select,.teacher-day-controls input{width:100%;min-height:42px}.is-teacher input:not([type=checkbox]),.is-teacher textarea,.is-teacher select{font-size:16px}.is-teacher input[type=checkbox]{width:20px;height:20px}.teacher-toolbar .search{min-width:0;flex-basis:100%;max-width:none;order:-1}.teacher-toolbar .view-pills{width:100%}.view-pills button{flex:1;padding:9px 5px;min-height:42px}.teacher-toolbar .inline-label{flex-wrap:wrap}.teacher-student-grid,.teacher-record-list,.daily-record-list{grid-template-columns:1fr;gap:11px}.teacher-roster-card{padding:14px!important}.teacher-student{padding:14px}.student-card-top strong{font-size:18px}.skip-meals{gap:6px}.skip-meals>button{padding:10px 8px;min-height:46px;font-size:13px}.student-card-actions .btn{min-height:42px}.is-teacher .meal-total-grid{gap:8px;margin-bottom:16px}.is-teacher .meal-total{padding:12px 9px}.is-teacher .meal-total strong{font-size:29px}.is-teacher .meal-total>span:last-child{font-size:10px;line-height:1.6;white-space:normal}.teacher-record-totals{gap:9px}.teacher-record-totals>div{padding:14px}.teacher-record-totals strong{font-size:25px}.record-numbers b{font-size:21px}.teacher-record-card{padding:16px}.teacher-record-card .student-card-actions .btn{flex:1}.teacher-bottom-nav{display:grid;grid-template-columns:repeat(4,1fr);position:fixed;z-index:50;bottom:0;left:0;right:0;background:#fff;border-top:1px solid #dce6df;padding:6px 3px max(7px,env(safe-area-inset-bottom))}.is-teacher .teacher-bottom-nav{grid-template-columns:repeat(6,1fr)}.teacher-bottom-nav button{display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 0;border:0;background:none;font-size:9px;color:#819387;min-width:0}.teacher-bottom-nav button svg{width:18px;height:18px}.teacher-bottom-nav button span{white-space:nowrap}.teacher-bottom-nav button.active{color:#20583b;font-weight:600}.is-canteen .teacher-bottom-nav{grid-template-columns:1fr}.is-canteen main{padding-bottom:92px}.is-canteen .app-footer{display:none}.is-canteen .topbar{padding:0 12px}.is-canteen .avatar,.is-canteen .page-heading .eyebrow{display:none}.teacher-submit-bar{display:flex;align-items:center;gap:6px;flex-wrap:nowrap;position:fixed;bottom:calc(65px + env(safe-area-inset-bottom));left:0;right:0;z-index:49;padding:8px 10px;background:#fffefa;border-top:1px solid #e8e1d3;box-shadow:0 -4px 15px #2b493308}.teacher-submit-bar>span:first-child{display:none}.teacher-submit-bar .btn{flex:1;min-width:0;min-height:40px;font-size:11px;padding:7px 4px}.sidebar-overlay{display:block;position:fixed;top:64px;right:0;bottom:0;left:0;background:#13291d55;border:0;z-index:39}.sidebar{z-index:40}.is-teacher .toast{bottom:155px}.modal-backdrop{padding:8px}.modal-body{padding:17px}.modal{max-height:94dvh}.modal .toolbar input[type=date]{min-width:0;width:160px}.evidence-gallery a{max-width:100%}}@media print{.teacher-bottom-nav,.teacher-submit-bar,.view-pills,.skip-hint{display:none!important}.teacher-record-list,.teacher-student-grid{display:block}.teacher-record-card,.teacher-student{break-inside:avoid;margin-bottom:12px}}.payment-proof-reminder{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:14px 16px;margin:0 0 15px;border:1px solid #d9e6dc;border-radius:9px;background:#f4faf5}.payment-proof-reminder.needs-action{border-color:#e4c88f;background:#fff9ed}.payment-proof-reminder>div{display:flex;flex-direction:column;gap:5px}.payment-proof-reminder strong{font-size:15px;color:#315f45}.payment-proof-reminder span{font-size:12px;color:#708778}.teacher-record-card.missing-proof{border-color:#e1bd78;background:#fffdf8}@media(max-width:720px){.payment-proof-reminder{align-items:flex-start;flex-direction:column}.payment-proof-reminder .btn{width:100%}.page-teacher-students table{min-width:900px}}:root{font-size:15px}body{line-height:1.55}small{font-size:13px}.btn{font-size:14px;min-height:42px;padding:10px 14px}.icon-btn{min-width:40px;min-height:40px}.tag{font-size:12px;padding:5px 9px}.notice{font-size:14px;line-height:1.75}.toolbar input,.toolbar select{font-size:14px}th{font-size:13px}td{font-size:14px}.cell-sub{font-size:12px}.modal>header h2{font-size:20px}.field>span{font-size:13px}@media(max-width:720px){:root{font-size:16px}main{padding:20px 12px 112px}h1{font-size:28px;line-height:1.35}h2{font-size:20px}h3{font-size:18px}.page-heading{gap:12px;margin-bottom:18px}.page-heading p{font-size:14px;line-height:1.75}.page-heading .actions{width:100%;gap:8px}.page-heading .actions .btn{flex:1}.card{padding:16px 14px;margin-bottom:16px;border-radius:10px}.toolbar{gap:9px;margin-bottom:16px}.toolbar input,.toolbar select,.toolbar .search{min-height:44px;font-size:16px}.toolbar .search{width:100%;min-width:0;max-width:none;flex-basis:100%}.count-label{font-size:13px;margin-left:0}.btn{font-size:15px;min-height:46px;padding:10px 13px}.icon-btn{min-width:44px;min-height:44px}.tag{font-size:13px;padding:5px 9px}.notice{font-size:15px;line-height:1.8;padding:13px 14px}table{font-size:14px}th{font-size:13px;padding:12px 11px}td{font-size:14px;padding:13px 11px}.cell-sub{font-size:13px}.table-wrap{overflow-x:auto;-webkit-overflow-scrolling:touch}.modal-backdrop{padding:6px}.modal{width:100%;max-height:96dvh;border-radius:10px}.modal>header{padding:16px}.modal>header h2{font-size:20px}.modal-body{padding:16px}.field>span{font-size:14px}.field input,.field select,.field textarea{font-size:16px;min-height:46px}.field textarea{min-height:105px}.form-actions{gap:8px;flex-wrap:wrap}.form-actions .btn{flex:1}.teacher-bottom-nav button{font-size:12px;min-height:46px;gap:5px}.student-welcome h2{font-size:23px}.student-welcome p,.student-notes-list span,.student-record-meals>div>span{font-size:14px}.student-record-meals small{font-size:13px}.payment-proof-box{padding:15px 13px}.payment-proof-box h3{font-size:18px}}:root{--ui-ink:#203b33;--ui-muted:#60776c;--ui-border:#dce7e1;--ui-surface:#f3f8f5;--mobile-nav-height:72px}.page-heading .eyebrow{color:#637a70}.page-heading p,.muted{color:var(--ui-muted)}.btn{min-height:44px;border-radius:10px}.btn:focus-visible,button:focus-visible,a:focus-visible{outline:3px solid #338b71;outline-offset:3px}.tag.green{background:#e4f4eb;color:#176443}.tag.amber{background:#fff1da;color:#875611}.tag.red{background:#fdece8;color:#a13b30}.login-card .field>span,.login-card>p,.auth-footer{color:#5d7267}.ui-login-help{font-size:13px;color:#60776c;margin-top:16px}.ui-reveal{display:inline-flex;align-items:center;gap:7px;min-height:40px;margin-bottom:12px;color:#225d47}.ui-segments{display:flex;gap:4px;padding:5px;border:1px solid var(--ui-border);border-radius:12px;background:#eaf2ee;margin-bottom:20px}.ui-segments button{border:0;background:transparent;border-radius:8px;min-height:44px;flex:1;color:#526d60;font-weight:600}.ui-segments button[aria-pressed=true]{background:#fff;color:#14583d;box-shadow:0 2px 7px #193f2410}.ui-optional-panel{border:1px solid var(--ui-border);background:#fff;border-radius:12px;margin:16px 0;padding:14px}.ui-optional-panel>summary{cursor:pointer;min-height:36px;color:#3e6652;font-size:14px;font-weight:600}.ui-optional-panel .card{margin:10px 0 0;border:0;padding:0}.ui-status-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:20px}.ui-status{border:1px solid var(--ui-border);background:#fff;border-radius:14px;text-align:left;padding:16px;position:relative;min-width:0}.ui-status span{font-size:14px;font-weight:650}.ui-status strong{font-size:28px;display:block;line-height:1.4;font-variant-numeric:tabular-nums}.ui-status small{font-size:12px;display:block;line-height:1.5;margin-top:3px}.ui-status.pending{color:#8c5b13;background:#fff9ed}.ui-status.approved{color:#1a6c48;background:#f0faf3}.ui-status.rejected{color:#a04339;background:#fff5f2}.ui-status[aria-pressed=true]{border-color:currentColor;box-shadow:inset 0 -3px currentColor}.ui-filter-card .card-heading,.ui-records-card .card-heading{margin-bottom:16px}.ui-filter-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.ui-filter-grid .field{min-width:0;margin-bottom:12px}.ui-filter-grid input{width:100%;min-width:0}.ui-quick-dates{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-bottom:16px;color:#547566}.ui-quick-dates button{padding:8px 12px;border:1px solid var(--ui-border);border-radius:9px;background:#f6faf8;min-height:40px;color:#315d49}.ui-quick-dates button:hover{background:#e3f1e9}.ui-filter-foot{display:flex;gap:14px;flex-wrap:wrap;align-items:center;font-size:12px;color:var(--ui-muted)}.ui-filter-foot>span{display:flex;gap:6px;align-items:center;margin-right:auto}.ui-filter-foot .text-btn{min-height:32px}.ui-result-count{padding:4px 10px;border-radius:20px;background:#edf6f0;color:#2b6c4d;font-size:13px;white-space:nowrap}.ui-export-bar{display:flex;justify-content:space-between;gap:14px;align-items:center;border-bottom:1px solid var(--ui-border);padding-bottom:16px;margin-bottom:18px}.ui-export-bar strong,.ui-export-bar small{display:block}.ui-export-bar strong{font-size:13px;color:#36594a}.ui-export-bar small{font-size:12px;color:var(--ui-muted);margin-top:4px}.page-teacher-outings .ui-export-bar .btn{color:#275b81;background:#edf5fb;border-color:#c6dceb;box-shadow:none}.ui-outing-cards{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.ui-outing-card{min-width:0;width:100%;display:block;text-align:left;border:1px solid var(--ui-border);border-radius:14px;background:#fff;padding:17px;color:var(--ui-ink);transition:border-color .15s,box-shadow .15s}.ui-outing-card:hover{border-color:#78b398;box-shadow:0 4px 14px #1b533110}.ui-outing-card header{display:flex;gap:12px;align-items:center;justify-content:space-between}.ui-outing-card header strong{font-size:17px;overflow-wrap:anywhere}.ui-outing-card header small{display:block;font-size:12px;color:var(--ui-muted);margin-top:4px}.ui-outing-times{display:grid;gap:6px;font-size:13px;color:#556c61;margin:14px 0}.ui-outing-times span{display:flex;gap:7px;align-items:center;line-height:1.55;overflow-wrap:anywhere}.ui-outing-card p{font-size:14px;overflow-wrap:anywhere}.ui-outing-card footer{display:flex;gap:10px;justify-content:space-between;margin-top:14px;padding-top:12px;border-top:1px solid #edf2ee;color:#456854;font-size:12px}.ui-outing-card footer span{display:flex;gap:6px;align-items:center}.ui-card-review{display:block;font-size:12px;line-height:1.5;margin-top:12px;color:#587361;overflow-wrap:anywhere}.ui-detail-status{display:flex;align-items:center;gap:12px;margin-bottom:18px}.ui-detail-status>span:last-child{font-size:12px;color:var(--ui-muted)}.ui-detail-list{margin:0 0 20px;display:grid;grid-template-columns:1fr 1fr;gap:16px;background:var(--ui-surface);padding:18px;border-radius:12px}.ui-detail-list>div{min-width:0}.ui-detail-list dt{font-size:12px;color:var(--ui-muted);margin-bottom:6px}.ui-detail-list dd{margin:0;color:var(--ui-ink);font-size:14px;line-height:1.6;white-space:pre-wrap;overflow-wrap:anywhere}.ui-detail-list>div:nth-last-child(-n+2){grid-column:1/-1}.ui-review-result{padding:16px;border-radius:12px;border:1px solid var(--ui-border);margin-bottom:16px}.ui-review-result strong{color:#245a41}.ui-review-result p{font-size:13px;margin-top:6px;color:#4e695a}.ui-preserve-text{white-space:pre-wrap;overflow-wrap:anywhere}.ui-dialog-actions{display:flex;gap:10px;justify-content:flex-end;position:sticky;bottom:-24px;padding:16px 0 20px;margin-top:18px;background:#fff;border-top:1px solid var(--ui-border);z-index:2}.ui-dialog-actions .btn{min-width:92px}.page-teacher-outings .ui-dialog-actions .btn.primary{background:#176653;color:#fff;border-color:#176653;box-shadow:none}.page-teacher-outings .ui-dialog-actions .btn.danger{background:#fff1ed;border-color:#e5b7b0;color:#a13d30;box-shadow:none}.ui-field-error{color:#a4362a!important;font-size:13px;margin:6px 0 12px;line-height:1.6}.ui-process{list-style:none;padding:14px 16px;margin:0 0 18px;display:flex;gap:12px;align-items:center;justify-content:space-between;background:#eaf4ee;border:1px solid #d4e7dc;border-radius:12px;color:#35664d}.ui-process li{display:flex;align-items:center;gap:7px;font-size:13px;line-height:1.5}.ui-process b{font-variant-numeric:tabular-nums}.ui-process>svg{flex-shrink:0}.ui-contact{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:14px 18px;margin-bottom:20px;border:1px solid var(--ui-border);background:#fff;border-radius:12px}.ui-contact>div{min-width:0}.ui-contact>div>span{display:block;color:var(--ui-muted);font-size:12px;margin-bottom:5px}.ui-contact strong{font-size:16px;display:flex;gap:12px;align-items:center;flex-wrap:wrap}.ui-contact small{font-size:13px;font-weight:400;color:#476854}.ui-contact>a{display:flex;align-items:center;justify-content:center;gap:7px;min-height:44px;padding:8px 12px;border-radius:10px;background:#eaf4ee;color:#176653;white-space:nowrap;font-size:13px;font-weight:600}.ui-form-section{border:0;padding:0;margin:0 0 18px;min-width:0}.ui-form-section legend{display:flex;gap:8px;align-items:center;font-size:15px;font-weight:650;color:#315e49;margin-bottom:14px;padding:0}.ui-form-section>p{font-size:12px;color:var(--ui-muted);margin-bottom:12px}.ui-form-section .field input,.ui-form-section .field textarea{min-width:0;width:100%}.ui-alone{display:flex;flex-direction:column;justify-content:center;padding:12px 15px;border-radius:10px;background:#f3f7f5;color:#446653;font-size:13px;gap:4px}.ui-alone span{font-size:12px;color:#62776b}.ui-submit-dock{display:flex;align-items:center;gap:14px;justify-content:space-between;padding:12px 14px;border:1px solid #d6e6dc;border-radius:16px;background:#f8fcfa;box-shadow:0 5px 16px #24533310}.ui-submit-dock>span{font-size:12px;color:#577362}.ui-submit-dock .btn{min-width:148px}.ui-password-target{display:flex;gap:12px;align-items:center;padding:14px;margin-bottom:14px;border-radius:12px;background:#fff7e8;color:#745321}.ui-password-target strong,.ui-password-target span{display:block}.ui-password-target strong{font-size:16px}.ui-password-target span{font-size:13px;margin-top:6px}.page-teacher-students .ui-password-button{min-height:42px;margin:8px 0 0;color:#80531b;background:#fff6e7;border-color:#e8cfa6;box-shadow:none}.page-teacher-students td[data-label=账号]>span{display:block}.ui-export-preview{padding:15px;background:var(--ui-surface);border-radius:10px;line-height:1.7}.ui-export-preview p,.ui-export-preview small{margin-top:7px;display:block;color:var(--ui-muted)}.page-teacher-outings .neutral-action{color:#567465;background:#f3f6f4;border-color:#cfdcd2}.page-teacher-outings .neutral-action:hover{background:#e6efe9}.summary-strip strong,.finance-total strong,.detail-stats b,.auto-settlement-grid strong{font-variant-numeric:tabular-nums}.student-bill-head{align-items:flex-start}.student-bill-head>.tag{align-self:flex-start}.page-settlement .class-tools-row{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px}.page-settlement .class-tools-row .class-tabs{margin-bottom:0}@media(max-width:900px){.ui-filter-grid{grid-template-columns:1fr 1fr}.ui-filter-grid>.field:last-child{grid-column:1/-1}}@media(max-width:720px){.ui-status-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:16px}.ui-status{padding:12px 10px;border-radius:12px}.ui-status span{font-size:13px}.ui-status strong{font-size:25px}.ui-status small{font-size:11px}.ui-filter-grid{gap:10px}.ui-filter-grid .field>span{font-size:13px}.ui-filter-grid input[type=date]{font-size:14px;padding:10px 6px;min-height:46px;max-width:100%}.ui-quick-dates{gap:6px}.ui-quick-dates button{font-size:12px;padding:8px 10px;min-height:40px}.ui-filter-foot{gap:7px 14px}.ui-filter-foot>span{flex-basis:100%}.ui-export-bar{display:grid;grid-template-columns:1fr;gap:12px}.ui-export-bar .btn{width:100%;min-height:46px}.ui-outing-cards{grid-template-columns:1fr}.ui-outing-card{padding:15px}.ui-detail-list{padding:14px;gap:14px;grid-template-columns:1fr}.ui-detail-list>div{grid-column:1}.ui-dialog-actions{bottom:-16px;padding:14px 0 max(16px,env(safe-area-inset-bottom));gap:8px}.ui-dialog-actions .btn{flex:1;min-width:0}.ui-process{padding:12px 10px;gap:7px}.ui-process li{font-size:12px;gap:4px}.ui-process>svg{width:12px}.ui-contact{padding:13px;gap:8px}.ui-contact strong{gap:5px}.ui-contact small{width:100%}.ui-contact>a{padding:8px 10px;font-size:12px}.ui-form-section .form-grid{grid-template-columns:1fr}.ui-submit-dock{position:relative;padding:10px;gap:10px;background:#f8fcfa}.ui-submit-dock>span{font-size:11px;max-width:95px}.ui-submit-dock .btn{min-width:0;flex:1}.page-teacher-students table{min-width:0!important;width:100%}.page-teacher-students table,.page-teacher-students tbody,.page-teacher-students tr{display:block}.page-teacher-students thead{display:none}.page-teacher-students tbody tr{border:1px solid var(--ui-border);border-radius:13px;padding:14px;margin-bottom:14px;background:#fff}.page-teacher-students td{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap;border:0;padding:8px 0;text-align:left!important;min-width:0;overflow-wrap:anywhere}.page-teacher-students td:before{content:attr(data-label);font-size:12px;color:var(--ui-muted);margin-right:auto}.page-teacher-students td[data-label=姓名]:before{display:none}.page-teacher-students td[data-label=姓名] strong{font-size:19px}.page-teacher-students td[data-label=姓名] small{width:100%}.page-teacher-students td[data-label=账号]{padding:12px;background:#fffbf2;border-radius:10px;margin:6px 0}.page-teacher-students td[data-label=账号] .btn{margin:0;min-height:44px}.page-teacher-students td[data-label=操作]{justify-content:flex-start;gap:8px}.page-teacher-students td[data-label=操作]:before{flex-basis:100%}.page-teacher-students td .btn{font-size:13px;padding:9px 10px;white-space:normal}.page-teacher-students .toolbar input[type=date]{min-width:0;max-width:100%}.page-settlement .class-tools-row>.btn{width:100%;margin:0}.teacher-bottom-nav{min-height:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom));align-items:center}.is-student .teacher-bottom-nav{grid-template-columns:repeat(3,minmax(0,1fr))}.is-student .month-picker{font-size:0;margin-right:0;gap:0}.is-student .month-picker select{font-size:14px;max-width:160px}.is-student .avatar{display:none}.is-teacher .teacher-bottom-nav button{font-size:11px;min-height:48px}.is-teacher .teacher-bottom-nav svg{width:20px;height:20px}.teacher-submit-bar{bottom:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom))}.is-teacher .page-teacher-day main{padding-bottom:calc(150px + env(safe-area-inset-bottom))}.page-student-outings main{padding-bottom:calc(105px + env(safe-area-inset-bottom))}.is-student .toast{bottom:calc(var(--mobile-nav-height) + env(safe-area-inset-bottom) + 12px)}}@media(prefers-reduced-motion:reduce){html{scroll-behavior:auto}*,*:before,*:after{transition:none!important;animation-duration:.01ms!important}}
