@font-face{font-family:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url("./static/dm-sans-latin-ext-400-normal-2ZR6XYBL.woff2") format("woff2"),url("./static/dm-sans-latin-ext-400-normal-TBIAKTDR.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:DM Sans;font-style:normal;font-display:swap;font-weight:400;src:url("./static/dm-sans-latin-400-normal-PK6QQEPM.woff2") format("woff2"),url("./static/dm-sans-latin-400-normal-MGJ5Z327.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:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url("./static/dm-sans-latin-ext-500-normal-26EY6OLJ.woff2") format("woff2"),url("./static/dm-sans-latin-ext-500-normal-7LSA2WRE.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:DM Sans;font-style:normal;font-display:swap;font-weight:500;src:url("./static/dm-sans-latin-500-normal-EEBZRNR6.woff2") format("woff2"),url("./static/dm-sans-latin-500-normal-DXK3D23C.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:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url("./static/dm-sans-latin-ext-600-normal-I7LCOF75.woff2") format("woff2"),url("./static/dm-sans-latin-ext-600-normal-EPKCPTQL.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:DM Sans;font-style:normal;font-display:swap;font-weight:600;src:url("./static/dm-sans-latin-600-normal-VVAUUCVV.woff2") format("woff2"),url("./static/dm-sans-latin-600-normal-RFO53SGX.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:DM Mono;font-style:normal;font-display:swap;font-weight:400;src:url("./static/dm-mono-latin-ext-400-normal-HV5URJWH.woff2") format("woff2"),url("./static/dm-mono-latin-ext-400-normal-LRFTOVAR.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:DM Mono;font-style:normal;font-display:swap;font-weight:400;src:url("./static/dm-mono-latin-400-normal-ASEO4XL4.woff2") format("woff2"),url("./static/dm-mono-latin-400-normal-I45UUIKU.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:DM Mono;font-style:normal;font-display:swap;font-weight:500;src:url("./static/dm-mono-latin-ext-500-normal-SA7RRQ4Y.woff2") format("woff2"),url("./static/dm-mono-latin-ext-500-normal-HCBH5OK3.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:DM Mono;font-style:normal;font-display:swap;font-weight:500;src:url("./static/dm-mono-latin-500-normal-5DTZP5O2.woff2") format("woff2"),url("./static/dm-mono-latin-500-normal-KIKLL7X2.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 Sans;font-style:normal;font-display:swap;font-weight:400;src:url("./static/ibm-plex-sans-latin-400-normal-COQVXTP6.woff2") format("woff2"),url("./static/ibm-plex-sans-latin-400-normal-JC3YNCCZ.woff") format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:500;src:url("./static/ibm-plex-sans-latin-500-normal-JTONHBWS.woff2") format("woff2"),url("./static/ibm-plex-sans-latin-500-normal-7DOULDHV.woff") format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url("./static/ibm-plex-sans-latin-600-normal-DTNZULF4.woff2") format("woff2"),url("./static/ibm-plex-sans-latin-600-normal-B3O423MA.woff") format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url("./static/ibm-plex-mono-latin-400-normal-A2WATXFY.woff2") format("woff2"),url("./static/ibm-plex-mono-latin-400-normal-4MWPPJAM.woff") format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:500;src:url("./static/ibm-plex-mono-latin-500-normal-33HAQIPI.woff2") format("woff2"),url("./static/ibm-plex-mono-latin-500-normal-EJMP6L36.woff") format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:400;src:url("./static/manrope-latin-400-normal-W2P7FH6Q.woff2") format("woff2"),url("./static/manrope-latin-400-normal-H43QQ5XW.woff") format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:500;src:url("./static/manrope-latin-500-normal-CQ46M34Y.woff2") format("woff2"),url("./static/manrope-latin-500-normal-6DNEONPG.woff") format("woff")}@font-face{font-family:Manrope;font-style:normal;font-display:swap;font-weight:600;src:url("./static/manrope-latin-600-normal-55ATVHX7.woff2") format("woff2"),url("./static/manrope-latin-600-normal-XW3XBGN3.woff") format("woff")}@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:400;src:url("./static/figtree-latin-400-normal-PORFSHKN.woff2") format("woff2"),url("./static/figtree-latin-400-normal-KV4MLDR2.woff") format("woff")}@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:500;src:url("./static/figtree-latin-500-normal-AHYR5JKA.woff2") format("woff2"),url("./static/figtree-latin-500-normal-3XJUDHI5.woff") format("woff")}@font-face{font-family:Figtree;font-style:normal;font-display:swap;font-weight:600;src:url("./static/figtree-latin-600-normal-5C6Z7QEI.woff2") format("woff2"),url("./static/figtree-latin-600-normal-TNWY5G5A.woff") format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:400;src:url("./static/jetbrains-mono-latin-400-normal-3OOWLGQ2.woff2") format("woff2"),url("./static/jetbrains-mono-latin-400-normal-WDD34GPP.woff") format("woff")}@font-face{font-family:JetBrains Mono;font-style:normal;font-display:swap;font-weight:500;src:url("./static/jetbrains-mono-latin-500-normal-V4XIP5OW.woff2") format("woff2"),url("./static/jetbrains-mono-latin-500-normal-ETEQEOVZ.woff") format("woff")}@font-face{font-family:Work Sans;font-style:normal;font-display:swap;font-weight:400;src:url("./static/work-sans-latin-400-normal-Q43U5AHC.woff2") format("woff2"),url("./static/work-sans-latin-400-normal-YOTCOOMT.woff") format("woff")}@font-face{font-family:Work Sans;font-style:normal;font-display:swap;font-weight:500;src:url("./static/work-sans-latin-500-normal-56WUMG66.woff2") format("woff2"),url("./static/work-sans-latin-500-normal-4OIQSDMR.woff") format("woff")}@font-face{font-family:Work Sans;font-style:normal;font-display:swap;font-weight:600;src:url("./static/work-sans-latin-600-normal-W4HUYJT6.woff2") format("woff2"),url("./static/work-sans-latin-600-normal-LLXPY74D.woff") format("woff")}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:400;src:url("./static/public-sans-latin-400-normal-SQG225MJ.woff2") format("woff2"),url("./static/public-sans-latin-400-normal-7ZPT45BM.woff") format("woff")}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:500;src:url("./static/public-sans-latin-500-normal-IISAIKJJ.woff2") format("woff2"),url("./static/public-sans-latin-500-normal-7H4FD56P.woff") format("woff")}@font-face{font-family:Public Sans;font-style:normal;font-display:swap;font-weight:600;src:url("./static/public-sans-latin-600-normal-KMVW3WU4.woff2") format("woff2"),url("./static/public-sans-latin-600-normal-JGCIFSKO.woff") format("woff")}@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:400;src:url("./static/fira-code-latin-400-normal-EZK3CDCV.woff2") format("woff2"),url("./static/fira-code-latin-400-normal-S4ZJKUZL.woff") format("woff")}@font-face{font-family:Fira Code;font-style:normal;font-display:swap;font-weight:500;src:url("./static/fira-code-latin-500-normal-SKUZD4QE.woff2") format("woff2"),url("./static/fira-code-latin-500-normal-PLRL5D5Y.woff") format("woff")}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:400;src:url("./static/space-grotesk-latin-400-normal-LF3ZIHND.woff2") format("woff2"),url("./static/space-grotesk-latin-400-normal-OMAEQ2EW.woff") format("woff")}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:500;src:url("./static/space-grotesk-latin-500-normal-GESQWJQV.woff2") format("woff2"),url("./static/space-grotesk-latin-500-normal-HV4TE4RA.woff") format("woff")}@font-face{font-family:Space Grotesk;font-style:normal;font-display:swap;font-weight:600;src:url("./static/space-grotesk-latin-600-normal-27GH5ZT3.woff2") format("woff2"),url("./static/space-grotesk-latin-600-normal-WYFP6PJR.woff") format("woff")}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:400;src:url("./static/space-mono-latin-400-normal-FIR2AEI6.woff2") format("woff2"),url("./static/space-mono-latin-400-normal-WRP6FM7S.woff") format("woff")}@font-face{font-family:Space Mono;font-style:normal;font-display:swap;font-weight:700;src:url("./static/space-mono-latin-700-normal-MN7DYQGK.woff2") format("woff2"),url("./static/space-mono-latin-700-normal-7QN5RRLP.woff") format("woff")}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:400;src:url("./static/outfit-latin-400-normal-WPZHQ72E.woff2") format("woff2"),url("./static/outfit-latin-400-normal-MJX636HN.woff") format("woff")}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:500;src:url("./static/outfit-latin-500-normal-PXR3PSSK.woff2") format("woff2"),url("./static/outfit-latin-500-normal-5NAIAZI7.woff") format("woff")}@font-face{font-family:Outfit;font-style:normal;font-display:swap;font-weight:600;src:url("./static/outfit-latin-600-normal-7I4OGWZG.woff2") format("woff2"),url("./static/outfit-latin-600-normal-SAVBCENJ.woff") format("woff")}@font-face{font-family:Azeret Mono;font-style:normal;font-display:swap;font-weight:400;src:url("./static/azeret-mono-latin-400-normal-KCET2BYZ.woff2") format("woff2"),url("./static/azeret-mono-latin-400-normal-TXHYL3YT.woff") format("woff")}@font-face{font-family:Azeret Mono;font-style:normal;font-display:swap;font-weight:500;src:url("./static/azeret-mono-latin-500-normal-R7H7OKGQ.woff2") format("woff2"),url("./static/azeret-mono-latin-500-normal-CMXQKM2Z.woff") format("woff")}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:400;src:url("./static/atkinson-hyperlegible-latin-400-normal-SPAYGEOD.woff2") format("woff2"),url("./static/atkinson-hyperlegible-latin-400-normal-4XQA3ZPE.woff") format("woff")}@font-face{font-family:Atkinson Hyperlegible;font-style:normal;font-display:swap;font-weight:700;src:url("./static/atkinson-hyperlegible-latin-700-normal-FHYJOTYL.woff2") format("woff2"),url("./static/atkinson-hyperlegible-latin-700-normal-WK24QXLQ.woff") format("woff")}:root{--aqua-50: #f1f9fc;--aqua-100: #ddeff7;--aqua-200: #c4e3f0;--aqua-300: #a4d7e9;--aqua-400: #7ebfd8;--aqua-500: #5aa3c2;--aqua-600: #41849f;--aqua-700: #33667b;--aqua-800: #234b5b;--aqua-900: #16303b;--mint-50: #f3faf5;--mint-100: #e2f3e8;--mint-200: #d0ebd9;--mint-300: #bfe3c9;--mint-400: #9bcfaa;--mint-500: #78b58a;--mint-600: #5a926b;--mint-700: #457253;--mint-800: #30533c;--mint-900: #1e3627;--sand-50: #fcf7f0;--sand-100: #f6ebda;--sand-200: #ebd5b5;--sand-300: #d8aa72;--sand-400: #c69254;--sand-500: #ac7940;--sand-600: #8c6032;--sand-700: #6c4a27;--sand-800: #4c341c;--sand-900: #2f2011;--coral-50: #fcf2f0;--coral-100: #f8dfda;--coral-200: #f0c0b7;--coral-300: #e29584;--coral-400: #d9705c;--coral-500: #c0553f;--coral-600: #9e4231;--coral-700: #7a3325;--coral-800: #55231a;--coral-900: #351511;--mist-0: #ffffff;--mist-25: #fbfbfc;--mist-50: #f6f7f8;--mist-100: #eff1f2;--mist-150: #e7e9ec;--mist-200: #dcdfe3;--mist-300: #c3c8cd;--mist-400: #9aa0a7;--mist-500: #767c84;--mist-600: #5a6068;--mist-700: #42474e;--mist-800: #2b2f35;--mist-850: #202328;--mist-900: #181a1e;--mist-950: #111316;--canvas: var(--mist-50);--sidebar-bg: var(--mist-50);--sheet: var(--mist-0);--surface-1: var(--mist-0);--surface-2: var(--mist-25);--surface-sunken: var(--mist-100);--surface-overlay: var(--mist-0);--surface-hover: rgba(24, 26, 30, .04);--surface-active: rgba(24, 26, 30, .07);--surface-selected: rgba(24, 26, 30, .055);--surface-accent: var(--aqua-50);--surface-scrim: rgba(17, 19, 22, .28);--surface-inverse: var(--mist-900);--tag-violet-fg: #6a55b8;--tag-violet-bg: #f1eefb;--tag-blue-fg: #33667b;--tag-blue-bg: #e9f4f9;--tag-green-fg: #457253;--tag-green-bg: #eaf6ee;--tag-amber-fg: #8c6032;--tag-amber-bg: #faf1e4;--tag-red-fg: #9e4231;--tag-red-bg: #fbece9;--tag-gray-fg: var(--mist-600);--tag-gray-bg: var(--mist-100);--border-hairline: rgba(24, 26, 30, .06);--border-subtle: rgba(24, 26, 30, .09);--border-default: rgba(24, 26, 30, .13);--border-strong: rgba(24, 26, 30, .22);--border-focus: var(--aqua-500);--text-primary: var(--mist-900);--text-body: var(--mist-800);--text-secondary: var(--mist-600);--text-muted: var(--mist-500);--text-faint: var(--mist-400);--text-disabled: var(--mist-300);--text-inverse: var(--mist-0);--text-link: var(--aqua-700);--text-link-hover: var(--aqua-800);--accent: var(--aqua-600);--accent-hover: var(--aqua-700);--accent-active: var(--aqua-800);--accent-soft: var(--aqua-50);--accent-soft-strong: var(--aqua-100);--accent-fg: var(--aqua-700);--accent-on: var(--mist-0);--primary-bg: var(--mist-900);--primary-bg-hover: var(--mist-800);--primary-fg: var(--mist-0);--status-ok-fg: var(--mint-700);--status-ok-bg: var(--mint-50);--status-ok-dot: var(--mint-500);--status-info-fg: var(--aqua-700);--status-info-bg: var(--aqua-50);--status-info-dot: var(--aqua-500);--status-warn-fg: var(--sand-600);--status-warn-bg: var(--sand-50);--status-warn-dot: var(--sand-400);--status-fault-fg: var(--coral-600);--status-fault-bg: var(--coral-50);--status-fault-dot: var(--coral-400);--status-idle-fg: var(--mist-600);--status-idle-bg: var(--mist-100);--status-idle-dot: var(--mist-400);--data-1: var(--aqua-600);--data-2: var(--aqua-300);--data-3: var(--sand-400);--data-4: var(--mint-500);--data-5: var(--coral-400);--data-6: var(--mist-400);--data-grid: rgba(24, 26, 30, .06);--data-axis: var(--mist-400);--data-track: var(--mist-100);--data-fill-opacity: .12}[data-theme=dark]{--canvas: var(--mist-950);--sidebar-bg: var(--mist-950);--sheet: #15171a;--surface-1: #1a1c20;--surface-2: #17191c;--surface-sunken: #101215;--surface-overlay: #1d2024;--surface-hover: rgba(255, 255, 255, .04);--surface-active: rgba(255, 255, 255, .07);--surface-selected: rgba(255, 255, 255, .06);--surface-accent: rgba(164, 215, 233, .08);--surface-scrim: rgba(0, 0, 0, .5);--surface-inverse: #26292e;--tag-violet-fg: #bcaef0;--tag-violet-bg: rgba(160, 140, 230, .12);--tag-blue-fg: var(--aqua-300);--tag-blue-bg: rgba(164, 215, 233, .1);--tag-green-fg: var(--mint-300);--tag-green-bg: rgba(191, 227, 201, .1);--tag-amber-fg: var(--sand-300);--tag-amber-bg: rgba(216, 170, 114, .12);--tag-red-fg: var(--coral-300);--tag-red-bg: rgba(226, 149, 132, .12);--tag-gray-fg: #a3a9b0;--tag-gray-bg: rgba(255, 255, 255, .07);--border-hairline: rgba(255, 255, 255, .05);--border-subtle: rgba(255, 255, 255, .075);--border-default: rgba(255, 255, 255, .11);--border-strong: rgba(255, 255, 255, .2);--border-focus: var(--aqua-300);--text-primary: #eceef0;--text-body: #d6d9dc;--text-secondary: #a3a9b0;--text-muted: #848a92;--text-faint: #636970;--text-disabled: #4a4f55;--text-inverse: var(--mist-900);--text-link: var(--aqua-300);--text-link-hover: var(--aqua-200);--accent: var(--aqua-400);--accent-hover: var(--aqua-300);--accent-active: var(--aqua-200);--accent-soft: rgba(164, 215, 233, .08);--accent-soft-strong: rgba(164, 215, 233, .14);--accent-fg: var(--aqua-300);--accent-on: var(--mist-950);--primary-bg: #eceef0;--primary-bg-hover: #ffffff;--primary-fg: var(--mist-950);--status-ok-fg: var(--mint-300);--status-ok-bg: rgba(191, 227, 201, .09);--status-ok-dot: var(--mint-400);--status-info-fg: var(--aqua-300);--status-info-bg: rgba(164, 215, 233, .09);--status-info-dot: var(--aqua-400);--status-warn-fg: var(--sand-300);--status-warn-bg: rgba(216, 170, 114, .1);--status-warn-dot: var(--sand-300);--status-fault-fg: var(--coral-300);--status-fault-bg: rgba(226, 149, 132, .1);--status-fault-dot: var(--coral-300);--status-idle-fg: #a3a9b0;--status-idle-bg: rgba(255, 255, 255, .06);--status-idle-dot: #636970;--data-1: var(--aqua-400);--data-2: var(--aqua-700);--data-3: var(--sand-300);--data-4: var(--mint-400);--data-5: var(--coral-300);--data-6: #636970;--data-grid: rgba(255, 255, 255, .05);--data-axis: #636970;--data-track: rgba(255, 255, 255, .06);--data-fill-opacity: .14}:root{--font-sans: "DM Sans", ui-sans-serif, system-ui, -apple-system, "Segoe UI", sans-serif;--font-mono: "DM Mono", ui-monospace, SFMono-Regular, Menlo, monospace;--font-display: var(--font-sans);--text-2xs: 11px;--text-xs: 12px;--text-sm: 13px;--text-md: 14px;--text-lg: 16px;--text-xl: 18px;--text-2xl: 22px;--text-3xl: 28px;--text-4xl: 36px;--text-5xl: 48px;--leading-tight: 1.15;--leading-snug: 1.3;--leading-normal: 1.5;--leading-relaxed: 1.65;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--tracking-display: -.022em;--tracking-tight: -.01em;--tracking-normal: 0;--tracking-label: .01em;--type-display: var(--weight-semibold) var(--text-4xl)/var(--leading-tight) var(--font-display);--type-page-title: var(--weight-semibold) 26px/var(--leading-tight) var(--font-display);--type-section: var(--weight-semibold) var(--text-xl)/var(--leading-snug) var(--font-display);--type-heading: var(--weight-medium) var(--text-lg)/var(--leading-snug) var(--font-sans);--type-subheading: var(--weight-medium) var(--text-md)/var(--leading-snug) var(--font-sans);--type-body: var(--weight-regular) var(--text-md)/var(--leading-normal) var(--font-sans);--type-body-sm: var(--weight-regular) var(--text-sm)/var(--leading-normal) var(--font-sans);--type-label: var(--weight-medium) var(--text-sm)/var(--leading-snug) var(--font-sans);--type-caption: var(--weight-regular) var(--text-xs)/var(--leading-snug) var(--font-sans);--type-metric: var(--weight-semibold) var(--text-3xl)/1 var(--font-sans);--type-metric-sm: var(--weight-semibold) var(--text-xl)/1.1 var(--font-sans);--type-mono: var(--weight-regular) var(--text-sm)/var(--leading-snug) var(--font-mono)}:root{--space-0: 0;--space-0-5: 2px;--space-1: 4px;--space-1-5: 6px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--control-sm: 28px;--control-md: 34px;--control-lg: 40px;--row-height: 44px;--row-height-compact: 36px;--sidebar-width: 240px;--sidebar-collapsed: 60px;--topbar-height: 56px;--sheet-inset: 8px;--page-gutter: 32px;--content-max: 1360px;--card-pad: 20px;--gap-grid: 16px}:root{--radius-xs: 4px;--radius-sm: 6px;--radius-md: 8px;--radius-lg: 10px;--radius-xl: 14px;--radius-2xl: 18px;--radius-full: 999px;--radius-control: var(--radius-md);--radius-card: var(--radius-xl);--radius-sheet: 16px;--radius-dialog: var(--radius-2xl);--radius-popover: 12px}:root{--shadow-none: none;--shadow-xs: 0 1px 2px rgba(17, 19, 22, .04);--shadow-sm: 0 1px 2px rgba(17, 19, 22, .04), 0 2px 6px -2px rgba(17, 19, 22, .05);--shadow-md: 0 2px 4px rgba(17, 19, 22, .03), 0 8px 20px -6px rgba(17, 19, 22, .08);--shadow-lg: 0 4px 8px rgba(17, 19, 22, .03), 0 20px 44px -12px rgba(17, 19, 22, .14);--shadow-overlay: 0 0 0 1px rgba(17, 19, 22, .05), 0 24px 64px -16px rgba(17, 19, 22, .22);--shadow-sheet: 0 0 0 1px var(--border-hairline), 0 1px 3px rgba(17, 19, 22, .03);--focus-ring: 0 0 0 1px var(--border-focus), 0 0 0 4px color-mix(in oklab, var(--border-focus) 22%, transparent)}[data-theme=dark]{--shadow-xs: 0 1px 2px rgba(0, 0, 0, .3);--shadow-sm: 0 1px 2px rgba(0, 0, 0, .3), 0 2px 6px -2px rgba(0, 0, 0, .3);--shadow-md: 0 2px 4px rgba(0, 0, 0, .25), 0 8px 20px -6px rgba(0, 0, 0, .45);--shadow-lg: 0 4px 8px rgba(0, 0, 0, .25), 0 20px 44px -12px rgba(0, 0, 0, .6);--shadow-overlay: 0 0 0 1px rgba(255, 255, 255, .07), 0 24px 64px -16px rgba(0, 0, 0, .7);--shadow-sheet: 0 0 0 1px var(--border-hairline)}:root{--ease-out: cubic-bezier(.25, .8, .25, 1);--ease-in-out: cubic-bezier(.45, 0, .2, 1);--ease-emphasized: cubic-bezier(.2, .9, .1, 1);--duration-instant: 90ms;--duration-fast: .14s;--duration-base: .2s;--duration-slow: .32s;--duration-slower: .48s}@media(prefers-reduced-motion:reduce){:root{--duration-instant: 0ms;--duration-fast: 0ms;--duration-base: 0ms;--duration-slow: 0ms;--duration-slower: 0ms}}::view-transition-old(root),::view-transition-new(root){animation-duration:.32s;animation-timing-function:cubic-bezier(.2,0,0,1);mix-blend-mode:normal}:root[data-vf-swap=to-dark]::view-transition-old(root),:root[data-vf-swap=to-light]::view-transition-old(root){animation:none}:root[data-vf-swap=to-dark]::view-transition-new(root),:root[data-vf-swap=to-light]::view-transition-new(root){animation:vf-theme-reveal .56s cubic-bezier(.2,0,0,1)}@keyframes vf-theme-reveal{0%{clip-path:circle(0% at 50% 0%)}to{clip-path:circle(150% at 50% 0%)}}@media(prefers-reduced-motion:reduce){::view-transition-old(root),::view-transition-new(root){animation:none!important}}*,*:before,*:after{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;background:var(--canvas);color:var(--text-body);font:var(--type-body);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-feature-settings:"ss01" 0}h1,h2,h3,h4,p{margin:0}button,input,select,textarea{font:inherit;color:inherit}a{color:var(--text-link);text-decoration:none;transition:color var(--duration-fast) var(--ease-out)}a:hover{color:var(--text-link-hover);text-decoration:underline;text-decoration-color:color-mix(in oklab,currentColor 35%,transparent);text-underline-offset:3px}::selection{background:var(--accent-soft-strong)}:focus-visible{outline:none;box-shadow:var(--focus-ring);border-radius:var(--radius-sm)}.vf-num{font-variant-numeric:tabular-nums lining-nums}.vf-mono{font-family:var(--font-mono);font-size:.94em}.vf-eyebrow{font:var(--type-caption);color:var(--text-muted);letter-spacing:var(--tracking-label)}.vf-title{font:var(--type-page-title);letter-spacing:var(--tracking-display);color:var(--text-primary)}@keyframes vf-shimmer{0%{opacity:.55}50%{opacity:1}to{opacity:.55}}@keyframes vf-spin{to{transform:rotate(360deg)}}@keyframes vf-rise{0%{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}:root{--scrollbar-size: 10px;--scrollbar-thumb: color-mix(in oklab, var(--text-primary) 18%, transparent);--scrollbar-thumb-hover: color-mix(in oklab, var(--text-primary) 32%, transparent);--scrollbar-thumb-active: color-mix(in oklab, var(--text-primary) 44%, transparent)}@supports not selector(::-webkit-scrollbar){*{scrollbar-width:thin;scrollbar-color:var(--scrollbar-thumb) transparent}}*::-webkit-scrollbar{width:var(--scrollbar-size);height:var(--scrollbar-size);background:transparent}*::-webkit-scrollbar-track{background:transparent}*::-webkit-scrollbar-thumb{background:var(--scrollbar-thumb);border-radius:999px;border:3px solid transparent;background-clip:padding-box;min-height:32px}*::-webkit-scrollbar-thumb:hover{background-color:var(--scrollbar-thumb-hover)}*::-webkit-scrollbar-thumb:active{background-color:var(--scrollbar-thumb-active)}*::-webkit-scrollbar-corner{background:transparent}*::-webkit-scrollbar-button{display:none;width:0;height:0}.vf-no-scrollbar{scrollbar-width:none}.vf-no-scrollbar::-webkit-scrollbar{display:none}:root{--vf-nav-w: 256px;--vf-rail-w: 66px;--vf-top-h: 52px;--vf-inset: 12px;--vf-page-max: 1440px;--ui-scale: 1}html[data-motion=reduce]{--duration-instant: 0ms;--duration-fast: 0ms;--duration-base: 0ms;--duration-slow: 0ms;--duration-slower: 0ms}html[data-motion=reduce]::view-transition-old(root),html[data-motion=reduce]::view-transition-new(root){animation:none!important}:root{color-scheme:light}:root[data-theme=dark]{color-scheme:dark}html,body,vf-app{height:100%}html,body{margin:0;overflow:hidden;background:var(--canvas)}vf-app{display:block}a{color:var(--accent-fg)}a:hover{color:var(--text-primary)}.app{display:flex;height:100%;min-height:0;padding:var(--vf-inset) 0 var(--vf-inset) var(--vf-inset);box-sizing:border-box;gap:0}.app-main{flex:1;min-width:0;display:flex;flex-direction:column;min-height:0}.app-page{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;padding:8px 28px 40px;animation:vf-rise var(--duration-slow) var(--ease-emphasized)}.app-page>*{max-width:var(--vf-page-max);margin:0 auto}.app-page[data-bleed]{padding:0 12px 12px;overflow:hidden;display:flex}.app-page[data-bleed]>*{max-width:none;margin:0;flex:1;min-width:0}.app-page>router-outlet{display:none}@media(max-width:760px){.app{padding:0;flex-direction:column}.app-main{padding-bottom:0;min-height:0}.app-page{overflow-x:hidden;padding-left:12px;padding-right:12px}.app-page[data-bleed]{padding:0}}.vf-stack{display:flex;flex-direction:column;gap:var(--gap-grid)}.vf-grid{display:grid;gap:var(--gap-grid);grid-template-columns:repeat(12,minmax(0,1fr));align-items:stretch}.vf-grid>*{min-width:0}.vf-span-3{grid-column:span 3}.vf-span-4{grid-column:span 4}.vf-span-5{grid-column:span 5}.vf-span-6{grid-column:span 6}.vf-span-7{grid-column:span 7}.vf-span-8{grid-column:span 8}.vf-span-12{grid-column:span 12}@media(max-width:1100px){.vf-span-3{grid-column:span 6}.vf-span-4,.vf-span-5,.vf-span-7,.vf-span-8,.vf-span-6{grid-column:span 12}}@media(max-width:640px){.vf-span-3{grid-column:span 12}}.vf-cols{display:grid;gap:var(--gap-grid);grid-template-columns:repeat(var(--cols, 2),minmax(0,1fr))}.vf-fill-row{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:8px}.vf-kpis{display:grid;grid-template-columns:repeat(4,minmax(0,1fr))}.vf-kpis>*{padding:18px var(--card-pad);border-left:1px solid var(--border-hairline)}.vf-kpis>*:first-child{border-left:0}@media(max-width:900px){.vf-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.vf-kpis>*:nth-child(3){border-left:0}.vf-kpis>*:nth-child(n+3){border-top:1px solid var(--border-hairline)}}.vf-card--fill{display:flex;flex-direction:column;height:100%}.vf-card--fill>.vf-card-body,.vf-card--fill>.vf-card-body--flush{flex:1}.vf-line-box{display:flex;align-items:center;justify-content:center;height:20px;flex:0 0 auto}@keyframes vf-pop{0%{opacity:0;transform:scale(.6) translateY(-1px) rotate(-45deg)}to{opacity:1}}@keyframes vf-pop-in{0%{opacity:0;transform:scale(.97) translateY(-3px)}to{opacity:1;transform:none}}@keyframes vf-slide-in{0%{opacity:0;transform:translate(16px)}to{opacity:1;transform:none}}@keyframes vf-fade-out{to{opacity:0}}@keyframes vf-sink{to{opacity:0;transform:translateY(6px) scale(.98)}}@keyframes vf-drawer-in{0%{transform:translate(100%)}to{transform:none}}@keyframes vf-drawer-out{to{transform:translate(100%)}}@keyframes vf-badge-in{0%{transform:scale(.4);opacity:0}70%{transform:scale(1.12)}to{transform:scale(1);opacity:1}}@keyframes vf-live{0%{box-shadow:0 0 color-mix(in oklab,var(--status-ok-dot) 55%,transparent)}70%{box-shadow:0 0 0 7px color-mix(in oklab,var(--status-ok-dot) 0%,transparent)}to{box-shadow:0 0 0 0 transparent}}.vf-page{animation:vf-rise var(--duration-slow) var(--ease-out)}.vf-stagger>*{animation:vf-rise var(--duration-slow) var(--ease-out) both}.vf-stagger>*:nth-child(2){animation-delay:40ms}.vf-stagger>*:nth-child(3){animation-delay:80ms}.vf-stagger>*:nth-child(4){animation-delay:.12s}.vf-stagger>*:nth-child(5){animation-delay:.16s}.vf-stagger>*:nth-child(n+6){animation-delay:.2s}@media(prefers-reduced-motion:reduce){.vf-stagger>*,.vf-page,.app-page{animation:none!important}}html[data-motion=reduce] .vf-stagger>*,html[data-motion=reduce] .vf-page,html[data-motion=reduce] .app-page{animation:none!important}.vf-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;height:var(--control-md);padding:0 14px;border-radius:var(--radius-control);border:1px solid transparent;font:var(--type-label);font-size:var(--text-md);white-space:nowrap;cursor:pointer;-webkit-user-select:none;user-select:none;transition:background-color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out),opacity var(--duration-fast) var(--ease-out);text-decoration:none}.vf-btn:hover{text-decoration:none}.vf-btn--sm{height:var(--control-sm);padding:0 10px;font-size:var(--text-sm);gap:5px;border-radius:7px}.vf-btn--lg{height:var(--control-lg);padding:0 18px}.vf-btn--primary{background:var(--primary-bg);color:var(--primary-fg)}.vf-btn--primary:hover{background:var(--primary-bg-hover);color:var(--primary-fg)}.vf-btn--accent{background:var(--accent);color:var(--accent-on)}.vf-btn--accent:hover{background:var(--accent-hover);color:var(--accent-on)}.vf-btn--secondary{background:var(--surface-1);color:var(--text-primary);border-color:var(--border-default);box-shadow:var(--shadow-xs)}.vf-btn--secondary:hover{background:var(--surface-2);border-color:var(--border-strong);color:var(--text-primary)}.vf-btn--ghost{background:transparent;color:var(--text-body)}.vf-btn--ghost:hover{background:var(--surface-hover);color:var(--text-primary)}.vf-btn--danger{background:var(--surface-1);color:var(--status-fault-fg);border-color:var(--border-default)}.vf-btn--danger:hover{background:var(--status-fault-bg);border-color:color-mix(in oklab,var(--status-fault-fg) 30%,transparent)}.vf-btn:active:not(:disabled){transform:scale(.97);filter:brightness(.97);transition-duration:var(--duration-instant)}.vf-btn .vf-icon{transition:transform var(--duration-fast) var(--ease-out)}.vf-btn:hover .vf-icon[data-trail]{transform:translate(2px)}.vf-btn .vf-icon[data-trail]{margin-right:-2px;opacity:.7}.vf-btn--dangerSolid{background:var(--coral-500);color:var(--mist-0)}.vf-btn--dangerSolid:hover{background:var(--coral-600);color:var(--mist-0)}.vf-btn:disabled{opacity:.45;cursor:not-allowed}.vf-btn--icon{width:var(--control-md);padding:0}.vf-btn--icon.vf-btn--sm{width:var(--control-sm)}.vf-btn--icon.vf-btn--lg{width:var(--control-lg)}.vf-btn .vf-kbd{margin-left:4px}.vf-kbd{display:inline-flex;align-items:center;height:18px;padding:0 5px;border-radius:5px;background:var(--surface-sunken);color:var(--text-muted);font:500 11px/1 var(--font-sans)}.vf-kbd{white-space:nowrap}.vf-btn .vf-spinner{flex:0 0 auto;border-color:color-mix(in oklab,currentColor 25%,transparent);border-top-color:currentColor}.vf-btn[aria-busy=true]{cursor:progress}.vf-btn[aria-busy=true]:disabled{opacity:1;cursor:progress}.vf-specimen-col{display:flex;flex-direction:column;gap:14px}.vf-specimen-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center}.vf-specimen-label{font:var(--type-caption);color:var(--text-muted);width:72px;flex:0 0 auto}.vf-specimen-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px}.vf-specimen-stack{display:flex;flex-direction:column;gap:10px}.vf-specimen-fill{flex:1;min-width:0;max-width:360px}.vf-specimen-icons{display:flex;flex-wrap:wrap;gap:6px}.vf-specimen-icon{display:flex;flex-direction:column;align-items:center;gap:6px;width:68px;color:var(--text-secondary)}.vf-specimen-icon--wide{width:112px}.vf-specimen-icon-name{font:11px var(--font-mono);color:var(--text-muted);text-align:center;overflow-wrap:anywhere}.vf-field{display:flex;flex-direction:column;gap:6px;min-width:0}.vf-label{font:var(--type-label);color:var(--text-primary)}.vf-hint{font:var(--type-caption);color:var(--text-muted)}.vf-hint--error{color:var(--status-fault-fg)}.vf-input{display:flex;align-items:center;gap:8px;height:var(--control-md);padding:0 12px;border-radius:var(--radius-control);background:var(--surface-1);border:1px solid var(--border-default);box-shadow:var(--shadow-xs);color:var(--text-muted);transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out);text-align:left;font:var(--type-body);min-width:0}.vf-input:hover{border-color:var(--border-strong)}.vf-input:focus-within,.vf-select[data-open]{border-color:var(--border-focus);box-shadow:0 0 0 3px color-mix(in oklab,var(--border-focus) 18%,transparent)}.vf-input input:focus,.vf-input input:focus-visible,.vf-input select:focus-visible{outline:none;box-shadow:none;border-radius:0}.vf-input:has(input:focus-visible){background:var(--surface-1)}.vf-input--sm{height:var(--control-sm);padding:0 9px;border-radius:7px}.vf-input--soft{background:color-mix(in oklab,var(--text-primary) 5.5%,transparent);border-color:transparent}.vf-input--soft:hover{border-color:transparent;background:color-mix(in oklab,var(--text-primary) 8%,transparent)}.vf-input--invalid{border-color:color-mix(in oklab,var(--status-fault-fg) 55%,transparent)}.vf-input input{all:unset}.vf-input input::-webkit-search-cancel-button,.vf-input input::-webkit-search-decoration{-webkit-appearance:none;appearance:none}.vf-input input,.vf-input select{flex:1;min-width:0;height:100%;border:0;outline:0;background:transparent;color:var(--text-primary);font:var(--type-body);padding:0;appearance:none;-webkit-appearance:none}.vf-input--sm input,.vf-input--sm select{font-size:var(--text-sm)}.vf-input input::placeholder{color:var(--text-faint)}.vf-input:has(input:disabled),.vf-input:has(select:disabled){opacity:.5}.vf-input select{cursor:pointer}.vf-check{display:inline-flex;align-items:center;gap:10px;cursor:pointer;font:var(--type-body);color:var(--text-body)}.vf-check input{appearance:none;-webkit-appearance:none;margin:0;width:16px;height:16px;border-radius:5px;border:1px solid var(--border-strong);background:var(--surface-1);display:grid;place-content:center;transition:all var(--duration-fast) var(--ease-out);flex:0 0 auto;cursor:pointer}.vf-check input[type=radio]{border-radius:50%}.vf-check input:hover{border-color:var(--text-muted)}.vf-check input:checked{background:var(--primary-bg);border-color:var(--primary-bg)}.vf-check input[type=checkbox]:checked:after{animation:vf-pop var(--duration-base) var(--ease-emphasized);content:"";width:8px;height:4.5px;border-left:1.6px solid var(--primary-fg);border-bottom:1.6px solid var(--primary-fg);transform:translateY(-1px) rotate(-45deg)}.vf-check input[type=radio]:checked{background:var(--surface-1);border:5px solid var(--primary-bg)}.vf-check input:disabled{opacity:.45;cursor:not-allowed}.vf-check input:focus-visible{box-shadow:var(--focus-ring)}.vf-switch{position:relative;display:inline-flex;align-items:center;gap:10px;cursor:pointer;font:var(--type-body);color:var(--text-body)}.vf-switch input{appearance:none;-webkit-appearance:none;margin:0;width:32px;height:18px;border-radius:999px;background:var(--border-default);position:relative;cursor:pointer;transition:background-color var(--duration-base) var(--ease-out);flex:0 0 auto}.vf-switch input:after{content:"";position:absolute;top:2px;left:2px;width:14px;height:14px;border-radius:50%;background:var(--mist-0);box-shadow:0 1px 2px #0000002e;transition:transform var(--duration-base) var(--ease-emphasized)}.vf-switch input:checked{background:var(--accent)}.vf-switch input:checked:after{transform:translate(14px)}.vf-switch input:disabled{opacity:.45;cursor:not-allowed}.vf-radio-group{display:flex;flex-direction:column;align-items:flex-start;gap:10px}.vf-radio-group--row{flex-direction:row;flex-wrap:wrap;column-gap:var(--space-5)}.vf-input input[type=time]::-webkit-calendar-picker-indicator{opacity:.5;cursor:pointer}.vf-select{cursor:pointer;width:100%;color:var(--text-muted)}.vf-select:focus-visible{outline:none;border-color:var(--border-focus);box-shadow:0 0 0 3px color-mix(in oklab,var(--border-focus) 18%,transparent);border-radius:var(--radius-control)}.vf-select:disabled{opacity:.5;cursor:not-allowed}.vf-select-value{flex:1;min-width:0;color:var(--text-primary);font:var(--type-body);white-space:nowrap}.vf-input--sm .vf-select-value{font-size:var(--text-sm)}.vf-select-value[data-empty]{color:var(--text-faint)}.vf-select .vf-select-chev{opacity:.6;transition:transform var(--duration-fast) var(--ease-out)}.vf-select[data-open] .vf-select-chev{transform:rotate(180deg)}.vf-input--soft{box-shadow:none}.vf-seg{display:inline-flex;align-items:center;gap:2px;padding:3px;border-radius:10px;background:color-mix(in oklab,var(--text-primary) 6%,transparent);width:max-content;max-width:100%;align-self:flex-start}.vf-seg--fill{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);width:100%;align-self:stretch}.vf-seg--fill button{justify-content:center}.vf-seg button{height:26px;padding:0 10px;border:0;border-radius:7px;background:transparent;color:var(--text-muted);font:var(--type-label);cursor:pointer;display:inline-flex;align-items:center;gap:6px;transition:all var(--duration-fast) var(--ease-out)}.vf-seg button:hover{color:var(--text-primary)}.vf-seg button:active{transform:scale(.97)}.vf-seg button[aria-pressed=true]{background:var(--surface-1);color:var(--text-primary);box-shadow:var(--shadow-sm)}[data-theme=dark] .vf-seg{background:color-mix(in oklab,var(--text-primary) 7%,transparent)}[data-theme=dark] .vf-seg button[aria-pressed=true]{background:color-mix(in oklab,var(--text-primary) 16%,transparent);box-shadow:0 0 0 1px color-mix(in oklab,var(--text-primary) 8%,transparent)}.vf-seg--plain{background:transparent;padding:0}.vf-seg--plain button[aria-pressed=true]{background:var(--surface-sunken);box-shadow:none}.vf-seg button:disabled{opacity:.45;cursor:not-allowed}.vf-seg button:disabled:not([aria-pressed=true]):hover{color:var(--text-muted)}.vf-seg button:disabled:active{transform:none}.vf-menu{min-width:220px;padding:5px;border-radius:var(--radius-popover);background:var(--surface-overlay);border:1px solid var(--border-subtle);box-shadow:var(--shadow-lg);animation:vf-rise var(--duration-base) var(--ease-out)}.vf-menu-item{transition:background-color var(--duration-instant) var(--ease-out),color var(--duration-instant) var(--ease-out);display:flex;align-items:center;gap:10px;width:100%;min-height:32px;padding:6px 9px;border:0;border-radius:8px;background:transparent;color:var(--text-body);font:var(--type-body);text-align:left;cursor:pointer}.vf-menu-item:hover,.vf-menu-item[data-active=true]{background:var(--surface-hover);color:var(--text-primary)}.vf-menu-item[aria-disabled=true]{opacity:.45;pointer-events:none}.vf-menu-item--danger{color:var(--status-fault-fg)}.vf-menu-item--danger .vf-icon{color:var(--status-fault-fg)!important}.vf-menu-item--danger:hover,.vf-menu-item--danger[data-active=true]{background:var(--status-fault-bg);color:var(--status-fault-fg)}.vf-menu-item .vf-menu-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:1px}.vf-menu-item .vf-menu-desc{font:var(--type-caption);color:var(--text-muted)}.vf-menu-item .vf-menu-trail{margin-left:auto;display:inline-flex;align-items:center;gap:6px;color:var(--text-muted);font:var(--type-body-sm)}.vf-menu-item .vf-menu-check{color:var(--accent)}.vf-menu-sep{height:1px;background:var(--border-subtle);margin:5px 4px}.vf-menu-label{padding:6px 9px 4px;font:var(--type-caption);color:var(--text-muted)}.vf-tooltip{display:inline-flex;align-items:center;gap:8px;max-width:280px;padding:5px 10px;border-radius:8px;background:var(--surface-inverse);color:var(--mist-50);font:500 13px/1.35 var(--font-sans);box-shadow:0 4px 12px -2px #00000038;animation:vf-tip var(--duration-fast) var(--ease-out)}@keyframes vf-tip{0%{opacity:0;transform:translate(var(--tip-x, 0),2px)}to{opacity:1;transform:translate(var(--tip-x, 0))}}.vf-tooltip .vf-kbd{background:#ffffff1f;color:#ffffffb3;height:17px}.vf-tooltip-muted{color:#ffffff8c}.vf-pop{animation:vf-pop-in var(--duration-base) var(--ease-emphasized)}@media(prefers-reduced-motion:reduce){.vf-pop{animation:none!important}}html[data-motion=reduce] .vf-pop{animation:none!important}.vf-popwrap{background:transparent;border-radius:var(--radius-popover)}.vf-menu-item[data-hi=true]{background:var(--surface-hover);color:var(--text-primary)}.vf-menu-label{padding-left:9px;padding-right:9px}.vf-popover{overflow-y:auto;overscroll-behavior:contain}.vf-popover--flush{padding:0}.vf-popover:focus-visible{box-shadow:var(--shadow-lg),var(--focus-ring)}.vf-pop[data-side=top]{animation-name:vf-pop-in-above}@keyframes vf-pop-in-above{0%{opacity:0;transform:scale(.97) translateY(3px)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.vf-pop[data-side=top]{animation:none!important}}html[data-motion=reduce] .vf-pop[data-side=top]{animation:none!important}.vf-menu-bare{display:block}.vf-menu-icon{color:var(--text-secondary)}.vf-menu-item--danger .vf-menu-icon{color:var(--status-fault-fg)}.vf-menu-item:focus-visible{background:var(--surface-hover);color:var(--text-primary)}.vf-menu-item--danger:focus-visible{background:var(--status-fault-bg);color:var(--status-fault-fg)}.cdk-overlay-pane.vf-tooltip-pane{pointer-events:none}.vf-tooltip-pane .vf-tooltip{max-width:min(280px,calc(100vw - 16px));white-space:normal;text-wrap:pretty}.vf-overlay-demo{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:18px}.vf-select-panel{display:flex;flex-direction:column}.vf-select-search{flex:0 0 auto;padding:8px;border-bottom:1px solid var(--border-hairline)}.vf-select-list{position:relative;flex:1 1 auto;min-height:0;max-height:300px;padding:5px;overflow-y:auto;overscroll-behavior:contain}.vf-select-list .vf-select-group{padding:10px 9px 4px}.vf-select-icon{width:16px;color:var(--text-secondary)}.vf-select-count{margin-left:auto;flex:0 0 auto}.vf-select-check{width:16px;color:var(--accent)}.vf-select-check--end{margin-left:auto}.vf-select-empty{padding:14px 10px;text-align:center;font:var(--type-body-sm);color:var(--text-muted)}.vf-select-lead{display:inline-flex;flex:0 0 auto}vf-card,vf-stat,vf-key-value,vf-vessel-card{display:block;min-width:0}.vf-card{background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:var(--radius-card);box-shadow:var(--shadow-xs);min-width:0}.vf-card--flat{box-shadow:none}.vf-card--sunken{background:var(--surface-sunken);border-color:transparent;box-shadow:none}.vf-card--interactive{cursor:pointer;transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-base) var(--ease-out),transform var(--duration-base) var(--ease-out)}.vf-card--interactive:hover{border-color:var(--border-default);box-shadow:var(--shadow-md);transform:translateY(-1px)}.vf-card:focus-visible{border-radius:var(--radius-card);box-shadow:var(--focus-ring)}a.vf-card,a.vf-card:hover{display:block;color:inherit;text-decoration:none}.vf-card-head{display:flex;align-items:center;gap:10px;padding:16px var(--card-pad) 0}.vf-card-head--divided{padding-bottom:14px;border-bottom:1px solid var(--border-hairline)}.vf-card-heading{min-width:0}.vf-card-title{display:flex;align-items:center;gap:8px;font:var(--type-heading);color:var(--text-primary);letter-spacing:var(--tracking-tight);min-width:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.vf-card-title .vf-icon{color:var(--text-muted)}.vf-card-sub{font:var(--type-caption);color:var(--text-muted);margin-top:2px}.vf-card-actions{margin-left:auto;display:flex;align-items:center;gap:6px}.vf-card-body{padding:16px var(--card-pad) var(--card-pad)}.vf-card-body--flush{padding:8px 0 0}.vf-card-tiles{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;padding:10px}.vf-card-bare{padding:0}.vf-card-list{display:flex;flex-direction:column;gap:2px;padding:8px 8px 10px}.vf-card-foot{display:flex;align-items:center;gap:8px;padding:12px var(--card-pad);border-top:1px solid var(--border-hairline);background:var(--surface-2);border-radius:0 0 var(--radius-card) var(--radius-card);color:var(--text-muted);font:var(--type-body-sm)}.vf-card-foot-end{margin-left:auto}.vf-stat-main{display:flex;flex-direction:column;gap:4px;min-width:0}.vf-stat--lg .vf-stat-main{gap:8px}.vf-stat-label{display:flex;align-items:center;gap:6px;font:var(--type-body-sm);color:var(--text-muted)}.vf-stat-value{display:flex;align-items:baseline;gap:4px;color:var(--text-primary)}.vf-stat-num{font:var(--type-metric-sm);letter-spacing:var(--tracking-display)}.vf-stat--lg .vf-stat-num{font:var(--type-metric)}.vf-stat-unit{font:var(--type-body-sm);color:var(--text-muted)}.vf-stat-foot{display:flex;align-items:center;gap:6px;font:var(--type-caption);color:var(--text-muted)}.vf-stat-delta{font-weight:500;color:var(--text-muted)}.vf-stat-delta[data-tone=up]{color:var(--status-ok-fg)}.vf-stat-delta[data-tone=down]{color:var(--status-fault-fg)}.vf-stat--spark{display:grid;grid-template-columns:minmax(0,1fr) 72px;gap:10px;align-items:end}.vf-stat-spark{min-width:0}.vf-stat--tile{background:var(--surface-1);border-radius:10px;padding:14px;box-shadow:var(--shadow-xs)}.vf-avatar-host{position:relative;display:inline-flex;flex:0 0 auto}.vf-avatar{position:relative;display:inline-grid;place-items:center;flex:0 0 auto;border-radius:50%;background:var(--surface-sunken);color:var(--text-secondary);font-weight:600;overflow:hidden}.vf-avatar img{width:100%;height:100%;object-fit:cover}.vf-avatar--square{border-radius:28%}.vf-avatar[data-colour]{background:color-mix(in oklab,var(--vf-avatar-colour) 16%,var(--surface-1));color:color-mix(in oklab,var(--vf-avatar-colour) 78%,var(--text-primary))}.vf-avatar--photo[data-colour]{background:var(--surface-sunken);outline:2px solid var(--vf-avatar-colour);outline-offset:-2px}.vf-avatar--ring{box-shadow:0 0 0 3px var(--surface-1),0 0 0 4px var(--vf-avatar-colour, var(--border-subtle))}.vf-avatar-badge{position:absolute;right:-1px;bottom:-1px;display:inline-flex}.vf-row-dot,.vf-vcard-status{--vf-tone-bg: var(--status-idle-bg);--vf-tone-fg: var(--status-idle-fg);--vf-tone-dot: var(--status-idle-dot)}.vf-row-tile{--vf-tone-bg: var(--surface-sunken);--vf-tone-fg: var(--text-secondary)}.vf-row-tile[data-tone=accent]{--vf-tone-bg: var(--surface-accent);--vf-tone-fg: var(--accent-fg)}:is(.vf-row-tile,.vf-row-dot,.vf-vcard-status)[data-tone=ok]{--vf-tone-bg: var(--status-ok-bg);--vf-tone-fg: var(--status-ok-fg);--vf-tone-dot: var(--status-ok-dot)}:is(.vf-row-tile,.vf-row-dot,.vf-vcard-status)[data-tone=info]{--vf-tone-bg: var(--status-info-bg);--vf-tone-fg: var(--status-info-fg);--vf-tone-dot: var(--status-info-dot)}:is(.vf-row-tile,.vf-row-dot,.vf-vcard-status)[data-tone=warn]{--vf-tone-bg: var(--status-warn-bg);--vf-tone-fg: var(--status-warn-fg);--vf-tone-dot: var(--status-warn-dot)}:is(.vf-row-tile,.vf-row-dot,.vf-vcard-status)[data-tone=fault]{--vf-tone-bg: var(--status-fault-bg);--vf-tone-fg: var(--status-fault-fg);--vf-tone-dot: var(--status-fault-dot)}.vf-row{display:flex;align-items:center;gap:12px;min-height:40px;padding:6px 10px;border-radius:9px;color:var(--text-body);transition:background-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}button.vf-row{width:100%;border:0;background:transparent;text-align:left;font:inherit}a.vf-row,a.vf-row:hover{color:var(--text-body);text-decoration:none}.vf-row--interactive{cursor:pointer}.vf-row--interactive:hover{background:var(--surface-hover)}.vf-row--interactive:active{transform:scale(.995)}.vf-row--interactive:focus-visible{border-radius:9px}.vf-row[aria-selected=true],.vf-row[data-selected]{background:var(--surface-selected)}.vf-row--two{align-items:flex-start}.vf-row--two.vf-row--tile{align-items:center}.vf-row-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:0}.vf-row-title{font:400 14px/20px var(--font-sans);color:var(--text-primary);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vf-row-sub{font:400 12px/16px var(--font-sans);color:var(--text-muted);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vf-row-trail{display:flex;align-items:center;gap:8px;flex:0 0 auto;color:var(--text-muted);font:var(--type-body-sm)}.vf-row-lead{display:flex;align-items:center;justify-content:center;gap:12px;min-width:16px;height:20px;flex:0 0 auto}.vf-row--tile .vf-row-lead{height:auto;min-height:20px}.vf-row-tile{display:grid;place-items:center;flex:0 0 36px;width:36px;min-height:36px;align-self:stretch;border-radius:10px;background:var(--vf-tone-bg);color:var(--vf-tone-fg)}.vf-row-dot{width:7px;height:7px;border-radius:50%;flex:0 0 auto;background:var(--vf-tone-dot)}.vf-row-meta{display:flex;align-items:center;gap:8px;min-height:20px;flex:0 0 auto;font:400 12px/20px var(--font-sans);color:var(--text-muted);white-space:nowrap}.vf-row-slot{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;flex:0 0 auto;color:var(--text-muted)}.vf-row-slot>vf-icon{transition:transform var(--duration-fast) var(--ease-out)}.vf-row--interactive:hover .vf-row-slot>vf-icon{transform:translate(2px)}.vf-kv{display:grid;grid-template-columns:minmax(96px,auto) 1fr;column-gap:16px;row-gap:0;margin:0}.vf-kv dt{padding:9px 0;color:var(--text-muted);font:var(--type-body-sm)}.vf-kv dd{margin:0;padding:9px 0;color:var(--text-primary);font:var(--type-body-sm);display:flex;align-items:center;gap:6px;min-width:0}.vf-kv-missing{color:var(--text-faint)}.vf-vcard{overflow:hidden}.vf-vcard--fill{display:flex;flex-direction:column;height:100%}.vf-vcard-cover{position:relative;height:88px;background:var(--surface-sunken)}.vf-vcard-cover img{display:block;width:100%;height:100%;object-fit:cover}.vf-vcard-body{display:flex;flex-direction:column;gap:16px;padding:0 var(--card-pad) var(--card-pad)}.vf-vcard--fill .vf-vcard-body{flex:1}.vf-vcard-head{display:flex;align-items:flex-end;gap:8px;padding-top:12px}.vf-vcard-photo{margin-top:-40px}.vf-vcard-spacer{flex:1}.vf-vcard-status{display:inline-flex;align-items:center;gap:7px;height:var(--control-md);padding:0 12px;border-radius:999px;font:var(--type-body-sm);font-size:12px;font-weight:500;white-space:nowrap;background:var(--vf-tone-bg);color:var(--vf-tone-fg)}.vf-vcard-status-dot{width:7px;height:7px;border-radius:50%;flex:0 0 auto;background:var(--vf-tone-dot)}.vf-vcard-text{display:flex;flex-direction:column;gap:4px}.vf-vcard-name{font:var(--type-section);letter-spacing:var(--tracking-tight);color:var(--text-primary)}.vf-vcard-desc{font:var(--type-body);color:var(--text-secondary)}.vf-vcard-meta{display:flex;flex-wrap:wrap;gap:16px;font:var(--type-body-sm);color:var(--text-secondary)}.vf-vcard-meta-item{display:inline-flex;align-items:center;gap:6px}.vf-vcard-meta-item .vf-icon{color:var(--text-muted)}.vf-vcard-stats{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:12px;margin:0;padding-top:16px;border-top:1px solid var(--border-hairline)}.vf-vcard-stat{display:flex;flex-direction:column;gap:6px;min-width:0}.vf-vcard-stat dt{font:var(--type-body-sm);color:var(--text-muted)}.vf-vcard-stat dd{margin:0;font:var(--type-metric-sm);color:var(--text-primary);letter-spacing:var(--tracking-tight)}.vf-vcard--fill .vf-vcard-actions{margin-top:auto}.vf-data-specimen{padding:20px;border-radius:var(--radius-card);background:var(--canvas)}.vf-data-specimen-spark{display:block;color:var(--data-1)}@media(prefers-reduced-motion:reduce){.vf-card--interactive:hover,.vf-row--interactive:active,.vf-row--interactive:hover .vf-row-slot>vf-icon{transform:none}}html[data-motion=reduce] .vf-card--interactive:hover,html[data-motion=reduce] .vf-row--interactive:active,html[data-motion=reduce] .vf-row--interactive:hover .vf-row-slot>vf-icon{transform:none}.vf-tag{display:inline-flex;align-items:center;gap:4px;height:20px;padding:0 6px;border-radius:5px;font:600 10.5px/1 var(--font-sans);letter-spacing:.04em;text-transform:uppercase;white-space:nowrap}.vf-tag--gray{color:var(--tag-gray-fg);background:var(--tag-gray-bg)}.vf-tag--blue{color:var(--tag-blue-fg);background:var(--tag-blue-bg)}.vf-tag--green{color:var(--tag-green-fg);background:var(--tag-green-bg)}.vf-tag--amber{color:var(--tag-amber-fg);background:var(--tag-amber-bg)}.vf-tag--red{color:var(--tag-red-fg);background:var(--tag-red-bg)}.vf-tag--violet{color:var(--tag-violet-fg);background:var(--tag-violet-bg)}.vf-tag--soft{text-transform:none;letter-spacing:0;font:500 12px/1 var(--font-sans);height:22px;padding:0 8px;border-radius:6px}.vf-chip{display:inline-flex;align-items:center;gap:5px;height:24px;padding:0 9px;border-radius:999px;background:var(--surface-sunken);color:var(--text-secondary);font:500 12px/1 var(--font-sans);white-space:nowrap}.vf-chip--outline{background:var(--surface-1);border:1px solid var(--border-default)}.vf-chip--button{cursor:pointer;border:1px solid var(--border-default);background:var(--surface-1);height:28px;border-radius:8px;padding:0 10px;color:var(--text-body)}.vf-chip--button:hover{background:var(--surface-2);border-color:var(--border-strong)}.vf-chip--button[aria-pressed=true]{background:var(--surface-accent);border-color:color-mix(in oklab,var(--accent) 35%,transparent);color:var(--accent-fg)}.vf-status{display:inline-flex;align-items:center;gap:7px;font:var(--type-body-sm);color:var(--text-body);white-space:nowrap}.vf-status-dot{width:7px;height:7px;border-radius:50%;flex:0 0 auto}.vf-status--pill{height:22px;padding:0 9px 0 8px;border-radius:999px;font-weight:500;font-size:12px}.vf-chip--button{transition:background-color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),transform var(--duration-instant) var(--ease-out)}.vf-chip--button:active{transform:scale(.97)}.vf-badge{display:inline-grid;place-items:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;font:600 11px/1 var(--font-sans);font-variant-numeric:tabular-nums;animation:vf-badge-in var(--duration-slow) var(--ease-emphasized);flex:0 0 auto}.vf-badge--sm{min-width:16px;height:16px;padding:0 4px;font-size:10px}.vf-badge--accent{background:var(--accent);color:var(--accent-on)}.vf-badge--fault{background:var(--coral-500);color:var(--mist-0)}.vf-badge--ink{background:var(--primary-bg);color:var(--primary-fg)}.vf-badge--neutral{background:var(--surface-active);color:var(--text-secondary)}.vf-badge--dot{min-width:0;width:8px;height:8px;padding:0}.vf-live{display:inline-block;border-radius:50%;flex:0 0 auto;background:transparent;box-shadow:inset 0 0 0 1.5px var(--status-idle-dot)}.vf-live--on{background:var(--status-ok-dot);box-shadow:none;animation:vf-live 2s var(--ease-out) infinite}@media(prefers-reduced-motion:reduce){.vf-live--on,.vf-badge{animation:none!important}}html[data-motion=reduce] .vf-live--on,html[data-motion=reduce] .vf-badge{animation:none!important}.vf-chip,.vf-chip--button{height:var(--control-sm)}.vf-chip--outline{height:var(--control-sm);border-radius:8px}.vf-chip-remove{position:relative;display:inline-flex;align-items:center;justify-content:center;margin-left:2px;padding:0;border:0;border-radius:4px;background:transparent;color:var(--text-muted);cursor:pointer;transition:color var(--duration-fast) var(--ease-out)}.vf-chip-remove:before{content:"";position:absolute;inset:-6px}.vf-chip-remove:hover{color:var(--text-body)}.vf-badge-anchor{position:relative;display:inline-flex}.vf-badge--corner{position:absolute;top:var(--vf-badge-offset, -5px);right:var(--vf-badge-offset, -5px);box-shadow:0 0 0 2px var(--vf-badge-ring, var(--surface-1));pointer-events:none}.vf-tags-specimen-badges{display:grid;grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;align-items:center;justify-items:center;max-width:360px}.vf-tags-specimen-tiles{display:grid;grid-template-columns:1fr 1fr;gap:12px;max-width:480px}.vf-tags-specimen-tile{display:flex;align-items:center;justify-content:center;gap:10px;height:96px;border-radius:12px;background:var(--surface-sunken);font:var(--type-label);color:var(--text-primary)}.vf-tags-specimen-note{font:var(--type-body-sm);color:var(--text-muted)}.vf-skeleton{background:var(--surface-sunken);border-radius:6px;animation:vf-shimmer 1.6s var(--ease-in-out) infinite}vf-skeleton{display:block}.vf-spinner{display:inline-block;border-radius:50%;border:2px solid var(--border-default);border-top-color:var(--text-primary);animation:vf-spin .8s linear infinite}vf-spinner{flex:0 0 auto}.vf-state-sr{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.vf-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px;padding:32px 24px}.vf-empty--compact{padding:8px 0}.vf-empty-tile{display:grid;place-items:center;width:40px;height:40px;border-radius:12px;background:var(--surface-sunken);color:var(--text-secondary);margin-bottom:6px;flex-shrink:0}.vf-empty-title{margin:0;font-family:var(--font-sans);font-size:var(--text-md);font-weight:var(--weight-medium);line-height:24px;color:var(--text-primary);max-width:480px;text-wrap:balance;flex-shrink:0}.vf-empty-desc{margin:0;font-family:var(--font-sans);font-size:var(--text-sm);font-weight:var(--weight-regular);line-height:20px;color:var(--text-muted);max-width:440px;text-wrap:pretty;flex-shrink:0}.vf-empty-action{margin-top:10px}.vf-empty-action:empty{display:none}.vf-view-state{display:block;min-width:0}.vf-view-state--fill{display:flex;flex-direction:column;flex:1;min-height:0}.vf-view-state--fill>.vf-view-loading{display:flex;flex-direction:column;flex:1;min-height:0}.vf-view-panel{padding:48px 20px}.vf-bar{position:relative;border-radius:999px;background:var(--data-track);overflow:hidden}vf-progress-bar{display:block}.vf-bar-fill{display:block;position:relative;height:100%;min-width:0;border-radius:999px;background:var(--accent);transition:width var(--duration-slower) var(--ease-emphasized),background-color var(--duration-base) var(--ease-out);animation:vf-bar-in var(--duration-slower) var(--ease-emphasized)}.vf-bar-fill[data-tone=ok]{background:var(--status-ok-dot)}.vf-bar-fill[data-tone=warn]{background:var(--status-warn-dot)}.vf-bar-fill[data-tone=fault]{background:var(--status-fault-dot)}.vf-bar-fill[data-tone=info]{background:var(--status-info-dot)}@keyframes vf-bar-in{0%{width:0}}@keyframes vf-tick-up{0%{color:var(--status-ok-fg)}to{color:inherit}}.vf-tick-up{animation:vf-tick-up .9s var(--ease-out)}.vf-ring{display:inline-flex;flex:0 0 auto;vertical-align:middle}.vf-ring>svg{display:block;overflow:visible;transform:rotate(-90deg)}.vf-ring-track{stroke:var(--data-track)}.vf-ring-value{stroke:var(--accent);transition:stroke-dashoffset var(--duration-slower) var(--ease-emphasized),stroke var(--duration-base) var(--ease-out);animation:vf-ring-in var(--duration-slower) var(--ease-emphasized)}.vf-ring-value[data-tone=ok]{stroke:var(--status-ok-dot)}.vf-ring-value[data-tone=warn]{stroke:var(--status-warn-dot)}.vf-ring-value[data-tone=fault]{stroke:var(--status-fault-dot)}.vf-ring-value[data-tone=info]{stroke:var(--status-info-dot)}@keyframes vf-ring-in{0%{stroke-dashoffset:100px}}vf-page-skeleton{display:flex;flex-direction:column;min-width:0;animation:vf-sk-in var(--duration-base) var(--ease-out)}.vf-page-skeleton--fill{flex:1;min-height:0}@keyframes vf-sk-in{0%{opacity:0}}.vf-sk{display:flex;flex-direction:column;gap:16px;min-width:0}.vf-sk-l{flex:1;min-width:0;display:flex;flex-direction:column;gap:8px}.vf-sk-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;padding-top:4px}.vf-sk-title{margin:0;font:600 24px/32px var(--font-sans);letter-spacing:-.01em;color:var(--text-primary)}.vf-sk-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));border:1px solid var(--border-subtle);border-radius:var(--radius-card);background:var(--surface-1)}.vf-sk-stat{display:flex;flex-direction:column;gap:8px;padding:16px 18px;min-width:0}.vf-sk-strip>.vf-sk-stat+.vf-sk-stat{border-left:1px solid var(--border-hairline)}.vf-sk-row{display:flex;align-items:center;gap:12px;min-height:52px;padding:8px 14px}.vf-sk-2col{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:var(--gap-grid, 16px)}.vf-sk-pad{padding:18px;display:flex;flex-direction:column;gap:14px}.vf-sk-tabs{display:flex;gap:24px;padding:10px 2px 12px;border-bottom:1px solid var(--border-subtle)}.vf-sk-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:var(--gap-grid, 16px)}.vf-sk-vcard{padding:12px;display:flex;flex-direction:column;gap:14px}.vf-sk-vcard-m{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:0 4px 4px}.vf-sk-split{flex:1;display:grid;grid-template-columns:340px minmax(0,1fr);gap:12px;min-height:0}.vf-sk-split--wide{grid-template-columns:minmax(0,1.1fr) minmax(0,1fr)}.vf-sk-side{padding:6px 0;display:flex;flex-direction:column;overflow:hidden}.vf-sk-side-top{display:flex;flex-direction:column;gap:8px;padding:8px 14px 10px;border-bottom:1px solid var(--border-hairline);margin-bottom:4px}.vf-sk-bar{flex-direction:row}.vf-sk-ck,.vf-sk-det{padding:20px;display:flex;flex-direction:column;gap:24px}.vf-sk-ck-h{display:flex;align-items:center;gap:12px}.vf-sk-ck-g{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}.vf-sk-ck-gauge{display:flex;flex-direction:column;align-items:center;gap:12px}.vf-sk-ck-t{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.vf-sk-ck-t>.vf-sk-stat{padding:12px 14px;border-radius:12px;background:var(--surface-2)}.vf-sk-ops{flex-direction:row;align-items:flex-start;gap:24px}.vf-sk-ops-nav{width:200px;flex:none;display:flex;flex-direction:column;gap:6px}.vf-sk-ops>.vf-sk{flex:1}.vf-sk-lanes{display:flex;flex-direction:column;gap:14px}.vf-sk-lane{display:grid;grid-template-columns:140px minmax(0,1fr);align-items:center;gap:16px}.vf-sk-lane-t{display:flex;gap:10%;padding:0 4%}.vf-sk-map{position:relative;flex:1;min-height:320px;border-radius:16px;overflow:hidden;display:grid;place-items:center;background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--border-hairline)}.vf-sk-map-grid{position:absolute;inset:0;background-image:linear-gradient(var(--border-subtle) 1px,transparent 1px),linear-gradient(90deg,var(--border-subtle) 1px,transparent 1px);background-size:64px 64px;-webkit-mask-image:radial-gradient(circle at 50% 50%,var(--mist-950) 0,transparent 70%);mask-image:radial-gradient(circle at 50% 50%,var(--mist-950) 0,transparent 70%);animation:vf-sk-map-grid 6s linear infinite}@keyframes vf-sk-map-grid{to{background-position:64px 64px}}.vf-sk-map-card{position:relative;display:flex;flex-direction:column;align-items:center;gap:12px;width:240px;padding:22px 20px 20px;text-align:center}.vf-sk-map-mark{width:48px;height:48px;border-radius:14px;display:grid;place-items:center;background:var(--surface-accent);color:var(--accent)}.vf-sk-map-title{font:600 14px/20px var(--font-sans);color:var(--text-primary)}.vf-sk-map-bar{position:relative;display:block;width:100%;height:3px;border-radius:2px;overflow:hidden;background:var(--surface-sunken)}.vf-sk-map-bar>span{position:absolute;top:0;bottom:0;width:35%;border-radius:2px;background:var(--accent);animation:vf-sk-busy 1.1s var(--ease-out) infinite}@keyframes vf-sk-busy{0%{left:-30%}to{left:100%}}.vf-sk-tile{padding:20px;display:flex;flex-direction:column;gap:10px}.vf-sk-tile--list{gap:12px}.vf-sk-block{padding:20px}.vf-sk-area{display:flex;flex-direction:column;min-width:0}.vf-sk-area--gap{gap:14px}@media(max-width:900px){.vf-sk-2col,.vf-sk-split,.vf-sk-split--wide{grid-template-columns:minmax(0,1fr)}.vf-sk-split>.vf-sk-side{max-height:260px}.vf-sk-ops{flex-direction:column}.vf-sk-ops-nav{width:100%;flex-direction:row}.vf-sk-ck-g,.vf-sk-ck-t{grid-template-columns:repeat(2,minmax(0,1fr))}}@media(max-width:760px){.vf-sk-ops-nav{display:none}.vf-sk-ck-g{grid-template-columns:repeat(3,minmax(0,1fr))}.vf-sk-gauge{width:72px!important;height:72px!important}}@media(prefers-reduced-motion:reduce){.vf-skeleton,.vf-spinner,vf-page-skeleton,.vf-sk-map-grid,.vf-sk-map-bar>span{animation:none}.vf-bar-fill,.vf-ring-value{animation:none!important;transition:none!important}}html[data-motion=reduce] .vf-skeleton,html[data-motion=reduce] .vf-spinner,html[data-motion=reduce] vf-page-skeleton,html[data-motion=reduce] .vf-sk-map-grid,html[data-motion=reduce] .vf-sk-map-bar>span{animation:none}html[data-motion=reduce] .vf-bar-fill,html[data-motion=reduce] .vf-ring-value{animation:none!important;transition:none!important}.vf-nav-item{display:flex;align-items:center;gap:10px;height:32px;padding:0 10px;border-radius:8px;color:var(--text-body);font:var(--type-body);cursor:pointer;border:0;background:transparent;width:100%;text-align:left;text-decoration:none;transition:background-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.vf-nav-item:hover{background:var(--surface-hover);color:var(--text-primary);text-decoration:none}.vf-nav-item[aria-current=page]{background:var(--surface-active);color:var(--text-primary);font-weight:500}.vf-nav-item .vf-icon{color:var(--text-secondary)}.vf-nav-item[aria-current=page] .vf-icon{color:var(--text-primary)}.vf-nav-item .vf-nav-trail{margin-left:auto;color:var(--text-muted);font:var(--type-caption);display:inline-flex;align-items:center;gap:4px}.vf-nav-section{display:flex;align-items:center;justify-content:space-between;height:30px;padding:0 10px;margin-top:14px;font:var(--type-body-sm);color:var(--text-muted)}.vf-nav-count{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 5px;border-radius:999px;background:var(--surface-active);color:var(--text-secondary);font:600 11px/1 var(--font-sans)}.vf-nav-count--alert{background:var(--coral-500);color:var(--mist-0)}.vf-tabs{display:flex;align-items:center;gap:20px;border-bottom:1px solid var(--border-subtle)}.vf-tab{position:relative;height:40px;padding:0;border:0;background:transparent;color:var(--text-muted);font:var(--type-label);font-size:var(--text-md);cursor:pointer;display:inline-flex;align-items:center;gap:6px}.vf-tab:hover,.vf-tab[aria-selected=true]{color:var(--text-primary)}.vf-tab:after{content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;border-radius:2px;background:var(--text-primary);transform:scaleX(0);transition:transform var(--duration-base) var(--ease-emphasized)}.vf-tab{transition:color var(--duration-fast) var(--ease-out)}.vf-tab[aria-selected=true]:after{transform:scaleX(1);content:"";position:absolute;left:0;right:0;bottom:-1px;height:2px;border-radius:2px;background:var(--text-primary)}.vf-crumbs{display:flex;align-items:center;gap:6px;white-space:nowrap;font:var(--type-body-sm);color:var(--text-muted);min-width:0}.vf-crumbs a{color:var(--text-muted)}.vf-crumbs a:hover{color:var(--text-primary);text-decoration:none}.vf-crumbs [aria-current=page]{color:var(--text-primary)}.vf-crumbs-sep{color:var(--text-faint)}.vf-nav-item .vf-icon{transition:background-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.vf-scrollrow-track{overflow-x:auto;scrollbar-width:none;scroll-snap-type:x proximity;padding:2px 0 4px}.vf-scrollrow-track::-webkit-scrollbar{display:none}.vf-scrollrow-track>*{scroll-snap-align:start;flex-shrink:0}.vf-scrollrow-track>table{scroll-snap-align:none}.vf-scrollrow-track:has(>table){scroll-snap-type:none;padding:0}.vf-scrollrow:before,.vf-scrollrow:after{content:"";position:absolute;top:0;bottom:0;width:48px;pointer-events:none;opacity:0;transition:opacity var(--duration-base) var(--ease-out);z-index:1}.vf-scrollrow:before{left:0;background:linear-gradient(90deg,var(--scrollrow-fade, var(--sheet)),transparent)}.vf-scrollrow:after{right:0;background:linear-gradient(270deg,var(--scrollrow-fade, var(--sheet)),transparent)}.vf-scrollrow[data-l=true]:before,.vf-scrollrow[data-r=true]:after{opacity:1}.vf-scrollrow-btn{position:absolute;top:50%;z-index:2;opacity:0;pointer-events:none;transition:opacity var(--duration-base) var(--ease-out),transform var(--duration-base) var(--ease-out)}.vf-scrollrow-btn[data-side=left]{left:8px;transform:translate(-4px,-50%)}.vf-scrollrow-btn[data-side=right]{right:8px;transform:translate(4px,-50%)}.vf-scrollrow-btn[data-show=true]{opacity:1;pointer-events:auto;transform:translateY(-50%)}.vf-nav-slot{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;margin-left:auto;flex:0 0 auto}.vf-nav-slot .vf-btn{width:20px!important;height:20px!important;padding:0;border-radius:6px}.vf-nav-slot .vf-btn .vf-icon{width:14px!important;height:14px!important}.vf-nav-item .vf-nav-trail+.vf-nav-slot{margin-left:6px}.vf-pagetabs{display:flex;align-items:center;gap:12px;border-bottom:1px solid var(--border-subtle)}.vf-pagetabs-list{display:flex;gap:4px;flex:1;min-width:0;overflow-x:auto;scrollbar-width:none}.vf-pagetabs-list::-webkit-scrollbar{display:none}.vf-pagetab{flex:0 0 auto}.vf-pagetab{position:relative;display:inline-flex;align-items:center;gap:8px;height:44px;padding:0 12px;border:0;background:transparent;color:var(--text-muted);font:500 14px/20px var(--font-sans);cursor:pointer;white-space:nowrap;transition:color var(--duration-fast) var(--ease-out)}.vf-pagetab:after{content:"";position:absolute;left:12px;right:12px;bottom:-1px;height:2px;border-radius:2px;background:var(--text-primary);transform:scaleX(0);transition:transform var(--duration-base) var(--ease-emphasized)}.vf-pagetab:hover,.vf-pagetab[aria-selected=true]{color:var(--text-primary)}.vf-pagetab[aria-selected=true]:after{transform:scaleX(1)}.vf-pagetabs-actions{display:flex;gap:8px;align-items:center}.vf-rail{display:flex;flex-direction:column;align-items:center;gap:4px;width:var(--sidebar-collapsed);padding:12px 8px;background:var(--sidebar-bg)}.vf-rail-item{position:relative;width:44px;height:44px;border:0;border-radius:10px;display:grid;place-items:center;background:transparent;color:var(--text-secondary);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.vf-rail-item:hover{background:var(--surface-hover);color:var(--text-primary)}.vf-rail-item[aria-current=page]{background:var(--surface-active);color:var(--text-primary)}.vf-tab{flex:0 0 auto;white-space:nowrap}.vf-tab:disabled,.vf-pagetab:disabled{opacity:.45;cursor:not-allowed}.vf-tab:disabled:hover,.vf-pagetab:disabled:hover{color:var(--text-muted)}.vf-pagetabs-list{padding-bottom:1px;margin-bottom:-1px}.vf-pagetabs-actions:empty{display:none}.vf-page-header{display:flex;flex-direction:column;gap:16px}.vf-page-header-row{display:flex;align-items:flex-start;gap:14px;flex-wrap:wrap}.vf-page-header-text{flex:1;min-width:220px}.vf-page-header-eyebrow{margin-bottom:6px}.vf-page-header-description{margin-top:6px;max-width:640px;color:var(--text-secondary);font:var(--type-body);text-wrap:pretty}.vf-page-header-actions{display:flex;align-items:center;gap:8px;flex-wrap:wrap}.vf-page-header-actions:empty{display:none}.vf-crumbs-button{padding:0;border:0;background:transparent;color:var(--text-muted);font:inherit;cursor:pointer;transition:color var(--duration-fast) var(--ease-out)}.vf-crumbs-button:hover{color:var(--text-primary)}.vf-scrollrow{position:relative;display:block;min-width:0}.vf-scrollrow-track{display:flex}.vf-card .vf-scrollrow{--scrollrow-fade: var(--surface-1)}.vf-card--sunken .vf-scrollrow{--scrollrow-fade: var(--surface-sunken)}.vf-scrollrow-btn .vf-btn{border-radius:999px;box-shadow:var(--shadow-md)}.vf-scrollrow-btn .vf-btn:focus-visible{box-shadow:var(--focus-ring),var(--shadow-md)}.vf-nav-specimen-sheet{display:flex;flex-direction:column;gap:14px;padding:14px 22px 0;border-radius:12px;background:var(--sheet);box-shadow:var(--shadow-sheet)}.vf-nav-specimen-strip{padding:8px 20px 0}.vf-nav-specimen-tile{display:flex;flex-direction:column;gap:4px;flex:0 0 220px;padding:16px var(--card-pad);border:1px solid var(--border-subtle);border-radius:var(--radius-card);background:var(--surface-1)}.vf-nav-specimen-tile-title{font:var(--type-label);color:var(--text-primary)}.vf-nav-specimen-tile-meta{font:var(--type-caption);color:var(--text-muted)}.vf-nav-specimen-panel{font:var(--type-body-sm);color:var(--text-secondary)}.vf-scrim{position:fixed;inset:0;background:var(--surface-scrim);display:grid;place-items:center;padding:24px;animation:vf-fade var(--duration-base) var(--ease-out);z-index:50}@keyframes vf-fade{0%{opacity:0}to{opacity:1}}.vf-dialog{position:relative;width:min(480px,100%);background:var(--surface-overlay);border-radius:var(--radius-dialog);box-shadow:var(--shadow-overlay);animation:vf-rise var(--duration-slow) var(--ease-emphasized);overflow:hidden}.vf-dialog-head{display:flex;flex-direction:column;gap:16px;padding:24px 24px 0}.vf-dialog-head[data-closable]{padding-right:64px}.vf-dialog-head--divided{padding-bottom:20px;border-bottom:1px solid var(--border-hairline)}.vf-dialog-bar{display:flex;align-items:center;justify-content:space-between;gap:16px}.vf-dialog-tile{width:36px;height:36px;border-radius:10px;display:grid;place-items:center;flex:0 0 auto}.vf-dialog-close .vf-icon{transition:transform var(--duration-base) var(--ease-emphasized)}.vf-dialog-close:hover .vf-icon{transform:rotate(90deg)}.vf-dialog-title{font:600 18px/24px var(--font-sans);letter-spacing:var(--tracking-tight);color:var(--text-primary)}.vf-dialog-desc{font:var(--type-body);color:var(--text-secondary);text-wrap:pretty}.vf-dialog-body{padding:20px 24px 24px}.vf-dialog-head--divided+.vf-dialog-body{padding-top:20px}.vf-dialog-foot{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:8px;padding:16px 24px;border-top:1px solid var(--border-hairline);background:var(--surface-2)}.vf-dialog-head+.vf-dialog-foot{border-top:0}.vf-dialog-foot>.vf-btn{width:100%}.vf-toast{animation:vf-slide-in var(--duration-slow) var(--ease-emphasized)!important;display:flex;align-items:flex-start;gap:12px;width:360px;max-width:100%;padding:16px;border-radius:12px;background:var(--surface-overlay);border:1px solid var(--border-subtle);box-shadow:var(--shadow-lg)}.vf-toast-title{font:500 14px/20px var(--font-sans);color:var(--text-primary)}.vf-toast-desc{font:400 13px/20px var(--font-sans);color:var(--text-secondary)}.vf-alert{display:flex;align-items:flex-start;gap:12px;padding:16px;border-radius:12px;font:400 13px/20px var(--font-sans)}.vf-alert-title{font:500 14px/20px var(--font-sans);color:inherit}.vf-alert-body{color:var(--text-body)}.vf-alert--info{background:var(--status-info-bg);color:var(--status-info-fg)}.vf-alert--ok{background:var(--status-ok-bg);color:var(--status-ok-fg)}.vf-alert--warn{background:var(--status-warn-bg);color:var(--status-warn-fg)}.vf-alert--fault{background:var(--status-fault-bg);color:var(--status-fault-fg)}.vf-alert--neutral{background:var(--surface-sunken);color:var(--text-secondary)}.vf-scrim[data-closing]{animation:vf-fade-out var(--duration-base) var(--ease-out) forwards}.vf-dialog[data-closing]{animation:vf-sink var(--duration-base) var(--ease-out) forwards}.vf-scrim--drawer{place-items:stretch end;padding:8px}.vf-scrim--none{background:transparent!important;-webkit-backdrop-filter:none!important;backdrop-filter:none!important;pointer-events:none}.vf-scrim--none>.vf-drawer{pointer-events:auto}.vf-drawer{position:relative;overflow:hidden;height:100%;background:var(--surface-overlay);border-radius:var(--radius-sheet);box-shadow:var(--shadow-overlay);display:flex;flex-direction:column;animation:vf-drawer-in var(--duration-slow) var(--ease-emphasized)}.vf-drawer[data-closing]{animation:vf-drawer-out var(--duration-base) var(--ease-in-out) forwards}@media(prefers-reduced-motion:reduce){.vf-drawer{animation:none!important}}html[data-motion=reduce] .vf-drawer{animation:none!important}.vf-msg-slot{display:flex;align-items:center;justify-content:center;width:20px;height:20px;flex:0 0 auto}.vf-msg-slot .vf-btn{width:20px!important;height:20px!important;padding:0;border-radius:6px}.vf-feedback-host{display:contents}.vf-scrim{grid-template:minmax(0,1fr) / minmax(0,1fr)}.vf-dialog{display:flex;flex-direction:column}.vf-dialog--modal{max-height:100%}.vf-dialog-heading{display:flex;flex-direction:column;gap:4px;min-width:0}.vf-dialog-tile{background:var(--surface-sunken);color:var(--text-secondary)}.vf-dialog-tile[data-tone=info]{background:var(--status-info-bg);color:var(--status-info-fg)}.vf-dialog-tile[data-tone=ok]{background:var(--status-ok-bg);color:var(--status-ok-fg)}.vf-dialog-tile[data-tone=warn]{background:var(--status-warn-bg);color:var(--status-warn-fg)}.vf-dialog-tile[data-tone=fault]{background:var(--status-fault-bg);color:var(--status-fault-fg)}.vf-dialog-close{position:absolute;top:20px;right:20px;z-index:1;display:inline-flex}.vf-dialog-body{flex:1 1 auto;overflow-y:auto}.vf-dialog-body:empty,.vf-dialog-foot:empty{display:none}.vf-dialog-head+.vf-dialog-body:empty+.vf-dialog-foot{border-top:0}.vf-dialog-foot>[vfdialogfooter]:not(.vf-btn),.vf-dialog-foot>[vfdrawerfooter]:not(.vf-btn){display:contents}.vf-dialog-foot>[vfdialogfooter]>.vf-btn,.vf-dialog-foot>[vfdrawerfooter]>.vf-btn{width:100%}.vf-dialog-body>*+.vf-confirm-field{margin-top:12px}.vf-drawer-body{flex:1;overflow-y:auto;padding:24px}.vf-toast[data-settled]{animation:none!important}.vf-toast-main{flex:1;min-width:0}.vf-toast-action{margin-top:12px}.vf-toast-action:empty{display:none}.vf-toast>.vf-msg-slot[data-tone]{color:var(--text-secondary)}.vf-toast>.vf-msg-slot[data-tone=info]{color:var(--status-info-fg)}.vf-toast>.vf-msg-slot[data-tone=ok]{color:var(--status-ok-fg)}.vf-toast>.vf-msg-slot[data-tone=warn]{color:var(--status-warn-fg)}.vf-toast>.vf-msg-slot[data-tone=fault]{color:var(--status-fault-fg)}.vf-toast-stack{position:fixed;right:24px;bottom:24px;display:flex;flex-direction:column;gap:8px;width:360px;max-width:calc(100% - 48px)}.vf-toast-stack>.vf-toast{width:100%}@media(max-width:760px){.vf-toast-stack{right:16px;bottom:16px;left:16px;width:auto;max-width:none}}.vf-alert-main{flex:1;min-width:0}.vf-alert-body:empty{display:none}.vf-alert-action{display:flex;align-items:center;justify-content:flex-end;flex:0 0 auto;min-width:20px;height:20px}.vf-alert-action:empty{display:none}.vf-alert-action>.vf-spinner{width:16px;height:16px}.vf-feedback-demo{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(320px,100%),1fr));gap:var(--gap-grid);align-items:start}.vf-feedback-demo-stack{display:flex;flex-direction:column;gap:12px;min-width:0}.vf-feedback-demo-form{display:flex;flex-direction:column;gap:14px}.vf-feedback-demo-inline-drawer{height:420px}.vf-feedback-tile{display:flex;flex-direction:column;align-items:flex-start;gap:16px;width:100%;padding:var(--card-pad);font:inherit;color:inherit;text-align:left}.vf-feedback-tile-text{display:flex;flex-direction:column;gap:4px}.vf-feedback-tile-title{font:500 14px/20px var(--font-sans);color:var(--text-primary)}.vf-feedback-tile-desc{font:400 13px/20px var(--font-sans);color:var(--text-muted);text-wrap:pretty}.vf-feedback-demo-legs{display:flex;flex-direction:column;gap:16px}.vf-feedback-demo-leg-title{font:var(--type-subheading);color:var(--text-primary);margin-bottom:6px}.vf-feedback-demo-leg-row{display:flex;justify-content:space-between;gap:16px;font:var(--type-body-sm);color:var(--text-secondary)}.vf-feedback-demo-leg-row>span:last-child{color:var(--text-primary)}.vf-table{width:100%;border-collapse:separate;border-spacing:0;font:var(--type-body)}.vf-table th{height:36px;padding:0 12px;text-align:left;font:500 12px/1 var(--font-sans);color:var(--text-muted);border-bottom:1px solid var(--border-subtle);white-space:nowrap}.vf-table td{height:var(--row-height);padding:0 12px;border-bottom:1px solid var(--border-hairline);color:var(--text-body);white-space:nowrap}.vf-table tr:last-child td{border-bottom:0}.vf-table tbody tr{transition:background-color var(--duration-fast) var(--ease-out)}.vf-table--interactive tbody tr{cursor:pointer}.vf-table--interactive tbody tr:hover td{background:var(--surface-hover)}.vf-table tr[aria-selected=true] td{background:var(--surface-selected)}.vf-table th:first-child,.vf-table td:first-child{padding-left:var(--card-pad)}.vf-table th:last-child,.vf-table td:last-child{padding-right:var(--card-pad)}.vf-table .vf-num{text-align:right}.vf-table--compact td{height:var(--row-height-compact)}.vf-table-bar{display:flex;align-items:center;flex-wrap:wrap;gap:8px;padding:12px var(--card-pad);border-bottom:1px solid var(--border-hairline)}.vf-th-sort{display:inline-flex;align-items:center;gap:4px;border:0;background:transparent;padding:0;margin:0;font:inherit;color:inherit;cursor:pointer;transition:color var(--duration-fast) var(--ease-out)}.vf-th-sort:hover{color:var(--text-primary)}.vf-th-sort .vf-icon{opacity:0;transition:opacity var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.vf-th-sort:hover .vf-icon{opacity:.6}.vf-th-sort[data-dir=asc],.vf-th-sort[data-dir=desc]{color:var(--text-primary)}.vf-th-sort[data-dir=asc] .vf-icon,.vf-th-sort[data-dir=desc] .vf-icon{opacity:1}.vf-table-foot{display:flex;align-items:center;gap:4px;padding:10px 12px 10px var(--card-pad);border-top:1px solid var(--border-hairline);font:var(--type-body-sm);color:var(--text-muted)}.vf-page-num{min-width:28px;height:28px;padding:0 6px;border:0;border-radius:7px;background:transparent;color:var(--text-secondary);font:500 13px var(--font-sans);font-variant-numeric:tabular-nums;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out)}.vf-page-num:hover{background:var(--surface-hover);color:var(--text-primary)}.vf-page-num[aria-current=page]{background:var(--surface-active);color:var(--text-primary)}.vf-table tbody tr:last-child td:first-child{border-bottom-left-radius:calc(var(--radius-card, 16px) - 1px)}.vf-table tbody tr:last-child td:last-child{border-bottom-right-radius:calc(var(--radius-card, 16px) - 1px)}.vf-table thead tr:first-child th:first-child{border-top-left-radius:calc(var(--radius-card, 16px) - 1px)}.vf-table thead tr:first-child th:last-child{border-top-right-radius:calc(var(--radius-card, 16px) - 1px)}.vf-data-table{display:flex;flex-direction:column;min-width:0}.vf-table-bar[hidden]{display:none}.vf-table-search{width:260px;max-width:100%}.vf-table-tools{display:flex;align-items:center;flex-wrap:wrap;gap:8px;margin-left:auto}.vf-table-tools:empty{display:none}.vf-data-table .vf-table{min-width:100%;flex:1 0 auto}.vf-table .vf-align-right{text-align:right}.vf-table .vf-align-center{text-align:center}.vf-th-sort--end{flex-direction:row-reverse}.vf-table .vf-td-muted{color:var(--text-muted)}.vf-table .vf-td-wrap{white-space:normal;min-width:120px}.vf-table-nomatch td{height:96px;text-align:center;color:var(--text-muted);white-space:normal}.vf-table-foot-spacer{flex:1}.vf-page-gap{width:20px;text-align:center;color:var(--text-faint)}.vf-table--interactive tbody tr:focus-visible{outline:1px solid var(--border-focus);outline-offset:-1px;box-shadow:none}.vf-table--interactive tbody tr:focus-visible td{background:var(--surface-hover)}.vf-data-table--paged .vf-table tbody tr:last-child td:first-child,.vf-data-table--paged .vf-table tbody tr:last-child td:last-child,.vf-card:has(>.vf-card-foot) .vf-table tbody tr:last-child td{border-bottom-left-radius:0;border-bottom-right-radius:0}.vf-table-skeleton .vf-align-right vf-skeleton{margin-left:auto}.vf-table-skeleton .vf-align-center vf-skeleton{margin-inline:auto}.vf-table-lead{display:flex;align-items:center;gap:10px}.vf-table-lead-text{display:flex;flex-direction:column;min-width:0}.vf-table-lead-title{color:var(--text-primary);font-weight:500}.vf-table-lead-sub{font:var(--type-caption);color:var(--text-muted)}.vf-filter-trigger{display:inline-flex;align-items:center;gap:6px;height:var(--control-sm);padding:0 10px;border-radius:999px;border:1px dashed var(--border-strong);background:transparent;color:var(--text-secondary);font:var(--type-label);cursor:pointer;white-space:nowrap;transition:all var(--duration-fast) var(--ease-out)}.vf-filter-trigger:hover{background:var(--surface-hover);color:var(--text-primary)}.vf-filter-trigger[data-active=true]{border-style:solid;border-color:var(--border-default);background:var(--surface-1);color:var(--text-primary);box-shadow:var(--shadow-xs)}.vf-filter-trigger[aria-expanded=true]{box-shadow:var(--focus-ring)}.vf-filter-trigger .vf-filter-chev{opacity:.55;transition:transform var(--duration-fast) var(--ease-out)}.vf-filter-trigger[aria-expanded=true] .vf-filter-chev{transform:rotate(180deg)}.vf-filter-value{padding-left:6px;margin-left:2px;border-left:1px solid var(--border-subtle);color:var(--accent-fg)}.vf-filter-row{min-height:36px}.vf-filter-check{width:16px;height:16px;border-radius:5px;border:1px solid var(--border-strong);display:grid;place-items:center;flex:0 0 auto;color:transparent;transition:all var(--duration-fast) var(--ease-out)}.vf-filter-check[data-on=true]{background:var(--accent);border-color:var(--accent);color:var(--accent-on)}.vf-filter-check[data-on=true] .vf-icon{animation:vf-badge-in var(--duration-base) var(--ease-emphasized)}.vf-filter-lead{display:inline-flex;align-items:center;justify-content:center;min-width:16px;flex:0 0 auto}.vf-filter-row--2{align-items:flex-start;padding-top:6px;padding-bottom:6px}.vf-filter-row--2 .vf-menu-text>span:first-child{font:400 14px/20px var(--font-sans)}.vf-filter-row--2 .vf-menu-desc{font:400 12px/16px var(--font-sans)}.vf-filter-row--2 .vf-filter-lead{height:20px;min-width:16px}.vf-filter-row--2 .vf-filter-lead:has(.vf-avatar){height:36px;min-width:36px}.vf-filter-row--2 .vf-filter-lead>.vf-avatar,.vf-filter-row--2 .vf-filter-lead>span>.vf-avatar{width:36px!important;height:36px!important;font-size:13px!important}.vf-filter-row:not(.vf-filter-row--2) .vf-filter-lead{height:20px}.vf-filter-row--2:has(.vf-filter-lead .vf-avatar){align-items:center}.vf-filter-row--2:has(.vf-filter-lead .vf-avatar) .vf-line-box,.vf-filter-row--2:has(.vf-filter-lead .vf-avatar) .vf-menu-trail{height:36px}.vf-filter-row--2 .vf-menu-trail{height:20px;align-self:flex-start}.vf-filter-row--2:has(.vf-filter-lead .vf-avatar) .vf-menu-trail{align-self:center}.vf-quick{display:grid;grid-template-columns:repeat(auto-fit,minmax(96px,1fr));gap:6px}.vf-quick-btn{min-width:0;display:inline-flex;align-items:center;justify-content:center;gap:6px;height:var(--control-sm);padding:0 8px;border-radius:8px;border:1px solid var(--border-default);background:var(--surface-1);color:var(--text-body);font:500 13px/1 var(--font-sans);white-space:nowrap;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out),transform var(--duration-instant) var(--ease-out)}.vf-quick-btn:hover{border-color:var(--border-strong);color:var(--text-primary);background:var(--surface-2)}.vf-quick-btn:active{transform:scale(.97)}.vf-quick-btn[aria-pressed=true]{background:var(--surface-accent);border-color:color-mix(in oklab,var(--accent) 40%,transparent);color:var(--accent-fg)}.vf-jrow:focus{outline:none}.vf-jrow:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.vf-filter-host{display:inline-flex;flex:0 0 auto;min-width:0}.vf-filter-panel{display:flex;flex-direction:column}.vf-filter-search{flex:0 0 auto;padding:8px;border-bottom:1px solid var(--border-hairline)}.vf-filter-list{position:relative;flex:1 1 auto;min-height:0;max-height:340px;padding:5px;overflow-y:auto;overscroll-behavior:contain}.vf-filter-options:focus-visible{box-shadow:none}.vf-filter-heading{padding-top:10px}.vf-filter-heading--first{padding-top:6px}.vf-filter-slot{width:16px}.vf-filter-icon{color:var(--text-secondary)}.vf-filter-row .vf-menu-trail{height:20px}.vf-filter-empty{padding:18px 10px;text-align:center;font:var(--type-body-sm);color:var(--text-muted)}.vf-filter-actions,.vf-drp-actions{display:grid;grid-template-columns:1fr 1fr;gap:8px}.vf-filter-actions{flex:0 0 auto;padding:8px;border-top:1px solid var(--border-hairline)}.vf-filter-row--2 .vf-filter-lead .vf-avatar-host>.vf-avatar{width:36px!important;height:36px!important;font-size:13px!important}.vf-filter-bar{display:block;min-width:0}.vf-filter-bar .vf-scrollrow-track{align-items:center}.vf-drp{display:inline-flex;min-width:0;max-width:100%}.vf-drp-trigger{flex:1 1 auto;min-width:0;justify-content:flex-start;gap:8px}.vf-drp-trigger[data-live]{background:var(--surface-accent);border-color:color-mix(in oklab,var(--accent) 30%,transparent);color:var(--accent-fg)}.vf-drp-trigger[aria-expanded=true]{box-shadow:var(--focus-ring)}.vf-drp-live{width:7px;height:7px;border-radius:50%;flex:0 0 auto;background:var(--accent);box-shadow:0 0 0 3px color-mix(in oklab,var(--accent) 22%,transparent)}.vf-drp-text{flex:1;min-width:0;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vf-drp-chev{opacity:.6;transition:transform var(--duration-fast) var(--ease-out)}.vf-drp-trigger[aria-expanded=true] .vf-drp-chev{transform:rotate(180deg)}.vf-drp-panel{box-sizing:border-box;display:flex;flex-direction:column;gap:16px;width:332px;max-width:calc(100vw - 16px);padding:16px}.vf-drp-panel[data-weeks]{width:360px}.vf-drp-panel--inline{animation:none;box-shadow:var(--shadow-md)}.vf-quick[data-row]{grid-template-columns:none;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr)}.vf-quick-live{width:6px;height:6px}.vf-drp-calendar,.vf-drp-journeys{display:flex;flex-direction:column;gap:12px}.vf-drp-nav{display:grid;grid-template-columns:28px minmax(0,1.4fr) minmax(0,1fr) 28px;gap:8px;align-items:center}.vf-drp-nav[data-muted]{opacity:.45;pointer-events:none}.vf-drp-grid{display:grid;grid-template-columns:repeat(7,minmax(0,1fr));row-gap:2px}.vf-drp-grid[data-weeks]{grid-template-columns:28px repeat(7,minmax(0,1fr))}.vf-drp-row{display:contents}.vf-drp-wk-head,.vf-drp-wk{display:grid;place-items:center;height:36px;font:var(--type-caption);color:var(--text-faint)}.vf-drp-wk-head{height:28px}.vf-drp-head{font:500 11px/28px var(--font-sans);color:var(--text-muted);text-align:center;text-transform:uppercase;letter-spacing:.04em}.vf-drp-cell{box-sizing:border-box;height:36px;padding:2px 0}.vf-drp-band{height:100%}.vf-drp-band[data-band]{background:var(--accent-soft-strong)}.vf-drp-band[data-cap-start]{border-top-left-radius:10px;border-bottom-left-radius:10px}.vf-drp-band[data-cap-end]{border-top-right-radius:10px;border-bottom-right-radius:10px}.vf-drp-day{display:grid;place-items:center;width:100%;height:100%;padding:0;border:0;border-radius:10px;background:transparent;color:var(--text-primary);font:400 13px var(--font-sans);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out)}.vf-drp-day[data-outside]{color:var(--text-faint)}.vf-drp-day[data-today]{box-shadow:inset 0 0 0 1.5px var(--accent)}.vf-drp-day:hover:not([data-edge],[aria-disabled=true]){background:var(--surface-hover)}.vf-drp-day[aria-disabled=true]{color:var(--text-disabled);cursor:default}.vf-drp-day[data-edge]{background:var(--accent);color:var(--accent-on);font-weight:600;box-shadow:none}.vf-drp-day:focus-visible{border-radius:10px;box-shadow:var(--focus-ring)}.vf-drp-times,.vf-drp-foot{padding-top:16px;border-top:1px solid var(--border-hairline)}.vf-drp-times{display:grid;grid-template-columns:1fr 1fr;gap:12px}.vf-drp-times input{font-variant-numeric:tabular-nums lining-nums}.vf-drp-foot{display:flex;flex-direction:column;gap:12px}.vf-drp-summary{font:var(--type-body-sm);color:var(--text-muted)}.vf-drp-summary[data-tone=fault]{color:var(--status-fault-fg)}.vf-drp-jlist{display:flex;flex-direction:column;gap:2px;height:232px;margin:0 -6px;padding:3px 6px;overflow-y:auto;scrollbar-width:thin}.vf-drp-jempty{flex:1;display:grid;place-items:center;font:var(--type-body-sm);color:var(--text-muted)}.vf-jrow{display:flex;flex:0 0 auto;align-items:center;gap:10px;width:100%;min-height:52px;padding:8px 10px;border:0;border-radius:8px;background:transparent;text-align:left;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out)}.vf-jrow:hover{background:var(--surface-hover)}.vf-jrow[aria-selected=true]{background:var(--surface-accent)}.vf-jrow-text{flex:1;min-width:0;display:flex;flex-direction:column;gap:2px}.vf-jrow-title{display:flex;align-items:center;gap:6px;font:500 13px/20px var(--font-sans);color:var(--text-primary)}.vf-jrow[aria-selected=true] .vf-jrow-title,.vf-drp-leg[aria-pressed=true] .vf-drp-leg-name{color:var(--accent-fg)}.vf-jrow-now{padding:0 6px;border-radius:999px;background:var(--accent);color:var(--accent-on);font:600 10px/16px var(--font-sans)}.vf-jrow-dates{font:400 12px/16px var(--font-sans);color:var(--text-muted)}.vf-jrow-check{color:var(--accent)}.vf-drp-legs{display:flex;flex-direction:column;gap:10px;padding-top:12px;border-top:1px solid var(--border-hairline)}.vf-drp-legs-head{display:flex;align-items:center;gap:12px}.vf-drp-legs-head .vf-label{flex:1}.vf-drp-link{padding:0;border:0;background:transparent;font:var(--type-label);color:var(--text-link);cursor:pointer}.vf-drp-link--muted,.vf-drp-cal{color:var(--text-muted)}.vf-drp-leg-grid{display:grid;gap:8px}.vf-drp-leg{display:flex;flex-direction:column;align-items:flex-start;gap:2px;min-width:0;padding:8px 10px;border:1px solid var(--border-default);border-radius:10px;background:var(--surface-1);text-align:left;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out),border-color var(--duration-fast) var(--ease-out)}.vf-drp-leg[aria-pressed=true]{border-color:color-mix(in oklab,var(--accent) 40%,transparent);background:var(--surface-accent)}.vf-drp-leg-name{font:600 13px var(--font-sans);color:var(--text-primary)}.vf-drp-leg-short{font:var(--type-caption);color:var(--text-muted);overflow-wrap:anywhere}.vf-picker-swatch{width:10px;height:10px;border-radius:3px}.vf-picker-rows{display:flex;flex-direction:column;gap:2px;max-width:380px}.vf-picker-range{display:grid;grid-template-columns:auto minmax(0,1fr);gap:16px;align-items:start}@media(max-width:760px){.vf-picker-range{grid-template-columns:minmax(0,1fr)}}.vf-echart{display:block;position:relative;width:100%;min-width:0}.vf-echart-plot{position:relative;width:100%;height:100%}.vf-time-series-chart,.vf-bar-compare-chart{display:block;min-width:0}.vf-chart-tip{max-width:280px}.vf-chart-tip-head{margin-bottom:4px;font:400 12px/16px var(--font-sans);color:var(--mist-300)}.vf-chart-tip-row{display:flex;align-items:center;gap:8px;font:400 12px/18px var(--font-sans);color:var(--mist-50)}.vf-chart-tip-name{flex:1;min-width:0;overflow-wrap:anywhere}.vf-chart-tip-value{margin-left:auto;padding-left:12px;font-weight:600;font-variant-numeric:tabular-nums lining-nums;white-space:nowrap}.vf-chart-tip .vf-chart-key{flex:0 0 8px;width:8px;height:8px;border-radius:50%}.vf-chart-key[data-c="1"]{background:var(--data-1)}.vf-chart-key[data-c="2"]{background:var(--data-2)}.vf-chart-key[data-c="3"]{background:var(--data-3)}.vf-chart-key[data-c="4"]{background:var(--data-4)}.vf-chart-key[data-c="5"]{background:var(--data-5)}.vf-chart-key[data-c="6"]{background:var(--data-6)}.vf-chart-key[data-c=ok]{background:var(--status-ok-dot)}.vf-chart-key[data-c=warn]{background:var(--status-warn-dot)}.vf-chart-key[data-c=fault]{background:var(--status-fault-dot)}.vf-chart-key[data-c=accent]{background:var(--accent)}.vf-chart-key[data-c=muted]{background:var(--data-axis)}.vf-chart-key[data-c=other]{background:var(--mist-300)}.vf-chart-key[data-light]{opacity:.5}.vf-chart-key[data-pale]{opacity:.32}.vf-pie{display:grid;grid-template-columns:minmax(180px,1fr) minmax(0,1.2fr);gap:20px;align-items:stretch;min-width:0}.vf-pie-chart{position:relative;min-height:0}.vf-pie-center{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;pointer-events:none;text-align:center;padding:0 22%}.vf-pie-total{font:600 20px/24px var(--font-sans);font-variant-numeric:tabular-nums lining-nums;color:var(--text-primary);letter-spacing:-.01em}.vf-pie-label{font:400 12px/16px var(--font-sans);color:var(--text-muted);max-width:100%;overflow-wrap:anywhere}.vf-pie-legend{overflow-y:auto;display:flex;flex-direction:column;gap:0;min-height:0;scrollbar-width:none;-webkit-mask-image:linear-gradient(180deg,var(--mist-950) calc(100% - 28px),transparent);mask-image:linear-gradient(180deg,var(--mist-950) calc(100% - 28px),transparent);padding-bottom:20px}.vf-pie-legend::-webkit-scrollbar{display:none}.vf-pie-legend:focus-visible{outline:2px solid var(--border-focus);outline-offset:2px;border-radius:8px}.vf-pie-group{display:grid;grid-template-columns:10px minmax(0,1fr) auto 48px;gap:10px;align-items:center;min-height:28px;margin-top:8px;padding:10px 8px 4px;border-top:1px solid var(--border-hairline);font:500 13px/20px var(--font-sans);color:var(--text-primary);border-radius:0 0 7px 7px}.vf-pie-group[data-hi]{background:var(--surface-hover)}.vf-pie-group~.vf-pie-row{padding-left:28px;grid-template-columns:minmax(0,1fr) auto 48px}.vf-pie-group~.vf-pie-row .vf-pie-key{display:none}.vf-pie-group~.vf-pie-row .vf-pie-name{color:var(--text-secondary)}.vf-pie-row{display:grid;grid-template-columns:10px minmax(0,1fr) auto 48px;gap:10px;align-items:center;min-height:28px;padding:4px 8px;border-radius:7px;font:400 13px/20px var(--font-sans);color:var(--text-body);cursor:default;transition:background-color var(--duration-instant) var(--ease-out)}.vf-pie-row[data-hi]{background:var(--surface-hover);color:var(--text-primary)}.vf-pie-key{width:10px;height:10px;border-radius:3px}.vf-pie-name{overflow-wrap:anywhere}.vf-pie-val{color:var(--text-primary);text-align:right}.vf-pie-pct{color:var(--text-muted);text-align:right}@media(max-width:720px){.vf-pie{grid-template-columns:1fr;height:auto!important}.vf-pie-chart{height:220px}.vf-pie-legend{max-height:240px}}.vf-ss{display:flex;flex-direction:column;gap:10px;min-width:0;padding:14px 14px 10px;border-radius:12px;background:var(--surface-2)}.vf-ss--bare{padding:0;border-radius:0;background:none}.vf-ss-plot{position:relative}.vf-ss-divider{position:absolute;left:0;right:0;height:1px;background:var(--border-subtle)}.vf-ss-head{position:absolute;left:0;right:0;z-index:1;display:flex;align-items:center;gap:8px;height:20px;pointer-events:none;font:500 12px/20px var(--font-sans);color:var(--text-secondary)}.vf-ss-swatch{flex:0 0 12px;width:12px;height:3px;border-radius:2px}.vf-ss-name{flex:1;min-width:0;white-space:nowrap;color:var(--text-primary)}.vf-ss-exp{font-weight:400;color:var(--text-muted)}.vf-ss-value{display:inline-flex;align-items:baseline;gap:3px;padding:0 6px;border-radius:6px;font:600 13px/20px var(--font-sans);font-variant-numeric:tabular-nums lining-nums;color:var(--text-primary);transition:background-color var(--duration-base) var(--ease-out),color var(--duration-base) var(--ease-out)}.vf-ss-value[data-flag]{color:var(--status-warn-fg);background:var(--status-warn-bg)}.vf-ss-unit{font:400 11px/20px var(--font-sans);color:var(--text-muted)}.vf-ss-zoom{display:flex;align-items:center;justify-content:space-between;gap:8px;min-height:28px;font:400 12px/16px var(--font-sans);color:var(--text-muted)}.vf-ss-after{--ss-right: 4px}.vf-ss-foot{display:flex;align-items:center;gap:8px;padding-top:10px;border-top:1px solid var(--border-subtle);font:400 12px/16px var(--font-sans);color:var(--text-secondary)}.vf-chart-specimen-spark{display:grid;grid-template-columns:1fr 1fr;gap:16px;align-items:end}.vf-chart-specimen-swatch{flex:0 0 12px;width:12px;height:12px;border-radius:3px;background:var(--status-warn-bg);border:1px solid var(--status-warn-dot)}.vf-chart-specimen-lane{position:relative;height:14px;margin:0 var(--ss-right) 0 var(--ss-left);border-radius:4px;background:var(--surface-sunken);overflow:hidden}.vf-chart-specimen-lane-mark{position:absolute;top:3px;bottom:3px;border-radius:3px;background:var(--status-warn-dot)}vf-stepper{display:block}.vf-stepper{display:flex;list-style:none;margin:0;padding:0;gap:0}.vf-stepper--vertical{flex-direction:column}.vf-step{position:relative;flex:1;display:flex;align-items:flex-start;min-width:0}.vf-step-btn{display:flex;align-items:flex-start;gap:10px;border:0;background:transparent;padding:0;text-align:left;cursor:pointer;min-width:0}.vf-step-btn:disabled{cursor:default}.vf-step-dot{width:28px;height:28px;flex:0 0 auto;border-radius:50%;display:grid;place-items:center;font:600 12px/1 var(--font-sans);border:1px solid var(--border-default);background:var(--surface-1);color:var(--text-muted);transition:all var(--duration-base) var(--ease-out)}.vf-step[data-state=current] .vf-step-dot{border-color:var(--accent);color:var(--accent-fg);box-shadow:0 0 0 3px color-mix(in oklab,var(--accent) 18%,transparent)}.vf-step[data-state=done] .vf-step-dot{background:var(--accent);border-color:var(--accent);color:var(--accent-on)}.vf-step-text{display:flex;flex-direction:column;padding-top:4px;min-width:0}.vf-step-label{font:500 14px/20px var(--font-sans);color:var(--text-primary)}.vf-step[data-state=todo] .vf-step-label{color:var(--text-muted)}.vf-step-desc{font:400 12px/16px var(--font-sans);color:var(--text-muted)}.vf-step-line{flex:1;height:1px;margin:14px 12px 0;background:var(--border-default);min-width:16px}.vf-step[data-state=done] .vf-step-line{background:var(--accent)}.vf-stepper--vertical .vf-step{flex:none;position:relative;padding-bottom:20px}.vf-stepper--vertical .vf-step:last-child{padding-bottom:0}.vf-stepper--vertical .vf-step-line{position:absolute;left:13.5px;top:34px;bottom:6px;width:1px;height:auto;min-width:0;margin:0;border-radius:1px}span.vf-step-btn{cursor:default}.vf-step-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;border:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap}.vf-file-tile{width:40px;height:40px;flex:0 0 40px;border-radius:10px;display:grid;place-items:center;background:var(--tag-gray-bg, var(--surface-sunken));color:var(--tag-gray-fg, var(--text-secondary))}.vf-file-tile[data-tone=red]{background:var(--tag-red-bg);color:var(--tag-red-fg)}.vf-file-tile[data-tone=green]{background:var(--tag-green-bg);color:var(--tag-green-fg)}.vf-file-tile[data-tone=blue]{background:var(--tag-blue-bg);color:var(--tag-blue-fg)}.vf-file-tile[data-tone=amber]{background:var(--tag-amber-bg);color:var(--tag-amber-fg)}.vf-file-tile[data-tone=violet]{background:var(--tag-violet-bg);color:var(--tag-violet-fg)}.vf-file-sub{display:flex;align-items:center;gap:6px;min-width:0}.vf-file-ext{flex:0 0 auto;padding:0 5px;border-radius:4px;background:var(--surface-sunken);font:600 10px/16px var(--font-sans);letter-spacing:.03em;color:var(--text-secondary)}.vf-file .vf-file-dl{border:1px solid var(--border-subtle);background:var(--surface-1)}.vf-file .vf-row-trail{align-self:center}.vf-file{position:relative}.vf-file .vf-row-trail>:is(a,button){position:relative;z-index:1}.vf-file-open{display:block;max-width:100%;padding:0;border:0;background:transparent;text-align:left;cursor:pointer}.vf-file-open:after{content:"";position:absolute;inset:0}.vf-file-open:focus-visible{box-shadow:none}.vf-file:has(.vf-file-open:focus-visible){box-shadow:var(--focus-ring)}.vf-file-meta{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vf-file-progress{margin-top:4px}.vf-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;padding:28px 20px;border:1.5px dashed var(--border-strong);border-radius:14px;background:var(--surface-2);text-align:center;cursor:pointer;transition:all var(--duration-fast) var(--ease-out)}.vf-drop:hover{border-color:var(--text-muted)}.vf-drop[data-over]{border-color:var(--accent);background:var(--surface-accent);transform:scale(1.01)}.vf-drop-icon{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--surface-1);box-shadow:var(--shadow-xs);color:var(--text-secondary);margin-bottom:6px}.vf-drop-title{font:500 14px/20px var(--font-sans);color:var(--text-primary)}.vf-drop-desc{font:400 12px/16px var(--font-sans);color:var(--text-muted)}.vf-drop-choose{margin-top:4px}.vf-drop-error{max-width:100%;margin-top:4px;font:400 12px/16px var(--font-sans);color:var(--status-fault-fg);overflow-wrap:anywhere}.vf-drop--fill{height:100%}.vf-drop[data-disabled]{cursor:not-allowed;opacity:.55}.vf-drop[data-disabled]:hover{border-color:var(--border-strong)}.vf-scrim--top{place-items:start center;padding-top:12vh}.vf-cmdk{width:min(620px,100%);background:var(--surface-overlay);border-radius:16px;box-shadow:var(--shadow-overlay);overflow:hidden;animation:vf-pop-in var(--duration-base) var(--ease-emphasized);display:flex;flex-direction:column}.vf-cmdk-head{padding:12px 12px 10px;border-bottom:1px solid var(--border-hairline)}.vf-cmdk-search{display:flex;align-items:center;gap:10px;height:44px;padding:0 8px 0 14px;border-radius:12px;background:var(--surface-2);border:1px solid var(--border-subtle);color:var(--text-muted);cursor:text;transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out)}.vf-cmdk-search:focus-within{background:var(--surface-1);border-color:var(--accent);box-shadow:0 0 0 3px color-mix(in oklab,var(--accent) 18%,transparent)}.vf-cmdk-search input{flex:1;min-width:0;height:100%;border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;padding:0;font:400 15px/20px var(--font-sans);color:var(--text-primary)}.vf-cmdk-search input::placeholder{color:var(--text-faint)}.vf-cmdk-search .vf-kbd{flex:0 0 auto}.vf-cmdk-clear{width:28px;height:28px;border:0;border-radius:8px;display:grid;place-items:center;background:transparent;color:var(--text-muted);cursor:pointer}.vf-cmdk-clear:hover{background:var(--surface-hover);color:var(--text-primary)}.vf-cmdk-list{max-height:360px;overflow-y:auto;padding:6px}.vf-cmdk-foot{display:flex;gap:16px;align-items:center;padding:10px 16px;border-top:1px solid var(--border-hairline);background:var(--surface-2);font:400 12px/16px var(--font-sans);color:var(--text-muted)}.vf-cmdk-foot .vf-kbd{margin-right:2px}.vf-flows-specimen-pad{padding:var(--card-pad)}.vf-flows-specimen-foot{width:100%}.vf-flows-specimen-note{margin:0;font:var(--type-caption);color:var(--text-muted)}.vf-appearance{display:flex;flex-direction:column;gap:var(--gap-grid)}.vf-appearance-head{display:flex;align-items:center;gap:12px;padding:16px var(--card-pad);border-bottom:1px solid var(--border-hairline)}.vf-appearance-head-text{flex:1;min-width:0}.vf-appearance-title{font:var(--type-heading);color:var(--text-primary)}.vf-appearance-sub{font:var(--type-caption);color:var(--text-muted);margin-top:2px}.vf-appearance-split{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:var(--gap-grid);align-items:stretch}.vf-appearance-column{display:flex;flex-direction:column}.vf-palette-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(148px,1fr));gap:12px;padding:var(--card-pad)}.vf-palette-tile{display:flex;flex-direction:column;padding:0;border:0;border-radius:12px;overflow:hidden;cursor:pointer;text-align:left;background:var(--surface-1);box-shadow:0 0 0 1px var(--border-subtle);transition:box-shadow var(--duration-fast) var(--ease-out)}.vf-palette-tile[aria-pressed=true]{box-shadow:0 0 0 2px var(--border-focus)}.vf-palette-preview{display:block;height:58px;padding:10px 10px 0}.vf-palette-card{display:flex;flex-direction:column;gap:6px;height:100%;padding:10px 10px 0;border-radius:8px 8px 0 0}.vf-palette-bar{height:5px;width:62%;border-radius:3px}.vf-palette-grid[data-dark] .vf-palette-bar{background:#ffffff24}.vf-palette-bar--accent{width:32%}.vf-palette-foot{display:flex;align-items:center;gap:8px;height:38px;padding:0 12px;font:var(--type-label);color:var(--text-primary)}.vf-palette-name{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.vf-palette-dots{display:flex;gap:3px}.vf-palette-dot{width:9px;height:9px;border-radius:50%}.vf-accent-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr)) minmax(0,2fr);gap:12px;padding:var(--card-pad);align-items:stretch}.vf-accent{display:flex;align-items:center;gap:10px;padding:12px;border-radius:10px;background:var(--surface-sunken)}.vf-accent-swatch{width:28px;height:28px;border-radius:8px;flex:0 0 auto;background:var(--accent)}.vf-accent-text{display:flex;flex-direction:column;min-width:0}.vf-accent-label{font:var(--type-caption);color:var(--text-muted)}.vf-accent-value{font:var(--type-mono);color:var(--text-primary)}.vf-accent-note{font:var(--type-body-sm);color:var(--text-muted);align-self:center;text-wrap:pretty}.vf-typography-body{flex:1;display:flex;flex-direction:column;gap:16px;padding:var(--card-pad)}.vf-size-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.vf-size-opt{display:flex;flex-direction:column;align-items:flex-start;gap:8px;padding:12px;border-radius:10px;border:1px solid var(--border-default);background:var(--surface-1);cursor:pointer;text-align:left;transition:border-color var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out),transform var(--duration-instant) var(--ease-out)}.vf-size-opt:hover{border-color:var(--border-strong)}.vf-size-opt:active{transform:scale(.98)}.vf-size-opt[data-on=true]{border-color:var(--border-focus);background:var(--surface-accent);box-shadow:0 0 0 3px color-mix(in oklab,var(--border-focus) 14%,transparent)}.vf-size-opt-sample{height:32px;display:flex;align-items:flex-end;font:600 18px/1 var(--font-sans);color:var(--text-primary)}.vf-size-opt-label{font:500 12px/16px var(--font-sans);color:var(--text-muted);white-space:nowrap}.vf-size-opt[data-on=true] .vf-size-opt-sample,.vf-size-opt[data-on=true] .vf-size-opt-label{color:var(--accent-fg)}.vf-type-specimen{flex:1;display:flex;align-items:center;gap:20px;padding:16px 20px;border-radius:12px;background:var(--surface-sunken)}.vf-type-specimen-sample{font:600 64px/1 var(--font-sans);letter-spacing:-.03em;color:var(--text-primary)}.vf-type-specimen-text{display:flex;flex-direction:column;gap:6px;min-width:0}.vf-type-specimen-name{font:var(--type-heading);color:var(--text-primary)}.vf-type-specimen-letters{font:var(--type-body-sm);color:var(--text-secondary)}.vf-type-specimen-numbers{font:var(--type-mono);color:var(--text-secondary)}.vf-saved-body{flex:1;display:flex;flex-direction:column;padding:6px var(--card-pad)}.vf-saved-row{display:flex;align-items:center;gap:12px;height:44px;border-bottom:1px solid var(--border-hairline)}.vf-saved-row:last-child{border-bottom:0}.vf-saved-strip{display:flex;width:44px;height:16px;border-radius:4px;overflow:hidden;box-shadow:0 0 0 1px var(--border-subtle)}.vf-saved-strip>span{flex:1}.vf-saved-icon{width:44px;display:grid;place-items:center;color:var(--text-muted)}.vf-saved-label{flex:1;font:var(--type-label);color:var(--text-primary)}.vf-saved-meta{font:var(--type-caption);color:var(--text-muted)}.vf-saved-foot{display:flex;justify-content:flex-end;padding:12px var(--card-pad);border-top:1px solid var(--border-hairline)}.vf-typeface-menu{display:flex;flex-direction:column}.vf-typeface-search{padding:8px;border-bottom:1px solid var(--border-hairline)}.vf-typeface-options{padding:5px;overflow-y:auto;max-height:300px;position:relative}.vf-typeface-check{width:16px;margin-left:auto;color:var(--accent)}.vf-typeface-empty{padding:14px 10px;text-align:center;font:var(--type-body-sm);color:var(--text-muted)}@media(max-width:760px){.vf-appearance-split{grid-template-columns:minmax(0,1fr)}.vf-accent-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.vf-accent-note{grid-column:1/-1}.vf-size-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.sh-sr{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}.app-scrim{position:fixed;inset:0;z-index:55;background:var(--surface-scrim);opacity:0;pointer-events:none;transition:opacity var(--duration-base) var(--ease-out)}.app-scrim[data-on]{opacity:1;pointer-events:auto}.app-nav{width:var(--vf-nav-w);flex:0 0 auto;display:flex;flex-direction:column;min-height:0;background:var(--surface-1);border:1px solid var(--border-subtle);border-radius:var(--radius-card);box-shadow:var(--shadow-xs);transition:width var(--duration-slow) var(--ease-emphasized)}.app-nav-head{display:flex;flex-direction:column;gap:16px;padding:16px 12px}.app-nav-list{flex:1;min-height:0;overflow-x:hidden;overflow-y:auto;display:flex;flex-direction:column;gap:16px;padding:0 12px;scrollbar-width:none}.app-nav-list::-webkit-scrollbar{display:none}.app-nav-foot{display:flex;flex-direction:column;gap:4px;padding:12px;border-top:1px solid var(--border-hairline)}.app-brand{display:flex;align-items:center;gap:10px;min-width:0;height:40px;padding-left:4px}.app-logo{width:36px;height:23px;flex:0 0 auto;object-fit:contain}.app-brand-text{display:flex;flex-direction:column;flex:1;min-width:0}.app-brand-name{font:600 15px/20px var(--font-sans);color:var(--text-primary);white-space:nowrap}.app-brand-ws{font:400 12px/16px var(--font-sans);color:var(--text-muted);white-space:nowrap}.app-collapse{width:28px;height:28px;flex:0 0 auto;display:grid;place-items:center;border:0;border-radius:8px;background:transparent;color:var(--text-muted);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.app-collapse:hover{background:var(--surface-hover);color:var(--text-primary)}.app-search{display:flex;align-items:center;gap:10px;width:100%;height:40px;margin:0;padding:0 8px 0 12px;border:0;border-radius:10px;background:color-mix(in oklab,var(--text-primary) 6%,transparent);color:var(--text-muted);font:400 13px/20px var(--font-sans);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out)}.app-search:hover{background:color-mix(in oklab,var(--text-primary) 9%,transparent)}.app-search-label{flex:1;text-align:left}.app-nav-group{display:flex;flex-direction:column;gap:2px}.app-nav-label{display:flex;align-items:center;height:24px;padding:0 11px;font:500 12px/16px var(--font-sans);color:var(--text-muted);white-space:nowrap}.app-item{position:relative;display:flex;align-items:center;gap:12px;width:100%;height:40px;padding:0 10px 0 11px;box-sizing:border-box;border:0;border-radius:10px;background:transparent;color:var(--text-secondary);font:500 14px/20px var(--font-sans);text-align:left;text-decoration:none;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.app-item:hover{background:var(--surface-hover);color:var(--text-primary)}.app-item:focus-visible{outline:none;box-shadow:var(--focus-ring)}.app-item-icon{position:relative;display:grid;place-items:center;width:18px;height:18px;flex:0 0 auto;color:var(--text-muted)}.app-item:hover .app-item-icon{color:var(--text-primary)}.app-item-label{flex:1;min-width:0;white-space:nowrap}.app-item-count{flex:0 0 auto}.app-item-dot{position:absolute;top:-3px;right:-4px;width:8px;height:8px;border-radius:50%;background:var(--status-fault-dot);box-shadow:0 0 0 2px var(--surface-1)}.app-item[aria-current=page]{background:var(--surface-accent);color:var(--accent-fg);font-weight:600}.app-item[aria-current=page] .app-item-icon{color:var(--accent-fg)}.app-account-host{display:block}.app-account{display:flex;align-items:center;gap:12px;width:100%;padding:6px 8px 6px 6px;border:0;border-radius:12px;background:transparent;text-align:left;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out)}.app-account:hover,.app-account[aria-expanded=true]{background:var(--surface-hover)}.app-account-text{display:flex;flex-direction:column;flex:1;min-width:0}.app-account-text span:first-child{font:500 13px/18px var(--font-sans);color:var(--text-primary);overflow-wrap:anywhere}.app-account-text span:last-child:not(:first-child){font:400 12px/16px var(--font-sans);color:var(--text-muted)}.app-account-chev{display:grid;color:var(--text-muted)}.app[data-rail] .app-nav{width:var(--vf-rail-w)}.app[data-rail] .app-nav-head{align-items:center;padding:16px 12px}.app[data-rail] .app-brand{flex-direction:column;align-items:center;gap:12px;height:auto;padding:4px 0 0}.app[data-rail] .app-logo{width:34px}.app[data-rail] .app-brand-text,.app[data-rail] .app-item-label,.app[data-rail] .app-item-count,.app[data-rail] .app-search-label,.app[data-rail] .app-search .vf-kbd,.app[data-rail] .app-account-text,.app[data-rail] .app-account-chev{display:none}.app[data-rail] .app-item,.app[data-rail] .app-search{width:40px;padding:0;justify-content:center}.app[data-rail] .app-nav-list,.app[data-rail] .app-nav-foot{align-items:center;padding-left:12px;padding-right:12px}.app[data-rail] .app-nav-group{align-items:center}.app[data-rail] .app-nav-label{width:24px;height:1px;margin:4px 8px;padding:0;background:var(--border-hairline);font-size:0}.app[data-rail] .app-nav-group:first-child .app-nav-label{display:none}.app[data-rail] .app-account{width:40px;padding:2px;justify-content:center}.app-logo-btn{position:relative;display:grid;place-items:center;width:40px;height:40px;border:0;border-radius:10px;background:transparent;color:var(--text-primary);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out)}.app-logo-btn>*{grid-area:1 / 1;transition:opacity var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.app-logo-btn>vf-icon{opacity:0;transform:scale(.8)}.app-logo-btn:hover,.app-logo-btn:focus-visible{background:var(--surface-hover)}.app-nav:hover .app-logo-btn>img,.app-logo-btn:focus-visible>img{opacity:0;transform:scale(.8)}.app-nav:hover .app-logo-btn>vf-icon,.app-logo-btn:focus-visible>vf-icon{opacity:1;transform:none}@media(max-width:760px){.app-nav{position:fixed;top:0;bottom:0;left:0;z-index:60;width:min(300px,84%);margin:0;border-radius:0 18px 18px 0;box-shadow:var(--shadow-lg);transform:translate(-105%);transition:transform var(--duration-base) var(--ease-out)}.app-nav[data-open]{transform:none}}.app-top{display:flex;align-items:center;gap:12px;flex:0 0 auto;height:var(--vf-top-h);margin-top:calc(var(--vf-inset) * -1);padding:0 20px;container:apptop / inline-size}.tb-burger{display:grid;place-items:center;flex:none;width:40px;height:40px;margin-left:-6px;border:0;border-radius:10px;background:transparent;color:var(--text-primary);cursor:pointer}.tb-burger:hover{background:var(--surface-hover)}.tb-crumbs{display:flex;align-items:center;gap:4px;flex:1 1 auto;min-width:0}.tb-crumb-sep{flex:0 0 auto;color:var(--text-faint)}.tb-subject{display:inline-flex;min-width:0}.tb-crumb-wrap{display:inline-flex;align-items:center;gap:2px;min-width:0}.tb-crumb{display:inline-flex;align-items:center;gap:8px;min-width:0;height:36px;padding:0 8px 0 10px;border:0;border-radius:10px;background:transparent;color:var(--text-secondary);font:500 14px/20px var(--font-sans);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.tb-crumb:hover,.tb-crumb[aria-expanded=true]{background:var(--surface-hover);color:var(--text-primary)}.tb-crumb[data-strong]{color:var(--text-primary);font-weight:600}.tb-crumb-icon{flex:0 0 auto;color:var(--text-muted)}.tb-crumb-chev{flex:0 0 auto;color:var(--text-faint)}.tb-crumb-label{white-space:nowrap}.tb-crumb-clear{display:grid;place-items:center;flex:0 0 24px;width:24px;height:24px;padding:0;border:0;border-radius:6px;background:transparent;color:var(--text-muted);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.tb-crumb-clear:hover{background:var(--surface-hover);color:var(--text-primary)}.tb-crumb-clear:focus-visible{outline:none;box-shadow:var(--focus-ring)}.tb-crumb-wrap[data-clear]{gap:0;height:36px;padding:0 6px 0 0;border-radius:12px;background:var(--surface-1);box-shadow:inset 0 0 0 1px var(--border-subtle),var(--shadow-xs);animation:vf-rise var(--duration-base) var(--ease-emphasized);transition:box-shadow var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out)}.tb-crumb-wrap[data-clear]:has(.tb-crumb:hover),.tb-crumb-wrap[data-clear]:has(.tb-crumb[aria-expanded=true]){background:var(--surface-2);box-shadow:inset 0 0 0 1px var(--border-default),var(--shadow-xs)}.tb-crumb-wrap[data-clear] .tb-crumb{gap:8px;height:36px;padding:0 8px 0 5px;border-radius:12px 0 0 12px}.tb-crumb-wrap[data-clear] .tb-crumb:hover,.tb-crumb-wrap[data-clear] .tb-crumb[aria-expanded=true]{background:transparent}.tb-crumb-wrap[data-clear] .tb-crumb .vf-avatar{border-radius:8px;box-shadow:0 0 0 1px var(--border-hairline)}.tb-crumb-wrap[data-clear] .tb-crumb-clear{position:relative;border-radius:999px;background:var(--surface-sunken)}.tb-crumb-wrap[data-clear] .tb-crumb-clear:hover{background:var(--surface-hover);color:var(--text-primary)}.tb-find-pop{overflow-x:hidden;scrollbar-width:none}.tb-find{display:flex;align-items:center;gap:10px;height:44px;padding:0 14px;border-bottom:1px solid var(--border-hairline);color:var(--text-muted)}.tb-find input{flex:1;min-width:0;padding:0;border:0!important;outline:0!important;box-shadow:none!important;background:transparent!important;font:400 14px/20px var(--font-sans);color:var(--text-primary)}.tb-find input::placeholder{color:var(--text-faint)}.tb-find-filters{display:flex;flex-wrap:wrap;gap:6px;padding:8px 10px;border-bottom:1px solid var(--border-hairline)}.tb-chip{display:inline-flex;align-items:center;gap:6px;flex:0 0 auto;height:28px;padding:0 10px;border:1px solid var(--border-subtle);border-radius:999px;background:transparent;color:var(--text-body);font:500 12px/16px var(--font-sans);white-space:nowrap;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out),transform var(--duration-fast) var(--ease-out)}.tb-chip:hover{background:var(--surface-hover)}.tb-chip:active{transform:scale(.97)}.tb-chip .vf-num{color:var(--text-muted);font-weight:400}.tb-chip[aria-pressed=true]{background:var(--surface-accent);border-color:color-mix(in oklab,var(--accent) 35%,transparent);color:var(--accent-fg)}.tb-chip[aria-pressed=true] .vf-num{color:var(--accent-fg)}.tb-chip-dot{width:10px;height:10px;flex:0 0 10px;border-radius:50%;background:var(--tag-gray-fg)}.tb-chip-dot[data-c=blue]{background:var(--tag-blue-fg)}.tb-chip-dot[data-c=green]{background:var(--tag-green-fg)}.tb-chip-dot[data-c=amber]{background:var(--tag-amber-fg)}.tb-chip-dot[data-c=violet]{background:var(--tag-violet-fg)}.tb-chip-dot[data-c=red]{background:var(--tag-red-fg)}.tb-all-tile{display:grid;place-items:center;flex:0 0 36px;width:36px;height:36px;border-radius:28%;background:var(--surface-sunken);color:var(--text-secondary)}.tb-find-list{display:flex;flex-direction:column;gap:1px;padding:6px}.tb-find-row{display:flex;align-items:center;gap:10px;min-height:36px;padding:6px 10px;border-radius:8px;color:var(--text-body);font:400 14px/20px var(--font-sans);text-align:left;cursor:pointer}.tb-find-row>vf-icon{flex:0 0 auto;color:var(--text-muted)}.tb-find-row>.vf-avatar-host{flex:0 0 auto}.tb-find-row[data-hi]{background:var(--surface-hover);color:var(--text-primary)}.tb-find-row[aria-selected=true]{background:var(--surface-accent);color:var(--accent-fg);font-weight:500}.tb-find-row[aria-selected=true]>vf-icon{color:var(--accent-fg)}.tb-find-label{display:flex;flex-direction:column;flex:1;min-width:0}.tb-find-sub{font:400 12px/16px var(--font-sans);color:var(--text-muted)}.tb-find-meta{display:inline-flex;align-items:center;flex:0 0 auto;font:400 12px/16px var(--font-sans);color:var(--text-muted)}.tb-find-empty{padding:16px 10px;font:400 13px/20px var(--font-sans);color:var(--text-muted);text-align:center}.tb-find-foot{display:flex;align-items:center;justify-content:space-between;height:44px;padding:0 8px 0 14px;border-top:1px solid var(--border-hairline);font:400 12px/16px var(--font-sans);color:var(--text-muted)}.tb-find-foot .vf-num{white-space:nowrap}.tb-pager{display:flex;gap:2px}.tb-dot-tip{position:relative;display:inline-grid;place-items:center;width:24px;height:24px;margin:-4px -6px -4px 0}.tb-group{display:flex;align-items:center;gap:8px;flex:0 0 auto}.tb-actions{display:inline-flex;align-items:center;gap:8px}.tb-actions .vf-btn{height:36px;border-radius:10px}.tb-sep{width:1px;height:20px;margin:0 2px;background:var(--border-subtle)}.tb-btn-wrap{position:relative;display:inline-flex}.tb-btn{display:grid;place-items:center;width:36px;height:36px;border:0;border-radius:10px;background:transparent;color:var(--text-secondary);cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out),color var(--duration-fast) var(--ease-out)}.tb-btn:hover,.tb-btn[aria-expanded=true]{background:var(--surface-hover);color:var(--text-primary)}.tb-btn:focus-visible,.tb-crumb:focus-visible,.tb-burger:focus-visible,.tb-chip:focus-visible{outline:none;box-shadow:var(--focus-ring)}.tb-btn:disabled{opacity:.35;cursor:default;background:transparent}.tb-btn--sm{width:28px;height:28px;border-radius:8px}.tb-bell{--vf-badge-offset: -2px;--vf-badge-ring: var(--canvas)}@media(max-width:760px){.app-top{margin-top:0;padding:0 12px;overflow:hidden}.tb-sep{display:none}}.al-pop{max-width:calc(100vw - 24px);overflow-x:hidden;scrollbar-width:none}.al-head{display:flex;flex-direction:column;gap:12px;padding:16px 16px 12px;border-bottom:1px solid var(--border-hairline)}.al-title{display:flex;align-items:center;justify-content:space-between;gap:12px;font:600 15px/20px var(--font-sans);color:var(--text-primary)}.al-link{padding:0;border:0;background:transparent;font:500 12px/16px var(--font-sans);color:var(--accent-fg);white-space:nowrap;cursor:pointer}.al-link:hover{color:var(--text-primary)}.al-link:focus-visible{outline:none;border-radius:4px;box-shadow:var(--focus-ring)}.al-filters{display:grid;grid-template-columns:1fr 1fr;gap:8px}.al-filters>*{min-width:0}.al-list{display:flex;flex-direction:column;gap:1px;max-height:380px;padding:6px;overflow-y:auto;scrollbar-width:none}.al-row{display:grid;grid-template-columns:36px minmax(0,1fr) auto;gap:12px;align-items:start;padding:8px 10px;border:0;border-radius:10px;background:transparent;text-align:left;cursor:pointer;transition:background-color var(--duration-fast) var(--ease-out)}.al-row:hover{background:var(--surface-hover)}.al-row:focus-visible{outline:none;box-shadow:var(--focus-ring)}.al-icon{display:grid;place-items:center;width:36px;height:36px;border-radius:10px;background:var(--surface-sunken);color:var(--text-muted)}.al-icon[data-tone=fault]{background:color-mix(in oklab,var(--coral-500) 14%,transparent);color:var(--coral-600)}.al-icon[data-tone=warn]{background:color-mix(in oklab,var(--status-warn-dot) 16%,transparent);color:var(--status-warn-fg)}.al-text{display:flex;flex-direction:column;min-width:0}.al-row-title{font:500 14px/20px var(--font-sans);color:var(--text-primary)}.al-row[data-new] .al-row-title{font-weight:600}.al-row-sub{font:400 12px/16px var(--font-sans);color:var(--text-muted)}.al-meta{display:flex;align-items:center;gap:8px;height:20px;font:400 12px/20px var(--font-sans);color:var(--text-muted);white-space:nowrap}.al-new{order:-1;width:8px;height:8px;border-radius:50%;background:var(--accent)}.al-empty{padding:28px 20px}.al-foot{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:12px 16px;border-top:1px solid var(--border-hairline);background:var(--surface-2)}.al-foot .vf-btn{width:100%}.acc-pop{overflow-x:hidden}.acc-head{display:grid;grid-template-columns:40px minmax(0,1fr);gap:12px;align-items:center;padding:16px}.acc-id{display:flex;flex-direction:column;min-width:0}.acc-id span:first-child{font:600 14px/20px var(--font-sans);color:var(--text-primary);overflow-wrap:anywhere}.acc-id span:last-child{font:400 12px/16px var(--font-sans);color:var(--text-muted);overflow-wrap:anywhere}.acc-sec{display:flex;flex-direction:column;gap:10px;padding:12px 16px;border-top:1px solid var(--border-hairline)}.acc-label{font:500 12px/16px var(--font-sans);color:var(--text-muted)}.acc-list{gap:1px;padding:6px}.acc-list>.acc-label{padding:6px 10px 4px}.acc-prefs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.acc-field{display:flex;flex-direction:column;gap:6px;min-width:0}.acc-field>span{font:400 12px/16px var(--font-sans);color:var(--text-secondary)}.acc-row{display:flex;align-items:center;gap:10px;height:36px;padding:0 10px;border:0;border-radius:8px;background:transparent;color:var(--text-body);font:400 14px/20px var(--font-sans);text-align:left;cursor:pointer}.acc-row>span{flex:1;min-width:0}.acc-row vf-icon{flex:0 0 auto;color:var(--text-muted)}.acc-row:hover{background:var(--surface-hover);color:var(--text-primary)}.acc-row:focus-visible{outline:none;box-shadow:var(--focus-ring)}.acc-row:disabled{opacity:.45;cursor:default}.acc-row[aria-current]{color:var(--accent-fg);font-weight:500}.acc-row .acc-check{color:var(--accent-fg)}.acc-row[data-danger]:hover{color:var(--coral-600)}.acc-row[data-danger]:hover vf-icon{color:inherit}.sh-keys{display:flex;flex-direction:column;gap:20px}.sh-keys-section{display:flex;flex-direction:column}.sh-keys-label{margin:0 0 4px;font:500 12px/16px var(--font-sans);color:var(--text-muted)}.sh-keys-row{display:flex;align-items:center;justify-content:space-between;gap:16px;min-height:36px;border-bottom:1px solid var(--border-hairline);font:400 14px/20px var(--font-sans);color:var(--text-body)}.sh-keys-row:last-child{border-bottom:0}.sh-keys-caps{display:inline-flex;gap:4px;flex:0 0 auto}.vf-scrim:has(>.sh-cmdk-host){place-items:start center;padding-top:12vh}.sh-cmdk-host{display:contents}.sh-cmdk-glyph{width:16px;color:var(--text-secondary)}.sh-cmdk-empty{padding:28px 12px;font:400 13px/20px var(--font-sans);color:var(--text-muted);text-align:center}.sh-cmdk-esc{margin-left:auto}@media(max-width:760px){.vf-scrim:has(>.sh-cmdk-host){padding:12px}}.app-state{padding:48px 20px}.login{height:100%;display:flex;flex-direction:column;background:var(--canvas);overflow-y:auto;overflow-x:hidden}.login-top{display:flex;align-items:center;justify-content:space-between;padding:20px 28px}.login-brand{display:flex;align-items:center;gap:10px;min-width:0;padding-left:4px;height:40px}.login-logo{width:36px;height:23px;flex:0 0 auto;object-fit:contain}.login-brand-name{font:600 15px/20px var(--font-sans);color:var(--text-primary);white-space:nowrap}.login-tools{display:flex;gap:8px}.login-main{flex:1 0 auto}.login-card{width:min(400px,calc(100% - 40px));margin:6vh auto 40px;padding:32px;display:flex;flex-direction:column;gap:16px;box-shadow:var(--shadow-md)}.login-head{display:flex;flex-direction:column;gap:4px}.login-title{margin:0;font:600 22px/28px var(--font-sans);color:var(--text-primary);letter-spacing:-.01em}.login-sub,.login-help{margin:0;font:400 13px/20px var(--font-sans);color:var(--text-muted)}.login-help{text-align:center}.login-field{display:flex;flex-direction:column;gap:6px}.login-link{align-self:flex-end;white-space:nowrap;font:500 12px/16px var(--font-sans);text-decoration:none}button.login-link{padding:0;border:0;background:none;color:var(--accent-fg);cursor:pointer;transition:color var(--duration-fast) var(--ease-out)}button.login-link:hover{color:var(--text-primary)}.login-or{display:flex;align-items:center;gap:12px;font:400 12px/16px var(--font-sans);color:var(--text-muted)}.login-or:before,.login-or:after{content:"";flex:1;height:1px;background:var(--border-hairline)}.login-wide{width:100%}.login-list{display:flex;flex-direction:column;gap:2px;margin:0 -10px}.login-step{display:flex;flex-direction:column;gap:10px}.login-step-text{margin:0;font:400 13px/20px var(--font-sans);color:var(--text-body)}.login-qr{display:block;align-self:center;width:176px;height:176px;background:var(--mist-0);color:var(--mist-950);border:1px solid var(--border-subtle);border-radius:var(--radius-popover);overflow:hidden}.login-qr svg{display:block;width:100%;height:100%}.login-qr path{fill:currentColor}.login-qr-skeleton{align-self:center}.login-secret{display:flex;align-items:center;gap:8px;min-height:40px;padding:4px 4px 4px 12px;border-radius:var(--radius-control);background:var(--surface-sunken)}.login-secret-key{flex:1;min-width:0;font-size:13px;line-height:20px;color:var(--text-primary);letter-spacing:.02em;overflow-wrap:anywhere;-webkit-user-select:all;user-select:all}.hb{display:flex;flex-direction:column;gap:20px;min-width:0;container:hb / inline-size}.hb [data-t=good]{color:var(--status-ok-fg)}.hb [data-t=bad]{color:var(--status-fault-fg)}.hb-part{display:contents}.hb-part>*{min-width:0}.hb-head{display:flex;align-items:flex-end;justify-content:space-between;gap:16px;flex-wrap:wrap}.hb-head-t{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1 1 320px}.hb-head-t h1{margin:0;font:600 28px/34px var(--font-sans);letter-spacing:-.02em;color:var(--text-primary)}.hb-head-t span{font:400 14px/20px var(--font-sans);color:var(--text-secondary)}.hb-quick{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:8px}.hb-quick .vf-btn{white-space:nowrap;height:40px;box-sizing:border-box;justify-content:center}.hb-cols{display:grid;grid-template-columns:minmax(0,1fr) 360px;gap:16px;align-items:start}.hb-col{display:flex;flex-direction:column;gap:16px;min-width:0}.hb-pair{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:16px}.hb-pair>*{min-width:0}.hb-card{display:flex;flex-direction:column}.hb-c-h{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:56px;padding:12px 16px 8px 20px}.hb-c-h h2{margin:0;font:600 15px/20px var(--font-sans);color:var(--text-primary);white-space:nowrap}.hb-c-h>div{display:flex;flex-direction:column;gap:2px}.hb-c-h>div>span{font:400 12px/16px var(--font-sans);color:var(--text-muted)}.hb-cnt{min-width:22px;height:22px;padding:0 7px;border-radius:999px;display:grid;place-items:center;background:var(--status-fault-bg);color:var(--status-fault-fg);font:600 12px/1 var(--font-sans)}.hb-more{display:flex;align-items:center;justify-content:center;gap:6px;width:100%;height:40px;border:0;border-top:1px solid var(--border-subtle);background:transparent;cursor:pointer;font:500 12px/16px var(--font-sans);color:var(--text-secondary);border-radius:0 0 var(--radius-card) var(--radius-card)}.hb-more:hover{background:var(--surface-hover);color:var(--text-primary)}.hb-na{padding:0 20px 12px}.hb-tank{display:flex;flex-direction:column;gap:10px}.hb-note{margin:8px 0 0;font:400 12px/16px var(--font-sans);color:var(--text-muted);text-wrap:pretty}.hb-tank .hb-note{margin:0}@container hb (max-width: 1080px){.hb-cols{grid-template-columns:minmax(0,1fr)}.hb-col--side{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr)}}@container hb (max-width: 720px){.hb-pair,.hb-col--side{grid-template-columns:minmax(0,1fr)}.hb-quick{width:100%}.hb-quick .vf-btn{flex:1}}.hb-q{display:flex;flex-direction:column;margin:0;padding:0 0 8px;list-style:none}.hb-qi{display:grid;grid-template-columns:32px minmax(0,1fr) auto;align-items:center;gap:12px;padding:10px 16px 10px 20px}.hb-qi+.hb-qi{border-top:1px solid var(--border-hairline)}.hb-qi-i{width:32px;height:32px;border-radius:9px;display:grid;place-items:center;background:var(--status-info-bg);color:var(--status-info-fg)}.hb-qi[data-tone=fault] .hb-qi-i{background:var(--status-fault-bg);color:var(--status-fault-fg)}.hb-qi[data-tone=warn] .hb-qi-i{background:var(--status-warn-bg);color:var(--status-warn-fg)}.hb-qi-t{display:flex;flex-direction:column;min-width:0;padding:0;border:0;background:transparent;cursor:pointer;text-align:left;font:inherit}.hb-qi-t:hover b{text-decoration:underline;text-underline-offset:2px}.hb-qi-k{font:600 10px/14px var(--font-sans);letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted)}.hb-qi-t b{font:600 13px/18px var(--font-sans);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hb-qi-t>span:last-child{font:400 12px/16px var(--font-sans);color:var(--text-secondary);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.hb-qi .vf-btn{white-space:nowrap}.hb-ok{display:flex;align-items:center;gap:10px;padding:8px 20px 20px;font:500 13px/18px var(--font-sans);color:var(--status-ok-fg)}.hb-wk{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;padding:4px 20px 16px}.hb-wk-i{display:flex;flex-direction:column;gap:2px;min-width:0}.hb-wk-i>span{font:400 12px/16px var(--font-sans);color:var(--text-muted)}.hb-wk-i b{font:600 20px/26px var(--font-sans);color:var(--text-primary);white-space:nowrap}.hb-wk-i em{font:500 12px/16px var(--font-sans);font-style:normal}.hb-wk-i em:not([data-t]){color:var(--text-muted)}.hb-bars{display:grid;grid-template-columns:repeat(14,minmax(0,1fr));gap:4px;align-items:end;height:72px;padding:0 20px}.hb-bar{display:flex;align-items:flex-end;height:100%}.hb-bar i{display:block;width:100%;border-radius:3px 3px 0 0;background:var(--surface-sunken)}.hb-bar[data-cur] i{background:var(--data-1)}.hb-bars-l{display:grid;grid-template-columns:1fr 1fr;padding:6px 20px 16px;font:400 11px/14px var(--font-sans);color:var(--text-muted)}.hb-bars-l span:last-child{text-align:right}.hb-mt{display:flex;flex-direction:column;padding:0 8px 8px}.hb-mt-i{display:grid;grid-template-columns:40px minmax(0,1fr) auto;align-items:center;gap:12px;min-height:52px;padding:6px 12px;border:0;border-radius:10px;background:transparent;cursor:pointer;text-align:left;font:inherit}.hb-mt-i:hover{background:var(--surface-hover)}.hb-mt-d{display:flex;flex-direction:column;align-items:center;justify-content:center;width:40px;height:40px;border-radius:10px;background:var(--surface-2)}.hb-mt-d b{font:600 15px/18px var(--font-sans);color:var(--text-primary)}.hb-mt-d span{font:500 10px/12px var(--font-sans);text-transform:uppercase;color:var(--text-muted)}.hb-mt-t{display:flex;flex-direction:column;min-width:0}.hb-mt-t b{font:600 13px/18px var(--font-sans);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hb-mt-t span{font:400 12px/16px var(--font-sans);color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hb-mt-p{height:22px;padding:0 8px;border-radius:999px;display:inline-flex;align-items:center;background:var(--status-warn-bg);color:var(--status-warn-fg);font:500 11px/14px var(--font-sans);white-space:nowrap}.hb-mt-p[data-port]{background:var(--status-ok-bg);color:var(--status-ok-fg)}.hb-fu{display:flex;flex-direction:column;padding:0 8px 12px}.hb-fu-g{padding:8px 12px 4px;font:600 10px/14px var(--font-sans);letter-spacing:.05em;text-transform:uppercase;color:var(--status-ok-fg)}.hb-fu-g[data-g=worst]{color:var(--status-warn-fg);margin-top:4px}.hb-fu-r{display:grid;grid-template-columns:96px minmax(0,1fr) 40px;align-items:center;gap:10px;min-height:32px;padding:0 12px;border:0;border-radius:8px;background:transparent;cursor:pointer;text-align:left;font:inherit}div.hb-fu-r{cursor:default}button.hb-fu-r:hover{background:var(--surface-hover)}.hb-fu-r>span:first-child{font:500 12px/16px var(--font-sans);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hb-fu-r b{font:600 12px/16px var(--font-sans);color:var(--text-primary);text-align:right}.hb-fu-b{position:relative;height:8px;border-radius:4px;background:var(--surface-2)}.hb-fu-b i{position:absolute;inset:0 auto 0 0;border-radius:4px;background:var(--status-ok-dot)}.hb-fu-b i[data-g=worst]{background:var(--status-warn-dot)}.hb-fu-b s,.hb-fu-avg s{position:absolute;top:-3px;bottom:-3px;width:2px;margin-left:-1px;background:var(--text-primary);border-radius:1px}.hb-fu-avg{position:relative;display:flex;align-items:center;gap:6px;margin:8px 12px 0;padding-top:10px;border-top:1px solid var(--border-hairline);font:400 12px/16px var(--font-sans);color:var(--text-muted)}.hb-fu-avg s{position:static;display:inline-block;height:12px;margin:0}.hb-fu-avg b{margin-left:auto;color:var(--text-primary);font-weight:600}.hb-ord{display:flex;flex-direction:column;padding:0 6px 8px}.hb-ord-r{display:flex;flex-direction:column;gap:6px;padding:10px 12px;border:0;border-radius:10px;background:transparent;text-align:left;font:inherit;cursor:pointer}div.hb-ord-r{cursor:default}button.hb-ord-r:hover{background:var(--surface-hover)}.hb-ord-r+.hb-ord-r{box-shadow:0 -1px 0 var(--border-hairline)}.hb-ord-h{display:flex;align-items:center;gap:8px}.hb-ord-h b{font:600 13px/18px var(--font-sans);color:var(--text-primary)}.hb-ord-h>.vf-num{margin-left:auto;font:600 13px/18px var(--font-sans);color:var(--text-primary)}.hb-ord-t{font:400 12px/16px var(--font-sans);color:var(--text-secondary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hb-ord-bar{display:flex;gap:3px}.hb-ord-bar>i{flex:1;height:6px;border-radius:3px;background:var(--data-1)}.hb-ord-bar>i[data-st=planned]{background:color-mix(in oklab,var(--data-1) 45%,transparent)}.hb-ord-bar>i[data-st=open]{background:transparent;box-shadow:inset 0 0 0 1.5px var(--status-warn-dot)}.hb-ord-f{font:400 12px/16px var(--font-sans);color:var(--text-muted)}.hb-ord-f em{font-style:normal;color:var(--status-warn-fg);font-weight:500}.hb-mv{display:flex;flex-direction:column;padding:0 6px 8px}.hb-mv-r{display:flex;align-items:center;gap:10px;min-height:48px;padding:6px 10px;border:0;border-radius:10px;background:transparent;text-align:left;font:inherit;cursor:pointer}div.hb-mv-r{cursor:default}button.hb-mv-r:hover{background:var(--surface-hover)}.hb-mv-t{width:44px;flex:none;font:600 13px/18px var(--font-sans);color:var(--text-primary)}.hb-mv-i{width:26px;height:26px;flex:none;border-radius:8px;display:grid;place-items:center;background:var(--surface-accent);color:var(--accent-fg)}.hb-mv-i[data-k=arrival]{background:var(--status-ok-bg);color:var(--status-ok-fg)}.hb-mv-l{flex:1;min-width:0;display:flex;flex-direction:column}.hb-mv-l b{font:600 13px/18px var(--font-sans);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hb-mv-l>span{font:400 12px/16px var(--font-sans);color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hb-late{font:600 12px/16px var(--font-sans);color:var(--status-fault-fg);white-space:nowrap}.hb-empty-line{margin:0;padding:12px 16px 16px;font:400 13px/18px var(--font-sans);color:var(--text-muted);text-wrap:pretty}.hb-cap-n{display:flex;align-items:center;gap:8px;margin:0 16px 8px 20px;padding:8px 10px;border-radius:10px;background:var(--status-warn-bg);color:var(--status-warn-fg);font:500 12px/16px var(--font-sans)}.hb-cap{display:flex;flex-direction:column;gap:10px;padding:4px 16px 8px 20px}.hb-cap-r{display:grid;grid-template-columns:minmax(0,1fr) 72px 40px 68px;align-items:center;gap:10px;font:400 12px/16px var(--font-sans);color:var(--text-secondary)}.hb-cap-r>span:first-child{font-weight:500;color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hb-cap-b{height:6px;border-radius:3px;background:var(--status-ok-bg);overflow:hidden}.hb-cap-b>i{display:block;height:100%;background:var(--data-1)}.hb-cap-r b{text-align:right;color:var(--text-primary)}.hb-cap-g{color:var(--text-muted);white-space:nowrap}.hb-cap-f{display:flex;padding:6px 16px 14px 20px}vf-home-planner,vf-home-planner-lanes{display:block;min-width:0}.hp-body{position:relative;display:flex;flex-direction:column;padding-bottom:4px;cursor:grab;-webkit-user-select:none;user-select:none;touch-action:pan-y}.hp-body[data-drag]{cursor:grabbing}.hp-body[data-drag] .hp-b{pointer-events:none}.hp-r{display:grid;grid-template-columns:200px minmax(0,1fr);align-items:stretch;gap:16px;padding:0 20px 0 12px;min-height:48px}.hp-r+.hp-r:not(.hp-ax){border-top:1px solid var(--border-hairline)}.hp-r:not(.hp-ax):not(.hp-need):hover{background:color-mix(in oklab,var(--surface-hover) 60%,transparent)}.hp-ax{min-height:36px;position:sticky;top:0;z-index:4;background:var(--surface-1);border-bottom:1px solid var(--border-subtle)}.hp-ax-hint{display:flex;align-items:center;gap:6px;padding-left:8px;font:400 11px/14px var(--font-sans);color:var(--text-faint);white-space:nowrap;align-self:center}.hp-l{position:relative;overflow:hidden;min-width:0;height:48px}.hp-ax .hp-l{height:36px}.hp-ax .hp-l>span{position:absolute;top:11px;transform:translate(-50%);font:500 11px/14px var(--font-sans);color:var(--text-muted);white-space:nowrap}.hp-ax .hp-l>span[data-major]{color:var(--text-primary);font-weight:600}.hp-now{position:absolute;top:9px;transform:translate(-50%);z-index:3;padding:1px 7px;border-radius:999px;background:var(--accent);color:var(--accent-on);font:600 10px/14px var(--font-sans)}.hp-l>s{position:absolute;top:0;bottom:0;width:1px;background:color-mix(in oklab,var(--border-hairline) 70%,transparent)}.hp-l>s[data-major]{background:var(--border-subtle)}.hp-nl{position:absolute;top:0;bottom:0;width:2px;margin-left:-1px;background:var(--accent);z-index:4;pointer-events:none}.hp-sub{position:absolute;left:0;right:0;top:38.5px;height:2px;border-radius:1px;background:var(--surface-2)}.hp-v{position:relative;display:grid;grid-template-columns:28px minmax(0,1fr);align-items:center;gap:10px;min-width:0;padding:6px 8px;border:0;border-radius:8px;background:transparent;text-align:left;font:inherit;cursor:pointer;align-self:center}.hp-v:hover{background:var(--surface-hover)}.hp-v:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.hp-vt{display:flex;flex-direction:column;min-width:0}.hp-vt b{font:600 13px/17px var(--font-sans);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hp-vt>span{font:400 11px/15px var(--font-sans);color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hp-vt em{font-style:normal;color:var(--status-fault-fg);font-weight:500}.hp-v-al{position:absolute;left:30px;top:3px;width:9px;height:9px;border-radius:50%;background:var(--status-fault-dot);box-shadow:0 0 0 2px var(--surface-1)}.hp-r[data-st=off] .hp-vt b{color:var(--text-muted)}.hp-r[data-st=off] .hp-l{opacity:.55}.hp-need{background:linear-gradient(0deg,color-mix(in oklab,var(--status-warn-bg) 45%,transparent),color-mix(in oklab,var(--status-warn-bg) 45%,transparent));border-bottom:1px solid var(--border-subtle)}.hp-need .hp-l{height:calc(var(--rows, 1) * 26px + 14px)}.hp-v--need{cursor:default}.hp-v--need:hover{background:transparent}.hp-need-i{width:28px;height:28px;border-radius:8px;display:grid;place-items:center;background:var(--status-warn-bg);color:var(--status-warn-fg)}.hp-over{position:absolute;right:4px;bottom:4px;padding:1px 6px;border-radius:999px;background:var(--status-warn-bg);color:var(--status-warn-fg);font:600 11px/16px var(--font-sans)}.hp-pos{position:absolute;display:block}.hp-pos[data-k=b]{top:11px;height:20px}.hp-pos[data-k=need]{height:20px}.hp-pos[data-k=wo]{top:37px;height:5px;min-width:8px}.hp-pos[data-k=m]{margin-left:-4px;z-index:3}.hp-pos[data-m=al]{top:2px}.hp-pos[data-m=task]{top:35px}.hp-l>span:hover{z-index:5}.hp-b{position:relative;display:flex;align-items:center;gap:5px;width:100%;height:100%;min-width:3px;padding:0 7px;border:0;border-radius:5px;overflow:hidden;cursor:pointer;font:500 11px/14px var(--font-sans);text-align:left;transition:box-shadow var(--duration-fast) var(--ease-out),background-color var(--duration-fast) var(--ease-out)}.hp-b>span{position:relative;z-index:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0}.hp-b[data-xs]{padding:0;border-radius:3px}.hp-b:focus-visible,.hp-wo:focus-visible,.hp-m:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.hp-b[data-sel]{box-shadow:0 0 0 2px var(--surface-1),0 0 0 3.5px var(--accent)!important}.hp-b[data-k=jr][data-s=done]{background:color-mix(in oklab,var(--text-primary) 9%,var(--surface-1));color:var(--text-secondary)}.hp-b[data-k=jr][data-s=done]:hover{background:color-mix(in oklab,var(--text-primary) 14%,var(--surface-1))}.hp-b[data-k=jr][data-s=active]{background:color-mix(in oklab,var(--accent) 22%,var(--surface-1));color:var(--accent-fg)}.hp-b[data-k=jr][data-s=active]>i{position:absolute;inset:0 auto 0 0;background:color-mix(in oklab,var(--accent) 34%,var(--surface-1))}.hp-b[data-k=jr][data-s=active]>span{color:var(--text-primary);font-weight:600}.hp-b[data-k=jr][data-s=planned]{background:var(--surface-1);color:var(--accent-fg);box-shadow:inset 0 0 0 1px color-mix(in oklab,var(--accent) 60%,transparent)}.hp-b[data-k=jr][data-s=planned]:hover{background:var(--surface-accent)}.hp-b[data-late]:after{content:"";position:absolute;right:3px;top:3px;width:5px;height:5px;border-radius:50%;background:var(--status-fault-dot);z-index:2}.hp-b[data-xs][data-late]:after{display:none}.hp-dot{flex:none;width:6px;height:6px;border-radius:50%;background:var(--tag-violet-fg);position:relative;z-index:1}.hp-b[data-k=jr][data-s=active] .hp-dot{background:var(--mist-0);box-shadow:0 0 0 1.5px var(--tag-violet-fg)}.hp-b[data-k=cl]{justify-content:center;background:repeating-linear-gradient(90deg,color-mix(in oklab,var(--text-primary) 10%,var(--surface-1)) 0 6px,color-mix(in oklab,var(--text-primary) 6%,var(--surface-1)) 6px 8px);color:var(--text-muted);font-weight:600;font-size:10px}.hp-b[data-k=asg]{background:var(--tag-violet-bg);color:var(--tag-violet-fg);box-shadow:inset 0 0 0 1px color-mix(in oklab,var(--tag-violet-fg) 50%,transparent)}.hp-b[data-k=leg]{background:color-mix(in oklab,var(--status-warn-bg) 70%,var(--surface-1));color:var(--status-warn-fg);box-shadow:inset 0 0 0 1px color-mix(in oklab,var(--status-warn-dot) 70%,transparent);font-weight:600}.hp-b[data-k=leg]:hover{background:var(--status-warn-bg)}.hp-b[data-k=leg][data-new]{background:var(--tag-violet-bg);color:var(--tag-violet-fg);box-shadow:inset 0 0 0 1px color-mix(in oklab,var(--tag-violet-fg) 55%,transparent)}.hp-wo{display:block;width:100%;height:100%;padding:0;border:0;border-radius:3px;cursor:pointer;background:var(--status-warn-dot)}.hp-wo[data-prio=urgent]{background:var(--status-fault-dot)}.hp-wo[data-done]{background:color-mix(in oklab,var(--text-primary) 22%,transparent)}.hp-wo:hover{filter:brightness(.92)}.hp-wo[data-sel]{box-shadow:0 0 0 2px var(--surface-1),0 0 0 3.5px var(--accent)}.hp-m{display:block;width:8px;height:8px;padding:0;border:0;cursor:pointer;box-shadow:0 0 0 2px var(--surface-1)}.hp-m[data-k=al]{border-radius:50%;background:var(--status-fault-dot)}.hp-m[data-k=al][data-tone=warn]{background:var(--status-warn-dot)}.hp-m[data-k=al][data-tone=offline]{background:var(--text-faint)}.hp-m[data-k=task]{transform:rotate(45deg);border-radius:2px;background:var(--surface-1);box-shadow:inset 0 0 0 1.5px var(--status-warn-dot),0 0 0 2px var(--surface-1)}.hp-m[data-past]{opacity:.45}.hp-m:hover{transform:scale(1.25)}.hp-m[data-k=task]:hover{transform:rotate(45deg) scale(1.25)}.hp-empty{position:absolute;left:8px;top:50%;transform:translateY(-50%);font:400 12px/16px var(--font-sans);color:var(--text-muted);white-space:nowrap}.hp-none{padding:8px 0 12px}@media(max-width:1100px){.hp-r{grid-template-columns:150px minmax(0,1fr)}.hp-ax-hint{visibility:hidden}}@media(max-width:760px){.hp-r{grid-template-columns:96px minmax(0,1fr);padding:0 8px;gap:6px}.hp-vt>span,.hp-v vf-avatar{display:none}.hp-v{grid-template-columns:minmax(0,1fr)}}vf-home-plan-detail{display:contents}vf-home-plan-legs{display:block}.hp{overflow:visible}.hp-h{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:14px 16px 10px 20px}.hp-h-t{display:flex;flex-direction:column;gap:2px;min-width:0}.hp-h-t h2{margin:0;font:600 15px/20px var(--font-sans);color:var(--text-primary)}.hp-h-t>span{font:400 12px/16px var(--font-sans);color:var(--text-muted);white-space:nowrap}.hp-h-c{display:flex;align-items:center;gap:8px;flex-wrap:nowrap}.hp-nav{display:flex;align-items:center;gap:2px;padding:2px;border:1px solid var(--border-subtle);border-radius:10px}.hp-f{display:flex;align-items:center;gap:8px;flex-wrap:wrap;padding:0 16px 12px 20px;border-bottom:1px solid var(--border-subtle)}.hp-search{display:flex;align-items:center;gap:8px;height:32px;width:200px;padding:0 6px 0 10px;border:1px solid var(--border-default);border-radius:10px;background:var(--surface-1);color:var(--text-muted);cursor:text;transition:border-color var(--duration-fast) var(--ease-out),box-shadow var(--duration-fast) var(--ease-out)}.hp-search:focus-within{border-color:var(--border-focus, var(--accent));box-shadow:0 0 0 3px color-mix(in oklab,var(--accent) 18%,transparent)}.hp-search input{all:unset;flex:1;min-width:0;font:400 13px/18px var(--font-sans);color:var(--text-primary)}.hp-search input::placeholder{color:var(--text-muted)}.hp-search-x{width:22px;height:22px;flex:none;border:0;border-radius:6px;display:grid;place-items:center;background:transparent;color:var(--text-muted);cursor:pointer}.hp-search-x:hover{background:var(--surface-hover);color:var(--text-primary)}.hp-chips{display:flex;gap:2px;flex-wrap:wrap;margin-left:auto}.hp-fl-i{display:inline-flex;align-items:center;gap:6px;height:30px;padding:0 10px;border:1px solid transparent;border-radius:999px;background:transparent;cursor:pointer;font:500 12px/16px var(--font-sans);color:var(--text-secondary);white-space:nowrap}.hp-fl-i:hover{background:var(--surface-hover)}.hp-fl-i:focus-visible{outline:2px solid var(--accent);outline-offset:1px}.hp-fl-i[aria-selected=true]{background:var(--surface-1);border-color:var(--border-default);color:var(--text-primary);box-shadow:var(--shadow-xs)}.hp-fl-i>span{color:var(--text-muted)}.hp-fl-i>i{width:7px;height:7px;border-radius:50%;background:var(--text-faint)}.hp-fl-i>i[data-tone=ok]{background:var(--status-ok-dot)}.hp-fl-i>i[data-tone=fault]{background:var(--status-fault-dot)}.hp-fl-i>i[data-tone=idle]{background:var(--data-1)}.hp-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;padding:10px 16px 10px 20px;border-top:1px solid var(--border-subtle)}.hp-leg{display:flex;gap:14px;flex-wrap:wrap;font:400 11px/16px var(--font-sans);color:var(--text-muted)}.hp-leg>span{display:inline-flex;align-items:center;gap:6px}.hp-leg i{width:16px;height:10px;border-radius:3px}.hp-leg i[data-k=jr-a]{background:linear-gradient(90deg,var(--accent) 50%,color-mix(in oklab,var(--accent) 22%,var(--surface-1)) 50%)}.hp-leg i[data-k=jr-p]{box-shadow:inset 0 0 0 1px var(--accent)}.hp-leg i[data-k=jr-d]{background:color-mix(in oklab,var(--text-primary) 9%,var(--surface-1))}.hp-leg i[data-k=job]{width:6px;height:6px;border-radius:50%;background:var(--tag-violet-fg)}.hp-leg i[data-k=leg]{background:color-mix(in oklab,var(--status-warn-bg) 70%,var(--surface-1));box-shadow:inset 0 0 0 1px var(--status-warn-dot)}.hp-leg i[data-k=wo]{height:5px;background:var(--status-warn-dot)}.hp-leg i[data-k=task]{width:8px;height:8px;transform:rotate(45deg);border-radius:2px;box-shadow:inset 0 0 0 1.5px var(--status-warn-dot)}.hp-leg i[data-k=al]{width:9px;height:9px;border-radius:50%;background:var(--status-fault-dot)}.hp-more{display:flex;align-items:center;justify-content:center;gap:6px;height:40px;border:0;background:transparent;cursor:pointer;font:500 12px/16px var(--font-sans);color:var(--text-secondary);border-radius:0 0 var(--radius-card) var(--radius-card)}.hp-more:hover{background:var(--surface-hover);color:var(--text-primary)}.hp-foot .hp-more{padding:0;width:auto}.hp-dr{display:flex;flex-direction:column;gap:20px}.hp-facts{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1px;margin:0;border:1px solid var(--border-subtle);border-radius:12px;overflow:hidden;background:var(--border-hairline)}.hp-facts>div{display:flex;flex-direction:column;gap:4px;padding:10px 12px;background:var(--surface-overlay, var(--surface-1));min-width:0}.hp-facts dt{font:400 11px/14px var(--font-sans);color:var(--text-muted)}.hp-facts dd{margin:0;font:500 13px/18px var(--font-sans);color:var(--text-primary);min-width:0;overflow:hidden;text-overflow:ellipsis}.hp-facts dd[data-t=bad]{color:var(--status-fault-fg)}.hp-sec{display:flex;flex-direction:column;gap:10px}.hp-sec-h{font:600 11px/16px var(--font-sans);letter-spacing:.05em;text-transform:uppercase;color:var(--text-muted)}.hp-path{display:inline-flex;align-items:center;gap:4px;min-width:0;font:500 13px/16px var(--font-sans);color:var(--text-primary);white-space:nowrap}.hp-path vf-icon{flex:none;color:var(--text-muted)}.hp-legs,.hp-cand{display:flex;flex-direction:column;border:1px solid var(--border-subtle);border-radius:12px;overflow:hidden}.hp-leg-r,.hp-cand-r{display:flex;align-items:center;gap:10px;min-height:48px;padding:8px 12px}.hp-leg-r+.hp-leg-r,.hp-cand-r+.hp-cand-r{border-top:1px solid var(--border-hairline)}.hp-leg-r[data-cur]{background:var(--surface-accent)}.hp-leg-n{width:22px;height:22px;flex:none;border-radius:999px;display:grid;place-items:center;background:var(--surface-sunken);font:600 11px/1 var(--font-sans);color:var(--text-secondary)}.hp-leg-r[data-st=open] .hp-leg-n{background:var(--status-warn-bg);color:var(--status-warn-fg)}.hp-leg-t{flex:1;min-width:0;display:flex;flex-direction:column}.hp-leg-t b{font:600 13px/18px var(--font-sans);color:var(--text-primary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hp-leg-t>span{font:400 12px/16px var(--font-sans);color:var(--text-muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.hp-cand-r{border:0;background:transparent;width:100%;text-align:left;font:inherit;cursor:pointer}.hp-cand-r:hover{background:var(--surface-hover)}.hp-cand-r:focus-visible{outline:2px solid var(--accent);outline-offset:-2px}.hp-cand-r[aria-pressed=true]{background:var(--surface-accent);box-shadow:inset 3px 0 0 var(--accent)}.hp-busy{font:400 12px/16px var(--font-sans);color:var(--text-muted);white-space:nowrap}.hp-grp-dot{width:10px;height:10px;border-radius:50%;flex:0 0 10px;background:var(--tag-gray-fg)}.hp-grp-dot[data-c=blue]{background:var(--tag-blue-fg)}.hp-grp-dot[data-c=green]{background:var(--tag-green-fg)}.hp-grp-dot[data-c=amber]{background:var(--tag-amber-fg)}.hp-grp-dot[data-c=violet]{background:var(--tag-violet-fg)}.hp-grp-dot[data-c=red]{background:var(--tag-red-fg)}@media(max-width:1100px){.hp-chips{margin-left:0}}@media(max-width:760px){.hp-search{width:100%}.hp-leg{display:none}.hp-facts{grid-template-columns:repeat(2,minmax(0,1fr))}}
