@font-face{font-family:Montserrat;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/montserrat-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Montserrat;font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/montserrat-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Golos Text;font-style:normal;font-weight:400 900;font-display:swap;src:url(/fonts/golos-text-cyrillic.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Golos Text;font-style:normal;font-weight:400 900;font-display:swap;src:url(/fonts/golos-text-latin.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;--font-display:"Montserrat", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;--font-text:"Golos Text", "Montserrat", system-ui, -apple-system, "Segoe UI", Roboto, sans-serif;font-family:var(--font-text);--brand-blue:#2b2c7c;--brand-violet:#533d8f;--brand-purple:#7a3d9e;--brand-gradient:linear-gradient(135deg, var(--brand-blue) 0%, var(--brand-violet) 55%, var(--brand-purple) 100%);--bg:#f5f4fa;--card-bg:#fff;--border:#e3e0ee;--text:#1c1930;--muted:#6b647f;--primary:var(--brand-violet);--primary-dark:#3f2f70;--primary-light:#ece8f7;--ok:#0f8558;--ok-bg:#e3f5ec;--warn:#ffa421;--warn-ink:#8a5000;--warn-bg:#fff3e0;--danger:#cb3334;--danger-bg:#fdecec;--input-bg:#fff;--border-strong:#c9c3e0;--primary-fill:var(--brand-violet);--warn-bg-hover:#ffe9c2;--danger-bg-hover:#fbd9d9;--seg-progress:#b79ad0;--seg-new:#d6d2e3;--tile-progress:#e6dcf0;--toast-bg:#1c1930;--toast-ok:#12503a;--inverse-bg:#1c1930;--inverse-fg:#fff;--on-fill:#fff;--hot:var(--danger);--hot-bg:var(--danger-bg);--idle:#8b86a0;--sunken:#efedf6;--shadow-sm:0 1px 2px #1c19300f;--shadow-md:0 8px 24px #2b2c7c1a;--radius:10px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#14121c;--card-bg:#1d1a29;--border:#322c46;--text:#ece9f5;--muted:#a59fba;--primary:#b3a1ee;--primary-dark:#d2c7f6;--primary-light:#2b2443;--primary-fill:#6c55b8;--ok:#5fd0a0;--ok-bg:#163126;--warn-ink:#f0b45a;--warn-bg:#3a2c15;--danger:#ff7d7d;--danger-bg:#3b1d24;--idle:#8c86a3;--sunken:#25213a;--input-bg:#17141f;--border-strong:#4a4166;--warn-bg-hover:#4a3818;--danger-bg-hover:#4d2430;--seg-progress:#7d63a8;--seg-new:#3a3452;--tile-progress:#3a2f5c;--toast-bg:#2e2843;--toast-ok:#1d5a43;--inverse-bg:#ece9f5;--inverse-fg:#14121c;--on-fill:#14121c;--shadow-sm:0 1px 2px #0006;--shadow-md:0 8px 24px #00000073}}:root[data-theme=dark]{--lightningcss-light: ;--lightningcss-dark:initial;color-scheme:dark;--bg:#14121c;--card-bg:#1d1a29;--border:#322c46;--text:#ece9f5;--muted:#a59fba;--primary:#b3a1ee;--primary-dark:#d2c7f6;--primary-light:#2b2443;--primary-fill:#6c55b8;--ok:#5fd0a0;--ok-bg:#163126;--warn-ink:#f0b45a;--warn-bg:#3a2c15;--danger:#ff7d7d;--danger-bg:#3b1d24;--idle:#8c86a3;--sunken:#25213a;--input-bg:#17141f;--border-strong:#4a4166;--warn-bg-hover:#4a3818;--danger-bg-hover:#4d2430;--seg-progress:#7d63a8;--seg-new:#3a3452;--tile-progress:#3a2f5c;--toast-bg:#2e2843;--toast-ok:#1d5a43;--inverse-bg:#ece9f5;--inverse-fg:#14121c;--on-fill:#14121c;--shadow-sm:0 1px 2px #0006;--shadow-md:0 8px 24px #00000073}*{box-sizing:border-box}body{background:var(--bg);color:var(--text);-webkit-font-smoothing:antialiased;margin:0;font-weight:400}h1,h2,h3{font-family:var(--font-display);letter-spacing:-.01em;font-weight:700}textarea{font:inherit;color:var(--text);background:var(--card-bg);border:1px solid var(--border);resize:none;border-radius:8px;padding:8px 10px;font-size:14px;font-weight:400}textarea:focus-visible{outline:2px solid var(--brand-purple);outline-offset:2px}label,.hint,th{font-weight:600}button{cursor:pointer;border:1px solid var(--border);background:var(--card-bg);color:var(--text);border-radius:8px;padding:8px 16px;font-family:inherit;font-size:14px;font-weight:600;transition:border-color .15s,background .15s,box-shadow .15s,color .15s}button:hover:not(:disabled){border-color:var(--primary);box-shadow:var(--shadow-sm)}button:disabled{opacity:.5;cursor:default}button:focus-visible,input:focus-visible,select:focus-visible,a:focus-visible{outline:2px solid var(--brand-purple);outline-offset:2px}.actions button:last-child:not(.link-btn),.inline-form button:last-child:not(.link-btn):not(.danger-btn),form button[type=submit]:not(.link-btn):not(.btn-danger){background:var(--brand-gradient);color:#fff;border-color:#0000}.actions button:last-child:not(.link-btn):hover:not(:disabled),.inline-form button:last-child:not(.link-btn):not(.danger-btn):hover:not(:disabled),form button[type=submit]:not(.link-btn):not(.btn-danger):hover:not(:disabled){box-shadow:var(--shadow-md);filter:brightness(1.05)}button.active,button:disabled{opacity:1}button.active{background:var(--brand-gradient);color:#fff;border-color:#0000}button.link-btn{color:var(--primary);background:0 0;border:none;padding:2px 4px;font-size:13px;font-weight:600}button.link-btn:hover:not(:disabled){box-shadow:none;text-decoration:underline}input[type=checkbox]{accent-color:var(--primary);width:16px;height:16px}input,select{border:1px solid var(--border);color:var(--text);background:var(--input-bg);border-radius:8px;padding:7px 10px;font-family:inherit;font-size:14px}input:hover,select:hover{border-color:var(--border-strong)}.brand-accent-line{background:var(--brand-gradient);height:3px}.app-header__user{align-items:center;gap:12px;font-size:14px;display:flex}.user-menu{position:relative}.user-menu__toggle{color:var(--text);cursor:pointer;background:0 0;border:1px solid #0000;border-radius:8px;align-items:center;gap:6px;padding:6px 10px;font-size:14px;font-weight:600;display:inline-flex}.user-menu__toggle:hover,.user-menu__toggle[aria-expanded=true]{background:var(--primary-light);color:var(--primary)}.user-menu__name{text-overflow:ellipsis;white-space:nowrap;max-width:220px;overflow:hidden}.user-menu__panel{z-index:20;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);min-width:180px;box-shadow:var(--shadow-md,0 8px 24px #1c193024);flex-direction:column;padding:6px;display:flex;position:absolute;top:calc(100% + 6px);right:0}.user-menu__panel a,.user-menu__panel button{text-align:left;width:100%;color:var(--text);cursor:pointer;background:0 0;border:none;border-radius:6px;padding:10px 12px;font-size:14px;font-weight:500;text-decoration:none;display:block}.user-menu__panel a:hover,.user-menu__panel button:hover{background:var(--primary-light);color:var(--primary)}.notification-bell{position:relative}.notification-bell__toggle{cursor:pointer;background:0 0;border:none;padding:4px;font-size:18px;line-height:1;position:relative}.notification-bell__badge{background:var(--danger);color:var(--on-fill);border-radius:999px;padding:1px 5px;font-size:11px;font-weight:700;line-height:1.4;position:absolute;top:-4px;right:-6px}.notification-bell__panel{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);z-index:20;text-align:left;width:320px;max-height:400px;color:var(--text);padding:12px;position:absolute;top:calc(100% + 8px);right:0;overflow-y:auto;box-shadow:0 8px 24px #00000026}.notification-bell__header{justify-content:space-between;align-items:center;margin-bottom:8px;display:flex}.notification-bell__empty{color:var(--muted);margin:0;font-size:13px}.notification-bell__list{flex-direction:column;gap:6px;margin:0;padding:0;list-style:none;display:flex}.notification-bell__list li{cursor:pointer;border-radius:8px;padding:8px;font-size:13px}.notification-bell__list li.unread{background:var(--primary-light);font-weight:600}.notification-bell__list li.read{opacity:.6;cursor:default}.notification-bell__list time{color:var(--muted);margin-top:2px;font-size:11px;font-weight:400;display:block}.app-main{width:100%;max-width:1160px;margin:0 auto;padding:24px}.auth-screen{grid-template-columns:minmax(0,1fr) minmax(0,1fr);min-height:100vh;display:grid}.auth-screen__visual{background:var(--brand-gradient);color:#fff;flex-direction:column;justify-content:flex-end;padding:48px;display:flex;position:relative;overflow:hidden}.auth-screen__visual:before{content:"";opacity:.9;background-image:linear-gradient(135deg,#0000 40%,#ffffff14 40.5% 42%,#0000 42.5%),radial-gradient(circle,#ffffff59 1.5px,#0000 1.5px);background-size:100% 100%,28px 28px;position:absolute;inset:0}.auth-screen__visual-content{z-index:1;position:relative}.auth-screen__visual h2{max-width:380px;margin:0 0 8px;font-size:26px}.auth-screen__visual p{opacity:.85;max-width:380px;margin:0;font-weight:500}.auth-screen__form{justify-content:center;align-items:center;padding:24px;display:flex}.auth-card{background:var(--card-bg);border-radius:var(--radius);flex-direction:column;gap:14px;width:100%;max-width:380px;padding:40px;display:flex}.auth-card .auth-card__logo{align-self:flex-start;margin-bottom:8px}.auth-card h1{margin:0;font-size:22px}.auth-card .subtitle{color:var(--muted);margin:0 0 8px;font-weight:500}.auth-card label{flex-direction:column;gap:4px;font-size:14px;display:flex}.password-field{gap:6px;display:flex}.password-field input{flex:1}.password-field__toggle{border:1px solid var(--border);border-radius:var(--radius);color:var(--muted);cursor:pointer;background:0 0;flex-shrink:0;padding:0 10px;font-size:12px}.error-text{color:var(--danger);font-size:14px;font-weight:600}.loading-screen{text-align:center;color:var(--muted);padding:40px}.not-found-page{text-align:center;min-height:100vh;color:var(--muted);flex-direction:column;justify-content:center;align-items:center;gap:8px;display:flex}.not-found-page h1{color:var(--primary);margin:0;font-size:48px}@media (width<=860px){.auth-screen{grid-template-columns:minmax(0,1fr)}.auth-screen__form{padding:16px}.auth-card{padding:28px 20px}.auth-screen__visual{display:none}}.toolbar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:16px;display:flex}.tabs{flex-wrap:wrap;gap:8px;margin-bottom:16px;display:flex}.month-strip{flex-wrap:wrap;gap:4px;margin-bottom:16px;display:flex}.month-dot{cursor:pointer;border:1px solid var(--border);border-radius:5px;width:24px;height:24px;transition:transform .1s}.month-dot:focus-visible{outline:2px solid var(--primary);outline-offset:1px}.month-strip-legend{flex-wrap:wrap;align-items:center;gap:4px 10px;margin:4px 0 0;display:flex}.legend-dot{border:1px solid var(--border);vertical-align:middle;border-radius:3px;width:10px;height:10px;margin-right:2px;display:inline-block}.legend-dot.ok{background:var(--ok);border-color:var(--ok)}.legend-dot.late{background:var(--warn);border-color:var(--warn)}.legend-dot.missing{background:var(--danger);border-color:var(--danger)}.legend-dot.weekend{background:var(--sunken)}.mark-code-legend{flex-wrap:wrap;gap:4px 14px;margin-bottom:12px;display:flex}.month-dot:hover{transform:scale(1.15)}.month-dot.ok{background:var(--ok);border-color:var(--ok)}.month-dot.late{background:var(--warn);border-color:var(--warn)}.month-dot.missing{background:var(--danger);border-color:var(--danger)}.month-dot.weekend{background:var(--sunken);cursor:default}.mark-code-buttons{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;gap:4px;max-width:100%;display:flex;overflow-x:auto}.mark-code-btn{border-radius:var(--radius);border:1px solid var(--border);background:var(--input-bg);min-width:34px;height:34px;color:var(--muted);cursor:pointer;flex-shrink:0;padding:0 8px;font-size:13px;font-weight:700;transition:background .1s,color .1s,border-color .1s}.mark-code-btn:hover{border-color:var(--primary)}.mark-code-btn.active{background:var(--primary-fill);border-color:var(--primary-fill);color:#fff}.comment-btn{border-radius:var(--radius);border:1px solid var(--border);background:var(--input-bg);height:28px;color:var(--muted);cursor:pointer;white-space:nowrap;padding:0 10px;font-size:12px}.comment-btn:hover{border-color:var(--primary);color:var(--primary)}.roster-sticky-header{background:var(--bg)}@media (width>=641px){.roster-sticky-header{z-index:5;margin-top:-12px;padding:12px 0 4px;position:sticky;top:0}}.archive-toggle{text-align:right;opacity:.6;margin-top:32px;font-size:12px}.month-dot.remote-day{border-color:var(--primary);border-style:dashed}.month-dot.selected{outline:2px solid var(--brand-purple);outline-offset:1px}.day-status{border-radius:8px;margin-bottom:14px;padding:10px 14px;font-weight:700}.day-status.submitted{background:var(--ok-bg);color:var(--ok)}.day-status.not-submitted{background:var(--danger-bg);color:var(--danger)}.roster-table,.dash-table{border-collapse:collapse;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);width:100%;box-shadow:var(--shadow-sm);font-weight:400;overflow:hidden}.roster-table th,.roster-table td,.dash-table th,.dash-table td{border-bottom:1px solid var(--border);text-align:left;padding:10px 12px;font-size:14px}.roster-table th,.dash-table th{background:var(--bg);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);font-size:12px}.admin-row-actions{flex-wrap:wrap;align-items:center;gap:4px 10px;display:flex}.admin-row-actions .inline-form{margin-top:0}.roster-table tbody tr:hover,.dash-table tbody tr:hover{background:var(--primary-light)}.roster-table tr.risk-row,.dash-table tr.risk-row{background:var(--warn-bg)}.roster-table tr.risk-row:hover,.dash-table tr.risk-row:hover{background:var(--warn-bg-hover)}.dash-table tr.not-submitted-row{background:var(--danger-bg)}.dash-table tr.not-submitted-row:hover{background:var(--danger-bg-hover)}.dash-table tr.clickable-row{cursor:pointer}.dash-table tr.clickable-row:hover{background:var(--primary-light)}.dynamics-chart{margin-bottom:16px}.dynamics-chart__svg{width:100%;height:80px;display:block}.locked-badge{background:var(--primary-light);color:var(--primary-dark);border-radius:999px;padding:3px 10px;font-size:12px;font-weight:600}.draft-badge{color:var(--muted);margin-top:2px;font-size:11px;display:block}.risk-badge{color:var(--warn-ink);background:var(--warn-bg);border-radius:999px;margin-top:2px;padding:1px 6px;font-size:11px;font-weight:700;display:inline-block}.actions{gap:10px;margin-top:16px;display:flex}.inline-form{flex-wrap:wrap;align-items:center;gap:8px;margin-top:16px;display:flex}.hint{color:var(--muted);max-width:640px;margin-bottom:12px;font-size:13px;font-weight:500}.percent-bar{align-items:center;gap:8px;display:inline-flex}.percent-bar__track{background:var(--border);border-radius:999px;width:72px;height:6px;position:relative;overflow:hidden}.percent-bar__fill{border-radius:999px;transition:width .2s;position:absolute;top:0;bottom:0;left:0}.percent-bar__value{font-variant-numeric:tabular-nums;min-width:44px;font-size:12px;font-weight:600}.modal-backdrop{-webkit-backdrop-filter:blur(1px);backdrop-filter:blur(1px);z-index:10;background:#1c193073;justify-content:center;align-items:center;padding:16px;display:flex;position:fixed;inset:0}.modal{background:var(--card-bg);border-radius:var(--radius);border-top:3px solid #0000;border-image:var(--brand-gradient) 1;width:100%;max-width:360px;max-height:calc(100vh - 48px);box-shadow:var(--shadow-md);flex-direction:column;gap:12px;padding:24px;display:flex;overflow-y:auto}.modal label{flex-direction:column;gap:4px;font-size:14px;display:flex}@media (width<=640px){.app-main{padding:14px}.user-menu__name{max-width:150px}.mark-code-buttons{flex-wrap:wrap;overflow-x:visible}.tabs{-webkit-overflow-scrolling:touch;flex-wrap:nowrap;padding-bottom:4px;overflow-x:auto}.tabs button{flex-shrink:0}.dash-table{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto}.roster-table thead{display:none}.roster-table,.roster-table tbody,.roster-table tr,.roster-table td{width:100%;display:block}.roster-table tr{border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);margin-bottom:10px;padding:10px 12px}.roster-table td{border-bottom:none;padding:6px 0}.roster-table td[data-label]:before{content:attr(data-label);text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin-bottom:3px;font-size:11px;font-weight:700;display:block}.roster-table td select,.roster-table td input{width:100%;margin-bottom:6px}.roster-table td input[type=checkbox]{width:auto;min-height:0;margin:0 6px 0 0}button,input,select{min-height:40px}button.link-btn{align-items:center;min-height:40px;display:inline-flex}.notification-bell__panel{width:calc(100vw - 32px);max-width:360px;right:-8px}.modal{max-width:100%;max-height:calc(100vh - 32px);overflow-y:auto}.actions-sticky-mobile{background:var(--bg);z-index:5;margin:0 -14px;padding:10px 14px;position:sticky;bottom:0;box-shadow:0 -2px 8px #1c193014}.absent-counter{width:100%;color:var(--muted);font-size:13px;font-weight:600}}.add-block{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);margin-bottom:16px;padding:12px 14px}.add-block .inline-form{margin-top:0}.inline-form>label,.add-block details>summary{color:var(--muted);align-items:center;gap:6px;font-size:13px;font-weight:600;display:inline-flex}.add-block details{margin:8px 0}.add-block details>summary{cursor:pointer}button.icon-btn{border-color:var(--border);background:var(--card-bg);min-width:32px;min-height:32px;color:var(--muted);padding:0 6px;font-size:16px;line-height:1}.add-block__title{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;margin:0 0 8px;font-size:13px;font-weight:700}.day-actions{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-wrap:wrap;align-items:center;gap:10px;margin:0 0 14px;padding:12px 14px;display:flex}.day-actions .absent-counter{color:var(--muted);font-size:13px;font-weight:600}.day-actions__period{align-items:center;gap:8px;margin-left:auto;font-size:13px;font-weight:600;display:flex}.day-actions__period select{width:auto}.student-card{max-width:880px}.student-card__header{flex-wrap:wrap;align-items:baseline;gap:12px;margin-bottom:4px;display:flex}.student-card__header h2{margin:0}.student-card__grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:12px;margin:16px 0;display:grid}.student-card__item{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:10px 14px}.student-card__item dt{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:600}.student-card__item dd{margin:2px 0 0;font-weight:600}.student-card__section{margin:24px 0 8px}.student-card__danger{border-top:1px solid var(--border);margin-top:32px;padding-top:16px}.danger-btn{color:var(--danger)}button.danger-btn:not(:disabled){border-color:var(--danger)}.danger-zone{border-top:1px solid var(--border);margin-top:4px;padding-top:12px}.actions button.danger-btn:last-child,.actions button.danger-btn{background:var(--card-bg);color:var(--danger);border:1px solid var(--danger)}.actions button.danger-btn:last-child:hover:not(:disabled){background:var(--danger);color:var(--on-fill)}.actions button.danger-btn:disabled{opacity:.45;cursor:not-allowed}a.link-btn{color:var(--primary);padding:2px 4px;font-size:13px;font-weight:600;text-decoration:none}a.link-btn:hover{text-decoration:underline}td>.link-btn:first-child,th>.link-btn:first-child{margin-left:-4px}.table-scroll{overflow-x:auto}.summary-table th,.summary-table td{white-space:nowrap}.summary-table tr.summary-first-row td{background:var(--primary-light)}.summary-table tr.summary-all-row td{border-top:2px solid var(--border)}.modal.modal-wide{max-width:720px}.month-nav{align-items:center;gap:10px;margin:8px 0 12px;display:flex}.month-nav__label{text-align:center;min-width:150px;font-weight:700}tr.day-nonworking td{color:var(--muted);background:0 0}tr.day-absent td{background:var(--danger-bg)}tr.day-not-submitted td{background:var(--warn-bg)}.filter-bar{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);flex-direction:column;gap:10px;margin-bottom:14px;padding:12px 14px;display:flex}.filter-bar__row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}button.chip{border-radius:999px;padding:4px 12px;font-size:13px}.filter-check{align-items:center;gap:4px;font-size:13px;font-weight:500;display:inline-flex}.filter-number{width:64px;margin:0 2px}.filter-dropdown{font-size:13px;font-weight:600;position:relative}.filter-dropdown summary{cursor:pointer;border:1px solid var(--border);background:var(--card-bg);border-radius:8px;padding:6px 12px;list-style:none}.filter-dropdown__panel{z-index:10;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);min-width:260px;box-shadow:var(--shadow-md);flex-direction:column;gap:6px;padding:10px 12px;font-weight:500;display:flex;position:absolute;top:calc(100% + 4px);left:0}.filter-dropdown__actions{gap:10px;display:flex}th.sortable-th{cursor:pointer;-webkit-user-select:none;user-select:none}th.sortable-th:hover{color:var(--primary)}.form-field{color:var(--muted);flex-direction:column;gap:3px;font-size:12px;font-weight:600;display:flex}.form-field>input,.form-field>select,.form-field>textarea{color:var(--text);font-weight:400}.form-fields{align-items:flex-end}.my-day{max-width:760px}.my-day__section{margin-top:20px}.my-day__section h3{margin-bottom:8px}.my-day__list{flex-direction:column;gap:8px;margin:0;padding:0;list-style:none;display:flex}.my-day__item{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);flex-direction:column;gap:4px;padding:10px 14px;font-size:14px;display:flex}.my-day__missed{color:var(--warn-ink);font-size:13px}.my-day__dates{vertical-align:middle;flex-wrap:wrap;gap:2px 12px;margin-left:8px;display:inline-flex}.modal textarea,.absence-message__text{font:inherit;color:var(--text);border:1px solid var(--border);resize:none;border-radius:8px;width:100%;padding:8px 10px;font-size:14px;font-weight:400}.absence-message{margin:12px 0}.absence-message__text{max-width:640px;margin-top:8px}@media (width>=641px){.my-day__item{flex-flow:wrap;align-items:center;gap:6px 16px}.my-day__item>:first-child{flex:220px}}.search-select{min-width:160px;display:inline-block;position:relative}.search-select input{box-sizing:border-box;width:100%}.search-select__list{z-index:20;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);min-width:100%;max-height:280px;box-shadow:var(--shadow-md);margin:0;padding:4px;list-style:none;position:absolute;top:calc(100% + 4px);left:0;overflow-y:auto}.search-select__option,.search-select__empty{white-space:nowrap;cursor:pointer;border-radius:6px;padding:6px 10px}.search-select__option.active{background:var(--primary-light)}.search-select__option.selected{font-weight:700}.search-select__empty{color:var(--muted);cursor:default}.filter-bar__section{flex-direction:column;gap:4px;margin-bottom:10px;display:flex}.filter-label{color:var(--muted);text-transform:uppercase;letter-spacing:.04em;font-size:12px;font-weight:600}.filter-bar__actions{justify-content:flex-end;margin-bottom:6px}.filter-bar__more{background:var(--bg);border:1px dashed var(--border);border-radius:var(--radius);padding:10px 12px}.link-btn.has-active{font-weight:700}.segmented{border:1px solid var(--border);border-radius:var(--radius);display:inline-flex;overflow:hidden}.segmented button{background:var(--card-bg);color:var(--text);border:0;border-radius:0;padding:6px 12px}.segmented button+button{border-left:1px solid var(--border)}.segmented button.active{background:var(--primary-fill);color:#fff}.filterable-multi__bar{flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:6px;display:flex}.filterable-multi__bar input[type=search]{flex:200px}.search-select input{padding-right:30px}.search-select:after{content:"";border:5px solid #0000;border-top-color:var(--muted);pointer-events:none;margin-top:-2px;position:absolute;top:50%;right:12px}.table-scroll{max-width:100%}.password-rules{color:var(--muted);font-size:13px}.password-rules ul{gap:2px;margin:0 0 6px;padding:0;list-style:none;display:grid}.password-rules__ok{color:var(--ok)}.password-rules p{margin:0}.status-mark{vertical-align:middle;align-items:center;gap:6px;display:inline-flex}.status-mark svg{flex:none;display:block}.status-mark__label{font-size:13px;font-weight:600}.status-mark--overdue .status-mark__label,.status-mark--returned .status-mark__label{color:var(--hot)}.status-mark--locked .status-mark__label,.status-mark--new .status-mark__label{color:var(--muted)}.status-mark--accepted .status-mark__label{color:var(--ok)}.sm-fill-hot{fill:var(--hot)}.sm-stroke-hot{stroke:var(--hot)}.sm-fill-violet{fill:var(--primary)}.sm-stroke-violet{stroke:var(--primary)}.sm-fill-ok{fill:var(--ok)}.sm-fill-idle{fill:var(--idle)}.sm-stroke-idle{stroke:var(--idle)}.sm-on-fill{stroke:var(--on-fill)}.sm-on-fill-dot{fill:var(--on-fill)}button.btn-primary,form button.btn-primary[type=submit]{background:var(--brand-gradient);color:#fff;border-color:#0000}button.btn-primary:disabled,button.btn-danger:disabled{opacity:.45;cursor:not-allowed}button.btn-secondary{background:var(--card-bg);color:var(--text)}button.btn-danger,form button.btn-danger[type=submit]{background:var(--danger);color:var(--on-fill);border-color:var(--danger)}button.btn-danger:hover:not(:disabled){filter:brightness(1.08);border-color:var(--danger)}.feedback-backdrop{z-index:40}.feedback-dialog{max-width:420px}.feedback-dialog__message{white-space:pre-line;margin:0;font-size:15px;font-weight:500;line-height:1.5}.feedback-dialog input{width:100%}.feedback-dialog__actions{flex-wrap:wrap;justify-content:flex-end;gap:10px;margin-top:4px;display:flex}.toast-stack{left:50%;bottom:calc(var(--bottom-nav-offset,0px) + 16px + env(safe-area-inset-bottom,0px));z-index:50;pointer-events:none;flex-direction:column;align-items:center;gap:8px;width:min(440px,100vw - 32px);display:flex;position:fixed;transform:translate(-50%)}.toast{pointer-events:auto;background:var(--toast-bg);color:#fff;width:100%;box-shadow:var(--shadow-md);border-radius:12px;align-items:center;gap:10px;padding:10px 10px 10px 16px;font-size:14px;font-weight:600;animation:.18s ease-out toast-in;display:flex}.toast span{flex:1}.toast--ok{background:var(--toast-ok)}.toast--error{background:var(--danger);color:var(--on-fill)}.toast__close{color:inherit;opacity:.8;background:0 0;border:none;padding:4px 8px;font-size:18px;line-height:1}.toast__close:hover:not(:disabled){box-shadow:none;opacity:1}@keyframes toast-in{0%{opacity:0;transform:translateY(8px)}}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important}}button.link-btn.danger-link{color:var(--danger)}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:8px;display:flex}.page-head h2{margin:0}.empty-state{background:var(--card-bg);border:1px dashed var(--border);border-radius:var(--radius);color:var(--muted);padding:20px;font-weight:500}.group-chip{background:var(--primary-light);color:var(--primary);white-space:nowrap;border-radius:999px;align-items:center;padding:1px 8px;font-size:12px;font-weight:700;display:inline-flex}.meter{background:var(--sunken);border-radius:999px;height:6px;overflow:hidden}.meter>i{background:var(--primary-fill);border-radius:999px;height:100%;transition:width .3s;display:block}.inbox{max-width:900px}.inbox-section{margin-top:22px}.inbox-section h3{align-items:center;gap:8px;margin:0 0 6px;font-size:15px;display:flex}.inbox-section--hot h3{color:var(--hot)}.inbox-section__count{color:var(--muted);font-weight:600}.inbox-list{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);margin:0;padding:4px;list-style:none}.inbox-row{border-radius:8px;grid-template-columns:22px minmax(0,1fr) 130px 120px;align-items:center;gap:12px;padding:10px;display:grid;position:relative}.inbox-row+.inbox-row{border-top:1px solid var(--border)}.inbox-row:hover{background:var(--primary-light)}.inbox-row.is-locked{opacity:.6}.inbox-row.is-locked:hover{background:0 0}.inbox-row__main{min-width:0}.inbox-row__title{color:var(--text);font-size:15px;font-weight:600;text-decoration:none}a.inbox-row__title:after{content:"";border-radius:8px;position:absolute;inset:0}a.inbox-row__title:focus-visible{outline:none}a.inbox-row__title:focus-visible:after{outline:2px solid var(--brand-purple);outline-offset:-2px}.inbox-row__meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 10px;margin-top:3px;font-size:12.5px;display:flex}.inbox-row__note{color:var(--hot);margin-top:4px;font-size:13px;font-weight:600}.inbox-row__progress{color:var(--muted);font-variant-numeric:tabular-nums;gap:4px;font-size:12px;display:grid}.inbox-row__due{text-align:right;font-size:13px;display:grid}.inbox-row__due b{font-weight:600}.inbox-row__due span{color:var(--muted);font-size:12px}.inbox-row__due.is-hot b{color:var(--hot)}.inbox-row__due.is-warn b{color:var(--warn-ink)}@media (width<=640px){.inbox-row{grid-template-columns:22px minmax(0,1fr) auto;grid-template-areas:"mark main due"".progress progress";align-items:start;gap:6px 10px}.inbox-row>.status-mark{grid-area:mark;padding-top:2px}.inbox-row__main{grid-area:main}.inbox-row__progress{grid-area:progress;grid-template-columns:1fr auto;align-items:center;gap:10px}.inbox-row__due{grid-area:due}}.assignment{max-width:1000px}.assignment__head{justify-content:space-between;align-items:center;gap:16px;margin-bottom:10px;display:flex}.assignment__title{min-width:0}.assignment__title h2{text-wrap:balance;margin:4px 0 6px}.assignment__meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 12px;font-size:13px;font-weight:500;display:flex}.assignment__meta .is-hot{color:var(--hot);font-weight:700}.assignment__description{white-space:pre-wrap;max-width:70ch}.progress-ring{flex:none;width:68px;height:68px;position:relative}.progress-ring svg{width:68px;height:68px;transform:rotate(-90deg)}.progress-ring__track{fill:none;stroke:var(--sunken);stroke-width:4px}.progress-ring__value{fill:none;stroke:var(--primary);stroke-width:4px;stroke-linecap:round;transition:stroke-dasharray .35s}.progress-ring.is-complete .progress-ring__value{stroke:var(--ok)}.progress-ring b{font-family:var(--font-display);font-variant-numeric:tabular-nums;place-items:center;font-size:14px;display:grid;position:absolute;inset:0}.callout{border-radius:var(--radius);background:var(--sunken);gap:2px;margin:10px 0;padding:10px 14px;font-size:14px;display:grid}.callout--hot{background:var(--hot-bg)}.callout--hot b{color:var(--hot)}.review-panel{background:var(--card-bg);border:1px solid var(--primary);border-radius:var(--radius);gap:8px;margin:12px 0;padding:12px 14px;display:grid}.review-panel h3{margin:0;font-size:15px}.review-panel textarea{width:100%}.review-panel__actions{flex-wrap:wrap;gap:10px;display:flex}.roster-tools{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin:14px 0 8px;display:flex}.fill-column{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap;align-items:flex-end;gap:10px 14px;margin-bottom:10px;padding:12px 14px;display:flex}.fill-column__actions{gap:8px;margin-left:auto;display:flex}.choice-chips{flex-wrap:wrap;gap:6px;display:flex}.choice-chips button,.choice-seg button{color:var(--muted);border-radius:999px;padding:4px 11px;font-size:13px;font-weight:600}.choice-chips button.on{background:var(--primary-fill);border-color:var(--primary-fill);color:#fff}.choice-seg{border:1px solid var(--border);border-radius:8px;justify-self:start;display:inline-flex;overflow:hidden}.choice-seg button{border:0;border-radius:0;padding:5px 14px}.choice-seg button+button{border-left:1px solid var(--border)}.choice-seg button.on{background:var(--primary-fill);color:#fff}input[aria-invalid=true]{border-color:var(--danger)}.required-mark{color:var(--muted);font-size:11px;font-weight:500}.answer-value{font-size:14px}.answer-grid{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);overflow-x:auto}.answer-grid__head,.answer-row{grid-template-columns:32px minmax(170px, 230px) var(--answer-template,minmax(160px, 1fr));align-items:center;gap:12px;padding:8px 12px;display:grid}.answer-grid__head{background:var(--bg);color:var(--muted);border-bottom:1px solid var(--border);font-size:12px;font-weight:600}.answer-row+.answer-row{border-top:1px solid var(--border)}.answer-row.is-flagged{background:var(--hot-bg)}.answer-row.is-excluded .answer-row__name{color:var(--muted)}.avatar{background:var(--primary-light);width:30px;height:30px;color:var(--primary);font-family:var(--font-display);border-radius:50%;place-items:center;font-size:11px;font-weight:700;transition:background .2s,color .2s;display:grid}.answer-row.is-complete .avatar{background:var(--ok-bg);color:var(--ok)}.answer-row__who{gap:2px;min-width:0;display:grid}.answer-row__name{font-size:14px;font-weight:600}.answer-row__remark{color:var(--hot);font-size:12px;font-weight:600}.answer-row__dossier{color:var(--ok);font-size:12px;font-weight:600}.answer-row__todo{color:var(--warn-ink);font-size:12px;font-weight:600}.answer-row__cell{min-width:0}.answer-row__cell input{width:100%}.answer-row__label{display:none}.group-answer{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);gap:14px;margin-top:12px;padding:14px;display:grid}.group-answer__field{gap:6px;max-width:560px;display:grid}.group-answer__label{font-size:13px;font-weight:600}.submit-bar{z-index:6;padding:10px 14px calc(10px + env(safe-area-inset-bottom,0px));background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);flex-wrap:wrap;align-items:center;gap:8px 16px;margin-top:14px;display:flex;position:sticky;bottom:0;box-shadow:0 -4px 16px #1c193014}.submit-bar__save{color:var(--muted);font-size:13px;font-weight:600}.submit-bar__save--saved{color:var(--ok)}.submit-bar__save--invalid,.submit-bar__save--error{color:var(--danger)}.submit-bar__left{color:var(--muted);flex:1;font-size:13px}.thread{margin-top:28px}.thread h3{margin:0 0 10px}.thread__list{gap:12px;margin:0 0 12px;padding:0 0 0 4px;list-style:none;display:grid}.thread__list li{grid-template-columns:14px 1fr;gap:10px;font-size:14px;display:grid}.thread__dot{background:var(--idle);border-radius:50%;width:10px;height:10px;margin-top:5px}.thread__event--accepted .thread__dot,.thread__event--auto_accepted .thread__dot{background:var(--ok)}.thread__event--returned .thread__dot{background:var(--hot)}.thread__event--submitted .thread__dot{background:var(--primary-fill)}.thread__comment .thread__dot{border:2px solid var(--primary);background:0 0}.thread__meta{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 8px;font-size:12.5px;display:flex}.thread__text{white-space:pre-wrap;margin:2px 0 0}.thread__form{flex-wrap:wrap;gap:8px;display:flex}.thread__form input{flex:220px}@media (width<=640px){.assignment__head{align-items:flex-start}.progress-ring,.progress-ring svg{width:56px;height:56px}.answer-grid{box-shadow:none;background:0 0;border:0;gap:8px;display:grid}.answer-grid__head{display:none}.answer-row{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:32px minmax(0,1fr);gap:8px 10px;padding:10px 12px}.answer-row__cell{grid-column:1/-1;gap:4px;display:grid}.answer-row__label{color:var(--muted);font-size:12px;font-weight:600;display:block}.choice-chips button,.choice-seg button{min-height:36px}.fill-column__actions{width:100%;margin-left:0}.submit-bar{border-left:0;border-right:0;border-radius:0;margin-left:-14px;margin-right:-14px}.submit-bar .btn-primary{width:100%}}.tasks-page{max-width:1000px}.tasks-page .tabs{margin-top:4px}.filter-chips{flex-wrap:wrap;gap:6px;margin-bottom:12px;display:flex}.filter-chips button.chip.active{background:var(--inverse-bg);color:var(--inverse-fg);border-color:var(--inverse-bg)}.task-list{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);margin:0;padding:4px;list-style:none}.task-list__item{border-radius:8px;grid-template-columns:minmax(0,1fr) 220px 130px;align-items:center;gap:16px;padding:12px;display:grid}.task-list__item+.task-list__item{border-top:1px solid var(--border)}.task-list__item:hover{background:var(--primary-light)}.task-list__item.is-closed{opacity:.65}button.task-list__title{text-align:left;color:var(--text);background:0 0;border:0;padding:0;font-size:15px;font-weight:600}button.task-list__title:hover:not(:disabled){box-shadow:none;color:var(--primary)}.progress-strip{gap:4px;min-width:0;display:grid}.progress-strip__bar{background:var(--sunken);border-radius:999px;gap:1px;height:8px;display:flex;overflow:hidden}.progress-strip__bar i,.progress-strip__legend i{min-width:3px;display:block}.seg-accepted{background:var(--ok)}.seg-submitted{background:var(--primary-fill)}.seg-in_progress{background:var(--seg-progress)}.seg-returned{background:var(--hot)}.seg-new{background:var(--seg-new)}.progress-strip__text{color:var(--muted);font-variant-numeric:tabular-nums;flex-wrap:wrap;gap:2px 10px;font-size:12px;display:flex}.progress-strip__overdue{color:var(--hot);font-weight:700}.progress-strip__legend{color:var(--muted);flex-wrap:wrap;gap:4px 14px;font-size:12px;display:flex}.progress-strip__legend span{align-items:center;gap:5px;display:inline-flex}.progress-strip__legend i{border-radius:3px;width:10px;height:10px}.task-view{max-width:1000px}.task-view__head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:16px;margin-bottom:12px;display:flex}.task-view__title{flex:360px;min-width:0}.task-view__title h2{text-wrap:balance;margin:4px 0 6px}.task-view__actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.task-view__fields{flex-wrap:wrap;align-items:center;gap:6px;display:flex}.task-view__fields .hint{margin:0}.field-chip{background:var(--sunken);border-radius:999px;align-items:baseline;gap:4px;padding:2px 10px;font-size:13px;font-weight:600;display:inline-flex}.task-view__tabs{margin:16px 0 12px}.task-view .progress-strip{max-width:520px}.more-menu{position:relative}.more-menu>summary{cursor:pointer;border:1px solid var(--border);background:var(--card-bg);border-radius:8px;padding:8px 16px;font-size:14px;font-weight:600;list-style:none}.more-menu>summary::-webkit-details-marker{display:none}.more-menu>summary:after{content:" ▾";color:var(--muted)}.more-menu__panel{z-index:20;background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);min-width:220px;box-shadow:var(--shadow-md);padding:6px;display:grid;position:absolute;top:calc(100% + 6px);right:0}.more-menu__panel button{text-align:left;border:0;padding:10px 12px;font-weight:500}.more-menu__panel button:hover:not(:disabled){background:var(--primary-light);box-shadow:none}.more-menu__panel button.danger-link{color:var(--danger)}.steps-chain{flex-wrap:wrap;gap:6px;margin:0 0 10px;padding:0;list-style:none;display:flex}.steps-chain li{border:1px solid var(--border);background:var(--card-bg);border-radius:999px;align-items:baseline;gap:6px;padding:4px 12px;font-size:13px;display:inline-flex}.steps-chain li .hint{margin:0;font-size:12px}.steps-chain li.is-current{border-color:var(--primary)}.group-map{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);gap:10px;padding:14px;display:grid}.group-map__row{grid-template-columns:64px minmax(0,1fr);align-items:start;gap:10px;display:grid}.group-map__course{font-family:var(--font-display);color:var(--muted);padding-top:8px;font-size:13px;font-weight:700}.group-map__tiles{grid-template-columns:repeat(auto-fill,minmax(76px,1fr));gap:6px;margin:0;padding:0;list-style:none;display:grid}.group-tile{text-align:center;font-variant-numeric:tabular-nums;border-radius:8px;padding:8px 4px;font-size:12.5px;font-weight:700;text-decoration:none;transition:transform .1s;display:block}a.group-tile:hover{transform:translateY(-1px)}a.group-tile:focus-visible{outline:2px solid var(--brand-purple);outline-offset:2px}.group-tile--accepted{background:var(--ok);color:var(--on-fill)}.group-tile--submitted{background:var(--primary-fill);color:#fff}.group-tile--in_progress{background:var(--tile-progress);color:var(--primary-dark)}.group-tile--returned{background:var(--hot-bg);color:var(--hot);box-shadow:inset 0 0 0 1.5px var(--hot)}.group-tile--new{background:var(--sunken);color:var(--muted)}.group-tile--overdue{background:var(--hot);color:var(--on-fill)}.group-tile--locked{color:var(--idle);box-shadow:inset 0 0 0 1px var(--border);background:0 0}.group-map__legend{color:var(--muted);border-top:1px solid var(--border);flex-wrap:wrap;gap:4px 14px;padding-top:6px;font-size:12px;display:flex}.group-map__legend span{align-items:center;gap:5px;display:inline-flex}.group-map__legend i{border-radius:3px;width:12px;height:12px;display:inline-block}.answers-summary{gap:12px;display:grid}.answers-summary__field{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px}.answers-summary__field h4{margin:0 0 8px;font-size:14px}.answers-summary__field ul{gap:6px;margin:0;padding:0;list-style:none;display:grid}.answers-summary__field li{grid-template-columns:minmax(90px,200px) minmax(0,1fr) 48px;align-items:center;gap:10px;font-size:13px;display:grid}.answers-summary__field li b{text-align:right;font-variant-numeric:tabular-nums}.answers-summary__meter>i{background:var(--brand-purple)}.review-mode{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);grid-template-columns:260px minmax(0,1fr);gap:0;min-height:360px;display:grid}.review-mode__queue{border-right:1px solid var(--border);align-content:start;gap:2px;max-height:70vh;margin:0;padding:8px;list-style:none;display:grid;overflow-y:auto}.review-mode__queue button{text-align:left;background:0 0;border:0;gap:1px;width:100%;padding:8px 10px;font-weight:500;display:grid}.review-mode__queue button span{font-size:13px}.review-mode__queue button small{color:var(--muted);font-size:11.5px}.review-mode__queue button.is-current{background:var(--primary-light)}.review-mode__queue button:hover:not(:disabled){box-shadow:none;background:var(--primary-light)}.review-mode__pane{align-content:start;gap:12px;min-width:0;padding:14px 18px;display:grid}.review-mode__head h3{margin:0 0 4px}.review-mode__decide{gap:8px;display:grid}.review-mode__decide textarea{width:100%}.review-mode__group{gap:10px;margin:0;display:grid}.review-mode__group dt{color:var(--muted);font-size:12px;font-weight:600}.review-mode__group dd{word-break:break-word;margin:2px 0 0}kbd{font:600 11px var(--font-text);opacity:.7;border:1px solid;border-radius:4px;padding:0 4px}@media (width<=640px){.task-list__item{grid-template-columns:minmax(0,1fr) auto;gap:8px 12px}.task-list__item .progress-strip{grid-area:2/1/auto/-1}.task-list__item .inbox-row__due{grid-area:1/2}.task-view__actions{width:100%}.task-view__actions .btn-primary{flex:100%}.group-map{padding:10px}.group-map__row{grid-template-columns:1fr;gap:4px}.group-map__course{padding-top:0}.group-map__tiles{grid-template-columns:repeat(auto-fill,minmax(68px,1fr))}.answers-summary__field li{grid-template-columns:minmax(80px,1fr) 80px 36px}.review-mode{grid-template-columns:1fr}.review-mode__queue{border-right:0;border-bottom:1px solid var(--border);grid-auto-columns:minmax(180px,70%);grid-auto-flow:column;max-height:none;overflow-x:auto}.review-mode kbd{display:none}}.group-list-modal{max-width:560px}.group-list-fields{border:1px solid var(--border);border-radius:var(--radius);grid-template-columns:repeat(2,minmax(0,1fr));gap:6px 16px;padding:10px 12px;display:grid}.group-list-fields legend{padding:0 6px;font-weight:600}.modal .group-list-fields label,.modal label.inline-check{flex-flow:wrap;align-items:center;gap:8px;min-height:32px}.modal .group-list-fields input[type=checkbox],.modal label.inline-check input[type=checkbox]{min-width:0;min-height:0;margin:0}@media (width<=600px){.group-list-fields{grid-template-columns:minmax(0,1fr)}}.event-form .inline-form.form-fields{align-items:flex-start;margin-top:0}.event-form .inline-form.form-fields>label{font-size:inherit;color:inherit;font-weight:inherit;flex-direction:column;flex:140px;align-items:stretch;gap:4px;display:flex}.plan-section .table-scroll{margin-bottom:4px}.report-fields{grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px 16px;margin-bottom:8px;display:grid}.report-field label{margin-bottom:4px;font-size:13px;font-weight:600;display:block}.report-field input,.report-field textarea{box-sizing:border-box;width:100%}.report-field .hint{margin:4px 0 0}@media (width<=600px){.report-fields{grid-template-columns:minmax(0,1fr)}}.row-dirty td{background:color-mix(in srgb, var(--accent,#7c5cff) 8%, transparent)}.roster-table tfoot td{font-weight:600}.my-id-summary{flex-wrap:wrap;gap:4px 20px;margin:8px 0 12px;font-size:14px;display:flex}.yesno{gap:6px;display:inline-flex}button.yesno__btn{min-width:64px;min-height:var(--control-h,36px);border:1px solid var(--border);border-radius:var(--control-radius,8px);background:var(--card-bg);color:var(--text);font:inherit;cursor:pointer;padding:0 14px;font-size:14px;font-weight:600}button.yesno__btn:disabled{cursor:default;opacity:.55}button.yesno__btn--yes.is-active{background:var(--ok-bg);border-color:var(--ok);color:var(--ok);opacity:1}button.yesno__btn--no.is-active{background:var(--danger-bg);border-color:var(--danger);color:var(--danger);opacity:1}.my-id-cell .my-id-reason{box-sizing:border-box;width:100%;min-width:160px;margin-top:6px;display:block}.my-id-cell__body{flex-direction:column;align-items:flex-start;gap:6px;min-width:0;display:flex}.my-id-cell__body .my-id-reason{margin-top:0}@media (width<=768px){.my-id-cell{min-width:0}.my-id-cell__body{flex:1;align-items:flex-end}.my-id-cell__body .my-id-reason{width:100%;min-width:0}}.wizard{grid-template-columns:minmax(0,1.4fr) minmax(260px,1fr);align-items:start;gap:18px;display:grid}.wizard__form{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);gap:14px;min-width:0;padding:16px 18px;display:grid}.wizard__head h3{margin:0 0 10px}.wizard__steps{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.wizard__steps button{color:var(--muted);background:var(--sunken);border-color:#0000;border-radius:999px;padding:5px 12px;font-size:12.5px}.wizard__steps button.is-done{color:var(--ok);background:var(--ok-bg)}.wizard__steps button.is-current{color:var(--inverse-fg);background:var(--inverse-bg)}.wizard__body{gap:12px;display:grid}.wizard__body .form-field input,.wizard__body .form-field textarea{width:100%;font-size:14px}.wizard__body .inline-form{margin-top:0}.choice-cards{border:0;grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px;margin:0;padding:0;display:grid}.choice-cards legend{margin-bottom:6px;padding:0;font-size:13px;font-weight:700}.choice-card{border:1px solid var(--border);border-radius:var(--radius);cursor:pointer;background:var(--card-bg);gap:2px;padding:10px 12px;font-size:13px;display:grid;position:relative}.choice-card input{opacity:0;pointer-events:none;position:absolute}.choice-card b{font-size:13.5px}.choice-card span{color:var(--muted);font-weight:500}.choice-card.is-selected{border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary);background:var(--primary-light)}.choice-card:has(input:focus-visible){outline:2px solid var(--brand-purple);outline-offset:2px}.scope-count{border-radius:var(--radius);background:var(--primary-light);gap:4px;padding:10px 14px;font-size:13.5px;display:grid}.scope-count b{font-family:var(--font-display);color:var(--primary);font-size:18px}.scope-count__warn{color:var(--warn-ink);font-size:12.5px;font-weight:600}.wizard__details>summary{cursor:pointer;color:var(--muted);font-size:13px;font-weight:600}.template-gallery{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:8px;display:grid}.template-card{text-align:left;border:1px dashed var(--border);border-radius:var(--radius);background:var(--card-bg);align-content:start;gap:2px;padding:10px 12px;font-size:13px;display:grid}div.template-card{border-style:solid}.template-card span{color:var(--muted);font-weight:500}.template-card.is-selected{border-color:var(--primary);box-shadow:inset 0 0 0 1px var(--primary)}button.template-card__pick{text-align:left;background:0 0;border:0;gap:2px;padding:0;display:grid}button.template-card__pick:hover:not(:disabled){box-shadow:none}.template-card .link-btn{justify-self:start;padding-left:0}.field-cards{counter-reset:field;gap:8px;margin:0;padding:0;list-style:none;display:grid}.field-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--bg);gap:8px;padding:10px 12px;display:grid}.field-card__row{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.field-card__row>input{flex:200px}.field-card>input{width:100%}.field-card__tools{align-items:center;gap:4px;margin-left:auto;display:inline-flex}.wizard__summary{border-radius:var(--radius);background:var(--sunken);gap:2px;padding:10px 14px;font-size:13.5px;display:grid}.wizard__summary span{color:var(--muted)}.wizard__nav{border-top:1px solid var(--border);justify-content:space-between;gap:10px;padding-top:12px;display:flex}.wizard__preview{border:1px dashed var(--border);border-radius:var(--radius);gap:10px;padding:14px;display:grid;position:sticky;top:12px}.wizard__preview h4{color:var(--muted);margin:0;font-size:12.5px;font-weight:600}.wizard__preview-row .inbox-row{grid-template-columns:22px minmax(0,1fr) auto}.wizard__preview-desc{white-space:pre-wrap;margin:0;font-size:13px}.wizard__preview-answer{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);gap:10px;padding:12px;display:grid}@media (width<=860px){.wizard{grid-template-columns:1fr}.wizard__preview{position:static}}@media (width<=640px){.wizard__form{padding:12px}.wizard__nav .btn-primary{flex:1}.field-card__tools{margin-left:0}}.app-shell{grid-template-columns:232px minmax(0,1fr);min-height:100vh;display:grid}.app-sidebar{background:var(--card-bg);border-right:1px solid var(--border);flex-direction:column;gap:18px;height:100vh;padding:16px 12px;display:flex;position:sticky;top:0;overflow-y:auto}.app-sidebar__logo{padding:0 8px}.app-nav{gap:2px;display:grid}.nav-link{color:var(--muted);border-radius:8px;align-items:center;gap:10px;font-size:14px;font-weight:600;text-decoration:none;transition:background .15s,color .15s;display:flex;position:relative}.nav-link--side{padding:9px 12px}.nav-link--side:hover{background:var(--primary-light);color:var(--primary)}.nav-link--side.active{background:var(--brand-gradient);color:#fff}.nav-link__label{flex:1;min-width:0}.nav-icon{flex:none}.nav-badge{background:var(--hot);min-width:20px;color:var(--on-fill);text-align:center;font-variant-numeric:tabular-nums;border-radius:999px;padding:1px 6px;font-size:11px;font-weight:700}.nav-link.active .nav-badge{background:var(--card-bg);color:var(--primary)}.app-body{flex-direction:column;min-width:0;display:flex}.app-topbar{background:var(--card-bg);border-bottom:1px solid var(--border);justify-content:flex-end;align-items:center;gap:12px;padding:8px 24px;display:flex}.app-topbar__logo,.app-tabbar{display:none}.more-sheet-backdrop{z-index:30;background:#1c193059;align-items:flex-end;display:flex;position:fixed;inset:0}.more-sheet{background:var(--card-bg);width:100%;padding:12px 12px calc(var(--bottom-nav-offset,0px) + 12px);border-radius:16px 16px 0 0;gap:2px;animation:.18s ease-out sheet-in;display:grid}.nav-link--sheet{padding:12px;font-size:15px}.nav-link--sheet.active{background:var(--primary-light);color:var(--primary)}@keyframes sheet-in{0%{opacity:0;transform:translateY(24px)}}@media (width<=900px){:root{--bottom-nav-offset:calc(62px + env(safe-area-inset-bottom,0px))}.app-shell{grid-template-columns:minmax(0,1fr)}.app-sidebar{display:none}.app-topbar{justify-content:space-between;padding:8px 14px}.app-topbar__logo{display:block}.app-main{padding-bottom:calc(var(--bottom-nav-offset) + 16px)}.app-tabbar{z-index:25;background:var(--card-bg);border-top:1px solid var(--border);padding:6px 4px calc(6px + env(safe-area-inset-bottom,0px));grid-auto-columns:1fr;grid-auto-flow:column;display:grid;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -4px 16px #1c19300f}.nav-link--tab{background:0 0;border:0;flex-direction:column;justify-content:center;gap:2px;min-height:50px;padding:4px 2px;font-family:inherit;font-size:11px}button.nav-link--tab:hover:not(:disabled){box-shadow:none}.nav-link--tab .nav-link__label{text-align:center;white-space:nowrap;text-overflow:ellipsis;flex:none;max-width:100%;overflow:hidden}.nav-link--tab.active{color:var(--primary)}.nav-link--tab.active .nav-icon{stroke-width:2.2px}.nav-link--tab .nav-badge{min-width:18px;padding:0 5px;font-size:10px;position:absolute;top:0;left:calc(50% + 6px)}.nav-link--tab.active .nav-badge{background:var(--hot);color:var(--on-fill)}.submit-bar,.actions-sticky-mobile{bottom:var(--bottom-nav-offset)}}.my-day__hello{margin-bottom:14px}.my-day__date{color:var(--muted);margin:0;font-size:13px;font-weight:600}.my-day__hello h2{text-wrap:balance;margin:2px 0 4px;font-size:clamp(22px,4vw,28px)}.my-day__summary{margin:0;font-size:15px;font-weight:500}.my-day__cta{gap:8px;margin:12px 0 4px;display:grid}.big-cta{background:var(--brand-gradient);color:#fff;text-align:center;box-shadow:var(--shadow-md);border-radius:12px;padding:14px 18px;font-size:15px;font-weight:700;text-decoration:none;display:block}.big-cta:hover{filter:brightness(1.05)}.my-day__card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);padding:12px 14px}.done-state{border-radius:var(--radius);background:var(--ok-bg);color:var(--ok);align-items:center;gap:12px;margin:12px 0;padding:14px 16px;font-weight:700;display:flex}.done-state__circle{fill:var(--ok)}.done-state__check{fill:none;stroke:var(--on-fill);stroke-width:2.4px;stroke-linecap:round;stroke-linejoin:round;stroke-dasharray:16;stroke-dashoffset:0;animation:.45s ease-out .1s both check-draw}@keyframes check-draw{0%{stroke-dashoffset:16px}}.todo-list{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);box-shadow:var(--shadow-sm);margin:0;padding:4px;list-style:none}.todo-item{grid-template-columns:30px minmax(0,1fr) auto;align-items:center;gap:10px;padding:10px;display:grid}.todo-item+.todo-item{border-top:1px solid var(--border)}.todo-item>.status-mark{justify-content:center}.todo-item__main{min-width:0}.todo-item__title{color:var(--text);font-size:15px;font-weight:600;text-decoration:none}.todo-item__title:hover{color:var(--primary)}.todo-item__note{color:var(--muted);flex-wrap:wrap;align-items:center;gap:2px 8px;margin-top:3px;font-size:13px;display:flex}.todo-item__note.is-hot{color:var(--hot);font-weight:600}.todo-item__reason+.todo-item__reason:before{content:"; "}.group-card{background:var(--card-bg);border:1px solid var(--border);border-radius:var(--radius);gap:10px;padding:12px 14px;display:grid}.group-card__head{flex-wrap:wrap;align-items:baseline;gap:8px;display:flex}.group-card__head .hint{margin:0}.group-card__code{font-family:var(--font-display);color:var(--text);font-size:18px;font-weight:800;text-decoration:none}.group-card__today{margin-left:auto}.rhythm{align-items:flex-end;gap:3px;height:36px;display:flex}.rhythm__day{background:var(--primary-fill);border-radius:2px;flex:1 1 0;min-width:3px;height:100%}.rhythm__day--absent{background:var(--hot);height:62%}.rhythm__day--missing{box-shadow:inset 0 0 0 1.5px var(--idle);background:0 0;height:62%}.rhythm__day--off{background:var(--border);height:14%}.rhythm-legend{flex-wrap:wrap;align-items:center;gap:4px 6px;max-width:none;margin-top:8px;display:flex}.rhythm-legend__item{white-space:nowrap;align-items:center;gap:5px;margin-right:10px;display:inline-flex}.rhythm-legend .rhythm__day{flex:none;width:8px;height:12px;display:inline-block}@media (width<=640px){.todo-item{grid-template-columns:30px minmax(0,1fr)}.todo-item>button{grid-column:2;justify-self:start}}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.field-card__name{flex:200px}.field-card__name input,.field-card>.form-field input{width:100%}.thread__form{align-items:flex-end}.thread__field{flex:220px}.thread__field input{width:100%}@media (width<=640px){.choice-chips button,.choice-seg button{min-height:44px}}.journal-rhythm{gap:4px;max-width:560px;margin:4px 0 14px;display:grid}.journal-rhythm .hint{margin:0}.rhythm__day--excused{background:var(--brand-purple);opacity:.45;height:62%}@media (width<=900px){.mark-code-btn{min-width:40px;height:40px}.notification-bell__toggle{min-width:44px;min-height:44px;padding:10px}.dash-table td>a:not(.link-btn),.roster-table td>a:not(.link-btn){padding:12px 0;display:inline-block}.dash-table td>.link-btn,.roster-table td>.link-btn{align-items:center;min-height:40px;display:inline-flex}}.meals{gap:4px;display:grid}.meals__weeks{flex-wrap:wrap;gap:8px;margin:0 0 12px;display:flex}.meals .day-status{margin:0 0 16px;font-weight:500;line-height:1.45}.meals-cards{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:12px;margin:0 0 16px;display:grid}.meals-card{border:1px solid var(--border);border-radius:var(--radius);background:var(--card-bg);flex-direction:column;justify-content:space-between;gap:6px;min-width:0;padding:14px 16px;display:flex}.meals-card--action{justify-content:center;gap:10px}.meals-card--action .btn-primary{width:100%;min-height:var(--control-h)}.meals-card__label{color:var(--muted);font-size:13px;font-weight:600}.meals-card__value{font-variant-numeric:tabular-nums;font-size:32px;font-weight:700;line-height:1.1}.meals-card input[type=number]{width:100%;min-height:var(--control-h);box-sizing:border-box;font-variant-numeric:tabular-nums;font-size:20px;font-weight:700}.meals-card__note{color:var(--muted);font-size:12px;line-height:1.35}.meals-tip{border-radius:var(--radius);background:var(--primary-light);flex-wrap:wrap;align-items:center;gap:8px 16px;margin:0 0 8px;padding:12px 16px;line-height:1.45;display:flex}.meals-tip__apply{min-height:var(--control-h);white-space:nowrap;margin-left:auto}.meals__days td,.meals__days th{vertical-align:middle}.meals__days input[type=number]{width:96px;min-height:var(--control-h);box-sizing:border-box;text-align:center;font-weight:600}.meals__day-buttons{white-space:nowrap;align-items:center;gap:12px;display:flex}.meals-source{white-space:nowrap;background:var(--sunken);border-radius:999px;padding:2px 10px;font-size:12px;font-weight:600;display:inline-block}.meals-source--forecast{background:var(--warn-bg);color:var(--warn-ink)}.meals-source--edited{background:var(--primary-light);color:var(--primary)}.meals-source--submitted{background:var(--ok-bg);color:var(--ok)}.meals-summary{flex-wrap:wrap;gap:4px 20px;margin:0 0 12px;font-size:14px;display:flex}.meals-filters{align-items:center;margin-bottom:12px}.meals-filters .chip-filter{margin:0}.meals-filters input[type=search]{min-width:220px;min-height:var(--control-h);box-sizing:border-box}.meals-students td{vertical-align:middle;overflow-wrap:anywhere}.meals-students__off td:nth-child(2){color:var(--muted)}.meals-students__body{flex-direction:column;align-items:flex-start;gap:4px;min-width:0;display:flex}@media (width<=640px){.meals-students__body{align-items:flex-end}.meals-card__value{font-size:26px}.meals-tip__apply{width:100%;margin-left:0}.meals-filters input[type=search]{width:100%}}.meals-overview .toolbar{align-items:center}.meals-overview__week{text-align:center;min-width:150px}.meals-overview table td,.meals-overview table th{vertical-align:middle}.meals-overview table td:nth-child(n+3),.meals-overview table th:nth-child(n+3){text-align:center}.meals-overview table td:last-child,.meals-overview table th:last-child{text-align:left;white-space:nowrap}.meals-overview__cell--forecast{background:var(--warn-bg)}.meals-overview__cell--edited{font-weight:700}.meals-overview__totals td{border-top:2px solid var(--border-strong);font-weight:700}.modal--wide{max-width:920px}@media (width<=640px){.roster-table.compact-cards td.meals__day-actions:empty{display:none}}.meals__closed{color:var(--muted);white-space:nowrap}.user-menu__group{border-bottom:1px solid var(--border);margin-bottom:6px;padding-bottom:6px;display:grid}.user-menu__caption{color:var(--muted);padding:4px 12px;font-size:12px;font-weight:600}.user-menu__panel button.is-checked{color:var(--primary);font-weight:700}.user-menu__panel button.is-checked:after{content:" ✓"}.brand-mark{color:var(--text);justify-items:start;gap:2px;display:inline-grid}.college-logo{line-height:0;display:inline-block}.college-logo__img{width:auto;height:48px;display:block}.college-logo__img--white{display:none}.brand-mark--compact .college-logo__img{height:40px}@media (prefers-color-scheme:dark){:root:not([data-theme=light]) .college-logo__img--color{display:none}:root:not([data-theme=light]) .college-logo__img--white{display:block}}:root[data-theme=dark] .college-logo__img--color{display:none}:root[data-theme=dark] .college-logo__img--white{display:block}.tabbar{border-bottom:1px solid var(--border);scrollbar-width:none;scroll-snap-type:x proximity;overscroll-behavior-x:contain;flex-wrap:wrap;gap:4px;margin:20px 0 16px;display:flex;overflow-x:auto}.tabbar::-webkit-scrollbar{display:none}.tabbar__tab{min-height:44px;color:var(--muted);font:inherit;white-space:nowrap;cursor:pointer;scroll-snap-align:start;background:0 0;border:0;border-bottom:2px solid #0000;border-radius:8px 8px 0 0;flex:none;align-items:center;gap:6px;margin-bottom:-1px;padding:0 14px;font-weight:600;transition:color .15s,background-color .15s,border-color .15s;display:inline-flex}.tabbar__tab:hover{color:var(--text);background:var(--sunken)}.tabbar__tab.is-active{color:var(--primary);border-bottom-color:var(--primary)}.tabbar__tab:focus-visible{outline:2px solid var(--primary);outline-offset:-2px}.tabbar__badge{background:var(--sunken);min-width:20px;color:var(--muted);text-align:center;border-radius:999px;padding:1px 6px;font-size:12px;font-weight:600}.tabbar__tab.is-active .tabbar__badge{background:var(--primary-light);color:var(--primary)}.tabpanel:not([hidden]){animation:.18s ease-out tabpanel-in}@keyframes tabpanel-in{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}.profile-hero{border:1px solid var(--border);border-radius:calc(var(--radius) + 4px);background:radial-gradient(120% 140% at 100% 0%, var(--primary-light) 0%, transparent 55%), var(--card-bg);box-shadow:var(--shadow-sm);padding:20px;position:relative}.profile-hero__top{align-items:center;gap:16px;min-width:0;display:flex}.profile-hero__avatar{background:var(--brand-gradient);color:#fff;width:56px;height:56px;font-family:var(--font-display);letter-spacing:.02em;border-radius:16px;flex:none;place-items:center;font-size:20px;font-weight:700;display:grid}.profile-hero__main{min-width:0}.profile-hero__title{flex-wrap:wrap;align-items:center;gap:8px 12px;display:flex}.profile-hero__title h2{overflow-wrap:anywhere;margin:0;font-size:22px}.profile-hero__meta{color:var(--muted);flex-wrap:wrap;gap:4px 0;margin:6px 0 0;font-size:14px;display:flex}.profile-hero__meta span:not(:last-child):after{content:"·";color:var(--border-strong);margin:0 8px}.kpi-row{grid-template-columns:repeat(auto-fit,minmax(124px,1fr));gap:10px;margin-top:18px;display:grid}.kpi{border:1px solid var(--border);border-radius:var(--radius);background:var(--card-bg);align-content:start;gap:2px;padding:12px 14px;display:grid}.kpi__value{font-family:var(--font-display);font-variant-numeric:tabular-nums;font-size:24px;font-weight:700;line-height:1.1}.kpi__label{color:var(--muted);font-size:13px}.kpi__hint{color:var(--muted);font-size:12px}.kpi--ok .kpi__value{color:var(--ok)}.kpi--warn .kpi__value{color:var(--warn-ink)}.kpi--hot .kpi__value{color:var(--hot)}.kpi--hot{border-color:color-mix(in srgb, var(--hot) 35%, var(--border))}.quick-actions{flex-wrap:wrap;gap:8px;margin-top:16px;display:flex}.profile-grid{grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:16px;margin-top:16px;display:grid}.profile-section{border:1px solid var(--border);border-radius:var(--radius);background:var(--card-bg);padding:16px}.profile-section h3{margin:0 0 6px;font-size:16px}.stat-list{gap:6px;margin:12px 0 0;display:grid}.stat-list>div{border-bottom:1px dashed var(--border);justify-content:space-between;gap:12px;padding-bottom:6px;display:flex}.stat-list>div:last-child{border-bottom:0}.stat-list dt{color:var(--muted)}.stat-list dd{font-variant-numeric:tabular-nums;margin:0;font-weight:600}.split-meter{background:var(--sunken);border-radius:999px;gap:2px;height:10px;margin-top:12px;display:flex;overflow:hidden}.split-meter__part--ok{background:var(--ok)}.split-meter__part--warn{background:var(--warn)}.split-meter__part--hot{background:var(--hot)}.split-meter__part--progress{background:var(--seg-progress)}.split-meter__part--idle{background:var(--seg-new)}.activity-bars{margin:8px 0 0}.activity-bars__plot{grid-template-columns:repeat(30,1fr);align-items:end;gap:3px;height:72px;padding:6px 0;display:grid}.activity-bars__bar{background:var(--primary-fill);opacity:.85;border-radius:3px 3px 1px 1px;display:block}.activity-bars__bar.is-empty{background:var(--sunken);opacity:1}.row-muted td{color:var(--muted)}.timeline{margin-top:16px}.timeline__day{z-index:1;background:var(--bg);color:var(--muted);text-transform:capitalize;margin:0 0 6px;padding:4px 0;font-size:13px;font-weight:600;position:sticky;top:0}.timeline__list{border-left:2px solid var(--border);margin:0;padding:0 0 0 14px;list-style:none}.timeline__item{gap:12px;padding:6px 0 6px 10px;display:flex;position:relative}.timeline__item:before{content:"";border:2px solid var(--card-bg);background:var(--idle);border-radius:50%;width:10px;height:10px;position:absolute;top:12px;left:-21px}.timeline__item--mark:before,.timeline__item--day:before,.timeline__item--period:before{background:var(--ok)}.timeline__item--task:before{background:var(--primary-fill)}.timeline__item--dossier:before,.timeline__item--passport:before{background:var(--warn)}.timeline__item--user:before,.timeline__item--student:before,.timeline__item--group:before{background:var(--brand-blue)}.timeline__item time{min-width:44px;color:var(--muted);font-variant-numeric:tabular-nums;flex:none}.timeline__text{overflow-wrap:anywhere;min-width:0}.activity-feed .btn-secondary{margin-top:16px}.secondary-btn{border:1px solid var(--border-strong);background:var(--card-bg);min-height:40px;color:var(--text);font:inherit;cursor:pointer;border-radius:8px;padding:0 16px;font-weight:600}.secondary-btn:hover:not(:disabled){background:var(--sunken)}.manage-panel .add-block label{gap:4px;margin-bottom:10px;display:grid}@media (width<=640px){.profile-hero{padding:16px}.profile-hero__avatar{border-radius:12px;width:44px;height:44px;font-size:16px}.profile-hero__title h2{font-size:19px}.kpi-row{grid-template-columns:repeat(2,minmax(0,1fr))}.kpi__value{font-size:20px}.tabbar{flex-wrap:nowrap;margin-inline:-16px;padding-inline:16px}.timeline__item{flex-direction:column;gap:0}.activity-bars__plot{gap:2px}}@media (prefers-reduced-motion:reduce){.tabpanel:not([hidden]){animation:none}.tabbar__tab{transition:none}}.palette-trigger{border:1px solid var(--border);background:var(--sunken);min-height:40px;color:var(--muted);font:inherit;cursor:pointer;border-radius:10px;align-items:center;gap:8px;min-width:260px;margin-right:auto;padding:0 10px 0 12px;font-size:14px;display:inline-flex}.palette-trigger:hover{color:var(--text);border-color:var(--border-strong)}.palette-trigger__text{text-align:left;flex:1}.palette-trigger__kbd,.palette__footer kbd{border:1px solid var(--border-strong);background:var(--card-bg);color:var(--muted);border-radius:5px;padding:1px 6px;font-family:inherit;font-size:11px}.palette-backdrop{z-index:60;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#0d0b1673;justify-content:center;align-items:flex-start;padding:12vh 16px 16px;display:flex;position:fixed;inset:0}.palette{border:1px solid var(--border);background:var(--card-bg);width:min(600px,100%);max-height:70vh;box-shadow:var(--shadow-md);border-radius:14px;flex-direction:column;animation:.14s ease-out tabpanel-in;display:flex;overflow:hidden}.palette__input{border:0;border-bottom:1px solid var(--border);width:100%;min-height:52px;color:var(--text);font:inherit;background:0 0;padding:0 18px;font-size:16px}.palette__input:focus{outline:none}.palette__list{margin:0;padding:6px;list-style:none;overflow-y:auto}.palette__item{cursor:pointer;border-radius:8px;justify-content:space-between;align-items:center;gap:12px;min-height:44px;padding:0 12px;display:flex}.palette__item.is-active{background:var(--primary-light)}.palette__label{text-overflow:ellipsis;white-space:nowrap;min-width:0;font-weight:600;overflow:hidden}.palette__hint{color:var(--muted);flex:none;font-size:13px}.palette__empty{color:var(--muted);padding:16px 12px}.palette__footer{border-top:1px solid var(--border);color:var(--muted);margin:0;padding:8px 14px;font-size:12px}@media (width<=900px){.palette-trigger{flex:none;justify-content:center;width:44px;min-width:44px;height:44px;margin-left:auto;margin-right:0;padding:0}.palette-trigger__text,.palette-trigger__kbd,.palette__footer{display:none}.palette-backdrop{padding-top:16px}}@media (prefers-reduced-motion:reduce){.palette{animation:none}}.auth-card__logo .college-logo__img{height:64px}.journal__toolbar{margin-bottom:16px}.journal__tools{flex-wrap:wrap;gap:8px;margin-left:auto;display:inline-flex}.journal__layout{grid-template-columns:300px minmax(0,1fr);align-items:start;gap:20px;display:grid}.journal__side{gap:16px;display:grid;position:sticky;top:16px}.journal__main{gap:16px;min-width:0;display:grid}.journal__main>.roster-table{width:100%}.journal__main>.day-status,.journal__main>.error-text{margin:0}.day-nav{border:1px solid var(--border);border-radius:var(--radius);background:var(--card-bg);gap:12px;padding:14px;display:grid}.day-nav__bar{grid-template-columns:40px minmax(0,1fr) 40px;align-items:center;gap:8px;display:grid}.day-nav__current{text-align:center;gap:4px;display:grid}.day-nav__weekday{font-family:var(--font-display);font-size:15px;font-weight:700}.day-nav__current input[type=date]{text-align:center;width:100%;min-height:36px}.day-nav__arrow{border:1px solid var(--border);background:var(--card-bg);width:40px;height:40px;color:var(--text);cursor:pointer;border-radius:10px;place-items:center;padding:0;font-size:22px;line-height:1;display:inline-grid}.day-nav__arrow:hover:not(:disabled){background:var(--sunken)}.day-nav__arrow:disabled{opacity:.35;cursor:default}.day-nav__arrow--small{width:32px;height:32px;font-size:18px}.day-nav__quick{grid-column:1/-1;gap:8px;display:flex}.day-nav__quick>button{flex:1}.day-nav:not(.is-calendar-open) .month-cal{display:none}.month-cal{gap:8px;display:grid}.month-cal__head{justify-content:space-between;align-items:center;display:flex}.month-cal__title{font-weight:600}.month-cal__grid{grid-template-columns:repeat(7,minmax(0,1fr));gap:4px;display:grid}.month-cal__weekday{color:var(--muted);text-align:center;text-transform:uppercase;font-size:11px;font-weight:600}.month-cal__day{aspect-ratio:1;background:var(--sunken);min-height:32px;color:var(--text);font:inherit;font-variant-numeric:tabular-nums;cursor:pointer;border:1px solid #0000;border-radius:8px;place-items:center;padding:0;font-size:13px;font-weight:600;display:grid;position:relative}.month-cal__day.is-ok{background:var(--ok-bg);color:var(--ok)}.month-cal__day.is-late{background:var(--warn-bg);color:var(--warn-ink)}.month-cal__day.is-missing{background:var(--danger-bg);color:var(--danger)}.month-cal__day.is-off{color:var(--muted);background:0 0;font-weight:400}.month-cal__day.is-future{color:var(--muted);border-color:var(--border);background:0 0}.month-cal__day.is-planned{background:var(--primary-light);color:var(--primary)}.month-cal__day.is-today:after{content:"";background:currentColor;border-radius:50%;width:4px;height:4px;position:absolute;bottom:3px}.month-cal__day.is-selected{border-color:var(--primary);box-shadow:0 0 0 2px var(--primary-light)}.month-cal__day:focus-visible,.day-nav__arrow:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.month-cal__legend{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 10px;margin:0;font-size:12px;display:flex}.legend-chip{vertical-align:-1px;border-radius:3px;width:10px;height:10px;margin-right:-6px;display:inline-block}.legend-chip.is-ok{background:var(--ok)}.legend-chip.is-late{background:var(--warn)}.legend-chip.is-missing{background:var(--danger)}.legend-chip.is-off{background:var(--border-strong)}.legend-chip.is-planned{background:var(--primary-light)}.journal__side .journal-rhythm{border:1px solid var(--border);border-radius:var(--radius);background:var(--card-bg);padding:12px 14px}.day-summary{border:1px solid var(--border);border-radius:calc(var(--radius) + 2px);background:var(--card-bg);gap:16px;padding:18px;display:grid}.day-summary__head{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.day-summary__head h3{margin:0 0 4px}.day-summary__head .hint{margin:0}.day-summary .kpi-row{margin-top:0}.day-summary__all{border-radius:var(--radius);background:var(--ok-bg);color:var(--ok);margin:0;padding:12px 14px;font-weight:600}.mark-chip{background:var(--sunken);border-radius:6px;place-items:center;min-width:26px;height:24px;padding:0 6px;font-size:12px;font-weight:700;display:inline-grid}.mark-chip.is-excused{background:var(--warn-bg);color:var(--warn-ink)}.mark-chip.is-unexcused{background:var(--danger-bg);color:var(--danger)}.day-status__action{margin-left:12px}.change-card{border:1px solid var(--border);border-left:4px solid var(--seg-progress);border-radius:var(--radius);background:var(--card-bg);gap:8px;padding:14px 16px;display:grid}.change-card.is-rejected{border-left-color:var(--danger)}.change-card.is-approved{border-left-color:var(--ok)}.change-card__head{flex-wrap:wrap;align-items:center;gap:6px 10px;display:flex}.change-card__reason,.change-card .hint{margin:0}.change-card__list{gap:4px;margin:0;padding:0;list-style:none;display:grid}.change-card__list li{background:var(--sunken);border-radius:8px;justify-content:space-between;gap:12px;padding:6px 10px;display:flex}.change-card__codes{font-variant-numeric:tabular-nums;flex:none}.change-card__actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.status-pill{background:var(--tile-progress);color:var(--primary);border-radius:999px;padding:2px 10px;font-size:12px;font-weight:700;display:inline-block}.status-pill.is-approved{background:var(--ok-bg);color:var(--ok)}.status-pill.is-rejected{background:var(--danger-bg);color:var(--danger)}.status-pill.is-cancelled{background:var(--sunken);color:var(--muted)}.change-review{gap:10px;margin-bottom:20px;display:grid}.change-review h3{align-items:center;gap:8px;margin:0;display:flex}.change-review__list{gap:10px;display:grid}@media (width<=1240px){.journal__layout{grid-template-columns:minmax(0,1fr)}.journal__side{grid-template-columns:minmax(280px,380px) minmax(0,1fr);align-items:start;position:static}}@media (width<=720px){.journal__side{grid-template-columns:minmax(0,1fr)}}@media (width<=640px){.journal__tools{margin-left:0}.day-summary{padding:14px}.day-summary__head>button{width:100%}.change-card__list li{flex-direction:column;gap:2px}}.group-cards{grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;display:grid}.group-card{border:1px solid var(--border);border-radius:calc(var(--radius) + 4px);background:var(--card-bg);color:var(--text);box-shadow:var(--shadow-sm);gap:6px;padding:18px;text-decoration:none;transition:border-color .15s,box-shadow .15s,transform .15s;display:grid}.group-card:hover{border-color:var(--primary);box-shadow:var(--shadow-md);transform:translateY(-1px)}.group-card:focus-visible{outline:2px solid var(--primary);outline-offset:2px}.group-card__code{font-family:var(--font-display);font-size:22px;font-weight:700}.group-card__meta,.group-card__stats{color:var(--muted);font-size:14px}.group-card__stats{flex-wrap:wrap;gap:4px 12px;display:flex}.group-card__risk{color:var(--hot);font-weight:600}.group-card__today{border-radius:999px;justify-self:start;margin-top:6px;padding:3px 10px;font-size:13px;font-weight:600}.group-card__today.is-ok{background:var(--ok-bg);color:var(--ok)}.group-card__today.is-pending{background:var(--danger-bg);color:var(--danger)}.group-students__search{flex:260px;max-width:360px}.tabbar--sub{border-bottom:0;gap:6px;margin:4px 0 16px}.tabbar--sub .tabbar__tab{border:1px solid var(--border);border-radius:999px;min-height:36px;margin-bottom:0;padding:0 14px;font-size:14px}.tabbar--sub .tabbar__tab.is-active{border-color:var(--primary);background:var(--primary-light)}.chip-filter{flex-wrap:wrap;gap:6px;margin:0 0 16px;display:flex}.chip-filter__item{border:1px solid var(--border);background:var(--card-bg);min-height:32px;color:var(--text);font:inherit;cursor:pointer;border-radius:999px;align-items:center;gap:6px;padding:0 12px;font-size:13px;display:inline-flex}.chip-filter__item:hover{background:var(--sunken)}.chip-filter__item.is-active{border-color:var(--primary);background:var(--primary-light);color:var(--primary);font-weight:600}.chip-filter__count{background:var(--sunken);text-align:center;border-radius:999px;min-width:18px;padding:0 5px;font-size:11px}.plan-empty-sections{margin-top:8px}@media (width<=640px){.chip-filter{scrollbar-width:none;flex-wrap:nowrap;margin-inline:-16px;padding:0 16px 4px;overflow-x:auto}.chip-filter__item{flex:none}.group-students__search{max-width:none}}.mark-code-btn--present{color:var(--ok);place-items:center;display:inline-grid}.mark-code-btn--present:hover{border-color:var(--ok)}.mark-code-btn--present.active{background:var(--ok);border-color:var(--ok);color:var(--on-fill)}@media (width<=640px){.roster-table.journal-roster td[data-label=Статус]{display:block}.roster-table.journal-roster td[data-label=Статус]:before,.roster-table.journal-roster td[data-label=Комментарий]:before,.roster-table.journal-roster td:empty{display:none}.roster-table.journal-roster td:last-child{justify-content:flex-end;display:flex}}.dossier-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:8px 16px;margin-bottom:16px;display:flex}.dossier-toolbar .hint{margin:0}.dossier-form{gap:16px;display:grid}.dossier-section{border:1px solid var(--border);border-radius:calc(var(--radius) + 2px);background:var(--card-bg);gap:14px;padding:18px 20px;display:grid}.dossier-section--private{border-left:4px solid var(--brand-violet)}.dossier-section__head h4{font-family:var(--font-display);margin:0;font-size:17px;font-weight:700}.dossier-section__head p{color:var(--muted);margin:4px 0 0;font-size:13px;font-weight:400}.dossier-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));align-items:start;gap:14px 16px;display:grid}.dossier-field{gap:6px;min-width:0;display:grid}.dossier-field--wide{grid-column:1/-1}.dossier-field__label{color:var(--text);font-size:13px;font-weight:600;line-height:1.3}.dossier-field__hint{color:var(--muted);font-size:12px;font-weight:400}.dossier-field input,.dossier-field select,.dossier-field textarea{width:100%;font-weight:400}.dossier-inline-action{justify-self:start;padding:0}.toggle-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:8px;display:grid}.toggle-tile{border:1px solid var(--border);border-radius:var(--control-radius,8px);background:var(--input-bg);min-height:44px;color:var(--text);cursor:pointer;align-items:center;gap:10px;padding:8px 12px;font-size:14px;font-weight:500;transition:border-color .15s,background-color .15s;display:flex}.toggle-tile:hover{border-color:var(--border-strong)}.toggle-tile.is-on{border-color:var(--primary);background:var(--primary-light);font-weight:600}.toggle-tile input[type=checkbox]{flex:none;width:18px;height:18px;margin:0}.toggle-tile:focus-within{outline:2px solid var(--primary);outline-offset:2px}.dossier-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;display:flex}.dossier-actions .toggle-tile{margin-right:auto}.dossier-savebar{bottom:calc(var(--bottom-nav-offset,0px) + 12px);z-index:4;border:1px solid var(--border);border-radius:calc(var(--radius) + 2px);background:var(--card-bg);box-shadow:var(--shadow-md);justify-content:space-between;align-items:center;gap:12px;padding:12px 16px;display:flex;position:sticky}.dossier-savebar__state{color:var(--muted);font-size:13px}.dossier-savebar.is-dirty{border-color:var(--primary)}.dossier-savebar.is-dirty .dossier-savebar__state{color:var(--primary);font-weight:600}.person-list{gap:8px;display:grid}.person-card{border:1px solid var(--border);border-radius:var(--control-radius,8px);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;padding:10px 12px;display:grid}.person-card__main{flex-wrap:wrap;align-items:baseline;gap:4px 10px;min-width:0;display:flex}.person-card__main .hint{width:100%;margin:0}.person-card__call{text-decoration:none}.note-form__protocol{border-radius:var(--control-radius,8px);background:var(--sunken);gap:10px;padding:14px 16px;display:grid}.note-form__protocol h5{margin:0;font-size:14px}.note-form__protocol .hint{margin:0;font-weight:400}.note-list{gap:10px;display:grid}.note-card{border:1px solid var(--border);border-radius:var(--control-radius,8px);gap:8px;padding:14px 16px;display:grid}.note-card__head{flex-wrap:wrap;align-items:center;gap:4px 12px;display:flex}.note-card__head .hint{margin-left:auto;font-weight:400}.note-card__kind{background:var(--primary-light);color:var(--primary);border-radius:999px;padding:2px 10px;font-size:12px;font-weight:700}.note-card__head time{font-variant-numeric:tabular-nums;font-weight:600}.note-card__text{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.note-card__details{background:var(--sunken);border-radius:8px;gap:6px;margin:0;padding:10px 12px;display:grid}.note-card__details>div{grid-template-columns:130px minmax(0,1fr);gap:8px;display:grid}.note-card__details dt{color:var(--muted);font-size:13px;font-weight:600}.note-card__details dd{overflow-wrap:anywhere;margin:0}.note-card__follow{flex-wrap:wrap;align-items:center;gap:4px 12px;font-size:13px;font-weight:600;display:flex}.note-card__follow.is-overdue{color:var(--danger)}.note-card__actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.note-card__actions .danger-link{margin-left:auto}@media (width<=640px){.dossier-section{padding:14px}.dossier-grid,.toggle-grid{grid-template-columns:minmax(0,1fr)}.dossier-actions{flex-direction:column;align-items:stretch}.dossier-actions>button{width:100%}.dossier-savebar{text-align:center;flex-direction:column;align-items:stretch}.person-card{grid-template-columns:minmax(0,1fr) auto}.person-card__phone{grid-column:1/-1}.person-card__call{width:100%}.note-card__details>div{grid-template-columns:minmax(0,1fr);gap:2px}.note-card__head .hint{width:100%;margin-left:0}.note-card__actions>.btn-secondary{flex:1}}.modal.modal--wide{max-width:640px;max-height:calc(100vh - 32px);overflow-y:auto}.modal--wide .note-form,.note-form{gap:14px;display:grid}.report-section{margin-top:0}.report-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:12px;display:grid}.report-card{border:1px solid var(--border);border-radius:var(--control-radius,8px);background:var(--input-bg);align-content:start;gap:8px;padding:12px 14px;transition:border-color .15s;display:grid}.report-card:focus-within{border-color:var(--primary)}.report-card.is-filled{border-left:3px solid var(--ok)}.report-card--wide{grid-column:1/-1}.report-card__label{color:var(--text);font-size:13px;font-weight:600;line-height:1.35}.report-card input,.report-card textarea{width:100%}.report-card__foot{color:var(--muted);flex-wrap:wrap;align-items:center;gap:4px 10px;font-size:12px;display:flex}.report-card__auto b{color:var(--text)}.report-card__take{border:1px solid var(--primary);background:var(--primary-light);min-height:26px;color:var(--primary);cursor:pointer;border-radius:999px;padding:0 10px;font-size:12px;font-weight:700}.report-card__hint{flex-basis:100%}.report-section__next{justify-content:flex-end;display:flex}.report-savebar__buttons{flex-wrap:wrap;gap:8px;display:flex}@media (width<=640px){.report-grid{grid-template-columns:minmax(0,1fr)}.report-savebar__buttons{flex-direction:column}.report-section__next>button{white-space:normal;width:100%}}.report-card{flex-direction:column;display:flex}.report-card__label{flex:1 0 auto}.report-card--wide .report-card__label{flex:none}.dossier-section__head--row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:8px 16px;display:flex}.dossier-section.is-editing{border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.info-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:14px 24px;margin:0;display:grid}.info-item{gap:2px;min-width:0;display:grid}.info-item--wide{grid-column:1/-1}.info-item dt{color:var(--muted);letter-spacing:.02em;text-transform:uppercase;font-size:12px;font-weight:600}.info-item dd{overflow-wrap:anywhere;white-space:pre-wrap;margin:0;font-size:15px}.info-item dd.info-empty{color:var(--muted);font-size:14px;font-style:italic}.info-chips{flex-wrap:wrap;gap:6px;display:flex}.info-chip{background:var(--primary-light);color:var(--primary);border-radius:999px;padding:3px 10px;font-size:13px;font-weight:600}.toggle-tile--inline{justify-self:start;width:fit-content}.person-card__actions{gap:4px 12px;display:inline-flex}.person-card--edit{border-color:var(--primary);grid-template-columns:minmax(0,1fr)}@media (width<=640px){.info-grid{grid-template-columns:minmax(0,1fr)}.dossier-section__head--row>button{width:100%}.person-card__actions{grid-column:1/-1;justify-content:flex-end}}.info-item dd a.link-btn{padding:0;font-size:15px}:root{--control-h:40px;--control-radius:8px}input:not([type=checkbox]):not([type=radio]):not([type=range]):not([type=file]):not([type=color]),select{min-height:var(--control-h);border-radius:var(--control-radius);line-height:1.3}button:not([class]),button.btn-primary,button.btn-secondary,button.btn-danger,button.danger-btn,.day-actions button,.actions button:not(.link-btn),.inline-form button:not(.link-btn),form button[type=submit]:not(.link-btn){min-height:var(--control-h);border-radius:var(--control-radius);white-space:nowrap;justify-content:center;align-items:center;gap:6px;padding:0 16px;line-height:1.2;display:inline-flex}.secondary-btn{min-height:var(--control-h);border:1px solid var(--border);border-radius:var(--control-radius);background:var(--card-bg);color:var(--text);font:inherit;cursor:pointer;justify-content:center;align-items:center;padding:0 16px;font-size:14px;font-weight:600;display:inline-flex}.toolbar{align-items:flex-end}.toolbar>.link-btn,.toolbar>span>.link-btn{min-height:var(--control-h)}.form-field{gap:4px}.form-field>input,.form-field>select,.form-field>textarea{width:100%}textarea{border-radius:var(--control-radius);line-height:1.45}.dash-table th{letter-spacing:.02em;text-transform:uppercase;color:var(--muted);font-size:12px}@media (width<=640px){:root{--control-h:44px}button:not([class]),button.btn-primary,button.btn-secondary,button.btn-danger{white-space:normal}.roster-table.compact-cards td[data-label]{justify-content:space-between;align-items:baseline;gap:12px;padding:4px 0;display:flex}.roster-table.compact-cards td[data-label]:before{flex:none;margin:0}.roster-table.compact-cards td[data-label=ФИО],.roster-table.compact-cards td[data-label=Студент]{font-size:15px;display:block}.roster-table.compact-cards td[data-label=ФИО]:before,.roster-table.compact-cards td[data-label=Студент]:before,.roster-table.compact-cards td[data-label=№]{display:none}.student-card__grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}}textarea{resize:none}.textarea-wrap{width:100%;display:block;position:relative}.textarea-wrap>textarea{width:100%;min-height:72px;max-height:280px;padding-right:36px;display:block;overflow-y:auto}.textarea-wrap__expand{background:var(--card-bg);width:28px;height:28px;color:var(--muted);opacity:.75;cursor:pointer;border:1px solid #0000;border-radius:6px;place-items:center;padding:0;display:inline-grid;position:absolute;top:6px;right:6px}.textarea-wrap__expand:hover,.textarea-wrap__expand:focus-visible{border-color:var(--border);color:var(--primary);opacity:1}.fullscreen-editor{z-index:80;padding:max(16px, env(safe-area-inset-top)) 16px max(16px, env(safe-area-inset-bottom));background:var(--bg);grid-template-rows:auto minmax(0,1fr) auto;gap:12px;display:grid;position:fixed;inset:0}.fullscreen-editor__head{justify-content:space-between;align-items:center;gap:12px;width:min(900px,100%);margin:0 auto;display:flex}.fullscreen-editor__head h3{margin:0;font-size:18px}.fullscreen-editor__area{width:min(900px,100%);height:100%;margin:0 auto;padding:16px 18px;font-size:16px;line-height:1.55}.fullscreen-editor__count{text-align:right;width:min(900px,100%);margin:0 auto}.modal label:not(.inline-check):not(.toggle-tile){color:var(--text);gap:6px;margin-bottom:12px;font-size:13px;font-weight:600}.modal label:not(.inline-check):not(.toggle-tile)>input:not([type=checkbox]):not([type=radio]),.modal label:not(.inline-check):not(.toggle-tile)>select,.modal label:not(.inline-check):not(.toggle-tile)>.textarea-wrap{width:100%;font-weight:400}.modal{max-height:calc(100vh - 32px);overflow-y:auto}form button.btn-secondary[type=submit]:not(.link-btn),.actions button.btn-secondary:last-child:not(.link-btn),.inline-form button.btn-secondary:last-child:not(.link-btn){background:var(--card-bg);color:var(--text);border-color:var(--border)}form button.btn-secondary[type=submit]:not(.link-btn):hover:not(:disabled){background:var(--sunken);border-color:var(--primary)}.sort-btn{all:unset;cursor:pointer;font:inherit;letter-spacing:inherit;text-transform:inherit;color:inherit;align-items:center;gap:4px;display:inline-flex}.sort-btn:focus-visible{outline:2px solid var(--accent,currentColor);outline-offset:2px}.sort-btn__arrow{opacity:.55;font-size:10px}th[aria-sort=ascending] .sort-btn__arrow,th[aria-sort=descending] .sort-btn__arrow{opacity:1}.toolbar--filters{flex-wrap:wrap}.toolbar--filters input[type=search]{min-width:200px}@media (width<=640px){.toolbar--filters input[type=search]{flex:100%;min-width:0}}.results-bar{margin:4px 0 8px}.check-inline{min-height:var(--control-h);align-items:center;gap:6px;font-size:14px;display:inline-flex}
