@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(../media/41e95f694c5c4549-s.2b_sldcwg6mn_.woff2)format("woff2");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(../media/6c55a692938ebbbc-s.1emuuracu50qd.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-weight:400;font-display:swap;src:url(../media/a218039a3287bcfd-s.p.43zbiuwnnoiok.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(../media/bdc7e24a509eb931-s.0ynx40_3oa9rk.woff2)format("woff2");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(../media/0da9c7f357bd9d4d-s.1975l3y3401x_.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-weight:500;font-display:swap;src:url(../media/8e6fa89aa22d24ec-s.p.2o7m9ogm38dql.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(../media/0a7740363b4d4863-s.3ji57o093q1kd.woff2)format("woff2");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(../media/5f9d24ebef5d5292-s.19xuq3td7fwu_.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-weight:600;font-display:swap;src:url(../media/e2334d715941921e-s.p.3o_v2fun1jzxk.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(../media/b53057dbf91a7acf-s.11ypmpdlzqdb_.woff2)format("woff2");unicode-range:U+900-97F,U+1CD0-1CF9,U+200C-200D,U+20A8,U+20B9,U+20F0,U+25CC,U+A830-A839,U+A8E0-A8FF,U+11B00-11B09}@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(../media/798ea22d9983e047-s.3go-kn2r40gie.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Poppins;font-style:normal;font-weight:700;font-display:swap;src:url(../media/47fe1b7cd6e6ed85-s.p.3bh2vc0w-r-ll.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Poppins Fallback;src:local(Arial);ascent-override:93.62%;descent-override:31.21%;line-gap-override:8.92%;size-adjust:112.16%}.poppins_adad0279-module__mQUjYG__className{font-family:Poppins,Poppins Fallback;font-style:normal}.poppins_adad0279-module__mQUjYG__variable{--font-poppins:"Poppins", "Poppins Fallback"}

:root{--yellow-50:#fffaeb;--yellow-100:#fff3c9;--yellow-200:#ffe491;--yellow-300:#ffd34f;--yellow-400:#fbbd1f;--yellow-500:#f2a900;--yellow-600:#d89200;--yellow-700:#a26c00;--yellow-800:#744c00;--red-600:#c01319;--brand-black:#151312;--ink-900:#211d1a;--ink-700:#4a443f;--ink-500:#7a7269;--ink-300:#b5ada4;--ink-200:#dcd6cf;--ink-100:#ece8e3;--paper-0:#fff;--paper-50:#faf8f5;--paper-100:#f4f1ec;--green-500:#1fa05c;--green-100:#ddf3e7;--amber-500:#e86a17;--amber-100:#fbe5d6;--red-500:#de1f26;--red-100:#fbe0e1;--blue-500:#3671d8;--blue-100:#e0eafb;--brand:var(--yellow-500);--brand-hover:var(--yellow-600);--brand-soft:var(--yellow-100);--brand-tint:var(--yellow-50);--brand-ink:var(--yellow-700);--accent:var(--red-500);--text-heading:var(--ink-900);--text-body:var(--ink-700);--text-muted:var(--ink-500);--text-faint:var(--ink-300);--text-on-brand:#211d1a;--surface-page:var(--paper-50);--surface-card:var(--paper-0);--surface-sunken:var(--paper-100);--border-default:var(--ink-100);--border-strong:var(--ink-200);--focus-ring:#f2a90066;--success:var(--green-500);--success-soft:var(--green-100);--warning:var(--amber-500);--warning-soft:var(--amber-100);--danger:var(--red-500);--danger-soft:var(--red-100);--info:var(--blue-500);--info-soft:var(--blue-100);--grad-brand:linear-gradient(135deg,#ffd34f 0%,#f2a900 100%)}
:root{--violet-500:#7a5ac7;--violet-100:#eae7f9;--success-border:#a8dfc0;--danger-border:#efaeb2;--danger-border-strong:#e2878e;--danger-soft-hover:#f6cacc;--info-border:#c3d6f5;--warning-border:#f2cba0;--ink-400:#9a9289;--line-hair:#f8f5f1;--line-input:#e4dfd9;--line-input-hover:#c9c2ba;--row-hover-brand:#fdf8ec;--avatar-brand:#fcf3dc;--on-brand-muted:#5c4a15;--danger-ink:#c43d2b;--danger-tint:#fbeae6;--success-ink:#106b3d;--warning-ink:#9a4208;--info-ink:#24509e;--violet-ink:#5b3d9e;--brand-ink-strong:#8f5f00}
:root{--font-sans:var(--font-poppins),system-ui,-apple-system,sans-serif;--font-display:var(--font-sans);--text-xs:11px;--text-sm:12.5px;--text-base:14px;--text-md:16px;--text-lg:18px;--text-xl:22px;--text-2xl:28px;--text-3xl:36px;--text-num:26px;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--leading-tight:1.2;--leading-normal:1.5;--leading-relaxed:1.65;--tracking-caps:.06em}
:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--space-10:40px;--space-12:48px;--radius-sm:8px;--radius-md:12px;--radius-lg:16px;--radius-xl:20px;--radius-pill:999px;--shadow-card:0 2px 8px #211d1a0d,0 8px 24px #211d1a0d;--shadow-pop:0 4px 12px #211d1a14,0 16px 40px #211d1a1f;--shadow-brand:0 6px 16px #f2a9004d;--ease-out:cubic-bezier(.22,.61,.36,1);--dur-fast:.12s;--dur-med:.2s}
body{font-family:var(--font-sans);color:var(--text-body);background:var(--surface-page);font-size:var(--text-base);line-height:var(--leading-normal);-webkit-font-smoothing:antialiased;margin:0}h1,h2,h3,h4{color:var(--text-heading);line-height:var(--leading-tight);margin:0}a{color:var(--brand-ink);text-decoration:none}a:hover{color:var(--yellow-800)}::selection{background:var(--brand-soft)}

*,:before,:after,::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:#3b82f680;--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:0 solid #e5e7eb}:before,:after{--tw-content:""}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--font-sans);font-feature-settings:normal;font-variation-settings:normal;-webkit-tap-highlight-color:transparent}body{line-height:inherit;margin:0}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,samp,pre{font-family:var(--font-sans);font-feature-settings:normal;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}button,input,optgroup,select,textarea{font-feature-settings:inherit;font-variation-settings:inherit;font-family: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:#0000;background-image:none}:-moz-focusring{outline:auto}:-moz-ui-invalid{box-shadow:none}progress{vertical-align:baseline}::-webkit-inner-spin-button{height:auto}::-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{margin:0;padding:0;list-style:none}dialog{padding:0}textarea{resize:vertical}input::-moz-placeholder{opacity:1;color:#9ca3af}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{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}[hidden]:where(:not([hidden=until-found])){display:none}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.pointer-events-none{pointer-events:none}.fixed{position:fixed}.absolute{position:absolute}.relative{position:relative}.inset-0{inset:0}.inset-\[14\%\]{inset:14%}.-bottom-1{bottom:-.25rem}.-left-1{left:-.25rem}.-right-1{right:-.25rem}.-top-1{top:-.25rem}.bottom-4{bottom:1rem}.bottom-\[22px\]{bottom:22px}.left-1\/2{left:50%}.left-\[12\%\]{left:12%}.left-\[22px\]{left:22px}.right-3{right:.75rem}.right-\[12\%\]{right:12%}.right-\[22px\]{right:22px}.top-1\/2{top:50%}.top-3{top:.75rem}.top-\[22px\]{top:22px}.z-10{z-index:10}.z-50{z-index:50}.m-5{margin:1.25rem}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:.75rem}.mt-4{margin-top:1rem}.block{display:block}.inline{display:inline}.flex{display:flex}.inline-flex{display:inline-flex}.table{display:table}.\!grid{display:grid!important}.grid{display:grid}.aspect-\[1\.12\]{aspect-ratio:1.12}.aspect-\[4\/3\]{aspect-ratio:4/3}.aspect-square{aspect-ratio:1}.h-0\.5{height:.125rem}.h-10{height:2.5rem}.h-12{height:3rem}.h-2{height:.5rem}.h-4{height:1rem}.h-8{height:2rem}.h-\[54px\]{height:54px}.h-full{height:100%}.h-px{height:1px}.max-h-\[90vh\]{max-height:90vh}.min-h-10{min-height:2.5rem}.min-h-6{min-height:1.5rem}.w-10{width:2.5rem}.w-12{width:3rem}.w-2{width:.5rem}.w-4{width:1rem}.w-8{width:2rem}.w-\[54px\]{width:54px}.w-full{width:100%}.min-w-36{min-width:9rem}.max-w-3xl{max-width:48rem}.-translate-x-1\/2{--tw-translate-x:-50%;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.-rotate-90{--tw-rotate:-90deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-180{--tw-rotate:180deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.rotate-90{--tw-rotate:90deg;transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}.transform{transform:translate(var(--tw-translate-x), var(--tw-translate-y)) rotate(var(--tw-rotate)) skewX(var(--tw-skew-x)) skewY(var(--tw-skew-y)) scaleX(var(--tw-scale-x)) scaleY(var(--tw-scale-y))}@keyframes spin{to{transform:rotate(360deg)}}.animate-spin{animation:1s linear infinite spin}.resize{resize:both}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-start{align-items:flex-start}.items-center{align-items:center}.justify-end{justify-content:flex-end}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:.5rem}.gap-3{gap:.75rem}.gap-4{gap:1rem}.gap-5{gap:1.25rem}.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-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-5>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.25rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.25rem * var(--tw-space-y-reverse))}.overflow-auto{overflow:auto}.overflow-hidden{overflow:hidden}.rounded-\[48\%_48\%_42\%_42\%\]{border-radius:48% 48% 42% 42%}.rounded-full{border-radius:9999px}.rounded-lg{border-radius:8px}.rounded-md{border-radius:7px}.rounded-xl{border-radius:.75rem}.rounded-tl{border-top-left-radius:.25rem}.border{border-width:1px}.border-0{border-width:0}.border-2{border-width:2px}.border-b{border-bottom-width:1px}.border-l-4{border-left-width:4px}.border-l-\[5px\]{border-left-width:5px}.border-t-4{border-top-width:4px}.border-t-\[5px\]{border-top-width:5px}.border-\[\#38A169\]{--tw-border-opacity:1;border-color:rgb(56 161 105/var(--tw-border-opacity,1))}.border-\[\#AEB6BE\]{--tw-border-opacity:1;border-color:rgb(174 182 190/var(--tw-border-opacity,1))}.border-\[\#B9C0C8\]{--tw-border-opacity:1;border-color:rgb(185 192 200/var(--tw-border-opacity,1))}.border-\[\#D92D32\]{--tw-border-opacity:1;border-color:rgb(217 45 50/var(--tw-border-opacity,1))}.border-\[\#D99618\]{--tw-border-opacity:1;border-color:rgb(217 150 24/var(--tw-border-opacity,1))}.border-accent\/80{border-color:#d99618cc}.border-border{--tw-border-opacity:1;border-color:rgb(223 227 231/var(--tw-border-opacity,1))}.border-destructive{--tw-border-opacity:1;border-color:rgb(180 35 42/var(--tw-border-opacity,1))}.border-input{--tw-border-opacity:1;border-color:rgb(205 211 218/var(--tw-border-opacity,1))}.border-primary{--tw-border-opacity:1;border-color:rgb(23 26 31/var(--tw-border-opacity,1))}.border-transparent{border-color:#0000}.border-white\/75{border-color:#ffffffbf}.bg-\[\#237044\]\/80{background-color:#237044cc}.bg-\[\#237044\]\/90{background-color:#237044e6}.bg-\[\#9A650E\]\/80{background-color:#9a650ecc}.bg-\[\#B4232A\]\/80{background-color:#b4232acc}.bg-\[\#C9CED4\]{--tw-bg-opacity:1;background-color:rgb(201 206 212/var(--tw-bg-opacity,1))}.bg-\[\#DCE2E6\]{--tw-bg-opacity:1;background-color:rgb(220 226 230/var(--tw-bg-opacity,1))}.bg-\[\#E6F4EA\]{--tw-bg-opacity:1;background-color:rgb(230 244 234/var(--tw-bg-opacity,1))}.bg-\[\#E8EDF0\]{--tw-bg-opacity:1;background-color:rgb(232 237 240/var(--tw-bg-opacity,1))}.bg-\[\#EAF1F8\]{--tw-bg-opacity:1;background-color:rgb(234 241 248/var(--tw-bg-opacity,1))}.bg-\[\#EEF1F4\]{--tw-bg-opacity:1;background-color:rgb(238 241 244/var(--tw-bg-opacity,1))}.bg-\[\#F9FAF8\]{--tw-bg-opacity:1;background-color:rgb(249 250 248/var(--tw-bg-opacity,1))}.bg-\[\#FDE7E7\]{--tw-bg-opacity:1;background-color:rgb(253 231 231/var(--tw-bg-opacity,1))}.bg-\[\#FFF1D2\]{--tw-bg-opacity:1;background-color:rgb(255 241 210/var(--tw-bg-opacity,1))}.bg-accent{--tw-bg-opacity:1;background-color:rgb(217 150 24/var(--tw-bg-opacity,1))}.bg-black\/45{background-color:#00000073}.bg-black\/50{background-color:#00000080}.bg-black\/55{background-color:#0000008c}.bg-border{--tw-bg-opacity:1;background-color:rgb(223 227 231/var(--tw-bg-opacity,1))}.bg-destructive{--tw-bg-opacity:1;background-color:rgb(180 35 42/var(--tw-bg-opacity,1))}.bg-muted{--tw-bg-opacity:1;background-color:rgb(243 245 246/var(--tw-bg-opacity,1))}.bg-primary{--tw-bg-opacity:1;background-color:rgb(23 26 31/var(--tw-bg-opacity,1))}.bg-transparent{background-color:#0000}.bg-white{--tw-bg-opacity:1;background-color:rgb(255 255 255/var(--tw-bg-opacity,1))}.bg-white\/70{background-color:#ffffffb3}.bg-white\/85{background-color:#ffffffd9}.bg-gradient-to-r{background-image:linear-gradient(to right, var(--tw-gradient-stops))}.from-transparent{--tw-gradient-from:transparent var(--tw-gradient-from-position);--tw-gradient-to:#0000 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), var(--tw-gradient-to)}.via-accent{--tw-gradient-to:#d9961800 var(--tw-gradient-to-position);--tw-gradient-stops:var(--tw-gradient-from), #d99618 var(--tw-gradient-via-position), var(--tw-gradient-to)}.to-transparent{--tw-gradient-to:transparent var(--tw-gradient-to-position)}.object-cover{-o-object-fit:cover;object-fit:cover}.p-0{padding:0}.p-1{padding:.25rem}.p-3{padding:.75rem}.p-4{padding:1rem}.p-5{padding:1.25rem}.p-6{padding:1.5rem}.px-2{padding-left:.5rem;padding-right:.5rem}.px-2\.5{padding-left:.625rem;padding-right:.625rem}.px-3{padding-left:.75rem;padding-right:.75rem}.px-4{padding-left:1rem;padding-right:1rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.py-0\.5{padding-top:.125rem;padding-bottom:.125rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.py-4{padding-top:1rem;padding-bottom:1rem}.pr-10{padding-right:2.5rem}.text-center{text-align:center}.font-display,.font-mono{font-family:var(--font-sans)}.text-\[11px\]{font-size:11px}.text-base{font-size:1rem;line-height:1.5rem}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-sm{font-size:.875rem;line-height:1.25rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-xs{font-size:.75rem;line-height:1rem}.font-black{font-weight:900}.font-bold{font-weight:700}.font-extrabold{font-weight:800}.font-semibold{font-weight:600}.uppercase{text-transform:uppercase}.tracking-\[\.03em\]{letter-spacing:.03em}.tracking-\[\.05em\]{letter-spacing:.05em}.tracking-\[\.08em\]{letter-spacing:.08em}.tracking-\[\.1em\]{letter-spacing:.1em}.text-\[\#237044\]{--tw-text-opacity:1;color:rgb(35 112 68/var(--tw-text-opacity,1))}.text-\[\#2463A6\]{--tw-text-opacity:1;color:rgb(36 99 166/var(--tw-text-opacity,1))}.text-\[\#53606C\]{--tw-text-opacity:1;color:rgb(83 96 108/var(--tw-text-opacity,1))}.text-\[\#9A650E\]{--tw-text-opacity:1;color:rgb(154 101 14/var(--tw-text-opacity,1))}.text-\[\#B4232A\]{--tw-text-opacity:1;color:rgb(180 35 42/var(--tw-text-opacity,1))}.text-foreground{--tw-text-opacity:1;color:rgb(23 26 31/var(--tw-text-opacity,1))}.text-muted-foreground{--tw-text-opacity:1;color:rgb(99 107 116/var(--tw-text-opacity,1))}.text-primary-foreground{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.text-success{--tw-text-opacity:1;color:rgb(35 112 68/var(--tw-text-opacity,1))}.text-white{--tw-text-opacity:1;color:rgb(255 255 255/var(--tw-text-opacity,1))}.opacity-45{opacity:.45}.opacity-70{opacity:.7}.shadow-\[0_0_0_999px_rgba\(0\,0\,0\,\.08\)\]{--tw-shadow:0 0 0 999px #00000014;--tw-shadow-colored:0 0 0 999px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-\[inset_0_0_0_12px_\#D4DADE\,inset_0_0_0_13px_\#9CA6AF\]{--tw-shadow:inset 0 0 0 12px #d4dade,inset 0 0 0 13px #9ca6af;--tw-shadow-colored:inset 0 0 0 12px var(--tw-shadow-color), inset 0 0 0 13px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-\[inset_0_0_0_1px_rgba\(255\,255\,255\,\.55\)\]{--tw-shadow:inset 0 0 0 1px #ffffff8c;--tw-shadow-colored:inset 0 0 0 1px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-inner{--tw-shadow:inset 0 2px 4px 0 #0000000d;--tw-shadow-colored:inset 0 2px 4px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-none{--tw-shadow:0 0 #0000;--tw-shadow-colored:0 0 #0000;box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-panel{--tw-shadow:0 16px 38px #12181f14;--tw-shadow-colored:0 16px 38px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-sm{--tw-shadow:0 1px 2px 0 #0000000d;--tw-shadow-colored:0 1px 2px 0 var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.shadow-soft{--tw-shadow:0 8px 18px #12181f0f;--tw-shadow-colored:0 8px 18px var(--tw-shadow-color);box-shadow:var(--tw-ring-offset-shadow,0 0 #0000), var(--tw-ring-shadow,0 0 #0000), var(--tw-shadow)}.outline-none{outline-offset:2px;outline:2px solid #0000}.outline{outline-style:solid}.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)}.transition-\[left\,top\,width\,height\]{transition-property:left,top,width,height;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-all{transition-property:all;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-duration:.15s;transition-timing-function:cubic-bezier(.4,0,.2,1)}.duration-100{transition-duration:.1s}.ease-linear{transition-timing-function:linear}*{box-sizing:border-box}html{scrollbar-gutter:stable;touch-action:manipulation}body{overscroll-behavior-y:none;overflow-x:hidden}:focus-visible{outline:3px solid var(--focus-ring);outline-offset:2px;transition:outline-color .12s ease-out}button{font-family:inherit}input,select,textarea{color:var(--text-heading);font-family:inherit}input[type=checkbox]{appearance:none;border:1.5px solid var(--border-strong);background:var(--paper-0);cursor:pointer;border-radius:6px;place-content:center;width:18px;height:18px;transition:background-color .16s ease-out,border-color .16s ease-out,box-shadow .16s ease-out;display:inline-grid}input[type=checkbox]:hover{border-color:var(--brand);box-shadow:0 0 0 3px #f2a90029}input[type=checkbox]:focus-visible{border-color:var(--brand);outline:none;box-shadow:0 0 0 3px #f2a90047}input[type=checkbox]:checked{background:var(--brand);border-color:var(--brand);box-shadow:0 2px 6px #f2a90057}input[type=checkbox]:after{content:"";border-left:2.2px solid var(--ink-900);border-bottom:2.2px solid var(--ink-900);opacity:0;border-radius:1px;width:10px;height:5px;transition:transform .16s cubic-bezier(.3,1.5,.5,1),opacity .12s ease-out;transform:rotate(-45deg)translate(1px,-1px)scale(.4)}input[type=checkbox]:checked:after{opacity:1;transform:rotate(-45deg)translate(1px,-1px)scale(1)}input[type=checkbox]:disabled{background:var(--surface-sunken);border-color:var(--border-default);cursor:not-allowed}input[type=range]{accent-color:var(--brand)}@media (prefers-reduced-motion:reduce){input[type=checkbox],input[type=checkbox]:after{transition:none}}.nf{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.6rem;min-height:100dvh;padding:2rem;display:flex}.nf-code{letter-spacing:.2em;color:var(--brand,#b58324);font-size:.85rem;font-weight:600}.nf-title{font-size:1.5rem;font-weight:600}.nf-body{color:var(--ink-soft,#6b6257);max-width:28rem;line-height:1.55}.nf-link{color:var(--brand,#b58324);margin-top:.5rem;font-weight:500;text-decoration:underline}.hover\:bg-\[\#2A2E33\]:hover{--tw-bg-opacity:1;background-color:rgb(42 46 51/var(--tw-bg-opacity,1))}.hover\:bg-\[\#9E1F25\]:hover{--tw-bg-opacity:1;background-color:rgb(158 31 37/var(--tw-bg-opacity,1))}.hover\:bg-muted:hover{--tw-bg-opacity:1;background-color:rgb(243 245 246/var(--tw-bg-opacity,1))}.focus\:border-\[\#2463A6\]:focus{--tw-border-opacity:1;border-color:rgb(36 99 166/var(--tw-border-opacity,1))}.focus\:ring-4:focus{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(4px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus\:ring-\[\#2463A6\]\/10:focus{--tw-ring-color:#2463a61a}.focus-visible\:outline-none:focus-visible{outline-offset:2px;outline:2px solid #0000}.focus-visible\:ring-2:focus-visible{--tw-ring-offset-shadow:var(--tw-ring-inset) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color);--tw-ring-shadow:var(--tw-ring-inset) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color);box-shadow:var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow,0 0 #0000)}.focus-visible\:ring-\[\#2463A6\]:focus-visible{--tw-ring-opacity:1;--tw-ring-color:rgb(36 99 166/var(--tw-ring-opacity,1))}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:opacity-50:disabled{opacity:.5}@media (min-width:640px){.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (min-width:1024px){.lg\:grid-cols-\[1fr_1\.05fr\]{grid-template-columns:1fr 1.05fr}}
:root{--page:var(--surface-page);--surface:var(--surface-card);--surface-2:var(--surface-sunken);--ink:var(--text-heading);--ink-soft:var(--text-body);--muted:var(--text-muted);--charcoal:var(--brand-black);--safety:var(--brand);--brand-red:var(--accent);--line:var(--border-default);--line-dark:var(--border-strong);--steel-ink:var(--text-body);--steel-border:var(--border-strong);--blue:var(--info);--good:var(--success);--good-bg:var(--success-soft);--warn:var(--warning);--warn-bg:var(--warning-soft);--bad:var(--danger);--bad-bg:var(--danger-soft);--purple:var(--violet-500);--purple-bg:var(--violet-100);--shadow:0 12px 32px #12181f0f;--shadow-soft:0 4px 14px #12181f0d;--radius:10px;--nav-width:216px;--topbar-height:65px;--content-inset:clamp(18px,2.5vw,40px);--kiosk-column:560px;--space-1:8px;--space-2:12px;--space-3:16px;--space-4:20px;--space-5:24px;--space-6:32px;--brand-mark-gradient-end:var(--red-600);--system-chip-border:var(--border-strong);--system-chip-bg:var(--surface-sunken);--system-chip-live-border:var(--success-border);--btn-subtle-bg:var(--paper-100);--btn-primary-ink:var(--text-on-brand);--btn-primary-hover-bg:var(--brand-hover);--btn-primary-focus-ring:var(--focus-ring);--portal-bg-top:var(--paper-0);--portal-bg-bottom:var(--paper-100);--nav-item-hover-bg:var(--paper-100);--nav-item-active-bg:var(--brand-soft);--table-row-border:var(--border-default);--table-row-hover-bg:var(--paper-50);--pill-neutral-bg:var(--surface-sunken);--site-stats-border:var(--border-default);--dtr-cross-site-bg:var(--brand-tint);--link-danger-hover-ink:var(--red-600);--danger-soft-border:var(--danger-border);--danger-soft-hover-bg:var(--danger-soft-hover);--danger-soft-hover-border:var(--danger-border-strong);--kiosk-bg-top:var(--paper-0);--kiosk-bg-bottom:var(--paper-100);--terminal-clock-ink:var(--brand-black);--terminal-muted-ink:var(--text-muted);--terminal-site-card-border:var(--border-default);--terminal-site-ink:var(--success);--terminal-site-meta-ink:var(--text-muted);--kiosk-secondary-ink:var(--text-body);--scan-tick-active:var(--success);--scan-tick-idle:var(--border-strong);--scan-tick-warning:var(--warning);--scan-tick-failed:var(--danger);--scan-ring-inner-bg:var(--surface-sunken);--face-grid-center:var(--paper-100);--face-grid-edge:var(--ink-200);--terminal-aligned-dot:var(--success);--terminal-aligned-ink:var(--success);--mini-capture-gradient-end:var(--ink-900);--mini-viewfinder-bg:var(--brand-black);--consent-box-border:var(--info-border);--consent-box-bg:var(--info-soft);--enroll-head-bg:var(--paper-50);--enroll-summary-border:var(--border-default);--enroll-state-border:var(--border-strong);--enroll-state-bg:var(--surface-sunken);--enroll-state-ink:var(--text-body);--enroll-success-border:var(--success-border);--enroll-error-border:var(--danger-border);--capture-stage-bg:var(--paper-50);--capture-card-border:var(--ink-300);--capture-card-gradient-top:var(--ink-900);--capture-card-gradient-bottom:var(--brand-black);--camera-frame-bg:var(--ink-200);--camera-feed-top:var(--ink-200);--camera-feed-mid:var(--ink-300);--camera-feed-bottom:var(--ink-500);--face-guide-border-color:var(--success);--capture-feedback-ink:var(--ink-300);--liveness-badge-bg:var(--surface-sunken);--liveness-track-bg:var(--border-default);--liveness-step-active-bg:var(--brand-tint);--liveness-step-dot-bg:var(--ink-300)}*{box-sizing:border-box}html,body{background:var(--page);min-height:100%;color:var(--ink);font-family:var(--font-sans);margin:0;line-height:1.45}button,input,select,textarea{font:inherit}button,a{touch-action:manipulation}a{color:inherit;text-decoration:none}.topbar{z-index:20;justify-content:space-between;align-items:center;gap:var(--space-4);min-height:var(--topbar-height);padding:var(--space-2) var(--content-inset);border-bottom:1px solid var(--line);background:#fffffff0;display:flex;position:relative;box-shadow:0 2px 8px #12181f0a}.admin-top{min-height:var(--topbar-height)}.brand{align-items:center;gap:12px;min-width:0;display:flex}.brand-logo{-o-object-fit:contain;object-fit:contain;background:0 0;width:auto;height:40px;display:block}.brand span{flex-direction:column;gap:2px;min-width:0;display:flex}.brand b{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.08em;font-size:16px;line-height:1}.brand small{color:var(--ink-soft);font-size:12px;font-weight:700}.brand-mark{background:linear-gradient(135deg,var(--brand-red),var(--brand-mark-gradient-end));border-radius:8px;width:36px;height:36px;position:relative}.brand-mark:after{content:"";border-top:4px solid #ffffffeb;border-bottom:4px solid #ffffffeb;position:absolute;inset:10px}.topbar-brand-row{flex:1;align-items:center;gap:10px;min-width:0;display:flex}.topbar-brand-row .brand{flex:1;min-width:0}.admin-mobile-nav-toggle{border:1px solid var(--line-dark);background:var(--surface);width:40px;height:40px;color:var(--ink);cursor:pointer;touch-action:manipulation;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;padding:0;display:none}.admin-mobile-nav-toggle svg{width:20px;height:20px;display:block}.admin-mobile-nav-toggle:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.topbar-actions,.button-row{flex-wrap:wrap;align-items:center;gap:9px;display:flex}.button-row.end{justify-content:flex-end}.system-chip{border:1px solid var(--system-chip-border);background:var(--system-chip-bg);min-height:34px;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.06em;border-radius:999px;align-items:center;padding:0 12px;font-size:12px;font-weight:800;display:inline-flex}.system-chip.live{background:var(--good-bg);border-color:var(--system-chip-live-border);color:var(--good)}.system-chip.live:before{content:"";background:var(--good);border-radius:50%;width:7px;height:7px;margin-right:7px;box-shadow:0 0 0 3px #2370442e}.btn{border:1px solid var(--line-dark);border-radius:var(--radius-pill);background:var(--surface);min-height:40px;color:var(--ink);cursor:pointer;justify-content:center;align-items:center;gap:8px;padding:8px 20px;font-size:13.5px;font-weight:600;line-height:1.2;transition:background .15s,border-color .15s,transform .12s;display:inline-flex}.btn:hover{background:var(--btn-subtle-bg)}.btn:active{transform:scale(.98)}.btn:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.btn.primary{border-color:var(--safety);background:var(--safety);color:var(--btn-primary-ink)}.btn.primary:hover{background:var(--btn-primary-hover-bg)}.btn.primary:focus-visible{outline-color:var(--btn-primary-focus-ring)}.btn.ghost{background:var(--btn-subtle-bg)}.btn.small{min-height:32px;padding:6px 14px;font-size:12px}.btn.large{min-height:48px;padding:10px 26px;font-size:15px}.btn.full{width:100%;min-height:42px}.btn:disabled,.btn:disabled:hover{background:var(--surface-2);color:var(--text-faint);border-color:var(--line);cursor:not-allowed}.btn.primary:disabled,.btn.primary:disabled:hover{background:var(--brand-soft);color:var(--on-brand-muted);border-color:var(--brand-soft)}.portal-body{min-height:100vh;padding:var(--space-5);background:linear-gradient(180deg,var(--portal-bg-top) 0%,var(--portal-bg-bottom) 100%);place-items:center;display:grid}.portal-card{width:min(520px,100%);padding:var(--space-6) var(--space-5);border:1px solid var(--line);box-shadow:var(--shadow);text-align:center;background:#fff;border-radius:12px}.portal-card .brand-mark{margin:0 auto var(--space-3)}.portal-card h1{font-family:var(--font-sans);text-transform:uppercase;margin:0;font-size:28px}.portal-card p{margin:var(--space-2) 0 0;color:var(--ink-soft)}.portal-actions{gap:var(--space-2);margin-top:var(--space-4);flex-wrap:wrap;justify-content:center;display:flex}.kiosk{min-height:calc(100vh - var(--topbar-height));background:linear-gradient(180deg,var(--kiosk-bg-top) 0%,var(--kiosk-bg-bottom) 100%);justify-content:flex-start;align-items:flex-start;padding:16px clamp(20px,4vw,56px) 36px;display:flex;position:relative;overflow:hidden}.kiosk:before{content:"";opacity:.022;filter:grayscale();pointer-events:none;background:url(/assets/eb-marzan-trucking-logo.png) 50% 68%/min(680px,52vw) no-repeat;position:absolute;inset:0}.kiosk-shell{z-index:1;flex-direction:column;justify-content:flex-start;gap:0;width:100%;max-width:960px;min-height:0;margin:0 auto;padding:clamp(14px,2.2vh,28px) 0 clamp(20px,3vh,36px);display:flex;position:relative}.terminal-shell{gap:0;max-width:920px}.terminal-scan{z-index:1;flex-direction:column;align-items:center;width:100%;padding:0;display:flex;position:relative}.terminal-header{flex-direction:column;align-items:center;width:100%;margin-bottom:clamp(20px,3vh,32px);padding-top:0;display:flex}.terminal-clock{text-align:center}.terminal-clock b{font-family:var(--font-sans);letter-spacing:-.03em;color:var(--terminal-clock-ink);font-variant-numeric:tabular-nums;font-size:clamp(58px,9vh,88px);font-weight:800;line-height:.92;display:block}.terminal-date{text-align:center;flex-direction:column;gap:3px;margin-top:10px;display:flex}.terminal-day{color:var(--ink);letter-spacing:-.01em;font-size:clamp(18px,2.4vh,22px);font-weight:700;display:block}.terminal-full-date{color:var(--terminal-muted-ink);font-size:clamp(15px,2vh,18px);font-weight:600;display:block}.terminal-site-card{border:1px solid var(--terminal-site-card-border);color:var(--terminal-site-ink);background:#ffffffe0;border-radius:14px;align-items:center;gap:12px;width:min(100%,560px);margin-top:14px;padding:12px 18px 12px 16px;display:flex;box-shadow:0 10px 28px #12181f0d}.terminal-site-card svg{width:22px;height:22px;color:var(--terminal-site-ink);flex-shrink:0}.terminal-site-copy{text-align:left;flex:1;min-width:0}.terminal-site-copy b{color:var(--ink);letter-spacing:-.01em;font-size:16px;font-weight:800;display:block}.terminal-site-copy span{color:var(--terminal-site-meta-ink);margin-top:2px;font-size:12px;font-weight:600;display:block}.terminal-site-select{flex-shrink:0;align-items:center;margin-left:4px;display:flex;position:relative}.terminal-site-select select{appearance:none;color:var(--kiosk-secondary-ink);cursor:pointer;background:0 0;border:0;outline:none;max-width:170px;padding:6px 22px 6px 8px;font-size:12px;font-weight:700}.terminal-site-select svg{width:16px;height:16px;color:var(--muted);pointer-events:none;position:absolute;right:2px}.sr-only{clip:rect(0,0,0,0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.terminal-scan .scan-ring{width:min(68vh,78vw,560px);min-width:min(100%,320px);margin:clamp(12px,2vh,24px) 0 0}@property --tick-span{syntax:"<angle>";inherits:false;initial-value:0deg}.scan-ring{--tick-active:var(--scan-tick-active);--tick-idle:var(--scan-tick-idle);--tick-span:0deg;aspect-ratio:1;background:0 0;border-radius:50%;place-items:center;display:grid;position:relative;box-shadow:0 20px 50px #12181f14}.scan-ring-base,.scan-ring-track{border-radius:inherit;pointer-events:none;transition:opacity .35s;position:absolute;inset:-22px}.scan-ring-base{background:repeating-conic-gradient(from 0deg,var(--tick-idle) 0deg 1.1deg,transparent 1.1deg 6.6deg);opacity:.95;-webkit-mask:radial-gradient(farthest-side,#0000 calc(100% - 28px),#000 calc(100% - 27px) calc(100% - 5px),#0000 calc(100% - 4px));mask:radial-gradient(farthest-side,#0000 calc(100% - 28px),#000 calc(100% - 27px) calc(100% - 5px),#0000 calc(100% - 4px))}.scan-ring-track{background:repeating-conic-gradient(from 0deg,var(--tick-active) 0deg 1.1deg,transparent 1.1deg 6.6deg);-webkit-mask-image:radial-gradient(farthest-side,transparent calc(100% - 28px),#000 calc(100% - 27px) calc(100% - 5px),transparent calc(100% - 4px)),conic-gradient(from 0deg,#000 0deg var(--tick-span),transparent var(--tick-span) 360deg);-webkit-mask-image:radial-gradient(farthest-side,transparent calc(100% - 28px),#000 calc(100% - 27px) calc(100% - 5px),transparent calc(100% - 4px)),conic-gradient(from 0deg,#000 0deg var(--tick-span),transparent var(--tick-span) 360deg);mask-image:radial-gradient(farthest-side,transparent calc(100% - 28px),#000 calc(100% - 27px) calc(100% - 5px),transparent calc(100% - 4px)),conic-gradient(from 0deg,#000 0deg var(--tick-span),transparent var(--tick-span) 360deg);-webkit-mask-composite:source-in;opacity:0;will-change:transform,--tick-span;transition:opacity .35s;transform:rotate(0);-webkit-mask-composite:source-in;mask-composite:intersect}.scan-ring:after{content:"";border-radius:inherit;pointer-events:none;border:1px solid #ffffff8c;position:absolute;inset:11%;box-shadow:inset 0 0 24px #ffffff2e}.scan-ring-inner{background:var(--scan-ring-inner-bg);border-radius:50%;width:calc(100% - 68px);height:calc(100% - 68px);position:relative;overflow:hidden;box-shadow:0 0 0 6px #fff,0 0 0 7px #e2e8edf2}.camera-placeholder{width:100%;height:100%;position:relative}.face-grid{background:linear-gradient(#ffffff8c 1px,transparent 1px),linear-gradient(90deg,#ffffff8c 1px,transparent 1px),radial-gradient(circle at 50% 44%,var(--face-grid-center) 0 31%,var(--face-grid-edge) 32% 100%);background-size:30px 30px,30px 30px,100% 100%;position:absolute;inset:0}.scan-crosshair{pointer-events:none;place-items:center;display:grid;position:absolute;inset:0}.scan-crosshair-ring{aspect-ratio:1;border:1px solid #ffffff6b;border-radius:50%;width:42%;box-shadow:inset 0 0 0 999px #0000000a}.scan-crosshair-line{background:#ffffff57;position:absolute}.scan-crosshair-line-h{width:54%;height:1px}.scan-crosshair-line-v{width:1px;height:54%}.scan-ring-active .scan-ring-track{opacity:0;--tick-span:0deg;animation:none}.scan-ring-detected{--tick-span:78deg}.scan-ring-detected .scan-ring-track{opacity:1;animation:2.4s linear infinite scanRingSweep}.scan-ring-filling{--tick-span:0deg}.scan-ring-filling .scan-ring-base{animation:.9s linear forwards scanRingBaseFade}.scan-ring-filling .scan-ring-track{opacity:1;animation:.9s cubic-bezier(.22,1,.36,1) forwards scanRingFillProgress;transform:rotate(0)}.scan-ring-complete{--tick-active:var(--scan-tick-active);--tick-span:360deg}.scan-ring-complete .scan-ring-base{opacity:0}.scan-ring-complete .scan-ring-track{opacity:1;animation:none;transform:rotate(0)}.scan-ring-success{--tick-active:var(--scan-tick-active)}.scan-ring-success .scan-ring-base{opacity:0}.scan-ring-success .scan-ring-track{opacity:1;filter:drop-shadow(0 0 8px #22c55e47);animation:none;transform:rotate(0);-webkit-mask-image:radial-gradient(farthest-side,#0000 calc(100% - 28px),#000 calc(100% - 27px) calc(100% - 5px),#0000 calc(100% - 4px));mask-image:radial-gradient(farthest-side,#0000 calc(100% - 28px),#000 calc(100% - 27px) calc(100% - 5px),#0000 calc(100% - 4px))}.scan-ring-warning{--tick-active:var(--scan-tick-warning)}.scan-ring-warning .scan-ring-base{opacity:0}.scan-ring-warning .scan-ring-track{opacity:1;filter:drop-shadow(0 0 8px #f59e0b47);animation:none;transform:rotate(0);-webkit-mask-image:radial-gradient(farthest-side,#0000 calc(100% - 28px),#000 calc(100% - 27px) calc(100% - 5px),#0000 calc(100% - 4px));mask-image:radial-gradient(farthest-side,#0000 calc(100% - 28px),#000 calc(100% - 27px) calc(100% - 5px),#0000 calc(100% - 4px))}.scan-ring-failed{--tick-active:var(--scan-tick-failed);--tick-span:78deg}.scan-ring-failed .scan-ring-track{opacity:1;animation:2.6s linear infinite scanRingSweepFail}@keyframes scanRingSweep{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes scanRingSweepFail{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes scanRingFillProgress{0%{--tick-span:0deg}to{--tick-span:360deg}}@keyframes scanRingBaseFade{0%{opacity:.95}to{opacity:0}}.terminal-feedback{width:min(100%,560px);min-height:44px;color:var(--ink);text-align:center;justify-content:center;align-items:center;gap:10px;margin:clamp(18px,2.5vh,28px) 0 0;padding:0 12px;font-size:clamp(17px,2.2vh,20px);font-weight:700;display:flex}.terminal-feedback.aligned:before{content:"";background:var(--terminal-aligned-dot);border-radius:50%;flex-shrink:0;width:9px;height:9px;box-shadow:0 0 12px #22c55e8c}.terminal-feedback.aligned{color:var(--terminal-aligned-ink)}.terminal-feedback .status-icon{flex-shrink:0;width:20px;height:20px}.terminal-feedback .status-icon.spin{animation:.8s linear infinite kioskSpin}.terminal-feedback-copy{flex-direction:column;align-items:center;gap:4px;display:flex}.terminal-feedback-copy small{color:var(--terminal-muted-ink);font-size:13px;font-weight:600;line-height:1.35}.terminal-feedback.success{color:var(--good)}.terminal-feedback.warning{color:var(--warn)}.terminal-feedback.error{color:var(--bad)}.terminal-feedback.scanning,.terminal-feedback.proof{color:var(--blue)}@keyframes kioskSpin{to{transform:rotate(360deg)}}.demo-grid label{color:var(--ink-soft);text-transform:uppercase;flex-direction:column;gap:4px;font-size:11px;font-weight:900;display:flex}.demo-grid select{border:1px solid var(--line-dark);min-height:34px;color:var(--ink);background:#fff;border-radius:7px;font-size:12px;font-weight:700}.demo-actions{margin-top:var(--space-2);flex-wrap:wrap;gap:8px;display:flex}.demo-actions .btn{flex:1;min-width:140px}.field{color:var(--ink-soft);letter-spacing:.08em;text-transform:uppercase;flex-direction:column;gap:6px;margin-bottom:6px;font-size:11px;font-weight:900;display:flex}.field input,.field select,.field textarea,.compact-input,.filters input,.filters select{border:1px solid var(--line-dark);background:var(--surface);width:100%;min-height:38px;color:var(--ink);letter-spacing:0;text-transform:none;border-radius:7px;outline:none;padding:8px 11px;font-size:13px;font-weight:600}.admin{min-height:calc(100vh - var(--topbar-height));background:var(--page);display:flex}.admin-nav{width:var(--nav-width);padding:var(--space-4) var(--space-2);border-right:1px solid var(--line);background:var(--surface);flex-shrink:0;position:relative}.nav-title{margin:0 var(--space-2) var(--space-3);padding-bottom:var(--space-3);border-bottom:1px solid var(--line);font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.04em;color:var(--ink);font-size:17px}.nav-label{margin:var(--space-3) var(--space-2) var(--space-1);color:var(--muted);letter-spacing:.12em;text-transform:uppercase;font-size:10px;font-weight:900}.nav-item{width:100%;min-height:38px;padding:var(--space-1) 10px;color:var(--ink-soft);cursor:pointer;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:9px;margin-bottom:2px;font-size:12.5px;font-weight:700;transition:background .15s,color .15s;display:flex}.nav-item:hover{background:var(--nav-item-hover-bg);color:var(--ink)}.nav-item.active{background:var(--nav-item-active-bg);color:var(--ink);box-shadow:inset 3px 0 0 var(--safety)}.nav-item:focus-visible{outline:2px solid var(--blue);outline-offset:-2px}.nav-dot{background:var(--line-dark);border-radius:50%;flex-shrink:0;width:6px;height:6px;transition:background .15s,transform .15s}.nav-item.active .nav-dot{background:var(--safety);transform:scale(1.15)}.admin-main{min-width:0;padding:var(--space-5) var(--content-inset) var(--space-6);flex:1;overflow:visible}.admin-view{width:100%;display:none}.admin-view.active{display:block}.page-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-4);width:100%;display:flex}.page-header-split{align-items:center}.page-header-main{flex:1;min-width:0}.page-header-split .filters,.page-header-split .btn{flex-shrink:0}.page-header h1,.admin-topbar h1{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.02em;margin:0;font-size:clamp(24px,2.4vw,28px);font-weight:600;line-height:1.08}.panel-head h2 span{color:var(--ink-soft);text-transform:none;letter-spacing:0;font-weight:500;font-family:var(--font-sans);font-size:14px}.field input,.field select,.field textarea,.compact-input,.filters input,.filters select,.login-input{transition:border-color .15s,box-shadow .15s}.field input:focus,.field select:focus,.field textarea:focus,.compact-input:focus,.filters input:focus,.filters select:focus{border-color:var(--steel-border);outline:none;box-shadow:0 0 0 3px #53606c1a}.sub{max-width:720px;margin:var(--space-1) 0 0;color:var(--ink-soft);font-size:13px;line-height:1.5}.filters,.export-btns{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.filters-toolbar{align-items:center;gap:9px;display:flex}.filters-toolbar .filters-search{flex:3 1 0;min-width:0}.filters-toolbar .filters-site,.filters-toolbar .filters-status{flex:1 1 0;min-width:0}.filters input{width:min(220px,100%)}.filters select{width:min(160px,100%)}.filters-toolbar input,.filters-toolbar select{width:100%;min-width:0}.kpi-row{gap:var(--space-2);margin-bottom:var(--space-4);grid-template-columns:repeat(4,minmax(0,1fr));width:100%;display:grid}.kpi{min-height:88px;padding:var(--space-3);border:1px solid var(--line);border-left:3px solid var(--line-dark);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-soft)}.kpi b{font-family:var(--font-sans);color:var(--ink);font-size:28px;font-weight:600;line-height:1;display:block}.kpi span{margin-top:var(--space-1);color:var(--ink-soft);text-transform:uppercase;letter-spacing:.07em;align-items:center;gap:7px;font-size:10.5px;font-weight:800;line-height:1.35;display:flex}.kpi span:before{content:"";background:var(--line-dark);border-radius:50%;flex-shrink:0;width:6px;height:6px}.kpi.good{border-left-color:var(--good)}.kpi.warn{border-left-color:var(--warn)}.kpi.bad{border-left-color:var(--bad)}.kpi.good b{color:var(--good)}.kpi.warn b{color:var(--warn)}.kpi.bad b{color:var(--bad)}.kpi.good span:before{background:var(--good);box-shadow:0 0 0 3px #23704424}.kpi.warn span:before{background:var(--warn);box-shadow:0 0 0 3px #9a650e24}.kpi.bad span:before{background:var(--bad);box-shadow:0 0 0 3px #b4232a1f}.panel,.form-panel,.export-toolbar,.dtr-preview{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-soft)}.panel+.panel,.panel+.dtr-preview,.export-section+.kpi-row,.export-kpi+.panel,.panel+.export-toolbar,.export-section+.panel{margin-top:var(--space-4)}.panel-head{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--content-inset);border-bottom:1px solid var(--line);background:var(--surface-2);display:flex}.panel-head h2,.form-panel h2,.modal h2{font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.03em;margin:0;font-size:17px;font-weight:600}.panel-head select,.dtr-preview .panel-head select{min-width:min(320px,100%);max-width:420px}.table-wrap{-webkit-overflow-scrolling:touch;overflow:auto}.data-table,table{border-collapse:separate;border-spacing:0;width:100%;min-width:880px;font-size:13px}.data-table thead th,thead th{z-index:1;text-align:left;padding:11px var(--content-inset);border-bottom:1px solid var(--line);background:var(--surface-2);color:var(--ink-soft);letter-spacing:.07em;text-transform:uppercase;font-size:10.5px;font-weight:800;line-height:1.25;position:sticky;top:0}.data-table tbody td,tbody td{padding:var(--space-2) var(--content-inset);border-bottom:1px solid var(--table-row-border);vertical-align:middle}.data-table tbody tr:last-child td,tbody tr:last-child td{border-bottom:0}.data-table tbody tr:hover,tbody tr:hover{background:var(--table-row-hover-bg)}.emp-cell{flex-direction:column;gap:2px;font-weight:700;display:flex}.id{font-family:var(--font-sans);font-variant-numeric:tabular-nums;color:var(--ink-soft);font-size:11px;font-weight:500}.pill{border-radius:var(--radius-pill);white-space:nowrap;align-items:center;gap:6px;min-height:22px;padding:3px 11px;font-size:11px;font-weight:600;display:inline-flex}.pill.present,.pill.ok{background:var(--good-bg);color:var(--success-ink)}.pill.late,.pill.review{background:var(--warn-bg);color:var(--warning-ink)}.pill.absent,.pill.blocked{background:var(--bad-bg);color:var(--red-600)}.pill.undertime{background:var(--purple-bg);color:var(--violet-ink)}.pill.category,.pill.pending{background:var(--pill-neutral-bg);color:var(--ink-700)}.section-label{margin:0 0 var(--space-2);color:var(--ink-soft);letter-spacing:.08em;text-transform:uppercase;font-size:11px;font-weight:900}.export-section{margin:var(--space-4) 0 0;padding:var(--space-3) var(--content-inset) var(--space-4);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-soft)}.export-toolbar{padding:12px var(--content-inset);flex-wrap:nowrap;justify-content:stretch;align-items:center;gap:0;margin-bottom:0;display:flex}.field-group{gap:var(--space-2);flex-wrap:nowrap;flex:auto;align-items:flex-end;min-width:0;display:flex}.export-toolbar .field{flex:120px;min-width:0;margin-bottom:0}.export-toolbar .field input,.export-toolbar .field select{min-height:38px}.export-btns{flex-wrap:nowrap;flex:none;align-items:center;gap:8px;display:flex}.category-export-btns{grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px;display:grid}.category-export-btns .btn{justify-content:center;width:100%;min-height:40px;font-size:12px;font-weight:700}.category-tabs{padding:var(--space-2) var(--content-inset) 0;flex-wrap:wrap;gap:6px;display:flex}.category-tabs button{border:1px solid var(--line-dark);background:var(--surface);min-height:32px;color:var(--ink-soft);cursor:pointer;border-radius:999px;padding:6px 12px;font-size:11.5px;font-weight:800;transition:background .15s,border-color .15s,color .15s}.category-tabs button:hover{border-color:var(--steel-border);color:var(--ink)}.category-tabs button.active{border-color:var(--charcoal);background:var(--charcoal);color:#fff}.category-tabs+.table-wrap{margin-top:var(--space-2)}.dtr-preview{margin-top:var(--space-3);overflow:hidden}tr.dtr-cross-site{background:var(--dtr-cross-site-bg)}.link-btn{color:var(--blue);cursor:pointer;text-underline-offset:2px;background:0 0;border:0;padding:0;font-size:12px;font-weight:800;text-decoration:underline}.link-btn:hover{color:var(--ink)}.link-btn.danger{color:var(--bad)}.link-btn.danger:hover{color:var(--link-danger-hover-ink)}.icon-btn{border:1px solid var(--line-dark);background:var(--surface);width:32px;height:32px;color:var(--ink);cursor:pointer;border-radius:50%;justify-content:center;align-items:center;padding:0;transition:background .15s,border-color .15s,transform .12s;display:inline-flex}.icon-btn svg{width:16px;height:16px;display:block}.icon-btn:hover{background:var(--btn-subtle-bg)}.icon-btn:active{transform:scale(.98)}.icon-btn:focus-visible{outline:2px solid var(--blue);outline-offset:2px}.icon-btn.danger{color:var(--bad);border-color:var(--danger-soft-border);background:var(--bad-bg)}.icon-btn.danger:hover{background:var(--danger-soft-hover-bg);border-color:var(--danger-soft-hover-border)}.roles-kpi{grid-template-columns:repeat(3,minmax(0,1fr))}.roles-workspace{align-items:start;gap:var(--space-4);grid-template-columns:minmax(320px,380px) minmax(0,1fr);width:100%}.roles-workspace .form-panel{align-self:stretch}.roles-panel-head .compact-input{width:min(220px,100%)}.panel-note{margin:4px 0 0;font-size:12px}.inline-form-row{align-items:flex-end;gap:var(--space-2);padding:0 var(--content-inset) var(--space-3);flex-wrap:wrap;display:flex}.inline-form-row .field{flex:1;min-width:180px;margin-bottom:0}.inline-form-row .btn{flex-shrink:0;margin-bottom:0}.panel-head-stack .sub.panel-note{max-width:none}.two-col{gap:var(--space-4);grid-template-columns:minmax(0,410px) minmax(0,1fr);align-items:start;display:grid}.form-panel{padding:var(--space-5)}.form-panel .field{margin-bottom:var(--space-3)}.field-row{gap:var(--space-2);grid-template-columns:1fr 1fr;display:grid}.mini-capture{border-radius:var(--radius);background:linear-gradient(145deg,var(--charcoal),var(--mini-capture-gradient-end));color:#ffffffbd;align-items:center;gap:14px;margin-bottom:18px;padding:14px;display:flex;overflow:hidden}.mini-capture-visual{flex-direction:column;flex-shrink:0;align-items:center;gap:10px;display:flex}.mini-viewfinder{background:var(--mini-viewfinder-bg);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:86px;height:86px;display:flex;box-shadow:inset 0 0 0 1px #ffffff1a}.mini-viewfinder .cam-icon{color:#fff}.mini-capture-copy{flex:1;font-size:12px;line-height:1.5}.consent-box{border:1px solid var(--consent-box-border);border-radius:var(--radius);background:var(--consent-box-bg);color:var(--ink-soft);align-items:flex-start;gap:10px;margin-bottom:16px;padding:12px 13px;font-size:12px;display:flex}.consent-box input{accent-color:var(--blue);margin-top:3px}.consent-box span{display:block}.required-note{color:var(--bad);margin:-6px 0 14px;font-size:12px;font-weight:700;display:none}.required-note.show{display:block}.form-actions{justify-content:flex-end;gap:10px;margin-top:8px;display:flex}.form-panel,.form-panel *{min-width:0}.modal.enroll-modal{width:min(1080px,96vw);max-width:96vw;padding:0;overflow:hidden}.enroll-head{border-bottom:1px solid var(--line);background:var(--enroll-head-bg);justify-content:space-between;align-items:flex-start;gap:18px;padding:22px 24px;display:flex}.enroll-head h2{font-family:var(--font-sans);text-transform:uppercase;margin:0;font-size:25px;line-height:1}.enroll-head .sub{margin:7px 0 0}.enroll-modal-body{grid-template-columns:minmax(0,.86fr) minmax(0,1.14fr);display:grid}.enroll-head-copy{flex:1;min-width:0}.enroll-close-btn{flex-shrink:0}.enroll-summary-panel{background:0 0;border:0}.enroll-summary-panel summary{display:none}.enroll-summary-panel .enroll-summary{display:block}.enroll-summary{border-right:1px solid var(--line);background:#fff;padding:22px 24px}.enroll-summary h3,.capture-stage h3{font-family:var(--font-sans);letter-spacing:.03em;text-transform:uppercase;margin:0 0 14px;font-size:16px}.summary-list{gap:10px;display:grid}.summary-item{border-bottom:1px solid var(--enroll-summary-border);min-height:42px;color:var(--ink-soft);justify-content:space-between;gap:14px;padding:10px 0;font-size:12px;font-weight:700;display:flex}.summary-item b{color:var(--ink);text-align:right;font-size:13px;font-weight:800}.enroll-state{border:1px solid var(--enroll-state-border);background:var(--enroll-state-bg);color:var(--enroll-state-ink);border-radius:8px;margin-top:18px;padding:13px 14px;font-size:13px}.enroll-state b{color:var(--ink);margin-bottom:3px;font-size:14px;display:block}.enroll-state.success{background:var(--good-bg);border-color:var(--enroll-success-border);color:var(--good)}.enroll-state.error{background:var(--bad-bg);border-color:var(--enroll-error-border);color:var(--bad)}.capture-stage{background:var(--capture-stage-bg);padding:24px 26px 26px}.capture-card{border:1px solid var(--capture-card-border);background:linear-gradient(180deg,var(--capture-card-gradient-top),var(--capture-card-gradient-bottom));color:#fff;border-radius:8px;flex-direction:column;align-items:center;min-height:500px;padding:22px;display:flex;position:relative;overflow:hidden;box-shadow:inset 0 0 0 1px #ffffff0a,0 12px 28px #12181f1f}.capture-card.live{background:var(--charcoal);align-items:center;gap:16px}.capture-card.live .enroll-camera-wrap{width:min(100%,420px)}.capture-card:before{content:"";pointer-events:none;border:1px solid #d9961838;border-radius:50%;width:330px;height:330px;position:absolute;top:42px;left:50%;transform:translate(-50%)}.capture-card.scanning:before,.capture-card.liveness:before{animation:1.5s ease-in-out infinite captureSweep}@keyframes captureSweep{0%,to{opacity:.35;transform:translate(-50%)scale(.92)}50%{opacity:.9;transform:translate(-50%)scale(1.05)}}.enroll-camera-wrap{width:100%}.camera-frame{background:var(--camera-frame-bg);position:relative;overflow:hidden}.camera-frame.circle{aspect-ratio:1;border-radius:50%;box-shadow:inset 0 0 0 1px #ffffff8c}.camera-feed{background:linear-gradient(180deg,var(--camera-feed-top) 0%,var(--camera-feed-mid) 42%,var(--camera-feed-bottom) 100%);position:absolute;inset:0}.camera-feed:after{content:"";background:radial-gradient(circle at 50% 36%,#ffffff3d,#0000 58%);position:absolute;inset:0}.camera-opening{color:var(--ink-soft);z-index:2;background:#ffffffb8;place-items:center;font-size:13px;font-weight:800;display:grid;position:absolute;inset:0}.camera-opening[hidden]{display:none}.face-guide-box{pointer-events:none;width:46%;height:56%;transition:left .1s linear,top .1s linear,width .1s linear,height .1s linear;position:absolute;top:22%;left:27%}.face-guide-box[hidden]{display:none}.face-guide-border{border:2px solid var(--face-guide-border-color);border-radius:12px;position:absolute;inset:0;box-shadow:0 0 0 999px #00000014}.guide-corner{border-top:4px solid var(--face-guide-border-color);border-left:4px solid var(--face-guide-border-color);width:32px;height:32px;position:absolute}.guide-corner.tl{top:-4px;left:-4px}.guide-corner.tr{top:-4px;right:-4px;transform:rotate(90deg)}.guide-corner.br{bottom:-4px;right:-4px;transform:rotate(180deg)}.guide-corner.bl{bottom:-4px;left:-4px;transform:rotate(-90deg)}.camera-frame[data-guide-state=searching] .face-guide-border,.camera-frame[data-guide-state=searching] .guide-corner{border-color:#ffffffbf}.camera-frame[data-guide-state=detected] .face-guide-border,.camera-frame[data-guide-state=detected] .guide-corner,.camera-frame[data-guide-state=ready] .face-guide-border,.camera-frame[data-guide-state=ready] .guide-corner{border-color:var(--face-guide-border-color)}.camera-guide-label{z-index:3;text-align:center;white-space:nowrap;border-radius:999px;min-width:144px;padding:4px 12px;font-size:12px;font-weight:800;line-height:1.35;position:absolute;bottom:16px;left:50%;transform:translate(-50%);box-shadow:0 1px 4px #0000001f}.camera-frame[data-guide-state=searching] .camera-guide-label{color:#fff;background:#00000073}.camera-frame[data-guide-state=detected] .camera-guide-label{color:#fff;background:#237044cc}.camera-frame[data-guide-state=ready] .camera-guide-label{color:#fff;background:#237044e6}.capture-copy{text-align:center;z-index:1;width:min(100%,330px)}.capture-copy .prompt{margin:0;font-size:15px;font-weight:900}.capture-copy .feedback{color:var(--capture-feedback-ink);margin:6px 0 0;font-size:12px;font-weight:700}.capture-progress{background:#ffffff1f;border-radius:999px;width:min(100%,330px);height:8px;margin:0;overflow:hidden}.capture-progress span{border-radius:inherit;background:var(--safety);width:0;height:100%;transition:width .25s;display:block}.liveness-panel{border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-soft);background:#fff;margin-top:16px;padding:16px}.liveness-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.liveness-eyebrow{color:var(--muted);text-transform:uppercase;letter-spacing:.1em;margin:0;font-size:11px;font-weight:900}.liveness-panel h4{font-family:var(--font-sans);text-transform:uppercase;margin:4px 0 0;font-size:20px}.liveness-feedback{color:var(--ink-soft);margin:4px 0 0;font-size:13px;font-weight:600}.liveness-badge{background:var(--liveness-badge-bg);min-height:28px;color:var(--steel-ink);border-radius:999px;align-items:center;padding:0 10px;font-size:12px;font-weight:900;display:inline-flex}.liveness-badge.complete{background:var(--good-bg);color:var(--good)}.liveness-progress{background:var(--liveness-track-bg);border-radius:999px;height:8px;margin-top:14px;overflow:hidden}.liveness-progress span{border-radius:inherit;background:var(--safety);width:0;height:100%;transition:width .25s;display:block}.liveness-steps{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:14px;display:grid}@media (min-width:720px){.liveness-steps{grid-template-columns:repeat(3,minmax(0,1fr))}}.liveness-step{border:1px solid var(--line);min-height:40px;color:var(--ink);background:#fff;border-radius:7px;align-items:center;gap:8px;padding:8px 10px;font-size:12px;font-weight:800;display:flex}.liveness-step.active{border-color:var(--safety);background:var(--liveness-step-active-bg)}.liveness-step.passed{border-color:var(--enroll-success-border);background:var(--good-bg);color:var(--good)}.liveness-step.failed{border-color:var(--enroll-error-border);background:var(--bad-bg);color:var(--bad)}.liveness-step-dot{background:var(--liveness-step-dot-bg);border-radius:50%;flex-shrink:0;width:8px;height:8px}.liveness-step.active .liveness-step-dot{background:var(--safety)}.liveness-step.passed .liveness-step-dot{background:var(--good)}.liveness-step-check{width:16px;height:16px;color:var(--good);flex-shrink:0}.liveness-actions{justify-content:flex-end;margin-top:12px;display:flex}.enroll-demo-controls{border:1px dashed var(--line-dark);background:#ffffffb3;border-radius:8px;margin-top:12px;padding:10px 12px}.enroll-demo-controls summary{cursor:pointer;color:var(--steel-ink);text-transform:uppercase;letter-spacing:.08em;font-size:11px;font-weight:900}.enroll-demo-actions{flex-wrap:wrap;gap:8px;margin-top:10px;display:flex}.capture-actions{border-top:1px solid var(--line);background:#fff;justify-content:flex-end;gap:10px;padding:18px 24px 22px;display:flex}.site-grid{gap:var(--space-3);margin-bottom:var(--space-4);grid-template-columns:repeat(auto-fill,minmax(220px,1fr));display:grid}.site-card{width:100%;min-width:0;min-height:138px;padding:var(--space-3);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-soft);text-align:left;cursor:pointer;font:inherit;color:inherit;display:block}.site-card:hover{border-color:var(--steel-border);box-shadow:var(--shadow);transform:translateY(-1px)}.site-code{font-family:var(--font-sans);font-variant-numeric:tabular-nums;color:var(--blue);font-size:11px;font-weight:800}.site-card h3{font-family:var(--font-sans);margin:7px 0 16px;font-size:19px;line-height:1.1}.site-stats{border-top:1px solid var(--site-stats-border);color:var(--ink-soft);grid-template-columns:1fr 1fr;gap:10px;padding-top:12px;font-size:12px;display:grid}.site-stats b{color:var(--ink);font-family:var(--font-sans);margin-top:3px;font-size:17px;display:block}.site-card.add-card{min-height:138px;color:var(--steel-ink);background:0 0;border-style:dashed;justify-content:center;align-items:center;font-weight:900;display:flex}.site-card.inactive{opacity:.72}.site-status{text-transform:uppercase;letter-spacing:.08em;color:var(--ink-soft);margin-top:10px;font-size:11px;font-weight:800;display:block}.site-card.inactive .site-status{color:var(--bad)}.sites-panel-head .compact-input{width:min(220px,100%)}.assignment-actions{flex-wrap:wrap;gap:6px;display:flex}.history-note{color:var(--ink-soft);font-size:12px;font-weight:700}.modal-overlay{z-index:60;padding:var(--space-5);background:#12181f94;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal-overlay[hidden]{display:none}.modal{width:430px;max-width:94vw;padding:var(--space-5);background:var(--surface);border-radius:12px;box-shadow:0 24px 70px #00000042}.modal .field{margin-bottom:var(--space-3)}.modal .button-row{margin-top:var(--space-4)}.toast{z-index:90;background:var(--charcoal);color:#fff;opacity:0;pointer-events:none;border-radius:999px;align-items:center;gap:10px;max-width:min(720px,100vw - 32px);padding:13px 18px;font-size:13px;transition:all .22s;display:flex;position:fixed;bottom:24px;left:50%;transform:translate(-50%)translateY(18px);box-shadow:0 18px 38px #00000038}.toast.show{opacity:1;transform:translate(-50%)translateY(0)}@media (prefers-reduced-motion:reduce){*,:before,:after{transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}.btn:active{transform:none}}@media (max-width:1080px){.admin{display:flex}.admin-nav{width:176px;padding:var(--space-3) var(--space-2)}.nav-title{font-size:15px}.nav-item{min-height:36px;padding:6px 8px;font-size:12px}.admin-main{padding:var(--space-4) 18px var(--space-5)}.kpi-row{grid-template-columns:repeat(2,minmax(130px,1fr))}.two-col{gap:var(--space-3);grid-template-columns:minmax(260px,320px) minmax(0,1fr)}.roles-kpi{grid-template-columns:repeat(3,minmax(0,1fr))}.roles-workspace{gap:var(--space-3);grid-template-columns:minmax(240px,300px) minmax(0,1fr)}.inline-form-row{align-items:flex-end}.page-header{flex-direction:column}.filters-toolbar{width:100%}.export-toolbar{flex-wrap:wrap;align-items:flex-end}.field-group{flex-wrap:wrap}.site-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));justify-content:stretch}.data-table,table{min-width:760px;font-size:12px}.field-row{gap:10px}}@media (max-width:980px){.kiosk{justify-content:center;align-items:flex-start;padding-inline:clamp(20px,4vw,40px);display:flex;overflow:visible}.kiosk-shell,.terminal-shell{max-width:min(820px,94vw);min-height:auto;padding-bottom:clamp(16px,3vh,28px)}.terminal-scan .scan-ring{width:min(48vh,400px);min-width:0;margin-top:clamp(10px,2vh,20px)}.terminal-clock b{font-size:clamp(44px,7vh,72px)}.terminal-site-card{width:min(100%,520px)}}@media (max-width:900px){.admin-nav{top:var(--topbar-height);z-index:25;width:min(288px,88vw);max-height:none;position:fixed;bottom:0;left:0;transform:translate(-105%)}.admin-main{width:100%;max-width:100%;margin-left:0}}@media (max-width:720px){.topbar:not(.admin-top){flex-direction:column;align-items:flex-start}.topbar:not(.admin-top) .topbar-actions{justify-content:space-between;width:100%}.kiosk-demo-drawer{width:auto;left:12px;right:12px}.demo-grid,.field-row,.kiosk .kpi-row,.enroll-modal-body{grid-template-columns:1fr}.enroll-summary{border-right:0;border-bottom:1px solid var(--line)}.capture-actions{flex-wrap:wrap}.capture-actions .btn{flex:1;min-width:140px}.admin-main{padding:var(--space-4) var(--space-3) var(--space-5)}.panel-head,.data-table thead th,.data-table tbody td,.export-toolbar,.category-tabs,.role-def-list,.role-policy-note{padding-inline:var(--space-3)}.filters,.filters input,.filters select{width:100%}.panel-head{flex-direction:column;align-items:flex-start}.panel-head select{width:100%;max-width:none}.category-export-btns{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;display:grid}.category-export-btns .btn{width:100%}}
.kiosk .camera-video-wrap,.enroll-camera-wrap .camera-video-wrap,.capture-card .camera-video-wrap,.driver-scan-card .camera-video-wrap{border-radius:inherit;z-index:1;background:#111315;position:absolute;inset:0;overflow:hidden}.camera-live-video{-o-object-fit:cover;object-fit:cover;opacity:1;border-radius:inherit;background:#111315;width:100%;height:100%;display:block}.camera-live-video.mirrored{transform:scaleX(-1)}.camera-opening{color:var(--ink-soft);z-index:3;text-align:center;background:#ffffffd1;flex-direction:column;justify-content:center;align-items:center;gap:10px;padding:16px;font-size:13px;font-weight:800;display:flex;position:absolute;inset:0}.camera-opening small{color:var(--muted);max-width:220px;font-size:11px;font-weight:600;line-height:1.4}.camera-prompt{background:linear-gradient(#e8edf0f2 0%,#d7e0e5f2 100%)}.camera-enable-btn{min-width:160px;min-height:40px;margin-top:4px}.camera-error{color:var(--bad);background:#fde7e7eb}.kiosk .scan-ring-inner.scan-ring-live,.driver-scan-card .scan-ring-inner.scan-ring-live{background:#111315;position:relative}.kiosk .scan-ring-inner .scan-crosshair,.driver-scan-card .scan-ring-inner .scan-crosshair{z-index:2;pointer-events:none}.kiosk-driver-hint{width:min(100%,560px);color:var(--ink-soft);text-align:center;background:#f4f8fb;border:1px solid #d5e3ec;border-radius:10px;margin:0 0 12px;padding:10px 14px;font-size:13px;font-weight:600}.kiosk-driver-hint a{color:var(--blue);font-weight:800}@media (max-width:720px){.topbar:not(.admin-top){flex-direction:row;align-items:center;gap:10px;min-height:56px;padding:10px 14px}.topbar:not(.admin-top) .brand{flex:1;min-width:0}.topbar:not(.admin-top) .brand-logo{height:34px}.topbar:not(.admin-top) .brand small{display:none}.topbar:not(.admin-top) .topbar-actions{flex-wrap:nowrap;flex-shrink:0;justify-content:flex-end;gap:6px;width:auto}.topbar:not(.admin-top) .system-chip{display:none}.topbar:not(.admin-top) .btn{white-space:nowrap;min-height:34px;padding:6px 10px;font-size:11px}.kiosk{padding:12px 14px max(96px, calc(80px + env(safe-area-inset-bottom,0px)));overflow:visible}.kiosk-shell{padding-top:8px;padding-bottom:12px}.terminal-header{margin-bottom:24px}.terminal-clock b{font-size:clamp(34px,9.5vw,48px);line-height:.95}.terminal-date{flex-flow:wrap;justify-content:center;gap:4px 8px;margin-top:6px}.terminal-day{font-size:14px}.terminal-full-date{font-size:13px}.terminal-site-card{border-radius:10px;flex-direction:row;align-items:center;gap:8px;width:100%;max-width:320px;margin-top:8px;padding:8px 10px;box-shadow:0 4px 14px #12181f0d}.terminal-site-card>svg{flex-shrink:0;width:18px;height:18px;display:block}.terminal-site-copy{display:none}.terminal-site-select{flex:1;width:auto;min-width:0;margin:0}.terminal-site-select select{color:#171a1f;background:#f8fafb;border:1px solid #e3e8ec;border-radius:8px;width:100%;max-width:none;min-height:34px;padding:7px 30px 7px 10px;font-size:12px;font-weight:700}.terminal-site-select svg{width:14px;height:14px;right:8px}.terminal-scan .scan-ring{width:min(72vw,280px);margin-top:28px}.terminal-feedback{margin-top:12px;padding-bottom:6px;font-size:15px}.kiosk-demo-drawer{top:calc(var(--topbar-height) + 6px);width:auto;max-width:148px;bottom:auto;left:auto;right:10px}.kiosk-demo-drawer summary{letter-spacing:.06em;padding:6px 8px;font-size:8px}}@media (max-width:420px){.topbar:not(.admin-top) .btn{min-height:32px;padding:5px 8px;font-size:10px}.terminal-clock b{font-size:clamp(30px,8.8vw,42px)}.terminal-site-card{max-width:100%}.terminal-scan .scan-ring{width:min(76vw,260px)}}.driver-page{min-height:calc(100vh - var(--topbar-height));background:linear-gradient(#fcfcfb 0%,#eef1f3 100%);padding:16px 16px 32px}.driver-shell{flex-direction:column;gap:16px;max-width:480px;margin:0 auto;display:flex}.driver-employee-label{text-align:center;color:var(--ink-soft);margin:0 0 12px;font-size:14px;font-weight:700}.driver-scan-card .terminal-feedback{margin-top:16px}.driver-scan-card{border:1px solid var(--line);box-shadow:var(--shadow-soft);background:#fff;border-radius:16px;padding:16px}.driver-scan-card .scan-ring{width:min(100%,320px);margin:0 auto}.driver-site-line{text-align:center;color:var(--ink);margin:0 0 6px;font-size:15px;font-weight:800;line-height:1.35}.driver-site-line.pending{color:var(--ink-soft);font-weight:600}.driver-site-line.review{color:var(--steel);font-weight:700}.driver-gps-line{text-align:center;color:var(--ink-soft);font-variant-numeric:tabular-nums;margin:0 0 14px;font-size:13px;font-weight:600}.driver-device-time{text-align:center;color:var(--ink-soft);font-variant-numeric:tabular-nums;margin:14px 0 0;font-size:12px}.driver-actions{grid-template-columns:1fr 1fr;gap:10px;margin-top:16px;display:grid}.driver-actions .btn{min-height:48px;font-size:14px}@media (max-width:900px){.admin-nav-backdrop{inset:var(--topbar-height) 0 0 0;z-index:24;opacity:0;pointer-events:none;cursor:pointer;background:#0f111361;border:0;margin:0;padding:0;transition:opacity .22s;position:fixed}.admin-nav-backdrop.visible{opacity:1;pointer-events:auto}.admin-nav{top:var(--topbar-height);z-index:25;width:min(288px,88vw);max-height:none;padding:var(--space-3) var(--space-2);border-right:1px solid var(--line);background:var(--surface);-webkit-overflow-scrolling:touch;border-bottom:0;transition:transform .24s;position:fixed;bottom:0;left:0;overflow:hidden auto;transform:translate(-105%);box-shadow:8px 0 32px #12181f1a}.admin-nav.open{transform:translate(0)}.admin-nav .nav-title,.admin-nav .nav-label{display:block}.admin-nav .nav-item{white-space:normal;width:100%;padding:var(--space-1) 10px;margin-bottom:2px}.admin-main{width:100%;max-width:100%;padding:var(--space-4) 12px var(--space-5);margin-left:0;overflow-x:hidden}.admin-main .page-header,.admin-main .page-header.page-header-split{align-items:stretch}.admin-main .page-header-main{text-align:left}.admin-main .filters-toolbar{flex-wrap:nowrap;align-items:center;gap:6px;width:100%;display:flex}.admin-main .filters-toolbar .filters-search{flex:2.75 1 0;width:auto;min-width:0}.admin-main .filters-toolbar .filters-site,.admin-main .filters-toolbar .filters-status{flex:.85 0 88px;width:auto;min-width:72px;max-width:96px}.admin-main .filters-toolbar input,.admin-main .filters-toolbar select{width:100%;min-width:0;min-height:34px;padding:6px 8px;font-size:11px}.admin-main .filters-toolbar select{padding-right:24px}.admin-mobile-nav-toggle{display:inline-flex!important}.topbar.admin-top{flex-flow:row;align-items:center;gap:10px;min-height:56px;padding:10px 14px}.topbar.admin-top .brand{min-width:0}.topbar.admin-top .brand-logo{height:34px}.topbar.admin-top .brand small{display:none}.topbar.admin-top .topbar-actions{flex-shrink:0;justify-content:flex-end;gap:6px;width:auto}.topbar.admin-top .system-chip{display:none}.topbar.admin-top .btn{min-height:36px;padding:0 11px;font-size:12px}.topbar.admin-top .admin-mobile-nav-toggle{display:inline-flex!important}.admin-main .table-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.admin-main .data-table th:first-child,.admin-main .data-table td:first-child{border-right:1px solid var(--line);min-width:118px;max-width:132px;padding-left:12px;position:sticky;left:0}.admin-main .data-table thead th:first-child{z-index:4;background:var(--surface-2)}.admin-main .data-table tbody td:first-child{z-index:2;background:var(--surface);border-right:1px solid var(--line)}.admin-main .data-table tbody tr:hover td:first-child{background:#fafbfc}.admin-main .data-table td:first-child .emp-cell{max-width:132px}.admin-main .data-table td:first-child .emp-cell>:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-main .panel .table-wrap{width:calc(100% + 24px);margin-inline:-12px}.admin-main .table-wrap{position:relative}.admin-main .data-table thead th{position:static;top:auto}.admin-main .data-table thead th:first-child{z-index:4;background:var(--surface-2);position:sticky;top:0;left:0}.page-header .filters,.panel-head .button-row{width:100%}.panel-head .button-row .btn{flex:calc(50% - 5px);min-width:0}.admin-main .panel-head,.admin-main .sites-panel-head,.admin-main .roles-panel-head{flex-direction:column;align-items:stretch;gap:12px}.admin-main .panel-head:has(.button-row){flex-flow:wrap;justify-content:space-between;align-items:center;gap:8px;padding:10px 12px}.admin-main .panel-head:has(.button-row) h2{font-size:13px;line-height:1.2}.admin-main .panel-head:has(.button-row) .button-row{flex-direction:row;flex-shrink:0;gap:6px;width:auto}.admin-main .panel-head:has(.button-row) .button-row .btn{white-space:nowrap;flex:none;width:auto;min-width:0;min-height:32px;padding:5px 10px;font-size:10px;line-height:1.2}.admin-main .panel-head .compact-input,.admin-main .sites-panel-head .compact-input,.admin-main .roles-panel-head .compact-input{width:100%}.admin-main .panel-head>.btn,.admin-main .panel-head>.btn.primary{width:100%;min-height:42px}.admin-main .directory-toolbar{justify-content:flex-start;align-items:center;gap:10px;padding:0 12px 10px;display:flex}.admin-main .panel-head.directory-head{flex-direction:row;justify-content:space-between;align-items:center;gap:10px}.admin-main .panel-head.directory-head .btn{white-space:nowrap;width:auto;min-width:110px;min-height:34px;padding:0 12px;font-size:11px}.admin-main .panel-head.roles-directory-head h2{font-size:14px}.admin-main .directory-stats{flex-wrap:wrap;align-items:center;gap:10px;display:inline-flex}.admin-main .directory-stats span{min-height:26px;color:var(--steel);letter-spacing:.05em;text-transform:uppercase;background:#eef2f5;border:1px solid #e2e7ec;border-radius:999px;justify-content:center;align-items:center;padding:0 11px;font-size:10px;font-weight:800;display:inline-flex}.admin-main .directory-search-row{padding:0 12px 12px}.admin-main .directory-search-row .compact-input{width:100%;min-height:36px;font-size:12px}.admin-main .directory-filter-row{-webkit-overflow-scrolling:touch;scrollbar-width:none;gap:6px;padding:0 12px 12px;display:flex;overflow-x:auto}.admin-main .directory-filter-row::-webkit-scrollbar{display:none}.admin-main .directory-filter-row button{border:1px solid var(--line-dark);background:var(--surface);min-height:28px;color:var(--steel);letter-spacing:.03em;text-transform:uppercase;white-space:nowrap;border-radius:999px;flex:none;padding:0 10px;font-size:10px;font-weight:800}.admin-main .directory-filter-row button.active{border-color:var(--charcoal);background:var(--charcoal);color:#fff}.admin-main .export-toolbar{flex-direction:column;align-items:stretch;gap:10px;padding:12px}.admin-main .export-toolbar .field-group{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;display:grid}.admin-main .export-toolbar .field-group .field{letter-spacing:.06em;gap:4px;width:100%;min-width:0;margin-bottom:0;font-size:10px}.admin-main .export-toolbar .field-group .field:last-child{grid-column:1/-1}.admin-main .export-toolbar .field input,.admin-main .export-toolbar .field select{min-height:34px;padding:6px 8px;font-size:12px}.admin-main .export-btns{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;width:100%;display:grid}.admin-main .export-btns .btn{white-space:normal;text-align:center;width:100%;min-height:36px;padding:6px 8px;font-size:10px;line-height:1.25}.admin-main .export-section{margin-top:var(--space-2)}.admin-main .export-section .section-label{margin-bottom:8px;font-size:10px}.admin-main .export-kpi{margin-bottom:var(--space-2)}.admin-main .export-kpi .kpi{min-height:72px;padding:12px}.admin-main .export-kpi .kpi b{font-size:22px}.admin-main .export-kpi .kpi span{font-size:9px}.export-toolbar-compact{position:relative}.export-period-inline{align-items:center;gap:6px;margin-bottom:10px;display:flex}.export-period-inline input[type=date]{border:1px solid var(--line-dark);background:var(--surface);min-width:0;min-height:34px;color:var(--ink);border-radius:6px;flex:1 1 0;padding:5px 6px;font-size:12px;font-weight:600}.export-period-inline .period-sep{color:var(--muted);flex:none;font-size:14px;font-weight:800}.export-period-inline select{border:1px solid var(--line-dark);background:var(--surface);min-width:0;min-height:34px;color:var(--ink);border-radius:6px;flex:1 1 0;padding:5px 6px;font-size:12px;font-weight:600}.export-toolbar-compact .export-btns{gap:6px;display:flex}.export-toolbar-compact .export-btns>.btn,.export-toolbar-compact .export-btns>.export-payroll-wrap{flex:1 1 0}.export-toolbar-compact .export-btns .btn{white-space:nowrap;width:100%;min-height:36px;padding:6px 4px;font-size:11px}.export-payroll-wrap .category-export-menu{min-width:180px;left:auto;right:0}.modal.enroll-sheet{-webkit-overflow-scrolling:touch;border-radius:16px 16px 0 0;width:100%;max-width:100%;max-height:92dvh;padding:0;position:fixed;bottom:0;left:0;right:0;overflow-y:auto}.enroll-sheet-head{border-bottom:1px solid var(--line);font-family:var(--font-sans);text-transform:uppercase;letter-spacing:.03em;background:var(--surface);z-index:1;justify-content:space-between;align-items:center;padding:16px 20px 12px;font-size:17px;font-weight:600;display:flex;position:sticky;top:0}.enroll-sheet form{padding:16px 20px 32px}.assign-role-sheet-form .field{margin-bottom:12px}.site-detail-modal{width:min(620px,96vw);max-width:96vw}.site-detail-kpis{gap:10px;margin:10px 0 12px;display:flex}.site-detail-kpi{border:1px solid var(--line);background:var(--surface-2);border-radius:8px;flex:1 1 0;min-width:0;padding:10px}.site-detail-kpi b{font-size:30px;line-height:1;font-family:var(--font-sans);color:var(--ink);display:block}.site-detail-kpi span{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.07em;margin-top:4px;font-size:10px;font-weight:800;display:block}.site-detail-kpi.good b{color:var(--good)}.site-detail-assignments{border:1px solid var(--line);box-shadow:none;margin-top:12px}.attendance-review-modal{width:min(520px,96vw)}.review-employee-block{border:1px solid var(--line);background:var(--surface-2);border-radius:8px;justify-content:space-between;align-items:center;gap:12px;margin:12px 0;padding:12px;display:flex}.review-meta{flex-wrap:wrap;justify-content:flex-end;gap:6px;display:flex}.review-summary{margin-bottom:12px}.review-summary .summary-item{min-height:0;padding:8px 0}.icon-close-btn{color:var(--ink-soft);cursor:pointer;background:0 0;border:none;padding:4px 8px;font-size:16px;line-height:1}.modal-overlay:has(.enroll-sheet){align-items:flex-end;padding:0}.export-view-tabs{margin-bottom:var(--space-3);border:1px solid var(--line-dark);border-radius:8px;gap:0;display:flex;overflow:hidden}.export-view-tabs button{background:var(--surface-2);color:var(--ink-soft);text-transform:uppercase;letter-spacing:.03em;cursor:pointer;border:none;flex:1;padding:10px 8px;font-size:13px;font-weight:800;transition:background .15s,color .15s}.export-view-tabs button+button{border-left:1px solid var(--line-dark)}.export-view-tabs button.active{background:var(--charcoal);color:#fff}.admin-main .category-export-btns{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;gap:6px;padding-bottom:6px;overflow-x:auto}.admin-main .category-export-btns::-webkit-scrollbar{display:none}.admin-main .category-export-btns .btn{white-space:nowrap;flex:none;min-height:32px;padding:5px 10px;font-size:11px}.admin-main .site-grid{-webkit-overflow-scrolling:touch;scroll-snap-type:x proximity;scrollbar-width:none;gap:10px;padding-bottom:8px;display:flex;overflow:auto hidden}.admin-main .site-grid::-webkit-scrollbar{display:none}.admin-main .site-grid .site-card{scroll-snap-align:start;flex:0 0 min(86vw,320px)}.admin-main .mini-capture{text-align:center;flex-direction:column;align-items:stretch;gap:12px;padding:12px}.admin-main .mini-capture-visual{align-items:center}.admin-main .mini-capture .btn{width:100%;max-width:220px}.admin-main .consent-box,.admin-main .required-note{word-break:break-word}.admin-main .form-actions{flex-direction:column-reverse;gap:8px}.admin-main .form-actions .btn{width:100%;min-height:44px}.admin-main .form-panel{padding:var(--space-3);overflow:hidden}.admin-main .form-panel .field input,.admin-main .form-panel .field select{width:100%;max-width:100%}.admin-main .two-col,.admin-main .roles-workspace{gap:var(--space-3)}.admin-main .inline-form-row{flex-direction:column;align-items:stretch}.admin-main .inline-form-row .btn{width:100%;min-height:44px}.admin-main .assignment-actions{flex-flow:wrap;align-items:stretch;gap:6px;min-width:148px}.admin-main .assignment-actions .btn.small{flex:calc(50% - 4px);width:auto;min-height:32px;padding:4px 8px;font-size:10px}.admin-main .assignment-action-select{border:1px solid var(--line-dark);background:var(--surface);width:100%;min-width:120px;min-height:34px;color:var(--ink);border-radius:8px;padding:6px 8px;font-size:11px;font-weight:700}.admin-main .category-tabs{-webkit-overflow-scrolling:touch;scrollbar-width:none;flex-wrap:nowrap;padding-bottom:8px;overflow-x:auto}.admin-main .category-tabs::-webkit-scrollbar{display:none}.admin-main .category-tabs button{flex-shrink:0}body:has(.admin-nav.open){overflow:hidden}}@media (max-width:720px){.two-col,.roles-workspace,.enroll-modal-body{grid-template-columns:1fr!important}.admin-main .kpi-row{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-main .roles-kpi{grid-template-columns:1fr}.admin-main{padding:var(--space-3) 12px var(--space-5)}.admin-main .page-header{margin-bottom:var(--space-3);gap:12px}.admin-main .page-header h1{font-size:22px}.admin-main .sub{font-size:12px;line-height:1.5}.admin-main .panel-head h2{font-size:15px;line-height:1.25}.admin-main .panel-head h2 span{margin-top:4px;font-size:12px;display:block}.admin-main .panel-head:has(.button-row) h2{font-size:12px}.admin-main .panel-head:has(.button-row) .button-row .btn{min-height:30px;padding:4px 8px;font-size:9px}.admin-main .data-table{min-width:680px;font-size:12px}.admin-main .data-table thead th,.admin-main .data-table tbody td{padding:10px 12px}.admin-main .panel-head,.admin-main .export-toolbar,.admin-main .category-tabs{padding-inline:var(--space-3)}.admin-main .form-panel{padding:var(--space-3)}.field-row{grid-template-columns:1fr}.topbar.admin-top .admin-top-kiosk{display:none}.modal-overlay:has(.enroll-modal){align-items:flex-end;padding:0}.modal.enroll-modal{border-radius:16px 16px 0 0;flex-direction:column;width:100%;max-width:100%;max-height:min(94dvh,100%);display:flex;overflow:hidden}.enroll-head{flex-direction:row;flex-shrink:0;justify-content:space-between;align-items:flex-start;gap:12px;padding:14px 16px}.enroll-head h2{font-size:18px;line-height:1.1}.enroll-head .sub{margin-top:4px;font-size:12px;line-height:1.45}.enroll-head .enroll-close-btn{width:auto;min-height:36px;padding-inline:12px}.enroll-modal-body{-webkit-overflow-scrolling:touch;flex-direction:column;flex:auto;min-height:0;display:flex;overflow-y:auto}.enroll-summary-panel{border-bottom:1px solid var(--line);background:#fff}.enroll-summary-panel summary{color:var(--ink);font-family:var(--font-sans);letter-spacing:.03em;text-transform:uppercase;cursor:pointer;justify-content:space-between;align-items:center;padding:12px 16px;font-size:14px;font-weight:600;list-style:none;display:flex}.enroll-summary-panel summary::-webkit-details-marker{display:none}.enroll-summary-panel summary:after{content:"▾";color:var(--steel);font-size:14px;line-height:1;transition:transform .2s}.enroll-summary-panel:not([open]) summary:after{transform:rotate(-90deg)}.enroll-summary-panel .enroll-summary{border-right:0;padding:0 16px 14px}.enroll-summary-panel .enroll-summary h3{display:none}.enroll-summary-panel .summary-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 12px}.enroll-summary-panel .summary-item{border-bottom:0;flex-direction:column;align-items:flex-start;gap:2px;min-height:0;padding:0}.enroll-summary-panel .summary-item b{text-align:left;word-break:break-word;font-size:12px;line-height:1.35}.enroll-summary-panel .enroll-state{margin-top:12px;padding:10px 12px;font-size:12px}.enroll-summary-panel .enroll-state b{font-size:13px}.capture-stage{flex-shrink:0;padding:14px 16px 16px}.capture-stage h3{margin-bottom:10px;font-size:14px}.capture-card{gap:12px;min-height:0;padding:12px}.capture-card:before{width:min(64vw,220px);height:min(64vw,220px);top:18px}.capture-card.live .enroll-camera-wrap{width:min(100%,240px)}.enroll-camera-wrap .camera-frame.circle{width:min(64vw,220px);margin-inline:auto}.capture-copy{width:100%}.capture-copy .prompt{font-size:14px}.capture-copy .feedback{font-size:11px}.capture-progress{width:100%}.liveness-panel{margin-top:12px;padding:12px}.liveness-panel h4{font-size:16px}.liveness-steps{grid-template-columns:1fr}.liveness-step{min-height:36px;font-size:11px}.capture-actions{padding:12px 16px max(16px, env(safe-area-inset-bottom,0px));border-top:1px solid var(--line);background:#fff;flex-direction:column-reverse;flex-shrink:0;gap:8px}.capture-actions .btn{flex:none;width:100%;min-width:0;min-height:44px}.liveness-head{flex-direction:column;align-items:stretch}.liveness-actions{flex-direction:column;gap:8px}.liveness-actions .btn{width:100%}.enroll-demo-actions{flex-direction:column}.enroll-demo-actions .btn{width:100%}.admin-main .consent-box{align-items:flex-start}.admin-main .consent-box span{font-size:11px;line-height:1.5}.modal-overlay{align-items:center;padding:16px}.modal{width:100%;max-width:100%;padding:var(--space-4)}.modal .button-row{flex-direction:column-reverse;gap:8px}.modal .button-row .btn{width:100%;min-height:44px}}@media (max-width:420px){.admin-main .kpi-row{grid-template-columns:1fr 1fr;gap:8px}.admin-main .kpi{min-height:76px;padding:12px}.admin-main .kpi b{font-size:24px}.admin-main .site-stats{grid-template-columns:1fr}.topbar.admin-top .admin-top-logout{padding-inline:10px}}.admin-main .page-header,.admin-main .kpi-row{margin-bottom:var(--space-4)}.export-payroll-wrap{position:relative}.export-toolbar-inline{justify-content:space-between;align-items:center;gap:12px;width:100%;min-width:0;display:flex}.export-period-inline{flex:auto;align-items:center;gap:8px;min-width:0;display:flex}.export-period-inline input[type=date],.export-period-inline select{border:1px solid var(--line-dark);background:var(--surface);min-width:0;min-height:40px;color:var(--ink);border-radius:7px;flex:1 1 0;padding:6px 10px;font-size:13px;font-weight:600}.export-period-inline .period-sep{color:var(--muted);flex:none;font-size:14px;font-weight:800}.export-toolbar-inline .export-btns{flex-wrap:nowrap;flex:none;align-items:center;gap:8px;display:flex}.export-toolbar-inline .export-btns .btn{white-space:nowrap;min-height:40px;padding:0 14px}.category-export-menu{z-index:20;border:1px solid var(--line-dark);background:var(--surface);border-radius:8px;flex-direction:column;min-width:200px;display:flex;position:absolute;top:calc(100% + 4px);left:0;overflow:hidden;box-shadow:0 8px 24px #12181f1f}.category-export-menu-item{text-align:left;color:var(--ink);cursor:pointer;background:0 0;border:none;padding:11px 14px;font-size:13px;font-weight:700}.category-export-menu-item+.category-export-menu-item{border-top:1px solid var(--line)}.category-export-menu-item:hover,.category-export-menu-item:active{background:var(--surface-2)}.admin-main .site-grid,.admin-main .roles-workspace,.admin-main .two-col{margin-bottom:14px}.admin-main .panel-head{padding-block:12px}.admin-main .form-panel .field{margin-bottom:12px}.admin-main .table-wrap{margin-top:0}@media (max-width:900px){.admin-main .page-header,.admin-main .kpi-row{margin-bottom:10px}.admin-main .panel-head{gap:10px;padding:10px 12px}.admin-main .form-panel,.admin-main .panel{border-radius:10px}.admin-main .form-panel .field{margin-bottom:10px}.admin-main .inline-form-row{padding:0 12px 12px}.admin-main .site-grid,.admin-main .roles-workspace,.admin-main .two-col{margin-bottom:10px}}html{-moz-text-size-adjust:100%;text-size-adjust:100%}body{overflow-x:hidden}#root{min-width:0;max-width:100vw;overflow-x:hidden}@media (max-width:900px){:root{--mobile-pad:clamp(10px, 3.2vw, 16px);--mobile-gap:clamp(8px, 2.4vw, 12px);--mobile-title:clamp(18px, 5.6vw, 24px);--mobile-h2:clamp(13px, 3.8vw, 16px);--mobile-body:clamp(12px, 3.4vw, 13px);--mobile-btn-h:clamp(34px, 10vw, 42px)}.admin,.admin-main,.admin-main .panel,.admin-main .form-panel,.admin-main .export-toolbar,.admin-main .dtr-preview,.admin-main .page-header,.admin-main .two-col,.admin-main .roles-workspace,.admin-main .site-grid{min-width:0;max-width:100%}.admin-main{padding:clamp(12px, 3.5vw, 18px) var(--mobile-pad) calc(clamp(20px, 6vw, 32px) + env(safe-area-inset-bottom,0px))}.admin-main .page-header h1{font-size:var(--mobile-title);line-height:1.12}.admin-main .sub{max-width:100%;font-size:clamp(11px,3.2vw,13px)}.admin-main .panel-head h2,.admin-main .form-panel h2,.modal h2{font-size:var(--mobile-h2)}.admin-main .kpi-row{gap:var(--mobile-gap)}.admin-main .kpi{min-height:clamp(68px,20vw,84px);padding:clamp(10px,3vw,14px)}.admin-main .kpi b{font-size:clamp(20px,6.5vw,28px)}.admin-main .kpi span{font-size:clamp(9px,2.8vw,10.5px)}.admin-main .filters-toolbar{gap:clamp(4px,1.5vw,8px)}.admin-main .filters-toolbar .filters-search{flex:1.8 1 0}.admin-main .filters-toolbar .filters-site,.admin-main .filters-toolbar .filters-status{flex:.7 1 0;min-width:0;max-width:none}.admin-main .filters-toolbar input,.admin-main .filters-toolbar select{min-height:var(--mobile-btn-h);padding:6px clamp(6px,2vw,10px);font-size:clamp(10px,3vw,12px)}.admin-main .data-table{min-width:min(680px,170vw);font-size:clamp(11px,3.1vw,12.5px)}.admin-main .data-table thead th,.admin-main .data-table tbody td{padding:clamp(8px,2.4vw,12px) clamp(10px,2.8vw,14px)}.admin-main .data-table th:first-child,.admin-main .data-table td:first-child{min-width:clamp(108px,34vw,140px);max-width:clamp(118px,38vw,150px)}.admin-main .site-grid .site-card{flex:0 0 min(82vw,300px)}.admin-main .directory-stats{gap:clamp(6px,2vw,10px)}.admin-main .directory-stats span{min-height:clamp(22px,6.5vw,28px);padding:0 clamp(8px,2.5vw,12px);font-size:clamp(9px,2.7vw,10px)}.admin-main .directory-filter-row{padding-inline:var(--mobile-pad);gap:clamp(5px,1.8vw,8px)}.admin-main .panel-head,.admin-main .directory-toolbar,.admin-main .directory-search-row,.admin-main .export-toolbar,.admin-main .category-tabs,.admin-main .inline-form-row{padding-inline:var(--mobile-pad)}.admin-main .panel .table-wrap{margin-inline:calc(var(--mobile-pad) * -1);width:calc(100% + (var(--mobile-pad) * 2))}.topbar.admin-top{padding-left:max(var(--mobile-pad), env(safe-area-inset-left,0px));padding-right:max(var(--mobile-pad), env(safe-area-inset-right,0px))}.modal,.modal.enroll-sheet,.modal.site-detail-modal,.modal.attendance-review-modal{width:min(100%,100vw);max-width:100%;max-height:min(94dvh, calc(100dvh - env(safe-area-inset-top,0px)))}:is(.modal.enroll-sheet,.modal-overlay:has(.enroll-sheet) .modal){padding-bottom:max(16px, env(safe-area-inset-bottom,0px))}.export-period-inline{gap:clamp(4px,1.5vw,8px)}.export-period-inline input[type=date],.export-period-inline select{min-height:clamp(32px,9vw,36px);font-size:clamp(11px,3vw,12px)}.export-toolbar-compact .export-btns .btn,.admin-main .btn,.modal .btn{min-height:var(--mobile-btn-h)}.assignment-action-select{min-width:clamp(100px,28vw,132px)}.review-employee-block,.site-detail-kpis{flex-wrap:wrap}.site-detail-kpi{min-width:min(100%,140px)}}@media (max-width:480px){.admin-main .filters-toolbar{grid-template-columns:1.4fr 1fr 1fr;gap:6px;display:grid}.admin-main .filters-toolbar .filters-search,.admin-main .filters-toolbar .filters-site,.admin-main .filters-toolbar .filters-status{flex:none;width:100%;min-width:0;max-width:none}.admin-main .kpi-row,.admin-main .roles-kpi,.admin-main .export-kpi{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-main .panel-head.directory-head{gap:8px}.admin-main .panel-head.directory-head .btn{min-width:0;padding-inline:10px}.export-view-tabs button{padding:9px 6px;font-size:clamp(11px,3.2vw,13px)}}@media (max-width:360px){.admin-main .filters-toolbar{grid-template-columns:1fr}.admin-main .page-header h1{font-size:17px}.admin-main .kpi b{font-size:18px}.admin-main .kpi span{font-size:8.5px}.topbar.admin-top .btn{min-height:32px;padding-inline:8px;font-size:11px}.admin-main .site-grid .site-card{flex-basis:78vw}.admin-main .directory-stats{width:100%}.export-toolbar-compact .export-btns{flex-direction:column}}@media (max-width:320px){.admin-main{padding-inline:8px}.admin-main .kpi-row{gap:6px}.admin-main .kpi{min-height:62px;padding:8px}}@media (min-width:768px) and (max-width:1180px){.kiosk{padding:18px clamp(28px,5vw,56px) 28px}.kiosk-shell,.terminal-shell{max-width:min(860px,92vw)}.terminal-scan .scan-ring{width:min(46vh,420px)}.terminal-site-card{width:min(100%,560px)}.terminal-clock b{font-size:clamp(48px,7.2vh,76px)}}@media (min-width:901px) and (max-width:1180px){:root{--nav-width:172px;--content-inset:16px}.admin-nav{width:var(--nav-width)}.admin-main{padding:18px 16px 28px}.admin-main .site-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding-bottom:0;display:grid;overflow:visible}.admin-main .site-grid .site-card{flex:none;width:100%}.admin-main .data-table{min-width:720px;font-size:12px}.admin-main .table-wrap{-webkit-overflow-scrolling:touch;position:relative;overflow-x:auto}.admin-main .data-table thead th{position:static;top:auto}.admin-main .data-table th:first-child,.admin-main .data-table td:first-child{border-right:1px solid var(--line);min-width:132px;max-width:160px;padding-left:12px;position:sticky;left:0}.admin-main .data-table thead th:first-child{z-index:4;background:var(--surface-2);position:sticky;top:0;left:0}.admin-main .data-table tbody td:first-child{z-index:2;background:var(--surface);box-shadow:4px 0 10px #12181f0d}.admin-main .data-table tbody tr:hover td:first-child{background:#fafbfc}.admin-main .data-table td:first-child .emp-cell{max-width:148px}.admin-main .data-table td:first-child .emp-cell>:first-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.admin-main .data-table thead th,.admin-main .data-table tbody td{padding:10px 12px}.admin-main .assignment-actions{flex-flow:wrap;gap:5px;min-width:160px}.admin-main .assignment-actions .btn.small{flex:calc(50% - 4px);width:auto;min-height:30px;font-size:10px}.admin-main .two-col{grid-template-columns:minmax(280px,340px) minmax(0,1fr)}.admin-main .roles-workspace{grid-template-columns:minmax(250px,300px) minmax(0,1fr)}.admin-main .panel .table-wrap{width:100%;margin-inline:0}.admin-main .page-header{margin-bottom:18px}.admin-main .kpi-row,.admin-main .export-kpi{gap:10px;margin-bottom:16px}.admin-main .export-kpi .kpi{min-height:78px;padding:12px}.admin-main .export-toolbar{flex-flow:row;justify-content:stretch;align-items:center;gap:0;padding:12px 14px}.admin-main .export-toolbar-inline{gap:10px}.admin-main .export-period-inline{gap:6px;margin-bottom:0}.admin-main .export-period-inline input[type=date],.admin-main .export-period-inline select{min-height:38px;padding:5px 8px;font-size:12px}.admin-main .export-toolbar-inline .export-btns{gap:6px}.admin-main .export-toolbar-inline .export-btns .btn{min-height:38px;padding:0 11px;font-size:11.5px}.admin-main .export-payroll-wrap .category-export-menu{left:auto;right:0}.admin-main .panel+.dtr-preview{margin-top:16px}.admin-main .panel-head{padding-block:12px}.admin-main .category-tabs{gap:8px;padding-top:12px;padding-bottom:4px}.topbar.admin-top .admin-top-kiosk{display:inline-flex}}@media (min-width:901px) and (max-width:1024px){.admin-main .site-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.admin-main .roles-workspace,.admin-main .two-col{grid-template-columns:1fr}}@media (max-width:520px){.admin-main .assignment-actions{flex-direction:column}.admin-main .assignment-actions .btn.small{flex:none;width:100%}}.modal.site-detail-modal{width:min(1100px,94vw);max-width:none;max-height:92vh;overflow-y:auto}.site-detail-modal .table-wrap{overflow-x:visible}.site-detail-modal .data-table{width:100%}.site-detail-header{justify-content:space-between;align-items:flex-start;gap:12px;margin-bottom:10px;display:flex}.site-detail-header h2{margin:0}.site-detail-kpis{gap:10px;margin:10px 0 12px;display:flex}.site-detail-kpi{border:1px solid var(--line);background:var(--surface-2);border-radius:8px;flex:1 1 0;min-width:0;padding:10px}.site-detail-kpi b{font-size:30px;line-height:1;font-family:var(--font-sans);color:var(--ink);display:block}.site-detail-kpi span{color:var(--ink-soft);text-transform:uppercase;letter-spacing:.07em;margin-top:4px;font-size:10px;font-weight:800;display:block}.site-detail-kpi.good b{color:var(--good)}.site-detail-address{color:var(--ink-soft);margin:0 0 12px;font-size:13px}.site-detail-assignments{border:1px solid var(--line);box-shadow:none;margin-top:12px}.assignment-filters{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.row-actions-wrap{display:inline-block;position:relative}.row-actions-menu{background:var(--surface,#fff);border:1px solid var(--line);z-index:40;border-radius:8px;flex-direction:column;min-width:170px;padding:4px;display:flex;position:absolute;top:calc(100% + 4px);right:0;box-shadow:0 6px 18px #00000029}.row-actions-menu .menu-item{text-align:left;width:100%;font:inherit;color:var(--ink);cursor:pointer;background:0 0;border:0;border-radius:6px;padding:7px 10px;font-size:12.5px;display:block}.row-actions-menu .menu-item:hover,.row-actions-menu .menu-item:focus-visible{background:var(--surface-2)}.row-actions-menu .menu-item:disabled{color:var(--ink-soft);cursor:not-allowed}.row-actions-menu .menu-item.danger{color:#b3261e}.row-actions-menu .menu-divider{background:var(--line);height:1px;margin:4px 6px}.btn.danger{background:var(--danger);border-color:var(--danger);color:var(--paper-0)}.btn.danger:hover{background:var(--danger-ink);border-color:var(--danger-ink)}.pagination-bar{border-top:1px solid var(--line);color:var(--ink-soft);justify-content:space-between;align-items:center;gap:10px;padding:10px 14px;font-size:12px;display:flex}.pagination-bar .button-row{align-items:center;gap:8px;display:flex}.pagination-page{color:var(--ink-soft);white-space:nowrap;font-size:12px}@media (max-width:900px){.modal.site-detail-modal{width:min(100%,100vw);max-width:100%;max-height:100%}.site-detail-modal .table-wrap{overflow-x:auto}.site-detail-kpis{flex-wrap:wrap}.site-detail-kpi{min-width:min(100%,140px)}.site-detail-header{flex-direction:column}}
.si{background:var(--paper-0);min-height:100vh;font-family:var(--font-sans);display:flex}.si-photo{background:var(--surface-sunken);flex:1.35;min-width:0;position:relative;overflow:hidden}.si-photo img{-o-object-fit:cover;object-fit:cover;width:100%;height:100%;display:block;position:absolute;inset:0}.si-photo:after{content:"";pointer-events:none;background:linear-gradient(90deg, #fff0 62%, #ffffffeb 96%, var(--paper-0) 100%);position:absolute;inset:0}.si-panel{background:var(--paper-0);flex:1;justify-content:center;align-items:center;min-width:420px;padding:32px;display:flex}.si-inner{flex-direction:column;align-items:center;gap:18px;width:400px;max-width:100%;animation:.2s ease-out both dcRise;display:flex}.si-logo{width:auto;height:52px;display:block}.si-card{background:var(--paper-0);border-top:4px solid var(--brand);border-radius:14px;flex-direction:column;gap:18px;width:100%;padding:30px 32px 26px;display:flex;box-shadow:0 1px 2px #1314160d,0 18px 48px #1314161f}.si-head{text-align:center}.si-head h1{letter-spacing:.02em;color:var(--brand-black);margin:0;font-size:26px;font-weight:700}.si-head p{color:var(--text-muted);margin:8px 0 0;font-size:13px;line-height:1.55}.si-field{letter-spacing:.1em;color:var(--text-muted);flex-direction:column;gap:6px;font-size:10.5px;font-weight:600;display:flex}.si-input{border:1px solid var(--border-strong);background:var(--paper-0);border-radius:10px;align-items:center;gap:10px;height:44px;padding:0 12px;transition:border-color .16s ease-out,box-shadow .16s ease-out;display:flex}.si-input:focus-within{border-color:var(--brand);box-shadow:0 0 0 3px var(--focus-ring)}.si-input svg{flex-shrink:0}.si-input input{letter-spacing:normal;min-width:0;color:var(--text-heading);background:0 0;border:none;outline:none;flex:1;font-size:13.5px;font-weight:400}.si-submit{background:var(--brand);width:100%;height:48px;color:var(--ink-900);letter-spacing:.1em;cursor:pointer;border:none;border-radius:10px;font-size:13px;font-weight:700;transition:background-color .16s ease-out,box-shadow .16s ease-out;box-shadow:0 6px 16px #f2a90059}.si-submit:hover:not(:disabled){background:var(--brand-hover)}.si-submit:active:not(:disabled){transform:scale(.99)}.si-submit:disabled{opacity:.7;cursor:not-allowed}.si-error{color:var(--danger);background:var(--danger-soft);border:1px solid var(--danger-border);border-radius:10px;margin:0;padding:9px 12px;font-size:12.5px;line-height:1.5}.si-foot{border-top:1px solid var(--surface-sunken);flex-direction:column;align-items:center;gap:8px;padding-top:16px;display:flex}.si-foot span{letter-spacing:.1em;color:var(--ink-400);font-size:10.5px;font-weight:600}.si-foot a{color:var(--brand-ink);font-size:12.5px;font-weight:600;text-decoration:underline}.si-foot a:hover{color:var(--yellow-800)}.si-linklike{cursor:pointer;font:inherit;color:var(--brand-ink);background:0 0;border:0;padding:0;font-size:12.5px;font-weight:600;text-decoration:underline}.si-linklike:hover{color:var(--yellow-800)}@media (max-width:900px){.si{flex-direction:column}.si-photo{flex:none;height:32vh;min-height:190px}.si-photo img{-o-object-position:50% 38%;object-position:50% 38%}.si-photo:after{background:linear-gradient(180deg, #fff0 64%, #ffffff8c 84%, #fffffff2 96%, var(--paper-0) 100%)}.si-panel{align-items:flex-start;min-width:0;padding:14px 20px 40px}.si-inner{gap:14px;margin:0 auto}}@media (max-width:420px){.si-card{padding:24px 20px 22px}.si-head h1{font-size:22px}}
.conn-banner{align-items:center;gap:var(--space-2,10px);margin-bottom:var(--space-3,14px);border:1px solid #e8b4b7;border-left:3px solid var(--bad,#b4232a);background:var(--bad-bg,#fcf2f2);color:var(--bad,#b4232a);border-radius:8px;padding:12px 14px;font-size:13px;font-weight:600;display:flex}.conn-banner .conn-banner-msg{flex:1;min-width:0}.conn-banner .conn-banner-detail{opacity:.85;margin-top:2px;font-weight:500;display:block}.conn-loading{padding:var(--space-3,14px) 0;color:var(--muted,#8a929b);font-size:13px;font-weight:600}.btn.danger{background:var(--bad,#b4232a);border-color:var(--bad,#b4232a);color:#fff}.detected-site{cursor:default}.terminal-feedback.warning{color:#6b4c07}.terminal-feedback.warning .status-icon{color:#b8860b}.location-guidance{max-width:520px;margin:var(--space-3,14px) auto 0;padding:var(--space-3,14px);border:1px solid var(--line-dark,#cdd3da);border-left:3px solid var(--steel,#53606c);background:var(--surface-2,#f9faf8);color:var(--ink-soft);text-align:left;border-radius:8px;font-size:13px;line-height:1.55}.location-guidance b{color:var(--ink);margin-bottom:4px;display:block}.location-guidance p{margin:0}.table-state{text-align:center;color:var(--ink-soft);padding:18px 14px;font-size:13px}.table-state.error{color:var(--bad);flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;font-weight:700;display:flex}.panel-error{background:var(--bad-bg);color:var(--bad);border-radius:10px;margin:0 16px 12px;padding:10px 12px;font-size:13px;font-weight:700}.panel-head-actions{flex-wrap:wrap;gap:8px;display:flex}.data-table .col-check{text-align:center;width:36px}.data-table .col-check input{cursor:pointer;width:18px;height:18px}.data-table .col-check input:disabled{cursor:not-allowed;opacity:.4}.measure-na{color:var(--muted)}.row-actions{white-space:nowrap;align-items:center;gap:10px;display:flex}.link-btn.danger{color:var(--bad)}.link-btn:disabled{opacity:.4;cursor:not-allowed;text-decoration:none}.modal-actions{justify-content:flex-end;gap:8px;margin-top:14px;display:flex}@media (max-width:720px){.row-actions{flex-wrap:wrap;gap:8px}}.kiosk-pairing{flex-direction:column;gap:8px;width:min(100%,560px);margin:14px 0 0;padding:16px;display:flex}.kiosk-pairing>b{font-size:14px}.kiosk-pairing p{color:var(--muted);margin:0;font-size:12.5px;line-height:1.5}.kiosk-pairing-row{gap:8px;margin-top:4px;display:flex}.kiosk-pairing-row input{border:1px solid var(--line);letter-spacing:.08em;border-radius:8px;flex:1;min-width:0;min-height:44px;padding:0 12px;font-size:15px}.kiosk-pairing-row .btn{white-space:nowrap;flex:none;min-height:44px}.kiosk-devices-panel{margin-bottom:14px}.kiosk-devices-form{flex-wrap:wrap;gap:8px;margin:10px 0;display:flex}.kiosk-devices-form input,.kiosk-devices-form select{border:1px solid var(--line);border-radius:8px;min-height:38px;padding:0 10px;font-size:13px}.kiosk-devices-form input{flex:220px}.kiosk-pairing-code{border:1px dashed var(--warn);background:var(--warn-bg);border-radius:10px;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:10px;padding:12px;font-size:13px;display:flex}.kiosk-pairing-code code{letter-spacing:.12em;background:#fff;border-radius:6px;padding:4px 10px;font-size:18px;font-weight:800}.kiosk-pairing-code span{color:var(--muted);flex-basis:100%;font-size:12px}.kiosk-devices-table{border-collapse:collapse;width:100%;font-size:13px}.kiosk-devices-table th{text-align:left;text-transform:uppercase;letter-spacing:.07em;color:var(--muted);border-bottom:1px solid var(--line);padding:6px 8px;font-size:10.5px}.kiosk-devices-table td{border-bottom:1px solid var(--line);padding:8px}.dc-office-group{flex-direction:column;grid-column:1/-1;gap:10px;display:flex}.dc-office-head{align-items:center;gap:10px;display:flex}.dc-office-toggle{cursor:pointer;color:inherit;font:inherit;background:0 0;border:0;align-items:center;gap:8px;padding:6px 4px;display:flex}.dc-office-group>.dc-sites-grid{padding-left:18px}.dc-site-call{text-decoration:underline}.si-eye{cursor:pointer;color:var(--ink-500,#7a7269);background:0 0;border:0;align-items:center;padding:4px;display:inline-flex}.si-eye:hover{color:var(--ink-900,#211d1a)}.dc-rename{align-items:center;gap:8px;display:inline-flex}.dc-rename input{max-width:180px}
