@import "https://fonts.googleapis.com/css2?family=DM+Mono:wght@400;500&family=Kalam:wght@400;700&family=Noto+Sans+SC:wght@400;500;600;700&display=swap";:root{color:#20262d;font-synthesis:none;text-rendering:optimizelegibility;background:#f7f8f9;font-family:Noto Sans SC,Microsoft YaHei,sans-serif}*{box-sizing:border-box}body{min-width:320px;min-height:100vh;margin:0}button,input,textarea,select{font:inherit}button{cursor:pointer}.billing-reminders{color:#35516c;background:#fff;border:1px solid #dce6ef;border-radius:12px;margin:16px 0;padding:18px}.billing-reminders header,.billing-reminders article{justify-content:space-between;align-items:center;gap:16px;display:flex}.billing-reminders h3{margin:0;font-size:16px}.billing-reminders p{color:#687f94;margin:8px 0;font-size:13px;line-height:1.6}.billing-reminders .billing-reminders-notice{color:#896526;background:#fff7df;border-radius:8px;padding:10px 12px}.billing-reminders article{border-top:1px solid #e6edf4;padding:14px 0}.billing-reminders article span,.billing-reminders article small{color:#708398;margin-top:6px;font-size:12px;display:block}.billing-reminder-tags{flex-wrap:wrap;gap:6px;margin-top:8px;display:flex}.billing-reminder-tags b{background:#edf5fd;border-radius:6px;padding:4px 8px;font-size:12px;font-weight:500}.billing-reminder-tags b.urgent{color:#9b641c;background:#fff3d4}.billing-reminders button{color:#256eaf;background:#f6faff;border:1px solid #c6dbee;border-radius:7px;min-height:38px;padding:8px 12px;font-size:13px}.billing-reminders button:disabled{opacity:.5;cursor:not-allowed}.billing-reminders .billing-renew-button{color:#fff;background:#2679c9;border-color:#2679c9}.billing-reminder-info{overflow-wrap:anywhere;min-width:0}.billing-reminder-actions{flex-wrap:wrap;flex-shrink:0;justify-content:flex-end;gap:8px;max-width:48%;display:flex}.billing-reminder-toolbar{background:#f6f9fc;border-radius:10px;margin:14px 0;padding:14px}.billing-reminder-filters{flex-wrap:wrap;gap:8px;margin-bottom:12px;display:flex}.billing-reminder-filters button{background:#fff;align-items:center;gap:8px;display:inline-flex}.billing-reminder-filters button[aria-pressed=true]{color:#fff;background:#2679c9;border-color:#2679c9}.billing-reminder-filters span{font-variant-numeric:tabular-nums}.billing-reminder-toolbar label{flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;display:flex}.billing-reminder-toolbar input{box-sizing:border-box;background:#fff;border:1px solid #c6dbee;border-radius:7px;width:min(100%,280px);min-width:0;padding:10px 12px}.billing-reminders button:focus-visible,.billing-reminders input:focus-visible{outline-offset:2px;outline:2px solid #2679c9}.billing-reminders article small.billing-reminder-blocked{color:#92621e}.billing-reminders details{border-top:1px solid #e6edf4;padding-top:12px}.billing-reminders summary{cursor:pointer;font-size:13px}.billing-reminder-record{border-bottom:1px solid #e6edf4;padding:10px 0;font-size:13px}.renewal-dialog-overlay{z-index:80;background:#16273685;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.renewal-dialog-backdrop{background:0 0;border:0;width:100%;height:100%;position:absolute;inset:0}.renewal-dialog{z-index:1;background:#fff;border-radius:14px;width:min(820px,100%);max-height:calc(100vh - 40px);position:relative;overflow:auto;box-shadow:0 24px 70px #0c243847}.renewal-dialog>header{z-index:2;background:#fff;border-bottom:1px solid #dde7ef;padding:20px 22px;position:sticky;top:0}.renewal-dialog>header span{color:#7a90a5;letter-spacing:.08em;font-size:11px}.renewal-dialog>header h3{margin-top:5px;font-size:20px}.renewal-dialog>header>button{width:38px;min-height:38px;padding:0;font-size:24px}.renewal-dialog form,.renewal-success{padding:20px 22px 24px}.renewal-period-preview{border:1px solid #dce6ef;border-radius:10px;grid-template-columns:repeat(3,minmax(0,1fr));display:grid;overflow:hidden}.renewal-period-preview>div{border-right:1px solid #dce6ef;min-width:0;padding:13px 14px}.renewal-period-preview>div:last-child{border-right:0}.renewal-period-preview span,.renewal-period-preview strong{overflow-wrap:anywhere;display:block}.renewal-period-preview span{color:#71869a;font-size:12px}.renewal-period-preview strong{color:#263f56;margin-top:5px;font-size:14px}.renewal-dialog .renewal-rule{color:#586f84;background:#f3f7fa;border-radius:8px;margin:14px 0;padding:10px 12px}.renewal-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.renewal-form-grid label{gap:6px;font-size:13px;font-weight:600;display:grid}.renewal-form-grid .wide{grid-column:1/-1}.renewal-form-grid input,.renewal-form-grid select,.renewal-form-grid textarea{box-sizing:border-box;color:#29445d;width:100%;min-width:0;font:inherit;background:#fff;border:1px solid #c8d8e6;border-radius:7px;padding:10px 11px;font-weight:400}.renewal-form-grid input[readonly]{color:#61788d;background:#f3f6f8}.renewal-dialog-actions{justify-content:flex-end;gap:10px;margin-top:18px;display:flex}.renewal-dialog button.primary,.renewal-success button.primary{color:#fff;background:#2679c9;border-color:#2679c9}.renewal-error{background:#fff0ed;border-radius:7px;padding:10px 12px;color:#a33d34!important}.renewal-success strong{color:#1f7654;font-size:18px}@media (width<=767px){.billing-reminders{padding:14px}.billing-reminders header{align-items:flex-start}.billing-reminders article{flex-direction:column;align-items:stretch;gap:10px}.billing-reminder-actions{justify-content:flex-start;max-width:100%}.billing-reminders header>button{flex-shrink:0}}@media (width<=600px){.renewal-dialog-overlay{place-items:stretch stretch;padding:0}.renewal-dialog{border-radius:0;width:100%;max-height:100vh}.renewal-dialog>header,.renewal-dialog form,.renewal-success{padding-left:16px;padding-right:16px}.renewal-period-preview{grid-template-columns:1fr}.renewal-period-preview>div{border-bottom:1px solid #dce6ef;border-right:0}.renewal-period-preview>div:last-child{border-bottom:0}.renewal-form-grid{grid-template-columns:1fr}.renewal-form-grid .wide{grid-column:auto}.renewal-dialog-actions{background:#fff;border-top:1px solid #dce6ef;margin:18px -16px -24px;padding:12px 16px;position:sticky;bottom:0}.renewal-dialog-actions button{flex:1}}.visit-package-panel{color:#263f5c;overflow-wrap:anywhere;background:#f5faff;border:1px solid #cde0eb;border-radius:14px;min-width:0;margin:16px 0;padding:18px}.visit-package-panel header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.visit-package-panel h3,.visit-package-panel h4{margin:0}.visit-package-panel p{font-size:13px;line-height:1.7}.visit-package-panel label{gap:6px;min-width:0;font-size:13px;display:grid}.visit-package-panel input,.visit-package-panel select{box-sizing:border-box;width:100%;min-width:0;max-width:100%;color:inherit;background:#fff;border:1px solid #cbdde8;border-radius:8px;padding:10px}.visit-package-totals,.visit-package-action{flex-wrap:wrap;align-items:center;gap:12px;margin:14px 0;display:flex}.visit-package-action strong{color:#94651b;font-size:13px}.visit-package-records{gap:8px;margin:14px 0;display:grid}.visit-package-records article{background:#fff;border:1px solid #dce7ee;border-radius:10px;padding:12px;font-size:13px}.visit-package-records small{color:#5b6e82;margin-top:8px;display:block}.visit-package-records .is-reversed{background:#f1f3f5}.visit-package-renewal{background:#fff;border:1px solid #89b9da;border-radius:12px;margin-top:18px;padding:16px}.visit-package-renewal fieldset{border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;min-width:0;margin:14px 0;padding:0;display:grid}.visit-package-panel [role=alert]{color:#a42b24}@media (width<=600px){.visit-package-panel,.visit-package-renewal{padding:12px}.visit-package-renewal fieldset{grid-template-columns:minmax(0,1fr)}}.billing-sync-status{color:#43675a;background:#f2f7f5;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;padding:10px 14px;font-size:12px;display:flex}.billing-sync-status.is-stale{color:#855b12;background:#fff5df}.billing-sync-status button{color:inherit;font:inherit;cursor:pointer;background:0 0;border:1px solid;border-radius:8px;flex-shrink:0;padding:6px 10px}.billing-sync-status button:disabled{opacity:.6;cursor:default}.student-account-money-note{color:#587268;margin:8px 0 16px;font-size:12px;line-height:1.7}.student-sms-section small{color:#657991;line-height:1.6}.student-sms-history{overflow-wrap:anywhere;background:#f7faff;border:1px solid #dce7f1;border-radius:12px;margin-top:16px;padding:14px 16px;font-size:13px}.student-sms-history summary{cursor:pointer;color:#256ba8;font-weight:600}.student-sms-history p{color:#657991;margin:8px 0;line-height:1.6}.student-sms-record{border-top:1px solid #e1e9f2;margin-top:12px;padding:12px 0 0}.student-sms-record strong{font-size:13px;font-weight:600}.statements-view{color:#284963;gap:20px;display:grid}.statements-view h2,.statements-view h3{margin:0 0 12px}.statements-view p{color:#697f90;font-size:13px;line-height:1.8}.statement-toolbar{background:#fff;border:1px solid #dbe5ed;border-radius:12px;flex-wrap:wrap;align-items:end;gap:16px;padding:20px;display:flex}.statements-view label{gap:9px;font-size:13px;display:grid}.statements-view input,.statements-view select,.statements-view textarea{font:inherit;box-sizing:border-box;border:1px solid #cbd9e5;border-radius:8px;max-width:100%;padding:10px}.statements-view button:not(.primary-button){color:#246498;cursor:pointer;background:#f5f9fc;border:1px solid #cbd9e5;border-radius:8px;padding:10px 14px}.statements-view button:disabled{opacity:.5;cursor:default}.statement-paper{background:#fff;border:1px solid #dce6ed;border-radius:14px;min-width:0;padding:24px}.statement-error{background:#fff0ed;border-radius:8px;padding:15px;color:#9a3728!important}.statement-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;display:grid}.statement-metrics>div{background:#f1f7fc;border-radius:10px;gap:14px;padding:18px;display:grid}.statement-metrics span{font-size:12px}.statement-metrics strong{overflow-wrap:anywhere;font-size:22px}.statement-scroll{overflow:auto}.statements-view table{border-collapse:collapse;width:100%;min-width:620px;font-size:13px}.statements-view td,.statements-view th{text-align:left;border-bottom:1px solid #e5edf3;padding:14px 10px}.statements-view small{color:#718699;margin-top:7px;display:block}.statement-course-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;display:grid}.statement-course-grid article{border:1px solid #e0e9f0;border-radius:10px;padding:16px}.statement-confirm{gap:18px;padding-top:20px;display:grid}.statement-consent{align-items:center;line-height:1.7;display:flex!important}.statement-consent input{flex-shrink:0;width:18px;height:18px}.statement-confirm button{justify-self:start}.statement-confirm textarea{width:100%;min-height:80px}.statements-view :focus-visible{outline-offset:3px;outline:2px solid #458bc5}@media (width<=640px){.statement-toolbar{flex-direction:column;align-items:stretch}.statement-paper{padding:16px}.statement-metrics,.statement-course-grid{grid-template-columns:1fr}}.lead-workspace{color:#243b50;min-width:0;max-width:100%;font-size:1rem;line-height:1.65}.lead-workspace *{box-sizing:border-box;min-width:0}.lead-heading{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem;display:flex}.lead-heading h2{margin:.5rem 0;font-size:clamp(1.4rem,3vw,1.9rem)}.lead-heading p,.lead-count{color:#607e9b;margin:.5rem 0}#root .lead-workspace button,.lead-editor button.button{white-space:normal;min-width:44px;min-height:44px;padding:.65rem 1rem;font-size:1rem}.lead-workspace .eyebrow{font-size:.875rem}.lead-workspace label{gap:.5rem;font-size:1rem;display:grid}.lead-workspace :is(input,select,textarea){color:#243b50;width:100%;min-height:44px;font:inherit;background:#fff;border:1px solid #cbddec;border-radius:.75rem;padding:.75rem}.lead-workspace textarea{resize:vertical;min-height:120px}.lead-filters{background:#fff;border:1px solid #d9e6f4;border-radius:1.25rem;grid-template-columns:minmax(0,2fr) minmax(0,1fr) auto;align-items:end;gap:1rem;margin-bottom:1rem;padding:1.25rem;display:grid}.lead-list{gap:1rem;display:grid}.lead-assignment-filters{flex-wrap:wrap;gap:.75rem;margin:1rem 0;display:flex}.lead-assignment-filters button[aria-pressed=true]{color:#276aaa;background:#eaf3ff;border-color:#276aaa}.lead-card{overflow-wrap:anywhere;background:#fff;border:1px solid #d9e6f4;border-radius:1.25rem;padding:clamp(1rem,3vw,1.5rem);box-shadow:0 6px 22px #23426306}.lead-card header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.lead-card header strong{font-size:1.15rem}.lead-card header p{color:#607e9b;margin:.25rem 0;font-size:.9375rem}.lead-status{color:#276aaa;background:#eaf3ff;border-radius:2rem;flex-shrink:0;padding:.25rem .75rem;font-size:.875rem}.lead-status.new{color:#876222;background:#fff3d4}.lead-status.confirmed,.lead-status.enrolled{color:#27795b;background:#e6f6ee}.lead-card-actions{flex-wrap:wrap;gap:.75rem;display:flex}.lead-enrollment-search{align-items:end;gap:.75rem;margin:1rem 0;display:flex}.lead-enrollment-search label{flex:1}.lead-enrollment-candidates{gap:.75rem;max-height:280px;display:grid;overflow:auto}#root .lead-workspace .lead-enrollment-candidate{text-align:left;color:#243b50;background:#f4f8fd;border:1px solid #cbddec;border-radius:.75rem;justify-content:start;gap:.25rem;width:100%;height:auto;display:grid}#root .lead-workspace .lead-enrollment-candidate[aria-pressed=true]{background:#e9f6ef;border-color:#27795b}.lead-enrollment-candidate :is(strong,span){white-space:normal;overflow-wrap:anywhere;display:block}.lead-enrollment-new{gap:.5rem;margin:1rem 0;display:grid}.lead-workspace label.lead-enrollment-confirm{align-items:center;gap:.75rem;min-height:44px;margin:1rem 0;display:flex}.lead-workspace .lead-enrollment-confirm input{flex-shrink:0;width:24px;height:24px;min-height:24px}.lead-status.closed,.lead-status.cancelled{color:#647589;background:#f0f3f6}.lead-card dl{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin:1.25rem 0;display:grid}.lead-card dt{color:#607e9b;font-size:.9375rem}.lead-card dd{margin:.375rem 0 0}.lead-card dd a{color:#2674b8;align-items:center;min-height:44px;display:inline-flex}.lead-card small{color:#607e9b;font-size:.875rem;display:block}.lead-request{white-space:pre-wrap;background:#f4f8fd;border-radius:.75rem;gap:.25rem;padding:.75rem 1rem;display:grid}.lead-agreed{color:#27795b}.lead-card footer{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;display:flex}.lead-card footer span{color:#607e9b;font-size:.875rem}.lead-pagination{flex-wrap:wrap;justify-content:center;align-items:center;gap:1rem;margin-top:1.25rem;display:flex}.lead-feedback{color:#27795b;overflow-wrap:anywhere;background:#e9f6ef;border-radius:.75rem;flex-wrap:wrap;align-items:center;gap:.75rem;padding:1rem;display:flex}.lead-feedback.danger{color:#a94835;background:#fff1ee}.lead-empty{text-align:center;background:#fff;border-radius:1rem;padding:2rem 1rem}.lead-editor{border:1px solid #d9e6f4;border-radius:1.25rem;width:min(640px,100vw - 2rem);max-height:calc(100dvh - 2rem);margin:auto;padding:clamp(1rem,3vw,1.5rem);overflow:auto;box-shadow:0 20px 70px #23426330}.lead-editor::backdrop{background:#18394d70}.lead-editor form>label{margin-bottom:1rem}.lead-editor small{color:#607e9b;font-size:.875rem}.lead-history{overflow-wrap:anywhere;margin-top:1.5rem}.lead-history summary{cursor:pointer;min-height:44px}.lead-history ol{padding-left:1.5rem}.lead-history li{margin-bottom:1rem}.lead-history p{white-space:pre-wrap;margin:.25rem 0}@media (width<=767px){.lead-heading{flex-wrap:wrap}.lead-filters{grid-template-columns:1fr;gap:.75rem;padding:1rem}.lead-card dl{grid-template-columns:repeat(2,minmax(0,1fr))}.lead-card header{flex-wrap:wrap;gap:.5rem}.lead-card footer button,.lead-card-actions{width:100%}.lead-enrollment-search{flex-direction:column;align-items:stretch}.lead-editor{padding-bottom:calc(1rem + env(safe-area-inset-bottom))}}@media (width<=374px){.lead-card dl{grid-template-columns:1fr}}.dining-view{gap:18px;min-width:0;display:grid}.dining-intro{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-end;gap:24px;padding-bottom:25px;display:flex}.dining-intro h2{color:var(--ink);letter-spacing:-.04em;margin:11px 0 8px;font-size:32px;font-weight:600}.dining-intro h2 em{color:#e6a52e;font-family:var(--hand);font-size:.76em;font-style:normal;font-weight:400}.dining-intro p{color:var(--muted);margin:0;font-size:13px}.dining-header-actions{flex-shrink:0;align-items:center;gap:12px;display:flex}.dining-save-state{color:#3a7158;white-space:nowrap;background:#f0faf4;border-left:3px solid #55aa79;padding:10px 13px;font-size:11px}.dining-save-state.dirty{color:#806723;background:#fff9e5;border-color:#e6a52e}.dining-save-button{min-width:132px}.dining-status{color:#416983;background:#f5faff;border:1px solid #d8e8f5;align-items:center;gap:9px;padding:11px 14px;font-size:12px;line-height:1.5;display:flex}.dining-status>span{color:#fff;width:18px;height:18px;font-family:var(--mono);background:#6f9bc0;border-radius:50%;place-items:center;font-size:10px;display:grid}.dining-status.success{color:#2d7451;background:#f0faf4;border-color:#caead7}.dining-status.success>span{background:#55aa79}.dining-status.error{color:#9c4c48;background:#fff6f5;border-color:#f1cccc}.dining-status.error>span{background:#d77b7b}.dining-status button{color:inherit;cursor:pointer;background:0 0;border:0;margin-left:auto;padding:0 3px;font-size:18px}.dining-conflict{color:#824c4c;background:#fff4f2;border-left:3px solid #d77b7b;justify-content:space-between;align-items:center;gap:14px;padding:13px 15px;font-size:12px;display:flex}.dining-conflict div{gap:3px;display:grid}.dining-conflict strong{color:#8e3939}.dining-conflict span{color:#a36767;font-size:11px}.dining-conflict button{color:#9c4c48;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #dba8a3;min-height:34px;padding:0 12px;font-size:11px}.dining-control-grid{grid-template-columns:minmax(220px,.75fr) minmax(360px,1.25fr);gap:18px;display:grid}.dining-panel{border:1px solid var(--line);background:#fff;min-width:0}.dining-rotation-panel,.dining-week-panel{padding:22px 24px}.dining-panel-heading{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.dining-panel-heading h3{margin:6px 0 0;font-size:18px;font-weight:600}.dining-panel-heading h3 small{color:var(--muted);font-family:var(--mono);margin-left:8px;font-size:10px;font-weight:400}.dining-setting-mark{color:#b17d16;font-family:var(--mono);background:#fff6d2;padding:5px 8px;font-size:10px}.dining-week-badge{color:#2c709f;max-width:190px;font-family:var(--mono);text-overflow:ellipsis;white-space:nowrap;background:#edf6fe;padding:7px 9px;font-size:10px;overflow:hidden}.dining-range-field{color:#586572;gap:7px;margin-top:20px;font-size:11px;display:grid}.dining-range-field input{width:120px;min-height:43px;color:var(--ink);font-family:var(--mono);background:#fcfdff;border:1px solid #cddbe7;padding:8px 11px;font-size:16px}.dining-range-field input:focus,.dining-week-controls input:focus,.dining-library-tools input:focus,.dining-modal input:focus,.dining-modal textarea:focus,.dining-modal select:focus{border-color:#8ec1ef;outline:2px solid #2b7fd81a}.dining-range-field span{color:var(--muted);font-size:10px;line-height:1.6}.dining-week-controls{align-items:end;gap:9px;margin-top:19px;display:flex}.dining-week-controls label{color:#586572;gap:7px;font-size:11px;display:grid}.dining-week-controls input{min-height:40px;color:var(--ink);font-family:var(--mono);background:#fcfdff;border:1px solid #cddbe7;padding:0 9px;font-size:11px}.dining-week-controls button{color:#2b72b8;cursor:pointer;background:#f3f9fe;border:1px solid #b8d0e7;min-height:40px;padding:0 12px;font-size:11px}.dining-week-controls button:disabled{opacity:.45;cursor:not-allowed}.dining-week-help{color:var(--muted);margin-top:9px;font-size:10px;line-height:1.5;display:block}.dining-layout{grid-template-columns:minmax(320px,.76fr) minmax(500px,1.24fr);align-items:start;gap:18px;display:grid}.dining-library-panel,.dining-menus-panel{overflow:hidden}.dining-library-heading,.dining-menus-heading{border-bottom:1px solid var(--line);padding:22px 24px 18px}.dining-add-button{color:#2b72b8;cursor:pointer;background:#f3f9fe;border:1px solid #b8d0e7;min-height:37px;padding:0 12px;font-size:11px}.dining-library-tools{border-bottom:1px solid var(--line);background:#f8fafc;align-items:center;gap:10px;padding:13px 24px;display:flex}.dining-filter-tabs{background:#fff;border:1px solid #dce4ea;flex:none;display:flex}.dining-filter-tabs button{min-height:30px;color:var(--muted);cursor:pointer;background:#fff;border:0;border-right:1px solid #e7edf1;padding:0 10px;font-size:10px}.dining-filter-tabs button:last-child{border-right:0}.dining-filter-tabs button.selected{color:#fff;background:var(--blue)}.dining-library-tools>input{width:100%;min-width:0;min-height:32px;color:var(--ink);background:#fff;border:1px solid #dce4ea;padding:0 9px;font-size:10px}.dining-dish-list{padding:0 24px 12px;display:grid}.dining-dish-card{border-bottom:1px solid var(--line);grid-template-columns:62px minmax(0,1fr) auto;align-items:center;gap:13px;min-height:90px;padding:13px 0;display:grid}.dining-dish-card.inactive{opacity:.65}.dining-dish-image{object-fit:cover;object-position:center;color:#2b72b8;width:43px;height:43px;font-family:var(--hand);text-align:center;background:#e9f3fc;flex:none;font-size:18px;line-height:43px;display:block}.dining-dish-image.large{width:62px;height:62px}.dining-dish-image.empty{border:1px dashed #b7d1e6}.dining-dish-card-copy{min-width:0}.dining-dish-card-meta{align-items:center;gap:5px;margin-bottom:5px;display:flex}.dining-type-badge,.dining-active-badge,.dining-inactive-badge{padding:3px 6px;font-size:9px;display:inline-flex}.dining-type-badge{color:#3979a8;background:#edf6fe}.dining-active-badge{color:#2d7952;background:#eef9f2}.dining-inactive-badge{color:#8b6b2a;background:#fff7df}.dining-dish-card-copy>strong,.dining-dish-card-copy>span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.dining-dish-card-copy>strong{font-size:13px}.dining-dish-card-copy>span{color:var(--muted);margin-top:5px;font-size:10px}.dining-edit-button{min-height:32px;color:var(--blue);cursor:pointer;background:#f5faff;border:1px solid #cde0f3;padding:0 9px;font-size:10px}.dining-empty{color:var(--muted);text-align:center;padding:48px 18px;font-size:12px;line-height:1.8}.dining-menu-rule{color:#687b8b;white-space:nowrap;background:#f3f6f8;padding:7px 9px;font-size:10px}.dining-menu-grid{background:#f8fafc;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px;display:grid}.dining-day-card{background:#fff;border:1px solid #dce5ec;min-width:0}.dining-day-card.is-published{border-color:#b9dfca;box-shadow:inset 3px 0 #55aa79}.dining-day-header{border-bottom:1px solid #edf1f4;justify-content:space-between;align-items:center;gap:8px;padding:13px 13px 10px;display:flex}.dining-day-header>div{align-items:baseline;gap:8px;min-width:0;display:flex}.dining-day-label{color:#2b72b8;font-family:var(--hand);font-size:17px}.dining-day-header strong{color:#667680;font-family:var(--mono);font-size:10px;font-weight:400}.dining-menu-status{white-space:nowrap;padding:4px 6px;font-size:9px}.dining-menu-status.published{color:#26734d;background:#eef9f2}.dining-menu-status.draft{color:#8d6d2c;background:#fff7df}.dining-menu-status.empty{color:#82909a;background:#f2f4f5}.dining-day-selection{min-height:83px;padding:10px 12px 7px}.dining-day-empty{color:#93a0a9;padding:10px 4px;font-size:10px;line-height:1.7}.dining-selected-list{gap:5px;display:grid}.dining-selected-row{grid-template-columns:17px 28px minmax(0,1fr) 22px 22px auto;align-items:center;gap:5px;min-width:0;display:grid}.dining-order-number{color:#9aa7b0;font-family:var(--mono);text-align:center;font-size:9px}.dining-selected-row .dining-dish-image{width:28px;height:28px;font-size:12px;line-height:28px}.dining-selected-name{color:#3c4c57;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:10px;overflow:hidden}.dining-icon-button,.dining-remove-button{color:#6b8497;cursor:pointer;background:#fff;border:1px solid #e0e7ec;place-items:center;min-width:22px;min-height:27px;padding:0;font-size:11px;display:grid}.dining-remove-button{color:#a36d6d;min-width:32px;font-size:9px}.dining-icon-button:disabled{cursor:not-allowed;opacity:.3}.dining-field-warning{color:#a36d2f;margin:7px 0 0;font-size:10px}.dining-dish-picker{border-top:1px dashed #e1e8ed;padding:9px 12px 11px}.dining-picker-label{color:#8a98a1;margin-bottom:7px;font-size:9px;display:block}.dining-picker-grid{flex-wrap:wrap;gap:5px;display:flex}.dining-picker-chip{color:#5d7180;cursor:pointer;background:#fff;border:1px solid #dce5eb;align-items:center;gap:5px;max-width:100%;min-height:27px;padding:0 7px;font-size:9px;display:inline-flex}.dining-picker-chip span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.dining-picker-chip small{color:#9aa9b4;font-size:8px}.dining-picker-chip.selected{color:#236a9f;background:#eef7ff;border-color:#8ebce2}.dining-picker-chip.inactive{opacity:.7;border-style:dashed}.dining-picker-empty{color:#9ba7ae;font-size:10px}.dining-day-footer{color:#8b99a3;border-top:1px solid #edf1f4;justify-content:space-between;align-items:center;gap:7px;padding:9px 12px;font-size:9px;display:flex}.dining-publish-button,.dining-unpublish-button{color:#297752;cursor:pointer;background:#f1faf4;border:1px solid #afd4bd;min-height:29px;padding:0 8px;font-size:9px}.dining-unpublish-button{color:#987323;background:#fffaf0;border-color:#ead39e}.dining-publish-button:disabled{cursor:not-allowed;opacity:.42}.dining-loading,.dining-error-state{border:1px solid var(--line);color:var(--muted);text-align:center;background:#fff;padding:80px 20px;font-size:13px}.dining-error-state strong,.dining-error-state p{display:block}.dining-error-state strong{color:#8f4d4d;font-size:17px}.dining-error-state p{margin:9px 0 18px}.dining-error-state .primary-button{cursor:pointer}.dining-modal-backdrop{z-index:30;background:#192a3980;place-items:center;padding:22px;display:grid;position:fixed;inset:0}.dining-dish-modal{background:#fff;border:1px solid #d7e2eb;width:min(720px,100%);max-height:calc(100vh - 44px);overflow:auto;box-shadow:0 20px 65px #122a403d}.dining-dish-modal>header,.dining-dish-modal>footer{justify-content:space-between;align-items:center;gap:15px;padding:20px 24px;display:flex}.dining-dish-modal>header{border-bottom:1px solid var(--line);background:#fbfdff}.dining-dish-modal h3{margin:6px 0 0;font-size:20px}.dining-modal-close{color:#718390;cursor:pointer;background:#fff;border:1px solid #d9e3ea;width:32px;height:32px;font-size:21px}.dining-modal-body{grid-template-columns:180px minmax(0,1fr);gap:22px;padding:23px 24px;display:grid}.dining-image-upload{color:#586572;align-content:start;gap:10px;font-size:11px;display:grid}.dining-image-preview{aspect-ratio:1;color:#6f91aa;width:180px;font-family:var(--hand);text-align:center;background:#f3f8fc;border:1px dashed #a9c9e3;place-items:center;font-size:19px;line-height:1.25;display:grid;overflow:hidden}.dining-image-preview img{object-fit:cover;object-position:center;width:100%;height:100%}.dining-image-copy{gap:5px;display:grid}.dining-image-copy strong{font-size:12px}.dining-image-copy small{color:var(--muted);font-size:10px;line-height:1.6}.dining-image-picker{color:#2b72b8;cursor:pointer;background:#f3f9fe;border:1px solid #b8d0e7;width:max-content;min-height:32px;padding:0 10px;font-size:10px;line-height:32px;position:relative}.dining-image-picker input{opacity:0;cursor:pointer;width:100%;position:absolute;inset:0}.dining-modal-fields{grid-template-columns:1fr 1fr;gap:15px 12px;display:grid}.dining-modal-fields label{color:#586572;font-size:11px;display:block}.dining-modal-fields label>small{color:var(--muted);margin-top:4px;font-size:9px;display:block}.dining-modal-fields input,.dining-modal-fields select,.dining-modal-fields textarea{box-sizing:border-box;width:100%;color:var(--ink);font:inherit;background:#fcfdff;border:1px solid #d4e0e8;margin-top:7px;padding:10px 11px;font-size:12px;display:block}.dining-modal-fields textarea{resize:vertical}.dining-note-field{grid-column:1/-1}.dining-active-toggle{background:#f8fafc;border:1px solid #e2e9ee;grid-column:1/-1;align-items:flex-start;gap:9px;padding:11px;display:flex!important}.dining-active-toggle input{width:16px;height:16px;accent-color:var(--blue);flex:none;margin:1px 0 0}.dining-active-toggle span{gap:4px;display:grid}.dining-active-toggle strong{color:var(--ink);font-size:11px}.dining-active-toggle small{color:var(--muted);font-size:9px;line-height:1.5}.dining-dish-modal>footer{border-top:1px solid var(--line);color:var(--muted);background:#fbfdff;font-size:10px}.dining-dish-modal>footer>div{gap:7px;display:flex}.dining-dish-modal>footer button:not(.primary-button){color:#637481;cursor:pointer;background:#fff;border:1px solid #d6e1e8;min-height:41px;padding:0 13px;font-size:11px}.dining-dish-modal>footer .primary-button{cursor:pointer}@media (width<=1100px){.dining-layout{grid-template-columns:1fr}.dining-library-panel{order:2}.dining-menus-panel{order:1}}@media (width<=760px){.dining-intro,.dining-conflict{flex-direction:column;align-items:flex-start}.dining-intro h2{font-size:26px}.dining-header-actions{width:100%}.dining-save-button{flex:1}.dining-control-grid{grid-template-columns:1fr}.dining-week-controls{flex-wrap:wrap}.dining-week-controls label,.dining-week-controls button{flex:1}.dining-library-tools{flex-direction:column;align-items:stretch}.dining-filter-tabs{width:100%}.dining-filter-tabs button{flex:1}.dining-menu-grid{grid-template-columns:1fr;padding:10px}.dining-panel-heading h3{font-size:16px}.dining-menu-rule{display:none}.dining-modal-body{grid-template-columns:1fr}.dining-image-upload{grid-template-columns:130px minmax(0,1fr);align-items:center}.dining-image-preview{width:130px}.dining-dish-modal>header,.dining-dish-modal>footer,.dining-modal-body{padding-left:17px;padding-right:17px}.dining-dish-modal>footer{flex-direction:column;align-items:stretch}.dining-dish-modal>footer>div{grid-template-columns:1fr 1.5fr;display:grid}.dining-dish-modal>footer button{width:100%}}@media (width<=430px){.dining-rotation-panel,.dining-week-panel,.dining-library-heading,.dining-menus-heading,.dining-dish-list{padding-left:16px;padding-right:16px}.dining-dish-card{grid-template-columns:48px minmax(0,1fr) auto;gap:9px}.dining-dish-image.large{width:48px;height:48px}.dining-dish-card-copy>span{max-width:180px}.dining-image-upload{grid-template-columns:100px minmax(0,1fr)}.dining-image-preview{width:100px}.dining-modal-fields{grid-template-columns:1fr}.dining-note-field,.dining-active-toggle{grid-column:auto}.dining-selected-row{grid-template-columns:17px 28px minmax(0,1fr) 22px 22px}.dining-remove-button{grid-column:3/-1;justify-self:start;padding:0 7px}.dining-conflict button{width:100%}}.dining-editor-fields{border:0;min-width:0;margin:0;padding:0;display:contents}.staff-workspace{gap:22px;display:grid}.staff-columns{grid-template-columns:minmax(260px,340px) 1fr;align-items:start;gap:22px;display:grid}.staff-form{gap:16px;display:grid}.staff-form label{gap:7px;display:grid}.staff-workspace input:not([type=checkbox]),.staff-workspace select,.staff-workspace textarea{max-width:100%;font:inherit;background:#fff;border:1px solid #ddd8ce;border-radius:9px;padding:10px 12px}.staff-cards{gap:12px;display:grid}.staff-card{border:1px solid #e6e2d8;border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:18px;display:flex}.staff-card p{overflow-wrap:anywhere;margin:8px 0}.staff-card small{color:#716e66;margin-top:7px;display:block}.staff-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.staff-punch{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.staff-punch h3{margin:0 0 8px}.staff-punch>div{margin-right:auto}.staff-metrics{grid-template-columns:repeat(4,1fr);gap:16px;display:grid}.staff-metrics article{background:#fff;border:1px solid #e6e2d8;border-radius:14px;gap:12px;padding:20px;display:grid}.staff-metrics strong{color:#276154;font-size:30px}.staff-modal{z-index:1000;background:#212a3366;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.staff-modal>.tool-panel{background:#fff;border-radius:16px;width:min(560px,100%);max-height:85vh;padding:28px;overflow:auto}.staff-student-picker{gap:12px;max-height:35vh;margin:20px 0;display:grid;overflow:auto}.staff-modal label:has(input[type=checkbox]){gap:10px;padding:7px 0;display:flex}.staff-history{border-bottom:1px solid #ebe6dd;padding:16px 0}.staff-history small{color:#716e66}.staff-history p{margin:8px 0}.staff-shell .sidebar{overflow-y:auto}.staff-workspace .form-error{background:#fff0ec;border-radius:10px;padding:14px}@media (width<=800px){.staff-columns{grid-template-columns:1fr}.staff-metrics{grid-template-columns:repeat(2,1fr)}.staff-shell{display:block}.staff-shell .sidebar{width:auto;height:auto;padding:16px;position:static}.staff-shell .sidebar-note,.staff-shell .sidebar-label{display:none}.staff-shell .nav-list{flex-wrap:wrap;display:flex}.staff-shell .main-area{margin-left:0}.staff-shell .topbar,.staff-shell .content-area{padding:16px}.staff-card{padding:14px}.staff-punch .primary-button{flex:1}.staff-shell .brand-mark{margin-bottom:12px}}.staff-workspace .secondary-button{color:#285d8d;font:inherit;cursor:pointer;background:#fff;border:1px solid #cfdce8;border-radius:8px;min-height:42px;padding:10px 14px}.staff-workspace button:disabled{cursor:default;opacity:.55}.staff-workspace .secondary-button:hover:not(:disabled){background:#eff6fc}.staff-workspace .module-intro{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;display:flex}.staff-workspace button:focus-visible,.staff-workspace input:focus-visible,.staff-workspace select:focus-visible{outline-offset:2px;outline:3px solid #76b6f1}@media (width<=800px){.staff-shell .main-area{width:100%;min-width:0}.staff-shell .logout-button{margin:8px 12px 0;padding:10px 0;display:flex}.staff-shell .role{display:inline-block}.staff-shell .account{overflow-wrap:anywhere;flex-wrap:wrap;justify-content:flex-end;max-width:60%}.staff-workspace .module-intro{margin-bottom:0}.staff-workspace .staff-punch{gap:12px}.staff-workspace .staff-card .secondary-button{flex-shrink:0}}.individual-view{gap:20px;display:grid}.individual-heading,.individual-history>header{justify-content:space-between;align-items:center;gap:16px;display:flex}.individual-heading h2{margin:0 0 10px}.individual-view p{color:#718194;font-size:13px;line-height:1.7}.individual-view button{cursor:pointer}.individual-view button:disabled{opacity:.5;cursor:default}.individual-toolbar{background:#fff;border:1px solid #e0e7ef;border-radius:12px;flex-wrap:wrap;align-items:end;gap:16px;padding:20px;display:flex}.individual-view label{color:#405a72;gap:8px;min-width:0;font-size:13px;display:grid}.individual-view input,.individual-view select,.individual-view textarea{box-sizing:border-box;width:100%;min-width:0;font:inherit;background:#fff;border:1px solid #cfdce8;border-radius:8px;padding:11px 12px}.individual-toolbar label:nth-child(3){flex:1;min-width:170px}.individual-view button:not(.primary-button){color:#2c689e;background:#f8fbff;border:1px solid #cfdeec;border-radius:8px;min-height:42px;padding:10px 14px}.individual-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.individual-metrics article{background:#fff;border:1px solid #e0e7ef;border-radius:12px;gap:14px;padding:22px;display:grid}.individual-metrics span{color:#708197;font-size:12px}.individual-metrics strong{color:#286797;overflow-wrap:anywhere;font-size:25px}.individual-cards{grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;display:grid}.individual-card{background:#fff;border:1px solid #dfe7ef;border-radius:14px;min-width:0;padding:24px}.individual-card header{justify-content:space-between;align-items:start;gap:12px;display:flex}.individual-card h3{color:#294b68;overflow-wrap:anywhere;margin:0}.individual-card p{margin:8px 0 18px}.individual-badge{white-space:nowrap;color:#3375a4;background:#eaf3fc;border-radius:20px;padding:6px 10px;font-size:11px}.individual-course-facts{border-top:1px solid #edf0f4;grid-template-columns:1fr 1fr;gap:12px;padding:16px 0;display:grid}.individual-course-facts small{color:#7a8997;margin-bottom:9px;font-size:12px;display:block}.individual-course-facts strong{font-size:15px}.individual-card footer{flex-wrap:wrap;gap:8px;padding-top:12px;display:flex}.individual-error{background:#fff0ed;border-radius:8px;padding:14px;color:#a04435!important}.individual-empty{text-align:center;background:#fff;border:1px dashed #cad9e6;padding:40px}.individual-history{background:#fff;border:1px solid #dfe7ef;border-radius:14px;min-width:0;padding:24px}.individual-history h3{margin:0}.individual-table-wrap{overflow:auto}.individual-history table{border-collapse:collapse;width:100%;min-width:720px;font-size:13px}.individual-history th,.individual-history td{text-align:left;border-bottom:1px solid #e8edf2;padding:14px 10px}.individual-history td small{color:#8191a1;margin-top:6px;display:block}.individual-modal{z-index:1100;background:#18324e66;justify-content:center;align-items:center;padding:20px;display:flex;position:fixed;inset:0}.individual-modal form{box-sizing:border-box;background:#fff;border-radius:16px;width:min(580px,100%);max-height:90dvh;padding:26px;overflow:auto;box-shadow:0 20px 70px #15365330}.individual-modal header{justify-content:space-between;align-items:start;gap:12px;margin-bottom:20px;display:flex}.individual-modal h3{margin:0}.individual-modal fieldset{border:0;grid-template-columns:1fr 1fr;gap:18px;min-width:0;margin:0;padding:0;display:grid}.individual-modal label:has(textarea){grid-column:1/-1}.individual-modal footer{justify-content:flex-end;margin-top:20px;display:flex}.individual-view :focus-visible{outline-offset:3px;outline:2px solid #559adc}.individual-estimate{background:#edf7ff;border-radius:8px;padding:14px;color:#286797!important}@media (width<=900px){.individual-cards{grid-template-columns:1fr}.individual-metrics{grid-template-columns:1fr 1fr}}@media (width<=600px){.individual-heading,.individual-history>header{flex-direction:column;align-items:stretch}.individual-toolbar{padding:16px}.individual-toolbar label{flex:100%}.individual-metrics article{padding:16px}.individual-metrics strong{font-size:21px}.individual-card{padding:18px}.individual-modal{padding:12px}.individual-modal form{max-height:94dvh;padding:20px}.individual-modal fieldset,.individual-course-facts{grid-template-columns:1fr}.individual-history{padding:16px}}.individual-balance-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin:20px 0 12px;display:grid}.individual-balance-grid>div{background:#f5f8fb;border-radius:10px;gap:10px;min-width:0;padding:15px;display:grid}.individual-balance-grid span{color:#6f8193;font-size:12px}.individual-balance-grid strong{color:#2c526f;overflow-wrap:anywhere;font-size:20px}.individual-balance-grid .individual-balance-remaining{background:#e9f6ef}.individual-balance-remaining strong{color:#25704a}.individual-view .individual-balance-note{margin-bottom:16px;font-size:12px}.individual-promotion{background:#f5f9fd;border:1px solid #d6e5f2;border-radius:12px;grid-column:1/-1;padding:16px}.individual-promotion-rule{grid-template-columns:1fr 1fr;gap:14px;margin-top:16px;display:grid}.individual-promotion p:last-child{color:#286797;margin-bottom:0;font-weight:600}@media (width<=420px){.individual-balance-grid>div{padding:12px}.individual-balance-grid strong{font-size:17px}.individual-promotion-rule{grid-template-columns:1fr}}.individual-lesson-fields{background:#f5f9fd;border:1px solid #d6e5f2;border-radius:12px;grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;padding:16px;display:grid}.individual-lesson-fields label:has(textarea){grid-column:1/-1}.individual-history .individual-lesson-record{vertical-align:top;min-width:220px;max-width:330px}.individual-lesson-record strong{color:#294b68;display:block}.individual-lesson-record p,.individual-lesson-record small{white-space:pre-wrap;overflow-wrap:anywhere}.individual-lesson-record p{color:#526a7c;margin:6px 0}@media (width<=600px){.individual-lesson-fields{grid-template-columns:1fr}}.individual-form-context{color:#4a647c;overflow-wrap:anywhere;background:#f3f7fb;border:1px solid #e0e9f2;border-radius:12px;gap:8px;margin-bottom:20px;padding:16px;font-size:13px;display:grid}.individual-form-context strong{color:#294f6e;font-size:18px}.individual-form-context small{color:#6a7d8e}.individual-form-context>button{justify-self:start;font-size:12px}.individual-full-field{grid-column:1/-1;min-width:0}.individual-view .individual-field-help{color:#6b7d8d;margin:8px 0 0;font-size:12px}.individual-quantity-options{grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin-top:10px;display:grid}.individual-view .individual-quantity-options button{white-space:nowrap;min-width:0;padding:8px 4px;font-size:13px}.individual-view .individual-quantity-options button[aria-pressed=true]{color:#205a8c;background:#e7f2ff;border-color:#71a6d0;font-weight:600}.individual-promotion .individual-promotion-progress{color:#2e658b;margin-bottom:0;font-weight:500}.individual-settlement{background:#f2faf5;border:1px solid #cbe1d4;border-radius:12px;margin-top:20px;padding:18px}.individual-settlement h4{color:#2a6549;margin:0 0 14px;font-size:14px}.individual-settlement dl{gap:12px;margin:0;display:grid}.individual-settlement dl>div{justify-content:space-between;align-items:baseline;gap:16px;display:flex}.individual-settlement dt{color:#5a7265;flex-shrink:0;font-size:13px}.individual-settlement dd{text-align:right;color:#24563e;overflow-wrap:anywhere;min-width:0;margin:0;font-size:15px;font-weight:600}.individual-settlement dd small{margin-top:6px;font-size:12px;font-weight:400;display:block}.individual-settlement dl>div:first-child dd{font-size:24px}.individual-settlement p{margin-bottom:0}.individual-settlement .individual-validation,.individual-settlement .individual-zero-balance{color:#9b5720;background:#fff3df;border-radius:8px;margin-top:8px;padding:12px;font-size:13px}.individual-view .individual-pay-all{white-space:normal;overflow-wrap:anywhere;max-width:100%;margin-top:10px;font-size:12px}.individual-modal form>footer{z-index:1;background:#fff;border-top:1px solid #e3eaf0;gap:10px;margin:20px -26px -26px;padding:16px 26px 20px;position:sticky;bottom:-26px}.individual-modal form>footer button{white-space:normal;min-width:0;line-height:1.5}.individual-receipt{overflow-wrap:anywhere;background:#edf8f0;border:1px solid #cbe3d3;border-radius:12px;justify-content:space-between;align-items:start;gap:16px;min-width:0;padding:20px;scroll-margin-top:110px;display:flex}.individual-receipt>div{min-width:0}.individual-receipt strong{color:#286445}.individual-receipt p{color:#4d715a;margin:8px 0 0;font-size:12px}.individual-receipt>button{flex-shrink:0}.individual-history-actions{flex-wrap:wrap;gap:10px;margin-bottom:18px;display:flex}.individual-history .individual-error button{margin:8px 0 0;display:block}@media (width<=600px){.individual-modal form>footer{margin:20px -20px -20px;padding:14px 20px 16px;bottom:-20px}.individual-modal form>footer .primary-button{flex:1}.individual-settlement{padding:14px}.individual-receipt{flex-direction:column;padding:16px}.individual-settlement dd{font-size:14px}.individual-form-context{padding:14px}}@media (width<=360px){.individual-modal form{padding:16px}.individual-modal form>footer{margin:20px -16px -16px;padding:12px 16px;bottom:-16px}.individual-quantity-options{gap:5px}.individual-settlement dl>div{gap:8px}.individual-settlement dt{font-size:12px}}.individual-renewal-alerts{background:#fffaf0;border:1px solid #efd49b;border-radius:14px;gap:14px;min-width:0;padding:20px;display:grid}.individual-renewal-alerts>header{justify-content:space-between;align-items:start;gap:16px;display:flex}.individual-renewal-alerts h3{color:#7a5318;margin:0}.individual-renewal-alerts header p{color:#866b43;margin:6px 0 0}.individual-renewal-alerts>header>span{color:#765116;white-space:nowrap;background:#f6e6bf;border-radius:20px;padding:6px 10px;font-size:12px}.individual-renewal-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.individual-renewal-list article{background:#fff;border:1px solid #eddfc1;border-radius:10px;justify-content:space-between;align-items:center;gap:14px;min-width:0;padding:15px;display:flex}.individual-renewal-list article>div{min-width:0}.individual-renewal-list strong,.individual-renewal-list small{overflow-wrap:anywhere;display:block}.individual-renewal-list strong{color:#584622}.individual-renewal-list p{color:#746546;margin:5px 0}.individual-renewal-list small{color:#8b7a5c;font-size:12px}.individual-renewal-list button{flex-shrink:0}.individual-renewal-prefill{background:#fff6df;border-radius:9px;margin:0 0 18px;padding:12px 14px;color:#79551b!important}@media (width<=900px){.individual-renewal-list{grid-template-columns:1fr}}@media (width<=600px){.individual-renewal-alerts{padding:16px}.individual-renewal-alerts>header,.individual-renewal-list article{flex-direction:column;align-items:stretch}.individual-renewal-alerts>header>span{align-self:start}.individual-renewal-list button{width:100%}}.individual-correction-summary{color:#76551d;background:#fff8e9;border:1px solid #ead6ad;border-radius:10px;margin-bottom:16px;padding:14px}.individual-correction-summary p{color:#7a6541;margin:6px 0 0}.individual-row-actions{flex-direction:column;gap:8px;min-width:90px;display:flex}.individual-row-actions button{white-space:nowrap}.individual-money-summary{border-top:1px solid #e7edf1;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:14px 0;display:grid}.individual-money-summary small{color:#698092;font-size:12px;display:block}.individual-money-summary strong{overflow-wrap:anywhere;color:#245e49;margin-top:6px;display:block}.individual-money-summary+.individual-note{font-size:12px}@media (width<=600px){.individual-money-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.individual-money-summary>div:first-child{grid-column:1/-1}}.learning-feedback-view{gap:18px;display:grid}.learning-overview{background:linear-gradient(135deg,#f7fbff,#edf6ff);border:1px solid #dce9f7;border-radius:18px;justify-content:space-between;align-items:flex-end;gap:24px;padding:26px 28px;display:flex}.learning-overview h2{color:#123b69;margin:6px 0 8px;font-size:25px}.learning-overview p{color:#68809a;margin:0}.learning-overview label{color:#506d8d;gap:7px;min-width:180px;font-size:13px;font-weight:700;display:grid}.learning-overview input,.learning-search,.learning-field textarea{box-sizing:border-box;color:#173f6c;background:#fff;border:1px solid #d5e2f1;border-radius:10px;width:100%}.learning-overview input,.learning-search{height:42px;padding:0 12px}.learning-summary{background:#fff;border:1px solid #e2ebf4;border-radius:15px;grid-template-columns:repeat(4,1fr);display:grid;overflow:hidden}.learning-summary div{border-right:1px solid #edf2f7;align-items:baseline;gap:9px;padding:18px 22px;display:flex}.learning-summary div:last-child{border:0}.learning-summary strong{color:#164d86;font-size:26px}.learning-summary span{color:#72869b;font-size:13px}.learning-summary .published strong{color:#168263}.learning-summary .draft strong{color:#b68113}.learning-summary .missing strong{color:#7a8796}.learning-workspace{grid-template-columns:minmax(260px,32%) minmax(0,1fr);align-items:start;gap:18px;display:grid}.learning-roster,.learning-editor{background:#fff;border:1px solid #e0eaf4;border-radius:17px;box-shadow:0 10px 30px #1f5b970d}.learning-roster{padding:18px}.learning-roster-head{justify-content:space-between;align-items:center;margin-bottom:13px;display:flex}.learning-roster-head div{gap:3px;display:grid}.learning-roster-head strong{color:#183f69}.learning-roster-head span{color:#8495a7;font-size:12px}.learning-roster-head button{color:#2676c8;background:0 0;border:0}.learning-student-list{gap:7px;max-height:625px;margin-top:12px;display:grid;overflow:auto}.learning-student-list>button{text-align:left;background:#f8fafc;border:1px solid #0000;border-radius:12px;grid-template-columns:38px 1fr auto;align-items:center;gap:10px;padding:10px;display:grid}.learning-student-list>button:hover,.learning-student-list>button.active{background:#eef7ff;border-color:#bed8f2}.learning-avatar{color:#246ab2;background:#dcecff;border-radius:50%;place-items:center;width:38px;height:38px;font-style:normal;font-weight:800;display:grid}.learning-avatar.large{width:48px;height:48px;font-size:18px}.learning-student-list button>span:nth-child(2){gap:2px;display:grid}.learning-student-list small{color:#8293a5}.learning-student-list i{color:#7a8999;background:#edf1f5;border-radius:999px;padding:4px 7px;font-size:11px;font-style:normal}.learning-student-list i.published{color:#15775d;background:#e4f6ef}.learning-student-list i.draft{color:#9b6a00;background:#fff4d9}.learning-editor{min-height:500px;padding:25px}.learning-editor-empty{color:#8a9aab;text-align:center;align-content:center;place-items:center;min-height:450px;display:grid}.learning-editor-empty span{color:#76a9da;font-size:34px}.learning-editor-empty strong{color:#456685;margin:8px}.learning-editor-empty p{margin:0}.learning-editor-head,.learning-editor-head>div,.learning-actions,.learning-actions>div{align-items:center;display:flex}.learning-editor-head{border-bottom:1px solid #edf2f7;justify-content:space-between;padding-bottom:19px}.learning-editor-head>div{gap:12px}.learning-editor-head h3{color:#153f6d;margin:3px 0}.learning-editor-head p{color:#8494a5;margin:0;font-size:12px}.feedback-state{color:#936200;background:#fff1ce;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:700}.feedback-state.published{color:#15775d;background:#e4f6ef}.learning-field{color:#385a7e;gap:9px;margin-top:20px;font-size:13px;font-weight:700;display:grid}.learning-field>small,.learning-field>span small{color:#91a0af;font-weight:400}.learning-choice-row,.subject-tags,.focus-rating{flex-wrap:wrap;gap:8px;display:flex}.learning-choice-row button,.subject-tags button{color:#58718d;background:#fff;border:1px solid #d8e4f0;border-radius:9px;padding:8px 12px}.learning-choice-row button.selected,.subject-tags button.selected{color:#1767b6;background:#eaf4ff;border-color:#3b83ca}.focus-rating{align-items:center}.focus-rating button{color:#d6e0e9;background:0 0;border:0;padding:0;font-size:25px}.focus-rating button.selected{color:#f0b72f}.focus-rating small{color:#7e90a3;margin-left:6px}.learning-field textarea{resize:vertical;line-height:1.65;font:inherit;padding:11px 12px;font-weight:400}.learning-actions{border-top:1px solid #edf2f7;justify-content:space-between;gap:18px;margin-top:24px;padding-top:18px}.learning-actions>span{color:#8a9aaa;font-size:12px}.learning-actions>div{gap:9px}.learning-actions button{color:#466783;background:#fff;border:1px solid #d4e0ec;border-radius:9px;min-height:39px;padding:0 15px}.learning-actions .primary-button{color:#fff;background:#2677c9;border-color:#2677c9}@media (width<=900px){.learning-overview{flex-direction:column;align-items:stretch}.learning-summary{grid-template-columns:repeat(2,1fr)}.learning-workspace{grid-template-columns:1fr}.learning-student-list{max-height:320px}.learning-actions{flex-direction:column;align-items:stretch}.learning-actions>div{justify-content:flex-end}}@media (width<=540px){.learning-summary{grid-template-columns:1fr 1fr}.learning-overview,.learning-editor{padding:19px}.learning-choice-row button{flex:40%}.learning-actions>div{grid-template-columns:1fr 1fr;display:grid}.learning-actions button{padding:0 8px}}.qr-image-field{gap:10px;min-width:0;display:grid}.qr-image-field>label{gap:7px;min-width:0;display:grid}.qr-image-field>label input{width:100%}.qr-image-controls{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.qr-image-controls small{color:#697e91;line-height:1.45}.qr-image-upload{color:#216aab;cursor:pointer;background:#f4f9ff;border:1px solid #a9c8e8;border-radius:7px;justify-content:center;align-items:center;min-height:36px;padding:7px 12px;font-weight:700;display:inline-flex}.qr-image-upload:hover{background:#e9f3ff}.qr-image-upload input{opacity:0;width:1px;height:1px;position:absolute}.qr-image-upload:has(input:focus-visible){outline-offset:2px;outline:3px solid #8cbaff}.qr-image-upload:has(input:disabled){opacity:.6;cursor:wait}.qr-image-preview{background:#f8fbff;border:1px dashed #cad8e5;border-radius:9px;align-items:center;gap:16px;min-height:140px;padding:12px;display:flex}.qr-image-preview img{object-fit:contain;background:#fff;width:132px;height:132px;display:block}.qr-image-preview span{color:#6a7f93;font-size:13px}.qr-image-preview a{color:#216aab;word-break:break-all;font-size:13px}@media (width<=600px){.qr-image-preview{flex-direction:column;align-items:flex-start}}.integration-view{gap:16px;display:grid}.integration-intro{justify-content:space-between;align-items:center;gap:24px;padding:0;display:flex}.integration-intro h2{color:var(--ink);margin:0 0 8px;font-size:24px}.integration-intro h2 em{color:var(--blue);font-style:normal}.integration-intro p{color:var(--muted);margin:0;font-size:13px;line-height:1.8}.integration-count{color:var(--blue);text-align:right;font-size:24px;font-family:var(--mono);flex-shrink:0}.integration-count small{color:var(--muted);margin-top:8px;font-size:11px;display:block}.integration-guide{border-left:3px solid var(--blue);background:#f0f6fb;padding:11px 16px;font-size:12px;line-height:1.8}.integration-guide summary{cursor:pointer;color:#46657f;width:fit-content}.integration-guide summary:focus-visible{outline-offset:3px;outline:2px solid #84b9ef}.integration-guide p{color:#62778a;margin:10px 0 0}.integration-tabs{border:1px solid var(--line);background:#fff;grid-template-columns:repeat(6,minmax(0,1fr));display:grid}.integration-tabs button{border:0;border-right:1px solid var(--line);min-height:48px;font:inherit;cursor:pointer;color:var(--muted);background:0 0;align-items:center;gap:7px;padding:12px 10px;font-size:12px;display:flex}.integration-tabs button[aria-selected=true]{color:var(--blue);box-shadow:inset 0 -3px var(--blue);background:#edf5fc}.integration-tabs small{font-family:var(--mono);opacity:.7;font-size:10px}.integration-panel{border:1px solid var(--line);background:#fff;container-type:inline-size}.integration-panel-header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;padding:20px 24px;display:flex}.integration-panel-header h3{margin:0 0 8px;font-size:20px}.integration-panel-header p{color:var(--muted);margin:0;font-size:12px;line-height:1.7}.integration-status{white-space:nowrap;color:#80682e;background:#f4f1e7;padding:7px 12px;font-size:11px}.integration-notice{color:#64768b;background:#f8f9fb;margin:18px 24px 0;padding:12px 15px;font-size:12px;line-height:1.8}.integration-fields{border:0;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:22px 24px;min-width:0;margin:0;padding:24px;display:grid}.integration-field{flex-direction:column;gap:8px;min-width:0;font-size:12px;display:flex;position:relative}.integration-field-label{color:#34495b;justify-content:space-between;align-items:center;gap:12px;min-height:20px;line-height:20px;display:flex}.integration-field-label>span{min-width:0}.integration-field-label em{color:#6d7f91;background:#f0f3f6;border-radius:10px;flex-shrink:0;padding:1px 7px;font-size:10px;font-style:normal;line-height:18px}.integration-field input,.integration-field select,.integration-row input,.integration-row select{box-sizing:border-box;width:100%;min-width:0;min-height:42px;font:inherit;color:var(--ink);background:#fff;border:1px solid #cdd8e3;border-radius:4px;padding:10px 12px;font-size:13px}.integration-secret-input{min-width:0;display:block}.integration-secret-input.has-actions{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:8px;display:grid}.integration-secret-entry{min-width:0;display:block;position:relative}.integration-secret-entry input{padding-right:45px}.integration-eye-button{color:#718397;cursor:pointer;background:#fff;border:0;border-left:1px solid #e1e7ed;border-radius:0 4px 4px 0;place-items:center;width:40px;height:40px;padding:0;display:grid;position:absolute;top:1px;right:1px}.integration-eye-button:hover,.integration-eye-button.visible{color:#226cb5;background:#f3f8fd}.integration-eye-button svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:19px;height:19px}.integration-eye-button .eye-slash{stroke-width:2px}.integration-secret-actions{gap:6px;display:flex}.integration-secret-actions button{white-space:nowrap;color:#226cb5;min-height:42px;font:inherit;cursor:pointer;background:#f3f8fd;border:1px solid #b8d0e7;border-radius:4px;padding:0 12px;font-size:12px}.integration-view input:focus,.integration-view select:focus,.integration-view button:focus-visible{outline-offset:2px;outline:2px solid #84b9ef}.integration-field small{color:var(--muted);font-size:11px;line-height:1.7}.integration-login-method{grid-column:1/-1;gap:10px;font-size:13px;display:grid}.integration-login-method>div[role=group]{flex-wrap:wrap;gap:9px;display:flex}.integration-login-method button{color:#385a78;font:inherit;cursor:pointer;background:#f7fafc;border:1px solid #cbd8e4;border-radius:8px;padding:12px 18px}.integration-login-method button[aria-pressed=true]{color:#165fa9;background:#e9f3ff;border-color:#287bd5;font-weight:700}.integration-login-method small{color:var(--muted);font-size:11px;line-height:1.7}.integration-clear{color:#8d6262;align-items:center;gap:7px;font-size:11px;display:flex}.integration-clear input,.integration-switch input{width:15px;height:15px;min-height:0;accent-color:var(--blue)}.integration-switch-control{box-sizing:border-box;color:#617386;background:#f8fafc;border:1px solid #d9e1e8;border-radius:4px;align-items:center;gap:9px;min-height:42px;padding:10px 12px;font-size:12px;display:flex}.integration-switch-control input{width:16px;height:16px;accent-color:var(--blue);flex:none;margin:0}.integration-rows{border-top:1px solid var(--line);grid-column:1/-1;min-width:0;padding-top:24px}.integration-rows-title{justify-content:space-between;align-items:center;gap:14px;font-size:14px;display:flex}.integration-rows button,.integration-reload,.integration-empty button{cursor:pointer;color:#336e9f;background:#f3f7fb;border:1px solid #cddbe9;border-radius:4px;padding:8px 12px;font-size:12px}.integration-rows p{color:var(--muted);font-size:11px;line-height:1.8}.integration-row-empty{color:#8c9aa9;text-align:center;border:1px dashed #d7e0e9;padding:20px;font-size:12px}.integration-row{border-bottom:1px solid #eef1f5;grid-template-columns:1fr 1fr auto;align-items:end;gap:12px;padding:14px 0;display:grid}.integration-row.devices{grid-template-columns:1fr 1fr 1fr 100px auto}.integration-row label{gap:7px;min-width:0;font-size:11px;display:grid}.integration-row-actions{gap:6px;padding-bottom:3px;display:flex}.integration-missing{color:#8c7341;background:#fffaf0;gap:12px;margin:0 24px 22px;padding:14px 20px;font-size:12px;line-height:1.9;display:flex}.integration-missing strong{white-space:nowrap}.integration-footer{border-top:1px solid var(--line);background:#fbfcfd;align-items:center;gap:14px;padding:20px 24px;display:flex}.integration-footer>div{margin-right:auto;font-size:12px}.integration-footer small{color:var(--muted);margin-top:7px;font-size:11px;display:block}.integration-footer .primary-button{width:auto;min-width:175px;margin:0}.integration-error{color:#a14038;background:#fff0ef;margin:0 24px 20px;padding:12px 16px;font-size:13px}.integration-empty{text-align:center;border:1px solid var(--line);color:var(--muted);background:#fff;padding:40px}.integration-view button:disabled{opacity:.55;cursor:not-allowed}@media (width<=1000px){.integration-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.integration-row.devices{grid-template-columns:repeat(2,minmax(0,1fr))}.integration-intro h2{font-size:24px}}@media (width<=650px){.integration-intro,.integration-panel-header,.integration-guide{flex-direction:column;align-items:flex-start}.integration-count{text-align:left;font-size:22px}.integration-fields{grid-template-columns:1fr;padding:20px 16px}.integration-panel-header{padding:20px 16px}.integration-notice,.integration-missing{margin-left:16px;margin-right:16px}.integration-tabs button{gap:5px;padding:14px 8px;font-size:11px}.integration-row,.integration-row.devices{grid-template-columns:1fr}.integration-footer{flex-wrap:wrap;padding:18px 16px}.integration-footer>div{width:100%}.integration-missing{flex-direction:column;gap:4px}}@media (width<=560px){.integration-secret-input.has-actions{grid-template-columns:1fr}.integration-secret-actions button:first-child{flex:1}}@container (width<=720px){.integration-fields{grid-template-columns:1fr}.integration-secret-input.has-actions{grid-template-columns:minmax(0,1fr) auto}}@container (width<=480px){.integration-secret-input.has-actions{grid-template-columns:1fr}}.integration-cos .storage-view-embedded{border:1px solid var(--line);background:#fff;margin:0}.integration-storage-status{color:#657384;background:#f2f5f8;flex-shrink:0;align-items:center;gap:7px;padding:7px 10px;font-size:11px;display:inline-flex}.integration-storage-status:before{content:"";background:#98a5b0;border-radius:50%;width:6px;height:6px}.integration-storage-status.online{color:#26784d;background:#eef8f1}.integration-storage-status.online:before{background:#2ba85c}.integration-cos .storage-form{border:0;gap:0 24px;padding:24px}.integration-cos .storage-section .panel-heading{margin-bottom:18px}.integration-cos .storage-section .panel-heading .eyebrow{display:none}.integration-cos .storage-section .panel-heading h3{margin:0;font-size:16px}.integration-cos .storage-form label{margin-bottom:16px;font-size:12px}.integration-cos .storage-form input:not([type=checkbox]),.integration-cos .storage-form select{border-radius:4px;min-height:42px;margin-top:7px;padding:10px 12px;font-size:13px}.integration-cos .provider-choice{gap:12px;margin-bottom:16px}.integration-cos .provider-choice button{min-height:72px;padding:12px 14px}.integration-cos .provider-choice strong{font-size:14px}.integration-cos .provider-choice span{font-size:12px}.integration-cos .switch-row{min-height:60px;padding:12px 14px}.integration-cos .switch-row strong{font-size:13px}.integration-cos .switch-row small{font-size:11px}.integration-cos .security-strip{padding:12px 14px}.integration-cos .security-strip p{font-size:12px}.integration-cos .storage-facts{grid-template-columns:repeat(3,minmax(0,1fr));margin:18px 0}.integration-cos .storage-facts div{min-height:68px;padding:12px}.integration-cos .storage-facts dt{font-size:11px}.integration-cos .storage-facts dd{font-size:13px}.integration-cos .storage-footer{margin-top:24px;padding-top:20px}.integration-cos .storage-footer span{font-size:12px}@media (width<=1180px){.integration-cos .storage-settings-form>.storage-section:nth-of-type(2){margin-top:24px;padding-top:24px}}@media (width<=650px){.integration-intro{gap:12px}.integration-count{align-items:center;gap:12px;font-size:20px;display:flex}.integration-count small{margin:0;font-size:10px}.integration-tabs small{display:none}.integration-tabs button{justify-content:center;min-height:44px}.integration-cos .storage-form{padding:20px 16px}.integration-cos .storage-facts,.integration-cos .provider-choice{grid-template-columns:repeat(2,minmax(0,1fr))}.integration-cos .provider-choice button{padding:10px}.integration-cos .provider-choice span{font-size:11px}}.integration-runtime{background:#f5f9fd;border:1px solid #dbe6f1;flex-wrap:wrap;align-items:center;gap:12px;margin:20px 0;padding:20px;display:flex}.integration-runtime>div{flex:100%}.integration-runtime p{color:#617b94;margin:7px 0 0;font-size:13px;line-height:1.7}.integration-runtime button{color:#226cb5;cursor:pointer;background:#fff;border:1px solid #b8d0e7;border-radius:5px;padding:10px 14px}.integration-runtime button:disabled{opacity:.45;cursor:not-allowed}.integration-view{gap:24px;max-width:1320px;margin:0 auto}.integration-intro{padding:8px 0}.integration-intro h2{letter-spacing:-.7px;font-size:28px}.integration-count{background:#f3f8fd;border:1px solid #dbe7f2;border-radius:14px;padding:14px 20px;font-size:25px}.integration-guide{background:#f7fafd;border:1px solid #dce7f1;border-radius:12px;order:1;padding:14px 18px}.integration-tabs{background:0 0;border:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px}.integration-tabs button{text-align:left;background:#fff;border:1px solid #dee6ed;border-radius:14px;align-items:flex-start;gap:14px;min-height:124px;padding:20px;transition:background .15s,border-color .15s,box-shadow .15s;position:relative}.integration-tabs button:last-child{border-right:1px solid #dee6ed}.integration-tabs button:hover{background:#f9fcff;border-color:#9dbddd}.integration-tabs button[aria-selected=true]{background:#f0f7ff;border:1px solid #75a9da;box-shadow:0 3px 14px #2b6dad12}.integration-service-icon{color:#4d7295;height:36px;font-family:var(--mono);background:#edf3f9;border-radius:10px;flex:0 0 36px;place-items:center;font-size:12px;display:grid}.integration-tabs button[aria-selected=true] .integration-service-icon{color:#fff;background:#2877c5}.integration-service-copy{gap:7px;min-width:0;display:grid}.integration-service-copy strong{color:#223e57;font-size:15px;font-weight:650}.integration-service-copy>span{color:#7a8b9d;font-size:11px;line-height:1.6}.integration-service-copy em{color:#547d70;font-size:11px;font-style:normal}.integration-service-arrow{color:#8ba0b3;margin-left:auto}.integration-panel{border:1px solid #dfe7ee;border-radius:18px;overflow:clip;box-shadow:0 6px 24px #23496d05}.integration-panel-header{background:linear-gradient(120deg,#f7fbff,#fff);padding:26px 28px}.integration-panel-header h3{font-size:22px}.integration-panel-header p{max-width:700px;font-size:13px}.integration-status{color:#446987;background:#eaf2fa;border-radius:30px;padding:8px 13px}.integration-notice{background:#fafcfe;border:1px solid #edf1f5;border-radius:10px;margin:20px 28px 0}.integration-groups{gap:14px;padding:24px 28px;display:grid}.integration-group{background:#fff;border:1px solid #e1e8ef;border-radius:12px;min-width:0}.integration-group summary{cursor:pointer;align-items:center;gap:14px;padding:20px;list-style:none;display:flex}.integration-group summary::-webkit-details-marker{display:none}.integration-group summary:focus-visible{outline-offset:3px;border-radius:12px;outline:2px solid #84b9ef}.integration-group summary>span:nth-child(2){flex:1;min-width:0}.integration-group summary strong{color:#29465e;font-size:15px;display:block}.integration-group summary small{text-overflow:ellipsis;white-space:nowrap;color:#8493a1;margin-top:7px;font-size:11px;display:block;overflow:hidden}.integration-group-number{font-family:var(--mono);color:#7b93a8;font-size:12px}.integration-group-chevron{color:#718b9f;font-size:19px;transition:transform .15s}.integration-group[open]{border-color:#c9dceb}.integration-group[open] summary{background:#f7fafd;border-bottom:1px solid #e7edf3;border-radius:12px 12px 0 0}.integration-group[open] .integration-group-chevron{transform:rotate(180deg)}.integration-fields{gap:24px;padding:24px}.integration-field{gap:10px}.integration-field-label{align-items:flex-start;font-size:13px}.integration-field input,.integration-field select,.integration-row input,.integration-row select{background:#fcfdff;border-color:#d7e1eb;border-radius:8px;min-height:44px}.integration-eye-button{background:#fcfdff;border-radius:0 8px 8px 0;height:42px}.integration-switch-control{border-radius:8px;min-height:44px}.integration-rows{background:#fafcfe;border:1px solid #e6edf3;border-radius:10px;padding:18px}.integration-row{padding:16px 0}.integration-verification-upload{color:#345772;background:#f3f8fe;border:1px dashed #9fbee0;border-radius:8px;gap:8px;margin:12px 0;padding:14px;font-size:12px;display:grid}.integration-verification-upload label{gap:8px;font-weight:600;display:grid}.integration-verification-upload input[type=file]{max-width:100%;font:inherit}.integration-verification-upload span{line-height:1.6}.integration-rows-title{flex-wrap:wrap}.integration-secret-actions button,.integration-runtime button,.integration-reload,.integration-rows button{border-radius:8px}.integration-missing{border-radius:10px;margin:0 28px 22px}.integration-runtime{background:#f6f9fc;border-color:#e1e9f1;border-radius:12px;margin:0 28px 24px;padding:20px}.integration-runtime strong{color:#345772;font-size:14px}.integration-runtime p{font-size:12px}.integration-sms-test{gap:10px}.integration-sms-test label{color:#345772;font-size:13px;font-weight:600}.integration-sms-test input{box-sizing:border-box;width:min(100%,260px);min-height:40px;font:inherit;background:#fff;border:1px solid #cbdce9;border-radius:8px;padding:8px 12px}.integration-sms-test>p{flex-basis:100%;margin:0}.integration-template-catalog{background:#f8fbfe;border:1px solid #dce8f2;border-radius:12px;gap:16px;margin:0 28px 24px;padding:20px;display:grid}.integration-template-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.integration-template-heading strong{color:#294c68;font-size:14px}.integration-template-heading p,.integration-template-empty{color:#617b94;margin:7px 0 0;font-size:12px;line-height:1.7}.integration-template-heading button,.integration-template-picker button{color:#2169a8;min-height:42px;font:inherit;cursor:pointer;white-space:nowrap;background:#fff;border:1px solid #a9c7e1;border-radius:8px;padding:9px 14px;font-size:12px}.integration-template-picker{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:12px;display:grid}.integration-template-picker label{color:#3d5d76;gap:7px;font-size:12px;display:grid}.integration-template-picker select{box-sizing:border-box;width:100%;min-width:0;min-height:44px;color:var(--ink);font:inherit;background:#fff;border:1px solid #cddbe7;border-radius:8px;padding:9px 12px}.integration-template-preview{background:#fff;border:1px solid #e0e8ef;border-radius:10px;min-width:0;padding:15px}.integration-template-preview>div{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.integration-template-preview strong{color:#304f69;font-size:13px}.integration-template-preview code{overflow-wrap:anywhere;color:#6f8191;font-size:10px}.integration-template-preview p{color:#6b7d8e;margin:9px 0 0;font-size:11px;line-height:1.65}.integration-template-preview pre{color:#40566a;max-height:220px;font:inherit;white-space:pre-wrap;overflow-wrap:anywhere;background:#f3f6f9;border-radius:8px;margin:12px 0 0;padding:12px;font-size:11px;line-height:1.75;overflow:auto}.integration-template-message{color:#39704e;background:#edf6ee;border-radius:8px;margin:0;padding:13px 15px;font-size:12px;line-height:1.7}.integration-template-message strong{margin-bottom:4px;font-size:13px;display:block}.integration-template-message p{margin:0}.integration-template-message ol{margin:9px 0 0;padding-left:20px}.integration-template-message.permission_required,.integration-template-message.ip_whitelist_required{color:#80591b;background:#fff8e8;border:1px solid #efd6a0}.integration-footer{background:#f8fbfe;gap:12px;padding:20px 28px}.integration-footer .primary-button{border-radius:9px}.integration-cos .storage-view-embedded{border-radius:18px;overflow:clip}.integration-cos .storage-form{gap:24px;padding:28px}.integration-cos .storage-section{border:1px solid #e1e8ef;border-radius:12px;min-width:0;padding:20px}@media (width<=1100px){.integration-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=650px){.integration-view{gap:18px}.integration-intro h2{font-size:25px}.integration-count{box-sizing:border-box;width:100%;padding:12px 16px}.integration-tabs{gap:8px}.integration-tabs button{justify-content:flex-start;gap:8px;min-height:112px;padding:14px 12px}.integration-service-icon{display:none}.integration-service-copy strong{font-size:13px}.integration-service-copy>span{font-size:10px}.integration-service-arrow{display:none}.integration-panel-header{gap:12px;padding:20px 16px}.integration-groups{gap:12px;padding:18px 12px}.integration-group summary{gap:10px;padding:16px 12px}.integration-fields{grid-template-columns:1fr;gap:20px;padding:18px 14px}.integration-notice,.integration-missing,.integration-runtime{margin-left:12px;margin-right:12px}.integration-template-catalog{margin-left:12px;margin-right:12px;padding:16px 12px}.integration-template-heading{flex-direction:column;align-items:flex-start}.integration-template-heading button{width:100%;min-height:44px}.integration-template-picker{grid-template-columns:1fr}.integration-template-picker button{width:100%;min-height:44px}.integration-template-preview>div{flex-direction:column}.integration-rows{padding:12px}.integration-row,.integration-row.devices{grid-template-columns:1fr}.integration-footer{padding:16px}.integration-footer .primary-button{flex:1;min-width:0}.integration-cos .storage-form{padding:14px}.integration-cos .storage-section{padding:16px}}.site-accounts-view{gap:22px;display:grid}.site-accounts-head{justify-content:space-between;align-items:center;gap:20px;display:flex}.site-accounts-head h2{margin:6px 0;font-size:25px}.site-accounts-head p,.site-accounts-panel-head p{color:#69809a;margin:4px 0 0}.site-accounts-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;display:grid}.site-accounts-summary>div,.site-accounts-panel{background:#fff;border:1px solid #dce6f0;border-radius:13px}.site-accounts-summary>div{flex-direction:column;gap:10px;padding:20px;display:flex}.site-accounts-summary span{color:#6a819b;font-size:13px}.site-accounts-summary strong{color:#1d6bc3;font-size:26px}.site-accounts-panel{overflow:hidden}.site-accounts-panel-head{justify-content:space-between;align-items:center;gap:20px;padding:20px;display:flex}.site-accounts-panel-head h3{margin:0}.site-accounts-panel-head input{border:1px solid #cbd9e8;border-radius:8px;min-width:220px;margin-top:5px;padding:9px 12px;display:block}.site-accounts-table{overflow-x:auto}.site-accounts-table table{border-collapse:collapse;width:100%;min-width:780px}.site-accounts-table th,.site-accounts-table td{text-align:left;border-top:1px solid #e9eff5;padding:12px 16px;font-size:13px}.site-accounts-table th{color:#68809b;background:#f7faff;font-weight:700}.site-accounts-table td strong,.site-accounts-table td small{display:block}.site-accounts-table td small{color:#7b91a7;margin-top:4px}.site-accounts-table button{white-space:nowrap}.site-accounts-agent{text-overflow:ellipsis;white-space:nowrap;max-width:270px;overflow:hidden}.site-account-status{border-radius:99px;padding:4px 9px;font-weight:700}.site-account-status.active{color:#19775a;background:#e3f4ee}.site-account-status.disabled{color:#ae4747;background:#fce9e8}.site-accounts-error{color:#b24141}.site-accounts-success{color:#19775a}@media (width<=680px){.site-accounts-summary{grid-template-columns:1fr 1fr}.site-accounts-panel-head{flex-direction:column;align-items:stretch}.site-accounts-panel-head input{width:100%}}.site-account-actions{min-width:260px}.site-account-actions>button+button{margin-left:6px}.site-account-link-choice{align-items:center;gap:6px;margin-top:8px;display:flex}.site-account-link-choice select{color:#284c6b;background:#fff;border:1px solid #cbd9e8;border-radius:8px;min-width:0;max-width:220px;padding:8px}.site-account-link-choice button{padding:8px 10px}.site-event-filters{flex-wrap:wrap;align-items:end;gap:10px;padding:0 20px 18px;display:flex}.site-event-filters label{color:#68809b;gap:4px;font-size:12px;display:grid}.site-event-filters input,.site-event-filters select{color:#284c6b;background:#fff;border:1px solid #cbd9e8;border-radius:8px;max-width:200px;min-height:36px;padding:6px 9px}.site-event-filters button{min-height:36px}.site-accounts-table code{color:#315777;overflow-wrap:anywhere;white-space:normal;max-width:320px;font-size:12px;display:block}.site-accounts-table td code+small{margin-top:8px}.site-accounts-panel-head label{color:#627c97;font-size:13px}.site-accounts-panel-head select{color:#284c6b;background:#fff;border:1px solid #cbd9e8;border-radius:8px;min-height:40px;margin-top:5px;padding:9px 12px;display:block}.site-accounts-panel-head>div:first-child{flex:1;min-width:0}.site-accounts-summary{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.permission-health{background:#fff;border:1px solid #dce6f0;border-radius:13px;gap:16px;padding:20px;display:grid}.permission-health header{justify-content:space-between;align-items:start;gap:18px;display:flex}.permission-health h3{margin:0 0 6px}.permission-health header p{color:#69809a;margin:0}.permission-health-counts{flex-wrap:wrap;gap:8px;display:flex}.permission-health-counts span{white-space:nowrap;border-radius:99px;padding:6px 10px;font-size:12px;font-weight:750}.permission-health-counts .high{color:#a43a3a;background:#fdebea}.permission-health-counts .medium{color:#8b641b;background:#fff4df}.permission-health-counts .ok{color:#247153;background:#e6f6ee}.permission-health-list{gap:9px;display:grid}.permission-health-list article{background:#f7f9fc;border-left:4px solid #8ca5bd;border-radius:8px;justify-content:space-between;align-items:center;gap:14px;padding:12px 14px;display:flex}.permission-health-list article.high{background:#fff7f6;border-color:#d85858}.permission-health-list article.medium{background:#fffaf0;border-color:#d79a32}.permission-health-list article.info{border-color:#7b96b2}.permission-health-list article p{color:#667f97;margin:4px 0 0;line-height:1.55}.permission-health-list article>span{color:#71879b;white-space:nowrap;font-size:12px}.permission-health-ok{color:#247153;margin:0}.permission-health-warning{color:#805f20;background:#fff4df;border-radius:8px;margin:0;padding:10px 12px}@media (width<=680px){.permission-health header,.permission-health-list article{flex-direction:column;align-items:stretch}.permission-health-list article button{width:100%}.permission-health-list article>span{white-space:normal}}.permission-audit-controls{flex-wrap:wrap;justify-content:flex-end;align-items:end;gap:10px;display:flex}.permission-audit-controls label{color:#627c97;font-size:13px}.permission-audit-controls select{min-width:230px}.permission-audit-controls button{min-height:40px}.permission-audit-error{color:#b24141;margin:0 20px 16px}.permission-audit-panel table{min-width:940px}.permission-audit-panel td:first-child{white-space:nowrap}.permission-audit-panel td:nth-child(4){max-width:300px;line-height:1.6}@media (width<=680px){.permission-audit-controls{justify-content:stretch;align-items:stretch}.permission-audit-controls label,.permission-audit-controls select,.permission-audit-controls button{width:100%;min-width:0}}.parents-view{gap:22px;display:grid}.parents-heading{justify-content:space-between;align-items:center;gap:20px;display:flex}.parents-heading h2{margin:12px 0;font-size:28px}.parents-heading p,.parents-scope,.parents-card p{color:#657a90;line-height:1.8}.parents-stats{grid-template-columns:repeat(3,1fr);gap:16px;display:grid}.parents-stats button{text-align:left;color:#435f7b;cursor:pointer;background:#fff;border:1px solid #dce5ee;justify-content:space-between;align-items:center;padding:20px;display:flex}.parents-stats button.selected{background:#edf5ff;border-color:#2b7fd8}.parents-stats strong{color:#287dcc;font-size:30px}.parents-card{background:#fff;border:1px solid #dce5ee;min-width:0;padding:24px}.parents-form{border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px;margin:0;padding:0;display:grid}.parents-view label{color:#43576e;gap:8px;display:grid}.parents-view input,.parents-view select,.parents-view textarea{box-sizing:border-box;width:100%;min-width:0;font:inherit;background:#fff;border:1px solid #d4dfeb;border-radius:3px;padding:12px}.parents-view textarea{min-height:82px}.parents-wide{grid-column:1/-1}.parents-actions,.parents-toolbar{flex-wrap:wrap;align-items:end;gap:14px;display:flex}.parents-toolbar{margin-bottom:20px}.parents-toolbar label:first-child{flex:1;min-width:170px}.parents-table{overflow:auto}.parents-table table{border-collapse:collapse;text-align:left;width:100%;min-width:680px}.parents-table th{color:#6b7f94;background:#f5f8fc;font-weight:500}.parents-table td,.parents-table th{border-bottom:1px solid #e9eef4;padding:16px 12px}.parents-table small{color:#8494a7;margin-top:7px;display:block}.parents-view button{cursor:pointer}.parents-view button:disabled{opacity:.5;cursor:default}.parents-actions button,.parents-toolbar button,.parents-table button{color:#2470b7;background:#f6faff;border:1px solid #dce5ee;border-radius:3px;padding:10px 16px}.parents-error{color:#a32a32;background:#fff0f0;padding:16px}.parents-message{color:#24663b;background:#e9f8ee;padding:16px}@media (width<=700px){.parents-heading{flex-direction:column;align-items:start}.parents-heading h2{font-size:23px}.parents-stats{gap:8px}.parents-stats button{flex-direction:column;gap:10px;padding:14px 10px}.parents-card{padding:16px}.parents-form{grid-template-columns:1fr}}.parents-tabs{border-bottom:1px solid #dce5ee;gap:8px;display:flex}.parents-tabs button{color:#657a90;font:inherit;background:0 0;border:0;border-bottom:3px solid #0000;padding:14px 22px}.parents-tabs button[aria-pressed=true]{color:#2470b7;background:#edf5ff;border-bottom-color:#2470b7}.parents-account-list h3 small{color:#657a90;margin-left:12px;font-size:14px;font-weight:400}.parents-editor{scroll-margin-top:20px}.parents-account-list th:last-child,.parents-account-list td:last-child{background:#fff;position:sticky;right:0;box-shadow:-5px 0 9px -8px #657a90}.parents-account-list th:last-child{background:#f5f8fc}.parents-empty{background:#f4f8fd;border:1px dashed #b7cce2;padding:24px;line-height:1.8}.parents-empty p{color:#657a90;margin:10px 0 18px}.student-binding-panel{background:#fff;border-radius:16px;min-width:0}.binding-panel-heading{align-items:center;gap:14px;padding:23px 24px 16px;display:flex}.binding-heading-icon{color:#2b79c8;background:#eaf3ff;border-radius:14px;flex:none;place-items:center;width:48px;height:48px;display:grid}.binding-panel-heading>div{flex:1;min-width:0}.binding-panel-heading h3{color:#203b58;margin:0;font-size:17px}.binding-panel-heading p{color:#7890a6;margin:7px 0 0;font-size:13px;line-height:1.6}.student-binding-panel button{font:inherit;cursor:pointer}.student-binding-panel button:disabled{cursor:not-allowed;opacity:.5}.binding-refresh,.binding-action{white-space:nowrap;justify-content:center;align-items:center;gap:7px;min-height:38px;display:inline-flex;border-radius:9px!important;font-size:12px!important}.binding-refresh{flex:none}.binding-summary{color:#7a90a4;flex-wrap:wrap;gap:12px 24px;padding:0 24px 20px;font-size:12px;display:flex}.binding-summary>span{align-items:center;gap:7px;display:flex}.binding-summary b{color:#365775;font-variant-numeric:tabular-nums;font-size:14px}.binding-dot{background:#94abc0;border-radius:50%;width:6px;height:6px}.binding-dot.pending{background:#e7b14f}.binding-dot.linked{background:#49a584}.binding-panel-body{padding:0 24px}.binding-tabs{border-bottom:1px solid #e5edf5;gap:24px;display:flex}.binding-tabs button{color:#7b90a4;background:0 0;border:0;align-items:center;gap:8px;min-height:47px;padding:0 3px 13px;font-size:13px;font-weight:600;display:flex;position:relative}.binding-tabs button span{background:#f0f4f8;border-radius:6px;place-items:center;min-width:21px;height:19px;padding:0 5px;font-size:10px;font-weight:500;display:grid}.binding-tabs button[aria-selected=true]{color:#2677c3}.binding-tabs button[aria-selected=true] span{color:#2677c3;background:#eaf3ff}.binding-tabs button[aria-selected=true]:after{content:"";background:#3286d4;border-radius:3px;height:3px;position:absolute;bottom:-1px;left:0;right:0}.binding-toolbar{align-items:center;gap:12px;padding:18px 0;display:flex}.binding-search{color:#849bb0;box-sizing:border-box;background:#f9fbfe;border:1px solid #d9e5f0;border-radius:10px;align-items:center;gap:9px;width:min(360px,100%);min-width:0;min-height:42px;padding:0 12px;display:flex}.binding-search svg{flex:none}.binding-search input{width:100%;min-width:0;font:inherit;color:#365775;font-size:12px;box-shadow:none!important;background:0 0!important;border:0!important;outline:0!important;padding:11px 0!important}.binding-search:focus-within{border-color:#67a7df;box-shadow:0 0 0 3px #eaf3ff}.binding-toolbar select{color:#54718e;min-height:42px;font:inherit;background:#fff;border:1px solid #d9e5f0;border-radius:10px;max-width:100%;padding:0 12px;font-size:12px}.binding-result-count{color:#64788b;white-space:nowrap;margin-left:auto;font-size:12px}.binding-table-wrap{border:1px solid #e6edf5;border-radius:12px;overflow:hidden}.binding-table{border-collapse:collapse;table-layout:fixed;width:100%}.binding-table th{text-align:left;color:#7a91a8;background:#f6f9fd;padding:13px 16px;font-size:12px;font-weight:600}.binding-table th:first-child{width:32%}.binding-table th:last-child{width:145px}.binding-table td{vertical-align:middle;color:#355370;overflow-wrap:anywhere;border-top:1px solid #edf2f7;padding:17px 16px;font-size:13px}.binding-table tbody tr:hover{background:#fcfdff}.binding-parent{align-items:center;gap:10px;min-width:0;display:flex}.binding-avatar{color:#6290b7;background:#edf4fc;border-radius:11px;flex:none;place-items:center;width:35px;height:35px;font-size:14px;font-weight:600;display:grid}.binding-parent>div{min-width:0}.binding-parent strong{color:#33536f;font-size:13px;font-weight:600;display:block}.binding-parent small{color:#64788b;overflow-wrap:anywhere;margin-top:4px;font-size:11px;line-height:1.6;display:block}.binding-student-tags{flex-wrap:wrap;gap:6px;display:flex}.binding-student-tags>span{color:#3d6f9b;background:#edf5ff;border-radius:7px;align-items:center;gap:4px;padding:5px 9px;font-size:12px;line-height:1.4;display:inline-flex}.binding-student-tags>span.unbound{color:#64788b;background:#f3f5f8}.binding-row-note,.binding-row-time{color:#64788b;margin-top:7px;font-size:11px;line-height:1.6;display:block}.binding-row-note{overflow-wrap:anywhere}.binding-status{white-space:nowrap;color:#7e90a1;background:#f0f4f8;border-radius:7px;align-items:center;gap:5px;padding:5px 8px;font-size:11px;display:inline-flex}.binding-status:before{content:"";background:currentColor;border-radius:50%;width:4px;height:4px}.binding-status.pending{color:#986b17;background:#fff6e4}.binding-status.processing{color:#2d6fa7;background:#eaf3ff}.binding-status.approved{color:#277355;background:#e9f7f0}.binding-status.rejected{color:#a7544a;background:#fff0ee}.binding-completed{color:#64788b;font-size:11px}.binding-action{padding:8px 12px!important}.binding-panel-footnote{color:#64788b;align-items:flex-start;gap:7px;margin:16px 0 20px;font-size:11px;line-height:1.6;display:flex}.binding-panel-footnote svg{flex:none}.binding-notice{border-radius:9px;margin:0 0 14px;padding:11px 13px;font-size:12px;line-height:1.7}.binding-notice.error{color:#b16b64;background:#fff3f1}.binding-notice.success{color:#43866f;background:#edf8f2}.binding-empty{color:#a8b8c9;text-align:center;background:#fbfcfe;border:1px dashed #e1eaf2;border-radius:12px;flex-direction:column;justify-content:center;align-items:center;min-height:155px;padding:24px;display:flex}.binding-empty strong{color:#738ca4;margin-top:12px;font-size:13px;font-weight:500}.binding-empty p{color:#64788b;margin:8px 0 0;font-size:12px;line-height:1.7}.binding-loading{text-align:center;color:#64788b;padding:32px;font-size:13px}.binding-spin{animation:1s linear infinite binding-spin}@keyframes binding-spin{to{transform:rotate(360deg)}}.student-binding-admin-dialog{box-sizing:border-box;color:#355370;background:#fff;border:1px solid #dbe6f0;border-radius:20px;width:min(700px,100vw - 32px);max-height:calc(100dvh - 40px);padding:0;overflow:hidden;box-shadow:0 28px 100px #142b4d40}.student-binding-admin-dialog[open]{flex-direction:column;display:flex}.student-binding-admin-dialog::backdrop{-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#162b4580}.binding-dialog-heading{border-bottom:1px solid #e8eff6;flex:none;justify-content:space-between;align-items:center;gap:16px;padding:22px 24px;display:flex}.binding-dialog-heading span{color:#64788b;letter-spacing:.08em;font-size:11px;display:block}.binding-dialog-heading h3{color:#244966;margin:6px 0 0;font-size:19px}.binding-dialog-close{color:#91a5b9;background:#fff;border:1px solid #e2eaf2;border-radius:10px;flex:none;place-items:center;width:36px;height:36px;display:grid}.binding-dialog-close:hover{background:#f3f7fc}.binding-dialog-body{min-height:0;padding:20px 24px;overflow:auto}.binding-dialog-parent{background:#f5f9fd;border-radius:12px;margin-bottom:16px;padding:13px 14px}.binding-match-note{background:#f4f9ff;border:1px solid #dceaf8;border-radius:10px;margin:0 0 20px;padding:12px 14px;font-size:12px}.binding-match-note strong{color:#537d9f;overflow-wrap:anywhere;font-weight:600}.binding-match-note p{color:#839db3;margin:6px 0 0;font-size:11px;line-height:1.7}.binding-match-note.needs-review{background:#fffaf0;border-color:#f1e3bc}.binding-match-note.needs-review strong{color:#a08743}.binding-match-note.needs-review p{color:#ab9a6b}.binding-selection-heading{justify-content:space-between;align-items:center;gap:8px;display:flex}.binding-selection-heading h4{color:#3d6280;margin:0;font-size:14px}.binding-selection-heading>span{color:#64788b;font-size:11px}.binding-selection-heading b{color:#3a82bf;font-size:13px}.binding-selection-help{color:#64788b;margin:8px 0 14px;font-size:11px;line-height:1.7}.binding-dialog-body>.binding-search{width:100%;margin-bottom:12px}.binding-student-choices{border:1px solid #e1eaf4;border-radius:12px;grid-template-columns:1fr 1fr;gap:4px;max-height:275px;margin:0;padding:6px;display:grid;overflow:auto}.student-binding-admin-option{cursor:pointer;border:1px solid #0000;border-radius:8px;align-items:center;gap:10px;min-width:0;padding:11px 9px;display:flex}.student-binding-admin-option:hover{background:#f6f9fc}.student-binding-admin-option[data-selected=true]{background:#eff6ff;border-color:#d8e9fb}.student-binding-admin-option input{accent-color:#3285ce;flex:none;width:17px;height:17px;margin:0}.student-binding-admin-option>span{min-width:0}.student-binding-admin-option strong{color:#436b8b;font-size:12px}.student-binding-admin-option small{color:#64788b;overflow-wrap:anywhere;margin-top:4px;font-size:10px;line-height:1.6;display:block}.binding-choice-empty{text-align:center;color:#64788b;grid-column:1/-1;padding:15px;font-size:12px}.binding-chosen-summary{color:#64788b;flex-wrap:wrap;align-items:center;gap:6px;margin:13px 0 20px;font-size:11px;display:flex}.binding-chosen-name{color:#5c88ad;background:#edf5ff;border-radius:6px;padding:4px 8px}.binding-note-field{color:#537693;font-size:12px;font-weight:600;display:block}.binding-note-field>span{color:#64788b;margin-left:8px;font-size:10px;font-weight:400}.binding-note-field input{box-sizing:border-box;width:100%;min-height:42px;font:inherit;color:#355775;background:#fff;border:1px solid #dce6f0;border-radius:9px;margin-top:8px;padding:10px 12px;font-size:12px;display:block}.binding-dialog-body>.binding-notice{margin:12px 0 0}.binding-dialog-footer{background:#fafcff;border-top:1px solid #e7eef5;flex:none;justify-content:space-between;align-items:center;gap:12px;padding:16px 24px;display:flex}.binding-dialog-footer>span{color:#64788b;font-size:11px}.binding-dialog-footer>div{gap:8px;display:flex}.binding-dialog-footer button{white-space:nowrap;border-radius:9px;min-height:40px;padding:10px 14px;font-size:12px}.binding-reject{color:#9f7a73!important;background:#fff!important;border-color:#e7dcd8!important}.student-binding-panel button:focus-visible,.student-binding-panel select:focus-visible,.binding-dialog-close:focus-visible,.binding-note-field input:focus-visible{outline-offset:2px;outline:3px solid #c4e1f9}.binding-visually-hidden{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width<=720px){.binding-panel-heading{gap:10px;padding:18px 16px 14px}.binding-heading-icon{border-radius:12px;width:40px;height:40px}.binding-panel-heading h3{font-size:15px}.binding-panel-heading p{font-size:11px}.binding-summary{gap:10px 14px;padding:0 16px 16px;font-size:11px}.binding-panel-body{padding:0 16px}.binding-toolbar{flex-wrap:wrap;gap:8px}.binding-toolbar>.binding-search{flex-basis:100%;width:100%}.binding-toolbar select{min-height:36px}.binding-table{display:block}.binding-table thead{display:none}.binding-table tbody{display:block}.binding-table tr{grid-template-columns:1fr 1fr;gap:13px 10px;padding:15px;display:grid}.binding-table tr+tr{border-top:1px solid #e8eff6}.binding-table td{border:0;padding:0;font-size:12px;display:block}.binding-table td:first-child{grid-column:1/-1}.binding-table td:not(:first-child):before{content:attr(data-label);color:#64788b;margin-bottom:8px;font-size:10px;display:block}.binding-table .binding-row-actions{border-top:1px dashed #e7eef6;grid-column:1/-1;justify-content:flex-end;align-items:center;gap:8px;padding-top:10px;display:flex}.binding-table td.binding-row-actions:before{display:none!important}.binding-table .binding-row-note{margin-top:5px}.binding-table .binding-row-actions .binding-row-note{margin:0}.binding-table .binding-row-actions button{min-height:38px}.binding-refresh{padding:8px 10px!important}.binding-dialog-heading,.binding-dialog-body{padding:18px}.binding-dialog-footer{flex-wrap:wrap;padding:14px 18px}.binding-dialog-footer>div{margin-left:auto}.binding-student-choices{grid-template-columns:1fr;max-height:230px}.student-binding-admin-dialog{border-radius:16px;width:calc(100vw - 24px);max-height:calc(100dvh - 24px)}.binding-panel-footnote{font-size:10px}}@media (prefers-reduced-motion:reduce){.binding-spin{animation:none}}.accounts-management{gap:24px;min-width:0;display:grid}.accounts-intro h2{margin:8px 0;font-size:25px}.accounts-intro p{color:#6b8198;max-width:850px;margin:0;line-height:1.8}.accounts-tabs{background:#eaf0f7;border-radius:15px;flex-wrap:wrap;gap:6px;width:fit-content;max-width:100%;padding:7px;display:flex}.accounts-tabs button{color:#526e8a;cursor:pointer;background:0 0;border:0;border-radius:10px;padding:12px 18px;font-weight:650}.accounts-tabs button.selected{color:#1d6dc0;background:#fff;box-shadow:0 3px 12px #193b5910}.accounts-role-badge{color:#286bb5;white-space:nowrap;background:#edf5ff;border-radius:8px;padding:6px 10px;font-weight:700;display:inline-block}.accounts-filters{flex-wrap:wrap;gap:12px;display:flex}.accounts-filters label{color:#647c95;gap:6px;font-size:13px;display:grid}.accounts-filters select{background:#fff;border:1px solid #cbd9e8;border-radius:8px;padding:10px}.account-role-backdrop{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:1300;background:#132b4860;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.account-role-dialog{background:#fff;border-radius:20px;gap:18px;width:min(580px,100%);max-height:90dvh;padding:28px;display:grid;overflow:auto;box-shadow:0 24px 80px #10294340}.account-role-dialog header{justify-content:space-between;align-items:start;gap:20px;display:flex}.account-role-dialog h3{margin:0 0 7px;font-size:22px}.account-role-dialog p{color:#627e97;margin:0;line-height:1.7}.account-role-dialog label{color:#355773;gap:7px;font-weight:600;display:grid}.account-role-dialog select,.account-role-dialog input[type=search]{color:#193c58;background:#fff;border:1px solid #cbd9e8;border-radius:10px;width:100%;min-height:44px;padding:10px}.account-role-dialog select[multiple]{height:190px}.account-role-info{background:#f1f7ff;border-radius:10px;padding:14px}.account-role-warning{background:#fff8e8;border-radius:10px;padding:14px;color:#795811!important}.account-role-dialog footer{justify-content:flex-end;gap:12px;display:flex}.account-role-error{color:#ad3f3f!important}@media (width<=600px){.accounts-tabs{gap:4px;width:100%}.accounts-tabs button{flex:1 0 40%;padding:11px 9px}.account-role-dialog{padding:22px 18px}.account-role-backdrop{padding:12px}.accounts-intro h2{font-size:22px}}.account-role-teacher{border:1px solid #cbdced;border-radius:12px;gap:10px;padding:14px;display:grid}.account-role-teacher legend{color:#355773;padding:0 6px;font-weight:700}.account-role-teacher label{align-items:center;gap:9px;display:flex}.account-role-summary{color:#285d48;background:#eef9f4;border:1px solid #cce9da;border-radius:10px;padding:14px}.account-role-summary ul{gap:5px;margin:8px 0 0;padding-left:20px;display:grid}.account-role-load-warning{background:#fff4ed;border-radius:8px;padding:10px 12px;color:#96502c!important}.site-account-field-label{display:none}@media (width<=767px){.accounts-management{--default:#eaf4ff;--default-foreground:#216cb0;--default-hover:#deedfc;--foreground:#244d70;--muted:#6a849b;--disabled-opacity:.5;--cursor-interactive:pointer;--cursor-disabled:not-allowed;--ring-offset-width:2px;--ease-smooth:ease;--ease-out:ease-out}#root .admin-shell .accounts-management{gap:1.25rem}#root .admin-shell .accounts-management .accounts-intro h2{width:fit-content;margin:.5rem 0 .875rem;padding-bottom:.375rem;font-size:clamp(1.25rem,5vw,1.5rem);position:relative}#root .admin-shell .accounts-management .accounts-intro p{line-height:1.75}#root .admin-shell .accounts-title-accent{pointer-events:none;width:10rem;height:.75rem;position:absolute;bottom:0;right:0}#root .admin-shell .accounts-management .accounts-tabs{background:#eaf0f7;border:1px solid #dce7f2;border-radius:1rem;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;width:100%;padding:.5rem;display:grid}#root .admin-shell .accounts-management .accounts-mobile-tab{color:#496b8b;text-align:left;white-space:normal;border-radius:.75rem;justify-content:flex-start;gap:.5rem;height:auto;min-height:3rem;padding:.625rem;display:flex}#root .admin-shell .accounts-mobile-tab svg{flex:0 0 1.125rem}#root .admin-shell .accounts-mobile-tab span{min-width:0;font-weight:650;line-height:1.5}#root .admin-shell .accounts-management .accounts-mobile-tab.selected{color:#176bc0;background:#fff;box-shadow:0 3px 12px #193b5910,inset 0 0 0 1px #d5e5f5}#root .admin-shell .accounts-management .accounts-mobile-tab:last-child:nth-child(odd){grid-column:1/-1}#root .admin-shell .accounts-management .site-accounts-view{gap:1rem}#root .admin-shell .accounts-management .site-accounts-head{grid-template-columns:minmax(0,1fr) 2.75rem;align-items:start;gap:.75rem;display:grid}#root .admin-shell .site-accounts-head h2{margin:.375rem 0}#root .admin-shell .site-accounts-head p{line-height:1.7}#root .admin-shell .site-accounts-head>button{color:#246eb0;background:#fff;border:1px solid #ccddec;border-radius:.75rem;flex:none;width:2.75rem;height:2.75rem;padding:0}#root .admin-shell .accounts-management .site-accounts-summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:.5rem}#root .admin-shell .accounts-management .site-accounts-summary>div{background:linear-gradient(#fff,#f8fbff);border-radius:.875rem;gap:.5rem;padding:.75rem .5rem}#root .admin-shell .site-accounts-summary span{min-height:2.8em;line-height:1.4}#root .admin-shell .site-accounts-summary strong{font-variant-numeric:tabular-nums}#root .admin-shell .accounts-management .site-accounts-panel{border-radius:1rem;padding:0}#root .admin-shell .accounts-management .site-accounts-panel-head{grid-template-columns:minmax(0,1fr);gap:1rem;padding:1rem;display:grid}#root .admin-shell .site-accounts-panel-head p{line-height:1.7}#root .admin-shell .site-accounts-panel-head>label{gap:.375rem;width:100%;display:grid}#root .admin-shell .site-accounts-panel-head :is(input,select){border-radius:.625rem;width:100%;min-width:0;margin:0;padding:.625rem .75rem}#root .admin-shell .site-registered-accounts{padding:0 .75rem .75rem;overflow:visible}#root .admin-shell .site-registered-accounts table{width:100%;min-width:0;display:block}#root .admin-shell .site-registered-accounts thead{display:none}#root .admin-shell .site-registered-accounts tbody{gap:.75rem;display:grid}#root .admin-shell .site-registered-accounts tr{background:#fff;border:1px solid #dae6f1;border-radius:.875rem;grid-template-columns:repeat(2,minmax(0,1fr));gap:.875rem .75rem;min-width:0;padding:1rem;display:grid;box-shadow:0 4px 12px #1d507108}#root .admin-shell .site-registered-accounts td{overflow-wrap:anywhere;border:0;min-width:0;padding:0;display:block}#root .admin-shell .site-registered-accounts td:first-child{border-bottom:1px solid #e7eef5;grid-column:1/-1;padding-bottom:.75rem}#root .admin-shell .site-registered-accounts td:first-child strong{color:#214d75;font-size:1rem}#root .admin-shell .site-account-field-label{color:#6d869c;margin-bottom:.25rem;font-weight:500;display:block}#root .admin-shell .site-registered-accounts td:nth-child(n+4){grid-column:1/-1}#root .admin-shell .site-registered-accounts td:is(:nth-child(4),:nth-child(5),:nth-child(6)){grid-template-columns:5.25rem minmax(0,1fr);align-items:start;gap:.5rem;display:grid}#root .admin-shell .site-registered-accounts td:nth-child(4) .site-account-status{justify-self:start}#root .admin-shell .site-registered-accounts .site-account-actions{border-top:1px solid #e7eef5;grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;min-width:0;padding-top:.875rem;display:grid}#root .admin-shell .site-registered-accounts .site-account-actions>button{border-radius:.625rem;width:100%;margin:0;padding:.625rem .375rem}#root .admin-shell .site-registered-accounts .site-account-actions>button:last-child:nth-child(odd){grid-column:1/-1}#root .admin-shell .site-registered-accounts .site-account-link-choice{grid-column:1/-1;grid-template-columns:minmax(0,1fr);gap:.5rem;margin:0;display:grid}#root .admin-shell .site-account-link-choice select{max-width:100%}#root .admin-shell .site-accounts-table{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;min-width:0;max-width:100%}#root .admin-shell .accounts-management .site-event-filters{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;padding:0 1rem 1rem;display:grid}#root .admin-shell .site-event-filters>label{grid-column:1/-1;gap:.375rem;width:100%}#root .admin-shell .site-event-filters :is(input,select){width:100%;max-width:100%}#root .admin-shell .account-role-backdrop{height:var(--admin-visible-height,100dvh);padding:.75rem}#root .admin-shell .account-role-dialog{width:100%;max-height:calc(var(--admin-visible-height,100dvh) - 1.5rem);overscroll-behavior:contain;border-radius:1rem;gap:1rem;padding:1rem;scroll-padding-bottom:6rem}#root .admin-shell .account-role-dialog header{gap:.75rem}#root .admin-shell .account-role-dialog header>button{flex:0 0 2.75rem;padding:0}#root .admin-shell .account-role-dialog h3{font-size:1.25rem}#root .admin-shell .account-role-dialog select[multiple]{height:10rem}#root .admin-shell .account-role-dialog footer{padding:.75rem 1rem calc(.75rem + env(safe-area-inset-bottom,0px));background:#fff;border-top:1px solid #e2ebf4;grid-template-columns:minmax(0,1fr) minmax(0,1.5fr);gap:.5rem;margin:0 -1rem -1rem;display:grid;position:sticky;bottom:-1rem}#root .admin-shell .account-role-dialog footer button{width:100%;padding:.625rem .375rem}}@media (width<=359px){#root .admin-shell .accounts-management .accounts-tabs{gap:.375rem;padding:.375rem}#root .admin-shell .accounts-management .accounts-mobile-tab{gap:.375rem;padding:.5rem}#root .admin-shell .site-registered-accounts tr{grid-template-columns:minmax(0,1fr);padding:.875rem}#root .admin-shell .site-registered-accounts .site-account-actions{grid-template-columns:minmax(0,1fr)}}@media (prefers-reduced-motion:reduce) and (width<=767px){#root .admin-shell .accounts-mobile-tab{transition:none}}.accounts-management{container:accounts/inline-size}#root .accounts-management{gap:18px}#root .accounts-management .accounts-intro h2{font-size:22px}#root .accounts-management .accounts-intro p{font-size:13px;line-height:1.7}#root .accounts-management .accounts-tabs{border:1px solid #dce6f0;border-radius:12px;grid-template-columns:repeat(5,minmax(0,1fr));gap:6px;width:100%;padding:6px;display:grid}#root .accounts-management .accounts-tabs>button{text-align:left;white-space:normal;border-radius:8px;justify-content:flex-start;align-items:center;gap:8px;height:auto;min-height:48px;padding:10px 12px;font-size:13px;line-height:1.5;display:flex}#root .accounts-management .accounts-tabs>button>svg{flex-shrink:0}#root .accounts-management .accounts-tabs>button:last-child:nth-child(odd){grid-column:auto}#root .accounts-management .accounts-tabs>button:focus-visible{outline-offset:2px;outline:2px solid #287aca}#root .accounts-management .site-accounts-view{gap:16px}#root .accounts-management .site-accounts-head h2{font-size:20px}#root .accounts-management .site-accounts-head p{font-size:13px;line-height:1.7}#root .accounts-management .site-accounts-summary{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px}#root .accounts-management .site-accounts-summary>div{background:#fff;border-radius:10px;gap:8px;padding:16px 18px}#root .accounts-management .site-accounts-summary span{min-height:0;font-size:12px;line-height:1.5}#root .accounts-management .site-accounts-summary strong{font-variant-numeric:tabular-nums;font-size:26px}#root .accounts-management .permission-health{border-radius:12px;gap:12px;padding:18px}#root .accounts-management .permission-health h3{font-size:16px}#root .accounts-management .permission-health p{font-size:13px;line-height:1.65}#root .accounts-management .permission-health-list article{font-size:13px}#root .accounts-management .permission-health-list article>button{flex-shrink:0}#root .accounts-management .registered-accounts-panel{border-radius:12px}#root .accounts-management .registered-accounts-panel .site-accounts-panel-head{grid-template-columns:minmax(0,1fr);gap:18px;padding:20px;display:grid}.site-account-result-count{color:#71879b;margin-left:8px;font-size:12px;font-weight:500;display:inline-block}#root .accounts-management .registered-accounts-panel .site-accounts-panel-head p{font-size:13px;line-height:1.7}.site-account-filters{grid-template-columns:minmax(0,1fr) 180px;gap:12px;display:grid}.site-account-filters>label{min-width:0}#root .accounts-management .site-account-filters :is(input,select){background:#f9fbfe;width:100%;min-width:0;min-height:42px;margin-top:6px}#root .accounts-management .site-account-status{white-space:nowrap;align-items:center;font-size:12px;line-height:1.5;display:inline-flex}#root .accounts-management .site-registered-accounts{padding:0}#root .accounts-management .site-registered-accounts table{table-layout:fixed;min-width:0}#root .accounts-management .site-registered-accounts :is(th,td){vertical-align:middle;overflow-wrap:anywhere;padding:16px 12px;line-height:1.6}#root .accounts-management .site-registered-accounts th{white-space:nowrap;font-size:12px}#root .accounts-management .site-registered-accounts th:first-child{width:18%}#root .accounts-management .site-registered-accounts th:nth-child(2){width:10%}#root .accounts-management .site-registered-accounts th:nth-child(3){width:11%}#root .accounts-management .site-registered-accounts th:nth-child(4){width:9%}#root .accounts-management .site-registered-accounts th:nth-child(7){width:24%}#root .accounts-management .site-registered-accounts td small{line-height:1.65}#root .accounts-management .site-registered-accounts tbody tr:hover{background:#fbfdff}#root .accounts-management .site-account-actions{min-width:0}#root .accounts-management .site-account-actions>button{min-height:36px;box-shadow:none;margin:3px 5px 3px 0;padding:7px 10px;font-size:12px}#root .accounts-management .site-account-actions>.account-permission-action{color:#226caf;background:#edf5fe;border-color:#d2e3f4}#root .accounts-management .site-account-actions>button:disabled{opacity:.5}#root .accounts-management .site-account-link-choice{flex-wrap:wrap}#root .accounts-management .site-account-link-choice select{max-width:100%}@container accounts (width<=1100px){#root .accounts-management .site-registered-accounts{padding:0 16px 16px;overflow:visible}#root .accounts-management .site-registered-accounts table{width:100%;display:block}#root .accounts-management .site-registered-accounts thead{display:none}#root .accounts-management .site-registered-accounts tbody{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}#root .accounts-management .site-registered-accounts tr{min-width:0;box-shadow:none;background:#fff;border:1px solid #dfe8f1;border-radius:10px;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px 12px;padding:18px;display:grid}#root .accounts-management .site-registered-accounts td{border:0;grid-column:span 2;min-width:0;padding:0;display:block}#root .accounts-management .site-registered-accounts td:first-child{border-bottom:1px solid #e9eff5;grid-column:1/-1;padding-bottom:12px}#root .accounts-management .site-registered-accounts td:first-child strong{color:#264c6b;font-size:16px}#root .accounts-management .site-registered-accounts td:nth-child(4){grid-column:span 2;display:block}#root .accounts-management .site-registered-accounts td:is(:nth-child(5),:nth-child(6)){grid-column:span 3;display:block}#root .accounts-management .site-account-field-label{color:#7b8fa3;margin-bottom:5px;font-size:12px;font-weight:400;display:block}#root .accounts-management .site-registered-accounts .site-account-actions{border-top:1px solid #e9eff5;flex-wrap:wrap;grid-column:1/-1;align-items:center;gap:8px;padding-top:12px;display:flex}#root .accounts-management .site-account-actions>button{border-radius:7px;width:auto;min-height:38px;margin:0;padding:8px 12px}#root .accounts-management .site-account-link-choice{gap:8px;width:100%;margin:0;display:flex}#root .accounts-management .site-account-link-choice select{flex:1}#root .accounts-management .site-registered-accounts tr:has(td[colspan]){grid-column:1/-1}#root .accounts-management .site-registered-accounts td[colspan]{text-align:center;color:#71879b;border:0;padding:20px 0}}@container accounts (width<=850px){#root .accounts-management .accounts-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}#root .accounts-management .site-registered-accounts tbody{grid-template-columns:minmax(0,1fr)}#root .accounts-management .permission-health header{flex-wrap:wrap;gap:10px}}@container accounts (width<=620px){#root .accounts-management .site-accounts-summary{grid-template-columns:repeat(2,minmax(0,1fr))}#root .accounts-management .site-accounts-summary>div{flex-direction:row;justify-content:space-between;align-items:center;padding:14px;display:flex}#root .accounts-management .site-accounts-summary strong{font-size:24px}#root .accounts-management .permission-health-list article{flex-direction:column;align-items:start;gap:8px}#root .accounts-management .site-account-filters{grid-template-columns:minmax(0,1fr) 140px}}@container accounts (width<=540px){#root .accounts-management .accounts-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}#root .accounts-management .accounts-tabs>button:last-child:nth-child(odd){grid-column:1/-1}#root .accounts-management .site-account-filters{grid-template-columns:minmax(0,1fr)}#root .accounts-management .registered-accounts-panel .site-accounts-panel-head{gap:14px;padding:16px}#root .accounts-management .site-registered-accounts{padding:0 12px 12px}#root .accounts-management .site-registered-accounts tr{gap:14px 10px;padding:14px}}@container accounts (width<=360px){#root .accounts-management .site-registered-accounts td:is(:nth-child(2),:nth-child(3)){grid-column:span 3}#root .accounts-management .site-registered-accounts td:nth-child(4),#root .accounts-management .site-registered-accounts td:is(:nth-child(5),:nth-child(6)){grid-column:1/-1}#root .accounts-management .site-account-actions>button{flex:auto}}.student-billing-alerts{color:#825919;overflow-wrap:anywhere;gap:8px;min-width:0;margin-top:7px;font-size:11px;line-height:1.55;display:grid}.student-billing-unassigned,.student-billing-issues{background:#fffbef;border:1px solid #edd7a8;border-radius:6px;padding:8px 9px}.student-billing-alerts strong,.student-billing-alerts b{color:#805514;font-size:11px;font-weight:650;line-height:1.55;display:block}.student-billing-alerts span{color:#796344;margin-top:3px;font-size:11px;line-height:1.55;display:block}.student-billing-issues summary{cursor:pointer;list-style:none}.student-billing-issues summary:after{content:"展开明细 ▾";color:#286aa4;margin-top:4px;font-size:11px;display:block}.student-billing-issues[open] summary:after{content:"收起明细 ▴"}.student-billing-issues ul{gap:8px;margin:8px 0;padding:0;list-style:none;display:grid}.student-billing-issues li{border-top:1px solid #eddfbf;padding-top:7px}.student-billing-alerts button{color:#2168a9;min-height:30px;font:inherit;text-align:left;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;margin-top:7px;padding:5px 0;font-weight:600;line-height:1.5;text-decoration:underline;display:block}.student-billing-alerts button:focus-visible,.student-billing-issues summary:focus-visible{outline-offset:3px;border-radius:3px;outline:2px solid #2b7fd8}.billing-detail-body>.student-billing-alerts{margin:12px 0}.billing-detail-body>.student-billing-alerts strong,.billing-detail-body>.student-billing-alerts span{font-size:13px}@media (width<=700px){.student-billing-alerts,.student-billing-alerts strong,.student-billing-alerts span{font-size:12px}.student-billing-alerts button{min-height:40px}}.student-billing-attendance-review{background:#fffbef;border:1px solid #edd7a8;border-radius:8px;padding:14px 16px}.billing-attendance-issue-group{border-top:1px solid #eddfbf;margin-top:12px;padding-top:12px}.billing-attendance-issue-actions{flex-wrap:wrap;gap:8px;display:flex}.student-billing-alerts .billing-attendance-issue-actions button{background:#fff;border:1px solid #c8dcec;border-radius:6px;padding:8px 12px;font-size:13px;text-decoration:none}.billing-cycle-register article{scroll-margin-top:16px}.face-workspace{color:#23374b;gap:22px;display:grid}.face-heading{justify-content:space-between;align-items:center;gap:16px;display:flex}.face-heading h2{margin:0;font-size:26px}.face-heading p,.face-records>p{color:#728196;margin:7px 0 0;font-size:14px}.face-workspace button{cursor:pointer;color:#256db9;font:inherit;background:#fff;border:1px solid #d5e0ed;border-radius:6px;padding:9px 14px}.face-workspace button:disabled{cursor:not-allowed;opacity:.5}.face-workspace .primary-button{color:#fff;background:#287aca;border-color:#287aca}.face-metrics{background:#fff;border:1px solid #dfe8f0;grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.face-metrics>div{align-items:baseline;gap:12px;padding:20px;display:flex}.face-metrics>div+div{border-left:1px solid #e5ebf1}.face-metrics strong{color:#2678ca;font-size:30px}.face-metrics span{color:#6b7c90;font-size:13px}.face-guide{background:#edf5fc;border-left:3px solid #2d83db;padding:16px 20px;font-size:14px;line-height:1.7}.face-guide summary{cursor:pointer;font-weight:600}.face-guide p:last-child{margin-bottom:0}.face-warning{color:#a2680e}.face-capture-grid{background:#fff;border:1px solid #dfe8f0;grid-template-columns:minmax(0,1.25fr) minmax(270px,1fr);display:grid}.face-camera-panel{min-width:0;padding:20px}.face-modes{gap:6px;margin-bottom:16px;display:flex}.face-modes button{flex:1;padding:10px 4px;font-size:14px}.face-modes .selected{color:#fff;background:#2779c9;border-color:#2779c9}.face-camera{aspect-ratio:4/3;background:#142a3d;border-radius:8px;position:relative;overflow:hidden}.face-camera video{object-fit:cover;width:100%;height:100%;transform:scaleX(-1)}.face-camera-placeholder{color:#e3edf5;text-align:center;flex-direction:column;justify-content:center;align-items:center;padding:15px;display:flex;position:absolute;inset:0}.face-camera-placeholder>span{color:#8fbde4;margin-bottom:14px;font-size:58px;font-weight:200}.face-camera-placeholder p{color:#a4bccf;font-size:13px}.face-camera-state{color:#cbd9e4;background:#142536bd;border-radius:4px;padding:5px 9px;font-size:12px;position:absolute;bottom:12px;left:12px}.face-camera-actions{gap:10px;margin-top:16px;display:flex}.face-camera-actions button:last-child{flex:1}.face-instructions{border-left:1px solid #e2e9f0;min-width:0;padding:24px}.face-instructions h3{margin:0 0 20px}.face-instructions p{color:#728196;font-size:14px;line-height:1.8}.face-instructions label{gap:8px;font-size:14px;font-weight:500;display:grid}.face-instructions input:not([type=checkbox]),.face-instructions select{box-sizing:border-box;width:100%;min-width:0;font:inherit;color:#2a4054;background:#fff;border:1px solid #d7e2ed;border-radius:5px;padding:10px 12px}.face-enrollment{gap:16px;display:grid}.face-instructions .face-consent{align-items:flex-start;gap:10px;font-size:13px;font-weight:400;line-height:1.8;display:flex}.face-consent input{flex-shrink:0;margin-top:6px}.face-instructions .face-error{color:#a43131;overflow-wrap:anywhere;background:#fff0ee;padding:12px}.face-instructions .face-success{color:#226a45;background:#eef9f1;padding:12px}.face-records{background:#fff;border:1px solid #dfe8f0;min-width:0;padding:22px}.face-records h3{margin:0 0 12px}.face-table-wrap{margin-top:18px;overflow-x:auto}.face-records table{border-collapse:collapse;text-align:left;width:100%;font-size:14px}.face-records th{color:#748699;white-space:nowrap;background:#f5f8fb;font-weight:500}.face-records th,.face-records td{vertical-align:middle;border-bottom:1px solid #e7edf3;padding:14px 12px}.face-records td small{color:#7a8a99;margin-top:4px;font-size:12px;display:block}.face-records td{overflow-wrap:anywhere;max-width:300px}.face-records button{white-space:nowrap;padding:6px 9px;font-size:13px}@media (width<=1050px){.face-capture-grid{grid-template-columns:1fr}.face-instructions{border-top:1px solid #e2e9f0;border-left:0}.face-metrics>div{gap:4px;display:grid}}@media (width<=650px){.face-heading{align-items:flex-start}.face-heading h2{font-size:23px}.face-metrics>div{padding:13px 8px}.face-metrics strong{font-size:25px}.face-metrics span{font-size:11px}.face-records,.face-camera-panel,.face-instructions{padding:14px}.face-workspace{gap:16px}.face-heading button{white-space:nowrap;font-size:12px}}.consolidated-tabs.attendance-tabs{grid-template-columns:repeat(3,minmax(0,1fr))}.face-workspace .face-camera video{object-fit:contain}@media (width<=650px){.consolidated-tabs.attendance-tabs{grid-template-columns:1fr}}.face-video-feedback{text-align:center;color:#fff;pointer-events:none;background:#12683beb;border-radius:8px;gap:5px;padding:16px 12px;display:grid;position:absolute;top:12px;left:12px;right:12px;box-shadow:0 4px 20px #0003}.face-video-feedback strong{overflow-wrap:anywhere;font-size:clamp(26px,4vw,44px);line-height:1.3}.face-video-feedback span{font-size:18px;font-weight:600}.face-video-feedback.failed{background:#a52d2ded}.face-device-options{flex-wrap:wrap;align-items:center;gap:12px;margin-top:14px;display:flex}.face-device-options label{align-items:center;gap:7px;font-size:14px;display:flex}.face-device-options input{accent-color:#287aca;width:17px;height:17px}.face-device-options p,.face-device-options small{color:#637a8c;flex-basis:100%;margin:0;font-size:12px;line-height:1.7}.face-device-options button{padding:5px 8px;font-size:12px}.face-device-options p button{margin-left:10px}.face-records-toolbar{justify-content:space-between;align-items:end;gap:12px;margin-top:16px;display:flex}.face-records-toolbar label{color:#405a72;flex:1;gap:6px;max-width:380px;font-size:13px;display:grid}.face-records-toolbar input{box-sizing:border-box;color:#23374b;width:100%;min-width:0;font:inherit;background:#fff;border:1px solid #cfdce8;border-radius:6px;padding:10px 12px}.face-records-toolbar input:focus-visible{outline-offset:2px;outline:2px solid #287aca}.face-records-toolbar span{color:#718194;white-space:nowrap;font-size:12px}@media (width<=650px){.face-records-toolbar{flex-direction:column;align-items:stretch}.face-records-toolbar label{max-width:none}.face-records-toolbar span{align-self:flex-end}}.face-heading-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.face-heading-actions>small{color:#708298}.face-provider-switch{background:#f5f9fd;border:1px solid #d6e3ef;border-radius:9px;align-items:center;gap:6px;padding:5px;display:flex}.face-provider-switch>span{color:#526d83;white-space:nowrap;padding:0 8px;font-size:13px;font-weight:600}.face-workspace .face-provider-switch button{white-space:nowrap;background:0 0;border-color:#0000;padding:8px 11px}.face-workspace .face-provider-switch button.selected{color:#fff;background:#287aca;border-color:#287aca;font-weight:700}.face-switch-status{color:#1b6542;background:#e9f6ee;border-radius:7px;margin:0;padding:10px 14px;font-size:13px}.face-switch-status.failed{color:#a43131;background:#fff0ee}@media (width<=800px){.face-heading{flex-direction:column;align-items:stretch}.face-heading-actions{justify-content:flex-start}.face-provider-switch{flex-wrap:wrap;max-width:100%}}.face-auto-start{gap:8px;margin-top:12px;display:grid}.face-auto-start button{min-height:46px}.face-auto-start small{color:#637a8c;font-size:12px;line-height:1.6}.face-primary-rule{color:#516b81;background:#f7fbff;border:1px solid #d9e6f1;border-radius:8px;padding:10px 12px;font-size:12px;line-height:1.7}.face-primary-rule summary{cursor:pointer;color:#245f93;font-weight:700}.face-primary-rule p{margin:8px 0 0}.face-camera-panel.face-kiosk{box-sizing:border-box;z-index:100000;color:#fff;touch-action:manipulation;background:#0b2033;flex-direction:column;gap:12px;width:100vw;height:100dvh;padding:clamp(12px,2vw,24px);display:flex;position:fixed;inset:0;overflow:hidden}.face-kiosk-heading{justify-content:space-between;align-items:center;gap:12px;font-size:clamp(16px,2.5vw,25px);display:flex}.face-kiosk-heading span{color:#bbd5e9;font-size:14px}.face-kiosk .face-camera{aspect-ratio:auto;border:1px solid #32648b;flex:1;min-height:0}.face-kiosk .face-camera video{object-fit:contain}.face-kiosk .face-camera-placeholder button{color:#174b7a;background:#fff;border:1px solid #a8ceef;border-radius:8px;margin-top:16px;padding:10px 18px;font-weight:700}.face-kiosk .face-video-feedback{width:min(90%,520px);padding:24px 16px;top:50%;left:50%;right:auto;transform:translate(-50%,-50%)}.face-kiosk .face-video-feedback strong{font-size:clamp(28px,6vw,58px)}.face-kiosk .face-video-feedback span{font-size:clamp(19px,3vw,29px)}.face-kiosk-status{gap:5px;min-height:72px;padding:3px 128px 3px 0;font-size:clamp(15px,2vw,20px);display:grid}.face-kiosk-status span{font-size:13px}.face-kiosk-error{color:#ffd0c9;overflow-wrap:anywhere}.face-kiosk-recovery{flex-wrap:wrap;gap:8px;display:flex}.face-workspace .face-kiosk-recovery button{color:#fff;background:#ffffff18;border-color:#ffffff50;min-height:44px;padding:8px 12px;font-size:13px}.face-detection-preparation{color:#49636a;flex-wrap:wrap;align-items:center;gap:10px;font-size:13px;display:flex}.face-detection-preparation button{min-height:44px}.face-kiosk-health{color:#bbd5e9;line-height:1.5}.face-device-options select{color:#27445c;max-width:100%;min-height:44px;font:inherit;background:#fff;border:1px solid #cbdceb;border-radius:6px;padding:8px}.face-recent-confirmed{color:#49636a;flex-wrap:wrap;gap:8px 16px;padding:12px 0;font-size:13px;display:flex}.face-recent-confirmed strong{color:#226a45}.face-camera-panel.face-kiosk{padding-bottom:calc(40px + env(safe-area-inset-bottom,0px))}.face-kiosk-status{flex-shrink:0;max-height:40dvh;overflow-y:auto}.face-kiosk-unlock{max-height:100%;overflow-y:auto}.face-workspace .face-kiosk-exit-zone{right:calc(16px + env(safe-area-inset-right,0px));bottom:calc(16px + env(safe-area-inset-bottom,0px));z-index:3;color:#f6fbff;touch-action:none;-webkit-user-select:none;user-select:none;-webkit-touch-callout:none;-webkit-tap-highlight-color:transparent;background:#163b58ed;border:1px solid #9abbd4a8;border-radius:14px;flex-direction:column;justify-content:center;align-items:center;gap:3px;width:104px;height:88px;padding:10px;display:flex;position:absolute;box-shadow:0 8px 22px #0006}.face-kiosk-exit-zone span{font-size:22px;line-height:1}.face-kiosk-exit-zone small{white-space:nowrap;font-size:12px}.face-workspace .face-kiosk-exit-zone.holding{background:#245d7f;border-color:#fff}.face-kiosk-exit-zone.holding:after{content:"";transform-origin:0;background:#fff;border-radius:3px;width:calc(100% - 16px);height:3px;animation:4s linear forwards face-exit-hold;position:absolute;bottom:6px;left:8px;transform:scaleX(0)}@keyframes face-exit-hold{to{transform:scaleX(1)}}.face-kiosk-brand{left:calc(16px + env(safe-area-inset-left,0px));bottom:calc(22px + env(safe-area-inset-bottom,0px));color:#8fb4d0;pointer-events:none;font-size:11px;position:absolute}.face-kiosk-unlock-backdrop{z-index:5;background:#071724dc;place-items:center;padding:16px;display:grid;position:absolute;inset:0}.face-kiosk-unlock{color:#1c3954;background:#fff;border-radius:14px;gap:12px;width:min(100%,390px);padding:24px;display:grid;box-shadow:0 18px 60px #0006}.face-kiosk-unlock h3,.face-kiosk-unlock p{margin:0}.face-kiosk-unlock p{font-size:13px;line-height:1.6}.face-kiosk-unlock label{gap:5px;font-size:13px;font-weight:700;display:grid}.face-kiosk-unlock input{width:100%;font:inherit;border:1px solid #cbdceb;border-radius:8px;padding:11px}.face-kiosk-unlock>div{justify-content:flex-end;gap:10px;display:flex}.face-kiosk-unlock button{border-radius:7px;padding:10px 14px}.face-kiosk-unlock .face-error{color:#a43131}@media (width<=650px){.face-kiosk-heading{gap:2px;display:grid}.face-kiosk-heading span{font-size:12px}.face-kiosk-status{min-height:82px;padding-right:112px}.face-workspace .face-kiosk-exit-zone{right:calc(12px + env(safe-area-inset-right,0px));bottom:calc(12px + env(safe-area-inset-bottom,0px));width:92px;height:82px}.face-kiosk-brand{left:calc(12px + env(safe-area-inset-left,0px));bottom:calc(15px + env(safe-area-inset-bottom,0px));font-size:10px}}.face-camera-actions{flex-wrap:wrap}.face-camera-actions button{min-height:44px}@media (width<=650px){.face-camera-actions .face-capture-reset{flex-basis:100%}}.face-workspace .face-camera-open{color:#205f98;min-height:44px;box-shadow:none;background:#edf6ff;border-color:#b7d6f1;margin-top:8px;padding:10px 22px;font-size:14px}.face-video-feedback.warning{background:#8d620aef}.face-workspace .face-camera video{transform:none}.face-workspace .face-camera video.face-camera-front{transform:scaleX(-1)}.face-camera-toolbar{color:#526d83;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;margin:0 0 12px;font-size:13px;display:flex}.face-camera-toolbar button{touch-action:manipulation;min-height:44px;padding:10px 14px}.face-camera-toolbar button span{vertical-align:middle;font-size:20px;line-height:1}.face-kiosk .face-camera-toolbar{color:#c2d9eb;flex-shrink:0;margin:0}.face-video-feedback small{overflow-wrap:anywhere;font-size:14px;line-height:1.6}.face-video-feedback span{overflow-wrap:anywhere;line-height:1.5}@media (width<=650px){.face-kiosk .face-video-feedback small{font-size:14px}}.face-profile-section{overflow:hidden}.face-profile-table table{min-width:840px}.face-profile-table td:first-child strong{color:#203d57;display:block}.face-profile-actions{flex-wrap:wrap;align-items:center;gap:7px;display:flex}.face-profile-actions button{min-height:38px}.face-workspace .face-danger-button{color:#a13d39;background:#fff8f7;border-color:#e2b9b6}.face-workspace .face-danger-button:hover{background:#fff0ee}.face-attendance-badge,.face-enrollment-badge{white-space:nowrap;border-radius:999px;align-items:center;width:max-content;padding:4px 9px;font-size:12px;font-weight:700;display:inline-flex}.face-attendance-badge.pending{color:#8c6200;background:#fff4cf}.face-attendance-badge.signed{color:#226a45;background:#e8f7ef}.face-enrollment-badge.ready{color:#236ba8;background:#e8f3ff}.face-enrollment-badge.missing{color:#687682;background:#f1f3f5}.face-profile-cards{display:none}.face-profile-empty{color:#728196;margin:0}@media (width>=761px){.face-profile-table{border:1px solid #e5ecf3;border-radius:10px}.face-profile-table table{table-layout:fixed;font-size:13px}.face-col-student{width:12%}.face-col-attendance{width:10%}.face-col-current{width:26%}.face-col-other{width:11%}.face-col-consent{width:16%}.face-col-actions{width:196px}.face-profile-table th{color:#667d90;background:#f6f9fc;padding:12px 14px;font-size:12px}.face-profile-table td{padding:16px 14px;line-height:1.5}.face-profile-table tbody tr:last-child td{border-bottom:0}.face-profile-table tbody tr:hover{background:#f8fbfe}.face-profile-table td:first-child strong{font-size:14px;font-weight:600}.face-profile-current{flex-wrap:wrap;align-items:center;gap:6px 8px;display:flex}.face-profile-engine{color:#637a8e;font-size:12px}.face-profile-table .face-profile-date{font-variant-numeric:tabular-nums;color:#8291a0;margin-top:7px;font-size:11px}.face-profile-table .face-profile-secondary,.face-profile-table .face-profile-consent-pending{color:#7b8a99;font-size:12px}.face-profile-actions-heading{text-align:right}.face-profile-actions-desktop{flex-wrap:nowrap;justify-content:flex-end;gap:8px}.face-workspace .face-profile-actions-desktop button{min-height:34px;box-shadow:none;border-radius:6px;justify-content:center;align-items:center;gap:5px;padding:6px 9px;font-size:12px;font-weight:500;transition:background-color .15s,border-color .15s;display:inline-flex}.face-profile-actions-desktop svg{flex-shrink:0}.face-workspace .face-profile-reenroll,.face-workspace .face-profile-enroll{color:#276fae;background:#f0f6fc;border-color:#d6e5f3}.face-workspace .face-profile-reenroll:hover:not(:disabled),.face-workspace .face-profile-enroll:hover:not(:disabled){background:#e3effb;border-color:#a9c9e7}.face-workspace .face-profile-delete{color:#a55d57;background:0 0;border-color:#0000}.face-workspace .face-profile-delete:hover:not(:disabled){color:#a13d39;background:#fff0ee;border-color:#efd1ce}.face-profile-actions-desktop button:focus-visible{outline-offset:3px;outline:2px solid #287aca}}@media (width<=760px){.face-profile-table{display:none}.face-profile-cards{gap:12px;margin-top:16px;display:grid}.face-profile-card{background:#fbfdff;border:1px solid #dce6ef;border-radius:10px;gap:14px;padding:15px;display:grid}.face-profile-card header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.face-profile-card header>div{gap:3px;display:grid}.face-profile-card header strong{color:#173b5b;font-size:17px}.face-profile-card header small{color:#728196;font-size:12px}.face-profile-card dl{gap:10px;margin:0;display:grid}.face-profile-card dl>div{border-top:1px solid #edf1f5;grid-template-columns:82px minmax(0,1fr);gap:10px;padding-top:10px;display:grid}.face-profile-card dt{color:#718194;font-size:12px}.face-profile-card dd{color:#2b4358;overflow-wrap:anywhere;gap:5px;margin:0;font-size:13px;display:grid}.face-profile-card dd small{color:#718194;font-size:12px}.face-profile-card .face-profile-actions{grid-template-columns:1fr 1.45fr;display:grid}.face-profile-card .face-profile-actions:has(>button:only-child){grid-template-columns:1fr}.face-profile-card .face-profile-actions button{white-space:normal;min-height:44px}.face-profile-section{padding:14px}.face-profile-section>p{line-height:1.7}}.face-enrollment-method{background:#edf3f9;border-radius:9px;grid-template-columns:1fr 1fr;gap:6px;padding:5px;display:grid}.face-enrollment-method button{background:0 0;border-color:#0000;min-height:42px}.face-enrollment-method button.selected{color:#176bb8;background:#fff;border-color:#c9def2;box-shadow:0 2px 8px #183d5d12}.face-photo-preview{aspect-ratio:4/3;color:#dce9f4;background:#142a3d;border-radius:8px;place-items:center;display:grid;position:relative;overflow:hidden}.face-photo-preview>div{text-align:center;place-items:center;gap:8px;padding:20px;display:grid}.face-photo-preview>div>span{color:#8fbde4;font-size:54px;font-weight:200}.face-photo-preview p{color:#a9bfd1;margin:0;font-size:13px}.face-photo-preview img{object-fit:contain;background:#0c1c2a;width:100%;height:100%}.face-photo-preview>span{color:#dce8f1;background:#142536d9;border-radius:4px;padding:5px 9px;font-size:12px;position:absolute;bottom:12px;left:12px}.face-photo-upload{background:#f7fbff;border:1px solid #dbe7f1;border-radius:9px;gap:10px;padding:14px;display:grid}.face-photo-upload .face-photo-picker{gap:7px;font-weight:700;display:grid}.face-photo-upload input[type=file]{background:#fff;padding:9px}.face-photo-upload small{color:#687e92;line-height:1.6}.face-photo-upload>strong{overflow-wrap:anywhere;color:#275778;font-size:13px}.face-photo-upload .primary-button{min-height:44px}.face-photo-upload .face-photo-security{color:#8a610b;border-top:1px solid #e4edf4;padding-top:9px}@media (width<=650px){.face-enrollment-method{grid-template-columns:1fr}.face-photo-upload{padding:12px}.face-photo-preview>span{font-size:11px}}.face-identity-protection summary{cursor:pointer;color:#253c50;font-weight:700}.face-identity-protection summary span{color:#8c5a13;margin-left:12px;font-size:13px;font-weight:400}.face-identity-protection>label{gap:8px;max-width:420px;display:grid}.face-identity-options{grid-template-columns:repeat(auto-fill,minmax(155px,1fr));gap:8px;max-height:260px;padding:12px 0;display:grid;overflow:auto}.face-identity-options label{border:1px solid #e0e7ef;border-radius:8px;align-items:center;gap:10px;padding:10px;display:flex}.face-identity-options input{flex-shrink:0;width:18px;height:18px}.face-identity-options small{color:#8c5a13;display:block}.face-identity-actions{flex-wrap:wrap;gap:10px;display:flex}.face-enrollment-badge.protected{color:#8c5a13;white-space:nowrap;background:#fff3cf}.face-enrollment-notice{z-index:100010;top:calc(env(safe-area-inset-top,0px) + clamp(80px, 16vh, 150px));box-sizing:border-box;color:#1b7049;overflow-wrap:anywhere;pointer-events:none;background:#f3fcf7;border:1px solid #bddfce;border-radius:14px;align-items:flex-start;gap:12px;width:max-content;max-width:min(480px,100vw - 32px);padding:16px 20px;font-size:16px;font-weight:600;line-height:1.6;animation:.18s ease-out both face-enrollment-notice-in,.3s ease-in 3.18s forwards face-enrollment-notice-out;display:flex;position:fixed;left:50%;transform:translate(-50%);box-shadow:0 10px 32px #183e5226}.face-enrollment-notice.error{color:#a13c34;background:#fff6f5;border-color:#efd0cd}.face-enrollment-notice-icon{background:#dcefe4;border-radius:50%;flex:0 0 24px;place-items:center;height:24px;margin-top:1px;font-size:16px;display:grid}.face-enrollment-notice.error .face-enrollment-notice-icon{background:#f9e1de}@keyframes face-enrollment-notice-in{0%{opacity:0}to{opacity:1}}@keyframes face-enrollment-notice-out{0%{opacity:1}to{opacity:0}}@media (prefers-reduced-motion:reduce){.face-enrollment-notice{animation:none}}@media (width<=600px){.face-enrollment-notice{padding:14px 16px;font-size:15px}}.face-cards-panel summary{cursor:pointer;color:#253c50;font-weight:700}.face-cards-panel summary span{color:#65778a;margin-left:12px;font-size:13px;font-weight:400}.face-card-previews{grid-template-columns:repeat(auto-fit,minmax(150px,220px));gap:16px;margin-top:16px;display:grid}.face-card-previews article{border:1px dashed #abc2d6;border-radius:12px;justify-items:center;padding:14px;display:grid}.face-card-previews img{width:100%;max-width:180px}.face-card-previews small{color:#65778a;font-size:12px}.face-card-scan-status{background:#eaf3ff;border:1px solid #b4d4f7;border-radius:12px;justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex}.face-card-scan-status strong{display:block}.face-card-scan-status small{color:#456582;margin-top:4px;display:block}.face-kiosk .face-card-scan-status{color:#fff;background:#173b56;border-color:#426780;flex-shrink:0;font-size:14px}.face-kiosk .face-card-scan-status small{color:#cee0ef}.face-card-scan-status button{flex-shrink:0}.face-card-scan-status{margin:8px 0}.face-evaluation{color:#193956;gap:20px;display:grid}.evaluation-heading,.evaluation-gallery>div{justify-content:space-between;align-items:center;gap:16px;display:flex}.evaluation-heading h2{margin:8px 0;font-size:26px}.evaluation-heading p,.evaluation-gallery p{color:#61758c;margin:7px 0;line-height:1.6}.face-evaluation button{color:#1b6cbb;cursor:pointer;font:inherit;background:#fff;border:1px solid #cbddef;border-radius:10px;min-height:44px;padding:11px 16px}.face-evaluation button:disabled{opacity:.5;cursor:not-allowed}.face-evaluation .primary-button{color:#fff;background:#2278cd}.evaluation-tag{color:#2169b4;background:#eaf3ff;border-radius:20px;padding:6px 12px;font-size:12px;display:inline-flex}.evaluation-notice{background:#fff8e8;border:1px solid #eedbb1;border-radius:14px;padding:18px 20px;line-height:1.7}.evaluation-notice p{color:#786036;margin:6px 0 0;font-size:14px}.evaluation-summary{color:#677e93;flex-wrap:wrap;gap:12px;font-size:14px;display:flex}.evaluation-summary span{background:#fff;border-radius:8px;padding:8px 12px}.evaluation-summary .ready{color:#17875c;background:#e9f7ef}.evaluation-grid{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:20px;display:grid}.evaluation-camera-panel,.evaluation-controls,.evaluation-gallery{background:#fff;border:1px solid #dce8f4;border-radius:18px;min-width:0;padding:22px}.evaluation-modes{gap:8px;margin-bottom:16px;display:flex}.evaluation-modes button{flex:1}.evaluation-modes button[aria-pressed=true]{background:#eaf4ff;border-color:#2481d6}.evaluation-camera{aspect-ratio:4/3;background:#122b42;border-radius:12px;position:relative;overflow:hidden}.evaluation-camera video{object-fit:cover;width:100%;height:100%}.evaluation-camera.mirrored video{transform:scaleX(-1)}.evaluation-camera>div{color:#cadbea;place-items:center;display:grid;position:absolute;inset:0}.evaluation-prompt{background:#edf5ff;border-radius:10px;padding:12px;font-weight:600;line-height:1.5}.evaluation-camera-actions{flex-wrap:wrap;gap:10px;display:flex}.evaluation-camera-actions .primary-button{flex:1}.face-evaluation label{gap:8px;margin:15px 0;font-size:14px;display:grid}.face-evaluation select,.face-evaluation input[type=number]{box-sizing:border-box;color:#23445e;width:100%;font:inherit;background:#fff;border:1px solid #cbddef;border-radius:10px;min-height:44px;padding:12px}.evaluation-controls h3{margin:0 0 20px}.face-evaluation .evaluation-consent{align-items:flex-start;gap:10px;line-height:1.6;display:flex}.evaluation-consent input{flex-shrink:0;margin-top:5px}.evaluation-thresholds{border-top:1px solid #e3ecf6;padding-top:16px}.evaluation-thresholds summary{cursor:pointer;font-weight:600}.evaluation-thresholds p,.evaluation-controls>p{color:#6b7f94;font-size:14px;line-height:1.7}.evaluation-result{color:#196344;overflow-wrap:anywhere;background:#eef8f3;border-radius:12px;margin-top:18px;padding:16px}.evaluation-result.attention{color:#886321;background:#fff7e5}.evaluation-frame-list{gap:10px;margin-top:14px;display:grid}.evaluation-frame-list article{background:#ffffffa8;border-radius:8px;gap:6px;padding:12px;font-size:14px;display:grid}.evaluation-error{color:#a13b3b;overflow-wrap:anywhere;background:#fff0f0;border-radius:10px;padding:14px}.evaluation-gallery h3{margin:0}.evaluation-gallery ul{margin:16px 0 0;padding:0;list-style:none}.evaluation-gallery li{border-top:1px solid #e3ecf6;flex-wrap:wrap;align-items:center;gap:14px;padding:14px 0;display:flex}.evaluation-gallery li span{color:#7d8fa3;font-size:13px}.evaluation-gallery li button{margin-left:auto}@media (width<=1000px){.evaluation-grid{grid-template-columns:1fr}}@media (width<=600px){.evaluation-heading,.evaluation-gallery>div{flex-direction:column;align-items:flex-start}.evaluation-camera-panel,.evaluation-controls,.evaluation-gallery{padding:15px}.evaluation-modes button{padding:10px;font-size:13px}.evaluation-heading h2{font-size:23px}.evaluation-camera-actions button{flex:130px}.evaluation-notice{padding:15px}.evaluation-gallery>div>button{width:100%}}.face-evaluation .evaluation-camera video{object-fit:contain}.evaluation-capture-help{color:#61758c;font-size:13px;line-height:1.7}.evaluation-captures{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;margin:14px 0;display:grid}.evaluation-captures article{background:#f7fbff;border:1px solid #dce8f4;border-radius:10px;gap:6px;min-width:0;padding:6px;display:grid}.evaluation-captures img{object-fit:contain;background:#122b42;border-radius:6px;width:100%;height:90px}.evaluation-captures span{color:#23445e;font-size:12px;line-height:1.5}.evaluation-captures button{padding:7px 4px;font-size:12px}.evaluation-captures button[aria-pressed=true]{background:#eaf4ff;border-color:#2481d6}.evaluation-pairs{background:#f2f7fc;border:1px solid #dce8f4;border-radius:12px;margin:14px 0;padding:12px;font-size:13px;line-height:1.6}.evaluation-pairs p{color:#61758c;margin:6px 0}.evaluation-pairs>div{border-radius:6px;justify-content:space-between;gap:8px;padding:7px 6px;display:flex}.face-evaluation .needs-retake{color:#9b3f32;background:#fff1ee;border-color:#eab8ad}@media (width<=600px){.face-evaluation .evaluation-camera-actions{grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.face-evaluation .evaluation-camera-actions button:nth-child(3){grid-column:1/-1}}.student-attendance-overlay{z-index:45;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#14212b9e;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.student-attendance-backdrop{cursor:default;background:0 0;border:0;width:100%;height:100%;padding:0;position:absolute;inset:0}.student-attendance-dialog{z-index:1;background:#fff;border:1px solid #c7d6df;border-radius:16px;width:min(1080px,100%);max-height:min(820px,100vh - 48px);animation:.18s ease-out studentAttendanceIn;position:relative;overflow:hidden;box-shadow:0 28px 80px #0f223152}@keyframes studentAttendanceIn{0%{opacity:.45;transform:translateY(12px)scale(.985)}to{opacity:1;transform:translateY(0)scale(1)}}.student-attendance-header{background:linear-gradient(135deg,#f5faff,#f8fbf9);border-bottom:1px solid #dbe5ea;grid-template-columns:54px minmax(0,1fr) 42px;align-items:center;gap:15px;padding:20px 24px;display:grid}.student-attendance-avatar{color:#1e67a3;background:#dceeff;border-radius:50%;place-items:center;width:54px;height:54px;font-size:21px;font-weight:750;display:grid}.student-attendance-header span{color:#4380ad;letter-spacing:.12em;font-size:10px;font-weight:750}.student-attendance-header h3{color:#253946;margin:4px 0 0;font-size:22px}.student-attendance-header p{color:#71808a;margin:5px 0 0;font-size:12px}.student-attendance-header>button{color:#5d6e79;background:#fff;border:1px solid #d4dfe6;border-radius:50%;width:42px;height:42px;padding:0;font-size:25px;line-height:1}.student-attendance-body{grid-template-columns:minmax(0,1.5fr) minmax(300px,.8fr);min-height:0;max-height:calc(min(820px,100vh - 48px) - 95px);display:grid;overflow:hidden}.student-attendance-calendar-panel,.student-attendance-editor{min-height:0;overflow-y:auto}.student-attendance-calendar-panel{padding:22px 24px 26px}.student-attendance-month-nav{grid-template-columns:40px minmax(0,1fr) 40px auto;align-items:center;gap:10px;margin-bottom:18px;display:grid}.student-attendance-month-nav>button{color:#356f9c;background:#f7fbfe;border:1px solid #d5e0e7;border-radius:9px;width:40px;height:40px;padding:0;font-size:24px}.student-attendance-month-nav>div{text-align:center}.student-attendance-month-nav strong,.student-attendance-month-nav span{display:block}.student-attendance-month-nav strong{color:#293d49;font-size:18px}.student-attendance-month-nav span{color:#85919a;margin-top:3px;font-size:10px}.student-attendance-month-nav .student-attendance-today{width:auto;padding:0 12px;font-size:11px}.student-attendance-calendar-warning{color:#775d24;background:#fff9e9;border:1px solid #e8d5a5;border-radius:8px;margin:-5px 0 14px;padding:9px 11px;font-size:11px;line-height:1.55}.student-attendance-weekdays,.student-attendance-calendar{grid-template-columns:repeat(7,minmax(0,1fr));gap:7px;display:grid}.student-attendance-weekdays{margin-bottom:7px}.student-attendance-weekdays span{color:#7d8b95;text-align:center;font-size:10px;font-weight:650}.student-attendance-calendar{transition:opacity .16s}.student-attendance-calendar.is-loading{opacity:.48;pointer-events:none}.calendar-placeholder{min-height:70px}.student-attendance-day{border:1px solid var(--attendance-border,#dce5ea);min-width:0;min-height:78px;color:var(--attendance-strong,#50606a);background:var(--attendance-bg,#f8fafb);text-align:left;border-radius:10px;align-content:start;justify-items:start;padding:9px;transition:transform .14s,box-shadow .14s,border-color .14s;display:grid;position:relative}.student-attendance-day:hover{transform:translateY(-1px);box-shadow:0 6px 14px #1b33451a}.student-attendance-day.selected{border-color:#2b7fd8;outline:3px solid #2b7fd82e;box-shadow:0 7px 18px #2b7fd824}.student-attendance-day.today time:after{content:"今";color:#fff;vertical-align:2px;background:#2b7fd8;border-radius:50%;place-items:center;width:16px;height:16px;margin-left:4px;font-size:8px;display:inline-grid}.student-attendance-day time{color:inherit;font-size:15px;font-weight:750}.student-attendance-day-head{justify-content:space-between;align-items:flex-start;width:100%;display:flex}.student-attendance-day-head>b{color:#fff;background:#d75a4d;border-radius:5px;place-items:center;width:18px;height:18px;font-size:8px;display:inline-grid}.student-attendance-day.official-work .student-attendance-day-head>b{background:#b08424}.student-attendance-day>small{color:#9a4339;text-overflow:ellipsis;white-space:nowrap;max-width:100%;margin-top:4px;font-size:8px;font-weight:700;overflow:hidden}.student-attendance-day.official-work>small{color:#7a601d}.student-attendance-day>.student-attendance-business-note{color:#456d90}.student-attendance-day>.student-attendance-state-label{text-overflow:ellipsis;white-space:nowrap;align-self:end;max-width:100%;margin-top:auto;font-size:9px;font-weight:700;overflow:hidden}.student-attendance-day>i{color:#267054;background:#ffffffd1;border-radius:8px;padding:2px 4px;font-size:7px;font-style:normal;position:absolute;bottom:6px;right:6px}.student-attendance-day.official-rest{box-shadow:inset 0 3px #d75a4d}.student-attendance-day.official-work{box-shadow:inset 0 3px #b08424}.student-attendance-day.present,.student-attendance-legend .present{--attendance-border:#9fd3b9;--attendance-bg:#e9f8f0;--attendance-strong:#176b4c}.student-attendance-day.absent,.student-attendance-legend .absent{--attendance-border:#e4aea8;--attendance-bg:#fff0ee;--attendance-strong:#a03f37}.student-attendance-day.leave,.student-attendance-legend .leave{--attendance-border:#ead184;--attendance-bg:#fff8dc;--attendance-strong:#8b6510}.student-attendance-day.holiday,.student-attendance-legend .holiday{--attendance-border:#a8cceb;--attendance-bg:#edf7ff;--attendance-strong:#276d9f}.student-attendance-day.paused,.student-attendance-legend .paused{--attendance-border:#c4b9df;--attendance-bg:#f3f0fa;--attendance-strong:#685493}.student-attendance-day.pending{--attendance-border:#d6e1e7;--attendance-bg:#f8fafb;--attendance-strong:#71808a}.student-attendance-day.inactive,.student-attendance-legend .inactive{--attendance-border:#e1e5e8;--attendance-bg:#f5f6f7;--attendance-strong:#929ba1}.student-attendance-legend{flex-wrap:wrap;gap:7px 13px;margin-top:17px;display:flex}.student-attendance-legend span{color:var(--attendance-strong);align-items:center;gap:5px;font-size:9px;display:inline-flex}.student-attendance-legend span:before{content:"";border:1px solid var(--attendance-border);background:var(--attendance-bg);border-radius:50%;width:9px;height:9px}.student-attendance-legend .official-rest,.student-attendance-legend .official-work{color:#7a6260}.student-attendance-legend .official-rest:before,.student-attendance-legend .official-work:before{display:none}.student-attendance-legend .official-rest b,.student-attendance-legend .official-work b{color:#fff;background:#d75a4d;border-radius:5px;place-items:center;width:16px;height:16px;font-size:8px;display:inline-grid}.student-attendance-legend .official-work b{background:#b08424}.student-attendance-calendar-source{color:#7d8b95;margin:10px 0 0;font-size:10px;line-height:1.5}.student-attendance-stats{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:18px;display:grid}.student-attendance-stats span{color:#74818a;text-align:center;background:#fafcfd;border:1px solid #e0e7eb;border-radius:9px;padding:11px;font-size:9px}.student-attendance-stats strong{color:#304652;margin-right:4px;font-size:15px}.student-attendance-editor{background:#f7fafc;border-left:1px solid #dce5ea;padding:23px 24px 26px}.student-attendance-selected-date{border-bottom:1px solid #dce4e9;margin-bottom:20px;padding-bottom:16px}.student-attendance-selected-date>span,.student-attendance-selected-date>strong,.student-attendance-selected-date>small{display:block}.student-attendance-selected-date>span{color:#7d8b95;font-size:10px}.student-attendance-selected-date>strong{color:#263d4b;margin-top:4px;font-size:21px}.student-attendance-selected-date>small{color:#32765a;margin-top:7px;font-size:10px;line-height:1.45}.student-attendance-selected-date>.china-calendar-selected-note{color:#955044;align-items:center;gap:6px;display:flex}.china-calendar-selected-note b{color:#fff;background:#d75a4d;border-radius:5px;place-items:center;width:18px;height:18px;font-size:8px;display:inline-grid}.student-attendance-editor>label{color:#53636e;margin-top:14px;font-size:11px;font-weight:650;display:block}.student-attendance-editor select,.student-attendance-editor input,.student-attendance-editor textarea{color:#293d49;width:100%;font:inherit;background:#fff;border:1px solid #cbd7df;border-radius:7px;margin-top:7px}.student-attendance-editor select,.student-attendance-editor input{min-height:42px;padding:0 11px}.student-attendance-editor textarea{resize:vertical;padding:10px 11px}.student-attendance-editor label>small{color:#87939b;margin-top:5px;font-size:9px;font-weight:400;line-height:1.45;display:block}.student-attendance-readonly{color:#775a18;background:#fff8e4;border:1px solid #dccca2;border-radius:7px;padding:10px 12px;font-size:10px;line-height:1.5}.student-attendance-source{background:#edf7fd;border:1px solid #cfe2ef;border-radius:8px;margin-top:18px;padding:12px}.student-attendance-source strong,.student-attendance-source span{display:block}.student-attendance-source strong{color:#2b6e9d;font-size:10px}.student-attendance-source span{color:#5f7685;margin-top:5px;font-size:9px;line-height:1.55}.student-attendance-actions{grid-template-columns:1fr 1fr;gap:9px;margin-top:19px;display:grid}.student-attendance-actions button{border-radius:7px;min-height:43px;padding:8px 11px;font-size:11px;font-weight:700}.student-attendance-checkin{color:#176b4c;background:#e7f7ef;border:1px solid #78c09d}.student-attendance-save{color:#fff;background:#2b7fd8;border:1px solid #2b7fd8}.student-attendance-actions button:disabled{color:#929ca3;cursor:default;background:#eef1f3;border-color:#d4dce1}.student-attendance-action{color:#246f50!important;background:#edf9f2!important;border-color:#a9d5bd!important}.student-card-actions .student-attendance-action{grid-column:1/-1}@media (width<=850px){.student-attendance-overlay{padding:0}.student-attendance-dialog{border:0;border-radius:0;width:100%;height:100%;max-height:none}.student-attendance-body{grid-template-columns:1fr;max-height:calc(100vh - 95px);overflow-y:auto}.student-attendance-calendar-panel,.student-attendance-editor{overflow:visible}.student-attendance-editor{border-top:1px solid #dce5ea;border-left:0}}@media (width<=560px){.student-attendance-header{grid-template-columns:42px minmax(0,1fr) 38px;gap:10px;padding:14px 15px}.student-attendance-avatar{width:42px;height:42px;font-size:17px}.student-attendance-header h3{font-size:18px}.student-attendance-header p{display:none}.student-attendance-header>button{width:38px;height:38px}.student-attendance-body{max-height:calc(100vh - 71px)}.student-attendance-calendar-panel,.student-attendance-editor{padding:17px 14px 22px}.student-attendance-month-nav{grid-template-columns:36px minmax(0,1fr) 36px}.student-attendance-month-nav>button{width:36px;height:36px}.student-attendance-month-nav .student-attendance-today{grid-column:1/-1;justify-self:center;width:auto}.student-attendance-weekdays,.student-attendance-calendar{gap:4px}.calendar-placeholder,.student-attendance-day{min-height:65px}.student-attendance-day{border-radius:7px;padding:6px 5px}.student-attendance-day time{font-size:13px}.student-attendance-day>.student-attendance-state-label{font-size:8px}.student-attendance-day>small{font-size:7px}.student-attendance-day>i{display:none}.student-attendance-stats span{padding:9px 4px}.student-attendance-actions{padding:12px 14px calc(12px + env(safe-area-inset-bottom));background:#fffffff5;border-top:1px solid #d6e0e6;margin-bottom:-22px;margin-left:-14px;margin-right:-14px;position:sticky;bottom:0}}.china-calendar-mobile-close{display:none}.china-calendar-popover{z-index:80;background:#fff;border:1px solid #d4e0e8;border-radius:14px;width:min(390px,100vw - 32px);padding:16px;position:absolute;top:calc(100% + 10px);right:0;box-shadow:0 20px 55px #18314338}.china-calendar-header{grid-template-columns:36px minmax(0,1fr) 36px;align-items:center;gap:9px;display:grid}.china-calendar-header>button{color:#2d70a6;background:#f7fbfe;border:1px solid #d6e1e8;border-radius:9px;width:36px;height:36px;padding:0;font-size:22px}.china-calendar-header>div{text-align:center}.china-calendar-header strong,.china-calendar-header span{display:block}.china-calendar-header strong{color:#273f4e;font-size:16px}.china-calendar-header span{color:#87949d;margin-top:2px;font-size:9px}.china-calendar-weekdays,.china-calendar-grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:5px;display:grid}.china-calendar-weekdays{margin:15px 0 6px}.china-calendar-weekdays span{color:#7d8b95;text-align:center;font-size:9px;font-weight:700}.china-calendar-placeholder,.china-calendar-day{min-height:50px}.china-calendar-day{color:#405461;text-align:left;background:#f7f9fa;border:1px solid #0000;border-radius:8px;align-content:space-between;min-width:0;padding:6px;display:grid;position:relative}.china-calendar-day:hover{background:#f0f7fb;border-color:#a9c9df}.china-calendar-day.weekend{color:#a05b52;background:#fff8f5}.china-calendar-day.official-rest{color:#a74338;background:#fff3f0;border-color:#f0c7bf}.china-calendar-day.official-work{color:#81631b;background:#fff9e7;border-color:#d6c285}.china-calendar-day.selected{border-color:#2b7fd8;outline:3px solid #2b7fd829}.china-calendar-day.today time{text-underline-offset:3px;-webkit-text-decoration:underline #2b7fd8;text-decoration:underline #2b7fd8;text-decoration-thickness:2px}.china-calendar-date{justify-content:space-between;align-items:flex-start;gap:3px;display:flex}.china-calendar-date time{font-size:12px;font-weight:750}.china-calendar-date b{color:#fff;background:#d75a4d;border-radius:5px;place-items:center;width:16px;height:16px;font-size:8px;display:inline-grid}.official-work .china-calendar-date b{background:#b08424}.china-calendar-day small{color:inherit;text-overflow:ellipsis;white-space:nowrap;font-size:8px;font-weight:650;overflow:hidden}.china-calendar-day>i{background:#2b7fd8;border-radius:50%;width:5px;height:5px;position:absolute;bottom:5px;right:5px}.china-calendar-footer{border-top:1px solid #e3e9ed;margin-top:13px;padding-top:12px}.china-calendar-legend{color:#71808a;flex-wrap:wrap;gap:7px 12px;font-size:9px;display:flex}.china-calendar-legend span{align-items:center;gap:4px;display:inline-flex}.china-calendar-legend b{color:#fff;background:#d75a4d;border-radius:5px;place-items:center;width:16px;height:16px;font-size:8px;display:inline-grid}.china-calendar-legend .work b{background:#b08424}.china-calendar-legend i{background:#2b7fd8;border-radius:50%;width:6px;height:6px}.china-calendar-footer-actions{align-items:end;gap:8px;margin-top:11px;display:flex}.china-calendar-footer-actions label{color:#75848e;flex:1;font-size:9px}.china-calendar-footer-actions input{color:#334b59;width:100%;min-height:35px;font:inherit;background:#fff;border:1px solid #d2dde4;margin-top:4px;padding:0 8px;display:block}.china-calendar-footer-actions button{color:#2b6f9e;background:#f1f8fc;border:1px solid #b7d1e3;border-radius:7px;min-height:35px;padding:0 12px}.china-calendar-footer>p{color:#9a6d19;margin:10px 0 0;font-size:9px;line-height:1.5}@media (width<=520px){.china-calendar-popover{width:auto;max-height:calc(100vh - 20px);padding:14px;position:fixed;inset:auto 10px 10px;overflow-y:auto}.china-calendar-placeholder,.china-calendar-day{min-height:46px}}.records-workspace-overlay{z-index:40;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#16232d99;animation:.16s ease-out recordsOverlayIn;position:fixed;inset:0}.records-workspace-dialog{z-index:41;background:#f5f8fa;border:1px solid #c9d6de;border-radius:16px;outline:0;grid-template-rows:auto minmax(0,1fr);width:min(1180px,100vw - 40px);height:min(880px,100vh - 40px);animation:.18s ease-out recordsDialogIn;display:grid;position:fixed;top:50%;left:50%;overflow:hidden;transform:translate(-50%,-50%);box-shadow:0 30px 90px #0f1f2b57}@keyframes recordsOverlayIn{0%{opacity:0}to{opacity:1}}@keyframes recordsDialogIn{0%{opacity:.45;transform:translate(-50%,calc(12px - 50%))scale(.985)}to{opacity:1;transform:translate(-50%,-50%)scale(1)}}.records-workspace-header{background:linear-gradient(135deg,#f5faff,#f8fbf9);border-bottom:1px solid #d8e2e8;justify-content:space-between;align-items:flex-start;gap:24px;padding:20px 24px 18px;display:flex}.records-workspace-header span{color:#4380ad;letter-spacing:.12em;font-size:10px;font-weight:750}.records-workspace-header h2{color:#263a47;margin:5px 0 0;font-size:23px}.records-workspace-header p{color:#71808a;margin:6px 0 0;font-size:12px;line-height:1.5}.records-workspace-close{color:#5b6b76;background:#fff;border:1px solid #d3dee5;border-radius:50%;flex:none;width:42px;height:42px;padding:0;font-size:25px;line-height:1}.records-workspace-close:hover{color:#276faa;background:#f4faff;border-color:#92b9d6}.records-workspace-body{scrollbar-color:#a9bdcc #edf1f4;scrollbar-width:thin;min-height:0;padding:22px;overflow-y:auto}.records-workspace-body .student-search-panel{margin-top:0}.records-workspace-body .people-layout{margin-bottom:3px}.student-actions-menu{z-index:80;background:#fff;border:1px solid #cbd9e2;border-radius:10px;outline:0;min-width:218px;padding:6px;animation:.14s ease-out studentMenuIn;box-shadow:0 16px 42px #18304233}@keyframes studentMenuIn{0%{opacity:0;transform:translateY(-4px)scale(.98)}to{opacity:1;transform:translateY(0)scale(1)}}.student-actions-menu-item{color:#314653;cursor:pointer;-webkit-user-select:none;user-select:none;border-radius:7px;outline:0;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:9px;min-height:50px;padding:7px 9px;display:grid}.student-actions-menu-item[data-highlighted]{color:#1f669c;background:#edf6fd}.student-actions-menu-item>span{color:#3376a8;background:#e8f3fb;border-radius:7px;place-items:center;width:28px;height:28px;font-size:12px;font-weight:750;display:grid}.student-actions-menu-item strong,.student-actions-menu-item small{display:block}.student-actions-menu-item small{color:#7b8992;margin-top:2px;font-size:9px;font-weight:400}.student-actions-menu-item.warning>span{color:#89640e;background:#fff5d7}.student-actions-menu-item.success>span{color:#267153;background:#eaf7f0}.student-actions-menu-item.danger>span{color:#9c4037;background:#fff0ee}.student-actions-menu-item.danger[data-highlighted]{color:#963a33;background:#fff0ee}.student-actions-menu-separator{background:#e2e8ec;height:1px;margin:5px 3px}.student-actions-menu-arrow{fill:#fff;stroke:#cbd9e2;stroke-width:1px}.records-workspace-close{border-radius:10px;place-items:center;width:38px;height:38px;display:grid}.records-workspace-close:focus-visible{outline-offset:2px;outline:2px solid #3889d5}.student-actions-menu{border-color:#d8e3ec;border-radius:12px;min-width:232px;padding:7px;box-shadow:0 18px 44px #1830422b}.student-actions-menu-item{border-radius:8px;min-height:54px;padding:8px 10px}.student-actions-menu-item>span{border-radius:8px;width:30px;height:30px}.student-actions-menu-item strong{font-size:13px}.student-actions-menu-item small{font-size:10px}.student-actions-menu-item[data-highlighted]{outline-offset:-2px;outline:2px solid #b9d8f2}.student-actions-menu-item[data-disabled]{opacity:.5;cursor:not-allowed}@media (width<=760px){.records-workspace-dialog{border:0;border-radius:0;width:100vw;height:100dvh}.records-workspace-header{padding:16px}.records-workspace-header h2{font-size:20px}.records-workspace-header p{font-size:11px}.records-workspace-body{padding:14px}}@media (width<=480px){.records-workspace-header p{display:none}.records-workspace-header{align-items:center;min-height:78px}.records-workspace-body{padding:10px}}:root{--ink:#20262d;--muted:#75808b;--line:#e5e9ed;--blue:#2b7fd8;--yellow:#f4c94b;--soft:#f7f8f9;--hand:"Kalam", "Comic Sans MS", cursive;--mono:"DM Mono", monospace}.admin-shell{background:var(--soft);min-height:100vh;display:flex}.sidebar{color:#fff;background:#2674c6;flex-direction:column;width:252px;padding:32px 22px 24px;display:flex;position:fixed;inset:0 auto 0 0;overflow:hidden}.sidebar:after{content:"✦";color:#f8d75a;opacity:.25;font-size:100px;position:absolute;bottom:95px;right:18px;transform:rotate(12deg)}.brand-mark{align-items:center;gap:12px;padding:0 10px 42px;display:flex}.brand-mark>span{color:#1d5fa9;background:#f4c94b;place-items:center;width:38px;height:38px;font-size:22px;font-weight:700;display:grid;transform:rotate(-5deg)}.brand-mark strong,.brand-mark small{display:block}.brand-mark small{color:#c7e1ff;font-family:var(--mono);letter-spacing:.12em;margin-top:3px;font-size:9px}.sidebar-label,.eyebrow{color:#9aa5af;font-family:var(--mono);letter-spacing:.12em;font-size:10px}.sidebar-label{color:#b8dbff;padding:0 10px 12px}.nav-list{gap:5px;display:grid}.nav-button{color:#d8ebff;text-align:left;background:0 0;border:0;border-radius:3px;align-items:center;gap:12px;width:100%;padding:13px 12px;transition:all .2s;display:flex;position:relative}.nav-button:hover,.nav-button.active{color:#fff;background:#00235a33}.nav-button.active:before{content:"";background:#f4c94b;width:3px;height:22px;position:absolute;left:0}.nav-icon{place-items:center;width:19px;font-size:17px;display:grid}.nav-arrow{color:#f4c94b;margin-left:auto;font-size:17px}.sidebar-note{border-top:1px solid #ffffff29;margin-top:auto;padding:19px 14px}.note-pin{color:#f4c94b}.sidebar-note p{color:#fff;font-family:var(--hand);margin:9px 0 6px;font-size:17px;line-height:1.25;transform:rotate(-2deg)}.logout-button{color:#c7e1ff;background:0 0;border:0;align-items:center;gap:9px;margin:22px 10px 0;padding:8px 0;font-size:12px;display:flex}.logout-button:hover{color:#fff}.topbar{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;min-height:106px;padding:25px 48px;display:flex}.topbar h1{letter-spacing:-.02em;margin:8px 0 0;font-size:23px;font-weight:600}.account{color:#4e5964;align-items:center;gap:10px;font-size:12px;display:flex}.status-dot{background:#49b86c;border-radius:50%;width:7px;height:7px}.role{color:#2d72b8;font-family:var(--mono);background:#eaf4ff;padding:4px 8px;font-size:9px}.avatar{color:#fff;background:#f0a33a;place-items:center;width:34px;height:34px;margin-left:8px;font-weight:700;display:grid;transform:rotate(4deg)}.content-area{max-width:1580px;margin:0 auto;padding:38px 40px 70px}.toast{z-index:5;align-items:center;gap:15px;padding:12px 16px;font-size:12px;display:flex;position:fixed;top:84px;right:30px;box-shadow:0 9px 24px #17283a24}.toast.success{color:#196f4b;background:#ecf9f2}.toast.danger{color:#a13d3d;background:#fff0f0;overflow:hidden}.toast.danger:after{content:"";transform-origin:0;background:#d77b7b;height:2px;animation:3.6s linear forwards toastCountdown;position:absolute;bottom:0;left:0;right:0}.toast button{color:inherit;background:0 0;border:0;padding:0;font-size:18px}@keyframes toastCountdown{to{transform:scaleX(0)}}.welcome-banner{color:#fff;background:#2b7fd8;justify-content:space-between;min-height:236px;padding:35px 42px;display:flex;position:relative;overflow:hidden}.welcome-banner:after{content:"";border:1px solid #ffffff29;border-radius:50%;width:360px;height:360px;position:absolute;top:-210px;right:80px;box-shadow:0 0 0 28px #ffffff0d,0 0 0 56px #ffffff0a}.welcome-banner .eyebrow{color:#c7e1ff}.welcome-banner h2{z-index:1;letter-spacing:-.04em;margin:15px 0 10px;font-size:clamp(25px,3vw,38px);font-weight:500;line-height:1.2;position:relative}.welcome-banner h2 em,.module-intro h2 em{color:#f8d75a;font-family:var(--hand);font-style:normal}.welcome-banner p{color:#d8ebff;margin:0;font-size:13px}.banner-scribble{z-index:1;color:#f8d75a;font-family:var(--hand);text-align:right;align-self:center;margin-right:34px;font-size:23px;line-height:.95;transform:rotate(7deg)}.banner-scribble b{margin-top:18px;font-size:34px;display:block}.metric-grid{grid-template-columns:repeat(4,1fr);gap:14px;margin-top:18px;display:grid}.metric-card{border-top:3px solid var(--blue);background:#fff;min-height:125px;padding:21px 23px;position:relative}.metric-card.yellow{border-color:#e8bb32}.metric-card.green{border-color:#55aa79}.metric-card.red{border-color:#e88669}.metric-dot{background:var(--blue);border-radius:50%;width:8px;height:8px;position:absolute;top:20px;right:21px}.yellow .metric-dot{background:#e8bb32}.green .metric-dot{background:#55aa79}.red .metric-dot{background:#e88669}.metric-card p{color:var(--muted);margin:0 0 11px;font-size:12px}.metric-card strong{font-family:var(--mono);font-size:30px;font-weight:500}.metric-card strong small{color:var(--muted);margin-left:5px;font-family:Noto Sans SC,sans-serif;font-size:12px;font-weight:400}.metric-line{background:var(--line);width:35px;height:2px;margin-top:14px;display:block}.workspace-grid{grid-template-columns:1.42fr .78fr;gap:18px;margin-top:18px;display:grid}.quick-panel,.principle-panel,.tool-panel{background:#fff}.quick-panel{padding:26px 28px}.section-heading,.panel-heading{justify-content:space-between;align-items:flex-start;display:flex}.section-heading h3,.panel-heading h3{margin:6px 0 0;font-size:18px;font-weight:600}.hand-note{color:#e6a52e;font-family:var(--hand);transform:rotate(-3deg)}.quick-actions{grid-template-columns:repeat(3,1fr);gap:11px;margin-top:22px;display:grid}.quick-actions button{border:1px solid var(--line);min-height:74px;color:var(--ink);text-align:left;background:#fff;align-items:center;gap:10px;padding:11px;transition:all .2s;display:flex}.quick-actions button:hover{border-color:#abd0f3;transform:translateY(-2px);box-shadow:0 6px 15px #22568614}.quick-actions strong,.quick-actions small{display:block}.quick-actions strong{font-size:12px}.quick-actions small{color:var(--muted);margin-top:5px;font-size:10px;line-height:1.4}.quick-actions b{color:var(--blue);margin-left:auto}.action-icon{flex:0 0 30px;place-items:center;width:30px;height:30px;font-size:16px;display:grid}.blue-bg{color:#2674c6;background:#e5f2ff}.yellow-bg{color:#ba8c14;background:#fff5cc}.pink-bg{color:#c87054;background:#fff0e7}.principle-panel{color:#fff;background:#202b37;flex-direction:column;justify-content:space-between;min-height:205px;padding:27px 28px;display:flex}.principle-panel .eyebrow{color:#8b9aa9}.principle-panel p{font-family:var(--hand);margin:12px 0;font-size:21px;line-height:1.25}.principle-panel p em{color:#f8d75a;font-style:normal}.principle-mark{color:#8b9aa9;font-family:var(--mono);font-size:10px}.module-intro{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-end;padding-bottom:28px;display:flex}.module-intro h2{letter-spacing:-.04em;margin:12px 0 8px;font-size:32px;font-weight:600}.module-intro h2 em{color:#e6a52e}.module-intro p{color:var(--muted);margin:0;font-size:13px}.module-count,.score-note{border-left:3px solid var(--yellow);background:#fff;padding:11px 16px}.module-count strong{font-family:var(--mono);font-size:26px;font-weight:500;display:block}.module-count span{color:var(--muted);font-size:11px}.score-note{color:var(--muted);font-size:10px;line-height:1.6}.score-note strong{color:var(--blue);font-family:var(--mono);font-weight:500}.module-toolbar{justify-content:space-between;gap:16px;margin:23px 0 12px;display:flex}.album-category-toolbar{margin-bottom:0}.segmented{border:1px solid var(--line);background:#fff;display:flex}.segmented button{border:0;border-right:1px solid var(--line);color:var(--muted);background:#fff;padding:9px 14px;font-size:12px}.segmented button:last-child{border:0}.segmented button.selected{color:#fff;background:var(--blue)}.segmented small{opacity:.7;margin-left:3px}.upload-tools{gap:8px;display:flex}.title-input,.upload-tools select{border:1px solid var(--line);min-width:148px;color:var(--ink);background:#fff;padding:0 10px;font-size:12px}.primary-button{color:#fff;background:var(--blue);border:0;justify-content:center;align-items:center;min-height:41px;padding:0 19px;font-size:12px;transition:all .2s;display:inline-flex}.primary-button:hover{background:#1e62aa}.primary-button:disabled{cursor:wait;opacity:.65}.upload-button{white-space:nowrap;position:relative}.upload-button input{opacity:0;cursor:pointer;width:100%;position:absolute;inset:0}.album-quick-upload{border:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:18px;margin:0 0 12px;padding:16px 18px;display:flex}.album-quick-upload-copy{min-width:0}.album-quick-upload-copy strong,.album-quick-upload-copy small{display:block}.album-quick-upload-copy strong{margin-top:6px;font-size:13px}.album-quick-upload-copy small{color:var(--muted);margin-top:5px;font-size:10px}.album-quick-upload-actions{align-items:stretch;gap:8px;display:flex}.album-quick-upload-actions .title-input{min-height:41px}.module-tip{color:#7b6a37;background:#fff9df;align-items:center;gap:8px;margin-bottom:18px;padding:10px 13px;font-size:11px;display:flex}.module-tip span{color:#e6a52e}.album-admin-grid{grid-template-columns:repeat(3,1fr);gap:18px;display:grid}.album-admin-card{border:1px solid var(--line);background:#fff}.album-admin-card.is-editing{border-color:#8ec1ef;box-shadow:0 8px 22px #22568614}.album-thumb{background:#f0eee7;border:0;width:100%;height:185px;padding:13px;position:relative;overflow:hidden}.album-thumb img{object-fit:cover;width:100%;height:100%}.publish-badge{color:#806e35;background:#fff8d6;padding:5px 8px;font-size:10px;position:absolute;top:22px;left:22px}.publish-badge.is-public{color:#237354;background:#e7f8ed}.album-card-body{justify-content:space-between;align-items:flex-end;gap:10px;min-height:77px;padding:15px;display:flex}.album-title-copy{flex:1;min-width:0}.album-card-body h3{text-overflow:ellipsis;white-space:nowrap;margin:7px 0 0;font-size:14px;font-weight:600;overflow:hidden}.card-actions{gap:6px;display:flex}.card-actions button,.visibility-button,.album-title-actions button{color:var(--blue);white-space:nowrap;background:#f5faff;border:1px solid #cde0f3;padding:7px 9px;font-size:10px}.card-actions .delete-action{color:#b86666;background:#fff8f8;border-color:#f2d3d3}.album-title-editor{flex:1;min-width:0}.album-title-editor label{color:#586572;font-size:10px;display:block}.album-title-editor input+label{margin-top:9px}.album-title-editor input,.album-title-editor select{width:100%;min-height:36px;color:var(--ink);background:#fbfdff;border:1px solid #9cc7ec;outline:0;margin-top:6px;padding:8px 9px;font-size:12px;display:block}.album-title-editor input:focus,.album-title-editor select:focus{border-color:var(--blue);box-shadow:0 0 0 2px #2b7fd81a}.album-title-actions{gap:6px;margin-top:10px;display:flex}.album-title-actions .title-save-action{color:#fff;background:var(--blue)}.album-title-actions button:disabled{cursor:wait;opacity:.6}.album-preview-trigger{cursor:zoom-in}.album-preview-trigger:after{content:"⛶";color:#fff;opacity:0;background:#121f2ac2;place-items:center;width:34px;height:34px;font-size:18px;transition:all .18s;display:grid;position:absolute;bottom:20px;right:20px;transform:translateY(4px)}.album-preview-trigger:hover:after,.album-preview-trigger:focus-visible:after{opacity:1;transform:translateY(0)}.album-preview-trigger:focus-visible{outline-offset:-3px;outline:3px solid #2b7fd873}.image-lightbox{z-index:40;background:#0c1217e0;place-items:center;padding:24px;display:grid;position:fixed;inset:0}.image-lightbox-panel{background:#fff;border:1px solid #52606a;border-radius:4px;width:min(1240px,96vw);max-height:calc(100vh - 48px);position:relative;overflow:hidden;box-shadow:0 24px 70px #00000061}.image-lightbox-close{z-index:2;color:#fff;background:#0d161dcc;border:1px solid #ffffff73;place-items:center;width:42px;height:42px;padding:0;font-size:27px;line-height:1;display:grid;position:absolute;top:13px;right:13px}.image-lightbox-close:hover,.image-lightbox-close:focus-visible{background:#1c659e;border-color:#fff;outline:0}.image-lightbox figure{grid-template-rows:minmax(0,1fr) auto;max-height:calc(100vh - 50px);margin:0;display:grid}.image-lightbox-canvas{background:#11181e;place-items:center;min-height:240px;max-height:calc(100vh - 160px);display:grid;overflow:auto}.image-lightbox-canvas img{object-fit:contain;max-width:100%;max-height:calc(100vh - 160px);display:block}.image-lightbox figcaption{background:#fff;justify-content:space-between;align-items:flex-start;gap:28px;min-height:86px;padding:16px 21px 17px;display:flex}.image-lightbox figcaption div{min-width:0}.image-lightbox figcaption span,.image-lightbox figcaption strong{display:block}.image-lightbox figcaption span{color:#2c74ad;font-size:11px;font-weight:650}.image-lightbox figcaption strong{color:#26343e;text-overflow:ellipsis;white-space:nowrap;margin-top:5px;font-size:18px;overflow:hidden}.image-lightbox figcaption p{color:#687680;text-align:right;max-width:520px;margin:2px 0 0;font-size:13px;line-height:1.6}@media (width<=680px){.image-lightbox{padding:0}.image-lightbox-panel{border:0;border-radius:0;width:100%;max-height:100vh}.image-lightbox figure{max-height:100vh}.image-lightbox-canvas,.image-lightbox-canvas img{max-height:calc(100vh - 118px)}.image-lightbox figcaption{min-height:118px;padding:14px 17px}.image-lightbox figcaption p{max-width:45%;font-size:11px}.image-lightbox figcaption strong{font-size:16px}.image-lightbox-close{top:10px;right:10px}}.score-layout{grid-template-columns:minmax(300px,.72fr) 1.28fr;gap:18px;margin-top:23px;display:grid}.tool-panel{border:1px solid var(--line);padding:25px}.entry-form{align-self:start}.entry-form .panel-heading,.score-list .panel-heading{margin-bottom:21px}.entry-form label,.brand-form label{color:#586572;margin-bottom:14px;font-size:11px;display:block}.entry-form input,.entry-form textarea,.brand-form input,.brand-form textarea,.brand-form select{border:1px solid var(--line);width:100%;color:var(--ink);background:#fcfcfc;outline:0;margin-top:6px;padding:10px 11px;font-size:12px;display:block}.entry-form input:focus,.entry-form textarea:focus,.brand-form input:focus,.brand-form textarea:focus,.brand-form select:focus{border-color:#8ec1ef}.entry-form textarea,.brand-form textarea{resize:vertical}.form-row{grid-template-columns:repeat(2,1fr);gap:10px;display:grid}.entry-form .form-row:nth-of-type(2){grid-template-columns:1fr 1fr 1.22fr}.entry-form .primary-button{width:100%;margin-top:4px}.score-list{min-width:0}.panel-heading h3 small{color:var(--muted);font-family:var(--mono);margin-left:8px;font-size:11px;font-weight:400}.score-table{display:grid}.score-row{border-top:1px solid var(--line);align-items:center;gap:14px;min-height:73px;padding:12px 0;display:flex}.score-main{flex:1;min-width:0}.score-main strong,.score-main span{display:block}.score-main span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:5px;font-size:11px;overflow:hidden}.score-value{text-align:right;min-width:72px}.score-value b{color:var(--blue);font-family:var(--mono);font-size:22px;font-weight:500}.score-value small{color:var(--muted);font-family:var(--mono);font-size:10px}.visibility-button{min-width:56px;color:var(--muted);background:#fff;border-color:#e5e9ed}.visibility-button.visible{color:#2b895f;background:#effaf3;border-color:#c7ebd6}.empty-state{color:var(--muted);text-align:center;background:#fff;padding:70px 20px;font-size:13px}.empty-state.compact{padding:44px 10px}.brand-preview{background:#fff;align-items:center;gap:10px;padding:10px 13px;display:flex}.brand-preview span{color:#fff;place-items:center;width:30px;height:30px;font-weight:700;display:grid}.brand-preview strong{font-size:13px}.brand-form{grid-template-columns:1fr 1fr;gap:36px;margin-top:23px;display:grid}.form-section+.form-section{border-left:1px solid var(--line);padding-left:36px}.brand-form input[type=color]{height:38px;padding:3px}.qr-architecture-note{background:#f5f9fd;gap:10px;margin-top:20px;padding:13px;display:flex}.qr-architecture-note span{color:#e6a52e}.qr-architecture-note p{color:var(--muted);margin:0;font-size:11px;line-height:1.7}.qr-architecture-note strong{color:var(--ink)}.form-footer{border-top:1px solid var(--line);color:var(--muted);grid-column:1/-1;justify-content:space-between;align-items:center;padding-top:20px;font-size:11px;display:flex}.login-page{background:#eaf4ff;place-items:center;min-height:100vh;display:grid;position:relative;overflow:hidden}.login-page:before,.login-page:after{content:"";border:1px solid #2b7fd82b;border-radius:50%;position:absolute}.login-page:before{width:680px;height:680px;bottom:-300px;left:-280px}.login-page:after{width:500px;height:500px;top:-260px;right:-210px}.login-paper{z-index:1;background:#fff;width:min(430px,100vw - 36px);padding:47px 45px 38px;position:relative;box-shadow:0 18px 60px #2056881f}.login-sticker{color:#1d5fa9;width:60px;height:60px;font-family:var(--hand);text-align:center;background:#f4c94b;place-items:center;font-size:20px;line-height:.9;display:grid;position:absolute;top:-22px;right:35px;transform:rotate(8deg)}.login-sticker small{font-family:var(--mono);font-size:8px}.login-paper h1{letter-spacing:-.05em;margin:15px 0 8px;font-size:30px}.login-paper h1 em{color:#2674c6;font-family:var(--hand);font-style:normal}.login-lead{color:var(--muted);margin:0 0 29px;font-size:12px}.login-form label{color:#586572;margin-top:16px;font-size:11px;display:block}.login-form input{border:1px solid var(--line);outline:0;width:100%;margin-top:7px;padding:12px 11px;font-size:12px;display:block}.login-form input:focus{border-color:#8ec1ef}.login-form .primary-button{width:100%;margin-top:22px}.form-error{color:#b86666;margin:13px 0 0;font-size:11px}.login-foot{color:#9ba6af;margin:24px 0 0;font-size:10px;line-height:1.6}.login-doodle{color:#2b7fd8;font-family:var(--hand);gap:4px;font-size:23px;line-height:.8;display:grid;position:absolute;bottom:12vh;right:7vw;transform:rotate(-9deg)}.login-doodle span:nth-child(2){color:#e6a52e;margin-left:22px}.login-doodle span:nth-child(3){color:#df8974;margin-left:43px}.login-doodle b{color:#e6a52e;margin:14px 0 0 60px;font-size:27px}.service-screen{background:#eaf4ff;place-items:center;min-height:100vh;padding:22px;display:grid}.service-checking{color:#4e759d;align-content:center;gap:12px;font-size:12px}.service-checking p{margin:0}.service-screen-paper{background:#fff;width:min(480px,100%);padding:44px;box-shadow:0 18px 60px #2056881f}.service-screen-mark{color:#1d5fa9;background:#f4c94b;place-items:center;width:52px;height:52px;margin-bottom:23px;font-size:27px;font-weight:700;display:grid;transform:rotate(-5deg)}.service-screen-paper .eyebrow{color:#2b72b8}.service-screen-paper h1{letter-spacing:-.04em;margin:11px 0 10px;font-size:27px}.service-screen-paper p{color:var(--muted);margin:0;font-size:13px;line-height:1.7}.service-command{border-left:3px solid var(--yellow);background:#f7fafc;gap:7px;margin:20px 0;padding:13px;display:grid}.service-command span{color:var(--muted);font-size:10px}.service-command code{overflow-wrap:anywhere;color:#2b72b8;font-family:var(--mono);font-size:10px}.service-screen-paper small{color:#8d98a1;margin-top:13px;font-size:10px;line-height:1.6;display:block}@media (width<=1050px){.sidebar{width:218px;padding-left:14px;padding-right:14px}.main-area{width:calc(100% - 218px);margin-left:218px}.topbar,.content-area{padding-left:28px;padding-right:28px}.quick-actions{grid-template-columns:1fr}.album-admin-grid{grid-template-columns:repeat(2,1fr)}.brand-form{gap:20px}.form-section+.form-section{padding-left:20px}}@media (width<=760px){.admin-shell{display:block}.sidebar{width:100%;height:auto;min-height:auto;padding:16px 14px 14px;position:relative}.brand-mark{padding:0 5px 17px}.sidebar-label,.sidebar-note,.logout-button{display:none}.nav-list{display:flex;overflow-x:auto}.nav-button{min-width:max-content;padding:10px 13px}.nav-button.active:before{width:calc(100% - 20px);height:2px;top:auto;bottom:0;left:10px}.nav-arrow{display:none}.main-area{width:100%;margin-left:0}.topbar{min-height:83px;padding:18px}.topbar h1{font-size:18px}.account{font-size:0}.role{display:none}.avatar{margin-left:0}.content-area{padding:22px 16px 45px}.welcome-banner{min-height:218px;padding:25px 22px}.welcome-banner h2{font-size:26px}.banner-scribble{display:none}.metric-grid{grid-template-columns:repeat(2,1fr);gap:10px}.metric-card{min-height:108px;padding:16px}.metric-card strong{font-size:25px}.workspace-grid,.score-layout,.brand-form{grid-template-columns:1fr}.quick-panel,.principle-panel,.tool-panel{padding:19px}.quick-actions{margin-top:16px}.principle-panel{min-height:190px}.module-intro{align-items:flex-start;gap:15px}.module-intro h2{font-size:25px}.module-intro p{line-height:1.6}.module-count{flex:none}.module-toolbar{display:block}.segmented{width:100%}.segmented button{flex:1;padding-left:5px;padding-right:5px}.upload-tools{grid-template-columns:1fr 1fr;margin-top:10px;display:grid}.title-input{grid-column:1/-1;min-width:0;min-height:38px}.upload-tools select,.upload-button{min-height:38px}.album-admin-grid{grid-template-columns:1fr}.score-note{display:none}.form-row,.entry-form .form-row:nth-of-type(2){grid-template-columns:1fr 1fr}.entry-form .form-row:nth-of-type(2) label:last-child{grid-column:1/-1}.form-section+.form-section{border-top:1px solid var(--line);border-left:0;padding:23px 0 0}.form-footer{display:block}.form-footer .primary-button{width:100%;margin-top:14px}.login-doodle{display:none}.login-paper{padding:39px 27px 29px}}@media (width<=430px){.module-intro{display:block}.module-count{margin-top:17px;display:inline-block}.module-intro h2{font-size:23px}.score-row{gap:8px}.score-value{min-width:57px}.visibility-button{min-width:50px;padding-left:5px;padding-right:5px}.album-card-body{flex-direction:column;align-items:flex-start}.card-actions{width:100%}.card-actions button{flex:1}.metric-card p{font-size:11px}}.people-summary{background:#fff;border-left:3px solid #f4c94b;grid-template-columns:auto auto;align-items:baseline;gap:3px 9px;min-width:116px;padding:12px 15px;display:grid}.people-summary strong{color:var(--blue);font-family:var(--mono);font-size:22px;font-weight:500}.people-summary span{color:var(--muted);font-size:10px}.people-layout{grid-template-columns:minmax(340px,.88fr) minmax(420px,1.12fr);gap:18px;margin-top:23px;display:grid}.people-panel{min-width:0}.compact-form{background:#f8fafb;border:1px solid #e6ebef;margin:20px 0 8px;padding:18px}.compact-form label{color:#586572;margin-bottom:12px;font-size:11px;display:block}.compact-form input,.compact-form textarea,.compact-form select,.entry-form select{border:1px solid var(--line);width:100%;min-height:38px;color:var(--ink);background:#fff;outline:0;margin-top:6px;padding:9px 10px;font-size:12px;display:block}.compact-form textarea{resize:vertical}.compact-form input:focus,.compact-form textarea:focus,.entry-form select:focus{border-color:#8ec1ef}.form-actions{align-items:center;gap:8px;display:flex}.form-actions .primary-button{flex:1}.form-actions>button:not(.primary-button),.record-actions button{color:#66727d;background:#fff;border-color:#dce2e7}.record-list{gap:7px;margin-top:14px;display:grid}.family-record,.student-record{background:#fff;border:1px solid #e5e9ed;align-items:center;gap:10px;min-height:72px;padding:11px 12px;display:grid}.family-record{cursor:pointer;grid-template-columns:minmax(0,1fr) auto auto}.family-record.selected{border-left:3px solid var(--blue);background:#f4f9fe}.student-record{grid-template-columns:34px minmax(0,1fr) auto auto}.student-avatar{color:#2468aa;background:#dceeff;place-items:center;width:32px;height:32px;font-weight:700;display:grid}.record-main{min-width:0}.record-main strong,.record-main span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.record-main strong{font-size:12px}.record-main strong small{color:#2b895f;margin-left:8px;font-size:10px;font-weight:400}.record-main span{color:var(--muted);margin-top:5px;font-size:10px}.family-record select,.student-record select{color:#56636e;background:#fff;border:1px solid #dce2e7;min-width:70px;padding:7px;font-size:10px}.record-actions{gap:5px;display:flex}.record-actions button{padding:7px 8px;font-size:10px}.record-actions .delete-action{color:#b86666}.inline-warning{color:#8a6612;background:#fff7d6;margin:-7px 0 13px;padding:9px 10px;font-size:10px}.family-reminder-settings{background:#f5faff;border:1px solid #d9e7f3;grid-template-columns:1.2fr 1fr 1fr;align-items:center;gap:8px;margin-bottom:12px;padding:11px;display:grid}.family-reminder-settings>label{margin:0}.family-reminder-settings>label:nth-child(2){position:relative}.family-reminder-settings>label:nth-child(2) span{color:var(--muted);font-size:9px;position:absolute;bottom:11px;right:10px}.family-reminder-settings>label:nth-child(2) input{padding-right:28px}.wechat-binding-state{border-left:1px solid #d9e7f3;gap:5px;padding-left:10px;display:grid}.wechat-binding-state span{color:var(--muted);font-size:9px}.wechat-binding-state strong{color:#7a8791;font-size:11px}.wechat-binding-state.bound strong{color:#2d7d59}.wechat-binding-state.pending strong{color:#a87513}.status-active{--student-status:#23815f;--student-status-strong:#176849;--student-status-bg:#edf9f3;--student-status-border:#bfe6d2}.status-paused{--student-status:#c18422;--student-status-strong:#986313;--student-status-bg:#fff7e7;--student-status-border:#eed69f}.status-graduated{--student-status:#6658bd;--student-status-strong:#51439f;--student-status-bg:#f3f0ff;--student-status-border:#d7d0f5}.status-archived{--student-status:#71808d;--student-status-strong:#56636f;--student-status-bg:#f1f4f6;--student-status-border:#d3dbe0}.student-panel-heading{align-items:center;gap:16px}.student-status-legend{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:5px;display:flex}.student-status-legend>span,.student-status-badge{border:1px solid var(--student-status-border);min-height:24px;color:var(--student-status-strong);background:var(--student-status-bg);white-space:nowrap;align-items:center;gap:5px;padding:4px 8px;font-size:9px;display:inline-flex}.student-status-legend i,.student-status-badge i,.student-status-control>i{background:var(--student-status);width:7px;height:7px;box-shadow:0 0 0 3px color-mix(in srgb, var(--student-status) 14%, transparent);border-radius:50%;flex:none;display:block}.student-record-list{gap:10px}.student-record{border-left:4px solid var(--student-status);background:linear-gradient(90deg, var(--student-status-bg) 0, #fff 29%);grid-template-columns:44px minmax(0,1fr) 142px;gap:13px;min-height:104px;padding:15px 14px;transition:border-color .18s,box-shadow .18s,transform .18s;position:relative;overflow:hidden;box-shadow:0 2px 8px #23374809}.student-record:hover{border-color:var(--student-status);transform:translateY(-1px);box-shadow:0 8px 22px #23374817}.student-record .student-avatar{border:1px solid var(--student-status-border);width:42px;height:42px;color:var(--student-status-strong);background:var(--student-status-bg);font-size:15px}.student-record-main{flex-direction:column;justify-content:center;align-self:stretch;display:flex}.student-name-line{align-items:baseline;gap:8px;min-width:0;display:flex}.student-name-line strong{color:#26343f;text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.student-name-line small{color:var(--student-status-strong);text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.student-school-line{color:#74808a!important;margin-top:5px!important;font-size:9px!important}.student-detail-tags{flex-wrap:wrap;gap:4px;margin-top:9px;display:flex}.student-detail-tags span{color:#52616d;text-overflow:ellipsis;white-space:nowrap;background:#ffffffd1;border:1px solid #e1e7eb;align-items:center;width:auto;max-width:160px;min-height:21px;margin:0;padding:3px 7px;font-size:8px;display:inline-flex;overflow:hidden}.student-detail-tags span:first-child{color:#276ca7;background:#f2f8fe;border-color:#cfe1f2}.student-detail-tags span.warning{color:#946311;background:#fff7e7;border-color:#eed69f}.student-card-side{flex-direction:column;justify-content:space-between;align-self:stretch;gap:8px;display:flex}.student-status-control{border:1px solid var(--student-status-border);min-height:48px;color:var(--student-status-strong);background:var(--student-status-bg);cursor:pointer;grid-template-columns:9px minmax(0,1fr) 12px;align-items:center;gap:8px;padding:8px 9px;display:grid;position:relative}.student-status-control:after{content:"⌄";color:var(--student-status);grid-area:1/3;font-size:13px;line-height:1}.student-status-control>div{grid-area:1/2;min-width:0}.student-status-control span,.student-status-control small{display:block}.student-status-control span{font-size:11px;font-weight:650}.student-status-control small{color:var(--student-status);margin-top:2px;font-size:7px}.student-status-control select{opacity:0;cursor:pointer;border:0;width:100%;min-width:0;height:100%;padding:0;position:absolute;inset:0}.student-status-control:focus-within{outline:2px solid color-mix(in srgb, var(--student-status) 34%, transparent);outline-offset:2px}.student-card-actions{grid-template-columns:1fr 1fr;gap:5px;display:grid}.student-card-actions button{border-radius:2px;justify-content:center;align-items:center;gap:4px;min-height:31px;padding:6px;font-size:9px;transition:all .18s;display:inline-flex}.record-actions .edit-action{color:#276da9;background:#f1f8ff;border-color:#c8dff3}.record-actions .edit-action:hover{color:#185b93;background:#e5f2ff;border-color:#85b8e4}.student-card-actions .delete-action{color:#ad5b52;background:#fff7f5;border-color:#eed7d4}.student-card-actions .delete-action:hover{color:#94463f;background:#fff0ed;border-color:#dda59f}.student-card-actions .archive-action{color:#866414;background:#fff9e9;border-color:#ead69e}.student-card-actions .restore-action{color:#287153;background:#eff9f4;border-color:#b9ddca}.student-form-actions{margin-top:3px}.student-form-actions .primary-button{min-height:40px;box-shadow:0 5px 13px #2b7fd826}.student-form-actions .secondary-button{min-height:40px;padding-left:16px;padding-right:16px}.student-panel-tools{align-items:center;gap:14px;display:flex}.student-add-button,.family-add-button{color:#fff;white-space:nowrap;background:#2b7fd8;border:0;min-height:40px;padding:0 15px;font-size:13px;font-weight:600}.student-add-button:disabled,.family-add-button:disabled{color:#8d989f;cursor:default;background:#e6eaed}.family-panel-heading{align-items:center}.family-editor-drawer{width:min(720px,100%)}.family-editor-body .student-editor-section:first-child{margin-top:0}.family-editor-body .family-reminder-settings{margin-bottom:18px}.student-editor-overlay{z-index:30;background:#18253075;justify-content:flex-end;padding:16px;display:flex;position:fixed;inset:0}.dialog-backdrop-dismiss{cursor:default;background:0 0;border:0;flex:auto;align-self:stretch;width:auto;min-width:0;height:auto;padding:0}.dialog-backdrop-dismiss:hover,.dialog-backdrop-dismiss:focus{background:0 0;border:0;outline:0}.student-editor-drawer{z-index:1;background:#fff;border:1px solid #cbd6de;border-radius:4px;grid-template-rows:auto minmax(0,1fr);width:min(860px,100%);height:100%;animation:.2s ease-out studentEditorIn;display:grid;position:relative;overflow:hidden;box-shadow:-18px 0 48px #12233133}@keyframes studentEditorIn{0%{opacity:.35;transform:translate(24px)}to{opacity:1;transform:translate(0)}}.student-editor-header{background:#f7fafc;border-bottom:1px solid #dce4e9;justify-content:space-between;align-items:flex-start;gap:24px;min-height:112px;padding:22px 26px 19px;display:flex}.student-editor-header h3{color:#24333e;margin:6px 0 0;font-size:23px}.student-editor-header p{color:#677680;margin:8px 0 0;font-size:13px;line-height:1.55}.student-editor-header>button{color:#586873;background:#fff;border:1px solid #d5dee4;flex:none;width:40px;height:40px;padding:0;font-size:25px;line-height:1}.student-editor-header>button:hover{color:#236da9;background:#f2f8fd;border-color:#9db8cc}.student-editor-form.compact-form{background:#fff;border:0;grid-template-rows:minmax(0,1fr) auto;min-height:0;margin:0;padding:0;display:grid}.student-editor-body{scrollbar-color:#a9bdcc #edf1f4;scrollbar-width:thin;min-height:0;padding:24px 27px 36px;overflow-y:auto}.student-editor-body>label,.student-editor-body .form-row label,.student-editor-body .student-pricing-fields label,.student-editor-body .student-editor-section>label{color:#4e5e69;font-size:14px;line-height:1.5}.student-editor-body input,.student-editor-body select,.student-editor-body textarea{border-color:#c8d3db;min-height:44px;font-size:14px}.student-editor-body input:focus,.student-editor-body select:focus,.student-editor-body textarea:focus{border-color:#4e96d0;outline:2px solid #4790cb21}.student-editor-body .student-photo-editor{background:#f8fafb;border:1px solid #dce5eb;margin:16px 0 22px;padding:15px}.student-editor-body .student-photo-preview{width:76px;height:76px}.student-editor-body .student-photo-copy strong{font-size:14px}.student-editor-body .student-photo-copy small{max-width:500px;font-size:12px}.student-editor-section{background:#fff;border:1px solid #dce4e9;margin-top:20px;padding:20px}.student-editor-section-title{border-bottom:1px solid #e5eaed;justify-content:space-between;align-items:baseline;gap:18px;margin-bottom:17px;padding-bottom:12px;display:flex}.student-editor-section-title strong{color:#2e4657;font-size:16px}.student-editor-section-title span{color:#76848e;font-size:12px}.student-service-period-help{color:#3e5d70;background:#f1f7fc;border-left:3px solid #4d91c8;gap:5px;margin:10px 0 14px;padding:11px 13px;font-size:12px;line-height:1.55;display:grid}.student-service-period-help strong{color:#285370;font-size:13px}.student-service-period-help small{color:#607684;font-size:12px}.student-service-period-help.warning{color:#6e4c17;background:#fff7e8;border-left-color:#d7972d}.student-service-period-help.warning strong,.student-service-period-help.warning small{color:#74501a}.student-editor-section .student-pricing-fields{margin-top:3px}.student-autocomplete-field{position:relative}.student-autocomplete-field>label{margin-bottom:0;display:block}.student-autocomplete-options{z-index:4;background:#fff;border:1px solid #b9cbd9;max-height:258px;padding:5px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow-y:auto;box-shadow:0 12px 28px #1e364829}.student-autocomplete-options button{color:#2f414e;text-align:left;background:#fff;border:0;justify-content:space-between;align-items:center;gap:18px;width:100%;min-height:43px;padding:9px 11px;display:flex}.student-autocomplete-options button:hover,.student-autocomplete-options button[aria-selected=true]{color:#1f6fac;background:#edf6fd}.student-autocomplete-options strong{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:14px;font-weight:500;overflow:hidden}.student-autocomplete-options span{color:#75848e;flex:none;font-size:12px}.student-editor-actions{background:#f8fafb;border-top:1px solid #d6e0e7;flex:none;justify-content:flex-end;min-height:76px;margin:0;padding:15px 26px}.student-editor-actions .secondary-button{min-width:110px}.student-editor-actions .primary-button{flex:none;min-width:210px;margin:0}@media (width<=1120px){.people-layout{grid-template-columns:1fr}.people-panel{padding:22px}}@media (width<=760px){.people-summary{margin-top:0}.people-panel{padding:18px}.compact-form{padding:14px}.family-record{grid-template-columns:minmax(0,1fr) auto}.family-record .record-actions{grid-column:1/-1}.student-panel-heading{flex-direction:column;align-items:flex-start}.student-panel-tools{justify-content:space-between;align-items:flex-start;width:100%}.student-status-legend{justify-content:flex-start}.student-record{grid-template-columns:42px minmax(0,1fr) 132px}.student-record .record-actions{grid-column:auto}.record-actions button{flex:1}.student-editor-overlay{padding:0}.student-editor-drawer{border:0;border-radius:0}.student-editor-header{min-height:100px;padding:18px 19px 16px}.student-editor-header h3{font-size:20px}.student-editor-header p{font-size:12px}.student-editor-body{padding:18px 16px 28px}.student-editor-section{padding:16px}.student-editor-actions{min-height:70px;padding:12px 16px}.family-reminder-settings{grid-template-columns:1fr 1fr}.wechat-binding-state{border-top:1px solid #d9e7f3;border-left:0;grid-column:1/-1;padding:8px 0 0}}@media (width<=560px){.student-record{grid-template-columns:38px minmax(0,1fr);padding:13px 12px}.student-record .student-avatar{width:36px;height:36px}.student-card-side{grid-column:2;grid-template-columns:1fr 1.12fr;display:grid}.student-status-control{min-height:36px}.student-status-control small{display:none}.student-card-actions{align-self:stretch}.student-card-actions button{min-height:36px}.student-detail-tags span{max-width:130px}}@media (width<=430px){.people-summary{margin-top:17px;display:inline-grid}.compact-form .form-row{grid-template-columns:1fr}.family-record{grid-template-columns:minmax(0,1fr) auto}.student-record{grid-template-columns:minmax(0,1fr)}.student-record .student-avatar{display:none}.student-card-side{grid-column:1}.student-panel-tools{grid-template-columns:1fr;display:grid}.student-add-button,.family-add-button{width:100%}.family-panel-heading,.student-form-actions{flex-direction:column;align-items:stretch}.student-form-actions .secondary-button{width:100%}.student-editor-header p{display:none}.student-editor-header{min-height:82px}.student-editor-body .student-photo-editor{align-items:flex-start}.student-editor-section-title{flex-direction:column;align-items:flex-start;gap:3px}.student-editor-actions{grid-template-columns:1fr 1.4fr;display:grid}.student-editor-actions .secondary-button,.student-editor-actions .primary-button{width:100%;min-width:0}}.student-photo-editor{align-items:center;gap:12px;margin-bottom:14px;display:flex}.student-photo-preview,.student-avatar{overflow:hidden}.student-photo-preview{color:#2468aa;background:#dceeff;place-items:center;width:68px;height:68px;font-size:24px;font-weight:700;display:grid}.student-photo-preview img,.student-avatar img{object-fit:cover;width:100%;height:100%}.student-photo-copy{align-content:center;justify-items:start;gap:5px;min-width:0;display:grid}.student-photo-copy strong,.student-photo-copy small{display:block}.student-photo-copy strong{color:var(--ink);font-size:12px}.student-photo-copy small{max-width:240px;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.student-family-field select{margin-bottom:2px}.photo-upload-button{background:#f5faff;border:1px solid #cde0f3;justify-content:center;align-items:center;min-height:36px;padding:0 13px;position:relative;color:var(--blue)!important;margin:0!important;font-size:11px!important;display:inline-flex!important}.photo-upload-button input{opacity:0;cursor:pointer;width:100%;position:absolute;inset:0}.score-row.editing{border-left:3px solid var(--blue);background:#f6fbff;padding-left:11px}.score-actions{flex:none}.score-form-actions .primary-button{margin-top:0}@media (width<=760px){.score-row{grid-template-columns:minmax(0,1fr) auto;display:grid}.score-row .visibility-button{justify-self:end}.score-actions{grid-column:1/-1}.student-photo-editor{align-items:flex-start}}.student-search-panel{margin-top:23px}.student-search-field{color:#586572;margin-top:16px;font-size:11px;display:block}.student-search-field input,.student-score-view select{border:1px solid var(--line);width:100%;min-height:40px;color:var(--ink);background:#fff;outline:0;margin-top:7px;padding:9px 10px;font-size:12px;display:block}.student-search-results{gap:8px;margin-top:12px;display:grid}.student-search-card,.selected-student-card{background:#fff;border:1px solid #e5e9ed;grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:11px;padding:11px 12px;display:grid}.student-search-card[class*=status-]{border-left:4px solid var(--student-status);background:var(--student-status-bg)}.student-search-card[class*=status-] .student-avatar{border:1px solid var(--student-status-border);color:var(--student-status-strong);background:#fff}.student-search-side{justify-items:end;gap:7px;display:grid}.student-search-side .record-actions button{min-width:48px}.student-avatar.large{width:44px;height:44px;font-size:15px}.score-side{align-self:start;gap:14px;display:grid}.student-score-view label{color:#586572;margin:16px 0 12px;font-size:11px;display:block}.score-summary-grid{grid-template-columns:repeat(3,1fr);gap:8px;margin-top:12px;display:grid}.score-summary-grid div{border-top:2px solid var(--blue);background:#f7fbff;padding:11px 10px}.score-summary-grid strong,.score-summary-grid span{display:block}.score-summary-grid strong{color:var(--blue);font-family:var(--mono);font-size:20px;font-weight:500}.score-summary-grid span{color:var(--muted);margin-top:4px;font-size:10px}.selected-student-card{background:#f9fbfd;grid-template-columns:46px minmax(0,1fr);margin-top:12px}@media (width<=760px){.student-search-card{grid-template-columns:40px minmax(0,1fr) auto}.student-search-card .record-actions{grid-column:auto}.score-summary-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.score-summary-grid strong{font-size:17px}}.score-query-panel{border-top:3px solid var(--blue);margin-top:23px}.score-query-field{color:#586572;margin-top:16px;font-size:11px;display:block}.score-query-field input{border:1px solid var(--line);width:100%;min-height:42px;color:var(--ink);background:#fff;outline:0;margin-top:7px;padding:10px 11px;font-size:12px;display:block}.score-query-field input:focus{border-color:#8ec1ef}.compare-chip-list{flex-wrap:wrap;gap:7px;margin-top:12px;display:flex}.compare-chip-list button,.muted-chip{color:#56636e;background:#fff;border:1px solid #dde5ec;align-items:center;gap:6px;min-height:30px;padding:0 10px;font-size:11px;display:inline-flex}.compare-chip-list button span{border-radius:50%;width:8px;height:8px}.compare-chip-list button.selected{color:var(--blue);background:#f1f8ff;border-color:#9cc7ec}.muted-chip{color:var(--muted);background:#f8fafb}.score-chart-wrap{background:#fbfdff;border:1px solid #d9e6f2;margin-top:10px;padding:18px}.score-chart-wrap svg{width:100%;height:auto;min-height:320px;display:block}.score-chart-wrap line{stroke:#e1e8ef;stroke-width:1px}.score-chart-wrap text{fill:#8a96a3;font-family:var(--mono);font-size:10px}.score-chart-wrap polyline{fill:none;stroke-width:3px;stroke-linecap:round;stroke-linejoin:round}.score-chart-legend{color:#56636e;flex-wrap:wrap;gap:10px;margin-top:10px;font-size:11px;display:flex}.score-chart-legend span{align-items:center;gap:6px;display:inline-flex}.score-chart-legend i{border-radius:50%;width:10px;height:10px}.score-chart-empty{color:var(--muted);text-align:center;background:#fbfdff;border:1px dashed #cfd9e2;margin-top:10px;padding:90px 12px;font-size:12px}@media (width<=760px){.score-query-panel{padding:18px}.score-chart-wrap{padding:10px}.score-chart-wrap svg{min-height:180px}}.score-chart-title{justify-content:space-between;align-items:baseline;gap:12px;margin-top:16px;display:flex}.score-chart-title strong{color:var(--ink);font-size:15px}.score-chart-title span{color:var(--muted);font-size:11px}@media (width<=760px){.score-chart-title{display:block}.score-chart-title span{margin-top:5px;display:block}}.storage-provider-badge{background:#fff;border-left:3px solid #98a5b0;gap:3px;min-width:142px;padding:11px 14px;display:grid}.storage-provider-badge.online{border-color:#2ba85c}.storage-provider-badge span{color:var(--muted);font-family:var(--mono);font-size:9px}.storage-provider-badge strong{font-size:12px}.storage-tabs{border-bottom:1px solid var(--line);margin-top:23px;display:flex;overflow-x:auto}.storage-tabs button{min-width:112px;color:var(--muted);background:0 0;border:0;border-bottom:2px solid #0000;flex:none;padding:12px 15px;font-size:12px}.storage-tabs button.selected{border-bottom-color:var(--blue);color:var(--blue);background:#f3f8fd}.storage-form{background:#fff;margin-top:0}.storage-section .panel-heading{margin-bottom:22px}.storage-form label{color:#586572;margin-bottom:15px;font-size:11px;display:block}.storage-form input:not([type=checkbox]),.storage-form select{border:1px solid var(--line);width:100%;min-height:40px;color:var(--ink);background:#fcfcfc;outline:0;margin-top:7px;padding:9px 11px;font-size:12px;display:block}.storage-form input:focus,.storage-form select:focus{border-color:#8ec1ef}.storage-form input:disabled{color:#9ba6af;background:#f3f5f6}.provider-choice{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:18px;display:grid}.provider-choice button{border:1px solid var(--line);min-height:72px;color:var(--ink);text-align:left;background:#fff;gap:5px;padding:14px;display:grid}.provider-choice button.selected{background:#f5faff;border-color:#84b9e8;box-shadow:inset 3px 0 #2b7fd8}.provider-choice span{color:var(--muted);font-size:10px}.switch-row{background:#f9fbfc;border:1px solid #e5e9ed;justify-content:space-between;align-items:center;gap:20px;min-height:62px;padding:12px 14px;display:flex!important}.switch-row span,.switch-row strong,.switch-row small{display:block}.switch-row strong{color:var(--ink);font-size:12px}.switch-row small{color:var(--muted);margin-top:5px;font-size:10px}.switch-row input{width:38px;height:20px;accent-color:var(--blue);flex:none}.security-strip{background:#f1faf5;border-left:3px solid #2ba85c;align-items:center;gap:12px;margin-top:6px;padding:13px 15px;display:flex}.security-strip span{color:#237354;font-family:var(--mono);font-size:9px}.security-strip p{color:#566d61;margin:0;font-size:11px;line-height:1.65}.format-options{flex-wrap:wrap;align-items:center;gap:8px;margin:20px 0;display:flex}.format-options>span{color:#586572;width:100%;font-size:11px}.format-options label{background:#fff;border:1px solid #dce4ea;align-items:center;gap:7px;min-height:34px;margin:0;padding:0 11px;display:inline-flex}.format-options input{accent-color:var(--blue)}.path-preview{background:#f5f7f9;gap:7px;margin-top:20px;padding:14px;display:grid}.path-preview span{color:var(--muted);font-size:10px}.path-preview code{color:#315b7f;overflow-wrap:anywhere;font-size:11px}.rendition-flow{background:#fbfdff;border:1px dashed #bfcfdb;justify-content:center;align-items:center;gap:12px;min-height:88px;margin-top:18px;display:flex}.rendition-flow span{color:#315b7f;background:#eaf4ff;padding:9px 12px;font-size:11px}.rendition-flow b{color:#e6a52e;font-weight:400}.storage-health{background:#f6f8f9;border-left:3px solid #a6b0b8;align-items:flex-start;gap:13px;padding:17px;display:flex}.storage-health.success{background:#eff9f3;border-color:#2ba85c}.storage-health.failed{background:#fff4f2;border-color:#d46a5b}.health-indicator{background:#98a5b0;border-radius:50%;flex:none;width:10px;height:10px;margin-top:3px}.storage-health.success .health-indicator{background:#2ba85c}.storage-health.failed .health-indicator{background:#d46a5b}.storage-health p{color:var(--muted);overflow-wrap:anywhere;margin:6px 0 0;font-size:11px;line-height:1.6}.storage-facts{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));margin:18px 0;display:grid}.storage-facts div{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0;padding:12px}.storage-facts dt{color:var(--muted);font-size:10px}.storage-facts dd{color:var(--ink);overflow-wrap:anywhere;margin:5px 0 0;font-size:12px}.test-button{min-height:40px;color:var(--blue);background:#f4f9fe;border:1px solid #9cc7ec;padding:0 16px;font-size:11px}.test-button:disabled{opacity:.6}.storage-footer{border-top:1px solid var(--line);justify-content:space-between;align-items:center;gap:16px;margin-top:22px;padding-top:18px;display:flex}.storage-footer span{color:var(--muted);font-size:10px}.storage-settings-form .storage-section{min-height:0}.storage-settings-form .storage-status-section{padding-bottom:2px}.care-media-manager{border:1px solid var(--line);background:#fff;margin-top:0}.albums-care-panel{margin-top:0}.care-media-upload{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#f7fafc;padding:20px 25px}.care-upload-heading,.care-upload-footer,.care-media-controls{justify-content:space-between;align-items:center;gap:16px;display:flex}.care-upload-heading strong,.care-upload-heading span{display:block}.care-upload-heading strong{font-size:14px}.care-upload-heading span{color:var(--muted);margin-top:4px;font-size:10px}.care-upload-heading .care-upload-step{color:#2b72b8;font-family:var(--mono);margin:0;font-size:9px}.care-upload-layout{grid-template-columns:minmax(190px,.55fr) minmax(0,1.45fr);gap:16px;margin-top:16px;display:grid}.care-dropzone{cursor:pointer;text-align:center;background:#f3f9fe;border:1px dashed #9bc7ed;place-content:center;justify-items:center;gap:8px;min-height:196px;padding:18px;transition:all .18s;position:relative;overflow:hidden;color:#2b72b8!important;display:grid!important}.care-dropzone:hover,.care-dropzone.is-dragging{border-color:var(--blue);background:#e9f5ff;box-shadow:inset 0 0 0 2px #2b7fd814}.care-dropzone.has-file{background:#eaf0f4;border-style:solid;padding:0}.care-dropzone b{border:1px solid;border-radius:50%;place-items:center;width:31px;height:31px;font-size:20px;font-weight:400;display:grid}.care-dropzone strong{font-size:12px}.care-dropzone span{color:#6d8aa5;font-size:10px}.care-dropzone img{object-fit:cover;width:100%;height:196px}.care-dropzone-overlay{background:#142b40b8;padding:9px;position:absolute;inset:auto 0 0;color:#fff!important;font-size:10px!important}.care-dropzone input{opacity:0;cursor:pointer;width:100%;margin:0;position:absolute;inset:0}.care-upload-form-fields{min-width:0}.care-media-fields{grid-template-columns:minmax(180px,1.4fr) minmax(140px,.8fr) minmax(110px,.5fr);gap:10px;display:grid}.care-media-upload label,.care-media-edit label{color:#586572;margin:0;font-size:10px;display:block}.care-media-upload input,.care-media-upload select,.care-media-upload textarea,.care-media-edit input,.care-media-edit select,.care-media-edit textarea{border:1px solid var(--line);width:100%;color:var(--ink);font:inherit;background:#fff;outline:0;margin-top:7px;padding:9px 11px;font-size:12px;display:block}.care-media-upload input,.care-media-upload select,.care-media-edit input,.care-media-edit select{min-height:40px}.care-media-upload textarea,.care-media-edit textarea{resize:vertical;min-height:72px}.care-media-upload input:focus,.care-media-upload select:focus,.care-media-upload textarea:focus,.care-media-edit input:focus,.care-media-edit select:focus,.care-media-edit textarea:focus{border-color:#8ec1ef}.care-media-fields small,.care-description-field small{color:var(--muted);margin-top:4px;font-size:9px;display:block}.care-description-field{margin-top:10px!important}.care-upload-footer{border-top:1px solid #dce9f4;margin-top:12px;padding-top:12px}.care-upload-footer>span{min-width:0;color:var(--muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.care-media-upload-button{color:#fff;background:var(--blue);border:0;flex:none;min-height:40px;padding:0 18px;font-size:11px}.care-media-upload-button:disabled{opacity:.55}.care-media-controls{border-bottom:1px solid var(--line);background:#fff;flex-wrap:wrap;padding:14px 25px}.care-list-summary{border-left:3px solid var(--yellow);align-items:baseline;gap:7px;padding-left:10px;display:flex}.care-list-summary strong{color:var(--blue);font-family:var(--mono);font-size:18px;font-weight:500}.care-list-summary span{color:var(--muted);font-size:10px}.care-list-actions{align-items:center;gap:12px;margin-left:auto;display:flex}.care-filter{flex:none}.care-control-fields{gap:8px;display:flex}.care-control-fields input,.care-control-fields select{border:1px solid var(--line);min-height:34px;color:var(--ink);background:#fff;padding:0 9px;font-size:10px}.care-control-fields input{width:150px}.care-control-fields label{color:var(--muted);align-items:center;gap:5px;font-size:10px;display:flex}.care-media-list{padding:0 25px 14px}.care-media-row{border-bottom:1px solid var(--line);grid-template-columns:132px minmax(0,1fr) auto;align-items:center;gap:18px;min-height:132px;padding:15px 0;display:grid}.care-media-row.is-new{background:#f4faff;border:1px solid #a9d0f2;margin:12px 0;padding:13px;box-shadow:0 7px 18px #2b7fd812}.care-media-row.is-editing{grid-template-columns:132px minmax(0,1fr);align-items:start;padding:18px 0}.care-media-preview{background:#eaf0f4;border:0;width:128px;height:102px;padding:0;position:relative;overflow:hidden}.care-media-preview img{object-fit:cover;width:100%;height:100%}.care-media-preview span{color:#fff;background:#142b40d1;padding:3px 6px;font-size:9px;position:absolute;bottom:5px;right:5px}.care-media-preview .published{background:#237354}.care-media-copy,.care-media-copy strong,.care-media-copy span,.care-media-copy p{min-width:0;display:block}.care-media-copy strong{font-size:13px}.care-media-meta{flex-wrap:wrap;gap:5px;margin-bottom:8px;display:flex}.care-media-meta span,.care-media-meta b{color:#2b72b8;background:#edf6fe;margin:0;padding:3px 6px;font-size:9px;font-weight:400}.care-media-meta b{color:#8b6715;background:#fff4cc}.care-media-copy p{color:var(--muted);margin:7px 0 0;font-size:11px;line-height:1.55}.care-media-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.care-media-actions button,.care-media-edit-actions button{color:#50606d;background:#fff;border:1px solid #d7e0e7;min-height:32px;padding:0 10px;font-size:10px}.care-media-actions button:first-child{color:var(--blue);background:#f4f9fe;border-color:#9bc7ed}.care-media-actions .publish{border-color:var(--blue);color:#fff;background:var(--blue)}.care-media-actions .withdraw{color:#926d17;background:#fff9e8;border-color:#f0d8a2}.care-media-actions .delete-action{color:#b86666;background:#fff8f8;border-color:#f2d3d3}.care-media-edit{min-width:0;padding:4px 0}.care-media-edit-heading{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px;display:flex}.care-media-edit-heading strong{font-size:13px}.care-media-edit-heading span{color:var(--muted);font-size:10px}.care-media-edit-grid{grid-template-columns:1fr 1fr 100px;gap:10px;display:grid}.care-media-edit-actions{justify-content:flex-end;gap:7px;margin-top:10px;display:flex}@media (width<=900px){.care-upload-layout{grid-template-columns:170px minmax(0,1fr)}.care-dropzone{min-height:178px}.care-dropzone img{height:178px}.care-media-fields{grid-template-columns:1fr 1fr}.care-media-fields label:first-child{grid-column:1/-1}.care-media-row{grid-template-columns:112px minmax(0,1fr) auto}.care-media-preview{width:108px}}@media (width<=560px){.care-upload-heading,.care-upload-footer,.care-media-controls,.care-media-edit-heading{flex-direction:column;align-items:flex-start}.care-upload-layout,.care-media-fields,.care-media-row,.care-media-row.is-editing,.care-media-edit-grid{grid-template-columns:1fr}.care-upload-heading .care-upload-step{margin-top:0}.care-dropzone,.care-dropzone img{height:180px;min-height:180px}.care-media-fields label:first-child{grid-column:auto}.care-upload-footer{align-items:stretch}.care-upload-footer>span{white-space:normal}.care-media-upload-button,.care-list-actions,.care-control-fields{width:100%}.care-list-actions{flex-direction:column;align-items:stretch;gap:8px}.care-control-fields input{flex:1;width:auto;min-width:0}.care-media-row{align-items:start}.care-media-row.is-new{padding:12px}.care-media-preview{aspect-ratio:4/3;width:100%;height:auto}.care-media-actions,.care-media-edit-actions{justify-content:flex-start;width:100%}.care-media-actions button{flex:1}.care-media-upload,.care-media-list,.care-media-controls{padding-left:18px;padding-right:18px}.care-media-edit-heading span{line-height:1.5}}@media (width<=760px){.storage-provider-badge{margin-top:16px}.storage-form{padding:18px}.storage-section{min-height:0}.provider-choice,.storage-form .form-row,.storage-facts{grid-template-columns:1fr}.switch-row{align-items:flex-start}.rendition-flow{text-align:center;flex-direction:column;align-items:stretch;padding:12px}.rendition-flow b{transform:rotate(90deg)}.storage-footer{flex-direction:column;align-items:stretch}.storage-footer .primary-button{width:100%}.storage-tabs button{min-width:96px;padding-left:11px;padding-right:11px}}.student-media-manager{border:1px solid var(--line);background:#fff;margin-top:0}.student-media-header{justify-content:space-between;align-items:center;gap:16px;padding:23px 25px 18px;display:flex}.student-media-header button{color:#66727d;background:#fff;border:1px solid #dce2e7;min-height:34px;padding:0 12px;font-size:10px}.student-media-summary{border-top:1px solid var(--line);border-bottom:1px solid var(--line);color:var(--muted);background:#f8fafb;justify-content:space-between;align-items:center;gap:15px;padding:11px 25px;font-size:10px;display:flex}.student-media-summary strong{color:#315b7f;font-family:var(--mono);font-size:10px;font-weight:500}.student-media-row{border-bottom:1px solid var(--line);grid-template-columns:58px minmax(150px,.8fr) minmax(190px,1.2fr) auto;align-items:center;gap:15px;min-height:90px;display:grid}.student-media-preview{color:#2468aa;background:#dceeff;place-items:center;width:54px;height:62px;font-size:18px;font-weight:700;display:grid;overflow:hidden}.student-media-preview img{object-fit:cover;width:100%;height:100%}.student-media-person,.student-media-person strong,.student-media-person span,.student-media-storage,.student-media-storage span,.student-media-storage code{min-width:0;display:block}.student-media-person strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.student-media-person strong small{color:#2b895f;margin-left:8px;font-size:10px;font-weight:400}.student-media-person span,.student-media-storage span{color:var(--muted);margin-top:5px;font-size:10px}.student-media-storage code{color:#315b7f;text-overflow:ellipsis;white-space:nowrap;margin-top:6px;font-size:10px;overflow:hidden}.student-media-actions{justify-content:flex-end;align-items:center;gap:6px;display:flex}.student-media-actions button{color:#b86666;background:#fff8f8;border:1px solid #f2d3d3;min-height:36px;padding:0 11px;font-size:10px}@media (width<=900px){.student-media-row{grid-template-columns:58px minmax(0,1fr) auto}.student-media-storage{grid-column:2/-1;padding-bottom:13px}.student-media-actions{grid-area:1/3}}@media (width<=560px){.student-media-header,.student-media-summary{flex-direction:column;align-items:flex-start}.student-media-list{padding:0 16px 12px}.student-media-row{grid-template-columns:48px minmax(0,1fr);gap:11px;padding:14px 0}.student-media-preview{width:44px;height:52px}.student-media-storage,.student-media-actions{grid-column:2}.student-media-actions{grid-row:auto;justify-content:flex-start}.student-media-actions .photo-upload-button,.student-media-actions button{flex:1}.student-photo-copy small{max-width:180px}}@media (width<=760px){.album-quick-upload{flex-direction:column;align-items:stretch}.album-quick-upload-actions{width:100%}.album-quick-upload-actions .title-input{flex:1;width:auto;min-width:0}}@media (width<=430px){.album-quick-upload-actions{flex-direction:column}.album-quick-upload-actions .upload-button{width:100%}}.module-error-state{color:#7f4242;background:#fff7f7;border:1px solid #f1caca;margin:38px 48px}.module-error-state strong,.module-error-state p{display:block}.module-error-state strong{color:#9c3434;font-size:17px}.module-error-state p{margin:9px 0 18px}.module-error-state .primary-button{display:inline-flex}@media (width<=760px){.module-error-state{margin:22px 16px}}.attendance-date-card{border-left:3px solid var(--yellow);background:#fff;gap:7px;min-width:190px;padding:12px 15px;display:grid;position:relative}.attendance-date-card>span{color:var(--muted);font-size:9px}.attendance-date-trigger{border:1px solid var(--line);width:100%;min-height:47px;color:var(--ink);text-align:left;background:#fff;gap:3px;padding:7px 38px 7px 10px;display:grid;position:relative}.attendance-date-trigger strong{font-family:var(--mono);font-size:14px;font-weight:650}.attendance-date-trigger small{color:#73838d;text-overflow:ellipsis;white-space:nowrap;font-size:9px;overflow:hidden}.attendance-date-trigger>b{color:#fff;background:#d75a4d;border-radius:6px;place-items:center;width:22px;height:22px;font-size:10px;display:inline-grid;position:absolute;top:50%;right:10px;transform:translateY(-50%)}.attendance-date-trigger>b.work{background:#b08424}.attendance-date-card.calendar-open{z-index:75}.attendance-summary-grid{border:1px solid var(--line);background:#fff;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:22px;display:grid}.attendance-summary-grid>div{border-right:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:10px;min-height:72px;padding:18px;display:flex}.attendance-summary-grid>div:last-child{border-right:0}.attendance-summary-grid strong{color:var(--blue);font-family:var(--mono);font-size:23px;font-weight:500}.attendance-summary-grid strong small{color:#9aa7b1;font-size:10px}.attendance-summary-grid span{color:var(--muted);font-size:10px}.attendance-day-notice{color:#65577e;background:#f4f0fb;border-left:3px solid #9d86c6;align-items:center;gap:12px;margin-top:12px;padding:11px 14px;font-size:10px;display:flex}.attendance-day-notice span{flex:1}.attendance-day-notice b{color:#725b99;background:#fff;padding:4px 7px;font-size:9px;font-weight:500}.attendance-day-notice.national-rest{color:#8f3f36;background:#fff2ef;border-left-color:#d75a4d}.attendance-day-notice.national-work{color:#745a1b;background:#fff8e5;border-left-color:#b08424}.attendance-settlement-bar{background:#f3faf7;border:1px solid #bddbcf;border-left:4px solid #3b9a72;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:24px;margin-top:16px;padding:18px 20px;display:grid}.attendance-settlement-bar.incomplete{background:#fffaf0;border-color:#e2d39e #e2d39e #e2d39e #d2a32c}.attendance-settlement-bar h3{color:#243b32;flex-wrap:wrap;align-items:center;gap:9px;margin:5px 0 4px;font-size:18px;display:flex}.automation-state{color:#707c85;background:#fff;border:1px solid #d5dce1;padding:4px 7px;font-size:10px;font-weight:600}.automation-state.enabled{color:#247051;background:#e8f6ee;border-color:#a9d6bf}.attendance-settlement-bar p{color:#66756e;margin:0;font-size:13px;line-height:1.6}.attendance-settlement-status{border-left:1px solid #cbded6;min-width:145px;padding-left:20px;display:grid}.attendance-settlement-bar.incomplete .attendance-settlement-status{border-left-color:#e1d6b2}.attendance-settlement-status span,.attendance-settlement-status small{color:#718078;font-size:12px}.attendance-settlement-status strong{color:#285943;font-family:var(--mono);margin:4px 0;font-size:15px}.attendance-settlement-bar>button{min-width:176px;min-height:46px;margin:0}.attendance-manager{margin-top:16px;padding:0}.attendance-toolbar{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:18px;padding:20px 22px;display:flex}.attendance-toolbar h3{margin:5px 0 0;font-size:16px}.attendance-toolbar h3 small{color:var(--blue);font-family:var(--mono);font-size:10px}.attendance-toolbar-actions{gap:8px;display:flex}.attendance-toolbar-actions input{border:1px solid var(--line);width:190px;min-height:36px;padding:0 10px;font-size:10px}.attendance-toolbar-actions button{color:#246ca9;background:#f1f8ff;border:1px solid #b9d7f0;min-height:36px;padding:0 12px;font-size:10px}.attendance-toolbar>div:first-child>p{color:var(--muted);margin:7px 0 0;font-size:11px;line-height:1.5}.attendance-toolbar-actions .attendance-batch-present{color:#fff;background:#2f8a62;border-color:#2f8a62;font-weight:600}.attendance-toolbar-actions .attendance-batch-present:hover{background:#236f4f;border-color:#236f4f}.attendance-toolbar-actions .attendance-batch-present:disabled{color:#6e8177;opacity:1;background:#e7efeb;border-color:#c8d7cf}.attendance-row{border-bottom:1px solid var(--line);grid-template-columns:minmax(180px,1.3fr) 112px 112px 96px minmax(110px,.8fr) minmax(155px,1fr);align-items:end;gap:10px;min-height:104px;padding:14px 0;display:grid}.attendance-row.safety-alert{background:#fff7f5;border:1px solid #efb5ad;margin:8px -10px;padding:14px 10px}.attendance-student{align-self:center;align-items:center;gap:10px;min-width:0;display:flex}.attendance-student .student-avatar{flex:none}.attendance-student>div:last-child,.attendance-student strong,.attendance-student span{min-width:0;display:block}.attendance-student strong{text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.attendance-student strong small{color:#74818b;margin-left:7px;font-size:9px;font-weight:400}.attendance-student span{color:var(--muted);text-overflow:ellipsis;white-space:nowrap;margin-top:5px;font-size:9px;overflow:hidden}.attendance-row>label{color:#66737e;gap:6px;font-size:9px;display:grid}.attendance-row select,.attendance-row input{width:100%;min-width:0;min-height:36px;color:var(--ink);background:#fff;border:1px solid #dce3e8;padding:0 8px;font-size:10px}.attendance-row select:disabled,.attendance-row input:disabled{color:#9aa4ac;background:#f1f3f4}.attendance-result{flex-wrap:wrap;justify-content:flex-end;align-self:center;align-items:center;gap:5px;min-width:0;display:flex}.attendance-result button{color:#fff;background:var(--blue);border:0;min-height:34px;margin-left:4px;padding:0 12px;font-size:10px}.attendance-result button:disabled{opacity:.55}.attendance-status,.attendance-result small,.attendance-result strong,.attendance-result b,.attendance-unsaved{padding:4px 6px;font-size:8px;font-weight:500}.attendance-status.green{color:#277456;background:#eaf8f1}.attendance-status.yellow{color:#866816;background:#fff6d8}.attendance-status.red,.attendance-result b{color:#a44e43;background:#fff0ed}.attendance-status.blue{color:#276ca7;background:#ebf5ff}.attendance-status.gray,.attendance-unsaved{color:#78838c;background:#f0f2f3}.attendance-result small{color:#6f5a98;background:#f2edfb}.attendance-result strong{color:#946b13;background:#fff6d8}@media (width<=1180px){.attendance-row{grid-template-columns:minmax(180px,1fr) repeat(3,105px) minmax(120px,.8fr)}.attendance-result{grid-column:2/-1;justify-content:flex-start;padding-bottom:3px}}@media (width<=760px){.attendance-date-card{width:100%;margin-top:15px}.attendance-summary-grid{grid-template-columns:repeat(2,1fr)}.attendance-summary-grid>div:nth-child(2){border-right:0}.attendance-summary-grid>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.attendance-day-notice,.attendance-toolbar{flex-direction:column;align-items:flex-start}.attendance-settlement-bar{grid-template-columns:1fr;gap:14px}.attendance-settlement-status{border-top:1px solid #cbded6;border-left:0;padding:12px 0 0}.attendance-settlement-bar.incomplete .attendance-settlement-status{border-top-color:#e1d6b2;border-left:0}.attendance-settlement-bar>button,.attendance-toolbar-actions{width:100%}.attendance-toolbar-actions input{flex:1;width:auto;min-width:0}.attendance-list{padding:0 16px 12px}.attendance-row{grid-template-columns:1fr 1fr;align-items:end;gap:9px;padding:16px 0}.attendance-student,.attendance-note{grid-column:1/-1}.attendance-result{grid-column:1/-1;justify-content:flex-start}.attendance-result button{margin-left:auto}}@media (width<=460px){.attendance-toolbar-actions{flex-direction:column}.attendance-toolbar-actions input,.attendance-toolbar-actions button{width:100%}.attendance-summary-grid>div{min-height:62px;padding:14px}.attendance-row{grid-template-columns:1fr}.attendance-student,.attendance-note,.attendance-result{grid-column:1}.attendance-result button{width:100%;margin:6px 0 0}}.rules-summary{border-left:3px solid var(--yellow);background:#fff;grid-template-columns:auto auto;align-items:baseline;gap:3px 9px;min-width:130px;padding:12px 15px;display:grid}.rules-summary strong{color:var(--blue);font-family:var(--mono);font-size:22px;font-weight:500}.rules-summary span{color:var(--muted);font-size:10px}.rules-tabs{border-bottom:1px solid var(--line);gap:0;margin-top:22px;display:flex}.rules-tabs button{color:#75808b;background:0 0;border:0;border-bottom:2px solid #0000;min-width:128px;padding:12px 18px;font-size:12px}.rules-tabs button.selected{border-color:var(--blue);color:var(--blue);background:#edf6ff;font-weight:600}.rules-layout{grid-template-columns:minmax(310px,.72fr) minmax(460px,1.28fr);gap:18px;margin-top:18px;display:grid}.rules-editor{align-self:start}.rules-editor .compact-form{margin:0}.checkbox-field{color:#53616e;background:#fff;border:1px solid #e1e7ec;align-items:center;gap:9px;min-height:38px;padding:8px 10px;margin:0 0 12px!important;display:flex!important}.checkbox-field input{flex:none;width:16px!important;min-height:16px!important;margin:0!important}.student-pickup{align-self:end;margin-bottom:12px!important}.student-pricing-fields{background:#f5faff;border:1px solid #d9e7f3;grid-template-columns:1.05fr 1.15fr .9fr;gap:8px;margin:2px 0 9px;padding:13px;display:grid}.student-pricing-fields>label{margin:0}.student-pricing-fields>label:last-child{grid-column:span 2}.student-pricing-fields .checkbox-field{align-self:end;margin:0!important}.pricing-identity{border-left:3px solid var(--yellow);background:#fff;flex-direction:column;justify-content:center;min-height:61px;padding:8px 10px;display:flex}.pricing-identity span{color:var(--muted);letter-spacing:.08em;font-size:8px}.pricing-identity strong{color:var(--blue);margin:3px 0 2px;font-size:16px}.pricing-identity small{color:#8b969f;font-size:8px}.student-price-preview{background:#effaf5;border-left:3px solid #3f9d73;grid-template-columns:auto 1fr;align-items:center;gap:2px 14px;margin:0 0 10px;padding:11px 13px;display:grid}.student-price-preview.fallback{border-color:var(--yellow);background:#fff8df}.student-price-preview>div{grid-row:span 2}.student-price-preview>div span,.student-price-preview>div strong,.student-price-preview>span,.student-price-preview>small{display:block}.student-price-preview>div span{color:var(--muted);font-size:8px}.student-price-preview>div strong{color:#217457;font-family:var(--mono);margin-top:3px;font-size:20px;font-weight:500}.student-price-preview.fallback>div strong{color:#8a6812}.student-price-preview>div strong small{font-size:8px;font-weight:400}.student-price-preview>span{color:#465661;font-size:10px}.student-price-preview>small{color:#73808a;font-size:8px}.plan-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;display:grid}.plan-rule-card{border:1px solid #dfe5ea;border-top:3px solid var(--blue);background:#fff;min-width:0;padding:18px;position:relative}.plan-rule-card.disabled{opacity:.68;border-top-color:#aeb7bf}.plan-rule-top{align-items:center;gap:9px;display:flex}.plan-rule-top>span{color:#b0bac3;font-family:var(--mono);font-size:10px}.plan-rule-top strong{flex:1;font-size:15px}.plan-rule-top small{color:#267653;background:#eaf8f0;padding:3px 6px;font-size:9px}.plan-rule-card.disabled .plan-rule-top small{color:#68737c;background:#eef1f3}.plan-price-row{align-items:baseline;gap:10px;margin:18px 0 12px;display:flex}.plan-price-row b{color:var(--blue);font-family:var(--mono);font-size:23px;font-weight:500}.plan-price-row b small{font-size:9px;font-weight:400}.plan-price-row>span{color:#66727d;font-size:10px}.plan-rule-card>p{min-height:34px;color:var(--muted);margin:0 0 14px;font-size:10px;line-height:1.65}.plan-rule-card .record-actions{border-top:1px solid #edf0f2;justify-content:flex-end;padding-top:11px}.pricing-matrix-panel{margin-top:18px;padding:0;overflow:hidden}.pricing-matrix-head{justify-content:space-between;align-items:flex-start;gap:20px;padding:24px 26px 20px;display:flex}.pricing-matrix-head h3{margin:5px 0 7px;font-size:19px}.pricing-matrix-head p{max-width:620px;color:var(--muted);margin:0;font-size:10px;line-height:1.65}.pricing-coverage{background:#effaf5;border-left:3px solid #3f9d73;min-width:128px;padding:10px 13px}.pricing-coverage.warning{background:#fff8df;border-color:#d4a72c}.pricing-coverage strong,.pricing-coverage span{display:block}.pricing-coverage strong{color:#28795b;font-family:var(--mono);font-size:22px;font-weight:500}.pricing-coverage.warning strong{color:#8a6812}.pricing-coverage span{color:#66747e;margin-top:2px;font-size:8px}.pricing-plan-selector{border-top:1px solid var(--line);border-bottom:1px solid var(--line);background:#f8fafb;padding:0 26px;display:flex;overflow-x:auto}.pricing-plan-selector button{border:0;border-right:1px solid var(--line);text-align:left;background:0 0;border-bottom:2px solid #0000;min-width:145px;padding:12px 16px}.pricing-plan-selector button.selected{border-bottom-color:var(--blue);background:#fff}.pricing-plan-selector strong,.pricing-plan-selector small{display:block}.pricing-plan-selector strong{color:#3d4b56;font-size:11px}.pricing-plan-selector button.selected strong{color:var(--blue)}.pricing-plan-selector small{color:#89939b;margin-top:3px;font-size:8px}.pricing-matrix-guide{color:#8b959e;letter-spacing:.08em;background:#fbfcfd;grid-template-columns:185px repeat(3,minmax(100px,1fr)) 160px;gap:10px;padding:10px 26px;font-size:8px;display:grid}.pricing-rule-row{border-top:1px solid var(--line);grid-template-columns:185px repeat(3,minmax(100px,1fr)) 70px 90px;align-items:end;gap:10px;min-height:76px;padding:12px 0;display:grid}.pricing-rule-row.disabled{opacity:.72;background:linear-gradient(90deg,#0000,#fafafa)}.pricing-condition{grid-template-columns:auto 1fr;align-self:center;gap:4px 8px;display:grid}.pricing-condition strong{min-width:45px;color:var(--blue);text-align:center;background:#edf6ff;grid-row:span 2;align-self:center;padding:8px;font-size:12px}.pricing-condition span{color:#46545f;align-self:end;font-size:10px}.pricing-condition small{color:#89939b;font-size:8px}.pricing-rule-row>label>span{color:#7c8790;margin-bottom:4px;font-size:8px;display:block}.pricing-rule-row>label>div{background:#fff;border:1px solid #dce3e8;align-items:center;display:flex}.pricing-rule-row>label b{color:#80909c;font-family:var(--mono);padding-left:8px;font-size:9px;font-weight:400}.pricing-rule-row input[type=number]{width:100%;min-width:0;height:34px;font-family:var(--mono);border:0}.auto-calc-chip{color:#237354;white-space:nowrap;background:#eaf8f0;margin-left:4px;padding:2px 4px;font-size:7px;font-weight:400}.pricing-rule-switch{background:#fff;border:1px solid #dce3e8;justify-content:center;align-items:center;gap:5px;min-height:36px;margin:0;display:flex}.pricing-rule-switch span{color:#53616e!important;margin:0!important}.pricing-rule-row>button{color:#276da9;background:#f1f8ff;border-color:#c9def2;min-height:36px;padding:6px 8px;font-size:9px}.pricing-rule-row>button:disabled{color:#99a3ab;background:#f5f6f7;border-color:#e2e6e9}.pricing-matrix-note{color:#53616e;background:#f2f7fb;gap:10px;margin:18px 26px 24px;padding:12px 14px;font-size:9px;line-height:1.6;display:flex}.pricing-matrix-note strong{color:#276da9;flex:none}.param-notice{color:#7d641a;background:#fff8dc;gap:8px;margin-bottom:18px;padding:12px 14px;font-size:10px;display:flex}.param-notice strong{color:#6e5410}.param-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:9px;display:grid}.param-card{background:#fbfcfd;border:1px solid #e2e7eb;min-width:0;padding:15px}.param-card>div{justify-content:space-between;align-items:center;gap:8px;display:flex}.param-card>div small{color:#75808b;background:#e9edf0;padding:3px 5px;font-size:8px}.param-card>p{min-height:28px;color:var(--muted);margin:8px 0 12px;font-size:9px;line-height:1.55}.param-card>label{align-items:center;gap:7px;display:flex}.param-card input{width:100%;min-width:0;height:36px;color:var(--ink);font-family:var(--mono);background:#fff;border:1px solid #dce3e8;padding:7px 9px}.param-card label span{color:var(--muted);flex:none;font-size:9px}.param-card>button{color:#276da9;background:#f1f8ff;border-color:#c9def2;width:100%;margin-top:9px;font-size:10px}.param-card>button:disabled{color:#9aa4ad;background:#f3f5f6}.param-card .param-toggle{background:#fff;border:1px solid #dce3e8;justify-content:space-between;min-height:44px;padding:8px 10px}.param-card .param-toggle span{color:#43515d;font-size:12px}.param-card .param-toggle input{accent-color:#2f8a62;width:42px;height:22px;padding:0}.param-card.locked{background:#f2f4f5}.param-card.locked input{color:#8d979f;background:#eceff1}.calendar-layout{grid-template-columns:minmax(300px,.62fr) minmax(500px,1.38fr)}.calendar-effects{grid-template-columns:1fr 1fr;gap:7px;display:grid}.calendar-list{display:grid}.calendar-row{border-top:1px solid var(--line);grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:14px;min-height:82px;padding:11px 0;display:grid}.calendar-row time{background:#f8fafb;border:1px solid #dce3e8;place-items:center;min-height:56px;display:grid}.calendar-row time strong{color:var(--blue);font-family:var(--mono);font-size:21px;font-weight:500}.calendar-row time span{color:var(--muted);font-family:var(--mono);font-size:8px}.calendar-copy{min-width:0}.calendar-copy strong,.calendar-copy small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.calendar-copy small{color:var(--muted);font-size:9px}.calendar-type{color:#2c6fa9;background:#eaf4ff;padding:3px 6px;font-size:8px;display:inline-block}.calendar-type.red{color:#a65b4c;background:#fff0ec}.calendar-type.yellow{color:#846516;background:#fff7d9}.calendar-type.green{color:#267653;background:#eaf8f0}.calendar-type.purple{color:#6f5a99;background:#f1ecfb}@media (width<=1050px){.rules-layout,.calendar-layout{grid-template-columns:1fr}.param-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.pricing-matrix-guide{display:none}.pricing-rule-row{grid-template-columns:160px repeat(3,minmax(90px,1fr)) 66px 84px}}@media (width<=760px){.rules-summary{margin-top:0}.rules-tabs{overflow-x:auto}.rules-tabs button{min-width:108px;padding:11px 12px}.plan-list,.param-grid{grid-template-columns:1fr}.param-notice{flex-direction:column}.calendar-row{grid-template-columns:52px minmax(0,1fr)}.calendar-row .record-actions{grid-column:2}.calendar-effects{grid-template-columns:1fr}.student-pricing-fields{grid-template-columns:1fr 1fr}.pricing-identity{grid-column:1/-1}.pricing-matrix-head{flex-direction:column;padding:20px 18px 16px}.pricing-coverage{width:100%}.pricing-plan-selector,.pricing-rule-list{padding:0 18px}.pricing-rule-row{grid-template-columns:repeat(2,1fr);align-items:end;gap:8px;padding:16px 0}.pricing-condition,.pricing-rule-row>label:nth-of-type(3){grid-column:1/-1}.pricing-rule-switch{grid-column:1}.pricing-rule-row>button{grid-column:2}.pricing-matrix-note{flex-direction:column;margin:16px 18px 20px}}@media (width<=430px){.rules-summary{margin-top:17px;display:inline-grid}.plan-price-row{flex-wrap:wrap}.calendar-row{grid-template-columns:46px minmax(0,1fr);gap:10px}}.leave-intro-count{border-left:3px solid var(--yellow);background:#fff;min-width:118px;padding:12px 16px}.leave-intro-count strong,.leave-intro-count span{display:block}.leave-intro-count strong{color:var(--blue);font-family:var(--mono);font-size:25px;font-weight:500}.leave-intro-count span{color:var(--muted);margin-top:3px;font-size:10px}.leave-summary-grid{border:1px solid var(--line);background:#fff;grid-template-columns:repeat(5,minmax(0,1fr));margin-top:22px;display:grid}.leave-summary-grid>div{border-right:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:8px;min-height:68px;padding:17px;display:flex}.leave-summary-grid>div:last-child{border-right:0}.leave-summary-grid>div.needs-action{background:#fff8e3}.leave-summary-grid strong{color:var(--blue);font-family:var(--mono);font-size:22px;font-weight:500}.leave-summary-grid .needs-action strong{color:#b67c13}.leave-summary-grid span{color:var(--muted);font-size:9px}.leave-workspace{grid-template-columns:minmax(290px,.66fr) minmax(520px,1.34fr);gap:18px;margin-top:18px;display:grid}.leave-entry-form{align-self:start}.leave-entry-form .panel-heading{margin-bottom:20px}.leave-entry-form .panel-heading small{color:#8d6c1d;font-size:9px}.leave-entry-form>label{color:#586572;gap:6px;margin-bottom:13px;font-size:10px;display:grid}.leave-entry-form input,.leave-entry-form select,.leave-entry-form textarea{border:1px solid var(--line);width:100%;min-height:38px;color:var(--ink);background:#fcfcfc;outline:0;padding:9px 10px;font-size:11px}.leave-entry-form textarea{resize:vertical}.leave-entry-form input:focus,.leave-entry-form select:focus,.leave-entry-form textarea:focus{border-color:#8ec1ef}.leave-entry-form .form-row label{color:#586572;gap:6px;margin-bottom:13px;font-size:10px;display:grid}.leave-entry-form .leave-report-check{color:#286d9f;background:#f2f8fd;border:1px solid #cfe2f4;align-items:center;gap:8px;min-height:38px;padding:8px 10px;display:flex}.leave-entry-form .leave-report-check input{width:auto;min-height:auto;margin:0}.leave-rule-note{background:#fff9e8;border-left:3px solid #e5bd44;gap:4px;margin-bottom:15px;padding:11px 12px;display:grid}.leave-rule-note b{color:#8c6914;font-size:10px}.leave-rule-note span{color:#8a7c59;font-size:9px;line-height:1.55}.leave-entry-form>.primary-button{width:100%}.leave-manager{min-width:0;padding:0}.leave-toolbar{justify-content:space-between;align-items:center;gap:14px;padding:20px 22px 14px;display:flex}.leave-toolbar h3{margin:5px 0 0;font-size:16px}.leave-toolbar h3 small{color:var(--blue);font-family:var(--mono);font-size:10px}.leave-toolbar input{border:1px solid var(--line);width:210px;min-height:36px;padding:0 10px;font-size:10px}.leave-filters{margin:0 22px 8px}.leave-filters button{justify-content:center;align-items:center;gap:5px;display:flex}.leave-filters small{font-family:var(--mono);opacity:.72;font-size:8px}.leave-list{padding:0 22px 18px}.leave-card{border:1px solid var(--line);background:#fff;border-left:3px solid #e3b83e;margin-top:12px;padding:16px}.leave-card.approved{border-left-color:#50a47c}.leave-card.rejected{background:#fffdfc;border-left-color:#d47a6d}.leave-card-top{justify-content:space-between;align-items:center;gap:12px;display:flex}.leave-badges{flex-wrap:wrap;justify-content:flex-end;gap:5px;display:flex}.leave-period{color:#62717d;font-family:var(--mono);background:#f6f8fa;align-items:center;gap:8px;margin-top:13px;padding:9px 10px;font-size:9px;display:flex}.leave-period b{color:#9aa5ae}.leave-period span{color:var(--blue);margin-left:auto}.leave-card>p{color:#394650;margin:12px 0;font-size:11px;line-height:1.55}.leave-extension-result{color:#7d6a3b;background:#fff8e8;grid-template-columns:1fr auto;gap:4px 10px;padding:10px 11px;display:grid}.leave-extension-result.eligible{color:#2e7657;background:#edf8f2}.leave-extension-result strong{font-size:10px}.leave-extension-result span{grid-column:1;font-size:8px}.leave-extension-result b{color:#317255;background:#fff;grid-area:1/2/span 2;align-self:center;padding:4px 6px;font-size:8px;font-weight:500}.leave-proof{color:var(--blue);margin-top:9px;font-size:9px;text-decoration:none;display:inline-block}.leave-review-note{color:#697681;gap:5px;margin-top:12px;font-size:9px;display:grid}.leave-review-note input{border:1px solid var(--line);width:100%;min-height:35px;padding:0 9px;font-size:10px}.leave-review-note input:disabled{color:#8e989f;background:#f3f4f5}.leave-card-actions{justify-content:flex-end;align-items:center;gap:7px;min-height:34px;margin-top:11px;display:flex}.leave-card-actions button{min-height:34px;padding:0 12px}.leave-card-actions .leave-reject{color:#a65046;background:#fff6f4;border:1px solid #ebc5bf}.leave-card-actions span{color:#8b969e;font-size:8px}@media (width<=1080px){.leave-workspace{grid-template-columns:1fr}.leave-entry-form{grid-template-columns:1fr 1fr;gap:0 12px;display:grid}.leave-entry-form .panel-heading,.leave-entry-form .leave-rule-note,.leave-entry-form>.primary-button,.leave-entry-form>label:nth-of-type(4){grid-column:1/-1}}@media (width<=760px){.leave-summary-grid{grid-template-columns:repeat(2,1fr)}.leave-summary-grid>div{border-bottom:1px solid var(--line)}.leave-summary-grid>div:nth-child(2n){border-right:0}.leave-summary-grid>div:last-child{border-bottom:0;grid-column:1/-1}.leave-entry-form{display:block}.leave-toolbar{flex-direction:column;align-items:stretch}.leave-toolbar input{width:100%}.leave-filters{overflow-x:auto}.leave-filters button{min-width:85px}.leave-list{padding:0 15px 15px}}@media (width<=460px){.leave-summary-grid{grid-template-columns:1fr}.leave-summary-grid>div{border-right:0}.leave-summary-grid>div:last-child{grid-column:1}.leave-card-top,.leave-period{flex-direction:column;align-items:flex-start}.leave-badges{justify-content:flex-start}.leave-period span{margin-left:0}.leave-extension-result{grid-template-columns:1fr}.leave-extension-result b{grid-area:auto/1;justify-self:start}.leave-card-actions{flex-direction:column;align-items:stretch}.leave-card-actions button{width:100%}}.ledger-total{background:#fff;border-left:3px solid #57a57e;min-width:145px;padding:12px 16px}.ledger-total strong,.ledger-total span{display:block}.ledger-total strong{color:#2e7c59;font-family:var(--mono);font-size:25px;font-weight:500}.ledger-total span{color:var(--muted);margin-top:3px;font-size:10px}.ledger-summary-grid{border:1px solid var(--line);background:#fff;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:22px;display:grid}.ledger-summary-grid>div{border-right:1px solid var(--line);justify-content:space-between;align-items:baseline;min-height:66px;padding:17px 18px;display:flex}.ledger-summary-grid>div:last-child{border-right:0}.ledger-summary-grid>div.warning{background:#fff8e7}.ledger-summary-grid strong{color:var(--blue);font-family:var(--mono);font-size:22px;font-weight:500}.ledger-summary-grid .warning strong{color:#b47b14}.ledger-summary-grid span{color:var(--muted);font-size:9px}.ledger-student-strip{border:1px solid var(--line);background:#fff;gap:7px;margin-top:14px;padding:10px;display:flex;overflow-x:auto}.ledger-student-strip button{color:#5e6a74;text-align:left;background:#fafbfc;border:1px solid #e0e6ea;justify-content:space-between;align-items:center;gap:14px;min-width:185px;padding:9px 11px;display:flex}.ledger-student-strip button.selected{color:#246ca9;background:#edf6ff;border-color:#83b8e7}.ledger-student-strip span{text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.ledger-student-strip span small{color:var(--muted);font-family:var(--mono);margin:4px 0 0;font-size:7px;display:block}.ledger-student-strip strong{color:inherit;font-family:var(--mono);font-size:16px;font-weight:500}.ledger-student-strip strong small{margin-left:2px;font-size:8px}.ledger-student-strip button.in-debt{color:#a5483d;background:#fff5f2;border-color:#e3b8af}.ledger-workspace{grid-template-columns:minmax(310px,.7fr) minmax(500px,1.3fr);gap:18px;margin-top:18px;display:grid}.ledger-left-column{align-content:start;gap:14px;display:grid}.ledger-account-card{color:#fff;background:linear-gradient(135deg,#1f6fb5,#3288d2);padding:21px}.ledger-account-head{align-items:center;gap:12px;display:flex}.ledger-account-head .student-avatar{background:#ffffff24;border-color:#ffffff73}.ledger-account-head .eyebrow{color:#c9e4fb}.ledger-account-head h3{margin:5px 0 4px;font-size:16px}.ledger-account-head small{color:#d8ebfa;font-size:9px}.ledger-balance-number{align-items:baseline;gap:8px;margin-top:22px;display:flex}.ledger-balance-number strong{font-family:var(--mono);font-size:48px;font-weight:400;line-height:1}.ledger-balance-number span{color:#d9edfc;font-size:10px}.ledger-balance-details{color:#d9edfc;border-top:1px solid #fff3;gap:18px;margin-top:18px;padding-top:13px;font-size:9px;display:flex}.ledger-balance-details b{color:#fff3b2;font-family:var(--mono)}.ledger-account-card.in-debt{background:#9f4339}.ledger-balance-details{flex-wrap:wrap}.ledger-allocation{color:#4e6d5d;font-size:8px}.ledger-account-head>.ledger-reminder-flag{color:#fff4c5;background:#0000001f;border:1px solid #ffffff73;margin-left:auto;padding:5px 7px;font-size:8px}.ledger-finance-grid{background:#ffffff2e;grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;margin-top:18px;display:grid}.ledger-finance-grid>div{background:#104f8547;min-width:0;padding:10px}.ledger-account-card.in-debt .ledger-finance-grid>div{background:#5b16113d}.ledger-finance-grid span,.ledger-finance-grid strong,.ledger-finance-grid small{display:block}.ledger-finance-grid span{color:#d9edfc;font-size:8px}.ledger-finance-grid strong{font-family:var(--mono);margin-top:5px;font-size:13px}.ledger-finance-grid small{overflow-wrap:anywhere;color:#c8e4f8;margin-top:3px;font-size:7px}.ledger-entry-form .panel-heading{margin-bottom:18px}.ledger-entry-form .panel-heading small{color:#8d98a0;font-size:8px}.ledger-entry-form>label,.ledger-entry-form .form-row label{color:#5f6c76;gap:6px;margin-bottom:12px;font-size:10px;display:grid}.ledger-entry-form label b{color:#ad5146;margin-left:5px;font-size:8px}.ledger-entry-form input,.ledger-entry-form select,.ledger-entry-form textarea{border:1px solid var(--line);width:100%;min-height:37px;color:var(--ink);background:#fcfcfc;padding:8px 9px;font-size:10px}.ledger-entry-form textarea{resize:vertical}.ledger-entry-form>.primary-button{width:100%}.ledger-correction-backdrop{z-index:30;background:#18253075;position:fixed;inset:0}.ledger-entry-form.is-correcting{z-index:31;scrollbar-color:#a9bdcc #edf1f4;scrollbar-width:thin;background:#fff;border-radius:4px;width:min(640px,100vw - 32px);margin:0;animation:.2s ease-out studentEditorIn;position:fixed;top:16px;bottom:16px;right:16px;overflow-y:auto;box-shadow:-18px 0 48px #12233133}.ledger-settlement{grid-template-columns:1fr auto;align-items:end;gap:12px;display:grid}.ledger-settlement h3{margin:5px 0;font-size:14px}.ledger-settlement p{color:var(--muted);grid-column:1/-1;margin:0;font-size:8px;line-height:1.5}.ledger-settlement label{color:#63717b;gap:5px;font-size:9px;display:grid}.ledger-settlement input{border:1px solid var(--line);min-height:34px;font-family:var(--mono);padding:0 8px;font-size:9px}.ledger-settlement button{color:#276da9;background:#f1f8ff;border:1px solid #b9d7f0;min-height:34px;font-size:9px}.ledger-history{min-width:0;padding:0}.ledger-history-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;gap:12px;padding:20px 22px 14px;display:flex}.ledger-history-head h3{margin:5px 0 0;font-size:16px}.ledger-history-head h3 small{color:var(--blue);font-family:var(--mono);font-size:9px}.ledger-history-head input{border:1px solid var(--line);width:205px;min-height:35px;padding:0 9px;font-size:9px}.ledger-entry-list{padding:0 22px 16px}.ledger-row{border-bottom:1px solid var(--line);grid-template-columns:58px minmax(0,1fr) auto;align-items:center;gap:13px;min-height:91px;padding:13px 0;display:grid}.ledger-row.expired{opacity:.58}.ledger-change{background:#f0f8f4;border:1px solid #d8e6df;place-items:center;min-height:56px;display:grid}.ledger-change.negative{background:#fff5f2;border-color:#ead7d2}.ledger-change strong{color:#2d7d59;font-family:var(--mono);font-size:19px;font-weight:500}.ledger-change.negative strong{color:#ad5549}.ledger-change span{color:var(--muted);font-size:8px}.ledger-entry-copy{min-width:0}.ledger-entry-copy>div:first-child{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.ledger-entry-copy>strong,.ledger-entry-copy>small{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.ledger-entry-copy>strong{margin:7px 0 5px;font-size:11px}.ledger-entry-copy>small{color:var(--muted);font-family:var(--mono);font-size:8px}.ledger-expiry{color:#8c701f;font-size:8px}.ledger-reverse-button{color:#a65549;background:#fff7f5;border-color:#e6c4bd;font-size:8px}.ledger-reversal-editor{grid-template-columns:1fr auto auto;gap:5px;margin-top:9px;display:grid}.ledger-reversal-editor input{border:1px solid #e3c6c0;min-width:0;min-height:32px;padding:0 8px;font-size:9px}.ledger-reversal-editor button{min-height:32px;padding:0 8px;font-size:8px}.ledger-reversal-editor button:first-of-type{color:#a64e42;background:#fff2ef;border-color:#dca99f}@media (width<=1100px){.ledger-workspace{grid-template-columns:1fr}.ledger-left-column{grid-template-columns:1fr 1fr}.ledger-settlement{grid-column:1/-1}}@media (width<=760px){.ledger-summary-grid{grid-template-columns:repeat(2,1fr)}.ledger-summary-grid>div:nth-child(2){border-right:0}.ledger-summary-grid>div:nth-child(-n+2){border-bottom:1px solid var(--line)}.ledger-left-column{grid-template-columns:1fr}.ledger-settlement{grid-column:1}.ledger-history-head{flex-direction:column;align-items:stretch}.ledger-history-head input{width:100%}.ledger-entry-list{padding:0 15px 14px}}@media (width<=460px){.ledger-summary-grid{grid-template-columns:1fr}.ledger-summary-grid>div{border-right:0;border-bottom:1px solid var(--line)}.ledger-summary-grid>div:last-child{border-bottom:0}.ledger-total{margin-top:17px}.ledger-balance-details{flex-direction:column;gap:7px}.ledger-settlement{grid-template-columns:1fr}.ledger-settlement button{width:100%}.ledger-row{grid-template-columns:50px minmax(0,1fr)}.ledger-reverse-button{grid-column:2;justify-self:start}.ledger-reversal-editor{grid-template-columns:1fr 1fr}.ledger-reversal-editor input{grid-column:1/-1}}.people-tabs{justify-content:flex-start;margin-bottom:0}.student-account-summary{border:1px solid var(--line);background:#fff;grid-template-columns:repeat(6,minmax(0,1fr));margin-top:18px;display:grid}.student-account-summary>div{border-right:1px solid var(--line);min-width:0;min-height:91px;padding:16px}.student-account-summary>div:last-child{border-right:0}.student-account-summary>div.warning{background:#fff8e7}.student-account-summary span,.student-account-summary strong,.student-account-summary small{display:block}.student-account-summary span{color:var(--muted);font-size:9px}.student-account-summary strong{overflow-wrap:anywhere;color:var(--blue);font-family:var(--mono);margin-top:7px;font-size:18px;font-weight:500}.student-account-summary .warning strong{color:#a96f13}.student-account-summary small{color:#89949c;margin-top:6px;font-size:8px;line-height:1.45}.student-account-panel{margin-top:14px;padding:0}.student-account-toolbar{border-bottom:1px solid var(--line);grid-template-columns:160px 132px 150px minmax(230px,1fr) auto;align-items:end;gap:10px;padding:18px 20px;display:grid}.student-account-toolbar label{color:#5c6973;gap:6px;font-size:9px;display:grid}.student-account-toolbar input,.student-account-toolbar select{border:1px solid var(--line);width:100%;min-height:37px;color:var(--ink);background:#fff;padding:0 9px;font-size:10px}.student-account-date{border-left:3px solid var(--blue);background:#f3f8fd;min-width:138px;padding:7px 10px}.student-account-date span,.student-account-date strong{display:block}.student-account-date span{color:var(--muted);font-size:8px}.student-account-date strong{color:#266da8;font-family:var(--mono);margin-top:4px;font-size:9px}.student-account-generate{color:#216aa7;background:#eef7ff;border:1px solid #9bc6e9;min-height:37px;font-size:9px}.student-account-generate:disabled{opacity:.5}.student-account-warning{color:#835f10;background:#fff7d9;margin:12px 20px 0;padding:10px 12px;font-size:9px;line-height:1.6}.student-account-table-wrap{width:100%;overflow-x:auto}.student-account-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:1540px}.student-account-table th{border-bottom:1px solid var(--line);color:#6b7780;text-align:left;background:#f7f9fa;padding:11px 12px;font-size:9px;font-weight:500}.student-account-table th:first-child{width:190px}.student-account-table th:nth-child(2){width:170px}.student-account-table th:nth-child(3){width:205px}.student-account-table th:nth-child(4){width:190px}.student-account-table th:nth-child(5),.student-account-table th:nth-child(6){width:170px}.student-account-table th:nth-child(7){width:220px}.student-account-table td{border-bottom:1px solid var(--line);vertical-align:top;color:#3e4b55;padding:14px 12px;font-size:10px;line-height:1.45}.student-account-table tbody tr:hover{background:#fbfdff}.student-account-table tr.archived{opacity:.68;background:#f6f6f6}.student-account-table td>strong,.student-account-table td>span,.student-account-table td>small{display:block}.student-account-table td>strong{color:#27343e;font-size:11px}.student-account-table td>span{color:#586773;margin-top:5px}.student-account-table td>small{color:var(--muted);margin-top:5px;font-size:8px}.student-account-table .warning-text{color:#a3680b}.student-account-remark{overflow-wrap:anywhere;color:#56636d}.student-account-remark>span{color:#9aa3a9}.student-account-table td:last-child select,.student-account-table td:last-child button{border:1px solid var(--line);width:100%;min-height:32px;font-size:9px;display:block}.student-account-table td:last-child select{background:#fff;padding:0 6px}.student-account-table td:last-child button{color:#246ba8;background:#f2f8fe;margin-top:7px}.student-account-table .restore-hint{color:#2f7c58;line-height:1.4}.student-account-table td:last-child .student-billing-action{color:#287052;background:#eef8f3;border-color:#b9dbc9}.ledger-payment-fields{background:#f7fbfe;border:1px solid #dfe9f1;grid-template-columns:1fr 1fr;gap:0 10px;margin-bottom:3px;padding:12px;display:grid}.ledger-payment-fields label{color:#5f6c76;gap:6px;margin-bottom:10px;font-size:9px;display:grid}.ledger-payment-fields label:last-child{grid-column:1/-1}.ledger-payment-summary{color:#2b7756;font-family:var(--mono);margin-bottom:5px;font-size:8px;display:block}@media (width<=1180px){.student-account-summary{grid-template-columns:repeat(3,1fr)}.student-account-summary>div:nth-child(3){border-right:0}.student-account-summary>div:nth-child(-n+3){border-bottom:1px solid var(--line)}.student-account-toolbar{grid-template-columns:1fr 1fr}.student-account-search,.student-account-date{grid-column:1/-1}}@media (width<=760px){.student-account-summary{grid-template-columns:repeat(2,1fr)}.student-account-summary>div:nth-child(odd){border-right:1px solid var(--line)}.student-account-summary>div:nth-child(2n){border-right:0}.student-account-summary>div:nth-child(-n+4){border-bottom:1px solid var(--line)}.student-account-toolbar{grid-template-columns:1fr}.student-account-search,.student-account-date{grid-column:1}.ledger-payment-fields{grid-template-columns:1fr}.ledger-payment-fields label:last-child{grid-column:1}}body{font-size:14px}.content-area{width:100%;max-width:1580px;padding-left:32px;padding-right:32px}.topbar{padding-left:32px;padding-right:32px}.brand-mark small,.sidebar-label,.eyebrow{letter-spacing:0;font-size:11px}.nav-button{min-height:48px;font-size:15px}.sidebar-note small,.logout-button,.account{font-size:13px}.topbar h1{letter-spacing:0;font-size:25px}.role{font-size:11px}.module-intro h2{letter-spacing:0;font-size:32px}.module-intro p{max-width:1080px;font-size:15px;line-height:1.7}.module-count span,.people-summary span,.score-note{font-size:13px}.panel-heading h3,.section-heading h3{font-size:20px}.panel-heading h3 small{font-size:13px}.segmented button,.primary-button,.secondary-button,.record-actions button,.card-actions button,.visibility-button,.album-title-actions button{min-height:42px;font-size:14px}.title-input,.upload-tools select,.entry-form input,.entry-form textarea,.brand-form input,.brand-form textarea,.brand-form select,.compact-form input,.compact-form select,.compact-form textarea{min-height:43px;font-size:15px}.entry-form label,.brand-form label,.compact-form>label,.compact-form .form-row label,.student-search-field{font-size:14px;line-height:1.5}.record-main strong,.student-search-card .record-main strong{font-size:15px}.record-main span,.student-search-card .record-main span{font-size:13px;line-height:1.6}.student-status-badge,.student-status-control span,.student-status-control small,.student-status-legend span,.student-detail-tags span{font-size:11px}.module-tip,.qr-architecture-note p,.album-quick-upload-copy small,.quick-actions small{font-size:12px;line-height:1.6}.attendance-summary span,.leave-summary-grid span,.ledger-summary-grid span{font-size:13px}.attendance-summary strong,.leave-summary-grid strong,.ledger-summary-grid strong{font-size:23px}.attendance-toolbar input,.attendance-toolbar select,.leave-toolbar input,.ledger-history-head input{min-height:43px;font-size:14px}.attendance-table th,.attendance-table td,.attendance-row,.attendance-card,.leave-card,.ledger-row{font-size:14px;line-height:1.55}.attendance-date-card{min-width:240px;padding:16px 18px}.attendance-date-card>span{font-size:13px}.attendance-summary-grid>div{min-height:94px;padding:20px 22px}.attendance-summary-grid strong{font-size:28px}.attendance-summary-grid strong small{font-size:13px}.attendance-summary-grid span{font-size:14px}.attendance-day-notice{padding:14px 16px;font-size:13px;line-height:1.6}.attendance-day-notice b{font-size:12px}.attendance-manager{margin-top:20px}.attendance-toolbar{padding:22px 24px}.attendance-toolbar h3{font-size:20px}.attendance-toolbar h3 small,.attendance-toolbar>div:first-child>p{font-size:13px}.attendance-toolbar-actions{gap:10px}.attendance-toolbar-actions input{width:280px;min-height:44px;padding:0 12px;font-size:14px}.attendance-toolbar-actions button{min-height:44px;padding:0 16px;font-size:14px}.attendance-list{padding:0 24px 16px}.attendance-row{grid-template-columns:minmax(250px,1.35fr) 140px 140px 125px minmax(180px,.9fr) minmax(215px,1fr);align-items:end;gap:14px;min-height:126px;padding:18px 0}.attendance-student{gap:13px}.attendance-student .student-avatar{width:42px;height:42px;font-size:16px}.attendance-student-copy{min-width:0}.attendance-student strong{white-space:normal;font-size:16px}.attendance-student strong small{font-size:12px}.attendance-student span{white-space:normal;margin-top:7px;font-size:13px;line-height:1.55}.attendance-result{justify-content:stretch;align-self:center;gap:9px;display:grid}.attendance-result-state{flex-wrap:wrap;align-items:center;gap:6px;min-height:28px;display:flex}.attendance-row-actions{grid-template-columns:1fr 1fr;gap:8px;width:100%;display:grid}.attendance-row-actions button{width:100%;min-height:44px;margin:0;padding:0 10px;font-size:13px;font-weight:600}.attendance-result .attendance-present-button{color:#fff;background:#2f8a62;border:1px solid #2f8a62}.attendance-result .attendance-present-button:hover{color:#fff;background:#236f4f;border-color:#236f4f}.attendance-result .attendance-present-button.saved,.attendance-result .attendance-present-button:disabled{color:#31765a;opacity:1;background:#e5f5ec;border-color:#b9ddca}.attendance-result .attendance-save-button{color:#246da9;background:#eef7ff;border:1px solid #9ec5e8}.attendance-result .attendance-save-button:hover{background:#dfedfb;border-color:#6da9dc}.attendance-result .attendance-save-button:disabled{color:#98a2aa;opacity:1;background:#f1f3f4;border-color:#dce3e8}.rules-summary{min-width:160px;padding:16px 18px}.rules-summary strong{font-size:25px}.rules-summary span{font-size:13px}.rules-tabs{margin-top:26px}.rules-tabs button{min-width:156px;min-height:50px;padding:13px 20px;font-size:14px}.rules-layout{gap:22px;margin-top:22px}.rules-editor .panel-heading,.rules-manager .panel-heading,.param-panel .panel-heading,.calendar-manager .panel-heading{margin-bottom:24px}.checkbox-field{min-height:44px;font-size:13px}.plan-list{gap:14px}.plan-rule-card{min-height:226px;padding:21px}.plan-rule-top>span{font-size:12px}.plan-rule-top strong{font-size:17px}.plan-rule-top small{padding:5px 8px;font-size:11px}.plan-price-row{gap:13px;margin:20px 0 14px}.plan-price-row b{font-size:27px}.plan-price-row b small{font-size:11px}.plan-price-row>span{font-size:13px}.plan-rule-card>p{min-height:48px;font-size:13px;line-height:1.7}.plan-rule-card .record-actions{gap:8px;padding-top:14px}.pricing-matrix-panel{margin-top:22px}.pricing-matrix-head{padding:28px 30px 24px}.pricing-matrix-head h3{font-size:21px}.pricing-matrix-head p{max-width:760px;font-size:13px;line-height:1.7}.pricing-coverage{min-width:158px;padding:13px 16px}.pricing-coverage strong{font-size:25px}.pricing-coverage strong small{font-size:12px}.pricing-coverage span{margin-top:4px;font-size:11px}.pricing-plan-selector{padding:0 30px}.pricing-plan-selector button{min-width:185px;min-height:68px;padding:14px 18px}.pricing-plan-selector strong{font-size:14px}.pricing-plan-selector small{margin-top:5px;font-size:11px}.pricing-matrix-guide{letter-spacing:0;grid-template-columns:200px repeat(3,minmax(120px,1fr)) 180px;padding:12px 30px;font-size:11px}.pricing-rule-list{padding:0 30px}.pricing-rule-row{grid-template-columns:200px repeat(3,minmax(120px,1fr)) 82px 112px;gap:12px;min-height:98px;padding:16px 0}.pricing-condition{gap:5px 10px}.pricing-condition strong{min-width:54px;padding:10px;font-size:14px}.pricing-condition span{font-size:13px}.pricing-condition small{font-size:11px}.pricing-rule-row>label>span{margin-bottom:6px;font-size:11px}.pricing-rule-row>label b{padding-left:10px;font-size:12px}.pricing-rule-row input[type=number]{height:44px;padding:0 9px;font-size:14px}.auto-calc-chip{padding:3px 5px;font-size:9px}.pricing-rule-switch{min-height:44px;font-size:12px}.pricing-rule-switch input{width:16px;min-height:16px}.pricing-rule-row>button{min-height:44px;padding:7px 10px;font-size:12px}.pricing-matrix-note{margin:20px 30px 28px;padding:15px 17px;font-size:12px;line-height:1.7}.param-panel{margin-top:22px}.param-notice{gap:10px;margin-bottom:22px;padding:15px 17px;font-size:13px;line-height:1.6}.param-grid{gap:13px}.param-card{min-height:188px;padding:19px}.param-card>div strong{font-size:15px}.param-card>div small{padding:4px 6px;font-size:10px}.param-card>p{min-height:38px;margin:10px 0 14px;font-size:12px;line-height:1.65}.param-card input{height:44px;padding:9px 11px;font-size:14px}.param-card label span{font-size:12px}.param-card .param-toggle span{font-size:13px}.param-card>button{min-height:42px;margin-top:11px;font-size:13px}.calendar-row{gap:16px;min-height:96px;padding:15px 0}.calendar-row time{min-height:66px}.calendar-row time strong{font-size:24px}.calendar-row time span{font-size:11px}.calendar-copy strong{margin:8px 0 6px;font-size:15px}.calendar-copy small{font-size:12px}.calendar-type{padding:5px 8px;font-size:11px}.attendance-row>label{gap:7px;font-size:13px}.attendance-row select,.attendance-row input{min-height:44px;padding:0 11px;font-size:14px}.attendance-result{gap:7px}.attendance-result button{min-height:44px;margin-left:6px;padding:0 16px;font-size:14px}.attendance-status,.attendance-result small,.attendance-result strong,.attendance-result b,.attendance-unsaved{padding:6px 8px;font-size:12px;line-height:1.4}.leave-entry-form>label,.leave-entry-form .form-row label,.ledger-entry-form>label,.ledger-entry-form .form-row label{font-size:14px}.leave-entry-form input,.leave-entry-form select,.leave-entry-form textarea,.ledger-entry-form input,.ledger-entry-form select,.ledger-entry-form textarea{min-height:43px;font-size:15px}.leave-rule-note b,.leave-card>p,.leave-extension-result strong,.ledger-entry-copy>strong{font-size:13px}.leave-rule-note span,.leave-period,.leave-extension-result span,.leave-review-note,.ledger-balance-details,.ledger-settlement p,.ledger-entry-copy>small,.ledger-expiry{font-size:11px;line-height:1.6}.leave-card-actions button,.ledger-settlement button,.ledger-reverse-button,.ledger-reversal-editor button{min-height:40px;font-size:12px}.ledger-student-strip button{min-width:220px;min-height:58px}.ledger-student-strip span{font-size:13px}.ledger-student-strip span small,.ledger-student-strip strong small{font-size:10px}.ledger-account-head small,.ledger-balance-number span,.ledger-account-head>.ledger-reminder-flag{font-size:11px}.ledger-finance-grid span,.ledger-finance-grid small,.ledger-allocation{font-size:10px;line-height:1.5}.ledger-finance-grid strong{font-size:15px}.ledger-entry-form .panel-heading small,.ledger-entry-form label b,.ledger-history-head h3 small,.ledger-change span{font-size:11px}.ledger-settlement label,.ledger-settlement input{font-size:12px}.student-account-sync-note,.student-editing-notice{color:#3d6552;background:#eff8f3;border-left:3px solid #55a579;align-items:center;gap:12px;padding:14px 20px;display:flex}.student-account-sync-note{border-bottom:1px solid #d9ebe1}.student-roster-counts{border-bottom:1px solid var(--line);background:#fff;grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.student-roster-counts>div{border-left:4px solid;align-items:baseline;gap:7px;padding:14px 20px;display:flex}.student-roster-counts>div+div{border-left-width:1px;border-left-color:var(--line);box-shadow:inset 4px 0 #d5a137}.student-roster-counts .active{color:#237652;background:#f1f9f5;border-left-color:#3b9b70}.student-roster-counts .paused{color:#956518;background:#fff9eb}.student-roster-counts span{margin-right:auto;font-size:13px;font-weight:600}.student-roster-counts strong{font-family:var(--mono);font-size:24px}.student-roster-counts small{font-size:12px}.attendance-roster-counts{gap:7px;margin-top:8px;display:flex}.attendance-roster-counts span{padding:4px 9px;font-size:12px}.attendance-roster-counts strong{font-family:var(--mono);font-size:14px}.attendance-roster-counts .active{color:#237652;background:#edf8f2}.attendance-roster-counts .paused{color:#956518;background:#fff6df}.student-account-sync-note strong,.student-editing-notice strong{flex:none;font-size:14px}.student-account-sync-note span,.student-editing-notice span{font-size:13px;line-height:1.6}.student-editing-notice{margin:18px 0 0}.student-account-summary span{font-size:13px}.student-account-summary strong{font-size:22px}.student-account-summary small{font-size:12px;line-height:1.55}.student-account-toolbar{grid-template-columns:180px 154px 170px minmax(250px,1fr) auto;gap:12px;padding:20px}.student-account-toolbar label{font-size:13px}.student-account-toolbar input,.student-account-toolbar select,.student-account-generate{min-height:43px;font-size:14px}.student-account-date{min-width:155px;padding:9px 12px}.student-account-date span{font-size:11px}.student-account-date strong{font-size:12px}.student-account-warning{padding:12px 14px;font-size:12px}.student-account-table{min-width:1660px}.student-account-table th{padding:13px 14px;font-size:13px}.student-account-table td{padding:16px 14px;font-size:14px;line-height:1.6}.student-account-table td>strong{font-size:15px}.student-account-table td>small{font-size:12px}.student-account-table td:last-child select,.student-account-table td:last-child button{min-height:40px;font-size:12px}.student-account-table .restore-hint{font-size:11px}.ledger-payment-fields label,.ledger-payment-summary{font-size:12px}@media (width>=761px){.student-account-table th:first-child,.student-account-table td:first-child{z-index:2;background:#fff;position:sticky;left:0;box-shadow:8px 0 12px -12px #1f32438c}.student-account-table th:last-child,.student-account-table td:last-child{z-index:2;background:#fff;position:sticky;right:0;box-shadow:-8px 0 12px -12px #1f32438c}.student-account-table th:first-child,.student-account-table th:last-child{z-index:3;background:#f7f9fa}.student-account-table tr.archived td:first-child,.student-account-table tr.archived td:last-child{background:#f6f6f6}}.student-account-table tbody tr.student-status-row td{background:var(--student-status-bg);transition:background-color .16s}.student-account-table tbody tr.student-status-row td:first-child{border-left:5px solid var(--student-status)}.student-account-table tbody tr.student-status-row td:last-child select{border-color:var(--student-status-border);color:var(--student-status-strong);background:#ffffffe0}.student-account-table tbody tr.student-status-row:hover td{background:color-mix(in srgb, var(--student-status-bg) 78%, #fff)}.student-account-table tbody tr.status-active td:first-child>strong{color:#176849}.student-account-table tbody tr.status-paused td:first-child>strong{color:#986313}.student-account-table tbody tr.status-graduated td:first-child>strong{color:#51439f}.student-account-table tbody tr.status-archived td:first-child>strong{color:#56636f}@media (width<=1050px){.content-area,.topbar{padding-left:24px;padding-right:24px}.pricing-rule-row{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end}.pricing-condition,.pricing-rule-row>label:nth-of-type(3){grid-column:1/-1}.pricing-rule-switch{grid-column:1}.pricing-rule-row>button{grid-column:2}}@media (width<=1250px) and (width>=761px){.attendance-row{grid-template-columns:minmax(220px,1.2fr) 130px 130px 120px minmax(170px,1fr)}.attendance-result{grid-column:2/-1;justify-content:stretch;padding-bottom:4px}.attendance-row-actions{max-width:420px}}@media (width<=760px){.nav-list{scrollbar-width:none}.nav-list::-webkit-scrollbar{display:none}.content-area{padding-left:16px;padding-right:16px}.topbar{padding-left:18px;padding-right:18px}.topbar h1{font-size:21px}.content-area{padding-top:26px}.module-intro{align-items:flex-start;gap:18px}.module-intro h2{font-size:26px;line-height:1.35}.module-intro p{font-size:14px}.rules-tabs button{min-width:132px}.pricing-matrix-head{padding:22px 18px 18px}.pricing-plan-selector,.pricing-rule-list{padding-left:18px;padding-right:18px}.pricing-matrix-note{margin-left:18px;margin-right:18px}.attendance-view .module-intro{flex-direction:column;align-items:stretch;display:flex}.attendance-date-card{width:100%;min-width:0;margin-top:4px}.attendance-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-summary-grid>div{min-height:92px;padding:17px}.attendance-toolbar{flex-direction:column;align-items:stretch;padding:18px}.attendance-toolbar-actions{grid-template-columns:1fr;width:100%;display:grid}.attendance-toolbar-actions input,.attendance-toolbar-actions button{width:100%}.attendance-list{background:#f4f6f7;gap:12px;padding:14px;display:grid}.attendance-row{border:1px solid var(--line);background:#fff;grid-template-columns:1fr 1fr;gap:12px;min-height:0;padding:17px}.attendance-student,.attendance-note,.attendance-result{grid-column:1/-1}.attendance-result{justify-content:stretch;padding:2px 0 0}.people-tabs .segmented{width:100%}.people-tabs .segmented button{white-space:normal;flex:1}.student-account-sync-note,.student-editing-notice{flex-direction:column;align-items:flex-start;gap:4px;padding:14px 16px}.student-account-summary>div{min-height:112px;padding:16px}.student-account-toolbar{grid-template-columns:1fr;padding:16px}.student-account-search,.student-account-date{grid-column:1}.student-account-table-wrap{background:#f4f6f7;padding:14px;overflow:visible}.student-account-table,.student-account-table tbody,.student-account-table tr,.student-account-table td{width:100%;display:block}.student-account-table{border-collapse:separate;min-width:0}.student-account-table thead{display:none}.student-account-table tbody{gap:14px;display:grid}.student-account-table tbody tr{border:1px solid var(--line);background:#fff;padding:4px 14px 14px}.student-account-table tbody tr.student-status-row{border-color:var(--student-status-border);border-left:5px solid var(--student-status);background:var(--student-status-bg)}.student-account-table tbody tr.student-status-row:hover{background:var(--student-status-bg)}.student-account-table tr.archived{opacity:.82}.student-account-table tbody tr.student-status-row td{background:0 0}.student-account-table tbody tr.student-status-row td:first-child{border-left:0}.student-account-table td{border-bottom:1px solid var(--line);grid-template-columns:92px minmax(0,1fr);gap:10px;padding:12px 0;display:grid}.student-account-table td:before{color:#6d7881;font-size:12px;font-weight:600}.student-account-table td:first-child:before{content:"学生"}.student-account-table td:nth-child(2):before{content:"家庭"}.student-account-table td:nth-child(3):before{content:"计费周期"}.student-account-table td:nth-child(4):before{content:"实缴与使用"}.student-account-table td:nth-child(5):before{content:"服务消费"}.student-account-table td:nth-child(6):before{content:"余额与待缴"}.student-account-table td:nth-child(7):before{content:"备注"}.student-account-table td:nth-child(8):before{content:"状态与操作"}.student-account-table td:last-child{border-bottom:0}.student-account-table td:last-child select,.student-account-table td:last-child button,.student-account-table td:last-child small{grid-column:2}.student-account-table td:last-child button{margin-top:0}}@media (width<=430px){.module-intro h2{font-size:23px;line-height:1.4}.student-account-summary{grid-template-columns:1fr}.student-account-summary>div,.student-account-summary>div:nth-child(odd),.student-account-summary>div:nth-child(2n){border-right:0;border-bottom:1px solid var(--line);min-height:96px}.student-account-summary>div:last-child{border-bottom:0}.student-account-table-wrap{padding:10px}.student-account-table tbody tr{padding-left:12px;padding-right:12px}.student-account-table td{grid-template-columns:78px minmax(0,1fr)}.attendance-summary-grid{grid-template-columns:1fr}.attendance-summary-grid>div{border-right:0;border-bottom:1px solid var(--line);min-height:78px}.attendance-summary-grid>div:last-child{border-bottom:0}.attendance-row{grid-template-columns:1fr}.attendance-student,.attendance-note,.attendance-result{grid-column:1}.attendance-student{grid-template-columns:42px minmax(0,1fr);display:grid}.attendance-row-actions{grid-template-columns:1fr}.attendance-result button{width:100%}}.consolidated-workspace{min-width:0}.consolidated-tabs{background:#fff;border:1px solid #cfdbe4;grid-template-columns:repeat(2,minmax(0,1fr));margin-bottom:24px;display:grid}.consolidated-tabs.billing-tabs{grid-template-columns:repeat(4,minmax(0,1fr))}.consolidated-tabs button{color:#53636f;text-align:left;background:#fff;border:0;border-right:1px solid #dce4ea;gap:5px;min-height:70px;padding:14px 18px;display:grid}.consolidated-tabs button:last-child{border-right:0}.consolidated-tabs button strong{font-size:16px}.consolidated-tabs button span{color:#788690;font-size:12px;line-height:1.45}.consolidated-tabs button.selected{color:#1f68a7;background:#f2f8fd;box-shadow:inset 0 -3px #2b7fd8}.consolidated-tabs button.selected span{color:#557791}.billing-balance-highlight{background:#f1f8f5;border-left:3px solid #2f8b66;min-width:210px;padding:14px 17px}.billing-balance-highlight span,.billing-balance-highlight strong,.billing-balance-highlight small{display:block}.billing-balance-highlight span{color:#60766c;font-size:12px}.billing-balance-highlight strong{color:#237456;font-family:var(--mono);margin-top:5px;font-size:28px;font-weight:500}.billing-balance-highlight small{color:#718079;margin-top:3px;font-size:11px}.billing-filter-band{background:#fff;border:1px solid #d9e2e8;grid-template-columns:160px 160px 190px minmax(250px,1fr) auto;align-items:end;gap:12px;margin-top:22px;padding:17px 19px;display:grid}.billing-filter-band label{color:#52626e;gap:7px;font-size:13px;display:grid}.billing-filter-band input,.billing-filter-band select{color:#26333d;background:#fff;border:1px solid #bfccd5;width:100%;min-height:44px;padding:0 11px;font-size:14px}.billing-filter-band button{color:#fff;background:#2b7fd8;border:0;min-height:44px;padding:0 18px;font-size:14px}.billing-total-grid{background:#fff;border-top:1px solid #dce4e9;border-left:1px solid #dce4e9;grid-template-columns:repeat(6,minmax(0,1fr));margin-top:14px;display:grid}.billing-total-grid>div{border-bottom:1px solid #dce4e9;border-right:1px solid #dce4e9;min-height:108px;padding:17px}.billing-total-grid span,.billing-total-grid strong{display:block}.billing-total-grid span{color:#6f7c86;font-size:13px}.billing-total-grid strong{color:#236ba9;font-family:var(--mono);margin-top:10px;font-size:22px;font-weight:500}.billing-total-grid strong small{color:#72808a;font-family:inherit;font-size:12px;font-weight:400}.billing-total-grid>div>small{color:#72808a;margin-top:6px;font-size:12px;display:block}.billing-total-grid .warning{background:#fffaf0;box-shadow:inset 0 3px #d69a2d}.billing-total-grid .warning strong{color:#a66c10}.billing-reconciliation-band{background:#fff8e9;border-left:3px solid #d69a2d;grid-template-columns:minmax(300px,1fr) auto auto auto;align-items:center;gap:22px;margin-top:14px;padding:15px 18px;display:grid}.billing-reconciliation-band>div:first-child strong,.billing-reconciliation-band>div:first-child span{display:block}.billing-reconciliation-band>div:first-child strong{color:#865b0e;font-size:14px}.billing-reconciliation-band>div:first-child span{color:#74664c;margin-top:4px;font-size:12px;line-height:1.5}.billing-reconciliation-band>div:not(:first-child){text-align:center}.billing-reconciliation-band b{color:#9a6811;font-family:var(--mono);font-size:20px;font-weight:500;display:block}.billing-reconciliation-band>div:not(:first-child) span{color:#77694e;margin-top:3px;font-size:11px;display:block}.billing-reconciliation-band button{color:#865b0e;background:#fffdf7;border:1px solid #d7b66e;min-height:38px;padding:0 13px;font-size:12px}.billing-table-panel{margin-top:16px;padding:0;overflow:hidden}.billing-table-panel .panel-heading{padding:20px 22px 16px}.billing-table-scroll{width:100%;overflow-x:auto}.billing-account-table{border-collapse:collapse;table-layout:fixed;width:100%;min-width:1280px}.billing-account-table th{color:#5e6d78;text-align:left;background:#f3f6f8;border-top:1px solid #dfe6eb;border-bottom:1px solid #dfe6eb;padding:12px 13px;font-size:13px;font-weight:600}.billing-account-table th:first-child{width:17%}.billing-account-table th:nth-child(2){width:13%}.billing-account-table th:nth-child(3){width:15%}.billing-account-table th:nth-child(4),.billing-account-table th:nth-child(5),.billing-account-table th:nth-child(6){width:12%}.billing-account-table th:nth-child(7){width:11%}.billing-account-table th:nth-child(8){width:8%}.billing-account-table td{color:#34434e;vertical-align:top;border-bottom:1px solid #e3e8ec;padding:15px 13px;font-size:13px;line-height:1.5}.billing-account-table tr.selected td{background:#eef7fd}.billing-account-table td strong,.billing-account-table td span,.billing-account-table td small{overflow-wrap:anywhere;display:block}.billing-account-table td strong{color:#253642;font-size:14px}.billing-account-table td span{color:#667681;margin-top:5px;font-size:12px}.billing-account-table td small{color:#7c8992;margin-top:5px;font-size:11px}.billing-account-table td button{color:#246da8;background:#f4f9fd;border:1px solid #a9cce8;min-height:38px;padding:0 13px;font-size:13px}.danger-text{color:#b65b50!important}.billing-student-detail{margin-top:18px;padding:0;overflow:hidden}.billing-detail-overlay{z-index:30;background:#18253075;justify-content:flex-end;padding:16px;display:flex;position:fixed;inset:0}.billing-detail-overlay .billing-student-detail{z-index:1;background:#fff;border-radius:4px;grid-template-rows:auto minmax(0,1fr);width:min(1320px,100vw - 88px);height:100%;margin:0;animation:.2s ease-out studentEditorIn;display:grid;position:relative;box-shadow:-18px 0 48px #12233133}.billing-detail-body{scrollbar-color:#a9bdcc #edf1f4;scrollbar-width:thin;background:#f4f7f8;min-height:0;overflow-y:auto}.billing-detail-head{background:#fff;border-bottom:1px solid #dce4e9;justify-content:space-between;align-items:flex-start;gap:20px;padding:22px 28px;display:flex}.billing-detail-head h3{margin:7px 0 5px;font-size:20px}.billing-detail-head p{color:#6d7b85;margin:0;font-size:13px;line-height:1.6}.billing-detail-head>button{color:#687680;background:#fff;border:1px solid #d0d9df;width:38px;height:38px;font-size:22px}.unallocated-payment-panel{background:#fff9e7;border-bottom:1px solid #ecd99e;grid-template-columns:minmax(260px,1fr) repeat(2,minmax(250px,.7fr));gap:12px;padding:17px 22px;display:grid}.unallocated-payment-panel>div strong,.unallocated-payment-panel>div span{display:block}.unallocated-payment-panel>div strong{color:#72520d;font-size:14px}.unallocated-payment-panel>div span{color:#827249;margin-top:5px;font-size:12px;line-height:1.5}.unallocated-payment-panel article{background:#fff;border:1px solid #ead9aa;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:9px;padding:10px 12px;display:grid}.unallocated-payment-panel article div{min-width:0}.unallocated-payment-panel article b,.unallocated-payment-panel article span,.unallocated-payment-panel article small{display:block}.unallocated-payment-panel article b{color:#a34c35;font-size:15px}.unallocated-payment-panel article span,.unallocated-payment-panel article small{color:#756c58;text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:11px;overflow:hidden}.unallocated-payment-panel article button{color:#765613;background:#fff9e8;border:1px solid #d6b967;min-height:36px;padding:0 10px;font-size:12px;font-weight:700}.unallocated-payment-panel article .legacy-cycle-editor{border-top:1px solid #ead9aa;grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding-top:10px;display:grid}.legacy-cycle-editor label{color:#715b2b;gap:5px;font-size:12px;display:grid}.legacy-cycle-editor input,.legacy-cycle-editor select{color:#263e50;background:#fff;border:1px solid #d6c7a0;width:100%;min-width:0;min-height:36px;padding:6px 9px}.legacy-cycle-editor>button,.legacy-cycle-editor .legacy-cycle-error,.legacy-cycle-confirm{grid-column:1/-1}.legacy-cycle-editor>button{justify-self:start}.legacy-cycle-editor .legacy-cycle-error{color:#ad443b;font-size:12px}.legacy-cycle-confirm{background:#eff7ff;border-left:3px solid #2b7fd8;gap:5px;padding:12px;display:grid}.unallocated-payment-panel article .legacy-cycle-confirm span,.unallocated-payment-panel article .legacy-cycle-confirm small{color:#4b697f;white-space:normal;margin:0}.legacy-cycle-confirm strong{color:#205580}.legacy-cycle-confirm button{justify-self:start;margin-top:5px}.billing-contract-form{padding:22px 24px 24px}.billing-form-title{border-bottom:1px solid #e1e7eb;margin-bottom:15px;padding-bottom:12px}.billing-form-title strong,.billing-form-title span{display:block}.billing-form-title strong{font-size:16px}.billing-form-title span{color:#74818a;margin-top:5px;font-size:12px;line-height:1.5}.billing-form-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;display:grid}.billing-form-grid .wide{grid-column:span 2}.billing-contract-form label,.billing-action-workspace label{color:#53636f;gap:7px;font-size:14px;font-weight:600;display:grid}.billing-contract-form input,.billing-contract-form select,.billing-contract-form textarea,.billing-action-workspace input,.billing-action-workspace select,.billing-action-workspace textarea{color:#26343e;width:100%;min-height:45px;font:inherit;background:#fff;border:1px solid #c7d2da;padding:10px 12px;font-size:15px;font-weight:400}.billing-contract-form input[readonly],.billing-action-workspace input[readonly]{color:#53636f;background:#f1f4f6;border-color:#dce3e8}.billing-contract-form textarea,.billing-action-workspace textarea{resize:vertical}.billing-contract-form>.primary-button{margin-top:16px}.billing-student-overview{z-index:4;background:#fff;border-bottom:1px solid #d8e1e6;position:sticky;top:0;box-shadow:0 7px 18px #1c313e0f}.billing-student-summary{border-bottom:1px solid #e1e7eb;grid-template-columns:1.05fr 1.55fr repeat(3,1fr);display:grid}.billing-student-summary>div{border-right:1px solid #e1e7eb;min-width:0;min-height:83px;padding:15px 18px}.billing-student-summary>div:last-child{border-right:0}.billing-student-summary span,.billing-student-summary strong,.billing-student-summary small{overflow-wrap:anywhere;display:block}.billing-student-summary span{color:#75828b;font-size:12px}.billing-student-summary strong{color:#263743;margin-top:6px;font-size:16px;line-height:1.35}.billing-student-summary small{color:#75838c;margin-top:4px;font-size:12px;line-height:1.4}.billing-student-summary .warning{background:#fff8e8}.billing-student-summary .warning strong,.billing-student-summary .warning small{color:#9b5c19}.billing-action-tabs{background:#fff;grid-template-columns:repeat(5,minmax(140px,1fr));padding:0 22px;display:grid}.billing-action-tabs button{color:#53636e;text-align:left;background:#fff;border:0;border-bottom:3px solid #0000;min-width:0;min-height:67px;padding:12px 14px 13px;position:relative}.billing-action-tabs button:hover{background:#f5f9fb}.billing-action-tabs button.selected{color:#1f69ad;background:#eef6fc;border-bottom-color:#2b7fd8}.billing-action-tabs strong,.billing-action-tabs span{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.billing-action-tabs strong{font-size:15px}.billing-action-tabs span{color:#82909a;margin-top:5px;font-size:12px;font-weight:400}.billing-action-tabs button.selected span{color:#5f7f9b}.billing-action-workspace{min-height:390px;padding:22px 24px 34px}.billing-action-workspace>form{background:#fff;border:1px solid #dce4e9;grid-template-columns:repeat(2,minmax(0,1fr));align-items:start;gap:17px 20px;min-width:0;max-width:1040px;margin:0 auto;padding:25px 27px 30px;display:none;box-shadow:0 8px 22px #1d323f0d}.billing-action-workspace.active-period>form:first-child,.billing-action-workspace.active-payment>form:nth-child(2),.billing-action-workspace.active-extension>form:nth-child(3),.billing-action-workspace.active-price>form:nth-child(4),.billing-action-workspace.active-charge>form:nth-child(5){display:grid}.billing-action-workspace .billing-form-title,.billing-action-workspace .billing-payment-actions,.billing-action-workspace .billing-charge-actions,.billing-action-workspace .billing-payment-list,.billing-action-workspace .billing-charge-list{grid-column:1/-1}.billing-action-workspace .billing-form-title{margin-bottom:2px}.billing-action-workspace .billing-form-title strong{font-size:18px}.billing-action-workspace .billing-form-title span{font-size:13px}.billing-action-workspace .primary-button{grid-column:1/-1;justify-self:start;min-width:190px;min-height:44px}.billing-extension-form label:last-of-type{grid-column:1/-1}.billing-period-form{border-top:3px solid #4d9b73!important}.billing-mode-rule{background:#fff9e8;border-left:3px solid #d2a32c;grid-column:1/-1;padding:13px 15px}.billing-mode-rule strong,.billing-mode-rule span{display:block}.billing-mode-rule strong{color:#785b14;font-size:14px}.billing-mode-rule span{color:#695f45;margin-top:5px;font-size:13px;line-height:1.65}.billing-period-summary{background:#edf7f1;border-left:3px solid #4d9b73;grid-column:1/-1;margin:0;padding:12px 14px}.billing-period-summary span,.billing-period-summary strong,.billing-period-summary small{display:block}.billing-period-summary span{color:#5f7168;font-size:12px}.billing-period-summary strong{color:#246c4b;margin-top:4px;font-size:15px}.billing-period-summary small{color:#64756d;margin-top:5px;font-size:12px;line-height:1.55}.billing-detail-loading{width:min(760px,100%)!important}.billing-charge-actions{gap:8px;display:flex}.billing-charge-actions>button:not(.primary-button){color:#5a6974;background:#fff;border:1px solid #cbd5dc;flex:none;min-height:43px;margin-top:15px;padding:0 13px}.billing-charge-list{border-top:1px solid #dfe6eb;gap:0;margin-top:19px;padding-top:15px;display:grid}.billing-charge-list>strong{margin-bottom:7px;font-size:13px}.billing-charge-list article{border-top:1px solid #edf1f3;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:8px;padding:10px 0;display:grid}.billing-charge-list article div{min-width:0}.billing-charge-list article b,.billing-charge-list article span{display:block}.billing-charge-list article b{text-overflow:ellipsis;white-space:nowrap;font-size:13px;overflow:hidden}.billing-charge-list article span,.billing-charge-list article small{color:#78858e;margin-top:4px;font-size:11px}.billing-charge-list article>strong{color:#a54c3f;font-size:13px}.billing-charge-list article button{color:#236b94;background:#f1f8fc;border:1px solid #a8c9df;min-height:32px;padding:0 9px;font-size:12px}.billing-charge-list article button.danger{color:#9a392f;background:#fff4f2;border-color:#deb0a9}.billing-charge-list article.voided{opacity:.68}.billing-charge-list article.voided b,.billing-charge-list article.voided>strong{color:#6f7c83;text-decoration:line-through}.billing-charge-row-actions{justify-content:flex-end;align-items:center;gap:6px;display:flex}.billing-charge-row-actions small{white-space:nowrap}.charge-allocation-editor{background:#f4fbf7;border:1px solid #b7d5c6;grid-column:1/-1;gap:10px;margin-top:4px;padding:12px;display:grid}.charge-allocation-editor>strong{color:#236b4d;font-size:13px}.charge-allocation-editor label{color:#53666f;gap:6px;font-size:12px;display:grid}.charge-allocation-editor select{width:100%;min-height:39px;font:inherit;background:#fff;border:1px solid #b7c9c0;padding:0 9px}.charge-allocation-editor p{color:#64766f;margin:0;font-size:12px;line-height:1.55}.charge-allocation-editor>div{justify-content:flex-end;gap:8px;display:flex}.charge-allocation-editor>div button{white-space:nowrap;min-width:88px}.billing-payment-actions{align-items:center;gap:9px;display:flex}.billing-payment-actions>button{white-space:nowrap;min-height:40px}.billing-payment-actions>.primary-button{flex:auto}.billing-payment-actions>button:not(.primary-button){color:#465963;background:#fff;border:1px solid #c6d2d9;flex:none;min-width:92px;padding:0 13px;font-weight:700}.billing-zero-guidance{color:#9a392f;margin-top:6px;font-size:12px;line-height:1.5;display:block}.billing-payment-list{border-top:1px solid #dfe6eb;gap:0;margin-top:19px;padding-top:15px;display:grid}.billing-payment-list>strong{margin-bottom:7px;font-size:13px}.billing-payment-list article{border-top:1px solid #edf1f3;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:9px;min-height:66px;padding:10px 0;display:grid}.billing-payment-list article>div{min-width:0}.billing-payment-list article b,.billing-payment-list article div span,.billing-payment-list article div small{display:block}.billing-payment-list article b{color:#147347;font-size:15px}.billing-payment-list article div span,.billing-payment-list article div small{color:#708089;text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:11px;line-height:1.4;overflow:hidden}.billing-payment-list article.reversed{opacity:.68}.billing-payment-list article.reversed b{color:#6f7c83;text-decoration:line-through}.billing-payment-list article>small{color:#849199;font-size:11px}.payment-record-actions{align-items:center;gap:6px;display:flex}.payment-record-actions button{color:#236b94;white-space:nowrap;background:#f1f8fc;border:1px solid #a8c9df;min-height:32px;padding:0 9px;font-size:12px;font-weight:700}.payment-record-actions button.danger{color:#9a392f;background:#fff4f2;border-color:#deb0a9}.payment-void-editor{opacity:1;background:#fff7f5;border:1px solid #e0b4ad;grid-column:1/-1;gap:9px;margin-top:3px;padding:12px;display:grid}.payment-void-editor>strong{color:#8d342b;font-size:13px}.payment-void-editor textarea{width:100%;min-height:66px;font:inherit;resize:vertical;background:#fff;border:1px solid #d7b6b0;padding:9px 10px}.payment-void-editor>div{justify-content:flex-end;gap:8px;display:flex}.payment-void-editor button{background:#fff;border:1px solid #c7d0d5;min-height:34px;padding:0 12px;font-size:12px;font-weight:700}.payment-void-editor button.danger{color:#fff;background:#a9473b;border-color:#a9473b}.payment-void-editor button:disabled{opacity:.55;cursor:not-allowed}.charge-void-editor{opacity:1}.payment-record-status{color:#276c4b;white-space:nowrap;background:#eff9f4;border:1px solid #b9d8c8;padding:3px 7px;font-size:11px;font-weight:700}.payment-record-status.reversed,.payment-record-status.refunded{color:#6d787e;background:#f4f6f7;border-color:#d5dadd}.payment-record-status.partially_refunded{color:#7b5c12;background:#fff8e5;border-color:#e2c77d}.campus-admin-layout{grid-template-columns:minmax(320px,.72fr) minmax(520px,1.28fr);gap:18px;margin-top:22px;display:grid}.campus-admin-form .panel-heading,.campus-admin-list .panel-heading{margin-bottom:20px}.campus-admin-form label{color:#52626e;gap:7px;margin-top:12px;font-size:13px;display:grid}.campus-admin-form input,.campus-admin-form select{color:#26343e;background:#fff;border:1px solid #c5d1d9;width:100%;min-height:44px;padding:0 11px;font-size:14px}.campus-admin-form .primary-button{width:100%;margin-top:18px}.campus-admin-table{border-top:1px solid #dfe6eb}.campus-admin-table article{border-bottom:1px solid #e2e8ec;grid-template-columns:1.15fr .9fr 1fr auto;align-items:center;gap:15px;padding:16px 4px;display:grid}.campus-admin-table article.inactive{opacity:.68;background:#f8fafb}.campus-admin-table strong,.campus-admin-table span{display:block}.campus-admin-table strong{font-size:14px}.campus-admin-table span{color:#72808a;margin-top:5px;font-size:12px}.campus-admin-table button{color:#24698f;background:#eef6fb;border:1px solid #9bb9cd;min-height:38px;padding:0 13px;font-weight:700}.campus-admin-table button.danger-button{color:#a3423b;background:#fff4f2;border-color:#e0aaa5}.attendance-student-copy .paused-chip{color:#687782;vertical-align:middle;background:#edf1f4;margin-left:8px;padding:2px 6px;font-size:11px;font-weight:700;display:inline-flex}@media (width<=1350px){.billing-total-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.billing-filter-band{grid-template-columns:repeat(3,minmax(150px,1fr))}.billing-filter-band .billing-search{grid-column:span 2}}@media (width<=900px){.consolidated-tabs,.consolidated-tabs.billing-tabs{grid-template-columns:1fr}.consolidated-tabs button{border-bottom:1px solid #dce4ea;border-right:0;min-height:60px}.consolidated-tabs button:last-child{border-bottom:0}.billing-filter-band{grid-template-columns:1fr 1fr}.billing-filter-band .billing-search{grid-column:1/-1}.billing-form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.billing-student-summary{grid-template-columns:repeat(3,minmax(0,1fr))}.billing-student-summary>div{border-bottom:1px solid #e1e7eb}.billing-action-tabs{scrollbar-width:thin;padding:0 12px;display:flex;overflow-x:auto}.billing-action-tabs button{flex:0 0 155px}.billing-action-workspace>form{grid-template-columns:1fr}.billing-action-workspace>form>*{grid-column:1}.billing-reconciliation-band{grid-template-columns:1fr 1fr}.billing-reconciliation-band>div:first-child{grid-column:1/-1}.campus-admin-layout,.unallocated-payment-panel,.unallocated-payment-panel article .legacy-cycle-editor{grid-template-columns:1fr}}@media (width<=600px){.billing-account-view .module-intro{display:block}.billing-balance-highlight{margin-top:16px}.billing-filter-band,.billing-total-grid,.billing-form-grid{grid-template-columns:1fr}.billing-filter-band .billing-search,.billing-form-grid .wide{grid-column:auto}.billing-detail-head{padding:18px}.billing-student-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.billing-student-summary>div{min-height:78px;padding:13px 14px}.billing-student-summary>div:nth-child(2n){border-right:0}.billing-action-workspace{padding:14px 12px 24px}.billing-contract-form,.billing-action-workspace>form{padding:18px}.billing-action-workspace .primary-button{justify-self:stretch;width:100%;min-width:0}.billing-reconciliation-band{grid-template-columns:1fr}.billing-reconciliation-band>div:first-child{grid-column:auto}.campus-admin-table article{grid-template-columns:1fr}}.student-account-toolbar{grid-template-columns:180px 154px 170px 150px repeat(3,minmax(150px,1fr))}.student-account-date{grid-column:5/-1;min-height:43px}.student-account-search{grid-column:1/5}.student-account-archive-shortcut{color:#775b17;background:#fff9e8;border:1px solid #d7c48e;justify-content:space-between;align-items:center;gap:10px;min-height:43px;padding:0 12px;font-size:13px;display:flex}.student-account-archive-shortcut strong{color:#765811;min-width:26px;height:26px;font-family:var(--mono);background:#f4df9b;place-items:center;font-size:13px;display:grid}.student-account-archive-shortcut.active{color:#1e659f;background:#edf6fd;border-color:#9abedc}.student-account-archive-shortcut.active strong{color:#fff;background:#2b7fd8}.student-account-sort{background:#f1f8f4;border-left:3px solid #4d9b73;min-height:43px;padding:8px 11px}.student-account-sort span,.student-account-sort strong,.student-account-sort small{display:block}.student-account-sort span{color:var(--muted);font-size:11px}.student-account-sort strong{color:#287252;margin-top:3px;font-size:13px}.student-account-sort small{color:#6f7e76;margin-top:2px;font-size:10px}.student-account-table td:last-child .student-archive-action{color:#7d5d12;background:#fff9e9;border-color:#dfca91}.student-account-table td:last-child .student-restore-action{color:#246d4f;background:#eef9f3;border-color:#add6c0}.student-account-table td:last-child .student-delete-action{color:#9c4037;background:#fff4f2;border-color:#dfb1aa}.people-view-actions{background:#f2f8fd;border-left:4px solid #2b7fd8;grid-template-columns:minmax(260px,1fr) auto;align-items:center;gap:18px;width:100%;padding:13px 14px 13px 16px;display:grid}.people-action-intro{gap:4px;min-width:0;display:grid}.people-action-intro strong{color:#276ca6;font-size:15px}.people-action-intro span{color:#71808a;text-overflow:ellipsis;white-space:nowrap;font-size:11px;overflow:hidden}.people-action-buttons{align-items:stretch;gap:8px;display:flex}.people-action-buttons button{white-space:nowrap;border:1px solid #c8d8e4;border-radius:4px;min-height:48px;padding:8px 15px}.student-quick-add{color:#fff;background:#2b7fd8;justify-content:center;align-items:center;gap:5px;min-width:142px;font-size:14px;display:inline-flex;box-shadow:0 5px 14px #2b7fd833;border-color:#2b7fd8!important}.student-quick-add span{font-size:18px;font-weight:400;line-height:1}.student-quick-add strong{font-weight:700}.family-quick-add{color:#286da6;background:#fff;font-size:12px;font-weight:650}.records-workspace-trigger{color:#2e644d;text-align:left;background:#eff8f3;align-content:center;justify-items:start;gap:2px;min-width:174px;display:grid}.records-workspace-trigger span{font-size:12px;font-weight:700}.records-workspace-trigger small{color:#688075;font-size:9px}.student-editor-overlay{z-index:60}.student-account-summary{border-color:#dbe4ea;margin-top:12px}.student-account-summary>div{min-height:82px;padding:13px 15px}.student-account-summary strong{margin-top:5px;font-size:20px}.student-account-summary small{margin-top:4px;font-size:10px}.student-account-panel{margin-top:12px}.student-account-section-head{border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:20px;padding:16px 18px;display:flex}.student-account-section-head h3{margin:4px 0 0;font-size:18px}.student-account-section-head p{color:#70808a;margin:4px 0 0;font-size:11px}.student-account-section-head .student-roster-counts{background:0 0;border:0;gap:8px;display:flex}.student-account-section-head .student-roster-counts>div{min-width:92px;box-shadow:none;border:1px solid;border-left-width:3px;grid-template-columns:auto auto;align-items:baseline;column-gap:5px;padding:8px 11px;display:grid}.student-account-section-head .student-roster-counts span{grid-row:1/3;align-self:center;margin:0 8px 0 0;font-size:11px}.student-account-section-head .student-roster-counts strong{font-size:19px;line-height:1}.student-account-section-head .student-roster-counts small{font-size:9px}.student-account-section-head .student-roster-counts .active{background:#f1f9f5;border-color:#a8d5be}.student-account-section-head .student-roster-counts .paused{background:#fff9eb;border-color:#e0c483}.student-account-controls{border-bottom:1px solid var(--line);background:#f7f9fb;gap:12px;padding:16px 18px;display:grid}.student-account-filter-row{grid-template-columns:repeat(auto-fit,minmax(min(100%,150px),1fr));align-items:end;gap:10px;display:grid}.student-account-filter-row .student-account-search{grid-column:1/-1}.student-account-utility-row{grid-template-columns:repeat(auto-fit,minmax(min(100%,175px),1fr));align-items:stretch;gap:10px;display:grid}.student-account-utility-row .student-account-date-control{grid-column:1/-1}.student-account-controls label{color:#5c6973;gap:6px;font-size:11px;display:grid}.student-account-controls input,.student-account-controls select{width:100%;min-height:40px;color:var(--ink);background:#fff;border:1px solid #cfdbe4;border-radius:3px;padding:0 10px;font-size:12px}.student-account-controls input:focus,.student-account-controls select:focus{border-color:#4b93ce;outline:2px solid #2b7fd81f}.student-account-date-control{grid-template-columns:minmax(160px,1fr) auto;align-items:end;gap:8px;display:grid}.student-account-date-control .student-account-generate{border-radius:3px;min-width:104px;min-height:40px;font-size:12px}.student-account-controls .student-account-date{grid-column:auto;align-content:center;min-width:0;min-height:40px;padding:7px 11px;display:grid}.student-account-controls .student-account-archive-shortcut{border-radius:3px;min-height:40px}.student-account-controls .student-account-sort{align-content:center;min-height:40px;display:grid}.student-account-warning{margin-top:10px}.student-account-table th:nth-child(8){width:224px}.student-account-table td:last-child .student-account-actions{gap:8px;width:100%;display:grid}.student-account-table td:last-child .student-account-actions>select{border:1px solid var(--student-status-border);width:100%;min-height:36px;color:var(--student-status-strong);background:#ffffffe6;border-radius:4px;padding:0 9px;font-size:12px;display:block}.student-account-action-buttons{grid-template-columns:1fr 1fr .78fr;gap:6px;display:grid}.student-account-table td:last-child .student-account-action-buttons>button{white-space:nowrap;border-radius:4px;justify-content:center;align-items:center;width:auto;min-width:0;min-height:35px;margin:0;padding:5px 7px;font-size:11px;display:inline-flex}.student-account-table td:last-child .student-account-action-buttons .student-attendance-action{color:#226c4c!important;background:#eef9f3!important;border-color:#9fcfb5!important}.student-account-table td:last-child .student-account-action-buttons .student-edit-action{color:#276da5;background:#f1f8fd;border-color:#b8d4ea}.student-account-table td:last-child .student-account-action-buttons .student-more-trigger{color:#536672;background:#fff;border-color:#ccd7df}.student-more-trigger span{margin-left:3px;font-size:9px}.student-account-actions .restore-hint{color:#6c7b84;margin:0;font-size:9px;line-height:1.4}.student-account-table td{vertical-align:middle;padding:10px 12px;line-height:1.35}.student-account-table td>span,.student-account-table td>small{margin-top:3px}.student-account-table td>strong{line-height:1.35}.student-account-name-line{align-items:baseline;gap:6px;min-width:0;display:flex}.student-account-name-line strong{color:#27343e;white-space:nowrap;font-size:15px}.student-account-name-line span{color:#71808a;text-overflow:ellipsis;white-space:nowrap;min-width:0;font-size:11px;overflow:hidden}.student-account-identity>small{color:#697985;text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.student-account-mobile-details{display:none}.student-account-table td:nth-child(3)>strong{font-size:12px}.student-account-table .student-account-balance-cell>strong{font-size:13px}.student-account-alerts{flex-wrap:wrap;gap:3px 6px;margin-top:4px;display:flex}.student-account-alerts small{color:#97671b;font-size:10px;font-weight:650}.student-account-finance-details{color:#526f88;margin-top:3px;font-size:10px}.student-account-finance-details summary,.student-account-remark summary{cursor:pointer;width:fit-content;max-width:100%}.student-account-finance-details small{color:#667684;margin-top:3px;font-size:10px;display:block}.student-account-remark{max-width:0}.student-account-remark summary{color:#56636d;text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.student-account-remark summary:before{content:"▸ ";color:#4b85b4}.student-account-remark details[open] summary:before{content:"▾ "}.student-account-remark details[open] summary{white-space:normal}.student-account-remark p{overflow-wrap:anywhere;margin:5px 0 0}.student-account-table td:last-child .student-account-actions{grid-template-columns:70px minmax(0,1fr);align-items:center;gap:6px}.student-account-table td:last-child .student-account-actions>select{min-height:33px;padding:0 4px}.student-account-action-buttons{grid-template-columns:repeat(3,minmax(0,1fr));gap:4px}.student-account-table td:last-child .student-account-action-buttons>button{min-height:33px;padding:4px 2px}.student-account-actions .restore-hint{grid-column:1/-1}@media (width<=760px){.people-view-actions{grid-template-columns:1fr;gap:12px}.people-action-buttons{grid-template-columns:1fr 1fr;display:grid}.student-quick-add{grid-column:1/-1}.records-workspace-trigger{min-width:0}.student-account-section-head{flex-direction:column;align-items:flex-start}.student-account-section-head .student-roster-counts{width:100%}.student-account-section-head .student-roster-counts>div{flex:1}.student-account-filter-row,.student-account-utility-row{grid-template-columns:1fr}.student-account-date-control{grid-template-columns:1fr auto}.student-account-table td:last-child .student-account-actions select,.student-account-table td:last-child .student-account-actions button,.student-account-table td:last-child .student-account-actions small{grid-column:auto}.student-account-table tbody tr{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 12px;padding:11px 13px;display:grid}.student-account-table td{width:auto;min-width:0;padding:8px 0;display:block}.student-account-table td:before{margin-bottom:4px;font-size:10px;display:block}.student-account-table td:first-child,.student-account-table td:nth-child(6),.student-account-table td:nth-child(8){grid-column:1/-1}.student-account-table td:nth-child(2),.student-account-table td:nth-child(3),.student-account-table td:nth-child(7),.student-account-table td:first-child:before{display:none}.student-account-mobile-details{color:#4a7190;margin-top:7px;font-size:11px;display:block}.student-account-mobile-details summary{cursor:pointer}.student-account-mobile-details>div{color:#52616d;grid-template-columns:58px minmax(0,1fr);gap:7px;margin-top:7px;line-height:1.5;display:grid}.student-account-mobile-details b{color:#71808a;font-weight:600}.student-account-table td:last-child .student-account-actions{grid-column:auto}.student-account-table td:last-child .student-account-actions>select{width:70px}.student-account-table td:nth-child(4),.student-account-table td:nth-child(5),.student-account-table td:nth-child(6){border-bottom:1px solid var(--line)}}@media (width<=430px){.people-action-intro span{white-space:normal}.people-action-buttons{grid-template-columns:1fr}.student-quick-add{grid-column:1}.student-account-date-control{grid-template-columns:1fr}.student-account-date-control .student-account-generate{width:100%}.student-account-action-buttons{grid-template-columns:1fr 1fr 1fr}}.ledger-student-picker{margin-top:16px;padding:0;overflow:hidden}.ledger-student-picker-head{border-bottom:1px solid var(--line);justify-content:space-between;align-items:end;gap:24px;padding:20px 22px 16px;display:flex}.ledger-student-picker-head h3{margin:5px 0 4px;font-size:18px}.ledger-student-picker-head p{color:var(--muted);margin:0;font-size:12px;line-height:1.55}.ledger-student-picker-head label{color:#566570;gap:7px;width:min(420px,42%);font-size:13px;display:grid}.ledger-student-picker-head input{width:100%;min-height:44px;color:var(--ink);background:#fff;border:1px solid #b9cbd9;padding:0 12px;font-size:14px}.ledger-student-picker-head input:focus{border-color:#4b95d2;outline:2px solid #438fcd29}.ledger-student-picker-summary{color:#65737d;background:#f7f9fa;align-items:center;gap:18px;min-height:44px;padding:8px 22px;font-size:12px;display:flex}.ledger-student-picker-summary strong{color:#276fae}.ledger-student-picker-summary button{color:#286fa9;background:0 0;border:0;min-height:30px;margin-left:auto;font-size:12px}.ledger-student-grid{grid-template-columns:repeat(auto-fill,minmax(255px,1fr));gap:10px;max-height:310px;padding:14px 16px 16px;display:grid;overflow-y:auto}.ledger-student-grid>button{color:#46545e;text-align:left;background:#fff;border:1px solid #dce4e9;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:11px;min-height:78px;padding:11px 12px;display:grid}.ledger-student-grid>button:hover{background:#f8fbfe;border-color:#9abfdd}.ledger-student-grid>button.selected{color:#205f94;background:#edf6fd;border-color:#4c91ca;box-shadow:inset 3px 0 #2f80c4}.ledger-student-grid>button.in-debt{background:#fff6f3;border-color:#dfb4aa}.ledger-student-grid .student-avatar{width:40px;height:40px}.ledger-student-grid span,.ledger-student-grid span b,.ledger-student-grid span small{min-width:0;display:block}.ledger-student-grid span b{text-overflow:ellipsis;white-space:nowrap;font-size:15px;overflow:hidden}.ledger-student-grid span small{color:#71808a;text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:11px;overflow:hidden}.ledger-student-grid>button>strong{color:inherit;font-family:var(--mono);text-align:right;font-size:22px;font-weight:500}.ledger-student-grid>button>strong small{margin-top:2px;font-family:inherit;font-size:10px;display:block}.ledger-correction-notice{background:#fff8e7;border-left:3px solid #d99a27;margin-bottom:16px;padding:12px 14px}.ledger-correction-notice strong,.ledger-correction-notice span{display:block}.ledger-correction-notice strong{color:#855a0c;font-size:13px}.ledger-correction-notice span{color:#73674f;margin-top:4px;font-size:11px;line-height:1.55}.ledger-correction-reason textarea{background:#fffdf7!important;border-color:#dbbd80!important}.ledger-entry-actions{grid-template-columns:minmax(0,1fr) auto;gap:9px;display:grid}.ledger-entry-actions .primary-button{width:100%}.ledger-entry-actions .secondary-button{min-height:43px}.ledger-row-actions{align-content:center;gap:7px;display:grid}.ledger-row-actions button{min-width:78px;min-height:38px;font-size:12px}.ledger-correct-button{color:#246da8;background:#f1f8fe;border-color:#b8d5eb}@media (width<=1180px){.student-account-toolbar{grid-template-columns:repeat(2,minmax(0,1fr))}.student-account-date,.student-account-search{grid-column:1/-1}.ledger-student-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=760px){.student-account-toolbar{grid-template-columns:1fr}.student-account-date,.student-account-search{grid-column:1}.ledger-student-picker-head{flex-direction:column;align-items:stretch;gap:14px;padding:18px 16px 14px}.ledger-student-picker-head label{width:100%}.ledger-student-picker-summary{flex-direction:column;align-items:flex-start;gap:5px;padding:10px 16px}.ledger-student-picker-summary button{margin-left:0;padding:0}.ledger-student-grid{grid-template-columns:1fr;max-height:360px;padding:12px}.ledger-entry-actions{grid-template-columns:1fr}.ledger-row-actions{grid-column:2;grid-template-columns:repeat(2,auto);justify-content:start}}.score-average-panel{border-top:3px solid #2f80c4;margin-top:24px;padding:28px}.score-average-panel .panel-heading{justify-content:space-between;align-items:flex-end;gap:18px;margin-bottom:20px;display:flex}.score-average-panel .panel-heading h3{margin-top:5px;font-size:20px}.score-average-panel .panel-heading>small{color:#697984;font-size:12px}.score-average-filters{background:#fff9ed;border-left:3px solid #d99b19;grid-template-columns:minmax(260px,1fr) 180px 180px auto;align-items:end;gap:12px;padding:15px;display:grid}.score-average-filters label{color:#625b4d;font-size:13px}.score-average-filters input{width:100%;min-height:43px;color:var(--ink);background:#fff;border:1px solid #cfc7b8;margin-top:7px;padding:0 12px;font-size:14px;display:block}.score-average-filters input:focus{border-color:#c38a1f;outline:2px solid #d99b1924}.score-average-filters button{color:#70571e;background:#fff;border-color:#d5c8ae;min-height:43px;padding:0 14px}.score-average-metrics{border:1px solid #dbe4ea;grid-template-columns:repeat(4,minmax(0,1fr));margin-top:16px;display:grid}.score-average-metrics>div{background:#fbfcfd;min-height:91px;padding:16px 18px}.score-average-metrics>div+div{border-left:1px solid #dbe4ea}.score-average-metrics span,.score-average-metrics strong{display:block}.score-average-metrics span{color:#687883;font-size:12px}.score-average-metrics strong{color:#276fae;font-family:var(--mono);margin-top:8px;font-size:27px;font-weight:500}.score-average-metrics strong small{color:#7b8993;font-size:11px;font-weight:400}.score-average-visuals{border-top:1px solid #dce5eb;grid-template-columns:minmax(360px,.9fr) minmax(460px,1.1fr);gap:28px;margin-top:25px;padding-top:22px;display:grid}.score-average-visuals>section{min-width:0}.score-average-visuals>section+section{border-left:1px solid #e0e6ea;padding-left:28px}.score-average-heading{justify-content:space-between;align-items:baseline;gap:14px;margin-bottom:14px;display:flex}.score-average-heading strong{color:#263a49;font-size:16px}.score-average-heading span{color:#77858f;font-size:11px}.score-average-bars{gap:4px;display:grid}.score-average-bars article{border-top:1px solid #edf0f2;grid-template-columns:minmax(88px,135px) minmax(120px,1fr) 48px;align-items:center;gap:12px;min-height:58px;padding:8px 0;display:grid}.score-average-bars article>div:first-child strong,.score-average-bars article>div:first-child span{display:block}.score-average-bars article>div:first-child strong{font-size:14px}.score-average-bars article>div:first-child span{color:#7a8790;margin-top:4px;font-size:9px}.score-average-track,.score-ranking-track{background:#e9eef1;border-radius:3px;height:10px;position:relative;overflow:hidden}.score-average-track i,.score-ranking-track i{border-radius:inherit;height:100%;display:block}.score-average-bars article>b{color:#2a6d9f;font-family:var(--mono);text-align:right;font-size:16px;font-weight:500}.score-ranking-list{border-top:1px solid #e2e7ea;max-height:390px;display:grid;overflow-y:auto}.score-ranking-list>button{color:#344854;text-align:left;background:#fff;border:0;border-bottom:1px solid #e5eaed;grid-template-columns:28px minmax(130px,.9fr) minmax(90px,1fr) 48px;align-items:center;gap:12px;min-height:66px;padding:9px 8px;display:grid}.score-ranking-list>button:hover{background:#f5f9fc}.score-ranking-list>button em{color:#75838d;font-family:var(--mono);text-align:center;font-size:12px;font-style:normal}.score-ranking-list>button:nth-child(-n+3) em{color:#a86f08;font-size:16px;font-weight:700}.score-ranking-list>button span strong,.score-ranking-list>button span small{min-width:0;display:block}.score-ranking-list>button span strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.score-ranking-list>button span small{color:#798690;text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:9px;overflow:hidden}.score-ranking-track i{background:#4f9b72}.score-ranking-list>button>b{color:#276fae;font-family:var(--mono);text-align:right;font-size:16px;font-weight:500}.score-average-empty{color:#7a8791;text-align:center;border:1px dashed #d4dce1;padding:70px 14px;font-size:12px}.score-query-panel{padding:28px}.score-query-panel .panel-heading h3,.student-score-view .panel-heading h3,.entry-form .panel-heading h3,.score-list .panel-heading h3{font-size:19px}.score-query-field,.score-student-search{color:#4d5d69!important;font-size:14px!important}.score-query-field input,.score-student-search input{border:1px solid #b9cbd9;min-height:46px;padding:0 13px;font-size:15px}.score-query-field input:focus,.score-student-search input:focus{border-color:#4b95d2;outline:2px solid #438fcd26}.score-comparison-meta{color:#65737d;justify-content:space-between;align-items:center;gap:16px;margin-top:15px;font-size:12px;display:flex}.score-comparison-meta strong{color:#276fae;flex:none;font-size:13px}.compare-chip-list{max-height:132px;padding:2px 1px 3px;overflow-y:auto}.compare-chip-list button{min-height:38px;padding:6px 11px;font-size:13px}.compare-chip-list button small{color:#7a8791;font-size:10px}.compare-chip-list button.selected{box-shadow:inset 0 -2px #2b7fd8}.score-axis-toolbar{background:#f3f8fc;border-left:3px solid #4d94cd;grid-template-columns:auto auto minmax(0,1fr);align-items:center;gap:13px;margin-top:18px;padding:12px 14px;display:grid}.score-axis-toolbar>span{color:#53646f;font-size:12px;font-weight:600}.score-axis-toolbar .segmented{width:max-content;display:inline-flex}.score-axis-toolbar .segmented button{min-width:96px;min-height:36px;padding:0 13px;font-size:12px}.score-axis-toolbar>small{color:#6e7e89;font-size:11px;line-height:1.5}.score-subject-toolbar{background:#f2f8f4;border-left:3px solid #55a579;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:13px;margin-top:10px;padding:10px 14px;display:grid}.score-subject-toolbar>span{color:#4d6557;font-size:12px;font-weight:600}.score-subject-toolbar .segmented{min-width:0;display:flex;overflow-x:auto}.score-subject-toolbar .segmented button{flex:none;min-width:78px;min-height:34px;padding:0 12px;font-size:12px}.score-subject-toolbar .segmented button.selected{color:#287252;background:#e8f5ed;border-color:#55a579}.score-subject-toolbar>small{color:#65796c;font-size:11px}.score-chart-section{border-top:1px solid #dce5eb;margin-top:24px;padding-top:20px}.score-chart-section.rank-chart-section{margin-top:28px}.score-chart-title{margin-top:0}.score-chart-title strong{font-size:17px}.score-chart-title span{font-size:12px}.score-chart-wrap{background:#fff;border:1px solid #cfdeea;margin-top:12px;padding:0;overflow:hidden}.score-chart-zoom-toolbar{background:#f7f9fa;border-bottom:1px solid #dfe7ec;justify-content:space-between;align-items:center;gap:16px;min-height:45px;padding:7px 12px 7px 15px;display:flex}.score-chart-zoom-toolbar>span{color:#64747f;font-size:11px}.score-chart-zoom-toolbar>div{grid-template-columns:36px 58px 36px;display:grid}.score-chart-zoom-toolbar button{color:#356e9c;background:#fff;border:1px solid #cfd9e0;min-height:32px;padding:0;font-size:17px}.score-chart-zoom-toolbar button+button{border-left:0}.score-chart-zoom-toolbar button:disabled{color:#a9b1b7;cursor:default;background:#f1f3f4}.score-chart-zoom-toolbar .score-chart-zoom-value{color:#53636f;font-family:var(--mono);font-size:11px}.score-chart-scroll{scrollbar-color:#9bb8cf #edf2f5;scrollbar-width:thin;touch-action:pan-y;width:100%;overflow:auto hidden}.score-chart-scroll.is-zoomed{cursor:grab}.score-chart-scroll.is-panning{cursor:grabbing;-webkit-user-select:none;user-select:none}.score-chart-scroll.is-panning .score-chart-point{pointer-events:none}.score-chart-canvas{background:#fbfdff;min-width:100%;position:relative}.score-chart-wrap svg{width:auto;max-width:none;min-height:0}.score-chart-wrap line{stroke:#dce5ec}.score-chart-wrap .score-event-axis line{stroke:#edf1f4;stroke-dasharray:3 5}.score-chart-wrap .score-progress-axis line{stroke:#e4eaef;stroke-dasharray:4 6}.score-chart-wrap .score-progress-axis text{fill:#647785;font-size:11px;font-weight:600}.score-chart-wrap text{fill:#75838e;letter-spacing:0;font-size:11px}.score-chart-wrap polyline{stroke-width:2.5px}.score-chart-point{cursor:crosshair;outline:none}.score-chart-point>circle:first-child{stroke:#fff;stroke-width:2px;transition:r .15s,stroke-width .15s}.score-chart-point:hover>circle:first-child,.score-chart-point:focus>circle:first-child{r:8;stroke-width:3px}.score-point-hit{fill:#0000;stroke:none}.score-point-tooltip{z-index:4;color:#34434f;pointer-events:none;background:#fffffffa;border:1px solid;border-top-width:3px;width:250px;padding:13px 14px;position:absolute;transform:translate(-50%,calc(-100% - 12px));box-shadow:0 10px 28px #2237472e}.score-point-tooltip.below{transform:translate(-50%,14px)}.score-point-tooltip>strong,.score-point-tooltip>b,.score-point-tooltip>small{display:block}.score-point-tooltip>strong{font-size:15px}.score-point-tooltip>strong span{color:#71808a;margin-left:8px;font-size:10px;font-weight:400}.score-point-tooltip>b{margin-top:8px;font-size:13px}.score-point-tooltip>small{color:#77858f;margin-top:4px;font-size:10px}.score-point-tooltip>div{border-top:1px solid #e8edf0;justify-content:space-between;align-items:baseline;gap:12px;margin-top:9px;padding-top:8px;display:flex}.score-point-tooltip>div span{color:#75818a;font-size:11px}.score-point-tooltip>div strong{color:#2b6697;text-align:right;font-size:12px}.score-point-tooltip p{color:#596873;margin:10px 0 0;font-size:11px;line-height:1.55}.score-chart-legend{background:#f7f9fa;border-top:1px solid #e0e7ec;margin:0;padding:13px 16px;font-size:12px}.score-chart-legend span{padding-right:5px}.score-chart-legend span small{color:#84909a;font-size:9px}.score-chart-empty{margin-top:12px;padding:72px 18px;font-size:13px;line-height:1.7}.score-layout{grid-template-columns:minmax(410px,.88fr) minmax(600px,1.32fr);gap:22px}.student-score-view,.entry-form,.score-list{padding:24px}.score-student-search{display:block;margin:18px 0 0!important}.score-student-picker-meta{color:#6c7a84;justify-content:space-between;align-items:center;gap:12px;margin-top:11px;font-size:12px;display:flex}.score-student-picker-meta button{color:#53636f;background:#fff;border-color:#d3dce3;min-height:32px;padding:0 10px;font-size:11px}.score-student-picker-meta button.selected{color:#216aa5;background:#edf6fd;border-color:#8dbce3}.score-student-results{gap:7px;max-height:294px;margin-top:10px;padding-right:3px;display:grid;overflow-y:auto}.score-student-results>button{color:#40515d;text-align:left;background:#fff;border:1px solid #dce4e9;grid-template-columns:38px minmax(0,1fr) auto;align-items:center;gap:10px;min-height:68px;padding:9px 11px;display:grid}.score-student-results>button:hover{background:#f8fbfe;border-color:#a8c8df}.score-student-results>button.selected{color:#205f94;background:#edf6fd;border-color:#4d94cd;box-shadow:inset 3px 0 #2f80c4}.score-student-results .student-avatar{width:38px;height:38px}.score-student-results span,.score-student-results strong,.score-student-results small{min-width:0;display:block}.score-student-results span strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.score-student-results span small{color:#74828c;text-overflow:ellipsis;white-space:nowrap;margin-top:4px;font-size:10px;overflow:hidden}.score-student-results>button>b{color:inherit;font-family:var(--mono);text-align:right;font-size:19px;font-weight:500}.score-student-results>button>b small{margin-top:2px;font-size:9px}.score-student-empty{color:#7a8791;text-align:center;border:1px dashed #d0d9e0;padding:36px 12px;font-size:12px}.score-summary-grid div{min-height:74px;padding:13px 12px}.score-summary-grid strong{font-size:23px}.score-summary-grid span{font-size:11px}.entry-form>label,.entry-form .form-row label{font-size:13px}.entry-form input,.entry-form select,.entry-form textarea{min-height:43px;font-size:14px}.score-subject-stage{float:right;color:#3478b8;font-size:12px;font-weight:600}.score-ranking-fields{background:#fff9ec;border-left:3px solid #d99b19;margin:18px 0 15px;padding:15px}.score-ranking-heading{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:12px;display:flex}.score-ranking-heading strong{color:#74500c;font-size:14px}.score-ranking-heading span{color:#8b7650;font-size:11px}.entry-form .score-ranking-row{grid-template-columns:repeat(3,minmax(0,1fr))}.score-ranking-row label{color:#685d49;margin-bottom:0}.score-ranking-row input,.score-ranking-row select{background:#fff}.score-ranking-row select:disabled{color:#9d978c;background:#f3f0e8}.score-row{gap:16px;min-height:88px;padding:15px 0}.score-main strong{font-size:15px}.score-main span{font-size:12px}.score-rank-detail{display:none}.score-rank-badge{color:#87919a;background:#f6f8f9;border-left:2px solid #d8dfe4;align-content:center;min-width:112px;min-height:46px;padding:7px 9px;display:grid}.score-rank-badge strong,.score-rank-badge small,.score-rank-badge span{display:block}.score-rank-badge strong{color:#7c5710;font-size:13px}.score-rank-badge small{color:#82745a;margin-top:4px;font-size:9px}.score-rank-badge span{font-size:11px}.score-rank-badge.recorded{background:#fff8e8;border-left-color:#d99b19}.visibility-button{min-height:38px;font-size:12px}.score-actions button{min-height:36px;font-size:11px}@media (width<=1250px){.score-average-visuals{grid-template-columns:1fr}.score-average-visuals>section+section{border-top:1px solid #e0e6ea;border-left:0;padding-top:22px;padding-left:0}.score-layout{grid-template-columns:1fr}.score-side{grid-template-columns:minmax(360px,.85fr) minmax(500px,1.15fr);align-items:start}}@media (width<=900px){.score-average-filters{grid-template-columns:1fr 1fr}.score-average-search,.score-average-filters button{grid-column:1/-1}.score-average-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.score-average-metrics>div:nth-child(3){border-left:0}.score-average-metrics>div:nth-child(n+3){border-top:1px solid #dbe4ea}.score-side{grid-template-columns:1fr}}@media (width<=760px){.score-average-panel,.score-query-panel,.student-score-view,.entry-form,.score-list{padding:18px}.score-average-panel .panel-heading{flex-direction:column;align-items:flex-start;gap:5px}.score-average-filters{grid-template-columns:1fr;padding:13px}.score-average-search,.score-average-filters button{grid-column:1}.score-average-visuals{gap:20px;margin-top:20px}.score-average-bars article{grid-template-columns:minmax(80px,115px) minmax(80px,1fr) 43px;gap:8px}.score-ranking-list>button{grid-template-columns:25px minmax(110px,1fr) 44px;gap:8px}.score-ranking-list .score-ranking-track{grid-column:2/-1;height:7px}.score-comparison-meta{flex-direction:column;align-items:flex-start;gap:5px}.compare-chip-list{flex-wrap:nowrap;max-height:none;padding-bottom:8px;overflow:auto hidden}.compare-chip-list button{flex:none}.score-axis-toolbar{grid-template-columns:1fr;gap:8px}.score-axis-toolbar .segmented{grid-template-columns:1fr 1fr;width:100%;display:grid}.score-axis-toolbar .segmented button{min-width:0}.score-subject-toolbar{grid-template-columns:1fr;gap:8px}.score-subject-toolbar .segmented{width:100%}.score-subject-toolbar>small{line-height:1.5}.score-chart-title strong{font-size:16px}.score-chart-title span{font-size:11px;line-height:1.5}.score-chart-wrap{border-left:0;border-right:0;margin-left:-18px;margin-right:-18px}.score-chart-zoom-toolbar{padding-left:16px;padding-right:16px}.score-chart-legend{flex-wrap:nowrap;overflow-x:auto}.score-chart-legend span{flex:none}.score-student-results{max-height:350px}.entry-form>.form-row{grid-template-columns:1fr!important}.entry-form .score-ranking-row{grid-template-columns:repeat(2,minmax(0,1fr))}.score-ranking-row label:last-child{grid-column:1/-1}.score-row{grid-template-columns:minmax(0,1fr) auto}.score-rank-badge{grid-column:1/-1;min-height:42px}.score-rank-badge.recorded{grid-template-columns:auto 1fr;align-items:baseline;gap:10px}.score-rank-badge small{margin-top:0}.score-row .visibility-button{grid-column:1;justify-self:stretch}.score-actions{grid-column:2}}@media (width<=430px){.score-average-metrics{grid-template-columns:1fr}.score-average-metrics>div+div{border-top:1px solid #dbe4ea;border-left:0}.score-average-heading{flex-direction:column;align-items:flex-start;gap:4px}.score-average-bars article{grid-template-columns:minmax(78px,1fr) 44px}.score-average-bars .score-average-track{grid-area:2/1/auto/-1;height:7px}.score-average-bars article>b{grid-area:1/2}.score-summary-grid{grid-template-columns:1fr}.score-summary-grid div{min-height:64px}.score-ranking-heading{flex-direction:column;align-items:flex-start;gap:3px}.entry-form .score-ranking-row{grid-template-columns:1fr}.score-ranking-row label:last-child{grid-column:1}.score-point-tooltip{width:220px}}@media (width<=760px){.billing-detail-overlay{padding:0}.billing-detail-overlay .billing-student-detail{border:0;border-radius:0;width:100%}.billing-detail-head{padding:18px 17px 15px}.billing-detail-head h3{font-size:18px}.billing-detail-head p{font-size:12px}.ledger-entry-form.is-correcting{border:0;border-radius:0;width:100%;inset:0}}.storage-view .module-intro p{max-width:820px;font-size:15px;line-height:1.75}.storage-provider-badge{border-left-width:4px;min-width:180px;padding:16px 19px}.storage-provider-badge span{font-size:11px}.storage-provider-badge strong{margin-top:3px;font-size:15px}.storage-tabs{margin-top:28px}.storage-tabs button{min-width:150px;min-height:52px;padding:14px 22px;font-size:15px;font-weight:600}.storage-form{padding:30px}.storage-settings-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:0 30px;display:grid}.storage-settings-form>.storage-section{min-width:0}.storage-settings-form>.storage-section:first-of-type{grid-column:1}.storage-settings-form>.storage-section:nth-of-type(2){grid-column:2}.storage-settings-form>.storage-status-section,.storage-settings-form>.storage-footer{grid-column:1/-1}.storage-settings-form .storage-section+.storage-section{border-top:0;margin-top:0;padding-top:0}.storage-settings-form .storage-status-section{border-top:1px solid var(--line)!important;margin-top:30px!important;padding-top:28px!important}.storage-section{min-height:0}.storage-section .panel-heading{margin-bottom:25px;display:block}.storage-section .panel-heading h3{margin-top:7px;font-size:21px}.storage-section .panel-heading .eyebrow{font-size:11px}.storage-form label{color:#4e5f6b;margin-bottom:18px;font-size:14px}.storage-form input:not([type=checkbox]),.storage-form select{border-color:#c9d4dc;min-height:47px;margin-top:8px;padding:10px 13px;font-size:15px}.storage-form input:focus,.storage-form select:focus{border-color:#4b95d2;outline:2px solid #438fcd24}.storage-form .form-row{gap:15px}.storage-secret-control{margin-top:8px;display:block;position:relative}.storage-form .storage-secret-control input{margin-top:0;padding-right:50px}.storage-secret-control button{color:#718397;cursor:pointer;background:#fcfcfc;border:0;border-left:1px solid #e1e7ed;border-radius:0;place-items:center;width:44px;height:45px;padding:0;display:grid;position:absolute;top:1px;right:1px}.storage-secret-control button:hover{color:#226cb5;background:#f3f8fd}.storage-secret-control button svg{fill:none;stroke:currentColor;stroke-width:1.7px;stroke-linecap:round;stroke-linejoin:round;width:20px;height:20px}.storage-secret-control button .eye-slash{stroke-width:2px}.storage-secret-control button:disabled{opacity:.55;cursor:not-allowed}.provider-choice{gap:12px;margin-bottom:21px}.provider-choice button{min-height:94px;padding:18px}.provider-choice strong{font-size:16px}.provider-choice span{font-size:13px;line-height:1.5}.switch-row{min-height:78px;padding:16px 18px}.switch-row strong{font-size:15px}.switch-row small{margin-top:6px;font-size:12px;line-height:1.5}.switch-row input{width:44px;height:24px}.security-strip{gap:15px;margin-top:10px;padding:16px 18px}.security-strip span{font-size:11px}.security-strip p{font-size:13px;line-height:1.7}.format-options{gap:10px;margin:23px 0}.format-options>span{font-size:14px}.format-options label{min-height:43px;padding:0 14px;font-size:13px}.format-options input{width:17px;height:17px}.path-preview{gap:9px;margin-top:22px;padding:17px 18px}.path-preview span{font-size:12px}.path-preview code{font-size:13px;line-height:1.6}.rendition-flow{gap:16px;min-height:112px;margin-top:24px}.rendition-flow span{padding:12px 16px;font-size:14px}.rendition-flow b{font-size:18px}.storage-health{gap:15px;padding:20px}.health-indicator{width:12px;height:12px;margin-top:4px}.storage-health strong{font-size:16px}.storage-health p{margin-top:7px;font-size:13px;line-height:1.7}.storage-facts{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));margin:21px 0}.storage-facts div{min-height:80px;padding:16px}.storage-facts dt{font-size:12px}.storage-facts dd{margin-top:7px;font-size:15px;line-height:1.45}.test-button{min-height:44px;padding:0 19px;font-size:13px}.storage-footer{margin-top:28px;padding-top:22px}.storage-footer span{font-size:13px;line-height:1.6}.storage-footer .primary-button{min-height:46px;padding-left:22px;padding-right:22px;font-size:14px}.student-media-manager{border-top:3px solid #4b91c9}.student-media-header{padding:28px 30px 22px}.student-media-header .panel-heading{display:block}.student-media-header .panel-heading h3{margin-top:7px;font-size:21px}.student-media-header .panel-heading .eyebrow{font-size:11px}.student-media-header button{min-height:42px;padding:0 16px;font-size:13px}.student-media-summary{padding:14px 30px;font-size:13px}.student-media-summary strong{font-size:13px}.student-media-list{padding:0 30px 18px}.student-media-row{grid-template-columns:74px minmax(200px,.8fr) minmax(260px,1.2fr) auto;gap:19px;min-height:112px}.student-media-preview{width:68px;height:78px;font-size:21px}.student-media-person strong{font-size:16px}.student-media-person strong small{margin-left:9px;font-size:12px}.student-media-person span,.student-media-storage span,.student-media-storage code{margin-top:7px;font-size:13px;line-height:1.5}.student-media-actions{gap:8px}.student-media-actions .photo-upload-button,.student-media-actions button{min-height:42px;padding:0 14px;font-size:13px!important}.student-media-manager .empty-state{font-size:14px}@media (width<=1180px){.storage-settings-form{grid-template-columns:1fr}.storage-settings-form>.storage-section:first-of-type,.storage-settings-form>.storage-section:nth-of-type(2),.storage-settings-form>.storage-status-section,.storage-settings-form>.storage-footer{grid-column:1}.storage-settings-form>.storage-section:nth-of-type(2){border-top:1px solid var(--line);margin-top:30px;padding-top:28px}.student-media-row{grid-template-columns:68px minmax(0,1fr) auto}.student-media-storage{grid-column:2/-1;padding-bottom:16px}.student-media-actions{grid-area:1/3}}@media (width<=760px){.storage-view .module-intro{flex-direction:column;align-items:stretch}.storage-provider-badge{width:100%;min-width:0;margin-top:0}.storage-tabs button{flex:1;min-width:112px;min-height:50px;padding:12px 14px;font-size:14px}.storage-form{padding:20px 18px}.storage-settings-form>.storage-section:nth-of-type(2){margin-top:25px;padding-top:23px}.storage-settings-form .storage-status-section{margin-top:25px!important;padding-top:23px!important}.storage-section .panel-heading h3{font-size:19px}.storage-form .form-row,.provider-choice{grid-template-columns:1fr}.provider-choice button{min-height:82px}.switch-row{align-items:center}.format-options label{flex:96px;justify-content:center}.storage-facts{grid-template-columns:1fr 1fr}.storage-footer{flex-direction:column;align-items:stretch}.student-media-header{padding:22px 18px 17px}.student-media-summary{flex-direction:column;align-items:flex-start;gap:5px;padding:13px 18px}.student-media-list{background:#f5f7f8;padding:10px 16px 16px}.student-media-row{border:1px solid var(--line);background:#fff;grid-template-columns:58px minmax(0,1fr);gap:13px;margin-bottom:11px;padding:15px}.student-media-row:last-child{margin-bottom:0}.student-media-preview{width:54px;height:64px}.student-media-storage,.student-media-actions{grid-column:2}.student-media-actions{grid-row:auto;justify-content:flex-start}.student-media-actions .photo-upload-button,.student-media-actions button{flex:1}}@media (width<=430px){.storage-facts,.student-media-row{grid-template-columns:1fr}.student-media-preview{width:58px;height:68px}.student-media-storage,.student-media-actions{grid-column:1}}.operational-dashboard{gap:16px;display:grid}.ops-day-header{border-left:5px solid var(--blue);background:#fff;justify-content:space-between;align-items:center;gap:28px;min-height:148px;padding:28px 32px;display:flex}.ops-day-header h2{color:var(--ink);letter-spacing:0;margin:8px 0 7px;font-size:27px;font-weight:600}.ops-day-header p{max-width:760px;color:var(--muted);margin:0;font-size:14px;line-height:1.7}.ops-day-actions{flex:none;align-items:center;gap:10px;display:flex}.ops-day-actions>span{color:#287052;text-align:center;background:#eef8f3;border:1px solid #b9dbc9;min-width:78px;padding:10px 12px;font-size:13px}.ops-day-actions>span.rest-day{color:#687680;background:#f4f6f7;border-color:#d5dbe0}.ops-day-actions button,.ops-primary-action,.ops-finance-panel .panel-heading button{color:#246ba8;background:#f1f8fe;border:1px solid #9dc8ec;min-height:40px;padding:0 16px;font-size:13px}.ops-day-actions button:disabled{opacity:.55}.ops-attendance-band{border:1px solid var(--line);background:#fff;grid-template-columns:minmax(250px,.8fr) minmax(560px,2fr);align-items:stretch;display:grid}.ops-progress-copy{border-right:1px solid var(--line);padding:24px 26px}.ops-progress-copy>span,.ops-progress-copy>small{color:var(--muted);font-size:12px;display:block}.ops-progress-copy>strong{color:var(--ink);font-family:var(--mono);margin-top:8px;font-size:29px;font-weight:500;display:block}.ops-progress-copy>strong small{color:var(--muted);font-size:13px;font-weight:400}.ops-progress-track{background:#e8edf1;height:7px;margin:15px 0 9px;overflow:hidden}.ops-progress-track i{background:#3d9a68;height:100%;transition:width .25s;display:block}.ops-attendance-metrics{grid-template-columns:repeat(5,minmax(0,1fr));display:grid}.ops-attendance-metrics>div{border-right:1px solid var(--line);min-width:0;padding:24px 20px}.ops-attendance-metrics>div:last-child{border-right:0}.ops-attendance-metrics span,.ops-attendance-metrics strong{display:block}.ops-attendance-metrics span{color:var(--muted);font-size:12px}.ops-attendance-metrics strong{color:#2f7c58;font-family:var(--mono);margin-top:12px;font-size:27px;font-weight:500}.ops-attendance-metrics .warning{background:#fff8e7}.ops-attendance-metrics .warning strong{color:#aa7014}.ops-attendance-metrics .notice strong{color:#2d72ad}.ops-workspace-grid{grid-template-columns:minmax(0,1.32fr) minmax(390px,.68fr);gap:16px;display:grid}.ops-task-panel,.ops-finance-panel{min-width:0;padding:24px 26px}.ops-task-panel .panel-heading h3 small{color:var(--blue);font-family:var(--mono);font-size:15px;font-weight:500}.ops-task-list{border-top:1px solid var(--line);gap:0;margin-top:18px;display:grid}.ops-task-list article{border-bottom:1px solid var(--line);grid-template-columns:46px minmax(0,1fr) auto;align-items:center;gap:14px;min-height:82px;padding:13px 0;display:grid}.ops-task-list article>span{color:#286fa9;width:42px;height:42px;font-family:var(--mono);background:#f0f7fd;border:1px solid #c5d9e9;place-items:center;font-size:18px;display:grid}.ops-task-list article.warning>span{color:#9b6816;background:#fff8e3;border-color:#ead390}.ops-task-list article.critical>span{color:#b34f36;background:#fff1ed;border-color:#e5b4a8}.ops-task-list article>div{min-width:0}.ops-task-list strong,.ops-task-list small{display:block}.ops-task-list strong{color:#2d3943;font-size:14px}.ops-task-list small{color:var(--muted);margin-top:5px;font-size:12px;line-height:1.55}.ops-task-list button{border:1px solid var(--line);color:#246ba8;background:#fff;min-width:90px;min-height:36px;padding:0 12px;font-size:12px}.ops-all-clear{border-top:1px solid var(--line);color:#2f7c58;text-align:center;place-items:center;min-height:235px;margin-top:18px;display:grid}.ops-all-clear span{color:var(--muted);margin-top:-70px;font-size:13px}.ops-finance-summary{border-top:1px solid var(--line);border-left:1px solid var(--line);grid-template-columns:1fr 1fr;margin-top:18px;display:grid}.ops-finance-summary>div{border-right:1px solid var(--line);border-bottom:1px solid var(--line);min-width:0;min-height:116px;padding:18px}.ops-finance-summary span,.ops-finance-summary strong,.ops-finance-summary small{display:block}.ops-finance-summary span{color:var(--muted);font-size:12px}.ops-finance-summary strong{overflow-wrap:anywhere;color:#2b6fa8;font-family:var(--mono);margin-top:10px;font-size:20px;font-weight:500}.ops-finance-summary small{color:#7b8790;margin-top:7px;font-size:11px;line-height:1.45}.ops-finance-summary .warning{background:#fff9e9}.ops-finance-summary .warning strong{color:#a56e16}.ops-secondary-band{border:1px solid var(--line);background:#fff;grid-template-columns:minmax(260px,1.4fr) repeat(4,minmax(130px,.65fr));align-items:stretch;display:grid}.ops-secondary-band>div{padding:21px 24px}.ops-secondary-band>div strong,.ops-secondary-band>div small{display:block}.ops-secondary-band>div strong{margin-top:7px;font-size:15px}.ops-secondary-band>div small{color:var(--muted);margin-top:5px;font-size:11px}.ops-secondary-band>button{border:0;border-left:1px solid var(--line);min-height:92px;color:var(--ink);text-align:left;background:#fff;padding:16px}.ops-secondary-band>button:hover{background:#f7fbfe}.ops-secondary-band b,.ops-secondary-band button span{display:block}.ops-secondary-band b{color:var(--blue);font-family:var(--mono);font-size:22px;font-weight:500}.ops-secondary-band button span{color:var(--muted);margin-top:8px;font-size:12px}@media (width<=1180px){.ops-day-header{align-items:flex-start}.ops-attendance-band,.ops-workspace-grid{grid-template-columns:1fr}.ops-progress-copy{border-right:0;border-bottom:1px solid var(--line)}.ops-secondary-band{grid-template-columns:repeat(4,1fr)}.ops-secondary-band>div{border-bottom:1px solid var(--line);grid-column:1/-1}.ops-secondary-band>button:first-of-type{border-left:0}}@media (width<=760px){.operational-dashboard{gap:12px}.ops-day-header{min-height:0;padding:21px 19px;display:grid}.ops-day-header h2{font-size:22px;line-height:1.4}.ops-day-header p{font-size:13px}.ops-day-actions{width:100%}.ops-day-actions button{flex:1}.ops-attendance-metrics{grid-template-columns:repeat(2,1fr)}.ops-attendance-metrics>div{border-bottom:1px solid var(--line);padding:18px}.ops-attendance-metrics>div:nth-child(2n){border-right:0}.ops-attendance-metrics>div:last-child{border-bottom:0;grid-column:1/-1}.ops-task-panel,.ops-finance-panel{padding:19px}.ops-task-panel .panel-heading,.ops-finance-panel .panel-heading{gap:13px;display:grid}.ops-primary-action,.ops-finance-panel .panel-heading button{width:100%}.ops-task-list article{grid-template-columns:42px minmax(0,1fr)}.ops-task-list article button{grid-column:2;width:100%}.ops-finance-summary{grid-template-columns:1fr}.ops-finance-summary>div{min-height:100px}.ops-secondary-band{grid-template-columns:1fr 1fr}.ops-secondary-band>div{grid-column:1/-1}.ops-secondary-band>button{border-bottom:1px solid var(--line)}.ops-secondary-band>button:nth-of-type(odd){border-left:0}}.attendance-status-filters{flex-wrap:wrap;gap:8px;margin:18px 0 8px;display:flex}.attendance-status-filters button{align-items:center;gap:9px;min-height:40px;padding:8px 16px;display:inline-flex}.attendance-status-filters small{font-variant-numeric:tabular-nums;background:#2873be17;border-radius:10px;padding:1px 7px}.attendance-filter-hint{color:#687e93;margin:0 0 18px;font-size:12px;line-height:1.6}@media (width<=800px){.admin-shell{display:block}.admin-shell .sidebar{width:100%;height:auto;min-height:0;padding:16px 14px;position:relative}.admin-shell .sidebar-label,.admin-shell .sidebar-note{display:none}.admin-shell .main-area{width:100%;min-width:0;margin-left:0}.admin-shell .sidebar .nav-list{overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;scrollbar-width:thin;scrollbar-color:#a8d4ff transparent;flex-wrap:nowrap;gap:6px;width:100%;min-width:0;padding-bottom:8px;display:flex;overflow:auto hidden}.admin-shell .sidebar .nav-list::-webkit-scrollbar{height:4px;display:block}.admin-shell .sidebar .nav-list::-webkit-scrollbar-thumb{background:#a8d4ff;border-radius:4px}.admin-shell .sidebar .nav-button{white-space:nowrap;flex:none;width:auto;min-height:44px;padding:10px 13px}.admin-shell .sidebar .nav-button.active:before{width:calc(100% - 20px);height:2px;top:auto;bottom:0;left:10px}.admin-shell .sidebar .nav-arrow{display:none}}:root{--admin-navy:#2674c6;--admin-navy-soft:#1f65ad;--admin-blue:#176dd1;--admin-canvas:#f4f6f9;--admin-card:#fff;--admin-radius:12px}.admin-shell{background:var(--admin-canvas)}.sidebar{background:var(--admin-navy);width:276px;padding:22px 16px 18px;overflow:hidden}.sidebar:after{display:none}.brand-mark{flex:none;gap:11px;padding:0 8px 20px}.brand-mark>span{color:#153054;background:#ffd65a;border-radius:11px;width:38px;height:38px;font-size:20px;transform:none;box-shadow:0 8px 20px #0000002e}.brand-mark strong{letter-spacing:.03em;font-size:16px}.brand-mark small{color:#d7ecff;margin-top:4px;font-size:10px}.sidebar-search{color:#e1f1ff;background:#ffffff0f;border:1px solid #ffffff1a;border-radius:9px;flex:none;align-items:center;gap:8px;min-height:40px;margin:0 4px 18px;padding:0 11px;display:flex}.sidebar-search:focus-within{background:#ffffff17;border-color:#65a3ffad}.sidebar-search span{font-size:18px;line-height:1}.sidebar-search input{color:#fff;background:0 0;border:0;outline:0;width:100%;min-width:0;padding:0;font-size:13px}.sidebar-search input::placeholder{color:#c8e2f8}.nav-list{scrollbar-width:thin;scrollbar-color:#8bc1ef transparent;flex:auto;min-height:0;padding:0 4px 10px;display:block;overflow-y:auto}.nav-group+.nav-group{margin-top:17px}.nav-empty{color:#d7ecff;text-align:center;border:1px dashed #ffffff3d;border-radius:9px;margin:14px 5px;padding:18px 10px;font-size:12px}.nav-group .sidebar-label{color:#c5e2fa;letter-spacing:.09em;padding:0 9px 7px;font-size:10px;font-weight:700}.nav-button{color:#e6f3ff;border-radius:8px;min-height:42px;margin:2px 0;padding:9px 10px;font-size:14px}.nav-button:hover{color:#fff;background:#ffffff0f}.nav-button.active{color:#173d68;background:linear-gradient(90deg,#fff3b7,#ffe27a);box-shadow:0 6px 16px #11497f2e}.nav-button.active:before{background:#ffd34f;border-radius:999px;width:3px;height:24px;left:-4px}.nav-icon{color:#d8ecff;border-radius:6px;width:22px;height:22px;font-size:15px}.nav-button.active .nav-icon{color:#175b9d;background:#ffffff73}.nav-arrow{color:#175b9d;font-size:14px}.sidebar-note{background:#ffffff09;border:1px solid #ffffff14;border-radius:10px;flex:none;margin:14px 4px 0;padding:15px 12px}.sidebar-note p{margin:8px 0 5px;font-family:inherit;font-size:12px;line-height:1.6;transform:none}.sidebar-note small{color:#c8e2f8;font-size:10px}.logout-button{color:#d7ecff;border-radius:8px;flex:none;min-height:38px;margin:10px 5px 0;padding:0 9px}.logout-button:hover{color:#fff;background:#ffffff0f}.main-area{width:calc(100% - 276px);margin-left:276px}.topbar{z-index:30;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#fffffff2;border-bottom-color:#e5e9ef;min-height:88px;padding:16px 34px;position:sticky;top:0}.topbar-context .eyebrow{color:#7b8797;font-size:10px;font-weight:700}.topbar h1{color:#1f2a3b;margin:5px 0 0;font-size:22px;font-weight:700}.topbar-context p{color:#7b8797;margin:4px 0 0;font-size:12px}.account{background:#fff;border:1px solid #e4e9f0;border-radius:10px;padding:7px 8px 7px 12px;box-shadow:0 4px 14px #1e2f460d}.role{color:#2768c8;background:#edf4ff;border-radius:999px}.avatar{background:#3478f6;border-radius:9px;transform:none}.content-area{max-width:1480px;padding:28px 32px 64px}.tool-panel,.quick-panel,.principle-panel,.metric-card,.brand-preview,.empty-state{border-radius:var(--admin-radius)}.tool-panel,.quick-panel,.metric-card,.brand-preview{border:1px solid #e3e8ef;box-shadow:0 4px 15px #1d2d4209}.module-intro{padding:0 2px 24px}.module-intro h2{font-size:29px}.module-intro p{font-size:14px}.toast{border-radius:10px;top:100px}@media (width<=1050px) and (width>=801px){.sidebar{width:238px;padding-left:12px;padding-right:12px}.main-area{width:calc(100% - 238px);margin-left:238px}.topbar,.content-area{padding-left:24px;padding-right:24px}}@media (width<=800px){.admin-shell .sidebar{padding:14px 14px 8px;overflow:visible}.admin-shell .brand-mark{padding:0 4px 13px}.admin-shell .brand-mark>span{border-radius:9px;width:34px;height:34px;font-size:18px}.admin-shell .brand-mark strong{font-size:15px}.admin-shell .sidebar-search{display:none}.admin-shell .nav-group{display:contents}.admin-shell .nav-group .sidebar-label{display:none}.admin-shell .sidebar .nav-list{padding:0 0 7px}.admin-shell .sidebar .nav-button{border-radius:8px;min-height:40px;margin:0;font-size:13px}.admin-shell .topbar{min-height:78px;padding-top:14px;padding-bottom:14px;position:static}.topbar-context p{display:none}.account{box-shadow:none;border:0;padding:5px}.content-area{padding-top:22px}}.attendance-workspace{container:attendance-workspace/inline-size}.attendance-workspace .attendance-tabs{background:0 0;border:0;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin-bottom:20px}.attendance-workspace .attendance-tabs button{background:#fff;border:1px solid #dce5ef;border-radius:9px;min-width:0;min-height:66px;padding:11px 14px;box-shadow:0 3px 12px #1d2d420a}.attendance-workspace .attendance-tabs button.selected{background:#f1f7ff;border-color:#8dbbf0;box-shadow:inset 0 0 0 1px #8dbbf0,0 5px 15px #2b7fd81a}.attendance-workspace .attendance-tabs button:focus-visible{outline-offset:2px;outline:3px solid #2b7fd84d}.attendance-view,.attendance-view .module-intro{min-width:0}.attendance-view .attendance-summary-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,145px),1fr))}.attendance-view .attendance-settlement-bar{border-radius:11px;grid-template-columns:minmax(0,1fr) minmax(190px,auto);grid-template-areas:"copy status""copy action";gap:10px 20px}.attendance-view .attendance-settlement-bar>div:first-child{grid-area:copy;min-width:0}.attendance-view .attendance-settlement-status{grid-area:status;align-content:center;min-width:0}.attendance-view .attendance-settlement-bar>button{grid-area:action;width:100%;min-width:0;min-height:38px;font-size:13px}.attendance-view .attendance-toolbar{grid-template-columns:1fr;align-items:stretch;gap:11px;padding:15px 18px;display:grid}.attendance-view .attendance-toolbar-actions{grid-template-columns:minmax(0,1fr) auto;gap:10px;min-width:0;display:grid}.attendance-view .attendance-toolbar-actions input,.attendance-view .attendance-toolbar-actions button{min-height:38px;font-size:13px}.attendance-view .attendance-toolbar-actions input{width:100%;min-width:0}.attendance-view .attendance-toolbar-actions button{white-space:nowrap;padding:0 12px}.attendance-view .attendance-list{background:#f6f8fb;gap:7px;padding:10px;display:grid}.attendance-view .attendance-row{background:#fff;border:1px solid #dce5ed;border-left:3px solid #8dbbf0;border-radius:8px;grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:8px 10px;min-width:0;min-height:0;margin:0;padding:11px 13px;box-shadow:0 1px 5px #1d2d4206}.attendance-view .attendance-row.safety-alert{background:#fff9f7;border-color:#efb5ad #efb5ad #efb5ad #d86455;margin:0;padding:11px 13px}.attendance-view .attendance-student{grid-column:1/-1;align-self:center;gap:9px}.attendance-view .attendance-student .student-avatar{width:34px;height:34px;font-size:13px}.attendance-view .attendance-student strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;overflow:hidden}.attendance-view .attendance-student strong small{font-size:11px}.attendance-view .attendance-student span{text-overflow:ellipsis;white-space:nowrap;margin-top:2px;font-size:11px;overflow:hidden}.attendance-view .attendance-row>label{gap:4px;min-width:0;font-size:11px}.attendance-view .attendance-row select,.attendance-view .attendance-row input{min-height:34px;padding:0 8px;font-size:12px}.attendance-view .attendance-note{grid-column:auto}.attendance-view .attendance-result{border-top:1px solid #e7edf2;flex-wrap:wrap;grid-column:1/-1;justify-content:space-between;align-items:center;gap:7px;padding-top:8px;display:flex}.attendance-view .attendance-result-state{min-width:0}.attendance-view .attendance-row-actions{gap:6px;width:auto;max-width:none;display:flex}.attendance-view .attendance-row-actions button{white-space:nowrap;width:auto;min-width:110px;min-height:32px;padding:0 10px;font-size:12px}@container attendance-workspace (width<=620px){.attendance-view .attendance-settlement-bar{grid-template-columns:1fr;grid-template-areas:"copy""status""action"}.attendance-view .attendance-settlement-status{border-top:1px solid #cbded6;border-left:0;padding:10px 0 0}.attendance-view .attendance-settlement-bar.incomplete .attendance-settlement-status{border-top-color:#e1d6b2;border-left:0}.attendance-view .attendance-row{grid-template-columns:repeat(2,minmax(0,1fr))}}@container attendance-workspace (width<=500px){.attendance-workspace .attendance-tabs{grid-template-columns:1fr;gap:7px}.attendance-workspace .attendance-tabs button{min-height:58px;padding:10px 13px}.attendance-workspace .attendance-tabs button span{display:none}.attendance-view .attendance-toolbar-actions{grid-template-columns:1fr}.attendance-view .attendance-toolbar-actions button{white-space:normal;width:100%}.attendance-view .attendance-row{padding:11px}.attendance-view .attendance-row-actions{width:100%}.attendance-view .attendance-row-actions button{flex:1;min-width:0}}@container attendance-workspace (width<=350px){.attendance-view .attendance-row{grid-template-columns:1fr}.attendance-view .attendance-row-actions{flex-direction:column}}.attendance-view .attendance-status-filters button{min-height:32px;padding:5px 11px;font-size:12px}.attendance-view .attendance-row{grid-template-columns:minmax(0,1fr);gap:7px;padding:9px 11px}.attendance-view .attendance-row.safety-alert{padding:9px 11px}.attendance-view .attendance-row-main{grid-template-columns:minmax(160px,1fr) minmax(85px,.65fr) auto;align-items:center;gap:8px;min-width:0;display:grid}.attendance-view .attendance-row-main .attendance-student{grid-column:auto;gap:7px;min-width:0}.attendance-view .attendance-row-main .student-avatar{width:30px;height:30px;font-size:12px}.attendance-view .attendance-row-main .attendance-student strong{font-size:13px}.attendance-view .attendance-row-main .attendance-student strong small{font-size:10px}.attendance-view .attendance-row-main .attendance-student span{margin-top:1px;font-size:10px}.attendance-view .attendance-row-main .attendance-result-state{flex-wrap:wrap;align-items:center;gap:3px;min-width:0;min-height:0;display:flex}.attendance-view .attendance-row-main .attendance-result-state :is(.attendance-status,.attendance-unsaved,small,strong,b){border-radius:4px;padding:3px 5px;font-size:10px;line-height:1.25}.attendance-view .attendance-row-main .attendance-result-state small{color:#6f5a98;background:#f2edfb}.attendance-view .attendance-row-main .attendance-result-state strong{color:#946b13;background:#fff6d8}.attendance-view .attendance-row-main .attendance-result-state b{color:#a44e43;background:#fff0ed}.attendance-view .attendance-row-actions{flex-wrap:wrap;justify-content:flex-end;gap:5px;width:auto;max-width:none;display:flex}.attendance-view .attendance-row-actions button{white-space:nowrap;border-radius:5px;flex:none;width:auto;min-width:0;min-height:30px;margin:0;padding:4px 8px;font-size:11px;font-weight:600;line-height:1.2}.attendance-view .attendance-row-actions .attendance-present-button{color:#fff;background:#2f8a62;border:1px solid #2f8a62}.attendance-view .attendance-row-actions .attendance-present-button.saved,.attendance-view .attendance-row-actions .attendance-present-button:disabled{color:#31765a;background:#e5f5ec;border-color:#b9ddca}.attendance-view .attendance-row-actions .attendance-save-button{color:#246da9;background:#f1f8ff;border:1px solid #a9c9e6}.attendance-view .attendance-row-actions .attendance-save-button:disabled{color:#98a2aa;background:#f1f3f4;border-color:#dce3e8}.attendance-view .attendance-row-fields{border-top:1px solid #e7edf2;flex-wrap:wrap;align-items:flex-end;gap:7px;min-width:0;padding-top:7px;display:flex}.attendance-view .attendance-row-fields>label{color:#66737e;flex:0 145px;gap:3px;min-width:110px;font-size:10px;display:grid}.attendance-view .attendance-row-fields select,.attendance-view .attendance-row-fields input{width:100%;min-width:0;min-height:31px;color:var(--ink);background:#fff;border:1px solid #d4e0e8;border-radius:5px;padding:0 7px;font-size:11px}.attendance-view .attendance-row-fields :is(select,input):focus-visible,.attendance-view .attendance-row-extra summary:focus-visible{outline-offset:1px;outline:2px solid #6ea9df}.attendance-view .attendance-row-extra{flex:0 150px;min-width:105px}.attendance-view .attendance-row-extra summary{color:#53728b;cursor:pointer;text-overflow:ellipsis;white-space:nowrap;background:#f8fbfd;border:1px dashed #c6d7e4;border-radius:5px;min-height:31px;padding:6px 8px;font-size:11px;display:block;overflow:hidden}.attendance-view .attendance-row-extra summary:before{content:"+ ";font-weight:700}.attendance-view .attendance-row-extra[open] summary:before{content:"− "}.attendance-view .attendance-row-extra[open]{flex:100%}.attendance-view .attendance-row-extra[open] summary{width:fit-content;margin-bottom:6px}.attendance-view .attendance-row-extra label{color:#66737e;gap:4px;max-width:420px;font-size:11px;display:grid}@container attendance-workspace (width<=480px){.attendance-view .attendance-row-main{grid-template-columns:minmax(0,1fr) auto}.attendance-view .attendance-row-actions{grid-column:1/-1;justify-content:flex-start;width:100%}.attendance-view .attendance-row-actions button{flex:0 auto}.attendance-view .attendance-row-fields>label{flex:130px}}@container attendance-workspace (width<=350px){.attendance-view .attendance-row-main{grid-template-columns:minmax(0,1fr)}.attendance-view .attendance-row-actions{flex-direction:row}.attendance-view .attendance-row-actions button{flex:1 1 0}}.leave-view .leave-list{padding:0 14px 14px}.leave-view .leave-card{border-radius:7px;margin-top:8px;padding:12px 13px}.leave-view .leave-period{flex-wrap:wrap;gap:4px 8px;margin-top:8px;padding:6px 9px}.leave-view .leave-card>p{margin:8px 0}.leave-view .leave-review-note{margin-top:8px}.leave-view .leave-review-note input{border-radius:5px;min-height:32px;font-size:11px}.leave-view .leave-reviewed-note{color:#70808b;margin-top:8px;font-size:11px;display:block}.leave-view .leave-card-actions{flex-flow:wrap;justify-content:flex-start;min-height:0;margin-top:8px}.leave-view .leave-card-actions button{border-radius:5px;width:auto;min-height:32px;padding:4px 10px;font-size:11px}.leave-view .leave-filters button{min-width:0;min-height:32px;padding:5px 10px;font-size:11px}@media (width<=460px){.leave-view .leave-period{flex-direction:row;align-items:center}.leave-view .leave-period span{margin-left:0}.leave-view .leave-card-actions button{flex:0 auto}}.student-editor-actions .student-save-feedback{color:#61717e;flex:220px;min-width:0;font-size:13px;line-height:1.4}.student-editor-actions .student-save-feedback:empty{display:none}.student-editor-actions .student-save-feedback.success{color:#247653;font-weight:600}.student-editor-actions .student-save-feedback.warning{color:#946314;font-weight:600}.student-editor-actions .student-save-feedback.danger{color:#b0443d;font-weight:600}.admin-shell .toast{z-index:50}@media (width<=700px){.student-editor-actions{flex-wrap:wrap}.student-editor-actions .student-save-feedback:not(:empty){flex-basis:100%}}@media (width<=430px){.student-editor-actions .student-save-feedback:not(:empty){grid-column:1/-1}}.people-workspace-tabs,.consolidated-tabs.people-workspace-tabs{background:0 0;border:0;grid-template-columns:repeat(2,minmax(0,1fr));gap:9px;margin-bottom:20px;display:grid}.people-workspace-tabs button{background:#fff;border:1px solid #dce5ee;border-radius:9px;min-width:0;min-height:58px;padding:10px 15px}.people-workspace-tabs button.selected{border-color:#91bdec;box-shadow:inset 0 0 0 1px #91bdec}.people-workspace-tabs button:last-child{border:1px solid #dce5ee}.people-workspace-tabs button:last-child.selected{border-color:#91bdec}.people-workspace-tabs button:focus-visible{outline-offset:2px;outline:2px solid #3889d5}.people-billing-scope-note{color:#526f86;background:#f1f7fc;border-left:3px solid #70addd;border-radius:0 6px 6px 0;margin:-7px 0 18px;padding:10px 13px;font-size:11px;line-height:1.55}.consolidated-tabs.billing-tabs.finance-only{grid-template-columns:repeat(2,minmax(0,1fr))}.billing-ledger-link{background:#f4f9ff;border:1px solid #cbdff1;border-left:3px solid #2b7fd8;border-radius:9px;justify-content:space-between;align-items:center;gap:18px;margin-bottom:16px;padding:14px 17px;display:flex}.billing-ledger-link>div{gap:4px;min-width:0;display:grid}.billing-ledger-link strong{color:#255578;font-size:13px}.billing-ledger-link span{color:#61788d;font-size:11px;line-height:1.5}.billing-ledger-link button{color:#226b9f;background:#fff;border:1px solid #abcde9;border-radius:7px;flex:none;min-height:34px;padding:6px 11px;font-size:11px;font-weight:700}.billing-ledger-link button:hover{background:#ebf6ff;border-color:#6fa9d9}@media (width<=900px){.consolidated-tabs.billing-tabs.finance-only{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.people-workspace-tabs{gap:7px}.people-workspace-tabs button{min-height:54px;padding:9px 10px}.people-workspace-tabs button strong{font-size:13px}.people-workspace-tabs button span{font-size:10px}.billing-ledger-link{flex-direction:column;align-items:stretch}.billing-ledger-link button{align-self:flex-start}}.billing-action-workspace .billing-payment-cycle-fields,.billing-action-workspace .billing-payment-basic-fields{grid-column:1/-1;grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}.billing-action-workspace .billing-payment-cycle-fields label,.billing-action-workspace .billing-payment-basic-fields label{min-width:0}.billing-action-workspace .billing-cycle-help{color:#62798a;grid-column:1/-1;margin:-6px 0 0;font-size:13px;line-height:1.5}.billing-cycle-register{background:#f7fafc;border:1px solid #d6e2ea;border-radius:8px;grid-column:1/-1;gap:8px;padding:14px;display:grid}.billing-cycle-register-head{justify-content:space-between;align-items:baseline;gap:12px;padding:0 2px 5px;display:flex}.billing-cycle-register-head strong{color:#294b63;font-size:14px}.billing-cycle-register-head span,.billing-cycle-register>p{color:#718491;margin:0;font-size:12px}.billing-cycle-register article{background:#fff;border:1px solid #dce5eb;border-left:3px solid #87b8d9;border-radius:7px;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:10px;padding:11px 12px;display:grid}.billing-cycle-register article.editing{background:#f1f8ff;border-color:#2b7fd8;box-shadow:0 0 0 2px #2b7fd814}.billing-cycle-register article.active{background:#f8fcff;border-color:#6da9d4;box-shadow:0 0 0 2px #2b7fd80f}.billing-cycle-register article div{min-width:0}.billing-cycle-register article b,.billing-cycle-register article span,.billing-cycle-register article small{display:block}.billing-cycle-register article b{color:#263e50;font-size:13px}.billing-cycle-register article div span,.billing-cycle-register article div small{color:#6c7d88;margin-top:4px;font-size:11px;line-height:1.45}.billing-cycle-register article>button{color:#226b9f;background:#f4faff;border:1px solid #9dc4e2;border-radius:6px;min-height:34px;padding:6px 11px;font-size:12px;font-weight:700}.billing-cycle-register article>.billing-cycle-open{min-height:0;color:inherit;text-align:left;cursor:pointer;background:0 0;border:0;padding:3px 2px}.billing-cycle-register article>.billing-cycle-open:hover b{color:#1769a5;text-underline-offset:3px;text-decoration:underline}.billing-cycle-register article>small{color:#84919a;font-size:11px}.billing-cycle-badges{flex-wrap:wrap;align-items:center;gap:5px;display:flex}.billing-cycle-payment{color:#875517;white-space:nowrap;background:#fff0ca;border-radius:999px;padding:4px 8px;font-size:11px}.billing-cycle-payment.paid{color:#27704f;background:#e3f4ea}.billing-cycle-payment.partially_paid{color:#8b6119;background:#fff2ce}.billing-cycle-payment.unpaid{color:#aa4e43;background:#fae7e4}.billing-cycle-status{color:#346f55;white-space:nowrap;background:#e8f5ee;border-radius:999px;padding:4px 8px;font-size:11px}.billing-cycle-status.pending_review{color:#906414;background:#fff2ce}.billing-cycle-status.confirmed{color:#4e6170;background:#edf1f4}.billing-cycle-status.corrected{color:#6a54a3;background:#f0ebfb}.billing-cycle-status.cancelled{color:#9b5148;background:#fae9e7}.billing-cycle-reconcile-panel{background:#f5faff;border-top:1px solid #d8e7f1;grid-column:1/-1;grid-template-columns:minmax(0,1fr) minmax(240px,.8fr);gap:12px 18px;padding:14px;display:grid}.billing-cycle-register article .billing-cycle-reconcile-panel span{color:#587080;margin-top:5px;font-size:12px;line-height:1.5}.billing-cycle-reconcile-panel label{color:#36566e;gap:6px;font-size:12px;font-weight:700;display:grid}.billing-cycle-reconcile-panel select{width:100%}.billing-cycle-reconcile-panel p{color:#6c7d88;margin:0;font-size:12px}.billing-cycle-reconcile-actions{flex-wrap:wrap;grid-column:1/-1;gap:8px;display:flex}.billing-cycle-reconcile-actions button{color:#226b9f;background:#fff;border:1px solid #9dc4e2;border-radius:6px;min-height:36px;padding:7px 12px;font-size:12px;font-weight:700}.billing-cycle-reconcile-actions button.primary-button{color:#fff;background:#2b7fd8}.billing-action-workspace .billing-cycle-target{color:#205580;background:#eff7ff;border:1px solid #9dc7e6;border-left:4px solid #2b7fd8;border-radius:7px;grid-column:1/-1;gap:5px;padding:14px 16px;display:grid}.billing-action-workspace .billing-cycle-target span{font-size:12px}.billing-action-workspace .billing-cycle-target strong{font-size:17px}.billing-action-workspace .billing-cycle-target small{color:#587080;font-size:12px;line-height:1.5}.billing-action-workspace .billing-cycle-target.error{color:#ad443b;background:#fff5f3;border-color:#e6b6af #e6b6af #e6b6af #cc5e52}.billing-payment-list article div span:first-of-type{color:#246ca9;white-space:normal;font-weight:700}@media (width<=700px){.billing-action-workspace .billing-payment-cycle-fields,.billing-action-workspace .billing-payment-basic-fields{grid-template-columns:1fr;gap:12px}.billing-cycle-register article{grid-template-columns:minmax(0,1fr) auto}.billing-cycle-register article>button,.billing-cycle-register article>small{grid-column:1/-1;justify-self:start}.billing-cycle-register article>.billing-cycle-open{width:100%}.billing-cycle-reconcile-panel{grid-template-columns:1fr}}.topbar-account-actions{flex-shrink:0;justify-content:flex-end;align-items:center;gap:10px;display:flex}.account-logout-button{color:#40536d;min-height:44px;font:inherit;white-space:nowrap;cursor:pointer;background:#fff;border:1px solid #dce3ed;border-radius:10px;justify-content:center;align-items:center;gap:7px;padding:10px 13px;font-size:13px;display:inline-flex}.account-logout-button:hover{color:#2164b7;background:#edf4ff;border-color:#a9c8ee}.account-logout-button:focus-visible{outline-offset:2px;outline:3px solid #8cbaff}.account-logout-button:disabled{opacity:.6;cursor:wait}@media (width<=800px){.topbar{flex-wrap:wrap;gap:12px}.topbar-account-actions{gap:8px;margin-left:auto}.topbar-account-actions .account{display:none}.account-logout-button{min-width:100px}}.admin-shell{--action-blue:#2679ce;--action-blue-hover:#1768b8;--action-focus:#2679ce40;--action-border:#cbd9e6;--action-radius:9px}.admin-shell :is(button.primary-button,label.primary-button){border:1px solid var(--action-blue);border-radius:var(--action-radius);color:#fff;background:var(--action-blue);text-align:center;justify-content:center;align-items:center;gap:7px;min-height:40px;padding:8px 16px;font-size:13px;font-weight:650;line-height:1.35;transition:background-color .16s,border-color .16s,box-shadow .16s,transform .16s;display:inline-flex;box-shadow:0 3px 8px #1f69b521}.admin-shell :is(button.primary-button,label.primary-button):hover:not(:disabled){border-color:var(--action-blue-hover);background:var(--action-blue-hover);transform:translateY(-1px);box-shadow:0 5px 12px #1f69b52e}.admin-shell button.primary-button:active:not(:disabled){transform:translateY(0);box-shadow:0 2px 6px #1f69b529}.admin-shell .primary-button svg,.admin-shell .secondary-button svg{flex:none}.admin-shell :is(button.secondary-button,.form-actions>button:not(.primary-button)){border:1px solid var(--action-border);border-radius:var(--action-radius);color:#395d7c;background:#fff;justify-content:center;align-items:center;gap:7px;min-height:40px;padding:8px 15px;font-size:13px;font-weight:600;line-height:1.35;transition:color .16s,background-color .16s,border-color .16s,box-shadow .16s;display:inline-flex;box-shadow:0 1px 2px #1d374f09}.admin-shell :is(button.secondary-button,.form-actions>button:not(.primary-button)):hover:not(:disabled){color:#216da9;background:#f3f9ff;border-color:#95b8d8;box-shadow:0 2px 7px #2570b617}.admin-shell :is(.student-add-button,.family-add-button,.student-account-action-buttons>button,.student-card-actions button,.record-actions button,.attendance-row-actions button,.leave-card-actions button,.payment-record-actions button,.billing-account-table td button,.billing-charge-list article button,.billing-charge-actions>button,.billing-payment-actions>button,.payment-void-editor button,.ledger-row-actions button,.pricing-rule-row>button,.campus-admin-table button,.ops-task-list button,.care-media-actions button,.care-media-edit-actions button,.student-attendance-actions button,.card-actions button,.album-title-actions button,.visibility-button,.student-media-header button,.student-media-actions button,.test-button,.integration-rows button,.integration-runtime button,.integration-reload,.integration-empty button,.ops-day-actions button,.ops-finance-panel .panel-heading button,.face-workspace button,.individual-view button:not(.primary-button),.parents-actions button,.parents-toolbar button,.parents-table button){border-radius:7px;font-weight:600;transition:color .16s,background-color .16s,border-color .16s,box-shadow .16s}.admin-shell :is(.student-add-button,.family-add-button){border:1px solid var(--action-blue);background:var(--action-blue);box-shadow:0 3px 8px #1f69b51f}.admin-shell :is(.student-add-button,.family-add-button):hover:not(:disabled){border-color:var(--action-blue-hover);background:var(--action-blue-hover)}.admin-shell .student-account-action-buttons .student-more-trigger{color:#365b79;background:#fff;border-color:#c7d9e7;gap:5px}.admin-shell .student-account-action-buttons .student-more-trigger:hover,.admin-shell .student-account-action-buttons .student-more-trigger[data-state=open]{color:#1f6da8;background:#eef7ff;border-color:#8db9db}.admin-shell :is(.student-account-action-buttons>button,.student-card-actions button,.record-actions button,.payment-record-actions button,.billing-account-table td button,.billing-charge-list article button,.ledger-row-actions button,.campus-admin-table button,.ops-task-list button,.care-media-actions button,.care-media-edit-actions button):hover:not(:disabled){box-shadow:0 2px 7px #1b5a911a}.admin-shell :is(button.delete-action,button.danger-button,button.leave-reject){color:#ae493e;background:#fff6f4;border-color:#e8bfba}.admin-shell :is(button.delete-action,button.danger-button,button.leave-reject):hover:not(:disabled){color:#92372d;background:#ffebe7;border-color:#d99086}.admin-shell button:not(.dialog-backdrop-dismiss):focus-visible{outline-offset:2px;box-shadow:0 0 0 4px var(--action-focus);outline:2px solid #3889d5}.admin-shell button:disabled{cursor:not-allowed;box-shadow:none;transform:none}.admin-shell .student-editor-header>button{color:#61788b;border-radius:10px;place-items:center;width:38px;height:38px;display:grid}.admin-shell .student-editor-actions{background:#fff;gap:10px;box-shadow:0 -8px 22px #1c344909}.admin-shell .student-editor-actions .secondary-button{min-width:104px}.admin-shell .student-editor-actions .primary-button{min-width:185px}.admin-shell .student-editor-actions :is(.primary-button,.secondary-button){min-height:42px;padding:8px 15px;font-size:13px}@media (width<=760px){.admin-shell .student-editor-actions{grid-template-columns:minmax(0,1fr) minmax(0,1.25fr);padding:11px 16px;display:grid}.admin-shell .student-editor-actions .student-save-feedback:not(:empty){grid-column:1/-1}.admin-shell .student-editor-actions :is(.primary-button,.secondary-button){width:100%;min-width:0}}@media (prefers-reduced-motion:reduce){.admin-shell :is(button.primary-button,label.primary-button),.admin-shell :is(button.secondary-button,.form-actions>button:not(.primary-button)){transition:none}.admin-shell :is(button.primary-button,label.primary-button):hover:not(:disabled){transform:none}}@media (width<=767px){#root .login-page{--accent:#2674c6;--accent-foreground:#fff;--accent-hover:#1e65b1;--foreground:#21476c;--muted:#698299;--disabled-opacity:.5;--cursor-interactive:pointer;--cursor-disabled:not-allowed;--ring-offset-width:2px;--ease-smooth:ease;--ease-out:ease-out;width:100%;min-width:0;max-width:100%;min-height:100svh;padding:max(1.5rem,env(safe-area-inset-top,0px)) 1.25rem max(1rem,env(safe-area-inset-bottom,0px));color:#21476c;background:radial-gradient(at 100% 0,#dcecff 0%,#0000 48%),radial-gradient(at 0 90%,#dfedfa 0%,#0000 48%),#f1f7fe;flex-direction:column;align-items:center;font-size:.875rem;line-height:1.7;display:flex;overflow:visible}#root .login-page:before,#root .login-page:after{display:none}#root .login-page :is(div,header,main,footer,p,h1,span,em,a){overflow-wrap:anywhere;min-width:0;max-width:100%}#root .login-mobile-brand{align-items:center;gap:.75rem;width:min(100%,26.875rem);display:flex}#root .login-mobile-mark{color:#155f9e;background:#ffda66;border-radius:.875rem;flex:0 0 3rem;place-items:center;width:3rem;height:3rem;font-size:1.625rem;font-weight:700;display:grid;box-shadow:0 4px 12px #d5aa431a}#root .login-mobile-brand strong{letter-spacing:.04em;font-size:1.0625rem;display:block}#root .login-mobile-brand small{color:#4f6981;margin-top:.125rem;font-size:.875rem;display:block}#root .login-page .login-paper{background:#fff;border:1px solid #dce8f4;border-radius:1.25rem;width:min(100%,26.875rem);padding:1.5rem;font-size:.875rem;box-shadow:0 12px 36px #306a9e0e}#root .login-mobile-paper{margin-top:clamp(1.5rem,7svh,4rem);margin-bottom:1.5rem}#root .login-mobile-paper .eyebrow{color:#536e87;letter-spacing:.1em;font-size:.875rem;display:block}#root .login-mobile-paper h1{color:#153e63;letter-spacing:-.035em;gap:.125rem;margin:1rem 0;font-size:clamp(1.75rem,7.5vw,2.125rem);font-weight:700;line-height:1.4;display:grid}#root .login-mobile-paper h1 em{color:#2674c6;width:fit-content;padding-bottom:.5rem;display:block;position:relative}#root .login-mobile-underline{pointer-events:none;width:100%;height:.875rem;position:absolute;bottom:0;left:0}#root .login-mobile-context{color:#486d8e;margin:0 0 1rem;font-size:.875rem}#root .login-mobile-paper .login-lead{color:#536e87;margin:0 0 1.5rem;font-size:.875rem;line-height:1.85}#root .login-page .login-mobile-primary{color:#fff;white-space:normal;border-radius:.75rem;gap:.625rem;width:100%;min-width:0;height:auto;min-height:3.25rem;padding:.875rem 1rem;font-size:1rem;font-weight:650;line-height:1.5;text-decoration:none;display:flex;box-shadow:0 6px 16px #2774c626}#root .login-mobile-primary svg{flex:0 0 1.25rem}#root .login-mobile-footer{text-align:center;width:min(100%,26.875rem);margin-top:auto;padding-top:1rem}#root .login-mobile-footer p{color:#4f6981;margin:0 0 .625rem;font-size:.875rem;line-height:1.8}#root .login-page .login-mobile-backlink{color:#286ba9;border-radius:.625rem;justify-content:center;align-items:center;gap:.5rem;min-width:2.75rem;min-height:2.75rem;padding:.5rem .75rem;font-size:.875rem;line-height:1.5;display:inline-flex}#root .login-checking{justify-content:center}}@media (width<=359px){#root .login-page{padding-inline:1rem}#root .login-page .login-paper{padding:1.125rem}}@media (height<=560px) and (width<=767px){#root .login-mobile-paper{margin-top:1.25rem}#root .login-mobile-footer{margin-top:0;padding-top:0}}@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-font-weight: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;--tw-border-style:solid}}}@layer theme{:root,:host{--spacing:.25rem;--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--font-weight-medium:500;--radius-xl:.75rem;--radius-3xl:1.5rem;--ease-out:cubic-bezier(0, 0, .2, 1)}}@layer utilities;@media (width<=767px){.button{isolation:isolate;height:calc(var(--spacing) * 10);transform-origin:50%;justify-content:center;align-items:center;gap:calc(var(--spacing) * 2);border-radius:var(--radius-3xl);width:fit-content;padding-inline:calc(var(--spacing) * 4);font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height));--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium);white-space:nowrap;--tw-outline-style:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;outline-style:none;display:inline-flex;position:relative}@media (width>=48rem){.button{height:calc(var(--spacing) * 9)}}.button{transition:transform .25s var(--ease-smooth), background-color .1s var(--ease-out), box-shadow .1s var(--ease-out);transform:translateZ(0) var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}@media (prefers-reduced-motion:reduce){.button{transition-property:none}}.button{cursor:var(--cursor-interactive);--button-bg:transparent;--button-bg-hover:var(--button-bg);--button-bg-pressed:var(--button-bg-hover);--button-fg:currentColor;background-color:var(--button-bg);color:var(--button-fg)}.button:focus-visible:not([data-focused]),.button[data-focus-visible=true]{--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);--tw-ring-color:#2b7fd8;--tw-ring-offset-width:var(--ring-offset-width);--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-offset-color:#fff;--tw-outline-style:none;outline-style:none}.button:disabled,.button[aria-disabled=true]{opacity:var(--disabled-opacity);cursor:var(--cursor-disabled);pointer-events:none}.button[data-pending=true]{pointer-events:none}.button:active,.button[data-pressed=true]{will-change:transform;background-color:var(--button-bg-pressed);transform:scale(.97)}@media (hover:hover){.button:hover,.button[data-hovered=true]{background-color:var(--button-bg-hover)}}.button svg:not([data-slot=spinner] svg,[data-slot=link-icon] svg){pointer-events:none;margin-inline:calc(var(--spacing) * -.5);margin-block:calc(var(--spacing) * .5);width:calc(var(--spacing) * 5);height:calc(var(--spacing) * 5);flex-shrink:0;align-self:center}@media (width>=40rem){.button svg:not([data-slot=spinner] svg,[data-slot=link-icon] svg){margin-block:var(--spacing);width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}}.button--sm{height:calc(var(--spacing) * 9);padding-inline:calc(var(--spacing) * 3)}@media (width>=48rem){.button--sm{height:calc(var(--spacing) * 8)}}.button--sm svg:not([data-slot=spinner] svg,[data-slot=link-icon] svg){width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.button--sm:active,.button--sm[data-pressed=true]{transform:scale(.98)}.button--lg{height:calc(var(--spacing) * 11);font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}@media (width>=48rem){.button--lg{height:calc(var(--spacing) * 10)}}.button--lg:active,.button--lg[data-pressed=true]{transform:scale(.96)}.button--primary{--button-bg:var(--accent);--button-bg-hover:var(--accent-hover);--button-bg-pressed:var(--accent-hover);--button-fg:var(--accent-foreground)}.button--secondary{--button-bg:var(--default);--button-bg-hover:var(--default-hover);--button-bg-pressed:var(--default-hover);--button-fg:var(--accent-soft-foreground)}.button--tertiary{--button-bg:var(--default);--button-bg-hover:var(--default-hover);--button-bg-pressed:var(--default-hover)}.button--ghost,.button--outline{--button-bg:transparent;--button-bg-hover:var(--default);--button-bg-pressed:var(--default);--button-fg:var(--default-foreground)}.button--outline{border-style:var(--tw-border-style);--button-bg-hover:var(--default);border-width:1px;border-color:#c9dcec}@supports (color:color-mix(in lab, red, red)){.button--outline{--button-bg-hover:color-mix(in srgb, var(--default) 60%, transparent)}}.button--danger{--button-bg:var(--danger);--button-bg-hover:var(--danger-hover);--button-bg-pressed:var(--danger-hover);--button-fg:var(--danger-foreground)}.button--danger-soft{--button-bg:var(--danger-soft);--button-bg-hover:var(--danger-soft-hover);--button-bg-pressed:var(--danger-soft-hover);--button-fg:var(--danger-soft-foreground)}.button--icon-only{width:calc(var(--spacing) * 10);padding:0}@media (width>=48rem){.button--icon-only{width:calc(var(--spacing) * 9)}}.button--icon-only.button--sm{width:calc(var(--spacing) * 9)}@media (width>=48rem){.button--icon-only.button--sm{width:calc(var(--spacing) * 8)}}.button--icon-only.button--lg{width:calc(var(--spacing) * 11)}@media (width>=48rem){.button--icon-only.button--lg{width:calc(var(--spacing) * 10)}}.button--full-width{width:100%}.link{border-radius:var(--radius-xl);--tw-font-weight:var(--font-weight-medium);width:fit-content;height:fit-content;font-weight:var(--font-weight-medium);color:#2674c6;text-underline-offset:4px;-webkit-tap-highlight-color:transparent;transition:color .1s var(--ease-smooth), background-color .15s var(--ease-smooth), box-shadow .15s var(--ease-out), opacity .1s var(--ease-out);align-items:center;text-decoration-line:none;text-decoration-color:#dce7f2;text-decoration-thickness:1.5px;display:inline-flex;position:relative}@media (prefers-reduced-motion:reduce){.link{transition-property:none}}.link{cursor:var(--cursor-interactive)}@media (hover:hover){.link:hover,.link[data-hovered=true]{text-decoration-line:underline;text-decoration-color:oklab(60.9083% -.0129424 -.0400645/.5)}:is(.link:hover,.link[data-hovered=true]) .link__icon{opacity:1}}.link:active,.link[data-pressed=true]{text-decoration-line:underline;text-decoration-color:#71859c}:is(.link:active,.link[data-pressed=true]) .link__icon{opacity:1}.link:focus-visible:not([data-focused]),.link[data-focus-visible=true]{--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);--tw-ring-color:#2b7fd8;--tw-ring-offset-width:var(--ring-offset-width);--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-offset-color:#fff;--tw-outline-style:none;outline-style:none}:is(.link:focus-visible:not([data-focused]),.link[data-focus-visible=true]) .link__icon{opacity:1}.link[aria-disabled=true]{opacity:var(--disabled-opacity);cursor:var(--cursor-disabled);pointer-events:none}.link .link__icon{pointer-events:none;color:currentColor;opacity:.6;width:.75em;height:.75em;transition:opacity .15s var(--ease-out);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}@media (prefers-reduced-motion:reduce){.link .link__icon{transition-property:none}}.link .link__icon svg{transform:translateZ(0) var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.link .link__icon[data-default-icon=true]{padding-bottom:calc(var(--spacing) * 1.5);margin-inline-start:var(--spacing)}.link.button{gap:0;text-decoration-line:none}}.mobile-navigation{display:none}@media (width<=767px){.admin-mobile-ui{--accent:#ffd45a;--accent-foreground:#163b62;--accent-hover:#ffe484;--default:#e6f2ff;--default-foreground:#164e7c;--default-hover:#d5eaff;--foreground:#fff;--muted:#cae1f6;--disabled-opacity:.5;--cursor-interactive:pointer;--cursor-disabled:not-allowed;--ring-offset-width:2px;--ease-smooth:ease;--ease-out:ease-out}.admin-shell{font-size:.875rem;line-height:1.6;display:block}#root .admin-shell .sidebar{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;width:100%;height:auto;padding:12px 16px;display:grid;position:relative;inset:auto;overflow:visible}.admin-shell .sidebar>:is(.sidebar-search,.nav-list,.sidebar-note,.logout-button){display:none}#root .admin-shell .brand-mark{gap:10px;margin:0;padding:0}#root .admin-shell .brand-mark>span{width:34px;height:34px;font-size:18px;transform:none}#root .admin-shell .brand-mark strong{letter-spacing:.02em;font-size:14px}#root .admin-shell .brand-mark small{margin-top:1px;font-size:11px;line-height:1.5}.admin-shell .brand-mark small{color:#deedfc}.mobile-navigation{display:block}.mobile-navigation-bar{justify-content:space-between;align-items:center;gap:1rem;display:flex}.admin-mobile-ui .button{appearance:none;white-space:normal;border:1px solid #c9dcec;border-radius:.75rem;min-width:2.75rem;min-height:2.75rem;font-size:.875rem}.mobile-navigation-bar .button{color:#fff;background:#ffffff14;border-color:#a9cfee;flex-shrink:0}.mobile-navigation-panel{z-index:30;color:#193f64;max-height:max(0px,calc(var(--admin-visible-height,100dvh) - 90px));overscroll-behavior:contain;background:#f6faff;border:1px solid #a4ccef;border-radius:1rem;margin:0;padding:1rem;position:absolute;top:calc(100% - 2px);left:12px;right:12px;overflow-y:auto;box-shadow:0 12px 28px #173b5d30}.mobile-navigation-search{gap:.375rem;font-size:.875rem;font-weight:600;display:grid}.mobile-navigation-search input{color:#193f64;background:#fff;border:1px solid #b9d0e6;border-radius:.625rem;width:100%;min-height:2.75rem;padding:.65rem .75rem;font-size:1rem;display:block}.mobile-navigation-panel nav section{margin-top:1rem}.mobile-navigation-panel h2{color:#5a7896;margin:0 0 .5rem;font-size:.875rem}.mobile-navigation-panel nav section>div{grid-template-columns:repeat(2,minmax(0,1fr));gap:.5rem;display:grid}.mobile-navigation-panel .mobile-nav-item{color:#204b74;text-align:left;justify-content:flex-start;align-items:center;gap:.5rem;width:100%;height:auto;min-height:3rem;padding:.625rem;display:flex}.mobile-nav-item>span:first-child{text-align:center;flex:0 0 1.125rem}.mobile-nav-item[aria-current=page]{color:#173b62;background:#ffe794;box-shadow:inset 0 0 0 1px #e8c75b}#root .admin-shell .mobile-navigation-panel h2{font-size:.875rem;line-height:1.5}#root .admin-shell :is(div,section,article,form,header,aside,nav,fieldset,label){min-width:0;max-width:100%}#root .admin-shell .main-area{width:100%;margin-left:0}#root .admin-shell .content-area{width:100%;padding:1.25rem 1rem calc(2rem + env(safe-area-inset-bottom,0px))}#root .admin-shell :is(p,span,small,label,button,input,select,textarea,summary,th,td,a,li,dt,dd,code,pre){overflow-wrap:anywhere;font-size:max(.875rem,1em)}#root .admin-shell :is(strong,b,em,time){font-size:max(.875rem,1em)}#root .admin-shell :is(.empty-state,.inline-warning,.integration-notice,.integration-row-empty,.module-tip,.score-average-empty,.score-chart-empty,.dining-status,.dining-empty,.dining-day-empty){font-size:.875rem}#root .admin-shell :is(.metric-card,.module-count,.people-summary,.staff-metrics,.ops-attendance-metrics,.storage-facts,.learning-metrics,.individual-metrics,.face-metrics,.parents-stats,.site-accounts-summary,.statement-metrics) strong{font-size:clamp(1.25rem,5vw,1.625rem)}#root .admin-shell .score-value b{font-size:1.375rem}#root .admin-shell :is(p,small,label,td,li,dd){line-height:1.6}#root .admin-shell :is(h1,h2,h3){overflow-wrap:anywhere}#root .admin-shell h1{font-size:clamp(1.25rem,5vw,1.5rem)}#root .admin-shell h2{font-size:clamp(1.25rem,5.4vw,1.75rem);line-height:1.4}#root .admin-shell .topbar{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:8px;min-height:auto;padding:12px 16px;display:grid;position:static}#root .admin-shell .topbar-context :is(.eyebrow,p){display:none}#root .admin-shell .topbar h1{margin:0;font-size:19px;line-height:1.4}#root .admin-shell .topbar-account-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;width:auto;margin:0;display:flex}#root .admin-shell .topbar-account-actions .account{display:none}#root .admin-shell .topbar .account-logout-button{flex:initial;white-space:nowrap;min-width:0;padding:8px 10px;font-size:12px;text-decoration:none}#root .admin-shell .topbar .account-logout-button span{font-size:12px}#root .admin-shell :is(button,select,input:not([type=checkbox]):not([type=radio]):not([type=hidden]),summary,a[href]){min-width:2.75rem;max-width:100%;min-height:2.75rem}#root .admin-shell button{white-space:normal;line-height:1.4}#root .admin-shell :is(input,select,textarea){min-width:0;max-width:100%}#root .admin-shell :is(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea){width:100%;font-size:1rem}#root .admin-shell label:has(>:is(input[type=checkbox],input[type=radio])){cursor:pointer;align-items:center;gap:.625rem;min-height:2.75rem;display:flex}#root .admin-shell label :is(input[type=checkbox],input[type=radio]){flex:none;width:1.25rem;height:1.25rem}#root .admin-shell :is(.qr-image-upload,.photo-upload-button,.upload-button){min-height:2.75rem;position:relative;font-size:.875rem!important}#root .admin-shell .qr-image-upload input{width:100%;min-width:0;height:100%;min-height:0;inset:0}#root .admin-shell :is(img,video,canvas,svg){max-width:100%}#root .admin-shell :is(img,video){object-fit:contain}#root .admin-shell :is(pre,[class*=table-wrap],.parents-table-wrap,.staff-table-wrap,.site-table-wrap){overscroll-behavior-x:contain;-webkit-overflow-scrolling:touch;min-width:0;max-width:100%;overflow-x:auto}#root .admin-shell pre{white-space:pre}#root .admin-shell :is(.workspace-grid,.people-layout,.score-layout,.brand-form,.staff-columns,.learning-layout,.learning-grid,.ops-workspace-grid,.ops-attendance-band,.storage-form,.care-upload-layout,.face-capture-grid,.individual-layout,.billing-detail-grid,.billing-contract-grid,.billing-payment-cycle-fields,.billing-payment-basic-fields,.family-contact-fields,.student-pricing-fields,.student-photo-editor,.student-account-toolbar,.student-account-filters,.student-search-panel,.form-row,.billing-filter-grid,.ledger-payment-fields){grid-template-columns:minmax(0,1fr)}#root .admin-shell :is(.form-row,.student-pricing-fields)>*{grid-column:auto}#root .admin-shell :is(.module-intro,.panel-heading,.people-list-heading,.student-account-heading,.student-account-sync-note,.student-editing-notice,.ops-day-header,.billing-ledger-link,.storage-footer,.care-upload-heading,.care-upload-footer,.individual-header,.parents-section-heading,.accounts-intro){flex-wrap:wrap;gap:.875rem}#root .admin-shell :is(.module-intro,.student-account-heading,.student-account-sync-note,.student-editing-notice,.billing-ledger-link,.ops-day-header){flex-direction:column;align-items:stretch}#root .admin-shell :is(.module-intro p,.student-account-heading p){max-width:100%}#root .admin-shell .module-count{border-left:3px solid #f4ce58;border-radius:.5rem;flex-wrap:wrap;align-items:center;gap:.75rem;width:100%;margin:0;padding:.75rem;display:flex}#root .admin-shell .module-count>div{flex:6rem}#root .admin-shell .people-summary{border-radius:.5rem;grid-template-columns:auto minmax(0,1fr) auto minmax(0,1fr);width:100%;margin-top:.875rem;display:grid}#root .admin-shell .entry-form .form-row:nth-of-type(2){grid-template-columns:minmax(0,1fr)}#root .admin-shell .entry-form .form-row:nth-of-type(2)>*{grid-column:auto}#root .admin-shell :is(.tool-panel,.people-panel,.student-search-panel,.score-query-panel,.student-score-view,.entry-form,.score-list,.parents-panel,.site-accounts-panel,.accounts-panel,.student-account-panel){border-radius:.875rem;padding:1rem}#root .admin-shell :is(.metric-grid,.staff-metrics,.student-account-summary,.student-account-metrics,.ops-attendance-metrics,.storage-facts,.learning-metrics,.individual-metrics,.face-metrics){grid-template-columns:repeat(2,minmax(0,1fr))}#root .admin-shell :is(.student-account-summary,.student-account-metrics)>div{padding:.875rem}#root .admin-shell :is(.student-account-summary,.student-account-metrics) strong{overflow-wrap:anywhere;font-size:clamp(1.125rem,5vw,1.5rem)}#root .admin-shell :is(.consolidated-tabs,.people-workspace-tabs,.accounts-tabs,.billing-action-tabs,.face-modes,.storage-tabs,.attendance-status-filters,.leave-filters,.format-options,.segmented,.parents-actions,.billing-payment-actions,.payment-record-actions,.ledger-row-actions,.care-media-controls,.album-quick-upload-actions,.score-subjects,.score-subject-tabs){flex-wrap:wrap;gap:.5rem;width:100%;min-width:0;display:flex}#root .admin-shell :is(.consolidated-tabs,.people-workspace-tabs,.accounts-tabs,.billing-action-tabs,.face-modes,.storage-tabs)>button{flex:8rem;width:auto;min-width:0}#root .admin-shell :is(.form-actions,.student-account-heading-actions,.student-account-create-actions,.student-account-action-buttons,.attendance-row-actions,.leave-card-actions,.pricing-rule-actions){flex-wrap:wrap;gap:.625rem;display:flex}#root .admin-shell :is(.form-actions,.student-account-heading-actions,.student-account-create-actions)>button{flex:8rem;min-width:0}#root .admin-shell .student-editor-actions{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);display:grid}#root .admin-shell .student-editor-actions>button{height:auto;min-height:44px}#root .admin-shell :is(.attendance-row-main,.score-axis-toolbar,.score-subject-toolbar,.score-ranking-fields .form-row,.billing-cycle-register article,.billing-payment-list article,.billing-charge-list article,.care-media-row,.parents-toolbar,.site-accounts-toolbar,.score-average-bars article){grid-template-columns:minmax(0,1fr);gap:.75rem}#root .admin-shell :is(.attendance-row-main,.billing-cycle-register article,.billing-payment-list article)>*{grid-column:auto}#root .admin-shell .attendance-row-fields>label{flex:100%}#root .admin-shell .student-account-table-wrap{overflow:visible}#root .admin-shell .student-account-table{width:100%;min-width:0}#root .admin-shell .student-account-table tbody tr{border:1px solid #d5e5ef;border-radius:.875rem;gap:.75rem;margin-bottom:.875rem;padding:1rem}#root .admin-shell .student-account-table td{overflow-wrap:anywhere}#root .admin-shell .student-account-table td:last-child .student-account-actions{grid-template-columns:minmax(0,1fr);gap:.75rem}#root .admin-shell .student-account-table td:last-child .student-account-actions>select{width:100%}#root .admin-shell .student-account-action-buttons>button{flex:4rem}#root .admin-shell .billing-detail-overlay .billing-student-detail{width:100%;height:var(--admin-visible-height,100dvh);max-height:var(--admin-visible-height,100dvh);border:0;border-radius:0;padding:0}#root .admin-shell .dialog-backdrop-dismiss{display:none}#root .admin-shell .billing-student-overview{position:static}#root .admin-shell .billing-detail-head{gap:.75rem;padding:1rem}#root .admin-shell .billing-detail-head>button{flex:0 0 2.75rem}#root .admin-shell .billing-action-tabs{padding:.75rem;overflow:visible}#root .admin-shell .billing-action-tabs button{flex:7rem}#root .admin-shell .billing-action-tabs :is(strong,span){white-space:normal;overflow:visible}#root .admin-shell .student-account-table td:before{font-size:.875rem}#root .admin-shell .student-account-mobile-details>div{grid-template-columns:minmax(0,1fr)}#root .admin-shell .student-account-mobile-details summary{align-items:center;padding:.5rem 0;display:flex}#root .admin-shell .toast{top:max(1rem,env(safe-area-inset-top,0px));width:auto;max-width:calc(100vw - 2rem);padding:.75rem;left:1rem;right:1rem}#root .admin-shell .china-calendar-popover{width:100%;max-width:100vw;max-height:calc(var(--admin-visible-height,100dvh) - 1rem);padding:.75rem .75rem calc(.75rem + env(safe-area-inset-bottom,0px));overscroll-behavior:contain;border-radius:1rem 1rem 0 0;position:fixed;inset:auto 0 0;overflow-y:auto}#root .admin-shell .china-calendar-header{grid-template-columns:2.75rem minmax(0,1fr) 2.75rem}#root .admin-shell .china-calendar-date{flex-wrap:wrap;gap:2px}#root .admin-shell .china-calendar-day{padding:.125rem}#root .admin-shell .china-calendar-footer-actions{flex-wrap:wrap}#root .admin-shell .china-calendar-footer-actions label{flex-basis:100%}#root .admin-shell .china-calendar-popover{bottom:max(0px,calc(100dvh - var(--admin-visible-height,100dvh)))}#root .admin-shell .china-calendar-mobile-close{justify-content:center;align-items:center;display:inline-flex}:is(.student-editor-overlay,.family-editor-overlay,.student-attendance-overlay,.billing-detail-overlay){padding:0}:is(.student-editor-overlay,.student-attendance-overlay,.billing-detail-overlay,.records-workspace-overlay){height:var(--admin-visible-height,100dvh);top:0;bottom:auto}:is(.student-editor-drawer,.family-editor-drawer,.records-workspace-dialog,.student-attendance-dialog,.billing-detail-dialog){width:100%;max-width:100vw;max-height:var(--admin-visible-height,100dvh);border-radius:0}.student-editor-drawer{height:var(--admin-visible-height,100dvh)}.records-workspace-dialog{height:var(--admin-visible-height,100dvh);animation:none;top:0;left:0;transform:none}:is(.student-editor-body,.records-workspace-body,.billing-detail-body){overscroll-behavior:contain;min-height:0;padding:1rem;scroll-padding-bottom:1rem;overflow-y:auto}:is(.student-editor-header,.records-workspace-header,.billing-detail-header){gap:.75rem;padding:1rem}:is(.student-editor-header,.records-workspace-header) p{font-size:.875rem;display:block}.student-editor-section{padding:.875rem}.student-editor-section-title{flex-wrap:wrap;gap:.5rem}.student-editor-actions{padding:.75rem 1rem calc(.75rem + env(safe-area-inset-bottom,0px))}:is(.student-editor-drawer,.records-workspace-dialog,.student-attendance-dialog,.billing-detail-dialog) :is(p,span,small,label,strong,b,em,time,button,summary,td,th){overflow-wrap:anywhere;font-size:max(.875rem,1em);line-height:1.6}:is(.student-editor-drawer,.records-workspace-dialog,.student-attendance-dialog,.billing-detail-dialog) :is(button,select,input:not([type=checkbox]):not([type=radio]),summary){min-width:2.75rem;max-width:100%;min-height:2.75rem}:is(.student-editor-drawer,.records-workspace-dialog,.student-attendance-dialog,.billing-detail-dialog) :is(input,select,textarea){min-width:0;max-width:100%;font-size:1rem}:is(.student-editor-drawer,.records-workspace-dialog,.student-attendance-dialog,.billing-detail-dialog) :is(.form-row,.student-pricing-fields,.student-photo-editor,.people-layout){grid-template-columns:minmax(0,1fr)}.student-actions-menu{width:min(18rem,100vw - 1.5rem);min-width:0}.student-actions-menu-item strong,.student-actions-menu-item small,.records-workspace-dialog .record-main strong small,.records-workspace-dialog .panel-heading h3 small{font-size:.875rem}.records-workspace-dialog .student-record-main .student-school-line{font-size:.875rem!important}.student-attendance-dialog .student-attendance-day time{font-size:.875rem}#root .admin-shell :is(.binding-refresh,.binding-action){font-size:.875rem!important}.student-attendance-dialog .student-attendance-month-nav{grid-template-columns:2.75rem minmax(0,1fr) 2.75rem}.student-attendance-dialog .student-attendance-day{padding:.25rem}.student-attendance-dialog .student-attendance-day>.student-attendance-state-label{white-space:normal;line-height:1.4;overflow:visible}.student-attendance-dialog .student-attendance-day-head>b{font-size:.875rem}.student-attendance-dialog .student-attendance-day-head{flex-wrap:wrap;gap:2px}.student-attendance-dialog .student-attendance-day.today time:after{margin-left:2px;font-size:.875rem}.student-attendance-dialog .student-attendance-body{min-height:0;max-height:none;display:block;overflow-y:auto}.student-attendance-dialog{height:var(--admin-visible-height,100dvh);grid-template-rows:auto minmax(0,1fr);display:grid}}@media (width<=359px){.mobile-navigation-panel nav section>div,#root .admin-shell :is(.student-account-metrics,.student-account-summary,.people-workspace-tabs,.face-metrics),#root .admin-shell .student-account-table tbody tr{grid-template-columns:minmax(0,1fr)}#root .admin-shell .student-account-table td{grid-column:1/-1}.student-attendance-dialog .student-attendance-calendar-panel{padding-inline:2px}.student-attendance-dialog :is(.student-attendance-calendar,.student-attendance-weekdays){gap:1px}.student-attendance-calendar-panel>:is(.student-attendance-month-nav,.student-attendance-legend,p,.student-attendance-stats){margin-inline:.75rem}#root .admin-shell .billing-student-summary{grid-template-columns:minmax(0,1fr)}#root .admin-shell .china-calendar-popover{padding-inline:2px}#root .admin-shell :is(.china-calendar-grid,.china-calendar-weekdays){gap:1px}#root .admin-shell :is(.china-calendar-header,.china-calendar-footer){margin-inline:.75rem}.student-attendance-dialog .student-attendance-day{padding:.125rem}}@property --tw-font-weight{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}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}#root .attendance-workspace .attendance-tabs{background:#edf2f8;border:1px solid #e1e9f2;border-radius:14px;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px;margin:0 0 20px;padding:6px;display:grid}#root .attendance-workspace .attendance-tabs>button{color:#60758a;min-height:72px;box-shadow:none;background:0 0;border:1px solid #0000;border-radius:10px;align-items:center;gap:10px;padding:12px 16px;display:flex}.attendance-tabs>button>svg{flex-shrink:0}#root .attendance-workspace .attendance-tab-copy{text-align:left;gap:4px;display:grid}#root .attendance-workspace .attendance-tab-copy strong{color:inherit;font-size:14px;line-height:1.4}#root .attendance-workspace .attendance-tab-copy small{color:#7c8c9c;font-size:12px;font-weight:400;line-height:1.5}#root .attendance-workspace .attendance-tabs>button.selected{color:#226caf;background:#fff;border-color:#cbdff2;box-shadow:0 2px 6px #254c7410}#root .attendance-workspace .attendance-tabs>button:hover:not(.selected){color:#365d7e;background:#ffffff80}.attendance-workspace button:focus-visible,.face-provider-settings summary:focus-visible{outline-offset:3px;outline:2px solid #287aca}.attendance-workspace .face-workspace{gap:16px}.attendance-workspace .face-heading{background:#fff;border:1px solid #e0e9f2;border-radius:12px;align-items:center;gap:14px;padding:18px 20px}.face-heading-copy{align-items:center;gap:12px;min-width:0;display:flex}.face-heading-icon{color:#2678c4;background:#edf5fe;border-radius:12px;flex-shrink:0;place-items:center;width:44px;height:44px;display:grid}.attendance-workspace .face-heading h2{font-size:22px;line-height:1.4}.attendance-workspace .face-heading p{color:#788b9f;margin-top:4px;font-size:12px;line-height:1.6}.attendance-workspace .face-heading-actions{flex-shrink:0;gap:8px}.attendance-workspace .face-heading-actions>button{background:#f8fbfe;justify-content:center;align-items:center;gap:6px;min-height:40px;font-size:13px;display:inline-flex}.face-provider-settings{color:#5a7187;font-size:13px;position:relative}.face-provider-settings summary{cursor:pointer;background:#fff;border:1px solid #d5e0ed;border-radius:6px;justify-content:center;align-items:center;gap:8px;min-height:40px;padding:8px 12px;list-style:none;display:flex}.face-provider-settings summary::-webkit-details-marker{display:none}.face-provider-settings summary:after{content:"⌄";font-size:14px}.face-provider-settings[open] summary{color:#226caf;background:#f0f6fc;border-color:#a9c9e7}.face-provider-settings-panel{z-index:10;background:#fff;border:1px solid #dbe6f0;border-radius:10px;width:350px;max-width:calc(100vw - 48px);padding:14px;position:absolute;top:calc(100% + 8px);right:0;box-shadow:0 8px 30px #173b5d1a}.face-provider-settings-panel p{line-height:1.6;margin:0 0 10px!important}.face-provider-settings-panel .face-provider-switch{flex-wrap:wrap}.face-provider-settings-panel .face-provider-switch>span{display:none}.attendance-workspace .face-metrics{background:0 0;border:0;gap:10px}.attendance-workspace .face-metrics>div{background:#fff;border:1px solid #e1e9f2;border-radius:10px;grid-template-columns:auto 1fr;align-items:center;gap:10px;padding:14px 18px;display:grid}.attendance-workspace .face-metrics strong{font-variant-numeric:tabular-nums;font-size:26px;line-height:1.2}.attendance-workspace .face-metrics span{color:#7b8b9c;font-size:12px}.attendance-workspace .face-metrics>div.attention{background:#fffaf0;border-color:#f0e3be}.attendance-workspace .face-metrics .attention strong{color:#b37b20}.attendance-workspace .face-guide{background:#f8fbff;border:1px solid #dfe9f3;border-radius:9px;padding:10px 14px;font-size:12px}.attendance-workspace .face-guide summary{color:#5d7892;font-size:12px;font-weight:500}.attendance-workspace .face-sync-status{color:#7c8c9a;margin:0;font-size:12px;line-height:1.5}.attendance-workspace .face-capture-grid{background:#fff;border:1px solid #dfe8f0;border-radius:14px;grid-template-columns:minmax(0,1.5fr) minmax(280px,1fr);align-items:start}.attendance-workspace .face-camera-panel:not(.face-kiosk){padding:20px}.attendance-workspace .face-camera-panel:not(.face-kiosk) .face-modes{background:#f0f4f8;border-radius:9px;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px;padding:4px;display:grid}.attendance-workspace .face-modes button{color:#647b91;background:0 0;border:1px solid #0000;min-height:40px;font-size:13px}.attendance-workspace .face-modes .selected{color:#226caf;background:#fff;border-color:#d6e5f3;box-shadow:0 1px 4px #2449690c}.attendance-workspace .face-camera-panel:not(.face-kiosk) .face-camera{aspect-ratio:16/10;background:linear-gradient(135deg,#17354e,#102639);border-radius:10px}.attendance-workspace .face-camera-panel:not(.face-kiosk) .face-camera-toolbar{margin-bottom:10px;font-size:12px}.attendance-workspace .face-camera-panel:not(.face-kiosk) .face-camera-toolbar button{background:#f3f7fb;border-color:#0000;font-size:12px}.attendance-workspace .face-camera-actions{margin-top:14px}.attendance-workspace .face-instructions{background:#fbfcfe;border-color:#e5edf4;border-radius:0 14px 14px 0;padding:24px}.attendance-workspace .face-instructions h3{margin-bottom:14px;font-size:16px}.attendance-workspace .face-instructions p{font-size:13px;line-height:1.8}.attendance-workspace .face-device-options{background:#f8fafc;border:1px solid #e5edf4;border-radius:9px;margin-top:18px;padding:14px}.attendance-workspace .face-records{border-color:#e1e9f2;border-radius:12px}.attendance-workspace .face-records h3{color:#27455f;font-size:17px}.attendance-workspace .face-records>p{font-size:12px;line-height:1.8}.attendance-workspace .face-detection-preparation{color:#3f7960;background:#edf7f2;border-radius:8px;margin:0;padding:10px 14px;font-size:12px}@media (width<=1100px){#root .attendance-workspace .attendance-tabs{grid-template-columns:repeat(2,minmax(0,1fr))}.attendance-workspace .face-capture-grid{grid-template-columns:minmax(0,1fr)}.attendance-workspace .face-instructions{border-top:1px solid #e5edf4;border-left:0;border-radius:0 0 14px 14px}#root .attendance-workspace .attendance-tabs>button{gap:7px;padding:10px}#root .attendance-workspace .attendance-tab-copy small{font-size:11px}}@media (width<=767px){#root .attendance-shell .sidebar{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:12px;padding:12px 16px;display:grid}#root .attendance-shell .brand-mark{gap:10px;padding:0}#root .attendance-shell .brand-mark>span{width:34px;height:34px;font-size:18px;transform:none}#root .attendance-shell .brand-mark strong{letter-spacing:.02em;font-size:14px}#root .attendance-shell .brand-mark small{margin-top:1px;font-size:11px;line-height:1.5}#root .attendance-shell .mobile-navigation-bar>div{display:none}#root .attendance-shell .mobile-navigation-panel{z-index:30;max-height:calc(100dvh - 90px);margin:0;position:absolute;top:calc(100% - 2px);left:12px;right:12px;box-shadow:0 12px 28px #173b5d30}#root .attendance-shell .topbar{grid-template-columns:minmax(0,1fr) auto;gap:8px;padding:12px 16px;display:grid;position:static}#root .attendance-shell .topbar .eyebrow,#root .attendance-shell .topbar-context p{display:none}#root .attendance-shell .topbar h1{margin:0;font-size:19px}#root .attendance-shell .topbar-account-actions{gap:6px;width:auto}#root .attendance-shell .topbar-account-actions .account-logout-button{flex:initial;white-space:nowrap;padding:8px 10px;font-size:12px}#root .attendance-shell .topbar-account-actions .account-logout-button span{font-size:12px}#root .attendance-shell .content-area{padding:14px 12px calc(24px + env(safe-area-inset-bottom,0px))}#root .attendance-workspace .attendance-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:6px;margin-bottom:14px;padding:5px}#root .attendance-workspace .attendance-tabs>button{gap:10px;min-height:58px;padding:10px}#root .attendance-workspace .attendance-tab-copy{gap:2px}#root .attendance-workspace .attendance-tab-copy strong{font-size:13px}#root .attendance-workspace .attendance-tab-copy small{font-size:11px;line-height:1.4}#root .attendance-workspace .face-workspace{gap:12px}#root .attendance-workspace .face-heading{flex-flow:wrap;align-items:center;gap:10px;padding:14px;display:flex}#root .attendance-workspace .face-heading-copy{gap:10px}#root .attendance-workspace .face-heading-icon{border-radius:9px;width:36px;height:36px}#root .attendance-workspace .face-heading h2{font-size:19px}#root .attendance-workspace .face-heading p,#root .attendance-workspace .face-heading p strong{font-size:12px;line-height:1.6}#root .attendance-workspace .face-heading-actions{justify-content:flex-end;gap:8px;width:auto;margin-left:auto}#root .attendance-workspace .face-heading-actions>small{margin-right:auto;font-size:11px}#root .attendance-workspace .face-heading-actions>button,#root .attendance-workspace .face-provider-settings summary{min-height:44px;padding:8px 12px;font-size:12px}#root .attendance-workspace .face-provider-settings-panel{max-width:calc(100vw - 52px);right:-110px}#root .attendance-workspace .face-metrics{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;display:grid}#root .attendance-workspace .face-metrics>div{border:1px solid #e1e9f2;grid-template-columns:1fr;gap:4px;padding:12px 10px}#root .attendance-workspace .face-metrics>div.attention{border-color:#f0e3be}#root .attendance-workspace .face-metrics strong{font-size:24px;line-height:1.2}#root .attendance-workspace .face-metrics span{font-size:12px;line-height:1.5}#root .attendance-workspace .face-guide{padding:0 12px}#root .attendance-workspace .face-guide summary{align-content:center;min-height:44px;font-size:12px;line-height:1.5;display:list-item}#root .attendance-workspace .face-guide p{font-size:12px}#root .attendance-workspace .face-sync-status{font-size:11px}#root .attendance-workspace .face-camera-panel:not(.face-kiosk){padding:12px}#root .attendance-workspace .face-camera-panel:not(.face-kiosk) .face-modes{grid-template-columns:repeat(3,minmax(0,1fr));display:grid}#root .attendance-workspace .face-camera-panel:not(.face-kiosk) .face-modes button{min-height:44px;padding:8px 4px;font-size:12px}#root .attendance-workspace .face-camera-panel:not(.face-kiosk) .face-camera-toolbar{gap:4px}#root .attendance-workspace .face-camera-panel:not(.face-kiosk) .face-camera-toolbar span,#root .attendance-workspace .face-camera-panel:not(.face-kiosk) .face-camera-toolbar button{font-size:11px}#root .attendance-workspace .face-camera-panel:not(.face-kiosk) .face-camera-toolbar button{min-height:44px;padding:8px}#root .attendance-workspace .face-instructions{padding:16px}#root .attendance-workspace .face-records{padding:14px}#root .attendance-workspace .face-records>p{font-size:12px}}@media (width<=359px){#root .attendance-shell .topbar{grid-template-columns:1fr}#root .attendance-shell .topbar-account-actions{justify-content:flex-start}#root .attendance-workspace .attendance-tabs>button{gap:6px;padding:8px 6px}#root .attendance-workspace .attendance-tab-copy small{display:none}}#root .dashboard-shell .content-area{align-content:start;gap:20px;display:grid}#root .dashboard-shell .content-area>.staff-workspace{background:#fff;border:1px solid #dfe7ef;border-radius:14px;gap:16px;padding:20px}#root .dashboard-shell .staff-workspace .module-intro{border-bottom:1px solid #e8edf3;gap:16px;margin:0;padding:0 0 16px}#root .dashboard-shell .staff-workspace .module-intro .eyebrow{display:none}#root .dashboard-shell .staff-workspace .module-intro h2{margin:0;font-size:22px;line-height:1.4}#root .dashboard-shell .staff-workspace .module-intro p{margin:6px 0 0;line-height:1.6}#root .dashboard-shell .staff-metrics{gap:12px}#root .dashboard-shell .staff-metrics article{background:#f7faff;border:1px solid #e1eaf3;border-radius:10px;gap:8px;padding:16px}#root .dashboard-shell .staff-metrics article>span{color:#657b90;font-size:13px}#root .dashboard-shell .staff-metrics strong{color:#246eb3;font-variant-numeric:tabular-nums;line-height:1.2}#root .dashboard-shell .ops-day-header{border:1px solid #dfe7ef;border-radius:14px;gap:16px;padding:20px}#root .dashboard-shell .ops-day-header h2{text-wrap:pretty;font-size:22px;line-height:1.5}@media (width<=767px){#root .dashboard-shell .content-area{gap:16px;padding:16px}#root .dashboard-shell .content-area>.staff-workspace{gap:14px;padding:16px}#root .dashboard-shell .staff-workspace .module-intro{gap:12px;padding-bottom:14px}#root .dashboard-shell .staff-workspace .module-intro h2,#root .dashboard-shell .ops-day-header h2{font-size:20px}#root .dashboard-shell .staff-workspace .module-intro>button{align-self:flex-start;width:auto;min-height:44px;padding:10px 14px}#root .dashboard-shell .staff-metrics{gap:10px}#root .dashboard-shell .staff-metrics article{padding:12px 14px}#root .dashboard-shell .staff-metrics strong{font-size:24px}#root .dashboard-shell .ops-day-header{padding:16px}#root .dashboard-shell .ops-day-header .eyebrow{display:none}#root .dashboard-shell .ops-day-actions{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}}
