.schedule-workspace{gap:1rem;min-width:0;display:grid}.schedule-workspace__header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.schedule-workspace__header .muted{margin:.5rem 0 0}.schedule-header__actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.schedule-week-title{text-align:center;color:#273956;min-width:170px;font-size:.95rem}.schedule-toolbar{grid-template-columns:minmax(220px,310px) 1fr auto;align-items:end;gap:1rem;margin:0;display:grid}.schedule-toolbar>label{color:#273956;gap:.35rem;font-weight:700;display:grid}.schedule-toolbar__summary{color:#5c6b82;flex-wrap:wrap;gap:.6rem 1rem;font-size:.9rem;display:flex}.schedule-toolbar__summary strong{color:#172033}.schedule-toolbar__actions{flex-wrap:wrap;justify-content:flex-end;gap:.5rem;display:flex}.schedule-workspace__notice{margin:0}.schedule-workspace__content{grid-template-columns:minmax(0,1fr);align-items:start;gap:1rem;display:grid}.schedule-workspace__content--editor{grid-template-columns:minmax(620px,1fr) minmax(350px,430px)}.schedule-calendar-area{gap:.7rem;min-width:0;display:grid}.schedule-calendar-area__hint{color:#35598e;background:#edf4ff;border-radius:.7rem;flex-wrap:wrap;justify-content:space-between;gap:.5rem 1rem;padding:.65rem .8rem;font-size:.82rem;display:flex}.schedule-grid{background:#fff;border:1px solid #dce4f2;border-radius:.9rem;grid-template-columns:130px repeat(7,minmax(126px,1fr));display:grid;overflow:auto;box-shadow:0 .4rem 1.2rem #1a2d4e0a}.schedule-grid__corner,.schedule-grid__day-heading,.schedule-grid__slot-label,.schedule-grid__cell{border-bottom:1px solid #e6edf7;border-right:1px solid #e6edf7}.schedule-grid__corner{z-index:3;color:#5c6b82;background:#f8fafc;align-items:center;padding:.85rem;font-size:.8rem;font-weight:700;display:flex;position:sticky;left:0}.schedule-grid__day-heading{color:#52657e;background:#f8fafc;align-content:center;gap:.1rem;min-height:3.6rem;padding:.7rem .65rem;display:grid}.schedule-grid__day-heading strong{color:#172033;font-size:.95rem}.schedule-grid__slot-label{z-index:2;background:#fff;align-content:start;gap:.2rem;min-height:7rem;padding:.85rem;display:grid;position:sticky;left:0}.schedule-grid__slot-label strong{color:#273956;font-size:.88rem}.schedule-grid__slot-label span{color:#70809a;font-size:.76rem}.schedule-grid__cell{vertical-align:top;background:#fff;min-height:7rem;padding:.38rem;position:relative}.schedule-grid__cell--today{background:#fcfdff}.schedule-grid__create{color:#0000;cursor:pointer;background:0 0;border:1px dashed #0000;border-radius:.55rem;width:100%;min-height:5.7rem}.schedule-grid__cell:hover .schedule-grid__create,.schedule-grid__create:focus-visible{color:#4770ae;background:#f1f6ff;border-color:#a8bfdf}.schedule-lesson-card{text-align:left;color:#1a3158;cursor:pointer;background:#eaf2ff;border:1px solid #b9cced;border-left:.35rem solid #3973c8;border-radius:.55rem;gap:.18rem;width:100%;padding:.55rem;display:grid;position:relative}.schedule-lesson-card:hover,.schedule-lesson-card--selected{background:#dceaff;border-color:#2459a5}.schedule-lesson-card--issue{border-left-color:#c98916}.schedule-lesson-card__time{color:#5272a4;font-size:.72rem;font-weight:750}.schedule-lesson-card strong{font-size:.83rem;line-height:1.25}.schedule-lesson-card>span:not(.schedule-lesson-card__time):not(.schedule-lesson-card__indicator),.schedule-lesson-card small{color:#405b82;font-size:.72rem;line-height:1.25}.schedule-lesson-card__indicator{color:#714605;background:#f7dca0;border-radius:50%;place-items:center;width:1.1rem;height:1.1rem;font-weight:900;display:grid;position:absolute;top:.4rem;right:.45rem}.schedule-editor{background:#fff;border:1px solid #dce4f2;border-radius:.9rem;max-height:calc(100vh - 2rem);padding:1rem;position:sticky;top:1rem;overflow:auto;box-shadow:0 .7rem 1.8rem #1a2d4e17}.schedule-editor--standalone{max-width:860px;max-height:none;margin:0 auto;position:static}.schedule-editor__header{border-bottom:1px solid #e6edf7;justify-content:space-between;align-items:flex-start;gap:.7rem;padding-bottom:.85rem;display:flex}.schedule-editor__header .eyebrow{margin-bottom:.25rem}.schedule-editor__form{gap:.9rem;margin-top:1rem;display:grid}.schedule-editor__form>label{color:#273956;gap:.35rem;font-size:.9rem;font-weight:700;display:grid}.schedule-editor__two-fields{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;display:grid}.schedule-editor__two-fields label{color:#273956;gap:.35rem;font-size:.88rem;font-weight:700;display:grid}.schedule-editor fieldset{gap:.7rem;display:grid}.schedule-segmented{flex-wrap:wrap;gap:.35rem;display:flex}.schedule-segmented button{color:#3e5678;cursor:pointer;background:#fff;border:1px solid #c6d4e7;border-radius:.5rem;padding:.5rem .65rem;font-weight:650}.schedule-segmented button:hover,.schedule-segmented__active{color:#1f4b91!important;background:#eaf2ff!important;border-color:#275ab0!important}.schedule-selection-list{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.schedule-selection-list__title{color:#5e6f87;text-transform:uppercase;letter-spacing:.06em;width:100%;font-size:.78rem;font-weight:800}.schedule-selection-chip{color:#35598e;background:#edf4ff;border-radius:999px;padding:.35rem .5rem;font-size:.8rem}.schedule-preview-summary{color:#435d82;background:#f6f9fe;border:1px solid #d4e1f3;border-radius:.65rem;gap:.25rem;padding:.75rem;font-size:.85rem;display:grid}.schedule-preview-summary strong{color:#273956}.schedule-issues{background:#fffaf0;border:1px solid #f0d690;border-radius:.65rem;padding:.75rem}.schedule-issues--clear{background:#f1fbf4;border-color:#acdcbf}.schedule-issues h3{color:#273956;margin:0 0 .5rem;font-size:.95rem}.schedule-issues ul{gap:.5rem;margin:0;padding:0;list-style:none;display:grid}.schedule-issues li{border-radius:.5rem;padding:.55rem;font-size:.83rem}.schedule-issues li p{color:#5c6b82;margin:.25rem 0 0;line-height:1.35}.schedule-issue--blocking{color:#9a2635;background:#fff0f1}.schedule-issue--warning{color:#75500f;background:#fff7e8}.schedule-editor__primary-actions{grid-template-columns:1fr 1fr;display:grid}.schedule-editor__primary-actions .button:last-child{grid-column:1/-1}.schedule-editor__secondary-actions{border-top:1px solid #e6edf7;padding-top:.2rem}.schedule-suggestions{gap:.45rem;display:grid}.schedule-suggestions h3{color:#273956;margin:0;font-size:.95rem}.schedule-suggestion{color:#273956;text-align:left;cursor:pointer;background:#fff;border:1px solid #cddbed;border-radius:.6rem;gap:.15rem;padding:.65rem;display:grid}.schedule-suggestion:hover{background:#f3f7fd;border-color:#275ab0}.schedule-suggestion span,.schedule-suggestion small{color:#62748e}.schedule-panel-page{background:#f4f6fb;min-height:100vh;padding:clamp(1rem,3vw,2rem)}.schedule-panel-page__header{justify-content:space-between;align-items:start;gap:.75rem;max-width:860px;margin:0 auto 1rem;display:flex}.schedule-panel-page__header .muted{margin:.35rem 0 0}@media (width<=1180px){.schedule-workspace__content--editor{grid-template-columns:minmax(0,1fr)}.schedule-editor{max-height:none;position:static}}@media (width<=820px){.schedule-workspace__header,.schedule-panel-page__header{flex-direction:column}.schedule-header__actions{justify-content:flex-start}.schedule-toolbar{grid-template-columns:1fr}.schedule-toolbar__actions{justify-content:flex-start}.schedule-grid{border-radius:.65rem;grid-template-columns:108px repeat(7,minmax(118px,1fr))}}@media (width<=540px){.schedule-editor__two-fields,.schedule-editor__primary-actions{grid-template-columns:1fr}.schedule-editor__primary-actions .button:last-child{grid-column:auto}.schedule-week-title{text-align:left;order:3;width:100%}}.schedule-grid__day-heading--outside,.schedule-grid__cell--outside{color:#8290a4;background:#f3f4f6}.schedule-grid__day-heading small{color:#8a97a9;font-size:.68rem}.schedule-grid__cell--outside .schedule-grid__create{display:none}.schedule-priority-note{color:#1e3a5f;background:#eff6ff;border:1px solid #bfdbfe;border-radius:.65rem;gap:.2rem;padding:.7rem .75rem;font-size:.83rem;display:grid}.schedule-priority{border-radius:.5rem;margin:0;padding:.45rem .6rem;font-size:.82rem;font-weight:700}.schedule-priority--high{color:#895109;background:#fff2df}.schedule-priority--elevated{color:#35598e;background:#edf4ff}.schedule-priority--regular{color:#536273;background:#f1f5f9}.schedule-lesson-card__priority{color:#49607e;background:#ffffffb3;border-radius:.35rem;width:fit-content;margin-top:.15rem;padding:.12rem .32rem;display:inline-flex;font-size:.66rem!important}.schedule-version-dialog__week{color:#395a87;background:#eef4fd;border-radius:.6rem;margin:0;padding:.6rem .7rem}.schedule-workspace--advanced{gap:1.15rem}.schedule-planning-layout{grid-template-columns:minmax(260px,320px) minmax(620px,1fr) minmax(480px,640px);align-items:start;gap:1rem;min-width:0;display:grid}.schedule-planning-canvas{gap:.7rem;min-width:0;display:grid}.schedule-inspector-placeholder{align-content:center;gap:.65rem;min-height:19rem;padding:1.25rem;display:grid;position:sticky;top:1rem}.schedule-inspector-placeholder h2,.schedule-panel-page h1{color:#18233b;margin:0}.schedule-planning-toolbar{background:#fff;border:1px solid #e2e5f3;border-radius:1rem;grid-template-columns:1fr auto;gap:1rem;padding:1rem 1.15rem;display:grid;box-shadow:0 .55rem 1.3rem #2563eb0f}.schedule-planning-toolbar__summary{grid-template-columns:repeat(3,minmax(120px,1fr));gap:.65rem;display:grid}.schedule-planning-toolbar__metric{color:#50607c;background:#f8fbff;border-radius:.75rem;padding:.7rem .8rem}.schedule-planning-toolbar__metric strong{color:#1e3a5f;font-size:1.1rem;display:block}.schedule-planning-toolbar__actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.planning-queue{background:#fff;border:1px solid #e2e5f3;border-radius:1rem;gap:.75rem;max-height:calc(100vh - 2rem);padding:.85rem;display:grid;position:sticky;top:1rem;overflow:auto;box-shadow:0 .55rem 1.3rem #2563eb0f}.planning-queue__header{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.planning-queue__header h2{color:#20263c;margin:0;font-size:1rem}.planning-queue__filters{gap:.5rem;display:grid}.planning-queue__filters input,.planning-queue__filters select{min-width:0}.planning-queue__list{gap:.5rem;display:grid}.planning-workload-card{color:#273249;text-align:left;cursor:pointer;background:#fff;border:1px solid #e4e7f2;border-radius:.75rem;gap:.35rem;width:100%;padding:.75rem;transition:all .16s;display:grid}.planning-workload-card:hover,.planning-workload-card--selected{background:#eff6ff;border-color:#2563eb;box-shadow:0 .35rem .85rem #2563eb1f}.planning-workload-card__title{justify-content:space-between;align-items:flex-start;gap:.5rem;display:flex}.planning-workload-card__title strong{line-height:1.28}.planning-workload-card__meta{color:#68748b;font-size:.78rem;line-height:1.35}.planning-workload-card__hours{justify-content:space-between;align-items:baseline;gap:.4rem;display:flex}.planning-workload-card__hours b{color:#1d4ed8}.planning-workload-card__progress{background:#e7e8ef;border-radius:99px;height:.35rem;overflow:hidden}.planning-workload-card__progress span{border-radius:inherit;background:#2563eb;height:100%;display:block}.planning-workload-card__priority{border-radius:99px;width:max-content;max-width:100%;padding:.22rem .45rem;font-size:.7rem;font-weight:750;display:inline-flex}.schedule-inspector{background:#fff;border:1px solid #e2e5f3;border-radius:1rem;gap:.85rem;max-height:calc(100vh - 2rem);padding:1.15rem;display:grid;position:sticky;top:1rem;overflow:auto;box-shadow:0 .7rem 1.8rem #2563eb1a}.schedule-inspector--standalone{max-width:1080px;max-height:none;margin:0 auto;position:static}.schedule-inspector__header{border-bottom:1px solid #edf0f6;justify-content:space-between;align-items:flex-start;gap:1rem;padding-bottom:.9rem;display:flex}.schedule-inspector__header h2{color:#20263c;margin:0;font-size:1.2rem}.schedule-inspector__header .muted{margin:.3rem 0 0}.schedule-inspector__workload-meta{color:#586176;background:#f8fbff;border-radius:.75rem;flex-wrap:wrap;align-items:center;gap:.45rem;padding:.7rem .8rem;font-size:.82rem;display:flex}.schedule-inspector__tabs{border:1px solid #e2e5f3;border-radius:.7rem;grid-template-columns:repeat(4,minmax(0,1fr));display:grid;overflow:hidden}.schedule-inspector__tabs button{color:#637087;cursor:pointer;background:#fff;border:0;border-right:1px solid #e2e5f3;min-height:2.45rem;font-weight:700}.schedule-inspector__tabs button:last-child{border-right:0}.schedule-inspector__tabs button.is-active{color:#1d4ed8;background:#eff6ff}.schedule-inspector__body,.schedule-inspector__form{gap:.9rem;display:grid}.schedule-inspector__form>label,.schedule-inspector__placement-grid label{color:#354059;gap:.35rem;font-size:.88rem;font-weight:750;display:grid}.schedule-inspector__placement-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.7rem;display:grid}.schedule-inspector__room-field{grid-column:1/-1}.schedule-inspector__participants{background:#fbfcff;border:1px solid #edf0f6;border-radius:.75rem;grid-template-columns:minmax(0,1fr) minmax(180px,.85fr);gap:.75rem;padding:.8rem;display:grid}.schedule-inspector__participants p{color:#637087;margin:.35rem 0 0;font-size:.84rem;line-height:1.4}.schedule-inspector__participants fieldset{gap:.35rem;margin:0;display:grid}.schedule-inspector__participants legend{color:#354059;font-weight:750}.schedule-inspector__actions{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.55rem;display:grid}.schedule-inspector__tab-intro{color:#596579;background:#f8fbff;border-radius:.75rem;gap:.25rem;padding:.8rem;font-size:.84rem;line-height:1.4;display:grid}.schedule-inspector__tab-intro strong{color:#332c5c}.schedule-inspector__empty{color:#68748b;text-align:center;border:1px dashed #cfd5e7;border-radius:.75rem;align-content:center;gap:.35rem;min-height:8rem;padding:1rem;display:grid}.schedule-inspector__empty strong{color:#37425a}.schedule-inspector__check-summary{color:#596579;border:1px solid #dfe3f0;border-radius:.7rem;flex-wrap:wrap;gap:.6rem 1.1rem;padding:.75rem;font-size:.84rem;display:flex}.schedule-inspector__message{margin:0}.schedule-candidates{gap:.55rem;display:grid}.schedule-candidate{color:#2e3850;text-align:left;cursor:pointer;background:#fff;border:1px solid #e1e5f1;border-radius:.75rem;grid-template-columns:2rem minmax(0,1fr) auto;align-items:center;gap:.65rem;width:100%;padding:.7rem;display:grid}.schedule-candidate:hover{background:#eff6ff;border-color:#2563eb}.schedule-candidate__rank{color:#5e4fc4;background:#ede9ff;border-radius:50%;place-items:center;width:1.85rem;height:1.85rem;font-weight:800;display:grid}.schedule-candidate small{color:#6b758a;margin-top:.15rem;display:block}.schedule-candidate__status{color:#30734b;white-space:nowrap;background:#edf8f1;border-radius:.4rem;padding:.25rem .4rem;font-size:.72rem}.schedule-candidate__status--warning{color:#85550b;background:#fff5dd}.schedule-resource-summary{gap:.55rem;display:grid}.schedule-resource-summary article{border:1px solid #e8ebf3;border-radius:.7rem;gap:.18rem;padding:.75rem;display:grid}.schedule-resource-summary span,.schedule-resource-summary small{color:#6a7488;font-size:.78rem}.schedule-resource-summary strong{color:#303a51}.schedule-grid__cell--selected{background:#eff6ff;box-shadow:inset 0 0 0 2px #2563eb}.schedule-lesson-card--highlighted{outline-offset:1px;outline:2px solid #2563eb}.schedule-panel-page--advanced{background:linear-gradient(135deg,#f5f5fb,#eef0f9)}.schedule-panel-page__content{gap:1rem;max-width:1180px;margin:0 auto;display:grid}.schedule-panel-page__context{justify-content:space-between;align-items:center;gap:1rem;padding:1rem 1.15rem;display:flex}.schedule-panel-page__context h2{color:#252a43;margin:0;font-size:1.05rem}.schedule-panel-page__context .muted{margin:.25rem 0 0}.schedule-panel-page__context dl{flex-wrap:wrap;gap:.75rem;margin:0;display:flex}.schedule-panel-page__context dt{color:#707a90;font-size:.72rem}.schedule-panel-page__context dd{color:#4438a3;margin:.15rem 0 0;font-weight:800}@media (width<=1760px){.schedule-planning-layout{grid-template-columns:minmax(240px,290px) minmax(560px,1fr) minmax(440px,560px)}}@media (width<=1420px){.schedule-planning-layout{grid-template-columns:minmax(250px,310px) minmax(0,1fr)}.schedule-inspector{grid-column:1/-1;max-height:none;position:static}.schedule-inspector__form{grid-template-columns:repeat(2,minmax(0,1fr));align-items:start}.schedule-inspector__form>label:first-child,.schedule-inspector__form>label:last-of-type,.schedule-inspector__placement-grid,.schedule-inspector__participants,.schedule-inspector__actions,.schedule-inspector__form>.button{grid-column:1/-1}}@media (width<=980px){.schedule-planning-layout{grid-template-columns:1fr}.planning-queue{max-height:none;position:static}.planning-queue__list{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-inspector__form{grid-template-columns:1fr}}@media (width<=700px){.schedule-planning-toolbar{grid-template-columns:1fr}.schedule-planning-toolbar__summary{grid-template-columns:1fr 1fr 1fr}.schedule-planning-toolbar__actions{justify-content:flex-start}.planning-queue__list{grid-template-columns:1fr}.schedule-inspector{border-radius:.85rem;padding:.85rem}.schedule-inspector__tabs{grid-template-columns:1fr 1fr}.schedule-inspector__tabs button:nth-child(2){border-right:0}.schedule-inspector__tabs button:nth-child(-n+2){border-bottom:1px solid #e2e5f3}.schedule-inspector__placement-grid,.schedule-inspector__participants,.schedule-inspector__actions{grid-template-columns:1fr}.schedule-panel-page__context{flex-direction:column;align-items:flex-start}}@media (width<=430px){.schedule-planning-toolbar__summary{grid-template-columns:1fr}.schedule-candidate{grid-template-columns:2rem minmax(0,1fr)}.schedule-candidate__status{grid-column:2;justify-self:start}}.planning-toolbar{background:#fff;border:1px solid #e2e5f3;border-radius:1rem;grid-template-columns:1fr auto;gap:1rem;padding:1rem 1.15rem;display:grid;box-shadow:0 .55rem 1.3rem #2563eb0f}.planning-toolbar__summary{grid-template-columns:repeat(3,minmax(120px,1fr));gap:.65rem;display:grid}.planning-summary-card{color:#50607c;background:#f8fbff;border-radius:.75rem;padding:.7rem .8rem}.planning-summary-card strong{color:#1e3a5f;font-size:1.1rem;display:block}.planning-toolbar__actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;display:flex}.planning-workload-card__type,.planning-workload-card__metrics,.planning-workload-card small{color:#68748b;font-size:.76rem;line-height:1.35}.planning-workload-card__metrics{justify-content:space-between;gap:.4rem;display:flex}.planning-workload-card__metrics b{color:#1d4ed8}.planning-queue__search input{width:100%}.planning-queue__remaining-toggle{color:#596579;align-items:center;gap:.4rem;font-size:.82rem;display:inline-flex}.planning-queue__loading,.planning-queue__empty{color:#68748b;background:#f8f9fc;border-radius:.7rem;padding:.8rem;font-size:.84rem}.schedule-grid__candidate-marker{z-index:1;color:#fff;background:#7765e6;border-radius:50%;place-items:center;width:1.25rem;height:1.25rem;font-size:.68rem;font-weight:800;display:grid;position:absolute;top:.3rem;right:.3rem}@media (width<=700px){.planning-toolbar{grid-template-columns:1fr}.planning-toolbar__summary{grid-template-columns:1fr 1fr 1fr}.planning-toolbar__actions{justify-content:flex-start}}@media (width<=430px){.planning-toolbar__summary{grid-template-columns:1fr}}.schedule-builder-page--standalone{background:linear-gradient(135deg,#f3f5fc,#eef0fa);min-height:100vh;padding:.85rem}.schedule-workspace--standalone{max-width:none;margin:0}.schedule-standalone-header{background:#fff;border:1px solid #dce2f2;border-radius:1rem;justify-content:space-between;align-items:center;gap:1rem;margin:0 0 .85rem;padding:.85rem 1rem;display:flex}.schedule-standalone-header h1{color:#252a43;margin:.12rem 0;font-size:1.25rem}.schedule-standalone-header .muted{margin:0}.schedule-builder-operations{grid-template-columns:minmax(0,1fr);gap:.85rem;margin-bottom:.85rem;display:grid}.schedule-builder-operations__launcher{justify-content:flex-end;display:flex}.schedule-builder-operations__modal-content{background:#f8fbff;border:1px solid #dbeafe;border-radius:.75rem;gap:.55rem;padding:1rem;display:grid}.schedule-builder-operations__modal-content strong{color:#1e3a8a;font-size:.91rem}.schedule-builder-operations__modal-content small{color:#64748b;line-height:1.4}.planning-toolbar__autosave{color:#66718a;max-width:270px;font-size:.76rem;line-height:1.3}.schedule-group-scope{gap:.75rem;margin-bottom:.85rem;padding:.95rem 1rem;display:grid}.schedule-group-scope__header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.schedule-group-scope__header h2{color:#2e3850;margin:.1rem 0 .25rem;font-size:1.05rem}.schedule-group-scope__header .muted{max-width:740px;margin:0}.schedule-group-scope__actions{flex-wrap:wrap;gap:.45rem;display:flex}.schedule-group-scope__programs{gap:.65rem;display:grid}.schedule-group-scope__program{border:1px solid #e4e7f2;border-radius:.75rem;overflow:hidden}.schedule-group-scope__program>header{color:#566078;background:#f8fbff;align-items:baseline;gap:.5rem;padding:.52rem .7rem;font-size:.8rem;display:flex}.schedule-group-scope__program>header strong{color:#3c328a;font-size:.91rem}.schedule-group-scope__group-list{flex-wrap:wrap;gap:.45rem;padding:.55rem;display:flex}.schedule-group-option{color:#2f3950;cursor:pointer;background:#fff;border:1px solid #e4e7f2;border-radius:.65rem;flex:280px;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:.45rem;min-width:260px;padding:.55rem .62rem;display:grid}.schedule-group-option:hover{border-color:#9f91e8}.schedule-group-option--selected{background:#f8fbff;border-color:#7461db}.schedule-group-option--inactive{opacity:.62;cursor:not-allowed;background:#fafbfe}.schedule-group-option__content{gap:.12rem;display:grid}.schedule-group-option__content strong{font-size:.86rem}.schedule-group-option__content small{color:#69758b;font-size:.72rem;line-height:1.25}.schedule-group-option__status{color:#707b90;white-space:nowrap;background:#f1f3f8;border-radius:.35rem;align-self:start;padding:.16rem .3rem;font-size:.67rem}.schedule-group-option__status--active{color:#2c7850;background:#edf8f1}.schedule-group-scope__empty{color:#657188;border:1px dashed #cbd2e5;border-radius:.65rem;padding:.8rem}.schedule-constructor-view-switch{justify-content:space-between;align-items:center;gap:.85rem;margin-bottom:.85rem;padding:.72rem .9rem;display:flex}.schedule-constructor-view-switch strong{color:#303a51;display:block}.schedule-constructor-view-switch small{color:#6d788d;margin-top:.2rem;font-size:.78rem;display:block}.schedule-constructor-view-switch__buttons{flex-wrap:wrap;gap:.42rem;display:flex}.schedule-constructor-view-switch__buttons .is-active{color:#4e40ab;background:#eff6ff;border-color:#7663dd}.schedule-composition-matrix{gap:.75rem;padding:.9rem;display:grid;overflow:hidden}.schedule-composition-matrix__header{justify-content:space-between;align-items:flex-start;gap:.8rem;display:flex}.schedule-composition-matrix__header h2{color:#2f3951;margin:.1rem 0 .25rem;font-size:1.05rem}.schedule-composition-matrix__header .muted{margin:0}.schedule-composition-matrix__count{color:#5245af;background:#eff6ff;border-radius:99px;padding:.3rem .5rem;font-size:.75rem;font-weight:750}.schedule-composition-matrix__scroll{border:1px solid #dfe4f1;border-radius:.7rem;max-height:calc(100vh - 360px);overflow:auto}.schedule-composition-matrix table{border-collapse:collapse;width:100%;min-width:1040px;font-size:.72rem}.schedule-composition-matrix th,.schedule-composition-matrix td{vertical-align:top;border-bottom:1px solid #dde2ee;border-right:1px solid #dde2ee}.schedule-composition-matrix th:last-child,.schedule-composition-matrix td:last-child{border-right:0}.schedule-composition-matrix thead th{z-index:2;color:#3d4760;text-align:center;background:#f8f9ff;position:sticky;top:0}.schedule-composition-matrix__day-head{min-width:118px;z-index:4!important}.schedule-composition-matrix__program-head{padding:.42rem .3rem;color:#403484!important;background:#eff6ff!important}.schedule-composition-matrix__program-head strong,.schedule-composition-matrix__program-head small{display:block}.schedule-composition-matrix__program-head small{color:#7064b4;margin-top:.1rem;font-size:.64rem;font-weight:600}.schedule-composition-matrix__group-head{min-width:160px;padding:.38rem;background:#f8f8ff!important}.schedule-composition-matrix__group-head strong,.schedule-composition-matrix__group-head small{display:block}.schedule-composition-matrix__group-head small{color:#727d92;margin-top:.1rem;font-size:.63rem;font-weight:500}.schedule-composition-matrix__time-head{min-width:62px}.schedule-composition-matrix__day-cell{text-align:left;background:#fbfcff;min-width:118px;padding:.5rem}.schedule-composition-matrix__day-cell strong,.schedule-composition-matrix__day-cell small,.schedule-composition-matrix__day-cell em{display:block}.schedule-composition-matrix__day-cell strong{text-transform:capitalize;color:#303a51}.schedule-composition-matrix__day-cell small{color:#778299;margin-top:.12rem}.schedule-composition-matrix__day-cell em{color:#9a6d18;margin-top:.25rem;font-size:.66rem;font-style:normal}.schedule-composition-matrix__time-cell{color:#59667e;white-space:nowrap;width:64px;padding:.35rem;line-height:1.7}.schedule-composition-matrix__time-cell>span{display:block}.schedule-composition-matrix__lesson-cell{min-width:126px;padding:.24rem}.schedule-composition-matrix__lesson{color:#354057;text-align:left;cursor:pointer;background:#f8fbff;border:1px solid #0000;border-radius:.35rem;gap:.08rem;width:100%;margin-bottom:.2rem;padding:.32rem .36rem;display:grid}.schedule-composition-matrix__lesson:last-child{margin-bottom:0}.schedule-composition-matrix__lesson:hover{border-color:#60a5fa}.schedule-composition-matrix__lesson strong{font-size:.69rem;line-height:1.25}.schedule-composition-matrix__lesson small{color:#68758a;font-size:.62rem;line-height:1.2}.schedule-composition-matrix__lesson--selected{background:#eff6ff;outline:2px solid #2563eb}.schedule-composition-matrix__lesson--highlighted{box-shadow:inset 0 0 0 1px #93c5fd}.schedule-composition-matrix__add{color:#1d4ed8;cursor:pointer;background:0 0;border:1px dashed #c9cfe1;border-radius:.35rem;width:100%;min-height:2.3rem;font-size:.7rem}.schedule-composition-matrix__add:hover{background:#f8fbff;border-color:#2563eb}.schedule-composition-matrix__empty-cell{color:#a1a9ba;text-align:center;padding:.45rem;display:block}.schedule-composition-matrix__row--outside td,.schedule-composition-matrix__row--outside th{background:#f6f6f7}.schedule-composition-matrix__empty{color:#657188;text-align:center;border:1px dashed #cbd2e5;border-radius:.65rem;padding:1rem}.schedule-daily-checklist{gap:.45rem;padding:.9rem;display:grid}.schedule-daily-checklist>header{justify-content:space-between;align-items:flex-start;gap:.75rem;display:flex}.schedule-daily-checklist h2{color:#2d374e;margin:.1rem 0 .22rem;font-size:1.02rem}.schedule-daily-checklist .muted{margin:0}.schedule-daily-checklist__progress{color:#1d4ed8;background:#eff6ff;border-radius:.5rem;padding:.28rem .48rem;font-size:.78rem;font-weight:800}.schedule-checklist-item{cursor:pointer;border:1px solid #e5e8f2;border-radius:.6rem;grid-template-columns:auto minmax(0,1fr) auto;align-items:start;gap:.5rem;padding:.48rem .52rem;display:grid}.schedule-checklist-item>span{gap:.12rem;display:grid}.schedule-checklist-item strong{color:#364057;font-size:.82rem}.schedule-checklist-item small{color:#6e7990;font-size:.72rem;line-height:1.25}.schedule-checklist-item--done{background:#f6fbf8}.schedule-checklist-item--done strong{color:#6b7881;text-decoration:line-through}.schedule-checklist-item__carry{color:#916819!important}.schedule-checklist-item em{white-space:nowrap;border-radius:.35rem;padding:.15rem .3rem;font-size:.64rem;font-style:normal}.schedule-checklist-item__priority--high{color:#9a4638;background:#fff0ed}.schedule-checklist-item__priority--normal{color:#5067a7;background:#eef3ff}.schedule-checklist-item__priority--low{color:#6e7888;background:#f1f3f6}.schedule-daily-checklist__empty{color:#6d788d;padding:.65rem;font-size:.82rem}.schedule-settings-dialog__settings{border:1px solid #e4e7f1;border-radius:.75rem;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem;padding:.8rem;display:grid}.schedule-settings-dialog__settings>label{color:#455068;gap:.32rem;font-size:.82rem;font-weight:700;display:grid}.schedule-settings-dialog__settings>.checkbox-row,.schedule-settings-dialog__settings>button{grid-column:1/-1}.schedule-settings-dialog__templates{gap:.65rem;display:grid}.schedule-settings-template-list{gap:.4rem;display:grid}.schedule-settings-template-list article{border:1px solid #e4e7f1;border-radius:.65rem;justify-content:space-between;align-items:center;gap:.75rem;padding:.55rem .65rem;display:flex}.schedule-settings-template-list strong,.schedule-settings-template-list small{display:block}.schedule-settings-template-list small{color:#717c91;margin-top:.16rem;font-size:.72rem}.schedule-settings-template-list__actions{align-items:center;gap:.45rem;display:flex}.schedule-settings-dialog__new-template{border:1px dashed #c9d0e1;border-radius:.7rem;grid-template-columns:1.3fr 1fr .8fr .65fr;gap:.55rem;padding:.75rem;display:grid}.schedule-settings-dialog__new-template label{color:#455068;gap:.3rem;font-size:.78rem;font-weight:700;display:grid}.schedule-settings-dialog__new-template button{grid-column:1/-1;justify-self:start}@media (width<=1120px){.schedule-builder-operations{grid-template-columns:1fr}.schedule-builder-operations__launcher{justify-content:stretch}.schedule-builder-operations__launcher .button{width:100%}.schedule-settings-dialog__new-template{grid-template-columns:1fr 1fr}}@media (width<=720px){.schedule-builder-page--standalone{padding:.45rem}.schedule-standalone-header,.schedule-group-scope__header,.schedule-constructor-view-switch,.schedule-daily-checklist>header{flex-direction:column;align-items:flex-start}.schedule-group-scope__actions{width:100%}.schedule-group-scope__actions .button{flex:1}.schedule-group-option{min-width:100%}.schedule-settings-dialog__settings,.schedule-settings-dialog__new-template{grid-template-columns:1fr}.schedule-settings-template-list article{flex-direction:column;align-items:flex-start}}.schedule-grid__cell--candidate{background:linear-gradient(#f8fbffeb,#fffffff0);box-shadow:inset 0 0 0 1px #2563eb52}.schedule-grid__ghost-slot{color:#1d4ed8;text-align:left;cursor:pointer;opacity:.84;background:#eff6ffa8;border:1px dashed #2563eb8a;border-radius:.55rem;align-content:start;gap:.18rem;width:100%;min-height:5.55rem;padding:.48rem .52rem;transition:opacity .16s,border-color .16s,background .16s,transform .16s;display:grid}.schedule-grid__ghost-slot:hover,.schedule-grid__ghost-slot:focus-visible{opacity:1;background:#dbeafeeb;border-color:#2563eb;outline:none;transform:translateY(-1px)}.schedule-grid__ghost-slot strong{color:#1e3a5f;text-overflow:ellipsis;white-space:nowrap;font-size:.73rem;line-height:1.2;overflow:hidden}.schedule-grid__ghost-slot small{color:#526b8e;text-overflow:ellipsis;white-space:nowrap;font-size:.65rem;line-height:1.25;overflow:hidden}.schedule-grid__ghost-slot em{color:#586e91;background:#e8f0fab8;border-radius:.25rem;width:fit-content;margin-top:.06rem;padding:.08rem .22rem;font-size:.59rem;font-style:normal;line-height:1.2}.schedule-grid__ghost-eyebrow{color:#1d4ed8;letter-spacing:.04em;text-transform:uppercase;font-size:.58rem;font-weight:800}.schedule-grid__ghost-slot--loading{color:#7b8290;cursor:wait;background:repeating-linear-gradient(-45deg,#f8f8fceb,#f8f8fceb 8px,#f1f1f8eb 8px 16px);border-color:#cbd5e1}.schedule-grid__ghost-slot--loading strong,.schedule-grid__ghost-slot--loading small,.schedule-grid__ghost-slot--loading .schedule-grid__ghost-eyebrow{color:#778094}.schedule-composition-matrix__ghost{color:#1d4ed8;text-align:left;cursor:pointer;opacity:.8;background:#eff6ff9e;border:1px dashed #2563eb75;border-radius:.35rem;gap:.12rem;width:100%;min-height:2.75rem;padding:.33rem .36rem;display:grid}.schedule-composition-matrix__ghost:hover,.schedule-composition-matrix__ghost:focus-visible{opacity:1;background:#dbeafef2;border-color:#2563eb;outline:none}.schedule-composition-matrix__ghost span{color:#1d4ed8;font-size:.6rem;font-weight:800}.schedule-composition-matrix__ghost strong{color:#1e3a5f;text-overflow:ellipsis;white-space:nowrap;font-size:.67rem;line-height:1.2;overflow:hidden}.schedule-composition-matrix__ghost small{color:#6d7691;text-overflow:ellipsis;white-space:nowrap;font-size:.6rem;line-height:1.2;overflow:hidden}.schedule-composition-matrix__ghost-time{font-size:.62rem;font-style:italic;color:#1d4ed8!important}@media (width<=820px){.schedule-grid__ghost-slot{min-height:4.9rem}}.schedule-settings-dialog__ml{border:1px solid var(--border-color,#d8dee9);background:color-mix(in srgb, var(--surface-color,#fff) 92%, #edf4ff);border-radius:.8rem;gap:.75rem;padding:1rem;display:grid}.schedule-settings-dialog__ml>header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.schedule-settings-dialog__ml h3{margin:0}.schedule-settings-dialog__ml-status{background:#316ec41f;border-radius:999px;flex:none;padding:.3rem .55rem;font-size:.78rem}.schedule-settings-dialog__ml-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:.65rem;display:grid}.schedule-settings-dialog__ml-grid label{min-width:0}.schedule-settings-dialog__ml-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.schedule-settings-dialog__ml-actions small{color:var(--muted-color,#657084)}@media (width<=780px){.schedule-settings-dialog__ml-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.schedule-optimization-dialog__controls{background:#f7faff;border:1px solid #dce4f2;border-radius:.7rem;flex-wrap:wrap;align-items:end;gap:.7rem;padding:.75rem;display:flex}.schedule-optimization-dialog__controls label:not(.checkbox-row){color:#455068;gap:.3rem;font-size:.82rem;font-weight:700;display:grid}.schedule-optimization-dialog__summary{grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;display:grid}.schedule-optimization-dialog__summary article{background:#fff;border:1px solid #dce4f2;border-radius:.65rem;gap:.15rem;padding:.7rem;display:grid}.schedule-optimization-dialog__summary span,.schedule-optimization-dialog__summary small{color:#697992;font-size:.78rem}.schedule-optimization-dialog__summary strong{color:#273956;font-size:1.1rem}.schedule-optimization-dialog__message{color:#395a87;background:#edf4ff;border-radius:.6rem;margin:0;padding:.65rem .75rem;font-size:.85rem}.schedule-optimization-dialog__placements{gap:.45rem;display:grid}.schedule-optimization-dialog__placements>header{border-bottom:1px solid #e5edf7;justify-content:space-between;align-items:flex-start;gap:.8rem;padding-bottom:.45rem;display:flex}.schedule-optimization-dialog__placements>header small{color:#65758d;font-size:.78rem}.schedule-optimization-placement{cursor:pointer;background:#fff;border:1px solid #d8e3f1;border-radius:.6rem;grid-template-columns:auto auto minmax(0,1fr) auto;align-items:start;gap:.55rem;padding:.65rem;display:grid}.schedule-optimization-placement:hover{background:#f8fbff;border-color:#7fa5d6}.schedule-optimization-placement>span:not(.schedule-optimization-placement__rank):not(.schedule-optimization-placement__tag){gap:.1rem;min-width:0;display:grid}.schedule-optimization-placement small{color:#65758d;font-size:.76rem;line-height:1.3}.schedule-optimization-placement__rank{color:#35598e;background:#eaf2ff;border-radius:50%;place-items:center;width:1.45rem;height:1.45rem;font-size:.78rem;font-weight:800;display:grid}.schedule-optimization-placement__tag{color:#4a6388;white-space:nowrap;background:#eef4fb;border-radius:999px;padding:.25rem .42rem;font-size:.72rem;font-weight:750}.schedule-optimization-dialog__unplaced{color:#75500f;background:#fffaf0;border:1px solid #f0d690;border-radius:.65rem;padding:.7rem}.schedule-optimization-dialog__unplaced ul{gap:.25rem;margin:.45rem 0 0;padding-left:1.1rem;font-size:.8rem;display:grid}.schedule-optimization-dialog__empty{color:#5f7089;border:1px dashed #cbd7e8;border-radius:.7rem;gap:.35rem;padding:1rem;display:grid}@media (width<=720px){.schedule-optimization-dialog__summary{grid-template-columns:1fr}.schedule-optimization-placement{grid-template-columns:auto auto minmax(0,1fr)}.schedule-optimization-placement__tag{display:none}}.schedule-slot-picker__controls{align-items:end;gap:12px;margin-bottom:10px;display:flex}.schedule-slot-picker__controls>label:first-child{flex:1}.schedule-slot-picker__controls input[type=search]{width:100%}.schedule-slot-picker__list{border:1px solid var(--border-color,#d9e0ee);border-radius:8px;max-height:min(58vh,560px);overflow:auto}.schedule-slot-picker__item{text-align:left;border:0;border-bottom:1px solid var(--border-color,#d9e0ee);background:var(--surface-color,#fff);cursor:pointer;grid-template-columns:minmax(220px,1.3fr) minmax(180px,1fr) minmax(180px,.9fr);gap:12px;width:100%;padding:10px 12px;display:grid}.schedule-slot-picker__item:hover,.schedule-slot-picker__item.is-selected{background:#f1f5ff}.schedule-slot-picker__item:last-child{border-bottom:0}.schedule-slot-picker__discipline,.schedule-slot-picker__groups,.schedule-slot-picker__meta{flex-direction:column;gap:3px;font-size:13px;display:flex}.schedule-slot-picker__discipline small,.schedule-slot-picker__meta{color:var(--text-muted,#64748b)}.schedule-slot-picker__empty{color:var(--text-muted,#64748b);margin:0;padding:18px}@media (width<=900px){.schedule-slot-picker__controls,.schedule-slot-picker__item{grid-template-columns:1fr;display:grid}}.schedule-lesson-card-wrap{position:relative}.schedule-lesson-card-wrap--selected-for-export .schedule-lesson-card{outline-offset:1px;outline:2px solid #2563eb}.schedule-lesson-card__export{z-index:2;background:#fff;border-radius:3px;justify-content:center;align-items:center;width:18px;height:18px;display:flex;position:absolute;top:4px;right:4px;box-shadow:0 1px 3px #141e3c33}.schedule-lesson-card__export input{margin:0}@media (width<=760px){.schedule-planning-layout--modal{grid-template-columns:1fr}}:root{color:#172033;font-synthesis:none;background:#f4f6fb;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}html,body,#app{min-width:320px;min-height:100%;margin:0}body{min-height:100vh}button,input,select,textarea{font:inherit}button:focus-visible,a:focus-visible,input:focus-visible{outline-offset:2px;outline:3px solid #9ec5fe}a{color:inherit}.auth-page{background:radial-gradient(circle at 100% 0,#dfe9ff,#0000 42%),#f4f6fb;place-items:center;min-height:100vh;padding:1.5rem;display:grid}.auth-card{background:#fff;border:1px solid #dce4f2;border-radius:1.2rem;width:min(100%,520px);padding:2.25rem;box-shadow:0 1.25rem 3.5rem #1a2d4e1f}.app-shell{min-height:100vh}.topbar{color:#fff;background:#172b4d;align-items:center;gap:1rem;min-height:4.5rem;padding:.75rem clamp(1rem,4vw,3rem);display:flex}.brand{letter-spacing:.03em;font-size:1.15rem;font-weight:800;text-decoration:none}.topnav{flex-wrap:wrap;gap:.25rem;margin-right:auto;display:flex}.topnav a{color:#d9e4fa;border-radius:.5rem;padding:.55rem .72rem;text-decoration:none}.topnav a.router-link-active,.topnav a:hover{color:#fff;background:#ffffff21}.user-menu{align-items:center;gap:.75rem;display:flex}.user-name{color:#d9e4fa;font-size:.9rem}.page-header{margin-bottom:1.5rem}.eyebrow{color:#4267a8;text-transform:uppercase;letter-spacing:.09em;margin:0 0 .45rem;font-size:.78rem;font-weight:800}h1,h2{color:#172033;margin:0}h1{font-size:clamp(1.7rem,4vw,2.35rem)}.muted{color:#5c6b82;line-height:1.55}.card-grid{grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:1rem;margin-bottom:1rem;display:grid}.info-card,.panel,.notice-card,.empty-state{background:#fff;border:1px solid #dce4f2;border-radius:.9rem;padding:1.25rem;box-shadow:0 .4rem 1.2rem #1a2d4e0a}.info-card h2,.panel h2,.notice-card h2{margin-bottom:.75rem}.notice-card{background:#eef4ff;border-color:#cfdef8;margin-top:1rem}.two-column{grid-template-columns:minmax(0,1.15fr) minmax(0,.85fr);gap:1rem;display:grid}.panel+.panel{margin-top:1rem}.panel-heading{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:.8rem;display:flex}.form-grid{gap:.9rem;display:grid}.form-grid label,.inline-form label{color:#273956;gap:.35rem;font-size:.92rem;font-weight:650;display:grid}.form-span{grid-column:1/-1}input,select,textarea{color:#172033;background:#fff;border:1px solid #bac8dc;border-radius:.55rem;width:100%;padding:.68rem .76rem}textarea{resize:vertical}input:disabled{color:#6c7a90;background:#f0f3f8}.field-help{color:#6a7890;font-size:.78rem;font-weight:400}.button{color:#fff;cursor:pointer;background:#275ab0;border:1px solid #275ab0;border-radius:.58rem;justify-content:center;align-items:center;min-height:2.55rem;padding:.58rem .9rem;font-weight:700;text-decoration:none;display:inline-flex}.button:hover:not(:disabled){background:#1e4c9b}.button--secondary{color:#275ab0;background:#fff}.button--secondary:hover:not(:disabled){background:#edf4ff}.button--ghost{color:#275ab0;background:0 0;border-color:#0000}.topbar .button--ghost{color:#fff}.button--ghost:hover:not(:disabled){background:#edf4ff}.actions{flex-wrap:wrap;gap:.65rem;display:flex}.inline-form{flex-wrap:wrap;align-items:end;gap:.75rem;margin-bottom:1rem;display:flex}.inline-form label{flex:1;min-width:min(100%,250px)}.checkbox-list{grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:.45rem;display:grid}.checkbox-list label,.checkbox-row{color:#273956;align-items:center;gap:.5rem;font-weight:550;display:flex}.checkbox-list input,.checkbox-row input{width:auto}fieldset{border:1px solid #c9d5e7;border-radius:.6rem;margin:0;padding:.75rem}legend{color:#273956;padding:0 .35rem;font-weight:700}.form-error{color:#aa2437;margin:0;line-height:1.4}.form-success{color:#197043;margin:0;line-height:1.4}.text-link{color:#2459ad;font-weight:700;text-decoration:none}.text-link:hover{text-decoration:underline}.key-value{grid-template-columns:minmax(120px,.8fr) 1.2fr;gap:.55rem .8rem;margin:0 0 1rem;display:grid}.key-value dt{color:#65748a}.key-value dd{color:#253650;margin:0;font-weight:650}.compact-form{border-top:1px solid #e4eaf3;margin-top:1rem;padding-top:1rem}.table-wrap{overflow-x:auto}table{border-collapse:collapse;width:100%;min-width:620px}th,td{text-align:left;vertical-align:top;border-bottom:1px solid #e4eaf3;padding:.72rem .6rem}th{color:#596a83;letter-spacing:.04em;text-transform:uppercase;font-size:.78rem}.badge{border-radius:999px;padding:.2rem .5rem;font-size:.78rem;font-weight:750;display:inline-flex}.badge--ok{color:#15733d;background:#e5f7eb}.badge--muted{color:#617088;background:#edf1f6}.badge--danger{color:#ab2638;background:#ffe9eb}.mfa-setup{gap:.8rem;margin:1rem 0;display:grid}.qr-code{background:#fff;border:1px solid #ccd8e8;border-radius:.5rem;width:220px;max-width:100%;padding:.5rem}.otp-url{overflow-wrap:anywhere;white-space:normal;max-width:100%;margin-top:.5rem;display:block}.backup-code-list{grid-template-columns:repeat(auto-fit,minmax(110px,1fr));gap:.4rem;padding:0;list-style:none;display:grid}.backup-code-list li{background:#fff;border:1px dashed #b99a42;border-radius:.35rem;padding:.45rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace}.empty-state{text-align:center;max-width:680px;margin:3rem auto}@media (width<=850px){.topbar{flex-wrap:wrap}.topnav{order:3;width:100%}.user-menu{margin-left:auto}.two-column,.two-column--wide{grid-template-columns:1fr}}@media (width<=560px){.auth-card{padding:1.35rem}.app-main{padding:1rem}.user-name{display:none}.topnav{flex-wrap:nowrap;overflow-x:auto}}select{color:#172033;background:#fff;border:1px solid #bac8dc;border-radius:.55rem;width:100%;padding:.68rem .76rem}.section-nav{background:#fff;border:1px solid #dce4f2;border-radius:.75rem;flex-wrap:wrap;gap:.45rem;margin:-.5rem 0 1.35rem;padding:.55rem;display:flex}.section-nav a{color:#34527f;border-radius:.45rem;padding:.45rem .65rem;font-size:.88rem;font-weight:650;text-decoration:none}.section-nav a.router-link-active,.section-nav a:hover{color:#1f4f99;background:#edf4ff}.setup-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;display:grid}.setup-card{background:#fff;border:1px solid #dce4f2;border-radius:.9rem;padding:1.15rem}.setup-card--complete{background:#f5fcf7;border-color:#a7d6b6}.compact-counts{grid-template-columns:minmax(0,1fr) auto;gap:.3rem .75rem;margin:.85rem 0;display:grid}.compact-counts dt{color:#65748a}.compact-counts dd{color:#253650;margin:0;font-weight:700}textarea{color:#172033;resize:vertical;background:#fff;border:1px solid #bac8dc;border-radius:.55rem;width:100%;padding:.68rem .76rem}select[multiple]{min-height:7.2rem}.workload-context{grid-template-columns:minmax(0,1fr) minmax(300px,.8fr);align-items:end;gap:1rem;margin-bottom:1rem;display:grid}.context-controls{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.context-controls label,.registry-filter-grid label{color:#273956;gap:.35rem;font-size:.9rem;font-weight:650;display:grid}.workload-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-bottom:1rem;display:grid}.metric-card{background:#fff;border:1px solid #dce4f2;border-radius:.9rem;gap:.3rem;padding:1.05rem;display:grid;box-shadow:0 .4rem 1.2rem #1a2d4e0a}.metric-card span,.metric-card small{color:#65748a}.metric-card strong{color:#172b4d;font-size:1.55rem}.metric-card--attention{background:#fffaf0;border-color:#f0d690}.metric-card--review{background:#f3f7ff;border-color:#adc6f5}.metric-card--ok{background:#f5fcf7;border-color:#a7d6b6}.workload-workflow{grid-template-columns:repeat(3,1fr);gap:.7rem;margin-bottom:1rem;display:grid}.workload-workflow article{background:#eef4ff;border:1px solid #cfdef8;border-radius:.75rem;gap:.25rem;padding:.85rem 1rem;display:grid}.workload-workflow span{color:#5c6b82;font-size:.88rem}.registry-filter-grid{grid-template-columns:minmax(180px,1.2fr) minmax(150px,.7fr) minmax(190px,1fr);gap:.7rem;margin-bottom:.6rem;display:grid}.registry-actions{gap:.5rem;margin-bottom:.9rem;display:flex}.workload-table small,.attention-item small{color:#65748a;margin-top:.25rem;font-size:.79rem;display:block}.row-selected td{background:#f1f6ff}.workload-editor{min-width:0}.workload-form fieldset{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.workload-form label{color:#273956;gap:.35rem;font-size:.9rem;font-weight:650;display:grid}.workload-form .form-span{grid-column:1/-1}.assignment-editor,.workload-actions{border-top:1px solid #e4eaf3;margin-top:1.15rem;padding-top:1.05rem}.assignment-total{color:#a02c3b;background:#fff4f4;border-radius:.45rem;padding:.35rem .55rem;font-size:.82rem}.assignment-total--ok{color:#15733d;background:#e5f7eb}.assignment-list{gap:.65rem;display:grid}.assignment-row{border:1px solid #e2e9f2;border-radius:.6rem;grid-template-columns:minmax(170px,1fr) 105px auto auto;align-items:center;gap:.5rem;padding:.55rem;display:grid}.assignment-summary{background:#f7f9fc;border-radius:.5rem;padding:.7rem}.attention-list{gap:.5rem;display:grid}.attention-item{text-align:left;cursor:pointer;background:#fff;border:1px solid #dce4f2;border-radius:.6rem;justify-content:space-between;align-items:center;gap:1rem;width:100%;padding:.8rem;display:flex}.attention-item:hover{background:#f5f8fe}.badge--warning{color:#8a6500;background:#fff2cc}@media (width<=1050px){.workload-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.workload-context,.workload-workflow,.registry-filter-grid{grid-template-columns:1fr}}@media (width<=620px){.context-controls,.workload-form fieldset,.workload-metrics,.assignment-row{grid-template-columns:1fr}.workload-table table{min-width:700px}}.teacher-summary{justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem;display:flex}.teacher-summary h2{margin:.2rem 0}.availability-summary{grid-template-columns:repeat(3,minmax(105px,1fr));gap:.65rem;display:grid}.availability-summary article{background:#f8fbff;border:1px solid #dce4f2;border-radius:.7rem;gap:.15rem;padding:.7rem .8rem;display:grid}.availability-summary span{color:#65748a;font-size:.78rem}.availability-summary strong{color:#1c355c;font-size:1.25rem}.teacher-workflow{grid-template-columns:repeat(3,1fr);gap:.7rem;margin-bottom:1rem;display:grid}.teacher-workflow article{background:#eef4ff;border:1px solid #cfdef8;border-radius:.75rem;gap:.25rem;padding:.85rem 1rem;display:grid}.teacher-workflow span{color:#5c6b82;font-size:.88rem}.teacher-context{grid-template-columns:minmax(220px,.45fr) minmax(0,1fr);align-items:end;gap:1rem;margin-bottom:1rem;display:grid}.teacher-context label{color:#273956;gap:.35rem;font-size:.9rem;font-weight:650;display:grid}.teacher-layout{grid-template-columns:minmax(0,1.35fr) minmax(340px,.85fr);align-items:start;gap:1rem;display:grid}.calendar-heading{justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.8rem;display:flex}.calendar-heading h2{text-transform:capitalize;margin:0 0 .3rem}.calendar-actions{gap:.4rem;display:flex}.calendar-legend{flex-wrap:wrap;gap:.4rem;margin-bottom:.7rem;display:flex}.calendar-grid{border-top:1px solid #dce4f2;border-left:1px solid #dce4f2;grid-template-columns:repeat(7,minmax(0,1fr));display:grid}.calendar-weekday{color:#61718a;text-align:center;background:#f6f8fc;border-bottom:1px solid #dce4f2;border-right:1px solid #dce4f2;padding:.5rem;font-size:.78rem;font-weight:700}.calendar-day{text-align:left;color:#273956;cursor:pointer;background:#fff;border:1px solid #dce4f2;border-top:0;border-left:0;align-content:start;gap:.25rem;min-height:110px;padding:.45rem;display:grid}.calendar-day:hover{background:#f4f8ff}.calendar-day--outside{color:#a0aaba;background:#fafbfc}.calendar-day--weekend:not(.calendar-day--outside){background:#fcfcff}.calendar-day--selected{outline-offset:-2px;background:#edf5ff;outline:2px solid #2c64bc}.calendar-day-number{font-size:.8rem;font-weight:700}.availability-chip{text-overflow:ellipsis;white-space:nowrap;border-radius:.32rem;align-items:center;max-width:100%;padding:.18rem .32rem;font-size:.71rem;font-weight:650;line-height:1.2;display:inline-flex;overflow:hidden}.availability-chip--unavailable{color:#9a2639;background:#fee9eb}.availability-chip--preferred{color:#806000;background:#fff2ca}.availability-chip--available{color:#17613a;background:#e1f5e8}.availability-form fieldset{grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem;display:grid}.availability-form label{color:#273956;gap:.35rem;font-size:.9rem;font-weight:650;display:grid}.availability-form .form-span{grid-column:1/-1}.field-label{color:#273956;font-size:.9rem;font-weight:650}.weekday-picker{flex-wrap:wrap;gap:.35rem;margin-top:.35rem;display:flex}.weekday-picker label{color:#52647f;cursor:pointer;border:1px solid #c7d2e3;border-radius:.45rem;justify-content:center;align-items:center;min-width:2.5rem;padding:.4rem .5rem;font-size:.8rem;display:inline-flex}.weekday-picker input{clip-path:inset(50%);white-space:nowrap;block-size:1px;inline-size:1px;position:absolute;overflow:hidden}.weekday-picker__item--active{background:#e9f2ff;color:#1c528f!important;border-color:#2c64bc!important}.rule-list{border-top:1px solid #e4eaf3;margin-top:1.2rem;padding-top:1rem}.rule-list__item{text-align:left;color:#273956;cursor:pointer;background:#fff;border:1px solid #e1e8f2;border-radius:.6rem;grid-template-columns:auto 1fr;align-items:center;gap:.25rem .55rem;width:100%;margin-top:.45rem;padding:.65rem;display:grid}.rule-list__item:hover{background:#f5f8fe}.rule-list__item small{color:#65748a;grid-column:2}@media (width<=1080px){.teacher-layout{grid-template-columns:1fr}.teacher-summary{flex-direction:column;align-items:stretch}.calendar-day{min-height:95px}}@media (width<=680px){.teacher-workflow,.teacher-context,.availability-summary,.availability-form fieldset{grid-template-columns:1fr}.calendar-day{min-height:78px;padding:.28rem}.calendar-weekday{padding:.35rem .15rem}.calendar-day .availability-chip{font-size:.6rem}.calendar-actions .button{padding:.45rem .55rem}.calendar-heading{flex-direction:column}}.change-workspace__header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.change-context{grid-template-columns:minmax(220px,.55fr) minmax(220px,.55fr) minmax(0,1fr);align-items:end;gap:.9rem;margin-bottom:1rem;display:grid}.change-context label{color:#273956;gap:.35rem;font-size:.9rem;font-weight:650;display:grid}.change-context p{margin:0}.change-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:1rem;margin-bottom:1rem;display:grid}.change-workspace__notice{margin:0 0 1rem}.change-workspace__content{grid-template-columns:minmax(0,1.15fr) minmax(340px,.85fr);align-items:start;gap:1rem;display:grid}.change-count{color:#1f4f99;background:#edf4ff;border-radius:99px;place-items:center;min-width:2rem;min-height:2rem;font-weight:800;display:inline-grid}.change-lesson-list__items{gap:.55rem;max-height:650px;padding-right:.25rem;display:grid;overflow:auto}.change-lesson-row{color:#273956;text-align:left;cursor:pointer;background:#fff;border:1px solid #dce4f2;border-left:.35rem solid #75a1e5;border-radius:.65rem;gap:.28rem;width:100%;padding:.82rem .9rem;display:grid}.change-lesson-row:hover,.change-lesson-row--selected{background:#f2f7ff;border-color:#9db9e8}.change-lesson-row--selected{box-shadow:inset 0 0 0 1px #2f65b9}.change-lesson-row.change-status--cancelled{background:#fff9fa;border-left-color:#c65867}.change-lesson-row__top{justify-content:space-between;align-items:center;gap:.75rem;display:flex}.change-lesson-row small{color:#65748a}.change-status{color:#216344;white-space:nowrap;background:#e5f7eb;border-radius:.35rem;padding:.18rem .42rem;font-size:.74rem;font-weight:750}.change-status--cancelled .change-status{color:#9a2639;background:#fee9eb}.change-operation-panel{gap:12px;display:grid}.change-operation-panel__source{color:#2c3d59;background:#f7f9fc;border:1px solid #dce4f2;border-radius:.6rem;gap:.3rem;margin:.9rem 0;padding:.75rem;display:grid}.change-operation-panel__source small{color:#65748a}.change-mode-tabs{border-bottom:1px solid #e4eaf3;gap:.35rem;margin:.8rem 0 1rem;padding-bottom:.75rem;display:flex}.change-mode-tabs button{color:#48617f;cursor:pointer;background:#fff;border:1px solid #c7d2e3;border-radius:.45rem;flex:1;padding:.52rem .55rem;font-weight:700}.change-mode-tabs button.active{color:#1e538f;background:#edf4ff;border-color:#2c64bc}.change-operation-panel__hint{color:#41668f;background:#f2f7ff;border:1px solid #cfdef8;border-radius:.55rem;padding:.66rem .75rem;font-size:.83rem;line-height:1.4}.change-history{margin-top:1rem}.change-history__item{color:#2c3d59;background:#fff;border:1px solid #dce4f2;border-radius:.65rem;gap:.3rem;margin-top:.55rem;padding:.78rem .88rem;display:grid}.change-history__item small{color:#65748a}.notification-bell__button{white-space:nowrap}.notification-bell__count{color:#fff;background:#e45769;border-radius:99px;place-items:center;min-width:1.25rem;min-height:1.25rem;margin-left:.25rem;font-size:.72rem;font-weight:800;display:inline-grid}.notification-bell__panel{z-index:20;color:#263953;background:#fff;border:1px solid #d7e1f0;border-radius:.75rem;width:min(380px,100vw - 2rem);padding:.85rem;position:absolute;top:calc(100% + .55rem);right:0;box-shadow:0 1rem 2.5rem #142a4d2e}.notification-bell__header{justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.6rem;display:flex}.notification-bell__item{color:#273956;text-align:left;cursor:pointer;background:#fff;border:1px solid #e0e7f1;border-radius:.55rem;gap:.25rem;width:100%;margin-top:.45rem;padding:.65rem;display:grid}.notification-bell__item span{color:#5e708a;font-size:.82rem;line-height:1.35}.text-button{color:#245aa3;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.empty-inline{color:#65748a;background:#f7f9fc;border-radius:.6rem;padding:.8rem}@media (width<=1120px){.change-workspace__content{grid-template-columns:1fr}.change-metrics,.change-context{grid-template-columns:repeat(2,minmax(0,1fr))}.change-context p{grid-column:1/-1}}@media (width<=680px){.change-metrics,.change-context{grid-template-columns:1fr}.change-context p{grid-column:auto}.change-lesson-row__top{flex-direction:column;align-items:flex-start}.notification-bell__panel{width:auto;position:fixed;top:4.5rem;left:1rem;right:1rem}}.notification-settings__grid,.governance-layout{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;display:grid}.notification-settings fieldset{gap:.55rem;display:grid}.check-row{color:#273956;align-items:center;gap:.55rem;font-weight:600;display:flex}.check-row input{width:auto}.inline-actions{flex-wrap:wrap;align-items:center;gap:.55rem;margin-top:.3rem;display:flex}.small-text{font-size:.82rem}.governance-layout{align-items:start;margin-bottom:1rem}.governance-layout--history{grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr)}.governance-version-list__items{gap:.55rem;display:grid}.governance-version-card{color:#273956;text-align:left;cursor:pointer;background:#fff;border:1px solid #d8e2f0;border-radius:.65rem;grid-template-columns:1fr auto;gap:.2rem .6rem;padding:.8rem;display:grid}.governance-version-card:hover,.governance-version-card--selected{background:#f2f6fd;border-color:#4c78bd}.governance-version-card__week{color:#59708e;font-size:.82rem}.governance-version-card small{color:#6d7d92;grid-column:1/-1}.metric-pill,.status-chip{color:#355b92;background:#edf4ff;border-radius:999px;align-items:center;width:fit-content;min-height:1.65rem;padding:.22rem .55rem;font-size:.78rem;font-weight:750;display:inline-flex}.workflow-panel__actions{flex-wrap:wrap;gap:.55rem;margin-top:1rem;display:flex}.form-field{color:#273956;gap:.35rem;margin-top:1rem;font-size:.9rem;font-weight:700;display:grid}.history-timeline{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.history-timeline li{border-left:2px solid #c9d8ed;gap:.18rem;padding:0 0 .75rem 1rem;display:grid;position:relative}.history-timeline li:before{content:"";background:#3d6eb8;border-radius:50%;width:.55rem;height:.55rem;position:absolute;top:.3rem;left:-.33rem}.history-timeline span,.history-timeline p{color:#64758d;font-size:.85rem}.history-timeline p{margin:.25rem 0 0}.snapshot-list{border-top:1px solid #e4eaf3;margin-top:1rem;padding-top:1rem}.snapshot-list h3{color:#273956;margin:0 0 .6rem;font-size:.95rem}.snapshot-row{color:#53657d;border-bottom:1px solid #edf1f6;justify-content:space-between;align-items:center;gap:.75rem;padding:.55rem 0;font-size:.86rem;display:flex}.empty-inline{color:#66778f;background:#f7f9fc;border-radius:.6rem;margin:0;padding:.75rem}@media (width<=860px){.notification-settings__grid,.governance-layout,.governance-layout--history{grid-template-columns:1fr}}.cabinet-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1rem;display:grid}.cabinet-card{background:#fff;border:1px solid #d9e3f1;border-radius:.75rem;align-content:start;gap:.8rem;min-height:210px;padding:1.15rem;display:grid;box-shadow:0 .35rem 1rem #1f3a6812}.cabinet-card h2{color:#263956;margin:0;font-size:1.15rem}.cabinet-card p{margin:0}.cabinet-card .button{width:fit-content;margin-top:auto}.dashboard-secondary{margin-top:1rem}.workspace-header{justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.workspace-header__term{color:#3f5f85;background:#f6f9fe;border:1px solid #dce6f5;border-radius:.65rem;gap:.15rem;min-width:210px;margin:0;padding:.75rem .9rem;display:grid}.workspace-header__term strong{color:#294f85}.workspace-context{justify-content:space-between;align-items:end;gap:1rem;margin-bottom:1rem;display:flex}.workspace-context p{margin:0 0 .25rem}.workspace-selector{color:#273956;gap:.35rem;min-width:min(100%,360px);font-size:.9rem;font-weight:700;display:grid}.workspace-metrics{grid-template-columns:repeat(5,minmax(0,1fr));gap:.8rem;margin-bottom:1rem;display:grid}.workspace-metric{color:#53677f;background:#fff;border:1px solid #dce6f4;border-radius:.65rem;gap:.24rem;min-height:112px;padding:.82rem .9rem;display:grid}.workspace-metric strong{color:#1e4f8c;font-size:1.8rem;line-height:1}.workspace-metric small{color:#75859a;font-size:.78rem;line-height:1.35}.workspace-layout{grid-template-columns:minmax(0,1fr) minmax(0,1.08fr);align-items:start;gap:1rem;display:grid}.workspace-tasks h2,.workspace-lessons h2,.workspace-summary-note h2{margin:0;font-size:1.1rem}.workspace-tasks .panel-heading,.workspace-lessons .panel-heading{margin-bottom:.7rem}.workspace-task{background:#fff;border:1px solid #dce5f1;border-left:.36rem solid #6f97cd;border-radius:.6rem;justify-content:space-between;align-items:center;gap:1rem;margin-top:.6rem;padding:.78rem .85rem;display:flex}.workspace-task h3{color:#2b3e5a;margin:0;font-size:.96rem}.workspace-task p{color:#64758d;margin:.28rem 0 0;font-size:.85rem;line-height:1.4}.workspace-task__action{white-space:nowrap;flex-direction:column;align-items:end;gap:.45rem;display:flex}.workspace-task--warning{background:#fffcf5;border-left-color:#c98b1a}.workspace-task--danger{background:#fff9fa;border-left-color:#c45a64}.workspace-task--success{background:#fbfffc;border-left-color:#4a966c}.workspace-lesson{background:#fff;border:1px solid #dce5f1;border-radius:.6rem;grid-template-columns:minmax(160px,.7fr) minmax(0,1.1fr);gap:.75rem;margin-top:.58rem;padding:.78rem .85rem;display:grid}.workspace-lesson__date{color:#355d91;align-content:start;gap:.26rem;display:grid}.workspace-lesson__date span,.workspace-lesson small{color:#64758d;font-size:.82rem}.workspace-lesson h3{color:#2a3d59;margin:0;font-size:.96rem}.workspace-lesson p{color:#53677f;margin:.28rem 0;font-size:.84rem}.workspace-summary-note{min-height:180px}.workspace-full-schedule-link{margin:.65rem 0 0 .25rem;display:inline-block}.student-membership-manager .inline-form{align-items:end}.student-membership-manager .inline-form label{min-width:180px}@media (width<=1180px){.workspace-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.workspace-layout{grid-template-columns:1fr}}@media (width<=820px){.workspace-header,.workspace-context{flex-direction:column;align-items:stretch}.workspace-header__term{min-width:0}.workspace-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.workspace-lesson{grid-template-columns:1fr}.workspace-task{flex-direction:column;align-items:flex-start}.workspace-task__action{flex-direction:row;align-items:start}}@media (width<=540px){.workspace-metrics{grid-template-columns:1fr}.workspace-context{padding:.8rem}.cabinet-grid{grid-template-columns:1fr}}.public-schedule-page{color:#1d2b43;background:linear-gradient(#f3f6fb 0,#fff 48%);min-height:100vh}.public-header{-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffff0;border-bottom:1px solid #dce5f1;align-items:center;gap:1rem;min-height:4.75rem;padding:.75rem clamp(1rem,5vw,4rem);display:flex}.public-header__brand{color:#172b4d;letter-spacing:.02em;align-items:center;gap:.58rem;font-size:1.15rem;font-weight:850;text-decoration:none;display:inline-flex}.public-header__mark{color:#fff;background:#2e62b4;border-radius:.7rem;place-items:center;width:2rem;height:2rem;font-size:1rem;display:grid}.public-header__title{color:#61738c;border-left:1px solid #dce5f1;gap:.12rem;padding-left:1rem;font-size:.78rem;display:grid}.public-header__title strong{color:#253b61;font-size:.96rem}.public-header__login{color:#225ba9;margin-left:auto;font-size:.9rem;font-weight:750;text-decoration:none}.public-header__login:hover{text-decoration:underline}.public-schedule-main{width:min(100%,1280px);margin:0 auto;padding:clamp(1.2rem,4vw,3rem) clamp(1rem,4vw,2.4rem) 3rem}.public-hero{max-width:760px;margin:0 0 1.35rem}.public-hero__eyebrow{color:#2860ad;letter-spacing:.1em;text-transform:uppercase;margin:0 0 .45rem;font-size:.75rem;font-weight:850}.public-hero h1{color:#172b4d;max-width:680px;margin:0;font-size:clamp(1.8rem,5vw,3rem);line-height:1.08}.public-hero p:not(.public-hero__eyebrow){color:#596b84;max-width:650px;margin:.8rem 0 0;line-height:1.6}.public-filters{background:#fff;border:1px solid #dce6f3;border-radius:1rem;padding:1rem;box-shadow:0 .75rem 2rem #213f6912}.public-filters__tabs{flex-wrap:wrap;gap:.45rem;margin-bottom:1rem;display:flex}.public-filter-tab{color:#5b6f89;cursor:pointer;background:#fff;border:1px solid #ccd9ea;border-radius:.6rem;padding:.62rem .82rem;font-weight:760}.public-filter-tab:hover{background:#f4f8ff}.public-filter-tab--active{color:#1f579f;background:#eaf2ff;border-color:#2d62b2}.public-filters__grid{grid-template-columns:minmax(0,1.5fr) minmax(240px,.7fr);gap:.8rem;display:grid}.public-field{color:#2c4160;gap:.36rem;font-size:.83rem;font-weight:780;display:grid}.public-field input,.public-field select{background:#fff;border-color:#c3d2e5;min-height:2.85rem}.public-field--compact{min-width:min(100%,270px)}.public-filter-hint{color:#64778f;margin:.8rem 0 0;font-size:.86rem}.public-suggestions{gap:.35rem;max-height:238px;margin:.75rem 0 0;padding:0;list-style:none;display:grid;overflow-y:auto}.public-suggestions button{color:#2c4160;text-align:left;cursor:pointer;background:#fff;border:1px solid #d9e4f1;border-radius:.6rem;gap:.18rem;width:100%;padding:.72rem .8rem;display:grid}.public-suggestions button:hover,.public-suggestions button:focus-visible{background:#f3f7ff;border-color:#5b85c6}.public-suggestions span{color:#687b93;font-size:.82rem}.public-selected-subject{color:#375b86;margin:.9rem 0 0;font-size:.88rem}.public-notice{color:#245382;background:#f1f7ff;border:1px solid #b9d1f2;border-radius:.65rem;margin:1rem 0 0;padding:.72rem .85rem;line-height:1.45}.public-notice--error{color:#8e2837;background:#fff5f6;border-color:#e1b6bd}.public-loading,.public-empty-state{color:#64778f;text-align:center;background:#fff;border:1px dashed #c8d6e8;border-radius:.9rem;margin-top:1rem;padding:2.2rem 1.25rem}.public-empty-state h2{color:#2a4163;margin-bottom:.45rem}.public-week-nav{background:#fff;border:1px solid #dce6f3;border-radius:.8rem;grid-template-columns:minmax(170px,.8fr) minmax(240px,1fr) minmax(170px,.8fr);align-items:center;gap:.8rem;margin-top:1rem;padding:.85rem;display:grid}.public-week-nav__title{text-align:center;gap:.18rem;display:grid}.public-week-nav__title strong{color:#223d67}.public-week-nav__title span{color:#677a92;font-size:.83rem}.public-week-nav .button:last-child{justify-self:end}.public-schedule-actions{background:#fff;border:1px solid #dce6f3;border-radius:.8rem;flex-wrap:wrap;align-items:end;gap:.65rem;margin-top:1rem;padding:.85rem;display:flex}.public-schedule-actions .button{min-height:2.85rem}.public-week-grid{grid-template-columns:repeat(7,minmax(165px,1fr));gap:.7rem;margin-top:1rem;padding-bottom:.3rem;display:grid;overflow-x:auto}.public-day{background:#fff;border:1px solid #dce6f3;border-radius:.75rem;min-width:165px;min-height:260px;overflow:hidden}.public-day__header{color:#2e4b73;background:#f7faff;border-bottom:1px solid #e4ebf4;justify-content:space-between;align-items:baseline;gap:.4rem;padding:.74rem .78rem;display:flex}.public-day__header span{color:#6e8098;font-size:.78rem}.public-day__empty{color:#8a98aa;margin:0;padding:.9rem .8rem;font-size:.86rem}.public-lesson-list{gap:.58rem;margin:0;padding:.65rem;list-style:none;display:grid}.public-lesson{background:#f6f9fe;border-left:.28rem solid #4a7bc3;border-radius:.45rem;gap:.45rem;padding:.6rem;display:grid}.public-lesson--cancelled{opacity:.82;background:#fff5f6;border-left-color:#b35e65}.public-lesson__time{color:#1f579f;font-size:.79rem;font-weight:850}.public-lesson__content{gap:.22rem;display:grid}.public-lesson__topline{color:#263e62;justify-content:space-between;align-items:start;gap:.4rem;font-size:.86rem;display:flex}.public-lesson__topline strong{line-height:1.3}.public-lesson__content p{color:#61748c;margin:0;font-size:.78rem;line-height:1.35}.public-lesson__status{color:#9c313e;white-space:nowrap;background:#fee8eb;border-radius:.35rem;padding:.12rem .32rem;font-size:.68rem;font-weight:800}.public-lesson__comment{color:#874c35!important}.public-updated{color:#75879c;text-align:right;margin:.75rem 0 0;font-size:.78rem}.public-print-root{display:none}.print-template{color:#000;font-family:Times New Roman,Times,serif}.print-template h1{color:#000;text-align:center;margin:0 0 1.2rem;font-family:Times New Roman,Times,serif;font-size:15pt;line-height:1.15}.print-template__subject{color:#000;text-align:center;margin:0;font-size:12pt;line-height:1.35}.print-template__period{color:#000;text-align:center;margin:.35rem 0 1rem;font-size:11pt}.print-template__generated{color:#000;text-align:right;margin:.7rem 0 0;font-size:8.5pt}.approved-week-table,.approved-exam-table{border-collapse:collapse;color:#000;width:100%;min-width:0;font-size:10pt}.approved-week-table th,.approved-week-table td,.approved-exam-table th,.approved-exam-table td{color:#000;text-align:left;vertical-align:top;border:1px solid #000;padding:4pt 5pt}.approved-week-table th,.approved-exam-table th{text-align:center;text-transform:none;letter-spacing:0;font-size:10pt;font-weight:700}.approved-week-table__empty,.approved-exam-table__empty{text-align:center!important}.approved-week-table__cancelled,.approved-exam-table__cancelled{text-decoration:line-through}.approved-exam-table{width:86%;margin:0 auto}.approved-exam-table th:first-child{width:20%}.approved-exam-table td:nth-child(2){white-space:nowrap;width:12%}.approved-exam-table td:first-child{text-align:center}.approved-exam-table td:nth-child(3){width:68%}@media (width<=900px){.public-filters__grid,.public-week-nav{grid-template-columns:1fr}.public-week-nav .button:last-child{justify-self:stretch}.public-week-nav .button{width:100%}.public-week-nav__title{order:-1}.public-week-grid{grid-template-columns:repeat(7,minmax(210px,1fr))}}@media (width<=600px){.public-header{gap:.7rem}.public-header__title{display:none}.public-header__login{font-size:.82rem}.public-schedule-main{padding:1rem 1rem 2rem}.public-filters,.public-schedule-actions{padding:.8rem}.public-hero h1{font-size:1.9rem}.public-schedule-actions .button,.public-field--compact{width:100%}.public-week-grid{grid-template-columns:1fr;overflow:visible}.public-day{min-width:0;min-height:0}}@media print{@page{size:A4 landscape;margin:12mm}html,body,#app,.public-schedule-page{background:#fff!important;width:auto!important;min-width:0!important;min-height:0!important}.public-schedule-screen{display:none!important}.public-print-root{display:block!important}.print-template{display:none!important}.print-template--active{display:block!important}.print-template h1,.print-template__subject,.print-template__period,.approved-week-table,.approved-exam-table{break-inside:avoid}.approved-week-table tr,.approved-exam-table tr{break-inside:avoid;page-break-inside:avoid}}.reports-filters{background:var(--surface,#fff);border:1px solid var(--border,#e3e7ed);border-radius:14px;grid-template-columns:repeat(6,minmax(150px,1fr));align-items:end;gap:12px;margin-bottom:20px;padding:16px;display:grid}.reports-filters label{gap:6px;font-size:13px;font-weight:600;display:grid}.reports-filters select,.reports-filters input{width:100%;min-height:38px}.reports-filters__actions{flex-wrap:wrap;gap:8px;display:flex}.report-metric-grid{grid-template-columns:repeat(5,minmax(160px,1fr));gap:12px;margin:16px 0;display:grid}.report-metric{border:1px solid var(--border,#e3e7ed);background:var(--surface,#fff);border-radius:14px;min-width:0;padding:16px}.report-metric__label{color:var(--muted,#667085);margin:0 0 8px;font-size:13px}.report-metric strong{font-size:24px;line-height:1.15}.report-metric small{color:var(--muted,#667085);font-size:12px;font-weight:600}.report-metric--warning{background:#fffaf0;border-color:#e8b44d}.report-metric--danger{background:#fff5f5;border-color:#e48b8b}.report-metric--success{background:#f3fbf5;border-color:#8abf9c}.reports-attention,.report-table-card,.report-quality-card{border:1px solid var(--border,#e3e7ed);background:var(--surface,#fff);border-radius:14px;margin:16px 0;padding:18px}.reports-attention h2,.report-table-card h2,.report-quality-card h2{margin:2px 0 8px;font-size:20px}.reports-tabs{flex-wrap:wrap;gap:8px;margin:20px 0 12px;display:flex}.reports-tabs button{appearance:none;border:1px solid var(--border,#e3e7ed);cursor:pointer;background:#fff;border-radius:999px;padding:8px 13px}.reports-tabs button.is-active{color:#fff;background:#1f2937;border-color:#1f2937}.report-table-card__header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px;display:flex}.table-scroll{overflow-x:auto}.table-scroll table{border-collapse:collapse;width:100%;min-width:720px}.table-scroll th,.table-scroll td{border-bottom:1px solid var(--border,#e3e7ed);text-align:left;vertical-align:top;padding:11px 10px}.table-scroll th{color:var(--muted,#667085);white-space:nowrap;font-size:12px;font-weight:700}.table-empty{color:var(--muted,#667085);text-align:center!important;padding:24px!important}.report-number--warning{color:#a55e00;font-weight:700}.report-number--danger{color:#b42318;font-weight:700}.change-summary{border-bottom:1px solid var(--border,#e3e7ed);flex-wrap:wrap;gap:12px 20px;margin-bottom:8px;padding-bottom:12px;display:flex}.report-quality-card{grid-template-columns:1fr auto;align-items:start;gap:16px;display:grid}.report-quality-card__value{font-size:42px}.report-conflict-list{grid-column:1/-1;margin:0;padding-left:18px}@media (width<=1180px){.reports-filters{grid-template-columns:repeat(3,minmax(180px,1fr))}.report-metric-grid{grid-template-columns:repeat(3,minmax(160px,1fr))}}@media (width<=760px){.reports-filters,.report-metric-grid{grid-template-columns:1fr}.report-table-card__header{flex-direction:column}.report-quality-card{grid-template-columns:1fr}}nn .exchange-card{border:1px solid var(--border,#e3e7ed);background:var(--surface,#fff);border-radius:14px;margin:16px 0;padding:18px}.exchange-card__header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:14px;display:flex}.exchange-card__header h2{margin:2px 0 8px;font-size:20px}.exchange-form-grid{grid-template-columns:repeat(3,minmax(180px,1fr));align-items:end;gap:12px;display:grid}.exchange-form-grid label{color:var(--text,#1f2937);gap:6px;font-size:13px;font-weight:700;display:grid}.exchange-form-grid select,.exchange-form-grid input{width:100%;min-height:38px}.exchange-form-grid__button{align-items:end;min-height:38px;display:flex}.exchange-form-grid__button .button{width:100%}.exchange-file{grid-column:span 2}.exchange-file-note,.exchange-note{color:var(--muted,#667085);margin:12px 0 0;font-size:13px}.exchange-summary{grid-template-columns:repeat(4,minmax(110px,1fr));gap:10px;margin:14px 0;display:grid}.exchange-summary>div{background:#f7f9fc;border-radius:10px;gap:4px;padding:12px;display:grid}.exchange-summary span{color:var(--muted,#667085);font-size:12px}.exchange-summary strong{font-size:20px}.exchange-status{color:#254160;white-space:nowrap;background:#e9f2ff;border-radius:999px;padding:4px 8px;font-size:12px;font-weight:750;display:inline-flex}.exchange-status--applied{color:#166534;background:#e9f8ee}.exchange-status--rolled_back{color:#8b4c00;background:#fff1d5}.exchange-status--failed{color:#aa1f2c;background:#fff0f1}.exchange-text-error,.exchange-row-error td:last-child{color:#b42318;font-weight:700}.exchange-row-error{background:#fff8f8}.exchange-actions{flex-wrap:wrap;align-items:center;gap:12px;margin:14px 0;display:flex}.exchange-actions p{margin:0}.exchange-rows{max-height:360px;overflow:auto}.button--danger{color:#fff;background:#a7303f;border-color:#a7303f}@media (width<=860px){.exchange-form-grid{grid-template-columns:1fr}.exchange-file{grid-column:auto}.exchange-summary{grid-template-columns:repeat(2,minmax(120px,1fr))}.exchange-card__header{flex-direction:column}}.student-membership-manager{gap:1rem;display:grid}.bulk-selection{gap:.75rem;margin-top:.8rem;display:grid}.bulk-selection__toolbar{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:.75rem;display:flex}.bulk-selection__search{margin:0}.bulk-selection__checkbox{text-align:center;width:42px}.bulk-selection__note{margin-top:.25rem;display:block}.bulk-action-card{border:1px solid var(--spectrum-line,#e8e5ef);border-radius:var(--radius-lg,16px);background:linear-gradient(135deg,#fbfaff,#f6f3ff);grid-template-columns:minmax(0,1fr) minmax(360px,.95fr);gap:1rem;margin-top:1rem;padding:1rem;display:grid}.bulk-action-card h3{margin:.15rem 0 .45rem}.bulk-action-card__form{grid-template-columns:1fr 1fr auto;align-items:end;gap:.65rem;display:grid}.bulk-action-card__form label{color:#48546b;gap:.32rem;font-size:.86rem;font-weight:650;display:grid}.bulk-create-students{margin-top:1rem}.bulk-create-students textarea{resize:vertical;min-height:148px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:.86rem;line-height:1.55}.bulk-create-students__preview{border:1px dashed var(--spectrum-line-strong,#d5d0e2);background:#fcfbff;border-radius:12px;padding:.8rem 1rem}.bulk-create-students__preview ul{margin:.6rem 0 0 1rem;padding:0}@media (width<=900px){.bulk-action-card{grid-template-columns:1fr}.bulk-action-card__form{grid-template-columns:1fr 1fr}.bulk-action-card__form .button{grid-column:1/-1}}@media (width<=620px){.bulk-selection__toolbar{align-items:stretch}.bulk-selection__search{grid-template-columns:1fr auto;align-items:end;width:100%;display:grid}.bulk-selection__search label{min-width:0}.bulk-action-card__form{grid-template-columns:1fr}.bulk-action-card__form .button{grid-column:auto}.bulk-selection table{min-width:700px}}.bulk-create-students__logins{gap:.4rem;margin:.65rem 0 0;padding:0;list-style:none;display:grid}.bulk-create-students__logins li{color:#49546a;background:#f5f3ff;border-radius:9px;justify-content:space-between;align-items:center;gap:.75rem;padding:.45rem .6rem;display:flex}.bulk-create-students__logins code{color:#5b43cf;overflow-wrap:anywhere;font-weight:700}.smartcaptcha-field{gap:.45rem;min-width:0;display:grid}.smartcaptcha-container{max-width:100%;min-height:102px;overflow:hidden}:root{--color-primary:#2563eb;--color-primary-hover:#1d4ed8;--color-primary-soft:#eff6ff;--color-bg:#f5f7fb;--color-surface:#fff;--color-surface-muted:#f8fafc;--color-text:#172033;--color-text-muted:#64748b;--color-border:#dce3ee;--color-border-strong:#c5d1e1;--color-success:#15803d;--color-warning:#b45309;--color-danger:#b91c1c;--radius-sm:6px;--radius-md:8px;--radius-lg:12px;--shadow-sm:0 1px 2px #0f172a0f;--shadow-md:0 12px 28px #0f172a1f;--layout-sidebar-width:236px;--layout-sidebar-collapsed-width:64px;--layout-topbar-height:58px;--spectrum-violet:var(--color-primary);--spectrum-violet-strong:var(--color-primary-hover);--spectrum-violet-soft:var(--color-primary-soft);--spectrum-violet-quiet:#f8fbff;--spectrum-ink:var(--color-text);--spectrum-ink-soft:var(--color-text-muted);--spectrum-muted:#94a3b8;--spectrum-line:var(--color-border);--spectrum-line-strong:var(--color-border-strong);--spectrum-surface:var(--color-surface);--spectrum-canvas:var(--color-bg);--spectrum-success:var(--color-success);--spectrum-warning:var(--color-warning);--spectrum-danger:var(--color-danger);color:var(--color-text);background:var(--color-bg);font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.app-shell{background:var(--spectrum-canvas);min-height:100vh;color:var(--spectrum-ink);grid-template-columns:264px minmax(0,1fr);transition:grid-template-columns .2s;display:grid}.app-shell__canvas{min-width:0;min-height:100vh}.app-sidebar{border-right:1px solid var(--spectrum-line);-webkit-backdrop-filter:blur(16px);backdrop-filter:blur(16px);z-index:20;background:#ffffffd1;flex-direction:column;width:264px;height:100vh;padding:18px 14px;transition:width .2s,padding .2s;display:flex;position:sticky;top:0;overflow:hidden}.app-sidebar__brand-row{border-bottom:1px solid var(--spectrum-line);justify-content:space-between;align-items:center;gap:8px;min-height:48px;padding:0 4px 16px;display:flex}.app-brand{min-width:0;color:var(--spectrum-ink);letter-spacing:-.02em;align-items:center;gap:10px;font-size:19px;font-weight:800;text-decoration:none;display:inline-flex}.app-brand__mark{color:#fff;background:linear-gradient(135deg,#3b82f6 0%,#1d4ed8 100%);border-radius:12px;flex:none;place-items:center;width:34px;height:34px;font-size:18px;display:grid;box-shadow:0 10px 24px #6f58da47}.app-sidebar--collapsed .app-brand__name,.app-sidebar--collapsed .sidebar-nav-group__title,.app-sidebar--collapsed .sidebar-nav-item span,.app-sidebar--collapsed .sidebar-profile__text,.app-sidebar--collapsed .sidebar-profile__arrow,.app-sidebar--collapsed .sidebar-signout span{display:none}.app-sidebar--collapsed .app-sidebar__brand-row{justify-content:center;position:relative}.app-sidebar--collapsed .app-sidebar__collapse{border:1px solid var(--spectrum-line);box-shadow:var(--shadow-sm);background:#fff;position:absolute;top:48px;right:-13px}.app-sidebar__nav{scrollbar-width:thin;gap:20px;padding:18px 2px 14px;display:grid;overflow:auto}.sidebar-nav-group{gap:4px;display:grid}.sidebar-nav-group__title{color:#a3a5b1;letter-spacing:.09em;text-transform:uppercase;margin:0 0 6px;padding:0 10px;font-size:10px;font-weight:800}.sidebar-nav-item{color:#676c7a;border:1px solid #0000;border-radius:12px;align-items:center;gap:12px;min-height:44px;padding:0 12px;font-size:14px;font-weight:680;text-decoration:none;transition:background .16s,color .16s,border-color .16s,transform .16s;display:flex}.sidebar-nav-item:hover{color:var(--spectrum-violet-strong);background:var(--spectrum-violet-quiet)}.sidebar-nav-item.router-link-active{color:var(--spectrum-violet-strong);background:var(--spectrum-violet-soft);border-color:#dbeafe}.sidebar-nav-item .app-icon{flex:none}.app-sidebar--collapsed .sidebar-nav-item{justify-content:center;padding-inline:0}.app-sidebar__footer{border-top:1px solid var(--spectrum-line);gap:8px;margin-top:auto;padding:14px 2px 0;display:grid}.sidebar-profile{color:inherit;border-radius:14px;align-items:center;gap:10px;padding:9px;text-decoration:none;display:flex}.sidebar-profile:hover{background:#f7f6fc}.sidebar-profile__avatar,.app-topbar__avatar{color:#584c9a;background:linear-gradient(135deg,#ffe7d6,#e3dfff);border-radius:50%;flex:none;place-items:center;width:34px;height:34px;font-size:12px;font-weight:800;display:grid}.sidebar-profile__text{flex:1;gap:2px;min-width:0;display:grid}.sidebar-profile__text strong{color:#323641;text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.sidebar-profile__text small{color:#9498a5;font-size:10px}.sidebar-profile__arrow{color:#b0b2bd}.sidebar-signout{color:#858997;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:10px;align-items:center;gap:10px;width:100%;min-height:38px;padding:0 11px;font-weight:650;display:flex}.sidebar-signout:hover{color:var(--spectrum-danger);background:#fff4f5}.app-sidebar--collapsed .sidebar-signout{justify-content:center;padding-inline:0}.app-topbar{border-bottom:1px solid var(--spectrum-line);-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#ffffffb8;justify-content:space-between;align-items:center;min-height:76px;padding:14px clamp(20px,3vw,46px);display:flex}.app-topbar__left,.app-topbar__actions{align-items:center;gap:12px;display:flex}.app-topbar__context{gap:2px;display:grid}.app-topbar__context strong{color:var(--spectrum-ink);font-size:15px}.app-topbar__crumb{color:#9b9eaa;margin:0;font-size:11px}.app-topbar__menu{display:none}.app-topbar__profile{color:inherit;border-radius:12px;align-items:center;gap:9px;padding:5px 7px;text-decoration:none;display:flex}.app-topbar__profile:hover{background:#f7f6fc}.app-topbar__profile-text{gap:2px;display:grid}.app-topbar__profile-text strong{font-size:12px}.app-topbar__profile-text small{color:#989ba7;font-size:10px}.icon-button{border:1px solid var(--spectrum-line);color:#656a79;cursor:pointer;background:#fff;border-radius:11px;place-items:center;width:36px;height:36px;transition:color .16s,border-color .16s,background .16s,transform .16s;display:inline-grid}.icon-button:hover{color:var(--spectrum-violet-strong);background:var(--spectrum-violet-quiet);border-color:#bfdbfe}.icon-button:active{transform:scale(.97)}.app-main{width:min(100%,1550px);margin:0 auto;padding:clamp(24px,3vw,42px)}.mobile-bottom-nav,.mobile-nav-overlay{display:none}.mobile-navigation-root{display:contents}body{background:var(--spectrum-canvas);color:var(--spectrum-ink)}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-offset:2px;outline:3px solid #2563eb47}h1{font-size:clamp(28px,3vw,40px);line-height:1.14}h2{font-size:clamp(18px,2vw,22px)}.page-header{margin-bottom:22px;padding:4px 2px;position:relative}.page-header .eyebrow{color:var(--spectrum-violet)}.eyebrow{color:var(--spectrum-violet);letter-spacing:.1em;font-size:11px;font-weight:800}.page-header .muted{max-width:760px;margin-top:10px}.info-card,.panel,.notice-card,.empty-state,.setup-card,.cabinet-card,.metric-card,.workspace-metric,.reports-attention,.report-table-card,.report-quality-card,.exchange-card{border-color:var(--spectrum-line);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.panel,.info-card,.notice-card,.setup-card,.cabinet-card,.metric-card,.workspace-metric,.reports-attention,.report-table-card,.report-quality-card,.exchange-card{background:var(--spectrum-surface)}.empty-state{border:1px dashed var(--spectrum-line-strong);border-radius:var(--radius-xl);box-shadow:none;background:#fff}.card-grid,.cabinet-grid{gap:16px}.cabinet-card{min-height:220px;padding:20px;transition:transform .18s,box-shadow .18s,border-color .18s}.cabinet-card:hover{box-shadow:var(--shadow-md);border-color:#bfdbfe;transform:translateY(-3px)}.cabinet-card .button{margin-top:auto}.button{border:1px solid var(--color-primary);background:linear-gradient(135deg, var(--color-primary), var(--color-primary-hover));color:#fff;cursor:pointer;border-radius:11px;justify-content:center;align-items:center;gap:8px;min-height:42px;padding:9px 14px;font-size:13px;font-weight:750;text-decoration:none;transition:background .16s,border-color .16s,color .16s,box-shadow .16s,transform .12s;display:inline-flex;box-shadow:0 8px 16px #2563eb2e}.button:active:not(:disabled){transform:translateY(1px)}.button:disabled{cursor:not-allowed;opacity:.68}.button--secondary{border-color:var(--color-border-strong);box-shadow:none;color:#334155;background:#fff}.button--ghost{box-shadow:none;color:var(--color-primary-hover);background:#fff;border-color:#cbd5e1}.button--ghost:hover:not(:disabled){color:#1e40af;background:#eff6ff;border-color:#93c5fd}.button--danger{background:linear-gradient(135deg,#dc2626,#b91c1c);border-color:#b91c1c}.button--danger:hover:not(:disabled){background:#991b1b;border-color:#991b1b}.button--danger-outline{box-shadow:none;color:#b91c1c;background:#fff;border-color:#fca5a5}.button--danger-outline:hover:not(:disabled){color:#991b1b;background:#fef2f2;border-color:#ef4444}.button--small{min-height:30px;padding:5px 9px;font-size:12px}input,select,textarea{border-color:var(--spectrum-line-strong);min-height:42px;color:var(--spectrum-ink);background:#fff;border-radius:11px;padding:9px 12px;transition:border-color .16s,box-shadow .16s}input:hover,select:hover,textarea:hover{border-color:#93c5fd}input:focus,select:focus,textarea:focus{border-color:var(--spectrum-violet);outline:none;box-shadow:0 0 0 4px #2563eb1f}table{border:1px solid var(--spectrum-line);border-radius:var(--radius-md);background:#fff;overflow:hidden}th,td{border-bottom-color:#e7eef7}th{color:#64748b;background:#f8fafc;font-size:10px}tr:last-child td{border-bottom:0}.badge,.metric-pill,.status-chip{color:#1d4ed8;background:#eff6ff;border:1px solid #0000}.badge--ok{color:#258653;background:#ecfaf1;border-color:#cfeedd}.badge--muted{color:#64748b;background:#f8fafc;border-color:#dce3ee}.badge--danger{color:#bd4252;background:#fff0f2;border-color:#ffd7db}.section-nav{border-color:var(--spectrum-line);box-shadow:var(--shadow-sm);border-radius:14px;gap:6px;padding:6px}.section-nav a{color:#64748b;border-radius:9px;align-items:center;min-height:34px;padding:0 11px;display:inline-flex}.section-nav a.router-link-active,.section-nav a:hover{background:var(--spectrum-violet-soft);color:var(--spectrum-violet-strong)}.auth-page{background:radial-gradient(circle at 70% 14%,#2563eb29,#0000 33%),radial-gradient(circle at 15% 90%,#bfdbfe70,#0000 33%),#f8fafc;padding:clamp(18px,4vw,48px)}.auth-card{border-color:#ffffffb8;border-radius:28px;width:min(100%,480px);padding:clamp(28px,4vw,42px);box-shadow:0 24px 70px #0f172a24}.auth-card:before{content:"✦";color:#fff;background:linear-gradient(135deg,#3b82f6,#1d4ed8);border-radius:16px;place-items:center;width:44px;height:44px;margin-bottom:22px;font-size:22px;display:grid;box-shadow:0 12px 26px #2563eb3d}.notification-bell{position:relative}.notification-bell__button{border:1px solid var(--spectrum-line);color:#5e6270;cursor:pointer;background:#fff;border-radius:11px;place-items:center;min-width:36px;min-height:36px;padding:0;display:inline-grid;position:relative}.notification-bell__button:hover{color:var(--spectrum-violet-strong);background:var(--spectrum-violet-quiet);border-color:#bfdbfe}.notification-bell__count{background:var(--spectrum-violet);color:#fff;border-radius:999px;place-items:center;min-width:18px;height:18px;padding:0 4px;font-size:10px;font-weight:800;display:grid;position:absolute;top:-6px;right:-6px}.notification-bell__panel{border-color:var(--spectrum-line);box-shadow:var(--shadow-md);border-radius:16px}.notification-bell__item{border-color:#eeedf4;border-radius:11px}.notification-bell__item:hover{background:var(--spectrum-violet-quiet)}.notification-bell__item--unread{background:#eff6ff;border-color:#dbeafe}.schedule-workspace__header,.workspace-header,.workspace-context,.panel-heading{gap:16px}.schedule-calendar-area__hint{background:var(--spectrum-violet-quiet);color:#1d4ed8;border:1px solid #dbeafe;border-radius:12px}.schedule-grid{border-color:var(--spectrum-line);box-shadow:var(--shadow-sm);border-radius:18px}.schedule-grid__corner,.schedule-grid__day-heading{background:#f8fafc;border-color:#e7eef7}.schedule-grid__day-heading--today{background:var(--spectrum-violet-soft)}.schedule-grid__cell{border-color:#f0eff5}.schedule-grid__cell:hover,.schedule-grid__cell--today{background:#f8fbff}.schedule-lesson-card{border-color:#bfdbfe;border-left-color:var(--spectrum-violet);color:#1e3a5f;background:linear-gradient(135deg,#eff6ff,#f8fbff);border-radius:11px;box-shadow:0 4px 10px #1e40af12}.schedule-lesson-card:hover,.schedule-lesson-card--selected{border-color:var(--spectrum-violet);background:#dbeafe}.schedule-lesson-card__time,.schedule-lesson-card>span:not(.schedule-lesson-card__time):not(.schedule-lesson-card__indicator),.schedule-lesson-card small{color:#526b8e}.schedule-editor{border-color:var(--spectrum-line);box-shadow:var(--shadow-md);border-radius:18px}.schedule-segmented button:hover,.schedule-segmented__active{border-color:var(--spectrum-violet)!important;background:var(--spectrum-violet-soft)!important;color:var(--spectrum-violet-strong)!important}.public-schedule-page{background:radial-gradient(circle at 74% -10%,#dbeafe 0,#0000 31%),#fafaff}.public-header{border-color:var(--spectrum-line);background:#ffffffd6}.public-header__brand,.public-header__mark{color:var(--spectrum-ink)}.public-header__mark{color:#fff;background:linear-gradient(135deg,#3b82f6,#1d4ed8)}.public-filters,.public-schedule-actions,.public-week-nav,.public-day{border-color:var(--spectrum-line);box-shadow:var(--shadow-sm);border-radius:16px}.public-hero{max-width:760px}.public-hero__eyebrow{color:var(--spectrum-violet)}.public-lesson{border-left-color:var(--spectrum-violet);background:var(--spectrum-violet-quiet)}.dashboard-secondary .info-card{min-height:170px}.profile-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;display:grid}@media (width<=760px){.profile-overview-grid{grid-template-columns:1fr}}@media (width<=1100px){.app-shell{grid-template-columns:224px minmax(0,1fr)}.app-sidebar{width:224px}.app-shell--sidebar-collapsed{grid-template-columns:76px minmax(0,1fr)}.app-sidebar--collapsed{width:76px}.app-main{padding:26px}}@media (width<=820px){.app-shell,.app-shell--sidebar-collapsed{display:block}.app-sidebar{display:none}.app-topbar{z-index:25;min-height:64px;padding:10px 16px;position:sticky;top:0}.app-topbar__menu{display:inline-grid}.app-topbar__profile-text{display:none}.app-topbar__profile{padding:3px}.app-main{padding:20px 16px 94px}.mobile-bottom-nav{z-index:35;-webkit-backdrop-filter:blur(18px);backdrop-filter:blur(18px);background:#ffffffeb;border:1px solid #e2e0efe6;border-radius:20px;grid-template-columns:repeat(5,minmax(0,1fr));min-height:66px;padding:5px;display:grid;position:fixed;bottom:10px;left:10px;right:10px;box-shadow:0 18px 40px #362b682e}.mobile-bottom-nav__item{color:#858a98;background:0 0;border:0;border-radius:14px;place-items:center;gap:3px;min-width:0;font-size:9px;font-weight:760;text-decoration:none;display:grid}.mobile-bottom-nav__item.router-link-active{background:var(--spectrum-violet-soft);color:var(--spectrum-violet-strong)}.mobile-bottom-nav__item .app-icon{width:20px;height:20px}.mobile-nav-overlay{z-index:50;background:#1f1b3552;display:block;position:fixed;inset:0}.mobile-nav-drawer{background:#fff;flex-direction:column;width:min(88vw,360px);height:100%;padding:18px 14px;display:flex;box-shadow:22px 0 46px #1812382e}.mobile-nav-drawer__header{border-bottom:1px solid var(--spectrum-line);justify-content:space-between;align-items:center;padding:0 4px 16px;display:flex}.mobile-nav-drawer__nav{gap:18px;padding:18px 2px;display:grid;overflow:auto}.mobile-nav-drawer__footer{border-top:1px solid var(--spectrum-line);gap:8px;margin-top:auto;padding-top:14px;display:grid}.mobile-nav-drawer .sidebar-profile{border:1px solid var(--spectrum-line)}.mobile-nav-drawer .sidebar-signout{border:1px solid #0000}.two-column,.two-column--wide,.workload-context,.workspace-layout,.governance-layout,.governance-layout--history{grid-template-columns:1fr}.workspace-metrics,.workload-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.schedule-workspace__header{flex-direction:column}.schedule-header__actions{justify-content:flex-start}.notification-bell__panel{top:58px}}@media (width<=560px){.app-topbar__context strong{font-size:14px}.app-topbar__crumb{font-size:10px}.app-main{padding-inline:12px}.page-header{margin-bottom:18px}.page-header .muted{font-size:14px}.card-grid,.cabinet-grid,.workspace-metrics,.workload-metrics,.exchange-summary{grid-template-columns:1fr}.panel,.info-card,.notice-card,.cabinet-card,.exchange-card{border-radius:15px;padding:16px}.actions,.inline-actions{grid-template-columns:1fr;display:grid}.actions .button,.inline-actions .button{width:100%}.mobile-bottom-nav{bottom:8px;left:8px;right:8px}.mobile-bottom-nav__item{font-size:8px}.schedule-grid{border-radius:14px}.schedule-grid__cell{min-height:6.6rem}.schedule-editor{border-radius:15px}.public-schedule-main{padding-bottom:92px}}:root{--app-sidebar-width:var(--layout-sidebar-width);--app-sidebar-collapsed-width:var(--layout-sidebar-collapsed-width);--app-topbar-height:var(--layout-topbar-height);--surface-technical:var(--color-surface);--canvas-technical:var(--color-bg);--line-technical:var(--color-border);--line-muted-technical:#e8edf4;--text-technical:var(--color-text);--text-muted-technical:var(--color-text-muted);--technical-accent:var(--color-primary);--technical-accent-soft:var(--color-primary-soft);--technical-radius:var(--radius-md);--technical-shadow:0 1px 2px #0f172a0f}body{background:var(--canvas-technical);color:var(--text-technical);font-size:14px}body.app-modal-open{overflow:hidden}.app-shell{grid-template-columns:var(--app-sidebar-width) minmax(0, 1fr);background:var(--canvas-technical)}.app-shell--sidebar-collapsed{grid-template-columns:var(--app-sidebar-collapsed-width) minmax(0, 1fr)}.app-sidebar{width:var(--app-sidebar-width);border-right-color:var(--line-technical);-webkit-backdrop-filter:none;backdrop-filter:none;background:#fff;padding:10px 8px}.app-sidebar--collapsed{width:var(--app-sidebar-collapsed-width);padding-inline:8px}.app-sidebar__brand-row{min-height:44px;padding:0 4px 10px}.app-brand{gap:8px;font-size:17px}.app-brand__mark{width:30px;height:30px;box-shadow:none;border-radius:9px;font-size:16px}.app-sidebar__nav{gap:12px;padding:12px 0}.sidebar-nav-group{gap:2px}.sidebar-nav-group__title{margin:0 0 3px;padding:0 8px;font-size:9px}.sidebar-nav-item{border-radius:6px;gap:9px;min-height:34px;padding:0 9px;font-size:13px;font-weight:650}.sidebar-nav-item.router-link-active{background:var(--technical-accent-soft);border-color:#dbeafe}.app-sidebar__footer{gap:4px;padding-top:8px}.sidebar-profile{border-radius:7px;padding:6px}.sidebar-profile__avatar,.app-topbar__avatar{width:28px;height:28px;font-size:10px}.sidebar-profile__text strong,.app-topbar__profile-text strong{font-size:11px}.sidebar-profile__text small,.app-topbar__profile-text small{font-size:9px}.sidebar-signout{border-radius:6px;min-height:32px;padding:0 8px;font-size:12px}.app-topbar{z-index:15;min-height:var(--app-topbar-height);border-bottom-color:var(--line-technical);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#fffffff5;padding:8px 20px;position:sticky;top:0}.app-topbar__left,.app-topbar__actions{gap:8px}.app-topbar__context strong{font-size:13px}.app-topbar__crumb{font-size:10px}.icon-button{width:32px;height:32px;box-shadow:none;border-radius:6px}.app-main{width:100%;max-width:none;margin:0;padding:18px 22px 28px}h1,h2,h3{color:var(--text-technical);letter-spacing:-.015em}h1{line-height:1.15;font-size:clamp(24px,2vw,30px)!important}h2{line-height:1.2;font-size:18px!important}h3{font-size:15px!important}.eyebrow{letter-spacing:.08em;font-size:10px}.muted{color:var(--text-muted-technical)}.page-header{border-bottom:1px solid var(--line-technical);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px 18px;margin:0 0 10px;padding:0 0 10px;display:grid}.page-header .eyebrow{margin:0 0 3px}.page-header h1{margin:0}.page-header .muted{grid-column:1/-1;max-width:920px;margin:0;font-size:13px;line-height:1.45}.page-header__actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.section-nav{top:var(--app-topbar-height);z-index:10;border:1px solid var(--line-technical);box-shadow:var(--technical-shadow);background:#fff;border-radius:6px;flex-wrap:nowrap;gap:2px;margin:0 0 12px;padding:3px;display:flex;position:sticky;overflow-x:auto}.section-nav a{border-radius:4px;flex:none;min-height:30px;padding:0 9px;font-size:12px}.panel,.info-card,.notice-card,.setup-card,.cabinet-card,.metric-card,.workspace-metric,.reports-attention,.report-table-card,.report-quality-card,.exchange-card{border-color:var(--line-technical)!important;border-radius:var(--technical-radius)!important;box-shadow:var(--technical-shadow)!important}.panel,.info-card,.notice-card,.setup-card,.cabinet-card,.report-table-card,.report-quality-card,.exchange-card{padding:14px 16px!important}.panel-space{margin-top:12px!important}.panel-heading{gap:10px;margin-bottom:10px}.panel-heading h2{margin:0}.two-column{gap:12px}.two-column--wide{grid-template-columns:minmax(0,1fr) minmax(320px,390px)}.card-grid,.cabinet-grid,.setup-grid{gap:12px}.setup-grid{grid-template-columns:repeat(auto-fit,minmax(215px,1fr))}.setup-card{padding:14px!important}.setup-card .muted{font-size:13px;line-height:1.45}.compact-counts{gap:3px 12px;font-size:12px}.button{min-height:32px;box-shadow:none;border-radius:6px;padding:6px 10px;font-size:12px;font-weight:720}.button--secondary{background:#fff}.button--ghost{border-radius:4px;min-height:28px;padding:4px 6px}.actions,.inline-actions{gap:7px}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px}.form-grid>p,.form-grid>.actions,.form-grid>.form-span,.form-grid>.checkbox-row{grid-column:1/-1}.form-grid label,.inline-form label{color:#334155;gap:4px;font-size:12px;font-weight:700}input,select,textarea{border-radius:5px;min-height:34px;padding:6px 8px;font-size:13px}textarea{min-height:80px}.checkbox-row{min-height:28px;font-size:12px}.field-help{font-size:11px;line-height:1.35}.form-error,.form-success{margin:0;font-size:12px}.table-wrap{border:1px solid var(--line-technical);border-radius:6px}table{min-width:590px;box-shadow:none;border:0;border-radius:0}th,td{border-bottom-color:var(--line-muted-technical);padding:8px 9px;font-size:12px;line-height:1.35}th{color:#64748b;letter-spacing:.045em;background:#f8fafc;font-size:10px}tbody tr:hover{background:#fafbff}.table-actions{white-space:nowrap}.badge,.metric-pill,.status-chip{border-radius:4px;padding:3px 6px;font-size:10px}.metric-card{padding:12px!important}.metric-card strong{font-size:22px!important}.notice-card{background:#fafbff}.empty-state{border-radius:8px!important;padding:22px!important}.app-modal{z-index:200;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.app-modal__backdrop{background:#0f172a75;position:absolute;inset:0}.app-modal__dialog{z-index:1;background:#fff;border:1px solid #cfd7e3;border-radius:8px;outline:none;grid-template-rows:auto minmax(0,1fr) auto;width:min(100%,680px);max-height:min(820px,100vh - 36px);display:grid;position:relative;overflow:hidden;box-shadow:0 24px 70px #0f172a42}.app-modal--sm .app-modal__dialog{width:min(100%,460px)}.app-modal--lg .app-modal__dialog{width:min(100%,880px)}.app-modal--xl .app-modal__dialog{width:min(100%,1180px)}.app-modal__header{border-bottom:1px solid var(--line-technical);background:#fbfcfe;justify-content:space-between;align-items:flex-start;gap:16px;padding:14px 16px 12px;display:flex}.app-modal__heading{min-width:0}.app-modal__heading .eyebrow{margin:0 0 2px}.app-modal__heading h2{margin:0}.app-modal__description{color:var(--text-muted-technical);margin:5px 0 0;font-size:12px;line-height:1.45}.app-modal__close{flex:none;font-size:20px;line-height:1}.app-modal__content{min-height:0;padding:14px 16px;overflow:auto}.app-modal__footer{border-top:1px solid var(--line-technical);background:#fbfcfe;justify-content:flex-end;gap:8px;padding:10px 16px;display:flex}.confirm-dialog__message{color:#475569;margin:0;line-height:1.55}.schedule-planning-layout{grid-template-columns:minmax(230px,280px) minmax(520px,1fr) minmax(360px,460px);gap:12px}.schedule-planning-toolbar{box-shadow:var(--technical-shadow);border-radius:8px;padding:12px 14px}.schedule-constructor-view-switch,.schedule-calendar-area__hint{border-radius:6px!important}@media (width<=1180px){.app-main{padding:16px}.two-column--wide{grid-template-columns:minmax(0,1fr) minmax(300px,350px)}.schedule-planning-layout{grid-template-columns:minmax(220px,260px) minmax(0,1fr)}}@media (width<=820px){.app-main{padding:14px 12px 90px}.page-header{grid-template-columns:1fr}.page-header__actions{justify-content:flex-start}.section-nav{top:64px}.two-column--wide,.form-grid{grid-template-columns:1fr}.form-grid>*{grid-column:auto!important}.app-modal{padding:10px}.app-modal__dialog{max-height:calc(100vh - 20px)}}.exchange-card--primary{background:linear-gradient(#fff 0%,#fbfaff 100%);border-color:#d8d4ff}.exchange-hint{border-left:3px solid var(--spectrum-primary,#6658e6);color:#4b5565;background:#f6f5ff;align-items:baseline;gap:10px;margin-top:12px;padding:9px 11px;font-size:13px;display:flex}.exchange-sheet-list{border-top:1px solid var(--spectrum-line,#e5e7eb);margin-top:12px;padding-top:10px}.exchange-sheet-list__title{color:var(--spectrum-text-muted,#667085);letter-spacing:.04em;text-transform:uppercase;margin-bottom:8px;font-size:11px;font-weight:750}.exchange-chip-grid{grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:6px;display:grid}.exchange-chip{border:1px solid var(--spectrum-line,#e5e7eb);background:#fff;border-radius:7px;gap:2px;min-height:48px;padding:7px 9px;display:grid}.exchange-chip b{font-size:12px}.exchange-chip small{color:var(--spectrum-text-muted,#667085);font-size:10px;line-height:1.25}.exchange-file-title{color:var(--spectrum-text-muted,#667085);font-weight:500}.exchange-row-toolbar{flex-wrap:wrap;align-items:end;gap:8px;padding:8px 0;display:flex}.exchange-row-toolbar label{min-width:220px;color:var(--spectrum-text-muted,#667085);gap:4px;font-size:11px;font-weight:700;display:grid}.exchange-row-toolbar select,.exchange-row-toolbar input{min-height:32px;font-size:12px}.exchange-pager{color:var(--spectrum-text-muted,#667085);justify-content:flex-end;align-items:center;gap:8px;margin-top:8px;font-size:12px;display:flex}.exchange-rows{max-height:430px}.exchange-rows table{min-width:760px}.exchange-rows td,.exchange-rows th{vertical-align:top}.exchange-rows td{font-size:12px;line-height:1.35}@media (width<=800px){.exchange-hint{gap:4px;display:grid}.exchange-chip-grid{grid-template-columns:1fr}.exchange-row-toolbar{grid-template-columns:1fr;display:grid}.exchange-row-toolbar label{min-width:0}.exchange-pager{flex-wrap:wrap;justify-content:stretch}}.academic-groups-toolbar{align-items:end;gap:12px;display:flex}.academic-groups-toolbar label{min-width:220px}.program-group-registry{gap:12px;margin-top:12px;display:grid}.program-group-registry__program{padding:14px}.program-group-registry__header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:10px;display:flex}.program-group-registry__header h2{margin:2px 0 4px;font-size:18px}.program-group-registry__table td,.program-group-registry__table th{padding:8px 10px}.program-group-registry__group-list{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.group-context{border:1px solid var(--border-color,#dce4ee);background:#f8faff;border-radius:6px;justify-content:space-between;padding:8px 10px;display:flex}.course-toggle-list{grid-template-columns:repeat(3,1fr);gap:8px;display:grid}@media (width<=760px){.academic-groups-toolbar,.program-group-registry__header{flex-direction:column;align-items:stretch}.academic-groups-toolbar label{min-width:0}}.compact-entry-sheet{min-width:0;padding:14px}.compact-entry-sheet__header{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px;display:flex}.compact-entry-sheet__header h2{margin:2px 0 4px;font-size:19px}.compact-entry-sheet__filters{flex-wrap:wrap;align-items:end;gap:8px;display:flex}.compact-entry-sheet__filters label{gap:4px;min-width:165px;font-size:12px;font-weight:700;display:grid}.compact-entry-sheet__filters select{min-height:32px}.compact-entry-sheet__scroll{border:1px solid var(--border-color,#d8dee8);max-height:calc(100vh - 290px);overflow:auto}.compact-entry-sheet table{border-collapse:collapse;width:100%;min-width:920px;font-size:12px}.compact-entry-sheet th,.compact-entry-sheet td{border:1px solid var(--border-color,#d8dee8);vertical-align:top;padding:4px 6px}.compact-entry-sheet thead th{z-index:2;background:var(--panel-color,#fff);text-align:center;position:sticky;top:0}.compact-entry-sheet thead small,.compact-entry-sheet__day small,.compact-entry-sheet__event small{color:var(--muted-color,#60708c);font-weight:400;display:block}.compact-entry-sheet__day{text-align:center;background:#f7f9fc;width:88px}.compact-entry-sheet__time{text-align:center;white-space:nowrap;color:#334155;width:56px}.compact-entry-sheet__lesson{min-width:190px}.compact-entry-sheet__event{text-align:left;cursor:pointer;background:0 0;border:0;gap:2px;width:100%;padding:2px 0;display:grid}.compact-entry-sheet__event:hover{text-decoration:underline}.compact-entry-sheet__add{color:#4b5563;cursor:pointer;background:0 0;border:1px dashed #9ca3af;border-radius:4px;width:100%;min-height:26px;padding:3px 6px;font-size:12px}.compact-entry-sheet__add:hover{color:#1d4ed8;background:#eff6ff;border-color:#2563eb}.quick-entry{grid-template-columns:250px minmax(0,1fr);gap:16px;display:grid}.quick-entry__templates{border-right:1px solid var(--border-color,#d8dee8);gap:8px;min-height:440px;padding-right:12px;display:grid}.quick-entry__templates input{min-height:32px}.quick-entry__template-list{align-content:start;gap:6px;max-height:400px;display:grid;overflow:auto}.quick-entry__template{text-align:left;cursor:pointer;background:#fff;border:1px solid #dce2ed;border-radius:5px;gap:2px;padding:7px;display:grid}.quick-entry__template:hover{background:#eff6ff;border-color:#2563eb}.quick-entry__template small{color:var(--muted-color,#60708c)}.quick-entry__form{min-width:0}.quick-entry__reference-actions{flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:8px;display:flex}.quick-entry__inline-form{background:#f8fafc;border:1px solid #e2e8f0;border-radius:5px;grid-template-columns:minmax(100px,.6fr) 1fr 1fr 1fr auto;align-items:center;gap:6px;margin:7px 0;padding:8px;display:grid}.quick-entry__inline-form strong{grid-column:1/-1;font-size:12px}.form-grid--dense{gap:9px}.discipline-registry__heading{align-items:flex-start}.discipline-registry__filters{align-items:end;margin:10px 0}.discipline-registry__filters label{gap:3px;min-width:170px;font-size:12px;font-weight:700;display:grid}.registry-pagination{justify-content:space-between;align-items:center;gap:10px;padding-top:10px;display:flex}@media (width<=1000px){.compact-entry-sheet__header,.quick-entry{grid-template-columns:1fr;display:grid}.quick-entry__templates{border-right:0;border-bottom:1px solid var(--border-color,#d8dee8);min-height:0;padding-bottom:10px;padding-right:0}.quick-entry__template-list{max-height:160px}.quick-entry__inline-form{grid-template-columns:1fr 1fr}}.quick-entry__inline-form--room{grid-template-columns:minmax(120px,1fr) minmax(90px,.8fr) minmax(100px,.8fr) minmax(150px,1fr) minmax(100px,.7fr) auto}.quick-entry__inline-form--room .field-help{grid-column:1/-1}.schedule-builder-page:has(.session-workbench){margin:0}.session-workbench{color:#1f2d44;background:#fff;min-height:calc(100vh - 76px)}.session-workbench__topbar{background:#fff;border-bottom:1px solid #dce5f0;justify-content:space-between;align-items:flex-end;gap:18px;padding:18px 22px 14px;display:flex}.session-workbench__topbar-main{flex:1;min-width:0}.session-workbench__breadcrumb{color:#7a879a;flex-wrap:wrap;gap:8px;margin:0 0 12px;font-size:14px;display:flex}.session-workbench__breadcrumb strong{color:#1e2a40}.session-workbench__selectors{flex-wrap:wrap;gap:10px;display:flex}.session-workbench__selectors label{color:#5d6c82;gap:4px;min-width:128px;font-size:11px;font-weight:750;display:grid}.session-workbench__selectors label:nth-child(2){min-width:158px}.session-workbench__selectors label:nth-child(3){min-width:250px}.session-workbench__selectors label:nth-child(4){min-width:145px}.session-workbench__selectors input,.session-workbench__selectors select{color:#243247;background:#fff;border:1px solid #d8e1ed;border-radius:6px;min-height:34px;padding:6px 9px;font-size:12px;font-weight:650}.session-workbench__selectors input[readonly]{color:#4f5f75;background:#f8fafc}.session-workbench__topbar-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:7px;display:flex}.session-workbench__topbar-actions .button{white-space:nowrap;min-height:34px;padding:0 11px;font-size:12px}.session-workbench__topbar-actions .button--primary{background:#146ee7;border-color:#146ee7;box-shadow:0 7px 15px #146ee72e}.session-workbench__topbar-actions .button--primary:hover{background:#0e5fc9;border-color:#0e5fc9}.session-workbench__layout{grid-template-columns:218px minmax(0,1fr);min-height:calc(100vh - 157px);display:grid}.session-workbench__layout--nav-collapsed{grid-template-columns:72px minmax(0,1fr)}.session-workbench__nav{background:#fff;border-right:1px solid #dce5f0;flex-direction:column;min-width:0;padding:12px 10px;transition:width .18s;display:flex}.session-workbench__nav-brand{border-bottom:1px solid #edf2f7;justify-content:space-between;align-items:center;gap:6px;padding:0 4px 12px;display:flex}.session-workbench__mark{color:#2579ea;place-items:center;width:30px;height:30px;font-size:24px;display:grid}.session-workbench__nav-toggle{border-color:#d8e1ed;min-height:32px;padding:0 8px;font-size:11px}.session-workbench__nav-search{padding:12px 2px 10px;display:block}.session-workbench__nav-search input{border:1px solid #d8e1ed;border-radius:6px;width:100%;min-height:34px;padding:6px 9px;font-size:12px}.session-workbench__nav-list{gap:2px;display:grid;overflow:auto}.session-workbench__nav-item{color:#46576d;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;align-items:center;gap:10px;min-height:38px;padding:0 9px;font-size:13px;display:flex}.session-workbench__nav-item>span{color:#4e74bd;text-align:center;width:15px;font-size:16px}.session-workbench__nav-item b{font-weight:650}.session-workbench__nav-item:hover,.session-workbench__nav-item.is-active{color:#0f69d7;background:#eaf3ff}.session-workbench__nav-item.is-active b{font-weight:800}.session-workbench__period-card{color:#5c6d84;background:#f7fbff;border:1px solid #d9e7f8;border-radius:6px;gap:4px;margin:0 4px 7px;padding:8px 9px;display:grid}.session-workbench__period-card small{color:#7e8da1;text-transform:uppercase;font-size:9px;font-weight:750}.session-workbench__period-card strong{color:#1e5fae;font-size:11px;line-height:1.25}.session-workbench__period-card span{font-size:10px}.session-workbench__tree{border-left:1px solid #d6e5fa;gap:2px;margin:2px 0 6px;padding:3px 0 5px 9px;display:grid}.session-workbench__tree-program,.session-workbench__tree-group{color:#286ac2;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:5px;align-items:center;gap:6px;width:100%;min-height:31px;padding:0 7px;font-size:12px;display:flex}.session-workbench__tree-program b{font-weight:760}.session-workbench__tree-course{color:#7e8da3;justify-content:space-between;align-items:center;gap:5px;padding:5px 7px 2px 22px;font-size:11px;font-weight:700;display:flex}.session-workbench__tree-add{border-radius:5px;width:23px;height:23px;font-size:16px}.session-workbench__tree-group-row{grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:3px;display:grid}.session-workbench__tree-group{color:#50627a;padding-left:22px}.session-workbench__tree-group:hover,.session-workbench__tree-group.is-active{color:#0c69dd;background:#edf5ff}.session-workbench__tree-group.is-hidden-local{color:#8a98aa}.session-workbench__tree-group small{color:#8b99ab;margin-left:auto;font-size:9px;font-weight:650}.session-workbench__tree-group i{color:#1f82eb;margin-left:auto;font-size:14px}.session-workbench__tree-restore{color:#0d6fe3;border-color:#b9d6fb;width:24px;height:24px;font-size:16px}.session-workbench__tree-empty{color:#8795a9;margin:4px 8px 8px 22px;font-size:11px}.session-workbench__nav-collapse{border-color:#d8e1ed;min-height:36px;margin-top:auto;font-size:12px}.session-workbench__layout--nav-collapsed .session-workbench__nav{align-items:center;padding-inline:8px}.session-workbench__layout--nav-collapsed .session-workbench__nav-brand{justify-content:center;width:100%}.session-workbench__layout--nav-collapsed .session-workbench__nav-toggle,.session-workbench__layout--nav-collapsed .session-workbench__nav-item b,.session-workbench__layout--nav-collapsed .session-workbench__tree,.session-workbench__layout--nav-collapsed .session-workbench__nav-collapse{display:none}.session-workbench__layout--nav-collapsed .session-workbench__nav-item{justify-content:center;width:42px;padding:0}.session-workbench__main{background:#fbfcfe;min-width:0;padding:12px 16px 18px}.session-workbench__modebar{flex-wrap:wrap;align-items:center;gap:14px;min-height:42px;padding:6px 0 12px;display:flex}.session-workbench__toggle{color:#2a3a52;cursor:pointer;align-items:center;gap:7px;font-size:12px;display:inline-flex}.session-workbench__toggle input{opacity:0;pointer-events:none;position:absolute}.session-workbench__toggle span{background:#bec9d7;border-radius:999px;width:30px;height:18px;transition:background .15s;display:inline-block;position:relative}.session-workbench__toggle span:after{content:"";background:#fff;border-radius:50%;width:12px;height:12px;transition:transform .15s;position:absolute;top:3px;left:3px;box-shadow:0 1px 3px #0000002e}.session-workbench__toggle input:checked+span{background:#2184ee}.session-workbench__toggle input:checked+span:after{transform:translate(12px)}.session-workbench__toggle b{font-weight:700}.session-workbench__toggle--minor{color:#7a8799;font-size:11px}.session-workbench__toggle--minor b{font-weight:550}.session-workbench__display-scope{color:#607087;background:#fff;border:1px solid #d9e5f3;border-radius:5px;align-items:center;gap:6px;padding:4px 7px;font-size:11px;display:inline-flex}.session-workbench__display-scope b{color:#1d395e}.session-workbench__display-scope select{color:#31445f;max-width:145px;min-height:28px;font:inherit;background:#fff;border:1px solid #d6e0ec;border-radius:4px;padding:4px 6px}.session-workbench__display-scope .button{color:#0968dc;background:#fff;border-color:#b8d4fb;min-height:28px;padding-inline:7px;font-size:11px}.session-workbench__mode-actions{flex-wrap:wrap;gap:6px;margin-left:auto;display:flex}.session-workbench__mode-actions .button{color:#0968dc;background:#fff;border-color:#b8d4fb;min-height:32px;padding-inline:9px;font-size:12px}.session-workbench__empty{background:#f7fbff;border:1px dashed #a9c9f2;gap:9px;padding:22px;display:grid}.session-workbench__empty h2,.session-workbench__empty p{margin:0}.session-workbench__table-wrap{background:#fff;border:1px solid #d9e2ee;border-radius:5px;max-height:calc(100vh - 238px);overflow:auto;box-shadow:0 1px 2px #1d2b410d}.session-workbench__table{border-collapse:collapse;color:#27354a;width:100%;min-width:980px;font-size:12px}.session-workbench__table th,.session-workbench__table td{border-bottom:1px solid #d9e2ee;border-right:1px solid #d9e2ee}.session-workbench__table th:last-child,.session-workbench__table td:last-child{border-right:0}.session-workbench__table thead th{z-index:3;text-align:center;background:#f7f9fc;font-size:11px;position:sticky;top:0}.session-workbench__table thead tr:first-child th{top:0}.session-workbench__table thead tr:nth-child(2) th{z-index:4;top:48px}.session-workbench__date-head{color:#2f3f58;width:93px;min-width:93px;padding:9px 5px}.session-workbench__group-head{min-width:260px;padding:7px 4px}.session-workbench__group-heading{grid-template-columns:minmax(0,1fr) 24px;align-items:center;gap:3px;display:grid}.session-workbench__group-select{color:#24344c;cursor:pointer;background:0 0;border:0;gap:2px;width:100%;padding:0;display:grid}.session-workbench__group-select:hover{color:#0e6edb}.session-workbench__group-hide{color:#9aa8b9;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:5px;width:24px;height:24px;font-size:17px;line-height:1}.session-workbench__group-hide:hover{color:#d34a4a;background:#fff6f6;border-color:#ffd1d1}.session-workbench__group-head strong{font-size:13px}.session-workbench__group-head small{color:#7b899c;font-size:10px;font-weight:600}.session-workbench__time-head{color:#55667d;width:60px;min-width:60px}.session-workbench__day-cell{color:#33445d;text-align:center;background:#fbfcfe;width:93px;padding:7px 5px}.session-workbench__day-cell strong,.session-workbench__day-cell small{display:block}.session-workbench__day-cell strong{font-size:12px}.session-workbench__day-cell small{color:#68788e;margin-top:2px;font-size:11px}.session-workbench__time-cell{color:#45566d;text-align:center;cursor:pointer;vertical-align:middle;width:60px;padding:5px}.session-workbench__time-cell span{margin:2px 0;display:block}.session-workbench__event-cell{cursor:pointer;vertical-align:middle;min-width:200px;padding:0}.session-workbench__event-cell:hover,.session-workbench__time-cell:hover{background:#f3f8ff}.session-workbench__event{color:#263850;text-align:left;cursor:pointer;background:0 0;border:0;gap:2px;width:100%;padding:6px 9px;display:grid}.session-workbench__event:hover{background:#eef6ff}.session-workbench__event strong{font-size:12px;line-height:1.2}.session-workbench__event small{color:#53677f;font-size:10px;line-height:1.25}.session-workbench__empty-slot{color:#7d8da1;text-align:left;cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;width:100%;min-height:42px;padding:0 9px;font-size:12px;display:inline-flex}.session-workbench__empty-slot span{color:#5795e6}.session-workbench__empty-slot:hover{color:#0f6de0;background:#f1f7ff}.session-workbench__out-label{color:#a0acba;padding:7px;font-size:11px;display:block}.session-workbench__table tr.is-outside td,.session-workbench__table tr.is-outside th{color:#94a2b4;background:#f6f8fb}.session-workbench__editor{gap:12px;display:grid}.session-workbench__editor--modal{grid-template-columns:minmax(0,1.25fr) minmax(260px,.75fr);align-items:start}.session-workbench__editor-title{grid-column:1/-1;justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.session-workbench__editor-title h2{color:#25364f;margin:0;font-size:15px}.session-workbench__editor-title p{color:#718198;margin:5px 0 0;font-size:12px;line-height:1.35}.session-workbench__editor-form{gap:8px;display:grid}.session-workbench__editor-form label{color:#52637a;gap:4px;font-size:11px;font-weight:700;display:grid}.session-workbench__editor-form input,.session-workbench__editor-form select,.session-workbench__editor-form textarea{color:#24344b;width:100%;min-height:32px;font:inherit;background:#fff;border:1px solid #d7e0ec;border-radius:5px;padding:6px 8px;font-size:12px}.session-workbench__editor-form select[size]{min-height:72px}.session-workbench__editor-form textarea{resize:vertical;min-height:58px}.session-workbench__remote-groups{border-top:1px solid #edf1f6;padding-top:1px}.session-workbench__template-toggle{grid-template-columns:auto 1fr;align-items:center;gap:7px!important;display:flex!important}.session-workbench__template-toggle input{width:auto;min-height:0}.session-workbench__editor-support{background:#f8fafc;border:1px solid #dce5f0;border-radius:7px;align-content:start;gap:10px;min-width:0;padding:10px;display:grid}.session-workbench__reuse,.session-workbench__checks{border-top:1px solid #e7edf4;padding-top:10px}.session-workbench__reuse:first-child{border-top:0;padding-top:0}.session-workbench__reuse header,.session-workbench__checks header{justify-content:space-between;align-items:center;gap:8px;display:flex}.session-workbench__reuse header strong,.session-workbench__checks header strong{color:#30435d;font-size:12px}.session-workbench__tabs{border-bottom:1px solid #e5ebf3;gap:15px;margin:9px 0 6px;display:flex}.session-workbench__tabs button{color:#6e7f95;cursor:pointer;background:0 0;border:0;border-bottom:2px solid #0000;padding:0 0 6px;font-size:11px}.session-workbench__tabs button.is-active{color:#0b6ade;border-color:#1674e8;font-weight:750}.session-workbench__reuse-list{gap:4px;display:grid}.session-workbench__reuse-list>button{color:#41546d;text-align:left;cursor:pointer;background:0 0;border:0;border-bottom:1px solid #f0f3f7;grid-template-columns:18px minmax(0,1fr);align-items:center;gap:6px;padding:6px 0;display:grid}.session-workbench__reuse-list>button:hover{background:#f5f9ff}.session-workbench__reuse-list>button>span:first-child{color:#1677e9}.session-workbench__reuse-list strong,.session-workbench__reuse-list small{display:block}.session-workbench__reuse-list strong{text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.session-workbench__reuse-list small{color:#8290a3;margin-top:2px;font-size:9px}.session-workbench__checks p{margin:8px 0 0;font-size:11px;line-height:1.4}.session-workbench__checks ul{color:#69798f;gap:6px;margin:9px 0 0;padding:0;font-size:10px;line-height:1.35;list-style:none;display:grid}.session-workbench__checks li{padding-left:13px;position:relative}.session-workbench__checks li:before{content:"•";color:#9aa8b9;position:absolute;left:2px}.session-workbench__checks li.is-ok:before{color:#22a661}@media (width<=1500px){.session-workbench__layout{grid-template-columns:195px minmax(0,1fr)}.session-workbench__selectors label:nth-child(3){min-width:205px}.session-workbench__selectors label:nth-child(4){min-width:135px}.session-workbench__topbar{flex-direction:column;align-items:flex-start}.session-workbench__topbar-actions{justify-content:flex-start}.session-workbench__table-wrap{max-height:calc(100vh - 290px)}}@media (width<=1180px){.session-workbench__layout{grid-template-columns:184px minmax(0,1fr)}.session-workbench__editor--modal{grid-template-columns:minmax(0,1.1fr) minmax(240px,.9fr)}.session-workbench__layout--nav-collapsed{grid-template-columns:72px minmax(0,1fr)}}@media (width<=820px){.schedule-builder-page:has(.session-workbench){margin:0}.session-workbench__topbar{padding:14px 12px}.session-workbench__selectors{grid-template-columns:1fr 1fr;width:100%;display:grid}.session-workbench__selectors label,.session-workbench__selectors label:nth-child(2),.session-workbench__selectors label:nth-child(3),.session-workbench__selectors label:nth-child(4){min-width:0}.session-workbench__layout,.session-workbench__layout--nav-collapsed{grid-template-columns:1fr}.session-workbench__nav{display:none}.session-workbench__main{padding:10px}.session-workbench__mode-actions{margin-left:0}.session-workbench__table-wrap{max-height:none}.session-workbench__editor--modal{grid-template-columns:1fr}.session-workbench__editor-title,.session-workbench__editor-form,.session-workbench__editor-support{grid-column:auto}.session-workbench__topbar-actions{width:100%}.session-workbench__topbar-actions .button{flex:1}.session-workbench__table{min-width:850px}}.session-workbench__topbar{padding-top:15px;padding-bottom:12px}.session-workbench__breadcrumb{margin-bottom:10px;font-size:13px}@media (width<=1180px){.session-workbench__display-scope{order:3;width:100%}.session-workbench__mode-actions{margin-left:0}}@media (width<=820px){.session-workbench__display-scope{flex-wrap:wrap}.session-workbench__display-scope select{flex:1;max-width:none}}:where(button,a,input,select,textarea,[tabindex]):focus-visible{outline-offset:2px;outline:3px solid #2563eb52}.app-main{min-width:0}.table-wrap{overscroll-behavior-inline:contain;min-width:0}.table-wrap table{border-collapse:separate;border-spacing:0;width:100%}.table-wrap thead th{z-index:2;position:sticky;top:0}.table-wrap tbody tr:hover td{background:#f8fbff}.app-page-header{border-bottom:1px solid var(--color-border);grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:8px 16px;margin:0 0 12px;padding:0 0 12px;display:grid}.app-page-header__eyebrow{color:var(--color-primary);letter-spacing:.08em;text-transform:uppercase;margin:0 0 3px;font-size:10px;font-weight:800}.app-page-header__title{margin:0;font-size:clamp(24px,2vw,30px)!important}.app-page-header__description{max-width:900px;color:var(--color-text-muted);grid-column:1/-1;margin:0;font-size:13px;line-height:1.45}.app-page-header__actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;display:flex}.app-section-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:12px;display:flex}.app-section-header__title{margin:0;font-size:16px!important}.app-section-header__description{color:var(--color-text-muted);margin:4px 0 0;font-size:12px;line-height:1.45}.app-section-header__actions{flex-wrap:wrap;gap:8px;display:flex}.app-toolbar,.app-filter-bar{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);flex-wrap:wrap;align-items:end;gap:8px;padding:10px 12px;display:flex}.app-toolbar__main,.app-toolbar__actions,.app-filter-bar__fields,.app-filter-bar__actions{flex-wrap:wrap;flex:auto;align-items:end;gap:8px;display:flex}.app-toolbar__actions,.app-filter-bar__actions{justify-content:flex-end}.app-search-field{align-items:center;min-width:min(100%,260px);display:inline-flex;position:relative}.app-search-field input{padding-left:34px}.app-search-field__icon{color:var(--color-text-muted);pointer-events:none;position:absolute;left:10px}.app-data-table{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);overflow:hidden}.app-data-table__scroll{max-width:100%;overflow:auto}.app-data-table table{border:0;border-radius:0;width:100%;min-width:680px}.app-data-table caption{color:var(--color-text-muted);text-align:left;padding:10px 12px;font-size:12px}.app-pagination{color:var(--color-text-muted);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:10px 0;font-size:12px;display:flex}.app-pagination__controls{align-items:center;gap:6px;display:inline-flex}.app-pagination__pages{gap:4px;display:inline-flex}.app-pagination__page{border:1px solid var(--color-border);border-radius:var(--radius-sm);min-width:30px;height:30px;color:var(--color-text-muted);cursor:pointer;background:#fff;place-items:center;padding:0 6px;display:inline-grid}.app-pagination__page[aria-current=page]{background:var(--color-primary-soft);color:var(--color-primary-hover);border-color:#bfdbfe;font-weight:800}.app-status-badge{color:#475569;white-space:nowrap;background:#f1f5f9;border:1px solid #0000;border-radius:999px;align-items:center;gap:5px;min-height:22px;padding:2px 7px;font-size:11px;font-weight:750;display:inline-flex}.app-status-badge--success{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.app-status-badge--warning{color:#92400e;background:#fffbeb;border-color:#fde68a}.app-status-badge--danger{color:#991b1b;background:#fef2f2;border-color:#fecaca}.app-status-badge--info{color:#1d4ed8;background:#eff6ff;border-color:#bfdbfe}.app-empty-state,.app-loading-state,.app-error-state{border:1px dashed var(--color-border-strong);border-radius:var(--radius-md);background:var(--color-surface);justify-items:start;gap:8px;padding:22px;display:grid}.app-empty-state__icon,.app-loading-state__icon,.app-error-state__icon{background:var(--color-primary-soft);width:34px;height:34px;color:var(--color-primary);border-radius:8px;place-items:center;font-weight:800;display:grid}.app-empty-state h2,.app-loading-state h2,.app-error-state h2{margin:0;font-size:16px!important}.app-empty-state p,.app-loading-state p,.app-error-state p{color:var(--color-text-muted);margin:0;line-height:1.45}.app-inline-alert{border-radius:var(--radius-md);color:#1e3a8a;background:#eff6ff;border:1px solid #bfdbfe;align-items:flex-start;gap:8px;padding:10px 12px;font-size:13px;line-height:1.45;display:flex}.app-inline-alert--success{color:#166534;background:#f0fdf4;border-color:#bbf7d0}.app-inline-alert--warning{color:#92400e;background:#fffbeb;border-color:#fde68a}.app-inline-alert--danger{color:#991b1b;background:#fef2f2;border-color:#fecaca}.app-form-section{border-bottom:1px solid var(--color-border);padding:12px 0}.app-form-section:last-child{border-bottom:0}.app-form-section__title{margin:0 0 8px;font-size:13px!important}.app-entity-card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);gap:6px;padding:12px;display:grid}.app-entity-card--interactive{cursor:pointer;transition:border-color .16s,background .16s}.app-entity-card--interactive:hover{background:#f8fbff;border-color:#93c5fd}.app-entity-details{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-border);grid-template-columns:repeat(2,minmax(0,1fr));gap:1px;display:grid;overflow:hidden}.app-entity-details__item{background:#fff;min-width:0;padding:10px}.app-entity-details__label{color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em;font-size:10px;display:block}.app-entity-details__value{overflow-wrap:anywhere;margin-top:4px;font-size:13px;font-weight:700;display:block}.app-tabs,.app-segmented-control{border:1px solid var(--color-border);border-radius:var(--radius-md);background:#fff;gap:2px;padding:3px;display:flex;overflow-x:auto}.app-tabs__item,.app-segmented-control__item{min-height:30px;color:var(--color-text-muted);cursor:pointer;background:0 0;border:0;border-radius:4px;flex:none;padding:0 10px;font-size:12px;font-weight:700}.app-tabs__item[aria-selected=true],.app-segmented-control__item[aria-pressed=true]{background:var(--color-primary-soft);color:var(--color-primary-hover)}.app-date-range-navigator{align-items:center;gap:6px;display:inline-flex}.app-bulk-action-bar{z-index:8;border-radius:var(--radius-md);box-shadow:var(--shadow-md);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);background:#eff6fff5;border:1px solid #bfdbfe;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex;position:sticky;bottom:10px}.app-toast-stack{z-index:100;gap:8px;width:min(380px,100vw - 32px);display:grid;position:fixed;bottom:16px;right:16px}.app-toast{border:1px solid var(--color-border);border-left:4px solid var(--color-primary);border-radius:var(--radius-md);box-shadow:var(--shadow-md);background:#fff;align-items:flex-start;gap:8px;padding:12px;display:flex}.app-toast--success{border-left-color:var(--color-success)}.app-toast--warning{border-left-color:var(--color-warning)}.app-toast--danger{border-left-color:var(--color-danger)}@media (width<=820px){.app-page-header{grid-template-columns:1fr}.app-page-header__actions{justify-content:flex-start}.app-entity-details{grid-template-columns:1fr}.app-pagination{flex-direction:column;align-items:flex-start}.app-toolbar,.app-filter-bar{align-items:stretch}.app-toolbar__main,.app-toolbar__actions,.app-filter-bar__fields,.app-filter-bar__actions{justify-content:stretch;width:100%}}.sidebar-search{border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface-muted);min-height:34px;color:var(--color-text-muted);align-items:center;gap:6px;margin:0 1px 8px;padding:0 8px;display:flex}.sidebar-search input{min-width:0;min-height:30px;box-shadow:none;background:0 0;border:0;padding:0;font-size:12px}.sidebar-search input:focus{box-shadow:none}.sidebar-search__empty{color:var(--color-text-muted);padding:8px;font-size:12px}.sidebar-nav-item__star{color:#cbd5e1;cursor:pointer;background:0 0;border:0;margin-left:auto;padding:0;font-size:13px;display:none}.sidebar-nav-item:hover .sidebar-nav-item__star,.sidebar-nav-item__star--active{display:inline-block}.sidebar-nav-item__star--active{color:#eab308}.sidebar-nav-group--quick{border-bottom:1px solid var(--color-border);padding-bottom:6px}.app-topbar__context-chip{color:#1d4ed8;white-space:nowrap;background:#eff6ff;border:1px solid #bfdbfe;border-radius:999px;align-items:center;min-height:26px;padding:0 8px;font-size:11px;font-weight:750;display:inline-flex}.app-topbar__quick-action{min-height:32px;padding-inline:10px;font-size:12px}@media (width<=820px){.app-topbar__context-chip,.app-topbar__quick-action{display:none}}.sidebar-nav-item-row{align-items:center;display:flex;position:relative}.sidebar-nav-item-row .sidebar-nav-item{width:100%}.sidebar-nav-item-row .sidebar-nav-item__star{color:#cbd5e1;cursor:pointer;background:0 0;border:0;width:20px;height:24px;display:none;position:absolute;right:8px}.sidebar-nav-item-row:hover .sidebar-nav-item__star,.sidebar-nav-item-row .sidebar-nav-item__star--active{place-items:center;display:inline-grid}.sidebar-nav-item-row .sidebar-nav-item__star--active{color:#eab308}.app-sidebar--collapsed .sidebar-nav-item-row .sidebar-nav-item__star{display:none}.dashboard-workbench{grid-template-columns:minmax(0,1fr) minmax(260px,.3fr);gap:14px;display:grid}.dashboard-workbench__side{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);padding:12px}.dashboard-quick-links{gap:4px;display:grid}.dashboard-quick-links a{border-radius:var(--radius-sm);color:var(--color-text);justify-content:space-between;gap:8px;padding:9px;font-size:13px;font-weight:700;text-decoration:none;display:flex}.dashboard-quick-links a:hover{background:var(--color-primary-soft);color:var(--color-primary-hover)}.dashboard-quick-links small{color:var(--color-text-muted);text-align:right;font-size:10px;font-weight:600}.dashboard-cabinet-grid .app-entity-card{min-height:150px}.dashboard-cabinet-grid .button{align-self:start;margin-top:8px}@media (width<=900px){.dashboard-workbench{grid-template-columns:1fr}}.app-workspace{gap:12px;min-width:0;display:grid}.app-workspace__filters{top:calc(var(--layout-topbar-height) + 8px);z-index:6;position:sticky}.app-workspace__hint{margin:-4px 0 0;font-size:12px}.app-workspace__split{grid-template-columns:minmax(0,1.2fr) minmax(300px,.8fr);align-items:start;gap:12px;display:grid}.app-workspace__split--history{grid-template-columns:minmax(0,1.2fr) minmax(260px,.8fr)}.app-workspace--exchange{grid-template-columns:minmax(0,1fr);align-items:start}.app-workspace__primary,.app-workspace__secondary{gap:12px;min-width:0;display:grid}.app-workspace--reports>.app-tabs{width:fit-content;max-width:100%}.app-workspace .reports-filters,.app-workspace .exchange-card,.app-workspace .reports-attention{margin:0}.app-workspace .governance-layout{display:block}.button{border-radius:var(--radius-sm);background:var(--color-primary);box-shadow:none}.button:hover:not(:disabled){background:var(--color-primary-hover);box-shadow:none}.button--secondary{border-color:var(--color-border-strong);background:var(--color-surface);color:var(--color-primary-hover)}.button--secondary:hover:not(:disabled){background:var(--color-primary-soft);color:var(--color-primary-hover);border-color:#93c5fd}.button--danger{border-color:var(--color-danger);background:var(--color-danger)}.button--danger:hover:not(:disabled){background:#991b1b}input,select,textarea{border-radius:var(--radius-sm);min-height:36px}input:focus,select:focus,textarea:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px #2563eb1f}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible{outline-color:#2563eb6b}.panel,.info-card,.notice-card,.setup-card,.cabinet-card,.metric-card,.workspace-metric,.reports-attention,.report-table-card,.report-quality-card,.exchange-card{border-radius:var(--radius-md);box-shadow:var(--shadow-sm)}.notice-card{background:var(--color-primary-soft);border-color:#bfdbfe}.notice-card--warning{background:#fffbeb;border-color:#fde68a}@media (width<=1040px){.app-workspace--exchange,.app-workspace__split,.app-workspace__split--history{grid-template-columns:1fr}.app-workspace__filters{position:static}}@media (width<=620px){.app-workspace,.app-workspace__split,.app-workspace--exchange{gap:10px}}.schedule-planning-layout--modal{grid-template-columns:minmax(230px,280px) minmax(0,1fr)}.schedule-inspector--modal{max-width:none;max-height:none;box-shadow:none;background:0 0;border:0;border-radius:0;padding:0;position:static;overflow:visible}@media (width<=760px){.schedule-planning-layout--modal{grid-template-columns:1fr}}.schedule-optimization-dialog__footer-note{color:var(--text-muted-technical);flex:280px;font-size:11px;line-height:1.35}.schedule-settings-dialog__settings,.schedule-settings-dialog__templates{gap:12px;display:grid}.schedule-settings-dialog__templates{border-top:1px solid var(--line-technical);margin-top:18px;padding-top:14px}@media (width<=820px){.schedule-optimization-dialog__footer-note{flex-basis:100%}}
