.student-changes{border-top:1px solid #dce5f0;margin-top:28px;padding-top:24px}.student-change-requests{display:grid;gap:16px}.student-change-request{padding:20px;border:1px solid #dce5f0;border-radius:14px;background:#fff;overflow-wrap:anywhere}.student-change-request header{display:flex;align-items:center;justify-content:space-between;gap:12px}.student-change-request p,.student-change-diff{font-size:14px;color:#5e6e84;line-height:1.7}.student-change-diff>div{display:grid;grid-template-columns:120px minmax(0,1fr);gap:12px;padding:5px 0}.student-change-diff dd{margin:0}.student-change-request textarea{width:100%;min-height:80px;margin-top:8px;box-sizing:border-box}.student-change-modal{max-height:calc(100vh - 48px);overflow-y:auto}.student-change-modal .form-grid{margin-top:20px}.student-change-service{border:1px solid #dce5f0;border-radius:10px;margin-top:12px;padding:12px}.student-change-service>label:first-child,.student-change-consent{display:flex;align-items:center;gap:8px}.student-change-service input[type=checkbox],.student-change-consent input{width:auto;flex:0 0 auto}.student-change-service small{display:block;color:#64758b;margin:8px 0}@media(max-width:700px){.student-change-diff>div{grid-template-columns:1fr;gap:0}.student-change-modal{max-height:calc(100vh - 20px)}}:root{font-family:Inter,PingFang SC,Microsoft YaHei,system-ui,-apple-system,sans-serif;color:#172033;background:#f3f6fa;font-synthesis:none;text-rendering:optimizeLegibility;--blue: #1769e0;--blue-deep: #0d3f9f;--ink: #172033;--muted: #718096;--line: #e7ecf3;--panel: #ffffff}*{box-sizing:border-box}body{margin:0;min-width:1120px;min-height:100vh}button,input,select,textarea{font:inherit}button{cursor:pointer}.login-shell{display:grid;grid-template-columns:1.08fr .92fr;min-height:100vh;background:radial-gradient(circle at 18% 12%,rgba(84,151,255,.25),transparent 27%),linear-gradient(135deg,#08285f,#0c4eaa 52%,#eaf2ff 52%,#f8fbff)}.login-brand{color:#fff;display:flex;flex-direction:column;justify-content:center;padding:10vh 12%;max-width:760px}.login-brand h1{font-size:clamp(40px,4vw,68px);line-height:1.12;letter-spacing:-.04em;margin:28px 0 22px}.login-brand>p:not(.eyebrow){font-size:18px;line-height:1.9;color:#ffffffc7;max-width:620px}.brand-points{display:flex;gap:12px;margin-top:28px}.brand-points span{border:1px solid rgba(255,255,255,.25);border-radius:999px;padding:8px 15px;background:#ffffff14}.login-panel{display:grid;place-items:center;padding:8vh 10%}.login-card{width:min(440px,100%);background:#fffffff5;border:1px solid rgba(255,255,255,.8);box-shadow:0 28px 80px #14376e2e;border-radius:24px;padding:42px}.login-card h2{font-size:34px;margin:6px 0 8px}.muted{color:var(--muted)}.login-card form{display:grid;gap:18px;margin-top:30px}.wechat-login-qr{background:#f7f9fc;border:1px solid #dfe7f0;border-radius:16px;display:grid;height:268px;margin:26px auto 17px;overflow:hidden;place-items:center;width:268px}.wechat-login-qr img{display:block;height:100%;object-fit:contain;padding:10px;width:100%}.wechat-login-qr.expired{background:#fff8f1;border-color:#efd9c4}.qr-generating{align-items:center;color:#708097;display:flex;flex-direction:column;gap:10px;padding:28px;text-align:center}.qr-generating>span{background:#e9f3ff;border-radius:50%;color:#1c6bd2;display:grid;font-size:24px;font-weight:800;height:62px;place-items:center;width:62px}.qr-generating .qr-spinner{animation:qr-pulse 1.2s ease-in-out infinite}.qr-generating strong{color:#35455b;font-size:16px}.qr-generating small{font-size:12px;line-height:1.6}.wechat-login-steps{color:#506179;display:flex;font-size:12px;justify-content:center;gap:18px}.qr-expiry{color:#8b98aa;font-size:11px;margin:10px 0 0;text-align:center}.local-demo-login{border-top:1px dashed #dce4ef;margin-top:18px;padding-top:14px}.local-demo-login>small{color:#8b98aa;display:block;margin-bottom:9px;text-align:center}.local-demo-login>div{display:flex;flex-wrap:wrap;gap:7px;justify-content:center}.local-demo-login button{background:#eef5ff;border:0;border-radius:999px;color:#2467bd;font-size:11px;padding:7px 10px}@keyframes qr-pulse{0%,to{opacity:.55;transform:scale(.92)}50%{opacity:1;transform:scale(1)}}label{color:#536179;display:grid;gap:8px;font-size:14px;font-weight:600}input,select,textarea{border:1px solid #dce4ef;border-radius:10px;background:#fff;color:var(--ink);min-height:42px;padding:10px 12px;outline:none;transition:.18s ease}input:focus,select:focus,textarea:focus{border-color:#5795ea;box-shadow:0 0 0 3px #1769e01c}.primary-button,.secondary-button{border:0;border-radius:10px;font-weight:700;min-height:42px;padding:0 18px}.primary-button{color:#fff;background:#1767bd;box-shadow:0 8px 18px #1769e02e}.primary-button:disabled{cursor:not-allowed;opacity:.45}.secondary-button{color:#40516b;background:#edf2f8}.full{width:100%}.wechat-invite-actions{align-items:center;background:#f6f9fd;border:1px solid #e2e9f2;border-radius:12px;display:flex;gap:18px;justify-content:space-between;padding:15px}.wechat-invite-actions strong{color:#34445a;font-size:13px}.wechat-invite-actions p{color:#8794a5;font-size:12px;line-height:1.55;margin:5px 0 0}.eyebrow{color:#5c85bd;font-size:11px;font-weight:800;letter-spacing:.14em;margin:0;text-transform:uppercase}.brand-mark{background:linear-gradient(145deg,#2f89ff,#0a4eae);border-radius:12px;box-shadow:inset 0 1px #ffffff59;color:#fff;display:grid;font-weight:900;height:42px;place-items:center;width:42px}.brand-mark.large{height:64px;width:64px;font-size:26px;margin-bottom:28px}.app-shell{min-height:100vh;display:grid;grid-template-columns:248px minmax(0,1fr)}.sidebar{background:#0b2e64;color:#fff;height:100vh;min-height:100vh;overflow:hidden;padding:24px 18px;position:fixed;inset:0 auto 0 0;width:248px;display:flex;flex-direction:column;z-index:10}.logo-row{align-items:center;display:flex;flex:0 0 auto;gap:12px;padding:0 8px 28px}.logo-row strong,.logo-row span{display:block}.logo-row strong{font-size:17px}.logo-row span{color:#92add3;font-size:11px;margin-top:3px}.sidebar nav{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain;padding-right:6px;scrollbar-color:rgba(174,204,244,.55) rgba(255,255,255,.08);scrollbar-gutter:stable;scrollbar-width:thin}.sidebar nav::-webkit-scrollbar{width:7px}.sidebar nav::-webkit-scrollbar-track{background:#ffffff14;border-radius:999px}.sidebar nav::-webkit-scrollbar-thumb{background:#aeccf48c;border-radius:999px}.sidebar nav::-webkit-scrollbar-thumb:hover{background:#aeccf4c7}.nav-caption{color:#708db6;font-size:10px;font-weight:800;letter-spacing:.14em;margin:12px 12px 8px}.sidebar nav button{align-items:center;background:transparent;border:0;border-radius:10px;color:#b6c9e5;display:flex;font-size:14px;gap:12px;margin:4px 0;padding:12px 14px;text-align:left;width:100%}.sidebar nav button span{color:#7ea7df;display:grid;font-size:13px;font-weight:800;height:24px;place-items:center;width:24px}.sidebar nav button.active{background:linear-gradient(90deg,#2b7eee57,#2b7eee14);color:#fff}.sidebar nav button.active span{color:#8ec1ff}.sidebar-user{align-items:center;border-top:1px solid rgba(255,255,255,.1);display:grid;flex:0 0 auto;gap:10px;grid-template-columns:36px 1fr 28px;padding:20px 4px 2px}.avatar{background:#dcecff;border-radius:10px;color:#1f65c5;display:grid;font-weight:800;height:36px;place-items:center;width:36px}.sidebar-user strong,.sidebar-user span{display:block}.sidebar-user strong{font-size:13px}.sidebar-user span{color:#89a6ce;font-size:11px;margin-top:3px}.sidebar-user>button{background:transparent;border:0;color:#84a1c8;font-size:18px}.main-shell{grid-column:2;min-width:0}.topbar{align-items:center;background:#ffffffeb;border-bottom:1px solid var(--line);display:flex;height:64px;justify-content:space-between;padding:0 32px;position:sticky;top:0;z-index:5;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.topbar>div{align-items:center;display:flex;gap:9px;font-size:13px;font-weight:700}.campus-indicator{background:#23b26d;border:3px solid #d8f5e7;border-radius:50%;height:12px;width:12px}.top-actions button{border:0;border-radius:50%;background:#f1f5fa;color:#56657b;height:34px;width:34px}.role-switch{align-items:center;display:flex;gap:8px}.role-switch>span{color:#8996a7;font-size:11px;font-weight:600}.role-switch select{background:#f2f6fb;border:1px solid #dfe7f1;border-radius:8px;color:#285fad;font-size:12px;font-weight:700;min-height:34px;padding:5px 28px 5px 10px}.version-chip{color:#60728b;background:#f2f5f9;border-radius:999px;font-size:11px;padding:7px 12px}.content{margin:auto;min-width:0;width:100%;max-width:1480px;padding:28px 32px 56px}.hero-card{align-items:center;background:#fff;border:1px solid #dce3eb;border-radius:8px;color:#243447;display:flex;justify-content:space-between;min-height:140px;overflow:hidden;padding:24px 28px;position:relative}.hero-card:after{display:none;border:1px solid rgba(255,255,255,.12);border-radius:50%;content:"";height:260px;position:absolute;right:-30px;top:-115px;width:260px}.hero-card .eyebrow{color:#64748b}.hero-card h2{font-size:31px;margin:9px 0}.hero-card p:last-child{color:#64748b;margin:0}.hero-date{align-items:center;border-left:1px solid rgba(255,255,255,.22);display:flex;gap:14px;padding-left:30px;z-index:1}.hero-date strong{font-size:58px;line-height:1}.hero-date span{color:#64748b;font-size:13px;max-width:70px}.stat-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin:18px 0}.stat-card{background:var(--panel);border:1px solid var(--line);border-radius:14px;overflow:hidden;padding:21px 23px;position:relative}.stat-card:before{border-radius:0 0 8px 8px;content:"";height:4px;left:22px;position:absolute;top:0;width:34px}.stat-card.blue:before{background:#2878e8}.stat-card.green:before{background:#20a56a}.stat-card.orange:before{background:#ed8a35}.stat-card.purple:before{background:#8058d6}.stat-card span,.stat-card strong,.stat-card small{display:block}.stat-card span{color:#607089;font-size:13px}.stat-card strong{color:#162239;font-size:29px;margin:10px 0 6px}.stat-card small{color:#9aa6b6}.two-column{display:grid;gap:18px;grid-template-columns:1.18fr .82fr}.panel{background:var(--panel);border:1px solid var(--line);border-radius:15px}.panel-header{align-items:center;border-bottom:1px solid var(--line);display:flex;justify-content:space-between;padding:21px 24px}.panel-header h3{margin:4px 0 0}.status-pill{border-radius:999px;display:inline-flex;font-size:11px;font-style:normal;font-weight:700;padding:5px 9px}.status-pill.active,.status-pill.approved,.status-pill.paid{background:#e2f7ec;color:#168754}.status-pill.issued{background:#e8f2ff;color:#1d64bd}.status-pill.submitted{background:#fff2dc;color:#b56813}.status-pill.rejected{background:#fee9e9;color:#bf4141}.status-pill.inactive{background:#edf1f5;color:#77869a}.timeline{padding:15px 26px 24px}.timeline-row{align-items:center;display:grid;gap:13px;grid-template-columns:14px 52px 1fr;min-height:58px;position:relative}.timeline-row:not(:last-child):after{background:#e1e7ef;content:"";height:32px;left:6px;position:absolute;top:43px;width:2px}.timeline-dot{background:#fff;border:3px solid #c7d2e0;border-radius:50%;height:14px;width:14px}.timeline-dot.done{background:#1c70e4;border-color:#bcd8ff}.timeline-row>strong{color:#314158;font-size:13px}.timeline-row p,.timeline-row small{margin:0}.timeline-row p{font-size:13px;font-weight:600}.timeline-row small{color:#9aa6b5}.notice-list{padding:10px 24px 18px}.notice-row{align-items:center;border-bottom:1px solid #eff2f6;display:flex;gap:13px;padding:15px 0}.notice-bullet,.notice-board-icon{background:#e8f2ff;border-radius:9px;color:#1e6fdc;display:grid;flex:0 0 auto;font-size:12px;font-weight:800;height:34px;place-items:center;width:34px}.notice-row strong,.notice-row small{display:block}.notice-row strong{font-size:13px;margin-bottom:5px}.notice-row small{color:#99a6b7}.page-panel{min-width:0;max-width:100%;min-height:calc(100vh - 148px);padding:28px}.page-heading{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:25px}.page-heading h2{font-size:28px;margin:6px 0 7px}.page-heading p:last-child{color:var(--muted);margin:0}.toolbar,.attendance-toolbar,.finance-controls{align-items:center;background:#f7f9fc;border:1px solid #ebeff5;border-radius:12px;display:flex;gap:12px;margin-bottom:20px;padding:12px}.search-input{min-width:330px}.result-count{color:#8997aa;font-size:12px;margin-left:auto}.table-wrap{border:1px solid var(--line);border-radius:12px;overflow:hidden}table{border-collapse:collapse;width:100%}th{background:#f6f8fb;color:#68788e;font-size:12px;font-weight:700;padding:13px 15px;text-align:left}td{border-top:1px solid #edf0f5;color:#354258;font-size:13px;padding:15px}td small{color:#94a0b1;display:block;margin-top:5px}.person-cell{align-items:center;display:flex;gap:10px}.person-cell span{background:#e8f2ff;border-radius:8px;color:#2472d9;display:grid;font-weight:800;height:32px;place-items:center;width:32px}.tag{background:#edf4ff;border-radius:6px;color:#2d69bd;display:inline-flex;font-size:11px;padding:5px 8px}.money{font-weight:700}.status-dot{align-items:center;display:inline-flex;font-size:12px;gap:6px}.status-dot:before{border-radius:50%;content:"";height:7px;width:7px}.status-dot.ok{color:#1c8658}.status-dot.ok:before{background:#24a86d}.status-dot.pending{color:#b1782d}.status-dot.pending:before{background:#eca64c}.empty{color:#97a3b3;padding:30px;text-align:center}.error-banner,.info-banner,.success-banner{border-radius:9px;font-size:13px;margin:12px 0;padding:11px 13px}.error-banner{background:#fff0f0;color:#b34242}.info-banner{background:#eaf3ff;color:#2767bc}.success-banner{background:#e8f8ef;color:#1c8156}.modal-backdrop{background:#08152885;display:grid;inset:0;place-items:center;position:fixed;z-index:100}.modal{background:#fff;border-radius:18px;box-shadow:0 30px 100px #05193747;max-height:88vh;overflow:auto;padding:28px;width:min(680px,90vw)}.modal>header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:24px}.modal h2{margin:5px 0 0}.icon-button{background:#f0f3f7;border:0;border-radius:8px;color:#65748a;font-size:22px;height:34px;width:34px}.form-grid{display:grid;gap:17px;grid-template-columns:1fr 1fr}.form-grid .error-banner,.form-grid .form-actions{grid-column:1 / -1}.service-picker{border:1px solid #dfe6ef;border-radius:10px;padding:12px 14px 14px}.service-picker legend{color:#607089;font-size:13px;font-weight:700;padding:0 6px}.service-picker>p{color:#8a97a8;font-size:12px;margin:0 0 10px}.service-option-grid{display:grid;gap:8px;grid-template-columns:repeat(2,1fr)}.service-option{align-items:center;background:#f5f8fc;border:1px solid #e5ebf3;border-radius:9px;display:flex;flex-direction:row;gap:9px;padding:10px 12px}.service-option input{min-height:unset}.service-option span,.service-option small{display:block}.service-option small{color:#2670cb;margin-top:3px}.direct-service-option{background:#f5f8fc;border:1px solid #e5ebf3;border-radius:10px;overflow:hidden}.direct-service-option.selected{background:#f7fbff;border-color:#9fc4ef}.direct-service-option .service-option{background:transparent;border:0;border-radius:0}.direct-service-price-fields{border-top:1px solid #e2eaf4;display:grid;gap:10px;grid-template-columns:1fr 1fr;padding:11px 12px 13px}.direct-service-price-fields label{font-size:12px}.direct-service-price-fields input{min-width:0;width:100%}.field-warning{color:#b46918;font-size:12px}.registration-approval{min-width:min(760px,78vw)}.registration-summary{background:#f4f8fd;border:1px solid #dfe8f3;border-radius:10px;display:grid;gap:5px;padding:13px 15px}.registration-summary span,.registration-summary small{color:#68788e;font-size:12px}.registration-summary small{color:#1c7b55}.approval-service-list{display:grid;gap:10px}.approval-service-list article{align-items:end;background:#fafbfd;border:1px solid #e3e9f1;border-radius:10px;display:grid;gap:12px;grid-template-columns:minmax(180px,1fr) minmax(170px,.8fr) 160px;padding:13px}.approval-service-list article.selected{background:#f3f8ff;border-color:#8bb9ee}.approval-service-list .checkbox-label{align-self:center;display:grid;grid-template-columns:auto 1fr}.approval-service-list .checkbox-label span{color:#77869a;font-size:11px;grid-column:2}.approval-service-list label:not(.checkbox-label){color:#637288;font-size:11px}.stack-form{display:grid;gap:17px}.form-actions{display:flex;gap:10px;justify-content:flex-end;margin-top:12px}.attendance-toolbar{flex-wrap:wrap}.segmented{background:#e8edf4;border-radius:9px;display:flex;gap:3px;padding:3px}.segmented button{background:transparent;border:0;border-radius:7px;color:#68778a;padding:8px 13px}.segmented button.selected{background:#fff;box-shadow:0 2px 8px #22375214;color:#1a65cb;font-weight:700}.attendance-toolbar .primary-button{margin-left:auto}.read-only-tip{color:#a66b18;font-size:13px;margin-left:auto}.pickup-schedule-section{background:#f7f9fc;border:1px solid #e5eaf1;border-radius:13px;margin:18px 0;padding:17px}.compact-head{margin-bottom:12px}.pickup-schedule-grid{display:grid;gap:10px;grid-template-columns:repeat(3,1fr)}.pickup-schedule-card{align-items:start;background:#fff;border:1px solid #e1e8f1;border-radius:11px;display:grid;gap:12px;grid-template-columns:auto 1fr;padding:14px}.pickup-schedule-card time{background:#eaf3ff;border-radius:8px;color:#1a67ca;font-size:17px;font-weight:800;padding:8px}.pickup-schedule-card strong,.pickup-schedule-card span,.pickup-schedule-card small{display:block}.pickup-schedule-card span{color:#5c6d82;font-size:12px;margin:4px 0}.pickup-schedule-card small,.pickup-schedule-card p{color:#8a97a8;font-size:11px}.pickup-schedule-card p{border-top:1px dashed #e6ebf2;margin:8px 0 0;padding-top:7px}.date-chip{background:#edf4ff;border-radius:9px;color:#3172c9;font-size:13px;font-weight:700;padding:10px 14px}.student-check-grid{display:grid;gap:12px;grid-template-columns:repeat(4,1fr)}.student-check{background:#fff;border:1px solid #e0e7f0;border-radius:12px;display:grid;min-height:125px;padding:17px;position:relative;text-align:left}.student-check:hover,.student-check.selected{border-color:#4a8fe9;box-shadow:0 8px 20px #2163b714}.student-check.selected{background:#f3f8ff}.checkmark{background:#e7edf4;border-radius:50%;color:transparent;display:grid;height:22px;place-items:center;position:absolute;right:12px;top:12px;width:22px}.student-check.selected .checkmark{background:#1f72de;color:#fff}.student-check strong{font-size:16px;padding-right:22px}.student-check small{color:#8c99aa;margin-top:7px}.student-check em{color:#3474c7;font-size:11px;font-style:normal;margin-top:10px}.request-list{display:grid;gap:12px}.request-card{align-items:center;border:1px solid #e5eaf1;border-radius:12px;display:grid;gap:15px;grid-template-columns:42px 1fr auto auto;padding:16px}.request-avatar{background:#e9f2ff;border-radius:10px;color:#286bc5;display:grid;font-weight:800;height:42px;place-items:center}.request-main p,.request-main small{margin:4px 0 0}.request-main p{color:#536279;font-size:13px}.request-main small{color:#929faf}.request-actions{display:flex;gap:8px}.academic-toolbar{align-items:center;background:#f7f9fc;border:1px solid #e7ecf3;border-radius:12px;display:flex;gap:11px;margin-bottom:20px;padding:12px}.academic-tabs{margin-left:auto}.academic-grid{display:grid;gap:14px;grid-template-columns:repeat(3,1fr)}.grade-card{border:1px solid #e2e8f0;border-radius:13px;padding:18px}.grade-card>header{align-items:center;display:grid;gap:10px;grid-template-columns:38px 1fr auto}.subject-mark{background:#e8f2ff;border-radius:9px;color:#286dca;display:grid;font-weight:800;height:38px;place-items:center}.grade-card header strong,.grade-card header small{display:block}.grade-card header small,.grade-card header em{color:#94a0af;font-size:11px;font-style:normal;margin-top:4px}.score{align-items:baseline;display:flex;margin:21px 0 9px}.score strong{font-size:34px}.score span{color:#96a2b2;margin-left:6px}.grade-rank{align-items:center;background:#f4f8fd;border-radius:9px;color:#718096;display:flex;font-size:12px;justify-content:space-between;margin-bottom:12px;padding:9px 11px}.grade-rank b{color:#286dca;font-size:12px}.grade-card>p{color:#718096;font-size:12px;margin:0}.wrong-list{display:grid;gap:12px}.wrong-card{align-items:center;border:1px solid #e3e9f0;border-radius:12px;display:grid;gap:15px;grid-template-columns:58px 1fr auto;padding:16px}.wrong-image{background:linear-gradient(135deg,#eef4fb,#dfeaf8);border-radius:10px;color:#4b6f9c;display:grid;font-weight:800;height:58px;place-items:center}.wrong-main header{align-items:center;display:flex;gap:8px}.wrong-main p,.wrong-main small{margin:6px 0 0}.wrong-main p{color:#5b6a7e;font-size:13px}.wrong-main small{color:#97a3b2}.growth-timeline{padding:4px 10px 10px}.growth-timeline article{display:grid;gap:14px;grid-template-columns:15px 90px 1fr;min-height:95px;position:relative}.growth-timeline article:not(:last-child):before{background:#dfe6ef;content:"";height:calc(100% - 18px);left:6px;position:absolute;top:18px;width:2px}.growth-dot{background:#2474dd;border:4px solid #dcecff;border-radius:50%;height:15px;margin-top:4px;width:15px;z-index:1}.growth-timeline time{color:#7e8c9f;font-size:12px;padding-top:4px}.growth-timeline article>div{border-bottom:1px solid #edf1f5;padding-bottom:18px}.growth-timeline header{align-items:center;display:flex;gap:8px}.growth-timeline p{color:#56667b;font-size:13px;margin:8px 0 5px}.growth-timeline small{color:#98a4b3}.form-grid.compact{grid-template-columns:1fr 1fr}.wallet-hero{align-items:center;background:radial-gradient(circle at 18% 10%,rgba(255,255,255,.18),transparent 30%),linear-gradient(130deg,#104d9f,#1f75dc);border-radius:14px;color:#fff;display:flex;justify-content:space-between;margin-bottom:20px;min-height:160px;padding:26px 30px}.wallet-hero span,.wallet-hero strong,.wallet-hero small{display:block}.wallet-hero span,.wallet-hero small{color:#bdd7f7}.wallet-hero strong{font-size:36px;margin:10px 0}.wallet-actions{display:grid;gap:10px;grid-template-columns:190px 260px}.wallet-action-card{background:#ffffff1a;border:1px solid rgba(255,255,255,.18);border-radius:10px;display:grid;gap:7px;padding:12px}.wallet-action-card>strong{font-size:14px;margin:0}.wallet-action-card label{color:#d4e4f8;font-size:11px}.wallet-action-card input,.wallet-action-card select{min-height:34px;padding:7px 9px;width:100%}.wallet-action-card small{line-height:1.45}.wallet-action-card .secondary-button{background:#ffffff26;color:#fff}.positive{color:#168552;font-weight:700}.negative{color:#c84d4d;font-weight:700}.notice-board{display:grid;gap:12px}.notice-board>article{border:1px solid #e7ebf2;border-radius:12px;display:flex;gap:15px;padding:18px}.notice-board article header{align-items:center;display:flex;gap:9px}.notice-board p{color:#59687c;font-size:13px;line-height:1.7;margin:8px 0}.notice-board small{color:#9aa5b4}.checkbox-label{align-items:center;display:flex;gap:8px}.checkbox-label input{min-height:unset}.permission-fieldset{border:1px solid #dfe6ef;border-radius:10px;display:grid;gap:10px;padding:14px}.permission-fieldset legend{color:#607089;font-size:13px;font-weight:700;padding:0 6px}.staff-grid{display:grid;gap:13px;grid-template-columns:1fr 1fr}.staff-card{align-items:center;border:1px solid #e3e9f1;border-radius:12px;display:grid;gap:14px;grid-template-columns:46px 1fr auto;padding:17px}.staff-card-actions{align-items:flex-end;display:flex;flex-direction:column;gap:8px}.staff-avatar{background:#e8f2ff;border-radius:11px;color:#286dca;display:grid;font-size:16px;font-weight:800;height:46px;place-items:center}.staff-main header{align-items:center;display:flex;gap:9px}.staff-main p,.staff-main small{margin:5px 0 0}.staff-main p{color:#58687d;font-size:12px}.staff-main small{color:#929faf}.wechat-bound-pill{border-radius:999px;display:inline-block;font-size:10px;margin-top:6px;padding:4px 8px}.wechat-bound-pill.bound{background:#e5f7ee;color:#188357}.wechat-bound-pill.unbound{background:#fff3df;color:#a66b1e}.wechat-invite-result{display:grid;gap:16px}.staff-wechat-invite{align-items:center;background:#f7f9fc;border:1px solid #e0e7f0;border-radius:13px;display:grid;gap:20px;grid-template-columns:190px 1fr;padding:18px}.staff-wechat-invite>img,.staff-qr-placeholder{background:#fff;border:1px solid #dce5ef;border-radius:11px;height:190px;width:190px}.staff-wechat-invite>img{object-fit:contain;padding:8px}.staff-qr-placeholder{align-items:center;color:#8390a2;display:flex;flex-direction:column;justify-content:center;padding:18px;text-align:center}.staff-qr-placeholder>span{background:#eaf3ff;border-radius:50%;color:#2169c6;display:grid;font-weight:800;height:48px;margin-bottom:10px;place-items:center;width:48px}.staff-qr-placeholder strong{color:#40516a;font-size:13px}.staff-qr-placeholder small{font-size:10px;line-height:1.5;margin-top:6px}.staff-wechat-invite>div:last-child>strong{color:#2f4056;font-size:14px}.staff-wechat-invite>div:last-child>p{color:#78869a;font-size:12px;line-height:1.65}.staff-wechat-invite>div:last-child>small{color:#2a6bc1;font-size:11px}.refund-section{border-top:1px solid #e8edf3;margin-top:28px;padding-top:27px}.reconciliation-controls{display:grid;grid-template-columns:minmax(180px,1fr) auto auto;gap:12px;align-items:end;margin:18px 0}.reconciliation-controls label{display:grid;gap:7px;color:var(--muted);font-size:13px}.reconciliation-controls input{min-width:0}.reconciliation-result{display:grid;gap:7px;margin:14px 0 18px;padding:14px 16px;border:1px solid #b8e6d0;border-radius:14px;background:#f0fbf6}.reconciliation-result.has-mismatch{border-color:#f2c2c2;background:#fff4f4}.reconciliation-result code{display:block;overflow-wrap:anywhere;white-space:normal}@media(max-width:760px){.reconciliation-controls{grid-template-columns:1fr}}.billing-preview-card,.billing-statement-card,.student-price-editor{border:1px solid #e1e8f1;border-radius:13px;margin:20px 0;padding:20px}.billing-preview-card>header,.billing-statement-card>header,.student-price-editor>header{align-items:end;display:flex;justify-content:space-between;margin-bottom:15px}.billing-preview-card h3,.billing-statement-card h3,.student-price-editor h3{margin:3px 0 5px}.billing-preview-card header p:last-child,.billing-statement-card header p:last-child,.student-price-editor header p:last-child{color:#7d8b9d;font-size:12px;margin:0}.billing-preview-card header label{color:#65758a;font-size:12px;min-width:170px}.billing-preview-totals{display:grid;gap:10px;grid-template-columns:repeat(5,1fr);margin-bottom:14px}.billing-preview-totals article{background:#f7f9fc;border:1px solid #e6ebf2;border-radius:10px;padding:14px}.billing-preview-totals span,.billing-preview-totals strong,.billing-preview-totals small{display:block}.billing-preview-totals span,.billing-preview-totals small{color:#7a899b;font-size:11px}.billing-preview-totals strong{font-size:20px;margin:8px 0 5px}.billing-preview-totals .billing-payable{background:#175fb8;border-color:#175fb8;color:#fff}.billing-preview-totals .billing-payable span,.billing-preview-totals .billing-payable small{color:#d9e9fb}.compact-billing-table{box-shadow:none}.billing-statement-card{background:#fbfdff;border-color:#cfdceb}.billing-statement-card>header{align-items:flex-start;gap:20px}.billing-statement-actions{align-items:flex-end;display:flex;flex-direction:column;flex-shrink:0;gap:6px}.billing-statement-actions small{color:#a46d20;font-size:11px;max-width:230px;text-align:right}.statement-readonly-label{background:#edf2f7;border-radius:999px;color:#67768a;font-size:11px;font-weight:700;padding:8px 12px}.billing-freeze-note{align-items:flex-start;background:#fff7e8;border:1px solid #f0dab0;border-radius:10px;color:#8e601c;display:flex;gap:12px;margin-bottom:15px;padding:12px 14px}.billing-freeze-note strong{flex-shrink:0;font-size:12px}.billing-freeze-note span{font-size:12px;line-height:1.55}.billing-statement-list{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:14px}.billing-statement-list button{background:#f4f7fb;border:1px solid #dfe6ef;border-radius:9px;color:#43536a;cursor:pointer;min-width:220px;padding:10px 12px;text-align:left}.billing-statement-list button.active{background:#eaf3ff;border-color:#74a9eb;color:#195dac}.billing-statement-list strong,.billing-statement-list small{display:block}.billing-statement-list small{font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:10px;margin-top:4px}.billing-statement-meta{background:#fff;border:1px solid #e2e9f1;border-radius:10px;display:grid;gap:0;grid-template-columns:repeat(3,minmax(0,1fr));margin-bottom:12px;overflow:hidden}.billing-statement-meta>div{border-bottom:1px solid #edf1f5;border-right:1px solid #edf1f5;min-width:0;padding:12px 14px}.billing-statement-meta>div:nth-child(3n){border-right:0}.billing-statement-meta>div:nth-last-child(-n+3){border-bottom:0}.billing-statement-meta span,.billing-statement-meta strong,.billing-statement-meta code{display:block}.billing-statement-meta span{color:#7b899a;font-size:11px;margin-bottom:6px}.billing-statement-meta strong,.billing-statement-meta code{color:#26354a;font-size:12px;overflow-wrap:anywhere}.billing-statement-meta code{font-family:ui-monospace,SFMono-Regular,Consolas,monospace}.billing-statement-totals{display:grid;gap:10px;grid-template-columns:repeat(6,minmax(0,1fr));margin-bottom:12px}.billing-statement-totals article{background:#fff;border:1px solid #e3e9f1;border-radius:10px;min-width:0;padding:13px}.billing-statement-totals span,.billing-statement-totals strong,.billing-statement-totals small{display:block}.billing-statement-totals span,.billing-statement-totals small{color:#79889a;font-size:10px}.billing-statement-totals strong{font-size:18px;margin:7px 0 5px}.billing-statement-totals .billing-payable{background:#175fb8;border-color:#175fb8;color:#fff}.billing-statement-totals .billing-payable span,.billing-statement-totals .billing-payable small{color:#d9e9fb}.billing-cap-summary{align-items:center;background:#f4f7fb;border-radius:9px;color:#627287;display:flex;flex-wrap:wrap;font-size:11px;gap:8px 18px;margin-bottom:12px;padding:10px 12px}.billing-statement-lines td{vertical-align:top}.billing-statement-lines td strong,.billing-statement-lines td small{display:block}.billing-statement-lines td small{color:#7d8b9d;font-size:10px;margin-top:4px}.billing-line-cap{border-radius:999px;display:inline-flex;font-size:10px;font-weight:700;padding:5px 8px;white-space:nowrap}.billing-line-cap.included{background:#e3f6ec;color:#168050}.billing-line-cap.excluded{background:#f1f3f6;color:#788597}.billing-statement-empty{align-items:center;background:#f5f8fc;border:1px dashed #ced9e7;border-radius:10px;color:#718095;display:flex;flex-direction:column;gap:6px;padding:30px 18px;text-align:center}.billing-statement-empty strong{color:#3f5067;font-size:13px}.billing-statement-empty span{font-size:11px}.student-price-list{display:grid;gap:10px}.student-price-list article{align-items:end;background:#f8fafc;border:1px solid #e5eaf1;border-radius:10px;display:grid;gap:12px;grid-template-columns:minmax(160px,1fr) 180px 160px 115px auto;padding:13px}.student-price-list article>div:first-child strong,.student-price-list article>div:first-child small,.price-daily-preview span,.price-daily-preview strong{display:block}.student-price-list article>div:first-child small,.price-daily-preview span{color:#7b899a;font-size:11px;margin-top:4px}.student-price-list label{color:#65758a;font-size:11px}.price-daily-preview strong{margin-top:8px}.refund-section>header h3{margin:5px 0 7px}.refund-section>header p:last-child{color:#7f8d9e;font-size:13px;margin:0}.refund-form{background:#f7f9fc;border:1px solid #e8edf3;border-radius:11px;display:grid;gap:10px;grid-template-columns:.7fr 1fr 1.3fr auto;margin:17px 0;padding:12px}.refund-card{grid-template-columns:42px 1fr auto auto}.profit-filter{align-items:center;background:#f7f9fc;border:1px solid #e7ecf3;border-radius:11px;display:flex;gap:10px;margin-bottom:18px;padding:12px}.profit-filter span{color:#8794a5}.profit-grid{display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(175px,1fr));margin-bottom:20px}.profit-grid article{border:1px solid #e3e9f1;border-radius:12px;padding:20px}.profit-grid span,.profit-grid strong,.profit-grid small{display:block}.profit-grid span{color:#718096;font-size:12px}.profit-grid strong{font-size:25px;margin:10px 0 5px}.profit-grid small{color:#99a5b4}.profit-grid .profit-highlight{background:linear-gradient(135deg,#0c4b9d,#1d73da);border:0;color:#fff}.profit-grid .profit-highlight span,.profit-grid .profit-highlight small{color:#c1daf8}.month-picker{align-items:center;background:#f7f9fc;border:1px solid #e4eaf2;border-radius:12px;display:flex;gap:12px;padding:9px 12px}.month-picker input{min-height:36px}.allocation-page{display:grid;gap:18px}.allocation-page>.page-heading{margin-bottom:0}.allocation-section{border:1px solid #e3e9f1;border-radius:14px;padding:20px}.allocation-section>header{align-items:flex-start;display:flex;gap:20px;justify-content:space-between;margin-bottom:16px}.allocation-section>header h3{margin:0 0 6px}.allocation-section>header p{color:#7f8da0;font-size:13px;margin:0}.allocation-section>header>strong{color:#1d64c3;white-space:nowrap}.allocation-inline-form{align-items:end;display:grid;gap:12px;grid-template-areas:"campus date meal count" "reason reason reason submit";grid-template-columns:minmax(220px,1.2fr) minmax(180px,.8fr) minmax(150px,.6fr) minmax(150px,.6fr)}.correction-campus-field{grid-area:campus}.correction-date-field{grid-area:date}.correction-meal-field{grid-area:meal}.correction-count-field{grid-area:count}.correction-reason-field{grid-area:reason}.correction-submit{grid-area:submit;justify-self:end}.allocation-inline-form .wide-field{min-width:0}.allocation-inline-form button{white-space:nowrap}.warning-banner{background:#fff8ea;border:1px solid #f2dfb7;border-radius:10px;color:#8a621e;font-size:13px;line-height:1.7;margin-top:13px;padding:11px 13px}.allocation-employee-head{display:grid;gap:14px;grid-template-columns:minmax(220px,.7fr) minmax(280px,1.3fr)}.ratio-grid{display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin:16px 0}.ratio-grid label{background:#f7f9fc;border:1px solid #e5ebf2;border-radius:11px;padding:13px}.ratio-grid label>span{align-items:center;display:flex;gap:8px}.ratio-grid input{min-width:0;width:100%}.ratio-grid b{color:#758397}.ratio-total{background:#fff0ef;border-radius:999px;color:#b64c47;font-size:12px;font-weight:800;padding:7px 11px;white-space:nowrap}.ratio-total.valid{background:#e9f8f1;color:#167a55}.allocation-audit{border-top:1px solid #e8edf3;color:#68788c;font-size:12px;margin-top:18px;padding-top:14px}.allocation-audit summary{color:#2b69ba;cursor:pointer;font-weight:700}.allocation-audit p{line-height:1.7}.campus-grid{display:grid;gap:18px;grid-template-columns:repeat(3,1fr)}.campus-card{border:1px solid #e2e8f0;border-radius:14px;overflow:hidden}.campus-cover{align-items:flex-start;display:flex;height:115px;justify-content:space-between;padding:18px}.cover-0{background:linear-gradient(135deg,#dcecff,#eff6ff)}.cover-1{background:linear-gradient(135deg,#e5f4ed,#f2faf6)}.cover-2{background:linear-gradient(135deg,#f1e8ff,#faf6ff)}.campus-cover>span{background:#fffc;border-radius:12px;color:#286bc5;display:grid;font-size:24px;font-weight:900;height:54px;place-items:center;width:54px}.campus-content{padding:19px}.campus-content h3{margin:0 0 7px}.campus-content>p{color:#8794a6;font-size:12px;min-height:19px}.campus-content dl{border-top:1px solid #edf0f5;margin:16px 0 0;padding-top:13px}.campus-content dl>div{display:flex;font-size:12px;justify-content:space-between;margin-top:8px}.campus-content dt{color:#93a0b0}.campus-content dd{color:#3f4f65;margin:0}.campus-edit{margin-top:13px}.settings-grid{display:grid;gap:16px;grid-template-columns:1fr 1fr}.config-tabs{border-bottom:1px solid #e5eaf1;display:flex;gap:28px;margin:-3px 0 25px}.config-tabs button{background:transparent;border:0;border-bottom:3px solid transparent;color:#738196;font-weight:700;padding:13px 3px}.config-tabs button.active{border-bottom-color:#1d6fd9;color:#1d62bd}.config-tabs button span{background:#edf3fb;border-radius:999px;font-size:10px;margin-left:5px;padding:3px 7px}.config-section-head{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.config-section-head h3{margin:0 0 6px}.standard-pricing-card{border:1px solid #dce6f3;border-radius:16px;margin:20px 0 28px;padding:20px;background:#f8fbff}.standard-pricing-matrix input[type=number]{min-width:78px;max-width:115px;width:100%}.standard-pricing-matrix input[type=checkbox]{width:auto}.standard-pricing-matrix th{white-space:normal;min-width:90px}.standard-pricing-actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:14px;margin:18px 0}.standard-pricing-actions p{margin:0}.standard-pricing-application{border-top:1px solid #dce6f3;margin-top:24px;padding-top:18px}.standard-pricing-application p,.config-help{color:#65758a;line-height:1.7;font-size:13px}.standard-pricing-preview .table-wrap{max-height:440px;overflow:auto}.standard-pricing-preview td{min-width:95px;vertical-align:top}.standard-pricing-preview td small{display:block;margin-top:4px}.standard-pricing-preview select{min-width:170px;max-width:270px}.config-help{border:1px solid #dce6f3;background:#f5f8fd;border-radius:10px;padding:12px}.config-help p{margin-top:0}.config-help>.inline-actions{margin:10px 0}.config-help strong{display:block;color:#95621a}.config-help>button{margin-top:10px}.config-section-head p{color:#8491a2;font-size:13px;margin:0}.inline-actions{align-items:center;display:flex;gap:8px;white-space:nowrap}.inline-actions button{background:transparent;border:0;color:#2769bd;font-size:12px;padding:3px}.table-action{background:transparent;border:0;color:#236ac5;font-size:12px;padding:4px}.read-only-label{color:#9aa5b4;font-size:12px}.time-cell{color:#1e65c3;font-size:15px;font-weight:800}.route-cell{color:#68778a;max-width:240px}.general-config{display:grid;gap:16px;grid-template-columns:1fr 1fr}.general-config>article{border:1px solid #e3e9f1;border-radius:13px;display:grid;gap:15px;grid-template-columns:42px 1fr;padding:22px}.general-config h3{margin:1px 0 7px}.general-config p{color:#8592a4;font-size:12px;line-height:1.6;margin:0 0 15px}.general-config footer{align-items:center;display:flex;grid-column:1 / -1;justify-content:flex-end;gap:15px}.general-config footer span{color:#198557;font-size:13px}.weekday-fieldset{align-items:center;border:1px solid #dfe6ef;border-radius:10px;display:flex;gap:9px;grid-column:1 / -1;padding:12px 14px 14px}.weekday-fieldset legend{color:#607089;font-size:13px;font-weight:700;padding:0 6px}.weekday-fieldset label{align-items:center;background:#f3f6fa;border-radius:7px;display:flex;flex-direction:row;gap:5px;padding:7px 10px}.weekday-fieldset input{min-height:unset}.full-field{grid-column:1 / -1}.settings-grid>article{border:1px solid #e4e9f0;border-radius:13px;display:grid;gap:15px;grid-template-columns:42px 1fr;padding:20px}.setting-icon{background:#eaf3ff;border-radius:10px;color:#2670d2;display:grid;font-size:13px;font-weight:800;height:42px;place-items:center;width:42px}.settings-grid h3{margin:2px 0 6px}.settings-grid p{color:#8592a4;font-size:12px;line-height:1.6;margin:0 0 15px}.settings-grid label{max-width:260px}.toggle-row{align-items:center;display:flex}.toggle-row input{accent-color:#1769e0;min-height:unset}.daily-content-settings{display:grid;gap:20px}.preview-config-banner{align-items:flex-start;background:#fff7e8;border:1px solid #f1ddb4;border-radius:11px;color:#91601a;display:flex;flex-direction:column;gap:4px;padding:13px 16px}.preview-config-banner strong{font-size:13px}.preview-config-banner span{font-size:12px}.daily-config-block{border:1px solid #e2e8f0;border-radius:14px;padding:20px}.daily-config-list{display:grid;gap:12px}.daily-config-row{background:#f8fafc;border:1px solid #e4eaf2;border-radius:12px;padding:16px}.grade-config-row,.meal-config-main{align-items:end;display:grid;gap:12px}.grade-config-row{grid-template-columns:minmax(150px,.7fr) minmax(260px,1.5fr) 120px auto}.meal-config-main{grid-template-columns:minmax(140px,.7fr) minmax(180px,1fr) minmax(180px,1fr) 110px auto}.daily-config-row label{display:grid;gap:7px}.daily-config-row label>span,.service-scope-fieldset legend{color:#607089;font-size:12px;font-weight:700}.daily-config-row input,.daily-config-row select{min-width:0;width:100%}.daily-config-row input.invalid{border-color:#d75d5d;box-shadow:0 0 0 3px #cb3a3a17}.danger-text-button{background:transparent;border:0;color:#b64b4b;min-height:42px;padding:0 8px}.service-scope-fieldset{border:1px solid #dfe6ef;border-radius:10px;display:flex;flex-wrap:wrap;gap:9px;margin:15px 0 0;padding:10px 13px 13px}.service-scope-fieldset legend{padding:0 6px}.service-scope-fieldset label{align-items:center;background:#edf3fb;border-radius:8px;color:#40516b;display:flex;flex-direction:row;font-size:12px;gap:6px;padding:7px 10px}.service-scope-fieldset input{accent-color:#1769e0;min-height:unset;width:auto}.service-scope-fieldset small{color:#8a97a8;font-size:12px;padding:5px 0}.compact-admin-empty{background:#f8fafc;border-radius:10px;font-size:13px;margin:0;padding:24px}.daily-config-footer{align-items:center;display:flex;justify-content:flex-end;gap:16px}.daily-config-footer span{font-size:13px}.save-message{color:#198557}.preview-message{color:#9a681f}.operations-diagnostic{display:grid;gap:20px}.diagnostic-summary-grid{display:grid;gap:16px;grid-template-columns:repeat(2,minmax(0,1fr))}.diagnostic-summary-grid article{background:#f8fafc;border:1px solid #e2e8f0;border-radius:13px;display:grid;gap:8px;padding:18px}.diagnostic-summary-grid span,.diagnostic-summary-grid p{color:#728198;font-size:13px;margin:0}.diagnostic-summary-grid strong{font-size:24px}.diagnostic-ok{color:#198557}.diagnostic-blocked{color:#c94747}.success-banner{background:#eaf8f1;border:1px solid #c7ead9;border-radius:10px;color:#15734a;padding:12px 15px}@media(max-width:1200px){.allocation-inline-form{grid-template-areas:"campus date" "meal count" "reason reason" "submit submit";grid-template-columns:repeat(2,minmax(180px,1fr))}.allocation-inline-form .wide-field{grid-column:auto}.student-check-grid{grid-template-columns:repeat(3,1fr)}.pickup-schedule-grid{grid-template-columns:repeat(2,1fr)}.wallet-hero{align-items:stretch;flex-direction:column;gap:20px}.wallet-actions{grid-template-columns:1fr 1.4fr}.campus-grid{grid-template-columns:1fr 1fr}.grade-config-row,.meal-config-main{grid-template-columns:1fr 1.5fr}.billing-preview-totals{grid-template-columns:repeat(3,1fr)}.billing-statement-totals{grid-template-columns:repeat(3,minmax(0,1fr))}.billing-statement-card>header{align-items:stretch;flex-direction:column}.billing-statement-actions{align-items:flex-start}.billing-statement-actions small{max-width:none;text-align:left}.billing-statement-meta{grid-template-columns:repeat(2,minmax(0,1fr))}.billing-statement-meta>div,.billing-statement-meta>div:nth-child(3n),.billing-statement-meta>div:nth-last-child(-n+3){border-bottom:1px solid #edf1f5;border-right:1px solid #edf1f5}.billing-statement-meta>div:nth-child(2n){border-right:0}.billing-statement-meta>div:nth-last-child(-n+2){border-bottom:0}.student-price-list article{grid-template-columns:1fr 1fr 1fr}.student-price-list article .secondary-button{grid-column:3}.approval-service-list article{grid-template-columns:1fr 1fr}.approval-service-list .checkbox-label{grid-column:1 / -1}.diagnostic-summary-grid{grid-template-columns:1fr}}.monthly-fee-report,.billing-holiday-settings{min-width:0;max-width:100%;width:100%;margin:24px 0;padding:24px;border:1px solid #dbe5f3;border-radius:18px;background:#fbfdff}.report-filters{display:flex;flex-wrap:wrap;align-items:end;gap:14px;margin:18px 0}.report-filters label{display:grid;gap:6px;min-width:145px}.report-filters label:first-child{max-width:380px}.report-meta{color:#65748b;font-size:12px;line-height:1.8;overflow-wrap:anywhere}.monthly-fee-report-table{min-width:0;max-width:100%;width:100%;overflow-x:auto;margin:20px 0}.monthly-fee-report-table table{min-width:1150px;width:100%}.monthly-fee-report-table td small{display:block;margin-top:5px;max-width:280px;overflow-wrap:anywhere}.monthly-fee-report .report-unavailable{color:#ae4324;background:#fff1e8}.monthly-fee-report .billing-preview-totals{grid-template-columns:repeat(auto-fit,minmax(145px,1fr))}.monthly-fee-report .billing-preview-totals article{min-width:0;overflow-wrap:anywhere}.monthly-fee-report .config-section-head>div{min-width:0}.report-filters input,.report-filters select{min-width:0;max-width:100%}.holiday-calendar-legend{display:flex;flex-wrap:wrap;gap:18px;font-size:12px;margin:16px 0;color:#596b85}.holiday-calendar-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:6px;margin:16px 0}.holiday-calendar-grid>strong{text-align:center;padding:8px 0;font-size:13px;color:#526480}.holiday-calendar-day{min-height:100px;padding:10px;background:#fff;border:1px solid #e3eaf3;border-radius:9px}.holiday-calendar-day.official-rest{background:#f0f6ff}.holiday-calendar-day>strong{display:block;font-size:14px}.holiday-calendar-day small{display:block;border-radius:4px;padding:3px 5px;margin-top:5px;font-size:11px;overflow-wrap:anywhere}.holiday-rest-label{color:#175eb8;background:#e1eeff}.holiday-work-label{color:#536176;background:#e9edf2}.holiday-billing-label{color:#994514;background:#fff0d9}.holiday-date-list{display:grid;gap:12px}.holiday-date-row{display:grid;grid-template-columns:minmax(160px,1fr) minmax(180px,2fr) auto;gap:12px;align-items:end;padding:12px;border-radius:10px;background:#f0f5fb}.family-care summary{cursor:pointer;font-size:16px;font-weight:600}.family-care{border:1px solid #dce3eb;border-radius:8px;box-shadow:none}.family-care-columns{display:grid;grid-template-columns:1fr 1fr;gap:24px;margin-top:16px}.family-care label{display:grid;gap:6px;margin:12px 0}.family-care input,.family-care select{width:100%;padding:9px;border:1px solid #cbd5e1;border-radius:6px}.family-care button{margin:6px 8px 6px 0}.family-care h3{font-size:16px}.campus-attendance{margin:20px 0}.campus-attendance .toolbar{flex-wrap:wrap}.campus-attendance details{margin-top:16px}.campus-attendance summary{cursor:pointer}.campus-attendance .table-scroll{overflow-x:auto}.holiday-date-row label{display:grid;gap:6px}.holiday-date-row button{align-self:center}@media(max-width:760px){.monthly-fee-report,.billing-holiday-settings{padding:14px}.holiday-calendar-grid{gap:3px}.holiday-calendar-day{min-height:80px;padding:5px 3px}.holiday-calendar-day small{padding:2px}.holiday-date-row{grid-template-columns:1fr 1fr}.holiday-date-row button{grid-column:2;justify-self:end}}
