@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/-F63fjptAgt5VM-kVkqdyU8n1iIq131nj-otFQ.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/-F63fjptAgt5VM-kVkqdyU8n1isq131nj-otFQ.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/-F63fjptAgt5VM-kVkqdyU8n1iAq131nj-otFQ.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/-F63fjptAgt5VM-kVkqdyU8n1iEq131nj-otFQ.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/-F63fjptAgt5VM-kVkqdyU8n1i8q131nj-o.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/-F6qfjptAgt5VM-kVkqdyU8n3twJwl1FgsAXHNlYzg.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/-F6qfjptAgt5VM-kVkqdyU8n3twJwlRFgsAXHNlYzg.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/-F6qfjptAgt5VM-kVkqdyU8n3twJwl9FgsAXHNlYzg.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/-F6qfjptAgt5VM-kVkqdyU8n3twJwl5FgsAXHNlYzg.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/-F6qfjptAgt5VM-kVkqdyU8n3twJwlBFgsAXHNk.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/-F6qfjptAgt5VM-kVkqdyU8n3vAOwl1FgsAXHNlYzg.woff2) format("woff2");unicode-range:U+0460-052F,U+1C80-1C8A,U+20B4,U+2DE0-2DFF,U+A640-A69F,U+FE2E-FE2F}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/-F6qfjptAgt5VM-kVkqdyU8n3vAOwlRFgsAXHNlYzg.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/-F6qfjptAgt5VM-kVkqdyU8n3vAOwl9FgsAXHNlYzg.woff2) format("woff2");unicode-range:U+0102-0103,U+0110-0111,U+0128-0129,U+0168-0169,U+01A0-01A1,U+01AF-01B0,U+0300-0301,U+0303-0304,U+0308-0309,U+0323,U+0329,U+1EA0-1EF9,U+20AB}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/-F6qfjptAgt5VM-kVkqdyU8n3vAOwl5FgsAXHNlYzg.woff2) format("woff2");unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C0,U+2113,U+2C60-2C7F,U+A720-A7FF}@font-face{font-family:IBM Plex Mono;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/-F6qfjptAgt5VM-kVkqdyU8n3vAOwlBFgsAXHNk.woff2) format("woff2");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:Schibsted Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/Jqz55SSPQuCQF3t8uOwiUL-taUTtap9IayojdSFOd1I.woff2) format("woff2");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:Schibsted Grotesk;font-style:normal;font-weight:400;font-display:swap;src:url(/fonts/Jqz55SSPQuCQF3t8uOwiUL-taUTtap9GayojdSFO.woff2) format("woff2");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:Schibsted Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/Jqz55SSPQuCQF3t8uOwiUL-taUTtap9IayojdSFOd1I.woff2) format("woff2");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:Schibsted Grotesk;font-style:normal;font-weight:500;font-display:swap;src:url(/fonts/Jqz55SSPQuCQF3t8uOwiUL-taUTtap9GayojdSFO.woff2) format("woff2");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:Schibsted Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/Jqz55SSPQuCQF3t8uOwiUL-taUTtap9IayojdSFOd1I.woff2) format("woff2");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:Schibsted Grotesk;font-style:normal;font-weight:600;font-display:swap;src:url(/fonts/Jqz55SSPQuCQF3t8uOwiUL-taUTtap9GayojdSFO.woff2) format("woff2");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:Schibsted Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/Jqz55SSPQuCQF3t8uOwiUL-taUTtap9IayojdSFOd1I.woff2) format("woff2");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:Schibsted Grotesk;font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/Jqz55SSPQuCQF3t8uOwiUL-taUTtap9GayojdSFO.woff2) format("woff2");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:Schibsted Grotesk;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/Jqz55SSPQuCQF3t8uOwiUL-taUTtap9IayojdSFOd1I.woff2) format("woff2");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:Schibsted Grotesk;font-style:normal;font-weight:800;font-display:swap;src:url(/fonts/Jqz55SSPQuCQF3t8uOwiUL-taUTtap9GayojdSFO.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}:root{--neutral-0: oklch(1 0 0);--neutral-25: oklch(.99 .003 250);--neutral-50: oklch(.975 .005 250);--neutral-100: oklch(.955 .007 250);--neutral-200: oklch(.92 .01 250);--neutral-300: oklch(.87 .012 252);--neutral-400: oklch(.755 .014 252);--neutral-500: oklch(.62 .015 254);--neutral-600: oklch(.515 .015 256);--neutral-700: oklch(.415 .014 258);--neutral-800: oklch(.3 .013 260);--neutral-900: oklch(.215 .013 262);--neutral-950: oklch(.16 .012 264);--blue-50: oklch(.97 .02 252);--blue-100: oklch(.93 .045 252);--blue-200: oklch(.865 .075 252);--blue-300: oklch(.76 .115 252);--blue-400: oklch(.645 .15 252);--blue-500: oklch(.555 .17 252);--blue-600: oklch(.485 .162 254);--blue-700: oklch(.405 .14 256);--blue-800: oklch(.32 .11 258);--blue-900: oklch(.25 .082 260);--green-50: oklch(.965 .025 155);--green-100: oklch(.92 .055 155);--green-500: oklch(.625 .15 152);--green-600: oklch(.545 .14 152);--green-700: oklch(.455 .118 153);--amber-50: oklch(.975 .03 85);--amber-100: oklch(.935 .07 85);--amber-500: oklch(.76 .155 78);--amber-600: oklch(.7 .16 70);--amber-700: oklch(.58 .14 60);--orange-50: oklch(.965 .035 55);--orange-100: oklch(.915 .075 52);--orange-500: oklch(.685 .19 48);--orange-600: oklch(.62 .19 44);--red-50: oklch(.965 .025 25);--red-100: oklch(.915 .055 25);--red-500: oklch(.575 .215 27);--red-600: oklch(.51 .205 27);--red-700: oklch(.435 .178 27);--teal-50: oklch(.965 .025 205);--teal-100: oklch(.915 .055 205);--teal-500: oklch(.7 .13 202);--teal-600: oklch(.615 .12 204);color-scheme:light;--surface-base: var(--neutral-50);--surface-sunken: var(--neutral-100);--surface-raised: var(--neutral-0);--surface-card: var(--neutral-0);--surface-overlay: var(--neutral-0);--surface-inverse: var(--neutral-900);--border-subtle: var(--neutral-200);--border-default: var(--neutral-300);--border-strong: var(--neutral-400);--border-focus: var(--blue-500);--text-primary: var(--neutral-900);--text-secondary: var(--neutral-600);--text-tertiary: oklch(.53 .015 254);--text-disabled: var(--neutral-400);--text-on-accent: var(--neutral-0);--text-link: var(--blue-600);--accent: var(--blue-500);--accent-hover: var(--blue-600);--accent-active: var(--blue-700);--accent-subtle: var(--blue-50);--accent-border: var(--blue-200);--accent-text: var(--blue-700);--ai: oklch(.55 .22 295);--ai-text: oklch(.46 .2 295);--ai-bg: oklch(.97 .03 295);--ai-bg-hover: oklch(.94 .05 295);--ai-border: oklch(.86 .08 295);--status-success: var(--green-600);--status-success-bg: var(--green-50);--status-success-border: var(--green-100);--status-warning: var(--amber-700);--status-warning-bg: var(--amber-50);--status-warning-border: var(--amber-100);--status-danger: var(--red-600);--status-danger-bg: var(--red-50);--status-danger-border: var(--red-100);--status-info: var(--blue-600);--status-info-bg: var(--blue-50);--status-info-border: var(--blue-100);--status-live: var(--teal-600);--status-live-bg: var(--teal-50);--field-orange: var(--orange-500);--field-orange-bg: var(--orange-50);--ring: 0 0 0 3px color-mix(in oklch, var(--blue-500) 35%, transparent)}[data-theme=dark]{color-scheme:dark;--surface-base: var(--neutral-950);--surface-sunken: oklch(.13 .012 264);--surface-raised: var(--neutral-900);--surface-card: var(--neutral-900);--surface-overlay: var(--neutral-800);--surface-inverse: var(--neutral-50);--border-subtle: oklch(.27 .013 262);--border-default: oklch(.33 .013 260);--border-strong: var(--neutral-700);--border-focus: var(--blue-400);--text-primary: var(--neutral-50);--text-secondary: var(--neutral-400);--text-tertiary: var(--neutral-500);--text-disabled: var(--neutral-700);--text-on-accent: var(--neutral-0);--text-link: var(--blue-300);--accent: var(--blue-400);--accent-hover: var(--blue-300);--accent-active: var(--blue-200);--accent-subtle: color-mix(in oklch, var(--blue-500) 18%, var(--neutral-950));--accent-border: color-mix(in oklch, var(--blue-400) 35%, var(--neutral-900));--accent-text: var(--blue-300);--ai: oklch(.72 .17 295);--ai-text: oklch(.82 .13 295);--ai-bg: color-mix(in oklch, oklch(.6 .2 295) 18%, var(--neutral-950));--ai-bg-hover: color-mix(in oklch, oklch(.6 .2 295) 28%, var(--neutral-950));--ai-border: color-mix(in oklch, oklch(.72 .17 295) 38%, var(--neutral-900));--status-success: var(--green-500);--status-success-bg: color-mix(in oklch, var(--green-500) 16%, var(--neutral-950));--status-success-border: color-mix(in oklch, var(--green-500) 32%, var(--neutral-900));--status-warning: var(--amber-500);--status-warning-bg: color-mix(in oklch, var(--amber-500) 15%, var(--neutral-950));--status-warning-border: color-mix(in oklch, var(--amber-500) 30%, var(--neutral-900));--status-danger: var(--red-500);--status-danger-bg: color-mix(in oklch, var(--red-500) 18%, var(--neutral-950));--status-danger-border: color-mix(in oklch, var(--red-500) 34%, var(--neutral-900));--status-info: var(--blue-400);--status-info-bg: color-mix(in oklch, var(--blue-500) 16%, var(--neutral-950));--status-info-border: color-mix(in oklch, var(--blue-500) 32%, var(--neutral-900));--status-live: var(--teal-500);--status-live-bg: color-mix(in oklch, var(--teal-500) 16%, var(--neutral-950));--field-orange: var(--orange-500);--field-orange-bg: color-mix(in oklch, var(--orange-500) 16%, var(--neutral-950));--ring: 0 0 0 3px color-mix(in oklch, var(--blue-400) 45%, transparent)}:root{--font-sans: "Schibsted Grotesk", -apple-system, BlinkMacSystemFont, "Segoe UI", Helvetica, Arial, sans-serif;--font-mono: "IBM Plex Mono", ui-monospace, "SF Mono", Menlo, Consolas, monospace;--text-2xs: 11px;--text-xs: 12px;--text-sm: 13px;--text-base: 14px;--text-md: 16px;--text-lg: 18px;--text-xl: 22px;--text-2xl: 28px;--text-3xl: 34px;--text-4xl: 44px;--text-5xl: 56px;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 700;--weight-black: 800;--leading-tight: 1.1;--leading-snug: 1.25;--leading-normal: 1.45;--leading-relaxed: 1.6;--tracking-display: -.02em;--tracking-tight: -.01em;--tracking-normal: 0;--tracking-label: .04em;--tracking-mono: .02em}:root{--space-0: 0;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--space-20: 80px;--space-24: 96px;--radius-xs: 3px;--radius-sm: 5px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-2xl: 22px;--radius-pill: 999px;--control-sm: 28px;--control-md: 36px;--control-lg: 44px;--sidebar-w: 248px;--topbar-h: 56px;--max-content: 1400px}:root{--shadow-xs: 0 1px 2px oklch(.3 .02 260 / .06);--shadow-sm: 0 1px 2px oklch(.3 .02 260 / .06), 0 2px 4px oklch(.3 .02 260 / .05);--shadow-md: 0 2px 4px oklch(.3 .02 260 / .06), 0 6px 12px oklch(.3 .02 260 / .08);--shadow-lg: 0 4px 8px oklch(.3 .02 260 / .07), 0 16px 32px oklch(.25 .02 260 / .12);--shadow-focus-danger: 0 0 0 3px color-mix(in oklch, var(--red-500) 30%, transparent);--shadow-inset: inset 0 1px 2px oklch(.3 .02 260 / .08);--transition-fast: .12s cubic-bezier(.4, 0, .2, 1);--transition-base: .18s cubic-bezier(.4, 0, .2, 1);--transition-slow: .26s cubic-bezier(.16, 1, .3, 1)}[data-theme=dark]{--shadow-xs: 0 1px 2px oklch(0 0 0 / .4);--shadow-sm: 0 1px 2px oklch(0 0 0 / .4), 0 2px 4px oklch(0 0 0 / .35);--shadow-md: 0 2px 4px oklch(0 0 0 / .45), 0 6px 14px oklch(0 0 0 / .45);--shadow-lg: 0 6px 14px oklch(0 0 0 / .5), 0 20px 40px oklch(0 0 0 / .55);--shadow-inset: inset 0 1px 2px oklch(0 0 0 / .45)}*,*:before,*:after{box-sizing:border-box}body{margin:0;font-family:var(--font-sans);font-size:var(--text-base);line-height:var(--leading-normal);color:var(--text-primary);background:var(--surface-base);-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}h1,h2,h3,h4{margin:0;font-weight:var(--weight-bold);letter-spacing:var(--tracking-tight);line-height:var(--leading-tight);color:var(--text-primary)}.ec-label{font-family:var(--font-mono);font-size:var(--text-2xs);font-weight:var(--weight-medium);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--text-tertiary)}.ec-mono{font-family:var(--font-mono);letter-spacing:var(--tracking-mono)}.ec-dot{width:8px;height:8px;border-radius:999px;display:inline-block;flex:none}:where(button,a,input,select,textarea,[tabindex]):focus-visible{outline:none;box-shadow:var(--ring);border-radius:var(--radius-sm)}html,body{height:100%}body{margin:0;overflow:hidden}#root{height:100dvh}.app{display:grid;grid-template-columns:var(--sidebar-w) 1fr;grid-template-rows:100dvh;background:var(--surface-base);color:var(--text-primary)}.side{background:var(--surface-raised);border-right:1px solid var(--border-subtle);display:flex;flex-direction:column;min-height:0}.side-brand{display:flex;align-items:center;gap:10px;padding:0 18px;height:var(--topbar-h);border-bottom:1px solid var(--border-subtle)}.side-brand .wm{font-weight:700;font-size:16px;letter-spacing:-.02em;white-space:nowrap}.side-brand .wm .sub{font-weight:500;color:var(--text-tertiary)}.brand-mark{width:28px;height:28px;border-radius:var(--radius-sm);background:var(--accent);color:#fff;display:flex;align-items:center;justify-content:center;flex:none}.brand-mark svg{stroke-width:2.25px}.side-nav{padding:10px 12px;display:flex;flex-direction:column;gap:2px;flex:1;min-height:0;overflow:auto}.side-group-label{font-family:var(--font-mono);font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:var(--text-tertiary);padding:14px 10px 6px}.nav-item{display:flex;align-items:center;gap:11px;padding:8px 10px;border-radius:var(--radius-sm);color:var(--text-secondary);font-size:14px;font-weight:500;cursor:pointer;border:1px solid transparent;-webkit-user-select:none;user-select:none;white-space:nowrap;background:none;font-family:inherit;text-align:left;width:100%}.nav-item:hover{background:var(--surface-sunken);color:var(--text-primary)}.nav-item.active{background:var(--accent-subtle);color:var(--accent-text);border-color:var(--accent-border)}.nav-item .count{margin-left:auto;font-family:var(--font-mono);font-size:11px;background:var(--surface-sunken);color:var(--text-secondary);padding:1px 7px;border-radius:999px}.nav-item.active .count{background:color-mix(in oklch,var(--accent) 16%,transparent);color:var(--accent-text)}.nav-item .alert{margin-left:auto;font-family:var(--font-mono);font-size:11px;background:var(--field-orange);color:#1a1206;padding:1px 7px;border-radius:999px;font-weight:600}.side-foot{border-top:1px solid var(--border-subtle);padding:12px;display:flex;align-items:center;gap:10px}.avatar{border-radius:999px;color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;flex:none}.main{display:flex;flex-direction:column;min-width:0;min-height:0}.topbar{height:var(--topbar-h);border-bottom:1px solid var(--border-subtle);background:var(--surface-raised);display:flex;align-items:center;gap:16px;padding:0 20px;flex:none}.event-pick{display:flex;align-items:center;gap:10px;padding:6px 10px;border-radius:var(--radius-sm);border:1px solid var(--border-subtle);cursor:pointer;white-space:nowrap}.event-pick:hover{background:var(--surface-sunken)}.event-pick .ev-dot{width:8px;height:8px;border-radius:999px;background:var(--status-success);box-shadow:0 0 0 3px var(--status-success-bg)}.event-pick .ev-logo{width:26px;height:26px;border-radius:6px;object-fit:contain;background:var(--surface-sunken);flex-shrink:0}.topbar-search{display:flex;align-items:center;gap:8px;height:34px;padding:0 12px;background:var(--surface-sunken);border:1px solid transparent;border-radius:var(--radius-sm);width:300px;color:var(--text-tertiary)}.topbar-search input{border:none;outline:none;background:transparent;font-family:var(--font-sans);font-size:13px;color:var(--text-primary);width:100%}.topbar-spacer{flex:1}.icon-btn{width:34px;height:34px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);color:var(--text-secondary);cursor:pointer;border:1px solid transparent;background:transparent}.icon-btn:hover{background:var(--surface-sunken);color:var(--text-primary)}.menu{position:relative;display:inline-flex}.menu-pop{position:absolute;top:calc(100% + 4px);min-width:200px;background:var(--surface-overlay);border:1px solid var(--border-subtle);border-radius:var(--radius-sm);box-shadow:var(--shadow-md);padding:5px;display:flex;flex-direction:column;gap:2px;z-index:40}.menu-pop.right{right:0}.menu-pop.left{left:0}.menu-item{display:flex;align-items:center;gap:8px;padding:8px 10px;background:none;border:none;border-radius:var(--radius-sm);cursor:pointer;font-size:12.5px;color:var(--text-primary);text-align:left;white-space:nowrap}.menu-item:hover{background:var(--surface-sunken)}.menu-item:disabled{opacity:.5;cursor:default}.menu-item.danger{color:var(--status-danger)}.role-pick{display:flex;align-items:center;gap:8px;padding:5px 10px 5px 6px;border-radius:var(--radius-pill);border:1px solid var(--border-default);cursor:pointer;white-space:nowrap}.role-pick:hover{background:var(--surface-sunken)}.content{flex:1;min-height:0;overflow:auto;padding:22px 26px 60px}.content-narrow{max-width:1180px;margin:0 auto}.page-head{display:flex;align-items:center;gap:14px;margin-bottom:20px}.page-head .ph-text h1{font-size:23px;font-weight:700;letter-spacing:-.02em}.page-head .ph-text p{margin:3px 0 0;color:var(--text-secondary);font-size:13px}.page-head .ph-actions{margin-left:auto;display:flex;align-items:center;gap:10px}.page-head.compact{margin-bottom:0;gap:10px 12px;padding:9px 16px;border-bottom:1px solid var(--border-subtle);flex-wrap:wrap}.page-head.compact .ph-text{display:flex;align-items:baseline;gap:10px;min-width:0}.page-head.compact .ph-text h1{font-size:15px}.page-head.compact .ph-text p{margin:0;font-size:11.5px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.page-head.compact .ph-actions{gap:8px}.breadcrumb{display:flex;align-items:center;gap:7px;font-size:12.5px;color:var(--text-tertiary);margin-bottom:12px}.breadcrumb a{color:var(--text-secondary);cursor:pointer;text-decoration:none}.breadcrumb a:hover{color:var(--accent-text)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:7px;height:36px;padding:0 14px;border-radius:var(--radius-sm);font-family:var(--font-sans);font-weight:600;font-size:14px;border:1px solid transparent;cursor:pointer;white-space:nowrap;transition:filter var(--transition-fast)}.btn:hover{filter:brightness(.95)}.btn:disabled{opacity:.5;cursor:not-allowed;filter:none}.btn svg{width:16px;height:16px}.btn-primary{background:var(--accent);color:var(--text-on-accent)}.btn-secondary{background:var(--surface-raised);color:var(--text-primary);border-color:var(--border-default)}.btn-ghost{background:transparent;color:var(--text-secondary)}.btn-ghost:hover{background:var(--surface-sunken);filter:none}.btn-ai{background:var(--ai-bg);color:var(--ai-text);border-color:var(--ai-border)}.btn-ai:hover{background:var(--ai-bg-hover);filter:none}.btn-ai svg{color:var(--ai)}.btn-danger{background:var(--status-danger);color:#fff}.btn-field{background:var(--field-orange);color:#1a1206}.btn-sm{height:30px;padding:0 11px;font-size:13px}.badge{display:inline-flex;align-items:center;gap:6px;height:21px;padding:0 8px;border-radius:var(--radius-pill);font-family:var(--font-mono);font-size:11px;font-weight:500;letter-spacing:.02em;text-transform:uppercase;white-space:nowrap}.bdot{width:6px;height:6px;border-radius:999px;flex:none}.fn-chip{display:inline-flex;align-items:center;gap:6px;border-radius:var(--radius-pill);font-weight:600;white-space:nowrap}.fn-chip svg{stroke-width:2.25px}.chip{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:500;padding:5px 11px;border-radius:var(--radius-pill);border:1px solid var(--border-default);background:var(--surface-raised);color:var(--text-secondary);cursor:pointer;white-space:nowrap;transition:background var(--transition-fast),border-color var(--transition-fast),color var(--transition-fast)}.chip:hover{background:var(--surface-sunken);border-color:var(--border-strong)}.chip.on{background:color-mix(in oklch,var(--accent) 14%,transparent);border-color:var(--accent);color:var(--accent-text);font-weight:600}.chip.on:before{content:"";width:14px;height:14px;flex:none;background:var(--accent);-webkit-mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat;mask:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='white' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E") center/contain no-repeat}.chip:focus-visible{outline:2px solid var(--border-focus);outline-offset:1px}.lucide{stroke-width:2px;flex:none}.mono{font-family:var(--font-mono)}.panel{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg)}.panel-head{display:flex;align-items:center;gap:10px;padding:13px 15px;border-bottom:1px solid var(--border-subtle)}.panel-head h3{font-size:14px;font-weight:600;margin:0}.panel-head .ct{font-family:var(--font-mono);font-size:11px;color:var(--text-tertiary)}.stat-row{display:grid;gap:14px;margin-bottom:18px}.stat{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:14px 16px}.stat-top{display:flex;align-items:center;gap:8px}.stat-label{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--text-tertiary)}.stat-value{font-size:27px;font-weight:700;letter-spacing:-.02em;line-height:1.1;margin-top:8px;font-variant-numeric:tabular-nums}.stat-sub{font-size:12px;color:var(--text-secondary);margin-top:4px}.field{display:flex;flex-direction:column;gap:6px}.field-label{font-family:var(--font-mono);font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-secondary);font-weight:500}.field-hint{font-size:12px;color:var(--text-tertiary)}.field-hint.invalid{color:var(--status-danger)}.inp,.sel,.txta{width:100%;font-family:var(--font-sans);font-size:14px;color:var(--text-primary);background:var(--surface-raised);border:1px solid var(--border-default);border-radius:var(--radius-sm);padding:0 12px;height:var(--control-md);outline:none;transition:box-shadow var(--transition-fast),border-color var(--transition-fast)}.txta{height:auto;padding:10px 12px;resize:vertical;min-height:84px;line-height:1.5}.sel{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 11px center;padding-right:34px;cursor:pointer}.inp:focus,.sel:focus,.txta:focus{border-color:var(--border-focus);box-shadow:var(--ring)}.inp:disabled,.sel:disabled,.txta:disabled,.inp[readonly],.txta[readonly]{background:var(--surface-sunken);color:var(--text-disabled);cursor:not-allowed;border-color:var(--border-subtle);box-shadow:none;opacity:1}select:disabled,select[disabled],.sel:disabled{-webkit-appearance:none!important;-moz-appearance:none!important;appearance:none!important;background-color:var(--surface-sunken);color:var(--text-disabled);cursor:not-allowed;opacity:1;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E") no-repeat right 11px center;padding-right:34px}.inp:disabled::placeholder,.txta:disabled::placeholder{color:var(--text-disabled)}label:has(>input:disabled){color:var(--text-disabled);cursor:not-allowed}input:disabled{cursor:not-allowed}.inp::placeholder,.txta::placeholder{color:var(--text-tertiary)}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}.form-card{background:var(--surface-card);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);padding:20px 22px}.form-section-label{font-family:var(--font-mono);font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--text-tertiary);margin:4px 0 2px;display:flex;align-items:center;gap:8px}.form-section-label:after{content:"";flex:1;height:1px;background:var(--border-subtle)}.span2{grid-column:1 / -1}.tile-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:10px}.tile{display:flex;align-items:center;gap:10px;padding:12px 13px;border:1px solid var(--border-default);border-radius:var(--radius-md);cursor:pointer;background:var(--surface-raised);transition:border-color var(--transition-fast),background var(--transition-fast)}.tile:hover{border-color:var(--border-strong)}.tile.on{border-color:var(--accent);background:var(--accent-subtle);box-shadow:var(--ring)}.tile .tl-ic{width:30px;height:30px;border-radius:var(--radius-sm);display:flex;align-items:center;justify-content:center;flex:none}.tile .tl-name{font-size:13.5px;font-weight:600}.tile .tl-sub{font-size:11px;color:var(--text-tertiary)}.segmented{display:inline-flex;background:var(--surface-sunken);border-radius:var(--radius-sm);padding:3px;gap:2px}.segmented.wrap{display:flex;flex-wrap:wrap;max-width:100%}.segmented.wrap .seg{padding:6px 10px;flex:1 1 auto;justify-content:center}.seg{display:inline-flex;align-items:center;gap:6px;border:none;background:transparent;font-family:var(--font-sans);font-size:13px;font-weight:600;color:var(--text-secondary);padding:6px 12px;border-radius:calc(var(--radius-sm) - 2px);cursor:pointer;white-space:nowrap}.seg.on{background:var(--surface-raised);color:var(--text-primary);box-shadow:var(--shadow-xs)}.kanban{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(240px,1fr);gap:14px;align-items:start;overflow-x:auto;padding-bottom:8px}.kcol{background:var(--surface-sunken);border:1px solid var(--border-subtle);border-radius:var(--radius-lg);display:flex;flex-direction:column;min-height:120px}.kcol-head{display:flex;align-items:center;gap:8px;padding:12px 13px 10px}.kcol-head .kc-title{font-size:13px;font-weight:600}.kcol-head .kc-count{margin-left:auto;font-family:var(--font-mono);font-size:11px;color:var(--text-tertiary);background:var(--surface-raised);padding:1px 8px;border-radius:999px}.kcol-body{display:flex;flex-direction:column;gap:9px;padding:0 8px 12px 11px;max-height:calc(100vh - 300px);overflow-y:auto}.kcol-more{margin-top:3px;padding:7px 10px;border:1px dashed var(--border);border-radius:8px;background:transparent;color:var(--text-secondary);font:inherit;font-size:12px;cursor:pointer}.kcol-more:hover{background:var(--surface-2);color:var(--text-primary)}.fq-search{display:flex;align-items:center;gap:6px;padding:0 9px;height:32px;border:1px solid var(--border);border-radius:8px;background:var(--surface);color:var(--text-tertiary)}.fq-search input{border:0;background:transparent;outline:none;color:var(--text-primary);font:inherit;font-size:13px;width:200px}.fq-search-clear{display:flex;border:0;background:transparent;color:var(--text-tertiary);cursor:pointer;padding:2px}.fq-search-clear:hover{color:var(--text-primary)}.need-card{background:var(--surface-raised);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:11px 12px;display:flex;flex-direction:column;gap:9px;cursor:pointer;transition:box-shadow var(--transition-fast),border-color var(--transition-fast);border-left:3px solid transparent}.need-card:hover{box-shadow:var(--shadow-md);border-color:var(--border-default)}.need-card .nc-top{display:flex;align-items:center;gap:8px}.need-card .nc-id{font-family:var(--font-mono);font-size:11.5px;font-weight:600;color:var(--text-secondary)}.need-card .nc-title{font-size:13.5px;font-weight:600;line-height:1.3}.need-card .nc-meta{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.need-card .nc-meta span{display:inline-flex;align-items:center;gap:5px;font-size:11.5px;color:var(--text-tertiary)}.need-card .nc-foot{display:flex;align-items:center;gap:8px}.tbl{width:100%;border-collapse:collapse}.tbl th{font-family:var(--font-mono);font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:var(--text-tertiary);text-align:left;font-weight:500;padding:10px 14px;border-bottom:1px solid var(--border-subtle);white-space:nowrap}.tbl td{padding:11px 14px;border-bottom:1px solid var(--border-subtle);font-size:13.5px;vertical-align:middle}.tbl tr:last-child td{border-bottom:none}.tbl tbody tr.clickable{cursor:pointer}.tbl tbody tr.clickable:hover{background:var(--surface-sunken)}.tbl .num{text-align:right;font-family:var(--font-mono);font-variant-numeric:tabular-nums}.tbl .t-id{font-family:var(--font-mono);font-size:12.5px;font-weight:600;color:var(--text-secondary)}.tbl tfoot td{padding:11px 14px;font-size:13px;font-weight:600;border-top:1px solid var(--border-default)}.tbl tbody tr.agg-group td{background:var(--surface-sunken);border-top:1px solid var(--border-default)}.tbl tbody tr.agg-group.clickable:hover td{background:var(--surface-raised)}.agg-toolbar{display:flex;gap:12px;flex-wrap:wrap;align-items:center;margin-bottom:16px}.agg-toolbar .sel,.agg-toolbar .inp{width:auto}.tbl-sticky thead th{position:sticky;top:0;z-index:1;background:var(--surface-card)}.tbl.tbl-compact{table-layout:fixed}.tbl.tbl-compact th,.tbl.tbl-compact td{padding:8px 9px}.tbl.tbl-compact th:first-child,.tbl.tbl-compact td:first-child{overflow-wrap:anywhere;white-space:normal}.tbl.tbl-compact .num{width:44px}.rl-row{display:grid;grid-template-columns:110px 1fr 70px 80px 110px 32px;gap:10px;align-items:center;padding:8px 0}.rl-row.head{font-family:var(--font-mono);font-size:10px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-tertiary);padding-bottom:6px}.rl-row .inp,.rl-row .sel{height:var(--control-sm);font-size:13px}.rl-del{width:30px;height:30px;border-radius:var(--radius-sm);border:1px solid transparent;background:transparent;color:var(--text-tertiary);cursor:pointer;display:flex;align-items:center;justify-content:center}.rl-del:hover{background:var(--status-danger-bg);color:var(--status-danger)}.bar{height:8px;border-radius:999px;background:var(--surface-sunken);overflow:hidden;min-width:80px}.bar>span{display:block;height:100%;border-radius:999px}.detail-grid{display:grid;grid-template-columns:minmax(0,1.55fr) minmax(300px,1fr);gap:18px;align-items:start}.kv{display:grid;grid-template-columns:130px 1fr;gap:10px 14px}.kv dt{font-family:var(--font-mono);font-size:11px;letter-spacing:.03em;text-transform:uppercase;color:var(--text-tertiary);padding-top:1px}.kv dd{margin:0;font-size:13.5px;color:var(--text-primary)}.prose{font-size:14px;line-height:1.55;color:var(--text-primary)}.callout{background:var(--surface-sunken);border:1px solid var(--border-subtle);border-radius:var(--radius-md);padding:13px 15px}.feed{display:flex;flex-direction:column}.feed-item{display:flex;gap:11px;padding:11px 0;border-bottom:1px solid var(--border-subtle)}.feed-item:last-child{border-bottom:none}.feed-dot{width:9px;height:9px;border-radius:999px;margin-top:5px;flex:none}.feed-body{flex:1;min-width:0}.feed-body .fb-top{display:flex;align-items:center;gap:8px}.feed-body .fb-who{font-size:13px;font-weight:600}.feed-body .fb-time{font-family:var(--font-mono);font-size:11px;color:var(--text-tertiary);margin-left:auto}.feed-body .fb-text{font-size:13px;color:var(--text-secondary);margin-top:3px;line-height:1.5}.proc-action{display:inline-flex;align-items:center;gap:6px}.empty{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:9px;padding:34px 16px;color:var(--text-tertiary);font-size:13px;text-align:center}.toast-wrap{position:fixed;bottom:22px;left:50%;transform:translate(-50%);z-index:120;display:flex;flex-direction:column;gap:8px;align-items:center}.toast{display:flex;align-items:center;gap:10px;background:var(--surface-overlay);border:1px solid var(--border-default);border-radius:var(--radius-md);padding:11px 15px;box-shadow:var(--shadow-lg);font-size:13.5px;font-weight:500;animation:toastin .22s ease}.toast .t-ic{width:22px;height:22px;border-radius:999px;display:flex;align-items:center;justify-content:center;flex:none}.toast .btn{margin-left:2px}.toast .t-x{display:flex;align-items:center;justify-content:center;width:22px;height:22px;border:none;background:transparent;color:var(--text-tertiary);cursor:pointer;border-radius:var(--radius-sm);flex:none}.toast .t-x:hover{background:var(--surface-sunken);color:var(--text-primary)}@keyframes toastin{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes pulse{0%,to{opacity:1}50%{opacity:.45}}@keyframes ec-pulse{0%{box-shadow:0 0 0 0 var(--status-danger)}70%,to{box-shadow:0 0 0 5px transparent}}.ec-pulse{animation:ec-pulse 1.4s ease-out infinite}.nm-attention{background:var(--status-danger-bg);border:1px solid var(--status-danger-border);border-radius:10px}@keyframes spin{to{transform:rotate(360deg)}}.tabs{display:flex;gap:2px;border-bottom:1px solid var(--border-subtle);margin-bottom:16px}.tab{padding:9px 14px;font-size:13.5px;font-weight:600;color:var(--text-secondary);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;display:inline-flex;align-items:center;gap:7px}.tab:hover{color:var(--text-primary)}.tab.on{color:var(--accent-text);border-bottom-color:var(--accent)}.tab .tcount{font-family:var(--font-mono);font-size:11px;color:var(--text-tertiary)}.gantt-panel{overflow:hidden}.gantt-row{display:grid;grid-template-columns:240px 1fr;align-items:stretch}.gantt-label{padding:9px 14px;border-right:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);display:flex;flex-direction:column;gap:2px;justify-content:center;min-width:0}.gantt-label .gl-name{font-size:13px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gantt-label .gl-meta{font-size:10.5px;color:var(--text-tertiary);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gantt-track{position:relative;border-bottom:1px solid var(--border-subtle);min-height:42px;background-image:repeating-linear-gradient(to right,transparent,transparent calc(100%/6 - 1px),var(--border-subtle) calc(100%/6 - 1px),var(--border-subtle) calc(100%/6))}.gantt-head{position:sticky;top:0;z-index:5;background:var(--surface-card)}.gantt-head .gantt-label{border-bottom:1px solid var(--border-default)}.gantt-head-track{min-height:56px;border-bottom:1px solid var(--border-default)}.phase-bands{position:absolute;inset:6px 0 auto 0;height:20px}.phase-band{position:absolute;top:0;height:20px;display:inline-flex;align-items:center;justify-content:center;font-family:var(--font-mono);font-size:10px;letter-spacing:.05em;text-transform:uppercase;font-weight:600;border-radius:var(--radius-sm);margin:0 2px;box-sizing:border-box;width:auto}.day-cols{position:absolute;top:30px;right:0;bottom:0;left:0;display:grid;grid-template-columns:repeat(6,1fr)}.day-col{display:flex;align-items:center;justify-content:center;border-left:1px solid var(--border-subtle)}.day-col:first-child{border-left:none}.day-col span{font-family:var(--font-mono);font-size:11px;font-weight:600;color:var(--text-secondary)}.gantt-body{max-height:calc(100vh - var(--topbar-h) - 320px);min-height:280px;overflow:auto;position:relative}.gantt-deps{position:absolute;top:0;z-index:3;pointer-events:none;overflow:visible}.gbar.summary{height:9px;box-shadow:none;opacity:.7;border-radius:2px}.gbar.dep-warn{box-shadow:0 0 0 1.5px var(--status-danger),var(--shadow-xs)}.dep-pick{display:flex;flex-direction:column;gap:2px;max-height:150px;overflow:auto;border:1px solid var(--border-subtle);border-radius:var(--radius-sm);padding:6px}.dep-opt{display:flex;align-items:center;gap:7px;font-size:13px;padding:3px 6px;border-radius:5px;cursor:pointer;white-space:nowrap}.dep-opt.on{background:var(--surface-sunken)}.dep-opt input{flex:none}.gantt-group{display:flex;align-items:center;gap:8px;padding:8px 14px;font-size:12px;font-weight:700;letter-spacing:.01em;background:var(--surface-sunken);border-bottom:1px solid var(--border-subtle);position:sticky;left:0}.gantt-row.clickable{cursor:pointer}.gantt-row.clickable:hover .gantt-label{background:var(--surface-sunken)}.gantt-row.clickable:hover .gbar{filter:brightness(.95)}.gbar{position:absolute;top:50%;transform:translateY(-50%);height:24px;border-radius:var(--radius-sm);display:flex;align-items:center;gap:5px;padding:0 8px;box-shadow:var(--shadow-xs);overflow:hidden;border:1px solid transparent;min-width:4px}.gbar.run{border-style:dashed;box-shadow:none}.gbar.crit{box-shadow:0 0 0 1.5px var(--status-danger),var(--shadow-xs)}.gbar .gbar-txt{font-family:var(--font-mono);font-size:10.5px;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.gbar svg{stroke-width:2.5px}.gbar-grip{position:absolute;top:0;bottom:0;width:9px;cursor:ew-resize;z-index:2}.gbar-grip.l{left:0}.gbar-grip.r{right:0}.now-line{position:absolute;top:0;bottom:0;width:2px;background:var(--status-danger);z-index:4}.now-line.subtle{opacity:.35;width:1.5px}.now-flag{position:absolute;top:2px;left:50%;transform:translate(-50%);font-family:var(--font-mono);font-size:9px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#fff;background:var(--status-danger);padding:1px 5px;border-radius:3px;white-space:nowrap}.risk{display:inline-flex;align-items:center;gap:6px;font-size:13px}.risk .rdot{width:8px;height:8px;border-radius:999px}.notif-badge{position:absolute;top:2px;right:2px;min-width:15px;height:15px;padding:0 4px;border-radius:999px;background:var(--field-orange);color:#1a1206;font-family:var(--font-mono);font-size:9.5px;font-weight:700;display:flex;align-items:center;justify-content:center}.notif-pop{position:absolute;right:0;top:42px;width:340px;max-width:90vw;z-index:45;box-shadow:var(--shadow-lg)}.notif-list{max-height:min(420px,60vh);overflow-y:auto}.notif-list .feed-item:last-child{border-bottom:none}.notif-click{cursor:pointer}.notif-click:hover{background:var(--surface-sunken)}.cmdk{width:min(580px,94vw);background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);display:flex;flex-direction:column;overflow:hidden;max-height:min(480px,70vh)}.cmdk-input{display:flex;align-items:center;gap:10px;padding:13px 15px;border-bottom:1px solid var(--border-subtle)}.cmdk-input input{flex:1;border:none;outline:none;background:transparent;font-family:var(--font-sans);font-size:15px;color:var(--text-primary)}.cmdk-kbd{font-family:var(--font-mono);font-size:10px;text-transform:uppercase;color:var(--text-tertiary);border:1px solid var(--border-default);border-radius:5px;padding:2px 6px}.cmdk-list{overflow-y:auto;padding:6px;min-height:0}.cmdk-group{font-family:var(--font-mono);font-size:10px;letter-spacing:.05em;text-transform:uppercase;color:var(--text-tertiary);padding:9px 10px 4px}.cmdk-row{display:flex;align-items:center;gap:9px;padding:8px 10px;border-radius:var(--radius-sm);cursor:pointer;font-size:13.5px}.cmdk-row.active{background:var(--accent-subtle)}.cmdk-code{font-size:11.5px;font-weight:600;color:var(--text-secondary);flex:none}.cmdk-label{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.cmdk-sub{font-size:12px;color:var(--text-tertiary);margin-left:auto;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:40%;flex:none}.cmdk-row .badge{flex:none}.cmdk-empty{display:flex;align-items:center;justify-content:center;gap:8px;padding:26px;color:var(--text-tertiary);font-size:13px}.topbar-search{cursor:pointer}.topbar-search .cmdk-kbd{margin-left:auto}.only-mobile{display:none!important}@media(max-width:900px){.only-mobile{display:flex!important}.app{grid-template-columns:1fr}.side{position:fixed;inset:0 auto 0 0;width:var(--sidebar-w);transform:translate(-100%);transition:transform .2s ease;z-index:90;box-shadow:var(--shadow-lg)}.side.open{transform:none}.side-scrim{position:fixed;top:0;right:0;bottom:0;left:0;background:#11161f66;z-index:89}.topbar{gap:10px;padding:0 12px;overflow-x:auto}.topbar-search{display:none}.role-pick>span{display:none}.content{padding:14px 14px 40px}.page-head{flex-wrap:wrap}.page-head .ph-actions{margin-left:0;flex-wrap:wrap}.detail-grid,.form-grid{grid-template-columns:1fr}.stat-row{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))!important}.gantt-row{grid-template-columns:140px 1fr}}@media(max-width:640px){.kv{grid-template-columns:1fr;gap:2px 0}.kv dt{padding-top:8px}.rl-row{display:flex;flex-wrap:wrap;gap:8px}.rl-row.head{display:none}.rl-row>:nth-child(1){flex:1 1 44%}.rl-row>:nth-child(2){flex:1 1 100%;order:-1}.rl-row>:nth-child(3){flex:1 1 18%}.rl-row>:nth-child(4){flex:1 1 24%;min-width:76px}.rl-row>:nth-child(5){flex:1 1 28%}.rl-row>:nth-child(6){flex:0 0 auto;align-self:center}.task-actions{gap:10px}.task-actions .btn{flex:1 1 auto;min-height:44px}.modal-backdrop{padding:10px;align-items:end}.modal-card{max-height:96dvh}}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#11161f73;display:grid;place-items:center;z-index:100;padding:24px;animation:toastin .15s ease}.modal-card{background:var(--surface-card);border:1px solid var(--border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);width:min(580px,100%);max-height:90vh;display:flex;flex-direction:column;overflow:hidden}.modal-card.sm{width:min(420px,100%)}.modal-card:focus{outline:none}.modal-head{display:flex;align-items:center;gap:10px;padding:13px 16px;border-bottom:1px solid var(--border-subtle)}.modal-head h3{font-size:15px;font-weight:600;margin:0;flex:1}.modal-body{padding:16px;overflow:auto;overscroll-behavior:contain;display:flex;flex-direction:column;gap:14px}.modal-foot{display:flex;gap:10px;justify-content:flex-end;padding:13px 16px;border-top:1px solid var(--border-subtle)}.nf-help{font-size:12.5px;color:var(--text-tertiary);margin:2px 0 10px}.needform-cols{display:block}.needform-cols.two{display:grid;grid-template-columns:minmax(0,1fr) minmax(300px,380px);gap:16px;align-items:start}.nf-items{display:flex;flex-direction:column;gap:8px;min-width:0}.nf-item{position:relative;border:1px solid var(--border-subtle);border-radius:8px;padding:8px;background:var(--surface-card)}.nf-item.sel{border-color:var(--border-default)}.nf-item.sel:before{content:"";position:absolute;left:0;top:8px;bottom:8px;width:3px;border-radius:0 3px 3px 0;background:var(--accent)}.nf-item.err{border-color:var(--status-danger)}.nf-item-main{display:flex;align-items:center;gap:8px;min-width:0}.nf-item-suggest{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px;padding-left:2px}.nf-item-suggest:empty{display:none}.nf-item-meta{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;padding-left:2px}.nf-chip{display:inline-flex;align-items:center;gap:4px;font-size:11.5px;padding:3px 8px;border-radius:999px;border:1px solid var(--border-subtle);background:var(--surface-sunken);color:var(--text-secondary);cursor:pointer;max-width:100%}.nf-chip>span,.nf-chip{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nf-chip.err{border-color:var(--status-danger);color:var(--status-danger);background:transparent}.nf-sidepanel{position:sticky;top:12px;border:1px solid var(--border-subtle);border-radius:10px;background:var(--surface-sunken);padding:14px;display:flex;flex-direction:column;gap:12px;max-height:calc(100dvh - 130px);overflow:auto}.nf-panel-head{display:flex;align-items:center;gap:6px;font-size:13px;min-width:0}.nf-panel-head .nf-panel-sub{color:var(--text-tertiary);font-weight:400;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.nf-panel-empty{font-size:12.5px;color:var(--text-tertiary)}.item-adv{display:flex;flex-direction:column;gap:12px}.item-adv-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.needform-actions{display:flex;align-items:center;gap:12px;border-top:1px solid var(--border-subtle);padding-top:16px}.nf-route-hint{display:inline-flex;align-items:center;gap:12px;min-width:0}.nf-item .icon-btn:focus-visible,.nf-chip:focus-visible,.nf-edit:focus-visible{outline:2px solid var(--border-focus);outline-offset:1px}@media(max-width:640px){.item-adv-grid{grid-template-columns:1fr}.modal-body .inp,.modal-body .sel,.modal-body .txta,.modal-body .btn{min-height:var(--control-lg)}.nf-item .icon-btn{width:40px;height:40px}.nf-chip{padding:6px 10px}.needform-actions{position:sticky;bottom:0;margin:0 -22px -20px;padding:12px 16px calc(12px + env(safe-area-inset-bottom));background:var(--surface-card);border-top:1px solid var(--border-default);z-index:5}.nf-route-hint{display:none}.nf-submit{margin-left:auto;width:100%}.nf-submit .btn{width:100%;min-height:44px}.modal-card{width:100%;max-height:92dvh;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.modal-foot{padding-bottom:calc(13px + env(safe-area-inset-bottom))}}.report .report-section{margin-top:16px}.report .report-cover{padding:14px 16px}.report .report-logo{width:48px;height:48px;object-fit:contain;border-radius:8px;flex-shrink:0}.report .report-map{position:relative;height:380px}.report .report-map .site-stage{height:380px}.report .report-map-print{display:none}.report .report-tbl tbody tr.rg-group td{background:var(--surface-sunken);font-size:12px;padding:7px 14px;border-bottom:1px solid var(--border-subtle)}.report .report-tbl tfoot td{color:var(--text-secondary)}.report-gantt{padding:8px 12px 12px;overflow-x:auto}.report-gantt .rg-head,.report-gantt .rg-row{display:flex;align-items:stretch;gap:8px}.report-gantt .rg-lane-label{flex:0 0 130px;display:flex;align-items:center;gap:6px;font-size:12px;color:var(--text-secondary);padding:4px 0}.report-gantt .rg-track{position:relative;flex:1;display:flex;min-height:26px;border-left:1px solid var(--border-subtle)}.report-gantt .rg-head .rg-track{min-height:20px}.report-gantt .rg-day{border-right:1px solid var(--border-subtle);font-family:var(--font-mono);font-size:9.5px;color:var(--text-tertiary);text-align:center;overflow:hidden;white-space:nowrap;padding-top:3px}.report-gantt .rg-day.rg-build,.report-gantt .rg-day.rg-teardown{background:var(--surface-sunken)}.report-gantt .rg-row{border-top:1px solid var(--border-subtle)}.report-gantt .rg-bar{position:absolute;top:3px;height:20px;border-radius:4px;color:#fff;font-size:10.5px;line-height:20px;padding:0 6px;overflow:hidden;white-space:nowrap;text-overflow:ellipsis;box-shadow:var(--shadow-sm)}@media print{.side,.side-scrim,.topbar,.toast-wrap,.cmdk,.ph-actions{display:none!important}html,body,.app,.main,.content,.panel{background:#fff!important;color:#000!important}.content{max-width:none!important;padding:0 12px!important}.report .report-section{margin-top:12px;break-inside:avoid}.panel{box-shadow:none!important;border:1px solid #ccc!important}.report-gantt .rg-bar{-webkit-print-color-adjust:exact;print-color-adjust:exact;box-shadow:none}.report-gantt .rg-day.rg-build,.report-gantt .rg-day.rg-teardown{-webkit-print-color-adjust:exact;print-color-adjust:exact}.report .report-map .site-stage{display:none!important}.report .report-map{height:auto}.report .report-map-print{display:block;width:100%;height:auto;border:1px solid #ccc;border-radius:8px;-webkit-print-color-adjust:exact;print-color-adjust:exact}.tbl th,.tbl td{border-color:#ddd!important}a[href]:after{content:""}}.wo-print{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:var(--surface-page, #fff);overflow:auto}.wo-print-toolbar{position:sticky;top:0;z-index:1;display:flex;gap:8px;justify-content:flex-end;padding:12px 16px;background:var(--surface-raised);border-bottom:1px solid var(--border-subtle)}.wo-print-page{max-width:780px;margin:0 auto;padding:28px 32px 40px;color:var(--text-primary);font-size:13px}.wo-print-head{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;border-bottom:2px solid var(--border-strong, #333);padding-bottom:12px}.wo-print-code{font-family:var(--font-mono, monospace);font-size:12px;color:var(--text-tertiary)}.wo-print-title{margin:2px 0 0;font-size:22px}.wo-print-event{font-size:13px;color:var(--text-secondary);text-align:right}.wo-print-kv{display:grid;grid-template-columns:130px 1fr;gap:4px 12px;margin:16px 0}.wo-print-kv dt{color:var(--text-tertiary)}.wo-print-kv dd{margin:0}.wo-print-sec{margin-top:18px;break-inside:avoid}.wo-print-sec h2{font-size:14px;margin:0 0 8px;padding-bottom:4px;border-bottom:1px solid var(--border-subtle)}.wo-print-tasks{margin:0;padding-left:18px;display:flex;flex-direction:column;gap:4px}.wo-print-tbl{width:100%;border-collapse:collapse}.wo-print-tbl th,.wo-print-tbl td{text-align:left;padding:5px 8px;border-bottom:1px solid var(--border-subtle)}.wo-print-tbl th.num,.wo-print-tbl td.num{text-align:right;font-family:var(--font-mono, monospace);white-space:nowrap}.wo-print-map{width:100%;height:auto;border:1px solid var(--border-default);border-radius:8px}.wo-print-map-loading{padding:40px;text-align:center;color:var(--text-tertiary);border:1px dashed var(--border-default);border-radius:8px}.wo-print-capture{position:absolute;left:-10000px;top:0;width:640px;height:420px;pointer-events:none}.wo-print-foot{margin-top:28px;padding-top:10px;border-top:1px solid var(--border-subtle);font-size:11px;color:var(--text-tertiary)}@media print{body.wo-printing .app{display:none!important}body.wo-printing .wo-print{position:static;overflow:visible;z-index:auto}.wo-print-toolbar{display:none!important}.wo-print-page{max-width:none;margin:0;padding:0;color:#000}.wo-print-capture{display:none!important}.wo-print-map{-webkit-print-color-adjust:exact;print-color-adjust:exact}}.topbar-search{cursor:text}.op-line{padding:12px 0;border-bottom:1px solid var(--border-subtle)}.op-line:last-of-type{border-bottom:none}.op-line-top{display:grid;grid-template-columns:minmax(0,1fr) 76px minmax(90px,150px);gap:12px;align-items:center}.op-controls{display:flex;gap:8px;align-items:center;flex-wrap:wrap;margin-top:10px;padding:9px 11px;background:var(--surface-sunken);border-radius:var(--radius-md)}.op-list{display:flex;flex-direction:column;gap:2px;padding:8px}.op-group-head{display:flex;align-items:center;gap:7px;margin:14px 0 2px;padding-top:10px;border-top:1px solid var(--border-subtle);font-family:var(--font-mono);font-size:11px;letter-spacing:.04em;text-transform:uppercase;color:var(--text-tertiary)}.op-group-head:first-of-type{border-top:none;margin-top:4px;padding-top:0}.op-group-head .ct{margin-left:auto}.presence{display:inline-flex;align-items:center;padding-left:7px}.presence .pav{margin-left:-7px;border-radius:999px;display:inline-flex}.presence .pav .avatar{border:2px solid var(--surface-raised);box-sizing:content-box}.presence .pav-more{margin-left:-4px;z-index:1;height:26px;min-width:26px;padding:0 5px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;background:var(--surface-sunken);border:2px solid var(--surface-raised);font-family:var(--font-mono);font-size:10.5px;font-weight:600;color:var(--text-secondary)}.presence .live-pill{margin-right:10px}.live-pill{display:inline-flex;align-items:center;gap:6px;height:26px;padding:0 10px;border-radius:var(--radius-pill);border:1px solid var(--border-subtle);font-family:var(--font-mono);font-size:11px;color:var(--text-tertiary);white-space:nowrap}.live-pill .dot{width:7px;height:7px;border-radius:999px;background:var(--text-disabled)}.live-pill.on{color:var(--status-live);border-color:color-mix(in oklch,var(--status-live) 35%,transparent)}.live-pill.on .dot{background:var(--status-live);box-shadow:0 0 0 3px color-mix(in oklch,var(--status-live) 20%,transparent)}.portal-top{height:var(--topbar-h);display:flex;align-items:center;gap:10px;padding:0 22px;background:var(--surface-raised);border-bottom:1px solid var(--border-subtle);position:sticky;top:0;z-index:10}.portal-top .tag{font-family:var(--font-mono);font-size:10.5px;letter-spacing:.05em;text-transform:uppercase;color:var(--text-tertiary);border:1px solid var(--border-default);border-radius:var(--radius-pill);padding:3px 9px}.portal-page{height:100dvh;overflow-y:auto;background:var(--surface-base)}.portal-wrap{max-width:1020px;margin:0 auto;padding:28px 22px 80px}.steps{display:flex;align-items:center;flex-wrap:wrap;gap:6px 0;margin:18px 0 6px}.step{display:flex;align-items:center;gap:7px;font-size:12px;color:var(--text-tertiary);white-space:nowrap}.step .sdot{width:22px;height:22px;border-radius:999px;display:flex;align-items:center;justify-content:center;background:var(--surface-sunken);border:1px solid var(--border-default);color:var(--text-tertiary);flex:none}.step.done .sdot{background:var(--status-success-bg);border-color:transparent;color:var(--status-success)}.step.now .sdot{background:var(--accent);border-color:transparent;color:#fff}.step.now{color:var(--text-primary);font-weight:600}.step-sep{width:22px;height:1px;background:var(--border-default);margin:0 8px;flex:none}.step.done+.step-sep,.step-sep.done{background:var(--status-success);opacity:.5}.tag-print{position:fixed;top:0;right:0;bottom:0;left:0;z-index:200;background:var(--surface-raised);overflow:auto}.tag-print-toolbar{position:sticky;top:0;display:flex;gap:10px;justify-content:flex-end;padding:12px 20px;background:var(--surface-raised);border-bottom:1px solid var(--border-subtle)}.tag-print-page{max-width:900px;margin:0 auto;padding:24px 20px 60px}.tag-print-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.tag-label{border:1px dashed var(--border-default);border-radius:8px;padding:10px;display:flex;gap:10px;align-items:center;break-inside:avoid;min-width:0}.tag-label img{flex:none;image-rendering:pixelated}.tag-label-noqr{width:96px;height:96px;flex:none;display:grid;place-items:center;color:var(--text-disabled);border:1px dashed var(--border-subtle);border-radius:6px}@media print{body.tag-printing .app{display:none!important}body.tag-printing .tag-print{position:static;overflow:visible;background:#fff}.tag-print-toolbar{display:none!important}.tag-label{border-color:#ccc;-webkit-print-color-adjust:exact;print-color-adjust:exact}}.tlink{cursor:pointer;color:var(--accent-text)}.tlink:hover{text-decoration:underline}@media(max-width:640px){.op-line-top{grid-template-columns:minmax(0,1fr) 70px}.op-line-top .bar{display:none}}.tbl-compact th{padding:8px 10px}.tbl-compact td{padding:8px 10px;font-size:12.5px}.qty-edit{display:inline-flex;align-items:center;gap:5px;border:1px solid transparent;background:none;padding:3px 7px;margin:-3px -7px;border-radius:var(--radius-sm);font:inherit;font-weight:600;font-family:var(--font-mono);font-variant-numeric:tabular-nums;color:var(--text-primary);cursor:pointer}.qty-edit svg{opacity:0;color:var(--text-tertiary);transition:opacity var(--transition-fast)}.qty-edit:hover{border-color:var(--border-default);background:var(--surface-sunken)}.qty-edit:hover svg{opacity:1}.detail-grid>*{min-width:0}.panel{min-width:0}.panel>div:last-child{overflow-x:auto}@media(max-width:1680px){.tbl th,.tbl td{padding-left:10px;padding-right:10px}}.cal-tbl{table-layout:fixed}.cal-tbl .cal-name{width:190px;position:sticky;left:0;background:var(--surface-card);z-index:1}.cal-tbl th.cal-name{z-index:2}.cal-tbl td,.cal-tbl th{padding:7px 4px;text-align:center;font-family:var(--font-mono);font-size:11.5px;font-variant-numeric:tabular-nums}.cal-tbl td.cal-name,.cal-tbl th.cal-name{text-align:left;font-family:var(--font-sans);padding:7px 12px}.cal-tbl td.cal-name{font-size:12.5px}.cal-tbl th{font-size:9.5px}.cal-tbl .num{width:46px}.cal-tbl .wknd{background:var(--surface-sunken)}.cal-tbl .today{box-shadow:inset 0 -2px 0 var(--accent)}.cal-tbl td.today{box-shadow:inset 0 0 0 1.5px var(--accent)}.cal-key{display:inline-flex;align-items:center;gap:5px}.cal-key i{width:11px;height:11px;border-radius:3px;display:inline-block;border:1px solid var(--border-default)}.cal-use{background:color-mix(in oklch,var(--accent) 26%,transparent)}td.cal-use{box-shadow:inset 0 -2px color-mix(in oklch,var(--accent) 55%,transparent)}.cal-buf{background:repeating-linear-gradient(45deg,color-mix(in oklch,var(--accent) 16%,transparent) 0 4px,transparent 4px 8px)}.cal-part{background:var(--status-warning-bg);color:var(--text-primary)}.cal-full{background:var(--status-warning-bg);color:var(--status-warning);font-weight:700}.cal-over{background:var(--status-danger-bg);color:var(--status-danger);font-weight:700}.cal-key .cal-use,.cal-key .cal-buf{width:13px;height:11px;border-radius:3px;display:inline-block;border:1px solid var(--border-default)}.basket-chip{display:inline-flex;align-items:center;gap:6px;padding:3px 6px 3px 9px;border:1px solid var(--border-default);border-radius:var(--radius-pill);background:var(--surface-raised);font-family:var(--font-mono);font-size:11.5px}.basket-chip button{display:inline-flex;border:none;background:none;cursor:pointer;color:var(--text-tertiary);padding:2px;border-radius:999px}.basket-chip button:hover{color:var(--status-danger);background:var(--status-danger-bg)}.scan-page{max-width:560px;margin:0 auto;padding-bottom:calc(16px + env(safe-area-inset-bottom))}.scan-view{position:relative;background:#000;border-radius:var(--radius-lg);overflow:hidden;aspect-ratio:3 / 2;margin-bottom:10px}.scan-view video{width:100%;height:100%;object-fit:cover;display:block}.scan-view.compact{aspect-ratio:4 / 3;max-width:360px}.scan-view-idle{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:#ffffffbf;font-size:12.5px}.scan-reticle{position:absolute;top:14%;right:16%;bottom:14%;left:16%;border:2px solid rgb(255 255 255 / .55);border-radius:12px;pointer-events:none}.scan-stop{position:absolute;top:10px;right:10px;display:inline-flex;border:none;border-radius:999px;padding:7px;cursor:pointer;background:#0000008c;color:#fff}.scan-status{display:flex;gap:8px;flex-wrap:wrap;align-items:center;margin-bottom:10px}.scan-commit-bar{position:sticky;bottom:0;z-index:5;display:flex;gap:10px;align-items:center;margin-top:12px;padding:10px 0 calc(10px + env(safe-area-inset-bottom));background:var(--surface-base);border-top:1px solid var(--border-subtle)}.pick-line{padding:9px 0;border-bottom:1px solid var(--border-subtle)}.pick-line:last-child{border-bottom:none}
