/*! tailwindcss v4.3.3 | MIT License | https://tailwindcss.com */@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,::backdrop,:after,:before{--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-space-y-reverse:0;--tw-divide-y-reverse:0;--tw-border-style:solid;--tw-font-weight:initial}}}@layer theme{:host,:root{--font-sans:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji";--font-mono:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace;--color-red-700:oklch(50.5% .213 27.518);--color-amber-50:oklch(98.7% .022 95.277);--color-amber-100:oklch(96.2% .059 95.617);--color-green-50:oklch(98.2% .018 155.826);--color-green-700:oklch(52.7% .154 150.069);--color-green-800:oklch(44.8% .119 151.328);--color-green-900:oklch(39.3% .095 152.535);--color-green-950:oklch(26.6% .065 152.934);--color-black:#000;--spacing:.25rem;--container-sm:24rem;--container-md:28rem;--container-lg:32rem;--container-xl:36rem;--container-2xl:42rem;--container-3xl:48rem;--container-4xl:56rem;--container-5xl:64rem;--container-6xl:72rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-lg:1.125rem;--text-lg--line-height:calc(1.75 / 1.125);--text-xl:1.25rem;--text-xl--line-height:calc(1.75 / 1.25);--text-2xl:1.5rem;--text-2xl--line-height:calc(2 / 1.5);--text-3xl:1.875rem;--text-3xl--line-height:calc(2.25 / 1.875);--font-weight-normal:400;--font-weight-semibold:600;--radius-lg:.5rem;--radius-xl:.75rem;--radius-2xl:1rem;--animate-pulse:pulse 2s cubic-bezier(.4,0,.6,1) infinite;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,::backdrop,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}:host,html{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,"Helvetica Neue","Noto Sans",Arial,sans-serif,"Apple Color Emoji","Segoe UI Emoji","Segoe UI Symbol","Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,pre,samp{font-family:var(--default-mono-font-family,ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,"Liberation Mono","Courier New",monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring:where(:not(iframe)){outline:auto}progress{vertical-align:baseline}summary{display:list-item}menu,ol,ul{list-style:none}audio,canvas,embed,iframe,img,object,svg,video{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,optgroup,select,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab,red,red)){::placeholder{color:color-mix(in oklab,currentcolor 50%,transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit,::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-day-field,::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-hour-field,::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-millisecond-field,::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.float-right{float:right}.mx-auto{margin-inline:auto}.my-3{margin-block:calc(var(--spacing) * 3)}.my-4{margin-block:calc(var(--spacing) * 4)}.my-5{margin-block:calc(var(--spacing) * 5)}.my-6{margin-block:calc(var(--spacing) * 6)}.my-7{margin-block:calc(var(--spacing) * 7)}.mt-1{margin-top:var(--spacing)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-5{margin-top:calc(var(--spacing) * 5)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-7{margin-top:calc(var(--spacing) * 7)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mr-2{margin-right:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-5{margin-bottom:calc(var(--spacing) * 5)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-7{margin-bottom:calc(var(--spacing) * 7)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.ml-5{margin-left:calc(var(--spacing) * 5)}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.aspect-\[4\/3\]{aspect-ratio:4/3}.\!w-auto{width:auto!important}.w-full{width:100%}.max-w-2xl{max-width:var(--container-2xl)}.max-w-3xl{max-width:var(--container-3xl)}.max-w-4xl{max-width:var(--container-4xl)}.max-w-5xl{max-width:var(--container-5xl)}.max-w-6xl{max-width:var(--container-6xl)}.max-w-\[1600px\]{max-width:1600px}.max-w-lg{max-width:var(--container-lg)}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.max-w-xl{max-width:var(--container-xl)}.min-w-28{min-width:calc(var(--spacing) * 28)}.grow{flex-grow:1}.-scale-x-100{--tw-scale-x:calc(100% * -1);scale:var(--tw-scale-x) var(--tw-scale-y)}.animate-pulse{animation:var(--animate-pulse)}.list-disc{list-style-type:disc}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-5{gap:calc(var(--spacing) * 5)}.gap-6{gap:calc(var(--spacing) * 6)}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 5) * calc(1 - var(--tw-space-y-reverse)))}:where(.divide-y>:not(:last-child)){--tw-divide-y-reverse:0;border-bottom-style:var(--tw-border-style);border-top-style:var(--tw-border-style);border-top-width:calc(1px * var(--tw-divide-y-reverse));border-bottom-width:calc(1px * calc(1 - var(--tw-divide-y-reverse)))}:where(.divide-green-950\/10>:not(:last-child)){border-color:#032e151a}@supports (color:color-mix(in lab,red,red)){:where(.divide-green-950\/10>:not(:last-child)){border-color:color-mix(in oklab,var(--color-green-950) 10%,transparent)}}.self-end{align-self:flex-end}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.rounded-2xl{border-radius:var(--radius-2xl)}.rounded-full{border-radius:3.40282e+38px}.rounded-lg{border-radius:var(--radius-lg)}.rounded-xl{border-radius:var(--radius-xl)}.border{border-style:var(--tw-border-style);border-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-green-700\/30{border-color:#0081384d}@supports (color:color-mix(in lab,red,red)){.border-green-700\/30{border-color:color-mix(in oklab,var(--color-green-700) 30%,transparent)}}.border-green-950\/10{border-color:#032e151a}@supports (color:color-mix(in lab,red,red)){.border-green-950\/10{border-color:color-mix(in oklab,var(--color-green-950) 10%,transparent)}}.border-green-950\/15{border-color:#032e1526}@supports (color:color-mix(in lab,red,red)){.border-green-950\/15{border-color:color-mix(in oklab,var(--color-green-950) 15%,transparent)}}.bg-amber-50{background-color:var(--color-amber-50)}.bg-amber-100{background-color:var(--color-amber-100)}.bg-black{background-color:var(--color-black)}.bg-green-50{background-color:var(--color-green-50)}.object-contain{object-fit:contain}.\!p-0{padding:0!important}.\!p-4{padding:calc(var(--spacing) * 4)!important}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.p-5{padding:calc(var(--spacing) * 5)}.p-6{padding:calc(var(--spacing) * 6)}.p-8{padding:calc(var(--spacing) * 8)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-6{padding-inline:calc(var(--spacing) * 6)}.py-1{padding-block:var(--spacing)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-10{padding-block:calc(var(--spacing) * 10)}.py-20{padding-block:calc(var(--spacing) * 20)}.pb-4{padding-bottom:calc(var(--spacing) * 4)}.pl-5{padding-left:calc(var(--spacing) * 5)}.text-center{text-align:center}.text-2xl{font-size:var(--text-2xl);line-height:var(--tw-leading,var(--text-2xl--line-height))}.text-3xl{font-size:var(--text-3xl);line-height:var(--tw-leading,var(--text-3xl--line-height))}.text-lg{font-size:var(--text-lg);line-height:var(--tw-leading,var(--text-lg--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xl{font-size:var(--text-xl);line-height:var(--tw-leading,var(--text-xl--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.font-normal{--tw-font-weight:var(--font-weight-normal);font-weight:var(--font-weight-normal)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.break-all{word-break:break-all}.whitespace-nowrap{white-space:nowrap}.whitespace-pre-wrap{white-space:pre-wrap}.text-green-800{color:var(--color-green-800)}.text-green-900{color:var(--color-green-900)}.text-red-700{color:var(--color-red-700)}.underline{text-decoration-line:underline}@media (min-width:40rem){.sm\:col-span-2{grid-column:span 2/span 2}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}}@media (min-width:48rem){.md\:col-span-2{grid-column:span 2/span 2}.md\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.md\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}}@media (min-width:64rem){.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.lg\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}}@media (min-width:80rem){.xl\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}}@media print{.print\:hidden{display:none}}}:root{color-scheme:light;--ink:#142d29;--paper:#f4f6f3;--green:#176346}*{box-sizing:border-box}body{background:var(--paper);color:var(--ink);margin:0;font-family:Arial,Helvetica,sans-serif}a{color:inherit}button,input,select,textarea{font:inherit}.button,button{background:var(--green);color:#fff;cursor:pointer;border:0;border-radius:10px;min-height:46px;padding:12px 20px;text-decoration:none;display:inline-block}button:disabled{opacity:.5;cursor:wait}input,select,textarea{background:#fff;border:1px solid #ced9d1;border-radius:8px;width:100%;min-height:46px;padding:12px}label{gap:8px;font-size:.9rem;font-weight:600}form,label{display:grid}form{gap:20px}.card{background:#fff;border:1px solid #dde4df;border-radius:18px;padding:28px}.muted{color:#62766c}.error{color:#9f2433}input[aria-invalid=true],select[aria-invalid=true],textarea[aria-invalid=true]{background:#fff8f8;border:2px solid #9f2433}.form-errors{color:#9f2433;background:#fff5f5;border:1px solid #d49da4;border-radius:10px;padding:18px}.form-errors ul{margin:12px 0;padding-left:22px;list-style:outside}.form-errors a{text-decoration:underline}form input,form select,form textarea{scroll-margin-block:100px}table{border-collapse:collapse;width:100%;font-size:.9rem}td,th{text-align:left;border-bottom:1px solid #e5ebe6;padding:14px 10px}:focus-visible{outline-offset:3px;outline:3px solid #e8a437}.nav-link{border-radius:8px;padding:12px 14px;font-size:.9rem;text-decoration:none;display:block}.nav-link:hover{background:#eaf3eb}input[type=checkbox]{width:20px;min-height:20px;accent-color:var(--green)}details>summary{cursor:pointer;padding:8px 0;font-weight:600}@media print{.print\:hidden,aside,button,nav{display:none!important}main{padding:0!important}.card,body{background:#fff}.card{border:0;padding:8px}table{font-size:9px}td,th{padding:5px 3px}thead{display:table-header-group}tr{break-inside:avoid}@page{size:A4 landscape;margin:10mm}}.language-bar{background:#fff;border-bottom:1px solid #dde4df;justify-content:flex-end;align-items:center;gap:12px;padding:10px 24px;display:flex}.language-bar select{width:auto;min-height:38px;padding:6px 12px}.language-bar label{font-size:.8rem}.attendance-matrix{max-height:70vh}.attendance-matrix th{background:#f0f6f1}.attendance-matrix thead th{z-index:2;position:sticky;top:0}.attendance-matrix .matrix-name{z-index:1;min-width:150px;max-width:220px;position:sticky;left:0;box-shadow:2px 0 3px #142d2910}.attendance-matrix thead .matrix-name{z-index:3}.matrix-cell{color:#176346;text-underline-offset:4px;border-radius:8px;min-width:110px;padding:12px 10px;font-weight:600;text-decoration:underline;display:block}.matrix-active,.matrix-cell:hover{background:#e8f3ea}.matrix-warning{color:#874516;background:#fff4df}@media print{.attendance-matrix{max-height:none;overflow:visible}.attendance-matrix th{position:static!important}.matrix-cell{min-width:0;padding:3px}}@media (min-width:1024px){button[aria-controls=main-navigation]{display:none}}.report-heading{justify-content:space-between;align-items:start;gap:24px;margin:16px 0 28px;display:flex}.report-heading .button{white-space:nowrap}.report-eyebrow{color:#62766c;letter-spacing:.06em;margin-bottom:8px;font-size:.8rem}.week-toolbar{border-block:1px solid #dce5df;flex-wrap:wrap;gap:20px;padding:18px 0}.week-navigation,.week-toolbar{align-items:center;display:flex}.week-navigation{gap:16px}.week-navigation a{background:#fff;border:1px solid #dce5df;border-radius:50%;place-items:center;width:38px;height:38px;text-decoration:none;display:grid}.week-navigation strong{font-size:1rem}.week-navigation span{margin-top:4px;font-size:.75rem;display:block}.report-filters{margin-left:auto}.report-filters form{background:#fff;border:1px solid #dce5df;border-radius:12px;min-width:240px;margin-top:14px;padding:20px}.week-counts{flex-wrap:wrap;gap:28px;padding:24px 0;font-size:.9rem;display:flex}.week-counts strong{margin-right:4px;font-size:1.4rem}.success-text{color:#176346}.warning-text{color:#975019}.weekly-list{background:#fff;border:1px solid #dce5df;border-radius:16px;overflow:hidden}.weekly-item,.weekly-labels{grid-template-columns:minmax(140px,1.1fr) minmax(180px,1.2fr) minmax(100px,.7fr) minmax(130px,1fr);align-items:center;gap:26px;padding:20px 24px;display:grid}.weekly-labels{color:#62766c;background:#edf3ee;font-size:.8rem}.weekly-item+.weekly-item{border-top:1px solid #e4ebe6}.weekly-person a{font-size:1.05rem;text-decoration:none}.weekly-person a:hover{text-decoration:underline}.weekly-person p{margin-top:5px}.weekly-hours{font-variant-numeric:tabular-nums}.weekly-hours strong{font-size:1.6rem;font-weight:600}.weekly-hours span{color:#62766c}.week-progress{background:#e8eeea;border-radius:8px;height:6px;margin-top:9px;overflow:hidden}.week-progress span{background:#2b7758;height:100%;display:block}.weekly-remaining strong{font-variant-numeric:tabular-nums;font-size:1.15rem}.week-status{color:#53675a;background:#eef2ef;border-radius:20px;padding:6px 10px;font-size:.8rem;font-weight:600;display:inline-block}.week-status.success{color:#176346;background:#e5f3e9}.week-status.warning{color:#8a4c17;background:#fff1dc}.weekly-open{text-underline-offset:4px;margin-top:12px;font-size:.85rem;display:block}.mobile-label{display:none}.report-footer{flex-wrap:wrap;justify-content:space-between;gap:20px;margin-top:24px;font-size:.85rem;display:flex}.week-days{border-top:1px solid #dce5df;grid-column:1/-1;padding-top:24px}.week-day{border-bottom:1px solid #e8eeea;grid-template-columns:1fr 1fr 1fr 20px;align-items:center;gap:16px;padding:18px 8px;text-decoration:none;display:grid}.week-day:hover{background:#f1f7f2}.week-day strong{font-size:1.1rem}.week-extra{grid-template-columns:repeat(4,1fr);gap:16px;padding-top:16px;display:grid}.week-extra dt{color:#62766c;font-size:.8rem}.week-extra dd{margin-top:6px;font-weight:600}.stored-photo{object-fit:contain;aspect-ratio:auto;width:auto;max-width:100%;height:auto}.attendance-photo{max-height:70vh}.profile-photo{max-width:160px;max-height:200px}@media (max-width:800px){.weekly-labels{display:none}.weekly-item{grid-template-columns:1fr 1fr;gap:20px;padding:22px}.weekly-item>div:nth-child(2),.weekly-person{grid-column:1/-1}.weekly-result{text-align:right}.mobile-label{color:#62766c;margin-bottom:6px;font-size:.75rem;display:block}.report-heading{flex-direction:column;gap:16px}.report-heading h1{font-size:1.7rem}.week-counts{gap:16px;font-size:.8rem}.week-counts strong{font-size:1.2rem}.report-filters{width:100%;margin-left:0}.week-navigation{gap:8px}.week-navigation strong{font-size:.85rem}.week-toolbar{gap:12px}.week-day{grid-template-columns:1fr 1fr 16px;gap:10px}.week-day>.muted{grid-area:auto/1/auto/3;font-size:.8rem}.week-day>span:last-child{grid-area:1/3/3}.week-extra{grid-template-columns:1fr 1fr}.report-footer{gap:12px}}.app-shell{grid-template-columns:220px minmax(0,1fr);min-height:calc(100dvh - 59px);display:grid}.app-sidebar{background:#fff;border-right:1px solid #dde4df;padding:28px 18px}.app-brand{overflow-wrap:anywhere;align-items:center;gap:12px;font-weight:700;text-decoration:none;display:flex}.app-brand-mark{color:#fff;background:#176346;border-radius:13px;flex-shrink:0;place-items:center;width:40px;height:40px;font-size:23px;font-weight:700;display:grid}.app-brand small{color:#62766c;margin-top:3px;font-size:.7rem;font-weight:400;display:block}.app-navigation{gap:10px;margin-top:40px;display:grid;position:sticky;top:24px}.app-nav-item{border-radius:12px;align-items:center;gap:12px;min-height:50px;padding:15px 12px;font-size:.9rem;text-decoration:none;display:flex}.app-nav-item[aria-current=page]{color:#176346;background:#e5f2e9;font-weight:700}.app-nav-item:hover{background:#f0f6f1}.app-nav-item svg{flex-shrink:0}.app-sidebar-note{color:#62766c;margin:32px 12px;font-size:.75rem}.app-content{min-width:0;padding:34px 32px 60px}.more-groups{grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;display:grid}.more-group h2{color:#62766c;margin-bottom:14px;font-size:.8rem}.more-group a{border-bottom:1px solid #edf1ed;justify-content:space-between;align-items:center;gap:12px;min-height:54px;text-decoration:none;display:flex}.more-group a:last-child{border:0}.more-group a:hover{color:#176346}.button-secondary{color:#176346;background:#eaf1ec;border:1px solid #d4e1d8}.login-app{max-width:480px;margin:0 auto;padding:36px 20px 30px}.login-brand{justify-content:center;align-items:center;gap:12px;margin-bottom:28px;font-size:1.3rem;display:flex}.login-brand strong{color:#176346;font-weight:400}.login-modes{background:#edf2ee;border-radius:12px;grid-template-columns:1fr 1fr;gap:4px;margin-bottom:26px;padding:4px;display:grid}.login-modes button{color:#62766c;background:0 0;min-height:44px;padding:10px 6px;font-size:.9rem}.login-modes button[aria-pressed=true]{color:#176346;background:#fff;font-weight:700;box-shadow:0 2px 5px #142d2910}.login-footer{text-align:center;margin-top:22px;font-size:.8rem}.login-panel .face-capture{box-shadow:none;border:0;padding:0}.login-panel h2{font-size:1.5rem}.face-capture .punch-primary{border-radius:14px;width:100%;min-height:60px;font-size:1.2rem}.face-capture>div:has(.punch-primary){width:100%}.home-heading{gap:20px;margin-bottom:24px}.home-heading,.home-hero{justify-content:space-between;align-items:center;display:flex}.home-hero{background:#e5f0e8;border-radius:20px;gap:28px;padding:28px}.home-hero h2{margin:10px 0;font-size:1.6rem;font-weight:600}.home-hero p{color:#4d6b59;font-size:.9rem}.home-hero .button{flex-shrink:0}.home-metrics{grid-template-columns:repeat(3,1fr);gap:16px;margin:20px 0;display:grid}.home-metrics a{gap:8px;padding:22px;text-decoration:none;display:grid}.home-metrics strong{font-size:1.9rem}.home-metrics span{color:#62766c;font-size:.85rem}.home-columns{grid-template-columns:1.2fr 1fr;gap:20px;display:grid}.section-heading{justify-content:space-between;align-items:center;gap:12px;display:flex}.section-heading h2{font-size:1.2rem;font-weight:600}.section-heading a{white-space:nowrap;text-underline-offset:4px;font-size:.8rem}.recent-punch{border-bottom:1px solid #e7eee9;justify-content:space-between;align-items:center;gap:16px;padding:18px 0;text-decoration:none;display:flex}.recent-punch:last-child{border:0}.recent-punch>span:last-child{white-space:nowrap;color:#176346;font-size:.9rem}.attention-link{align-items:center;gap:14px;padding:20px 0;text-decoration:none;display:flex}.attention-link strong{font-size:1.8rem}.attention-link span{font-size:.9rem}.home-extra{grid-template-columns:repeat(4,1fr);gap:20px;padding-top:20px;display:grid}.home-extra a{gap:6px;text-decoration:none;display:grid}.home-extra strong{font-size:1.3rem}@media (max-width:1023px){.language-bar{gap:8px;min-height:44px;padding:6px 16px}.language-bar select{min-height:32px;padding:4px 8px;font-size:.8rem}.language-bar label{font-size:.7rem}.app-shell{min-height:calc(100dvh - 44px);display:block}.app-sidebar{border-bottom:1px solid #dde4df;border-right:0;padding:12px 20px}.app-brand{font-size:1rem}.app-brand-mark{border-radius:10px;width:34px;height:34px;font-size:20px}.app-brand small,.app-sidebar-note{display:none}.app-navigation{z-index:30;padding:8px 8px max(8px,env(safe-area-inset-bottom));background:#fffffffa;border-top:1px solid #dce5df;grid-template-columns:repeat(4,minmax(0,1fr));gap:4px;margin:0;display:grid;position:fixed;inset:auto 0 0;box-shadow:0 -5px 20px #142d2908}.app-nav-item{text-align:center;border-radius:10px;flex-direction:column;justify-content:center;gap:5px;min-height:57px;padding:8px 2px;font-size:.65rem}.app-nav-item span{line-height:1.2}.app-content{padding:24px 20px calc(100px + env(safe-area-inset-bottom))}.app-content h1{font-size:1.65rem}.home-hero{flex-direction:column;align-items:start;gap:18px;padding:24px}.home-hero .button{text-align:center;width:100%}.home-columns{grid-template-columns:1fr}.home-metrics{gap:10px}.home-metrics a{padding:16px 12px}.home-metrics strong{font-size:1.6rem}.home-metrics span{font-size:.75rem}.home-extra{grid-template-columns:repeat(2,1fr)}.more-groups{grid-template-columns:1fr}.more-group{padding:20px}.login-app{padding-top:22px}.login-panel{padding:24px}.login-brand{margin-bottom:20px}.app-content .card{border-radius:16px}}@media print{.app-sidebar,.language-bar{display:none!important}.app-shell{display:block}.app-content{padding:0}.app-navigation{display:none!important}}.face-capture label{align-items:flex-start;gap:12px;font-weight:400;line-height:1.5;display:flex}.face-capture label input[type=checkbox]{flex:none;width:20px;min-width:20px;height:20px;margin-top:3px}.face-capture label span{flex:1}@media (max-width:1023px){.app-nav-item{font-size:.7rem}}.location-choice{align-items:center;gap:12px;display:flex}.location-choice input[type=checkbox]{flex:none;width:20px}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-divide-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@keyframes pulse{50%{opacity:.5}}