@font-face{font-family:Poppins;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/poppins-devanagari-400-normal-CJDn6rn8.woff2)format("woff2"),url(/assets/poppins-devanagari-400-normal-CqVvlrh5.woff)format("woff");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-display:swap;font-weight:400;src:url(/assets/poppins-latin-ext-400-normal-by3JarPu.woff2)format("woff2"),url(/assets/poppins-latin-ext-400-normal-DaBSavcJ.woff)format("woff");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-display:swap;font-weight:400;src:url(/assets/poppins-latin-400-normal-cpxAROuN.woff2)format("woff2"),url(/assets/poppins-latin-400-normal-BOb3E3N0.woff)format("woff");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-display:swap;font-weight:500;src:url(/assets/poppins-devanagari-500-normal-BIdkeU1p.woff2)format("woff2"),url(/assets/poppins-devanagari-500-normal-DMPDjHtT.woff)format("woff");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-display:swap;font-weight:500;src:url(/assets/poppins-latin-ext-500-normal-CK-6C4Hw.woff2)format("woff2"),url(/assets/poppins-latin-ext-500-normal-CgAe2rWW.woff)format("woff");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-display:swap;font-weight:500;src:url(/assets/poppins-latin-500-normal-C8OXljZJ.woff2)format("woff2"),url(/assets/poppins-latin-500-normal-DGXqpDMm.woff)format("woff");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-display:swap;font-weight:600;src:url(/assets/poppins-devanagari-600-normal-STEjXBNN.woff2)format("woff2"),url(/assets/poppins-devanagari-600-normal-ClASKHrr.woff)format("woff");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-display:swap;font-weight:600;src:url(/assets/poppins-latin-ext-600-normal-CAhIAdZj.woff2)format("woff2"),url(/assets/poppins-latin-ext-600-normal-Df5ffKXP.woff)format("woff");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-display:swap;font-weight:600;src:url(/assets/poppins-latin-600-normal-zEkxB9Mr.woff2)format("woff2"),url(/assets/poppins-latin-600-normal-BJdTmd5m.woff)format("woff");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-display:swap;font-weight:700;src:url(/assets/poppins-devanagari-700-normal-O-jipLrW.woff2)format("woff2"),url(/assets/poppins-devanagari-700-normal-fHs-vx92.woff)format("woff");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-display:swap;font-weight:700;src:url(/assets/poppins-latin-ext-700-normal-cby-RkWa.woff2)format("woff2"),url(/assets/poppins-latin-ext-700-normal-DctTR6Tg.woff)format("woff");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-display:swap;font-weight:700;src:url(/assets/poppins-latin-700-normal-Qrb0O0WB.woff2)format("woff2"),url(/assets/poppins-latin-700-normal-BVuQR_eA.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-xuaO2J-f.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-400-normal-DMdlQ8Kv.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-cyrillic-400-normal-BSMlKf0J.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-400-normal-CEL4l2ZJ.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-vietnamese-400-normal-BulugwFq.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-400-normal-DDuiU_S-.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-ext-400-normal-BmRBH3aV.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-400-normal-D3D2R8hC.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BqneJy0T.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-500-normal-BIfNGwUT.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-cyrillic-500-normal-Bq9vWWag.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-500-normal-Ael50iVv.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-vietnamese-500-normal-DZ4AoWbu.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-500-normal-C8zxqsMH.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-ext-500-normal-CAhNIIs5.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-500-normal-CZ70TYgx.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/ibm-plex-mono-latin-500-normal-DSY6xOcd.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-500-normal-CB9ihrfo.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-cyrillic-ext-600-normal-V-xxqcpd.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-ext-600-normal-9HEixskS.woff)format("woff");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-cyrillic-600-normal-CTOM6hUh.woff2)format("woff2"),url(/assets/ibm-plex-mono-cyrillic-600-normal-fLZuRloM.woff)format("woff");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-vietnamese-600-normal-D2EvbN8M.woff2)format("woff2"),url(/assets/ibm-plex-mono-vietnamese-600-normal-iLQfcSjf.woff)format("woff");unicode-range:U+102-103,U+110-111,U+128-129,U+168-169,U+1A0-1A1,U+1AF-1B0,U+300-301,U+303-304,U+308-309,U+323,U+329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-ext-600-normal-D38SheWl.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-ext-600-normal-DmB0ttJJ.woff)format("woff");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:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-mono-latin-600-normal-BgSNZQsw.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-600-normal-DWFSQ4vo.woff)format("woff");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}:root{--color-paper:oklch(97.5% .005 250);--color-paper-2:oklch(95.4% .007 250);--color-paper-3:oklch(92.8% .01 250);--color-rule:oklch(88% .012 250);--color-rule-soft:oklch(92% .008 250);--color-ink:oklch(21% .022 258);--color-neutral:oklch(48% .022 255);--color-muted:oklch(62% .016 252);--color-accent-raw:oklch(50% .19 262);--color-accent-soft-raw:oklch(92.5% .032 262);--color-accent-softer:oklch(95.5% .018 262);--color-input-bg:oklch(99% .003 250);--color-backdrop:oklch(20% .02 258/.45);--color-bg-primary:var(--color-paper);--color-bg-secondary:var(--color-paper-2);--color-bg-tertiary:var(--color-paper-3);--color-bg-elevated:var(--color-paper-3);--color-bg-card:var(--color-paper);--color-bg-card-hover:var(--color-paper-2);--color-bg-input:var(--color-input-bg);--color-accent:var(--color-accent-raw);--color-accent-hover:oklch(45% .19 262);--color-accent-soft:var(--color-accent-soft-raw);--color-accent-glow:var(--color-accent-soft-raw);--color-success:oklch(43% .14 150);--color-success-bg:oklch(94% .03 150);--color-success-border:oklch(75% .09 150);--color-warning:oklch(52% .13 68);--color-warning-bg:oklch(95% .04 85);--color-warning-border:oklch(78% .1 75);--color-danger:oklch(48% .18 25);--color-danger-bg:oklch(94% .03 25);--color-danger-border:oklch(75% .13 25);--color-info:oklch(45% .1 230);--color-info-bg:oklch(94% .02 230);--color-info-border:oklch(76% .07 230);--color-neutral-bg:var(--color-paper-3);--color-neutral-border:var(--color-rule);--color-purple:oklch(48% .19 305);--color-purple-bg:oklch(94% .035 305);--color-purple-border:oklch(78% .09 305);--color-text-primary:var(--color-ink);--color-text-secondary:var(--color-neutral);--color-text-muted:var(--color-muted);--color-text-accent:var(--color-accent-raw);--color-text-inverse:var(--color-paper);--color-border:var(--color-rule);--color-border-hover:oklch(78% .016 250);--color-border-focus:var(--color-accent-raw);--font-sans:"Poppins", "Segoe UI", system-ui, sans-serif;--font-mono:"IBM Plex Mono", "Consolas", monospace;--text-xs:13px;--text-sm:14px;--text-base:15px;--text-md:16px;--text-lg:17px;--text-xl:20px;--text-2xl:24px;--text-3xl:28px;--text-4xl:34px;--text-touch-sm:15px;--text-touch-base:17px;--text-touch-md:19px;--text-touch-lg:22px;--text-touch-xl:28px;--text-touch-2xl:40px;--text-touch-3xl:52px;--leading-tight:1.2;--leading-snug:1.35;--leading-normal:1.5;--weight-regular:400;--weight-medium:500;--weight-semibold:600;--weight-bold:700;--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;--space-16:64px;--radius-sm:4px;--radius-md:6px;--radius-lg:10px;--radius-xl:10px;--radius-full:9999px;--ctrl-height-sm:30px;--ctrl-height:36px;--ctrl-height-lg:44px;--ctrl-height-touch:56px;--tap-min:48px;--shadow-sm:0 1px 2px oklch(30% .02 258/.06);--shadow-md:0 6px 24px oklch(30% .02 258/.18);--shadow-lg:0 10px 32px oklch(30% .02 258/.16);--shadow-menu:var(--shadow-md);--ease-out:cubic-bezier(.16, 1, .3, 1);--transition-fast:.16s var(--ease-out);--transition-base:.26s var(--ease-out);--transition-slow:.4s var(--ease-out);--z-base:1;--z-sticky:50;--z-sidebar:100;--z-sidebar-control:101;--z-bottom-nav:110;--z-popover:150;--z-modal:200;--z-toast:300;--sidebar-width:236px;--sidebar-width-collapsed:64px;--topbar-height:56px;--worker-topbar-height:64px;--worker-bottomnav-height:72px;--timerbar-height:52px;--content-max:1800px;--chart-1:var(--color-accent-raw);--chart-2:var(--color-success);--chart-3:var(--color-warning);--chart-4:var(--color-danger);--chart-5:var(--color-purple);--chart-6:var(--color-info);--chart-grid:var(--color-rule-soft);--chart-axis:var(--color-muted);--chart-reference:oklch(62% .016 252/.6);--row-height:44px;--row-height-compact:36px;--touch-target:44px;--z-timerbar:75}@media (prefers-reduced-motion:reduce){:root{--transition-fast:1ms;--transition-base:1ms;--transition-slow:1ms}}*,:before,:after{box-sizing:border-box;margin:0;padding:0}html{font-size:var(--text-base);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;-webkit-text-size-adjust:100%;overflow-x:clip}body{font-family:var(--font-sans);font-size:var(--text-base);background:var(--color-bg-primary);color:var(--color-text-primary);line-height:var(--leading-normal);touch-action:manipulation;min-height:100dvh;overflow-x:clip}#root{min-height:100dvh}h1,h2,h3,h4,h5,h6{font-weight:var(--weight-semibold);line-height:var(--leading-tight);color:var(--color-text-primary);letter-spacing:-.01em;overflow-wrap:anywhere;min-width:0}button,.btn,nav a{white-space:nowrap}@media (pointer:coarse){button,.btn,input,select,textarea,[role=button]{min-height:var(--touch-target)}}h1{font-size:var(--text-3xl)}h2{font-size:var(--text-xl)}h3{font-size:var(--text-lg)}h4{font-size:var(--text-md)}h5,h6{font-size:var(--text-base)}a{color:var(--color-text-accent);transition:color var(--transition-fast);text-decoration:none}a:hover{color:var(--color-accent-hover);text-decoration:underline}button,input,select,textarea{font-family:inherit;font-size:inherit;color:inherit}:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px;border-radius:var(--radius-sm)}:focus:not(:focus-visible){outline:none}.skip-link{left:var(--space-2);z-index:var(--z-toast);padding:var(--space-3) var(--space-4);background:var(--color-ink);color:var(--color-text-inverse);border-radius:var(--radius-md);font-weight:var(--weight-semibold);transition:top var(--transition-fast);position:absolute;top:-100px}.skip-link:focus{top:var(--space-2);color:var(--color-text-inverse);text-decoration:none}.visually-hidden{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-track{background:0 0}::-webkit-scrollbar-thumb{background:var(--color-rule);border:2px solid var(--color-paper);border-radius:5px}::-webkit-scrollbar-thumb:hover{background:var(--color-muted)}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(16px)}to{opacity:1;transform:translateY(0)}}@keyframes spin{to{transform:rotate(360deg)}}@keyframes shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}@keyframes toastSlideIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes pulseDot{0%,to{opacity:1}50%{opacity:.35}}.page-enter{animation:fadeIn var(--transition-base) ease-out}.flex{display:flex}.inline-flex{display:inline-flex}.grid{display:grid}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.flex-1{flex:1;min-width:0}.items-start{align-items:flex-start}.items-center{align-items:center}.items-baseline{align-items:baseline}.justify-start{justify-content:flex-start}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.justify-end{justify-content:flex-end}.ml-auto{margin-left:auto}.gap-1{gap:var(--space-1)}.gap-2{gap:var(--space-2)}.gap-3{gap:var(--space-3)}.gap-4{gap:var(--space-4)}.gap-5{gap:var(--space-5)}.gap-6{gap:var(--space-6)}.gap-8{gap:var(--space-8)}.mt-1{margin-top:var(--space-1)}.mt-2{margin-top:var(--space-2)}.mt-3{margin-top:var(--space-3)}.mt-4{margin-top:var(--space-4)}.mt-5{margin-top:var(--space-5)}.mt-6{margin-top:var(--space-6)}.mt-8{margin-top:var(--space-8)}.mb-1{margin-bottom:var(--space-1)}.mb-2{margin-bottom:var(--space-2)}.mb-3{margin-bottom:var(--space-3)}.mb-4{margin-bottom:var(--space-4)}.mb-5{margin-bottom:var(--space-5)}.mb-6{margin-bottom:var(--space-6)}.mb-8{margin-bottom:var(--space-8)}.text-left{text-align:left}.text-right{text-align:right}.text-center{text-align:center}.text-xs{font-size:var(--text-xs)}.text-sm{font-size:var(--text-sm)}.text-base{font-size:var(--text-base)}.text-md{font-size:var(--text-md)}.text-lg{font-size:var(--text-lg)}.text-muted{color:var(--color-text-muted)}.text-secondary{color:var(--color-text-secondary)}.text-danger{color:var(--color-danger)}.text-warning{color:var(--color-warning)}.text-success{color:var(--color-success)}.font-medium{font-weight:var(--weight-medium)}.font-semibold{font-weight:var(--weight-semibold)}.font-bold{font-weight:var(--weight-bold)}.font-mono{font-family:var(--font-mono)}.truncate{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.tabular{font-variant-numeric:tabular-nums}.num{font-family:var(--font-mono);font-variant-numeric:tabular-nums;text-align:right}.btn{justify-content:center;align-items:center;gap:var(--space-2);height:var(--ctrl-height);padding:0 var(--space-4);border-radius:var(--radius-md);font-size:var(--text-base);font-weight:var(--weight-medium);font-family:var(--font-sans);white-space:nowrap;cursor:pointer;border:1px solid var(--color-rule);background:var(--color-paper);color:var(--color-ink);transition:background-color var(--transition-fast), border-color var(--transition-fast), color var(--transition-fast), transform .1s var(--ease-out);line-height:1;display:inline-flex}.btn:hover:not(:disabled):not([aria-disabled=true]){background:var(--color-paper-3)}.btn:active:not(:disabled):not([aria-disabled=true]){transform:translateY(1px)}.btn:disabled,.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed}.btn-disabled-wrap{flex-direction:column;align-items:flex-start;gap:2px;display:inline-flex}.btn-disabled-caption{font-size:var(--text-xs);color:var(--color-text-muted);max-width:240px;line-height:var(--leading-snug);display:none}@media (hover:none){.btn-disabled-caption{display:block}}.btn-primary{background:var(--color-accent);color:var(--color-text-inverse);border-color:var(--color-accent);font-weight:var(--weight-semibold)}.btn-primary:hover:not(:disabled){background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.btn-secondary{background:var(--color-paper);color:var(--color-ink);border-color:var(--color-rule)}.btn-secondary:hover:not(:disabled){background:var(--color-paper-3);border-color:var(--color-border-hover)}.btn-ghost{color:var(--color-text-secondary);padding:0 var(--space-3);background:0 0;border-color:#0000}.btn-ghost:hover:not(:disabled){background:var(--color-paper-3);color:var(--color-text-primary)}.btn-danger{background:var(--color-paper);color:var(--color-danger);border-color:var(--color-danger-border)}.btn-danger:hover:not(:disabled){background:var(--color-danger-bg);border-color:var(--color-danger)}.btn-danger-solid{background:var(--color-danger);color:var(--color-text-inverse);border-color:var(--color-danger);font-weight:var(--weight-semibold)}.btn-danger-solid:hover:not(:disabled){filter:brightness(1.1)}.btn-success{background:var(--color-success);color:var(--color-text-inverse);border-color:var(--color-success);font-weight:var(--weight-semibold)}.btn-success:hover:not(:disabled){filter:brightness(1.1)}.btn-sm{height:var(--ctrl-height-sm);padding:0 var(--space-3);font-size:var(--text-sm);gap:var(--space-1)}.btn-lg{height:var(--ctrl-height-lg);padding:0 var(--space-5);font-size:var(--text-md)}.btn-touch{min-height:var(--ctrl-height-touch);padding:0 var(--space-6);font-size:var(--text-touch-base);font-weight:var(--weight-semibold);border-radius:var(--radius-lg);gap:var(--space-3)}.btn-block{width:100%}.btn-icon{width:var(--ctrl-height);flex-shrink:0;padding:0}.btn-icon.btn-sm{width:var(--ctrl-height-sm)}.btn-icon.btn-lg{width:var(--ctrl-height-lg)}.btn-icon.btn-touch{width:var(--ctrl-height-touch);min-width:var(--ctrl-height-touch)}.btn-spinner{border-radius:var(--radius-full);border:2px solid;border-top-color:#0000;flex-shrink:0;width:15px;height:15px;animation:.7s linear infinite spin}.btn-group{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.card{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5)}.card-interactive{cursor:pointer;transition:border-color var(--transition-fast), background-color var(--transition-fast)}.card-interactive:hover{border-color:var(--color-border-hover);background:var(--color-bg-card-hover)}.card-flush{padding:0;overflow:hidden}.card-header{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.card-flush .card-header{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border);margin-bottom:0}.card-title{font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--color-text-primary);letter-spacing:-.01em}.card-subtitle{font-size:var(--text-sm);color:var(--color-text-secondary);margin-top:var(--space-1);font-weight:var(--weight-regular)}.card-body{padding:var(--space-5)}.page-header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-6);flex-wrap:wrap;display:flex}.page-header-main{min-width:0}.page-title{font-size:var(--text-3xl);font-weight:var(--weight-semibold);color:var(--color-text-primary);letter-spacing:-.02em;line-height:var(--leading-tight)}.page-subtitle{font-size:var(--text-base);color:var(--color-text-secondary);margin-top:var(--space-1)}.page-header-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.page-back{align-items:center;gap:var(--space-1);font-size:var(--text-sm);color:var(--color-text-secondary);cursor:pointer;padding:var(--space-1) 0;margin-bottom:var(--space-2);font-family:var(--font-sans);background:0 0;border:none;display:inline-flex}.page-back:hover{color:var(--color-accent)}.section-title{font-size:var(--text-xl);font-weight:var(--weight-semibold);letter-spacing:-.01em;margin-bottom:var(--space-4)}.metric-grid{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(210px,1fr));display:grid}.metric-card{align-items:flex-start;gap:var(--space-3);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4) var(--space-5);text-align:left;font-family:var(--font-sans);white-space:normal;width:100%;transition:border-color var(--transition-fast), background-color var(--transition-fast);display:flex}button.metric-card{cursor:pointer}button.metric-card:hover{border-color:var(--color-accent);background:var(--color-accent-softer)}.metric-icon{border-radius:var(--radius-md);flex-shrink:0;justify-content:center;align-items:center;width:38px;height:38px;display:flex}.metric-icon.accent{background:var(--color-accent-soft);color:var(--color-accent)}.metric-icon.success{background:var(--color-success-bg);color:var(--color-success)}.metric-icon.warning{background:var(--color-warning-bg);color:var(--color-warning)}.metric-icon.danger{background:var(--color-danger-bg);color:var(--color-danger)}.metric-icon.info{background:var(--color-info-bg);color:var(--color-info)}.metric-icon.neutral{background:var(--color-neutral-bg);color:var(--color-text-secondary)}.metric-icon.purple{background:var(--color-purple-bg);color:var(--color-purple)}.metric-content{flex:1;min-width:0;display:block}.metric-value{font-size:var(--text-3xl);font-weight:var(--weight-semibold);font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.02em;color:var(--color-text-primary);line-height:1;display:block}.metric-label{font-size:var(--text-sm);color:var(--color-text-secondary);margin-top:var(--space-2);font-weight:var(--weight-medium);line-height:var(--leading-snug);display:block}.metric-hint{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:var(--space-1);line-height:var(--leading-snug);display:block}.form-group{gap:var(--space-2);flex-direction:column;min-width:0;display:flex}.form-label-row{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.form-label{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-secondary);align-items:center;gap:var(--space-1);display:inline-flex}.form-required{color:var(--color-danger);font-weight:var(--weight-semibold)}.form-optional{color:var(--color-text-muted);font-weight:var(--weight-regular)}.form-input,.form-select,.form-textarea{background:var(--color-bg-input);border:1px solid var(--color-border);border-radius:var(--radius-md);height:var(--ctrl-height);padding:0 var(--space-3);font-size:var(--text-base);font-family:var(--font-sans);color:var(--color-text-primary);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);width:100%}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:var(--color-border-focus);box-shadow:0 0 0 3px var(--color-accent-softer);outline:none}.form-input::placeholder,.form-textarea::placeholder{color:var(--color-text-muted)}.form-input:disabled,.form-select:disabled,.form-textarea:disabled{background:var(--color-paper-2);color:var(--color-text-muted);cursor:not-allowed}.form-input.has-error,.form-select.has-error,.form-textarea.has-error{border-color:var(--color-danger)}.form-input.has-error:focus,.form-select.has-error:focus,.form-textarea.has-error:focus{box-shadow:0 0 0 3px var(--color-danger-bg)}.form-textarea{resize:vertical;height:auto;min-height:88px;padding:var(--space-3);line-height:var(--leading-snug)}.form-select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%237a8799' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center;padding-right:var(--space-10);cursor:pointer}.form-grid{gap:var(--space-4) var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.form-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.form-span-2{grid-column:1/-1}.form-row{gap:var(--space-4) var(--space-5);grid-template-columns:repeat(auto-fit,minmax(220px,1fr));display:grid}@media (width<=768px){.form-grid,.form-grid-3{grid-template-columns:1fr}.form-span-2{grid-column:auto}}.form-section{margin:0 0 var(--space-6);border:none;padding:0}.form-section:last-of-type{margin-bottom:0}.form-section-legend{font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--color-text-primary);padding:0 0 var(--space-1)}.form-section-hint{font-size:var(--text-sm);color:var(--color-text-muted);margin-bottom:var(--space-4)}.form-section-body{padding-top:var(--space-3);border-top:1px solid var(--color-border)}.form-error{font-size:var(--text-sm);color:var(--color-danger);align-items:flex-start;gap:var(--space-1);line-height:var(--leading-snug);display:flex}.form-hint{font-size:var(--text-sm);color:var(--color-text-muted);line-height:var(--leading-snug)}.form-actions{justify-content:flex-end;align-items:center;gap:var(--space-2);margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--color-border);display:flex}.form-actions-left{margin-right:auto}.checkbox-row{align-items:center;gap:var(--space-2);cursor:pointer;font-size:var(--text-base);min-height:var(--ctrl-height);display:flex}.checkbox-row input[type=checkbox]{width:18px;height:18px;accent-color:var(--color-accent);cursor:pointer;flex-shrink:0}.table-wrapper{border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-card);overflow-x:auto}.table-scroll{max-height:calc(100dvh - 320px);overflow-y:auto}.list-page,.page-fill{flex-direction:column;flex:1;min-height:0;display:flex}.table-wrapper.is-fill{flex-direction:column;flex:1;min-height:0;display:flex;overflow:hidden}.table-wrapper.is-fill>*{flex:1;min-height:0}.table-wrapper.is-fill .table-scroll{max-height:none;overflow-y:auto}.table-wrapper.is-fill .empty-state,.table-wrapper.is-fill .loading-center{flex:1;height:100%}@media (width<=768px){.list-page,.page-fill{display:block}.table-wrapper.is-fill{display:block;overflow:visible}}.table{border-collapse:separate;border-spacing:0;width:100%;font-size:var(--text-sm)}.table th{z-index:var(--z-sticky);background:var(--color-bg-secondary);padding:var(--space-3) var(--space-4);text-align:left;font-weight:var(--weight-semibold);color:var(--color-text-secondary);font-size:var(--text-sm);border-bottom:1px solid var(--color-border);white-space:nowrap;position:sticky;top:0}.table td{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-rule-soft);color:var(--color-text-primary);vertical-align:middle}.table tbody tr:last-child td{border-bottom:none}.table tbody tr:hover td{background:var(--color-accent-softer)}.table tbody tr.is-selected td{background:var(--color-accent-soft)}.table tbody tr.is-clickable{cursor:pointer}.table td.nowrap{white-space:nowrap}.table th.align-right,.table td.align-right{text-align:right}.table th.align-center,.table td.align-center{text-align:center}.table-cards{display:none}.table-card-sort{gap:var(--space-1);padding:var(--space-3);border-bottom:1px solid var(--color-border);font-size:var(--text-sm);display:grid}.table-card-sort select{min-height:var(--touch-target)}.table-card-custom{min-width:0}@media (width<=768px){.table-scroll{display:none}.table-cards{flex-direction:column;display:flex}.table-card{padding:var(--space-4);border-bottom:1px solid var(--color-rule-soft);gap:var(--space-2) var(--space-4);grid-template-columns:1fr 1fr;display:grid;position:relative}.table-card:last-child{border-bottom:none}.table-card.is-clickable{cursor:pointer}.table-card.is-clickable:hover{background:var(--color-accent-softer)}.table-card.is-selected{background:var(--color-accent-soft)}.table-card-select{grid-column:1/-1;justify-content:flex-end;display:flex}.table-card-select input{width:18px;height:18px;accent-color:var(--color-accent);cursor:pointer}.table-card-field:first-child{grid-column:1/-1}.table-card-label{font-size:var(--text-xs);color:var(--color-text-muted);font-weight:var(--weight-medium);margin-bottom:2px;display:block}.table-card-value{font-size:var(--text-sm);color:var(--color-text-primary);display:block}.table-card-field:first-child .table-card-value{font-size:var(--text-base);font-weight:var(--weight-semibold)}.table-card.is-clickable{min-height:var(--touch-target)}}@media (width>=769px) and (width<=1023px){.table .priority-3{display:none}}.th-sort{align-items:center;gap:var(--space-1);font:inherit;color:inherit;cursor:pointer;font-weight:inherit;background:0 0;border:none;padding:0;display:inline-flex}.th-sort:hover{color:var(--color-text-primary)}.th-sort-icon{opacity:.35;flex-shrink:0}.th-sort[aria-sort=ascending] .th-sort-icon,.th-sort[aria-sort=descending] .th-sort-icon{opacity:1;color:var(--color-accent)}.th-sort[aria-sort=ascending],.th-sort[aria-sort=descending]{color:var(--color-accent)}.table-actions-cell{white-space:nowrap;text-align:right;width:1%}.badge{align-items:center;gap:var(--space-1);padding:3px var(--space-2);border-radius:var(--radius-sm);font-size:var(--text-xs);font-weight:var(--weight-medium);white-space:nowrap;border:1px solid #0000;line-height:1.4;display:inline-flex}.badge-lg{font-size:var(--text-sm);padding:var(--space-1) var(--space-3)}.badge-dot{border-radius:var(--radius-full);background:currentColor;flex-shrink:0;width:7px;height:7px}.badge-neutral{background:var(--color-neutral-bg);color:var(--color-text-secondary);border-color:var(--color-neutral-border)}.badge-accent{background:var(--color-accent-soft);color:var(--color-accent);border-color:var(--color-accent-soft)}.badge-success{background:var(--color-success-bg);color:var(--color-success);border-color:var(--color-success-border)}.badge-warning{background:var(--color-warning-bg);color:var(--color-warning);border-color:var(--color-warning-border)}.badge-danger{background:var(--color-danger-bg);color:var(--color-danger);border-color:var(--color-danger-border)}.badge-info{background:var(--color-info-bg);color:var(--color-info);border-color:var(--color-info-border)}.badge-purple{background:var(--color-purple-bg);color:var(--color-purple);border-color:var(--color-purple-border)}.progress-bar{background:var(--color-paper-3);border-radius:var(--radius-full);width:100%;height:8px;overflow:hidden}.progress-bar-lg{height:14px}.progress-bar-sm{height:6px}.progress-bar-fill{border-radius:var(--radius-full);background:var(--color-accent);height:100%;transition:width var(--transition-slow);min-width:2px}.progress-bar-fill.complete{background:var(--color-success)}.progress-bar-fill.warning{background:var(--color-warning)}.progress-bar-fill.danger{background:var(--color-danger)}.progress-cell{align-items:center;gap:var(--space-3);min-width:150px;display:flex}.progress-cell .progress-bar{flex:1}.progress-cell-text{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--text-xs);color:var(--color-text-secondary);white-space:nowrap}.tabs{gap:var(--space-1);border-bottom:1px solid var(--color-border);margin-bottom:var(--space-5);padding-bottom:1px;display:flex;overflow:auto hidden}.tab{padding:var(--space-3) var(--space-4);font-size:var(--text-base);font-weight:var(--weight-medium);color:var(--color-text-secondary);cursor:pointer;transition:color var(--transition-fast), border-color var(--transition-fast);font-family:var(--font-sans);white-space:nowrap;align-items:center;gap:var(--space-2);background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;display:inline-flex}.tab:hover{color:var(--color-text-primary)}.tab.active{color:var(--color-accent);border-bottom-color:var(--color-accent);font-weight:var(--weight-semibold)}.tab-count{font-size:var(--text-xs);background:var(--color-paper-3);color:var(--color-text-secondary);border-radius:var(--radius-full);padding:1px var(--space-2);font-variant-numeric:tabular-nums}.tab.active .tab-count{background:var(--color-accent-soft);color:var(--color-accent)}.filter-bar{align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.search-field{flex:1;min-width:240px;max-width:420px;position:relative}.search-field-icon{left:var(--space-3);color:var(--color-text-muted);pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.search-field .form-input{padding-left:var(--space-10)}.search-field-clear{right:var(--space-2);color:var(--color-text-muted);cursor:pointer;padding:var(--space-1);border-radius:var(--radius-sm);background:0 0;border:none;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.search-field-clear:hover{color:var(--color-text-primary);background:var(--color-paper-3)}.filter-select{width:auto;min-width:160px}.filter-result-count{font-size:var(--text-sm);color:var(--color-text-muted);white-space:nowrap}.bulk-bar{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--color-accent-softer);border:1px solid var(--color-accent-soft);border-radius:var(--radius-md);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.bulk-bar-count{font-weight:var(--weight-semibold);font-size:var(--text-sm);color:var(--color-accent)}.dropdown-panel{top:calc(100% + var(--space-2));z-index:var(--z-popover);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);min-width:220px;box-shadow:var(--shadow-menu);padding:var(--space-2);flex-direction:column;gap:2px;display:flex;position:absolute;right:0}.dropdown-item{align-items:center;gap:var(--space-2);width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);font-size:var(--text-sm);color:var(--color-text-primary);text-align:left;cursor:pointer;background:0 0;border:none;display:flex}.dropdown-item:hover{background:var(--color-bg-secondary)}.dropdown-row{align-items:center;gap:var(--space-1);display:flex}.dropdown-row .dropdown-item{flex:1}.dropdown-checkbox{align-items:center;gap:var(--space-2);padding:var(--space-2) var(--space-3);font-size:var(--text-sm);cursor:pointer;display:flex}.dropdown-checkbox input{width:15px;height:15px;accent-color:var(--color-accent);cursor:pointer}.pagination-bar{justify-content:space-between;align-items:center;gap:var(--space-4);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.pagination-controls{align-items:center;gap:var(--space-3);display:flex}.mic-button-wrap{align-items:center;gap:var(--space-2);flex-wrap:wrap;justify-content:flex-end;display:inline-flex}.mic-button{align-items:center;gap:var(--space-1);min-height:30px;padding:0 var(--space-3);border-radius:var(--radius-full);border:1px solid var(--color-border);background:var(--color-bg-card);color:var(--color-text-secondary);font-family:var(--font-sans);font-size:var(--text-xs);font-weight:var(--weight-medium);cursor:pointer;white-space:nowrap;transition:background var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);display:inline-flex}.mic-button:hover:not(:disabled){border-color:var(--color-accent);color:var(--color-accent)}.mic-button:disabled{cursor:default;opacity:.7}.mic-button.compact{border-radius:var(--radius-md);justify-content:center;width:44px;min-width:44px;height:44px;padding:0}.mic-button-wrap.is-compact .mic-error{z-index:2;margin-top:48px;position:absolute}.mic-button.recording{border-color:var(--color-danger-border);background:var(--color-danger-bg);color:var(--color-danger);animation:1.2s ease-in-out infinite pulseDot}.mic-button.transcribing{border-color:var(--color-accent-soft);background:var(--color-accent-softer);color:var(--color-accent)}.mic-button.error{border-color:var(--color-danger-border);color:var(--color-danger)}.mic-spin{animation:1s linear infinite spin}.mic-error{font-size:var(--text-xs);color:var(--color-danger)}.worker-shell .mic-button{min-height:var(--tap-min);padding:0 var(--space-4);font-size:var(--text-touch-sm)}.lang-switcher{border:1px solid var(--color-border);border-radius:var(--radius-full);display:inline-flex;overflow:hidden}.lang-switcher-btn{min-width:40px;min-height:30px;padding:0 var(--space-2);background:var(--color-bg-card);color:var(--color-text-secondary);font-family:var(--font-sans);font-size:var(--text-xs);font-weight:var(--weight-semibold);cursor:pointer;transition:background var(--transition-fast), color var(--transition-fast);border:none}.lang-switcher-btn+.lang-switcher-btn{border-left:1px solid var(--color-border)}.lang-switcher-btn:hover:not(.active){background:var(--color-bg-secondary)}.lang-switcher-btn.active{background:var(--color-accent);color:var(--color-text-inverse)}.lang-switcher-btn.compact{min-width:34px;min-height:26px}.worker-shell .lang-switcher-btn{min-height:var(--tap-min);min-width:48px;font-size:var(--text-touch-sm)}.empty-state{text-align:center;padding:var(--space-16) var(--space-8);color:var(--color-text-muted);flex-direction:column;justify-content:center;align-items:center;display:flex}.empty-state-icon{border-radius:var(--radius-lg);background:var(--color-paper-3);width:52px;height:52px;color:var(--color-text-muted);margin-bottom:var(--space-4);justify-content:center;align-items:center;display:flex}.empty-state-icon.danger{background:var(--color-danger-bg);color:var(--color-danger)}.empty-state-title{font-size:var(--text-lg);font-weight:var(--weight-semibold);color:var(--color-text-primary);margin-bottom:var(--space-2)}.empty-state-text{font-size:var(--text-base);max-width:460px;line-height:var(--leading-snug);color:var(--color-text-secondary)}.empty-state-actions{margin-top:var(--space-5)}.card .empty-state,.prod-panel .empty-state{padding:var(--space-8) var(--space-4)}.spinner{border:3px solid var(--color-border);border-top-color:var(--color-accent);border-radius:var(--radius-full);width:32px;height:32px;animation:.8s linear infinite spin}.spinner-sm{border-width:2px;width:18px;height:18px}.loading-center{justify-content:center;align-items:center;gap:var(--space-4);padding:var(--space-16);color:var(--color-text-muted);font-size:var(--text-base);flex-direction:column;display:flex}.skeleton{background:linear-gradient(90deg, var(--color-paper-2) 0%, var(--color-paper-3) 40%, var(--color-paper-2) 80%);border-radius:var(--radius-sm);background-size:400px 100%;height:14px;animation:1.4s linear infinite shimmer}.skeleton-text{height:14px;margin-bottom:var(--space-2)}.skeleton-title{width:40%;height:22px;margin-bottom:var(--space-4)}.skeleton-row{border-radius:var(--radius-md);height:44px;margin-bottom:var(--space-2)}.skeleton-card{border-radius:var(--radius-lg);height:96px}@media (prefers-reduced-motion:reduce){.skeleton{animation:none}}.banner{align-items:flex-start;gap:var(--space-3);padding:var(--space-4);border-radius:var(--radius-md);font-size:var(--text-base);line-height:var(--leading-snug);margin-bottom:var(--space-4);border:1px solid;display:flex}.banner-icon{flex-shrink:0;margin-top:1px}.banner-content{flex:1;min-width:0}.banner-title{font-weight:var(--weight-semibold);margin-bottom:var(--space-1)}.banner-actions{margin-top:var(--space-3);gap:var(--space-2);flex-wrap:wrap;display:flex}.banner-info{background:var(--color-info-bg);border-color:var(--color-info-border);color:var(--color-info)}.banner-warning{background:var(--color-warning-bg);border-color:var(--color-warning-border);color:var(--color-warning)}.banner-danger{background:var(--color-danger-bg);border-color:var(--color-danger-border);color:var(--color-danger)}.banner-success{background:var(--color-success-bg);border-color:var(--color-success-border);color:var(--color-success)}.banner-purple{background:var(--color-purple-bg);border-color:var(--color-purple-border);color:var(--color-purple)}.modal-overlay{background:var(--color-backdrop);z-index:var(--z-modal);padding:var(--space-4);animation:fadeIn var(--transition-fast) ease-out;justify-content:center;align-items:center;display:flex;position:fixed;inset:0}.modal{background:var(--color-paper);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-6);width:100%;max-width:520px;max-height:90vh;box-shadow:var(--shadow-md);animation:slideUp var(--transition-base) ease-out;overflow-y:auto}.modal-lg{max-width:760px}.modal-xl{max-width:1040px}.modal-header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-2);display:flex}.modal-title{font-size:var(--text-xl);font-weight:var(--weight-semibold);color:var(--color-text-primary);letter-spacing:-.01em}.modal-subtitle{font-size:var(--text-sm);color:var(--color-text-secondary);margin-bottom:var(--space-5)}.modal-actions{justify-content:flex-end;align-items:center;gap:var(--space-2);margin-top:var(--space-6);padding-top:var(--space-4);border-top:1px solid var(--color-border);flex-wrap:wrap;display:flex}.confirm-modal{max-width:460px}@media (width<=767px){.modal-overlay{align-items:stretch;padding:0}.modal:not(.confirm-modal){max-width:none;min-height:100dvh;max-height:100dvh;padding:var(--space-4);padding-bottom:calc(var(--space-4) + env(safe-area-inset-bottom));overscroll-behavior:contain;border:0;border-radius:0;flex-direction:column;display:flex}.modal:not(.confirm-modal) .modal-actions{bottom:calc(-1 * var(--space-4));background:var(--color-paper);padding-bottom:env(safe-area-inset-bottom);margin-top:auto;position:sticky}}.pwa-update{inset-inline:var(--space-4);bottom:calc(var(--space-4) + env(safe-area-inset-bottom));z-index:var(--z-toast);align-items:center;gap:var(--space-2);padding:var(--space-3);background:var(--color-paper);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-md);display:flex;position:fixed}.pwa-update span{font-weight:var(--weight-semibold);flex:1}.boundary-error{justify-items:start;gap:var(--space-3);min-height:220px;padding:var(--space-6);color:var(--color-danger);align-content:center;display:grid}.boundary-error p{color:var(--color-text-secondary)}.toast-details{font-size:var(--text-xs);grid-column:2}.toast-details span{display:block}.toast-dismiss{min-width:var(--touch-target);min-height:var(--touch-target);cursor:pointer;color:inherit;background:0 0;border:0;align-self:start}.confirm-modal-message{font-size:var(--text-base);color:var(--color-text-secondary);line-height:var(--leading-snug)}.toast-container{bottom:var(--space-5);left:var(--space-5);z-index:var(--z-toast);gap:var(--space-2);max-width:min(400px, calc(100vw - 2 * var(--space-5)));pointer-events:none;flex-direction:column;display:flex;position:fixed}.toast{background:var(--color-paper);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);font-size:var(--text-sm);box-shadow:var(--shadow-md);align-items:center;gap:var(--space-3);animation:toastSlideIn var(--transition-base) ease-out;pointer-events:auto;cursor:pointer;min-width:260px;line-height:var(--leading-snug);display:flex}.toast.success{border-left:3px solid var(--color-success)}.toast.error{border-left:3px solid var(--color-danger)}.toast.info{border-left:3px solid var(--color-info)}.detail-grid{gap:var(--space-4) var(--space-5);grid-template-columns:repeat(auto-fit,minmax(180px,1fr));display:grid}.detail-item{min-width:0}.detail-label{font-size:var(--text-xs);color:var(--color-text-muted);font-weight:var(--weight-medium);margin-bottom:var(--space-1)}.detail-value{font-size:var(--text-base);color:var(--color-text-primary);font-weight:var(--weight-medium);overflow-wrap:anywhere}.detail-value.mono{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.timeline{flex-direction:column;display:flex}.timeline-item{gap:var(--space-3);padding-bottom:var(--space-4);display:flex;position:relative}.timeline-item:not(:last-child):before{content:"";background:var(--color-border);width:1px;position:absolute;top:26px;bottom:0;left:11px}.timeline-marker{border-radius:var(--radius-full);background:var(--color-paper-3);width:24px;height:24px;color:var(--color-text-secondary);z-index:var(--z-base);flex-shrink:0;justify-content:center;align-items:center;display:flex}.timeline-marker.success{background:var(--color-success-bg);color:var(--color-success)}.timeline-marker.danger{background:var(--color-danger-bg);color:var(--color-danger)}.timeline-marker.warning{background:var(--color-warning-bg);color:var(--color-warning)}.timeline-marker.accent{background:var(--color-accent-soft);color:var(--color-accent)}.timeline-content{flex:1;min-width:0;padding-top:2px}.timeline-title{font-size:var(--text-sm);font-weight:var(--weight-medium)}.timeline-meta{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:2px}.chart-container{width:100%;height:300px}.chart-container-tall{height:360px}.chart-caption{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:var(--space-2)}.conn-status{align-items:center;gap:var(--space-2);font-size:var(--text-sm);font-weight:var(--weight-medium);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);white-space:nowrap;border:1px solid #0000;display:inline-flex}.conn-status.online{color:var(--color-success);background:var(--color-success-bg);border-color:var(--color-success-border)}.conn-status.offline{color:var(--color-danger);background:var(--color-danger-bg);border-color:var(--color-danger-border)}.conn-dot{border-radius:var(--radius-full);background:currentColor;flex-shrink:0;width:8px;height:8px}.conn-status.offline .conn-dot{animation:1.6s ease-in-out infinite pulseDot}.ask-input-row{gap:var(--space-2);margin-top:var(--space-2);align-items:stretch;display:flex}.ask-input{min-width:0;font-size:var(--text-base);flex:1}.ask-composer{border-top:3px solid var(--color-accent)}.ask-locale-note{color:var(--color-text-muted);font-size:var(--font-size-xs);margin:7px 0 0}.ask-progress{gap:12px;display:grid}.ask-progress-track{background:var(--color-bg-tertiary);border-radius:999px;height:4px;overflow:hidden}.ask-progress-track span{background:var(--color-accent);height:100%;transition:width .22s;display:block}.ask-answer-card{border-left:3px solid var(--color-accent)}.ask-answer-head{justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:18px;display:flex}.ask-provider{background:var(--color-bg-tertiary);color:var(--color-text-muted);font-size:var(--font-size-xs);border-radius:999px;padding:3px 8px;font-weight:650;display:inline-flex}.ask-answer-head .ask-summary-text{margin-top:10px}.ask-request-id{color:var(--color-text-muted);font-size:var(--font-size-xs);margin-top:10px;display:block}.ask-starters{align-items:center;gap:var(--space-2);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.ask-starters-label{font-size:var(--text-sm);color:var(--color-text-muted)}.ask-chip{font-size:var(--text-sm);color:var(--color-text-secondary);background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-full);cursor:pointer;transition:color var(--transition-fast), background-color var(--transition-fast), border-color var(--transition-fast);text-align:left;align-items:center;gap:6px;padding:5px 11px;font-family:inherit;display:inline-flex}.ask-chip:hover:not(:disabled){color:var(--color-text-accent);background:var(--color-accent-softer);border-color:var(--color-accent-soft)}.ask-chip:disabled{opacity:.5;cursor:not-allowed}.ask-thinking{align-items:center;gap:var(--space-3);color:var(--color-text-secondary);display:flex}.ask-thinking-icon{color:var(--color-accent);flex-shrink:0;animation:1.4s ease-in-out infinite pulseDot}.ask-summary{gap:var(--space-3);align-items:flex-start;display:flex}.ask-summary-icon{color:var(--color-accent);flex-shrink:0;margin-top:2px}.ask-summary-text{font-size:var(--text-lg);line-height:var(--leading-snug);color:var(--color-text-primary);margin:0}.ask-meta{justify-content:space-between;align-items:center;gap:var(--space-3);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.ask-sql-toggle{font-size:var(--text-sm);color:var(--color-text-muted);cursor:pointer;transition:color var(--transition-fast);background:0 0;border:none;align-items:center;gap:6px;padding:0;font-family:inherit;display:inline-flex}.ask-sql-toggle:hover{color:var(--color-text-accent)}.ask-timing{font-size:var(--text-sm);color:var(--color-text-muted);align-items:center;gap:5px;display:inline-flex}.ask-sql{margin-top:var(--space-3);padding:var(--space-3);font-family:var(--font-mono);font-size:var(--text-sm);color:var(--color-text-secondary);background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-md);white-space:pre-wrap;word-break:break-word;line-height:1.6;overflow-x:auto}.ask-sql-note{margin-top:var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted)}.ask-history{flex-direction:column;gap:2px;display:flex}.ask-history-row{align-items:center;gap:var(--space-3);width:100%;padding:var(--space-2) var(--space-3);font-family:inherit;font-size:var(--text-sm);text-align:left;color:var(--color-text-primary);border-radius:var(--radius-md);cursor:pointer;transition:background var(--transition-fast);background:0 0;border:none;display:flex}.ask-history-row:hover:not(:disabled){background:var(--color-bg-tertiary)}.ask-history-row:disabled{opacity:.5;cursor:not-allowed}.ask-history-icon{flex-shrink:0;display:inline-flex}.ask-history-icon.is-ok{color:var(--color-success)}.ask-history-icon.is-fail{color:var(--color-text-muted)}.ask-history-question{text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.ask-history-meta{font-size:var(--text-sm);color:var(--color-text-muted);white-space:nowrap;flex-shrink:0}@media (width<=640px){.ask-history-row{flex-wrap:wrap}.ask-history-question{white-space:normal}.ask-history-meta{width:100%;padding-left:27px}}.worker-shift-line{align-items:center;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-subtle,var(--color-bg-card));display:flex}.worker-shift-line.is-unset{border-style:dashed;border-color:var(--color-warning)}.worker-shift-text{flex-direction:column;flex:1;gap:2px;min-width:0;display:flex}.worker-shift-label{font-size:var(--text-sm);color:var(--color-text-muted)}.worker-shift-value{font-size:var(--text-sm);font-variant-numeric:tabular-nums}@media (width<=640px){.worker-shift-line{flex-wrap:wrap}}.admin-shell{min-height:100dvh;display:flex}.admin-sidebar{width:var(--sidebar-width);background:var(--color-bg-secondary);border-right:1px solid var(--color-border);min-height:100dvh;z-index:var(--z-sidebar);transition:width var(--transition-base);flex-direction:column;display:flex;position:fixed;top:0;left:0;overflow:hidden}.admin-main{margin-left:var(--sidebar-width);width:calc(100% - var(--sidebar-width));max-width:calc(100% - var(--sidebar-width));background:var(--color-bg-primary);min-width:0;height:100dvh;transition:margin-left var(--transition-base), width var(--transition-base), max-width var(--transition-base);flex-direction:column;flex:1;display:flex;overflow:hidden}.admin-shell.is-collapsed{--sidebar-width:var(--sidebar-width-collapsed)}.admin-content{min-height:0;padding:var(--space-6) var(--space-8);width:100%;max-width:var(--content-max);flex-direction:column;flex:1;min-width:0;display:flex;overflow-y:auto}.sidebar-logo{align-items:center;gap:var(--space-3);padding:var(--space-4);min-height:var(--topbar-height);flex-shrink:0;display:flex}.sidebar-logo-img{object-fit:contain;flex-shrink:0;width:auto;height:26px}.sidebar-logo-copy{min-width:0;overflow:hidden}.sidebar-logo-text{font-size:var(--text-md);font-weight:var(--weight-semibold);color:var(--color-text-primary);letter-spacing:-.01em;white-space:nowrap;line-height:1.2;display:block}.sidebar-logo-sub{font-size:var(--text-xs);color:var(--color-text-muted);white-space:nowrap;display:block}.sidebar-collapse-btn{top:28px;left:var(--sidebar-width);z-index:var(--z-sidebar-control);border:1px solid var(--color-border);border-radius:var(--radius-full);background:var(--color-bg-secondary);width:26px;height:26px;color:var(--color-text-secondary);cursor:pointer;box-shadow:var(--shadow-sm);transition:left var(--transition-base), background-color var(--transition-fast), color var(--transition-fast), border-color var(--transition-fast);justify-content:center;align-items:center;padding:0;display:inline-flex;position:fixed;transform:translate(-50%,-50%)}.sidebar-collapse-btn:hover{background:var(--color-paper-3);color:var(--color-text-primary);border-color:var(--color-border-hover)}.sidebar-nav{padding:var(--space-3) var(--space-3);flex-direction:column;flex:1;gap:2px;display:flex;overflow-y:auto}.sidebar-section-label{font-size:var(--text-xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em;font-weight:var(--weight-semibold);padding:var(--space-4) var(--space-3) var(--space-2);white-space:nowrap}.sidebar-link{align-items:center;gap:var(--space-3);min-height:var(--ctrl-height-lg);padding:0 var(--space-3);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--text-base);font-weight:var(--weight-medium);transition:background-color var(--transition-fast), color var(--transition-fast);cursor:pointer;text-align:left;background:0 0;border:none;width:100%;text-decoration:none;display:flex}.sidebar-link:hover{background:var(--color-paper-3);color:var(--color-text-primary);text-decoration:none}.sidebar-link.active{background:var(--color-accent-soft);color:var(--color-accent);font-weight:var(--weight-semibold)}.sidebar-link-icon{flex-shrink:0;justify-content:center;align-items:center;width:20px;display:flex}.sidebar-link-text{white-space:nowrap}.sidebar-link-badge{background:var(--color-warning);color:var(--color-text-inverse);font-size:var(--text-xs);font-weight:var(--weight-semibold);border-radius:var(--radius-full);padding:1px var(--space-2);font-variant-numeric:tabular-nums;margin-left:auto}.sidebar-user{padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border);align-items:stretch;gap:var(--space-3);flex-direction:column;flex-shrink:0;min-width:0;display:flex}.sidebar-user-main{align-items:center;gap:var(--space-3);min-width:0;display:flex}.sidebar-user-actions{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.sidebar-user-avatar{border-radius:var(--radius-md);background:var(--color-ink);width:36px;height:36px;font-weight:var(--weight-semibold);font-size:var(--text-sm);color:var(--color-paper);flex-shrink:0;justify-content:center;align-items:center;line-height:1;display:inline-flex}.sidebar-user-info{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.sidebar-user-name{font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;line-height:1.25;display:block;overflow:hidden}.sidebar-user-role{font-size:var(--text-xs);color:var(--color-text-muted);line-height:1.25;display:block}.sidebar-user-logout{flex-shrink:0}.admin-shell.is-collapsed .sidebar-logo{padding:var(--space-4) var(--space-2);justify-content:center}.admin-shell.is-collapsed .sidebar-logo-copy,.admin-shell.is-collapsed .sidebar-link-text,.admin-shell.is-collapsed .sidebar-link-badge,.admin-shell.is-collapsed .sidebar-section-label,.admin-shell.is-collapsed .sidebar-user-info,.admin-shell.is-collapsed .sidebar-user .lang-switcher{display:none}.admin-shell.is-collapsed .sidebar-link{justify-content:center;padding:0}.admin-shell.is-collapsed .sidebar-user{padding:var(--space-3) var(--space-2);align-items:center;gap:var(--space-2)}.admin-shell.is-collapsed .sidebar-user-main,.admin-shell.is-collapsed .sidebar-user-actions{justify-content:center;width:100%}@media (width<=1024px){.admin-content{padding:var(--space-5)}}@media (width<=768px){.admin-shell{--sidebar-width:var(--sidebar-width-collapsed)}.admin-shell .sidebar-logo-copy,.admin-shell .sidebar-link-text,.admin-shell .sidebar-link-badge,.admin-shell .sidebar-section-label,.admin-shell .sidebar-user-info,.admin-shell .sidebar-user .lang-switcher{display:none}.admin-shell .sidebar-link{justify-content:center;padding:0}.admin-shell .sidebar-user{padding:var(--space-3) var(--space-2);align-items:center;gap:var(--space-2)}.admin-shell .sidebar-user-main,.admin-shell .sidebar-user-actions{justify-content:center;width:100%}.sidebar-collapse-btn{display:none}.admin-content{padding:var(--space-4)}}.admin-mobile-menu,.admin-drawer-backdrop{display:none}@media (width<=479px){.admin-shell{--sidebar-width:0px}.admin-sidebar{width:min(86vw,320px);transition:transform var(--transition-base);box-shadow:var(--shadow-lg);transform:translate(-105%)}.admin-shell.is-mobile-open .admin-sidebar{transform:translate(0)}.admin-shell .sidebar-logo-copy,.admin-shell .sidebar-link-text,.admin-shell .sidebar-link-badge,.admin-shell .sidebar-section-label{display:block}.admin-shell .sidebar-user-info{display:flex}.admin-shell .sidebar-user .lang-switcher{display:inline-flex}.admin-shell .sidebar-link{padding-inline:var(--space-3);justify-content:flex-start}.admin-shell .sidebar-user{padding:var(--space-3) var(--space-4);align-items:stretch;gap:var(--space-3)}.admin-shell .sidebar-user-main{justify-content:flex-start}.admin-shell .sidebar-user-actions{justify-content:space-between}.admin-main{width:100%;max-width:100%;margin-left:0}.admin-content{padding:calc(var(--space-4) + var(--touch-target)) var(--space-3) var(--space-4)}.admin-mobile-menu{top:max(var(--space-3), env(safe-area-inset-top));left:max(var(--space-3), env(safe-area-inset-left));z-index:calc(var(--z-sidebar) + 2);width:var(--touch-target);height:var(--touch-target);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-paper);place-items:center;display:inline-grid;position:fixed}.admin-drawer-backdrop{z-index:calc(var(--z-sidebar) - 1);background:var(--color-backdrop);border:0;display:block;position:fixed;inset:0}}.worker-shell{background:var(--color-bg-secondary);min-height:100dvh;font-size:var(--text-touch-base);flex-direction:column;display:flex}.worker-topbar{z-index:var(--z-sidebar);align-items:center;gap:var(--space-4);min-height:var(--worker-topbar-height);padding:var(--space-2) var(--space-4);background:var(--color-paper);border-bottom:1px solid var(--color-border);flex-wrap:nowrap;display:flex;position:sticky;top:0}.worker-topbar-logo{object-fit:contain;flex-shrink:0;width:auto;height:28px}.worker-topbar-context{align-items:baseline;gap:var(--space-2);flex:1;min-width:0;display:flex}.worker-topbar-job{font-family:var(--font-mono);font-size:var(--text-touch-base);font-weight:var(--weight-bold);color:var(--color-text-primary);white-space:nowrap}.worker-topbar-part{font-size:var(--text-touch-sm);color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.worker-topbar-meta{align-items:center;gap:var(--space-3);flex-shrink:0;margin-left:auto;display:flex}.worker-clock{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--text-touch-base);font-weight:var(--weight-semibold);color:var(--color-text-primary);white-space:nowrap}.worker-clock-date{font-family:var(--font-sans);font-size:var(--text-xs);font-weight:var(--weight-regular);color:var(--color-text-muted);text-align:right;display:block}.worker-user-btn{align-items:center;gap:var(--space-2);min-height:var(--tap-min);max-width:220px;padding:var(--space-1) var(--space-2) var(--space-1) var(--space-1);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-bg-secondary);color:var(--color-text-primary);cursor:pointer;font-family:var(--font-sans);min-width:0;display:inline-flex}.worker-user-btn:hover{background:var(--color-paper-3)}.worker-user-avatar{border-radius:var(--radius-full);background:var(--color-ink);width:32px;height:32px;color:var(--color-paper);font-size:var(--text-xs);font-weight:var(--weight-semibold);flex-shrink:0;justify-content:center;align-items:center;line-height:1;display:inline-flex}.worker-user-info{text-align:left;flex-direction:column;flex:1;align-items:flex-start;min-width:0;line-height:1.2;display:flex}.worker-user-name{max-width:100%;font-size:var(--text-sm);font-weight:var(--weight-semibold);color:var(--color-text-primary);white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.worker-user-action{font-size:var(--text-xs);font-weight:var(--weight-regular);color:var(--color-text-muted);display:block}.worker-user-logout{color:var(--color-text-secondary);flex-shrink:0;margin-inline-end:var(--space-1)}@media (width<=720px){.worker-user-info{display:none}.worker-user-btn{max-width:none;padding:var(--space-1)}}.worker-content{padding:var(--space-4);padding-bottom:calc(var(--worker-bottomnav-height) + var(--timerbar-height) + var(--space-6));flex:1;width:100%;min-width:0}.worker-bottomnav{z-index:var(--z-bottom-nav);min-height:var(--worker-bottomnav-height);background:var(--color-paper);border-top:1px solid var(--color-border);padding-bottom:env(safe-area-inset-bottom,0);align-items:stretch;display:flex;position:fixed;bottom:0;left:0;right:0;box-shadow:0 -2px 12px oklch(30% .02 258/.08)}.worker-navlink{justify-content:center;align-items:center;gap:var(--space-1);padding:var(--space-2);min-height:var(--worker-bottomnav-height);color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;font-family:var(--font-sans);transition:color var(--transition-fast), background-color var(--transition-fast);background:0 0;border:none;border-top:3px solid #0000;flex-direction:column;flex:1;text-decoration:none;display:flex;position:relative}.worker-navlink:hover:not(:disabled){background:var(--color-paper-2);text-decoration:none}.worker-navlink:disabled{opacity:.4;cursor:not-allowed}.worker-navlink.active{color:var(--color-accent);border-top-color:var(--color-accent);background:var(--color-accent-softer);font-weight:var(--weight-semibold)}.worker-navlink-badge{top:var(--space-2);background:var(--color-warning);color:var(--color-text-inverse);font-size:var(--text-xs);font-weight:var(--weight-bold);border-radius:var(--radius-full);font-variant-numeric:tabular-nums;justify-content:center;align-items:center;min-width:20px;height:20px;margin-left:10px;padding:0 5px;display:flex;position:absolute;left:50%}.timer-bar{left:0;right:0;bottom:var(--worker-bottomnav-height);z-index:var(--z-timerbar);min-height:var(--timerbar-height);align-items:center;gap:var(--space-3);padding:var(--space-2) var(--space-4);background:var(--color-ink);color:var(--color-paper);cursor:pointer;animation:timerBarSlideUp var(--transition-base) var(--ease-out);border-top:1px solid oklch(30% .02 258/.3);display:flex;position:fixed}@media (prefers-reduced-motion:reduce){.timer-bar{animation:none}}@keyframes timerBarSlideUp{0%{transform:translateY(100%)}to{transform:translateY(0)}}.timer-bar-dot{border-radius:var(--radius-full);background:var(--color-success);flex-shrink:0;width:10px;height:10px;animation:2s ease-in-out infinite timerBarPulse}@media (prefers-reduced-motion:reduce){.timer-bar-dot{animation:none}}@keyframes timerBarPulse{0%,to{opacity:1}50%{opacity:.4}}.timer-bar-dot.idle{background:var(--color-warning);animation:none}.timer-bar-wo{font-family:var(--font-mono);font-weight:var(--weight-semibold);font-size:var(--text-touch-sm);white-space:nowrap}.timer-bar-part{color:oklch(85% .01 250);font-size:var(--text-sm);text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.timer-bar-item{color:var(--color-paper);font-family:var(--font-mono);font-weight:var(--weight-semibold);text-overflow:ellipsis;white-space:nowrap;flex:1;min-width:0;overflow:hidden}.timer-bar-label{font-size:var(--text-sm);flex:1;min-width:0}.timer-bar-elapsed{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-weight:var(--weight-bold);font-size:var(--text-touch-base);white-space:nowrap;margin-left:auto}.timer-bar-idle{background:var(--color-warning-bg);color:var(--color-text-primary);cursor:default}.timer-bar-dismiss{color:inherit;opacity:.6;cursor:pointer;padding:var(--space-1);background:0 0;border:none;align-items:center;display:flex}.timer-bar-dismiss:hover{opacity:1}@media (width>=1024px) and (orientation:landscape){.worker-content{padding:var(--space-5) var(--space-6);padding-bottom:calc(var(--worker-bottomnav-height) + var(--timerbar-height) + var(--space-6));max-width:var(--content-max);margin:0 auto}}@media (width<=640px){.worker-topbar-context,.worker-topbar-part,.worker-clock-date{display:none}.worker-navlink{font-size:var(--text-xs)}}.job-card{gap:var(--space-4);background:var(--color-paper);border:1px solid var(--color-border);border-left:4px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);text-align:left;width:100%;font-family:var(--font-sans);transition:border-color var(--transition-fast), box-shadow var(--transition-fast);flex-direction:column;display:flex}.job-card.tone-accent{border-left-color:var(--color-accent)}.job-card.tone-success{border-left-color:var(--color-success)}.job-card.tone-warning{border-left-color:var(--color-warning)}.job-card.tone-danger{border-left-color:var(--color-danger)}.job-card.tone-neutral{border-left-color:var(--color-rule)}.job-card.is-active{border-color:var(--color-accent);border-left-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent);background:var(--color-accent-softer)}.job-card-top{justify-content:space-between;align-items:flex-start;gap:var(--space-3);flex-wrap:wrap;display:flex}.job-card-number{font-family:var(--font-mono);font-size:var(--text-touch-lg);font-weight:var(--weight-bold);color:var(--color-text-primary);line-height:var(--leading-tight);overflow-wrap:anywhere}.job-card-part{font-size:var(--text-touch-base);font-weight:var(--weight-semibold);color:var(--color-text-primary);margin-top:var(--space-1);overflow-wrap:anywhere}.job-card-desc{font-size:var(--text-touch-sm);color:var(--color-text-secondary);line-height:var(--leading-snug);overflow-wrap:anywhere;margin-top:2px}.job-card-badges{align-items:center;gap:var(--space-2);flex-wrap:wrap;flex-shrink:1;min-width:0;max-width:100%;display:flex}@media (width<=640px){.prod-summary-top .job-card-badges{flex-basis:100%}}.job-card-figures{align-items:center;gap:var(--space-6);flex-wrap:wrap;display:flex}.job-figure{min-width:0}.job-figure-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--text-touch-xl);font-weight:var(--weight-bold);color:var(--color-text-primary);line-height:1}.job-figure-value.muted{color:var(--color-text-muted)}.job-figure-value.success{color:var(--color-success)}.job-figure-label{font-size:var(--text-sm);color:var(--color-text-muted);margin-top:var(--space-1);font-weight:var(--weight-medium)}.job-card-progress{gap:var(--space-2);flex-direction:column;display:flex}.job-card-item-summary{gap:var(--space-2) var(--space-4);color:var(--color-text-secondary);font-size:var(--text-sm);flex-wrap:wrap;display:flex}.job-card-item-summary strong{color:var(--color-text-primary);font-family:var(--font-mono)}.job-card-footer{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.job-card-due{align-items:center;gap:var(--space-2);font-size:var(--text-touch-sm);color:var(--color-text-secondary);font-weight:var(--weight-medium);display:inline-flex}.job-card-due.is-late{color:var(--color-danger);font-weight:var(--weight-semibold)}.job-list{gap:var(--space-4);flex-direction:column;display:flex}@media (width>=1280px){.job-list.two-up{grid-template-columns:repeat(auto-fit,minmax(520px,1fr));display:grid}}.worker-greeting{justify-content:space-between;align-items:flex-end;gap:var(--space-4);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.worker-greeting-name{font-size:var(--text-touch-xl);font-weight:var(--weight-semibold);letter-spacing:-.02em;line-height:var(--leading-tight)}.worker-greeting-sub{font-size:var(--text-touch-sm);color:var(--color-text-secondary);margin-top:var(--space-1)}.worker-greeting-stats{gap:var(--space-6);flex-wrap:wrap;display:flex}.worker-stat-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--text-touch-lg);font-weight:var(--weight-bold);line-height:1}.worker-stat-label{font-size:var(--text-sm);color:var(--color-text-muted);margin-top:var(--space-1)}.prod-hero{gap:var(--space-4);margin-bottom:var(--space-4);grid-template-columns:minmax(0,1fr) minmax(0,2fr);align-items:start;display:grid}.prod-docs{margin-bottom:var(--space-4);min-width:0}.prod-work-column{gap:var(--space-4);flex-direction:column;min-width:0;display:flex}.prod-summary{background:var(--color-paper);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);min-width:0;height:100%}.prod-summary-top{justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-4);flex-wrap:wrap;display:flex}.prod-summary-number{font-family:var(--font-mono);font-size:var(--text-touch-xl);font-weight:var(--weight-bold);letter-spacing:-.02em;overflow-wrap:anywhere;line-height:1}.prod-summary-part{font-size:var(--text-touch-sm);font-weight:var(--weight-semibold);margin-top:var(--space-2);overflow-wrap:anywhere}.prod-summary-desc{font-size:var(--text-sm);color:var(--color-text-secondary);line-height:var(--leading-snug);margin-top:var(--space-1)}.prod-summary-progress{margin-top:var(--space-4)}@media (width<=960px){.prod-hero{grid-template-columns:1fr}}.work-item-picker{margin-bottom:var(--space-4)}.work-item-picker-header{justify-content:space-between;align-items:baseline;gap:var(--space-2) var(--space-3);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.work-item-picker h2{font-size:var(--text-touch-md);margin:0}.work-item-picker-count{color:var(--color-text-muted);font-size:var(--text-sm)}.work-item-picker-search{margin-bottom:var(--space-3)}.work-item-picker-list{gap:var(--space-2);max-height:min(52vh,28rem);padding-right:var(--space-1);overscroll-behavior:contain;flex-direction:column;display:flex;overflow-y:auto}.work-item-choice{min-height:var(--tap-min);padding:var(--space-3);border:2px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-paper);color:var(--color-text-primary);text-align:left;gap:var(--space-2) var(--space-3);cursor:pointer;grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.work-item-choice-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.work-item-choice-progress{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--text-sm);color:var(--color-text-secondary);white-space:nowrap}.work-item-choice:hover,.work-item-choice.is-selected{border-color:var(--color-accent);background:var(--color-accent-softer)}.work-item-choice span,.work-item-choice small{color:var(--color-text-secondary);overflow-wrap:anywhere}.work-item-picker-empty{padding:var(--space-3);color:var(--color-text-muted);font-size:var(--text-sm);margin:0}.work-item-selected{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-accent-softer);flex-wrap:wrap;display:flex}.work-item-selected-copy{flex-direction:column;gap:2px;min-width:0;display:flex}.work-item-selected-copy span,.work-item-selected-copy small{color:var(--color-text-secondary);overflow-wrap:anywhere}.prod-item-context{align-items:baseline;gap:var(--space-2) var(--space-3);margin:calc(-1 * var(--space-2)) 0 var(--space-4);padding:var(--space-3);border-radius:var(--radius-md);background:var(--color-accent-softer);flex-wrap:wrap;display:flex}.prod-item-context>span:first-child,.prod-item-context small{color:var(--color-text-muted)}.prod-figures{gap:var(--space-2);padding:var(--space-4) 0 0;border-top:1px solid var(--color-border);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.prod-figure{text-align:center;min-width:0}.prod-figure-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--text-touch-xl);font-weight:var(--weight-bold);line-height:1}.prod-figure-value.accent{color:var(--color-accent)}.prod-figure-value.success{color:var(--color-success)}.prod-figure-value.muted{color:var(--color-text-muted)}.prod-figure-label{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:var(--space-2);font-weight:var(--weight-medium);line-height:1.2}.prod-trade-breakdown{color:var(--color-text-secondary);flex-direction:column;gap:4px;display:flex}.prod-trade-row{justify-content:space-between;align-items:baseline;gap:var(--space-3);display:flex}.prod-trade-row.muted{color:var(--color-text-muted);font-size:var(--text-xs)}.prod-trade-row strong{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--color-text-primary)}.prod-panel{background:var(--color-paper);border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.prod-panel-header{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);background:var(--color-bg-secondary);flex-wrap:wrap;display:flex}.prod-panel-title{font-size:var(--text-touch-sm);font-weight:var(--weight-semibold)}.prod-panel-body{padding:var(--space-4)}.prod-task-actions{margin-top:var(--space-5);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.prod-actions,.prod-primary-actions{gap:var(--space-3);flex-direction:column;display:flex}.prod-secondary-row{gap:var(--space-3);display:flex}.prod-secondary-row .btn{white-space:normal;flex:1;min-width:0}.prod-action-note{font-size:var(--text-sm);color:var(--color-text-muted);text-align:center;line-height:var(--leading-snug)}.viewer-surface{background:var(--color-bg-tertiary);justify-content:center;align-items:center;min-height:420px;display:flex;position:relative}.viewer-frame{background:var(--color-paper);border:none;width:100%;height:min(68vh,760px);display:block}.viewer-toolbar{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.viewer-btn{align-items:center;gap:var(--space-2);min-height:var(--tap-min);padding:0 var(--space-3);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-paper);color:var(--color-text-primary);font-size:var(--text-sm);font-weight:var(--weight-medium);font-family:var(--font-sans);cursor:pointer;white-space:nowrap;display:inline-flex}.viewer-btn:hover:not(:disabled){background:var(--color-paper-3)}.viewer-btn:disabled{opacity:.45;cursor:not-allowed}.viewer-zoom-level{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--text-sm);color:var(--color-text-secondary);text-align:center;min-width:52px}.viewer-doc-name{font-size:var(--text-sm);color:var(--color-text-secondary);text-overflow:ellipsis;white-space:nowrap;max-width:320px;overflow:hidden}.viewer-pan{background:var(--color-bg-tertiary);flex:auto;width:100%;height:min(68vh,760px);min-height:0;position:relative;overflow:auto}:-webkit-any(.prod-panel:fullscreen,.prod-panel:-webkit-full-screen){background:var(--color-bg-primary);border:none;border-radius:0;flex-direction:column;width:100%;height:100%;max-height:100dvh;display:flex}:is(.prod-panel:fullscreen,.prod-panel:fullscreen){background:var(--color-bg-primary);border:none;border-radius:0;flex-direction:column;width:100%;height:100%;max-height:100dvh;display:flex}:-webkit-any(.prod-panel:fullscreen .viewer-pan,.prod-panel:-webkit-full-screen .viewer-pan){flex:auto;height:auto;min-height:0}:is(.prod-panel:fullscreen .viewer-pan,.prod-panel:fullscreen .viewer-pan){flex:auto;height:auto;min-height:0}:-webkit-any(.prod-panel:fullscreen .prod-panel-header,.prod-panel:-webkit-full-screen .prod-panel-header){flex-shrink:0}:is(.prod-panel:fullscreen .prod-panel-header,.prod-panel:fullscreen .prod-panel-header){flex-shrink:0}:-webkit-any(.prod-panel:fullscreen>div,.prod-panel:-webkit-full-screen>div){flex-direction:column;flex:auto;min-height:0;display:flex}:is(.prod-panel:fullscreen>div,.prod-panel:fullscreen>div){flex-direction:column;flex:auto;min-height:0;display:flex}.viewer-canvas{width:100%;height:auto;display:block}.viewer-thumb-strip{gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);background:var(--color-bg-secondary);display:flex;overflow-x:auto}.viewer-thumb{border:2px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-paper);padding:var(--space-1);cursor:pointer;min-height:var(--tap-min);min-width:var(--tap-min);flex-direction:column;flex-shrink:0;align-items:center;gap:2px;display:flex}.viewer-thumb img{border-radius:2px;width:48px;height:auto;display:block}.viewer-thumb span{font-size:var(--text-xs);color:var(--color-text-muted);font-variant-numeric:tabular-nums}.viewer-thumb.active{border-color:var(--color-accent);background:var(--color-accent-softer)}.viewer-doc-tabs{gap:var(--space-2);padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border);flex-wrap:wrap;display:flex}.viewer-doc-tab{align-items:center;gap:var(--space-2);min-height:var(--tap-min);padding:0 var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-paper);color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:var(--weight-medium);font-family:var(--font-sans);cursor:pointer;max-width:260px;display:inline-flex}.viewer-doc-tab .truncate{max-width:170px}.viewer-doc-tab.active{background:var(--color-accent-soft);border-color:var(--color-accent);color:var(--color-accent);font-weight:var(--weight-semibold)}.qty-entry{gap:var(--space-3);flex-direction:column;align-items:center;display:flex}.qty-entry-label{font-size:var(--text-touch-sm);font-weight:var(--weight-medium);color:var(--color-text-secondary)}.qty-entry-row{justify-content:center;align-items:center;gap:var(--space-4);width:100%;display:flex}.qty-btn{width:var(--ctrl-height-touch);height:var(--ctrl-height-touch);border-radius:var(--radius-lg);border:1px solid var(--color-border);background:var(--color-paper-2);color:var(--color-text-primary);cursor:pointer;transition:background var(--transition-fast), border-color var(--transition-fast);flex-shrink:0;justify-content:center;align-items:center;display:flex}.qty-btn:hover:not(:disabled){background:var(--color-accent-softer);border-color:var(--color-accent)}.qty-btn:active:not(:disabled){transform:translateY(1px)}.qty-btn:disabled{opacity:.35;cursor:not-allowed}.qty-value{min-width:110px;max-width:220px;height:var(--ctrl-height-touch);text-align:center;font-size:var(--text-touch-3xl);font-weight:var(--weight-bold);font-family:var(--font-mono);font-variant-numeric:tabular-nums;border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-input);color:var(--color-text-primary);padding:0 var(--space-2);-moz-appearance:textfield;flex:1}.qty-value::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.qty-value::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.qty-value:focus{border-color:var(--color-accent);box-shadow:0 0 0 3px var(--color-accent-softer);outline:none}.qty-suffix{font-size:var(--text-touch-base);font-weight:var(--weight-medium);color:var(--color-text-muted);min-width:34px}.qty-context{justify-content:center;gap:var(--space-5);font-size:var(--text-sm);color:var(--color-text-secondary);flex-wrap:wrap;display:flex}.qty-context strong{font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--color-text-primary)}.keypad{gap:var(--space-2);grid-template-columns:repeat(3,1fr);width:100%;max-width:320px;margin:0 auto;display:grid}.keypad-key{min-height:var(--ctrl-height-touch);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-paper);color:var(--color-text-primary);font-size:var(--text-touch-md);font-weight:var(--weight-semibold);font-family:var(--font-mono);cursor:pointer;transition:background var(--transition-fast);justify-content:center;align-items:center;display:flex}.keypad-key:hover{background:var(--color-paper-3)}.keypad-key:active{transform:translateY(1px)}.keypad-key.is-action{font-family:var(--font-sans);font-size:var(--text-base);color:var(--color-text-secondary)}.qty-presets{gap:var(--space-2);flex-wrap:wrap;justify-content:center;display:flex}.qty-preset{min-height:var(--tap-min);min-width:64px;padding:0 var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-paper-2);color:var(--color-text-primary);font-size:var(--text-touch-sm);font-weight:var(--weight-semibold);font-family:var(--font-mono);cursor:pointer}.qty-preset:hover{background:var(--color-accent-softer);border-color:var(--color-accent)}.option-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(200px,1fr));display:grid}.option-tile{align-items:center;gap:var(--space-3);min-height:var(--ctrl-height-touch);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-paper);color:var(--color-text-primary);font-size:var(--text-touch-sm);font-weight:var(--weight-medium);font-family:var(--font-sans);cursor:pointer;text-align:left;transition:border-color var(--transition-fast), background var(--transition-fast);display:flex}.option-tile:hover{background:var(--color-paper-2);border-color:var(--color-border-hover)}.option-tile.active{background:var(--color-accent-soft);border-color:var(--color-accent);color:var(--color-accent);font-weight:var(--weight-semibold);box-shadow:inset 0 0 0 1px var(--color-accent)}.option-tile-icon{flex-shrink:0}.submission-row{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-paper);flex-wrap:wrap;display:flex}.submission-row.is-rejected{border-color:var(--color-danger-border);background:var(--color-danger-bg)}.submission-main{align-items:baseline;gap:var(--space-3);font-size:var(--text-touch-sm);flex-wrap:wrap;display:flex}.submission-qty{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--text-touch-base);font-weight:var(--weight-bold)}.submission-reason{width:100%;font-size:var(--text-sm);color:var(--color-danger);line-height:var(--leading-snug)}.worker-modal{max-width:560px;padding:var(--space-5)}.worker-modal .modal-title{font-size:var(--text-touch-md)}@media (width<=640px){.worker-modal{border-radius:0;width:100%;max-width:none;height:100%;max-height:100dvh}.modal-overlay{padding:0}}.login-page{background:var(--color-paper-2);flex-direction:column;min-height:100dvh;display:flex}.login-topbar{justify-content:space-between;align-items:center;gap:var(--space-4);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border);background:var(--color-paper);flex-wrap:wrap;display:flex}.login-body{padding:var(--space-6) var(--space-4);flex:1;justify-content:center;align-items:center;display:flex}.login-card{background:var(--color-paper);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-8);width:100%;max-width:440px;box-shadow:var(--shadow-md)}.login-logo{margin-bottom:var(--space-6);flex-direction:column;align-items:center;display:flex}.login-logo-img{object-fit:contain;width:auto;height:56px;margin-bottom:var(--space-4)}.login-title{font-size:var(--text-2xl);font-weight:var(--weight-semibold);letter-spacing:-.02em}.login-subtitle{font-size:var(--text-base);color:var(--color-text-secondary);margin-top:var(--space-1)}.login-form{gap:var(--space-4);flex-direction:column;display:flex}.login-form .form-input{height:var(--ctrl-height-touch);font-size:var(--text-touch-base);padding:0 var(--space-4)}.login-form .form-label{font-size:var(--text-base)}.login-btn{width:100%;min-height:var(--ctrl-height-touch);font-size:var(--text-touch-base);margin-top:var(--space-2)}.login-error{align-items:flex-start;gap:var(--space-2);background:var(--color-danger-bg);border:1px solid var(--color-danger-border);border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);font-size:var(--text-base);color:var(--color-danger);line-height:var(--leading-snug);display:flex}.login-mode-switch{justify-content:center;align-items:center;gap:var(--space-2);width:100%;min-height:var(--ctrl-height-touch);color:var(--color-text-accent);font-size:var(--text-base);font-weight:var(--weight-medium);cursor:pointer;background:0 0;border:none;display:flex}.login-mode-switch:hover{text-decoration:underline}.pin-dots{justify-content:center;gap:var(--space-3);padding:var(--space-2) 0;display:flex}.pin-dot{border-radius:var(--radius-full);border:2px solid var(--color-border);width:18px;height:18px;transition:background var(--transition-fast), border-color var(--transition-fast);background:0 0}.pin-dot.filled{background:var(--color-accent);border-color:var(--color-accent)}.login-clock{text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.login-clock-time{font-size:var(--text-xl);font-weight:var(--weight-semibold);line-height:1.1}.login-clock-date{font-family:var(--font-sans);font-size:var(--text-sm);color:var(--color-text-muted)}.shift-card{align-items:center;gap:var(--space-4);padding:var(--space-4);margin-bottom:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-bg-card);flex-wrap:wrap;display:flex}.shift-card.is-unset{border-style:dashed;border-color:var(--color-warning)}.shift-card.is-over{border-color:var(--color-danger)}.shift-card-main{align-items:center;gap:var(--space-3);flex:1;min-width:0;display:flex}.shift-card-label{font-size:var(--text-sm);color:var(--color-text-muted)}.shift-card-value{font-size:var(--text-touch-md);font-weight:var(--weight-semibold);font-variant-numeric:tabular-nums}.shift-card-remaining{text-align:right;font-variant-numeric:tabular-nums}.shift-card-remaining-value{font-size:var(--text-touch-lg);font-weight:var(--weight-bold);line-height:1.1;display:block}.shift-card-remaining-label{font-size:var(--text-sm);color:var(--color-text-muted)}.shift-form{gap:var(--space-4);display:grid}@media (width<=640px){.shift-card-remaining{text-align:left}}.record-header{background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-5);margin-bottom:var(--space-5)}.record-header-top{justify-content:space-between;align-items:flex-start;gap:var(--space-5);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.record-identity{min-width:0}.record-number{font-family:var(--font-mono);font-size:var(--text-3xl);font-weight:var(--weight-bold);letter-spacing:-.02em;line-height:var(--leading-tight);overflow-wrap:anywhere}.record-part{font-size:var(--text-lg);font-weight:var(--weight-semibold);margin-top:var(--space-2);overflow-wrap:anywhere}.record-desc{font-size:var(--text-base);color:var(--color-text-secondary);margin-top:var(--space-1);line-height:var(--leading-snug);max-width:80ch}.record-badges{align-items:center;gap:var(--space-2);margin-top:var(--space-3);flex-wrap:wrap;display:flex}.record-actions{align-items:center;gap:var(--space-2);flex-wrap:wrap;flex-shrink:0;display:flex}.record-stats{gap:var(--space-5);padding-top:var(--space-5);border-top:1px solid var(--color-border);grid-template-columns:repeat(auto-fit,minmax(140px,1fr));display:grid}.record-stat-value{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--text-2xl);font-weight:var(--weight-bold);line-height:1}.record-stat-value.success{color:var(--color-success)}.record-stat-value.warning{color:var(--color-warning)}.record-stat-value.danger{color:var(--color-danger)}.record-stat-value.muted{color:var(--color-text-muted)}.record-stat-label{font-size:var(--text-sm);color:var(--color-text-muted);margin-top:var(--space-2);font-weight:var(--weight-medium)}.record-stat-progress{grid-column:span 2;min-width:200px}@media (width<=768px){.record-stat-progress{grid-column:auto}.record-number{font-size:var(--text-2xl)}}.dashboard-grid{gap:var(--space-5);grid-template-columns:repeat(auto-fit,minmax(420px,1fr));display:grid}@media (width<=767px){.metric-grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr))}.dashboard-grid{grid-template-columns:minmax(0,1fr)}.chart-container{min-width:0;height:260px}.review-row{min-width:0}}@media (width<=900px){.dashboard-grid{grid-template-columns:1fr}}.dashboard-split{gap:var(--space-5);grid-template-columns:minmax(0,1.4fr) minmax(320px,1fr);align-items:start;display:grid}@media (width<=1200px){.dashboard-split{grid-template-columns:1fr}}.review-row{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-card);flex-wrap:wrap;display:flex}.review-row+.review-row{margin-top:var(--space-2)}.review-row-main{flex:1;min-width:0}.review-row-open{justify-content:space-between;align-items:center;gap:var(--space-3);min-width:0;color:inherit;text-align:left;white-space:normal;cursor:pointer;background:0 0;border:0;flex:1;display:flex}.review-row-main span{display:block}.review-row-title{font-size:var(--text-base);font-weight:var(--weight-semibold);font-family:var(--font-mono)}.review-row-meta{font-size:var(--text-sm);color:var(--color-text-secondary);margin-top:2px}.review-row-actions{gap:var(--space-2);flex-wrap:wrap;flex-shrink:0;display:flex}.reviews-page{max-width:64rem}.reviews-group{margin-bottom:var(--space-6)}.reviews-group-title{font-size:var(--text-sm);text-transform:uppercase;letter-spacing:.06em;color:var(--color-text-muted);margin:0 0 var(--space-2)}.reviews-group-title.danger{color:var(--color-danger)}.review-inbox-row{text-align:left;border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-card);width:100%;color:var(--color-text-primary);align-items:stretch;gap:0;padding:0;display:flex;overflow:hidden}.review-inbox-row+.review-inbox-row{margin-top:var(--space-2)}.review-inbox-row.is-flagged{border-left:4px solid var(--color-warning)}.review-inbox-row>input[type=checkbox]{margin:0 0 0 var(--space-4);flex:none;align-self:center}.review-inbox-open{align-items:center;gap:var(--space-4);width:auto;min-width:0;padding:var(--space-3) var(--space-4);color:inherit;text-align:left;cursor:pointer;font:inherit;background:0 0;border:none;flex:auto;grid-template-columns:minmax(0,1fr) auto auto;display:grid}.review-inbox-open:hover{background:var(--color-bg-secondary)}.review-inbox-main{gap:2px;min-width:0;display:grid}.review-inbox-main strong{font-family:var(--font-mono);font-size:var(--text-lg)}.review-inbox-main span,.review-inbox-main small,.review-inbox-time small{color:var(--color-text-secondary);font-size:var(--text-sm)}.review-inbox-time{font-variant-numeric:tabular-nums;font-family:var(--font-mono);white-space:nowrap;justify-items:end;display:grid}.review-inbox-open .tag,.review-inbox-open .badge{justify-self:end}.review-context-card{padding:var(--space-4);margin-bottom:var(--space-3)}.review-context-grid{gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.review-context-grid div{gap:2px;min-width:0;display:grid}.review-context-grid span{color:var(--color-text-muted);font-size:var(--text-xs)}.review-context-grid strong{font-size:var(--text-base);word-break:break-word}.review-context-grid small{color:var(--color-text-secondary);font-size:var(--text-xs)}.review-notes{padding:var(--space-3);background:var(--color-bg-tertiary);border-radius:var(--radius-sm)}.review-flags,.review-modal-actions{gap:var(--space-2);margin-top:var(--space-4);flex-wrap:wrap;display:flex}.review-modal-actions{justify-content:flex-end}.review-timeline-title{font-size:var(--text-base);margin:var(--space-5) 0 var(--space-2)}.review-session-list{border-left:2px solid var(--color-border);gap:var(--space-2);padding-left:var(--space-3);color:var(--color-text-secondary);font-size:var(--text-sm);display:grid}.review-undo{right:var(--space-5);bottom:var(--space-5);z-index:var(--z-toast);align-items:center;gap:var(--space-3);padding:var(--space-3);background:var(--color-bg-card);border:1px solid var(--color-border);border-radius:var(--radius-md);box-shadow:var(--shadow-lg);display:flex;position:fixed}@media (width<=700px){.review-inbox-open{gap:var(--space-2);grid-template-columns:minmax(0,1fr) auto}.review-inbox-open .tag,.review-inbox-open .badge{grid-column:1/-1;justify-self:start}.review-context-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.review-undo{left:var(--space-3);right:var(--space-3);bottom:var(--space-3)}}.hours-flag{color:var(--color-danger);font-weight:var(--weight-semibold)}.assignment-row{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-card);flex-wrap:wrap;display:flex}.assignment-row+.assignment-row{margin-top:var(--space-2)}.assignment-person{align-items:center;gap:var(--space-3);flex:1;min-width:0;display:flex}.assignment-avatar{border-radius:var(--radius-full);background:var(--color-paper-3);width:32px;height:32px;color:var(--color-text-secondary);font-size:var(--text-xs);font-weight:var(--weight-semibold);flex-shrink:0;justify-content:center;align-items:center;display:flex}.assignment-name{font-size:var(--text-base);font-weight:var(--weight-medium)}.assignment-controls{align-items:center;gap:var(--space-2);flex-shrink:0;display:flex}.assignment-qty-input{text-align:right;width:88px;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.doc-list{gap:var(--space-2);flex-direction:column;display:flex}.doc-row{align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-card);display:flex}.doc-icon{border-radius:var(--radius-md);background:var(--color-paper-3);width:34px;height:34px;color:var(--color-text-secondary);flex-shrink:0;justify-content:center;align-items:center;display:flex}.doc-info{flex:1;min-width:0}.doc-name{font-size:var(--text-base);font-weight:var(--weight-medium);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.doc-meta{font-size:var(--text-xs);color:var(--color-text-muted);margin-top:1px}.file-drop{align-items:center;gap:var(--space-2);min-height:var(--ctrl-height);padding:0 var(--space-4);border:1px dashed var(--color-border);border-radius:var(--radius-md);color:var(--color-text-secondary);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;transition:border-color var(--transition-fast), color var(--transition-fast);background:0 0;display:inline-flex}.file-drop:hover{border-color:var(--color-accent);color:var(--color-accent)}.file-drop input[type=file]{display:none}.model-viewer-wrap{border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-bg-tertiary);position:relative;overflow:hidden}.model-viewer-el{background:0 0;border:none;outline:none;width:100%;height:min(62vh,640px);display:block}.model-viewer-wrap:fullscreen{background:var(--color-bg-primary);border:none;border-radius:0}.model-viewer-wrap:fullscreen .model-viewer-el{height:100dvh}.model-viewer-tools{top:var(--space-3);right:var(--space-3);z-index:var(--z-base);gap:var(--space-2);display:flex;position:absolute}.model-tool-btn{width:var(--tap-min);height:var(--tap-min);border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-bg-card);color:var(--color-text-secondary);cursor:pointer;box-shadow:var(--shadow-sm);transition:background var(--transition-fast), color var(--transition-fast);justify-content:center;align-items:center;display:inline-flex}.model-tool-btn:hover{background:var(--color-paper-3);color:var(--color-text-primary)}.model-show-btn{align-items:center;gap:var(--space-2);min-height:var(--ctrl-height);padding:0 var(--space-4);border-radius:var(--radius-md);border:1px dashed var(--color-border);color:var(--color-text-secondary);font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--weight-medium);cursor:pointer;transition:border-color var(--transition-fast), color var(--transition-fast);background:0 0;display:inline-flex}.model-show-btn:hover{border-color:var(--color-accent);color:var(--color-accent)}.wizard-steps{gap:var(--space-2);border-bottom:1px solid var(--color-border);padding-bottom:var(--space-4);margin-bottom:var(--space-5);flex-wrap:wrap;display:flex}.wizard-step{align-items:center;gap:var(--space-2);font-size:var(--text-sm);color:var(--color-text-muted);padding:var(--space-1) var(--space-3) var(--space-1) var(--space-2);border-radius:var(--radius-full);display:flex}.wizard-step.active{color:var(--color-accent);background:var(--color-accent-softer);font-weight:var(--weight-semibold)}.wizard-step.done{color:var(--color-success)}.wizard-step-num{border-radius:var(--radius-full);background:var(--color-paper-3);width:22px;height:22px;color:inherit;font-size:var(--text-xs);font-weight:var(--weight-semibold);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.wizard-step.active .wizard-step-num{background:var(--color-accent);color:var(--color-text-inverse)}.wizard-step.done .wizard-step-num{background:var(--color-success-bg);color:var(--color-success)}.grid-preview-wrap{border:1px solid var(--color-border);border-radius:var(--radius-md);max-height:340px;overflow:auto}.grid-preview{border-collapse:collapse;width:100%;font-size:var(--text-sm);font-family:var(--font-mono);white-space:nowrap}.grid-preview th{z-index:var(--z-sticky);background:var(--color-bg-tertiary);color:var(--color-text-muted);font-weight:var(--weight-semibold);padding:var(--space-1) var(--space-2);border-bottom:1px solid var(--color-border);border-right:1px solid var(--color-border);text-align:left;position:sticky;top:0}.grid-preview td{padding:var(--space-1) var(--space-2);border-bottom:1px solid var(--color-rule-soft);border-right:1px solid var(--color-rule-soft);text-overflow:ellipsis;max-width:340px;overflow:hidden}.grid-preview tbody tr{cursor:pointer}.grid-preview tbody tr:hover td{background:var(--color-accent-softer)}.grid-preview .grid-rownum{background:var(--color-bg-tertiary);color:var(--color-text-muted);text-align:right;font-size:var(--text-xs);white-space:nowrap;width:1%;position:sticky;left:0}.grid-preview tr.is-preamble td{color:var(--color-text-muted);font-style:italic}.grid-preview tr.is-header td{background:var(--color-accent-soft);color:var(--color-accent);font-weight:var(--weight-bold)}.audit-diff{font-family:var(--font-mono);font-size:var(--text-xs);background:var(--color-paper-2);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);white-space:pre-wrap;word-break:break-word;max-height:220px;line-height:var(--leading-snug);overflow:auto}.audit-action{font-family:var(--font-mono);font-size:var(--text-xs);font-weight:var(--weight-medium)}.bom-upload-step,.bom-commit-confirm{align-items:center;gap:var(--space-4);padding:var(--space-5) 0;text-align:center;flex-direction:column;display:flex}.bom-match-card{justify-content:center;gap:var(--space-2) var(--space-4);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);background:var(--color-bg-tertiary);flex-wrap:wrap;display:flex}.bom-file-drop{min-height:var(--tap-min)}.bom-metadata,.bom-summary-grid{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.bom-metadata>div,.bom-summary-grid>div{min-width:0;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-tertiary)}.bom-metadata span,.bom-summary-grid dt{margin-bottom:var(--space-1);color:var(--color-text-muted);font-size:var(--text-xs);font-weight:var(--weight-semibold);text-transform:uppercase;letter-spacing:.04em;display:block}.bom-metadata strong,.bom-summary-grid dd{overflow-wrap:anywhere}.bom-warning-list,.bom-duplicates,.bom-override{padding:var(--space-3) var(--space-4);border:1px solid var(--color-warning);border-radius:var(--radius-md);background:var(--color-warning-bg)}.bom-warning-list>div{align-items:flex-start;gap:var(--space-2);margin-block:var(--space-1);display:flex}.bom-warning-list svg{flex:none;margin-top:2px}.bom-duplicates h3{margin-bottom:var(--space-2);font-size:var(--text-sm)}.bom-duplicates p{font-size:var(--text-sm);overflow-wrap:anywhere}.bom-check-row{align-items:center;gap:var(--space-2);min-height:var(--tap-min);display:flex}.bom-check-row input,.bom-node-select input,.bom-gate-toggle input,.bom-final-item input{width:20px;height:20px;accent-color:var(--color-accent)}.bom-final-item{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-4);border:1px solid var(--color-success);border-radius:var(--radius-md);background:var(--color-success-bg);display:flex}.bom-final-item label{align-items:center;gap:var(--space-3);display:flex}.bom-final-item label span{flex-direction:column;display:flex}.bom-final-item small{color:var(--color-text-secondary)}.bom-fixed,.bom-suggestion{border-radius:var(--radius-full);padding:2px var(--space-2);background:var(--color-accent-soft);color:var(--color-accent);font-size:var(--text-xs);font-weight:var(--weight-semibold);white-space:nowrap;align-items:center;display:inline-flex}.bom-tree-scroll{max-height:min(58vh,620px);margin-top:var(--space-3);overscroll-behavior:contain;border:1px solid var(--color-border);border-radius:var(--radius-md);overflow:hidden auto}.bom-wizard-page{gap:var(--space-4);width:100%;max-width:1100px;padding-bottom:calc(var(--space-6) + 88px);flex-direction:column;margin:0 auto;display:flex}.bom-wizard-body{gap:var(--space-4);min-width:0;padding-bottom:var(--space-4);flex-direction:column;display:flex}.bom-wizard-footer{z-index:5;justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-2);margin-inline:calc(-1 * var(--space-4));padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border);background:var(--color-bg-primary);flex-wrap:wrap;display:flex;position:sticky;bottom:0;box-shadow:0 -8px 24px #1a233214}.bom-choose-step{gap:var(--space-3);flex-direction:column;min-width:0;display:flex}.bom-selection-toolbar{justify-content:space-between;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.bom-selection-actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.bom-tree-page{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-card);overflow:hidden}.bom-tree-page .bom-tree{margin:0}.bom-undo{justify-content:space-between;align-items:center;gap:var(--space-3);margin-bottom:var(--space-4);padding:var(--space-3);border:1px solid var(--color-danger-border,var(--color-border));border-radius:var(--radius-md);background:var(--color-danger-softer,var(--color-bg-secondary));flex-wrap:wrap;display:flex}.bom-undo>div{flex:1;min-width:0}.bom-undo p{margin:var(--space-1) 0 0}.bom-assign-all{gap:var(--space-2);margin-bottom:var(--space-4);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-secondary);flex-direction:column;display:flex}.bom-assign-all-row{gap:var(--space-2);flex-wrap:wrap;align-items:center;display:flex}.bom-tree,.bom-tree-group{margin:0;padding:0;list-style:none}.bom-tree-group{padding-inline-start:clamp(8px,2vw,20px)}.bom-tree-item{min-width:0}.bom-node{gap:var(--space-3);min-width:0;padding:var(--space-3);border-bottom:1px solid var(--color-rule-soft);background:var(--color-bg-card);grid-template-columns:auto minmax(0,1fr) auto;align-items:center;display:grid}.bom-node.is-selected{background:var(--color-accent-softer)}.bom-node-select{min-width:var(--tap-min);min-height:var(--tap-min);justify-content:center;align-items:center;display:flex}.bom-node-copy{min-width:0}.bom-node-title{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.bom-node-title .font-mono,.bom-node-description{overflow-wrap:anywhere}.bom-node-row{color:var(--color-text-muted);font-size:var(--text-xs)}.bom-node-description{color:var(--color-text-secondary);font-size:var(--text-sm);margin-top:2px}.bom-node-meta{gap:var(--space-2) var(--space-4);margin-top:var(--space-1);color:var(--color-text-muted);font-size:var(--text-xs);flex-wrap:wrap;display:flex}.bom-node-meta strong{color:var(--color-text-primary)}.bom-node-reason{margin-top:var(--space-1);color:var(--color-text-muted);font-size:var(--text-xs)}.bom-gate-toggle{align-items:center;gap:var(--space-2);min-height:var(--tap-min);font-size:var(--text-sm);white-space:nowrap;display:flex}.bom-review-list,.bom-tracked-items{gap:var(--space-2);flex-direction:column;display:flex}.bom-review-list>div,.bom-tracked-item{align-items:center;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--text-sm);grid-template-columns:minmax(130px,.8fr) minmax(180px,1.5fr) auto auto;display:grid}.bom-active-overview{gap:var(--space-4);margin-bottom:var(--space-4);grid-template-columns:1.4fr 1fr;display:grid}.bom-active-overview>div{gap:var(--space-2);flex-direction:column;display:flex}.bom-tracked-items{margin-bottom:var(--space-4)}.bom-tracked-item{grid-template-columns:minmax(0,1fr)}.bom-tracked-item>div{flex-direction:column;gap:2px;min-width:0;display:flex}.bom-tracked-item span{color:var(--color-text-muted);overflow-wrap:anywhere}.bom-tracked-item .bom-tracked-item-summary{gap:var(--space-3);grid-template-columns:minmax(0,1fr) auto;display:grid}.bom-tracked-item-summary>div{flex-direction:column;gap:2px;min-width:0;display:flex}.item-assignment-panel{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border);gap:var(--space-2)!important}.item-assignment-row{align-items:center;gap:var(--space-2);min-height:var(--tap-min);grid-template-columns:minmax(120px,1fr) auto minmax(140px,auto) auto;display:grid}.item-assignment-add{align-items:center;gap:var(--space-2);margin-top:var(--space-2);grid-template-columns:minmax(160px,1fr) 100px auto;display:grid}.quality-item-context{flex-direction:column;min-width:150px;display:flex}.quality-item-context small{color:var(--color-text-muted);overflow-wrap:anywhere}.bom-full-tree{margin-top:var(--space-4)}.bom-full-tree .banner{margin-bottom:var(--space-3)}@media (width<=720px){.bom-metadata,.bom-summary-grid,.bom-active-overview{grid-template-columns:1fr}.bom-node{gap:var(--space-2);grid-template-columns:auto minmax(0,1fr)}.bom-gate-toggle{white-space:normal;grid-column:2}.bom-review-list>div{gap:var(--space-1);grid-template-columns:1fr}.item-assignment-row,.item-assignment-add{grid-template-columns:1fr}.bom-final-item{align-items:flex-start}.bom-tree-group{padding-inline-start:8px}}@media (width<=460px){.bom-node{padding:var(--space-2)}.bom-node-select{min-width:36px}.bom-tracked-item .bom-tracked-item-summary{grid-template-columns:1fr}.bom-fixed{white-space:normal}}
