@import "https://fonts.googleapis.com/css2?family=Noto+Sans+JP:wght@400;500;600;700&display=swap";:root{color:#0f172a;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;--font-family:"Noto Sans JP", "Hiragino Kaku Gothic ProN", "Yu Gothic", Meiryo, sans-serif;--color-bg:#f4f6f8;--color-surface:#fff;--color-surface-muted:#f6f7f9;--color-text-primary:#17212f;--color-text-secondary:#475569;--color-text-muted:#475569;--color-border:#e4e7ec;--color-control-border:#9aa5b4;--color-primary:#087f8c;--color-primary-dark:#086674;--color-primary-soft:#eaf6f6;--color-focus:#0f172a;--color-success:#166534;--color-success-soft:#f0fdf4;--color-warning:#92400e;--color-warning-soft:#fffbeb;--color-danger:#b91c1c;--color-danger-soft:#fef2f2;--color-info:#0369a1;--color-info-soft:#eff6ff;--color-special:#7c3aed;--color-special-soft:#f5f3ff;--text-xs:12px;--text-sm:13px;--text-base:14px;--text-md:16px;--text-lg:18px;--text-xl:20px;--text-2xl:24px;--text-page-title:26px;--text-kpi:34px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-7:28px;--space-8:32px;--space-9:40px;--radius-sm:6px;--radius-md:8px;--radius-lg:8px;--shadow-card:none;--shadow-hover:none;--motion-fast:.15s ease;--motion-base:.15s ease;--sidebar-width:248px;--sidebar-collapsed-width:76px;--page-inline-padding:clamp(24px, 2vw, 32px);--section-gap:16px;--control-height:40px;--table-row-height:44px;--detail-drawer-width:clamp(360px, 29vw, 440px);--ink:var(--color-text-primary);--muted:var(--color-text-secondary);--green:var(--color-primary-dark);--cream:var(--color-bg);--line:var(--color-border);background:#f8fafc;font-family:Noto Sans JP,Hiragino Kaku Gothic ProN,Yu Gothic,Meiryo,sans-serif}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100vh}body{color:var(--color-text-primary);background:var(--color-bg);font-size:var(--text-base);margin:0;line-height:1.6}button,input,select,textarea{font:inherit}button{cursor:pointer}button:disabled{cursor:not-allowed}a{color:inherit}::selection{color:var(--color-text-primary);background:var(--color-primary-soft)}button,input,select,textarea{font-family:var(--font-family)}input,select,textarea{font-size:var(--text-base)}input::placeholder,textarea::placeholder{color:var(--color-text-secondary);opacity:1}:where(button,a,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}:where(table,input[type=number],input[type=date],input[type=month]){font-variant-numeric:tabular-nums}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.brand{color:var(--ink);align-items:center;gap:12px;display:flex}.brand>span:last-child{flex-direction:column;display:flex}.brand strong{font:700 var(--text-base)/1.2 var(--font-family);letter-spacing:.04em}.brand small{font-size:var(--text-xs);color:var(--muted);letter-spacing:.08em;margin-top:4px}.brand-mark{background:var(--green);border-radius:10px;justify-content:center;align-items:flex-end;gap:3px;width:38px;height:38px;padding:8px;display:flex}.brand-mark span{background:#fff;border-radius:3px 3px 1px 1px;width:5px}.brand-mark span:first-child{opacity:.7;height:10px}.brand-mark span:nth-child(2){height:20px}.brand-mark span:nth-child(3){opacity:.85;height:15px}.eyebrow{color:#9b6b38;font:700 var(--text-xs)/1.4 var(--font-family);letter-spacing:.18em;margin:0 0 14px}.muted{color:var(--muted)}.center-screen{background:radial-gradient(circle at 50% 15%,#fff 0,#f4f6f2 50%);flex-direction:column;justify-content:center;align-items:center;gap:24px;min-height:100vh;padding:32px;display:flex}.spinner{border:3px solid #d7e0db;border-top-color:var(--green);border-radius:50%;width:34px;height:34px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.login-layout{background:#f8faf7;grid-template-columns:minmax(420px,1.12fr) minmax(420px,.88fr);min-height:100vh;display:grid}.login-intro{color:#f4f4eb;background:linear-gradient(145deg,#09382df5,#155b48ed),url(/assets/hero-CLDdwZDr.png) 50%/cover;flex-direction:column;justify-content:space-between;min-height:100vh;padding:48px 7vw 42px;display:flex;position:relative;overflow:hidden}.login-intro:before,.login-intro:after{content:"";border:1px solid #ffffff1f;border-radius:50%;position:absolute}.login-intro:before{width:520px;height:520px;top:-140px;right:-220px}.login-intro:after{width:320px;height:320px;top:-40px;right:-70px}.login-intro .brand{color:#fff;z-index:1;position:relative}.login-intro .brand small{color:#ffffffad}.login-intro .brand-mark{background:#fff}.login-intro .brand-mark span{background:var(--green)}.intro-copy{z-index:1;max-width:590px;padding:70px 0;position:relative}.intro-copy .eyebrow{color:#d5b78c}.intro-copy h1{letter-spacing:-.04em;margin:0 0 26px;font-size:clamp(44px,5vw,76px);font-weight:600;line-height:1.18}.intro-copy>p:last-child{color:#ffffffc2;max-width:510px;font-size:var(--text-md);line-height:2}.intro-note{z-index:1;color:#ffffff9e;font-size:var(--text-xs);margin:0;position:relative}.login-panel{justify-content:center;align-items:center;padding:48px;display:flex}.login-card{width:min(100%,430px)}.login-card h2{letter-spacing:-.03em;margin:0;font-size:38px}.login-description{color:var(--muted);margin:14px 0 34px;line-height:1.8}.alert{color:#9c382e;font-size:var(--text-sm);background:#fff3f1;border:1px solid #edc9c5;border-radius:10px;margin-bottom:18px;padding:12px 14px}.google-button,.secondary-button{border-radius:10px;width:100%;transition:all .2s}.google-button{min-height:56px;color:var(--ink);background:#fff;border:1px solid #cfd8d3;justify-content:center;align-items:center;gap:12px;font-weight:600;display:flex;box-shadow:0 3px 10px #15372e0f}.google-button:hover:not(:disabled){border-color:var(--green);transform:translateY(-1px);box-shadow:0 8px 20px #15372e1a}.google-button:disabled{opacity:.65;cursor:wait}.google-g{color:#4285f4;width:25px;height:25px;font:700 var(--text-base) Arial,sans-serif;border:1px solid #e0e4e2;border-radius:50%;place-items:center;display:grid}.security-note{border-top:1px solid var(--line);color:#7b8984;font-size:var(--text-xs);gap:10px;margin-top:22px;padding-top:22px;line-height:1.8;display:flex}.security-note svg{width:18px;fill:var(--green);flex:0 0 18px}.access-screen .brand{margin-bottom:10px}.access-card{text-align:center;border:1px solid var(--line);background:#fff;border-radius:20px;width:min(100%,520px);padding:42px;box-shadow:0 20px 60px #18342c14}.status-icon{width:44px;height:44px;color:var(--green);font:700 var(--text-xl) Georgia,serif;background:#e4f0eb;border-radius:50%;place-items:center;margin:0 auto 20px;display:grid}.access-card h1{font-size:var(--text-2xl);margin:0 0 16px}.access-card>p{color:var(--muted);line-height:1.8}.signed-email{font-size:var(--text-sm);word-break:break-all;background:#f3f6f4;border-radius:8px;margin:20px 0;padding:12px}.access-card .help-text{font-size:var(--text-xs)}.secondary-button{border:1px solid var(--green);min-height:48px;color:var(--green);background:#fff;margin-top:24px;font-weight:600}.secondary-button:hover{background:#edf4f1}.app-shell{grid-template-columns:260px 1fr;min-height:100vh;display:grid}.sidebar{background:#f8faf7;border-right:1px solid #d7dfda;flex-direction:column;height:100vh;padding:28px 22px 22px;display:flex;position:sticky;top:0}.sidebar nav{flex-direction:column;gap:5px;margin-top:54px;display:flex}.nav-label{color:#96a19d;font-size:var(--text-xs);letter-spacing:.12em;margin:22px 12px 8px;font-weight:700}.nav-item{color:#53625d;min-height:46px;font-size:var(--text-sm);border-radius:9px;align-items:center;gap:12px;padding:0 14px;font-weight:500;text-decoration:none;display:flex}.nav-item svg{fill:currentColor;width:18px}.nav-item.active{color:#fff;background:var(--green);box-shadow:0 8px 18px #175c4a2e}.nav-item.disabled{color:#adb6b2;cursor:not-allowed}.sidebar-user{border-top:1px solid var(--line);grid-template-columns:36px minmax(0,1fr);align-items:center;gap:8px 10px;margin-top:auto;padding:15px 8px 0;display:grid}.avatar{color:#fff;width:36px;height:36px;font-size:var(--text-sm);background:#8e6844;border-radius:50%;flex:0 0 36px;place-items:center;display:grid}.sidebar-user-copy{flex-direction:column;min-width:0;display:flex}.sidebar-user strong{font-size:var(--text-xs);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.sidebar-user small{color:var(--muted);font-size:var(--text-xs);margin-top:3px}.sidebar-logout{color:#63716c;min-height:30px;font-size:var(--text-xs);cursor:pointer;background:#fff;border:1px solid #d7dfda;border-radius:7px;grid-column:1/-1}.sidebar-logout:hover{color:var(--green);border-color:#9abaae}.main-content{min-width:0;padding:32px clamp(28px,5vw,76px) 56px}.topbar{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.breadcrumb{color:#84918c;font-size:var(--text-xs);margin:0 0 12px}.topbar h1{font-size:var(--text-kpi);letter-spacing:-.03em;margin:0}.text-button{color:var(--muted);font-size:var(--text-xs);background:0 0;border:0;padding:8px 0}.text-button:hover{color:var(--green)}.welcome-banner{color:#fff;background:linear-gradient(110deg,#174f42,#1b6a55);border-radius:16px;justify-content:space-between;align-items:center;gap:30px;margin:36px 0 46px;padding:32px 36px;display:flex;box-shadow:0 16px 35px #154a3c29}.status-badge{color:#d9e9e3;font-size:var(--text-xs);letter-spacing:.06em;border:1px solid #ffffff38;border-radius:20px;margin-bottom:14px;padding:5px 10px;display:inline-block}.welcome-banner h2{font-size:var(--text-xl);margin:0 0 9px}.welcome-banner p{color:#ffffffb8;font-size:var(--text-xs);margin:0;line-height:1.8}.access-summary{flex:none;gap:26px;display:flex}.access-summary>span{min-width:72px;font:600 36px/1 var(--font-family);text-align:center}.access-summary small{color:#ffffffa6;font:500 var(--text-xs) var(--font-family);margin-top:7px;display:block}.section-heading{justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:20px;display:flex}.section-heading .eyebrow{margin-bottom:8px}.section-heading h2{font-size:var(--text-xl);margin:0}.permission-chip{color:#477263;font-size:var(--text-xs);background:#e2eee9;border-radius:20px;padding:7px 12px}.company-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px;display:grid}.company-card{border:1px solid var(--line);border-top:3px solid var(--card-accent);background:#fff;border-radius:12px;min-height:280px;padding:24px;box-shadow:0 5px 16px #1d352e0a}.tone-1{--card-accent:#2a765f}.tone-2{--card-accent:#a37440}.tone-3{--card-accent:#657088}.company-card-head{color:#8b9692;font-size:var(--text-xs);justify-content:space-between;display:flex}.company-number{color:var(--card-accent);font:700 var(--text-xs) var(--font-family)}.company-card h3{min-height:48px;font-size:var(--text-md);margin:20px 0 16px}.company-card ul{flex-direction:column;gap:9px;margin:0;padding:0;list-style:none;display:flex}.company-card li{color:#52615c;font-size:var(--text-xs);align-items:center;gap:9px;display:flex}.company-card li:before{content:"";background:var(--card-accent);opacity:.65;border-radius:50%;width:5px;height:5px}.account-strip{border:1px solid var(--line);background:var(--line);border-radius:10px;grid-template-columns:repeat(3,1fr);gap:1px;margin-top:40px;display:grid;overflow:hidden}.account-strip>div{background:#f9fbf8;flex-direction:column;gap:7px;min-width:0;padding:17px 20px;display:flex}.account-strip span{color:#8a9692;font-size:var(--text-xs)}.account-strip strong{font-size:var(--text-xs);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}@media (width<=1000px){.login-layout{grid-template-columns:1fr}.login-intro{min-height:430px;padding:34px 8vw}.intro-copy{padding:50px 0 25px}.intro-copy h1{font-size:44px}.login-panel{min-height:550px}.app-shell{grid-template-columns:82px 1fr}.sidebar{align-items:center;padding:24px 14px}.sidebar .brand>span:last-child,.nav-label,.sidebar-user-copy{display:none}.sidebar nav{width:100%}.nav-item{justify-content:center;padding:0;font-size:0}.sidebar-user{grid-template-columns:36px;justify-content:center;padding:15px 0 0}.sidebar-logout{width:46px;font-size:var(--text-xs)}.company-grid{grid-template-columns:1fr 1fr}}@media (width<=680px){.login-intro{min-height:380px}.intro-copy h1{font-size:36px}.login-panel{min-height:auto;padding:50px 24px}.app-shell{display:block}.sidebar{flex-direction:row;justify-content:space-between;width:100%;height:auto;padding:16px 20px;position:static}.sidebar nav{display:none}.sidebar-user{border:0;margin:0;padding:0}.main-content{padding:28px 20px 42px}.topbar h1{font-size:var(--text-2xl)}.welcome-banner{flex-direction:column;align-items:flex-start;padding:26px}.company-grid{grid-template-columns:1fr}.company-card{min-height:0}.section-heading{flex-direction:column;align-items:flex-start}.account-strip{grid-template-columns:1fr}.access-card{padding:32px 22px}}.nav-item:is(button){text-align:left;cursor:pointer;background:0 0;border:0;width:100%;font-family:inherit}.nav-item:is(button):hover:not(.active){color:var(--green);background:#edf3f0}.nav-item:is(button).active{background:var(--green)}.master-page{margin-top:38px}.master-heading{justify-content:space-between;align-items:flex-end;gap:24px;margin-bottom:24px;display:flex}.master-heading .eyebrow{margin-bottom:8px}.master-heading h2{font-size:var(--text-2xl);margin:0}.master-heading>div>p:last-child{color:var(--muted);font-size:var(--text-xs);margin:10px 0 0;line-height:1.7}.primary-button,.outline-button{min-height:var(--control-height);padding:0 var(--space-4);border-radius:var(--radius-md);font:600 var(--text-sm)/1.4 var(--font-family);transition:all .18s}.primary-button{border:1px solid var(--green);color:#fff;background:var(--green);box-shadow:0 6px 14px #175c4a24}.primary-button:hover:not(:disabled){background:var(--color-primary-dark)}.primary-button:disabled{opacity:.45;cursor:not-allowed}.outline-button{color:var(--green);background:#fff;border:1px solid #c8d4ce}.outline-button:hover:not(:disabled){border-color:var(--green);background:#f3f8f5}.outline-button:disabled{opacity:.5}.success-notice{color:#22624f;font-size:var(--text-xs);background:#edf7f2;border:1px solid #b9d9ca;border-radius:9px;justify-content:space-between;align-items:center;margin-bottom:16px;padding:12px 15px;display:flex}.success-notice button{color:inherit;font-size:var(--text-lg);background:0 0;border:0}.master-layout{grid-template-columns:minmax(220px,280px) minmax(0,1fr);align-items:start;gap:18px;display:grid}.master-company-panel,.master-school-panel{border:1px solid var(--line);background:#fff;border-radius:12px;box-shadow:0 5px 16px #1d352e09}.master-company-panel{overflow:hidden}.panel-title{border-bottom:1px solid var(--line);font-size:var(--text-xs);justify-content:space-between;align-items:center;padding:17px 18px;font-weight:700;display:flex}.panel-title small{color:var(--muted);font-weight:500}.master-company-list{flex-direction:column;padding:7px;display:flex}.master-company-item{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;justify-content:space-between;align-items:center;gap:10px;padding:13px 11px;display:flex}.master-company-item:hover{background:#f4f7f5}.master-company-item.selected{background:#eaf2ee}.master-company-item>span:first-child{flex-direction:column;gap:5px;min-width:0;display:flex}.master-company-item strong{font-size:var(--text-xs);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.master-company-item small{color:var(--muted);font-size:var(--text-xs)}.status-pill{min-width:42px;font-size:var(--text-xs);white-space:nowrap;border-radius:20px;justify-content:center;align-items:center;padding:4px 8px;font-weight:700;display:inline-flex}.status-pill.enabled{color:#27634f;background:#dfeee7}.status-pill.disabled-status{color:#7c8581;background:#e9eceb}.master-school-panel{min-height:390px;padding:24px}.school-panel-heading{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:22px;display:flex}.panel-kicker{color:#8a9692;font-size:var(--text-xs)}.school-panel-heading h3{font-size:var(--text-xl);margin:7px 0 0}.school-panel-heading p{color:var(--muted);font-size:var(--text-xs);margin:8px 0 0}.master-actions{flex:none;gap:8px;display:flex}.inline-warning{color:#8b611f;font-size:var(--text-xs);background:#fff6e7;border-radius:7px;margin:-5px 0 18px;padding:10px 12px}.master-table-wrap{overflow-x:auto}.master-table{border-collapse:collapse;width:100%;font-size:var(--text-xs)}.master-table th{color:#77837e;text-align:left;font-size:var(--text-xs);letter-spacing:.03em;white-space:nowrap;border-bottom:1px solid #cad4cf;padding:10px 12px;font-weight:700}.master-table td{color:#52615c;vertical-align:middle;border-bottom:1px solid #e7ebe8;padding:15px 12px}.master-table tr:last-child td{border-bottom:0}.master-table td strong{color:var(--ink);font-size:var(--text-xs)}.order-cell{width:70px;font-family:var(--font-family)}.notes-cell{white-space:nowrap;text-overflow:ellipsis;max-width:250px;overflow:hidden}.row-edit-button{color:var(--green);font-size:var(--text-xs);background:#eef5f2;border:0;border-radius:6px;padding:7px 9px;font-weight:700}.row-edit-button:hover{background:#dcebe4}.empty-cell{text-align:center;color:var(--muted)!important;padding:42px!important}.empty-panel{min-height:340px;color:var(--muted);font-size:var(--text-xs);place-items:center;display:grid}.master-state{min-height:430px;color:var(--muted);font-size:var(--text-xs);flex-direction:column;justify-content:center;align-items:center;display:flex}.error-state{color:#9c382e}.compact-button{width:auto;min-height:40px;margin-top:8px;padding:0 18px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.master-school-panel{min-width:0}.master-table-wrap{width:100%;max-width:100%}.organization-school-table{min-width:760px}.organization-school-table th:nth-child(2),.organization-school-table td:nth-child(2){white-space:nowrap;min-width:150px}.organization-school-table th:nth-child(3),.organization-school-table td:nth-child(3){min-width:240px}.organization-school-table th:last-child,.organization-school-table td:last-child{white-space:nowrap;width:64px}.modal-backdrop{z-index:50;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0a1d1880;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.master-dialog{background:#fff;border:0;border-radius:15px;width:min(100%,590px);max-height:calc(100vh - 48px);padding:28px;overflow-y:auto;box-shadow:0 26px 80px #09231c3d}.dialog-heading{justify-content:space-between;align-items:flex-start;margin-bottom:24px;display:flex}.dialog-heading .eyebrow{margin-bottom:7px}.dialog-heading h2{font-size:var(--text-xl);margin:0}.dialog-close{color:#6e7b76;width:34px;height:34px;font-size:var(--text-xl);background:#eef2f0;border:0;border-radius:50%;place-items:center;display:grid}.form-error{color:#963d34;font-size:var(--text-xs);background:#fff3f1;border:1px solid #edc9c5;border-radius:8px;margin-bottom:18px;padding:11px 13px;line-height:1.6}.master-form-grid{grid-template-columns:1fr 160px;gap:17px 15px;display:grid}.field{flex-direction:column;gap:7px;display:flex}.field-wide{grid-column:1/-1}.field>span{color:#596762;font-size:var(--text-xs);font-weight:700}.field em{color:#9b463b;font-size:var(--text-xs);font-style:normal}.field input:not([type=checkbox]):not([type=radio]),.field select,.field textarea{border-radius:var(--radius-sm);width:100%;color:var(--ink);font:var(--text-base)/1.5 var(--font-family);background:#fff;border:1px solid #ccd6d1;outline:none;padding:10px 11px}.field input:not([type=checkbox]):not([type=radio]),.field select{height:var(--control-height)}.field textarea{resize:vertical}.field input:not([type=checkbox]):not([type=radio]):focus,.field select:focus,.field textarea:focus{border-color:var(--green);box-shadow:0 0 0 3px #175c4a17}.toggle-field{cursor:pointer;background:#f4f7f5;border-radius:8px;align-items:flex-start;gap:10px;padding:13px;display:flex}.toggle-field input{accent-color:var(--green);margin-top:3px}.toggle-field span{flex-direction:column;gap:4px;display:flex}.toggle-field strong{font-size:var(--text-xs)}.toggle-field small{color:var(--muted);font-size:var(--text-xs)}.company-change-box{background:#fff9ef;border:1px solid #e8cfa8;border-radius:9px;padding:14px}.company-change-box>strong{color:#8b5f21;font-size:var(--text-xs)}.company-change-box>p{color:#806d53;font-size:var(--text-xs);margin:6px 0 12px;line-height:1.6}.dialog-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:9px;margin-top:26px;padding-top:19px;display:flex}.master-form-section{border:1px solid var(--line);border-radius:var(--radius-md);background:var(--color-surface-muted);min-width:0;margin:2px 0 0;padding:16px}.master-form-section>legend{color:var(--ink);font-size:var(--text-sm);padding:0 6px;font-weight:700}.master-form-section>p{color:var(--muted);font-size:var(--text-xs);margin:0 0 14px;line-height:1.6}.master-form-section-grid{grid-template-columns:1fr 160px;gap:17px 15px;display:grid}.master-form-section .field small{color:var(--muted);font-size:var(--text-xs);line-height:1.6}@media (width<=1100px){.master-layout{grid-template-columns:220px minmax(0,1fr)}.school-panel-heading{flex-direction:column}.master-actions{width:100%}}@media (width<=800px){.master-heading{flex-direction:column;align-items:flex-start}.master-layout{grid-template-columns:1fr}.master-company-list{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.master-school-panel{padding:18px}.master-actions{flex-wrap:wrap}.notes-cell{max-width:150px}}@media (width<=680px){.master-page{margin-top:28px}.master-company-list,.master-form-grid,.master-form-section-grid{grid-template-columns:1fr}.modal-backdrop{padding:12px}.master-dialog{max-height:calc(100vh - 24px);padding:22px}.school-panel-heading{gap:14px}.master-actions .primary-button,.master-actions .outline-button{flex:1}.master-table th:first-child,.master-table td:first-child,.master-table th:nth-child(4),.master-table td:nth-child(4){display:none}}.user-master-page{margin-top:38px}.user-summary-row{border:1px solid var(--line);background:var(--line);border-radius:10px;grid-template-columns:repeat(3,1fr);gap:1px;margin-bottom:18px;display:grid;overflow:hidden}.user-summary-row>div{background:#f9fbf9;align-items:baseline;gap:9px;padding:14px 18px;display:flex}.user-summary-row strong{color:var(--green);font:700 var(--text-xl) var(--font-family)}.user-summary-row span{color:var(--muted);font-size:var(--text-xs)}.user-master-layout{grid-template-columns:minmax(260px,320px) minmax(0,1fr);align-items:start;gap:18px;display:grid}.user-list-panel,.user-detail-panel{border:1px solid var(--line);background:#fff;border-radius:12px;box-shadow:0 5px 16px #1d352e09}.user-list-panel{overflow:hidden}.user-list-tools{border-bottom:1px solid var(--line);background:#f8faf8;grid-template-columns:1fr 90px;gap:7px;padding:12px;display:grid}.user-list-tools input,.user-list-tools select{border-radius:var(--radius-sm);min-width:0;height:36px;color:var(--ink);font:var(--text-base) var(--font-family);background:#fff;border:1px solid #ccd6d1;outline:none;padding:0 9px}.user-list-tools input:focus,.user-list-tools select:focus{border-color:var(--green)}.user-list{max-height:690px;padding:7px;overflow-y:auto}.user-list-item{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 9px;display:grid}.user-list-item:hover{background:#f4f7f5}.user-list-item.selected{background:#e8f2ed}.small-avatar{width:34px;height:34px;font-size:var(--text-xs);flex-basis:34px}.user-list-copy{flex-direction:column;gap:3px;min-width:0;display:flex}.user-list-copy strong,.user-list-copy small,.user-list-copy>span{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.user-list-copy strong{font-size:var(--text-xs)}.user-list-copy small{color:var(--muted);font-size:var(--text-xs)}.user-list-copy>span{color:#687670;font-size:var(--text-xs)}.user-state-label{color:#68746f;min-height:24px;font-size:var(--text-xs);white-space:nowrap;background:#edf0ef;border-radius:999px;align-items:center;padding:3px 7px;font-weight:700;display:inline-flex}.user-state-label.on{color:#27634f;background:#dfeee7}.user-list-empty{color:var(--muted);font-size:var(--text-xs);text-align:center;padding:35px 15px}.user-detail-panel{min-height:520px;padding:24px}.user-detail-heading{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:20px;padding-bottom:22px;display:flex}.user-profile{align-items:center;gap:14px;display:flex}.profile-avatar{width:52px;height:52px;font-size:var(--text-md);flex-basis:52px}.user-profile h3{font-size:var(--text-xl);margin:7px 0 3px}.user-profile p{color:var(--muted);font-size:var(--text-xs);margin:0}.access-detail-grid{border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;gap:20px 28px;padding:24px 0;display:grid}.access-detail-grid h4,.account-section h4{color:#56645f;font-size:var(--text-xs);margin:0 0 10px}.wide-detail{grid-column:1/-1}.tag-list{flex-wrap:wrap;gap:7px;display:flex}.access-tag{color:#43544e;font-size:var(--text-xs);background:#f8faf9;border:1px solid #d8e0dc;border-radius:7px;align-items:center;gap:5px;padding:7px 9px;display:inline-flex}.access-tag small{color:#899590;font-size:var(--text-xs)}.access-tag b{color:#fff;width:18px;height:18px;font-size:var(--text-xs);background:#987046;border-radius:50%;place-items:center;margin-left:2px;display:grid}.role-tag{color:#225947;background:#edf6f2;border-color:#c7ddd3}.capability-tag{color:#5b5879;background:#f5f4fa;border-color:#dad8e8}.empty-text{color:#99a39f;font-size:var(--text-xs);margin:0}.account-section{padding:22px 0 0}.subsection-heading{justify-content:space-between;align-items:center;display:flex}.subsection-heading span{color:var(--muted);font-size:var(--text-xs)}.account-card-list{flex-direction:column;gap:7px;display:flex}.account-card{background:#fbfcfb;border:1px solid #e0e6e2;border-radius:8px;justify-content:space-between;align-items:center;gap:14px;padding:12px 13px;display:flex}.account-card>div{flex-direction:column;gap:4px;min-width:0;display:flex}.account-card strong{font-size:var(--text-xs);white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.account-card span{color:var(--muted);font-size:var(--text-xs)}.invitation-card{background:#fffdf8;border-style:dashed}.danger-text-button,.restore-text-button{color:#9b4940;font-size:var(--text-xs);background:0 0;border:0;flex:none;padding:5px;font-weight:700}.restore-text-button{color:var(--green)}.boxed-empty{text-align:center;background:#f6f8f7;border-radius:8px;padding:16px}.user-dialog{width:min(100%,780px)}.user-dialog .dialog-heading{margin-bottom:18px}.user-form-section{border-top:1px solid var(--line);padding:21px 0}.user-form-section:first-of-type{border-top:0}.user-form-section>h3{font-size:var(--text-sm);margin:0}.user-form-section>p{color:var(--muted);font-size:var(--text-xs);margin:6px 0 13px;line-height:1.6}.self-edit-note{color:#725522;font-size:var(--text-xs);background:#fff6e5;border-radius:8px;margin-bottom:15px;padding:10px 12px}.choice-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.role-choice-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.choice-card{cursor:pointer;border:1px solid #dce3df;border-radius:8px;align-items:flex-start;gap:9px;padding:11px;display:flex}.choice-card.checked{background:#edf6f2;border-color:#8db8a6}.choice-card input{accent-color:var(--green);margin-top:2px}.choice-card span{flex-direction:column;gap:3px;display:flex}.choice-card strong{font-size:var(--text-xs)}.choice-card small{color:var(--muted);font-size:var(--text-xs)}.membership-choice-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:7px;display:grid}.membership-choice{min-height:40px;font-size:var(--text-xs);border:1px solid #dce3df;border-radius:7px;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;display:flex}.membership-choice.checked{background:#f0f7f4;border-color:#9fbfb2}.membership-choice>label:first-child{align-items:center;gap:7px;min-width:0;font-weight:600;display:flex}.membership-choice input{accent-color:var(--green)}.primary-radio{color:#8c643d;font-size:var(--text-xs);flex:none;align-items:center;gap:3px;display:flex}.school-choice-groups{flex-direction:column;gap:14px;display:flex}.school-choice-groups section h4{color:#697670;font-size:var(--text-xs);margin:0 0 7px}.sticky-actions{background:#fff;margin:10px -28px -28px;padding:17px 28px;position:sticky;bottom:-28px;box-shadow:0 -10px 22px #142d260d}.invite-dialog{width:min(100%,500px)}.invite-description{color:var(--muted);font-size:var(--text-xs);margin:-8px 0 20px;line-height:1.7}@media (width<=1150px){.user-master-layout{grid-template-columns:270px minmax(0,1fr)}.user-detail-heading{flex-direction:column}.user-detail-heading .master-actions{width:100%}.role-choice-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=850px){.user-master-layout{grid-template-columns:1fr}.user-list{max-height:320px}.user-detail-panel{padding:18px}.membership-choice-list{grid-template-columns:1fr}}@media (width<=680px){.user-master-page{margin-top:28px}.user-summary-row{grid-template-columns:1fr}.user-detail-heading .master-actions{flex-direction:column}.user-detail-heading .master-actions button{width:100%}.access-detail-grid{grid-template-columns:1fr}.wide-detail{grid-column:auto}.choice-grid,.role-choice-grid{grid-template-columns:1fr}.user-dialog{padding:20px}.sticky-actions{margin:10px -20px -20px;padding:15px 20px;bottom:-20px}.account-card{align-items:flex-start}.user-list-tools{grid-template-columns:1fr}}.user-filter-bar{border:1px solid var(--line);background:#fff;border-radius:10px;grid-template-columns:minmax(190px,1.4fr) minmax(140px,1fr) minmax(150px,1fr) minmax(130px,.85fr) minmax(110px,.7fr) auto;align-items:end;gap:10px;margin-bottom:18px;padding:14px 16px;display:grid}.filter-field{flex-direction:column;gap:6px;min-width:0;display:flex}.filter-field>span{color:#56645f;font-size:var(--text-xs);font-weight:700}.filter-field input,.filter-field select{border-radius:var(--radius-sm);width:100%;min-width:0;height:40px;color:var(--ink);font:var(--text-base) var(--font-family);background:#fff;border:1px solid #cbd5d0;outline:none;padding:0 10px}.filter-field input:focus,.filter-field select:focus{border-color:var(--green);box-shadow:0 0 0 3px #175c4a17}.filter-result-count{height:40px;color:var(--muted);font-size:var(--text-xs);white-space:nowrap;justify-content:flex-end;align-items:center;gap:3px;display:flex}.filter-result-count strong{color:var(--green);font:700 var(--text-lg) var(--font-family)}.choice-card.locked{color:#909995;cursor:not-allowed;background:#f5f6f5;border-color:#e5e8e6}.choice-card.locked input{cursor:not-allowed}.choice-card.locked small{color:#9ba39f}.brand small,.nav-label,.sidebar-user small,.account-strip span,.panel-kicker,.status-pill,.master-company-item small,.filter-field>span,.breadcrumb,.status-badge,.permission-chip,.company-card-head,.company-card li,.account-strip strong,.master-heading>div>p:last-child,.school-panel-heading p,.master-table,.field>span,.toggle-field strong,.company-change-box>strong,.user-summary-row span,.user-list-copy small,.user-list-copy>span,.user-profile p,.access-detail-grid h4,.account-section h4,.access-tag,.empty-text,.account-card strong,.account-card span,.user-form-section>p,.choice-card strong,.choice-card small,.membership-choice,.school-choice-groups section h4,.invite-description{font-size:var(--text-xs)}.nav-item,.welcome-banner p,.master-company-item strong,.master-table td strong,.user-list-copy strong,.primary-button,.outline-button{font-size:var(--text-sm)}.sidebar-user strong,.text-button,.row-edit-button,.form-error,.self-edit-note,.access-tag small{font-size:var(--text-xs)}@media (width<=1050px){.user-filter-bar{grid-template-columns:repeat(3,minmax(0,1fr))}.filter-result-count{justify-content:flex-start}}@media (width<=680px){.user-filter-bar{grid-template-columns:1fr 1fr;padding:12px}.filter-search-wide{grid-column:1/-1}.filter-result-count{justify-content:flex-start}}.metrics-page{margin-top:0}.metrics-page .ui-page-header{align-items:center;margin-bottom:18px}.metrics-page .ui-page-header h1{font-size:var(--text-page-title)}.metrics-page .ui-page-description{font-size:var(--text-sm);margin-top:3px}.metrics-heading-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.metrics-filters{border:1px solid var(--line);background:#fff;border-radius:11px;grid-template-columns:minmax(220px,1fr) 150px minmax(210px,auto);align-items:end;gap:12px;margin-bottom:18px;padding:16px;display:grid}.metrics-status{justify-content:flex-end;align-items:center;gap:10px;height:40px;display:flex}.metrics-status small{color:var(--muted);font-size:var(--text-xs)}.metrics-table-wrap{border:1px solid var(--line);background:#fff;border-radius:12px;overflow-x:auto;box-shadow:0 5px 16px #1d352e09}.metrics-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:1120px}.metrics-table th,.metrics-table td{border-bottom:1px solid #e4e9e6;border-right:1px solid #e4e9e6}.metrics-table tr:last-child th,.metrics-table tr:last-child td{border-bottom:0}.metrics-table th:last-child,.metrics-table td:last-child{border-right:0}.metrics-table thead th{color:#687670;height:58px;font-size:var(--text-xs);text-align:center;background:#f6f8f7;padding:8px}.metrics-table .metric-name-column{text-align:left;width:190px;padding-left:18px}.metrics-table tbody th{text-align:left;background:#fbfcfb;padding:16px 18px}.metrics-table tbody th strong,.metrics-table tbody th small{display:block}.metrics-table tbody th strong{font-size:var(--text-sm)}.metrics-table tbody th small{color:var(--muted);font-size:var(--text-xs);margin-top:5px;font-weight:400;line-height:1.5}.metrics-table td{padding:8px}.metrics-table input{width:100%;height:var(--control-height);border-radius:var(--radius-sm);color:var(--ink);font:600 var(--text-base) var(--font-family);text-align:right;background:#fff;border:1px solid #ccd6d1;outline:none;padding:0 8px}.metrics-table input:focus{border-color:var(--green);box-shadow:0 0 0 3px #175c4a17}.metrics-table input:disabled{color:#78847f;background:#f3f5f4}.metrics-table input::placeholder{color:#b2bab6;font:400 var(--text-base) var(--font-family)}.dirty-mark{color:#8a5b24;width:max-content;font-size:var(--text-xs);background:#fff0d7;border-radius:8px;margin:4px auto 0;padding:2px 5px;display:block}.metrics-footnote{color:var(--muted);font-size:var(--text-xs);margin:13px 2px 0;line-height:1.7}.metrics-table .metric-section-row th{color:#315247;font-size:var(--text-xs);letter-spacing:.08em;background:#e8f0ed;padding:9px 18px}.metrics-table .metric-calculated-row th,.metrics-table .metric-calculated-row td{background:#f1f6f4}.metrics-table .metric-calculated-row td{color:#52635d;text-align:right;font-size:var(--text-xs);font-variant-numeric:tabular-nums;white-space:nowrap;padding:11px 8px}.metrics-overview{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin:0 0 14px;display:grid}.metrics-overview article{background:#fff;border:1px solid #dce5e1;border-radius:10px;align-items:center;gap:11px;min-height:86px;padding:12px 14px;display:flex;box-shadow:0 3px 12px #1d352e06}.metrics-overview article.has-dirty{background:#fffaf1;border-color:#f0c77b}.metrics-overview-icon{height:36px;font-size:var(--text-base);border-radius:50%;flex:0 0 36px;place-items:center;font-weight:700;display:grid}.metrics-overview-icon.is-teal{color:#087f79;background:#e5f6f4}.metrics-overview-icon.is-green{color:#25835b;background:#eaf7ef}.metrics-overview-icon.is-amber{color:#a76509;background:#fff3dc}.metrics-overview-icon.is-blue{color:#2865ac;background:#eaf2ff}.metrics-overview article div{min-width:0}.metrics-overview small{color:#687771;font-size:var(--text-xs);font-weight:700;display:block}.metrics-overview strong{color:#16231f;font-size:var(--text-xl);font-variant-numeric:tabular-nums;margin-top:2px;line-height:1.1;display:block}.metrics-overview strong em{font-size:var(--text-xs);margin-left:3px;font-style:normal;font-weight:700}.metrics-overview p{color:#7a8983;font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;margin:4px 0 0;overflow:hidden}.metrics-guide{margin-bottom:10px}.metrics-month-button{width:100%;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;place-items:center;gap:1px;display:grid}.metrics-month-button:hover{color:#087f79}.metrics-month-button small{font-size:var(--text-xs);opacity:0;font-weight:600}.metrics-month-button:hover small,.metrics-month-button:focus-visible small{opacity:1}.metrics-drawer-backdrop{z-index:89;cursor:default;background:#11231e2e;border:0;position:fixed;inset:0}.metrics-month-drawer{z-index:90;background:#fff;border-left:1px solid #d8e2de;width:min(390px,100vw - 24px);position:fixed;top:0;bottom:0;right:0;overflow-y:auto;box-shadow:-14px 0 36px #1a342c24}.metrics-month-drawer>header{border-bottom:1px solid #e1e8e5;justify-content:space-between;gap:16px;padding:24px;display:flex}.metrics-month-drawer header h3{font-size:var(--text-xl);margin:3px 0 4px}.metrics-month-drawer header p:last-child{color:#718079;font-size:var(--text-xs);margin:0}.metrics-month-drawer header>button{color:#52635d;width:34px;height:34px;font-size:var(--text-xl);cursor:pointer;background:#f1f5f3;border:0;border-radius:8px}.metrics-month-drawer>section{border-bottom:1px solid #e5ebe8;padding:20px 24px}.metrics-month-drawer h4{font-size:var(--text-base);margin:0 0 12px}.metrics-month-drawer dl{gap:10px;margin:0;display:grid}.metrics-month-drawer dl div{justify-content:space-between;align-items:center;gap:18px;display:flex}.metrics-month-drawer dt{color:#718079;font-size:var(--text-xs)}.metrics-month-drawer dd{color:#16231f;font-size:var(--text-xs);font-variant-numeric:tabular-nums;margin:0;font-weight:700}.metrics-drawer-meta{background:#f8faf9}.metrics-month-drawer>footer{justify-content:flex-end;padding:18px 24px;display:flex}@media (width<=900px){.metrics-filters{grid-template-columns:1fr 140px}.metrics-status{grid-column:1/-1;justify-content:flex-start}.metrics-page .ui-page-header{align-items:flex-start}.metrics-heading-actions{justify-content:flex-start;width:100%}.metrics-heading-actions .primary-button{flex:1}}@media (width<=1100px){.metrics-overview{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.metrics-page{margin-top:0}.metrics-filters{grid-template-columns:1fr}.metrics-status{grid-column:auto}.metrics-table .metric-name-column{width:155px}.metrics-overview{grid-template-columns:1fr}.metrics-heading-actions .outline-button,.metrics-heading-actions .primary-button{flex:auto;width:100%}}.status-page{margin-top:38px}.status-summary-grid{border:1px solid var(--line);background:var(--line);border-radius:11px;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-bottom:18px;display:grid;overflow:hidden}.status-summary-grid article{background:#fff;flex-direction:column;gap:9px;min-height:92px;padding:18px 20px;display:flex}.status-summary-grid span{color:var(--muted);font-size:var(--text-xs)}.status-summary-grid strong{color:var(--green);font:700 var(--text-page-title)/1.15 var(--font-family)}.status-summary-grid .date-value{font:600 var(--text-base)/1.4 var(--font-family)}.status-summary-grid .warning-number{color:#a56328}.status-toolbar{border:1px solid var(--line);background:#f8faf8;border-radius:10px;justify-content:space-between;align-items:flex-end;gap:20px;margin-bottom:12px;padding:14px 16px;display:flex}.status-toolbar .filter-field{width:min(260px,100%)}.status-toolbar select{border-radius:var(--radius-sm);height:38px;color:var(--ink);font:var(--text-base) var(--font-family);background:#fff;border:1px solid #ccd6d1;padding:0 10px}.status-toolbar p{color:var(--muted);font-size:var(--text-xs);margin:0}.status-table-card{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 5px 16px #1d352e09}.status-table{min-width:980px}.status-table td{white-space:nowrap}.status-table td:first-child,.status-table td:nth-child(2){white-space:normal}.status-table td>small{color:var(--muted);font-size:var(--text-xs);margin-bottom:4px;display:block}.status-table td>strong+small{margin-top:5px;margin-bottom:0}.status-table code{color:#66736e;max-width:150px;font:var(--text-xs) "DM Mono",monospace;text-overflow:ellipsis;vertical-align:middle;display:inline-block;overflow:hidden}.execution-status{color:#52615c;font-size:var(--text-xs);background:#e9eeeb;border-radius:20px;padding:5px 8px;font-weight:700;display:inline-flex}.status-succeeded{color:#27634f;background:#dfeee7}.status-running,.status-queued{color:#285f91;background:#e2eef9}.status-succeeded_with_warnings,.status-partial_failed,.status-stale{color:#8b611f;background:#fff0d7}.status-failed,.status-cancelled{color:#963d34;background:#fde7e4}.warning-status{color:#8b611f;background:#fff0d7}.operations-admin-page{margin-top:0}.operations-admin-page .ui-page-header{align-items:center;margin-bottom:18px}.operations-admin-page .ui-page-header h1{font-size:var(--text-page-title)}.operations-admin-tabs{border-bottom:1px solid #dbe4e0;gap:4px;margin-bottom:18px;display:flex}.operations-admin-tabs button{min-height:var(--control-height);color:#687771;font-size:var(--text-xs);cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;padding:0 18px;font-weight:700}.operations-admin-tabs button:hover{color:#087f79;background:#f3f8f6}.operations-admin-tabs button.is-active{color:#087f79;border-bottom-color:#07949a}.operations-import-workspace{flex-direction:column;gap:20px;display:flex}.operations-migration-notice{background:#fff9ef;border:1px solid #f0cf91;border-radius:10px;padding:15px 18px}.operations-migration-notice strong{color:#8c5d16;font-size:var(--text-sm)}.operations-migration-notice p{color:#78694e;font-size:var(--text-xs);margin:5px 0 0;line-height:1.7}.operations-migration-notice.is-neutral{background:#f5f9f8;border-color:#cfdeda}.operations-migration-notice.is-neutral strong{color:#246252}.operations-migration-notice.is-neutral p{color:#5f716a}.operations-subsection-heading{justify-content:space-between;align-items:center;gap:18px;margin-bottom:12px;display:flex}.operations-subsection-heading h2{font-size:var(--text-md);margin:0}.operations-subsection-heading p{color:var(--muted);font-size:var(--text-xs);margin:4px 0 0}.import-review-panel,.ledger-import-status-panel{border:1px solid var(--line);background:#fff;border-radius:12px;padding:18px;box-shadow:0 5px 16px #1d352e09}.import-review-panel .import-section{margin-top:0}.ledger-import-status-panel .status-summary-grid{margin-bottom:14px}@media (width<=760px){.status-page{margin-top:28px}.operations-admin-page{margin-top:0}.status-summary-grid{grid-template-columns:1fr}.status-summary-grid article{min-height:0}.status-toolbar{flex-direction:column;align-items:stretch}.status-toolbar .filter-field{width:100%}.operations-admin-tabs{overflow-x:auto}.operations-admin-tabs button{flex:none}.operations-subsection-heading{flex-direction:column;align-items:flex-start}.operations-subsection-heading button{width:100%}}.teacher-page{margin-top:38px}.teacher-summary{border:1px solid var(--line);background:var(--line);border-radius:10px;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin-bottom:18px;display:grid;overflow:hidden}.teacher-summary article{background:#fff;align-items:baseline;gap:10px;padding:15px 18px;display:flex}.teacher-summary strong{color:var(--green);font:700 var(--text-2xl) var(--font-family)}.teacher-summary span{color:var(--muted);font-size:var(--text-xs)}.teacher-filter-bar{border:1px solid var(--line);background:#fff;border-radius:10px;grid-template-columns:minmax(220px,1.5fr) minmax(150px,1fr) minmax(150px,1fr) 120px auto;align-items:end;gap:10px;margin-bottom:14px;padding:14px 16px;display:grid}.teacher-table-card{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 5px 16px #1d352e09}.teacher-table td>small{color:var(--muted);font-size:var(--text-xs);margin-top:5px;display:block}.teacher-table code{font:var(--text-xs) "DM Mono",monospace}.membership-tags{flex-wrap:wrap;gap:5px;display:flex}.membership-tags span{color:#476158;font-size:var(--text-xs);background:#eef4f1;border-radius:6px;align-items:center;gap:4px;padding:5px 7px;display:inline-flex}.membership-tags b{color:#fff;width:17px;height:17px;font-size:var(--text-xs);background:#8d6a44;border-radius:50%;place-items:center;display:grid}.teacher-dialog{width:min(100%,720px)}.teacher-school-section{border-top:1px solid var(--line);margin-top:23px;padding-top:21px}.teacher-school-section h3{font-size:var(--text-sm);margin:0}.teacher-school-section>p{color:var(--muted);font-size:var(--text-xs);margin:7px 0 13px}@media (width<=1000px){.teacher-filter-bar{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-filter-bar .filter-result-count{grid-column:1/-1}}@media (width<=767px){.teacher-page{margin-top:28px}.teacher-summary,.teacher-filter-bar{grid-template-columns:1fr}.teacher-filter-bar .filter-result-count{grid-column:auto}}.cost-page{margin-top:38px}.cost-filter-panel{border:1px solid var(--line);background:#fff;border-radius:11px;grid-template-columns:minmax(230px,1fr) 170px minmax(250px,auto);align-items:end;gap:12px;margin-bottom:14px;padding:16px;display:grid}.basis-switch{background:#edf1ef;border-radius:8px;height:40px;padding:3px;display:flex}.basis-switch button{color:#687670;font:600 var(--text-xs) var(--font-family);white-space:nowrap;background:0 0;border:0;border-radius:6px;flex:1;padding:0 13px}.basis-switch button.active{color:#fff;background:var(--green);box-shadow:0 3px 8px #175c4a29}.basis-note{color:#285d4d;font-size:var(--text-xs);background:#edf6f2;border:1px solid #c5dbd1;border-radius:9px;align-items:center;gap:12px;margin-bottom:14px;padding:11px 14px;display:flex}.basis-note span{color:#61736d}.basis-note.confidential-note{color:#7c5521;background:#fff7e9;border-color:#e1c79e}.cost-summary-grid{border:1px solid var(--line);background:var(--line);border-radius:10px;grid-template-columns:1.3fr repeat(3,1fr);gap:1px;margin-bottom:14px;display:grid;overflow:hidden}.cost-summary-grid article{background:#fff;flex-direction:column;gap:8px;min-height:88px;padding:17px 18px;display:flex}.cost-summary-grid span{color:var(--muted);font-size:var(--text-xs)}.cost-summary-grid strong{color:var(--green);font:700 var(--text-lg) var(--font-family)}.cost-summary-grid .scope-value{color:var(--ink);font:600 var(--text-xs)/1.5 var(--font-family)}.cost-table-card{border:1px solid var(--line);background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 5px 16px #1d352e09}.cost-table{min-width:760px}.cost-table td>small{color:var(--muted);font-size:var(--text-xs);margin-top:5px;display:block}.money-cell{text-align:right;font-family:var(--font-family)}.total-money{font-weight:700;color:var(--ink)!important}.cost-adjustment-panel{background:#fffaf1;border:1px solid #e1c79e;border-radius:10px;grid-template-columns:minmax(240px,1fr) 170px minmax(260px,1fr) auto;align-items:end;gap:12px;margin-bottom:14px;padding:16px;display:grid}.cost-adjustment-panel h3{font-size:var(--text-base);margin:3px 0 5px}.cost-adjustment-panel p{color:var(--muted);font-size:var(--text-xs);margin:0}.cost-adjustment-panel input{border-radius:var(--radius-sm);background:#fff;border:1px solid #d7c5a8;width:100%;height:40px;padding:0 10px}@media (width<=1100px){.cost-adjustment-panel{grid-template-columns:1fr 1fr}.cost-adjustment-panel>div:first-child{grid-column:1/-1}}@media (width<=680px){.cost-adjustment-panel{grid-template-columns:1fr}.cost-adjustment-panel>div:first-child{grid-column:auto}}@media (width<=900px){.cost-filter-panel{grid-template-columns:1fr 160px}.basis-switch{grid-column:1/-1}.cost-summary-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=600px){.cost-page{margin-top:28px}.cost-filter-panel,.cost-summary-grid{grid-template-columns:1fr}.basis-switch{grid-column:auto}.basis-note{flex-direction:column;align-items:flex-start}}.business-plan-page{margin-top:38px}.filter-row{border:1px solid var(--line);background:#fff;border-radius:10px;gap:12px;margin-bottom:16px;padding:15px;display:flex}.filter-row label{color:#56645f;font-size:var(--text-xs);flex-direction:column;gap:6px;font-weight:700;display:flex}.filter-row select,.filter-row input{border-radius:var(--radius-sm);min-width:180px;height:40px;color:var(--ink);font:var(--text-base) var(--font-family);background:#fff;border:1px solid #ccd6d1;padding:0 10px}.month-tabs{background:#edf1ef;border-radius:9px;gap:4px;margin-bottom:14px;padding:5px;display:flex;overflow-x:auto}.month-tabs button{color:#687670;min-width:58px;height:36px;font:600 var(--text-xs) var(--font-family);background:0 0;border:0;border-radius:6px;flex:1}.month-tabs button.active{color:#fff;background:var(--green)}.summary-cards{border:1px solid var(--line);background:var(--line);border-radius:10px;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.summary-cards article{background:#fff;flex-direction:column;gap:7px;padding:14px 17px;display:flex}.summary-cards span{color:var(--muted);font-size:var(--text-xs)}.summary-cards strong{color:var(--green);font:700 var(--text-lg) var(--font-family)}.compact-summary{margin-bottom:14px}.table-scroll{border:1px solid var(--line);background:#fff;border-radius:11px;overflow:auto}.data-table{border-collapse:collapse;width:100%}.data-table th,.data-table td{text-align:left;border-bottom:1px solid #e5eae7;padding:9px}.data-table thead th{color:#687670;font-size:var(--text-xs);background:#f6f8f7}.data-table tbody th{min-width:120px;font-size:var(--text-xs)}.plan-table{min-width:850px}.plan-table input{text-align:right;border:1px solid #ccd6d1;border-radius:6px;width:100%;height:38px;padding:0 8px}.subheading{align-items:center;margin-top:25px}.subheading h3{font-size:var(--text-base);margin:0}.subheading p{font-size:var(--text-xs);margin:6px 0 0}.detail-list{flex-direction:column;gap:7px;display:flex}.detail-row{grid-template-columns:minmax(180px,1fr) 180px 60px;gap:8px;display:grid}.detail-row input{border-radius:var(--radius-sm);border:1px solid #ccd6d1;height:40px;padding:0 10px}.form-actions{justify-content:flex-end;margin-top:20px;display:flex}.form-actions .primary-button{min-width:170px}@media (width<=680px){.business-plan-page{margin-top:28px}.filter-row{flex-direction:column}.filter-row select,.filter-row input{width:100%}.summary-cards,.detail-row{grid-template-columns:1fr}.detail-row .text-button{text-align:left}}.dashboard-page{margin-top:0}.dashboard-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:14px;display:grid}.dashboard-kpis.three{grid-template-columns:repeat(3,minmax(0,1fr))}.dashboard-kpis article{border:1px solid var(--line);background:#fff;border-radius:10px;flex-direction:column;gap:7px;min-height:105px;padding:17px 18px;display:flex}.dashboard-kpis span{color:var(--muted);font-size:var(--text-xs)}.dashboard-kpis strong{color:var(--green);font:700 var(--text-xl) var(--font-family)}.dashboard-kpis small{color:#78847f;font-size:var(--text-xs);margin-top:auto}.chart-card{border:1px solid var(--line);background:#fff;border-radius:11px;margin-bottom:14px;padding:20px}.chart-card h3{font-size:var(--text-base);margin:0 0 18px}.bar-chart{border-bottom:1px solid #ccd6d1;align-items:stretch;gap:7px;height:220px;display:flex}.bar-group{flex-direction:column;flex:1;align-items:center;min-width:42px;display:flex}.bars{justify-content:center;align-items:flex-end;gap:3px;width:100%;height:190px;display:flex}.bar{border-radius:3px 3px 0 0;width:min(14px,40%);min-height:1px;display:block}.bar.actual,.chart-legend i.actual{background:#216a55}.bar.plan,.chart-legend i.plan{background:#c6a16e}.bar-group small{color:var(--muted);font-size:var(--text-xs);margin-top:7px}.chart-legend{color:#5f6d68;font-size:var(--text-xs);flex-wrap:wrap;justify-content:flex-end;gap:10px 16px;margin-top:14px;display:flex}.chart-legend span{align-items:center;gap:6px;display:flex}.chart-legend i{border-radius:2px;width:11px;height:11px}.chart-legend i.line-key{border-radius:2px;height:3px}.chart-legend i.line-key.dashed{background:repeating-linear-gradient(90deg,currentColor 0 7px,#0000 7px 11px)!important}.dashboard-table{min-width:1050px}.dashboard-table td{white-space:nowrap;font-size:var(--text-xs)}.dashboard-table tbody th small{color:var(--muted);font-size:var(--text-xs);margin-top:4px;font-weight:400;display:block}.seasonal-dashboard-kpis{margin-top:14px}.seasonal-dashboard-kpis strong{font-size:var(--text-md)}.seasonal-dashboard-table-section{margin:16px 0}.seasonal-dashboard-table-section h3{font-size:var(--text-sm);margin:0 0 9px}.seasonal-dashboard-table{min-width:1450px}.seasonal-dashboard-table th,.seasonal-dashboard-table td{white-space:nowrap}.seasonal-dashboard-table tbody th{color:var(--ink);font-size:var(--text-xs)}.vertical-bar-chart-wrap{position:relative;overflow-x:auto}.vertical-bar-chart{grid-template-columns:68px minmax(0,1fr);height:340px;padding:4px 0 0;display:grid}.vertical-bar-y-axis{color:#66736e;height:250px;font:var(--text-xs) var(--font-family);text-align:right;flex-direction:column;justify-content:space-between;padding-right:10px;display:flex}.vertical-bar-plot{border-bottom:1px solid #aebcb6;height:250px;position:relative}.vertical-bar-grid{pointer-events:none;position:absolute;inset:0}.vertical-bar-grid i{border-top:1px solid #dce4e0;position:absolute;left:0;right:0}.vertical-bar-groups{align-items:stretch;gap:10px;padding:0 10px;display:flex;position:absolute;inset:0}.vertical-bar-group{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;min-width:52px;display:flex;position:relative}.vertical-bar-columns,.vertical-bar-stack{justify-content:center;align-items:flex-end;gap:4px;width:100%;height:100%;display:flex}.vertical-bar-columns>span{cursor:pointer;border-radius:4px 4px 0 0;width:min(24px,42%);min-height:1px;transition:height .2s;display:block;box-shadow:inset 0 0 0 1px #ffffff2e}.vertical-bar-stack{flex-direction:column-reverse;justify-content:flex-start;gap:0;width:min(46px,72%)}.vertical-bar-stack>span{cursor:pointer;width:100%;min-height:0;transition:height .2s;display:block;box-shadow:inset 0 0 0 1px #fff3}.vertical-bar-stack>span:first-child{border-radius:0 0 3px 3px}.vertical-bar-stack>span:last-child{border-radius:4px 4px 0 0}.vertical-bar-group>strong{color:#40514b;width:max-content;max-width:96px;font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;position:absolute;top:260px;overflow:hidden}.vertical-bar-group>small{color:#6f7c77;width:max-content;max-width:100px;font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;position:absolute;top:278px;overflow:hidden}.vertical-bar-group>.vertical-bar-summary{color:#52615b;font:700 var(--text-xs) var(--font-family);top:296px}.vertical-bar-chart-wrap>.chart-legend{min-width:560px}@media (width<=1050px){.dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=680px){.dashboard-page{margin-top:28px}.dashboard-kpis,.dashboard-kpis.three{grid-template-columns:1fr}.chart-card{overflow-x:auto}.bar-chart{min-width:650px}}.dashboard-filters{align-items:end}.dashboard-filters label:first-child select{min-width:280px}.dashboard-tabs{border:1px solid var(--line);background:#edf1ef;border-radius:10px;gap:5px;margin-bottom:16px;padding:5px;display:flex;overflow-x:auto}.dashboard-tabs button{color:#66746f;min-width:118px;height:38px;font:600 var(--text-xs) var(--font-family);white-space:nowrap;background:0 0;border:0;border-radius:7px;flex:1}.dashboard-tabs button.active{color:#fff;background:var(--green);box-shadow:0 3px 8px #175c4a29}.analysis-heading{justify-content:space-between;align-items:flex-end;margin:24px 2px 12px;display:flex}.analysis-heading h3{font-size:var(--text-md);margin:3px 0 0}.analysis-heading>span{color:var(--muted);font-size:var(--text-xs)}.dashboard-chart-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.dashboard-line-chart{width:100%;min-width:520px;height:auto;display:block}.chart-grid-line{stroke:#e3e9e6;stroke-width:1px}.svg-chart-wrap{overflow-x:auto}.revenue-mix-chart{flex-direction:column;gap:9px;min-width:700px;display:flex}.mix-month{grid-template-columns:44px minmax(360px,1fr) 120px;align-items:center;gap:11px;display:grid}.mix-month>strong{font-size:var(--text-xs)}.mix-month>b{color:#50605a;font:600 var(--text-xs) var(--font-family);text-align:right}.mix-track{background:#eef1ef;border-radius:5px;height:28px;display:flex;overflow:hidden}.mix-track>span{justify-content:center;align-items:center;min-width:0;transition:width .2s;display:flex}.mix-track small{color:#fff;font:700 var(--text-xs) var(--font-family);white-space:nowrap;overflow:hidden}.grade-bars{flex-direction:column;gap:10px;display:flex}.grade-bars>div{grid-template-columns:90px minmax(220px,1fr) minmax(220px,1fr);align-items:center;gap:10px;display:grid}.grade-bars strong{font-size:var(--text-xs)}.grade-bars span{color:#31453e;height:28px;font:600 var(--text-xs) var(--font-family);background:#eef1ef;border-radius:5px;align-items:center;padding-left:8px;display:flex;position:relative;overflow:hidden}.grade-bars span i{z-index:0;background:#216a554d;position:absolute;inset:0 auto 0 0}.grade-bars span.plan-grade i{background:#c6945259}.grade-bars span{isolation:isolate}.grade-bars span i{z-index:-1}.comparison-bars{flex-direction:column;gap:8px;display:flex}.comparison-bars>div{grid-template-columns:28px 170px minmax(200px,1fr) 110px;align-items:center;gap:9px;display:grid}.comparison-bars b{color:#fff;background:var(--green);width:24px;height:24px;font-size:var(--text-xs);border-radius:50%;place-items:center;display:grid}.comparison-bars span{font-size:var(--text-xs);font-weight:700}.comparison-bars span small{color:var(--muted);font-size:var(--text-xs);margin-top:2px;font-weight:400;display:block}.comparison-bars>div>i{background:#edf1ef;border-radius:4px;height:20px;overflow:hidden}.comparison-bars em{background:#4f8f7d;border-radius:4px;height:100%;display:block}.comparison-bars strong{text-align:right;font:600 var(--text-xs) var(--font-family)}@media (width<=1100px){.dashboard-chart-grid{grid-template-columns:1fr}}@media (width<=680px){.dashboard-filters{flex-direction:column;align-items:stretch}.dashboard-filters label:first-child select,.dashboard-filters select,.dashboard-filters input{width:100%;min-width:0}.dashboard-tabs button{min-width:120px}.grade-bars>div{grid-template-columns:70px minmax(180px,1fr) minmax(180px,1fr)}.comparison-bars{min-width:620px}}.student-page{margin-top:38px}.student-tools{border:1px solid var(--line);background:#fff;border-radius:10px;grid-template-columns:minmax(240px,1fr) minmax(220px,1fr) auto;align-items:end;gap:10px;margin-bottom:14px;padding:14px 16px;display:grid}.student-tools select,.student-tools input{border-radius:var(--radius-sm);background:#fff;border:1px solid #ccd6d1;width:100%;height:40px;padding:0 10px}.student-table{min-width:1050px}.student-table code{font:var(--text-xs) "DM Mono",monospace}.student-table td{font-size:var(--text-xs)}.student-table td:nth-child(6){white-space:normal;min-width:220px;line-height:1.7}@media (width<=760px){.student-page{margin-top:28px}.student-tools{grid-template-columns:1fr}.student-tools .filter-result-count{justify-content:flex-start}}.grade9-page{margin-top:38px}.grade9-table{min-width:1450px}.grade9-table th:first-child{min-width:170px}.grade9-table tbody th small{color:var(--muted);font-size:var(--text-xs);margin-bottom:5px;font-weight:400;display:block}.grade9-table input,.grade9-table select,.grade9-table textarea{width:100%;min-width:105px;color:var(--ink);font:var(--text-base) var(--font-family);background:#fff;border:1px solid #ccd6d1;border-radius:6px;padding:7px}.grade9-table textarea{resize:vertical;min-width:170px}.inline-check{font-size:var(--text-xs);align-items:center;gap:5px;margin-bottom:5px;display:flex}.inline-check input{width:auto;min-width:0;accent-color:var(--green)}.grade9-filters{align-items:end}.grade9-filters .grade9-search{flex:1}.grade9-filters .grade9-search input{width:100%;min-width:250px}.row-count-chip{color:var(--green);font-size:var(--text-xs);align-self:end;margin-bottom:8px;font-weight:700}.grade9-grid-scroll{min-height:450px;max-height:calc(100vh - 300px)}.grade9-bulk-grid{min-width:2660px}.grade9-bulk-grid thead th{z-index:4;white-space:nowrap;position:sticky;top:0}.grade9-bulk-grid th:first-child{z-index:3;background:#fff;border-right:2px solid #c8d2cd;min-width:185px;position:sticky;left:0}.grade9-bulk-grid thead th:first-child{z-index:6;background:#eef3f0}.grade9-bulk-grid td{vertical-align:top;min-width:125px}.grade9-bulk-grid td:nth-child(12),.grade9-bulk-grid td:nth-child(13){min-width:190px}.grade9-bulk-grid td:last-child{min-width:225px}.grade9-bulk-grid tr.changed-row th,.grade9-bulk-grid tr.changed-row td{background:#f4fbf7}.grade9-bulk-grid tr.failed-row th,.grade9-bulk-grid tr.failed-row td{background:#fff1f0}.grade9-bulk-grid tr.excluded-row{opacity:.65}.row-dirty-mark{color:#8a5500;font-size:var(--text-xs);background:#fff0ce;border-radius:4px;margin-left:7px;padding:2px 5px;display:inline-flex}.grade9-actions-cell>div{gap:5px;display:grid}.grade9-actions-cell .row-edit-button{margin-bottom:4px}.grade9-save-bar{margin-top:0}.grade9-bulk-grid select:focus,.grade9-bulk-grid input:focus,.grade9-bulk-grid textarea:focus{border-color:var(--green);outline:0;box-shadow:0 0 0 2px #087a551f}@media (width<=680px){.grade9-page{margin-top:28px}}.page-mode-tabs{border:1px solid var(--line);background:#edf2ef;border-radius:10px;gap:4px;margin:4px 0 18px;padding:4px;display:flex}.page-mode-tabs button{color:#68756f;min-width:150px;height:39px;font:700 var(--text-xs) var(--font-family);background:0 0;border:0;border-radius:7px}.page-mode-tabs button.active{color:#fff;background:var(--green);box-shadow:0 3px 8px #175c4a29}.seasonal-page-tabs,.manual-tabs{flex-wrap:wrap}.seasonal-page-tabs button,.manual-tabs button{flex:120px;min-width:120px}.manual-content,.seasonal-subpage{border:1px solid var(--line);background:#fff;border-radius:12px;margin-top:18px;padding:24px}.manual-content h3,.seasonal-subpage h3{font-size:var(--text-xl);margin:4px 0 12px}.manual-content ol,.seasonal-inline-manual ol{gap:10px;margin:18px 0;padding-left:24px;line-height:1.7;display:grid}.manual-content .basis-note{margin-top:16px}.grade9-dashboard-v2{gap:14px;display:grid}.grade9-dashboard-toolbar{justify-content:space-between;align-items:center;gap:12px;display:flex}.grade9-dashboard-toolbar>span{color:var(--muted);font-size:var(--text-xs)}.segmented-control{background:#e9efec;border-radius:8px;gap:3px;padding:3px;display:flex}.segmented-control button{color:#617069;min-height:33px;font:700 var(--text-xs) var(--font-family);background:0 0;border:0;border-radius:6px;padding:0 14px}.segmented-control button.active{color:#fff;background:var(--green)}.grade9-dashboard-kpis{grid-template-columns:repeat(4,minmax(0,1fr))}.grade9-dashboard-kpis article.warning-kpi{background:#fffaf0;border-color:#e8cf9f}.grade9-dashboard-kpis article.danger-kpi{background:#fff6f5;border-color:#e5b7b2}.grade9-dashboard-kpis article.danger-kpi strong{color:#a74238}.dashboard-panel{border:1px solid var(--line);background:#fff;border-radius:11px;padding:18px;box-shadow:0 4px 13px #17372d09}.dashboard-panel>h3,.compact-heading h3{font-size:var(--text-sm);margin:0}.compact-heading{align-items:center;margin-bottom:14px}.compact-heading p{font-size:var(--text-xs);margin:5px 0 0}.status-composition{background:#edf1ef;border-radius:7px;width:100%;height:34px;display:flex;overflow:hidden}.status-composition>span{min-width:0;transition:width .2s}.status-legend{color:#53615c;font-size:var(--text-xs);flex-wrap:wrap;gap:9px 16px;margin-top:11px;display:flex}.status-legend span{align-items:center;gap:5px;display:flex}.status-legend i,.chart-inline-legend i{border-radius:2px;width:9px;height:9px;display:inline-block}.dashboard-two-columns{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.activity-summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:7px;margin-top:14px;display:grid}.activity-summary-grid span{background:#f4f7f5;border-radius:8px;flex-direction:column;gap:5px;padding:12px;display:flex}.activity-summary-grid strong{color:var(--green);font:700 var(--text-lg) var(--font-family)}.activity-summary-grid small{color:var(--muted);font-size:var(--text-xs)}.outcome-bars{gap:11px;margin-top:14px;display:grid}.metric-bar>div:first-child{color:#52605b;font-size:var(--text-xs);justify-content:space-between;gap:10px;margin-bottom:5px;display:flex}.metric-bar-track{background:#edf1ef;border-radius:9px;height:9px;overflow:hidden}.metric-bar-track span{border-radius:inherit;height:100%;display:block}.mini-chart{background:#fafcfb;border-radius:9px;min-width:0;padding:12px}.mini-chart h4{font-size:var(--text-xs);margin:0 0 10px}.mini-chart svg{width:100%;height:auto;display:block;overflow:visible}.mini-chart svg line{stroke:#e0e6e3;stroke-width:1px}.mini-chart svg text{fill:#75817c;font:var(--text-xs) var(--font-family)}.empty-chart{text-align:center;align-content:center;min-height:230px;display:grid}.empty-chart p{color:var(--muted);font-size:var(--text-xs)}.chart-inline-legend{color:var(--muted);font-size:var(--text-xs);justify-content:flex-end;gap:12px;display:flex}.chart-inline-legend span{align-items:center;gap:5px;display:flex}.action-columns{border-bottom:1px solid #cfd8d3;align-items:flex-end;gap:6px;height:205px;display:flex}.action-columns>div{flex-direction:column;flex:1;justify-content:flex-end;align-items:center;height:195px;display:flex}.action-columns>div>strong{color:#42524c;font-size:var(--text-xs);margin-bottom:4px}.action-columns>div>span{background:#4d8f7b;border-radius:4px 4px 0 0;width:min(28px,70%);min-height:1px;display:block}.action-columns small{height:42px;color:var(--muted);font-size:var(--text-xs);text-align:center;margin-top:5px;line-height:1.5}.grade9-trend-table{min-width:760px;margin-top:13px}.inline-controls{align-items:center;gap:8px;display:flex}.inline-controls select{border-radius:var(--radius-sm);height:39px;font-size:var(--text-base);background:#fff;border:1px solid #cbd5d0;padding:0 9px}.grade9-comparison-bars{gap:7px;margin-bottom:14px;display:grid}.grade9-comparison-bars>div{grid-template-columns:150px minmax(240px,1fr) 190px;align-items:center;gap:9px;display:grid}.grade9-comparison-bars>div>strong{font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.grade9-comparison-bars>div>div{background:#eef2f0;border-radius:4px;height:17px;position:relative}.grade9-comparison-bars>div>div span{background:#4a957b;border-radius:4px;height:100%;display:block}.grade9-comparison-bars>div>div i{background:#d89f3a;border-radius:3px;width:3px;height:23px;position:absolute;top:-3px}.grade9-comparison-bars small{color:var(--muted);font-size:var(--text-xs)}.grade9-comparison-table{min-width:1200px}.grade9-comparison-table tbody th small{color:var(--muted);font-size:var(--text-xs);display:block}.negative-value{font-weight:700;color:#a74238!important}.warning-chip{color:#8c5b13;font-size:var(--text-xs);background:#fff0d3;border-radius:20px;padding:7px 12px}.analysis-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.analysis-list{align-content:start;gap:10px;display:grid}.analysis-list>div>div{color:#4f5f59;font-size:var(--text-xs);justify-content:space-between;gap:8px;display:flex}.analysis-list>div>i{background:#edf1ef;border-radius:5px;height:7px;margin-top:4px;display:block;overflow:hidden}.analysis-list>div>i span{border-radius:inherit;background:#5a9a84;height:100%;display:block}.quality-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:13px;display:grid}.quality-grid>div{color:#52605b;font-size:var(--text-xs);background:#f2f5f3;border-radius:8px;justify-content:space-between;gap:8px;padding:11px;display:flex}.quality-grid>div.has-issue{color:#8b5314;background:#fff3dc}@media (width<=1100px){.grade9-dashboard-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-two-columns,.analysis-card-grid{grid-template-columns:1fr}.quality-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=680px){.page-mode-tabs button{flex:1;min-width:0}.grade9-dashboard-toolbar,.compact-heading{flex-direction:column;align-items:stretch}.grade9-dashboard-kpis{grid-template-columns:1fr}.activity-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.inline-controls{justify-content:space-between;width:100%}.quality-grid{grid-template-columns:1fr}.grade9-comparison-bars{min-width:660px}.dashboard-panel{overflow-x:auto}.mini-chart{min-width:560px}}.staff-management-page{margin-top:38px}.staff-scope-note{border-left:3px solid var(--green);color:#52625c;font-size:var(--text-xs);background:#f3f7f5;margin:-8px 0 18px;padding:9px 12px;line-height:1.7}.teacher-page.is-embedded{margin-top:0}.staff-section-heading{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:14px;display:flex}.staff-section-heading h2{color:var(--ink);font-size:var(--text-lg);margin:0;line-height:1.4}.staff-section-heading p{color:var(--muted);font-size:var(--text-xs);margin:5px 0 0;line-height:1.65}.staff-inline-summary{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#fbfcfb;flex-wrap:wrap;align-items:center;gap:0;margin-bottom:14px;display:flex}.staff-inline-summary span{color:var(--muted);font-size:var(--text-xs);padding:9px 16px}.staff-inline-summary span+span{border-left:1px solid var(--line)}.staff-inline-summary strong{color:var(--ink);font-size:var(--text-sm);font-variant-numeric:tabular-nums}.teacher-table{min-width:1120px}.staff-row-actions{flex-wrap:wrap;gap:6px;min-width:190px;display:flex}.staff-row-actions .row-edit-button{white-space:nowrap}.staff-row-actions .primary-row-action{border-color:var(--green);color:#fff;background:var(--green)}.staff-row-actions .primary-row-action:hover{background:#124f3e}.staff-login-dialog{width:min(100%,560px)}.staff-login-summary{border:1px solid var(--line);background:#fafcfa;border-radius:8px;gap:0;margin:0 0 20px;display:grid}.staff-login-summary>div{grid-template-columns:130px minmax(0,1fr);gap:12px;padding:11px 14px;display:grid}.staff-login-summary>div+div{border-top:1px solid var(--line)}.staff-login-summary dt{color:var(--muted);font-size:var(--text-xs);font-weight:700}.staff-login-summary dd{color:var(--ink);font-size:var(--text-xs);margin:0;line-height:1.6}.staff-login-help{color:var(--muted);font-size:var(--text-xs);margin:12px 0 0;line-height:1.7}@media (width<=767px){.staff-management-page{min-width:0;margin-top:28px}.staff-scope-note{overflow-wrap:anywhere}.staff-section-heading{flex-direction:column;align-items:stretch;gap:10px}.staff-section-heading .primary-button{width:100%}.staff-inline-summary{flex-direction:column;align-items:stretch}.staff-inline-summary span+span{border-top:1px solid var(--line);border-left:0}.staff-login-summary>div{grid-template-columns:1fr;gap:4px}.teacher-table-card{max-width:100%}}.grade9-vertical-comparison-wrap{margin-bottom:14px;overflow-x:auto}.grade9-vertical-comparison{grid-template-columns:42px minmax(0,1fr);height:300px;display:grid}.grade9-vertical-y-axis{color:#78847f;height:220px;font:var(--text-xs) var(--font-family);text-align:right;flex-direction:column;justify-content:space-between;padding-right:7px;display:flex}.grade9-vertical-plot{border-bottom:1px solid #bcc9c3;height:220px;position:relative}.grade9-vertical-grid{position:absolute;inset:0}.grade9-vertical-grid i{border-top:1px solid #e3e9e6;position:absolute;left:0;right:0}.grade9-vertical-groups{gap:8px;padding:0 8px;display:flex;position:absolute;inset:0}.grade9-vertical-group{flex:1;justify-content:center;align-items:flex-end;min-width:58px;display:flex;position:relative}.grade9-vertical-group>div{justify-content:center;align-items:flex-end;gap:4px;width:100%;height:100%;display:flex}.grade9-vertical-group>div span,.grade9-vertical-group>div i{border-radius:4px 4px 0 0;width:min(21px,42%);min-height:1px;display:block}.grade9-vertical-group>div span{background:#4a957b}.grade9-vertical-group>div i{background:#d89f3a}.grade9-vertical-group>strong{color:#42524c;width:72px;font-size:var(--text-xs);text-align:center;text-overflow:ellipsis;white-space:nowrap;position:absolute;top:228px;overflow:hidden}.grade9-vertical-group>small{width:74px;color:var(--muted);font-size:var(--text-xs);text-align:center;line-height:1.45;position:absolute;top:243px}.grade9-vertical-comparison-wrap>.chart-inline-legend{min-width:620px}.analysis-list{overflow-x:auto}.analysis-vertical-bars{background:repeating-linear-gradient(0deg,#0000 0 49px,#e7ece9 50px);border-bottom:1px solid #c7d1cc;align-items:flex-end;gap:8px;height:210px;padding:10px 6px 0;display:flex}.analysis-vertical-bars>div{flex:1;justify-content:center;align-items:flex-end;min-width:52px;height:160px;display:flex;position:relative}.analysis-vertical-bars>div>span{background:#5a9a84;border-radius:4px 4px 0 0;width:min(30px,70%);min-height:1px;display:block}.analysis-vertical-bars>div>strong{color:#4f5f59;width:58px;font-size:var(--text-xs);text-align:center;text-overflow:ellipsis;white-space:nowrap;position:absolute;top:166px;overflow:hidden}.analysis-vertical-bars>div>small{width:60px;color:var(--muted);font-size:var(--text-xs);text-align:center;position:absolute;top:181px}.seasonal-page{margin-top:38px}.seasonal-course-strip{gap:9px;margin-bottom:14px;padding-bottom:4px;display:flex;overflow-x:auto}.seasonal-course-strip button{border:1px solid var(--line);color:var(--ink);text-align:left;background:#fff;border-radius:9px;flex-direction:column;flex:0 0 190px;gap:5px;padding:14px;display:flex}.seasonal-course-strip button.selected{border-color:var(--green);background:#edf6f2;box-shadow:0 4px 12px #175c4a1a}.seasonal-course-strip span,.seasonal-course-strip small{color:var(--muted);font-size:var(--text-xs)}.seasonal-course-strip strong{font-size:var(--text-xs)}.seasonal-toolbar{border:1px solid var(--line);background:#fff;border-radius:10px;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:14px;padding:14px 16px;display:flex}.seasonal-toolbar .filter-field{min-width:240px}.seasonal-toolbar select{border-radius:var(--radius-sm);background:#fff;border:1px solid #ccd6d1;width:100%;height:40px;padding:0 10px}.seasonal-table{min-width:1500px}.seasonal-table th:first-child{min-width:160px}.seasonal-table tbody th small,.seasonal-table td>small{color:var(--muted);font-size:var(--text-xs);margin-bottom:5px;font-weight:400;display:block}.seasonal-table input,.seasonal-table textarea{width:100%;min-width:110px;font:var(--text-base) var(--font-family);border:1px solid #ccd6d1;border-radius:6px;padding:7px}.seasonal-table td:nth-child(5) textarea,.seasonal-table td:nth-child(6) textarea{resize:vertical;min-width:180px}.seasonal-table td:nth-child(2),.seasonal-table td:nth-child(3),.seasonal-table td:nth-child(4){min-width:125px}.seasonal-table td:nth-child(2) input+input,.seasonal-table td:nth-child(3) input+input,.seasonal-table td:nth-child(4) input+input{margin-top:5px}.seasonal-table td:last-child .row-edit-button{margin-top:7px;display:block}.seasonal-report-dialog{width:min(100%,900px)}.report-heading{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.report-heading small{margin-top:5px;display:block}.report-review-grid{border-top:1px solid var(--line);grid-template-columns:1fr 1fr;gap:10px;margin-top:13px;padding-top:13px;display:grid}.report-review-grid .field:nth-child(3){align-self:end}.report-review-grid>button{align-self:end;min-height:40px}.report-history{max-height:48vh;overflow-y:auto}.report-history article{border:1px solid var(--line);background:#fafcfb;border-radius:9px;padding:14px}.report-history article+article{margin-top:9px}@media (width<=680px){.report-review-grid{grid-template-columns:1fr}}.seasonal-manager-dialog{width:min(100%,850px)}.seasonal-manager-table{min-width:700px}.seasonal-manager-table select{border-radius:var(--radius-sm);width:100%;min-width:190px;height:38px;font-size:var(--text-base);background:#fff;border:1px solid #ccd6d1;padding:0 9px}.seasonal-manager-table .inline-check{justify-content:center;margin:0}.seasonal-manager-table td:last-child{font-size:var(--text-xs)}.task-checks{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;margin-top:7px;display:grid}.task-checks label{font-size:var(--text-xs);align-items:center;gap:3px;display:flex}.task-checks input{width:auto;min-width:0;accent-color:var(--green)}.report-history{background:#f4f7f5;border-radius:9px;max-height:230px;margin:-8px 0 20px;padding:10px;overflow-y:auto}.report-history article{border-bottom:1px solid #dfe5e1;padding:10px}.report-history article:last-child{border-bottom:0}.report-history strong,.report-history small{display:block}.report-history strong{font-size:var(--text-xs)}.report-history small{color:var(--muted);font-size:var(--text-xs);margin-top:3px}.report-history p{color:#53625d;font-size:var(--text-xs);margin:7px 0 0;line-height:1.6}@media (width<=680px){.seasonal-page{margin-top:28px}.seasonal-toolbar{flex-direction:column;align-items:stretch}.seasonal-toolbar .filter-field{min-width:0}.seasonal-toolbar button{width:100%}}.import-review-page{margin-top:38px}.import-section{margin-top:22px}.import-section>h3{font-size:var(--text-base);align-items:center;gap:9px;margin:0 0 10px;display:flex}.import-section>h3 span{color:var(--green);font-size:var(--text-xs);background:#e6f1ec;border-radius:12px;padding:3px 7px}.import-table{min-width:900px}.import-table tbody th small{color:var(--muted);font-size:var(--text-xs);margin-bottom:4px;font-weight:400;display:block}.import-table input{border:1px solid #ccd6d1;border-radius:6px;width:100%;min-width:220px;height:36px;padding:0 8px}@media (width<=680px){.import-review-page{margin-top:28px}}.help-page{margin-top:38px}.guide-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-bottom:28px;display:grid}.guide-grid article{border:1px solid var(--line);background:#fff;border-radius:11px;padding:19px}.guide-grid h3{font-size:var(--text-base);margin:0 0 12px}.guide-grid ol{margin:0;padding-left:20px}.guide-grid li{color:#5c6a65;font-size:var(--text-xs);margin:7px 0;line-height:1.7}.faq-list>h3{font-size:var(--text-md);margin:0 0 12px}.faq-list details{border-top:1px solid var(--line);background:#fff}.faq-list details:last-child{border-bottom:1px solid var(--line)}.faq-list summary{color:var(--ink);font-size:var(--text-xs);cursor:pointer;padding:16px 4px;font-weight:600}.faq-list details p{color:var(--muted);font-size:var(--text-xs);margin:0;padding:0 4px 17px;line-height:1.8}@media (width<=900px){.guide-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.help-page{margin-top:28px}.guide-grid{grid-template-columns:1fr}}.profit-page{margin-top:38px}.profit-kpis{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:15px;display:grid}.profit-kpis article{border:1px solid var(--line);background:#fff;border-radius:10px;flex-direction:column;gap:8px;padding:19px;display:flex}.profit-kpis span{color:var(--muted);font-size:var(--text-xs)}.profit-kpis strong{color:var(--green);font:700 var(--text-xl) var(--font-family)}.profit-kpis strong.negative{color:#a44339}@media (width<=850px){.profit-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=520px){.profit-page{margin-top:28px}.profit-kpis{grid-template-columns:1fr}}.month-axis-table{width:max-content;min-width:1200px}.month-axis-table th,.month-axis-table td{text-align:right;font-variant-numeric:tabular-nums;min-width:92px}.month-axis-table thead th{text-align:center;white-space:nowrap}.month-axis-table thead th:first-child,.month-axis-table tbody th{z-index:2;text-align:left;background:#fff;border-right:2px solid #d6ded9;min-width:170px;position:sticky;left:0}.month-axis-table thead th:first-child{z-index:3;background:#f6f8f7}.month-axis-scroll{margin-bottom:14px}.annual-plan-block{margin-bottom:22px}.annual-plan-table{width:max-content;min-width:1480px}.annual-plan-table th,.annual-plan-table td{text-align:right;min-width:94px}.annual-plan-table thead th{text-align:center;white-space:nowrap}.annual-plan-table thead th:first-child,.annual-plan-table tbody th{z-index:2;text-align:left;background:#fff;border-right:2px solid #d6ded9;min-width:150px;position:sticky;left:0}.annual-plan-table thead th:first-child{z-index:3;background:#f6f8f7}.annual-plan-table input{min-width:86px}.annual-plan-table tbody th input{text-align:left;min-width:140px}.plan-summary-cell{color:var(--green);font-variant-numeric:tabular-nums;background:#f5f8f6;font-weight:700}.spreadsheet-help{color:#52615b;font-size:var(--text-xs);background:#fff;border:1px solid #d7e1dc;border-radius:9px;flex-wrap:wrap;gap:7px 18px;margin:12px 0;padding:11px 13px;line-height:1.5;display:flex}.spreadsheet-help strong{color:#087a55}.unsaved-chip{color:#9a5a00;font-size:var(--text-xs);background:#fff3d9;border-radius:999px;align-self:end;margin-bottom:8px;padding:5px 9px;font-weight:700}.business-plan-sheet-panel{background:#fff;border:1px solid #9ba8a2;border-radius:10px;overflow:hidden}.sheet-panel-heading{border-bottom:1px solid var(--line);font-size:var(--text-xs);justify-content:space-between;gap:12px;padding:11px 14px;display:flex}.sheet-panel-heading span{color:var(--muted);font-size:var(--text-xs)}.business-plan-grid-scroll{min-height:480px;max-height:calc(100vh - 270px);overflow:auto}.business-plan-grid{--plan-section-width:125px;--plan-parent-width:140px;--plan-item-width:150px;border-collapse:separate;border-spacing:0;table-layout:fixed;width:max-content;min-width:100%}.business-plan-grid th,.business-plan-grid td{background:#fff;border-bottom:1px solid #cbd3cf;border-right:1px solid #b8c1bd;min-width:108px;height:38px;padding:0}.business-plan-grid thead th{z-index:8;color:#34423d;text-align:center;height:42px;font-size:var(--text-xs);white-space:nowrap;background:#f2f5f3;padding:0 8px;position:sticky;top:0}.business-plan-grid .plan-label{min-width:var(--plan-section-width);max-width:var(--plan-section-width);text-align:left;white-space:nowrap;text-overflow:ellipsis;padding:0 8px;overflow:hidden}.business-plan-grid .plan-sticky-1{z-index:5;position:sticky;left:0}.business-plan-grid .plan-sticky-2{left:var(--plan-section-width);z-index:5;min-width:var(--plan-parent-width);max-width:var(--plan-parent-width);position:sticky}.business-plan-grid .plan-sticky-3{left:calc(var(--plan-section-width) + var(--plan-parent-width));z-index:5;min-width:var(--plan-item-width);max-width:var(--plan-item-width);border-right:2px solid #73827b;position:sticky}.business-plan-grid thead .plan-sticky-1,.business-plan-grid thead .plan-sticky-2,.business-plan-grid thead .plan-sticky-3{z-index:12;background:#e4ebe7}.business-plan-grid tbody th{font-size:var(--text-xs);background:#fff;font-weight:600}.business-plan-grid .plan-major-label{min-width:calc(var(--plan-section-width) + var(--plan-parent-width) + var(--plan-item-width));text-align:left;padding:0 10px}.business-plan-grid input{width:100%;min-width:0;height:37px;color:var(--ink);text-align:right;font-size:var(--text-base);font-variant-numeric:tabular-nums;background:0 0;border:0;border-radius:0;outline:0;padding:0 7px;display:block}.business-plan-grid input:focus{z-index:2;border:2px solid var(--green);background:#fff;padding:0 5px;position:relative}.business-plan-grid .plan-grid-cell{text-align:right;font-size:var(--text-xs);font-variant-numeric:tabular-nums;cursor:cell;position:relative}.business-plan-grid .plan-grid-cell.selected{z-index:4;box-shadow:inset 0 0 0 2px var(--green)}.business-plan-grid .plan-grid-cell.selected input{background:#ddf4e9}.business-plan-grid .plan-grid-cell.calculated,.business-plan-grid .calculated-plan-row th,.business-plan-grid .calculated-plan-row .plan-summary-cell{background:#dbe8f4;padding:0 8px;font-weight:700}.business-plan-grid .major-plan-row th,.business-plan-grid .major-plan-row td{background:#caddeb;font-weight:700}.business-plan-grid .subtotal-plan-row th,.business-plan-grid .subtotal-plan-row td{font-weight:700}.business-plan-grid .plan-grid-cell.peak{background:#fff5a5}.business-plan-grid .plan-section-break th,.business-plan-grid .plan-section-break td{border-top:2px solid #52605a}.business-plan-grid .plan-summary-cell{color:#20352c;text-align:right;min-width:112px;font-size:var(--text-xs);background:#f4f7f5;padding:0 8px;font-weight:700}.business-plan-grid .plan-sticky-3 input{text-align:left}.sticky-form-actions{z-index:14;border:1px solid var(--line);font-size:var(--text-xs);background:#fffffff5;border-radius:9px;justify-content:space-between;align-items:center;gap:12px;margin-top:10px;padding:10px 12px;display:flex;position:sticky;bottom:0;box-shadow:0 -5px 20px #1a322814}.sticky-form-actions>div{gap:7px;display:flex}@media (width<=720px){.spreadsheet-help{display:grid}.business-plan-grid{--plan-section-width:98px;--plan-parent-width:108px;--plan-item-width:120px}.sticky-form-actions{flex-direction:column;align-items:stretch}.sticky-form-actions>div{grid-template-columns:1fr;display:grid}.sheet-panel-heading{flex-direction:column}}.grade-month-axis-table{width:max-content;min-width:1380px}.grade-month-axis-table th,.grade-month-axis-table td{text-align:right;font-variant-numeric:tabular-nums;min-width:88px}.grade-month-axis-table thead th{text-align:center}.grade-month-axis-table .grade-axis-grade{z-index:3;text-align:left;background:#fff;min-width:115px;position:sticky;left:0}.grade-month-axis-table .grade-axis-metric{z-index:2;text-align:left;background:#fff;border-right:2px solid #d6ded9;min-width:145px;position:sticky;left:115px}.grade-month-axis-table thead .grade-axis-grade,.grade-month-axis-table thead .grade-axis-metric{background:#f6f8f7}.dashboard-line-chart{min-width:680px}.chart-grid-line{stroke:#dce4e0}.chart-axis-text{fill:#5f6d68;font:var(--text-sm) var(--font-family)}.chart-axis-title{fill:#34443e;font:700 var(--text-base) var(--font-family)}.svg-chart-wrap{position:relative}.dashboard-chart-shell svg rect[fill=transparent]{cursor:crosshair}.dashboard-chart-tooltip{z-index:8;pointer-events:none;color:#31413b;min-width:176px;max-width:260px;font-size:var(--text-xs);background:#fffffff7;border:1px solid #cad5d0;border-radius:8px;padding:11px 12px;position:absolute;transform:translate(-50%,-100%);box-shadow:0 8px 22px #17372d29}.dashboard-chart-tooltip>strong{font-size:var(--text-sm);margin-bottom:7px;display:block}.dashboard-chart-tooltip>span{grid-template-columns:9px minmax(0,1fr) auto;align-items:center;gap:7px;margin-top:5px;display:grid}.dashboard-chart-tooltip i{border-radius:2px;width:8px;height:8px}.dashboard-chart-tooltip b{color:#17211d;font:700 var(--text-xs) var(--font-family);margin-left:8px}@media (width>=681px){.svg-chart-wrap,.vertical-bar-chart-wrap{overflow-x:visible}.dashboard-line-chart{min-width:0}.vertical-bar-chart{min-width:0!important}.vertical-bar-chart-wrap>.chart-legend,.vertical-bar-group{min-width:0}}@media (width>=681px) and (width<=1450px){.dashboard-chart-grid{grid-template-columns:1fr}}@media (width<=680px){.dashboard-line-chart{min-width:680px}.vertical-bar-chart{min-width:680px!important}.vertical-bar-chart-wrap>.chart-legend{min-width:680px}}.comparison-distribution-matrix{gap:14px;margin-top:12px;display:grid}.comparison-distribution-row{grid-template-columns:110px minmax(0,1fr);align-items:center;gap:12px;display:grid}.comparison-distribution-row>strong{font-size:var(--text-sm)}.comparison-distribution-track{background:#eef2f1;border-radius:8px;min-height:30px;display:flex;overflow:hidden}.comparison-distribution-track span{color:#24342f;min-width:34px;font-size:var(--text-xs);white-space:nowrap;place-items:center;padding:4px;font-weight:700;display:grid}.comparison-distribution-track .good{background:#bbf7d0}.comparison-distribution-track .watch{background:#fef3c7}.comparison-distribution-track .issue{background:#fecaca}.comparison-distribution-track .missing{background:#e2e8f0}.comparison-alerts a,.comparison-drilldown{color:var(--color-primary);font-size:var(--text-xs);text-underline-offset:3px;font-weight:700;text-decoration:underline}.comparison-alerts article{gap:4px}@media (width<=680px){.comparison-distribution-row{grid-template-columns:1fr}.comparison-distribution-track span{font-size:var(--text-xs)}}.drill-chip-row{flex-wrap:wrap;gap:7px;margin-top:10px;display:flex}.drill-chip-row button,.table-link-button{color:var(--color-primary);font:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;font-weight:700;text-decoration:underline}.drill-chip-row button{font-size:var(--text-xs);background:#f7faf9;border:1px solid #cddbd6;border-radius:999px;padding:5px 9px;text-decoration:none}.table-link-button small{color:var(--color-text-secondary);font-size:var(--text-xs);text-decoration:none;display:block}.grade9-student-dialog{width:min(1240px,100vw - 36px);max-width:none}.grade9-student-drill-table{min-width:1120px}.grade9-dialog-pagination{align-items:center}.grade9-dialog-pagination>span{color:var(--color-text-secondary);font-size:var(--text-xs);margin-right:auto}.no-action-row{background:#fff6f4}.seasonal-history-section,.seasonal-external-jobs,.profit-matrix-section{margin:20px 0}.seasonal-history-section>.table-scroll{margin-top:12px}.seasonal-history-section .current-period-row{background:#eff8f4}.seasonal-external-jobs .data-table{min-width:980px}.seasonal-external-jobs td:nth-child(6){white-space:normal;max-width:360px}.profit-page .cost-filter-panel{grid-template-columns:minmax(220px,1fr) 150px 190px 115px minmax(300px,auto)}.profit-matrix-table{width:max-content;min-width:100%}.profit-matrix-table th,.profit-matrix-table td{text-align:right;white-space:nowrap;font-variant-numeric:tabular-nums;min-width:125px}.profit-matrix-table thead th{text-align:center}.profit-matrix-table thead th:first-child,.profit-matrix-table tbody th{z-index:2;text-align:left;background:#fff;border-right:2px solid #d6ded9;min-width:170px;position:sticky;left:0}.profit-matrix-table thead th:first-child{z-index:3;background:#f6f8f7}.profit-matrix-table .profit-major-row th,.profit-matrix-table .profit-major-row td{background:#f7faf9}.profit-matrix-table .profit-total-row th,.profit-matrix-table .profit-total-row td{background:#eaf2ee;font-weight:700}.profit-matrix-table .profit-result-row th,.profit-matrix-table .profit-result-row td{color:#175c49;background:#edf7f2;font-weight:700}.profit-matrix-table td.negative{color:#a44339}@media (width<=1050px){.profit-page .cost-filter-panel{grid-template-columns:1fr 170px}.profit-page .basis-switch{grid-column:1/-1}}.ledger-page{min-width:0}.ledger-toolbar{flex-wrap:wrap;align-items:end;gap:10px;margin:14px 0;display:flex}.ledger-toolbar label{color:#53615c;font-size:var(--text-xs);gap:5px;font-weight:700;display:grid}.ledger-toolbar select,.ledger-toolbar input{border:1px solid var(--line);border-radius:var(--radius-sm);min-width:220px;color:var(--ink);background:#fff;padding:9px 10px}.ledger-toolbar input{min-width:155px}.ledger-summary{color:#52615b;font-size:var(--text-xs);background:#f8faf9;border:1px solid #d7e1dc;border-radius:9px;flex-wrap:wrap;align-items:center;gap:9px 18px;margin:12px 0;padding:11px 13px;display:flex}.ledger-summary strong{color:#1c2b25;font-variant-numeric:tabular-nums}.warning-text{color:#9a5a00;font-weight:700}.ledger-grid-scroll{background:#fff;border:1px solid #9ba8a2;border-radius:9px;min-height:440px;max-height:calc(100vh - 320px);overflow:auto}.ledger-grid{border-collapse:separate;border-spacing:0;width:max-content;min-width:100%}.ledger-grid th,.ledger-grid td{color:#25352f;min-width:112px;height:38px;font-size:var(--text-xs);white-space:nowrap;background:#fff;border-bottom:1px solid #cbd3cf;border-right:1px solid #b8c1bd;padding:0 7px}.ledger-grid thead th{z-index:9;text-align:center;background:#e9efec;height:42px;font-weight:700;position:sticky;top:0}.ledger-grid .ledger-sticky{z-index:6;position:sticky}.ledger-grid .ledger-sticky-name{text-align:left;border-right:2px solid #6f7e77;min-width:150px;max-width:150px;left:90px}.ledger-grid thead .ledger-sticky{z-index:12;background:#dce7e1}.ledger-grid tbody th small{color:#a44339;display:block}.ledger-grid input{width:100%;min-width:0;height:37px;color:var(--ink);text-align:right;font:600 var(--text-base) var(--font-family);background:0 0;border:0;outline:0;padding:0 6px;display:block}.ledger-grid input:focus{z-index:3;border:2px solid var(--green);background:#e4f6ed;position:relative}.ledger-grid td:nth-child(15),.ledger-grid td:nth-child(16){min-width:165px}.ledger-grid td:nth-child(15) input,.ledger-grid td:nth-child(16) input{text-align:left}.ledger-readonly-money{text-align:right;font-variant-numeric:tabular-nums;background:#f1f4f2!important}.ledger-total-cell{text-align:right;font-variant-numeric:tabular-nums;font-weight:700;background:#edf6f1!important}.ledger-issue-cell{text-align:center}.ledger-issue-cell span{color:#a44339;font-weight:700;display:block}.ledger-error-row td,.ledger-error-row th{box-shadow:inset 0 1px #efb5b0,inset 0 -1px #efb5b0}.ledger-page .sticky-form-actions>div:first-child{flex-wrap:wrap;align-items:center}.ledger-page .sticky-form-actions label{align-items:center;gap:7px;display:flex}.ledger-page .sticky-form-actions input{border:1px solid var(--line);border-radius:6px;min-width:280px;padding:8px}.empty-state{text-align:center;background:#fafcfb;border:1px dashed #bcc9c3;border-radius:10px;margin:20px 0;padding:36px}.empty-state h3{margin:0 0 8px}@media (width<=720px){.ledger-toolbar{display:grid}.ledger-toolbar select,.ledger-toolbar input{width:100%;min-width:0}.ledger-grid-scroll{max-height:calc(100vh - 360px)}.ledger-page .sticky-form-actions input{width:100%;min-width:0}}.ledger-grid tfoot th,.ledger-grid tfoot td{z-index:8;text-align:right;font-variant-numeric:tabular-nums;background:#dcebe4;font-weight:700;position:sticky;bottom:0}.ledger-grid tfoot th{text-align:left}.student-lifecycle-page{min-width:0}.section-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.student-lifecycle-page .student-table td,.student-lifecycle-page .student-table th{vertical-align:top}.student-lifecycle-page .student-table td:nth-child(2),.student-lifecycle-page .student-table th:nth-child(2){z-index:2;background:#fff;position:sticky;left:94px}.student-lifecycle-page .student-table td:first-child,.student-lifecycle-page .student-table th:first-child{z-index:3;background:#fff;min-width:94px;position:sticky;left:0}.student-lifecycle-page .student-table thead th:first-child,.student-lifecycle-page .student-table thead th:nth-child(2){z-index:5;background:#f6f8f7}.student-lifecycle-page .student-table td small{color:var(--muted);font-size:var(--text-xs);margin-top:5px;display:block}.row-actions{flex-wrap:wrap;gap:5px;min-width:250px;display:flex}.row-actions button{color:var(--color-primary);font-size:var(--text-xs);cursor:pointer;background:#f7faf9;border:1px solid #cad8d2;border-radius:6px;padding:5px 8px;font-weight:700}.transfer-request-panel{background:#f8faf9;border:1px solid #d7e1dc;border-radius:10px;margin:14px 0;padding:15px}.transfer-request-panel h3{font-size:var(--text-sm);margin:0 0 10px}.transfer-request-panel>div{gap:7px;display:grid}.transfer-request-panel article{font-size:var(--text-xs);background:#fff;border-radius:7px;grid-template-columns:80px 120px minmax(180px,1fr) auto;align-items:center;gap:9px;padding:9px 10px;display:grid}.transfer-request-panel article small{color:var(--muted)}.transfer-request-panel article em{color:#9a5a00;font-size:var(--text-xs);font-style:normal}.transfer-request-panel .primary-button{min-height:34px;font-size:var(--text-xs);padding:0 11px}.student-editor{background:#fff;border-radius:15px;width:min(980px,100vw - 36px);max-height:calc(100vh - 48px);padding:26px;overflow:auto;box-shadow:0 26px 80px #09231c3d}.modal-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px;display:flex}.modal-header .eyebrow{margin-bottom:6px}.modal-header h3{font-size:var(--text-xl);margin:0}.modal-header>button{color:#64736d;width:34px;height:34px;font-size:var(--text-xl);background:#edf2ef;border:0;border-radius:50%;place-items:center;display:grid}.student-form-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.student-form-grid label{color:#53615c;font-size:var(--text-xs);gap:6px;font-weight:700;display:grid}.student-form-grid input,.student-form-grid select{border-radius:var(--radius-sm);width:100%;height:40px;color:var(--ink);font:var(--text-base) var(--font-family);background:#fff;border:1px solid #ccd6d1;padding:0 10px}.student-form-grid input:focus,.student-form-grid select:focus{border-color:var(--green);outline:3px solid #175c4a17}.student-option-fieldset{border:1px solid var(--line);border-radius:9px;flex-wrap:wrap;gap:8px 18px;margin:18px 0 0;padding:14px;display:flex}.student-option-fieldset legend{color:#53615c;font-size:var(--text-xs);padding:0 6px;font-weight:700}.student-option-fieldset label{font-size:var(--text-xs);align-items:center;gap:6px;display:flex}.student-option-fieldset input{accent-color:var(--green)}.form-note{color:#576660;font-size:var(--text-xs);background:#f3f7f5;border-radius:8px;margin:14px 0 0;padding:11px 13px;line-height:1.7}.modal-actions{border-top:1px solid var(--line);justify-content:flex-end;gap:8px;margin-top:20px;padding-top:16px;display:flex}.billing-schedule-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:10px 0 14px;display:grid}.billing-schedule-row button{color:#53615c;text-align:left;font-size:var(--text-xs);background:#fff;border:1px solid #d3ddd8;border-radius:8px;grid-template-columns:auto 1fr;gap:3px 10px;padding:11px 12px;display:grid}.billing-schedule-row button:hover:not(:disabled){border-color:var(--green);background:#f7faf8}.billing-schedule-row strong{color:#1c493c;font-size:var(--text-xs);grid-row:1/4}.billing-schedule-row small{color:#7a8782}.sticky-form-actions small{color:var(--muted);align-self:center}.student-form-wide{grid-column:1/-1}@media (width<=900px){.student-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.billing-schedule-row{grid-template-columns:1fr}}@media (width<=680px){.section-actions{justify-content:stretch;width:100%}.section-actions button{flex:1}.student-form-grid{grid-template-columns:1fr}.student-editor{width:calc(100vw - 24px);max-height:calc(100vh - 24px);padding:20px}.student-lifecycle-page .student-table td:nth-child(2),.student-lifecycle-page .student-table th:nth-child(2){position:static}}.course-change-editor{width:min(1050px,100vw - 36px)}.course-change-editor .modal-header p:last-child{color:var(--muted);font-size:var(--text-xs);margin:7px 0 0}.course-change-summary{background:#f7faf8;border:1px solid #d6e1dc;border-radius:9px;grid-template-columns:220px 1fr 1fr;align-items:end;gap:12px;margin-bottom:15px;padding:13px;display:grid}.course-change-summary label,.course-base-grid label,.course-option-list article>label,.management-fee-section>label{color:#53615c;font-size:var(--text-xs);gap:5px;font-weight:700;display:grid}.course-change-summary input,.course-base-grid input,.course-base-grid select,.course-option-list input[type=number],.course-option-list select,.management-fee-section input{border-radius:var(--radius-sm);width:100%;height:38px;color:var(--ink);background:#fff;border:1px solid #cbd6d1;padding:0 9px}.course-change-summary span{color:var(--muted);font-size:var(--text-xs);gap:5px;display:grid}.course-change-summary strong{color:#183d32;font-size:var(--text-sm)}.contract-section{border:1px solid var(--line);background:#fff;border-radius:10px;margin-top:12px;padding:16px}.contract-section-heading{justify-content:space-between;gap:12px;margin-bottom:12px;display:flex}.contract-section h4{color:#20332c;font-size:var(--text-sm);margin:0}.contract-section p{color:var(--muted);font-size:var(--text-xs);margin:5px 0 0}.course-base-grid{grid-template-columns:minmax(220px,1.6fr) 110px 130px 160px;align-items:end;gap:10px;display:grid}.calculated-value{background:#edf5f1;border-radius:7px;align-content:center;gap:5px;min-height:38px;padding:6px 10px;display:grid}.calculated-value span{color:#6c7974;font-size:var(--text-xs)}.calculated-value strong{color:#17604d;font:800 var(--text-base) var(--font-family)}.course-option-list{gap:7px;display:grid}.course-option-list article{background:#fafcfb;border:1px solid #e0e6e3;border-radius:8px;grid-template-columns:minmax(170px,1.3fr) 130px 120px 150px;align-items:end;gap:10px;padding:10px;display:grid}.course-option-list article.selected{background:#f1f8f5;border-color:#9dc3b3}.course-option-toggle{align-items:center;gap:8px;min-height:38px;display:flex!important}.course-option-toggle input{accent-color:var(--green)}.course-option-toggle strong{font-size:var(--text-xs)}.management-fee-section{grid-template-columns:minmax(240px,1fr) 150px 180px;align-items:end;gap:12px;display:grid}.ledger-grid td:nth-child(13){min-width:190px}.ledger-grid td:nth-child(13) input{text-align:left}@media (width<=850px){.course-change-summary,.course-base-grid,.management-fee-section,.course-option-list article{grid-template-columns:1fr 1fr}.course-change-summary span:last-child{grid-column:1/-1}}@media (width<=580px){.course-change-summary,.course-base-grid,.management-fee-section,.course-option-list article{grid-template-columns:1fr}.course-change-editor{width:calc(100vw - 24px)}}.enrollment-option-fieldset{display:grid}.enrollment-option-row{background:#fafcfb;border:1px solid #e1e7e4;border-radius:7px;grid-template-columns:minmax(150px,1fr) 110px 110px 140px;align-items:end;gap:8px;padding:8px;display:grid}.enrollment-option-row.selected{background:#f1f8f5;border-color:#9dc3b3}.enrollment-option-row label{align-items:center;gap:6px;display:flex}.enrollment-option-row label:not(:first-child){gap:4px;display:grid}.enrollment-option-row input[type=number],.enrollment-option-row select{background:#fff;border:1px solid #cbd6d1;border-radius:6px;width:100%;height:34px;padding:0 7px}.enrollment-option-row>span{color:#17604d;font-size:var(--text-xs);align-self:center;font-weight:700}@media (width<=720px){.enrollment-option-row{grid-template-columns:1fr 1fr}}.home-notifications{margin:18px 0}.home-notification-list{gap:8px;display:grid}.home-notification-item{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:#fff;border:1px solid #d7e1dc;border-radius:8px;grid-template-columns:68px minmax(0,1fr) auto;align-items:center;gap:10px;padding:11px 13px;display:grid}.home-notification-item:hover{background:#f6fbf9;border-color:#78aaa0}.home-notification-item>span{color:#8a5700;font-size:var(--text-xs);background:#fff2d7;border-radius:999px;place-items:center;padding:4px 7px;font-weight:700;display:inline-grid}.home-notification-item strong{font-size:var(--text-xs)}.home-notification-item small{color:var(--muted);font-size:var(--text-xs)}.home-notification-item.is-attention{background:#fff8f7;border-color:#f1c4bd}.home-notification-item.is-attention>span{color:#a83b2e;background:#ffe5e1}.home-notification-more{color:var(--color-primary);font-size:var(--text-xs);cursor:pointer;background:0 0;border:0;justify-self:end;font-weight:700}.home-security-event{cursor:default}.home-security-event:hover{background:#fff8f7;border-color:#f1c4bd}.home-notification-error{color:#8f2f24;font-size:var(--text-xs);background:#fff6f4;border:1px solid #e7aca3;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin:18px 0;padding:12px 14px;display:flex}.home-notification-error .compact-button{flex:none;margin:0}.file-import-button{white-space:nowrap;cursor:pointer;justify-content:center;align-items:center;min-width:112px;display:inline-flex}.file-import-button input{clip:rect(0,0,0,0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}@media (width<=767px){.metrics-page .ui-page-header h1,.operations-admin-page .ui-page-header h1{font-size:var(--text-2xl)}}.master-dialog{overscroll-behavior:contain}.staff-section-heading h2{text-wrap:balance}.staff-section-heading p{text-wrap:pretty}.staff-login-dialog{overscroll-behavior:contain;width:min(100%,760px);scroll-padding-bottom:88px}.staff-login-dialog .dialog-heading{margin-bottom:18px}.staff-login-dialog .dialog-heading h2{text-wrap:balance}.staff-login-dialog .dialog-heading p{color:var(--muted);font-size:var(--text-xs);margin:7px 0 0;line-height:1.6}.staff-login-summary dd{flex-direction:column;gap:3px;min-width:0;display:flex}.staff-login-summary dd span,.staff-login-summary dd small{color:var(--muted);font-size:var(--text-xs)}.staff-login-summary dd strong{font-size:var(--text-sm)}.login-state-text{border-radius:999px;width:max-content;padding:3px 8px;font-weight:700}.login-state-text.state-active{color:#27634f;background:#dfeee7}.login-state-text.state-invited{color:#8a5a14;background:#fff0d3}.login-state-text.state-inactive{color:#943f37;background:#fbe8e6}.login-state-text.state-registered{color:#315f79;background:#e7f0f5}.login-settings-loading{min-height:140px;color:var(--muted);font-size:var(--text-xs);justify-content:center;align-items:center;gap:10px;display:flex}.login-settings-section{border-top:1px solid var(--line);padding:20px 0 4px}.login-settings-section>h3,.login-section-heading h3{color:var(--ink);font-size:var(--text-sm);margin:0}.login-settings-section>p,.login-section-heading p{color:var(--muted);font-size:var(--text-xs);margin:6px 0 14px;line-height:1.65}.login-section-heading{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.login-section-heading p{margin-bottom:12px}.existing-account-notice{color:#40544c;font-size:var(--text-xs);background:#f0f7f4;border:1px solid #c6ddd3;border-radius:8px;gap:5px;margin-top:12px;padding:12px 14px;display:grid}.existing-account-notice.has-error{color:#873f38;background:#fff4f2;border-color:#e8c5c1}.existing-account-notice>label{cursor:pointer;align-items:flex-start;gap:8px;margin-top:5px;line-height:1.6;display:flex}.existing-account-notice input{accent-color:var(--green);margin-top:3px}.existing-account-notice small{line-height:1.6}.login-capability-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.login-invite-form{border:1px solid var(--line);background:#f8faf9;border-radius:9px;grid-template-columns:minmax(0,1fr) 180px;gap:12px;margin:5px 0 16px;padding:14px;display:grid}.login-invite-form>div{grid-column:1/-1;justify-content:flex-end;gap:8px;display:flex}.login-account-list{margin-top:16px}.login-account-list h4{color:#56645f;font-size:var(--text-xs);justify-content:space-between;margin:0 0 7px;display:flex}.login-account-list h4 span{color:var(--muted);font-weight:400}.login-account-row{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:14px;padding:11px 12px;display:flex}.login-account-row:last-child{border-bottom:1px solid var(--line)}.login-account-row.invitation{background:#fffdf8}.login-account-row>div{flex-direction:column;gap:3px;min-width:0;display:flex}.login-account-row>.login-account-actions{flex-direction:row;flex-shrink:0;align-items:flex-end;gap:8px}.login-account-row strong{font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.login-account-row span{color:var(--muted);font-size:var(--text-xs)}.staff-login-dialog button:focus-visible,.staff-login-dialog input:focus-visible,.staff-login-dialog textarea:focus-visible{outline-offset:2px;outline:3px solid #175c4a3d}.mfa-reset-panel{background:#fffaf2;border:1px solid #e4c9a4;border-radius:9px;gap:10px;margin-top:14px;padding:14px;display:grid}.mfa-reset-panel h4,.mfa-reset-panel p{margin:0}.mfa-reset-panel p{color:var(--muted);font-size:var(--text-xs);line-height:1.65}.mfa-reset-panel p strong{overflow-wrap:anywhere}.mfa-reset-panel textarea{resize:vertical;width:100%}.mfa-reset-panel .field small{color:var(--muted);font-size:var(--text-xs);font-weight:500}.mfa-reset-panel .field .field-error{color:#a63d32}.mfa-reset-panel>div{justify-content:flex-end;gap:8px;display:flex}@media (width<=680px){.staff-login-dialog{padding:20px}.login-section-heading{flex-direction:column;align-items:stretch}.login-section-heading>button{width:100%}.login-capability-grid,.login-invite-form{grid-template-columns:1fr}.login-account-row{align-items:flex-start}.staff-login-dialog button{min-height:44px}.staff-login-dialog .sticky-actions{margin-bottom:-20px;margin-left:-20px;margin-right:-20px;padding-left:20px;padding-right:20px;bottom:-20px}}.mfa-screen{min-height:100dvh;padding:max(32px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(32px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));background:var(--surface-subtle,#f4f7f9);justify-content:flex-start}.mfa-card{background:#fff;border:1px solid #d4dee5;border-radius:16px;width:min(100%,640px);min-width:0;margin:auto 0;padding:32px;box-shadow:0 18px 48px #142c3c1a}.mfa-card h1{text-wrap:balance;margin:4px 0 8px;font-size:1.75rem}.mfa-card h2{text-wrap:balance;margin:24px 0 8px;font-size:1.05rem}.mfa-lead,.mfa-card section>p,.mfa-help p{color:#526572;line-height:1.7}.mfa-shield{color:#fff;background:#087f78;border-radius:50%;place-items:center;width:42px;height:42px;font-weight:800;display:grid}.mfa-loading{color:#526572;align-items:center;gap:12px;min-height:120px;display:flex}.mfa-enrollment ol{margin:10px 0 20px;padding-left:1.5rem;line-height:1.7}.mfa-setup-fallback{color:#526572;margin:0 0 16px;line-height:1.7}.mfa-guide{background:#f7fafb;border:1px solid #c6d4dc;border-radius:8px;margin:0 0 20px}.mfa-guide summary{cursor:pointer;color:#075f65;touch-action:manipulation;align-items:center;gap:12px;min-height:44px;padding:10px 14px;font-weight:700;list-style:none;display:flex}.mfa-guide summary::-webkit-details-marker{display:none}.mfa-guide summary:after{content:"＋";margin-left:auto;font-size:1.2rem;font-weight:500;line-height:1}.mfa-guide[open] summary:after{content:"−"}.mfa-guide summary:focus-visible{outline-offset:2px;outline:3px solid #00808933}.mfa-guide summary:hover{background:#edf4f5}.mfa-guide[open] summary{border-bottom:1px solid #d4dee5}.mfa-guide-content{padding:16px}.mfa-guide-content h3{margin:0 0 8px;font-size:1rem}.mfa-guide-content h3:not(:first-child){margin-top:20px}.mfa-guide-content p{color:#415661;margin:0 0 12px;line-height:1.7}.mfa-guide-content ol{margin:0 0 14px}.mfa-guide-content a{color:#075f65;text-underline-offset:2px;text-decoration:underline}.mfa-guide-content a:focus-visible{outline-offset:2px;outline:3px solid #00808933}.mfa-setup{background:#f7fafb;border:1px solid #d4dee5;grid-template-columns:180px minmax(0,1fr);align-items:center;gap:20px;padding:18px;display:grid}.mfa-setup img{background:#fff;width:180px;height:180px;display:block}.mfa-setup div{gap:8px;min-width:0;display:grid}.mfa-setup code{overflow-wrap:anywhere;letter-spacing:.06em;-webkit-user-select:all;user-select:all;background:#fff;border:1px solid #c6d4dc;padding:10px;font-size:.88rem}.mfa-security-note{color:#754b12;font-size:var(--text-sm);margin:10px 0 0;line-height:1.65}.mfa-form{gap:10px;margin-top:20px;display:grid}.mfa-form label{font-weight:700}.mfa-form input{width:100%;height:52px;font:inherit;letter-spacing:.35em;text-align:center;border:1px solid #9fb1bd;border-radius:8px;padding:0 14px;font-size:1.35rem}.mfa-form input:focus-visible{border-color:#008089;outline:3px solid #00808933}.mfa-form .primary-button{width:100%;min-height:46px;margin-top:4px}.mfa-help{border-top:1px solid #e2e8ec;margin-top:24px;padding-top:18px}.mfa-status{color:#16635d;margin:0}.mfa-copy-error{color:#a63d32;font-size:var(--text-xs);margin:0}.mfa-retry{gap:12px;margin-top:20px;display:grid}.mfa-retry .secondary-button{justify-self:start}.session-warning{z-index:1200;right:max(20px,env(safe-area-inset-right));bottom:max(20px,env(safe-area-inset-bottom));color:#4a3820;background:#fff8e8;border:1px solid #d6a347;border-radius:10px;align-items:center;gap:18px;max-width:520px;padding:14px 16px;display:flex;position:fixed;box-shadow:0 10px 30px #29343c33}.session-warning div{gap:3px;display:grid}.session-warning span{font-size:.86rem}html:has(.session-warning){scroll-padding-bottom:150px}.app-shell:has(.session-warning) .main-content{padding-bottom:180px}@media (width<=680px){.mfa-card{max-width:100%;padding:24px 18px}.mfa-enrollment,.mfa-setup{min-width:0}.mfa-setup{grid-template-columns:minmax(0,1fr);justify-items:center}.mfa-setup div{width:100%;min-width:0}.session-warning{right:max(12px,env(safe-area-inset-right));bottom:max(12px,env(safe-area-inset-bottom));left:max(12px,env(safe-area-inset-left));flex-direction:column;align-items:stretch;max-height:min(40dvh,240px);overflow:auto}html:has(.session-warning){scroll-padding-bottom:220px}.app-shell:has(.session-warning) .main-content{padding-bottom:250px}}.app-shell{grid-template-columns:var(--sidebar-width) minmax(0, 1fr);background:var(--color-bg);min-height:100vh;transition:none;display:grid}.app-shell.sidebar-is-collapsed{grid-template-columns:var(--sidebar-collapsed-width) minmax(0, 1fr)}.sidebar{z-index:30;width:auto;height:100vh;padding:var(--space-5) var(--space-4) var(--space-4);border-right:1px solid var(--color-border);background:var(--color-surface-muted);box-shadow:none;position:sticky;top:0}.sidebar-header{justify-content:space-between;align-items:center;min-height:44px;display:flex}.sidebar-mobile-close{display:none}.sidebar .brand{gap:var(--space-3);min-width:0}.sidebar .brand strong{color:var(--color-text-primary);font-family:var(--font-family);font-size:var(--text-sm);letter-spacing:0;font-weight:700}.sidebar .brand small{color:var(--color-text-muted);font-size:var(--text-xs);letter-spacing:0;margin-top:3px}.brand-mark{background:var(--color-primary);box-shadow:none;flex:0 0 38px}.sidebar nav{margin-top:var(--space-6);scrollbar-width:thin;scrollbar-color:var(--color-border) transparent;gap:2px;padding-right:2px;overflow-y:auto}.nav-label{margin:var(--space-5) var(--space-3) var(--space-2);color:var(--color-text-muted);font-size:var(--text-xs);letter-spacing:.04em;font-weight:600}.nav-item:is(button,a){min-height:var(--control-height);gap:var(--space-3);padding:0 var(--space-3);border-radius:var(--radius-md);color:var(--color-text-secondary);font-family:var(--font-family);font-size:var(--text-sm);transition:color var(--motion-fast), background var(--motion-fast), transform var(--motion-fast);background:0 0;border:0;font-weight:500}.nav-item:is(button,a) svg{flex:0 0 20px;width:20px;height:20px}.nav-item:is(button,a):hover:not(.active){color:var(--color-primary-dark);background:var(--color-primary-soft)}.nav-item:is(button,a).active{color:var(--color-primary-dark);background:var(--color-surface);box-shadow:0 1px 3px #17212f12}.nav-item:is(button,a):focus-visible{outline:3px solid var(--color-focus);outline-offset:1px}.nav-item-label{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sidebar-user{gap:var(--space-2);padding:var(--space-4) 0 0;border-top-color:var(--color-border);grid-template-columns:38px minmax(0,1fr) 28px}.avatar{width:38px;height:38px;color:var(--color-primary-dark);background:var(--color-primary-soft);font-weight:700}.sidebar-user strong{color:var(--color-text-primary);font-size:var(--text-xs)}.sidebar-user small{color:var(--color-text-muted);font-size:var(--text-xs)}.sidebar-logout{width:28px;min-height:28px;color:var(--color-text-muted);background:0 0;border:0;grid-column:auto;padding:0;font-size:0}.sidebar-logout:before{content:"↪";font-size:var(--text-md)}.sidebar-logout:hover{color:var(--color-danger);background:var(--color-danger-soft)}.sidebar-collapse{width:32px;height:32px;margin:var(--space-3) 0 0 auto;border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);background:var(--color-surface);place-items:center;display:grid}.sidebar-collapse:hover{color:var(--color-primary-dark);border-color:var(--color-primary);background:var(--color-primary-soft)}.sidebar-is-collapsed .sidebar{padding-inline:var(--space-3);align-items:center}.sidebar-is-collapsed .sidebar .brand>span:last-child,.sidebar-is-collapsed .nav-item-label,.sidebar-is-collapsed .nav-label,.sidebar-is-collapsed .sidebar-user-copy{display:none}.sidebar-is-collapsed .sidebar nav{width:100%}.sidebar-is-collapsed .nav-item:is(button,a){justify-content:center;padding:0}.sidebar-is-collapsed .sidebar-user{grid-template-columns:38px;justify-content:center}.sidebar-is-collapsed .sidebar-logout{display:none}.sidebar-is-collapsed .sidebar-collapse{margin-inline:auto;transform:rotate(180deg)}.main-content{background:var(--color-bg);min-width:0;padding:0}.mobile-menu-button{display:none}.page-canvas{width:100%;max-width:none;padding:0 var(--page-inline-padding) var(--space-9);margin:0}.ui-page-header{justify-content:space-between;align-items:flex-start;gap:var(--space-5);margin-bottom:var(--space-6);display:flex}.ui-breadcrumb{margin:0 0 var(--space-3);color:var(--color-text-muted);font-size:var(--text-xs)}.ui-page-header h1{color:var(--color-text-primary);font-size:var(--text-page-title);letter-spacing:0;margin:0;line-height:1.35}.ui-page-description{margin:var(--space-2) 0 0;color:var(--color-text-secondary);font-size:var(--text-base);line-height:1.6}.ui-page-actions{align-items:center;gap:var(--space-2);display:flex}.ui-section-header{justify-content:space-between;align-items:flex-end;gap:var(--space-4);margin-bottom:var(--space-4);display:flex}.ui-section-header h2{color:var(--color-text-primary);font-size:var(--text-md);margin:0;line-height:1.5}.ui-section-header p{margin:var(--space-1) 0 0;color:var(--color-text-secondary);font-size:var(--text-xs)}.ui-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-card)}.ui-status-badge{font-size:var(--text-xs);white-space:nowrap;border-radius:4px;align-items:center;padding:3px 8px;font-weight:600;display:inline-flex}.ui-status-badge.tone-teal{color:var(--color-primary-dark);background:var(--color-primary-soft)}.ui-status-badge.tone-success{color:var(--color-success);background:var(--color-success-soft)}.ui-status-badge.tone-warning{color:var(--color-warning);background:var(--color-warning-soft)}.ui-status-badge.tone-danger{color:var(--color-danger);background:var(--color-danger-soft)}.ui-status-badge.tone-info{color:var(--color-info);background:var(--color-info-soft)}.ui-status-badge.tone-special{color:var(--color-special);background:var(--color-special-soft)}.ui-status-badge.tone-neutral{color:var(--color-text-secondary);background:var(--color-surface-muted)}.ui-button{min-height:var(--control-height);padding:0 var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);transition:transform var(--motion-fast), box-shadow var(--motion-fast), background var(--motion-fast);justify-content:center;align-items:center;font-weight:600;text-decoration:none;display:inline-flex}.ui-button-primary{border:1px solid var(--color-primary);color:#fff;background:var(--color-primary)}.ui-button-secondary{border:1px solid var(--color-border);color:var(--color-text-secondary);background:var(--color-surface)}.ui-button-ghost{color:var(--color-primary-dark);background:0 0;border:0}.ui-button:hover:not(:disabled){box-shadow:var(--shadow-hover)}.home-page{gap:var(--space-6);display:grid}.home-kpi-grid{gap:var(--space-4);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.ui-kpi-card{align-items:center;gap:var(--space-5);min-height:144px;padding:var(--space-5);display:flex}.ui-icon-circle{width:64px;height:64px;color:var(--color-primary-dark);background:var(--color-primary-soft);border-radius:50%;flex:0 0 64px;place-items:center;display:grid}.ui-icon-circle svg{fill:currentColor;width:30px;height:30px}.ui-icon-circle.tone-info{color:var(--color-info);background:var(--color-info-soft)}.ui-icon-circle.tone-warning{color:var(--color-warning);background:var(--color-warning-soft)}.ui-icon-circle.tone-success{color:var(--color-success);background:var(--color-success-soft)}.ui-icon-circle.tone-special{color:var(--color-special);background:var(--color-special-soft)}.ui-kpi-copy{min-width:0}.ui-kpi-label{color:var(--color-text-secondary);font-size:var(--text-sm);display:block}.ui-kpi-copy strong{margin-top:var(--space-1);color:var(--color-text-primary);font-size:var(--text-kpi);letter-spacing:0;font-variant-numeric:tabular-nums;line-height:1.2;display:block}.ui-kpi-copy strong small{font-size:var(--text-sm);margin-left:4px;font-weight:500}.ui-kpi-copy p{margin:var(--space-2) 0 0;color:var(--color-text-muted);font-size:var(--text-xs);line-height:1.4}.home-action-grid{gap:var(--space-5);grid-template-columns:minmax(0,1.1fr) minmax(0,.9fr);display:grid}.home-action-panel{padding:var(--space-6)}.home-empty-copy{padding:var(--space-5);border:1px dashed var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);background:var(--color-surface-muted);font-size:var(--text-sm);text-align:center;grid-column:1/-1;margin:0}.ui-task-list{display:grid}.ui-task-item{align-items:center;gap:var(--space-3);width:100%;min-height:68px;padding:var(--space-2) var(--space-1);border:0;border-bottom:1px solid var(--color-border);color:var(--color-text-primary);text-align:left;background:0 0;grid-template-columns:38px minmax(0,1fr) auto 14px;text-decoration:none;display:grid}.ui-task-item:last-child{border-bottom:0}.ui-task-item:hover{background:var(--color-surface-muted)}.ui-task-icon{border-radius:var(--radius-md);width:38px;height:38px;color:var(--color-info);background:var(--color-info-soft);place-items:center;display:grid}.ui-task-icon.tone-warning{color:var(--color-warning);background:var(--color-warning-soft)}.ui-task-icon.tone-danger{color:var(--color-danger);background:var(--color-danger-soft)}.ui-task-icon.tone-success{color:var(--color-success);background:var(--color-success-soft)}.ui-task-icon svg{fill:currentColor;width:21px;height:21px}.ui-task-copy{flex-direction:column;gap:3px;min-width:0;display:flex}.ui-task-copy strong{font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ui-task-copy small{color:var(--color-text-secondary);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ui-chevron{color:var(--color-text-muted);font-size:var(--text-xl);line-height:1}.ui-quick-grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.ui-quick-card{align-items:center;gap:var(--space-3);min-height:72px;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);background:var(--color-surface);text-align:left;transition:transform var(--motion-fast), border var(--motion-fast), box-shadow var(--motion-fast);grid-template-columns:38px minmax(0,1fr) 14px;display:grid}.ui-quick-card:hover{box-shadow:var(--shadow-hover);border-color:#94d7dc;transform:none}.ui-quick-icon{color:var(--color-primary-dark);place-items:center;display:grid}.ui-quick-icon svg{fill:currentColor;width:25px;height:25px}.ui-quick-card strong{font-size:var(--text-sm);font-weight:600;display:block}.ui-quick-card small{color:var(--color-text-muted);font-size:var(--text-xs);margin-top:3px;display:block}.home-organizations{padding:var(--space-6)}.home-organization-grid{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.home-organization-grid:empty:after{content:"利用可能な組織はありません。";padding:var(--space-5);color:var(--color-text-secondary);font-size:var(--text-sm);text-align:center;grid-column:1/-1}.ui-organization-card{min-height:164px;padding:var(--space-5);box-shadow:none}.ui-organization-head{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.ui-organization-number{color:#fff;background:var(--color-primary-dark);width:30px;height:26px;font-size:var(--text-xs);border-radius:5px;place-items:center;font-weight:700;display:grid}.ui-organization-card h3{margin:var(--space-3) 0 var(--space-2);font-size:var(--text-md)}.ui-organization-card ul{gap:var(--space-1) var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;padding:0;list-style:none;display:grid}.ui-organization-card li{color:var(--color-text-secondary);font-size:var(--text-xs);padding-left:12px;line-height:1.6;position:relative}.ui-organization-card li:before{content:"";background:var(--color-text-muted);border-radius:50%;width:4px;height:4px;position:absolute;top:.65em;left:1px}.home-account-strip{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-border);grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.home-account-strip>div{min-width:0;padding:var(--space-4);background:var(--color-surface)}.home-account-strip span{color:var(--color-text-muted);font-size:var(--text-xs);display:block}.home-account-strip strong{margin-top:var(--space-1);color:var(--color-text-primary);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.sidebar-scrim{display:none}.ui-operation-page,.ui-analysis-page{gap:var(--section-gap);min-width:0;display:grid}.ui-filter-bar{align-items:end;gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);flex-wrap:wrap;display:flex}.ui-filter-bar :is(input,select,button){min-height:var(--control-height)}.ui-quick-filters{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.ui-quick-filter{min-height:34px;padding:0 var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);color:var(--color-text-secondary);background:var(--color-surface);font-size:var(--text-sm);font-weight:600}.ui-quick-filter[aria-pressed=true]{color:var(--color-primary-dark);background:var(--color-primary-soft);border-color:#67c7cf}.ui-attention-strip{justify-content:space-between;align-items:center;gap:var(--space-4);min-height:48px;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);color:#9a3412;background:var(--color-warning-soft);border:1px solid #fed7aa;display:flex}.ui-table-shell{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);min-width:0;overflow:auto}.ui-table-shell tbody tr{min-height:var(--table-row-height)}.ui-detail-drawer{z-index:40;width:min(var(--detail-drawer-width), 100vw);border-left:1px solid var(--color-border);background:var(--color-surface);position:fixed;inset:0 0 0 auto;overflow-y:auto;box-shadow:-12px 0 32px #0f172a1f}@media (width<=1199px){.home-kpi-grid,.home-organization-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.home-organization-grid>:last-child:nth-child(odd){grid-column:1/-1}}@media (width<=1000px){.app-shell{grid-template-columns:var(--sidebar-width) minmax(0,1fr)}.app-shell.sidebar-is-collapsed{grid-template-columns:var(--sidebar-collapsed-width) minmax(0,1fr)}.sidebar{padding:var(--space-5) var(--space-4) var(--space-4);align-items:stretch}.sidebar .brand>span:last-child,.nav-item-label,.nav-label{display:block}.sidebar-user-copy{display:flex}.sidebar nav{width:auto}.nav-item:is(button,a){padding:0 var(--space-3);justify-content:flex-start}.sidebar-user{justify-content:initial;grid-template-columns:38px minmax(0,1fr) 28px}.sidebar-logout{display:block}.sidebar-collapse{display:grid}.home-action-grid{grid-template-columns:1fr}}@media (width<=767px){.app-shell,.app-shell.sidebar-is-collapsed{display:block}.sidebar{width:min(310px,88vw);height:100dvh;padding:var(--space-5) var(--space-4);visibility:hidden;transition:transform var(--motion-base);flex-direction:column;justify-content:flex-start;align-items:stretch;display:flex;position:fixed;inset:0 auto 0 0;transform:translate(-105%)}.app-shell.mobile-nav-is-open .sidebar{visibility:visible;transform:translate(0)}.sidebar-header{flex:none;width:100%;height:auto}.sidebar .brand>span:last-child,.nav-item-label,.nav-label,.sidebar-user-copy{display:flex}.sidebar nav{flex:auto;width:100%;min-height:0;display:flex}.nav-item:is(button,a){padding:0 var(--space-3);justify-content:flex-start}.sidebar-user{width:100%;height:auto;margin-top:var(--space-3);flex:none;grid-template-columns:38px minmax(0,1fr) 28px}.sidebar-logout{display:block}.sidebar-mobile-close{border-radius:var(--radius-md);width:34px;height:34px;color:var(--color-text-secondary);background:var(--color-surface-muted);font-size:var(--text-xl);border:0;place-items:center;display:grid}.mobile-menu-button{top:var(--space-3);left:var(--space-3);z-index:24;border:1px solid var(--color-border);border-radius:var(--radius-md);width:40px;height:40px;color:var(--color-primary-dark);box-shadow:var(--shadow-card);font-size:var(--text-xl);background:#fffffff5;place-items:center;display:grid;position:fixed}.page-canvas{padding:0 var(--space-4) var(--space-8)}.sidebar-scrim{z-index:25;background:#0f172a5c;border:0;display:block;position:fixed;inset:0}.ui-page-header{flex-direction:column}.ui-page-header h1{font-size:var(--text-2xl)}.home-kpi-grid,.home-organization-grid,.home-account-strip{grid-template-columns:1fr}.home-organization-grid>:last-child:nth-child(odd){grid-column:auto}.ui-quick-grid{grid-template-columns:1fr}.ui-kpi-card{min-height:116px}.ui-organization-card ul{grid-template-columns:1fr}}.nav-item:is(a){flex-shrink:0;align-items:center;text-decoration:none;display:flex}.nav-item.active{border-left:0;font-weight:700}.skip-link{z-index:1100;color:#fff;background:var(--color-text-primary);padding:12px;position:fixed;top:8px;left:8px;transform:translateY(-150%)}.skip-link:focus{transform:none}.student-context-row{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:12px;display:flex}.student-context-row>label{min-width:180px;color:var(--color-text-secondary);font-size:var(--text-base);gap:4px;display:grid}.student-context-row .section-actions{margin:0}.ui-page-header{margin-bottom:0}@media (pointer:coarse){:is(button,summary,.nav-item,.ui-control,input:not([type=checkbox]):not([type=radio]),select){min-height:44px!important}input:not([type=checkbox]):not([type=radio]),select,textarea{font-size:16px!important}}:is(.ui-page-header,.section-heading,.ledger-page-header,.page-header,.master-heading){align-items:flex-start;gap:var(--space-4)}:is(.ui-page-actions,.section-actions,.ledger-page-actions){align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}:is(.ui-page-header,.section-heading,.ledger-page-header,.page-header,.master-heading)>div>:is(h1,h2),:is(.ui-page-header,.section-heading,.ledger-page-header,.page-header,.master-heading)>:is(h1,h2){font-size:var(--text-page-title);letter-spacing:0;font-weight:700;line-height:1.4}:is(.primary-button,.outline-button,.ui-button){min-height:var(--control-height);font-size:var(--text-base);border-radius:var(--radius-sm);white-space:normal;font-weight:500}:is(.primary-button,.ui-button-primary){background:var(--color-primary);border-color:var(--color-primary);box-shadow:none}:is(.outline-button,.ui-button-secondary){background:var(--color-surface);border-color:var(--color-border);color:var(--color-text-primary)}:is(.primary-button,.outline-button,.ui-button):disabled{opacity:.55;cursor:not-allowed}:is(.field,.filter-field) :is(input,select,textarea){font-size:var(--text-base)}:is(.field,.filter-field) :is(input:not([type=checkbox]):not([type=radio]),select){min-height:var(--control-height)}:is(.data-table,.master-table){font-size:var(--text-base);font-variant-numeric:tabular-nums}:is(.data-table,.master-table) thead th{font-size:var(--text-xs);color:var(--color-text-secondary);font-weight:600}:is(.data-table,.master-table) tbody td{line-height:1.6}:is(.page-mode-tabs,.ui-tabs) button{font-size:var(--text-sm);font-weight:600}:is(.master-state,.empty-cell,.ui-empty-state){padding:var(--space-6);color:var(--color-text-secondary);font-size:var(--text-base);line-height:1.7}.ui-empty-state{text-align:center;border:1px dashed var(--color-border);border-radius:var(--radius-md);background:var(--color-surface)}.ui-empty-state strong{color:var(--color-text-primary);font-weight:600;display:block}.ui-empty-state p{margin:var(--space-2) 0 0}.ui-field{gap:var(--space-2);min-width:0;display:grid}.ui-field-label{color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:600}.ui-field-hint{color:var(--color-text-secondary);font-size:var(--text-xs)}.ui-field-error{color:#b91c1c;font-size:var(--text-sm)}.ui-control{width:100%;min-width:0;min-height:var(--control-height);padding:var(--space-2) var(--space-3);border:1px solid var(--color-control-border);border-radius:var(--radius-sm);color:var(--color-text-primary);background:var(--color-surface);font-size:var(--text-base)}.ui-control[aria-invalid=true]{border-color:#b91c1c}@media (width<=767px){:is(.ui-page-header,.section-heading,.ledger-page-header,.page-header,.master-heading)>div>:is(h1,h2),:is(.ui-page-header,.section-heading,.ledger-page-header,.page-header,.master-heading)>:is(h1,h2){font-size:var(--text-2xl)}:is(.ui-page-actions,.section-actions,.ledger-page-actions){width:100%}.student-context-row .section-actions{flex-wrap:wrap;display:flex}.student-context-row .section-actions .ui-button{flex:auto}}.operations-page{gap:var(--space-5);min-width:0;margin:0;display:grid}.operations-page .ui-page-header{margin:0}.operations-page .ui-page-description{max-width:900px}.operations-page .section-actions{justify-content:flex-end;gap:var(--space-2);flex-wrap:wrap;display:flex}.operations-filter-card{align-items:end;gap:var(--space-4);padding:var(--space-5);box-shadow:none;margin:0;display:grid}.operations-filter-card label,.operations-filter-card .filter-field{gap:var(--space-2);min-width:0;color:var(--color-text-secondary);font-size:var(--text-xs);font-weight:600;display:grid}.operations-filter-card label>span{font-size:inherit}.operations-filter-card select,.operations-filter-card input{width:100%;min-width:0;height:var(--control-height);padding:0 var(--space-3);border:1px solid var(--color-control-border);border-radius:var(--radius-sm);color:var(--color-text-primary);background:var(--color-surface);font:500 var(--text-base) var(--font-family);outline:0}.operations-filter-card select:focus,.operations-filter-card input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-focus)}.operations-filter-actions{justify-content:flex-end;gap:var(--space-2);display:flex}.ledger-toolbar.operations-filter-card{grid-template-columns:minmax(280px,1.4fr) minmax(180px,.55fr) auto}.billing-schedule-toolbar.operations-filter-card{grid-template-columns:minmax(280px,1fr) minmax(260px,.7fr) auto}.student-tools.operations-filter-card{grid-template-columns:minmax(260px,1fr) minmax(170px,.55fr) minmax(280px,1.15fr) auto}.operations-filter-card .filter-result-count{min-height:44px;padding:0 var(--space-4);border-radius:var(--radius-md);color:var(--color-text-secondary);background:var(--color-surface-muted);font-size:var(--text-sm);justify-content:center;align-items:center;gap:4px;display:flex}.operations-filter-card .filter-result-count strong{color:var(--color-primary-dark);font-size:var(--text-xl);font-variant-numeric:tabular-nums}.operation-list-filters{padding:var(--space-4);gap:var(--space-3);grid-template-columns:minmax(180px,1fr) 350px minmax(140px,.55fr) minmax(180px,1.15fr)}.operation-list-search{min-width:0}.operation-history-table{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);min-height:300px}.operation-history-table table{min-width:1180px}.operation-history-table th,.operation-history-table td{vertical-align:middle}.operation-history-table thead th,.operation-history-table tbody :is(td,th):nth-child(-n+4){white-space:nowrap}.operation-history-table td small,.operation-history-table th small{color:var(--color-text-muted);font-size:var(--text-xs);margin-top:3px;font-weight:500;display:block}.operation-diff-trigger{border-radius:var(--radius-sm);width:100%;color:var(--color-text-primary);font:inherit;cursor:pointer;background:0 0;border:0;grid-template-columns:minmax(70px,1fr) auto minmax(70px,1fr);align-items:center;gap:6px;padding:6px 8px;display:grid}.operation-diff-trigger:hover{background:var(--color-primary-soft)}.operation-diff-trigger b,.operation-inline-arrow{color:var(--color-primary);margin:0 5px}.operation-amount-changed{color:#a15c00;font-variant-numeric:tabular-nums;background:#fff8e2}.operation-history-table tr.is-expanded>td,.operation-history-table tr.is-expanded>th{background:#f4faf8}.operation-detail-row>td{background:#f7faf9!important;padding:0!important}.operation-comparison-panel{align-items:stretch;gap:var(--space-3);padding:var(--space-4);grid-template-columns:minmax(280px,1fr) 32px minmax(280px,1fr) minmax(210px,.65fr);display:grid}.operation-comparison-arrow{color:var(--color-primary);font-size:var(--text-2xl);place-items:center;font-weight:700;display:grid}.operation-snapshot-card,.operation-comparison-panel>aside{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff}.operation-snapshot-card h4{margin:0 0 var(--space-3);font-size:var(--text-md)}.operation-snapshot-card dl{gap:8px;margin:0;display:grid}.operation-snapshot-card dl>div{gap:var(--space-3);grid-template-columns:105px 1fr;display:grid}.operation-snapshot-card dt{color:var(--color-text-secondary);font-size:var(--text-xs);font-weight:700}.operation-snapshot-card dd{font-size:var(--text-sm);margin:0;font-weight:600}.operation-snapshot-total{border-top:1px solid var(--color-border);margin-top:4px;padding-top:9px}.operation-snapshot-total dd{color:var(--color-primary-dark);font-size:var(--text-lg)}.operation-comparison-panel>aside{flex-direction:column;gap:5px;display:flex}.operation-comparison-panel>aside span{color:var(--color-text-secondary);font-size:var(--text-xs);margin-top:6px;font-weight:700}.operation-comparison-panel>aside strong{font-size:var(--text-md)}.operation-comparison-panel>aside code,.operation-comparison-panel>aside small{overflow-wrap:anywhere;color:var(--color-text-muted);font-size:var(--text-xs)}@media (width<=1180px){.operation-comparison-panel{grid-template-columns:1fr}.operation-comparison-arrow{transform:rotate(90deg)}}.operations-page>.alert,.operations-page>.success-notice{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--text-sm);margin:0}.page-canvas:has(>.ledger-page){padding:0 14px var(--space-4)}.ledger-page{gap:10px}.ledger-page .ui-page-header{align-items:center;min-height:38px}.ledger-page .ui-page-header h1{font-size:var(--text-page-title);line-height:1.4}@media (width<=767px){.ledger-page .ui-page-header h1,.student-lifecycle-page .ui-page-header h1{font-size:var(--text-2xl)}}.ledger-page .ui-page-description{display:none}.ledger-header-actions{justify-content:flex-end;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.ledger-header-dates{align-items:center;gap:var(--space-4);color:var(--color-text-secondary);font-size:var(--text-xs);white-space:nowrap;flex-wrap:wrap;padding-top:5px;display:flex}.ledger-header-dates strong{color:var(--color-text-primary);font-size:var(--text-sm);font-variant-numeric:tabular-nums;margin-left:4px}.ledger-page .ledger-toolbar.operations-filter-card{gap:10px;padding:8px 10px}.ledger-page .ledger-toolbar.operations-filter-card label{grid-template-columns:auto minmax(140px,1fr);align-items:center;gap:8px}.ledger-page .ledger-toolbar.operations-filter-card select,.ledger-page .ledger-toolbar.operations-filter-card input{height:var(--control-height)}.ledger-page .warning-text{color:var(--color-warning);font-weight:700}.ledger-post-close-banner{justify-content:space-between;align-items:center;gap:var(--space-5);border-radius:var(--radius-md);color:#71420a;background:#fff8e8;border:1px solid #f1c36d;border-left:5px solid #e08a00;padding:13px 16px;display:flex}.ledger-post-close-banner.is-editing{background:#fff2d6;border-color:#e4aa3f #e4aa3f #e4aa3f #c96d00}.ledger-post-close-banner strong{color:#633808;font-size:var(--text-md);margin-bottom:3px;display:block}.ledger-post-close-banner p{color:#80571f;font-size:var(--text-sm);margin:0;line-height:1.55}.ledger-post-close-banner .ui-button{flex:none;min-width:180px}.student-editor.ledger-post-close-confirm{width:min(520px,100vw - 32px)}.ledger-post-close-confirm__body{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-subtle)}.ledger-post-close-confirm__body strong{color:var(--color-text);font-size:var(--text-sm);display:block}.ledger-post-close-confirm__body p{margin:var(--space-2) 0 0;color:var(--color-text-secondary);font-size:var(--text-sm);line-height:1.65}.ledger-workspace-card{border-radius:var(--radius-lg);min-width:0;box-shadow:none;gap:8px;margin:0;padding:10px;display:grid;overflow:hidden}.ledger-grid-meta{justify-content:space-between;align-items:center;gap:var(--space-3);padding:0 var(--space-1);color:var(--color-text-secondary);font-size:var(--text-xs);margin:0;display:flex}.ledger-grid-key-help{color:var(--color-text-muted)}.ledger-grid-status{justify-content:flex-end;align-items:center;gap:var(--space-3);white-space:nowrap;display:flex}.ledger-grid-status strong{color:var(--color-text-primary);font-size:var(--text-sm);font-variant-numeric:tabular-nums;margin-left:3px}.ledger-change-legend{color:#8a5600;background:#fff7db;border:1px solid #f4c66a;border-radius:999px;padding:4px 9px;font-weight:700}.ledger-grid-scroll{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);min-height:420px;max-height:calc(100vh - 300px);box-shadow:none;overflow:auto}.ledger-grid{table-layout:fixed}.ledger-grid th,.ledger-grid td{box-sizing:border-box;width:auto;min-width:0;max-width:none;height:44px;padding:0 var(--space-2);border-color:var(--color-border);color:var(--color-text-primary);background:var(--color-surface);font-size:var(--text-xs)}.ledger-grid thead th{height:48px;color:var(--color-text-secondary);background:var(--color-surface-muted);font-size:var(--text-sm)}.ledger-grid thead .ledger-column-groups th{height:32px;color:var(--color-primary-dark);font-size:var(--text-xs);text-align:center;background:#e7f3f2;top:0}.ledger-grid thead .ledger-column-groups th:not(.ledger-sticky-group--student):not(:last-child){border-right:2px solid #91a69e}.ledger-grid thead .ledger-column-groups .ledger-sticky-group--student{z-index:15;box-sizing:border-box;border-right:1px solid var(--color-border);background:var(--color-surface-muted);width:378px;min-width:378px;max-width:378px;position:sticky;left:0}.ledger-grid thead .ledger-column-groups .ledger-group--course,.ledger-grid thead .ledger-column-groups .ledger-group--option,.ledger-grid thead .ledger-column-groups .ledger-group--recurring{color:#334155;background:#f3f7fa}.ledger-grid thead .ledger-column-groups .ledger-group--monthly-change{color:#475569;background:#fff}.ledger-grid thead .ledger-column-groups .ledger-group--one-time{color:#365e52;background:#f4f9f7}.ledger-grid thead .ledger-column-groups .ledger-group--total{color:var(--color-primary-dark);background:var(--color-primary-soft)}.ledger-grid thead .ledger-column-groups .ledger-group--detail{color:#475569;background:#f8fafc}.ledger-grid thead tr:nth-child(2) th{height:42px;top:32px}.ledger-grid thead .ledger-column-groups th[rowspan="2"]{z-index:10}.ledger-sort-header{width:100%;height:100%;color:inherit;font:inherit;font-weight:inherit;text-align:center;cursor:pointer;background:0 0;border:0;justify-content:center;align-items:center;gap:5px;margin:0;padding:0 4px;line-height:1.3;display:flex}.ledger-sort-header:hover{color:var(--color-primary-dark);background:#0f766e14}.ledger-sort-header:focus-visible{outline:2px solid var(--color-primary);outline-offset:-3px}.ledger-sort-indicator{color:#94a3b8;font-size:var(--text-xs);flex:none}.ledger-sort-indicator.is-active{color:var(--color-primary)}.ledger-grid .ledger-sticky-id{min-width:104px;max-width:104px;left:0}.ledger-grid .ledger-sticky-name{border-right:1px solid var(--color-border);min-width:170px;max-width:170px;left:104px}.ledger-grid .ledger-sticky-grade{text-align:center;min-width:104px;max-width:104px;left:274px}.ledger-grid thead .ledger-sticky{background:var(--color-surface-muted)}.ledger-grid .ledger-group-boundary{border-right:2px solid #91a69e!important}.ledger-contract-cell{color:var(--color-text-secondary);text-align:center;font-weight:600;background:#f8fafc!important}.ledger-grid input{box-sizing:border-box;width:100%;min-width:0;height:43px;padding:0 var(--space-2);color:var(--color-text-primary);font:600 var(--text-base) var(--font-family)}.ledger-grid input:focus{border:2px solid var(--color-primary);box-shadow:inset 0 0 0 2px var(--color-focus);background:#fff}.ledger-grid .ledger-money-input{text-align:right;font-variant-numeric:tabular-nums}.ledger-grid .ledger-money-input--invalid{color:var(--color-danger);background:var(--color-danger-soft);box-shadow:inset 0 0 0 2px var(--color-danger)}.ledger-weekly-units{color:var(--color-text-secondary);font-weight:700;text-align:center!important;background:#f8fafc!important}.ledger-readonly-money{background:var(--color-surface-muted)!important}.ledger-option-enrolled{text-align:center;font-weight:700;color:var(--color-primary-dark)!important;font-size:var(--text-base)!important;background:#f7faf9!important}.ledger-empty-option{text-align:center;color:var(--color-text-muted)!important;background:#f8fafc!important}.ledger-total-cell{color:var(--color-primary-dark)!important;background:var(--color-primary-soft)!important;font-size:var(--text-xs)!important}.ledger-grid tbody th,.ledger-grid tbody td,.ledger-grid tbody input,.ledger-grid tbody code,.ledger-grid tfoot th,.ledger-grid tfoot td,.ledger-grid tfoot code{font-family:var(--font-family)!important;font-size:var(--text-base)!important;font-weight:700!important}.ledger-grid tbody code,.ledger-grid tfoot code{color:inherit;font-style:normal}.ledger-dirty-row td,.ledger-dirty-row th{background:#eff6ff}.ledger-grid td.ledger-changed-contract-cell{background:#fff7db;position:relative;box-shadow:inset 0 0 0 1px #efbd54}.ledger-grid td.ledger-changed-contract-cell input{background:0 0}.ledger-change-trigger{width:100%;height:100%;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;place-items:center;margin:0;padding:0 4px;display:grid;position:relative}.ledger-change-trigger.has-indicator:after{content:"";background:#d48700;border-radius:50%;width:5px;height:5px;position:absolute;top:3px;right:3px}.ledger-change-trigger:focus-visible{outline-offset:-2px;outline:2px solid #d48700}.ledger-change-trigger.is-selected{outline-offset:-2px;outline:2px solid #e08a00}.ledger-grid td.ledger-change-group-changed{box-shadow:inset 0 1px #efbd54,inset 0 -1px #efbd54}.ledger-grid td.ledger-change-group-changed.ledger-change-group-first{box-shadow:inset 1px 0 #efbd54,inset 0 1px #efbd54,inset 0 -1px #efbd54}.ledger-grid td.ledger-change-group-changed.ledger-change-group-last{box-shadow:inset -1px 0 #efbd54,inset 0 1px #efbd54,inset 0 -1px #efbd54}.ledger-grid td.ledger-change-group-selected{box-shadow:inset 0 2px #e08a00,inset 0 -2px #e08a00}.ledger-grid td.ledger-change-group-selected.ledger-change-group-first{box-shadow:inset 2px 0 #e08a00,inset 0 2px #e08a00,inset 0 -2px #e08a00}.ledger-grid td.ledger-change-group-selected.ledger-change-group-last{box-shadow:inset -2px 0 #e08a00,inset 0 2px #e08a00,inset 0 -2px #e08a00}.ledger-change-floating-tooltip{z-index:120;color:#29342f;width:max-content;max-width:310px;font-size:var(--text-xs);text-align:left;pointer-events:none;white-space:normal;background:#fffdf7;border:1px solid #dfb45f;border-radius:8px;gap:3px;padding:11px 13px;font-weight:600;line-height:1.5;display:grid;position:fixed;transform:translate(-50%);box-shadow:0 10px 28px #3127122e}.ledger-change-floating-tooltip b{color:#8a5600;font-size:var(--text-xs);margin-bottom:2px}.ledger-change-floating-tooltip i{color:#be7500;text-align:center;font-style:normal}.ledger-change-floating-tooltip strong{color:#8a5600}.ledger-change-floating-tooltip small{color:var(--color-text-muted);margin-top:3px}.ledger-grid tfoot th,.ledger-grid tfoot td{z-index:7;height:48px;font-size:var(--text-xs);background:#e8f5f3;font-weight:700;position:sticky;bottom:0}.ledger-grid tfoot .ledger-sticky-total-label{z-index:12;box-sizing:border-box;background:#dff1ee;width:378px;min-width:378px;max-width:378px;left:0}.ledger-page .sticky-form-actions{border-color:var(--color-border);border-radius:var(--radius-lg);font-size:var(--text-sm);margin:0;padding:7px 10px}.ledger-page .sticky-form-actions>div:first-child{align-items:center;gap:var(--space-4);display:flex}.ledger-page .sticky-form-actions small{color:var(--color-text-secondary);font-size:var(--text-xs)}.ledger-page .sticky-form-actions strong{color:var(--color-primary-dark);font-size:var(--text-xl)}.ledger-page .empty-state{padding:var(--space-8);margin:0}.ledger-charge-only-action{margin-top:var(--space-3);justify-content:flex-end;display:flex}.ledger-view-tools{border-bottom:1px solid var(--color-border);grid-template-columns:minmax(220px,1fr) 135px 180px 70px minmax(390px,auto);align-items:end;gap:8px;margin:0;padding:0 2px 8px;display:grid}.ledger-view-tools label{color:var(--color-text-secondary);font-size:var(--text-xs);gap:5px;font-weight:700;display:grid}.ledger-view-tools input,.ledger-view-tools select{border:1px solid var(--color-control-border);border-radius:var(--radius-sm);height:38px;font-size:var(--text-base);background:#fff;padding:0 11px}.ledger-view-tools>span{color:var(--color-text-secondary);font-size:var(--text-sm);align-self:center}.ledger-result-count{white-space:nowrap;justify-content:center;align-items:baseline;gap:3px;min-height:38px;padding-top:12px;display:flex}.ledger-result-count strong{color:var(--color-text-primary);font-size:var(--text-lg);font-variant-numeric:tabular-nums}.ledger-view-actions{justify-content:flex-end;align-items:center;gap:5px;display:flex}.ledger-view-actions .ui-button{min-height:38px;padding-inline:11px}.ledger-export-menu{position:relative}.ledger-export-menu>summary{border:1px solid var(--color-border);border-radius:var(--radius-md);min-width:68px;min-height:38px;color:var(--color-text-primary);font-size:var(--text-sm);cursor:pointer;background:#fff;place-items:center;padding:0 11px;font-weight:700;list-style:none;display:grid}.ledger-export-menu>summary::-webkit-details-marker{display:none}.ledger-export-menu[open]>summary{border-color:var(--color-primary);box-shadow:0 0 0 2px var(--color-focus)}.ledger-export-menu>div{z-index:30;border:1px solid var(--color-border);border-radius:var(--radius-md);width:190px;box-shadow:var(--shadow-hover);background:#fff;padding:5px;display:grid;position:absolute;top:calc(100% + 5px);right:0}.ledger-export-menu button{border-radius:var(--radius-sm);color:var(--color-text-primary);font:700 var(--text-sm) var(--font-family);text-align:left;cursor:pointer;background:0 0;border:0;padding:9px 10px}.ledger-export-menu button:hover{color:var(--color-primary-dark);background:var(--color-primary-soft)}.ledger-status-row{align-items:stretch;gap:6px;min-width:0;padding:0 2px;display:flex}.ledger-status-filter{border:1px solid var(--color-border);border-radius:var(--radius-md);min-width:118px;min-height:58px;color:var(--color-text-primary);text-align:left;cursor:pointer;background:#fff;grid-template-columns:1fr auto;align-items:center;gap:4px 12px;padding:8px 12px;font-family:inherit;display:grid}.ledger-status-filter span{font-size:var(--text-xs);white-space:nowrap;font-weight:700}.ledger-status-filter strong{font-size:var(--text-xl);font-variant-numeric:tabular-nums;white-space:nowrap}.ledger-status-filter small{font-size:var(--text-xs);margin-left:2px}.ledger-status-filter:hover{background:#f8fafc;border-color:#94a3b8}.ledger-status-filter.is-active{box-shadow:inset 0 0 0 2px}.ledger-status-filter--all{color:#42677a;background:#f6fafc}.ledger-status-filter--changed{color:#a15c00;background:#fffaf0;border-color:#f3d19a}.ledger-status-filter--new{color:#16814d;background:#f0faf5;border-color:#bfe5d0}.ledger-status-filter--review{color:#7c3aed;background:#f5f3ff;border-color:#d9ccff}.ledger-status-filter--error{color:var(--color-danger);background:#fef2f2;border-color:#fecaca}.ledger-status-filter .ledger-status-issue-count{color:currentColor;font-size:var(--text-xs);opacity:.82;grid-column:1/-1;margin:0;font-weight:700}.ledger-status-help{min-width:0;color:var(--color-text-secondary);font-size:var(--text-xs);white-space:nowrap;align-self:center;margin-left:6px}.ledger-status-row .ledger-grid-status{flex:auto;align-self:center;min-width:max-content;margin-left:auto}.ledger-summary-strip{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-border);grid-template-columns:180px 170px repeat(3,minmax(135px,1fr)) minmax(155px,1.15fr);gap:1px;display:grid;overflow:hidden}.ledger-summary-strip article,.ledger-summary-strip button.ledger-summary-card{text-align:center;background:#fff;border:0;flex-direction:column;justify-content:center;align-items:center;gap:4px;min-width:0;min-height:78px;padding:10px 12px;font-family:inherit;display:flex}.ledger-summary-strip span{color:var(--color-text-secondary);font-size:var(--text-xs);white-space:nowrap;font-weight:700}.ledger-summary-strip strong{color:var(--color-text-primary);font-size:var(--text-md);font-variant-numeric:tabular-nums;white-space:nowrap}.ledger-summary-strip strong small{font-size:var(--text-xs);margin-left:3px}.ledger-summary-strip article>small,.ledger-summary-strip button.ledger-summary-card>small{color:var(--color-text-muted);font-size:var(--text-xs)}.ledger-summary-card--change{background:#f5faf9!important}.ledger-summary-card--change strong{color:var(--color-primary-dark);font-size:var(--text-xl)}.ledger-change-filter{cursor:pointer}.ledger-change-filter:hover{background:#e8f5f1!important}.ledger-change-filter.is-active{box-shadow:inset 0 0 0 2px var(--color-primary);background:#dff1eb!important}.ledger-summary-card--warning{background:#f5f3ff!important}.ledger-summary-card--warning span,.ledger-summary-card--warning strong{color:#7c3aed}.ledger-summary-card--warning strong{font-size:var(--text-xl)}.ledger-summary-amount--total{background:#eff9f9!important}.ledger-summary-amount--total span,.ledger-summary-amount--total strong{color:var(--color-primary-dark)}.ledger-summary-amount--total strong{font-size:var(--text-xl)}.ledger-change-backdrop{z-index:100;pointer-events:none;background:0 0;position:fixed;inset:0}.ledger-change-drawer{z-index:101;width:min(480px,100vw);height:100vh;padding:var(--space-6);border-left:1px solid var(--color-border);pointer-events:auto;background:#fff;position:fixed;top:0;right:0;overflow:auto;box-shadow:-12px 0 34px #0f172a24}.ledger-change-drawer>header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border);display:flex}.ledger-change-drawer h3{font-size:var(--text-xl);margin:4px 0 0}.ledger-change-drawer>header button{background:var(--color-surface-muted);width:36px;height:36px;font-size:var(--text-xl);cursor:pointer;border:0;border-radius:50%}.ledger-change-heading{flex-wrap:wrap;align-items:center;gap:7px;margin-top:10px;display:flex}.ledger-change-heading strong{font-size:var(--text-md)}.ledger-change-heading span{color:#8a5600;font-size:var(--text-xs);background:#fff2d5;border-radius:999px;padding:4px 8px;font-weight:700}.ledger-change-comparison{margin:var(--space-5) 0 var(--space-3);grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:stretch;gap:10px;display:grid}.ledger-change-comparison article{border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fafcfc;align-content:center;gap:9px;min-height:120px;padding:14px;display:grid}.ledger-change-comparison article:last-child{background:#fffaf0;border-color:#efbd54}.ledger-change-comparison small{color:var(--color-text-secondary);font-size:var(--text-xs)}.ledger-change-comparison strong{font-size:var(--text-md);white-space:pre-line;line-height:1.55}.ledger-change-comparison>b{color:#be7500;font-size:var(--text-xl);align-self:center}.ledger-change-difference{margin-bottom:var(--space-5);border-radius:var(--radius-md);background:var(--color-surface-muted);justify-content:flex-end;align-items:baseline;gap:12px;padding:10px 13px;display:flex}.ledger-change-difference span{color:var(--color-text-secondary);font-size:var(--text-xs);font-weight:700}.ledger-change-difference strong{font-size:var(--text-xl)}.ledger-change-difference.is-positive strong{color:#087a61}.ledger-change-difference.is-negative strong{color:#b4433a}.ledger-change-drawer dl{margin:var(--space-5) 0;border:1px solid var(--color-border);border-radius:var(--radius-md);gap:0;display:grid;overflow:hidden}.ledger-change-drawer dl>div{gap:var(--space-3);border-bottom:1px solid var(--color-border);grid-template-columns:140px minmax(0,1fr);padding:13px 14px;display:grid}.ledger-change-drawer dl>div:last-child{border-bottom:0}.ledger-change-drawer dt{color:var(--color-text-secondary);font-size:var(--text-xs);font-weight:700}.ledger-change-drawer dd{color:var(--color-text-primary);font-size:var(--text-sm);overflow-wrap:anywhere;margin:0;font-weight:700;line-height:1.6}.ledger-change-drawer dd small{color:#087a61;width:max-content;font-size:var(--text-xs);background:#e6f5f1;border-radius:999px;margin-top:4px;padding:2px 7px;display:block}.ledger-change-drawer dd.is-positive{color:#087a61}.ledger-change-drawer dd.is-negative{color:#b4433a}.ledger-change-drawer footer{justify-content:flex-end;display:flex}.ledger-drawer-backdrop{z-index:100;cursor:default;background:#0f172a1f;border:0;position:fixed;inset:0}.ledger-issue-drawer{z-index:101;border-left:1px solid var(--color-border);background:#fff;flex-direction:column;width:min(560px,100vw);height:100vh;display:flex;position:fixed;top:0;right:0;overflow:hidden;box-shadow:-16px 0 48px #0f172a33}.ledger-issue-drawer>header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);padding:var(--space-5) var(--space-6);border-bottom:1px solid var(--color-border);display:flex}.ledger-issue-drawer>header small{color:var(--color-text-secondary);font-size:var(--text-xs);font-weight:700}.ledger-issue-drawer>header h3{font-size:var(--text-xl);margin:4px 0}.ledger-issue-drawer>header p{color:var(--color-text-secondary);font-size:var(--text-sm);margin:0}.ledger-issue-drawer>header button{background:var(--color-surface-muted);width:36px;height:36px;font-size:var(--text-xl);cursor:pointer;border:0;border-radius:50%;flex:0 0 36px}.ledger-issue-drawer>header,.ledger-issue-drawer-footer{flex-shrink:0}.ledger-issue-list{gap:var(--space-3);min-height:0;padding:var(--space-5) var(--space-6);flex-direction:column;flex:1;display:flex;overflow-y:auto}.ledger-issue-list>*{flex:none}.ledger-issue-card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;border-left:4px solid #7c3aed;overflow:hidden}.ledger-issue-card--error{border-left-color:var(--color-danger)}.ledger-issue-card-heading{align-items:center;gap:var(--space-2);background:#fafafa;padding:13px 14px;display:flex}.ledger-issue-card-heading strong{font-size:var(--text-sm)}.ledger-issue-card dl{margin:0;display:grid}.ledger-issue-card dl>div{gap:var(--space-3);border-top:1px solid var(--color-border);grid-template-columns:126px minmax(0,1fr);padding:11px 14px;display:grid}.ledger-issue-card dt{color:var(--color-text-secondary);font-size:var(--text-xs);font-weight:700}.ledger-issue-card dd{color:var(--color-text-primary);font-size:var(--text-sm);overflow-wrap:anywhere;margin:0;font-weight:600;line-height:1.65}.ledger-issue-card dd small{color:var(--color-text-secondary);font-size:var(--text-xs);margin-top:2px;font-weight:500;display:block}.ledger-issue-card footer{justify-content:space-between;align-items:center;gap:var(--space-3);border-top:1px solid var(--color-border);background:#fafafa;padding:11px 14px;display:flex}.ledger-issue-card footer details{color:var(--color-text-secondary);font-size:var(--text-xs);margin-left:auto}.ledger-issue-card footer summary{cursor:pointer}.ledger-issue-card footer code{color:var(--color-text-secondary);font-size:var(--text-xs);margin-top:5px;display:block}.ledger-issue-empty{color:var(--color-text-secondary);text-align:center;margin:0;padding:28px}.ledger-issue-drawer-footer{padding:var(--space-4) var(--space-6);border-top:1px solid var(--color-border);background:#fff;justify-content:flex-end;display:flex}.ledger-change-technical{margin:0 0 var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fafcfc}.ledger-change-technical summary{color:var(--color-text-secondary);font-size:var(--text-xs);cursor:pointer;padding:11px 13px;font-weight:700}.ledger-change-technical dl{border:0;border-top:1px solid var(--color-border);border-radius:0;margin:0}.ledger-grid-legend{border:1px solid var(--color-border);border-radius:var(--radius-md);min-height:34px;color:var(--color-text-secondary);font-size:var(--text-xs);background:#fafcfc;flex-wrap:wrap;align-items:center;gap:8px 18px;padding:6px 10px;display:flex}.ledger-grid-legend strong{color:var(--color-primary-dark);flex:none}.ledger-grid-legend>span{align-items:center;gap:5px;display:inline-flex}.ledger-grid-legend i{background:#e2e8f0;border-radius:3px;width:12px;height:12px}.ledger-grid-legend i.is-change{background:#fed7aa}.ledger-grid-legend i.is-new{background:#bbf7d0}.ledger-grid-legend i.is-review{background:#ddd6fe}.ledger-grid-legend i.is-error{background:#fecaca}.ledger-grid-legend i.is-auto{background:#e2e8f0}.ledger-grid-help{color:var(--color-primary-dark);cursor:help;margin-left:auto}.ledger-page--maximized{z-index:45;background:var(--color-bg);flex-direction:column;gap:6px;height:100vh;padding:8px 10px;display:flex;position:fixed;inset:0;overflow:hidden}.ledger-page--maximized .ui-page-header{justify-content:flex-end;min-height:32px}.ledger-page--maximized .ui-page-header>div:first-child,.ledger-page--maximized .ledger-header-dates,.ledger-page--maximized .ledger-toolbar.operations-filter-card,.ledger-page--maximized .ledger-view-tools,.ledger-page--maximized .ledger-status-row,.ledger-page--maximized .ledger-summary-strip,.ledger-page--maximized .ledger-grid-meta,.ledger-page--maximized .ledger-grid-legend,.ledger-page--maximized .ledger-charge-only-action{display:none}.ledger-page--maximized .ledger-workspace-card{background:0 0;border:0;flex-direction:column;flex:auto;min-height:0;padding:0;display:flex}.ledger-page--maximized .ledger-grid-scroll{flex:auto;height:auto;min-height:0;max-height:none}.ledger-page--maximized .ledger-header-actions .ui-button{color:#fff;background:var(--color-primary)}.ledger-view-tools>div{justify-content:flex-end;gap:var(--space-2);display:flex}.ledger-view-dialog{width:min(1120px,100vw - 40px)}.ledger-view-rule-layout{gap:var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.ledger-view-rule-layout>section{min-width:0}.ledger-rule-heading{justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-3);display:flex}.ledger-rule-heading h4{font-size:var(--text-md);margin:0}.ledger-rule-heading p{color:var(--color-text-secondary);font-size:var(--text-xs);margin:3px 0 0}.ledger-rule-list{gap:var(--space-2);display:grid}.ledger-rule-list>div{align-items:center;gap:var(--space-2);grid-template-columns:minmax(130px,1fr) 100px minmax(110px,.8fr) 34px;display:grid}.ledger-rule-list>div.ledger-sort-rule{grid-template-columns:28px minmax(150px,1fr) 96px 34px}.ledger-rule-list select,.ledger-rule-list input{width:100%;min-width:0;height:40px;padding:0 var(--space-2);border:1px solid var(--color-control-border);border-radius:var(--radius-sm);font-size:var(--text-base);background:#fff}.ledger-rule-list>div>button{color:#a44339;width:34px;height:34px;font-size:var(--text-lg);cursor:pointer;background:#fff0ee;border:0;border-radius:50%}.ledger-rule-list b{color:var(--color-primary-dark);text-align:center}.ledger-rule-no-value{color:var(--color-text-muted);font-size:var(--text-xs);text-align:center}.ledger-rule-empty{padding:var(--space-5);border:1px dashed var(--color-border);border-radius:var(--radius-md);color:var(--color-text-muted);font-size:var(--text-sm);text-align:center;margin:0}.ledger-detail-button{border:1px solid var(--color-primary);border-radius:var(--radius-md);min-width:74px;color:var(--color-primary-dark);cursor:pointer;background:#fff;padding:6px 9px;font-weight:700}.ledger-grid .ledger-row-actions-cell{width:252px;min-width:252px}.ledger-row-actions{white-space:nowrap;align-items:center;gap:5px;display:flex}.ledger-row-actions button{min-height:34px;font:700 var(--text-xs) var(--font-family)}.ledger-detail-button:hover,.ledger-student-operation-button:hover{background:var(--color-primary-soft)}.ledger-student-operation-button{border:1px solid var(--color-control-border);border-radius:var(--radius-md);min-width:66px;color:var(--color-text-primary);cursor:pointer;background:#fff;justify-content:center;align-items:center;gap:5px;padding:6px 8px;display:inline-flex}.ledger-student-operation-more{min-width:58px}.ledger-row-action-popover{z-index:90;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);width:196px;padding:6px;display:grid;position:fixed;box-shadow:0 16px 35px #0f172a2e}.ledger-row-action-popover-heading{border-bottom:1px solid var(--color-border);gap:1px;margin:-1px -1px 4px;padding:7px 10px 8px;display:grid}.ledger-row-action-popover-heading strong{color:var(--color-text-primary);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ledger-row-action-popover-heading span{color:var(--color-text-muted);font-size:var(--text-xs)}.ledger-row-action-popover button{min-height:40px;color:var(--color-text-primary);font:650 var(--text-sm) var(--font-family);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:8px 10px}.ledger-row-action-popover button:hover,.ledger-row-action-popover button:focus-visible{color:var(--color-primary-dark);background:var(--color-primary-soft)}.ledger-row-action-popover button.is-danger{color:var(--color-danger)}.ledger-row-action-popover button.is-danger:hover,.ledger-row-action-popover button.is-danger:focus-visible{background:#fef2f2}.ledger-row-actions button:focus-visible,.ledger-row-action-popover button:focus-visible{outline:3px solid var(--color-focus);outline-offset:1px}.lifecycle-operation-fields{border:0;min-width:0;margin:0;padding:0}.ledger-recurring-edit-button{border-radius:var(--radius-sm);width:auto;min-width:62px;min-height:28px;color:var(--color-primary-dark);font-size:var(--text-xs);cursor:pointer;background:#fff;border:1px solid #7ebfc2;padding:3px 8px;font-weight:700}.ledger-recurring-edit-button:hover:not(:disabled){background:var(--color-primary-soft)}.ledger-recurring-edit-button:disabled{opacity:.45;cursor:not-allowed}.ledger-student-name{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.ledger-row-badges{flex-wrap:wrap;align-items:center;gap:3px;margin-top:2px;display:flex}.ledger-row-badge{color:#475569;min-height:17px;font:750 var(--text-xs) var(--font-family);white-space:nowrap;background:#f1f5f9;border:0;border-radius:999px;align-items:center;padding:1px 5px;line-height:1.2;display:inline-flex}button.ledger-row-badge{cursor:pointer}.ledger-row-badge--new{color:#15803d;background:#dcfce7}.ledger-row-badge--review{color:#7c3aed;background:#f5f3ff}.ledger-row-badge--error{color:var(--color-danger);background:#fef2f2}.ledger-row--new>.ledger-sticky-id{box-shadow:inset 3px 0 #22c55e}.ledger-new-student-drawer .ledger-change-heading span{color:#15803d;background:#dcfce7}.ledger-new-start{margin:var(--space-5) 0}.ledger-new-start>div:first-child{border-radius:var(--radius-md);background:#f0faf5;border:1px solid #bfe5d0;flex-wrap:wrap;align-items:baseline;gap:8px;padding:13px 14px;display:flex}.ledger-new-start>div:first-child span{color:var(--color-text-secondary);font-size:var(--text-xs)}.ledger-new-start>div:first-child strong{color:#15803d;font-size:var(--text-lg)}.ledger-new-start>div:first-child small{color:#15803d;font-size:var(--text-xs);background:#dcfce7;border-radius:999px;padding:2px 7px;font-weight:700}.ledger-new-start h4{margin:var(--space-5) 0 var(--space-2);font-size:var(--text-md)}.ledger-new-start dl{margin:0}.ledger-new-fees{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.ledger-new-fees article{border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fafcfc;gap:6px;padding:12px;display:grid}.ledger-new-fees span{color:var(--color-text-secondary);font-size:var(--text-xs);font-weight:700}.ledger-new-fees b{color:var(--color-text-secondary);font-size:var(--text-xs);justify-content:space-between;font-weight:600;display:flex}.ledger-new-fees strong{color:var(--color-text-primary);font-size:var(--text-lg);font-variant-numeric:tabular-nums;text-align:right}.ledger-new-debit-total{margin-top:var(--space-3);grid-template-columns:1fr auto;background:var(--color-primary-soft)!important;border-color:#9ed8d5!important;align-items:center!important;display:grid!important}.ledger-new-debit-total span{font-weight:700;color:var(--color-primary-dark)!important}.ledger-new-debit-total strong{font-variant-numeric:tabular-nums;color:var(--color-primary-dark)!important;font-size:var(--text-xl)!important}.ledger-recurring-editor{width:min(900px,100vw - 40px)}.ledger-recurring-contract{gap:var(--space-3);margin-bottom:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.ledger-recurring-contract article{padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted);gap:4px;display:grid}.ledger-recurring-contract span,.ledger-recurring-preview span{color:var(--color-text-secondary);font-size:var(--text-xs)}.ledger-recurring-contract strong{color:var(--color-text-primary);font-size:var(--text-md)}.ledger-recurring-edit-section{margin-top:var(--space-4);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg)}.ledger-recurring-edit-section h4{margin:0 0 var(--space-3);font-size:var(--text-md)}.ledger-recurring-money-grid{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.ledger-recurring-money-grid label{color:var(--color-text-secondary);font-size:var(--text-xs);gap:6px;font-weight:700;display:grid}.ledger-recurring-money-grid input{width:100%;height:var(--control-height);padding:0 var(--space-3);border:1px solid var(--color-control-border);border-radius:var(--radius-sm);color:var(--color-text-primary);font:650 var(--text-base) var(--font-family);text-align:right;background:#fff}.ledger-recurring-money-grid input:focus{border-color:var(--color-primary);outline:3px solid var(--color-focus)}.ledger-recurring-preview{margin-top:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-border);grid-template-columns:repeat(4,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.ledger-recurring-preview article{padding:var(--space-3);text-align:right;background:#fff;gap:5px;display:grid}.ledger-recurring-preview strong{font-size:var(--text-md);font-variant-numeric:tabular-nums}.ledger-recurring-preview .is-total{background:var(--color-primary-soft)}.ledger-recurring-preview .is-total strong{color:var(--color-primary-dark)}.charge-drawer{z-index:101;overscroll-behavior:contain;width:min(560px,100vw);height:100vh;padding:var(--space-6);background:#fff;position:fixed;top:0;right:0;overflow:auto;box-shadow:-16px 0 48px #0f172a2e}.charge-drawer>header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border);display:flex}.charge-drawer h3{font-size:var(--text-xl);margin:4px 0 0}.charge-drawer>header button{background:var(--color-surface-muted);width:36px;height:36px;font-size:var(--text-xl);cursor:pointer;border:0;border-radius:50%}.charge-drawer-list{gap:var(--space-2);margin:var(--space-5) 0;display:grid}.charge-drawer-list article{align-items:center;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);grid-template-columns:1fr auto minmax(62px,auto);display:grid}.charge-drawer-list article div{gap:4px;display:grid}.charge-drawer-list article span,.charge-drawer-list article small{color:var(--color-text-secondary);font-size:var(--text-xs)}.charge-drawer-list article b{font-variant-numeric:tabular-nums}.charge-drawer-list article button{border-radius:var(--radius-sm);color:#a44339;cursor:pointer;background:#fff;border:1px solid #efb5b0;padding:5px 8px}.charge-drawer-list article.cancelled{opacity:.62;background:var(--color-surface-muted);text-decoration:line-through}.charge-drawer-list article.editing{border-color:var(--color-primary);background:var(--color-primary-soft)}.charge-item-actions{gap:5px;display:flex}.charge-item-actions button:first-child{border-color:var(--color-primary);color:var(--color-primary-dark)}.charge-item-edit-form{padding-top:var(--space-3);border-top:1px solid var(--color-border);grid-column:1/-1;grid-template-columns:110px 130px minmax(160px,1fr);align-items:end;gap:var(--space-2)!important;display:grid!important}.charge-item-edit-form label{color:var(--color-text-secondary);font-size:var(--text-xs);gap:4px;font-weight:700;display:grid}.charge-item-edit-form input,.charge-item-edit-form select{width:100%;height:38px;padding:0 var(--space-2);border:1px solid var(--color-control-border);border-radius:var(--radius-sm);background:#fff}.charge-item-edit-form>div{grid-column:1/-1;justify-content:flex-end;display:flex;gap:var(--space-2)!important}.charge-entry{padding:var(--space-4);border-radius:var(--radius-lg);background:var(--color-primary-soft)}.charge-entry h4{margin:0 0 var(--space-3)}.charge-entry>div{gap:var(--space-3);grid-template-columns:minmax(0,1fr) minmax(0,120px) minmax(0,130px);display:grid}.charge-entry label{min-width:0;color:var(--color-text-secondary);font-size:var(--text-xs);gap:5px;font-weight:700;display:grid}.charge-entry input,.charge-entry select{box-sizing:border-box;width:100%;min-width:0;height:40px;padding:0 var(--space-2);border:1px solid var(--color-control-border);border-radius:var(--radius-sm);background:#fff}.charge-entry .charge-description{grid-column:1/-1}.charge-entry .charge-category{grid-column:1/2}.charge-entry .charge-description--with-category{grid-column:2/-1}.charge-entry .required-label,.charge-entry .optional-label{font-size:var(--text-xs);margin-left:6px}.charge-entry .required-label{color:#a44339}.charge-entry .optional-label{color:var(--color-text-tertiary)}.ledger-realtime-warning{background:#fff8e8;border-color:#e5bd74}.charge-entry .form-error{color:#a44339;font-size:var(--text-xs);font-weight:700}.charge-student-picker{width:min(900px,100vw - 40px)}.charge-student-filters{gap:var(--space-3);margin-bottom:var(--space-4);grid-template-columns:180px minmax(260px,1fr);display:grid}.charge-student-filters label{gap:var(--space-2);color:var(--color-text-secondary);font-size:var(--text-xs);font-weight:700;display:grid}.charge-student-filters input,.charge-student-filters select{height:var(--control-height);padding:0 var(--space-3);border:1px solid var(--color-control-border);border-radius:var(--radius-sm);background:#fff}.charge-student-candidate-list{border:1px solid var(--color-border);border-radius:var(--radius-md);max-height:52vh;overflow:auto}.charge-student-candidate-list>button{align-items:center;gap:var(--space-3);width:100%;min-height:54px;padding:var(--space-2) var(--space-3);border:0;border-bottom:1px solid var(--color-border);color:var(--color-text-primary);text-align:left;cursor:pointer;background:#fff;grid-template-columns:100px minmax(180px,1fr) 110px 84px;display:grid}.charge-student-candidate-list>button:hover{background:var(--color-primary-soft)}.charge-student-candidate-list>button:last-of-type{border-bottom:0}.charge-student-candidate-list code{color:var(--color-primary-dark);font-size:var(--text-xs)}.charge-student-candidate-list>p{padding:var(--space-6);color:var(--color-text-secondary);text-align:center;margin:0}.billing-schedule-page>.ui-toolbar{align-items:end;gap:var(--space-3);grid-template-columns:minmax(150px,.55fr) minmax(260px,1.3fr) minmax(230px,.75fr) auto;display:grid}.billing-schedule-page>.ui-toolbar label{min-width:0;color:var(--color-text-secondary);font-size:var(--text-xs);gap:6px;font-weight:700;display:grid}.billing-schedule-page>.ui-toolbar select{width:100%;height:var(--control-height);min-width:0;padding:0 var(--space-3);border:1px solid var(--color-control-border);border-radius:var(--radius-sm);color:var(--color-text-primary);font:500 var(--text-base) var(--font-family);background:#fff}.billing-schedule-note{justify-content:space-between;align-items:center;gap:var(--space-4);border-radius:var(--radius-md);color:#3d5661;background:#f3f8fa;border:1px solid #ccdfe5;border-left:4px solid #4b91aa;margin:0;padding:12px 16px;display:flex}.billing-schedule-note.is-common{border-color:#b9d9d5;border-left-color:var(--color-primary);background:#f1f8f6}.billing-schedule-note>div{gap:3px;display:grid}.billing-schedule-note strong{color:var(--color-text-primary);font-size:var(--text-sm)}.billing-schedule-note span{color:var(--color-text-secondary);font-size:var(--text-xs);line-height:1.6}.billing-schedule-table-wrap{max-height:calc(100vh - 310px);padding:0;overflow:auto}.billing-schedule-table{border-collapse:separate;border-spacing:0;width:100%;min-width:1120px}.billing-schedule-table th,.billing-schedule-table td{border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);min-height:62px;color:var(--color-text-primary);font-size:var(--text-sm);text-align:left;vertical-align:middle;padding:10px 12px}.billing-schedule-table th:last-child,.billing-schedule-table td:last-child{border-right:0}.billing-schedule-table thead th{z-index:2;height:46px;color:var(--color-text-secondary);background:var(--color-surface-muted);font-size:var(--text-xs);position:sticky;top:0}.billing-schedule-table tbody th{width:130px;color:var(--color-primary-dark);white-space:nowrap;background:#fbfdfd;font-weight:700}.billing-schedule-table tbody th strong,.billing-schedule-table tbody th small{display:block}.billing-schedule-table tbody th small,.billing-schedule-table td>small{color:var(--color-text-muted);font-size:var(--text-xs);margin-top:4px;font-weight:500}.billing-schedule-table tbody tr:last-child th,.billing-schedule-table tbody tr:last-child td{border-bottom:0}.billing-schedule-table input{width:100%;min-width:145px;height:38px;padding:0 var(--space-2);border:1px solid var(--color-control-border);border-radius:var(--radius-sm);color:var(--color-text-primary);background:var(--color-surface);font:500 var(--text-sm) var(--font-family);font-variant-numeric:tabular-nums}.billing-schedule-table input:focus{border-color:var(--color-primary);outline:3px solid var(--color-focus)}.billing-schedule-table input:disabled{color:#67756f;background:#f3f5f4}.billing-target-month{white-space:nowrap;grid-template-columns:72px 1fr;gap:8px;display:grid}.billing-target-month+.billing-target-month{margin-top:5px}.billing-target-month b{color:var(--color-text-secondary);font-size:var(--text-xs)}.billing-setting-state,.billing-periods{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.billing-setting-state{min-width:145px}.billing-setting-state .ui-button{min-height:30px;font-size:var(--text-xs);padding:0 9px}.billing-periods{min-width:240px}.billing-period-state{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.billing-period-state.is-held{width:100%;padding:6px 0}.billing-period-state small{color:#9a3c32;min-width:150px;font-size:var(--text-xs);flex:1;line-height:1.4}.billing-period-state .ui-button{min-height:28px;font-size:var(--text-xs);padding:0 8px}.billing-calendar-review{width:min(1060px,100vw - 32px)}.billing-calendar-review .modal-header p{color:var(--color-text-secondary);font-size:var(--text-sm);margin:6px 0 0}.billing-calendar-review-scroll{border:1px solid var(--color-border);border-radius:var(--radius-md);max-height:58vh;overflow:auto}.billing-calendar-review table{border-collapse:collapse;width:100%;min-width:820px}.billing-calendar-review th,.billing-calendar-review td{border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);text-align:left;white-space:nowrap;font-size:var(--text-sm);padding:9px 12px}.billing-calendar-review thead th{background:var(--color-surface-muted);color:var(--color-text-secondary);font-size:var(--text-xs);position:sticky;top:0}.billing-calendar-review tr:last-child th,.billing-calendar-review tr:last-child td{border-bottom:0}.student-lifecycle-page{gap:14px}.student-lifecycle-page .ui-page-header{align-items:center}.student-lifecycle-page .ui-page-header h1{font-size:var(--text-page-title)}@media (width<=767px){.student-lifecycle-page .ui-page-header h1{font-size:var(--text-2xl)}}.student-lifecycle-page .ui-page-description{font-size:var(--text-sm);margin-top:3px}.student-header-actions{align-items:center}.student-action-menu{position:relative}.student-action-menu>summary{border:1px solid var(--color-border);border-radius:var(--radius-md);min-height:42px;color:var(--color-text-primary);background:var(--color-surface);font-size:var(--text-sm);cursor:pointer;justify-content:center;align-items:center;gap:10px;padding:0 16px;font-weight:700;list-style:none;display:flex}.student-action-menu>summary::-webkit-details-marker{display:none}.student-action-menu[open]>summary{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-focus)}.student-action-menu>div{z-index:20;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);min-width:210px;padding:6px;position:absolute;top:calc(100% + 6px);right:0;overflow:hidden;box-shadow:0 16px 35px #0f172a26}.student-action-menu>div button{width:100%;min-height:38px;color:var(--color-text-primary);font:600 var(--text-sm) var(--font-family);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:8px 10px}.student-action-menu>div button:hover{color:var(--color-primary-dark);background:var(--color-primary-soft)}.student-primary-tabs{border-bottom:1px solid var(--color-border);align-items:end;gap:4px;min-width:0;display:flex}.student-primary-tabs>button{min-height:var(--control-height);color:var(--color-text-secondary);font:650 var(--text-sm) var(--font-family);cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;padding:0 13px}.student-primary-tabs>button:hover{color:var(--color-primary-dark);background:#f7fbfb}.student-primary-tabs>button.is-active{color:var(--color-primary-dark);border-bottom-color:var(--color-primary)}.student-reference-month{align-self:center;align-items:center;gap:0;margin-left:auto;padding-bottom:7px;display:flex}.student-reference-month>span{color:var(--color-text-secondary);font-size:var(--text-xs);margin-right:8px;font-weight:700}.student-reference-month button,.student-reference-month input{border:1px solid var(--color-control-border);height:34px;color:var(--color-text-primary);background:var(--color-surface);font:650 var(--text-base) var(--font-family)}.student-reference-month button{cursor:pointer;min-width:34px;padding:0 9px}.student-reference-month input{border-inline:0;width:132px;padding:0 8px}.student-reference-month button:first-of-type{border-radius:7px 0 0 7px}.student-reference-month button:last-child{border-radius:7px;margin-left:6px}.student-reference-month input+button{border-radius:0 7px 7px 0}.student-summary-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.student-metric-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);min-height:92px;color:var(--color-text-primary);background:var(--color-surface);text-align:left;cursor:pointer;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:12px;padding:14px 16px;display:grid;box-shadow:0 3px 10px #0f172a09}.student-metric-card:hover,.student-metric-card.is-active{border-color:color-mix(in srgb,var(--metric-color) 42%,white);background:color-mix(in srgb,var(--metric-soft) 45%,white)}.student-metric-card .metric-icon{width:44px;height:44px;color:var(--metric-color);background:var(--metric-soft);font-size:var(--text-sm);border-radius:50%;place-items:center;font-weight:700;display:grid}.student-metric-card>span:last-child{min-width:0}.student-metric-card small,.student-metric-card b{color:var(--color-text-secondary);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;font-style:normal;font-weight:600;display:block;overflow:hidden}.student-metric-card strong{font-size:var(--text-2xl);font-variant-numeric:tabular-nums;margin:2px 0;line-height:1.2;display:block}.student-metric-card strong em{font-size:var(--text-xs);margin-left:4px;font-style:normal;font-weight:600}.metric-active{--metric-color:#15966b;--metric-soft:#e1f7eb}.metric-new{--metric-color:#8255dc;--metric-soft:#f0eaff}.metric-change{--metric-color:#dd7a08;--metric-soft:#fff1dc}.metric-withdrawn{--metric-color:#df4655;--metric-soft:#ffe9ec}.metric-attention{--metric-color:#dc7417;--metric-soft:#fff0df}.student-filter-workspace{min-width:0}.student-filter-row{grid-template-columns:minmax(190px,.95fr) 120px 150px minmax(250px,1.3fr) 150px auto;align-items:end;gap:10px;width:100%;display:grid}.student-filter-row label{min-width:0;color:var(--color-text-secondary);font-size:var(--text-xs);gap:5px;font-weight:700;display:grid}.student-filter-row select,.student-filter-row input{border:1px solid var(--color-control-border);border-radius:var(--radius-sm);width:100%;min-width:0;height:40px;color:var(--color-text-primary);font:550 var(--text-base) var(--font-family);background:#fff;padding:0 10px}.student-filter-row select:focus,.student-filter-row input:focus{border-color:var(--color-primary);outline:3px solid var(--color-focus)}.student-filter-reset{height:40px;color:var(--color-text-secondary);font:650 var(--text-xs) var(--font-family);cursor:pointer;background:0 0;border:0;padding:0 8px}.student-filter-reset:hover{color:var(--color-primary-dark)}.student-filter-chips{flex-wrap:wrap;gap:7px;margin-top:12px;display:flex}.student-filter-chips button{border:1px solid var(--color-border);min-height:30px;color:var(--color-text-secondary);font:600 var(--text-xs) var(--font-family);cursor:pointer;background:#fff;border-radius:999px;padding:0 11px}.student-filter-chips button b{color:inherit;margin-left:4px}.student-filter-chips button.is-active{color:#1f6db7;background:#eef7ff;border-color:#7aaee8;box-shadow:inset 0 0 0 1px #337cc414}.student-filter-chips .chip-new{color:#18885e;background:#f3fcf7}.student-filter-chips .chip-change{color:#c66b09;background:#fff9ef}.student-filter-chips .chip-paused{color:#7453c6;background:#f8f5ff}.student-filter-chips .chip-withdrawn{color:#ce4554;background:#fff5f6}.student-filter-chips .chip-attention{color:#a76613;background:#fff8ed}.student-workspace-shell{grid-template-columns:minmax(0,1fr);align-items:start;gap:14px;min-width:0;display:grid}.student-workspace-shell.has-quick-panel{grid-template-columns:minmax(0,1fr) 326px}.student-list-pane{min-width:0}.student-list-meta{min-height:30px;color:var(--color-text-muted);font-size:var(--text-xs);justify-content:flex-end;align-items:center;gap:12px;display:flex}.student-list-meta strong{color:var(--color-text-primary);font-size:var(--text-sm)}.operations-stat-card{min-height:116px;padding:var(--space-4) var(--space-5);box-shadow:none}.operations-stat-card>span{color:var(--color-text-secondary);font-size:var(--text-xs)}.operations-stat-card>strong{color:var(--color-text-primary);font-size:var(--text-2xl);font-variant-numeric:tabular-nums;margin-top:4px;line-height:1.3;display:block}.operations-stat-card>strong small{font-size:var(--text-sm);margin-left:4px;font-weight:600}.operations-stat-card>strong.operations-stat-text{font-size:var(--text-lg);text-overflow:ellipsis;white-space:nowrap;line-height:1.8;overflow:hidden}.operations-stat-card>p{margin:var(--space-1) 0 0;color:var(--color-text-muted);font-size:var(--text-xs)}.transfer-request-panel{padding:var(--space-5);border-color:var(--color-border);background:var(--color-surface);margin:0}.transfer-request-panel h3{margin:0 0 var(--space-3);font-size:var(--text-lg)}.transfer-request-panel>div{gap:var(--space-2)}.transfer-request-panel article{gap:var(--space-3);min-height:58px;padding:var(--space-3);border:1px solid var(--color-border);font-size:var(--text-xs);grid-template-columns:110px 160px minmax(220px,1fr) auto}.transfer-request-panel article small{color:var(--color-text-secondary);font-size:var(--text-xs)}.operations-table-card{border-color:var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);margin:0}.student-lifecycle-page .student-table{min-width:1120px}.student-lifecycle-page .student-table th,.student-lifecycle-page .student-table td{border-color:var(--color-border);vertical-align:middle;height:44px;font-size:var(--text-base);padding:8px 10px}.student-lifecycle-page .student-table thead th{height:42px;color:var(--color-text-secondary);background:var(--color-surface-muted);font-size:var(--text-xs);white-space:nowrap}.student-lifecycle-page .student-table tbody th{min-width:130px;color:var(--color-text-primary);font-size:var(--text-xs)}.student-lifecycle-page .student-table code{color:var(--color-primary-dark);font:400 var(--text-base) var(--font-family)}.student-lifecycle-page .student-table td:first-child,.student-lifecycle-page .student-table th:first-child{width:42px;min-width:42px;left:0}.student-lifecycle-page .student-table td:nth-child(2),.student-lifecycle-page .student-table th:nth-child(2){z-index:3;background:#fff;width:98px;min-width:98px;position:sticky;left:42px}.student-lifecycle-page .student-table td:nth-child(3),.student-lifecycle-page .student-table th:nth-child(3){z-index:3;background:#fff;min-width:132px;position:sticky;left:140px}.student-lifecycle-page .student-table thead th:first-child,.student-lifecycle-page .student-table thead th:nth-child(2),.student-lifecycle-page .student-table thead th:nth-child(3){z-index:5;background:var(--color-surface-muted)}.student-lifecycle-page .student-table tr.is-selected td,.student-lifecycle-page .student-table tr.is-selected th,.student-lifecycle-page .student-table tr.is-selected td:nth-child(2),.student-lifecycle-page .student-table tr.is-selected th:nth-child(3){background:var(--color-primary-soft)}.student-lifecycle-page .student-table tbody tr{cursor:pointer}.student-lifecycle-page .student-table tbody tr:hover td,.student-lifecycle-page .student-table tbody tr:hover th{background-color:#f7fbfb}.student-lifecycle-page .student-table td small{color:var(--color-text-secondary);font-size:var(--text-xs);margin-top:4px}.student-check-cell{text-align:center;padding-inline:12px!important}.student-check-cell input{accent-color:var(--color-primary)}.student-course-name{font-size:var(--text-xs);white-space:nowrap;display:block}.student-change-badge{color:#b66508;min-height:25px;font-size:var(--text-xs);white-space:nowrap;background:#fff0d9;border-radius:999px;align-items:center;padding:3px 8px;font-weight:700;display:inline-flex}.student-change-badge.new{color:#16835a;background:#e5f8ed}.student-change-badge.paused{color:#6550bd;background:#eeeaff}.student-change-badge.withdrawn{color:#c5414f;background:#ffe9ec}.student-change-badge.transfer{color:#246aba;background:#eaf4ff}.student-more-button{border:1px solid var(--color-border);width:34px;height:30px;color:var(--color-primary-dark);font-size:var(--text-sm);cursor:pointer;background:#fff;border-radius:7px;font-weight:700}.student-quick-panel{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:#fff;max-height:calc(100vh - 36px);position:sticky;top:12px;overflow:visible;box-shadow:0 12px 35px #0f172a1a}.student-quick-panel>header{justify-content:space-between;align-items:flex-start;gap:12px;padding:18px 18px 11px;display:flex}.student-quick-title{align-items:center;gap:8px;display:flex}.student-quick-title h2{font-size:var(--text-lg);margin:0}.student-quick-panel>header p{color:var(--color-text-secondary);font-size:var(--text-xs);margin:5px 0 0}.student-quick-panel>header>button{width:30px;height:30px;color:var(--color-text-secondary);font-size:var(--text-xl);cursor:pointer;background:0 0;border:0;border-radius:50%}.student-quick-panel>nav{border-bottom:1px solid var(--color-border);padding:0 12px;display:flex;overflow-x:auto}.student-quick-panel>nav button{min-height:39px;color:var(--color-text-secondary);font:650 var(--text-xs) var(--font-family);cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;flex:1 0 auto;padding:0 7px}.student-quick-panel>nav button.is-active{color:var(--color-primary-dark);border-bottom-color:var(--color-primary)}.student-quick-body{min-height:390px;max-height:calc(100vh - 310px);padding:18px;overflow-y:auto}.student-avatar{width:54px;height:54px;color:var(--color-text-secondary);font-size:var(--text-xl);background:#e9eff4;border:1px solid #cfdae4;border-radius:50%;place-items:center;margin:0 auto 8px;font-weight:700;display:grid}.student-quick-name,.student-quick-kana{text-align:center;display:block}.student-quick-name{font-size:var(--text-md)}.student-quick-kana{color:var(--color-text-secondary);font-size:var(--text-xs);margin-top:2px}.student-quick-body dl{border-bottom:1px solid var(--color-border);grid-template-columns:1fr 1fr;gap:15px 12px;margin:20px 0 0;padding-bottom:17px;display:grid}.student-quick-body dl div{min-width:0}.student-quick-body dt{color:var(--color-text-secondary);font-size:var(--text-xs);font-weight:700}.student-quick-body dd{overflow-wrap:anywhere;color:var(--color-text-primary);font-size:var(--text-xs);margin:4px 0 0;font-weight:600}.student-quick-body section{border-bottom:1px solid var(--color-border);padding:16px 0}.student-quick-body section h3{font-size:var(--text-xs);margin:0 0 9px}.student-quick-body section p,.student-quick-body section li{overflow-wrap:anywhere;color:var(--color-text-secondary);font-size:var(--text-xs);margin:5px 0;line-height:1.65}.student-quick-body section ul{margin:0;padding-left:18px}.student-quick-emphasis{font-weight:700;color:var(--color-text-primary)!important;font-size:var(--text-sm)!important}.student-inline-link{color:var(--color-primary-dark);font:700 var(--text-xs) var(--font-family);cursor:pointer;background:0 0;border:0;padding:5px 0}.student-quick-panel>footer{border-top:1px solid var(--color-border);gap:8px;padding:14px 18px 18px;display:grid}.student-quick-panel>footer .ui-button,.student-quick-panel .quick-actions>summary{width:100%}.student-quick-panel .quick-actions>div{top:auto;bottom:calc(100% + 6px);right:0}.row-actions{gap:var(--space-1);min-width:390px}.row-actions button{border-color:var(--color-border);min-height:30px;color:var(--color-primary-dark);background:var(--color-surface);font-size:var(--text-xs);border-radius:6px;padding:4px 9px;font-weight:600}.row-actions button:hover{border-color:var(--color-primary);background:var(--color-primary-soft)}.student-editor{width:min(1180px,100vw - 40px);padding:var(--space-6);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:0 28px 80px #0f172a38}.student-editor .modal-header{margin-bottom:var(--space-5);padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border)}.student-editor .modal-header h3{font-size:var(--text-2xl)}.student-editor .modal-header p{color:var(--color-text-secondary);font-size:var(--text-sm)}.enrollment-wizard{width:min(1280px,100vw - 36px)}.enrollment-stepper{max-width:720px;margin:0 auto var(--space-6);grid-template-columns:minmax(0,1fr) 72px minmax(0,1fr);align-items:center;display:grid}.enrollment-stepper>i{background:var(--color-border);height:1px}.enrollment-stepper button{column-gap:var(--space-3);padding:var(--space-3);color:var(--color-text-secondary);text-align:left;background:0 0;border:0;grid-template-rows:auto auto;grid-template-columns:34px minmax(0,1fr);align-items:center;display:grid}.enrollment-stepper button>span{border:1px solid var(--color-border);width:34px;height:34px;color:var(--color-text-secondary);background:var(--color-surface);font-size:var(--text-sm);border-radius:50%;grid-row:1/3;place-items:center;font-weight:700;display:grid}.enrollment-stepper button>b{color:var(--color-text-secondary);font-size:var(--text-sm)}.enrollment-stepper button>small{color:var(--color-text-muted);font-size:var(--text-xs)}.enrollment-stepper button.is-current>span{border-color:var(--color-primary);color:#fff;background:var(--color-primary)}.enrollment-stepper button.is-current>b{color:var(--color-text-primary)}.enrollment-stepper button.is-complete>span{border-color:var(--color-success);color:var(--color-success);background:var(--color-success-soft)}.enrollment-stepper button:disabled{cursor:default;opacity:1}.enrollment-step-content{min-height:420px}.enrollment-profile-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);overflow:hidden}.enrollment-profile-section{border-bottom:1px solid var(--color-border);padding:20px 24px 22px}.enrollment-profile-section:last-child{border-bottom:0}.enrollment-profile-heading{align-items:center;gap:12px;margin-bottom:18px;display:flex}.enrollment-profile-heading>span{color:#5d6f89;width:38px;height:38px;font-size:var(--text-base);background:#eef3f7;border-radius:50%;flex:0 0 38px;place-items:center;font-weight:700;display:grid}.enrollment-profile-heading>div{min-width:0}.enrollment-profile-heading h4{color:var(--color-text-primary);font-size:var(--text-md);margin:0}.enrollment-profile-heading p{color:var(--color-text-secondary);font-size:var(--text-xs);margin:3px 0 0}.enrollment-profile-heading>small{color:var(--color-text-secondary);font-size:var(--text-xs);margin-left:auto}.enrollment-profile-heading>small b{color:var(--color-danger)}.enrollment-identity-grid,.enrollment-contact-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.enrollment-address-grid{gap:var(--space-4);grid-template-columns:minmax(280px,.7fr) minmax(0,1.7fr);display:grid}.enrollment-address-grid>label{gap:var(--space-2);color:var(--color-text-secondary);font-size:var(--text-xs);font-weight:700;display:grid}.enrollment-address-grid input{width:100%;min-width:0;height:var(--control-height);padding:0 var(--space-3);border:1px solid var(--color-control-border);border-radius:var(--radius-sm);color:var(--color-text-primary);font:var(--text-base) var(--font-family);background:#fff}.student-editor .student-form-grid label>small,.enrollment-address-grid label>small{min-height:16px;color:var(--color-text-muted);font-size:var(--text-xs);font-weight:500}.student-editor .student-form-grid label.has-error>small,.enrollment-address-grid label.has-error>small{color:var(--color-danger)}.student-editor .student-form-grid label.has-error input,.student-editor .student-form-grid label.has-error select,.enrollment-address-grid label.has-error input{border-color:var(--color-danger);box-shadow:0 0 0 2px #dc262614}.postal-lookup-row{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.postal-lookup-row button,.postal-address-candidates button{min-height:var(--control-height);border-radius:var(--radius-md);color:var(--color-primary-dark);font:700 var(--text-xs) var(--font-family);cursor:pointer;background:#f6fbfb;border:1px solid #9ccfd2;padding:0 14px}.postal-lookup-row button:disabled{cursor:wait;opacity:.6}.postal-lookup-message{color:var(--color-text-secondary);font-size:var(--text-xs);margin:10px 0 0}.postal-address-candidates{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.postal-address-candidates button{min-height:36px}.enrollment-step-message{margin:calc(var(--space-3) * -1) 0 var(--space-5)}.enrollment-step-heading{justify-content:space-between;align-items:flex-start;gap:var(--space-5);margin-bottom:var(--space-5);display:flex}.enrollment-step-heading>div:first-child>span{color:var(--color-primary-dark);font-size:var(--text-xs);letter-spacing:.08em;font-weight:700}.enrollment-step-heading h4{color:var(--color-text-primary);font-size:var(--text-lg);margin:2px 0 0}.enrollment-step-heading p{margin:var(--space-1) 0 0;color:var(--color-text-secondary);font-size:var(--text-sm)}.enrollment-step-heading>small{color:var(--color-text-secondary);background:var(--color-surface-muted);font-size:var(--text-xs);border-radius:999px;padding:7px 10px}.enrollment-step-heading>small b,.student-editor .student-form-grid label>em{color:var(--color-danger);font-style:normal}.enrollment-student-summary{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-muted);flex-wrap:wrap;display:flex}.enrollment-student-summary b{color:var(--color-text-primary);font-size:var(--text-sm)}.enrollment-student-summary span,.enrollment-student-summary small{color:var(--color-text-secondary);font-size:var(--text-xs)}.student-editor .student-form-grid label,.student-editor .course-change-summary label,.student-editor .course-base-grid label,.student-editor .course-option-list article>label,.student-editor .management-fee-section>label{gap:var(--space-2);color:var(--color-text-secondary);font-size:var(--text-xs)}.student-editor .student-form-grid input,.student-editor .student-form-grid select,.student-editor .course-change-summary input,.student-editor .course-base-grid input,.student-editor .course-base-grid select,.student-editor .course-option-list input[type=number],.student-editor .course-option-list select,.student-editor .management-fee-section input{height:var(--control-height);border-color:var(--color-border);border-radius:var(--radius-sm);font:var(--text-base) var(--font-family)}.student-editor .contract-section{padding:var(--space-5);border-color:var(--color-border);border-radius:var(--radius-lg)}.student-editor .contract-section h4{font-size:var(--text-md)}.student-editor .contract-section p,.student-editor .form-note{font-size:var(--text-xs)}.student-editor .calculated-value{background:var(--color-primary-soft);min-height:44px}.student-editor .calculated-value span{font-size:var(--text-xs)}.student-editor .calculated-value strong{color:var(--color-primary-dark);font-size:var(--text-md)}.student-editor .modal-actions{margin:var(--space-5) calc(var(--space-6) * -1) calc(var(--space-6) * -1);padding:var(--space-4) var(--space-6);background:#fffffff7;position:sticky;bottom:-24px}.student-editor .modal-actions>div{gap:var(--space-2);margin-left:auto;display:flex}.course-change-editor.student-editor{width:min(1440px,96vw);max-width:1440px}.course-change-layout{grid-template-columns:minmax(0,1fr) 320px;align-items:start;gap:20px;display:grid}.course-change-main{gap:16px;min-width:0;display:grid}.course-change-main .current-contract-panel{background:#f7fafc}.course-change-main .current-contract-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.course-change-main .course-change-summary{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:#fff;flex-wrap:wrap;gap:24px;padding:20px;display:flex}.course-change-main .course-base-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.course-change-main .calculated-value{display:none}.course-change-main .course-option-list article{grid-template-columns:minmax(140px,1fr) minmax(90px,.7fr) minmax(170px,1fr);gap:12px}.course-change-main .price-override{background:#f0f8f9;border-radius:8px;padding:12px}.course-change-main .price-override output{font-size:var(--text-lg);color:var(--color-primary-dark);font-weight:700}.course-change-review{padding:22px;position:sticky;top:0}.course-change-review h4{font-size:var(--text-md);margin:0 0 14px}.course-change-review h4:not(:first-child){border-top:1px solid var(--color-border);margin-top:18px;padding-top:18px}.course-change-review p{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:1.7}.course-change-review dl>div{border-bottom:1px solid var(--color-border);font-size:var(--text-sm);justify-content:space-between;gap:12px;padding:12px 0;display:flex}.course-change-review dd{color:var(--color-primary-dark);margin:0;font-weight:700}.course-change-editor .contract-diff-panel{margin-top:20px}@media (width<=1050px){.course-change-layout{grid-template-columns:minmax(0,1fr)}.course-change-review{position:static}}@media (width<=600px){.course-change-main .course-base-grid,.course-change-main .course-option-list article,.course-change-main .current-contract-grid{grid-template-columns:minmax(0,1fr)}}.enrollment-contract-layout{align-items:start;gap:var(--space-4);grid-template-columns:minmax(0,1fr) 330px;display:grid}.enrollment-contract-main{gap:var(--space-4);min-width:0;display:grid}.enrollment-contract-card,.enrollment-contract-summary{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:#fff}.enrollment-contract-card{padding:16px 18px}.enrollment-contract-heading{align-items:center;gap:12px;margin-bottom:14px;display:flex}.enrollment-contract-heading>span{color:#566985;width:38px;height:38px;font-size:var(--text-md);background:#eef3f8;border-radius:50%;flex:0 0 38px;place-items:center;font-weight:700;display:grid}.enrollment-contract-heading>div{min-width:0}.enrollment-contract-heading h4{color:var(--color-text-primary);font-size:var(--text-md);margin:0}.enrollment-contract-heading p{color:var(--color-text-secondary);font-size:var(--text-xs);margin:3px 0 0}.enrollment-contract-heading>button{margin-left:auto}.enrollment-admission-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.enrollment-course-grid{grid-template-columns:minmax(250px,1.35fr) minmax(140px,.65fr) minmax(190px,.85fr) minmax(190px,.85fr);align-items:start;gap:12px;display:grid}.enrollment-course-grid>label{color:var(--color-text-secondary);font-size:var(--text-xs);gap:6px;font-weight:700;display:grid}.enrollment-course-grid>label em{color:var(--color-danger);font-style:normal}.enrollment-course-grid>label input,.enrollment-course-grid>label select{width:100%;min-width:0;height:var(--control-height);border:1px solid var(--color-control-border);border-radius:var(--radius-sm);color:var(--color-text-primary);font:var(--text-base) var(--font-family);background:#fff;padding:0 10px}.enrollment-course-grid>label small{color:var(--color-text-muted);font-size:var(--text-xs);font-weight:500}.contract-price-card{border-radius:var(--radius-md);background:var(--color-surface-muted);border:1px solid #0000;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:3px 8px;min-height:82px;padding:10px 11px;display:grid;position:relative}.contract-price-card.is-overridden{background:#fff9ef;border-color:#e9b665}.contract-price-card>span{color:var(--color-text-secondary);font-size:var(--text-xs);grid-column:1/-1;font-weight:700}.contract-price-card>strong{color:var(--color-primary-dark);font-size:var(--text-lg);font-variant-numeric:tabular-nums}.contract-price-card>button,.contract-change-button,.contract-recalculate-button,.contract-override-editor button{min-height:31px;color:var(--color-primary-dark);font:700 var(--text-xs) var(--font-family);cursor:pointer;background:#fff;border:1px solid #9ccfd2;border-radius:6px;padding:0 10px}.contract-price-card>button:disabled,.contract-change-button:disabled,.contract-recalculate-button:disabled{cursor:not-allowed;opacity:.45}.contract-price-card>small{color:var(--color-text-muted);font-size:var(--text-xs);grid-column:1/-1}.contract-override-editor{grid-column:1/-1;gap:6px;display:grid}.contract-override-editor input{width:100%;min-width:0;height:34px;font:700 var(--text-base) var(--font-family);text-align:right;background:#fff;border:1px solid #d49b42;border-radius:6px;padding:0 8px}.contract-override-editor>div{justify-content:flex-end;gap:5px;display:flex}.contract-override-editor button:last-child{color:#7c5a25;background:#fffaf0;border-color:#e5c98f}.enrollment-options-block{margin-top:15px}.enrollment-options-block h5{color:var(--color-text-primary);font-size:var(--text-xs);margin:0 0 7px}.enrollment-options-table{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.enrollment-option-header,.enrollment-option-line{grid-template-columns:minmax(170px,1.2fr) minmax(120px,.8fr) 120px minmax(110px,.7fr);align-items:center;min-height:43px;display:grid}.enrollment-option-header{min-height:31px;color:var(--color-text-secondary);font-size:var(--text-xs);background:#eef8f7;font-weight:700}.enrollment-option-header>span,.enrollment-option-line>*{min-width:0;padding:6px 10px}.enrollment-option-line{border-top:1px solid var(--color-border);color:var(--color-text-secondary);font-size:var(--text-xs);background:#fff}.enrollment-option-line.is-selected{background:#fbfefd}.enrollment-option-line>label{color:var(--color-text-primary);align-items:center;gap:9px;display:flex}.enrollment-option-line input[type=checkbox]{width:18px;height:18px;accent-color:var(--color-primary)}.enrollment-option-line input[type=number],.enrollment-option-line select{border:1px solid var(--color-control-border);width:100%;height:32px;font:var(--text-base) var(--font-family);background:#fff;border-radius:6px;padding:0 7px}.enrollment-option-line>strong{color:var(--color-text-primary);text-align:right;font-variant-numeric:tabular-nums}.contract-override-editor.option{padding:0}.contract-info-note,.contract-summary-note{color:#4d6880;font-size:var(--text-xs);background:#eff7ff;border-radius:7px;margin:8px 0 0;padding:8px 10px;line-height:1.6}.enrollment-initial-table{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.enrollment-initial-header,.enrollment-initial-row{grid-template-columns:minmax(140px,.75fr) minmax(150px,1fr) minmax(160px,1fr);align-items:center;min-height:43px;display:grid}.enrollment-initial-header{min-height:31px;color:var(--color-text-secondary);font-size:var(--text-xs);background:#eef8f7;font-weight:700}.enrollment-initial-header>span,.enrollment-initial-row>*{min-width:0;margin:0 8px}.enrollment-initial-row{border-top:1px solid var(--color-border);font-size:var(--text-xs)}.enrollment-initial-row input,.enrollment-initial-row select{border:1px solid var(--color-control-border);height:32px;font:var(--text-base) var(--font-family);background:#fff;border-radius:6px;padding:0 8px}.enrollment-contract-summary{padding:16px;position:sticky;top:0}.enrollment-contract-summary .enrollment-contract-heading{margin-bottom:10px}.contract-summary-student{border-bottom:1px solid var(--color-border);background:#fbfdfd;align-items:center;gap:10px;padding:10px;display:flex}.contract-summary-student>span{color:var(--color-primary)}.contract-summary-student div{gap:2px;display:grid}.contract-summary-student b{color:var(--color-text-primary);font-size:var(--text-xs)}.contract-summary-student small{color:var(--color-text-secondary);font-size:var(--text-xs)}.enrollment-contract-summary section{border-bottom:1px solid var(--color-border);padding:13px 2px}.enrollment-contract-summary section h5{color:var(--color-text-primary);font-size:var(--text-xs);margin:0 0 8px}.enrollment-contract-summary dl{gap:7px;margin:0;display:grid}.enrollment-contract-summary dl>div{color:var(--color-text-secondary);font-size:var(--text-xs);grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:10px;display:grid}.enrollment-contract-summary dt,.enrollment-contract-summary dd{margin:0}.enrollment-contract-summary dd{color:var(--color-text-primary);text-align:right;font-variant-numeric:tabular-nums}.enrollment-contract-summary dd small{color:var(--color-text-muted);font-size:var(--text-xs);display:block}.contract-summary-total{color:var(--color-primary-dark);font-size:var(--text-xs);background:#eaf8f2;border-radius:7px;justify-content:space-between;align-items:center;gap:10px;margin-top:10px;padding:9px 10px;font-weight:700;display:flex}.contract-summary-total strong{font-size:var(--text-lg);font-variant-numeric:tabular-nums}.contract-summary-total.initial{color:#1558b0;background:#edf5ff}.enrollment-short-course-note{background:#fbfdfd}.lifecycle-operation-dialog{width:min(980px,100vw - 40px)}.lifecycle-form-grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.lifecycle-form-grid label{gap:var(--space-2);color:var(--color-text-secondary);font-size:var(--text-xs);font-weight:700;display:grid}.lifecycle-form-grid input,.lifecycle-form-grid select,.lifecycle-form-grid textarea{width:100%;min-width:0;padding:0 var(--space-3);border:1px solid var(--color-control-border);border-radius:var(--radius-sm);color:var(--color-text-primary);font:var(--text-base) var(--font-family);background:#fff}.lifecycle-form-grid input,.lifecycle-form-grid select{height:var(--control-height)}.lifecycle-form-grid textarea{padding-block:var(--space-3);resize:vertical}.lifecycle-form-grid .student-form-wide{grid-column:1/-1}.operation-impact-note{gap:var(--space-3);margin-top:var(--space-4);padding:var(--space-4);border-radius:var(--radius-md);color:var(--color-text-secondary);background:var(--color-primary-soft);font-size:var(--text-sm);grid-template-columns:120px 1fr;display:grid}.operation-impact-note.warning{background:var(--color-warning-soft)}.operation-impact-note strong{color:var(--color-text-primary)}.transfer-route{align-items:center;gap:var(--space-3);margin-bottom:var(--space-5);grid-template-columns:minmax(0,1fr) 44px minmax(0,1fr);display:grid}.transfer-route article{min-height:96px;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface-muted);gap:4px;display:grid}.transfer-route article span,.transfer-route article small{color:var(--color-text-secondary);font-size:var(--text-xs)}.transfer-route>b{color:var(--color-primary);font-size:var(--text-xl);text-align:center}.sibling-editor-layout{gap:var(--space-5);grid-template-columns:minmax(360px,.9fr) minmax(420px,1.1fr);display:grid}.sibling-editor-layout>section{min-width:0}.sibling-editor-layout h4{margin:0 0 var(--space-3);font-size:var(--text-md)}.selected-sibling-list,.sibling-candidate-list{border:1px solid var(--color-border);border-radius:var(--radius-md);max-height:380px;overflow:auto}.selected-sibling-list article{align-items:center;gap:var(--space-3);min-height:64px;padding:var(--space-3);border-bottom:1px solid var(--color-border);grid-template-columns:minmax(0,1fr) 88px 90px;display:grid}.selected-sibling-list article:last-child,.sibling-candidate-list label:last-child{border-bottom:0}.selected-sibling-list article>div{gap:3px;min-width:0;display:grid}.selected-sibling-list small{color:var(--color-text-secondary);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.selected-sibling-list label{color:var(--color-text-secondary);font-size:var(--text-xs);gap:3px;display:grid}.selected-sibling-list input[type=number]{width:74px;height:36px;padding:0 var(--space-2);border:1px solid var(--color-control-border);border-radius:var(--radius-sm)}.selected-sibling-list .discount-check{align-items:center;gap:var(--space-1);color:var(--color-text-primary);font-size:var(--text-xs);display:flex}.sibling-candidate-heading{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.sibling-candidate-heading h4{margin-bottom:2px}.sibling-candidate-heading p{color:var(--color-text-secondary);font-size:var(--text-xs);margin:0}.sibling-candidate-heading>span{color:var(--color-primary-dark);font-size:var(--text-sm);font-weight:700}.sibling-filters{gap:var(--space-2);margin:var(--space-3) 0;grid-template-columns:150px 1fr;display:grid}.sibling-filters label{color:var(--color-text-secondary);font-size:var(--text-xs);gap:3px;font-weight:700;display:grid}.sibling-filters input,.sibling-filters select{height:38px;padding:0 var(--space-2);border:1px solid var(--color-control-border);border-radius:var(--radius-sm)}.sibling-candidate-list label{align-items:center;gap:var(--space-2);min-height:54px;padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border);cursor:pointer;grid-template-columns:28px minmax(0,1fr) 96px 74px;display:grid}.sibling-candidate-list label.selected{background:var(--color-primary-soft)}.sibling-candidate-list label>div{gap:2px;min-width:0;display:grid}.sibling-candidate-list small{color:var(--color-text-secondary);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.sibling-candidate-list label>span{color:var(--color-text-secondary);font-size:var(--text-xs)}.current-contract-panel,.contract-diff-panel{padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:#fbfdfd}.current-contract-panel>div:first-child h4,.contract-diff-panel h4{font-size:var(--text-md);margin:0}.current-contract-panel>div:first-child p,.contract-diff-panel p{margin:3px 0 var(--space-3);color:var(--color-text-secondary);font-size:var(--text-xs)}.current-contract-grid{gap:var(--space-2);grid-template-columns:repeat(4,minmax(0,1fr));display:grid}.current-contract-grid article{min-width:0;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;gap:4px;display:grid}.current-contract-grid article>span,.current-contract-grid article small{color:var(--color-text-secondary);font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.current-contract-grid article strong{font-size:var(--text-sm)}.contract-diff-panel .contract-section-heading{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.contract-diff-panel .contract-section-heading>span{color:var(--color-primary-dark);background:var(--color-primary-soft);font-size:var(--text-xs);border-radius:999px;padding:5px 10px;font-weight:700}.contract-diff-table{border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden}.contract-diff-head,.contract-diff-row{align-items:center;gap:var(--space-2);min-height:42px;padding:0 var(--space-3);border-bottom:1px solid var(--color-border);font-size:var(--text-xs);grid-template-columns:150px minmax(180px,1fr) minmax(180px,1fr) 84px;display:grid}.contract-diff-head{color:var(--color-text-secondary);background:var(--color-surface-muted);font-weight:700}.contract-diff-row:last-child{border-bottom:0}.contract-diff-row.changed,.contract-diff-row.added,.contract-diff-row.removed{background:#fffaf0}.contract-diff-row em{width:fit-content;color:var(--color-text-secondary);background:var(--color-surface-muted);border-radius:999px;padding:3px 8px;font-style:normal;font-weight:700}.contract-diff-row.changed em{color:#9a5b00;background:var(--color-warning-soft)}.contract-diff-row.added em{color:var(--color-primary-dark);background:var(--color-primary-soft)}.contract-diff-row.removed em{color:#a44339;background:#fff0ee}.grade-advance-dialog{width:min(860px,100vw - 36px)}.grade-advance-list{border:1px solid var(--color-border);border-radius:var(--radius-md);max-height:52vh;overflow:auto}.grade-advance-list>div,.grade-advance-list>label{align-items:center;gap:var(--space-2);min-height:42px;padding:0 var(--space-3);border-bottom:1px solid var(--color-border);font-size:var(--text-sm);grid-template-columns:60px 100px minmax(160px,1fr) 130px 130px;display:grid}.grade-advance-list>label:last-child{border-bottom:0}.grade-advance-list .grade-advance-head{z-index:2;color:var(--color-text-secondary);background:var(--color-surface-muted);font-size:var(--text-xs);font-weight:700;position:sticky;top:0}.grade-advance-list input{accent-color:var(--color-primary)}.grade-advance-list code{font-size:var(--text-xs)}@media (width<=1200px){.student-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.student-summary-grid .student-metric-card:last-child{grid-column:span 2}.student-filter-row{grid-template-columns:repeat(3,minmax(0,1fr))}.student-search-field{grid-column:span 2}.student-workspace-shell.has-quick-panel{grid-template-columns:minmax(0,1fr)}.student-quick-panel{z-index:40;border-radius:0;width:min(380px,100vw);height:100vh;max-height:100vh;position:fixed;top:0;right:0;box-shadow:-18px 0 48px #0f172a2e}.student-quick-body{max-height:calc(100vh - 280px)}.student-tools.operations-filter-card{grid-template-columns:repeat(2,minmax(0,1fr))}.student-tools .filter-result-count{justify-self:stretch}.ledger-toolbar.operations-filter-card{grid-template-columns:1fr 220px}.ledger-toolbar .operations-filter-actions{grid-column:1/-1}.ledger-view-tools{grid-template-columns:repeat(2,minmax(0,1fr))}.ledger-view-tools>div{flex-wrap:wrap;grid-column:1/-1;justify-content:flex-start}.ledger-status-row{flex-wrap:wrap}.ledger-status-row .ledger-grid-status{flex:100%;justify-content:flex-start;margin-left:0}.ledger-summary-strip{grid-template-columns:repeat(4,minmax(0,1fr))}.ledger-summary-amount--total{grid-column:span 2}.billing-schedule-toolbar.operations-filter-card{grid-template-columns:1fr 240px}.billing-schedule-toolbar .operations-filter-actions{grid-column:1/-1}.billing-schedule-page>.ui-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.billing-schedule-page>.ui-toolbar .operations-filter-actions{grid-column:1/-1;justify-content:flex-start}.enrollment-identity-grid,.enrollment-contact-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.enrollment-contract-layout{grid-template-columns:minmax(0,1fr) 290px}.enrollment-course-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=767px){.enrollment-identity-grid,.enrollment-contact-grid,.enrollment-address-grid{grid-template-columns:1fr}.enrollment-profile-section{padding:16px}.enrollment-profile-heading>small{display:none}.operations-page .ui-page-header{gap:var(--space-4)}.operations-page .ui-page-actions,.operations-page .section-actions{width:100%}.operations-page .section-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.operations-page .section-actions .ui-button{width:100%;min-width:0;padding-inline:var(--space-2)}.student-lifecycle-page .section-actions .ui-button:last-child{grid-column:1/-1}.operations-filter-card,.ledger-toolbar.operations-filter-card,.student-tools.operations-filter-card{padding:var(--space-4);grid-template-columns:1fr}.billing-schedule-page>.ui-toolbar{grid-template-columns:1fr}.billing-schedule-page>.ui-toolbar .operations-filter-actions{grid-column:auto}.billing-schedule-note{flex-direction:column;align-items:flex-start}.billing-schedule-note .ui-button{width:100%}.operations-filter-actions{grid-column:auto;grid-template-columns:1fr 1fr;display:grid}.student-summary-grid{grid-template-columns:1fr}.student-summary-grid .student-metric-card:last-child{grid-column:auto}.student-primary-tabs{align-items:stretch;overflow-x:auto}.student-primary-tabs>button{flex:none}.student-reference-month{flex:none;margin-left:12px}.student-filter-row{grid-template-columns:repeat(2,minmax(0,1fr))}.student-lifecycle-page .student-context-row>.section-actions{grid-template-columns:repeat(2,minmax(0,1fr));width:100%;display:grid}.student-lifecycle-page .student-context-row>.section-actions>button{white-space:nowrap;width:100%;padding-inline:6px}.student-filter-row>label:first-child,.student-filter-row>.student-search-field{grid-column:1/-1}.student-lifecycle-page .student-table :is(td:nth-child(2),th:nth-child(2)){position:static}.student-lifecycle-page .student-table :is(td:nth-child(3),th:nth-child(3)){left:42px}.student-search-field{grid-column:auto}.student-lifecycle-page .student-table td:nth-child(3),.student-lifecycle-page .student-table th:nth-child(3){position:static}.student-quick-panel{width:100vw}.ledger-header-dates{justify-content:flex-start;width:100%;padding-top:0}.ledger-post-close-banner{flex-direction:column;align-items:stretch}.ledger-post-close-banner .ui-button{width:100%}.ledger-grid-meta{align-items:flex-start;gap:var(--space-1);flex-direction:column}.ledger-grid-status{flex-wrap:wrap;justify-content:flex-start;width:100%}.ledger-grid-scroll{max-height:calc(100vh - 300px)}.ledger-view-tools,.charge-entry>div{grid-template-columns:1fr}.ledger-view-tools>div,.charge-entry .charge-description,.charge-entry .charge-category,.charge-entry .charge-description--with-category{grid-column:auto}.ledger-status-row{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.ledger-status-filter{min-width:0}.ledger-status-help,.ledger-status-row .ledger-grid-status{grid-column:1/-1;margin-left:0}.ledger-workspace-card{padding:10px}.ledger-summary-strip{grid-template-columns:repeat(2,minmax(0,1fr))}.ledger-summary-amount--total{grid-column:span 2}.ledger-grid-legend{align-items:flex-start}.ledger-page .sticky-form-actions{flex-direction:column;align-items:stretch}.ledger-page .sticky-form-actions>div:first-child{align-items:flex-start;gap:var(--space-1);flex-direction:column}.student-editor{width:calc(100vw - 24px);padding:var(--space-5)}.student-editor .modal-actions{margin:var(--space-5) calc(var(--space-5) * -1) calc(var(--space-5) * -1);padding:var(--space-4) var(--space-5);bottom:-20px}.enrollment-contract-layout,.enrollment-admission-grid,.enrollment-course-grid{grid-template-columns:1fr}.enrollment-contract-summary{position:static}.enrollment-option-header,.enrollment-option-line{grid-template-columns:minmax(140px,1fr) 100px 100px}.enrollment-option-header>span:last-child,.enrollment-option-line>div:last-child{grid-column:1/-1}.student-editor .modal-actions,.student-editor .modal-actions>div{flex-direction:column;align-items:stretch;width:100%}.student-editor .modal-actions>div{margin-left:0}.charge-student-filters{grid-template-columns:1fr}.charge-student-candidate-list>button{grid-template-columns:88px minmax(140px,1fr)}.charge-student-candidate-list>button>span{display:none}.lifecycle-form-grid,.sibling-editor-layout,.current-contract-grid,.ledger-view-rule-layout,.ledger-recurring-contract,.ledger-recurring-money-grid,.ledger-recurring-preview{grid-template-columns:1fr}.lifecycle-form-grid .student-form-wide{grid-column:auto}.transfer-route{grid-template-columns:1fr}.transfer-route>b{transform:rotate(90deg)}.sibling-filters{grid-template-columns:1fr}.selected-sibling-list article{grid-template-columns:minmax(0,1fr) 76px}.selected-sibling-list .discount-check{grid-column:1/-1}.contract-diff-table{overflow-x:auto}.contract-diff-head,.contract-diff-row{min-width:680px}.charge-item-edit-form{grid-template-columns:1fr!important}.charge-item-edit-form>div{grid-column:auto}}.student-name-link{color:#0f172a;font:inherit;cursor:pointer;text-underline-offset:3px;background:0 0;border:0;padding:0;font-weight:700;-webkit-text-decoration:underline #0000;text-decoration:underline #0000}.student-name-link:hover{color:#087f83;text-decoration-color:currentColor}.student-detail-backdrop{justify-content:flex-end;align-items:stretch;padding:0}.student-detail-dialog{background:#f8fafc;flex-direction:column;width:min(1180px,100vw - 48px);min-height:100vh;max-height:100vh;display:flex;overflow:hidden;box-shadow:-18px 0 48px #0f172a2e}.student-detail-header{background:#fff;border-bottom:1px solid #dbe4ee;justify-content:space-between;align-items:center;padding:22px 28px 16px;display:flex}.student-detail-header h2{font-size:var(--text-2xl);margin:2px 0 4px}.student-detail-header p{color:var(--color-text-secondary);margin:0}.student-detail-header>button{width:38px;height:38px;font-size:var(--text-2xl);cursor:pointer;background:#fff;border:1px solid #d7e0e8;border-radius:9px}.student-detail-tabs{background:#fff;border-bottom:1px solid #dbe4ee;gap:2px;padding:0 22px;display:flex;overflow-x:auto}.student-detail-tabs :is(button,a){color:var(--color-text-secondary);cursor:pointer;background:0 0;border:0;border-bottom:3px solid #0000;flex:none;padding:13px 15px 11px;font-weight:700;text-decoration:none}.student-detail-tabs :is(button,a).active{color:#087f83;border-bottom-color:#07959a}.student-detail-body{flex:1;min-height:0;padding:22px 28px 36px;overflow:auto}.student-detail-footer{background:#fff;border-top:1px solid #dbe4ee;justify-content:flex-end;align-items:center;gap:12px;min-height:62px;padding:10px 24px;display:flex}.detail-section{gap:18px;display:grid}.detail-section>h3,.detail-section>h4{margin:0}.detail-section-heading{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.detail-section-heading h3,.detail-section-heading p{margin:0}.detail-section-heading p{color:var(--color-text-secondary);margin-top:4px}.detail-edit-grid,.guardian-editor-list article{background:#fff;border:1px solid #dbe4ee;border-radius:12px;padding:18px}.student-profile-detail-section .detail-section-heading h3{font-size:var(--text-lg)}.student-profile-detail-section .detail-section-heading p{font-size:var(--text-sm);line-height:1.6}.student-profile-detail-section .enrollment-profile-heading h4{font-size:var(--text-lg)}.student-profile-detail-section .enrollment-profile-heading p{font-size:var(--text-sm)}.student-profile-detail-section .student-form-grid label,.student-profile-detail-section .enrollment-address-grid>label{color:var(--color-text-secondary);font-size:var(--text-xs);gap:7px;font-weight:700}.student-profile-detail-section .student-form-grid input,.student-profile-detail-section .student-form-grid select,.student-profile-detail-section .enrollment-address-grid input{height:var(--control-height);border-color:var(--color-border);border-radius:var(--radius-sm);font:var(--text-base) var(--font-family)}.student-profile-detail-section .student-form-grid label>small,.student-profile-detail-section .enrollment-address-grid label>small,.student-profile-detail-section .school-picker-selected{min-height:16px;color:var(--color-text-muted);font-size:var(--text-xs);font-weight:500}.student-profile-detail-section .student-form-grid label.has-error>small,.student-profile-detail-section .enrollment-address-grid label.has-error>small{color:var(--color-danger)}.student-profile-detail-section .student-form-grid label.has-error input,.student-profile-detail-section .student-form-grid label.has-error select,.student-profile-detail-section .enrollment-address-grid label.has-error input{border-color:var(--color-danger);box-shadow:0 0 0 2px #dc262614}.student-profile-detail-section .student-form-grid label em{color:var(--color-danger);font-style:normal}.inline-label-action{margin-left:auto}.inline-label-action button{color:#087f83;cursor:pointer;background:0 0;border:0;font-weight:700}.guardian-editor-list{gap:12px;display:grid}.guardian-editor-list article{grid-template-columns:120px repeat(4,minmax(140px,1fr)) auto;align-items:end;gap:12px;display:grid}.guardian-editor-list label{color:#475569;font-size:var(--text-xs);gap:6px;font-weight:700;display:grid}.guardian-editor-list input{border-radius:var(--radius-sm);border:1px solid #cbd5e1;min-width:0;height:38px;padding:0 9px}.guardian-editor-list .guardian-primary{align-self:center;align-items:center;display:flex}.guardian-editor-list .guardian-primary input{width:18px;height:18px}.danger-text-button{color:var(--color-danger);cursor:pointer;background:0 0;border:0;padding:10px}.history-timeline{gap:10px;display:grid}.history-timeline article{background:#fff;border:1px solid #dbe4ee;border-radius:10px;grid-template-columns:18px 1fr auto;align-items:start;gap:12px;padding:14px 16px;display:grid;position:relative}.history-timeline p,.history-timeline small{color:var(--color-text-secondary);margin:3px 0 0}.timeline-marker{background:#07959a;border-radius:50%;width:12px;height:12px;margin-top:4px;box-shadow:0 0 0 4px #dff5f4}.timeline-marker.sub{background:#f59e0b;box-shadow:0 0 0 4px #fff3d6}.family-member-cards{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:10px;display:grid}.family-member-cards article{background:#fff;border:1px solid #dbe4ee;border-radius:10px;gap:5px;padding:14px;display:grid}.family-member-cards span,.family-member-cards small{color:var(--color-text-secondary)}.audit-list{gap:8px;display:grid}.audit-list details{background:#fff;border:1px solid #dbe4ee;border-radius:9px}.audit-list summary{cursor:pointer;grid-template-columns:170px 1fr 180px;gap:12px;padding:12px 14px;display:grid}.audit-list pre{color:#e2e8f0;max-height:300px;font-size:var(--text-xs);background:#0f172a;margin:0;padding:14px;overflow:auto}.bulk-operation-dialog{width:min(1120px,100vw - 48px);max-height:calc(100vh - 40px);overflow:auto}.bulk-operation-toolbar{grid-template-columns:260px 1fr;gap:16px;margin-bottom:14px;display:grid}.bulk-operation-toolbar label,.bulk-paste-area{gap:6px;font-weight:700;display:grid}.bulk-operation-toolbar select{border-radius:var(--radius-sm);border:1px solid #cbd5e1;height:40px;padding:0 10px}.bulk-operation-toolbar>div{gap:5px;min-width:0;display:grid}.bulk-operation-toolbar code{white-space:nowrap;background:#f1f5f9;border-radius:7px;padding:10px;overflow-x:auto}.bulk-paste-area textarea{resize:vertical;width:100%;font:var(--text-base)/1.65 ui-monospace, SFMono-Regular, Consolas, monospace;border:1px solid #aebdcc;border-radius:9px;padding:12px}.bulk-preview{gap:10px;margin-top:14px;display:grid}.bulk-preview-summary{align-items:center;gap:14px;display:flex}.bulk-preview-summary .ui-button{margin-left:auto}.bulk-preview .error-row{background:#fff1f2}.operation-overview-dialog{width:min(1250px,100vw - 48px);min-height:min(760px,100vh - 36px);max-height:calc(100vh - 36px)}.nested-dialog-backdrop{z-index:90;background:#0f172a6b;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.operation-correction-dialog{width:min(760px,100vw - 40px);max-height:calc(100vh - 48px);overflow:auto}.operation-overview-tools{background:#fff;border-bottom:1px solid #dbe4ee;justify-content:space-between;align-items:end;gap:16px;padding:14px 24px;display:flex}.operation-overview-tools label{color:#475569;font-size:var(--text-xs);gap:5px;font-weight:700;display:grid}.operation-overview-tools input{border-radius:var(--radius-sm);border:1px solid #cbd5e1;width:270px;height:38px;padding:0 10px}.segmented-control{background:#eaf1f5;border-radius:9px;padding:3px;display:flex}.segmented-control button{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:0;border-radius:7px;padding:9px 14px;font-weight:700}.segmented-control button.active{color:#087f83;background:#fff;box-shadow:0 1px 3px #0f172a1f}.pricing-master-page{gap:16px;display:grid}.pricing-toolbar{grid-template-columns:minmax(180px,1fr) 120px minmax(320px,2fr) minmax(220px,1.2fr)}.pricing-book-summary{grid-template-columns:minmax(320px,1fr) minmax(300px,1.4fr) auto;align-items:center;gap:22px;display:grid}.pricing-activation-preview{grid-template-columns:repeat(3,minmax(150px,1fr));align-items:center;gap:12px;display:grid}.pricing-activation-preview>div{background:#f8fbfb;border:1px solid #dbe4ee;border-radius:10px;padding:12px 16px}.pricing-activation-preview span{color:var(--color-text-secondary);font-size:var(--text-xs);display:block}.pricing-activation-preview strong{font-size:var(--text-xl);margin-top:4px;display:block}.pricing-activation-preview p{color:var(--color-text-secondary);grid-column:1/-1;margin:0}.pricing-activation-preview.has-errors{background:#fff8f5;border-color:#f0b8a8}.pricing-book-summary h3,.pricing-book-summary p{margin:5px 0 0}.pricing-book-summary>div{gap:3px;display:grid}.pricing-book-summary>div>span{color:var(--color-text-secondary);font-size:var(--text-xs)}.pricing-grid-card{padding:0;overflow:hidden}.pricing-grid-tools{border-bottom:1px solid #dbe4ee;justify-content:space-between;align-items:end;padding:14px 16px;display:flex}.pricing-grid-tools label{color:#475569;font-size:var(--text-xs);gap:5px;font-weight:700;display:grid}.pricing-grid-tools input{border-radius:var(--radius-sm);border:1px solid #cbd5e1;width:320px;height:38px;padding:0 10px}.pricing-table th small{color:#94a3b8;margin-top:3px;font-weight:500;display:block}.pricing-table input{background:0 0;border:1px solid #0000;border-radius:6px;width:100%;min-width:110px;height:34px;padding:0 8px}.pricing-table input:not(:disabled){background:#fff;border-color:#cbd5e1}.currency-input{align-items:center;gap:4px;display:flex}.currency-input input{text-align:right}.pricing-active-check{white-space:nowrap;align-items:center;gap:6px;display:flex}.pricing-active-check input{width:17px;min-width:auto;height:17px}.pricing-table .dirty-row{background:#fff9e8}.educational-school-picker{gap:5px;min-width:0;display:grid;position:relative}.educational-school-picker.school-meta-in-label .school-picker-selected{max-width:calc(100% - 112px);min-height:0;color:var(--color-text-muted);text-align:right;text-overflow:ellipsis;white-space:nowrap;position:absolute;bottom:calc(100% + 9px);right:0;overflow:hidden}.educational-school-picker-input{display:flex;position:relative}.educational-school-picker-input input{width:100%;padding-right:36px}.educational-school-picker-input>button{width:28px;height:28px;color:var(--color-text-secondary);font-size:var(--text-lg);cursor:pointer;background:0 0;border:0;border-radius:6px;position:absolute;top:50%;right:5px;transform:translateY(-50%)}.educational-school-picker-menu{z-index:80;background:#fff;border:1px solid #b8c9d6;border-radius:10px;width:min(620px,100vw - 48px);max-height:370px;position:absolute;top:calc(100% + 4px);left:0;overflow:auto;box-shadow:0 16px 38px #0f172a2e}.school-picker-menu-head{z-index:1;color:var(--color-text-secondary);font-size:var(--text-xs);background:#f8fafc;border-bottom:1px solid #dbe4ee;justify-content:space-between;align-items:center;padding:8px 12px;display:flex;position:sticky;top:0}.school-picker-menu-head button{color:#087f83;cursor:pointer;background:0 0;border:0;font-weight:700}.educational-school-picker-menu>button[role=option]{color:#0f172a;text-align:left;cursor:pointer;background:#fff;border:0;border-bottom:1px solid #edf2f7;gap:2px;width:100%;padding:10px 12px;display:grid}.educational-school-picker-menu>button[role=option]:hover,.educational-school-picker-menu>button[role=option][aria-selected=true]{background:#ecf8f7}.educational-school-picker-menu>button span,.educational-school-picker-menu>button small{color:var(--color-text-secondary);font-weight:500}.school-picker-create{color:#087f83;text-align:left;cursor:pointer;background:#eefaf9;border:0;border-top:1px solid #b8d9d6;width:100%;padding:11px 12px;font-weight:700;position:sticky;bottom:0}.school-picker-empty,.school-picker-error{color:var(--color-text-secondary);margin:0;padding:18px 12px}.school-picker-error{color:#b42318}.school-picker-selected{color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;font-weight:500;overflow:hidden}.educational-school-master-page{gap:16px;display:grid}.school-master-summary-grid{grid-template-columns:repeat(4,minmax(180px,1fr));gap:14px;display:grid}.school-master-summary-grid .ui-card{gap:6px;padding:17px 19px;display:grid}.school-master-summary-grid span{color:var(--color-text-secondary);font-size:var(--text-xs)}.school-master-summary-grid strong{color:#0f172a;font-size:var(--text-2xl)}.school-master-summary-grid small{font-size:var(--text-xs);margin-left:4px}.school-master-filters.operations-filter-card{grid-template-columns:minmax(280px,2fr) repeat(4,minmax(140px,1fr)) auto}.school-master-table-wrap{min-height:360px;max-height:calc(100vh - 390px)}.school-master-table{min-width:1420px}.school-master-table thead{z-index:2;position:sticky;top:0}.school-master-table th:first-child{width:145px}.school-master-table th:nth-child(2){min-width:250px}.school-master-table th:nth-child(7){min-width:330px}.school-master-table a{color:#087f83;text-underline-offset:3px}.school-master-pagination{color:var(--color-text-secondary);justify-content:space-between;align-items:center;gap:16px;display:flex}.school-master-pagination>div{gap:8px;display:flex}@media (width<=900px){.student-detail-dialog,.operation-overview-dialog{width:100vw}.guardian-editor-list article{grid-template-columns:1fr 1fr}.pricing-toolbar,.pricing-book-summary,.bulk-operation-toolbar{grid-template-columns:1fr}.school-master-summary-grid{grid-template-columns:1fr 1fr}.school-master-filters.operations-filter-card{grid-template-columns:1fr}}.ledger-one-time-add-trigger{width:100%;min-height:38px;color:inherit;cursor:text;font:inherit;background:0 0;border:0;place-content:center;gap:1px;display:grid}.ledger-one-time-add-trigger strong{font:inherit;font-weight:600}.ledger-one-time-add-trigger small{color:var(--color-primary-dark);font-size:var(--text-xs);font-weight:700}.ledger-one-time-add-trigger small.is-missing{color:#a52823}.ledger-one-time-add-trigger small.has-detail{max-width:108px;color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ledger-one-time-add-trigger[aria-invalid=true]{outline-offset:-2px;background:#fff6f5;outline:2px solid #dc928b}.ledger-one-time-add-editor{grid-template-columns:auto minmax(52px,1fr);align-items:center;gap:3px;padding:2px 4px;display:grid}.ledger-one-time-add-editor span{color:var(--color-text-secondary);font-size:var(--text-xs);white-space:nowrap}.ledger-one-time-add-editor input{text-align:right;width:100%;min-width:0;font:400 var(--text-base)/1.5 var(--font-family);border:1px solid #0f8a8d;border-radius:5px;padding:5px;font-weight:700}.ledger-one-time-add-editor small{color:var(--color-primary-dark);font-size:var(--text-xs);text-align:right;grid-column:2}.ledger-other-popover-layer{z-index:112;background:0 0;position:fixed;inset:0}.student-editor.ledger-other-description-popover{overscroll-behavior:contain;border:1px solid var(--color-border-strong);width:min(420px,100vw - 24px);max-height:calc(100vh - 24px);position:fixed;overflow:auto;box-shadow:0 18px 52px #0f172a38}.ledger-other-description-fields{gap:var(--space-3);display:grid}.ledger-other-description-fields label{gap:5px var(--space-2);color:var(--color-text-secondary);font-size:var(--text-sm);grid-template-columns:max-content max-content;align-items:center;font-weight:700;display:grid}.ledger-other-description-fields select,.ledger-other-description-fields input{width:100%;min-height:42px;padding:0 var(--space-3);border:1px solid var(--color-control-border);border-radius:var(--radius-sm);color:var(--color-text);font:inherit;background:#fff;grid-column:1/-1}.ledger-other-description-fields select:focus,.ledger-other-description-fields input:focus{border-color:var(--color-primary);outline:3px solid var(--color-focus)}.ledger-other-description-fields [aria-invalid=true]{border-color:#c8322c}.ledger-other-description-fields .form-error{margin:calc(var(--space-2) * -1) 0 0;color:#a52823;font-size:var(--text-sm);font-weight:700}.ledger-other-description-help{color:var(--color-text-secondary);font-size:var(--text-sm);margin:0;line-height:1.6}.billing-hold-state{gap:4px;min-width:170px;display:grid}.billing-hold-state small{color:#b42318;white-space:normal;max-width:210px}.billing-hold-state button{justify-self:start;min-height:30px;padding:0 10px}.contract-override-conflicts{margin-top:var(--space-4);padding:var(--space-4);border-radius:var(--radius-lg);background:#fffaf0;border:1px solid #e9b85d}.contract-override-conflict-list{gap:var(--space-2);margin-top:var(--space-3);display:grid}.contract-override-conflict-list article{align-items:center;gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);background:#fff;border:1px solid #eadfc9;grid-template-columns:minmax(240px,1fr) auto auto;display:grid}.contract-override-conflict-list article>div{gap:3px;display:grid}.contract-override-conflict-list small{color:var(--color-text-secondary)}.contract-override-conflict-list label{font-size:var(--text-sm);align-items:center;gap:6px;font-weight:700;display:flex}.non-debit-page{position:relative}.non-debit-page.has-detail{padding-right:min(360px,28vw)}.non-debit-toolbar{gap:var(--space-3);padding:var(--space-4);margin-bottom:var(--space-3);grid-template-columns:minmax(220px,1.65fr) 1fr .85fr .85fr minmax(220px,1.5fr);display:grid}.non-debit-toolbar label,.non-debit-entry-section label,.non-debit-drawer-form label{color:var(--color-text-secondary);font-size:var(--text-xs);gap:6px;font-weight:700;display:grid}.non-debit-toolbar input,.non-debit-toolbar select,.non-debit-entry-section input,.non-debit-entry-section select,.non-debit-entry-section textarea,.non-debit-drawer-form input,.non-debit-drawer-form select,.non-debit-drawer-form textarea{width:100%;min-height:var(--control-height);padding:0 var(--space-3);border:1px solid var(--color-control-border);border-radius:var(--radius-sm);color:var(--color-text-primary);font:400 var(--text-base)/1.5 var(--font-family);background:#fff}.non-debit-entry-section textarea,.non-debit-drawer-form textarea{resize:vertical;min-height:74px;padding-top:10px}.non-debit-total-card{justify-content:space-between;align-items:center;gap:var(--space-6);margin-bottom:var(--space-3);padding:var(--space-4) var(--space-5);background:var(--color-surface);display:flex}.non-debit-total-card>div{gap:3px;display:grid}.non-debit-total-card span,.non-debit-total-card dt{color:var(--color-text-secondary);font-size:var(--text-xs)}.non-debit-total-card strong{color:var(--color-primary-dark);font-size:var(--text-page-title);font-variant-numeric:tabular-nums}.non-debit-total-card dl{align-items:center;margin:0;display:flex}.non-debit-total-card dl div{min-width:130px;padding:0 var(--space-5);border-left:1px solid var(--color-border)}.non-debit-total-card dd{color:var(--color-primary-dark);margin:4px 0 0;font-weight:700}.non-debit-status-tabs{margin:0 0 var(--space-3);gap:8px;display:flex}.non-debit-status-tabs button{border:1px solid var(--color-border);min-height:36px;color:var(--color-text-secondary);cursor:pointer;background:#fff;border-radius:999px;align-items:center;gap:8px;padding:0 16px;font-weight:700;display:flex}.non-debit-status-tabs button b{min-width:22px;height:22px;font-size:var(--text-xs);background:#edf2f6;border-radius:999px;place-items:center;display:grid}.non-debit-status-tabs button.is-active{color:#08777c;background:#eefafb;border-color:#58aeb3}.non-debit-table-wrap{overflow:auto}.non-debit-table{border-collapse:collapse;width:100%;min-width:1120px}.non-debit-table th,.non-debit-table td{height:46px;padding:0 var(--space-3);border-bottom:1px solid var(--color-border);text-align:left;font-size:var(--text-sm)}.non-debit-table th{z-index:1;color:var(--color-text-secondary);background:var(--color-surface-muted);font-size:var(--text-xs);position:sticky;top:0}.non-debit-table tbody tr{cursor:pointer}.non-debit-table tbody tr:hover,.non-debit-table tbody tr.is-selected{background:#f0fbfb}.non-debit-table tbody tr.is-cancelled{color:var(--color-text-secondary);background:#fbfbfc;text-decoration-color:#94a3b8}.non-debit-table .money,.non-debit-detail-list .money,.non-debit-entry-summary .money{text-align:right;color:var(--color-primary-dark);font-variant-numeric:tabular-nums;font-weight:700}.non-debit-row-action{border:1px solid var(--color-border);color:#08777c;cursor:pointer;background:#fff;border-radius:7px;min-width:34px;height:28px}.non-debit-count{color:var(--color-text-secondary);font-size:var(--text-xs);margin:10px 0 0}.non-debit-detail-drawer{z-index:30;border-left:1px solid var(--color-border);background:#fff;width:min(380px,100vw);padding:28px 26px;position:fixed;top:0;bottom:0;right:0;overflow-y:auto;box-shadow:-12px 0 30px #0f2a381a}.non-debit-detail-drawer h2{font-size:var(--text-xl);margin:0 0 22px}.non-debit-detail-drawer h3{font-size:var(--text-md);margin:22px 0 14px}.non-debit-drawer-close{color:var(--color-text-secondary);font-size:var(--text-2xl);cursor:pointer;background:0 0;border:0;position:absolute;top:18px;right:18px}.non-debit-student-head{align-items:center;gap:14px;margin-bottom:14px;display:flex}.non-debit-student-head>div{gap:3px;display:grid}.non-debit-student-head strong{font-size:var(--text-lg)}.non-debit-student-head small{color:var(--color-text-secondary)}.non-debit-avatar{color:#0b777b;width:48px;height:48px;font-size:var(--text-lg);background:#e9f4f4;border-radius:50%;flex:0 0 48px;place-items:center;font-weight:700;display:grid}.non-debit-student-link{color:#08777c;width:100%;margin-bottom:20px}.non-debit-student-meta{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0;display:grid}.non-debit-student-meta div,.non-debit-detail-list div,.non-debit-entry-summary dl div{gap:4px;display:grid}.non-debit-student-meta dt,.non-debit-detail-list dt,.non-debit-entry-summary dt{color:var(--color-text-secondary);font-size:var(--text-xs)}.non-debit-student-meta dd,.non-debit-detail-list dd,.non-debit-entry-summary dd{overflow-wrap:anywhere;margin:0}.non-debit-detail-drawer hr{border:0;border-top:1px solid var(--color-border);margin:22px 0}.non-debit-detail-list,.non-debit-entry-summary dl{gap:16px;margin:0;display:grid}.non-debit-detail-list div{grid-template-columns:96px minmax(0,1fr);align-items:start}.non-debit-detail-list .money{text-align:left;font-size:var(--text-lg)}.non-debit-drawer-footer,.non-debit-drawer-actions{gap:10px;margin-top:24px;display:flex}.non-debit-drawer-footer .ui-button,.non-debit-drawer-actions .ui-button{flex:1}.non-debit-cancel-button{color:#c8322c!important;border-color:#f0b7b5!important}.student-editor.non-debit-cancel-confirm{width:min(480px,100vw - 32px)}.non-debit-cancel-confirm__detail{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-subtle);margin:0;display:grid}.non-debit-cancel-confirm__detail div{gap:var(--space-3);grid-template-columns:72px minmax(0,1fr);align-items:baseline;display:grid}.non-debit-cancel-confirm__detail dt{color:var(--color-text-secondary);font-size:var(--text-sm)}.non-debit-cancel-confirm__detail dd{color:var(--color-text);overflow-wrap:anywhere;margin:0;font-weight:700}.non-debit-cancel-confirm__detail div:last-child dd{color:#a52823;font-size:var(--text-lg);font-variant-numeric:tabular-nums}.non-debit-cancel-confirm__note{margin:var(--space-3) 0 0;color:var(--color-text-secondary);font-size:var(--text-sm);line-height:1.65}.non-debit-cancel-confirm__submit{color:#fff!important;background:#b42318!important;border-color:#b42318!important}.non-debit-cancel-confirm__submit:hover:not(:disabled){background:#8f1c13!important;border-color:#8f1c13!important}.student-editor.ledger-charge-cancel-confirm{overscroll-behavior:contain;width:min(500px,100vw - 32px);max-height:calc(100vh - 32px);overflow:auto}.ledger-charge-cancel-confirm__detail{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-subtle);margin:0;display:grid}.ledger-charge-cancel-confirm__detail div{gap:var(--space-3);grid-template-columns:72px minmax(0,1fr);align-items:baseline;display:grid}.ledger-charge-cancel-confirm__detail dt{color:var(--color-text-secondary);font-size:var(--text-sm)}.ledger-charge-cancel-confirm__detail dd{color:var(--color-text);overflow-wrap:anywhere;margin:0;font-weight:700}.ledger-charge-cancel-confirm__detail div:last-child dd{color:#a52823;font-size:var(--text-lg);font-variant-numeric:tabular-nums}.ledger-charge-cancel-confirm__note{margin:var(--space-3) 0 0;color:var(--color-text-secondary);font-size:var(--text-sm);line-height:1.65}.ledger-charge-cancel-confirm__submit{color:#fff!important;background:#b42318!important;border-color:#b42318!important}.ledger-charge-cancel-confirm__submit:hover:not(:disabled){background:#8f1c13!important;border-color:#8f1c13!important}.non-debit-drawer-form{gap:14px;display:grid}.non-debit-entry-layout{align-items:start;gap:var(--space-4);grid-template-columns:minmax(0,2.2fr) minmax(290px,.8fr);display:grid}.non-debit-entry-layout>main{gap:var(--space-4);display:grid}.non-debit-entry-layout>aside{top:var(--space-3);gap:var(--space-4);display:grid;position:sticky}.non-debit-entry-section{padding:var(--space-5)}.non-debit-entry-section>header{margin-bottom:var(--space-5);align-items:flex-start;gap:14px;display:flex}.non-debit-entry-section>header>span{color:#fff;width:38px;height:38px;font-size:var(--text-lg);background:#234d69;border-radius:50%;flex:0 0 38px;place-items:center;font-weight:700;display:grid}.non-debit-entry-section h2,.non-debit-entry-summary h2{font-size:var(--text-lg);margin:0}.non-debit-entry-section header p{color:var(--color-text-secondary);margin:3px 0 0}.non-debit-entry-section label b{color:#e5484d}.non-debit-entry-school{max-width:420px;margin-bottom:var(--space-4)}.non-debit-student-results{border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;max-height:250px;margin-top:6px;overflow-y:auto}.non-debit-student-results button{border:0;border-bottom:1px solid var(--color-border);text-align:left;cursor:pointer;background:#fff;gap:3px;width:100%;padding:10px 14px;display:grid}.non-debit-student-results button:hover{background:#eff9f9}.non-debit-student-results small{color:var(--color-text-secondary)}.non-debit-charge-fields{gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.non-debit-charge-fields .is-wide{grid-column:1/-1}.non-debit-yen-input{border:1px solid var(--color-control-border);border-radius:var(--radius-sm);background:#fff;grid-template-columns:38px minmax(0,1fr);align-items:center;display:grid}.non-debit-yen-input span{text-align:center;color:var(--color-text-secondary)}.non-debit-yen-input input{border:0}.non-debit-entry-note{border-radius:var(--radius-md);color:#36556d;background:#eef7ff;margin:0;padding:12px 14px}.non-debit-entry-actions{justify-content:space-between;gap:var(--space-3);display:flex}.non-debit-entry-actions>div{gap:var(--space-3);display:flex}.non-debit-entry-summary{padding:var(--space-5)}.non-debit-entry-summary h2{margin-bottom:18px}.non-debit-entry-summary dl div{grid-template-columns:96px minmax(0,1fr)}.empty-table-cell{color:var(--color-text-secondary);text-align:center!important;padding:36px!important}@media (width<=900px){.contract-override-conflict-list article,.non-debit-toolbar,.non-debit-entry-layout,.non-debit-charge-fields{grid-template-columns:1fr}.non-debit-page.has-detail{padding-right:0}.non-debit-total-card{flex-direction:column;align-items:flex-start}.non-debit-total-card dl{width:100%}.non-debit-total-card dl div{min-width:0;padding:0 var(--space-3);flex:1}.non-debit-entry-layout>aside{position:static}}@media (width<=720px){.enrollment-stepper{grid-template-columns:minmax(0,1fr) 24px minmax(0,1fr)}.enrollment-stepper button{padding:var(--space-2);grid-template-columns:30px minmax(0,1fr)}.enrollment-stepper button>span{width:30px;height:30px}.enrollment-stepper button>small{display:none}.enrollment-step-heading{flex-direction:column}.enrollment-student-summary{width:100%}}.unsaved-backdrop{z-index:10000}.editor-fields{border:0;min-width:0;margin:0;padding:0;display:contents}.unsaved-dialog{max-width:560px}.student-summary-inline{background:0 0;border:0;border-radius:0;flex-wrap:wrap;align-items:center;gap:8px 24px;padding:8px 0;display:flex}.student-summary-inline button{margin-left:auto}@media (pointer:coarse){.ledger-grid tbody input{font-size:16px!important}}.student-primary-tabs>label{gap:var(--space-2);min-width:180px;color:var(--color-text-secondary);font-size:var(--text-xs);font-weight:600;display:grid}.price-override{gap:6px;display:grid}.price-override output{padding:8px 0;font-weight:600;display:block}.price-override button{justify-self:start}.contract-breakdown{min-width:0;font-size:var(--text-sm)}.contract-breakdown-item{border-bottom:1px solid var(--color-border);grid-template-columns:14px minmax(0,1fr) 12px auto;align-items:center;gap:8px;padding:9px 0;display:grid}.contract-breakdown-item small{font-size:var(--text-xs);color:var(--color-text-secondary);margin-bottom:3px;display:block}.contract-breakdown-course{flex-wrap:wrap;align-items:baseline;gap:4px 10px;display:flex}.contract-breakdown-course span{color:var(--color-text-secondary);white-space:nowrap}.contract-breakdown-amount{font-variant-numeric:tabular-nums;white-space:nowrap}.contract-breakdown-symbol,.contract-breakdown-equals{color:var(--color-text-secondary)}.contract-breakdown-total{grid-template-columns:14px minmax(0,1fr) auto;align-items:center;gap:8px;padding:10px 0;display:grid}.contract-breakdown-total small{color:var(--color-text-secondary);font-size:var(--text-xs);margin-top:3px;display:block}.contract-breakdown-total.subtotal{border-top:2px solid #a8c9cc;margin-top:4px}.contract-breakdown-total.grand-total{color:var(--color-primary-dark);background:var(--color-primary-soft);border-radius:6px;padding:12px 8px}.contract-breakdown-total.grand-total>strong:last-child{font-size:var(--text-lg)}.contract-breakdown-note{color:var(--color-text-secondary);font-size:var(--text-xs);margin-top:8px;line-height:1.6;display:block}.course-change-editor.student-editor{padding:20px}.course-change-editor .modal-header{margin-bottom:12px}.course-change-layout{gap:16px}.course-change-main{gap:10px}.course-change-main .contract-section{border-radius:8px;margin-top:0;padding:14px 16px}.course-change-main .contract-section-heading{margin-bottom:10px}.course-change-main .course-change-summary{border-radius:8px;margin-bottom:0;padding:12px 16px}.course-change-main .current-contract-panel{border-radius:8px;padding:12px 16px}.course-change-main .current-contract-grid{gap:8px}.course-change-main .current-contract-grid article{border-radius:6px;padding:8px 10px}.course-change-main .course-base-grid{grid-template-columns:minmax(170px,1fr) 130px 246px;align-items:end;gap:10px}.course-change-editor .course-base-grid input,.course-change-editor .course-base-grid select,.course-change-editor .course-change-summary input,.course-change-editor .course-option-list input[type=number],.course-change-editor .course-option-list select,.course-change-editor .management-fee-section input{border-radius:6px;height:36px}.course-change-main .price-override{border-radius:6px;grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px;padding:6px 8px;display:grid}.course-change-main .price-override label{min-width:0;font-size:var(--text-xs);gap:4px;display:grid}.course-change-main .price-override output{min-height:34px;font-size:var(--text-base);font-variant-numeric:tabular-nums;white-space:nowrap;align-items:center;padding:0;display:flex}.course-change-main .price-override input{font-variant-numeric:tabular-nums;width:100%;min-width:0}.course-change-main .price-override button{white-space:nowrap;align-self:end}.course-change-main .course-option-list article{grid-template-columns:minmax(140px,1fr) 110px 246px}.course-change-main .course-option-list .price-override{grid-column:3}.course-change-main .course-option-list{border:1px solid var(--color-border);border-radius:8px;gap:0;overflow:hidden}.course-change-main .course-option-list article{border:0;border-bottom:1px solid var(--color-border);background:#fff;border-radius:0;align-items:center;padding:8px 12px}.course-change-main .course-option-list article:last-child{border-bottom:0}.course-change-main .course-option-list article.selected{background:#f7fbfb}.course-change-main .management-fee-section{grid-template-columns:minmax(0,1fr) 246px}.course-change-review{border-radius:8px;padding:16px}.course-change-review h4{font-size:var(--text-base);margin-bottom:10px}.course-change-review p{margin:6px 0}.course-change-review dl>div{padding:9px 0}.course-change-editor .contract-diff-panel{border-radius:8px;padding:14px 16px}.course-change-editor .modal-actions{margin:16px -20px -20px;padding:12px 20px;bottom:-20px}@media (width<=600px){.course-change-main .course-base-grid,.course-change-main .course-option-list article{grid-template-columns:minmax(0,1fr)}.course-change-main .course-option-list .price-override{grid-column:auto}.course-change-main .management-fee-section{grid-template-columns:minmax(0,1fr)}}.course-change-editor button{border-radius:var(--radius-md,8px)}.course-change-editor .price-override button,.course-change-editor .section-actions button{border-radius:var(--radius-md,8px);min-height:34px;color:var(--color-primary-dark);font:700 var(--text-xs) var(--font-family);cursor:pointer;background:#fff;border:1px solid #9ccfd2;padding:6px 12px}.course-change-editor .price-override button:hover:not(:disabled),.course-change-editor .section-actions button:hover:not(:disabled){background:var(--color-primary-soft)}.course-change-editor .price-override button:disabled,.course-change-editor .section-actions button:disabled{opacity:.45;cursor:not-allowed}.review-comparison-scroll{max-height:55vh;overflow:auto}.review-comparison-scroll table{border-collapse:collapse;width:100%}.review-comparison-scroll th,.review-comparison-scroll td{border-bottom:1px solid var(--color-border);text-align:left;white-space:nowrap;padding:10px}.ledger-export-menu select{width:100%}.student-operation-page{container-type:inline-size}.operation-month-filter{gap:var(--space-2);flex:0 350px;width:350px;min-width:0;max-width:100%;display:grid}.operation-month-controls{align-items:center;gap:4px;height:44px;display:flex}.operation-month-controls input{flex:1;width:0;min-width:125px;padding-inline:6px}.operation-month-controls button{height:var(--control-height);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);min-width:32px;color:var(--color-text-secondary);font:650 var(--text-xs) var(--font-family);cursor:pointer;flex:none;padding:0 8px}.operation-month-controls button:hover,.operation-month-controls button[aria-pressed=true]{background:var(--color-primary-soft);color:var(--color-primary-dark)}.operation-month-controls button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.operation-list-result{color:var(--color-text-secondary);font-size:var(--text-sm);margin-bottom:calc(-1 * var(--space-3))}.operation-list-result strong{color:var(--color-text-primary);margin-inline:4px}@container (width<=940px){.operation-list-filters{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}@container (width<=620px){.operation-list-filters{grid-template-columns:minmax(0,1fr)}}.app-shell .main-content>.page-canvas{margin-top:0;padding-top:8px}.app-shell .main-content>.page-canvas>:first-child,.app-shell .page-canvas>:first-child>:is(.ui-page-header,.section-heading,.ledger-page-header,.page-header,.topbar,.master-heading):first-child,.app-shell .page-canvas>:is(.ui-page-header,.section-heading):first-child{margin-top:0;padding-top:0}@media (width<=767px){.app-shell .mobile-menu-button{width:44px;height:44px;top:8px}.app-shell .page-canvas>:first-child>:is(.ui-page-header,.section-heading,.ledger-page-header,.page-header,.topbar,.master-heading):first-child,.app-shell .page-canvas>:is(.ui-page-header,.section-heading):first-child{padding-left:52px}}.ui-toolbar{border:0;border-bottom:1px solid var(--color-border);background:0 0;border-radius:0;flex-wrap:wrap;align-items:end;gap:12px;padding:12px 0;display:flex}.ui-toolbar label{min-width:0;max-width:100%;color:var(--color-text-secondary);font-size:var(--text-xs);flex-direction:column;gap:6px;display:flex}.ui-quick-filters{flex-wrap:wrap;align-items:center;gap:8px;margin:12px 0 18px;display:flex}.ui-quick-filters button{min-height:36px;color:var(--color-text-secondary);font:500 var(--text-sm)/1.5 var(--font-family);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;align-items:center;gap:8px;padding:6px 12px;display:inline-flex}.ui-quick-filters button:hover{background:var(--color-surface-muted);color:var(--color-text-primary)}.ui-quick-filters button[aria-pressed=true]{color:var(--color-primary-dark);border-color:var(--color-border);background:var(--color-surface);font-weight:700;box-shadow:0 1px 2px #17212f08}.ui-quick-filters button span{font-size:var(--text-xs);color:var(--color-text-secondary)}.ui-metric-row{border-bottom:1px solid var(--color-border);grid-template-columns:1.25fr 1.25fr 1fr 1fr 1fr;margin:16px 0 20px;display:grid}.ui-metric{border-right:1px solid var(--color-border);flex-direction:column;gap:8px;min-width:0;padding:4px 20px 20px;display:flex}.ui-metric:first-child{padding-left:0}.ui-metric:last-child{border-right:0}.ui-metric-label{color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:500}.ui-metric strong{color:var(--color-text-primary);font-size:var(--text-2xl);font-variant-numeric:tabular-nums;letter-spacing:-.025em;line-height:1.25}.ui-metric-emphasis strong{font-size:var(--text-kpi)}.ui-metric strong button{color:var(--color-primary-dark);font:inherit;cursor:pointer;text-underline-offset:5px;background:0 0;border:0;padding:0;text-decoration:underline;text-decoration-thickness:1px}.ui-metric small{color:var(--color-text-secondary);font-size:var(--text-xs)}.ui-summary-grid{grid-template-columns:1fr 1fr;gap:24px;margin-bottom:20px;display:grid}.ui-overview-grid{grid-template-columns:minmax(0,1.65fr) minmax(0,1fr);gap:24px;display:grid}.ui-analysis-panel{background:var(--color-surface);border:1px solid var(--color-border);border-radius:8px;min-width:0;padding:18px}.ui-analysis-panel .ui-section-header{align-items:center;margin-bottom:14px}.ui-analysis-panel .ui-section-header h2{font-size:var(--text-md);margin:0}.ui-analysis-panel .ui-section-header p{color:var(--color-text-secondary);font-size:var(--text-xs);margin:4px 0 0}.ui-panel-note{font-size:var(--text-xs);color:var(--color-text-secondary);margin:10px 0 0;line-height:1.6}.ui-text-action{color:var(--color-primary-dark);min-height:32px;font:500 var(--text-sm)/1.5 var(--font-family);cursor:pointer;background:0 0;border:0;padding:6px}.ui-text-action:hover{text-decoration:underline}.ui-composition-bar{border-radius:4px;gap:3px;height:22px;margin:20px 0;display:flex;overflow:hidden}.ui-composition-legend{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}.ui-composition-legend button{min-width:0;color:var(--color-text-secondary);font:400 var(--text-xs)/1.5 var(--font-family);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;padding:8px 0;display:flex}.ui-composition-legend button strong{white-space:nowrap;color:var(--color-text-primary);margin-left:auto;font-weight:600}.ui-composition-legend i{border-radius:2px;flex-shrink:0;width:8px;height:8px}.ui-attention-list{grid-template-columns:1fr 1fr;column-gap:20px;display:grid}.ui-attention-list button{border:0;border-bottom:1px solid var(--color-border);min-height:40px;color:var(--color-text-primary);text-align:left;font:400 var(--text-sm)/1.5 var(--font-family);cursor:pointer;background:0 0;justify-content:space-between;align-items:center;gap:8px;padding:9px 0;display:flex}.ui-attention-list button:hover:not(:disabled){color:var(--color-primary-dark);background:var(--color-primary-soft)}.ui-attention-list strong{white-space:nowrap;font-variant-numeric:tabular-nums}.ui-attention-list strong small{font-size:var(--text-xs);margin-left:4px;font-weight:400}.ui-table-frame{border:1px solid var(--color-border);background:var(--color-surface);border-radius:6px;overflow:auto}.ui-summary-table{border:0;border-radius:0;max-height:320px}.ui-summary-table table{min-width:620px}.ui-summary-table th small{font-size:var(--text-xs);color:var(--color-text-secondary);font-weight:400;display:block}.ui-summary-table thead th{background:var(--color-surface-muted);z-index:1;position:sticky;top:0}.ui-summary-table :is(td,th){white-space:nowrap;border:0;border-bottom:1px solid var(--color-border);padding:10px 12px}.ui-summary-table td{text-align:right;font-variant-numeric:tabular-nums}.ui-data-grid{background:var(--color-surface)}.ui-data-grid :is(th,td){border-left:0;border-right:0;border-bottom:1px solid var(--color-border)}.ui-data-grid thead th{color:var(--color-text-secondary);background:var(--color-surface-muted);font-size:var(--text-xs);font-weight:600}.ui-data-grid tbody tr:hover>:is(th,td){background:var(--color-surface-muted)}.ui-data-grid.ui-data-grid :is(input:not([type=checkbox]),select,textarea){box-shadow:none;background:0 0;border:1px solid #0000;border-radius:4px;padding:6px}.ui-data-grid.ui-data-grid :is(input,select,textarea):hover:not(:disabled){border-color:var(--color-control-border);background:var(--color-surface)}.ui-data-grid.ui-data-grid :is(input,select,textarea):focus{outline:2px solid var(--color-primary);outline-offset:0;background:var(--color-surface);border-color:#0000}.ui-data-grid.ui-data-grid .g9-cell-edited{background:var(--color-primary-soft);box-shadow:inset 0 -2px var(--color-primary)}.ui-data-grid.ui-data-grid .g9-cell-invalid{border-color:var(--color-danger);background:var(--color-danger-soft)}.ui-data-grid .ui-cell-primary{color:var(--color-text-primary);font-weight:600}.ui-save-bar{border:1px solid var(--color-border);background:var(--color-surface);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex;box-shadow:0 -4px 18px #17212f08}.ui-filter-context{color:var(--color-text-secondary);font-size:var(--text-xs);margin:4px 0 10px}:is(.ui-quick-filters,.ui-analysis-panel,.ui-toolbar,.ui-save-bar) :is(button,a,input,select):focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}:is(.ui-quick-filters,.ui-analysis-panel) button:disabled{cursor:not-allowed;opacity:.6}@media (width<=1100px){.ui-overview-grid{grid-template-columns:1fr}.ui-metric{padding-inline:12px}}@media (width<=767px){.ui-summary-grid,.ui-overview-grid{grid-template-columns:1fr;gap:16px}.ui-metric-row{grid-template-columns:1fr 1fr;gap:16px 0}.ui-metric,.ui-metric:first-child{padding:0 12px 12px}.ui-metric:nth-child(2n){border-right:0}.ui-metric-emphasis strong{font-size:24px}.ui-analysis-panel{padding:14px}.ui-composition-legend{grid-template-columns:1fr 1fr}.ui-attention-list{grid-template-columns:1fr}.ui-save-bar{flex-wrap:wrap}}@media (pointer:coarse){:is(.ui-quick-filters,.ui-attention-list,.ui-composition-legend,.ui-analysis-panel) button{min-height:44px}}.ui-metric-row-auto{grid-template-columns:repeat(auto-fit,minmax(170px,1fr));row-gap:16px}.ui-disclosure{border-top:1px solid var(--color-border);padding:12px 0}.ui-disclosure>summary{font-size:var(--text-base);cursor:pointer;color:var(--color-text-primary);padding:8px 0;font-weight:600}.ui-disclosure[open]>summary{margin-bottom:12px}.ui-table-frame :is(.data-table,.master-table){border-collapse:collapse;width:100%;font-size:var(--text-base);font-variant-numeric:tabular-nums}.ui-table-frame :is(.data-table,.master-table) :is(td,th){border-left:0;border-right:0;border-bottom:1px solid var(--color-border);padding:10px 12px}.ui-table-frame thead th{background:var(--color-surface-muted);font-size:var(--text-xs);color:var(--color-text-secondary);font-weight:600}.ui-table-frame tbody tr:hover>:is(td,th){background:var(--color-surface-muted)}.ui-table-frame :is(a,button){text-underline-offset:3px}.ui-toolbar.ui-toolbar{box-shadow:none;border:0;border-bottom:1px solid var(--color-border);background:0 0;border-radius:0;padding:12px 0}.ui-toolbar>p{font-size:var(--text-xs);color:var(--color-text-secondary);margin-left:auto}.ui-toolbar :is(input,select){border:1px solid var(--color-control-border);background:var(--color-surface);max-width:100%;min-height:40px;color:var(--color-text-primary);font:400 var(--text-base)/1.5 var(--font-family);border-radius:6px;padding:8px 10px}@media (width<=767px){.ui-metric-row-auto{grid-template-columns:repeat(2,minmax(0,1fr))}}.ui-context-summary{border:0;border-left:3px solid var(--color-primary);box-shadow:none;border-radius:0;padding:12px 16px}.ui-context-summary>div{justify-items:start}.page-mode-tabs{scrollbar-width:thin;flex-wrap:nowrap;max-width:100%;overflow-x:auto}.page-mode-tabs button{white-space:nowrap;flex:none;min-width:0;height:auto;min-height:40px;padding:8px 14px}.home-notification-list{overscroll-behavior:contain;max-height:320px;overflow:auto}.home-notification-item{grid-template-columns:68px minmax(0,1fr) minmax(200px,.8fr);text-decoration:none}.home-security-event{grid-template-columns:68px minmax(0,1fr) minmax(200px,.8fr) auto}.home-security-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.home-notification-item strong,.home-notification-item small{min-width:0;line-height:1.6}@media (width<=767px){.home-notification-item{grid-template-columns:58px minmax(0,1fr);align-items:start;gap:6px 10px;padding:10px}.home-notification-item small{grid-column:2}.home-security-actions{grid-column:2;justify-content:flex-start}.ui-metric-long strong{font-size:20px}}.seasonal-sidebar-slot{flex:none;min-width:0}.seasonal-sidebar-navigation{margin:2px 0 var(--space-3) 22px;padding-left:var(--space-2);border-left:1px solid var(--color-border)}.seasonal-sidebar-list{gap:2px;margin:0;padding:0;list-style:none;display:grid}.seasonal-sidebar-link,.seasonal-sidebar-details>summary{min-height:36px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);color:var(--color-text-secondary);font-family:var(--font-family);font-size:var(--text-sm);cursor:pointer;touch-action:manipulation;align-items:center;font-weight:500;line-height:1.4;text-decoration:none;display:flex}.seasonal-sidebar-link:hover,.seasonal-sidebar-details>summary:hover{color:var(--color-primary-dark);background:var(--color-primary-soft)}.seasonal-sidebar-link[aria-current=page]{color:var(--color-primary-dark);background:var(--color-primary-soft);box-shadow:inset 2px 0 var(--color-primary);font-weight:700}.seasonal-sidebar-link:focus-visible,.seasonal-sidebar-details>summary:focus-visible{outline:3px solid var(--color-focus);outline-offset:1px}.seasonal-sidebar-details{margin-top:2px}.seasonal-sidebar-details>summary{gap:var(--space-2);list-style:none}.seasonal-sidebar-details>summary::-webkit-details-marker{display:none}.seasonal-sidebar-chevron{flex:0 0 12px;width:12px;height:12px}.seasonal-sidebar-details[open]>summary .seasonal-sidebar-chevron{transform:rotate(90deg)}.seasonal-sidebar-details>.seasonal-sidebar-list{padding-left:var(--space-3)}.sidebar-is-collapsed .seasonal-sidebar-slot{display:none}@media (width<=767px){.sidebar-is-collapsed .seasonal-sidebar-slot:not([hidden]){display:block}}@media (pointer:coarse){.seasonal-sidebar-link,.seasonal-sidebar-details>summary{min-height:44px}}
