@import "https://fonts.googleapis.com/css2?family=Archivo:wght@400;600;800&display=swap";
:root{--color-bg:#f6f7f2;--color-sidebar:#e9eddf;--color-surface:#fff;--color-surface-subtle:#fafbf7;--color-text:#123047;--color-text-secondary:#6b7c82;--color-divider:#cad2c5;--color-accent:#66783d;--color-neutral-100:#eff1f3;--color-neutral-200:#e0e4e7;--color-neutral-300:#cad2c5;--color-neutral-400:#9eabb5;--color-neutral-500:#768796;--color-neutral-600:#53697b;--color-neutral-700:#395166;--color-neutral-800:#243f54;--color-neutral-900:#123047;--color-accent-100:#eef2e5;--color-accent-200:#d6dccd;--color-accent-300:#b7c1a5;--color-accent-400:#919f76;--color-accent-500:#778754;--color-accent-600:#566832;--color-accent-700:#394a13;--color-accent-800:#123047;--color-accent-900:#001a2e;--font-heading:"Archivo", system-ui, sans-serif;--font-body:"Archivo", system-ui, sans-serif;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--space-8:32px;--radius-sm:0px;--radius-md:0px;--radius-lg:0px;--shadow-sm:0 1px 2px #1230471a;--shadow-md:0 3px 10px #1230471f;--shadow-lg:0 12px 32px #1230472e}@supports (color:lab(0% 0 0)){:root{--color-neutral-100:lab(95.1202% -.46882 -1.1363);--color-neutral-200:lab(90.2399% -.930786 -2.26879);--color-neutral-400:lab(69.0869% -2.82523 -7.12026);--color-neutral-500:lab(55.2485% -3.91147 -10.2252);--color-neutral-600:lab(43.0287% -4.68145 -12.8994);--color-neutral-700:lab(33.2417% -5.06657 -14.9773);--color-neutral-800:lab(25.0721% -5.10107 -16.6534);--color-accent-200:lab(87.0033% -3.99473 6.88515);--color-accent-300:lab(76.5948% -7.06646 12.5247);--color-accent-400:lab(63.5646% -10.6812 19.8835);--color-accent-500:lab(54.1639% -13.0585 25.6098);--color-accent-700:lab(28.9957% -13.7607 29.2083);--color-accent-900:lab(8.05702% -3.18488 -17.7399)}}*,:before,:after{box-sizing:border-box}html,body{min-height:100%;margin:0}body{background:var(--color-bg);color:var(--color-text);font-family:var(--font-body);font-size:15px;font-weight:400;line-height:1.55}button,input,select,textarea{font:inherit;color:inherit}button{cursor:pointer}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);letter-spacing:-.015em;margin:0 0 var(--space-2);font-weight:800;line-height:1.12}p{margin:0 0 var(--space-3)}a{color:var(--color-accent);text-underline-offset:3px;text-decoration:none}a:hover{color:var(--color-accent-700);text-decoration:underline}:focus{outline:none}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.text-muted,small{color:var(--color-text-secondary)}.prototypeApp{min-height:100vh;display:flex}.protoSidebar{background:var(--color-sidebar);border-right:1px solid var(--color-divider);flex-direction:column;flex:none;width:248px;padding:24px 20px;display:flex}.protoBrand{align-items:center;gap:10px;margin:0 8px 28px;font-size:17px;display:flex}.protoBrand span{background:var(--color-accent);width:32px;height:32px;color:var(--color-surface);font-family:var(--font-heading);flex:none;place-items:center;font-size:16px;font-weight:800;display:grid}.protoBrand strong{font-family:var(--font-heading);letter-spacing:-.01em;font-weight:800}.protoOrg{flex-direction:column;gap:2px;margin:0 8px 24px;display:flex}.protoOrg small{letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-secondary);font-size:10px}.protoOrg b{font-family:var(--font-heading);font-size:15px;font-weight:800}.protoSidebar nav{flex-direction:column;gap:2px;display:flex}.protoSidebar nav button{text-align:left;font-family:var(--font-heading);color:var(--color-text-secondary);background:0 0;border:0;border-left:3px solid #0000;padding:11px 9px;font-size:14px;font-weight:800}.protoSidebar nav button:hover{color:var(--color-text)}.protoSidebar nav button.active{border-left-color:var(--color-accent);background:var(--color-surface);color:var(--color-text)}.demoSwitcher{background:var(--color-accent-100);border:1px solid var(--color-divider);flex-direction:column;gap:6px;margin-top:20px;padding:12px;display:flex}.demoSwitcher>small{letter-spacing:.06em;text-transform:uppercase;font-size:10px;font-weight:700;color:var(--color-accent-800)!important}.demoSwitcher select{background:var(--color-surface);width:100%;height:34px;padding:0 8px;font-size:12.5px}.demoActingNote{color:var(--color-accent-800);background:var(--color-accent-100);border:1px solid var(--color-divider);margin:0 0 16px;padding:8px 12px;font-size:12.5px;font-weight:700;display:inline-block}.protoRole{border-top:1px solid var(--color-divider);align-items:center;gap:10px;margin-top:auto;padding-top:16px;display:flex}.protoRole>span,.protoAvatar{background:var(--color-accent-100);width:34px;height:34px;color:var(--color-accent-800);font-family:var(--font-heading);flex:none;place-items:center;font-size:12px;font-weight:800;display:grid}.protoRole>div{min-width:0}.protoRole b{font-size:13px;font-family:var(--font-heading);font-weight:800;display:block}.protoRole small{font-size:11.5px}.protoMain{flex:1;min-width:0}.topBar{justify-content:flex-end;max-width:1280px;margin:0 auto;padding:24px 40px 0;display:flex}.protoContent{max-width:1280px;margin:0 auto;padding:20px 40px 56px}.protoContent>.narrow{max-width:900px;margin:0 auto}.pageHead{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:20px;display:flex}.pageHead .eyebrow{margin-bottom:4px}.pageHead h1{margin:0;font-size:30px}.pageHeadActions{flex:none;gap:10px;display:flex}.pageIntro{color:var(--color-text-secondary);margin:-12px 0 26px;font-size:13.5px}.eyebrow{letter-spacing:.06em;text-transform:uppercase;font-size:11px;display:block;color:var(--color-text-secondary)!important;font-weight:400!important}.primary,.secondary,.textButton{cursor:pointer;font-family:var(--font-heading);white-space:nowrap;border-radius:0;justify-content:center;align-items:center;gap:6px;font-size:13px;font-weight:800;display:inline-flex}.primary{border:1px solid var(--color-accent);background:var(--color-accent);color:var(--color-surface);padding:10px 18px}.primary:hover{background:var(--color-accent-600);border-color:var(--color-accent-600)}.primary:active{background:var(--color-accent-700);border-color:var(--color-accent-700)}.primary:disabled{opacity:.45;cursor:not-allowed}.secondary{border:1px solid var(--color-divider);background:var(--color-surface);color:var(--color-text);padding:9px 16px}.secondary:hover{background:var(--color-surface-subtle);border-color:var(--color-accent)}.secondary:disabled{opacity:.45;cursor:not-allowed;background:var(--color-surface)}.textButton{color:var(--color-text);background:0 0;border:0;padding:0}.textButton:hover,.textButton.accent{color:var(--color-accent)}.fullWidth{width:100%;margin-top:10px}input,textarea,select{font-family:var(--font-body);color:var(--color-text);background:var(--color-surface);border:1px solid var(--color-divider);border-radius:0;font-size:14px}input::placeholder{color:color-mix(in srgb, var(--color-text-secondary) 80%, transparent)}input:focus-visible,textarea:focus-visible,select:focus-visible{border-color:var(--color-accent);outline-offset:0}.heroPanel{background:var(--color-surface);border:1px solid var(--color-divider);justify-content:space-between;align-items:center;gap:20px;margin-bottom:24px;padding:24px 28px;display:flex}.heroPanel h2{margin:0 0 4px;font-size:23px}.heroPanel>p,.heroPanel p{color:var(--color-text-secondary);margin:0;font-size:13.5px}.metricGrid{grid-template-columns:repeat(4,1fr);gap:14px;margin-bottom:24px;display:grid}.metricCard{border:1px solid var(--color-divider);background:var(--color-surface);text-align:left;flex-direction:column;padding:18px 20px;display:flex}.metricCard strong{font-family:var(--font-heading);color:var(--color-text);font-size:28px;font-weight:800}.metricCard span{color:var(--color-text-secondary);margin-top:2px;font-size:12.5px}.metricCard.alert strong{color:var(--color-accent)}.metricCardButton em{color:var(--color-accent);margin-top:6px;font-size:10px;font-style:normal;font-weight:800;display:block}.metricBadgeButton{font:inherit;background:0 0;border:0;padding:0}.twoColumns{grid-template-columns:1.1fr 1fr;gap:20px;margin-bottom:24px;display:grid}.panel{background:var(--color-surface);border:1px solid var(--color-divider);margin-bottom:24px;padding:22px 24px}.panel:last-child{margin-bottom:0}.panelHead{justify-content:space-between;align-items:baseline;gap:12px;margin-bottom:6px;display:flex}.panelHead h3,.panel>h3{margin:0;font-size:17px}.panelHead p,.panel>p{color:var(--color-text-secondary);margin:0 0 16px;font-size:13px}.badge,.changeCount{color:var(--color-neutral-800);background:var(--color-neutral-200);white-space:nowrap;border-radius:0;padding:3px 9px;font-size:11px;font-weight:700}.badge.muted{color:var(--color-text-secondary);background:var(--color-neutral-100)}.badge.warn{color:var(--color-accent-700);background:var(--color-accent-100)}.conflictButton{text-align:left;cursor:pointer;width:100%;color:inherit;background:0 0;border:0;padding:0}.conflict{border-bottom:1px solid var(--color-divider);gap:12px;padding:12px 0;display:flex}.conflictButton:last-of-type .conflict{border-bottom:0}.conflict>span{background:var(--color-neutral-500);border-radius:50%;flex:none;width:8px;height:8px;margin-top:6px}.conflict>span.high{background:var(--color-accent)}.conflict>span.medium{background:var(--color-accent-400)}.conflict b{font-size:13.5px}.conflict p{color:var(--color-text-secondary);margin:3px 0 0;font-size:12px}.conflictCta{color:var(--color-accent);margin-top:4px;font-size:11px;font-style:normal;font-weight:800;display:inline-block}.emptyState{font-family:var(--font-heading);padding:4px 0;font-size:14px;font-weight:700}.personLine{border-bottom:1px solid var(--color-divider);align-items:center;gap:10px;padding:8px 0;display:flex}.personLine:last-child{border-bottom:0}.personLine>div{flex:1;min-width:0}.personLine b{font-size:13.5px;display:block}.personLine small{font-size:11px;display:block}.statusPill{white-space:nowrap;color:var(--color-neutral-800);align-items:center;gap:0;font-size:11px;font-weight:700;display:inline-flex}.statusPill i{display:none}.statusPill.bad,.statusPill.warn{color:var(--color-accent-800)}.statusPill.muted{color:var(--color-neutral-800)}.statusPill.badge{background:var(--color-neutral-200);gap:8px;padding:8px 14px}.statusPill.badge i{background:currentColor;flex:none;width:7px;height:7px;display:block}.statusPill.badge.warn{background:var(--color-accent-100)}.statusBanner{justify-content:space-between;align-items:center;display:flex}.statusBanner b{font-family:var(--font-heading);font-size:15px;font-weight:800}.statusBanner p{margin:2px 0 0;font-size:12.5px}.statusBanner strong{color:var(--color-accent-800);background:var(--color-accent-100);padding:4px 10px;font-size:11px;font-weight:700}.statusBannerActions{align-items:center;gap:12px;display:flex}.filterTabs,.weekScope,.boardPeriod,.teacherViewSwitch{border:1px solid var(--color-divider);background:var(--color-surface);flex:none;display:inline-flex;overflow:hidden}.filterTabs button,.weekScope button,.boardPeriod button,.teacherViewSwitch button{border:0;border-left:1px solid var(--color-divider);color:var(--color-text);font-family:var(--font-heading);background:0 0;padding:8px 14px;font-size:12.5px;font-weight:800}.filterTabs button:first-child,.weekScope button:first-child,.boardPeriod button:first-child,.teacherViewSwitch button:first-child{border-left:0}.filterTabs button.active,.weekScope button.active,.boardPeriod button.active,.teacherViewSwitch button.active{background:var(--color-accent);color:var(--color-surface)}.filterTabs button:disabled,.weekScope button:disabled,.boardPeriod button:disabled,.teacherViewSwitch button:disabled{opacity:.4;cursor:not-allowed}.toolbar{flex-wrap:wrap;align-items:center;gap:14px;margin-bottom:18px;display:flex}.toolbar input{flex:1;max-width:340px;min-height:38px;padding:8px 12px}.dateButton{font-family:var(--font-heading);color:var(--color-text);border:1px solid var(--color-divider);background:var(--color-surface);cursor:pointer;align-items:center;gap:8px;padding:8px 14px;font-size:13px;font-weight:800;display:inline-flex}.dateButton:hover{border-color:var(--color-accent)}.tablePanel{padding:0;overflow:auto}.tablePanel table{border-collapse:collapse;width:100%}.tablePanel th{text-align:left;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-secondary);border-bottom:1px solid var(--color-divider);padding:14px 16px;font-size:11px;font-weight:700}.tablePanel th:first-child,.tablePanel td:first-child{padding-left:20px}.tablePanel th:last-child,.tablePanel td:last-child{padding-right:20px}.tablePanel td{border-bottom:1px solid var(--color-divider);padding:12px 16px;font-size:13.5px}.tablePanel tbody tr{cursor:pointer}.tablePanel tbody tr:last-child td{border-bottom:0}.tablePanel tbody tr:hover{background:var(--color-surface-subtle)}.nameCell{align-items:center;gap:10px;display:flex}.nameCell b{font-weight:700}.dayNav{flex-wrap:wrap;align-items:center;gap:8px;margin:0 0 18px;display:flex;position:relative}.dayNav .dateButton{justify-content:space-between;min-width:220px}.weekControls{flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:14px;display:flex}.weekControls select{min-width:180px;height:36px;padding:0 10px}.weekNote{color:var(--color-text-secondary);margin-left:auto;font-size:12.5px}.weekNav{align-items:center;gap:6px;display:inline-flex;position:relative}.weekNavButton{border:1px solid var(--color-divider);background:var(--color-surface);width:30px;height:30px;color:var(--color-text);cursor:pointer;justify-content:center;align-items:center;font-size:15px;display:inline-flex}.weekNavButton:hover{border-color:var(--color-accent);color:var(--color-accent)}.dateInput{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute;inset:30px 0 auto 30px}.calendarWrap{background:var(--color-surface);border:1px solid var(--color-divider);overflow:auto}.calendarHeader{border-bottom:1px solid var(--color-divider);grid-template-columns:60px repeat(5,minmax(150px,1fr));min-width:900px;display:grid}.calendarDay{text-align:left;font-family:var(--font-heading);border-left:1px solid var(--color-divider);flex-direction:column;padding:10px;font-size:13px;font-weight:800;display:flex}.calendarDay.today{background:var(--color-accent-100);color:var(--color-accent-800)}.calendarDay small{color:var(--color-text-secondary);margin-top:2px;font-size:11px;font-weight:400}.calendarDay.today small{color:inherit}.calendarBody{min-width:900px;height:var(--calendar-height);grid-template-columns:60px repeat(5,minmax(150px,1fr));display:grid;position:relative}.calendarAxis{position:relative}.calendarAxis span{color:var(--color-text-secondary);padding:4px 8px;font-size:11px;position:absolute;left:0}.calendarColumn{border-left:1px solid var(--color-divider);position:relative}.calendarColumn.dropReady{background:color-mix(in srgb, var(--color-accent-100) 60%, transparent)}.calendarColumn.dropReady:after{content:"Släpp här";text-align:center;border:1px dashed var(--color-accent);color:var(--color-accent-800);background:var(--color-surface);pointer-events:none;padding:6px;font-size:9px;font-weight:700;position:absolute;bottom:6px;left:6px;right:6px}.hourLine{background:var(--color-divider);pointer-events:none;height:1px;position:absolute;left:0;right:0}.calendarEvent{border:0;border-left:3px solid var(--color-accent);background:var(--color-accent-100);color:var(--color-text);text-align:left;cursor:pointer;padding:6px 8px;font-family:inherit;position:absolute;overflow:hidden}.calendarEvent[draggable=true]{cursor:grab}.calendarEvent.dragging{opacity:.45;cursor:grabbing}.calendarEvent b{font-size:12px;font-weight:700;line-height:1.2;display:block}.calendarEvent.compact{align-items:center;padding:2px 6px;display:flex}.calendarEvent.compact b{white-space:nowrap;text-overflow:ellipsis;font-size:10px;overflow:hidden}.calendarEvent small{white-space:nowrap;text-overflow:ellipsis;color:var(--color-text-secondary);margin-top:2px;font-size:10.5px;display:block;overflow:hidden}.calendarEvent.issue{border-left-color:var(--color-accent-700);background:var(--color-accent-200)}.calendarEvent.cancelled{background:repeating-linear-gradient(135deg, var(--color-neutral-100), var(--color-neutral-100) 6px, var(--color-surface) 6px, var(--color-surface) 12px);border-left-color:var(--color-neutral-400);opacity:.75}.calendarEvent.cancelled b{text-decoration:line-through}.calendarEvent.cancelled em{color:var(--color-text-secondary)}.calendarEvent em{color:var(--color-accent-800);font-size:9px;font-style:normal;font-weight:800;position:absolute;top:4px;right:4px}.eventDetailGrid{border-top:1px solid var(--color-divider);grid-template-columns:repeat(3,1fr);gap:0;margin:4px 0 16px;display:grid}.eventDetailGrid>div{padding:12px 12px 12px 0}.eventDetailGrid>div:not(:first-child){border-left:1px solid var(--color-divider);padding-left:12px}.eventDetailGrid small{text-transform:uppercase;letter-spacing:.06em;margin-bottom:3px;font-size:10px;display:block}.eventDetailGrid b{font-size:13px}.assignedPeople{gap:0;margin:16px 0;display:grid}.assignedPeople>b{margin-bottom:4px;font-size:12px;display:block}.assignedPeople>div{border-top:1px solid var(--color-divider);grid-template-columns:28px 1fr auto;align-items:center;gap:9px;padding:8px 0;display:grid}.assignedPeople>div>span{font-size:13px;font-weight:700}.resolutionSummary{gap:10px;margin:12px 0 18px;display:grid}.resolutionIssue{border-left:3px solid var(--color-accent);background:var(--color-accent-100);padding:11px 12px}.resolutionIssue b{font-size:12.5px;display:block}.resolutionIssue p{color:var(--color-text-secondary);margin:4px 0 0;font-size:12px}.candidateList{border-top:1px solid var(--color-divider);gap:0;margin-top:12px;display:grid}.candidateCard{border-bottom:1px solid var(--color-divider);grid-template-columns:1fr auto;align-items:center;gap:12px;padding:12px 0;display:grid}.candidateCard.recommended{border-left:3px solid var(--color-accent);padding-left:10px}.candidateCard b{font-size:13px;display:block}.candidateCard small{color:var(--color-text-secondary);margin-top:3px;line-height:1.45;display:block}.candidateScore{flex-direction:column;align-items:flex-end;gap:6px;display:flex}.candidateScore strong{font-size:12px}.candidateScore button{border:1px solid var(--color-accent);background:var(--color-accent);color:var(--color-surface);font-family:var(--font-heading);padding:8px 12px;font-size:11px;font-weight:800}.candidateScore button:hover{background:var(--color-accent-600)}.whyBox{border-left:3px solid var(--color-divider);margin-top:12px;padding:10px 12px}.whyBox b{font-size:12px}.whyBox p{color:var(--color-text-secondary);margin:5px 0 0;font-size:12px}.conflictOverviewList{gap:0;display:grid}.conflictOverviewCard{border-top:1px solid var(--color-divider);padding:14px 0}.conflictOverviewTop{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.conflictOverviewTop>div{grid-template-columns:10px 1fr;column-gap:8px;display:grid}.conflictOverviewTop b{font-size:13px}.conflictOverviewTop small{grid-column:2;margin-top:2px}.conflictOverviewTop>strong{background:var(--color-accent-100);color:var(--color-accent-800);white-space:nowrap;padding:4px 9px;font-size:10px;font-weight:700}.severityDot{background:var(--color-neutral-500);border-radius:50%;width:8px;height:8px;margin-top:4px}.severityDot.high{background:var(--color-accent)}.severityDot.medium{background:var(--color-accent-400)}.conflictOverviewCard>p{padding-left:18px;margin:8px 0 0!important;font-size:12px!important}.suggestionBox{border-left:3px solid var(--color-divider);margin-top:12px;padding:10px 11px}.suggestionBox>span{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-secondary);font-size:9px;font-weight:700;display:block}.suggestionBox>b{margin-top:3px;font-size:12.5px;display:block}.suggestionBox>small{color:var(--color-text-secondary);margin-top:3px;line-height:1.4;display:block}.compromisePanel{border-top:1px solid var(--color-divider);margin-top:18px;padding-top:18px}.compromiseIntro>span{background:var(--color-accent-100);color:var(--color-accent-800);text-transform:uppercase;letter-spacing:.05em;margin-bottom:6px;padding:3px 9px;font-size:9px;font-weight:800;display:inline-block}.compromiseIntro h3{margin:0;font-size:17px}.compromiseIntro p{color:var(--color-text-secondary);margin:6px 0 14px;font-size:12.5px}.compromiseList{border-top:1px solid var(--color-divider);gap:0;display:grid}.compromiseCard{border-bottom:1px solid var(--color-divider);grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:14px;padding:12px 0;display:grid}.compromiseCard b{font-size:13px;display:block}.compromiseCard small{color:var(--color-text-secondary);margin-top:2px;font-size:11px;display:block}.compromiseCard p{color:var(--color-accent-800);margin:7px 0 0;font-size:11px;line-height:1.4}.compromiseAction{flex-direction:column;align-items:flex-end;gap:7px;display:flex}.compromiseAction span{font-size:10px;font-weight:800}.compromiseAction button{border:1px solid var(--color-divider);background:var(--color-surface);font-family:var(--font-heading);padding:8px 10px;font-size:10px;font-weight:800}.compromiseAction button:hover{border-color:var(--color-accent);color:var(--color-accent)}.actionSplit{grid-template-columns:1fr 1fr;gap:20px;margin-bottom:24px;display:grid}.actionSplit>div{background:var(--color-surface);border:1px solid var(--color-divider);padding:22px}.actionSplit b{font-family:var(--font-heading);margin-bottom:4px;font-size:16px;font-weight:800;display:block}.actionSplit p{color:var(--color-text-secondary);margin:0 0 14px;font-size:13px}.teacherEvent{border-bottom:1px solid var(--color-divider);align-items:stretch;gap:14px;padding:13px 0;display:flex}.teacherEvent:last-child{border-bottom:0}.teacherEvent>b{width:56px;font-family:var(--font-heading);flex:none;padding-top:1px;font-size:13px;font-weight:800}.teacherEvent>i{flex:none;width:3px}.teacherEvent strong{font-size:14.5px;font-weight:700;display:block}.teacherEvent small{color:var(--color-text-secondary);margin-top:2px;font-size:12px;display:block}.teacherEvent.cancelled{align-items:center}.teacherEvent.cancelled strong{color:var(--color-text-secondary);text-decoration:line-through}.weekRow{border-bottom:1px solid var(--color-divider);justify-content:space-between;align-items:center;padding:14px 0;display:flex}.weekRow>span{color:var(--color-text-secondary);font-size:12px;font-weight:700}.weekRow>b{font-size:14px}.weekRow>small{font-size:12px}.historyRow{border-bottom:1px solid var(--color-divider);justify-content:space-between;align-items:center;padding:10px 0;display:flex}.historyRow:last-child{border-bottom:0}.historyRow b{font-size:13.5px}.historyRow small{color:var(--color-text-secondary);margin-top:2px;font-size:11px;display:block}.historyRow strong{font-family:var(--font-heading);font-size:15px;font-weight:800}.skillCoverage{grid-template-columns:160px 1fr 28px;align-items:center;gap:10px;padding:7px 0;display:grid}.skillCoverage>span{font-size:12.5px}.skillCoverage>div{background:var(--color-neutral-200);height:8px;overflow:hidden}.skillCoverage i{background:var(--color-accent);height:100%;display:block}.skillCoverage b{text-align:right;font-size:12px}.recommendations{border-top:1px solid var(--color-divider);gap:0;display:grid}.recommendations>div{border-bottom:1px solid var(--color-divider);grid-template-columns:24px 1fr;gap:10px;padding:11px 0;display:grid}.recommendations span{background:var(--color-accent);width:22px;height:22px;color:var(--color-surface);place-items:center;font-size:11px;font-weight:800;display:grid}.recommendations p{margin:0;padding-top:2px;font-size:12.5px}.skillCards{grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin-bottom:24px;display:grid}.skillCards .panel{flex-direction:column;margin:0;padding:18px 20px;display:flex}.skillCards .panel h3{font-size:15px}.skillCards .panel p{color:var(--color-text-secondary);flex:1;margin:6px 0 14px;font-size:12.5px}.skillCards .panel>b{color:var(--color-accent);font-size:12px}.settingsPanel{gap:0;max-width:780px;display:grid}.settingsPanel label{border-bottom:1px solid var(--color-divider);justify-content:space-between;align-items:center;gap:12px;padding:14px 0;font-size:13px;display:flex}.settingsPanel label:last-of-type{border-bottom:0}.protoOverlay,.optimizerOverlay{background:color-mix(in srgb, var(--color-neutral-900) 55%, transparent);z-index:100;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.optimizerOverlay{z-index:120}.protoModal,.optimizerModal{background:var(--color-surface);border:1px solid var(--color-divider);width:min(560px,100%);max-height:90vh;box-shadow:var(--shadow-lg);padding:24px;overflow:auto}.optimizerModal{width:min(680px,100%);padding:0}.protoModal:focus,.optimizerModal:focus{outline:none}.modalHead{justify-content:space-between;align-items:flex-start;gap:14px;margin-bottom:14px;display:flex}.optimizerModal .modalHead,.optimizerHead{border-bottom:1px solid var(--color-divider);margin-bottom:0;padding:20px 24px 16px}.optimizerHead p{color:var(--color-text-secondary);margin:4px 0 0;font-size:12.5px}.optimizerBody{padding:20px 24px}.modalHead h2{margin:0;font-size:20px}.modalHead button,.optimizerHead button{border:1px solid var(--color-divider);background:var(--color-surface);flex:none;justify-content:center;align-items:center;width:32px;height:32px;font-size:18px;display:flex}.modalIntro{color:var(--color-text-secondary);font-size:13px;margin:0 0 15px!important}.modalStats{border-top:1px solid var(--color-divider);border-left:1px solid var(--color-divider);grid-template-columns:repeat(3,1fr);gap:0;margin:18px 0;display:grid}.modalStats span{border-right:1px solid var(--color-divider);border-bottom:1px solid var(--color-divider);padding:12px;font-size:11px}.modalStats b{font-size:19px;font-family:var(--font-heading);display:block}.modalActions{justify-content:flex-end;gap:8px;margin-top:20px;display:flex}.editorFields{gap:14px;display:grid}.editorFields label,.settingsPanel>label{flex-direction:column;gap:6px;font-size:12px;font-weight:700;display:flex}.editorFields input,.editorFields select{height:38px;padding:0 10px}.editorFields fieldset{border:1px solid var(--color-divider);padding:12px}.editorFields fieldset[disabled]{opacity:.55}.editorFields fieldset legend{text-transform:uppercase;letter-spacing:.04em;padding:0 4px;font-size:11px;font-weight:800}.checkLine{align-items:center;margin:7px 0;flex-direction:row!important;gap:8px!important;font-weight:400!important}.fieldPair{grid-template-columns:1fr 1fr;gap:12px;display:grid}.fieldNote{background:var(--color-surface-subtle);border-left:3px solid var(--color-divider);margin:0;padding:10px 12px;font-size:12px;line-height:1.5}.deviationOptions{grid-template-columns:1fr 1fr;gap:8px;margin:16px 0;display:grid}.deviationOptions button{border:1px solid var(--color-divider);background:var(--color-surface-subtle);text-align:left;cursor:pointer;color:var(--color-text);padding:14px}.deviationOptions button.active{background:var(--color-accent-100);border-color:var(--color-accent)}.deviationOptions b,.deviationOptions span{display:block}.deviationOptions span{color:var(--color-text-secondary);margin-top:3px;font-size:10px}.deviationTime{gap:6px;margin-top:4px;font-size:12px;font-weight:800;display:grid}.deviationTime input{height:38px;padding:0 10px}.optimizerScore{grid-template-columns:130px 1fr;align-items:center;gap:20px;margin-bottom:18px;display:grid}.scoreRing{background:conic-gradient(var(--color-accent) calc(var(--score) * 1%), var(--color-neutral-200) 0);border-radius:50%;flex-direction:column;justify-content:center;align-items:center;width:126px;height:126px;display:flex;position:relative}.scoreRing:before{content:"";background:var(--color-surface);border-radius:50%;position:absolute;inset:10px}.scoreRing strong,.scoreRing span{z-index:1;position:relative}.scoreRing strong{font-size:30px;font-family:var(--font-heading)}.scoreRing span{color:var(--color-text-secondary);font-size:10px;font-weight:700}.optimizerSummary h3{margin:0 0 5px;font-size:17px}.optimizerSummary p{color:var(--color-text-secondary);margin:0;font-size:12.5px}.scoreBreakdown{border-top:1px solid var(--color-divider);border-left:1px solid var(--color-divider);grid-template-columns:repeat(4,1fr);gap:0;margin:16px 0;display:grid}.scoreBreakdown div{border-right:1px solid var(--color-divider);border-bottom:1px solid var(--color-divider);padding:11px}.scoreBreakdown b{font-size:16px;font-family:var(--font-heading);display:block}.scoreBreakdown span{text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-secondary);margin-top:3px;font-size:9px;font-weight:700;display:block}.optimizerChanges{border-top:1px solid var(--color-divider);gap:0;margin-top:14px;display:grid}.optimizerChanges>h4{text-transform:uppercase;letter-spacing:.06em;margin:14px 0 2px;font-size:12px}.optimizerChange{border-bottom:1px solid var(--color-divider);padding:11px 0}.optimizerChange b{font-size:12.5px;display:block}.optimizerChange p{color:var(--color-text-secondary);margin:4px 0 0;font-size:11.5px}.optimizerChange em{color:var(--color-accent);margin-top:5px;font-size:9px;font-style:normal;font-weight:800;display:inline-block}.optimizerWarning{border-left:3px solid var(--color-accent);background:var(--color-accent-100);color:var(--color-accent-800);margin-top:13px;padding:10px 12px;font-size:11px;line-height:1.45}.optimizerEmpty{border-left:3px solid var(--color-divider);padding:12px;font-size:12.5px}.optimizerActions{border-top:1px solid var(--color-divider);justify-content:flex-end;gap:9px;padding:15px 24px 20px;display:flex}.optimizerCancel,.optimizerApply{font-family:var(--font-heading);border-radius:0;padding:10px 16px;font-size:12px;font-weight:800}.optimizerCancel{background:var(--color-surface);border:1px solid var(--color-divider)}.optimizerApply{background:var(--color-accent);border:1px solid var(--color-accent);color:var(--color-surface)}.optimizerApply:hover{background:var(--color-accent-600)}.optimizerApply:disabled{opacity:.45;cursor:not-allowed}.optimizerFootnote{color:var(--color-text-secondary);margin-top:12px;font-size:10.5px;line-height:1.5}.protoToast{background:var(--color-neutral-900);color:var(--color-surface);z-index:200;font-family:var(--font-heading);padding:12px 18px;font-size:12.5px;font-weight:700;position:fixed;bottom:24px;right:24px}.protoToast.error{background:var(--color-surface);max-width:min(440px,100vw - 48px);color:var(--color-text);border:1px solid var(--color-divider);border-left:4px solid var(--color-accent-800);box-shadow:var(--shadow-md);align-items:flex-start;gap:12px;line-height:1.45;display:flex}.protoToast.error button{cursor:pointer;color:inherit;background:0 0;border:0;flex:none;padding:0 2px;font-size:18px;line-height:1}.visuallyHidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.globalDemoNotice{z-index:90;border:1px solid var(--color-divider);background:var(--color-surface);max-width:calc(100vw - 28px);box-shadow:var(--shadow-md);color:var(--color-text);white-space:nowrap;align-items:center;gap:8px;padding:8px 12px;font-size:11px;font-weight:700;display:flex;position:fixed;bottom:14px;left:50%;transform:translate(-50%)}.globalDemoNotice strong{background:var(--color-accent);color:var(--color-surface);text-transform:uppercase;letter-spacing:.08em;align-items:center;padding:3px 8px;font-size:9px;display:inline-flex}.globalDemoNotice span{text-overflow:ellipsis;overflow:hidden}.prototypeApp{padding-bottom:48px}.prototypeLoginShell{background:var(--color-bg);min-height:100vh;font-family:var(--font-body);color:var(--color-text);place-items:center;padding:24px;display:grid}.prototypeLoginCard{background:var(--color-surface);border:1px solid var(--color-divider);width:min(420px,100%);padding:36px}.prototypeLoginLogo{background:var(--color-accent);width:44px;height:44px;color:var(--color-surface);font-family:var(--font-heading);place-items:center;margin-bottom:22px;font-size:18px;font-weight:800;display:grid}.prototypeLoginEyebrow{margin:0 0 6px}.prototypeLoginCard h1{margin:0 0 8px;font-size:30px}.prototypeLoginText{color:var(--color-text-secondary);margin:0 0 26px;line-height:1.5}.prototypeLoginCard form{flex-direction:column;gap:9px;display:flex}.prototypeLoginCard label{font-size:12px;font-weight:700}.prototypeLoginCard label+input{margin-bottom:6px}.prototypeLoginCard input{background:var(--color-surface-subtle);height:44px;padding:0 14px;font-size:15px}.prototypeLoginCard button{border:1px solid var(--color-accent);background:var(--color-accent);height:44px;color:var(--color-surface);font-family:var(--font-heading);justify-content:center;align-items:center;gap:9px;margin-top:8px;font-size:14px;font-weight:800;display:flex}.prototypeLoginCard button:hover{background:var(--color-accent-600)}.prototypeLoginCard button:disabled{background:var(--color-accent-600);cursor:progress}.loginSpinner{border:2px solid color-mix(in srgb, var(--color-surface) 45%, transparent);border-top-color:var(--color-surface);border-radius:50%;flex:none;width:14px;height:14px;animation:.6s linear infinite loginSpin}@keyframes loginSpin{to{transform:rotate(360deg)}}@media (prefers-reduced-motion:reduce){.loginSpinner{animation-duration:2.4s}}.prototypeLoginError{background:var(--color-accent-100);color:var(--color-accent-800);border-left:3px solid var(--color-accent);margin:4px 0 0;padding:10px 12px;font-size:12px}.prototypeLoginCard small{margin-top:18px;line-height:1.45;display:block}.fieldBlock{flex-direction:column;gap:6px;margin:14px 0;font-size:12px;font-weight:700;display:flex}.fieldBlock input,.fieldBlock select{height:38px;padding:0 10px;font-weight:400}.inlineForm{flex-wrap:wrap;align-items:center;gap:8px;margin-top:14px;display:flex}.inlineForm input,.inlineForm select{flex:160px;min-width:0;height:36px;padding:0 10px}.inlineForm button{flex:none}.coverRules{border-top:1px solid var(--color-divider);margin-top:22px;padding-top:18px}.coverRules h3{margin:0 0 10px}.coverRuleList{gap:8px;margin:10px 0;display:grid}.coverRuleRow{background:var(--color-surface-subtle);border:1px solid var(--color-divider);justify-content:space-between;align-items:center;gap:12px;padding:10px 12px;display:flex}.coverRuleRow small{color:var(--color-text-secondary);font-weight:400;display:block}.coverRuleForm{flex:260px;align-items:center;gap:6px;display:flex}.coverRuleForm input{flex:1;min-width:0;height:34px;padding:0 8px}.resolverFooterActions{justify-content:flex-end;margin-top:16px;display:flex}.lessonNote{border-top:1px solid var(--color-divider);margin-top:22px;padding-top:18px}.lessonNote h3{margin:0 0 10px}.lessonNote textarea{width:100%;font:inherit;border:1px solid var(--color-divider);background:var(--color-surface);resize:vertical;padding:10px 12px;font-size:13px;line-height:1.5}.lessonNoteFoot{justify-content:space-between;align-items:center;gap:12px;margin-top:8px;display:flex}.lessonNoteFoot small{color:var(--color-text-secondary)}.lessonNoteCallout{background:var(--color-accent-100);border-left:3px solid var(--color-accent);margin:0 0 10px 92px;padding:10px 12px}.lessonNoteCallout b{font-size:12px;display:block}.lessonNoteCallout p{margin:4px 0;font-size:13px;line-height:1.5}.lessonNoteCallout small{color:var(--color-text-secondary)}@media (max-width:700px){.lessonNoteCallout{margin-left:0}}.handoverPlan{border-top:1px solid var(--color-divider);margin-top:20px;padding-top:16px}.handoverPlan h3{margin:0 0 8px}.handoverPlan h4{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-secondary);margin:16px 0 8px;font-size:12px}.handoverList{gap:0;max-height:260px;display:grid;overflow-y:auto}.handoverRow{border-top:1px solid var(--color-divider);grid-template-columns:92px 1fr auto;align-items:center;gap:10px;padding:9px 0;display:grid}.handoverRow>b{font-variant-numeric:tabular-nums;font-size:12px}.handoverRow strong{font-size:13.5px;display:block}.handoverRow small{color:var(--color-text-secondary);margin-top:2px;font-size:12px;display:block}.handoverRow.skipped strong{color:var(--color-text-secondary)}.handoverRow.pickable{cursor:pointer;grid-template-columns:auto 92px 1fr auto;font-weight:400}.handoverRow.pickable input{margin:0}.placementRules{border-top:1px solid var(--color-divider);margin-top:22px;padding-top:18px}.placementRules h3{margin:0 0 8px}.placementRules h4{text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-secondary);margin:16px 0 8px;font-size:12px}.ruleList{gap:0;margin-bottom:10px;display:grid}.ruleRow{border-top:1px solid var(--color-divider);justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.ruleRow b{margin-right:8px;font-size:13.5px}.ruleRow small{color:var(--color-text-secondary);margin-top:3px;font-size:12px;display:block}.ruleConfirm{flex:none;align-items:center;gap:12px;display:flex}.ruleRow .ruleConfirm small{margin-top:0;display:inline}.ruleForm{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ruleForm select{height:36px;padding:0 8px}.ruleForm input{border:1px solid var(--color-divider);background:var(--color-surface);min-width:200px;height:36px;font:inherit;flex:1;padding:0 10px;font-size:13px}.cancelLesson{border-top:1px solid var(--color-divider);margin-top:22px;padding-top:18px}.cancelLesson h3{margin:0 0 8px}.cancelLesson p{margin:0 0 10px;font-size:13px;line-height:1.5}.cancelLesson input{width:100%;font:inherit;border:1px solid var(--color-divider);background:var(--color-surface);margin-bottom:10px;padding:9px 12px;font-size:13px}.cancelLesson.isCancelled{border-left:3px solid var(--color-neutral-400);background:var(--color-surface-subtle);border-top:0;margin-top:18px;padding:12px 14px}.cancelLesson.isCancelled h3{font-size:14px}@media (max-width:1050px){.metricGrid{grid-template-columns:repeat(2,1fr)}.twoColumns{grid-template-columns:1fr}.protoContent{padding:24px}.skillCards{grid-template-columns:repeat(2,minmax(0,1fr))}.assignmentHeader,.assignmentRow{grid-template-columns:70px 1fr 1.2fr}.assignmentHeader span:last-child,.assignmentRow>span:last-child{display:none}}@media (max-width:900px){.prototypeApp{flex-direction:column}.protoSidebar{flex-flow:wrap;align-items:center;width:auto;height:auto}.protoSidebar nav{flex-direction:row;overflow:auto}.protoOrg,.protoBrand{margin-bottom:0}.protoRole{border-top:0;margin-top:0;margin-left:auto;padding-top:0}}@media (max-width:700px){.protoContent{padding:16px}.protoContent>.narrow{max-width:none}.metricGrid,.skillCards,.deviationOptions{grid-template-columns:1fr}.heroPanel,.toolbar,.weekControls{flex-direction:column;align-items:stretch}.weekNote{margin-left:0}.actionSplit,.eventDetailGrid{grid-template-columns:1fr}.eventDetailGrid>div:not(:first-child){border-left:0;border-top:1px solid var(--color-divider);padding-left:0}}

