.skip-link{z-index:1000;color:#6f1724;background:#fff;border-radius:6px;padding:10px 14px;font-weight:750;position:fixed;top:10px;left:10px;transform:translateY(-150%);box-shadow:0 8px 24px #1d171833}.skip-link:focus-visible{outline-offset:2px;outline:3px solid #e6a817;transform:translateY(0)}#main-content:focus-visible{outline-offset:-3px;outline:3px solid #e6a817}.has-open-dialog{overflow:hidden}.ui-dialog{color:#1d1718;background:0 0;border:0;border-radius:8px;width:min(100vw - 32px,680px);max-width:none;max-height:min(88dvh,900px);margin:auto;padding:0;overflow:visible}.ui-dialog--small{width:min(100vw - 32px,480px)}.ui-dialog--large{width:min(100vw - 32px,920px)}.ui-dialog::backdrop,.ui-drawer::backdrop{background:#1d17189e}.ui-dialog__surface,.ui-drawer__surface{overscroll-behavior:contain;background:#fff;border:1px solid #e7dfd8;border-radius:8px;flex-direction:column;max-height:min(88dvh,900px);display:flex;overflow:hidden;box-shadow:0 24px 70px #1d171847}.ui-dialog__header,.ui-drawer__header{border-bottom:1px solid #e7dfd8;flex:none;justify-content:space-between;align-items:flex-start;gap:18px;padding:20px 22px;display:flex}.ui-dialog__heading,.ui-drawer__heading{min-width:0}.ui-dialog__title,.ui-drawer__title{color:#1d1718;text-wrap:balance;margin:0;font-size:21px;line-height:1.25}.ui-dialog__description,.ui-drawer__description{color:#6f6564;text-wrap:pretty;margin:6px 0 0;font-size:14px;line-height:1.45}.ui-dialog__close,.ui-drawer__close{color:#6f1724;cursor:pointer;touch-action:manipulation;background:#fff;border:1px solid #e7dfd8;border-radius:6px;flex:0 0 40px;place-items:center;width:40px;height:40px;padding:0;font-size:27px;line-height:1;display:inline-grid}.ui-dialog__close:hover,.ui-drawer__close:hover{background:#f8edf0;border-color:#8b1e2d}.ui-dialog__close:focus-visible,.ui-drawer__close:focus-visible{outline-offset:2px;outline:3px solid #8b1e2d3d}.ui-dialog__body,.ui-drawer__body{overflow-wrap:anywhere;overscroll-behavior:contain;min-height:0;padding:22px;overflow-y:auto}.ui-dialog__footer,.ui-drawer__footer{background:#fffdf9;border-top:1px solid #e7dfd8;flex:none;justify-content:flex-end;align-items:center;gap:10px;padding:16px 22px;display:flex}.ui-dialog__footer .btn,.ui-drawer__footer .btn{min-width:112px}.ui-drawer{color:#1d1718;background:0 0;border:0;width:min(100vw,520px);max-width:none;height:100dvh;max-height:none;margin:0 0 0 auto;padding:0;overflow:visible}.ui-drawer--wide{width:min(100vw,720px)}.ui-drawer__surface{border-width:0 0 0 1px;border-radius:0;height:100dvh;max-height:none}.payment-dialog .ui-dialog__body{padding:0}.payment-form-section{padding:20px 22px}.payment-form-section+.payment-form-section{border-top:1px solid #e7dfd8}.payment-form-section__heading{justify-content:space-between;align-items:baseline;gap:14px;margin-bottom:16px;display:flex}.payment-form-section__heading h3{text-wrap:balance;margin:0;font-size:17px;line-height:1.3}.payment-form-section__heading span{color:#6f6564;font-size:13px}.payment-lines{display:grid}.payment-line{border-bottom:1px solid #e7dfd8;grid-template-columns:minmax(0,1fr) minmax(150px,210px);gap:16px;padding:14px 0;display:grid}.payment-line:first-child{padding-top:0}.payment-line:last-child{border-bottom:0;padding-bottom:0}.payment-line .field{min-width:0;margin-bottom:0}.payment-form-actions{z-index:2;background:#fffdf9;border-top:1px solid #e7dfd8;justify-content:space-between;align-items:center;gap:18px;padding:16px 22px;display:flex;position:sticky;bottom:0}.payment-form-total{gap:3px;min-width:0;display:grid}.payment-form-total span{color:#6f6564;font-size:12px;font-weight:650}.payment-form-total strong{font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:20px}.payment-form-commands{justify-content:flex-end;align-items:center;gap:10px;display:flex}.payment-page-form{overflow:hidden}.payment-danger-zone{border-top:1px solid #e7dfd8;justify-content:space-between;align-items:center;gap:18px;margin-top:20px;padding-top:18px;display:flex}.payment-danger-zone>div{gap:4px;min-width:0;display:grid}.payment-danger-zone span{color:#6f6564;font-size:13px;line-height:1.4}.payment-summary-list{display:grid}.payment-summary-list>div{border-bottom:1px solid #e7dfd8;justify-content:space-between;align-items:center;gap:20px;padding:16px 0;display:flex}.payment-summary-list>div:first-child{padding-top:0}.payment-summary-list>div:last-child{border-bottom:0}.payment-summary-list span{color:#6f6564}.payment-summary-list strong{text-align:right;overflow-wrap:anywhere;max-width:65%}.payment-summary-list__balance strong{color:#8b1e2d;font-size:20px}.payment-success-summary{text-align:center;gap:8px;padding:8px 0;display:grid}.payment-success-summary span,.payment-success-summary small{color:#6f6564}.payment-success-summary strong{color:#8b1e2d;font-variant-numeric:tabular-nums;overflow-wrap:anywhere;font-size:30px}.document-quick-summary{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-bottom:16px;display:grid}.document-quick-summary>div{background:#fffdf9;border:1px solid #e7dfd8;border-radius:6px;min-width:0;padding:14px}.document-quick-summary span,.creation-follow-up span{color:#6f6564;margin-bottom:5px;font-size:12px;font-weight:650;display:block}.document-quick-summary strong{font-variant-numeric:tabular-nums;font-size:22px;display:block}.student-document-fields .field{min-width:0}.student-document-fields input[type=file]{padding:10px}.student-document-fields .is-optional label:after{content:" (facultatif)";color:#6f6564;font-size:12px;font-weight:500}.follow-up-summary-list{display:grid}.follow-up-summary-list>div{border-bottom:1px solid #e7dfd8;justify-content:space-between;align-items:center;gap:20px;min-width:0;padding:15px 0;display:flex}.follow-up-summary-list>div:first-child{padding-top:0}.follow-up-summary-list>div:last-child{border-bottom:0}.follow-up-summary-list span{color:#6f6564}.follow-up-summary-list strong{text-align:right;overflow-wrap:anywhere;max-width:65%}.follow-up-summary-list__highlight strong{color:#8b1e2d;font-size:20px}.creation-follow-up{background:#fffdf9;border-left:4px solid #e6a817;padding:16px}.creation-follow-up strong{overflow-wrap:anywhere;line-height:1.45;display:block}.field-label{color:#4d4445;margin-bottom:8px;font-size:13px;font-weight:700;display:block}.field .check input[type=checkbox]{flex:0 0 18px;width:18px;min-height:18px;margin:0}.dialog-action-note{background:#fffdf9;border-left:4px solid #e6a817;gap:4px;margin-top:18px;padding:14px;display:grid}.dialog-action-note strong{color:#1d1718}.dialog-action-note span{color:#6f6564;font-size:13px;line-height:1.45}.dialog-action-note--danger{background:#fff5f4;border-left-color:#a72a2a}.dialog-action-note[hidden],.ui-dialog__footer .btn[hidden]{display:none}.confirmation-summary{border:1px solid var(--line);background:#fff5f4;border-left:4px solid #a72a2a;border-radius:8px;gap:8px;padding:16px;display:grid}.confirmation-summary span{color:var(--muted);text-transform:uppercase;font-size:12px;font-weight:700}.confirmation-summary strong{overflow-wrap:anywhere;font-size:18px}.confirmation-summary p{color:var(--muted);margin:0;line-height:1.5}.timetable-panel{overflow:hidden}.timetable-overview{--timetable-divider:#cfc1b4;border-bottom:1px solid var(--line);background:var(--panel);margin:-18px -18px 18px}.timetable-overview__heading{border-top:4px solid var(--gold);background:#fffaf2;justify-content:space-between;align-items:flex-start;gap:20px;padding:22px 24px 18px;display:flex}.timetable-overview__title{min-width:0}.timetable-overview__eyebrow{color:var(--muted);text-transform:uppercase;margin-bottom:5px;font-size:12px;font-weight:800;display:block}.timetable-overview__title h2{text-wrap:balance;font-size:24px;line-height:1.2}.timetable-overview__title p{color:var(--muted);overflow-wrap:anywhere;margin:6px 0 0;font-size:15px}.timetable-overview__meta{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.timetable-overview__meta>div{min-width:0;padding:14px 24px}.timetable-overview__meta>div+div{border-left:1px solid var(--line)}.timetable-overview__meta dt{color:var(--muted);text-transform:uppercase;margin-bottom:4px;font-size:11px;font-weight:800}.timetable-overview__meta dd{font-variant-numeric:tabular-nums;margin:0;font-size:14px;font-weight:750}.timetable-team{padding:18px 24px 20px}.timetable-team__head{justify-content:space-between;align-items:baseline;gap:16px;margin-bottom:10px;display:flex}.timetable-team__head h3{margin:0;font-size:15px}.timetable-team__head span{color:var(--muted);font-size:12px;font-weight:750}.timetable-team__list{border-top:2px solid var(--timetable-divider);grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));column-gap:28px;margin:0;padding:0;list-style:none;display:grid}.timetable-team__list li{border-bottom:1px solid var(--timetable-divider);overflow-wrap:anywhere;min-width:0;padding:10px 8px 10px 16px;font-size:14px;font-weight:700;line-height:1.35;position:relative}.timetable-team__list li:before{background:var(--gold);content:"";border-radius:50%;width:6px;height:6px;position:absolute;top:16px;left:2px}.timetable-team__empty{border-top:1px solid var(--line);color:var(--muted);margin:0;padding:12px 0}.exam-create-disclosure{padding:0;overflow:hidden}.exam-disclosure-summary{cursor:pointer;justify-content:space-between;align-items:center;gap:20px;min-height:64px;padding:16px 20px;list-style:none;display:flex}.exam-disclosure-summary::-webkit-details-marker{display:none}.exam-disclosure-summary>span:first-child{gap:3px;display:grid}.exam-disclosure-summary strong{font-size:16px}.exam-disclosure-summary small{color:var(--muted);font-size:13px}.exam-create-disclosure[open] .exam-disclosure-summary{border-bottom:1px solid var(--line)}.exam-disclosure-body{padding:20px}.ledger-item.is-selected{border-color:color-mix(in srgb, var(--forest) 44%, var(--line));background:color-mix(in srgb, var(--forest) 5%, white)}.exam-session-switcher{border-top:1px solid var(--line);margin-top:12px}.exam-session-switcher summary{min-height:48px;color:var(--forest);cursor:pointer;justify-content:space-between;align-items:center;gap:16px;font-size:14px;font-weight:750;list-style:none;display:flex}.exam-session-switcher summary::-webkit-details-marker{display:none}.exam-session-switcher .ledger-list{margin-top:2px}.exam-workspace-tabs{border-bottom:1px solid var(--line);scrollbar-width:thin;gap:24px;margin-top:18px;display:flex;overflow-x:auto}.exam-workspace .summary-row{border-top:1px solid var(--line);border-bottom:1px solid var(--line);grid-template-columns:repeat(4,minmax(0,1fr));gap:0}.exam-workspace .summary-row .stat{background:0 0;border:0;border-radius:0;padding:14px 16px}.exam-workspace .summary-row .stat+.stat{border-left:1px solid var(--line)}.exam-workspace .summary-row .stat strong{margin-top:5px;font-size:20px}.exam-workspace-tab{min-height:44px;color:var(--muted);white-space:nowrap;border-bottom:3px solid #0000;align-items:center;font-size:14px;font-weight:750;text-decoration:none;display:inline-flex}.exam-workspace-tab:hover{color:var(--forest)}.exam-workspace-tab:focus-visible{outline:3px solid color-mix(in srgb, var(--gold) 55%, transparent);outline-offset:-3px;border-radius:4px}.exam-workspace-tab.is-active{border-bottom-color:var(--forest);color:var(--forest)}.exam-overview-grid{border-top:1px solid var(--line);grid-template-columns:repeat(2,minmax(0,1fr));margin-top:20px;display:grid}.exam-workflow-section{min-width:0;padding:20px 22px 4px 0}.exam-workflow-section+.exam-workflow-section{border-left:1px solid var(--line);padding-left:22px;padding-right:0}.exam-section-heading{justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:16px;display:flex}.exam-section-heading h3,.exam-section-heading p{margin:0}.exam-section-heading h3{font-size:16px}.exam-section-heading p{color:var(--muted);margin-top:4px;font-size:13px;line-height:1.45}.exam-action-stack,.exam-status-actions{gap:12px;display:grid}.exam-inline-tool{grid-template-columns:minmax(0,1fr) auto;align-items:end;gap:10px;display:grid}.exam-inline-tool .field{min-width:0}.exam-status-actions{grid-template-columns:repeat(2,minmax(0,1fr))}.exam-status-actions .btn,.exam-status-actions form{width:100%}.exam-document-groups{margin-top:4px}.exam-document-group{padding:20px 0}.exam-document-group+.exam-document-group{border-top:1px solid var(--line)}.exam-document-links{flex-wrap:wrap;gap:10px;display:flex}@media (width<=900px){.exam-workspace .summary-row{grid-template-columns:repeat(2,minmax(0,1fr))}.exam-workspace .summary-row .stat:nth-child(3){border-left:0}.exam-workspace .summary-row .stat:nth-child(n+3){border-top:1px solid var(--line)}.exam-overview-grid{grid-template-columns:1fr}.exam-workflow-section,.exam-workflow-section+.exam-workflow-section{border-left:0;padding:18px 0}.exam-workflow-section+.exam-workflow-section{border-top:1px solid var(--line)}}@media (width<=720px){.timetable-overview__heading{flex-direction:column;align-items:stretch;padding:18px}.timetable-overview__heading .badge{align-self:flex-start}.timetable-overview__meta{grid-template-columns:1fr}.timetable-overview__meta>div{padding:12px 18px}.timetable-overview__meta>div+div{border-top:1px solid var(--line);border-left:0}.timetable-team{padding:16px 18px 18px}.timetable-team__head{flex-direction:column;align-items:flex-start;gap:3px}.exam-disclosure-summary{flex-direction:column;align-items:flex-start;gap:10px}.exam-workspace-tabs{grid-template-columns:repeat(2,minmax(0,1fr));gap:0;display:grid;overflow:visible}.exam-workspace-tab{border-bottom:1px solid var(--line);text-align:center;white-space:normal;justify-content:center;padding:0 8px}.exam-workspace-tab.is-active{border-bottom:3px solid var(--forest)}.exam-workspace .summary-row{grid-template-columns:1fr}.exam-workspace .summary-row .stat+.stat{border-top:1px solid var(--line);border-left:0}.exam-status-actions,.exam-inline-tool{grid-template-columns:1fr}.exam-inline-tool .btn,.exam-document-links .btn{width:100%}}@media (prefers-reduced-motion:no-preference){.ui-dialog[open] .ui-dialog__surface{animation:.15s ease-out ui-dialog-enter}.ui-drawer[open] .ui-drawer__surface{animation:.18s ease-out ui-drawer-enter}@keyframes ui-dialog-enter{0%{opacity:0;transform:translateY(10px)scale(.99)}to{opacity:1;transform:translateY(0)scale(1)}}@keyframes ui-drawer-enter{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}}@media (width<=620px){.ui-dialog{width:calc(100vw - 20px);max-height:calc(100dvh - 20px)}.ui-dialog__surface{max-height:calc(100dvh - 20px)}.ui-dialog__header,.ui-drawer__header,.ui-dialog__body,.ui-drawer__body{padding:18px}.ui-dialog__footer,.ui-drawer__footer{padding:14px 18px max(14px, env(safe-area-inset-bottom));flex-direction:column-reverse;align-items:stretch}.ui-dialog__footer .btn,.ui-drawer__footer .btn{width:100%}.payment-form-section{padding:18px}.payment-form-section__heading,.payment-danger-zone,.payment-form-actions,.payment-form-commands{flex-direction:column;align-items:stretch}.payment-line{grid-template-columns:1fr;gap:10px}.payment-form-actions{padding:14px 18px max(14px, env(safe-area-inset-bottom))}.payment-form-commands .btn,.payment-danger-zone .btn{width:100%}.payment-summary-list>div{flex-direction:column;align-items:flex-start;gap:5px}.payment-summary-list strong{text-align:left;max-width:none}.document-quick-summary{grid-template-columns:1fr}.follow-up-summary-list>div{flex-direction:column;align-items:flex-start;gap:5px}.follow-up-summary-list strong{text-align:left;max-width:none}}.timetable-cell-fields.has-assignment .timetable-legacy-fields{display:none!important}.timetable-cell-toolbar{justify-content:space-between;align-items:center;gap:8px;min-height:24px;display:flex}.timetable-clear-button{color:var(--danger,#8f1d2c);font:inherit;cursor:pointer;background:0 0;border:0;margin-left:auto;padding:2px 0;font-size:12px;font-weight:800}.timetable-clear-button:hover:not(:disabled),.timetable-clear-button:focus-visible{text-decoration:underline}.timetable-clear-button:disabled{color:var(--muted);cursor:not-allowed;opacity:.48;visibility:hidden}.availability-teacher-picker .searchbar{align-items:end}.availability-overview{border:1px solid var(--line);border-top:4px solid var(--gold);background:var(--panel);border-radius:8px;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;margin-top:16px;display:grid;overflow:hidden}.availability-overview__identity{min-width:0;padding:20px 22px}.availability-overview__eyebrow,.availability-overview__status>span{color:var(--muted);text-transform:uppercase;margin-bottom:5px;font-size:11px;font-weight:800;display:block}.availability-overview__identity h2{margin:0;font-size:24px}.availability-overview__identity p{color:var(--muted);margin:7px 0 0}.availability-overview__status{border-left:1px solid var(--line);background:#fffaf2;flex-direction:column;justify-content:center;min-width:210px;padding:18px 22px;display:flex}.availability-overview__status small{color:var(--muted);margin-top:7px}.availability-workflow{color:#6d4d00;background:#faedc8;border-radius:999px;width:fit-content;padding:6px 10px;font-size:13px}.availability-workflow--submitted{color:#0f5d47;background:#e1f3eb}.availability-workflow--validated{color:#fff;background:#18764f}.availability-assignments{flex-wrap:wrap;gap:8px;margin-top:12px;display:flex}.availability-assignments span{overflow-wrap:anywhere;background:#fff;border:1px solid #e3d8cc;border-radius:6px;max-width:100%;padding:7px 10px;font-size:13px;font-weight:700}.availability-toolbar{justify-content:space-between;align-items:flex-start;gap:18px;display:flex}.availability-toolbar h2{margin:0}.availability-toolbar p{margin:5px 0 0}.availability-bulk-actions,.availability-submit-actions{flex-wrap:wrap;gap:8px;display:flex}.availability-summary{border:1px solid var(--line);background:#fff;border-radius:6px;grid-template-columns:repeat(3,minmax(0,1fr));margin:16px 0;display:grid}.availability-summary>div{align-items:center;gap:7px;min-width:0;padding:10px 14px;display:flex}.availability-summary>div+div{border-left:1px solid var(--line)}.availability-summary strong{font-variant-numeric:tabular-nums}.availability-summary span:last-child{color:var(--muted);font-size:13px}.availability-grid-scroll{border:1px solid var(--line);border-radius:6px}.planning-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0;padding:0;list-style:none;display:grid}.planning-step{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:38px minmax(0,1fr);align-items:center;min-height:72px;padding:12px 16px;display:grid}.planning-step>span{background:var(--forest);color:#fff;border-radius:50%;grid-row:1/span 2;place-items:center;width:30px;height:30px;font-weight:800;display:grid}.planning-step strong,.planning-step small{min-width:0}.planning-step small,.panel-subtitle{color:var(--muted)}.planning-import{grid-template-columns:minmax(260px,1fr) auto;align-items:end;gap:12px;display:grid}.planning-preview-head{border-top:2px solid var(--line);justify-content:space-between;align-items:center;gap:16px;margin-top:18px;padding:14px 0;display:flex}.planning-preview-head>div:first-child{gap:3px;display:grid}.planning-preview-head span,.planning-row-errors{color:var(--muted);display:block}.planning-row-errors{max-width:360px;margin-top:5px}.planning-metrics{grid-template-columns:repeat(4,minmax(0,1fr));gap:10px;margin-bottom:16px;display:grid}.planning-metrics>div{border-left:4px solid var(--gold);background:#fbfaf8;gap:5px;min-width:0;padding:14px;display:grid}.planning-metrics span{color:var(--muted);font-size:13px;font-weight:700}.planning-metrics strong{font-size:24px}.planning-diagnostics{border:1px solid #e3c678;border-left:4px solid var(--gold);background:#fffaf0;margin-bottom:16px;padding:14px 16px}.planning-diagnostics--error{border-color:#e4a9b0;border-left-color:var(--forest);background:#fff5f6}.planning-diagnostics summary{cursor:pointer;justify-content:space-between;align-items:center;gap:16px;display:flex}.planning-diagnostics summary span{color:var(--muted);font-size:13px;font-weight:700}.planning-diagnostics ul{margin:8px 0 0;padding-left:20px}.planning-diagnostics-action{margin:12px 0 0}.planning-simple-alert,.planning-simple-ready{border:1px solid #e4a9b0;border-left:4px solid var(--forest);background:#fff5f6;border-radius:8px;justify-content:space-between;align-items:center;gap:16px;margin-bottom:16px;padding:16px;display:flex}.planning-simple-ready{background:#f3fbf7;border-color:#b9dfc9 #b9dfc9 #b9dfc9 #18764f;justify-content:flex-start;align-items:flex-start}.planning-simple-alert>div,.planning-simple-ready{gap:4px;min-width:0;display:grid}.planning-simple-alert strong,.planning-simple-ready strong{font-size:17px}.planning-simple-alert span,.planning-simple-ready span{color:var(--muted);line-height:1.45}.planning-blocker-guide,.planning-diagnostic-success{border:1px solid #e7dfd8;border-left:4px solid var(--gold);background:#fffdf9;border-radius:8px;gap:8px;margin-bottom:16px;padding:16px;display:grid}.planning-diagnostic-success{background:#f3fbf7;border-left-color:#18764f}.planning-diagnostic-success .btn{width:fit-content;margin-top:6px}.planning-blocker-guide strong,.planning-diagnostic-success strong{font-size:17px}.planning-blocker-guide span,.planning-diagnostic-success span{color:var(--muted);line-height:1.5}.planning-blocker-groups{gap:12px;display:grid}.planning-blocker-groups--secondary{margin-top:18px}.planning-blocker-card{border:1px solid #e4a9b0;border-left:4px solid var(--forest);background:#fff;border-radius:8px;overflow:hidden}.planning-blocker-card--info{border-color:#e3c678;border-left-color:var(--gold)}.planning-blocker-card__head{background:#fff5f6;justify-content:space-between;align-items:flex-start;gap:16px;padding:16px 18px;display:flex}.planning-blocker-card--info .planning-blocker-card__head{background:#fffaf0}.planning-blocker-card__head h3{margin:0;font-size:18px}.planning-blocker-card__head p{color:var(--muted);margin:5px 0 0;line-height:1.45}.planning-blocker-card__head>span{background:var(--forest);color:#fff;border-radius:999px;place-items:center;min-width:34px;height:34px;font-weight:800;display:inline-grid}.planning-blocker-card--info .planning-blocker-card__head>span{background:var(--gold);color:#1d1718}.planning-blocker-card ul{gap:8px;margin:0;padding:16px 18px 16px 38px;display:grid}.planning-blocker-card li{line-height:1.45}.planning-checklist{list-style:none}.planning-checklist li{grid-template-columns:16px minmax(0,1fr);gap:10px;display:grid}.planning-checklist li>span{border:2px solid var(--forest);background:#fff;border-radius:3px;width:11px;height:11px;margin-top:5px}.planning-blocker-card__action{background:#fbfaf8;border-top:1px solid #e7dfd8;gap:4px;padding:14px 18px;display:grid}.planning-blocker-card__action strong{text-transform:uppercase;color:var(--muted);font-size:13px}.planning-blocker-card__action span{color:#1d1718;line-height:1.45}.planning-steps~.panel .btn:disabled{cursor:not-allowed;filter:grayscale(.35);opacity:.48}.planning-class{border:1px solid var(--line);background:#fff;border-radius:8px;margin-top:12px;overflow:hidden}.planning-class summary{cursor:pointer;background:#fbfaf8;justify-content:space-between;align-items:center;gap:16px;padding:15px 18px;display:flex}.planning-class summary span,.planning-empty-slot{color:var(--muted)}.planning-class .subject-list-scroll{border-top:1px solid var(--line)}@media (width<=860px){.planning-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.planning-import{grid-template-columns:minmax(0,1fr)}}@media (width<=700px){.planning-steps{grid-template-columns:minmax(0,1fr)}.planning-import-head{flex-direction:column;align-items:flex-start}}@media (width<=560px){.planning-metrics{grid-template-columns:minmax(0,1fr)}.planning-preview-head,.planning-class summary,.planning-blocker-card__head,.planning-simple-alert{flex-direction:column;align-items:flex-start}.planning-diagnostic-success .btn,.planning-simple-alert .btn{width:100%}}.availability-grid{min-width:1050px;margin:0}.timetable-review-section{margin-top:16px}.timetable-review-metrics{grid-template-columns:repeat(6,minmax(0,1fr))}.timetable-review-actions,.timetable-review-legend{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.timetable-review-actions{justify-content:flex-end}.timetable-review-actions .btn:disabled{cursor:not-allowed;filter:grayscale(.35);opacity:.45}.timetable-review-legend span{color:var(--muted);align-items:center;gap:6px;font-size:13px;font-weight:700;display:inline-flex}.review-dot{background:#9b9b9b;border-radius:50%;width:10px;height:10px}.review-dot--automatic{background:#227a61}.review-dot--manual{background:var(--gold)}.review-dot--locked{background:var(--forest)}.timetable-review-grid{min-width:1180px}.timetable-review-grid th,.timetable-review-grid td{vertical-align:top}.timetable-review-grid tbody th{white-space:nowrap;width:120px}.timetable-review-break td,.timetable-review-break th{text-align:center;color:#85600f;background:#faf3df}.review-course{border-left:4px solid var(--gold);background:#fffaf0;gap:4px;min-height:112px;padding:10px;display:grid}.review-course--automatic{background:#f3faf7;border-left-color:#227a61}.review-course--locked{box-shadow:inset 0 0 0 1px #7e162738}.review-course span,.review-course small{color:var(--muted)}.review-lock-button{width:fit-content;color:var(--forest);font:inherit;cursor:pointer;background:0 0;border:0;margin-top:4px;padding:0;font-size:12px;font-weight:800}.timetable-cell-fields--locked{pointer-events:none;opacity:.68}@media (width<=1100px){.timetable-review-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (width<=700px){.timetable-review-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.timetable-review-actions,.timetable-review-legend{flex-direction:column;align-items:stretch}.timetable-review-actions .btn,.timetable-review-actions form{width:100%}}.availability-grid th,.availability-grid td{text-align:center;vertical-align:middle;padding:8px}.availability-grid thead th{background:#faf7f3;min-width:132px}.availability-grid thead th:first-child{text-align:left;min-width:132px}.availability-grid thead button{color:var(--brand);cursor:pointer;background:0 0;border:0;margin:4px auto 0;padding:0;font-size:11px;font-weight:750;display:block}.availability-grid tbody th{z-index:1;text-align:left;background:#fff;position:sticky;left:0}.availability-grid tbody th small{color:var(--muted);margin-top:3px;font-weight:500;display:block}.availability-slot{color:#5f5750;cursor:pointer;background:#f7f5f2;border:1px solid #d8d0c8;border-radius:6px;justify-content:center;align-items:center;gap:7px;width:112px;min-height:42px;padding:7px 8px;font-size:12px;font-weight:750;display:inline-flex}.availability-slot--available{color:#145e45;background:#edf8f3;border-color:#83bea5}.availability-slot--preferred{color:#715000;background:#fff6d9;border-color:#e0b43b}.availability-slot:disabled{cursor:default;opacity:.82}.availability-dot{background:#9b948c;border-radius:50%;flex:0 0 8px;width:8px;height:8px;display:inline-block}.availability-dot--available{background:#21865d}.availability-dot--preferred{background:#dca20c}.availability-dot--unavailable{background:#9b948c}.availability-legend{color:var(--muted);flex-wrap:wrap;gap:16px;margin-top:12px;font-size:12px;display:flex}.availability-legend span{align-items:center;gap:6px;display:inline-flex}.availability-submit-actions{justify-content:flex-end;margin-top:14px}@media (width<=760px){.availability-overview{grid-template-columns:1fr}.availability-overview__status{border-top:1px solid var(--line);border-left:0;min-width:0}.availability-toolbar{flex-direction:column}.availability-summary{grid-template-columns:1fr}.availability-summary>div+div{border-top:1px solid var(--line);border-left:0}.availability-bulk-actions,.availability-submit-actions{width:100%}.availability-submit-actions .btn{flex:100%}}.import-review-overview,.import-review-form,.import-review-commit{margin-top:16px}.import-review-overview h2,.import-review-commit h2{margin:4px 0}.import-review-metrics{border:1px solid var(--line);grid-template-columns:repeat(5,minmax(0,1fr));margin-top:16px;display:grid}.import-review-metrics>div{gap:5px;min-width:0;padding:14px;display:grid}.import-review-metrics>div+div{border-left:1px solid var(--line)}.import-review-metrics span{color:var(--muted);font-size:12px;font-weight:700}.import-review-metrics strong{font-size:24px}.planning-diagnostics--warning{color:#6d5000;background:#fff9e8;border-color:#d9b24a;margin-top:12px}.import-review-scroll{margin-top:14px}.import-review-table{min-width:1280px}.import-review-table th:first-child,.import-review-table td:first-child{text-align:center;width:70px}.import-review-table select,.import-review-table input[type=text],.import-review-table input[type=time]{width:100%;min-width:120px}.import-review-table td:nth-child(2) select{min-width:220px}.import-review-row--invalid{background:#fff6f4}.import-review-control{width:260px}.import-review-control ul{color:#9b2638;margin:8px 0 0;padding-left:18px;font-size:12px}.import-review-control details{color:var(--muted);margin-top:8px}.import-review-control summary{cursor:pointer;font-size:12px;font-weight:700}.import-review-control small{overflow-wrap:anywhere;max-width:240px;margin-top:5px;display:block}.import-review-footer,.import-review-commit{justify-content:flex-end;align-items:center;gap:12px;display:flex}.import-review-commit{justify-content:space-between}@media (width<=900px){.import-review-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.import-review-metrics>div+div{border-left:0}.import-review-metrics>div:nth-child(2n){border-left:1px solid var(--line)}.import-review-metrics>div:nth-child(n+3){border-top:1px solid var(--line)}.import-review-commit{flex-direction:column;align-items:stretch}}@media (width<=600px){.import-review-metrics{grid-template-columns:1fr}.import-review-metrics>div:nth-child(2n){border-left:0}.import-review-metrics>div+div{border-top:1px solid var(--line)}.import-review-footer .btn,.import-review-commit .page-actions,.import-review-commit .page-actions form,.import-review-commit .page-actions .btn{width:100%}}.guided-tour-invitation{z-index:2900;border:1px solid #d8c7bc;border-top:4px solid var(--gold);background:#fff;border-radius:8px;gap:10px;width:min(390px,100vw - 32px);padding:20px;display:grid;position:fixed;bottom:20px;right:20px;box-shadow:0 18px 48px #1d171838}.guided-tour-invitation__kicker{color:var(--forest);text-transform:uppercase;font-size:12px;font-weight:850}.guided-tour-invitation__title{font-size:19px;line-height:1.3}.guided-tour-invitation__description{color:var(--muted);margin:0;line-height:1.55}.guided-tour-invitation__actions,.guided-tour-card__footer{flex-wrap:wrap;gap:9px;display:flex}.guided-tour-invitation__actions .btn,.guided-tour-card__footer .btn{min-height:44px}.guided-tour-invitation__ignore,.guided-tour-quit{width:fit-content;min-height:44px;color:var(--muted);font:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-size:13px;font-weight:750;text-decoration:underline}.guided-tour-layer{z-index:3000;pointer-events:auto;position:fixed;inset:0}.guided-tour-highlight{z-index:3001;border:3px solid var(--gold);pointer-events:none;border-radius:8px;transition:top .18s ease-out,left .18s ease-out,width .18s ease-out,height .18s ease-out;position:fixed;box-shadow:0 0 0 9999px #120d0e9e}.guided-tour-card{z-index:3002;pointer-events:auto;background:#fff;border:1px solid #d8c7bc;border-radius:8px;gap:14px;max-height:calc(100dvh - 32px);padding:20px;display:grid;position:fixed;overflow:auto;box-shadow:0 18px 50px #120d0e57}.guided-tour-card__header{justify-content:space-between;align-items:center;gap:16px;display:flex}.guided-tour-progress{color:var(--forest);font-size:13px;font-weight:850}.guided-tour-card__title{margin:0;font-size:21px;line-height:1.3}.guided-tour-card__description{color:var(--muted);margin:0;font-size:15px;line-height:1.6}.guided-tour-card__footer{justify-content:flex-end;padding-top:3px}.guided-tour-library{border:1px solid var(--line);border-left:4px solid var(--gold);background:#fff;border-radius:8px;margin:22px 0;padding:22px}.guided-tour-library__head{justify-content:space-between;align-items:end;gap:24px;display:flex}.guided-tour-library__head h2{margin:4px 0;font-size:22px}.guided-tour-library__head p{max-width:720px;color:var(--muted);margin:0}.guided-tour-library__grid{grid-template-columns:repeat(auto-fit,minmax(min(240px,100%),1fr));gap:12px;margin-top:18px;display:grid}.guided-tour-library__card{border:1px solid var(--line);background:var(--panel);border-radius:6px;grid-template-rows:auto auto 1fr auto;gap:10px;min-width:0;padding:16px;display:grid}.guided-tour-library__card h3{margin:0;font-size:17px;line-height:1.35}.guided-tour-library__card p{color:var(--muted);margin:0;font-size:14px;line-height:1.5}.guided-tour-library__card .btn{justify-self:start}.guided-tour-library__meta{color:var(--muted);justify-content:space-between;align-items:center;gap:10px;font-size:12px;font-weight:750;display:flex}.guided-tour-library__meta [data-status=completed]{color:#166534}.guided-tour-library__meta [data-status=ignored]{color:#7c5b13}.guided-tour-library__meta [data-status=started]{color:var(--forest)}.ui-action-menu{min-width:0;position:relative}.ui-action-menu>summary{cursor:pointer;-webkit-user-select:none;user-select:none;list-style:none}.ui-action-menu>summary::-webkit-details-marker{display:none}.ui-action-menu__chevron{font-size:12px;transition:transform .15s}.ui-action-menu[open] .ui-action-menu__chevron{transform:rotate(180deg)}.ui-action-menu__panel{z-index:40;border:1px solid var(--line);background:var(--panel);overscroll-behavior:contain;border-radius:6px;gap:4px;width:max-content;min-width:230px;max-width:min(320px,100vw - 36px);max-height:min(70vh,560px);padding:8px;display:grid;position:absolute;top:calc(100% + 8px);right:0;overflow-y:auto;box-shadow:0 18px 42px #31222429}.ui-action-menu__panel .btn,.ui-action-menu__panel>a{white-space:normal;border-color:#0000;justify-content:flex-start;width:100%;min-height:42px}.ui-action-menu__panel .btn:hover,.ui-action-menu__panel>a:hover{border-color:var(--line)}@media (width<=720px){.guided-tour-invitation{width:auto;bottom:16px;left:16px;right:16px}.guided-tour-card{max-height:min(58dvh,520px)}.guided-tour-library{padding:18px}.guided-tour-library__head{flex-direction:column;align-items:stretch}.guided-tour-library__head .btn,.guided-tour-invitation__actions .btn,.ui-action-menu,.ui-action-menu>summary{width:100%}.ui-action-menu__panel{width:100%;max-width:none;left:0;right:auto}}@media (prefers-reduced-motion:reduce){.guided-tour-highlight{transition:none}}
