*,:before,:after{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }::backdrop{--tw-border-spacing-x: 0;--tw-border-spacing-y: 0;--tw-translate-x: 0;--tw-translate-y: 0;--tw-rotate: 0;--tw-skew-x: 0;--tw-skew-y: 0;--tw-scale-x: 1;--tw-scale-y: 1;--tw-pan-x: ;--tw-pan-y: ;--tw-pinch-zoom: ;--tw-scroll-snap-strictness: proximity;--tw-gradient-from-position: ;--tw-gradient-via-position: ;--tw-gradient-to-position: ;--tw-ordinal: ;--tw-slashed-zero: ;--tw-numeric-figure: ;--tw-numeric-spacing: ;--tw-numeric-fraction: ;--tw-ring-inset: ;--tw-ring-offset-width: 0px;--tw-ring-offset-color: #fff;--tw-ring-color: rgb(59 130 246 / .5);--tw-ring-offset-shadow: 0 0 #0000;--tw-ring-shadow: 0 0 #0000;--tw-shadow: 0 0 #0000;--tw-shadow-colored: 0 0 #0000;--tw-blur: ;--tw-brightness: ;--tw-contrast: ;--tw-grayscale: ;--tw-hue-rotate: ;--tw-invert: ;--tw-saturate: ;--tw-sepia: ;--tw-drop-shadow: ;--tw-backdrop-blur: ;--tw-backdrop-brightness: ;--tw-backdrop-contrast: ;--tw-backdrop-grayscale: ;--tw-backdrop-hue-rotate: ;--tw-backdrop-invert: ;--tw-backdrop-opacity: ;--tw-backdrop-saturate: ;--tw-backdrop-sepia: ;--tw-contain-size: ;--tw-contain-layout: ;--tw-contain-paint: ;--tw-contain-style: }*,:before,:after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}:before,:after{--tw-content: ""}html,:host{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;-o-tab-size:4;tab-size:4;font-family:ui-sans-serif,system-ui,sans-serif,"Apple Color Emoji","Segoe UI Emoji",Segoe UI Symbol,"Noto Color Emoji";font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{margin:0;line-height:inherit}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;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace;font-feature-settings:normal;font-variation-settings:normal;font-size:1em}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}button,input,optgroup,select,textarea{font-family:inherit;font-feature-settings:inherit;font-variation-settings:inherit;font-size:100%;font-weight:inherit;line-height:inherit;letter-spacing:inherit;color:inherit;margin:0;padding:0}button,select{text-transform:none}button,input:where([type=button]),input:where([type=reset]),input:where([type=submit]){-webkit-appearance:button;background-color:transparent;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button,::-webkit-outer-spin-button{height:auto}[type=search]{-webkit-appearance:textfield;outline-offset:-2px}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-file-upload-button{-webkit-appearance:button;font:inherit}summary{display:list-item}blockquote,dl,dd,h1,h2,h3,h4,h5,h6,hr,figure,p,pre{margin:0}fieldset{margin:0;padding:0}legend{padding:0}ol,ul,menu{list-style:none;margin:0;padding:0}dialog{padding:0}input::-moz-placeholder,textarea::-moz-placeholder{opacity:1;color:#9ca3af}input::placeholder,textarea::placeholder{opacity:1;color:#9ca3af}button,[role=button]{cursor:pointer}:disabled{cursor:default}img,svg,video,canvas,audio,iframe,embed,object{display:block;vertical-align:middle}img,video{max-width:100%;height:auto}[hidden]{display:none}*{box-sizing:border-box}html{min-width:280px;background:var(--page)}body{margin:0;color:var(--ink);background:var(--page);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:16px;line-height:1.5;-webkit-text-size-adjust:100%}h1,h2,h3,p{margin:0}h1{font-size:1.75rem;font-weight:750;line-height:1.2;letter-spacing:-.035em}h2{font-size:1.15rem;font-weight:700;line-height:1.35;letter-spacing:-.015em}h3{font-size:1rem;font-weight:700}a{color:inherit;text-underline-offset:4px;text-decoration-thickness:1px}button,input,select,textarea{font:inherit}button,summary{touch-action:manipulation}button{min-height:44px;padding:.65rem 1rem;border:1px solid var(--control-line);border-radius:10px;background:var(--surface);color:var(--ink);font-weight:650;line-height:1.3;cursor:pointer}button:hover:not(:disabled){filter:brightness(.96)}button:disabled{cursor:not-allowed;color:#5c625e;background:#e7e8e8;border-color:#a2a79f;opacity:1}:is(input:not([type=checkbox]),select,textarea){min-width:0;max-width:100%;min-height:48px;border:1px solid var(--control-line);border-radius:10px;padding:.75rem;background:var(--surface);color:var(--ink)}input::-moz-placeholder,textarea::-moz-placeholder{color:#666c66;opacity:1}input::placeholder,textarea::placeholder{color:#666c66;opacity:1}textarea{resize:vertical}:is(input,textarea,select):disabled{background:var(--neutral);color:var(--muted);cursor:not-allowed}input[type=checkbox]{width:20px;height:20px;accent-color:var(--ink);vertical-align:middle;flex-shrink:0}label{font-size:.9rem;font-weight:600}:focus-visible{outline:3px solid var(--ink);outline-offset:3px}summary{cursor:pointer;min-height:44px;padding-block:.65rem;font-weight:600}pre{max-width:100%;overflow:auto;border:1px solid var(--line);border-radius:10px;padding:.75rem;background:var(--page);font-size:.75rem;line-height:1.6}canvas{max-width:100%;height:auto}.visible{visibility:visible}.fixed{position:fixed}.isolate{isolation:isolate}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:.75rem}.mb-4{margin-bottom:1rem}.mb-5{margin-bottom:1.25rem}.ml-2{margin-left:.5rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.mt-5{margin-top:1.25rem}.block{display:block}.contents{display:contents}.min-h-\[144px\]{min-height:144px}.w-full{width:100%}.min-w-0{min-width:0px}.flex-1{flex:1 1 0%}.space-y-2>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.5rem * var(--tw-space-y-reverse))}.space-y-3>:not([hidden])~:not([hidden]){--tw-space-y-reverse: 0;margin-top:calc(.75rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(.75rem * var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.overflow-x-auto{overflow-x:auto}.whitespace-pre-wrap{white-space:pre-wrap}.break-all{word-break:break-all}.border-t{border-top-width:1px}.pt-2{padding-top:.5rem}.text-center{text-align:center}.font-mono{font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.text-sm{font-size:.875rem;line-height:1.25rem}.font-medium{font-weight:500}.font-semibold{font-weight:600}.underline{text-decoration-line:underline}.filter{filter:var(--tw-blur) var(--tw-brightness) var(--tw-contrast) var(--tw-grayscale) var(--tw-hue-rotate) var(--tw-invert) var(--tw-saturate) var(--tw-sepia) var(--tw-drop-shadow)}:root{color-scheme:light;--page: #f7f7f3;--surface: #ffffff;--ink: #202326;--muted: #5c625e;--line: #d9dcd5;--control-line: #81877f;--signal: #f3cf22;--signal-edge: #85700c;--neutral: #e7e8e8;--success: #23834f;--success-soft: #edf7ef;--danger: #a32e2e;--danger-soft: #fff1ef;--radius: 14px}.app-header{border-bottom:1px solid var(--line);background:var(--page)}.header-row{display:flex;align-items:flex-start;gap:1rem;max-width:1040px;margin:auto;padding:.8rem 1.25rem .35rem}.brand{display:flex;gap:.5rem;align-items:center;flex-shrink:0;min-height:32px;font-size:1.15rem;font-weight:800;letter-spacing:-.04em}.brand-mark{display:grid;place-items:center;width:28px;height:28px;border-radius:7px;background:var(--signal)}.brand-mark svg{width:20px;height:20px}.sync-status{min-width:0;flex:1;font-size:.78rem;line-height:1.5;text-align:right;overflow-wrap:anywhere}.sync-status .sync-main{display:inline}.sync-status button{min-height:44px;padding:.25rem .5rem;margin-left:.4rem;font-size:.78rem;background:transparent;border-color:transparent;text-decoration:underline}.sync-status .sync-time{display:block;font-size:.7rem;color:var(--muted)}.sync-status p{text-align:left;margin-top:.35rem}.app-notices{max-width:1040px;margin:auto;padding:0 1.25rem .25rem;font-size:.78rem;color:var(--muted)}.app-notices:empty{padding:0}.app-notices>span{display:inline-block;margin-right:1rem}.app-notices>details{display:inline-block;margin-right:1rem;vertical-align:top}.app-notices>details[open]{display:block}.app-notices summary{min-height:44px;padding:.4rem 0}.app-notices button{font-size:.8rem;padding:.35rem .65rem;margin:.2rem}.app-notices p{margin-block:.35rem}.tester-nav{max-width:1040px;margin:auto;padding:.5rem 1.25rem;font-size:.8rem}.skip-link{position:fixed;top:-100px;left:1rem;z-index:10;padding:.75rem;background:var(--surface);border:2px solid var(--ink);border-radius:8px}.skip-link:focus{top:.5rem}.page{width:100%;max-width:1040px;margin:auto;padding:2rem 1.25rem 3rem}.page--narrow{max-width:520px}.page--auth{max-width:440px;padding-top:2.5rem}.page-heading{margin-bottom:1.5rem}.page-heading p{margin-top:.5rem;color:var(--muted)}.page-title-row{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:1.25rem}.eyebrow{color:var(--muted);font-size:.7rem;font-weight:750;text-transform:uppercase;letter-spacing:.11em}.muted{color:var(--muted)}.small{font-size:.8rem}.stack{display:grid;gap:1rem}.field{display:grid;gap:.4rem}.field+.field{margin-top:1rem}.field-row{display:flex;gap:.5rem;align-items:stretch}.field-row>input{flex:1;width:0}.button-primary{background:var(--signal);border-color:var(--signal-edge);color:var(--ink)}.button-secondary{background:var(--neutral)}.button-quiet{background:transparent}.button-wide{width:100%}.button-row{display:flex;flex-wrap:wrap;gap:.65rem;align-items:center}.form-actions{margin-top:1.5rem}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:1.25rem}.notice{border:1px solid var(--line);border-radius:10px;padding:.75rem 1rem;font-size:.88rem;margin-block:1rem;background:var(--surface);overflow-wrap:anywhere}.notice--error,.error{color:var(--danger)}.notice--error{border-color:#d99086;background:var(--danger-soft)}.notice--success{color:#17673c;border-color:#8caf98;background:var(--success-soft)}.project-tile{padding:1rem 1.15rem;border:1px solid var(--line);border-radius:var(--radius);background:var(--surface)}.project-tile h1{font-size:1.2rem;line-height:1.35;letter-spacing:-.02em;margin-top:.25rem;overflow-wrap:anywhere}.project-tile .project-time{margin-top:.55rem;font-size:.72rem;line-height:1.5;color:var(--muted)}.project-address{margin-top:.5rem;font-size:.85rem;overflow-wrap:anywhere}.clock-heading{margin:1.5rem 0 .8rem}.clock-heading h2{font-size:1rem}.clock-actions{display:flex;flex-direction:column;gap:.75rem}.clock-action{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;min-height:70px;border:1px solid var(--control-line);border-radius:var(--radius);padding:1.05rem 1.25rem;background:var(--neutral);text-align:left}.clock-action .action-name{font-size:1.75rem;line-height:1;font-weight:750;letter-spacing:-.04em}.clock-action .action-hint{font-size:.78rem;font-weight:600}.clock-action.is-primary{min-height:104px;background:var(--signal);border-color:var(--signal-edge)}.clock-action.is-primary .action-name{font-size:2.8rem;font-weight:800}.clock-action:disabled{background:var(--neutral);border-color:#a2a79f;color:var(--muted)}.clock-notes{margin-top:1.5rem}.clock-notes label{display:block;margin-bottom:.5rem}.clock-notes textarea{width:100%;min-height:78px}.preset-row{display:flex;flex-wrap:wrap;gap:.4rem;margin-top:.6rem}.preset-row button{padding:.5rem .75rem;font-size:.8rem;background:transparent}.camera-window{position:relative;display:grid;place-items:center;aspect-ratio:1.22;overflow:hidden;background:var(--ink);border-radius:var(--radius);color:#fff}.camera-window video{width:100%;height:100%;position:absolute;-o-object-fit:cover;object-fit:cover}.camera-idle{position:absolute;inset:0;display:flex;flex-direction:column;justify-content:center;align-items:center;gap:1rem;padding:1.5rem}.scan-brackets{width:96px;height:72px;position:relative;border-left:2px solid #f7f7f3;border-right:2px solid #f7f7f3;border-radius:10px}.scan-brackets:before,.scan-brackets:after{content:"";position:absolute;width:24px;height:2px;background:#f7f7f3;left:0}.scan-brackets:before{top:0}.scan-brackets:after{bottom:0}.camera-idle select{color:var(--ink);max-width:100%}.camera-window :focus-visible{outline-color:#fff}.scan-stop{width:100%;margin-top:.75rem}.manual-fallback{margin-top:1.5rem}.manual-fallback>p{font-size:.85rem;color:var(--muted);margin-top:.4rem}.admin-page .panel{max-width:800px}.filter-grid{display:grid;grid-template-columns:1fr 1fr;gap:1.25rem}.filter-grid :is(input,select){width:100%}.qr-preview{display:grid;place-items:center;padding:1rem;background:#fff;border:1px solid var(--line);border-radius:12px;margin-block:1.25rem}.tester-page{max-width:760px;font-size:.95rem}.tester-page>*+*{margin-top:1rem}.tester-page :is(fieldset,article,section[aria-label="Report preview"]){padding:1.15rem;border:1px solid var(--line);background:#fff;border-radius:var(--radius);min-width:0}.tester-page fieldset legend{padding:0 .35rem;font-weight:700}.tester-page label{display:block;margin-top:.75rem}.tester-page label:has(input[type=checkbox]){padding-block:.5rem;line-height:1.65}.tester-page :is(textarea,input:not([type=checkbox]),select){display:block;width:100%;margin-top:.35rem}.tester-page :is(p,code){overflow-wrap:anywhere}.tester-page pre{white-space:pre-wrap;overflow-wrap:anywhere}.tester-page [aria-label="Report submission"]{border-top:1px solid var(--line);padding-top:1rem;margin-top:1rem}.tester-page [role=alert]{color:var(--danger)}@media (max-width: 480px){.header-row{padding-inline:1rem;gap:.5rem}.app-notices{padding-inline:1rem}.brand{font-size:1.05rem;gap:.4rem}.sync-status{font-size:.72rem}.page{padding:1.5rem 1rem 2rem}.page--auth{padding-top:2rem}.filter-grid{grid-template-columns:1fr}.panel{padding:1rem}}@media (prefers-reduced-motion: reduce){*,*:before,*:after{scroll-behavior:auto!important;animation:none!important;transition:none!important}}@media (forced-colors: active){button{border:2px solid ButtonText}.clock-action.is-primary{outline:2px solid Highlight}.brand-mark{border:1px solid CanvasText}}@media print{.app-header,.tester-nav,.skip-link{display:none}.page{padding:0}.qr-preview{border:0}}.admin-page--qr .panel{max-width:560px;margin-inline:auto}.auth-form>input{display:block}.admin-page>.panel{margin-inline:auto}@media (min-width: 768px){.md\:col-span-1{grid-column:span 1 / span 1}}
