*{box-sizing:border-box}html,body,#root{min-height:100%;margin:0;overscroll-behavior-x:none;overscroll-behavior-y:none}.app-shell{overscroll-behavior-x:none}body{color:#243238;font-family:-apple-system,BlinkMacSystemFont,PingFang SC,Microsoft YaHei,sans-serif;font-size:14px;background:#f5f8f7}button,input{font:inherit}.app-shell{min-height:100vh;min-height:100dvh;width:100%;background:#f5f8f7}.auth-restore{min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;padding:24px;color:#215b59;background:#eff8f7;text-align:center}.auth-restore-mark{width:44px;height:44px;display:grid;place-items:center;margin-bottom:5px;border-radius:14px 14px 14px 4px;color:#fff;background:#168477;font-size:21px;font-weight:700;box-shadow:0 5px 16px #1684772e}.auth-restore strong{font-size:16px;line-height:24px}.auth-restore>span{max-width:360px;color:#5d7775;font-size:14px;line-height:22px}.auth-restore-error .ant-btn{min-width:112px;margin-top:8px}.design-v2 .auth-restore{background:radial-gradient(ellipse at 12% 10%,#e0f1e8,transparent 55%),#f5f8f2}.desktop-sider{position:fixed!important;inset:0 auto 0 0;z-index:5;border-right:1px solid #e6ece8;background:#fff!important}.desktop-sider .ant-layout-sider-children{display:flex;flex-direction:column;height:100%;height:100dvh;overflow:hidden}.desktop-sider .brand,.desktop-sider .role-caption{flex-shrink:0}.sidebar-navigation{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;overscroll-behavior-y:contain;scrollbar-gutter:stable;padding-bottom:8px}.brand{height:76px;padding:0 20px;display:flex;align-items:center;gap:11px;border-bottom:1px solid #edf1ee}.brand-mark{width:38px;height:38px;border-radius:10px 10px 10px 3px;display:grid;place-items:center;color:#fff;background:#168477;font-weight:700;font-size:19px}.brand strong,.brand span,.user-label b,.user-label span,.student-chip b,.student-chip span{display:block}.brand strong{font-size:14px;white-space:nowrap}.brand span,.user-label span,.student-chip span{color:#73817c;font-size:12px;margin-top:4px}.role-caption{margin:23px 20px 9px;color:#73817c;font-size:12px}.side-menu{border-inline-end:0!important;padding:0 8px}.side-menu .ant-menu-item{height:44px;margin:4px 0;border-radius:7px}.sider-foot{flex-shrink:0;padding:16px 20px max(20px,env(safe-area-inset-bottom));border-top:1px solid #edf1ee;font-size:12px}.topbar{height:64px;position:sticky;top:0;z-index:4;margin-left:232px;width:calc(100% - 232px);padding:0 30px;display:flex;align-items:center;justify-content:space-between;background:#fffffff5;border-bottom:1px solid #e6ece8;line-height:normal}.breadcrumb{font-size:14px;font-weight:600}.breadcrumb span{margin:0 10px;color:#a6b0ac}.top-actions{display:flex;align-items:center;gap:11px}.campus-tag{margin:0 5px 0 0}.campus-header-tags{display:inline-flex;align-items:center;gap:4px}.campus-badge{display:inline-flex;align-items:center;gap:5px;margin-inline-end:0;border-width:1px;border-radius:6px;font-weight:700;white-space:nowrap}.campus-badge-star{box-shadow:inset 3px 0 #0284c7}.campus-badge-grain{box-shadow:inset 3px 0 #ea580c}.campus-badge-small{min-height:28px;padding-inline:7px;font-size:12px}.campus-option{display:inline-flex;align-items:center;flex-wrap:wrap;gap:8px;min-height:32px}.campus-option>span:last-child{color:#52606b;font-size:12px}.user-label{line-height:1.2}.user-label b{font-size:13px}.user-label span{font-size:11px}.page-content{margin-left:232px;padding:22px 30px 44px;width:calc(100% - 232px);min-width:0}.demo-banner{min-height:34px;margin-bottom:20px;padding:8px 12px;display:flex;gap:8px;align-items:center;border:1px solid #c5e2db;border-radius:6px;color:#246459;background:#eff9f6;font-size:12px}.demo-dot{width:7px;height:7px;border-radius:50%;background:#168477}.page-heading{margin-bottom:20px;display:flex;align-items:center;justify-content:space-between;gap:20px}.page-heading .ant-typography{margin:0}.page-heading h2.ant-typography{margin:4px 0 3px;font-size:24px;line-height:32px}.eyebrow{color:#168477;font-size:12px;font-weight:600}.student-chip{display:flex;align-items:center;gap:11px;padding:8px 14px;background:#fff;border:1px solid #e3ebe7;border-radius:7px;min-width:194px}.balance-alert{margin-bottom:14px}.detail-return{display:flex;justify-content:flex-end;gap:8px;margin:-8px 0 12px}.parent-toolbar{margin:0 0 14px;display:flex;justify-content:space-between;gap:12px}.parent-toolbar .ant-picker{width:270px}.parent-date-toolbar{align-items:center;justify-content:flex-start;flex-wrap:wrap;padding:10px 12px;border:1px solid #e3eae6;border-radius:7px;background:#fff}.parent-date-toolbar .ant-segmented{max-width:100%}.parent-overview-strip{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 14px}.parent-overview-strip>button{min-width:0;min-height:106px;display:flex;align-items:center;gap:13px;padding:15px;border:1px solid #e3eae6;border-radius:7px;color:#243238;background:#fff;text-align:left;cursor:pointer;transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease}.parent-overview-strip>button:hover{transform:translateY(-2px);border-color:#b8d9ce;box-shadow:0 5px 15px #24323812}.parent-tile-icon{width:42px;height:42px;display:grid;place-items:center;flex:none;border-radius:8px;color:#168477;background:#e6f4ef;font-size:18px}.parent-balance-tile .parent-tile-icon{color:#a84f38;background:#fbebe5}.parent-course-tile .parent-tile-icon{color:#3f6f9d;background:#eaf1f8}.parent-overview-strip button>span:last-child{min-width:0}.parent-overview-strip small,.parent-overview-strip b,.parent-overview-strip em{display:block}.parent-overview-strip small{color:#718078;font-size:12px}.parent-overview-strip b{margin-top:2px;font-size:22px;line-height:1.2}.parent-overview-strip b i{margin-left:4px;color:#718078;font-size:12px;font-style:normal;font-weight:400}.parent-overview-strip em{overflow:hidden;margin-top:5px;color:#718078;font-size:11px;font-style:normal;text-overflow:ellipsis;white-space:nowrap}.parent-dashboard-grid{grid-template-columns:minmax(260px,.85fr) minmax(300px,1.15fr)}.parent-dashboard-grid .parent-ledger-card{grid-column:1 / -1}.parent-ledger-card .ledger-compact{grid-template-columns:repeat(2,minmax(0,1fr));align-items:center}.ledger-divider.ant-divider-vertical{height:36px;margin-inline:16px}.heat-outside-month{opacity:.28}.parent-detail-modal-root .ant-modal-mask{backdrop-filter:blur(9px);-webkit-backdrop-filter:blur(9px);background:#18272361!important}.parent-detail-modal .ant-modal-content{overflow:hidden;border:1px solid rgba(255,255,255,.65);border-radius:10px;box-shadow:0 18px 60px #18272333;animation:parent-detail-enter .22s cubic-bezier(.2,.7,.3,1) both}.parent-detail-modal .ant-modal-header{margin-bottom:14px}.parent-detail-meta{display:flex;align-items:center;justify-content:space-between;gap:12px;margin:0 0 14px;color:#718078;font-size:12px}.parent-modal-ledger{display:grid;gap:10px}.parent-modal-ledger>.ant-alert{margin-bottom:4px}@keyframes parent-detail-enter{0%{opacity:.5;transform:translateY(8px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}.dashboard-grid{display:grid;grid-template-columns:minmax(270px,.85fr) minmax(300px,1.15fr);gap:14px}.dashboard-card{border:1px solid #e3eae6;border-radius:7px;min-width:0}.dashboard-card{animation:dashboard-enter .36s cubic-bezier(.2,.7,.3,1) both}.dashboard-grid .dashboard-card:nth-child(2){animation-delay:45ms}.dashboard-grid .dashboard-card:nth-child(3){animation-delay:90ms}.dashboard-grid .dashboard-card:nth-child(4){animation-delay:135ms}.dashboard-card .ant-card-head{min-height:48px;padding:0 17px}.dashboard-card .ant-card-head-title{font-size:14px;font-weight:600}.dashboard-card .ant-card-body{padding:16px 18px}.drilldown-card{cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}.drilldown-card:hover{transform:translateY(-2px);box-shadow:0 5px 16px #24323814}.usage-card .ant-card-body{min-height:244px;display:flex;flex-direction:column;justify-content:center}.donut-wrap{display:grid;place-items:center}.donut{width:152px;height:152px;border-radius:50%;display:grid;place-items:center;background:conic-gradient(#ed8064 0 78%,#168477 78% 100%);position:relative}.donut:before{content:"";position:absolute;inset:15px;background:#fff;border-radius:50%}.donut-center{position:relative;z-index:1;text-align:center}.donut-center b,.donut-center span{display:block}.donut-center b{font-size:27px;line-height:32px;color:#263b3a}.donut-center span{color:#74817c;font-size:12px}.donut-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 16px;margin-top:14px;color:#53645e;font-size:12px}.legend-dot{width:8px;height:8px;display:inline-block;margin-right:5px;border-radius:50%}.dot-coral{background:#ed8064}.dot-teal{background:#168477}.service-bars{display:grid;gap:15px}.service-bar-row>div:first-child{display:flex;justify-content:space-between;margin-bottom:6px}.service-bar-row span{color:#65746e}.service-bar-row b{font-weight:600}.bar-track{height:8px;overflow:hidden;border-radius:4px;background:#eef2ef}.bar-fill{display:block;height:100%;border-radius:inherit}.fill-coral{background:#ed8064}.fill-teal{background:#168477}.fill-gold{background:#e7b64b}.fill-blue{background:#5b9fc2}.heat-card{grid-column:1 / 2}.heat-card .ant-card-extra{font-size:11px}.heatmap-week,.heatmap-grid{display:grid;grid-template-columns:repeat(7,minmax(24px,1fr));gap:6px;text-align:center}.heatmap-week{margin-bottom:7px;color:#78857f;font-size:11px}.heatmap-grid{grid-template-rows:repeat(5,32px)}.heat-cell{min-width:0;aspect-ratio:1.2 / 1;display:grid;place-items:center;border-radius:4px;color:#33433e;font-size:11px}.heat-0{background:#f1f4f1}.heat-1{background:#d7eee7}.heat-2{background:#a9d9ca}.heat-3{background:#62b79e;color:#fff}.heat-4{background:#168477;color:#fff}.heatmap-legend{display:flex;justify-content:flex-end;align-items:center;gap:5px;margin-top:11px;color:#78857f;font-size:11px}.heatmap-legend .heat-cell{width:17px;height:14px}.parent-activity-heatmap{min-width:0;color:#006b66}.activity-heatmap-summary{display:flex;flex-wrap:wrap;justify-content:space-between;gap:4px 12px;margin-bottom:12px;font-size:13px;font-variant-numeric:tabular-nums}.activity-heatmap-summary>span,.activity-heatmap-summary strong span{color:#617d7a;font-size:12px;font-weight:400}.activity-heatmap-scroll{max-width:100%;overflow-x:auto;overscroll-behavior-x:contain;padding:3px 3px 8px}.activity-heatmap-canvas{position:relative;min-width:0;padding:18px 0 0 30px}.activity-heatmap-months{position:absolute;top:0;left:30px;font-size:11px;color:#617d7a}.activity-heatmap-months span{position:absolute;white-space:nowrap}.activity-heatmap-weekdays{position:absolute;top:18px;left:0;display:grid;grid-template-rows:repeat(7,var(--activity-cell));gap:3px;align-items:center;font-size:10.5px;color:#617d7a}.activity-heatmap-cells{display:grid;grid-template-rows:repeat(7,var(--activity-cell));gap:3px}.activity-heatmap-cell{width:var(--activity-cell);height:var(--activity-cell);display:block;min-width:0;padding:0;border:0;border-radius:3px;cursor:pointer;transform-origin:center;animation:activity-heatmap-enter .55s cubic-bezier(.23,1,.32,1) both;animation-delay:var(--cell-delay, 0s);transition:outline-color .12s}.activity-level-0{background:#0000000d}.activity-level-1{background:color-mix(in srgb,#34d399 28%,transparent)}.activity-level-2{background:color-mix(in srgb,#34d399 52%,transparent)}.activity-level-3{background:color-mix(in srgb,#34d399 76%,transparent)}.activity-level-4{background:#34d399}.activity-heatmap-cell:hover,.activity-heatmap-cell:focus-visible{outline:1.5px solid #006b66;outline-offset:1px}.heatmap-cell-tooltip{pointer-events:none}@media(hover:none),(pointer:coarse){.heatmap-cell-tooltip{display:none!important}}.activity-heatmap-cell[aria-current=date]{box-shadow:inset 0 0 0 1px #006b66}.activity-pending{background-image:repeating-linear-gradient(135deg,transparent,transparent 4px,rgba(0,107,102,.25) 4px,rgba(0,107,102,.25) 5px)}.activity-future{background:transparent;border:1px dashed #dce8e5;cursor:default}.activity-heatmap-footer{display:flex;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin-top:8px;color:#617d7a;font-size:11.5px}.activity-heatmap-legend{display:flex;align-items:center;gap:3px}.activity-heatmap-legend i{width:11px;height:11px;border-radius:3px}.activity-heatmap-legend>span{margin:0 4px}.activity-heatmap-selection{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-top:12px;font-size:12px;color:#617d7a}.activity-heatmap-selection>span{min-width:0;overflow-wrap:anywhere}.app-shell .parent-activity-heatmap .activity-heatmap-selection .ant-btn{flex-shrink:0;min-height:44px}.activity-heatmap-empty{margin:4px 0 0;font-size:12px;color:#617d7a}@keyframes activity-heatmap-enter{0%{opacity:0;transform:scale(.4)}to{opacity:1;transform:scale(1)}}@media(prefers-reduced-motion:reduce){.activity-heatmap-cell{animation:none;transition:none}}.recent-card{grid-column:2 / 3}.recent-days{display:grid}.recent-day{display:flex;align-items:center;gap:11px;min-height:59px;border-bottom:1px solid #edf1ee}.recent-day:last-child{border-bottom:0}.date-badge{width:39px;flex:none;text-align:center;color:#168477;background:#edf8f4;border-radius:5px;padding:5px 2px}.date-badge b,.date-badge span{display:block}.date-badge b{font-size:13px}.date-badge span{font-size:10px}.recent-day>div:last-child{min-width:0}.recent-day>div:last-child b,.recent-day>div:last-child span{display:block}.recent-day>div:last-child b{font-size:12px}.recent-day>div:last-child span{margin-top:4px;color:#74817c;font-size:11px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dashboard-footnote{display:block;margin-top:12px;font-size:12px}.content-section{margin:0 0 18px;padding:18px 19px 16px;background:#fff;border:1px solid #e3eae6;border-radius:7px}.section-heading{margin-bottom:13px;display:flex;align-items:center;justify-content:space-between;gap:16px}.section-heading h4.ant-typography{margin:0 0 3px;font-size:17px}.section-heading>div>.ant-typography-secondary{font-size:12px}.filter-row{margin:12px 0 15px;display:flex;justify-content:space-between;gap:12px}.filter-row .ant-picker{width:270px}.table-wrap{overflow-x:auto}.product-catalog-table-wrap{position:relative;isolation:isolate}@media(max-width:767px){.product-catalog-table-wrap .ant-table-cell-fix-left,.product-catalog-table-wrap .ant-table-cell-fix-right{position:static!important;inset-inline-start:auto!important;inset-inline-end:auto!important;z-index:auto!important}}.ledger-compact{display:grid;gap:10px}.plain-card{border-color:#e3eae6;border-radius:7px}.ledger-row{display:flex;align-items:center;gap:12px}.ledger-row>div{min-width:0;flex:1}.ledger-row b,.ledger-row span:not(.ledger-icon){display:block}.ledger-row div span{margin-top:5px;color:#718078;font-size:12px}.ledger-icon{width:30px;height:30px;display:grid;place-items:center;border-radius:50%;font-size:18px}.ledger-icon.income{color:#287a55;background:#e9f5ee}.ledger-icon.expense{color:#b7791f;background:#fbf2e3}.positive{color:#287a55}.form-card{border-radius:7px;border-color:#e3eae6}.form-card>.ant-card-body{padding:20px 24px 18px}.form-card>.ant-card-head{min-height:54px}.form-alert{margin-bottom:17px}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:24px}.form-grid .ant-form-item{margin-bottom:14px}.full-width{width:100%}.form-actions{display:flex;justify-content:flex-end;gap:10px;padding-top:8px}.course-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px 18px}.course-options .ant-checkbox-wrapper,.check-row .ant-checkbox-wrapper{min-height:40px;align-items:center;padding:4px 8px}.quantity-grid{margin-top:12px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.quantity-row{display:grid;grid-template-columns:1fr auto 82px;align-items:center;gap:12px;padding:9px 11px;background:#f6f9f7;border:1px solid #e5ece8;border-radius:5px}.check-row{display:flex;flex-wrap:wrap;gap:8px 18px}.form-step-label{display:flex;align-items:center;gap:9px;margin-bottom:18px;color:#718078}.form-step-label>span{width:26px;height:26px;display:grid;place-items:center;border-radius:50%;background:#edf1ee}.form-step-label .step-current{color:#fff;background:#168477}.form-step-label i{height:1px;width:54px;background:#dce5df}.form-card.step-card{max-width:920px;margin-inline:auto}.form-card.step-card>.ant-card-head{min-height:62px}.step-card .ant-card-head-wrapper{gap:12px}.step-card .ant-card-extra{padding-block:8px}.step-card .ant-segmented{min-height:38px}.question-progress{max-width:620px;margin:4px auto 8px}.question-progress-copy{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:9px}.question-progress-copy .ant-tag{margin-inline-end:0}.question-progress-track{height:5px;overflow:hidden;border-radius:3px;background:#eaf0ec}.question-progress-track i{display:block;height:100%;border-radius:inherit;background:#168477;transition:width .2s ease}.step-question{max-width:620px;min-height:220px;margin:22px auto 16px}.step-question .ant-form-item-label>label{font-size:17px;font-weight:600}.step-question .ant-form-item-control-input{min-height:48px}.step-question .ant-alert{margin-bottom:18px}.step-navigation{display:flex;justify-content:space-between;gap:10px;max-width:620px;margin:0 auto;padding-top:14px;border-top:1px solid #edf1ee}.attendance-step-question{width:100%}.attendance-course-question,.attendance-service-question{display:grid;gap:16px}.attendance-step-question .course-options{grid-template-columns:repeat(2,minmax(0,1fr))}.list-form-section{margin-bottom:18px}.list-form-section>.ant-divider{margin-block:15px;color:#4e635b;font-weight:600}.list-card .ant-card-extra .ant-segmented{min-height:38px}.list-card .ant-form-item-label>label{font-weight:500}.step-done{color:#fff;background:#78b8a6!important}.step-active-label{color:#168477;font-weight:600}.staff-metrics{margin:4px 0 20px}.metric-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:20px}.metric-card{border-radius:7px;border-color:#e3eae6}.staff-metrics .metric-card{animation:dashboard-enter .32s cubic-bezier(.2,.7,.3,1) both}.staff-metrics .metric-card:nth-child(2){animation-delay:35ms}.staff-metrics .metric-card:nth-child(3){animation-delay:70ms}.staff-metrics .metric-card:nth-child(4){animation-delay:105ms}.metric-card .ant-card-body{padding:15px 17px 12px}.metric-card .ant-statistic-title{margin-bottom:6px;font-size:12px}.metric-card .ant-statistic-content{font-size:24px;font-weight:600;line-height:1.2}.metric-card>.ant-card-body>.ant-typography{display:inline-block;margin-top:7px;font-size:12px}.metric-clickable{cursor:pointer;transition:transform .18s ease,box-shadow .18s ease}.metric-clickable:hover{transform:translateY(-2px);box-shadow:0 5px 16px #24323814}.dashboard-search .ant-input-search{max-width:720px}.metric-detail{min-height:260px}.student-edit-form{margin-top:16px}.student-edit-form .campus-badge{min-height:34px;padding:5px 10px;font-size:14px}.operations-grid{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(300px,1.2fr);gap:24px;align-items:center}.operations-panel{animation:dashboard-enter .36s cubic-bezier(.2,.7,.3,1) both}.occupancy-summary,.arrival-chart{min-width:0;border:0;padding:0;color:inherit;background:transparent;text-align:left;cursor:pointer}.occupancy-summary{display:flex;align-items:center;gap:16px}.occupancy-ring{width:112px;height:112px;flex:none;display:grid;place-items:center;border-radius:50%;background:conic-gradient(#168477 0 84%,#f2bc5b 84% 100%);animation:ring-enter .46s cubic-bezier(.2,.7,.3,1) both}.occupancy-ring>div{width:82px;height:82px;display:grid;align-content:center;justify-items:center;border-radius:50%;background:#fff}.occupancy-ring b{font-size:22px;line-height:1.2}.occupancy-ring span{color:#718078;font-size:11px}.occupancy-copy b,.occupancy-copy small{display:block}.occupancy-copy small{margin-top:6px;color:#718078;line-height:1.5}.arrival-chart{display:grid;gap:8px}.arrival-chart-title{font-weight:600}.arrival-bars{height:112px;display:flex;align-items:end;justify-content:space-around;gap:10px;padding:8px 8px 0;border-bottom:1px solid #e7eeea;background:repeating-linear-gradient(to bottom,transparent 0,transparent 26px,#edf2ef 27px)}.arrival-bars i{width:min(9%,30px);min-height:5px;border-radius:4px 4px 0 0;background:#55a995;transform-origin:center bottom;animation:bar-enter .42s cubic-bezier(.2,.7,.3,1) both}.arrival-bars i:nth-child(2){animation-delay:35ms}.arrival-bars i:nth-child(3){animation-delay:70ms}.arrival-bars i:nth-child(4){animation-delay:105ms}.arrival-bars i:nth-child(5){animation-delay:.14s}.arrival-bars i:nth-child(6){animation-delay:175ms}.arrival-bars i:nth-child(7){animation-delay:.21s}.arrival-bars i:nth-child(3n){background:#e98969}.arrival-times{display:flex;justify-content:space-between;gap:3px;color:#718078;font-size:10px}.arrival-times i{font-style:normal}@keyframes dashboard-enter{0%{opacity:0}to{opacity:1}}@keyframes ring-enter{0%{opacity:.55;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@keyframes bar-enter{0%{opacity:.45;transform:scaleY(.18)}to{opacity:1;transform:scaleY(1)}}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.task-list{border-top:1px solid #e9eeeb}.task-row{min-height:67px;display:flex;align-items:center;gap:13px;border-bottom:1px solid #edf1ef}.task-person{flex:1}.task-person b,.task-person span{display:block}.task-person span{margin-top:4px;color:#718078;font-size:12px}.quick-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.quick-actions button{min-height:74px;border:1px solid #e1e9e4;border-radius:7px;background:#fff;display:flex;align-items:center;text-align:left;gap:12px;padding:13px;color:#168477;cursor:pointer}.quick-actions button:hover{background:#f4faf7;border-color:#8dc9b8}.quick-actions button>span:last-child{color:#243238}.quick-actions b,.quick-actions small{display:block}.quick-actions small{margin-top:5px;color:#718078;font-size:12px}.formula-list{display:grid;gap:9px;margin-bottom:18px}.formula-item{border:1px solid #e3eae6;border-radius:7px}.formula-item .ant-card-body{display:flex;align-items:flex-start;gap:14px}.formula-index{width:32px;height:32px;flex:none;display:grid;place-items:center;border-radius:7px;color:#a95a40;background:#fff1eb;font-weight:600}.formula-item h5.ant-typography{margin:0 0 7px}.formula-item code{display:block;margin-bottom:7px;padding:5px 8px;border-radius:4px;color:#47665d;background:#f2f7f4;font-family:inherit}.formula-item .ant-typography:not(h5){color:#63726b;font-size:13px}.checklist-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 20px}.checklist-grid>div{display:flex;gap:8px;align-items:flex-start;color:#53645d}.checklist-grid .anticon{color:#168477;margin-top:3px}.import-file{display:flex;align-items:center;gap:9px;margin-top:12px}.import-file span{color:#718078;margin-left:auto;font-size:12px}.mapping-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px}.mapping-row{display:grid;grid-template-columns:minmax(100px,1fr) auto minmax(140px,1fr);align-items:center;gap:8px}.mapping-row b{overflow-wrap:anywhere;font-size:12px}.mapping-row>span{color:#9aa7a0}.mapping-row b small{display:block;margin-top:3px;color:#788983;font-size:11px;font-weight:400}.source-table-select{width:min(100%,560px)}.schema-match-summary{display:block;margin-top:8px;color:#58716a}.import-preview{overflow-x:auto;border:1px solid #e5ebe7;border-radius:5px}.import-preview>div{display:flex;min-width:max-content;border-bottom:1px solid #edf1ee}.import-preview>div:first-child{font-weight:600;background:#f6f9f7}.import-preview>div:last-child{border-bottom:0}.import-preview span{min-width:140px;padding:8px 10px;border-right:1px solid #edf1ee;font-size:12px}.import-action{margin-top:16px}.demo-import-controls{width:100%;align-items:flex-start}.demo-import-note{display:grid;justify-items:start;gap:7px;margin-top:14px}.demo-import-note .ant-tag{margin:0}.demo-sample-preview{margin-top:14px}.demo-sample-preview>.ant-typography{display:block;margin-top:8px}.mobile-menu{display:none}.mobile-drawer-menu{margin-top:12px}.fullscreen-toggle{width:44px;height:44px;display:inline-flex;align-items:center;justify-content:center;flex:none;font-size:17px}.fullscreen-login-control{position:fixed;top:14px;right:16px;z-index:2;display:flex;gap:6px}.deepseek-action{min-height:44px;padding-inline:10px;border:1px solid #5dade2!important;border-radius:7px;color:#245b7a!important;background:#eaf4fa!important;box-shadow:none;font-weight:600}.deepseek-action:hover:not(:disabled){border-color:#397fa8!important;color:#174967!important;background:#dceef8!important}.deepseek-action-content{display:inline-flex;align-items:center;gap:8px}.deepseek-action-icon{display:inline-grid;width:25px;height:25px;place-items:center;border-radius:6px;color:#fff;background:#397fa8}.deepseek-action-badge{padding:2px 5px;border:1px solid #a8cde1;border-radius:4px;color:#245b7a;background:#fff;font-size:10px;line-height:1.2}.section-hub{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin:0 0 18px}.section-hub-item{min-height:82px;display:flex;align-items:center;justify-content:flex-start;gap:12px;padding:12px;border:1px solid #e6ece8;border-radius:7px;color:#243238;background:#fff;text-align:left;font:inherit;cursor:pointer;transition:border-color .18s ease,background .18s ease,transform .18s ease}.section-hub-item:hover,.section-hub-item:focus-visible{border-color:#8dc9b8;background:#fbfdfc;transform:translateY(-1px);outline:none}.section-hub-icon{width:42px;height:42px;display:grid;place-items:center;flex:none;border-radius:8px;color:#168477;background:#e6f4ef;font-size:19px}.section-hub-item:nth-child(4n+2) .section-hub-icon{color:#a84f38;background:#fbebe5}.section-hub-item:nth-child(4n+3) .section-hub-icon{color:#936717;background:#fbf2dc}.section-hub-item:nth-child(4n+4) .section-hub-icon{color:#3f6f9d;background:#eaf1f8}.section-hub-copy{min-width:0}.section-hub-copy b,.section-hub-copy small{display:block}.section-hub-copy b{font-size:14px;font-weight:600}.section-hub-copy small{margin-top:4px;color:#75827c;font-size:11px;line-height:1.4}.section-hub-parent{grid-template-columns:repeat(2,minmax(0,1fr))}.section-hub-parent .section-hub-item{min-height:72px}.staff-heading-overview>.ant-space{display:none}.staff-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:0;margin:12px 0 20px;padding:10px 0;border-block:1px solid #e2e9e5;background:transparent}.staff-metrics .metric-card{border:0!important;border-right:1px solid #e2e9e5!important;border-radius:0;background:transparent;box-shadow:none}.staff-metrics .metric-card:last-child{border-right:0!important}.staff-metrics .metric-card .ant-card-body{padding:5px 16px}.staff-metrics .metric-card .ant-statistic-content{font-size:22px}.staff-metrics .metric-card .ant-statistic-title{color:#65756d}.staff-metrics .metric-card .ant-statistic-content{color:#273a35}.staff-metrics .metric-card .ant-typography-secondary{color:#64746d}.staff-metrics .metric-card>.ant-card-body>.ant-typography{margin-top:2px}.operations-panel{border:0;background:#edf6f2}.dashboard-search{padding-inline:0;border:0;background:transparent}.entry-drawer .ant-drawer-body{overflow-y:auto;padding:16px 20px}.entry-drawer .form-card{border:0;box-shadow:none}.entry-drawer .form-card>.ant-card-head{padding-inline:0}.entry-drawer .form-card>.ant-card-body{padding:16px 0}.entry-drawer .form-card.step-card{max-width:none}.entry-drawer .step-navigation,.entry-drawer .form-actions{background:#fff}.entry-drawer-root .ant-drawer-mask{backdrop-filter:blur(7px);-webkit-backdrop-filter:blur(7px);background:#14221f57!important}.animated-form{animation:form-enter .24s cubic-bezier(.2,.7,.3,1) both}.entry-drawer .ant-form-item-has-error{animation:invalid-shake .36s ease-in-out}.animated-form .ant-form-item-required:before{color:#c4483b!important}.role-page{animation:page-enter .22s ease-out both}.profile-trigger{display:inline-flex;align-items:center;gap:9px;padding:4px 6px;border:1px solid transparent;border-radius:7px;color:inherit;background:transparent;text-align:left;cursor:pointer}.profile-trigger:hover,.profile-trigger:focus-visible{border-color:#dce8e2;background:#f6faf8;outline:none}.profile-trigger:focus-visible{box-shadow:0 0 0 2px #16847733}.profile-trigger{min-height:44px;gap:10px;padding:3px 8px 3px 4px;border-radius:999px}.profile-avatar.ant-avatar{display:grid;place-items:center;flex:none;overflow:hidden;border:2px solid #fff8e7;background:#1e8c86;box-shadow:0 0 0 1px #9ddbd6}.profile-avatar .profile-portrait{display:block;width:100%;height:100%}.profile-trigger-staff .profile-avatar.ant-avatar{background:#2ba8a2;box-shadow:0 0 0 1px #9ddbd6}.profile-trigger-admin .profile-avatar.ant-avatar{color:#604900;background:#ffd23f;box-shadow:0 0 0 1px #e6b800}.profile-trigger-parent .profile-avatar.ant-avatar{background:#5dade2;box-shadow:0 0 0 1px #acd8f1}.profile-avatar-status .ant-badge-dot{width:10px;height:10px;border:2px solid #fff;background:#27ae60;box-shadow:none}.pwa-install-platforms{width:100%;min-height:44px}.pwa-install-platforms .ant-segmented-item{min-height:40px;display:inline-flex;align-items:center;justify-content:center}.pwa-install-steps{display:grid;gap:10px;margin:0 0 18px;padding-left:24px;color:#315d4c;line-height:1.65}.pwa-install-steps li{padding-left:3px}.trend-chart{min-width:0;width:100%;padding:7px;border-radius:14px;background:#e8f6f3}.trend-chart svg{display:block;width:100%;height:auto;overflow:visible}.trend-plot-background{fill:#fff}.trend-gridline{stroke:#edf3f1;stroke-width:1}.trend-line{vector-effect:non-scaling-stroke}.trend-axis-label{fill:#829693;font-family:inherit;font-size:10px}.trend-legend{display:flex;flex-wrap:wrap;justify-content:center;gap:8px 16px;margin-top:5px;color:#4c716f;font-size:12px}.trend-legend span{display:inline-flex;align-items:center;gap:6px}.trend-legend b{margin-left:2px;color:#215b59;font-weight:700}.trend-legend .legend-swatch{width:17px;height:0;border-top:2px solid currentColor;border-radius:0}.trend-legend .legend-swatch-dashed{border-top-style:dotted;border-top-width:3px}.parent-trend-card .ant-card-body{padding:14px 16px 12px}.parent-trend-card .ant-card-extra{max-width:42%;color:#718985;font-size:11px}.parent-trend-card .trend-axis-label{font-size:9px}.parent-trend-card .trend-legend{margin-top:0}.app-shell-ops .arrival-chart{justify-items:stretch}.app-shell-ops .arrival-chart-title{display:block;margin-bottom:4px}.app-shell-ops .arrival-chart .trend-chart{align-self:center}.app-shell-ops .arrival-chart .trend-axis-label{fill:#718078}.app-shell-ops .arrival-chart .trend-gridline{stroke:#edf3f1}.app-shell-ops .arrival-chart .trend-legend{color:#526b66}.app-shell-ops .section-heading h4{margin-bottom:3px}.app-shell-ops .operations-grid{align-items:stretch}@keyframes form-enter{0%{opacity:.55;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes page-enter{0%{opacity:.35;transform:translateY(4px)}to{opacity:1;transform:translateY(0)}}@keyframes invalid-shake{0%,to{transform:translate(0)}25%{transform:translate(-4px)}50%{transform:translate(4px)}75%{transform:translate(-2px)}}.login-page{--login-paper: #f5f0e6;--login-ink: #203a32;--login-pine: #284f43;--login-moss: #dce7d8;--login-coral: #c9664e;--login-gold: #e0bd67;min-height:100vh;min-height:100dvh;display:grid;place-items:center;padding:40px 28px;background:var(--login-paper)}.role-entry-shell{width:min(100%,1040px);min-height:610px;display:grid;grid-template-columns:minmax(0,.92fr) minmax(0,1.08fr);overflow:hidden;border:1px solid #e4dccd;border-radius:22px;background:#fffdf9;box-shadow:0 24px 70px #32372b1f}.super-admin-entry{position:fixed;right:max(16px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));z-index:2;min-height:44px;padding:0 8px;border:0;border-radius:4px;color:#68756e;background:transparent;font:inherit;font-size:12px;opacity:.42;cursor:pointer}.super-admin-entry:hover,.super-admin-entry:focus-visible{color:var(--flip-teal-dark, #1e8c86);background:#ffffffb8;opacity:1;outline:2px solid var(--flip-teal, #2ba8a2);outline-offset:2px}.login-story-panel{min-width:0;position:relative;display:flex;flex-direction:column;padding:30px;color:#fbf8ef;background:var(--login-pine)}.login-brand{width:max-content;height:auto;margin:0;padding:0;border:0;color:inherit}.login-brand .brand-mark{width:40px;height:40px;border-radius:14px 14px 14px 5px;color:var(--login-ink);background:var(--login-gold)}.login-brand strong{font-size:14px}.login-brand span{color:#fbf8efad}.login-story-copy{margin-top:auto;padding:45px 0 24px}.login-story-kicker{color:#e8c66d;font-size:11px;font-weight:700}.login-story-copy h1.ant-typography{margin:12px 0;color:#fffaf0;font-size:32px;line-height:1.42;font-weight:600}.login-story-copy>.ant-typography:last-child{max-width:300px;color:#fbf8efbd;font-size:14px;line-height:1.8}.login-story-board{width:100%;padding:17px;border:1px solid rgba(255,255,255,.2);border-radius:15px;color:var(--login-ink);background:#f8f2e4;transform:rotate(-1deg)}.story-board-heading{display:flex;align-items:center;gap:10px}.story-board-heading>span:nth-child(2){min-width:0;flex:1}.story-board-heading b,.story-board-heading small{display:block}.story-board-heading b{font-size:13px}.story-board-heading small{margin-top:3px;color:#77796d;font-size:11px}.story-board-mark{width:35px;height:35px;display:grid;place-items:center;border-radius:11px;color:#fff8e9;background:var(--login-coral);font-size:17px}.story-board-check{color:#56856a;font-size:17px}.story-board-lines{height:51px;display:flex;align-items:end;gap:7px;padding:12px 2px 0;border-bottom:1px solid #e0d8c8}.story-board-lines i{width:9px;border-radius:5px 5px 1px 1px;background:#668e74}.story-board-lines i:nth-child(1){height:22px}.story-board-lines i:nth-child(2){height:32px;background:var(--login-coral)}.story-board-lines i:nth-child(3){height:26px}.story-board-lines:after{content:"";width:100%;height:1px;margin-bottom:8px;background:#ded7c9}.story-board-footer{display:flex;gap:7px;margin-top:10px}.story-board-footer span{padding:4px 8px;border-radius:7px;color:#50635a;background:#e7eadb;font-size:10px}.login-story-foot{display:flex;justify-content:space-between;gap:10px;margin-top:auto;padding-top:22px;color:#fbf8ef94;font-size:11px}.role-entry-content{min-width:0;display:flex;flex-direction:column;justify-content:center;padding:54px clamp(30px,5vw,64px)}.login-copy{margin:0 0 30px;text-align:left}.login-copy .eyebrow{color:var(--login-coral);font-size:12px}.login-copy h2.ant-typography{margin:7px 0;color:var(--login-ink);font-size:27px;line-height:36px;font-weight:600}.role-entry-grid{display:grid;gap:9px}.role-entry-card{width:100%;min-width:0;min-height:88px;display:grid;grid-template-columns:44px minmax(0,1fr) auto;align-items:center;column-gap:14px;padding:14px 15px;border:1px solid #e8e2d8;border-radius:13px;color:var(--login-ink);background:#fffefa;text-align:left;font:inherit;cursor:pointer;animation:role-card-enter .4s cubic-bezier(.2,.7,.3,1) both;transition:border-color .2s ease,background .2s ease,transform .2s ease,box-shadow .2s ease}.role-entry-card:nth-child(2){animation-delay:55ms}.role-entry-card:nth-child(3){animation-delay:.11s}.role-entry-card:hover,.role-entry-card:focus-visible{transform:translate(3px);border-color:#b5c8b7;background:#fbfaf3;box-shadow:0 5px 16px #32433312;outline:none}.role-entry-card:focus-visible{box-shadow:0 0 0 3px #c9664e33}.role-entry-icon{width:44px;height:44px;display:grid;place-items:center;flex:none;border-radius:14px;color:#315d4d;background:#e5ecdf;font-size:19px}.role-entry-staff .role-entry-icon,.role-modal-staff .role-entry-icon{color:#a9503c;background:#f7e5dc}.role-entry-admin .role-entry-icon,.role-modal-admin .role-entry-icon{color:#78632e;background:#f3ebcf}.role-entry-text{display:block;min-width:0}.role-entry-text b,.role-entry-text small{display:block}.role-entry-text b{font-size:15px;line-height:22px}.role-entry-text small{margin-top:3px;color:#74796e;font-size:12px;line-height:18px}.role-entry-arrow{color:var(--login-pine);font-size:12px;font-weight:600;white-space:nowrap}.role-entry-arrow span{margin-left:4px;font-size:16px}.role-entry-foot{display:flex;align-items:center;gap:8px;margin-top:24px;font-size:12px}.login-release-id{margin:0 0 14px;color:#69817c;font-size:12px;font-variant-numeric:tabular-nums}.role-login-modal-root .ant-modal-mask{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#1b2b237a!important}.role-login-modal{perspective:1000px}.role-login-modal .ant-modal-content{overflow:hidden;border:1px solid rgba(255,255,255,.85);border-radius:18px;background:#fffdf9;box-shadow:0 28px 90px #0d1b1347;animation:role-modal-enter .46s cubic-bezier(.2,.72,.2,1) both}.role-login-modal .ant-modal-header{margin-bottom:22px;background:transparent}.role-login-modal .ant-modal-close{top:17px;right:17px;border-radius:9px}.role-modal-title{display:flex;align-items:center;gap:12px;padding-right:28px}.role-modal-title b,.role-modal-title small{display:block}.role-modal-title b{color:#203a32;font-size:18px;line-height:25px}.role-modal-title small{margin-top:3px;color:#74796e;font-size:12px;font-weight:400}.role-modal-icon{color:#315d4d;background:#e5ecdf}.role-login-form .ant-form-item{margin-bottom:17px}.role-login-form .ant-form-item-label>label{color:#3d5148;font-weight:500}.role-login-form .ant-input-affix-wrapper,.role-login-form .ant-input{border-radius:10px}.role-login-form .ant-input-affix-wrapper{min-height:46px;border-color:#dcded4;background:#fffefa}.role-login-form .ant-input-affix-wrapper-focused{border-color:#527a62;box-shadow:0 0 0 3px #527a6224}.role-login-form .ant-btn-primary{height:46px;margin-top:3px;border:0;border-radius:10px;color:#fffdf8;background:#315d4d;box-shadow:none;font-weight:600}.role-login-form .ant-btn-primary:hover{background:#244b3e!important}.role-back-button{height:40px;margin-top:5px;border-radius:9px;color:#58685d}.role-back-button:hover{color:#244b3e!important;background:#eff2e9!important}.login-error{margin-bottom:14px}.role-login-modal .ant-alert{border-radius:10px}.role-login-modal .ant-alert-message{color:#655627}@keyframes role-card-enter{0%{opacity:0;transform:translateY(9px)}to{opacity:1;transform:translateY(0)}}@keyframes role-modal-enter{0%{opacity:0;transform:perspective(1000px) rotateY(-8deg) translateY(10px) scale(.985)}68%{opacity:1;transform:perspective(1000px) rotateY(1deg) translateY(0) scale(1)}to{opacity:1;transform:perspective(1000px) rotateY(0) translateY(0) scale(1)}}@media(max-width:1199px){.page-content,.topbar{padding-inline:22px}.metric-grid{gap:9px}.metric-card .ant-card-body{padding-inline:13px}}@media(max-width:991px){.desktop-sider{display:none!important}.topbar{margin-left:0;width:100%;padding-inline:18px;justify-content:flex-start;gap:12px}.page-content{margin-left:0;width:100%;padding:18px}.mobile-menu{display:inline-flex}.top-actions{margin-left:auto}.dashboard-grid,.metric-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:575px){.entry-drawer.ant-drawer{max-width:100vw}.entry-drawer .ant-drawer-content-wrapper{width:100vw!important;height:100dvh}.entry-drawer .ant-drawer-content{height:100dvh}.entry-drawer .ant-drawer-header{min-height:56px;padding:12px 16px}.entry-drawer .ant-drawer-body{height:calc(100dvh - 56px);padding:10px 14px calc(8px + env(safe-area-inset-bottom))}.entry-drawer .form-card>.ant-card-head{padding-inline:0}.entry-drawer .form-card>.ant-card-body{padding:12px 0}.topbar{height:56px;padding:0 12px;gap:7px}.breadcrumb{font-size:12px}.breadcrumb span{margin:0 5px}.campus-tag,.user-label{display:none}.campus-header-tags{gap:3px}.campus-badge-small{min-height:26px;padding-inline:5px;font-size:10px}.campus-badge-small .anticon{margin-inline-end:0}.page-content{padding:13px 11px calc(24px + env(safe-area-inset-bottom))}.demo-banner{margin-bottom:14px;line-height:18px;align-items:flex-start}.page-heading{align-items:flex-start;flex-direction:column;margin-bottom:14px;gap:11px}.page-heading h2.ant-typography{font-size:21px;line-height:29px}.student-chip{align-self:stretch}.parent-toolbar{flex-direction:column}.parent-toolbar .ant-picker,.parent-toolbar .ant-segmented{width:100%}.parent-date-toolbar{align-items:stretch}.parent-date-toolbar .ant-segmented{overflow-x:auto}.parent-overview-strip{grid-template-columns:1fr;gap:8px}.parent-overview-strip>button{min-height:80px;padding:10px 12px}.parent-overview-strip b{font-size:19px}.parent-dashboard-grid{grid-template-columns:minmax(0,1fr);gap:10px}.parent-dashboard-grid .parent-ledger-card{grid-column:auto}.parent-ledger-card .ledger-compact{grid-template-columns:1fr;gap:14px}.ledger-divider.ant-divider-vertical{display:none}.dashboard-grid{grid-template-columns:minmax(0,1fr);gap:10px}.heat-card,.recent-card{grid-column:auto}.dashboard-card .ant-card-body{padding:14px}.dashboard-card .ant-card-extra{max-width:46%;white-space:normal;text-align:right;font-size:10px}.heatmap-grid{grid-template-rows:repeat(5,34px);gap:5px}.heat-cell{font-size:10px}.parent-detail-modal{max-width:calc(100vw - 20px);margin:10px auto}.parent-detail-modal .ant-modal-content{padding:16px 12px}.parent-detail-meta{align-items:flex-start;flex-direction:column}.detail-return{justify-content:stretch}.detail-return .ant-btn{flex:1}.content-section{padding:13px 11px}.section-heading{align-items:flex-start}.filter-row{align-items:stretch;flex-direction:column}.filter-row .ant-picker,.filter-row .ant-segmented,.filter-row .ant-input-search{width:100%}.form-card>.ant-card-body{padding:15px 12px}.form-grid,.quantity-grid,.course-options,.mapping-grid,.checklist-grid{grid-template-columns:1fr}.form-actions{position:sticky;bottom:0;z-index:2;padding:10px 0 calc(8px + env(safe-area-inset-bottom));background:#fff}.form-card.step-card>.ant-card-head{padding-inline:12px}.step-card .ant-card-head-wrapper{align-items:flex-start;flex-direction:column;padding-block:10px}.step-card .ant-card-extra{align-self:stretch;padding:0}.step-card .ant-segmented,.list-card .ant-card-extra .ant-segmented{width:100%}.question-progress{margin-top:0}.step-question{min-height:190px;margin-top:17px}.step-question .ant-form-item-label>label{font-size:16px}.step-navigation{position:sticky;bottom:0;z-index:2;padding:10px 0 calc(8px + env(safe-area-inset-bottom));background:#fff}.attendance-step-question .course-options{grid-template-columns:1fr}.attendance-step-question .check-row{display:grid;grid-template-columns:1fr;gap:4px}.attendance-step-question .check-row .ant-checkbox-wrapper{padding:6px 0}.list-form-section{margin-bottom:10px}.task-row{gap:8px;flex-wrap:wrap;padding:10px 0}.task-person{min-width:calc(100% - 55px)}.task-row .ant-btn{margin-left:auto}.quick-actions{grid-template-columns:1fr}.table-wrap .ant-table{font-size:12px}.section-hub:not(.section-hub-parent){grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.section-hub:not(.section-hub-parent) .section-hub-item{min-height:76px;gap:8px;padding:8px;font-size:12px}.section-hub-icon{width:36px;height:36px;font-size:16px}.section-hub-copy small{font-size:10px}.staff-metrics{margin:8px 0 14px;padding:7px 0}.staff-metrics .metric-card .ant-card-body{padding:4px 7px}.staff-metrics .metric-card .ant-statistic-title{min-height:32px;line-height:1.35}.staff-metrics .metric-card .ant-statistic-content{font-size:19px}.staff-metrics .metric-card>.ant-card-body>.ant-typography{font-size:10px}.operations-panel{padding:14px 12px}.dashboard-search .ant-input-search{max-width:none}.metric-detail .section-heading{flex-direction:column}.metric-detail .section-heading .ant-space{width:100%}.metric-detail .section-heading .ant-btn{flex:1}.operations-grid{grid-template-columns:1fr;gap:20px}.arrival-bars{height:100px}.arrival-times{font-size:9px}.login-page{align-content:start;padding:12px 12px calc(18px + env(safe-area-inset-bottom))}.role-entry-shell{width:min(100%,500px);min-height:0;grid-template-columns:1fr;border-radius:18px}.login-story-panel{min-height:208px;padding:17px 18px 16px}.login-brand .brand-mark{width:35px;height:35px}.login-story-copy{padding:23px 0 14px}.login-story-copy h1.ant-typography{margin:5px 0 4px;font-size:22px;line-height:1.35}.login-story-copy>.ant-typography:last-child{max-width:270px;font-size:12px;line-height:1.5}.login-story-kicker{font-size:9px}.login-story-board,.login-story-foot{display:none}.role-entry-content{padding:24px 18px 20px}.login-copy{margin-bottom:15px}.login-copy h2.ant-typography{margin:3px 0;font-size:22px;line-height:30px}.role-entry-grid{grid-template-columns:1fr;gap:8px}.role-entry-card{min-height:70px;grid-template-columns:40px minmax(0,1fr) auto;column-gap:11px;padding:9px 11px;border-radius:11px}.role-entry-icon{width:40px;height:40px;border-radius:12px}.role-entry-text b{font-size:14px}.role-entry-text small{font-size:11px}.role-entry-foot{margin-top:14px}.role-login-modal{max-width:calc(100vw - 24px);margin:12px auto}.role-login-modal .ant-modal-content{padding:18px 16px;border-radius:16px}.role-login-modal .ant-modal-header{margin-bottom:18px}.formula-item .ant-card-body{gap:10px}.formula-item code{overflow-wrap:anywhere}}.app-shell-ops{--ops-primary: #163300;--ops-primary-hover: #054d28;--ops-lime: #9fe870;--ops-mist: #e2f6d5;--ops-bg: #f7f8f6;--ops-surface: #fff;--ops-text: #163300;--ops-muted: #6a6c6a;--ops-border: #e1e5df;background:var(--ops-bg);color:var(--ops-text)}.app-shell-ops .desktop-sider{border-color:var(--ops-border);background:#fff!important}.app-shell-ops .brand-mark{border-radius:10px;color:var(--ops-primary);background:var(--ops-lime)}.app-shell-ops .side-menu .ant-menu-item-selected{color:var(--ops-primary);background:var(--ops-mist);font-weight:600}.app-shell-ops .side-menu .ant-menu-item-selected:after{display:none}.app-shell-ops .topbar{border-color:var(--ops-border);background:#fffffff7}.app-shell-ops .breadcrumb,.app-shell-ops .page-heading h2.ant-typography{color:var(--ops-text)}.app-shell-ops .page-content{background:var(--ops-bg)}.app-shell-ops .demo-banner{border-color:#d6e6cf;color:var(--ops-primary);background:var(--ops-mist)}.app-shell-ops .demo-dot{background:var(--ops-primary)}.app-shell-ops .eyebrow{color:var(--ops-primary)}.app-shell-ops .workbench-date-tag{margin:0;padding:6px 10px;border:1px solid var(--ops-border);border-radius:10px;color:var(--ops-muted);background:#fff}.app-shell-ops .staff-metrics{gap:12px;margin:4px 0 20px;padding:0;border:0;background:transparent}.app-shell-ops .staff-metrics .metric-card{overflow:hidden;border:1px solid var(--ops-border)!important;border-radius:10px;background:#fff;transition:border-color .2s ease,background-color .2s ease}.app-shell-ops .staff-metrics .metric-card:hover{border-color:#b7d79e!important;background:#fcfefb}.app-shell-ops .staff-metrics .metric-card .ant-card-body{padding:17px 18px 14px}.app-shell-ops .staff-metrics .metric-card .ant-statistic-title{color:var(--ops-muted);font-size:12px}.app-shell-ops .staff-metrics .metric-card .ant-statistic-content{color:var(--ops-text);font-size:27px}.app-shell-ops .staff-metrics .metric-card .ant-typography-secondary{color:var(--ops-muted)}.app-shell-ops .section-hub{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:20px}.app-shell-ops .section-hub-item{min-height:78px;gap:11px;border-color:var(--ops-border);border-radius:10px;background:#fff}.app-shell-ops .section-hub-item:hover,.app-shell-ops .section-hub-item:focus-visible{border-color:#b7d79e;background:#fbfef9;outline-color:var(--ops-primary)}.app-shell-ops .section-hub-icon{width:38px;height:38px;border-radius:10px;color:var(--ops-primary);background:var(--ops-mist)}.app-shell-ops .section-hub-item:nth-child(4n+2) .section-hub-icon{color:#0b4c72;background:#e7f1f6}.app-shell-ops .section-hub-item:nth-child(4n+3) .section-hub-icon{color:#805a16;background:#f8f0dd}.app-shell-ops .section-hub-item:nth-child(4n+4) .section-hub-icon{color:#287a55;background:#e8f3eb}.app-shell-ops .section-hub-copy small{font-size:11px}.app-shell-ops .operations-panel{overflow:hidden;border:1px solid var(--ops-border);border-radius:10px;background:#fff}.app-shell-ops .operations-grid{grid-template-columns:minmax(190px,.72fr) minmax(270px,1.1fr) minmax(220px,.85fr);gap:20px;align-items:stretch}.app-shell-ops .occupancy-summary{min-height:180px;align-content:center;justify-content:center;flex-wrap:wrap;gap:12px;padding:16px;border:1px solid var(--ops-border);border-radius:10px;background:#f8faf7;text-align:center}.app-shell-ops .occupancy-ring{width:108px;height:108px;background:conic-gradient(var(--ops-primary) 0 84%,#e8ebe6 84% 100%)}.app-shell-ops .occupancy-ring>div{width:80px;height:80px;background:#fff}.app-shell-ops .occupancy-copy{width:100%}.app-shell-ops .occupancy-copy b{font-size:13px}.app-shell-ops .occupancy-copy small{color:var(--ops-muted);font-size:11px}.app-shell-ops .arrival-chart{min-height:180px;padding:14px;border:1px solid var(--ops-border);border-radius:10px;background:#fff}.app-shell-ops .arrival-chart-title{color:var(--ops-text);font-size:13px}.app-shell-ops .arrival-bars{height:105px;border-color:var(--ops-border);background:repeating-linear-gradient(to bottom,transparent 0,transparent 25px,#f0f2ef 26px)}.app-shell-ops .arrival-bars i,.app-shell-ops .arrival-bars i:nth-child(3n){border-radius:5px 5px 1px 1px;background:#9ed77c}.app-shell-ops .arrival-bars i:nth-child(3n+1){background:var(--ops-primary)}.app-shell-ops .arrival-times{color:var(--ops-muted)}.app-shell-ops .workbench-followups{min-width:0;padding:12px 13px;border:1px solid var(--ops-border);border-radius:10px;background:#fff}.app-shell-ops .followup-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:0 0 7px;border-bottom:1px solid var(--ops-border)}.app-shell-ops .followup-heading b,.app-shell-ops .followup-heading small{display:block}.app-shell-ops .followup-heading b{font-size:13px}.app-shell-ops .followup-heading small{margin-top:3px;color:var(--ops-muted);font-size:11px}.app-shell-ops .followup-heading .ant-btn{padding-inline:5px;color:var(--ops-primary)}.app-shell-ops .followup-row{width:100%;min-width:0;display:flex;align-items:center;gap:8px;padding:10px 0;border:0;border-bottom:1px solid #eef0ed;color:var(--ops-text);background:transparent;text-align:left;cursor:pointer}.app-shell-ops .followup-row:last-child{border-bottom:0}.app-shell-ops .followup-row:hover .followup-person b{color:var(--ops-primary)}.app-shell-ops .followup-avatar{width:30px;height:30px;flex:none;display:grid;place-items:center;border-radius:10px;color:var(--ops-primary);background:var(--ops-mist);font-size:12px}.app-shell-ops .followup-person{min-width:0;flex:1}.app-shell-ops .followup-person b,.app-shell-ops .followup-person small{display:block}.app-shell-ops .followup-person b{font-size:12px}.app-shell-ops .followup-person small{margin-top:3px;color:var(--ops-muted);font-size:10px}.app-shell-ops .followup-row strong{color:#805a16;font-size:12px;white-space:nowrap}.app-shell-ops .dashboard-search{border:1px solid var(--ops-border);border-radius:10px;background:#fff}.app-shell-ops .dashboard-search .ant-input-search{max-width:100%}.app-shell-ops .dashboard-search .ant-input-affix-wrapper{min-height:44px;border-radius:10px}.app-shell-ops .content-section{border-color:var(--ops-border);border-radius:10px}.app-shell-ops .metric-detail{background:#fff}.app-shell-ops .ant-btn-primary{color:var(--ops-primary);border-color:var(--ops-lime);background:var(--ops-lime);box-shadow:none;font-weight:600}.app-shell-ops .ant-btn-primary:not(:disabled):hover{color:var(--ops-primary);border-color:#b4ef96;background:#b4ef96}.app-shell-ops .ant-btn-primary:focus-visible,.app-shell-ops .fullscreen-toggle:focus-visible,.app-shell-ops .profile-trigger:focus-visible{outline-color:var(--ops-primary)}.app-shell-ops .ant-input:focus,.app-shell-ops .ant-input-affix-wrapper-focused,.app-shell-ops .ant-select-focused .ant-select-selector{border-color:#568b37;box-shadow:0 0 0 2px #9fe8703d}@media(max-width:991px){.app-shell-ops .operations-grid{grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr)}.app-shell-ops .workbench-followups{grid-column:1 / -1}.app-shell-ops .section-hub{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:575px){.app-shell-ops .staff-metrics{gap:8px}.app-shell-ops .staff-metrics .metric-card{border:1px solid var(--ops-border)!important;border-radius:9px}.app-shell-ops .staff-metrics .metric-card .ant-card-body{padding:11px 9px}.app-shell-ops .staff-metrics .metric-card .ant-statistic-title{min-height:0;font-size:11px}.app-shell-ops .staff-metrics .metric-card .ant-statistic-content{font-size:22px}.app-shell-ops .staff-metrics .metric-card>.ant-card-body>.ant-typography{font-size:10px}.app-shell-ops .operations-grid{grid-template-columns:1fr;gap:10px}.app-shell-ops .occupancy-summary{min-height:150px}.app-shell-ops .workbench-followups{grid-column:auto}.app-shell-ops .workbench-date-tag{align-self:flex-start}.app-shell-ops .section-hub:not(.section-hub-parent){grid-template-columns:repeat(2,minmax(0,1fr))}}.app-shell:not(.app-shell-ops){--parent-forest: #163300;--parent-lime: #9fe870;--parent-mist: #e2f6d5;--parent-bg: #f7f8f6;--parent-muted: #6a6c6a;--parent-border: #e1e5df;background:var(--parent-bg);color:var(--parent-forest)}.app-shell:not(.app-shell-ops) .desktop-sider{border-color:var(--parent-border);background:#fff!important}.app-shell:not(.app-shell-ops) .brand-mark{color:var(--parent-forest);background:var(--parent-lime)}.app-shell:not(.app-shell-ops) .topbar{border-color:var(--parent-border);background:#fff}.app-shell:not(.app-shell-ops) .page-content{background:var(--parent-bg)}.app-shell:not(.app-shell-ops) .demo-banner{border-color:#d6e6cf;color:var(--parent-forest);background:var(--parent-mist)}.app-shell:not(.app-shell-ops) .demo-dot{background:var(--parent-forest)}.app-shell:not(.app-shell-ops) .parent-date-toolbar{border-color:var(--parent-border);border-radius:10px;background:#fff}.app-shell:not(.app-shell-ops) .parent-date-toolbar .ant-segmented{padding:4px;border:1px solid var(--parent-border);border-radius:999px;background:#f7f8f6}.app-shell:not(.app-shell-ops) .parent-date-toolbar .ant-segmented-item-selected{border-radius:999px;color:#fff;background:var(--parent-forest);box-shadow:none}.app-shell:not(.app-shell-ops) .parent-date-toolbar .ant-segmented-item:not(.ant-segmented-item-selected):hover{color:var(--parent-forest);background:var(--parent-mist)}.app-shell:not(.app-shell-ops) .parent-overview-strip>button{border-color:var(--parent-border);border-radius:10px;color:var(--parent-forest);transition:border-color .18s ease,background-color .18s ease}.app-shell:not(.app-shell-ops) .parent-overview-strip>button:hover{transform:none;border-color:#b7d79e;background:#fbfef9;box-shadow:none}.app-shell:not(.app-shell-ops) .parent-tile-icon{color:var(--parent-forest);background:var(--parent-mist)}.app-shell:not(.app-shell-ops) .parent-balance-tile .parent-tile-icon{color:#805a16;background:#f8f0dd}.app-shell:not(.app-shell-ops) .parent-course-tile .parent-tile-icon{color:#0b4c72;background:#e7f1f6}.app-shell:not(.app-shell-ops) .parent-overview-strip small,.app-shell:not(.app-shell-ops) .parent-overview-strip em,.app-shell:not(.app-shell-ops) .parent-overview-strip b i{color:var(--parent-muted)}.app-shell:not(.app-shell-ops) .dashboard-card{border-color:var(--parent-border);border-radius:10px;box-shadow:none}.app-shell:not(.app-shell-ops) .dashboard-card .ant-card-head{border-color:var(--parent-border)}.app-shell:not(.app-shell-ops) .dashboard-card .ant-card-head-title,.app-shell:not(.app-shell-ops) .dashboard-card .ant-card-body{color:var(--parent-forest)}.app-shell:not(.app-shell-ops) .drilldown-card:hover{transform:none;border-color:#b7d79e;box-shadow:none}.app-shell:not(.app-shell-ops) .donut{background:conic-gradient(var(--parent-forest) 0 78%,#9fe870 78% 100%)}.app-shell:not(.app-shell-ops) .donut-center b{color:var(--parent-forest)}.app-shell:not(.app-shell-ops) .donut-center span,.app-shell:not(.app-shell-ops) .donut-legend{color:var(--parent-muted)}.app-shell:not(.app-shell-ops) .dot-coral{background:var(--parent-forest)}.app-shell:not(.app-shell-ops) .dot-teal{background:var(--parent-lime)}.app-shell:not(.app-shell-ops) .fill-coral{background:var(--parent-forest)}.app-shell:not(.app-shell-ops) .fill-teal{background:#79bd50}.app-shell:not(.app-shell-ops) .fill-gold{background:#0b4c72}.app-shell:not(.app-shell-ops) .fill-blue{background:#768777}.app-shell:not(.app-shell-ops) .heatmap-week,.app-shell:not(.app-shell-ops) .heatmap-legend{color:var(--parent-muted)}.app-shell:not(.app-shell-ops) .heat-0{background:#f0f2ef}.app-shell:not(.app-shell-ops) .heat-1{background:#e2f6d5}.app-shell:not(.app-shell-ops) .heat-2{background:#b8df9d}.app-shell:not(.app-shell-ops) .heat-3{color:#163300;background:#9fe870}.app-shell:not(.app-shell-ops) .heat-4{color:#fff;background:#163300}.app-shell:not(.app-shell-ops) .date-badge{color:var(--parent-forest);background:var(--parent-mist)}.app-shell:not(.app-shell-ops) .dashboard-footnote{color:var(--parent-muted)}.app-shell:not(.app-shell-ops) .ant-btn-link{color:var(--parent-forest)}.app-shell:not(.app-shell-ops) .ant-btn-link:not(:disabled):hover{color:#054d28}.app-shell:not(.app-shell-ops) .ant-alert-warning{border-color:#eadcb9;background:#fbf5e5}.app-shell:not(.app-shell-ops) .parent-detail-modal .ant-modal-content{border-color:#e1e5df;border-radius:10px;box-shadow:0 18px 50px #16330024}.app-shell:not(.app-shell-ops) .parent-detail-modal .ant-modal-title,.app-shell:not(.app-shell-ops) .parent-detail-meta{color:var(--parent-forest)}.login-page{--login-paper: #f7f8f6;--login-ink: #163300;--login-pine: #163300;--login-moss: #e2f6d5;--login-coral: #0b4c72;--login-gold: #9fe870;background:var(--login-paper)}.role-entry-shell{border-color:#e1e5df;border-radius:16px;background:#fff;box-shadow:none}.login-story-panel{color:#fff;background:var(--login-pine)}.login-brand .brand-mark{border-radius:10px;color:var(--login-ink);background:var(--login-gold)}.login-story-kicker{color:var(--login-gold)}.login-story-copy h1.ant-typography{color:#fff}.login-story-copy>.ant-typography:last-child{color:#d4dfce}.login-story-board{border-color:#fff3;border-radius:10px;color:var(--login-ink);background:#f7f8f6;transform:none}.story-board-mark{border-radius:10px;color:var(--login-ink);background:var(--login-gold)}.story-board-lines i,.story-board-lines i:nth-child(2){background:#79bd50}.story-board-footer span{color:var(--login-ink);background:var(--login-moss)}.login-story-foot{color:#d4dfce}.login-copy .eyebrow{color:#0b4c72}.login-copy h2.ant-typography{color:var(--login-ink)}.role-entry-card{border-color:#e1e5df;border-radius:10px;color:var(--login-ink);background:#fff;box-shadow:none}.role-entry-card:hover,.role-entry-card:focus-visible{border-color:#b7d79e;background:#fbfef9;box-shadow:none}.role-entry-card:focus-visible{outline:2px solid rgba(22,51,0,.35)}.role-entry-icon,.role-entry-staff .role-entry-icon,.role-modal-staff .role-entry-icon,.role-entry-admin .role-entry-icon,.role-modal-admin .role-entry-icon{border-radius:10px;color:var(--login-ink);background:var(--login-moss)}.role-entry-admin .role-entry-icon,.role-modal-admin .role-entry-icon{color:#0b4c72;background:#e7f1f6}.role-entry-arrow{color:var(--login-ink)}.login-demo-label{border-color:#d6e6cf;border-radius:6px;color:var(--login-ink);background:var(--login-moss)}.role-login-modal .ant-modal-content{border-color:#e1e5df;border-radius:14px;background:#fff;box-shadow:0 20px 60px #0e0f0c29}.role-modal-title b{color:var(--login-ink)}.role-modal-title small{color:#6a6c6a}.role-login-form .ant-form-item-label>label{color:#454745}.role-login-form .ant-input-affix-wrapper{border-color:#e1e5df;border-radius:10px;background:#fff}.role-login-form .ant-input-affix-wrapper-focused{border-color:#568b37;box-shadow:0 0 0 2px #9fe8703d}.role-login-modal .ant-btn-primary{height:46px;border:0;border-radius:10px;color:#163300;background:#9fe870;box-shadow:none;font-weight:600}.role-login-modal .ant-btn-primary:hover{color:#163300!important;background:#b4ef96!important}.role-back-button{border-radius:8px;color:#454745}.role-back-button:hover{color:#163300!important;background:#e2f6d5!important}.demo-login-hint{border-color:#e1e5df;border-radius:10px;background:#f7f8f6}.demo-login-hint .ant-tag{border-color:#d6e6cf;border-radius:6px;color:#163300;background:#e2f6d5}.role-login-modal .ant-alert-warning{border-color:#eadcb9;background:#fbf5e5}@media(max-width:575px){.app-shell:not(.app-shell-ops) .parent-date-toolbar{padding:10px}.app-shell:not(.app-shell-ops) .parent-date-toolbar .ant-segmented{width:100%;display:flex}.app-shell:not(.app-shell-ops) .parent-date-toolbar .ant-segmented-item{flex:1;text-align:center}.app-shell:not(.app-shell-ops) .parent-date-toolbar>.ant-typography{font-size:12px}.role-entry-shell{border-radius:12px}.login-story-panel{border-radius:0}}:root{--flip-teal: #2ba8a2;--flip-teal-light: #3cc4bd;--flip-teal-dark: #1e8c86;--flip-teal-bg: #e8f6f5;--flip-gold: #ffd23f;--flip-gold-light: #ffe47a;--flip-gold-dark: #e6b800;--flip-coral: #ef6c4a;--flip-coral-light: #ff8a6a;--flip-coral-dark: #d45233;--flip-cream: #fff8e7;--flip-sky: #5dade2;--flip-base: #eff8f7;--flip-card: #fff;--flip-success: #27ae60;--flip-error: #e74c3c;--flip-ink: #215b59;--flip-muted: #5d7775;--flip-border: #cde8e5;--flip-radius-sm: 4px;--flip-radius-md: 8px;--flip-radius-lg: 12px;--flip-radius-xl: 16px;--flip-shadow-sm: 0 2px 8px rgba(30, 140, 134, .08);--flip-shadow-md: 0 4px 16px rgba(43, 168, 162, .12);--flip-shadow-card: 0 4px 20px rgba(43, 168, 162, .1);--flip-shadow-gold: 0 4px 20px rgba(255, 210, 63, .4);--flip-shadow-coral: 0 4px 20px rgba(239, 108, 74, .25);--flip-shadow-focus: 0 0 0 3px rgba(43, 168, 162, .18)}body{color:var(--flip-ink);background:var(--flip-base)}.app-shell,.app-shell-ops{background:var(--flip-base);color:var(--flip-ink)}.app-shell-ops{--ops-primary: var(--flip-teal);--ops-primary-hover: var(--flip-teal-dark);--ops-lime: var(--flip-gold);--ops-mist: var(--flip-teal-bg);--ops-bg: var(--flip-base);--ops-surface: var(--flip-card);--ops-text: var(--flip-ink);--ops-muted: var(--flip-muted);--ops-border: var(--flip-border)}.app-shell:not(.app-shell-ops){--parent-forest: var(--flip-teal-dark);--parent-lime: var(--flip-teal-light);--parent-mist: var(--flip-teal-bg);--parent-bg: var(--flip-base);--parent-muted: var(--flip-muted);--parent-border: var(--flip-border)}.brand-mark{color:#fff;background:var(--flip-teal);border-radius:var(--flip-radius-md)}.desktop-sider,.app-shell-ops .desktop-sider{border-color:var(--flip-border);background:var(--flip-card)!important}.side-menu .ant-menu-item-selected,.app-shell-ops .side-menu .ant-menu-item-selected,.app-shell:not(.app-shell-ops) .side-menu .ant-menu-item-selected{color:var(--flip-teal-dark);background:var(--flip-teal-bg);font-weight:700}.side-menu .ant-menu-item{border-radius:999px}.topbar,.app-shell-ops .topbar{border-color:var(--flip-border);background:#fff8e7f5}.page-content,.app-shell-ops .page-content{background:var(--flip-base)}.breadcrumb,.page-heading h2.ant-typography,.app-shell-ops .page-heading h2.ant-typography{color:var(--flip-ink)}.demo-banner,.app-shell-ops .demo-banner,.app-shell:not(.app-shell-ops) .demo-banner{position:relative;border:1px solid #d5c27e;border-inline-start:5px solid var(--flip-gold-dark);border-radius:var(--flip-radius-md);color:#6c5a1d;background:var(--flip-cream)}.demo-dot,.app-shell-ops .demo-dot,.app-shell:not(.app-shell-ops) .demo-dot{background:var(--flip-teal)}.eyebrow,.app-shell-ops .eyebrow{color:var(--flip-coral-dark);font-weight:800;letter-spacing:1px}.page-heading h2.ant-typography{font-weight:800;letter-spacing:1px}.student-chip{border-color:var(--flip-border);border-radius:var(--flip-radius-lg);background:var(--flip-cream);box-shadow:var(--flip-shadow-sm)}.student-chip .ant-avatar{background:transparent!important}.app-shell-ops .ant-btn,.app-shell:not(.app-shell-ops) .ant-btn,.role-login-modal .ant-btn{min-height:40px;border-radius:999px;transition:transform .18s cubic-bezier(.34,1.56,.64,1),box-shadow .18s ease,background-color .18s ease}.app-shell-ops .ant-btn-primary,.app-shell:not(.app-shell-ops) .ant-btn-primary,.role-login-modal .ant-btn-primary{border-color:var(--flip-gold-dark);color:#55430b;background:var(--flip-gold);box-shadow:var(--flip-shadow-gold);font-weight:800}.app-shell-ops .ant-btn-primary:not(:disabled):hover,.app-shell:not(.app-shell-ops) .ant-btn-primary:not(:disabled):hover,.role-login-modal .ant-btn-primary:not(:disabled):hover{border-color:var(--flip-gold-dark);color:#55430b!important;background:var(--flip-gold-light)!important;box-shadow:var(--flip-shadow-gold);transform:translateY(-1px)}.ant-btn-default,.ant-btn-text,.ant-btn-link{border-radius:999px}.app-shell-ops .ant-input,.app-shell-ops .ant-input-affix-wrapper,.app-shell-ops .ant-select-selector,.app-shell-ops .ant-picker,.app-shell:not(.app-shell-ops) .ant-input,.app-shell:not(.app-shell-ops) .ant-input-affix-wrapper,.app-shell:not(.app-shell-ops) .ant-select-selector,.app-shell:not(.app-shell-ops) .ant-picker,.role-login-modal .ant-input,.role-login-modal .ant-input-affix-wrapper{border-color:var(--flip-border);border-radius:var(--flip-radius-md)!important;background:var(--flip-cream)}.app-shell-ops .ant-input:focus,.app-shell-ops .ant-input-affix-wrapper-focused,.app-shell-ops .ant-select-focused .ant-select-selector,.app-shell-ops .ant-picker-focused,.app-shell:not(.app-shell-ops) .ant-input:focus,.app-shell:not(.app-shell-ops) .ant-input-affix-wrapper-focused,.app-shell:not(.app-shell-ops) .ant-select-focused .ant-select-selector,.role-login-modal .ant-input-affix-wrapper-focused{border-color:var(--flip-teal);box-shadow:var(--flip-shadow-focus)}.ant-tag,.login-demo-label{border-radius:999px}.app-shell-ops .ant-alert-warning,.app-shell:not(.app-shell-ops) .ant-alert-warning,.role-login-modal .ant-alert-warning{border-color:#f5c2b4;color:#8c3924;background:#fff0eb}.ant-alert-success{border-color:#b7e4c8;background:#effaf3}.ant-alert-error{border-color:#f4c2bd;background:#fff1f0}.ant-alert-info{border-color:#c1def2;background:#eff7fd}.dashboard-card,.app-shell-ops .dashboard-card,.app-shell:not(.app-shell-ops) .dashboard-card,.metric-card,.app-shell-ops .staff-metrics .metric-card,.content-section,.app-shell-ops .content-section,.form-card,.plain-card{border-color:var(--flip-border);border-radius:var(--flip-radius-lg);background:var(--flip-card);box-shadow:var(--flip-shadow-card)}.dashboard-card,.app-shell-ops .dashboard-card,.app-shell:not(.app-shell-ops) .dashboard-card{border-inline-start:4px solid var(--flip-teal-light)}.dashboard-grid .dashboard-card:nth-child(3n+2){border-inline-start-color:var(--flip-gold)}.dashboard-grid .dashboard-card:nth-child(3n){border-inline-start-color:var(--flip-coral-light)}.dashboard-card .ant-card-head,.section-heading,.list-form-section>.ant-divider{border-bottom:2px dashed rgba(43,168,162,.34)}.dashboard-card .ant-card-head{border-block-end:2px dashed rgba(43,168,162,.34)}.drilldown-card:hover,.app-shell:not(.app-shell-ops) .drilldown-card:hover{border-color:var(--flip-teal-light);box-shadow:var(--flip-shadow-md);transform:translateY(-2px)}.app-shell-ops .staff-metrics .metric-card{box-shadow:var(--flip-shadow-card)}.app-shell-ops .staff-metrics .metric-card:hover{border-color:var(--flip-gold)!important;box-shadow:var(--flip-shadow-gold)}.app-shell-ops .section-hub-item{border-color:var(--flip-border);border-radius:var(--flip-radius-lg);box-shadow:var(--flip-shadow-card)}.app-shell-ops .section-hub-item:hover,.app-shell-ops .section-hub-item:focus-visible{border-color:var(--flip-teal-light);background:var(--flip-cream);box-shadow:var(--flip-shadow-md);transform:translateY(-2px)}.app-shell-ops .section-hub-icon{color:var(--flip-teal-dark);background:var(--flip-teal-bg);border-radius:var(--flip-radius-md)}.app-shell-ops .section-hub-item:nth-child(4n+2) .section-hub-icon{color:var(--flip-coral-dark);background:#fff0eb}.app-shell-ops .section-hub-item:nth-child(4n+3) .section-hub-icon{color:#806006;background:#fff5ce}.app-shell-ops .section-hub-item:nth-child(4n+4) .section-hub-icon{color:#2679a8;background:#eaf5fc}.app-shell-ops .operations-panel{border-color:var(--flip-border);background:var(--flip-teal-bg);box-shadow:var(--flip-shadow-card)}.app-shell-ops .occupancy-summary{border-color:var(--flip-border);border-radius:var(--flip-radius-lg);background:var(--flip-cream)}.app-shell-ops .occupancy-ring{background:conic-gradient(var(--flip-teal) 0 84%,#d8e8e6 84% 100%)}.app-shell-ops .arrival-chart{border-color:var(--flip-border);border-radius:var(--flip-radius-lg);background:#fff}.app-shell-ops .arrival-bars i,.app-shell-ops .arrival-bars i:nth-child(3n){background:var(--flip-teal-light)}.app-shell-ops .arrival-bars i:nth-child(3n+1){background:var(--flip-teal-dark)}.app-shell-ops .followup-row strong{color:var(--flip-coral-dark)}.app-shell-ops .followup-avatar{color:var(--flip-teal-dark);background:var(--flip-teal-bg)}.app-shell-ops .workbench-followups{border-color:var(--flip-border);border-radius:var(--flip-radius-lg);box-shadow:var(--flip-shadow-card)}.app-shell-ops .dashboard-search,.app-shell-ops .dashboard-search .ant-input-affix-wrapper{border-color:var(--flip-border);border-radius:var(--flip-radius-lg);background:var(--flip-cream)}.parent-date-toolbar,.app-shell:not(.app-shell-ops) .parent-date-toolbar{border-color:var(--flip-border);border-radius:var(--flip-radius-lg);background:var(--flip-cream)}.app-shell:not(.app-shell-ops) .parent-date-toolbar .ant-segmented{border-color:var(--flip-border);border-radius:999px;background:var(--flip-base)}.app-shell:not(.app-shell-ops) .parent-date-toolbar .ant-segmented-item-selected{border-radius:999px;color:#fff;background:var(--flip-teal);box-shadow:0 2px 8px #2ba8a233}.app-shell:not(.app-shell-ops) .parent-overview-strip>button{border-color:var(--flip-border);border-radius:var(--flip-radius-lg);background:var(--flip-card);box-shadow:var(--flip-shadow-card)}.app-shell:not(.app-shell-ops) .parent-overview-strip>button:hover{border-color:var(--flip-gold-dark);background:var(--flip-cream);box-shadow:var(--flip-shadow-gold)}.app-shell:not(.app-shell-ops) .parent-tile-icon{color:var(--flip-teal-dark);background:var(--flip-teal-bg);border-radius:var(--flip-radius-md)}.app-shell:not(.app-shell-ops) .parent-balance-tile .parent-tile-icon{color:#755900;background:#fff2bd}.app-shell:not(.app-shell-ops) .parent-course-tile .parent-tile-icon{color:#2679a8;background:#eaf5fc}.app-shell:not(.app-shell-ops) .donut{background:conic-gradient(var(--flip-teal) 0 78%,var(--flip-gold) 78% 100%)}.app-shell:not(.app-shell-ops) .dot-coral{background:var(--flip-teal)}.app-shell:not(.app-shell-ops) .dot-teal{background:var(--flip-gold)}.app-shell:not(.app-shell-ops) .fill-coral{background:var(--flip-teal)}.app-shell:not(.app-shell-ops) .fill-teal{background:var(--flip-teal-light)}.app-shell:not(.app-shell-ops) .fill-gold{background:var(--flip-coral)}.app-shell:not(.app-shell-ops) .fill-blue{background:var(--flip-sky)}.app-shell:not(.app-shell-ops) .heat-1{background:#d7f0ee}.app-shell:not(.app-shell-ops) .heat-2{background:#a6dfdb}.app-shell:not(.app-shell-ops) .heat-3{color:#155f5b;background:var(--flip-teal-light)}.app-shell:not(.app-shell-ops) .heat-4{color:#fff;background:var(--flip-teal-dark)}.app-shell:not(.app-shell-ops) .date-badge{color:var(--flip-teal-dark);background:var(--flip-teal-bg)}.app-shell:not(.app-shell-ops) .parent-detail-modal .ant-modal-content{border-color:var(--flip-border);border-radius:var(--flip-radius-xl);box-shadow:var(--flip-shadow-md)}.login-page{--login-paper: var(--flip-base);--login-ink: var(--flip-teal-dark);--login-pine: var(--flip-teal-dark);--login-moss: var(--flip-teal-bg);--login-coral: var(--flip-coral);--login-gold: var(--flip-gold);background:var(--flip-base)}.role-entry-shell{border-color:var(--flip-border);border-radius:var(--flip-radius-xl);background:var(--flip-card);box-shadow:var(--flip-shadow-card)}.login-story-panel{background:var(--flip-teal-dark)}.login-brand .brand-mark{color:var(--flip-teal-dark);background:var(--flip-gold)}.login-story-kicker{color:var(--flip-gold)}.login-story-copy h1.ant-typography{letter-spacing:2px;font-weight:800}.login-story-board{border-color:var(--flip-border);border-radius:var(--flip-radius-lg);background:var(--flip-cream);box-shadow:var(--flip-shadow-card);transform:none}.story-board-mark{color:#715300;background:var(--flip-gold)}.story-board-lines i,.story-board-lines i:nth-child(2){background:var(--flip-teal)}.story-board-footer span{color:var(--flip-teal-dark);background:var(--flip-teal-bg)}.role-entry-card{border-color:var(--flip-border);border-radius:var(--flip-radius-lg);color:var(--flip-ink);background:var(--flip-cream);box-shadow:var(--flip-shadow-sm)}.role-entry-card:hover,.role-entry-card:focus-visible{border-color:var(--flip-gold-dark);background:#fffdf4;box-shadow:var(--flip-shadow-gold);transform:translateY(-2px)}.role-entry-icon,.role-entry-staff .role-entry-icon,.role-modal-staff .role-entry-icon{color:var(--flip-teal-dark);background:var(--flip-teal-bg);border-radius:var(--flip-radius-md)}.role-entry-admin .role-entry-icon,.role-modal-admin .role-entry-icon{color:#2679a8;background:#eaf5fc}.role-entry-text b{font-weight:800}.role-entry-arrow{color:var(--flip-teal-dark)}.login-demo-label{border-color:#e6cf78;color:#715300;background:#fff5ce}.role-login-modal .ant-modal-content{border-color:var(--flip-border);border-radius:var(--flip-radius-xl);background:var(--flip-cream);box-shadow:var(--flip-shadow-md)}.role-modal-title b{color:var(--flip-teal-dark)}.role-modal-icon{color:var(--flip-teal-dark);background:var(--flip-teal-bg)}.role-login-form .ant-input-affix-wrapper,.role-login-form .ant-input{border-color:var(--flip-border);background:#fff}.role-login-form .ant-input-affix-wrapper-focused{border-color:var(--flip-teal);box-shadow:var(--flip-shadow-focus)}.role-login-modal .ant-alert-warning{border-color:#f5c2b4;background:#fff0eb}.role-entry-card{animation-timing-function:cubic-bezier(.2,.8,.2,1)}.dashboard-card .ant-card-head-title,.section-heading h4.ant-typography{font-weight:800}.section-heading{padding-bottom:8px;border-bottom:2px dashed rgba(43,168,162,.34)}.icon-badge{width:34px;height:34px;display:inline-grid;place-items:center;flex:none;border-radius:10px;font-size:16px}.icon-badge-teal{color:#126f6b;background:#75e4dc}.icon-badge-gold{color:#765800;background:#ffe27a}.icon-badge-coral{color:#a83d28;background:#ffb29e}.icon-badge-sky{color:#24658a;background:#b9e6ff}.card-title,.metric-title{display:inline-flex;min-width:0;align-items:center;gap:10px}.card-title>span:last-child{min-width:0}.dashboard-card .ant-card-head{min-height:58px;padding-inline:17px;background:#fff}.dashboard-card .ant-card-head-title{padding-block:10px}.dashboard-card .ant-card-body{background:#f2faf8}.dashboard-card .ant-card-extra{align-self:center}.parent-dashboard-grid .dashboard-card{overflow:hidden;border-inline-start-width:4px}.metric-card .ant-statistic-title{margin-bottom:10px}.metric-title{color:#215b59;font-size:13px;font-weight:700}.metric-title .icon-badge{width:36px;height:36px;font-size:17px}.metric-title{width:100%;justify-content:space-between;gap:6px}.metric-title-main{min-width:0;display:inline-flex;align-items:center;gap:8px}.metric-title-main>span:last-child{min-width:0}.metric-change{min-height:24px;flex:none;display:inline-flex;align-items:center;gap:3px;padding:2px 7px;border:1px solid transparent;border-radius:999px;font-size:11px;font-weight:800;line-height:16px;white-space:nowrap;cursor:help}.metric-change-good{border-color:#c8ead7;color:#23744a;background:#edf9f1}.metric-change-bad{border-color:#f3c9be;color:#a9432d;background:#fff0eb}.metric-change-neutral{border-color:#cfe3f1;color:#356f92;background:#eff7fc}.parent-tile-content{min-width:0;flex:1}.parent-tile-top{min-width:0;display:flex;align-items:center;justify-content:space-between;gap:6px}.parent-tile-top>small{min-width:0}.parent-overview-strip .parent-tile-top .metric-change{padding-inline:6px;font-size:10px}.student-search-autocomplete{display:block;width:100%}.student-search-autocomplete .ant-select-selector{border-radius:999px!important;background:#e5ece9!important}.student-search-hint{display:block;margin-top:7px;font-size:12px}.student-suggestion{min-width:0;display:flex;flex-direction:column;gap:2px;padding:2px 0}.student-suggestion b{color:#215b59;font-size:14px}.student-suggestion small{overflow:hidden;color:#6e817d;font-size:12px;text-overflow:ellipsis;white-space:nowrap}.avatar-picker-modal .ant-modal-content{overflow:hidden;border:1px solid var(--flip-border);border-radius:var(--flip-radius-xl);background:var(--flip-cream)}.avatar-picker-modal .ant-modal-body>.ant-alert{margin-top:16px}.avatar-picker-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:16px 0}.avatar-choice{position:relative;min-height:104px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:6px;border:1px solid var(--flip-border);border-radius:12px;color:var(--flip-ink);background:#fff;cursor:pointer;transition:border-color .18s ease,background-color .18s ease,transform .18s ease}.avatar-choice:hover{transform:translateY(-2px);border-color:var(--flip-teal)}.avatar-choice.is-selected{border:2px solid var(--flip-teal);background:var(--flip-teal-bg)}.avatar-choice .ant-avatar{overflow:hidden;padding:0}.avatar-choice .profile-portrait{display:block;width:100%;height:100%}.avatar-choice-check{position:absolute;top:7px;right:8px;color:var(--flip-teal-dark)}.app-shell-ops .staff-metrics{gap:12px}.app-shell-ops .staff-metrics .metric-card{min-height:142px;overflow:hidden;border:0!important;border-inline-start:4px solid var(--flip-gold)!important;border-radius:16px;background:#fff;box-shadow:var(--flip-shadow-card);transition:transform .18s ease,box-shadow .18s ease}.app-shell-ops .staff-metrics .metric-card-coral{border-inline-start-color:var(--flip-coral)!important}.app-shell-ops .staff-metrics .metric-card-teal{border-inline-start-color:var(--flip-teal-light)!important}.app-shell-ops .staff-metrics .metric-card-sky{border-inline-start-color:var(--flip-sky)!important}.app-shell-ops .staff-metrics .metric-card:hover{transform:translateY(-3px);box-shadow:var(--flip-shadow-md)}.app-shell-ops .staff-metrics .metric-card .ant-card-body{display:flex;min-height:142px;flex-direction:column;align-items:flex-start;justify-content:space-between;padding:13px 15px}.app-shell-ops .staff-metrics .metric-card .ant-statistic{width:100%}.app-shell-ops .staff-metrics .metric-card .ant-statistic-title{color:#215b59}.app-shell-ops .staff-metrics .metric-card .ant-statistic-content{color:#174d4a;font-size:26px;font-weight:800}.app-shell-ops .staff-metrics .metric-card .ant-tag{margin:0;padding-inline:9px;border:0;border-radius:999px;font-size:11px;line-height:22px}.app-shell-ops .section-hub-item{border:1px solid var(--flip-border);border-radius:16px;background:#fff;box-shadow:var(--flip-shadow-sm)}.app-shell-ops .section-hub-item:hover,.app-shell-ops .section-hub-item:focus-visible{border-color:var(--flip-teal-light);background:#fff;box-shadow:var(--flip-shadow-md)}.app-shell-ops .section-hub-icon{width:42px;height:42px;border-radius:12px;font-size:18px}.app-shell-ops .section-hub-item:nth-child(4n+1) .section-hub-icon{color:#126f6b;background:#75e4dc}.app-shell-ops .section-hub-item:nth-child(4n+2) .section-hub-icon{color:#a83d28;background:#ffb29e}.app-shell-ops .section-hub-item:nth-child(4n+3) .section-hub-icon{color:#765800;background:#ffe27a}.app-shell-ops .section-hub-item:nth-child(4n+4) .section-hub-icon{color:#24658a;background:#b9e6ff}.app-shell-ops .operations-panel{padding:18px;border:0;border-radius:16px;background:#e6f5f2;box-shadow:none}.app-shell-ops .occupancy-summary,.app-shell-ops .arrival-chart{border:1px solid #d6eeea;background:#fff;box-shadow:var(--flip-shadow-sm)}.app-shell-ops .workbench-followups{border-color:#d6eeea;background:#fff}.role-entry-icon{box-shadow:0 3px 10px #1e8c861f}.role-entry-staff .role-entry-icon,.role-modal-staff .role-entry-icon{color:#a83d28;background:#ffb29e}.role-entry-admin .role-entry-icon,.role-modal-admin .role-entry-icon{color:#24658a;background:#b9e6ff}.parent-tile-icon{box-shadow:0 3px 10px #1e8c861a}.section-heading h4 .card-title{vertical-align:middle}.form-card,.content-section{overflow:hidden}.entry-drawer .list-form-section{padding:12px 14px 2px;border-radius:12px;background:#f2faf8}.entry-drawer .list-form-section>.ant-divider{color:#1e8c86}.login-story-panel{color:var(--flip-ink);background:#edf8f6}.login-brand span{color:#56716b}.login-story-foot{color:#6d817b}.login-reading-scene{overflow:hidden;margin:0 0 3px;border:1px solid rgba(30,140,134,.16);border-radius:18px;background:#ffffffb8;box-shadow:0 8px 24px #1e645a14}.reading-scene-note{display:flex;align-items:center;gap:11px;padding:13px 16px 7px;color:#715300}.reading-scene-note>span{min-width:0;flex:1}.reading-scene-note b,.reading-scene-note small{display:block}.reading-scene-note b{color:#174d4a;font-size:13px}.reading-scene-note small{margin-top:2px;color:#70847d;font-size:11px}.reading-scene-art{height:190px;position:relative;overflow:hidden}.scene-sun{position:absolute;top:17px;right:19%;width:54px;aspect-ratio:1;border-radius:50%;background:#ffe27a}.scene-spark{position:absolute;color:#ef6c4a;font-size:17px}.scene-spark-one{top:39px;left:18%}.scene-spark-two{top:76px;right:12%;color:#1e8c86}.scene-child{position:absolute;z-index:2;top:38px;width:90px;height:90px;overflow:hidden;border:4px solid #fff;border-radius:50%;box-shadow:0 5px 14px #1e464126}.scene-child .profile-portrait{display:block;width:100%;height:100%}.scene-child-left{left:23%;transform:rotate(-7deg)}.scene-child-right{right:23%;transform:rotate(7deg)}.scene-book{position:absolute;z-index:3;left:50%;bottom:14px;width:178px;height:49px;transform:translate(-50%) rotate(-2deg)}.scene-book i{position:absolute;bottom:0;width:50%;height:42px;border:2px solid #e5b93a;background:#fff8e7}.scene-book i:first-child{left:0;border-radius:10px 3px 3px 8px;transform:skewY(5deg)}.scene-book i:nth-child(2){right:0;border-radius:3px 10px 8px 3px;transform:skewY(-5deg)}.scene-book b{position:absolute;left:50%;bottom:0;width:2px;height:43px;background:#e5b93a}.scene-ground{position:absolute;bottom:4px;left:8%;right:8%;height:12px;border-radius:50%;background:#bdebe6}.reading-scene-footer{display:flex;gap:7px;padding:0 14px 13px}.reading-scene-footer span{padding:4px 9px;border-radius:999px;color:#126f6b;background:#e8f6f5;font-size:10px}.student-portrait .profile-portrait,.followup-avatar .profile-portrait{display:block;width:100%;height:100%}.student-portrait{overflow:hidden;padding:0}.student-name-cell{display:inline-flex;align-items:center;gap:9px}.followup-avatar{overflow:hidden;display:grid;place-items:center;flex:none;width:42px;height:42px;border:2px solid white;border-radius:50%;background:#e8f6f5}@media(max-width:767px){.login-story-panel{min-height:228px}.login-story-copy{padding:15px 0 10px}.login-reading-scene{display:none}.role-entry-card{min-height:160px;grid-template-rows:94px auto}.role-entry-portrait{width:88px;height:88px}}.dashboard-card,.content-section,.form-card,.plain-card,.app-shell-ops .staff-metrics .metric-card,.app-shell-ops .section-hub-item,.app-shell-ops .operations-panel,.app-shell-ops .occupancy-summary,.app-shell-ops .arrival-chart,.app-shell-ops .workbench-followups,.role-entry-card{border-radius:12px}.dashboard-card,.app-shell-ops .dashboard-card,.app-shell:not(.app-shell-ops) .dashboard-card{border-inline-start-width:3px}.parent-dashboard-grid .dashboard-card{border-inline-start-width:3px}.icon-badge,.section-hub-icon,.parent-tile-icon,.role-entry-icon,.role-modal-icon,.story-board-mark,.formula-index,.followup-avatar{border-radius:50%}.icon-badge{width:36px;height:36px}.icon-badge-teal{color:#126f6b;background:#b8eee9}.icon-badge-gold{color:#765800;background:#ffe78a}.icon-badge-coral{color:#a83d28;background:#ffd0c3}.icon-badge-sky{color:#24658a;background:#c7e9fb}.metric-title .icon-badge{width:36px;height:36px}.app-shell-ops .section-hub-icon,.app-shell:not(.app-shell-ops) .parent-tile-icon,.role-entry-icon{box-shadow:none}.app-shell-ops .section-hub-icon{border-radius:50%}.app-shell-ops .staff-metrics .metric-card{border-inline-start-width:3px!important}.app-shell-ops .section-hub-icon{width:42px;height:42px}.role-entry-icon{width:44px;height:44px}.app-shell-ops .arrival-bars{align-items:stretch;gap:12px;padding:8px 10px 0}.app-shell-ops .arrival-bars>i{position:relative;display:flex;width:min(9%,30px);min-height:0;height:100%;align-items:flex-end;overflow:hidden;border-radius:999px;background:#e1f3f1;animation:none}.app-shell-ops .arrival-bars>i:nth-child(3n+1),.app-shell-ops .arrival-bars>i:nth-child(3n+2),.app-shell-ops .arrival-bars>i:nth-child(3n){border-radius:999px;background:#e1f3f1}.app-shell-ops .arrival-bars>i>span{display:block;width:100%;min-height:8px;border-radius:999px;background:var(--flip-teal);transform-origin:center bottom;animation:bar-enter .42s cubic-bezier(.2,.7,.3,1) both}.app-shell-ops .arrival-bars>i:nth-child(3n+1)>span{background:var(--flip-coral)}.app-shell-ops .arrival-bars>i:nth-child(3n+2)>span{background:var(--flip-teal)}.app-shell-ops .arrival-bars>i:nth-child(3n)>span{background:var(--flip-gold)}.app-shell-ops .ant-btn-primary,.app-shell:not(.app-shell-ops) .ant-btn-primary,.role-login-modal .ant-btn-primary{background:linear-gradient(180deg,#ffe16a 0%,var(--flip-gold) 58%,#f6c82c 100%);box-shadow:inset 0 1px #ffffffbf,0 4px #e3b820,0 6px 14px #af84092b}.app-shell-ops .ant-btn-primary:not(:disabled):active,.app-shell:not(.app-shell-ops) .ant-btn-primary:not(:disabled):active,.role-login-modal .ant-btn-primary:not(:disabled):active,.app-shell-ops .ant-btn:not(:disabled):active,.app-shell:not(.app-shell-ops) .ant-btn:not(:disabled):active,.role-login-modal .ant-btn:not(:disabled):active{transform:scale(.95)}:root{--motion-fast: .14s;--motion-feedback: .18s;--motion-enter: .26s;--motion-chart: .32s;--motion-ring: .36s;--motion-ease: cubic-bezier(.2, .8, .2, 1)}@keyframes refined-page-enter{0%{opacity:0;transform:translateY(5px)}to{opacity:1;transform:translateY(0)}}@keyframes refined-modal-enter{0%{opacity:0;transform:translateY(8px) scale(.99)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes refined-chart-enter{0%{opacity:.45;transform:scaleY(.18)}to{opacity:1;transform:scaleY(1)}}.role-page,.dashboard-card,.app-shell-ops .staff-metrics .metric-card{animation:refined-page-enter var(--motion-enter) var(--motion-ease) both}.dashboard-grid .dashboard-card:nth-child(2),.staff-metrics .metric-card:nth-child(2){animation-delay:40ms}.dashboard-grid .dashboard-card:nth-child(3),.staff-metrics .metric-card:nth-child(3){animation-delay:80ms}.dashboard-grid .dashboard-card:nth-child(4),.staff-metrics .metric-card:nth-child(4){animation-delay:.12s}.app-shell-ops .section-hub-item{transition:transform var(--motion-feedback) var(--motion-ease),border-color var(--motion-feedback) ease,background-color var(--motion-feedback) ease,box-shadow var(--motion-feedback) ease}.app-shell-ops .section-hub-item:hover,.app-shell-ops .section-hub-item:focus-visible{transform:translateY(-2px)}.role-entry-card{animation:refined-page-enter var(--motion-enter) var(--motion-ease) both;transition:transform var(--motion-feedback) var(--motion-ease),border-color var(--motion-feedback) ease,background-color var(--motion-feedback) ease,box-shadow var(--motion-feedback) ease}.role-entry-card:nth-child(2){animation-delay:45ms}.role-entry-card:nth-child(3){animation-delay:90ms}.role-entry-card:hover,.role-entry-card:focus-visible{transform:translateY(-1px)}.role-login-modal .ant-modal-content,.parent-detail-modal .ant-modal-content,.role-login-modal .ant-modal-container,.parent-detail-modal .ant-modal-container{animation:refined-modal-enter var(--motion-enter) var(--motion-ease) both}.animated-form{animation:refined-page-enter .22s var(--motion-ease) both}.entry-drawer .ant-form-item-has-error{animation:invalid-shake .32s ease-in-out}.occupancy-ring{animation-duration:var(--motion-ring);animation-timing-function:var(--motion-ease)}.app-shell-ops .arrival-bars>i>span{animation:refined-chart-enter var(--motion-chart) var(--motion-ease) both}.app-shell-ops .arrival-bars>i:nth-child(1)>span{animation-delay:0ms}.app-shell-ops .arrival-bars>i:nth-child(2)>span{animation-delay:35ms}.app-shell-ops .arrival-bars>i:nth-child(3)>span{animation-delay:70ms}.app-shell-ops .arrival-bars>i:nth-child(4)>span{animation-delay:105ms}.app-shell-ops .arrival-bars>i:nth-child(5)>span{animation-delay:.14s}.app-shell-ops .arrival-bars>i:nth-child(6)>span{animation-delay:175ms}.app-shell-ops .arrival-bars>i:nth-child(7)>span{animation-delay:.21s}.app-shell-ops .ant-btn,.app-shell:not(.app-shell-ops) .ant-btn,.role-login-modal .ant-btn{transition:transform var(--motion-fast) var(--motion-ease),box-shadow var(--motion-feedback) ease,color var(--motion-fast) ease,background-color var(--motion-feedback) ease,border-color var(--motion-feedback) ease}.app-shell-ops .ant-btn:not(:disabled):active,.app-shell:not(.app-shell-ops) .ant-btn:not(:disabled):active,.role-login-modal .ant-btn:not(:disabled):active{transform:scale(.96)}.app-shell-ops .ant-btn-primary:not(:disabled):active,.app-shell:not(.app-shell-ops) .ant-btn-primary:not(:disabled):active{animation:none;box-shadow:inset 0 2px 3px #7e5b0024}@media(prefers-reduced-motion:reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}@media(max-width:575px){.role-entry-shell{border-radius:var(--flip-radius-lg)}.role-entry-card{min-height:72px}.app-shell:not(.app-shell-ops) .parent-overview-strip>button{min-height:80px}.dashboard-card .ant-card-head{padding-inline:12px}.dashboard-card .ant-card-body{background:#f2faf8}.metric-title{gap:8px}.app-shell-ops .staff-metrics{gap:8px}.app-shell-ops .staff-metrics .metric-card,.app-shell-ops .staff-metrics .metric-card .ant-card-body{min-height:134px}.app-shell-ops .staff-metrics .metric-card .ant-card-body{padding:10px 9px}.app-shell-ops .staff-metrics .metric-card .ant-statistic-content{font-size:22px}.app-shell-ops .section-hub-icon{width:38px;height:38px}.entry-drawer .list-form-section{padding:10px 10px 1px}.metric-title{align-items:flex-start}.metric-title .icon-badge{width:32px;height:32px}.metric-change{min-height:21px;padding-inline:5px;font-size:10px}.parent-overview-strip .parent-tile-top{align-items:flex-start}.parent-overview-strip .parent-tile-top .metric-change{font-size:9px}.avatar-picker-modal{max-width:calc(100vw - 24px)}.avatar-picker-grid{gap:7px}.avatar-choice{min-height:96px}}.app-shell .ant-form .ant-input,.app-shell .ant-form .ant-input-affix-wrapper,.app-shell .ant-form .ant-select,.app-shell .ant-form .ant-select-selector,.app-shell .ant-form .ant-input-number,.app-shell .ant-form .ant-picker,.entry-drawer .ant-input,.entry-drawer .ant-input-affix-wrapper,.entry-drawer .ant-select,.entry-drawer .ant-select-selector,.entry-drawer .ant-input-number,.entry-drawer .ant-picker,.product-editor-modal .ant-input,.product-editor-modal .ant-input-affix-wrapper,.product-editor-modal .ant-select,.product-editor-modal .ant-select-selector,.product-editor-modal .ant-input-number,.product-editor-modal .ant-picker,.role-login-form .ant-input,.role-login-form .ant-input-affix-wrapper{border:1px solid var(--flip-border);border-radius:var(--flip-radius-md)!important;background-color:var(--flip-cream)!important}.app-shell .ant-form .ant-input::placeholder,.entry-drawer .ant-input::placeholder,.product-editor-modal .ant-input::placeholder,.role-login-form .ant-input::placeholder{color:#81918d;opacity:1}.app-shell .ant-input-search .ant-input-affix-wrapper,.app-shell .ant-input-search .ant-input-search-btn,.app-shell .ant-input-search .ant-input-group-addon,.app-shell .ant-input-search .ant-btn{border-color:#d7e2de!important;border-radius:999px!important;color:#607773!important;background-color:#e5ece9!important;box-shadow:none!important}.app-shell .ant-input-search .ant-input-affix-wrapper{border-right-color:transparent!important}.app-shell .ant-input-search .ant-input-search-btn{border-left-color:transparent!important}.app-shell .ant-input-search .ant-input-group-addon{padding-inline:2px;border:0!important;background:transparent!important}.app-shell .ant-input-search .ant-btn{min-width:40px;min-height:40px}.app-shell .ant-input-search .ant-input{border-color:transparent!important;border-radius:999px!important;color:var(--flip-ink)!important;background-color:transparent!important}.app-shell .ant-input-search .ant-input-search-btn:hover{color:var(--flip-teal-dark)!important;background-color:#dbe6e2!important}.app-shell .ant-input-search .ant-input-affix-wrapper-focused,.app-shell .ant-input-search .ant-input-affix-wrapper:focus-within{border-color:var(--flip-teal)!important;background-color:#e5ece9!important;box-shadow:var(--flip-shadow-focus)!important}.app-shell-ops .dashboard-search{border-color:transparent!important;border-radius:0!important;background:transparent!important}.app-shell-ops .dashboard-search .ant-input-search .ant-input-affix-wrapper{border-radius:999px!important;background-color:#e5ece9!important}.parent-date-toolbar .ant-picker,.parent-date-toolbar .ant-picker .ant-picker-input>input{border-radius:var(--flip-radius-md)!important;background-color:var(--flip-cream)!important}.app-shell .ant-form .ant-input:focus,.app-shell .ant-form .ant-input-affix-wrapper-focused,.app-shell .ant-form .ant-select-focused,.app-shell .ant-form .ant-input-number-focused,.app-shell .ant-form .ant-picker-focused,.entry-drawer .ant-input:focus,.entry-drawer .ant-input-affix-wrapper-focused,.entry-drawer .ant-select-focused,.entry-drawer .ant-input-number-focused,.entry-drawer .ant-picker-focused,.product-editor-modal .ant-input:focus,.product-editor-modal .ant-input-affix-wrapper-focused,.product-editor-modal .ant-select-focused,.product-editor-modal .ant-input-number-focused,.product-editor-modal .ant-picker-focused,.role-login-form .ant-input:focus,.role-login-form .ant-input-affix-wrapper-focused{border-color:var(--flip-teal)!important;box-shadow:var(--flip-shadow-focus)!important}.entry-drawer .ant-radio-button-wrapper,.product-editor-modal .ant-radio-button-wrapper{border-color:var(--flip-border);border-radius:0;color:var(--flip-ink);background-color:var(--flip-cream)}.entry-drawer .ant-radio-button-wrapper:first-child,.product-editor-modal .ant-radio-button-wrapper:first-child{border-radius:8px 0 0 8px}.entry-drawer .ant-radio-button-wrapper:last-child,.product-editor-modal .ant-radio-button-wrapper:last-child{border-radius:0 8px 8px 0}.entry-drawer .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled),.product-editor-modal .ant-radio-button-wrapper-checked:not(.ant-radio-button-wrapper-disabled){border-color:var(--flip-teal)!important;color:#fff!important;background-color:var(--flip-teal)!important}.entry-drawer .ant-alert,.product-editor-modal .ant-alert,.role-login-modal .ant-alert,.app-shell .ant-alert{border-radius:10px}.entry-drawer .ant-btn-primary:not(.ant-btn-dangerous),.product-editor-modal .ant-btn-primary:not(.ant-btn-dangerous),.role-login-modal .ant-btn-primary:not(.ant-btn-dangerous),.app-shell .ant-btn-primary:not(.ant-btn-dangerous),.ant-modal-root .ant-btn-primary:not(.ant-btn-dangerous),.ant-popover .ant-btn-primary:not(.ant-btn-dangerous){border-color:var(--flip-gold-dark)!important;color:#55430b!important;background:linear-gradient(180deg,#ffe16a 0%,var(--flip-gold) 58%,#f6c82c 100%)!important;box-shadow:inset 0 1px #ffffffbf,0 3px #e3b820,0 5px 12px #af840929!important;font-weight:800}.entry-drawer .ant-btn,.product-editor-modal .ant-btn,.role-login-modal .ant-btn,.app-shell .ant-btn,.ant-modal-root .ant-btn,.ant-popover .ant-btn{border-radius:999px!important}.entry-drawer .ant-btn-primary:not(.ant-btn-dangerous):hover,.product-editor-modal .ant-btn-primary:not(.ant-btn-dangerous):hover,.role-login-modal .ant-btn-primary:not(.ant-btn-dangerous):hover,.app-shell .ant-btn-primary:not(.ant-btn-dangerous):hover,.ant-modal-root .ant-btn-primary:not(.ant-btn-dangerous):hover,.ant-popover .ant-btn-primary:not(.ant-btn-dangerous):hover{border-color:var(--flip-gold-dark)!important;color:#55430b!important;background:var(--flip-gold-light)!important}.ant-modal-root .ant-btn-primary:not(.ant-btn-dangerous):active,.ant-popover .ant-btn-primary:not(.ant-btn-dangerous):active{box-shadow:inset 0 2px 3px #7e5b0024!important}.avatar-picker-grid{grid-template-columns:1fr;gap:18px}.avatar-choice-heading{display:block;margin-bottom:10px;font-weight:600}.avatar-choice-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.role-entry-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.role-entry-card{min-height:166px;grid-template-columns:1fr;grid-template-rows:82px auto;justify-items:center;align-content:center;gap:10px;padding:18px 12px 15px;border:0;border-radius:0;background:transparent;box-shadow:none;text-align:center}.role-entry-card:hover,.role-entry-card:focus-visible{background:transparent;box-shadow:none;transform:translateY(-3px)!important}.role-entry-card:focus-visible{outline:2px solid var(--flip-teal);outline-offset:3px;border-radius:12px}.role-entry-portrait,.role-modal-portrait{width:76px;height:76px;display:grid;place-items:center;overflow:hidden;border:3px solid #fff;border-radius:50%;background:var(--flip-cream);box-shadow:0 4px 12px #275b4f21;transition:transform .24s cubic-bezier(.2,.8,.2,1),box-shadow .24s ease}.role-entry-card:hover .role-entry-portrait,.role-entry-card:focus-visible .role-entry-portrait{transform:scale(1.12);box-shadow:0 8px 18px #275b4f33}.role-entry-portrait .profile-portrait,.role-modal-portrait .profile-portrait{display:block;width:100%;height:100%}.role-entry-text b{font-size:15px}.role-entry-text b i{font:inherit}.role-entry-text small,.role-entry-arrow{display:none}.role-entry-staff .role-entry-portrait{background:#e4f5f1}.role-entry-admin .role-entry-portrait{background:#fff3bd}.role-modal-title{align-items:center}.role-modal-portrait{width:58px;height:58px;flex:none;border-width:2px;animation:role-avatar-flight .42s cubic-bezier(.2,.8,.2,1) both}@keyframes role-avatar-flight{0%{opacity:.72;transform:translate(var(--avatar-flight-x, 0),var(--avatar-flight-y, 18px)) scale(var(--avatar-flight-scale, 1.25))}to{opacity:1;transform:translate(0) scale(1)}}.role-login-modal .ant-modal-content{animation:role-modal-avatar-enter .38s cubic-bezier(.2,.8,.2,1) both;transform-origin:50% 42%}@keyframes role-modal-avatar-enter{0%{opacity:0;transform:translateY(16px) scale(.94)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:767px){.role-entry-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.role-entry-card{min-height:136px;grid-template-rows:68px auto;gap:7px;padding:12px 5px 10px}.role-entry-portrait{width:64px;height:64px}.role-entry-text small{max-width:100px;font-size:10px;line-height:15px}}@media(max-width:380px){.role-entry-grid{gap:5px}.role-entry-card{min-height:126px}.role-entry-portrait{width:58px;height:58px}.role-entry-text b{font-size:14px}.role-entry-text small{font-size:9px}}@media(prefers-reduced-motion:reduce){.role-entry-portrait,.role-modal-portrait,.role-login-modal .ant-modal-content{transition:none;animation:none}}.role-entry-portrait{width:132px;height:132px}.role-entry-card{min-height:218px;grid-template-rows:140px auto}.login-story-panel{background:#edf8f6;color:var(--flip-ink)}.login-story-copy h1.ant-typography{color:#174d4a}.login-story-copy>.ant-typography:last-child{color:#526d67}.login-story-kicker{color:#1e8c86}.login-brand span,.login-story-foot{color:#627a74}@media(max-width:767px){.role-entry-card{min-height:160px;grid-template-rows:94px auto}.role-entry-portrait{width:88px;height:88px}}@media(max-width:380px){.role-entry-card{min-height:148px;grid-template-rows:82px auto}.role-entry-portrait{width:78px;height:78px}}.ledger-summary{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin:20px 0}.ledger-summary .ant-statistic-content{font-size:22px;overflow-wrap:anywhere}.ledger-filters{display:flex;gap:12px;flex-wrap:wrap;margin-bottom:20px}.ledger-filters .ant-input-search{flex:1;min-width:200px}.ledger-filters .ant-select{min-width:130px}.ledger-desktop{margin-top:20px}.ledger-mobile{display:none}.ledger-id{display:block;font-size:11px;font-weight:400}.rule-examples{margin:12px 0}.rule-toolbar{flex-wrap:wrap;gap:12px;margin:24px 0 16px}.rule-toolbar .ant-input-search{max-width:340px}.rule-diff{display:flex;flex-wrap:wrap;gap:12px;margin:16px 0;padding:12px;background:#e8f6f5;border-radius:12px}.rule-reason{display:block;margin:16px 0}.rule-reason textarea{margin-top:8px}.rule-modal .ant-modal-mask{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.rule-modal .ant-modal-body,.admin-ledgers{overflow-wrap:anywhere;min-width:0}@media(max-width:991px){.ledger-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:767px){.ledger-desktop{display:none}.ledger-mobile{display:grid;gap:12px;margin-top:16px}.ledger-mobile .ant-btn-link{height:auto;white-space:normal;text-align:left}.ledger-filters>*{width:100%}.ledger-summary{gap:8px}.ledger-summary .ant-card-body{padding:12px}.ledger-summary .ant-statistic-content{font-size:18px}.rule-modal .ant-modal-footer .ant-space{display:flex;justify-content:flex-end}.rule-toolbar .ant-input-search{max-width:none}}.report-export-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;margin:20px 0}.report-export-grid label{display:flex;flex-direction:column;gap:8px;min-width:0}.export-field-options{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:16px 0 24px}.export-confirm{margin:20px 0}.student-ledger-list{display:grid;gap:16px}.transaction-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;flex-wrap:wrap}.transaction-heading strong{font-size:20px;font-variant-numeric:tabular-nums}.record-trace-details{margin-top:12px;font-size:12px;overflow-wrap:anywhere}.record-trace-details summary{cursor:pointer;min-height:44px;display:flex;align-items:center}.ledger-source-link{color:#1e8c86;border:0;background:transparent;padding:12px 0;cursor:pointer;font:inherit}.account-detail-toolbar{margin:16px 0}@media(max-width:767px){.report-export-grid,.export-field-options{grid-template-columns:1fr}.report-export-grid .ant-picker-range{width:100%}.student-ledger-list .ant-card-body{padding:16px}}.report-export-modal .ant-modal-body{max-height:min(70dvh,720px);overflow-y:auto;overscroll-behavior:contain}.attendance-auto-summary{margin:16px 0;padding:12px 16px;border-radius:12px;background:#e8f6f5;overflow-wrap:anywhere}@media(max-width:575px){.admin-ledgers>.section-heading{flex-direction:column;align-items:stretch;gap:12px}.admin-ledgers>.section-heading .ant-btn{align-self:flex-start}.admin-ledgers>.section-heading h2{margin-bottom:0;font-size:24px}}.parent-mobile-details{display:none}@media(max-width:575px){.parent-mobile-details{display:grid;gap:12px}.parent-desktop-details{display:none}.ant-picker-dropdown:has(.ant-picker-range-wrapper){position:fixed!important;left:8px!important;right:8px!important;top:16vh!important;transform:none!important;max-width:calc(100vw - 16px)}.ant-picker-dropdown .ant-picker-range-wrapper{min-width:0!important;max-width:100%}.ant-picker-dropdown .ant-picker-range-wrapper .ant-picker-panel-container{max-height:70vh;overflow:auto;max-width:100%}.ant-picker-dropdown .ant-picker-panels{flex-direction:column!important}.ant-picker-dropdown .ant-picker-panel{width:100%;min-width:0!important}.ant-picker-dropdown .ant-picker-date-panel{width:100%}}.student-filter-panel{margin:16px 0}.student-filter-panel .ant-typography{margin:12px 0 8px}.student-filter-panel .ant-tag{margin-bottom:8px;max-width:100%;white-space:normal}.student-filter-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px}.student-filter-grid .ant-input-number{width:100%}.student-filter-drawer .ant-picker{max-width:100%}.sync-status{color:#4f6a68;font-size:12px;padding:6px 0}@media(max-width:575px){.student-filter-grid{grid-template-columns:1fr}.student-filter-panel .ant-btn{min-height:44px}.student-filter-drawer .ant-drawer-body{padding:16px}}.student-search-cards{display:none}@media(max-width:575px){.student-search-table{display:none}.student-search-cards{display:grid;gap:12px}.student-search-card-heading{display:flex;align-items:center;justify-content:space-between;gap:8px}.student-search-cards p{margin:8px 0;overflow-wrap:anywhere}.student-search-cards .ledger-id{display:block;margin:8px 0;overflow-wrap:anywhere}.student-search-cards .ant-btn{min-height:44px}}.operations-workspace{min-width:0}.operations-workspace .ant-card{margin-block:12px;overflow-wrap:anywhere}.operations-workspace .ant-tabs-content-holder{min-width:0}.operations-workspace .ant-space{max-width:100%}.operations-workspace .ant-card-body>.ant-typography{overflow-wrap:anywhere}.reservation-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}.care-reservations details p{overflow-wrap:anywhere}.care-reservations .ant-input-search{max-width:100%}@media(max-width:767px){.reservation-grid{grid-template-columns:minmax(0,1fr)}.care-reservations .section-heading{flex-wrap:wrap;gap:12px}}.temporary-care .ant-card-body{overflow-wrap:anywhere}.export-center .ant-checkbox-group{display:grid;grid-template-columns:repeat(auto-fit,minmax(170px,1fr));gap:12px;width:100%}.export-center .ant-checkbox-wrapper{align-items:flex-start;margin-inline-start:0;min-height:32px}@media(max-width:480px){.export-center .ant-checkbox-group{grid-template-columns:1fr;gap:8px}.temporary-care .section-heading{flex-direction:column;align-items:flex-start}}.online-staff{display:flex;align-items:center;gap:8px;flex-shrink:0}.online-staff-label{border:0;background:transparent;color:#376f69;font:inherit;font-size:12px;cursor:pointer;padding:8px 0;min-height:44px;white-space:nowrap}.online-avatar-stack{display:flex;align-items:center;padding:6px 0}.online-avatar{position:relative;flex-shrink:0;display:grid;place-items:center;width:44px;height:44px;padding:0;border:0;border-radius:50%;background:transparent;cursor:pointer;touch-action:manipulation}.online-avatar+.online-avatar{margin-left:-20px}.online-avatar-circle{display:block;width:36px;height:36px;border:2px solid #fff8e7;box-sizing:border-box;border-radius:inherit;overflow:hidden}.online-avatar .profile-portrait{display:block;width:100%;height:100%}.online-avatar:hover,.online-avatar:focus-visible{box-shadow:0 0 0 2px #2ba8a266,0 6px 12px #1e625f26}.online-avatar:focus-visible,.online-staff-label:focus-visible{outline:2px solid #1e625f;outline-offset:3px}.online-avatar-dot{position:absolute;bottom:3px;right:3px;width:9px;height:9px;background:#27ae60;border:2px solid #fff8e7;border-radius:50%}.online-avatar-overflow{z-index:0;font:inherit;font-size:12px;font-weight:700;color:#1e625f}.online-overflow-count{display:grid;place-items:center;width:36px;height:36px;border:2px solid #fff8e7;border-radius:50%;background:#e5f2ec;box-sizing:border-box}.online-staff-panel{width:min(300px,calc(100vw - 48px));color:#1e625f}.online-staff-heading{display:flex;align-items:center;justify-content:space-between;gap:8px;padding-bottom:10px}.online-staff-list{list-style:none;padding:0;margin:0;max-height:min(340px,55dvh);overflow-y:auto;overscroll-behavior:contain}.online-staff-list li{display:flex;gap:10px;align-items:center;padding:10px 0;border-bottom:1px solid #e7eeea}.online-staff-list li>span:nth-child(2){flex:1;min-width:0;overflow-wrap:anywhere}.online-staff-list b,.online-staff-list small{display:block}.online-staff-list small{color:#68827c;margin-top:2px}.online-list-avatar{flex-shrink:0;width:38px;height:38px}.online-staff-note{font-size:11px;color:#68827c;margin:12px 0 0;line-height:1.6}.topbar .breadcrumb{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(max-width:767px){.topbar .top-actions{gap:7px}.online-staff{gap:5px}.online-staff-label{font-size:11px}.online-avatar-circle,.online-overflow-count{width:32px;height:32px}.online-avatar-dot{right:5px;bottom:5px}}@media(max-width:389px){.app-shell-ops .topbar .breadcrumb{display:none}.app-shell-ops .topbar .top-actions{flex:1;justify-content:flex-end}.app-shell-ops .topbar .online-staff{margin-right:auto}}@media(prefers-reduced-motion:reduce){.online-avatar{transition:none}}.migration-demo-flow{display:flex;align-items:center;justify-content:space-between;gap:10px;margin:16px 0 10px;padding:14px;background:#eff8f7;border-radius:6px}.migration-demo-flow>div{display:flex;min-width:0;flex-direction:column;gap:5px}.migration-demo-flow code{overflow-wrap:anywhere;color:#1e6d68;font-size:12px}.migration-demo-flow>span{color:#568b86;font-size:18px}.migration-plan-footer{margin-top:14px}.migration-mobile-rows{display:none}@media(max-width:575px){.migration-demo-flow{align-items:stretch;flex-direction:column}.migration-demo-flow>span{transform:rotate(90deg);align-self:flex-start}.migration-desktop-table{display:none}.migration-mobile-rows{display:block}.migration-mobile-row{padding:10px 2px;border-bottom:1px solid #e6ece9}.migration-mobile-cell{display:grid;grid-template-columns:minmax(92px,34%) minmax(0,1fr);gap:10px;padding:5px 0;line-height:1.5;overflow-wrap:anywhere}.migration-mobile-cell>b{color:#66746f;font-weight:600}}.imported-dashboard-filters{display:grid;grid-template-columns:minmax(250px,1.25fr) minmax(140px,.7fr) minmax(220px,1fr) minmax(250px,1fr) auto;gap:12px;align-items:end}.imported-dashboard-filters label{display:grid;gap:6px;min-width:0;color:#4f655c;font-size:12px;font-weight:700}.imported-dashboard-filters .ant-picker,.imported-dashboard-filters .ant-select,.imported-dashboard-filters .ant-input,.imported-dashboard-filters .ant-space-compact{width:100%}.imported-dashboard-metrics{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.imported-dashboard-trends{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.imported-dashboard-metrics .ant-card{border-top:3px solid #2ba8a2}.imported-dashboard-metrics .ant-card:nth-child(2n){border-top-color:#5dade2}.imported-dashboard-metrics .ant-card:nth-child(3n){border-top-color:#ef6c4a}@media(max-width:1100px){.imported-dashboard-filters{grid-template-columns:repeat(2,minmax(0,1fr))}.imported-dashboard-filters>.ant-btn{width:100%}.imported-dashboard-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.imported-dashboard-trends{grid-template-columns:1fr}}@media(max-width:575px){.imported-dashboard-filters,.imported-dashboard-metrics{grid-template-columns:1fr}.imported-dashboard-filters .ant-space-compact{display:grid;grid-template-columns:1fr 1fr}.imported-dashboard-filters .ant-space-compact .ant-input-number{width:100%}}.design-v2{--workspace-ink: #204e4b;--workspace-muted: #69817c;--workspace-ease: cubic-bezier(.2,.8,.2,1)}.design-v2 .app-shell{background:#f4f8f5}.design-v2 .page-content{max-width:1700px;padding-top:18px}.design-v2 .topbar{background:#ffffffd1;backdrop-filter:blur(18px);-webkit-backdrop-filter:blur(18px)}.design-v2 .demo-banner{margin-bottom:7px;background:transparent;border:0;padding:0;min-height:24px;color:#69817c}.design-v2 .sync-status{margin-bottom:15px}.design-v2 .brand-mark{color:#fff8e7;background:#2ba8a2;box-shadow:0 5px 15px #2ba8a224}.design-v2 .side-menu .ant-menu-item{transition:background .18s,color .18s}.design-v2 .side-menu .ant-menu-item-selected{box-shadow:inset 0 0 0 1px #2ba8a222}.design-v2 .role-caption:after{content:" / 02";color:#a2b5ad;font-size:10px}.design-v2 .role-page{animation-duration:.26s}.design-v2 .login-page{background:radial-gradient(ellipse at 12% 10%,#e0f1e8,transparent 55%),#f5f8f2}.design-v2 .role-entry-shell{box-shadow:0 24px 90px #24514d16}.design-v2 .role-entry-card{transition:transform .26s var(--workspace-ease),box-shadow .26s}.design-v2 .role-entry-card:focus-visible{outline:3px solid #2ba8a2;outline-offset:5px}.design-v2 .top-actions{gap:8px}.workspace-command-trigger.ant-btn{color:#69817c;background:#eef3ef;border:1px solid #dce7e0;gap:9px;box-shadow:none}.workspace-command-trigger kbd{font:11px inherit;background:#fff;border-radius:5px;padding:2px 5px;color:#81938d}.workspace-hero{position:relative;display:flex;justify-content:space-between;align-items:center;min-height:260px;padding:32px 38px;margin-bottom:28px;border:1px solid #e0e9df;border-radius:16px;background:radial-gradient(ellipse at 95% 0%,#e7efe0 0%,transparent 60%),linear-gradient(120deg,#fffdf7,#f4f7ee);overflow:hidden}.workspace-hero-copy{position:relative;z-index:1}.workspace-kicker{display:inline-flex;align-items:center;gap:7px;color:#64877d;font-size:11px;font-weight:700;letter-spacing:1.3px}.workspace-kicker>span{width:5px;height:5px;background:#2ba8a2;border-radius:50%}.workspace-hero h1{margin:15px 0 9px;font-size:28px;line-height:1.45;font-weight:800;color:#204e4b;letter-spacing:-.5px}.hero-title-dot{color:#2ba8a2}.workspace-hero p{margin:0;color:#69817c;font-size:14px;line-height:1.8}.workspace-hero-actions{display:flex;flex-wrap:wrap;gap:8px;margin:21px 0 15px}.workspace-hero-actions .ant-btn{font-weight:600}.workspace-hero-meta{color:#7a8c83;font-size:12px}.workspace-still-life{position:relative;flex:0 0 285px;height:210px;margin:-10px 12px -10px 10px}.still-orbit{position:absolute;width:235px;height:235px;border:1px solid #cddecf;border-radius:50%;top:-12px;left:32px}.still-orbit:after{content:"";position:absolute;inset:25px;border:1px dashed #d6e1d1;border-radius:50%}.still-calendar{position:absolute;left:24px;top:18px;width:164px;height:164px;text-align:center;transform:rotate(-8deg);background:#fffefa;border-radius:10px;box-shadow:5px 15px 30px #336c5520,inset 0 -5px #e5e6db;border:1px solid #e1e6d8}.still-calendar>div{padding:15px 5px 12px;font-size:10px;font-weight:600;color:#f4fbf2;background:#438d7b;border-radius:9px 9px 0 0}.still-calendar>b{display:block;color:#31594e;font-size:61px;line-height:1.35;font-weight:700;font-variant-numeric:tabular-nums}.still-calendar>span{font-size:10px;letter-spacing:2px;color:#8b9b89}.still-calendar>i{position:absolute;top:-7px;left:30px;height:19px;width:6px;border-radius:4px;background:linear-gradient(90deg,#839b8a,#d1dac9,#839b8a);box-shadow:0 1px 2px #45665144}.still-calendar>i:last-child{left:auto;right:30px}.still-book{position:absolute;top:75px;left:155px;width:94px;height:129px;border-radius:4px 10px 10px 4px;background:linear-gradient(100deg,#dbb953 0 8%,#f4d47c 9%,#ffe6a5);transform:rotate(12deg);box-shadow:3px 12px 18px #987f3230,inset -3px 0 #e7dcb9;border:1px solid #e9cd7b}.still-book>span{display:block;margin:26px 0 0 20px;font-size:14px;line-height:1.8;color:#7c672f;font-weight:600;letter-spacing:1px}.still-book>i{position:absolute;right:19px;top:-1px;height:20px;width:9px;background:#5c9680;clip-path:polygon(0 0,100% 0,100% 100%,50% 76%,0 100%)}.still-note{position:absolute;left:1px;bottom:-1px;transform:rotate(-3deg);padding:10px 14px;border-radius:9px;border:1px solid white;background:#ffffffdf;box-shadow:0 5px 20px #326b4912;font-size:10px;color:#628373;display:flex;align-items:center;gap:7px}.still-note>.anticon{background:#e3f2dc;color:#659850;padding:4px;border-radius:50%}.still-star{position:absolute;top:0;right:10px;font-size:26px;color:#d6b966}.still-dot{position:absolute;top:50px;right:0;width:7px;height:7px;border-radius:50%;background:#9ab7a3}.workspace-library{margin-bottom:30px;color:var(--workspace-ink)}.workspace-library-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-bottom:23px}.workspace-library h2{font-size:18px;line-height:1.5;margin:7px 0 5px;color:#204e4b;font-weight:700}.workspace-library-heading p{font-size:12px;color:#7a8c83;margin:0}.workspace-view-switch{display:flex;flex-shrink:0;padding:4px;background:#e8eee7;border-radius:999px}.workspace-view-switch button{position:relative;background:none;border:0;padding:0 15px;height:44px;border-radius:999px;color:#718578;font:inherit;font-size:12px;cursor:pointer}.workspace-view-switch button[aria-pressed=true]{color:#315d4c;font-weight:700}.workspace-view-switch button>span:first-child:not(:last-child){position:absolute;inset:0;border-radius:999px;background:#fffefa;box-shadow:0 2px 5px #3759440d}.workspace-view-switch button>span:last-child{position:relative}.workspace-folders{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:14px}.folder-teal{--folder: #4faaa0;--folder-light: #d7eee5;--folder-dark: #2e8179;--folder-tint: #edf6f1}.folder-gold{--folder: #e0ba5e;--folder-light: #f6eacd;--folder-dark: #907335;--folder-tint: #fcf7ea}.folder-sky{--folder: #8ab9d5;--folder-light: #deedf4;--folder-dark: #4a7a98;--folder-tint: #edf4f8}.folder-coral{--folder: #da9882;--folder-light: #f2dfd5;--folder-dark: #a56750;--folder-tint: #fbf1eb}.workspace-folder{position:relative;display:flex;flex-direction:column;align-items:center;padding:17px 16px 20px;min-width:0;width:100%;background:#fffefa;border:1px solid #e5eae1;border-radius:16px;cursor:pointer;color:var(--workspace-ink);font:inherit;text-align:left;isolation:isolate;transition:border-color .18s,box-shadow .18s}.workspace-folder:hover,.workspace-folder.is-open{border-color:var(--folder);box-shadow:0 8px 22px #2c6b4b0b}.workspace-folder:focus-visible,.folder-action:focus-visible,.workspace-view-switch button:focus-visible{outline:3px solid #2ba8a2;outline-offset:4px}.folder-index{display:flex;justify-content:space-between;width:100%;color:#899b8c;font-size:9px;font-weight:600;letter-spacing:1.4px}.folder-index>span{font-variant-numeric:tabular-nums;font-weight:500;color:#94a397}.folder-object{position:relative;display:block;width:150px;height:122px;margin:25px 0 18px;perspective:700px}.folder-back{position:absolute;inset:10px 0 0;border-radius:8px 12px 12px;background:linear-gradient(125deg,var(--folder-light),var(--folder));box-shadow:0 10px 18px color-mix(in srgb,var(--folder) 17%,transparent)}.folder-back:before{content:"";position:absolute;top:-9px;width:64px;height:18px;left:0;border-radius:8px 8px 0 0;background:var(--folder-light);border-top:1px solid #ffffff77}.folder-paper{position:absolute;left:12px;right:12px;bottom:12px;height:90px;border:1px solid #e1e5d9;border-radius:7px;background:#fffefb;box-shadow:0 2px 5px #3b554e14;padding:8px;display:flex;align-items:flex-start;gap:5px;transform-origin:bottom center}.folder-paper-0{background:#f3f4e9}.folder-paper-1{background:#fff9ec}.folder-paper-icon{font-size:10px;background:var(--folder-tint);color:var(--folder-dark);border-radius:4px;width:19px;height:19px;display:grid;place-items:center}.folder-paper b{color:#6b7c70;font-size:9px;font-weight:600;padding-top:4px;white-space:nowrap}.paper-lines{position:absolute;left:11px;top:36px;right:17px;display:grid;gap:6px}.paper-lines i{background:#e8ede3;height:3px;border-radius:3px}.paper-lines i:last-child{width:65%}.folder-front{position:absolute;inset:auto 0 0;height:79px;border-radius:7px 7px 12px 12px;border:1px solid #ffffff40;background:linear-gradient(135deg,var(--folder-light),color-mix(in srgb,var(--folder) 80%,white));box-shadow:inset 0 1px #fff9,0 6px 8px #2d5f4310;display:flex;align-items:center;justify-content:center}.folder-front:after{content:"";position:absolute;left:0;right:0;top:2px;height:1px;background:#ffffff35}.folder-emboss{color:var(--folder-dark);opacity:.5;font-size:23px;filter:drop-shadow(0 1px 0 #ffffff88)}.folder-front-line{position:absolute;bottom:11px;width:23px;height:2px;border-radius:2px;background:#fff6}.folder-label{display:flex;gap:6px;align-items:center;font-size:15px;font-weight:700}.folder-open-arrow{display:grid;place-items:center;width:21px;height:21px;border-radius:50%;background:var(--folder-tint);color:var(--folder-dark);font-size:10px;transition:transform .18s}.workspace-folder.is-open .folder-open-arrow{transform:rotate(90deg)}.folder-caption{margin-top:7px;color:#7c8d81;font-size:11px;line-height:1.5}.folder-selection{position:absolute;width:22px;height:3px;bottom:-1px;background:var(--folder);border-radius:3px}.workspace-folder-panel{overflow:hidden}.folder-panel-inner{margin-top:15px;padding:16px;border:1px solid var(--folder-light);background:var(--folder-tint);border-radius:16px}.folder-panel-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px}.folder-panel-heading>span{display:flex;align-items:center;gap:9px;color:var(--folder-dark);font-size:14px}.folder-panel-heading small{color:#7f9085;font-size:12px}.folder-action-grid,.workspace-all-actions{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.folder-action{display:flex;align-items:center;gap:11px;text-align:left;background:#fffefa;border:1px solid #e5eae1;border-radius:12px;padding:14px;min-height:77px;min-width:0;font:inherit;color:#34574a;cursor:pointer;transition:box-shadow .18s,border-color .18s}.folder-action:hover{border-color:#91b6a4;box-shadow:0 3px 12px #446d4a0c}.folder-action-icon{display:grid;place-items:center;width:36px;height:36px;flex-shrink:0;background:var(--folder-tint,#edf4ed);color:var(--folder-dark,#648777);border-radius:10px;font-size:17px}.folder-action>span:nth-child(2){flex:1;min-width:0}.folder-action b{display:block;font-size:13px;line-height:1.6}.folder-action small{display:block;font-size:11px;color:#7e8d83;line-height:1.6;margin-top:2px}.folder-action>.anticon{font-size:11px;color:#95aa99}.workspace-library-foot{display:flex;justify-content:space-between;gap:12px;margin-top:15px;padding:0 2px;color:#899b8c;font-size:11px}.workspace-library-foot .anticon{margin-right:5px}.workspace-command-results{display:grid;gap:4px;max-height:min(48dvh,380px);overflow-y:auto;margin-top:12px}.workspace-command-result{display:flex;align-items:center;width:100%;gap:12px;min-height:48px;padding:8px 13px;background:#fff;color:#34574a;border:1px solid transparent;border-radius:9px;font:inherit;text-align:left;cursor:pointer}.workspace-command-result b{flex:1;font-weight:500}.workspace-command-result.is-selected{background:#edf6f1;border-color:#c8e2d5}.workspace-command-hint{margin-top:15px;font-size:12px;color:#8b9b91}.workspace-command-modal .ant-modal-content{border-radius:16px}.workspace-navigation{display:grid;gap:4px;padding:0 12px 12px}.workspace-navigation>button{position:relative;width:100%;border:0;border-radius:999px;background:transparent;color:#6a8276;font:inherit;cursor:pointer;padding:0 16px;text-align:left;min-height:44px}.workspace-navigation>button:hover{background:#f1f6ee}.workspace-navigation>button[aria-current]{color:#236c62;font-weight:700}.workspace-nav-pill{position:absolute;inset:0;border-radius:999px;background:#e1efe5;border:1px solid #d5e5d7}.workspace-nav-content{position:relative;display:flex;align-items:center;gap:12px;font-size:13px}.workspace-nav-content>.anticon{font-size:16px}.workspace-navigation>button:focus-visible{outline:2px solid #2ba8a2;outline-offset:2px}.workspace-dock{display:none}@media(max-width:1199px){.workspace-hero{padding:28px}.workspace-still-life{flex-basis:225px;transform:scale(.85);transform-origin:right center;margin-left:-25px}.folder-object{width:128px;height:110px}.workspace-folder{padding-inline:12px}.folder-caption{font-size:10px}.folder-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.design-v2 .workspace-command-trigger kbd{display:none}}@media(max-width:991px){.workspace-hero h1{font-size:25px}.workspace-folders{gap:10px}.workspace-folder{padding-inline:10px}.folder-object{width:130px}.workspace-command-trigger.ant-btn{width:44px;padding:0}.workspace-command-trigger.ant-btn>span:not(.anticon){display:none}.workspace-command-trigger.ant-btn>span.ant-btn-icon{display:inline-flex}}@media(max-width:767px){.workspace-folders{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.workspace-still-life{flex-basis:165px;margin-left:-50px;transform:scale(.65);margin-right:-14px}.workspace-hero{padding:23px;min-height:235px}.workspace-hero h1{font-size:24px}.workspace-library-heading{align-items:flex-start}.workspace-library h2{font-size:16px}.workspace-library-heading p{font-size:12px}.workspace-view-switch button{padding-inline:10px}.folder-caption{font-size:12px}.folder-object{width:145px;height:116px;margin-top:28px}.workspace-all-actions{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:575px){.design-v2 .page-content{padding:15px 16px 32px}.design-v2 .demo-banner{font-size:11px}.workspace-hero{min-height:256px;padding:23px 19px;margin-bottom:25px;align-items:flex-start}.workspace-hero-copy{width:100%}.workspace-hero h1{font-size:23px;margin-top:14px;max-width:255px}.workspace-hero p{max-width:170px;font-size:14px}.workspace-hero-actions{margin-top:24px;gap:3px}.workspace-hero-actions .ant-btn{font-size:12px;padding-inline:11px}.workspace-hero-actions .ant-btn-text{background:#fff7}.workspace-hero-meta{font-size:10px}.workspace-still-life{position:absolute;right:-3px;top:49px;width:285px;transform:scale(.46);transform-origin:right top;pointer-events:none;opacity:.85}.workspace-library-heading{gap:12px;flex-wrap:wrap;margin-bottom:15px}.workspace-library h2{font-size:17px}.workspace-view-switch{padding:3px}.workspace-view-switch button{font-size:12px;height:44px;padding-inline:16px}.workspace-folder{padding:14px 10px 17px}.folder-object{width:126px;height:111px;margin-top:25px;margin-bottom:17px}.folder-label{font-size:15px}.folder-caption{font-size:11px}.folder-panel-inner{padding:12px}.folder-panel-heading{gap:4px}.folder-panel-heading small{display:none}.folder-panel-heading .ant-btn{font-size:12px;padding-inline:8px}.folder-action-grid,.workspace-all-actions{grid-template-columns:minmax(0,1fr)}.folder-action b{font-size:14px}.folder-action small{font-size:12px}.workspace-library-foot{flex-wrap:wrap;font-size:10px}.design-v2 .role-entry-foot{flex-wrap:wrap;gap:8px}}.design-v2{--workspace-surface: #fffefa;--workspace-line: #dfe8de;--workspace-shadow: 0 7px 24px #315f4d09;--workspace-fast: .14s;--workspace-normal: .18s;--workspace-enter: .26s;color-scheme:light}.design-v2 .workspace-page{animation:none;min-width:0}.design-v2 .page-heading{padding-bottom:20px;border-bottom:1px solid var(--workspace-line);margin-bottom:24px}.design-v2 .eyebrow{color:#527968;letter-spacing:1px;font-weight:700}.design-v2 .section-heading{gap:14px}.design-v2 :is(.dashboard-card,.form-card,.metric-card,.ledger-summary>.ant-card,.ledger-mobile>.ant-card,.student-search-cards>.ant-card){border-color:var(--workspace-line);background:var(--workspace-surface);box-shadow:var(--workspace-shadow)}.design-v2 :is(.metric-card,.parent-overview-strip>button,.ledger-summary>.ant-card){position:relative;overflow:hidden;font-variant-numeric:tabular-nums}.design-v2 :is(.metric-card,.ledger-summary>.ant-card):after{content:"";position:absolute;pointer-events:none;inset:0;border-radius:inherit;box-shadow:inset 0 1px #fffb}.design-v2 :is(.metric-card,.ledger-summary>.ant-card,.reservation-grid>.ant-card,.student-search-cards>.ant-card,.ledger-mobile>.ant-card){animation:workspace-surface-enter var(--workspace-enter) var(--workspace-ease) both}.design-v2 :is(.metric-grid,.ledger-summary,.reservation-grid,.student-search-cards,.ledger-mobile)>:nth-child(2){animation-delay:30ms}.design-v2 :is(.metric-grid,.ledger-summary,.reservation-grid,.student-search-cards,.ledger-mobile)>:nth-child(3){animation-delay:60ms}.design-v2 :is(.metric-grid,.ledger-summary,.reservation-grid,.student-search-cards,.ledger-mobile)>:nth-child(4){animation-delay:90ms}.design-v2 :is(.metric-card,.parent-overview-strip>button,.folder-action,.role-entry-card){transition:transform var(--workspace-normal) var(--workspace-ease),box-shadow var(--workspace-normal),border-color var(--workspace-normal)}.design-v2 .workspace-folder{animation:workspace-surface-enter .26s var(--workspace-ease) both}.design-v2 .workspace-folder:nth-child(2){animation-delay:35ms}.design-v2 .workspace-folder:nth-child(3){animation-delay:70ms}.design-v2 .workspace-folder:nth-child(4){animation-delay:105ms}.design-v2 .folder-object{max-width:100%}.design-v2 .folder-label{max-width:100%;text-align:center}.design-v2 .workspace-command-result{position:relative;isolation:isolate}.design-v2 .workspace-command-result.is-selected{background:transparent;border-color:transparent}.design-v2 .workspace-command-highlight{position:absolute;z-index:-1;inset:0;border-radius:9px;background:#edf6f1;border:1px solid #c8e2d5}.design-v2 .workspace-command-icon{width:28px;display:grid;place-items:center;flex:none;color:#548371}.design-v2 .workspace-command-result:focus-visible{outline:2px solid #2ba8a2;outline-offset:-2px}.design-v2 .workspace-navigation>button:active{background:#e1efe5}.design-v2 :is(.role-page,.ant-drawer-body,.ant-modal-body) .ant-btn{transition:transform var(--workspace-fast) var(--workspace-ease),background var(--workspace-normal),box-shadow var(--workspace-normal)}.design-v2 :is(.role-page,.ant-drawer-body,.ant-modal-body) .ant-btn:not(:disabled):not(.ant-btn-loading):active{transform:scale(.97)}.design-v2 .role-login-form .ant-btn-primary{min-height:48px}.design-v2 .role-login-form .ant-form-item-explain-error{animation:workspace-feedback-enter .18s var(--workspace-ease) both}.design-v2 .ant-alert{border-radius:12px}.design-v2 .ant-form-item-explain-connected{transition:height var(--workspace-normal) var(--workspace-ease)}.design-v2 .ant-tabs-tab{min-height:44px}.design-v2 .ant-tabs-ink-bar{border-radius:3px}.design-v2 .table-wrap{border:1px solid var(--workspace-line);border-radius:14px;background:var(--workspace-surface)}.design-v2 .table-wrap .ant-table{background:transparent}.design-v2 .ant-pagination-item{border-radius:12px;transition:background .18s,border-color .18s}.design-v2 .ant-pagination-item-active{box-shadow:0 2px 7px #2ba8a211}.design-v2 .ant-empty{padding-block:18px}.design-v2 .ant-empty-description{line-height:1.8;color:#69817c}.design-v2 .ledger-filters{padding:14px;border:1px solid var(--workspace-line);border-radius:14px;background:#ffffffa6}.design-v2 .export-center .ant-checkbox-group{gap:8px}.design-v2 .export-center .ant-checkbox-group .ant-checkbox-wrapper{margin:0;min-height:48px;padding:12px;border:1px solid var(--workspace-line);border-radius:10px;background:var(--workspace-surface);align-items:center;transition:background var(--workspace-normal),border-color var(--workspace-normal)}.design-v2 .export-center .ant-checkbox-group .ant-checkbox-wrapper-checked{background:#edf6ed;border-color:#a8cbbb}.design-v2 .workspace-disclosure{border-top:1px dashed #dce6da;margin-top:12px;color:#527565}.design-v2 .workspace-disclosure>button{display:flex;align-items:center;justify-content:space-between;gap:16px;background:none;border:0;color:inherit;font:inherit;width:100%;text-align:left;cursor:pointer;min-height:44px;padding:8px 0}.design-v2 .workspace-disclosure>button>span:last-child{font-size:11px}.design-v2 .workspace-disclosure-body{overflow:hidden}.design-v2 .workspace-disclosure-body>div{padding:0 0 12px;overflow-wrap:anywhere}.design-v2 .workspace-disclosure-body p{margin:5px 0}.design-v2 .workspace-sync{margin-bottom:16px;width:fit-content;max-width:100%;border-radius:14px;border:1px solid #dce8dc;background:#fffefac9;padding:0 12px;color:#567864;font-size:12px}.design-v2 .workspace-sync .workspace-disclosure{margin:0;border:0}.design-v2 .workspace-sync .workspace-disclosure>button{gap:20px;min-height:38px}.design-v2 .workspace-sync .workspace-disclosure>button>span:first-child:before{content:"";display:inline-block;width:6px;height:6px;margin-right:8px;border-radius:50%;background:#2ba8a2}.design-v2 .workspace-sync-error{border-color:#e8b7a6;background:#fff5ed}.design-v2 .workspace-sync-error .workspace-disclosure>button>span:first-child:before{background:#cf6f4c}.design-v2 .workspace-sync .workspace-disclosure-body{max-width:520px}.design-v2 .workspace-receipt{position:relative;margin-bottom:22px;padding:16px 22px 22px;border:1px solid #e0e5d6;background:#fffdf5;border-radius:12px 12px 0 0;box-shadow:0 6px 18px #365b4910}.design-v2 .workspace-receipt:after{content:"";position:absolute;bottom:-8px;left:-1px;right:-1px;height:9px;background:linear-gradient(135deg,#fffdf5 25%,transparent 25%) -4px 0/16px 16px,linear-gradient(225deg,#fffdf5 25%,transparent 25%) -4px 0/16px 16px}.design-v2 .workspace-receipt-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;color:#3c795e;font-weight:700}.design-v2 .workspace-receipt-heading .anticon{margin-right:5px}.design-v2 .workspace-receipt-caption{color:#748a75;font-size:12px;margin-top:0}.design-v2 .workspace-receipt dl{margin:16px 0 0}.design-v2 .workspace-receipt dl>div{display:flex;justify-content:space-between;gap:16px;padding-block:7px;color:#536f5d}.design-v2 .workspace-receipt dd{margin:0;text-align:right;overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.design-v2 .workspace-receipt dt{flex-shrink:0}.design-v2 .workspace-receipt .workspace-receipt-total{border-block:1px dashed #cbd7c4;margin-block:9px;padding-block:14px;font-size:18px;font-weight:700;color:#295e49}.design-v2 .workspace-selection{margin:16px 0;padding:8px 14px 14px;background:#f0f6ee;border:1px solid #d8e7d8;border-radius:14px}.design-v2 .workspace-selection-title{display:flex;justify-content:space-between;gap:8px;align-items:center;color:#4b705f;font-size:13px}.design-v2 .workspace-selection-title b{font-variant-numeric:tabular-nums}.design-v2 .workspace-selection-items{display:flex;flex-wrap:wrap;gap:6px;position:relative}.design-v2 .workspace-selection-items>button{border:1px solid #d9e6d5;background:#fffefa;border-radius:999px;color:#4e7560;cursor:pointer;font:inherit;font-size:13px;display:flex;align-items:center;gap:8px;min-height:44px;padding:8px 12px}.design-v2 .workspace-selection-items>button .anticon:last-child{font-size:10px;margin-left:4px}.design-v2 .workspace-selection-empty{display:block;color:#64806e;padding:10px 0}.design-v2 :is(.workspace-selection button,.workspace-disclosure>button,.workspace-trend-scrubber,.workspace-trend-legend button,.metric-clickable):focus-visible{outline:2px solid #2ba8a2;outline-offset:3px}.design-v2 .student-ledger-list{position:relative;padding-left:20px}.design-v2 .student-ledger-list:before{content:"";position:absolute;left:3px;top:20px;bottom:20px;width:1px;background:#c8ddce}.design-v2 .student-ledger-list>.ant-card{position:relative;border-color:var(--workspace-line);background:var(--workspace-surface)}.design-v2 .student-ledger-list>.ant-card:before{content:"";position:absolute;left:-22px;top:24px;width:9px;height:9px;border-radius:50%;background:#72b1a0;border:2px solid #eff8f7}.design-v2 .transaction-heading{gap:12px;flex-wrap:wrap}.design-v2 .transaction-heading>strong{font-variant-numeric:tabular-nums;color:#305e50}.design-v2 .workspace-trend{min-width:0}.design-v2 .operations-grid{align-items:start}.design-v2 .occupancy-summary{flex-direction:column;min-height:220px}.design-v2 .arrival-chart{cursor:default;align-content:start}.design-v2 .workspace-trend-unit{display:flex;flex-wrap:wrap;justify-content:space-between;gap:5px;color:#5e7a6b;font-size:12px;margin-bottom:10px}.design-v2 .workspace-trend-unit>span{color:#789081}.design-v2 .workspace-trend-scrubber{border-radius:12px;background:#fffefa;line-height:0}.design-v2 .workspace-trend-scrubber svg{width:100%;display:block;overflow:visible}.design-v2 .workspace-trend-readout{min-height:40px;font-size:12px;line-height:1.7;color:#436b5a;padding:9px 2px 5px;overflow-wrap:anywhere}.design-v2 .workspace-trend-legend{display:flex;flex-wrap:wrap;gap:6px}.design-v2 .workspace-trend-legend>button{display:flex;align-items:center;gap:7px;min-height:44px;border:1px solid #e0e9dd;border-radius:10px;background:#fffefa;font:inherit;font-size:12px;padding:7px 11px;color:#496b59;cursor:pointer}.design-v2 .workspace-trend-legend>button[aria-pressed=false]{opacity:.5}.design-v2 .workspace-trend-legend>button:disabled{cursor:default;opacity:1}.design-v2 .workspace-trend-legend i{height:3px;width:15px;border-radius:3px}.design-v2 .workspace-trend-legend b{margin-left:8px;font-variant-numeric:tabular-nums}.design-v2 .workspace-chart-table{margin-top:10px;color:#5b7a67;font-size:12px}.design-v2 .workspace-chart-table>summary{cursor:pointer;min-height:44px;padding-block:12px}.design-v2 .workspace-chart-table table{border-collapse:collapse;width:100%;background:#fffefa}.design-v2 .workspace-chart-table :is(th,td){padding:9px 8px;border-bottom:1px solid #e0e9dd;text-align:left;font-weight:400}.design-v2 .workspace-chart-table caption{text-align:left;padding-bottom:8px}.design-v2 .workspace-chart-table thead th{color:#315f4d;font-weight:600}@media(hover:hover)and (pointer:fine){.design-v2 .folder-action:hover{transform:translateY(-2px)}.design-v2 .workspace-selection-items>button:hover{border-color:#83b49c;background:#fff}.design-v2 .workspace-trend-legend>button:not(:disabled):hover{border-color:#a3c8b4}}@keyframes workspace-surface-enter{0%{opacity:0;translate:0 7px}to{opacity:1;translate:0 0}}@keyframes workspace-feedback-enter{0%{opacity:0;translate:0 -3px}to{opacity:1;translate:0 0}}@media(max-width:991px){.design-v2 .workspace-navigation{padding-inline:0}.design-v2 .workspace-dock{box-shadow:0 8px 30px #325d421a,inset 0 1px #fff}.design-v2 .workspace-dock-content{font-size:12px;gap:3px}}@media(max-width:575px){.design-v2 .workspace-kicker{font-size:10px}.design-v2 .workspace-hero-actions .ant-btn{font-size:14px;padding-inline:12px}.design-v2 .workspace-hero-actions{gap:6px}.design-v2 .workspace-hero-meta,.design-v2 .folder-caption{font-size:12px}.design-v2 .workspace-library-heading p{font-size:14px}.design-v2 .folder-action b{font-size:15px}.design-v2 .folder-action small{font-size:14px}.design-v2 .workspace-selection{padding-inline:12px}.design-v2 .workspace-selection-items>button{font-size:14px}.design-v2 .workspace-selection-title{font-size:14px;flex-wrap:wrap}.design-v2 .workspace-sync{font-size:12px}.design-v2 .workspace-sync .workspace-disclosure>button{min-height:44px}.design-v2 .workspace-sync .workspace-disclosure-body{font-size:14px}.design-v2 .workspace-receipt{padding-inline:16px}.design-v2 .workspace-trend-readout{min-height:56px;font-size:14px}.design-v2 .workspace-trend-legend>button{font-size:14px}.design-v2 .workspace-trend-unit{font-size:12px}.design-v2 .ledger-filters{padding:12px}.design-v2 .transaction-heading .ant-space{max-width:100%;flex-wrap:wrap}.design-v2 .parent-overview-strip em{white-space:normal;font-size:13px}.design-v2 .parent-overview-strip small{font-size:14px}.design-v2 .workspace-command-hint{font-size:12px}.design-v2 .page-heading{gap:12px;padding-bottom:16px}.design-v2 .rule-examples,.design-v2 .rule-examples .ant-space-item{max-width:100%}.design-v2 .rule-examples .ant-btn{height:auto;min-height:44px;white-space:normal;text-align:left;line-height:1.6;padding-block:8px}}@supports not (backdrop-filter:blur(1px)){.design-v2 .topbar,.design-v2 .workspace-dock{background:#fffefa}}@media(prefers-reduced-motion:reduce){.design-v2 *,.design-v2 *:before,.design-v2 *:after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}.design-v2 .workspace-modules{margin:0 0 22px}.design-v2 .workspace-modules-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:12px}.design-v2 .workspace-modules-heading h2{color:#315d4c;font-size:17px;line-height:1.45;margin:3px 0}.design-v2 .workspace-modules-heading .workspace-library-total{color:#82947f;font-size:12px}.design-v2 .workspace-module-actions{display:flex;align-items:center;gap:8px}.design-v2 .workspace-module-actions .ant-btn{min-height:44px;border-radius:10px}.design-v2 .workspace-organize-trigger.ant-btn{min-height:44px;padding-inline:16px}.design-v2 .workspace-organize-add.ant-btn{border-color:#397e6c;background:#397e6c;color:#fff;box-shadow:none}.design-v2 .workspace-organize-add.ant-btn:hover{border-color:#2f6e5e!important;background:#2f6e5e!important;color:#fff!important}.design-v2 .workspace-module-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;padding:2px}.design-v2 .workspace-module-item{position:relative;min-width:0;touch-action:manipulation}.design-v2 .workspace-module-card{position:relative;display:flex;align-items:center;gap:10px;min-width:0;width:100%;min-height:76px;padding:12px;border:1px solid #dce7db;border-radius:13px;background:#fffefa;color:#315d4c;text-align:left;font:inherit;cursor:pointer;transition:border-color .18s,background .18s,box-shadow .18s,transform .18s}.design-v2 .workspace-module-card:hover{border-color:#9ec6ae;background:#fff;box-shadow:0 5px 16px #315d4c12;transform:translateY(-1px)}.design-v2 .workspace-module-card:focus-visible,.design-v2 .workspace-module-tools .ant-btn:focus-visible{outline:2px solid #2ba8a2;outline-offset:2px}.design-v2 .workspace-module-icon{display:grid;place-items:center;flex:none;width:40px;height:40px;border-radius:12px;background:#e9f5ed;color:#438169;font-size:18px}.design-v2 .workspace-module-copy{display:block;min-width:0;flex:1}.design-v2 .workspace-module-copy b{display:block;overflow-wrap:anywhere;color:#315d4c;font-size:14px;font-weight:650;line-height:1.45}.design-v2 .workspace-module-copy small{display:block;margin-top:3px;overflow:hidden;color:#849385;font-size:11px;line-height:1.4;text-overflow:ellipsis;white-space:nowrap}.design-v2 .workspace-module-arrow{flex:none;color:#8aa691;font-size:16px}.design-v2 .workspace-module-grip{position:absolute;z-index:1;right:7px;top:50%;display:grid;place-items:center;width:44px;height:44px;padding:0;transform:translateY(-50%);border:0;border-radius:9px;background:#eff5e9;color:#64816d;font-size:18px;cursor:grab;touch-action:none}.design-v2 .workspace-module-grip:active{cursor:grabbing}.design-v2 .workspace-modules.is-editing .workspace-module-card{background:#fffef8;border-color:#e7d9a9}.design-v2 .workspace-modules.is-editing .workspace-module-card{padding-right:52px}.design-v2 .workspace-modules.is-editing .workspace-module-card{animation:workspace-module-wiggle .18s ease-in-out infinite alternate}.design-v2 .workspace-modules.is-editing .workspace-module-item:nth-child(2n) .workspace-module-card{animation-delay:.07s}.design-v2 .workspace-modules.is-editing .workspace-module-item:nth-child(3n) .workspace-module-card{animation-delay:.12s}.design-v2 .workspace-modules.reduce-motion.is-editing .workspace-module-card{animation:none}.design-v2 .workspace-sections{margin:0 0 24px}.design-v2 .workspace-sections-heading{display:flex;justify-content:space-between;align-items:center;gap:16px;margin:22px 0 12px}.design-v2 .workspace-sections-heading h2{margin:3px 0;color:#315d4c;font-size:17px}.design-v2 .workspace-sections-heading .workspace-library-total{color:#82947f;font-size:12px}.design-v2 .workspace-sections-grid{display:grid;gap:14px}.design-v2 .workspace-section-item{position:relative;min-width:0;padding:16px;border:1px solid #dce7db;border-radius:14px;background:#fffefa}.design-v2 .workspace-section-inner{min-width:0}.design-v2 .workspace-section-toolbar{display:flex;align-items:center;justify-content:space-between;min-height:30px;margin-bottom:10px}.design-v2 .workspace-section-toolbar h2{margin:0;color:#315d4c;font-size:16px;line-height:1.5}.design-v2 .workspace-section-content>:first-child{margin-top:0}.design-v2 .workspace-section-content>:last-child{margin-bottom:0}.design-v2 .workspace-section-tools{display:flex;gap:4px}.design-v2 .workspace-section-tools .ant-btn{width:44px;min-width:44px;height:44px;padding:0;border:0;border-radius:9px}.design-v2 .workspace-section-grip-rail{display:none}.design-v2 .workspace-sections.is-editing .workspace-section-item{padding:13px 16px 16px;border-color:#e3d7ad;background:#fffef9}.design-v2 .workspace-sections.is-editing .workspace-section-inner{animation:workspace-module-wiggle .18s ease-in-out infinite alternate}.design-v2 .workspace-sections.is-editing .workspace-section-item:nth-child(2n) .workspace-section-inner{animation-delay:.07s}.design-v2 .workspace-sections.is-editing .workspace-section-item:nth-child(3n) .workspace-section-inner{animation-delay:.12s}.design-v2 .workspace-sections.reduce-motion.is-editing .workspace-section-inner{animation:none}.design-v2 .workspace-sections.is-editing .workspace-section-toolbar{margin-bottom:0}.design-v2 .workspace-sections.is-editing .workspace-section-grip-rail{display:flex;align-items:center;gap:8px;min-height:40px;margin-bottom:10px;padding:0 10px;border:1px dashed #d9d7bb;border-radius:9px;color:#738775;font-size:12px}.design-v2 .workspace-sections.is-editing .workspace-section-grip-rail .anticon{display:none}.design-v2 .workspace-sections.is-editing .workspace-section-content{opacity:.72}.design-v2 .workspace-module-tools{display:flex;justify-content:flex-end;gap:4px;padding:4px 2px 0}.design-v2 .workspace-module-tools .ant-btn{display:grid;place-items:center;width:44px;min-width:44px;height:44px;padding:0;border:0;border-radius:8px}.design-v2 .workspace-edit-notice{margin:-3px 0 10px;color:#778a79;font-size:12px}.design-v2 .workspace-hidden-list{display:grid;gap:4px;max-height:55dvh;overflow:auto}.design-v2 .workspace-hidden-list>div{display:flex;align-items:center;gap:12px;min-height:68px;padding:9px 4px;border-bottom:1px solid #edf1e9}.design-v2 .workspace-hidden-list>div>span:nth-child(2){flex:1;min-width:0}.design-v2 .workspace-hidden-list b,.design-v2 .workspace-hidden-list small{display:block}.design-v2 .workspace-hidden-list small{color:#82947f;font-size:12px}.design-v2 .workspace-hidden-list .ant-btn{min-height:40px}.design-v2 .workspace-folder-picker-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;max-height:62dvh;overflow:auto;padding:2px}.design-v2 .workspace-folder-picker-item{--mini-folder: var(--folder);--mini-folder-light: var(--folder-light);display:grid;grid-template-columns:56px minmax(0,1fr);align-items:center;gap:9px;min-width:0;min-height:88px;padding:10px;border:1px solid #e1e9de;border-radius:12px;background:#fffefa}.design-v2 .workspace-folder-picker-art{position:relative;display:grid;place-items:center;width:54px;height:42px;margin-top:8px;border-radius:5px 8px 8px;background:linear-gradient(135deg,var(--mini-folder-light),var(--mini-folder));color:var(--folder-dark)}.design-v2 .workspace-folder-picker-art:before{position:absolute;content:"";width:23px;height:8px;left:0;top:-5px;border-radius:4px 4px 0 0;background:var(--mini-folder-light)}.design-v2 .workspace-folder-picker-art i{position:absolute;left:8px;right:8px;bottom:9px;height:25px;border:1px solid #dfe7dc;border-radius:4px 4px 2px 2px;background:#fffefa;transform:translateY(-3px) rotate(-5deg)}.design-v2 .workspace-folder-picker-art i:nth-child(2){transform:translateY(-1px) rotate(4deg);background:#f7f6eb}.design-v2 .workspace-folder-picker-art b{position:relative;z-index:1;display:grid;place-items:center;width:22px;height:22px;border-radius:6px;background:var(--folder-tint);font-size:12px}.design-v2 .workspace-folder-picker-copy{display:block;min-width:0}.design-v2 .workspace-folder-picker-copy b,.design-v2 .workspace-folder-picker-copy small{display:block}.design-v2 .workspace-folder-picker-copy b{color:#315d4c;font-size:13px;line-height:1.4}.design-v2 .workspace-folder-picker-copy small{margin-top:2px;color:#82947f;font-size:10px;line-height:1.35;overflow-wrap:anywhere}.design-v2 .workspace-folder-picker-add.ant-btn{grid-column:1 / -1;justify-self:end;min-height:36px;height:36px;padding-inline:12px}@keyframes workspace-module-wiggle{0%{transform:rotate(-.45deg)}to{transform:rotate(.45deg)}}.design-v2 .workspace-hero{min-height:176px;padding:22px 28px;margin-bottom:18px}.design-v2 .workspace-hero h1{font-size:24px;margin:9px 0 5px}.design-v2 .workspace-hero-actions{margin:12px 0 9px}.design-v2 .workspace-still-life{height:160px;transform:scale(.72);transform-origin:right center;margin-block:-20px}.design-v2 .workspace-library-compact{margin-bottom:22px}.design-v2 .workspace-library-compact .workspace-library-heading{margin-bottom:12px}.design-v2 .workspace-library-compact h2{font-size:16px;margin:4px 0 0}.design-v2 .workspace-library-total{color:#71877a;font-size:12px}.design-v2 .workspace-library-compact .workspace-folders{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.design-v2 .workspace-folder-anchor{display:block;min-width:0}.design-v2 .workspace-library-compact .workspace-folder{min-height:0;padding:15px 12px 18px;border-radius:14px}.design-v2 .workspace-library-compact .folder-object{width:132px;height:106px;margin:18px 0 14px}.design-v2 .workspace-library-compact .folder-paper{left:10px;right:10px;bottom:10px;height:78px;padding:7px;border-radius:7px;gap:5px}.design-v2 .workspace-library-compact .folder-paper b{font-size:9px;padding-top:4px}.design-v2 .workspace-library-compact .folder-paper-icon{width:19px;height:19px;font-size:10px;border-radius:4px}.design-v2 .workspace-library-compact .paper-lines{top:34px;left:10px;right:15px;gap:5px}.design-v2 .workspace-library-compact .paper-lines i{height:3px}.design-v2 .workspace-library-compact .folder-front{height:68px;border-radius:7px 7px 11px 11px}.design-v2 .workspace-library-compact .folder-back:before{width:58px;height:17px;top:-8px;border-radius:7px 7px 0 0}.design-v2 .workspace-library-compact .folder-emboss{font-size:21px}.design-v2 .workspace-library-compact .folder-caption{display:block}.design-v2 .workspace-library-compact .folder-label{justify-content:center;font-size:14px;gap:5px;line-height:1.4}.design-v2 .workspace-library-compact .folder-open-arrow{width:20px;height:20px;font-size:10px}.design-v2 .workspace-library-compact .folder-index{font-size:9px}.design-v2 .workspace-folders-editable .workspace-folders{align-items:start}.design-v2 .workspace-folder-item{position:relative;min-width:0;touch-action:manipulation}.design-v2 .workspace-folder-item.is-editing .workspace-folder{animation:workspace-module-wiggle .18s ease-in-out infinite alternate;border-color:#e3d7ad}.design-v2 .workspace-folder-item.is-editing:nth-child(2n) .workspace-folder{animation-delay:.07s}.design-v2 .workspace-folder-item.is-editing:nth-child(3n) .workspace-folder{animation-delay:.12s}.design-v2 .workspace-folders-editable.reduce-motion .workspace-folder{animation:none!important}.design-v2 .workspace-folder-tools{display:flex;justify-content:center;flex-wrap:wrap;gap:2px;padding:4px 0 0}.design-v2 .workspace-folder-tools .ant-btn{display:grid;place-items:center;width:44px;min-width:44px;height:44px;padding:0;border:0;border-radius:9px}.design-v2 .workspace-folder-tools .workspace-folder-grip{cursor:grab;touch-action:none}.design-v2 .workspace-folder-tools .workspace-folder-grip:active{cursor:grabbing}.design-v2 .workspace-folders-editable .workspace-library-heading{align-items:center}.design-v2 .workspace-folder-hidden{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;border-bottom:1px solid #edf1e9}.design-v2 .workspace-folder-hidden .ant-btn{min-height:40px}.design-v2 .workspace-folder-hidden-icon{display:grid;place-items:center;width:36px;height:36px;flex:none;border-radius:10px;background:var(--folder-tint);color:var(--folder-dark)}.design-v2 .workspace-folder-hidden>span:nth-child(2){min-width:0;flex:1;color:#315d4c;font-weight:600}.design-v2 .workspace-folder-hidden>span:nth-child(2) small{display:block;margin-top:2px;color:#82947f;font-size:12px;font-weight:400}.design-v2 .workspace-folder-hidden-add.ant-btn{border-color:var(--folder);color:var(--folder-dark);background:var(--folder-tint)}.design-v2 .workspace-folder-empty{display:flex;flex-wrap:wrap;min-height:112px;justify-content:center;align-items:center;gap:12px 20px;padding:18px;border:1px dashed #cbded0;border-radius:14px;background:#f8fbf5;text-align:center}.design-v2 .workspace-folder-empty>div{display:grid;gap:4px;color:#315d4c}.design-v2 .workspace-folder-empty>div span{color:#82947f;font-size:13px}.design-v2 .workspace-function-library-trigger.ant-btn{min-height:44px;border-radius:999px;box-shadow:inset 0 1px #ffffff8c,0 3px #258a83,0 5px 12px #2ba8a22e}.design-v2 .workspace-function-library-trigger.ant-btn:focus-visible{outline:2px solid #1e8c86;outline-offset:3px}.design-v2 .app-shell-v2-no-sidebar{min-height:100dvh}.design-v2 .app-shell-v2-no-sidebar>.ant-layout{min-width:0;width:100%}.design-v2 .app-shell-v2-no-sidebar .page-content{width:100%;margin-inline:auto}.design-v2 .app-shell-v2-no-sidebar .topbar{position:sticky;top:0;z-index:100;width:100%;margin-left:0;padding-inline:clamp(12px,2.5vw,36px);box-sizing:border-box}.design-v2 .topbar-location{display:flex;align-items:center;gap:12px;min-width:0}.design-v2 .topbar-location .breadcrumb{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.design-v2 .topbar .top-actions{min-width:0;flex:none}.design-v2 .workspace-home-button.ant-btn{min-height:44px;flex:none;padding-inline:16px;border:1px solid #e6b800;border-radius:999px;color:#55430b;background:linear-gradient(180deg,#ffe16a,#ffd23f 58%,#f6c82c);box-shadow:inset 0 1px #ffffffc7,0 4px #e3b820,0 6px 14px #af84092b;font-weight:700;white-space:nowrap;transition:border-color .18s,background .18s,box-shadow .18s,transform .18s cubic-bezier(.2,.8,.2,1)}.design-v2 .workspace-home-button.ant-btn:hover{border-color:#d9ad12!important;color:#55430b!important;background:linear-gradient(180deg,#ffe983,#ffdf66)!important;box-shadow:inset 0 1px #ffffffd9,0 4px #e3b820,0 7px 16px #af840933;transform:translateY(-1px)}.design-v2 .workspace-home-button.ant-btn:active{border-color:#d9ad12!important;color:#55430b!important;background:#f4c72f!important;box-shadow:inset 0 2px 3px #7e5b0024!important;transform:translateY(3px) scale(.98)}.design-v2 .workspace-home-button.ant-btn:focus-visible{outline:2px solid #2ba8a2;outline-offset:3px}.design-v2 .topbar-location .breadcrumb{color:#315d4c;font-weight:600}.design-v2 .topbar-location.has-home .breadcrumb{animation:workspace-location-enter .2s cubic-bezier(.2,.8,.2,1) both}@keyframes workspace-location-enter{0%{opacity:.55;translate:0 3px}to{opacity:1;translate:0 0}}.design-v2 .workspace-folder-popup{max-width:calc(100vw - 24px)}.design-v2 .workspace-folder-popup .ant-popover-container{padding:0;border:1px solid #dce8da;border-radius:18px;overflow:hidden;box-shadow:0 18px 60px #254d3824,0 3px 12px #254d3810}.design-v2 .workspace-branch-menu{width:340px;max-width:100%;padding:12px;color:#315d4c;background:#fffefa;border-radius:16px;transform-origin:top left}.design-v2 .workspace-menu-breadcrumb{display:flex;align-items:center;gap:9px;min-height:36px;margin-bottom:9px;font-size:13px;font-weight:600}.design-v2 .workspace-menu-breadcrumb>span:nth-last-child(2){min-width:0;overflow-wrap:anywhere;flex:1}.design-v2 .workspace-menu-breadcrumb button{border:0;background:#eef5eb;color:#50795f;width:44px;height:44px;border-radius:12px;cursor:pointer;flex:none}.design-v2 .workspace-menu-count{color:#8a9b8b;font-size:12px;font-weight:400;white-space:nowrap;margin-left:auto}.design-v2 .workspace-menu-viewport{overflow:hidden;margin-top:10px}.design-v2 .workspace-menu-options{display:grid;gap:3px;max-height:min(43dvh,380px);overflow-y:auto;overflow-x:hidden;overscroll-behavior:contain;padding:3px}.design-v2 .workspace-menu-option{position:relative;isolation:isolate;display:flex;align-items:center;gap:10px;width:100%;min-width:0;min-height:66px;padding:10px;border:0;border-radius:12px;background:none;color:#315d4c;text-align:left;font:inherit;cursor:pointer}.design-v2 .workspace-menu-highlight{position:absolute;z-index:-1;inset:0;border:1px solid #dce9d8;border-radius:12px;background:linear-gradient(110deg,#edf5e9,#f5f8f1);box-shadow:inset 0 1px #fff}.design-v2 .workspace-menu-icon{display:grid;place-items:center;width:34px;height:34px;flex:none;border-radius:10px;background:var(--folder-tint,#edf6f1);color:var(--folder-dark,#4b8270);font-size:16px}.design-v2 .workspace-menu-copy{flex:1;min-width:0}.design-v2 .workspace-menu-copy b{display:block;font-size:14px;font-weight:600;line-height:1.5}.design-v2 .workspace-menu-copy small{display:block;font-size:12px;line-height:1.6;color:#78907b;white-space:normal;overflow-wrap:anywhere;margin-top:2px}.design-v2 .workspace-menu-arrow{display:flex;align-items:center;gap:7px;color:#85a18b;font-size:11px}.design-v2 .workspace-menu-arrow small{font-size:11px}.design-v2 .workspace-menu-footer{display:flex;justify-content:space-between;gap:8px;color:#8a9c8d;font-size:11px;padding:12px 3px 2px;border-top:1px solid #eef2e8;margin-top:8px}.design-v2 :is(.workspace-menu-option,.workspace-menu-breadcrumb button):focus-visible{outline:2px solid #2ba8a2;outline-offset:-2px}.design-v2 .workspace-command-modal .workspace-branch-menu{width:100%;padding:0}.design-v2 .workspace-command-modal .ant-modal-body{overflow:hidden}.design-v2 .workspace-sheet.ant-drawer .ant-drawer-content-wrapper{width:100%!important;max-width:1100px;height:min(88dvh,960px)!important;inset:auto 0 0;margin-inline:auto}.design-v2 .workspace-sheet .ant-drawer-container{border-radius:22px 22px 0 0;overflow:hidden;box-shadow:0 -18px 70px #244c3622;background:#fffefa}.design-v2 .workspace-sheet .ant-drawer-header{position:relative;padding-top:27px;flex-wrap:wrap;gap:12px}.design-v2 .workspace-sheet .ant-drawer-header:before{content:"";position:absolute;width:36px;height:4px;border-radius:4px;background:#cfdbcf;top:9px;left:calc(50% - 18px)}.design-v2 .workspace-sheet .ant-drawer-body{overscroll-behavior:contain;padding-bottom:max(24px,env(safe-area-inset-bottom))}.design-v2 .workspace-sheet .ant-drawer-footer{padding-bottom:max(12px,env(safe-area-inset-bottom))}.design-v2 .workspace-sheet .ant-drawer-mask{background:#1b3b3040;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px)}.design-v2 .workspace-heatmap{padding:22px;border:1px solid #dde8dc;border-radius:16px;background:#fffefa;margin-bottom:24px}.design-v2 .workspace-heatmap-heading{display:flex;justify-content:space-between;gap:16px;align-items:center;margin-bottom:16px}.design-v2 .workspace-heatmap h2{display:flex;align-items:center;gap:8px;font-size:18px;margin:6px 0;color:#315d4c}.design-v2 .workspace-heatmap-heading p{margin:0;color:#809181;font-size:12px}.design-v2 .workspace-heatmap-controls{display:flex;gap:8px;flex-wrap:wrap}.design-v2 .workspace-heatmap-controls .ant-select{min-width:112px}.design-v2 .workspace-heatmap-layout{display:grid;grid-template-columns:minmax(0,1fr) 210px;gap:24px;margin-top:20px}.design-v2 .workspace-heatmap-calendar{min-width:0;--heat-cell: 20px;--heat-gap: 4px}.design-v2 .workspace-heatmap-scroll{overflow-x:auto;padding:3px 3px 7px}.design-v2 .workspace-heatmap-canvas{position:relative;width:calc(26px + var(--heat-columns) * (var(--heat-cell) + var(--heat-gap)));padding:24px 0 0 26px}.design-v2 .workspace-heatmap-months{position:absolute;display:grid;grid-template-columns:repeat(var(--heat-columns),var(--heat-cell));gap:var(--heat-gap);top:0;left:26px;font-size:11px;color:#8a9b88;white-space:nowrap}.design-v2 .workspace-heatmap-weekdays{position:absolute;top:24px;left:0;display:grid;grid-template-rows:repeat(7,var(--heat-cell));gap:var(--heat-gap);font-size:10px;color:#91a08d;align-items:center}.design-v2 .workspace-heatmap-cells{display:grid;grid-template-columns:repeat(var(--heat-columns),var(--heat-cell));grid-template-rows:repeat(7,var(--heat-cell));gap:var(--heat-gap)}.design-v2 .workspace-heatmap-cells button{width:var(--heat-cell);height:var(--heat-cell);border:0;padding:0;border-radius:4px;cursor:pointer;outline-offset:2px;animation:workspace-heat-cell .4s var(--workspace-ease) var(--cell-delay) both;transition:box-shadow .14s,filter .14s}.design-v2 .workspace-heatmap-cells button:hover{filter:brightness(.94);box-shadow:0 0 0 2px #81ac9270}.design-v2 .workspace-heatmap-cells button:is(:focus-visible,.is-current){outline:2px solid #418d74}.design-v2 .workspace-heatmap-cells .has-pending{background-image:repeating-linear-gradient(135deg,transparent 0 3px,#2b685d33 3px 5px)}.design-v2 .workspace-heatmap-key{display:flex;flex-wrap:wrap;justify-content:space-between;gap:8px;color:#82947f;font-size:11px;padding-top:5px}.design-v2 .workspace-heatmap-key>span:last-child{display:flex;align-items:center;gap:4px}.design-v2 .workspace-heatmap-key i{width:10px;height:10px;border-radius:2px}.design-v2 .workspace-heatmap-method{margin:9px 0 0;color:#879681;font-size:12px;line-height:1.8;max-width:660px}.design-v2 .workspace-heatmap-insight{border-left:1px solid #e3eadf;padding:8px 0 8px 22px;color:#7b917a;font-size:12px}.design-v2 .workspace-heatmap-insight>div{display:flex;align-items:baseline;gap:7px;margin-top:9px;color:#315d4c}.design-v2 .workspace-heatmap-insight strong{font-size:36px;line-height:1.3;font-variant-numeric:tabular-nums}.design-v2 .workspace-heatmap-insight b{font-size:13px;font-weight:500}.design-v2 .workspace-heatmap-insight p{line-height:1.9;margin:9px 0 3px}.design-v2 .workspace-heatmap-insight .ant-btn{padding-inline:0;color:#3d8063;font-size:13px}.design-v2 .workspace-heatmap-summary{display:flex;justify-content:space-between;flex-wrap:wrap;gap:8px;padding-top:15px;margin-top:14px;border-top:1px dashed #e0e7da;color:#8a9b86;font-size:12px}.design-v2 .workspace-heatmap-records{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.design-v2 .workspace-heatmap-records article{border:1px solid #dfe8dc;border-radius:12px;padding:16px;background:#f6f9f1}.design-v2 .workspace-heatmap-records article>div{display:flex;justify-content:space-between;gap:10px}.design-v2 .workspace-heatmap-records article>span{color:#7c927d;font-size:12px}@keyframes workspace-heat-cell{0%{opacity:0;transform:scale(.78)}to{opacity:1;transform:scale(1)}}@media(max-width:991px){.design-v2 .workspace-module-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px}.design-v2 .workspace-module-card{min-height:72px;padding:10px;gap:8px}.design-v2 .workspace-module-icon{width:36px;height:36px}.design-v2 .workspace-library-compact .workspace-folders{grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.design-v2 .workspace-heatmap-layout{grid-template-columns:minmax(0,1fr) 180px;gap:16px}.design-v2 .workspace-heatmap-calendar{--heat-cell: 17px;--heat-gap: 3px}}@media(max-width:767px){.design-v2 .workspace-library-compact .workspace-folders{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}}@media(min-width:992px)and (max-width:1199px){.design-v2 .workspace-library-compact .workspace-folders{grid-template-columns:repeat(4,minmax(0,1fr))}}@media(max-width:575px){.design-v2 .app-shell-v2-no-sidebar .topbar{padding-inline:10px;gap:8px}.design-v2 .topbar-location{flex:1 1 auto;gap:8px}.design-v2 .topbar .top-actions{flex:0 1 auto;gap:5px}.design-v2 .topbar .workspace-command-trigger{min-width:40px;padding-inline:10px}.design-v2 .topbar .workspace-command-trigger>span,.design-v2 .topbar .workspace-command-trigger kbd{display:none}.design-v2 .topbar .online-staff-label{font-size:0}.design-v2 .topbar .online-staff-label:after{content:"在线";font-size:11px}.design-v2 .workspace-home-button.ant-btn{min-height:44px;padding-inline:12px;font-size:13px}.design-v2 .workspace-folder-picker-grid{grid-template-columns:minmax(0,1fr)}.design-v2 .workspace-folder-empty{align-items:stretch}.design-v2 .workspace-folder-empty .workspace-function-library-trigger{width:100%}.design-v2 .workspace-folder-picker-item{grid-template-columns:48px minmax(0,1fr) auto;min-height:76px;gap:8px;padding:8px}.design-v2 .workspace-folder-picker-art{width:46px;height:36px}.design-v2 .workspace-folder-picker-add.ant-btn{grid-column:auto}.design-v2 .workspace-modules.is-editing .workspace-modules-heading{display:grid;grid-template-columns:minmax(0,1fr);gap:8px}.design-v2 .workspace-modules.is-editing .workspace-modules-heading>div:first-child{display:flex;align-items:baseline;justify-content:space-between;flex-wrap:wrap;gap:2px 8px}.design-v2 .workspace-modules.is-editing .workspace-module-actions{justify-content:flex-end}.design-v2 .workspace-modules-heading{align-items:flex-start}.design-v2 .workspace-modules-heading .workspace-kicker{display:none}.design-v2 .workspace-modules-heading h2{font-size:16px}.design-v2 .workspace-module-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.design-v2 .workspace-module-card{min-height:68px;padding:9px;gap:8px}.design-v2 .workspace-module-icon{width:34px;height:34px;border-radius:10px}.design-v2 .workspace-module-copy small{font-size:10px}.design-v2 .workspace-module-actions{gap:4px}.design-v2 .workspace-module-actions .ant-btn{min-height:44px;padding-inline:10px}.design-v2 .workspace-module-tools{padding-top:3px}.design-v2 .workspace-module-tools .ant-btn{width:44px;min-width:44px;height:44px}.design-v2 .workspace-sections-heading{align-items:flex-start;flex-direction:column;gap:8px}.design-v2 .workspace-section-item{padding:12px}.design-v2 .workspace-section-toolbar{align-items:flex-start;gap:8px}.design-v2 .workspace-section-toolbar h2{font-size:15px}.design-v2 .workspace-section-tools{flex-wrap:wrap;justify-content:flex-end}.design-v2 .workspace-sections.is-editing .workspace-section-toolbar{display:grid;grid-template-columns:minmax(0,1fr)}.design-v2 .workspace-sections.is-editing .workspace-section-tools{justify-content:flex-start}.design-v2 .workspace-sections.is-editing .workspace-section-grip-rail{min-height:38px}.design-v2 .workspace-edit-notice{font-size:12px;line-height:1.6}.design-v2 .workspace-hero{padding:16px;min-height:0;margin-bottom:16px}.design-v2 .workspace-hero h1{font-size:20px;max-width:none;margin-top:7px}.design-v2 .workspace-hero p,.design-v2 .workspace-still-life{display:none}.design-v2 .workspace-hero-meta{font-size:11px}.design-v2 .workspace-hero-actions{margin:10px 0 7px}.design-v2 .workspace-library-compact .workspace-library-heading{flex-wrap:nowrap;gap:5px}.design-v2 .workspace-folders-editable .workspace-folders{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.design-v2 .workspace-library-compact .workspace-kicker{display:none}.design-v2 .workspace-library-compact h2{font-size:16px}.design-v2 .workspace-library-total{font-size:11px}.design-v2 .workspace-library-compact .workspace-folders{gap:6px}.design-v2 .workspace-library-compact .workspace-folder{padding:12px 8px 14px}.design-v2 .workspace-library-compact .folder-object{width:104px;height:88px;margin:14px 0 11px}.design-v2 .workspace-library-compact .folder-front{height:60px}.design-v2 .workspace-library-compact .folder-paper{height:65px;left:7px;right:7px;padding:5px;bottom:7px}.design-v2 .workspace-library-compact .folder-paper b{font-size:8px}.design-v2 .workspace-library-compact .folder-paper-icon{width:16px;height:16px;font-size:9px}.design-v2 .workspace-library-compact .paper-lines{top:29px}.design-v2 .workspace-library-compact .folder-back:before{width:44px}.design-v2 .workspace-library-compact .folder-label{font-size:12px;gap:2px}.design-v2 .workspace-library-compact .folder-open-arrow{display:grid}.design-v2 .workspace-library-compact .folder-index{font-size:9px;width:100%}.design-v2 .workspace-library-compact .folder-index>span{display:inline}.design-v2 .workspace-library-compact .folder-emboss{font-size:16px}.design-v2 .workspace-library-compact .folder-front-line{bottom:8px;width:20px}.design-v2 .workspace-branch-menu{width:min(340px,calc(100vw - 26px))}.design-v2 .workspace-menu-options{max-height:39dvh}.design-v2 .workspace-menu-copy small{font-size:13px}.design-v2 .workspace-command-modal{top:auto;position:absolute;bottom:8px;padding-bottom:0;margin:0 8px;width:calc(100% - 16px)!important;max-width:none}.design-v2 .workspace-sheet.ant-drawer .ant-drawer-content-wrapper{height:94dvh!important}.design-v2 .workspace-sheet .ant-drawer-header,.design-v2 .workspace-sheet .ant-drawer-body{padding-inline:16px}.design-v2 .workspace-heatmap{padding:16px}.design-v2 .workspace-heatmap-heading{flex-wrap:wrap;gap:12px}.design-v2 .workspace-heatmap-controls{width:100%}.design-v2 .workspace-heatmap-controls .ant-select{flex:1;min-width:0}.design-v2 .workspace-heatmap h2{font-size:17px}.design-v2 .workspace-heatmap-layout{grid-template-columns:minmax(0,1fr);gap:14px;margin-top:16px}.design-v2 .workspace-heatmap-calendar{--heat-cell: 16px;--heat-gap: 3px}.design-v2 .workspace-heatmap-insight{border-left:0;border-top:1px solid #e3eadf;padding:14px 0 0}.design-v2 .workspace-heatmap-insight>div{float:right;margin-top:0}.design-v2 .workspace-heatmap-insight strong{font-size:30px}.design-v2 .workspace-heatmap-insight p{font-size:14px}.design-v2 .workspace-heatmap-method{font-size:13px}.design-v2 .workspace-heatmap-records{grid-template-columns:minmax(0,1fr)}}@media(prefers-reduced-motion:reduce){.design-v2 .workspace-modules.is-editing .workspace-module-card{animation:none}.design-v2 .workspace-module-card,.design-v2 .workspace-section-item{transition:none}.design-v2 .workspace-section-inner{animation:none!important}.design-v2 .workspace-heatmap-cells button{animation:none;transition:none}}
