/*! tailwindcss v4.3.0 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-font-weight:initial;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000}}}.auth-page{background:var(--color-bg);place-content:center;justify-items:center;gap:24px;min-height:100dvh;padding:72px;display:grid}.auth-brand{justify-content:center;align-items:center;width:auto;max-width:calc(100vw - 48px);min-height:72px;display:flex}.brand-block{align-items:flex-end;gap:10px;max-width:100%;display:flex}.brand-company-label{color:#c5c9d0;letter-spacing:.02em;white-space:nowrap;-webkit-user-select:none;user-select:none;pointer-events:none;margin-bottom:3px;font-size:11px;font-weight:400;line-height:1.2}.auth-brand .auth-full-logo{width:min(376px,100%);height:auto;display:block}.auth-brand .official-site-brand-link,.setup-brand .official-site-brand-link{flex-shrink:0;width:auto;text-decoration:none;display:block}.auth-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);gap:22px;width:min(480px,100vw - 40px);padding:32px;display:grid}.auth-heading{gap:8px;display:grid}.auth-heading h1{color:var(--color-text);font-size:26px;font-weight:700;line-height:1.35}.auth-heading p{color:var(--color-text-secondary);font-size:14px}.auth-tabs{background:#f2f4f7;border-radius:10px;grid-template-columns:1fr 1fr;gap:4px;height:44px;padding:4px;display:grid}.auth-tabs button{color:var(--color-text-secondary);border:1px solid #0000;border-radius:8px;font-size:14px;font-weight:600}.auth-tabs button.active{background:var(--color-surface);color:var(--color-text);border-color:#0000}.auth-tabs button.active.wechat{border-color:#0000}.auth-form{gap:18px;display:grid}.auth-form label,.setup-card label{gap:6px;min-width:0;display:grid}.auth-form label>span,.setup-card label>span{color:var(--color-text-secondary);font-size:12px;font-weight:600}.auth-form input,.auth-form select,.setup-card input,.setup-card select{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);width:100%;height:44px;color:var(--color-text);padding:0 14px;font-size:14px}.auth-form [aria-invalid=true]{border-color:var(--color-danger);box-shadow:0 0 0 1px var(--color-danger)}.auth-field-error{color:var(--color-danger);font-size:12px}.auth-code-status{color:var(--color-success);margin-left:8px;font-size:12px;font-weight:500}.auth-region-error{white-space:nowrap;display:block}.auth-required-mark{color:var(--color-warning);margin-left:2px;font-weight:700}.auth-code-row{grid-template-columns:minmax(0,1fr) 132px;gap:12px;display:grid}.captcha-send-control{min-width:0;position:relative}.captcha-send-control>button{width:100%}.captcha-send-control>.captcha-sdk-trigger{opacity:0;pointer-events:none;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.captcha-render-target{height:0;overflow:visible}.auth-code-row button,.auth-refresh{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);height:44px;color:var(--color-primary);font-size:14px;font-weight:600}.auth-code-row button:disabled{cursor:not-allowed;color:#98a2b3}.auth-forgot{color:var(--color-primary);justify-self:end;margin:-4px 0 0;font-size:12px;font-weight:600}.auth-message{color:var(--color-warning-text);margin:-8px 0 0;font-size:12px}.auth-submit{border-radius:var(--radius-sm);background:var(--color-primary);color:#fff;justify-content:center;align-items:center;gap:8px;height:44px;font-size:14px;font-weight:700;display:inline-flex}.auth-submit svg{width:17px;height:17px}.auth-submit:disabled{cursor:not-allowed;opacity:.45}.auth-register{color:var(--color-primary);text-align:center;font-size:13px;font-weight:600}.auth-occupied-actions{gap:12px;font-size:12px;font-weight:600;display:flex}.auth-occupied-actions a{color:var(--color-primary)}.auth-policy{color:var(--color-text-secondary);text-align:center;font-size:12px}.auth-policy a,.auth-policy button{color:var(--color-primary);text-underline-offset:2px;text-decoration:underline}.auth-form label.auth-policy-confirm{cursor:pointer;flex-wrap:nowrap;justify-content:center;align-items:center;gap:8px;line-height:1.6;display:flex}.auth-policy-confirm input{width:15px;height:15px;accent-color:var(--color-primary);flex:none;margin:0}.auth-policy-confirm span{text-align:left;white-space:nowrap}.auth-policy-error{text-align:center;margin-top:-8px}.auth-payment-confirm-note{margin-top:-10px;line-height:1.6}.auth-legal-dialog header>div{align-items:center;gap:12px;display:flex}.auth-legal-dialog header a{color:var(--color-primary);font-size:12px;font-weight:600}.auth-qr-panel{justify-items:center;gap:14px;display:grid}.auth-qr{border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:#fff;grid-template-columns:repeat(15,1fr);gap:2px;width:220px;height:220px;padding:14px;display:grid;position:relative}.auth-qr i{border-radius:1px}.auth-qr i.active{background:#18212f}.auth-qr>span{background:var(--color-brand);color:#fff;border:4px solid #fff;border-radius:8px;place-items:center;width:38px;height:38px;display:grid;position:absolute;inset:50% auto auto 50%;transform:translate(-50%,-50%)}.auth-qr>span svg{width:24px;height:24px}.auth-qr-panel>strong{color:var(--color-text);font-size:15px}.auth-qr-panel>p:not(.auth-policy){color:var(--color-text-secondary);align-items:center;gap:6px;font-size:12px;display:inline-flex}.auth-qr-panel>p i{background:var(--color-success);border-radius:999px;width:7px;height:7px}.auth-refresh{justify-content:center;align-items:center;gap:8px;width:100%;height:40px;display:inline-flex}.auth-refresh svg{width:16px;height:16px}@media (width<=560px){.auth-page{place-content:start center;padding:36px 20px}.auth-card{padding:24px}.auth-code-row{grid-template-columns:1fr}}.auth-legal-layer{z-index:100;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.auth-legal-backdrop{background:#18212f66;position:absolute;inset:0}.auth-legal-dialog{z-index:1;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);grid-template-rows:auto minmax(0,1fr);width:min(960px,100%);height:calc(100dvh - 48px);display:grid;position:relative;overflow:hidden;box-shadow:0 16px 48px #18212f2e}.auth-legal-dialog>header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:16px;padding:24px 28px;display:flex}.auth-legal-dialog h2{color:var(--color-text);font-size:22px;font-weight:700}.auth-legal-dialog>header button{width:44px;height:44px;color:var(--color-text-secondary);flex:0 0 44px;place-items:center;display:grid}.auth-legal-dialog>header svg{width:20px;height:20px}.auth-legal-body-frame{min-width:0;min-height:0;position:relative;overflow:hidden}.auth-legal-body{scrollbar-width:none;gap:14px;width:100%;min-width:0;height:100%;min-height:0;padding:24px 44px 28px 28px;display:grid;overflow:hidden scroll}.auth-legal-body p,.auth-legal-body pre{width:100%;min-width:0;max-width:100%;color:var(--color-text-secondary);white-space:pre-wrap;overflow-wrap:anywhere;word-break:break-word;margin:0;font-family:inherit;font-size:14px;line-height:1.75}.auth-legal-body::-webkit-scrollbar{width:0}.auth-legal-scrollbar{opacity:0;pointer-events:none;background:#f2f4f7;border-radius:999px;width:10px;position:absolute;top:12px;bottom:12px;right:10px}.auth-legal-scrollbar.is-visible{opacity:1}.auth-legal-scrollbar>span{will-change:transform;background:#98a2b3;border:2px solid #f2f4f7;border-radius:999px;width:100%;display:block}@media (width<=560px){.auth-legal-layer{padding:16px}.auth-legal-dialog{height:calc(100dvh - 32px)}.auth-legal-dialog>header,.auth-legal-body{padding-left:20px;padding-right:20px}.auth-legal-body{padding-right:36px}}.auth-card:has(.auth-registration-form){width:min(860px,100vw - 40px)}.auth-school-fields{margin:0}.auth-registration-section{border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px 16px;margin:0;padding:0;display:grid}.auth-registration-section+.auth-registration-section{border-top:1px solid var(--color-border);padding-top:20px}.auth-registration-section legend{color:var(--color-text);grid-column:1/-1;padding:0;font-size:16px;font-weight:700}.auth-registration-section>label{align-content:start}.auth-region-fields{grid-template-columns:1fr 1fr;gap:12px;display:grid}.auth-registration-span-full{grid-column:1/-1}@media (width<=560px){.auth-registration-section,.auth-region-fields{grid-template-columns:1fr}.auth-registration-section legend,.auth-registration-span-full{grid-column:auto}}.setup-page{background:var(--color-bg);place-content:center;justify-items:center;gap:24px;min-height:100dvh;padding:72px 180px;display:grid;position:relative}.setup-brand{justify-content:center;align-items:center;width:auto;max-width:calc(100vw - 48px);min-height:72px;display:flex}.setup-brand .setup-full-logo{width:min(376px,100%);height:auto;display:block}.setup-brand .official-site-brand-link{flex-shrink:0;width:auto;text-decoration:none;display:block}.setup-topbar{justify-content:space-between;align-items:center;width:100%;height:56px;display:flex}.setup-topbar>div:last-child{color:var(--color-text-secondary);align-items:center;gap:16px;font-size:14px;display:flex}.setup-topbar>div:last-child svg{width:18px;height:18px}.setup-topbar>div:last-child button{min-width:44px;min-height:44px;color:inherit;justify-content:center;align-items:center;display:inline-flex}.setup-notice{z-index:2;border-radius:var(--radius-sm);background:var(--color-success-soft);min-height:40px;color:var(--color-success);border:1px solid #a9d4b8;padding:10px 16px;font-size:13px;font-weight:600;position:absolute;top:128px}.setup-topbar>div:last-child strong{color:var(--color-text);font-weight:600}.setup-intro{text-align:center;justify-items:center;gap:8px;display:grid}.setup-intro h1{color:var(--color-text);font-size:28px;font-weight:700}.setup-intro p{color:var(--color-text-secondary);font-size:16px}.setup-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);gap:22px;width:min(480px,100vw - 40px);padding:32px;display:grid}.setup-card h2{color:var(--color-text);font-size:20px;font-weight:700}.setup-field-grid{grid-template-columns:1fr 1fr;gap:16px 12px;display:grid}.setup-field-grid .wide{grid-column:1/-1}.setup-region{border:0;grid-template-columns:1fr 1fr;gap:6px 12px;min-width:0;display:grid}.setup-region legend{color:var(--color-text-secondary);grid-column:1/-1;font-size:12px;font-weight:600}.setup-card label{gap:6px;display:grid}.setup-card .setup-skip-choice{color:var(--color-text-secondary);align-items:center;gap:10px;font-size:13px;display:flex}.setup-card .setup-skip-choice input{width:18px;height:18px;margin:0}.setup-card [aria-invalid=true]{border-color:var(--color-danger);box-shadow:0 0 0 1px var(--color-danger)}.setup-field-error,.setup-field-help{min-height:18px;font-size:12px;line-height:18px}.setup-field-error{color:var(--color-danger)}.setup-field-help{color:var(--color-text-secondary)}.setup-hint,.setup-version-note{color:var(--color-text-secondary);font-size:13px}.setup-actions,.setup-version-actions{justify-content:space-between;align-items:center;gap:12px;display:flex}.setup-actions button,.setup-version-actions button{border-radius:var(--radius-sm);justify-content:center;align-items:center;gap:8px;height:44px;padding:0 18px;font-size:14px;font-weight:600;display:inline-flex}.setup-actions button.success,.setup-version-actions button.success{background:var(--color-success);color:#fff;min-width:160px}.setup-actions button svg,.setup-version-actions button svg{width:17px;height:17px}.link-button{color:var(--color-success);padding-inline:0!important}.demo-task-opening>svg{animation:1s linear infinite setup-demo-loading-spin}.demo-task-opening>span:after{content:"";animation:1.2s steps(4,end) infinite setup-demo-loading-dots}@keyframes setup-demo-loading-spin{to{transform:rotate(360deg)}}@keyframes setup-demo-loading-dots{0%,25%{content:""}50%{content:"."}75%{content:".."}to{content:"..."}}.setup-side-arrow{width:48px;height:48px;color:var(--color-text-secondary);place-items:center;display:grid;position:absolute;top:453px}.setup-side-arrow svg{width:48px;height:48px}.setup-side-arrow.left{left:max(32px,50% - 416px)}.setup-side-arrow.right{right:max(32px,50% - 416px)}@media (width<=800px){.setup-page{place-content:start;justify-items:stretch;padding:32px 20px 48px}.setup-topbar>div:last-child button,.setup-topbar>div:last-child>svg,.setup-topbar>div:last-child>strong{display:none}.setup-intro{text-align:left;justify-items:start}.setup-field-grid,.setup-field-grid{grid-template-columns:1fr}.setup-field-grid .wide{grid-column:auto}.setup-region{grid-template-columns:1fr}.setup-side-arrow{display:none}}.setup-version-page{gap:14px;padding:32px 80px}.setup-version-page .setup-brand{min-height:52px}.setup-version-page .setup-brand+.setup-intro,.setup-payment-page .setup-brand+.setup-intro{margin-top:16px}.billing-tabs{background:#eaecf0;border-radius:10px;grid-template-columns:1fr 1fr;gap:4px;width:min(420px,100%);height:48px;padding:4px;display:grid}.billing-tabs button{border-radius:var(--radius-sm);color:var(--color-text-secondary);border:1px solid #0000;font-size:14px;font-weight:600}.billing-tabs button.active{border-color:var(--color-brand);background:var(--color-surface);color:var(--color-text)}.billing-tabs .plan-unavailable-control{cursor:not-allowed;color:var(--color-text-muted)}.plan-grid{grid-template-rows:1fr;grid-auto-columns:minmax(280px,1fr);grid-auto-flow:column;align-items:stretch;gap:14px;width:min(1120px,100%);padding-bottom:4px;display:grid;overflow-x:auto}.plan-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);grid-template-rows:auto auto auto 52px minmax(0,1fr) 40px;align-content:start;gap:10px;height:100%;padding:18px;display:grid}.plan-card.active{border:2px solid var(--color-brand);padding:27px}.plan-card>div{color:var(--color-text);justify-content:space-between;align-items:center;font-size:16px;font-weight:700;display:flex}.plan-card em{background:var(--color-brand-soft);color:var(--color-warning-text);border-radius:999px;padding:4px 9px;font-size:12px;font-style:normal}.plan-card>strong{color:var(--color-primary);font-size:25px;line-height:1}.plan-price-line{align-items:baseline;gap:8px;display:flex}.plan-price-line>strong{color:var(--color-primary);font-size:25px;line-height:1}.plan-original-price,.payment-original-price{color:var(--color-text-muted);font-size:12px;font-weight:400;text-decoration:line-through;text-decoration-thickness:1px}.plan-price-placeholder-line{visibility:hidden;-webkit-user-select:none;user-select:none}.plan-card>small,.plan-card>p{color:var(--color-text-secondary)}.plan-card>p{height:52px;margin:0;font-size:13px;line-height:1.45;overflow:hidden}.plan-card ul{min-height:0;color:var(--color-text);gap:7px;font-size:12px;line-height:1.35;display:grid}.plan-card li{align-items:flex-start;gap:6px;display:flex}.plan-card li svg{width:15px;height:15px;color:var(--color-success);flex:none}.plan-card li.disabled svg,.plan-card li.disabled{color:#d92d20}.plan-card.current{background:linear-gradient(#fffdf5,#fff);border:2px solid #f5c451;padding:27px}.plan-current-label{border-radius:var(--radius-sm);color:#a16207;background:#fef9c3;border:1px solid #f5c451;justify-content:center;align-items:center;height:44px;font-size:13px;font-weight:700;display:flex}.plan-exclusive{border-top:1px solid var(--color-border);gap:10px;padding-top:16px;display:grid!important}.plan-exclusive>span{color:var(--color-primary);font-size:13px;font-weight:700}.plan-exclusive li svg{color:var(--color-brand)}.plan-unavailable{border-color:var(--color-border);background:var(--color-surface-subtle)}.plan-unavailable>:not(button),.plan-unavailable li,.plan-unavailable li svg,.plan-unavailable .plan-exclusive>span{color:var(--color-text-muted)}.plan-card>button,.trial-plan-button{border:1px solid var(--color-primary);border-radius:var(--radius-sm);height:40px;color:var(--color-primary);font-size:13px;font-weight:600}.plan-card>button,.plan-card>.plan-current-label{align-self:end;width:100%}.plan-card>button{background:var(--color-primary);color:#fff}.plan-card>button:disabled,.trial-plan-button:disabled{cursor:not-allowed;opacity:.55}.plan-card>button.plan-unavailable-button{border-color:var(--color-border);color:var(--color-text-secondary);cursor:not-allowed;background:#eaecf0}.registration-error-message{color:var(--color-danger-text);align-items:center;gap:6px;display:flex}.registration-error-message svg{flex:none;width:16px;height:16px}.trial-plan-button{background:var(--color-surface);width:min(360px,100%)}.setup-payment-page{justify-content:center;padding-inline:20px}.registration-payment-card{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);gap:16px;width:600px;max-width:calc(100vw - 40px);padding:24px;display:grid;box-shadow:0 16px 44px #18212f0a}.plan-service-term{min-height:42px;color:var(--color-text);align-items:flex-start;gap:7px;font-size:14px;line-height:1.55;display:flex}.plan-service-term svg{flex:none;width:15px;height:15px;margin-top:2px}.registration-payment-card>header{justify-content:space-between;align-items:center;gap:12px;display:flex}.registration-payment-card>header>div{gap:4px;display:grid}.registration-payment-card>header span,.registration-payment-card dt{color:var(--color-text-secondary);font-size:13px}.registration-payment-card>header strong{color:var(--color-text);font-size:20px}.registration-payment-card>header em{background:var(--color-brand-soft);color:var(--color-warning-text);border-radius:999px;padding:4px 9px;font-size:12px;font-style:normal}.registration-payment-card dl{border-block:1px solid var(--color-border);margin:0;display:grid}.registration-payment-card dl>div{justify-content:space-between;align-items:center;gap:12px;min-height:36px;display:flex}.registration-payment-card dt{font-size:12px}.registration-payment-card dd{color:var(--color-text);text-align:right;margin:0;font-size:12px;font-weight:600;line-height:1.35}.registration-payment-card .registration-payment-total{border-top:1px solid var(--color-border)}.registration-terms{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-subtle);gap:8px;padding:12px;display:grid}.registration-terms>p{color:var(--color-text-secondary);margin:0;font-size:12px;line-height:1.55}.registration-terms label{color:var(--color-text);cursor:pointer;align-items:flex-start;gap:6px;font-size:12px;line-height:1.5;display:flex}.registration-terms .registration-terms-consent{text-align:left;justify-content:flex-start}.registration-terms input{accent-color:var(--color-primary);margin-top:3px}.registration-terms button{color:var(--color-primary);text-underline-offset:2px;text-decoration:underline}.registration-payment-total dd{color:var(--color-primary);justify-content:flex-end;align-items:baseline;gap:8px;font-size:24px;display:flex}.registration-payment-total dd small{color:var(--color-text-muted);font-size:12px;font-weight:400;text-decoration:line-through;text-decoration-thickness:1px}.registration-payment-notice{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-subtle);grid-template-columns:30px minmax(0,1fr);gap:10px;padding:12px;display:grid}.registration-payment-notice>svg{width:22px;height:22px;color:var(--color-text-secondary)}.registration-payment-notice>div{gap:4px;display:grid}.registration-payment-notice strong{color:var(--color-text);font-size:14px}.registration-payment-notice p{color:var(--color-text-secondary);margin:0;font-size:12px;line-height:1.5}.registration-payment-card footer{justify-content:space-between;align-items:center;gap:10px;display:flex}.registration-payment-card footer button{border-radius:var(--radius-sm);justify-content:center;align-items:center;gap:6px;height:40px;padding:0 14px;font-size:13px;font-weight:600;display:inline-flex}.registration-payment-card footer svg{width:16px;height:16px}.registration-payment-back{border:1px solid var(--color-border-strong);color:var(--color-text)}.registration-payment-submit{color:#98a2b3;cursor:not-allowed;background:#eaecf0;min-width:160px}.registration-payment-submit.active{border:1px solid var(--color-primary);background:var(--color-primary);color:#fff;cursor:pointer}.registration-payment-submit.active:disabled{cursor:wait;opacity:.6}.registration-payment-checkout{grid-template-columns:264px minmax(0,1fr);align-items:center;gap:24px;display:grid}.payment-qr-frame{border:1px solid var(--color-border-strong);border-radius:var(--radius-md);background:#fff;place-items:center;width:264px;height:264px;padding:8px;display:grid}.payment-qr-frame img{width:248px;height:248px;display:block}.payment-qr-frame.expired{background:var(--color-surface-subtle);border-style:dashed}.payment-qr-placeholder{width:100%;height:100%;color:var(--color-text-secondary);text-align:center;place-items:center;font-size:14px;display:grid}.payment-scan-copy{gap:8px;display:grid}.payment-scan-copy strong{color:var(--color-text);font-size:18px}.payment-scan-copy p{color:var(--color-text-secondary);margin:0;font-size:14px;line-height:1.7}.payment-scan-copy .payment-poll-notice{color:var(--color-warning-text);font-size:13px}.payment-scan-copy small{overflow-wrap:anywhere;color:var(--color-text-muted);font-size:12px}.registration-payment-notice.payment-success{background:var(--color-success-soft);border-color:#a8dcc4}.registration-payment-notice.payment-success>svg{color:var(--color-success)}.registration-payment-notice.payment-error{background:var(--color-danger-soft);border-color:#f5b7b1}.registration-payment-notice.payment-error>svg{color:var(--color-danger)}.registration-payment-notice.payment-error button{width:fit-content;color:var(--color-primary);margin-top:8px;font-size:13px;font-weight:600}@media (width<=800px){.setup-version-page{padding:32px 20px}.plan-grid{grid-template-rows:none;grid-auto-columns:auto;grid-auto-flow:row;padding-bottom:0;overflow-x:visible;grid-template-columns:minmax(0,1fr)!important}.registration-payment-card{padding:24px 20px}.registration-payment-card footer{flex-direction:column-reverse;align-items:stretch}.registration-payment-card footer button{width:100%}}@media (height<=820px) and (width>=801px){.setup-version-page{gap:10px;padding-block:20px}.setup-version-page .setup-brand{min-height:44px}.setup-version-page .setup-brand .setup-full-logo{width:min(320px,100%)}.plan-card{gap:8px;padding:14px}.plan-card>p{height:46px}.plan-card ul{gap:5px;font-size:11px}}@media (width<=560px){.registration-payment-checkout{text-align:center;grid-template-columns:1fr;justify-items:center}.payment-qr-frame{width:min(264px,100%)}.registration-payment-card>header{align-items:flex-start}}.plan-grid{justify-content:center}.plan-grid:has(>article:only-child){grid-template-columns:minmax(280px,420px);grid-auto-flow:row}.plan-grid:has(>article:nth-child(2):last-child){grid-template-columns:repeat(2,minmax(240px,360px));grid-auto-flow:row}.plan-grid:has(>article:nth-child(3):last-child){grid-template-columns:repeat(3,minmax(0,1fr));grid-auto-flow:row}.manual-wechat-form{align-content:center;gap:14px;display:grid}.manual-wechat-form>strong{color:var(--color-text-primary);font-size:18px}.manual-wechat-form label{gap:6px;display:grid}.manual-wechat-form label span{color:var(--color-text-secondary);font-size:13px}.manual-wechat-form input{border:1px solid var(--color-border-strong);width:100%;min-height:42px;color:var(--color-text-primary);font:inherit;background:#fff;border-radius:8px;padding:0 12px}.manual-wechat-form input:focus{border-color:var(--color-primary);outline:2px solid #004ea22e}@supports (color:color-mix(in lab, red, red)){.manual-wechat-form input:focus{outline:2px solid color-mix(in srgb,var(--color-primary) 18%,transparent)}}.manual-wechat-form p{color:var(--color-primary);margin:0;line-height:1.6}.manual-wechat-form small{color:var(--color-text-secondary)}.workbench-page{min-width:0}.task-summary{border-bottom:1px solid var(--color-border);background:var(--color-surface);align-items:center;gap:24px;min-height:104px;padding:0 24px;display:flex}.task-symbol{background:var(--color-brand-soft);width:32px;height:32px;color:var(--color-brand);border-radius:999px;flex:0 0 32px;place-items:center;display:grid}.task-symbol svg{width:18px;height:18px}.task-title{flex:360px;gap:6px;min-width:240px;max-width:460px;display:grid}.task-school{min-width:0;color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:600;line-height:1.2;overflow:hidden}.task-title-line,.task-name-form{align-items:center;gap:6px;min-width:0;display:flex}.task-switcher{flex:0 0 28px;position:relative}.task-switcher-trigger{width:28px;height:28px;color:var(--color-text-muted);background:0 0;border:1px solid #0000;border-radius:7px;place-items:center;display:grid}.task-switcher-trigger:hover:not(:disabled),.task-switcher-trigger[aria-expanded=true]{border-color:var(--color-border);background:var(--color-surface-subtle);color:var(--color-primary)}.task-switcher-trigger:disabled{cursor:not-allowed;opacity:.45}.task-switcher-trigger svg{width:16px;height:16px}.task-switcher-mask{z-index:80;background:#10182866;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.task-switcher-dialog{border:1px solid var(--color-border);background:#fff;border-radius:14px;width:min(620px,100%);max-height:min(620px,100vh - 48px);overflow:auto;box-shadow:0 20px 50px #10182833}.task-switcher-dialog>header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:flex-start;gap:16px;padding:20px 22px;display:flex}.task-switcher-dialog h2,.task-switcher-dialog p{margin:0}.task-switcher-dialog p{color:var(--color-text-secondary);margin-top:5px;font-size:12px}.task-switcher-dialog>header>button{width:30px;height:30px;color:var(--color-text-secondary);background:0 0;border:0;border-radius:7px;place-items:center;display:grid}.task-switcher-dialog>header>button:hover{background:var(--color-surface-subtle);color:var(--color-text)}.task-switcher-dialog>header svg{width:17px}.task-switcher-table{padding:12px 22px 20px}.task-switcher-row{border-top:1px solid var(--color-border);grid-template-columns:35px minmax(0,1fr) 35px 88px;align-items:center;gap:12px;min-height:52px;font-size:13px;display:grid}.task-switcher-row:first-child{border-top:0}.task-switcher-head{min-height:36px;color:var(--color-text-secondary);font-size:11px;font-weight:700}.task-switcher-head>span:last-child{text-align:right}.task-switcher-row>span:first-child{color:var(--color-text-secondary);font-variant-numeric:tabular-nums}.task-switcher-row>strong{overflow-wrap:anywhere;min-width:0;font-size:13px}.task-switcher-row>strong small{background:var(--color-brand-soft);color:var(--color-primary);border-radius:999px;margin-left:7px;padding:2px 6px;font-size:10px;font-weight:600;display:inline-flex}.task-switcher-row-action{justify-content:flex-end;display:flex}.task-switcher-row-action button{border:1px solid var(--color-primary);min-width:64px;height:30px;color:var(--color-primary);background:#fff;border-radius:7px;padding:0 10px;font:700 12px inherit}.task-switcher-row-action button:hover:not(:disabled){background:var(--color-primary);color:#fff}.task-switcher-row-action button:disabled{border-color:var(--color-border);background:var(--color-surface-subtle);color:var(--color-text-secondary);cursor:default}@media (width<=600px){.task-switcher-mask{padding:12px}.task-switcher-dialog{max-height:calc(100vh - 24px)}.task-switcher-dialog>header{padding:16px}.task-switcher-table{padding:8px 16px 16px}.task-switcher-row{grid-template-columns:35px minmax(0,1fr) 35px 68px;gap:7px}.task-switcher-head{font-size:10px}.task-switcher-row>strong{font-size:12px}.task-switcher-row-action button{min-width:58px;padding:0 6px}}.task-title h1{min-width:0;color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;font-size:24px;font-weight:700;line-height:1.25;overflow:hidden}.task-name-edit,.task-name-form button{width:28px;height:28px;color:var(--color-text-muted);background:0 0;border:1px solid #0000;border-radius:7px;flex:0 0 28px;place-items:center;display:grid}.task-name-edit:hover:not(:disabled),.task-name-form button:hover:not(:disabled){border-color:var(--color-border);background:var(--color-surface-subtle);color:var(--color-text)}.task-name-edit svg,.task-name-form button svg{width:14px;height:14px}.task-name-form input{border:1px solid var(--color-border);width:min(360px,100%);min-width:0;height:36px;color:var(--color-text);background:#fff;border-radius:8px;outline:none;padding:0 10px;font:700 16px inherit}.task-name-error{color:var(--color-danger);font-size:11px}.task-title p,.task-facts span,.task-autosave{color:#50617a;font-size:13px;font-weight:500}.task-dates{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.task-divider{background:#d7dee8;width:1px;height:44px}.task-facts{gap:6px;min-width:260px;display:grid}.task-facts strong{color:var(--color-text);font-size:14px}.task-summary-spacer{flex:1}.workbench-rights-card{background:#f8fbf9;border:1px solid #d7e8de;border-radius:12px;flex-direction:column;flex:0 0 240px;gap:4px;width:240px;padding:8px 12px;display:flex}.workbench-rights-card-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.workbench-rights-card strong{font-size:13px;line-height:1.3}.workbench-rights-card>span{color:var(--color-text-secondary);font-size:12px}.workbench-rights-card>button{border:1px solid var(--color-success);height:32px;color:var(--color-success);background:#fff;border-radius:8px;justify-content:center;align-items:center;gap:6px;font:700 12px inherit;display:flex}.workbench-rights-card button svg{width:15px;height:15px}.workbench-rights-card .workbench-renew-button{border:1px solid var(--color-success);height:24px;color:var(--color-success);white-space:nowrap;background:#fff;flex:none;padding:0 10px;font:700 12px inherit;border-radius:999px!important}.workbench-rights-card .workbench-renew-button:hover{background:#edf9f0}.task-autosave,.task-history{flex:none;align-items:center;gap:7px;display:inline-flex}.task-autosave svg{width:18px;height:18px;color:var(--color-success)}.task-history{border-radius:var(--radius-sm);border:1px solid var(--color-border-strong);background:var(--color-surface);color:#344054;height:36px;padding:0 14px;padding-inline:10px;font-size:13px;font-weight:700}.task-history svg{width:15px;height:15px}.workbench-body{gap:20px;padding:24px;display:grid}.workbench-notice{box-sizing:border-box;border-radius:var(--radius-md);border:1px solid;grid-template-rows:auto auto;grid-template-columns:24px minmax(0,1fr);align-items:center;gap:2px 12px;padding:16px 20px;display:grid}.workbench-notice>svg{grid-area:1/1/-1;align-self:center;width:24px;height:24px}.workbench-notice>h2{grid-area:1/2;margin:0;font-size:18px;font-weight:700;line-height:1.35}.workbench-notice p{color:#334155;grid-area:2/2;margin:0;font-size:14px;line-height:1.4}.workbench-notice:has(>button){grid-template-rows:auto auto auto;align-items:start}.workbench-notice:has(>button)>svg{align-self:start;margin-top:1px}.workbench-notice.warning{border-color:var(--color-warning);background:var(--color-warning-soft);color:var(--color-warning-text)}.workbench-notice.success{border-color:var(--color-success);background:var(--color-success-soft);color:var(--color-success)}.workbench-notice.info{border-color:var(--color-border);background:var(--color-primary-soft);color:var(--color-primary)}.workbench-notice>button{grid-area:3/2;width:fit-content;margin-top:8px}.workbench-notice>strong{color:#50617a;grid-column:2;font-size:14px}.workbench-action-row,.repair-action-row{border:1px solid var(--color-border);background:var(--color-surface);min-height:66px;color:var(--color-text-secondary);border-radius:10px;justify-content:space-between;align-items:center;gap:16px;padding:10px 16px;font-size:12px;display:flex}@media (width<=1180px){.task-summary{flex-wrap:wrap;padding-block:16px}.task-summary-spacer{display:none}.workbench-rights-card{margin-left:auto}}@media (width<=760px){.task-summary{align-items:flex-start}.task-divider{display:none}.task-title,.task-facts,.workbench-rights-card{flex-basis:100%;width:auto;max-width:none}.workbench-rights-card{margin-left:0}}.task-school-context{justify-self:start;align-items:center;gap:3px;min-width:0;display:flex;position:relative}.organization-switcher{flex:none;position:relative}.organization-switcher-trigger{width:22px;height:22px;color:var(--color-text-secondary);background:0 0;border:0;border-radius:5px;place-items:center;display:grid}.organization-switcher-trigger:hover:not(:disabled),.organization-switcher-trigger:focus-visible,.organization-switcher-trigger[aria-expanded=true]{background:var(--color-surface-subtle);color:var(--color-text)}.organization-switcher-trigger svg{width:14px;height:14px;transition:transform .15s}.organization-switcher-trigger[aria-expanded=true] svg{transform:rotate(180deg)}.organization-switcher-menu{z-index:70;border:1px solid var(--color-border);background:#fff;border-radius:10px;width:240px;position:absolute;top:calc(100% + 6px);left:0;overflow:hidden;box-shadow:0 16px 40px #18212f26}.organization-switcher-menu header{border-bottom:1px solid var(--color-border);gap:3px;padding:12px 14px;display:grid}.organization-switcher-menu header strong{color:var(--color-text);font-size:13px}.organization-switcher-menu header small{color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.organization-switcher-menu>div{max-height:280px;padding:6px;overflow-y:auto}.organization-switcher-menu button{width:100%;min-height:38px;color:var(--color-text);text-align:left;border-radius:7px;justify-content:space-between;align-items:center;gap:10px;padding:0 9px;font-size:12px;display:flex}.organization-switcher-menu button:hover:not(:disabled),.organization-switcher-menu button:focus-visible{background:var(--color-surface-subtle)}.organization-switcher-menu button[aria-checked=true]{background:var(--color-brand-soft);font-weight:700}.organization-switcher-menu button span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.organization-switcher-menu button small{color:var(--color-primary);flex:none;font-size:10px}.organization-switcher-menu p{color:var(--color-text-secondary);margin:0;padding:10px 8px;font-size:11px;line-height:1.5}.organization-switcher-menu p[role=alert]{color:var(--color-danger)}.workbench-function-grid{grid-template-columns:repeat(3,1fr);gap:20px;display:grid}.workbench-function-card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);align-content:start;gap:16px;min-width:0;min-height:240px;padding:20px;display:grid}.workbench-function-card>header{grid-template-columns:22px minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.workbench-function-card>header>svg{width:20px;height:20px;color:var(--color-primary)}.workbench-function-card h3{color:var(--color-text);font-size:16px;font-weight:700}.workbench-function-card>header>span{background:var(--color-surface-subtle);color:var(--color-text-secondary);white-space:nowrap;border-radius:999px;padding:4px 8px;font-size:10px;font-weight:700}.workbench-function-card.rules-card>header>span.enabled{background:var(--color-success-soft);color:var(--color-success)}.workbench-function-card>p{color:var(--color-text-secondary);font-size:13px;line-height:1.6}.workbench-function-card>footer{justify-content:flex-end;align-items:center;margin-top:auto;display:flex}.workbench-function-card>footer>button{min-height:40px;color:var(--color-primary);border-radius:8px;align-items:center;gap:6px;padding:0 12px;font-size:12px;font-weight:700;display:inline-flex}.workbench-function-card>footer>button:hover:not(:disabled){background:var(--color-primary-soft)}.workbench-function-card>footer svg{width:15px;height:15px}.excel-import-actions{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;display:grid}.excel-import-action-row{border:1px solid #004ea247;grid-template-columns:1fr;align-items:center;gap:6px;min-width:0;padding:5px 6px 5px 10px;display:grid}@supports (color:color-mix(in lab, red, red)){.excel-import-action-row{border:1px solid color-mix(in srgb, var(--color-primary) 28%, transparent)}}.excel-import-action-row{background:var(--color-primary-soft);border-radius:8px}.excel-import-action-row>span{gap:1px;min-width:0;display:grid}.excel-import-action-row strong{color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.excel-import-action-row small{color:var(--color-text-secondary);font-size:10px;font-weight:500}.excel-import-action-buttons{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;width:100%;min-width:0;display:grid}.excel-import-action-row button{border:1px solid #004ea247;justify-content:center;align-items:center;gap:2px;width:100%;min-width:0;min-height:30px;padding:0 2px;display:inline-flex}@supports (color:color-mix(in lab, red, red)){.excel-import-action-row button{border:1px solid color-mix(in srgb, var(--color-primary) 28%, transparent)}}.excel-import-action-row button{color:var(--color-primary);background:#004ea208;border-radius:6px}@supports (color:color-mix(in lab, red, red)){.excel-import-action-row button{background:color-mix(in srgb, var(--color-primary) 3%, transparent)}}.excel-import-action-row button{white-space:nowrap;font-size:10px;font-weight:700}.excel-import-action-row button:hover:not(:disabled){border-color:var(--color-primary);background:var(--color-primary-soft)}.excel-import-action-row .excel-import-upload{border-color:#004ea273}@supports (color:color-mix(in lab, red, red)){.excel-import-action-row .excel-import-upload{border-color:color-mix(in srgb, var(--color-primary) 45%, transparent)}}.excel-import-action-row .excel-import-upload{background:#fff}.excel-import-action-row svg{flex:none;width:12px;height:12px}@media (width<=420px){.excel-import-actions{grid-template-columns:1fr}}.workbench-function-card>footer>.excel-import-action{border:1px solid #004ea247;justify-content:center;align-items:center;width:100%;padding:8px 10px}@supports (color:color-mix(in lab, red, red)){.workbench-function-card>footer>.excel-import-action{border:1px solid color-mix(in srgb, var(--color-primary) 28%, transparent)}}.workbench-function-card>footer>.excel-import-action{background:var(--color-primary-soft)}.workbench-function-card>footer>.excel-import-action>span{gap:1px;display:grid}.workbench-function-card>footer>.excel-import-action strong{font-size:12px}.workbench-function-card>footer>.excel-import-action small{color:var(--color-text-secondary);font-size:10px;font-weight:500}.workbench-data-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.workbench-data-list>button{border:1px solid var(--color-border);cursor:pointer;text-align:left;background:0 0;border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-width:0;padding:8px 10px;display:grid}.workbench-data-list>button:hover:not(:disabled){background:var(--color-primary-soft)}.workbench-data-list>button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.workbench-data-list i{color:var(--color-text-secondary);align-items:center;gap:5px;font-size:11px;font-style:normal;font-weight:600;display:flex}.workbench-data-list svg{width:14px;height:14px;color:var(--color-text-muted)}.workbench-data-list .complete svg{color:var(--color-success)}.workbench-data-list strong{min-width:0;color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;text-align:right;font-size:13px;overflow:hidden}.workbench-data-list>small{color:var(--color-text-secondary);text-align:center;grid-column:1/-1;padding:24px 8px;font-size:12px}.workbench-card-value{color:var(--color-text);align-items:baseline;gap:6px;font-size:44px;font-weight:800;line-height:1;display:flex}.workbench-card-value small{color:var(--color-text-secondary);font-size:13px;font-weight:600}.workbench-rule-metrics{flex-wrap:wrap;gap:20px;display:flex}.ai-intake-card{background:linear-gradient(145deg,#fff 0%,#f5f9ff 100%);border-color:#b8cbe6;grid-template-rows:auto auto minmax(0,1fr) auto}.ai-intake-card>header>svg{color:#1459b8}.ai-intake-card>header>span{color:#1459b8;background:#e8f1ff}.ai-intake-title{color:var(--color-text);font-size:23px;line-height:1.35}.workbench-function-card>footer>.ai-intake-action{border:1px solid #004ea28c}@supports (color:color-mix(in lab, red, red)){.workbench-function-card>footer>.ai-intake-action{border:1px solid color-mix(in srgb, var(--color-primary) 55%, transparent)}}.workbench-function-card>footer>.ai-intake-action{background:0 0}.workbench-function-card>footer>.ai-intake-action:hover:not(:disabled){background:var(--color-primary-soft)}.ai-intake-card.active{grid-template-rows:auto minmax(0,1fr);gap:12px;min-height:0}.ai-assistant-heading{align-items:center;gap:8px;min-width:0;display:flex}.ai-assistant-heading h3{margin:0}.ai-assistant-mode{background:#eef4fc;border:1px solid #d5e2f2;border-radius:999px;flex:none;gap:2px;padding:2px;display:inline-flex}.ai-assistant-mode button{min-height:22px;color:var(--color-text-secondary);background:0 0;border:0;border-radius:999px;padding:0 9px;font-size:11px;font-weight:700;line-height:1}.ai-assistant-mode button.active{color:#1459b8;background:#fff;box-shadow:0 1px 2px #10182814}.ai-query-answer-panel{border:1px solid var(--color-border-strong);height:150px;color:var(--color-text);box-sizing:border-box;background:#fcfdff;border-radius:10px;padding:12px;font-size:13px;line-height:1.65;overflow-y:auto}.ai-query-answer-panel p{white-space:pre-wrap;margin:0}.ai-intake-inline-links{flex-wrap:wrap;align-items:center;gap:12px;display:inline-flex}.ai-intake-example{color:var(--color-primary);background:0 0;border:0;align-items:center;gap:4px;padding:0;font-size:12px;font-weight:700;display:inline-flex}.ai-intake-example svg{width:14px;height:14px;color:var(--color-primary);flex:0 0 14px}.ai-query-examples{background:#ededed;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:16px;padding:12px 14px 14px;display:grid}.ai-query-examples-column{flex-direction:column;gap:12px;min-width:0;display:flex}.ai-query-examples section{flex-direction:column;gap:4px;min-width:0;display:flex}.ai-query-examples h3{color:#666;letter-spacing:.02em;text-align:center;white-space:nowrap;background:#0000000f;border-radius:999px;align-self:center;width:fit-content;margin:0 0 6px;padding:3px 10px;font-size:10px;font-weight:600;line-height:1.35}.ai-query-examples ul{gap:4px;margin:0;padding:0;list-style:none;display:grid}.ai-query-examples li{width:100%}.ai-query-examples li .ai-query-bubble{box-sizing:border-box;width:100%;color:var(--color-text);font:inherit;text-align:left;background:#fff;border:0;border-radius:4px 12px 12px;padding:7px 10px;font-size:12px;line-height:1.4;box-shadow:0 1px 2px #0000000f}.ai-query-examples li .ai-query-bubble:hover{color:#1459b8;background:#f7fbff}.ai-query-examples li .ai-query-bubble:active{transform:scale(.985)}.ai-intake-inline{align-content:start;gap:10px;min-height:0;display:grid}.ai-intake-inline>label{color:var(--color-text);gap:8px;font-size:13px;font-weight:700;display:grid}.ai-intake-inline textarea{resize:none;border:1px solid var(--color-border-strong);height:150px;min-height:150px;max-height:150px;color:var(--color-text);font:inherit;box-sizing:border-box;border-radius:10px;padding:12px;line-height:1.6;overflow-y:auto}.ai-intake-inline textarea:focus{outline:2px solid var(--color-primary);outline-offset:1px}.ai-intake-inline>p{color:var(--color-text-secondary);gap:6px;margin:0;font-size:12px;line-height:1.5;display:flex}.ai-intake-inline>p svg{width:15px;height:15px;color:var(--color-primary);flex:0 0 15px}.ai-intake-inline-actions{justify-content:space-between;align-items:center;gap:10px;display:flex}.ai-intake-inline-actions>div{gap:8px;display:flex}.ai-intake-inline-actions>div button{min-height:36px}.ai-intake-card .ai-intake-processing{min-height:160px}@keyframes ai-intake-inline-enter{0%{opacity:0;transform:translate(36px)}to{opacity:1;transform:translate(0)}}.ai-intake-mask{z-index:90;background:#1018286b;place-items:center;padding:24px;display:grid;position:fixed;inset:0;overflow:auto}.ai-intake-dialog{background:#fff;border:1px solid #d5e2f2;border-radius:16px;grid-template-rows:auto minmax(0,1fr) auto;width:min(850px,100%);max-height:calc(100dvh - 48px);display:grid;overflow:auto;box-shadow:0 24px 72px #1018283d}.ai-intake-dialog>header{border-bottom:1px solid var(--color-border);justify-content:space-between;gap:18px;padding:22px 24px 18px;display:flex}.ai-intake-dialog>header>div{align-items:flex-start;gap:12px;display:flex}.ai-intake-mark{color:#1459b8;background:#e8f1ff;border-radius:10px;place-items:center;width:36px;height:36px;display:grid}.ai-intake-mark svg{width:20px;height:20px}.ai-intake-dialog h2{color:var(--color-text);margin:0;font-size:20px}.ai-intake-dialog>header p{color:var(--color-text-secondary);margin:4px 0 0;font-size:13px}.ai-intake-dialog>header>button{border:1px solid var(--color-border);width:36px;height:36px;color:var(--color-text-secondary);border-radius:8px;place-items:center;display:grid}.ai-intake-dialog>header>button svg{width:18px;height:18px}.ai-intake-input,.ai-intake-review{min-height:0;padding:20px 24px;overflow:auto}.ai-intake-input{align-content:start;gap:10px;display:grid}.ai-intake-input label{color:var(--color-text);gap:8px;font-size:13px;font-weight:700;display:grid}.ai-intake-input textarea{resize:vertical;border:1px solid var(--color-border-strong);min-height:250px;color:var(--color-text);font:inherit;border-radius:10px;padding:12px;line-height:1.6}.ai-intake-input textarea:focus{outline:2px solid var(--color-primary);outline-offset:1px}.ai-intake-input>p{color:var(--color-text-secondary);gap:6px;margin:0;font-size:12px;line-height:1.5;display:flex}.ai-intake-input>p svg{width:15px;height:15px;color:var(--color-primary);flex:0 0 15px}.ai-intake-example{color:var(--color-primary);justify-self:start;padding:0;font-size:12px;font-weight:700}.ai-intake-processing{min-height:310px;color:var(--color-text);text-align:center;place-content:center;justify-items:center;gap:18px;display:grid}.ai-intake-processing-orbit{border:2px solid #bdd4f4;border-top-color:var(--color-primary);width:72px;height:72px;color:var(--color-primary);border-radius:50%;place-items:center;animation:1.15s linear infinite ai-intake-orbit;display:grid}.ai-intake-processing-orbit svg{width:28px;height:28px;animation:1.15s linear infinite ai-intake-counter-orbit}.ai-intake-processing strong{font-size:15px}.ai-intake-processing p{color:var(--color-text-secondary);margin:6px 0 0;font-size:13px}@keyframes ai-intake-orbit{to{transform:rotate(360deg)}}@keyframes ai-intake-counter-orbit{to{transform:rotate(-360deg)}}@media (prefers-reduced-motion:reduce){.ai-intake-processing-orbit,.ai-intake-processing-orbit svg,.ai-intake-inline{animation:none}}.ai-intake-review{align-content:start;gap:14px;display:grid}.ai-intake-summary{background:#effbf3;border:1px solid #a9dfbb;border-radius:10px;gap:10px;padding:13px 14px;display:flex}.ai-intake-summary>svg{width:19px;height:19px;color:var(--color-success);flex:0 0 19px}.ai-intake-summary>div{gap:3px;display:grid}.ai-intake-summary strong{color:var(--color-text);font-size:14px}.ai-intake-summary small{color:var(--color-text-secondary);font-size:12px}.ai-intake-uncertainties{color:#835c09;background:#fff9eb;border:1px solid #efd69d;border-radius:10px;padding:12px 14px}.ai-intake-uncertainties strong{font-size:13px}.ai-intake-uncertainties ul{gap:4px;margin:7px 0 0;padding-left:18px;font-size:12px;line-height:1.45;display:grid}.ai-intake-result-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.ai-intake-result-grid article{border:1px solid var(--color-border);background:#fcfdff;border-radius:10px;min-width:0;padding:12px}.ai-intake-result-grid article:last-child{grid-column:1/-1}.ai-intake-result-grid article>header{justify-content:space-between;gap:10px;display:flex}.ai-intake-result-grid article>header strong{font-size:13px}.ai-intake-result-grid article>header span{color:var(--color-primary);font-size:11px;font-weight:700}.ai-intake-result-grid ul{gap:5px;margin:9px 0 0;padding:0;list-style:none;display:grid}.ai-intake-result-grid li{color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;line-height:1.45;overflow:hidden}.ai-intake-result-grid small{color:var(--color-text-muted);margin-top:9px;font-size:12px;display:block}.ai-intake-error{color:var(--color-danger);background:#fff4f4;border:1px solid #f4c4c4;border-radius:8px;align-items:center;gap:6px;margin:0 24px;padding:10px 12px;font-size:12px;display:flex}.ai-intake-error svg{width:16px;height:16px}.ai-intake-dialog>footer{border-top:1px solid var(--color-border);background:#fff;justify-content:flex-end;gap:10px;padding:16px 24px;display:flex}.ai-intake-dialog.ai-query-examples-dialog{grid-template-rows:auto auto;width:min(640px,100% - 32px);max-width:min(640px,100% - 32px);max-height:calc(100dvh - 48px);overflow:visible}.ai-intake-dialog.ai-query-examples-dialog>header{border-bottom:0;padding:12px 14px 10px}.ai-intake-dialog.ai-query-examples-dialog>header h2{font-size:15px}.ai-intake-dialog.ai-query-examples-dialog>header p{display:none}.ai-intake-dialog.ai-query-examples-dialog .ai-intake-mark{border-radius:8px;width:28px;height:28px}.ai-intake-dialog.ai-query-examples-dialog .ai-intake-mark svg{width:16px;height:16px}@media (width<=620px){.ai-intake-mask{padding:12px}.ai-intake-dialog{max-height:calc(100dvh - 24px)}.ai-intake-dialog>header,.ai-intake-input,.ai-intake-review,.ai-intake-dialog>footer{padding-left:16px;padding-right:16px}.ai-intake-result-grid{grid-template-columns:1fr}.ai-intake-result-grid article:last-child{grid-column:auto}.ai-intake-dialog>footer{display:grid}.ai-intake-dialog>footer button{width:100%}.ai-intake-inline-actions{flex-direction:column;align-items:stretch}.ai-intake-inline-actions>div{width:100%}.ai-intake-inline-actions>div button{flex:1}.ai-query-examples{grid-template-columns:1fr;gap:12px}.ai-intake-dialog.ai-query-examples-dialog{width:min(100% - 24px,640px);max-width:calc(100% - 24px)}}.workbench-next-title{color:var(--color-text);font-size:22px;font-weight:750;line-height:1.35}.workbench-function-card.next-card.ready{background:var(--color-surface);border-color:#b7dfc7}.workbench-function-card.next-card.ready>header>svg{color:var(--color-success)}.workbench-function-card.next-card.generated{border-color:var(--color-border);background:var(--color-surface)}.workbench-function-card.next-card>footer>button{color:#fff;min-height:44px}.workbench-function-card.next-card>footer>button:hover:not(:disabled){background:var(--color-primary-hover)}.workbench-function-card.next-card>footer>.schedule-shortcuts{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;display:grid}.schedule-shortcuts>button{border:1px solid var(--color-border);min-height:40px;color:var(--color-text);background:#fff;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:0 8px;font-size:12px;font-weight:700;display:inline-flex}.schedule-shortcuts>button svg{width:15px;height:15px;color:var(--color-primary)}.schedule-shortcuts>button:hover:not(:disabled){border-color:var(--color-primary);background:var(--color-primary-soft)}.schedule-shortcuts>button.schedule-shortcut-wide{grid-column:1/-1}@media (width<=900px){.workbench-function-grid{grid-template-columns:1fr}}.generation-card{border:1px solid var(--color-border);background:var(--color-surface);border-radius:10px;align-content:center;gap:14px;min-height:220px;padding:24px;display:grid}.generation-card h2{font-size:20px}.generation-card>strong{font-size:16px}.generation-progress{background:#e7eaee;border-radius:6px;height:12px;overflow:hidden}.generation-progress i{border-radius:inherit;background:var(--color-primary);width:58%;height:100%;display:block}.generation-card>div:last-child{color:#50617a;gap:40px;font-size:14px;display:flex}.generation-card>div strong{color:var(--color-success);margin-left:auto}@media (width<=900px){.task-summary{flex-wrap:wrap;align-items:flex-start;padding-block:18px}.task-divider,.task-summary-spacer{display:none}.task-title,.task-facts{flex:calc(50% - 40px);width:calc(50% - 40px);min-width:0}}.review-body{gap:14px;padding:24px;display:grid}.quality-summary{border:1px solid var(--color-border);background:var(--color-surface);border-radius:10px;align-items:center;gap:12px;min-height:82px;padding:12px 16px;display:flex;position:relative}.quality-detail{z-index:3;border:1px solid var(--color-border);color:var(--color-text-secondary);background:#fff;border-radius:6px;padding:5px 9px;font-size:11px;position:absolute;bottom:-27px;right:16px}.quality-summary>span{background:var(--color-danger-soft);width:40px;height:40px;color:var(--color-danger);border-radius:999px;flex:0 0 40px;place-items:center;display:grid}.quality-summary.clear>span{background:var(--color-success-soft);color:var(--color-success)}.quality-summary>span svg{width:22px;height:22px}.quality-summary>div:nth-child(2){gap:5px;display:grid}.quality-summary>div>strong{color:var(--color-text);font-size:15px}.quality-summary>div>small{color:var(--color-text-secondary)}.quality-metrics{align-items:center;gap:8px;margin-left:auto;display:flex}.quality-metrics>span{border-radius:var(--radius-sm);background:var(--color-success-soft);gap:3px;min-width:100px;padding:8px 12px;display:grid}.quality-metrics>span:nth-child(2){background:var(--color-warning-soft)}.quality-metrics>button{border-radius:var(--radius-sm);background:var(--color-surface-subtle);color:var(--color-text-secondary);padding:8px 10px;font-size:12px;font-weight:600}.conflict-workspace,.repair-workspace{grid-template-columns:minmax(0,1fr) 348px;gap:12px;min-height:520px;display:grid}.repair-workspace{grid-template-columns:minmax(0,1fr) 360px}.timetable-preview{grid-template-rows:36px minmax(0,1fr);gap:8px;min-width:0;display:grid}.timetable-toolbar,.timetable-toolbar>div{justify-content:space-between;align-items:center;display:flex}.timetable-toolbar>div{gap:8px}.timetable-toolbar>strong{color:var(--color-text);font-size:15px}.timetable-toolbar button{border:1px solid var(--color-border);background:#fff;border-radius:6px;place-items:center;width:30px;height:30px;display:grid}.timetable-toolbar button.class-selector{border-color:var(--color-success);width:154px;color:var(--color-text);justify-content:space-between;padding:0 12px;font-size:12px;font-weight:700}.timetable-toolbar button svg{width:15px;height:15px}.timetable-toolbar>span{color:var(--color-text-secondary);font-size:12px}.timetable-grid{border:1.5px solid var(--color-border-strong);background:#fff;border-radius:10px;grid-template-rows:42px repeat(8,minmax(56px,1fr));grid-template-columns:70px 130px repeat(5,minmax(84px,1fr));display:grid;overflow:auto}.timetable-grid>strong,.timetable-group-corner,.timetable-corner,.timetable-row>span{border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);color:#475467;background:#f8fafc;place-items:center;font-size:12px;display:grid}.timetable-group-corner{grid-area:1/1}.timetable-corner{grid-area:1/2}.timetable-row{display:contents}.timetable-row>.timetable-period-group{border-right:1.5px solid var(--color-border);border-bottom:1.5px solid var(--color-border);color:#344054;background:#fcfcfb;grid-area:span 4/1;font-size:14px}.timetable-row>span{grid-column:2;gap:2px}.timetable-row>span small{color:var(--color-text-secondary);font-size:10px;font-weight:500}.timetable-row>button,.timetable-row>.lesson-cell{border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);min-width:0;color:var(--color-text);text-align:center;background:#fff;place-content:center;gap:4px;display:grid}.timetable-row>button small,.timetable-row>.lesson-cell small{color:var(--color-text-secondary);font-size:10px}.timetable-row>button.conflict{border:2px solid var(--color-danger);background:var(--color-danger-soft);color:var(--color-danger-text)}.timetable-row>.moved-placeholder{border:1px dashed var(--color-border-strong);background:var(--color-surface-subtle);color:var(--color-text-secondary)}.timetable-row>.repair-target.available{border:2px solid var(--color-success);background:var(--color-success-soft);color:#166534}.timetable-row>button.dragging{opacity:.65;border-style:dashed;transform:scale(.96)}.conflict-panel,.holding-area{border:1px solid var(--color-border);background:var(--color-surface);border-radius:10px;align-content:start;gap:10px;padding:16px;display:grid}.conflict-panel header,.holding-area header,.conflict-nav{justify-content:space-between;align-items:center;display:flex}.conflict-filters{background:#f3f5f7;border-radius:8px;grid-template-columns:1fr 1fr;gap:4px;height:30px;padding:3px;display:grid}.conflict-filters button{color:var(--color-text-secondary);border-radius:6px;font-size:12px}.conflict-filters button.active{color:var(--color-danger-text);background:#fff;font-weight:700}.conflict-panel article{border:1px solid var(--color-danger);border-radius:var(--radius-sm);background:#fff7f6;grid-template-columns:22px 1fr;gap:8px;padding:12px;display:grid}.conflict-panel article>span{color:var(--color-danger);grid-row:1/span 3}.conflict-panel article p,.conflict-panel article small{color:var(--color-text-secondary);font-size:12px}.conflict-nav{border:1px solid var(--color-border);border-radius:var(--radius-sm);height:40px;color:var(--color-text-secondary);margin-top:auto;padding:0 10px;font-size:12px}.selected-conflict-row{align-items:center;gap:12px;min-height:72px;display:flex}.selected-conflict-row>div{border:1px solid var(--color-border);background:var(--color-surface-subtle);border-radius:10px;flex:1;gap:6px;padding:14px;display:grid}.selected-conflict-row span{color:var(--color-text-secondary);font-size:12px}.holding-area{background:#f8fbfd;border-color:#8cb8d1;padding:18px}.holding-area>p{color:#50617a;font-size:12px}.holding-area>button{border:1px dashed var(--color-border-strong);height:254px;color:var(--color-text-secondary);background:#fff;border-radius:10px;place-content:center;justify-items:center;gap:10px;display:grid}.holding-area>button svg{width:28px;height:28px}.holding-area.active>button{background:var(--color-success-soft);color:var(--color-success);border:2px dashed #22c55e}.holding-area>div{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fff;justify-content:space-between;align-items:center;height:54px;padding:0 12px;display:flex}.repair-action-row>span{color:#166534;align-items:center;gap:8px;font-weight:600;display:inline-flex}.repair-action-row svg{width:18px;height:18px}.change-warning,.failed-row{border:1px solid var(--color-warning);background:var(--color-warning-soft);border-radius:10px;align-items:center;gap:12px;padding:16px;display:flex}.change-warning>svg{width:24px;height:24px;color:var(--color-warning)}.change-warning p{color:var(--color-text-secondary);margin-top:4px;font-size:12px}@media (width<=1000px){.conflict-workspace,.repair-workspace{grid-template-columns:1fr}.conflict-panel,.holding-area{min-height:360px}.quality-summary{flex-wrap:wrap;align-items:flex-start}.quality-metrics{width:100%;margin-left:52px}}.excel-import-page{background:var(--color-bg);gap:12px;min-height:calc(100dvh - 136px);padding:28px 40px 40px;display:grid}.import-title-row,.import-title-row>button,.import-actions{justify-content:space-between;align-items:flex-end;display:flex}.import-title-row>div{gap:6px;display:grid}.import-title-row h1{color:var(--color-text);font-size:28px;font-weight:700}.import-title-row p{color:var(--color-text-secondary);font-size:14px}.import-title-row>button{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);color:#344054;background:#fff;align-items:center;gap:6px;height:36px;padding:0 12px;font-size:13px;font-weight:600}.import-title-row>button svg{width:15px;height:15px}.import-steps{align-items:center;gap:8px;min-height:52px;display:flex;overflow-x:auto}.entity-panel-heading{justify-content:space-between;align-items:center;gap:20px;min-height:52px;display:flex}.entity-panel-heading .import-steps{justify-content:flex-end;min-height:40px}.import-steps>div{color:var(--color-text-secondary);flex:none;align-items:center;gap:7px;padding:0 6px;font-size:13px;font-weight:600;display:inline-flex}.import-steps>div.active{border:1px solid var(--color-brand);border-radius:var(--radius-sm);background:var(--color-brand-soft);height:36px;color:var(--color-warning-text);padding:0 14px;font-weight:700}.import-steps>div.complete{color:var(--color-success);font-weight:700}.import-steps svg{color:#98a2b3;width:16px;height:16px;margin-left:2px}.entity-panel,.mapping-card,.upload-card,.issue-list{border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;padding:20px}.entity-panel{gap:14px;display:grid}.entity-panel h2,.mapping-card h2{color:var(--color-text);font-size:16px;font-weight:700}.entity-panel>div{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.entity-card{border:1px solid var(--color-border);min-width:0;min-height:164px;color:var(--color-text);background:#fff;border-radius:10px;align-content:space-between;gap:14px;padding:16px;display:grid}.entity-card-summary{justify-items:start;gap:8px;display:grid}.entity-card-summary svg{width:22px;height:22px;color:var(--color-text-secondary)}.entity-card-summary span{color:var(--color-text-secondary);font-size:12px}.entity-card-actions{align-items:center;gap:8px;display:flex}.entity-card-actions button{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);min-width:0;min-height:44px;color:var(--color-text);white-space:nowrap;background:#fff;justify-content:center;align-items:center;gap:5px;padding:0 10px;font-size:12px;font-weight:600;display:inline-flex}.entity-card-actions button:last-child{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.entity-card-actions button:hover:not(:disabled){background:var(--color-surface-subtle)}.entity-card-actions button:last-child:hover:not(:disabled){background:var(--color-primary-hover)}.entity-card-actions button:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.entity-card-actions svg{flex:none;width:15px;height:15px}.import-actions{justify-content:flex-end;align-items:center;gap:10px}.mapping-layout{grid-template-columns:320px minmax(0,1fr);gap:16px;display:grid}.upload-card{text-align:center;align-content:center;justify-items:center;gap:7px;padding:16px;display:grid}.upload-card>span{background:var(--color-primary-soft);width:42px;height:42px;color:var(--color-primary);border-radius:999px;place-items:center;display:grid}.template-guide{text-align:left;gap:10px;width:100%;display:grid}.template-thumbnail{border:1px solid var(--color-border);background:#fff;border-radius:6px;font-size:8px;line-height:1.25;overflow:hidden}.template-thumbnail>div{grid-template-columns:1.1fr repeat(3,1fr);min-width:280px;display:grid}.template-thumbnail b,.template-thumbnail span{border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);text-overflow:ellipsis;white-space:nowrap;text-align:center;min-width:0;padding:5px 4px;overflow:hidden}.template-thumbnail b{color:#344054;background:#f2f4f7;font-weight:700}.template-thumbnail span:first-child{color:#344054;font-weight:700}.template-thumbnail>div:last-child span{border-bottom:0}.template-thumbnail b:last-child,.template-thumbnail span:last-child{border-right:0}.template-guide-copy{gap:3px;display:grid}.template-guide-copy strong{color:var(--color-text);font-size:12px}.template-guide-copy p{color:var(--color-text-secondary);margin:0;font-size:11px;line-height:1.55}.upload-card svg{width:21px;height:21px}.upload-card p,.upload-card small{color:var(--color-text-secondary);font-size:12px}.upload-card button{color:var(--color-primary);font-weight:700}.mapping-card{align-content:start;gap:8px;padding:16px;display:grid}.mapping-card>header{justify-content:space-between;align-items:center;display:flex}.mapping-card>header strong{color:var(--color-success);align-items:center;gap:6px;font-size:13px;display:inline-flex}.mapping-card header svg,.mapping-warning svg{width:16px;height:16px}.mapping-table{display:grid}.mapping-table>div{border-bottom:1px solid var(--color-border);color:#344054;grid-template-columns:minmax(0,1fr) minmax(0,1fr) 72px;align-items:center;gap:8px;min-height:38px;padding:0 12px;font-size:13px;display:grid}.mapping-table>div:first-child{color:#475467;background:#f8fafc;min-height:32px;font-size:12px}.mapping-table>div.warning{color:#9a6700;font-weight:600}.import-review-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;display:grid}.import-review-summary article{border:1px solid var(--color-border);background:var(--color-surface);border-radius:10px;align-content:center;gap:4px;min-height:82px;padding:14px 16px;display:grid}.import-review-summary strong{color:var(--color-text);font-size:24px}.import-review-summary span{color:var(--color-text-secondary);font-size:12px;font-weight:600}.import-review-summary article.success{background:var(--color-success-soft);border-color:#a9d4b8}.import-review-summary article.danger{background:var(--color-danger-soft);border-color:#f0b4b4}.mapping-card>header strong.warning{color:var(--color-warning-text)}.import-inline-error{border-radius:var(--radius-sm);background:var(--color-danger-soft);min-height:40px;color:var(--color-danger-text);border:1px solid #f0b4b4;align-items:center;gap:8px;padding:8px 12px;font-size:13px;font-weight:600;display:flex}.import-inline-error svg{width:16px;height:16px}.import-empty-state{color:var(--color-text-secondary);text-align:center;padding:56px 20px}.upload-card button:disabled{cursor:not-allowed;opacity:.55}.upload-card h2{max-width:268px;color:var(--color-text-secondary);font-size:14px;font-weight:500;line-height:1.55}.import-class-name-choices{border-radius:var(--radius-md);background:#fffdf5;border:1px solid #f5c451;gap:10px;padding:12px 14px;display:grid}.import-class-name-choices-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.import-class-name-choices-head>div:first-child{gap:2px;min-width:0;display:grid}.import-class-name-choices-head strong{font-size:14px}.import-class-name-choices-head span{color:var(--color-text-secondary);font-size:12px;line-height:1.5}.import-class-name-bulk-actions{flex-shrink:0;gap:6px;display:flex}.import-class-name-bulk-actions button{border:1px solid var(--color-border);height:30px;color:var(--color-text-primary);white-space:nowrap;background:#fff;border-radius:6px;padding:0 10px;font-size:12px;font-weight:600}.import-class-name-bulk-actions button[aria-pressed=true]{border-color:var(--color-primary);color:var(--color-primary);background:#2563eb14}.import-class-name-table{border:1px solid var(--color-border);background:var(--color-border);border-radius:8px;gap:1px;display:grid;overflow:hidden}.import-class-name-row{background:#fff;grid-template-columns:minmax(72px,.9fr) minmax(0,1.2fr) minmax(0,1fr);align-items:center;gap:8px;min-height:32px;padding:4px 10px;font-size:12px;display:grid}.import-class-name-row-head{min-height:28px;color:var(--color-text-secondary);background:#f8f9fb;font-size:11px;font-weight:700}.import-class-name-excel{text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.import-class-name-options{gap:2px;min-width:0;display:grid}.import-class-name-row label{align-items:center;gap:6px;min-width:0;margin:0;display:flex}.import-class-name-row label span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.import-class-name-row input{flex-shrink:0;width:14px;height:14px;margin:0}.import-real-issues>div.warning{color:var(--color-warning-text)}.upload-card h2 a{color:var(--color-primary);text-underline-offset:3px;text-decoration:underline}.upload-card h2 strong{color:inherit;font-weight:800}.upload-card h2 a:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.upload-card button:not(:disabled){background:var(--color-primary);color:#fff;border-radius:8px;min-width:148px;height:42px;padding:0 18px;font-weight:700}.teaching-time-import-plan{border:1px solid var(--color-brand);border-radius:var(--radius-md);background:var(--color-brand-soft);grid-template-columns:minmax(0,1fr) minmax(280px,420px);align-items:start;gap:24px;padding:20px;display:grid}.teaching-time-import-plan h2{color:var(--color-text);font-size:16px}.teaching-time-import-plan p{color:var(--color-text-secondary);margin-top:6px;font-size:13px;line-height:1.6}.teaching-time-import-plan label{color:var(--color-text);gap:7px;font-size:13px;font-weight:700;display:grid}.teaching-time-import-plan input{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface);height:40px;color:var(--color-text);font:inherit;padding:0 12px;font-weight:500}.teaching-time-import-plan input:focus{border-color:var(--color-brand);outline:2px solid var(--color-brand)}@supports (color:color-mix(in lab, red, red)){.teaching-time-import-plan input:focus{outline:2px solid color-mix(in srgb, var(--color-brand) 22%, transparent)}}.teaching-time-import-plan input[aria-invalid=true]{border-color:var(--color-danger)}.teaching-time-import-plan small{color:var(--color-text-secondary);font-size:12px;font-weight:500}.teaching-time-import-plan small.error{color:var(--color-danger-text)}.import-data-preview{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);gap:12px;padding:20px;display:grid}.import-data-preview header h2,.import-failure-list h2{color:var(--color-text);font-size:16px}.import-data-preview header p{color:var(--color-text-secondary);margin-top:4px;font-size:12px}.import-data-preview>div{overflow-x:auto}.import-data-preview table{border-collapse:collapse;width:100%;min-width:680px;font-size:13px}.import-data-preview th,.import-data-preview td{border-bottom:1px solid var(--color-border);text-align:left;white-space:nowrap;padding:10px 12px}.import-data-preview th{background:var(--color-surface-subtle);color:var(--color-text-secondary);font-size:12px}.import-data-preview td:first-child{color:var(--color-text-secondary);font-variant-numeric:tabular-nums}.empty-cell{color:var(--color-danger-text);font-size:12px}.import-real-issues>div{grid-template-columns:20px 190px minmax(0,1fr)}.import-real-issues>div.success{color:var(--color-success)}.import-real-issues>p{color:var(--color-warning-text);padding:12px 16px;font-size:13px}@media (width<=800px){.excel-import-page{padding:24px}.import-review-summary{grid-template-columns:repeat(2,1fr)}.import-real-issues>div{min-width:620px}.teaching-time-import-plan{grid-template-columns:1fr}}.mapping-warning,.preview-blocker,.import-suggestion{border-radius:var(--radius-sm);color:#9a6700;background:#fff9e8;align-items:center;gap:8px;padding:12px;font-size:12px;font-weight:600;display:flex}.preview-stats{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.preview-stats article{border:1px solid;border-radius:10px;align-content:center;gap:5px;height:86px;padding:16px;display:grid}.preview-stats strong{font-size:24px}.preview-stats span{color:#475467;font-size:12px;font-weight:600}.preview-stats .success{color:var(--color-success);background:#f0f9f4;border-color:#a9d4b8}.preview-stats .warning{color:var(--color-warning);background:#fff9e8;border-color:#f5c26b}.preview-stats .danger{color:var(--color-danger);background:#fff1f0;border-color:#f0b4b4}.import-inline-notice{border-radius:var(--radius-sm);background:var(--color-success-soft);min-height:40px;color:var(--color-success);border:1px solid #a9d4b8;align-items:center;gap:8px;padding:8px 12px;font-size:13px;font-weight:600;display:flex}.import-inline-notice svg{width:16px;height:16px}.issue-list{padding:0;display:grid;overflow:hidden}.issue-list>header,.issue-list>div{border-bottom:1px solid var(--color-border);grid-template-columns:20px 190px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:60px;padding:0 16px;display:grid}.issue-list>header{background:#f8fafc;grid-template-columns:1fr auto;min-height:46px}.issue-list>div svg{width:18px;height:18px}.issue-list>div span,.issue-list>div button{font-size:13px}.issue-list>div button{color:var(--color-primary);font-weight:700}.issue-list>div.danger{color:var(--color-danger)}.issue-list>div.warning{color:#9a6700}.preview-blocker{color:var(--color-danger-text);background:#fff1f0}.preview-blocker.success,.import-suggestion{background:var(--color-success-soft);color:var(--color-success)}@media (width<=800px){.entity-panel>div,.preview-stats,.mapping-layout{grid-template-columns:1fr}.mapping-table,.issue-list{overflow-x:auto}.mapping-table>div,.issue-list>div{min-width:680px}}.import-result.has-failures>span{background:var(--color-danger-soft);color:var(--color-danger)}.import-failure-list{border-radius:var(--radius-md);background:var(--color-danger-soft);border:1px solid #f0b4b4;gap:10px;padding:20px;display:grid}.import-failure-list p{color:var(--color-danger-text);align-items:center;gap:8px;font-size:13px;display:flex}.import-failure-list svg{flex:none;width:16px;height:16px}.publish-stage{flex-direction:column;gap:20px;min-height:calc(100dvh - 208px);padding:32px;display:flex}.publish-stage>header{gap:6px;display:grid}.publish-stage>header h1{font-size:28px;line-height:1.3}.publish-stage>header p{color:var(--color-text-secondary);font-size:14px}.publish-metrics{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.publish-metrics article{border:1px solid var(--color-border);background:#fff;border-radius:12px;align-content:center;gap:5px;height:104px;padding:20px;display:grid}.publish-metrics strong{color:var(--color-primary);font-size:26px}.publish-metrics article:nth-child(2) strong{color:#7a4a00}.publish-metrics article:nth-child(3) strong{color:var(--color-danger)}.publish-metrics.success article:nth-child(-n+2) strong{color:var(--color-success)}.publish-metrics.success article:nth-child(3) strong{color:var(--color-primary)}.publish-metrics span{color:var(--color-text-secondary);font-size:13px;font-weight:600}.publish-columns{grid-template-columns:minmax(0,1fr) 340px;gap:20px;min-height:390px;display:grid}.publish-settings-card,.publish-followup{border:1px solid var(--color-border);background:#fff;border-radius:16px;flex-direction:column;gap:16px;padding:24px;display:flex}.publish-settings-card h2,.publish-followup h2{font-size:20px}.publish-settings-card>.publish-main-action{width:240px;margin-top:auto}.publish-settings-card>.publish-main-action.published{width:180px}.publish-setting-rows{display:grid}.publish-setting-rows button{border-bottom:1px solid var(--color-border);text-align:left;background:0 0;justify-content:space-between;align-items:center;height:58px;display:flex}.publish-setting-rows button>span{color:var(--color-text-secondary);font-size:14px}.publish-setting-rows button>strong{color:var(--color-text);align-items:center;gap:8px;font-size:14px;display:flex}.publish-setting-rows button i{color:var(--color-primary);font-size:13px;font-style:normal}.publish-setting-rows button b{color:var(--color-primary);font-size:20px}.publish-setting-rows button:disabled{opacity:1}.publish-followup button{background:var(--color-surface-subtle);height:78px;color:var(--color-primary);text-align:left;border:0;border-radius:12px;align-items:center;gap:12px;padding:12px;display:flex}.publish-followup button>svg{width:20px;height:20px}.publish-followup button>span{color:var(--color-text);flex:1;gap:3px;display:grid}.publish-followup button small{color:var(--color-text-secondary);font-size:12px;font-weight:400}.publish-followup button>b{font-size:20px}.publish-followup.disabled{opacity:.58}.publish-followup.disabled button{cursor:not-allowed;background:#fafaf8}@media (width<=900px){.publish-stage{padding:20px}.publish-columns{grid-template-columns:1fr}.publish-followup{display:none}.publish-metrics{grid-template-columns:1fr}.publish-settings-card>.publish-main-action,.publish-settings-card>.publish-main-action.published{width:100%}}.publish-icon{background:var(--color-brand-soft);width:56px;height:56px;color:var(--color-warning);border-radius:999px;place-items:center;display:grid}.publish-icon.success{background:var(--color-success-soft);color:var(--color-success)}.publish-icon svg{width:28px;height:28px}.publish-stage h2{color:var(--color-text);font-size:24px;font-weight:700}.publish-stage>article>p{color:var(--color-text-secondary);font-size:14px}.publish-stage dl{border:1px solid var(--color-border);border-radius:10px;width:100%;display:grid}.publish-stage dl>div{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:20px;min-height:48px;padding:0 14px;display:flex}.publish-stage dl>div:last-child{border-bottom:0}.publish-stage dt{color:var(--color-text-secondary)}.publish-stage dd{color:var(--color-text);font-weight:600}.success-text{color:var(--color-success)!important}.publish-stage label{width:100%;color:var(--color-text-secondary);text-align:left;align-items:center;gap:8px;display:flex}.publish-stage label input{width:16px;height:16px;accent-color:var(--color-success)}.publish-stage article>div:last-child{justify-content:flex-end;gap:10px;width:100%;display:flex}.import-result{border:1px solid var(--color-border);border-radius:var(--radius-md);text-align:center;background:#fff;justify-items:center;gap:12px;padding:28px;display:grid}.import-result>span{background:var(--color-brand-soft);width:56px;height:56px;color:var(--color-warning);border-radius:999px;place-items:center;display:grid}.import-result>span svg{width:28px;height:28px}.import-result h2{font-size:22px}.import-result>p{color:var(--color-text-secondary);font-size:13px}.import-result>div{gap:12px;display:flex}.import-result-breakdown{flex-wrap:wrap;gap:10px;display:flex}.import-result-breakdown article{background:var(--color-success-soft);border-radius:9px;place-content:center;gap:4px;min-width:108px;height:64px;padding:0 12px;display:grid}.import-result-breakdown article strong{font-size:24px;line-height:1}.import-result-breakdown article span{color:var(--color-text-secondary);font-size:12px}.import-result article{background:var(--color-success-soft);border-radius:9px;place-content:center;gap:4px;width:180px;height:70px;display:grid}.import-result article:last-child{background:var(--color-danger-soft)}.import-result article strong{color:var(--color-success);font-size:22px}.import-result article:last-child strong{color:var(--color-danger)}.import-result article span{color:#475467;font-size:12px;font-weight:600}.failed-row{background:#fff8f7;border-color:#f0b4b4}.failed-row>svg{width:20px;height:20px;color:var(--color-danger)}.failed-row>div{flex:1;gap:3px;display:grid}.failed-row>div span{color:var(--color-danger-text);font-size:12px}.failed-row button{color:var(--color-primary);font-size:13px;font-weight:700}.basic-data-v2{width:100%;min-width:0;max-width:100%;height:100%;padding:32px;display:block;overflow:hidden}.basic-data-v2:has(.class-generator){overflow-x:visible}.basic-overview{gap:20px;display:grid}.basic-overview>header,.basic-page-heading{gap:6px;display:grid}.basic-overview h1,.basic-page-heading h1{color:var(--color-text);font-size:28px;font-weight:700}.basic-overview>header p,.basic-page-heading p{color:var(--color-text-secondary);font-size:14px}.basic-status-grid{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.basic-status-grid>button{border:1px solid var(--color-border);border-radius:var(--radius-md);text-align:left;background:#fff;grid-template-columns:auto 1fr;align-content:start;gap:5px 8px;min-height:150px;padding:18px;display:grid}.basic-status-grid>button:hover:not(:disabled){border-color:var(--color-brand)}.basic-status-grid header{grid-column:1/-1;justify-content:space-between;align-items:center;display:flex}.basic-status-grid header>span,.basic-next-step>span{color:var(--color-text);align-items:center;gap:7px;font-size:13px;font-weight:700;display:inline-flex}.basic-status-grid header svg{width:16px;height:16px}.basic-status-grid em{border-radius:999px;align-items:center;gap:4px;padding:3px 8px;font-size:10px;font-style:normal;font-weight:700;display:inline-flex}.basic-status-grid em svg{width:11px;height:11px}.basic-status-grid em.complete{background:var(--color-success-soft);color:var(--color-success)}.basic-status-grid em.pending{background:var(--color-warning-soft);color:var(--color-warning-text)}.basic-status-value{flex-direction:column;grid-column:1/-1;align-items:flex-start;gap:2px;display:flex}.basic-status-value strong{color:var(--color-text);font-size:32px;line-height:1.1}.basic-status-value small{color:var(--color-text-secondary);font-size:12px}.basic-status-grid footer{border-top:1px solid var(--color-border);color:var(--color-primary);grid-column:1/-1;justify-content:space-between;align-items:center;margin-top:6px;padding-top:10px;font-size:11px;font-weight:700;display:flex}.basic-status-grid footer svg{width:14px;height:14px}.basic-next-step{border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;align-items:center;gap:14px;min-height:66px;padding:14px 18px;display:flex}.basic-next-step p{color:var(--color-text-secondary);flex:1;font-size:12px}.basic-next-step button{color:var(--color-primary);align-items:center;gap:6px;font-weight:700;display:inline-flex}.basic-next-step button svg,.basic-next-step>span svg{width:16px;height:16px}@media (width<=900px){.basic-data-v2{grid-template-rows:58px auto;height:auto;min-height:100%;padding:16px;overflow:visible}.basic-status-grid{grid-template-columns:repeat(2,1fr)}.basic-next-step{flex-direction:column;align-items:flex-start}}@media (width<=560px){.basic-status-grid{grid-template-columns:1fr}}.class-preview.unsaved{border:2px solid #f59e0b}.class-generator{grid-template-rows:auto auto minmax(0,1fr) auto;gap:12px;height:100%;display:grid}.class-page-heading h1{font-size:28px;font-weight:700;line-height:36px}.class-page-heading p{color:#667085;text-align:right;font-size:14px}.class-rule-card{border:1px solid var(--color-table-border);background:#fff;border-radius:16px;gap:7px;height:164px;padding:14px;display:grid}.class-rule-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.class-rule-fields label{gap:6px;display:grid}.class-rule-fields label>span{color:#667085;font-size:12px;font-weight:600}.class-rule-fields select{border:1px solid var(--color-border-strong);color:#111827;background:#fff;border-radius:8px;height:40px;padding:0 12px;font-size:14px;font-weight:600}.class-rule-card footer{justify-content:space-between;align-items:center;gap:12px;height:44px;margin-top:auto;display:flex}.class-rule-card footer>span{color:#667085;font-size:11px}.class-generate-button{color:#166534;background:#dcfce7;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:184px;height:44px;font-size:13px;font-weight:700;display:inline-flex}.class-generate-button:disabled{cursor:not-allowed;opacity:.55}.class-generate-button svg{width:16px;height:16px}.class-preview{border:1px solid var(--color-table-border);background:#fff;border-radius:14px;align-content:start;gap:8px;min-height:0;padding:16px;display:grid;overflow:visible}.class-preview>header,.class-preview>header>div,.class-expand-actions,.class-save-row,.class-save-row>div{align-items:center;display:flex}.class-preview>header,.class-save-row{justify-content:space-between}.class-preview h2{font-size:18px;font-weight:700}.class-preview>header>div{gap:8px}.class-preview>header span.grade-count,.class-preview>header span.class-count{color:#1d4ed8;background:#eff6ff;border:1px solid #93c5fd;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:700}.class-preview>header span.class-count{color:#374151;background:#f3f4f6;border-color:#d1d5db}.class-expand-actions button{color:#1d4ed8;font-size:12px;font-weight:600}.preview-empty-badge{color:#667085;background:#f3f4f6;border-radius:999px;padding:4px 9px;font-size:11px}.class-preview-empty{color:#18212f;background:#fafafa;place-content:center;justify-items:center;gap:8px;min-height:180px;display:grid}.class-preview-empty svg{color:#98a2b3;width:28px;height:28px}.class-preview-empty p{color:#667085;font-size:12px}.class-skeleton{width:130px;height:12px;display:block}.grade-list{gap:6px;display:grid}.grade-group{background:#f8fafc;border:1px solid #e4e7ec;border-radius:8px;padding:6px 8px 6px 18px;position:relative}.grade-group.expanded{padding:8px 38px 8px 18px}.grade-group-layout{grid-template-columns:minmax(72px,92px) minmax(0,1fr);align-items:start;gap:8px;display:grid}.grade-group-layout:not(.expanded){grid-template-columns:minmax(72px,92px)}.grade-side{align-content:start;display:grid}.grade-toggle{text-align:left;grid-template-columns:auto minmax(0,1fr);align-items:start;gap:4px;width:100%;padding:2px 0;display:grid}.grade-toggle>svg{color:#92400e;flex:none;width:14px;height:14px;margin-top:2px}.grade-meta{gap:2px;min-width:0;display:grid}.grade-meta strong{color:#18212f;font-size:14px;font-weight:800;line-height:1.25}.grade-meta small{color:#667085;font-size:11px;font-weight:600;line-height:1.25}.class-card-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:5px 8px;display:grid}.class-row{border:1px solid var(--color-border);background:#fff;border-radius:8px;grid-template-columns:minmax(0,1fr) auto 28px 28px;align-items:center;gap:6px;height:40px;padding:0 7px;display:grid}.class-row>strong{color:#18212f;text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.class-row>span{color:#98a2b3;font-size:11px}.class-edit,.class-delete{border-radius:999px;place-items:center;width:24px;height:24px;display:grid}.class-edit{color:#166534;background:#dcfce7}.class-delete{color:#dc2626;background:#fee2e2}.class-edit svg,.class-delete svg{width:13px;height:13px}.class-inline-status{color:#1d4ed8;justify-content:space-between;align-items:center;padding-top:5px;font-size:12px;font-weight:600;display:flex}.class-inline-status.saved{color:#15803d}.class-inline-status.error{color:var(--color-danger)}.class-inline-status small{font-weight:500}.class-save-row{height:44px}.class-save-row>div{gap:8px}.class-save-row span{border-radius:999px;align-items:center;gap:5px;height:26px;padding:0 10px;font-size:12px;font-weight:700;display:inline-flex}.class-save-row span svg{width:13px;height:13px}.changed-status{color:#8a4b00;background:#ffe8b3}.unsaved-status{color:#8a4b00;background:#eaf3ff}.saved-status{color:#166534;background:#dcfce7}.class-save-row .schedule-save-primary,.class-save-row>button{width:184px;height:44px}.class-save-row>button{background:#41b25d}.class-save-row>button:disabled{color:#1d4ed8;background:#eff6ff}.class-save-row>button:disabled:hover{background:#eff6ff}.class-save-row>button:last-child:has(svg){border-color:#0000}.class-edit-modal{gap:16px;display:grid}.class-edit-modal>section:first-child{gap:12px;display:grid}.class-edit-modal h3{font-size:15px}.class-edit-modal .class-basic-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.class-preset-collapsible{border:1px solid var(--color-table-border);background:#f8fafc;border-radius:10px;gap:14px;padding:14px;display:grid}.class-preset-collapsible>header,.class-schedule-editor>header{justify-content:space-between;align-items:center;gap:16px;display:flex}.class-preset-collapsible>header>div,.class-schedule-editor>header>div{gap:3px;display:grid}.class-preset-collapsible small,.class-schedule-editor small{color:var(--color-text-secondary);font-size:11px}.class-preset-collapsible>header>button{color:var(--color-primary);align-items:center;gap:6px;font-size:12px;font-weight:700;display:flex}.class-preset-collapsible>header>button svg{width:14px;height:14px}.class-schedule-editor{gap:12px;display:grid}.class-schedule-editor>header>span{color:var(--color-success);font-size:12px;font-weight:700}.class-schedule-grid{border:1px solid var(--color-table-border);background:#fff;border-radius:8px;overflow:auto}.class-schedule-head,.class-schedule-row{grid-template-columns:100px repeat(5,minmax(120px,1fr));min-width:780px;display:grid}.class-schedule-head strong{border-right:1px solid var(--color-border);color:#667085;place-items:center;font-size:11px;display:grid}.class-schedule-row>span{border-right:1px solid var(--color-border);place-content:center;justify-items:center;display:grid}.class-schedule-row>span strong{font-size:11px}.class-schedule-row label{border-right:1px solid var(--color-border);color:#98a2b3;align-items:center;gap:5px;padding:5px;display:flex}.class-schedule-row label.filled{color:var(--color-success)}.class-schedule-row label svg{flex:0 0 12px;width:12px;height:12px}.class-schedule-row select{width:100%;min-width:0;height:32px;color:inherit;background:0 0;border:0;font-size:11px}.class-schedule-empty{border:1px dashed var(--color-table-border);background:#fff;border-radius:8px;align-items:center;gap:10px;padding:16px;display:flex}.class-schedule-empty>svg{width:20px;color:var(--color-warning)}.class-schedule-empty>div{display:grid}.class-schedule-empty span{color:var(--color-text-secondary);font-size:11px}@media (width<=1200px){.class-card-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=960px){.class-card-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=800px){.class-generator{height:auto}.class-page-heading{flex-direction:column;align-items:flex-start;height:auto}.class-page-heading p{text-align:left}.class-rule-card{height:auto}.class-rule-fields{grid-template-columns:1fr}.class-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.grade-group-layout.expanded{grid-template-columns:minmax(64px,80px) minmax(0,1fr)}.grade-group-layout:not(.expanded){grid-template-columns:minmax(64px,80px)}.class-save-row{flex-direction:column;align-items:flex-start;height:auto}.class-save-row>button{width:100%}}@media (width<=520px){.class-card-grid{grid-template-columns:1fr}.grade-group-layout.expanded{grid-template-columns:1fr;grid-template-areas:"grade""classes"}.grade-group-layout.expanded .grade-side{grid-area:grade}.grade-group-layout.expanded .class-card-grid{grid-area:classes}.grade-group-layout:not(.expanded){grid-template-columns:1fr}}.class-row{z-index:1;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:4px;height:40px;padding:0 2px 0 8px;display:grid;position:relative;overflow:visible;container-type:inline-size}:is(.class-row:has(.class-row-preset-badge:hover),.class-row:has(.class-row-preset-badge:focus-visible),.class-row:has(.class-row-actions .ui-action-tip:hover),.class-row:has(.class-row-actions .ui-action-tip:focus-visible)){z-index:30}.class-row-title{grid-column:1;align-items:center;gap:4px;min-width:0;display:flex;overflow:hidden}.class-row-name-input{color:#18212f;background:0 0;border:1px solid #0000;border-radius:6px;flex:auto;min-width:0;height:28px;padding:0 6px;font-size:13px;font-weight:600}.class-row-name-input:hover{background:#fff;border-color:#e4e7ec}.class-row-name-input:focus{border-color:var(--color-primary);background:#fff;outline:none}.class-row-preset-inline{color:#98a2b3;white-space:nowrap;flex:none;font-size:11px}.class-row-preset-badge{color:#166534;z-index:1;width:22px;height:22px;box-shadow:none;background:#fff;flex-shrink:0;grid-column:2;place-items:center;font-size:10px;font-weight:700;line-height:1;display:none;position:relative;overflow:visible;border:1px solid #86efac!important;border-radius:999px!important}.class-row-preset-badge:hover,.class-row-preset-badge:focus-visible{z-index:40;background:#fff;box-shadow:0 0 0 2px #41b25d1f;border-color:#41b25d!important}.class-row-actions{z-index:6;flex:none;grid-column:-1;align-items:center;gap:2px;display:flex;position:relative;overflow:visible}:is(.class-row-actions:has(.ui-action-tip:hover),.class-row-actions:has(.ui-action-tip:focus-visible)){z-index:50}.class-edit,.class-delete{background:0 0;flex-shrink:0;place-items:center;width:26px;height:26px;display:grid;position:relative}.class-edit:before,.class-delete:before{content:"";border-radius:999px;width:22px;height:22px;position:absolute}.class-edit:before{background:#dcfce7}.class-delete:before{background:#fee2e2}.class-edit svg,.class-delete svg{z-index:1;width:12px;height:12px;position:relative}.grade-add,.grade-remove{z-index:6;background:0 0;border:0;place-items:center;width:26px;height:26px;display:grid;position:absolute;top:50%;border-radius:999px!important}.grade-add:before,.grade-remove:before{content:"";border-radius:999px;width:22px;height:22px;position:absolute}.grade-add:before{background:#dcfce7}.grade-remove:before{background:#fee2e2}.grade-add{color:#166534;right:8px;transform:translateY(-50%)}.grade-remove{color:#dc2626;left:0;transform:translate(-50%,-50%)}.grade-add svg,.grade-remove svg{z-index:1;width:12px;height:12px;position:relative}@container (width<=220px){.class-row-preset-inline{display:none}.class-row-preset-badge{display:grid}}.class-rule-fields input{border:1px solid var(--color-border-strong);color:#111827;background:#fff;border-radius:8px;height:40px;padding:0 12px;font-size:14px;font-weight:600}.class-schedule-row label.filled{color:var(--color-success);background:#ecfdf3;box-shadow:inset 0 0 0 1px #a7e5bd}.class-schedule-row .schedule-fixed-cell{border-right:1px solid var(--color-border);color:#667085;background:#f5f6f7;align-items:center;gap:6px;padding:5px 8px;display:flex}.class-schedule-row .schedule-fixed-cell>svg{flex:0 0 12px;width:12px;height:12px}.class-schedule-row .schedule-fixed-cell>span{gap:2px;min-width:0;display:grid}.class-schedule-row .schedule-fixed-cell strong,.class-schedule-row .schedule-fixed-cell small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.class-schedule-row .schedule-fixed-cell strong{font-size:11px}.class-schedule-row .schedule-fixed-cell small{font-size:9px}.class-inline-status.error{align-items:flex-start;gap:10px}.class-reference-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.class-reference-actions button{color:#b42318;background:#fff;border:1px solid #f5b4b4;border-radius:6px;height:28px;padding:0 10px;font-size:12px;font-weight:700}.class-reference-actions small{color:#b42318;font-size:12px;font-weight:600}.class-rule-fields label:first-child select{border-color:#9ca3af}.class-page-heading{justify-content:stretch;align-items:start;gap:6px;height:auto;display:grid}.class-page-heading p{text-align:left}.class-schedule-row .schedule-fixed-cell:not(.teaching-no-class){background:#fff}.class-schedule-row .schedule-fixed-cell.teaching-no-class{color:#667085;background:#f2f4f7}.data-modal.large:has(.class-edit-modal){align-self:center;height:auto}.class-edit-modal{align-content:start}.class-preset-collapsible{background:0 0;border:0;border-radius:0;padding:0}.class-schedule-grid{border-color:#e4e7ec;border-radius:0;overflow:auto hidden}.class-schedule-head,.class-schedule-row{grid-template-columns:72px repeat(5,minmax(96px,1fr));min-width:640px}.class-schedule-head{background:#f9fafb;height:auto}.class-schedule-head strong{border-color:#e4e7ec;border-bottom-style:solid;border-bottom-width:1px;min-height:28px}.class-schedule-row{border-top:0;min-height:30px}.class-schedule-row>span{color:#667085;background:#fcfcfb;border-color:#e4e7ec;border-bottom-style:solid;border-bottom-width:1px;line-height:1.1}.class-schedule-row label{background:#fff;border-color:#e4e7ec;border-bottom-style:solid;border-bottom-width:1px;min-width:0;padding:1px 6px}.class-schedule-row label.filled{background:#ecfdf3;box-shadow:inset 0 0 0 1px #a7e5bd}.class-schedule-row select{height:26px}.class-schedule-row .schedule-fixed-cell{border-color:#e4e7ec;border-bottom-style:solid;border-bottom-width:1px;min-width:0;padding:2px 6px}.class-expand-actions{gap:8px}.class-expand-actions button{border:1px solid var(--color-border-strong);height:36px;color:var(--color-primary);background:#fff;border-radius:7px;align-items:center;gap:6px;padding:0 10px;font-size:13px;font-weight:600;display:inline-flex}.class-expand-actions button:last-child{color:var(--color-primary)}.class-expand-actions button svg{width:15px;height:15px}.class-schedule-row select:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px;border-radius:4px}.class-schedule-row select[data-pointer-focus=true]:focus{outline:0}.unsaved-status{background:#ffe8b3}.class-save-row{z-index:40;border:1px solid var(--color-border);background:#fff;border-radius:10px;justify-content:space-between;align-items:center;height:56px;padding:6px 10px;display:flex;position:sticky;bottom:12px;box-shadow:0 8px 24px #1018281f}.class-save-row>div{align-items:center;gap:8px;display:flex}.class-save-row .ui-button{width:184px;height:44px}@media (width<=800px){.class-save-row{align-items:flex-start;gap:10px;height:auto;min-height:56px}.class-save-row .ui-button{width:100%}}@media (width<=640px){.class-edit-modal .class-basic-form{grid-template-columns:1fr}}.class-preview{overflow:visible}.class-preview>.grade-list-scroll{min-height:0;max-height:100%;padding-left:18px;padding-right:2px;overflow-y:auto}.grade-list{gap:6px;display:grid;overflow:visible}.grade-group,.class-card-grid{z-index:0;position:relative;overflow:visible}:is(.grade-group:has(.class-row-preset-badge:hover),.grade-group:has(.class-row-preset-badge:focus-visible),.grade-group:has(.class-row-actions .ui-action-tip:hover),.grade-group:has(.class-row-actions .ui-action-tip:focus-visible)){z-index:2}.class-card-grid .ui-action-tip-label,.class-card-grid .ui-info-tip>.ui-action-tip-label{z-index:100}.grade-group>.grade-remove,.grade-group>.grade-add{position:absolute}.class-amount-control{align-items:center;gap:8px;display:flex}.class-amount-control input{flex:auto;min-width:0}.class-amount-control .class-generate-button{flex:0 0 184px}.class-rule-card footer{justify-content:flex-start}@media (width<=520px){.class-amount-control{flex-wrap:wrap;align-items:stretch}.class-amount-control input{flex-basis:100%}.class-amount-control .class-generate-button{flex-basis:100%;width:100%}}.entity-data-page{gap:18px;display:grid}.entity-page-header{justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.entity-page-header>div:first-child{gap:6px;display:grid}.entity-page-header>div:last-child{gap:10px;display:flex}.entity-page-header>div:only-child{gap:6px;display:grid}.entity-page-header h1{color:var(--color-text);font-size:28px;font-weight:700}.entity-page-header p{color:var(--color-text-secondary);font-size:14px}.entity-notice{border-radius:var(--radius-sm);background:var(--color-success-soft);min-height:40px;color:var(--color-success);border:1px solid #a9d4b8;align-items:center;padding:8px 12px;font-size:13px;font-weight:600;display:flex}.entity-summary-row{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.entity-summary-row article{border:1px solid var(--color-border);background:#fff;border-radius:10px;align-content:center;gap:4px;height:86px;padding:16px;display:grid}.entity-summary-row article strong{color:var(--color-primary);font-size:24px}.entity-summary-row article span{color:var(--color-text-secondary);font-size:12px;font-weight:600}.entity-table{border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;display:grid;overflow:visible}.entity-table>header,.entity-table>div{border-bottom:1px solid var(--color-border);grid-template-columns:1.2fr .8fr 1fr 1fr 100px;align-items:center;gap:12px;min-height:62px;padding:0 16px;display:grid}.entity-table>header{color:#475467;background:#f8fafc;min-height:44px;font-size:12px;font-weight:700}.entity-table>div:last-child{border-bottom:0}.entity-table>div>strong{align-items:center;gap:10px;display:inline-flex}.entity-table>div>strong i{border-radius:var(--radius-sm);background:var(--color-brand-soft);width:32px;height:32px;color:var(--color-brand);place-items:center;display:grid}.entity-table>div>strong svg{width:16px;height:16px}.entity-table>div>span{color:var(--color-text-secondary);font-size:13px}.entity-table>div>button,.row-actions button{color:var(--color-primary);align-items:center;gap:5px;font-size:12px;font-weight:700;display:inline-flex}.entity-table>div>button svg,.row-actions svg{width:16px;height:16px}.teacher-table>header,.teacher-table>div{grid-template-columns:44px minmax(120px,1fr) minmax(280px,2.2fr) minmax(110px,1fr) minmax(90px,.8fr) minmax(110px,1fr) 132px}.teacher-table.without-campus>header,.teacher-table.without-campus>div{grid-template-columns:44px minmax(120px,1fr) minmax(320px,2.5fr) minmax(90px,.8fr) minmax(110px,1fr) 132px}.teacher-table>header{border-radius:calc(var(--radius-md) - 1px) calc(var(--radius-md) - 1px) 0 0}.teacher-table>div:last-child{border-radius:0 0 calc(var(--radius-md) - 1px) calc(var(--radius-md) - 1px)}.teacher-table>header:first-child:last-child{border-radius:calc(var(--radius-md) - 1px)}.teacher-clickable-row{cursor:pointer;transition:background .15s}.teacher-clickable-row:hover{background:#f8fbff}.teacher-clickable-row.draft-pending{background:#fffdf7}.teacher-search-match{box-shadow:inset 3px 0 #f59e0b;background:#fff7e6!important}.teacher-list-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.teacher-search-field{border:1px solid var(--color-border-strong);background:#fff;border-radius:8px;align-items:center;gap:7px;min-width:280px;height:38px;padding:0 10px;display:flex}.teacher-search-field>span{color:#667085;white-space:nowrap;font-size:11px;font-weight:700}.teacher-search-field>input{width:220px!important;height:30px!important;box-shadow:none!important;border:0!important;outline:0!important;padding:0!important}.teacher-search-empty{color:#b42318;font-size:11px}@media (hover:hover){.row-edit-trigger{cursor:pointer;position:relative}.row-edit-trigger[data-edit-hint]:after{z-index:30;color:#fff;content:attr(data-edit-hint);opacity:0;pointer-events:none;white-space:nowrap;background:#18212f;border-radius:6px;padding:5px 8px;font-size:11px;font-weight:600;line-height:1.2;transition:opacity .15s,transform .15s;position:absolute;top:4px;left:50%;transform:translate(-50%,-3px);box-shadow:0 6px 16px #10182824}.row-edit-trigger[data-edit-hint]:hover:after{opacity:1;transform:translate(-50%)}}.teacher-row-number{font-variant-numeric:tabular-nums;font-weight:700;color:#98a2b3!important}.teacher-name-cell{align-items:center;gap:7px;min-width:0;display:flex}.teacher-name-cell>strong{min-width:0;color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.teacher-assignment-counts{align-content:stretch;align-self:stretch;min-width:0;display:grid}.teacher-assignment-counts>span{border-bottom:1px solid var(--color-border);color:#166534;justify-content:flex-start;align-items:center;min-width:0;padding:6px 0;font-size:13px;font-weight:800;line-height:1.2;display:flex}.teacher-assignment-counts>span:last-child{border-bottom:0}.teacher-assignment-counts.empty{color:#98a2b3;align-items:center;font-size:11px;font-weight:400;display:flex}.research-group-manager{gap:12px;display:grid}.research-group-list{gap:8px;display:grid}.research-group-list>label{grid-template-columns:72px minmax(0,1fr) 34px;align-items:center;gap:8px;display:grid}.research-group-list>label>span{color:#667085;font-size:12px;font-weight:600}.research-group-list input{border:1px solid var(--color-border-strong);background:#fff;border-radius:7px;width:100%;height:40px;padding:0 10px;font:13px inherit}.research-group-list button{color:#b42318;background:#fee2e2;border:0;border-radius:7px;place-items:center;width:34px;height:34px;display:grid}.research-group-list button svg{width:14px}.research-group-add{color:#166534;background:#f0fdf4;border:1px dashed #86cfa0;border-radius:7px;justify-content:center;align-items:center;gap:6px;height:38px;font-size:12px;font-weight:700;display:flex}.research-group-add svg{width:14px}.research-group-error{color:#b42318;font-size:12px}.teacher-rule-indicator{z-index:4;color:#d97706;cursor:help;background:#eaf3ff;border-radius:999px;flex:none;place-items:center;width:24px;height:24px;display:grid;position:relative}.teacher-rule-indicator:hover,.teacher-rule-indicator:focus-visible{z-index:50}.teacher-rule-indicator>svg{width:14px;height:14px}.teacher-rule-tooltip{z-index:40;visibility:hidden;color:#7a4a00;opacity:0;pointer-events:none;white-space:nowrap;background:#f4f8fc;border:1px solid #f4c56a;border-radius:8px;gap:6px;width:max-content;max-width:280px;padding:10px 12px;font-size:11px;font-weight:600;line-height:1.4;transition:opacity .15s,transform .15s,visibility .15s;display:grid;position:absolute;top:30px;left:0;transform:translateY(-3px);box-shadow:0 10px 24px #10182824}.teacher-rule-tooltip>strong{color:#8a4b00;font-size:12px}.teacher-rule-indicator:hover .teacher-rule-tooltip,.teacher-rule-indicator:focus-visible .teacher-rule-tooltip{visibility:visible;opacity:1;transform:translateY(0)}.teacher-rule-indicator:focus-visible{outline-offset:2px;outline:2px solid #f59e0b}@media (hover:hover){.teacher-clickable-row:has(.teacher-rule-indicator:hover):after{opacity:0}}.teacher-list-toolbar,.teacher-list-toolbar>div,.teacher-unsaved-row,.teacher-unsaved-row>div{align-items:center;display:flex}.teacher-list-toolbar{z-index:35;background:var(--color-bg);height:44px;box-shadow:0 1px 0 var(--color-border);justify-content:space-between;padding:6px 0;position:sticky;top:0}h2.entity-section-title,strong.entity-section-title{font-size:16px;font-weight:700;line-height:22px}.teacher-list-toolbar>div{gap:8px}.teacher-list-toolbar button{min-height:40px}.teacher-list-toolbar .resource-add-custom-button{min-height:44px}.teacher-list-toolbar .teacher-research-group-button,.teacher-list-toolbar .teacher-add-button{width:120px;height:44px;min-height:44px!important}.teacher-list-toolbar .teacher-add-button{border-color:var(--color-success)!important;color:var(--color-success)!important;background:#fff!important}.teacher-list-toolbar .teacher-add-button:hover:not(:disabled){background:var(--color-success-soft)!important}.teacher-table.unsaved{border:2px solid #f59e0b}.teacher-table>div.editing{background:#f4f8fc;min-height:76px;position:relative}.teacher-table .row-actions button{color:#166534;border-radius:999px;place-items:center;display:grid}.teacher-table .row-actions button:nth-child(2){color:#b42318}.teacher-table .row-actions button:nth-child(3){color:#8a4b00}.teacher-table .row-actions{justify-content:center;gap:0}.teacher-unsaved-bar{min-height:56px}.teacher-unsaved-bar>div:first-child{align-items:center;gap:8px;min-width:0;display:flex}.teacher-unsaved-bar>div:first-child span{color:#8a4b00;background:#ffe8b3;border-radius:999px;height:26px;padding:5px 10px;font-size:12px;font-weight:700}.teacher-unsaved-bar>div:first-child span:last-child{background:#ffe8b3}.teacher-unsaved-bar>div:last-child{gap:10px;display:flex}.teacher-unsaved-bar>div:last-child .ui-button{width:148px}.teacher-unsaved-bar>div:last-child .ui-button:last-child{width:120px}.teacher-unsaved-row>div:first-child{min-width:0}.teacher-feedback-detail,.teacher-feedback-error{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:min(460px,40vw);font-size:12px;font-weight:500;overflow:hidden}.teacher-feedback-detail{color:#667085}.teacher-feedback-error{color:var(--color-danger)}.teacher-advanced-form .teacher-tag-field{background:#f9fafb;border:1px solid #86efac;border-radius:8px;align-items:center;gap:6px;min-height:44px;padding:6px 10px;display:flex}.teacher-tag-field i{color:#166534;background:#dcfce7;border-radius:5px;padding:4px 8px;font-size:12px;font-style:normal;font-weight:600}.teacher-unavailable-field{gap:8px;display:grid}.teacher-unavailable-field>span{font-size:12px;font-weight:600}.teacher-time-add{grid-template-columns:1fr 1fr 112px;gap:8px;display:grid}.teacher-time-add.teacher-rule-builder{grid-template-columns:repeat(3,minmax(0,1fr)) 104px}.teacher-time-add .teacher-single-select>button,.teacher-time-add>button{border:1px solid var(--color-border-strong);background:#fff;border-radius:8px;min-width:0;height:44px;padding:0 10px}.teacher-time-add>button{color:#166534;background:#dcfce7;border-color:#86efac;font-weight:700}.teacher-time-tags{border:1px solid var(--color-border);background:var(--color-surface-subtle);border-radius:8px;flex-wrap:wrap;align-items:center;gap:6px;min-height:42px;padding:6px;display:flex}.teacher-time-tags>span{color:#7a4a00;background:#fff1cc;border-radius:6px;align-items:center;gap:5px;padding:5px 7px 5px 9px;font-size:12px;font-weight:600;display:inline-flex}.teacher-time-tags button{color:#b42318;background:#fee2e2;border:0;border-radius:50%;width:20px;height:20px;font-size:15px;line-height:1}.teacher-time-tags small{color:var(--color-text-secondary)}.teacher-time-tags>span.legacy{color:#667085;background:#f2f4f7}.teacher-rule-conflict,.teacher-assignment-conflict,.teacher-row-conflict{color:var(--color-danger);font-size:12px;font-weight:700}.teacher-assignment-incomplete-message{font-weight:400}.teacher-assignment-incomplete-message strong{font-weight:700}.teacher-rule-conflict{background:var(--color-danger-soft);border:1px solid #fda29b;border-radius:7px;padding:8px 10px}.teacher-assignment-conflict{background:var(--color-danger-soft);border:1px solid #fda29b;border-radius:8px;padding:10px}.teacher-row-conflict{grid-column:2/-1;padding:2px 0}.teacher-empty-row{color:var(--color-text-secondary);place-items:center;grid-template-columns:1fr!important;min-height:88px!important}.teacher-value-chips{flex-wrap:wrap;align-items:center;gap:5px;min-width:0;display:flex}.teacher-value-chip{white-space:nowrap;border-radius:999px;align-items:center;gap:4px;min-width:0;padding:4px 8px;font-size:11px;font-style:normal;font-weight:700;line-height:1.2;display:inline-flex}.teacher-value-chip.subject,.teacher-value-chip.class{border:1px solid var(--color-border-strong);color:#475467;background:#fff}.teacher-value-chip.conflict{color:#b42318;background:#fee2e2;border-color:#fda29b}.teacher-assignment-stack{align-self:stretch;gap:0;min-width:0;display:grid}.teacher-assignment-line{flex-wrap:wrap;align-items:center;gap:5px;min-width:0;min-height:27px;display:flex}.teacher-assignment-line>small{color:var(--color-text-secondary);font-size:11px}.teacher-assignment-card{border-bottom:1px solid var(--color-border);text-align:left;flex-wrap:wrap;align-items:center;gap:5px;min-width:0;padding:6px 8px;display:flex}.teacher-assignment-card:last-child{border-bottom:0}.teacher-assignment-card strong{color:#18212f;flex:none;font-size:12px}.teacher-assignment-card small,.teacher-assignment-empty{color:#98a2b3;min-width:0;font-size:11px;font-weight:400}.teacher-assignment-card small.incomplete{color:#b42318;font-weight:700}.teacher-assignment-card.conflict{background:#fff0ef;border-radius:6px}.teacher-assignment-card.conflict strong,.teacher-assignment-card.conflict small{color:#b42318}.teacher-assignment-card em{color:#b42318;align-items:flex-start;gap:4px;width:100%;font-size:10px;font-style:normal;font-weight:600;line-height:1.35;display:flex}.teacher-assignment-card em svg{flex:0 0 11px;width:11px;margin-top:1px}.teacher-assignment-editor,.teacher-assignment-editor-field{gap:7px;min-width:0;display:grid}.teacher-assignment-editor-field>span{color:#667085;font-size:12px;font-weight:600}.teacher-assignment-pair-list{gap:6px;display:grid}.teacher-assignment-pair-list>div{background:0 0;border:0;border-radius:0;grid-template-columns:auto minmax(92px,.7fr) auto minmax(130px,1.5fr) 34px;align-items:center;gap:6px;padding:6px 0;display:grid}.teacher-assignment-pair-list>div.conflict,.teacher-assignment-pair-list>div.incomplete{background:#fff0ef;border:1px solid #fda29b;border-radius:8px;padding:6px}.teacher-table>div.editing .teacher-assignment-editor{gap:5px;padding-bottom:6px}.teacher-table>div.editing .teacher-assignment-pair-list{gap:4px}.teacher-table>div.editing .teacher-assignment-pair-list>div{padding-block:4px}.teacher-table>div.editing .teacher-assignment-pair-list>div.conflict,.teacher-table>div.editing .teacher-assignment-pair-list>div.incomplete{padding:6px}.teacher-advanced-form .teacher-assignment-pair-list .teacher-class-multi-select>button{align-items:flex-start;height:auto;min-height:44px;padding:6px 12px}.teacher-class-selected-pills{flex-wrap:wrap;flex:1;gap:4px;min-width:0;display:flex}.teacher-class-multi-select>button>span.teacher-class-selected-pills{white-space:normal;overflow:visible}.teacher-class-selected-pills i{color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:5px;max-width:100%;padding:3px 7px;font-size:11px;font-style:normal;font-weight:600;line-height:1.2}.teacher-assignment-inline-label{color:#667085;white-space:nowrap;font-size:10px;font-weight:700}.teacher-assignment-pair-list .teacher-single-select>button,.teacher-assignment-pair-list .teacher-class-multi-select>button{height:34px;padding:0 7px}.teacher-assignment-pair-list>div>button{color:#b42318;background:#fee2e2;border:0;border-radius:7px;place-items:center;width:34px;height:34px;display:grid}.teacher-assignment-pair-list>div>button svg{width:14px}.teacher-assignment-add{justify-content:center;align-items:center;gap:6px;font-size:11px;font-weight:800;display:flex;color:#fff!important;background:#f59e0b!important;border:1px solid #f59e0b!important;border-radius:7px!important;height:34px!important}.teacher-assignment-add:hover{background:#d97706!important}.teacher-assignment-add svg{width:13px}.teacher-column-filter>button>span{align-items:center;gap:5px;min-width:0;display:flex}.teacher-column-filter>button small{color:#667085;text-overflow:ellipsis;white-space:nowrap;background:#eef2f6;border-radius:5px;max-width:96px;padding:2px 5px;font-size:9px;font-weight:700;overflow:hidden}.teacher-column-filter.active>button small{color:var(--color-primary);background:#dbeafe}.teacher-assignment-pair-list .teacher-class-multi-select>button{align-items:flex-start;height:auto;min-height:34px;padding:6px 7px}@media (width<=760px){.teacher-time-add.teacher-rule-builder{grid-template-columns:repeat(2,minmax(0,1fr))}.teacher-time-add.teacher-rule-builder button{grid-column:1/-1}}.teacher-advanced-layout{gap:18px;display:grid}.teacher-rule-editor{border:1px solid var(--color-table-border);background:#f8fafc;border-radius:10px;gap:12px;padding:14px;display:grid}.teacher-rule-editor>header{justify-content:space-between;align-items:center;gap:16px;display:flex}.teacher-table .row-actions button{background:radial-gradient(circle,#dcfce7 0 12px,#0000 13px);width:44px;height:44px}.teacher-table .row-actions button:nth-child(2){background:radial-gradient(circle,#fee2e2 0 12px,#0000 13px)}.teacher-table .row-actions button:nth-child(3){background:radial-gradient(circle,#eaf3ff 0 12px,#0000 13px)}.teacher-time-tags button{background:radial-gradient(circle,#fee2e2 0 12px,#0000 13px);width:44px;height:44px}.teacher-rule-editor>header>div{gap:3px;display:grid}.teacher-rule-editor>header small,.teacher-rule-editor>p{color:var(--color-text-secondary);font-size:11px}.teacher-rule-editor>header button{color:var(--color-success);font-size:12px;font-weight:700}.teacher-rule-editor>div{gap:8px;display:grid}.teacher-rule-row{grid-template-columns:1fr 1fr 1fr 1fr 32px;align-items:center;gap:8px;display:grid}.teacher-rule-row select{background:#fff;border:1px solid #86cfa0;border-radius:7px;min-width:0;height:38px;padding:0 8px;font-size:11px}.teacher-rule-row>button{color:#b42318;background:#fee2e2;border-radius:999px;place-items:center;width:26px;height:26px;display:grid}.teacher-rule-row>button svg{width:13px;height:13px}.course-config-actions{align-items:center;gap:8px;display:flex}.teacher-table input,.teacher-table select,.subject-picker>button{border:1px solid var(--color-border-strong);background:#fff;border-radius:6px;width:100%;min-width:0;height:38px;padding:0 9px;font-size:12px}.subject-picker{position:relative}.subject-picker>button{justify-content:space-between;align-items:center;display:flex}.subject-picker>button>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.subject-picker>button svg{flex:none;width:14px;height:14px}.subject-picker aside{z-index:10;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fff;gap:8px;width:190px;padding:12px;display:grid;position:absolute;top:44px;left:0;box-shadow:0 12px 30px #18212f24}.subject-picker aside label{align-items:center;gap:8px;display:flex}.subject-picker aside input{width:16px;height:16px}.subject-picker aside .subject-search{border:1px solid var(--color-border);border-radius:6px;height:34px;padding:0 8px;display:flex}.subject-picker aside .subject-search svg{width:14px;height:14px}.subject-picker aside .subject-search input{border:0;width:100%;height:32px;padding:0}.subject-picker aside p{background:var(--color-success-soft);color:var(--color-success);border-radius:6px;padding:7px;font-size:11px}.subject-picker aside button.subject-confirm{background:var(--color-primary);color:#fff;border-radius:6px;height:34px;font-size:12px;font-weight:700}.inline-multi-select{min-width:0}.inline-multi-select aside{width:min(280px,100vw - 48px);max-height:none;overflow:visible}.pill-select-control{border:1px solid var(--color-border-strong);min-width:0;min-height:38px;color:var(--color-text-secondary);cursor:pointer;background:#fff;border-radius:6px;flex-wrap:wrap;align-items:center;gap:4px;padding:4px 34px 4px 7px;font-size:12px;display:flex;position:relative}.pill-select-control>.teacher-value-chip{border:1px solid var(--color-border-strong)}.pill-select-control>.teacher-value-chip.conflict{border-color:#fda29b}.pill-select-control>.teacher-value-chip button{width:16px;height:16px;color:inherit;opacity:.75;cursor:pointer;background:0 0;border:0;place-items:center;padding:0;font-size:13px;line-height:1;display:grid}.pill-select-toggle{border:0;place-items:center;display:grid;position:absolute;top:50%;right:4px;transform:translateY(-50%);background:0 0!important;width:28px!important;height:28px!important}.pill-select-toggle svg{width:14px;height:14px}.pill-select:has(.pill-select-toggle[aria-expanded=true]) .pill-select-control{border-color:var(--color-primary);box-shadow:0 0 0 3px #dbeafe}.pill-select-options{gap:3px;max-height:none;display:grid;overflow:visible}.pill-select-options>button{width:100%;min-height:34px;color:var(--color-text);text-align:left;background:#fff;border:0;border-radius:6px;justify-content:space-between;align-items:center;padding:0 9px;font-size:12px;display:flex}.pill-select-options>button:hover,.pill-select-options>button.selected{background:var(--color-brand-soft);color:var(--color-primary);font-weight:700}.pill-select-options>button svg{width:14px;height:14px;color:var(--color-success)}.pill-select-options>small{color:var(--color-text-secondary);padding:10px}.teacher-single-select{min-width:0;position:relative}.teacher-single-select>button{border:1px solid var(--color-border-strong);width:100%;min-width:0;height:38px;color:var(--color-text);text-align:left;cursor:pointer;background:#fff;border-radius:6px;justify-content:space-between;align-items:center;gap:8px;padding:0 9px;font-size:12px;display:flex}.teacher-single-select>button>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.teacher-single-select>button svg{flex:0 0 14px;width:14px}.teacher-single-select>button[aria-expanded=true]{border-color:var(--color-primary);box-shadow:0 0 0 3px #dbeafe}.teacher-single-select-menu{z-index:45;border:1px solid var(--color-border);background:#fff;border-radius:8px;gap:3px;max-height:none;padding:8px;display:grid;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:visible;box-shadow:0 12px 28px #10182824}.teacher-single-select-menu>button{width:100%;min-height:34px;color:var(--color-text);text-align:left;cursor:pointer;background:#fff;border:0;border-radius:6px;justify-content:space-between;align-items:center;gap:8px;padding:0 9px;font-size:12px;display:flex}.teacher-single-select-menu>button:hover,.teacher-single-select-menu>button.selected{background:var(--color-brand-soft);color:var(--color-primary);font-weight:700}.teacher-single-select-menu>button svg{width:14px;color:var(--color-success)}.teacher-advanced-form label .teacher-single-select>button{border-radius:8px;height:44px;padding-inline:12px}.teacher-class-multi-select{min-width:0;position:relative}.teacher-class-multi-select>button{border:1px solid var(--color-border-strong);width:100%;min-width:0;color:var(--color-text);text-align:left;background:#fff;border-radius:6px;justify-content:space-between;align-items:center;gap:8px;font-size:12px;display:flex}.teacher-class-multi-select>button>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.teacher-class-multi-select>button svg{flex:0 0 14px;width:14px}.teacher-class-multi-select>button[aria-expanded=true]{border-color:var(--color-primary);box-shadow:0 0 0 3px #dbeafe}.teacher-class-multi-menu{z-index:48;border:1px solid var(--color-border);background:#fff;border-radius:8px;gap:7px;min-width:220px;padding:8px;display:grid;position:absolute;top:calc(100% + 4px);left:0;right:0;box-shadow:0 12px 28px #10182824}.teacher-class-multi-menu section{gap:3px;display:grid}.teacher-class-multi-menu section>strong{color:#667085;padding:3px 8px;font-size:10px}.teacher-class-multi-menu section>button{min-height:32px;color:var(--color-text);text-align:left;background:#fff;border:0;border-radius:6px;justify-content:space-between;align-items:center;gap:8px;padding:0 9px;font-size:12px;display:flex}.teacher-class-multi-menu section>button:hover,.teacher-class-multi-menu section>button.selected{background:var(--color-brand-soft);color:var(--color-primary);font-weight:700}.teacher-class-multi-menu section>button svg{width:14px;color:var(--color-success)}.teacher-class-multi-done{background:var(--color-primary);color:#fff;border:0;border-radius:6px;height:32px;font-size:12px;font-weight:700}.teacher-column-filter{height:44px;margin-inline:0}.teacher-column-filter>button{border-right:0;padding-inline:6px}.teacher-table .teacher-column-filter>div{width:min(720px,100vw - 32px);position:fixed;overflow-y:auto}.teacher-column-filter .task-filter-options{grid-template-columns:repeat(var(--filter-columns,2),minmax(108px,1fr))}.teacher-table .row-actions>button{flex:0 0 44px}.teacher-table .teacher-advanced-action svg{width:16px;height:16px}.row-actions{justify-content:flex-end;gap:0;display:flex}.advanced-settings-action{color:#8a4b00;background:radial-gradient(circle,#eaf3ff 0 12px,#0000 13px);border:0;border-radius:999px;place-items:center;width:44px;height:44px;display:grid}.advanced-settings-action svg{width:16px;height:16px}.room-card-grid{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.room-card-grid article{border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;gap:12px;padding:20px;display:grid}.room-card-grid article header{justify-content:space-between;align-items:center;display:flex}.room-card-grid article header>span{background:var(--color-primary-soft);width:40px;height:40px;color:var(--color-primary);border-radius:10px;place-items:center;display:grid}.room-card-grid article header svg{width:20px;height:20px}.room-card-grid article header button{color:var(--color-primary)}.room-card-grid h2{font-size:18px}.room-card-grid>article>p{color:var(--color-text-secondary);font-size:13px}.room-card-grid dl{border-top:1px solid var(--color-border);gap:8px;padding-top:12px;display:grid}.room-card-grid dl>div{color:var(--color-text-secondary);justify-content:space-between;font-size:12px;display:flex}.room-card-grid dd{color:var(--color-text);font-weight:600}@media (width<=880px){.entity-table{overflow-x:auto}.entity-table>header,.entity-table>div{min-width:800px}.teacher-table>header,.teacher-table>div{min-width:860px}}@media (width<=620px){.entity-page-header{flex-direction:column;align-items:stretch}.entity-summary-row,.room-card-grid{grid-template-columns:1fr}}.course-config-page,.room-resource-page{gap:14px;width:100%;min-width:0;min-height:0;display:grid}.course-config-page>*,.room-resource-page>*{min-width:0;max-width:100%}.room-resource-page{gap:20px}.room-page-heading{align-items:flex-end;min-height:36px}.room-page-heading h1{font-size:28px}.room-page-heading p{text-align:right;margin-left:auto}.course-grade-row{border:1px solid var(--color-border);background:#fff;border-radius:10px;justify-content:space-between;align-items:flex-end;gap:16px;width:100%;min-width:0;min-height:52px;padding:8px 12px;display:flex}.course-grade-row label{gap:5px;width:460px;min-width:0;max-width:100%;display:grid}.course-school-type{color:var(--color-text-secondary);margin-right:auto;font-size:12px}.course-grade-row label span{color:var(--color-text-secondary);font-size:11px;font-weight:600}.course-grade-row select{border:1px solid var(--color-border-strong);background:#fff;border-radius:7px;width:100%;min-width:0;height:44px;padding:0 14px}.course-config-panel{border:1px solid var(--color-border);background:#fff;border-radius:10px;gap:12px;width:100%;min-width:0;padding:16px;display:grid}.course-config-panel.is-dirty{border:2px solid #f59e0b}.course-config-page .entity-save-bar{justify-content:space-between}.course-config-panel>header,.course-config-panel>header>div,.course-card-grid article header,.room-resource-list>header,.room-selected-panel>header,.entity-save-bar{justify-content:space-between;align-items:center;gap:10px;display:flex}.course-config-panel>header>div span,.room-resource-list>header span,.room-selected-panel>header span{color:var(--color-text-secondary);font-size:11px}.course-config-panel>header>button{background:var(--color-success-soft);min-height:36px;color:var(--color-success);border-radius:7px;padding:0 12px;font-size:12px;font-weight:700}.course-config-actions .course-clear-button,.course-config-actions .course-add-button{border:1px solid;border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:44px;padding:0 16px;font-size:14px;font-weight:600;transition:background-color .15s,color .15s;display:inline-flex}.course-config-actions .course-clear-button{border-color:var(--color-danger)!important;color:var(--color-danger)!important;background:#fff!important}.course-config-actions .course-clear-button:hover:not(:disabled){background:var(--color-danger-soft)!important}.course-config-actions .course-add-button{border-color:var(--color-success)!important;color:var(--color-success)!important;background:#fff!important}.course-config-actions .course-add-button:hover:not(:disabled){background:var(--color-success-soft)!important}.course-card-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;min-width:0;display:grid}.course-card-grid article{border:1px solid var(--color-border);background:#fff;border-radius:8px;align-content:start;gap:9px;min-width:0;min-height:108px;padding:12px;display:grid}.course-card-grid article.course-card-primary em{color:#8a4b00;background:#fff0cc;border-radius:999px;width:fit-content;padding:3px 7px;font-size:11px;font-style:normal;font-weight:700}.course-card-grid article header{width:100%;min-width:0}.resource-circle-actions{flex:none;align-items:center;gap:5px;display:flex}.room-selected-panel>header .resource-add-custom-button{white-space:nowrap;border-radius:8px;flex:none;justify-content:center;align-items:center;gap:8px;width:auto;min-width:0;height:44px;min-height:44px;padding:0 12px;font-size:12px;display:inline-flex;border:1px solid var(--color-success)!important;color:var(--color-success)!important;background:#fff!important}.room-selected-panel>header .resource-add-custom-button:hover:not(:disabled){background:var(--color-success-soft)!important}.room-selected-panel>header .resource-add-custom-button svg{flex:none;width:15px;height:15px}.course-card-grid article svg,.room-selected-panel svg{width:14px;height:14px}.course-card-grid article p,.course-card-grid article small{color:var(--color-text-secondary);font-size:11px}.entity-save-bar{min-height:52px;color:var(--color-warning-text);justify-content:flex-end;font-size:12px}.room-resource-layout{grid-template-columns:minmax(520px,1.35fr) minmax(320px,1fr);gap:16px;min-height:540px;display:grid}.room-preset-panel{background:#fff;border:1px solid #e4e7ec;border-radius:12px;grid-template-columns:220px minmax(0,1fr);min-width:0;display:grid;overflow:hidden}.room-preset-panel.disabled{opacity:.62}.room-category-list,.room-preset-list,.room-selected-panel{min-width:0;padding:16px}.room-category-list{border-right:1px solid #e4e7ec;flex-direction:column;gap:6px;display:flex}.room-category-list>header{gap:5px;margin-bottom:2px;display:grid}.room-category-list>header strong{font-size:16px}.room-category-list>header span,.room-preset-list>header span,.room-selected-panel>header span{color:#667085;font-size:12px}.room-category-list>button{color:#667085;text-align:left;border:1px solid #0000;border-radius:8px;grid-template-columns:18px 1fr 16px;align-items:center;gap:10px;height:60px;padding:0 10px;display:grid}.room-category-list>button.active{color:#004ea2;background:#eaf3ff;border-color:#004ea2}.room-category-list>button>svg{width:18px;height:18px}.room-category-list>button>svg:last-child{width:16px;height:16px}.room-category-list>button>span{gap:3px;display:grid}.room-category-list>button strong{color:#18212f;font-size:14px;font-weight:600}.room-category-list>button.active strong{color:#004ea2;font-weight:700}.room-category-list>button small{color:#667085;font-size:11px}.room-preset-list{grid-template-rows:auto 1fr;gap:12px;display:grid}.room-preset-list>header{min-height:18px}.room-preset-list>div,.room-preview-list{align-content:start;gap:8px;min-height:0;display:grid;overflow-y:auto}.room-preview-row{cursor:pointer}.room-preview-row:hover{background:#f8fbff;border-color:#93b4dc}.room-preview-row:focus-visible{outline-offset:2px;outline:2px solid #2563eb}.room-preset-list article{background:#fff;border:1px solid #e4e7ec;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;min-height:76px;padding:0 12px;display:flex}.room-preset-list article>div,.room-selected-panel article>div,.room-selected-panel>header>div{gap:5px;min-width:0;display:grid}.room-preset-list article small,.room-selected-panel article small{color:#667085;font-size:12px}.room-preset-list article button{color:#166534;background:#eaf8ef;border-radius:8px;flex:none;align-items:center;gap:5px;height:32px;padding:0 10px;font-size:12px;font-weight:700;display:inline-flex}.room-preset-list article button svg{width:14px;height:14px}.room-preset-list article button:disabled,.room-category-list>button:disabled{cursor:not-allowed}.room-selected-panel{border:1px solid var(--color-border);background:#fff;border-radius:12px;grid-template-rows:auto 1fr;gap:12px;min-width:0;display:grid;overflow:hidden}.room-selected-panel.is-dirty{border:1.5px solid #f59e0b}.room-selected-panel>header{justify-content:space-between;align-items:center;gap:12px;min-height:36px;display:flex}.resource-add-custom-button{white-space:nowrap}.room-selected-panel>header em{color:#8a4b00;background:#eaf3ff;border-radius:999px;flex:none;padding:4px 8px;font-size:11px;font-style:normal;font-weight:700}.room-selected-panel article{background:#fff;border:1px solid #e4e7ec;border-radius:8px;align-content:center;gap:9px;min-height:72px;padding:12px 76px 12px 12px;display:grid;position:relative}.room-selected-panel article small{white-space:nowrap;align-items:center;gap:8px;display:flex}.room-selected-panel article small svg{width:14px;height:14px}.room-selected-panel article>span{gap:8px;display:flex;position:absolute;top:12px;right:12px}.resource-circle-action{box-sizing:border-box;aspect-ratio:1;border-radius:50%;flex:0 0 24px;place-items:center;width:24px;min-width:24px;max-width:24px;height:24px;min-height:24px;max-height:24px;padding:0;display:grid;position:relative}.resource-circle-edit{color:#166534;background:#dcfce7}.resource-circle-delete{color:#b42318;background:#fee2e2}.resource-circle-action svg{flex:0 0 14px;width:14px;height:14px}.course-card-grid article header strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.data-form-grid .course-type-field{border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;min-width:0;margin:0;padding:0;display:grid}.data-form-grid .course-type-field legend{color:var(--color-text-secondary);grid-column:1/-1;margin-bottom:7px;font-size:12px;font-weight:600}.data-form-grid .course-type-field label{border:1px solid var(--color-border-strong);color:#344054;background:#fff;border-radius:8px;align-items:center;gap:8px;min-height:44px;padding:0 10px;font-size:14px;font-weight:600;display:flex}.data-form-grid .course-type-field label>span{color:inherit;font-size:14px;font-weight:600}.data-form-grid .course-type-field input{width:16px;height:16px;accent-color:var(--color-primary);flex:none;margin:0}.room-preview-empty{color:#667085;text-align:center;place-content:center;justify-items:center;gap:8px;min-height:220px;display:grid}.room-preview-empty svg{width:28px;height:28px}.room-preview-empty strong{color:#18212f}.room-save-bar{justify-content:space-between;min-height:44px}.room-save-status{align-items:center;gap:8px;min-width:0;display:flex}.room-save-status>span{color:#8a4b00;background:#ffe8b3;border-radius:999px;align-items:center;gap:5px;height:26px;padding:0 10px;font-size:12px;font-weight:700;display:inline-flex}.room-save-status>span:nth-child(2){background:#ffe8b3}.room-save-status svg{width:13px;height:13px}.room-save-status i{border:2px solid #b7791f;border-radius:999px;width:7px;height:7px}.room-save-error,.room-save-notice{color:#b42318;font-size:12px}.room-save-notice{color:#166534}.room-save-button{flex:0 0 184px;width:184px}.room-save-button:disabled{color:#fff;opacity:1;background:#41b25d;border-color:#0000}.room-dialog-layer{z-index:60;place-items:center;padding:36px;display:grid;position:fixed;inset:0}.room-dialog-backdrop{background:#18212f5c;border:0;width:100%;height:100%;position:absolute;inset:0}.room-dialog{z-index:1;background:#fff;border:1px solid #e4e7ec;border-radius:16px;flex-direction:column;width:952px;max-width:calc(100vw - 72px);max-height:calc(100dvh - 72px);padding:24px 28px 26px;display:flex;position:relative;overflow:hidden;box-shadow:0 16px 36px -6px #18212f30}.room-dialog.collapsed{height:506px}.room-dialog.expanded{height:auto}.room-dialog>header{border-bottom:1px solid #e4e7ec;justify-content:space-between;align-items:flex-start;min-height:70px;display:flex}.room-dialog>header h2{color:#18212f;font-size:22px;font-weight:700}.room-dialog>header p{color:#667085;margin-top:3px;font-size:13px}.room-dialog>header>button{color:#667085;place-items:center;width:28px;height:28px;display:grid}.room-dialog>header>button svg{width:20px;height:20px}.room-dialog-content{flex-direction:column;flex:0 auto;min-height:0;padding-top:18px;display:flex;overflow-y:auto}.room-basic-section h3{color:#18212f;margin-bottom:14px;font-size:16px;font-weight:700}.room-dialog-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;display:grid}.room-dialog-form label{color:#667085;gap:6px;font-size:12px;font-weight:600;display:grid}.room-field-error{color:#b42318;font-size:11px;font-weight:600}.room-dialog-form input,.room-dialog-form select{color:#18212f;background:#fff;border:1px solid #d0d5dd;border-radius:8px;width:100%;height:44px;padding:0 13px;font:14px inherit}.room-dialog .room-capacity-note,.room-availability-editor{margin-top:16px}.room-availability-editor>header{background:#fcfcfb;border:1px solid #e4e7ec;border-radius:8px;justify-content:space-between;align-items:center;min-height:52px;padding:0 12px;display:flex}.room-dialog.expanded .room-availability-editor>header{background:0 0;border:0;min-height:40px;padding:0}.room-availability-editor>header>div{align-items:center;gap:10px;display:flex}.room-availability-editor>header strong{font-size:16px}.room-availability-schedule{color:#667085;font-size:12px}.room-availability-editor>header small{color:#667085;background:#f2f4f7;border-radius:999px;padding:4px 9px;font-size:11px}.room-dialog.expanded .room-availability-editor>header small{color:#166534;background:#dcfce7}.room-availability-editor>header button{color:#166534;align-items:center;gap:6px;font-size:12px;font-weight:700;display:inline-flex}.room-availability-editor>header button svg{width:15px;height:15px}.room-availability-editor>header>span{color:#667085;font-size:12px}.room-dialog .room-availability-grid{border:1px solid #e4e7ec;border-radius:0;display:block;overflow:hidden}.room-dialog .room-availability-grid *,.room-dialog .room-availability-row>button,.room-dialog .room-availability-row>button:focus-visible,.room-dialog .room-grid-header strong{border-radius:0!important}.room-grid-header{background:#f9fafb;grid-template-columns:46px 72px repeat(5,minmax(0,1fr));display:grid}.room-grid-header strong{color:#667085;border-bottom:1px solid #e4e7ec;border-right:1px solid #e4e7ec;place-items:center;min-height:28px;font-size:11px;display:grid}.room-dialog .room-availability-row{grid-template-columns:46px 72px repeat(5,minmax(0,1fr));min-height:28px;display:grid;position:relative}.room-dialog .room-availability-group{z-index:1;color:#18212f;background:#fff;border-bottom:1px solid #e4e7ec;border-right:1px solid #e4e7ec;place-items:center;width:46px;font-size:11px;display:grid;position:absolute;top:0;left:0}.room-dialog .room-availability-period{color:#667085;background:#fcfcfb;border-bottom:1px solid #e4e7ec;border-right:1px solid #e4e7ec;grid-column:2;justify-content:center;align-items:center;min-height:28px;font-size:11px;line-height:1.1;display:flex}.room-dialog .room-availability-row>button{color:#41b25d;background:#fff;border-bottom:1px solid #e4e7ec;border-right:1px solid #e4e7ec;place-items:center;min-height:28px;display:grid}.room-dialog .room-availability-row>button.unavailable{color:#b42318;background:#fff0ef;border-color:#f2b8b5}.room-dialog .room-availability-row>button svg{width:14px;height:14px}.room-dialog>footer{flex:none;justify-content:space-between;align-items:flex-end;gap:20px;min-height:70px;display:flex}.room-dialog>footer p{color:#667085;font-size:12px}.room-dialog>footer>div{gap:12px;display:flex}.room-dialog-cancel{width:120px}.room-dialog-save{width:184px}.room-dialog-save.collapsed-save{background:#004ea2}.room-capacity-note{color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;border-radius:8px;align-items:center;gap:8px;min-height:36px;padding:0 12px;font-size:12px;display:flex}.room-capacity-note svg{flex:none;width:16px;height:16px}.room-availability-grid{border:1px solid #e4e7ec;border-radius:0;grid-template-columns:54px 78px 1fr;display:grid;overflow:hidden}.room-availability-days{background:#f9fafb;grid-template-columns:repeat(5,1fr);display:grid}.room-availability-days strong,.room-availability-period,.room-availability-group{color:#667085;border-bottom:1px solid #e4e7ec;border-left:1px solid #e4e7ec;place-items:center;min-height:38px;font-size:11px;display:grid}.room-availability-row{grid-column:1/-1;grid-template-columns:54px 78px repeat(5,1fr);display:grid}.room-availability-group{color:#18212f;background:#f9fafb;border-left:0}.room-availability-period{background:#f9fafb}.room-availability-row>button{color:#166534;background:#f0fdf4;border-bottom:1px solid #e4e7ec;border-left:1px solid #e4e7ec;place-items:center;min-height:38px;display:grid}.room-availability-row>button.unavailable{color:#b42318;background:#fef2f2}.room-availability-row>button svg{width:14px;height:14px}.room-availability-blocked{color:#b42318;background:#fffbfa;border:1px solid #fecdca;border-radius:8px;grid-template-columns:20px 1fr auto;align-items:center;gap:10px;min-height:88px;padding:14px;display:grid}.room-availability-blocked>div{gap:4px;display:grid}.room-availability-blocked span{color:#667085;font-size:12px}.room-availability-blocked button{color:#fff;background:#004ea2;border-radius:8px;height:36px;padding:0 12px;font-size:12px;font-weight:700}@media (width<=1130px){.course-card-grid{grid-template-columns:repeat(3,1fr)}.room-resource-layout{grid-template-columns:minmax(0,1fr);min-height:0}.room-preset-panel,.room-selected-panel{min-width:0}}@media (width<=620px){.course-grade-row{flex-direction:column;align-items:stretch}.course-grade-row label{width:100%}.course-school-type{margin-right:0}.room-preset-panel{grid-template-columns:minmax(0,1fr)}.room-category-list{border-bottom:1px solid #e4e7ec;border-right:0}.course-card-grid{grid-template-columns:minmax(0,1fr)}.course-config-panel>header,.room-selected-panel>header{flex-wrap:wrap}.room-page-heading{align-items:flex-start}.room-page-heading p{text-align:left;margin-left:0}}.room-availability-legend{color:#667085;align-items:center;gap:8px;margin:-4px 0 10px;font-size:11px;display:flex}.room-availability-legend i{background:#f2f4f7;border:1px solid #d0d5dd;flex:0 0 16px;width:16px;height:16px}.room-dialog .room-availability-row>button.room-no-class{color:#667085;opacity:1;cursor:not-allowed;background:#f2f4f7;justify-content:center;align-items:center;font-size:10px;font-weight:700;display:flex}.data-modal-layer{z-index:100;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.data-modal-backdrop{background:#18212f66;position:absolute;inset:0}.data-modal{z-index:1;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:#fff;gap:24px;width:min(640px,100%);max-height:calc(100dvh - 48px);padding:28px;display:grid;position:relative;overflow:auto;box-shadow:0 16px 48px #18212f2e}.data-modal.large{width:min(952px,100%)}.data-modal.teacher{width:min(760px,100%)}.data-modal>header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.data-modal>header>div{gap:8px;display:grid}.data-modal h2{color:var(--color-text);font-size:22px;font-weight:700}.data-modal>header p{max-width:720px;color:var(--color-text-secondary);font-size:14px;line-height:1.5}.data-modal>header>button{width:36px;height:36px;color:var(--color-text-secondary);flex:0 0 36px;place-items:center;display:grid}.data-modal>header>button svg{width:20px;height:20px}.data-modal>header>button:disabled{cursor:not-allowed;opacity:.45}.data-modal>footer{justify-content:flex-end;gap:12px;display:flex}.data-modal>footer.with-status{justify-content:space-between;align-items:center}.data-modal-footer-actions,.data-modal-footer-status{align-items:center;gap:12px;display:flex}.data-modal-footer-status{gap:8px}.data-modal-footer-status span{color:#8a4b00;background:#ffe8b3;border-radius:999px;height:26px;padding:5px 10px;font-size:12px;font-weight:700}.data-modal-footer-status span:last-child{background:#ffe8b3}.data-modal-footer-actions>button:first-child{width:96px}.data-modal-footer-actions>button:last-child{width:184px}.data-form-grid{grid-template-columns:repeat(2,1fr);gap:16px;display:grid}.data-form-grid label{gap:7px;display:grid}.data-form-grid .wide{grid-column:1/-1}.data-form-grid label>span{color:var(--color-text-secondary);font-size:12px;font-weight:600}.data-form-grid input,.data-form-grid select,.field-like{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);width:100%;height:44px;color:var(--color-text);text-align:left;background:#fff;padding:0 12px}.course-toggle-field>button{border:1px solid var(--color-border-strong);color:#667085;background:#f9fafb;border-radius:8px;justify-content:space-between;align-items:center;height:44px;padding:0 12px;font-size:14px;font-weight:500;display:flex}.course-toggle-field>button i{background:#d0d5dd;border-radius:999px;width:42px;height:24px;position:relative}.course-toggle-field>button i:after{content:"";background:#fff;border-radius:999px;width:18px;height:18px;position:absolute;top:3px;left:3px}.course-toggle-field>button[aria-pressed=true] i{background:#41b25d}.course-toggle-field>button[aria-pressed=true] i:after{left:21px}.toggle-field{border:1px solid var(--color-border);border-radius:var(--radius-sm);justify-content:space-between;align-items:center;padding:14px;display:flex!important}.toggle-field>span{gap:4px;display:grid}.toggle-field>span strong{color:var(--color-text);font-size:14px}.toggle-field>span small{color:var(--color-text-secondary);font-weight:400}.toggle-field input{width:42px;height:22px;accent-color:var(--color-success)}.availability-editor{border:1px solid var(--color-border);background:#f8fafc;border-radius:10px;gap:12px;padding:14px;display:grid}.availability-editor>header{justify-content:space-between;align-items:center;display:flex}.availability-editor>header>div{gap:3px;display:grid}.availability-editor small,.availability-editor>p{color:var(--color-text-secondary);font-size:12px}.availability-editor button,.schedule-check-button{color:var(--color-primary);font-size:12px;font-weight:700}.availability-editor>div{gap:8px;display:grid}.availability-editor>div>label{grid-template-columns:80px repeat(7,24px);align-items:center;gap:10px;min-height:36px;display:grid}.availability-editor>div input{width:16px;height:16px;accent-color:var(--color-success)}.schedule-check-button{justify-self:start}.modal-callout{background:var(--color-warning-soft);color:var(--color-warning-text);border-radius:10px;align-items:flex-start;gap:10px;padding:16px;display:flex}.modal-callout svg{flex:0 0 20px;width:20px;height:20px}@media (width<=640px){.data-modal-layer{align-items:end;padding:0}.data-modal{border-radius:16px 16px 0 0;width:100%;max-height:92dvh;padding:24px 20px}.data-form-grid{grid-template-columns:1fr}.data-form-grid .wide{grid-column:auto}}.task-page{flex-direction:column;gap:12px;min-height:0;display:flex;position:relative}.task-heading{justify-content:space-between;align-items:flex-end;height:36px;display:flex}.task-heading>div{justify-content:space-between;align-items:flex-end;gap:24px;width:100%;display:flex}.task-heading h1{font-size:28px;font-weight:700;line-height:36px}.task-heading p{color:var(--color-text-secondary);text-align:right;margin:0;font-size:14px}.task-heading-main{align-items:center;gap:16px;display:flex}.task-view-switch{border:1px solid var(--color-border);background:#f8fafc;border-radius:9px;height:34px;padding:3px;display:inline-flex}.task-view-switch button{color:#667085;background:0 0;border:0;border-radius:6px;align-items:center;gap:5px;height:26px;padding:0 10px;font:600 12px inherit;display:inline-flex}.task-view-switch button[aria-pressed=true]{color:var(--color-primary);background:#fff7e6;box-shadow:0 1px 3px #1018281a}.task-view-switch svg{width:14px}.task-list{border:1px solid var(--color-border);background:#fff;border-radius:12px;min-height:0;overflow:visible}.task-list.unsaved{border:2px solid #f59e0b}.task-list-toolbar{color:#475467;justify-content:space-between;align-items:center;height:48px;padding:0 14px;font-size:13px;font-weight:600;display:flex}.task-list-toolbar div{gap:8px;display:flex}.task-list-toolbar button{height:36px;color:var(--color-primary);background:0 0;border:0;padding:0 10px;font:600 13px inherit}.task-list-toolbar .task-suggestion-button,.task-list-toolbar .task-toggle-all{border:1px solid var(--color-border-strong);background:#fff;border-radius:7px;align-items:center;gap:6px;display:inline-flex}.task-list-toolbar .task-suggestion-button{color:#027a48;background:#ecfdf3;border-color:#86cfa0}.task-list-toolbar .task-suggestion-button svg,.task-list-toolbar .task-toggle-all svg{width:15px}.task-table-head,.task-table-row,.task-bulk-row{grid-template-columns:44px repeat(6,minmax(0,1fr)) 88px;min-width:0;display:grid}.task-table-head{border-block:1px solid var(--color-border);background:var(--color-surface-subtle);height:44px;overflow:visible}.task-table-head>span,.task-table-row>*{color:#475467;align-items:center;padding:0 12px;font-size:13px;display:flex}.task-table-head>span:last-child{justify-content:center}.task-table-head input,.task-table-row input,.task-grade-row input,.task-course-row input{width:16px;height:16px;accent-color:var(--color-primary)}.task-column-filter{position:relative;padding:0!important}.task-column-filter>button{color:#475467;background:0 0;border:0;border-right:1px solid #e4e7ec;justify-content:space-between;align-items:center;gap:8px;width:100%;height:100%;padding:0 12px;font:700 12px inherit;display:flex}.task-column-filter>button>span{align-items:center;gap:5px;min-width:0;display:flex}.task-column-filter>button small{color:#667085;text-overflow:ellipsis;white-space:nowrap;background:#eef2f6;border-radius:5px;max-width:96px;padding:2px 5px;font-size:9px;font-weight:700;overflow:hidden}.task-column-filter>button svg{color:#667085;flex:none;width:15px}.task-column-filter>button:hover,.task-column-filter.active>button,.task-column-filter>button[aria-expanded=true]{color:var(--color-primary);background:#eef4ff}.task-column-filter.active>button small{color:var(--color-primary);background:#dbeafe}.task-column-filter.active>button svg{color:var(--color-primary)}.task-column-filter>div{z-index:50;border:1px solid var(--color-border);background:#fff;border-radius:8px;width:240px;padding:6px;position:absolute;top:40px;left:4px;box-shadow:0 12px 28px #10182824}.task-filter-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px;display:grid;overflow:visible}.task-column-filter>div button{color:#475467;text-align:left;text-overflow:ellipsis;white-space:nowrap;background:#fff;border:0;border-radius:6px;min-height:30px;padding:0 9px;font:500 12px inherit;overflow:hidden}.task-column-filter>div button:hover,.task-column-filter>div button.selected{background:var(--color-brand-soft);color:var(--color-primary);font-weight:700}.task-column-filter>div .task-filter-apply{background:var(--color-primary);color:#fff;text-align:center;width:100%;margin-top:6px;font-weight:700}.merged-class-grade-note{color:#d97706;white-space:nowrap;font-size:10px;font-style:normal}.merged-class-layer{z-index:130;background:#10182866;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.merged-class-dialog{background:#fff;border-radius:12px;flex-direction:column;gap:18px;width:min(680px,100%);max-height:min(720px,100vh - 40px);padding:24px;display:flex;overflow:auto;box-shadow:0 24px 48px #10182833}.merged-class-dialog>header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.merged-class-dialog h2{margin:0;font-size:22px}.merged-class-dialog header p{color:#667085;margin:6px 0 0;font-size:13px;line-height:1.5}.merged-class-dialog>header>button{color:#667085;background:0 0;border:0;border-radius:8px;flex:none;place-items:center;width:40px;height:40px;display:grid}.merged-class-dialog>header>button:hover{background:#f2f4f7}.merged-class-dialog>header svg{width:20px}.merged-class-form{gap:14px;display:grid}.merged-class-form>label{color:#344054;gap:6px;font-size:13px;font-weight:700;display:grid}.merged-class-form select{border:1px solid var(--color-border-strong);color:#101828;background:#fff;border-radius:8px;height:40px;padding:0 10px;font:500 14px inherit}.merged-class-form fieldset{border:1px solid var(--color-border);border-radius:8px;gap:8px;margin:0;padding:12px;display:grid}.merged-class-form legend{color:#344054;padding:0 5px;font-size:13px;font-weight:700}.merged-class-form fieldset>label{background:#f8fafc;border-radius:7px;align-items:center;gap:10px;padding:9px;display:flex}.merged-class-form fieldset>label.disabled{cursor:not-allowed;opacity:.62}.merged-class-form fieldset>label input{flex:none;width:16px;height:16px}.merged-class-form fieldset>label span{gap:2px;min-width:0;display:grid}.merged-class-form fieldset>label strong{font-size:13px}.merged-class-form fieldset>label small{color:#667085;font-size:11px}.merged-class-form fieldset>label em{color:#b54708;text-align:right;margin-left:auto;font-size:11px;font-style:normal}.merged-class-form>.ui-button{justify-self:end}.merged-class-saved{border-top:1px solid var(--color-border);gap:9px;padding-top:4px;display:grid}.merged-class-saved h3{margin:0;font-size:15px}.merged-class-saved ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.merged-class-saved li{border:1px solid var(--color-border);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.merged-class-saved li span{gap:3px;display:grid}.merged-class-saved li strong{font-size:13px}.merged-class-saved li small,.merged-class-empty{color:#667085;margin:0;font-size:12px;line-height:1.5}.merged-class-saved li button{color:#b42318;background:0 0;border:0;font:700 12px inherit}@media (width<=560px){.merged-class-layer{align-items:end;padding:0}.merged-class-dialog{border-radius:12px 12px 0 0;max-height:90vh}.merged-class-form fieldset>label{align-items:flex-start}.merged-class-form fieldset>label em{max-width:130px}.merged-class-saved li{align-items:flex-start}}.task-grade-row{border-top:1px solid var(--color-border);cursor:pointer;background:#fffaeb;justify-content:space-between;align-items:center;min-width:0;height:52px;padding:0 14px;display:flex;position:relative}.task-grade-row:hover{background:#eaf3ff}.task-grade-row>span,.task-grade-row>div{z-index:2;pointer-events:none;align-items:center;gap:8px;display:flex;position:relative}.task-grade-row>span>svg{width:15px;color:var(--color-primary)}.task-grade-row input,.task-grade-row>div button{pointer-events:auto}.task-grade-row strong{font-size:14px}.task-grade-row small{color:var(--color-text-secondary);font-size:12px}.task-grade-row>div button{min-height:44px;color:var(--color-primary);background:0 0;border:0;align-items:center;gap:6px;font:600 12px inherit;display:inline-flex}.task-grade-row button svg{width:15px}.task-grade-toggle{z-index:1;cursor:pointer;background:0 0;border:0;width:100%;height:100%;position:absolute;inset:0}.task-grade-toggle:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.task-course-row{border-top:1px solid var(--color-border);cursor:pointer;background:#f8fafc;grid-template-columns:44px repeat(6,minmax(0,1fr)) 88px;height:48px;display:grid;position:relative}.task-course-row>:not(.task-course-toggle){z-index:2;min-width:0;color:var(--color-text);text-overflow:ellipsis;white-space:nowrap;pointer-events:none;align-items:center;padding:0 12px;font-size:13px;display:flex;position:relative;overflow:hidden}.task-course-row input,.task-course-row button{pointer-events:auto}.task-course-name{grid-column:2/4;gap:6px;font-weight:700}.task-course-name>span{text-overflow:ellipsis;overflow:hidden}.task-course-classes-toggle,.task-course-edit-toggle{width:44px;height:44px;color:var(--color-primary);background:0 0;border:0;flex:none;place-items:center;padding:0;display:grid}.task-course-classes-toggle{margin-left:-12px}.task-course-classes-toggle svg,.task-course-edit-toggle svg{width:15px}.task-primary-badge{color:#8a4b00;background:#fff0cc;border-radius:999px;flex:none;padding:2px 6px;font-size:10px;font-style:normal;font-weight:700}.task-course-row .missing{color:#9a6700}.task-course-actions{justify-content:center;padding:0}.task-course-actions>.task-course-edit-toggle{padding:0}.task-course-toggle{z-index:1;cursor:pointer;background:0 0;border:0;width:100%;height:100%;position:absolute;inset:0}.task-course-toggle:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.task-table-row{border-top:1px solid var(--color-border);height:52px}.task-class-task-row>.task-tree-branch{padding:0}.task-class-task-row>.task-class-name{color:var(--color-text);gap:8px;padding-left:4px}.task-class-name input{flex:none}.task-table-row>*{color:var(--color-text);font-size:13px;font-weight:500}.task-table-row>strong{font-weight:600}.task-table-row.selected>*{color:var(--color-text-secondary);background:#f2f4f7}.task-table-row.editing>*{background:#f0fdf4}.task-table-row .missing{color:#9a6700}.task-table-row:not(.editing)>:nth-child(4){color:var(--color-danger-text);font-weight:700}.task-table-row label{padding:0 8px}.task-table-row select,.task-table-row label input{border:1px solid var(--color-success);background:#fff;border-radius:7px;width:100%;height:34px;padding:0 9px;font:12px inherit}.task-table-row label input.invalid{border:2px solid var(--color-danger);outline:2px solid #fee2e2}.task-table-row.inactive>*{color:#98a2b3}.task-table-row.inactive.editing select,.task-table-row.inactive.editing label input{color:#98a2b3;background:#f8fafc;border-color:#d0d5dd}.task-row-actions{justify-content:center;gap:0}.task-row-actions button{width:44px;height:44px;color:var(--color-success);background:0 0;border:0;place-items:center;display:grid;position:relative}.task-row-actions button:before{content:"";background:#dcfce7;border-radius:50%;width:24px;height:24px;position:absolute}.task-row-actions button:last-child{color:var(--color-danger)}.task-row-actions button:last-child:before{background:#fee2e2}.task-row-actions svg{z-index:1;width:13px;position:relative}.task-bulk-row{background:#f0fdf4;border-block:1px solid #a9d4b8;height:56px}.task-bulk-row>*{align-items:center;padding:0 8px;font-size:12px;display:flex}.task-bulk-row label select,.task-bulk-row label input{width:100%;height:34px;color:var(--color-primary);background:#fff;border:1px solid #afc6e9;border-radius:7px;padding:0 9px;font:600 12px inherit}.task-bulk-row label input::placeholder{color:var(--color-primary);opacity:1}.task-bulk-actions{justify-content:center;gap:0;padding:0!important}.task-bulk-actions button{width:44px;height:44px;color:var(--color-primary);background:0 0;border:0;border-radius:999px;flex:0 0 44px;place-items:center;padding:0;display:grid;position:relative}.task-bulk-actions button:before{content:"";background:#fff;border-radius:50%;width:24px;height:24px;position:absolute}.task-bulk-actions button:last-child:before{background:var(--color-primary)}.task-bulk-actions button:last-child{color:#fff}.task-bulk-actions button:disabled{cursor:not-allowed;color:#667085}.task-bulk-actions button:disabled:before{background:#d0d5dd}.task-bulk-actions svg{z-index:1;width:13px;position:relative}.task-bulk-row:has(.task-bulk-course-preview){height:auto;min-height:56px}.task-bulk-row>.task-bulk-weekly-preview{flex-direction:column;justify-content:center;align-items:stretch;gap:3px;padding-block:5px}.task-bulk-course-preview{white-space:normal;font-size:8px;font-weight:800;line-height:1.25;display:block}.task-bulk-course-preview.increase,.task-bulk-course-preview.mixed{color:#b54708}.task-bulk-course-preview.reduce,.task-bulk-course-preview.unavailable{color:#b42318}.task-bulk-course-preview.matched{color:#027a48}.task-list-footer{border-top:1px solid var(--color-border);background:#fff;justify-content:flex-end;align-items:center;min-height:64px;padding:10px 14px;display:flex}.task-list-footer>button{min-width:156px}.task-grid-view{border:1px solid var(--color-border);background:#fff;border-radius:12px;min-width:0;overflow:hidden}.task-grid-view.unsaved{border:2px solid #f59e0b}.task-grid-view>.task-list-toolbar{border-bottom:1px solid var(--color-border)}.task-grid-view>.task-grid-editor{border:0;border-radius:0}.task-grid-editor{border:1px solid var(--color-border);background:#fff;border-radius:12px;width:100%;min-width:0;max-width:100%;overflow:hidden}.task-grid-editor.unsaved{border:2px solid #f59e0b}.task-grid-scroll-tools{border-bottom:1px solid var(--color-border);background:#fff;justify-content:flex-end;align-items:center;gap:8px;height:40px;padding:0 8px;display:flex}.task-grid-scroll-tools>span{color:#98a2b3;font-size:11px}.task-grid-scroll-tools>div{display:flex}.task-grid-scroll-tools button,.task-grid-grade-head button{width:44px;height:40px;color:var(--color-primary);background:0 0;border:0;place-items:center;display:grid;position:relative}.task-grid-scroll-tools button:before,.task-grid-grade-head button:before{content:"";background:#f2f4f7;border-radius:50%;width:24px;height:24px;position:absolute}.task-grid-scroll-tools svg,.task-grid-grade-head button svg{z-index:1;width:13px;position:relative}.task-grid-scroll{overscroll-behavior-x:contain;overscroll-behavior-y:auto;width:100%;max-width:100%;min-height:300px;overflow:auto hidden}.task-grid{align-items:stretch;width:max-content;min-width:100%;display:grid}.task-grid-corner,.task-grid-course-head{z-index:5;border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);background:#f8fafc;align-items:center;min-height:48px;display:flex;position:sticky;top:0}.task-grid-corner{z-index:7;color:#475467;padding:0 10px;font-size:12px;font-weight:700;left:0}.task-grid-course-head{text-align:center;justify-content:center;gap:4px;padding:5px 6px}.task-grid-course-head strong{font-size:12px}.task-grid-grade-head,.task-grid-class-head{z-index:4;border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);background:#fffaeb;justify-content:space-between;align-items:center;min-height:92px;padding:8px 6px 8px 10px;display:flex;position:sticky;left:0}.task-grid-grade-head>span{gap:4px;min-width:0;display:grid}.task-grid-grade-head strong{font-size:12px}.task-grid-grade-head small{color:#98a2b3;font-size:9px}.task-grid-class-head{color:var(--color-text);background:#f8fafc;padding-left:12px;font-size:11px;font-weight:600}.task-grid-cell{border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);background:#fff;flex-direction:column;justify-content:center;gap:4px;min-height:92px;padding:6px 8px;display:flex;position:relative}.task-grid-cell.empty{color:#98a2b3;align-items:center}.task-grid-hours,.task-grid-values{height:50px;min-height:50px}.task-grid-hours{flex-direction:column;align-items:stretch;gap:4px;display:flex}.task-grid-hours label{justify-content:space-between;align-items:center;gap:4px;min-width:0;height:23px;display:flex}.task-grid-hours label>span{color:#667085;font-size:9px;font-weight:600}.task-grid-hours input{color:#101828;background:#f0fdf4;border:1px solid #86cfa0;border-radius:6px;width:48px;height:23px;padding:0 3px 0 6px;font:800 13px inherit}.task-grid-hours input:focus{outline-offset:1px;outline:2px solid #bbf7d0}.task-grid-cell p,.task-grid-teacher-control{color:#667085;white-space:nowrap;text-overflow:ellipsis;align-items:center;gap:4px;min-width:0;height:22px;margin:0;font-size:10px;display:flex;overflow:hidden}.task-grid-cell p svg,.task-grid-teacher-control svg{flex:none;width:12px}.task-grid-teacher-control select{color:#344054;background:#f0fdf4;border:1px solid #86cfa0;border-radius:5px;width:100%;min-width:0;height:22px;padding:0 2px;font:600 9px inherit}.task-grid-teacher-control select:focus{outline-offset:1px;outline:2px solid #bbf7d0}.task-unsaved-bar{z-index:40;border:1px solid var(--color-border);background:#fff;border-radius:10px;justify-content:space-between;align-items:center;height:56px;padding:6px 10px;display:flex;position:sticky;bottom:12px;box-shadow:0 8px 24px #1018281f}.task-unsaved-bar>span{gap:8px;display:flex}.task-unsaved-bar em,.task-change-log-toggle{color:#8a4b00;background:#ffe8b3;border:0;border-radius:999px;height:26px;padding:4px 10px;font:700 12px inherit}.task-unsaved-bar em:last-child{background:#ffe8b3}.task-unsaved-bar>div{gap:10px;display:flex}.task-unsaved-bar .ui-button{width:148px}.task-unsaved-bar .ui-button:last-child{width:120px}.task-page-empty .task-empty-state{flex:1}.task-empty-state{border:1px solid var(--color-border);text-align:center;background:#fff;border-radius:12px;place-content:center;justify-items:center;gap:12px;padding:32px;display:grid}.task-empty-state>span{background:var(--color-brand-soft);width:64px;height:64px;color:var(--color-brand);border-radius:50%;place-items:center;display:grid}.task-empty-state>span svg{width:30px}.task-empty-state h2{font-size:22px}.task-empty-state p{color:var(--color-text-secondary)}.task-empty-state>button:last-child{color:#fff;font:600 13px inherit}.task-suggestion-layer{z-index:120;background:#10182866;justify-content:flex-end;display:flex;position:fixed;inset:0}.task-suggestion-layer>aside{background:#fff;flex-direction:column;gap:20px;width:min(440px,100%);height:100%;padding:24px;display:flex;position:relative;box-shadow:-12px 0 32px #1018282e}.task-suggestion-layer header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.task-suggestion-layer h2{font-size:22px}.task-suggestion-layer header p,.task-suggestion-layer>aside>p{color:var(--color-text-secondary);margin-top:6px;font-size:13px;line-height:1.6}.task-suggestion-layer header>button{width:44px;height:44px;color:var(--color-text-secondary);background:0 0;border:0;place-items:center;display:grid}.task-suggestion-layer header svg{width:20px}.task-suggestion-list{gap:16px;display:grid;overflow:auto}.task-suggestion-list section{gap:8px;display:grid}.task-suggestion-list h3{font-size:14px}.task-suggestion-item{border:1px solid var(--color-border);border-radius:8px;align-items:flex-start;gap:10px;padding:12px;display:flex}.task-suggestion-item input{margin-top:3px}.task-suggestion-item span{gap:4px;display:grid}.task-suggestion-item strong{font-size:14px}.task-suggestion-item small,.task-suggestion-item em,.task-suggestion-empty{color:var(--color-text-secondary);font-size:12px;font-style:normal;line-height:1.5}.task-suggestion-layer footer{justify-content:flex-end;gap:10px;margin-top:auto;display:flex}.task-suggestion-confirm{z-index:1;background:#fff;flex-direction:column;gap:16px;padding:24px;display:flex;position:absolute;inset:0}.task-suggestion-confirm h3{font-size:18px}.task-suggestion-confirm ul{color:var(--color-text-secondary);gap:8px;margin:0;padding-left:20px;font-size:13px;line-height:1.5;display:grid}.task-suggestion-confirm p{color:var(--color-text-secondary);font-size:13px}.task-suggestion-confirm>div{justify-content:flex-end;gap:10px;margin-top:auto;display:flex}@media (width<=900px){.task-page{height:auto;min-height:700px}.task-heading p{display:none}.task-heading-main{justify-content:space-between;width:100%}.task-list{min-height:430px}.task-list-toolbar{flex-direction:column;align-items:flex-start;gap:6px;height:auto;min-height:48px;padding-block:8px}.task-list-toolbar div{flex-wrap:wrap;width:100%}}@media (width<=560px){.task-heading{height:auto}.task-heading-main{flex-direction:column;align-items:flex-start;gap:8px}.task-view-switch{width:100%}.task-view-switch button{flex:1;justify-content:center}}.task-grid-view{border-width:2px}.task-unsaved-summary{align-items:center;min-width:0}.task-unsaved-summary em{flex:none}.task-unsaved-detail,.task-unsaved-error{text-overflow:ellipsis;white-space:nowrap;min-width:0;max-width:min(420px,35vw);font-size:12px;font-weight:500;overflow:hidden}.task-unsaved-detail{color:#667085}.task-unsaved-error{color:var(--color-danger)}.task-change-log{flex:none;align-items:center;height:26px;display:flex;position:relative}.task-change-log-toggle{cursor:pointer;align-items:center;gap:4px;display:flex}.task-change-log-toggle:hover,.task-change-log-toggle[aria-expanded=true]{background:#ffd98a}.task-change-log-toggle svg{width:13px}.task-change-log-panel{z-index:60;border:1px solid var(--color-border);background:#fff;border-radius:10px;width:420px;max-width:calc(100vw - 40px);max-height:240px;position:absolute;bottom:calc(100% + 16px);left:0;overflow:hidden;box-shadow:0 16px 40px #10182829}.task-change-log-panel header{border-bottom:1px solid var(--color-border);background:#f8fafc;justify-content:space-between;align-items:center;height:42px;padding:0 14px;display:flex}.task-change-log-panel header strong{font-size:13px}.task-change-log-panel header small{color:#667085;font-size:11px}.task-change-log-panel ol{max-height:197px;margin:0;padding:6px 12px 8px 38px;overflow:auto}.task-change-log-panel li{color:#475467;padding:7px 4px;font-size:12px;line-height:1.45}.task-change-log-panel li+li{border-top:1px solid #f2f4f7}.task-grid-scroll-tools,.task-grid-scroll-tools button{height:44px}.task-grid-grade-head{flex-direction:column;align-items:stretch;padding:9px 0 0}.task-grid-grade-head>span{padding:0 10px}.task-grid-grade-head>button{background:#fff7e6;border-top:1px solid #f0e4c3;border-radius:0;width:100%;height:28px;margin-top:auto}.task-grid-grade-head>button:before{display:none}.task-grid-grade-head>button:hover{background:#fff0cc}.task-grid-grade-head>button:focus-visible{outline:2px solid var(--color-primary);outline-offset:-2px}.task-grid-cell-edit-trigger{z-index:2;cursor:pointer;background:0 0;border:0;width:100%;height:100%;position:absolute;inset:0}.task-grid-cell:not(.editing):hover{background:#fffaeb}.task-grid-cell:not(.editing):focus-within{outline:2px solid var(--color-primary);outline-offset:-2px}.task-grid-values{flex-direction:column;justify-content:center;gap:2px;display:flex}.task-grid-values>span{justify-content:space-between;align-items:baseline;gap:5px;display:flex}.task-grid-values em{color:#98a2b3;font-size:9px;font-style:normal}.task-grid-values strong{color:#101828;font-size:22px;font-weight:800;line-height:1}.task-grid-values small{color:#98a2b3;font-size:12px;font-weight:600}.task-grid-cell.editing{background:#f0fdf4}.task-grid-cell.editing>*{z-index:3;position:relative}.task-grid-cell p{z-index:1;position:relative}.task-grid-class-head,.task-grid-class-head~.task-grid-cell{min-height:92px}.task-grid-grade-summary{color:#b54708;align-items:flex-start;gap:3px;font-size:8px;font-style:normal;font-weight:700;line-height:1.3;display:flex}.task-grid-grade-summary svg{flex:0 0 9px;width:9px;height:9px;margin-top:.7px}.task-grid-grade-summary-label{min-width:0;display:block}.task-grid-grade-summary.reduce{color:#d92d20}.task-grid-grade-summary.matched{color:#16803b;align-items:center}.task-grid-grade-summary.matched svg{margin-top:0}.task-grid-cell.missing-teacher:after{z-index:4;background:var(--color-danger);content:"";pointer-events:none;height:2px;position:absolute;bottom:0;left:0;right:0}.task-grid-teacher-name.missing>span{color:var(--color-danger);font-weight:800}.task-grid-teacher-control.missing select{border-color:var(--color-danger);color:var(--color-danger);font-weight:800}.task-grid-cell.inactive{background:#f8fafc}.task-grid-cell.inactive .task-grid-values strong,.task-grid-cell.inactive .task-grid-values small,.task-grid-cell.inactive .task-grid-teacher-display,.task-grid-cell.inactive .task-grid-teacher-display svg{color:#98a2b3}.task-grid-cell.inactive.editing{background:#f8fafc}.task-grid-cell.inactive.editing .task-grid-hours input,.task-grid-cell.inactive.editing .task-grid-teacher-control select{color:#98a2b3;background:#f8fafc;border-color:#d0d5dd}.task-heading{align-items:flex-start;height:auto}.task-heading>div{justify-content:stretch;align-items:start;gap:6px;display:grid}.task-heading p{text-align:left;display:block}.task-grid-course-head{gap:3px;padding-inline:3px;line-height:1.25}.task-grid-course-head strong{overflow-wrap:anywhere}.task-grid-course-head .task-primary-badge{padding:2px 4px;font-size:9px}.task-grid-grade-head,.task-grid-class-head,.task-grid-cell{min-height:100px}.task-grid-cell{padding-inline:6px}.task-grid-values>span{gap:4px}.task-grid-values strong{font-size:21px}.task-grid-teacher-display.multiple{align-items:flex-start;gap:3px;height:32px;line-height:1.35}.task-grid-teacher-names{flex-direction:column;align-items:flex-start;min-width:0;display:flex}.task-grid-teacher-name{white-space:nowrap;align-items:center;gap:3px;max-width:100%;display:flex}.task-grid-cell .task-grid-teacher-name>.task-grid-teacher-icon{flex:0 0 10px;width:10px;height:10px}.task-grid-teacher-name>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;display:block;overflow:hidden}.task-grid-cell p,.task-grid-teacher-control{height:32px}.task-list-toolbar{gap:16px;height:auto;min-height:78px;padding-block:9px}.task-list-toolbar .task-toolbar-overview{flex-wrap:wrap;align-items:center;gap:14px;min-width:0;display:flex}.task-list-toolbar .task-toolbar-actions{flex:none;align-items:center;gap:8px;display:flex}.task-data-counts{color:#667085;font-size:12px;font-weight:600}.task-missing-overview{border-left:1px solid var(--color-border);white-space:nowrap;align-items:center;gap:4px;padding-left:12px;display:inline-flex}.task-list-toolbar .task-missing-overview button{border-radius:6px;align-items:center;gap:4px;height:28px;padding:0 6px;font-size:11px;display:inline-flex}.task-missing-overview button.missing{color:#b54708;background:#fff4ed}.task-missing-overview button.missing:hover{background:#ffead5}.task-missing-overview button.complete:disabled{color:#667085;opacity:1;background:0 0}.task-missing-overview button svg{width:13px}.task-missing-overview button.complete svg{color:#039855}.task-missing-overview i{color:#98a2b3;font-style:normal}.task-standard-course-count{background:#f5f8ff;border:1px solid #b8c9e5;border-radius:9px;grid-template-columns:auto 1fr;align-items:center;gap:2px 10px;min-width:250px;padding:8px 12px;display:grid}.task-standard-course-count>small{color:#475467;grid-row:1/3;font-size:11px;font-weight:700}.task-standard-course-count>span{color:#344054;align-items:baseline;gap:4px;font-size:12px;display:flex}.task-standard-course-count>span strong{color:#173f73;font-size:24px;font-weight:800;line-height:1}.task-standard-course-count>em{color:#667085;font-size:10px;font-style:normal;font-weight:600}.task-standard-course-count.blocked{background:#fff4f2;border-color:#f3b7b1;grid-template-columns:auto 1fr auto}.task-standard-course-count.blocked>strong{color:#b42318;align-items:center;gap:5px;font-size:11px;display:flex}.task-standard-course-count.blocked>strong svg{width:13px}.task-standard-course-count.blocked>button{color:#b42318;background:#fff;border:1px solid #f3b7b1;border-radius:6px;height:28px;padding-inline:8px;font-size:11px}.task-table-row{height:auto;min-height:68px}.task-class-task-row>.task-class-name{align-items:center}.task-class-summary{gap:3px;min-width:0;display:grid}.task-class-summary>span:first-child{font-size:12px;font-weight:700}.task-weekly-summary{flex-direction:column;justify-content:center;gap:3px;min-width:0;align-items:flex-start!important}.task-course-count-status{gap:2px;min-width:0;font-weight:600;display:grid}.task-course-count-status>span{color:#667085;white-space:nowrap;font-size:9px}.task-course-count-status>span strong{color:#344054;font-size:12px}.task-course-count-status>em{white-space:normal;align-items:center;gap:3px;font-size:9px;font-style:normal;font-weight:800;line-height:1.25;display:flex}.task-course-count-status>em svg{flex:none;width:10px}.task-course-count-status.increase>em{color:#b54708}.task-course-count-status.reduce>em{color:#b42318}.task-course-count-status.matched>em{color:#027a48}.task-course-count-status.unavailable>em{color:#b42318}.task-grid-class-summary{gap:5px;width:100%;min-width:0;display:grid}.task-grid-class-summary>strong{font-size:11px}.task-grid-class-head{min-height:112px;padding:8px}.task-grid-class-head~.task-grid-cell{min-height:112px}.task-grid-class-head .task-course-count-status>span{font-size:8px}.task-grid-class-head .task-course-count-status>span strong{font-size:11px}.task-grid-class-head .task-course-count-status>em{font-size:8px;line-height:1.2}@media (width<=900px){.task-list-toolbar .task-toolbar-overview{flex-direction:column;align-items:flex-start;width:100%}.task-list-toolbar .task-toolbar-actions{flex-wrap:wrap;width:100%}.task-standard-course-count{width:100%;min-width:0}}.merged-class-dialog{gap:16px;width:min(1040px,100%);max-height:min(820px,100vh - 40px);padding:24px}.merged-class-columns{grid-template-columns:minmax(0,.5fr) repeat(3,minmax(0,1fr));gap:14px;min-height:300px;display:grid}.merged-class-column{border:1px solid var(--color-border);background:#fff;border-radius:10px;flex-direction:column;gap:10px;min-width:0;padding:14px;display:flex}.merged-class-column h3{color:var(--color-text);margin:0;font-size:14px}.merged-class-subject-list,.merged-class-candidate-list,.merged-class-match-list{align-content:start;gap:7px;min-height:0;display:grid;overflow:auto}.merged-class-subject-list label{min-height:38px;color:var(--color-text);border:1px solid #0000;border-radius:7px;align-items:center;gap:8px;padding:0 10px;font-size:13px;display:flex}.merged-class-subject-list label.active{color:#027a48;background:#ecfdf3;border-color:#86cfa0;font-weight:700}.merged-class-subject-list input{width:16px;height:16px}.merged-class-candidate-list label{background:#f8fafc;border-radius:7px;align-items:flex-start;gap:8px;padding:9px;display:flex}.merged-class-candidate-list label.disabled{cursor:not-allowed;opacity:.62}.merged-class-candidate-list input{flex:none;width:16px;height:16px}.merged-class-candidate-list label span,.merged-class-match-list div span{gap:2px;min-width:0;display:grid}.merged-class-candidate-list strong,.merged-class-match-list strong{font-size:13px}.merged-class-candidate-list small,.merged-class-match-list small{color:#667085;font-size:11px}.merged-class-candidate-list em{color:#b54708;text-align:right;margin-left:auto;font-size:10px;font-style:normal}.merged-class-match-list div{background:#f0fdf4;border:1px solid #b7ebc6;border-radius:7px;align-items:flex-start;gap:8px;padding:9px;display:flex}.merged-class-match-list svg{color:#039855;flex:none;width:16px}.merged-class-actions{border-top:1px solid var(--color-border);justify-content:flex-end;gap:10px;padding-top:14px;display:flex}.merged-class-actions .ui-button{min-width:110px}@media (width<=700px){.merged-class-columns{grid-template-columns:1fr;max-height:46vh;overflow:auto}.merged-class-dialog{max-height:92vh}.merged-class-column{min-height:180px}}.merged-class-columns{grid-template-columns:minmax(0,.5fr) repeat(3,minmax(0,1fr))}.merged-class-subject-list,.merged-class-candidate-list,.merged-class-match-list{gap:4px}.merged-class-subject-list label{min-height:31px;padding-inline:7px}.merged-class-candidate-list label{align-items:center;padding:6px 7px}.merged-class-candidate-list label span{align-items:baseline;gap:7px;display:flex}.merged-class-candidate-list small,.merged-class-candidate-list em{white-space:nowrap}.merged-class-match-list div{align-items:center;gap:8px;padding:6px 7px}.merged-class-match-list input{flex:none;width:16px;height:16px}.merged-class-match-list div span{align-items:baseline;gap:7px;display:flex}.merged-class-match-list small{white-space:nowrap}@media (width<=700px){.merged-class-columns{grid-template-columns:1fr}}.merged-class-dialog{box-sizing:border-box;height:min(820px,100vh - 40px);min-height:0;overflow:hidden}.merged-class-dialog>header,.merged-class-saved,.merged-class-actions{flex:none}.merged-class-columns{flex:auto;min-height:0;overflow:hidden}.merged-class-column{min-height:0;overflow:hidden}.merged-class-subject-list,.merged-class-candidate-list,.merged-class-match-list{flex:auto;min-height:0}.merged-class-saved{max-height:clamp(96px,20vh,160px);overflow:auto}.merged-class-actions{flex:none}.merged-class-saved-column{align-self:stretch;max-height:none;overflow:hidden}.merged-class-saved-column ul{min-height:0;overflow:auto}@media (width<=700px){.merged-class-dialog{height:min(92vh,820px);max-height:calc(100vh - 16px);padding:18px}.merged-class-columns{max-height:none;overflow:auto}.merged-class-saved{max-height:22vh}}.merged-class-match-list div{background:#f8fafc;border-color:#0000}.task-standard-course-count{border-radius:8px;gap:1px 8px;min-width:220px;padding:6px 10px}.task-standard-course-count>small{grid-row:1}.task-standard-course-count>span strong{font-size:22px}.task-standard-course-count>em{grid-area:2/1/auto/-1}.task-list-toolbar .task-merge-button{border:1px solid var(--color-border-strong);color:var(--color-primary);background:#fff;border-radius:7px;align-items:center;gap:6px;display:inline-flex}.task-list-toolbar .task-merge-button svg{width:15px}.task-list-toolbar .task-merge-button small{color:#667085;font-size:11px;font-weight:600}.task-table-row:not(.editing)>:nth-child(4):not(.missing){color:var(--color-text);font-weight:600}.task-page:has(>.task-unsaved-bar){padding-bottom:80px}.task-page>.task-unsaved-bar{z-index:40;box-sizing:border-box;position:fixed;bottom:12px;left:304px;right:24px}.app-shell.context-closed .task-page>.task-unsaved-bar{left:88px}@media (width<=1280px){.task-page>.task-unsaved-bar{left:88px}}@media (width<=760px){.task-page>.task-unsaved-bar{align-items:flex-start;gap:10px;height:auto;min-height:56px;bottom:8px;left:72px;right:8px}.task-page>.task-unsaved-bar>div{flex-wrap:wrap}.task-page>.task-unsaved-bar .ui-button{width:auto;min-width:120px}}.task-filter-search{border:1px solid var(--color-border-strong);background:#fff;border-radius:6px;align-items:center;gap:6px;margin-bottom:6px;padding:0 8px;display:flex}.task-filter-search svg{color:#667085;flex:0 0 14px;width:14px}.task-filter-search input{width:100%;min-width:0;height:30px;color:var(--color-text);background:0 0;border:0;outline:0;font:500 12px inherit}.task-filter-search input::-webkit-search-cancel-button{display:none}.task-filter-empty{color:#667085;text-align:center;margin:0 0 6px;padding:0 4px;font-size:11px}.schedule-data-page{--teaching-time-head-height:clamp(34px, 4.2dvh, 40px);--teaching-time-lesson-height:clamp(36px, 5.4dvh, 52px);--teaching-time-public-height:clamp(28px, 3.8dvh, 36px);align-content:start;gap:12px;width:100%;min-width:0;height:100%;padding-bottom:4px;display:grid;position:relative;overflow:hidden auto}.schedule-plan-row{justify-content:space-between;align-items:center;gap:16px;min-height:44px;display:flex}.schedule-inline-notice{color:#15803d;background:#ecfdf3;border:1px solid #a9d4b8;border-radius:8px;align-items:center;min-height:36px;padding:7px 11px;font-size:13px;font-weight:600;display:flex}.schedule-inline-notice.unsaved{color:#8a4b00;background:#fff8e8;border-color:#f5c86b}.schedule-plan-actions{align-items:center;gap:8px;display:flex}.schedule-plan-select{color:#667085;background:#fff;border:1px solid #d0d5dd;border-radius:8px;align-items:center;gap:8px;width:288px;height:44px;padding:0 14px;font-size:14px;display:flex}.schedule-plan-control{flex:1;align-items:center;min-width:0;display:flex;position:relative}.schedule-plan-select select{appearance:none;color:#18212f;cursor:pointer;background:0 0;border:0;outline:0;width:100%;min-width:0;height:42px;padding-right:24px;font-weight:600}.schedule-plan-select svg{pointer-events:none;width:16px;height:16px;position:absolute;right:0}.schedule-delete-plan{color:#b42318;background:#fff;border:1px solid #fecaca;border-radius:8px;flex:0 0 44px;place-items:center;width:44px;height:44px;display:grid}.schedule-delete-plan:hover:not(:disabled),.schedule-delete-plan:focus-visible:not(:disabled){background:#fee2e2}.schedule-delete-plan:disabled{color:#c0c7d1;cursor:not-allowed;background:#f8fafc;border-color:#e4e7ec}.schedule-delete-plan svg{width:15px;height:15px}.schedule-table-layout{grid-template-columns:minmax(0,1fr) 88px;gap:24px;width:100%;min-width:0;display:grid}.schedule-grid{border:2px solid var(--color-table-border);background:#fff;border-radius:10px;grid-template-columns:clamp(56px,6vw,70px) clamp(132px,15vw,170px) repeat(5,minmax(0,1fr));width:100%;min-width:0;display:grid;overflow:hidden}.schedule-grid>header,.schedule-grid>div{display:contents}.schedule-grid>header>*{background:#f8fafc}.schedule-grid>header>*,.schedule-grid>div>*{border-bottom:1px solid #e4e7ec;border-right:1px solid #e4e7ec;place-items:center;min-width:0;padding:0 10px;display:grid}.schedule-grid>header>*{height:var(--teaching-time-head-height);color:#667085;font-size:13px;font-weight:600}.schedule-grid>header>:last-child{border-right:0}.schedule-grid>div>*{height:var(--teaching-time-lesson-height)}.schedule-grid>div>button.schedule-period-button{color:#18212f;text-align:left;background:#fafaf8;justify-content:space-between;align-items:center;padding:0 12px 0 16px;display:flex}.schedule-grid>div>button.schedule-period-button.public-period{background:#f3f4f2}.schedule-period-button>span{gap:3px;display:grid}.schedule-period-button svg{color:#98a2b3;width:14px;height:14px}.schedule-grid>div>button.schedule-period-button small{color:var(--color-text-secondary);font-size:11px}.schedule-grid>div>button:not(.schedule-period-button){color:#98a2b3;font-size:12px}.schedule-grid .schedule-empty-cell svg{color:#c0c7d1;flex:none;width:13px;height:13px}.schedule-grid .schedule-empty-cell{justify-content:center;align-items:center;gap:7px;display:flex}.schedule-grid .schedule-empty-cell.has-value{color:#344054;padding:0 8px;font-weight:600}.schedule-grid .schedule-empty-cell.has-value span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.schedule-grid .schedule-empty-cell:hover:not(:disabled),.schedule-grid .schedule-empty-cell:focus-visible,.schedule-grid .schedule-public-cell:hover:not(:disabled),.schedule-grid .schedule-public-cell:focus-visible,.schedule-grid .schedule-period-button:hover:not(:disabled),.schedule-grid .schedule-period-button:focus-visible{color:#fff;background:#004ea2}.schedule-grid .schedule-empty-cell:hover:not(:disabled) svg,.schedule-grid .schedule-empty-cell:focus-visible svg,.schedule-grid .schedule-public-cell:hover:not(:disabled) svg,.schedule-grid .schedule-public-cell:focus-visible svg,.schedule-grid .schedule-period-button:hover:not(:disabled) svg,.schedule-grid .schedule-period-button:focus-visible svg,.schedule-grid .schedule-period-button:hover:not(:disabled) small,.schedule-grid .schedule-period-button:focus-visible small{color:#fff}.schedule-grid .schedule-public-cell{height:var(--teaching-time-public-height);color:#667085;background:#f3f4f2;grid-column:span 5;justify-content:center;align-items:center;gap:10px;font-weight:600;display:flex}.schedule-grid .schedule-public-cell svg{color:#98a2b3;width:13px;height:13px}.schedule-grid>div.public-row>*{height:var(--teaching-time-public-height)}.schedule-group{color:#344054;background:#fcfcfb;grid-row:span 5;align-self:stretch;font-size:14px;border-right:1px solid #d0d5dd!important;height:auto!important}.schedule-grid .schedule-empty-cell.teaching-no-class{color:#667085;background:#f2f4f7}.schedule-grid .schedule-empty-cell.teaching-no-class svg{color:#98a2b3}.schedule-grid .schedule-empty-cell.teaching-no-class:hover,.schedule-grid .schedule-empty-cell.teaching-no-class:focus-visible{color:#fff;background:#004ea2}.schedule-grid.dirty{border-color:#f59e0b}.schedule-grid .schedule-empty-cell,.schedule-grid .schedule-public-cell{position:relative}.schedule-grid .schedule-empty-cell:hover:not(:disabled),.schedule-grid .schedule-empty-cell:focus-visible,.schedule-grid .schedule-public-cell:hover:not(:disabled),.schedule-grid .schedule-public-cell:focus-visible{background:inherit;color:inherit;outline:0}.schedule-grid .schedule-empty-cell:hover:not(:disabled) svg,.schedule-grid .schedule-empty-cell:focus-visible svg,.schedule-grid .schedule-public-cell:hover:not(:disabled) svg,.schedule-grid .schedule-public-cell:focus-visible svg{color:#98a2b3}.schedule-grid .schedule-empty-cell:hover:not(:disabled):after,.schedule-grid .schedule-empty-cell:focus-visible:after,.schedule-grid .schedule-public-cell:hover:not(:disabled):after,.schedule-grid .schedule-public-cell:focus-visible:after{content:"";pointer-events:none;border:2px dashed #f59e0b;border-radius:8px;animation:.7s steps(2,end) infinite teaching-cell-ants;position:absolute;inset:4px}@keyframes teaching-cell-ants{50%{border-style:dotted}}.schedule-grid,.schedule-grid>header>*,.schedule-grid>div>*{border-radius:0}.schedule-actions-column{background:#fff;border:2px solid #d0d5dd;border-radius:10px;align-content:start;display:grid;overflow:hidden}.schedule-actions-column header,.schedule-actions-column>div{height:var(--teaching-time-lesson-height);border-bottom:1px solid #e4e7ec;justify-content:center;align-items:center;gap:2px;display:flex}.schedule-actions-column header{height:var(--teaching-time-head-height);color:#667085;background:#fcfcfb;font-size:13px;font-weight:600}.schedule-actions-column>div.compact{height:var(--teaching-time-public-height)}.schedule-actions-column button{background:0 0;justify-content:center;place-items:center;width:34px;height:100%;display:inline-flex;min-height:0!important}.schedule-actions-column .schedule-add-period{color:#166534;background:0 0}.schedule-actions-column .schedule-add-period span{background:#dcfce7;border-radius:999px;flex:0 0 24px;place-items:center;width:24px;height:24px;font-size:17px;line-height:1;display:inline-grid}.schedule-actions-column button>span{flex:0 0 24px;width:24px;height:24px}.schedule-actions-column svg{width:14px;height:14px}.teaching-time-save-row{background:0 0;border:0;justify-content:flex-end;align-items:center;gap:16px;width:100%;min-height:44px;display:flex}.teaching-time-save-row>div{align-items:center;gap:8px;display:flex}.teaching-time-save-as{color:#15803d;background:0 0;border:1px solid #16a34a;border-radius:8px;width:184px;height:44px;font-size:12px;font-weight:600}.schedule-apply-plan{border:1px solid var(--color-success);background:var(--color-success);color:#fff;border-radius:8px;height:40px;padding:0 14px;font-size:12px;font-weight:700}.schedule-apply-plan:disabled{color:#98a2b3;cursor:not-allowed;background:#eaecf0;border-color:#d0d5dd}.schedule-plan-name-field{gap:7px;display:grid}.schedule-plan-name-field>span{color:var(--color-text-secondary);font-size:12px;font-weight:700}.schedule-plan-name-field input{border:1px solid var(--color-border-strong);border-radius:8px;height:44px;padding:0 12px}.schedule-plan-name-field input[aria-invalid=true]{border-color:var(--color-danger)}.schedule-plan-name-field small{color:var(--color-text-secondary);font-size:11px}.schedule-plan-name-field small.error{color:var(--color-danger)}.schedule-apply-options{border:0;gap:10px;margin:0;padding:0;display:grid}.schedule-apply-options legend{margin-bottom:8px;font-size:13px;font-weight:700}.schedule-apply-options label{border:1px solid var(--color-border-strong);background:#fff;border-radius:10px;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:10px;min-height:72px;padding:12px;display:grid}.schedule-apply-options label:has(input:checked){border-color:var(--color-success);background:var(--color-success-soft)}.schedule-apply-options input{width:16px;height:16px;accent-color:var(--color-success)}.schedule-apply-options span{gap:3px;display:grid}.schedule-apply-options strong{font-size:13px}.schedule-apply-options small{color:var(--color-text-secondary);font-size:11px;line-height:1.5}.schedule-position-field{border:0;grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:0;padding:0;display:grid}.schedule-position-field legend{color:var(--color-text-secondary);grid-column:1/-1;margin-bottom:7px;font-size:12px;font-weight:600}.schedule-position-field label{border:1px solid var(--color-border-strong);color:#344054;background:#fff;border-radius:8px;align-items:center;gap:9px;min-height:44px;padding:0 12px;font-size:14px;font-weight:600;display:flex}.schedule-position-field label:has(input:checked){color:#166534;background:#ecfdf3;border-color:#41b25d}.data-form-grid .schedule-position-field label>span{color:inherit;font-size:14px}.schedule-position-field input{accent-color:#41b25d;width:16px;height:16px}.schedule-time-modal-info{margin-top:12px}.data-modal-body>.schedule-plan-name-field+.time-form{margin-top:16px}.time-form{grid-template-columns:1fr auto 1fr;align-items:end;gap:8px;display:grid}.time-form label{gap:7px;display:grid}.time-form label span{color:var(--color-text-secondary);font-size:14px;font-weight:600}.time-selectors{grid-template-columns:1fr auto 1fr;align-items:center;gap:5px;height:44px;display:grid}.time-selectors select{border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:#fff;height:44px;padding:0 12px;font-size:14px}.time-form>span{color:var(--color-text-secondary);padding-bottom:12px;font-size:14px}.modal-info{border-radius:var(--radius-sm);color:#1d4ed8;background:#eff6ff;border:1px solid #bfdbfe;align-items:center;gap:8px;padding:12px;font-size:12px;display:flex}.modal-info svg{width:16px;height:16px}@media (width<=760px){.teaching-time-save-row{flex-direction:column;align-items:flex-start}.schedule-plan-row{flex-direction:column;align-items:stretch}.schedule-plan-actions,.schedule-plan-select{width:100%}.schedule-plan-select{flex:1}.schedule-position-field{grid-template-columns:1fr}.schedule-table-layout{min-width:760px}.schedule-data-page{overflow-x:auto}}.schedule-cell-menu{z-index:20;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:#fff;gap:2px;width:356px;max-height:min(620px,100vh - 24px);padding:8px;display:grid;position:fixed;overflow-y:auto;box-shadow:0 6px 18px #10182824}.schedule-cell-menu>strong{border-bottom:1px solid var(--color-border);align-items:center;gap:8px;height:34px;padding:8px 10px;display:flex}.schedule-cell-menu>strong svg{color:#344054;width:16px;height:16px}.schedule-cell-menu-group{gap:4px;padding-top:4px;display:grid}.schedule-cell-menu-group>span{color:var(--color-text-secondary);padding:0 10px;font-size:11px;font-weight:600}.schedule-cell-menu-group>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:2px;display:grid}.schedule-cell-menu button{height:34px;color:var(--color-text);text-align:left;border-radius:6px;align-items:center;gap:10px;padding:0 10px;display:flex}.schedule-cell-menu button.wide{grid-column:1/-1}.schedule-custom-value{grid-column:1/-1;grid-template-columns:minmax(0,1fr) 64px;gap:6px;padding:4px 0 2px;display:grid}.schedule-custom-value input{border:1px solid var(--color-border-strong);min-width:0;height:36px;color:var(--color-text);font:inherit;border-radius:6px;outline:0;padding:0 10px}.schedule-custom-value input:focus{border-color:#41b25d;box-shadow:0 0 0 3px #41b25d1f}.schedule-cell-menu .schedule-custom-value button{color:#fff;background:#41b25d;justify-content:center;height:36px;padding:0 10px;font-weight:700}.schedule-cell-menu .schedule-custom-value button:disabled{color:#98a2b3;cursor:not-allowed;background:#e4e7ec}.schedule-cell-menu button svg{color:#667085;flex:none;width:17px;height:17px}.schedule-cell-menu button:hover:not(:disabled),.schedule-cell-menu button.active{background:var(--color-surface-subtle)}.schedule-cell-menu p{background:var(--color-surface-subtle);color:var(--color-text-secondary);border-radius:6px;margin-top:4px;padding:10px;font-size:11px}@media (width<=760px){.schedule-cell-menu{width:min(356px,100vw - 24px)}}.rules-page{background:var(--color-bg);flex-direction:column;gap:16px;height:100%;padding:32px 32px 20px;display:flex;overflow:hidden}.smart-timetable-row.public>span{background:#f5f6f7}.smart-schedule-heading{justify-content:space-between;align-items:flex-end;gap:24px;height:44px;display:flex}.smart-schedule-heading h1{margin:0;font-size:24px;line-height:32px}.smart-schedule-heading p{color:var(--color-text-secondary);margin:0;font-size:13px;line-height:20px}.rules-tabs{border:1px solid var(--color-table-border);background:#fff;border-radius:10px;grid-template-columns:repeat(2,1fr);gap:6px;height:58px;padding:6px;display:grid}.rules-tabs button{color:var(--color-text-secondary);background:#fff;border:1px solid #0000;border-radius:7px;justify-content:center;align-items:center;gap:8px;font:600 14px inherit;display:flex}.rules-tabs button svg{width:17px;height:17px}.rules-tabs button.active{color:var(--color-primary);background:var(--color-brand-soft);border-color:var(--color-brand)}.smart-schedule-tabs{border:1px solid var(--color-border);background:#fff;justify-content:flex-start;align-items:stretch;gap:6px;padding:6px;display:flex}.smart-schedule-tabs button{flex:180px;justify-content:center;min-width:160px;max-width:240px;font-weight:500;position:relative}.smart-schedule-tabs button svg{width:18px;height:18px}.smart-schedule-tabs button small{color:#667085;font-size:11px;font-weight:600}.smart-schedule-tabs>.schedule-primary-tab,.smart-schedule-tabs>.rules-settings-tab{color:var(--color-text-secondary);background:#fff;border:1px solid #0000}.smart-schedule-tabs>.schedule-primary-tab.active,.smart-schedule-tabs>.rules-settings-tab.active{border-color:var(--color-brand);background:var(--color-brand-soft);color:var(--color-text);font-weight:700}.smart-schedule-tabs>.schedule-primary-tab.active svg,.smart-schedule-tabs>.rules-settings-tab.active svg{color:var(--color-primary)}.smart-schedule-tabs>.rules-settings-tab.active small{color:var(--color-text-secondary)}.rules-settings-workspace{flex-direction:column;flex:1;min-height:0;padding-bottom:88px;padding-right:4px;display:flex;overflow:auto}.rules-master-toolbar{justify-content:flex-end;align-items:center;min-height:32px;margin-bottom:8px;padding:0 4px;display:flex}.rules-heading{flex:0 0 52px;justify-content:space-between;align-items:center;gap:24px;height:52px;padding:0 18px;display:flex}.rules-heading h1{color:var(--color-text);font-size:24px;font-weight:700;line-height:32px}.rules-heading p{text-align:right;color:var(--color-text-secondary);flex:1;margin:0;font-size:13px}.rules-settings-workspace .rules-settings-container{border-radius:12px 0 0 12px}.rules-settings-container{border:1px solid var(--color-border);background:#fff;border-radius:12px;flex-direction:column;flex:none;display:flex;overflow:hidden}.rules-settings-container.is-dirty{background:#fffaf0;border-color:#e5c15d;box-shadow:0 0 0 3px #f8e9a8}.rules-settings-container.is-dirty .rule-section-heading,.rules-settings-container.is-dirty .rule-group-heading{background:#fff7d6}.rule-section-heading{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:20px;padding:16px 18px;display:flex}.rule-section-title{align-items:center;gap:8px;display:flex}.rule-section-heading h2{color:var(--color-text);margin:0;font-size:17px;line-height:24px}.rule-section-heading p{color:var(--color-text-secondary);margin:3px 0 0;font-size:12px}.rule-unsaved-badge,.rules-unsaved-message{color:#a16207;font-size:12px;font-weight:700}.rule-unsaved-badge{background:#fff1b8;border:1px solid #e5c15d;border-radius:999px;padding:3px 7px}.rule-master-switch{color:var(--color-text-secondary);align-items:center;gap:8px;font-size:12px;font-weight:600;display:flex}.rule-master-switch strong{color:var(--color-text-secondary);font-size:11px;font-weight:600}.rule-group-heading{border-bottom:1px solid var(--color-border);background:#fcfcfb;justify-content:space-between;align-items:center;height:42px;padding:0 18px;display:flex}.rule-group-heading h3{color:var(--color-text);margin:0;font-size:14px}.rule-group-heading p{color:var(--color-text-secondary);margin:0;font-size:11px}.rules-settings-container .rule-list{border:0;border-radius:0;flex:none}.rules-settings-container .rule-row{flex:none}.rule-load-state{min-height:150px;color:var(--color-text-secondary);justify-content:center;align-items:center;gap:10px;display:flex}.rule-load-state svg{width:20px}.rule-load-state.error{color:var(--color-danger)}.rule-load-state button{border:1px solid var(--color-border-strong);height:34px;color:var(--color-primary);background:#fff;border-radius:7px;padding:0 12px;font:600 12px inherit}.rule-list{border:1px solid var(--color-border);background:#fff;border-radius:12px;flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.rule-row{border-bottom:1px solid var(--color-border);flex:1;grid-template-columns:26px 28px 190px minmax(0,1fr) 44px 44px;align-items:center;gap:10px;min-height:56px;padding:0 14px 0 18px;display:grid;position:relative}.rule-row:last-child{border-bottom:0}.rule-row.expanded{grid-template-columns:28px 172px 1fr auto auto 28px;min-height:78px}.rule-row-icon{background:var(--color-primary-soft);width:28px;height:28px;color:var(--color-primary);border-radius:7px;place-items:center;display:grid}.rule-row-icon svg{width:15px;height:15px}.rule-row strong{color:var(--color-text);font-size:14px}.rule-row p{color:var(--color-text-secondary);margin:0;font-size:12px}.rule-strength{color:#b42318;vertical-align:middle;background:#fff1f0;border-radius:999px;align-items:center;margin-left:6px;padding:1px 5px;font-size:10px;font-style:normal;font-weight:700;line-height:16px;display:inline-flex}.rule-strength.soft{color:#1459b8;background:#eef5ff}.rule-detail{border:1px solid var(--color-border-strong);height:30px;color:var(--color-text);background:#fff;border-radius:7px;padding:0 10px;font:500 12px inherit}.rule-detail span{color:var(--color-text-secondary);padding:0 5px}.rule-switch{box-sizing:border-box;background:#d0d5dd;border:0;flex:0 0 44px;justify-self:end;width:44px;min-width:44px;max-width:44px;height:24px;min-height:24px;max-height:24px;padding:2px;overflow:hidden;border-radius:12px!important}.rule-switch span{background:#fff;border-radius:50%;width:20px;height:20px;transition:transform .15s;display:block;box-shadow:0 1px 2px #10182833}.rules-settings-container .rule-switch,.rules-settings-container .rule-switch:focus-visible{border-radius:12px}.rule-switch.on{background:var(--color-success)}.rule-switch.on span{transform:translate(20px)}.rule-gear{border:1px solid var(--color-border);color:#98a2b3;background:#fff;border-radius:50%;place-items:center;width:28px;height:28px;display:grid}.rule-gear svg{width:14px;height:14px}.preference-list .rule-row{grid-template-columns:26px 28px 190px minmax(0,1fr) 44px 44px}.preference-list .rule-row-icon{width:20px;height:20px;color:var(--color-primary);background:0 0;border-radius:0}.preference-list .rule-row-icon svg{width:20px;height:20px}.preference-list .rule-switch{grid-column:5}.subject-rule{border-bottom:1px solid var(--color-border)}.subject-rule:last-child{border-bottom:0}.subject-rule .rule-row{border:0}.subject-rule.is-expanded .rule-row{min-height:56px}.rule-number{width:26px;height:26px;color:var(--color-text-secondary);background:#f2f4f7;border-radius:50%;place-items:center;font-size:11px;font-weight:700;display:grid}.subject-rule .rule-row-icon{width:20px;height:20px;color:var(--color-primary);background:0 0;border-radius:0}.subject-rule .rule-row-icon svg{width:20px;height:20px}.subject-rule .rule-row p{font-size:13px}.rule-settings-action{color:#667085;background:radial-gradient(circle,#f2f4f7 0 14px,#0000 15px);border:0;border-radius:999px;place-items:center;width:44px;height:44px;display:grid}.rule-settings-action svg{width:16px;height:16px}.rule-settings-action:hover,.rule-settings-action[aria-expanded=true]{background:radial-gradient(circle,var(--color-brand-soft) 0 14px,transparent 15px);color:var(--color-primary)}.rule-settings-action:focus-visible{outline:2px solid var(--color-primary);outline-offset:-4px}.rule-parameters{color:#475467;background:#f7f6f2;align-items:center;gap:10px;min-height:70px;padding:10px 52px;font-size:12px;font-weight:600;display:flex}.rule-parameters>label{white-space:nowrap;align-items:center;gap:8px;display:flex}.rule-parameters select,.rule-parameters input{border:1px solid var(--color-success);min-width:104px;height:34px;color:var(--color-text);background:#fff;border-radius:7px;padding:0 8px;font:500 12px inherit}.rule-parameters input{width:72px}.rule-parameters b{color:var(--color-text-secondary)}.rule-parameters>button{border:1px solid var(--color-success);background:var(--color-success-soft);height:34px;color:var(--color-success);border-radius:7px;align-items:center;gap:6px;padding:0 12px;font:700 12px inherit;display:flex}.rule-parameters>button svg{width:15px;height:15px}.rules-save{z-index:60;border:1px solid var(--color-border);background:#fff;border-radius:10px;justify-content:flex-end;align-items:center;gap:12px;width:max-content;max-width:calc(100vw - 64px);min-height:56px;margin:0;padding:6px 10px;display:flex;position:fixed;bottom:20px;right:32px;box-shadow:0 8px 24px #1018281f}.rules-save.is-dirty{background:#fffaf0;border-color:#e5c15d}.rules-save button{background:var(--color-success);color:#fff;border:0;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:184px;height:44px;font:600 14px inherit;display:flex}.rules-save button svg{width:17px;height:17px}.teacher-builder{border:1px solid var(--color-border);background:#fff;border-radius:12px;grid-template-columns:repeat(5,minmax(112px,1fr)) 132px;gap:10px;height:116px;padding:16px 18px;display:grid}.schedule-result-actions{height:38px;color:var(--color-text-secondary);justify-content:flex-end;align-items:center;gap:16px;font-size:12px;display:flex}.schedule-result-actions>button{border:1px solid var(--color-primary);background:var(--color-primary);color:#fff;border-radius:8px;align-items:center;gap:7px;height:38px;padding:0 14px;font:700 13px inherit;display:flex}.schedule-result-actions svg{width:15px}.schedule-result-shell{border:1px solid var(--color-border);background:#fff;border-radius:10px;flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.schedule-view-tabs{border-bottom:1px solid var(--color-border);align-items:stretch;gap:20px;height:48px;padding:0 18px;display:flex}.schedule-view-tabs button{color:var(--color-text-secondary);background:#fff;border:0;border-bottom:2px solid #0000;padding:0 4px;font:600 14px inherit}.schedule-view-tabs button.active{border-bottom-color:var(--color-primary);color:var(--color-primary);font-weight:700}.schedule-result-workspace,.schedule-result-workspace.editing{flex:1;grid-template-columns:minmax(0,1fr) 360px;gap:14px;min-height:0;padding:14px;display:grid}.schedule-table-column{flex-direction:column;gap:9px;min-width:0;display:flex}.schedule-object-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;min-height:36px;display:flex;container-type:inline-size}.schedule-object-toolbar>.schedule-object-switcher{align-items:center;gap:8px;display:flex}.schedule-object-switcher button{border:1px solid var(--color-border-strong);color:#50617a;background:#fff;border-radius:8px;place-items:center;width:36px;height:36px;display:grid}.schedule-object-switcher button svg{width:15px}.schedule-object-toolbar select{border:1px solid var(--color-border-strong);width:196px;height:36px;color:var(--color-text);background:#fff;border-radius:8px;padding:0 12px;font:600 13px inherit}.smart-timetable{border:1.5px solid var(--color-table-border);background:#fff;border-radius:10px;flex:1;grid-template-rows:40px;grid-template-columns:54px 130px repeat(5,minmax(94px,1fr));grid-auto-rows:minmax(46px,1fr);min-height:0;display:grid;overflow:hidden}.smart-timetable>.smart-period-head,.smart-timetable>.smart-time-head,.smart-timetable>strong{border-right:1.5px solid var(--color-border);border-bottom:1.5px solid var(--color-border);color:#50617a;background:#fcfcfb;place-items:center;font-size:12px;display:grid}.smart-timetable>strong:last-of-type{border-right:0}.smart-timetable-row{display:contents}.smart-timetable-row>.smart-period-group{border-right:1.5px solid var(--color-border);border-bottom:1.5px solid var(--color-border);color:#344054;background:#fcfcfb;align-self:stretch;place-items:center;height:auto;font-size:12px;display:grid}.smart-timetable-row>span{border-right:1.5px solid var(--color-border);border-bottom:1.5px solid var(--color-border);color:#344054;flex-direction:column;justify-content:center;align-items:center;display:flex}.smart-timetable-row>span strong{font-size:11px}.smart-timetable-row>span small{color:var(--color-text-secondary);font-size:9px}.smart-timetable-row>button{border:0;border-right:1.5px solid var(--color-border);border-bottom:1.5px solid var(--color-border);text-align:left;min-width:0;color:var(--color-text);background:#fff;align-items:center;gap:6px;padding:4px 8px;display:flex}.smart-timetable-row:last-child>span,.smart-timetable-row:last-child>button,.smart-timetable-row:last-child>.smart-period-group{border-bottom:0}.smart-timetable-row>button:last-child{border-right:0}.smart-timetable-row>button>span{flex-direction:column;gap:2px;min-width:0;display:flex}.smart-timetable-row>button strong,.smart-timetable-row>button small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.smart-timetable-row>button small{color:var(--color-text-secondary);font-size:9px}.smart-timetable-row>button>svg{color:#667085;flex:none;width:13px;height:13px}.smart-timetable-row>button>i{flex:none;grid-template-columns:repeat(2,3px);gap:2px;width:10px;display:grid}.smart-timetable-row>button>i b{background:#667085;border-radius:50%;width:3px;height:3px}.smart-timetable-row>button.selected{background:#eaf8ef;border-style:solid;box-shadow:0 2px 7px #16653422}.smart-timetable-row>button em{color:#41b25d;margin:auto;font-size:10px;font-style:normal;font-weight:700}.smart-timetable-row>button.teaching-fixed{opacity:1;cursor:not-allowed;color:#475467;background:#f5f6f7}.smart-timetable-row>button.teaching-fixed.blocked{color:#98a2b3;background:#fafafa}.smart-public-period{border-bottom:1.5px solid var(--color-border);color:#475467;background:#f5f6f7;grid-column:span 5;justify-content:center;align-items:center;gap:8px;display:flex}.smart-public-period svg{width:13px;height:13px}.smart-public-period strong{font-size:11px}.smart-public-period small{color:#667085;font-size:9px}.schedule-conflict-list,.schedule-holding{border:1px solid var(--color-border);background:#fcfcfb;border-radius:10px;min-height:0;overflow:auto}.schedule-conflict-list>header,.schedule-holding>header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;height:50px;padding:0 14px;display:flex}.schedule-conflict-list>header strong,.schedule-holding>header strong{font-size:14px}.schedule-conflict-list>header span,.schedule-holding>header span{color:#c24138;background:#fdecec;border-radius:999px;padding:3px 8px;font-size:11px;font-weight:700}.schedule-conflict-list>button{border:1px solid var(--color-border);text-align:left;background:#fff;border-radius:8px;flex-direction:column;gap:5px;width:calc(100% - 20px);margin:10px;padding:11px;display:flex}.schedule-conflict-list>button:first-of-type{background:#fff4f2;border-color:#e26d64}.schedule-conflict-list>button strong{font-size:12px}.schedule-conflict-list>button span{color:var(--color-text-secondary);font-size:11px}.schedule-conflict-list>button small{color:var(--color-primary);font-size:11px;font-weight:700}.schedule-conflict-clear{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;height:calc(100% - 50px);padding:24px;display:flex}.schedule-conflict-clear svg{width:28px;color:var(--color-success)}.schedule-conflict-clear span{color:var(--color-text-secondary);font-size:12px;line-height:1.5}.schedule-holding{background:#f3fbf6;border-color:#b7dfc7;padding-bottom:12px}.schedule-holding>header span{color:#166534;background:#eaf8ef}.schedule-holding>p{color:var(--color-text-secondary);margin:12px 16px;font-size:11px}.schedule-holding>button{border:1px solid var(--color-border);text-align:left;background:#fff;border-radius:7px;flex-direction:column;gap:3px;width:calc(100% - 32px);margin:8px 16px;padding:10px;display:flex}.schedule-holding>button span{color:var(--color-text-secondary);font-size:10px}.schedule-edit-status{color:#166534;background:#f3fbf6;border:1px solid #b7dfc7;border-radius:8px;justify-content:space-between;align-items:center;height:40px;padding:0 12px;font-size:12px;font-weight:700;display:flex}.schedule-edit-status>span{align-items:center;gap:7px;display:flex}.schedule-edit-status svg{width:15px}.schedule-edit-status>div{gap:7px;display:flex}.schedule-edit-status button{border:1px solid var(--color-border-strong);color:#50617a;background:#fff;border-radius:6px;height:28px;padding:0 10px;font:600 11px inherit}.schedule-edit-status button:disabled{opacity:.45}.schedule-save-row{border:1px solid var(--color-border);background:#fff;border-radius:9px;justify-content:space-between;align-items:center;height:58px;padding:0 14px;display:flex}.schedule-save-row>span{color:#166534;align-items:center;gap:7px;font-size:12px;font-weight:600;display:flex}.schedule-save-row svg{width:16px}.schedule-save-row>button{background:var(--color-success);color:#fff;border:0;border-radius:8px;align-items:center;gap:7px;height:38px;padding:0 16px;font:700 13px inherit;display:flex}.schedule-save-row>button:disabled{background:#d0d5dd}.schedule-result-notice{color:#166534;background:#eaf8ef;border-radius:7px;margin:0;padding:7px 11px;font-size:11px;font-weight:600;position:absolute;bottom:18px;right:32px}.schedule-state-card{border:1px solid var(--color-border);height:100%;color:var(--color-text-secondary);background:#fff;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:12px;display:flex}.schedule-state-card>svg{width:34px;color:var(--color-primary)}.schedule-state-card strong{color:var(--color-text);font-size:18px}.schedule-state-card button{background:var(--color-primary);color:#fff;border:0;border-radius:8px;height:38px;padding:0 16px;font:700 13px inherit}.schedule-state-card.error strong{color:var(--color-danger)}section.rules-page{box-sizing:border-box;height:auto;min-height:calc(100dvh - var(--topbar-height));overflow:visible}section.rules-page.schedule-results-page{height:100dvh;min-height:0;overflow:hidden}.schedule-results-page .schedule-result-shell{flex:1;min-height:0;overflow:hidden}.schedule-results-page .schedule-result-workspace,.schedule-results-page .schedule-table-column{min-height:0;overflow:hidden}.schedule-results-page .temporary-mode .schedule-table-column{overflow:visible}.schedule-results-page .smart-timetable{flex:auto;min-height:0;overflow:auto}.schedule-results-page .schedule-conflict-list,.schedule-results-page .schedule-holding{min-height:0;overflow:auto}@media (height<=800px){section.rules-page{gap:8px;padding-top:12px;padding-bottom:12px}.smart-schedule-heading{height:36px}.smart-schedule-tabs{height:40px}.schedule-result-actions{height:30px}.schedule-view-tabs{height:38px}.schedule-result-workspace,.schedule-result-workspace.editing{gap:8px;padding:8px}.schedule-object-toolbar{height:auto;min-height:32px}.smart-timetable{grid-template-rows:34px;grid-auto-rows:minmax(24px,1fr)}.schedule-conflict-list>header,.schedule-holding>header{height:40px}.schedule-holding>p{margin:8px 14px}.schedule-save-row{height:44px}.schedule-edit-status{height:34px}}.teacher-builder>label select{width:100%;height:40px;color:var(--color-text);background:#fff;border:1px solid #86cfa0;border-radius:8px;padding:0 12px;font:500 12px inherit}.teacher-builder>button{border:1px solid var(--color-border-strong);height:40px;color:var(--color-text-secondary);background:#fff;border-radius:8px;justify-content:space-between;align-items:center;padding:0 12px;font:500 12px inherit;display:flex}.teacher-builder>button svg{width:14px;height:14px}.teacher-builder>button.add-rule{border-color:var(--color-success);background:var(--color-success);color:#fff;justify-content:center;font-weight:600}.teacher-builder>button.add-rule:disabled{color:#98a2b3;background:#f2f4f7;border-color:#d0d5dd}.teacher-builder p{color:var(--color-text-secondary);grid-column:1/-1;align-items:center;gap:10px;margin:0;font-size:12px;display:flex}.teacher-builder p span{background:var(--color-primary-soft);color:var(--color-primary);border-radius:5px;padding:3px 8px;font-weight:600}.rules-notice{background:var(--color-success-soft);min-height:36px;color:var(--color-success);border:1px solid #a9d4b8;border-radius:7px;padding:8px 12px;font-size:12px;font-weight:600}.rules-table-title{justify-content:space-between;align-items:center;height:36px;display:flex}.rules-table-title strong{font-size:14px}.rules-table-title label{border:1px solid var(--color-border-strong);color:#98a2b3;background:#fff;border-radius:7px;align-items:center;gap:8px;width:228px;height:34px;padding:0 12px;display:flex}.rules-table-title svg{width:14px}.rules-table-title input{border:0;outline:0;min-width:0;font:12px inherit}.rules-table{border:1px solid var(--color-border);background:#fff;border-radius:12px;flex:1;min-height:0;overflow:hidden}.rules-table-row{border-top:1px solid var(--color-border);grid-template-columns:1.2fr 1fr 1.2fr 1.1fr 1fr 1.2fr;align-items:center;height:52px;padding:0 16px;font-size:13px;display:grid}.rules-table-row.head{height:38px;color:var(--color-text-secondary);background:#fcfcfb;border-top:0;font-size:12px;font-weight:600}.rules-table-row span:last-child{justify-content:flex-end;gap:12px;display:flex}.rules-table-row i{color:#475467;background:#f2f4f7;border-radius:999px;padding:4px 8px;font-size:11px;font-style:normal;font-weight:600;display:inline-flex}.rules-table-row i.accent{background:var(--color-brand-soft);color:var(--color-primary)}.rules-table-row button{color:#166534;background:#dcfce7;border:0;border-radius:999px;place-items:center;width:24px;height:24px;display:grid}.rules-table-row button:last-child{color:#b42318;background:#fee2e2}.rules-table-row button svg{width:13px;height:13px}.class-switcher{align-items:center;gap:8px;height:40px;display:flex}.class-switcher button{border:1px solid var(--color-border-strong);min-width:36px;height:36px;color:var(--color-text);background:#fff;border-radius:8px;padding:0 10px;font:500 13px inherit}.class-switcher .current{border-color:var(--color-success);justify-content:space-between;align-items:center;width:150px;display:flex}.class-switcher .current svg{width:14px}.class-switcher span{color:var(--color-text-secondary);margin-left:4px;font-size:12px;font-weight:600}.class-switcher button.chip{border-color:var(--color-border);background:#f2f4f7;border-radius:15px;height:30px;font-size:12px}.class-switcher em{color:var(--color-success);margin-left:auto;font-size:13px;font-style:normal;font-weight:600}.class-preset-main{flex:1;grid-template-columns:1fr 262px;gap:16px;min-height:0;display:grid}.preset-grid{border:1px solid var(--color-border-strong);background:#fff;border-radius:10px;position:relative;overflow:auto}.preset-grid-head,.preset-grid-row{grid-template-columns:130px repeat(5,1fr);min-width:720px;display:grid}.preset-grid-head{background:#f7f6f2;height:44px}.preset-grid-head span,.preset-grid-row>span{border-right:1px solid var(--color-border);color:var(--color-text-secondary);place-items:center;font-size:12px;font-weight:600;display:grid}.preset-grid-row{border-top:1px solid var(--color-border);min-height:52px}.preset-grid-row>span{gap:2px}.preset-grid-row>span small{font-size:10px;font-weight:500}.preset-grid-row button{border:0;border-right:1px solid var(--color-border);color:#c0c7d1;background:#fff;place-items:center;font:500 12px inherit;display:grid}.preset-grid-row button svg{width:13px;height:13px}.preset-grid-row button.filled{color:#344054;background:#fff9ec;border:1px solid #d0d5dd;border-radius:6px;margin:4px;font-weight:600}.preset-grid-row button.selected{outline:2px solid var(--color-brand);outline-offset:-2px}.preset-grid-row.public .public-cell{color:#667085;background:#fafaf8;grid-column:2/-1;place-items:center;font-size:12px;font-weight:600;display:grid}.preset-course-menu{z-index:5;border:1px solid var(--color-border);background:#fff;border-radius:8px;gap:2px;width:150px;padding:8px;display:grid;position:absolute;top:90px;left:270px;box-shadow:0 6px 18px #10182822}.preset-course-menu button{color:#344054;border-radius:6px;align-items:center;gap:10px;height:38px;padding:0 10px;font-size:13px;display:flex}.preset-course-menu button:first-child{background:#f7f6f2}.preset-summary{border:1px solid var(--color-border-strong);background:#fff;border-radius:10px;padding:20px}.preset-summary h2{font-size:16px}.preset-summary>strong{color:var(--color-success);margin:14px 0 6px;font-size:32px;display:block}.preset-summary>strong small{font-size:13px}.preset-summary p{color:var(--color-text-secondary);align-items:center;gap:6px;margin:5px 0;font-size:12px;display:flex}.preset-summary p svg{width:13px;height:13px}.preset-summary hr{border:0;border-top:1px solid var(--color-border);margin:16px 0}.preset-summary h3{margin-bottom:8px;font-size:13px}.preset-summary button{border:1px solid var(--color-border);background:#fff;border-radius:6px;margin:0 6px 6px 0;padding:5px 9px;font:12px inherit}@media (width<=900px){section.rules-page{height:auto;min-height:100%;padding:16px;overflow:visible}.rules-settings-workspace{padding-bottom:88px;padding-right:0;overflow:visible}.rules-heading p{display:none}.rule-section-heading{flex-direction:column;align-items:flex-start;gap:3px}.rule-group-heading p{display:none}.rule-list{overflow:visible}.preference-list .rule-row,.subject-rule .rule-row{grid-template-rows:auto auto;grid-template-columns:26px 20px minmax(0,1fr) 44px 44px;gap:6px 10px;min-height:78px;padding:10px 8px 10px 14px}.preference-list .rule-number,.preference-list .rule-row-icon,.subject-rule .rule-number,.subject-rule .rule-row-icon{grid-row:1/3}.preference-list .rule-row strong,.subject-rule .rule-row strong{grid-column:3}.preference-list .rule-row p,.subject-rule .rule-row p{grid-area:2/3/auto/-1;line-height:1.55}.preference-list .rule-switch,.subject-rule .rule-switch{grid-area:1/4}.subject-rule .rule-settings-action{grid-area:1/5}.rule-parameters{padding:10px 14px}.teacher-builder{grid-template-columns:repeat(2,1fr);height:auto}.teacher-builder p{line-height:1.5}.rules-table{overflow:auto}.rules-table-row{min-width:680px}.class-switcher .chip{display:none}.class-preset-main{grid-template-columns:1fr}.preset-summary{display:none}.preset-grid{min-width:680px}.class-preset-main{overflow-x:auto}.rules-master-toolbar{justify-content:flex-start;margin-bottom:6px;padding:0}.rule-section-heading .rule-section-title{width:100%}}@media (width<=380px){section.rules-page{padding:12px 8px}.preference-list .rule-row,.subject-rule .rule-row{grid-template-columns:22px 18px minmax(0,1fr) 44px;gap:6px;padding:9px 6px}.subject-rule .rule-row p{grid-area:2/3}.subject-rule .rule-settings-action{grid-area:2/4}.preference-list .rule-row p{grid-column:3/-1}}@media (width<=600px){.smart-schedule-heading{flex-direction:column;align-items:flex-start;gap:2px;height:auto}.smart-schedule-heading p{font-size:12px}.smart-schedule-tabs{flex-wrap:wrap;height:auto}.smart-schedule-tabs button{min-height:44px}}@media (width<=900px){.rules-save{width:auto;max-width:none;bottom:16px;left:16px;right:16px}.rules-save button{margin-left:auto}}.rule-parameters{flex-wrap:wrap}.mutual-pair{color:#004ea2;background:#eaf3ff;border-radius:6px;align-items:center;gap:4px;padding:5px 7px;display:flex}.mutual-pair button{color:#667085;background:0 0;border:0;border-radius:50%;place-items:center;width:16px;height:16px;font:700 14px/1 inherit;display:grid}.rule-combo-error{color:#b42318;width:100%;margin:0;font-size:13px;font-weight:600}.rule-unavailable{color:#667085;background:#f2f4f7;border-radius:999px;padding:4px 8px;font-size:11px;font-weight:600}.rule-parameters select{min-width:160px}.smart-schedule-heading{align-items:center;height:32px}.temporary-teacher-filter select{width:150px;min-width:150px;height:36px}.temporary-teacher-select{width:150px;min-width:150px;position:relative}.temporary-teacher-select-trigger{box-sizing:border-box;border:1px solid var(--color-border-strong);width:100%;height:36px;color:var(--color-text);text-align:left;cursor:pointer;background:#fff;border-radius:8px;justify-content:space-between;align-items:center;gap:6px;padding:0 11px;font:600 13px inherit;display:flex}.temporary-teacher-select-trigger>span{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.temporary-teacher-select-trigger svg{width:14px;color:var(--color-text-secondary);flex:0 0 14px}.temporary-teacher-select-trigger[aria-expanded=true]{border-color:var(--color-primary);box-shadow:0 0 0 3px #dbeafe}.temporary-teacher-select-menu{z-index:20;border:1px solid var(--color-border);background:#fff;border-radius:10px;gap:8px;width:min(260px,100vw - 32px);padding:8px;display:grid;position:absolute;top:calc(100% + 4px);left:0;box-shadow:0 12px 28px #10182824}.temporary-teacher-select-search{border:1px solid var(--color-border-strong);background:#fff;border-radius:8px;align-items:center;gap:6px;padding:0 9px;display:flex}.temporary-teacher-select-search svg{width:14px;color:var(--color-text-secondary);flex:0 0 14px}.temporary-teacher-select-search input{width:100%;min-width:0;height:32px;color:var(--color-text);background:0 0;border:0;outline:none;font:500 13px inherit}.temporary-teacher-select-search input::-webkit-search-cancel-button{display:none}.temporary-teacher-select-options{gap:8px;max-height:min(320px,50vh);display:grid;overflow:auto}.temporary-teacher-select-group{gap:3px;display:grid}.temporary-teacher-select-group>strong{color:var(--color-text-secondary);padding:0 4px;font-size:11px;font-weight:700}.temporary-teacher-select-group>button{width:100%;min-height:34px;color:var(--color-text);text-align:left;cursor:pointer;background:#fff;border:0;border-radius:6px;justify-content:space-between;align-items:center;gap:8px;padding:0 9px;font:500 13px inherit;display:flex}.temporary-teacher-select-group>button:hover,.temporary-teacher-select-group>button.selected{background:var(--color-brand-soft);color:var(--color-primary);font-weight:700}.temporary-teacher-select-group>button svg{width:14px;color:var(--color-success)}.temporary-teacher-select-empty{color:var(--color-text-secondary);text-align:center;margin:0;padding:8px 4px;font-size:12px}.temporary-mode .schedule-object-toolbar select{width:160px;height:36px}.temporary-mode .schedule-table-column{grid-template-rows:auto auto minmax(0,1fr);grid-template-columns:240px minmax(0,1fr);gap:9px;display:grid;overflow:visible}.temporary-mode .schedule-table-column>.temporary-schedule-filters{z-index:2;grid-area:1/1;align-self:center;align-items:flex-end;gap:12px;min-height:36px;display:flex}.temporary-mode .temporary-source-version-filter{color:var(--color-text-secondary);gap:4px;font-size:11px;font-weight:700;display:grid}.temporary-mode .temporary-source-version-filter select{z-index:3;box-sizing:border-box;border:1px solid var(--color-border-strong);width:220px;height:36px;color:var(--color-text);background:#fff;border-radius:8px;padding:0 11px;font:600 13px inherit;position:relative}.temporary-mode .temporary-source-version-filter select:disabled{cursor:not-allowed;color:#98a2b3;background:#f2f4f7}.temporary-mode .schedule-table-column>.temporary-schedule-filters .temporary-teacher-filter select,.temporary-mode .schedule-table-column>.temporary-schedule-filters .temporary-teacher-filter .temporary-teacher-select-trigger{z-index:3;box-sizing:border-box;height:36px;position:relative}.temporary-mode .schedule-table-column>.schedule-object-toolbar{grid-area:1/1/auto/-1;align-items:center;min-height:36px;padding-left:470px}.temporary-mode .schedule-table-column>.schedule-edit-inline-feedback{grid-area:2/1/auto/-1}.temporary-mode .schedule-table-column>.smart-timetable{grid-area:3/1/auto/-1;min-height:0;overflow:auto}.schedule-result-toolbar{border-bottom:1px solid var(--color-border);flex:0 0 52px;justify-content:flex-start;align-items:center;gap:16px;height:52px;padding:0 18px;display:flex}.schedule-run-actions{align-items:center;gap:8px;display:flex}.schedule-run-actions>button{border:1px solid var(--color-primary);background:var(--color-primary);color:#fff;white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;gap:7px;min-width:132px;height:36px;padding:0 14px;font:700 13px inherit;display:flex}.schedule-run-actions>button:disabled{opacity:.6}.schedule-run-actions>button svg{width:15px}.schedule-run-actions>button.local-regenerate-button{border-color:var(--color-border-strong);color:var(--color-text);background:#fff}.schedule-run-actions>button.local-regenerate-button:hover:not(:disabled){background:var(--color-surface-subtle)}.schedule-object-actions{flex:none;margin-left:auto}.schedule-run-actions>button.manual-adjust-button{border-color:var(--color-primary);color:var(--color-primary);white-space:nowrap;background:#fff}.schedule-run-actions>button.manual-adjust-button:hover:not(:disabled){background:#f4f8fc}.schedule-run-button{position:relative;overflow:hidden}.schedule-run-button>svg,.schedule-run-button>span{z-index:1;position:relative}.schedule-run-button>i{width:var(--schedule-progress,0%);background:linear-gradient(90deg,#f7c948,#fff1a8);height:3px;transition:width .18s;position:absolute;bottom:0;left:0}.schedule-run-button.running{cursor:progress;opacity:1!important}.schedule-run-button.running>svg{animation:1.1s linear infinite schedule-run-spin}.schedule-run-button.running:after{content:"";background:linear-gradient(100deg,#0000 20%,#ffffff26 45%,#0000 70%);animation:1.4s ease-in-out infinite schedule-run-shimmer;position:absolute;inset:0}@keyframes schedule-run-spin{to{transform:rotate(360deg)}}@keyframes schedule-run-shimmer{0%{transform:translate(-120%)}to{transform:translate(120%)}}@media (prefers-reduced-motion:reduce){.schedule-run-button.running>svg,.schedule-run-button.running:after{animation:none}.schedule-run-button>i{transition:none}}.schedule-result-toolbar .schedule-view-tabs{border:0;height:100%;padding:0}.schedule-save-row{border:0;border-top:1px solid var(--color-border);border-radius:0;flex:0 0 58px}.schedule-edit-feedback>span{color:#166534;align-items:center;gap:7px;font-size:12px;font-weight:600;display:flex}.schedule-save-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:7px;display:flex}.schedule-save-actions button{border:1px solid var(--color-border-strong);color:#50617a;background:#fff;border-radius:7px;height:32px;padding:0 11px;font:600 12px inherit}.schedule-save-actions button.schedule-discard-button{color:#344054;border-color:#98a2b3}.schedule-save-actions button:last-child{background:var(--color-success);color:#fff;border:0;align-items:center;gap:7px;height:38px;padding:0 16px;font-weight:700;display:flex}.schedule-save-actions button:disabled{opacity:.45}.schedule-save-actions button:last-child:disabled{opacity:1;background:#d0d5dd}.schedule-empty-shell{flex:1}.schedule-empty-workspace{flex:1;min-height:0;padding:14px;position:relative}.schedule-empty-workspace .smart-timetable{opacity:.42;pointer-events:none;height:100%}.schedule-empty-action{z-index:1;justify-items:center;gap:10px;display:grid;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.schedule-empty-action button{background:var(--color-primary);color:#fff;border:0;border-radius:8px;align-items:center;gap:8px;height:42px;padding:0 20px;font:700 14px inherit;display:flex;box-shadow:0 6px 16px #004ea22b}.schedule-empty-action button:disabled{opacity:.6}.schedule-empty-action button svg{width:16px}.schedule-empty-action p{width:min(420px,80vw);color:var(--color-danger);text-align:center;background:#fff4f2;border:1px solid #f0b6b1;border-radius:7px;margin:0;padding:8px 10px;font-size:12px;line-height:1.5}@media (height<=800px){.schedule-result-toolbar,.schedule-empty-toolbar{flex-basis:42px;height:42px}.schedule-save-row{flex-basis:44px;height:44px}.schedule-empty-action{gap:6px;padding:14px}}@media (width<=700px){.schedule-result-toolbar{flex-direction:column;flex-basis:auto;align-items:stretch;gap:4px;height:auto;padding:8px 14px}.schedule-run-actions{align-self:flex-end}.schedule-result-toolbar .schedule-view-tabs{flex:1;min-height:38px}.schedule-view-tabs{justify-content:space-between;gap:0}.schedule-result-workspace,.schedule-result-workspace.editing{grid-template-rows:minmax(0,1fr) minmax(200px,.55fr);grid-template-columns:1fr}.schedule-conflict-list,.schedule-holding{min-height:0}.schedule-save-row{flex-direction:column;flex-basis:auto;align-items:flex-start;gap:10px;height:auto}.schedule-save-actions{justify-content:flex-end;width:100%}.schedule-empty-action{width:min(300px,100% - 28px)}}.data-modal.large:has(.local-regenerate-selector){grid-template-rows:auto minmax(0,1fr) auto;gap:14px;height:min(560px,100dvh - 64px);padding:18px 20px;overflow:hidden}.data-modal.large:has(.local-regenerate-selector)>.data-modal-body{min-height:0;display:grid;overflow:hidden}.data-modal.large:has(.local-regenerate-selector) .local-regenerate-selector{height:100%}.local-regenerate-selector{grid-template-rows:auto minmax(0,1fr) auto;gap:10px;min-height:0;display:grid}.local-regenerate-tools{justify-content:space-between;align-items:center;gap:12px;display:flex}.local-regenerate-tools span{color:var(--color-text-secondary);margin:0;font-size:12px}.local-regenerate-tools>div{gap:4px;display:flex}.local-regenerate-tools button{border:1px solid var(--color-border);height:28px;color:var(--color-text-secondary);background:#fff;border-radius:6px;padding:0 9px;font-size:12px;font-weight:600}.local-regenerate-tools button:disabled{opacity:.45}.local-regenerate-groups{grid-auto-rows:max-content;align-content:start;gap:8px;height:auto;min-height:0;max-height:min(360px,100dvh - 260px);padding-right:2px;display:grid;overflow:auto}.local-regenerate-groups>section{border:1px solid var(--color-border);border-radius:8px;overflow:hidden}.local-regenerate-groups>section>header{background:var(--color-surface-subtle);justify-content:space-between;align-items:center;height:32px;padding:0 10px;display:flex}.local-regenerate-groups>section>header strong{font-size:12px}.local-regenerate-groups>section>header span{color:var(--color-text-muted);font-size:11px}.local-regenerate-groups>section>div{grid-template-columns:repeat(5,minmax(0,1fr));gap:0;padding:4px;display:grid}.local-regenerate-groups label{min-width:0;color:var(--color-text);cursor:pointer;border-radius:5px;align-items:center;gap:6px;padding:6px 8px;font-size:12px;display:flex}.local-regenerate-groups label:hover{background:#fff8e6}.local-regenerate-groups input{width:14px;height:14px;accent-color:var(--color-primary)}.local-regenerate-groups label span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.local-regenerate-notice{color:var(--color-danger);background:#fff4f2;border:1px solid #f0b6b1;border-radius:6px;margin:0;padding:7px 9px;font-size:12px;line-height:1.45}@media (width<=700px){.schedule-run-actions{width:100%}.schedule-run-actions>button{flex:1;min-width:0}.local-regenerate-groups>section>div{grid-template-columns:repeat(2,minmax(0,1fr))}}.smart-timetable-row>button.located{z-index:1;outline-offset:-3px;background:#fff4f2;outline:2px solid #e26d64;position:relative}.smart-timetable-row>button.drag-preview{background:#fff;border:1px solid #98a2b3;border-radius:8px;margin:4px;box-shadow:0 8px 22px #1018282e}.smart-timetable-row>button.drag-source{opacity:.48;background:#f2f4f7;border:1px dashed #98a2b3;border-radius:8px;margin:4px;box-shadow:inset 0 0 0 1px #ffffff80}.smart-timetable-row>button.drag-source>i,.smart-timetable-row>button.drag-source>span{opacity:.55}.schedule-holding>.holding-drop-target{color:#166534;text-align:center;background:#fff;border:1px dashed #22c55e;border-radius:9px;flex-direction:column;justify-content:center;align-items:center;gap:8px;width:calc(100% - 32px);height:220px;margin:0 16px 12px;display:flex}.schedule-holding>.holding-drop-target svg{width:26px}.schedule-holding>.holding-drop-target small{color:var(--color-text-secondary);font-size:10px}.schedule-holding>button:not(.holding-drop-target){border:1px solid var(--color-border);text-align:left;background:#fff;border-radius:7px;flex-direction:column;gap:3px;width:calc(100% - 32px);margin:8px 16px;padding:10px;display:flex}@media (height<=800px){.schedule-holding>.holding-drop-target{height:132px}}.schedule-conflict-list>article{border:1px solid var(--color-border);text-align:left;background:#fff;border-radius:8px;flex-direction:column;gap:5px;width:calc(100% - 20px);margin:10px;padding:11px;display:flex}.schedule-conflict-list>article:first-of-type{background:#fff4f2;border-color:#e26d64}.schedule-conflict-list>article strong{font-size:12px}.schedule-conflict-list>article span{color:var(--color-text-secondary);font-size:11px}.schedule-conflict-list>button small,.schedule-conflict-list>article small{color:#166534;font-size:11px;font-weight:500;line-height:1.45}.schedule-conflict-list small b{font-weight:700}.smart-timetable-row>button>.lesson-card>svg{color:#667085;width:12px;height:12px;position:absolute;top:50%;left:6px;transform:translateY(-50%)}.schedule-conflict-list>article.conflict-card{background:#fff;gap:8px;padding:10px 11px}.schedule-conflict-list>article.conflict-card:first-of-type{border-color:var(--color-border);background:#fff}.conflict-card-heading{align-items:center;gap:7px;display:flex}.schedule-conflict-list>article .conflict-card-heading em{color:#475467;background:#f2f4f7;border-radius:4px;flex:none;padding:2px 6px;font-size:10px;font-style:normal;font-weight:700}.schedule-conflict-list>article.data .conflict-card-heading em{color:#b45309;background:#fff7e6}.schedule-conflict-list>article.rule .conflict-card-heading em{color:#6d28d9;background:#f4f0ff}.schedule-conflict-list>article.resource .conflict-card-heading em,.schedule-conflict-list>article.hard .conflict-card-heading em{color:#b42318;background:#fff1f0}.schedule-conflict-list>article.hours .conflict-card-heading em{color:#1d4ed8;background:#eff6ff}.schedule-conflict-list>article.conflict-card p{color:var(--color-text-secondary);margin:0;font-size:11px;line-height:1.45}.conflict-card-solution{border-top:1px solid #eaecf0;justify-content:space-between;align-items:center;gap:8px;padding-top:7px;display:flex}.schedule-conflict-list>article .conflict-card-solution>span{color:#166534;font-weight:600}.conflict-card-solution>div{align-items:center;gap:5px;display:flex}.conflict-card-solution button{color:#166534;white-space:nowrap;background:0 0;border:0;border-radius:5px;align-items:center;gap:3px;padding:4px 6px;font-size:10px;font-weight:700;display:flex}.conflict-card-solution button:hover{background:#eaf8ef}.conflict-card-solution button svg{width:11px;height:11px}.conflict-card-solution button.conflict-locate-link{color:#667085}.all-class-schedules{gap:18px;display:grid}.all-class-schedule{gap:8px;min-width:0;display:grid}.all-class-schedule>header{border:1px solid var(--color-border);background:#f7f6f2;border-radius:8px;justify-content:space-between;align-items:center;height:36px;padding:0 12px;display:flex}.all-class-schedule>header strong{font-size:13px}.all-class-schedule>header span{color:var(--color-text-secondary);font-size:11px}.all-class-schedule .smart-timetable{flex:none;width:100%}.aggregate-schedule-scroll{--aggregate-entity-width:82px;--aggregate-course-width:clamp(46px,calc((100cqw - var(--aggregate-entity-width))/var(--aggregate-column-count)),52px);--aggregate-header-height:26px;--aggregate-row-height:clamp(36px,calc((100cqh - (var(--aggregate-header-height)*2))/var(--aggregate-row-count)),44px);border:1px solid var(--color-border-strong);background:#fff;border-radius:10px;flex:auto;width:100%;min-height:0;overflow:auto;container-type:size}.aggregate-schedule{align-content:start;min-width:max-content;display:grid}.aggregate-entity-head,.aggregate-day-head,.aggregate-period-head,.aggregate-row-name,.aggregate-lesson{box-sizing:border-box;border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);justify-content:center;align-items:center;display:flex}.aggregate-entity-head{z-index:3;color:#344054;white-space:nowrap;background:#f8fafc;grid-row:span 2;padding:0 5px;font-size:11px;position:sticky;left:0;overflow:hidden}.aggregate-day-head{height:var(--aggregate-header-height);color:#344054;background:#f8fafc;font-size:10px}.aggregate-period-head{height:var(--aggregate-header-height);color:#667085;white-space:nowrap;background:#fcfcfb;padding:0 2px;font-size:9px;font-weight:600;overflow:hidden}.aggregate-row{display:grid}.aggregate-row-name{z-index:2;height:var(--aggregate-row-height);color:#344054;text-overflow:ellipsis;white-space:nowrap;background:#fcfcfb;padding:0 5px;font-size:10px;position:sticky;left:0;overflow:hidden}.aggregate-lesson{height:var(--aggregate-row-height);flex-direction:column;gap:1px;min-width:0;padding:2px;overflow:hidden}.aggregate-lesson strong,.aggregate-lesson small{text-align:center;text-overflow:clip;white-space:normal;overflow-wrap:anywhere;word-break:break-all;max-width:100%;overflow:visible}.aggregate-lesson strong{color:#18212f;font-size:10px;font-weight:700;line-height:1.1}.aggregate-lesson small{color:#98a2b3;font-size:8px;font-weight:400;line-height:1.1}.aggregate-lesson strong.aggregate-long-text{font-size:8px}.aggregate-lesson small.aggregate-long-text{font-size:6px;line-height:1.1}.teacher-assignment-scroll{border:1px solid var(--color-border-strong);background:#fff;border-radius:10px;flex:1;min-height:0;overflow:auto}.teacher-assignment-table{border-collapse:collapse;color:#344054;width:max-content;min-width:max-content;font-size:12px}.teacher-assignment-table th,.teacher-assignment-table td{border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);vertical-align:top;min-width:58px}.teacher-assignment-table thead th{color:#344054;text-align:center;white-space:nowrap;background:#f8fafc;height:32px;padding:0 8px;font-weight:700}.teacher-assignment-table thead tr:last-child th{color:#667085;background:#fcfcfb;height:28px;font-size:11px}.teacher-assignment-table tbody th{z-index:1;text-align:left;white-space:nowrap;background:#fff;min-width:86px;padding:8px 10px;font-weight:700;position:sticky;left:0}.teacher-assignment-table tbody tr:hover th,.teacher-assignment-table tbody tr:hover td{background:#f8fbff}.teacher-assignment-table .teacher-assignment-total{z-index:1;text-align:center;background:#fcfcfb;min-width:62px;padding:8px;font-weight:700;position:sticky;left:106px}.teacher-assignment-classes span,.teacher-assignment-hours span{white-space:nowrap;min-height:20px;line-height:20px;display:block}.teacher-assignment-classes span+span,.teacher-assignment-hours span+span{border-top:1px solid #eef1f5}.teacher-assignment-table tr:last-child th,.teacher-assignment-table tr:last-child td{border-bottom:0}.teacher-assignment-table th:last-child,.teacher-assignment-table td:last-child{border-right:0}.aggregate-schedule-scroll{box-sizing:border-box}.schedule-object-toolbar>.schedule-inline-edit-actions{flex:none;align-items:center;gap:6px;margin-left:auto;display:flex}.schedule-object-toolbar>.schedule-inline-edit-actions>button{border:1px solid var(--color-border-strong);color:#50617a;white-space:nowrap;background:#fff;border-radius:7px;justify-content:center;align-items:center;width:auto;height:32px;padding:0 10px;font:600 11px inherit;display:flex}.schedule-inline-edit-actions button:disabled{opacity:.42}.schedule-inline-edit-actions button.schedule-discard-button{color:#344054;border-color:#98a2b3}.schedule-inline-edit-actions button:last-child{border-color:var(--color-success);background:var(--color-success);color:#fff;align-items:center;gap:6px;font-weight:700;display:flex}.schedule-inline-edit-actions button:last-child:disabled{opacity:1;background:#d0d5dd;border-color:#d0d5dd}.schedule-inline-edit-actions button svg{width:14px;height:14px}@container (width<=707px){.schedule-object-toolbar>.schedule-object-actions,.schedule-object-toolbar>.schedule-inline-edit-actions{justify-content:flex-end;width:100%;margin-left:0}}.schedule-edit-inline-feedback{color:#166534;background:#f3fbf6;border:1px solid #b7dfc7;border-radius:7px;align-items:center;gap:7px;min-height:30px;margin:0;padding:5px 9px;font-size:11px;font-weight:600;display:flex}.schedule-edit-inline-feedback svg{width:14px;height:14px}.smart-timetable-row>button{position:relative}.smart-timetable-row>button>.lesson-card{z-index:1;box-sizing:border-box;text-align:left;background:#fff;border:1px solid #0000;border-radius:7px;flex-direction:row;justify-content:center;align-items:center;gap:6px;width:100%;min-width:0;height:100%;padding:4px;display:flex;position:relative}.smart-timetable-row>button>.lesson-card>span,.holding-course-card>span{text-align:left;flex-direction:column;justify-content:center;align-items:flex-start;gap:2px;min-width:0;display:flex}.smart-timetable-row>button>.lesson-card>span{max-width:calc(100% - 36px)}.smart-timetable-row>button>.lesson-card strong,.smart-timetable-row>button>.lesson-card small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.lesson-card>i{flex:none;grid-template-columns:repeat(2,3px);gap:2px;width:10px;display:grid}.smart-timetable-row>button>.lesson-card>i{position:absolute;top:50%;left:6px;transform:translateY(-50%)}.lesson-card>i b{background:#667085;border-radius:50%;width:3px;height:3px}.smart-timetable-row>button.teacher-course-highlight>.lesson-card{background:#fff;border:2px dashed #c7cdd6;border-radius:8px}.smart-timetable-row>button.selected{box-shadow:none;background:#fff}.smart-timetable-row>button.selected>.lesson-card{background:#fff;border:2px solid #41b25d;box-shadow:0 2px 7px #16653422}.smart-timetable-row>button.valid-target{border:0;border-right:1.5px solid var(--color-border);border-bottom:1.5px solid var(--color-border);background:#fff;border-radius:0;margin:0}.smart-timetable-row>button.valid-target:last-child{border-right:0}.smart-timetable-row:last-child>button.valid-target{border-bottom:0}.smart-timetable-row>button.valid-target>.valid-target-card{z-index:2;box-sizing:border-box;pointer-events:none;border:2px dashed #22c55e;border-radius:8px;width:auto;height:auto;position:absolute;inset:4px}.smart-timetable-row>button.valid-target>.lesson-card.valid-target-card{background:#fff;inset:4px}.smart-timetable-row>button.valid-target em{z-index:3;position:relative}.smart-timetable-row>button.manually-adjusted:before{content:"";z-index:4;background:var(--color-success);pointer-events:none;height:3px;position:absolute;bottom:0;left:0;right:0}.soft-conflict-toggle{color:var(--color-text);cursor:pointer;background:#fff;border:1px solid #b7dfc7;border-radius:8px;align-items:center;gap:9px;margin:0 16px 12px;padding:10px 11px;display:flex}.soft-conflict-toggle input{width:17px;height:17px;accent-color:var(--color-success);margin:0}.soft-conflict-toggle>span{gap:2px;min-width:0;display:grid}.soft-conflict-toggle strong{font-size:12px}.soft-conflict-toggle small{color:var(--color-text-secondary);font-size:10px;line-height:1.35}.smart-timetable-row>button.empty-explainable{color:#98a2b3;cursor:pointer}.smart-timetable-row>button.empty-explainable:hover{color:#2563eb;background:#f5faff}.smart-timetable-row>button.empty-explainable:focus-visible,.smart-timetable-row>button.inspected-empty{z-index:2;color:#2563eb;background:#f5faff;outline:0;box-shadow:inset 0 0 0 1px #93c5fd}.smart-timetable-row>button .empty-cell-hint{letter-spacing:.01em;font-size:9px;font-style:normal;font-weight:500}.smart-timetable-row>button:focus-visible{outline:0}.smart-timetable-row>button:focus-visible>.lesson-card{outline-offset:-3px;outline:2px solid #004ea2}.smart-timetable-row>button.selected:focus-visible>.lesson-card{outline:0}.smart-timetable-row>button.drag-source{border:0;border-right:1.5px solid var(--color-border);border-bottom:1.5px solid var(--color-border);box-shadow:none;opacity:1;background:#fff;border-radius:0;margin:0}.smart-timetable-row>button.drag-source>.lesson-card{opacity:.48;background:#f2f4f7;border:1px dashed #98a2b3;box-shadow:inset 0 0 0 1px #ffffff80}.smart-timetable-row>button.drag-source>.lesson-card>i,.smart-timetable-row>button.drag-source>.lesson-card>span{opacity:.55}.lesson-card.drag-preview{opacity:1!important;background:#fff!important;border:1px solid #98a2b3!important;border-radius:8px!important;box-shadow:0 8px 22px #1018282e!important}.schedule-drag-ghost.lesson-card,.schedule-drag-ghost.holding-course-card{z-index:10000!important;pointer-events:none!important;opacity:1!important;color:#18212f!important;box-sizing:border-box!important;background:#fff!important;border:1px solid #98a2b3!important;border-radius:8px!important;flex-direction:row!important;align-items:center!important;gap:6px!important;margin:0!important;padding:4px 8px 4px 28px!important;display:flex!important;position:fixed!important;top:0!important;left:0!important;box-shadow:0 8px 22px #1018282e!important}.schedule-drag-ghost.lesson-card>span,.schedule-drag-ghost.holding-course-card>span{text-align:left!important;flex-direction:column!important;justify-content:center!important;align-items:flex-start!important;gap:2px!important;min-width:0!important;display:flex!important}.schedule-drag-ghost.lesson-card strong,.schedule-drag-ghost.holding-course-card strong{color:#18212f!important;text-overflow:ellipsis!important;white-space:nowrap!important;max-width:100%!important;font-size:13px!important;font-weight:600!important;line-height:1.25!important;display:block!important;overflow:hidden!important}.schedule-drag-ghost.lesson-card small,.schedule-drag-ghost.holding-course-card small{color:#98a2b3!important;text-overflow:ellipsis!important;white-space:nowrap!important;max-width:100%!important;font-size:11px!important;line-height:1.25!important;display:block!important;overflow:hidden!important}.schedule-drag-ghost.lesson-card>i{grid-template-columns:repeat(2,3px)!important;gap:2px!important;width:10px!important;display:grid!important;position:absolute!important;top:50%!important;left:6px!important;transform:translateY(-50%)!important}.schedule-drag-ghost.lesson-card>i b{background:#667085!important;border-radius:50%!important;width:3px!important;height:3px!important}.schedule-drag-ghost.holding-course-card{min-height:48px;padding:8px 8px 8px 28px!important}.schedule-holding>button:not(.holding-drop-target){cursor:grab;border-radius:8px;padding:4px}.schedule-holding>button:not(.holding-drop-target):active{cursor:grabbing}.schedule-holding .holding-course-card{box-sizing:border-box;background:#fff;border:1px solid #98a2b3;border-radius:7px;align-items:center;gap:8px;width:100%;min-height:48px;padding:8px;display:flex}.schedule-holding .holding-course-card strong{font-size:12px}.schedule-holding .holding-course-card small{color:var(--color-text-secondary);font-size:10px}.schedule-conflict-list>nav{border:1px solid var(--color-border);background:#f2f4f7;border-radius:7px;grid-template-columns:1fr 1fr;gap:3px;margin:8px 10px 0;padding:3px;display:grid}.schedule-conflict-list>nav button{color:#667085;background:0 0;border:0;border-radius:5px;height:28px;font:600 11px inherit}.schedule-conflict-list>nav button.active{color:#344054;background:#fff;box-shadow:0 1px 3px #1018281a}.schedule-conflict-list>nav+.schedule-conflict-clear{height:calc(100% - 98px)}.schedule-conflict-list>article.empty-slot-diagnostic,.schedule-conflict-list>article.empty-slot-diagnostic:first-of-type{background:#f8fbff;border:1px solid #bfdbfe;gap:9px}.empty-slot-diagnostic>header{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.empty-slot-diagnostic>header>span{align-items:center;gap:7px;min-width:0;display:flex}.empty-slot-diagnostic>header em{color:#2563eb;background:#eaf4ff;border-radius:4px;flex:none;padding:2px 6px;font-size:10px;font-style:normal;font-weight:600}.empty-slot-diagnostic>header button{color:#667085;background:0 0;border:0;border-radius:5px;flex:0 0 22px;width:22px;height:22px;font-size:17px;line-height:1}.empty-slot-diagnostic>header button:hover{color:#2563eb;background:#e5f1ff}.schedule-conflict-list>article.empty-slot-diagnostic>p{color:#475467;margin:0;font-size:11px;line-height:1.45}.empty-slot-diagnostic ul{gap:7px;margin:0;padding:0;list-style:none;display:grid}.empty-slot-diagnostic li{border-top:1px solid #dbe7f4;align-items:flex-start;gap:7px;padding-top:7px;display:flex}.empty-slot-diagnostic li>span{color:#b42318;background:#fee2e2;border-radius:4px;flex:none;margin-top:1px;padding:2px 5px;font-size:9px;font-weight:700}.empty-slot-diagnostic li.available>span{color:#166534;background:#dcfce7}.empty-slot-diagnostic li>div{gap:2px;min-width:0;display:grid}.schedule-conflict-list .empty-slot-diagnostic li p{color:#667085;margin:0;font-size:10px;line-height:1.45}.schedule-result-dialog-backdrop{z-index:80;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#10182870;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.schedule-result-dialog{border:1px solid var(--color-border);background:#fff;border-radius:14px;flex-direction:column;gap:18px;width:min(560px,100vw - 32px);max-height:calc(100vh - 32px);padding:22px;display:flex;overflow:auto;box-shadow:0 24px 64px #10182835}.schedule-result-dialog>header{align-items:flex-start;gap:12px;display:flex}.schedule-result-dialog>header>span{width:38px;height:38px;color:var(--color-success);background:#eaf8ef;border-radius:50%;flex:0 0 38px;place-items:center;display:grid}.schedule-result-dialog>header svg{width:20px;height:20px}.schedule-result-dialog h2{color:var(--color-text);margin:0;font-size:19px;line-height:26px}.schedule-result-dialog header p{color:var(--color-text-secondary);margin:3px 0 0;font-size:12px;line-height:1.5}.schedule-result-metrics{grid-template-columns:repeat(3,1fr);gap:9px;display:grid}.schedule-result-metrics article{border:1px solid var(--color-border);background:#fcfcfb;border-radius:9px;flex-direction:column;align-items:center;gap:3px;padding:14px 8px;display:flex}.schedule-result-metrics strong{color:var(--color-primary);font-size:24px;line-height:28px}.schedule-result-metrics span{color:var(--color-text-secondary);font-size:11px}.schedule-result-conflict-summary{gap:10px;display:grid}.schedule-result-conflict-summary>div{justify-content:space-between;align-items:center;display:flex}.schedule-result-conflict-summary>div strong{font-size:13px}.schedule-result-conflict-summary>div span{color:#c24138;background:#fdecec;border-radius:999px;padding:3px 8px;font-size:10px;font-weight:700}.schedule-result-conflict-summary ul{flex-wrap:wrap;gap:7px;margin:0;padding:0;list-style:none;display:flex}.schedule-result-conflict-summary li{border:1px solid var(--color-border);background:#fff;border-radius:7px;align-items:center;gap:7px;padding:6px 9px;display:flex}.schedule-result-conflict-summary li span{color:#475467;font-size:11px}.schedule-result-conflict-summary li strong{font-size:12px}.schedule-result-conflict-summary>p{color:#166534;background:#f3fbf6;border-radius:7px;align-items:center;gap:7px;margin:0;padding:10px;font-size:11px;font-weight:600;display:flex}.schedule-result-conflict-summary>p svg{width:14px}.schedule-result-dialog-message{color:#475467;background:#f7f6f2;border-radius:7px;margin:0;padding:9px 11px;font-size:11px;line-height:1.5}.schedule-result-save-error{color:var(--color-danger);background:#fff4f2;border:1px solid #f1b8b4;border-radius:7px;margin:0;padding:9px 11px;font-size:11px;line-height:1.5}.schedule-result-name-field{gap:6px;display:grid}.schedule-result-name-field>span{color:#344054;font-size:12px;font-weight:700}.schedule-result-name-field input{box-sizing:border-box;border:1px solid var(--color-border-strong);width:100%;height:40px;color:var(--color-text);background:#fff;border-radius:8px;padding:0 11px;font:500 13px inherit}.schedule-result-name-field input:focus{border-color:var(--color-primary);outline:2px solid #0078c524}.schedule-result-name-field input[aria-invalid=true]{border-color:var(--color-danger)}.schedule-result-name-field small{color:var(--color-text-secondary);font-size:10px}.schedule-result-name-field small.error{color:var(--color-danger)}.schedule-result-dialog>footer{justify-content:flex-end;gap:8px;display:flex}.schedule-result-dialog>footer button{border:1px solid var(--color-border-strong);color:#344054;background:#fff;border-radius:8px;height:38px;padding:0 15px;font:700 12px inherit}.schedule-result-dialog>footer button.schedule-result-save{border-color:var(--color-success);background:var(--color-success);color:#fff;align-items:center;gap:7px;display:flex}.schedule-result-dialog>footer button:disabled{opacity:.55}.schedule-result-dialog>footer button.schedule-result-save:disabled{opacity:1;background:#d0d5dd;border-color:#d0d5dd}.schedule-result-dialog>footer svg{width:15px;height:15px}.schedule-result-dialog.has-diagnostics>header>span{color:#b54708;background:#fff4e5}.schedule-result-diagnostics{background:#fffaf5;border:1px solid #f1d3b0;border-radius:9px;gap:10px;padding:12px;display:grid}.schedule-result-diagnostics>div{justify-content:space-between;align-items:center;gap:10px;display:flex}.schedule-result-diagnostics>div strong{font-size:13px}.schedule-result-diagnostics button{color:#344054;background:#fff;border:1px solid #d0d5dd;border-radius:7px;height:30px;padding:0 10px;font:700 11px inherit}.schedule-result-diagnostics ol{counter-reset:diagnostic;gap:8px;margin:0;padding:0;list-style:none;display:grid}.schedule-result-diagnostics li{counter-increment:diagnostic;background:#fff;border:1px solid #ead9c8;border-radius:7px;gap:5px;padding:10px;display:grid}.schedule-result-diagnostics li>strong{color:#9a3412;font-size:11px}.schedule-result-diagnostics li>strong:before{content:counter(diagnostic) ". "}.schedule-result-diagnostics li h3{color:#1d2939;margin:0;font-size:12px;line-height:1.45}.schedule-result-diagnostics li p{color:#344054;margin:0;font-size:11px;line-height:1.55}.schedule-result-diagnostics li small{color:#166534;font-size:11px;line-height:1.45}.schedule-result-diagnostics li button.schedule-diagnostic-action{color:#166534;border-color:#9bc8ac;align-items:center;gap:5px;width:max-content;margin-top:2px;display:flex}.schedule-result-diagnostics li button.schedule-diagnostic-action svg{width:13px;height:13px}.schedule-result-diagnostics>p{color:#475467;margin:0;font-size:11px;line-height:1.5}.schedule-result-diagnostics>label{color:#9a3412;gap:6px;font-size:11px;font-weight:700;display:grid}.schedule-result-diagnostics textarea{box-sizing:border-box;resize:vertical;color:#344054;background:#fff;border:1px solid #d0d5dd;border-radius:7px;width:100%;min-height:120px;padding:8px;font:11px/1.5 ui-monospace,SFMono-Regular,Menlo,monospace}.schedule-result-seed{color:#344054;background:#f5fbff;border:1px solid #cfe5f5;border-radius:8px;gap:4px;padding:10px;display:grid}.schedule-result-seed strong{font-size:12px}.schedule-result-seed span,.schedule-result-seed p{color:#475467;margin:0;font-size:11px;line-height:1.5}.schedule-result-seed p{color:#0f5e92;font-weight:600}.schedule-result-dialog.has-diagnostics{box-sizing:border-box;max-height:calc(100dvh - 48px);overflow:hidden}.schedule-result-dialog.has-diagnostics>header,.schedule-result-dialog.has-diagnostics>footer{flex:none}.schedule-result-dialog.has-diagnostics .schedule-result-diagnostics{min-height:0;overflow-y:auto}.schedule-progress-dialog>header>span{color:#0078c5;background:#eef4ff}.schedule-progress-dialog>header>span svg{animation:1.4s linear infinite schedule-progress-spin}.schedule-progress-dialog.error>header>span{color:#b42318;background:#fff1f0}.schedule-progress-dialog.error>header>span svg{animation:none}.schedule-progress-track{background:#e8edf3;border-radius:999px;height:8px;overflow:hidden}.schedule-progress-track span{border-radius:inherit;background:linear-gradient(90deg,#0078c5,#41b25d);height:100%;transition:width .18s;display:block}.schedule-progress-stage{background:#f8fbff;border:1px solid #cbd9ea;border-radius:9px;grid-template-columns:34px 1fr auto;align-items:center;gap:10px;padding:13px;display:grid}.schedule-progress-stage>span{color:#fff;background:#0078c5;border-radius:50%;place-items:center;width:30px;height:30px;font-size:11px;font-weight:800;display:grid}.schedule-progress-stage>div{gap:2px;display:grid}.schedule-progress-stage strong{font-size:13px}.schedule-progress-stage p,.schedule-progress-footnote{color:#667085;margin:0;font-size:11px;line-height:1.5}.schedule-progress-stage>b{color:#0078c5;font-size:13px}.schedule-progress-footnote{background:#f7f6f2;border-radius:7px;padding:9px 11px}.schedule-progress-error{color:#b42318;background:#fff4f2;border:1px solid #f1b8b4;border-radius:8px;margin:0;padding:12px;font-size:12px;line-height:1.55}@keyframes schedule-progress-spin{to{transform:rotate(360deg)}}@media (width<=900px){.schedule-object-toolbar:has(.schedule-inline-edit-actions){flex-wrap:wrap;align-items:flex-start;height:auto;min-height:36px}.schedule-object-toolbar>.schedule-inline-edit-actions{justify-content:flex-end;width:100%}.schedule-object-toolbar>.schedule-inline-edit-actions>button{padding:0 7px}.schedule-result-metrics{grid-template-columns:1fr}}.smart-timetable,.schedule-view-tabs button{border-radius:0}.smart-schedule-heading{justify-content:stretch;align-items:start;gap:4px;height:auto;min-height:56px;display:grid}.smart-schedule-heading p{display:block}.smart-timetable-row>button.teaching-fixed:not(.teaching-no-class){background:#fff}.smart-timetable-row>button.teaching-fixed.teaching-no-class{color:#667085;background:#f2f4f7}.smart-schedule-empty{height:100%;min-height:260px}.smart-schedule-empty button{border:1px solid var(--color-primary);background:var(--color-primary);color:#fff;border-radius:8px;justify-content:center;align-items:center;gap:6px;height:40px;margin-top:8px;padding:0 14px;font:600 13px inherit;display:inline-flex}.schedule-result-name-field select{box-sizing:border-box;border:1px solid var(--color-border-strong);width:100%;height:40px;color:var(--color-text);background:#fff;border-radius:8px;padding:0 11px;font:500 13px inherit}.smart-schedule-heading{grid-template-columns:minmax(0,1fr) auto;align-items:center}.smart-schedule-heading>div{gap:4px;display:grid}.smart-schedule-heading>.smart-schedule-heading-actions{align-items:flex-end;gap:12px;display:flex}.temporary-source-version-select{color:var(--color-text-secondary);gap:4px;font-size:11px;font-weight:700;display:grid}.temporary-source-version-select select{border:1px solid var(--color-border-strong);width:220px;height:40px;color:var(--color-text);background:#fff;border-radius:8px;padding:0 11px;font:600 13px inherit}.temporary-source-version-select select:disabled{cursor:not-allowed;color:#98a2b3;background:#f2f4f7}.smart-output-button{border:1px solid var(--color-primary);height:40px;color:var(--color-primary);white-space:nowrap;background:#fff;border-radius:8px;justify-content:center;align-items:center;gap:7px;padding:0 18px;font:700 13px inherit;display:flex}.smart-output-button svg{width:16px}@media (width<=600px){.smart-schedule-heading-actions{flex-wrap:wrap;align-items:flex-end;width:100%}.temporary-source-version-select{flex:1}.temporary-source-version-select select{width:100%;min-width:0}}.temporary-mode .schedule-table-column>.temporary-schedule-filters{align-items:flex-end;min-height:58px}.temporary-mode .schedule-table-column>.temporary-schedule-filters .temporary-teacher-filter{min-height:58px;color:var(--color-text-secondary);align-items:end;gap:4px;font-size:11px;font-weight:700;display:grid}.temporary-mode .schedule-table-column>.temporary-schedule-filters .temporary-teacher-filter .temporary-teacher-select-trigger{width:150px;height:40px}.temporary-mode .temporary-source-version-filter select{height:40px}.temporary-mode .schedule-table-column>.schedule-object-toolbar{align-items:flex-end;min-height:58px}.temporary-mode .schedule-table-column>.schedule-object-toolbar>.schedule-object-switcher{align-self:flex-end;height:40px}.temporary-mode .schedule-table-column>.schedule-object-toolbar>.schedule-object-switcher button,.temporary-mode .schedule-table-column>.schedule-object-toolbar>.schedule-object-switcher select{height:40px}.temporary-mode .schedule-table-column{grid-template-rows:auto auto minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.temporary-mode .schedule-table-column>.temporary-schedule-filters{box-sizing:border-box;pointer-events:none;flex-wrap:nowrap;gap:7px;width:auto}.temporary-mode .schedule-table-column>.temporary-schedule-filters select,.temporary-mode .schedule-table-column>.temporary-schedule-filters button,.temporary-mode .schedule-table-column>.temporary-schedule-filters .temporary-teacher-select,.temporary-mode .schedule-table-column>.temporary-schedule-filters .temporary-teacher-select input{pointer-events:auto}.temporary-mode .temporary-class-switcher{color:var(--color-text-secondary);align-items:end;gap:4px;font-size:11px;font-weight:700;display:grid}.temporary-mode .temporary-class-switcher .schedule-object-switcher{align-items:center;gap:8px;height:40px;display:flex}.temporary-mode .temporary-class-switcher .schedule-object-switcher button{width:32px;height:40px}.temporary-mode .temporary-class-switcher .schedule-object-switcher select{width:150px;height:40px}.temporary-mode .schedule-table-column>.schedule-object-toolbar{grid-row:1;padding-left:0}.temporary-mode .schedule-table-column>.schedule-edit-inline-feedback{grid-row:2}.temporary-mode .schedule-table-column>.smart-timetable{grid-row:3}.temporary-mode .schedule-table-column>.schedule-object-toolbar>.schedule-object-switcher{display:none}.temporary-mode .temporary-source-version-filter select,.temporary-mode .schedule-table-column>.temporary-schedule-filters .temporary-teacher-filter .temporary-teacher-select-trigger,.temporary-mode .temporary-class-switcher .schedule-object-switcher,.temporary-mode .temporary-class-switcher .schedule-object-switcher button,.temporary-mode .temporary-class-switcher .schedule-object-switcher select{height:36px}.temporary-mode .temporary-source-version-filter select{width:150px}.temporary-mode .schedule-table-column>.temporary-schedule-filters .temporary-teacher-filter .temporary-teacher-select-trigger{width:110px}.temporary-mode .temporary-class-switcher .schedule-object-switcher select{box-sizing:border-box;border:1px solid var(--color-border-strong);color:var(--color-text);background:#fff;border-radius:8px;width:135px;padding:0 11px;font:600 13px inherit}.temporary-mode .schedule-table-column>.schedule-object-toolbar>.schedule-inline-edit-actions{gap:4px}.temporary-mode .schedule-table-column>.schedule-object-toolbar>.schedule-inline-edit-actions>button{padding:0 6px;font-size:10px}.temporary-teacher-filter{color:var(--color-text-secondary);align-items:center;gap:10px;font-size:12px;font-weight:700;display:flex}.temporary-teacher-filter select,.temporary-teacher-select-trigger{border:1px solid var(--color-border-strong);width:150px;min-width:150px;height:36px;color:var(--color-text);background:#fff;border-radius:8px;padding:0 11px;font:600 13px inherit}.temporary-mode .schedule-run-actions .schedule-run-button{display:none}.temporary-side-stack{grid-template-rows:max-content minmax(190px,1fr);gap:8px;min-width:0;min-height:0;display:grid;overflow:hidden}.temporary-side-stack>.schedule-holding{min-height:0;overflow:auto}.temporary-teacher-schedule{border:1px solid var(--color-border);background:#fff;border-radius:10px;flex-direction:column;min-width:0;min-height:0;display:flex;overflow:hidden}.temporary-teacher-schedule>header{border-bottom:1px solid var(--color-border);gap:2px;padding:7px 10px;display:grid}.temporary-teacher-schedule>header strong{font-size:13px}.temporary-teacher-schedule>header span{color:var(--color-text-secondary);font-size:10px}.temporary-teacher-thumbnail{flex:none;grid-template-rows:24px;grid-template-columns:26px repeat(5,minmax(0,1fr));grid-auto-rows:minmax(27px,max-content);min-height:0;display:grid;overflow:hidden}.temporary-thumbnail-row{display:contents}.temporary-thumbnail-head,.temporary-thumbnail-period,.temporary-thumbnail-cell{border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);justify-content:center;align-items:center;min-width:0;display:flex}.temporary-thumbnail-head{color:#475467;background:#f7f6f2;font-size:10px;font-weight:700}.temporary-thumbnail-head:nth-child(6){border-right:0}.temporary-thumbnail-period{color:#475467;background:#fcfcfb;font-size:10px;font-weight:700}.temporary-thumbnail-cell{text-align:center;flex-direction:column;gap:1px;padding:1px 3px}.temporary-thumbnail-cell:nth-child(6){border-right:0}.temporary-thumbnail-cell strong,.temporary-thumbnail-cell span{overflow-wrap:anywhere;text-overflow:clip;white-space:normal;width:100%;overflow:visible}.temporary-thumbnail-cell strong{font-size:9px;line-height:12px}.temporary-thumbnail-cell span{color:var(--color-text-secondary);font-size:8px;line-height:10px}.temporary-thumbnail-row:last-child>.temporary-thumbnail-period,.temporary-thumbnail-row:last-child>.temporary-thumbnail-cell{border-bottom:0}.temporary-save-dialog{width:min(500px,100vw - 32px)}.substitute-teaching-panel{border:1px solid var(--color-border);box-sizing:border-box;background:#fff;border-radius:10px;grid-template-rows:auto minmax(0,1fr);align-self:start;gap:8px;min-width:0;padding:10px;display:grid;overflow:hidden}.substitute-teaching-panel-header{z-index:1;background:#fff;padding:0 2px 2px}.substitute-panel-content{align-content:start;gap:8px;min-height:0;padding-right:2px;display:grid;overflow:auto}.substitute-teaching-panel-header strong{color:var(--color-text);font-size:13px}.substitute-teaching-panel .temporary-teacher-schedule{border:1px solid var(--color-border);background:#fff;border-radius:8px;flex:none;align-self:start}.substitute-scope-below{border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);gap:6px;padding:8px 10px;display:grid}.temporary-teacher-schedule:has(.substitute-scope-below)>.temporary-teacher-schedule-header{border-bottom:0}.substitute-scope-below>strong{color:var(--color-text);font-size:12px}.substitute-teacher-picker{gap:0;padding:0;overflow:hidden}.substitute-picker-block{gap:8px;padding:8px;display:grid}.substitute-section-divider{background:var(--color-border);height:1px}.temporary-teacher-schedule .temporary-teacher-schedule-header{border-bottom:1px solid var(--color-border);flex-wrap:wrap;align-items:baseline;gap:6px;padding:7px 10px;display:flex}.temporary-teacher-schedule .temporary-teacher-schedule-header strong{font-size:13px}.temporary-teacher-schedule .temporary-teacher-schedule-header span{color:var(--color-text-secondary);font-size:10px;font-weight:500}.substitute-scope-row{flex-wrap:wrap;gap:10px 14px;padding:0 2px;display:flex}.substitute-scope-row label{color:var(--color-text-secondary);cursor:pointer;background:0 0;border:0;align-items:center;gap:4px;padding:0;font-size:12px;font-weight:600;display:inline-flex}.substitute-scope-row label.active{color:#1459b8}.substitute-filter-row{flex-wrap:wrap;gap:10px;display:flex}.substitute-candidate-box{background:0 0;border:0;flex-wrap:wrap;gap:5px;padding:0;display:flex}.substitute-candidate-pill{border:1px solid var(--color-border);min-height:27px;color:var(--color-text);cursor:pointer;background:#f8fafc;border-radius:999px;align-items:center;gap:4px;padding:0 8px;font:600 11px inherit;display:inline-flex}.substitute-candidate-pill small{color:var(--color-text-secondary);font:500 10px inherit}.substitute-candidate-pill.active{border-color:var(--color-primary);color:#1459b8;background:#eef5ff}.temporary-thumbnail-cell,.temporary-thumbnail-cell.selectable,.temporary-thumbnail-cell.checked,.temporary-thumbnail-cell.conflict,.temporary-thumbnail-cell.substitute-target-slot,.temporary-thumbnail-lesson{border-radius:0}.temporary-thumbnail-cell.selectable{border-top:0;border-left:0;border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);cursor:pointer;text-align:center;font:inherit;color:inherit;appearance:none;background:0 0;place-items:center;gap:1px;padding:1px 3px;display:grid;position:relative}.temporary-thumbnail-lesson{text-align:center;background:0 0;flex-direction:column;grid-area:1/1;gap:1px;width:100%;display:flex}.temporary-thumbnail-cell.checked{background:#dcfce7}.temporary-thumbnail-cell.conflict{background:#ffedd5}.temporary-thumbnail-cell.substitute-target-slot{background:0 0}.temporary-thumbnail-cell.substitute-target-slot .temporary-thumbnail-lesson{border:1px dashed var(--color-success);background:0 0;border-radius:7px}.substitute-teaching-panel .substitute-empty,.substitute-teaching-panel .substitute-empty-hint{color:var(--color-text-secondary);gap:6px;margin:0;font-size:12px;line-height:1.5;display:grid}.substitute-teaching-panel .substitute-empty{text-align:center;align-content:center;justify-items:center;padding:24px 12px}.substitute-teaching-panel .substitute-empty svg{width:24px;height:24px;color:var(--color-primary)}.substitute-teaching-panel .substitute-empty strong{color:var(--color-text);font-size:13px}.substitute-section{border:1px solid var(--color-border);background:#fcfdff;border-radius:8px;align-self:start;gap:8px;padding:8px;display:grid}.substitute-section>header{justify-content:space-between;align-items:center;gap:8px;display:flex}.substitute-section>header strong{font-size:12px}.substitute-section>header span{color:var(--color-text-secondary);font-size:11px}.substitute-scope-options{gap:6px;display:grid}.substitute-scope-options label,.substitute-filters label,.substitute-picker-block label{color:var(--color-text);align-items:center;gap:6px;font-size:12px;display:flex}.substitute-lesson-list{gap:4px;max-height:120px;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.substitute-candidates ul{display:none}.substitute-candidates>.temporary-teacher-schedule{border-radius:0;margin-inline:-8px}.substitute-confirm-row{align-items:center;gap:8px;display:flex}.substitute-confirm-icons{color:var(--color-text-secondary);align-items:center;gap:4px;display:inline-flex}.substitute-confirm-icons svg{width:16px;height:16px}.substitute-confirm{background:var(--color-primary);color:#fff;border:0;border-radius:8px;flex:1;justify-content:center;align-items:center;gap:6px;min-height:36px;padding:0 12px;font:700 12px inherit;display:inline-flex}.substitute-confirm:disabled{opacity:.45;cursor:not-allowed}.substitute-teaching-panel .temporary-teacher-schedule{min-height:0;overflow:hidden}.schedule-results-page .substitute-teaching-panel{align-self:start;max-height:calc(100dvh - 180px)}.temporary-mode .schedule-result-workspace.editing{grid-template-columns:minmax(0,1fr) 360px;align-content:start;align-items:start}.schedule-result-workspace.assignment-view,.schedule-result-workspace.no-side-panel,.schedule-result-workspace.conflict-panel-collapsed{grid-template-columns:minmax(0,1fr)}.schedule-result-workspace.conflict-panel-collapsed.editing{grid-template-columns:minmax(0,1fr) 360px}.schedule-conflict-list>header .schedule-conflict-list-tools{align-items:center;gap:8px;display:flex}.schedule-conflict-list>header .schedule-conflict-collapse{border:1px solid var(--color-border);color:#667085;cursor:pointer;background:#fff;border-radius:7px;place-items:center;width:28px;height:28px;display:grid}.schedule-conflict-list>header .schedule-conflict-collapse:hover{border-color:var(--color-brand);background:var(--color-brand-soft);color:var(--color-primary)}.schedule-conflict-list>header .schedule-conflict-collapse svg{width:15px;height:15px}.schedule-conflict-expand-fab{z-index:70;border:1px solid var(--color-border);min-width:44px;color:var(--color-text);cursor:pointer;background:#fff;border-right:0;border-radius:10px 0 0 10px;flex-direction:column;align-items:center;gap:6px;padding:12px 10px 12px 12px;font:600 12px inherit;display:flex;position:fixed;top:50%;right:0;transform:translateY(-50%);box-shadow:-4px 0 18px #1018281a}.schedule-conflict-expand-fab:hover{border-color:var(--color-brand);background:var(--color-brand-soft);color:var(--color-primary)}.schedule-conflict-expand-fab svg{width:16px;height:16px}.schedule-conflict-expand-fab span{writing-mode:vertical-rl;text-orientation:mixed;letter-spacing:.08em}.schedule-conflict-expand-fab em{color:#c24138;background:#fdecec;border-radius:999px;min-width:20px;padding:2px 6px;font-size:11px;font-style:normal;font-weight:700;line-height:1.2}.teacher-assignment-table th,.teacher-assignment-table td{vertical-align:middle;text-align:center;white-space:nowrap;width:1%;min-width:0}.teacher-assignment-table tbody th{z-index:3}.teacher-assignment-table thead th:nth-child(2),.teacher-assignment-table .teacher-assignment-total{box-shadow:none}.schedule-results-page .teacher-assignment-scroll{width:100%;max-width:100%}.schedule-results-page .teacher-assignment-table{table-layout:fixed;width:100%;min-width:100%}.schedule-results-page .teacher-assignment-table col.assignment-teacher-column{width:86px}.schedule-results-page .teacher-assignment-table col.assignment-total-column{width:58px}.schedule-results-page .teacher-assignment-table col.assignment-hours-column{width:36px}.teacher-assignment-table thead th{height:30px;padding:0 5px}.teacher-assignment-table thead tr:last-child th{height:25px;padding:0 4px}.schedule-results-page .teacher-assignment-table tbody th{text-align:center;min-width:0;padding:5px 6px}.schedule-results-page .teacher-assignment-table .teacher-assignment-total{z-index:2;text-align:center;background:#fff;min-width:0;padding:5px 4px;left:86px}.teacher-assignment-table th:nth-child(2),.teacher-assignment-table td:nth-child(2){background:#fff}.teacher-assignment-classes,.teacher-assignment-hours{text-align:center;padding:2px 4px}.teacher-assignment-classes{text-align:center;min-width:0}.teacher-assignment-classes span,.teacher-assignment-hours span{min-height:18px;line-height:18px}.smart-timetable-row>.schedule-cell{border:0;border-right:1.5px solid var(--color-border);border-bottom:1.5px solid var(--color-border);text-align:left;min-width:0;color:var(--color-text);font:inherit;-webkit-user-drag:element;-webkit-user-select:none;user-select:none;box-sizing:border-box;background:#fff;align-items:center;gap:6px;padding:4px 8px;display:flex;position:relative}.smart-timetable-row>.schedule-cell[draggable=true]{cursor:grab;-webkit-user-drag:element}.smart-timetable-row>.schedule-cell[draggable=true]:active{cursor:grabbing}.smart-timetable-row>.schedule-cell[draggable=true] *{-webkit-user-drag:none}.smart-timetable-row>.schedule-cell:focus-visible{outline:0}.smart-timetable-row>.schedule-cell>.lesson-card{z-index:1;box-sizing:border-box;text-align:left;background:#fff;border:1px solid #0000;border-radius:7px;flex-direction:row;justify-content:center;align-items:center;gap:6px;width:100%;min-width:0;height:100%;padding:4px;display:flex;position:relative}.smart-timetable-row>.schedule-cell>.lesson-card>span{text-align:left;flex-direction:column;justify-content:center;align-items:flex-start;gap:2px;min-width:0;max-width:calc(100% - 36px);display:flex}.smart-timetable-row>.schedule-cell>.lesson-card>svg{color:#667085;width:12px;height:12px;position:absolute;top:50%;left:6px;transform:translateY(-50%)}.smart-timetable-row>.schedule-cell>.lesson-card strong,.smart-timetable-row>.schedule-cell>.lesson-card small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.smart-timetable-row>.schedule-cell>.lesson-card>i{position:absolute;top:50%;left:6px;transform:translateY(-50%)}.smart-timetable-row>.schedule-cell.selected{box-shadow:none;background:#fff}.smart-timetable-row>.schedule-cell.selected>.lesson-card{background:#fff;border:2px solid #41b25d;box-shadow:0 2px 7px #16653422}.smart-timetable-row>.schedule-cell.valid-target{border:0;border-right:1.5px solid var(--color-border);border-bottom:1.5px solid var(--color-border);background:#fff;border-radius:0;margin:0}.smart-timetable-row>.schedule-cell.valid-target:last-child{border-right:0}.smart-timetable-row:last-child>.schedule-cell.valid-target{border-bottom:0}.smart-timetable-row>.schedule-cell.valid-target>.valid-target-card{z-index:2;box-sizing:border-box;pointer-events:none;border:2px dashed #22c55e;border-radius:8px;width:auto;height:auto;position:absolute;inset:4px}.smart-timetable-row>.schedule-cell.valid-target>.lesson-card.valid-target-card{background:#fff;inset:4px}.smart-timetable-row>.schedule-cell.valid-target em{z-index:3;color:#166534;font-size:10px;font-style:normal;font-weight:600;position:relative}.smart-timetable-row>.schedule-cell.drag-source{border:0;border-right:1.5px solid var(--color-border);border-bottom:1.5px solid var(--color-border);box-shadow:none;opacity:1;background:#fff;border-radius:0;margin:0}.smart-timetable-row>.schedule-cell.drag-source>.lesson-card{opacity:.48;background:#f2f4f7;border:1px dashed #98a2b3;box-shadow:inset 0 0 0 1px #ffffff80}.smart-timetable-row>.schedule-cell.drag-source>.lesson-card>i,.smart-timetable-row>.schedule-cell.drag-source>.lesson-card>span{opacity:.55}.smart-timetable-row>.schedule-cell.teacher-course-highlight>.lesson-card{background:#fff;border:2px dashed #c7cdd6;border-radius:8px}.smart-timetable-row>.schedule-cell.selected.teacher-course-highlight>.lesson-card{background:#fff;border:2px solid #41b25d;box-shadow:0 2px 7px #16653422}.smart-timetable-row>.schedule-cell.manually-adjusted:before{content:"";z-index:4;background:var(--color-success);pointer-events:none;height:3px;position:absolute;bottom:0;left:0;right:0}.smart-timetable-row>.schedule-cell.located{z-index:1;outline-offset:-3px;background:#fff4f2;outline:2px solid #e26d64;position:relative}.smart-timetable-row>.schedule-cell.empty-explainable{color:#98a2b3;cursor:pointer}.smart-timetable-row>.schedule-cell.empty-explainable:hover{color:#2563eb;background:#f5faff}.smart-timetable-row>.schedule-cell.empty-explainable:focus-visible,.smart-timetable-row>.schedule-cell.inspected-empty{z-index:2;color:#2563eb;background:#f5faff;border-radius:6px;outline:0;box-shadow:inset 0 0 0 1px #93c5fd}.schedule-holding>.schedule-holding-course{border:1px solid var(--color-border);text-align:left;cursor:grab;-webkit-user-drag:element;box-sizing:border-box;background:#fff;border-radius:7px;flex-direction:column;justify-content:flex-start;align-items:stretch;gap:3px;width:calc(100% - 32px);height:auto;min-height:0;margin:8px 16px;padding:4px;display:flex}.schedule-holding>.schedule-holding-course:active{cursor:grabbing}.schedule-holding>.schedule-holding-course *{-webkit-user-drag:none}.schedule-holding>.holding-drop-target{cursor:pointer;outline:none}.version-page,.version-operation-page,.print-page,.version-view-page{background:var(--color-bg);flex-direction:column;gap:20px;min-height:100dvh;padding:32px;display:flex}.version-view-action-row>.operation-type-selector,.preview-toolbar>.operation-type-selector{flex:1;min-width:0}.share-config-fields>.operation-type-selector{grid-column:1/-1}.print-preview-type-selector .version-view-tabs{overflow-x:hidden}.print-preview-type-selector .version-view-tabs button{flex:1 1 0;min-width:0;padding-inline:4px}.version-header,.print-header{justify-content:space-between;align-items:center;display:flex}.version-header h1,.operation-heading h1{font-size:28px;font-weight:700;line-height:36px}.version-header p,.operation-heading p,.print-header p{color:var(--color-text-secondary);margin:0;font-size:14px}.version-header>button{background:var(--color-primary);color:#fff;border:0;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:170px;height:44px;font:600 14px inherit;display:flex}.version-header>.task-create-gate{display:inline-flex}.version-header>.task-create-gate>button{background:var(--color-primary);color:#fff;border:0;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:170px;height:44px;font:600 14px inherit;display:flex}.version-header>.task-create-gate>button:disabled{cursor:not-allowed;opacity:.5}.version-header svg,.print-header svg{width:16px}.version-metrics{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.version-metrics>div{border:1px solid var(--color-border);background:#fff;border-radius:12px;flex-direction:column;gap:5px;height:94px;padding:18px;display:flex}.task-delete-mask.task-create-mask>section{display:block}.task-create-mask form{gap:14px;display:grid}.task-create-mask form>p{margin:0}.task-create-mask label{color:var(--color-text);gap:7px;font-size:13px;font-weight:600;display:grid}.task-create-mask input{border:1px solid var(--color-border-strong);height:42px;color:var(--color-text);border-radius:8px;outline:none;padding:0 12px;font:14px inherit}.task-create-mask input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-soft)}.task-create-mask input[aria-invalid=true]{border-color:var(--color-danger)}.task-create-mask form>small{color:var(--color-danger);margin-top:-6px;font-size:12px}.task-create-mask footer{margin-top:2px}.task-delete-mask.task-create-mask footer button:last-child{background:var(--color-primary)}.version-metrics strong{color:var(--color-primary);font-size:24px;line-height:29px}.version-metrics strong.green{color:var(--color-success)}.version-metrics span{color:var(--color-text-secondary);font-size:13px;font-weight:600}.version-table{border:1px solid var(--color-table-border);background:#fff;border-radius:12px;overflow:hidden}.version-table .version-row{border-top:1px solid var(--color-border);grid-template-columns:230px 100px 86px 70px minmax(130px,1fr) 94px 268px;align-items:center;height:66px;font-size:14px;display:grid}.version-row.head{background:var(--color-surface-subtle);height:48px;color:var(--color-text-secondary);border:0;font-size:13px;font-weight:600}.version-row>span{padding:0 14px}.version-row .status{font-weight:600}.version-row .status-0{color:var(--color-success)}.version-row .status-1{color:#7a4a00}.version-actions{white-space:nowrap;align-items:center;gap:2px;display:flex}.version-actions button{height:40px;color:var(--color-primary);background:0 0;border:0;align-items:center;gap:4px;padding:0 6px;font:500 13px inherit;display:flex}.version-actions svg{width:16px}.version-actions button.more{padding:0 4px}.archive-table{border:1px solid var(--color-table-border);background:#fff;border-radius:12px;overflow:hidden}.archive-row{border-top:1px solid var(--color-border);min-height:72px;color:var(--color-text);align-items:center;font-size:13px;display:grid}.archive-row>span{text-overflow:ellipsis;min-width:0;padding:12px 14px;overflow:hidden}.archive-head{background:var(--color-surface-subtle);min-height:48px;color:var(--color-text-secondary);border-top:0;font-size:12px;font-weight:700}.task-archive-table .archive-row{grid-template-columns:minmax(300px,1.8fr) 110px 170px 82px 250px}.archive-name{gap:5px;display:grid}.archive-name-line{align-items:center;gap:8px;min-width:0;display:flex}.archive-name strong{text-overflow:clip;white-space:normal;overflow-wrap:anywhere;min-width:0;font-size:14px;overflow:visible}.latest-version-badge{background:var(--color-success-soft);color:var(--color-success);border-radius:999px;flex:none;padding:2px 7px;font-size:10px;font-style:normal;font-weight:700}.archive-name small{background:var(--color-surface-subtle);width:max-content;color:var(--color-text-secondary);border-radius:999px;padding:2px 7px;font-size:10px;font-weight:600}.archive-row b{font-size:15px}.task-state{background:var(--color-brand-soft);color:#8a5a00;border-radius:999px;padding:4px 8px;font-size:11px;font-style:normal;font-weight:700;display:inline-flex}.task-state.published{background:var(--color-success-soft);color:var(--color-success)}.archive-empty{min-height:260px;color:var(--color-text-secondary);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;padding:32px;display:flex}.archive-empty svg{width:28px;height:28px}.archive-empty strong{color:var(--color-text);font-size:15px}.archive-empty span{font-size:12px}.archive-row .version-actions{overflow:visible}.archive-row .version-actions button{flex:none;padding:0 7px}.task-archive-table .version-actions button{padding:0 6px}.task-actions button.danger{color:var(--color-danger)}.archive-table-shell{gap:10px;display:grid}.archive-pagination{color:var(--color-text-secondary);align-items:center;gap:8px;font-size:12px;display:flex}.archive-pagination-top{justify-content:flex-start}.archive-pagination-bottom{justify-content:flex-end}.archive-pagination button{border:1px solid var(--color-border);height:32px;color:var(--color-primary);background:#fff;border-radius:8px;padding:0 12px;font:600 12px inherit}.archive-pagination button:hover:not(:disabled){border-color:var(--color-primary);background:var(--color-brand-soft)}.archive-pagination button:disabled{cursor:not-allowed;color:var(--color-text-disabled);background:var(--color-surface-subtle)}.archive-pagination strong{min-width:70px;color:var(--color-text);text-align:center;font-size:12px}.version-current-empty .archive-empty{min-height:360px}.version-current-empty .archive-empty button{border:1px solid var(--color-primary);background:var(--color-primary);color:#fff;border-radius:8px;justify-content:center;align-items:center;gap:6px;height:40px;margin-top:8px;padding:0 14px;font:600 13px inherit;display:inline-flex}.version-current-empty .archive-empty button svg{width:16px;height:16px}.version-crumb{height:20px;color:var(--color-text-secondary);align-items:center;gap:8px;font-size:13px;display:flex}.version-crumb button{color:var(--color-primary);background:0 0;border:0;padding:0;font:600 13px inherit}.version-crumb strong{color:var(--color-text)}.operation-heading p{text-align:right;flex:1}.operation-columns{flex:1;grid-template-columns:1fr 320px;gap:20px;min-height:0;display:grid}.operation-card{border:1px solid var(--color-border);background:#fff;border-radius:16px;padding:24px}.operation-card h2{font-size:20px;font-weight:700}.export-settings{flex-direction:column;gap:18px;display:flex}.setting-field{flex-direction:column;gap:8px;display:flex}.setting-field label{color:var(--color-text-secondary);font-size:13px;font-weight:600}.setting-field>button{border:1px solid var(--color-border-strong);background:#fff;border-radius:8px;justify-content:space-between;align-items:center;height:52px;padding:0 16px;font:14px inherit;display:flex}.setting-field>button strong{font-weight:600}.setting-field>button span{color:var(--color-primary);font-size:13px;font-weight:600}.operation-info{background:var(--color-primary-soft);height:56px;color:var(--color-primary);border-radius:12px;align-items:center;gap:10px;margin:0;padding:0 16px;font-size:14px;font-weight:600;display:flex}.operation-info svg{width:20px}.export-preview{flex-direction:column;gap:16px;display:flex}.export-preview>div{background:var(--color-surface-subtle);border-radius:12px;flex-direction:column;justify-content:center;align-items:center;gap:14px;height:220px;display:flex}.export-preview>div svg{width:42px;height:42px;color:var(--color-success)}.export-preview>div strong{font-size:14px}.export-preview>div span{color:var(--color-text-secondary);font-size:12px}.export-preview>button,.link-preview>button{background:var(--color-primary);color:#fff;border:0;border-radius:8px;justify-content:center;align-items:center;gap:8px;height:44px;font:600 14px inherit;display:flex}.export-preview>button svg,.link-preview>button svg{width:16px}.print-page{gap:20px}.print-header{height:40px}.print-header h1{font-size:26px;font-weight:700}.print-header>span{gap:8px;display:flex}.print-header button{border:1px solid var(--color-border-strong);background:#fff;border-radius:8px;align-items:center;gap:7px;height:40px;padding:0 12px;font:500 13px inherit;display:flex}.print-header button.primary{border-color:var(--color-primary);background:var(--color-primary);color:#fff;padding:0 16px}.print-main{flex:1;grid-template-columns:1fr 340px;gap:20px;min-height:0;display:grid}.print-preview{flex-direction:column;gap:12px;min-width:0;display:flex}.preview-toolbar{border:1px solid var(--color-border);background:#fff;border-radius:12px;justify-content:space-between;align-items:center;height:96px;padding:6px 16px;display:flex}.preview-toolbar .preview-actions button{border:1px solid var(--color-border);background:#fff;border-radius:7px;align-items:center;gap:6px;height:36px;padding:0 10px;font:500 12px inherit;display:flex}.preview-toolbar .preview-actions svg{width:15px}.print-settings{flex-direction:column;gap:14px;display:flex}.print-settings>button{background:var(--color-surface-subtle);border:0;border-radius:8px;justify-content:space-between;align-items:center;height:54px;padding:0 16px;font:13px inherit;display:flex}.print-settings>button span{color:var(--color-text-secondary)}.print-settings .setting-field input{border:1px solid var(--color-border);height:42px;color:var(--color-text);background:#fff;border-radius:8px;padding:0 12px;font:13px inherit}.version-view-header{justify-content:space-between;align-items:flex-start;gap:24px;display:flex}.version-view-header>div{gap:6px;display:grid}.version-view-header h1{font-size:28px;line-height:36px}.version-view-header p{color:var(--color-text-secondary);margin:0;font-size:14px}.version-view-header>span{gap:8px;display:flex}.version-view-header button{border:1px solid var(--color-border-strong);background:#fff;border-radius:8px;align-items:center;gap:7px;height:40px;padding:0 14px;font:600 13px inherit;display:flex}.version-view-header svg{width:16px}.version-format-fallback{color:#714f0b;background:#fff8e7;border:1px solid #e6c276;border-radius:8px;align-items:center;gap:8px;margin:0;padding:10px 12px;font-size:12px;display:flex}.version-format-fallback svg{width:17px}.version-view-tabs{border:1px solid var(--color-border);background:#fff;border-radius:10px;align-self:flex-start;max-width:100%;height:52px;padding:0 16px;overflow:auto hidden}.version-view-tabs button{white-space:nowrap}.version-view-controls{justify-content:space-between;align-items:flex-end;gap:20px;display:flex}.version-view-controls>strong{align-items:center;height:40px;display:flex}.version-view-controls>label{width:min(460px,50%);color:var(--color-text-secondary);gap:6px;font-size:12px;font-weight:600;display:grid}.version-view-controls input{border:1px solid var(--color-border-strong);height:40px;color:var(--color-text);background:#fff;border-radius:8px;padding:0 12px;font:14px inherit}.version-object-switcher{align-self:flex-end;align-items:center;gap:8px;display:flex}.version-object-switcher button{border:1px solid var(--color-border-strong);width:40px;height:40px;color:var(--color-text-secondary);background:#fff;border-radius:8px;place-items:center;display:grid}.version-object-switcher button:disabled{color:var(--color-text-disabled);background:var(--color-surface-subtle)}.version-object-switcher button svg{width:16px}.version-object-switcher select{border:1px solid var(--color-border-strong);width:220px;height:40px;color:var(--color-text);background:#fff;border-radius:8px;padding:0 12px;font:600 13px inherit}.version-paper-stack{gap:24px;padding:2px 2px 20px;display:grid;overflow-x:auto}.version-print-paper{box-sizing:border-box;aspect-ratio:297/210;page:version-timetable;color:#000;break-after:page;page-break-after:always;background:#fff;grid-template-rows:max-content minmax(0,1fr);width:100%;min-width:880px;padding:24px 34px;display:grid;overflow:hidden;box-shadow:0 5px 18px #10182816}.version-print-paper:last-child{break-after:auto;page-break-after:auto}.version-print-paper>header{color:#000;gap:10px;margin-bottom:12px;display:grid}.version-print-paper h2{text-align:center;color:#000;letter-spacing:8px;margin:0;font-size:36px;font-weight:800;line-height:44px}.version-print-paper>header>div{color:#000;justify-content:space-between;align-items:flex-end;gap:24px;font-size:14px;display:flex}.version-table-frame{width:100%;min-height:0;overflow:hidden}.version-table-frame>table{width:100%;height:100%}.version-print-paper table{border-collapse:collapse;table-layout:fixed;color:#000;border:2px solid #000}.version-print-paper tr{height:calc(100% / var(--schedule-table-row-count,1))}.version-print-paper th,.version-print-paper td{color:#000;text-align:center;vertical-align:middle;height:auto;font-size:var(--schedule-cell-font-size,12px);border:1px solid #000;padding:3px;line-height:1.2}.version-print-paper thead th{font-weight:700}.version-print-paper tbody th small,.version-print-paper tbody td small{color:#000;font-size:var(--schedule-secondary-font-size,10px);margin-top:2px;font-weight:400;line-height:1.1;display:block}.version-print-paper tbody tr.public th,.version-print-paper tbody tr.public td{color:#000;background:#fff;height:auto}.version-print-paper tbody tr.public td strong{font-size:var(--schedule-cell-font-size,12px)}.version-summary-paper{aspect-ratio:297/210;page:version-timetable;width:100%;min-width:880px;overflow:hidden}.version-aggregate-scroll{grid-template:minmax(0,1fr)/minmax(0,1fr);min-height:0;display:grid;overflow:hidden}.version-print-paper .version-aggregate-table{table-layout:fixed;width:100%;min-width:0;height:100%}.version-print-paper.version-summary-paper .version-aggregate-table th,.version-print-paper.version-summary-paper .version-aggregate-table td{overflow-wrap:normal;word-break:keep-all;white-space:nowrap;width:auto;min-width:0;height:auto;padding:.2273cqw;line-height:1.12;overflow:hidden}.version-print-paper.version-summary-paper .version-aggregate-table th:first-child,.version-print-paper.version-summary-paper .version-aggregate-table tbody th{background:#fff;width:auto;min-width:0}.version-print-paper .version-aggregate-table thead tr:first-child th{height:3.6364cqw}.version-print-paper .version-aggregate-table thead tr:nth-child(2) th{height:3.4091cqw}.version-print-paper .version-aggregate-table thead th span,.version-print-paper .version-aggregate-table thead th strong,.version-print-paper .version-aggregate-table thead th small{color:#000;display:block}.version-print-paper .version-aggregate-table thead th span{font-size:.7955cqw;font-weight:400}.version-print-paper .version-aggregate-table .public{font-size:.7955cqw;font-weight:700}.version-print-paper .version-aggregate-table small{color:#000;margin-top:.1136cqw;font-size:.78em;font-weight:400;display:block}.aggregate-cell-content{text-align:center;overflow-wrap:normal;word-break:keep-all;place-items:center;gap:.1136cqw;width:100%;display:grid}.aggregate-entity-content>span{display:block}.version-aggregate-paper.aggregate-vertical .version-aggregate-table th,.version-aggregate-paper.aggregate-vertical .version-aggregate-table td{width:auto;min-width:0;height:auto;padding:.2273cqw .1136cqw}.version-aggregate-paper.aggregate-vertical .version-aggregate-table thead tr:first-child th{height:3.4091cqw}.version-aggregate-paper.aggregate-vertical .version-aggregate-table thead tr:nth-child(2) th{height:2.9545cqw}.version-aggregate-paper.aggregate-vertical .aggregate-cell-content{writing-mode:horizontal-tb;white-space:nowrap;flex-direction:row;justify-content:center;align-items:stretch;gap:.2273cqw;padding:.1136cqw 0;display:flex}.version-aggregate-paper.aggregate-vertical .aggregate-cell-content small{margin:0}.version-aggregate-paper.aggregate-vertical .aggregate-cell-content small>span{display:block}.version-aggregate-paper.aggregate-vertical .aggregate-entity-content{padding-top:.2273cqw;line-height:1.2;display:block}.version-assignment-paper{grid-template-rows:max-content minmax(0,1fr) max-content}.version-assignment-frame{min-height:0;display:flex;overflow:hidden}.version-assignment-frame .teacher-assignment-scroll{border:0;border-radius:0;width:100%;overflow:hidden}.version-assignment-frame .teacher-assignment-table{table-layout:auto;width:100%;min-width:0;font-size:8px}.version-assignment-frame .teacher-assignment-table th,.version-assignment-frame .teacher-assignment-table td{z-index:auto;min-width:0;box-shadow:none;padding:2px 3px;line-height:1.1;position:static;left:auto}.version-assignment-frame .teacher-assignment-table tbody th,.version-assignment-frame .teacher-assignment-table .teacher-assignment-total{min-width:0}.version-print-paper .version-aggregate-table{transform-origin:0 0}.operation-back{color:var(--color-primary);background:0 0;border:0;align-self:flex-start;margin-top:-10px;font-weight:600}.print-preview>.version-paper-stack{padding:2px 4px 20px;overflow:auto}.excel-export-source{visibility:hidden;pointer-events:none;width:880px;position:fixed;top:0;left:-100000px}.excel-export-source .version-print-paper{width:880px}.version-assignment-measure,.version-aggregate-measure{visibility:hidden;pointer-events:none;width:880px;position:fixed;top:0;left:-100000px}.version-assignment-measure .version-print-paper,.version-aggregate-measure .version-print-paper{width:880px}@page{size:A4 landscape;margin:10mm}@page version-timetable{size:A4 landscape;margin:10mm}@media print{.app-sidebar,.app-topbar,.print-header,.preview-toolbar,.print-settings,.version-notice,.version-view-header,.version-view-tabs,.version-view-controls,.version-format-fallback{display:none!important}.app-shell>.app-main,.app-shell.context-closed>.app-main,.app-shell.context-open>.app-main{width:auto!important;margin-left:0!important}.app-content,.print-page,.print-main,.print-preview,.version-view-page{margin:0!important;padding:0!important;display:block!important;overflow:visible!important}.version-paper-stack{gap:0;padding:0;overflow:visible}.version-print-paper{box-sizing:border-box;width:min(100%,268.714mm);min-width:0;max-width:100%;height:190mm;min-height:0;max-height:190mm;box-shadow:none;break-after:page;page-break-after:always;break-inside:avoid;page-break-inside:avoid;margin-inline:auto;overflow:hidden}.version-table-frame{min-height:0;overflow:hidden}.version-summary-paper .version-aggregate-scroll{height:100%;min-height:0;display:flex;overflow:hidden}.version-summary-paper .version-aggregate-table{table-layout:fixed;-webkit-print-color-adjust:exact;print-color-adjust:exact;width:100%;min-width:0;height:100%}.version-assignment-paper .version-assignment-frame{min-height:0;overflow:hidden}.version-assignment-paper .teacher-assignment-scroll{overflow:hidden}.version-print-paper:last-child{break-after:auto;page-break-after:auto}}.share-columns{grid-template-columns:1fr 360px}.share-settings{flex-direction:column;gap:16px;display:flex}.share-choice{background:var(--color-surface-subtle);border:0;border-radius:8px;justify-content:space-between;align-items:center;height:54px;padding:0 16px;font:14px inherit;display:flex}.share-choice>span{color:var(--color-text-secondary);font-weight:600}.share-choice strong{align-items:center;gap:8px;display:flex}.share-choice b{color:var(--color-text-secondary);font-weight:500}.share-toggle-row{background:var(--color-surface-subtle);text-align:left;border:0;border-radius:10px;justify-content:space-between;align-items:center;height:70px;padding:0 16px;display:flex}.share-toggle-row>span{gap:4px;display:grid}.share-toggle-row strong{font-size:14px}.share-toggle-row small{color:var(--color-text-secondary);font-size:12px}.share-toggle-row>i{background:var(--color-border-strong);border-radius:18px;width:46px;height:26px;position:relative}.share-toggle-row>i:after{content:"";background:#fff;border-radius:50%;width:20px;height:20px;transition:all .15s;position:absolute;top:3px;left:3px}.share-toggle-row>i.on{background:var(--color-success)}.share-toggle-row>i.on:after{left:23px}.link-preview{flex-direction:column;gap:16px;display:flex}.link-preview>p{color:var(--color-text-secondary);margin:0;font-size:13px}.link-preview label{color:var(--color-text-secondary);flex-direction:column;gap:8px;font-size:13px;font-weight:600;display:flex}.password-preview{background:var(--color-surface-subtle);height:48px;color:var(--color-text);border:0;border-radius:8px;justify-content:space-between;align-items:center;padding:0 14px;display:flex}.password-preview strong{font-size:16px}.password-preview svg{width:18px;color:var(--color-primary)}@media (width<=900px){.version-page,.version-operation-page,.print-page,.version-view-page{padding:16px}.version-header>div,.print-header>div{display:block}.version-header p,.print-header p,.operation-heading p{display:none}.version-metrics{grid-template-columns:repeat(2,1fr)}.version-table .version-row{grid-template-columns:150px 1fr 256px}.version-row span:nth-child(2),.version-row span:nth-child(3),.version-row span:nth-child(4),.version-row span:nth-child(5){display:none}.archive-table{background:0 0;border:0;gap:12px;display:grid;overflow:visible}.archive-head{display:none}.archive-table .archive-row{border:1px solid var(--color-border);background:#fff;border-radius:12px;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-height:0;padding:16px;display:grid}.archive-table .archive-row>span{gap:4px;padding:0;display:grid;overflow:visible}.archive-table .archive-name{border-bottom:1px solid var(--color-border);grid-column:1/-1;padding-bottom:12px}.archive-table .version-actions{grid-column:1/-1;justify-content:flex-start;padding-top:8px;display:flex}.operation-columns,.share-columns,.print-main{grid-template-columns:1fr}.print-settings{display:none}.share-columns .link-preview{display:flex}.version-view-header{display:grid}.version-view-controls{flex-direction:column;align-items:stretch}.version-view-controls>label{width:100%}.archive-pagination{flex-wrap:wrap}.archive-pagination-bottom{justify-content:flex-end}}.version-notice{background:var(--color-success-soft);min-height:40px;color:var(--color-success);border:1px solid #a9d4b8;border-radius:8px;padding:9px 12px;font-size:13px;font-weight:600}.version-error{border-color:var(--color-danger);background:var(--color-danger-soft);color:var(--color-danger);justify-content:space-between;align-items:center;display:flex}.version-error button{height:28px;color:inherit;background:0 0;border:1px solid;border-radius:6px;padding:0 10px;font:600 12px inherit}.version-view-action-row{align-items:center;gap:12px;min-width:0;display:flex}.version-view-primary-actions,.export-download-actions{align-items:center;gap:8px;display:flex}.version-view-primary-actions button,.export-download-actions button{border:1px solid var(--color-border-strong);height:40px;color:var(--color-text);background:#fff;border-radius:8px;justify-content:center;align-items:center;gap:6px;padding:0 14px;font:600 13px inherit;display:flex}.version-view-primary-actions button svg,.export-download-actions button svg{width:16px}.version-view-primary-actions button:disabled,.export-download-actions button:disabled{cursor:not-allowed;opacity:.45}.export-download-actions{margin-top:auto}.export-download-actions button{border-color:var(--color-primary);background:var(--color-primary);color:#fff;flex:1}.export-preview>.export-download-actions{background:0 0;flex-direction:row;height:auto}.operation-list-back{width:auto;min-width:120px;padding:0 14px}@media (width<=900px){.version-view-action-row{flex-direction:column;align-items:flex-start}.version-view-primary-actions{flex-wrap:wrap}}.version-metrics strong.danger{color:var(--color-error)}.analysis-summary{border:1px solid var(--color-border);background:#fff;border-radius:12px;align-items:flex-start;gap:14px;padding:20px 22px;display:flex}.analysis-summary>svg{width:24px;height:24px;color:var(--color-primary)}.analysis-summary>div{gap:6px;display:grid}.analysis-summary strong{font-size:16px}.analysis-summary span{color:var(--color-text-secondary);font-size:14px;line-height:22px}.version-header,.print-header{gap:24px}.version-header>div,.print-header>div{align-items:start;gap:6px;display:grid}.operation-heading{justify-content:space-between;align-items:flex-start;gap:24px;height:auto;display:flex}.operation-heading>div{gap:6px;min-width:0;display:grid}.operation-heading p{text-align:left;display:block}.operation-heading .operation-list-back,.print-header .operation-list-back{margin-top:0}@media (width<=900px){.version-header>div,.print-header>div{display:grid}.version-header p,.print-header p,.operation-heading p{display:block}}@media (width<=600px){.operation-heading,.print-header{flex-direction:column;align-items:stretch}.operation-heading .operation-list-back,.print-header .operation-list-back{align-self:flex-end}}.version-print-paper td.teaching-no-class{color:#667085;-webkit-print-color-adjust:exact;print-color-adjust:exact;background:#f2f4f7}.version-print-paper td.course-primary-only strong{font-size:calc(var(--schedule-cell-font-size,12px)*1.2)}.version-print-paper:not(.version-summary-paper):not(.version-assignment-paper) .version-table-frame,.version-print-paper:not(.version-summary-paper):not(.version-assignment-paper) .version-table-frame>table,.version-print-paper:not(.version-summary-paper):not(.version-assignment-paper) .version-table-frame th,.version-print-paper:not(.version-summary-paper):not(.version-assignment-paper) .version-table-frame td{background:#fff}.archive-index{color:var(--color-text-secondary);font-variant-numeric:tabular-nums;justify-content:center;font-weight:700}.version-object-controls{align-items:flex-end;gap:16px;display:flex}.schedule-display-options{border:1px solid var(--color-border-strong);border-radius:8px;align-items:center;gap:14px;height:40px;margin:0;padding:0 12px;display:flex}.schedule-display-options label{color:var(--color-text);white-space:nowrap;align-items:center;gap:6px;font-size:13px;font-weight:500;display:flex}.schedule-display-options input{width:16px;height:16px;accent-color:var(--color-primary);border:0;margin:0;padding:0}.version-print-paper{padding:2.1381cqw 3.0289cqw;container-type:inline-size}.version-print-paper>header{gap:.8909cqw;margin-bottom:1.069cqw}.version-print-paper h2{letter-spacing:.7127cqw;font-size:3.2071cqw;line-height:3.9198cqw}.version-print-paper>header>div{gap:2.1381cqw;font-size:1.2472cqw}.version-print-paper>header strong{font-size:1.4254cqw}.version-table-frame{overflow:visible;container-type:size}.version-print-paper table{box-sizing:border-box;outline-offset:-.0891cqw;border-width:.1782cqw;outline:.0891cqw solid #000;width:100%;height:100%}.version-print-paper thead tr{height:calc(var(--schedule-header-row-height)*1cqh)}.version-print-paper tbody tr:not(.public){height:calc(var(--schedule-regular-row-height)*1cqh)}.version-print-paper tbody tr.public{height:calc(var(--schedule-public-row-height)*1cqh)}.version-print-paper th,.version-print-paper td{border-width:.0891cqw;padding:.2673cqw}.version-print-paper th:first-child{width:4.2762cqw}.version-print-paper th:nth-child(2){width:8.196cqw}.version-print-paper tbody th small,.version-print-paper tbody td small{margin-top:.1782cqw}@media (width<=1100px){.version-object-controls{flex-direction:column;align-items:flex-start}.version-view-controls{align-items:flex-start}.schedule-display-options{align-self:flex-start}}.print-settings select,.export-settings select{border:1px solid var(--color-border);height:42px;color:var(--color-text);background:#fff;border-radius:8px;padding:0 12px;font:13px inherit}.print-scope-picker{border:1px solid var(--color-border);background:var(--color-bg-subtle);border-radius:8px;gap:8px;padding:10px;display:grid}.print-scope-picker>div:first-child{align-items:center;gap:8px;display:flex}.print-scope-picker>div:first-child input{border:1px solid var(--color-border);background:#fff;border-radius:6px;flex:1;min-width:0;height:34px;padding:0 9px;font:12px inherit}.print-scope-picker>div:first-child span{white-space:nowrap;color:var(--color-text-secondary);font-size:12px}.print-scope-picker p{gap:8px;margin:0;display:flex}.print-scope-picker p button{border:1px solid var(--color-border-strong);height:26px;color:var(--color-primary);background:#fff;border-radius:5px;padding:0 9px;font:600 12px inherit}.print-scope-options{border-top:1px solid var(--color-border);max-height:132px;display:grid;overflow:auto}.print-scope-options label{border-bottom:1px solid var(--color-border);min-height:30px;color:var(--color-text);align-items:center;gap:7px;font-size:12px;display:flex}.print-scope-options input{width:14px;height:14px;accent-color:var(--color-primary);margin:0}.print-scope-options>span{color:var(--color-text-secondary);padding:10px 0;font-size:12px}.operation-type-selector,.export-object-selector{border:0;gap:10px;margin:0;padding:0;display:grid}.operation-type-selector>span,.export-object-selector legend{color:var(--color-text-secondary);font-size:13px;font-weight:600}.operation-type-tabs{flex:none;align-self:stretch;width:100%;max-width:none}.operation-type-tabs button{flex:none}.export-object-options input{width:16px;height:16px;accent-color:var(--color-primary);margin:0}.export-object-selector>div:first-of-type{justify-content:space-between;align-items:center;gap:12px;display:flex}.export-object-selector>div:first-of-type span{color:var(--color-text-secondary);font-size:12px}.export-object-selector p{gap:8px;margin:0;display:flex}.export-object-selector button{border:1px solid var(--color-border-strong);height:28px;color:var(--color-primary);background:#fff;border-radius:6px;padding:0 10px;font:600 12px inherit}.export-object-options{border:1px solid var(--color-border);background:var(--color-bg-subtle);border-radius:8px;grid-template-columns:repeat(3,minmax(0,1fr));max-height:190px;display:grid;overflow:auto}.export-object-options label{border-bottom:1px solid var(--color-border);min-height:38px;color:var(--color-text);align-items:center;gap:8px;padding:0 10px;font-size:12px;display:flex}.export-object-options label:nth-last-child(-n+3){border-bottom:0}@media (width<=1100px){.export-object-options{grid-template-columns:repeat(2,minmax(0,1fr))}}.version-operation-nav{justify-content:space-between;align-items:center;gap:16px;min-height:52px;display:flex}.version-operation-nav .version-view-tabs{align-self:stretch}.operation-list-back{border:1px solid var(--color-border-strong);width:120px;height:40px;color:var(--color-text);background:#fff;border-radius:8px;flex:none;justify-content:center;align-items:center;gap:7px;font:600 13px inherit;display:flex}.operation-list-back svg{width:16px}.preview-toolbar{align-items:flex-end;gap:16px;height:auto;min-height:72px}.print-preview-type-selector{flex:1;min-width:0}.print-type-tabs{gap:8px;overflow-x:hidden}.print-type-tabs button{flex:1 1 0;min-width:0;padding-inline:4px}.preview-actions{flex:none;align-items:center;gap:8px;display:flex}.preview-toolbar .preview-actions button{justify-content:center;width:112px;height:40px;padding:0 8px;font-weight:600}.preview-toolbar .preview-actions button.primary{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.preview-toolbar .preview-actions button:disabled{cursor:not-allowed;opacity:.45}@media (width<=1050px){.preview-toolbar{flex-direction:column;align-items:stretch}.print-preview-type-selector{width:100%}.preview-actions{flex-wrap:wrap;width:100%}.preview-toolbar .preview-actions button{flex:112px}}@media (width<=600px){.version-operation-nav{flex-direction:column;align-items:stretch}.operation-list-back{align-self:flex-end}.preview-toolbar .preview-actions button{flex-basis:calc(50% - 4px)}}@media print{.version-operation-nav{display:none!important}}.version-print-paper{grid-template-rows:max-content minmax(0,1fr) max-content}.schedule-brand-footer{text-align:center;color:#475467;padding-top:6px;font-size:10px;line-height:14px}.schedule-brand-footer strong{color:#1d2939}.share-config-mask{z-index:80;background:#10182866;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.share-config-dialog{border:1px solid var(--color-border);background:#fff;border-radius:14px;width:min(520px,100%);box-shadow:0 20px 50px #10182833}.share-config-dialog>header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:flex-start;padding:20px 22px;display:flex}.share-config-dialog h2,.share-config-dialog p{margin:0}.share-config-dialog p{color:var(--color-text-secondary);margin-top:5px;font-size:13px}.share-config-dialog>header button{background:0 0;border:0}.share-config-dialog>header svg{width:18px}.share-config-fields,.share-created{gap:16px;padding:22px;display:grid}.share-config-fields>label{grid-template-columns:100px minmax(0,1fr);align-items:center;gap:12px;font-size:13px;font-weight:600;display:grid}.share-config-fields>.share-orientation-field{grid-template-columns:100px minmax(0,1fr);align-items:center;gap:12px;display:grid}.share-config-fields>.share-orientation-field>span{color:var(--color-text);font-size:13px;font-weight:600}.share-config-fields .aggregate-orientation-options{justify-self:start;width:fit-content}.share-config-fields .aggregate-orientation-options label{gap:4px;font-weight:500}.share-config-fields select,.share-config-fields input,.share-created input{border:1px solid var(--color-border-strong);background:#fff;border-radius:8px;height:40px;padding:0 11px;font:14px inherit}.share-config-fields>p{color:var(--color-danger);margin:0}.share-config-fields footer{justify-content:flex-end;gap:10px;display:flex}.share-config-fields footer button,.share-created button{border:1px solid var(--color-border-strong);background:#fff;border-radius:8px;height:40px;padding:0 16px;font-weight:600}.share-config-fields footer button:last-child,.share-created button{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.share-created strong{font-size:16px}.share-created-preview{background:linear-gradient(135deg,#f4f9ff,#f7fbf7);border:1px solid #bdd3ec;border-radius:12px;align-items:center;gap:18px;padding:18px;display:flex}.share-created-preview img{flex:none;width:138px;height:auto}.share-created-preview>div{gap:5px;min-width:0;display:grid}.share-created-preview>div strong{text-overflow:ellipsis;white-space:nowrap;font-size:15px;overflow:hidden}.share-created-preview span,.share-created-preview small{color:var(--color-text-secondary);font-size:12px}.share-created-preview small{color:var(--color-success);font-weight:700}.share-created-actions{grid-template-columns:1fr 1fr;gap:10px;display:grid}.share-created-actions a{border:1px solid var(--color-primary);height:40px;color:var(--color-primary);background:#fff;border-radius:8px;justify-content:center;align-items:center;padding:0 16px;font-weight:600;text-decoration:none;display:flex}.share-created-actions button{width:100%}@media (width<=560px){.share-config-mask{padding:12px}.share-config-dialog{max-height:calc(100dvh - 24px);overflow:auto}.share-config-fields>label,.share-config-fields>.share-orientation-field{grid-template-columns:1fr;gap:6px}.share-created-preview{flex-direction:column;align-items:flex-start}.share-created-preview img{width:126px}.share-created-actions{grid-template-columns:1fr}}.share-created .share-copy-feedback{color:var(--color-success);margin:0;font-size:12px;font-weight:600}.share-created .share-copy-feedback.error{color:var(--color-danger)}.version-upgrade-dialog{width:min(420px,100%)}.version-upgrade-dialog>footer{border-top:1px solid var(--color-border);justify-content:flex-end;gap:10px;padding:18px 22px;display:flex}.version-upgrade-dialog>footer button{border:1px solid var(--color-border-strong);background:#fff;border-radius:8px;height:40px;padding:0 16px;font-weight:600}.version-upgrade-dialog>footer button:last-child{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.schedule-archive-table .archive-row{grid-template-columns:52px 56px minmax(170px,1.15fr) 76px 76px 76px 162px minmax(140px,1fr) 390px}.version-bulk-actions{border:1px solid var(--color-border);background:#fff;border-radius:8px;align-items:center;gap:14px;padding:10px 12px;display:flex}.version-bulk-actions label{align-items:center;gap:7px;font-size:13px;font-weight:600;display:flex}.version-bulk-actions span{color:var(--color-text-secondary);font-size:13px}.version-bulk-actions button{color:#b42318;background:#fff;border:1px solid #efb5b0;border-radius:7px;align-items:center;gap:6px;height:34px;margin-left:auto;padding:0 11px;font-weight:600;display:flex}.version-bulk-actions svg,.version-rename-button svg{width:15px}.version-rename-button{background:var(--color-primary-soft);width:26px;height:26px;color:var(--color-primary);border:0;border-radius:50%;place-items:center;display:grid}.schedule-brand-footer,.schedule-brand-footer strong{color:#000}.version-view-primary-actions button,.export-download-actions button{white-space:nowrap;min-width:96px;padding-inline:18px}.operation-list-back{white-space:nowrap;width:auto;min-width:148px;padding-inline:18px}.schedule-brand-footer{font-size:11px;line-height:15px}.operation-type-selector>span{line-height:20px}.version-view-page .version-operation-nav,.version-view-action-row{align-items:flex-start}.version-view-primary-actions,.version-view-page .operation-list-back{margin-top:30px}@media (width<=900px){.version-view-primary-actions{margin-top:0}}@media (width<=600px){.version-view-page .operation-list-back{margin-top:0}}@media print{html,body,#root{margin:0!important;padding:0!important}html,body,#root,.app-content,.print-page,.print-main,.print-preview,.version-paper-stack,.version-print-paper,.version-print-paper *{background:#fff!important}.version-assignment-measure,.version-aggregate-measure,.excel-export-source{display:none!important}.version-paper-stack{display:block!important}.version-print-paper{break-before:auto;page-break-before:auto}.version-paper-stack>.version-print-paper:last-child{break-after:auto!important;page-break-after:auto!important}.version-summary-paper>header{gap:1mm;margin-bottom:1.5mm}.version-summary-paper>header h2{letter-spacing:.8mm;font-size:4.2mm;line-height:5mm}.version-summary-paper>header>div{font-size:2.4mm}.version-assignment-paper{padding:2mm 5mm 1.5mm}.version-assignment-paper>header{gap:.5mm;margin-bottom:1mm}.version-assignment-paper h2{letter-spacing:.6mm;font-size:3.2mm;line-height:4mm}.version-assignment-paper>header>div,.version-assignment-paper>header strong{font-size:2.4mm}.version-print-paper .schedule-brand-footer{padding-top:1mm;font-size:2mm;line-height:2.6mm}}.version-assignment-paper .teacher-assignment-scroll{border:0;border-radius:0;width:100%;overflow:visible}.version-assignment-paper .teacher-assignment-table-paper{table-layout:fixed;width:100%;min-width:0;height:auto;font-size:calc(.7955cqw * var(--assignment-density,1))!important}.version-assignment-paper .teacher-assignment-table-paper col.assignment-teacher-column{width:calc(5cqw * var(--assignment-density,1))}.version-assignment-paper .teacher-assignment-table-paper col.assignment-total-column{width:calc(3.1818cqw * var(--assignment-density,1))}.version-assignment-paper .teacher-assignment-table-paper col.assignment-hours-column{width:calc(2.0455cqw * var(--assignment-density,1))}.version-assignment-paper .teacher-assignment-table-paper th,.version-assignment-paper .teacher-assignment-table-paper td{height:auto;padding:calc(.2273cqw * var(--assignment-density,1)) calc(.3409cqw * var(--assignment-density,1));z-index:auto;box-shadow:none;text-overflow:clip;white-space:nowrap;overflow-wrap:normal;word-break:keep-all;line-height:1.15;position:static;left:auto;overflow:visible;width:auto!important;min-width:0!important;max-width:none!important;font-size:calc(.7955cqw * var(--assignment-density,1))!important}.version-assignment-paper .teacher-assignment-table-paper thead th{white-space:normal;overflow-wrap:anywhere}.version-assignment-paper .teacher-assignment-table-paper tbody,.version-assignment-paper .teacher-assignment-table-paper tbody tr{height:auto}.version-assignment-paper .teacher-assignment-table-paper .teacher-assignment-classes span,.version-assignment-paper .teacher-assignment-table-paper .teacher-assignment-hours span{white-space:nowrap;overflow-wrap:normal;word-break:keep-all;min-height:0;line-height:1.15;display:block}.version-assignment-paper .teacher-assignment-table-paper .teacher-assignment-classes span+span,.version-assignment-paper .teacher-assignment-table-paper .teacher-assignment-hours span+span{border-top:0}.version-assignment-paper{padding:.9091cqw 3.8636cqw 1.5909cqw}.version-assignment-paper>header{gap:.2273cqw;margin-bottom:.4545cqw}.version-assignment-paper h2{letter-spacing:.2273cqw;font-size:1.3636cqw;line-height:1.8182cqw}.version-assignment-paper>header>div{font-size:1.0227cqw}.version-assignment-paper>header strong{font-size:1.1364cqw}.operation-heading .operation-list-back,.print-header .operation-list-back{width:auto;min-width:0;padding-inline:12px}.export-operation-heading .operation-list-back{white-space:nowrap;flex:none;align-self:flex-start;width:max-content;min-width:0;margin-left:auto}.export-operation-heading{flex-flow:row;align-items:flex-start}.export-operation-heading>div{flex:auto;min-width:0}@media print{.version-table-frame,.version-summary-paper .version-aggregate-scroll,.version-assignment-paper .version-assignment-frame,.version-assignment-paper .teacher-assignment-scroll{box-sizing:border-box;overflow:visible!important}.version-table-frame>table,.version-summary-paper .version-aggregate-table{box-sizing:border-box}.version-assignment-paper .teacher-assignment-table-paper{height:auto;max-height:none}}.task-archive-table{overflow-x:auto}.task-archive-table .archive-row{grid-template-columns:minmax(300px,1.8fr) 110px 170px 82px 250px;min-width:922px}.task-archive-table .archive-name strong{text-overflow:clip;white-space:normal;overflow-wrap:anywhere;overflow:visible}@media (width<=900px){.task-archive-table{overflow:visible}.task-archive-table .archive-row{grid-template-columns:repeat(2,minmax(0,1fr));min-width:0}}.smart-timetable{container-type:inline-size}.smart-timetable-row>button strong{font-size:clamp(11px,1.15cqw,15px)}.smart-timetable-row>button small{font-size:clamp(9px,.9cqw,13px)}.version-print-paper.version-summary-paper .version-aggregate-scroll{grid-template:minmax(0,1fr)/minmax(0,1fr);height:auto;min-height:0;display:grid;overflow:hidden}.version-print-paper.version-summary-paper .version-aggregate-table{box-sizing:border-box;table-layout:fixed;width:100%;min-width:0;max-width:100%;height:100%;min-height:0;max-height:100%}.version-print-paper .version-aggregate-table thead tr:first-child,.version-print-paper .version-aggregate-table thead tr:first-child th{height:calc(3.4cqw * var(--aggregate-density,1))}.version-print-paper .version-aggregate-table thead tr:nth-child(2),.version-print-paper .version-aggregate-table thead tr:nth-child(2) th{height:calc(3.1cqw * var(--aggregate-density,1))}.version-print-paper .version-aggregate-table tbody tr{height:calc((100% - (6.5cqw * var(--aggregate-density,1))) / var(--aggregate-row-count,1));max-height:calc((100% - (6.5cqw * var(--aggregate-density,1))) / var(--aggregate-row-count,1))}.version-print-paper .version-aggregate-table col.aggregate-object-column{width:calc(5.6cqw * var(--aggregate-density,1))}.version-print-paper.version-summary-paper .version-aggregate-table th,.version-print-paper.version-summary-paper .version-aggregate-table td{box-sizing:border-box;padding:calc(.18cqw * var(--aggregate-density,1));overflow:hidden}.version-aggregate-paper.aggregate-horizontal .version-aggregate-table tbody td{vertical-align:middle}.version-print-paper.version-summary-paper .version-aggregate-table tbody th,.version-print-paper.version-summary-paper .version-aggregate-table tbody td{vertical-align:middle;overflow:hidden}.version-print-paper.version-summary-paper .version-aggregate-table .aggregate-cell-content{box-sizing:border-box;justify-content:center;align-items:center;gap:calc(.08cqw * var(--aggregate-density,1));white-space:nowrap;flex-direction:column;width:100%;height:100%;min-height:0;display:flex;overflow:hidden}.version-aggregate-paper .version-aggregate-table .aggregate-cell-content>.aggregate-fit-text{flex:0 auto;min-width:0;max-width:100%;min-height:0;overflow:hidden}.version-aggregate-paper .version-aggregate-table .aggregate-cell-content>small{text-overflow:ellipsis;flex:none;max-width:100%;overflow:hidden}.version-aggregate-paper .version-aggregate-table .aggregate-cell-list{align-content:center;gap:calc(.08cqw * var(--aggregate-density,1));white-space:normal;display:grid}.version-aggregate-paper .version-aggregate-table .aggregate-lesson-item{flex-direction:column;justify-content:center;align-items:center;min-width:0;min-height:0;display:flex;overflow:hidden}.version-aggregate-paper .version-aggregate-table .aggregate-lesson-item>.aggregate-fit-text,.version-aggregate-paper .version-aggregate-table .aggregate-lesson-item>small{text-overflow:clip;min-width:0;max-width:100%;max-height:100%;overflow:visible}.version-aggregate-paper .version-aggregate-table .aggregate-cell-content>.aggregate-fit-text.aggregate-fit-wrap,.version-aggregate-paper .version-aggregate-table .aggregate-lesson-item>.aggregate-fit-text.aggregate-fit-wrap{white-space:normal;overflow-wrap:anywhere;word-break:break-all;line-height:1.05;display:block}.version-aggregate-paper.aggregate-horizontal .version-aggregate-table .aggregate-lesson-item>.aggregate-fit-text.aggregate-fit-wrap{font-size:calc(.9cqw * var(--aggregate-density,1))}.version-aggregate-paper .version-aggregate-table thead th,.version-aggregate-paper .version-aggregate-table tbody td,.version-print-paper .version-aggregate-table thead th span,.version-print-paper .version-aggregate-table .public{font-size:calc(1cqw * var(--aggregate-density,1));overflow-wrap:normal;word-break:keep-all;white-space:nowrap;line-height:1.1}.version-aggregate-paper .version-aggregate-table tbody th{font-size:calc(1.08cqw * var(--aggregate-density,1))}.version-aggregate-paper .version-aggregate-table thead tr:nth-child(2) th{padding:calc(.08cqw * var(--aggregate-density,1))}.version-aggregate-paper .version-aggregate-table .aggregate-period-label{white-space:normal;overflow-wrap:anywhere;word-break:break-all;min-width:0;max-width:100%;min-height:0;max-height:100%;font-size:calc(1cqw * var(--aggregate-density,1));place-content:center;line-height:1;display:grid;overflow:visible}.version-aggregate-paper .version-aggregate-table small,.version-print-paper .version-aggregate-table small{white-space:nowrap;font-size:.78em;line-height:1.1;display:block}.version-aggregate-paper.aggregate-teacher-table.aggregate-horizontal .version-aggregate-table thead th,.version-aggregate-paper.aggregate-teacher-table.aggregate-horizontal .version-aggregate-table tbody td,.version-aggregate-paper.aggregate-teacher-table.aggregate-horizontal .version-aggregate-table thead th span,.version-aggregate-paper.aggregate-teacher-table.aggregate-horizontal .version-aggregate-table .public{font-size:calc(.9cqw * var(--aggregate-density,1))}.version-aggregate-paper.aggregate-teacher-table.aggregate-horizontal .version-aggregate-table tbody th{font-size:calc(.98cqw * var(--aggregate-density,1))}.version-aggregate-paper.aggregate-vertical .version-aggregate-table thead tr:first-child,.version-aggregate-paper.aggregate-vertical .version-aggregate-table thead tr:first-child th{height:calc(3.2cqw * var(--aggregate-density,1))}.version-aggregate-paper.aggregate-vertical .version-aggregate-table thead tr:nth-child(2),.version-aggregate-paper.aggregate-vertical .version-aggregate-table thead tr:nth-child(2) th{height:calc(2.8cqw * var(--aggregate-density,1))}.version-aggregate-paper.aggregate-vertical .version-aggregate-table tbody tr{height:calc((100% - (6cqw * var(--aggregate-density,1))) / var(--aggregate-row-count,1));max-height:calc((100% - (6cqw * var(--aggregate-density,1))) / var(--aggregate-row-count,1))}.version-aggregate-paper.aggregate-vertical .version-aggregate-table th,.version-aggregate-paper.aggregate-vertical .version-aggregate-table td{padding:calc(.16cqw * var(--aggregate-density,1)) calc(.1cqw * var(--aggregate-density,1))}.version-aggregate-paper.aggregate-vertical .version-aggregate-table tbody th,.version-aggregate-paper.aggregate-vertical .version-aggregate-table tbody td{vertical-align:middle}.version-print-paper.version-summary-paper.version-aggregate-paper.aggregate-vertical .aggregate-cell-content{box-sizing:border-box;justify-content:center;align-items:stretch;gap:calc(.08cqw * var(--aggregate-density,1));width:100%;height:100%;min-height:0;padding:calc(.08cqw * var(--aggregate-density,1)) 0;writing-mode:horizontal-tb;white-space:nowrap;flex-direction:column;display:flex;overflow:hidden}.version-print-paper.version-summary-paper.version-aggregate-paper.aggregate-vertical .aggregate-cell-content>.aggregate-fit-text{writing-mode:vertical-rl;text-orientation:upright;text-align:center;text-overflow:clip;flex:auto;place-content:center;min-width:0;max-width:100%;min-height:0;max-height:100%;margin:0;display:grid;overflow:hidden}.version-print-paper.version-summary-paper.version-aggregate-paper.aggregate-vertical .aggregate-cell-paired .aggregate-lesson-item{grid-template-columns:minmax(0,1fr) minmax(0,1fr);align-items:stretch;gap:0;width:100%;display:grid}.version-print-paper.version-summary-paper.version-aggregate-paper.aggregate-vertical .aggregate-cell-paired{gap:0;padding:0}.version-print-paper.version-summary-paper.version-aggregate-paper.aggregate-vertical .aggregate-cell-paired .aggregate-lesson-item>.aggregate-fit-text,.version-print-paper.version-summary-paper.version-aggregate-paper.aggregate-vertical .aggregate-cell-paired .aggregate-lesson-item>small{writing-mode:vertical-rl;text-orientation:upright;text-align:center;text-overflow:clip;place-content:center;min-width:0;max-width:100%;height:100%;min-height:0;margin:0;display:grid;overflow:hidden}.version-print-paper.version-summary-paper.version-aggregate-paper.aggregate-vertical .aggregate-cell-paired .aggregate-lesson-item>.aggregate-fit-text{font-size:calc(1.1cqw * var(--aggregate-density,1));line-height:1}.version-print-paper.version-summary-paper.version-aggregate-paper.aggregate-vertical .aggregate-cell-paired .aggregate-lesson-item>small{font-size:calc(.98cqw * var(--aggregate-density,1));line-height:1}.version-print-paper.version-summary-paper.version-aggregate-paper.aggregate-vertical .aggregate-cell-content>.aggregate-fit-text.aggregate-fit-wrap{white-space:normal;overflow-wrap:anywhere;word-break:break-all;line-height:1.05;display:grid}.version-aggregate-paper.aggregate-vertical .aggregate-entity-content{place-content:center;height:100%;max-height:100%;padding:0;line-height:1.15;display:grid;overflow:hidden}.data-backup-page{flex-direction:column;flex:1;gap:20px;min-height:0;display:flex}.backup-columns{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:20px;display:grid}.backup-card{border:1px solid var(--color-border);background:#fff;border-radius:12px;gap:18px;min-width:0;padding:24px;display:grid}.backup-card>header{align-items:flex-start;gap:12px;display:flex}.backup-card>header>span{background:var(--color-surface-subtle);width:40px;height:40px;color:var(--color-primary);border-radius:8px;place-items:center;display:grid}.backup-card>header svg{width:19px}.backup-card h2,.backup-card p{margin:0}.backup-card h2{font-size:20px}.backup-card header p{color:var(--color-text-secondary);margin-top:4px;font-size:13px}.backup-task-range{border:0;min-width:0;margin:0;padding:0}.backup-task-range legend{color:var(--color-text-secondary);margin-bottom:10px;font-size:13px;font-weight:600}.backup-range-toolbar{justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.backup-range-toolbar>span{font-size:13px}.backup-range-toolbar p{gap:6px;display:flex}.backup-range-toolbar button{border:1px solid var(--color-border-strong);height:30px;color:var(--color-primary);background:#fff;border-radius:6px;padding:0 10px;font:600 12px inherit}.backup-task-options{border:1px solid var(--color-border);border-radius:8px;max-height:310px;overflow:auto}.backup-task-options label{border-bottom:1px solid var(--color-border);cursor:pointer;align-items:center;gap:10px;min-height:52px;padding:9px 12px;display:flex}.backup-task-options label:last-child{border-bottom:0}.backup-task-options label>span{gap:3px;min-width:0;display:grid}.backup-task-options strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.backup-task-options small{color:var(--color-text-secondary);font-size:12px}.backup-card>footer{justify-content:flex-end;display:flex}.backup-card>footer button,.backup-file-button{border:1px solid var(--color-border-strong);background:#fff;border-radius:8px;justify-content:center;align-items:center;gap:7px;height:40px;padding:0 16px;font:600 13px inherit;display:inline-flex}.backup-card>footer button.primary{border-color:var(--color-primary);background:var(--color-primary);color:#fff;min-width:140px}.backup-card button svg{width:16px}.backup-card button:disabled{cursor:not-allowed;opacity:.45}.backup-file-button{justify-self:start}.backup-empty{border:1px dashed var(--color-border-strong);min-height:84px;color:var(--color-text-secondary);border-radius:8px;place-items:center;padding:16px;font-size:13px;display:grid}.backup-warning{color:#714f0b;background:#fff8e7;border-radius:8px;align-items:flex-start;gap:7px;padding:10px 12px;font-size:12px;line-height:1.5;display:flex}.backup-warning svg{flex:none;width:16px}@media (width<=980px){.backup-columns{grid-template-columns:1fr}}.history-page,.account-page{background:var(--color-bg);flex-direction:column;gap:20px;height:100%;padding:32px;display:flex;overflow:hidden}.account-page{box-sizing:border-box;gap:14px;width:100%;min-width:0;padding:24px}.account-password-code .captcha-send-control{height:44px}.account-password-code .captcha-send-control>button{height:100%}.history-header,.account-header{justify-content:space-between;align-items:center;display:flex}.history-header>div{align-items:flex-end;gap:24px;display:flex}.history-header h1,.account-header h1{font-size:28px;font-weight:700;line-height:36px}.history-header p,.account-header p{color:var(--color-text-secondary);margin:0;font-size:14px}.history-header>button{background:var(--color-primary);color:#fff;border:0;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:150px;height:44px;font:600 14px inherit;display:flex}.history-header>button svg{width:16px}.history-metrics{grid-template-columns:repeat(4,1fr);gap:12px;display:grid}.history-metrics>div{border:1px solid var(--color-border);background:#fff;border-radius:12px;flex-direction:column;gap:5px;height:94px;padding:18px;display:flex}.history-metrics strong{color:var(--color-primary);font-size:24px}.history-metrics strong.green{color:var(--color-success)}.history-metrics span{color:var(--color-text-secondary);font-size:13px;font-weight:600}.history-table{border:1px solid var(--color-table-border);background:#fff;border-radius:12px;overflow:hidden}.history-row{border-top:1px solid var(--color-border);grid-template-columns:270px 150px 130px 190px 140px 90px 110px;align-items:center;height:66px;font-size:14px;display:grid}.history-row.head{background:var(--color-surface-subtle);height:48px;color:var(--color-text-secondary);border-top:0;font-size:13px;font-weight:600}.history-row>span{padding:0 14px}.history-row .active-status{color:var(--color-success);font-weight:600}.history-row span:last-child{padding:0 8px}.history-row span:last-child button{height:44px;color:var(--color-primary);background:0 0;border:0;align-items:center;gap:6px;font:500 14px inherit;display:flex}.history-row button svg{width:16px}.history-mask{z-index:20;background:#10182866;justify-content:flex-end;display:flex;position:fixed;inset:0}.history-detail{background:#fff;flex-direction:column;width:440px;height:100%;display:flex;box-shadow:-12px 0 30px #10182825}.history-detail>header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;height:92px;padding:0 24px;display:flex}.history-detail h2{font-size:20px}.history-detail p{color:var(--color-text-secondary);margin:4px 0 0;font-size:13px}.history-detail>header button{border:1px solid var(--color-border);background:#fff;border-radius:8px;place-items:center;width:36px;height:36px;display:grid}.history-detail>header svg{width:18px}.history-detail dl{flex-direction:column;margin:0;padding:12px 24px;display:flex}.history-detail dl>div{border-bottom:1px solid var(--color-border);justify-content:space-between;padding:18px 0;display:flex}.history-detail dt{color:var(--color-text-secondary);font-size:13px}.history-detail dd{font-size:13px;font-weight:600}.history-detail footer{border-top:1px solid var(--color-border);margin-top:auto;padding:20px 24px}.history-detail footer button{background:var(--color-primary);color:#fff;border:0;border-radius:8px;width:100%;height:44px;font:600 14px inherit}.account-header{align-items:flex-start}.account-header>div{align-items:flex-end;gap:24px;padding-top:4px;display:flex}.account-header>aside{background:#f8fbf9;border:1px solid #d7e8de;border-radius:12px;flex-direction:column;gap:4px;width:240px;padding:8px 12px;display:flex}.account-plan-card-head{justify-content:space-between;align-items:center;gap:8px;display:flex}.account-retention-warning{color:#8a4b08;background:#fff7ed;border:1px solid #f0b36b;border-radius:10px;justify-content:space-between;align-items:center;gap:16px;padding:14px 16px;display:flex}.account-retention-warning>div{gap:4px;display:grid}.account-retention-warning span{font-size:13px}.account-retention-warning button{background:var(--color-primary);color:#fff;border-radius:8px;flex:none;padding:8px 14px;font-weight:600}.account-retention-warning .account-retention-actions{grid-auto-flow:column;gap:8px;display:flex}.account-retention-warning button.secondary{color:#8a4b08;background:#fff;border:1px solid #cf7c20}.account-retention-warning.terminal{color:#9d2929;background:#fff1f1;border-color:#d98787}.account-header aside strong{font-size:13px;line-height:1.3}.account-header aside span{color:var(--color-text-secondary);font-size:12px}.account-header aside .account-renew-link{border:1px solid var(--color-success);height:24px;color:var(--color-success);white-space:nowrap;background:#fff;flex:none;padding:0 10px;font:700 12px inherit;border-radius:999px!important}.account-header aside .account-renew-link:hover{background:#edf9f0}.account-header aside>button{border:1px solid var(--color-success);height:32px;color:var(--color-success);background:#fff;border-radius:8px;justify-content:center;align-items:center;gap:6px;font:700 12px inherit;display:flex}.account-header aside svg{width:15px}.account-rights-mask{z-index:80;background:#10182866;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.account-rights-dialog{border:1px solid var(--color-border);background:#fff;border-radius:16px;width:min(900px,100%);max-height:calc(100dvh - 48px);display:grid;overflow:auto;box-shadow:0 24px 60px #10182838}.account-rights-dialog>header{border-bottom:1px solid var(--color-border);background:linear-gradient(135deg,#f4f9ff,#f7fbf7);justify-content:space-between;align-items:flex-start;gap:20px;padding:26px 28px;display:flex}.account-rights-dialog>header span{color:var(--color-primary);font-size:12px;font-weight:700}.account-rights-dialog h2{margin-top:6px;font-size:28px;line-height:36px}.account-rights-dialog header p{color:var(--color-text-secondary);margin:6px 0 0;font-size:13px}.account-rights-dialog>header>button{border:1px solid var(--color-border-strong);background:#fff;border-radius:8px;place-items:center;width:36px;height:36px;display:grid}.account-rights-dialog>header svg{width:17px}.account-rights-body{grid-template-columns:1fr 1fr;gap:18px;padding:24px 28px;display:grid}.account-rights-card{border:1px solid var(--color-border);background:#fff;border-radius:14px;align-content:start;gap:16px;padding:22px;display:grid;box-shadow:0 8px 22px #18212f0a}.account-rights-card h3{align-items:center;gap:8px;font-size:16px;display:flex}.account-rights-card h3 svg{width:19px;color:var(--color-primary)}.account-rights-card ul{margin:0;padding:0;list-style:none;display:grid}.account-rights-card li{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;gap:12px;min-height:40px;font-size:13px;display:flex}.account-rights-card li:last-child{border-bottom:0}.account-rights-card li>span{color:var(--color-text-secondary)}.account-rights-card li>strong{color:var(--color-text);font-size:13px}.account-rights-capabilities li{justify-content:flex-start}.account-rights-capabilities li>svg{width:17px;color:var(--color-success)}.account-rights-capabilities li>svg[data-icon=circle-x]{color:var(--color-text-muted)}.account-rights-capabilities li>strong{margin-left:auto}.account-rights-capabilities strong.enabled{color:var(--color-success)}.account-rights-capabilities strong.disabled{color:var(--color-text-muted)}.account-rights-loading{min-height:180px;color:var(--color-text-secondary);place-items:center;font-size:13px;display:grid}.account-rights-dialog>footer{border-top:1px solid var(--color-border);justify-content:flex-end;gap:10px;padding:18px 28px;display:flex}.account-rights-dialog>footer button{border:1px solid var(--color-border-strong);background:#fff;border-radius:8px;height:42px;padding:0 18px;font-weight:700}.account-rights-dialog>footer button:last-child{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.account-card{border:1px solid var(--color-border);background:#fff;border-radius:12px;flex-direction:column;flex:1;gap:10px;min-width:0;min-height:0;padding:16px;display:flex;overflow:auto}.account-card>header h2{font-size:18px}.account-card>header p{color:var(--color-text-secondary);margin:3px 0 0;font-size:12px}.account-profile-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.account-profile-grid>.account-section{border:1px solid var(--color-border);background:var(--color-surface-subtle);border-radius:10px;padding:14px}.account-profile-grid>.account-section.school{border-top:1px solid var(--color-border);padding-top:14px}.account-profile-grid .account-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.account-profile-grid .account-avatar-editor{grid-template-columns:1fr}.account-profile-grid .account-security-action{grid-column:auto;grid-template-columns:1fr;justify-content:stretch}@media (width<=1180px){.account-profile-grid{grid-template-columns:1fr}.account-profile-grid .account-avatar-editor{grid-template-columns:minmax(220px,.8fr) minmax(0,1.4fr)}.account-profile-grid .account-security-action{grid-column:1/-1;grid-template-columns:auto minmax(160px,220px);justify-content:end}}@media (width<=620px){.account-profile-grid .account-fields,.account-profile-grid .account-avatar-editor{grid-template-columns:1fr}.account-profile-grid .account-security-action{grid-column:auto;grid-template-columns:1fr;justify-content:stretch}}.account-section{flex-direction:column;gap:10px;min-width:0;display:flex}.account-section.school{border-top:1px solid var(--color-border);padding-top:10px}.account-section-title{justify-content:space-between;align-items:center;display:flex}.account-section-title h3{font-size:15px}.account-section-actions{align-items:center;gap:12px;display:flex}.account-section-actions>span{background:var(--color-success-soft);height:28px;color:var(--color-success);border-radius:15px;align-items:center;gap:7px;padding:0 9px;font-size:12px;font-weight:600;display:flex}.account-section-title svg{width:16px}.account-school-title{align-items:center;gap:10px;display:flex}.account-verification-trigger{color:#704b00;background:#f5c451;border:1px solid #d99c1d;border-radius:5px;align-items:center;gap:4px;height:24px;padding:0 8px;font:700 11px inherit;display:inline-flex}.account-verification-trigger svg{width:13px;height:13px}.account-verification-status{font-size:12px;font-weight:700}.account-verification-status.pending{color:var(--color-warning-text)}.account-verification-status.verified{color:var(--color-success)}.account-verification-status.rejected{color:var(--color-danger)}.account-verification-dialog{border:1px solid var(--color-border);background:#fff;border-radius:14px;gap:16px;width:min(580px,100vw - 32px);max-height:calc(100vh - 32px);padding:22px;display:grid;overflow:auto;box-shadow:0 24px 60px #10182838}.account-verification-dialog>header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.account-verification-dialog h3{font-size:18px}.account-verification-dialog header p{color:var(--color-text-secondary);margin:4px 0 0;font-size:12px}.account-verification-dialog header button{border:1px solid var(--color-border);background:#fff;border-radius:8px;place-items:center;width:34px;height:34px;display:grid}.account-verification-dialog header svg{width:16px}.account-verification-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.account-verification-form label{color:var(--color-text-secondary);gap:6px;font-size:12px;font-weight:600;display:grid}.account-verification-form input,.account-verification-form select,.account-verification-form textarea{box-sizing:border-box;border:1px solid var(--color-border-strong);width:100%;color:var(--color-text);background:#fff;border-radius:8px;padding:10px 11px;font:14px inherit}.account-verification-form :is(input,select,textarea):disabled{background:var(--color-surface-subtle);color:var(--color-text-secondary)}.account-verification-wide{grid-column:1/-1}.account-verification-reject{color:var(--color-danger);background:#fef3f2;border-radius:8px;margin:0;padding:10px 12px;font-size:12px;line-height:1.5}.account-verification-dialog footer{justify-content:flex-end;gap:8px;display:flex}.account-verification-dialog footer button{border:1px solid var(--color-border-strong);background:#fff;border-radius:8px;height:40px;padding:0 16px;font-weight:700}.account-verification-dialog footer button:last-child{color:#704b00;background:#f5c451;border-color:#d99c1d}@media (width<=620px){.account-verification-form{grid-template-columns:1fr}.account-verification-wide{grid-column:auto}}.account-verification-load-error{color:var(--color-danger);margin:0;font-size:12px}.account-verification-upload input{opacity:0;width:1px;height:1px;position:absolute}.account-verification-upload b{color:#704b00;cursor:pointer;background:#fffaf0;border:1px dashed #d99c1d;border-radius:8px;justify-content:center;align-items:center;height:38px;font-size:12px;display:flex}.account-verification-upload label{display:block}.account-verification-upload ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.account-verification-upload li{background:var(--color-surface-subtle);border-radius:6px;justify-content:space-between;align-items:center;gap:10px;padding:7px 9px;font-size:12px;display:flex}.account-verification-upload li span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.account-verification-upload li button{color:var(--color-danger);flex:none;font-size:12px}.account-user-title{align-items:center;gap:8px;display:flex}.account-password-trigger{border:1px solid var(--color-border-strong);height:24px;color:var(--color-primary);background:#fff;border-radius:5px;align-items:center;gap:4px;padding:0 7px;font:700 11px inherit;display:inline-flex}.account-password-trigger svg{width:13px;height:13px}.account-verification-trigger{color:#a56f00;background:#fff}.account-verification-trigger.verified{color:#704b00;background:#f5c451}.account-profile-grid>.account-section:first-child{position:relative}.account-profile-grid>.account-section:first-child .account-avatar-editor{z-index:1;background:0 0;border:0;align-items:flex-start;gap:8px;width:190px;padding:0;display:flex;position:absolute;top:12px;right:14px}.account-profile-grid>.account-section:first-child .account-avatar-options{flex:1;gap:4px}@media (width<=1180px){.account-profile-grid>.account-section:first-child .account-avatar-editor{width:auto;margin-top:4px;position:static}.account-profile-grid>.account-section:first-child .account-fields{padding-top:0}.account-profile-grid>.account-section:first-child .account-avatar-current>div{display:grid}}.account-avatar-editor{border:1px solid var(--color-border);background:var(--color-surface-subtle);border-radius:12px;grid-template-columns:minmax(220px,.8fr) minmax(360px,1.5fr) minmax(150px,.5fr);gap:14px;padding:12px;display:grid}.account-avatar-current{align-items:center;gap:12px;display:flex}.account-avatar-current>span{color:#fff;width:64px;height:64px;box-shadow:0 0 0 1px var(--color-border);background:#18212f;border:3px solid #fff;border-radius:999px;flex:0 0 64px;place-items:center;display:grid;overflow:hidden}.account-avatar-current>span svg{width:28px;height:28px}.account-avatar-current>span img{object-fit:cover;width:100%;height:100%}.account-avatar-current>div{gap:3px;display:grid}.account-avatar-current strong{font-size:14px}.account-avatar-current span{color:var(--color-text-secondary);font-size:11px;line-height:1.4}.account-avatar-current button{color:var(--color-primary);justify-self:start;font-size:11px;font-weight:700}.account-avatar-options{align-content:center;gap:6px;display:grid}.account-avatar-options>span,.account-security-action>span{color:var(--color-text-secondary);font-size:11px;font-weight:700}.account-avatar-options>div{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.account-avatar-options>div>button:not(.account-avatar-upload){border:2px solid #0000;border-radius:999px;place-items:center;width:44px;height:44px;display:grid}.account-avatar-options>div>button:not(.account-avatar-upload)>span{color:#fff;border-radius:999px;place-items:center;width:40px;height:40px;display:grid}.account-avatar-options svg{width:18px;height:18px}.account-avatar-upload,.account-security-action button{border:1px solid var(--color-border-strong);height:44px;color:var(--color-primary);white-space:nowrap;background:#fff;border-radius:8px;justify-content:center;align-items:center;gap:7px;padding:0 12px;font-size:12px;font-weight:700;display:flex}.account-avatar-upload{flex:none}.account-security-action{align-content:center;gap:6px;display:grid}.account-security-action button svg{width:16px}.account-avatar-crop-mask{z-index:60;background:#10182866;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.account-avatar-crop{border:1px solid var(--color-border);background:#fff;border-radius:14px;grid-template-columns:240px minmax(0,1fr);gap:18px;width:min(560px,100vw - 32px);padding:20px;display:grid;box-shadow:0 24px 60px #10182838}.account-avatar-crop>header{grid-column:1/-1;justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.account-avatar-crop h3{font-size:18px}.account-avatar-crop header p{color:var(--color-text-secondary);margin:4px 0 0;font-size:12px}.account-avatar-crop header button{border:1px solid var(--color-border);background:#fff;border-radius:8px;place-items:center;width:34px;height:34px;font-size:20px;display:grid}.account-avatar-crop-preview{background:#eaecf0;border-radius:12px;width:240px;height:240px;overflow:hidden}.account-avatar-crop img{object-fit:cover;width:100%;height:100%;transition:transform .15s}.account-avatar-crop label{align-content:center;gap:8px;display:grid}.account-avatar-crop footer{grid-column:1/-1;justify-content:flex-end;gap:8px;display:flex}.account-avatar-crop footer button{border:1px solid var(--color-border-strong);background:#fff;border-radius:8px;height:40px;padding:0 14px;font-weight:700}.account-avatar-crop footer button:last-child{border-color:var(--color-success);background:var(--color-success);color:#fff}.account-avatar-error{color:var(--color-danger);grid-column:1/-1;margin:0;font-size:12px}.account-section.notifications{border-top:1px solid var(--color-border);padding-top:14px;scroll-margin-top:20px}.account-notification-empty{border:1px dashed var(--color-border-strong);background:var(--color-surface-subtle);border-radius:10px;align-items:center;gap:12px;padding:14px;display:flex}.account-notification-empty>svg{width:20px;color:var(--color-text-secondary)}.account-notification-empty>div{flex-direction:column;gap:3px;display:flex}.account-notification-empty strong{font-size:13px}.account-notification-empty span{color:var(--color-text-secondary);font-size:12px}.account-fields{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;width:100%;min-width:0;display:grid}.account-field{flex-direction:column;gap:6px;width:100%;min-width:0;display:flex}.account-field>span{color:var(--color-text-secondary);font-size:12px;font-weight:600}.account-field>div{border:1px solid var(--color-border-strong);box-sizing:border-box;background:#fff;border-radius:8px;align-items:center;gap:8px;width:100%;min-width:0;height:44px;padding:0 12px;display:flex}.account-field input,.account-field select{min-width:0;color:var(--color-text);background:0 0;border:0;outline:0;flex:1;font:14px inherit}.account-field select{appearance:none}.account-field em{background:var(--color-success-soft);height:22px;color:var(--color-success);border-radius:11px;align-items:center;gap:4px;padding:0 7px;font-size:11px;font-style:normal;font-weight:600;display:flex}.account-field em svg{width:13px}.account-field>div>svg{width:16px;color:var(--color-text-secondary)}.account-field.readonly>div{background:var(--color-surface-subtle)}.account-field.readonly input{color:var(--color-text-secondary);cursor:not-allowed}.account-field-action{height:28px;color:var(--color-primary);text-underline-offset:3px;white-space:nowrap;background:0 0;border:0;flex:none;padding:0 8px;font-size:11px;font-weight:700;text-decoration:underline}.account-field input:-webkit-autofill{-webkit-text-fill-color:var(--color-text);caret-color:var(--color-text);box-shadow:inset 0 0 0 1000px #fff}.account-field input:-webkit-autofill:hover{-webkit-text-fill-color:var(--color-text);caret-color:var(--color-text);box-shadow:inset 0 0 0 1000px #fff}.account-field input:-webkit-autofill:focus{-webkit-text-fill-color:var(--color-text);caret-color:var(--color-text);box-shadow:inset 0 0 0 1000px #fff}.account-field>.account-region-control{background:0 0;border:0;grid-template-columns:1fr 1fr;gap:8px;height:44px;padding:0;display:grid}.account-region-control select{border:1px solid var(--color-border-strong);background:#fff;border-radius:8px;height:44px;padding:0 10px}.account-field em.pending{background:var(--color-warning-soft);color:var(--color-warning-text)}.account-save{justify-content:flex-end;padding-top:2px;display:flex}.account-save button{border:1px solid var(--color-border-strong);color:#98a2b3;background:#e5e7eb;border-radius:8px;justify-content:center;align-items:center;gap:8px;width:184px;height:44px;font:700 14px inherit;display:flex}.account-save button.dirty,.account-save button.saved{border-color:var(--color-success);background:var(--color-success);color:#fff}.account-save svg{width:17px}.account-save-all{border-top:1px solid var(--color-border);padding-top:10px}.account-password-mask{z-index:70;background:#10182866;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.account-password-dialog{border:1px solid var(--color-border);background:#fff;border-radius:14px;gap:14px;width:min(480px,100vw - 32px);max-height:calc(100vh - 32px);padding:20px;display:grid;overflow:auto;box-shadow:0 24px 60px #10182838}.account-password-dialog>header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.account-password-dialog h3{font-size:18px}.account-password-dialog header p{color:var(--color-text-secondary);margin:4px 0 0;font-size:12px}.account-password-dialog header button{border:1px solid var(--color-border);background:#fff;border-radius:8px;place-items:center;width:34px;height:34px;display:grid}.account-password-dialog header svg{width:16px}.account-password-dialog>label{gap:6px;display:grid}.account-password-dialog>label>span{color:var(--color-text-secondary);font-size:12px;font-weight:600}.account-password-dialog input{border:1px solid var(--color-border-strong);width:100%;height:44px;color:var(--color-text);background:#fff;border-radius:8px;outline:0;padding:0 12px;font:14px inherit}.account-password-dialog input:focus{border-color:var(--color-primary)}.account-password-dialog input[readonly]{background:var(--color-surface-subtle);color:var(--color-text-secondary)}.account-password-code{grid-template-columns:minmax(0,1fr) 112px;gap:8px;display:grid}.account-password-code button{border:1px solid var(--color-border-strong);color:var(--color-primary);background:#fff;border-radius:8px;font-size:12px;font-weight:700}.account-password-message,.account-password-error{align-items:center;gap:6px;min-height:20px;margin:0;font-size:12px;display:flex}.account-password-message{color:var(--color-success)}.account-password-message svg{width:15px}.account-password-error{color:var(--color-danger)}.account-password-dialog footer{justify-content:flex-end;gap:8px;padding-top:4px;display:flex}.account-password-dialog footer button{border:1px solid var(--color-border-strong);background:#fff;border-radius:8px;height:40px;padding:0 16px;font-weight:700}.account-password-dialog footer button:last-child{border-color:var(--color-success);background:var(--color-success);color:#fff}.account-password-dialog button:disabled{cursor:not-allowed;opacity:.5}.account-campus-field{grid-column:1/-1}.account-field>.account-campus-control{flex-wrap:wrap;justify-content:space-between;height:auto;min-height:44px;padding:8px 10px}.account-campus-tags{flex-wrap:wrap;flex:1;align-items:center;gap:6px;min-width:0;display:flex}.account-campus-tags>span{background:var(--color-surface-subtle);color:#475467;border-radius:16px;align-items:center;gap:6px;height:28px;padding:0 10px;font-size:12px;font-weight:700;display:inline-flex}.account-campus-tags>span:first-child{background:var(--color-success-soft);color:var(--color-success)}.account-campus-tags small{font-size:10px;font-weight:600}.account-campus-tags button{color:#b42318;background:#fee2e2;border:0;border-radius:50%;place-items:center;width:20px;height:20px;display:grid}.account-campus-tags button svg{width:12px}.account-campus-add{gap:8px;width:min(390px,45%);display:flex}.account-campus-add input{border:1px solid var(--color-border-strong);border-radius:6px;flex:1;min-width:0;height:32px;padding:0 11px;font:13px inherit}.account-campus-add button{background:var(--color-success);color:#fff;white-space:nowrap;border:0;border-radius:6px;justify-content:center;align-items:center;gap:6px;height:32px;padding:0 12px;font:700 12px inherit;display:flex}.account-campus-add button svg{width:14px}@media (width<=1200px){.account-avatar-editor{grid-template-columns:minmax(220px,.8fr) minmax(0,1.4fr)}.account-security-action{grid-column:1/-1;grid-template-columns:auto minmax(160px,220px);justify-content:end;align-items:center}}@media (width<=1100px){.account-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=900px){.history-page,.account-page{padding:16px}.history-header>div,.account-header>div{display:block}.history-header p,.account-header p{display:none}.history-metrics{grid-template-columns:repeat(2,1fr)}.history-row{grid-template-columns:1.7fr 1fr 1fr 100px}.history-row span:nth-child(3),.history-row span:nth-child(4),.history-row span:nth-child(5),.account-header aside{display:none}.account-fields,.account-avatar-editor{grid-template-columns:1fr}.account-security-action{grid-column:auto;grid-template-columns:1fr;justify-content:stretch}.account-avatar-crop{grid-template-columns:1fr}.account-avatar-crop-preview{justify-self:center}.account-campus-add{width:100%}.account-field-action{padding:0 2px;font-size:10px}.account-field em{gap:2px;padding:0 4px}.account-field em svg{display:none}.history-detail{width:min(440px,100vw)}}.history-header,.account-header{gap:24px}.history-header>div,.account-header>div{align-items:start;gap:6px;display:grid}.account-header p{text-align:left;width:auto}@media (width<=900px){.history-header>div,.account-header>div{display:grid}.history-header p,.account-header p{display:block}}.account-rights-card li>strong{font-weight:400}.invoice-request-events{border-top:1px solid var(--color-border);gap:6px;margin-top:4px;padding-top:9px;display:grid}.invoice-request-events>span{color:var(--color-text-secondary);font-size:11px}.invoice-request-events>p{grid-template-columns:auto 1fr auto;align-items:start;gap:8px;margin:0;font-size:11px;display:grid}.invoice-request-events small{color:var(--color-text-secondary)}.invoice-request-events time{color:var(--color-text-secondary);white-space:nowrap}.account-rights-dialog footer .account-invoice-entry{color:var(--color-primary);background:0 0;border:1px solid #a6c1de;margin-right:auto}@supports (color:color-mix(in lab, red, red)){.account-rights-dialog footer .account-invoice-entry{border:1px solid color-mix(in srgb,var(--color-primary) 35%,#fff)}}.invoice-dialog{width:min(760px,100vw - 32px)}.invoice-dialog-body{max-height:min(62vh,620px);padding:22px 28px;overflow:auto}.invoice-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 18px;display:grid}.invoice-form label{color:var(--color-text-secondary);gap:7px;font-size:12px;font-weight:600;display:grid}.invoice-form input,.invoice-form select,.invoice-form textarea{box-sizing:border-box;border:1px solid var(--color-border);width:100%;color:var(--color-text);font:inherit;background:#fff;border-radius:8px;padding:10px 11px;font-weight:400}.invoice-form textarea{resize:vertical}.invoice-form-wide{grid-column:1/-1}.invoice-request-summary strong{white-space:pre-line;color:var(--color-text-secondary);font-size:10px;font-weight:400;line-height:1.45;display:block}.invoice-request-summary strong:first-line{color:var(--color-text);font-size:12px;font-weight:700}.invoice-request-history{border-top:1px solid var(--color-border);gap:8px;margin-top:20px;padding-top:18px;display:grid}.invoice-request-history h3{color:var(--color-text);margin:0;font-size:13px}.invoice-request-history article{border:1px solid var(--color-border);background:var(--color-surface-subtle);border-radius:8px;gap:0;display:grid;overflow:hidden}.invoice-request-summary{width:100%;color:var(--color-text);text-align:left;background:0 0;border:0;justify-content:space-between;align-items:center;gap:12px;padding:11px 12px;font:700 12px inherit;display:flex}.invoice-request-summary svg{width:15px;color:var(--color-text-secondary);transition:transform .18s}.invoice-request-history article.expanded .invoice-request-summary svg{transform:rotate(180deg)}.invoice-request-detail{border-top:1px solid var(--color-border);gap:8px;padding:0 12px 12px;display:grid}.invoice-request-detail p{justify-content:space-between;gap:16px;margin:0;padding-top:8px;font-size:12px;display:flex}.invoice-request-detail span{color:var(--color-text-secondary)}.invoice-request-detail strong{overflow-wrap:anywhere;max-width:70%;color:var(--color-text);text-align:right}.invoice-request-status{flex:none;font-size:12px;font-weight:700}.invoice-request-status.pending{color:var(--color-warning)}.invoice-request-status.approved,.invoice-request-status.invoiced,.invoice-request-status.mailed{color:var(--color-success)}.invoice-request-status.rejected{color:var(--color-danger)}.account-rights-upgrade-view{padding:24px 28px;overflow:hidden}.account-rights-plan-grid{overscroll-behavior-inline:contain;opacity:0;grid-template-rows:1fr;grid-auto-columns:minmax(260px,1fr);grid-auto-flow:column;gap:18px;padding-bottom:8px;animation:.32s cubic-bezier(.22,.61,.36,1) forwards account-rights-plans-in;display:grid;overflow-x:auto;transform:translate(48px)}.account-rights-plan-card{box-sizing:border-box;border:1px solid var(--color-border);background:#fff;border-radius:14px;align-content:start;gap:12px;height:100%;padding:22px;display:grid;box-shadow:0 8px 22px #18212f0a}.account-rights-plan-card>header{justify-content:space-between;align-items:center;font-size:17px;display:flex}.account-rights-plan-card em{background:var(--color-brand-soft);color:var(--color-warning-text);border-radius:999px;padding:4px 9px;font-size:11px;font-style:normal}.account-rights-plan-price{color:var(--color-primary);font-size:27px}.account-rights-plan-card small,.account-rights-plan-card>p{color:var(--color-text-secondary);font-size:12px}.account-rights-plan-card>p{min-height:38px;margin:0;line-height:1.6}.account-rights-plan-card ul{gap:10px;margin:0;padding:4px 0 8px;list-style:none;display:grid}.account-rights-plan-card li{color:var(--color-text);align-items:flex-start;gap:8px;font-size:12px;line-height:1.5;display:flex}.account-rights-plan-card li svg{width:16px;color:var(--color-success);flex:none}.account-rights-plan-card li.disabled svg,.account-rights-plan-card li.disabled{color:#d92d20}.account-rights-plan-card>button,.account-rights-plan-card>.account-rights-plan-current{border-radius:8px;align-self:end;width:100%;height:42px;margin-top:auto}.account-rights-plan-card>button{background:var(--color-primary);color:#fff;font-weight:700}.account-rights-plan-card.current{background:linear-gradient(#fffdf5,#fff);border-color:#f5c451}.account-rights-plan-current{color:#a16207;background:#fef9c3;border:1px solid #f5c451;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:flex}@keyframes account-rights-plans-in{to{opacity:1;transform:translate(0)}}@media (prefers-reduced-motion:reduce){.account-rights-plan-grid{opacity:1;animation:none;transform:none}}@media (width<=700px){.account-rights-upgrade-view{padding:18px}.account-rights-plan-grid{grid-template-rows:none;grid-template-columns:1fr;grid-auto-columns:auto;grid-auto-flow:row;padding-bottom:0;overflow-x:visible}}@media (width<=620px){.invoice-dialog-body{padding:18px}.invoice-form{grid-template-columns:1fr}.invoice-form-wide{grid-column:auto}}.account-verification-trigger:disabled{cursor:default;opacity:1}.account-verification-panel{border:1px solid var(--color-border);background:var(--color-surface-subtle);border-radius:10px;gap:14px;margin-top:22px;padding:18px;display:grid}.account-verification-panel>header h4{color:var(--color-text-secondary);margin:0;font-size:14px}.account-verification-panel>header p{color:var(--color-text-secondary);margin:5px 0 0;font-size:12px}.account-verification-panel:not(.enabled){opacity:.72}.account-verification-panel:not(.enabled) :is(input,select,textarea){border-color:var(--color-border);color:#98a2b3;background:#f2f4f7}.account-verification-panel:not(.enabled) .account-verification-upload small{border:1px dashed var(--color-border);color:#98a2b3;border-radius:8px;padding:10px 11px;display:block}.account-verification-panel.enabled{background:#fffdf7;border-color:#e9c36a}.account-verification-panel.enabled>header h4{color:var(--color-text)}.account-verification-panel .account-verification-form{margin:0}.account-verification-panel footer{justify-content:flex-end;display:flex}.account-verification-panel footer button{color:#704b00;background:#f5c451;border:1px solid #d99c1d;border-radius:7px;height:36px;padding:0 14px;font-weight:700}.account-verification-panel .account-verification-reject{margin:0}.account-verification-panel .account-verification-upload small{border:1px solid var(--color-border);color:#98a2b3;background:#f2f4f7;border-radius:8px;min-height:18px;padding:10px 11px;display:block}.account-verification-upload-picker{display:block}.account-verification-upload>span{color:#98a2b3}.account-verification-upload .account-verification-file-preview{min-width:0;color:var(--color-primary);text-align:left;text-overflow:ellipsis;white-space:nowrap;font-size:12px;font-weight:600;overflow:hidden}.account-verification-upload .account-verification-file-preview:hover{text-decoration:underline}.account-verification-panel.verified{border-color:var(--color-border);opacity:1;background:#fff}.account-verification-panel.verified :is(input,select,textarea):disabled{border-color:var(--color-border-strong);color:var(--color-text);opacity:1;background:#fff}.account-verification-panel.verified .account-verification-upload small{border-color:var(--color-border);color:var(--color-text-secondary);background:#fff}.account-verification-panel.verified .account-verification-upload li{border:1px solid var(--color-border);background:#fff}.account-verification-heading{align-items:center;gap:8px;display:flex}.account-verification-heading>span{color:#a56f00;background:#fff4cc;border-radius:999px;padding:3px 7px;font-size:11px;font-weight:700}.account-profile-grid>.account-section:first-child .account-avatar-editor{z-index:auto;border:1px solid var(--color-border);background:var(--color-surface-subtle);border-radius:12px;width:auto;margin:12px 0 0;padding:12px;display:grid;position:static}.account-profile-grid>.account-section:first-child .account-avatar-current>div{display:grid}.account-profile-grid>.account-section:first-child .account-avatar-current>span{border-width:3px;flex-basis:64px;width:64px;height:64px}.account-profile-grid>.account-section:first-child .account-avatar-current>span svg{width:28px;height:28px}.account-profile-grid>.account-section:first-child .account-avatar-options{gap:6px;display:grid}.account-profile-grid>.account-section:first-child .account-avatar-options>span{font-size:11px}.account-profile-grid>.account-section:first-child .account-avatar-options>div{gap:7px}.account-profile-grid>.account-section:first-child .account-avatar-options>div>button:not(.account-avatar-upload){width:44px;height:44px}.account-profile-grid>.account-section:first-child .account-avatar-options>div>button:not(.account-avatar-upload)>span{width:40px;height:40px}.account-profile-grid>.account-section:first-child .account-avatar-upload{height:44px;padding:0 12px;font-size:12px}.account-profile-grid>.account-section:first-child .account-avatar-upload span{display:inline}.account-profile-grid>.account-section:first-child .account-fields{padding-top:0}.account-avatar-options>div>button[aria-pressed=true]{border-color:#0000}.account-join-panel.unavailable{color:#98a2b3;background:#f8f9fb}.account-join-panel.unavailable h4,.account-join-panel.unavailable p{color:#98a2b3}.account-join-panel.unavailable .account-join-toggle{color:#98a2b3;cursor:not-allowed;background:#f2f4f7;border-color:#d0d5dd}.account-verification-panel.unavailable{opacity:.6}.account-join-panel{border:1px solid var(--color-border);background:#fff;border-radius:10px;gap:12px;margin-top:22px;padding:18px;display:grid}.account-join-panel header{justify-content:space-between;align-items:center;gap:12px;display:flex}.account-join-panel header h4{color:var(--color-text);margin:0;font-size:14px}.account-join-panel header p{color:var(--color-text-secondary);margin:5px 0 0;font-size:12px}.account-join-toggle{border:1px solid var(--color-border-strong);height:28px;color:var(--color-primary);white-space:nowrap;background:#fff;border-radius:6px;padding:0 10px;font:700 11px inherit}.account-join-form{grid-template-columns:minmax(0,1fr) minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.account-join-form label{color:var(--color-text-secondary);gap:6px;font-size:12px;font-weight:600;display:grid}.account-join-form input,.account-join-review-actions input{box-sizing:border-box;border:1px solid var(--color-border-strong);min-width:0;height:38px;color:var(--color-text);background:#fff;border-radius:7px;padding:0 10px;font:13px inherit}.account-join-form button,.account-join-review-actions button{border:1px solid var(--color-primary);background:var(--color-primary);color:#fff;white-space:nowrap;border-radius:7px;height:38px;padding:0 13px;font:700 12px inherit}.account-join-form button:disabled,.account-join-review-actions button:disabled{opacity:.55;cursor:not-allowed}.account-join-message{color:var(--color-text-secondary);margin:0;font-size:12px}.account-join-history,.account-join-review{border-top:1px solid var(--color-border);gap:8px;padding-top:12px;display:grid}.account-join-history>strong{font-size:13px}.account-join-history article,.account-join-review article{border:1px solid var(--color-border);background:var(--color-surface-subtle);border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:6px 12px;padding:10px 11px;display:grid}.account-join-history article>div,.account-join-review-person{gap:3px;min-width:0;display:grid}.account-join-history b,.account-join-review-person b{font-size:13px}.account-join-history small,.account-join-review-person span,.account-join-review-person small{color:var(--color-text-secondary);font-size:11px}.account-join-history article>span,.account-join-review article>span{font-size:12px;font-weight:700}.account-join-history article>span.pending,.account-join-review article>span.pending{color:var(--color-warning-text)}.account-join-history article>span.approved,.account-join-review article>span.approved{color:var(--color-success)}.account-join-history article>span.rejected,.account-join-review article>span.rejected{color:var(--color-danger)}.account-join-history article>p,.account-join-review article>p{color:var(--color-danger);grid-column:1/-1;margin:0;font-size:12px}.account-join-review{margin-top:4px}.account-join-review-actions{grid-column:1/-1;grid-template-columns:minmax(0,1fr) auto auto;gap:8px;display:grid}.account-join-review-actions button:first-of-type{border-color:var(--color-border-strong);color:var(--color-danger);background:#fff}.account-join-empty{color:var(--color-text-secondary);margin:0;font-size:12px}@media (width<=620px){.account-join-form,.account-join-review-actions{grid-template-columns:1fr}.account-join-form button{width:100%}}.account-rights-price-line{align-items:baseline;gap:8px;display:flex}.account-rights-original-price{color:var(--color-text-muted);font-size:12px;text-decoration:line-through;text-decoration-thickness:1px}.product-plans-page{background:var(--color-bg);align-content:start;gap:22px;min-height:100dvh;padding:32px;display:grid}.product-plans-header{justify-content:space-between;align-items:center;gap:20px;display:flex}.product-plans-header>div{align-items:center;gap:14px;display:flex}.product-plans-header>div>button{border:1px solid var(--color-border-strong);background:#fff;border-radius:8px;place-items:center;width:40px;height:40px;display:grid}.product-plans-header svg{width:18px}.product-plans-header h1{font-size:28px;line-height:36px}.product-plans-header p{color:var(--color-text-secondary);margin:3px 0 0;font-size:13px}.product-plans-header>span{background:var(--color-success-soft);color:var(--color-success);border-radius:999px;padding:8px 12px;font-size:12px;font-weight:700}.product-plan-scope,.product-billing-tabs{background:#eaecf0;border-radius:12px;grid-template-columns:1fr 1fr;gap:4px;padding:4px;display:grid}.product-plan-scope{width:min(420px,100%);margin:0 auto}.product-billing-tabs{width:min(320px,100%)}.product-plan-scope button,.product-billing-tabs button{height:40px;color:var(--color-text-secondary);border:1px solid #0000;border-radius:9px;font-weight:700}.product-plan-scope button[aria-pressed=true],.product-billing-tabs button.active{border-color:var(--color-brand);color:var(--color-text);background:#fff;box-shadow:0 1px 2px #1018280d}.product-plan-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.product-plan-grid.province{grid-template-columns:minmax(0,760px);justify-content:center}.product-plan-card{border:1px solid var(--color-border);background:#fff;border-radius:16px;align-content:start;gap:14px;padding:26px;display:grid;box-shadow:0 12px 34px #18212f0a}.product-plan-card.current{border:2px solid var(--color-brand);padding:25px}.product-plan-card>header{justify-content:space-between;align-items:center;font-size:15px;font-weight:700;display:flex}.product-plan-card em{background:var(--color-brand-soft);color:var(--color-warning-text);border-radius:999px;padding:4px 9px;font-size:11px;font-style:normal}.product-plan-card h2{font-size:22px}.product-plan-card>p{min-height:42px;color:var(--color-text-secondary);font-size:13px}.product-plan-price{align-items:end;gap:8px;min-height:48px;display:flex}.product-plan-price strong{color:var(--color-primary);font-size:30px;line-height:1.2}.product-plan-price span{color:var(--color-text-secondary);padding-bottom:5px;font-size:12px}.product-plan-card>button{background:var(--color-primary);color:#fff;border-radius:8px;height:44px;font-weight:700}.product-plan-card>button.current-plan{color:#667085;cursor:default;background:#eaecf0}.product-plan-list-title{margin-top:6px;font-size:13px}.product-plan-card ul{gap:12px;padding-top:2px;display:grid}.product-plan-card li{color:#344054;grid-template-columns:20px minmax(0,1fr);align-items:start;gap:9px;font-size:13px;display:grid}.product-plan-card li svg{width:18px;height:18px;color:var(--color-primary)}.product-plan-loading,.product-plan-error{border:1px dashed var(--color-border-strong);min-height:180px;color:var(--color-text-secondary);background:#fff;border-radius:12px;justify-content:center;align-items:center;gap:10px;display:flex}.product-plan-error{color:var(--color-danger)}.product-plan-error button{border:1px solid var(--color-border-strong);height:36px;color:var(--color-primary);background:#fff;border-radius:8px;padding:0 12px;font-weight:700}.product-plan-notice{color:#175cd3;background:#eff8ff;border:1px solid #b2ccff;border-radius:9px;padding:10px 14px;font-size:13px}.product-billing-tabs .plan-unavailable-control{cursor:not-allowed;color:var(--color-text-muted)}.product-plan-card.plan-unavailable{border-color:var(--color-border);background:var(--color-surface-subtle)}.product-plan-card.plan-unavailable>:not(button),.product-plan-card.plan-unavailable li,.product-plan-card.plan-unavailable li svg{color:var(--color-text-muted)}.product-plan-card>button.plan-unavailable-button{border:1px solid var(--color-border);color:var(--color-text-secondary);cursor:not-allowed;background:#eaecf0}@media (width<=850px){.product-plans-page{padding:18px}.product-plans-header{flex-direction:column;align-items:flex-start}.product-plan-grid{grid-template-columns:1fr}.product-plans-header>span{align-self:flex-start}}html,body,#root,.app-shell,.app-main{min-height:100%;overflow-x:clip}.app-content{height:auto;min-height:calc(100dvh - var(--topbar-height));overflow:visible}.basic-data-v2,.schedule-data-page,.class-generator,.task-page,.rules-page,.version-page,.version-operation-page,.print-page,.history-page,.account-page{height:auto;min-height:0;overflow:visible}.basic-data-v2{grid-template-rows:auto auto;width:100%;min-width:0;max-width:100%}.basic-data-v2>*{min-width:0;max-width:100%}.basic-data-nav{grid-template-columns:repeat(7,minmax(92px,1fr));width:100%;min-width:0;max-width:100%;height:auto;min-height:58px;overflow-x:auto}.class-generator{grid-template-rows:auto auto auto auto}.class-preview,.task-list,.account-card,.rule-list,.rules-table,.preset-grid,.schedule-data-page,.review-table,.mapping-table,.issue-list,.shared-sheet{overflow:visible}.task-list,.account-card,.rule-list,.rules-table,.class-preview{flex:none;min-height:auto}.task-table-head,.task-table-row,.task-bulk-row,.task-course-row{grid-template-columns:40px repeat(6,minmax(0,1fr)) 88px;min-width:0}.task-grade-row,.preset-grid-head,.preset-grid-row,.mapping-table>div,.issue-list>div{min-width:0}.version-row{grid-template-columns:minmax(0,1.4fr) minmax(0,.8fr) minmax(0,.8fr) minmax(0,.55fr) minmax(0,1.2fr) minmax(0,.8fr) 96px;height:auto;min-height:66px}.history-row{grid-template-columns:minmax(0,1.4fr) minmax(0,.9fr) minmax(0,.75fr) minmax(0,1fr) minmax(0,.9fr) minmax(0,.55fr) 96px;height:auto;min-height:66px}.version-row>span,.history-row>span,.task-table-row>*,.task-course-row>*,.task-table-head>span{overflow-wrap:anywhere;white-space:normal;min-width:0}.schedule-table-layout{min-width:0;overflow:visible}.workflow-bar,.import-steps{flex-wrap:wrap;height:auto;min-height:52px;overflow:visible}.teaching-table-scroll,.entity-table,.room-resource-layout,.timetable-grid{overflow:visible}.teaching-table .design-table-row{grid-template-columns:repeat(7,minmax(0,1fr)) 88px;min-width:0}.shared-sheet>div{min-width:0}.data-modal,.preview-dialog,.history-detail,.suggestion-layer aside{overscroll-behavior:contain;overflow-y:auto}@media (width<=900px){.basic-data-nav{flex-wrap:wrap;display:flex}.basic-data-nav button{flex:120px;min-width:0}.course-room-layout,.operation-columns,.share-columns,.print-main,.class-preset-main,.mapping-layout{grid-template-columns:1fr}.task-table-head,.version-row.head,.history-row.head{display:none}.task-archive-table .archive-name strong{text-overflow:clip;white-space:normal;overflow-wrap:anywhere;overflow:visible}.task-table-row,.task-bulk-row,.task-course-row,.version-row,.history-row{border:1px solid var(--color-border);background:#fff;border-radius:10px;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;height:auto;min-height:0;margin:10px;padding:14px;display:grid}.task-table-row>*,.task-bulk-row>*,.task-course-row>*,.version-row>span,.history-row>span{align-content:center;gap:4px;min-height:38px;padding:0;display:grid}.task-table-row>:before,.task-bulk-row>:before,.task-course-row>:before,.version-row>span:before,.history-row>span:before{color:var(--color-text-secondary);font-size:11px;font-weight:600}.task-table-row>:first-child:before{content:"选择"}.task-table-row>:nth-child(2):before{content:"班级"}.task-table-row>:nth-child(3):before{content:"科目"}.task-table-row>:nth-child(4):before{content:"教师"}.task-table-row>:nth-child(5):before{content:"周课时"}.task-table-row>:nth-child(6):before{content:"连堂次数"}.task-table-row>:nth-child(7):before{content:"场所"}.task-table-row>:nth-child(8):before{content:"操作"}.task-course-name{grid-column:auto}.task-course-row>:first-child:before{content:"选择"}.task-course-row>:nth-child(2):before{content:"科目"}.task-course-row>:nth-child(3):before{content:"教师"}.task-course-row>:nth-child(4):before{content:"周课时"}.task-course-row>:nth-child(5):before{content:"连堂次数"}.task-course-row>:nth-child(6):before{content:"场所"}.task-course-row>:nth-child(7):before{content:"操作"}.version-row>:first-child:before{content:"版本名称"}.version-row>:nth-child(2):before{content:"来源"}.version-row>:nth-child(3):before{content:"父版本"}.version-row>:nth-child(4):before{content:"差异"}.version-row>:nth-child(5):before{content:"修改原因"}.version-row>:nth-child(6):before{content:"发布状态"}.version-row>:nth-child(7):before{content:"操作"}.history-row>:first-child:before{content:"发布版本"}.history-row>:nth-child(2):before{content:"发布范围"}.history-row>:nth-child(3):before{content:"发布人"}.history-row>:nth-child(4):before{content:"生效时间"}.history-row>:nth-child(5):before{content:"分享方式"}.history-row>:nth-child(6):before{content:"状态"}.history-row>:nth-child(7):before{content:"操作"}.task-class-task-row>.task-tree-branch{display:none}.task-class-task-row>.task-class-name{align-items:center;display:flex}.task-row-actions,.task-course-actions,.version-actions,.history-row>span:last-child{grid-auto-flow:column;justify-content:start;align-items:center}.mapping-table>div,.issue-list>div{grid-template-columns:1fr;gap:8px;padding-block:12px}.room-resource-layout{grid-template-columns:1fr;height:auto}.room-preset-panel,.room-selected-panel{min-width:0;min-height:540px}.rules-table-row,.preset-grid,.preset-grid-head,.preset-grid-row{min-width:0}.preset-grid-head,.preset-grid-row{grid-template-columns:100px repeat(5,minmax(0,1fr))}.rules-table-row{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;height:auto;min-height:52px;padding:12px 16px}.rules-table-row.head,.entity-table>header{display:none}.entity-table>div,.teacher-table>div{border:1px solid var(--color-border);border-radius:10px;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 16px;min-width:0;margin:10px;padding:14px}.teacher-table>div>*{overflow-wrap:anywhere;min-width:0}.teacher-table>div>:first-child:before{content:"编号"}.teacher-table>div>:nth-child(2):before{content:"教师"}.teacher-table>div>:nth-child(3):before{content:"任教安排"}.teacher-table>div>:nth-child(4):before{content:"校区"}.teacher-table>div>:nth-child(5):before{content:"课时"}.teacher-table>div>:nth-child(6):before{content:"教研组"}.teacher-table>div>:nth-child(7):before{content:"操作"}.teacher-table.without-campus>div>:nth-child(4):before{content:"课时"}.teacher-table.without-campus>div>:nth-child(5):before{content:"教研组"}.teacher-table.without-campus>div>:nth-child(6):before{content:"操作"}.teacher-table>div>:before{color:var(--color-text-secondary);font-size:11px;font-weight:600;display:block}}@media (width<=760px){.schedule-data-page{overflow:visible}.schedule-table-layout{grid-template-columns:minmax(0,1fr) 88px;gap:8px;min-width:0}.schedule-grid{grid-template-columns:42px 88px repeat(5,minmax(0,1fr))}.schedule-grid>header>*,.schedule-grid>div>*{overflow-wrap:anywhere;padding-inline:2px;font-size:10px}.schedule-period-button>span{min-width:0}.schedule-period-button svg{display:none}.timetable-grid{grid-template-rows:42px repeat(8,minmax(56px,auto));grid-template-columns:42px 76px repeat(5,minmax(0,1fr))}.timetable-grid>*{overflow-wrap:anywhere;min-width:0}.shared-sheet>div{grid-template-columns:64px repeat(5,minmax(0,1fr))}.shared-sheet>div span{overflow-wrap:anywhere;min-width:0;padding:6px 2px;font-size:10px}}@media (width<=560px){.task-table-row,.task-bulk-row,.task-course-row,.version-row,.history-row,.version-metrics,.history-metrics,.basic-status-grid,.account-fields{grid-template-columns:1fr}}.app-page-header{align-items:flex-start;min-width:0;min-height:60px}.app-page-heading{align-content:start;min-width:0;max-width:100%;justify-content:stretch!important;align-items:start!important;gap:4px!important;display:grid!important}.app-page-heading h1{min-width:0;color:var(--color-text);margin:0;font-weight:700;font-size:28px!important;line-height:36px!important}.app-page-heading>p{min-width:0;max-width:100%;color:var(--color-text-secondary);text-overflow:ellipsis;overflow:hidden;text-align:left!important;white-space:nowrap!important;margin:0!important;font-size:14px!important;line-height:20px!important;display:block!important}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--color-white:#fff;--spacing:.25rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--font-weight-semibold:600;--radius-sm:.25rem;--radius-md:.375rem;--radius-lg:.5rem;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono);--color-primary:#004ea2;--color-primary-hover:#003b7c;--color-success:#41b25d;--color-warning:#c88412;--color-warning-text:#7a4a00;--color-danger:#d64545;--color-danger-text:#b42318;--color-surface:#fff;--color-bg:#faf9f6;--color-text:#18212f;--color-text-secondary:#667085;--color-text-muted:#667085;--color-border:#e4e7ec;--shadow-card:0 1px 2px #254a330a, 0 18px 46px #30634414}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.fixed{position:fixed}.relative{position:relative}.static{position:static}.block{display:block}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.h-3\.5{height:calc(var(--spacing) * 3.5)}.h-6{height:calc(var(--spacing) * 6)}.h-11{height:calc(var(--spacing) * 11)}.h-\[17px\]{height:17px}.h-\[18px\]{height:18px}.min-h-11{min-height:calc(var(--spacing) * 11)}.w-3\.5{width:calc(var(--spacing) * 3.5)}.w-6{width:calc(var(--spacing) * 6)}.w-11{width:calc(var(--spacing) * 11)}.w-\[17px\]{width:17px}.w-\[18px\]{width:18px}.w-\[184px\]{width:184px}.w-full{width:100%}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing) * 2)}.rounded-full{border-radius:2147483647px}.rounded-lg{border-radius:var(--radius-lg)}.border{border-style:var(--tw-border-style);border-width:1px}.border-\[var\(--color-border-strong\)\]{border-color:var(--color-border-strong)}.border-transparent{border-color:#0000}.bg-\[\#DCFCE7\]{background-color:#dcfce7}.bg-\[\#FEE2E2\]{background-color:#fee2e2}.bg-\[var\(--color-danger\)\]{background-color:var(--color-danger)}.bg-\[var\(--color-primary\)\]{background-color:var(--color-primary)}.bg-\[var\(--color-success\)\]{background-color:var(--color-success)}.bg-\[var\(--color-surface-subtle\)\]{background-color:var(--color-surface-subtle)}.bg-\[var\(--color-warning-soft\)\]{background-color:var(--color-warning-soft)}.bg-transparent{background-color:#0000}.bg-white{background-color:var(--color-white)}.px-4{padding-inline:calc(var(--spacing) * 4)}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.text-\[\#166534\]{color:#166534}.text-\[\#B42318\]{color:#b42318}.text-\[var\(--color-primary\)\]{color:var(--color-primary)}.text-\[var\(--color-text\)\]{color:var(--color-text)}.text-\[var\(--color-text-secondary\)\]{color:var(--color-text-secondary)}.text-\[var\(--color-warning-text\)\]{color:var(--color-warning-text)}.text-white{color:var(--color-white)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.duration-150{--tw-duration:.15s;transition-duration:.15s}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-\[var\(--color-primary\)\]:focus-visible{--tw-ring-color:var(--color-primary)}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}@media (hover:hover){.enabled\:hover\:bg-\[var\(--color-danger-hover\)\]:enabled:hover{background-color:var(--color-danger-hover)}.enabled\:hover\:bg-\[var\(--color-primary-hover\)\]:enabled:hover{background-color:var(--color-primary-hover)}.enabled\:hover\:bg-\[var\(--color-primary-soft\)\]:enabled:hover{background-color:var(--color-primary-soft)}.enabled\:hover\:bg-\[var\(--color-success-hover\)\]:enabled:hover{background-color:var(--color-success-hover)}.enabled\:hover\:bg-\[var\(--color-surface-subtle\)\]:enabled:hover{background-color:var(--color-surface-subtle)}}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:border-\[var\(--color-border\)\]:disabled{border-color:var(--color-border)}.disabled\:bg-\[var\(--color-surface-subtle\)\]:disabled{background-color:var(--color-surface-subtle)}.disabled\:text-\[var\(--color-text-muted\)\]:disabled{color:var(--color-text-muted)}.disabled\:opacity-50:disabled{opacity:.5}}.app-shell>.app-sidebar{z-index:40;pointer-events:none;background:0 0;border:0;width:0;padding:0;position:relative}.primary-sidebar{z-index:50;pointer-events:auto;background:#004ea2;flex-direction:column;align-items:center;width:64px;padding:14px 0 12px;display:flex;position:fixed;inset:0 auto 0 0}.primary-brand{border-radius:10px;place-items:center;width:48px;height:48px;display:grid}.primary-brand:hover,.primary-brand:focus-visible{background:#ffffff24}.primary-brand:focus-visible{outline-offset:2px;outline:2px solid #fff}.primary-brand img{width:34px;height:34px;display:block}.primary-nav{background:0 0;flex:1;align-content:start;gap:10px;width:100%;margin:24px 0;padding:14px 8px;display:grid}.primary-nav button{color:#fff;border-radius:10px;place-items:center;width:48px;height:48px;transition:background-color .15s,color .15s;display:grid;position:relative}.primary-nav button:hover:not(:disabled):not(.active){background:#ffffff24}.primary-nav button.active{width:56px;color:var(--color-primary);background:#fff;border-radius:10px 0 0 10px!important}.primary-nav .context-nav-toggle{width:40px;height:40px;box-shadow:none;background:#ffffff70;border:0;border-radius:8px;margin:2px 0 0 4px}.primary-nav .context-nav-toggle:hover:not(:disabled),.primary-nav .context-nav-toggle:focus-visible{color:var(--color-primary);background:#fff}.primary-nav .context-nav-toggle svg{width:18px;height:18px}.primary-nav button svg{width:22px;height:22px}.primary-account{flex-direction:column;align-items:center;gap:4px;margin-top:auto;display:flex;position:relative}.primary-account>button{border-radius:999px;place-items:center;width:48px;height:48px;display:grid;position:relative}.primary-account>button.active,.primary-account>button:hover:not(:disabled){background:#ffffff70}.primary-account>.primary-notification{color:#fff}.primary-notification svg{width:20px;height:20px}.primary-notification i{border:2px solid var(--color-primary);background:var(--color-danger);color:#fff;border-radius:999px;place-items:center;min-width:16px;height:16px;padding:0 4px;font-size:9px;font-style:normal;font-weight:700;display:grid;position:absolute;top:5px;right:5px}.notification-popover{z-index:81;border:1px solid var(--color-border);width:320px;color:var(--color-text);background:#fff;border-radius:12px;position:absolute;bottom:0;left:58px;overflow:hidden;box-shadow:0 18px 48px #18212f2e}.notification-popover>header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:14px 16px;display:flex}.notification-popover>header small{color:var(--color-text-secondary)}.notification-popover>div{max-height:380px;overflow:auto}.notification-popover article{border-bottom:1px solid var(--color-border);gap:5px;padding:14px 16px;display:grid}.notification-popover article>span{background:var(--color-surface-subtle);width:max-content;color:var(--color-text-secondary);border-radius:4px;padding:2px 6px;font-size:10px}.notification-popover article:first-child>span{background:var(--color-primary-soft);color:var(--color-primary)}.notification-popover article p{color:var(--color-text-secondary);margin:0;font-size:12px;line-height:1.6}.notification-popover article time{color:var(--color-text-secondary);font-size:10px}.notification-popover>button{width:100%;color:var(--color-primary);padding:12px;font-size:12px}.notification-empty{color:var(--color-text-secondary);text-align:center;padding:28px 16px}.primary-avatar,.account-avatar{color:#fff;background:#18212f;border:2px solid #fff;border-radius:999px;place-items:center;width:36px;height:36px;font-size:13px;font-weight:700;display:grid}.primary-avatar svg,.account-avatar svg{width:18px;height:18px}.user-avatar-image{overflow:hidden}.user-avatar-image img{object-fit:cover;width:100%;height:100%}.user-avatar-preset{color:#fff}.avatar-tone-navy{background:#004ea2}.avatar-tone-honey{background:#c88412}.avatar-tone-green{background:#41b25d}.avatar-tone-violet{background:#7f56d9}.avatar-tone-blue{background:#2878bd}.avatar-tone-rose{background:#c94f7c}.account-popover{z-index:80;border:1px solid var(--color-border);background:#fff;border-radius:12px;flex-direction:column;gap:4px;width:224px;padding:10px;display:flex;position:absolute;bottom:0;left:58px;box-shadow:0 18px 48px #18212f2e}.account-popover header{border-bottom:1px solid var(--color-border);gap:10px;padding:6px 6px 10px;display:flex}.account-popover header div{flex-direction:column;justify-content:center;min-width:0;display:flex}.account-popover header small{color:var(--color-text-secondary);font-size:11px}.account-popover>button{height:44px;color:var(--color-text);text-align:left;border-radius:8px;align-items:center;gap:10px;padding:0 10px;font-size:13px;display:flex}.account-popover>button:hover:not(:disabled){background:var(--color-surface-subtle)}.account-popover>button svg{width:17px;height:17px}.account-popover .account-logout{color:var(--color-danger)}.context-sidebar{z-index:45;border-right:1px solid var(--color-border);pointer-events:auto;background:#fff;flex-direction:column;width:216px;padding:20px 12px 14px;display:flex;position:fixed;inset:0 auto 0 64px}.context-header{border-bottom:1px solid var(--color-border);flex-direction:column;gap:5px;padding:4px 8px 18px;display:flex}.context-header em{color:var(--color-text-secondary);letter-spacing:.08em;font-size:12px;font-style:normal;font-weight:700}.context-header strong{color:var(--color-text);margin:1px 0 8px;font-size:20px}.context-body{flex:1;min-height:0;padding:16px 0;overflow-y:auto}.context-nav{gap:6px;display:grid}.context-nav button{min-height:44px;color:var(--color-text-secondary);text-align:left;border:1px solid #0000;border-radius:8px;grid-template-columns:20px minmax(0,1fr);align-items:center;gap:9px;padding:0 10px;display:grid}.context-nav button:hover:not(:disabled){border-color:var(--color-border);background:var(--color-surface-subtle);color:var(--color-text)}.context-nav button.active{border-color:var(--color-brand);background:var(--color-brand-soft);color:var(--color-text);font-weight:700}.context-nav button svg{width:18px;height:18px}.context-nav button.active svg{color:var(--color-primary)}.context-description{color:var(--color-text-secondary);padding:8px 10px;font-size:12px;line-height:1.6}.current-task{border:1px solid var(--color-border);background:var(--color-surface-subtle);border-radius:10px;flex-direction:column;gap:4px;margin-bottom:12px;padding:12px;display:flex}.current-task small,.current-task span{color:var(--color-text-secondary);font-size:10px}.current-task strong{font-size:13px}.task-delete-mask{z-index:100;pointer-events:auto;background:#18212f66;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.task-delete-mask>section{background:#fff;border-radius:14px;grid-template-columns:34px minmax(0,1fr);gap:10px 14px;width:min(420px,100%);padding:22px;display:grid;box-shadow:0 24px 64px #18212f3d}.task-delete-mask>section>span{background:var(--color-danger-soft);width:34px;height:34px;color:var(--color-danger);border-radius:999px;grid-row:1/3;place-items:center;display:grid}.task-delete-mask>section>span svg{width:19px;height:19px}.task-delete-mask h2{color:var(--color-text);font-size:18px}.task-delete-mask p{color:var(--color-text-secondary);font-size:13px;line-height:1.6}.task-delete-mask footer{grid-column:1/-1;justify-content:flex-end;gap:8px;margin-top:8px;display:flex}.task-delete-mask footer button{border:1px solid var(--color-border-strong);height:38px;color:var(--color-text);border-radius:8px;padding:0 14px;font-size:12px;font-weight:700}.task-delete-mask footer button:last-child{background:var(--color-danger);color:#fff;border-color:#0000}.qa-search{border-top:1px solid var(--color-border);flex:none;padding:12px 8px 0;position:relative}.qa-search-title{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.qa-search-tabs{align-items:center;gap:4px;display:flex}.qa-search-tabs button{height:28px;color:var(--color-text-secondary);border-radius:6px;align-items:center;gap:6px;padding:0 7px;font-size:13px;font-weight:700;display:flex}.qa-search-tabs button[aria-selected=true]{background:var(--color-brand-soft);color:var(--color-primary)}.qa-search-tabs button svg{width:16px;height:16px}.qa-search-title span{align-items:center;gap:8px;font-size:13px;font-weight:700;display:flex}.qa-search-title svg{width:17px;height:17px}.qa-search-title em{background:var(--color-brand-soft);color:#004ea2;border-radius:999px;padding:2px 7px;font-size:10px;font-style:normal;font-weight:700}.qa-search-field{border:1px solid var(--color-border-strong);background:#fff;border-radius:8px;align-items:center;gap:7px;height:42px;padding:0 9px;display:flex}.qa-search-field:focus-within{border-color:var(--color-brand);box-shadow:0 0 0 3px #004ea229}.qa-search-field>svg,.qa-search-field button svg{width:16px;height:16px;color:var(--color-text-secondary)}.qa-search-field input{background:0 0;border:0;outline:0;flex:1;min-width:0;font-size:12px}.qa-search-field kbd{color:#98a2b3;font:10px inherit}.qa-feedback-form{gap:8px;display:grid}.qa-feedback-form textarea{resize:vertical;border:1px solid var(--color-border-strong);min-height:104px;color:var(--color-text);background:#fff;border-radius:8px;outline:0;padding:10px;font:12px/1.6 inherit}.qa-feedback-form textarea:focus{border-color:var(--color-brand);box-shadow:0 0 0 3px #004ea229}.qa-feedback-actions{align-items:center;gap:8px;display:flex}.qa-feedback-more{height:38px;color:var(--color-text-secondary);white-space:nowrap;background:0 0;border:0;padding:0 8px;font-size:12px;font-weight:600}.qa-feedback-more:hover{color:var(--color-primary)}.qa-feedback-actions>button:last-child{border:1px solid var(--color-primary);background:var(--color-primary);color:#fff;text-align:center;white-space:nowrap;border-radius:8px;flex:1;justify-content:center;align-items:center;height:38px;font-size:12px;font-weight:700;line-height:1;display:flex}.qa-feedback-form>button{border:1px solid var(--color-primary);background:var(--color-primary);color:#fff;text-align:center;white-space:nowrap;border-radius:8px;justify-content:center;align-items:center;width:100%;height:38px;font-size:12px;font-weight:700;line-height:1;display:flex}.qa-feedback-actions>button:last-child:hover:not(:disabled),.qa-feedback-form>button:hover:not(:disabled){background:var(--color-primary-hover);color:#fff}.qa-feedback-actions>button:last-child:disabled,.qa-feedback-form>button:disabled{cursor:not-allowed;color:#fff;opacity:.45}.qa-feedback-form p{color:var(--color-success);margin:0;font-size:11px}.qa-panel{z-index:70;border:1px solid var(--color-border);background:#fff;border-radius:12px;width:360px;max-height:min(620px,100dvh - 24px);position:absolute;bottom:0;left:calc(100% + 12px);overflow-y:auto;box-shadow:0 20px 56px #18212f2e}.qa-panel>header{z-index:2;border-bottom:1px solid var(--color-border);background:#fff;justify-content:space-between;align-items:center;height:52px;padding:0 16px;display:flex;position:sticky;top:0}.qa-panel>header button,.qa-back{color:var(--color-text-secondary);align-items:center;gap:6px;display:flex}.qa-panel>header svg,.qa-back svg{width:17px;height:17px}.qa-results{display:grid}.qa-results>button{border-bottom:1px solid var(--color-border);text-align:left;grid-template-columns:minmax(0,1fr) 18px;gap:5px 8px;padding:14px 16px;display:grid}.qa-results>button:hover:not(:disabled){background:var(--color-surface-subtle)}.qa-results strong{font-size:13px}.qa-results span{color:var(--color-text-secondary);-webkit-line-clamp:2;-webkit-box-orient:vertical;grid-column:1;font-size:11px;line-height:1.55;display:-webkit-box;overflow:hidden}.qa-results svg{width:17px;color:var(--color-text-secondary);grid-area:1/2/3;align-self:center}.qa-results mark{background:var(--color-brand-soft);color:#004ea2;border-radius:3px}.qa-view-all,.qa-related-link{width:100%;height:48px;color:var(--color-primary);justify-content:center;align-items:center;gap:6px;font-size:12px;font-weight:700;display:flex}.qa-view-all svg,.qa-related-link svg{width:15px;height:15px}.qa-answer{gap:14px;padding:16px;display:grid}.qa-answer h3{font-size:16px}.qa-answer p{color:var(--color-text-secondary);font-size:13px;line-height:1.75}.qa-answer mark{background:var(--color-brand-soft);color:#004ea2;border-radius:3px}.qa-answer .qa-related-link{border:1px solid var(--color-border-strong);border-radius:8px}.qa-empty{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;min-height:220px;padding:24px;display:flex}.qa-empty>svg{width:28px;height:28px;color:var(--color-text-secondary)}.qa-empty span{color:var(--color-text-secondary);font-size:12px}.qa-empty>div{gap:14px;margin-top:6px;display:flex}.qa-empty button{color:var(--color-primary);font-weight:700}.context-backdrop{display:none}.app-shell>.app-main{min-width:0;min-height:100dvh;margin-left:280px;transition:margin-left .16s}.app-shell.context-closed>.app-main{margin-left:64px}.demo-session-toolbar{z-index:34;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffaf4e8;border-bottom:1px solid #f2d2ad;justify-content:flex-end;align-items:center;height:64px;padding:10px 24px;display:flex;position:sticky;top:0}.demo-exit-button{color:#fff;background:#e67e22;border:1px solid #c96a12;border-radius:9px;align-items:center;gap:8px;height:42px;padding:0 18px;font-size:13px;font-weight:700;transition:background-color .14s,box-shadow .14s,transform .14s;display:inline-flex;box-shadow:0 6px 18px #c96a1229}.demo-exit-button:hover:not(:disabled){background:#cf6d16;box-shadow:0 8px 22px #c96a1238}.demo-exit-button:active:not(:disabled){background:#b85f11;transform:translateY(1px)}.demo-exit-button svg{width:17px;height:17px}.app-content{min-height:100dvh}.workflow-bar-vertical{background:0 0;border:0;gap:0;height:auto;padding:0;display:grid;overflow:visible}.workflow-bar-vertical .workflow-segment{grid-template-columns:22px minmax(0,1fr);gap:4px;width:100%;display:grid}.workflow-bar-vertical .workflow-segment:first-child{grid-template-columns:minmax(0,1fr)}.workflow-bar-vertical .workflow-arrow{justify-self:center}.workflow-bar-vertical .workflow-step{text-align:left;background:0 0;border:0;border-radius:0;width:100%;padding:0 8px}.workflow-bar-vertical .workflow-step-current{background:0 0}.workflow-step-complete{cursor:pointer}.workflow-step-disabled{cursor:not-allowed}.workflow-blocked{color:var(--color-danger);grid-column:2;margin:-4px 8px 8px;font-size:10px;line-height:1.45}@media (width<=1280px){.app-shell>.app-main,.app-shell.context-open>.app-main{margin-left:64px}.context-sidebar{box-shadow:12px 0 34px #18212f1f}.context-backdrop{z-index:35;pointer-events:auto;background:#18212f1f;display:block;position:fixed;inset:0 0 0 64px}}@media (width<=760px){.app-shell>.app-sidebar{border:0;width:0;padding:0;position:relative}.primary-sidebar{width:64px;padding:10px 0;position:fixed}.primary-nav{display:grid;overflow:visible}.primary-nav button{flex:none;width:48px}.app-shell>.app-main{margin-left:64px}.demo-session-toolbar{height:56px;padding:7px 12px}.demo-exit-button{height:40px;padding:0 13px}.context-sidebar{width:min(216px,100vw - 64px);left:64px}.qa-panel{width:auto;max-height:calc(100dvh - 16px);position:fixed;inset:auto 8px 8px 72px}.workflow-bar-vertical{justify-content:stretch;padding:0}.app-content{min-height:100dvh;padding:0}}.qa-feedback-history{border:1px solid var(--color-border);background:#fff;border-radius:8px;gap:0;margin-top:12px;display:grid;overflow:hidden}.qa-feedback-history>header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:9px 10px;display:flex}.qa-feedback-history>header strong{font-size:12px}.qa-feedback-history>header button{height:24px;color:var(--color-primary);align-items:center;gap:3px;font-size:11px;font-weight:700;display:flex}.qa-feedback-history>header button svg{width:13px;height:13px}.qa-feedback-history article{border:0;border-bottom:1px solid var(--color-border);background:0 0;gap:4px;padding:10px;display:grid}.qa-feedback-history article:last-of-type{border-bottom:0}.qa-feedback-history article>strong{color:var(--color-primary);font-size:12px}.qa-feedback-history article>small{color:var(--color-text-secondary)}.qa-feedback-empty{color:var(--color-text-secondary);margin:0;padding:14px 10px;font-size:11px}.message-management-page{gap:24px;padding:32px 40px 48px;display:grid}.message-management-header{margin:0}.message-management-list{border:1px solid var(--color-border);background:#fff;border-radius:14px;width:min(860px,100%);overflow:hidden}.message-management-list>header{border-bottom:1px solid var(--color-border);justify-content:space-between;align-items:center;padding:20px 24px;display:flex}.message-management-list>header h2{font-size:18px}.message-management-list>header p{color:var(--color-text-secondary);margin-top:5px;font-size:12px}.message-management-list>header>svg{width:24px;height:24px;color:var(--color-primary)}.message-management-list article{border-bottom:1px solid var(--color-border);gap:8px;padding:18px 24px;display:grid}.message-management-list article:last-child{border-bottom:0}.message-management-status{justify-content:space-between;align-items:center;gap:12px;display:flex}.message-management-status strong{color:var(--color-primary);font-size:13px}.message-management-status time,.message-management-list article small{color:var(--color-text-secondary);font-size:11px}.message-management-list article p{line-height:1.65}.message-management-empty{color:var(--color-text-secondary);text-align:center;padding:42px 24px;font-size:13px}@media (width<=700px){.message-management-page{padding:24px 16px 32px}.message-management-list>header,.message-management-list article{padding-left:16px;padding-right:16px}}.qa-feedback-history>header button span{white-space:nowrap;display:inline-block}button:not(.resource-circle-action):not(.primary-avatar):not(.account-avatar):not(.temporary-thumbnail-cell){border-radius:var(--button-radius)}.task-column-filter>button,.teacher-column-filter>button,.schedule-data-page .schedule-grid>header>*,.schedule-data-page .schedule-grid>div>*,.schedule-data-page .schedule-grid>div>:focus-visible,.schedule-data-page .schedule-grid>div>:after,.smart-timetable,.smart-timetable-row>button,.temporary-teacher-thumbnail button.temporary-thumbnail-cell,.temporary-teacher-thumbnail button.temporary-thumbnail-cell.checked,.temporary-teacher-thumbnail button.temporary-thumbnail-cell:focus,.temporary-teacher-thumbnail button.temporary-thumbnail-cell:focus-visible,.temporary-teacher-thumbnail button.temporary-thumbnail-cell:active,.schedule-view-tabs button,.schedule-view-tabs button:focus-visible{border-radius:0!important}.primary-account>button{border-radius:999px}.ui-action-tip{position:relative}.ui-action-tip-label,.primary-nav button>span{z-index:70;color:#fff;white-space:nowrap;pointer-events:none;background:#18212f;border-radius:6px;width:max-content;padding:6px 9px;font-size:12px;font-weight:500;line-height:1.2;display:none;position:absolute;box-shadow:0 8px 20px #18212f2e}.ui-action-tip:hover:not(:disabled)>.ui-action-tip-label,.ui-action-tip:focus-visible>.ui-action-tip-label,.primary-nav button:hover:not(:disabled)>span,.primary-nav button:focus-visible>span{display:block}.ui-action-tip-top>.ui-action-tip-label{bottom:calc(100% + 6px);left:50%;transform:translate(-50%)}.ui-action-tip-bottom>.ui-action-tip-label{top:calc(100% + 6px);left:50%;transform:translate(-50%)}.ui-action-tip-right>.ui-action-tip-label{top:50%;left:calc(100% + 8px);transform:translateY(-50%)}.ui-action-tip-left>.ui-action-tip-label{top:50%;right:calc(100% + 8px);transform:translateY(-50%)}.ui-info-tip>.ui-action-tip-label{color:#166534;z-index:100;background:#fff;border:1px solid #86efac;font-weight:600;box-shadow:0 4px 14px #1665341f}.ui-info-tip:hover,.ui-info-tip:focus-visible{z-index:100}.primary-nav button>span{top:50%;bottom:auto;left:56px;transform:translateY(-50%)}:root{--color-bg:#faf9f6;--color-surface:#fff;--color-surface-subtle:#f7f6f2;--color-brand:#004ea2;--color-brand-soft:#eaf3ff;--color-primary:#004ea2;--color-primary-hover:#003b7c;--color-primary-soft:#eaf3ff;--color-success:#41b25d;--color-success-hover:#35994d;--color-success-soft:#eaf8ef;--color-warning:#c88412;--color-warning-soft:#fff5dd;--color-danger:#d64545;--color-danger-hover:#b93838;--color-danger-soft:#fff0ef;--color-text:#18212f;--color-text-secondary:#667085;--color-border:#e4e7ec;--color-border-strong:#d0d5dd;--color-table-border:#d0d5dd;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--button-radius:8px;--primary-sidebar-width:64px;--context-sidebar-width:216px;--sidebar-width:280px;--topbar-height:0px;--workflow-height:64px;font-family:HarmonyOS Sans SC,HarmonyOS Sans,PingFang SC,Microsoft YaHei,system-ui,sans-serif}@font-face{font-family:HarmonyOS Sans SC;src:url(/assets/HarmonyOS_Sans_SC_Regular-DdsgBYS9.ttf)format("truetype");font-weight:400;font-style:normal;font-display:swap}@font-face{font-family:HarmonyOS Sans SC;src:url(/assets/HarmonyOS_Sans_SC_Medium-C0JYcCxp.ttf)format("truetype");font-weight:500 600;font-style:normal;font-display:swap}@font-face{font-family:HarmonyOS Sans SC;src:url(/assets/HarmonyOS_Sans_SC_Bold-DTtO5jJ5.ttf)format("truetype");font-weight:700;font-style:normal;font-display:swap}html{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-size:14px}body{min-width:320px;color:var(--color-text);background:var(--color-bg);font-family:inherit;font-size:14px;line-height:1.5}#root{min-height:100dvh}::-webkit-scrollbar{width:5px;height:5px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:#b2c1b6;border-radius:3px}::-webkit-scrollbar-thumb:hover{background:#7a8a80}:focus-visible{outline-offset:2px;border-radius:6px;outline:2px solid #004ea2}button{cursor:pointer;font-family:inherit;transition:filter .14s,opacity .14s}button:not(:disabled):hover{filter:brightness(.96)saturate(1.04);opacity:.9}button:not(:disabled):active{filter:brightness(.88)saturate(1.08);opacity:.78}button:disabled{cursor:not-allowed}@media (prefers-reduced-motion:reduce){button{transition:none}}input,select,textarea{font-family:inherit;font-size:inherit}.transition-fast{transition:all .15s}.transition-normal{transition:all .3s}@keyframes skeleton-pulse{0%,to{opacity:1}50%{opacity:.42}}.skeleton{background:#dfe9e2;border-radius:8px;animation:1.5s ease-in-out infinite skeleton-pulse}.data-table{border-collapse:separate;border-spacing:0;width:100%}.data-table th{text-align:left;color:#66756c;text-transform:uppercase;letter-spacing:0;white-space:nowrap;background:#f5faf5eb;border-bottom:1px solid #dce8df;padding:16px 24px;font-size:11px;font-weight:650}.data-table th:first-child{border-radius:16px 0 0}.data-table th:last-child{border-radius:0 16px 0 0}.data-table td{color:#132018;vertical-align:middle;border-bottom:1px solid #eaf1eb;padding:20px 24px;font-size:13px}.data-table tr:last-child td{border-bottom:none}.data-table tbody tr{transition:background-color .15s}.data-table tbody tr:hover{background-color:#f7fbf7}.data-table-wrapper{border:1px solid var(--color-table-border);box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffc2;border-radius:18px;overflow:hidden}.entity-table,.rules-table,.preset-grid,.class-preview,.class-schedule-grid,.teaching-table-scroll,.review-table,.mapping-table,.data-table-wrapper,.history-table,.version-table,.schedule-grid{border-color:var(--color-table-border)}.tag{border-radius:999px;align-items:center;padding:4px 11px;font-size:12px;font-weight:550;line-height:1.6;display:inline-flex}.tag-success{color:#3f9360;background:#e7f6ec}.tag-warning{color:#a87320;background:#fff5dc}.tag-danger{color:#c84e43;background:#fff0ee}.tag-default{color:#53645b;background:#f1f8f2}.hex-bg{background-image:linear-gradient(120deg,#67ae7a11 0 1px,#0000 1px),linear-gradient(30deg,#67ae7a0b 0 1px,#0000 1px);background-size:86px 86px}.app-shell{background:#faf9f6;min-height:100dvh}.sidebar-brand{color:#18212f;align-items:center;gap:10px;height:56px;padding:0 10px;font-size:18px;font-weight:700;display:flex}.sidebar-nav{gap:8px;display:grid}.sidebar-nav button{color:#667085;text-align:left;border-radius:8px;align-items:center;gap:12px;width:100%;height:44px;padding:0 14px;font-size:14px;font-weight:500;transition:background-color .15s,color .15s;display:flex}.sidebar-nav button:hover{color:#18212f;background:#faf9f6}.sidebar-nav button.active{color:#18212f;background:#eaf3ff;font-weight:600}.sidebar-nav button.active svg{color:#004ea2}.app-topbar{z-index:20;color:#18212f;background:#fff;border-bottom:1px solid #e4e7ec;justify-content:space-between;align-items:center;height:72px;padding:0 32px;font-size:14px;font-weight:600;display:flex;position:sticky;top:0}.topbar-actions{align-items:center;gap:16px;display:flex}.topbar-text-button,.topbar-icon-button{color:#667085;justify-content:center;align-items:center;gap:8px;height:44px;font-size:14px;font-weight:500;display:inline-flex}.topbar-text-button:hover,.topbar-icon-button:hover,.user-menu-button:hover{color:#18212f}.topbar-text-button svg,.topbar-icon-button svg{width:20px;height:20px}.topbar-icon-button{width:44px;position:relative}.notification-dot{background:#d64545;border:2px solid #fff;border-radius:999px;width:7px;height:7px;position:absolute;top:9px;right:9px}.user-menu-button{color:#18212f;align-items:center;gap:8px;height:44px;display:inline-flex}.user-avatar{color:#004ea2;background:#eaf3ff;border-radius:999px;flex:0 0 28px;justify-content:center;align-items:center;width:28px;height:28px;font-size:12px;font-weight:700;line-height:1;display:inline-flex;box-shadow:inset 0 0 0 1px #004ea26b}.topbar-popover{color:#667085;background:#fff;border:1px solid #e4e7ec;border-radius:12px;gap:8px;width:300px;padding:16px;font-size:13px;font-weight:400;display:grid;position:absolute;top:62px;right:112px;box-shadow:0 12px 36px #18212f1f}.topbar-popover strong{color:#18212f;font-size:14px}.topbar-popover button{color:#004ea2;justify-self:end;font-weight:600}.workflow-bar{background:#fff;border-bottom:1px solid #e4e7ec;justify-content:center;align-items:center;gap:4px;height:64px;padding:10px 32px;display:flex;overflow-x:auto}.workflow-segment{flex:none;align-items:center;gap:4px;display:flex}.workflow-step{color:#667085;border-radius:8px;flex:none;align-items:center;gap:10px;height:44px;padding:0 12px;font-size:14px;font-weight:500;display:flex}.workflow-arrow{color:#d0d5dd;width:18px;height:18px}.workflow-arrow-complete{color:#41b25d}.workflow-step-current{color:#18212f;background:#eaf3ff;font-weight:700}.workflow-step-complete{color:#344054}.workflow-marker{color:#667085;background:#f7f6f2;border-radius:999px;flex:none;justify-content:center;align-items:center;width:28px;height:28px;font-size:12px;font-weight:700;display:inline-flex}.workflow-step-current .workflow-marker{color:#fff;background:#004ea2}.workflow-step-complete .workflow-marker{color:#fff;background:#41b25d}.app-content{max-width:none;height:auto;min-height:calc(100dvh - 72px);margin:0;padding:0;overflow:visible}.app-content-workbench{max-width:none;padding:0}.basic-data-page{gap:20px;display:grid}.basic-data-tabs{background:#f7f6f2;border-radius:12px;gap:4px;width:fit-content;max-width:100%;min-height:52px;padding:4px;display:flex;overflow:auto visible}.basic-data-tabs button{color:#667085;white-space:nowrap;border-radius:8px;flex:none;width:82px;height:44px;font-size:13px}.basic-data-tabs button.active{color:#004ea2;background:#eaf3ff;font-weight:600}.basic-data-content{gap:20px;display:grid}.basic-page-title{color:#18212f;font-size:28px;font-weight:700;line-height:1.25}.basic-page-description{color:#667085;margin-top:6px;font-size:14px}.quick-entry-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;display:grid}.quick-entry-card{text-align:left;background:#fff;border:1px solid #e4e7ec;border-radius:12px;flex-direction:column;align-items:flex-start;gap:12px;height:190px;padding:20px;transition:border-color .15s,box-shadow .15s,transform .15s;display:flex}.quick-entry-card:hover{border-color:#004ea2;transform:translateY(-2px);box-shadow:0 12px 30px #18212f14}.quick-entry-icon{border-radius:12px;justify-content:center;align-items:center;width:44px;height:44px;display:inline-flex}.quick-entry-card strong{color:#18212f;font-size:16px;font-weight:700}.quick-entry-card>span:last-child{color:#667085;font-size:12px;line-height:1.5}.data-completeness{background:#fff;border:1px solid #e4e7ec;border-radius:12px;align-items:center;gap:24px;min-height:84px;padding:20px;display:flex}.data-completeness-label{color:#667085;font-size:14px;font-weight:600}.data-completeness strong{color:#c88412;font-size:24px;font-weight:700}.data-completeness-copy{color:#18212f;flex:1;font-size:14px;font-weight:500}.data-completeness button{color:#18212f;background:#fff;border:1px solid #d0d5dd;border-radius:8px;justify-content:center;align-items:center;gap:8px;height:44px;padding:0 18px;font-size:14px;font-weight:600;display:inline-flex}.basic-placeholder{text-align:center;background:#fff;border:1px solid #e4e7ec;border-radius:16px;place-content:center;justify-items:center;gap:12px;min-height:360px;padding:32px;display:grid}.basic-placeholder-icon{color:#004ea2;background:#eaf3ff;border-radius:12px;justify-content:center;align-items:center;width:48px;height:48px;display:inline-flex}.basic-placeholder h1,.basic-placeholder h2{color:#18212f;font-size:22px;font-weight:700}.basic-placeholder p{color:#667085;max-width:520px;font-size:14px}.design-page{gap:20px;display:grid}.design-page-header{justify-content:space-between;align-items:center;gap:20px;min-height:67px;display:flex}.design-page-header h1{color:#18212f;font-size:28px;font-weight:700;line-height:1.3}.design-page-header p{color:#667085;margin-top:6px;font-size:14px}.page-header-actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;display:flex}.primary-action,.secondary-action,.text-action,.warning-banner button{border-radius:8px;justify-content:center;align-items:center;gap:8px;min-height:44px;font-size:14px;font-weight:600;display:inline-flex}.primary-action{color:#fff;background:#004ea2;padding:0 18px}.secondary-action{color:#18212f;background:#fff;border:1px solid #d0d5dd;padding:0 18px}.text-action{color:#004ea2;min-width:74px;padding:0 10px}.edit-button{color:#166534;background:0 0;border-radius:999px;flex:0 0 44px;justify-content:center;align-items:center;width:44px;height:44px;transition:background-color .15s,color .15s;display:inline-flex;position:relative}.edit-button:before{content:"";background:#dcfce7;border-radius:999px;width:24px;height:24px;position:absolute}.edit-button svg{z-index:1;position:relative}.edit-button:hover{color:#14532d;background:#bbf7d08c}.edit-button:focus-visible{outline-offset:2px;outline:2px solid #004ea2}.delete-button{color:#b42318;background:0 0;border-radius:999px;flex:0 0 44px;justify-content:center;align-items:center;width:44px;height:44px;font-size:18px;font-weight:700;line-height:1;transition:background-color .15s,color .15s;display:inline-flex;position:relative}.delete-button:before{content:"";background:#fee2e2;border-radius:999px;width:24px;height:24px;position:absolute}.delete-button:hover{background:#fee2e2b8}.delete-button:focus-visible{outline-offset:2px;outline:2px solid #004ea2}.delete-button>*{z-index:1;position:relative}.metric-row{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.metric-card{background:#fff;border:1px solid #e4e7ec;border-radius:12px;gap:4px;min-height:86px;padding:16px;display:grid}.metric-card strong{font-size:22px;font-weight:700}.metric-card span{color:#667085;font-size:12px;font-weight:600}.primary-text{color:#004ea2!important}.success-text{font-weight:600;color:#41b25d!important}.warning-text{font-weight:600;color:#7a4a00!important}.design-table{background:#fff;border:1px solid #e4e7ec;border-radius:12px;overflow:hidden}.teaching-task-shell{padding-bottom:96px}.teaching-table-scroll{border-radius:12px;overflow-x:auto;box-shadow:inset -18px 0 18px -22px #18212f66}.design-table-row{border-top:1px solid #e4e7ec;grid-template-columns:repeat(7,minmax(90px,1fr)) 118px;align-items:center;min-height:58px;display:grid}.design-table-row:first-child{border-top:0}.design-table-row span{color:#18212f;padding:0 12px;font-size:13px}.table-head{background:#f7f6f2;min-height:46px}.table-head span{color:#667085;font-size:12px;font-weight:600}.row-warning{background:#fff5dd}.teaching-table .design-table-row{--teaching-row-background:#fff;background:var(--teaching-row-background);grid-template-columns:160px 130px 170px 120px 140px 200px 130px 118px;min-width:1168px}.teaching-table .table-head{--teaching-row-background:#f7f6f2}.teaching-table .row-warning{--teaching-row-background:#fff5dd}.teaching-table .design-table-row>span:first-child{z-index:2;background:var(--teaching-row-background);align-self:stretch;align-items:center;display:flex;position:sticky;left:0;box-shadow:1px 0 #e4e7ec}.teaching-table .design-table-row>span:last-child{z-index:2;background:var(--teaching-row-background);align-self:stretch;align-items:center;display:flex;position:sticky;right:0;box-shadow:-1px 0 #e4e7ec}.table-actions{justify-content:center;gap:2px;padding:0 8px!important}.inline-field{color:#18212f;background:#f7fff9;border:1px solid #98d4aa;border-radius:8px;width:100%;min-height:34px;padding:0 10px;font-size:13px}.row-editing{background:#f4f8fc;box-shadow:inset 0 0 0 2px #004ea2}.teaching-table .row-editing{--teaching-row-background:#f4f8fc}.sticky-edit-actions{z-index:20;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff5;border:1px solid #004ea273;border-radius:16px;justify-content:space-between;align-items:center;gap:16px;min-height:72px;padding:12px 16px;display:flex;position:sticky;bottom:16px;box-shadow:0 18px 46px #18212f1f}.sticky-edit-actions strong{color:#18212f;font-size:14px}.sticky-edit-actions p{color:#667085;margin-top:2px;font-size:12px}.sticky-edit-actions>div:last-child{flex-shrink:0;gap:10px;display:flex}.schedule-table .design-table-row{grid-template-columns:160px 130px 130px 160px minmax(220px,1fr)}.version-table .design-table-row{grid-template-columns:minmax(220px,1.4fr) 100px 100px 80px minmax(160px,1fr) 140px 90px}.publish-table .design-table-row{grid-template-columns:130px 100px minmax(130px,1fr) 120px minmax(150px,1fr) 80px 90px}.warning-banner{color:#7a4a00;background:#fff5dd;border-radius:12px;justify-content:space-between;align-items:center;gap:16px;min-height:56px;padding:0 16px;font-size:14px;font-weight:600;display:flex}.warning-banner div{gap:8px;display:flex}.warning-banner button{color:#004ea2;padding:0 12px}.compact-card{height:150px}.side-drawer{z-index:50;justify-content:flex-end;display:flex;position:fixed;inset:0}.drawer-backdrop{background:#18212f33;position:absolute;inset:0}.side-drawer aside{background:#fff;align-content:start;gap:20px;width:min(420px,92vw);padding:24px;display:grid;position:relative;box-shadow:-20px 0 60px #18212f24}.side-drawer header{justify-content:space-between;align-items:center;display:flex}.side-drawer h2{color:#18212f;font-size:20px;font-weight:700}.side-drawer dl{gap:12px;display:grid}.side-drawer dl div{background:#f7f6f2;border-radius:12px;gap:4px;padding:14px;display:grid}.side-drawer dt{color:#667085;font-size:12px}.side-drawer dd{color:#18212f;font-size:14px;font-weight:600}@media (width<=1100px){.quick-entry-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.data-completeness{flex-wrap:wrap;align-items:flex-start}.data-completeness-copy{min-width:55%}}@media (width<=760px){.sidebar-brand{height:48px}.sidebar-nav{display:flex;overflow-x:auto}.sidebar-nav button{flex:none;width:auto}.app-topbar{gap:16px;height:auto;min-height:64px;padding:12px 20px;position:static}.topbar-actions{gap:12px}.topbar-context{text-overflow:ellipsis;white-space:nowrap;max-width:160px;overflow:hidden}.topbar-text-button{width:44px;font-size:0}.user-menu-button>span:nth-child(2),.user-menu-button>svg{display:none}.topbar-popover{width:min(300px,100vw - 40px);top:58px;right:20px}.workflow-bar{justify-content:flex-start;padding-inline:20px}.app-content{height:auto;min-height:calc(100dvh - 64px);padding:0}.quick-entry-grid{grid-template-columns:1fr}.quick-entry-card{height:auto;min-height:170px}}.glass-panel,.soft-panel{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffdb;border:1px solid #d6e5daf2;box-shadow:0 18px 44px #30634412}.soft-panel{background:linear-gradient(#fffffff5,#fafdfadb)}.page-stack{gap:32px;display:grid}.dashboard-home-grid{grid-template-columns:1fr;align-items:start;gap:28px;display:grid}.dashboard-rail{gap:24px;display:grid}.content-section{-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffeb;border:1px solid #d6e5daf2;border-radius:30px;box-shadow:0 18px 44px #30634412}.content-section-padded{padding:34px}.section-kicker{color:#4f9465;background:#e8f6ec;border-radius:999px;align-items:center;min-height:26px;padding:0 12px;font-size:12px;font-weight:700;display:inline-flex}.section-title{color:#132018;font-size:30px;font-weight:720;line-height:1.18}.section-description{color:#53645b;font-size:15px;line-height:1.9}.info-card{background:#ffffffdb;border:1px solid #e4efe7;border-radius:24px;padding:28px}.info-card-compact{background:#ffffffdb;border:1px solid #e4efe7;border-radius:22px;padding:24px}.rail-card{background:#ffffffe6;border:1px solid #d6e5daf2;border-radius:28px;padding:24px;box-shadow:0 16px 40px #3063440f}.rail-card-header{justify-content:space-between;align-items:center;gap:12px;min-height:32px;display:flex}.rail-card-header h2{color:#132018;font-size:18px;font-weight:650}.ai-suggestion-card{color:#fff;background:#10251a;border-radius:20px;gap:14px;margin-top:20px;padding:22px;display:grid;box-shadow:0 14px 34px #10251a2e}.ai-suggestion-eyebrow{color:#ffffffb3;font-size:12px;font-weight:600}.ai-suggestion-card h3{color:#fff;font-size:20px;font-weight:700;line-height:1.35}.ai-suggestion-card p{color:#ffffffc7;font-size:14px;line-height:1.75}.ai-suggestion-card button{color:#132018;background:#c6edcf;border-radius:12px;justify-content:center;align-items:center;width:fit-content;min-height:44px;padding:0 18px;font-size:13px;font-weight:700;display:inline-flex}@media (width>=1320px){.dashboard-home-grid{grid-template-columns:minmax(0,1fr) 340px}}@media (width<=768px){.content-section-padded{padding:24px}.info-card,.rail-card{padding:22px}.section-title{font-size:26px}}.field-control{color:#18212f;background:#fff;border:1px solid #e4e7ec;border-radius:8px;width:100%;min-height:44px;padding:0 18px;line-height:1.4;transition:border-color .15s,box-shadow .15s,background-color .15s}.field-control:focus{background:#fff;border-color:#004ea2;outline:none;box-shadow:0 0 0 3px #004ea21f}.phone-field{padding-left:66px;padding-right:16px}.form-stack{gap:22px;display:grid}.form-field{gap:10px;display:grid}.form-label{color:#18212f;font-size:12px;font-weight:650;line-height:1.45;display:block}.form-row{grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:14px;display:grid}.auth-card{box-shadow:var(--shadow-card);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);background:#ffffffc7;border:1px solid #dce8dff0;border-radius:22px;padding:34px}@media (width<=640px){.auth-card{padding:28px 24px}.form-stack{gap:24px}.form-field{gap:12px}}.primary-button{color:#fff;background:#004ea2;border-radius:8px;justify-content:center;align-items:center;gap:7px;min-height:44px;padding:0 20px;font-size:13px;font-weight:700;transition:transform .15s,background-color .15s,box-shadow .15s;display:inline-flex;box-shadow:0 10px 20px #004ea224}.primary-button:hover{background:var(--color-primary-hover);box-shadow:0 16px 30px #004ea23d}.primary-button:active{transform:translateY(1px)}.secondary-button{color:#18212f;background:#fff;border:1px solid #e4e7ec;border-radius:8px;justify-content:center;align-items:center;gap:7px;min-height:44px;padding:0 18px;font-size:13px;font-weight:650;transition:background-color .15s,border-color .15s,color .15s,box-shadow .15s;display:inline-flex}.secondary-button:hover{color:#18212f;background:#faf9f6;border-color:#d0d5dd;box-shadow:0 8px 18px #18212f12}.login-page-shell{color:#18212f;background:#faf9f6;grid-template-columns:minmax(0,1fr);min-height:100dvh;display:grid}.login-form-panel{background:#fff;border-right:1px solid #e4e7ec;flex-direction:column;gap:24px;min-height:100dvh;padding:80px 72px;display:flex}.login-brand-row{align-items:center;gap:10px;display:flex}.login-logo-mark{color:#004ea2;justify-content:center;align-items:center;width:28px;height:28px;display:inline-flex}.login-logo-mark svg{width:28px;height:28px}.login-brand-title{color:#18212f;font-size:20px;font-weight:700;line-height:1.45}.login-form-wrap{gap:24px;width:100%;max-width:356px;display:grid}.login-title{color:#18212f;font-size:28px;font-weight:700;line-height:1.45}.login-subtitle{color:#667085;font-size:16px;line-height:1.45}.login-policy-text{color:#667085;margin-top:0;padding-top:0;font-size:12px;line-height:1.45}.login-form-panel .form-stack{gap:24px}.login-form-panel .form-field{gap:6px}.login-form-panel .form-label{color:#667085;font-size:12px;font-weight:600;line-height:1.45}.login-form-panel .field-control{border-color:#d0d5dd;border-radius:8px;min-height:44px;padding:0 14px;font-size:14px}.login-code-row{grid-template-columns:minmax(0,1fr) 120px;gap:12px;display:grid}.login-code-button{color:#18212f;background:#fff;border:1px solid #d0d5dd;border-radius:8px;justify-content:center;align-items:center;min-height:44px;font-size:14px;font-weight:600;display:inline-flex}.login-form-panel .primary-button{min-height:44px;box-shadow:none;border-radius:8px;padding:0 18px;font-size:14px;font-weight:600}.login-message{border:1px solid;border-radius:8px;padding:10px 12px;font-size:12px;line-height:1.6}.login-message-success{color:#2c6e49;background:#e7f6ec;border-color:#3f936033}.login-message-error{color:#b42318;background:#fff0ee;border-color:#d85e533d}.login-preview-panel{background:#eef6fa;align-items:flex-start;min-height:100dvh;padding:clamp(72px,14vh,178px) clamp(40px,5vw,72px) 72px;display:none}.login-preview-content{width:100%;max-width:796px}.login-preview-card{background:#fff;border:1px solid #d8e7eff2;border-radius:16px;min-height:560px;padding:24px;box-shadow:0 18px 46px #18212f14}.login-flow-card-header{justify-content:space-between;align-items:center;gap:24px;min-height:52px;display:flex}.login-flow-card-header h3{color:#0f172a;font-size:20px;font-weight:700;line-height:1.45}.login-flow-card-header p{color:#64748b;margin-top:4px;font-size:13px;line-height:1.45}.login-flow-card-header span{white-space:nowrap;color:#7a4a00;background:#fff7d6;border:1px solid #f5d66b;border-radius:999px;align-items:center;min-height:32px;padding:0 12px;font-size:12px;font-weight:650;display:inline-flex}.login-flow-diagram{background:#f8fbfd;border:1px solid #d8e7ef;border-radius:16px;min-height:306px;margin-top:18px;padding:20px 24px 14px}.login-flow-steps{grid-template-columns:repeat(5,minmax(0,1fr));gap:22px;display:grid}.login-flow-step{justify-items:center;gap:20px;display:grid;position:relative}.login-flow-step:not(:last-child):after{content:"";background:#173b57;border-radius:999px;width:calc(100% - 46px);height:3px;position:absolute;top:31px;left:calc(50% + 34px)}.login-flow-node{z-index:1;background:#fff;border:2px solid;border-radius:999px;justify-content:center;align-items:center;width:64px;height:64px;font-size:22px;font-weight:800;display:inline-flex;position:relative}.login-flow-node-honey{color:#004ea2}.login-flow-node-primary{color:#173b57}.login-flow-node-danger{color:#c93636}.login-flow-node-success{color:#26845b}.login-flow-mini-card{background:#fff;border:1px solid #e9e2c7;border-radius:14px;gap:8px;width:100%;min-height:160px;padding:14px;display:grid}.login-flow-mini-card strong{color:#0f172a;font-size:15px;line-height:1.45}.login-flow-mini-card p{white-space:pre-line;color:#64748b;font-size:12px;line-height:1.45}.login-flow-tag{border-radius:999px;place-self:end start;padding:5px 8px;font-size:11px;font-weight:650}.login-flow-tag-honey{color:#173b57;background:#fff7d6}.login-flow-tag-primary,.login-flow-tag-success{color:#173b57;background:#eff6f9}.login-flow-tag-danger{color:#c93636;background:#fff1f1}.login-flow-note{color:#475569;margin-top:10px;font-size:13px;line-height:1.45}.login-trust-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:18px;display:grid}.login-trust-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;min-height:102px;padding:16px}.login-trust-card strong{color:#0f172a;font-size:14px;line-height:1.45}.login-trust-card p{color:#64748b;margin-top:6px;font-size:12px;line-height:1.35}@media (width>=1024px){.login-page-shell{grid-template-columns:500px minmax(0,1fr)}.login-preview-panel{display:flex}}@media (width>=1440px){.login-page-shell{grid-template-columns:500px minmax(0,1fr)}}@media (width<=1023px){.login-form-panel{min-height:auto;padding:64px 40px}.login-form-wrap{max-width:356px}.login-preview-panel{min-height:auto;padding:40px 28px 56px;display:flex}}@media (width<=700px){.login-flow-card-header,.login-trust-grid{grid-template-columns:1fr}.login-flow-card-header{display:grid}.login-flow-steps{grid-template-columns:1fr}.login-flow-step{grid-template-columns:64px minmax(0,1fr);place-items:start}.login-flow-step:not(:last-child):after{width:3px;height:116px;top:68px;left:31px}.login-flow-mini-card{min-height:116px}}@media (width<=520px){.login-form-panel{padding:40px 24px}.login-code-row{grid-template-columns:1fr}.login-preview-panel{padding:28px 20px 40px}.login-preview-card{padding:16px}}@media (pointer:coarse){button,a,input,select{min-height:44px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}.shared-schedule{background:#f5f4f0;place-items:center;min-height:100vh;padding:32px;display:grid}.shared-schedule>section{box-sizing:border-box;background:#fff;border:1px solid #ddd9d0;border-radius:16px;gap:16px;width:min(1060px,100%);min-width:0;padding:32px;display:grid}.shared-schedule input,.shared-schedule button{border:1px solid #d8d4ca;border-radius:8px;height:44px;padding:0 14px}.shared-schedule button{color:#fff;background:#004ea2;border:0;font-weight:600}.shared-schedule [role=alert]{color:#c43b32}.shared-schedule a:not(.shared-brand-link){color:#fff;background:#004ea2;border-radius:8px;place-items:center;height:44px;font-weight:600;text-decoration:none;display:grid}.shared-brand{border-bottom:1px solid #e5e1d8;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:14px;display:flex}.shared-brand-link{height:auto;color:inherit;font-weight:inherit;align-items:center;place-items:initial;background:0 0;border:0;border-radius:0;flex:none;padding:0;text-decoration:none;display:inline-flex}.shared-brand-meta{text-align:right;gap:4px;min-width:0;margin-left:auto;display:grid}.shared-brand-meta h1{color:#1f2933;margin:0;font-size:20px;font-weight:700;line-height:28px}.shared-brand-meta p{color:#5b6775;margin:0;font-size:13px;line-height:22px}.shared-brand img{width:168px;height:auto;display:block}.shared-access-card{max-width:520px}.shared-access-card>div{gap:8px;display:grid}.shared-access-card h1,.shared-access-card p{margin:0}.shared-access-card p{color:#5b6775;line-height:22px}.shared-sheet-toolbar{justify-content:flex-end;display:flex}.shared-sheet>header{justify-content:space-between;align-items:flex-start;gap:20px;display:flex}.shared-sheet nav{gap:8px;display:flex}.shared-sheet nav button{color:#004ea2;background:#eef2f6}.shared-sheet nav button.active{color:#fff;background:#004ea2}.shared-entity-switcher{justify-content:center;align-items:center;gap:10px;display:flex}.shared-entity-switcher label{color:#5b6775;align-items:center;gap:8px;font-size:13px;display:flex}.shared-entity-switcher select{background:#fff;border:1px solid #d8d4ca;border-radius:8px;min-width:180px;height:44px;padding:0 12px;font:14px inherit}.shared-entity-switcher button:disabled{cursor:not-allowed;opacity:.4}.shared-sheet>.shared-paper-preview{min-width:0;display:block;overflow:hidden}.shared-paper-preview>.version-paper-stack{margin:0}.shared-paper-error{background:#fff5f4;border:1px solid #efb5b0;border-radius:8px;margin:0;padding:20px}.shared-sheet>footer{color:#5b6775;text-align:center;font-size:13px;line-height:22px;position:static}@media (width<=700px){.shared-schedule{padding:12px;display:block}.shared-schedule>section{width:100%;max-width:100%;padding:18px}.shared-sheet{overflow:hidden}.shared-sheet nav{flex-wrap:wrap}.shared-paper-preview>.version-paper-stack{overflow:auto hidden}.shared-brand img{width:142px}.shared-brand-meta h1{font-size:16px;line-height:24px}.shared-brand-meta p{font-size:12px;line-height:20px}.shared-access-card{margin-top:12vh}.shared-entity-switcher{grid-template-columns:auto minmax(0,1fr) auto;align-items:stretch;display:grid}.shared-entity-switcher label{gap:4px;min-width:0;display:grid}.shared-entity-switcher select{width:100%;min-width:0}}.route-loading{color:#5b6775;background:#f5f4f0;place-items:center;min-height:100vh;font-weight:600;display:grid}.account-rights-dialog.upgrade-open:has(.account-rights-plan-grid>article:only-child){width:min(620px,100%)}.account-rights-dialog.upgrade-open:has(.account-rights-plan-grid>article:nth-child(3)){width:min(1440px,100%)}.account-rights-dialog.upgrade-open .account-rights-plan-grid{grid-template-columns:repeat(auto-fit,minmax(min(360px,100%),1fr))}.account-rights-dialog.upgrade-open .account-rights-plan-card{min-width:0}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}.account-verification-trigger.unavailable{color:#98a2b3!important;cursor:not-allowed!important;background:#eef1f5!important;border-color:#d8dde5!important}.account-invite-code{border:1px solid var(--color-border);background:#fff;border-radius:10px;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"summary summary""code action";align-items:center;gap:10px 12px;margin-top:18px;padding:14px 16px;display:grid}.account-invite-code>div{grid-area:summary;gap:4px;min-width:0;display:grid}.account-invite-code strong{color:var(--color-text);font-size:14px}.account-invite-code small{color:var(--color-text-secondary);font-size:12px;line-height:1.5}.account-invite-code code{background:var(--color-surface-subtle);min-width:0;color:var(--color-text);letter-spacing:.08em;text-overflow:ellipsis;white-space:nowrap;border-radius:7px;grid-area:code;padding:9px 11px;font:700 14px ui-monospace,SFMono-Regular,Menlo,monospace;overflow:hidden}.account-invite-code button{border:1px solid var(--color-border-strong);height:34px;color:var(--color-primary);white-space:nowrap;background:#fff;border-radius:7px;grid-area:action;padding:0 13px;font-weight:700}.account-invite-code button:disabled{color:#98a2b3;cursor:not-allowed}@media (width<=620px){.account-invite-code{grid-template-columns:1fr;grid-template-areas:"summary""code""action"}.account-invite-code button{width:100%}}.operations-loading,.operations-login{background:var(--color-bg);min-height:100vh;color:var(--color-text);place-items:center;display:grid}.operations-login-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:16px;gap:16px;width:min(420px,100vw - 32px);padding:40px;display:grid}.operations-mark{background:0 0;border-radius:12px;place-items:center;width:44px;height:44px;display:grid}.operations-mark img{width:24px;height:24px;display:block}.operations-kicker,.operations-login-card>p{color:var(--color-text-secondary);margin:0}.operations-login-card h1{margin:0;font-size:28px}.operations-login-card label,.operations-form-grid label{gap:6px;font-size:14px;font-weight:600;display:grid}.operations-login-card input,.operations-form-grid input,.operations-form-grid textarea,.operations-toolbar input,.operations-table select{border:1px solid var(--color-border-strong);background:var(--color-surface);font:inherit;border-radius:8px;padding:10px 12px}.operations-login-card button,.operations-toolbar button,.operations-form-grid>button{background:var(--color-primary);color:#fff;border:0;border-radius:8px;min-height:44px;padding:0 18px;font-weight:700}.operations-login-card button:disabled,.operations-form-grid>button:disabled{opacity:.5}.operations-error{color:var(--color-danger-text);background:var(--color-danger-soft);border-radius:8px;padding:10px 12px}.operations-shell{background:var(--color-bg);min-height:100vh;color:var(--color-text);grid-template-columns:240px minmax(0,1fr);display:grid}.operations-shell>aside{background:var(--color-surface);border-right:1px solid var(--color-border);flex-direction:column;height:100vh;padding:20px 16px;display:flex;position:sticky;top:0}.operations-shell>aside header{align-items:center;gap:12px;padding:4px 8px 24px;display:flex}.operations-shell>aside header>span{background:0 0;border-radius:10px;place-items:center;width:36px;height:36px;display:grid}.operations-shell>aside header>span img{width:20px;height:20px;display:block}.operations-shell>aside header div{display:grid}.operations-shell>aside small{color:var(--color-text-secondary)}.operations-shell nav{gap:6px;display:grid}.operations-shell nav button,.operations-logout{text-align:left;height:42px;color:var(--color-text-secondary);font:inherit;background:0 0;border:0;border-radius:8px;padding:0 12px}.operations-shell nav button.active{background:var(--color-brand-soft);color:var(--color-primary);font-weight:700}.operations-logout{color:var(--color-danger-text);margin-top:auto}.operations-content{min-width:0;padding:32px 40px 56px}.operations-page-header{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:24px;display:flex}.operations-page-header h1{margin:0;font-size:28px}.operations-page-header p{color:var(--color-text-secondary);margin:6px 0 0}.operations-state{border:1px dashed var(--color-border-strong);color:var(--color-text-secondary);border-radius:12px;padding:24px}.operations-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;display:grid}.operations-metrics article,.operations-list article{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;padding:20px}.operations-metrics article{gap:12px;display:grid}.operations-metrics span{color:var(--color-text-secondary)}.operations-metrics strong{font-size:24px}.operations-table{background:var(--color-surface);border:1px solid var(--color-border);border-radius:12px;overflow:hidden}.operations-table .head,.operations-table .row{align-items:center;gap:16px;padding:14px 18px;display:grid}.operations-table .head{background:var(--color-surface-subtle);color:var(--color-text-secondary);font-weight:600}.operations-table .row{border-top:1px solid var(--color-border)}.operations-table .row>span{display:grid}.operations-table button{background:var(--color-surface);border:1px solid;border-radius:8px;height:36px}.status-active{color:var(--color-success)}.status-suspended{color:var(--color-danger-text)}.operations-list{gap:12px;margin-top:20px;display:grid}.operations-list article p{color:var(--color-text-secondary);margin:8px 0}.operations-list article small{color:var(--color-text-secondary)}.operations-list pre{background:var(--color-surface-subtle);white-space:pre-wrap;border-radius:8px;max-height:220px;margin:12px 0 0;padding:12px;overflow:auto}.operations-list:empty{display:none}.operations-segmented{border:1px solid var(--color-border);background:var(--color-surface);border-radius:10px;gap:4px;padding:4px;display:flex}.operations-segmented button{min-height:36px;color:var(--color-text-secondary);font:inherit;background:0 0;border:0;border-radius:7px;padding:0 14px}.operations-segmented button[aria-pressed=true]{background:var(--color-brand-soft);color:var(--color-primary);font-weight:700}.operations-filters{flex-wrap:wrap;gap:10px;margin-bottom:10px;display:flex}.operations-filters input,.operations-filters select,.operations-drawer input,.operations-drawer select,.operations-drawer textarea,.operations-preset-editor input,.operations-preset-editor select,.operations-preset-editor textarea,.operations-dialog textarea{border:1px solid var(--color-border-strong);background:var(--color-surface);min-height:40px;font:inherit;border-radius:8px;padding:8px 10px}.operations-filters input:first-child{flex:1;min-width:280px}.operations-filters button,.operations-pagination button,.operations-row-actions button,.operations-list footer button,.operations-preset-editor button,.operations-drawer button,.operations-dialog button{border:1px solid var(--color-border-strong);background:var(--color-surface);min-height:38px;color:var(--color-text);font:inherit;border-radius:8px;padding:0 12px}.operations-result-summary{color:var(--color-text-secondary);margin:0 0 14px;font-size:13px}.operations-table.accounts .head,.operations-table.accounts .row{grid-template-columns:minmax(170px,1.2fr) minmax(180px,1.3fr) minmax(110px,.8fr) minmax(100px,.7fr) minmax(150px,.9fr) minmax(120px,.8fr)}.operations-table.accounts.schools .head,.operations-table.accounts.schools .row{grid-template-columns:minmax(180px,1.3fr) minmax(170px,1fr) 90px minmax(160px,1fr) 90px minmax(190px,1fr)}.operations-link{display:grid;text-align:left!important;color:var(--color-primary)!important;background:0 0!important;border:0!important;padding:0!important}.operations-row-actions{gap:8px;display:flex!important}.operations-pagination{justify-content:center;align-items:center;gap:12px;margin-top:18px;display:flex}.operations-pagination button:disabled{opacity:.45}.operations-drawer-mask,.operations-modal-mask{z-index:80;background:#0f172a59;position:fixed;inset:0}.operations-drawer-mask{justify-content:flex-end;display:flex}.operations-drawer{background:var(--color-surface);width:min(680px,100vw);height:100%;padding:24px;overflow:auto;box-shadow:-16px 0 48px #0f172a29}.operations-drawer>header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.operations-drawer h2,.operations-drawer h3{margin:0}.operations-drawer>header p{color:var(--color-text-secondary);margin:6px 0 0}.operations-drawer>header>button{min-width:40px;font-size:24px}.operations-drawer>label,.operations-dialog label,.operations-preset-editor>label{gap:7px;margin-top:18px;font-weight:600;display:grid}.operations-school-summary{background:var(--color-surface-subtle);border-radius:10px;grid-template-columns:repeat(5,1fr);gap:8px;margin:20px 0;padding:14px;display:grid}.operations-school-summary span{text-align:center;font-size:13px}.operations-entitlement-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:10px 0 22px;display:grid}.operations-entitlement-grid label{border:1px solid var(--color-border);border-radius:9px;grid-template-columns:minmax(0,1fr) 140px;align-items:center;gap:12px;padding:12px;display:grid}.operations-entitlement-grid label span{font-weight:600;display:grid}.operations-entitlement-grid small{color:var(--color-text-secondary);margin-top:3px;font-weight:400}.operations-drawer>footer{background:var(--color-surface);border-top:1px solid var(--color-border);justify-content:flex-end;gap:10px;margin:24px -24px -24px;padding:16px 24px;display:flex;position:sticky;bottom:-24px}.operations-drawer>footer button:last-child,.operations-dialog footer button:last-child,.operations-preset-editor>footer button:last-child{border-color:var(--color-primary);background:var(--color-primary);color:#fff}.operations-drawer button:disabled,.operations-dialog button:disabled{opacity:.5}.operations-modal-mask{place-items:center;padding:20px;display:grid}.operations-dialog{background:var(--color-surface);border-radius:14px;width:min(480px,100%);padding:24px;box-shadow:0 24px 64px #0f172a38}.operations-dialog h2{margin:0}.operations-dialog>p{color:var(--color-text-secondary)}.operations-dialog label{gap:7px;display:grid}.operations-dialog footer{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.preset-tabs{width:max-content;margin-bottom:16px}.operations-preset-editor{border:1px solid var(--color-border);background:var(--color-surface);border-radius:12px;max-width:900px;padding:22px}.operations-preset-editor h2{margin-top:0}.operations-preset-editor>footer{justify-content:flex-end;gap:10px;margin-top:20px;display:flex}.operations-structured-list,.operations-rule-list{gap:10px;display:grid}.operations-structured-row{grid-template-columns:minmax(160px,1fr) minmax(130px,.8fr) 110px 70px;gap:10px;display:grid}.operations-rule-list label{border:1px solid var(--color-border);border-radius:8px;grid-template-columns:24px minmax(0,1fr) 90px;align-items:center;gap:10px;padding:10px;display:grid}.operations-success{color:var(--color-success);background:var(--color-success-soft);border-radius:8px;padding:10px 12px}.operations-notification-layout{grid-template-columns:minmax(320px,420px) minmax(0,1fr);align-items:start;gap:20px;display:grid}.operations-preset-editor fieldset{border:1px solid var(--color-border);border-radius:9px;flex-wrap:wrap;gap:14px;margin-top:18px;display:flex}.operations-preset-editor fieldset label{gap:6px;display:flex}.operations-list article header,.operations-list article footer{justify-content:space-between;align-items:center;gap:10px;display:flex}.operations-list article footer{justify-content:flex-end;margin-top:12px}.operations-list details{margin:10px 0}.operations-list summary{cursor:pointer;color:var(--color-primary)}.operations-list details pre{max-height:260px}.audit-list article>header span{color:var(--color-text-secondary);font-size:13px}.operations-inline-control{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.operations-inline-control button{white-space:nowrap}.operations-business-details{background:var(--color-surface-subtle);border:1px solid var(--color-border);border-radius:10px;margin:12px 0 20px;padding:12px}.operations-business-details summary{cursor:pointer;font-weight:600}.operations-business-details section{border-top:1px solid var(--color-border);margin-top:10px;padding-top:10px}.operations-business-details p{color:var(--color-text-secondary);margin:4px 0 0;line-height:1.7}.operations-detail-list{gap:12px;display:grid}.operations-detail-list p{justify-content:space-between;align-items:center;margin:0;display:flex}.operations-table.accounts.users.detailed .head,.operations-table.accounts.users.detailed .row{grid-template-columns:56px minmax(180px,1.2fr) minmax(170px,1.1fr) minmax(155px,1fr) 130px 90px 140px 76px;min-width:1120px}.operations-table.memberships,.operations-table.orders{overflow-x:auto}.operations-drawer.wide{width:min(820px,100vw)}.operations-drawer h3{margin:24px 0 10px}.operations-warning{color:#8a5a00;background:#fff8e8;border:1px solid #f3d49b;border-radius:9px;margin:18px 0;padding:12px 14px}.membership-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.membership-form label,.resource-dialog label{gap:6px;font-weight:600;display:grid}.operations-drawer-actions{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.operations-drawer-actions button:last-child,.operations-primary-action,.operations-resource-toolbar button{border-color:var(--color-primary)!important;background:var(--color-primary)!important;color:#fff!important}.operations-record{border:1px solid var(--color-border);background:var(--color-surface-subtle);border-radius:8px;padding:10px 12px}.operations-resource-layout{grid-template-columns:250px minmax(0,1fr);align-items:start;gap:18px;display:grid}.operations-resource-types{gap:8px;display:grid}.operations-resource-types button{text-align:left;border:1px solid var(--color-border);background:var(--color-surface);border-radius:9px;justify-content:space-between;align-items:center;padding:12px;display:flex}.operations-resource-types button[aria-current=true]{border-color:var(--color-primary);background:var(--color-brand-soft)}.operations-resource-types button span{display:grid}.operations-resource-types small{color:var(--color-text-secondary)}.operations-resource-types em{color:var(--color-text-secondary);font-size:12px;font-style:normal}.operations-resource-panel{border:1px solid var(--color-border);background:var(--color-surface);border-radius:12px;padding:20px}.operations-resource-panel>header,.operations-resource-toolbar{justify-content:space-between;align-items:center;gap:12px;display:flex}.operations-resource-panel h2{margin:0}.operations-resource-panel header p{color:var(--color-text-secondary);margin:5px 0 0}.operations-grade-tags{flex-wrap:wrap;gap:7px;margin:16px 0;display:flex}.operations-grade-tags span{background:var(--color-surface-subtle);border-radius:99px;padding:5px 9px;font-size:13px}.operations-resource-toolbar{margin:14px 0 10px}.operations-table.resources .head,.operations-table.resources .row{grid-template-columns:minmax(180px,1.3fr) minmax(160px,1fr) 70px 70px 70px}.resource-dialog{width:min(620px,100%)}.resource-dialog .operations-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin:16px 0;display:grid}.resource-dialog .full{grid-column:1/-1}.resource-dialog .checkbox{align-items:center;gap:8px;display:flex}.resource-dialog input,.resource-dialog select,.resource-dialog textarea,.membership-form input,.membership-form select{border:1px solid var(--color-border-strong);background:var(--color-surface);min-height:40px;font:inherit;border-radius:8px;padding:8px 10px}.operations-primary-action{min-height:40px;font:inherit;border:1px solid;border-radius:8px;padding:0 14px}.operations-resource-toolbar button{border:1px solid;border-radius:8px;min-height:36px;padding:0 12px}@media (width<=1100px){.operations-notification-layout{grid-template-columns:1fr}.operations-school-summary{grid-template-columns:repeat(3,1fr)}.operations-entitlement-grid,.operations-resource-layout{grid-template-columns:1fr}.operations-resource-types{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=820px){.operations-shell{grid-template-columns:1fr}.operations-shell>aside{height:auto;position:static}.operations-shell nav{grid-template-columns:repeat(2,1fr)}.operations-content{padding:24px 16px}.operations-metrics{grid-template-columns:repeat(2,1fr)}.operations-page-header{display:grid}.operations-segmented{width:100%}.operations-segmented button{flex:1}.operations-filters>*{width:100%;min-width:0!important}.operations-table{overflow-x:auto}.operations-table.accounts .head,.operations-table.accounts .row,.operations-table.accounts.schools .head,.operations-table.accounts.schools .row{min-width:980px}.operations-drawer{padding:18px}.operations-school-summary{grid-template-columns:repeat(2,1fr)}.operations-entitlement-grid label,.operations-structured-row{grid-template-columns:1fr}.operations-drawer>footer{flex-wrap:wrap;margin:20px -18px -18px;padding:14px 18px;bottom:-18px}.membership-form,.resource-dialog .operations-form-grid,.operations-resource-types{grid-template-columns:1fr}.operations-drawer-actions{display:grid}.operations-drawer-actions button{width:100%}}.operations-entitlement-editor{border:1px solid var(--color-border);background:var(--color-surface-subtle);border-radius:10px;margin-top:20px;padding:16px}.operations-entitlement-editor h3{margin:0}.operations-entitlement-editor>p{color:var(--color-text-secondary);font-size:13px}.operations-entitlement-editor-row{border-top:1px solid var(--color-border);grid-template-columns:minmax(0,1fr) 130px;align-items:center;gap:16px;padding:11px 0;display:grid!important}.operations-entitlement-editor-row span{gap:3px;display:grid}.operations-entitlement-editor-row small{color:var(--color-text-secondary);font-weight:400}.operations-entitlement-editor-row input,.operations-entitlement-editor-row select{min-height:38px}.operations-history-entry{border-top:1px solid var(--color-border);gap:5px;padding:10px 0;font-size:13px;display:grid}.operations-history-entry span{color:var(--color-text-secondary)}.operations-preset-editor fieldset label{align-items:center;line-height:20px}.operations-preset-editor fieldset input{flex:none;margin:0}.operations-entitlement-grid label{grid-template-columns:minmax(0,1fr)}.operations-inline-control{grid-template-columns:minmax(112px,1fr) auto;width:100%}.operations-inline-control input,.operations-inline-control select{width:100%;min-width:0}.operations-modal-mask{align-items:center;padding:16px}.operations-dialog{box-sizing:border-box;scrollbar-gutter:stable;background:#151a22;width:min(680px,100vw - 32px);max-height:calc(100dvh - 32px);padding:18px;overflow-y:auto}.operations-dialog.resource-dialog{width:min(720px,100vw - 32px)}.operations-dialog input,.operations-dialog select,.operations-dialog textarea,.operations-dialog .operations-entitlement-editor input,.operations-dialog .operations-entitlement-editor select{box-sizing:border-box;color:#f4f6f9!important;background:#10141b!important;border-color:#29313d!important}.operations-dialog .operations-form-grid{gap:10px;margin:12px 0}.operations-dialog .operations-entitlement-editor{margin:12px 0;padding:12px}.operations-dialog .operations-entitlement-editor>p{margin:6px 0;font-size:12px}.operations-dialog .operations-entitlement-editor-row{gap:12px;padding:8px 0}.operations-dialog footer{background:#151a22;border-top:1px solid #29313d;margin:14px -18px -18px;padding:12px 18px;position:sticky;bottom:-18px}.operations-dialog>h2{z-index:1;background:#151a22;border-bottom:1px solid #29313d;margin:0 -18px;padding:18px;position:sticky;top:-18px}@media (width<=640px){.operations-modal-mask{padding:10px}.operations-dialog,.operations-dialog.resource-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 20px);padding:16px}.operations-dialog>h2{margin:0 -16px;padding:16px;top:-16px}.operations-dialog footer{margin:14px -16px -16px;padding:12px 16px;bottom:-16px}}.operations-column-heading{color:#55a8f5;padding:0 12px 10px;font-size:13px;font-weight:700}.operations-resource-layout.three-column .operations-resource-types{gap:2px}.operations-resource-layout.three-column .operations-resource-types button{background:0 0;border-width:0 0 1px;border-radius:0;min-height:58px;padding:10px 12px}.operations-resource-layout.three-column .operations-resource-types button[aria-current=true]{background:#101722;border-color:#55a8f5}.operations-resource-layout.three-column .operations-resource-types strong{font-size:15px}.operations-resource-layout.three-column .operations-resource-types small{font-size:12px;line-height:1.45}.operations-resource-layout.three-column .operations-resource-types em{white-space:nowrap}.operations-resource-layout.three-column .operations-scheme-directory,.operations-resource-layout.three-column .operations-course-panel{min-width:0}.operations-resource-layout.three-column .operations-scheme-directory>header,.operations-resource-layout.three-column .operations-course-panel>header{border-bottom:1px solid #29313d;padding-bottom:12px}.operations-resource-layout.three-column .operations-scheme-list{margin-top:10px}.operations-resource-layout.three-column .operations-scheme-list button{min-height:56px;padding:10px}.operations-resource-layout.three-column .operations-secondary-action{margin-top:10px}@media (width<=1100px){.operations-resource-layout.three-column{grid-template-columns:1fr}.operations-resource-layout.three-column .operations-resource-types{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.operations-resource-layout.three-column .operations-resource-types button{border:1px solid #29313d;border-radius:8px}}.operations-bulk-toolbar{border:1px solid var(--color-border);background:var(--color-surface-subtle);border-radius:9px;align-items:center;gap:10px;margin:0 0 12px;padding:10px 12px;display:flex}.operations-table.feedback-table .head,.operations-table.feedback-table .row{grid-template-columns:44px minmax(240px,1.5fr) minmax(160px,1fr) 110px 100px 150px 110px}.feedback-user-groups{gap:10px;display:grid}.feedback-groups-toolbar{color:var(--color-text-secondary);justify-content:space-between;align-items:center;padding:10px 12px;font-size:13px;display:flex}.feedback-groups-toolbar label,.feedback-user-group header label{align-items:center;gap:8px;display:flex}.feedback-user-group{border:1px solid var(--color-border);background:var(--color-surface);border-radius:12px;overflow:hidden}.feedback-user-group>header{justify-content:space-between;align-items:center;gap:12px;padding:14px 16px;display:flex}.feedback-user-group>header label{min-width:0}.feedback-user-group>header label strong{white-space:nowrap}.feedback-user-group>header label small{color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.feedback-user-toggle{border:1px solid var(--color-border-strong);background:var(--color-surface);min-height:34px;color:var(--color-primary);font:inherit;border-radius:8px;align-items:center;gap:10px;padding:0 10px;display:flex}.feedback-user-toggle span{color:var(--color-text-secondary);font-size:12px}.feedback-group-items{border:0;border-top:1px solid var(--color-border);border-radius:0}.operations-table.feedback-group-items .head,.operations-table.feedback-group-items .row{grid-template-columns:44px minmax(240px,1.6fr) 110px 100px 150px 110px}.operations-history-entry{white-space:normal}.operations-search-summary{grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;display:grid}.operations-search-summary article{border:1px solid var(--color-border);background:var(--color-surface);border-radius:10px;gap:6px;padding:16px;display:grid}.operations-search-summary b{color:var(--color-primary);font-size:24px}.operations-search-summary small{color:var(--color-text-secondary)}.operations-table.login-log-table .head,.operations-table.login-log-table .row{grid-template-columns:minmax(180px,1.4fr) minmax(180px,1.2fr) 140px 110px 180px}.operations-table.login-log-table{min-width:760px;overflow-x:auto}.operations-resource-types .operations-column-heading,.operations-scheme-directory>header{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.operations-column-add{color:#55a8f5;min-height:30px;font:inherit;cursor:pointer;background:#102039;border:1px solid #2b78b8;border-radius:7px;order:2;padding:0 10px;font-size:12px}.operations-resource-type-card,.operations-scheme-card{align-items:stretch;gap:6px;display:flex}.operations-resource-type-card>button:first-child,.operations-scheme-card>button:first-child{flex:1;min-width:0}.operations-card-actions{align-items:center;gap:4px;display:flex}.operations-card-actions button,.operations-card-delete{color:#a7afbc;font:inherit;white-space:nowrap;cursor:pointer;background:#10141b;border:1px solid #29313d;border-radius:6px;padding:0 7px;font-size:12px}.operations-card-actions button:hover,.operations-card-delete:hover{color:#f4f6f9;border-color:#55a8f5}.operations-card-delete:disabled{opacity:.45;cursor:not-allowed}.operations-scheme-directory>header .operations-column-add{flex-basis:auto}.operations-scheme-directory>header h2,.operations-scheme-directory>header>p:not(.operations-resource-kicker){flex-basis:100%}.operations-resource-type-card .operations-card-delete{border-radius:6px;align-self:center;min-height:30px;padding:0 7px}.operations-scheme-card .operations-card-actions button{border-radius:6px;min-height:30px;padding:0 7px}.operations-resource-types .operations-column-heading{justify-items:start;display:grid}.operations-resource-types .operations-column-heading>span{flex:none}.operations-scheme-directory>header{align-items:start;display:grid}.operations-scheme-directory>header .operations-column-add{justify-self:start}.operations-table.memberships .row>button{white-space:nowrap}.operations-table.invoice-requests{overflow-x:auto}.operations-table.invoice-requests .row>span{min-width:0}.operations-table.invoice-requests .row>span strong,.operations-table.invoice-requests .row>span small{overflow-wrap:anywhere;word-break:break-word;min-width:0}.operations-table.invoice-requests .row>button{white-space:nowrap;min-width:0}.invoice-detail-summary{background:#10141b;border:1px solid #29313d;grid-template-columns:repeat(2,minmax(0,1fr));gap:0;padding:0;overflow:hidden}.invoice-detail-summary>div{border-bottom:1px solid #29313d;grid-template-columns:96px minmax(0,1fr);align-items:baseline;gap:4px 14px;min-width:0;padding:12px 14px;display:grid}.invoice-detail-summary>div:nth-child(odd){border-right:1px solid #29313d}.invoice-detail-summary>div:nth-last-child(-n+2){border-bottom:0}.invoice-detail-summary>div>small:first-child{color:#a7afbc}.invoice-detail-summary strong{overflow-wrap:anywhere;word-break:break-word;text-align:right;min-width:0;font-size:13px}.invoice-detail-summary .invoice-timing-check{color:#a7afbc;text-align:right;background:0 0;grid-column:2;margin:0;padding:0;font-size:11px;line-height:1.35}.invoice-detail-summary .invoice-timing-check.warning{color:#ffd98a}.invoice-detail-summary .invoice-timing-check.safe{color:#a3ebba}.invoice-detail-summary .invoice-timing-check.unknown{color:#8793a3}.invoice-event-list{margin-top:22px}.invoice-event-list h3{margin:0 0 12px}.invoice-event-list>p{color:var(--color-text-secondary)}.invoice-danger-action{border-color:var(--color-danger-text)!important;color:var(--color-danger-text)!important}.invoice-summary-time{grid-template-columns:96px minmax(0,1fr)!important}.invoice-summary-time>div{gap:8px;min-width:0;display:grid}.invoice-summary-time>div>span{grid-template-columns:88px minmax(0,1fr);align-items:baseline;gap:4px;display:grid}.invoice-summary-time>div>span>small:first-child{color:#a7afbc}.invoice-summary-time>div>span>strong{text-align:right}.invoice-summary-time .invoice-timing-check{grid-column:2}.invoice-file-upload{background:#10141b;border:1px solid #29313d;border-radius:8px;gap:6px;margin-top:10px;padding:9px 11px;display:grid}.invoice-file-upload>strong{font-size:12px}.invoice-file-upload label{grid-template-columns:148px minmax(0,1fr) auto;align-items:center;gap:8px;display:grid}.invoice-file-upload label>span{color:#a7afbc;font-size:12px}.invoice-file-upload input{background:#0d1117;border:1px solid #29313d;min-height:32px;padding:5px 8px}.invoice-file-upload small{color:#a7afbc;font-size:11px;font-weight:400}.invoice-file-choice{position:relative}.invoice-file-choice input{opacity:0;cursor:pointer;width:100%;position:absolute;inset:0}.invoice-file-choice b{color:#fff;cursor:pointer;background:#005eb8;border-radius:6px;place-items:center;min-height:32px;padding:0 12px;font-size:12px;font-weight:600;display:grid}.invoice-url-choice button{color:#d9eaff;min-height:32px;font:inherit;background:#183b5e;border:1px solid #356b9e;border-radius:6px;padding:0 10px;font-size:12px}.invoice-url-choice button:disabled{opacity:.45;cursor:not-allowed}.invoice-requests-page-title{font-size:28px!important}.invoice-requests-page-title+p{font-size:13px}.operations-page-header:has(.operations-primary-action) .operations-primary-action{min-height:44px}.operations-modal-mask{overscroll-behavior:contain;justify-content:center;align-items:flex-start;padding:20px;display:flex;overflow-y:auto}.operations-dialog{max-height:calc(100dvh - 40px);margin:auto 0;overflow-y:auto}.operations-shell{background:#f6f8fb;grid-template-columns:236px minmax(0,1fr)}.operations-shell>aside{color:#d6e1f0;background:#001e45;border-right:0;padding:24px 16px}.operations-shell>aside header{gap:10px;padding:0 8px 22px}.operations-shell>aside header>span{border-radius:8px;width:32px;height:32px}.operations-shell>aside header>span img{width:32px;height:32px}.operations-shell>aside header strong{color:#fff;font-size:16px}.operations-shell>aside header small{color:#a9beda;font-size:11px}.operations-shell nav{gap:18px}.operations-nav-group{gap:5px;display:grid}.operations-nav-group>p{color:#87a2c4;margin:0 0 2px;padding:0 10px;font-size:11px;font-weight:600}.operations-shell nav button{color:#d6e1f0;border-radius:7px;align-items:center;gap:10px;height:38px;padding:0 10px;display:flex}.operations-shell nav button>span{color:#b6c8df;text-align:center;width:15px;font-size:15px;display:grid}.operations-shell nav button.active{color:#fff;background:#004ea2}.operations-shell nav button.active>span{color:#fff}.operations-admin-footer{background:#003978;border-radius:8px;align-items:center;gap:9px;margin-top:auto;padding:9px 8px;display:flex}.operations-admin-footer>span{color:#fff;background:#5b9af0;border-radius:50%;place-items:center;width:28px;height:28px;font-size:12px;font-weight:700;display:grid}.operations-admin-footer>div{min-width:0;display:grid}.operations-admin-footer strong{color:#fff;font-size:13px}.operations-admin-footer small{color:#b6c8df;font-size:11px}.operations-logout{color:#b6c8df;width:auto;height:28px;margin:0 0 0 auto;padding:0;font-size:12px}.operations-content{background:#f6f8fb;padding:22px 32px 32px}.operations-console-topline{color:#64748b;justify-content:space-between;align-items:center;min-height:28px;margin-bottom:20px;font-size:12px;display:flex}.operations-page-header{margin-bottom:18px}.operations-page-header h1{color:#001e45;letter-spacing:-.02em;font-size:26px}.operations-page-header p{font-size:13px}.operations-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.operations-metrics article,.operations-list article,.operations-table,.feedback-user-group,.operations-resource-panel,.operations-preset-editor{box-shadow:none;border-color:#e2e8f0;border-radius:10px}.operations-metrics article{min-height:128px;padding:20px}.operations-metrics span{color:#64748b;font-size:13px}.operations-metrics strong{color:#001e45;letter-spacing:-.03em;font-size:28px}.operations-filters{background:#fff;border:1px solid #e2e8f0;border-radius:10px;gap:10px;margin-bottom:12px;padding:16px}.operations-filters input,.operations-filters select,.operations-drawer input,.operations-drawer select,.operations-drawer textarea,.operations-preset-editor input,.operations-preset-editor select,.operations-preset-editor textarea,.operations-dialog textarea,.operations-filters button,.operations-pagination button,.operations-row-actions button,.operations-list footer button,.operations-preset-editor button,.operations-drawer button,.operations-dialog button{border-color:#d9e1ec;border-radius:7px;min-height:36px}.operations-table .head,.operations-table .row{gap:12px;padding:13px 16px}.operations-table .head{color:#64748b;background:#f8fafc;font-size:12px}.operations-table .row{border-color:#e8edf3;min-height:58px}.operations-table small{color:#64748b}.operations-segmented{border-color:#d9e1ec;border-radius:8px}.operations-result-summary{color:#64748b}.operations-pagination{color:#64748b;justify-content:space-between;margin-top:16px;font-size:13px}.operations-drawer-mask,.operations-modal-mask{background:#001e4557}.operations-drawer{border-left:1px solid #e2e8f0;padding:24px;box-shadow:-16px 0 48px #001e4524}.operations-drawer h2,.operations-drawer h3{color:#001e45}.operations-school-summary{background:#eaf3ff}.operations-state{color:#64748b;background:#fff;border-color:#d9e1ec;border-radius:10px;padding:32px}@media (width<=820px){.operations-shell>aside{padding:16px}.operations-shell nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.operations-nav-group{gap:4px}.operations-admin-footer{display:none}.operations-console-topline{margin-bottom:14px}}.operations-shell nav button>span{font-size:0}.operations-shell nav button svg{stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px;width:16px;height:16px}.operations-console-topline{min-height:40px}.operations-console-topline label{background:#fff;border:1px solid #d9e1ec;border-radius:7px;align-items:center;gap:8px;height:34px;padding:0 10px;display:flex}.operations-console-topline label svg,.operations-console-topline button svg{stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px;width:16px;height:16px}.operations-console-topline label svg{color:#94a3b8}.operations-console-topline input{color:#0f172a;width:100%;font:inherit;background:0 0;border:0;outline:0}.operations-console-topline>div>span{color:#64748b}@media (width<=820px){.operations-admin-footer{margin-top:18px;display:flex}.operations-console-topline form{width:min(254px,68vw)}.operations-console-topline>div>span{display:none}}.operations-global-results{gap:16px;display:grid}.operations-global-results>section{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:18px}.operations-global-results>section>header{justify-content:space-between;align-items:center;margin-bottom:12px;display:flex}.operations-global-results h2{color:#001e45;margin:0;font-size:16px}.operations-global-results button{color:#004ea2;min-height:32px;font:inherit;background:#f5f9ff;border:1px solid #bfd8f6;border-radius:7px;padding:0 10px}.operations-global-results .operations-table .head,.operations-global-results .operations-table .row{grid-template-columns:repeat(3,minmax(0,1fr))}.operations-trend-empty{display:none}.operations-trend-bars{border-bottom:1px solid #e8edf3;justify-content:space-around;align-items:end;gap:16px;height:160px;margin-top:10px;padding:0 8px;display:flex}.operations-trend-bars>div{grid-template-rows:18px minmax(0,1fr) 18px;place-items:end center;gap:4px;min-width:28px;height:100%;display:grid}.operations-trend-bars>div>strong{color:#004ea2;font-size:12px;font-weight:700;line-height:18px}.operations-trend-bars>div>span{background:#004ea2;border-radius:5px 5px 0 0;align-self:end;width:28px;min-height:2px;display:block}.operations-trend-bars small{color:#64748b;white-space:nowrap;align-self:end;font-size:11px;line-height:18px}.operations-trend-controls{background:#f3f6fa;border:1px solid #e1e8f0;border-radius:7px;align-items:center;padding:3px;display:flex}.operations-trend-controls button{color:#64748b;min-width:32px;height:28px;font:inherit;cursor:pointer;background:0 0;border:0;border-radius:5px;padding:0 8px;font-size:12px}.operations-trend-controls button.active{color:#fff;background:#004ea2;box-shadow:0 1px 2px #003b7a33}.operations-trend-controls button:focus-visible{outline-offset:1px;outline:2px solid #66a9e8}.operations-overview-header{justify-content:space-between;align-items:end;gap:20px;margin-bottom:18px;display:flex}.operations-overview-header p{color:#64748b;margin:0 0 22px;font-size:13px}.operations-overview-header h1{color:#001e45;letter-spacing:-.02em;margin:0;font-size:26px}.operations-overview-header>div>span{color:#64748b;margin-top:6px;font-size:13px;display:block}.operations-overview-range{color:#64748b;gap:5px;min-width:176px;font-size:12px;display:grid}.operations-overview-range select{color:#0f172a;height:36px;font:inherit;background:#fff;border:1px solid #d9e1ec;border-radius:7px;padding:0 11px}.operations-overview{gap:18px;display:grid}.operations-overview-metrics{grid-template-columns:repeat(6,minmax(0,1fr));gap:14px;display:grid}.operations-overview-metrics article{background:#fff;border:1px solid #e2e8f0;border-radius:10px;gap:12px;min-height:128px;padding:19px;display:grid}.operations-overview-metrics article>span,.operations-overview-metrics button{color:#64748b;font:inherit;text-align:left;background:0 0;border:0;padding:0;font-size:13px}.operations-overview-metrics article.is-actionable button{cursor:pointer}.operations-overview-metrics strong{color:#001e45;letter-spacing:-.03em;font-size:27px;line-height:1}.operations-overview-metrics small{font-size:12px}.operations-overview .is-neutral{color:#64748b}.operations-overview-main{grid-template-columns:minmax(0,1fr) 352px;gap:18px;display:grid}.operations-overview-trend,.operations-overview-todos{background:#fff;border:1px solid #e2e8f0;border-radius:10px;min-height:272px;padding:20px}.operations-overview-trend>header,.operations-overview-todos>header{justify-content:space-between;align-items:start;gap:16px;display:flex}.operations-overview h2{color:#001e45;margin:0;font-size:16px}.operations-overview-trend header p{color:#64748b;margin:6px 0 0;font-size:12px}.operations-overview-trend>header>span,.operations-overview-todos>header>span{color:#64748b;font-size:12px}.operations-trend-empty{text-align:center;border:1px dashed #d9e1ec;border-radius:8px;place-content:center;min-height:142px;display:grid}.operations-trend-empty strong{color:#004ea2;letter-spacing:-.04em;font-size:34px}.operations-trend-empty span{color:#334155;margin-top:6px;font-size:13px}.operations-trend-empty small{color:#94a3b8;margin-top:8px;font-size:12px}.operations-overview-trend footer{color:#64748b;justify-content:space-between;margin-top:14px;font-size:12px;display:flex}.operations-overview-todos>div{margin-top:10px;display:grid}.operations-overview-todos button{color:#334155;min-height:43px;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-top:1px solid #eef2f6;justify-content:space-between;align-items:center;padding:0;font-size:13px;display:flex}.operations-overview-todos button:first-child{border-top:0}.operations-overview-todos button strong{font-size:13px}@media (width<=1280px){.operations-overview-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=820px){.operations-overview-header{align-items:start;display:grid}.operations-overview-header p{margin-bottom:16px}.operations-overview-range{width:100%}.operations-overview-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.operations-overview-main{grid-template-columns:1fr}.operations-overview-trend footer{flex-direction:column;gap:8px}}.operations-overview-range{color:#0f172a;height:36px;font:inherit;background:#fff;border:1px solid #d9e1ec;border-radius:7px;padding:0 11px;display:block}.operations-overview-todos>header>button{color:#004ea2;cursor:pointer;background:0 0;border:0;padding:0;font:600 12px inherit}.operations-overview-summary{background:#fff;border:1px solid #e2e8f0;border-radius:10px;padding:20px}.operations-overview-summary>header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.operations-overview-summary>header>span{color:#64748b;font-size:12px}.operations-overview-summary>div{grid-template-columns:repeat(6,minmax(0,1fr));gap:10px;display:grid}.operations-overview-summary article{background:#f8fafc;border-radius:8px;gap:6px;padding:12px;display:grid}.operations-overview-summary article span{color:#64748b;font-size:12px}.operations-overview-summary article strong{color:#001e45;font-size:18px}@media (width<=1280px){.operations-overview-summary>div{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (width<=820px){.operations-overview-summary>div{grid-template-columns:repeat(2,minmax(0,1fr))}.operations-console-topline>span{font-size:12px}.operations-console-topline>div{gap:8px}}.resource-dialog{padding:18px}.resource-dialog h2{font-size:20px}.resource-dialog .operations-form-grid{gap:8px 12px;margin:12px 0}.resource-dialog label{gap:4px;font-size:13px}.resource-dialog input,.resource-dialog select,.resource-dialog textarea{min-height:36px;padding:6px 9px}.resource-dialog .operations-entitlement-editor{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 16px;margin-top:12px;padding:12px;display:grid}.resource-dialog .operations-entitlement-editor h3,.resource-dialog .operations-entitlement-editor>p{grid-column:1/-1}.resource-dialog .operations-entitlement-editor>p{margin:5px 0 8px}.resource-dialog .operations-entitlement-editor-row{grid-template-columns:minmax(0,1fr) 82px;gap:8px;padding:7px 0}.resource-dialog .operations-entitlement-editor-row small{font-size:11px}.resource-dialog .operations-entitlement-editor-row input,.resource-dialog .operations-entitlement-editor-row select{min-height:32px;padding:4px 7px}.resource-dialog>label{margin-top:12px}.resource-dialog>label textarea{min-height:54px}.resource-dialog footer{margin-top:12px}.operations-secondary-action{color:#004ea2;min-height:38px;font:inherit;background:#fff;border:1px solid #b8cbe2;border-radius:8px;padding:0 14px;font-weight:600}.operations-scheme-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:12px;margin:16px 0;display:grid}.operations-scheme-card{background:linear-gradient(#fff 0%,#f8fbff 100%);border:1px solid #dce6f2;border-radius:10px;padding:16px}.operations-scheme-card header{justify-content:space-between;gap:10px;display:flex}.operations-scheme-card h3{color:#001e45;margin:0;font-size:16px}.operations-scheme-card small,.preset-course-editor small{color:#64748b;margin-top:4px;display:block}.operations-scheme-card header button,.preset-course-editor header button{color:#004ea2;height:32px;font:inherit;background:#fff;border:1px solid #b8cbe2;border-radius:7px;padding:0 10px}.operations-course-chips{flex-wrap:wrap;gap:6px;margin-top:14px;display:flex}.operations-course-chips span{color:#31577e;background:#eef4fb;border-radius:5px;padding:4px 7px;font-size:12px}.operations-dialog-hint{color:#64748b;margin:0;font-size:13px;line-height:1.55}.scheme-editor{width:min(900px,100vw - 36px);max-height:calc(100vh - 36px);overflow:auto}.preset-course-editor{border:1px solid #dce6f2;border-radius:9px;margin:16px 0;overflow:hidden}.preset-course-editor>header{background:#f7faff;justify-content:space-between;align-items:center;padding:12px 14px;display:flex}.preset-course-editor .operations-table{border:0;border-radius:0}.operations-modal-mask.nested{z-index:30}.operations-resource-directory{gap:22px;display:grid}.operations-directory-heading{align-items:center;gap:10px;margin:0 0 8px;display:flex}.operations-directory-heading h2{color:#001e45;margin:0;font-size:16px}.operations-directory-heading span{color:#004ea2;background:#eaf3ff;border-radius:10px;padding:2px 7px;font-size:12px}.operations-type-actions{flex-wrap:wrap;gap:8px;display:flex}.operations-type-actions button{color:#004ea2;height:34px;font:inherit;background:#fff;border:1px solid #b8cbe2;border-radius:7px;padding:0 10px}.operations-type-actions button.danger{color:#ba2d2d;border-color:#efb5b5}.operations-table.accounts.users.detailed .row{min-height:72px;padding-top:10px;padding-bottom:10px}.operations-table.accounts.users.detailed .operations-link{gap:3px;line-height:1.25}.operations-table.accounts.users.detailed .operations-link small{line-height:1.35}.operations-overview-trend{min-height:280px}@media (width<=820px){.resource-dialog .operations-entitlement-editor{grid-template-columns:1fr}}.operations-shell{color:#f4f6f9;background:#0b0d12;grid-template-columns:68px 232px minmax(0,1fr);min-height:100vh;font-family:Inter,HarmonyOS Sans SC,system-ui,sans-serif}.operations-rail{background:#0d1016;border-right:1px solid #29313d;flex-direction:column;height:100vh;padding:18px 12px;display:flex;position:sticky;top:0}.operations-rail-brand{background:#004ea2;border-radius:10px;place-items:center;width:44px;height:44px;margin-bottom:18px;display:grid}.operations-rail-brand img{object-fit:contain;width:36px;height:36px}.operations-rail nav{gap:8px;display:grid}.operations-rail nav button,.operations-rail-utility,.operations-rail-avatar{color:#a7afbc;cursor:pointer;background:0 0;border:0;border-radius:9px;place-items:center;width:44px;height:44px;padding:0;display:grid}.operations-rail svg,.operations-secondary svg,.operations-console-topline svg{stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px;width:18px;height:18px}.operations-rail-spacer{flex:1}.operations-rail-utility:hover{color:#f4f6f9;background:#1a202a}.operations-rail-avatar{color:#f4f6f9;background:#1a202a;margin-top:8px;font-size:13px;font-weight:700}.operations-secondary{background:#0d1016;border-right:1px solid #29313d;flex-direction:column;height:100vh;padding:26px 14px;display:flex;position:sticky;top:0}.operations-secondary header{gap:5px;padding:0 8px 22px;display:grid}.operations-secondary header small{color:#737d8c;font-size:11px}.operations-secondary header strong{color:#f4f6f9;font-size:18px}.operations-secondary header span{color:#a7afbc;font-size:12px;line-height:1.5}.operations-secondary nav{gap:4px;display:grid}.operations-secondary nav button{color:#a7afbc;height:38px;font:inherit;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;align-items:center;gap:10px;padding:0 12px;font-size:14px;display:flex}.operations-secondary-help{background:#101722;border:1px solid #1d3a5c;border-radius:9px;gap:6px;margin-top:auto;padding:14px;display:grid}.operations-secondary-help strong{color:#55a8f5;font-size:13px}.operations-secondary-help span{color:#a7afbc;font-size:12px;line-height:1.45}.operations-content{color:#f4f6f9;background:#0b0d12;min-width:0;padding:0 28px 32px}.operations-console-topline{color:#a7afbc;border-bottom:1px solid #29313d;justify-content:space-between;align-items:center;min-height:64px;margin:0 -28px 26px;padding:0 28px;display:flex}.operations-console-topline form{width:min(410px,52vw)}.operations-console-topline label{color:#a7afbc;background:#10141b;border:1px solid #29313d;border-radius:8px;align-items:center;gap:9px;height:36px;padding:0 12px;display:flex}.operations-console-topline input{color:#f4f6f9;background:0 0;border:0;outline:0;width:100%;padding:0;font:13px Inter,HarmonyOS Sans SC,sans-serif}.operations-console-topline input::placeholder{color:#737d8c}.operations-console-topline kbd{color:#737d8c;white-space:nowrap;font:11px Inter,sans-serif}.operations-console-topline>div{align-items:center;gap:14px;display:flex}.operations-console-topline>div>span{color:#e3a42d;font-size:12px}.operations-console-topline>div>button{color:#a7afbc;background:0 0;border:0;border-radius:7px;place-items:center;width:34px;height:34px;display:grid}.operations-console-topline>div>button:hover{color:#f4f6f9;background:#1a202a}.operations-page-header,.operations-overview-header{margin-bottom:18px}.operations-page-header h1,.operations-overview-header h1{color:#f4f6f9;font-size:24px}.operations-page-header p,.operations-overview-header>div>span{color:#a7afbc;font-size:13px}.operations-state{color:#a7afbc;background:#151a22;border-color:#29313d}.operations-error{color:#ffd5d5;background:#2a171b;border:1px solid #66313a}.operations-metrics article,.operations-list article,.operations-table,.feedback-user-group,.operations-resource-panel,.operations-preset-editor,.operations-overview-metrics article,.operations-overview-trend,.operations-overview-todos,.operations-overview-summary,.operations-global-results>section{color:#f4f6f9;background:#151a22;border-color:#29313d}.operations-metrics span,.operations-table small,.operations-list article p,.operations-list article small,.operations-result-summary,.operations-page-header p{color:#a7afbc}.operations-metrics strong,.operations-overview-metrics strong,.operations-overview h2,.operations-overview-summary article strong,.operations-global-results h2{color:#f4f6f9}.operations-metrics article,.operations-overview-metrics article{min-height:0}.operations-table .head{color:#a7afbc;background:#1a202a}.operations-table .row{border-color:#222a35}.operations-table .row:hover{background:#18202a}.operations-table button,.operations-filters button,.operations-pagination button,.operations-row-actions button,.operations-list footer button,.operations-preset-editor button,.operations-drawer button,.operations-dialog button{color:#a7afbc;background:#10141b;border-color:#29313d}.operations-filters{background:#151a22;border-color:#29313d;padding:12px}.operations-filters input,.operations-filters select,.operations-drawer input,.operations-drawer select,.operations-drawer textarea,.operations-preset-editor input,.operations-preset-editor select,.operations-preset-editor textarea,.operations-dialog textarea{color:#f4f6f9;background:#10141b;border-color:#29313d}.operations-segmented{background:#10141b;border-color:#29313d}.operations-segmented button{color:#a7afbc}.operations-segmented button[aria-pressed=true]{color:#f4f6f9;background:#1a202a}.operations-drawer{color:#f4f6f9;background:#151a22;border-left-color:#29313d;box-shadow:-16px 0 48px #0008}.operations-drawer h2,.operations-drawer h3,.operations-dialog h2{color:#f4f6f9}.operations-drawer>header p,.operations-dialog>p,.operations-business-details p,.operations-history-entry span{color:#a7afbc}.operations-drawer>footer{background:#151a22;border-top-color:#29313d}.operations-modal-mask,.operations-drawer-mask{background:#05070aaa}.operations-dialog{color:#f4f6f9;background:#151a22;box-shadow:0 24px 64px #0009}.operations-warning{color:#ffd98a;background:#2a2110;border-color:#5b4722}.operations-overview-metrics article>span,.operations-overview-metrics button,.operations-overview-trend header p,.operations-overview-trend footer,.operations-overview-summary>header>span,.operations-overview-summary article span{color:#a7afbc}.operations-overview-metrics article.is-actionable{border-color:#1d5f9e}.operations-overview .is-success{color:#41b25d}.operations-overview .is-warning{color:#e3a42d}.operations-overview .is-danger{color:#e45b5b}.operations-overview-trend,.operations-overview-todos{min-height:260px}.operations-trend-bars{border-color:#29313d}.operations-trend-bars>div>strong{color:#55a8f5}.operations-trend-bars>div>span{background:#26527f}.operations-trend-bars>div:last-child>span{background:#004ea2}.operations-trend-bars small{color:#737d8c}.operations-trend-controls{background:#10141b;border-color:#29313d}.operations-trend-controls button{color:#a7afbc}.operations-trend-controls button.active{box-shadow:none;background:#004ea2}.operations-overview-todos button{color:#a7afbc;border-color:#222a35}.operations-overview-summary article{background:#10141b}.operations-link{color:#55a8f5!important}.operations-business-details,.operations-record,.operations-school-summary,.operations-entitlement-editor{background:#10141b;border-color:#29313d}.operations-entitlement-grid label,.operations-rule-list label,.feedback-user-group{border-color:#29313d}.operations-success{color:#a3ebba;background:#11271a}.operations-primary-action,.operations-resource-toolbar button,.operations-drawer>footer button:last-child,.operations-dialog footer button:last-child{background:#004ea2!important;border-color:#004ea2!important}.feedback-groups-toolbar,.feedback-user-group>header label small,.feedback-user-toggle span{color:#a7afbc}.feedback-user-toggle{color:#55a8f5;background:#10141b;border-color:#29313d}.operations-search-summary article{background:#151a22;border-color:#29313d}.operations-search-summary b{color:#55a8f5}@media (width<=980px){.operations-shell{grid-template-columns:68px 196px minmax(0,1fr)}.operations-secondary{padding-left:10px;padding-right:10px;display:flex}.operations-secondary header{padding-left:6px;padding-right:6px}.operations-content{padding:0 20px 28px}.operations-console-topline{margin-left:-20px;margin-right:-20px;padding-left:20px;padding-right:20px}}@media (width<=640px){.operations-shell{grid-template-columns:1fr}.operations-rail{z-index:20;border-bottom:1px solid #29313d;border-right:0;flex-direction:row;align-items:center;width:auto;height:64px;padding:8px;position:sticky;top:0}.operations-rail-brand{width:40px;height:40px;margin:0 6px 0 0}.operations-rail nav{gap:3px;display:flex;overflow-x:auto}.operations-rail nav button{width:38px;height:38px}.operations-rail-spacer{display:none}.operations-rail-utility{width:38px;height:38px;margin-left:auto}.operations-rail-avatar{width:38px;height:38px;margin:0 0 0 4px}.operations-secondary{z-index:19;border-bottom:1px solid #29313d;border-right:0;height:auto;padding:8px 12px 10px;display:flex;position:sticky;top:64px}.operations-secondary header,.operations-secondary-help{display:none}.operations-secondary nav{gap:6px;width:100%;display:flex;overflow-x:auto}.operations-secondary nav button{white-space:nowrap;flex:none;padding:0 10px}.operations-content{padding:0 16px 24px}.operations-console-topline{margin-left:-16px;margin-right:-16px;padding-left:16px;padding-right:16px}.operations-console-topline form{width:min(290px,70vw)}.operations-console-topline kbd,.operations-console-topline>div>span{display:none}}.operations-login{color:#f4f6f9;background:radial-gradient(circle at 17% 14%,#163452 0,#0000 32%),#0b0d12;padding:24px}.operations-login-card{background:#151a22;border-color:#29313d;border-radius:14px;gap:18px;width:min(420px,100vw - 48px);padding:32px;box-shadow:0 24px 70px #0008}.operations-login-card .operations-mark{background:#004ea2;border-radius:11px;width:46px;height:46px}.operations-login-card .operations-mark img{width:36px;height:36px}.operations-kicker,.operations-login-card>p{color:#a7afbc}.operations-login-card h1{color:#f4f6f9;font-size:26px;line-height:1.25}.operations-login-card label{color:#d7dce4}.operations-login-card input{color:#f4f6f9;border-color:#29313d;background:#10141b!important}.operations-login-card input:focus{outline-offset:1px;outline:2px solid #55a8f5}.operations-login-card input:-webkit-autofill{caret-color:#f4f6f9;border:1px solid #29313d;color:#f4f6f9!important;-webkit-text-fill-color:#f4f6f9!important;box-shadow:inset 0 0 0 1000px #10141b!important}.operations-login-card input:-webkit-autofill:hover{caret-color:#f4f6f9;border:1px solid #29313d;color:#f4f6f9!important;-webkit-text-fill-color:#f4f6f9!important;box-shadow:inset 0 0 0 1000px #10141b!important}.operations-login-card input:-webkit-autofill:focus{caret-color:#f4f6f9;border:1px solid #29313d;color:#f4f6f9!important;-webkit-text-fill-color:#f4f6f9!important;box-shadow:inset 0 0 0 1000px #10141b!important}.operations-login-card input:-webkit-autofill:active{caret-color:#f4f6f9;border:1px solid #29313d;color:#f4f6f9!important;-webkit-text-fill-color:#f4f6f9!important;box-shadow:inset 0 0 0 1000px #10141b!important}.operations-login-card button{background:#004ea2;border-radius:8px}.operations-login-card button:not(:disabled):hover{background:#1265b4}.operations-login-card .operations-error{color:#ffd5d5;background:#2a171b;border:1px solid #66313a}.operations-shell>.operations-rail{box-sizing:border-box;flex-direction:column;width:68px;min-width:68px;height:100vh;padding:18px 12px;display:flex;position:sticky;top:0;overflow:hidden}.operations-shell>.operations-secondary{box-sizing:border-box;flex-direction:column;width:232px;min-width:232px;height:100vh;padding:26px 14px;display:flex;position:sticky;top:0;overflow:hidden}.operations-shell>.operations-rail nav{grid-template-columns:1fr;gap:8px;display:grid}.operations-shell>.operations-secondary nav{grid-template-columns:1fr;gap:4px;min-width:0;display:grid}.operations-shell>.operations-secondary header{min-width:0;overflow:hidden}.operations-shell>.operations-secondary header strong,.operations-shell>.operations-secondary header span,.operations-shell>.operations-secondary nav button{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.operations-shell>.operations-secondary header span{white-space:normal;overflow-wrap:anywhere}.operations-shell>.operations-secondary nav button{flex:none;justify-content:flex-start;line-height:1.2}.operations-shell>.operations-rail nav button{width:44px;min-width:44px;height:44px;min-height:44px}.operations-shell>.operations-content{min-width:0}@media (width<=980px){.operations-shell>.operations-secondary{width:196px;min-width:196px;padding-left:10px;padding-right:10px}}@media (width<=640px){.operations-shell>.operations-rail{flex-direction:row;width:100%;min-width:0;height:64px;padding:8px;position:sticky;top:0;overflow:visible}.operations-shell>.operations-rail nav{grid-template-columns:none;gap:3px;display:flex;overflow-x:auto}.operations-shell>.operations-secondary{width:100%;min-width:0;height:auto;padding:8px 12px 10px;position:sticky;top:64px;overflow:visible}.operations-shell>.operations-secondary nav{grid-template-columns:none;gap:6px;display:flex;overflow-x:auto}.operations-shell>.operations-secondary nav button{text-overflow:clip;white-space:nowrap;flex:none;overflow:visible}}.operations-shell>.operations-rail,.operations-shell>.operations-secondary{background:#001e45;border-color:#003978}.operations-secondary nav button{color:#d6e1f0}.operations-shell>.operations-secondary>header{align-items:initial;gap:5px;padding:0 8px 22px;display:grid}.operations-shell>.operations-rail{background:#0b0d12;border-color:#202a35}.operations-shell>.operations-secondary{background:#111720;border-color:#202a35}.operations-rail-brand{background:#0d1016}.operations-rail nav button,.operations-rail-utility{color:#8793a3}.operations-rail nav button.active{color:#f4f6f9;background:#005bb8}.operations-rail nav button:hover,.operations-rail-utility:hover{color:#f4f6f9;background:#18212c}.operations-rail-avatar{color:#f4f6f9;background:#1a202a}.operations-secondary header small{color:#7b8796}.operations-secondary header strong{color:#f4f6f9}.operations-secondary header span,.operations-secondary nav button{color:#a7afbc}.operations-secondary nav button.active{color:#f4f6f9;background:#1a202a}.operations-secondary nav button:hover{color:#f4f6f9;background:#171e28}.operations-secondary-help{background:#0e2439;border-color:#1b4f80}.operations-secondary-help strong{color:#55a8f5}.operations-secondary-help span{color:#a7afbc}@media (width<=1180px){.operations-overview-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.operations-overview-main{grid-template-columns:1fr}.operations-overview-summary>div{grid-template-columns:repeat(3,minmax(0,1fr))}}.operations-shell{grid-template-columns:248px minmax(0,1fr)}.operations-sidebar{box-sizing:border-box;color:#a7afbc;background:#111720;border-right:1px solid #202a35;flex-direction:column;width:248px;height:100vh;padding:20px 12px 14px;display:flex;position:sticky;top:0}.operations-sidebar>header{align-items:center;gap:10px;padding:0 10px 20px;display:flex}.operations-sidebar-brand{background:#0b0d12;border-radius:8px;flex:none;place-items:center;width:36px;height:36px;display:grid}.operations-sidebar-brand img{object-fit:contain;width:30px;height:30px}.operations-sidebar>header>div:last-child{gap:3px;min-width:0;display:grid}.operations-sidebar>header small{color:#a7afbc;font-size:12px}.operations-sidebar>header strong{color:#f4f6f9;font-size:15px;line-height:1.2}.operations-sidebar nav{gap:7px;min-height:0;display:grid;overflow-y:auto}.operations-sidebar nav section{gap:3px;display:grid}.operations-nav-group-button,.operations-nav-single button,.operations-nav-subitems button,.operations-sidebar-utility{color:#a7afbc;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:7px;align-items:center;gap:9px;width:100%;min-width:0;height:34px;padding:0 10px;font:13px Inter,HarmonyOS Sans SC,system-ui,sans-serif;display:flex}.operations-nav-group-button{color:#d4d9e1;font-weight:650}.operations-nav-group-button svg,.operations-nav-single button svg,.operations-nav-subitems button svg,.operations-sidebar-utility svg{stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px;flex:none;width:16px;height:16px}.operations-nav-group-button:hover,.operations-nav-single button:hover,.operations-nav-subitems button:hover,.operations-sidebar-utility:hover{color:#f4f6f9;background:#171e28}.operations-nav-single button{color:#d4d9e1;height:38px;font-weight:650}.operations-nav-single button.active,.operations-nav-subitems button.active{color:#f4f6f9;background:#1a202a}.operations-nav-subitems{gap:2px;padding-left:25px;display:grid}.operations-nav-subitems button{height:32px;font-size:12px}.operations-sidebar nav section.active>.operations-nav-group-button{color:#f4f6f9}.operations-sidebar footer{border-top:1px solid #202a35;align-items:center;gap:8px;margin-top:auto;padding-top:12px;display:flex}.operations-sidebar-utility{flex:1;height:36px}.operations-sidebar-avatar{color:#f4f6f9;cursor:pointer;background:#1a202a;border:0;border-radius:8px;flex:none;place-items:center;width:34px;height:34px;font-size:13px;font-weight:700;display:grid}@media (width<=760px){.operations-shell{grid-template-columns:1fr}.operations-sidebar{z-index:20;width:100%;min-width:0;height:auto;padding:8px 12px;position:sticky;top:0}.operations-sidebar>header{display:none}.operations-sidebar nav{gap:5px;display:flex;overflow:auto hidden}.operations-sidebar nav section{gap:0;display:flex}.operations-nav-group-button{display:none}.operations-nav-subitems,.operations-nav-single{gap:5px;padding-left:0;display:flex}.operations-nav-subitems button,.operations-nav-single button{flex:none;height:36px;padding:0 10px;font-size:12px}.operations-sidebar footer{display:none}}.operations-shell>.operations-sidebar{height:100vh;position:sticky;top:0}.operations-shell>.operations-sidebar nav{grid-template-columns:1fr}@media (width<=760px){.operations-shell>.operations-sidebar{height:auto;position:sticky;top:0}.operations-shell>.operations-sidebar nav{grid-template-columns:none}}.operations-shell>.operations-sidebar{background:#111720;border-color:#202a35;padding:16px 12px 12px}.operations-sidebar>header{padding-bottom:14px}.operations-sidebar nav{gap:4px}.operations-sidebar nav section{gap:1px}.operations-nav-group-button{display:none}.operations-nav-group-label{color:#7b8796;letter-spacing:.02em;align-items:center;gap:8px;height:24px;padding:0 10px;font:600 11px Inter,HarmonyOS Sans SC,system-ui,sans-serif;display:flex}.operations-nav-group-label:after{content:"";background:#27313d;flex:1;height:1px}.operations-nav-subitems{gap:1px;padding-left:6px}.operations-nav-subitems button{height:30px;padding:0 8px;font-size:12px}.operations-nav-subitems button svg{width:14px;height:14px}.operations-sidebar footer{padding-top:8px}.operations-sidebar-utility{height:32px;font-size:12px}.operations-sidebar-avatar{width:32px;height:32px}.operations-nav-count{color:#7f8b9b;font-variant-numeric:tabular-nums;background:#151a22;border:1px solid #29313d;border-radius:4px;margin-left:auto;padding:1px 5px;font-size:10px;line-height:1.3}.operations-nav-subitems button.active .operations-nav-count{color:#a7c9ea;background:#162538;border-color:#31557a}@media (width<=760px){.operations-nav-group-label{display:none}.operations-nav-subitems{padding-left:0}.operations-nav-subitems button{height:34px;padding:0 9px}}.operations-status-tag{white-space:nowrap;font-size:13px;font-weight:650;line-height:1.4;display:inline}.operations-status-tag.tone-brand{color:#005bb8}.operations-status-tag.tone-success{color:#18864b}.operations-status-tag.tone-warning{color:#9a6700}.operations-status-tag.tone-danger{color:#c2362b}.operations-status-tag.tone-neutral{color:#667085}.operations-modal-mask{box-sizing:border-box;overscroll-behavior:contain;overflow:auto}.operations-dialog{box-sizing:border-box;grid-template-rows:auto minmax(0,1fr) auto;max-height:calc(100dvh - 40px);display:grid;overflow:auto}.operations-dialog>footer{background:var(--color-surface);border-top:1px solid var(--color-border);padding-top:14px;padding-bottom:2px;position:sticky;bottom:-24px}.operations-dialog input,.operations-dialog select,.operations-dialog textarea{box-sizing:border-box;width:100%;color:var(--color-text);font:inherit}.operations-dialog input:focus-visible,.operations-dialog select:focus-visible,.operations-dialog textarea:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}.operations-drawer-mask{overflow:hidden}.operations-drawer{overscroll-behavior:contain}.operations-drawer input:focus-visible,.operations-drawer select:focus-visible,.operations-drawer textarea:focus-visible{outline:2px solid var(--color-primary);outline-offset:1px}@media (width<=640px){.operations-modal-mask{padding:12px}.operations-dialog{max-height:calc(100dvh - 24px);padding:18px}.operations-dialog>footer{flex-wrap:wrap;margin-top:14px;padding-top:12px;bottom:-18px}.operations-dialog>footer button{flex:120px}}.operations-scheme-actions{align-items:baseline}.operations-delete-hint{font-size:12px;color:#737d8c!important}.qa-search-table .head,.qa-search-table .row{grid-template-columns:minmax(180px,1fr) 120px 100px minmax(180px,1fr)}.qa-search-table .row{min-height:48px}.qa-search-table .row>span:not(:first-child){color:#d4d9e1;font-variant-numeric:tabular-nums}.audit-table{overflow:visible}.audit-table .head,.audit-table .row{grid-template-columns:minmax(170px,1.15fr) minmax(180px,1.25fr) 70px 150px 64px}.audit-table .row{min-height:50px;padding-top:8px;padding-bottom:8px}.audit-table details{position:relative}.audit-table summary{color:#55a8f5;cursor:pointer}.audit-table pre{z-index:2;color:#d4d9e1;white-space:pre-wrap;background:#10141b;border:1px solid #29313d;border-radius:8px;width:min(460px,70vw);max-height:260px;margin-top:8px;padding:12px;position:absolute;right:0;overflow:auto;box-shadow:0 18px 38px #0008}.audit-table .operations-status-tag{font-size:12px}@media (width<=760px){.audit-table{overflow-x:auto}.audit-table .head,.audit-table .row{min-width:700px}.audit-table details{position:static}.audit-table pre{width:540px;max-width:none;box-shadow:none;margin:10px 0 2px;position:static}}.operations-directory-heading{gap:8px;margin-bottom:10px}.operations-directory-heading h2{color:#f4f6f9;font-size:16px;font-weight:650}.operations-directory-heading span{color:#a7afbc;background:0 0;border:0;border-radius:0;padding:0;font-size:12px;font-weight:500}.operations-table.resources.independent{overflow-x:auto}.operations-table.resources.independent .head,.operations-table.resources.independent .row{grid-template-columns:minmax(180px,1.3fr) minmax(210px,1fr) 70px 90px 132px;min-width:760px}.operations-table.resources.independent .operations-row-actions{flex-wrap:nowrap;min-width:120px;display:flex!important}.operations-table.resources.independent .operations-row-actions button{white-space:nowrap;min-width:52px}.operations-scheme-directory{border-right:1px solid #29313d;min-width:0;padding-right:18px}.operations-scheme-directory>header{border-bottom:1px solid #29313d;padding-bottom:14px}.operations-scheme-directory h2,.operations-course-panel h2{color:#f4f6f9;margin:0;font-size:18px}.operations-scheme-directory>header>p:not(.operations-resource-kicker),.operations-course-panel>header p{color:#a7afbc;margin:5px 0 0;font-size:12px}.operations-type-actions{flex-wrap:wrap;gap:10px;margin-top:14px;display:flex}.operations-type-actions button,.operations-scheme-actions button{color:#55a8f5;background:0 0;border:0;height:auto;padding:0;font-size:13px}.operations-type-actions .danger,.operations-scheme-actions .danger{color:#e45b5b}.operations-scheme-list{gap:0;margin:14px 0;display:grid}.operations-scheme-list button{color:#d4d9e1;text-align:left;background:0 0;border:0;border-bottom:1px solid #222a35;border-radius:0;gap:5px;min-height:62px;padding:11px 10px;display:grid}.operations-scheme-list button:hover,.operations-scheme-list button[aria-current=true]{background:#151a22}.operations-scheme-list button[aria-current=true]{border-left:2px solid #55a8f5}.operations-scheme-list strong{color:#f4f6f9;font-size:14px}.operations-scheme-list small{color:#8793a3;font-size:12px}.operations-course-panel{min-width:0}.operations-course-panel>header{border-bottom:1px solid #29313d;justify-content:space-between;align-items:flex-start;gap:16px;padding-bottom:15px;display:flex}.operations-course-panel>.operations-delete-hint{margin:12px 0}.preset-course-table{margin-top:14px}.preset-course-table .row{min-height:48px}.operations-empty-panel{color:#8793a3;border:1px dashed #29313d;place-items:center;min-height:180px;display:grid}@media (width<=1040px){.operations-resource-layout.three-column{grid-template-columns:190px 220px minmax(0,1fr);gap:16px}}@media (width<=820px){.operations-resource-layout.three-column{grid-template-columns:1fr}.operations-scheme-directory{border-bottom:1px solid #29313d;border-right:0;padding:0}.operations-scheme-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.operations-scheme-list button{border:1px solid #29313d}.preset-course-table{overflow-x:auto}.preset-course-table .head,.preset-course-table .row{min-width:500px}}@media (width<=540px){.operations-scheme-list{grid-template-columns:1fr}.operations-course-panel>header{display:grid}}.operations-resource-layout{grid-template-columns:220px minmax(0,1fr);align-items:stretch;gap:28px}.operations-resource-types{border-right:1px solid #29313d;gap:0;padding-right:18px}.operations-resource-types button{background:0 0;border:0;border-bottom:1px solid #222a35;border-radius:0;min-height:66px;padding:12px 10px}.operations-resource-types button:hover{background:#151a22}.operations-resource-types button[aria-current=true]{background:#151a22;border-left:2px solid #55a8f5}.operations-resource-types button strong{color:#f4f6f9}.operations-resource-types small,.operations-resource-types em{color:#8793a3}.operations-resource-panel{background:0 0;border:0;border-radius:0;padding:0}.operations-resource-panel>header{border-bottom:1px solid #29313d;padding-bottom:16px}.operations-resource-kicker{font-weight:650;color:#55a8f5!important;margin:0 0 5px!important;font-size:12px!important}.operations-resource-meta{color:#a7afbc;margin:16px 0;font-size:13px}.operations-grade-tags,.operations-course-chips{display:none}.operations-scheme-grid{border-top:1px solid #29313d;grid-template-columns:1fr;gap:0;margin:8px 0 18px}.operations-scheme-card{background:0 0;border:0;border-bottom:1px solid #29313d;border-radius:0;padding:16px 0}.operations-scheme-card h3{color:#f4f6f9;align-items:baseline;gap:10px;display:flex}.operations-scheme-card small{color:#8793a3}.operations-scheme-card header button,.operations-scheme-actions button{color:#55a8f5;background:0 0;border:0;border-radius:0;height:auto;padding:0;font-size:13px}.operations-scheme-actions{gap:14px;display:flex}.operations-scheme-actions .danger{color:#e45b5b}.operations-default-text{font-size:12px;color:#55a8f5!important}.operations-course-list{flex-wrap:wrap;gap:8px 22px;margin-top:12px;display:flex}.operations-course-list span{color:#d4d9e1;gap:6px;font-size:13px;display:flex}.operations-course-list span small{color:#737d8c;margin:0;font-size:12px}.operations-secondary-action{color:#a7afbc;background:0 0;border-color:#29313d}.operations-secondary-action:hover{color:#55a8f5;border-color:#55a8f5}@media (width<=820px){.operations-resource-layout{grid-template-columns:1fr;gap:18px}.operations-resource-types{border-bottom:1px solid #29313d;border-right:0;padding:0}.operations-resource-types button{min-height:54px}.operations-course-list{grid-template-columns:1fr;display:grid}}@media (width<=640px){.qa-search-table{overflow-x:auto}.qa-search-table .head,.qa-search-table .row{min-width:620px}}.operations-toggle{color:#8793a3;min-width:82px;height:34px;font:inherit;cursor:pointer;background:#10141b;border:1px solid #29313d;border-radius:17px;justify-content:space-between;align-items:center;gap:8px;padding:0 8px 0 10px;font-size:12px;display:inline-flex}.operations-toggle i{background:#667085;border-radius:50%;width:14px;height:14px;transition:transform .16s,background .16s}.operations-toggle.is-on{color:#8de0b0;border-color:#236a4b}.operations-toggle.is-on i{background:#36c681;transform:translate(2px)}.operations-toggle:disabled{cursor:not-allowed;opacity:.5}.operations-entitlement-editor-row .operations-toggle{justify-self:end}.operations-dialog>footer{background:#151a22!important;border-top:1px solid #29313d!important}.operations-dialog>footer:before{display:none}.application-settings-panel{background:#151a22;border:1px solid #29313d;border-radius:12px;max-width:760px;display:grid}.application-settings-row{grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:14px;padding:18px 22px;display:grid}.application-settings-row+.application-settings-row{border-top:1px solid #29313d}.application-settings-index{color:#a7afbc;font-variant-numeric:tabular-nums;border:1px solid #3a4656;border-radius:50%;place-items:center;width:24px;height:24px;font-size:12px;display:grid}.application-settings-row>div{gap:5px;min-width:0;display:grid}.application-settings-row strong{color:#f4f6f9}.application-settings-row small{color:#a7afbc;font-size:12px;line-height:1.5}@media (width<=1180px){.operations-trend-bars{gap:4px;padding:0 2px}.operations-trend-bars>div{flex:1;min-width:0}.operations-trend-bars>div>span{width:16px}.operations-trend-bars small{letter-spacing:-.2px;font-size:9px}}.operations-trend-bars>div{min-width:0}.operations-trend-bars small{text-overflow:ellipsis;white-space:nowrap;text-align:center;min-width:0;max-width:100%;display:block;overflow:hidden}@media (width<=1180px){.operations-trend-bars{gap:2px}.operations-trend-bars small{letter-spacing:-.35px;font-size:8px}}.operations-trend-bars{height:194px;padding:0 8px}.operations-trend-bars:after{bottom:26px}.operations-trend-bars>div{grid-template-rows:18px minmax(0,1fr) 26px}.operations-trend-bars small{box-sizing:border-box;align-self:end;height:26px;padding-top:8px;line-height:14px;transform:none}.operations-resource-layout.three-column .operations-resource-types{grid-auto-rows:auto;align-content:start}.operations-resource-layout.three-column{grid-template-columns:260px 300px minmax(0,1fr);gap:24px}.operations-resource-layout.three-column .operations-resource-types{border-right:0;padding-right:0}.operations-resource-layout.three-column .operations-resource-types .operations-resource-type-card{box-sizing:border-box;background:#151a22;border:1px solid #29313d;border-radius:10px;height:76px;padding:8px}.operations-resource-layout.three-column .operations-resource-types .operations-resource-type-card:has(>button[aria-current=true]){background:#101722;border-color:#55a8f5}.operations-resource-layout.three-column .operations-resource-types .operations-resource-type-card>button:first-child{background:0 0;border:0;height:58px;min-height:58px;padding:8px}.operations-resource-layout.three-column .operations-resource-types .operations-resource-type-card>button:first-child[aria-current=true]{background:0 0;border:0}.operations-resource-layout.three-column .operations-scheme-directory{border-right:0;padding-right:0}.operations-resource-layout.three-column .operations-scheme-list{gap:8px;margin-top:14px}.operations-resource-layout.three-column .operations-scheme-card{box-sizing:border-box;background:#151a22;border:1px solid #29313d;border-radius:10px;min-height:76px;padding:8px}.operations-resource-layout.three-column .operations-scheme-card:has(>button[aria-current=true]){background:#101722;border-color:#55a8f5}.operations-resource-layout.three-column .operations-scheme-card>button:first-child{background:0 0;border:0;border-radius:6px;height:58px;min-height:58px;padding:8px}.operations-resource-layout.three-column .operations-scheme-card>button:first-child[aria-current=true]{background:0 0;border:0}.operations-resource-layout.three-column .operations-scheme-list button{border:0;border-radius:6px}.operations-resource-layout.three-column .operations-scheme-list button[aria-current=true]{border-left:0}@media (width<=1100px){.operations-resource-layout.three-column{grid-template-columns:230px 260px minmax(0,1fr);gap:18px}}@media (width<=820px){.operations-resource-layout.three-column{grid-template-columns:1fr;gap:18px}}.operations-resource-layout.three-column{grid-template-columns:240px 310px minmax(0,1fr);align-items:start;gap:16px}.operations-resource-layout.three-column>.operations-resource-types,.operations-resource-layout.three-column>.operations-scheme-directory,.operations-resource-layout.three-column>.operations-course-panel{box-sizing:border-box;background:#11161f;border:1px solid #29313d;border-radius:12px;min-height:420px;padding:14px}.operations-resource-layout.three-column>.operations-resource-types{align-content:start;gap:8px;padding-top:12px;display:grid}.operations-resource-layout.three-column>.operations-resource-types .operations-column-heading{border-bottom:1px solid #29313d;margin:-2px -2px 4px;padding:0 2px 10px}.operations-resource-layout.three-column>.operations-resource-types .operations-resource-type-card{border-radius:9px;height:72px;padding:7px}.operations-resource-layout.three-column>.operations-resource-types .operations-resource-type-card>button:first-child{height:56px;min-height:56px}.operations-resource-layout.three-column>.operations-scheme-directory{flex-direction:column;padding:14px;display:flex}.operations-resource-layout.three-column>.operations-scheme-directory>header{border-bottom:1px solid #29313d;gap:8px;padding:0 0 14px;display:grid}.operations-resource-layout.three-column>.operations-scheme-directory>header .operations-resource-kicker,.operations-resource-layout.three-column>.operations-course-panel .operations-resource-kicker{letter-spacing:.04em;font-weight:700;color:#55a8f5!important;margin:0!important;font-size:12px!important}.operations-resource-layout.three-column>.operations-scheme-directory>header h2{font-size:18px}.operations-resource-layout.three-column>.operations-scheme-directory .operations-type-actions{border-top:1px solid #222a35;margin-top:2px;padding-top:10px}.operations-resource-layout.three-column>.operations-scheme-directory .operations-scheme-list{gap:8px;margin:14px 0;display:grid}.operations-resource-layout.three-column>.operations-scheme-directory .operations-scheme-card{border-radius:9px;min-height:70px;padding:7px}.operations-resource-layout.three-column>.operations-scheme-directory .operations-scheme-card>button:first-child{height:54px;min-height:54px}.operations-resource-layout.three-column>.operations-course-panel{padding:16px;overflow:hidden}.operations-resource-layout.three-column>.operations-course-panel>header{border-bottom:1px solid #29313d;padding:0 0 14px}.operations-resource-layout.three-column>.operations-course-panel .preset-course-table{margin-top:14px;overflow:auto}.operations-resource-layout.three-column>.operations-course-panel .preset-course-table .head,.operations-resource-layout.three-column>.operations-course-panel .preset-course-table .row{min-width:420px}@media (width<=1100px){.operations-resource-layout.three-column{grid-template-columns:220px 270px minmax(0,1fr)}}@media (width<=820px){.operations-resource-layout.three-column{grid-template-columns:1fr}.operations-resource-layout.three-column>.operations-resource-types,.operations-resource-layout.three-column>.operations-scheme-directory,.operations-resource-layout.three-column>.operations-course-panel{min-height:0}.operations-resource-layout.three-column>.operations-resource-types{display:grid}.operations-resource-layout.three-column>.operations-scheme-directory{display:block}}@media (width<=1100px){.operations-resource-layout.three-column{gap:18px;grid-template-columns:1fr!important}.operations-resource-layout.three-column>.operations-resource-types{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto;align-content:start;min-height:0}.operations-resource-layout.three-column>.operations-scheme-directory,.operations-resource-layout.three-column>.operations-course-panel{min-height:0}.operations-resource-layout.three-column .operations-resource-type-card{height:auto;min-height:92px}.operations-resource-layout.three-column .operations-scheme-card{height:auto;min-height:76px}.operations-resource-layout.three-column .operations-scheme-card>button:first-child{height:auto;min-height:58px}}@media (width<=820px){.operations-resource-layout.three-column>.operations-resource-types{grid-template-columns:1fr}}@media (width<=1200px){.operations-resource-layout.three-column{gap:18px;grid-template-columns:1fr!important}.operations-resource-layout.three-column>.operations-resource-types{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto;min-height:0}.operations-resource-layout.three-column>.operations-scheme-directory,.operations-resource-layout.three-column>.operations-course-panel{min-height:0}.operations-resource-layout.three-column .operations-resource-type-card{height:auto;min-height:92px}.operations-resource-layout.three-column .operations-scheme-card{height:auto;min-height:76px}.operations-resource-layout.three-column .operations-scheme-card>button:first-child{height:auto;min-height:58px}}@media (width<=600px){.operations-resource-layout.three-column>.operations-resource-types{grid-template-columns:1fr}}.operations-resource-layout.three-column{grid-template-columns:minmax(220px,1fr) minmax(220px,1fr) minmax(440px,2fr)}.operations-resource-layout.three-column>.operations-scheme-directory .operations-type-actions{display:none}.operations-resource-layout.three-column .operations-card-actions{flex-wrap:wrap;justify-content:flex-end}.operations-resource-layout.three-column .operations-card-actions button,.operations-resource-layout.three-column .operations-column-add,.operations-resource-layout.three-column .operations-type-actions button,.operations-resource-layout.three-column .operations-scheme-actions button{min-width:54px}@media (width<=1100px){.operations-resource-layout.three-column{grid-template-columns:minmax(190px,1fr) minmax(210px,1fr) minmax(360px,2fr)}}.operations-resource-layout.three-column>.operations-resource-types .operations-column-heading,.operations-resource-layout.three-column>.operations-scheme-directory>header,.operations-resource-layout.three-column>.operations-course-panel>header{box-sizing:border-box;align-content:start;min-height:124px}.operations-resource-layout.three-column>.operations-resource-types .operations-column-heading{grid-template-rows:auto auto;gap:10px;display:grid}.operations-resource-layout.three-column>.operations-scheme-directory>header{grid-template-rows:auto auto auto 1fr;gap:8px;display:grid}.operations-resource-layout.three-column>.operations-course-panel>header{grid-template-columns:minmax(0,1fr) auto;gap:10px;display:grid}.operations-resource-layout.three-column .operations-column-add,.operations-resource-layout.three-column .operations-card-actions button,.operations-resource-layout.three-column .operations-card-delete,.operations-resource-layout.three-column .operations-type-actions button,.operations-resource-layout.three-column .operations-scheme-actions button{box-sizing:border-box;color:#a7afbc;height:30px;min-height:30px;font:inherit;white-space:nowrap;background:#10141b;border:1px solid #29313d;border-radius:7px;justify-content:center;align-items:center;padding:0 10px;font-size:12px;line-height:1;display:inline-flex}.operations-resource-layout.three-column .operations-column-add{color:#55a8f5;background:#102039;border-color:#2b78b8;justify-self:start}.operations-resource-layout.three-column .operations-type-actions,.operations-resource-layout.three-column .operations-scheme-actions{border-top:1px solid #222a35;flex-wrap:wrap;align-items:center;gap:6px;margin-top:0;padding-top:10px;display:flex}.operations-resource-layout.three-column .operations-type-actions .danger,.operations-resource-layout.three-column .operations-scheme-actions .danger,.operations-resource-layout.three-column .operations-card-delete{color:#e45b5b}.operations-resource-layout.three-column .operations-card-actions{align-items:center;gap:5px}.operations-resource-layout.three-column .operations-resource-type-card>button:first-child,.operations-resource-layout.three-column .operations-scheme-card>button:first-child{line-height:1.35}.operations-resource-layout.three-column>.operations-course-panel>header>div{min-width:0}.resource-dialog label.checkbox,.resource-dialog label.checkbox input,.operations-dialog label.checkbox,.operations-dialog label.checkbox input{width:auto;min-height:0}.resource-dialog label.checkbox,.operations-dialog label.checkbox{justify-content:flex-start;align-items:center;gap:8px;margin-top:0;font-weight:600;line-height:1.4;display:flex}.resource-dialog label.checkbox input,.operations-dialog label.checkbox input{accent-color:#55a8f5;flex:0 0 16px;width:16px;height:16px;margin:0}.operations-dialog input[type=checkbox],.operations-drawer input[type=checkbox],.operations-preset-editor input[type=checkbox],.feedback-user-groups input[type=checkbox]{accent-color:#55a8f5;width:16px;min-width:16px;height:16px;min-height:16px;margin:0;padding:0}.operations-preset-editor fieldset label,.feedback-groups-toolbar label,.feedback-user-group header label{align-items:center;gap:8px;display:flex}.operations-drawer label:has(input[type=checkbox]){align-items:center;gap:8px;display:flex}.operations-drawer label:has(input[type=checkbox]){grid-template-columns:auto 1fr}.ai-usage-table .head,.ai-usage-table .row{grid-template-columns:minmax(220px,1.45fr) 100px 130px minmax(170px,1.15fr) minmax(220px,1.5fr);min-width:916px}.ai-usage-table .row>span:last-child{min-width:0}.ai-usage-table .row>span:last-child strong,.ai-usage-table .row>span:last-child small{white-space:nowrap}.ai-usage-trend{background:#151a22;border:1px solid #29313d;border-radius:10px;margin:0 0 16px;padding:14px 16px}.ai-usage-trend header{justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.ai-usage-trend header div{gap:3px;display:grid}.ai-usage-trend header small{color:#8793a3;font-size:12px}.ai-usage-trend header>span{color:#a7afbc;align-items:center;gap:8px;font-size:12px;display:flex}.ai-usage-trend i{background:#55a8f5;width:9px;height:2px}.ai-usage-trend i.query{background:#36c681}.ai-usage-trend svg{width:100%;height:154px;margin-top:10px;display:block;overflow:visible}.ai-usage-trend line{stroke:#29313d;stroke-width:.45px}.ai-usage-trend polyline{fill:none;stroke-width:1.6px}.ai-usage-trend polyline.intake{stroke:#55a8f5}.ai-usage-trend polyline.query{stroke:#36c681}.ai-usage-axis{color:#8793a3;justify-content:space-between;gap:8px;font-size:11px;display:flex;overflow:hidden}.ai-usage-axis span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ai-usage-table .head,.ai-usage-table .row{grid-template-columns:minmax(240px,1.45fr) 110px 150px minmax(260px,1.35fr) minmax(250px,1.35fr);gap:12px;padding:10px 14px}.ai-usage-table small{font-size:12px}.operations-class-format-editor{gap:7px;display:grid}.operations-class-format-editor>span{font-size:13px;font-weight:600}.operations-class-format-editor>div{grid-template-columns:minmax(0,1fr) auto;gap:8px;display:grid}.operations-class-format-editor button{color:#a7afbc;min-height:36px;font:inherit;background:0 0;border:1px solid #29313d;border-radius:8px;padding:0 10px}.operations-class-format-editor button:disabled{opacity:.45}.operations-class-format-editor .operations-inline-add{color:#55a8f5;border-color:#2d5d89;justify-self:start}.operations-class-format-editor small{color:#8793a3;font-size:12px}.operations-class-naming-panel{border-top:1px solid #29313d;gap:10px;margin-top:18px;padding-top:14px;display:grid}.operations-class-naming-panel>header,.operations-class-naming-panel>footer{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.operations-class-naming-panel>header>div{min-width:0}.operations-class-naming-panel>header p:not(.operations-resource-kicker){color:#8793a3;margin:4px 0 0;font-size:12px;line-height:1.45}.operations-class-naming-panel>header button{flex:none}.operations-class-naming-list{gap:7px;display:grid}.operations-class-naming-list label{color:#a7afbc;grid-template-columns:52px minmax(0,1fr) auto;align-items:center;gap:7px;font-size:12px;display:grid}.operations-class-naming-list input{color:#f4f6f9;min-width:0;min-height:34px;font:inherit;background:#10141b;border:1px solid #29313d;border-radius:7px;padding:0 9px}.operations-class-naming-list button{color:#e45b5b;min-height:34px;font:inherit;background:0 0;border:1px solid #29313d;border-radius:7px;padding:0 9px;font-size:12px}.operations-class-naming-list button:disabled{opacity:.45}.operations-class-naming-panel>footer{align-items:center}.operations-class-naming-panel>footer small{color:#8793a3;font-size:11px;line-height:1.4}.operations-class-naming-panel>footer .operations-primary-action{min-height:34px;padding:0 10px;font-size:12px}.operations-overview-header,.operations-overview-metrics,.operations-overview-summary{grid-column:1/-1}.operations-ai-summary{background:#151a22;border:1px solid #29313d;border-radius:10px;min-height:260px;padding:20px}.operations-ai-summary header{justify-content:space-between;align-items:center;display:flex}.operations-ai-summary header span{color:#a7afbc;font-size:12px}.operations-ai-summary>div{gap:5px;margin-top:30px;display:grid}.operations-ai-summary>div strong{color:#55a8f5;font-size:32px;line-height:1}.operations-ai-summary>div small{color:#a7afbc;font-size:12px}.operations-ai-summary>p{color:#a7afbc;gap:12px;margin:22px 0 0;font-size:12px;display:flex}@media (width<=820px){.operations-overview{grid-template-columns:1fr}.operations-overview-header,.operations-overview-metrics,.operations-overview-summary,.operations-overview-trend,.operations-user-types,.operations-ai-summary,.operations-overview-secondary .operations-overview-todos{grid-column:1}.operations-overview-main,.operations-overview-secondary{display:contents}}.operations-overview-main{grid-template-columns:minmax(0,3fr)}.operations-overview-secondary{grid-template-columns:minmax(0,2fr) minmax(250px,1fr);gap:18px;display:grid}.operations-user-types{background:#151a22;border:1px solid #29313d;border-radius:10px;min-height:260px;padding:20px}.operations-user-types>header{justify-content:space-between;align-items:center;display:flex}.operations-user-types header span{color:#a7afbc;font-size:12px}.operations-user-types>div{gap:14px;margin-top:18px;display:grid}.operations-user-types>div>div{grid-template-columns:112px minmax(0,1fr) 42px;align-items:center;gap:10px;display:grid}.operations-user-types span{color:#d4d9e1;font-size:13px}.operations-user-types i{background:#10141b;border-radius:1px;height:8px;display:block;overflow:hidden}.operations-user-types b{background:#55a8f5;min-width:2px;height:100%;display:block}.operations-user-types strong{color:#f4f6f9;text-align:right;font-size:13px}.operations-overview-secondary .operations-overview-todos{min-height:260px}@media (width<=1180px){.operations-overview-secondary{grid-template-columns:1fr}}@media (width<=640px){.operations-user-types>div>div{grid-template-columns:90px minmax(0,1fr) 34px;gap:7px}}.operations-ai-summary{background:#151a22;border:1px solid #29313d;border-radius:10px;min-width:0;min-height:260px;padding:0}.operations-ai-summary .ai-usage-trend.compact{background:0 0;border:0;grid-template-rows:auto 1fr auto;align-content:stretch;height:100%;margin:0;display:grid}.operations-ai-summary .ai-usage-trend.compact header small{display:none}.operations-ai-summary .ai-usage-trend.compact .ai-usage-chart{align-items:flex-end;display:flex}.operations-ai-summary .ai-usage-trend.compact svg{height:130px}.operations-ai-summary .ai-usage-trend.compact .ai-usage-axis{margin-top:10px;padding-bottom:4px}.operations-overview{grid-template-columns:repeat(6,minmax(0,1fr))}.operations-overview-main,.operations-overview-secondary{display:contents}.operations-overview-trend,.operations-user-types{grid-column:span 2}.operations-ai-summary,.operations-overview-secondary .operations-overview-todos{grid-column:span 1}@media (width<=820px){.operations-overview{grid-template-columns:1fr}.operations-overview-trend,.operations-user-types,.operations-ai-summary,.operations-overview-secondary .operations-overview-todos{grid-column:1}.operations-overview-main,.operations-overview-secondary{display:contents}}html:has(.operations-shell){background:#0b0d12}body:has(.operations-shell){background:#0b0d12}#root:has(.operations-shell){background:#0b0d12}.operations-shell{overscroll-behavior-y:none}.operations-trend-bars{box-sizing:border-box;border-bottom:0;height:180px;padding-bottom:20px;position:relative}.operations-overview-metrics article>span em{color:#8793a3;white-space:nowrap;margin-left:8px;font-size:11px;font-style:normal;font-weight:500}.operations-filters .operations-export-action,.operations-page-header .operations-export-action{border-radius:7px;align-items:center;gap:7px;min-height:36px;font-size:12px;display:inline-flex;color:#6ea9e5!important;background:#111820!important;border:1px solid #2d5d89!important;padding:0 11px!important}.operations-filters .operations-export-action svg,.operations-page-header .operations-export-action svg{flex:none;width:15px;height:15px}.operations-filters .operations-export-action:hover,.operations-page-header .operations-export-action:hover{color:#9bc8f3!important;background:#162536!important;border-color:#4b86ba!important}.operations-filters .operations-export-action:disabled,.operations-page-header .operations-export-action:disabled{opacity:.55}.operations-collapsible-sections{gap:10px;margin-top:20px;display:grid}.operations-collapsible-sections>details{background:#10141b;border:1px solid #29313d;border-radius:9px}.operations-collapsible-sections>details>summary{color:#d4d9e1;cursor:pointer;padding:12px 14px;font-weight:650;list-style:none}.operations-collapsible-sections>details>summary::-webkit-details-marker{display:none}.operations-collapsible-sections>details>summary:before{content:"▸";color:#55a8f5;margin-right:8px;transition:transform .15s;display:inline-block}.operations-collapsible-sections>details[open]>summary:before{transform:rotate(90deg)}.operations-collapsible-sections>details[open]>summary{border-bottom:1px solid #29313d}.operations-collapsible-sections>details>details,.operations-collapsible-sections>details>p{margin:10px 12px}.operations-collapsible-sections>details>details:last-child{margin-bottom:12px}.operations-notification-layout{gap:16px;grid-template-columns:1fr!important}.operations-notification-composer{max-width:none}.operations-notification-history{min-width:0}.operations-notification-history>h2{color:#f4f6f9;margin:0 0 10px;font-size:17px}.notifications-filters{grid-template-columns:minmax(220px,1fr) 118px 118px 142px 142px;align-items:center;gap:8px;margin-bottom:10px;padding:10px;display:grid}.notifications-filters>*{width:100%;min-width:0}.notifications-list{gap:8px}.notifications-list article{border-radius:9px;padding:13px 16px}.notifications-list article header{grid-template-columns:24px minmax(0,1fr) auto;align-items:center;gap:9px;display:grid}.notifications-list article header strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.notification-index{color:#8793a3;font-variant-numeric:tabular-nums;text-align:center;font-size:12px}.notifications-list article p{-webkit-line-clamp:2;-webkit-box-orient:vertical;max-height:42px;margin:8px 0 5px;display:-webkit-box;overflow:hidden}.notifications-list article footer{margin-top:8px}.notifications-list article footer button{min-height:30px;padding:0 9px;font-size:12px}.notifications-list+.operations-pagination{margin-top:10px}@media (width<=900px){.notifications-filters{grid-template-columns:minmax(180px,1fr) 110px 110px}.notifications-filters input[type=date]{min-width:0}.notifications-filters input[type=date]:nth-of-type(2){grid-column:2}.notifications-filters input[type=date]:nth-of-type(3){grid-column:3}}@media (width<=640px){.notifications-filters{grid-template-columns:1fr 1fr}.notifications-filters>input:first-child{grid-column:1/-1}.notifications-filters input[type=date]:nth-of-type(2),.notifications-filters input[type=date]:nth-of-type(3){grid-column:auto}}.operations-notification-composer{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 16px;display:grid}.operations-notification-composer>h2,.operations-notification-composer>label:nth-of-type(n+3),.operations-notification-composer>fieldset,.operations-notification-composer>footer{grid-column:1/-1}.operations-notification-composer>h2{margin:0}.operations-notification-composer>label:first-of-type,.operations-notification-composer>label:nth-of-type(2){align-self:start}.operations-notification-composer>label:nth-of-type(2) textarea{min-height:132px}.operations-notification-composer fieldset{border:0;flex-wrap:wrap;align-items:center;gap:14px;margin:0;padding:0;display:flex}.operations-notification-composer fieldset legend{color:#f4f6f9;margin:0 12px 0 0;padding:0;font-size:14px;font-weight:650}.operations-notification-composer fieldset label{color:#d4d9e1;align-items:center;gap:6px;margin:0;font-size:13px;display:flex}.operations-notification-composer fieldset input{accent-color:#55a8f5}.operations-notification-composer>footer{margin-top:2px}@media (width<=700px){.operations-notification-composer{grid-template-columns:1fr}.operations-notification-composer>label:first-of-type,.operations-notification-composer>label:nth-of-type(2){grid-column:1/-1}}:is(.operations-filters:has(input[aria-label=最近缴费开始]),.operations-filters:has(input[aria-label=创建开始])){align-items:end;row-gap:8px}.operations-filter-field{color:#a7afbc;white-space:nowrap;gap:5px;min-width:146px;font-size:11px;font-weight:650;line-height:1.2;display:grid}.operations-filter-field input,.operations-filter-field select{width:100%}.operations-filter-field input[type=date]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;min-width:146px}.operations-filter-field input[type=number]{min-width:130px}.operations-filters>button{align-self:end}.memberships-filters .operations-filter-field:nth-of-type(4),.orders-filters .operations-filter-field:nth-of-type(4){margin-left:8px}.operations-user-registration-trend header>span,.ai-usage-trend header>span{flex-wrap:wrap;justify-content:flex-end;line-height:1.45}.operations-user-registration-trend header>span{font-size:9px}.operations-ai-summary .ai-usage-trend.compact header>span{gap:5px;font-size:9px}.ai-usage-point-label text,.operations-user-registration-point-label text{paint-order:stroke;stroke:#151a22;stroke-width:1.5px;font-size:7px;font-weight:700}.ai-usage-point-label text.intake,.operations-user-registration-point-label text.free{fill:#55a8f5}.ai-usage-point-label text.query,.operations-user-registration-point-label text.standard{fill:#36c681}.operations-user-registration-point-label text.institution{fill:#e3a42d}.operations-user-registration-trend{grid-template-rows:auto minmax(0,1fr) 20px;height:100%;display:grid}.operations-user-registration-trend svg{align-self:end}.operations-user-registration-trend>div{align-self:end;height:20px;margin-top:8px;padding:0;font-size:11px;line-height:20px}.operations-ai-summary .ai-usage-trend.compact{grid-template-rows:auto minmax(0,1fr) 20px}.operations-ai-summary .ai-usage-trend.compact .ai-usage-axis{align-self:end;height:20px;margin-top:8px;padding:0;font-size:11px;line-height:20px}.operations-user-types{grid-template-rows:auto auto 1fr;min-height:260px;display:grid}.operations-user-type-bars{gap:10px;margin-top:14px;display:grid}.operations-user-registration-trend{border-top:1px solid #29313d;margin-top:16px;padding-top:12px}.operations-user-registration-trend header{justify-content:space-between;align-items:center;gap:8px;display:flex}.operations-user-registration-trend header strong{font-size:12px}.operations-user-registration-trend header>span{color:#8793a3;align-items:center;gap:5px;font-size:10px;display:flex}.operations-user-registration-trend header i{background:#55a8f5;width:8px;height:2px;display:inline-block}.operations-user-registration-trend header i.standard{background:#36c681}.operations-user-registration-trend header i.institution{background:#e3a42d}.operations-user-registration-trend svg{width:100%;height:58px;margin-top:4px;display:block}.operations-user-registration-trend line{stroke:#29313d;stroke-width:.5px}.operations-user-registration-trend polyline{fill:none;stroke-width:1.4px}.operations-user-registration-trend polyline.free{stroke:#55a8f5}.operations-user-registration-trend polyline.standard{stroke:#36c681}.operations-user-registration-trend polyline.institution{stroke:#e3a42d}.operations-user-registration-trend>div{color:#737d8c;justify-content:space-between;font-size:9px;display:flex}.ai-usage-axis,.operations-user-registration-trend>div{display:block;position:relative;overflow:visible}.ai-usage-axis span,.operations-user-registration-trend>div small{white-space:nowrap;position:absolute;transform:translate(-50%)}.ai-usage-axis span{max-width:unset}.operations-user-registration-trend>div small{color:#737d8c}.ai-usage-chart,.operations-user-registration-chart{position:relative}.ai-usage-chart svg,.operations-user-registration-chart svg{margin-top:0}.ai-usage-chart text,.operations-user-registration-chart text{paint-order:stroke;stroke:#151a22;stroke-width:1.5px;font-weight:700}.ai-usage-chart text.intake,.operations-user-registration-chart text.free{fill:#55a8f5}.ai-usage-chart text.query,.operations-user-registration-chart text.standard{fill:#36c681}.operations-user-registration-chart text.institution{fill:#e3a42d}.operations-user-registration-trend>div:has(>svg){align-self:end;height:auto;margin-top:4px;padding:0;line-height:normal}.operations-user-registration-point-label text{font-size:12px}.operations-trend-bars{box-sizing:border-box;border-bottom:0;height:194px;padding:0 8px;display:flex;position:relative}.operations-trend-bars:after{content:"";pointer-events:none;border-bottom:1px solid #29313d;position:absolute;bottom:30px;left:8px;right:8px}.operations-trend-bars>div{grid-template-rows:18px minmax(0,1fr) 26px;min-width:0;height:100%}.operations-trend-bars small{align-self:end;height:26px;padding-top:8px;line-height:14px;transform:none}.orders-filters>input{order:1}.orders-filters>.operations-filter-field:first-of-type{order:4}.orders-filters>.operations-filter-field:nth-of-type(2){order:2}.orders-filters>.operations-filter-field:nth-of-type(3){order:3}.orders-filters>.operations-filter-field:nth-of-type(4),.orders-filters>.operations-filter-field:nth-of-type(5){display:none}.orders-filters>.operations-filter-field:nth-of-type(6){order:5}.orders-filters>.operations-filter-field:nth-of-type(7){order:6}.orders-filters>.operations-filter-field:nth-of-type(8){order:7}.orders-filters>.operations-filter-field:nth-of-type(9){order:8}.orders-filters>.operations-filter-field:nth-of-type(10){order:9}.orders-filters>button{order:10}.operations-resource-layout.three-column>.operations-resource-types .operations-resource-type-card{grid-template-columns:1fr;align-items:start;gap:8px;min-height:108px;padding:10px;display:grid;height:auto!important}.operations-resource-layout.three-column>.operations-resource-types .operations-resource-type-card>button:first-child{text-align:left;align-content:start;justify-items:start;width:100%;min-height:52px;padding:2px 0;display:grid;overflow:visible;height:auto!important}.operations-resource-layout.three-column>.operations-resource-types .operations-resource-type-card>button:first-child span{gap:4px;width:100%;min-width:0;display:grid}.operations-resource-layout.three-column>.operations-resource-types .operations-resource-type-card>button:first-child strong,.operations-resource-layout.three-column>.operations-resource-types .operations-resource-type-card>button:first-child small{white-space:normal;overflow-wrap:anywhere;max-width:100%;display:block;overflow:visible}.operations-resource-layout.three-column>.operations-resource-types .operations-resource-type-card>.operations-card-actions{grid-template-columns:repeat(5,minmax(0,1fr));align-content:start;gap:5px;width:100%;min-width:0;display:grid}.operations-resource-layout.three-column>.operations-resource-types .operations-resource-type-card>.operations-card-actions button{width:100%;min-width:0;padding:0 3px;font-size:11px}.operations-resource-layout.three-column>.operations-resource-types .operations-resource-type-card>.operations-card-actions button:nth-child(3){order:1}.operations-resource-layout.three-column>.operations-resource-types .operations-resource-type-card>.operations-card-actions button:nth-child(4){order:2}.operations-resource-layout.three-column>.operations-resource-types .operations-resource-type-card>.operations-card-actions button:nth-child(5){order:3}.operations-resource-layout.three-column>.operations-resource-types .operations-resource-type-card>.operations-card-actions button:first-child{order:4}.operations-resource-layout.three-column>.operations-resource-types .operations-resource-type-card>.operations-card-actions button:nth-child(2){order:5}.operations-resource-layout.three-column>.operations-scheme-directory .operations-scheme-card>.operations-card-actions{flex:none;align-items:center;gap:5px;width:auto;min-width:max-content;display:flex}.operations-resource-layout.three-column>.operations-scheme-directory .operations-scheme-card>button:first-child{flex:1;min-width:0}.operations-resource-layout.three-column>.operations-scheme-directory .operations-scheme-card>button:first-child strong,.operations-resource-layout.three-column>.operations-scheme-directory .operations-scheme-card>button:first-child small{white-space:normal;overflow-wrap:break-word}@media (width<=1200px){.operations-resource-layout.three-column>.operations-resource-types .operations-column-heading{grid-column:1/-1;grid-template-rows:auto;grid-template-columns:minmax(0,1fr) auto;align-content:center;align-items:center;gap:8px;min-height:42px;display:grid}.operations-resource-layout.three-column>.operations-resource-types .operations-column-heading .operations-column-add{justify-self:end}}.operations-modal-mask .operations-dialog .preset-course-editor{background:#10141b;border-color:#29313d}.operations-modal-mask .operations-dialog .preset-course-editor>header{color:#f4f6f9;background:#1a202a}.operations-modal-mask .operations-dialog .preset-course-editor>header small{color:#a7afbc}.operations-modal-mask .operations-dialog .preset-course-editor .operations-table{background:#10141b}.operations-modal-mask .operations-dialog .preset-course-editor .operations-table .head{color:#a7afbc;background:#1a202a;border-color:#29313d}.operations-modal-mask .operations-dialog .preset-course-editor .operations-table .row{background:#10141b;border-color:#222a35}.operations-modal-mask .operations-dialog .preset-course-editor .operations-table .row:hover{background:#18202a}.operations-modal-mask .operations-dialog .preset-course-editor header button{color:#55a8f5;background:#10141b;border-color:#2b78b8}.operations-modal-mask .operations-dialog .operations-scheme-card{background:#151a22;border-color:#29313d}.operations-modal-mask .operations-dialog .operations-scheme-card header button{color:#55a8f5;background:#10141b;border-color:#2b78b8}.operations-resource-layout.three-column>.operations-resource-types .operations-column-heading .operations-column-add{box-sizing:border-box;align-self:start;height:30px;min-height:30px}.operations-resource-layout.three-column .operations-column-add,.operations-class-naming-panel .operations-column-add,.preset-course-editor .operations-column-add{box-sizing:border-box;width:auto;min-width:54px;height:30px;min-height:30px;font:inherit;white-space:nowrap;cursor:pointer;justify-content:center;align-self:start;align-items:center;padding:0 10px;font-size:12px;line-height:1;transition:border-color .16s,background .16s,color .16s,box-shadow .16s;display:inline-flex;color:#55a8f5!important;background:#102039!important;border:1px solid #2b78b8!important;border-radius:7px!important}.operations-resource-layout.three-column .operations-column-add:hover,.operations-class-naming-panel .operations-column-add:hover,.preset-course-editor .operations-column-add:hover{color:#8bc4ff!important;background:#142a48!important;border-color:#55a8f5!important}.operations-resource-layout.three-column .operations-column-add:focus-visible,.operations-class-naming-panel .operations-column-add:focus-visible,.preset-course-editor .operations-column-add:focus-visible{border-color:#8bc4ff;outline:0;box-shadow:0 0 0 3px #55a8f547}.operations-resource-layout.three-column .operations-column-add:disabled,.operations-class-naming-panel .operations-column-add:disabled,.preset-course-editor .operations-column-add:disabled{cursor:not-allowed;opacity:.48}.operations-resource-layout.three-column>.operations-resource-types .operations-column-heading .operations-column-add{border:1px solid #2b78b8;border-radius:7px}.preset-course-table .head,.preset-course-table .row{grid-template-columns:56px minmax(140px,1fr) 110px minmax(130px,1fr)}.preset-course-table .preset-course-index{color:#8793a3;font-variant-numeric:tabular-nums}.operations-filters input[type=date],.operations-drawer input[type=date],.operations-dialog input[type=date]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark}.operations-drawer input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;filter:invert()brightness(1.8)!important;opacity:1!important}.operations-dialog input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;filter:invert()brightness(1.8)!important;opacity:1!important}.operations-plan-tag{white-space:nowrap;font-size:13px;font-weight:650;line-height:1.4}.operations-plan-tag.plan-free{color:#a7afbc}.operations-plan-tag.plan-standard{color:#55a8f5}.operations-plan-tag.plan-institution{color:#c084fc}.invoice-timing-check{border-radius:8px;margin:14px 0 0;padding:10px 12px;font-size:13px;line-height:1.45}.invoice-timing-check.safe{color:#a3ebba;background:#11271a}.invoice-timing-check.warning{color:#ffd98a;background:#2a2110}.invoice-timing-check.unknown{color:#a7afbc;background:#10141b}.operations-user-registration-trend header .operations-trend-controls,.operations-ai-summary .ai-usage-trend.compact header .operations-trend-controls{background:#10141b;border:1px solid #29313d;border-radius:6px;flex:none;gap:2px;padding:2px;display:flex}.operations-user-registration-trend header .operations-trend-controls button,.operations-ai-summary .ai-usage-trend.compact header .operations-trend-controls button{color:#8793a3;min-height:24px;font:inherit;background:0 0;border:0;border-radius:4px;padding:0 5px;font-size:10px;line-height:1}.operations-user-registration-trend header .operations-trend-controls button.active,.operations-ai-summary .ai-usage-trend.compact header .operations-trend-controls button.active{color:#fff;background:#004ea2}.operations-user-registration-trend header{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:5px;display:grid}.operations-user-registration-trend header>span{grid-column:1/-1;justify-content:flex-start}.operations-ai-summary .ai-usage-trend.compact header{gap:5px;display:grid}.operations-overview-trend .operations-trend-controls,.operations-user-registration-trend header .operations-trend-controls,.operations-ai-summary .ai-usage-trend.compact header .operations-trend-controls{background:0 0;border:0;border-radius:0;gap:10px;padding:0}.operations-overview-trend .operations-trend-controls button,.operations-user-registration-trend header .operations-trend-controls button,.operations-ai-summary .ai-usage-trend.compact header .operations-trend-controls button{color:#8793a3;min-width:0;height:auto;min-height:0;box-shadow:none;background:0 0;border:0;border-radius:0;padding:0;font-size:11px}.operations-overview-trend .operations-trend-controls button.active,.operations-user-registration-trend header .operations-trend-controls button.active,.operations-ai-summary .ai-usage-trend.compact header .operations-trend-controls button.active{color:#f4f6f9;box-shadow:none;background:0 0;font-weight:650}.operations-ai-summary .ai-usage-trend.compact header{grid-template-columns:minmax(0,1fr) auto;align-items:center}.operations-ai-summary .ai-usage-trend.compact header>div:first-child{grid-area:1/1}.operations-ai-summary .ai-usage-trend.compact header .operations-trend-controls{grid-area:1/2}.operations-ai-summary .ai-usage-trend.compact header>span{grid-area:2/1/auto/-1;justify-content:flex-start}.operations-overview-trend>header>div:first-child,.operations-user-registration-trend header>strong,.operations-ai-summary .ai-usage-trend.compact header>div:first-child{justify-self:start}.operations-drawer.wide .invoice-file-upload label{grid-template-columns:112px minmax(0,1fr) auto;gap:6px}.operations-drawer.wide .invoice-file-choice b{white-space:nowrap;justify-self:end;width:72px;height:30px;min-height:30px;padding:0 8px;font-size:11px}.operations-drawer.wide .invoice-file-upload input{min-height:30px;padding:4px 7px}.operations-drawer.wide .invoice-url-choice input{min-width:0}.operations-drawer.wide .invoice-url-choice button{height:30px;min-height:30px;padding:0 8px;font-size:11px}.operations-drawer.wide{box-sizing:border-box;flex-direction:column;width:min(620px,100vw);max-height:100dvh;padding:18px;display:flex;overflow-y:auto}.operations-drawer.wide>header{order:1;gap:10px}.operations-drawer.wide>header p{margin-top:3px;font-size:12px}.operations-drawer.wide>header>button{min-width:34px;height:34px;font-size:20px}.operations-drawer.wide .invoice-detail-summary{order:2;margin:12px 0}.operations-drawer.wide .invoice-detail-summary>div{padding:8px 10px}.operations-drawer.wide .operations-detail-list{border-top:1px solid #29313d;border-bottom:1px solid #29313d;order:3;grid-template-columns:repeat(2,minmax(0,1fr));gap:0 18px;margin-top:10px;padding:8px 0}.operations-drawer.wide .operations-detail-list p{gap:10px;min-width:0;min-height:30px;font-size:12px}.operations-drawer.wide .operations-detail-list p strong{color:#a7afbc;flex:none;font-size:12px}.operations-drawer.wide .operations-detail-list p span{overflow-wrap:anywhere;text-align:right;min-width:0}.operations-drawer.wide .invoice-event-list{order:8;margin-top:12px}.operations-drawer.wide .invoice-event-list h3{margin-bottom:4px;font-size:14px}.operations-drawer.wide .operations-history-entry{gap:2px;padding:6px 0;font-size:12px}.operations-drawer.wide>label{order:4;grid-template-columns:110px minmax(0,1fr);align-items:start;gap:8px;margin-top:10px}.operations-drawer.wide>label>span{white-space:nowrap;padding-top:8px}.operations-drawer.wide>label textarea{resize:none;height:36px;min-height:36px;overflow-y:auto}.operations-drawer.wide .invoice-file-upload{order:5;margin-top:8px}.operations-drawer.wide>footer{order:7;margin:12px -18px -18px;padding:10px 18px;bottom:-18px}.operations-drawer.wide>footer button{min-height:36px}.operations-drawer.wide .operations-error{order:6}.operations-drawer.wide .invoice-file-choice>span{white-space:nowrap;min-width:0}.operations-drawer.wide .invoice-file-choice b{white-space:nowrap;justify-self:end;width:88px;min-width:88px;height:30px;min-height:30px;padding:0 6px;font-size:11px}@media (width<=640px){.operations-drawer.wide .operations-detail-list{grid-template-columns:1fr}.operations-drawer.wide{padding:14px}.operations-drawer.wide>label{grid-template-columns:96px minmax(0,1fr)}.operations-drawer.wide>footer{margin:10px -14px -14px;padding:9px 14px;bottom:-14px}}.operations-drawer.wide .invoice-file-choice b{background:#10141b;border:1px solid #356b9e;color:#7db7ef!important}.operations-drawer.wide .invoice-file-choice b:hover{background:#15263a}.operations-drawer.wide .invoice-file-choice{grid-template-columns:minmax(0,1fr) auto auto!important}.operations-drawer.wide .invoice-file-status{color:#7db7ef;text-overflow:ellipsis;white-space:nowrap;background:0 0;border:0;min-width:0;max-width:150px;padding:0 4px;font-size:11px;overflow:hidden}.operations-drawer.wide .invoice-file-status:hover{color:#a9d2ff;text-decoration:underline}.operations-drawer.wide .invoice-file-choice{position:relative}.operations-drawer.wide .invoice-file-choice input{z-index:3;width:88px;height:30px;inset:0 0 auto auto}.operations-drawer.wide .invoice-file-choice b{z-index:2;position:relative}.operations-drawer.wide .invoice-file-status{z-index:4;position:relative}.operations-overview-trend{grid-template-rows:auto minmax(0,1fr);display:grid}.operations-overview-trend>footer{display:none}.operations-overview-trend .operations-trend-bars{height:auto;min-height:0}.operations-overview-trend .operations-trend-bars small{transform:translateY(14px)}.operations-mobile-menu-button,.operations-mobile-nav-backdrop{display:none}@media (width<=640px){.operations-shell{min-height:100dvh;display:block}.operations-shell>aside.operations-sidebar{z-index:100;width:min(86vw,320px);height:100dvh;transition:transform .18s;display:flex;position:fixed;inset:0 auto 0 0;transform:translate(-105%);box-shadow:18px 0 42px #0008}.operations-shell.is-mobile-nav-open>aside.operations-sidebar{transform:translate(0)}.operations-mobile-nav-backdrop{z-index:90;background:#05070aaa;border:0;display:block;position:fixed;inset:0}.operations-content{min-width:0;padding:0 16px 24px}.operations-console-topline{z-index:80;background:#0b0d12;gap:10px;min-height:64px;margin:0 -16px 18px;padding:0 16px;display:flex;position:sticky;top:0}.operations-mobile-menu-button{color:#f4f6f9;cursor:pointer;background:#10141b;border:1px solid #29313d;border-radius:8px;flex:0 0 38px;place-content:center;gap:4px;width:38px;height:38px;padding:0;display:grid}.operations-mobile-menu-button i{background:currentColor;width:16px;height:1.5px;display:block}.operations-console-topline form{flex:1;width:auto;min-width:0}.operations-console-topline>div{flex:none}.operations-console-topline>div>span{display:none}.operations-console-topline>div>button{width:38px;height:38px}.operations-page-header{gap:12px}.operations-page-header h1{font-size:22px}.operations-shell>aside.operations-sidebar nav{grid-template-columns:1fr;gap:14px;min-width:0;display:grid;overflow-y:auto}.operations-shell>aside.operations-sidebar nav section{gap:5px;min-width:0;display:grid}.operations-shell>aside.operations-sidebar .operations-nav-subitems{grid-template-columns:1fr;gap:4px;display:grid}.operations-shell>aside.operations-sidebar nav button{white-space:nowrap;justify-content:flex-start;gap:10px;width:100%;height:42px;min-height:42px;padding:0 12px;display:flex}.operations-shell>aside.operations-sidebar nav button svg{flex:0 0 18px;width:18px;height:18px}.operations-shell>aside.operations-sidebar .operations-nav-group-label{padding:0 12px}.operations-shell>aside.operations-sidebar footer{flex-direction:column;gap:6px;margin-top:auto;display:flex}.operations-shell>aside.operations-sidebar footer button{justify-content:flex-start;width:100%}}.operations-overview-trend .operations-trend-bars{gap:4px}.operations-overview-trend .operations-trend-bars>div{flex:1;min-width:0}.operations-overview-trend .operations-trend-bars>div>span{width:16px}.operations-table.accounts.schools{overflow-x:auto}.operations-table.accounts.schools .head,.operations-table.accounts.schools .row{grid-template-columns:56px minmax(180px,1.3fr) minmax(170px,1fr) 90px minmax(160px,1fr) 86px 86px minmax(250px,1fr);min-width:1230px}.operations-table.accounts.schools .operations-row-actions{align-items:center;gap:8px;min-width:250px;display:flex}.operations-table.accounts.schools .operations-row-actions button{white-space:nowrap;flex:none;min-width:72px;padding:0 10px}.operations-table.accounts.schools .operations-school-row-group{box-sizing:border-box;grid-template-columns:56px minmax(180px,1.3fr) minmax(170px,1fr) 90px minmax(160px,1fr) 86px 86px minmax(250px,1fr);gap:12px;min-width:1230px;padding:0 16px;display:grid}.operations-table.accounts.schools .operations-school-row-group>.row{grid-column:1/-1;min-width:0;margin-inline:-16px}.operations-table.accounts.schools .operations-school-user-panel{border-top:1px solid var(--color-border);grid-column:5/6;gap:6px;min-width:0;padding:10px 0 12px;display:grid;overflow:hidden}.operations-table.accounts.schools .operations-school-user-panel>div{gap:6px;min-width:0;display:grid}.operations-table.accounts.schools .operations-school-user-panel .operations-link{min-width:0;overflow:hidden}.operations-table.accounts.schools .operations-school-user-panel .operations-link strong,.operations-table.accounts.schools .operations-school-user-panel .operations-link small{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.verification-document-list{justify-items:start;gap:6px;display:grid}.verification-document-list button{text-align:left;padding:5px 8px;font-size:12px;height:auto!important}.operations-table.accounts.schools .operations-verification-action{color:#55a8f5;background:0 0;border-color:#2f7edb}.operations-table.accounts.schools .operations-verification-action:disabled{color:#7c8592;cursor:not-allowed;opacity:1;background:#252b34;border-color:#4a5361}.orders-filters{flex-wrap:nowrap;align-items:end;overflow-x:auto}.orders-filters>input{flex:0 0 220px;min-width:220px!important}.orders-filters .operations-filter-field{flex:0 0 136px;min-width:136px}.invoice-filters{align-items:end;gap:8px}.invoice-filters>input{flex:230px;min-width:220px}.invoice-filters .operations-filter-field{flex:0 0 136px;min-width:136px}@media (width>=821px){.operations-filter-field{flex:none;gap:5px;min-width:0;display:grid}.operations-filter-field>span{color:var(--color-text-secondary);white-space:nowrap;font-size:12px;line-height:1.2}.users-filters{flex-wrap:nowrap;align-items:end;gap:8px;overflow-x:auto}.users-filters .operations-filter-field:first-child{flex-basis:210px}.users-filters .operations-filter-field:not(:first-child){flex-basis:116px}.users-filters .operations-filter-field>input,.users-filters .operations-filter-field>select{width:100%;min-width:0}.users-filters>button{flex:0 0 52px;min-width:52px;padding:0 8px}.schools-filters{flex-wrap:nowrap;align-items:end;gap:8px;overflow-x:auto}.schools-filters .operations-filter-field:first-child{flex-basis:180px}.schools-filters .operations-filter-field:nth-child(2),.schools-filters .operations-filter-field:nth-child(3){flex-basis:120px}.schools-filters .operations-filter-field:nth-child(n+4){flex-basis:116px}.schools-filters .operations-filter-field>input,.schools-filters .operations-filter-field>select{width:100%;min-width:0}.schools-filters>button{flex:0 0 52px;min-width:52px;padding:0 8px}}.operations-table.memberships .head,.operations-table.memberships .row{grid-template-columns:40px minmax(190px,1.25fr) minmax(120px,.9fr) 105px 100px minmax(155px,1fr) minmax(145px,.95fr) 112px;min-width:1060px}.operations-table.invoice-requests .head,.operations-table.invoice-requests .row{grid-template-columns:40px minmax(170px,1fr) minmax(190px,1.1fr) minmax(180px,1fr) minmax(200px,1.1fr) 90px 130px 110px;min-width:1190px}.operations-table.memberships .head>span:first-child,.operations-table.orders .head>span:first-child,.operations-table.invoice-requests .head>span:first-child,.operations-table.memberships .row>span:first-child,.operations-table.orders .row>span:first-child,.operations-table.invoice-requests .row>span:first-child{text-align:center}.operations-table.orders .row>span:nth-child(2),.operations-table.orders .row>span:nth-child(3){min-width:0}.operations-table.orders .row>span:nth-child(2) strong,.operations-table.orders .row>span:nth-child(3) strong{white-space:nowrap}.operations-table.memberships .row>span,.operations-table.orders .row>span,.operations-table.invoice-requests .row>span{min-width:0}.operations-drawer>header{z-index:3;background:#151a22;padding-top:24px;position:sticky;top:-24px}.operations-drawer.wide>header{background:#151a22;order:0;padding-top:18px;top:-18px}.operations-filters input[type=date],.operations-drawer input[type=date],.operations-dialog input[type=date]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23ffffff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4.5' width='18' height='16' rx='2'/%3E%3Cpath d='M16 2.5v4M8 2.5v4M3 9h18'/%3E%3C/svg%3E");background-position:right 10px center;background-repeat:no-repeat;background-size:18px 18px;padding-right:38px!important}.operations-filters input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;width:28px;height:100%;opacity:0!important}.operations-drawer input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;width:28px;height:100%;opacity:0!important}.operations-dialog input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;width:28px;height:100%;opacity:0!important}.operations-dialog.resource-dialog{flex-direction:column;align-items:stretch;max-height:calc(100dvh - 40px);display:flex;overflow:hidden auto}.operations-dialog.resource-dialog>h2,.operations-dialog.resource-dialog>.operations-form-grid,.operations-dialog.resource-dialog>.operations-entitlement-editor,.operations-dialog.resource-dialog>label,.operations-dialog.resource-dialog>section,.operations-dialog.resource-dialog>footer{flex:none}.operations-dialog.resource-dialog>h2{margin:0 0 2px}.operations-dialog.resource-dialog>footer{margin-top:18px;position:sticky;bottom:-18px}.ai-usage-bottom-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:stretch;gap:16px;margin-top:16px;display:grid}.ai-usage-bottom-grid>.ai-usage-trend,.ai-usage-bottom-grid>.ai-query-records{min-width:0;margin:0}.ai-query-records{padding:14px}.ai-query-records>header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;display:flex}.ai-query-records>header h2{margin:0}.ai-query-records>header p{margin:4px 0 0}.ai-query-records .operations-table{overflow-x:auto}.ai-query-records .operations-table .head,.ai-query-records .operations-table .row{grid-template-columns:minmax(180px,1.5fr) minmax(130px,1fr) 64px 118px;gap:8px;min-width:560px;padding:8px 10px}.ai-query-records .operations-table .row{min-height:46px}.ai-query-records .operations-table .row>span{min-width:0}.ai-query-records .operations-table .row>span:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ai-query-records .operations-table small{font-size:11px}.ai-usage-pagination{margin:10px 0 0;font-size:12px}.ai-usage-table .head,.ai-usage-table .row{padding-top:8px;padding-bottom:8px}.ai-usage-table .row{min-height:50px}@media (width<=900px){.ai-usage-bottom-grid{grid-template-columns:1fr}}.ai-prompt-history{background:#10141b;border:1px solid #29313d;border-radius:8px;margin-top:12px;overflow:hidden}.ai-prompt-history>summary{color:#d7dce4;cursor:pointer;justify-content:space-between;align-items:center;min-height:36px;padding:0 10px;font-size:12px;font-weight:650;list-style:none;display:flex}.ai-prompt-history>summary::-webkit-details-marker{display:none}.ai-prompt-history>summary:before{content:"›";color:#55a8f5;margin-right:6px;font-size:16px;transition:transform .16s}.ai-prompt-history[open]>summary:before{transform:rotate(90deg)}.ai-prompt-history>summary small{color:#8793a3;font-size:11px;font-weight:500}.ai-prompt-history .operations-list{border-top:1px solid #29313d;gap:4px;margin:0;padding:6px 8px}.ai-prompt-history .operations-list article{background:0 0;border:0;border-radius:0;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:8px;min-height:32px;padding:4px 0;display:grid}.ai-prompt-history .operations-list article strong{font-size:12px}.ai-prompt-history .operations-list article small{color:#8793a3;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.ai-prompt-history .operations-list article button{min-height:28px;padding:0 8px;font-size:11px}.ai-query-records{box-sizing:border-box;height:300px;overflow:hidden}.ai-query-records .operations-table{overflow:hidden}.ai-prompt-collapsed{max-width:none;margin-top:16px;padding:14px 16px}.ai-prompt-collapsed>header{justify-content:space-between;align-items:center;gap:16px;display:flex}.ai-prompt-collapsed>header h2{margin:0}.ai-prompt-collapsed>header p{color:#8793a3;margin:4px 0 0;font-size:12px}.ai-prompt-collapsed>header .operations-secondary-action{flex:none}.ai-prompt-dialog{width:min(760px,100vw - 32px)}.ai-prompt-dialog>header{border-bottom:1px solid #29313d;justify-content:space-between;align-items:flex-start;gap:16px;margin:-18px -18px 14px;padding:18px;display:flex}.ai-prompt-dialog>header h2{margin:0}.ai-prompt-dialog>header p{color:#8793a3;margin:4px 0 0;font-size:12px}.ai-prompt-dialog>header>button{min-width:34px;height:34px;padding:0;font-size:20px}.operations-nav-subitems button.active{color:#d8e3f0;box-shadow:none;background:#152131;border:1px solid #294664}.operations-nav-subitems button.active:hover{background:#19283a}.operations-sidebar-avatar{color:#a7afbc;background:0 0;border:1px solid #29313d;font-size:0}.operations-sidebar-avatar svg{stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7px;width:16px;height:16px}.operations-sidebar-avatar:hover{color:#f4f6f9;background:#152131;border-color:#46627f}.operations-overview-trend .operations-trend-bars>div{grid-template-rows:minmax(0,1fr) 26px}.operations-trend-bar{justify-content:center;align-self:end;align-items:flex-end;width:100%;height:100%;min-height:2px;display:flex;position:relative}.operations-trend-bar>span{border-radius:5px 5px 0 0;width:16px;height:100%;min-height:2px;display:block;background:#55a8f5!important}.operations-trend-bar>strong{font-size:12px;font-weight:700;line-height:18px;position:absolute;top:-18px;color:#55a8f5!important}.operations-dialog.resource-dialog>.operations-form-grid{gap:8px;margin:10px 0}.operations-dialog.resource-dialog>.operations-form-grid label{gap:4px;font-size:12px}.operations-dialog.resource-dialog>.operations-form-grid input:not([type=checkbox]),.operations-dialog.resource-dialog>.operations-form-grid select{border-radius:7px;min-height:36px;padding:6px 9px}.operations-dialog.resource-dialog>.operations-entitlement-editor{border-color:#29313d}.operations-dialog.resource-dialog>.operations-entitlement-editor-row{border-top-color:#29313d;gap:12px;padding:8px 0}.plan-catalog-table{overflow-x:auto}.operations-table.resources.plan-catalog-table .head,.operations-table.resources.plan-catalog-table .row{grid-template-columns:minmax(140px,1.35fr) repeat(4,minmax(70px,.8fr)) 70px 70px minmax(120px,1.1fr) minmax(132px,.95fr);min-width:910px}.operations-table.resources.plan-catalog-table .head>span,.operations-table.resources.plan-catalog-table .row>span{white-space:nowrap;min-width:0}.operations-table.resources.plan-catalog-table .row>span:first-child{min-width:140px}.operations-table.resources.plan-catalog-table .row>span.operations-plan-actions{flex-wrap:nowrap;justify-content:flex-end;align-items:center;gap:6px;min-width:132px;display:flex}.operations-table.resources.plan-catalog-table .operations-plan-actions button{white-space:nowrap;flex:none;min-width:42px;padding:0 10px}.operations-plan-entitlement-cell{color:#d7dce4;font-variant-numeric:tabular-nums;white-space:nowrap;font-size:12px}.operations-plan-price-pair{align-items:center;gap:5px;display:flex}.operations-plan-price{align-items:baseline;gap:4px;display:inline-flex}.operations-plan-price small{color:#8793a3;font-size:11px;font-weight:400;text-decoration:line-through;text-decoration-thickness:1px}.operations-table.accounts .operations-link{color:#f4f6f9!important}.operations-table.accounts .operations-link small{color:#a7afbc!important}.operations-table.accounts.users.detailed{overflow-x:auto}.operations-table.accounts.users.detailed .head,.operations-table.accounts.users.detailed .row{grid-template-columns:48px minmax(190px,1.35fr) minmax(170px,1.05fr) minmax(160px,1fr) 112px 82px 132px minmax(178px,.85fr);gap:12px;min-width:1160px;padding-inline:16px}.operations-table.accounts.users.detailed .head>span:first-child,.operations-table.accounts.users.detailed .row>span:first-child{text-align:center}.operations-table.accounts.users.detailed .row>span{min-width:0}.operations-table.accounts.users.detailed .operations-user-actions{justify-content:flex-end;align-items:center;gap:8px;min-width:178px;display:flex!important}.operations-table.accounts.users.detailed .operations-user-actions button{white-space:nowrap;flex:none;min-width:76px;padding:0 10px}.operations-ai-summary .ai-usage-trend.compact .ai-usage-axis{letter-spacing:-.2px;font-size:7px}.application-settings-panel{max-width:920px}.payment-method-setting{align-items:start}.payment-method-options{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:10px;display:grid!important}.payment-method-options label{color:#f4f6f9;border:1px solid #3a4656;border-radius:9px;grid-template-columns:auto 1fr;align-items:center;gap:4px 8px;padding:10px 12px;display:grid}.payment-method-options label span{color:#a7afbc;grid-column:2;font-size:12px}.manual-payment-qr{justify-items:center;gap:7px;min-width:150px;display:grid}.manual-payment-qr-preview{color:#a7afbc;border:1px dashed #526073;border-radius:8px;place-items:center;width:112px;height:112px;font-size:12px;display:grid;overflow:hidden}.manual-payment-qr-preview img{object-fit:contain;background:#fff;width:100%;height:100%}.manual-payment-qr button{color:#f4f6f9;background:#202735;border:1px solid #526073;border-radius:7px;min-height:34px;padding:0 10px}.manual-payment-qr small{text-align:center}.payment-method-text{font-weight:650}.payment-method-text.native_wechat{color:#4f91ff}.payment-method-text.manual_wechat_qr{color:#b58cff}.payment-method-text.admin_manual{color:#a7afbc}@media (width<=720px){.application-settings-row{grid-template-columns:28px minmax(0,1fr)}.application-settings-row>:last-child{grid-column:2}.payment-method-options{grid-template-columns:1fr!important}.manual-payment-qr{justify-items:start}}.orders-filters{flex-wrap:wrap;overflow-x:visible}.operations-table.orders .head,.operations-table.orders .row{grid-template-columns:36px minmax(145px,1.15fr) minmax(145px,1.15fr) minmax(105px,.9fr) 86px 68px 76px 116px 90px 96px;min-width:1060px}.operations-table.resources .head,.operations-table.resources .row{grid-template-columns:minmax(130px,1.2fr) minmax(110px,1fr) 48px 56px 64px;gap:8px;padding-left:12px;padding-right:12px}.operations-rule-icon{width:20px;height:20px;color:var(--color-primary);vertical-align:middle;place-items:center;margin-right:6px;display:inline-grid}.operations-rule-icon svg{width:15px;height:15px}.operations-rule-title{align-items:center;gap:6px;min-width:0;display:flex}.operations-rule-title strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.operations-rule-strength{color:#e3a42d;white-space:nowrap;margin-left:6px;font-size:11px;font-style:normal;font-weight:700}.operations-rule-strength.soft{color:#55a8f5}.operations-table.resources.ai-usage-table{overflow-x:auto}.operations-table.resources.ai-usage-table .head,.operations-table.resources.ai-usage-table .row{grid-template-columns:minmax(240px,1.35fr) minmax(110px,.7fr) minmax(150px,.85fr) minmax(240px,1.25fr) minmax(260px,1.35fr);gap:12px;min-width:1120px;padding-left:14px;padding-right:14px}.operations-table.resources.ai-usage-table .row>span{min-width:0}.operations-table.resources.ai-usage-table .row>span:nth-child(3),.operations-table.resources.ai-usage-table .row>span:nth-child(4),.operations-table.resources.ai-usage-table .row>span:last-child{white-space:nowrap}.operations-table.resources.ai-usage-table .ai-usage-link{width:100%;min-width:0;color:var(--color-primary);text-align:left;gap:2px;padding:0;display:grid}.operations-table.resources.ai-usage-table .ai-usage-link small{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.operations-rule-switch{background:var(--color-border-strong);cursor:pointer;border:0;border-radius:10px;width:36px;height:20px;padding:0;position:relative;overflow:hidden}.operations-rule-switch span{background:#fff;border-radius:50%;width:14px;height:14px;transition:transform .16s;position:absolute;top:3px;left:3px}.operations-rule-switch.on{background:var(--color-primary)}.operations-rule-switch.on span{transform:translate(16px)}.operations-rule-switch:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.operations-table .operations-rule-switch{border:0;border-radius:10px;width:36px;height:20px;min-height:20px;padding:0;overflow:hidden}.operations-table .operations-rule-switch.default-on.on{background:#36c681}
