@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2c55a0e60120577a-s.0-dom-5bn10r2.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/5476f68d60460930-s.2uwcyprjm3xu3.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.0k62hbripvv8p.woff2)format("woff2");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:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:400;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/2c55a0e60120577a-s.0-dom-5bn10r2.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/5476f68d60460930-s.2uwcyprjm3xu3.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.0k62hbripvv8p.woff2)format("woff2");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:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:500;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/2c55a0e60120577a-s.0-dom-5bn10r2.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/5476f68d60460930-s.2uwcyprjm3xu3.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.0k62hbripvv8p.woff2)format("woff2");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:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:600;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/2c55a0e60120577a-s.0-dom-5bn10r2.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/5476f68d60460930-s.2uwcyprjm3xu3.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.0k62hbripvv8p.woff2)format("woff2");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:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:700;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(../media/2c55a0e60120577a-s.0-dom-5bn10r2.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(../media/9c72aa0f40e4eef8-s.1y4-pdgsjb-pw.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(../media/ad66f9afd8947f86-s.3lvt2whj97whp.woff2)format("woff2");unicode-range:U+1F??}@font-face{font-family:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(../media/5476f68d60460930-s.2uwcyprjm3xu3.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(../media/2bbe8d2671613f1f-s.0k62hbripvv8p.woff2)format("woff2");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:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(../media/1bffadaabf893a1e-s.3-6t-g6q0vh0a.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Inter;font-style:normal;font-weight:800;font-display:swap;src:url(../media/83afe278b6a6bb3c-s.p.2bn3s6zvc0dyp.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Inter Fallback;src:local(Arial);ascent-override:90.44%;descent-override:22.52%;line-gap-override:0.0%;size-adjust:107.12%}.inter_2bbbb2cc-module__gQ8Q-G__className{font-family:Inter,Inter Fallback;font-style:normal}.inter_2bbbb2cc-module__gQ8Q-G__variable{--font-inter:"Inter", "Inter Fallback"}
@font-face{font-family:Roboto Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/4a439e1ba971da1a-s.1vgctuhklh__x.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Roboto Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/b3b0afff8ab38d95-s.33q4idznd8rl5.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Roboto Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/b12ef0642bbc5f5f-s.2tbuiduw72dt5.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Roboto Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/83a6e70a3a81dd9f-s.28n7p9dmf_8k7.woff2)format("woff2");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:Roboto Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/99ac5753282bcf05-s.3w6kcxkrsxlac.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Roboto Mono;font-style:normal;font-weight:400;font-display:swap;src:url(../media/2f13ad8e538108e0-s.p.22iyan98j1_2e.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Roboto Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/4a439e1ba971da1a-s.1vgctuhklh__x.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Roboto Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/b3b0afff8ab38d95-s.33q4idznd8rl5.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Roboto Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/b12ef0642bbc5f5f-s.2tbuiduw72dt5.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Roboto Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/83a6e70a3a81dd9f-s.28n7p9dmf_8k7.woff2)format("woff2");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:Roboto Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/99ac5753282bcf05-s.3w6kcxkrsxlac.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Roboto Mono;font-style:normal;font-weight:500;font-display:swap;src:url(../media/2f13ad8e538108e0-s.p.22iyan98j1_2e.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Roboto Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/4a439e1ba971da1a-s.1vgctuhklh__x.woff2)format("woff2");unicode-range:U+460-52F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:Roboto Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/b3b0afff8ab38d95-s.33q4idznd8rl5.woff2)format("woff2");unicode-range:U+301,U+400-45F,U+490-491,U+4B0-4B1,U+2116}@font-face{font-family:Roboto Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/b12ef0642bbc5f5f-s.2tbuiduw72dt5.woff2)format("woff2");unicode-range:U+370-377,U+37A-37F,U+384-38A,U+38C,U+38E-3A1,U+3A3-3FF}@font-face{font-family:Roboto Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/83a6e70a3a81dd9f-s.28n7p9dmf_8k7.woff2)format("woff2");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:Roboto Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/99ac5753282bcf05-s.3w6kcxkrsxlac.woff2)format("woff2");unicode-range:U+100-2BA,U+2BD-2C5,U+2C7-2CC,U+2CE-2D7,U+2DD-2FF,U+304,U+308,U+329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:Roboto Mono;font-style:normal;font-weight:600;font-display:swap;src:url(../media/2f13ad8e538108e0-s.p.22iyan98j1_2e.woff2)format("woff2");unicode-range:U+??,U+131,U+152-153,U+2BB-2BC,U+2C6,U+2DA,U+2DC,U+304,U+308,U+329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Roboto Mono Fallback;src:local(Arial);ascent-override:77.84%;descent-override:20.13%;line-gap-override:0.0%;size-adjust:134.61%}.roboto_mono_89e88bf0-module___hBICG__className{font-family:Roboto Mono,Roboto Mono Fallback;font-style:normal}.roboto_mono_89e88bf0-module___hBICG__variable{--font-mono:"Roboto Mono", "Roboto Mono Fallback"}
:root{--pri:#1e40af;--pri-fg:#fff;--pri-strong:color-mix(in srgb, var(--pri) 84%, black);--pri-700:color-mix(in srgb, var(--pri) 88%, black);--pri-600:var(--pri);--pri-200:color-mix(in srgb, var(--pri) 26%, white);--pri-100:color-mix(in srgb, var(--pri) 14%, white);--pri-50:color-mix(in srgb, var(--pri) 7%, white);--ink:#0f172a;--ink-2:#334155;--ink-3:#586374;--line:#cbd5e1;--line-soft:#e2e8f0;--surface:#fff;--surface-2:#f8fafc;--surface-3:#f1f5f9;--ok:#15803d;--ok-bg:#dcfce7;--ok-line:#86efac;--warn:#b45309;--warn-bg:#fef3c7;--warn-line:#fcd34d;--bad:#b91c1c;--bad-bg:#fee2e2;--bad-line:#fca5a5;--info:#1e40af;--info-bg:#dbeafe;--job-blue-bar:#1e40af;--job-blue-soft:#dbeafe;--job-blue-line:#93c5fd;--job-blue-text:#1e3a8a;--job-teal-bar:#0f766e;--job-teal-soft:#ccfbf1;--job-teal-line:#5eead4;--job-teal-text:#115e59;--job-violet-bar:#6d28d9;--job-violet-soft:#ede9fe;--job-violet-line:#c4b5fd;--job-violet-text:#5b21b6;--job-rose-bar:#be123c;--job-rose-soft:#ffe4e6;--job-rose-line:#fda4af;--job-rose-text:#9f1239;--job-amber-bar:#a16207;--job-amber-soft:#fef3c7;--job-amber-line:#fcd34d;--job-amber-text:#854d0e;--job-slate-bar:#334155;--job-slate-soft:#e2e8f0;--job-slate-line:#94a3b8;--job-slate-text:#1e293b;--job-green-bar:#15803d;--job-green-soft:#dcfce7;--job-green-line:#86efac;--job-green-text:#166534;--series-st:var(--pri);--series-ot:#be123c;--series-dt:#0f766e;--radius:12px;--radius-lg:14px;--shadow-sm:0 1px 2px #0f172a0f, 0 1px 3px #0f172a0d;--shadow-md:0 4px 12px #0f172a14;--shadow-xl:0 20px 40px #0f172a2e}html[data-density=compact]{--dy:7px;--dx:11px;--card-pad:15px;--gap:13px;--rowh:36px;--fs:13px;--h-fs:13px}html[data-density=comfortable]{--dy:12px;--dx:16px;--card-pad:21px;--gap:18px;--rowh:46px;--fs:14px;--h-fs:14px}
*{box-sizing:border-box}html,body{height:100%;margin:0}body{color:var(--ink);background:var(--surface-3);font-family:Inter,system-ui,-apple-system,sans-serif;font-size:var(--fs);-webkit-font-smoothing:antialiased;text-rendering:optimizelegibility;line-height:1.4}a{color:inherit;text-decoration:none}button{cursor:pointer;font-family:inherit}h1,h2,h3,h4,p{margin:0}img,svg{display:block}.mono{font-family:Roboto Mono,ui-monospace,monospace}.tabular{font-variant-numeric:tabular-nums}::-webkit-scrollbar{width:11px;height:11px}::-webkit-scrollbar-thumb{background:#cbd5e1 padding-box content-box;border:3px solid #0000;border-radius:6px}::-webkit-scrollbar-thumb:hover{background:#94a3b8 padding-box content-box}::-webkit-scrollbar-track{background:0 0}input[type=number]::-webkit-inner-spin-button{opacity:.4}.row{align-items:center;display:flex}.row-top{align-items:flex-start;display:flex}.col{flex-direction:column;display:flex}.wrap{flex-wrap:wrap}.between{justify-content:space-between}.center{justify-content:center}.end{justify-content:flex-end}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.grow{flex:auto;min-width:0}.shrink0{flex-shrink:0}.spacer{flex:auto}.gap-1{gap:4px}.gap-2{gap:8px}.gap-3{gap:12px}.gap-4{gap:16px}.gap-6{gap:24px}.gap-v{gap:var(--gap)}.mt-1{margin-top:4px}.mt-2{margin-top:8px}.mt-3{margin-top:12px}.mt-4{margin-top:16px}.mb-1{margin-bottom:4px}.mb-2{margin-bottom:8px}.mb-3{margin-bottom:12px}.mb-4{margin-bottom:16px}.mb-v{margin-bottom:var(--gap)}.ml-auto{margin-left:auto}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.nowrap{white-space:nowrap}.hidden{display:none!important}.muted{color:var(--ink-3)}.ink2{color:var(--ink-2)}.text-pri{color:var(--pri)}.uppercase{text-transform:uppercase;letter-spacing:.04em}.fw6{font-weight:600}.fw7{font-weight:700}.fw8{font-weight:800}.t-xs{font-size:11px}.t-sm{font-size:12px}.t-md{font-size:13px}.t-lg{font-size:15px}.divider-v{background:var(--line-soft);align-self:stretch;width:1px}@media (max-width:720px){.hide-sm{display:none!important}}@media print{.no-print{display:none!important}body{background:#fff}.app-sidebar,.app-topbar{display:none!important}.app-main{overflow:visible!important}}
.avatar{color:#fff;-webkit-user-select:none;user-select:none;background:#334155;border-radius:999px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;font-size:11.2px;font-weight:600;display:inline-flex}.avatar.sm{width:22px;height:22px;font-size:9px}.avatar.lg{width:42px;height:42px;font-size:17px}.avatar[data-c="0"]{background:#1e40af}.avatar[data-c="1"]{background:#0f766e}.avatar[data-c="2"]{background:#6d28d9}.avatar[data-c="3"]{background:#be123c}.avatar[data-c="4"]{background:#a16207}.avatar[data-c="5"]{background:#15803d}.avatar[data-c="6"]{background:#334155}.avatar[data-c="7"]{background:#0369a1}.btn{white-space:nowrap;background:var(--surface-2);height:36px;color:var(--ink);border:1px solid #0000;border-color:var(--line);border-radius:6px;justify-content:center;align-items:center;gap:8px;padding:0 14px;font-size:13px;font-weight:600;transition:background .12s,color .12s,box-shadow .12s;display:inline-flex}.btn:focus-visible{box-shadow:0 0 0 2px var(--pri-100);outline:none}.btn .ico{width:16px;height:16px}.btn.sm{gap:6px;height:32px;padding:0 10px;font-size:12px}.btn.sm .ico{width:14px;height:14px}.btn.lg{border-radius:8px;height:44px;padding:0 20px;font-size:14px}.btn.lg .ico{width:18px;height:18px}.btn-secondary{color:var(--ink);border-color:var(--line);box-shadow:var(--shadow-sm);background:#fff}.btn-secondary:hover{background:var(--surface-2)}.btn-primary{background:var(--pri);color:#fff;box-shadow:var(--shadow-sm);border-color:#0000}.btn-primary:hover{background:var(--pri-strong)}.btn-danger{background:var(--bad);color:#fff;box-shadow:var(--shadow-sm);border-color:#0000}.btn-danger:hover{filter:brightness(.94)}.btn-ghost{color:var(--ink-2);background:0 0;border-color:#0000}.btn-ghost:hover{background:var(--surface-3)}.btn-soft{background:var(--pri-100);color:var(--pri-700);border-color:#0000}.btn-soft:hover{filter:brightness(.96)}.btn[disabled]{opacity:.5;cursor:not-allowed}.btn-block{width:100%}.iconbtn{width:32px;height:32px;color:var(--ink-3);background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;transition:background .12s,color .12s;display:inline-flex}.iconbtn:hover{background:var(--surface-3);color:var(--ink)}.iconbtn.active{background:var(--pri);color:#fff}.iconbtn:disabled{opacity:.4;cursor:not-allowed}.iconbtn .ico{width:16px;height:16px}.card{border-radius:var(--radius);border:1px solid var(--line-soft);box-shadow:var(--shadow-sm);padding:var(--card-pad);background:#fff}.card.flush{padding:0}.card-head{justify-content:space-between;align-items:flex-start;gap:12px;display:flex}.card-head .ttl-wrap{align-items:flex-start;gap:10px;min-width:0;display:flex}.card-head .ico-badge{background:var(--pri-50);width:28px;height:28px;color:var(--pri);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;margin-top:2px;display:inline-flex}.card-head h3{color:var(--ink);align-items:center;gap:8px;font-size:15px;font-weight:700;line-height:1.2;display:inline-flex}.card-head .sub{color:var(--ink-3);margin-top:2px;font-size:12px}.card-head .actions{flex-shrink:0;align-items:center;gap:8px;display:flex}.badge{white-space:nowrap;color:var(--ink-2);background:var(--surface-3);border:1px solid;border-color:var(--line);border-radius:999px;align-items:center;gap:6px;padding:2px 8px;font-size:11px;font-weight:600;display:inline-flex}.badge .dot{background:currentColor;border-radius:999px;width:6px;height:6px}.badge .ico{width:12px;height:12px}.badge.ok{color:var(--ok);background:var(--ok-bg);border-color:var(--ok-line)}.badge.warn{color:var(--warn);background:var(--warn-bg);border-color:var(--warn-line)}.badge.bad{color:var(--bad);background:var(--bad-bg);border-color:var(--bad-line)}.badge.info{color:var(--pri-700);background:var(--pri-50);border-color:var(--pri-200)}.badge.alert{white-space:normal;text-align:left;justify-content:flex-start;align-items:flex-start;gap:8px;width:100%;padding:8px 12px;line-height:1.4}.badge.alert>svg{flex-shrink:0;margin-top:1px}.statcard{flex-direction:column;justify-content:space-between;min-height:104px;display:flex}.statcard .top{justify-content:space-between;align-items:center;display:flex}.statcard .lbl{text-transform:uppercase;letter-spacing:.03em;color:var(--ink-3);font-size:12px;font-weight:600}.statcard .ico-badge{background:var(--pri-50);width:28px;height:28px;color:var(--pri);border-radius:8px;justify-content:center;align-items:center;display:inline-flex}.statcard .val{align-items:flex-end;gap:6px;margin-top:8px;display:flex}.statcard .val b{color:var(--ink);font-variant-numeric:tabular-nums;font-size:28px;font-weight:800;line-height:1}.statcard .val .unit{color:var(--ink-3);margin-bottom:2px;font-size:13px;font-weight:600}.statcard .foot{align-items:center;gap:8px;margin-top:6px;font-size:12px;display:flex}.statcard .delta{align-items:center;gap:2px;font-weight:700;display:inline-flex}.statcard .delta.ok{color:var(--ok)}.statcard .delta.bad{color:var(--bad)}.statcard .delta .ico{width:13px;height:13px}.segmented{border:1px solid var(--line);background:var(--surface-2);border-radius:8px;align-items:center;height:36px;padding:2px;display:inline-flex}.segmented.sm{height:32px}.segmented button{height:100%;color:var(--ink-3);background:0 0;border:none;border-radius:6px;align-items:center;gap:6px;padding:0 12px;font-size:12.5px;font-weight:600;transition:all .12s;display:inline-flex}.segmented button .ico{width:14px;height:14px}.segmented button:hover{color:var(--ink-2)}.segmented button.active{color:var(--ink);background:#fff;box-shadow:0 1px 2px #0f172a1f}.field{display:block}.field>.lbl{color:var(--ink-2);margin-bottom:6px;font-size:12px;font-weight:600;display:block}.field>.lbl .req{color:var(--bad)}.field>.hint{color:var(--ink-3);margin-top:4px;font-size:11.5px;display:block}.input,.select select,.textarea{border:1px solid var(--line);width:100%;height:36px;color:var(--ink);background:#fff;border-radius:6px;padding:0 12px;font-family:inherit;font-size:13px;transition:border-color .12s,box-shadow .12s}.input::placeholder{color:var(--ink-3)}.input:focus,.select select:focus,.textarea:focus{border-color:var(--pri);box-shadow:0 0 0 2px var(--pri-100);outline:none}.textarea{resize:vertical;height:auto;padding:10px 12px;line-height:1.5}.select{position:relative}.select select{appearance:none;cursor:pointer;padding-right:34px}.select .chev{pointer-events:none;color:var(--ink-3);width:15px;height:15px;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.select:not(:has(.chev)):after{content:"";pointer-events:none;background-color:var(--ink-3);width:15px;height:15px;-webkit-mask:var(--chev-down-svg) center / contain no-repeat;-webkit-mask:var(--chev-down-svg) center / contain no-repeat;mask:var(--chev-down-svg) center / contain no-repeat;position:absolute;top:50%;right:12px;transform:translateY(-50%)}:root{--chev-down-svg:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")}.input.with-suffix{padding-right:30px}.input-suffix{display:block;position:relative}.input-suffix .sfx{color:var(--ink-3);font-size:12px;font-weight:600;position:absolute;top:50%;right:12px;transform:translateY(-50%)}.toggle{background:#cbd5e1;border:none;border-radius:999px;flex-shrink:0;align-items:center;width:36px;height:20px;transition:background .15s;display:inline-flex;position:relative}.toggle:after{content:"";min-width:44px;min-height:44px;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.toggle:focus-visible{box-shadow:0 0 0 3px var(--pri-100);outline:none}.toggle .knob{width:16px;height:16px;box-shadow:var(--shadow-sm);background:#fff;border-radius:999px;transition:transform .15s;display:inline-block;transform:translate(2px)}.emp-check{border:1px solid var(--line);background:var(--surface-2);border-radius:10px;align-items:center;gap:10px;padding:12px 14px;display:flex}.emp-check input{width:18px;height:18px;accent-color:var(--pri);flex-shrink:0}.emp-check>span:last-child{flex-direction:column;gap:1px;display:flex}.emp-check .lbl{color:var(--ink);font-size:13px;font-weight:700;display:block}.emp-check .d{color:var(--ink-3);font-size:11.5px;display:block}@keyframes link-spin{to{transform:rotate(360deg)}}.link-spin{flex-shrink:0;animation:.7s linear infinite link-spin}.sb-link .link-spin{color:currentColor;margin-left:auto}.wk-nav .link-spin,.wk-today .link-spin{display:inline-block}@keyframes skel-shimmer{0%{background-position:-400px 0}to{background-position:400px 0}}.skel{background:var(--surface-3);background-image:linear-gradient(90deg, var(--surface-3) 0px, var(--surface-2) 180px, var(--surface-3) 360px);background-size:800px 100%;border-radius:8px;animation:1.3s linear infinite skel-shimmer}.skel-page{gap:var(--gap);flex-direction:column;display:flex}.skel-head{justify-content:space-between;align-items:flex-start;display:flex}.skel-title{width:180px;height:24px;margin-bottom:8px}.skel-sub{width:260px;height:13px}.skel-btn{width:130px;height:36px}.skel-stats{gap:var(--gap);grid-template-columns:repeat(4,1fr);display:grid}.skel-card{height:92px}.skel-block{height:220px}.skel-rows{flex-direction:column;gap:8px;display:flex}.skel-row{height:44px}@media (max-width:760px){.skel-stats{grid-template-columns:1fr 1fr}}.copylink{align-items:center;gap:8px;display:flex}.copylink-lbl{color:var(--ink-2);flex-shrink:0;font-size:12px;font-weight:700}.copylink .input{flex:1;font-size:12px}.copylink .btn{flex-shrink:0}.table-wrap{width:100%;overflow-x:auto}table.tbl{border-collapse:collapse;width:100%;font-size:13px}table.tbl th{z-index:5;background:var(--surface-2);border-bottom:1px solid var(--line);text-transform:uppercase;letter-spacing:.03em;height:38px;color:var(--ink-3);white-space:nowrap;-webkit-user-select:none;user-select:none;text-align:left;padding:0 12px;font-size:11.5px;font-weight:600;position:sticky;top:0}table.tbl td{border-bottom:1px solid var(--line-soft);height:var(--rowh);color:var(--ink-2);vertical-align:middle;padding:0 12px}table.tbl tbody tr:hover{background:var(--surface-2)}table.tbl .r{text-align:right}.row-actions{opacity:.6;justify-content:flex-end;align-items:center;gap:4px;transition:opacity .12s;display:inline-flex}tr:hover .row-actions,tr:focus-within .row-actions{opacity:1}.page-head{flex-wrap:wrap;justify-content:space-between;align-items:flex-end;gap:16px;margin-bottom:16px;display:flex}.page-head .crumb{color:var(--ink-3);align-items:center;gap:6px;margin-bottom:4px;font-size:12px;font-weight:500;display:flex}.page-head .crumb .ico{width:12px;height:12px}.page-head h1{color:var(--ink);letter-spacing:-.01em;font-size:22px;font-weight:800;line-height:1.15}.page-head .sub{color:var(--ink-3);margin-top:4px;font-size:13px}.page-head .actions{flex-wrap:wrap;flex-shrink:0;align-items:center;gap:10px;display:flex}.modal-overlay{z-index:50;background:#0f172a73;justify-content:center;align-items:flex-start;padding:24px;display:flex;position:fixed;inset:0;overflow-y:auto}.modal-overlay[hidden]{display:none}.modal{border-radius:var(--radius);box-shadow:var(--shadow-xl);border:1px solid var(--line);background:#fff;width:100%;max-width:560px;margin:32px 0;position:relative}.modal-head{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:flex-start;gap:12px;padding:16px 20px;display:flex}.modal-head .ico-badge{background:var(--pri-50);width:36px;height:36px;color:var(--pri);border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;margin-top:2px;display:inline-flex}.modal-head h2{color:var(--ink);font-size:16px;font-weight:700;line-height:1.2}.modal-head .sub{color:var(--ink-3);margin-top:2px;font-size:12.5px}.modal-body{padding:16px 20px}.modal-foot{border-top:1px solid var(--line-soft);background:var(--surface-2);border-radius:0 0 var(--radius) var(--radius);justify-content:flex-end;align-items:center;gap:10px;padding:14px 20px;display:flex}.stack{flex-direction:column;gap:16px;display:flex}.grid-3{grid-template-columns:repeat(3,1fr);gap:12px;display:grid}.grid-2{grid-template-columns:repeat(2,1fr);gap:12px;display:grid}.job-bar{border-radius:999px;flex-shrink:0;width:6px;height:20px;display:inline-block}.job-chip{border-radius:3px;width:12px;height:12px;display:inline-block}.callout{border:1px solid var(--pri-200);background:var(--pri-50);border-radius:8px;align-items:flex-start;gap:10px;padding:12px;display:flex}.callout .ico{color:var(--pri);flex-shrink:0;width:17px;height:17px;margin-top:2px}.callout p{color:var(--ink-2);font-size:12.5px;line-height:1.5}.banner{border:1px solid var(--pri-200);background:var(--pri-50);margin-bottom:var(--gap);border-radius:8px;align-items:flex-start;gap:10px;padding:12px 14px;display:flex}.banner .ico{color:var(--pri);flex-shrink:0;width:18px;height:18px;margin-top:1px}.banner p{color:var(--ink-2);font-size:12.5px;line-height:1.5}.banner.dismissible{padding-right:38px;position:relative}.banner .banner-x{width:24px;height:24px;color:var(--ink-3);cursor:pointer;background:0 0;border:none;border-radius:6px;justify-content:center;align-items:center;display:inline-flex;position:absolute;top:8px;right:8px}.banner .banner-x:hover{color:var(--ink);background:#0000000d}.otp-row{justify-content:center;gap:8px;margin:20px 0;display:flex}.otp-row input{text-align:center;border:1px solid var(--line);border-radius:10px;width:46px;height:56px;font-family:Roboto Mono,monospace;font-size:22px;font-weight:800}.otp-row input:focus{border-color:var(--pri);box-shadow:0 0 0 3px var(--pri-100);outline:none}@media (max-width:420px){.otp-row{gap:6px}.otp-row input{width:40px;height:50px;font-size:19px}}.toggle:has(input:checked){background:var(--pri)}.toggle:has(input:checked) .knob{transform:translate(18px)}.toggle:has(input:focus-visible){box-shadow:0 0 0 3px var(--pri-100)}.export-menu{position:relative}.export-pop{z-index:30;border:1px solid var(--line);min-width:244px;box-shadow:var(--shadow-xl);background:#fff;border-radius:10px;padding:6px;position:absolute;top:calc(100% + 6px);right:0}.export-scope{border-bottom:1px solid var(--line-soft);gap:4px;margin-bottom:4px;padding:4px;display:flex}.export-scope button{border:1px solid var(--line);height:28px;color:var(--ink-3);white-space:nowrap;background:#fff;border-radius:6px;flex:1;justify-content:center;align-items:center;gap:4px;padding:0 6px;font-size:11.5px;font-weight:600;display:inline-flex}.export-scope button.on{background:var(--pri-50);border-color:var(--pri-200);color:var(--pri-700)}.export-item{color:var(--ink-2);cursor:pointer;border-radius:7px;align-items:center;gap:9px;padding:8px 10px;font-size:13px;font-weight:600;display:flex}.export-item:hover{background:var(--surface-2);color:var(--ink)}@media print{.app-sidebar,.app-topbar,.page-head .actions,.export-menu,.no-print,.row-actions,.list-toolbar{display:none!important}.app-main,.app-body,body{background:#fff!important;overflow:visible!important}.card{break-inside:avoid;box-shadow:none!important;border-color:#ddd!important}.wrap-pad{max-width:100%!important;padding:0!important}}.ss{width:100%;position:relative}.ss-btn{border:1px solid var(--line);width:100%;height:36px;color:var(--ink);cursor:pointer;background:#fff;border-radius:6px;justify-content:space-between;align-items:center;gap:8px;padding:0 10px 0 12px;font-size:13px;display:flex}.ss-btn:hover{border-color:var(--ink-3)}.ss-val{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ss-pop{z-index:40;border:1px solid var(--line);box-shadow:var(--shadow-xl);background:#fff;border-radius:8px;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:hidden}.ss-search{border-bottom:1px solid var(--line-soft);align-items:center;gap:8px;padding:8px 10px;display:flex}.ss-search input{background:0 0;border:none;outline:none;flex:1;font-size:13px}.ss-list{max-height:240px;padding:4px;overflow-y:auto}.ss-opt{text-align:left;cursor:pointer;background:0 0;border:none;border-radius:6px;align-items:center;gap:8px;width:100%;padding:7px 8px;display:flex}.ss-opt:hover{background:var(--surface-2)}.ss-opt.on{background:var(--pri-50)}.ss-check{width:16px;color:var(--pri);flex-shrink:0;justify-content:center;display:inline-flex}.ss-opt-l{color:var(--ink);font-size:13px;font-weight:600;display:block}.ss-opt-s{color:var(--ink-3);font-size:11.5px;display:block}.ss-empty{text-align:center;color:var(--ink-3);padding:14px;font-size:12.5px}.notif{position:relative}.notif-pop{z-index:40;border:1px solid var(--line);width:320px;box-shadow:var(--shadow-xl);background:#fff;border-radius:10px;position:absolute;top:calc(100% + 8px);right:0;overflow:hidden}.notif-hd{border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:8px;padding:12px 14px;font-size:13px;font-weight:800;display:flex}.notif-allread{color:var(--pri);cursor:pointer;background:0 0;border:none;align-items:center;gap:4px;font-size:11.5px;font-weight:700;display:inline-flex}.notif-allread:hover{text-decoration:underline}.notif-list{max-height:360px;overflow-y:auto}.notif-item{border-bottom:1px solid var(--line-soft);align-items:stretch;display:flex}.notif-item:hover{background:var(--surface-2)}.notif-link{color:inherit;flex:1;gap:10px;min-width:0;padding:11px 14px;display:flex}.notif-x{width:30px;color:var(--ink-3);cursor:pointer;background:0 0;border:none;flex-shrink:0;place-items:center;display:grid}.notif-x:hover{color:var(--bad);background:var(--bad-bg)}.notif-foot{text-align:center;color:var(--pri);border-top:1px solid var(--line-soft);padding:10px;font-size:12px;font-weight:700;display:block}.notif-foot:hover{background:var(--surface-2)}.notif-ic{border-radius:8px;flex-shrink:0;place-items:center;width:30px;height:30px;display:grid}.notif-ic.ok{background:var(--ok-bg);color:var(--ok)}.notif-ic.warn{background:var(--warn-bg);color:var(--warn)}.notif-ic.info{background:var(--pri-50);color:var(--pri)}.notif-t{color:var(--ink);font-size:13px;font-weight:700;display:block}.notif-d{color:var(--ink-3);font-size:11.5px;display:block}.notif-empty{text-align:center;color:var(--ink-3);padding:24px;font-size:12.5px}.search-pop{z-index:40;border:1px solid var(--line);box-shadow:var(--shadow-xl);background:#fff;border-radius:10px;padding:4px;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow:hidden}.search-item{color:inherit;border-radius:7px;align-items:center;gap:10px;padding:8px 10px;font-size:13px;display:flex}.search-item:hover{background:var(--surface-2)}.search-type{text-transform:uppercase;letter-spacing:.04em;color:var(--pri-700);background:var(--pri-50);border-radius:4px;flex-shrink:0;padding:2px 6px;font-size:10px;font-weight:800}.driver-popover{box-shadow:var(--shadow-xl);border-radius:12px;max-width:320px}.driver-popover-title{color:var(--ink);font-size:15px;font-weight:800}.driver-popover-description{color:var(--ink-2);font-size:13px;line-height:1.55}.driver-popover-progress-text{color:var(--ink-3);font-size:11px}.driver-popover-footer button,.driver-popover-footer .driver-popover-prev-btn,.driver-popover-footer .driver-popover-next-btn{border:1px solid var(--line);color:var(--ink-2);background:#fff;border-radius:7px;padding:6px 12px;font-size:12.5px;font-weight:600;text-shadow:none!important}.driver-popover-footer .driver-popover-next-btn,.driver-popover-footer .driver-popover-next-btn:hover{background:var(--pri);color:#fff;border-color:var(--pri)}.onboard-skip{z-index:2147483647;color:#fff;cursor:pointer;background:#0f172ad1;border:1px solid #ffffff40;border-radius:999px;height:34px;padding:0 14px;font-size:12.5px;font-weight:600;position:fixed;bottom:20px;left:20px;box-shadow:0 4px 14px #0000004d;pointer-events:auto!important}.onboard-skip:hover{background:#0f172af2}.modal-overlay,.modal{text-align:left}@keyframes ctt-spin{to{transform:rotate(360deg)}}.spin{animation:.7s linear infinite ctt-spin}.iconbtn.is-loading{color:var(--pri)}.h-card-link{color:inherit;cursor:pointer;text-decoration:none;transition:border-color .12s,box-shadow .12s,transform .12s}.h-card-link:hover{border-color:var(--pri);box-shadow:var(--shadow);transform:translateY(-1px)}.toast-wrap{z-index:2147483646;pointer-events:none;flex-direction:column;gap:10px;max-width:min(380px,100vw - 36px);display:flex;position:fixed;bottom:18px;right:18px}.toast{pointer-events:auto;border:1px solid var(--line);box-shadow:var(--shadow-xl);color:var(--ink);background:#fff;border-radius:10px;align-items:flex-start;gap:10px;padding:12px 12px 12px 14px;font-size:13px;animation:.18s ease-out ctt-toast-in;display:flex}.toast-ic{flex-shrink:0;margin-top:1px;display:inline-flex}.toast-msg{flex:1;line-height:1.35}.toast-x{width:22px;height:22px;color:var(--ink-3);border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.toast-x:hover{background:var(--surface-3);color:var(--ink)}.toast-ok{border-left:3px solid var(--ok,#15803d)}.toast-ok .toast-ic{color:var(--ok,#15803d)}.toast-warn{border-left:3px solid var(--bad,#be123c)}.toast-warn .toast-ic{color:var(--bad,#be123c)}.toast-info{border-left:3px solid var(--pri)}.toast-info .toast-ic{color:var(--pri)}@keyframes ctt-toast-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}
.skip-link{z-index:100;background:var(--pri);color:#fff;border-radius:0 0 8px 8px;padding:8px 14px;font-size:13px;font-weight:700;transition:top .15s;position:absolute;top:-48px;left:8px}.skip-link:focus{outline-offset:-4px;outline:2px solid #fff;top:0}.app-shell{width:100%;height:100%;display:flex;overflow:hidden}.app-sidebar{border-right:1px solid var(--line);background:#fff;flex-direction:column;flex-shrink:0;width:246px;height:100%;display:flex}.sb-brand{border-bottom:1px solid var(--line-soft);padding:16px 16px 14px}.sb-fulllogo{justify-content:center;align-items:center;min-height:48px;display:flex}.sb-fulllogo img{object-fit:contain;max-width:100%;max-height:72px}.sb-brand .top{align-items:center;gap:10px;display:flex}.sb-brand .mark{width:36px;height:36px;box-shadow:var(--shadow-sm);background:var(--pri);color:#fff;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.sb-brand .name{color:var(--ink);letter-spacing:-.01em;font-size:16px;font-weight:800;line-height:1}.sb-brand .name span{color:var(--pri)}.sb-brand .role{color:var(--ink-3);margin-top:4px;font-size:10.5px;font-weight:600}.sb-logo{border:1px dashed var(--line);background:var(--surface-2);border-radius:8px;align-items:center;gap:8px;height:40px;margin-top:12px;padding:0 10px;display:flex}.sb-logo .box{background:var(--surface-3);width:24px;height:24px;color:var(--ink-3);border-radius:4px;flex-shrink:0;place-items:center;display:grid}.sb-logo .co{color:var(--ink-2);font-size:11px;font-weight:700;line-height:1.2}.sb-nav{flex:1;padding:12px;overflow-y:auto}.sb-group{margin-bottom:16px}.sb-group .hd{text-transform:uppercase;letter-spacing:.06em;color:var(--ink-3);margin-bottom:6px;padding:0 10px;font-size:10.5px;font-weight:700}.sb-link{width:100%;height:36px;color:var(--ink-2);border-radius:8px;align-items:center;gap:10px;margin-bottom:2px;padding:0 10px;font-size:13.5px;font-weight:600;transition:background .12s,color .12s;display:flex;position:relative}.sb-link .ico{width:17px;height:17px;color:var(--ink-3);flex-shrink:0}.sb-link:hover{background:var(--surface-3)}.sb-link.active{background:var(--pri);color:#fff}.sb-link.active .ico{color:#fff}.sb-link.active:before{content:"";background:#ffffffb3;border-radius:0 999px 999px 0;width:4px;position:absolute;top:6px;bottom:6px;left:0}.sb-link .lbl{text-align:left;flex:1}.sb-link .pill{background:var(--bad-bg);min-width:18px;height:18px;color:var(--bad);border-radius:999px;justify-content:center;align-items:center;padding:0 4px;font-size:10.5px;font-weight:700;display:inline-flex}.sb-link.active .pill{color:#fff;background:#ffffff40}.sb-foot{border-top:1px solid var(--line-soft);padding:12px}.sb-user{border-top:1px solid var(--line-soft);align-items:center;gap:6px;margin-top:4px;padding:8px 6px 0;display:flex}.sb-user-link{min-width:0;color:inherit;border-radius:8px;flex:1;align-items:center;gap:10px;padding:5px 6px;display:flex}.sb-user-link:hover{background:var(--surface-3)}.sb-user .avatar{background:#334155}.sb-user .nm{color:var(--ink);font-size:12.5px;font-weight:700;line-height:1.2}.sb-user .rl{color:var(--ink-3);font-size:11px;line-height:1.2}.app-body{flex-direction:column;flex:1;min-width:0;display:flex}.app-topbar{border-bottom:1px solid var(--line);background:#fff;flex-shrink:0;align-items:center;gap:12px;height:56px;padding:0 20px;display:flex}.app-topbar .menu-btn{display:none}.topbar-search{flex:1;max-width:420px;position:relative}.topbar-search .ico{color:var(--ink-3);width:16px;height:16px;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.topbar-search input{border:1px solid var(--line);background:var(--surface-2);border-radius:8px;width:100%;height:36px;padding:0 12px 0 34px;font-size:13px}.topbar-search input:focus{border-color:var(--pri);box-shadow:0 0 0 2px var(--pri-100);background:#fff;outline:none}.topbar-week{color:var(--ink-3);align-items:center;gap:6px;font-size:12px;font-weight:600;display:inline-flex}.topbar-week .ico{width:14px;height:14px}.week-switch{align-items:center;gap:2px;display:inline-flex}.week-switch .wk-nav{width:26px;height:26px;color:var(--ink-3);border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;display:inline-flex}.week-switch .wk-nav:hover{background:var(--surface-2);color:var(--ink);border-color:var(--line)}.week-switch .wk-nav:has(.link-spin) .wk-chevron{display:none}.week-switch .wk-nav .link-spin{color:var(--pri)}.week-switch .wk-label{color:var(--ink-2);white-space:nowrap;justify-content:center;align-items:center;gap:6px;min-width:134px;padding:0 4px;font-size:12px;font-weight:700;display:inline-flex}.week-switch .wk-label .ico{color:var(--ink-3)}.week-switch .wk-today{color:var(--pri);border:1px solid var(--line);white-space:nowrap;background:#fff;border-radius:999px;margin-left:6px;padding:3px 9px;font-size:11px;font-weight:700}.week-switch .wk-today:hover{background:var(--pri-100);border-color:var(--pri)}.week-switch .wk-today.is-now{color:var(--ink-3);background:var(--surface-2);border-color:var(--line);cursor:default}@media (max-width:720px){.week-switch .wk-today{display:none}.week-switch .wk-label{min-width:0}}.topbar-bell{position:relative}.topbar-bell .dot{background:var(--bad);border-radius:999px;width:8px;height:8px;position:absolute;top:6px;right:6px;box-shadow:0 0 0 2px #fff}.app-main{background:var(--surface-3);flex:1;overflow-y:auto}.app-main .wrap-pad{padding:var(--gap);max-width:1500px;margin:0 auto}.sb-scrim{z-index:39;background:#0f172a73;display:none;position:fixed;inset:0}@media (max-width:1024px){.app-sidebar{z-index:40;box-shadow:var(--shadow-xl);transition:transform .22s;position:fixed;top:0;bottom:0;left:0;transform:translate(-100%)}body.nav-open .app-sidebar{transform:translate(0)}body.nav-open .sb-scrim{display:block}.app-topbar .menu-btn{display:inline-flex}}@media (max-width:640px){.topbar-week,.week-switch,.app-topbar .spacer{display:none}.topbar-search{max-width:none}.app-main .wrap-pad{padding:12px}.page-head h1{font-size:19px}.page-head{flex-direction:column;align-items:stretch}.page-head .actions{flex-shrink:1;width:100%}}
.list-toolbar{padding:12px var(--card-pad);border-bottom:1px solid var(--line-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.list-toolbar .left{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.list-search{width:260px;max-width:100%;position:relative}.list-search .ico{color:var(--ink-3);width:15px;height:15px;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.list-search input{border:1px solid var(--line);background:#fff;border-radius:6px;width:100%;height:36px;padding:0 12px 0 34px;font-size:13px}.list-search input:focus{border-color:var(--pri);box-shadow:0 0 0 2px var(--pri-100);outline:none}.cell-emp{align-items:center;gap:10px;display:flex}.cell-emp .nm{color:var(--ink);font-weight:700;line-height:1.2}.cell-emp .sub{color:var(--ink-3);font-size:11px;line-height:1.2}.cell-job{align-items:center;gap:8px;display:inline-flex}@media (max-width:560px){.list-search{width:100%}}
.chart-legend{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.chart-legend .lg{color:var(--ink-2);align-items:center;gap:6px;font-size:12px;font-weight:600;display:inline-flex}.chart-legend .sw{border-radius:3px;width:10px;height:10px;display:inline-block}.sbh{flex-direction:column;gap:10px;display:flex}.sbh-row{align-items:center;gap:12px;display:flex}.sbh-name{width:120px;min-width:0;color:var(--ink);flex-shrink:0;align-items:center;gap:8px;font-size:12.5px;font-weight:600;display:flex}.sbh-track{background:var(--surface-3);border-radius:6px;flex:1;height:24px;display:flex;overflow:hidden}.sbh-track .seg{height:100%;transition:width .3s}.sbh-tot{text-align:right;width:48px;color:var(--ink);flex-shrink:0;font-size:12.5px;font-weight:700}.sbv{display:flex}.sbv-axis{text-align:right;color:var(--ink-3);font-variant-numeric:tabular-nums;flex-direction:column;justify-content:space-between;padding-right:8px;font-size:10.5px;display:flex}.sbv-plot{flex:1;position:relative}.sbv-grid{border-top:1px solid var(--line-soft);position:absolute;left:0;right:0}.sbv-bars{justify-content:space-around;align-items:flex-end;gap:4px;padding:0 4px;display:flex;position:absolute;inset:0}.sbv-col{flex-direction:column;flex:1;align-items:center;gap:6px;max-width:46px;display:flex}.sbv-stack{border-radius:3px 3px 0 0;flex-direction:column-reverse;width:100%;transition:height .3s;display:flex;overflow:hidden}.sbv-lbl{color:var(--ink-3);white-space:nowrap;font-size:10.5px;font-weight:600}.trendwrap{width:100%}.trendsvg{width:100%;display:block}.donut{justify-content:center;align-items:center;display:inline-flex;position:relative}.donut svg circle{transition:stroke-dashoffset .6s}.donut-c{flex-direction:column;justify-content:center;align-items:center;display:flex;position:absolute;inset:0}.donut-c .v{color:var(--ink);font-variant-numeric:tabular-nums;font-size:26px;font-weight:800;line-height:1}.donut-c .v .pct{font-size:15px}.donut-c .s{color:var(--ink-3);text-align:center;margin-top:4px;padding:0 12px;font-size:10.5px;font-weight:600;line-height:1.2}
.form-grid{gap:var(--gap);grid-template-columns:2fr 1fr;align-items:start;display:grid}.day-pick{flex-wrap:wrap;gap:8px;display:flex}.day-pick .d{border:1px solid var(--line);cursor:pointer;background:#fff;border-radius:8px;flex-direction:column;align-items:center;gap:2px;width:64px;padding:8px 0;transition:all .12s;display:flex}.day-pick .d .dow{text-transform:uppercase;color:var(--ink-3);font-size:10.5px;font-weight:700}.day-pick .d .dn{color:var(--ink);font-size:16px;font-weight:800}.day-pick .d.on{border-color:var(--pri);background:var(--pri-50)}.day-pick label.d:has(input:checked){border-color:var(--pri);background:var(--pri-50)}.day-pick .d.on .dn,.day-pick .d.on .dow{color:var(--pri)}.day-pick label.d:has(input:checked) .dn{color:var(--pri)}.day-pick label.d:has(input:checked) .dow{color:var(--pri)}.day-pick label.d:has(input:focus-visible){box-shadow:0 0 0 3px var(--pri-100)}.crew-pick{border:1px solid var(--line);background:#fff;border-radius:8px;flex-direction:column;gap:4px;max-height:280px;padding:6px;display:flex;overflow-y:auto}.crew-opt{cursor:pointer;color:var(--ink);border:1px solid #0000;border-radius:6px;align-items:center;gap:10px;padding:6px 8px;font-size:13px;font-weight:600;display:flex}.crew-opt:hover{background:var(--surface-2)}.crew-opt:has(input:checked){background:var(--pri-50);border-color:var(--pri-200)}.crew-opt input{width:15px;height:15px;accent-color:var(--pri);flex-shrink:0}.crew-opt .meta{color:var(--ink-3);flex-shrink:0;font-size:11.5px;font-weight:600}.entry-preview-row{border-bottom:1px solid var(--line-soft);grid-template-columns:1fr repeat(4,64px);align-items:center;gap:8px;padding:8px 0;font-size:12.5px;display:grid}.entry-preview-row.head{text-transform:uppercase;color:var(--ink-3);font-size:10.5px;font-weight:700}.er-head{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.er-day{border-bottom:1px solid var(--line-soft);grid-template-columns:120px 1fr repeat(4,72px);align-items:center;gap:8px;padding:10px 0;display:grid}.er-day:last-child{border-bottom:0}.er-day .dlabel{color:var(--ink);font-weight:700}.er-tot{grid-template-columns:120px 1fr repeat(4,72px);gap:8px;padding:12px 0 0;font-weight:800;display:grid}.gt-grid{gap:var(--gap);grid-template-columns:320px 1fr;height:calc(100vh - 220px);min-height:460px;display:grid}.gt-list{flex-direction:column;display:flex;overflow:hidden}.gt-threads{flex:1;overflow-y:auto}.gt-thread{border-bottom:1px solid var(--line-soft);cursor:pointer;gap:10px;padding:12px;display:flex}.gt-thread:hover,.gt-thread.active{background:var(--surface-2)}.gt-thread .body{flex:1;min-width:0}.gt-thread .nm{color:var(--ink);font-size:13px;font-weight:700}.gt-thread .prev{color:var(--ink-3);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.gt-conv{flex-direction:column;display:flex;overflow:hidden}.gt-conv-head{border-bottom:1px solid var(--line-soft);align-items:center;gap:10px;padding:12px 16px;display:flex}.gt-msgs{background:var(--surface-2);flex-direction:column;flex:1;gap:12px;padding:16px;display:flex;overflow-y:auto}.gt-msg{max-width:78%}.gt-msg .bubble{border-radius:12px;padding:8px 12px;font-size:13px;line-height:1.4}.gt-msg.in .bubble{border:1px solid var(--line-soft);color:var(--ink);background:#fff;border-bottom-left-radius:4px}.gt-msg.out{align-self:flex-end}.gt-msg.out .bubble{background:var(--pri);color:#fff;border-bottom-right-radius:4px}.gt-msg .meta{color:var(--ink-3);margin-top:3px;font-size:10.5px}.gt-msg.out .meta{text-align:right}.gt-compose{border-top:1px solid var(--line-soft);align-items:flex-end;gap:8px;padding:12px 16px;display:flex}.er-scroll{overflow-x:auto}.er-scroll .er-day,.er-scroll .er-tot{min-width:560px}@media (max-width:1000px){.form-grid,.gt-grid{grid-template-columns:1fr}.gt-grid{height:auto}}@media (max-width:720px){.entry-preview-row{grid-template-columns:1fr repeat(3,52px)}}.ntf-rows{flex-direction:column;display:flex}.ntf-row{border-bottom:1px solid var(--line-soft);align-items:flex-start;gap:12px;padding:14px 16px;display:flex}.ntf-row:last-child{border-bottom:0}.ntf-row.unread{background:var(--pri-50)}.ntf-top{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.ntf-title{color:var(--ink);font-size:13.5px;font-weight:700}.ntf-when{color:var(--ink-3);margin-left:auto;font-size:11.5px}.ntf-body{color:var(--ink-3);margin-top:2px;font-size:12.5px}.ntf-actions{flex-shrink:0;align-items:center;gap:2px;display:flex}
.ts-context{flex-wrap:wrap;align-items:center;gap:16px;display:flex}.ts-context .who .nm{color:var(--ink);font-size:15px;font-weight:800;line-height:1.2}.ts-context .who .meta{color:var(--ink-3);font-size:12px}.ts-context .blk .k{text-transform:uppercase;color:var(--ink-3);font-size:11px;font-weight:600}.ts-context .blk .v{color:var(--ink);font-size:13px;font-weight:700}.ts-grid{gap:var(--gap);grid-template-columns:3fr 2fr;display:grid}.ts-col{gap:var(--gap);flex-direction:column;display:flex}.ts-total{background:var(--surface-2);border-radius:8px;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.ts-total .big{font-variant-numeric:tabular-nums;color:var(--ink);font-size:22px;font-weight:800}.ts-total .big small{font-size:14px}.cmp-headrow{grid-template-columns:90px 1fr 24px 1fr;align-items:center;gap:8px;margin:12px 0 4px;display:grid}.cmp-headrow span{text-transform:uppercase;color:var(--ink-3);text-align:center;font-size:10.5px;font-weight:700}.cmp-row{border-bottom:1px solid var(--line-soft);grid-template-columns:90px 1fr 24px 1fr;align-items:center;gap:8px;padding:8px 0;display:grid}.cmp-row:last-child{border-bottom:0}.cmp-row .lab{color:var(--ink-2);font-size:12px;font-weight:600}.cmp-row .o{font-variant-numeric:tabular-nums;color:var(--ink-3);border-radius:4px;padding:4px 8px;font-size:13px}.cmp-row .n{font-variant-numeric:tabular-nums;color:var(--ink);border-radius:4px;padding:4px 8px;font-size:13px;font-weight:700}.cmp-row.changed .o{background:var(--bad-bg);color:var(--bad);font-weight:600;text-decoration:line-through}.cmp-row.changed .n{background:var(--ok-bg);color:var(--ok)}.cmp-row .arrow{color:var(--ink-3);justify-content:center;display:flex}.timeline{margin-top:16px;padding-left:24px;position:relative}.timeline:before{content:"";background:var(--line);width:1px;position:absolute;top:4px;bottom:4px;left:7px}.tl-item{padding-bottom:16px;position:relative}.tl-item:last-child{padding-bottom:0}.tl-dot{border:2px solid #fff;border-radius:999px;width:14px;height:14px;position:absolute;top:2px;left:-24px}.tl-note{color:var(--ink-2);background:var(--surface-2);border-radius:6px;margin-top:6px;padding:8px;font-size:12px;line-height:1.4}@media (max-width:980px){.ts-grid{grid-template-columns:1fr}}
.cal-legend{flex-wrap:wrap;align-items:center;gap:6px 16px;margin-bottom:12px;display:flex}.cal-legend .hd{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3);font-size:11px;font-weight:700}.cal-legend .item{color:var(--ink-2);align-items:center;gap:6px;font-size:12px;font-weight:600;display:inline-flex}.cal-legend .item .num{font-family:Roboto Mono,monospace;font-size:11px}.cal-nav{border:1px solid var(--line);background:#fff;border-radius:8px;align-items:center;height:36px;display:flex;overflow:hidden}.cal-nav button{height:100%;color:var(--ink-2);background:#fff;border:none;padding:0 8px}.cal-nav button:hover{background:var(--surface-2)}.cal-nav .lbl{white-space:nowrap;border-left:1px solid var(--line);border-right:1px solid var(--line);align-items:center;height:100%;padding:0 12px;font-size:12.5px;font-weight:700;display:flex}.cal{grid-template-columns:56px repeat(7,1fr);display:grid}.cal-dayhead{border-bottom:1px solid var(--line)}.cal-dayhead .cell{text-align:center;border-right:1px solid var(--line-soft);padding:8px}.cal-dayhead .cell:last-child{border-right:0}.cal-dayhead .cell.today{background:var(--pri-50)}.cal-dayhead .dow{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3);font-size:11px;font-weight:700}.cal-dayhead .dnum{color:var(--ink);margin-top:2px;font-size:18px;font-weight:800;line-height:1.1}.cal-dayhead .cell.today .dnum{color:var(--pri)}.cal-dayhead .dnum .tdot{background:var(--pri);vertical-align:middle;border-radius:999px;width:6px;height:6px;margin-left:4px;display:inline-block}.cal-gridwrap{max-height:calc(100vh - 320px);position:relative;overflow:auto}.cal-grid{position:relative}.cal-gutter{border-right:1px solid var(--line-soft)}.cal-gutter .h{height:44px;position:relative}.cal-gutter .h span{color:var(--ink-3);font-family:Roboto Mono,monospace;font-size:10.5px;font-weight:600;position:absolute;top:-6px;right:8px}.cal-col{border-right:1px solid var(--line-soft);position:relative}.cal-col:last-child{border-right:0}.cal-col.today{background:color-mix(in srgb, var(--pri-50) 60%, transparent)}.cal-cell{border-bottom:1px solid var(--line-soft);cursor:pointer;justify-content:center;align-items:center;height:44px;transition:background .1s;display:flex}.cal-cell:hover{background:color-mix(in srgb, var(--pri-100) 40%, transparent)}.cal-cell .hint{color:var(--pri);opacity:.85;pointer-events:none;align-items:center;gap:4px;font-size:10px;font-weight:700;display:none}.cal-cell:hover .hint{display:inline-flex}.cal-event{cursor:pointer;box-shadow:var(--shadow-sm);border-left:3px solid;border-radius:6px;padding:4px 6px;transition:box-shadow .12s;position:absolute;left:4px;right:4px;overflow:hidden}.cal-event:hover{box-shadow:var(--shadow-md)}.cal-event .num{font-family:Roboto Mono,monospace;font-size:10.5px;font-weight:700;line-height:1.1}.cal-event .client{text-overflow:ellipsis;white-space:nowrap;font-size:11px;font-weight:700;line-height:1.1;overflow:hidden}.cal-event .time{opacity:.8;margin-top:2px;font-size:10px;font-weight:500;line-height:1.1}.cal-event .crew{background:#fff9;border-radius:4px;align-items:center;gap:4px;margin-top:4px;padding:1px 4px;font-size:10px;font-weight:700;display:inline-flex}.cal-event .crew .ico{width:10px;height:10px}.crew-ms{border:1px solid var(--line);background:#fff;border-radius:6px;flex-wrap:wrap;gap:6px;width:100%;min-height:36px;padding:5px 8px;display:flex}.crew-ms .chip{border:1px solid var(--pri-200);background:var(--pri-50);color:var(--pri-700);border-radius:6px;align-items:center;gap:6px;padding:2px 6px 2px 4px;font-size:12px;font-weight:600;display:inline-flex}.crew-ms .chip .x{color:inherit;opacity:.7;cursor:pointer;background:0 0;border:none;padding:0;display:inline-flex}.job-preview{border-radius:8px;align-items:center;gap:10px;padding:10px;display:flex}.job-preview .scope{font-size:12px;font-weight:700}.job-preview .site{align-items:center;gap:4px;margin-top:2px;font-size:11px;font-weight:500;display:flex}@media (max-width:900px){.cal-gridwrap{max-height:none}.cal-dayhead .dnum{font-size:15px}}
.mp-scroll{overflow-x:auto}.mp-inner{min-width:880px}.mp-grid{grid-template-columns:230px repeat(7,1fr);display:grid}.mp-dayhead{background:var(--surface-2);border-bottom:2px solid var(--line);z-index:6;position:sticky;top:0}.mp-dayhead .lead-cell{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3);border-right:1px solid var(--line);padding:8px 12px;font-size:11px;font-weight:700}.mp-dayhead .day{text-align:center;border-right:1px solid var(--line-soft);padding:8px}.mp-dayhead .day:last-child{border-right:0}.mp-dayhead .day.today{background:var(--pri-50)}.mp-dayhead .dow{text-transform:uppercase;color:var(--ink-3);font-size:10.5px;font-weight:700}.mp-dayhead .dnum{color:var(--ink-2);font-size:13px;font-weight:800}.mp-dayhead .day.today .dnum{color:var(--pri)}.mp-jobhd{border-bottom:1px solid var(--line);align-items:center;gap:12px;padding:8px 12px;display:flex}.mp-jobhd .grow .l1{align-items:center;gap:8px;min-width:0;display:flex}.mp-jobhd .num{flex-shrink:0;font-family:Roboto Mono,monospace;font-size:12px;font-weight:700}.mp-jobhd .client{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:13px;font-weight:800;overflow:hidden}.mp-jobhd .l2{align-items:center;gap:12px;min-width:0;margin-top:2px;font-size:11px;display:flex}.mp-jobhd .l2 .lead{white-space:nowrap;flex-shrink:0;align-items:center;gap:4px;font-weight:600;display:inline-flex}.mp-jobhd .l2 .site{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:4px;min-width:0;display:inline-flex;overflow:hidden}.mp-jobhd .badge{background:#fff9}.mp-row{border-bottom:1px solid var(--line-soft);grid-template-columns:230px repeat(7,1fr);align-items:center;display:grid}.mp-row:hover{background:var(--surface-2)}.mp-row .who{border-right:1px solid var(--line-soft);align-items:center;gap:8px;min-width:0;padding:6px 12px;display:flex}.mp-row .who .nm{color:var(--ink);text-overflow:ellipsis;white-space:nowrap;font-size:12.5px;font-weight:700;line-height:1.2;overflow:hidden}.mp-row .who .meta{color:var(--ink-3);font-size:10.5px;line-height:1.2}.mp-span{grid-column:span 7;height:38px;position:relative}.mp-span .seps{grid-template-columns:repeat(7,1fr);display:grid;position:absolute;inset:0}.mp-span .seps>div{border-right:1px solid var(--line-soft)}.mp-span .seps>div:last-child{border-right:0}.mp-span .seps>div.today{background:color-mix(in srgb, var(--pri-50) 50%, transparent)}.mp-span .bar{height:22px;box-shadow:var(--shadow-sm);border-radius:6px;align-items:center;padding:0 8px;display:flex;position:absolute;top:50%;transform:translateY(-50%)}.mp-span .bar span{color:#fff;text-overflow:ellipsis;white-space:nowrap;font-size:10.5px;font-weight:700;overflow:hidden}.mp-span .avail{height:38px;color:var(--ink-3);align-items:center;gap:6px;padding:0 8px;font-size:11px;font-weight:600;display:flex;position:relative}.mp-span .avail .dot{background:var(--ok);border-radius:999px;width:6px;height:6px}.mp-availhd{border-bottom:1px solid var(--line);background:var(--surface-3);align-items:center;gap:12px;padding:8px 12px;display:flex}.mp-availhd .bar0{background:var(--ink-3);border-radius:999px;flex-shrink:0;width:6px;height:28px}
.rp-stats{gap:var(--gap);margin-bottom:var(--gap);grid-template-columns:repeat(4,1fr);display:grid}.rp-layoutbar{margin-bottom:var(--gap);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.rp-layoutbar .lbl{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3);font-size:11px;font-weight:700}.rp-grid-charts{gap:var(--gap);margin-bottom:var(--gap);grid-template-columns:2fr 1fr;display:grid}.rp-grid-kpi,.rp-grid-trend{gap:var(--gap);margin-bottom:var(--gap);grid-template-columns:1fr 1fr;display:grid}.rp-side{gap:var(--gap);flex-direction:column;display:flex}.rp-span2{grid-column:1/-1}.hours-split .hs-row{margin-bottom:10px}.hours-split .hs-top{justify-content:space-between;align-items:center;margin-bottom:4px;font-size:12px;display:flex}.hours-split .hs-top .nm{color:var(--ink-2);align-items:center;gap:6px;font-weight:600;display:flex}.hours-split .hs-top .sw{border-radius:3px;width:10px;height:10px}.hours-split .hs-bar{background:var(--surface-3);border-radius:999px;height:8px;overflow:hidden}.hours-split .hs-bar>div{border-radius:999px;height:100%}.rp-entries-head{padding:12px var(--card-pad);border-bottom:1px solid var(--line-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.rp-entries-head h3{align-items:center;gap:8px;font-size:15px;font-weight:700;display:flex}.rp-entries-head .filters{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.rp-entries-foot{padding:10px var(--card-pad);color:var(--ink-3);border-top:1px solid var(--line-soft);justify-content:space-between;align-items:center;font-size:12px;display:flex}@media (max-width:1100px){.rp-stats{grid-template-columns:repeat(2,1fr)}.rp-grid-charts,.rp-grid-kpi,.rp-grid-trend{grid-template-columns:1fr}}@media (max-width:560px){.rp-stats{grid-template-columns:1fr 1fr}}
.inv-grid{gap:var(--gap);grid-template-columns:2fr 1fr;display:grid}.inv-side{gap:var(--gap);flex-direction:column;display:flex}.inv-letterhead{padding:var(--card-pad);border-bottom:2px solid var(--line);justify-content:space-between;align-items:flex-start;gap:16px;display:flex}.inv-logo{border:1px dashed var(--line);background:var(--surface-2);width:48px;height:48px;color:var(--ink-3);border-radius:8px;flex-shrink:0;place-items:center;display:grid}.inv-co .nm{color:var(--ink);font-size:15px;font-weight:800}.inv-co .addr{color:var(--ink-3);margin-top:2px;font-size:11.5px;line-height:1.4}.inv-meta{text-align:right}.inv-meta .word{letter-spacing:-.01em;color:var(--pri);font-size:20px;font-weight:800}.inv-meta .n{color:var(--ink-2);margin-top:4px;font-size:12px}.inv-meta .d{color:var(--ink-3);font-size:11.5px}.inv-billto{padding:var(--card-pad);border-bottom:1px solid var(--line-soft);grid-template-columns:1fr 1fr;gap:16px;display:grid}.inv-billto .k{text-transform:uppercase;color:var(--ink-3);margin-bottom:4px;font-size:10.5px;font-weight:700}.inv-lines{padding:var(--card-pad);flex-direction:column;gap:12px;display:flex}.inv-emp{border:1px solid var(--line-soft);border-radius:8px;overflow:hidden}.inv-emp-hd{background:var(--surface-2);border-bottom:1px solid var(--line-soft);justify-content:space-between;align-items:center;gap:8px;padding:8px 12px;display:flex}.inv-emp-hd .nm{color:var(--ink);font-size:12.5px;font-weight:700;line-height:1.2}.inv-emp-hd .meta{color:var(--ink-3);font-size:11px;line-height:1.2}.inv-emp-hd .amt{font-variant-numeric:tabular-nums;color:var(--ink);font-size:14px;font-weight:800}.inv-line-tbl{border-collapse:collapse;width:100%;font-size:12.5px}.inv-line-tbl td{border-bottom:1px solid var(--line-soft);padding:6px 12px}.inv-line-tbl tr:last-child td{border-bottom:0}.inv-line-tbl .r{text-align:right;font-variant-numeric:tabular-nums;color:var(--ink-3)}.inv-line-tbl .amt{color:var(--ink);width:90px;font-weight:600}.inv-sum-row{justify-content:space-between;align-items:center;font-size:13px;display:flex}.inv-total{color:#fff;background:var(--pri);border-radius:8px;justify-content:space-between;align-items:center;padding:12px 16px;display:flex}.inv-total .big{font-variant-numeric:tabular-nums;font-size:22px;font-weight:800}.inv-rollup{text-align:center;grid-template-columns:repeat(3,1fr);gap:8px;display:grid}.inv-rollup .box{border:1px solid var(--line-soft);border-radius:8px;padding:10px 0}.inv-rollup .box .v{font-variant-numeric:tabular-nums;font-size:18px;font-weight:800}.inv-rollup .box .k{text-transform:uppercase;color:var(--ink-3);margin-top:2px;font-size:10.5px;font-weight:700}@media (max-width:1000px){.inv-grid{grid-template-columns:1fr}}@media (max-width:480px){.inv-billto{grid-template-columns:1fr}.inv-letterhead{flex-direction:column}.inv-meta{text-align:left}}.inv-period{background:var(--surface-2);border:1px solid var(--line);border-radius:10px;flex-wrap:wrap;align-items:center;gap:12px;padding:10px 14px;display:flex}.inv-period .input{width:150px}.inv-period label{align-items:center;gap:6px;display:inline-flex}
.set-subhead{border-top:1px solid var(--line-soft);color:var(--ink);align-items:center;gap:8px;margin:22px 0 6px;padding-top:16px;font-size:13px;font-weight:700;display:flex}.set-subhead .ico{color:var(--ink-3)}.cta-card{border:1px solid var(--pri-200,var(--line));background:var(--pri-50,var(--surface-2));border-radius:12px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:16px;padding:16px;display:flex}.cta-card .t{color:var(--ink);font-size:14px;font-weight:700}.cta-card .d{color:var(--ink-2);max-width:60ch;margin-top:3px;font-size:12.5px;line-height:1.5}.cta-card .btn{flex-shrink:0}.set-grid{grid-template-columns:230px 1fr;display:grid}.set-rail{border-right:1px solid var(--line-soft);background:var(--surface-2);flex-direction:column;gap:2px;padding:10px;display:flex}.set-rail button{width:100%;height:36px;color:var(--ink-2);text-align:left;background:0 0;border:none;border-radius:8px;align-items:center;gap:10px;padding:0 10px;font-size:13px;font-weight:600;transition:background .12s;display:flex}.set-rail button .ico{width:16px;height:16px;color:var(--ink-3);flex-shrink:0}.set-rail button .lbl{flex:1}.set-rail button:hover{background:#ffffffb3}.set-rail button.active{color:var(--ink);background:#fff;box-shadow:0 1px 2px #0f172a1a}.set-rail button.active .ico{color:var(--pri)}.set-content{padding:var(--card-pad)}.set-content-head{border-bottom:2px solid var(--line);justify-content:space-between;align-items:center;margin-bottom:4px;padding-bottom:12px;display:flex}.set-content-head h3{color:var(--ink);font-size:16px;font-weight:800}.set-row{border-bottom:1px solid var(--line-soft);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:12px 24px;padding:14px 0;display:flex}.set-row:last-child{border-bottom:0}.set-row>.info{min-width:0;max-width:60%}.set-row>.info .t{color:var(--ink);font-size:13px;font-weight:700}.set-row>.info .d{color:var(--ink-3);margin-top:2px;font-size:12px;line-height:1.4}.set-row .ctl{flex-shrink:0;align-items:center;gap:8px;display:flex}.set-logo-drop{border:2px dashed var(--line);background:var(--surface-2);border-radius:8px;place-items:center;width:160px;height:64px;display:grid}.set-logo-drop span{color:var(--ink-3);flex-direction:column;align-items:center;gap:4px;font-size:11px;display:flex}.swatch-row{flex-wrap:wrap;gap:8px;display:flex}.swatch{cursor:pointer;width:28px;height:28px;box-shadow:0 0 0 1px var(--line);vertical-align:middle;background:var(--swatch-color,#1e40af);border:2px solid #fff;border-radius:6px;padding:0;transition:box-shadow .12s;display:inline-block}.swatch:hover{box-shadow:0 0 0 2px var(--line)}.swatch.selected{box-shadow:0 0 0 2px var(--ink)}.swatch:focus-visible{outline:2px solid var(--pri);outline-offset:2px}@media (max-width:760px){.set-grid{grid-template-columns:1fr}.set-rail{border-right:0;border-bottom:1px solid var(--line-soft);flex-direction:row;overflow-x:auto}.set-rail button{white-space:nowrap;width:auto}.set-rail button .lbl{flex:none}.set-row{flex-direction:column;gap:10px}.set-row>.info{max-width:100%}}.logo-upload{align-items:center;gap:14px;display:flex}.logo-preview{border:1px solid var(--line);background:var(--surface-2);border-radius:8px;flex-shrink:0;place-items:center;width:120px;height:56px;display:grid;overflow:hidden}.logo-preview img{object-fit:contain;max-width:100%;max-height:100%}.logo-preview .ph{color:var(--ink-3);flex-direction:column;align-items:center;gap:4px;font-size:10.5px;display:flex}.logo-actions{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.bill-plans{grid-template-columns:repeat(3,1fr);gap:12px;padding:14px 0;display:grid}.bill-plan{border:1px solid var(--line);background:#fff;border-radius:12px;flex-direction:column;gap:6px;padding:14px;display:flex}.bill-plan.current{border-color:var(--pri);box-shadow:0 0 0 1px var(--pri);background:var(--pri-50)}.bill-plan .nm{color:var(--ink);font-size:13px;font-weight:800}.bill-plan .bill-amt{color:var(--ink);font-variant-numeric:tabular-nums;font-size:22px;font-weight:800}.bill-plan .bill-amt span{color:var(--ink-3);font-size:12px;font-weight:600}.bill-plan .blurb{color:var(--ink-3);flex:1;font-size:11.5px;line-height:1.4}.bill-plan .btn,.bill-plan .badge{align-self:flex-start;margin-top:4px}@media (max-width:760px){.bill-plans{grid-template-columns:1fr}}
.ctt-cal{--fc-border-color:var(--line-soft);--fc-today-bg-color:var(--pri-50);--fc-neutral-bg-color:var(--surface-2);--fc-page-bg-color:#fff;--fc-event-border-color:transparent;--fc-now-indicator-color:var(--bad);font-family:var(--font-inter), "Inter", system-ui, sans-serif}.ctt-cal .fc{font-size:13px}.ctt-cal .fc .fc-scrollgrid{border-radius:var(--radius);border-color:var(--line);overflow:hidden}.ctt-cal .fc .fc-col-header-cell{background:var(--surface-2);padding:8px 0}.ctt-cal .fc .fc-col-header-cell-cushion{text-transform:uppercase;letter-spacing:.04em;color:var(--ink-3);padding:4px 6px;font-size:11px;font-weight:700}.ctt-cal .fc .fc-daygrid-day-number,.ctt-cal .fc .fc-timegrid-axis-cushion,.ctt-cal .fc .fc-timegrid-slot-label-cushion{color:var(--ink-3);font-size:11px;font-weight:600}.ctt-cal .fc .fc-day-today .fc-daygrid-day-number{color:var(--pri);font-weight:800}.ctt-cal .fc .fc-daygrid-day.fc-day-today,.ctt-cal .fc .fc-timegrid-col.fc-day-today{background:var(--pri-50)!important}.ctt-cal .fc .fc-event{border:none;border-left:3px solid var(--evbar,var(--pri));box-shadow:var(--shadow-sm);cursor:pointer;border-radius:6px;padding:1px 2px}.ctt-cal .fc .fc-event:hover{box-shadow:var(--shadow-md)}.ctt-cal .fc .fc-event-main{color:var(--evtext,var(--ink));font-weight:600}.ctt-cal .fc .fc-daygrid-event{margin:2px 4px;padding:3px 8px;font-size:12px}.ctt-cal .fc .fc-daygrid-event .fc-event-title{font-weight:700}.ctt-cal .fc .fc-h-event .fc-event-title{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.ctt-cal .fc .fc-timegrid-event{padding:2px 4px;font-size:11px}.ctt-cal .fc .fc-event-time{opacity:.8;font-weight:600}.ctt-cal .fc .fc-highlight{background:color-mix(in srgb, var(--pri-100) 50%, transparent)}.ctt-cal .fc .fc-event-selected,.ctt-cal .fc .fc-event:focus{outline:2px solid var(--pri);outline-offset:1px}.ctt-cal .fc .fc-timegrid-now-indicator-line{border-color:var(--bad)}.ctt-cal .fc .fc-scrollgrid-section-header>*{border-bottom-width:1px}.cal-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;margin-bottom:12px;display:flex}.cal-toolbar .left,.cal-toolbar .right{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.cal-title{color:var(--ink);text-align:center;min-width:150px;font-size:15px;font-weight:800}.cal-modal-grid{gap:14px;display:grid}.cal-hours-pill{font-variant-numeric:tabular-nums;color:var(--ink);align-items:center;gap:6px;font-weight:800;display:inline-flex}.cal-emp-pick{border:1px solid var(--line);background:#fff;border-radius:6px;flex-wrap:wrap;gap:6px;min-height:38px;padding:6px;display:flex}.cal-emp-pick .chip{border:1px solid var(--pri-200);background:var(--pri-50);color:var(--pri-700);cursor:pointer;border-radius:6px;align-items:center;gap:6px;padding:2px 6px 2px 4px;font-size:12px;font-weight:600;display:inline-flex}.cal-emp-pick .chip.off{border-color:var(--line);background:var(--surface-2);color:var(--ink-3)}
.adv-grid{gap:var(--gap);grid-template-columns:repeat(2,1fr);display:grid}.adv-tile{border:1px solid var(--line-soft);box-shadow:var(--shadow-sm);color:inherit;background:#fff;border-radius:12px;gap:14px;padding:18px;transition:border-color .12s,box-shadow .12s,transform 60ms;display:flex}a.adv-tile:hover{border-color:var(--pri-200);box-shadow:var(--shadow-md);transform:translateY(-1px)}.adv-tile .ic{background:var(--pri-50);width:42px;height:42px;color:var(--pri);border-radius:10px;flex-shrink:0;place-items:center;display:grid}.adv-tile h3{color:var(--ink);font-size:15px;font-weight:700}.adv-tile p{color:var(--ink-3);margin-top:3px;font-size:12.5px;line-height:1.45}.health{gap:var(--gap);margin-bottom:var(--gap);grid-template-columns:repeat(4,1fr);display:grid}.health .h-card{border:1px solid var(--line-soft);box-shadow:var(--shadow-sm);background:#fff;border-radius:12px;padding:14px}.health .h-top{justify-content:space-between;align-items:center;display:flex}.health .h-lbl{text-transform:uppercase;color:var(--ink-3);font-size:11.5px;font-weight:700}.health .h-val{color:var(--ink);margin-top:6px;font-size:20px;font-weight:800}.log{font-family:Roboto Mono,monospace;font-size:12px}.log-row{border-bottom:1px solid var(--line-soft);grid-template-columns:190px 150px 1fr;align-items:baseline;gap:12px;padding:8px 12px;display:grid}.log-row:hover{background:var(--surface-2)}.log-row .ts{color:var(--ink-3);white-space:nowrap}.log-row .lvlsrc{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.log-head{background:var(--surface-2);text-transform:uppercase;color:var(--ink-3);font-size:10.5px;font-weight:700}.log-lvl{text-transform:uppercase;font-size:10.5px;font-weight:700}.log-lvl.err{color:var(--bad)}.log-lvl.warn{color:var(--warn)}.log-lvl.info{color:var(--pri)}.log-lvl.ok{color:var(--ok)}.log-filters{margin-bottom:var(--gap);flex-wrap:wrap;align-items:center;gap:10px;display:flex}.log-filters .list-search{width:280px}.log-pager{padding:12px var(--card-pad);border-top:1px solid var(--line-soft);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:12px;display:flex}.btn-sm{height:30px;padding:0 12px;font-size:12.5px}.import-steps{flex-direction:column;gap:0;display:flex}.import-step{border-bottom:1px solid var(--line-soft);gap:14px;padding:14px 0;display:flex}.import-step:last-child{border-bottom:0}.import-step .n{border-radius:999px;flex-shrink:0;place-items:center;width:28px;height:28px;font-size:13px;font-weight:800;display:grid}.import-step.done .n{background:var(--ok-bg);color:var(--ok)}.import-step.active .n{background:var(--pri);color:#fff}.import-step.todo .n{background:var(--surface-3);color:var(--ink-3)}@media (max-width:800px){.adv-grid,.health{grid-template-columns:1fr 1fr}.log-row{grid-template-columns:150px 110px 1fr}}@media (max-width:520px){.adv-grid,.health{grid-template-columns:1fr}}
body{font-family:var(--font-inter), "Inter", system-ui, -apple-system, sans-serif}.mono,table.tbl,.mono *{font-family:var(--font-mono), "Roboto Mono", ui-monospace, monospace}html,body,#__next{height:100%}
