:root{--background:#f7f8fa;--foreground:#202e3b;--card:#fff;--card-foreground:#202e3b;--popover:#fff;--popover-foreground:#202e3b;--primary:#21836b;--primary-foreground:#fff;--secondary:#f4f7f6;--secondary-foreground:#253f36;--muted:#f3f5f6;--muted-foreground:#81908d;--accent:#e7f3ee;--accent-foreground:#21836b;--destructive:#c45b53;--border:#e8eceb;--input:#dfe6e3;--ring:#258c71;--radius:.75rem;--navy:#172e37;--green:#26836b;--text:#273c42;--subtle:#87928f}*{box-sizing:border-box}body{background:var(--background);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-family:Arial,PingFang SC,Microsoft YaHei,sans-serif;font-size:14px}button,input,select,textarea{font:inherit}button,a,input,select,textarea{-webkit-tap-highlight-color:transparent}button{cursor:pointer}button:disabled{opacity:.45;cursor:not-allowed}button{transition:background .16s,color .16s,box-shadow .16s,transform .16s}a{color:inherit;text-decoration:none}button:focus-visible,a:focus-visible{outline-offset:3px;outline:3px solid #70bda5}input,select,textarea{color:#304640;background:#fff;border:1px solid #e0e7e4;border-radius:7px;outline:none;max-width:100%;min-height:36px;padding:8px 11px;font-size:12px;transition:border .16s,box-shadow .16s}input:focus,select:focus,textarea:focus{border-color:#5caa92;box-shadow:0 0 0 3px #dff0e9}select{padding-right:26px}textarea{resize:vertical}h1,h2,h3,p{margin:0}h2{font-size:15px}h3{font-size:14px}svg{flex-shrink:0}button{border:0}.app-shell{min-height:100vh}.sidebar{background:var(--navy);color:#b8c8ca;z-index:40;flex-direction:column;width:228px;padding:31px 19px 0;display:flex;position:fixed;inset:0 auto 0 0}.brand{align-items:center;gap:12px;padding:0 9px 29px;display:flex}.brand-mark{color:#fff;background:#438c78;border-radius:12px;justify-content:center;align-items:center;width:40px;height:40px;display:flex;box-shadow:inset 0 0 0 1px #ffffff1a}.brand strong{color:#f6fbf9;letter-spacing:1.7px;font-size:20px;font-weight:650;display:block}.brand small{color:#adc3bc;letter-spacing:2px;margin-top:5px;font-size:8px;display:block}.workspace-switch{background:#ffffff06;border:1px solid #ffffff0d;border-radius:9px;align-items:center;gap:9px;margin-bottom:30px;padding:12px 10px;display:flex}.workspace-avatar{color:#d4dedb;background:#fff1;border:1px solid #ffffff12;border-radius:7px;place-items:center;width:31px;height:32px;font-size:14px;display:grid}.workspace-switch b{color:#d6e2de;font-size:11px;font-weight:500;display:block}.workspace-switch small{color:#94aaa8;margin-top:5px;font-size:9px;display:block}.workspace-switch>svg{color:#8ba5a1;margin-left:auto}.nav-caption{letter-spacing:1px;color:#708a8f;margin-bottom:12px;padding-left:17px;font-size:10px;display:block}.nav-item{text-align:left;color:#a7bbbf;background:0 0;border-radius:7px;align-items:center;gap:12px;width:100%;min-height:48px;margin-bottom:6px;padding:0 16px;font-size:12px;display:flex;position:relative}.nav-item:hover{color:#fff;background:#ffffff08}.nav-item.active{color:#e7f8ef;background:#284b4b}.nav-item.active>svg{color:#8fc6af}.nav-item.active>i{background:#8bd3b4;border-radius:50%;width:5px;height:5px;position:absolute;right:13px}.nav-item.active>.nav-count{margin-right:12px}.nav-count{color:#e7c98f;background:#ecd4a21f;border-radius:4px;margin-left:auto;padding:1px 6px;font-size:10px}.sidebar-divider{background:#ffffff0b;height:1px;margin:25px 13px 24px}.sidebar-bottom{margin-top:auto;padding-top:42px}.sidebar-note{background:linear-gradient(135deg,#233f43,#1b343d);border:1px solid #ffffff08;border-radius:9px;padding:19px 14px 20px}.sidebar-note>svg{color:#83b9a4;margin-bottom:12px}.sidebar-note b{color:#cddbd6;font-size:11px;font-weight:500;display:block}.sidebar-note p{color:#819b9d;margin:8px 0 16px;font-size:10px;line-height:1.9}.sidebar-note>span{color:#8dbcac;align-items:center;gap:9px;font-size:9px;display:flex}.profile{border-top:1px solid #ffffff0b;align-items:center;gap:10px;margin-top:15px;padding:21px 1px 24px;display:flex}.avatar{color:#546b45;background:#e4e9db;border-radius:50%;flex-shrink:0;justify-content:center;align-items:center;width:34px;height:34px;font-size:12px;display:inline-flex}.profile b{color:#d0dcd8;text-overflow:ellipsis;max-width:125px;font-size:11px;font-weight:500;display:block;overflow:hidden}.profile small{color:#708c91;margin-top:5px;font-size:9px;display:block}.profile>svg{color:#839d9f;margin-left:auto}.main-shell{margin-left:228px}.topbar{background:#ffffffde;border-bottom:1px solid #e9edeb;justify-content:space-between;align-items:center;gap:10px;height:71px;padding:0 36px;display:flex}.breadcrumb{align-items:center;gap:14px;font-size:11px;display:flex}.breadcrumb>span{color:#98a19e}.breadcrumb>svg{color:#b3bab6}.breadcrumb>b{font-weight:500}.topbar-right{align-items:center;gap:16px;display:flex}.saved-indicator{color:#8d9893;align-items:center;gap:6px;font-size:10px;display:flex}.saved-indicator>i{background:#679c82;border-radius:50%;width:5px;height:5px}.topbar-divider{background:#e9edeb;width:1px;height:19px;margin:0 1px}.icon-button{color:#7f8d89;background:0 0;border-radius:6px;justify-content:center;align-items:center;padding:7px;display:inline-flex;position:relative}.icon-button:hover{color:#247e66;background:#eef4f1}.avatar.small{width:29px;height:29px;font-size:10px}.notification-button>i{background:#d39f73;border:1px solid #fff;border-radius:50%;width:5px;height:5px;position:absolute;top:7px;right:8px}.mobile-menu{display:none}.content{max-width:1550px;margin:auto;padding:35px 35px 0}.page-heading{justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;display:flex}.eyebrow{letter-spacing:1.8px;color:#78948a;font-size:9px;font-weight:600;display:block}.eyebrow-dot{color:#bbc5bf;padding:0 8px}.page-heading h1{letter-spacing:1px;color:#263a3e;margin-top:12px;font-size:25px;font-weight:650;line-height:1.4}.page-heading p{color:#89958f;margin-top:9px;font-size:11px;line-height:1.7}.button{white-space:nowrap;border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;gap:7px;min-height:38px;padding:10px 16px;font-size:11px;font-weight:500;display:inline-flex}.button.primary{color:#fff;background:#2c826b;box-shadow:0 3px 7px #1d735415}.button.primary:hover:not(:disabled){background:#226e5b;box-shadow:0 4px 12px #1d735425}.button.secondary{color:#50675f;background:#fff;border-color:#dfe7e2}.button.secondary:hover:not(:disabled){background:#f1f6f3}.button.ghost{color:#789188;background:0 0}.button.danger{color:#b16b56;background:#fff4ef;border-color:#f2dace}.small-button{min-height:31px;padding:7px 11px;font-size:10px}.privacy-banner{color:#809087;background:#edf2ee;border:1px solid #e2eae3;border-radius:7px;align-items:center;gap:9px;margin-bottom:19px;padding:11px 13px;font-size:10px;line-height:1.7;display:flex}.privacy-banner>svg{color:#709782}.privacy-tag{white-space:nowrap;color:#698374;border-left:1px solid #d6e1d8;margin-left:auto;padding-left:12px;font-size:9px}.error-banner{color:#a55043;background:#fff0ed;border-radius:7px;align-items:center;gap:15px;margin-bottom:16px;padding:12px 15px;font-size:12px;display:flex}.error-banner button{background:0 0;margin-left:auto;text-decoration:underline}.demo-banner{color:#9c8553;background:#fff8e8;border:1px solid #f1e7ce;border-radius:7px;align-items:center;gap:8px;margin-bottom:18px;padding:10px 13px;font-size:11px;line-height:1.7;display:flex}.stats-grid{grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:25px;display:grid}.stat-card{background:#fff;border:1px solid #e7ece8;border-radius:10px;min-height:139px;padding:17px 19px 15px;box-shadow:0 2px 3px #1c453402}.stat-label{color:#819087;justify-content:space-between;align-items:center;font-size:11px;display:flex}.stat-icon{border-radius:9px;justify-content:center;align-items:center;width:34px;height:34px;display:inline-flex}.mint{color:#419b7d;background:#edf7f0}.blue{color:#7399bf;background:#eef4f9}.peach{color:#c9a174;background:#faf4e9}.lavender{color:#9b8bbb;background:#f3f0f8}.stat-value{letter-spacing:-1px;color:#2b3e3d;font-variant-numeric:tabular-nums;margin-top:3px;font-size:31px;font-weight:500;line-height:1.3}.stat-value small{letter-spacing:0;color:#9aa69f;margin-left:7px;font-size:10px;font-weight:400}.stat-caption{color:#98a39d;align-items:center;gap:5px;margin-top:12px;font-size:9px;line-height:1.5;display:flex}.stat-caption>span:not(.mini-dot){color:#6d9382;margin-left:auto}.mini-dot{border-radius:50%;flex-shrink:0;width:5px;height:5px;display:inline-block}.green-dot{background:#7fbca5}.amber-dot{background:#d9b674}.slate-dot{background:#a7b8c5}.micro-progress{background:#eef3ef;border-radius:9px;width:48px;height:3px;margin-left:5px;overflow:hidden}.micro-progress>i{background:#82baa2;height:100%;display:block}.stat-link{color:#b19a77;background:0 0;align-items:center;gap:7px;margin-top:14px;padding:0;font-size:9px;display:flex}.money-value{letter-spacing:-.8px;padding-top:3px;font-size:28px}.money-value>span{margin-right:3px;font-size:18px}.schedule-layout{grid-template-columns:minmax(0,1fr) 242px;align-items:start;gap:21px;display:grid}.panel{background:#fff;border:1px solid #e5ebe6;border-radius:10px;overflow:hidden;box-shadow:0 3px 6px #18443502}.panel-header{border-bottom:1px solid #edf0ee;justify-content:space-between;align-items:center;gap:15px;min-height:68px;padding:20px 21px;display:flex}.section-title{align-items:center;gap:9px;min-width:0;display:flex}.section-title>svg{color:#759a89}.section-title h2{white-space:nowrap;font-size:13px;font-weight:600}.counter{color:#889b8f;background:#f1f5f2;border-radius:4px;margin-left:1px;padding:3px 6px;font-size:9px}.segmented{background:#f5f7f5;border:1px solid #edf0ed;border-radius:6px;padding:3px;display:flex}.segmented>button{color:#9da69f;background:0 0;border-radius:4px;align-items:center;gap:5px;padding:6px 8px;font-size:9px;display:flex}.segmented>button.selected{color:#538470;background:#fff;box-shadow:0 1px 5px #254e3110}.calendar-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:20px 17px 18px;display:flex}.date-navigation{align-items:center;gap:7px;display:flex}.bordered{border:1px solid #e6ece7;border-radius:5px;padding:4px}.date-navigation>strong{white-space:nowrap;padding:0 3px;font-size:12px;font-weight:600}.date-navigation>strong>span{color:#a9b6ae;padding:0 4px}.today-button{color:#7c9082;background:#f6f8f6;border:1px solid #e7ede7;border-radius:4px;margin-left:1px;padding:5px 7px;font-size:9px}.filter-group{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.filter-group select,.calendar-toolbar select{color:#839388;border-color:#e7ece7;min-height:29px;padding:6px 23px 6px 8px;font-size:9px}.week-scroll{overflow-x:auto}.week-grid{grid-template-columns:repeat(7,minmax(86px,1fr));min-width:602px;display:grid}.week-column{border-right:1px solid #eef1ee}.week-column:last-child{border-right:0}.day-heading{background:#fafbf9;border-top:1px solid #edf1ec;border-bottom:1px solid #edf1ec;flex-direction:column;justify-content:center;align-items:center;height:72px;display:flex;position:relative}.day-heading>span{color:#99a59c;font-size:9px}.day-heading>strong{color:#637568;margin-top:5px;font-size:20px;font-weight:500;line-height:1.2}.day-heading>i{background:#4c9e7d;border-radius:50%;width:4px;height:4px;position:absolute;bottom:6px}.is-today .day-heading{background:#eef6ef}.is-today .day-heading>span{color:#4d946e}.is-today .day-heading>strong{color:#428b67}.weekend .day-heading>span,.weekend .day-heading>strong{color:#b0b9b1}.day-events{min-height:275px;padding:11px 7px 17px}.weekend .day-events{background:#fcfdfa}.is-today .day-events{background:#fcfefb}.free-day{color:#c2cbc2;text-align:center;margin-top:31px;font-size:9px;display:block}.event-card{text-align:left;color:#657e86;background:#f0f5f8;border-left:2px solid #a8becb;border-radius:4px;flex-direction:column;gap:7px;width:100%;margin-bottom:9px;padding:9px 7px 9px 8px;transition:transform .15s,box-shadow .15s;display:flex}.event-card:hover{transform:translateY(-2px);box-shadow:0 5px 10px #315b3e0c}.event-card.approved{color:#62876d;background:#f0f7ef;border-color:#89b994}.event-card.submitted{color:#ae916a;background:#fcf7ed;border-color:#d7b479}.event-card.rejected{color:#a88077;background:#fff2ee;border-color:#d4a299}.event-time{white-space:nowrap;letter-spacing:-.2px;font-size:8px}.event-card>b{color:#4b6e60;font-size:10px;font-weight:600;line-height:1.6}.event-card.scheduled>b{color:#516e7d}.event-school{font-size:8px;line-height:1.5}.event-teacher{align-items:center;gap:4px;margin-top:1px;font-size:8px;display:flex}.event-teacher>span{background:#ffffff9c;border-radius:50%;justify-content:center;align-items:center;width:15px;height:15px;font-size:7px;display:inline-flex}.badge{white-space:nowrap;border-radius:4px;align-items:center;gap:4px;padding:4px 7px;font-size:9px;font-weight:400;line-height:1.1;display:inline-flex}.badge i{background:currentColor;border-radius:50%;width:4px;height:4px}.badge.green{color:#709a7a;background:#edf7ef}.badge.amber{color:#b49a68;background:#faf3e5}.badge.slate{color:#8a9da7;background:#eff3f5}.badge.red{color:#bd8d80;background:#fcf0eb}.event-card .badge{background:0 0;margin-top:2px;padding:0;font-size:8px}.calendar-footer{color:#a0ada3;border-top:1px solid #edf1ed;justify-content:space-between;align-items:center;gap:10px;padding:15px 17px;font-size:9px;display:flex}.legend{align-items:center;gap:13px;display:flex}.legend>span,.calendar-footer>span{align-items:center;gap:5px;display:flex}.legend i{border-radius:50%;width:5px;height:5px}.right-rail{flex-direction:column;gap:18px;display:flex}.focus-card{background:#eaf2e7;border:1px solid #dce8dc;border-radius:10px;padding:19px 21px 0;position:relative;overflow:hidden}.focus-card-top{color:#73977b;align-items:center;gap:8px;font-size:9px;display:flex}.focus-icon{background:#d9e7d7;border-radius:8px;place-items:center;width:27px;height:27px;display:grid}.focus-card h2{color:#4f7359;letter-spacing:1px;margin-top:20px;font-size:21px;font-weight:500;line-height:1.7}.focus-card p{color:#94a58f;margin-top:11px;font-size:10px;line-height:1.9}.abstract-art{height:95px;margin-top:-4px;position:relative}.orbit{border:1px solid #bfd4b6;border-radius:50%;width:133px;height:62px;position:absolute;top:23px;right:-21px;transform:rotate(-29deg)}.orbit-two{border-color:#cadcc2;top:27px;right:-20px;transform:rotate(24deg)}.art-sheet{background:linear-gradient(145deg,#fffdf3,#f0f4df);border-radius:7px;width:69px;height:77px;padding:18px 12px;position:absolute;top:5px;right:16px;transform:rotate(12deg);box-shadow:3px 8px 10px #739a5520}.art-sheet>div{background:#c7d6a8;border-radius:3px;width:34px;height:3px;margin-bottom:6px}.art-sheet>div:nth-child(2){width:24px}.art-sheet>div:nth-child(3){width:28px}.art-sheet>svg{color:#fff;background:#87af80;border:2px solid #eaf2e7;border-radius:50%;width:28px;height:28px;padding:5px;position:absolute;bottom:7px;right:-8px}.art-star{color:#94b180;font-size:21px;position:absolute;top:29px;right:100px}.art-dot{background:#c7d5a2;border-radius:50%;width:8px;height:8px;position:absolute;top:2px;right:0}.focus-bottom{letter-spacing:1.2px;color:#9cad92;border-top:1px solid #d8e4d1;align-items:center;gap:7px;padding:15px 0;font-size:6px;display:flex}.focus-bottom .mini-dot{background:#97b18e;width:4px;height:4px}.next-step{padding:20px 18px}.next-step>.section-title{justify-content:space-between;margin-bottom:19px}.next-step>.section-title>svg{color:#a4b2a5}.next-step .section-title h2{font-size:11px}.reminder-item{gap:9px;margin-top:15px;display:flex}.reminder-number{color:#a7b6a1;background:#f8faf5;border:1px solid #e7ede2;border-radius:5px;flex-shrink:0;justify-content:center;align-items:center;width:22px;height:22px;font-size:9px;display:inline-flex}.reminder-item b{color:#70826c;font-size:10px;font-weight:500}.reminder-item p{color:#a0ac9c;margin-top:5px;font-size:9px;line-height:1.8}.text-button{color:#649781;white-space:nowrap;background:0 0;align-items:center;gap:4px;padding:0;font-size:10px;display:inline-flex}.text-button:hover{color:#226e56}.next-step>.text-button{margin-top:19px;font-size:9px}.onboarding-strip{background:#fff;border:1px solid #e6ece6;border-radius:9px;align-items:center;gap:15px;margin-top:22px;padding:20px 23px;display:flex}.onboarding-strip-icon{color:#839d70;background:#f0f5ed;border-radius:10px;flex-shrink:0;place-items:center;width:44px;height:44px;display:grid}.onboarding-strip h3{color:#667b60;font-size:12px;font-weight:500}.onboarding-strip p{color:#9ba795;margin-top:6px;font-size:10px;line-height:1.7}.onboarding-strip>.button{margin-left:auto}.footer{color:#afb7af;justify-content:space-between;gap:12px;padding:30px 1px 25px;font-size:9px;display:flex}.footer-brand{color:#8fa38f;letter-spacing:1px;border-right:1px solid #dde4da;margin-right:10px;padding-right:12px}.session-list{padding:0 21px}.session-row{border-bottom:1px solid #edf1ed;align-items:center;gap:18px;padding:18px 0;display:flex}.session-row:last-child{border-bottom:0}.date-tile{background:#f8faf5;border:1px solid #e4ebe4;border-radius:7px;flex-direction:column;flex-shrink:0;justify-content:center;align-items:center;width:52px;height:54px;display:flex}.date-tile b{color:#5d795c;font-size:20px;font-weight:500;line-height:1.2}.date-tile span{color:#a0b097;margin-top:4px;font-size:8px}.session-info{flex:1;min-width:120px}.session-info h3{flex-wrap:wrap;align-items:center;gap:9px;font-size:12px;display:flex}.session-info p{color:#a1ac9d;margin-top:6px;font-size:10px;line-height:1.6}.session-info p>span{color:#c1c8b9;padding:0 5px}.session-person{white-space:nowrap;color:#7d8e76;align-items:center;gap:7px;font-size:10px;display:flex}.teacher-avatar{color:#8d9c70;background:#edf1e4;width:27px;height:27px;font-size:10px}.session-amount{color:#718b6b;white-space:nowrap;text-align:right;font-variant-numeric:tabular-nums;font-size:12px;font-weight:600}.session-amount small{color:#a4b09b;margin-top:5px;font-size:8px;font-weight:400;display:block}.session-info p.note-preview{color:#919e87;max-width:390px;font-size:9px}.table-toolbar{border-bottom:1px solid #edf0eb;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:15px;padding:16px 21px;display:flex}.filter-tabs{gap:18px;display:flex;overflow:auto}.filter-tabs>button{color:#98a48f;white-space:nowrap;background:0 0;align-items:center;gap:5px;padding:5px 0;font-size:11px;display:flex;position:relative}.filter-tabs>button.active{color:#4c896c}.filter-tabs>button.active:after{content:"";background:#71a788;border-radius:3px;height:2px;position:absolute;bottom:0;left:0;right:0}.filter-tabs>button>span{color:#9cac8d;text-align:center;background:#f0f4e9;border-radius:4px;min-width:16px;padding:2px 4px;font-size:8px}.search-input{color:#a7b29c;border:1px solid #e7ece3;border-radius:6px;align-items:center;gap:6px;padding:0 9px;display:flex}.search-input>input{box-shadow:none;border:0;width:160px;min-height:30px;padding:6px 0;font-size:10px}.panel-footnote{color:#9eac92;background:#fdfefa;border-top:1px solid #edf1e9;align-items:center;gap:7px;padding:14px 21px;font-size:10px;line-height:1.7;display:flex}.empty-state{text-align:center;flex-direction:column;align-items:center;padding:59px 24px 61px;display:flex}.empty-icon{color:#9ab189;background:#f1f6ed;border-radius:18px;place-items:center;width:62px;height:62px;margin-bottom:18px;display:grid}.empty-state h3{color:#748b66;font-size:14px;font-weight:500}.empty-state p{color:#9eae91;max-width:380px;margin-top:9px;font-size:11px;line-height:1.9}.empty-state .button{margin-top:20px}.payroll-summary{color:#e7f1d9;background:#214c42;border:1px solid #2b594a;border-radius:11px;justify-content:space-between;align-items:center;margin-bottom:23px;padding:29px 31px;display:flex;position:relative;overflow:hidden}.payroll-summary .eyebrow{color:#93b29a;letter-spacing:2px;font-size:8px}.payroll-summary p{color:#adc3a8;margin-top:11px;font-size:11px}.payroll-summary h2{letter-spacing:-1px;color:#f0f6e6;font-variant-numeric:tabular-nums;margin-top:14px;font-size:39px;font-weight:400}.payroll-summary>div>span:last-child{color:#8faf91;align-items:center;gap:11px;margin-top:13px;font-size:10px;display:flex}.payroll-summary>div>span>i{background:#769b78;border-radius:50%;width:3px;height:3px}.payroll-summary-right{align-items:center;gap:20px;padding-right:12px;display:flex}.payroll-summary-right p{letter-spacing:1px;font-size:12px;line-height:2}.payroll-summary-right strong{color:#ccdaba;font-weight:400}.payroll-mark{color:#aac294;background:#d3e3b807;border:1px solid #83a77f47;border-radius:22px;place-items:center;width:81px;height:81px;display:grid;transform:rotate(-9deg)}.payroll-mark svg{transform:rotate(9deg)}.table-scroll{overflow-x:auto}table{border-collapse:collapse;text-align:left;white-space:nowrap;width:100%;font-size:11px}th{color:#98a58d;background:#fafcf6;border-bottom:1px solid #edf1e6;padding:15px 21px;font-size:10px;font-weight:400}td{color:#7b8f6d;border-bottom:1px solid #eef1e8;padding:17px 21px;line-height:1.5}tr:last-child td{border-bottom:0}td b{color:#6e8660;font-size:11px;font-weight:500}.person-cell{align-items:center;gap:9px;display:flex}.align-right{text-align:right}.amount-cell{color:#547750;font-variant-numeric:tabular-nums;font-size:13px;font-weight:500}.level-tag{color:#95a683;border:1px solid #e6eddf;border-radius:4px;padding:3px 7px;font-size:9px;display:inline-block}.muted{color:#a5b297;font-size:10px}.amber-text{color:#b6a06f;font-size:10px}.audit-panel{margin-top:23px}.cell-subtitle{color:#a7b59a;margin-top:5px;font-size:9px;display:block}.substitute-tag{color:#b3a079;background:#f6f2e4;border-radius:3px;margin-left:7px;padding:2px 4px;font-size:8px;display:inline-block}.roster-stats{background:#fff;border:1px solid #e5ebdc;border-radius:10px;grid-template-columns:repeat(4,1fr);margin-bottom:21px;padding:22px 0;display:grid}.roster-stats>div{border-right:1px solid #edf1e6;align-items:center;gap:12px;padding:0 23px;display:flex}.roster-stats>div:last-child{border:0}.roster-stats .stat-icon{border-radius:11px;flex-shrink:0;width:41px;height:41px}.roster-stats>div>div>span{color:#95a585;font-size:10px;display:block}.roster-stats b{color:#5e7753;margin-top:5px;font-size:25px;font-weight:500;display:block}.roster-stats small{color:#a9b799;margin-left:7px;font-size:9px;font-weight:400}.info-callout{color:#91a978;background:#f0f6e8;border:1px solid #e1ebd7;border-radius:8px;align-items:flex-start;gap:12px;margin:0 0 22px;padding:17px 20px;display:flex}.info-callout b{color:#779363;font-size:11px;font-weight:500}.info-callout p{color:#97aa85;margin-top:5px;font-size:10px;line-height:1.9}.info-callout>svg{margin-top:1px}.matches-list{padding:0 21px}.match-card{border-bottom:1px solid #edf2e4;padding:22px 0}.match-card:last-child{border:0}.match-identities{grid-template-columns:1fr 40px 1fr;align-items:center;gap:20px;display:grid}.record-type{color:#92ab7b;background:#f0f5e8;border-radius:4px;margin-bottom:9px;padding:3px 6px;font-size:8px;display:inline-block}.record-type.regular{color:#93a7be;background:#eef2f7}.match-identities h3{color:#617c52;font-size:13px;font-weight:500}.match-identities h3>small{color:#a3b18f;margin-left:12px;font-size:9px;font-weight:400}.match-identities p{color:#a0b18b;margin-top:7px;font-size:10px;line-height:1.7}.match-link{color:#b6c5a5}.match-footer{justify-content:space-between;align-items:center;gap:12px;margin-top:18px;display:flex}.match-actions{gap:8px;display:flex}.match-reason{color:#a0b28a;max-width:450px;margin-top:8px;font-size:9px;line-height:1.6}.teacher-grid{grid-template-columns:repeat(3,1fr);gap:18px;padding:22px;display:grid}.teacher-card{border:1px solid #e6eedd;border-radius:9px;padding:18px}.teacher-card-top{align-items:center;gap:11px;display:flex}.avatar.large{color:#91a675;background:#eff4e4;width:43px;height:43px;font-size:17px}.teacher-card-top h3{color:#6b8358;margin-bottom:6px;font-size:13px;font-weight:500}.teacher-card-top>.icon-button{color:#a7b797;margin-left:auto}.teacher-rate{margin-top:25px}.teacher-rate>span{color:#a1b28b;font-size:9px}.teacher-rate b{color:#728e5b;font-variant-numeric:tabular-nums;margin-top:8px;font-size:22px;font-weight:400;display:block}.teacher-rate small{color:#a6b791;font-size:9px}.teacher-binding{color:#a2b58c;border-top:1px solid #ebf0e1;align-items:center;gap:5px;margin-top:20px;padding-top:14px;font-size:9px;display:flex}.teacher-binding .text-button{margin-left:auto;font-size:9px}.settings-bottom{grid-template-columns:1fr 1fr;gap:22px;margin-top:23px;display:grid}.setup-panel{padding:25px}.setup-panel h2{color:#748c5f;margin-top:17px;font-size:14px;font-weight:500}.setup-panel p{color:#a0b08b;max-width:470px;margin-top:10px;font-size:11px;line-height:1.9}.setup-panel .button{margin-top:22px}.settings-check{color:#98ac81;align-items:center;gap:6px;margin-top:11px;font-size:10px;display:flex}.settings-check:first-of-type{margin-top:18px}.audit-list{padding:4px 23px}.audit-list>div{border-bottom:1px solid #eff2e7;align-items:flex-start;gap:14px;padding:17px 0;display:flex}.audit-list>div:last-child{border:0}.audit-dot{background:#b8caa2;border-radius:50%;flex-shrink:0;width:6px;height:6px;margin-top:6px}.audit-list b{color:#87a070;font-size:11px;font-weight:500}.audit-list p{color:#a0b68a;overflow-wrap:anywhere;margin-top:5px;font-size:10px;line-height:1.7}.audit-list small{color:#b1c39b;overflow-wrap:anywhere;margin-top:4px;font-size:8px;display:block}.audit-list time{white-space:nowrap;color:#b2c29c;margin-left:auto;padding-top:3px;font-size:9px}.loading-screen{text-align:center;background:#f7f9f2;flex-direction:column;justify-content:center;align-items:center;min-height:100vh;padding:35px;display:flex}.loading-screen>.brand-mark{background:#638f6c;border-radius:17px;width:57px;height:57px;margin-bottom:22px}.loading-screen>.eyebrow{margin-bottom:10px}.loading-screen h1{color:#628359;font-size:23px;font-weight:500;line-height:1.5}.loading-screen p{color:#9daf8a;justify-content:center;align-items:center;gap:8px;max-width:470px;margin-top:14px;font-size:12px;line-height:1.9;display:flex}.loading-screen>.button{margin-top:19px}.account-id{color:#7a9865;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all;background:#fff;border:1px solid #dde8cd;border-radius:9px;max-width:100%;margin-top:25px;padding:16px 22px;font-family:monospace;font-size:12px}.toast{color:#eef6e7;z-index:100;background:#234838;border:1px solid #3c6549;border-radius:9px;align-items:center;gap:9px;max-width:calc(100vw - 32px);padding:13px 19px;font-size:12px;line-height:1.7;display:flex;position:fixed;bottom:30px;left:calc(50% + 114px);transform:translate(-50%);box-shadow:0 8px 35px #15381529}.toast>svg{color:#b5d5a2}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.modal-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:90;background:#132e2b75;justify-content:center;align-items:center;padding:25px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal{background:#fff;border:1px solid #ffffff50;border-radius:15px;width:610px;max-width:100%;max-height:calc(100dvh - 50px);animation:.17s ease-out modal-in;overflow-y:auto;box-shadow:0 30px 90px #153f293d}@keyframes modal-in{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.modal-top{border-bottom:1px solid #eaf0e4;justify-content:space-between;align-items:flex-start;gap:15px;padding:25px 27px 21px;display:flex}.modal-top .eyebrow{color:#9aac8b;letter-spacing:2px;font-size:8px}.modal-top h2{letter-spacing:.5px;color:#617e52;margin-top:9px;font-size:20px;font-weight:500}.modal-top p{color:#a0b58b;margin-top:8px;font-size:11px;line-height:1.7}.modal-top>.icon-button{color:#9eb38c;margin:-4px -6px 0 0}.modal-body{padding:23px 27px 25px}.form-grid{grid-template-columns:repeat(2,1fr);gap:20px 16px;display:grid}.field{flex-direction:column;gap:8px;min-width:0;display:flex}.field>span{color:#7f996a;font-size:11px;font-weight:500}.field input,.field select,.field textarea{color:#6e8a59;background:#fff;border-color:#dde9d1;border-radius:6px;min-height:39px;padding:10px 12px;font-size:12px}.field input::placeholder,.field textarea::placeholder{color:#b3c2a1}.field small{color:#a4b892;font-size:9px;line-height:1.7}.wide{grid-column:1/-1}.checkbox-field{color:#869f6c;cursor:pointer;background:#f7faef;border-radius:6px;align-items:center;gap:9px;padding:13px;font-size:11px;display:flex}.checkbox-field input{accent-color:#71905b;width:15px;height:15px;min-height:0;padding:0}.modal-actions{border-top:1px solid #eaf0e0;justify-content:flex-end;align-items:center;gap:9px;margin-top:25px;padding-top:20px;display:flex}.modal-actions>.secondary{margin-right:auto}.form-error{color:#b87d60;background:#fff1e9;border:1px solid #f0d8c5;border-radius:6px;margin-top:18px;padding:11px 13px;font-size:11px;line-height:1.7}.session-summary{background:#f5f9ed;border:1px solid #e3edda;border-radius:8px;flex-wrap:wrap;justify-content:space-between;gap:12px;margin-bottom:21px;padding:17px;display:flex}.session-summary .eyebrow{color:#9ab584;letter-spacing:.5px;font-size:9px}.session-summary h3{color:#7c965f;margin-top:8px;font-size:15px;font-weight:500}.session-summary p{color:#9fb885;margin-top:8px;font-size:10px;line-height:1.8}.session-summary>.badge{align-self:flex-start;height:22px}.summary-bottom{color:#91a977;border-top:1px solid #e3ebd7;justify-content:space-between;align-items:center;gap:14px;width:100%;margin-top:1px;padding-top:13px;font-size:10px;display:flex}.summary-bottom b{color:#819e63;font-size:15px;font-weight:500}.summary-bottom small{color:#a9bc8f;font-size:9px;font-weight:400}.review-note{margin-bottom:20px}.review-note>span{color:#a2b98b;font-size:10px}.review-note>p{color:#83a067;margin-top:7px;font-size:12px;line-height:1.8}.info-callout.compact{gap:8px;margin-bottom:20px;padding:12px 13px}.info-callout.compact p{margin-top:0;font-size:10px}.field+.info-callout{margin-top:17px;margin-bottom:0}.field+.muted{margin-top:13px;line-height:1.8}.import-steps>b{color:#829f66;align-items:center;gap:9px;font-size:12px;font-weight:500;display:flex}.import-steps>b>span{color:#91a870;background:#edf4e1;border-radius:50%;place-items:center;width:21px;height:21px;font-size:10px;display:grid}.import-steps p{color:#a0b883;margin:10px 0 11px;font-size:10px;line-height:1.9}.upload-zone{cursor:pointer;color:#a0b884;background:#f8fbf2;border:1px dashed #ccddb7;border-radius:9px;flex-direction:column;justify-content:center;align-items:center;gap:10px;margin-top:21px;padding:28px 16px;display:flex}.upload-zone:hover{background:#f0f6e5}.upload-zone b{color:#8fa974;word-break:break-all;font-size:12px;font-weight:500}.upload-zone span{color:#aec296;font-size:9px}.upload-zone input{display:none}.import-preview{margin-top:23px}.import-preview h3{color:#7f9f63;font-size:12px;font-weight:500}.import-preview>p{color:#a3bb8b;margin:9px 0 13px;font-size:10px;line-height:1.8}.import-preview .table-scroll{border:1px solid #e6efdc;border-radius:6px;margin-bottom:10px}.import-preview td,.import-preview th{padding:10px 12px;font-size:10px}.mobile-bottom-nav,.nav-shade{display:none}@media (width>=1600px){.content{padding-top:42px}.schedule-layout{grid-template-columns:minmax(0,1fr) 265px}.day-events{min-height:350px}.event-card{gap:9px;padding:13px 11px}.event-time{font-size:10px}.event-card>b{font-size:12px}.event-school,.event-teacher{font-size:10px}.focus-card{padding-top:23px}.focus-card h2{font-size:24px}.abstract-art{height:121px}.next-step{padding:23px}.stats-grid{gap:21px}.stat-card{padding:20px 23px}.stat-value{font-size:35px}.stat-label{font-size:12px}}@media (width<=1250px){.sidebar{width:202px;padding-left:13px;padding-right:13px}.main-shell{margin-left:202px}.content{padding:28px 25px 0}.topbar{padding:0 25px}.schedule-layout{grid-template-columns:minmax(0,1fr) 210px;gap:16px}.stats-grid{gap:12px}.stat-card{padding:15px 14px}.stat-value{font-size:28px}.money-value{font-size:23px}.stat-label{font-size:10px}.stat-icon{width:29px;height:29px}.stat-caption{font-size:8px}.micro-progress{width:34px}.focus-card{padding:17px 17px 0}.focus-card h2{font-size:20px}.next-step{padding:17px 14px}.calendar-toolbar{gap:13px;padding:16px 15px}.date-navigation{gap:5px}.date-navigation>strong{font-size:11px}.date-navigation .today-button{display:none}.panel-header{padding:17px}.session-row{gap:12px}.session-person{font-size:9px}.session-list{padding:0 17px}.teacher-grid{gap:12px;padding:18px}.teacher-card{padding:15px}.roster-stats>div{gap:9px;padding:0 15px}.roster-stats>div>div>span{font-size:9px}.roster-stats .stat-icon{width:34px;height:34px}.toast{left:calc(50% + 101px)}}@media (width<=1080px){.right-rail{display:none}.schedule-layout{display:block}.page-heading h1{font-size:23px}.privacy-tag{display:none}.stats-grid{gap:10px}.stat-label{font-size:9px}.stat-icon{width:27px;height:27px}.stat-value{font-size:28px}.money-value{font-size:23px}.stat-caption{font-size:8px}.stat-caption .micro-progress{display:none}.day-events{min-height:315px}.event-card{gap:9px;padding:11px 8px}.event-time{font-size:9px}.event-card>b{font-size:11px}.event-school,.event-teacher,.event-card .badge{font-size:9px}.teacher-grid{grid-template-columns:repeat(2,1fr)}.roster-stats{grid-template-columns:repeat(2,1fr);row-gap:24px}.roster-stats>div:nth-child(2){border:0}.roster-stats>div{padding:0 24px}.roster-stats .stat-icon{width:42px;height:42px}.roster-stats>div>div>span{font-size:10px}.session-person{display:none}.match-identities{gap:13px}.onboarding-strip{gap:12px;padding:18px}.onboarding-strip p{font-size:9px}.onboarding-strip .button{padding:9px 11px;font-size:10px}.payroll-summary-right{gap:14px}.payroll-mark{width:68px;height:68px}.payroll-summary-right p{font-size:10px}.panel-header .filter-group input{max-width:150px}}@media (width<=820px){.sidebar{width:176px;padding-left:11px;padding-right:11px}.main-shell{margin-left:176px}.brand{gap:8px;padding-left:6px;padding-right:3px}.brand strong{letter-spacing:1px;font-size:17px}.brand small{letter-spacing:1.4px;font-size:6px}.brand-mark{width:33px;height:35px}.workspace-switch{gap:7px;padding:10px 7px}.workspace-switch b{font-size:9px}.workspace-switch small{font-size:8px}.workspace-avatar{width:25px;height:27px;font-size:11px}.workspace-switch>svg{width:11px}.nav-item{gap:9px;padding:0 13px;font-size:11px}.nav-caption{padding-left:14px}.sidebar-note{padding:16px 11px}.sidebar-note b{font-size:10px}.sidebar-note p{font-size:9px}.profile b{max-width:90px;font-size:10px}.content{padding:25px 20px 0}.topbar{height:65px;padding:0 20px}.topbar-right{gap:10px}.page-heading{gap:10px;margin-bottom:20px}.page-heading h1{font-size:20px}.page-heading p{max-width:310px;font-size:10px}.eyebrow{letter-spacing:1.4px;font-size:8px}.heading-actions .button{padding:9px 11px;font-size:10px}.privacy-banner{align-items:flex-start;gap:7px;font-size:9px}.privacy-banner>svg{margin-top:2px}.stats-grid{grid-template-columns:repeat(2,1fr);gap:12px}.stat-card{min-height:126px;padding:15px 18px}.stat-label{font-size:11px}.stat-icon{width:31px;height:31px}.stat-value{font-size:30px}.money-value{font-size:28px}.stat-caption{margin-top:9px;font-size:9px}.stat-link{margin-top:10px}.segmented>button{padding:5px 7px;font-size:9px}.section-title h2{font-size:12px}.onboarding-strip{flex-wrap:wrap}.onboarding-strip>div:nth-child(2){flex:1}.onboarding-strip>.button{margin-left:56px}.footer>span:last-child{display:none}.table-toolbar{padding:14px 17px}.filter-tabs{gap:13px}.filter-tabs>button{font-size:10px}.session-amount,.session-info h3{font-size:11px}.session-info p{font-size:9px}.date-tile{width:45px;height:49px}.session-row{gap:11px}.date-tile b{font-size:19px}.date-tile span{font-size:7px}.session-row .small-button{padding:6px 8px;font-size:9px}.payroll-summary{padding:25px}.payroll-summary h2{font-size:34px}.payroll-summary-right p{display:none}.payroll-summary-right{padding:0}.payroll-mark{width:66px;height:66px}.settings-bottom{gap:16px}.setup-panel{padding:20px}.setup-panel p{font-size:10px}.teacher-grid{gap:12px;padding:16px}.teacher-card{padding:13px}.teacher-card-top{gap:9px}.avatar.large{width:34px;height:34px;font-size:14px}.teacher-card-top h3{font-size:12px}.teacher-card .level-tag{font-size:8px}.teacher-rate b{font-size:20px}.teacher-binding{font-size:8px}.match-identities h3>small{margin:5px 0 0;display:block}.match-footer{flex-direction:column;align-items:flex-start}.match-actions{align-self:flex-end}.toast{left:calc(50% + 88px)}.panel-footnote{align-items:flex-start;font-size:9px}.panel-footnote>svg{margin-top:2px}.session-row .badge{padding:3px 5px;font-size:8px}.session-info{min-width:90px}.panel-header .filter-group{gap:6px}.panel-header .filter-group input{max-width:132px;font-size:10px}}@media (width<=680px){.sidebar{z-index:70;width:239px;padding:27px 20px 0;transition:transform .2s;transform:translate(-100%)}.sidebar.open{transform:translate(0)}.nav-shade{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);z-index:60;background:#102c285e;display:block;position:fixed;inset:0}.main-shell{margin-left:0}.brand{gap:13px;padding-left:9px}.brand strong{font-size:20px}.brand small{font-size:8px}.brand-mark{width:39px;height:40px}.workspace-switch{gap:9px;padding:12px 10px}.workspace-switch b{font-size:11px}.workspace-switch small{font-size:9px}.workspace-avatar{width:31px;height:32px}.workspace-switch>svg{width:14px}.nav-item{gap:12px;padding:0 16px;font-size:12px}.sidebar-note b{font-size:11px}.sidebar-note p{font-size:10px}.profile b{max-width:125px;font-size:11px}.sidebar-note{padding:19px 14px}.topbar{z-index:35;background:#fff;height:59px;padding:0 18px;position:sticky;top:0}.breadcrumb{gap:8px;font-size:10px}.mobile-menu{margin-left:-6px;margin-right:3px;padding:6px;display:inline-flex}.topbar-right{gap:7px}.saved-indicator{gap:4px;font-size:8px}.saved-indicator>i{width:4px;height:4px}.topbar-divider{display:none}.topbar-right>.icon-button{padding:6px}.topbar-right>.icon-button:first-of-type{display:none}.avatar.small{width:27px;height:27px;margin-left:2px;font-size:9px}.content{padding:26px 18px 0}.page-heading{flex-wrap:wrap;align-items:flex-start;gap:12px;margin-bottom:20px}.page-heading h1{letter-spacing:.4px;margin-top:10px;font-size:23px}.page-heading p{max-width:none;margin-top:8px;font-size:10px}.eyebrow{letter-spacing:1.4px;font-size:8px}.heading-actions .button{min-height:36px;padding:9px 12px;font-size:10px}.heading-actions{margin-top:3px}.privacy-banner{gap:7px;margin-bottom:17px;padding:10px 11px;font-size:9px;line-height:1.8}.privacy-banner>svg{flex-shrink:0;width:13px;margin-top:3px}.stats-grid{gap:11px;margin-bottom:20px}.stat-card{min-height:122px;padding:14px 15px}.stat-label{font-size:10px}.stat-icon{border-radius:8px;width:29px;height:29px}.stat-icon>svg{width:17px;height:17px}.stat-value{font-size:29px}.stat-value small{font-size:9px}.money-value{letter-spacing:-.7px;padding-top:4px;font-size:25px}.money-value>span{font-size:15px}.stat-caption{gap:4px;margin-top:11px;font-size:8px}.stat-link{margin-top:12px;font-size:8px}.stat-caption .micro-progress{width:45px;display:block}.panel-header{gap:12px;min-height:62px;padding:17px 15px}.section-title h2{font-size:12px}.section-title>svg{width:17px;height:17px}.counter{font-size:8px}.segmented>button{gap:4px;padding:5px 7px;font-size:9px}.segmented>button>svg{width:12px}.calendar-toolbar{gap:14px;padding:15px}.date-navigation>strong{font-size:12px}.date-navigation{gap:6px}.date-navigation .today-button{display:block}.calendar-toolbar>.filter-group{gap:8px;width:100%}.calendar-toolbar>.filter-group>select{flex:1;min-height:30px;font-size:10px}.week-grid{grid-template-columns:repeat(7,minmax(92px,1fr));min-width:644px}.day-heading{height:65px}.day-heading>strong{font-size:20px}.day-heading>span{font-size:9px}.day-events{min-height:290px;padding:10px 6px}.event-card{gap:9px;padding:10px 7px}.event-time{font-size:8px}.event-card>b{font-size:10px}.event-school,.event-teacher,.event-card .badge{font-size:8px}.calendar-footer{padding:13px 15px;font-size:8px}.legend{gap:11px}.right-rail{display:none}.onboarding-strip{gap:12px;margin-top:18px;padding:17px 15px}.onboarding-strip-icon{border-radius:9px;width:37px;height:39px}.onboarding-strip-icon>svg{width:22px}.onboarding-strip h3{font-size:11px;line-height:1.6}.onboarding-strip p{font-size:9px;line-height:1.8}.onboarding-strip>.button{margin-left:49px;font-size:10px}.footer{justify-content:center;padding:25px 0 102px;font-size:8px}.footer-brand{margin-right:7px;padding-right:9px}.mobile-bottom-nav{z-index:45;-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);padding:10px 7px calc(11px + env(safe-area-inset-bottom));background:#fffffff5;border-top:1px solid #e4ebe0;justify-content:space-around;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -5px 18px #31482304}.mobile-bottom-nav>button{color:#a5b59a;background:0 0;flex-direction:column;align-items:center;gap:6px;padding:4px 12px;font-size:9px;display:flex}.mobile-bottom-nav>button.active{color:#52895f}.mobile-bottom-nav>button.active>svg{filter:drop-shadow(0 2px 5px #98bb732c)}.session-list{padding:0 15px}.session-row{flex-wrap:wrap;gap:12px;padding:17px 0;position:relative}.session-info{flex:1;min-width:130px}.session-info h3{gap:6px;font-size:11px}.session-info p{font-size:9px}.session-info .badge{font-size:8px}.session-amount{align-self:flex-start;padding-top:2px;font-size:12px}.session-amount small{max-width:70px;font-size:7px}.session-row>.button{min-height:29px;margin-left:auto}.session-row>.text-button{margin-left:auto;font-size:9px}.date-tile{width:45px;height:48px}.date-tile span{font-size:7px}.session-row .small-button{padding:7px 10px;font-size:9px}.table-toolbar{gap:14px;padding:14px 15px}.filter-tabs{gap:17px;width:100%;padding-bottom:3px}.filter-tabs>button{gap:5px;font-size:10px}.filter-tabs>button>span{font-size:8px}.search-input{width:100%;padding:0 10px}.search-input input{width:100%;min-height:32px;font-size:10px}.panel-header>input{max-width:141px;min-height:33px;font-size:10px}.panel-footnote{gap:7px;padding:13px 15px;font-size:9px;line-height:1.8}.empty-state{padding:45px 20px}.empty-icon{border-radius:15px;width:55px;height:55px}.empty-state h3{font-size:13px}.empty-state p{max-width:280px;font-size:10px}.payroll-summary{margin-bottom:20px;padding:23px}.payroll-summary h2{margin-top:15px;font-size:34px}.payroll-summary p{font-size:10px}.payroll-summary .eyebrow{font-size:7px}.payroll-summary>div>span:last-child{font-size:9px}.payroll-mark{border-radius:17px;width:55px;height:59px}.payroll-mark svg{width:32px}.payroll-summary-right{margin-left:10px}.panel-header .filter-group{gap:6px}.panel-header .filter-group>input{max-width:124px;min-height:32px;padding:7px 8px;font-size:10px}.panel-header .filter-group>select{max-width:107px;font-size:9px}.payroll-summary+section>.panel-header{flex-wrap:wrap}.payroll-summary+section>.panel-header .filter-group{margin-left:auto}table{font-size:10px}th{padding:13px 15px;font-size:9px}td{padding:15px;font-size:10px}td b{font-size:10px}.amount-cell{font-size:12px}.audit-panel{margin-top:20px}.roster-stats{row-gap:22px;padding:18px 0}.roster-stats>div{gap:10px;padding:0 15px}.roster-stats .stat-icon{border-radius:9px;width:35px;height:35px}.roster-stats>div>div>span{font-size:9px}.roster-stats b{font-size:25px}.roster-stats small{font-size:8px}.info-callout{gap:9px;margin-bottom:19px;padding:14px}.info-callout b{font-size:10px}.info-callout p{font-size:9px;line-height:1.9}.info-callout>svg{width:18px;height:18px}.matches-list{padding:0 15px}.match-card{padding:19px 0}.match-identities{grid-template-columns:1fr 19px 1fr;gap:12px}.match-identities h3{font-size:12px}.match-identities h3>small{font-size:8px}.match-identities p{font-size:9px;line-height:1.8}.match-link{width:18px}.record-type{font-size:8px}.match-footer{gap:12px}.match-actions .button{min-height:30px;font-size:9px}.match-footer .badge{font-size:8px}.match-reason{font-size:9px}.teacher-grid{grid-template-columns:1fr 1fr;gap:10px;padding:14px}.teacher-card{padding:13px 11px}.teacher-card-top{flex-wrap:wrap;gap:7px}.teacher-card-top>.icon-button{padding:3px}.teacher-card-top>.icon-button>svg{width:14px;height:14px}.avatar.large{width:31px;height:31px;font-size:13px}.teacher-card-top h3{font-size:11px}.teacher-card-top .level-tag{padding:2px 4px;font-size:7px}.teacher-rate{margin-top:20px}.teacher-rate>span{font-size:8px}.teacher-rate b{font-size:20px}.teacher-rate small{font-size:8px}.teacher-binding{flex-wrap:wrap;gap:4px;margin-top:16px;padding-top:12px;font-size:7px}.teacher-binding .text-button{font-size:8px}.teacher-binding .mini-dot{width:4px;height:4px}.settings-bottom{grid-template-columns:1fr;gap:17px;margin-top:20px}.setup-panel{padding:22px}.setup-panel h2{margin-top:14px;font-size:13px}.setup-panel p,.setup-panel .button,.settings-check{font-size:10px}.audit-list{padding:3px 16px}.audit-list>div{gap:11px}.audit-list b{font-size:10px}.audit-list p{font-size:9px}.audit-list time{font-size:8px}.audit-list small{font-size:7px}.toast{width:max-content;max-width:calc(100vw - 30px);padding:12px 16px;font-size:11px;bottom:94px;left:50%}.modal-backdrop{align-items:center;padding:14px}.modal{border-radius:12px;max-height:calc(100dvh - 28px)}.modal-top{padding:22px 21px 18px}.modal-top h2{font-size:19px}.modal-top p{font-size:10px}.modal-body{padding:21px}.form-grid{gap:18px 13px}.field>span{font-size:10px}.field input,.field select,.field textarea{min-height:40px;padding:10px;font-size:12px}.field small{font-size:9px}.modal-actions{gap:7px;margin-top:23px;padding-top:18px}.modal-actions>.button{padding:10px 12px;font-size:10px}.summary-bottom{font-size:9px}.summary-bottom b,.session-summary h3{font-size:14px}.session-summary p{font-size:9px}.modal-top .eyebrow{font-size:7px}.session-summary .eyebrow{font-size:8px}.loading-screen{padding:28px}.loading-screen h1{font-size:21px}.loading-screen p,.account-id{font-size:11px}.demo-banner{align-items:flex-start;padding:10px;font-size:9px}.demo-banner>svg{margin-top:2px}}@media (width<=380px){.content{padding-left:14px;padding-right:14px}.page-heading h1{font-size:21px}.stat-card{padding:13px}.stat-label{font-size:9px}.stat-value{font-size:27px}.money-value{font-size:23px}.stat-caption{font-size:7px}.stat-caption .micro-progress{width:30px}.topbar{padding:0 14px}.saved-indicator{display:none}.roster-stats>div{gap:8px;padding:0 11px}.roster-stats>div>div>span{font-size:8px}.roster-stats .stat-icon{width:30px;height:32px}.teacher-grid{grid-template-columns:1fr}.teacher-card{padding:16px}.teacher-card-top{gap:10px}.teacher-card-top h3{font-size:13px}.avatar.large{width:38px;height:38px}.teacher-card-top .level-tag{font-size:9px}.teacher-rate{margin-top:19px}.teacher-rate>span{font-size:10px}.teacher-rate b{font-size:23px}.teacher-binding{font-size:9px}.teacher-binding .text-button{font-size:10px}.mobile-bottom-nav>button{padding:4px 9px;font-size:8px}.form-grid{grid-template-columns:1fr}.wide{grid-column:auto}.session-amount{font-size:11px}.session-info{min-width:100px}.session-info h3{font-size:10px}.modal-body{padding:18px}.modal-top{padding:21px 18px 18px}.modal-actions>.button{padding:9px 10px;font-size:9px}.match-identities{gap:8px}.match-identities p{font-size:8px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.muted,.stat-caption,.page-heading p,.session-info p,.panel-footnote,.privacy-banner,.setup-panel p,.field small,.modal-top p,.empty-state p,.teacher-binding,.match-identities p,.match-reason,.import-steps p,.import-preview>p,.audit-list p,.cell-subtitle{color:#718373}.stat-label,.roster-stats>div>div>span,.teacher-rate>span,.field>span,.filter-tabs>button,.review-note>span{color:#6b806e}.session-info h3,.teacher-card-top h3,.setup-panel h2,.empty-state h3,.match-identities h3,.modal-top h2,.session-summary h3{color:#48684f}td,td b{color:#617860}th{color:#74876b}.info-callout b{color:#668752}.info-callout p{color:#758c64}.field input,.field select,.field textarea{color:#526c48}.badge.green{color:#508565}.badge.amber{color:#987637}.badge.red{color:#a86152}.badge.slate{color:#6c818d}.event-card .badge{color:inherit}.teacher-rate b,.amount-cell{color:#4f7353}.free-day{color:#9cae9e}.demo-banner .text-button{color:#967a38}.upload-zone b{color:#688553}.upload-zone span{color:#829970}.loading-screen p{color:#788d6b}.login-screen{background:radial-gradient(at 15% 0,#e5f1e9 0,#0000 52%),#f6f8f4;flex-direction:column;justify-content:center;align-items:center;min-height:100dvh;padding:54px 20px 26px;display:flex}.login-card{background:#fff;border:1px solid #e1e9df;border-radius:18px;width:100%;max-width:448px;padding:36px;box-shadow:0 16px 48px #244c3510}.login-brand{align-items:center;gap:13px;margin-bottom:36px;display:flex}.login-brand .brand-mark{background:#2f836b;border-radius:14px;width:48px;height:48px}.login-brand strong{color:#294b40;letter-spacing:2px;font-size:23px;display:block}.login-brand>div>span{color:#8a9d92;letter-spacing:2px;margin-top:5px;font-size:8px;display:block}.login-card h1{color:#2f4d40;margin-top:12px;font-size:23px;font-weight:600;line-height:1.5}.login-intro{color:#6f8074;margin-top:9px;font-size:12px;line-height:1.9}.login-form{flex-direction:column;gap:20px;margin-top:29px;display:flex}.login-form .field>span{color:#5f7664;font-size:12px}.login-form .field input{min-height:46px;padding:11px 13px;font-size:16px}.login-code-row{align-items:flex-end;gap:10px;display:flex}.login-code-row>.field{flex:1}.send-code{min-width:112px;height:46px;padding:10px 12px;font-size:12px}.login-submit{width:100%;min-height:46px;margin-top:1px;font-size:14px}.login-error{color:#a14f41;overflow-wrap:anywhere;background:#fff4ef;border:1px solid #f0d3ca;border-radius:7px;padding:11px 12px;font-size:12px;line-height:1.8}.login-status{color:#53856d;font-size:12px;line-height:1.8}.login-help{color:#759782;border-top:1px solid #e9eee7;align-items:flex-start;gap:9px;margin-top:26px;padding-top:22px;display:flex}.login-help svg{margin-top:2px}.login-help p{color:#748276;font-size:11px;line-height:1.8}.login-security{color:#8b9a8e;justify-content:center;align-items:center;gap:6px;margin-top:24px;font-size:10px;display:flex}.login-footer{color:#93a18f;letter-spacing:1px;margin-top:24px;font-size:11px}.logout-button:disabled{opacity:.45}.loading-screen .account-id{overflow-wrap:anywhere;max-width:100%}@media (width<=650px){.login-screen{padding:28px 18px;padding-top:max(28px,env(safe-area-inset-top));padding-bottom:max(24px,env(safe-area-inset-bottom))}.login-card{border-radius:15px;padding:28px 23px}.login-brand{margin-bottom:30px}.login-card h1{font-size:22px}.login-form{gap:18px}.login-security{font-size:9px}.topbar-right{gap:10px}.topbar .logout-button{padding:8px}.field input,.field select,.field textarea{font-size:16px}.modal-actions>.button{min-height:42px}.mobile-bottom-nav{padding-bottom:max(12px,env(safe-area-inset-bottom))}}@media (width<=360px){.login-card{padding:25px 18px}.login-screen{padding-left:12px;padding-right:12px}.login-card h1{font-size:20px}.send-code{min-width:100px;padding:10px 8px;font-size:11px}.login-code-row{gap:8px}}.admin-management-panel{margin-bottom:24px}.admin-permission-notice{color:#617860;padding:0 22px 16px;font-size:12px;line-height:1.9}.administrator-list{margin:0;padding:0 22px;list-style:none}.administrator-row{border-top:1px solid #edf1ed;align-items:center;gap:16px;padding:18px 0;display:flex}.administrator-person{flex:1;align-items:flex-start;gap:12px;min-width:0;display:flex}.administrator-details{min-width:0}.administrator-heading{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.administrator-heading b{color:#48684f;overflow-wrap:anywhere;font-size:14px;font-weight:600}.administrator-phone{font-variant-numeric:tabular-nums;color:#526c48;overflow-wrap:anywhere;margin:5px 0;font-size:13px;display:block}.administrator-details p{color:#718373;font-size:11px;line-height:1.8}.administrator-primary-note{white-space:nowrap;color:#718373;align-items:center;gap:5px;font-size:11px;display:flex}.administrator-row>.button{flex-shrink:0;min-height:40px}.admin-management-panel .panel-header{flex-wrap:wrap}.admin-revoke-target{background:#f8faf6;border:1px solid #e2e9df;border-radius:8px;margin-bottom:18px;padding:16px}.admin-revoke-target b,.admin-revoke-target span{overflow-wrap:anywhere;display:block}.admin-revoke-target b{color:#48684f;font-size:15px}.admin-revoke-target span{color:#617860;font-variant-numeric:tabular-nums;margin-top:6px;font-size:14px}.admin-revoke-warning{background:#fff6f1;border-color:#ecd4cc}.admin-revoke-warning p,.admin-revoke-warning>svg{color:#99564a}.admin-confirm-actions{flex-wrap:wrap}@media (width<=680px){.admin-permission-notice{padding:0 15px 14px;font-size:11px}.administrator-list{padding:0 15px}.administrator-row{flex-wrap:wrap;align-items:flex-start;gap:12px}.administrator-person{flex-basis:100%}.administrator-row>.button,.administrator-primary-note{margin-left:43px}.administrator-row>.button{min-height:42px;font-size:11px}.administrator-heading b{font-size:13px}.administrator-details p{font-size:10px}.admin-management-panel .panel-header>.button{min-height:40px}.admin-confirm-actions{flex-direction:column-reverse;align-items:stretch}.admin-confirm-actions>.button{justify-content:center;min-height:44px;font-size:12px}}.teaching-role-tag,.temporary-tag{white-space:nowrap;color:#557466;background:#eef4f1;border-radius:5px;align-items:center;padding:3px 7px;font-size:10px;font-weight:500;line-height:1.4;display:inline-flex}.temporary-tag{color:#967139;background:#fff5e4}.event-card .teaching-role-tag{background:#ffffffa6;align-self:flex-start;margin:5px 0 1px}.event-card .temporary-tag{align-self:flex-start;margin:3px 0 1px}.session-info h3{flex-wrap:wrap}.temporary-reason{overflow-wrap:anywhere;flex-basis:100%;margin-top:10px;line-height:1.7}.teacher-rates-table{min-width:930px}.salary-summary-table{min-width:950px}.teacher-rate-actions{flex-direction:column;align-items:flex-start;gap:8px;display:flex}.salary-future{color:#97723d;white-space:normal;max-width:220px;line-height:1.6}.heading-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:9px;display:flex}.temporary-course-action{flex-direction:column;align-items:flex-end;gap:7px;display:flex}.temporary-course-action small{color:#718373;max-width:230px;font-size:10px;line-height:1.7}.stat-caption{flex-wrap:wrap}@media (width<=680px){.teacher-rates-panel .panel-header{flex-wrap:wrap;gap:12px}.teacher-rates-panel .filter-group{flex-wrap:wrap;margin-left:0}.teacher-rates-panel .filter-group label{color:#718373;font-size:10px}.heading-actions{justify-content:flex-start;gap:8px;width:100%}.heading-actions>.button{min-height:40px}.temporary-course-action{align-items:flex-start}.session-row>.text-button{min-height:36px;padding:6px 8px}.session-info .teaching-role-tag,.session-info .temporary-tag{font-size:9px}.modal-actions{flex-wrap:wrap}.modal-actions>.button{min-height:40px}}.weekday-field>span{color:#6b806e;margin-bottom:9px;font-size:11px;font-weight:500;display:block}.weekday-options{flex-wrap:wrap;gap:8px;display:flex}.weekday-options label{cursor:pointer;background:#fff;border:1px solid #dfe7e2;border-radius:7px;align-items:center;gap:7px;padding:8px 11px;font-size:12px;display:inline-flex}.weekday-options input{accent-color:#2c826b;min-height:0}.weekday-field small{color:#718373;margin-top:9px;font-size:10px;line-height:1.8;display:block}.semester-preview{background:#f1f7f2;border:1px solid #dce9df;border-radius:8px;padding:14px 15px}.semester-preview b{color:#476b4d;font-size:13px;display:block}.semester-preview p{color:#718373;margin-top:6px;font-size:11px;line-height:1.8}.holiday-requests-panel{margin-top:24px}.holiday-request-list{padding:0 24px}.holiday-request-row{border-bottom:1px solid #e8eee8;justify-content:space-between;align-items:center;gap:18px;padding:20px 0;display:flex}.holiday-request-row:last-child{border-bottom:0}.holiday-request-info{flex:1;min-width:0}.holiday-request-info h3{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.holiday-request-info p{color:#718373;overflow-wrap:anywhere;margin-top:6px;font-size:11px;line-height:1.8}.class-cancel-button{color:#a56854}.frozen-session-notice{color:#9b7644;background:#fff7e9;border-radius:6px;flex-basis:100%;margin-top:10px;padding:10px 12px;line-height:1.8}.filter-tabs{flex-shrink:1;padding-bottom:3px;overflow-x:auto}.filter-tabs>button{white-space:nowrap;flex-shrink:0}@media (width<=680px){.holiday-request-list{padding:0 16px}.holiday-request-row{flex-wrap:wrap;gap:12px;padding:18px 0}.holiday-request-info{flex-basis:100%}.holiday-request-row>.button{min-height:40px}.weekday-options{gap:7px}.weekday-options label{flex:1;justify-content:center;min-width:68px;padding:10px 7px}.weekday-field small,.semester-preview p{font-size:10px}.holiday-requests-panel .panel-header{flex-wrap:wrap;gap:12px}.temporary-course-action{align-items:stretch}.temporary-course-action .button{min-height:40px}}.merged-schedule-panel{min-width:0;max-width:100%}.merged-schedule-panel .week-scroll{overscroll-behavior-x:contain;max-width:100%;overflow-x:auto}.merged-week-grid{grid-template-columns:repeat(7,minmax(170px,1fr));min-width:1190px}.classroom-card{--school-color:#528973;border:1px solid #e2e9e4;border-left:4px solid var(--school-color);background:#fff;border-radius:9px;min-width:0;padding:15px}.classroom-card.compact{margin-bottom:11px;padding:11px 9px;font-size:11px}.classroom-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.classroom-heading>div{min-width:0}.classroom-heading h3{overflow-wrap:anywhere;margin-top:4px;font-size:14px;line-height:1.6}.classroom-heading p{color:#718373;overflow-wrap:anywhere;margin-top:3px;font-size:11px;line-height:1.7}.classroom-time{color:var(--school-color);font-variant-numeric:tabular-nums;font-size:11px;font-weight:600}.classroom-heading>.text-button{flex-shrink:0;min-height:28px;padding:4px 0;font-size:11px}.classroom-assignments{flex-wrap:wrap;gap:12px;margin-top:13px;display:flex}.classroom-assignment{background:#f8faf7;border:1px solid #e6ece7;border-radius:7px;flex-direction:column;flex:1;align-items:flex-start;gap:7px;min-width:150px;padding:10px 11px;display:flex}.classroom-person{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.classroom-person b{color:#47674e;font-size:12px}.classroom-confirmation{font-size:11px;line-height:1.6}.classroom-confirmation.confirmed{color:#428061}.classroom-confirmation.unconfirmed{color:#88796e}.classroom-review-state{color:#8b774f;min-height:0;font-size:10px;line-height:1.6}.classroom-review-state:empty{display:none}.classroom-actions{flex-wrap:wrap;align-items:center;gap:12px;margin-top:12px;display:flex}.classroom-actions:empty{display:none}.classroom-actions .text-button{min-height:30px;font-size:11px}.classroom-list{gap:16px;padding:18px 24px;display:grid}.classroom-card.compact .classroom-heading{flex-wrap:wrap;gap:2px}.classroom-card.compact .classroom-heading h3{font-size:12px}.classroom-card.compact .classroom-heading p{font-size:10px}.classroom-card.compact .classroom-assignments{flex-direction:column;gap:8px;margin-top:8px}.classroom-card.compact .classroom-assignment{width:100%;min-width:0;padding:8px}.classroom-card.compact .classroom-person b{font-size:11px}.classroom-card.compact .classroom-confirmation{font-size:10px}.classroom-card.compact .classroom-actions{gap:6px;margin-top:8px}.classroom-card.compact .classroom-actions .text-button{font-size:10px}.school-color-legend{color:#667d6d;flex-wrap:wrap;gap:10px 17px;padding:0 24px 15px;font-size:11px;display:flex}.school-color-legend>span{overflow-wrap:anywhere;align-items:center;gap:6px;min-width:0;display:inline-flex}.school-color-legend i{border-radius:50%;flex-shrink:0;width:8px;height:8px}.cancelled-class-history{margin-top:22px}.cancelled-class-history>summary{color:#728674;cursor:pointer;padding:17px 22px;font-size:12px}.assistant-requests-panel{margin-top:24px}.assistant-request-list{padding:0 24px}.assistant-request-row{border-bottom:1px solid #e8eee8;justify-content:space-between;align-items:center;gap:18px;padding:20px 0;display:flex}.assistant-request-row:last-child{border-bottom:0}.assistant-request-info{flex:1;min-width:0}.assistant-request-info h3{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.assistant-request-info p{color:#718373;overflow-wrap:anywhere;margin-top:6px;font-size:11px;line-height:1.8}@media (width<=680px){.merged-week-grid{grid-template-columns:repeat(7,minmax(180px,1fr));min-width:1260px}.merged-schedule-panel .panel-header{flex-wrap:wrap;gap:12px}.merged-schedule-panel .segmented{margin-left:0}.classroom-list{gap:13px;padding:15px}.classroom-card{padding:14px 12px}.classroom-assignments{flex-direction:column;gap:9px}.classroom-assignment{width:100%;min-width:0;padding:11px}.classroom-assignment .button{align-self:stretch;min-height:40px}.classroom-heading h3{font-size:13px}.classroom-heading>.text-button{min-height:36px;font-size:10px}.classroom-actions .text-button{min-height:36px}.school-color-legend{gap:8px 13px;padding:0 16px 13px;font-size:10px}.assistant-request-list{padding:0 16px}.assistant-request-row{flex-wrap:wrap;gap:12px;padding:18px 0}.assistant-request-info{flex-basis:100%}.assistant-request-row>.button{min-height:40px}.cancelled-class-history>summary{padding:16px;font-size:11px}}
