@import "https://fonts.googleapis.com/css2?family=IBM+Plex+Sans:ital,wght@0,400;0,600;0,700;1,400&display=swap";@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.start{inset-inline-start:var(--spacing)}.end{inset-inline-end:var(--spacing)}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.block{display:block}.hidden{display:none}.inline{display:inline}.table{display:table}.italic{font-style:italic}.underline{text-decoration-line:underline}}:root{--navy:#06183d;--navy-2:#0c285f;--blue:#075dff;--blue-soft:#eaf1ff;--ink:#07183a;--muted:#60708e;--line:#e2e8f1;--line-strong:#d2dbe8;--paper:#fff;--canvas:#fff;--pale:#f2f5f9;--shadow:0 18px 55px #06183d17;--font-sans:"IBM Plex Sans", Inter, ui-sans-serif, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--carnet-font:var(--font-sans);--carnet-size:18px;--carnet-leading:1.7;--carnet-title-size:22px}*{box-sizing:border-box}html{background:var(--canvas);font-family:var(--font-sans)}body{color:var(--ink);background:var(--canvas);font-family:var(--font-sans);margin:0}button,input,select,textarea{font:inherit}button{color:inherit}.skip-to-content{z-index:100;background:var(--navy);color:#fff;border-radius:999px;padding:10px 14px;font-weight:600;text-decoration:none;transition:top .2s;position:absolute;top:-48px;left:12px}.skip-to-content:focus{outline:2px solid var(--blue);outline-offset:2px;top:12px}.mechanical-app{background:#fff;min-height:100vh;display:flex}.technical-sidebar{z-index:20;border-right:1px solid var(--line);background:#fff;flex-direction:column;width:222px;padding:28px 18px 22px;display:flex;position:fixed;inset:0 auto 0 0}.brand-lockup,.mobile-lockup{align-items:center;padding:0 8px 34px;display:flex}.brand-logo{object-fit:contain;background:0 0;width:186px;max-width:100%;height:auto;display:block}.brand-logo-compact{width:158px}.technical-sidebar nav{gap:7px;display:grid}.technical-sidebar nav button{color:#32466b;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;align-items:center;gap:12px;width:100%;padding:12px 13px;font-size:14px;font-weight:700;display:flex}.technical-sidebar nav button span{color:#30558f;text-align:center;width:20px;font-size:17px}.technical-sidebar nav button:hover,.technical-sidebar nav button.active{color:var(--navy);background:#f1f4f9}.technical-sidebar nav button.active span{color:var(--blue)}.classroom-list{gap:8px;margin:18px 8px 0;display:grid}.classroom-chip{border:1px solid var(--line);color:#32466b;text-align:left;cursor:pointer;background:#fbfcfe;border-radius:8px;gap:3px;width:100%;padding:10px 12px;display:grid}.classroom-chip strong{color:var(--navy);letter-spacing:.04em;font-size:11px}.classroom-chip small{color:#8793a9;font-size:8px;line-height:1.35}.classroom-chip.active,.classroom-chip:hover{background:#f1f6fd;border-color:#b8cce8}.technical-note{border:1px solid var(--line);background:#fbfcfe;border-radius:9px;margin:auto 8px 18px;padding:13px}.technical-note span,.technical-note strong,.technical-note small{display:block}.technical-note span{color:#8793a9;letter-spacing:.12em;font-size:7px;font-weight:800}.technical-note strong{color:var(--blue);letter-spacing:.08em;margin-top:5px;font-size:12px}.technical-note small{color:#9aa5b6;margin-top:4px;font-size:8px}.signout{color:#3d5377;cursor:pointer;background:0 0;border:0;align-items:center;gap:10px;margin:0 8px;padding:10px 0;font-size:13px;display:flex}.signout span{color:var(--blue);font-size:16px}.technical-main{background:#fff;width:calc(100% - 222px);min-height:100vh;margin-left:222px;position:relative;overflow:hidden}.technical-header{z-index:3;border-bottom:1px solid var(--line);background:#fff;justify-content:space-between;align-items:center;gap:24px;min-height:124px;padding:28px 38px 20px;display:flex;position:relative}.mobile-lockup{display:none}.eyebrow{color:#687b9b;letter-spacing:.12em;text-transform:uppercase;margin:0 0 6px;font-size:8px;font-weight:800;display:block}.class-identity h1{color:var(--navy);letter-spacing:-.045em;margin:0;font-size:clamp(24px,3vw,31px);line-height:1.05}.class-identity p{color:var(--muted);margin:8px 0 0;font-size:11px}.header-actions{align-items:center;gap:10px;display:flex}.student-preview{border:1px solid var(--line-strong);color:#29466f;cursor:pointer;background:#fff;border-radius:7px;height:37px;padding:0 13px;font-size:9px;font-weight:800}.student-preview:hover{color:var(--blue);border-color:#85a9e8}.add-anchor{position:relative}.navy-add{color:#fff;background:var(--navy);cursor:pointer;border:0;border-radius:6px;align-items:center;gap:9px;height:38px;padding:0 13px;font-size:11px;font-weight:800;display:flex;box-shadow:0 8px 22px #06183d2e}.navy-add>span{border-right:1px solid #fff3;padding-right:5px}.round-action{border:1px solid var(--line-strong);color:#173e76;cursor:pointer;background:#fff;border-radius:50%;width:38px;height:38px;position:relative}.round-action i{background:var(--blue);border-radius:50%;width:5px;height:5px;position:absolute;top:6px;right:6px}.profile-disc{border:1px solid var(--line-strong);width:38px;height:38px;color:var(--navy);background:#fff;border-radius:50%;place-items:center;font-size:9px;font-weight:900;display:grid}.technical-add-menu{z-index:30;border:1px solid var(--line);width:250px;box-shadow:var(--shadow);background:#fff;border-radius:9px;padding:6px;position:absolute;top:45px;right:0;overflow:hidden}.technical-add-menu>button{text-align:left;cursor:pointer;background:#fff;border:0;border-radius:7px;grid-template-columns:auto 1fr;align-items:center;gap:11px;width:100%;padding:10px;display:grid}.technical-add-menu>button:hover{background:#f5f7fb}.technical-add-menu strong,.technical-add-menu small{display:block}.technical-add-menu strong{color:var(--navy);font-size:10px}.technical-add-menu small{color:#8794a8;margin-top:3px;font-size:8px}.type-icon{width:29px;height:29px;color:var(--blue);background:#f5f8ff;border:1px solid #8ab0ff;border-radius:6px;place-items:center;font-size:9px;font-weight:900;display:grid}.type-icon.test{border-color:var(--navy);color:#fff;background:var(--navy)}.type-icon.information{color:#456082;background:#eef2f7;border-color:#bbc8da}.brand-showcase{z-index:2;border:1px solid var(--line);background:#fff;border-radius:12px;grid-template-columns:minmax(290px,.78fr) minmax(500px,1.32fr);align-items:stretch;margin:24px 38px 28px;display:grid;position:relative;overflow:hidden;box-shadow:0 16px 45px #06183d0e}.showcase-copy{z-index:2;background:#fff;flex-direction:column;justify-content:center;padding:34px 32px;display:flex;position:relative}.showcase-copy:after{content:"";background:#dce4ef;width:1px;position:absolute;top:8%;bottom:8%;right:-1px}.showcase-brand{align-items:center;gap:12px;margin-bottom:25px;display:flex}.showcase-brand .brand-logo{width:176px}.showcase-overline{color:#62779a;letter-spacing:.13em;margin:0 0 9px;font-size:7px;font-weight:850}.showcase-copy h2{color:var(--navy);letter-spacing:-.055em;margin:0;font-size:clamp(26px,3.1vw,39px);line-height:1.08}.showcase-text{color:#61718b;max-width:390px;margin:17px 0 0;font-size:10px;line-height:1.65}.showcase-specs{border-top:1px solid var(--line);gap:22px;margin-top:27px;padding-top:17px;display:flex}.showcase-specs span{color:#8190a5;text-transform:uppercase;letter-spacing:.06em;font-size:7px}.showcase-specs strong{color:var(--blue);letter-spacing:0;margin-bottom:3px;font-size:13px;display:block}.showcase-visual{aspect-ratio:3/2;background:#fff;margin:0;position:relative;overflow:hidden}.showcase-visual img{object-fit:contain;width:100%;height:100%;display:block}.class-tabs{z-index:2;border-bottom:1px solid var(--line);background:#ffffffdb;gap:28px;padding:0 38px;display:flex;position:relative}.class-tabs button{color:#516582;cursor:pointer;background:0 0;border:0;padding:14px 0 12px;font-size:9px;font-weight:750;position:relative}.class-tabs button.active{color:var(--navy)}.class-tabs button.active:after{content:"";background:var(--blue);height:2px;position:absolute;bottom:-1px;left:0;right:0}.technical-sidebar nav button:disabled{opacity:.45;cursor:not-allowed}.teacher-workspace{margin:0 38px 28px}.workspace-intro{border:1px solid var(--line);background:#ffffffeb;border-radius:12px;margin-bottom:22px;padding:24px 26px}.workspace-intro h2{color:var(--navy);margin:8px 0 10px;font-size:22px}.workspace-intro p{color:#516582;max-width:560px;margin:0;font-size:12px;line-height:1.55}.workspace-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:16px;display:grid}.workspace-grid-single{grid-template-columns:1fr}.workspace-card{border:1px solid var(--line);background:#fff;border-radius:12px;gap:14px;padding:20px 22px;display:grid;box-shadow:0 8px 24px #12263f0d}.workspace-card-wide{gap:12px}.workspace-card header h3{color:var(--navy);margin:6px 0 0;font-size:18px}.workspace-card header p{color:#6d7f9b;margin:4px 0 0;font-size:11px}.workspace-stats{grid-template-columns:repeat(3,1fr);gap:10px;margin:0;display:grid}.workspace-stats div{background:#f4f7fb;border-radius:8px;padding:10px}.workspace-stats dt{color:#8793a9;letter-spacing:.06em;text-transform:uppercase;margin:0;font-size:8px;font-weight:700}.workspace-stats dd{color:var(--navy);margin:4px 0 0;font-size:20px;font-weight:800}.workspace-code{color:#516582;margin:0;font-size:11px}.workspace-detail-row{color:#516582;flex-wrap:wrap;gap:14px;font-size:10px;display:flex}.workspace-detail-row strong{color:var(--navy);font-size:14px}.branch-tags{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.branch-tags li{color:#30558f;background:#eef4fd;border-radius:999px;padding:5px 10px;font-size:9px;font-weight:700}.workspace-action{color:#fff;background:var(--navy);cursor:pointer;border:0;border-radius:8px;justify-self:start;padding:10px 14px;font-size:10px;font-weight:700}a.workspace-action{margin-top:12px;text-decoration:none;display:inline-block}.workspace-action:hover{background:#0a2f73}.workspace-action.secondary{color:var(--navy);background:#eef4fd}.workspace-action.secondary:hover{background:#dfeafb}.workload-panel{border:1px solid var(--line);background:#fbfcfe;border-radius:8px;margin-bottom:18px;padding:12px}.workload-panel header{justify-content:space-between;align-items:center;gap:8px;margin-bottom:10px;display:flex}.workload-panel h2{color:#8793a9;letter-spacing:.12em;margin:0;font-size:7px;font-weight:800}.workload-badge{border-radius:999px;padding:4px 8px;font-size:7px;font-weight:800}.workload-badge.light{color:#2f6b3f;background:#e8f6ec}.workload-badge.moderate{color:#8a6118;background:#fff4df}.workload-badge.heavy{color:#8b2e2e;background:#fdecec}.workload-totals{grid-template-columns:repeat(4,1fr);gap:6px;margin:0 0 10px;display:grid}.workload-totals div{background:#fff;border-radius:6px;padding:8px}.workload-totals dt{color:#8793a9;text-transform:uppercase;margin:0;font-size:6px;font-weight:800}.workload-totals dd{color:var(--navy);margin:3px 0 0;font-size:14px;font-weight:800}.workload-breakdown{gap:5px;margin:0;padding:0;list-style:none;display:grid}.workload-breakdown li{color:#516582;justify-content:space-between;align-items:center;gap:8px;font-size:8px;display:flex}.workload-breakdown strong{color:var(--navy)}.workload-strip{border-bottom:1px solid var(--line);background:#fffffff0;grid-template-columns:repeat(5,minmax(0,1fr));gap:8px;min-width:790px;padding:10px 14px;display:grid}.workload-day{background:#f8fafc;border:1px solid #e6ebf2;border-radius:6px;gap:4px;padding:8px;display:grid}.workload-day span{color:#8793a9;font-size:6px;font-weight:800}.workload-day strong{color:var(--navy);font-size:12px}.workload-day i{background:var(--blue);border-radius:999px;height:4px;display:block}.student-app .technical-main{width:100%;margin-left:0}.student-app .student-sidebar{width:222px}.student-access-note{border:1px solid var(--line);background:#f1f6fd;border-radius:9px;margin:0 8px 14px;padding:13px}.student-access-note span,.student-access-note strong,.student-access-note small{display:block}.student-access-note span{color:#8793a9;letter-spacing:.12em;font-size:7px;font-weight:800}.student-access-note strong{color:var(--blue);letter-spacing:.06em;margin-top:5px;font-size:11px}.student-access-note small{color:#9aa5b6;margin-top:4px;font-size:8px}.student-summary{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;margin:0 38px 18px;display:grid}.student-summary div{border:1px solid var(--line);background:#fff;border-radius:10px;padding:14px 16px}.student-summary span{color:#8793a9;letter-spacing:.08em;text-transform:uppercase;font-size:7px;font-weight:800;display:block}.student-summary strong{color:var(--navy);margin-top:6px;font-size:20px;display:block}.student-class-label{color:#5e7290;justify-self:end;font-size:8px;font-weight:750}.modal-hint{color:#516582;margin:0 0 12px;font-size:10px;line-height:1.5}.calendar-workbench{z-index:2;border:1px solid var(--line);background:#fffffff0;border-radius:10px;grid-template-columns:220px minmax(0,1fr);min-height:640px;margin:21px 38px 0;display:grid;position:relative;overflow:hidden;box-shadow:0 13px 35px #0c23460b}.calendar-tools{border-right:1px solid var(--line);background:#fafbfdeb;padding:18px 16px}.view-selector{border:1px solid var(--line);background:#eff3f8;border-radius:7px;grid-template-columns:1fr 1fr;gap:3px;margin-bottom:20px;padding:3px;display:grid}.view-selector button{color:#71809a;cursor:pointer;background:0 0;border:0;border-radius:5px;padding:7px 4px;font-size:7px;font-weight:800}.view-selector button.active{color:var(--navy);background:#fff;box-shadow:0 2px 7px #06183d14}.view-selector button span{min-width:14px;height:14px;color:var(--blue);background:var(--blue-soft);border-radius:4px;place-items:center;margin-left:2px;font-size:6px;display:inline-grid}.mini-calendar{border-bottom:1px solid var(--line);padding-bottom:20px}.mini-calendar header{justify-content:space-between;align-items:center;margin-bottom:14px;display:flex}.mini-calendar header strong{color:var(--navy);letter-spacing:.04em;font-size:9px}.mini-calendar header span{color:#536888;font-size:12px}.mini-week,.mini-days{text-align:center;grid-template-columns:repeat(7,1fr);display:grid}.mini-week b{color:#6d7e98;font-size:7px}.mini-days{row-gap:5px;margin-top:8px}.mini-days span{color:#3d5275;border-radius:50%;justify-self:center;place-items:center;width:23px;height:23px;font-size:7px;font-weight:650;display:grid}.mini-days span.muted{color:#b4bdca}.mini-days span.selected{color:#fff;background:var(--blue);box-shadow:0 5px 12px #075dff38}.filter-panel{padding-top:19px}.filter-panel h2{color:var(--navy);letter-spacing:.08em;margin:0 0 12px;font-size:8px}.filter-panel select{border:1px solid var(--line-strong);color:#3f5577;background:#fff;border-radius:6px;width:100%;height:32px;margin-bottom:12px;padding:0 8px;font-size:8px}.filter-panel label{color:#30476d;cursor:pointer;align-items:center;gap:8px;margin:10px 0;font-size:8px;font-weight:650;display:flex;position:relative}.filter-panel input{opacity:0;pointer-events:none;position:absolute}.check{background:#fff;border:1px solid #aebbd0;border-radius:3px;place-items:center;width:12px;height:12px;display:inline-grid}.filter-panel input:checked+.check:after{content:"✓";color:#fff;font-size:8px;line-height:1}.filter-panel input:checked+.check.blue{border-color:var(--blue);background:var(--blue)}.filter-panel input:checked+.check.navy{border-color:var(--navy);background:var(--navy)}.filter-panel input:checked+.check.pale{background:#6d84a5;border-color:#6d84a5}.legend-note{background:#f7f9fc;border:1px solid #dfe6f1;border-radius:7px;align-items:flex-start;gap:8px;margin-top:22px;padding:10px;display:flex}.legend-note>span{color:#fff;background:var(--blue);border-radius:50%;place-items:center;width:17px;height:17px;font-size:7px;display:grid}.legend-note p{color:#8290a4;margin:0;font-size:7px;line-height:1.5}.legend-note strong{color:#3d5375;font-size:7px;display:block}.week-calendar{background:#ffffffe6;min-width:0;position:relative;overflow:auto}.week-toolbar{z-index:5;border-bottom:1px solid var(--line);background:#fffffff5;grid-template-columns:1fr auto 1fr;align-items:center;min-width:790px;height:57px;padding:0 14px;display:grid;position:sticky;left:0}.week-toolbar>div{gap:4px;display:flex}.week-toolbar button{border:1px solid var(--line-strong);color:#405777;cursor:pointer;background:#fff;border-radius:5px;height:26px;padding:0 8px;font-size:8px}.week-toolbar h2{color:var(--navy);letter-spacing:.01em;margin:0;font-size:10px}.class-picker{justify-self:end;position:relative}.class-picker-trigger{border:1px solid var(--line-strong);color:#5e7290;cursor:pointer;background:#fff;border-radius:5px;height:26px;padding:0 10px;font-size:8px;font-weight:750}.class-picker-menu{z-index:8;border:1px solid var(--line-strong);background:#fff;border-radius:8px;gap:4px;min-width:180px;padding:6px;display:grid;position:absolute;top:calc(100% + 6px);right:0;box-shadow:0 10px 24px #12263f1f}.class-picker-menu button{color:#32466b;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;gap:2px;width:100%;padding:8px 10px;display:grid}.class-picker-menu button strong{font-size:9px}.class-picker-menu button small{color:#8793a9;font-size:7px}.class-picker-menu button.active,.class-picker-menu button:hover{background:#f1f6fd}.schedule-grid{grid-template-columns:54px repeat(5,minmax(125px,1fr));min-width:790px;display:grid;position:relative}.corner-cell{border-right:1px solid var(--line);border-bottom:1px solid var(--line);height:54px}.day-head{border-right:1px solid var(--line);border-bottom:1px solid var(--line);justify-content:center;align-items:center;gap:7px;height:54px;display:flex}.day-head span{color:#8390a3;font-size:7px;font-weight:800}.day-head strong{width:23px;height:23px;color:var(--navy);border-radius:50%;place-items:center;font-size:9px;display:grid}.day-head.today strong{color:#fff;background:var(--blue)}.day-head.today span{color:var(--blue)}.schedule-row{display:contents}.schedule-row>time{border-right:1px solid var(--line);color:#71819a;text-align:right;border-bottom:1px solid #edf1f6;height:52px;padding:7px 8px 0 0;font-size:7px;display:block}.time-slot{border-right:1px solid var(--line);border-bottom:1px solid #edf1f6;min-height:52px;padding:3px;position:relative}.time-slot:last-child{border-right:0}.schedule-event{z-index:3;border-left:2px solid var(--blue);color:#0648bb;background:#eaf1ff;border-radius:4px;min-height:46px;padding:6px 7px 5px 9px;position:relative;overflow:hidden;box-shadow:0 5px 14px #075dff17}.schedule-event small,.schedule-event strong,.schedule-event span,.schedule-event em{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.schedule-event small{letter-spacing:.03em;text-transform:uppercase;font-size:5px;font-weight:850}.schedule-event strong{margin-top:2px;font-size:7px}.schedule-event span{color:#5278b9;margin-top:2px;font-size:6px}.schedule-event em{color:#7d98c6;font-size:5px;font-style:normal;position:absolute;bottom:4px;right:6px}.schedule-event.editable{padding-top:16px}.event-actions{z-index:4;gap:3px;display:flex;position:absolute;top:3px;right:4px}.event-actions button{width:16px;height:16px;color:inherit;cursor:pointer;background:#ffffffb8;border:0;border-radius:3px;padding:0;font-size:8px;line-height:1}.schedule-event.test .event-actions button{color:#fff;background:#ffffff29}.schedule-event.test{border-color:var(--navy);color:#fff;background:var(--navy);box-shadow:0 5px 14px #06183d2e}.schedule-event.test span,.schedule-event.test em{color:#a9bae0}.schedule-event.information{color:#314866;box-shadow:none;background:#f0f3f7;border-color:#6e809e}.schedule-event.information span,.schedule-event.information em{color:#78879c}.empty-week{z-index:4;border:1px solid var(--line);width:210px;box-shadow:var(--shadow);background:#fffffff5;border-radius:8px;place-items:center;padding:24px;display:grid;position:absolute;top:170px;left:50%;transform:translate(-40%)}.empty-week span{color:#9aabc1;font-size:25px}.empty-week strong{color:var(--navy);margin-top:6px;font-size:10px}.empty-week small{color:#8997aa;margin-top:4px;font-size:7px}.prototype-label{z-index:2;color:#a0aaba;letter-spacing:.18em;text-align:right;margin:12px 38px 22px;font-size:6px;font-weight:800;position:relative}.technical-toast{z-index:80;color:#fff;background:var(--navy);box-shadow:var(--shadow);border-radius:6px;padding:12px 16px;font-size:9px;font-weight:800;position:fixed;bottom:22px;right:24px}.technical-modal-backdrop{z-index:70;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#05143285;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.technical-modal{background:#fff;border-radius:10px;width:min(520px,100%);padding:24px;box-shadow:0 30px 80px #06183d47}.technical-modal>header{border-bottom:1px solid var(--line);justify-content:space-between;align-items:flex-start;padding-bottom:17px;display:flex}.technical-modal h2{color:var(--navy);letter-spacing:-.035em;margin:0;font-size:21px}.technical-modal>header>button{border:1px solid var(--line);color:#657793;cursor:pointer;background:#fff;border-radius:6px;width:30px;height:30px;font-size:18px}.technical-modal form{gap:14px;padding-top:18px;display:grid}.technical-modal label{color:#445a7c;text-transform:uppercase;letter-spacing:.05em;gap:6px;font-size:8px;font-weight:800;display:grid}.technical-modal input,.technical-modal select,.technical-modal textarea{border:1px solid var(--line-strong);width:100%;color:var(--ink);letter-spacing:0;text-transform:none;background:#fffffff2;border-radius:6px;outline:none;padding:10px;font-size:10px}.technical-modal input:focus,.technical-modal select:focus,.technical-modal textarea:focus{border-color:var(--blue);box-shadow:0 0 0 3px #075dff14}.technical-modal textarea{resize:vertical}.modal-row{grid-template-columns:1fr 1fr 1fr;gap:9px;display:grid}.technical-modal form footer{justify-content:flex-end;gap:8px;padding-top:5px;display:flex}.technical-modal form footer button{border:1px solid var(--line-strong);color:#4b5f7e;cursor:pointer;background:#fff;border-radius:6px;padding:9px 12px;font-size:9px;font-weight:800}.technical-modal form footer button[type=submit]{border-color:var(--navy);color:#fff;background:var(--navy)}.teacher-login-shell{background-color:#f4f7fb;background-image:url(/campus-agenda-access-bg.jpg);background-position:50%;background-repeat:no-repeat;background-size:cover;place-items:center;min-height:100vh;padding:24px;display:grid}.teacher-login-loading{color:var(--navy);letter-spacing:.12em;text-transform:uppercase;justify-items:center;gap:10px;font-size:10px;font-weight:800;display:grid}.teacher-login{gap:18px;width:min(440px,100%);display:grid}.teacher-login-brand{color:var(--navy);justify-content:center;align-items:center;display:flex}.teacher-login-brand .brand-logo{width:min(300px,100%)}.teacher-login-card{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:12px;padding:28px}.teacher-login-card h1{color:var(--navy);letter-spacing:-.03em;margin:8px 0 6px;font-size:28px}.teacher-login-card>p{color:var(--muted);margin:0 0 18px;font-size:11px;line-height:1.5}.teacher-login-card form{gap:14px;display:grid}.teacher-login-card label{color:#445a7c;text-transform:uppercase;letter-spacing:.05em;gap:6px;font-size:8px;font-weight:800;display:grid}.teacher-login-card input,.teacher-login-card select{border:1px solid var(--line-strong);width:100%;color:var(--ink);letter-spacing:0;text-transform:none;background:#fffffff2;border-radius:6px;outline:none;padding:10px;font-size:11px}.teacher-login-card input:focus,.teacher-login-card select:focus{border-color:var(--blue);box-shadow:0 0 0 3px #075dff14}.teacher-login-hint{color:#7b879c;margin:0;font-size:10px;line-height:1.45}.teacher-login-error{color:#b42318;margin:0;font-size:10px;font-weight:700}.teacher-login-card form>button[type=submit]{border:1px solid var(--navy);color:#fff;background:var(--navy);cursor:pointer;border-radius:6px;padding:11px 14px;font-size:10px;font-weight:800}.teacher-login-card form>button[type=submit]:disabled{opacity:.65;cursor:wait}.teacher-login-card footer{border-top:1px solid var(--line);margin-top:16px;padding-top:16px}.student-entry-link{color:var(--blue);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;padding:0;font-size:10px;font-weight:800;text-decoration:underline}.login-tabs{border:1px solid var(--line);background:#f8fafc;border-radius:8px;grid-template-columns:1fr 1fr;gap:6px;margin-bottom:22px;padding:4px;display:grid}.login-tabs button{color:#52627f;letter-spacing:.04em;text-transform:uppercase;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:9px 10px;font-family:inherit;font-size:10px;font-weight:800}.login-tabs button.active{color:#fff;background:var(--navy)}.login-tabs button:not(.active):hover{color:var(--navy);background:#eef2f7}.login-remember{color:#445a7c;letter-spacing:0;text-transform:none;align-items:center;gap:8px;font-size:10px;font-weight:700;display:flex!important}.login-remember input[type=checkbox]{width:auto;margin:0;padding:0}.teacher-login-shell .prototype-label{text-align:center;color:#687b9b;text-shadow:0 1px 10px #fffffff2;margin:0}.teacher-login-card input.totp-code-input{letter-spacing:.28em;text-align:center;font-variant-numeric:tabular-nums;font-size:28px}@media (max-width:760px){.teacher-login-shell{background-position:62% 38%;background-size:118%;min-height:100dvh;padding:28px 44px 36px}.teacher-login{gap:10px;width:min(236px,68vw)}.teacher-login-brand .brand-logo{width:min(168px,58vw)}.teacher-login-card{-webkit-backdrop-filter:blur(12px);background:#ffffffb3;border:1px solid #ffffff80;padding:16px 14px;box-shadow:0 14px 36px #06183d29}.teacher-login-card h1{font-size:20px}.teacher-login-card>p{margin-bottom:10px;font-size:10px;line-height:1.4}.teacher-login-hint{font-size:9px;line-height:1.35}.login-tabs{margin-bottom:12px}.mfa-qr img{width:min(220px,100%);height:auto}}.mfa-qr{justify-items:center;gap:10px;margin-bottom:16px;display:grid}.mfa-qr img{border:1px solid var(--line);border-radius:8px;width:220px;height:220px}.mfa-manual-key{word-break:break-all;margin:0}.mfa-manual-key code{letter-spacing:.06em;font-size:12px}.mfa-recovery-codes{grid-template-columns:1fr 1fr;gap:8px;margin:0 0 16px;padding:0;list-style:none;display:grid}.mfa-recovery-codes code{letter-spacing:.04em;font-size:13px}.mfa-recovery-actions,.admin-security-card{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.mfa-continue{border:1px solid var(--navy);color:#fff;background:var(--navy);cursor:pointer;border-radius:6px;margin-top:12px;padding:11px 14px;font-size:10px;font-weight:800}.admin-security-card{border:1px solid var(--line);background:#fff;border-radius:8px;gap:8px;margin:16px 0;padding:16px;display:grid}.admin-security-card h4{color:var(--navy);margin:0}.admin-security-action{border:1px solid var(--line);background:#f7f8fb;border-radius:8px;gap:8px;margin:0 0 16px;padding:16px;display:grid}.admin-security-action h4,.admin-security-help h4{color:var(--navy);margin:0}.admin-security-action p,.admin-security-help p{color:#5c6b82;margin:0;font-size:13px;line-height:1.45}.admin-security-action button{justify-self:start}.admin-security-help{border:1px dashed var(--line-strong);background:#fff;border-radius:8px;margin:8px 0 0;padding:14px 16px}.admin-security-warning{color:#6a4b12;background:#fff6e8;border-radius:8px;margin:0 0 16px;padding:12px 14px;font-size:13px;line-height:1.45}.admin-security-form{gap:14px;max-width:420px;display:grid}.admin-security-form label{letter-spacing:.06em;text-transform:uppercase;color:#8793a9;gap:4px;font-size:9px;font-weight:700;display:grid}.admin-security-form input{border:1px solid var(--line-strong);color:var(--navy);background:#fff;border-radius:8px;padding:9px 10px;font-size:13px}.admin-security-form-actions{flex-wrap:wrap;gap:10px;display:flex}.student-course-day-app{background:var(--canvas);min-height:100vh;font-family:var(--carnet-font)}.student-course-day-app,.student-course-day-app button,.student-course-day-app input,.student-course-day-app select,.student-course-day-app textarea,.student-course-day-app .eyebrow,.student-course-day-app .prototype-label,.student-course-day-app .student-week-label,.student-course-day-app h1,.student-course-day-app h2,.student-course-day-app p,.student-course-day-app strong,.student-course-day-app small,.student-course-day-app span,.student-course-day-app li,.student-course-day-app .mobile-tab-bar button{font-family:var(--carnet-font)}.student-course-day-app .eyebrow,.student-course-day-app .prototype-label{font-weight:700}.student-course-day-main{width:min(720px,100%);margin:0 auto;padding:28px 20px 36px}.student-course-day-header{justify-content:space-between;align-items:center;gap:16px;margin-bottom:24px;display:flex}.student-course-day-brand{color:var(--navy);align-items:center;display:flex}.student-course-day-brand .brand-logo{width:min(220px,58vw)}.student-course-day-actions{align-items:center;gap:10px;display:flex}.student-history-anchor{position:relative}.student-history-toggle,.student-signout{border:1px solid var(--line-strong);color:var(--navy);cursor:pointer;background:#fff;border-radius:999px;padding:10px 14px;font-size:10px;font-weight:700}.student-history-menu{z-index:20;border:1px solid var(--line);width:min(320px,88vw);box-shadow:var(--shadow);background:#fff;border-radius:12px;margin:0;padding:8px;list-style:none;position:absolute;top:calc(100% + 8px);right:0}.student-history-menu button{width:100%;color:var(--ink);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:10px 12px;font-size:11px;font-weight:600}.student-history-menu button:hover{background:var(--blue-soft)}.student-course-day-card{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:16px;padding:28px}.student-course-day-card .eyebrow{margin:0 0 10px}.student-week-label{color:var(--blue);letter-spacing:.12em;text-transform:uppercase;margin:0 0 6px;font-size:12px;font-weight:700}.student-course-day-card h1{color:var(--navy);letter-spacing:-.03em;margin:0;font-size:34px;font-weight:700}.student-course-day-note{color:#7b879c;margin:10px 0 0;font-size:11px}.student-branch-list{gap:18px;margin-top:28px;display:grid}.student-branch-block h2{color:var(--navy);letter-spacing:.02em;text-transform:none;overflow-wrap:anywhere;margin:0 0 10px;font-size:13px;font-weight:700}.student-branch-block h2:empty{margin:0;display:none}.student-branch-block ul{gap:10px;margin:0;padding:0;list-style:none;display:grid}.student-branch-item{border:1px solid var(--line);border-left:4px solid var(--line-strong);background:#fbfcfe;border-radius:10px;padding:14px 16px}.student-branch-item.homework{border-left-color:var(--blue)}.student-branch-item.test{border-left-color:var(--navy)}.student-branch-item.information{border-left-color:#98a7bc}.student-item-type{color:#64748b;letter-spacing:.08em;text-transform:uppercase;margin-bottom:6px;font-size:9px;font-weight:700;display:inline-block}.student-branch-item strong{color:var(--navy);font-size:16px;font-weight:700;display:block}.student-branch-item p{color:var(--navy);font-family:var(--carnet-font);margin:6px 0 0;font-size:13px;font-weight:400}.student-branch-item .rich-doc-view,.student-branch-item .rich-doc-view p,.student-branch-item .rich-doc-view li{color:var(--navy);font-family:var(--carnet-font);font-size:var(--carnet-size);line-height:var(--carnet-leading);margin-top:0}.student-branch-item .rich-doc-view h4{font-size:var(--carnet-title-size)}.student-next-control{border:1px solid var(--line);border-left:4px solid var(--navy);background:#fbfcfe;border-radius:8px;margin:0 0 10px;padding:8px 12px}.student-next-control-kicker{color:var(--navy);letter-spacing:.04em;text-transform:uppercase;overflow-wrap:anywhere;margin:0;font-size:11px;font-weight:700}.student-next-control-warn{color:#c2410c;margin-right:5px;line-height:1;display:inline-block}.student-next-control-date{color:var(--blue);margin:2px 0 0;font-size:12px;font-weight:600}.student-next-control-titles{gap:2px;margin:4px 0 0;padding:0;list-style:none;display:grid}.student-next-control-titles strong{color:var(--navy);overflow-wrap:anywhere;font-size:15px;font-weight:700;display:block}.student-next-control-detail{color:var(--navy);overflow-wrap:anywhere;margin-top:1px;font-size:13px;font-weight:400;display:block}.student-next-control.urgency-week,.student-next-control.urgency-tomorrow{background:#fff8ef;border-left-color:#c2410c}.student-next-control.urgency-today{background:#eef4ff}@keyframes student-control-warn-pulse{0%,to{opacity:1}50%{opacity:.45}}@media (prefers-reduced-motion:no-preference){.student-next-control-warn{animation:1.8s ease-in-out infinite student-control-warn-pulse}}.student-control-planning{gap:18px;display:grid}.student-control-planning-week{gap:10px;display:grid}.student-control-planning-day{gap:8px;display:grid}.student-control-planning-day h4{color:var(--navy);margin:0;font-size:16px;font-weight:700}.student-control-planning .student-upcoming-tests-list{gap:8px}.student-control-planning .student-upcoming-tests-branch,.student-control-planning .student-upcoming-tests-list strong{overflow-wrap:anywhere}.student-course-day-empty{border:1px dashed var(--line-strong);text-align:center;border-radius:12px;margin-top:28px;padding:28px}.student-course-day-empty strong{color:var(--navy);font-size:14px;display:block}.student-course-day-empty small{color:#7b879c;margin-top:6px;font-size:11px;display:block}.student-course-day-app .prototype-label{text-align:center;margin-top:18px}.school-year-admin{gap:18px;padding:0 38px 28px;display:grid}.school-year-card{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:12px;padding:22px 24px}.school-year-card header h3{color:var(--navy);letter-spacing:-.02em;margin:6px 0 0;font-size:18px}.school-year-meta{color:#52627f;margin:10px 0 0;font-size:11px}.school-year-hint{color:#7b879c;margin:8px 0 0;font-size:11px;line-height:1.5}.school-year-status{color:#64748b;margin:0;font-size:11px;font-weight:700}.school-year-error{color:#b42318;margin:0;font-size:11px;font-weight:700}.school-year-upload{flex-wrap:wrap;align-items:center;gap:10px;margin-top:16px;display:flex}.school-year-upload input[type=file]{clip:rect(0 0 0 0);width:1px;height:1px;position:absolute;overflow:hidden}.school-year-file-label{border:1px dashed var(--line-strong);color:var(--navy);cursor:pointer;background:#fbfcfe;border-radius:8px;align-items:center;padding:10px 14px;font-size:10px;font-weight:800;display:inline-flex}.school-year-preview{gap:12px;margin-top:18px;display:grid}.school-year-preview-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.school-year-preview-header strong{color:var(--navy);font-size:16px}.school-year-badge{letter-spacing:.04em;text-transform:uppercase;border-radius:999px;padding:4px 8px;font-size:9px;font-weight:800;display:inline-flex}.school-year-badge.ok{color:#027a48;background:#ecfdf3}.school-year-badge.warn{color:#b54708;background:#fffaeb}.school-year-badge.active{color:#175cd3;background:#eff8ff}.school-year-badge.draft{color:#6941c6;background:#f9f5ff}.school-year-badge.archived{color:#475467;background:#f2f4f7}.school-year-warnings{color:#b54708;margin:0;padding-left:18px;font-size:10px;line-height:1.45}.school-year-week-snapshot{color:#52627f;gap:6px;margin:12px 0 0;padding:0;font-size:11px;list-style:none;display:grid}.school-year-week-table-wrap{border:1px solid var(--line);border-radius:8px;max-height:280px;overflow:auto}.school-year-week-table{border-collapse:collapse;width:100%;font-size:10px}.school-year-week-table th,.school-year-week-table td{border-bottom:1px solid var(--line);text-align:left;padding:8px 10px}.school-year-week-table th{color:#64748b;letter-spacing:.06em;text-transform:uppercase;background:#f8fafc;font-size:8px;font-weight:800;position:sticky;top:0}.school-year-actions{flex-wrap:wrap;gap:10px;display:flex}.school-year-status-grid{grid-template-columns:1fr 1fr;gap:22px;display:grid}.school-year-status-grid p{flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0 0;display:flex}.school-year-working-select{border:1px solid var(--line-strong);min-width:220px;color:var(--navy);background:#fff;border-radius:8px;margin-top:8px;padding:8px 10px;font-size:12px}.admin-working-year-banner{border:1px solid var(--line);background:#f8fafc;border-radius:12px;margin:0 0 18px;padding:16px 18px}.admin-working-year-banner-grid{grid-template-columns:1fr minmax(220px,280px);align-items:start;gap:16px;display:grid}.admin-working-year-banner h3{color:var(--navy);letter-spacing:-.02em;margin:12px 0 0;font-size:16px}.admin-working-year-banner label{color:#64748b;letter-spacing:.04em;text-transform:uppercase;gap:4px;font-size:10px;font-weight:800;display:grid}.admin-working-year-banner .school-year-working-select{width:100%;margin-top:0}.admin-working-year-banner p{flex-wrap:wrap;align-items:center;gap:8px;margin:8px 0 0;display:flex}.school-year-month-groups{gap:14px;margin-top:12px;display:grid}.school-year-month-group h4{color:var(--navy);margin:0 0 6px;font-size:12px}.school-year-month-group ul{color:#52627f;gap:4px;margin:0;padding-left:18px;font-size:11px;display:grid}.school-year-month-group li{gap:2px;display:grid}.school-year-month-group strong{color:var(--navy)}.school-year-ab-details summary{cursor:pointer;gap:4px;display:grid}.school-year-ab-details[open] summary{margin-bottom:10px}.active-plan{gap:18px;display:grid}.active-plan .school-year-week-table-wrap{max-height:460px}.active-plan .school-year-week-table td{padding:5px 10px}.active-plan .school-year-week-table select,.active-plan .school-year-week-table input[type=date]{border:1px solid var(--line-strong);color:var(--navy);background:#fff;border-radius:6px;padding:5px 7px;font-size:10px}.day-grid-legend{color:#52627f;flex-wrap:wrap;gap:14px;margin:12px 0 14px;padding:0;font-size:10px;list-style:none;display:flex}.day-grid-legend li{align-items:center;gap:6px;display:inline-flex}.day-swatch{border:1px solid var(--line-strong);border-radius:3px;width:12px;height:12px}.day-swatch.class{background:#fff}.day-swatch.holiday{background:#fee4e2;border-color:#fda29b}.day-swatch.manual{background:#eff8ff;border-color:#175cd3}.day-swatch.break{border-color:var(--line);background:#f2f4f7}.day-grid{gap:4px;display:grid}.day-grid-head,.day-grid-row{grid-template-columns:64px repeat(5,minmax(0,1fr));align-items:stretch;gap:4px;display:grid}.day-grid-head span{color:#8793a9;letter-spacing:.06em;text-transform:uppercase;padding:4px 2px;font-size:8px;font-weight:800}.day-grid-week{color:var(--navy);justify-content:space-between;align-items:center;gap:4px;padding:4px 6px;font-size:10px;font-weight:800;display:inline-flex}.day-grid-week em{font-style:normal}.day-cell{border:1px solid var(--line);min-height:38px;color:var(--navy);text-align:left;cursor:pointer;background:#fff;border-radius:6px;align-content:center;gap:1px;padding:4px 5px;font-family:inherit;display:grid}.day-cell:hover{border-color:var(--navy)}.day-cell.holiday{background:#fee4e2;border-color:#fda29b}.day-cell.manual{border-color:#175cd3}.day-cell.selected{outline:2px solid var(--navy);outline-offset:1px}.day-cell-date{font-size:10px;font-weight:700}.day-cell-label{color:#7a2e2a;text-overflow:ellipsis;white-space:nowrap;font-size:8px;line-height:1.2;overflow:hidden}.day-grid-break{border:1px dashed var(--line-strong);color:#64748b;letter-spacing:.04em;text-transform:uppercase;background:#f8fafc;border-radius:6px;padding:5px 8px;font-size:9px;font-weight:700}.day-editor{border:1px solid var(--line-strong);background:#fbfcfe;border-radius:10px;gap:12px;margin-top:16px;padding:14px 16px;display:grid}.day-editor-title{color:var(--navy);margin:0;font-size:13px;font-weight:800}.school-year-history{gap:10px;margin:12px 0 0;padding:0;list-style:none;display:grid}.school-year-history li{border:1px solid var(--line);background:#fbfcfe;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;padding:12px 14px;display:flex}.school-year-history li>div{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.school-year-history strong{color:var(--navy);font-size:12px}.controls-panel{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:12px;margin:0 38px 24px;padding:22px 24px}.controls-panel header h2{color:var(--navy);margin:6px 0 0;font-size:18px}.controls-panel header p{color:#7b879c;margin:6px 0 0;font-size:11px}.controls-list{gap:10px;margin:16px 0 0;padding:0;list-style:none;display:grid}.controls-list li{border:1px solid var(--line);border-left:4px solid var(--navy);background:#fbfcfe;border-radius:8px;padding:12px 14px}.controls-list-date{color:var(--blue);letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:800;display:block}.controls-list strong{color:var(--navy);margin-top:4px;font-size:13px;display:block}.controls-list small{color:#7b879c;margin-top:4px;font-size:10px;display:block}.controls-empty{color:#7b879c;margin:14px 0 0;font-size:11px}.control-alert-modal p{color:#52627f;margin:0;font-size:11px;line-height:1.5}.control-alert-list{gap:8px;margin:14px 0 0;padding:0;list-style:none;display:grid}.control-alert-list li{border:1px solid var(--line);background:#fff7ed;border-radius:8px;padding:10px 12px}.control-alert-list strong{color:var(--navy);font-size:11px}.control-alert-list small{color:#7b879c;margin-top:4px;font-size:10px;display:block}.control-alert-actions{justify-content:flex-end;gap:8px;margin-top:16px;display:flex}.control-alert-actions button{border:1px solid var(--line-strong);color:#4b5f7e;cursor:pointer;background:#fff;border-radius:6px;padding:9px 12px;font-size:9px;font-weight:800}.control-alert-actions .confirm-anyway{border-color:var(--navy);background:var(--navy);color:#fff}.workload-day.busy-tests strong,.workload-day.multi-tests strong{color:#b54708}.workload-day.busy-tests i,.workload-day.multi-tests i{background:#f79009}.workload-alert{color:#b54708;margin:10px 0 0;font-size:9px;font-weight:700}.student-upcoming-tests{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:12px;margin-top:18px;padding:22px 24px}.student-upcoming-tests h2{color:var(--navy);letter-spacing:.08em;text-transform:uppercase;margin:0 0 12px;font-size:14px;font-weight:700}.student-upcoming-tests-list{counter-reset:upcoming-test;gap:10px;margin:0;padding:0;list-style:none;display:grid}.student-upcoming-tests-list li{border:1px solid var(--line);border-left:4px solid var(--navy);background:#fbfcfe;border-radius:8px;padding:12px 14px}.student-upcoming-tests-date{color:var(--blue);letter-spacing:.05em;font-size:10px;font-weight:700;display:block}.student-upcoming-tests-branch{color:var(--navy);margin-top:4px;font-size:13px;font-weight:600;display:block}.student-upcoming-tests-branch:empty{display:none}.student-upcoming-tests-list strong{color:var(--navy);margin-top:2px;font-size:13px;font-weight:700;display:block}.student-upcoming-tests-detail{color:var(--navy);margin-top:2px;font-size:13px;font-weight:400;display:block}.student-upcoming-tests-empty{color:#7b879c;margin:0;font-size:11px}.library-panel{margin:0 38px 28px}.library-panel-header{margin-bottom:18px}.library-panel-header h2{color:var(--navy);margin:8px 0 6px;font-size:22px}.library-panel-header p{color:#52627f;margin:0;font-size:12px;line-height:1.5}.library-grid{grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:16px;display:grid}.library-card{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:10px;padding:18px 20px}.library-card header h3{color:var(--navy);margin:0;font-size:14px}.library-card header p{color:#7b879c;margin:6px 0 0;font-size:11px}.library-empty{color:#7b879c;margin:14px 0 0;font-size:11px;line-height:1.5}.library-error{color:#b42318;margin:0 0 12px;font-size:11px}.library-template-list{gap:8px;margin:14px 0 0;padding:0;list-style:none;display:grid}.library-template-list li{grid-template-columns:1fr auto;align-items:center;gap:8px;display:grid}.library-template-row{border:1px solid var(--line);cursor:pointer;background:#fbfcfe;border-radius:8px;grid-template-columns:auto auto 1fr;align-items:center;gap:10px;padding:10px 12px;display:grid}.library-template-copy strong{color:var(--navy);font-size:12px;display:block}.library-template-copy small{color:#7b879c;margin-top:3px;font-size:10px;display:block}.library-delete{border:1px solid var(--line);color:#7b879c;cursor:pointer;background:#fff;border-radius:6px;width:28px;height:28px}.library-form{gap:10px;margin-top:14px;display:grid}.library-form label{color:#52627f;text-transform:uppercase;letter-spacing:.05em;gap:4px;font-size:10px;font-weight:700;display:grid}.library-form select,.library-form button{border:1px solid var(--line-strong);background:#fff;border-radius:6px;padding:9px 12px;font-size:11px}.library-form button{border-color:var(--navy);background:var(--navy);color:#fff;cursor:pointer;font-weight:800}.library-form button:disabled{opacity:.55;cursor:not-allowed}.library-checkbox{text-transform:none;align-items:center;gap:8px;font-weight:600;display:flex!important}.modal-library-actions{gap:6px;margin-top:8px;display:grid}.secondary-library-action{border:1px solid var(--line-strong);color:var(--navy);cursor:pointer;background:#fff;border-radius:6px;justify-self:start;padding:8px 12px;font-size:10px;font-weight:800}.timetable-import-panel{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:10px;margin:28px 38px;padding:22px 24px}.timetable-import-panel header h2{color:var(--navy);margin:8px 0 6px;font-size:18px}.timetable-import-panel header p{color:#52627f;margin:0;font-size:12px;line-height:1.5}.timetable-import-form{gap:10px;max-width:420px;margin-top:16px;display:grid}.timetable-import-form label{text-transform:uppercase;color:#52627f;font-size:10px;font-weight:700}.timetable-import-form button{border:1px solid var(--navy);background:var(--navy);color:#fff;cursor:pointer;border-radius:6px;padding:9px 12px;font-weight:800}.timetable-preview,.timetable-history{border-top:1px solid var(--line);margin-top:18px;padding-top:16px}.timetable-preview h3,.timetable-history h3{color:var(--navy);margin:0 0 8px;font-size:14px}.timetable-warnings,.timetable-sample,.timetable-history ul{color:#52627f;margin:8px 0 0;padding-left:18px;font-size:11px}.timetable-warning,.timetable-error{color:#b42318;font-size:11px}.config-summary-row{color:#516582;flex-wrap:wrap;align-items:center;gap:14px;margin-top:14px;font-size:11px;display:flex}.config-summary-row strong{color:var(--navy);font-size:18px}.config-section-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:14px;display:flex}.config-section-header h3{color:var(--navy);margin:0;font-size:16px}.config-section-header p{color:#6d7f9b;max-width:520px;margin:4px 0 0;font-size:11px}.config-classes-editor,.config-week-plan{border:1px solid var(--line);background:#fff;border-radius:12px;margin:0 38px 24px;padding:22px 24px}.config-class-list{gap:12px;display:grid}.config-class-row{border:1px solid var(--line);background:#f8fbff;border-radius:10px;grid-template-columns:72px repeat(3,minmax(120px,1fr)) minmax(220px,2fr) auto;align-items:end;gap:10px;padding:14px;display:grid}.config-class-row-simple{background:#fff;grid-template-columns:minmax(220px,2fr) minmax(160px,1fr)}.config-class-code{border-left:3px solid var(--profession-accent,var(--line-strong));width:fit-content;color:var(--profession-fg,var(--navy));background:var(--profession-bg,#eef4fd);border-radius:6px;align-items:center;padding:4px 10px;font-size:13px;display:inline-flex}.config-class-branch{color:#516582;text-transform:none;letter-spacing:normal;margin-top:4px;font-size:11px;font-weight:600;line-height:1.4;display:block}.config-field{letter-spacing:.06em;text-transform:uppercase;color:#8793a9;gap:4px;font-size:9px;font-weight:700;display:grid}.config-field input,.config-field select{border:1px solid var(--line-strong);color:var(--navy);background:#fff;border-radius:8px;padding:9px 10px;font-size:11px}.config-field-icon input{text-align:center;font-size:18px}.config-field-wide{grid-column:span 1}.config-remove-class{color:#8b3a3a;cursor:pointer;background:#fdeeee;border:0;border-radius:8px;padding:9px 10px;font-size:9px;font-weight:700}.admin-workspace .admin-tabs{flex-wrap:nowrap;gap:6px;margin:0 38px 18px;display:flex;overflow-x:auto}.admin-workspace .admin-tabs button{border:1px solid var(--line-strong);color:#516582;cursor:pointer;white-space:nowrap;background:#fff;border-radius:8px;flex:none;padding:8px 9px;font-size:9px;font-weight:700}.admin-workspace .admin-tabs button.active{color:#fff;background:var(--navy);border-color:var(--navy)}.annual-course-table{border-collapse:collapse;width:100%;font-size:13px}.annual-course-table th,.annual-course-table td{text-align:left;vertical-align:top;border-bottom:1px solid var(--line);padding:10px 8px}.class-schedule-filters{margin-bottom:8px}.class-schedule-history-toggle{align-self:center;min-height:38px}.class-schedule-class-heading{margin:0 0 14px}.class-schedule-class-heading strong{color:var(--navy);font-size:18px;display:block}.class-schedule-class-heading p{color:#516582;margin:4px 0 0;font-size:12px}.class-schedule-hint{color:#516582;margin:0 0 14px;font-size:12px}.class-schedule-table-wrap,.class-schedule-global-wrap{overflow-x:auto}.class-schedule-table button{border:1px solid var(--line-strong);color:var(--navy);cursor:pointer;background:#f8fafc;border-radius:8px;margin:0 6px 6px 0;padding:6px 9px;font-size:9px;font-weight:700}.class-schedule-row-actions{flex-wrap:wrap;gap:4px;display:flex}.class-schedule-no-teacher{color:#98a2b3;font-style:italic}.class-schedule-slot-form{border:1px solid var(--line);background:#f8fafc;border-radius:10px;margin-top:16px;padding:14px}.class-schedule-form-title{color:var(--navy);flex-basis:100%;margin:0 0 4px;font-size:12px;font-weight:700}.class-schedule-preview{gap:18px;display:grid}.class-schedule-day h4{color:var(--navy);letter-spacing:.04em;margin:0 0 10px;font-size:13px}.class-schedule-day ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.class-schedule-day li{border:1px solid var(--line);background:#fff;border-radius:8px;grid-template-columns:64px 1fr;align-items:start;gap:12px;padding:10px 12px;display:grid}.class-schedule-day li p{color:#516582;margin:0;font-size:12px}.class-schedule-period{color:var(--navy);font-size:13px;font-weight:700}.class-schedule-lunch{color:#9a3412;background:#fff7ed;border-color:#f6d7b0;font-weight:700}.class-schedule-global h4{color:var(--navy);letter-spacing:.04em;margin:0 0 12px;font-size:13px}.class-schedule-global-table{border-collapse:collapse;width:100%;min-width:520px;font-size:12px}.class-schedule-global-table th,.class-schedule-global-table td{border:1px solid var(--line);text-align:left;vertical-align:top;color:var(--navy);padding:8px 10px}.class-schedule-global-table th{letter-spacing:.04em;text-transform:uppercase;background:#f8fafc;font-size:10px}.class-schedule-lunch-row td{color:#9a3412;text-align:center;background:#fff7ed;font-weight:700}.class-schedule-lunch-row td:first-child{text-align:left}.class-schedule-toolbar{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin:0 0 16px;display:flex}.class-schedule-toolbar button{border:1px solid var(--line-strong);color:#516582;cursor:pointer;background:#fff;border-radius:8px;padding:8px 12px;font-size:10px;font-weight:700}.class-schedule-toolbar button.active{color:#fff;background:var(--navy);border-color:var(--navy)}.class-schedule-dates-table{border-collapse:collapse;width:100%;min-width:640px;font-size:12px}.class-schedule-dates-table th,.class-schedule-dates-table td{border:1px solid var(--line);text-align:left;vertical-align:top;color:var(--navy);padding:8px 10px}.class-schedule-dates-table th{letter-spacing:.04em;text-transform:uppercase;background:#f8fafc;font-size:10px}.class-schedule-layout{grid-template-columns:1fr;align-items:start;gap:22px;display:grid}.class-schedule-col-left,.class-schedule-col-right{gap:18px;min-width:0;display:grid}.class-schedule-section{border:1px solid var(--line);background:#fbfcfe;border-radius:10px;padding:16px}.class-schedule-section h4{color:var(--navy);letter-spacing:.04em;margin:0 0 12px;font-size:13px}.class-schedule-meta{color:#516582;margin:0 0 12px;font-size:12px}.class-schedule-meta strong{color:var(--navy)}.class-schedule-day-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.class-schedule-day-list li{border:1px solid var(--line);color:var(--navy);background:#fff;border-radius:8px;gap:2px;padding:10px 12px;font-size:13px;display:grid}.class-schedule-day-list span{color:#516582;font-size:12px}.class-schedule-week-pair{grid-template-columns:1fr 1fr;gap:12px;display:grid}.class-schedule-week-card{border:1px solid var(--line);background:#fff;border-radius:10px;min-width:0;padding:12px}.class-schedule-week-card h4{color:var(--navy);letter-spacing:.06em;margin:0 0 12px;font-size:12px}.class-schedule-empty{color:#98a2b3;margin:0;font-size:12px;font-style:italic}.class-schedule-attendance-form{gap:12px;display:grid}.class-schedule-attendance-form h5{color:var(--navy);letter-spacing:.05em;text-transform:uppercase;margin:0;font-size:11px}.class-schedule-additional-row{flex-wrap:wrap;align-items:start;gap:10px;display:flex}.class-schedule-rhythm-radios{flex-wrap:wrap;gap:6px;display:flex}.class-schedule-rhythm-radios label{border:1px solid var(--line-strong);color:var(--navy);letter-spacing:0;text-transform:none;cursor:pointer;background:#fff;border-radius:8px;align-items:center;gap:6px;padding:7px 10px;font-size:11px;font-weight:700;display:inline-flex}.class-schedule-rhythm-radios label.is-selected{background:var(--navy);border-color:var(--navy);color:#fff}.class-schedule-rhythm-radios input{accent-color:var(--navy)}.class-schedule-rhythm-preview{border:1px dashed var(--line-strong);background:#fff;border-radius:8px;padding:12px}.class-schedule-rhythm-preview h5{margin-bottom:8px}.class-schedule-rhythm-preview p{color:#516582;margin:0 0 4px;font-size:12px}.class-schedule-rhythm-preview strong{color:var(--navy)}.class-schedule-summary-pair{grid-template-columns:1fr 1fr;gap:8px;margin-bottom:14px;display:grid}.class-schedule-summary-card{border:1px solid var(--line);background:#fff;border-radius:8px;padding:10px 12px}.class-schedule-summary-card span{color:#8793a9;letter-spacing:.06em;text-transform:uppercase;font-size:9px;font-weight:700;display:block}.class-schedule-summary-card strong{color:var(--navy);font-size:13px}.class-schedule-preview-tabs{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.class-schedule-preview-tabs button{border:1px solid var(--line-strong);color:#516582;cursor:pointer;background:#fff;border-radius:8px;padding:6px 10px;font-size:10px;font-weight:700}.class-schedule-preview-tabs button.is-selected{background:var(--navy);border-color:var(--navy);color:#fff}.class-schedule-template-day{margin-bottom:16px}.class-schedule-template-day h4{margin:0 0 4px}.class-schedule-template-meta{color:#516582;margin:0 0 10px;font-size:12px}.class-schedule-slot-lines{gap:6px;margin:0;padding:0;list-style:none;display:grid}.class-schedule-slot-lines li{gap:2px;display:grid}.class-schedule-role-badge{color:#516582;background:#eef2f7;border-radius:999px;margin-left:6px;padding:1px 6px;font-size:9px;font-weight:700;display:inline-block}.class-schedule-week-chip{color:var(--navy);margin-left:6px;font-size:11px;font-weight:700;display:inline-block}.class-schedule-readonly{color:var(--navy);margin:0;font-size:12px;font-weight:700}@media (min-width:1100px){.class-schedule-layout{grid-template-columns:minmax(0,55fr) minmax(0,45fr)}}@media (max-width:720px){.class-schedule-week-pair{grid-template-columns:1fr}}.annual-course-row.is-none{background:#fff8f0}.annual-course-row.is-ok{background:#f3faf4}.annual-course-row.is-multi{background:#f3f6ff}.annual-course-row.is-replacement{background:#fff7e8}.annual-course-row.is-override{background:#fff0f0}.annual-course-teachers{margin:0;padding-left:18px}.annual-course-teachers li.is-operational{color:var(--navy)}.annual-course-teachers li.is-historical{color:#667085;opacity:.78}.annual-course-class-select{gap:6px;max-width:420px;margin:0 0 14px;display:grid}.annual-course-class-select label{gap:6px;display:grid}.annual-course-class-select-control,.annual-course-class-select select{border:1px solid var(--line-strong);width:100%;min-width:220px;color:var(--navy);-webkit-appearance:none;appearance:none;cursor:pointer;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath fill='%23516582' d='M1.5 1.5 6 6l4.5-4.5'/%3E%3C/svg%3E") right 12px center no-repeat;border-radius:8px;padding:8px 36px 8px 10px;font-size:12px}.annual-course-class-select-control:focus,.annual-course-class-select select:focus{border-color:var(--blue);outline:none;box-shadow:0 0 0 3px #075dff14}.annual-course-class-select .school-year-hint{margin:0;font-size:10px}.annual-course-dialog{border:1px solid var(--line-strong);background:#f8fafc;border-radius:10px;margin-top:18px;padding:16px}.annual-course-dialog fieldset{border:0;flex-direction:column;gap:8px;padding:0;display:flex}.annual-course-dates{flex-wrap:wrap;gap:12px;display:flex}.admin-panel-block{border:1px solid var(--line);background:#fff;border-radius:12px;margin:0 38px 28px;padding:22px 24px}.admin-backup-block .workspace-action{margin-top:4px}.admin-backup-status{margin:12px 0 0;font-size:12px;font-weight:700}.admin-backup-status.is-success{color:#2f6b3f}.admin-backup-status.is-error{color:#b42318}.admin-restore-zone{border-top:1px solid var(--line);margin-top:22px;padding-top:18px}.admin-restore-zone h4{color:var(--navy);margin:0 0 6px;font-size:13px}.admin-restore-zone>p{color:#516582;margin:0 0 12px;font-size:12px;line-height:1.45}.admin-restore-file-input{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.admin-restore-meta{border:1px solid var(--line);background:#f8fafc;border-radius:8px;margin:12px 0 0;padding:12px 14px}.admin-restore-meta dl{grid-template-columns:auto 1fr;align-items:baseline;gap:6px 14px;margin:0;display:grid}.admin-restore-meta dt{color:#8793a9;text-transform:uppercase;letter-spacing:.06em;font-size:9px;font-weight:700}.admin-restore-meta dd{color:var(--navy);word-break:break-all;margin:0;font-size:12px;font-weight:700}.admin-restore-legacy{color:#b54708;margin:10px 0 0;font-size:12px;font-weight:600;line-height:1.45}.admin-restore-zone .workspace-action.is-danger{background:#b42318;margin-top:12px}.admin-restore-zone .workspace-action.is-danger:hover{background:#912018}.admin-restore-zone .workspace-action.is-danger:disabled{cursor:not-allowed;background:#e4a0a0}.admin-restore-success p{color:#516582;margin:8px 0 0;font-size:12px;font-weight:600}.admin-restore-modal p{color:#445a7c;margin:14px 0 0;font-size:13px;font-weight:600;line-height:1.45}.admin-restore-modal label{color:#445a7c;text-transform:uppercase;letter-spacing:.05em;gap:6px;margin-top:16px;font-size:10px;font-weight:800;display:grid}.admin-restore-modal input{border:1px solid var(--line-strong);width:100%;color:var(--ink);letter-spacing:.04em;text-transform:none;border-radius:6px;padding:10px;font-size:14px}.admin-restore-modal input:focus{border-color:var(--blue);outline:none;box-shadow:0 0 0 3px #075dff14}.admin-restore-modal footer{justify-content:flex-end;gap:8px;margin-top:18px;display:flex}.admin-restore-modal footer button{border:1px solid var(--line-strong);color:#4b5f7e;cursor:pointer;background:#fff;border-radius:6px;padding:9px 12px;font-size:10px;font-weight:800}.admin-restore-modal footer button.is-danger{color:#fff;background:#b42318;border-color:#b42318}.admin-restore-modal footer button.is-danger:disabled{cursor:not-allowed;background:#e4a0a0;border-color:#e4a0a0}.admin-confirm-modal p{color:#445a7c;margin:14px 0 0;font-size:13px;font-weight:600;line-height:1.5}.admin-confirm-modal footer{justify-content:flex-end;gap:8px;margin-top:18px;display:flex}.admin-confirm-modal footer button{border:1px solid var(--line-strong);color:#4b5f7e;cursor:pointer;background:#fff;border-radius:6px;padding:9px 12px;font-size:10px;font-weight:800}.admin-confirm-modal footer button.is-danger{color:#fff;background:#b42318;border-color:#b42318}.admin-confirm-modal footer button.is-danger:disabled{cursor:not-allowed;background:#e4a0a0;border-color:#e4a0a0}.admin-delete-modal{width:min(560px,100%)}.admin-delete-lead{color:var(--navy)!important;font-size:15px!important}.admin-delete-irreversible{color:#b42318!important;font-weight:800!important}.admin-delete-consequences{color:#445a7c;margin:12px 0 0;padding-left:18px;font-size:13px;font-weight:600;line-height:1.5}.admin-delete-confirm{color:#445a7c;gap:6px;margin-top:16px;font-size:11px;font-weight:800;display:grid}.admin-delete-confirm input{border:1px solid var(--line-strong);border-radius:6px;width:100%;padding:10px;font-size:14px}.admin-panel-block .school-year-admin{padding:0}.admin-inline-form{flex-wrap:wrap;align-items:end;gap:12px;margin-bottom:16px;display:flex}.admin-inline-form label{letter-spacing:.06em;text-transform:uppercase;color:#8793a9;gap:4px;font-size:9px;font-weight:700;display:grid}.admin-inline-form input,.admin-inline-form select{border:1px solid var(--line-strong);min-width:140px;color:var(--navy);background:#fff;border-radius:8px;padding:9px 10px;font-size:11px}.admin-catalog-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.admin-catalog-list li{border:1px solid var(--line);border-radius:8px;grid-template-columns:100px 1fr auto auto;align-items:center;gap:10px;padding:10px 12px;display:grid}.admin-catalog-list.admin-class-list li{grid-template-columns:80px minmax(80px,.6fr) minmax(220px,1.6fr) auto auto;align-items:start}.admin-catalog-list strong{color:var(--navy);font-size:12px}.admin-catalog-list span{color:#516582;font-size:11px}.admin-catalog-list .status-active{color:#027a48;font-weight:700}.admin-catalog-list .status-inactive{color:#98a2b3;font-weight:700}.admin-catalog-list button{border:1px solid var(--line-strong);color:var(--navy);cursor:pointer;background:#f8fafc;border-radius:8px;padding:7px 10px;font-size:9px;font-weight:700}.admin-class-pedagogy{gap:8px;display:grid}.admin-class-pedagogy label{color:#8793a9;letter-spacing:.06em;text-transform:uppercase;gap:4px;font-size:9px;font-weight:700;display:grid}.admin-class-pedagogy select{border:1px solid var(--line-strong);color:var(--navy);background:#fff;border-radius:8px;padding:8px 10px;font-size:11px}.admin-class-config-warn{color:#b54708;font-size:10px;font-weight:700}.admin-class-config-ok{color:#027a48;font-size:10px;font-weight:700}.admin-student-access{border-top:1px dashed var(--line);gap:8px;margin-top:10px;padding-top:10px;display:grid}.admin-student-access-title{color:#516582;letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:9px;font-weight:800}.admin-student-access-status{gap:4px;display:grid}.admin-student-access-status p{color:#667085;margin:0;font-size:11px;line-height:1.4}.admin-admin-code{color:#98a2b3;letter-spacing:.04em;margin:4px 0 0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:10px}.admin-code-row{flex-wrap:wrap;align-items:center;gap:6px;margin-top:4px;display:flex}.admin-code-row .admin-admin-code{margin:0}.admin-code-copy{border:1px solid var(--line);color:#667085;cursor:pointer;background:#f8fafc;border-radius:6px;padding:4px 8px;font-size:9px;font-weight:700}.admin-profession-card{grid-template-columns:minmax(180px,1.2fr) minmax(120px,.7fr) auto}.admin-profession-years{border-top:1px solid var(--line);grid-column:1/-1;gap:10px;margin-top:4px;padding-top:12px;display:grid}.admin-profession-year{border:1px solid var(--line);background:#fbfcfe;border-radius:8px;padding:12px 14px}.admin-profession-year-header{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:8px;margin-bottom:8px;display:flex}.admin-profession-year-header strong{color:var(--navy);font-size:12px}.admin-profession-year-header span{color:#667085;font-size:10px}.admin-profession-empty{color:#98a2b3;margin:0 0 8px;font-size:11px}.admin-profession-assignments{gap:6px;margin:0 0 10px;padding:0;list-style:none;display:grid}.admin-profession-assignments li{border:1px solid var(--line);background:#fff;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;display:flex}.admin-profession-assignments li>div{gap:2px;display:grid}.admin-profession-branch-label{color:var(--navy);font-size:12px;font-weight:700}.admin-profession-assignments button,.admin-profession-assign button{border:1px solid var(--line-strong);color:var(--navy);cursor:pointer;background:#f8fafc;border-radius:8px;padding:6px 10px;font-size:9px;font-weight:700}.admin-profession-assign{flex-wrap:wrap;align-items:end;gap:10px;display:flex}.admin-profession-assign label{color:#8793a9;letter-spacing:.06em;text-transform:uppercase;gap:4px;font-size:9px;font-weight:700;display:grid}.admin-profession-assign select{border:1px solid var(--line-strong);min-width:180px;color:var(--navy);background:#fff;border-radius:8px;padding:8px 10px;font-size:11px}.admin-profession-assign button:disabled{opacity:.45;cursor:not-allowed}.admin-training-plan{gap:14px;display:grid}.admin-training-plan-header{border:1px solid var(--line);background:#f8fafc;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;padding:12px 14px;display:flex}.admin-training-plan-hint{color:#667085;margin:6px 0 0;font-size:12px}.admin-training-layout{grid-template-columns:minmax(220px,280px) minmax(0,1fr);align-items:start;gap:16px;display:grid}.admin-training-professions{border:1px solid var(--line);background:#fbfcfe;border-radius:12px;padding:14px}.admin-training-professions h4{color:var(--navy);letter-spacing:.06em;text-transform:uppercase;margin:0 0 10px;font-size:11px}.admin-training-search{color:#8793a9;letter-spacing:.06em;text-transform:uppercase;gap:4px;margin-bottom:10px;font-size:9px;font-weight:700;display:grid}.admin-training-search input{border:1px solid var(--line-strong);color:var(--navy);background:#fff;border-radius:8px;padding:8px 10px;font-size:12px}.admin-training-profession-list{gap:6px;max-height:520px;margin:0;padding:0;list-style:none;display:grid;overflow:auto}.admin-training-profession-list button{text-align:left;border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:10px;gap:2px;width:100%;padding:10px 12px;display:grid}.admin-training-profession-list button strong{color:var(--navy);font-size:12px}.admin-training-profession-list button span{color:#667085;font-size:11px}.admin-training-profession-list button.is-selected{border-color:var(--blue);background:#f0f7ff}.admin-training-main{gap:12px;min-width:0;display:grid}.admin-training-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:end;gap:12px;display:flex}.admin-training-toolbar label{color:#8793a9;letter-spacing:.06em;text-transform:uppercase;gap:4px;font-size:9px;font-weight:700;display:grid}.admin-training-toolbar select{border:1px solid var(--line-strong);color:var(--navy);background:#fff;border-radius:8px;padding:8px 10px;font-size:11px}.admin-training-matrix-wrap{border:1px solid var(--line);background:#fff;border-radius:12px;overflow-x:auto}.admin-training-matrix{border-collapse:collapse;width:100%;min-width:520px}.admin-training-matrix th,.admin-training-matrix td{border-bottom:1px solid var(--line);text-align:center;padding:10px 12px}.admin-training-matrix thead th{color:#667085;background:#f8fafc;font-size:11px;font-weight:700}.admin-training-matrix tbody th{z-index:1;text-align:left;background:#fff;min-width:160px;position:sticky;left:0;box-shadow:8px 0 8px -8px #1018281f}.admin-training-matrix tbody th .admin-admin-code{margin:2px 0 0;display:block}.admin-training-type{color:#98a2b3;margin-top:2px;font-size:10px;font-weight:600;display:block}.admin-training-check{justify-content:center;align-items:center;width:28px;height:28px;margin:0 auto;display:inline-flex}.admin-training-check input{width:16px;height:16px;accent-color:var(--blue)}.admin-training-summary{color:#667085;margin:0;font-size:12px}.admin-branch-usage{color:#516582;margin:4px 0 0;font-size:11px}@media (max-width:860px){.admin-training-layout{grid-template-columns:1fr}}.class-wizard{border:1px solid var(--line);background:#fbfcfe;border-radius:12px;gap:16px;margin:0 0 22px;padding:18px 20px;display:grid}.class-wizard h3{color:var(--navy);margin:0;font-size:16px}.class-wizard-lead,.class-wizard-hint,.class-wizard-plan{color:#516582;margin:0;font-size:12px}.class-wizard-section{border-top:1px solid var(--line);gap:10px;padding-top:12px;display:grid}.class-wizard-section h4{color:var(--navy);letter-spacing:.04em;text-transform:uppercase;margin:0;font-size:12px}.class-wizard-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:12px;display:grid}.class-wizard-grid label,.class-wizard-groups label{letter-spacing:.06em;text-transform:uppercase;color:#8793a9;gap:4px;font-size:9px;font-weight:700;display:grid}.class-wizard-grid select,.class-wizard-groups input{border:1px solid var(--line-strong);color:var(--navy);background:#fff;border-radius:8px;padding:9px 10px;font-size:11px}.class-wizard-org{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:10px;display:grid}.class-wizard-org label{border:1px solid var(--line-strong);cursor:pointer;background:#fff;border-radius:10px;align-items:flex-start;gap:10px;padding:12px 14px;display:flex}.class-wizard-org label.is-selected{border-color:var(--blue);background:#f0f7ff}.class-wizard-org span{color:var(--navy);gap:2px;font-size:12px;font-weight:700;display:grid}.class-wizard-org em{color:#667085;font-size:11px;font-style:normal}.class-wizard-groups{gap:10px;display:grid}.class-wizard-group-list{flex-wrap:wrap;gap:10px;display:flex}.class-wizard-preview{gap:8px;margin:0;padding:0;list-style:none;display:grid}.class-wizard-preview li{border:1px solid var(--line);background:#fff;border-radius:8px;gap:2px;padding:10px 12px;display:grid}.class-wizard-preview strong{color:var(--navy);font-size:13px}.class-wizard-preview span{color:#516582;font-size:11px}.admin-planned-branches{color:#344054;margin:8px 0 0;font-size:12px}.admin-planned-branches strong{color:var(--navy)}.admin-link-button{color:var(--blue);font:inherit;cursor:pointer;background:0 0;border:0;margin-left:8px;padding:0;font-weight:700;text-decoration:underline;display:inline}.admin-error,.admin-loading,.admin-placeholder{color:#516582;margin:0 38px 12px;font-size:12px}.admin-error{color:#b42318;font-weight:700}.admin-panel-block .admin-error,.admin-panel-block .admin-loading{margin:0 0 12px}.admin-checkbox{color:#516582;letter-spacing:0;text-transform:none;align-items:center;gap:8px;font-size:10px;display:flex!important}.admin-checkbox input{min-width:0}.admin-teacher-list li{grid-template-columns:70px minmax(120px,1fr) auto auto auto auto}.admin-teacher-list button:disabled{opacity:.45;cursor:not-allowed}.admin-teacher-toolbar{flex-wrap:wrap;gap:8px;margin:0 0 14px;display:flex}.admin-class-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:0 0 16px;display:flex}.admin-class-group-by{color:#8793a9;letter-spacing:.06em;text-transform:uppercase;gap:4px;font-size:9px;font-weight:700;display:grid}.admin-class-group-by select{border:1px solid var(--line-strong);min-width:180px;color:var(--navy);background:#fff;border-radius:8px;padding:8px 10px;font-size:11px}.admin-class-group{gap:10px;margin:0 0 18px;display:grid}.admin-class-group h4{color:var(--navy);margin:0;font-size:13px}.admin-teacher-toolbar button{border:1px solid var(--line-strong);color:#516582;cursor:pointer;background:#fff;border-radius:8px;padding:8px 12px;font-size:10px;font-weight:700}.admin-teacher-toolbar button.is-selected{color:#fff;background:var(--navy);border-color:var(--navy)}.admin-teacher-access-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.admin-teacher-card{border:1px solid var(--line);background:#fff;border-radius:10px;grid-template-columns:minmax(180px,1.2fr) minmax(160px,1fr) auto;align-items:start;gap:14px;padding:14px 16px;display:grid}.admin-teacher-card.is-active{background:linear-gradient(#f6fef9,#fff);border-color:#abefc6}.admin-teacher-card.is-inactive{background:linear-gradient(#fff5f5,#fff);border-color:#fecdca}.admin-teacher-card.is-archived{opacity:.92;background:#f8fafc;border-color:#d0d5dd}.admin-teacher-identity{align-items:flex-start;gap:12px;display:flex}.admin-teacher-initials{min-width:42px;color:var(--navy);background:#eef4fd;border-radius:8px;justify-content:center;padding:6px 8px;font-size:12px;display:inline-flex}.admin-teacher-initials.is-class-prefix{letter-spacing:.04em;white-space:nowrap;width:max-content;min-width:3.25rem;max-width:100%;padding:6px 9px;font-size:11px;font-weight:800;line-height:1.2}.admin-teacher-name{color:var(--navy);margin:0;font-size:13px;font-weight:700}.admin-teacher-login-meta{color:#667085;margin:4px 0 0;font-size:11px}.admin-teacher-badges{flex-wrap:wrap;align-content:flex-start;gap:6px;display:flex}.badge-status,.badge-role,.badge-password{border-radius:999px;align-items:center;padding:4px 8px;font-size:10px;font-weight:700;display:inline-flex}.badge-status.is-on{color:#027a48;background:#dcfae6}.badge-status.is-off{color:#b42318;background:#fee4e2}.badge-role{color:#344054;background:#f2f4f7}.badge-role.is-admin{color:#175cd3;background:#eff8ff}.badge-password{color:#6941c6;background:#f4ebff}.admin-teacher-actions{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.admin-teacher-actions button,.admin-teacher-edit-actions button{border:1px solid var(--line-strong);color:var(--navy);cursor:pointer;background:#f8fafc;border-radius:8px;padding:7px 10px;font-size:9px;font-weight:700}.admin-teacher-actions button:disabled{opacity:.45;cursor:not-allowed}.admin-teacher-actions button.is-danger{color:#b42318;background:#fff5f5;border-color:#b42318}.admin-teacher-edit-form{gap:8px;width:100%;display:grid}.admin-teacher-edit-form label{color:#8793a9;letter-spacing:.06em;text-transform:uppercase;gap:4px;font-size:9px;font-weight:700;display:grid}.admin-teacher-edit-form input{border:1px solid var(--line-strong);color:var(--navy);border-radius:8px;padding:8px 10px;font-size:11px}.admin-teacher-edit-actions{gap:6px;display:flex}.admin-secret{border:1px solid var(--navy);background:#f8fbff;border-radius:10px;margin-bottom:18px;padding:16px 18px}.admin-secret-title{color:#516582;letter-spacing:.08em;text-transform:uppercase;margin:0 0 8px;font-size:9px;font-weight:800}.admin-secret-value{color:var(--navy);letter-spacing:.12em;margin:0 0 10px;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:22px;font-weight:700}.admin-secret-hint{color:#516582;margin:0 0 12px;font-size:11px;line-height:1.5}.admin-secret button{border:1px solid var(--navy);color:#fff;background:var(--navy);cursor:pointer;border-radius:8px;padding:8px 12px;font-size:9px;font-weight:800}.login-secondary-action{color:var(--blue);cursor:pointer;text-underline-offset:3px;background:0 0;border:0;margin-top:16px;padding:0;font-family:inherit;font-size:10px;font-weight:800;text-decoration:underline}.config-week-table-wrap{overflow-x:auto}.config-week-table{border-collapse:collapse;width:100%;font-size:11px}.config-week-table th,.config-week-table td{border-bottom:1px solid var(--line);text-align:left;padding:8px 10px}.config-week-table th{color:#8793a9;letter-spacing:.08em;text-transform:uppercase;font-size:8px}.week-kind-badge{border-radius:999px;justify-content:center;min-width:22px;padding:2px 6px;font-size:9px;font-weight:800;display:inline-flex}.week-kind-a{color:#0a2f73;background:#dfeafb}.week-kind-b{color:#6b4d0a;background:#fff1cc}.mes-cours-groups{gap:14px;display:grid}.mes-cours-class header h3{margin:4px 0 0}.mes-cours-access{border:1px dashed var(--line);background:#f8fbff;border-radius:10px;gap:6px;margin-top:12px;padding:12px 14px;display:grid}.mes-cours-access-title{color:#516582;letter-spacing:.08em;text-transform:uppercase;margin:0;font-size:9px;font-weight:800}.mes-cours-access-row{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;display:flex}.mes-cours-access-code{color:var(--navy);letter-spacing:.08em;margin:0;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:16px;font-weight:700}.mes-cours-access-empty{color:#667085;margin:0;font-size:13px}.mes-cours-access-hint{color:#667085;margin:0;font-size:11px;line-height:1.4}.mes-cours-branches{gap:8px;margin:12px 0 0;padding:0;list-style:none;display:grid}.mes-cours-branches li{border:1px solid var(--line);background:#f8fbff;border-radius:8px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.mes-cours-branches strong{color:var(--navy);font-size:14px;display:block}.mes-cours-role{color:#516582;letter-spacing:.04em;text-transform:uppercase;margin-top:4px;font-size:10px;font-weight:700;display:inline-block}.mes-cours-open-week{white-space:nowrap;flex:none;padding:8px 10px;font-size:10px}@media (max-width:430px){.mes-cours-branches li{gap:8px;padding:8px 10px}.mes-cours-open-week{padding:7px 8px;font-size:9px}}.control-planning-summary{font-weight:700;color:var(--navy)!important;margin-top:12px!important;font-size:13px!important}.control-planning-filters{border:1px solid var(--line);background:#fbfcfe;border-radius:12px;gap:14px;margin:0 0 18px;padding:16px 18px;display:grid}.control-planning-year,.control-planning-select{gap:4px;display:grid}.control-planning-year span,.control-planning-select span{color:#8793a9;letter-spacing:.08em;text-transform:uppercase;font-size:8px;font-weight:800}.control-planning-select select{border:1px solid var(--line-strong);max-width:280px;color:var(--navy);background:#fff;border-radius:8px;padding:8px 10px;font-size:12px}.control-planning-chips,.control-planning-modes{flex-wrap:wrap;gap:8px;display:flex}.control-planning-chips button,.control-planning-modes button,.control-planning-week-actions button{border:1px solid var(--line-strong);color:#32466b;cursor:pointer;background:#fff;border-radius:999px;padding:8px 12px;font-size:11px;font-weight:700}.control-planning-chips button.is-active,.control-planning-modes button.is-active{border-color:var(--navy);color:#fff;background:var(--navy)}.control-planning-chips button:hover,.control-planning-modes button:hover,.control-planning-week-actions button:hover{background:#f1f6fd;border-color:#b8cce8}.control-planning-chips button.is-active:hover,.control-planning-modes button.is-active:hover{background:#0a2f73}.control-planning-modes button:disabled{opacity:.45;cursor:not-allowed}.control-planning-filter-row{flex-wrap:wrap;justify-content:flex-start;align-items:flex-end;gap:12px 16px;display:flex}.control-planning-filter-row .control-planning-checkbox{min-height:36px;margin-top:0;padding-bottom:2px}.control-planning-body{grid-template-columns:minmax(0,1fr);align-items:start;gap:16px;display:grid}.control-planning-week-nav{border:1px solid var(--line);background:linear-gradient(135deg,#f8fbff,#fff);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:12px;margin-bottom:14px;padding:16px 18px;display:flex}.control-planning-week-nav strong{color:var(--navy);margin-top:4px;font-size:16px;display:block}.control-planning-week-actions{flex-wrap:wrap;gap:8px;display:flex}.control-planning-week-actions button:disabled{opacity:.4;cursor:not-allowed}.control-planning-week{grid-template-columns:repeat(var(--control-day-count,1), minmax(0, 1fr));gap:10px;display:grid}.control-planning-day{border:1px solid var(--line);background:#fff;border-radius:12px;align-content:start;gap:10px;min-height:220px;padding:12px;display:grid}.control-planning-day header{border-bottom:2px solid var(--navy);gap:2px;padding-bottom:8px;display:grid}.control-planning-day header strong{color:var(--navy);letter-spacing:.06em;text-transform:uppercase;font-size:12px;font-weight:800}.control-planning-day header span{color:#8793a9;font-size:10px}.control-planning-day ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.control-planning-day-empty{color:#8793a9;margin:0;font-size:11px}.control-planning-card{border:1px solid var(--line);background:#f8fbff;border-radius:10px;gap:4px;padding:10px 12px;display:grid}.control-planning-card-head{justify-content:space-between;align-items:flex-start;gap:8px;display:flex}.control-planning-card-actions{flex:none;position:relative}.control-planning-card-menu-trigger{border:1px solid var(--line);min-width:32px;min-height:32px;color:var(--navy);cursor:pointer;background:#fff;border-radius:8px;padding:0;font-size:18px;line-height:1}.control-planning-card-menu{z-index:6;border:1px solid var(--line);background:#fff;border-radius:10px;min-width:168px;padding:6px;display:grid;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 8px 24px #1024441f}.control-planning-card-menu button{color:var(--navy);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:8px;padding:8px 10px;font-size:13px}:is(.control-planning-card-menu button:hover,.control-planning-card-menu button:focus-visible){background:#eef5ff}.control-planning-card-menu button.is-danger,.control-plan-modal footer button.is-danger{color:#8a2e4b}.control-planning-card.is-peer{background:#fbfcfe}.control-planning-card.is-draggable{cursor:grab}.control-planning-card.is-dragging{opacity:.55;cursor:grabbing}.control-planning-card.is-move-source{outline:2px solid #30558f}.control-planning-move-action{color:#30558f;cursor:pointer;text-align:left;background:0 0;border:0;margin-top:4px;padding:0;font-size:11px;font-weight:700}.control-planning-move-action:hover{text-decoration:underline}.control-planning-move-bar{background:#eef5ff;border:1px solid #c5d6ef;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;padding:10px 12px;display:flex}.control-planning-move-bar p{color:var(--navy);margin:0;font-size:13px}.control-planning-day.is-drop-ok,.control-planning-semester td.is-drop-ok{background:#eef5ff;outline:2px dashed #30558f}.control-planning-day.is-drop-forbidden,.control-planning-semester td.is-drop-forbidden{background:#f8f2f2;outline:2px dashed #c9b4b4}.control-planning-class-badge{color:#0a2f73;letter-spacing:.04em;text-transform:uppercase;background:#dfeafb;border-radius:999px;justify-self:start;padding:2px 8px;font-size:9px;font-weight:800}.control-planning-branch{color:#516582;font-size:11px}.control-planning-branch-pill{border:1px solid var(--line);letter-spacing:.02em;border-radius:999px;justify-self:start;align-items:center;padding:2px 8px;font-size:10px;font-weight:800;display:inline-flex}.control-planning-card.is-compact .control-planning-branch-pill{padding:1px 6px;font-size:9px}.control-planning-card strong{color:var(--navy);font-size:13px;line-height:1.3}.control-planning-teacher{color:#30558f;font-size:11px;font-weight:700}.control-planning-sidebar{border:1px solid var(--line);background:#fbfcfe;border-radius:12px;gap:14px;padding:16px 18px;display:grid}.control-planning-sidebar h3{color:#8793a9;letter-spacing:.1em;text-transform:uppercase;margin:0 0 10px;font-size:8px;font-weight:800}.control-planning-sidebar ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.control-planning-sidebar li,.control-planning-sidebar p{color:#32466b;background:#fff;border-radius:8px;margin:0;padding:10px 12px;font-size:12px;line-height:1.4}.control-planning-sidebar li.is-busy-day{border-left:3px solid #c47b16}.control-planning-sidebar li.is-free-day{color:#6d7f9b;border-left:3px solid #9aa5b6}.control-planning-error{color:#8b2e2e}.control-planning-hint{color:#6d7f9b;margin:0;font-size:12px;line-height:1.45}.control-planning-no-course{color:#9aa5b6;margin:0;font-size:10px}.control-planning-intro-header{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.control-planning-intro-avatar{border:1px solid var(--line-strong);width:36px;height:36px;color:var(--navy);background:#fff;border-radius:999px;flex:none;place-items:center;font-weight:900;display:grid}.control-planning-kpi-row{flex-wrap:wrap;gap:10px;margin-top:12px;display:flex}.control-planning-kpi-card{border:1px solid var(--line);background:#fff;border-radius:12px;flex:1 1 0;min-width:140px;padding:12px}.control-planning-kpi-card small{color:#8793a9;letter-spacing:.08em;text-transform:uppercase;font-size:9px;font-weight:800;display:block}.control-planning-kpi-card strong{color:var(--navy);margin-top:4px;font-size:18px;font-weight:900;line-height:1.1;display:block}.control-planning-checkbox{color:#32466b;align-items:center;gap:10px;margin-top:-2px;font-size:11px;font-weight:700;display:flex}.control-planning-checkbox input{width:16px;height:16px;accent-color:var(--navy)}.control-planning-help{background:#f8fbff;border:1px dashed #c5d6ef;border-radius:12px;margin-top:6px;padding:12px}.control-planning-help h3{color:#8793a9;letter-spacing:.1em;text-transform:uppercase;margin:0 0 8px;font-size:8px;font-weight:800}.control-planning-help ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.control-planning-help li{color:#516582;align-items:center;gap:10px;font-size:11px;font-weight:700;display:flex}.control-planning-help-swatch{border:1px solid var(--line);background:#fff;border-radius:6px;width:22px;height:14px}.control-planning-help-swatch.is-valid{background:#f1f6fd;border-color:#b8cce8}.control-planning-help-swatch.is-invalid{background:repeating-linear-gradient(135deg,#f4f6fa 0 6px,#edf1f6 6px 12px);border-color:#d6dbe4}.control-planning-help-swatch.is-planned{background:#eef5ff;border-color:#c5d6ef}.control-planning-help-swatch.is-dnd-target{outline-offset:2px;background:#eef5ff;border-color:#30558f;outline:2px dashed #30558f}.control-planning-annual-wrap{margin-top:8px}.control-planning-annual-semester{margin-bottom:22px}.control-planning-annual-semester-title{border:1px solid var(--line);color:var(--navy);letter-spacing:.06em;text-transform:uppercase;background:#f8fbff;border-radius:12px;margin:0 0 10px;padding:10px 12px;font-size:12px;font-weight:900}.control-planning-annual-analysis{gap:14px;display:grid}.control-planning-annual-card{border:1px solid var(--line);background:#fbfcfe;border-radius:12px;padding:16px}.control-planning-annual-card h3{color:#8793a9;letter-spacing:.1em;text-transform:uppercase;margin:0 0 10px;font-size:8px;font-weight:800}.control-planning-annual-metric{color:var(--navy);margin:0;font-size:13px;font-weight:800}.control-planning-annual-hint{color:#6d7f9b;margin:10px 0 0;font-size:12px}.control-planning-annual-list{gap:6px;margin:10px 0 0;padding:0;list-style:none;display:grid}.control-planning-annual-item{border:1px solid var(--line);color:#32466b;background:#fff;border-radius:10px;padding:8px 10px;font-size:12px;line-height:1.4}.control-planning-annual-action{border:1px solid var(--line-strong);width:100%;color:var(--navy);cursor:not-allowed;opacity:.6;background:#fff;border-radius:8px;margin-top:12px;padding:10px 12px;font-size:12px;font-weight:900}.control-planning-annual-empty{color:#9aa5b6;margin:10px 0 0;font-size:12px}.control-planning-annual-legend{gap:8px;margin:10px 0 0;padding:0;list-style:none;display:grid}.control-planning-annual-legend-item{align-items:center;display:flex}.control-planning-annual-legend-swatch{border:1px solid;border-radius:999px;align-items:center;gap:8px;padding:6px 10px;font-size:12px;font-weight:900;display:inline-flex}.control-planning-semester-wrap{border:1px solid var(--line);background:#fff;border-radius:12px;max-height:min(78vh,920px);overflow:auto}.control-planning-semester{border-collapse:separate;border-spacing:0;width:100%;min-width:640px}.control-planning-semester th,.control-planning-semester td{border-bottom:1px solid var(--line);vertical-align:top;border-right:1px solid #eef2f8;padding:6px 8px;font-size:11px}.control-planning-semester thead th{z-index:3;color:var(--navy);letter-spacing:.06em;text-transform:uppercase;border-bottom:2px solid var(--navy);background:#f8fbff;font-size:10px;font-weight:800;position:sticky;top:0}.control-planning-semester-week{z-index:2;width:92px;min-width:92px;color:var(--navy);text-align:left;background:#fbfcfe;position:sticky;left:0}.control-planning-semester thead .control-planning-semester-week{z-index:4}.control-planning-week-link{color:var(--navy);cursor:pointer;background:0 0;border:0;padding:0;font-size:12px;font-weight:800;display:block}.control-planning-week-link:hover{text-decoration:underline}.control-planning-semester-week span{color:#8793a9;letter-spacing:0;text-transform:none;margin-top:2px;font-size:9px;font-weight:600;display:block}.control-planning-semester td{background:#fff;min-width:120px}.control-planning-semester td.is-inactive{color:#9aa5b6;background:#f4f6fa}.control-planning-semester td.is-available{background:#f8fbff}.control-planning-semester tr.is-empty-week td,.control-planning-semester tr.is-empty-week th{background:#f4f6fa}.control-planning-semester td ul{gap:4px;margin:0;padding:0;list-style:none;display:grid}.control-planning-card.is-compact{gap:2px;padding:6px 8px}.control-planning-card.is-compact strong{font-size:12px}.control-planning-card[data-class-tone="1"]{border-left:3px solid #30558f}.control-planning-card[data-class-tone="2"]{border-left:3px solid #2f6f4e}.control-planning-card[data-class-tone="3"]{border-left:3px solid #8a4b12}.control-planning-card[data-class-tone="4"]{border-left:3px solid #5b3d8f}.control-planning-card[data-class-tone="5"]{border-left:3px solid #8a2e4b}.control-plan-add.is-compact{padding:2px 0;font-size:10px;font-weight:700;display:block}.control-plan-add{color:#30558f;cursor:pointer;background:0 0;border:0;justify-self:start;padding:6px 0;font-size:11px;font-weight:700}.control-plan-add:hover{text-decoration:underline}.control-plan-modal .control-plan-fixed{color:#32466b;gap:2px;margin:16px 0 0;font-size:13px;display:grid}.control-plan-modal .control-plan-fixed strong{color:var(--navy)}.control-plan-coordination{gap:8px;margin-top:8px;display:grid}.control-plan-coordination h3{color:#8793a9;letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:8px;font-weight:800}.control-plan-coordination ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.control-plan-coordination li{border:1px solid var(--line);background:#f8fbff;border-radius:8px;padding:8px 10px;font-size:12px}.control-plan-coordination li span{color:#6d7f9b;margin-top:2px;font-size:11px;display:block}.control-plan-warning{color:#7a4b08;background:#fff7ed;border-left:3px solid #c47b16;margin:0;padding:10px 12px;font-size:12px}.control-plan-error{color:#8b2e2e;margin:0;font-size:12px}.control-plan-options{gap:8px;margin:16px 0 0;padding:0;list-style:none;display:grid}.control-plan-options button{border:1px solid var(--line-strong);width:100%;color:var(--navy);text-align:left;cursor:pointer;background:#fff;border-radius:8px;padding:10px 12px;font-size:13px;font-weight:700}.control-plan-options button:hover{background:#f1f6fd}.control-plan-modal>footer{justify-content:flex-end;gap:8px;padding-top:16px;display:flex}.control-plan-modal>footer button{border:1px solid var(--line-strong);color:#4b5f7e;cursor:pointer;background:#fff;border-radius:6px;padding:9px 12px;font-size:9px;font-weight:800}.control-plan-modal>footer button[data-control-move-confirm]{border-color:var(--navy);color:#fff;background:var(--navy)}@media (max-width:1100px){.control-planning-body{grid-template-columns:1fr}.control-planning-week{grid-template-columns:repeat(var(--control-day-count,1), minmax(140px, 1fr));overflow-x:auto}}@media (max-width:700px){.control-planning-week{grid-template-columns:1fr;overflow-x:visible}.control-planning-semester-wrap{max-height:none;overflow-x:auto}.control-planning-semester{min-width:560px}}.course-timeline-banner{color:#30558f;background:#f8fbff;border:1px solid #d5e2f4;border-radius:10px;margin:0 0 16px;padding:14px 16px;font-size:12px;line-height:1.5}.course-timeline-list{gap:14px;margin:0;padding:0;list-style:none;display:grid}.course-timeline-card header h3{margin:4px 0 0}.course-timeline-reference{gap:8px;display:grid}.course-timeline-reference h4{color:var(--navy);margin:0;font-size:16px}.course-timeline-unpublished{color:#7a5a12;margin:0;font-size:11px;font-weight:700}.course-timeline-empty-ref,.course-timeline-empty-items{color:#516582;margin:0;font-size:12px;line-height:1.5}.course-timeline-items{gap:10px;margin:0;padding:0;list-style:none;display:grid}.course-timeline-items li{border:1px solid var(--line);background:#fbfcfe;border-radius:8px;padding:10px 12px}.course-timeline-item-type{color:#30558f;letter-spacing:.04em;text-transform:uppercase;margin-bottom:4px;font-size:10px;font-weight:800;display:block}.course-timeline-items strong{color:var(--navy);font-size:13px;display:block}.course-timeline-items p{color:#516582;margin:4px 0 0;font-size:12px;line-height:1.45}.course-timeline-published{color:#1f6b3a;margin:8px 0 0;font-size:12px;font-weight:700}.course-timeline-items .workspace-action{margin-top:10px}.course-timeline-publish-error{color:#8a2b2b;margin:6px 0 0;font-size:12px}.course-timeline-unscheduled{border:1px dashed var(--line-strong);background:#fff;border-radius:12px;margin-top:24px;padding:18px 20px}.course-timeline-unscheduled h3{color:var(--navy);margin:0 0 12px;font-size:14px}.course-timeline-unscheduled ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.course-timeline-unscheduled li{border:1px solid var(--line);background:#f8fbff;border-radius:8px;gap:2px;padding:10px 12px;display:grid}.course-timeline-unscheduled strong{color:var(--navy);font-size:12px}.course-timeline-unscheduled span{color:#516582;font-size:12px}.course-timeline .workspace-intro{gap:8px;display:grid}.course-timeline .workspace-intro p{max-width:640px}.course-timeline .workspace-action{margin-top:8px}@media (max-width:720px){.course-timeline-list{grid-template-columns:1fr}}.ma-semaine-intro{margin-bottom:18px}.ma-semaine-week-banner{border:1px solid var(--line);background:linear-gradient(135deg,#f8fbff,#fff);border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin:0 38px 18px;padding:18px 20px;display:flex}.ma-semaine-week-banner strong{color:var(--navy);margin-top:4px;font-size:16px;display:block}.ma-semaine-week-banner p{color:#516582;margin:6px 0 0;font-size:11px}.ma-semaine-week-picker{letter-spacing:.06em;text-transform:uppercase;color:#8793a9;gap:4px;font-size:9px;font-weight:700;display:grid}.ma-semaine-week-picker select{border:1px solid var(--line-strong);color:var(--navy);background:#fff;border-radius:8px;padding:8px 10px;font-size:11px}.ma-semaine-empty{border:1px dashed var(--line-strong);color:#516582;border-radius:12px;margin:0 38px;padding:24px;font-size:12px}.ma-semaine-days{gap:18px;margin:0 38px 24px;display:grid}.ma-semaine-day-group{gap:10px;display:grid}.ma-semaine-day-heading{border-bottom:2px solid var(--navy);color:var(--navy);letter-spacing:.08em;text-transform:uppercase;justify-content:space-between;align-items:baseline;gap:10px;padding-bottom:6px;font-size:13px;font-weight:800;display:flex}.ma-semaine-day-heading small{color:#8793a9;font-size:9px;font-weight:700}.ma-semaine-class-grid{gap:12px;display:grid}.ma-semaine-class-card{border:1px solid var(--profession-ring,var(--line));background:var(--profession-wash,#fff);width:100%;box-shadow:0 8px 28px var(--profession-halo,#12263f14);color:inherit;text-align:left;cursor:pointer;border-radius:14px;flex-wrap:wrap;justify-content:flex-start;align-items:center;gap:10px 12px;padding:16px 18px;display:flex}.ma-semaine-class-card:hover{box-shadow:0 10px 34px var(--profession-halo-strong,#12263f1f)}.ma-semaine-class-code{color:var(--navy);letter-spacing:-.02em;flex:none;font-size:18px;font-weight:800}.ma-semaine-class-branches{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ma-semaine-branch-badge{border:1px solid var(--profession-ring,var(--line-strong));color:var(--profession-fg,var(--navy));background:var(--profession-bg,#eef4fd);box-shadow:0 2px 8px var(--profession-halo,#12263f14);border-radius:8px;align-items:center;padding:6px 12px;font-size:12px;font-weight:700;display:inline-flex}.ma-semaine-no-branches{color:#8793a9;margin:0;font-size:10px;font-style:italic}.admin-teacher-initials.is-profession-colored{color:var(--profession-fg,var(--navy));background:var(--profession-bg,#eef4fd)}.admin-profession-card.has-profession-accent,.admin-teacher-card.has-profession-accent{border-left:4px solid var(--profession-accent,var(--line))}.ma-semaine-plan-hint{color:#516582;background:#f4f7fb;border-radius:10px;margin:0 38px 24px;padding:14px 16px;font-size:11px}.class-notebook-toolbar{flex-wrap:wrap;align-items:center;gap:14px;margin:0 38px 18px;display:flex}.class-notebook-title h2{color:var(--navy);margin:4px 0 0;font-size:22px}.class-notebook-actions{flex-wrap:wrap;gap:8px;margin-left:auto;display:flex}.class-notebook-warning{color:#7a5a12;background:#fff8ea;border:1px solid #f0d9a8;border-radius:8px;margin:0 38px 16px;padding:12px 14px;font-size:11px}.class-notebook-week-controls{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin:0 38px 16px;display:flex}.class-notebook-shift{gap:8px;display:flex}.class-notebook-shift button{border:1px solid var(--line-strong);width:36px;height:36px;color:var(--navy);cursor:pointer;background:#fff;border-radius:8px}.class-notebook-display-count{border:0;flex-wrap:wrap;gap:12px;margin:0;padding:0;display:flex}.class-notebook-display-count legend{color:#8793a9;letter-spacing:.08em;text-transform:uppercase;width:100%;margin-bottom:4px;font-size:8px;font-weight:700}.class-notebook-display-count label{color:#516582;align-items:center;gap:6px;font-size:11px;display:flex}.class-notebook-grid{align-items:start;gap:16px;margin:0 38px 24px;display:grid}.class-notebook-column{border:1px solid var(--line);background:#fff;border-radius:14px;gap:0;min-height:420px;display:grid;overflow:visible;box-shadow:0 8px 24px #06183d0f}.class-notebook-column.active{border-color:#85a9e8;box-shadow:0 0 0 1px #85a9e8,0 10px 28px #06183d14}.class-notebook-column.is-drop-target{background:#f7faff;border-style:solid;border-color:#1d4ed8;box-shadow:0 0 0 3px #075dff29,0 10px 28px #06183d14}.class-notebook-column-header{border-bottom:1px solid var(--line);background:#f8fbff;border-radius:13px 13px 0 0;padding:12px 14px}.class-notebook-column-header button{text-align:left;cursor:pointer;background:0 0;border:0;gap:2px;width:100%;padding:0;display:grid}.class-notebook-column-header strong{color:var(--navy);font-size:13px}.class-notebook-column-header span{color:#8793a9;text-transform:uppercase;letter-spacing:.06em;font-size:9px}.class-notebook-zone{gap:8px;padding:12px 14px;display:grid}.class-notebook-zone-control{border-bottom:1px solid var(--line);background:#fcfdff}.class-notebook-zone-publication{border-bottom:1px solid var(--line);background:#eef4fb}.class-notebook-zone-heading{align-items:center;gap:8px;display:flex}.class-notebook-zone-heading h3{flex:1}.class-notebook-move{flex:none;position:relative}.class-notebook-drag-handle{color:#a7b3c6;cursor:grab;background:0 0;border:0;border-radius:6px;padding:2px 4px;font-size:13px;line-height:1}.class-notebook-drag-handle:hover{color:var(--blue);background:#eef4fd}.class-notebook-move-menu{z-index:20;border:1px solid var(--line-strong);max-height:220px;box-shadow:var(--shadow);background:#fff;border-radius:10px;gap:2px;margin:0;padding:6px;list-style:none;display:grid;position:absolute;top:calc(100% + 4px);right:0;overflow:auto}.class-notebook-move-menu-title{color:#8793a9;letter-spacing:.08em;text-transform:uppercase;padding:2px 8px 4px;font-size:8px;font-weight:800}.class-notebook-move-menu button{width:100%;color:var(--navy);text-align:left;cursor:pointer;background:0 0;border:0;border-radius:6px;padding:6px 10px;font-size:11px}.class-notebook-move-menu button:hover{background:#f1f6fd}.class-notebook-visibility-badge{letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;border-radius:999px;align-items:center;padding:2px 8px;font-size:9px;font-weight:800;display:inline-flex}.class-notebook-visibility-badge.is-draft{color:#8a6a12;background:#fff4d6}.class-notebook-visibility-badge.is-published{color:#1f7a3a;background:#e7f6ec}.class-notebook-visibility-hint{color:#8a6a12;margin:0;font-size:10px;line-height:1.4}.class-notebook-zone-publication.is-draft .rich-doc-view{opacity:.78}.class-notebook-zone-notes{background:#eef2f7;border-radius:0 0 13px 13px}.class-notebook-zone h3{color:#8793a9;letter-spacing:.1em;text-transform:uppercase;margin:0;font-size:8px;font-weight:800}.class-notebook-zone ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.class-notebook-zone li{border:1px solid var(--line);color:var(--navy);cursor:grab;background:#fff;border-radius:8px;justify-content:space-between;align-items:center;gap:8px;padding:8px 10px;font-size:11px;display:flex}.class-notebook-zone li.selected{background:#f1f6fd;border-color:#85a9e8}.class-notebook-zone li button{color:#8b3a3a;cursor:pointer;background:0 0;border:0;padding:0 4px}.class-notebook-zone input{border:1px dashed var(--line-strong);background:#fff;border-radius:8px;width:100%;padding:9px 10px;font-size:11px}.class-notebook-plan-link{color:var(--blue);cursor:pointer;background:0 0;border:0;justify-self:start;padding:0;font-size:10px;font-weight:700}.class-notebook-zone-actions{flex-wrap:wrap;gap:8px;display:flex}.class-notebook-zone-notes{color:#5b6b82}.class-notebook-structured-line{color:#516582;margin:0;font-size:10px}.rich-doc-view{color:var(--navy);font-family:var(--carnet-font);font-size:var(--carnet-size);line-height:var(--carnet-leading);gap:10px;display:grid}.rich-doc-summary{font-family:var(--carnet-font);gap:0;display:grid}.rich-doc-summary-line{color:var(--navy);font-family:var(--carnet-font);align-items:baseline;gap:6px;margin:0;font-size:16px;line-height:1.55;display:flex}.rich-doc-summary-line.is-interactive{cursor:grab;background:#fff;border-radius:8px;margin:5px 0;padding:8px 10px;box-shadow:0 1px 2px #06183d0d}.rich-doc-summary-line.is-interactive:hover{background:#fbfdff}.rich-doc-summary-line.is-selected{background:#e8f0fe;align-items:flex-start;box-shadow:inset 0 0 0 1px #85a9e8,0 1px 2px #06183d0d}.rich-doc-line-nudge{flex:none;gap:2px;margin-left:auto;display:inline-flex}.rich-doc-line-nudge button{width:22px;height:22px;color:var(--navy);cursor:pointer;background:#fff;border:1px solid #c5d4ea;border-radius:6px;padding:0;font-size:11px;line-height:1}.rich-doc-line-nudge button:hover:not(:disabled){color:var(--blue);background:#eef4fd}.rich-doc-line-nudge button:disabled{opacity:.35;cursor:default}.rich-doc-insert-slot{z-index:2;place-items:center;height:0;min-height:0;padding:0 4px;display:grid;position:relative}.rich-doc-insert-slot.is-interactive{cursor:pointer;height:0;min-height:0}.rich-doc-insert-slot.is-interactive:not(.is-empty):before{content:"";height:16px;position:absolute;top:-8px;left:0;right:0}.rich-doc-insert-slot-bar{pointer-events:none;background:0 0;border-radius:99px;width:auto;height:2px;display:block;position:absolute;top:0;left:12px;right:12px;transform:translateY(-50%)}.rich-doc-insert-slot.is-interactive .rich-doc-insert-slot-bar{background:0 0}.rich-doc-insert-slot.is-interactive:hover .rich-doc-insert-slot-bar,.rich-doc-insert-slot.is-active .rich-doc-insert-slot-bar,.rich-doc-insert-slot.is-dragging .rich-doc-insert-slot-bar,.rich-doc-summary.is-insert-dragging .rich-doc-insert-slot.is-interactive .rich-doc-insert-slot-bar{background:#1d4ed8;height:3px}.rich-doc-insert-slot.is-empty{border:1px dashed #c5d4ea;border-radius:8px;height:auto;min-height:36px;padding:8px}.rich-doc-insert-slot.is-empty .rich-doc-insert-slot-bar{display:none}.rich-doc-insert-slot.is-empty.is-active,.rich-doc-insert-slot.is-empty.is-interactive:hover{background:#f7faff;border-color:#1d4ed8}.rich-doc-summary-line.is-heading{font-weight:800}.rich-doc-summary-line.is-callout{align-items:flex-start}.rich-doc-summary-text{white-space:pre-wrap;overflow-wrap:anywhere;flex:1;min-width:0}.rich-doc-summary-marker{color:#8793a9;flex:none;font-size:11px}.rich-doc-summary-tag{color:#30558f;letter-spacing:.05em;text-transform:uppercase;background:#eef4fd;border-radius:999px;flex:none;padding:1px 6px;font-size:8.5px;font-weight:800}.rich-doc-summary-tag.is-todo{color:#1d4ed8;background:#eff6ff}.rich-doc-summary-tag.is-finish{color:#c2410c;background:#fff7ed}.rich-doc-summary-tag.is-review{color:#3730a3;background:#eef2ff}.rich-doc-summary-tag.is-info{color:#475467;background:#f1f5f9}.rich-doc-summary-tag.is-bring{color:#15803d;background:#f0fdf4}.rich-doc-summary-tag.is-read{color:#7e22ce;background:#faf5ff}.rich-doc-view h4{font-size:var(--carnet-title-size);margin:0;font-weight:700;line-height:1.3}.rich-doc-view p,.rich-doc-view ul,.rich-doc-view ol{margin:0;padding:0}.rich-doc-view p,.rich-doc-view h4,.rich-doc-view li,.rich-doc-callout p{white-space:pre-wrap;overflow-wrap:anywhere}.rich-doc-view ul,.rich-doc-view ol{padding-left:1.1em}.rich-doc-view a,.rich-doc-hyperlink{color:var(--blue);text-underline-offset:2px;text-decoration:underline}.rich-doc-view u,.rich-doc-summary u,.rich-doc-line-input u{color:inherit;text-underline-offset:2px;text-decoration:underline}.rich-doc-line-input a{color:var(--blue);text-underline-offset:2px;cursor:text;text-decoration:underline}.rich-doc-empty,.rich-doc-more{color:#8793a9;margin:0;font-size:11px;font-style:italic}.rich-doc-checklist{gap:4px;padding-left:0;list-style:none;display:grid}.rich-doc-checklist li{align-items:flex-start;gap:8px;display:flex}.rich-doc-callout{border:1px solid var(--line);background:#f8fbff;border-left-width:4px;border-radius:8px;padding:8px 10px}.rich-doc-callout strong{letter-spacing:.06em;text-transform:uppercase;color:#30558f;margin-bottom:4px;font-size:10px;display:block}.rich-doc-callout.is-todo{background:#eff6ff;border-left-color:#1d4ed8}.rich-doc-callout.is-finish{background:#fff7ed;border-left-color:#c2410c}.rich-doc-callout.is-review{background:#eef2ff;border-left-color:#3730a3}.rich-doc-callout.is-info{background:#f8fafc;border-left-color:#475467}.rich-doc-callout.is-bring{background:#f0fdf4;border-left-color:#15803d}.rich-doc-callout.is-read{background:#faf5ff;border-left-color:#7e22ce}.rich-doc-overlay{z-index:60;background:#0f204347;place-items:center;padding:18px;display:grid;position:fixed;inset:0}.rich-doc-overlay-card{border:1px solid var(--line);width:min(760px,100%);max-height:min(92vh,900px);box-shadow:var(--shadow);background:#fff;border-radius:12px;flex-direction:column;gap:12px;padding:20px;display:flex;overflow:hidden}.rich-doc-overlay-card header{flex:none}.rich-doc-overlay-card h2{color:var(--navy);margin:4px 0 0;font-size:18px}.rich-doc-visibility-status{color:#516582;margin:8px 0 0;font-size:12px;line-height:1.4}.rich-doc-overlay-actions{flex-wrap:wrap;flex:none;gap:8px;display:flex}.rich-doc-student-preview{border:1px solid var(--line);background:#fbfcfe;border-radius:10px;padding:14px;overflow:auto}.rich-doc-editor{flex-direction:column;flex:auto;gap:10px;min-height:0;display:flex;overflow:auto}.rich-doc-toolbar{border:1px solid var(--line);background:#f4f7fb;border-radius:12px;flex-wrap:wrap;align-items:center;gap:10px 14px;padding:8px 10px;display:flex}.rich-doc-tool-group{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.rich-doc-tool-group+.rich-doc-tool-group{border-left:1px solid #d7e0ec;padding-left:12px}.rich-doc-toolbar button{min-width:34px;min-height:34px;color:var(--navy);cursor:pointer;background:#fff;border:1px solid #0000;border-radius:8px;padding:6px 10px;font-size:12px;box-shadow:0 1px #1d35570f}.rich-doc-toolbar button:hover,.rich-doc-quick-chip:hover{border-color:#b9c7db}.rich-doc-toolbar button.is-active{color:#fff;background:#1d3557;border-color:#1d3557}.rich-doc-toolbar button:disabled{opacity:.4;cursor:default;box-shadow:none}.rich-doc-swatches{align-items:center;gap:4px;padding:0 4px;display:flex}.rich-doc-toolbar .rich-doc-swatch{cursor:pointer;border:2px solid #fff;border-radius:50%;width:18px;min-width:18px;height:18px;min-height:18px;padding:0;box-shadow:0 0 0 1px #c5d0df}.rich-doc-swatch:hover{transform:scale(1.08)}.rich-doc-highlight-mark{background:#fef08a;border-radius:4px;padding:0 4px;font-size:11px;font-weight:700}.rich-doc-quick{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.rich-doc-quick span{color:#8793a9;letter-spacing:.06em;text-transform:uppercase;font-size:9px;font-weight:700}.rich-doc-quick-chip{border:1px solid var(--line);min-height:30px;color:var(--navy);cursor:pointer;background:#fff;border-left-width:4px;border-radius:999px;padding:4px 10px 4px 8px;font-size:11px}.rich-doc-quick-chip.is-todo{border-left-color:#1d4ed8}.rich-doc-quick-chip.is-finish{border-left-color:#c2410c}.rich-doc-quick-chip.is-review{border-left-color:#3730a3}.rich-doc-quick-chip.is-info{border-left-color:#475467}.rich-doc-quick-chip.is-bring{border-left-color:#15803d}.rich-doc-quick-chip.is-read{border-left-color:#7e22ce}.rich-doc-canvas{border:1px solid var(--line);background:#fff;border-radius:10px;flex:auto;align-content:start;gap:2px;min-height:180px;padding:12px 14px;display:grid}.rich-doc-line{gap:2px;display:grid}.rich-doc-line-body{align-items:flex-start;gap:8px;display:flex}.rich-doc-line-marker{color:#8793a9;text-align:right;-webkit-user-select:none;user-select:none;flex:none;min-width:1.1em;font-size:12px}.rich-doc-line-check{flex:none;margin:0;transform:translateY(1px)}.rich-doc-line-input{min-width:0;min-height:1.6em;color:var(--navy);font-family:var(--carnet-font);font-size:var(--carnet-size);line-height:var(--carnet-leading);white-space:pre-wrap;overflow-wrap:anywhere;border-radius:6px;outline:none;flex:1;padding:3px 4px}.rich-doc-line-input:empty:before{content:"Écrire ici…";color:#a7b3c6;pointer-events:none}.rich-doc-line-input:focus{background:#f4f8ff;box-shadow:inset 0 0 0 1px #c9daf3}.rich-doc-line.is-heading .rich-doc-line-input{font-size:var(--carnet-title-size);font-weight:700}.rich-doc-line.is-callout{border-left:4px solid var(--line-strong);background:#f8fbff;border-radius:8px;padding:6px 8px}.rich-doc-line-badge{color:#30558f;letter-spacing:.05em;text-transform:uppercase;background:#fff;border-radius:999px;justify-self:start;padding:1px 7px;font-size:8.5px;font-weight:800}.rich-doc-line.is-callout:has(.rich-doc-line-badge.is-todo){background:#eff6ff;border-left-color:#1d4ed8}.rich-doc-line.is-callout:has(.rich-doc-line-badge.is-finish){background:#fff7ed;border-left-color:#c2410c}.rich-doc-line.is-callout:has(.rich-doc-line-badge.is-review){background:#eef2ff;border-left-color:#3730a3}.rich-doc-line.is-callout:has(.rich-doc-line-badge.is-info){background:#f8fafc;border-left-color:#475467}.rich-doc-line.is-callout:has(.rich-doc-line-badge.is-bring){background:#f0fdf4;border-left-color:#15803d}.rich-doc-line.is-callout:has(.rich-doc-line-badge.is-read){background:#faf5ff;border-left-color:#7e22ce}.rich-doc-link-bar{flex-wrap:wrap;align-items:flex-end;gap:8px;display:flex}.rich-doc-link-bar label{color:#8793a9;letter-spacing:.06em;text-transform:uppercase;flex:1;gap:4px;min-width:220px;font-size:9px;font-weight:700;display:grid}.rich-doc-link-bar input{border:1px solid var(--line-strong);border-radius:8px;padding:9px 10px;font-size:12px}.rich-doc-link-error{color:#b42318;flex:1 0 100%;margin:0;font-size:11px}.rich-doc-hint{color:#8793a9;margin:0;font-size:10px}.rich-doc-swatch.is-active{box-shadow:0 0 0 2px #1d3557}.rich-doc-editor.is-notes .rich-doc-canvas{background:#fafafa}@media (max-width:760px){.rich-doc-overlay{align-items:stretch;padding:8px}.rich-doc-overlay-card{border-radius:10px;width:100%;max-height:100%}.rich-doc-toolbar button:not(.rich-doc-swatch),.rich-doc-quick-chip{min-width:44px}}.class-notebook-clipboard-hint{color:#516582;margin:0 38px 20px;font-size:10px;font-style:italic}.controls-modal-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:16px;display:flex}.controls-modal-header h2{color:var(--navy);margin:6px 0 0;font-size:18px}.controls-modal-close{color:#8793a9;cursor:pointer;background:0 0;border:0;padding:0 6px;font-size:22px}.controls-modal-form{gap:12px;margin-bottom:18px;display:grid}.controls-modal-row{grid-template-columns:1fr 1fr;gap:10px;display:grid}.controls-modal-form label{letter-spacing:.06em;text-transform:uppercase;color:#8793a9;gap:4px;font-size:9px;font-weight:700;display:grid}.controls-modal-form input,.controls-modal-form select{border:1px solid var(--line-strong);border-radius:8px;padding:9px 10px;font-size:11px}.controls-modal-error{color:#8b3a3a;margin:0;font-size:10px}.controls-modal-footer{justify-content:flex-end;display:flex}.controls-modal-list h3{color:var(--navy);margin:0 0 10px;font-size:12px}.controls-modal-list ul{gap:8px;margin:0;padding:0;list-style:none;display:grid}.controls-modal-list li{border:1px solid var(--line);background:#f8fbff;border-radius:8px;grid-template-columns:1fr auto auto;align-items:center;gap:10px;padding:10px 12px;font-size:11px;display:grid}.controls-modal-list li button{color:#8b3a3a;cursor:pointer;background:0 0;border:0}.controls-modal-empty{color:#8793a9;margin:0;font-size:11px}@media (max-width:1030px){.technical-sidebar{width:190px}.technical-main{width:calc(100% - 190px);margin-left:190px}.calendar-workbench{grid-template-columns:190px minmax(0,1fr);margin-left:20px;margin-right:20px}.technical-header,.class-tabs{padding-left:20px;padding-right:20px}.student-preview{display:none}.brand-showcase{grid-template-columns:minmax(260px,.7fr) minmax(430px,1.3fr);margin-left:20px;margin-right:20px}.showcase-copy{padding:27px 24px}.showcase-brand{margin-bottom:18px}.showcase-specs{gap:13px}.school-year-admin{padding-left:20px;padding-right:20px}}@media (max-width:760px){.technical-sidebar{display:none}.technical-main{width:100%;margin-left:0}.technical-header{flex-wrap:wrap;align-items:flex-start;min-height:auto;padding:16px}.mobile-lockup{border-bottom:1px solid var(--line);width:100%;padding:0 0 15px;display:flex}.mobile-lockup .brand-logo{width:min(168px,52vw)}.class-identity{flex:1;min-width:190px}.class-identity p{max-width:260px}.header-actions{margin-left:auto}.round-action,.profile-disc{display:none}.navy-add{justify-content:center;width:38px;padding:0}.navy-add>span,.navy-add>span+*{display:none}.technical-add-menu{width:auto;position:fixed;inset:auto 14px 14px}.class-tabs{gap:20px;padding:0 16px;overflow-x:auto}.class-tabs button{white-space:nowrap}.brand-showcase{grid-template-columns:1fr;margin:14px 12px 20px}.showcase-copy{padding:25px 22px}.showcase-brand{margin-bottom:18px}.showcase-copy h2{font-size:29px}.showcase-specs{justify-content:space-between;gap:9px}.showcase-visual{border-top:1px solid var(--line)}.calendar-workbench{border-left:0;border-right:0;border-radius:0;grid-template-columns:1fr;margin:14px 0 0}.calendar-tools{border-right:0;border-bottom:1px solid var(--line);grid-template-columns:1fr 1fr;gap:10px;padding:12px 16px;display:grid}.mini-calendar,.legend-note{display:none}.view-selector{margin:0}.filter-panel{align-items:center;gap:8px;padding:0;display:flex}.filter-panel h2,.filter-panel label{display:none}.filter-panel select{margin:0}.week-toolbar,.schedule-grid{min-width:760px}.week-calendar{max-height:620px}.prototype-label{margin-right:16px}.modal-row{grid-template-columns:1fr}.school-year-admin{padding-left:16px;padding-right:16px}.school-year-status-grid,.admin-working-year-banner-grid{grid-template-columns:1fr}.config-classes-editor,.config-week-plan,.ma-semaine-week-banner,.ma-semaine-days,.ma-semaine-empty,.ma-semaine-plan-hint,.class-notebook-toolbar,.class-notebook-week-controls,.class-notebook-grid,.class-notebook-warning,.class-notebook-clipboard-hint,.control-planning,.admin-workspace .admin-tabs,.admin-panel-block,.admin-error,.admin-loading,.admin-placeholder{margin-left:16px;margin-right:16px}.admin-catalog-list li,.admin-catalog-list.admin-class-list li,.admin-teacher-list li,.admin-teacher-access-list .admin-teacher-card{grid-template-columns:1fr}.admin-class-toolbar{align-items:flex-start}.admin-class-group-by,.admin-class-group-by select{width:100%}.admin-teacher-actions{justify-content:flex-start}.day-grid-head,.day-grid-row{grid-template-columns:48px repeat(5,minmax(0,1fr))}.day-cell-label{display:none}.class-notebook-grid{grid-template-columns:1fr!important}.config-class-row,.config-class-row-simple{grid-template-columns:1fr}.controls-panel{margin-left:16px;margin-right:16px}}.mobile-tab-bar,.mobile-only{display:none}.student-history-panel{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;border-radius:12px;margin-top:18px;padding:22px 24px}.student-history-panel h2{color:var(--navy);letter-spacing:.08em;text-transform:uppercase;margin:0 0 12px;font-size:14px;font-weight:700}.student-history-list{gap:8px;margin:0;padding:0;list-style:none;display:grid}.student-history-list button,.student-history-current{border:1px solid var(--line);width:100%;color:var(--navy);text-align:left;cursor:pointer;background:#fbfcfe;border-radius:8px;padding:12px 14px;font-size:12px;font-weight:700}.student-history-current{background:#f1f6fd;border-color:#b8cce8;margin-bottom:10px}.student-history-empty{color:#7b879c;margin:0;font-size:11px}@media (max-width:760px){.desktop-only{display:none!important}.has-mobile-tabs .technical-main,.has-mobile-tabs .student-course-day-main{padding-bottom:calc(78px + env(safe-area-inset-bottom,0px))}.mobile-tab-bar{z-index:40;padding:8px 6px calc(8px + env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff5;grid-auto-columns:1fr;grid-auto-flow:column;gap:2px;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -8px 28px #06183d14}.mobile-tab-bar button{color:#516582;letter-spacing:.02em;cursor:pointer;background:0 0;border:0;border-radius:10px;justify-items:center;gap:4px;min-width:0;padding:8px 4px;font-size:9px;font-weight:800;display:grid}.mobile-tab-bar button span{color:#30558f;font-size:16px;line-height:1}.mobile-tab-bar button.active{color:var(--navy);background:#eef3fb}.mobile-tab-bar button.active span{color:var(--blue)}.student-course-day-app .mobile-tab-bar button{font-weight:700}.student-app[data-student-tab] .student-mobile-panel{display:none}.student-app[data-student-tab=cours] .student-mobile-panel[data-panel=cours],.student-app[data-student-tab=controles] .student-mobile-panel[data-panel=controles],.student-app[data-student-tab=historique] .student-mobile-panel[data-panel=historique]{display:block}.student-course-day-header{margin-bottom:16px}.student-course-day-main{padding:18px 16px 24px}.student-course-day-card,.student-upcoming-tests,.student-history-panel{border-radius:12px;padding:18px 16px}.student-next-control{padding:8px 10px}.student-next-control-titles strong{font-size:14px}.student-branch-block h2,.student-upcoming-tests-branch,.student-upcoming-tests-list strong{overflow-wrap:anywhere}.student-course-day-card h1{font-size:26px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition:none!important;animation:none!important}}.admin-profession-context-actions{flex-wrap:wrap;gap:6px;display:flex}.pedagogical-path-panel{border:1px solid var(--line);background:#fbfcfe;border-radius:10px;gap:12px;margin-top:16px;padding:16px;display:grid}.pedagogical-path-header{flex-wrap:wrap;justify-content:space-between;align-items:start;gap:10px;display:flex}.pedagogical-path-header h4{color:var(--navy);margin:0;font-size:14px}.pedagogical-path-header p{color:#667085;margin:4px 0 0;font-size:11px}.pedagogical-path-header button,.pedagogical-path-toolbar button,.pedagogical-path-session-actions button,.pedagogical-path-item-actions button,.pedagogical-path-item-form button{border:1px solid var(--line-strong);color:var(--navy);cursor:pointer;background:#fff;border-radius:8px;padding:6px 10px;font-size:9px;font-weight:700}.pedagogical-path-toolbar{gap:8px;display:flex}.pedagogical-path-sessions{gap:12px;margin:0;padding:0;list-style:none;display:grid}.pedagogical-path-session{border:1px solid var(--line);background:#fff;border-radius:8px;gap:10px;padding:12px;display:grid}.pedagogical-path-session-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px;display:flex}.pedagogical-path-session-head strong{color:var(--navy);font-size:13px}.pedagogical-path-session-actions,.pedagogical-path-item-actions{flex-wrap:wrap;gap:4px;display:flex}.pedagogical-path-items{gap:6px;margin:0;padding:0;list-style:none;display:grid}.pedagogical-path-items li{border:1px solid var(--line);background:#f8fafc;border-radius:8px;flex-wrap:wrap;justify-content:space-between;gap:8px;padding:8px 10px;display:flex}.pedagogical-path-item-type{color:#667085;text-transform:uppercase;margin-right:8px;font-size:10px;font-weight:700;display:inline-block}.pedagogical-path-items strong{color:var(--navy);font-size:12px}.pedagogical-path-items p{color:#667085;margin:2px 0 0;font-size:11px}.pedagogical-path-item-form{flex-wrap:wrap;align-items:end;gap:8px;display:flex}.pedagogical-path-item-form label{color:#8793a9;letter-spacing:.06em;text-transform:uppercase;gap:4px;font-size:9px;font-weight:700;display:grid}.pedagogical-path-item-form input,.pedagogical-path-item-form select{border:1px solid var(--line-strong);color:var(--navy);background:#fff;border-radius:8px;min-width:140px;padding:8px 10px;font-size:11px}.pedagogical-path-session-actions button:disabled,.pedagogical-path-item-actions button:disabled{opacity:.4;cursor:not-allowed}
