.meal-settlement-container .statistic-cards .ant-card{border-radius:8px;box-shadow:0 1px 4px #00000014}.meal-settlement-container .statistic-cards .ant-card .ant-statistic-title{font-size:14px;color:#00000073}.meal-settlement-container .statistic-cards .ant-card .ant-statistic-content{font-size:22px}.meal-settlement-container .ant-collapse{border-radius:8px;overflow:hidden}.meal-settlement-container .ant-collapse>.ant-collapse-item>.ant-collapse-header{font-weight:600;padding:10px 16px}.meal-settlement-container .ant-collapse>.ant-collapse-item>.ant-collapse-header .ant-collapse-arrow{vertical-align:0}.meal-settlement-container .ant-collapse .ant-collapse-content-box{padding:16px}.meal-settlement-container .meal-price-summary-table .ant-table-thead>tr>th{background:#f9f0ff;font-weight:600}.meal-settlement-container .meal-price-history-table .ant-table-thead>tr>th{background:#f0f5ff;font-weight:600}.meal-settlement-container .ant-pro-table .ant-table-cell .ant-btn-link{padding:4px 6px}@media print{.meal-settlement-container .ant-pro-table-toolbar{display:none!important}.meal-settlement-container .ant-table-cell:last-child{display:none!important}.meal-settlement-container .ant-pagination{display:none!important}}.campus-material-page{padding:4px}.campus-material-page .cm-dash-row{margin-bottom:12px}.campus-material-page .cm-dash-card{border-radius:8px;box-shadow:0 1px 4px #0000000f}.campus-material-page .cm-dash-card .cm-dash-title{color:#8c8c8c;font-size:13px;margin-bottom:6px}.campus-material-page .cm-dash-card .cm-dash-value{font-size:22px;font-weight:700;line-height:1.2}.campus-material-page .cm-dash-card .cm-dash-note{margin-top:6px;color:#bfbfbf;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.campus-material-page .cm-main-card{border-radius:8px;box-shadow:0 1px 4px #0000000f}.campus-material-page .cm-main-card .ant-tabs-nav{margin-bottom:12px}.campus-material-page .cm-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:12px}.campus-material-page .cm-toolbar .cm-toolbar-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.campus-material-page .cm-row-expiring>td{background-color:#fffbe6!important}.campus-material-page .cm-row-expired>td{background-color:#fff1f0!important}.campus-material-page .cm-medicine-box{background:#f6ffed;border:1px solid #b7eb8f;border-radius:6px;padding:8px 12px 0;margin-bottom:16px}.campus-material-page .cm-medicine-box .cm-medicine-tip{color:#52c41a;font-size:12px;margin-bottom:8px}.cm-inbound-modal-root .cm-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:12px}.cm-inbound-modal-root .cm-toolbar .cm-toolbar-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.cm-inbound-modal-root .cm-form-label{color:#8c8c8c;font-size:12px;margin-bottom:4px}.cm-inbound-modal-root .cm-doc-hint{color:#8c8c8c;font-size:12px}.cm-inbound-modal-root .cm-doc-footer{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}.cm-inbound-modal-root .cm-doc-footer .cm-doc-footer-total{color:#595959;font-size:13px}.cm-inbound-modal-root .cm-doc-total-bar{margin-top:12px;padding:8px 12px;background:#fafafa;border:1px solid #f0f0f0;border-radius:6px;color:#595959;font-size:13px}.cm-inbound-modal-root .cm-doc-empty{padding:32px 0;color:#8c8c8c;text-align:center}.cm-inbound-modal-root .cm-doc-row-filled>td{background-color:#f6ffed!important}.cm-inbound-modal-root .cm-doc-row-changed>td{background-color:#fffbe6!important}.cm-inbound-modal-root .cm-doc-row-removed>td{background-color:#fff1f0!important;color:#bfbfbf}@media(max-width:768px){.campus-material-page .cm-dash-row{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.campus-material-page .cm-dash-row>.ant-col{flex:0 0 auto!important;max-width:none!important;padding-left:0!important;padding-right:0!important}.campus-material-page .cm-dash-card{display:inline-flex!important;width:auto!important;margin:0!important;border-radius:999px!important;border:1px solid #ece7f8!important;box-shadow:none!important}.campus-material-page .cm-dash-card .ant-card-body{padding:3px 10px!important}.campus-material-page .cm-dash-card .cm-dash-title{display:inline;margin-bottom:0;font-size:11px;line-height:16px}.campus-material-page .cm-dash-card .cm-dash-value{display:inline;margin-left:4px;font-size:13px!important;line-height:16px}.campus-material-page .cm-dash-card .cm-dash-note{display:none}.campus-material-page .cm-toolbar{gap:6px;margin-bottom:8px}.campus-material-page .cm-toolbar .ant-input-affix-wrapper,.campus-material-page .cm-toolbar .ant-input,.campus-material-page .cm-toolbar .ant-select{width:100%!important}}.material-stock-section{padding:4px}.material-stock-section .mat-dash-row{margin-bottom:12px}.material-stock-section .mat-dash-card{border-radius:8px;box-shadow:0 1px 4px #0000000f}.material-stock-section .mat-dash-card .mat-dash-title{color:#8c8c8c;font-size:13px;margin-bottom:6px}.material-stock-section .mat-dash-card .mat-dash-value{font-size:22px;font-weight:700;line-height:1.2}.material-stock-section .mat-dash-card .mat-dash-note{margin-top:6px;color:#bfbfbf;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.material-stock-section .mat-main-card{border-radius:8px;box-shadow:0 1px 4px #0000000f}.material-stock-section .mat-main-card .ant-tabs-nav{margin-bottom:12px}.material-stock-section .mat-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px;margin-bottom:12px}.material-stock-section .mat-toolbar .mat-toolbar-right{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.login-page{position:relative;min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#7c5cfc,#8f6ffd 46%,#2fb6a8 128%);overflow:hidden;padding-top:env(safe-area-inset-top);padding-bottom:env(safe-area-inset-bottom)}.login-bg{position:absolute;inset:0;background:radial-gradient(circle at 20% 20%,rgba(143,111,253,.32),transparent 45%),radial-gradient(circle at 80% 70%,rgba(47,182,168,.28),transparent 45%);pointer-events:none}.login-card{position:relative;z-index:2;width:356px;max-width:92vw;border-radius:22px;padding:30px 30px 26px;background:#ffffffb3;backdrop-filter:blur(22px);-webkit-backdrop-filter:blur(22px);box-shadow:0 32px 72px #1e164652,0 8px 20px #1e164629,0 0 0 1px #ffffff80 inset;animation:loginCardIn .6s ease-out both}.login-card .ant-card-body{padding:0}@keyframes loginCardIn{0%{opacity:0;transform:translateY(18px) scale(.98)}to{opacity:1;transform:none}}.login-brand{text-align:center;margin-bottom:26px}.login-logo-img{width:72px;height:72px;margin-bottom:16px;padding:5px;border-radius:18px;object-fit:contain;background:#fff;box-shadow:0 10px 26px #7c5cfc2e}.login-company{font-size:24px;font-weight:700;letter-spacing:3px;background:linear-gradient(120deg,#5b3fd6,#7c5cfc 45%,#2fb6a8);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;color:#3d3a52}.login-title{margin-top:8px;font-size:15px;font-weight:500;letter-spacing:2px;color:#6b6880}.login-version{display:inline-block;margin-top:12px;padding:2px 12px;font-size:11px;line-height:18px;letter-spacing:1px;color:#5b3fd6;background:#7c5cfc14;border:1px solid rgba(124,92,252,.28);border-radius:999px}.login-card .ant-input-affix-wrapper{border-radius:12px;padding:10px 12px;border:1px solid #e4e1d8;transition:all .2s}.login-card .ant-input-affix-wrapper:hover{border-color:#8f6ffd}.login-card .ant-input-affix-wrapper-focused,.login-card .ant-input-affix-wrapper:focus-within{border-color:#7c5cfc;box-shadow:0 0 0 3px #7c5cfc24}.login-card .login-remember{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:-4px 0 14px;min-height:40px}.login-card .login-remember .ant-checkbox-wrapper{font-size:14px;color:#4a4841;line-height:1.4}.login-card .login-remember-tip{font-size:12px;color:#9a978d;text-align:right;flex:0 1 auto}.login-card .login-btn{height:46px;border-radius:12px;font-size:16px;font-weight:600;letter-spacing:8px;text-indent:8px;background:linear-gradient(120deg,#7c5cfc,#8f6ffd 55%,#5b3fd6);border:none;box-shadow:0 8px 20px #7c5cfc52;transition:all .2s}.login-card .login-btn:hover{background:linear-gradient(120deg,#8f6ffd,#9f82ff 55%,#6c4fe0);box-shadow:0 10px 26px #7c5cfc61;transform:translateY(-1px)}.login-card .login-btn:active{transform:translateY(0);box-shadow:0 6px 14px #7c5cfc4d}.login-mascot{position:absolute;z-index:1;pointer-events:none;opacity:0;animation:mascotSplit .7s .5s cubic-bezier(.22,.9,.35,1.2) both}.login-mascot:before{content:"";position:absolute;inset:-24% -38%;border-radius:50%;background:radial-gradient(closest-side,#ffffff4d,#fff0 72%)}.login-mascot img{display:block;position:relative;height:100%;width:auto;filter:drop-shadow(0 0 14px rgba(255,255,255,.5)) drop-shadow(0 16px 18px rgba(28,20,66,.38));-webkit-mask-image:linear-gradient(to bottom,#000 78%,transparent 99%);mask-image:linear-gradient(to bottom,#000 78%,transparent 99%);animation:mascotBreathe 2.8s ease-in-out infinite,mascotIdle 3.8s ease-in-out infinite}.login-mascot-left{height:250px;left:calc(50% - 287px);top:40px;animation-name:mascotSplitL}.login-mascot-right{height:250px;right:calc(50% - 287px);top:40px;animation-name:mascotSplitR}.login-mascot-right img{animation-delay:.9s,1.3s}@keyframes mascotBreathe{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-8px) scale(1.022)}}@keyframes mascotIdle{0%,76%,to{rotate:0deg}82%{rotate:-3.4deg}86%{rotate:1.8deg}90%{rotate:0deg}94%{rotate:-1.2deg}97%{rotate:0deg}}@media(prefers-reduced-motion:reduce){.login-mascot img{animation:none}}@keyframes mascotSplitL{0%{opacity:0;transform:translate(120px) translateY(6px)}to{opacity:1;transform:translate(0) translateY(0)}}@keyframes mascotSplitR{0%{opacity:0;transform:translate(-120px) translateY(6px)}to{opacity:1;transform:translate(0) translateY(0)}}.login-icp{position:absolute;left:0;right:0;bottom:14px;z-index:1;pointer-events:none}.login-icp a{pointer-events:auto}.hold-anim{animation:none!important;opacity:0!important}@media(max-width:768px){.login-page{align-items:flex-start;padding:16px;overflow-x:hidden;overflow-y:auto}.login-card{width:100%;max-width:400px;margin:auto 0;border-radius:20px;padding:28px 22px 24px}.login-logo-img{width:60px;height:60px;margin-bottom:12px}.login-company{font-size:21px;letter-spacing:2px}.login-title{font-size:14px}.login-card .login-btn{height:44px}.login-card .login-remember{flex-direction:column;align-items:flex-start;gap:2px;min-height:0;margin-bottom:12px}.login-card .login-remember .ant-checkbox-wrapper{min-height:40px;align-items:center}.login-card .login-remember-tip{text-align:left;padding-left:26px}.login-icp{bottom:8px}.login-mascot-left{height:230px;left:12px;top:52px;bottom:auto}.login-mascot-right{height:230px;right:12px;top:22px;bottom:auto}}.parent-portal{min-height:100vh;background:#f2f3f7;padding:12px 12px 40px}.parent-portal__shell{max-width:720px;margin:0 auto}.parent-portal__bar{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:12px}.parent-portal__title{font-size:18px;font-weight:700;color:#1a1a2e;display:flex;align-items:center;gap:6px}.parent-portal__sub{font-size:12px;color:#8c8c8c;margin-top:2px}.parent-portal__child{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.parent-portal .ant-card{border-radius:14px;margin-bottom:12px}.parent-portal .ant-card-head{min-height:46px;padding:0 14px;font-size:15px}.parent-portal .ant-card-body{padding:14px}.parent-portal .ant-descriptions-item-label{width:92px;color:#8c8c8c}.parent-portal .pp-photo{width:84px;height:108px;object-fit:cover;border-radius:10px;background:#f5f5f5;border:1px solid #eee}.parent-portal__rank{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:12px}.parent-portal__rank-card{flex:1 1 150px;min-width:140px;border-radius:12px;padding:12px;background:#f7f5ff;border:1px solid #e9e3ff}.parent-portal__rank-card b{font-size:22px;color:#7c5cfc;margin-right:2px}.parent-portal__rank-card span{font-size:12px;color:#8c8c8c}.parent-portal__rank-card i{display:block;font-style:normal;font-size:12px;color:#595959;margin-top:4px}.parent-portal__trend{width:100%;height:160px;display:block}.parent-portal__muted{color:#999;font-size:12px}.parent-portal__icp{margin-top:12px;padding-bottom:2px}.parent-portal__money .ant-statistic-title{font-size:12px}.parent-portal__money .ant-statistic-content{font-size:20px}.user-account-page{padding:4px}.user-account-page .ua-subtitle{font-size:13px;color:#8a8aa8;font-weight:400}.user-account-page .perm-tree-box{max-height:480px;overflow:auto;border:1px solid #f0edf5;border-radius:8px;padding:8px 12px;background:#faf9ff}.user-account-page .ua-wx-card{margin-top:16px}.user-account-page .ua-wx-card .ant-card-body{padding-top:12px}.user-account-page .ua-wx-desc{margin-bottom:4px}.user-account-page .ua-wx-desc .ant-descriptions-item-label{white-space:nowrap;color:#8a8aa8}.user-account-page .ua-wx-url{font-family:Menlo,Consolas,monospace;font-size:12px;word-break:break-all}.user-account-page .ua-wx-tip{font-size:12px;color:#8a8aa8}.user-account-page .ua-wx-help{margin:6px 0 12px;line-height:1.7}.user-account-page .ua-wx-mask{font-family:Menlo,Consolas,monospace;font-size:12px;color:#52c41a}.user-account-page .ua-wx-code{margin:14px 0 8px;padding:10px 0;text-align:center;font-family:Menlo,Consolas,monospace;font-size:34px;font-weight:700;letter-spacing:10px;text-indent:10px;color:#07c160;background:#f6ffed;border:1px dashed #b7eb8f;border-radius:10px}.meal-date-rel{display:inline-block;padding:1px 8px;border-radius:10px;background:#f4f1fe;color:#5a49b8;font-size:13px;font-weight:600;line-height:20px;white-space:nowrap}.meal-report-container .meal-stat-row .meal-stat{text-align:center;padding:8px 0}.meal-report-container .meal-stat-row .meal-stat-mid{border-left:1px solid #f0f0f0;border-right:1px solid #f0f0f0}.meal-report-container .meal-stat-row .meal-stat-label{font-size:16px;font-weight:600;color:#595959}.meal-report-container .meal-stat-row .meal-stat-note{display:inline-flex;flex-wrap:wrap;justify-content:center;gap:10px}.meal-report-container .meal-stat-row .meal-chip{display:inline-flex;align-items:center;padding:5px 12px;border-radius:999px;border:1px solid transparent;font-size:18px;font-weight:600;line-height:1.35;white-space:nowrap}.meal-report-container .meal-stat-row .meal-chip-breakfast{background:#fff7e6;border-color:#ffd591;color:#ad4e00}.meal-report-container .meal-stat-row .meal-chip-lunch{background:#e6f1fb;border-color:#91caff;color:#0958d9}.meal-report-container .meal-stat-row .meal-chip-dinner{background:#f4f1fe;border-color:#b7aef0;color:#5a49b8}.meal-report-container .meal-batch-bar{display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:8px}.meal-report-container .meal-batch-title{font-size:12px;font-weight:600;color:#595959;white-space:nowrap}.meal-report-container .meal-batch-scope{font-size:11px;color:#bfbfbf;white-space:nowrap}.meal-report-container .meal-batch-items{display:flex;align-items:center;flex-wrap:wrap;gap:16px}.meal-report-container .meal-batch-item{display:inline-flex;align-items:center;gap:6px}.meal-report-container .meal-batch-name{font-size:12px;color:#595959;white-space:nowrap}.meal-report-container .meal-batch-type.ant-segmented{font-size:11px}.meal-report-container .ios-switch.ant-switch{background:#e5e5ea;transform:scale(1.22);transform-origin:center center;margin-inline:5px}.meal-report-container .ios-switch.ant-switch:hover:not(.ant-switch-disabled){background:#d8d8dd}.meal-report-container .ios-switch.ant-switch .ant-switch-inner-unchecked{color:#4a4a4f;font-weight:600}.meal-report-container .ios-switch.ant-switch.ant-switch-checked{background:#34c759}.meal-report-container .ios-switch.ant-switch.ant-switch-checked:hover:not(.ant-switch-disabled){background:#2fb350}.meal-report-container .ios-switch.ant-switch.ant-switch-checked .ant-switch-inner-checked{color:#fff;font-weight:600}.meal-report-container .ios-switch.ant-switch.ant-switch-disabled{opacity:.5}@media(max-width:768px){.meal-report-container .toolbar-card{margin-bottom:8px}.meal-report-container .meal-stat-row{margin:8px 0!important}.meal-report-container .meal-stat-row>.ant-col{flex:1 1 auto!important;min-width:0!important;max-width:100%!important;padding-left:0!important;padding-right:0!important}.meal-report-container .meal-stat-row .ant-card{display:block!important;width:100%!important;margin:0!important;border-radius:12px!important;border:1px solid #ece7f8!important;box-shadow:none!important}.meal-report-container .meal-stat-row .ant-card-body{padding:8px 4px!important}.meal-report-container .meal-stat-row .ant-row{display:flex;flex-wrap:nowrap;gap:6px;margin-left:0!important;margin-right:0!important}.meal-report-container .meal-stat-row .ant-row>.ant-col{flex:1 1 0!important;min-width:0!important;max-width:none!important}.meal-report-container .meal-stat-row .meal-stat{display:flex;flex-direction:column;align-items:center;gap:2px;padding:4px 2px!important;border:none!important;text-align:center}.meal-report-container .meal-stat-row .meal-stat-label{font-size:15px;line-height:19px;font-weight:600;color:#595959}.meal-report-container .meal-stat-row .meal-stat-note{display:flex;flex-direction:column;align-items:center;gap:4px}.meal-report-container .meal-stat-row .meal-chip{font-size:15px;padding:3px 9px}.meal-report-container .meal-batch-bar{justify-content:flex-start;gap:6px}.meal-report-container .meal-batch-scope{display:none}.meal-report-container .meal-batch-items{flex:1 1 100%;gap:12px}body.mobile-card-mode .meal-plain-table .ant-table,body.mobile-card-mode .meal-plain-table .ant-table-container,body.mobile-card-mode .meal-plain-table .ant-table-content,body.mobile-card-mode .meal-plain-table .ant-table-body{border:none!important;border-radius:0!important;box-shadow:none!important}body.mobile-card-mode .meal-plain-table .ant-table-tbody>tr{margin:0!important;padding:7px 2px!important;border:none!important;border-bottom:1px solid #f0edf5!important;border-radius:0!important;box-shadow:none!important;background:#fff!important}body.mobile-card-mode .meal-plain-table .ant-table-tbody>tr>td[data-label]{max-width:100%!important}body.mobile-card-mode .meal-plain-table .ant-table-tbody>tr>td[data-mobile-title="1"]{max-width:100%!important;font-size:13.5px}}.meal-report-container .row-meal-paused>td{background:#fafafa!important;color:#b5b5b5!important}.meal-report-container .row-meal-paused>td:first-child{box-shadow:inset 3px 0 #d9d9d9}.meal-report-container .row-meal-paused:hover>td{background:#f5f5f5!important}.meal-report-container .row-meal-paused>td .ant-checkbox-wrapper,.meal-report-container .row-meal-paused>td .ant-radio-group{filter:grayscale(1);opacity:.55}.meal-report-container .meal-paused-tag.ant-tag{color:#8c8c8c;background:#f0f0f0;border-color:#d9d9d9}.meal-report-container .meal-batch-item-pause{padding-left:12px;border-left:1px dashed #e6e1f2}.meal-report-container .meal-pause-form{padding:2px 2px 4px}.meal-report-container .meal-pause-label{font-size:13px;color:#595959;white-space:nowrap}.meal-report-container .meal-pause-row{display:flex;align-items:center;flex-wrap:wrap;gap:4px;margin-bottom:10px}.meal-report-container .meal-pause-hint{margin-top:4px;font-size:12px;color:#8c8c8c}@media(max-width:768px){body.mobile-card-mode .meal-report-container .meal-plain-table .ant-table-tbody>tr.row-meal-paused{background:#fafafa!important;border-left:3px solid #d9d9d9!important}body.mobile-card-mode .meal-report-container .meal-plain-table .ant-table-tbody>tr.row-meal-paused>td{background:transparent!important;color:#b5b5b5!important}body.mobile-card-mode .meal-report-container .meal-plain-table .ant-table-tbody>tr.row-meal-paused>td:first-child{box-shadow:none}.meal-report-container .meal-pause-row{gap:2px}.meal-report-container .meal-pause-row .ant-picker{flex:1 1 auto;min-width:118px}}.meal-report-container .meal-stat-card .ant-card-head{min-height:38px;padding:0 14px;border-bottom:1px dashed #f0edf7}.meal-report-container .meal-stat-card .ant-card-head-title{padding:8px 0;font-size:15px;color:#595959}.meal-report-container .meal-stat-card .ant-card-extra{padding:8px 0}.meal-history-modal .mh-toolbar{width:100%}.meal-history-modal .mh-summary-bar{margin-bottom:8px;font-size:12px;color:#595959}.meal-history-modal .mh-summary-bar b{color:#7c5cfc}.meal-history-modal .mh-cell{line-height:1.3}.meal-history-modal .mh-num{font-size:15px;font-weight:600;color:#1a1a2e}.meal-history-modal .mh-num-strong{color:#7c5cfc}.meal-history-modal .mh-unit{margin-left:2px;font-size:11px;color:#8c8c8c}.meal-history-modal .mh-brief{font-size:11px;color:#8c8c8c;white-space:nowrap}.meal-history-modal .mh-date-main{font-weight:600;font-size:13px}.meal-history-modal .mh-date-week{font-size:11px;color:#999}.meal-history-modal .mh-tag-locked,.meal-history-modal .mh-tag-draft{margin:0}.meal-history-modal .mh-tag-sub{font-size:10px;opacity:.75}.meal-history-modal .mh-detail-btn{padding:0}.meal-history-drawer .mh-stat-row{display:flex;gap:10px;margin-bottom:10px}.meal-history-drawer .mh-stat{flex:1;padding:8px 10px;border:1px solid #f0edf7;border-radius:10px;background:#fafaff}.meal-history-drawer .mh-stat-total{border-color:#e3dcff;background:#f6f3ff}.meal-history-drawer .mh-stat-label{font-size:12px;color:#8c8c8c}.meal-history-drawer .mh-stat-value{font-size:20px;font-weight:700;line-height:1.3}.meal-history-drawer .mh-stat-unit{margin-left:3px;font-size:11px;font-weight:400;color:#999}.meal-history-drawer .mh-stat-note{font-size:11px;color:#8c8c8c}.meal-history-drawer .mh-detail-note{margin-bottom:4px;font-size:12px;color:#8c8c8c}.meal-history-drawer .mhd-on{color:#389e0d;font-weight:600}.meal-history-drawer .mhd-off{color:#d9d9d9}.meal-history-drawer .mhd-paused-row>td{background:#fafafa;color:#b0b0b0}.meal-history-drawer .mhd-paused-row .mhd-on{color:#d3d3d3;font-weight:400}.meal-history-drawer .mhd-paused-tag{margin-left:4px;padding:0 4px;border-radius:4px;font-size:10px;line-height:16px;color:#8c8c8c;background:#f0f0f0;border:1px solid #e0e0e0;white-space:nowrap}@media(max-width:768px){.meal-report-container .meal-stat-card .ant-card-head{padding:0 10px}.meal-report-container .meal-stat-card .ant-card-head-title,.meal-report-container .meal-stat-card .meal-history-btn{font-size:12px}body.mobile-card-mode .meal-history-table-holder .ant-table-tbody>tr{display:block!important;padding:8px 10px 7px!important}body.mobile-card-mode .meal-history-table-holder .ant-table-tbody>tr>td{padding:0!important;border:none!important;background:transparent!important}body.mobile-card-mode .meal-history-table-holder .ant-table-tbody>tr>td.mh-date{display:inline-flex!important;align-items:baseline;gap:6px;font-size:13.5px;font-weight:600;color:#1a1a2e}body.mobile-card-mode .meal-history-table-holder .ant-table-tbody>tr>td.mh-date:before{display:none!important}body.mobile-card-mode .meal-history-table-holder .ant-table-tbody>tr>td.mh-date .mh-date-week{font-weight:400}body.mobile-card-mode .meal-history-table-holder .ant-table-tbody>tr>td.mh-status{float:right;display:inline-flex!important}body.mobile-card-mode .meal-history-table-holder .ant-table-tbody>tr>td.mh-status:before{display:none!important}body.mobile-card-mode .meal-history-table-holder .ant-table-tbody>tr>td.mh-stu,body.mobile-card-mode .meal-history-table-holder .ant-table-tbody>tr>td.mh-tea,body.mobile-card-mode .meal-history-table-holder .ant-table-tbody>tr>td.mh-all{display:flex!important;align-items:baseline;margin-top:3px;padding-top:3px!important;border-top:1px dashed #f2effb!important}body.mobile-card-mode .meal-history-table-holder .ant-table-tbody>tr>td.mh-stu:before,body.mobile-card-mode .meal-history-table-holder .ant-table-tbody>tr>td.mh-tea:before,body.mobile-card-mode .meal-history-table-holder .ant-table-tbody>tr>td.mh-all:before{flex:0 0 74px;font-size:11px;font-weight:600;color:#7c5cfc}body.mobile-card-mode .meal-history-table-holder .ant-table-tbody>tr>td.mh-op{display:block!important;margin-top:6px}body.mobile-card-mode .meal-history-table-holder .ant-table-tbody>tr>td.mh-op:before{display:none!important}body.mobile-card-mode .meal-history-table-holder .mh-brief{white-space:normal}.meal-history-drawer .mh-stat-row{flex-wrap:wrap;gap:8px}.meal-history-drawer .mh-stat{flex:1 1 30%;padding:6px 8px}.meal-history-drawer .mh-stat-value{font-size:17px}}.meal-enroll-bar{display:inline-flex;align-items:center;flex-wrap:wrap;gap:6px;padding:3px 8px;border:1px solid #ece7f8;border-radius:8px;background:#fbfaff;vertical-align:middle}.meal-enroll-title{font-size:12px;color:#6b5ba8;font-weight:600;margin-right:2px;white-space:nowrap}.meal-enroll-item{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:999px;background:#fff;border:1px solid #e6e2f5;cursor:pointer;-webkit-user-select:none;user-select:none;transition:all .15s}.meal-enroll-item:hover{border-color:#5a49b8;background:#f4f1ff}.meal-enroll-item .meal-enroll-icon{font-size:13px}.meal-enroll-item .meal-enroll-label{font-size:12px;color:#555}.meal-enroll-item .meal-enroll-num{font-size:14px;color:#5a49b8}.meal-enroll-modal .meal-enroll-hint{font-size:12px;color:#8c8c8c;margin-bottom:8px}.meal-enroll-modal .meal-enroll-back{margin-bottom:8px}.meal-enroll-modal .meal-enroll-school-table .ant-table-tbody>tr{cursor:pointer}.meal-enroll-modal .meal-enroll-open{white-space:nowrap}@media(max-width:768px){.meal-enroll-bar{padding:4px 6px;gap:4px}.meal-enroll-title{flex:0 0 100%}.meal-enroll-item{padding:2px 7px}.meal-enroll-item .meal-enroll-num{font-size:13px}}.meal-insight-modal .mi-title{font-size:16px;font-weight:600}.meal-insight-modal .mi-bar{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin-bottom:10px}.meal-insight-modal .mi-total{font-size:14px;color:#595959}.meal-insight-modal .mi-num{color:#1677ff;font-weight:600}.meal-insight-modal .mi-warn{color:#d46b08;font-weight:600}.meal-insight-modal .mi-none{font-size:13px;color:#8c8c8c}.meal-insight-modal .mi-note{margin-bottom:10px}.meal-insight-modal .mi-note .ant-alert-message{font-size:13px;line-height:1.7}.meal-insight-modal .mi-dim-note{font-size:13px;color:#8c8c8c;margin-bottom:8px}.meal-insight-modal .mi-meal-tag{font-size:13px}.meal-insight-modal .mi-name-btn{padding:0;height:auto;font-size:14px}.meal-insight-modal .mi-group-table .ant-table-thead>tr>th{font-size:14px;white-space:nowrap}.meal-insight-modal .mi-group-table .ant-table-tbody>tr>td{font-size:14px}.meal-insight-modal .mi-stu-table .ant-table-thead>tr>th{font-size:13px;white-space:nowrap}.meal-insight-modal .mi-stu-table .ant-table-tbody>tr>td{font-size:14px}.meal-insight-modal .mi-empty{padding:32px 0}.meal-insight-modal .mi-empty .ant-empty-description,.meal-insight-modal .mi-range-label,.meal-insight-modal .mi-cmp-label{font-size:14px;color:#595959}.meal-insight-modal .mi-cmp-switch{display:inline-flex;align-items:center;gap:6px;font-size:14px;color:#595959}.meal-insight-modal .mi-cmp{display:inline-flex;align-items:baseline;gap:6px;font-size:14px}.meal-insight-modal .mi-cmp-a{color:#8c8c8c}.meal-insight-modal .mi-cmp-b{color:#1f1f1f;font-weight:600}.meal-insight-modal .mi-cmp-arrow,.meal-insight-modal .mi-cmp-same{color:#bfbfbf}.meal-insight-modal .mi-cmp-up{color:#cf1322;font-weight:600}.meal-insight-modal .mi-cmp-down{color:#237804;font-weight:600}.meal-insight-modal .mi-cmp-table .ant-table-thead>tr>th{font-size:14px;white-space:nowrap}.meal-insight-modal .mi-cmp-table .ant-table-tbody>tr>td{font-size:14px}.meal-insight-modal .mi-diff-table .ant-table-thead>tr>th{font-size:13px;white-space:nowrap}.meal-insight-modal .mi-diff-table .ant-table-tbody>tr>td{font-size:14px}*{margin:0;padding:0;box-sizing:border-box}html{touch-action:manipulation;-webkit-tap-highlight-color:transparent;-webkit-text-size-adjust:100%;text-size-adjust:100%}body{background:#f5f6fa;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;color:#1a1a2e;-webkit-overflow-scrolling:touch;overscroll-behavior-y:none}::-webkit-scrollbar{width:6px;height:6px}::-webkit-scrollbar-track{background:#f0edf5;border-radius:10px}::-webkit-scrollbar-thumb{background:#c8c0e0;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#7c5cfc}.ant-card{border-radius:16px!important;box-shadow:0 2px 16px #7c5cfc0f!important;border:1px solid #f0edf5!important}.ant-card-bordered{border-color:#f0edf5!important}.ant-card-head{border-bottom:1px solid #f0edf5!important}.ant-card-head-title{color:#1a1a2e!important;font-weight:600!important}.ant-btn{border-radius:8px!important;font-weight:500!important}.ant-btn-primary{background:#7c5cfc!important;border-color:#7c5cfc!important;box-shadow:0 2px 8px #7c5cfc40!important}.ant-btn-primary:hover{background:#6b4ce0!important;border-color:#6b4ce0!important;box-shadow:0 4px 16px #7c5cfc59!important}.ant-btn-primary.ant-btn-background-ghost{background:transparent!important;color:#7c5cfc!important;border-color:#7c5cfc!important;box-shadow:none!important}.ant-btn-primary.ant-btn-background-ghost:hover{background:#7c5cfc14!important;color:#6b4ce0!important;border-color:#6b4ce0!important;box-shadow:none!important}.ant-btn-primary.ant-btn-dangerous.ant-btn-background-ghost{background:transparent!important;color:#ff4d4f!important;border-color:#ff4d4f!important;box-shadow:none!important}.ant-btn-primary.ant-btn-dangerous.ant-btn-background-ghost:hover{background:#ff4d4f14!important;color:#ff7875!important;border-color:#ff7875!important;box-shadow:none!important}.ant-btn-default{border-color:#e0dcec!important}.ant-btn-default:hover{border-color:#7c5cfc!important;color:#7c5cfc!important}.ant-btn-link,.ant-btn-link:hover{color:#6b4ce0!important}.ant-input,.ant-select-selector,.ant-picker{border-radius:8px!important;border-color:#e0dcec!important}.ant-input:hover,.ant-select:hover .ant-select-selector,.ant-picker:hover{border-color:#7c5cfc!important}.ant-input:focus,.ant-select-focused .ant-select-selector,.ant-picker-focused{border-color:#7c5cfc!important;box-shadow:0 0 0 3px #7c5cfc1f!important}.ant-table{border-radius:12px!important;overflow:hidden}.ant-table-thead>tr>th{background:#f0edff!important;color:#1a1a2e!important;font-weight:600!important;border-bottom:2px solid #e5def5!important}.ant-table-tbody>tr:hover>td{background:#f8f6ff!important}.ant-table-tbody>tr>td{border-bottom:1px solid #f0edf5!important}.ant-tabs-tab{border-radius:8px 8px 0 0!important;font-weight:500!important}.ant-tabs-tab:hover,.ant-tabs-tab-active .ant-tabs-tab-btn{color:#7c5cfc!important}.ant-tabs-ink-bar{background:#7c5cfc!important;height:3px!important}.ant-tag{border-radius:6px!important}.ant-tag-blue{background:#f0edff!important;border-color:#d5ccf5!important;color:#5b3fd0!important}.ant-tag-purple{background:#f0edff!important;border-color:#d5ccf5!important;color:#7c5cfc!important}.ant-tag-red{background:#fff0f0!important;border-color:#f5d0d0!important;color:#e05050!important}.ant-tag-green{background:#f0faf0!important;border-color:#d0e8d0!important;color:#3a9e3a!important}.ant-modal-content{border-radius:16px!important;box-shadow:0 8px 40px #1a1a2e1f!important}.ant-modal-header{border-radius:16px 16px 0 0!important;border-bottom:1px solid #f0edf5!important}.ant-modal-title{color:#1a1a2e!important;font-weight:600!important}.ant-dropdown-menu{border-radius:12px!important;box-shadow:0 4px 20px #1a1a2e14!important}.ant-statistic-title{color:#88a!important;font-weight:500!important;font-size:14px!important}.ant-statistic-content{color:#1a1a2e!important;font-weight:700!important}.ant-select-dropdown{border-radius:12px!important;box-shadow:0 4px 20px #1a1a2e14!important}.ant-select-item-option-selected{background:#f0edff!important}.ant-popconfirm{border-radius:12px!important}.ant-popover-inner{border-radius:12px!important;box-shadow:0 4px 20px #1a1a2e1a!important}.ant-upload-drag{border-radius:12px!important;border-color:#e0dcec!important}.ant-upload-drag:hover{border-color:#7c5cfc!important}.ant-upload-drag-icon{color:#7c5cfc!important}@media(max-width:768px){.app-layout{height:100vh!important}@supports (height: 100dvh){.app-layout{height:100dvh!important}}.ant-layout-header{height:56px!important;line-height:56px!important}.ant-row>.ant-col{flex:0 0 100%!important;max-width:100%!important}.ant-row:has(>.ant-col>.ant-card>.ant-card-body>.ant-statistic),.ant-row:has(>.ant-col>div>.ant-card>.ant-card-body>.ant-statistic){row-gap:6px!important;margin-bottom:8px!important}.ant-row:has(>.ant-col>.ant-card>.ant-card-body>.ant-statistic)>.ant-col,.ant-row:has(>.ant-col>div>.ant-card>.ant-card-body>.ant-statistic)>.ant-col{flex:0 0 auto!important;max-width:none!important;padding-left:0!important;padding-right:0!important}.ant-row:has(>.ant-col>.ant-card>.ant-card-body>.ant-statistic)>.ant-col:not(:has(.ant-statistic)),.ant-row:has(>.ant-col>div>.ant-card>.ant-card-body>.ant-statistic)>.ant-col:not(:has(.ant-statistic)){flex:1 1 100%!important;max-width:100%!important;min-width:0!important}.ant-card:has(>.ant-card-body>.ant-statistic){display:inline-flex!important;width:auto!important;margin:0!important;border-radius:999px!important;border:1px solid #ece7f8!important;background:#fff!important;box-shadow:none!important}.ant-row.home-kpi-row{display:grid!important;grid-template-columns:repeat(4,minmax(0,1fr))!important;gap:6px!important;margin-bottom:10px!important}.ant-row.home-kpi-row>.ant-col{flex:none!important;max-width:none!important;padding:0!important;min-width:0!important}.ant-row.home-kpi-row .ant-card{display:block!important;width:100%!important;border-radius:10px!important}.ant-row.home-kpi-row .ant-card .ant-card-body{padding:6px 8px!important}.ant-row.home-kpi-row .home-kpi-icon{display:none!important}.ant-row.home-kpi-row .home-kpi-label{font-size:11px!important;line-height:14px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ant-row.home-kpi-row .home-kpi-value{font-size:17px!important;line-height:20px!important;color:#1e293b!important}.ant-row.home-kpi-row .ant-statistic{display:block!important}.ant-row.home-kpi-row .ant-statistic-title{margin-bottom:0!important;font-size:11px!important;line-height:14px!important;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ant-row.home-kpi-row .ant-statistic-content,.ant-row.home-kpi-row .ant-statistic-content-value{font-size:17px!important;line-height:20px!important}.ant-card:has(>.ant-card-body>.ant-statistic)>.ant-card-body{padding:3px 10px!important}.ant-statistic{display:inline-flex!important;align-items:baseline;gap:4px}.ant-statistic-title{margin-bottom:0!important;font-size:11px!important;line-height:16px!important}.ant-statistic-content,.ant-statistic-content-value,.ant-statistic-content-prefix,.ant-statistic-content-suffix{font-size:13px!important;line-height:16px!important}.ant-card-body{padding:10px!important}.ant-card-head{padding:10px 12px!important;font-size:14px!important;min-height:40px!important}.ant-table-content,.ant-table-body{overflow-x:auto;-webkit-overflow-scrolling:touch}.ant-table-thead>tr>th,.ant-table-tbody>tr>td{padding:8px 10px!important}body.mobile-card-mode .ant-table-header,body.mobile-card-mode .ant-table-thead,body.mobile-card-mode .ant-table colgroup,body.mobile-card-mode .ant-table-measure-row{display:none!important}body.mobile-card-mode .ant-table-tbody>tr.ant-table-measure-row{display:none!important}body.mobile-card-mode .ant-table-cell-fix-left,body.mobile-card-mode .ant-table-cell-fix-right{position:static!important;left:auto!important;right:auto!important;z-index:auto!important}body.mobile-card-mode .ant-table-cell-fix-left-last:after,body.mobile-card-mode .ant-table-cell-fix-right-first:after{display:none!important}body.mobile-card-mode .ant-table,body.mobile-card-mode .ant-table-container,body.mobile-card-mode .ant-table-content,body.mobile-card-mode .ant-table-body,body.mobile-card-mode .ant-table-tbody{display:block!important;width:auto!important;max-width:100%!important;min-width:0!important;height:auto!important;max-height:none!important;overflow:visible!important}body.mobile-card-mode .ant-table-body{margin:0!important}body.mobile-card-mode .ant-table table{display:block!important;width:100%!important;min-width:0!important;table-layout:auto!important}body.mobile-card-mode .ant-table-tbody>tr{position:relative;display:flex!important;flex-wrap:wrap;align-items:center;column-gap:8px;row-gap:2px;margin:0 0 6px;padding:6px 10px 6px 8px;border:1px solid #ece7f8;border-radius:10px;background:#fff;box-shadow:0 1px 4px #7c5cfc0d;overflow:hidden}body.mobile-card-mode .ant-table-tbody>tr:last-child{margin-bottom:2px}body.mobile-card-mode .ant-table-tbody>tr>td{display:inline-flex!important;align-items:baseline;gap:3px;flex:0 1 auto;width:auto!important;min-width:0!important;max-width:100%!important;padding:0!important;border:none!important;font-size:12px;line-height:18px;white-space:normal!important;word-break:normal!important;overflow-wrap:anywhere;overflow:hidden!important}body.mobile-card-mode .ant-table-tbody>tr>td+td{border-top:none!important}body.mobile-card-mode .ant-table-tbody>tr>td[data-label]:before{content:attr(data-label);flex:0 0 auto;color:#9a9ab8;font-size:10.5px;line-height:16px;word-break:keep-all;white-space:nowrap}body.mobile-card-mode .ant-table-tbody>tr>td.campus-name-cell:before{display:none!important}body.mobile-card-mode .ant-table-tbody>tr>td[data-mobile-title="1"]{flex:0 1 auto;max-width:34%!important;font-size:13.5px;font-weight:600;color:#1a1a2e}body.mobile-card-mode .ant-table-tbody>tr>td[data-mobile-title="1"]:before{display:none!important}body.mobile-card-mode .ant-table-tbody>tr>td[data-label]:not([data-mobile-title="1"]):not([data-mobile-action="1"]){max-width:100%!important}body.mobile-card-mode .ant-table-tbody>tr>td[data-mobile-title="1"]{max-width:60%!important}body.mobile-card-mode .ant-table-tbody>tr>td.ant-table-selection-column{position:static!important;order:-1;flex:0 0 auto;padding:0 2px 0 0!important;border:none!important;overflow:visible!important}body.mobile-card-mode .ant-table-tbody>tr>td[data-mobile-action="1"]{order:910;flex:0 1 auto;justify-content:flex-end;gap:4px;max-width:100%!important;margin-left:auto;padding-top:2px!important;overflow-x:auto!important;overflow-y:hidden!important;white-space:nowrap!important}body.mobile-card-mode .ant-table-tbody>tr>td[data-mobile-action="1"]:before{display:none!important}body.mobile-card-mode .ant-table-tbody>tr>td[data-mobile-action="1"] .ant-space{flex-wrap:nowrap!important}body.mobile-card-mode .ant-table-tbody>tr>td .ant-btn{height:24px!important;padding:0 7px!important;font-size:12px!important;line-height:22px!important}body.mobile-card-mode .ant-table-cell-ellipsis{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}body.mobile-card-mode .ant-table-tbody>tr.ant-table-placeholder{display:block!important;padding:18px 12px;text-align:center}body.mobile-card-mode .ant-table-tbody>tr.ant-table-placeholder>td{display:block!important;width:100%!important;max-width:none!important;color:#8a8aa8;white-space:normal!important}body.mobile-card-mode .ant-table-tbody>tr[data-mobile-extra-count]>td[data-mobile-extra]{display:none!important}body.mobile-card-mode .ant-table-tbody>tr[data-mobile-extra-count].mobile-card-expanded>td[data-mobile-extra]{display:inline-flex!important;flex:0 0 100%;font-size:12px}body.mobile-card-mode .ant-table-tbody>tr[data-mobile-extra-count]:after{content:"+ 还有 " attr(data-mobile-extra-count) " 项 ▾";order:900;flex:0 0 auto;margin-right:auto;color:#7c5cfc;font-size:11px;line-height:18px;white-space:nowrap}body.mobile-card-mode .ant-table-tbody>tr[data-mobile-extra-count]{overflow:visible!important}body.mobile-card-mode .ant-table-tbody>tr[data-mobile-extra-count].mobile-card-expanded:after{content:"收起 ▴";flex:0 0 100%;margin-right:0;padding-top:2px}body.mobile-card-mode .schedule-board-holder .ant-table-tbody>tr{padding:8px 10px 7px!important}body.mobile-card-mode .schedule-board-holder .ant-table-tbody>tr>td.sb-title{display:inline-flex!important;flex:0 1 auto;max-width:calc(100% - 74px)!important;font-size:13.5px;font-weight:600;color:#1a1a2e;line-height:20px}body.mobile-card-mode .schedule-board-holder .ant-table-tbody>tr>td.sb-title div{font-weight:600}body.mobile-card-mode .schedule-board-holder .ant-table-tbody>tr>td.sb-count{display:inline-flex!important;flex:0 0 auto;margin-left:auto;padding:1px 8px!important;border-radius:999px;background:#f0edff;color:#4a3f7a!important;font-size:11px!important;font-weight:600;line-height:18px}body.mobile-card-mode .schedule-board-holder .ant-table-tbody>tr>td.sb-count:before{display:none!important}body.mobile-card-mode .schedule-board-holder .ant-table-tbody>tr>td.sb-day,body.mobile-card-mode .schedule-board-holder .ant-table-tbody>tr>td.sb-teacher{display:flex!important;flex:0 0 100%!important;flex-wrap:wrap;max-width:100%!important;align-items:baseline;column-gap:3px;padding:3px 0 0!important;border-top:1px dashed #f2effb!important;margin-top:2px;font-size:12px}body.mobile-card-mode .schedule-board-holder .ant-table-tbody>tr>td.sb-day:before,body.mobile-card-mode .schedule-board-holder .ant-table-tbody>tr>td.sb-teacher:before{flex:0 0 44px;color:#7c5cfc;font-size:11px;font-weight:600}body.mobile-card-mode .schedule-board-holder .ant-table-tbody>tr>td.sb-day>div+div:before{content:"· ";color:#c9c3e0}.ant-modal{max-width:calc(100vw - 16px)!important;margin:8px auto!important;top:8px!important;padding-bottom:8px!important}.ant-modal-body{padding:14px 12px!important}.ant-modal-footer{padding:10px 12px!important}.ant-modal-title{white-space:normal!important;overflow-wrap:anywhere;line-height:20px}.ant-modal-header .ant-tag{white-space:normal!important;overflow-wrap:anywhere;height:auto;line-height:18px}.ant-drawer-content-wrapper{max-width:100vw!important}.ant-modal .ant-divider-inner-text{white-space:normal!important;overflow-wrap:anywhere}.ant-modal-wrap{overflow-x:hidden!important}.ant-form-item{margin-bottom:14px!important}.ant-space{display:flex!important;flex-wrap:wrap}.ant-descriptions-view table{table-layout:auto!important}.ant-descriptions-item-label{white-space:nowrap!important}.ant-picker-dropdown{max-width:calc(100vw - 8px)!important}.ant-picker-dropdown .ant-picker-panel-container{max-width:100%;overflow-x:auto}.primary-page-title{display:none!important}.primary-schedule-board .ant-card-head-title{white-space:normal!important}.ant-tabs-tab{padding:8px 10px!important}.ant-pagination{font-size:13px}.primary-dashboard-card .ant-card-head{height:auto!important}.primary-dashboard-card .ant-card-head-title{white-space:normal!important;overflow:visible!important;text-overflow:clip!important}.primary-dashboard-card .ant-card-head-title>span{display:inline-flex!important;flex-wrap:wrap;align-items:center;gap:2px 6px}.mr-list{display:block}.mr-list-footer{margin-top:8px}.mr-card{display:flex;align-items:center;gap:8px;min-height:34px;max-height:40px;overflow:hidden;margin:0 0 6px;padding:7px 10px;border:1px solid #ece7f8;border-radius:10px;background:#fff;box-shadow:0 1px 4px #7c5cfc0d;cursor:pointer}.mr-card:last-child{margin-bottom:2px}.mr-card-selected{border-color:#7c5cfc;box-shadow:0 2px 10px #7c5cfc2e}.mr-card-check{order:-1;flex:0 0 auto;display:flex;align-items:center}.mr-card-title{flex:0 0 auto;max-width:46%;min-width:0;font-size:13.5px;font-weight:600;line-height:18px;color:#1a1a2e;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mr-card-title .ant-btn{display:inline-flex;align-items:center;gap:4px;height:auto!important;padding:0!important;max-width:100%;overflow:hidden}.mr-card-title .ant-btn>span{display:inline-block;max-width:100%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mr-card-title .ant-avatar{width:20px!important;height:20px!important;min-width:20px!important;line-height:20px!important;font-size:11px!important}.mr-card-title div[style*="border-radius: 50%"]{width:20px!important;height:20px!important}.mr-card-fields{display:flex;align-items:baseline;gap:8px;flex:1 1 auto;min-width:0;overflow:hidden;white-space:nowrap}.mr-field{display:inline-flex;align-items:baseline;gap:3px;min-width:0;max-width:100%;font-size:12px;line-height:18px}.mr-field-label{flex:0 0 auto;color:#6b6b85;font-size:12px}.mr-field-value{min-width:0;color:#3d3d5c;overflow:hidden;text-overflow:ellipsis}.mr-card-hint{flex:0 0 auto;color:#6b4ce0;font-size:12px;line-height:18px;white-space:nowrap}.mr-card-more{flex:0 0 auto;display:inline-flex;align-items:center;gap:2px;color:#b3b3cc;font-size:12px;white-space:nowrap}.mr-card-grid{display:flex;flex-wrap:wrap;align-items:center;gap:1px 8px;min-height:0;max-height:none;overflow:visible;padding:4px 8px 5px}.mr-card-grid>.mr-card-check{order:-1}.mr-card-grid>.mr-card-title{order:1;flex:1 1 auto;max-width:none}.mr-card-grid>.mr-card-hint{order:2}.mr-card-grid>.mr-card-more{order:3}.mr-card-grid>.mr-card-fields{order:4;flex:0 0 100%;display:grid;grid-template-columns:max-content minmax(0,1fr);column-gap:12px;row-gap:2px;align-items:baseline;margin:0;padding:4px 0 0;border-top:1px dashed #f2eefc;white-space:normal;overflow:visible}.mr-card-grid .mr-field{display:contents}.mr-card-grid .mr-field-label{font-size:12px;line-height:17px;white-space:nowrap}.mr-card-grid .mr-field-value{font-size:12.5px;line-height:17px;overflow:visible;text-overflow:clip;word-break:break-word}.mr-card-grid .mr-field-value .ant-tag{margin:0;padding:0 6px;height:19px;line-height:18px;font-size:12px}.mr-card-rows{order:4;flex:0 0 100%;display:flex;flex-wrap:wrap;align-items:baseline;gap:6px 20px;margin:0;padding:9px 0 2px;border-top:1px dashed #f2eefc;white-space:normal;overflow:visible}.mr-card-row{display:contents}.mr-card-rows .mr-field{display:inline-flex;align-items:baseline;gap:6px;flex:0 1 auto;min-width:0;max-width:100%}.mr-card-rows .mr-field-label{flex:0 0 auto;font-size:12px;line-height:19px;color:#6b6b85;white-space:nowrap}.mr-card-rows .mr-field-value{min-width:0;font-size:13px;line-height:19px;text-align:left;word-break:break-word}.mr-card-rows .mr-field-value .ant-tag{margin:0;padding:0 6px;height:19px;line-height:18px;font-size:12px}.mr-card-sub{margin-left:8px;font-size:12px;font-weight:400;color:#8a879c;white-space:nowrap}.mr-card-rows-mode{padding:9px 11px 10px}.mr-card-rows-mode>.mr-card-title{margin-bottom:1px}.mr-detail-extra{margin-top:14px}.mr-detail-actions{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px;padding-top:10px;border-top:1px dashed #f2eefc}.mr-drawer .ant-descriptions-item-label{width:6.2em}.mr-drawer .ant-descriptions-item-content{word-break:break-word}.ant-input,.ant-input-affix-wrapper,.ant-input-number,.ant-picker,.ant-select-single .ant-select-selector,.ant-select-multiple .ant-select-selector,.ant-input-affix-wrapper>input.ant-input{font-size:13px!important}.ant-input,.ant-input-affix-wrapper,.ant-input-number,.ant-picker,.ant-select-single .ant-select-selector{padding-top:2px!important;padding-bottom:2px!important}textarea.ant-input{padding:6px 8px!important}.ant-form-item-label>label{font-size:13px!important}.page-toolbar{margin-bottom:8px!important}.kpi-strip{gap:6px!important;margin-bottom:8px!important}.page-toolbar .ant-space{display:grid!important;grid-template-columns:repeat(2,minmax(0,1fr));gap:6px!important;width:100%}.page-toolbar .ant-space-item{min-width:0}.page-toolbar .ant-input-affix-wrapper,.page-toolbar .ant-input,.page-toolbar .ant-input-number,.page-toolbar .ant-select,.page-toolbar .ant-picker{width:100%!important}.page-toolbar .ant-space-item:has(.ant-input-affix-wrapper),.page-toolbar .ant-space-item:has(.ant-space),.page-toolbar .ant-space-item:has(.ant-checkbox-wrapper){grid-column:1 / -1}.page-toolbar .ant-row{row-gap:6px!important}.page-toolbar .ant-row>.ant-col{flex:0 0 calc(50% - 3px)!important;max-width:calc(50% - 3px)!important}.page-toolbar .ant-row>.ant-col:has(.ant-input-search),.page-toolbar .ant-row>.ant-col:has(.ant-input-affix-wrapper),.page-toolbar .ant-row>.ant-col:has(>.ant-input){flex:0 0 100%!important;max-width:100%!important}.person-photo-card .ant-card-cover img,.person-photo-card .ant-card-cover .ant-image,.person-photo-card .ant-card-cover .ant-image img,.person-photo-card .ant-card-cover>div{height:130px!important}.person-photo-card .ant-card-body{padding:8px 10px!important}.person-photo-card .ant-card-meta-title{font-size:14px!important}.person-photo-card .ant-card-actions{border-top:none!important}.person-card-layout{display:block!important}.person-card-photo{flex:none!important;width:132px!important;margin-bottom:10px}.person-card-info{width:100%!important}.cert-grid{grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important}.ant-modal .ant-descriptions-item-content{word-break:break-word}.ant-modal .ant-descriptions-item-label{white-space:normal!important;overflow-wrap:anywhere}.app-content h2[data-page-title]{display:none!important}.page-toolbar.graduate-toolbar{display:flex!important;flex-wrap:wrap!important;align-items:center;gap:6px!important;overflow:visible!important}.page-toolbar.graduate-toolbar>*{flex:0 0 auto!important;max-width:100%!important}.page-toolbar.graduate-toolbar>:has(input.ant-input),.page-toolbar.graduate-toolbar>:has(.ant-input-affix-wrapper){flex:1 1 100%!important}.page-toolbar.graduate-toolbar .ant-btn{height:36px!important;padding:0 8px!important;font-size:12px!important}.page-toolbar.graduate-toolbar .ant-space-item{flex:0 0 auto!important}body.mobile-toolbar-mode .app-content [data-mt=over]:not([data-mt-expanded="1"]),body.mobile-toolbar-mode .app-content [data-mt=collapse]:not([data-mt-expanded="1"]){display:flex!important;flex-wrap:nowrap!important;align-items:center;gap:6px!important;margin-left:0!important;margin-right:0!important;overflow:visible;padding-bottom:2px}body.mobile-toolbar-mode .app-content [data-mt=collapse]:not([data-mt-expanded="1"])>.mt-hidden{display:none!important}body.mobile-toolbar-mode .app-content [data-mt=over]:not([data-mt-expanded="1"])>*,body.mobile-toolbar-mode .app-content [data-mt=collapse]:not([data-mt-expanded="1"])>*{flex:0 0 auto!important;max-width:none!important;min-width:0!important}body.mobile-toolbar-mode .app-content [data-mt=over]>.ant-col,body.mobile-toolbar-mode .app-content [data-mt=over]>.ant-space-item,body.mobile-toolbar-mode .app-content [data-mt=over]>.ant-row,body.mobile-toolbar-mode .app-content [data-mt=collapse]:not([data-mt-expanded="1"])>.ant-col,body.mobile-toolbar-mode .app-content [data-mt=collapse]:not([data-mt-expanded="1"])>.ant-space-item,body.mobile-toolbar-mode .app-content [data-mt=collapse]:not([data-mt-expanded="1"])>.ant-row{padding-left:0!important;padding-right:0!important}body.mobile-toolbar-mode .app-content [data-mt=collapse]:not([data-mt-expanded="1"])>:has(input.ant-input),body.mobile-toolbar-mode .app-content [data-mt=collapse]:not([data-mt-expanded="1"])>:has(.ant-input-affix-wrapper),body.mobile-toolbar-mode .app-content [data-mt=collapse]:not([data-mt-expanded="1"])>:has(.ant-input-search){flex:1 1 130px!important}body.mobile-toolbar-mode .app-content [data-mt] input.ant-input,body.mobile-toolbar-mode .app-content [data-mt] .ant-input-affix-wrapper,body.mobile-toolbar-mode .app-content [data-mt] .ant-input-search{width:100%!important}body.mobile-toolbar-mode .app-content [data-mt] .ant-input,body.mobile-toolbar-mode .app-content [data-mt] .ant-input-affix-wrapper,body.mobile-toolbar-mode .app-content [data-mt] .ant-input-number,body.mobile-toolbar-mode .app-content [data-mt] .ant-picker,body.mobile-toolbar-mode .app-content [data-mt] .ant-select-single .ant-select-selector{height:36px!important;min-height:36px!important;padding-top:0!important;padding-bottom:0!important}body.mobile-toolbar-mode .app-content [data-mt] .ant-btn{height:36px!important;padding:0 10px!important;font-size:12.5px;white-space:nowrap}body.mobile-toolbar-mode .app-content [data-mt] .ant-btn>.anticon+span{margin-inline-start:4px}body.mobile-toolbar-mode .app-content [data-mt=collapse]>.mt-toggle{order:-1;flex:0 0 auto!important;height:36px;padding:0 12px;border:1px solid #d5ccf5;border-radius:999px;background:#f6f3ff;color:#5b3fd0;font-size:12.5px;font-weight:600;line-height:34px;white-space:nowrap;cursor:pointer}body.mobile-toolbar-mode .app-content [data-mt=collapse][data-mt-expanded="1"]>.mt-toggle{border-color:#7c5cfc;background:#7c5cfc;color:#fff}body.mobile-toolbar-mode .app-content .meal-date-bar,body.mobile-toolbar-mode .app-content .page-toolbar.recycle-toolbar{display:flex!important;flex-wrap:wrap!important;align-items:center;gap:6px!important;overflow:visible!important}body.mobile-toolbar-mode .app-content .meal-date-bar>.ant-space-item,body.mobile-toolbar-mode .app-content .page-toolbar.recycle-toolbar>.ant-space-item{flex:0 0 auto!important;max-width:100%!important}body.mobile-toolbar-mode .app-content .meal-date-bar .meal-date-nav{flex:0 0 auto!important;max-width:100%!important}body.mobile-toolbar-mode .app-content .meal-date-bar .meal-date-nav .ant-picker{flex:0 1 140px!important;width:auto!important;min-width:120px!important}body.mobile-toolbar-mode .app-content .page-toolbar.recycle-toolbar>.ant-space-item:has(.ant-input-affix-wrapper),body.mobile-toolbar-mode .app-content .page-toolbar.recycle-toolbar>.ant-space-item:has(.ant-select){flex:1 1 100%!important}body.mobile-toolbar-mode .app-content .page-toolbar.recycle-toolbar .ant-input-affix-wrapper,body.mobile-toolbar-mode .app-content .page-toolbar.recycle-toolbar .ant-input-search,body.mobile-toolbar-mode .app-content .page-toolbar.recycle-toolbar .ant-select{width:100%!important}.sheet-table-wrap{width:100%;overflow:visible}.sheet-table{width:100%;border-collapse:collapse;table-layout:fixed;background:#fff;font-size:11px;line-height:1.3;color:#1a1a2e}.sheet-table th,.sheet-table td{border:1px solid #e0daf2;padding:3px 1px;text-align:center;vertical-align:middle;overflow-wrap:anywhere}.sheet-table thead th{background:#f0edff;color:#4a3f7a;font-weight:600;white-space:nowrap}.sheet-table td.sheet-seq{color:#7b7b96}.sheet-table td.sheet-name{text-align:left;padding-left:3px}.sheet-table td.sheet-total{font-weight:700;color:#7c5cfc}.sheet-table tbody tr:nth-child(2n) td{background:#fcfbff}.sheet-table tfoot td{background:#f7f4ff;font-weight:700;color:#4a3f7a}.sheet-table .ant-input-number{width:100%!important;border-color:#ddd6f5!important}.sheet-table .ant-input-number-input{height:26px!important;padding:0 2px!important;font-size:12px!important;text-align:center}.sheet-table .ant-input-number-input::placeholder{font-size:10px;color:#b9b3d0}.sheet-table .sheet-imported{display:inline-block;margin-left:3px;padding:0 3px;border-radius:3px;background:#f0edff;color:#7c5cfc;font-size:9px;line-height:14px;vertical-align:middle}.sheet-table .sheet-del{padding:0 2px;border:none;background:none;color:#ff4d4f;font-size:11px;line-height:16px;cursor:pointer}.sheet-head-tags{display:flex;flex-wrap:wrap;gap:4px;align-items:center;margin-bottom:8px;font-size:11.5px;color:#666}body.mobile-card-mode .ant-table-tbody>tr>td[data-mobile-title="1"]:has(.exam-name-tag){flex:1 1 100%!important;max-width:100%!important}.exam-name-tag{display:inline-block;max-width:100%;height:auto!important;padding:1px 6px!important;font-size:12.5px;line-height:17px;white-space:normal!important;overflow-wrap:anywhere}body.mobile-toolbar-mode .app-content [data-mt=over]:not([data-mt-expanded="1"]){display:flex!important;flex-wrap:nowrap!important;align-items:center;gap:6px!important;margin-left:0!important;margin-right:0!important;overflow:visible!important}body.mobile-toolbar-mode .app-content [data-mt=collapse]:not([data-mt-expanded="1"]){overflow:visible!important}body.mobile-toolbar-mode .app-content [data-mt=over][data-mt-expanded="1"],body.mobile-toolbar-mode .app-content [data-mt=collapse][data-mt-expanded="1"]{flex-wrap:wrap!important;overflow:visible!important}body.mobile-toolbar-mode .app-content [data-mt]:not([data-mt-expanded="1"])>.mt-fit-hidden{display:none!important}body.mobile-toolbar-mode .app-content [data-mt][data-mt-tight="1"]{gap:4px!important}body.mobile-toolbar-mode .app-content [data-mt][data-mt-tight="1"]>*{margin-left:0!important;margin-right:0!important}body.mobile-toolbar-mode .app-content [data-mt][data-mt-tight="1"] .ant-btn{padding:0 6px!important;font-size:12px!important}body.mobile-toolbar-mode .app-content [data-mt][data-mt-tight="1"] .ant-btn>.anticon+span{margin-inline-start:3px!important}body.mobile-toolbar-mode .app-content [data-mt]>.mt-fit-toggle{flex:0 0 auto!important;order:999;height:36px;padding:0 12px;border:1px solid #d5ccf5;border-radius:999px;background:#f6f3ff;color:#5b3fd0;font-size:12.5px;font-weight:600;line-height:34px;white-space:nowrap;cursor:pointer}body.mobile-toolbar-mode .app-content [data-mt][data-mt-expanded="1"]>.mt-fit-toggle{border-color:#7c5cfc;background:#7c5cfc;color:#fff}.primary-schedule-board .psb-cards{display:flex;flex-direction:column;gap:8px}.primary-schedule-board .psb-card{border:1px solid #ece7fb;border-radius:8px;background:#fcfbff;padding:8px}.primary-schedule-board .psb-head{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-bottom:6px;font-size:12.5px}.primary-schedule-board .psb-seq{flex:0 0 auto;min-width:20px;height:20px;padding:0 5px;box-sizing:border-box;border-radius:999px;background:#7c5cfc;color:#fff;font-size:11px;font-weight:600;line-height:20px;text-align:center}.primary-schedule-board .psb-school{font-weight:600;color:#1a1a2e;overflow-wrap:anywhere}.primary-schedule-board .psb-course{color:#4a3f7a;overflow-wrap:anywhere}.primary-schedule-board .psb-fields{display:grid;grid-template-columns:1fr 1fr;gap:3px 8px;font-size:11.5px}.primary-schedule-board .psb-field{display:flex;gap:4px;min-width:0}.primary-schedule-board .psb-field>span{flex:0 0 auto;color:#9a9ab8}.primary-schedule-board .psb-field>b{font-weight:500;color:#1a1a2e;overflow-wrap:anywhere}.primary-schedule-board .psb-field.psb-wide{grid-column:1 / -1}.ant-tabs-top>.ant-tabs-nav .ant-tabs-nav-wrap{overflow:visible!important}.ant-tabs-top>.ant-tabs-nav .ant-tabs-nav-list{flex-wrap:wrap!important;gap:6px!important;transform:none!important}.ant-tabs-top>.ant-tabs-nav .ant-tabs-tab{flex:0 0 auto!important;margin:0!important;padding:4px 10px!important;border-radius:999px!important;background:#f2f2f7!important;border:1px solid transparent!important;line-height:20px!important}.ant-tabs-top>.ant-tabs-nav .ant-tabs-tab.ant-tabs-tab-active{background:#5d44d11f!important;border-color:#5d44d159!important}.ant-tabs-top>.ant-tabs-nav .ant-tabs-tab.ant-tabs-tab-active .ant-tabs-tab-btn{color:#5d44d1!important;font-weight:600!important}.ant-tabs-top>.ant-tabs-nav .ant-tabs-ink-bar{display:none!important}.ant-tabs-top>.ant-tabs-nav .ant-tabs-nav-operations{display:none!important}.mobile-tab-bar{margin-bottom:10px}.mobile-tab-bar .mtb-pills{display:flex;flex-wrap:wrap;gap:6px}.mobile-tab-bar .mtb-pill{display:inline-flex;align-items:center;gap:4px;max-width:100%;padding:5px 10px;font-size:13px;line-height:20px;color:#1a1a2e;text-align:left;background:#f2f2f7;border:1px solid transparent;border-radius:999px;overflow-wrap:anywhere}.mobile-tab-bar .mtb-pill.mtb-active{color:#5d44d1;font-weight:600;background:#5d44d11f;border-color:#5d44d159}.mobile-tab-bar .mtb-trigger{display:flex;align-items:center;justify-content:space-between;gap:8px;width:100%;padding:6px 12px;font-size:13px;line-height:22px;color:#1a1a2e;text-align:left;background:#5d44d114;border:1px solid rgba(93,68,209,.35);border-radius:8px}.mobile-tab-bar .mtb-cur{display:inline-flex;align-items:center;gap:4px;min-width:0;font-weight:600;overflow-wrap:anywhere}.mobile-tab-bar .mtb-meta{flex:0 0 auto;font-size:12px;color:#7a7a90;white-space:nowrap}}.cert-grid{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px}.att-filter{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;width:100%}.att-step{display:flex;align-items:center;gap:8px;min-width:0}.att-step-label{color:#6b6a63;font-size:13px;white-space:nowrap}.att-step-label b{color:#006838;font-weight:700;margin-right:2px}.att-hint{display:flex;align-items:flex-start;gap:6px;margin-top:12px;padding:8px 10px;border-radius:8px;background:#faeeda;color:#8a4b00;font-size:12.5px;line-height:1.6}.att-hint b{color:#b25e00}.att-mstep{margin-bottom:16px}.att-mlabel{margin-bottom:8px;font-weight:500;color:#4a4944}.att-mlabel b{color:#006838;font-weight:700;margin-right:2px}@media(max-width:768px){.att-filter{flex-direction:column;align-items:stretch;gap:8px}.att-step{width:100%}.att-step-label{flex:0 0 auto;min-width:66px}.att-step>.ant-picker,.att-step>.ant-select,.att-step>.ant-segmented{flex:1 1 auto;min-width:0}.att-step>.ant-picker,.att-step>.ant-select{width:auto}.att-step>.ant-segmented{width:100%}.att-step>.ant-segmented .ant-segmented-item{flex:1 1 0;text-align:center}.att-filter>.ant-tag{align-self:flex-start;margin-left:66px!important}.att-hint{font-size:12px}}.att-topbar{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:2px 4px 10px}.att-topbar-title{font-size:16px;font-weight:600;color:#2f2e2a}.att-rec-title{display:inline-flex;align-items:baseline;gap:10px;flex-wrap:wrap}.att-rec-title-sub{font-size:12px;font-weight:400;color:#8a887f}.att-rec-filter{display:flex;flex-direction:column;gap:10px}.att-rec-line{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.att-rec-label{flex:0 0 auto;min-width:42px;font-size:13px;color:#6b6a63}.att-rec-summary{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:12px;padding-top:10px;border-top:1px dashed #e4e1d8;font-size:13px;color:#4a4944}.att-rec-summary-tip{margin-left:auto;font-size:12px;color:#9a978d}.att-roster{display:flex;flex-direction:column;gap:8px;padding:2px 0}.att-roster-loading{display:flex;align-items:center;gap:8px;padding:6px 0;font-size:13px;color:#8a887f}.att-roster-row{display:flex;align-items:flex-start;gap:10px}.att-roster-tag{flex:0 0 auto;min-width:62px;text-align:center;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:600}.att-roster-names{flex:1 1 auto;min-width:0;font-size:13px;line-height:22px;color:#2f2e2a;word-break:break-word}.att-roster-name{margin-right:10px;white-space:nowrap}.att-roster-remark{color:#8a887f;font-style:normal;font-size:12px}.att-roster-foot{font-size:12px;color:#8a887f}.att-roster-del{padding:0 2px;margin-left:2px;height:20px;vertical-align:-2px;opacity:.5}.att-roster-del:hover{opacity:1}.att-roster-del .anticon{font-size:12px}.att-edit-note{background:#f4f8f5;border-left:3px solid #006838;border-radius:6px;padding:8px 10px;margin-bottom:14px;font-size:13px;line-height:1.8;color:#4a4a45}.att-edit-row{display:flex;align-items:center;gap:10px;margin-bottom:12px}.att-edit-label{flex:0 0 64px;font-size:13px;color:#6b6a63}@media(max-width:768px){.att-edit-row{flex-wrap:wrap}.att-edit-label{flex:0 0 100%}}@media(max-width:768px){.att-rec-line{flex-direction:column;align-items:stretch;gap:6px}.att-rec-label{min-width:0}.att-rec-line>.ant-segmented,.att-rec-line>.ant-picker,.att-rec-line>.ant-select,.att-rec-line>.ant-input-affix-wrapper{width:100%!important;min-width:0}.att-rec-line>.ant-segmented .ant-segmented-item{flex:1 1 0;text-align:center}.att-rec-line>.ant-btn{width:100%}.att-rec-summary-tip{margin-left:0}.att-roster-row{flex-direction:column;gap:4px}.att-roster-tag{min-width:0;align-self:flex-start}.att-roster-name{white-space:normal}}.home-group{margin-bottom:18px}.home-group:last-of-type{margin-bottom:6px}.home-group-head{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin:0 2px 8px}.home-group-bar{flex:0 0 auto;width:4px;height:16px;border-radius:2px;background:linear-gradient(180deg,#006838,#5a49b8)}.home-group-name{font-size:14px;font-weight:600;letter-spacing:.3px;color:#1e293b}.home-group-desc{font-size:12px;color:#9a988f}.home-mini-title{margin-bottom:4px;font-size:12.5px;font-weight:600;color:#5f5e5a}@media(max-width:768px){.home-group{margin-bottom:14px}.home-group-desc{flex:0 0 100%;font-size:11.5px}}.home-stage-wrap{display:flex;gap:16px;align-items:flex-start}.home-stage-block{flex:1 1 0;min-width:0}.home-stage-block+.home-stage-block{border-left:1px solid #ecebe4;padding-left:16px}.home-stage-head{display:flex;align-items:baseline;gap:6px;margin-bottom:6px}.home-stage-dot{flex:0 0 auto;align-self:center;width:8px;height:8px;border-radius:50%}.home-stage-name{font-size:13px;font-weight:600;color:#1e293b}.home-stage-total{margin-left:2px;font-size:17px;font-weight:700;line-height:1.1}.home-stage-unit{font-size:11px;color:#9a988f}.home-stage-sub{margin-left:auto;font-size:11.5px;color:#9a988f}.home-stage-warn{margin-top:6px;font-size:11px;line-height:1.5;color:#d46b08}@media(max-width:768px){.home-stage-block+.home-stage-block{border-left:none;padding-left:0;margin-top:12px;padding-top:12px;border-top:1px solid #ecebe4}}.home-chip-list{display:flex;flex-wrap:wrap;gap:6px;padding:2px 0 4px}.home-chip{display:inline-flex;align-items:center;gap:5px;max-width:100%;padding:3px 9px 3px 7px;border:1px solid #e6e5dd;border-radius:14px;background:#fafaf7;font-size:12px;line-height:1.6;white-space:nowrap}.home-chip-avatar{flex:0 0 auto;width:16px;height:16px;border-radius:50%;color:#fff;font-size:10px;display:inline-flex;align-items:center;justify-content:center}.home-chip-name{font-weight:600;color:#1e293b}.home-chip-meta{color:#9a988f}.home-chip-badge{font-weight:600}.home-chip-empty{padding:3px 0;font-size:12px;color:#9a988f}.home-chip-tag{font-size:11px;font-weight:600}.home-chip-action:hover{border-color:#f0c36d!important;background:#fdf4e3!important}.home-rank-photo{position:relative;flex:0 0 auto;display:inline-flex}.home-crown{position:absolute;top:-6px;right:-6px;width:18px;height:18px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:11px;border:1.5px solid;box-shadow:0 1px 3px #0000002e}@media(max-width:768px){body.mobile-toolbar-mode .app-content .att-info-bar,body.mobile-toolbar-mode .app-content .att-info-bar .ant-space,body.mobile-toolbar-mode .app-content .att-stu-row .att-stu-marks{display:flex!important;flex-wrap:wrap!important;align-items:center;overflow:visible!important}body.mobile-toolbar-mode .app-content .att-info-bar>.ant-space-item,body.mobile-toolbar-mode .app-content .att-info-bar .ant-space>.ant-space-item{flex:0 0 auto!important;max-width:100%!important}body.mobile-toolbar-mode .app-content .att-info-bar .att-info-actions{flex:1 1 100%!important;justify-content:flex-end}body.mobile-toolbar-mode .app-content .att-stu-row .att-stu-name{flex:1 1 100%!important}body.mobile-toolbar-mode .app-content .att-stu-row .att-stu-marks{flex:1 1 100%!important;margin-left:0!important}body.mobile-toolbar-mode .app-content .att-stu-row .att-stu-marks>.ant-space-item{flex:1 1 0!important;min-width:0!important}body.mobile-toolbar-mode .app-content .att-stu-row .att-stu-marks .ant-btn{width:100%!important;min-width:0!important;padding:0 4px!important}}.tdd-person-detail{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px;padding:4px 2px 8px}.tdd-detail-block{background:#fbfbf9;border:1px solid #ecebe4;border-radius:10px;padding:8px 10px;min-width:0}.tdd-detail-title{font-size:12.5px;font-weight:600;color:#1e293b;margin-bottom:6px}.tdd-info-row{display:flex;gap:8px;font-size:12px;line-height:1.9}.tdd-info-label{flex:0 0 72px;color:#9a988f}.tdd-info-value{flex:1;min-width:0;color:#33322c;word-break:break-all}.tdd-detail-note{font-size:12px;line-height:1.8;color:#8a6d3b;background:#fdf8ef;border:1px solid #f2deb6;border-radius:8px;padding:6px 8px}@media(max-width:768px){.tdd-person-detail{grid-template-columns:minmax(0,1fr)}.tdd-info-label{flex:0 0 64px}}.tdd-person-detail .ant-tag{white-space:normal;height:auto;line-height:1.6;padding:1px 6px;max-width:100%}.brand-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:6px;margin-top:18px;padding-top:10px;border-top:1px solid #f0f0f0;font-size:12px;line-height:20px;text-align:center}.brand-footer--dark{border-top-color:#ffffff1f}.brand-footer .brand-footer-sep{opacity:.45}.brand-footer .brand-footer-icp{font-size:12px;line-height:20px}.brand-footer .brand-footer-soft{opacity:.8}@media(max-width:768px){.brand-footer{font-size:11px;gap:4px;margin-top:14px;padding-top:8px}.brand-footer .brand-footer-icp{font-size:11px}}@media(max-width:768px){body.mobile-toolbar-mode .app-content .enroll-toolbar-card,body.mobile-toolbar-mode .app-content .enroll-toolbar,body.mobile-toolbar-mode .app-content .enroll-toolbar .ant-space{display:flex!important;flex-wrap:wrap!important;align-items:center;overflow:visible!important}body.mobile-toolbar-mode .app-content .enroll-toolbar>.ant-space-item{flex:0 0 auto!important;max-width:100%!important}}.dorm-stats{display:flex;flex-direction:column;gap:8px}.dorm-stats-tiles{display:flex;flex-wrap:wrap;align-items:center;gap:8px 26px}.dorm-stat-tile{min-width:96px;line-height:1.2}.dorm-stat-num{font-size:22px;font-weight:700}.dorm-stat-num .dorm-stat-unit{font-size:12px;font-weight:400;margin-left:2px;color:#999}.dorm-stat-label{font-size:12px;color:#8c8c8c;margin-top:2px}.dorm-stats-bar{display:flex;height:8px;border-radius:4px;overflow:hidden;background:#f0f0f0}.dorm-stats-bar i{display:block;height:100%}.dorm-stats-types{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:12px;color:#595959}.dorm-stats-types-label{color:#8c8c8c}.dorm-type-chip{display:inline-flex;align-items:center;gap:3px;padding:1px 8px;border-radius:10px;background:#f6f8fa;border:1px solid #eef0f3}.dorm-type-chip b{font-size:13px}.dorm-stats-beds{align-items:flex-end}.dorm-bed-bar{flex:1 1 200px;min-width:160px}.dorm-bed-bar-label{font-size:12px;color:#8c8c8c}.dorm-bed-bar-track{height:8px;border-radius:4px;background:#f0f0f0;overflow:hidden;margin-top:3px}.dorm-bed-bar-track i{display:block;height:100%;background:linear-gradient(90deg,#69c0ff,#cf1322)}@media(max-width:768px){.dorm-stat-num{font-size:18px}.dorm-stat-tile{min-width:74px}.dorm-stats-tiles{gap:8px 16px}}.cf-head{display:inline-flex;align-items:center;gap:5px;max-width:100%;line-height:1.4}.cf-head .cf-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cf-funnel{position:relative;display:inline-flex;align-items:center;cursor:pointer;flex:0 0 auto;padding:1px 3px;border-radius:4px;color:#00000040;font-size:12px;transition:color .15s,background .15s}.cf-funnel:hover{background:#f0f0f0;color:#7c5cfc}.cf-funnel.on{color:#7c5cfc;background:#f3efff}.cf-funnel.disabled{cursor:not-allowed;opacity:.35}.cf-funnel .cf-n{font-size:10px;font-weight:700;line-height:1;margin-left:1px}.cf-funnel .cf-icon{display:inline-flex;align-items:center;gap:1px}.cf-panel{min-width:236px;max-width:296px}.cf-bar{display:flex;align-items:center;gap:12px;margin:8px 0 4px;padding-bottom:6px;border-bottom:1px solid #f0f0f0}.cf-link{cursor:pointer;color:#7c5cfc;font-size:12px}.cf-link:hover{text-decoration:underline}.cf-link.danger{color:#ff4d4f}.cf-sp{flex:1}.cf-tip{color:#00000059;font-size:11px}.cf-opts{max-height:212px;overflow-y:auto;margin:0 -6px;padding:0 6px}.cf-opt{display:flex;align-items:center;gap:8px;padding:3px 4px;border-radius:4px;cursor:pointer;font-size:13px;margin:0}.cf-opt:hover{background:#f5f5f5}.cf-opt .cf-opt-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.cf-opt .cf-count{color:#00000073;font-size:11px;flex:0 0 auto}.cf-opt.zero .cf-opt-label,.cf-opt.zero .cf-count{color:#c8c8c8}.cf-noopt{padding:18px 0;text-align:center;color:#0000004d;font-size:12px}.cf-foot{display:flex;align-items:center;gap:8px;margin-top:8px;padding-top:8px;border-top:1px solid #f0f0f0}.stu-filterbar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 12px;padding:8px 12px;border-radius:8px;background:#f7f5ff;border:1px solid #ddd2ff}.stu-filterbar .sfb-lead{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:600;color:#5a3fd6}.stu-filterbar .sfb-hit{font-size:12px;color:#00000073}.stu-filterbar .sfb-hit b{color:#7c5cfc;font-size:14px;font-weight:600;margin:0 1px}.stu-filterbar .sfb-clear{margin-left:auto;cursor:pointer;font-size:12.5px;color:#ff4d4f;border:1px solid #ffccc7;background:#fff;border-radius:6px;padding:2px 10px}.stu-filterbar .sfb-clear:hover{background:#fff1f0}.stu-chip{display:inline-flex;align-items:center;gap:6px;background:#fff;border:1px solid #cbb8ff;color:#5a3fd6;border-radius:14px;padding:1px 6px 1px 10px;font-size:12.5px;line-height:19px;max-width:320px}.stu-chip .sc-k{color:#00000073;flex:0 0 auto}.stu-chip .sc-v{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.stu-chip .sc-x{flex:0 0 auto;width:16px;height:16px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;background:#ece4ff;color:#5a3fd6;font-size:11px}.stu-chip .sc-x:hover{background:#5a3fd6;color:#fff}.stu-mealstat{display:flex;align-items:center;gap:16px;flex-wrap:wrap;margin:0 0 12px;padding:7px 14px;border-radius:8px;background:#fafafa;border:1px solid #d9d9d9;font-size:12.5px;color:#0000008c}.stu-mealstat .sms-lead{font-weight:600;color:#000000e0}.stu-mealstat .sms-item b{color:#7c5cfc;font-size:15px;font-weight:600;margin:0 2px}.stu-mealstat .sms-note{margin-left:auto;font-size:11.5px;color:#00000059}.stu-mbar{display:flex;align-items:center;gap:8px;margin-bottom:10px}.stu-mbar .stu-msearch{flex:1;min-width:0}.stu-mfilter-btn{position:relative;flex:0 0 auto}.stu-mfilter-btn.on{border-color:#7c5cfc!important;color:#7c5cfc!important;background:#f3efff!important}.stu-mfilter-btn .smb-n{display:inline-block;margin-left:5px;background:#7c5cfc;color:#fff;border-radius:9px;padding:0 6px;font-size:11px;font-weight:600}.stu-fdrawer .ant-drawer-body{padding:12px 16px}.stu-fgroup{margin-bottom:14px}.stu-fgroup .sfg-t{font-size:12px;color:#00000073;margin-bottom:7px}.stu-fgroup .sfg-opts{display:flex;flex-wrap:wrap;gap:7px}.stu-fopt{border:1px solid #d9d9d9;background:#fff;border-radius:15px;padding:5px 12px;font-size:13px;cursor:pointer;color:#000000e0;line-height:1.5}.stu-fopt .n{color:#00000059;font-size:11.5px;margin-left:4px}.stu-fopt.on{background:#7c5cfc;border-color:#7c5cfc;color:#fff}.stu-fopt.on .n{color:#ffffffd9}.stu-fopt.zero{color:#c8c8c8}.stu-fmeal{display:flex;align-items:center;gap:12px;flex-wrap:wrap;padding:8px 12px;margin-bottom:12px;border-radius:8px;background:#fafafa;border:1px solid #d9d9d9;font-size:12.5px;color:#0000008c}.stu-fmeal b{color:#7c5cfc;font-size:14px}@media(max-width:768px){body.mobile-toolbar-mode .app-content .stu-mbar,body.mobile-toolbar-mode .app-content .stu-mbar .ant-btn{display:inline-flex!important}}@media(max-width:768px){body.mobile-toolbar-mode .app-content .list-topbar,body.mobile-toolbar-mode .app-content .list-topbar>.ant-col,body.mobile-toolbar-mode .app-content .list-topbar .page-toolbar{display:flex!important;flex-wrap:wrap!important;align-items:center;justify-content:flex-start!important;overflow:visible!important}body.mobile-toolbar-mode .app-content .list-topbar>.ant-col{flex:1 1 100%!important;max-width:100%!important;text-align:left!important}body.mobile-toolbar-mode .app-content .list-topbar .page-toolbar{width:100%!important}body.mobile-toolbar-mode .app-content .list-topbar .page-toolbar>.ant-space-item{flex:0 0 auto!important;max-width:100%!important}}.ac-wrap{font-size:13px}.ac-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:12px 14px;border-radius:12px;background:#f7f5ff;border:1px solid #e3dcff}.ac-no{display:flex;align-items:baseline;gap:6px}.ac-no-label{font-size:12px;color:#888}.ac-no-val{font-family:ui-monospace,Consolas,monospace;font-size:16px;font-weight:600;color:#5a3fd6;letter-spacing:.5px}.ac-name{font-size:18px;font-weight:600;color:#222}.ac-sex{font-size:12px;color:#888;margin-left:6px;font-weight:400}.ac-tags{margin-left:auto;display:flex;gap:6px;flex-wrap:wrap}.ac-sec-title{margin:16px 0 8px;font-size:13px;font-weight:600;color:#333;padding-left:10px;border-left:4px solid var(--color-primary-500, #7c5cfc)}.ac-timeline{display:flex;flex-direction:column;gap:8px}.ac-tl-row{display:flex;align-items:center;gap:10px;flex-wrap:wrap;padding:9px 12px;border:1px solid #eee;border-radius:10px;background:#fafafa}.ac-tl-row.cur{border-color:#cbb8ff;background:#f3efff}.ac-tl-dot{color:var(--color-primary-500, #7c5cfc);font-size:15px}.ac-tl-stage{width:42px;font-weight:600;color:#333}.ac-tl-years{width:108px;color:#555;font-family:ui-monospace,Consolas,monospace;font-size:12px}.ac-tl-school{flex:1 1 160px;color:#222;min-width:120px}.ac-tl-mark{margin-left:auto}.ac-unknown{color:#aaa}.ac-admission{padding:10px 12px;border-radius:10px;background:#fffbe6;border:1px solid #ffe58f;color:#333}.ac-empty-line{color:#999;padding:8px 2px}.ac-desc{margin-top:4px}.ac-note{margin-top:14px;font-size:12px;color:#888;line-height:1.8}.ac-foot{margin-top:14px;display:flex;justify-content:flex-end;gap:8px}@media(max-width:768px){.ac-no-val{font-size:15px}.ac-name{font-size:16px}.ac-tags{margin-left:0}.ac-tl-years{width:auto}.ac-tl-school{flex:1 1 100%}}.ac-photo{flex:0 0 auto;margin-right:12px}.stu-moved-hint{margin-bottom:10px;padding:8px 12px;border-radius:8px;font-size:12.5px;background:#fffbe6;border:1px solid #ffe58f;color:#7a5b00}.dup-group{border:1px solid #f0f0f0;border-radius:10px;padding:12px;margin-bottom:12px;background:#fafafa}.dup-head{font-size:13px;margin-bottom:8px}.dup-cards{display:flex;gap:12px;flex-wrap:wrap}.dup-card{flex:1 1 320px;min-width:260px;display:block;cursor:pointer;border:1px solid #e8e8e8;border-radius:10px;padding:10px 12px;background:#fff}.dup-card.keep{border-color:#52c41a;background:#f6ffed}.dup-card-top{display:flex;align-items:center;gap:6px;margin-bottom:6px}.dup-row{display:flex;font-size:12.5px;line-height:1.9}.dup-row>span{flex:0 0 76px;color:#888}.dup-row>b{font-weight:500;color:#333;word-break:break-all}.dup-sub{display:flex;margin-top:6px;font-size:12.5px}.dup-sub>span{flex:0 0 76px;color:#888}@media(max-width:768px){.dup-card{flex:1 1 100%}}.colset-panel{min-width:240px;max-width:320px}.colset-head{display:flex;align-items:center;gap:8px;font-size:12.5px;font-weight:600;color:#5a3fd6;padding-bottom:6px;border-bottom:1px solid #f0f0f0}.colset-head .colset-count{margin-left:auto;font-weight:500;color:#00000073;font-size:12px}.colset-list{max-height:320px;overflow-y:auto;margin:4px -6px 0;padding:0 6px}.colset-item{display:flex;align-items:center;gap:8px;padding:4px;border-radius:4px;cursor:pointer;font-size:13px}.colset-item:hover{background:#f5f5f5}.colset-item .colset-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.colset-item.locked{cursor:default}.colset-item.locked:hover{background:transparent}.colset-item.locked .colset-label{color:#00000073}.colset-item .colset-lock{margin:0;font-size:10px;line-height:16px;padding:0 4px;color:#00000073;background:#fafafa;border-color:#e8e8e8}.colset-foot{margin-top:8px;padding-top:8px;border-top:1px solid #f0f0f0}.colset-tip{margin-top:6px;font-size:11px;line-height:1.6;color:#00000073}.colset-tip b{color:#5a3fd6}.colset-drawer .colset-panel{min-width:0;max-width:none}.colset-drawer .colset-list{max-height:none}.colset-drawer .colset-item{padding:9px 6px;font-size:14px}.colset-drawer .colset-item .colset-label{white-space:normal}.colset-drawer-foot .colset-foot{margin:0;padding:0;border-top:none}.colset-drawer-foot .colset-foot .ant-btn{flex:1 1 auto}.colset-drawer-foot .colset-tip{margin-top:8px;font-size:12px}.lh-dt2{display:inline-flex;flex-direction:column;line-height:1.25}.lh-dt2>span:first-child{font-size:12.5px}.lh-dt2 .lh-dt2-t{font-size:11.5px;color:#00000073}.lh-table .ant-table-thead>tr>th,.lh-table .ant-table-tbody>tr>td{padding-left:6px!important;padding-right:6px!important}@media(max-width:768px){.ant-layout-header .ant-btn{width:44px!important;height:44px!important;min-width:44px!important;padding:0!important;display:inline-flex;align-items:center;justify-content:center}.ant-alert-close-icon{padding:14px!important;top:0!important;right:0!important}.ant-alert-close-icon .anticon-close{font-size:12px}.ant-input-clear-icon,.ant-picker-clear,.ant-select-clear{padding:12px!important;margin:0 -6px 0 0!important}.ant-pagination .ant-pagination-item,.ant-pagination .ant-pagination-prev,.ant-pagination .ant-pagination-next,.ant-pagination .ant-pagination-item-link{min-width:36px!important;height:36px!important;line-height:34px!important}.ant-pagination .ant-pagination-item-link{display:flex!important;align-items:center;justify-content:center;width:36px!important}.page-toolbar .ant-btn,.app-content>.ant-card .ant-card-extra .ant-btn{min-height:36px!important}.ant-switch.ant-switch-small{min-height:24px!important;min-width:40px!important}.app-content .ant-table-cell .ant-space{min-width:0!important;white-space:normal!important;max-width:100%!important}.app-content .ant-table-cell .ant-space>.ant-space-item{min-width:0!important;max-width:100%!important}.app-content .ant-btn:not(.ant-btn-link):not(.ant-btn-text){min-height:36px!important}.app-content .ant-typography-copy{padding:11px!important}.app-content .ant-typography-copy .anticon-copy{font-size:13px}.page-toolbar .ant-input,.page-toolbar .ant-input-affix-wrapper,.page-toolbar .ant-select-single .ant-select-selector,.page-toolbar .ant-picker{min-height:36px!important}.mr-card:focus-visible,.mt-toggle:focus-visible,.mt-fit-toggle:focus-visible,.ant-btn:focus-visible,.ant-pagination-item>a:focus-visible,.colset-item:focus-visible{outline:2px solid #6b4ce0!important;outline-offset:2px!important;border-radius:6px}}@media(max-width:768px){.mobile-bottom-nav{flex:0 0 auto;display:flex;align-items:stretch;height:56px;box-sizing:content-box;padding-bottom:env(safe-area-inset-bottom,0px);background:#fff;border-top:1px solid #f0edf5;box-shadow:0 -2px 12px #1a1a2e0f;z-index:20}.mbn-item{flex:1 1 0;min-width:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;padding:6px 2px 4px;border:0;background:transparent;color:#7a7a92;font-family:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;transition:color .15s ease}.mbn-item .mbn-icon{display:block;font-size:20px;line-height:1}.mbn-item .mbn-label{font-size:11px;line-height:1.2;white-space:nowrap}.mbn-item.mbn-on{color:var(--primary, #7c5cfc);font-weight:600}.mbn-item:active{color:var(--primary, #7c5cfc)}.mbn-item.mbn-on .mbn-icon{transform:translateY(-1px)}.app-mobile-head{display:flex;align-items:center;gap:6px;flex:1 1 auto;min-width:0;overflow:hidden}.app-mobile-head-logo{width:24px;height:24px;border-radius:6px;object-fit:contain;flex:0 0 auto}.app-mobile-head-title{font-size:15px;font-weight:600;min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.app-mobile-me{flex:0 0 auto;width:30px;height:30px;padding:0;border:0;border-radius:50%;background:var(--primary, #7c5cfc);color:#fff;font-family:inherit;font-size:14px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;-webkit-tap-highlight-color:transparent}.app-mobile-me-on{box-shadow:0 0 0 2px #7c5cfc47}}.mhub{max-width:760px}.mhub-group{margin-bottom:18px}.mhub-group-name{margin:0 0 8px 2px;font-size:13px;font-weight:600;color:#8a8aa8}.mhub-list{background:#fff;border:1px solid #f0edf5;border-radius:12px;overflow:hidden}.mhub-row{display:flex;align-items:center;gap:12px;width:100%;padding:13px 14px;border:0;border-bottom:1px solid #f5f3fa;background:transparent;font-family:inherit;text-align:left;cursor:pointer;-webkit-tap-highlight-color:transparent}.mhub-row:last-child{border-bottom:0}.mhub-row:active{background:#f7f5ff}.mhub-row-icon{flex:0 0 auto;width:34px;height:34px;border-radius:10px;background:#7c5cfc1a;color:#5a49b8;font-size:17px;display:inline-flex;align-items:center;justify-content:center}.mhub-row-main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}.mhub-row-title{font-size:15px;font-weight:600;color:#1a1a2e}.mhub-row-desc{font-size:12px;color:#8a8aa8}.mine-msg-badge{display:inline-block;min-width:18px;margin-inline-start:8px;padding:0 5px;border-radius:9px;background:#ff4d4f;color:#fff;font-size:11px;font-weight:600;line-height:18px;text-align:center;vertical-align:1px}.mhub-row-arrow{flex:0 0 auto;color:#c8c4d8;font-size:12px}.mhub-row-danger .mhub-row-title{color:#c0392b}.mhub-row-danger .mhub-row-icon{background:#c0392b1a;color:#c0392b}.mhub-empty{padding:24px 4px;font-size:14px;color:#8a8aa8}.mine-card{display:flex;align-items:center;gap:14px;margin-bottom:18px;padding:18px 16px;background:#fff;border:1px solid #f0edf5;border-radius:14px}.mine-avatar{flex:0 0 auto;width:52px;height:52px;border-radius:50%;background:var(--primary, #7c5cfc);color:#fff;font-size:22px;font-weight:600;display:inline-flex;align-items:center;justify-content:center}.mine-who{min-width:0}.mine-name{font-size:18px;font-weight:700;color:#1a1a2e}.mine-sub{margin:2px 0 6px;font-size:12px;color:#8a8aa8}.mine-roles{line-height:1.6}.mine-first{margin-bottom:18px}.mine-hint{margin:4px 2px 0;font-size:12px;line-height:1.7;color:#a0a0b8}@media(max-width:768px){.mwb{display:flex;flex-direction:column;gap:12px}.mwb-card{background:#fff;border-radius:16px;box-shadow:0 2px 8px #1a1a2e0d}.mwb-greet{padding:2px 4px 0}.mwb-greet h1{margin:0;font-size:20px;font-weight:700;color:#1e293b;letter-spacing:.2px}.mwb-greet p{margin:4px 0 0;font-size:12.5px;color:#9a9a9a}.mwb-hero{background:linear-gradient(135deg,#6d4ff2,#9b7bff);border-radius:18px;padding:14px 12px 12px;box-shadow:0 6px 18px #6d4ff247}.mwb-hero-head{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 4px;margin-bottom:10px}.mwb-hero-title{font-size:16px;font-weight:700;color:#fff}.mwb-hero-badge{flex:0 0 auto;font-size:12px;font-weight:600;color:#fff;background:#ffffff38;padding:3px 10px;border-radius:12px}.mwb-todos{display:flex;flex-direction:column;gap:8px}.mwb-todo{display:flex;align-items:center;gap:10px;background:#ffffff26;border-radius:12px;padding:10px 12px}.mwb-todo-go{cursor:pointer;-webkit-tap-highlight-color:transparent}.mwb-todo-go:active{background:#ffffff47}.mwb-todo-ico{flex:0 0 auto;width:28px;height:28px;border-radius:50%;background:#fff3;display:inline-flex;align-items:center;justify-content:center;font-size:14px;font-weight:700;line-height:1}.mwb-todo-body{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:1px}.mwb-todo-label{font-size:14px;font-weight:600;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mwb-todo-hint{font-size:11.5px;color:#ffffffb8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.mwb-todo-btn{flex:0 0 auto;background:#fff;color:#6d4ff2;font-size:12px;font-weight:600;padding:5px 12px;border-radius:14px}.mwb-todo-value{flex:0 0 auto;font-size:13px;font-weight:700;color:#fff}.mwb-todo-done{opacity:.6}.mwb-todo-done .mwb-todo-label{text-decoration:line-through;color:#ffffffbf}.mwb-todo-more{border:0;background:#ffffff1f;border-radius:12px;padding:9px 12px;text-align:center;font-family:inherit;font-size:12.5px;font-weight:500;color:#ffffffd9;cursor:pointer;-webkit-tap-highlight-color:transparent}.mwb-todo-more:active{background:#ffffff38}.mwb-chips{display:flex;flex-wrap:wrap;gap:8px;padding:2px 2px 4px}.mwb-chip{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:18px;background:#ffffff26;border:0}.mwb-chip-go{cursor:pointer}.mwb-chip-dot{width:7px;height:7px;border-radius:50%;flex:0 0 auto}.mwb-chip-label{font-size:12.5px;color:#ffffffd9}.mwb-chip-value{font-size:14px;font-weight:600;color:#fff!important}.mwb-sec{display:flex;align-items:baseline;gap:8px;padding:2px 4px 0}.mwb-sec-title{font-size:15px;font-weight:700;color:#1e293b}.mwb-sec-note{font-size:11.5px;color:#9a9a9a}.mwb-sec-more{margin-left:auto;font-size:11.5px;color:#5a49b8;cursor:pointer}.mwb-kpis{display:grid;grid-template-columns:1fr 1fr;gap:10px}.mwb-kpi{display:flex;flex-direction:column;gap:3px;text-align:left;padding:12px 14px;border:0;border-radius:14px;background:#fff;box-shadow:0 2px 8px #1a1a2e0d;font-family:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}.mwb-kpi:active{background:#f8f7ff}.mwb-kpi-label{font-size:12px;color:#8a8f98}.mwb-kpi-value{font-size:24px;font-weight:700;line-height:1.1;letter-spacing:-.5px;color:#1e293b}.mwb-kpi-value small{font-size:12px;font-weight:500;color:#9a9a9a;margin-left:3px;letter-spacing:0}.mwb-kpi-foot{font-size:11px;color:#a8adb5}.mwb-quickcard{padding:12px 6px}.mwb-quick{display:grid;grid-template-columns:repeat(4,1fr);gap:4px}.mwb-quick-item{display:flex;flex-direction:column;align-items:center;gap:5px;padding:4px 0;border:0;background:none;font-family:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent}.mwb-quick-icon{width:46px;height:46px;border-radius:50%;background:#efecfe;display:inline-flex;align-items:center;justify-content:center;font-size:20px;line-height:1}.mwb-quick-item:active .mwb-quick-icon{background:#e2dcfb}.mwb-quick-label{font-size:12px;font-weight:500;color:#333}.mwb-quick-sub{font-size:10.5px;color:#a8a8a8}.mwb-more{display:flex;align-items:center;gap:8px;width:100%;padding:14px 16px;border:1px solid #f0eee8;border-radius:14px;background:#fff;font-family:inherit;cursor:pointer;-webkit-tap-highlight-color:transparent;box-shadow:0 2px 8px #1a1a2e0d}.mwb-more-title{font-size:14.5px;font-weight:600;color:#1e293b}.mwb-more-sub{margin-left:auto;font-size:12px;color:#9a9a9a}.mwb-more-arrow{font-size:11px;color:#b4b4c4}.mwb-trend{display:flex;flex-direction:column;gap:14px;padding:14px 16px}.mwb-trend-head{display:flex;align-items:center;gap:6px;margin-bottom:4px}.mwb-trend-dot{width:8px;height:8px;border-radius:2px;flex:0 0 auto}.mwb-trend-name{font-size:13.5px;font-weight:600;color:#333}.mwb-trend-total{margin-left:auto;font-size:13.5px;font-weight:700}.mwb-meal{display:flex;flex-direction:column;gap:8px;padding-top:10px;border-top:1px solid #f4f2f8}.mwb-meal-row{display:flex;align-items:baseline;gap:8px}.mwb-meal-when{flex:0 0 auto;width:32px;font-size:12.5px;color:#5f5e5a}.mwb-meal-num{font-size:18px;font-weight:700;color:#1e293b}.mwb-meal-detail{font-size:11.5px;color:#9a9a9a}.mwb-meal-foot{font-size:11.5px;color:#b4b4c4}.asw{display:flex;flex-direction:column;gap:14px}.asw-card{background:#fff;border-radius:14px;padding:16px 14px 14px;box-shadow:0 2px 10px #0f211a0f}.asw-title{font-size:16px;font-weight:700;color:#1e293b;margin-bottom:12px;padding-left:10px;border-left:4px solid #006838}.asw-tip{font-size:14px;color:#6b7280;line-height:1.7;padding:6px 2px 2px}.asw-tip-sub{margin-top:8px;font-size:12.5px;color:#9aa3af}.asw-schools{display:flex;flex-direction:column;gap:10px}.asw-school{display:flex;align-items:center;gap:10px;width:100%;min-height:56px;padding:12px 14px;border:1px solid #e6efe9;border-radius:12px;background:#f7fbf8;text-align:left;cursor:pointer;transition:background .18s,border-color .18s}.asw-school:active{background:#eef7f1;border-color:#b9dfc8}.asw-school-name{font-size:16px;font-weight:600;color:#14532d}.asw-school-meta{font-size:12.5px;color:#6b7280}.asw-school-go{margin-left:auto;font-size:12px;color:#9aa3af}.asw-foot{font-size:12.5px;color:#9aa3af;line-height:1.7;padding:0 4px 8px}.att-preset-tip{margin-bottom:12px;padding:10px 12px;border-radius:10px;background:#f2f9f5;border:1px solid #d8ecdf;font-size:14px;color:#14532d}.att-preset-tip-sub{font-size:12.5px;color:#6b7280}.att-log{margin-top:10px;padding-top:10px;border-top:1px dashed #e6e6e6;font-size:12.5px}.att-log-head{color:#8c8c8c;margin-bottom:6px}.att-log-row{display:flex;flex-wrap:wrap;gap:4px 8px;align-items:baseline;padding:3px 0}.att-log-name{min-width:60px;color:#333;font-weight:600}.att-log-flow{color:#595959}.att-log-times{color:#d46b08;font-style:normal;margin-right:4px}.att-log-meta{margin-left:auto;color:#a8adb5;font-size:12px}}@media(max-width:768px){.stu-detail-modal.ant-modal{width:100vw!important;max-width:100vw!important;margin:0!important;top:0!important;padding-bottom:0!important}.stu-detail-modal .ant-modal-content{height:100vh;height:100dvh;border-radius:0!important;padding:0!important;display:flex;flex-direction:column}.stu-detail-modal .ant-modal-header{flex:0 0 auto;margin:0!important;padding:12px 44px 12px 14px!important;border-bottom:1px solid #f0eee8}.stu-detail-modal .ant-modal-title{font-size:16px!important;line-height:22px;white-space:normal!important;overflow-wrap:anywhere}.stu-detail-modal .ant-modal-close{top:10px!important;inset-inline-end:8px!important}.stu-detail-modal .ant-modal-body{flex:1 1 auto;min-height:0;overflow-y:auto;-webkit-overflow-scrolling:touch;padding:12px 12px 16px!important}.stu-detail-modal .ant-modal-footer{flex:0 0 auto;margin:0!important;padding:10px 12px calc(10px + env(safe-area-inset-bottom))!important;border-top:1px solid #f0eee8;background:#fff}.stu-detail-modal .ant-modal-footer .ant-btn{width:100%;height:42px;border-radius:12px}.stu-detail-modal .person-photo-card .ant-card-cover{display:flex;justify-content:center}.stu-detail-modal .person-photo-card .ant-card-meta{text-align:center}.life-tabs>.ant-tabs-nav{position:sticky;top:0;z-index:6;margin:0 0 8px!important;padding:2px 0 8px;background:#f5f7fa}}@media(max-width:768px){.dorm-toolbar-card>.ant-card-body{padding:12px 12px 10px}.dorm-toolbar-card .ant-btn{height:32px;padding:0 10px;font-size:13px}.dorm-toolbar-card .ant-space{row-gap:8px!important}.dorm-stats-tiles{gap:10px 12px}.dorm-stat-tile{min-width:62px}.dorm-stat-num{font-size:20px}.dorm-stats-toggle{align-self:flex-start;height:30px;padding:0 14px;border:1px solid #d6e4ff;border-radius:15px;background:#f0f5ff;color:#1677ff;font-size:13px;line-height:28px;cursor:pointer}.dorm-stats-note{font-size:12px;color:#8c8c8c}.dorm-legend{display:flex;flex-wrap:wrap;gap:6px 12px;font-size:12px}.dorm-legend-item{display:inline-flex;align-items:center;gap:4px}.dorm-legend-dot{width:12px;height:12px;border-radius:3px;border:1px solid transparent;display:inline-block}.dorm-mlist-bar{position:sticky;top:76px;z-index:5;display:flex;flex-direction:column;gap:8px;padding:6px 0 8px;margin:0 0 8px;background:#f5f7fa}.dorm-mchips{display:flex;gap:8px;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding-bottom:2px}.dorm-mchips::-webkit-scrollbar{display:none}.dorm-mchip{flex:0 0 auto;height:32px;padding:0 14px;border:1px solid #e0e0e0;border-radius:16px;background:#fff;color:#333;font-size:14px;line-height:30px;white-space:nowrap;cursor:pointer}.dorm-mchip.on{border-color:#1677ff;background:#1677ff;color:#fff;font-weight:600}.dorm-mtools{display:flex;align-items:center;gap:8px}.dorm-msearch{flex:1 1 auto;min-width:0}.dorm-msearch .ant-input{font-size:14px}.dorm-mfilter{flex:0 0 auto;min-width:92px}.dorm-mfilter .ant-select-selector{font-size:13px}.dorm-mlist-count{flex:0 0 auto;font-size:13px;color:#8c8c8c;white-space:nowrap}.dorm-mlist-count b{color:#1677ff;font-size:15px}.dorm-mlist-hint{font-size:12px;color:#389e0d}.dorm-mlist{display:flex;flex-direction:column;gap:6px}.dorm-mrow{display:flex;flex-direction:column;gap:4px;padding:8px 12px 8px 10px;border:1px solid #f0f0f0;border-left:4px solid #e8e8e8;border-radius:10px;background:#fff;cursor:pointer;-webkit-tap-highlight-color:transparent}.dorm-mrow:active{background:#fafafa}.dorm-mrow[data-room-status=boy]{border-left-color:#91caff}.dorm-mrow[data-room-status=girl]{border-left-color:#ffadd2}.dorm-mrow[data-room-status=teacher]{border-left-color:#d3adf7}.dorm-mrow[data-room-status=mixed]{border-left-color:#ffd591}.dorm-mrow[data-room-status=duty]{border-left-color:#e0b84c}.dorm-mrow[data-room-status=empty]{border-left-color:#b7eb8f}.dorm-mrow[data-room-status=disabled]{border-left-color:#e8e8e8;background:#fafafa}.dorm-mrow-line1{display:flex;align-items:center;gap:8px;flex-wrap:wrap;line-height:20px}.dorm-mrow-line2{display:flex;align-items:center;gap:6px;flex-wrap:wrap;line-height:19px}.dorm-mrow-no{font-size:16px;font-weight:700;color:#262626}.dorm-mrow-type{font-size:13px;color:#8c8c8c}.dorm-mrow-beds{font-size:13px;color:#595959}.dorm-mrow-tag{margin-left:auto;padding:0 8px;border:1px solid transparent;border-radius:10px;font-size:12px;line-height:19px;white-space:nowrap}.dorm-mrow-tag-warn{margin-left:0;border-color:#ffe58f;background:#fffbe6;color:#ad6800}.dorm-mrow-name{padding:1px 7px;border-radius:6px;background:#f5f5f5;color:#262626;font-size:13px}.dorm-mrow-more{font-size:12px;color:#8c8c8c}.dorm-mrow-empty{font-size:13px;color:#bfbfbf}.dorm-mrow-remark{font-size:12px;color:#bfbfbf}.app-content{overscroll-behavior-y:contain}}@media(max-width:768px){.app-pull-indicator{position:fixed;top:64px;left:50%;transform:translate(-50%) translateY(-6px);display:flex;align-items:center;gap:8px;padding:6px 14px;border:1px solid #eee7ff;border-radius:18px;background:#f7f4ff;color:#7c5cfc;font-size:13px;line-height:20px;z-index:20;opacity:.85;pointer-events:none;box-shadow:0 2px 10px #7c5cfc1f}.app-pull-indicator.ready{background:#7c5cfc;border-color:#7c5cfc;color:#fff;opacity:1}.app-pull-indicator.loading{opacity:1}.app-pull-dot{width:10px;height:10px;border-radius:50%;background:#7c5cfc;flex:0 0 auto}.app-pull-indicator.ready .app-pull-dot,.app-pull-indicator.loading .app-pull-dot{background:#fff}.app-pull-indicator.loading .app-pull-dot{animation:app-pull-spin .9s linear infinite}@keyframes app-pull-spin{to{transform:rotate(360deg)}}.app-edge-hint{position:fixed;top:50%;left:6px;transform:translateY(-50%);width:30px;height:56px;border-radius:8px;background:#7c5cfc24;border:1px solid rgba(124,92,252,.35);color:#7c5cfc;font-size:20px;line-height:54px;text-align:center;z-index:20;pointer-events:none}}@media(max-width:768px){.plg-toolbar .ant-space{display:flex!important;flex-wrap:wrap!important;width:100%!important;gap:8px!important}.plg-toolbar .ant-space-item{flex:1 1 100%;min-width:0}.plg-toolbar .ant-picker,.plg-toolbar .ant-input-affix-wrapper,.plg-toolbar .ant-segmented{width:100%!important;font-size:13px}.plg-toolbar .ant-segmented-item-label{font-size:13px;padding:0 4px;line-height:30px}.plg-toolbar .ant-space-item:nth-last-child(1),.plg-toolbar .ant-space-item:nth-last-child(2){flex:1 1 calc(50% - 4px)}.plg-toolbar .ant-btn{width:100%;height:32px}.plg-panel .ant-table-tbody>tr>td[data-mobile-title] .ant-tag{margin-inline-start:6px}}.psm-wrap{display:flex;gap:14px;align-items:flex-start}.psm-left{flex:0 0 340px;min-width:0}.psm-right{flex:1 1 auto;min-width:0}.psm-group{margin-bottom:10px}.psm-group-title{font-size:12px;color:#8c8c8c;margin:0 0 6px;padding-left:2px}.psm-row{display:flex;align-items:center;gap:8px;margin-bottom:6px}.psm-label{flex:0 0 92px;font-size:13px;color:#333}.psm-tip{margin-left:4px;color:#bfbfbf;font-size:12px}.psm-ctl-box{flex:1 1 auto;min-width:0}.psm-ctl,.psm-num{width:100%}.psm-preview-head{display:flex;align-items:center;justify-content:space-between;gap:8px;flex-wrap:wrap;font-size:13px;color:#595959;margin-bottom:6px}.psm-preview-box{height:560px;border:1px solid #e5e5ea;border-radius:6px;background:#eef0f4;overflow:hidden}.psm-preview{width:100%;height:100%;border:0}.psm-preview-foot{font-size:12px;color:#8c8c8c;margin-top:6px}@media(max-width:768px){.psm-wrap,.psm-wrap.is-mobile{display:block}.psm-left{width:100%;flex:none}.psm-right{margin-top:12px}.psm-row{flex-wrap:wrap;margin-bottom:8px}.psm-label{flex:1 1 100%;margin-bottom:2px}.psm-ctl-box{flex:1 1 100%}.psm-num{width:100%}.psm-preview-box{height:340px}}@media(max-width:768px){.primary-batch-edit-modal.is-mobile{width:calc(100vw - 16px)!important;max-width:calc(100vw - 16px)!important;height:calc(100dvh - 16px)}.primary-batch-edit-modal.is-mobile .ant-modal-content{height:100%;display:flex;flex-direction:column;overflow:hidden;border-radius:16px}.primary-batch-edit-modal.is-mobile .ant-modal-header{flex:0 0 auto;padding:14px 16px 10px}.primary-batch-edit-modal.is-mobile .ant-modal-body{flex:1 1 auto;min-height:0;overflow-y:auto;overscroll-behavior:contain;padding:8px 14px 14px!important}.primary-batch-edit-modal.is-mobile .ant-modal-footer{flex:0 0 auto;border-top:1px solid #eeeaf7;background:#fff;padding:10px 12px calc(10px + env(safe-area-inset-bottom))!important}.pbm-mobile .ant-steps{margin:4px 0 16px}.pbm-mobile .ant-steps-item-title{font-size:11px!important}.pbm-step{display:flex;flex-direction:column;gap:12px}.pbm-step-head{display:flex;align-items:center;justify-content:space-between;gap:8px;font-size:15px;color:#29243a}.pbm-students{display:flex;flex-direction:column;gap:8px}.pbm-student{min-height:56px;padding:9px 12px;border:1px solid #e9e4f5;border-radius:12px;display:flex;align-items:center;gap:10px;background:#fff}.pbm-student.on{border-color:#8a6de9;background:#f7f4ff}.pbm-student>span{min-width:0;display:flex;flex-direction:column;gap:2px}.pbm-student small{color:#777087;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pbm-field-group>span{display:block;margin:2px 0 7px;color:#777087;font-size:12px;font-weight:600}.pbm-field-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.pbm-field-grid button{min-height:44px;padding:8px;border:1px solid #e2dcef;border-radius:10px;background:#fff;color:#332d44;font-size:14px;text-align:center}.pbm-field-grid button.on{border-color:#7657dc;background:#eee9ff;color:#4f34b6;font-weight:600}.pbm-value-box{padding:14px;border:1px solid #e5dff2;border-radius:12px;background:#faf8ff}.pbm-value-box .ant-select-selector,.pbm-value-box .ant-input,.pbm-value-box .ant-input-number{min-height:44px!important}.pbm-preview{display:flex;flex-direction:column;gap:8px;max-height:48dvh;overflow-y:auto}.pbm-preview>div{padding:10px 12px;border:1px solid #e9e4f5;border-radius:10px;background:#fff}.pbm-preview b,.pbm-preview span,.pbm-preview small{display:block}.pbm-preview span{margin:3px 0;color:#675c7d;font-size:12px}.pbm-preview small{color:#81798e;overflow-wrap:anywhere}.pbm-preview em{color:#5d3bc6;font-style:normal;font-weight:600}.pbm-footer{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.pbm-footer .ant-btn{width:100%;min-height:44px;margin:0!important;white-space:normal;height:auto}}@media(max-width:768px){.stu-archive-nav{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 10px}.stu-archive-nav-item{display:inline-flex;align-items:center;min-height:44px;padding:0 14px;border:1px solid #ddd6ee;border-radius:999px;background:#fff;color:var(--primary);font-size:14px;line-height:1}.stu-archive-nav-item:active{background:#f2eeff}}@media(max-width:768px){.camp-billbar,.camp-checkin-bar{bottom:calc(57px + env(safe-area-inset-bottom,0px))!important;padding-bottom:10px!important}}
