:root{color:#242321;font-synthesis:none;text-rendering:optimizelegibility;--ink:#252525;--ink-soft:#44413c;--paper:#f8f6f1;--paper-deep:#ece8e0;--orange:#ef890a;--orange-dark:#b85f00;--blue:#167f9f;--line:#d8d3ca;--muted:#6a665f;--serif:Charter, "Iowan Old Style", "Palatino Linotype", Georgia, serif;--shadow:0 18px 45px #2c251a1c;--alarm:#a53b26;--radius-card:18px;--radius-field:12px;--radius-badge:8px;--radius-control:980px;background:#f3f0ea;font-family:Avenir Next,Avenir,Segoe UI,sans-serif}*{box-sizing:border-box}html{scroll-behavior:smooth}body{background:var(--paper-deep);min-width:320px;min-height:100vh;margin:0}button,a{-webkit-tap-highlight-color:transparent}button{font:inherit}button:focus-visible,a:focus-visible,input:focus-visible,select:focus-visible,textarea:focus-visible,pre[tabindex]:focus-visible{outline-offset:2px;outline:3px solid #ef890ab8}a{color:inherit}.skip-link{z-index:300;color:#fff;background:var(--ink);border:2px solid var(--orange);min-height:44px;box-shadow:var(--shadow);border-radius:999px;align-items:center;padding:0 18px;text-decoration:none;transition:transform .18s;display:flex;position:fixed;top:10px;left:50%;transform:translate(-50%,-160%)}.skip-link:focus{transform:translate(-50%)}.app-shell{min-height:100vh}.sidebar{z-index:40;color:#fff;background:linear-gradient(180deg, #ffffff06, transparent 25%), var(--ink);border-right:1px solid #3d3c39;flex-direction:column;width:280px;padding:18px 16px 14px;transition:width .24s,transform .24s;display:flex;position:fixed;inset:0 auto 0 0}.brand{border-bottom:1px solid #484744;align-items:center;gap:13px;min-height:82px;padding:0 7px 15px;display:flex}.brand__mark{object-fit:contain;background:0 0;flex:none;width:52px;height:64px;padding:4px;display:block;transform:scale(1.25)}.brand__title{border-left:1px solid #4d4b47;flex:auto;min-width:0;padding-left:12px}.brand__title strong{font-family:var(--serif);font-size:17px;line-height:1.1;display:block}.brand__title span{color:#d0ccc4;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;margin-top:6px;font-size:9px;font-weight:700;line-height:1.25;display:block}.sidebar__close{margin-left:auto;display:none!important}.module-nav{scrollbar-width:thin;flex:1;min-height:0;padding:22px 0 12px;overflow:hidden auto}.eyebrow{color:var(--orange-dark);letter-spacing:.14em;text-transform:uppercase;margin:0 0 7px;font-size:11px;font-weight:800;line-height:1.2;display:block}.sidebar .eyebrow{color:#c0bbb2;padding:0 9px;font-size:12px}.teacher-link{color:#f0ece5;text-align:left;cursor:pointer;background:0 0;border:1px solid #5d5953;grid-template-columns:23px 1fr 16px;align-items:center;gap:10px;width:100%;min-height:64px;margin-bottom:7px;padding:10px 11px;text-decoration:none;display:grid}.teacher-link:hover,.teacher-link--active{color:var(--ink);background:var(--orange);border-color:var(--orange)}.teacher-link strong,.teacher-link small{display:block}.teacher-link strong{font:700 16px/1.15 var(--serif)}.teacher-link small{letter-spacing:.02em;margin-top:4px;font-size:11px}.teacher-link__text{min-width:0}.teacher-nav{border-top:1px solid #4a4844;flex:none;padding:14px 0 10px}.teacher-nav__label{color:#bdb8af;letter-spacing:.12em;text-transform:uppercase;padding:0 10px 9px;font-size:10px;font-weight:900;display:block}.sidebar-collapse{color:#d0ccc4;cursor:pointer;background:0 0;border:1px solid #5d5953;justify-content:center;align-items:center;gap:8px;width:100%;min-height:44px;margin-top:10px;display:flex}.sidebar-collapse:hover{color:#fff;border-color:#77736b}.sidebar-collapse span{letter-spacing:.07em;text-transform:uppercase;font-size:11px;font-weight:900}.sidebar--collapsed{width:82px;padding-inline:10px}.sidebar--collapsed .brand{justify-content:center;padding-inline:0}.sidebar--collapsed .brand__title,.sidebar--collapsed .teacher-nav__label,.sidebar--collapsed .teacher-link__text,.sidebar--collapsed .teacher-link>svg:last-child,.sidebar--collapsed .sidebar-collapse span{display:none}.sidebar--collapsed .module-nav>.eyebrow{visibility:hidden;height:11px;padding:0;overflow:hidden}.sidebar--collapsed .teacher-link{grid-template-columns:1fr;justify-items:center;min-height:48px;padding:0}.workspace{background:var(--paper);min-height:100vh;margin-left:280px;transition:margin-left .24s}.app-shell--collapsed .workspace{margin-left:82px}.topbar{z-index:25;border-bottom:1px solid var(--line);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#f8f6f1f0;grid-template-columns:44px minmax(200px,1fr) minmax(140px,.6fr) auto;align-items:center;gap:14px;height:68px;padding:0 30px;display:grid;position:sticky;top:0}.module-context{min-width:0}.module-context span{color:var(--orange-dark);letter-spacing:.13em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap;font-size:10px;font-weight:800;display:block;overflow:hidden}.module-context strong{font-family:var(--serif);margin-top:2px;font-size:16px;display:block}.topbar__meta{color:var(--muted);white-space:nowrap;justify-self:end;align-items:center;gap:7px;font-size:11px;display:flex}.topbar__actions{grid-column:-2;justify-self:end;align-items:center;gap:7px;display:flex}.view-switch{z-index:2;background:var(--ink);border:1px solid #4b4944;border-top:3px solid var(--orange);gap:3px;padding:5px;display:flex;position:absolute;left:50%;transform:translate(-50%);box-shadow:0 10px 24px #1f1c172e}.view-switch button{color:#d8d4cc;cursor:pointer;letter-spacing:.025em;background:0 0;border:1px solid #0000;align-items:center;gap:8px;min-height:44px;padding:0 17px;font-size:12px;font-weight:850;transition:color .18s,background .18s,border-color .18s,transform .18s;display:flex}.view-switch button svg{color:var(--orange);transition:color .18s}.view-switch button:hover{color:#fff;background:#3a3935;border-color:#57544e;transform:translateY(-1px)}.view-switch button.active{color:var(--ink);background:var(--orange);border-color:#ff9e27;box-shadow:inset 0 -2px #7a3a002e}.view-switch button.active svg{color:var(--ink)}.sidebar-toggle{color:var(--ink);border-color:var(--line);background:0 0}.icon-button{color:#fff;cursor:pointer;background:#3b3a37;border:1px solid #565551;place-items:center;width:44px;height:44px;transition:background .2s,color .2s,border-color .2s;display:inline-grid}.icon-button:hover:not(:disabled){color:var(--ink);background:var(--orange);border-color:var(--orange)}.icon-button:disabled{opacity:.35;cursor:not-allowed}.page-content{width:min(1480px,100%);margin:0 auto;padding:34px 40px 70px}.day-hero{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1.6fr) minmax(260px,.7fr);align-items:end;gap:50px;min-height:210px;padding:15px 0 34px;display:grid}.day-hero__main{max-width:790px}.day-hero h1{max-width:760px;font:700 clamp(36px, 4.4vw, 68px)/.98 var(--serif);letter-spacing:-.038em;margin:0}.day-hero__main>p{max-width:720px;color:var(--ink-soft);font:17px/1.55 var(--serif);margin:20px 0 0}.day-hero blockquote{color:#f7f4ef;background:var(--ink);border-top:4px solid var(--orange);font:700 19px/1.35 var(--serif);box-shadow:var(--shadow);margin:0;padding:24px 24px 24px 52px;position:relative}.day-hero blockquote svg{color:var(--orange);position:absolute;top:27px;left:22px}.section-heading{justify-content:space-between;align-items:flex-end;gap:20px;min-height:52px;margin-bottom:18px;display:flex}.section-heading h2{font:700 28px/1.05 var(--serif);letter-spacing:-.02em;margin:0}.section-heading .eyebrow{margin-bottom:4px}.section-heading__actions{align-items:center;gap:8px;display:flex}.lab-section{margin-top:44px}.lab-section:first-of-type{margin-top:40px}.block{border-top:1px solid var(--line);grid-template-columns:85px minmax(0,1fr);min-height:138px;transition:opacity .2s;display:grid;position:relative}.block:last-child{border-bottom:1px solid var(--line)}.block__time{color:var(--ink-soft);font:700 12px/1.25 var(--serif);padding-top:25px}.block__body{border-left:4px solid var(--orange);padding:22px 58px 22px 28px}.block--work .block__body{border-left-color:var(--blue)}.block--reserve .block__body{border-left-color:#a59b8a}.block--close .block__body{border-left-color:var(--ink)}.block--alarm .block__body{border-left-color:var(--alarm)}.block__phase{color:var(--orange-dark);letter-spacing:.11em;text-transform:uppercase;font-size:10px;font-weight:800}.block h3{font:700 21px/1.15 var(--serif);margin:6px 0 8px}.block p{max-width:720px;color:var(--muted);margin:0;font-size:14px;line-height:1.55}.block__actions{flex-wrap:wrap;gap:8px;margin-top:14px;display:flex}.button{border:1px solid var(--ink);cursor:pointer;justify-content:center;align-items:center;gap:7px;min-height:44px;padding:0 16px;font-size:12px;font-weight:800;text-decoration:none;display:inline-flex}.button--ghost{color:var(--ink);background:0 0}.button--primary{color:#fff;background:var(--ink)}.button--danger{color:var(--alarm);border-color:var(--alarm);background:0 0}.button:hover:not(:disabled){border-color:var(--orange)}.button--primary:hover:not(:disabled){color:var(--ink);background:var(--orange)}.button:disabled{opacity:.45;cursor:not-allowed}.form-card{border:1px solid var(--line);box-shadow:var(--shadow);background:#fff;padding:24px 26px 26px}.form-grid{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:16px 18px;display:grid}.field{flex-direction:column;gap:6px;min-width:0;display:flex}.field--wide{grid-column:1/-1}.field>label{color:var(--ink-soft);letter-spacing:.1em;text-transform:uppercase;font-size:10px;font-weight:900}.field input,.field select,.field textarea{min-width:0;min-height:44px;color:var(--ink);background:#fff;border:1px solid #bbb4a9;padding:10px 12px;font:15px/1.4 Avenir Next,Avenir,Segoe UI,sans-serif}.field textarea{resize:vertical;min-height:92px}.field input:focus,.field select:focus,.field textarea:focus{outline:3px solid var(--orange);outline-offset:-3px}.field small{color:var(--muted);font-size:11px}.form-actions{flex-wrap:wrap;justify-content:flex-end;gap:8px;margin-top:20px;display:flex}.form-error{color:var(--alarm);margin:14px 0 0;font-size:12px;font-weight:800}.toolbar{background:var(--paper-deep);border:1px solid var(--line);flex-wrap:wrap;align-items:flex-end;gap:12px 16px;margin-bottom:20px;padding:16px 18px;display:flex}.toolbar .field{flex:200px}.table-scroll{overflow-x:auto}.data-table{border-collapse:collapse;border:1px solid var(--line);background:#fff;width:100%}.data-table caption{color:var(--muted);text-align:left;padding-bottom:10px;font-size:12px}.data-table th,.data-table td{border-bottom:1px solid var(--line);text-align:left;vertical-align:top;padding:12px 14px;font-size:14px}.data-table th{color:var(--ink-soft);letter-spacing:.1em;text-transform:uppercase;white-space:nowrap;background:var(--paper-deep);font-size:10px;font-weight:900}.data-table tbody tr:hover{background:#fbf9f5}.data-table td.is-numeric,.data-table th.is-numeric{text-align:right;font-variant-numeric:tabular-nums}.data-table tr.is-inactive td{color:var(--muted);background:#f4f1eb}.row-actions{flex-wrap:wrap;gap:6px;display:flex}.row-actions .button{min-height:44px;padding:0 11px;font-size:11px}.pill{border:1px solid var(--line);color:var(--ink-soft);letter-spacing:.03em;white-space:nowrap;background:#fff;border-radius:999px;align-items:center;gap:5px;padding:4px 11px;font-size:11px;font-weight:800;display:inline-flex}.pill--ok{color:#14532d;background:#e4f2e6;border-color:#b9d9bf}.pill--warn{color:var(--orange-dark);background:#fbeed8;border-color:#eccb96}.pill--alarm{color:var(--alarm);background:#f7e3de;border-color:#e0b2a6}.pill--info{color:#0f5b73;background:#dcedf3;border-color:#a9cfdc}.pill--muted{color:var(--muted);background:var(--paper-deep)}.stat-grid{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:1px;margin-bottom:26px;display:grid}.stat{background:#fff;padding:18px 20px}.stat span{color:var(--orange-dark);letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:800;display:block}.stat strong{font:700 30px/1 var(--serif);font-variant-numeric:tabular-nums;margin-top:7px;display:block}.stat small{color:var(--muted);margin-top:6px;font-size:12px;display:block}.stat--alarm{border-top:4px solid var(--alarm)}.stat--warn{border-top:4px solid var(--orange)}.empty-state{color:var(--muted);font:16px/1.6 var(--serif);background:#fff;border:1px dashed #c3bcb1;padding:34px 26px}.notice{border:1px solid var(--line);border-left:5px solid var(--orange);background:#fff;align-items:flex-start;gap:12px;margin-bottom:20px;padding:16px 18px;display:flex}.notice--alarm{border-left-color:var(--alarm)}.notice svg{color:var(--orange-dark);flex:none;margin-top:2px}.notice--alarm svg{color:var(--alarm)}.notice strong{font:700 17px/1.2 var(--serif);display:block}.notice p{color:var(--muted);margin:6px 0 0;font-size:13px;line-height:1.55}.notice ul{color:var(--muted);margin:8px 0 0;padding-left:18px;font-size:13px;line-height:1.6}.roster{border:1px solid var(--line);background:#fff}.roster__row{border-bottom:1px solid var(--line);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px 16px;display:grid}.roster__row:last-child{border-bottom:0}.roster__row:focus-within{background:#fbf9f5}.roster__name{min-width:0}.roster__name strong{font:700 17px/1.2 var(--serif);display:block}.roster__name small{color:var(--muted);margin-top:3px;font-size:12px;display:block}.status-choice{flex-wrap:wrap;gap:4px;display:flex}.status-choice button{min-width:44px;min-height:44px;color:var(--ink-soft);border:1px solid var(--line);cursor:pointer;background:#fff;padding:0 13px;font-size:12px;font-weight:800}.status-choice button:hover{border-color:var(--orange)}.status-choice button[aria-pressed=true]{color:var(--ink);background:var(--orange);border-color:var(--orange)}.status-choice button[aria-pressed=true][data-status=unentschuldigt]{color:#fff;background:var(--alarm);border-color:var(--alarm)}.status-choice button[aria-pressed=true][data-status=krank]{color:#fff;background:var(--blue);border-color:var(--blue)}.status-choice button[aria-pressed=true][data-status=entschuldigt]{color:#fff;background:var(--ink-soft);border-color:var(--ink-soft)}.roster__detail{flex-wrap:wrap;grid-column:1/-1;gap:10px;display:flex}.roster__detail input{border:1px solid var(--line);min-height:44px;padding:6px 10px;font:13px/1.4 Avenir Next,Avenir,Segoe UI,sans-serif}.roster__detail input[type=time]{width:120px}.roster__detail input[type=text]{flex:260px}.year-grid{border-collapse:collapse;border:1px solid var(--line);background:#fff;width:100%;min-width:900px}.year-grid th,.year-grid td{border:1px solid var(--line);padding:0}.year-grid thead th{background:var(--paper-deep);color:var(--ink-soft);letter-spacing:.06em;text-transform:uppercase;padding:8px 4px;font-size:10px;font-weight:900}.year-grid tbody th{background:var(--paper-deep);font:700 15px/1.2 var(--serif);text-align:left;white-space:nowrap;padding:10px 12px}.year-month{grid-template-columns:repeat(31,1fr);min-width:62px;height:34px;display:grid}.year-day{border-right:1px solid #efece6}.year-day:last-child{border-right:0}.year-day--weekend{background:#f1eee8}.year-day--holiday{background:#e5e0d6}.year-day--urlaub{background:var(--orange)}.year-day--fortbildung{background:var(--blue)}.year-day--krank{background:var(--alarm)}.year-day--sonstiges{background:#8a857c}.year-day--pending{background:repeating-linear-gradient(45deg, var(--orange) 0 3px, #fff 3px 6px)}.year-day--clash{box-shadow:inset 0 0 0 2px var(--alarm)}.legend{color:var(--muted);flex-wrap:wrap;gap:14px;margin-top:14px;font-size:12px;display:flex}.legend span{align-items:center;gap:7px;display:inline-flex}.legend i{border:1px solid var(--line);width:16px;height:16px;display:inline-block}.week-grid{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1px;display:grid}.week-card{background:#fff;padding:18px 20px}.week-card>span{color:var(--orange-dark);letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:800;display:block}.week-card h3{font:700 20px/1.15 var(--serif);margin:8px 0 4px}.week-card p{color:var(--muted);margin:0;font-size:13px;line-height:1.55}.week-card ol{color:var(--ink-soft);margin:12px 0 0;padding-left:18px;font-size:13px;line-height:1.7}.card-grid{background:var(--line);border:1px solid var(--line);grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1px;display:grid}.info-card{background:#fff;flex-direction:column;gap:10px;padding:20px 22px;display:flex}.info-card__head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.info-card h3{font:700 21px/1.15 var(--serif);margin:0}.info-card__meta{flex-wrap:wrap;gap:7px;display:flex}.info-card p{color:var(--muted);margin:0;font-size:13px;line-height:1.6}.info-card a{min-height:44px;color:var(--blue);overflow-wrap:anywhere;align-items:center;gap:6px;font-size:13px;font-weight:800;display:inline-flex}.board-grid{background:var(--line);border:1px solid var(--line);grid-auto-columns:minmax(230px,1fr);grid-auto-flow:column;gap:1px;display:grid;overflow-x:auto}.board-column{background:var(--paper);flex-direction:column;gap:10px;min-width:0;padding:16px 14px;display:flex}.board-column__head{justify-content:space-between;align-items:center;gap:8px;display:flex}.board-column__head .eyebrow{margin:0}.board-column__empty{color:var(--muted);margin:0;font-size:12px;line-height:1.5}.board-card{border:1px solid var(--line);border-left:4px solid var(--orange);background:#fff;flex-direction:column;gap:4px;padding:12px 14px;display:flex}.board-card strong{font:700 16px/1.2 var(--serif);overflow-wrap:anywhere}.board-card span{color:var(--ink-soft);overflow-wrap:anywhere;font-size:13px}.board-card__person{color:var(--orange-dark);letter-spacing:.06em;text-transform:uppercase;font-size:11px;font-weight:800}.board-card small{color:var(--muted);font-variant-numeric:tabular-nums;font-size:11px}.board-card p{color:var(--muted);overflow-wrap:anywhere;margin:4px 0 0;font-size:12px;line-height:1.5}.board-card .row-actions{margin-top:8px}.lab-gate{color:#fff;background:radial-gradient(circle at 20% 10%, #ef890a2e, transparent 30%), var(--ink);place-items:center;min-height:100vh;padding:28px;display:grid}.lab-gate__card{width:min(560px,100%);color:var(--ink);border-top:6px solid var(--orange);background:#f8f6f1;padding:clamp(32px,6vw,58px);position:relative;box-shadow:0 35px 90px #0000005c}.lab-gate__mark{object-fit:contain;width:96px;height:132px;margin-bottom:22px;display:block}.lab-gate h1{max-width:420px;font:700 clamp(38px, 7vw, 58px)/.95 var(--serif);letter-spacing:-.04em;margin:0}.lab-gate>.lab-gate__card>p{max-width:470px;color:var(--muted);margin:20px 0 28px;font-size:15px;line-height:1.6}.lab-gate__roles{gap:6px;margin-bottom:24px;display:flex}.lab-gate__roles button{min-height:46px;color:var(--ink);letter-spacing:.05em;text-transform:uppercase;cursor:pointer;background:#fff;border:1px solid #bbb4a9;flex:1 1 0;font-size:12px;font-weight:900}.lab-gate__roles button[aria-pressed=true]{color:var(--ink);background:var(--orange);border-color:var(--orange)}.lab-gate form label{color:var(--ink-soft);letter-spacing:.1em;text-transform:uppercase;margin-bottom:7px;font-size:10px;font-weight:900;display:block}.lab-gate form input{width:100%;height:52px;color:var(--ink);font:700 17px/1 var(--serif);background:#fff;border:1px solid #bbb4a9;margin-bottom:16px;padding:0 14px}.lab-gate form input:focus{outline:3px solid var(--orange);outline-offset:-3px;position:relative}.lab-gate form button[type=submit]{color:#fff;background:var(--ink);border:1px solid var(--ink);letter-spacing:.06em;text-transform:uppercase;cursor:pointer;width:100%;min-height:52px;padding:0 18px;font-size:11px;font-weight:900}.lab-gate form button[type=submit]:hover:not(:disabled){color:var(--ink);background:var(--orange);border-color:var(--orange)}.lab-gate form button[type=submit]:disabled{opacity:.65;cursor:wait}.lab-gate form small{color:var(--alarm);margin-top:12px;font-size:11px;font-weight:800;display:block}.lab-gate__open{max-width:470px;color:var(--ink-soft);border-left:4px solid var(--orange);background:#f6ecd9;margin:-10px 0 26px;padding:14px 16px;font-size:13px;line-height:1.55}.lab-gate__open code{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:12px}.lab-gate__checking{min-height:52px;color:var(--muted);background:#ece8e0;align-items:center;padding:0 14px;font-size:12px;font-weight:800;display:flex}.sidebar-scrim{display:none}.app-loading{min-height:100vh;color:var(--muted);font:700 15px/1.4 var(--serif);place-items:center;display:grid}@media (width<=1400px){.topbar{grid-template-columns:44px minmax(180px,1fr) auto auto}.topbar__meta{display:none}}@media (width<=1180px){.module-context{display:none}.topbar{grid-template-rows:56px 60px;grid-template-columns:44px minmax(0,1fr) auto;gap:0 10px;height:116px}.sidebar-toggle{grid-area:1/1}.topbar__actions{grid-area:1/3}.view-switch{scrollbar-width:thin;grid-area:2/1/auto/-1;justify-self:center;max-width:100%;position:static;overflow:auto hidden;transform:none;box-shadow:0 8px 18px #1f1c1729}.view-switch button{white-space:nowrap;flex:none;padding:0 12px}.day-hero{grid-template-columns:minmax(0,1fr);gap:28px}}@media (width<=960px){.sidebar,.sidebar--collapsed{visibility:hidden;width:min(330px,100vw - 28px);padding:18px 16px 14px;transition:transform .24s,visibility 0s linear .24s;transform:translate(-100%)}.sidebar--open{visibility:visible;transition-delay:0s;transform:translate(0)}.sidebar--collapsed .brand{justify-content:flex-start;padding:0 7px 15px}.sidebar--collapsed .brand__title,.sidebar--collapsed .teacher-nav__label,.sidebar--collapsed .teacher-link__text,.sidebar--collapsed .teacher-link>svg:last-child,.sidebar--collapsed .sidebar-collapse span{display:block}.sidebar--collapsed .module-nav>.eyebrow{visibility:visible;height:auto;padding:0 9px}.sidebar--collapsed .teacher-link{grid-template-columns:23px 1fr 16px;justify-items:stretch;min-height:64px;padding:10px 11px}.sidebar-collapse,.brand__title{display:none}.brand{justify-content:space-between}.sidebar__close{display:inline-grid!important}.sidebar-scrim{z-index:35;background:#0f0f0e80;border:0;display:block;position:fixed;inset:0}.workspace,.app-shell--collapsed .workspace{margin-left:0}.topbar{padding:0 18px}.page-content{padding:28px 22px 60px}}@media (width<=680px){.board-grid{grid-auto-columns:auto;grid-auto-flow:row}.topbar{padding:0 12px}.view-switch{gap:2px;padding:4px}.view-switch button{gap:6px;padding:0 10px;font-size:10px}.page-content{padding:24px 14px 56px}.form-grid,.roster__row{grid-template-columns:1fr}.section-heading{flex-direction:column;align-items:flex-start}.data-table caption{width:max-content;max-width:calc(100vw - 28px);position:sticky;left:0}}@media (width<=420px){.view-switch button{min-width:44px;padding:0 8px}.lab-gate{padding:14px}.lab-gate__card{padding:28px 22px}.stat-grid{grid-template-columns:1fr}.status-choice button{flex:44%}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}.career-profile{min-width:0;margin-bottom:24px}.career-profile h3{margin:0 0 10px}.career-profile__hint{color:var(--muted);max-width:78ch;font-size:14px;line-height:1.6}.career-profile__status:empty{display:none}.resume-card__heading,.resume-card__heading h3{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.resume-card__heading{justify-content:space-between}.resume-card__filename{overflow-wrap:anywhere;font-size:14px}.resume-upload{flex-wrap:wrap;align-items:flex-start;gap:16px;margin:20px 0;display:flex}.resume-upload .field{flex:320px;min-width:0}.resume-upload input{width:100%;min-width:0;padding:10px}.resume-upload input::file-selector-button{cursor:pointer;min-height:44px;margin-right:10px}.resume-upload>button{min-height:44px;margin-top:24px}.resume-preview{border-top:1px solid var(--border);margin-top:20px}.resume-preview summary{cursor:pointer;min-height:44px;padding:14px 0;font-weight:600}.resume-preview textarea{width:100%;min-height:220px;line-height:1.6}.resume-remove{flex-wrap:wrap;align-items:center;gap:12px;margin-top:12px;display:flex}.job-match{border-left:3px solid var(--accent);background:var(--surface);padding:10px 12px;font-size:14px}@media (width<=600px){.resume-upload{display:block}.resume-upload>button{width:100%;margin-top:12px}}.tickets-area{gap:22px;display:grid}.tickets-area .section-heading{margin-bottom:0}.tickets-intro{color:var(--muted);margin:0}.tickets-stats{grid-template-columns:repeat(4,minmax(0,1fr));gap:14px;display:grid}.tickets-filters{grid-template-columns:2fr repeat(3,1fr);gap:16px;display:grid}.tickets-filters .field{min-width:0}.tickets-summary{color:var(--muted);flex-wrap:wrap;justify-content:space-between;gap:10px;font-size:13px;display:flex}.ticket-group h3{align-items:center;gap:12px;margin:0 0 12px;font-size:23px;display:flex}.ticket-group h3 span{color:var(--blue);font:600 13px Arial,sans-serif}.ticket-list{gap:10px;margin:0;padding:0;list-style:none;display:grid}.ticket-card{border:1px solid var(--line);border-left:3px solid var(--blue);background:#fff;gap:12px;padding:18px 20px;display:grid}.ticket-card--urgent,.ticket-card--high{border-left-color:var(--orange)}.ticket-card__main{align-items:baseline;gap:12px;display:flex}.ticket-number{color:var(--muted);flex-shrink:0;font-size:13px}.ticket-card__main a{color:var(--ink);overflow-wrap:anywhere;min-height:44px;font-weight:650;line-height:1.5;text-decoration:none;display:inline-block}.ticket-card__main a:hover{color:var(--blue);text-decoration:underline}.ticket-card__main a svg{vertical-align:middle;margin-left:8px}.ticket-card__meta,.ticket-card__labels{flex-wrap:wrap;align-items:center;gap:8px 16px;font-size:13px;display:flex}.ticket-overdue{color:#9c350e;font-weight:650}@media (width<=1100px){.tickets-filters{grid-template-columns:1fr 1fr}}@media (width<=600px){.tickets-stats{grid-template-columns:1fr 1fr}.tickets-filters{grid-template-columns:1fr}.ticket-card{padding:14px}.ticket-card__main{flex-direction:column;gap:4px}}.ticket-card .pill{white-space:normal;overflow-wrap:anywhere;max-width:100%}.tickets-area{min-width:0}.tickets-filters{grid-template-columns:repeat(3,minmax(0,1fr))}.ticket-legend{color:var(--muted);flex-wrap:wrap;gap:8px 24px;font-size:12px;display:flex}.kanban-board{scroll-snap-type:x proximity;grid-auto-columns:minmax(285px,1fr);grid-auto-flow:column;align-items:start;gap:16px;padding:2px 2px 18px;display:grid;overflow-x:auto}.kanban-column{border-top:4px solid var(--priority-ink);scroll-snap-align:start;background:#eeeae3;min-width:0}.kanban-column__header{color:var(--priority-ink);background:var(--priority-bg);justify-content:space-between;align-items:center;gap:10px;padding:16px 14px;display:flex}.kanban-column__header h3{margin:0;font-size:17px}.kanban-column__header>span{font-size:14px;font-weight:800}.kanban-column .ticket-list{gap:12px;padding:10px}.kanban-empty{color:var(--muted);padding:10px 14px 22px;font-size:13px}.kanban-board .ticket-card{border-left:1px solid var(--line);gap:12px;padding:14px;box-shadow:0 2px 3px #25252508}.ticket-card__top{justify-content:space-between;align-items:center;gap:10px;display:flex}.ticket-title{min-height:44px;color:var(--ink);overflow-wrap:anywhere;font-size:14px;font-weight:750;line-height:1.5;text-decoration:none}.ticket-title:hover{color:var(--blue);text-decoration:underline}.ticket-title svg{vertical-align:middle}.ticket-priority{background:var(--priority-bg);color:var(--priority-ink);border:1px solid;padding:3px 7px;font-size:11px;font-weight:800}.priority-urgent{--priority-ink:#9f2432;--priority-bg:#fce5e8}.priority-high{--priority-ink:#924300;--priority-bg:#fff0d8}.priority-normal{--priority-ink:#125c83;--priority-bg:#e3f0fa}.priority-low{--priority-ink:#535965;--priority-bg:#e9ebef}.ticket-card__flags{flex-wrap:wrap;gap:5px;display:flex}.ticket-flag,.ticket-person{overflow-wrap:anywhere;padding:4px 7px;font-size:11px;font-weight:650;line-height:1.4;display:inline-block}.ticket-flag{border:1px solid}.flag-rose{color:#9f2432;background:#fce5e8}.flag-purple{color:#6c3585;background:#f2e7fa}.flag-amber{color:#854306;background:#fff0d8}.flag-blue{color:#125c83;background:#e3f0fa}.flag-teal{color:#11665a;background:#e1f2ed}.flag-slate{color:#535965;background:#edf0f2}.ticket-people{border-top:1px solid var(--line);gap:9px;margin:0;padding-top:10px;display:grid}.ticket-people>div{gap:4px;display:grid}.ticket-people dt{text-transform:uppercase;letter-spacing:.06em;color:var(--muted);font-size:10px;font-weight:750}.ticket-people dd{flex-wrap:wrap;gap:4px;margin:0;display:flex}.ticket-person{border-left:3px solid;border-radius:3px}.person-0{color:#244f94;background:#e3edff}.person-1{color:#773488;background:#f4e6f7}.person-2{color:#116252;background:#dff3eb}.person-3{color:#8f4013;background:#ffebdd}.person-4{color:#98334e;background:#fbe5ed}.person-5{color:#4d4a99;background:#edebff}.person-6{color:#59601e;background:#eef1d7}.person-7{color:#0a6479;background:#dff3f8}.person-neutral{color:#535965;background:#edf0f2}.ticket-reason{border-top:1px solid var(--line);color:var(--muted);font-size:12px}.ticket-reason summary{cursor:pointer;align-content:center;min-height:44px}.ticket-reason p{margin:0 0 8px;line-height:1.6}.ticket-reason small{padding-bottom:8px;display:block}@media (width<=1100px){.tickets-filters{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=600px){.tickets-filters{grid-template-columns:1fr}.kanban-board{grid-auto-columns:min(290px,100%)}}.button,.icon-button,.view-switch,.view-switch button,.status-choice button,.lab-gate__roles button,.lab-gate form button[type=submit]{border-radius:var(--radius-control)}.resume-upload input::file-selector-button{border-radius:var(--radius-control)}.teacher-link,.sidebar-collapse,.field input,.field select,.field textarea,.roster__detail input,.lab-gate form input,.resume-preview textarea{border-radius:var(--radius-field)}.view-switch{border-top-width:1px}.view-switch button:hover{transform:none}.form-card,.toolbar,.stat,.empty-state,.notice,.roster,.week-card,.info-card,.board-column,.board-card,.lab-gate__card,.day-hero blockquote,.ticket-card,.kanban-column{border-radius:var(--radius-card)}.lab-gate__open,.lab-gate__checking,.job-match{border-radius:var(--radius-field)}.ticket-priority,.ticket-flag,.ticket-person,.legend i{border-radius:var(--radius-badge)}.kanban-column__header{border-radius:calc(var(--radius-card) - 4px) calc(var(--radius-card) - 4px) 0 0}.stat-grid,.week-grid,.card-grid,.board-grid{background:0 0;border:0;gap:14px}.stat-grid>.stat,.week-card,.info-card,.board-column{border:1px solid var(--line)}.stat-grid>.stat--alarm{border-top:4px solid var(--alarm)}.stat-grid>.stat--warn{border-top:4px solid var(--orange)}.table-scroll{border-radius:var(--radius-card)}.data-table{border-collapse:separate;border-spacing:0;border-radius:var(--radius-card)}.data-table thead tr:first-child>:first-child{border-top-left-radius:calc(var(--radius-card) - 1px)}.data-table thead tr:first-child>:last-child{border-top-right-radius:calc(var(--radius-card) - 1px)}.data-table tbody tr:last-child>:first-child{border-bottom-left-radius:calc(var(--radius-card) - 1px)}.data-table tbody tr:last-child>:last-child{border-bottom-right-radius:calc(var(--radius-card) - 1px)}.data-table tbody tr:last-child>*{border-bottom:0}.roster__row:first-child{border-radius:var(--radius-card) var(--radius-card) 0 0}.roster__row:last-child{border-radius:0 0 var(--radius-card) var(--radius-card)}.roster__row:only-child{border-radius:var(--radius-card)}.day-hero--compact{min-height:0;margin-bottom:20px;padding-block:12px}.day-hero--compact h1{margin-bottom:4px;font-size:clamp(24px,4vw,36px)}.day-hero--compact .eyebrow,.day-hero--compact blockquote,.day-hero--compact p{display:none}.job-search{margin-top:20px}.job-search h2{margin:0 0 16px}.job-search>.field{max-width:520px;margin-bottom:12px}.job-search-form .toolbar{align-items:end;margin-bottom:8px}.job-disclosure{border:1px solid var(--line,#dedbd5);border-radius:12px;min-width:0;margin:10px 0;padding:10px 14px}.job-disclosure>summary{cursor:pointer;align-content:center;min-height:44px;font-weight:600;display:list-item}.job-disclosure[open]>summary{margin-bottom:12px}.job-disclosure .form-card{margin:0}.job-disclosure .form-grid{margin-block:12px}.job-disclosure p,.board-card p,.info-card h3,.info-card a{overflow-wrap:anywhere}.job-results-heading{flex-wrap:wrap;justify-content:space-between;gap:8px;margin-top:24px;display:flex}.saved-searches{padding:0;list-style:none}.saved-searches li{border-bottom:1px solid var(--line,#dedbd5);flex-wrap:wrap;align-items:center;gap:8px;padding:12px 0;display:flex}.saved-searches li>span{flex:1;min-width:160px}.saved-searches small{display:block}.board-card a{overflow-wrap:anywhere}.job-search .card-grid{margin-bottom:20px}@media (width<=600px){.job-search .info-card__head{flex-direction:column}.job-search .info-card__head>.pill{order:-1}.job-search-form .toolbar{grid-template-columns:minmax(0,1fr);display:grid}.job-search .card-grid{grid-template-columns:minmax(0,1fr)}.job-search .toolbar>*,.job-disclosure .form-grid>*{min-width:0}.job-disclosure{padding:8px 10px}.job-disclosure .form-grid{grid-template-columns:minmax(0,1fr)}}.job-search .pill{white-space:normal;overflow-wrap:anywhere;max-width:100%}.release-badge{color:#334155;overflow-wrap:anywhere;background:#e2e8f0;border-radius:12px;max-width:100%;padding:3px 9px;font-size:.75rem;font-weight:600;line-height:1.5;display:inline-block}.saved-searches{max-height:28rem;overflow-y:auto}.saved-searches li>span{overflow-wrap:anywhere;min-width:0}.sidebar-release{padding:0 10px 14px}.sidebar-release .release-badge{color:#f5d49e;white-space:normal;background:#3a3936;border:1px solid #746044;font-size:11px;line-height:1.5}.sidebar--collapsed .sidebar-release{display:none}.load-error{margin-bottom:20px}@media (width<=960px){.sidebar--collapsed .sidebar-release{display:block}}.course-plan-editor{min-width:0;margin:24px 0 0}.search-profile-summary{flex-wrap:wrap;gap:8px;margin:12px 0 20px;display:flex}.board-card a{align-items:center;min-height:44px;display:inline-flex}.assistant-panel>summary{align-items:center;gap:10px;display:flex}.assistant-panel>.field,.assistant-panel>details{margin-block:18px}.assistant-connection{border:1px solid var(--border,#dce3eb);border-radius:12px;margin-block:18px;padding:18px}.assistant-terminal,.assistant-resume{white-space:pre-wrap;overflow-wrap:anywhere;background:#f3f6fa;border-radius:12px;max-height:300px;padding:16px;font-size:13px;overflow:auto}.assistant-confirm{cursor:pointer;align-items:flex-start;gap:12px;min-height:44px;padding-block:14px;display:flex}.assistant-confirm input{flex:0 0 22px;width:22px;height:22px;margin-top:2px}.assistant-panel textarea{width:100%}.assistant-panel blockquote{border-left:3px solid #4278c4;margin:8px 0;padding-left:12px}[hidden]{display:none!important}.topbar--participant{grid-template-rows:56px 60px;grid-template-columns:44px minmax(0,1fr) auto;gap:0 10px;height:116px}.topbar--participant .topbar__meta{display:none}.topbar--participant .topbar__actions{grid-area:1/3}.topbar--participant .view-switch{grid-area:2/1/auto/-1;justify-self:start;max-width:100%;position:static;overflow-x:auto;transform:none}.topbar--participant .view-switch button{white-space:nowrap;flex:none}.career-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin:0 0 28px;display:grid}.career-steps button{text-align:left;border:1px solid var(--line);cursor:pointer;color:var(--ink);background:#fff;border-radius:18px;align-items:center;gap:12px;min-height:72px;padding:16px;display:flex}.career-steps button.active{border-color:var(--orange);background:#fff4e5}.career-steps button>span:first-child{background:var(--ink);color:#fff;border-radius:50%;flex:0 0 30px;place-items:center;width:30px;height:30px;display:grid}.career-steps strong,.career-steps small{display:block}.career-steps small{color:var(--muted);margin-top:5px;line-height:1.4}.application-editor,.assistant-panel,.application-help{scroll-margin-top:132px}.application-editor>.form-actions{border:1px solid var(--line);z-index:5;background:#fff;border-radius:12px;padding:14px;position:sticky;bottom:8px;box-shadow:0 4px 20px #0001}.application-editor h3{overflow-wrap:anywhere}.empty-state .button{margin:12px}.info-card>.button{align-self:start;margin-top:14px}@media (width<=680px){.career-steps{grid-template-columns:1fr;gap:8px;margin-bottom:20px}.career-steps button{min-height:64px;padding:10px 14px}.career-steps small{margin-top:2px}.application-editor>.form-actions{flex-wrap:wrap;padding:10px;bottom:0}}.quick-help{margin-bottom:30px}.search-intro{max-width:72ch;color:var(--muted);line-height:1.65}.search-active-filters{flex-wrap:wrap;align-items:center;gap:8px;margin-top:12px;display:flex}.search-feedback,.search-start-hint,.application-next-step{border:1px solid var(--line);background:#f5f8fc;border-radius:18px;margin:16px 0;padding:18px}.search-feedback p,.search-start-hint p,.application-next-step p{margin:8px 0;line-height:1.6}.search-feedback--error{background:#fff4ee}.search-update-hint{border-left:3px solid var(--orange);background:#fff4e5;padding:12px 16px;line-height:1.6}.search-result-context{overflow-wrap:anywhere;line-height:1.6}.job-results-heading h3{margin:0}.job-results-heading{flex-wrap:wrap;gap:8px;scroll-margin-top:132px}.job-card-status{color:#245a42;font-size:13px;line-height:1.5}.job-card-status:empty{display:none}.application-next-step .row-actions{margin-top:14px}@media (width<=680px){.board-column--empty{display:none}.career-steps{grid-template-columns:repeat(3,minmax(0,1fr));gap:6px}.career-steps button{flex-direction:column;align-items:flex-start;gap:7px;padding:10px}.career-steps strong{font-size:11px;line-height:1.4}.career-steps small{display:none}}.flow-feedback{border:1px solid var(--line);background:#f4f7fa;border-radius:18px;align-items:flex-start;gap:12px;margin:16px 0;padding:16px;line-height:1.6;display:flex}.flow-feedback>svg{flex:0 0 24px;margin-top:2px}.flow-feedback p{margin:4px 0 8px}.flow-feedback--success{color:#205537;background:#edf8f0;border-color:#a4cdb1}.flow-feedback--working{background:#eef5fc;border-color:#adc7e4}.flow-feedback--question{background:#fff6e8;border-color:#e7bf80}.optional-label{color:var(--muted);margin-left:8px;font-size:11px;font-weight:400}.flow-spinner{animation:1s linear infinite flow-spin}@keyframes flow-spin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.flow-spinner{animation:none}}.assistant-progress{gap:8px;margin:18px 0;padding:0;list-style:none;display:flex}.assistant-progress li{background:#f2f1ee;border-radius:12px;flex:1;align-items:center;gap:8px;padding:10px;font-size:12px;display:flex}.assistant-progress li>span,.assistant-progress svg{flex:0 0 20px}.assistant-progress .is-current{background:#fff1d9;font-weight:700;box-shadow:inset 0 0 0 1px #cc8827}.assistant-progress .is-complete{color:#205537;background:#edf8f0}.assistant-stage{scroll-margin-top:132px}.job-card-status{align-items:center;gap:8px;display:flex}.resume-remove summary{cursor:pointer;align-items:center;min-height:44px;display:flex}@media (width<=680px){.assistant-progress li{flex-direction:column;align-items:flex-start;font-size:11px}.flow-feedback{padding:12px}}.assistant-stage>.field{margin:18px 0}.career-steps button>.step-complete{color:#fff;background:#287745}.career-documents{border:1px solid var(--border,#d8ded9);border-radius:12px;margin-block:1.25rem;padding:1.25rem}.career-documents button{margin:.3rem .4rem .3rem 0}.career-provider-auth{border:1px solid var(--border,#d8ded9);background:#f8faf8;border-radius:18px;margin-block:1rem;padding:1rem}.career-provider-auth__heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;display:flex}.career-provider-auth__heading h4{margin:0}.career-provider-auth__terminal{white-space:pre-wrap;overflow-wrap:anywhere;border:1px solid var(--border,#d8ded9);color:#18271f;background:#fff;border-radius:12px;max-height:14rem;padding:.875rem;overflow:auto}.career-provider-auth__input{flex-wrap:wrap;align-items:stretch;gap:.5rem;margin-top:.35rem;display:flex}.career-provider-auth__input input{flex:16rem;min-height:44px}.career-provider-auth button{min-height:44px}.career-document-preview{white-space:pre-wrap;overflow-wrap:anywhere;color:#18271f;background:#fff;border:1px solid #d8ded9;max-height:65vh;padding:1.5rem;font:15px/1.65 Georgia,serif;overflow:auto}.career-documents .career-steps{grid-template-columns:1fr;gap:.65rem;margin-block:1rem;padding:0;line-height:1.45;list-style:none;display:grid}.career-agent-step{border:1px solid var(--border,#d8ded9);background:#fff;border-radius:12px;padding:.75rem .875rem}.career-agent-step__heading{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.career-agent-step__heading small{color:var(--muted);font-variant-numeric:tabular-nums;flex:none;margin:0}.career-agent-step progress{width:100%;height:.4rem;accent-color:var(--orange);margin-top:.45rem;display:block}.career-agent-step--succeeded progress{accent-color:#287745}.career-agent-step--failed progress,.career-agent-step--cancelled progress{accent-color:#a23c32}
