@font-face{font-family:Fraunces;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/fraunces-600.woff2)format("woff2")}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/atkinson-400.woff2)format("woff2")}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/atkinson-700.woff2)format("woff2")}:root{--font-display:"Fraunces", Georgia, "Times New Roman", serif;--font-body:"Atkinson Hyperlegible", "Segoe UI", Roboto, Arial, sans-serif;--type-title:600 1.5rem/1.2 var(--font-display);--type-heading:600 1.125rem/1.3 var(--font-display);--type-body:400 1rem/1.5 var(--font-body);--type-small:400 .875rem/1.4 var(--font-body);--type-strong-weight:700;--measure:65ch;--ink:#1c1b18;--ink-muted:#5a5750;--ground:#faf7f0;--surface:#fff;--line:#d6d1c4;--accent:#0b4f6c;--accent-ink:#fff;--accent-tint:#e4eef3;--highlight:#c9711a;--highlight-tint:#fbe9d6;--ok:#1e6b3d;--ok-tint:#e3f1e7;--warn:#7a4a00;--warn-tint:#fff1d6;--err:#9b2423;--err-tint:#fbe4e3;--info:#0b4f6c;--info-tint:#e4eef3;--chart-female:#2378a8;--chart-male:#c9711a;--chart-grid:#e7e2d6;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-6:1.5rem;--space-8:2rem;--radius:6px;--touch:48px;--focus:3px solid var(--highlight)}*{box-sizing:border-box}html,body{background:var(--ground);color:var(--ink);font:var(--type-body);margin:0;padding:0}#root{flex-direction:column;min-height:100dvh;display:flex}a{color:var(--accent)}h1,h2,h3,p{margin:0}h1{font:var(--type-title)}h2,h3{font:var(--type-heading);margin-bottom:var(--space-2)}p{margin-bottom:var(--space-3);max-width:var(--measure)}strong,.strong,.primary,th,label,button,.btn,.badge,.bottomnav a,.sidenav a{font-weight:var(--type-strong-weight)}.muted{color:var(--ink-muted)}.small,.hint,.pager span,.badge,.bottomnav a,.topbar .brand{font:var(--type-small)}.hint{color:var(--ink-muted);margin-top:var(--space-1)}:focus-visible{outline:var(--focus);outline-offset:2px}.topbar{z-index:5;background:var(--accent);color:var(--accent-ink);padding:var(--space-3) var(--space-4);padding-top:calc(var(--space-3) + env(safe-area-inset-top));align-items:center;gap:var(--space-3);display:flex;position:sticky;top:0}.topbar .brand{letter-spacing:.08em;text-transform:uppercase;color:var(--accent-ink)}.topbar .screen-title{min-width:0;color:var(--accent-ink);flex:1}.topbar .screen-title h1{color:inherit;white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.topbar .brand{white-space:nowrap}.topbar{flex-wrap:wrap;row-gap:0}.topbar .role-in-use{color:var(--accent-ink);white-space:nowrap;text-overflow:ellipsis;flex-basis:100%;overflow:hidden}@media (width<=480px){.shell.multi-role .topbar .brand,.pill .pill-label,.iconbtn .iconbtn-label{display:none}.topbar{gap:var(--space-2)}}.motif{border-top:3px dashed var(--highlight);height:0}.langswitch{gap:var(--space-1);display:inline-flex}.langswitch.compact button{min-width:40px;min-height:36px;padding:0 var(--space-2);border-color:var(--accent-ink);color:var(--accent-ink);background:0 0}.langswitch.compact button[aria-pressed=true]{background:var(--accent-ink);color:var(--accent)}.pill{align-items:center;gap:var(--space-1);padding:var(--space-1) var(--space-3);background:var(--accent-ink);color:var(--accent);border:0;border-radius:999px;display:inline-flex}.pill.offline{background:var(--warn-tint);color:var(--warn)}main{padding:var(--space-4);padding-bottom:calc(5rem + env(safe-area-inset-bottom));flex:1;width:100%;max-width:42rem;margin:0 auto}.bottomnav{background:var(--surface);border-top:1px solid var(--line);padding-bottom:env(safe-area-inset-bottom);z-index:5;display:flex;position:fixed;bottom:0;left:0;right:0}.bottomnav a{padding:var(--space-2) var(--space-1) var(--space-2);min-height:var(--touch);color:var(--ink-muted);border-top:3px solid #0000;flex-direction:column;flex:1;align-items:center;gap:2px;text-decoration:none;display:flex}.bottomnav a.active{color:var(--accent);border-top-color:var(--accent)}.bottomnav svg{width:24px;height:24px}.shell.office{grid-template-rows:auto auto 1fr;grid-template-columns:220px minmax(0,1fr);min-height:100dvh;display:grid}.shell.office .topbar,.shell.office .motif{grid-column:1/-1}.shell.office main{padding-bottom:var(--space-8);max-width:60rem;margin:0}.sidenav{border-right:1px solid var(--line);background:var(--surface);padding:var(--space-2) 0;flex-direction:column;display:flex}.sidenav a{align-items:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);min-height:var(--touch);color:var(--ink);border-left:4px solid #0000;text-decoration:none;display:flex}.sidenav a.active{border-left-color:var(--accent);color:var(--accent);background:var(--accent-tint)}.sidenav svg{width:20px;height:20px}@media (width<=720px){.shell.office{flex-direction:column;display:flex}.sidenav{border-right:0;border-bottom:1px solid var(--line);flex-direction:row;overflow-x:auto}.sidenav a{white-space:nowrap;border-bottom:3px solid #0000;border-left:0}.sidenav a.active{border-bottom-color:var(--accent)}}.card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-4);margin-bottom:var(--space-4)}.row{gap:var(--space-3);align-items:center;display:flex}.row.between{justify-content:space-between}.row.wrap{flex-wrap:wrap}.stack>*+*{margin-top:var(--space-3)}.center{text-align:center}.scroll{overflow-x:auto}.bignum{font:var(--type-title);line-height:1}.pager{justify-content:space-between;align-items:center;gap:var(--space-2);margin:var(--space-2) 0 var(--space-4);display:flex}label{margin-bottom:var(--space-1);display:block}.field{margin-bottom:var(--space-4)}input,select,textarea{width:100%;font:inherit;padding:var(--space-3);border:1px solid var(--ink-muted);border-radius:var(--radius);background:var(--surface);color:var(--ink);min-height:var(--touch)}.dateinput{gap:var(--space-2);display:flex;position:relative}.dateinput button{min-width:var(--touch);flex:none;padding:0}.dateinput-native{opacity:0;pointer-events:none;border:0;width:1px;height:1px;min-height:0;padding:0;position:absolute;bottom:0;right:0}input[type=checkbox],input[type=radio]{width:1.5rem;height:1.5rem;min-height:0;accent-color:var(--accent);margin:0}.radios{gap:var(--space-2);flex-wrap:wrap;display:flex}.radios label{align-items:center;gap:var(--space-2);border:1px solid var(--ink-muted);border-radius:var(--radius);padding:var(--space-2) var(--space-3);min-height:var(--touch);cursor:pointer;margin:0;display:inline-flex}.radios label.on{border-color:var(--accent);background:var(--accent-tint);color:var(--accent)}button,.btn{font:inherit;border:2px solid var(--accent);border-radius:var(--radius);padding:var(--space-2) var(--space-4);min-height:var(--touch);cursor:pointer;background:var(--accent);color:var(--accent-ink);justify-content:center;align-items:center;gap:var(--space-2);text-decoration:none;display:inline-flex}button:disabled{opacity:.55;cursor:default}.btn.secondary,button.secondary{background:var(--surface);color:var(--accent)}.btn.danger,button.danger{background:var(--err);border-color:var(--err)}.btn.block,button.block{width:100%}.btn.small,button.small{min-height:40px;padding:var(--space-1) var(--space-3)}.iconbtn{color:var(--accent-ink);min-width:var(--touch);background:0 0;border-color:#0000;padding:0}.iconbtn svg{width:24px;height:24px}.iconbtn.signout,.iconbtn.switchrole{padding:0 var(--space-2);gap:var(--space-1)}.list{margin:0;padding:0;list-style:none}.list li{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-2)}.notice{border-radius:var(--radius);padding:var(--space-3) var(--space-4);margin-bottom:var(--space-4);max-width:var(--measure);border-left:4px solid}.notice.warn{background:var(--warn-tint);color:var(--warn)}.notice.err{background:var(--err-tint);color:var(--err)}.notice.ok{background:var(--ok-tint);color:var(--ok)}.notice.info{background:var(--info-tint);color:var(--info)}.status-err{color:var(--err)}table{border-collapse:collapse;width:100%}th,td{text-align:left;padding:var(--space-2);border-bottom:1px solid var(--line);vertical-align:top}th{color:var(--ink-muted)}table.data td,table.data th{white-space:nowrap}td.num,th.num{text-align:right;font-variant-numeric:tabular-nums}.photo{border-radius:var(--radius);border:1px solid var(--line);max-width:100%}.login{max-width:26rem;padding:0 var(--space-4);margin:3rem auto}.login .brand-title{font:var(--type-title);color:var(--accent)}.login .brand-sub{color:var(--ink-muted);margin-bottom:var(--space-4)}.tabs{gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.tiles{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.tile{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-4);gap:var(--space-1);flex-direction:column;display:flex}.tile-label{font:var(--type-small);color:var(--ink-muted)}.tile-value{font:var(--type-title);color:var(--ink)}.meter{background:var(--accent-tint);height:8px;margin:var(--space-1) 0;border-radius:4px;position:relative}.meter span{background:var(--chart-female);border-radius:4px;position:absolute;top:0;bottom:0;left:0}.meter i{background:var(--ink);width:2px;margin-left:-1px;position:absolute;top:-4px;bottom:-4px}.chart{width:100%;min-width:0;margin-top:var(--space-2);position:relative;overflow:hidden}.chart svg{display:block}.chart-grid{stroke:var(--chart-grid);stroke-width:1px}.chart-ref{stroke:var(--ink-muted);stroke-width:1px;stroke-dasharray:4 3}.chart-tick{font:var(--type-small);fill:var(--ink-muted);font-variant-numeric:tabular-nums}.chart-value{font:var(--type-small);font-weight:var(--type-strong-weight);fill:var(--ink)}.chart-line{fill:none;stroke-width:2px;stroke-linejoin:round;stroke-linecap:round}.chart-dot{stroke:var(--surface);stroke-width:2px}.chart-band{fill:var(--accent-tint);opacity:.6}.chart-hit{fill:#0000;cursor:default;outline:none}.chart-hit:focus-visible{stroke:var(--highlight);stroke-width:2px}.chart-tip{pointer-events:none;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-2) var(--space-3);font:var(--type-small);white-space:nowrap;z-index:2;position:absolute;top:0;transform:translate(-50%);box-shadow:0 2px 8px #0000001f}.chart-tip-title{color:var(--ink-muted);margin-bottom:var(--space-1)}.chart-tip-row{align-items:center;gap:var(--space-2);display:flex}.chart-key{border-radius:1px;width:12px;height:2px;display:inline-block}.chart-legend{gap:var(--space-4);margin:var(--space-2) 0 0;font:var(--type-small);flex-wrap:wrap;padding:0;list-style:none;display:flex}.chart-legend li{align-items:center;gap:var(--space-2);display:inline-flex}.chart-swatch{border-radius:3px;width:12px;height:12px}.refreshing .tiles,.refreshing .card{opacity:.6}details.card summary{cursor:pointer;font-weight:var(--type-strong-weight);color:var(--accent);min-height:var(--touch);align-items:center;display:flex}.wizard-head{gap:var(--space-1);flex-direction:column;display:flex}.wizard-head h2{margin:0}label.attend{cursor:pointer}.pie{vertical-align:-4px;flex:none}.pctcell{align-items:center;gap:var(--space-2);display:inline-flex}.pctcell>span{text-align:right;font-variant-numeric:tabular-nums;min-width:4em}table.breakdown td.pctcol{text-align:center}table.breakdown th.pcthead{text-align:center;white-space:nowrap}table.breakdown th.pcthead .infoline{justify-content:center}th.num .infoline{justify-content:flex-end}.pie-rest{fill:var(--chart-male)}.pie-female{fill:var(--chart-female)}table.breakdown tr.lvl1 td:first-child{padding-left:var(--space-6)}table.breakdown tr.lvl2 td:first-child{padding-left:calc(var(--space-6) * 2)}table.breakdown tr.lvl0 td{border-top:2px solid var(--line)}.sharechart{margin:0 0 var(--space-3)}.sharechart figcaption{margin-bottom:var(--space-2)}.sharestack{border-radius:3px;max-width:40rem;height:18px;display:flex;overflow:hidden}.sharestack .seg{height:100%;display:block}.sharestack .seg+.seg{border-left:2px solid var(--surface)}.seg0{background:color-mix(in srgb, var(--accent) 30%, var(--surface))}.seg1{background:color-mix(in srgb, var(--accent) 50%, var(--surface))}.seg2{background:color-mix(in srgb, var(--accent) 70%, var(--surface))}.seg3{background:color-mix(in srgb, var(--accent) 88%, var(--surface))}.seg4{background:var(--ink)}.seg-other{background:color-mix(in srgb, var(--ink-muted) 35%, var(--surface))}.pie,.sharestack,.chart-swatch{-webkit-print-color-adjust:exact;print-color-adjust:exact}.figrow{gap:var(--space-3) var(--space-6);padding:var(--space-2) 0 var(--space-3);border-bottom:1px solid var(--line);flex-wrap:wrap;margin:0;display:flex}.figrow>div{flex-direction:column;gap:2px;min-width:9rem;display:flex}.figrow dt{font:var(--type-small);color:var(--ink-muted)}.figrow dd{font:var(--type-heading);margin:0}.figrow .sub{font:var(--type-small);color:var(--ink-muted)}.check-row{gap:var(--space-2);grid-template-columns:9rem 1fr 3rem;align-items:center;display:grid}.check-row .meter{margin:0}.textbtn{color:var(--accent);padding:0 var(--space-1);background:0 0;border:0;min-height:40px;text-decoration:underline}.attend-actions{gap:var(--space-3);margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--line);flex-direction:column;display:flex}.attend-more{gap:var(--space-3);grid-template-columns:1fr 1fr;display:grid}.attend-more>*{width:100%}@media (width<=480px){.attend-more{grid-template-columns:1fr}}ol.steps{margin:var(--space-2) 0 var(--space-3);padding-left:1.2rem}@media (width>=900px){.shell.field{flex-direction:column;min-height:100dvh;display:flex}.shell.field .topbar{order:0}.shell.field .motif{order:1}.shell.field .bottomnav{border-top:0;border-bottom:1px solid var(--line);padding:0 var(--space-4);order:2;justify-content:center;position:static}.shell.field .bottomnav a{gap:var(--space-2);padding:var(--space-3) var(--space-4);border-top:0;border-bottom:3px solid #0000;flex-direction:row;flex:none}.shell.field .bottomnav a.active{border-bottom-color:var(--accent)}.shell.field main{padding-bottom:var(--space-8);order:3}}.helpbrowser{gap:var(--space-6);margin-bottom:var(--space-4);grid-template-columns:16rem minmax(0,1fr);align-items:start;display:grid}.help-index ul{border-right:1px solid var(--line);margin:0;padding:0;list-style:none}.help-index button{text-align:left;width:100%;color:var(--accent);min-height:40px;padding:var(--space-2) var(--space-3);background:0 0;border:0;border-left:3px solid #0000;border-radius:0;justify-content:flex-start}.help-index button.on{background:var(--accent-tint);border-left-color:var(--accent);color:var(--ink)}.help-select{margin-bottom:var(--space-3);display:none}@media (width<=720px){.helpbrowser{gap:var(--space-3);grid-template-columns:1fr}.help-index{display:none}.help-select{display:block}}@media print{.topbar,.motif,.sidenav,.bottomnav,.no-print,.pager,button,.btn{display:none!important}body{color:#000;background:#fff}.shell.office{display:block}main{max-width:none;padding:0}.card{border:0;padding:0}table.data th,table.data td{border-bottom:1px solid #777}}.helppanel-backdrop{z-index:20;background:#1c1b1873;justify-content:flex-end;display:flex;position:fixed;inset:0}.helppanel{background:var(--surface);width:min(60rem,100%);height:100%;padding:var(--space-4);border-left:4px dashed var(--highlight);overflow-y:auto}.helppanel .iconbtn.dark{color:var(--ink)}.help-body h3{margin-top:var(--space-4)}.help-body p{max-width:var(--measure)}.help-entry-title{color:var(--accent)}.walkcard{background:var(--surface);width:min(26rem,100% - 2rem);padding:var(--space-6);border-radius:var(--radius);border-top:4px dashed var(--highlight);margin:auto}.linklike{color:var(--accent);min-height:var(--touch);text-align:left;background:0 0;border:0;justify-content:flex-start;width:100%;padding:0;text-decoration:underline}.tabs button{background:var(--line);color:var(--ink);border-color:var(--line);min-height:40px}.tabs button.on{background:var(--accent);color:var(--accent-ink);border-color:var(--accent)}.stack-tight{flex-direction:column;gap:2px;min-width:0;display:flex}.stack-tight.end{align-items:flex-end}.timetable{margin:0;padding-left:1.2rem}fieldset.disability{border:0;margin:0;padding:0}fieldset.disability legend{font-weight:var(--type-strong-weight);margin-bottom:var(--space-1);padding:0}.checks{gap:var(--space-2);flex-direction:column;display:flex}.checks label.check{align-items:center;gap:var(--space-2);border:1px solid var(--ink-muted);border-radius:var(--radius);padding:var(--space-2) var(--space-3);min-height:var(--touch);cursor:pointer;margin:0;display:flex}.checks label.check.on{border-color:var(--accent);background:var(--accent-tint);color:var(--accent)}.checks input[type=checkbox]{width:1.25rem;height:1.25rem;min-height:0;margin:0}.list li a:not(.btn){color:var(--accent);text-underline-offset:2px;text-decoration:underline}.list li>a:not(.btn){padding-right:var(--space-6);color:inherit;text-decoration:none;display:block;position:relative}.list li>a:not(.btn) .primary{color:var(--accent);text-underline-offset:2px;text-decoration:underline}.list li>a:not(.btn):after{content:"›";color:var(--accent);font:var(--type-heading);line-height:1;position:absolute;top:50%;right:0;transform:translateY(-50%)}.rowopen{font:var(--type-heading);line-height:1;text-decoration:none!important}.badge{text-transform:none;letter-spacing:0;color:var(--ink-muted);white-space:normal;background:0 0;border-radius:0;padding:0}.badge:before{content:"●";margin-right:var(--space-1)}.badge.ok{color:var(--ok)}.badge.warn{color:var(--warn)}.badge.err{color:var(--err)}.late{color:var(--err);font-weight:var(--type-strong-weight)}.filterbar{align-items:flex-end;gap:var(--space-2) var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid var(--line);flex-wrap:wrap;display:flex}.filterbar .field{min-width:16rem;margin:0}.filterbar .due{color:var(--ink-muted);padding-bottom:var(--space-3)}.tablewrap{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);overflow-x:auto}.tablewrap table{font:var(--type-small)}.tablewrap th,.tablewrap td{padding:var(--space-2) var(--space-3)}.tablewrap tr:last-child td{border-bottom:0}.tablewrap td.nw{white-space:nowrap}.tablewrap.narrow{max-width:28rem}.tablewrap td.spot{min-width:18rem}.tablewrap td.spot .btn,.tablewrap td.spot button{margin-top:var(--space-1)}.sidenav .navcount{background:var(--accent);color:var(--accent-ink);min-width:1.5rem;padding:0 var(--space-2);text-align:center;font:var(--type-small);font-weight:var(--type-strong-weight);border-radius:999px;margin-left:auto}@media (width<=720px){.tablewrap table{min-width:40rem}}.infobtn{width:1rem;height:1rem;min-height:0;margin-left:var(--space-1);border:1.5px solid var(--accent);background:var(--surface);color:var(--accent);font:var(--type-small);font-style:italic;font-weight:var(--type-strong-weight);vertical-align:baseline;border-radius:999px;justify-content:center;align-items:center;padding:0;line-height:1;display:inline-flex;position:relative}.infobtn:before{content:"";position:absolute;inset:-1rem}.infobtn[aria-expanded=true]{background:var(--accent);color:var(--accent-ink)}.infotext{gap:var(--space-2);background:var(--accent-tint);border-left:4px solid var(--accent);border-radius:var(--radius);padding:var(--space-2) var(--space-3);margin:var(--space-1) 0 var(--space-2);max-width:var(--measure);color:var(--ink);align-items:flex-start;display:flex}.infotext .infobody{flex:1}.infotext .infobody p{margin:0 0 var(--space-1)}.infoclose{min-height:0;padding:0 var(--space-1);color:var(--accent);font:var(--type-heading);background:0 0;border:0;line-height:1}.infoline{align-items:center;gap:var(--space-1);display:flex}.labelline{align-items:center;gap:var(--space-1);margin-bottom:var(--space-1);display:flex}.labelline label{margin:0}.check-row{min-height:1.5rem}.check-row .infobtn:before{inset:-.25rem -1rem}.check-row .infotext{grid-column:1/-1}.check-row .meter span.ok{background:var(--ok)}.check-row .meter span.err{background:var(--err)}.radios.stacked{flex-direction:column;align-items:stretch}
