:root{--blue-50: #EBF0FF;--blue-100: #C4D3FF;--blue-200: #9DB8FF;--blue-300: #759DFF;--blue-400: #3377FF;--blue-500: #0055FF;--blue-600: #0044CC;--blue-700: #003399;--blue-800: #002266;--blue-900: #001133;--emerald-50: #E6FFF3;--emerald-100: #B3FFDB;--emerald-200: #7DFFC2;--emerald-300: #3DEDA0;--emerald-400: #01D472;--emerald-500: #01BB64;--emerald-600: #019950;--emerald-700: #017740;--emerald-800: #015529;--emerald-900: #013318;--gold-50: #FFFAE6;--gold-100: #FFF3B3;--gold-200: #FFEC80;--gold-300: #FFE24D;--gold-400: #FFD435;--gold-500: #CCAA2A;--gold-600: #997F20;--gold-700: #665515;--gold-800: #33280A;--gold-900: #1A1405;--indigo-50: #F0E6FF;--indigo-100: #D8B3FF;--indigo-200: #C180FF;--indigo-300: #A34DFF;--indigo-400: #841AFF;--indigo-500: #6300FF;--indigo-600: #5000CC;--indigo-700: #3C0099;--indigo-800: #290066;--indigo-900: #140033;--neutral-0: #FFFFFF;--neutral-50: #F7F8FD;--neutral-100: #EFF1FA;--neutral-150: #E8EAF5;--neutral-200: #D9DBF1;--neutral-250: #C8CAE0;--neutral-300: #B8BBDA;--neutral-400: #8E93C0;--neutral-500: #6469A6;--neutral-600: #484C7E;--neutral-700: #32365D;--neutral-800: #1E2040;--neutral-900: #131629;--neutral-950: #0A0C18;--color-bg: #FDFFFC;--color-bg-subtle: #F4F4EA;--chrome-bg: #FDFFFC;--color-surface: #FDFFFC;--color-surface-raised: #FDFFFC;--color-surface-overlay: #FDFFFC;--color-border: var(--neutral-200);--color-border-subtle: var(--neutral-150);--color-border-strong: var(--neutral-300);--color-border-focus: var(--blue-500);--color-rule: var(--neutral-900);--color-text-primary: var(--neutral-900);--color-text-secondary: var(--neutral-600);--color-text-tertiary: var(--neutral-400);--color-text-disabled: var(--neutral-300);--color-text-inverse: var(--neutral-0);--color-text-link: var(--blue-500);--color-text-link-hover: var(--blue-700);--color-accent: var(--blue-500);--color-accent-hover: var(--blue-600);--color-accent-pressed: var(--blue-700);--color-accent-subtle: var(--blue-50);--color-accent-text: var(--blue-600);--color-applies: var(--emerald-500);--color-applies-bg: var(--emerald-50);--color-applies-border: var(--emerald-200);--color-applies-text: var(--emerald-700);--color-maybe: var(--gold-400);--color-maybe-bg: var(--gold-50);--color-maybe-border: var(--gold-200);--color-maybe-text: var(--gold-700);--color-excluded: var(--neutral-400);--color-excluded-bg: var(--neutral-100);--color-excluded-border: var(--neutral-200);--color-excluded-text: var(--neutral-500);--color-blocking: #DC2626;--color-blocking-bg: #FEF2F2;--color-blocking-border: #FECACA;--color-blocking-text: #B91C1C;--color-hover-bg: var(--neutral-50);--color-pressed-bg: var(--neutral-100);--color-selected-bg: var(--blue-50);--color-selected-border: var(--blue-200);--color-indigo: var(--indigo-500);--color-indigo-subtle: var(--indigo-50);--color-indigo-text: var(--indigo-600)}:root{--font-sans: "Helvetica Neue", Helvetica, Arial, sans-serif;--font-mono: "Helvetica Neue", Helvetica, Arial, sans-serif;--text-xs: .6875rem;--text-sm: .75rem;--text-base: .875rem;--text-md: .9375rem;--text-lg: 1.0625rem;--text-xl: 1.375rem;--text-hero: 1.625rem;--text-2xl: 1.875rem;--text-3xl: 2.5rem;--text-4xl: 3.5rem;--text-5xl: 4.75rem;--weight-light: 300;--weight-regular: 400;--weight-medium: 400;--weight-semibold: 400;--weight-bold: 400;--leading-none: 1;--leading-tight: 1.15;--leading-snug: 1.3;--leading-normal: 1.5;--leading-relaxed: 1.65;--tracking-tight: -.02em;--tracking-normal: 0em;--tracking-wide: .04em;--tracking-label: .1em;--tracking-caps: .14em}body{font-family:var(--font-sans);font-size:var(--text-base);font-weight:var(--weight-light);line-height:var(--leading-normal);color:var(--color-text-primary);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility;text-wrap:pretty}*,*:before,*:after{box-sizing:border-box}:root{--space-0: 0px;--space-0-5: 2px;--space-1: 4px;--space-1-5: 6px;--space-2: 8px;--space-2-5: 10px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 28px;--space-8: 32px;--space-10: 40px;--space-12: 48px;--space-16: 64px;--space-20: 80px;--space-24: 96px;--space-32: 128px;--padding-xs: var(--space-1);--padding-sm: var(--space-2);--padding-md: var(--space-3);--padding-lg: var(--space-4);--padding-xl: var(--space-6);--padding-2xl: var(--space-8);--gap-xs: var(--space-1);--gap-sm: var(--space-2);--gap-md: var(--space-3);--gap-lg: var(--space-4);--gap-xl: var(--space-6);--sidebar-width: 200px;--header-height: 52px;--chat-panel-width: 320px;--max-content-width: 1200px;--app-min-width: 960px}:root{--border-1: 1px;--border-2: 2px;--radius-none: 0;--radius-xs: 0;--radius-sm: 0;--radius-md: 0;--radius-lg: 0;--radius-xl: 0;--radius-2xl: 0;--radius-full: 0;--radius-chip: 0;--radius-input: 0;--radius-button: 0;--radius-card: 0;--radius-modal: 0;--radius-tag: 0}:root{--shadow-xs: none;--shadow-sm: none;--shadow-md: none;--shadow-lg: none;--shadow-xl: none;--shadow-inset: none;--shadow-none: none;--shadow-focus: 0 0 0 1px var(--blue-500);--shadow-card: none;--shadow-panel: none;--shadow-overlay: none;--shadow-button: none}:root{--duration-0: 0ms;--duration-fast: 80ms;--duration-base: .15s;--duration-slow: .25s;--duration-slower: .4s;--ease-default: cubic-bezier(.2, 0, 0, 1);--ease-out: cubic-bezier(0, 0, .2, 1);--ease-in: cubic-bezier(.4, 0, 1, 1);--ease-linear: linear;--transition-fast: 80ms cubic-bezier(.2, 0, 0, 1);--transition-base: .15s cubic-bezier(.2, 0, 0, 1);--transition-slow: .25s cubic-bezier(.2, 0, 0, 1);--transition-panel: .25s cubic-bezier(0, 0, .2, 1)}:root{--app-accent: var(--blue-500);--row-pad: 12px}html,body{margin:0;height:100%;overflow-x:auto;overflow-y:hidden;background:var(--color-bg)}#root{height:100%}.app-desktop-floor{min-width:var(--app-min-width);height:100%}::-webkit-scrollbar{width:7px;height:7px}::-webkit-scrollbar-track{background:transparent}::-webkit-scrollbar-thumb{background:var(--neutral-300)}::-webkit-scrollbar-thumb:hover{background:var(--neutral-400)}input::placeholder,textarea::placeholder{color:var(--neutral-300)}.estimate-cell-input::placeholder{color:var(--neutral-500)}@keyframes npfPulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(.7);opacity:.55}}@keyframes npfBlink{0%,49%{opacity:1}50%,to{opacity:0}}.npf-caret{display:inline-block;width:6px;height:13px;background:var(--app-accent);margin-left:4px;vertical-align:-2px;animation:npfBlink 1s step-end infinite}
