*,*:before,*:after{box-sizing:border-box}h1,h2,h3,h4,h5,h6,p,figure,blockquote,dl,dd{margin:0}ul,ol{margin:0}img,video{display:block;max-width:100%}svg{max-width:100%}button,input,select,textarea{font:inherit}@font-face{font-display:swap;font-family:Inter;font-style:normal;font-weight:100 900;src:url(/assets/InterVariable-DiVDrmQJ.woff2) format("woff2")}:root{--background: 0 0% 100%;--foreground: 220 20% 10%;--card: 0 0% 100%;--card-foreground: 220 20% 10%;--popover: 0 0% 100%;--popover-foreground: 220 20% 10%;--primary: 36 95% 50%;--primary-foreground: 0 0% 100%;--primary-strong: 36 95% 42%;--attention: 38 92% 35%;--attention-border: 38 92% 45%;--attention-surface: 48 96% 89%;--secondary: 220 14% 96%;--secondary-foreground: 220 20% 15%;--muted: 220 14% 96%;--muted-foreground: 220 10% 40%;--accent: 36 95% 50%;--accent-foreground: 0 0% 100%;--destructive: 0 72% 51%;--destructive-foreground: 0 0% 100%;--success: 142 71% 40%;--success-foreground: 0 0% 100%;--border: 220 14% 90%;--input: 220 14% 90%;--ring: 36 95% 50%;--pin-key: 220 14% 94%;--pin-key-foreground: 220 20% 15%;--pin-key-active: 220 14% 86%;--sidebar-background: 0 0% 100%;--sidebar-foreground: 220 20% 15%;--sidebar-primary: 36 95% 50%;--sidebar-primary-foreground: 0 0% 100%;--sidebar-accent: 220 14% 96%;--sidebar-accent-foreground: 220 20% 15%;--sidebar-border: 220 14% 90%;--sidebar-ring: 36 95% 50%;--font-sans: "Inter", system-ui, sans-serif;--text-2xs: .75rem;--text-xs: .8125rem;--leading-xs: 1.125rem;--text-sm: .9375rem;--leading-sm: 1.375rem;--text-base: 1.0625rem;--leading-base: 1.625rem;--text-lg: 1.125rem;--leading-lg: 1.75rem;--text-xl: 1.25rem;--leading-xl: 1.75rem;--text-2xl: 1.5rem;--leading-2xl: 2rem;--text-3xl: 1.875rem;--leading-3xl: 2.25rem;--text-4xl: 2.25rem;--leading-4xl: 2.5rem;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;--font-extrabold: 800;--font-black: 900;--space-0: 0;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--radius: .75rem;--radius-md: calc(var(--radius) - 2px);--radius-sm: calc(var(--radius) - 4px);--radius-full: 9999px;--shadow-sm: 0 1px 2px 0 rgb(0 0 0 / .05);--shadow: 0 1px 3px 0 rgb(0 0 0 / .1), 0 1px 2px -1px rgb(0 0 0 / .1);--shadow-md: 0 4px 6px -1px rgb(0 0 0 / .1), 0 2px 4px -2px rgb(0 0 0 / .1);--shadow-lg: 0 10px 15px -3px rgb(0 0 0 / .1), 0 4px 6px -4px rgb(0 0 0 / .1);--shadow-frame: 0 12px 40px hsl(220 20% 10% / .12);--canvas: 220 24% 96%;--canvas-top: 220 30% 98%;--line: 220 16% 87%;--line-soft: 220 16% 91%;--radius-board: 14px;--board-shadow: 0 0 0 1px hsl(var(--line)), 0 1px 2px hsl(220 40% 20% / .05), 0 12px 28px -14px hsl(220 40% 20% / .18);--duration: .2s;--easing: ease-out;--touch-target: 2.75rem;--control-h: 2.5rem;--control-h-lg: 3.5rem;--pin-key-size: 4rem;--z-sticky: 10;--z-overlay: 40;--z-modal: 50;--z-toast: 100}body{background:hsl(var(--background));margin:0;color:hsl(var(--foreground));font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-base);-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}.field-app{-webkit-touch-callout:none}.visually-hidden{clip-path:inset(50%);height:1px;overflow:hidden;position:absolute;white-space:nowrap;width:1px}.field__flag{font-size:var(--text-2xs);font-weight:var(--font-semibold);letter-spacing:normal;margin-left:var(--space-1);padding:0;text-transform:none}.field__flag--required{color:hsl(var(--destructive));font-size:var(--text-sm);line-height:1}.field__flag--required:before{content:"*"}.field__flag--optional{color:hsl(var(--muted-foreground));font-weight:var(--font-normal);text-transform:lowercase}.field-app{background:linear-gradient(180deg,hsl(var(--canvas-top)),hsl(var(--canvas)) 22rem);color:hsl(var(--foreground));margin:0;min-height:100vh;padding:env(safe-area-inset-top) env(safe-area-inset-right) env(safe-area-inset-bottom) env(safe-area-inset-left)}.app{display:flex;flex-direction:column;gap:var(--space-5);margin:0 auto;max-width:none;min-height:100vh;padding:0 var(--space-5) 0}.app>section:not([class]){display:flex;flex-direction:column;gap:var(--space-4)}.app__bar{align-items:center;border-bottom:1px solid hsl(var(--line));display:flex;gap:var(--space-3);justify-content:space-between;margin:0 calc(var(--space-5) * -1);padding:var(--space-5)}.app__home{background:url(/assets/logo-IvceKgX4.svg) left center / contain no-repeat;display:block;flex-shrink:0;height:2.8125rem;width:10rem}.app__who{align-items:center;color:hsl(var(--foreground));display:flex;font-size:var(--text-sm);font-weight:var(--font-semibold);gap:var(--space-2);justify-content:flex-end;text-align:right}.app__role{background:hsl(var(--primary) / .12);border-radius:var(--radius-full);color:hsl(var(--attention));font-size:var(--text-xs);font-weight:var(--font-semibold);padding:var(--space-1) var(--space-2);text-transform:capitalize;white-space:nowrap}.app__foot{border-top:1px solid hsl(var(--line));display:flex;justify-content:center;margin:0 calc(var(--space-5) * -1);padding:var(--space-5)}.app__back{align-items:center;background:hsl(var(--card));border:1px solid hsl(var(--line));border-radius:var(--radius-full);box-shadow:0 1px 2px #1f2c470d;color:hsl(var(--foreground));cursor:pointer;display:inline-flex;font:var(--font-semibold) var(--text-sm) var(--font-sans);gap:var(--space-2);justify-content:center;min-height:2.75rem;padding:0 var(--space-6);text-decoration:none;transition:background var(--duration) var(--easing)}.app__back:hover{background:hsl(var(--muted) / .7)}.app__back:active{transform:scale(.98)}.app__back svg{height:1rem;width:1rem}.app__foot form{display:contents}@media(min-width:60rem){body,body.field-app:has(.pin-screen){background:linear-gradient(180deg,hsl(var(--canvas-top)),hsl(var(--canvas)) 22rem)}.app{background:hsl(var(--background));border:1px solid hsl(var(--line));border-radius:1.5rem;box-shadow:var(--shadow-frame);margin:var(--space-6) auto;max-width:30rem;min-height:auto}.app:has(.safety-form){max-width:48rem}.app__bar{border-radius:1.5rem 1.5rem 0 0}.app__foot{border-radius:0 0 1.5rem 1.5rem}}header{align-items:center;display:flex;justify-content:space-between}.status{display:flex;flex-wrap:wrap;gap:var(--space-3);justify-content:space-between;margin:0}.status:not(:has(#pending:not(:empty))):not(:has(#attention:not(:empty))){display:none}#pending{color:hsl(var(--success));font-size:var(--text-xs);font-weight:var(--font-semibold)}#pending.pending{color:hsl(var(--primary))}#attention{color:hsl(var(--destructive));font-size:var(--text-xs);font-weight:var(--font-semibold)}.sync-bar{display:flex;flex-basis:100%;gap:var(--space-2)}.sync-now,.sync-toggle{background:hsl(var(--card));border:1px solid hsl(var(--line));border-radius:var(--radius-full);box-shadow:0 1px 2px #1f2c470a;color:hsl(var(--foreground));cursor:pointer;font:var(--font-semibold) var(--text-xs) var(--font-sans);min-height:var(--touch-target);padding:0 var(--space-4)}.sync-now:disabled{cursor:default;opacity:.6}.sync-now.is-syncing{color:hsl(var(--attention))}.sync-items{display:grid;flex-basis:100%;gap:var(--space-2);list-style:none;margin:0;padding:0}.sync-item{background:hsl(var(--card));border:1px solid hsl(var(--line));border-radius:var(--radius-board);box-shadow:0 1px 2px #1f2c470a;display:grid;font-size:var(--text-xs);gap:var(--space-1);grid-template-columns:1fr auto auto;padding:var(--space-2) var(--space-3)}.sync-item__name{font-weight:var(--font-semibold)}.sync-item__when{color:hsl(var(--muted-foreground))}.sync-item__state{color:hsl(var(--attention));font-weight:var(--font-semibold)}.sync-item[data-status=rejected] .sync-item__state{color:hsl(var(--destructive))}.sync-item__error{color:hsl(var(--destructive));grid-column:1 / -1}h2{font-size:var(--text-xl);font-weight:var(--font-bold)}.context{color:hsl(var(--muted-foreground));font-size:var(--text-sm)}.shift-elapsed{color:hsl(var(--foreground));font-size:var(--text-lg);font-variant-numeric:tabular-nums;font-weight:var(--font-semibold)}.shift-banner{background:hsl(var(--secondary));border:1px solid hsl(var(--border));border-radius:var(--radius);display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-3)}.shift-banner__job{font-size:var(--text-base);font-weight:var(--font-semibold)}.shift-banner__since{color:hsl(var(--muted-foreground));font-size:var(--text-sm)}.shift-warning{align-items:center;background:hsl(var(--destructive) / .1);border:1px solid hsl(var(--destructive) / .3);border-radius:var(--radius);color:hsl(var(--destructive));display:flex;font-size:var(--text-sm);font-weight:var(--font-medium);gap:var(--space-2);margin:0;padding:var(--space-3)}.shift-warning svg{flex-shrink:0;height:1.25rem;width:1.25rem}.shift-warning[data-long-shift=no]{display:none}.gps-status{font-size:var(--text-sm);margin:0}.gps-status[data-state=pending]{color:hsl(var(--muted-foreground))}.gps-status[data-state=ok]{color:hsl(var(--primary))}.gps-status[data-state=off]{color:hsl(var(--muted-foreground))}.gps-status[data-state=warn]{color:#094cb9;font-weight:var(--font-semibold)}.list{display:flex;flex-direction:column;gap:var(--space-3)}.tile{background:hsl(var(--card));border:1px solid hsl(var(--line));border-radius:var(--radius-board);box-shadow:0 1px 3px #1f2c470d,0 8px 18px -6px #1f2c4714;color:hsl(var(--card-foreground));display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4);text-align:left;text-decoration:none;transition:transform var(--duration) var(--easing),border-color var(--duration) var(--easing),box-shadow var(--duration) var(--easing)}.tile:hover{border-color:hsl(var(--primary) / .6);box-shadow:0 2px 6px #1f2c4714,0 12px 24px -6px #1f2c471f}.tile:active{box-shadow:0 1px 2px #1f2c470a;transform:scale(.98)}.tile .code{color:hsl(var(--attention));font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:var(--text-sm);font-weight:var(--font-semibold)}.tile .name{font-size:var(--text-lg);font-weight:var(--font-medium)}.list-filter{display:flex;flex-direction:column;gap:var(--space-2)}.list-filter__status{color:hsl(var(--muted-foreground));font-size:var(--text-sm);margin:0}.tile[hidden],.crew-row[hidden]{display:none}.list-picker{position:relative}.list-picker__trigger{align-items:center;background:hsl(var(--card));border:1px solid hsl(var(--primary));border-radius:var(--radius);color:hsl(var(--muted-foreground));display:flex;font-size:var(--text-base);gap:var(--space-3);justify-content:space-between;min-height:var(--touch-target);padding:0 var(--space-4);text-align:left;width:100%}.list-picker__trigger--chosen{color:hsl(var(--foreground));font-weight:var(--font-medium)}.list-picker__value{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.list-picker__caret{border-left:.3125rem solid transparent;border-right:.3125rem solid transparent;border-top:.375rem solid hsl(var(--foreground));flex-shrink:0;transition:transform var(--duration) var(--easing)}.list-picker__trigger[aria-expanded=true] .list-picker__caret{transform:rotate(180deg)}.list-picker__panel{display:flex;flex-direction:column;gap:var(--space-3);margin-top:var(--space-2)}.list-picker__panel[hidden]{display:none}.list-picker__panel .list{background:hsl(var(--card));border:1px solid hsl(var(--line));border-radius:var(--radius-board);box-shadow:0 1px 3px #1f2c470d,0 8px 18px -6px #1f2c4714;gap:0;max-height:60vh;overflow-y:auto}.list-picker__panel .tile{align-items:baseline;border:0;border-bottom:1px solid hsl(var(--line-soft));border-radius:0;box-shadow:none;flex-direction:row;gap:var(--space-3);padding:var(--space-3) var(--space-4);width:100%}.list-picker__panel .tile:last-child{border-bottom:0}.list-picker__panel .code{flex-shrink:0;min-width:4.5rem}.list-picker__panel .name{font-size:var(--text-base)}.list-picker__native{left:0;opacity:0;pointer-events:none;position:absolute;top:0}button,.primary,.danger,.tile,.menu-card,.photo-label,[role=button]{cursor:pointer}button:disabled{cursor:not-allowed}.primary,.danger{align-items:center;border:none;border-radius:var(--radius-board);box-sizing:border-box;color:hsl(var(--primary-foreground));display:flex;font-size:var(--text-lg);font-weight:var(--font-bold);justify-content:center;min-height:var(--control-h-lg);text-align:center;text-decoration:none;transition:transform var(--duration) var(--easing),box-shadow var(--duration) var(--easing),opacity var(--duration) var(--easing);width:100%}.primary{background:hsl(var(--primary-strong));box-shadow:0 1px 2px #955b0440,0 4px 14px #d17f0559}.primary:hover{box-shadow:0 2px 4px #955b044d,0 6px 18px #d17f0573}.outline{align-items:center;background:hsl(var(--card));border:1px solid hsl(var(--line));border-radius:var(--radius-board);box-shadow:0 1px 2px #1f2c470a;color:hsl(var(--foreground));display:inline-flex;font-size:var(--text-sm);font-weight:var(--font-semibold);justify-content:center;min-height:var(--touch-target);padding:0 var(--space-4);text-decoration:none;transition:background var(--duration) var(--easing),border-color var(--duration) var(--easing),box-shadow var(--duration) var(--easing),transform var(--duration) var(--easing)}.outline:hover{background:hsl(var(--muted) / .7);box-shadow:0 2px 4px #1f2c470f}.outline:active{transform:scale(.98)}.is-submitting{opacity:.75}.is-submitting:before{animation:spin .8s linear infinite;border:2px solid hsl(var(--primary-foreground) / .4);border-radius:var(--radius-full);border-top-color:hsl(var(--primary-foreground));content:"";height:1rem;margin-right:var(--space-2);width:1rem}@keyframes spin{to{transform:rotate(360deg)}}.entry-status{text-transform:capitalize}.secondary{background:hsl(var(--card));border:1px solid hsl(var(--line));border-radius:var(--radius-board);box-shadow:0 1px 2px #1f2c470a;color:hsl(var(--foreground));font-size:var(--text-lg);font-weight:var(--font-semibold);min-height:var(--control-h-lg);transition:background var(--duration) var(--easing),border-color var(--duration) var(--easing),box-shadow var(--duration) var(--easing),transform var(--duration) var(--easing);width:100%}.secondary:hover{background:hsl(var(--muted) / .7);box-shadow:0 2px 4px #1f2c470f}.secondary:active{transform:scale(.98)}.danger{background:hsl(var(--destructive));box-shadow:0 1px 2px #9c161640,0 4px 14px #df20204d}.danger:hover{box-shadow:0 2px 4px #9c16164d,0 6px 18px #df202066}.primary:active,.danger:active{box-shadow:0 1px 2px #1f2c4733;transform:scale(.98)}.summary-card{background:hsl(var(--card));border:1px solid hsl(var(--line));border-radius:var(--radius-board);box-shadow:0 1px 3px #1f2c470d,0 8px 18px -6px #1f2c4714;display:flex;flex-direction:column;gap:var(--space-2);margin:0;padding:var(--space-4)}.summary-card .code{color:hsl(var(--attention));font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:var(--text-sm);font-weight:var(--font-semibold)}.summary-card .name{font-size:var(--text-lg);font-weight:var(--font-semibold)}.summary-card .meta{color:hsl(var(--muted-foreground));font-size:var(--text-sm)}.photo-label{align-items:center;background:hsl(var(--secondary));border:1.5px dashed hsl(var(--line));border-radius:var(--radius-board);color:hsl(var(--muted-foreground));display:flex;flex-direction:column;font-size:var(--text-sm);font-weight:var(--font-medium);gap:var(--space-2);min-height:7rem;justify-content:center;padding:var(--space-4);position:relative;text-align:center;transition:background var(--duration) var(--easing),border-color var(--duration) var(--easing)}.photo-label:hover{background:hsl(var(--muted) / .7);border-color:hsl(var(--primary) / .5)}.photo-label--filled{border-color:hsl(var(--primary));border-style:solid;color:hsl(var(--primary))}.photo-label svg{color:hsl(var(--attention));height:2rem;width:2rem}.photo-label:focus-within{border-color:hsl(var(--primary));border-style:solid;box-shadow:0 0 0 3px hsl(var(--primary) / .25)}.photo-label--compact{flex-direction:row;font-size:var(--text-xs);min-height:3.5rem;padding:var(--space-3)}.photo-label--compact svg{height:1.25rem;width:1.25rem}.photo-label input[type=file]{cursor:pointer;height:100%;top:0;right:0;bottom:0;left:0;min-height:0;opacity:0;position:absolute;width:100%}input[type=file]{background:hsl(var(--background));cursor:pointer;font-size:var(--text-sm);padding:var(--space-2)}form{display:flex;flex-direction:column;gap:var(--space-4)}fieldset{background:hsl(var(--card));border:1px solid hsl(var(--line));border-radius:var(--radius-board);box-shadow:0 1px 2px #1f2c470a;display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4)}legend{font-size:var(--text-lg);font-weight:var(--font-semibold);padding:0 var(--space-2)}fieldset label{align-items:center;display:flex;gap:var(--space-2)}input,select,textarea{background:hsl(var(--background));border:1px solid hsl(var(--input));border-radius:var(--radius-md);color:hsl(var(--foreground));font:var(--font-normal) var(--text-base) var(--font-sans);min-height:3rem;padding:0 var(--space-3);transition:border-color var(--duration) var(--easing),box-shadow var(--duration) var(--easing);width:100%}textarea{line-height:1.5;padding:var(--space-3)}input:focus-visible,select:focus-visible,textarea:focus-visible{border-color:hsl(var(--primary));box-shadow:0 0 0 3px hsl(var(--primary) / .25);outline:none}input::placeholder,textarea::placeholder{color:hsl(var(--muted-foreground) / .8)}input[type=checkbox],input[type=radio]{accent-color:hsl(var(--primary));height:1.25rem;min-height:0;width:1.25rem}.error{color:hsl(var(--destructive));font-size:var(--text-sm);text-align:center}.pin-error{align-items:center;background:hsl(var(--destructive) / .08);border:1px solid hsl(var(--destructive) / .25);border-radius:var(--radius);color:hsl(var(--destructive));display:flex;font-size:var(--text-sm);font-weight:var(--font-medium);gap:var(--space-2);justify-content:center;padding:var(--space-3) var(--space-4);text-align:left;width:min(24rem,100%)}.pin-error svg{flex-shrink:0;height:1.125rem;width:1.125rem}.menu{display:flex;flex-direction:column;gap:var(--space-3)}.menu-card{align-items:center;background:hsl(var(--card));border:1px solid hsl(var(--line));border-radius:var(--radius-board);box-shadow:0 1px 3px #1f2c470d,0 8px 18px -6px #1f2c4714;color:hsl(var(--card-foreground));display:flex;gap:var(--space-4);padding:var(--space-4);text-decoration:none;transition:transform var(--duration) var(--easing),border-color var(--duration) var(--easing),box-shadow var(--duration) var(--easing)}.menu-card:hover{border-color:hsl(var(--primary) / .6);box-shadow:0 2px 6px #1f2c4714,0 12px 24px -6px #1f2c471f}.menu-card:active{box-shadow:0 1px 2px #1f2c470a;transform:scale(.98)}.menu-card .m-icon{align-items:center;color:hsl(var(--attention));display:flex;flex-shrink:0}.menu-card .m-title{font-size:var(--text-lg);font-weight:var(--font-bold)}.menu-card .m-sub{color:hsl(var(--muted-foreground));font-size:var(--text-sm)}.menu-card--go{background:hsl(var(--success));border:none;box-shadow:0 2px 4px #0f703333,0 8px 20px -4px #16a24959;color:hsl(var(--success-foreground))}.menu-card--go:hover{box-shadow:0 4px 8px #0f703340,0 12px 24px -4px #16a24966}.menu-card--stop{background:hsl(var(--destructive));border:none;box-shadow:0 2px 4px #9c161633,0 8px 20px -4px #df202059;color:hsl(var(--destructive-foreground))}.menu-card--stop:hover{box-shadow:0 4px 8px #9c161640,0 12px 24px -4px #df202066}.menu-card--go .m-icon,.menu-card--stop .m-icon{color:inherit}.menu-card--go .m-sub,.menu-card--stop .m-sub{color:inherit;opacity:.85}.menu-card.disabled{opacity:.5;pointer-events:none}.menu-card .soon{background:hsl(var(--muted));border-radius:var(--radius-full);color:hsl(var(--muted-foreground));font-size:var(--text-xs);font-weight:var(--font-semibold);margin-left:auto;padding:var(--space-1) var(--space-2)}a{color:hsl(var(--primary))}.field-app:has(.pin-screen){align-items:center;display:flex;justify-content:center;padding:var(--space-4)}.pin-screen{align-items:center;background:hsl(var(--card));border:1px solid hsl(var(--line));border-radius:1.5rem;box-shadow:var(--shadow-frame);display:flex;flex-direction:column;gap:var(--space-4);justify-content:center;padding:var(--space-8) var(--space-6);width:min(24rem,100%)}@media(max-width:60rem){.field-app:has(.pin-screen){padding:0}.pin-screen{background:transparent;border:none;border-radius:0;box-shadow:none;min-height:100svh;width:100%}}.pin-screen form{align-items:center;display:flex;flex-direction:column;gap:var(--space-4);width:min(15rem,70vw)}.pin-hint{color:hsl(var(--muted-foreground));font-size:var(--text-sm);margin:0}.kiosk-badge{align-items:center;background:hsl(var(--primary) / .12);border:1px solid hsl(var(--primary) / .25);border-radius:var(--radius-full);color:hsl(var(--attention));display:flex;font-size:var(--text-xs);font-weight:var(--font-semibold);gap:var(--space-2);letter-spacing:.04em;margin:0;padding:var(--space-1) var(--space-3);text-transform:uppercase}.kiosk-badge svg{height:1rem;width:1rem}.pin-alt{background:none;border:0;color:hsl(var(--muted-foreground));cursor:pointer;font:var(--font-medium) var(--text-xs) var(--font-sans);min-height:var(--touch-target);text-decoration:underline;text-underline-offset:2px}.receipt{align-items:center;display:flex;flex-direction:column;gap:var(--space-2);text-align:center}.receipt__mark{color:hsl(var(--success));margin:0}.receipt__mark svg{height:3rem;width:3rem}.receipt__who{font-size:var(--text-lg);font-weight:var(--font-semibold);margin:0}.receipt__when{color:hsl(var(--muted-foreground));font-variant-numeric:tabular-nums;margin:0}.offline-picker{display:flex;flex-direction:column;gap:var(--space-2);width:min(20rem,85vw)}.offline-employee{background:hsl(var(--card));border:1px solid hsl(var(--line));border-radius:var(--radius-board);box-shadow:0 1px 2px #1f2c470a;cursor:pointer;display:grid;gap:var(--space-1);min-height:var(--touch-target);padding:var(--space-3);text-align:left}.offline-employee:disabled{cursor:default;opacity:.5}.offline-employee__name{font-size:var(--text-base);font-weight:var(--font-semibold)}.offline-employee__meta{color:hsl(var(--muted-foreground));font-size:var(--text-xs)}.pin-screen h1{font-size:var(--text-2xl);font-weight:var(--font-extrabold)}.pin-screen h2{color:hsl(var(--muted-foreground));font-size:var(--text-base);font-weight:var(--font-medium);margin:0}.pin-dots{display:flex;gap:var(--space-4)}.pin-dots span{background:hsl(var(--secondary));border-radius:var(--radius-full);height:2rem;transition:background var(--duration) var(--easing),transform var(--duration) var(--easing);width:2rem}.pin-dots span.filled{background:hsl(var(--primary));transform:scale(1.1)}.pin-dots.error span{background:hsl(var(--destructive))}.pin-pad{display:grid;gap:var(--space-3);grid-template-columns:repeat(3,1fr);max-width:min(15rem,70vw);width:100%}.pin-pad button{aspect-ratio:1;background:hsl(var(--pin-key));border:1px solid hsl(var(--line));border-radius:var(--radius-board);box-shadow:0 1px 3px #1f2c470f,0 4px 8px -2px #1f2c470d;color:hsl(var(--pin-key-foreground));font-size:1.75rem;font-weight:var(--font-semibold);transition:transform var(--duration) var(--easing),background var(--duration) var(--easing),box-shadow var(--duration) var(--easing)}.pin-pad button:active{background:hsl(var(--pin-key-active));box-shadow:0 1px 2px #1f2c470a;transform:scale(.96)}.pin-pad .pin-del{align-items:center;background:none;border:none;box-shadow:none;color:hsl(var(--muted-foreground));display:flex;justify-content:center}.pin-pad .pin-del svg{height:1.5rem;width:1.5rem}.logo{background:url(/assets/logo-IvceKgX4.svg) center / contain no-repeat;cursor:pointer;display:block;height:5rem;max-width:82vw;width:13rem}.badge-attention{background:hsl(var(--attention-surface));border-radius:var(--radius-full);color:hsl(var(--attention));font-size:var(--text-xs);font-weight:var(--font-semibold);margin-left:auto;padding:var(--space-1) var(--space-2);white-space:nowrap}.day-head{align-items:center;display:flex;gap:var(--space-3);justify-content:space-between}.tile.entry{align-items:flex-start;flex-direction:column}.entry-reason{font-size:var(--text-xs);margin:0;text-align:left}.sign-all{background:hsl(var(--card));border:1px solid hsl(var(--line));border-radius:var(--radius-board);box-shadow:0 1px 3px #1f2c470d,0 8px 18px -6px #1f2c4714;color:hsl(var(--foreground));display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4);width:100%}.empty{color:hsl(var(--muted-foreground));font-size:var(--text-sm);padding:var(--space-8) 0;text-align:center}.notice{background:hsl(var(--success) / .12);border-radius:var(--radius);color:hsl(var(--success));font-size:var(--text-sm);padding:var(--space-3) var(--space-4)}.pto-balances{display:grid;gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(11rem,1fr))}.pto-balance{background:hsl(var(--card));border:1px solid hsl(var(--line));border-radius:var(--radius-board);box-shadow:0 1px 2px #1f2c470a;display:flex;flex-direction:column;gap:var(--space-1);min-width:0;padding:var(--space-4)}.pto-leave{color:hsl(var(--primary));font-size:var(--text-xs);font-weight:var(--font-semibold);letter-spacing:.05em;text-transform:uppercase}.pto-hours{font-size:var(--text-3xl);font-weight:var(--font-bold);line-height:1.1}.pto-unit{color:hsl(var(--muted-foreground));font-size:var(--text-sm)}.pto-detail{color:hsl(var(--muted-foreground));display:grid;font-size:var(--text-xs);gap:0 var(--space-2);grid-template-columns:1fr auto}.pto-detail dt{min-width:0}.pto-detail dd{font-variant-numeric:tabular-nums;font-weight:var(--font-semibold);margin:0;text-align:right}.pto-caveat{color:hsl(var(--attention));font-size:var(--text-xs)}.pto-field{display:grid;gap:var(--space-1)}.pto-field[hidden]{display:none}.hour-picks{display:flex;flex-wrap:wrap;gap:var(--space-2)}.hour-picks button{flex:1 1 8rem}.card-form{background:hsl(var(--card));border:1px solid hsl(var(--line));border-radius:var(--radius-board);box-shadow:0 1px 3px #1f2c470d,0 8px 18px -6px #1f2c4714;display:flex;flex-direction:column;gap:var(--space-3);padding:var(--space-4)}.pto-request{background:hsl(var(--card));border:1px solid hsl(var(--line));border-radius:var(--radius-board);box-shadow:0 1px 3px #1f2c470d,0 8px 18px -6px #1f2c4714;display:flex;flex-direction:column;gap:var(--space-2);padding:var(--space-4)}.pto-request-head{align-items:center;display:flex;gap:var(--space-3);justify-content:space-between}.pto-request-meta{color:hsl(var(--muted-foreground));font-size:var(--text-sm)}.pto-review-note{color:hsl(var(--muted-foreground));font-size:var(--text-xs);font-style:italic}.pto-status{border-radius:var(--radius-full);font-size:var(--text-xs);font-weight:var(--font-semibold);padding:var(--space-1) var(--space-2);white-space:nowrap}.pto-status.pending,.pto-status.pending_foreman,.pto-status.pending_superintendent,.pto-status.pending_admin{background:hsl(var(--attention-surface));color:hsl(var(--attention))}.pto-status.approved{background:hsl(var(--success) / .15);color:hsl(var(--success))}.pto-status.cancelled,.pto-status.denied,.pto-status.declined{background:hsl(var(--destructive) / .15);color:hsl(var(--destructive))}.sign-offline{flex-basis:100%}.safety-form{display:grid;gap:var(--space-4)}.safety-section{background:hsl(var(--card));border:1px solid hsl(var(--line));border-radius:var(--radius-board);box-shadow:0 1px 2px #1f2c470a;display:grid;gap:var(--space-3);padding:var(--space-4)}.safety-section legend{font-size:var(--text-lg);font-weight:var(--font-semibold);padding:0 var(--space-2)}.section-help{margin:0}.field{display:grid;gap:var(--space-1)}.field-label{font-size:var(--text-sm);font-weight:var(--font-semibold);margin:0}.field-help{color:hsl(var(--muted-foreground));font-size:var(--text-xs);margin:0}.safety-form input[type=date],.safety-form input[type=time],.safety-form input[type=number],.safety-form input[type=text],.safety-form input[type=password],.safety-form select,.safety-form textarea{min-height:3rem;width:100%}.field .opt,.field-label .opt{background:hsl(var(--muted));border-radius:var(--radius-full);color:hsl(var(--muted-foreground));font-size:var(--text-xs);font-weight:var(--font-semibold);margin-left:var(--space-1);padding:0 var(--space-2);white-space:nowrap}.check-group{display:grid;gap:var(--space-2)}.check,.radio{align-items:flex-start;display:flex;font-size:var(--text-sm);gap:var(--space-2);line-height:1.4;min-height:var(--touch-target)}.check input,.radio input{flex-shrink:0;height:1.25rem;margin-top:.15rem;width:1.25rem}.yesno{display:flex;gap:var(--space-4)}.matrix{display:grid;gap:var(--space-3)}.matrix-row{border-top:1px solid hsl(var(--border));display:grid;gap:var(--space-2);padding-top:var(--space-3)}.matrix-item{font-size:var(--text-sm);margin:0}.matrix-verdicts{display:flex;gap:var(--space-4)}.matrix-comment{width:100%}.matrix-row.flagged{background:hsl(var(--destructive) / .06);border-left:3px solid hsl(var(--destructive));padding-left:var(--space-3)}.matrix-score{background:hsl(var(--muted));border-radius:var(--radius);font-size:var(--text-sm);font-weight:600;margin:0;padding:var(--space-2) var(--space-3);position:sticky;top:0;z-index:1}.matrix-photos{display:grid;gap:var(--space-1)}.name-list{display:grid;gap:var(--space-2)}.add-name{justify-self:start}.photo-status{color:hsl(var(--muted-foreground));font-size:var(--text-xs);margin:0}.form-tile .meta{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:1;overflow:hidden}.ask-types{display:flex;flex-wrap:wrap;gap:var(--space-2)}.ask-type{align-items:center;background:hsl(var(--card));border:1px solid hsl(var(--line));border-radius:var(--radius-board);box-shadow:0 1px 2px #1f2c470a;color:hsl(var(--foreground));display:flex;font-size:var(--text-sm);font-weight:var(--font-semibold);justify-content:center;min-height:var(--touch-target);padding:0 var(--space-3);text-decoration:none}.ask-type--on{background:hsl(var(--primary));border-color:hsl(var(--primary));color:hsl(var(--primary-foreground))}.ask-head{font-size:var(--text-base);font-weight:var(--font-bold)}.filed-answers{display:grid;gap:var(--space-1);margin:0}.filed-answers dt{color:hsl(var(--muted-foreground));font-size:var(--text-xs);font-weight:var(--font-semibold)}.filed-answers dd{border-bottom:1px solid hsl(var(--line-soft));margin:0 0 var(--space-2);padding-bottom:var(--space-2)}.filed-answers ul{margin:0;padding-left:var(--space-4)}.sub-head{font-size:var(--text-lg);font-weight:var(--font-bold)}@media(min-width:40rem){.matrix-row{align-items:center;grid-template-columns:1fr auto}.matrix-comment,.matrix-photos{grid-column:1 / -1}}.row-table{display:grid;gap:var(--space-3)}.row-entry{border-top:1px solid hsl(var(--border));display:grid;gap:var(--space-2);padding-top:var(--space-3)}.row-cell{display:grid;gap:var(--space-1)}.row-cell-label{color:hsl(var(--muted-foreground));font-size:var(--text-xs);font-weight:var(--font-semibold)}.add-row{justify-self:start}@media(min-width:46rem){.row-entry{align-items:end;grid-auto-columns:1fr;grid-auto-flow:column}}.broadcast{border-left:4px solid hsl(var(--muted-foreground));border-radius:var(--radius-board);box-shadow:0 1px 3px #1f2c470d,0 8px 18px -6px #1f2c4714;font-size:var(--text-sm);margin:0;padding:var(--space-3)}.broadcast-notice{background:hsl(var(--muted))}.broadcast-safety{background:hsl(var(--attention-surface));border-left-color:hsl(var(--attention-border));font-weight:var(--font-semibold)}.broadcast-urgent{background:hsl(var(--destructive) / .12);border-left-color:hsl(var(--destructive));font-weight:var(--font-semibold)}.broadcast svg{height:1rem;vertical-align:-.15rem;width:1rem}.morning-prompt{background:hsl(var(--card));border:1px solid hsl(var(--line));border-left:4px solid hsl(var(--primary));border-radius:var(--radius-board);box-shadow:0 1px 3px #1f2c470d,0 8px 18px -6px #1f2c4714;display:flex;flex-direction:column;gap:var(--space-2);margin:0;padding:var(--space-4)}.morning-greeting{align-items:center;display:flex;font-size:var(--text-lg);font-weight:var(--font-bold);gap:var(--space-2);margin:0}.morning-greeting svg{color:hsl(var(--primary));height:1.25rem;width:1.25rem}.morning-body{color:hsl(var(--muted-foreground));font-size:var(--text-sm);margin:0}.morning-actions{display:flex;flex-wrap:wrap;gap:var(--space-2)}.morning-actions a,.morning-actions button{align-items:center;border-radius:var(--radius-board);display:inline-flex;font-size:var(--text-sm);font-weight:var(--font-semibold);justify-content:center;min-height:2.5rem;padding:var(--space-2) var(--space-4);text-decoration:none;width:auto}.morning-actions a.primary{background:hsl(var(--primary-strong));color:hsl(var(--primary-foreground))}.claim-form label{color:hsl(var(--muted-foreground));display:flex;flex-direction:column;font-size:var(--text-sm);font-weight:var(--font-medium);gap:var(--space-1)}.claim-form input,.claim-form select{min-height:3rem}.claim-decision{display:flex;flex-direction:row;flex-wrap:wrap;gap:var(--space-2)}.claim-decision input{flex:1 1 12rem;min-height:3rem}.claim-decision button{flex:1 1 8rem;min-height:2.75rem;width:auto}.equipment-actions{display:flex;flex-direction:row;flex-wrap:wrap;gap:var(--space-2)}.equipment-actions input,.equipment-actions label,.equipment-actions select{flex:1 1 12rem}.equipment-actions button{flex:1 1 8rem;min-height:var(--touch-target);width:auto}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:1ms!important;animation-iteration-count:1!important;scroll-behavior:auto!important;transition-duration:1ms!important}}.crew-row{align-items:center;background:hsl(var(--card));border:1px solid hsl(var(--line));border-radius:var(--radius-board);box-shadow:0 1px 2px #1f2c470a;cursor:pointer;display:flex;gap:var(--space-3);min-height:var(--touch-target);padding:var(--space-3);transition:border-color var(--duration) var(--easing),box-shadow var(--duration) var(--easing)}.crew-row:hover{border-color:hsl(var(--primary) / .5);box-shadow:0 2px 4px #1f2c4714}.crew-row--busy{background:hsl(var(--muted));color:hsl(var(--muted-foreground));cursor:not-allowed}.crew-row__who{display:flex;flex-direction:column;gap:var(--space-1)}.crew-row__name{font-size:var(--text-base);font-weight:var(--font-medium)}.crew-row__meta{color:hsl(var(--muted-foreground));font-size:var(--text-sm)}.crew-select-all{align-self:flex-start;background:hsl(var(--card));border:1px solid hsl(var(--line));border-radius:var(--radius-board);box-shadow:0 1px 2px #1f2c470a;color:hsl(var(--foreground));font-size:var(--text-sm);font-weight:var(--font-medium);min-height:var(--touch-target);padding:0 var(--space-4);width:auto}.crew-yesterday{align-items:center;background:hsl(var(--card));border:1px solid hsl(var(--primary) / .5);border-radius:var(--radius);color:hsl(var(--foreground));display:flex;font-size:var(--text-base);font-weight:var(--font-semibold);gap:var(--space-3);min-height:var(--touch-target);padding:0 var(--space-4);text-decoration:none}.crew-yesterday svg{color:hsl(var(--primary));flex-shrink:0;height:1.25rem;width:1.25rem}.crew-note{color:hsl(var(--muted-foreground));font-size:var(--text-sm);margin:0}.crew-group{color:hsl(var(--muted-foreground));font-size:var(--text-sm);font-weight:var(--font-semibold);letter-spacing:.04em;margin:var(--space-2) 0 0;text-transform:uppercase}.crew-drop{align-items:center;color:hsl(var(--muted-foreground));display:flex;justify-content:center;margin-left:auto;min-height:var(--touch-target);min-width:var(--touch-target);text-decoration:none}.crew-drop svg{height:1.25rem;width:1.25rem}.crew-add{align-items:center;background:hsl(var(--card));border:1px dashed hsl(var(--border));border-radius:var(--radius);color:hsl(var(--foreground));display:flex;font-size:var(--text-base);font-weight:var(--font-semibold);gap:var(--space-3);justify-content:center;min-height:var(--touch-target);padding:0 var(--space-4);text-decoration:none}.crew-add svg{color:hsl(var(--primary));flex-shrink:0;height:1.25rem;width:1.25rem}.result-list{display:flex;flex-direction:column;gap:var(--space-2);list-style:none;margin:0;padding:0}.result-row{align-items:center;background:hsl(var(--card));border:1px solid hsl(var(--line));border-radius:var(--radius-board);box-shadow:0 1px 2px #1f2c470a;display:flex;gap:var(--space-3);padding:var(--space-3)}.result-row svg{color:hsl(var(--success));flex-shrink:0;height:1.25rem;width:1.25rem}.result-row--skipped{background:hsl(var(--attention-surface));border-color:hsl(var(--attention-border))}.result-row--skipped svg{color:hsl(var(--attention))}.result-row__name{font-weight:var(--font-medium)}.result-row__note{color:hsl(var(--muted-foreground));font-size:var(--text-sm);margin-left:auto;text-align:right}.active-crew{background:hsl(var(--card));border:1px solid hsl(var(--line));border-radius:var(--radius-board);box-shadow:0 1px 3px #1f2c470d,0 8px 18px -6px #1f2c4714;display:flex;flex-direction:column;gap:var(--space-3);margin:0;padding:var(--space-4)}.active-crew__head{align-items:center;display:flex;font-size:var(--text-sm);font-weight:var(--font-semibold);gap:var(--space-2);margin:0;text-transform:uppercase}.active-crew__head svg{color:hsl(var(--attention));height:1rem;width:1rem}.active-crew__list{display:flex;flex-direction:column;gap:var(--space-2);list-style:none;margin:0;padding:0}.active-crew__row{align-items:center;background:hsl(var(--secondary));border-radius:var(--radius);display:flex;gap:var(--space-3);padding:var(--space-2) var(--space-3)}.active-crew__who{display:flex;flex-direction:column;min-width:0}.active-crew__name{font-size:var(--text-sm);font-weight:var(--font-medium)}.active-crew__job{color:hsl(var(--muted-foreground));font-size:var(--text-xs);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.active-crew__since{color:hsl(var(--muted-foreground));font-size:var(--text-xs);font-variant-numeric:tabular-nums;margin-left:auto;white-space:nowrap}.active-crew__more{color:hsl(var(--muted-foreground));font-size:var(--text-xs);margin:0}.broadcast-weather{background:#094cb91a;border-left-color:#094cb9;font-weight:var(--font-semibold)}.broadcast__dismiss{background:none;border:none;color:inherit;float:right;font-size:var(--text-lg);line-height:1;margin-left:var(--space-2);min-height:var(--touch-target);min-width:var(--touch-target);padding:0;width:auto}.hours-grid{display:grid;gap:var(--space-2);grid-template-columns:repeat(3,1fr)}.hours-tile{background:hsl(var(--card));border:1px solid hsl(var(--line));border-radius:var(--radius-board);box-shadow:0 1px 2px #1f2c470a;display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-3);text-align:center}.hours-label{color:hsl(var(--muted-foreground));font-size:var(--text-xs);font-weight:var(--font-semibold);text-transform:uppercase}.hours-value{font-size:var(--text-lg);font-variant-numeric:tabular-nums;font-weight:var(--font-bold)}.hours-value--ot{color:hsl(var(--attention))}.hours-value--dt{color:hsl(var(--destructive))}.quick-start{background:hsl(var(--attention-surface));border:2px solid hsl(var(--attention-border));border-radius:var(--radius);color:hsl(var(--foreground));display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-4);text-decoration:none}.quick-start:active{transform:scale(.98)}.quick-start__eyebrow{color:hsl(var(--attention));font-size:var(--text-xs);font-weight:var(--font-bold);letter-spacing:.05em;text-transform:uppercase}.quick-start .code{color:hsl(var(--attention));font-family:ui-monospace,SF Mono,Menlo,monospace;font-size:var(--text-sm);font-weight:var(--font-semibold)}.quick-start .name{font-size:var(--text-lg);font-weight:var(--font-semibold)}.quick-start .meta{color:hsl(var(--muted-foreground));font-size:var(--text-sm)}.wage-badge{color:hsl(var(--attention));font-size:var(--text-xs);font-weight:var(--font-semibold)}.camera-overlay{align-items:center;background:#000;display:flex;flex-direction:column;top:0;right:0;bottom:0;left:0;justify-content:center;position:fixed;z-index:50}.camera-preview{height:100%;left:0;object-fit:cover;position:absolute;top:0;width:100%}.camera-count{color:#fff;font-size:4rem;font-weight:var(--font-bold);margin:0;position:relative;text-shadow:0 2px 12px rgb(0 0 0 / .6)}.camera-cancel{background:hsl(var(--background));bottom:var(--space-8);position:absolute}.tag-control{display:flex;flex-direction:column;gap:var(--space-2);margin-bottom:var(--space-4)}.tag-list{display:flex;flex-wrap:wrap;gap:var(--space-2);list-style:none;margin:0;padding:0}.tag{align-items:center;background:hsl(var(--secondary));border-radius:var(--radius);display:inline-flex;font-size:var(--text-sm);font-weight:var(--font-medium);gap:var(--space-2);padding:var(--space-2) var(--space-3)}.check-group--columns-2{grid-template-columns:repeat(2,minmax(0,1fr))}.check-group--columns-3{grid-template-columns:repeat(3,minmax(0,1fr))}.row-entry--w3-6-1-1{grid-auto-columns:3fr 6fr 1fr 1fr}.row-entry--w3-6-2{grid-auto-columns:3fr 6fr 2fr}.field--inline{align-items:baseline;display:flex;flex-wrap:wrap;gap:var(--space-2) var(--space-4);justify-content:space-between}.yesno--tight{display:flex;gap:var(--space-3)}.job-detail{background:hsl(var(--muted));border-radius:var(--radius);color:hsl(var(--muted-foreground));font-size:var(--text-sm);margin:0;min-height:var(--touch-target);padding:var(--space-3)}.job-equipment{background:hsl(var(--muted));border-radius:var(--radius);color:hsl(var(--muted-foreground));display:grid;font-size:var(--text-sm);gap:var(--space-1);list-style:none;margin:0;min-height:var(--touch-target);padding:var(--space-3)}.still-on{background:hsl(var(--muted));border-radius:var(--radius);display:grid;gap:var(--space-2);padding:var(--space-3)}.still-on__ask{font-size:var(--text-lg);font-weight:var(--font-semibold);margin:0}.still-on__answers{display:flex;flex-wrap:wrap;gap:var(--space-2);margin:0}.progress-filed{display:flex;flex-direction:column;gap:var(--space-2);list-style:none;margin:0;padding:0}.progress-filed__row{background:hsl(var(--card));border:1px solid hsl(var(--line));border-radius:var(--radius-board);box-shadow:0 1px 2px #1f2c470a;display:grid;gap:var(--space-1);padding:var(--space-3)}.progress-filed__job{color:hsl(var(--primary));font-family:ui-monospace,SF Mono,Menlo,monospace;font-weight:var(--font-semibold)}.progress-filed__note{overflow-wrap:anywhere}.progress-filed__when{color:hsl(var(--muted-foreground));font-size:var(--text-sm);font-variant-numeric:tabular-nums}
