@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-vietnamese-400-normal-Dpl4UHAZ.woff2) format("woff2"),url(/assets/barlow-vietnamese-400-normal-BFeobeCK.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-latin-ext-400-normal-HxX4XjxC.woff2) format("woff2"),url(/assets/barlow-latin-ext-400-normal-CvBsJvxq.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Barlow;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/barlow-latin-400-normal-qiz4-Cze.woff2) format("woff2"),url(/assets/barlow-latin-400-normal-fsAxiSwU.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-vietnamese-500-normal-zTViEIzf.woff2) format("woff2"),url(/assets/barlow-vietnamese-500-normal-GNfB7rCE.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-latin-ext-500-normal-DOaysfXq.woff2) format("woff2"),url(/assets/barlow-latin-ext-500-normal-CJPcKP2Q.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Barlow;font-style:normal;font-display:swap;font-weight:500;src:url(/assets/barlow-latin-500-normal-BPAOfeC8.woff2) format("woff2"),url(/assets/barlow-latin-500-normal-C1h8hMer.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-vietnamese-600-normal-DcjprdFV.woff2) format("woff2"),url(/assets/barlow-vietnamese-600-normal-CA_GiK2e.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-latin-ext-600-normal-B8NK_A3D.woff2) format("woff2"),url(/assets/barlow-latin-ext-600-normal-DMVRjfRT.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Barlow;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-latin-600-normal-DILqtrty.woff2) format("woff2"),url(/assets/barlow-latin-600-normal-CNwfPWQD.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-vietnamese-700-normal-D6euyNzi.woff2) format("woff2"),url(/assets/barlow-vietnamese-700-normal-4Jt4k04K.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-latin-ext-700-normal-BLuWmldJ.woff2) format("woff2"),url(/assets/barlow-latin-ext-700-normal-CctuGmmz.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Barlow;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-latin-700-normal-A9pxMQ4z.woff2) format("woff2"),url(/assets/barlow-latin-700-normal-__SGTsZ1.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-vietnamese-600-normal-A5AYRdjN.woff2) format("woff2"),url(/assets/barlow-condensed-vietnamese-600-normal-CNlPk46_.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-latin-ext-600-normal-18ESti3H.woff2) format("woff2"),url(/assets/barlow-condensed-latin-ext-600-normal-Clv9cIcR.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Barlow Condensed;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/barlow-condensed-latin-600-normal-DepVgxBB.woff2) format("woff2"),url(/assets/barlow-condensed-latin-600-normal-BFJEwTuo.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-condensed-vietnamese-700-normal-DYeBwlKR.woff2) format("woff2"),url(/assets/barlow-condensed-vietnamese-700-normal-DhIzd8Tb.woff) format("woff");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-condensed-latin-ext-700-normal-CwuXbfVR.woff2) format("woff2"),url(/assets/barlow-condensed-latin-ext-700-normal-BIHFfxf0.woff) format("woff");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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:Barlow Condensed;font-style:normal;font-display:swap;font-weight:700;src:url(/assets/barlow-condensed-latin-700-normal-v1xN8_Wq.woff2) format("woff2"),url(/assets/barlow-condensed-latin-700-normal-Dmwat-ge.woff) format("woff");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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+0460-052F,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+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,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+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,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+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,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+0460-052F,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+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,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+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,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+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,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+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--tp-orange-50: #fff5eb;--tp-orange-100: #ffe6cd;--tp-orange-200: #fdc994;--tp-orange-300: #fbaa5d;--tp-orange-400: #fa8d2f;--tp-orange-500: #f87509;--tp-orange-600: #dc6206;--tp-orange-700: #b44c05;--tp-orange-800: #8c3b08;--tp-orange-900: #6e2f0a;--tp-orange-950: #3f1a06;--tp-graphite-50: #f6f7f6;--tp-graphite-75: #f1f2f1;--tp-graphite-100: #ebecea;--tp-graphite-200: #d6d8d5;--tp-graphite-300: #b5b8b4;--tp-graphite-400: #8c8f8b;--tp-graphite-500: #6c6f6b;--tp-graphite-600: #575957;--tp-graphite-700: #444544;--tp-graphite-800: #333433;--tp-graphite-900: #232423;--tp-graphite-950: #161716;--tp-green-50: #eefbf3;--tp-green-100: #d5f5e1;--tp-green-200: #ade9c6;--tp-green-300: #6fd6a1;--tp-green-400: #3bbb7c;--tp-green-500: #1c9e60;--tp-green-600: #0f7f4c;--tp-green-700: #0c653f;--tp-green-800: #0b5034;--tp-green-900: #09422c;--tp-amber-50: #fefaeb;--tp-amber-100: #fdf0c8;--tp-amber-200: #fbdf8c;--tp-amber-300: #f8c94f;--tp-amber-400: #f5b32a;--tp-amber-500: #e39510;--tp-amber-600: #c4710b;--tp-amber-700: #a2500d;--tp-amber-800: #853f12;--tp-amber-900: #713413;--tp-red-50: #fef2f2;--tp-red-100: #fde3e3;--tp-red-200: #fbcccc;--tp-red-300: #f7a5a5;--tp-red-400: #f07171;--tp-red-500: #e34444;--tp-red-600: #cf2727;--tp-red-700: #ae1d1d;--tp-red-800: #901c1c;--tp-red-900: #781d1d;--tp-blue-50: #eff6ff;--tp-blue-100: #dbeafe;--tp-blue-200: #bfdbfe;--tp-blue-300: #93c5fd;--tp-blue-400: #60a5fa;--tp-blue-500: #3b82f6;--tp-blue-600: #2563eb;--tp-blue-700: #1d4ed8;--tp-blue-800: #1e40af;--tp-blue-900: #1e3a8a;--tp-violet-400: #a78bfa;--tp-violet-600: #7c3aed;--tp-violet-700: #6d28d9;--tp-cyan-400: #22d3ee;--tp-cyan-600: #0891b2;--tp-cyan-700: #0e7490;--tp-font-sans: "Barlow", system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;--tp-font-display: "Barlow Condensed", "Barlow", "Arial Narrow", system-ui, sans-serif;--tp-font-mono: "IBM Plex Mono", ui-monospace, "Cascadia Mono", Consolas, monospace;--tp-text-2xs: .6875rem;--tp-text-xs: .75rem;--tp-text-sm: .8125rem;--tp-text-base: .875rem;--tp-text-md: 1rem;--tp-text-lg: 1.125rem;--tp-text-xl: 1.375rem;--tp-text-2xl: 1.75rem;--tp-text-3xl: 2.25rem;--tp-leading-tight: 1.2;--tp-leading-normal: 1.5;--tp-leading-relaxed: 1.7;--tp-weight-normal: 400;--tp-weight-medium: 500;--tp-weight-semibold: 600;--tp-weight-bold: 700;--tp-space-0: 0;--tp-space-1: .25rem;--tp-space-2: .5rem;--tp-space-3: .75rem;--tp-space-4: 1rem;--tp-space-5: 1.25rem;--tp-space-6: 1.5rem;--tp-space-8: 2rem;--tp-space-10: 2.5rem;--tp-space-12: 3rem;--tp-space-16: 4rem;--tp-radius-sm: 4px;--tp-radius-md: 8px;--tp-radius-lg: 12px;--tp-radius-xl: 14px;--tp-radius-full: 999px;--tp-border-thin: 1px;--tp-border-thick: 3px;--tp-shadow-sm: 0 1px 2px rgb(0 0 0 / .03), 0 6px 18px rgb(0 0 0 / .05);--tp-shadow-md: 0 2px 6px rgb(0 0 0 / .04), 0 10px 28px rgb(0 0 0 / .08);--tp-shadow-lg: 0 8px 24px rgb(0 0 0 / .12);--tp-shadow-overlay: 0 16px 48px rgb(0 0 0 / .2);--tp-touch-min: 48px;--tp-touch-comfortable: 56px;--tp-duration-fast: .12s;--tp-duration-normal: .2s;--tp-duration-slow: .28s;--tp-ease: cubic-bezier(.2, 0, .2, 1);--tp-z-sticky: 10;--tp-z-dropdown: 100;--tp-z-overlay: 500;--tp-z-toast: 900}@media(prefers-reduced-motion:reduce){:root{--tp-duration-fast: 0ms;--tp-duration-normal: 0ms;--tp-duration-slow: 0ms}}:root{color-scheme:light;--color-bg: #eef1f5;--color-surface: #ffffff;--color-surface-raised: #ffffff;--color-surface-sunken: var(--tp-graphite-100);--color-surface-hover: var(--tp-graphite-100);--color-overlay-scrim: rgb(35 36 35 / .45);--color-border: var(--tp-graphite-200);--color-border-strong: var(--tp-graphite-300);--color-border-subtle: var(--tp-graphite-100);--color-card-border: #e3e7ec;--color-table-head: var(--tp-graphite-50);--color-text: var(--tp-graphite-900);--color-text-secondary: var(--tp-graphite-700);--color-text-muted: var(--tp-graphite-500);--color-text-inverse: #ffffff;--color-text-on-brand: var(--tp-graphite-950);--color-brand: var(--tp-orange-500);--color-brand-hover: var(--tp-orange-600);--color-brand-active: var(--tp-orange-700);--color-brand-text: var(--tp-orange-700);--color-brand-soft: var(--tp-orange-50);--color-brand-soft-border: var(--tp-orange-200);--color-brand-contrast: var(--tp-graphite-950);--color-structure: var(--tp-graphite-700);--color-structure-hover: var(--tp-graphite-800);--color-structure-soft: var(--tp-graphite-100);--color-action: var(--tp-graphite-700);--color-action-hover: var(--tp-graphite-800);--color-action-text: #ffffff;--color-focus: var(--tp-orange-500);--color-focus-ring: 0 0 0 2px var(--color-surface), 0 0 0 4px var(--tp-orange-500);--color-success: var(--tp-green-600);--color-success-text: var(--tp-green-700);--color-on-success: #ffffff;--color-success-soft: var(--tp-green-50);--color-success-border: var(--tp-green-200);--color-warning: var(--tp-amber-600);--color-warning-text: var(--tp-amber-700);--color-on-warning: var(--tp-graphite-950);--color-warning-soft: var(--tp-amber-50);--color-warning-border: var(--tp-amber-200);--color-danger: var(--tp-red-600);--color-danger-text: var(--tp-red-700);--color-on-danger: #ffffff;--color-danger-soft: var(--tp-red-50);--color-danger-border: var(--tp-red-200);--color-info: var(--tp-blue-600);--color-info-text: var(--tp-blue-700);--color-on-info: #ffffff;--color-info-soft: var(--tp-blue-50);--color-info-border: var(--tp-blue-200);--color-neutral: var(--tp-graphite-500);--color-neutral-text: var(--tp-graphite-600);--color-neutral-soft: var(--tp-graphite-100);--color-neutral-border: var(--tp-graphite-200);--color-on-solid: #ffffff;--color-success-solid: var(--tp-green-500);--color-warning-solid: var(--tp-amber-600);--color-danger-solid: var(--tp-red-500);--color-info-solid: var(--tp-blue-500);--color-neutral-solid: var(--tp-graphite-400);--color-brand-solid: var(--tp-orange-600);--color-state-running: var(--tp-green-600);--color-state-waiting: var(--tp-amber-600);--color-state-working: var(--tp-blue-600);--color-state-stopped: var(--tp-red-600);--color-cause-queue: var(--tp-amber-600);--color-cause-material: var(--tp-red-600);--color-cause-execution: var(--tp-blue-600);--color-cause-inspection: var(--tp-green-600);--color-cause-cleaning: var(--tp-cyan-600);--color-cause-release-wait: var(--tp-graphite-400);--color-sidebar-bg: var(--tp-graphite-800);--color-sidebar-border: var(--tp-graphite-700);--color-sidebar-text: var(--tp-graphite-200);--color-sidebar-text-strong: #ffffff;--color-sidebar-muted: var(--tp-graphite-400);--color-sidebar-hover: rgb(255 255 255 / .06);--color-sidebar-active-bg: rgb(255 255 255 / .1);--color-sidebar-logo: #ffffff;--chart-1: var(--tp-orange-500);--chart-2: var(--tp-graphite-600);--chart-3: var(--tp-blue-600);--chart-4: var(--tp-green-600);--chart-5: var(--tp-amber-500);--chart-6: var(--tp-violet-600);--chart-grid: var(--tp-graphite-100);--chart-axis: var(--tp-graphite-400);--bus-window: #dfe9f0;--bus-tire: var(--tp-graphite-700);--bus-hub: var(--tp-graphite-300);--shadow-card: 0 1px 2px rgb(16 24 40 / .04), 0 4px 10px -2px rgb(16 24 40 / .06), 0 16px 36px -14px rgb(16 24 40 / .16);--shadow-sidebar: 6px 0 28px -8px rgb(0 0 0 / .28);--shadow-raised: var(--tp-shadow-md);--shadow-overlay: var(--tp-shadow-lg)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){color-scheme:dark;--color-bg: var(--tp-graphite-950);--color-surface: var(--tp-graphite-900);--color-surface-raised: var(--tp-graphite-800);--color-surface-sunken: var(--tp-graphite-950);--color-surface-hover: var(--tp-graphite-800);--color-overlay-scrim: rgb(0 0 0 / .65);--color-border: var(--tp-graphite-800);--color-border-strong: var(--tp-graphite-600);--color-border-subtle: var(--tp-graphite-900);--color-card-border: var(--tp-graphite-800);--color-table-head: var(--tp-graphite-900);--color-text: var(--tp-graphite-50);--color-text-secondary: var(--tp-graphite-300);--color-text-muted: var(--tp-graphite-400);--color-text-inverse: var(--tp-graphite-950);--color-text-on-brand: var(--tp-graphite-950);--color-brand: var(--tp-orange-500);--color-brand-hover: var(--tp-orange-400);--color-brand-active: var(--tp-orange-300);--color-brand-text: var(--tp-orange-400);--color-brand-soft: rgb(248 117 9 / .14);--color-brand-soft-border: rgb(248 117 9 / .35);--color-brand-contrast: var(--tp-graphite-950);--color-structure: var(--tp-graphite-100);--color-structure-hover: #ffffff;--color-structure-soft: var(--tp-graphite-800);--color-action: var(--tp-graphite-100);--color-action-hover: #ffffff;--color-action-text: var(--tp-graphite-950);--color-focus: var(--tp-orange-400);--color-focus-ring: 0 0 0 2px var(--color-surface), 0 0 0 4px var(--tp-orange-400);--color-success: var(--tp-green-400);--color-success-text: var(--tp-green-300);--color-on-success: var(--tp-graphite-950);--color-success-soft: rgb(28 158 96 / .16);--color-success-border: rgb(28 158 96 / .4);--color-warning: var(--tp-amber-400);--color-warning-text: var(--tp-amber-300);--color-on-warning: var(--tp-graphite-950);--color-warning-soft: rgb(227 149 16 / .16);--color-warning-border: rgb(227 149 16 / .4);--color-danger: var(--tp-red-400);--color-danger-text: var(--tp-red-300);--color-on-danger: var(--tp-graphite-950);--color-danger-soft: rgb(227 68 68 / .16);--color-danger-border: rgb(227 68 68 / .4);--color-info: var(--tp-blue-400);--color-info-text: var(--tp-blue-300);--color-on-info: var(--tp-graphite-950);--color-info-soft: rgb(59 130 246 / .16);--color-info-border: rgb(59 130 246 / .4);--color-neutral: var(--tp-graphite-400);--color-neutral-text: var(--tp-graphite-300);--color-neutral-soft: var(--tp-graphite-800);--color-neutral-border: var(--tp-graphite-700);--color-on-solid: var(--tp-graphite-950);--color-success-solid: var(--tp-green-400);--color-warning-solid: var(--tp-amber-400);--color-danger-solid: var(--tp-red-400);--color-info-solid: var(--tp-blue-400);--color-neutral-solid: var(--tp-graphite-300);--color-brand-solid: var(--tp-orange-400);--color-state-running: var(--tp-green-400);--color-state-waiting: var(--tp-amber-400);--color-state-working: var(--tp-blue-400);--color-state-stopped: var(--tp-red-400);--color-cause-queue: var(--tp-amber-400);--color-cause-material: var(--tp-red-400);--color-cause-execution: var(--tp-blue-400);--color-cause-inspection: var(--tp-green-400);--color-cause-cleaning: var(--tp-cyan-400);--color-cause-release-wait: var(--tp-graphite-500);--color-sidebar-bg: var(--tp-graphite-950);--color-sidebar-border: var(--tp-graphite-800);--color-sidebar-text: var(--tp-graphite-300);--color-sidebar-text-strong: #ffffff;--color-sidebar-muted: var(--tp-graphite-500);--color-sidebar-hover: rgb(255 255 255 / .05);--color-sidebar-active-bg: rgb(255 255 255 / .08);--color-sidebar-logo: #ffffff;--chart-1: var(--tp-orange-400);--chart-2: var(--tp-graphite-300);--chart-3: var(--tp-blue-400);--chart-4: var(--tp-green-400);--chart-5: var(--tp-amber-400);--chart-6: var(--tp-violet-400);--chart-grid: var(--tp-graphite-800);--chart-axis: var(--tp-graphite-500);--bus-window: #2f3a44;--bus-tire: var(--tp-graphite-400);--bus-hub: var(--tp-graphite-700);--shadow-card: 0 12px 32px -14px rgb(0 0 0 / .65);--shadow-sidebar: 6px 0 28px -8px rgb(0 0 0 / .6);--shadow-raised: 0 2px 8px rgb(0 0 0 / .4);--shadow-overlay: 0 16px 48px rgb(0 0 0 / .6)}}:root[data-theme=dark]{color-scheme:dark;--color-bg: var(--tp-graphite-950);--color-surface: var(--tp-graphite-900);--color-surface-raised: var(--tp-graphite-800);--color-surface-sunken: var(--tp-graphite-950);--color-surface-hover: var(--tp-graphite-800);--color-overlay-scrim: rgb(0 0 0 / .65);--color-border: var(--tp-graphite-800);--color-border-strong: var(--tp-graphite-600);--color-border-subtle: var(--tp-graphite-900);--color-card-border: var(--tp-graphite-800);--color-table-head: var(--tp-graphite-900);--color-text: var(--tp-graphite-50);--color-text-secondary: var(--tp-graphite-300);--color-text-muted: var(--tp-graphite-400);--color-text-inverse: var(--tp-graphite-950);--color-text-on-brand: var(--tp-graphite-950);--color-brand: var(--tp-orange-500);--color-brand-hover: var(--tp-orange-400);--color-brand-active: var(--tp-orange-300);--color-brand-text: var(--tp-orange-400);--color-brand-soft: rgb(248 117 9 / .14);--color-brand-soft-border: rgb(248 117 9 / .35);--color-brand-contrast: var(--tp-graphite-950);--color-structure: var(--tp-graphite-100);--color-structure-hover: #ffffff;--color-structure-soft: var(--tp-graphite-800);--color-action: var(--tp-graphite-100);--color-action-hover: #ffffff;--color-action-text: var(--tp-graphite-950);--color-focus: var(--tp-orange-400);--color-focus-ring: 0 0 0 2px var(--color-surface), 0 0 0 4px var(--tp-orange-400);--color-success: var(--tp-green-400);--color-success-text: var(--tp-green-300);--color-on-success: var(--tp-graphite-950);--color-success-soft: rgb(28 158 96 / .16);--color-success-border: rgb(28 158 96 / .4);--color-warning: var(--tp-amber-400);--color-warning-text: var(--tp-amber-300);--color-on-warning: var(--tp-graphite-950);--color-warning-soft: rgb(227 149 16 / .16);--color-warning-border: rgb(227 149 16 / .4);--color-danger: var(--tp-red-400);--color-danger-text: var(--tp-red-300);--color-on-danger: var(--tp-graphite-950);--color-danger-soft: rgb(227 68 68 / .16);--color-danger-border: rgb(227 68 68 / .4);--color-info: var(--tp-blue-400);--color-info-text: var(--tp-blue-300);--color-on-info: var(--tp-graphite-950);--color-info-soft: rgb(59 130 246 / .16);--color-info-border: rgb(59 130 246 / .4);--color-neutral: var(--tp-graphite-400);--color-neutral-text: var(--tp-graphite-300);--color-neutral-soft: var(--tp-graphite-800);--color-neutral-border: var(--tp-graphite-700);--color-on-solid: var(--tp-graphite-950);--color-success-solid: var(--tp-green-400);--color-warning-solid: var(--tp-amber-400);--color-danger-solid: var(--tp-red-400);--color-info-solid: var(--tp-blue-400);--color-neutral-solid: var(--tp-graphite-300);--color-brand-solid: var(--tp-orange-400);--color-state-running: var(--tp-green-400);--color-state-waiting: var(--tp-amber-400);--color-state-working: var(--tp-blue-400);--color-state-stopped: var(--tp-red-400);--color-cause-queue: var(--tp-amber-400);--color-cause-material: var(--tp-red-400);--color-cause-execution: var(--tp-blue-400);--color-cause-inspection: var(--tp-green-400);--color-cause-cleaning: var(--tp-cyan-400);--color-cause-release-wait: var(--tp-graphite-500);--color-sidebar-bg: var(--tp-graphite-950);--color-sidebar-border: var(--tp-graphite-800);--color-sidebar-text: var(--tp-graphite-300);--color-sidebar-text-strong: #ffffff;--color-sidebar-muted: var(--tp-graphite-500);--color-sidebar-hover: rgb(255 255 255 / .05);--color-sidebar-active-bg: rgb(255 255 255 / .08);--color-sidebar-logo: #ffffff;--chart-1: var(--tp-orange-400);--chart-2: var(--tp-graphite-300);--chart-3: var(--tp-blue-400);--chart-4: var(--tp-green-400);--chart-5: var(--tp-amber-400);--chart-6: var(--tp-violet-400);--chart-grid: var(--tp-graphite-800);--chart-axis: var(--tp-graphite-500);--bus-window: #2f3a44;--bus-tire: var(--tp-graphite-400);--bus-hub: var(--tp-graphite-700);--shadow-card: 0 12px 32px -14px rgb(0 0 0 / .65);--shadow-sidebar: 6px 0 28px -8px rgb(0 0 0 / .6);--shadow-raised: 0 2px 8px rgb(0 0 0 / .4);--shadow-overlay: 0 16px 48px rgb(0 0 0 / .6)}:root[data-contrast=high]{--color-border: var(--tp-graphite-500);--color-border-strong: var(--tp-graphite-700);--color-text-muted: var(--tp-graphite-700);--tp-border-thin: 2px}:root[data-theme=dark][data-contrast=high]{--color-border: var(--tp-graphite-500);--color-border-strong: var(--tp-graphite-300);--color-text-muted: var(--tp-graphite-200)}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;touch-action:manipulation}body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--tp-font-sans);font-size:var(--tp-text-base);line-height:var(--tp-leading-normal);-webkit-font-smoothing:antialiased}h1,h2,h3,h4{margin:0;line-height:var(--tp-leading-tight);font-weight:var(--tp-weight-semibold);color:var(--color-text)}h1{font-size:var(--tp-text-xl)}h2{font-size:var(--tp-text-lg)}h3{font-size:var(--tp-text-sm);font-weight:var(--tp-weight-semibold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}p{margin:0}a{color:var(--color-brand-text);text-decoration-thickness:1px;text-underline-offset:2px}a:hover{color:var(--color-brand-active)}:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:none;box-shadow:var(--color-focus-ring);border-radius:var(--tp-radius-sm)}hr{border:none;border-top:var(--tp-border-thin) solid var(--color-border);margin:var(--tp-space-4) 0}code,kbd,samp{font-family:var(--tp-font-mono);font-size:.9em}:where(td,th,.u-num,output){font-variant-numeric:tabular-nums}img,svg{max-width:100%;display:block}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.tp-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--tp-space-2);padding:var(--tp-space-2) var(--tp-space-4);min-height:36px;font-family:inherit;font-size:var(--tp-text-base);font-weight:var(--tp-weight-semibold);line-height:1;color:var(--color-action-text);background:var(--color-action);border:var(--tp-border-thin) solid transparent;border-radius:var(--tp-radius-md);cursor:pointer;white-space:nowrap;transition:background var(--tp-duration-fast) var(--tp-ease),border-color var(--tp-duration-fast) var(--tp-ease)}.tp-btn:hover:not(:disabled){background:var(--color-action-hover)}.tp-btn:disabled{opacity:.45;cursor:not-allowed}.tp-btn--primary{background:var(--color-brand);color:var(--color-brand-contrast)}.tp-btn--primary:hover:not(:disabled){background:var(--color-brand-hover)}.tp-btn--secondary{background:transparent;color:var(--color-text);border-color:var(--color-border-strong)}.tp-btn--secondary:hover:not(:disabled){background:var(--color-surface-hover)}.tp-btn--ghost{background:transparent;color:var(--color-text-secondary);border-color:transparent}.tp-btn--ghost:hover:not(:disabled){background:var(--color-surface-hover);color:var(--color-text)}.tp-btn--danger{background:var(--color-danger);color:var(--color-on-danger)}.tp-btn--danger:hover:not(:disabled){filter:brightness(.92)}.tp-btn--sm{min-height:28px;padding:var(--tp-space-1) var(--tp-space-3);font-size:var(--tp-text-sm)}.tp-btn--touch{min-height:var(--tp-touch-min);padding:var(--tp-space-3) var(--tp-space-5);font-size:var(--tp-text-md);border-radius:var(--tp-radius-lg)}.tp-btn--touch-lg{min-height:var(--tp-touch-comfortable);font-size:var(--tp-text-lg);width:100%}.tp-btn-group{display:flex;gap:var(--tp-space-2);flex-wrap:wrap;align-items:center}.tp-field{display:flex;flex-direction:column;gap:var(--tp-space-1)}.tp-label{font-size:var(--tp-text-sm);font-weight:var(--tp-weight-medium);color:var(--color-text-secondary)}.tp-label__hint{font-weight:var(--tp-weight-normal);color:var(--color-text-muted)}.tp-label__required{color:var(--color-danger-text);font-size:var(--tp-text-2xs);text-transform:uppercase;letter-spacing:.04em;margin-left:var(--tp-space-1)}.tp-input,.tp-select,.tp-textarea{width:100%;padding:var(--tp-space-2) var(--tp-space-3);min-height:36px;font-family:inherit;font-size:var(--tp-text-base);color:var(--color-text);background:var(--color-surface);border:var(--tp-border-thin) solid var(--color-border-strong);border-radius:var(--tp-radius-md)}.tp-input::placeholder,.tp-textarea::placeholder{color:var(--color-text-muted)}.tp-input:disabled,.tp-select:disabled{background:var(--color-surface-sunken);color:var(--color-text-muted);cursor:not-allowed}.tp-input[aria-invalid=true],.tp-select[aria-invalid=true]{border-color:var(--color-danger)}.tp-input--num{text-align:right;font-variant-numeric:tabular-nums}.tp-input--touch{min-height:var(--tp-touch-min);font-size:var(--tp-text-md)}.tp-help{font-size:var(--tp-text-xs);color:var(--color-text-muted)}.tp-error{font-size:var(--tp-text-sm);color:var(--color-danger-text)}.tp-check{display:flex;flex-direction:row;align-items:center;gap:var(--tp-space-2);min-height:var(--tp-touch-min);font-size:var(--tp-text-base);color:var(--color-text);cursor:pointer}.tp-check input{width:20px;height:20px;accent-color:var(--color-brand);flex-shrink:0}.tp-check--done{color:var(--color-text-muted);text-decoration:line-through}.tp-radio-card{display:flex;flex-direction:row;align-items:center;gap:var(--tp-space-3);padding:var(--tp-space-3) var(--tp-space-4);min-height:var(--tp-touch-min);border:var(--tp-border-thin) solid var(--color-border-strong);border-radius:var(--tp-radius-lg);cursor:pointer;color:var(--color-text);background:var(--color-surface)}.tp-radio-card:hover{background:var(--color-surface-hover)}.tp-radio-card input[type=radio]{flex:none;width:18px;height:18px;margin:0;accent-color:var(--color-brand)}.tp-radio-card input[type=radio]:focus-visible{outline:none;box-shadow:none}.tp-radio-card:has(input:focus-visible){box-shadow:var(--color-focus-ring)}.tp-radio-card:has(input:checked){border-color:var(--color-brand);background:var(--color-brand-soft);box-shadow:inset 0 0 0 1px var(--color-brand)}.tp-radio-card:has(input:disabled){opacity:.45;cursor:not-allowed}.tp-card{display:flex;flex-direction:column;gap:var(--tp-space-3);padding:var(--tp-space-5);background:var(--color-surface);border:var(--tp-border-thin) solid var(--color-card-border);border-radius:var(--tp-radius-lg);box-shadow:var(--shadow-card)}.tp-card__head{display:flex;align-items:center;justify-content:space-between;gap:var(--tp-space-3);flex-wrap:wrap}.tp-card--accent{border-left:var(--tp-border-thick) solid var(--color-brand)}.tp-card--success{border-left:var(--tp-border-thick) solid var(--color-success)}.tp-card--warning{border-left:var(--tp-border-thick) solid var(--color-warning)}.tp-card--danger{border-left:var(--tp-border-thick) solid var(--color-danger)}.tp-kpi-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(170px,100%),1fr));gap:var(--tp-space-3)}.tp-kpi{--kpi-color: var(--color-border-strong);position:relative;display:flex;flex-direction:column;gap:var(--tp-space-1);min-width:0;padding:var(--tp-space-5) var(--tp-space-5);background:var(--color-surface);border:var(--tp-border-thin) solid var(--color-card-border);border-radius:var(--tp-radius-lg);box-shadow:var(--shadow-card)}.tp-kpi--good{--kpi-color: var(--color-success)}.tp-kpi--warn{--kpi-color: var(--color-warning)}.tp-kpi--danger{--kpi-color: var(--color-danger)}.tp-kpi--brand{--kpi-color: var(--color-brand)}.tp-kpi__label{display:inline-flex;align-items:center;gap:7px;font-size:var(--tp-text-2xs);font-weight:var(--tp-weight-semibold);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em}.tp-kpi .tp-kpi__label:before,.dash-kpi .tp-kpi__label:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--kpi-color);box-shadow:0 0 0 3px color-mix(in srgb,var(--kpi-color) 18%,transparent);flex-shrink:0}.tp-kpi__value{display:inline-flex;align-items:baseline;gap:var(--tp-space-1);font-family:var(--tp-font-display);font-size:var(--tp-text-2xl);font-weight:700;line-height:1.05;letter-spacing:.005em;font-variant-numeric:tabular-nums;white-space:nowrap}.tp-kpi__of{font-family:var(--tp-font-sans);font-size:var(--tp-text-sm);font-weight:var(--tp-weight-medium);color:var(--color-text-muted)}.tp-kpi__value--sm{font-size:var(--tp-text-md)}.tp-kpi__note{font-size:var(--tp-text-xs);color:var(--color-text-muted)}.tp-badge{display:inline-flex;align-items:center;gap:var(--tp-space-1);padding:3px var(--tp-space-3);font-size:var(--tp-text-xs);font-weight:var(--tp-weight-medium);line-height:1.5;border-radius:var(--tp-radius-full);background:var(--color-neutral-soft);border:var(--tp-border-thin) solid var(--color-neutral-border);color:var(--color-neutral-text);white-space:nowrap}.tp-badge--success{background:var(--color-success-soft);border-color:var(--color-success-border);color:var(--color-success-text)}.tp-badge--warning{background:var(--color-warning-soft);border-color:var(--color-warning-border);color:var(--color-warning-text)}.tp-badge--danger{background:var(--color-danger-soft);border-color:var(--color-danger-border);color:var(--color-danger-text)}.tp-badge--info{background:var(--color-info-soft);border-color:var(--color-info-border);color:var(--color-info-text)}.tp-badge--brand{background:var(--color-brand-soft);border-color:var(--color-brand-soft-border);color:var(--color-brand-text)}.tp-badge--status{min-width:7.75rem;justify-content:center;text-align:center;overflow:hidden;text-overflow:ellipsis;padding:4px var(--tp-space-3);min-height:24px;border-radius:var(--tp-radius-md);font-weight:var(--tp-weight-semibold);letter-spacing:.01em;background:var(--color-neutral-solid);border-color:transparent;color:var(--color-on-solid)}.tp-badge--status.tp-badge--success{background:var(--color-success-solid);border-color:transparent;color:var(--color-on-solid)}.tp-badge--status.tp-badge--warning{background:var(--color-warning-solid);border-color:transparent;color:var(--color-on-solid)}.tp-badge--status.tp-badge--danger{background:var(--color-danger-solid);border-color:transparent;color:var(--color-on-solid)}.tp-badge--status.tp-badge--info{background:var(--color-info-solid);border-color:transparent;color:var(--color-on-solid)}.tp-badge--status.tp-badge--brand{background:var(--color-brand-solid);border-color:transparent;color:var(--color-on-solid)}.tp-badge__dot{width:7px;height:7px;border-radius:var(--tp-radius-full);background:currentColor;flex-shrink:0}.tp-state{display:inline-flex;align-items:center;gap:var(--tp-space-2);min-width:7.75rem;font-size:var(--tp-text-sm);white-space:nowrap}.tp-state:before{content:"";width:8px;height:8px;border-radius:var(--tp-radius-full);background:var(--color-neutral);flex-shrink:0}.tp-state--running:before{background:var(--color-state-running)}.tp-state--waiting:before{background:var(--color-state-waiting)}.tp-state--working:before{background:var(--color-state-working)}.tp-state--stopped:before{background:var(--color-state-stopped)}.tp-table-wrap{overflow-x:auto;border:var(--tp-border-thin) solid var(--color-card-border);border-radius:var(--tp-radius-lg);background:var(--color-surface)}.tp-table-wrap--flat{border:0;border-radius:0;background:transparent}.tp-table{width:100%;border-collapse:collapse}.tp-table th,.tp-table td{padding:var(--tp-space-3) var(--tp-space-4);text-align:left;border-bottom:var(--tp-border-thin) solid var(--color-border-subtle);white-space:nowrap}.tp-table td.is-wrap{white-space:normal;min-width:180px}.tp-table td.is-wrap .tp-badge{white-space:nowrap}.tp-table--compact td:not(.is-num):not(.is-strong){white-space:normal}.tp-table--compact td .tp-badge,.tp-table--compact td .tp-btn{white-space:nowrap}.tp-table th{position:sticky;top:0;z-index:1;padding-top:var(--tp-space-3);background:var(--color-table-head);color:var(--color-text-muted);font-size:var(--tp-text-2xs);font-weight:var(--tp-weight-semibold);text-transform:uppercase;letter-spacing:.06em;border-bottom:var(--tp-border-thin) solid var(--color-border)}.tp-table tbody tr:last-child td{border-bottom:none}.tp-table tbody tr:hover td{background:var(--color-surface-hover)}.tp-table td.is-num,.tp-table th.is-num{text-align:right}.tp-table td.is-strong{font-weight:var(--tp-weight-semibold)}.tp-table td.is-wrap{white-space:normal}.tp-table tr.is-warning td{background:var(--color-warning-soft)}.tp-table tr.is-danger td{background:var(--color-danger-soft)}.tp-table tr.is-selected td{background:var(--color-brand-soft)}.tp-table tr.is-inactive td{opacity:.55}.tp-table__empty{padding:var(--tp-space-8);text-align:center;color:var(--color-text-muted)}.tp-alert{display:flex;flex-direction:column;gap:var(--tp-space-1);padding:var(--tp-space-3) var(--tp-space-4);border-radius:var(--tp-radius-md);border-left:var(--tp-border-thick) solid var(--color-neutral);background:var(--color-neutral-soft);color:var(--color-text);font-size:var(--tp-text-sm)}.tp-alert--info{background:var(--color-info-soft);border-left-color:var(--color-info)}.tp-alert--success{background:var(--color-success-soft);border-left-color:var(--color-success)}.tp-alert--warning{background:var(--color-warning-soft);border-left-color:var(--color-warning)}.tp-alert--danger{background:var(--color-danger-soft);border-left-color:var(--color-danger)}.tp-alert ul{margin:0;padding-left:var(--tp-space-5)}.tp-gates{display:grid;gap:var(--tp-space-2);margin:0;padding:0;list-style:none}.tp-gate{display:flex;align-items:center;gap:var(--tp-space-2);font-size:var(--tp-text-base)}.tp-gate:before{content:"×";display:grid;place-items:center;width:20px;height:20px;border-radius:var(--tp-radius-full);font-weight:var(--tp-weight-bold);background:var(--color-neutral-soft);color:var(--color-text-muted);flex-shrink:0}.tp-gate--open{color:var(--color-text)}.tp-gate--open:before{content:"✓";background:var(--color-success-soft);color:var(--color-success-text)}.tp-bar{display:flex;height:16px;border-radius:var(--tp-radius-full);overflow:hidden;background:var(--color-surface-sunken)}.tp-bar__seg{height:100%;min-width:2px}.tp-legend{display:flex;flex-wrap:wrap;gap:var(--tp-space-3);margin:0;padding:0;list-style:none;font-size:var(--tp-text-sm);color:var(--color-text-secondary)}.tp-legend li{display:flex;align-items:center;gap:var(--tp-space-2)}.tp-swatch{width:10px;height:10px;border-radius:var(--tp-radius-sm);flex-shrink:0}.tp-timeline{display:grid;gap:var(--tp-space-4);margin:0;padding:0 0 0 var(--tp-space-5);list-style:none;border-left:var(--tp-border-thin) solid var(--color-border)}.tp-timeline li{position:relative;display:grid;gap:2px;font-size:var(--tp-text-sm)}.tp-timeline li:before{content:"";position:absolute;left:calc(-1 * var(--tp-space-5) - 4px);top:6px;width:7px;height:7px;border-radius:var(--tp-radius-full);background:var(--color-brand)}.tp-timeline__meta{color:var(--color-text-muted);font-size:var(--tp-text-xs)}.tp-topbar{display:flex;align-items:center;gap:var(--tp-space-6);padding:var(--tp-space-2) var(--tp-space-5);background:var(--color-surface);border-bottom:var(--tp-border-thin) solid var(--color-border);position:sticky;top:0;z-index:var(--tp-z-sticky)}.tp-brand{display:flex;align-items:center;gap:var(--tp-space-2);white-space:nowrap;font-weight:var(--tp-weight-bold);letter-spacing:-.01em}.tp-brand__mark{width:10px;height:10px;border-radius:var(--tp-radius-full);background:var(--color-brand);flex-shrink:0}.tp-brand__sub{color:var(--color-text-muted);font-weight:var(--tp-weight-medium);font-size:var(--tp-text-sm)}.tp-nav{display:flex;gap:var(--tp-space-1);flex:1;overflow-x:auto;scrollbar-width:thin}.tp-nav__link{padding:var(--tp-space-2) var(--tp-space-3);border-radius:var(--tp-radius-md);color:var(--color-text-muted);text-decoration:none;white-space:nowrap;font-size:var(--tp-text-sm);font-weight:var(--tp-weight-medium);border-bottom:var(--tp-border-thick) solid transparent}.tp-nav__link:hover{background:var(--color-surface-hover);color:var(--color-text)}.tp-nav__link.is-active{color:var(--color-brand-text);background:var(--color-brand-soft);border-bottom-color:var(--color-brand)}.tp-user{display:flex;flex-direction:column;align-items:flex-end;line-height:1.25;white-space:nowrap;font-size:var(--tp-text-sm)}.tp-user__role{color:var(--color-text-muted);font-size:var(--tp-text-xs)}.tp-muted{color:var(--color-text-muted);font-size:var(--tp-text-sm)}.tp-stack{display:flex;flex-direction:column;gap:var(--tp-space-3)}.tp-row{display:flex;align-items:center;gap:var(--tp-space-2);flex-wrap:wrap}.tp-split{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,1fr);gap:var(--tp-space-4);align-items:stretch}.tp-grid-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--tp-space-4)}@media(max-width:900px){.tp-split{grid-template-columns:minmax(0,1fr)}}@media(max-width:640px){.tp-grid-cards{grid-template-columns:minmax(0,1fr)}.tp-btn--touch{width:100%}.tp-topbar{gap:var(--tp-space-3);padding:var(--tp-space-2) var(--tp-space-3)}}.tp-row--end{justify-content:flex-end}.tp-stack--tight{gap:var(--tp-space-1)}.tp-drawer-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--color-overlay-scrim);z-index:var(--tp-z-overlay);animation:tp-fade-in var(--tp-duration-normal) var(--tp-ease)}.tp-drawer{position:fixed;top:0;right:0;bottom:0;width:min(460px,100vw);display:flex;flex-direction:column;background:var(--color-surface-raised);border-left:var(--tp-border-thin) solid var(--color-border);box-shadow:var(--shadow-overlay);z-index:calc(var(--tp-z-overlay) + 1);animation:tp-slide-in var(--tp-duration-slow) var(--tp-ease)}.tp-drawer--wide{width:min(640px,100vw)}.tp-drawer__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--tp-space-3);padding:var(--tp-space-4) var(--tp-space-5);border-bottom:var(--tp-border-thin) solid var(--color-border);flex:none}.tp-drawer__eyebrow{display:block;font-size:var(--tp-text-2xs);font-weight:var(--tp-weight-semibold);letter-spacing:.1em;text-transform:uppercase;color:var(--color-brand-text);margin-bottom:2px}.tp-drawer__title{font-family:var(--tp-font-display);font-size:var(--tp-text-xl);font-weight:600;line-height:1.15;margin:0}.tp-drawer__desc{font-size:var(--tp-text-sm);color:var(--color-text-muted);margin-top:2px}.tp-drawer__close{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;min-height:0;padding:0;border-radius:var(--tp-radius-md);background:transparent;border:none;color:var(--color-text-muted);cursor:pointer;flex:none}.tp-drawer__close:hover{background:var(--color-surface-hover);color:var(--color-text)}.tp-drawer__body{flex:1;overflow-y:auto;padding:var(--tp-space-5);display:flex;flex-direction:column;gap:var(--tp-space-4)}.tp-drawer__foot{display:flex;align-items:center;justify-content:flex-end;gap:var(--tp-space-2);padding:var(--tp-space-3) var(--tp-space-5);border-top:var(--tp-border-thin) solid var(--color-border);background:var(--color-surface);flex:none}.tp-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--tp-space-3) var(--tp-space-4);margin:0}.tp-facts div{display:grid;gap:2px;min-width:0}.tp-facts dt{font-size:var(--tp-text-2xs);font-weight:var(--tp-weight-semibold);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted)}.tp-facts dd{margin:0;font-size:var(--tp-text-base);overflow-wrap:anywhere}.tp-facts--full dt,.tp-facts div.is-full{grid-column:1 / -1}@keyframes tp-fade-in{0%{opacity:0}}@keyframes tp-slide-in{0%{transform:translate(24px);opacity:0}}@media(max-width:640px){.tp-drawer,.tp-drawer--wide{width:100vw;border-left:none}.tp-drawer__foot{flex-direction:column-reverse;align-items:stretch}.tp-facts{grid-template-columns:minmax(0,1fr)}}@media(prefers-reduced-motion:reduce){.tp-drawer,.tp-drawer-scrim{animation:none}}.tp-table tr.is-clickable{cursor:pointer}.tp-table tr.is-clickable:focus-visible{outline:none;box-shadow:none}.tp-table tr.is-clickable:focus-visible td{background:var(--color-brand-soft)}.tp-table tr.is-clickable:focus-visible td:first-child{box-shadow:inset 3px 0 0 var(--color-brand)}.tp-toaster{position:fixed;right:max(16px,env(safe-area-inset-right,0px));bottom:max(16px,env(safe-area-inset-bottom,0px));z-index:90;display:grid;gap:var(--tp-space-2);width:min(380px,calc(100vw - 32px));pointer-events:none}.tp-toaster>div{display:grid;gap:var(--tp-space-2)}.tp-toaster--top-right{top:calc(var(--shell-header-h, 56px) + max(12px,env(safe-area-inset-top,0px)));bottom:auto}.tp-toaster--top-left{top:calc(var(--shell-header-h, 56px) + max(12px,env(safe-area-inset-top,0px)));bottom:auto;left:max(16px,env(safe-area-inset-left,0px));right:auto}.tp-toaster--bottom-left{left:max(16px,env(safe-area-inset-left,0px));right:auto}.tp-toast{--toast-color: var(--color-brand);position:relative;display:grid;grid-template-columns:auto minmax(0,1fr) auto;gap:var(--tp-space-3);align-items:start;padding:var(--tp-space-3) var(--tp-space-3) var(--tp-space-3) var(--tp-space-4);border:var(--tp-border-thin) solid var(--color-border);border-radius:var(--tp-radius-lg);background:color-mix(in srgb,var(--color-surface-raised) 94%,transparent);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:var(--shadow-overlay);color:var(--color-text);pointer-events:auto;overflow:hidden;animation:tp-toast-in var(--tp-duration-slow) var(--tp-ease) both}.tp-toast.is-leaving{animation:tp-toast-out .18s var(--tp-ease) forwards}.tp-toast--success{--toast-color: var(--color-success)}.tp-toast--error{--toast-color: var(--color-danger)}.tp-toast--warning{--toast-color: var(--color-warning)}.tp-toast--info{--toast-color: var(--color-info, var(--color-brand))}.tp-toast__icon{display:grid;place-items:center;width:26px;height:26px;border-radius:50%;color:#fff;background:var(--toast-color);box-shadow:0 0 0 4px color-mix(in srgb,var(--toast-color) 16%,transparent);margin-top:1px}.tp-toast__body{display:grid;gap:2px;min-width:0}.tp-toast__title{font-size:var(--tp-text-sm);font-weight:var(--tp-weight-semibold);line-height:1.3}.tp-toast__desc{font-size:var(--tp-text-xs);color:var(--color-text-secondary);line-height:1.4}.tp-toast__action{justify-self:start;margin-top:4px;font-size:var(--tp-text-xs);font-weight:var(--tp-weight-semibold);color:var(--color-brand-text);text-decoration:none}.tp-toast__action:hover{text-decoration:underline}.tp-toast__close{display:grid;place-items:center;width:26px;height:26px;border:0;border-radius:var(--tp-radius-sm);background:transparent;color:var(--color-text-muted);cursor:pointer}.tp-toast__close:hover{background:var(--color-surface-hover);color:var(--color-text)}.tp-toast__bar{position:absolute;left:0;bottom:0;height:3px;width:100%;background:var(--toast-color);opacity:.55;transform-origin:left;animation-name:tp-toast-bar;animation-timing-function:linear;animation-fill-mode:forwards}@keyframes tp-toast-in{0%{opacity:0;transform:translateY(12px) scale(.98)}to{opacity:1;transform:none}}@keyframes tp-toast-out{to{opacity:0;transform:translateY(8px) scale(.98)}}@keyframes tp-toast-bar{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@media(prefers-reduced-motion:reduce){.tp-toast,.tp-toast.is-leaving{animation:none}}.tp-pager{display:flex;align-items:center;justify-content:space-between;gap:var(--tp-space-2) var(--tp-space-4);flex-wrap:wrap;padding:var(--tp-space-3) var(--tp-space-2) var(--tp-space-1);border-top:1px solid var(--color-border-subtle);font-size:var(--tp-text-xs);color:var(--color-text-secondary)}.tp-pager b{color:var(--color-text);font-weight:var(--tp-weight-semibold);font-variant-numeric:tabular-nums}.tp-pager__size{display:inline-flex;align-items:center;gap:var(--tp-space-2);white-space:nowrap}.tp-pager__size .tp-select{height:30px;min-height:0;width:auto;min-width:0;padding-top:0;padding-bottom:0;font-size:var(--tp-text-xs)}.tp-pager__nav{display:inline-flex;align-items:center;gap:2px}.tp-pager__page{padding:0 var(--tp-space-2);white-space:nowrap}.tp-pager__btn{width:30px;height:30px;display:inline-grid;place-items:center;border-radius:var(--tp-radius-sm);border:1px solid transparent;background:transparent;color:var(--color-text-secondary);cursor:pointer;transition:background var(--tp-duration-fast) var(--tp-ease),color var(--tp-duration-fast) var(--tp-ease)}.tp-pager__btn:hover:not(:disabled){background:var(--color-surface-sunken);color:var(--color-text)}.tp-pager__btn:focus-visible{outline:2px solid var(--color-brand);outline-offset:1px}.tp-pager__btn:disabled{opacity:.35;cursor:default}.tp-table-wrap>.tp-pager{position:sticky;left:0}.tp-segmented{display:inline-flex;gap:2px;padding:3px;background:var(--color-surface);border:var(--tp-border-thin) solid var(--color-card-border);border-radius:var(--tp-radius-md);box-shadow:var(--shadow-card)}.tp-segmented__item{min-height:28px;padding:0 var(--tp-space-3);border:none;border-radius:6px;background:transparent;color:var(--color-text-muted);font:inherit;font-size:var(--tp-text-xs);font-weight:var(--tp-weight-medium);white-space:nowrap;cursor:pointer;transition:background var(--tp-duration-fast) var(--tp-ease),color var(--tp-duration-fast) var(--tp-ease)}.tp-segmented__item:hover{color:var(--color-text);background:var(--color-surface-hover)}.tp-segmented__item.is-active{background:var(--color-brand);color:var(--color-on-solid);font-weight:var(--tp-weight-semibold)}.tp-segmented__item:focus-visible{outline:2px solid var(--color-brand);outline-offset:1px}.tp-segmented--wide{display:flex;flex-wrap:wrap}.tp-segmented--wide .tp-segmented__item{flex:1;min-height:32px}.tp-switch{position:relative;flex:none;width:42px;height:24px;min-height:0;padding:0;border:none;border-radius:var(--tp-radius-full);background:var(--tp-graphite-300);cursor:pointer;transition:background var(--tp-duration-fast) var(--tp-ease)}.tp-switch__knob{position:absolute;top:2px;left:2px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 2px #00000040;transition:transform var(--tp-duration-fast) var(--tp-ease)}.tp-switch.is-on{background:var(--color-success-solid)}.tp-switch.is-on .tp-switch__knob{transform:translate(18px)}.tp-switch:disabled{opacity:.6;cursor:wait}.tp-switch:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px}.tp-modal-layer{position:fixed;top:0;right:0;bottom:0;left:0;z-index:var(--tp-z-overlay);display:grid;place-items:center;padding:var(--tp-space-4);background:var(--color-overlay-scrim);-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);animation:tp-fade-in var(--tp-duration-normal) var(--tp-ease)}.tp-modal{width:100%;max-height:calc(100vh - 32px);display:flex;flex-direction:column;background:var(--color-surface);border:var(--tp-border-thin) solid var(--color-card-border);border-radius:var(--tp-radius-xl);box-shadow:var(--shadow-overlay);animation:tp-modal-in var(--tp-duration-normal) var(--tp-ease)}@keyframes tp-modal-in{0%{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}.tp-modal__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--tp-space-3);padding:var(--tp-space-5) var(--tp-space-6) 0}.tp-modal__title{margin:0;font-size:var(--tp-text-lg);font-weight:var(--tp-weight-semibold)}.tp-modal__desc{margin:4px 0 0;font-size:var(--tp-text-sm);color:var(--color-text-muted)}.tp-modal__close{flex:none;width:32px;height:32px;min-height:0;padding:0;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:var(--tp-radius-md);background:transparent;color:var(--color-text-muted);cursor:pointer}.tp-modal__close:hover{background:var(--color-surface-hover);color:var(--color-text)}.tp-modal__body{padding:var(--tp-space-5) var(--tp-space-6);overflow-y:auto;display:grid;gap:var(--tp-space-5)}.tp-modal__foot{display:flex;justify-content:flex-end;gap:var(--tp-space-2);padding:var(--tp-space-4) var(--tp-space-6) var(--tp-space-5);border-top:var(--tp-border-thin) solid var(--color-border-subtle)}:root{--shell-sidebar-w: 264px;--shell-sidebar-w-collapsed: 72px;--shell-header-h: 60px;--shell-subheader-h: 64px;--shell-gutter: var(--tp-space-6);--shell-gap: var(--tp-space-3);--shell-island-radius: var(--tp-radius-xl)}.shell{display:grid;grid-template-columns:var(--shell-sidebar-w) minmax(0,1fr);grid-template-rows:var(--shell-header-h) minmax(0,1fr);min-height:100vh;min-height:100dvh;background:var(--color-sidebar-bg);transition:grid-template-columns var(--tp-duration-slow) var(--tp-ease)}.shell--collapsed{grid-template-columns:var(--shell-sidebar-w-collapsed) minmax(0,1fr)}.sidebar{grid-column:1;grid-row:1 / -1;position:sticky;top:0;height:100vh;height:100dvh;display:flex;flex-direction:column;background:var(--color-sidebar-bg);color:var(--color-sidebar-text);overflow:hidden;z-index:var(--tp-z-sticky);box-shadow:var(--shadow-sidebar);width:var(--shell-sidebar-w);transition:width var(--tp-duration-slow) var(--tp-ease)}.shell--collapsed .sidebar{width:var(--shell-sidebar-w-collapsed)}.sidebar__top{display:flex;align-items:center;justify-content:space-between;gap:var(--tp-space-2);min-height:var(--shell-header-h);padding:0 var(--tp-space-3) 0 var(--tp-space-4);border-bottom:var(--tp-border-thin) solid var(--color-sidebar-border);flex:none}.shell--collapsed .sidebar__top{flex-direction:column;justify-content:center;gap:var(--tp-space-1);padding:var(--tp-space-2) 0;min-height:calc(var(--shell-header-h) + 28px)}.sidebar__nav{flex:1;overflow-y:auto;overflow-x:hidden;padding:var(--tp-space-3) var(--tp-space-2);display:flex;flex-direction:column;gap:var(--tp-space-4);scrollbar-width:thin}.sidebar__group{display:flex;flex-direction:column;gap:2px}.sidebar__group-title{padding:0 var(--tp-space-3) var(--tp-space-1);font-size:var(--tp-text-2xs);font-weight:var(--tp-weight-semibold);letter-spacing:.1em;text-transform:uppercase;color:var(--color-sidebar-muted);white-space:nowrap;overflow:hidden;transition:opacity var(--tp-duration-fast)}.shell--collapsed .sidebar__group-title{opacity:0;height:0;padding:0}.sidebar__link{display:flex;align-items:center;gap:var(--tp-space-3);min-height:40px;padding:0 var(--tp-space-3);border-radius:var(--tp-radius-md);color:var(--color-sidebar-text);text-decoration:none;font-size:var(--tp-text-base);font-weight:var(--tp-weight-medium);white-space:nowrap;position:relative;transition:background var(--tp-duration-fast) var(--tp-ease),color var(--tp-duration-fast) var(--tp-ease)}.sidebar__link:hover{background:var(--color-sidebar-hover);color:var(--color-sidebar-text-strong)}.sidebar__link.is-active{background:var(--color-sidebar-active-bg);color:var(--color-sidebar-text-strong)}.sidebar__link.is-active:before{content:"";position:absolute;left:-var(--tp-space-2);left:calc(-1 * var(--tp-space-2));top:8px;bottom:8px;width:3px;border-radius:0 2px 2px 0;background:var(--color-brand)}.sidebar__link.is-active .sidebar__icon{color:var(--color-brand)}.sidebar__icon{width:20px;height:20px;flex:none;color:var(--color-sidebar-muted);transition:color var(--tp-duration-fast)}.sidebar__label{overflow:hidden;text-overflow:ellipsis;transition:opacity var(--tp-duration-fast)}.sidebar__count{margin-left:auto;min-width:20px;height:20px;padding:0 6px;border-radius:var(--tp-radius-full);background:var(--color-brand);color:var(--color-text-on-brand);font-size:var(--tp-text-2xs);font-weight:var(--tp-weight-bold);display:inline-flex;align-items:center;justify-content:center}.shell--collapsed .sidebar__link{justify-content:center;padding:0}.shell--collapsed .sidebar__label,.shell--collapsed .sidebar__count{display:none}.sidebar__bottom{flex:none;padding:var(--tp-space-3) var(--tp-space-2);border-top:var(--tp-border-thin) solid var(--color-sidebar-border)}.sidebar__collapse{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--tp-radius-md);background:transparent;color:var(--color-sidebar-muted);border:none;padding:0;min-height:0;cursor:pointer}.sidebar__collapse:hover{background:var(--color-sidebar-hover);color:var(--color-sidebar-text-strong)}.sidebar__collapse svg{transition:transform var(--tp-duration-slow) var(--tp-ease)}.shell--collapsed .sidebar__collapse svg{transform:rotate(180deg)}.tp-logo{display:inline-flex;align-items:center;gap:10px;color:var(--color-sidebar-logo);line-height:1;text-decoration:none;overflow:hidden}.tp-logo__mark{flex:none}.tp-logo__text{display:flex;flex-direction:column;gap:3px;white-space:nowrap}.tp-logo__word{font-family:var(--tp-font-display);font-weight:700;letter-spacing:.1em;line-height:1}.tp-logo__tag{font-family:var(--tp-font-sans);font-size:.48em;font-weight:500;letter-spacing:.02em;color:var(--color-sidebar-muted)}.shell__scrim{display:none}.header{grid-column:2;grid-row:1;position:sticky;top:0;z-index:var(--tp-z-sticky);display:flex;align-items:center;gap:var(--tp-space-3);height:var(--shell-header-h);padding:0 var(--shell-gutter);background:var(--color-sidebar-bg);color:var(--color-sidebar-text)}.header__btn.header__menu{display:none}.header__crumbs{display:flex;align-items:center;gap:var(--tp-space-2);min-width:0;font-size:var(--tp-text-sm);color:var(--color-text-muted)}.header__crumbs a{color:var(--color-sidebar-muted);text-decoration:none}.header__crumbs a:hover{color:var(--color-sidebar-text-strong)}.header__crumbs .is-current{color:var(--color-sidebar-text-strong);font-weight:var(--tp-weight-semibold);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.header__sep{color:var(--color-border-strong)}.header__spacer{flex:1}.header__actions{display:flex;align-items:center;gap:var(--tp-space-1)}.header__btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--tp-space-2);height:36px;min-height:36px;min-width:36px;padding:0 var(--tp-space-2);border-radius:var(--tp-radius-md);background:transparent;border:none;color:var(--color-sidebar-text);font-size:var(--tp-text-sm);font-weight:var(--tp-weight-medium);cursor:pointer;position:relative}.header__btn:hover{background:var(--color-sidebar-hover);color:var(--color-sidebar-text-strong)}.header__btn[aria-expanded=true]{background:var(--color-sidebar-active-bg);color:var(--color-text)}.header__btn svg{width:18px;height:18px}.header__dot{position:absolute;top:7px;right:7px;width:8px;height:8px;border-radius:var(--tp-radius-full);background:var(--color-brand);box-shadow:0 0 0 2px var(--color-surface)}.header__avatar{width:30px;height:30px;border-radius:var(--tp-radius-full);background:var(--color-brand);color:var(--color-text-on-brand);display:inline-flex;align-items:center;justify-content:center;font-family:var(--tp-font-display);font-size:var(--tp-text-sm);font-weight:700;letter-spacing:.04em;flex:none}.header__user{display:flex;flex-direction:column;align-items:flex-start;line-height:1.2;text-align:left}.header__user-role{font-size:var(--tp-text-2xs);color:var(--color-sidebar-muted)}.menu{position:absolute;top:calc(100% + 6px);right:0;min-width:220px;background:var(--color-surface-raised);border:var(--tp-border-thin) solid var(--color-border);border-radius:var(--tp-radius-lg);box-shadow:var(--shadow-overlay);padding:var(--tp-space-2);display:flex;flex-direction:column;gap:2px;z-index:var(--tp-z-dropdown);animation:menu-in var(--tp-duration-fast) var(--tp-ease)}.menu__title{padding:var(--tp-space-2) var(--tp-space-3) var(--tp-space-1);font-size:var(--tp-text-2xs);font-weight:var(--tp-weight-semibold);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted)}.menu__item{display:flex;align-items:center;gap:var(--tp-space-3);width:100%;min-height:36px;padding:0 var(--tp-space-3);border-radius:var(--tp-radius-md);background:transparent;border:none;color:var(--color-text);font-size:var(--tp-text-sm);font-weight:var(--tp-weight-normal);text-align:left;cursor:pointer;justify-content:flex-start}.menu__item:hover{background:var(--color-surface-hover)}.menu__item.is-selected{background:var(--color-brand-soft);color:var(--color-brand-text);font-weight:var(--tp-weight-medium)}.menu__item svg{width:16px;height:16px;color:var(--color-text-muted);flex:none}.menu__item.is-selected svg{color:var(--color-brand-text)}.menu__sep{height:1px;background:var(--color-border-subtle);margin:var(--tp-space-1) 0}.menu__item--danger{color:var(--color-danger-text)}@keyframes menu-in{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.notif{min-width:340px;max-width:min(420px,calc(100vw - 32px));max-height:70vh;overflow-y:auto}.notif__item{display:grid;gap:2px;padding:var(--tp-space-3);border-radius:var(--tp-radius-md);border-left:3px solid var(--color-brand);background:var(--color-surface-sunken);color:var(--color-text)}.notif__item+.notif__item{margin-top:var(--tp-space-1)}.notif__title{font-size:var(--tp-text-sm);font-weight:var(--tp-weight-semibold);color:var(--color-text);line-height:1.3}.notif__body{font-size:var(--tp-text-xs);color:var(--color-text-secondary)}.notif__time{font-size:var(--tp-text-2xs);color:var(--color-text-muted)}.notif__empty{padding:var(--tp-space-6);text-align:center;color:var(--color-text-muted);font-size:var(--tp-text-sm)}.subheader{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--tp-space-4);min-height:var(--shell-subheader-h);padding:var(--tp-space-4) var(--shell-gutter) 0}.subheader__text{display:grid;gap:2px;min-width:0}.subheader__eyebrow{font-size:var(--tp-text-2xs);font-weight:var(--tp-weight-semibold);letter-spacing:.1em;text-transform:uppercase;color:var(--color-brand-text)}.subheader__title{font-family:var(--tp-font-display);font-size:var(--tp-text-2xl);font-weight:600;letter-spacing:.005em;line-height:1.1;margin:0}.subheader__desc{font-size:var(--tp-text-sm);color:var(--color-text-muted);max-width:68ch}.subheader__actions{display:flex;align-items:center;gap:var(--tp-space-2);flex-wrap:wrap;justify-content:flex-end;flex:none}.content{grid-column:2;grid-row:2;min-width:0;display:flex;flex-direction:column;background:var(--color-bg);border-radius:var(--shell-island-radius);margin:0 var(--shell-gap) var(--shell-gap) 0;box-shadow:inset 0 1px #ffffff0a}.content__body{flex:1;display:flex;flex-direction:column;gap:var(--tp-space-4);padding:var(--tp-space-4) var(--shell-gutter) var(--tp-space-10);min-width:0}@media(max-width:1023px){.shell,.shell--collapsed{grid-template-columns:minmax(0,1fr)}.content{margin:0 var(--shell-gap) var(--shell-gap)}.sidebar{position:fixed;inset:0 auto 0 0;height:100vh;height:100dvh;width:var(--shell-sidebar-w);transform:translate(-100%);transition:transform var(--tp-duration-slow) var(--tp-ease);box-shadow:none;z-index:var(--tp-z-overlay)}.shell--drawer .sidebar{transform:none;box-shadow:var(--shadow-overlay)}.shell--collapsed .sidebar__label,.shell--collapsed .sidebar__count{display:inline}.shell--collapsed .sidebar__link{justify-content:flex-start;padding:0 var(--tp-space-3)}.shell--collapsed .sidebar__group-title{opacity:1;height:auto;padding:0 var(--tp-space-3) var(--tp-space-1)}.shell--collapsed .sidebar__top{padding:0 var(--tp-space-3) 0 var(--tp-space-4);justify-content:space-between}.sidebar__collapse:not(.sidebar__collapse--close){display:none}.shell__scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;background:var(--color-overlay-scrim);opacity:0;pointer-events:none;transition:opacity var(--tp-duration-slow);z-index:calc(var(--tp-z-overlay) - 1)}.shell--drawer .shell__scrim{opacity:1;pointer-events:auto}.header,.content{grid-column:1}.header__btn.header__menu{display:inline-flex}.header__user{display:none}}@media(max-width:639px){.header__sim-label,.header__shortcut{display:none}:root{--shell-gutter: var(--tp-space-4);--shell-header-h: 56px}.header__crumbs .is-parent,.header__crumbs .header__sep{display:none}.subheader{flex-direction:column;align-items:stretch;padding-top:var(--tp-space-3)}.subheader__title{font-size:var(--tp-text-xl)}.subheader__actions{justify-content:stretch}.subheader__actions>*{flex:1}.content__body{gap:var(--tp-space-3);padding-bottom:var(--tp-space-8)}.header__btn--label span{display:none}.menu{position:fixed;left:12px;right:12px;top:calc(var(--shell-header-h) + 6px);min-width:0}.notif{max-width:none}}.sidebar__bottom{display:grid;gap:var(--tp-space-1)}.sidebar__user{display:flex;align-items:center;gap:var(--tp-space-3);padding:var(--tp-space-2);border-radius:var(--tp-radius-md);color:var(--color-sidebar-text);text-decoration:none;min-width:0}.sidebar__user:hover,.sidebar__user.is-active{background:var(--color-sidebar-hover);color:var(--color-sidebar-text-strong)}.sidebar__avatar{width:32px;height:32px;flex:none;border-radius:50%;overflow:hidden;background:var(--color-brand);color:var(--color-text-on-brand);display:inline-flex;align-items:center;justify-content:center;font-family:var(--tp-font-display);font-size:var(--tp-text-sm);font-weight:700;letter-spacing:.04em}.sidebar__avatar img{width:100%;height:100%;object-fit:cover}.sidebar__user-text{display:grid;min-width:0;line-height:1.2}.sidebar__user-name{font-size:var(--tp-text-sm);font-weight:var(--tp-weight-semibold);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar__user-role{font-size:var(--tp-text-2xs);color:var(--color-sidebar-muted)}.sidebar__logout{display:flex;align-items:center;justify-content:flex-start;gap:var(--tp-space-3);width:100%;min-height:0;padding:var(--tp-space-2) var(--tp-space-3);border:none;border-radius:var(--tp-radius-md);background:transparent;color:var(--color-sidebar-muted);font:inherit;font-size:var(--tp-text-sm);text-align:left;cursor:pointer}.sidebar__logout:hover{background:var(--color-sidebar-hover);color:var(--color-sidebar-text-strong)}.shell--collapsed .sidebar__user-text{display:none}.shell--collapsed .sidebar__user,.shell--collapsed .sidebar__logout{justify-content:center;padding:var(--tp-space-2) 0}.header__profile{width:36px;padding:0;background:var(--color-sidebar-active-bg);color:var(--color-sidebar-text-strong)}.header__shortcut{color:var(--color-sidebar-muted)}.header__shortcut:hover{color:var(--color-sidebar-text-strong)}.header__shortcut-add{color:var(--color-sidebar-muted)}.header__sim{gap:6px;padding:0 var(--tp-space-3) 0 var(--tp-space-2);border:1px solid transparent;color:var(--color-sidebar-muted)}.header__sim-dot{width:7px;height:7px;border-radius:50%;background:var(--tp-graphite-500)}.header__sim.is-on{background:color-mix(in srgb,var(--tp-amber-500) 16%,transparent);border-color:color-mix(in srgb,var(--tp-amber-500) 40%,transparent);color:var(--tp-amber-300)}.header__sim.is-on:hover{background:color-mix(in srgb,var(--tp-amber-500) 24%,transparent)}.header__sim--passive{cursor:default}.header__sim.is-busy{color:var(--color-sidebar-text-strong)}.header__sim.is-failed{color:var(--tp-red-300, #f5a3a3);border-color:color-mix(in srgb,var(--tp-red-500) 40%,transparent)}.header__sim.is-failed .header__sim-dot{background:var(--tp-red-400, #ef6a6a)}.sim-menu__error{margin:0;padding:var(--tp-space-2) var(--tp-space-3);border-radius:var(--tp-radius-md);background:var(--color-danger-soft);color:var(--color-danger-text, var(--color-text));font-size:var(--tp-text-xs);line-height:1.45}.header__sim .is-spinning{animation:tp-spin 1s linear infinite}@keyframes tp-spin{to{transform:rotate(360deg)}}.header__sim.is-on .header__sim-dot{background:var(--tp-amber-400);animation:sim-pulse 2.2s ease-out infinite}@keyframes sim-pulse{0%{box-shadow:0 0 color-mix(in srgb,var(--tp-amber-400) 55%,transparent)}70%{box-shadow:0 0 0 7px transparent}to{box-shadow:0 0 0 0 transparent}}@media(prefers-reduced-motion:reduce){.header__sim.is-on .header__sim-dot{animation:none}}.sim-menu{min-width:340px;max-width:min(400px,calc(100vw - 32px));padding:var(--tp-space-4);gap:var(--tp-space-3);color:var(--color-text)}.sim-menu__head b{display:block;font-size:var(--tp-text-sm)}.sim-menu__head p{margin:4px 0 0;font-size:var(--tp-text-xs);color:var(--color-text-muted);line-height:1.45}.sim-menu__row{display:flex;align-items:center;justify-content:space-between;gap:var(--tp-space-3);padding:var(--tp-space-3);border:1px solid var(--color-border);border-radius:var(--tp-radius-md);cursor:pointer}.sim-menu__row>span{display:grid;gap:2px}.sim-menu__row b{font-size:var(--tp-text-sm);font-weight:var(--tp-weight-semibold)}.sim-menu__row small{font-size:11px;color:var(--color-text-muted)}.sim-menu__meta{font-size:var(--tp-text-xs);color:var(--color-text-muted);line-height:1.45}.sim-menu__advance{width:100%;justify-content:center;gap:6px}.sim-menu__hint{margin:0;font-size:11px;color:var(--color-text-muted)}.menu__link{color:var(--color-brand-text);font-weight:var(--tp-weight-semibold);text-decoration:none}.menu__link:hover{text-decoration:underline}.header__avatar{overflow:hidden}.header__avatar img{width:100%;height:100%;object-fit:cover}.chart{width:100%;min-width:0}.chart--h240{height:240px}.chart--h280{height:280px}.chart--h200{height:200px}.chart--fill{display:flex;flex-direction:column;flex:1 1 auto;min-height:220px}.chart--fill>.recharts-responsive-container{flex:1 1 auto;min-height:0}.chart__legend{display:flex;flex-wrap:wrap;align-items:center;gap:var(--tp-space-2) var(--tp-space-4);font-size:var(--tp-text-xs);color:var(--color-text-muted)}.chart__legend-item{display:inline-flex;align-items:center;gap:6px}.chart__legend-note{margin-left:auto;font-variant-numeric:tabular-nums}.chart__legend-note b{color:var(--color-text);font-weight:var(--tp-weight-semibold)}.chart__key{display:inline-block;width:14px;height:3px;border-radius:2px;background:var(--key-color)}.chart__key--dash{background:none;border-top:2px dashed var(--key-color);height:0}.chart__key--bar{width:10px;height:10px;border-radius:2px}.chart__key--area{height:8px;border-radius:2px;background:linear-gradient(to bottom,var(--key-color) 0 3px,color-mix(in srgb,var(--key-color) 22%,transparent) 3px)}.chart__title{display:flex;align-items:baseline;justify-content:space-between;gap:var(--tp-space-3);margin-bottom:var(--tp-space-2)}.chart__title h3{margin:0}.chart__hint{font-size:var(--tp-text-xs);color:var(--color-text-muted)}.recharts-cartesian-axis-tick-value,.recharts-legend-item-text,.recharts-label{fill:var(--color-text-muted)!important;font-family:var(--tp-font-sans);font-size:var(--tp-text-xs)}.recharts-cartesian-grid line{stroke:var(--color-border-subtle)}.recharts-cartesian-axis-line,.recharts-cartesian-axis-tick-line{stroke:var(--color-border)}.recharts-reference-line line{stroke:var(--color-border-strong);stroke-dasharray:4 4}.recharts-tooltip-cursor{fill:var(--color-surface-hover);stroke:none}.chart-tip{background:var(--color-surface-raised);border:var(--tp-border-thin) solid var(--color-border);border-radius:var(--tp-radius-md);box-shadow:var(--shadow-raised);padding:var(--tp-space-2) var(--tp-space-3);font-size:var(--tp-text-xs);display:grid;gap:2px;min-width:140px}.chart-tip__label{color:var(--color-text-muted);margin-bottom:2px}.chart-tip__row{display:flex;align-items:center;justify-content:space-between;gap:var(--tp-space-3)}.chart-tip__row b{font-variant-numeric:tabular-nums;font-weight:var(--tp-weight-semibold)}.chart-tip__swatch{width:8px;height:8px;border-radius:2px;display:inline-block;margin-right:6px}.spark{width:100%;height:36px;display:block}.spark__line{fill:none;stroke-width:1.8;stroke-linejoin:round;stroke-linecap:round}.spark__area{opacity:.14}.spark__dot{stroke:var(--color-surface);stroke-width:2}.donut{display:grid;grid-template-columns:auto minmax(0,1fr);gap:var(--tp-space-5);align-items:center;align-content:center;flex:1 1 auto}.donut__ring{position:relative;flex:none}.donut__center{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;align-content:center;gap:2px;text-align:center;line-height:1;pointer-events:none}.donut__big{font-family:var(--tp-font-display);font-size:22px;font-weight:700;font-variant-numeric:tabular-nums;letter-spacing:.01em}.donut__small{font-size:var(--tp-text-2xs);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.08em}.donut__legend{display:grid;gap:var(--tp-space-1);margin:0;padding:0;list-style:none;font-size:var(--tp-text-sm)}.donut__legend{gap:var(--tp-space-2)}.donut__legend li{display:grid;grid-template-columns:10px minmax(0,1fr) auto;grid-template-areas:"dot name pct" ". track hours";align-items:center;column-gap:var(--tp-space-2);row-gap:4px}.donut__legend li>.tp-swatch{grid-area:dot}.donut__legend li>b{grid-area:pct}.donut__legend b{text-align:right;font-variant-numeric:tabular-nums;font-weight:var(--tp-weight-semibold)}.donut__name{grid-area:name;line-height:1.15}.donut__hours{grid-area:hours;font-size:var(--tp-text-xs);color:var(--color-text-muted);font-variant-numeric:tabular-nums;text-align:right}.donut__track{grid-area:track;height:4px;border-radius:2px;background:var(--color-border-subtle);overflow:hidden}.donut__track i{display:block;height:100%;border-radius:2px}@media(max-width:480px){.donut{grid-template-columns:1fr;justify-items:center}}.chart__endlabel{fill:var(--color-text);font-family:var(--tp-font-display);font-size:13px;font-weight:700;paint-order:stroke;stroke:var(--color-surface);stroke-width:4px;stroke-linejoin:round}.busr{display:block;overflow:visible}.busr__shadow{fill:#000;opacity:.22}:root[data-theme=dark] .busr__shadow{opacity:.5}.busr__grille rect{fill:#3a3b3a}.busr__sign-text{font-family:var(--tp-font-display);font-size:3.6px;font-weight:700;fill:#ffb347;letter-spacing:.08em}.busr__prefix{font-family:var(--tp-font-display);font-weight:700;font-size:9px;fill:#2b2c2b;letter-spacing:.02em}.busr__brand{font-family:var(--tp-font-sans);font-size:4.2px;font-weight:800;fill:#444544;letter-spacing:.04em}.busr__electric-text{font-family:var(--tp-font-sans);font-size:4px;font-weight:700;fill:#1fa37a;letter-spacing:.06em}.busr__seal{font-family:var(--tp-font-sans);font-size:2.9px;fill:#333}.busr__seal--strong{font-weight:700}.busr__wheel{transform-box:fill-box;transform-origin:center}.busr--running .busr__wheel{animation:busr-spin 1.4s linear infinite}.busr__road{stroke:var(--color-border-strong);stroke-width:1.4;stroke-linecap:round;stroke-dasharray:10 8;opacity:0}.busr--running .busr__road{opacity:.9;animation:busr-road .9s linear infinite}@keyframes busr-spin{to{transform:rotate(360deg)}}@keyframes busr-road{to{stroke-dashoffset:-18}}.busr__ready{fill:var(--color-state-running);animation:busr-breathe 2.6s ease-in-out infinite}@keyframes busr-breathe{0%,to{opacity:.35}50%{opacity:1}}.busr--waiting .busr__lamp-amber{animation:busr-blink 1.1s steps(2,start) infinite}@keyframes busr-blink{0%{opacity:1}50%{opacity:.15}to{opacity:1}}.busr__beacon-core{fill:var(--color-state-waiting)}.busr__beacon-halo{fill:var(--color-state-waiting);opacity:.35;transform-box:fill-box;transform-origin:center;animation:busr-halo 1.2s ease-out infinite}.busr--field .busr__lamp-amber{animation:busr-blink .7s steps(2,start) infinite}@keyframes busr-halo{0%{transform:scale(.4);opacity:.6}to{transform:scale(1.4);opacity:0}}.busr__lift rect{fill:#8d9194}.busr__lift-arm{stroke:#6b6f72;stroke-width:3;stroke-linecap:round}.busr--lifted .busr__vehicle{transform:translateY(-9px)}.busr--lifted .busr__shadow{opacity:.12}.busr__worklight{fill:#ffd34d;opacity:0}.busr--maintenance .busr__worklight{animation:busr-worklight 2.2s ease-in-out infinite}@keyframes busr-worklight{0%,to{opacity:.15}50%{opacity:.55}}.busr--part .busr__lamp-red{animation:busr-blink 1.4s steps(2,start) infinite}.busr__scan{opacity:0}.busr__scan-band{fill:var(--color-state-working);opacity:.18}.busr__scan-line{fill:var(--color-state-working);opacity:.9}.busr--inspection .busr__scan{opacity:1;animation:busr-sweep 2.8s linear infinite}.busr__sheen{opacity:0}.busr--cleaning .busr__sheen{opacity:1;animation:busr-sweep 2.4s ease-in-out infinite}.busr__bubble{fill:var(--tp-cyan-600);opacity:0;animation:busr-bubble 2.5s ease-out infinite}@keyframes busr-sweep{0%{transform:translate(0)}to{transform:translate(calc(var(--seg-w) * 1px + 44px))}}@keyframes busr-bubble{0%{transform:translateY(0);opacity:0}20%{opacity:.55}to{transform:translateY(-22px);opacity:0}}.busr--off .busr__vehicle{filter:grayscale(.85) brightness(.92);opacity:.7}@media(prefers-reduced-motion:reduce){.busr *,.busr *:before{animation:none!important}.busr--running .busr__road{opacity:.6}.busr__scan,.busr__sheen{opacity:0}}.page-center{min-height:100vh;display:grid;place-items:center;padding:var(--tp-space-6)}.card{width:100%;max-width:380px;display:flex;flex-direction:column;gap:var(--tp-space-4);padding:var(--tp-space-8);background:var(--color-surface);border:var(--tp-border-thin) solid var(--color-card-border);border-radius:var(--tp-radius-xl);box-shadow:var(--shadow-raised)}.panel{display:flex;flex-direction:column;gap:var(--tp-space-3);padding:var(--tp-space-4);background:var(--color-surface);border:var(--tp-border-thin) solid var(--color-card-border);border-radius:var(--tp-radius-lg);box-shadow:var(--shadow-card)}.panel-head{display:flex;align-items:center;justify-content:space-between;gap:var(--tp-space-3);flex-wrap:wrap}.split{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,1fr);gap:var(--tp-space-4);align-items:start}@media(max-width:900px){.split{grid-template-columns:minmax(0,1fr)}}.toolbar{display:flex;align-items:center;gap:var(--tp-space-3);flex-wrap:wrap}.stacked-form{display:flex;flex-direction:column;gap:var(--tp-space-3)}.form-actions{display:flex;align-items:center;justify-content:flex-end;gap:var(--tp-space-3);flex-wrap:wrap}.tp-table th.is-action,.tp-table td.is-action{width:1%;text-align:right}.tp-row-action{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:var(--tp-radius-full);border:var(--tp-border-thin) solid var(--color-border);font-size:var(--tp-text-xs);font-weight:var(--tp-weight-semibold);color:var(--color-text-muted);background:var(--color-surface);white-space:nowrap;transition:color var(--tp-duration-fast),border-color var(--tp-duration-fast),background var(--tp-duration-fast)}.tp-table tr:hover .tp-row-action,.tp-table tr:focus-visible .tp-row-action{color:var(--color-surface);border-color:var(--color-text);background:var(--color-text)}.wo-task{--task-color: var(--color-border-strong);position:relative;display:grid;gap:var(--tp-space-2);padding:var(--tp-space-3) var(--tp-space-4) var(--tp-space-3) calc(var(--tp-space-4) + 4px);border:var(--tp-border-thin) solid var(--color-card-border);border-radius:var(--tp-radius-lg);background:var(--color-surface);overflow:hidden;box-shadow:var(--shadow-card)}.wo-task:before{content:"";position:absolute;inset:0 auto 0 0;width:4px;background:var(--task-color)}.wo-task--progress{--task-color: var(--color-info)}.wo-task--done{--task-color: var(--color-success)}.wo-task--danger{--task-color: var(--color-danger)}.wo-task__head{display:flex;align-items:center;flex-wrap:wrap;gap:var(--tp-space-2)}.wo-task__code{font-family:var(--tp-font-mono);font-weight:700;font-size:var(--tp-text-base)}.wo-task__title{margin:0;font-size:var(--tp-text-md);font-weight:var(--tp-weight-semibold)}.wo-task__check{display:grid;gap:2px;padding:var(--tp-space-2) var(--tp-space-3);border-radius:var(--tp-radius-md);background:var(--color-surface-sunken)}.wo-task__check .tp-check{min-height:30px;font-size:var(--tp-text-sm)}.wo-task__check .tp-check input{width:18px;height:18px}.wo-task__progress{display:flex;align-items:center;gap:var(--tp-space-2);margin-bottom:var(--tp-space-1);font-size:var(--tp-text-xs)}.wo-task__foot{display:flex;justify-content:flex-end;align-items:center;gap:var(--tp-space-2)}.wo-task__foot:empty{display:none}.wo-gates{display:grid;margin:0;padding:0;list-style:none}.wo-gate{position:relative;display:grid;grid-template-columns:28px minmax(0,1fr);gap:var(--tp-space-3);align-items:start;padding-bottom:var(--tp-space-4)}.wo-gate:before{content:"";position:absolute;left:13px;top:30px;bottom:-2px;width:2px;background:var(--color-border)}.wo-gate:last-child{padding-bottom:0}.wo-gate:last-child:before{display:none}.wo-gate--open:before{background:var(--color-success)}.wo-gate__dot{display:grid;place-items:center;width:28px;height:28px;border-radius:50%;border:2px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text-muted);font-family:var(--tp-font-mono);font-size:var(--tp-text-xs);font-weight:700}.wo-gate--open .wo-gate__dot{border-color:var(--color-success);background:var(--color-success);color:#fff;box-shadow:0 0 0 4px color-mix(in srgb,var(--color-success) 18%,transparent)}.wo-gate--current .wo-gate__dot{border-color:var(--color-brand);color:var(--color-brand-text);box-shadow:0 0 0 4px color-mix(in srgb,var(--color-brand) 16%,transparent)}.wo-gate--current .wo-gate__label{color:var(--color-brand-text)}.wo-blocking{margin-top:var(--tp-space-3);font-size:var(--tp-text-xs);color:var(--color-text-secondary)}.wo-blocking summary{cursor:pointer;color:var(--color-text-muted)}.wo-blocking ul{margin:var(--tp-space-2) 0 0;padding-left:18px}.wo-next{--next-color: var(--color-brand);display:flex;align-items:center;gap:var(--tp-space-4);margin-bottom:var(--tp-space-4);padding:var(--tp-space-4) var(--tp-space-5);border:var(--tp-border-thin) solid var(--color-card-border);border-left:4px solid var(--next-color);border-radius:var(--tp-radius-lg);background:linear-gradient(135deg,color-mix(in srgb,var(--next-color) 7%,var(--color-surface)),var(--color-surface) 60%);box-shadow:var(--shadow-card)}.wo-next--success{--next-color: var(--color-success)}.wo-next--warning{--next-color: var(--color-warning)}.wo-next--danger{--next-color: var(--color-danger)}.wo-next__body{flex:1;min-width:0;display:grid;gap:4px}.wo-next__eyebrow{font-size:var(--tp-text-2xs);font-weight:var(--tp-weight-semibold);letter-spacing:.08em;text-transform:uppercase;color:var(--next-color)}.wo-next--brand .wo-next__eyebrow,.wo-next--warning .wo-next__eyebrow{color:color-mix(in srgb,var(--next-color) 80%,var(--color-text))}.wo-next__title{margin:0;font-family:var(--tp-font-display);font-size:var(--tp-text-xl);font-weight:700;line-height:1.15}.wo-next__text{margin:0;color:var(--color-text-secondary);max-width:70ch}.wo-next__btn{flex-shrink:0;display:inline-flex;align-items:center;gap:6px}@media(max-width:640px){.wo-next{flex-direction:column;align-items:stretch}.bus-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--tp-space-2)}.bus-grid .bus-card--summary{grid-column:1 / -1}}.wo-gate--final .wo-gate__dot{border-style:dashed}.wo-gate--final.wo-gate--open .wo-gate__dot{border-style:solid}.wo-gate__text{display:grid;gap:1px;padding-top:4px}.wo-gate__label{font-weight:var(--tp-weight-semibold);color:var(--color-text-secondary)}.wo-gate--open .wo-gate__label{color:var(--color-text)}.wo-gate__hint{font-size:var(--tp-text-xs);color:var(--color-text-muted)}.tp-toolbar{display:flex;align-items:center;flex-wrap:wrap;gap:var(--tp-space-2);padding:0;border:0;background:transparent}.tp-toolbar .tp-select{max-width:220px}.tp-toolbar__count{margin-left:auto;padding-right:var(--tp-space-2);font-variant-numeric:tabular-nums}.tp-search{position:relative;display:inline-flex;align-items:center;flex:1 1 200px;max-width:280px;color:var(--color-text-muted)}.tp-search svg{position:absolute;left:10px;pointer-events:none}.tp-search input.tp-input[type=search]{padding-left:32px}.tp-card__tools{display:flex;align-items:center;flex-wrap:nowrap;gap:var(--tp-space-3);white-space:nowrap}.tp-progress{display:inline-flex;align-items:center;gap:var(--tp-space-2);min-width:120px}.tp-progress__bar{display:block;flex:1 1 72px;height:6px;border-radius:var(--tp-radius-full);background:var(--color-surface-sunken);overflow:hidden}.tp-progress__bar b{display:block;height:100%;border-radius:inherit;background:linear-gradient(90deg,var(--color-brand),color-mix(in srgb,var(--color-brand) 70%,#fff));transition:width var(--tp-duration-normal) var(--tp-ease)}.tp-progress__text{font-family:var(--tp-font-mono);font-size:var(--tp-text-xs);font-variant-numeric:tabular-nums;color:var(--color-text-secondary)}.tp-card__foot{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--tp-space-3);margin:0 calc(-1 * var(--tp-space-4)) calc(-1 * var(--tp-space-4));padding:var(--tp-space-3) var(--tp-space-4);border-top:var(--tp-border-thin) solid var(--color-border);background:var(--color-surface-sunken);border-radius:0 0 var(--tp-radius-lg) var(--tp-radius-lg)}.tp-check--inline{min-height:0;font-size:var(--tp-text-sm);white-space:nowrap}.tp-check--inline input{width:16px;height:16px}.km-date{display:inline-flex;align-items:center;gap:var(--tp-space-2);font-size:var(--tp-text-sm);color:var(--color-text-secondary)}.km-date .tp-input{width:auto}.km-table td{vertical-align:middle}.validation__text{display:block;font-size:var(--tp-text-xs);color:var(--color-text-secondary);white-space:normal;max-width:320px}td.validation .tp-badge{margin-bottom:2px}.table-wrap{overflow-x:auto;border:var(--tp-border-thin) solid var(--color-border);border-radius:var(--tp-radius-md);background:var(--color-surface)}table{width:100%;border-collapse:collapse}th,td{padding:var(--tp-space-2) var(--tp-space-3);text-align:left;border-bottom:var(--tp-border-thin) solid var(--color-border-subtle);white-space:nowrap}th{position:sticky;top:0;z-index:1;background:var(--color-surface-sunken);color:var(--color-text-muted);font-size:var(--tp-text-2xs);font-weight:var(--tp-weight-semibold);text-transform:uppercase;letter-spacing:.04em}tbody tr:last-child td{border-bottom:none}tbody tr:hover td{background:var(--color-surface-hover)}td.num,th.num{text-align:right}td.strong{font-weight:var(--tp-weight-semibold)}td.center{text-align:center}td.validation{white-space:normal;max-width:320px;color:var(--color-warning-text);font-size:var(--tp-text-sm)}.row-warn td{background:var(--color-warning-soft)}.row-error td{background:var(--color-danger-soft)}.row-selected td{background:var(--color-brand-soft)}.row-muted td{opacity:.55}.text-warn{color:var(--color-warning-text);font-weight:var(--tp-weight-semibold)}.badge{display:inline-flex;align-items:center;gap:var(--tp-space-1);padding:2px var(--tp-space-2);font-size:var(--tp-text-xs);font-weight:var(--tp-weight-medium);line-height:1.5;border-radius:var(--tp-radius-full);background:var(--color-neutral-soft);border:var(--tp-border-thin) solid var(--color-neutral-border);color:var(--color-neutral-text);white-space:nowrap}.badge-danger{background:var(--color-danger-soft);border-color:var(--color-danger-border);color:var(--color-danger-text);font-weight:var(--tp-weight-semibold)}.badge-accent{background:var(--color-brand-soft);border-color:var(--color-brand-soft-border);color:var(--color-brand-text);font-weight:var(--tp-weight-semibold)}.flags{display:inline-flex;gap:var(--tp-space-1);flex-wrap:wrap}.status-available,.status-in_line{background:var(--color-success-soft);border-color:var(--color-success-border);color:var(--color-success-text)}.status-awaiting_triage,.status-awaiting_maintenance,.status-field_service{background:var(--color-warning-soft);border-color:var(--color-warning-border);color:var(--color-warning-text)}.status-in_maintenance,.status-in_inspection,.status-in_cleaning{background:var(--color-info-soft);border-color:var(--color-info-border);color:var(--color-info-text)}.status-awaiting_part,.status-out_of_service{background:var(--color-danger-soft);border-color:var(--color-danger-border);color:var(--color-danger-text)}label:not([class]){display:flex;flex-direction:column;gap:var(--tp-space-1);font-size:var(--tp-text-sm);font-weight:var(--tp-weight-medium);color:var(--color-text-secondary)}label.inline{flex-direction:row;align-items:center;gap:var(--tp-space-2)}input:not([type=radio]):not([type=checkbox]),select,textarea{padding:var(--tp-space-2) var(--tp-space-3);min-height:36px;font-family:inherit;font-size:var(--tp-text-base);color:var(--color-text);background:var(--color-surface);border:var(--tp-border-thin) solid var(--color-border-strong);border-radius:var(--tp-radius-md)}input::placeholder{color:var(--color-text-muted)}input:disabled,select:disabled{background:var(--color-surface-sunken);color:var(--color-text-muted);cursor:not-allowed}.km-input{width:140px;text-align:right;font-variant-numeric:tabular-nums}button{display:inline-flex;align-items:center;justify-content:center;gap:var(--tp-space-2);padding:var(--tp-space-2) var(--tp-space-4);min-height:36px;font-family:inherit;font-size:var(--tp-text-base);font-weight:var(--tp-weight-semibold);line-height:1;color:var(--color-action-text);background:var(--color-action);border:var(--tp-border-thin) solid transparent;border-radius:var(--tp-radius-md);cursor:pointer;white-space:nowrap;transition:background var(--tp-duration-fast) var(--tp-ease)}button:hover:where(:not(:disabled)){background:var(--color-action-hover)}button:disabled{opacity:.45;cursor:not-allowed}.btn-ghost{background:transparent;color:var(--color-text-secondary);border-color:var(--color-border-strong)}.btn-ghost:hover:not(:disabled){background:var(--color-surface-hover);color:var(--color-text)}.btn-sm{min-height:28px;padding:var(--tp-space-1) var(--tp-space-3);font-size:var(--tp-text-sm)}.required{color:var(--color-danger-text);font-size:var(--tp-text-2xs);text-transform:uppercase;letter-spacing:.04em}.field-error,.form-error{margin:0;color:var(--color-danger-text);font-size:var(--tp-text-sm)}.muted{margin:0;color:var(--color-text-muted);font-size:var(--tp-text-sm)}small.muted{font-size:var(--tp-text-xs)}.notice{padding:var(--tp-space-3) var(--tp-space-4);background:var(--color-info-soft);border-left:var(--tp-border-thick) solid var(--color-info);border-radius:var(--tp-radius-md);font-size:var(--tp-text-sm)}.notice-warn{background:var(--color-warning-soft);border-left-color:var(--color-warning)}.notice ul{margin:var(--tp-space-2) 0 0;padding-left:var(--tp-space-5)}.intel{display:grid;gap:var(--tp-space-2);padding:var(--tp-space-3) var(--tp-space-4);background:var(--color-surface-sunken);border:var(--tp-border-thin) solid var(--color-border);border-radius:var(--tp-radius-md)}.intel dl{margin:0;display:grid;gap:var(--tp-space-1)}.intel dl div{display:grid;grid-template-columns:140px 1fr;gap:var(--tp-space-2)}.intel dt{color:var(--color-text-muted);font-size:var(--tp-text-sm)}.intel dd{margin:0;font-size:var(--tp-text-sm)}.destinations{display:grid;gap:var(--tp-space-2);border:none;padding:0;margin:0}.destinations legend{color:var(--color-text-secondary);font-size:var(--tp-text-sm);font-weight:var(--tp-weight-medium);padding:0 0 var(--tp-space-2)}.radio-card{flex-direction:row;align-items:center;gap:var(--tp-space-3);padding:var(--tp-space-3) var(--tp-space-4);min-height:var(--tp-touch-min);border:var(--tp-border-thin) solid var(--color-border-strong);border-radius:var(--tp-radius-lg);cursor:pointer;color:var(--color-text);font-size:var(--tp-text-base);font-weight:var(--tp-weight-normal);background:var(--color-surface)}.radio-card:hover{background:var(--color-surface-hover)}.radio-card:has(input:checked){border-color:var(--color-brand);background:var(--color-brand-soft);box-shadow:inset 0 0 0 1px var(--color-brand)}.radio-card.is-disabled{opacity:.45;cursor:not-allowed}.timeline{display:grid;gap:var(--tp-space-4);margin:0;padding:0 0 0 var(--tp-space-5);list-style:none;border-left:var(--tp-border-thin) solid var(--color-border)}.timeline li{position:relative;display:grid;gap:2px;font-size:var(--tp-text-sm)}.timeline li:before{content:"";position:absolute;left:calc(-1 * var(--tp-space-5) - 4px);top:6px;width:7px;height:7px;border-radius:var(--tp-radius-full);background:var(--color-brand)}.timeline em{color:var(--color-text-muted);font-size:var(--tp-text-xs)}.breakdown{display:grid;gap:var(--tp-space-2)}.bar{display:flex;height:16px;border-radius:var(--tp-radius-full);overflow:hidden;background:var(--color-surface-sunken)}.bar-seg{height:100%;min-width:2px}.legend{display:flex;flex-wrap:wrap;gap:var(--tp-space-3);margin:0;padding:0;list-style:none;font-size:var(--tp-text-sm);color:var(--color-text-secondary)}.legend li{display:flex;align-items:center;gap:var(--tp-space-2)}.dot{display:inline-block;width:10px;height:10px;border-radius:var(--tp-radius-sm);flex-shrink:0}.cause-queue{background:var(--color-cause-queue)}.cause-material{background:var(--color-cause-material)}.cause-execution{background:var(--color-cause-execution)}.cause-inspection{background:var(--color-cause-inspection)}.cause-cleaning{background:var(--color-cause-cleaning)}.cause-release_wait{background:var(--color-cause-release-wait)}.task-list{display:grid;gap:var(--tp-space-3)}.task-card{display:grid;gap:var(--tp-space-2);padding:var(--tp-space-4);border:var(--tp-border-thin) solid var(--color-border);border-left:var(--tp-border-thick) solid var(--color-border-strong);border-radius:var(--tp-radius-md);background:var(--color-surface-sunken)}.task-card.status-blocked_by_material,.task-card.status-rejected{border-left-color:var(--color-danger)}.task-card.status-in_progress{border-left-color:var(--color-info)}.task-card.status-approved{border-left-color:var(--color-success)}.task-card header,.task-card footer{display:flex;align-items:center;gap:var(--tp-space-2);flex-wrap:wrap}.task-card p{margin:0}.checklist{margin:0;padding:0;list-style:none;display:grid;gap:var(--tp-space-1)}.check{flex-direction:row;align-items:center;gap:var(--tp-space-2);min-height:var(--tp-touch-min);color:var(--color-text);font-size:var(--tp-text-base);font-weight:var(--tp-weight-normal);cursor:pointer}.check input{width:20px;height:20px;accent-color:var(--color-brand);flex-shrink:0}.inspection-form,.inline-form{display:flex;flex-wrap:wrap;align-items:center;gap:var(--tp-space-2);padding:var(--tp-space-3);background:var(--color-surface);border:var(--tp-border-thin) dashed var(--color-border-strong);border-radius:var(--tp-radius-md)}.add-task{display:flex;flex-wrap:wrap;gap:var(--tp-space-2);align-items:center}.add-task input{flex:1;min-width:220px}.gates{margin:0;padding:0;list-style:none;display:grid;gap:var(--tp-space-2)}.gates li{display:flex;align-items:center;gap:var(--tp-space-2);font-size:var(--tp-text-base)}.gates li span[aria-hidden]{display:grid;place-items:center;width:20px;height:20px;border-radius:var(--tp-radius-full);font-weight:var(--tp-weight-bold);background:var(--color-neutral-soft);color:var(--color-text-muted);flex-shrink:0}.gate-ok{color:var(--color-text)}.gate-ok span[aria-hidden]{background:var(--color-success-soft);color:var(--color-success-text)}.gate-blocked{color:var(--color-text-muted)}.field-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(340px,100%),1fr));gap:var(--tp-space-4)}.field-empty{display:grid;justify-items:center;gap:var(--tp-space-2);padding:var(--tp-space-8) var(--tp-space-4);text-align:center;color:var(--color-text-muted)}.field-card{display:grid;gap:var(--tp-space-4);padding:var(--tp-space-4);min-width:0;border:var(--tp-border-thin) solid var(--color-card-border);border-radius:var(--tp-radius-lg);background:var(--color-surface);box-shadow:var(--shadow-card);border-top:3px solid var(--color-state-waiting)}.field-card--safety{border-top-color:var(--color-danger)}.field-card--finished{border-top-color:var(--color-success)}.field-card__head{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--tp-space-2)}.field-card__id{display:flex;align-items:baseline;gap:var(--tp-space-2)}.field-card__id b{font-family:var(--tp-font-mono);font-size:var(--tp-text-lg);letter-spacing:.02em}.field-card__tags{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:var(--tp-space-1)}.field-card__tags .tp-badge svg{vertical-align:-2px}.field-card__failure{display:grid;gap:2px}.field-card__failure h4{margin:0;font-size:var(--tp-text-md);font-weight:var(--tp-weight-semibold);line-height:1.3;text-wrap:balance}.field-card__failure p{margin:0;font-size:var(--tp-text-sm)}.field-card__meta{display:flex;flex-wrap:wrap;gap:var(--tp-space-1) var(--tp-space-4);margin:0;padding:0;list-style:none;font-size:var(--tp-text-sm);color:var(--color-text-secondary)}.field-card__meta li{display:inline-flex;align-items:center;gap:6px}.field-card__meta svg{color:var(--color-text-muted)}.field-steps{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));margin:0;padding:var(--tp-space-2) 0 0;list-style:none}.field-steps__item{position:relative;display:grid;justify-items:center;gap:4px;--step-color: var(--color-border-strong)}.field-steps__item+.field-steps__item:before{content:"";position:absolute;top:11px;right:50%;left:-50%;height:2px;background:var(--color-border)}.field-steps__item.is-done+.field-steps__item:before,.field-steps__item.is-done+.field-steps__item.is-current:before{background:var(--color-success)}.field-steps__node{position:relative;z-index:1;display:grid;place-items:center;width:24px;height:24px;border-radius:50%;border:2px solid var(--step-color);background:var(--color-surface);color:var(--color-on-success)}.field-steps__item.is-done{--step-color: var(--color-success)}.field-steps__item.is-done .field-steps__node{background:var(--color-success)}.field-steps__item.is-current{--step-color: var(--color-brand)}.field-steps__item.is-current .field-steps__node{box-shadow:0 0 0 4px color-mix(in srgb,var(--color-brand) 22%,transparent);animation:field-step-pulse 2.2s ease-in-out infinite}.field-card--finished .field-steps__item.is-current{--step-color: var(--color-success)}.field-card--finished .field-steps__item.is-current .field-steps__node{background:var(--color-success);animation:none;box-shadow:none}@keyframes field-step-pulse{0%,to{box-shadow:0 0 0 4px color-mix(in srgb,var(--color-brand) 22%,transparent)}50%{box-shadow:0 0 0 7px color-mix(in srgb,var(--color-brand) 10%,transparent)}}.field-steps__label{font-size:var(--tp-text-2xs);font-weight:var(--tp-weight-semibold);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted)}.field-steps__item.is-done .field-steps__label,.field-steps__item.is-current .field-steps__label{color:var(--color-text-secondary)}.field-steps__time{font-family:var(--tp-font-mono);font-size:var(--tp-text-xs);color:var(--color-text);font-variant-numeric:tabular-nums}.field-steps__item.is-todo .field-steps__time{color:var(--color-text-muted)}.field-card__clock{display:flex;justify-content:space-between;align-items:baseline;gap:var(--tp-space-2);padding-top:var(--tp-space-3);border-top:var(--tp-border-thin) solid var(--color-border-subtle);font-size:var(--tp-text-sm)}.field-card__elapsed{font-weight:var(--tp-weight-semibold);font-variant-numeric:tabular-nums}.field-card__elapsed.is-late{color:var(--color-danger-text)}.field-card__actions{display:flex;gap:var(--tp-space-2)}.field-card__actions .tp-btn--primary{flex:1}@media(pointer:coarse),(max-width:760px){.field-card__actions{display:grid}.field-card__actions .tp-btn{min-height:var(--tp-touch-min);font-size:var(--tp-text-md);border-radius:var(--tp-radius-lg)}.field-card__actions .tp-btn--primary{min-height:var(--tp-touch-comfortable)}}.field-outcomes{display:grid;gap:var(--tp-space-2)}.field-outcomes__text{display:grid;gap:2px;line-height:1.3}.field-outcomes__text b{font-weight:var(--tp-weight-semibold)}.field-outcomes__text small{font-size:var(--tp-text-xs);color:var(--color-text-muted)}@media(prefers-reduced-motion:reduce){.field-steps__item.is-current .field-steps__node{animation:none}}.swatch-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:var(--tp-space-4)}.swatch{display:flex;align-items:center;gap:var(--tp-space-4)}.swatch__chip{width:72px;height:72px;border-radius:var(--tp-radius-lg);border:var(--tp-border-thin) solid var(--color-border);flex-shrink:0}.swatch div{display:grid;gap:2px}.ramp{display:grid;gap:var(--tp-space-2)}.ramp__label{font-size:var(--tp-text-sm);font-weight:var(--tp-weight-semibold)}.ramp__steps{display:grid;grid-template-columns:repeat(auto-fit,minmax(64px,1fr));gap:var(--tp-space-1)}.ramp__step{display:grid;gap:2px;text-align:center}.ramp__step div{height:44px;border-radius:var(--tp-radius-sm);border:var(--tp-border-thin) solid var(--color-border-subtle)}.ramp__step code{font-size:var(--tp-text-2xs);color:var(--color-text-muted)}.token-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));gap:var(--tp-space-5)}.token-list{margin:0;padding:0;list-style:none;display:grid;gap:var(--tp-space-2)}.token-list li{display:flex;align-items:center;gap:var(--tp-space-2);font-size:var(--tp-text-xs)}.token-chip{width:20px;height:20px;border-radius:var(--tp-radius-sm);border:var(--tp-border-thin) solid var(--color-border);flex-shrink:0}.type-list{display:grid;gap:var(--tp-space-4)}.type-list>div{display:flex;align-items:baseline;justify-content:space-between;gap:var(--tp-space-4);flex-wrap:wrap;padding-bottom:var(--tp-space-2);border-bottom:var(--tp-border-thin) solid var(--color-border-subtle)}.type-list code{font-size:var(--tp-text-xs);white-space:nowrap}.rules{margin:0;padding-left:var(--tp-space-5);display:grid;gap:var(--tp-space-2);font-size:var(--tp-text-sm)}:root{--dash-glow-a: color-mix(in srgb, var(--color-brand) 10%, transparent);--dash-glow-b: color-mix(in srgb, var(--tp-blue-500) 7%, transparent);--dash-glass-top: color-mix(in srgb, var(--color-surface) 96%, transparent);--dash-glass-bottom: color-mix(in srgb, var(--color-surface) 88%, transparent);--dash-glass-border: color-mix(in srgb, var(--color-border) 85%, transparent);--dash-glass-highlight: color-mix(in srgb, #ffffff 70%, transparent);--dash-glass-shadow: var(--shadow-card);--dash-ring-track: color-mix(in srgb, var(--color-border) 70%, transparent)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]){--dash-glow-a: color-mix(in srgb, var(--color-brand) 16%, transparent);--dash-glow-b: color-mix(in srgb, var(--tp-blue-500) 14%, transparent);--dash-glass-top: color-mix(in srgb, var(--color-surface) 78%, transparent);--dash-glass-bottom: color-mix(in srgb, var(--color-surface) 58%, transparent);--dash-glass-border: color-mix(in srgb, #ffffff 10%, transparent);--dash-glass-highlight: color-mix(in srgb, #ffffff 8%, transparent);--dash-glass-shadow: 0 24px 48px -24px rgb(0 0 0 / .7);--dash-ring-track: color-mix(in srgb, #ffffff 8%, transparent)}}:root[data-theme=dark]{--dash-glow-a: color-mix(in srgb, var(--color-brand) 16%, transparent);--dash-glow-b: color-mix(in srgb, var(--tp-blue-500) 14%, transparent);--dash-glass-top: color-mix(in srgb, var(--color-surface) 78%, transparent);--dash-glass-bottom: color-mix(in srgb, var(--color-surface) 58%, transparent);--dash-glass-border: color-mix(in srgb, #ffffff 10%, transparent);--dash-glass-highlight: color-mix(in srgb, #ffffff 8%, transparent);--dash-glass-shadow: 0 24px 48px -24px rgb(0 0 0 / .7);--dash-ring-track: color-mix(in srgb, #ffffff 8%, transparent)}.dash{position:relative;isolation:isolate;display:grid;gap:var(--tp-space-3);min-width:0}.dash:before{content:"";position:absolute;inset:-24px 0 auto 0;height:600px;z-index:-1;pointer-events:none;background:radial-gradient(560px 300px at 14% 32%,var(--dash-glow-a),transparent 70%),radial-gradient(680px 340px at 86% 36%,var(--dash-glow-b),transparent 70%)}.dash-glass{background:linear-gradient(160deg,var(--dash-glass-top),var(--dash-glass-bottom));backdrop-filter:blur(18px) saturate(1.2);-webkit-backdrop-filter:blur(18px) saturate(1.2);border:1px solid var(--dash-glass-border);border-radius:var(--tp-radius-xl);box-shadow:inset 0 1px 0 var(--dash-glass-highlight),var(--dash-glass-shadow)}.dash-hero{position:relative;z-index:1;display:grid;grid-template-columns:232px minmax(0,1fr) 272px;gap:var(--tp-space-5);padding:var(--tp-space-5);min-width:0}.dash-hero>*{min-width:0}.dash-gauge{display:grid;justify-items:center;align-content:start;gap:var(--tp-space-3)}.dash-gauge__ring{position:relative;width:232px;height:232px;margin:-16px 0}.dash-gauge__ring .ring{width:100%;height:100%;display:block}.dash-gauge__center{position:absolute;top:0;right:0;bottom:0;left:0;display:grid;place-content:center;justify-items:center;gap:2px;pointer-events:none}.dash-gauge__value{font-family:var(--tp-font-display);font-size:44px;font-weight:700;line-height:1;letter-spacing:-.01em;font-variant-numeric:tabular-nums}.dash-gauge__value small{font-size:.5em;font-weight:600;color:var(--color-text-muted);margin-left:2px}.dash-gauge__label{font-size:var(--tp-text-2xs);font-weight:var(--tp-weight-semibold);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted)}.dash-gauge__foot{display:grid;justify-items:center;gap:4px;text-align:center}.dash-gauge__ready{font-size:var(--tp-text-sm);color:var(--color-text-secondary)}.dash-gauge__ready b{color:var(--color-text);font-variant-numeric:tabular-nums}.dash-gauge__meta{display:flex;align-items:center;gap:var(--tp-space-3);font-size:var(--tp-text-xs);color:var(--color-text-muted)}.dash-gauge__target:before{content:"";display:inline-block;width:2px;height:10px;margin-right:6px;vertical-align:-1px;background:var(--color-text);border-radius:1px}.ring__track{stroke:var(--dash-ring-track)}.ring__value{stroke:var(--color-state-running);transition:stroke-dashoffset .9s cubic-bezier(.2,.8,.2,1);animation:ring-in 1.2s cubic-bezier(.2,.8,.2,1) both}.ring--warn .ring__value{stroke:var(--color-warning)}.ring--danger .ring__value{stroke:var(--color-danger)}.ring__target{stroke:var(--color-text);stroke-width:2.5;stroke-linecap:round}.ring__target-label{font-family:var(--tp-font-sans);font-size:10px;font-weight:var(--tp-weight-semibold);letter-spacing:.08em;text-transform:uppercase;fill:var(--color-text);stroke:var(--color-surface);stroke-width:3;paint-order:stroke fill}@keyframes ring-in{0%{stroke-dashoffset:var(--ring-c)}to{stroke-dashoffset:var(--ring-off)}}.dash-flow-wrap{display:grid;align-content:space-between;gap:var(--tp-space-4)}.dash-flow-wrap__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--tp-space-3);flex-wrap:wrap}.dash-flow-wrap__head>div{display:grid;gap:2px;min-width:0}.dash-flow-wrap__head h3{margin:0;font-size:var(--tp-text-sm)}.dash-flow-legend{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:var(--tp-space-1) var(--tp-space-3);font-size:var(--tp-text-2xs);color:var(--color-text-muted);letter-spacing:.02em}.dash-flow-legend__item{display:inline-flex;align-items:center;gap:6px;white-space:nowrap}.dash-flow-legend__item:before{content:"";width:10px;height:10px;border-radius:50%;border:2px solid var(--legend-color, var(--dash-ring-track));box-shadow:0 0 0 2px color-mix(in srgb,var(--legend-color, transparent) 18%,transparent);background:var(--color-surface)}.dash-flow-legend__item--waiting{--legend-color: var(--color-state-waiting)}.dash-flow-legend__item--working{--legend-color: var(--color-state-working)}.dash-flow-legend__item--stopped{--legend-color: var(--color-state-stopped)}.dash-flow-legend__item--empty:before{box-shadow:none}.dash-flow{list-style:none;margin:0;padding:0;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:0}.dash-flow__stage{position:relative;display:grid;justify-items:center;gap:var(--tp-space-2);--flow-color: var(--color-state-waiting)}.dash-flow__stage--working{--flow-color: var(--color-state-working)}.dash-flow__stage--stopped{--flow-color: var(--color-state-stopped)}.dash-flow__rail{position:absolute;top:22px;right:50%;left:-50%;height:2px;background:var(--dash-ring-track);z-index:0}.dash-flow__stage.is-active .dash-flow__rail{background:linear-gradient(90deg,var(--dash-ring-track),var(--flow-color))}.dash-flow__node{position:relative;z-index:1;display:grid;place-items:center;width:44px;height:44px;border-radius:50%;border:2px solid var(--dash-ring-track);background:var(--color-surface);color:var(--color-text-muted);text-decoration:none;font-family:var(--tp-font-display);font-size:var(--tp-text-md);font-weight:700;font-variant-numeric:tabular-nums;transition:transform var(--tp-duration-fast) var(--tp-ease),box-shadow var(--tp-duration-fast) var(--tp-ease)}.dash-flow__node:hover{transform:translateY(-2px)}.dash-flow__node:focus-visible{outline:2px solid var(--color-brand);outline-offset:3px}.dash-flow__stage.is-active .dash-flow__node{border-color:var(--flow-color);color:var(--color-text);box-shadow:0 0 0 4px color-mix(in srgb,var(--flow-color) 18%,transparent),0 0 18px color-mix(in srgb,var(--flow-color) 45%,transparent)}.dash-flow__stage--stopped.is-active .dash-flow__node{animation:flow-pulse 2.4s ease-in-out infinite}@keyframes flow-pulse{0%,to{box-shadow:0 0 0 4px color-mix(in srgb,var(--flow-color) 18%,transparent),0 0 18px color-mix(in srgb,var(--flow-color) 45%,transparent)}50%{box-shadow:0 0 0 7px color-mix(in srgb,var(--flow-color) 10%,transparent),0 0 28px color-mix(in srgb,var(--flow-color) 60%,transparent)}}.dash-flow__label{font-size:var(--tp-text-2xs);font-weight:var(--tp-weight-semibold);letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted);text-align:center;line-height:1.2}.dash-flow__stage.is-active .dash-flow__label{color:var(--color-text-secondary)}.tp-tip{position:relative;display:inline-grid;justify-items:center}.tp-tip__trigger{display:grid;place-items:center;width:18px;height:18px;min-height:0;padding:0;border:1px solid var(--color-border-strong);border-radius:50%;background:var(--color-surface);color:var(--color-text-muted);cursor:help;transition:color var(--tp-duration-fast),border-color var(--tp-duration-fast),background var(--tp-duration-fast),transform var(--tp-duration-fast) var(--tp-ease)}.tp-tip__trigger:hover:where(:not(:disabled)),.tp-tip:focus-within .tp-tip__trigger,.tp-tip.is-open .tp-tip__trigger{color:var(--color-brand-text);border-color:var(--color-brand);background:color-mix(in srgb,var(--color-brand) 12%,var(--color-surface));transform:translateY(-1px)}.tp-tip__trigger:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px}.tp-tip__panel{position:absolute;top:calc(100% + 10px);z-index:var(--tp-z-dropdown);display:grid;gap:var(--tp-space-2);width:248px;padding:var(--tp-space-3) var(--tp-space-4);border:var(--tp-border-thin) solid var(--color-border);border-radius:var(--tp-radius-lg);background:var(--color-surface);color:var(--color-text);box-shadow:var(--tp-shadow-overlay);font-size:var(--tp-text-xs);line-height:1.45;text-align:left;text-transform:none;letter-spacing:normal;font-weight:400;opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--tp-duration-normal) var(--tp-ease),transform var(--tp-duration-normal) var(--tp-ease),visibility 0s linear var(--tp-duration-normal)}.tp-tip__panel:before{content:"";position:absolute;top:-6px;width:10px;height:10px;border-top:var(--tp-border-thin) solid var(--color-border);border-left:var(--tp-border-thin) solid var(--color-border);background:var(--color-surface);transform:rotate(45deg)}.tp-tip--center .tp-tip__panel{left:50%;transform:translate(-50%,-6px)}.tp-tip--center .tp-tip__panel:before{left:calc(50% - 5px)}.tp-tip:not(:hover):not(:focus-within):not(.is-open) .tp-tip__panel{display:none}.tp-tip:hover .tp-tip__panel,.tp-tip:focus-within .tp-tip__panel,.tp-tip.is-open .tp-tip__panel{animation:tp-fade-in var(--tp-duration-fast) var(--tp-ease)}.tp-tip--start .tp-tip__panel{left:calc(50% - 20px);transform:translateY(-6px)}.tp-tip--start .tp-tip__panel:before{left:15px}.tp-tip--end .tp-tip__panel{right:calc(50% - 20px);transform:translateY(-6px)}.tp-tip--end .tp-tip__panel:before{right:15px}.tp-tip:hover .tp-tip__panel,.tp-tip:focus-within .tp-tip__panel,.tp-tip.is-open .tp-tip__panel{opacity:1;visibility:visible;pointer-events:auto;transition-delay:80ms,80ms,0s}.tp-tip--center:hover .tp-tip__panel,.tp-tip--center:focus-within .tp-tip__panel,.tp-tip--center.is-open .tp-tip__panel{transform:translate(-50%)}.tp-tip--start:hover .tp-tip__panel,.tp-tip--start:focus-within .tp-tip__panel,.tp-tip--start.is-open .tp-tip__panel,.tp-tip--end:hover .tp-tip__panel,.tp-tip--end:focus-within .tp-tip__panel,.tp-tip--end.is-open .tp-tip__panel{transform:translate(0)}.tp-tip__title{display:flex;align-items:center;gap:var(--tp-space-2);font-family:var(--tp-font-display);font-size:var(--tp-text-sm);font-weight:700;color:var(--color-text)}.tp-tip__dot{width:8px;height:8px;border-radius:50%;background:var(--flow-color, var(--color-brand));box-shadow:0 0 0 3px color-mix(in srgb,var(--flow-color, var(--color-brand)) 22%,transparent);flex-shrink:0}.tp-tip__count{margin-left:auto;font-family:var(--tp-font-mono);font-size:var(--tp-text-2xs);font-weight:600;color:var(--color-text-secondary);white-space:nowrap}.tp-tip__body{color:var(--color-text)}.tp-tip__meta{color:var(--color-text-secondary);font-size:var(--tp-text-2xs)}.tp-tip__foot{margin-top:var(--tp-space-1);padding-top:var(--tp-space-2);border-top:var(--tp-border-thin) solid var(--color-border);color:var(--color-text-muted);font-size:var(--tp-text-2xs);font-weight:var(--tp-weight-semibold);letter-spacing:.04em;text-transform:uppercase}.dash-flow__info{margin-top:calc(var(--tp-space-1) * -1)}@media(prefers-reduced-motion:reduce){.tp-tip__panel{transition:none}}.dash-hero__kpis{display:grid;gap:var(--tp-space-3);align-content:start}.dash-kpi{position:relative;display:grid;gap:var(--tp-space-1);padding:var(--tp-space-3) var(--tp-space-4);min-width:0;overflow:hidden;border-radius:var(--tp-radius-lg);border:1px solid var(--dash-glass-border);background:linear-gradient(160deg,var(--dash-glass-top),var(--dash-glass-bottom));box-shadow:inset 0 1px 0 var(--dash-glass-highlight);--kpi-color: var(--color-border-strong)}.dash-kpi--good{--kpi-color: var(--color-success)}.dash-kpi--warn{--kpi-color: var(--color-warning)}.dash-kpi--danger{--kpi-color: var(--color-danger)}.dash-kpi--brand{--kpi-color: var(--color-brand)}.dash-kpi__head{display:flex;align-items:baseline;justify-content:space-between;gap:var(--tp-space-2)}.dash-kpi__hint{font-size:var(--tp-text-2xs);color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-kpi__body{display:grid;grid-template-columns:minmax(0,1fr) 96px;align-items:end;gap:var(--tp-space-3)}.dash-kpi__value{font-family:var(--tp-font-display);font-size:clamp(22px,1.8vw,28px);font-weight:700;line-height:1;letter-spacing:.005em;font-variant-numeric:tabular-nums;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dash-kpi .spark{height:34px}.dash-kpi .spark__line{filter:drop-shadow(0 0 4px color-mix(in srgb,var(--kpi-color) 55%,transparent))}.dash-kpi__delta{display:inline-flex;align-items:center;gap:4px;font-size:var(--tp-text-xs);font-weight:var(--tp-weight-semibold);font-variant-numeric:tabular-nums}.dash-kpi__delta em{font-style:normal;font-weight:var(--tp-weight-normal);color:var(--color-text-muted)}.dash-kpi__delta--good{color:var(--color-success-text)}.dash-kpi__delta--danger{color:var(--color-danger-text)}.dash-kpi__delta--neutral{color:var(--color-text-muted)}.dash-hero__alerts{grid-column:1 / -1;display:flex;flex-direction:column;align-items:stretch;gap:var(--tp-space-3);margin:0 calc(-1 * var(--tp-space-5)) calc(-1 * var(--tp-space-5));padding:var(--tp-space-3) var(--tp-space-5) var(--tp-space-4);border-top:1px solid var(--dash-glass-border);border-radius:0 0 var(--tp-radius-xl) var(--tp-radius-xl);background:color-mix(in srgb,var(--color-surface-sunken) 55%,transparent);--alert-color: var(--color-success)}.dash-hero__alerts.has-warning{--alert-color: var(--color-warning)}.dash-hero__alerts.has-critical{--alert-color: var(--color-danger)}.dash-hero__alerts-title{display:inline-flex;align-items:center;gap:var(--tp-space-2);font-size:var(--tp-text-2xs);font-weight:var(--tp-weight-semibold);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-secondary);white-space:nowrap}.dash-hero__alerts-title b{font-family:var(--tp-font-mono);font-size:var(--tp-text-xs);padding:0 6px;border-radius:999px;background:color-mix(in srgb,var(--alert-color) 16%,transparent);color:var(--color-text)}.dash-hero__alerts-dot{position:relative;width:8px;height:8px;border-radius:50%;background:var(--alert-color);box-shadow:0 0 0 3px color-mix(in srgb,var(--alert-color) 18%,transparent)}.dash-hero__alerts.has-critical .dash-hero__alerts-dot:after{content:"";position:absolute;top:-3px;right:-3px;bottom:-3px;left:-3px;border-radius:50%;border:1.5px solid var(--alert-color);opacity:0;animation:alert-halo 2.6s ease-out infinite}@keyframes alert-halo{0%{transform:scale(.6);opacity:.55}70%{transform:scale(2.1);opacity:0}to{transform:scale(2.1);opacity:0}}.dash-alerts__head{display:flex;align-items:center;justify-content:space-between;gap:var(--tp-space-3)}.dash-alerts__hint{font-size:var(--tp-text-2xs);color:var(--color-text-muted)}.dash-alerts{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(188px,1fr));gap:var(--tp-space-2)}.dash-alert{--alert-tone: var(--color-warning);--alert-tone-text: var(--color-warning-text);min-width:0}.dash-alert--danger{--alert-tone: var(--color-danger);--alert-tone-text: var(--color-danger-text)}.dash-alert--ok{--alert-tone: var(--color-success);--alert-tone-text: var(--color-success-text)}.dash-alert__link{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--tp-space-3);padding:10px 10px 10px 12px;border-radius:var(--tp-radius-lg);background:var(--color-surface);border:1px solid var(--color-card-border);box-shadow:var(--shadow-card);color:var(--color-text);text-decoration:none;transition:transform var(--tp-duration-fast) var(--tp-ease),box-shadow var(--tp-duration-fast) var(--tp-ease),border-color var(--tp-duration-fast) var(--tp-ease)}.dash-alert__link:hover,.dash-alert__link:focus-visible{transform:translateY(-1px);box-shadow:var(--shadow-raised);border-color:color-mix(in srgb,var(--alert-tone) 40%,var(--color-card-border));text-decoration:none}.dash-alert__icon{width:38px;height:38px;border-radius:10px;display:grid;place-items:center;background:color-mix(in srgb,var(--alert-tone) 12%,transparent);color:var(--alert-tone-text);flex:none}.dash-alert__body{display:grid;gap:2px;min-width:0}.dash-alert__n{font-family:var(--tp-font-display);font-size:21px;font-weight:700;line-height:1;letter-spacing:.01em;font-variant-numeric:tabular-nums;color:var(--alert-tone-text)}.dash-alert__label{font-size:var(--tp-text-xs);line-height:1.25;color:var(--color-text-secondary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.dash-alert__go{color:var(--color-text-muted);opacity:.45;transition:transform var(--tp-duration-fast) var(--tp-ease),opacity var(--tp-duration-fast) var(--tp-ease)}.dash-alert__link:hover .dash-alert__go,.dash-alert__link:focus-visible .dash-alert__go{opacity:1;transform:translate(2px);color:var(--alert-tone-text)}@media(prefers-reduced-motion:reduce){.dash-hero__alerts-dot:after{animation:none!important}.dash-alert__link,.dash-alert__go{transition:none}}.dash-row{display:grid;gap:var(--tp-space-3);min-width:0}.dash-row--charts{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-row--bottom{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr) minmax(0,1.1fr)}.dash-row>.tp-card{min-width:0}.dash-updated{text-align:right;font-size:var(--tp-text-2xs)}@media(max-width:1240px){.dash-hero{grid-template-columns:220px minmax(0,1fr)}.dash-hero__kpis{grid-column:1 / -1;grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.dash-hero{grid-template-columns:minmax(0,1fr);padding:var(--tp-space-4);gap:var(--tp-space-4)}.dash-hero__alerts{margin:0 calc(-1 * var(--tp-space-4)) calc(-1 * var(--tp-space-4));padding:var(--tp-space-3) var(--tp-space-4)}.dash-hero__kpis{grid-template-columns:minmax(0,1fr)}.dash-flow{grid-auto-flow:row;grid-template-columns:repeat(3,minmax(0,1fr));row-gap:var(--tp-space-4)}.dash-flow__rail{display:none}.dash-flow__stage:nth-child(3n+1) .tp-tip__panel{left:calc(50% - 20px);right:auto;transform:translateY(-6px)}.dash-flow__stage:nth-child(3n+1) .tp-tip__panel:before{left:15px;right:auto}.dash-flow__stage:nth-child(3n+2) .tp-tip__panel{left:50%;right:auto;transform:translate(-50%,-6px)}.dash-flow__stage:nth-child(3n+2) .tp-tip__panel:before{left:calc(50% - 5px);right:auto}.dash-flow__stage:nth-child(3n) .tp-tip__panel{right:calc(50% - 20px);left:auto;transform:translateY(-6px)}.dash-flow__stage:nth-child(3n) .tp-tip__panel:before{right:15px;left:auto}.dash-flow__stage:nth-child(3n+1) .tp-tip:hover .tp-tip__panel,.dash-flow__stage:nth-child(3n+1) .tp-tip:focus-within .tp-tip__panel,.dash-flow__stage:nth-child(3n+1) .tp-tip.is-open .tp-tip__panel,.dash-flow__stage:nth-child(3n) .tp-tip:hover .tp-tip__panel,.dash-flow__stage:nth-child(3n) .tp-tip:focus-within .tp-tip__panel,.dash-flow__stage:nth-child(3n) .tp-tip.is-open .tp-tip__panel{transform:translate(0)}.dash-flow__stage:nth-child(3n+2) .tp-tip:hover .tp-tip__panel,.dash-flow__stage:nth-child(3n+2) .tp-tip:focus-within .tp-tip__panel,.dash-flow__stage:nth-child(3n+2) .tp-tip.is-open .tp-tip__panel{transform:translate(-50%)}.dash-gauge__ring{width:208px;height:208px}.dash-gauge__value{font-size:38px}}@media(prefers-reduced-motion:reduce){.ring__value,.dash-flow__stage--stopped.is-active .dash-flow__node{animation:none}}.attention-list{margin:0;padding:0;list-style:none;display:grid;gap:var(--tp-space-2)}.attention-item{display:flex;align-items:center;gap:var(--tp-space-2);padding:var(--tp-space-2) var(--tp-space-3);border-radius:var(--tp-radius-md);border-left:3px solid var(--color-warning);background:var(--color-warning-soft);color:var(--color-warning-text);font-size:var(--tp-text-sm)}.attention-item--danger{border-left-color:var(--color-danger);background:var(--color-danger-soft);color:var(--color-danger-text)}.attention-item a{color:inherit;text-decoration:none}.attention-item a:hover{text-decoration:underline}.attention-item b{font-variant-numeric:tabular-nums}.status-summary{display:grid;gap:var(--tp-space-2)}.status-summary__bar{display:flex;height:10px;border-radius:var(--tp-radius-full);overflow:hidden;background:var(--color-surface-sunken)}.status-summary__seg{height:100%}.status-summary__seg--running{background:var(--color-state-running)}.status-summary__seg--waiting{background:var(--color-state-waiting)}.status-summary__seg--working{background:var(--color-state-working)}.status-summary__seg--stopped{background:var(--color-state-stopped)}.status-summary__legend{margin:0;padding:0;list-style:none;display:grid;grid-template-columns:repeat(2,1fr);gap:var(--tp-space-1) var(--tp-space-3);font-size:var(--tp-text-sm)}.status-summary__legend li{display:flex;justify-content:space-between;align-items:center}.status-summary__legend b{font-variant-numeric:tabular-nums}.dash-fleet{min-width:0}.dash-fleet__head{flex-wrap:wrap;row-gap:var(--tp-space-2)}.fleet-legend{display:inline-flex;align-items:center;gap:2px;margin-left:auto;min-width:0;max-width:100%;overflow-x:auto;scrollbar-width:none;padding:2px;border:var(--tp-border-thin) solid var(--color-border);border-radius:var(--tp-radius-full);background:color-mix(in srgb,var(--color-surface) 72%,transparent)}.fleet-legend__item{--legend-color: var(--color-neutral);display:inline-flex;align-items:center;gap:var(--tp-space-2);height:26px;min-height:0;padding:0 var(--tp-space-3) 0 var(--tp-space-2);border:0;border-radius:var(--tp-radius-full);background:transparent;color:var(--color-text-secondary);font:inherit;font-size:var(--tp-text-xs);line-height:1;white-space:nowrap;cursor:pointer;transition:background var(--tp-duration-fast),color var(--tp-duration-fast),box-shadow var(--tp-duration-fast)}.fleet-legend__item--all{padding-left:var(--tp-space-3)}.fleet-legend__item--running{--legend-color: var(--color-state-running)}.fleet-legend__item--waiting{--legend-color: var(--color-state-waiting)}.fleet-legend__item--working{--legend-color: var(--color-state-working)}.fleet-legend__item--stopped{--legend-color: var(--color-state-stopped)}.fleet-legend__dot{width:8px;height:8px;border-radius:var(--tp-radius-full);background:var(--legend-color);box-shadow:0 0 color-mix(in srgb,var(--legend-color) 35%,transparent);transition:box-shadow var(--tp-duration-fast)}.fleet-legend__count{font-family:var(--tp-font-mono);font-weight:600;font-variant-numeric:tabular-nums;color:var(--color-text)}.fleet-legend__item:hover:where(:not(:disabled)),.fleet-legend__item:focus-visible{background:color-mix(in srgb,var(--color-text) 6%,transparent);color:var(--color-text);outline:none}.fleet-legend__item:hover:where(:not(:disabled)) .fleet-legend__dot,.fleet-legend__item[aria-pressed=true] .fleet-legend__dot{box-shadow:0 0 0 3px color-mix(in srgb,var(--legend-color) 28%,transparent)}.fleet-legend__item[aria-pressed=true]{background:var(--color-text);color:var(--color-surface)}.fleet-legend__item[aria-pressed=true] .fleet-legend__count{color:inherit}.fleet-legend__item:focus-visible{box-shadow:0 0 0 2px var(--color-surface),0 0 0 4px var(--color-brand)}.fleet-legend__item:disabled{cursor:default;opacity:.45}.bus-grid .bus-card{transition:opacity var(--tp-duration-normal) var(--tp-ease),border-color var(--tp-duration-fast),transform var(--tp-duration-fast) var(--tp-ease)}.bus-grid[data-focus=running] .bus-card:not(.bus-card--running),.bus-grid[data-focus=waiting] .bus-card:not(.bus-card--waiting),.bus-grid[data-focus=working] .bus-card:not(.bus-card--working),.bus-grid[data-focus=stopped] .bus-card:not(.bus-card--stopped){opacity:.28}.dash-fleet__empty{margin:var(--tp-space-4) 0 0;text-align:center}.bus-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(164px,1fr));gap:var(--tp-space-2)}.bus-card{display:grid;gap:var(--tp-space-1);padding:var(--tp-space-2) var(--tp-space-2) var(--tp-space-3);border:var(--tp-border-thin) solid var(--color-border);border-radius:var(--tp-radius-md);background:var(--color-surface);color:var(--color-text);text-decoration:none;min-width:0;transition:border-color var(--tp-duration-fast),transform var(--tp-duration-fast) var(--tp-ease)}.bus-card:hover{border-color:var(--color-border-strong)}a.bus-card:hover{transform:translateY(-1px)}.bus-card .bus{width:100%;height:auto}.bus-card__text{display:grid;align-content:start;gap:1px;font-size:var(--tp-text-xs);min-width:0;padding:0 var(--tp-space-1)}.bus-card__row{display:flex;justify-content:space-between;align-items:baseline;gap:var(--tp-space-2)}.bus-card__row b{font-family:var(--tp-font-mono);font-size:var(--tp-text-sm)}.bus-card .tp-state{font-size:var(--tp-text-xs)}.bus-card__reason{color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.bus-card__facts{display:flex;justify-content:space-between;gap:var(--tp-space-2);margin-top:2px;font-variant-numeric:tabular-nums}.bus-card__tags{display:flex;flex-wrap:wrap;gap:4px;margin-top:var(--tp-space-1)}.bus-card--summary{grid-column:span 2;grid-template-columns:1fr 1fr;align-items:center;background:linear-gradient(135deg,color-mix(in srgb,var(--color-state-running) 10%,var(--color-surface)),var(--color-surface))}.bus-card--summary .bus{width:100%;height:auto}.bus-card__big{font-family:var(--tp-font-display);font-size:var(--tp-text-2xl);font-weight:700;line-height:1;letter-spacing:-.01em}@media(max-width:480px){.bus-card--summary{grid-column:1 / -1;grid-template-columns:minmax(0,1fr)}.bus-card--summary .bus-card__row{flex-wrap:wrap}}.bus-grid--panel{grid-template-columns:repeat(auto-fill,minmax(188px,1fr));gap:var(--tp-space-3)}.bus-grid--panel .bus-card{padding-bottom:var(--tp-space-3)}.fleet-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--tp-space-3)}.fleet-grid__pager{margin-top:var(--tp-space-2)}.fleet-grid[data-focus=running] .fleet-card:not(.fleet-card--running),.fleet-grid[data-focus=waiting] .fleet-card:not(.fleet-card--waiting),.fleet-grid[data-focus=working] .fleet-card:not(.fleet-card--working),.fleet-grid[data-focus=stopped] .fleet-card:not(.fleet-card--stopped){opacity:.28}.flip{--flip-duration: calc(var(--tp-duration-slow) * 2.2);position:relative;min-width:0;perspective:1600px}.flip__inner{position:relative;display:grid;height:100%;transform-style:preserve-3d;transition:transform var(--flip-duration) cubic-bezier(.45,.05,.15,1)}.flip.is-flipped .flip__inner{transform:rotateY(180deg)}.flip.is-moving,.flip.is-flipped,.flip:hover{z-index:2}.flip__face{grid-area:1 / 1;min-width:0;overflow:hidden;backface-visibility:hidden;-webkit-backface-visibility:hidden}.flip__face--back{transform:rotateY(180deg)}.flip__face>*:not(.flip__link){position:relative}.flip__link{position:absolute;top:0;right:0;bottom:0;left:0;z-index:1;border-radius:inherit}.flip__link:focus-visible{outline:2px solid var(--color-brand);outline-offset:-2px}.flip.is-moving .flip__face{box-shadow:0 32px 56px -28px #00000080}.flip:hover:not(.is-flipped) .flip__inner{transform:translateY(-2px)}.flip__btn{display:inline-grid;place-items:center;flex-shrink:0;width:28px;height:28px;min-height:0;padding:0;margin:-2px -4px 0 0;border:var(--tp-border-thin) solid var(--color-border);border-radius:var(--tp-radius-full);background:var(--color-surface);color:var(--color-text-secondary);cursor:pointer;position:relative;z-index:2;transition:color var(--tp-duration-fast),border-color var(--tp-duration-fast),background var(--tp-duration-fast),transform var(--tp-duration-fast) var(--tp-ease)}.flip__btn:hover{color:var(--color-brand);border-color:var(--color-brand);background:var(--color-brand-soft);transform:scale(1.06)}.flip__btn:active{transform:scale(.96)}.flip__btn:focus-visible{outline:2px solid var(--color-brand);outline-offset:2px}.flip__btn--corner{position:absolute;top:8px;right:8px;margin:0}.flip__face--back .flip__btn:hover{color:var(--color-text);border-color:var(--color-border-strong);background:var(--color-surface-sunken)}.flip__face--back{background:linear-gradient(180deg,color-mix(in srgb,var(--fleet-color) 10%,var(--color-surface)) 0,var(--color-surface) 46%)}.fleet-card{--fleet-color: var(--color-border-strong);border-radius:var(--tp-radius-lg);transition:opacity var(--tp-duration-normal) var(--tp-ease)}.fleet-card--running,.bus-card--running{--fleet-color: var(--color-state-running)}.fleet-card--waiting,.bus-card--waiting{--fleet-color: var(--color-state-waiting)}.fleet-card--working,.bus-card--working{--fleet-color: var(--color-state-working)}.fleet-card--stopped,.bus-card--stopped{--fleet-color: var(--color-state-stopped)}.fleet-card__face{display:flex;flex-direction:column;gap:var(--tp-space-2);padding:var(--tp-space-3) var(--tp-space-3) 0;border:var(--tp-border-thin) solid var(--color-card-border);border-radius:var(--tp-radius-lg);background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-card);transition:border-color var(--tp-duration-fast),box-shadow var(--tp-duration-normal) var(--tp-ease)}.fleet-card:hover .fleet-card__face{border-color:var(--color-border-strong)}.fleet-card.is-stale .fleet-card__face--front{border-color:var(--color-warning-border)}.fleet-card__head{display:flex;align-items:baseline;gap:var(--tp-space-2);min-width:0}.fleet-card__code{font-family:var(--tp-font-display);font-size:var(--tp-text-md);font-weight:700;letter-spacing:.02em;line-height:1}.fleet-card__plate{font-family:var(--tp-font-mono);font-size:var(--tp-text-xs);color:var(--color-text-muted)}.fleet-card__class{margin-top:-4px;font-size:var(--tp-text-2xs);letter-spacing:.02em;color:var(--color-text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fleet-tech{display:inline-grid;place-items:center;width:22px;height:22px;border-radius:var(--tp-radius-full);background:var(--color-surface-sunken);color:var(--color-text-secondary);flex-shrink:0}.fleet-card__head .fleet-tech{margin-left:auto;align-self:center}.fleet-tech--ebus{background:var(--color-success-soft);color:var(--color-success-text)}.fleet-tech-cell{display:inline-flex;align-items:center;gap:6px}.fleet-tech-cell .fleet-tech{width:20px;height:20px}.fleet-card__bus{margin:0 calc(-1 * var(--tp-space-1))}.fleet-card__bus .bus{width:100%;height:auto}.fleet-card__state{font-size:var(--tp-text-xs);justify-self:start}.fleet-card__facts{display:grid;grid-template-columns:1fr 1fr;gap:var(--tp-space-2);margin:0}.fleet-card__facts>div{display:grid;gap:2px;min-width:0}.fleet-card__facts dt{font-size:var(--tp-text-2xs);font-weight:var(--tp-weight-semibold);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted)}.fleet-card__facts dd{margin:0;font-size:var(--tp-text-sm);font-weight:var(--tp-weight-medium);font-variant-numeric:tabular-nums}.fleet-card__reading{display:flex;align-items:center;gap:6px;margin:auto calc(-1 * var(--tp-space-3)) 0;padding:7px var(--tp-space-3);border-top:var(--tp-border-thin) solid var(--color-border-subtle);background:var(--color-surface-sunken);font-size:var(--tp-text-xs);color:var(--color-text-secondary)}.fleet-card__reading--fresh{color:var(--color-success-text)}.fleet-card__reading--stale{color:var(--color-warning-text);background:var(--color-warning-soft);border-top-color:var(--color-warning-border);font-weight:var(--tp-weight-medium)}.fleet-card__cta{margin-left:auto;font-weight:var(--tp-weight-semibold);color:var(--color-brand);text-decoration:none;white-space:nowrap}.fleet-card__cta:hover{text-decoration:underline}.fleet-guide{display:flex;flex-wrap:wrap;gap:var(--tp-space-2) var(--tp-space-5);margin:0 0 var(--tp-space-3);padding:0;list-style:none;font-size:var(--tp-text-xs);color:var(--color-text-muted)}.fleet-guide li{display:inline-flex;align-items:center;gap:6px}.fleet-guide .fleet-tech{width:18px;height:18px}.fleet-guide__swatch{width:14px;height:10px;border-radius:2px;background:linear-gradient(90deg,var(--color-state-running) 0 25%,var(--color-state-waiting) 25% 50%,var(--color-state-working) 50% 75%,var(--color-state-stopped) 75%)}.fleet-reading{display:inline-flex;align-items:center;gap:5px;padding:2px 8px 2px 6px;border-radius:var(--tp-radius-full);font-size:var(--tp-text-xs);background:var(--color-surface-sunken);color:var(--color-text-secondary);white-space:nowrap}.fleet-reading--fresh{background:var(--color-success-soft);color:var(--color-success-text)}.fleet-reading--stale{background:var(--color-warning-soft);color:var(--color-warning-text)}.fleet-tip{vertical-align:middle;margin-left:2px}.fleet-tip .tp-tip__trigger{width:15px;height:15px}.tp-kpi__link{color:var(--color-brand);font-weight:var(--tp-weight-semibold);text-decoration:none}.tp-kpi__link:hover{text-decoration:underline}.recent-list{margin:0;padding:0;list-style:none;display:grid}.recent-list li{display:grid;gap:4px;padding:var(--tp-space-2) 0;border-bottom:var(--tp-border-thin) solid var(--color-border-subtle);font-size:var(--tp-text-sm)}.recent-list li:last-child{border-bottom:none}.recent-list__main{display:flex;gap:var(--tp-space-2);align-items:baseline;min-width:0}.recent-list__main b{font-family:var(--tp-font-mono);flex:none}.recent-list__main span{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.recent-list__meta{display:flex;justify-content:space-between;align-items:center;gap:var(--tp-space-2)}.skeleton{position:relative;overflow:hidden;background:var(--color-surface-sunken);border-color:var(--color-border-subtle)}.skeleton:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;background:linear-gradient(90deg,transparent,var(--color-surface-hover),transparent);transform:translate(-100%);animation:skeleton 1.4s ease-in-out infinite}@keyframes skeleton{to{transform:translate(100%)}}.brand-loader{display:inline-grid;justify-items:center;gap:var(--tp-space-3);padding:var(--tp-space-6) var(--tp-space-4);color:var(--color-text)}.brand-loader:not(.brand-loader--fullscreen){display:grid;width:100%;min-height:160px;align-content:center}.brand-loader--fullscreen{position:relative;display:grid;min-height:100vh;align-content:center;gap:var(--tp-space-4);background:var(--color-bg);isolation:isolate}.brand-loader--fullscreen:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:radial-gradient(420px 320px at 50% 42%,color-mix(in srgb,#f87509 9%,transparent),transparent 70%);pointer-events:none}.brand-loader__svg{overflow:visible}.brand-loader__fill{opacity:.14}.brand-loader__trace{opacity:.45}.brand-loader__comet{stroke-dasharray:18 82;stroke-dashoffset:100;animation:brand-comet 1.8s cubic-bezier(.45,0,.25,1) infinite}.brand-loader__ball{transform-box:fill-box;transform-origin:center;animation:brand-breathe 1.8s ease-in-out infinite}.brand-loader__halo{transform-box:fill-box;transform-origin:center;opacity:0;animation:brand-halo 1.8s ease-out infinite}@keyframes brand-comet{to{stroke-dashoffset:0}}@keyframes brand-breathe{0%,to{transform:scale(1)}45%{transform:scale(.86)}}@keyframes brand-halo{0%{transform:scale(1);opacity:0}35%{opacity:.75}to{transform:scale(2.6);opacity:0}}.brand-loader__wordmark{display:grid;justify-items:center;gap:2px;font-family:var(--tp-font-display);line-height:1}.brand-loader__word{font-size:var(--tp-text-xl);font-weight:700;letter-spacing:.06em}.brand-loader__tag{font-family:var(--tp-font-sans);font-size:var(--tp-text-xs);color:var(--color-text-muted)}.brand-loader__label{font-size:var(--tp-text-sm);color:var(--color-text-muted)}.brand-loader__label:after{content:"";display:inline-block;width:1.2em;text-align:left;animation:brand-dots 1.8s steps(4,end) infinite}@keyframes brand-dots{0%{content:""}25%{content:"."}50%{content:".."}75%{content:"..."}}@media(prefers-reduced-motion:reduce){.brand-loader__comet,.brand-loader__ball,.brand-loader__halo,.brand-loader__label:after{animation:none}.brand-loader__comet{stroke-dashoffset:0}.brand-loader__label:after{content:"…"}}@media(prefers-reduced-motion:reduce){.skeleton:after{animation:none}}@media(max-width:1280px){.dash-row--bottom{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-row--bottom>.tp-card:last-child{grid-column:1 / -1}}@media(max-width:1023px){.dash-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.dash-row--fleet,.dash-row--charts{grid-template-columns:minmax(0,1fr)}}@media(max-width:639px){.dash-kpis,.dash-row--bottom,.dash-kpi__body{grid-template-columns:minmax(0,1fr)}.dash-kpi__body .spark{display:none}.dash-kpi__value{font-size:30px}.bus-grid{grid-template-columns:minmax(0,1fr)}.fleet-legend{order:1;flex:1 1 100%;margin-left:0;flex-wrap:wrap;overflow:visible;border-radius:var(--tp-radius-lg)}.dash-fleet__head>.tp-btn{order:2}.status-summary__legend{grid-template-columns:minmax(0,1fr)}}.login{min-height:100vh;min-height:100dvh;display:grid;grid-template-columns:minmax(0,1.15fr) minmax(0,1fr);background:var(--color-bg)}.login__art{position:relative;display:flex;flex-direction:column;justify-content:space-between;gap:var(--tp-space-8);padding:clamp(var(--tp-space-8),5vw,var(--tp-space-16));overflow:hidden;color:var(--tp-graphite-100);background:radial-gradient(900px 620px at 12% 8%,color-mix(in srgb,var(--tp-orange-500) 30%,transparent),transparent 60%),radial-gradient(700px 520px at 92% 92%,color-mix(in srgb,var(--tp-blue-500) 16%,transparent),transparent 60%),linear-gradient(170deg,var(--tp-graphite-900),var(--tp-graphite-950) 65%);--color-surface: var(--tp-graphite-900);--color-border-strong: var(--tp-graphite-600);--color-border: var(--tp-graphite-700);--color-text: var(--tp-graphite-100)}.login__art:before{content:"";position:absolute;inset:auto 0 0 0;height:38%;background:repeating-linear-gradient(90deg,transparent 0 56px,rgb(255 255 255 / .035) 56px 57px),repeating-linear-gradient(180deg,transparent 0 40px,rgb(255 255 255 / .025) 40px 41px),linear-gradient(180deg,transparent,rgb(0 0 0 / .35));pointer-events:none}.login__art:after{content:"";position:absolute;left:0;right:0;bottom:38%;height:1px;background:linear-gradient(90deg,color-mix(in srgb,var(--tp-orange-500) 55%,transparent),transparent 70%);pointer-events:none}.login__watermark{position:absolute;top:-40px;right:-60px;height:auto;opacity:.05;color:#fff;pointer-events:none}.login__art-copy{position:relative;max-width:44ch;z-index:1}.login__kicker{display:block;font-size:var(--tp-text-xs);font-weight:var(--tp-weight-semibold);letter-spacing:.14em;text-transform:uppercase;color:var(--tp-orange-400);margin-bottom:var(--tp-space-4)}.login__headline{margin:0 0 var(--tp-space-4);font-family:var(--tp-font-display);font-size:clamp(36px,4.2vw,56px);font-weight:600;line-height:1.02;letter-spacing:.005em;color:#fff;text-wrap:balance}.login__art-copy p{margin:0;max-width:40ch;font-size:var(--tp-text-md);line-height:var(--tp-leading-relaxed);color:var(--tp-graphite-300)}.login__road{position:relative;z-index:1;display:flex;justify-content:center;align-items:flex-end;min-height:0}.login__bus{width:100%;max-width:980px;height:auto;max-height:min(52vh,560px);overflow:visible}.busl{display:block;overflow:visible}.busl__sign{font-family:var(--tp-font-mono);font-size:14px;font-weight:700;letter-spacing:2px;fill:#f6f8ff}.busl__plate{font-family:var(--tp-font-mono);font-size:10px;font-weight:700;letter-spacing:1px;fill:#1d2024}.busl__sign--scroll{animation:busl-sign 14s linear 2.8s infinite}@keyframes busl-sign{0%{transform:translate(170px)}to{transform:translate(-640px)}}.busl__marker{animation:busl-marker 3.6s ease-in-out infinite;animation-delay:calc(var(--i, 0) * -.7s)}@keyframes busl-marker{0%,to{opacity:.55}50%{opacity:1}}.busl__hero{transform-box:fill-box;transform-origin:40% 100%;animation:busl-approach 2.7s cubic-bezier(.12,.78,.2,1) both}@keyframes busl-approach{0%{opacity:0;transform:translate(210px,-118px) scale(.4)}12%{opacity:1}to{opacity:1;transform:none}}.busl__body{transform-box:fill-box;transform-origin:50% 100%;animation:busl-ride 2.9s ease-out both}@keyframes busl-ride{0%{transform:translateY(0)}12%{transform:translateY(-2.2px)}24%{transform:translateY(1.6px)}36%{transform:translateY(-1.8px)}48%{transform:translateY(1.2px)}60%{transform:translateY(-1.2px)}72%{transform:translateY(.8px)}84%{transform:translateY(0)}90%{transform:translateY(3px) rotate(.9deg)}96%{transform:translateY(-.8px) rotate(-.25deg)}to{transform:translateY(0) rotate(0)}}.busl__spin{transform-box:fill-box;transform-origin:50% 50%;animation:busl-spin 2.9s cubic-bezier(.1,.6,.15,1) both}@keyframes busl-spin{0%{transform:rotate(0)}to{transform:rotate(-1260deg)}}.busl__tread{animation:busl-tread 2.9s cubic-bezier(.1,.6,.15,1) both}@keyframes busl-tread{0%{transform:translateY(0)}to{transform:translateY(224px)}}.busl__parked{animation:busl-fade .9s ease-out both;animation-delay:calc(var(--i, 0) * .12s)}@keyframes busl-fade{0%{opacity:0}to{opacity:1}}.busl__lo{opacity:0;animation:busl-low 1.2s ease-out .6s both}@keyframes busl-low{to{opacity:1}}.busl__hi{opacity:0;animation:busl-high 11s linear 3s infinite}@keyframes busl-high{0%{opacity:0}0.5%{opacity:1}1.6%{opacity:1}2.9%{opacity:.04}3.6%{opacity:.04}4.1%{opacity:1}6.4%{opacity:1}8.2%{opacity:0}to{opacity:0}}.busl__rays{transform-box:fill-box;transform-origin:50% 50%}.busl__wet{opacity:0;animation:busl-wet 11s linear 3s infinite,busl-low 1.2s ease-out .6s both}@keyframes busl-wet{0%{opacity:.35}0.5%{opacity:1}1.6%{opacity:1}2.9%{opacity:.35}4.1%{opacity:1}6.4%{opacity:1}8.2%{opacity:.35}to{opacity:.35}}@media(prefers-reduced-motion:reduce){.busl__hero,.busl__body,.busl__spin,.busl__tread,.busl__parked,.busl__marker,.busl__sign--scroll{animation:none}.busl__sign--scroll{transform:translate(-120px)}.busl__lo,.busl__wet{animation:none;opacity:.8}.busl__hi{animation:none;opacity:.18}}.login__form-col{display:flex;flex-direction:column;justify-content:center;align-items:center;gap:var(--tp-space-6);padding:var(--tp-space-8) clamp(var(--tp-space-5),6vw,var(--tp-space-16));background:radial-gradient(700px 420px at 50% 0%,color-mix(in srgb,var(--tp-orange-500) 5%,transparent),transparent 70%),var(--color-bg)}.login__card{display:grid;gap:var(--tp-space-5);width:100%;max-width:440px;padding:clamp(var(--tp-space-6),4vw,var(--tp-space-10)) clamp(var(--tp-space-5),4vw,var(--tp-space-8));background:var(--color-surface);border:var(--tp-border-thin) solid var(--color-card-border);border-radius:var(--tp-radius-xl);box-shadow:var(--tp-shadow-md)}.login__intro{display:grid;justify-items:center;gap:var(--tp-space-1);text-align:center;margin-bottom:var(--tp-space-2)}.login__intro p{margin:0}.login__coin{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;margin-bottom:var(--tp-space-3);border-radius:var(--tp-radius-full);background:linear-gradient(160deg,var(--tp-graphite-800),var(--tp-graphite-950));color:#fff;box-shadow:0 0 0 6px color-mix(in srgb,var(--tp-orange-500) 12%,transparent),0 8px 20px #0000002e}.login__coin svg{height:auto}.login__title{font-family:var(--tp-font-display);font-size:clamp(28px,2.6vw,32px);font-weight:600;line-height:1.05;margin:var(--tp-space-1) 0 0;text-wrap:balance}.login__control{position:relative}.login__control input.tp-input.tp-input--touch{width:100%;padding-left:42px}.login__control--password input.tp-input.tp-input--touch{padding-right:48px}.login__control-icon{position:absolute;top:50%;left:14px;transform:translateY(-50%);color:var(--color-text-muted);pointer-events:none}.login__control:focus-within .login__control-icon{color:var(--color-brand)}.login__eye{position:absolute;top:50%;right:6px;transform:translateY(-50%);width:36px;height:36px;min-height:0;padding:0;display:inline-flex;align-items:center;justify-content:center;border:none;border-radius:var(--tp-radius-md);background:transparent;color:var(--color-text-muted);cursor:pointer}.login__eye:hover{background:var(--color-surface-hover);color:var(--color-text)}.login__notice{flex-direction:row;align-items:center;gap:var(--tp-space-2)}.login__submit{width:100%;gap:var(--tp-space-2);margin-top:var(--tp-space-1)}.login__forgot{justify-self:center;font-size:var(--tp-text-sm);font-weight:var(--tp-weight-semibold);color:var(--color-brand-text);text-decoration:none}.login__forgot:hover{text-decoration:underline}.login__restricted{display:grid;justify-items:center;gap:4px;padding-top:var(--tp-space-5);border-top:var(--tp-border-thin) solid var(--color-border);text-align:center}.login__restricted small{font-size:var(--tp-text-xs);color:var(--color-text-muted)}.login__help{display:flex;align-items:center;gap:8px;margin:0;font-size:var(--tp-text-sm);color:var(--color-text)}.login__help svg{color:var(--color-brand)}.login__foot{font-size:var(--tp-text-xs);text-align:center;margin:0}.login__brand{display:flex;justify-content:center}.login__brand .tp-logo{color:var(--tp-graphite-700)}.login__brand .tp-logo__tag{color:var(--color-text-muted)}:root[data-theme=dark] .login__brand .tp-logo,:root:not([data-theme=light]) .login__brand .tp-logo{color:var(--color-text)}@media(prefers-color-scheme:light){:root:not([data-theme=dark]) .login__brand .tp-logo{color:var(--tp-graphite-700)}}.login__form{display:grid;gap:var(--tp-space-5)}.login__form .login__intro{justify-items:start;text-align:left}@media(max-width:900px){.login{grid-template-columns:minmax(0,1fr);grid-template-rows:auto 1fr}.login__art{flex-direction:row;align-items:flex-end;gap:var(--tp-space-4);padding:var(--tp-space-5) var(--tp-space-5) 0;min-height:220px}.login__art:before{height:30%}.login__art:after{bottom:30%}.login__art-copy{align-self:center}.login__art-copy p{display:none}.login__headline{font-size:24px;margin-bottom:0}.login__kicker{margin-bottom:var(--tp-space-2)}.login__watermark{display:none}.login__road{flex:none;width:56%}.login__bus{width:100%}.login__form-col{padding:var(--tp-space-6) var(--tp-space-4);justify-content:flex-start}}@media(max-width:560px){.login__art{flex-direction:column;align-items:stretch;min-height:0;padding-bottom:0}.login__road{width:100%;max-width:300px;margin:0 auto}}.tp-logo--compact{justify-content:center}.logo-specimens{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--tp-space-3)}.logo-specimen{display:grid;place-items:center;padding:var(--tp-space-6);border-radius:var(--tp-radius-lg);border:var(--tp-border-thin) solid var(--color-border)}.logo-specimen--light{background:#fff}.logo-specimen--light .tp-logo{color:var(--tp-graphite-700)}.logo-specimen--light .tp-logo__tag{color:var(--tp-graphite-500)}.logo-specimen--dark{background:var(--tp-graphite-800)}.logo-specimen--dark .tp-logo{color:#fff}.logo-specimen--dark .tp-logo__tag{color:var(--tp-graphite-400)}.logo-specimen--brand{background:var(--tp-orange-500);color:var(--tp-graphite-950)}.bus-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:var(--tp-space-4)}.bus-gallery__item{display:grid;gap:4px;justify-items:center;padding:var(--tp-space-3);border-radius:var(--tp-radius-md);background:var(--color-surface);border:var(--tp-border-thin) solid var(--color-border-subtle)}.bus-gallery__item code{font-size:var(--tp-text-2xs);color:var(--color-text-muted)}.ramp__step.is-anchor div{outline:2px solid var(--color-text);outline-offset:2px}.ramp__step.is-anchor code{color:var(--color-text);font-weight:600}.countdown{font-family:var(--tp-font-mono);font-variant-numeric:tabular-nums;font-weight:600;color:var(--color-success-text)}.countdown--warn{color:var(--color-warning-text)}.countdown--over{color:var(--color-danger-text)}.header__btn--flag{width:36px;padding:0;border-radius:50%}.header__btn--flag .flag{display:block;border-radius:50%;box-shadow:0 0 0 1.5px var(--color-border-strong),0 1px 3px #00000040;transition:transform var(--tp-duration-fast) var(--tp-ease),box-shadow var(--tp-duration-fast) var(--tp-ease)}.header__btn--flag:hover .flag{transform:scale(1.08)}.header__btn--theme{width:36px;padding:0;border-radius:50%}.header__theme-icon{display:inline-flex;animation:theme-icon-in .35s var(--tp-ease) both}@keyframes theme-icon-in{0%{transform:rotate(-90deg) scale(.6);opacity:0}to{transform:rotate(0) scale(1);opacity:1}}@media(prefers-reduced-motion:reduce){.header__theme-icon{animation:none}}.account{display:grid;gap:var(--tp-space-4);max-width:820px;margin:0 auto}.account__card{display:grid;gap:var(--tp-space-5);min-width:0}.account__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--tp-space-3)}.account__title{display:flex;align-items:center;gap:var(--tp-space-2);margin:0;font-size:var(--tp-text-lg);font-weight:var(--tp-weight-semibold)}.account__title-icon{display:inline-flex;color:var(--color-brand)}.account__hint{margin:2px 0 0;font-size:var(--tp-text-sm);color:var(--color-text-muted)}.account__photo{display:flex;align-items:center;gap:var(--tp-space-5);padding-bottom:var(--tp-space-5);border-bottom:var(--tp-border-thin) solid var(--color-border-subtle)}.account__avatar{position:relative;flex:none;width:84px;height:84px;min-height:0;padding:0;border:none;border-radius:50%;background:var(--color-brand);color:var(--color-text-on-brand);display:grid;place-items:center;font-family:var(--tp-font-display);font-size:28px;font-weight:700;letter-spacing:.04em;box-shadow:0 0 0 4px var(--color-surface),0 0 0 5px var(--color-card-border),var(--tp-shadow-md);cursor:pointer}.account__avatar img{width:100%;height:100%;border-radius:50%;object-fit:cover}.account__avatar-badge{position:absolute;right:-2px;bottom:-2px;width:28px;height:28px;display:grid;place-items:center;border-radius:50%;background:var(--tp-graphite-800);color:#fff;border:2px solid var(--color-surface)}.account__photo-text{display:grid;gap:2px}.account__photo-text b{font-size:var(--tp-text-sm)}.account__photo-text span{font-size:var(--tp-text-xs);color:var(--color-text-muted)}.account__photo-remove{justify-self:start;margin-top:4px}.account__fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--tp-space-4) var(--tp-space-5)}.account__fields--3{grid-template-columns:repeat(3,minmax(0,1fr))}.account__label{display:inline-flex;align-items:center;gap:6px}.account__label svg{color:var(--color-text-muted)}.account__value{font-size:var(--tp-text-sm);padding:8px 0}.account__fields .tp-input[readonly]{background:var(--color-surface-sunken);color:var(--color-text-muted)}.account__status{display:inline-flex;align-items:center;gap:6px}.account__status i{width:7px;height:7px;border-radius:50%;background:var(--tp-graphite-400)}.account__status.is-active{background:var(--color-success-soft);border-color:var(--color-success-soft-border, transparent);color:var(--color-success-text)}.account__status.is-active i{background:var(--color-success)}.account__foot{display:flex;justify-content:flex-end;align-items:center;gap:var(--tp-space-3);padding-top:var(--tp-space-3);border-top:var(--tp-border-thin) solid var(--color-border-subtle)}.account__saved{font-size:var(--tp-text-xs);color:var(--color-success-text)}.account__empty{margin:0}.account__tiles{display:grid;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));gap:var(--tp-space-3)}.account__tile{display:grid;gap:2px;padding:var(--tp-space-4);border-radius:var(--tp-radius-lg);background:var(--color-surface-sunken);border:var(--tp-border-thin) solid var(--color-border-subtle)}.account__tile b{font-family:var(--tp-font-display);font-size:26px;line-height:1.1;font-weight:700}.account__tile b.is-small{font-family:inherit;font-size:var(--tp-text-sm);font-weight:var(--tp-weight-semibold);padding:6px 0}.account__tile span{font-size:var(--tp-text-sm);color:var(--color-text)}.account__tile small{font-size:11px;color:var(--color-text-muted)}.pref{display:grid;grid-template-columns:28px minmax(0,1fr) auto;align-items:center;gap:var(--tp-space-3);padding:var(--tp-space-3) 0;border-top:var(--tp-border-thin) solid var(--color-border-subtle)}.pref:first-of-type{border-top:none}.pref__icon{display:inline-flex;color:var(--color-text-muted)}.pref__text{display:grid;gap:2px;min-width:0}.pref__text b{font-size:var(--tp-text-sm);font-weight:var(--tp-weight-semibold)}.pref__text span{font-size:var(--tp-text-xs);color:var(--color-text-muted)}.pref__positions{display:grid;grid-template-columns:repeat(2,108px);gap:var(--tp-space-2)}.pos-pick{display:grid;gap:6px;padding:8px;min-height:0;border:1px solid var(--color-border);border-radius:var(--tp-radius-md);background:var(--color-surface);color:var(--color-text-muted);font:inherit;font-size:11px;text-align:left;cursor:pointer;transition:border-color var(--tp-duration-fast) var(--tp-ease),background var(--tp-duration-fast) var(--tp-ease)}.pos-pick:hover{border-color:var(--color-border-strong);color:var(--color-text)}.pos-pick.is-active{border-color:var(--color-brand);background:var(--color-brand-soft);color:var(--color-brand-text)}.pos-pick__screen{position:relative;display:block;height:36px;border-radius:6px;background:var(--color-surface-sunken);border:1px solid var(--color-border-subtle)}.pos-pick__screen i{position:absolute;width:6px;height:6px;border-radius:50%;background:currentColor}.pos-pick--top-left .pos-pick__screen i{top:5px;left:6px}.pos-pick--top-right .pos-pick__screen i{top:5px;right:6px}.pos-pick--bottom-left .pos-pick__screen i{bottom:5px;left:6px}.pos-pick--bottom-right .pos-pick__screen i{bottom:5px;right:6px}.pos-pick.is-active .pos-pick__screen{background:color-mix(in srgb,var(--color-brand) 14%,var(--color-surface));border-color:color-mix(in srgb,var(--color-brand) 30%,transparent)}.activity__day{display:grid;gap:var(--tp-space-2)}.activity__day-title{display:flex;align-items:center;gap:var(--tp-space-3);font-size:11px;font-weight:var(--tp-weight-semibold);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted)}.activity__day-title i{flex:1;height:1px;background:var(--color-border-subtle)}.activity__list{list-style:none;margin:0;padding:0;display:grid;gap:var(--tp-space-2)}.activity{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:var(--tp-space-3);padding:var(--tp-space-3) var(--tp-space-4);border:var(--tp-border-thin) solid var(--color-border-subtle);border-radius:var(--tp-radius-lg);background:var(--color-surface-sunken)}.activity__icon{width:32px;height:32px;display:grid;place-items:center;border-radius:var(--tp-radius-md);background:var(--color-surface);color:var(--color-text-muted);border:1px solid var(--color-border-subtle)}.activity--security .activity__icon{color:var(--color-info)}.activity--profile .activity__icon{color:var(--color-brand)}.activity--preferences .activity__icon{color:var(--color-success)}.activity__text{display:grid;gap:2px;min-width:0}.activity__text b{font-size:var(--tp-text-sm);font-weight:var(--tp-weight-semibold)}.activity__text span{font-size:var(--tp-text-xs);color:var(--color-text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.activity__meta{display:grid;justify-items:end;gap:4px}.activity__time{font-size:11px;color:var(--color-text-muted);white-space:nowrap}.activity__cat--security{background:var(--color-info-soft);color:var(--color-info-text, var(--color-info));border-color:transparent}.activity__cat--profile{background:var(--color-brand-soft);color:var(--color-brand-text);border-color:transparent}.activity__cat--preferences{background:var(--color-success-soft);color:var(--color-success-text);border-color:transparent}@media(max-width:720px){.account__fields,.account__fields--3{grid-template-columns:minmax(0,1fr)}.pref--block{grid-template-columns:28px minmax(0,1fr)}.pref--block .pref__positions{grid-column:2;grid-template-columns:repeat(2,minmax(0,1fr))}.activity{grid-template-columns:32px minmax(0,1fr)}.activity__meta{grid-column:2;justify-items:start;grid-auto-flow:column;align-items:center;gap:var(--tp-space-2)}}.shortcuts__section{display:grid;gap:var(--tp-space-3)}.shortcuts__section+.shortcuts__section{padding-top:var(--tp-space-5);border-top:var(--tp-border-thin) solid var(--color-border-subtle)}.shortcuts__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--tp-space-3)}.shortcuts__head h3{margin:0;font-size:11px;font-weight:var(--tp-weight-semibold);letter-spacing:.1em;text-transform:uppercase}.shortcuts__head p{margin:2px 0 0;font-size:var(--tp-text-xs);color:var(--color-text-muted)}.shortcuts__empty{margin:0;padding:var(--tp-space-4);border-radius:var(--tp-radius-md);background:var(--color-surface-sunken);border:1px dashed var(--color-border);font-size:var(--tp-text-sm);color:var(--color-text-muted)}.shortcuts__grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(104px,1fr));gap:var(--tp-space-3)}.shortcut-tile{position:relative;display:grid;justify-items:center;gap:6px}.shortcut-tile.is-selected{cursor:grab}.shortcut-tile.is-selected:active{cursor:grabbing}.shortcut-tile.is-disabled{opacity:.45}.shortcut-tile__pick{display:grid;justify-items:center;gap:6px;width:100%;min-height:0;padding:0;border:none;background:transparent;color:inherit;font:inherit;cursor:pointer}.shortcut-tile__pick:disabled{cursor:not-allowed}.shortcut-tile__icon{width:52px;height:52px;display:grid;place-items:center;border-radius:var(--tp-radius-lg);background:var(--color-surface);border:var(--tp-border-thin) solid var(--color-card-border);box-shadow:var(--shadow-card);color:var(--color-brand);transition:transform var(--tp-duration-fast) var(--tp-ease),border-color var(--tp-duration-fast) var(--tp-ease)}.shortcut-tile__pick:not(:disabled):hover .shortcut-tile__icon,.shortcut-tile.is-selected:hover .shortcut-tile__icon{transform:translateY(-1px);border-color:var(--color-brand)}.shortcut-tile__label{font-size:var(--tp-text-xs);color:var(--color-text);text-align:center;line-height:1.2}.shortcut-tile__action{position:absolute;top:-6px;right:calc(50% - 34px);width:20px;height:20px;min-height:0;padding:0;display:grid;place-items:center;border:2px solid var(--color-surface);border-radius:50%;color:#fff;cursor:pointer}.shortcut-tile__action--add{background:var(--color-brand);pointer-events:none}.shortcut-tile__action--remove{background:var(--color-danger-solid)}.shortcut-tile__grip{position:absolute;top:4px;left:calc(50% - 24px);color:var(--color-text-muted);opacity:.7}.shortcut-tile__order{display:flex;gap:2px}.shortcut-tile__order button{width:22px;height:18px;min-height:0;padding:0;border:1px solid var(--color-border);border-radius:4px;background:var(--color-surface);color:var(--color-text-muted);font-size:12px;line-height:1;cursor:pointer}.shortcut-tile__order button:disabled{opacity:.35;cursor:default}.shortcut-tile__order button:not(:disabled):hover{color:var(--color-text);border-color:var(--color-border-strong)}@media(max-width:640px){.profile__identity,.profile__readonly{grid-template-columns:minmax(0,1fr)}}.tp-grid-2{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--tp-space-3)}@media(max-width:480px){.tp-grid-2{grid-template-columns:minmax(0,1fr)}}.field-card__dispatch{cursor:pointer;border-style:solid}.field-card__dispatch.is-empty{border-style:dashed;color:var(--color-text-muted)}.field-card__dispatch:hover{background:var(--color-surface-hover)}.field-materials{display:grid;gap:var(--tp-space-2)}.field-materials__row{display:grid;grid-template-columns:minmax(0,1fr) 84px auto auto;gap:var(--tp-space-2);align-items:center}.field-materials__row .tp-select{min-width:0}.catalog-versions{display:grid;grid-template-columns:200px 200px minmax(0,1fr);gap:var(--tp-space-3);align-items:stretch}.catalog-versions__action{display:flex;align-items:center;gap:var(--tp-space-4);padding:var(--tp-space-3) var(--tp-space-4);border:var(--tp-border-thin) solid var(--color-border);border-radius:var(--tp-radius-lg);background:var(--color-surface)}.catalog-versions__action p{margin:0;flex:1;font-size:var(--tp-text-sm)}@media(max-width:900px){.catalog-versions{grid-template-columns:repeat(2,minmax(0,1fr))}.catalog-versions__action{grid-column:1 / -1;flex-wrap:wrap}}.login--single{grid-template-columns:minmax(0,1fr)}.login--single .login__form-col{width:100%}.password__ok{color:var(--color-success)}.reset-link{display:grid;gap:var(--tp-space-2);padding:var(--tp-space-3);border:var(--tp-border-thin) dashed var(--color-border-strong);border-radius:var(--tp-radius-lg)}.reset-link__head{display:flex;align-items:center;justify-content:space-between;gap:var(--tp-space-2)}.reset-link__head .tp-label{display:inline-flex;align-items:center;gap:6px}.reset-link__url{display:flex;align-items:center;gap:var(--tp-space-2);min-width:0}.reset-link__url code{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;font-family:var(--tp-font-mono);font-size:var(--tp-text-xs);padding:6px 8px;background:var(--color-surface-sunken);border-radius:var(--tp-radius-md)}.plan--inactive{opacity:.7}.plan__title{display:grid;gap:2px;min-width:0}.plan__title h3{margin:0}.plan-pkg{border:var(--tp-border-thin) solid var(--color-border);border-radius:var(--tp-radius-lg);overflow:hidden}.plan-pkg+.plan-pkg{margin-top:var(--tp-space-2)}.plan-pkg__head{display:flex;align-items:center;gap:var(--tp-space-3);width:100%;min-height:0;padding:var(--tp-space-3) var(--tp-space-4);border:none;background:var(--color-surface-sunken);color:var(--color-text);font:inherit;text-align:left;cursor:pointer}.plan-pkg__head:hover{background:var(--color-surface-hover)}.plan-pkg__head b{font-family:var(--tp-font-mono)}.plan-pkg__km{margin-left:auto;font-variant-numeric:tabular-nums;font-weight:var(--tp-weight-semibold);white-space:nowrap}.plan-pkg__km small{color:var(--color-text-muted);font-weight:var(--tp-weight-normal)}.plan-pkg__meta{font-size:var(--tp-text-xs);color:var(--color-text-muted);white-space:nowrap}.plan-pkg__body{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(0,1fr);gap:var(--tp-space-4);padding:var(--tp-space-4)}.plan-pkg__col{display:grid;gap:var(--tp-space-2);align-content:start;min-width:0}.plan-pkg__col-head{display:flex;align-items:center;justify-content:space-between;gap:var(--tp-space-2)}.plan-pkg__col-head h4{display:inline-flex;align-items:center;gap:6px;margin:0;font-size:var(--tp-text-xs);font-weight:var(--tp-weight-semibold);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted)}.tp-table--compact td,.tp-table--compact th{padding-top:6px;padding-bottom:6px}.plan-tasks,.plan-kit{width:100%;table-layout:fixed}.plan-tasks td,.plan-kit td{white-space:normal;overflow-wrap:anywhere}.plan-tasks th:nth-child(1){width:44px}.plan-tasks th:nth-child(2){width:96px}.plan-tasks th:nth-child(4){width:104px}.plan-tasks th:nth-child(5){width:44px}.plan-kit th:last-child{width:64px}.field-materials__row--kit{grid-template-columns:minmax(0,1fr) 84px auto}.metrics-history{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--tp-space-4)}.metrics-history__item{min-width:0}@media(max-width:1100px){.metrics-history{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:900px){.plan-pkg__body{grid-template-columns:minmax(0,1fr)}.plan-pkg__meta{display:none}}@media(max-width:640px){.metrics-history{grid-template-columns:minmax(0,1fr)}.plan-pkg__km{display:none}}.fcode{display:grid;gap:var(--tp-space-3)}.fcode__grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--tp-space-3)}.fcode__grid .tp-field:first-child{grid-column:1 / -1}.fcode__result{display:flex;align-items:center;gap:var(--tp-space-3);flex-wrap:wrap}.fcode__code,.fcode__inline{font-family:var(--tp-font-mono);font-size:var(--tp-text-sm);font-weight:var(--tp-weight-semibold);letter-spacing:.04em;padding:2px 8px;border-radius:var(--tp-radius-md);background:var(--color-brand-soft);color:var(--color-brand-text);border:1px solid var(--color-brand-soft-border);white-space:nowrap}.fcode__inline{font-size:var(--tp-text-xs);padding:1px 6px}.fcode__summary{margin:0;display:flex;align-items:center;gap:var(--tp-space-2);flex-wrap:wrap}.fcode-rules__grid{display:grid;grid-template-columns:minmax(0,1.3fr) minmax(0,1fr);gap:var(--tp-space-4);align-items:start}.fcode-ref{display:grid;gap:var(--tp-space-2)}.fcode-ref details{border:var(--tp-border-thin) solid var(--color-border);border-radius:var(--tp-radius-lg);padding:0 var(--tp-space-3)}.fcode-ref summary{cursor:pointer;padding:var(--tp-space-2) 0;font-weight:var(--tp-weight-semibold);font-size:var(--tp-text-sm)}.fcode-ref .tp-table{margin-bottom:var(--tp-space-2)}@media(max-width:1000px){.fcode-rules__grid{grid-template-columns:minmax(0,1fr)}}@media(max-width:520px){.fcode__grid{grid-template-columns:minmax(0,1fr)}}.tp-combo{position:relative;min-width:0}.tp-combo__field{position:relative;display:flex;align-items:center}.tp-combo__field>svg:first-child{position:absolute;left:10px;pointer-events:none;color:var(--color-text-muted)}.tp-combo .tp-combo__field .tp-input{padding-left:30px;padding-right:30px;width:100%;text-overflow:ellipsis}.tp-combo__chevron{position:absolute;right:10px;pointer-events:none;color:var(--color-text-muted)}.tp-combo__clear{position:absolute;right:6px;display:grid;place-items:center;width:22px;height:22px;border:0;border-radius:var(--tp-radius-full);background:transparent;color:var(--color-text-muted);cursor:pointer}.tp-combo__clear:hover{background:var(--color-surface-sunken);color:var(--color-text)}.tp-combo.is-disabled .tp-combo__field{opacity:.6}.tp-combo__list{position:absolute;z-index:var(--tp-z-dropdown);top:calc(100% + 4px);left:0;right:0;margin:0;padding:4px;list-style:none;max-height:320px;overflow-y:auto;background:var(--color-surface);border:var(--tp-border-thin) solid var(--color-border);border-radius:var(--tp-radius-md);box-shadow:var(--tp-shadow-overlay)}.tp-combo__item{display:grid;gap:1px;padding:7px 10px;border-radius:var(--tp-radius-sm);cursor:pointer}.tp-combo__item.is-active{background:var(--color-surface-sunken)}.tp-combo__item.is-selected .tp-combo__label{color:var(--color-brand);font-weight:var(--tp-weight-semibold)}.tp-combo__label{font-size:var(--tp-text-sm);line-height:1.25}.tp-combo__hint{font-size:var(--tp-text-2xs);color:var(--color-text-muted);font-family:var(--tp-font-mono)}.tp-combo__empty,.tp-combo__more{padding:8px 10px;font-size:var(--tp-text-xs);color:var(--color-text-muted)}.tp-combo__more{border-top:var(--tp-border-thin) solid var(--color-border-subtle)}.tp-mono{font-family:var(--tp-font-mono);font-size:.95em}.mat-abc{display:inline-grid;place-items:center;margin-left:6px;width:16px;height:16px;border-radius:3px;font-size:10px;font-weight:700;font-family:var(--tp-font-sans);background:var(--color-surface-sunken);color:var(--color-text-secondary);vertical-align:1px}.mat-abc--a{background:var(--color-warning-soft);color:var(--color-warning-text)}.mat-abc--b{background:var(--color-info-soft);color:var(--color-text-secondary)}.mat-desc{display:block}.mat-sub{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-top:2px;font-size:var(--tp-text-2xs);color:var(--color-text-muted);font-family:var(--tp-font-mono)}.tp-table__more{text-align:center;padding:var(--tp-space-2)!important}.plan-task__cond{display:block;font-size:var(--tp-text-2xs);color:var(--color-text-muted)}.tech-level--3{background:var(--color-success-soft);color:var(--color-success-text)}.tech-level--2{background:var(--color-info-soft);color:var(--color-text-secondary)}.task-tools{margin:0;padding:0;list-style:none;display:grid;gap:4px}.task-tools li{display:flex;align-items:center;gap:8px;font-size:var(--tp-text-sm)}.task-tools li code{font-size:var(--tp-text-2xs);color:var(--color-text-muted)}.task-tools li button{margin-left:auto}.field-materials__row--tool{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--tp-space-2)}.wo-kit{display:flex;align-items:flex-start;gap:var(--tp-space-2);margin-bottom:var(--tp-space-3);padding:var(--tp-space-2) var(--tp-space-3);border-radius:var(--tp-radius-md);background:var(--color-surface-sunken);font-size:var(--tp-text-xs);color:var(--color-text-secondary)}.wo-kit>div{display:grid;gap:2px}.wo-kit svg{margin-top:2px;color:var(--color-brand);flex-shrink:0}.wo-task__who{display:inline-flex;align-items:center;gap:5px;font-size:var(--tp-text-xs)}.daily-tiles{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--tp-space-3);margin-bottom:var(--tp-space-4)}@media(max-width:1280px){.daily-tiles{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:760px){.daily-tiles{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:480px){.daily-tiles{grid-template-columns:minmax(0,1fr)}}.daily-tile{position:relative;display:grid;grid-template-rows:auto auto auto 1fr;align-content:start;gap:6px;padding:var(--tp-space-4);border:var(--tp-border-thin) solid var(--color-card-border);border-radius:var(--tp-radius-lg);background:var(--color-surface);box-shadow:var(--shadow-card)}.daily-tile__label:before{content:"";width:7px;height:7px;border-radius:50%;background:var(--tile-color, var(--color-border-strong));box-shadow:0 0 0 3px color-mix(in srgb,var(--tile-color, var(--color-border-strong)) 18%,transparent);flex-shrink:0}.daily-tile--good{--tile-color: var(--color-success)}.daily-tile--warn{--tile-color: var(--color-warning)}.daily-tile--bad{--tile-color: var(--color-danger)}.daily-tile--brand{--tile-color: var(--color-brand)}.daily-tile__label{display:flex;align-items:center;gap:6px;min-height:20px;font-size:var(--tp-text-2xs);font-weight:var(--tp-weight-semibold);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);white-space:nowrap;overflow:hidden}.daily-tile__delta{min-height:18px}.daily-tile__value{font-family:var(--tp-font-display);font-size:40px;font-weight:700;line-height:1;letter-spacing:-.01em;font-variant-numeric:tabular-nums}.daily-tile__value small{font-size:var(--tp-text-md);font-weight:500;color:var(--color-text-muted)}.daily-tile__delta{display:inline-flex;align-items:center;gap:4px;font-size:var(--tp-text-xs);font-weight:var(--tp-weight-semibold)}.daily-tile__delta.is-up{color:var(--color-success-text)}.daily-tile__delta.is-down{color:var(--color-danger)}.daily-tile__row{display:flex;flex-wrap:wrap;gap:4px var(--tp-space-3);font-size:var(--tp-text-xs);color:var(--color-text-secondary);align-self:start}.daily-tile__row b{color:var(--color-text);font-variant-numeric:tabular-nums}.daily-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--tp-space-4)}@media(max-width:1100px){.daily-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:640px){.daily-grid{grid-template-columns:minmax(0,1fr)}.daily-tile__value{font-size:32px}}.daily-list{margin:0;padding:0;list-style:none;display:grid;gap:6px}.daily-list li{display:flex;align-items:center;gap:var(--tp-space-2);padding:7px 0;border-bottom:var(--tp-border-thin) solid var(--color-border-subtle);font-size:var(--tp-text-sm)}.daily-list li:last-child{border-bottom:0}.daily-list__n{min-width:28px;font-family:var(--tp-font-display);font-weight:700;font-size:var(--tp-text-md);text-align:right;font-variant-numeric:tabular-nums}.daily-list__bar{flex:1;height:6px;border-radius:3px;background:var(--color-surface-sunken);overflow:hidden}.daily-list__bar i{display:block;height:100%;background:var(--color-brand)}.daily-ritual{display:grid;gap:var(--tp-space-2);font-size:var(--tp-text-sm);color:var(--color-text-secondary)}.daily-ritual li{display:flex;gap:var(--tp-space-2)}.daily-ritual b{color:var(--color-text);min-width:56px}.dc-layout{display:grid;grid-template-columns:minmax(0,1.1fr) minmax(0,1fr);gap:var(--tp-space-4)}@media(max-width:1000px){.dc-layout{grid-template-columns:minmax(0,1fr)}}.dc-items{display:grid;gap:6px}.dc-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--tp-space-2);align-items:center;padding:10px 12px;border:var(--tp-border-thin) solid var(--color-border);border-radius:var(--tp-radius-md);background:var(--color-surface)}.dc-item.is-nok{border-color:var(--color-danger);background:var(--color-danger-soft)}.dc-item__text{display:grid;gap:2px;min-width:0}.dc-item__text b{font-size:var(--tp-text-sm)}.dc-item__text span{font-size:var(--tp-text-2xs);color:var(--color-text-muted)}.dc-item__toggle{display:inline-flex;border:var(--tp-border-thin) solid var(--color-border-strong);border-radius:var(--tp-radius-full);overflow:hidden}.dc-item__toggle button{padding:5px 12px;border:0;background:transparent;font:inherit;font-size:var(--tp-text-xs);font-weight:var(--tp-weight-semibold);color:var(--color-text-muted);cursor:pointer}.dc-item__toggle button.is-on-ok{background:var(--color-success);color:#fff}.dc-item__toggle button.is-on-nok{background:var(--color-danger);color:#fff}.dc-item__note{grid-column:1 / -1}.dc-result{display:flex;align-items:center;gap:var(--tp-space-2);padding:var(--tp-space-3);border-radius:var(--tp-radius-md);font-size:var(--tp-text-sm)}.dc-result--ok{background:var(--color-success-soft);color:var(--color-success-text)}.dc-result--nok{background:var(--color-danger-soft);color:var(--color-danger)}.dc-progress{height:8px;border-radius:4px;background:var(--color-surface-sunken);overflow:hidden}.dc-progress i{display:block;height:100%;background:var(--color-success)}.pq-supplier{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:var(--tp-space-3);align-items:center;padding:8px 0;border-bottom:var(--tp-border-thin) solid var(--color-border-subtle);font-size:var(--tp-text-sm)}.pq-supplier:last-child{border-bottom:0}.pq-supplier__bar{height:6px;border-radius:3px;background:var(--color-surface-sunken);overflow:hidden;margin-top:4px}.pq-supplier__bar i{display:block;height:100%;background:var(--color-danger)}.pq-rate{font-family:var(--tp-font-display);font-weight:700;font-variant-numeric:tabular-nums;min-width:48px;text-align:right}.audit-areas{margin:0;padding:0;list-style:none;display:grid;gap:6px}.audit-area__btn{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:2px 12px;width:100%;padding:10px 12px;border:var(--tp-border-thin) solid var(--color-border);border-radius:var(--tp-radius-md);background:var(--color-surface);text-align:left;font:inherit;color:inherit;cursor:pointer}.audit-area__btn:hover{border-color:var(--color-brand)}.audit-area.is-overdue .audit-area__btn{border-left:3px solid var(--color-danger)}.audit-area__name{grid-column:1;grid-row:1;font-weight:var(--tp-weight-semibold);font-size:var(--tp-text-sm)}.audit-area__meta{grid-column:1;grid-row:2}.audit-area__score{grid-column:2;grid-row:1 / span 2;align-self:center;justify-self:end;font-family:var(--tp-font-display);font-size:var(--tp-text-xl);font-weight:700;font-variant-numeric:tabular-nums}.audit-area__meta{display:flex;flex-wrap:wrap;gap:10px;font-size:var(--tp-text-2xs);color:var(--color-text-muted)}.audit-area__bar{grid-column:1 / -1;height:5px;border-radius:3px;background:var(--color-surface-sunken);overflow:hidden}.audit-area__bar i{display:block;height:100%;background:var(--color-success)}.audit-area .is-good,.audit-score.is-good{color:var(--color-success-text)}.audit-area .is-warn,.audit-score.is-warn{color:var(--color-warning-text)}.audit-area .is-bad,.audit-score.is-bad{color:var(--color-danger)}.audit-score{font-weight:700;font-variant-numeric:tabular-nums}.audit-score--big{font-family:var(--tp-font-display);font-size:var(--tp-text-xl)}.cmp-life{display:block;height:6px;border-radius:3px;background:var(--color-surface-sunken);overflow:hidden;margin-top:4px}.cmp-life i{display:block;height:100%;background:var(--color-success)}.cmp-life--near i{background:var(--color-warning)}.cmp-life--over i{background:var(--color-danger)}.cmp-kinds{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(230px,1fr));gap:8px}.cmp-kind{padding:10px 12px;border:var(--tp-border-thin) solid var(--color-border);border-radius:var(--tp-radius-md)}.cmp-kind__head{display:flex;justify-content:space-between;gap:8px;font-size:var(--tp-text-sm)}.cmp-kind__row{display:flex;flex-wrap:wrap;gap:4px 14px;margin-top:4px;font-size:var(--tp-text-2xs);color:var(--color-text-muted)}.fleet-grid{grid-template-columns:repeat(auto-fill,minmax(290px,1fr));gap:var(--tp-space-4)}.fleet-card__face{border-radius:var(--tp-radius-lg);padding:var(--tp-space-4) var(--tp-space-4) 0;box-shadow:0 1px 2px #0000000a}.fleet-card:hover .fleet-card__face{box-shadow:0 14px 30px -18px #00000059}.fleet-back__head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--tp-space-2)}.fleet-back__eyebrow{font-size:var(--tp-text-2xs);font-weight:var(--tp-weight-semibold);letter-spacing:.1em;text-transform:uppercase;color:var(--fleet-color)}.fleet-back__label{display:block;font-size:var(--tp-text-2xs);font-weight:var(--tp-weight-semibold);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted)}.fleet-back__muted{font-size:var(--tp-text-xs);color:var(--color-text-secondary)}.fleet-back__row{display:flex;align-items:center;gap:var(--tp-space-2);flex-wrap:wrap}.fleet-back__os{display:inline-flex;align-items:center;gap:2px;font-family:var(--tp-font-mono);font-size:var(--tp-text-sm);font-weight:var(--tp-weight-semibold);color:var(--color-text);text-decoration:none;white-space:nowrap}.fleet-back__os:hover{color:var(--color-brand)}.fleet-back__now{display:grid;gap:4px;padding:10px 12px;border:var(--tp-border-thin) solid var(--color-border-subtle);border-left:3px solid var(--color-state-running);border-radius:var(--tp-radius-md);background:var(--color-surface)}.fleet-back__now--waiting{border-left-color:var(--color-state-waiting)}.fleet-back__now--working{border-left-color:var(--color-state-working)}.fleet-back__now--stopped{border-left-color:var(--color-state-stopped)}.fleet-back__stats{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--tp-space-2);margin:0}.fleet-back__stats>div{display:grid;gap:2px;min-width:0}.fleet-back__stats dt{font-size:var(--tp-text-2xs);font-weight:var(--tp-weight-semibold);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);white-space:nowrap}.fleet-back__stats dd{margin:0;font-size:var(--tp-text-sm);font-weight:var(--tp-weight-medium);font-variant-numeric:tabular-nums;white-space:nowrap}.fleet-back__alerts{list-style:none;margin:0;padding:0;display:grid;gap:4px}.fleet-back__alerts li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:6px;font-size:var(--tp-text-xs);color:var(--color-warning-text)}.fleet-back__alerts li.is-over{color:var(--color-danger)}.fleet-back__alerts b{font-variant-numeric:tabular-nums}.fleet-back__list{list-style:none;margin:2px 0 0;padding:0;display:grid;gap:3px}.fleet-back__list li{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:baseline;gap:var(--tp-space-2)}.fleet-back__list .fleet-back__os{font-size:var(--tp-text-xs)}.fleet-back__skeleton{display:grid;gap:var(--tp-space-2)}.fleet-back__skel{display:block;border-radius:var(--tp-radius-md)}.fleet-back__empty{display:grid;gap:var(--tp-space-2);justify-items:start;font-size:var(--tp-text-xs);color:var(--color-text-secondary)}.fleet-back__foot{margin:auto calc(-1 * var(--tp-space-4)) 0;padding:8px var(--tp-space-4);border-top:var(--tp-border-thin) solid var(--color-border-subtle);background:var(--color-surface-sunken);font-size:var(--tp-text-xs)}.fleet-back__foot a{display:flex;align-items:center;justify-content:space-between;gap:6px;color:var(--color-brand);font-weight:var(--tp-weight-semibold);text-decoration:none}.fleet-back__foot a:hover{text-decoration:underline}.fleet-guide__flip{display:inline-grid;place-items:center;width:18px;height:18px;border-radius:50%;border:var(--tp-border-thin) solid var(--color-border);color:var(--color-text-secondary)}.fleet-card__head{align-items:flex-start;justify-content:space-between}.fleet-card__title{display:grid;gap:2px;min-width:0}.fleet-card__code{font-size:var(--tp-text-lg)}.fleet-card__model{font-size:var(--tp-text-xs);color:var(--color-text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fleet-card__class{margin-top:0;display:flex;align-items:center;gap:4px}.fleet-card__class .fleet-tech{margin-left:auto;width:20px;height:20px}.fleet-card__plate{color:var(--color-text-secondary)}.fleet-card__bus{margin:0 calc(-1 * var(--tp-space-2))}.fleet-card__bus .busr{width:100%;height:auto}.fleet-card__progress{display:grid;gap:5px}.fleet-card__progress-head{display:flex;justify-content:space-between;gap:8px;font-size:var(--tp-text-xs);color:var(--color-text-secondary)}.fleet-card__progress-head b{color:var(--color-text);font-variant-numeric:tabular-nums;white-space:nowrap}.fleet-card__bar,.vpage__bar{display:block;height:6px;border-radius:3px;background:var(--color-surface-sunken);overflow:hidden}.fleet-card__bar i,.vpage__bar i{display:block;height:100%;border-radius:3px;background:var(--color-brand);transition:width var(--tp-duration-normal) var(--tp-ease)}.fleet-card__bar.is-near i,.vpage__bar.is-near i{background:var(--color-warning)}.fleet-card__bar.is-over i,.vpage__bar.is-over i{background:var(--color-danger)}.fleet-card__facts{grid-template-columns:1fr 1fr 1.2fr;padding-top:var(--tp-space-1);border-top:var(--tp-border-thin) solid var(--color-border-subtle)}.fleet-card__ellipsis{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.fleet-card__reading{margin-left:calc(-1 * var(--tp-space-4));margin-right:calc(-1 * var(--tp-space-4));padding-left:var(--tp-space-4);padding-right:var(--tp-space-4)}.fleet-card__reading .fleet-card__cta{position:relative;z-index:2}.fleet-chip{display:inline-flex;align-items:center;gap:6px;flex-shrink:0;padding:3px 10px;border-radius:var(--tp-radius-full);font-size:var(--tp-text-2xs);font-weight:var(--tp-weight-semibold);letter-spacing:.02em;white-space:nowrap;background:var(--color-surface-sunken);color:var(--color-text-secondary)}.fleet-chip:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor}.fleet-chip--running{background:var(--color-success-soft);color:var(--color-success-text)}.fleet-chip--waiting{background:var(--color-warning-soft);color:var(--color-warning-text)}.fleet-chip--working{background:var(--color-info-soft);color:var(--color-state-working)}.fleet-chip--stopped{background:var(--color-danger-soft);color:var(--color-danger)}.bus-card .busr,.bus-card--summary .busr{width:100%;height:auto}.vpage{display:grid;grid-template-columns:minmax(0,1fr);gap:var(--tp-space-4)}.vpage__main,.vpage__row{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,1fr);gap:var(--tp-space-4);align-items:stretch}.vpage__row--even{grid-template-columns:repeat(2,minmax(0,1fr))}.vpage__hero{display:grid;grid-template-columns:minmax(0,1fr) 260px;gap:var(--tp-space-4);align-items:center;overflow:hidden;background:radial-gradient(120% 90% at 30% 20%,color-mix(in srgb,var(--color-brand) 7%,var(--color-surface)) 0%,var(--color-surface) 60%)}.vpage__stage{display:grid;place-items:center;padding:var(--tp-space-2) 0;min-width:0}.vpage__stage .busr{width:100%;max-width:760px;height:auto}.vpage__sheet{display:grid;gap:var(--tp-space-3);padding:var(--tp-space-4);border:var(--tp-border-thin) solid var(--color-card-border);border-radius:var(--tp-radius-lg);background:color-mix(in srgb,var(--color-surface) 92%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--shadow-card)}.vpage__sheet-head{display:flex;justify-content:space-between;align-items:center;gap:8px}.vpage__sheet-title{font-size:var(--tp-text-2xs);font-weight:var(--tp-weight-semibold);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted)}.vpage__sheet-list{margin:0;display:grid;gap:8px}.vpage__sheet-list>div{display:grid;grid-template-columns:minmax(0,1fr);gap:1px;padding-bottom:8px;border-bottom:var(--tp-border-thin) solid var(--color-border-subtle)}.vpage__sheet-list>div:last-child{border-bottom:0;padding-bottom:0}.vpage__sheet-list dt{font-size:var(--tp-text-2xs);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted);font-weight:var(--tp-weight-semibold)}.vpage__sheet-list dd{margin:0;font-size:var(--tp-text-sm);font-variant-numeric:tabular-nums}.vpage__maint{display:grid;align-content:start;gap:var(--tp-space-3)}.vpage__gauge{display:grid;gap:5px}.vpage__gauge-head{display:flex;justify-content:space-between;gap:8px;font-size:var(--tp-text-sm)}.vpage__gauge-head b{font-variant-numeric:tabular-nums;white-space:nowrap}.vpage__gauge-note{font-size:var(--tp-text-2xs);color:var(--color-text-muted)}.vpage__more{justify-self:start;margin-top:var(--tp-space-1);font-size:var(--tp-text-xs);font-weight:var(--tp-weight-semibold);color:var(--color-brand-text);text-decoration:none}.vpage__more:hover{text-decoration:underline}.vpage__kmbars{display:grid;grid-template-columns:repeat(30,minmax(0,1fr));gap:3px;align-items:end;height:160px;padding-top:var(--tp-space-2)}.vpage__kmbar{display:grid;grid-template-rows:1fr auto;align-items:end;height:100%;gap:4px}.vpage__kmbar i{display:block;align-self:end;border-radius:3px 3px 1px 1px;background:var(--color-brand);opacity:.85;min-height:0}.vpage__kmbar.is-empty i{background:var(--color-surface-sunken);height:3px}.vpage__kmbar span{font-size:9px;color:var(--color-text-muted);text-align:center;font-variant-numeric:tabular-nums}.vpage__kmbar:nth-child(2n) span{visibility:hidden}@media(max-width:1100px){.vpage__main,.vpage__row,.vpage__row--even,.vpage__hero{grid-template-columns:minmax(0,1fr)}.vpage__stage .busr{max-width:100%}}.wob{display:grid;grid-template-columns:repeat(4,minmax(250px,1fr));gap:var(--tp-space-3);align-items:stretch;overflow-x:auto;padding-bottom:4px}.wob__col{display:grid;align-content:start;gap:var(--tp-space-2);padding:var(--tp-space-3);border-radius:var(--tp-radius-lg);background:var(--color-surface-sunken);min-width:0;transition:opacity var(--tp-duration-normal) var(--tp-ease)}.wob[data-focus] .wob__col:not(.is-focus){opacity:.45}.wob__col.is-focus{outline:2px solid var(--color-brand);outline-offset:-2px}.wob__head{display:flex;align-items:center;gap:8px}.wob__dot{width:8px;height:8px;border-radius:50%;flex-shrink:0}.wob__dot--waiting{background:var(--color-state-waiting)}.wob__dot--working{background:var(--color-state-working)}.wob__dot--stopped{background:var(--color-state-stopped)}.wob__dot--running{background:var(--color-state-running)}.wob__title{display:grid;min-width:0}.wob__title b{font-size:var(--tp-text-sm)}.wob__title span{font-size:var(--tp-text-2xs);color:var(--color-text-muted)}.wob__count{margin-left:auto;font-family:var(--tp-font-display);font-size:var(--tp-text-lg);font-weight:700}.wob__clock{display:inline-flex;align-items:center;gap:4px;font-size:var(--tp-text-2xs);color:var(--color-text-muted)}.wob__list{display:grid;gap:var(--tp-space-2)}.wob__empty{padding:var(--tp-space-4);text-align:center;font-size:var(--tp-text-xs);color:var(--color-text-muted);border:1px dashed var(--color-border);border-radius:var(--tp-radius-md)}.wob-card{display:grid;gap:6px;padding:var(--tp-space-3);border:var(--tp-border-thin) solid var(--color-card-border);border-radius:var(--tp-radius-lg);background:var(--color-surface);color:var(--color-text);text-decoration:none;box-shadow:var(--shadow-card);transition:transform var(--tp-duration-fast) var(--tp-ease),box-shadow var(--tp-duration-fast),border-color var(--tp-duration-fast);min-width:0}.wob-card:hover{transform:translateY(-2px);box-shadow:0 14px 30px -18px #00000059;border-color:var(--color-border-strong)}.wob-card.is-overdue{border-color:var(--color-danger);box-shadow:0 0 0 1px color-mix(in srgb,var(--color-danger) 25%,transparent)}.wob-card__head{display:flex;justify-content:space-between;align-items:center;gap:8px}.wob-card__code{font-family:var(--tp-font-display);font-weight:700;font-size:var(--tp-text-sm);letter-spacing:.02em}.wob-card__render{margin:0;overflow:hidden}.wob-card__render .busr{width:100%;height:auto}.wob-card__vehicle{display:flex;align-items:baseline;gap:8px;font-size:var(--tp-text-xs);min-width:0}.wob-card__vehicle b{font-size:var(--tp-text-sm)}.wob-card__vehicle .tp-mono{color:var(--color-text-secondary)}.wob-card__type{margin-left:auto;color:var(--color-text-muted);white-space:nowrap}.wob-card__reason{margin:0;font-size:var(--tp-text-xs);line-height:1.35;height:2.7em;color:var(--color-text-secondary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.wob-card__progress{display:grid;grid-template-columns:1fr auto;align-items:center;gap:8px}.wob-card__progress-text{font-size:var(--tp-text-2xs);color:var(--color-text-muted);font-variant-numeric:tabular-nums}.wob-card__foot{display:flex;justify-content:space-between;gap:8px;padding-top:6px;border-top:var(--tp-border-thin) solid var(--color-border-subtle);font-size:var(--tp-text-2xs)}.wob-card__foot>span{display:inline-flex;align-items:center;gap:4px;font-variant-numeric:tabular-nums}@media(max-width:1100px){.wob{grid-template-columns:repeat(4,minmax(240px,1fr))}}.wo-top{display:grid;grid-template-columns:minmax(0,2fr) minmax(300px,1fr);gap:var(--tp-space-4);align-items:stretch;margin-bottom:var(--tp-space-4)}.wo-hero{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:var(--tp-space-4);align-items:center;overflow:hidden;background:radial-gradient(120% 90% at 30% 20%,color-mix(in srgb,var(--color-brand) 7%,var(--color-surface)) 0%,var(--color-surface) 60%)}.wo-hero--overdue{background:radial-gradient(120% 90% at 30% 20%,color-mix(in srgb,var(--color-danger) 8%,var(--color-surface)) 0%,var(--color-surface) 60%)}.wo-hero__stage{display:grid;gap:var(--tp-space-2);justify-items:center;min-width:0}.wo-hero__stage .busr{width:100%;max-width:560px;height:auto}.wo-hero__vehicle{display:inline-flex;align-items:baseline;gap:8px;text-decoration:none;color:var(--color-text);font-size:var(--tp-text-sm)}.wo-hero__vehicle:hover b{color:var(--color-brand-text)}.wo-hero__vehicle .tp-muted{font-size:var(--tp-text-2xs)}.wo-hero__sheet{display:grid;gap:var(--tp-space-3);padding:var(--tp-space-4);border:var(--tp-border-thin) solid var(--color-card-border);border-radius:var(--tp-radius-lg);background:color-mix(in srgb,var(--color-surface) 92%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--shadow-card)}.wo-hero__clock{display:grid;gap:2px}.wo-hero__label{font-size:var(--tp-text-2xs);font-weight:var(--tp-weight-semibold);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted)}.wo-hero__clock strong{font-family:var(--tp-font-display);font-size:var(--tp-text-2xl);font-weight:700;line-height:1;font-variant-numeric:tabular-nums}.wo-hero__sub{font-size:var(--tp-text-2xs);color:var(--color-text-muted)}.wo-hero__chips{display:flex;flex-wrap:wrap;gap:6px}@media(max-width:1100px){.wo-top,.wo-hero{grid-template-columns:minmax(0,1fr)}.wo-hero__stage .busr{max-width:100%}}.tp-grid-2,.vpage__main,.wo-top{align-items:stretch}.tp-split>.tp-card,.tp-grid-2>.tp-card,.vpage__row>.tp-card,.vpage__main>.tp-card,.wo-top>.tp-card{min-height:100%}.tp-card>.tp-table-wrap,.tp-card>.cmp-kinds,.tp-card>.audit-areas,.tp-card>.vpage__sheet-list{flex:1 1 auto}.tp-card>.vpage__kmbars{flex:1 1 auto;max-height:300px}.tp-card>.vpage__more,.tp-card>.tp-row--end{margin-top:auto}.bus-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--tp-space-3);align-items:stretch}.bus-card{grid-template-rows:auto 1fr;gap:var(--tp-space-2);padding:var(--tp-space-3);border-radius:var(--tp-radius-lg)}.bus-card .busr{width:100%;height:auto}.bus-card__text{grid-template-rows:22px 22px 20px 18px;gap:2px;align-content:start;padding:0}.bus-card__row{align-items:center}.bus-card__row b{font-family:var(--tp-font-display);font-size:var(--tp-text-md);font-weight:700}.bus-card__row .tp-muted{font-family:var(--tp-font-mono);font-size:var(--tp-text-xs)}.bus-card .tp-state{align-self:center;justify-self:start}.bus-card__reason{line-height:20px}.bus-card__since{font-size:var(--tp-text-2xs);line-height:18px}.bus-card--summary{grid-template-columns:1fr 1fr;grid-template-rows:1fr}.bus-card--summary .bus-card__text{grid-template-rows:auto auto;gap:4px;align-content:center}.bus-stage{border-radius:var(--tp-radius-lg)}.bus-stage .bus-card{--fleet-color: var(--color-border-strong);transition:border-color var(--tp-duration-fast),box-shadow var(--tp-duration-normal) var(--tp-ease)}.bus-stage:hover .bus-card{border-color:var(--color-border-strong)}.bus-stage .flip__btn--corner{top:6px;right:6px;width:26px;height:26px}.bus-stage .flip__face--back{position:absolute;top:0;right:0;bottom:0;left:0}.bus-card--back{display:flex;flex-direction:column;gap:6px;padding-bottom:0}.bus-card--back .fleet-back__head{align-items:center}.bus-card--back .fleet-card__title{gap:0}.bus-card--back .fleet-card__code{font-size:var(--tp-text-md)}.bus-card--back .flip__btn{width:26px;height:26px;margin:0}.bus-card--back .fleet-back__now{padding:6px 10px;gap:3px}.bus-card--back .fleet-back__row{flex-wrap:wrap;gap:4px 6px}.bus-card--back .fleet-back__os{font-size:var(--tp-text-xs)}.bus-card--back .fleet-back__row .fleet-chip{padding:2px 8px;max-width:100%}.bus-card--back .fleet-back__foot{margin:auto calc(-1 * var(--tp-space-3)) 0;padding:7px var(--tp-space-3)}.fleet-back__stats--compact{grid-template-columns:repeat(2,minmax(0,1fr));gap:2px var(--tp-space-2)}.fleet-back__stats--compact>div{gap:0}.fleet-back__stats--compact dd{line-height:1.25}.vpage__kmcard .vpage__kmbars{flex:1;height:auto;min-height:160px}@media(max-width:640px){.bus-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--tp-space-2)}.bus-grid .bus-card--summary{grid-column:1 / -1}}.tp-kpi-row--2{grid-template-columns:repeat(2,minmax(0,1fr))}@media(max-width:640px){.tp-kpi-row--2{grid-template-columns:minmax(0,1fr)}}
