:root{--font-sans: "Inter var", Inter, system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono: ui-monospace, "SF Mono", "Cascadia Code", "Segoe UI Mono", Menlo, Consolas, monospace;--text-xs: 12px;--text-sm: 13px;--text-base: 14px;--text-md: 16px;--text-lg: 18px;--text-xl: 20px;--text-2xl: 24px;--text-3xl: 30px;--leading-xs: 16px;--leading-sm: 18px;--leading-base: 20px;--leading-md: 24px;--leading-lg: 28px;--leading-xl: 28px;--leading-2xl: 32px;--leading-3xl: 36px;--weight-regular: 400;--weight-medium: 500;--weight-semibold: 600;--weight-bold: 650;--space-0: 0;--space-half: 2px;--space-1: 4px;--space-2: 8px;--space-3: 12px;--space-4: 16px;--space-5: 20px;--space-6: 24px;--space-7: 32px;--space-8: 40px;--space-9: 48px;--space-10: 64px;--radius-xs: 4px;--radius-sm: 6px;--radius: 8px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--radius-pill: 999px;--border-w: 1px;--border-w-control: 1px;--control-h-sm: 32px;--control-h: 36px;--control-h-lg: 40px;--control-px: 12px;--control-font: var(--text-base);--row-h: 44px;--cell-px: 12px;--cell-py: 10px;--ease-out: cubic-bezier(.2, .8, .2, 1);--ease-emphasized: cubic-bezier(.2, 0, 0, 1);--dur-fast: .12s;--dur: .18s;--dur-slow: .28s;--z-dropdown: 20;--z-sticky: 30;--z-dialog: 60}:root,.theme-light,.gm-style,.print-sheet{color-scheme:light;--color-bg: #f5f6f8;--color-surface: #ffffff;--color-surface-sunken: #f8f9fb;--color-surface-raised: #ffffff;--color-surface-hover: #f2f4f7;--color-surface-alt: #eceff3;--color-border: #e4e7ec;--color-border-strong: #d0d5dd;--color-border-hover: #98a2b3;--color-text: #161a22;--color-text-muted: #5b6474;--color-text-subtle: #7d8697;--color-text-inverse: #ffffff;--color-danger: #dc2626;--color-danger-bg: #fef1f1;--color-danger-text: #b42318;--color-success: #16a34a;--color-success-bg: #ecfbf1;--color-success-text: #067647;--color-info: #2563eb;--color-info-bg: #eef4ff;--color-info-text: #1d4ed8;--color-warning: #d97706;--color-warning-bg: #fff8e6;--color-warning-text: #93370d;--color-neutral-bg: #f0f2f5;--color-neutral-text: #475467;--color-link: #1d5fd8;--color-focus: #2563eb;--color-scrim: rgb(16 24 40 / .45);--shadow-xs: 0 1px 2px rgb(16 24 40 / .05);--shadow-sm: 0 1px 2px rgb(16 24 40 / .06), 0 1px 3px rgb(16 24 40 / .08);--shadow-md: 0 4px 8px -2px rgb(16 24 40 / .1), 0 2px 4px -2px rgb(16 24 40 / .06);--shadow-lg: 0 12px 16px -4px rgb(16 24 40 / .1), 0 4px 6px -2px rgb(16 24 40 / .05);--shadow-xl: 0 20px 24px -4px rgb(16 24 40 / .1), 0 8px 8px -4px rgb(16 24 40 / .04);--scroll-shadow: rgb(16 24 40 / .14)}:root{--color-nav-bg: #1c1917;--color-nav-text: #f5f5f4;--color-nav-text-muted: #a8a29e;--color-nav-border: color-mix(in srgb, var(--color-nav-text) 14%, var(--color-nav-bg));--color-accent: #f59e0b;--color-accent-hover: #d97706;--color-accent-text: #1c1917;--color-accent-hover-text: #1c1917}:root,.theme-light,.gm-style,.print-sheet{--color-accent-soft: color-mix(in srgb, var(--color-accent) 12%, var(--color-surface));--color-accent-softer: color-mix(in srgb, var(--color-accent) 6%, var(--color-surface));--color-accent-border: color-mix(in srgb, var(--color-accent) 40%, var(--color-surface));--color-accent-ring: color-mix(in srgb, var(--color-accent) 30%, transparent);--color-accent-strong: color-mix(in srgb, var(--color-accent) 62%, var(--color-text));--color-selection: color-mix(in srgb, var(--color-accent) 22%, transparent);--focus-ring: 0 0 0 2px var(--color-surface), 0 0 0 4px var(--color-focus)}@media screen{:root[data-theme=dark]{color-scheme:dark;--color-bg: #0f1115;--color-surface: #15181e;--color-surface-sunken: #1a1e25;--color-surface-raised: #1b1f27;--color-surface-hover: #1e232c;--color-surface-alt: #232833;--color-border: #262b35;--color-border-strong: #353c49;--color-border-hover: #4d5566;--color-text: #e6e8ec;--color-text-muted: #9aa3b2;--color-text-subtle: #7a8394;--color-text-inverse: #0f1115;--color-danger: #dc2626;--color-danger-bg: #2c1417;--color-danger-text: #fca5a5;--color-success: #16a34a;--color-success-bg: #0e2619;--color-success-text: #86efac;--color-info: #3b82f6;--color-info-bg: #0f1e38;--color-info-text: #93c5fd;--color-warning: #d97706;--color-warning-bg: #2a1f08;--color-warning-text: #fcd34d;--color-neutral-bg: #232833;--color-neutral-text: #c3c9d4;--color-link: #7cb0ff;--color-focus: #60a5fa;--color-scrim: rgb(0 0 0 / .6);--shadow-xs: 0 1px 2px rgb(0 0 0 / .3);--shadow-sm: 0 1px 2px rgb(0 0 0 / .35), 0 1px 3px rgb(0 0 0 / .25);--shadow-md: 0 4px 8px -2px rgb(0 0 0 / .45), 0 2px 4px -2px rgb(0 0 0 / .3);--shadow-lg: 0 12px 20px -4px rgb(0 0 0 / .55), 0 4px 6px -2px rgb(0 0 0 / .3);--shadow-xl: 0 20px 28px -4px rgb(0 0 0 / .6), 0 8px 8px -4px rgb(0 0 0 / .3);--scroll-shadow: rgb(0 0 0 / .45);--color-accent-soft: color-mix(in srgb, var(--color-accent) 18%, var(--color-surface));--color-accent-softer: color-mix(in srgb, var(--color-accent) 9%, var(--color-surface));--color-accent-border: color-mix(in srgb, var(--color-accent) 45%, var(--color-surface));--color-accent-ring: color-mix(in srgb, var(--color-accent) 40%, transparent);--color-accent-strong: color-mix(in srgb, var(--color-accent) 62%, var(--color-text));--color-selection: color-mix(in srgb, var(--color-accent) 35%, transparent)}}@media screen and (prefers-color-scheme:dark){:root:not([data-theme=light]):not([data-theme=outdoor]){color-scheme:dark;--color-bg: #0f1115;--color-surface: #15181e;--color-surface-sunken: #1a1e25;--color-surface-raised: #1b1f27;--color-surface-hover: #1e232c;--color-surface-alt: #232833;--color-border: #262b35;--color-border-strong: #353c49;--color-border-hover: #4d5566;--color-text: #e6e8ec;--color-text-muted: #9aa3b2;--color-text-subtle: #7a8394;--color-text-inverse: #0f1115;--color-danger: #dc2626;--color-danger-bg: #2c1417;--color-danger-text: #fca5a5;--color-success: #16a34a;--color-success-bg: #0e2619;--color-success-text: #86efac;--color-info: #3b82f6;--color-info-bg: #0f1e38;--color-info-text: #93c5fd;--color-warning: #d97706;--color-warning-bg: #2a1f08;--color-warning-text: #fcd34d;--color-neutral-bg: #232833;--color-neutral-text: #c3c9d4;--color-link: #7cb0ff;--color-focus: #60a5fa;--color-scrim: rgb(0 0 0 / .6);--shadow-xs: 0 1px 2px rgb(0 0 0 / .3);--shadow-sm: 0 1px 2px rgb(0 0 0 / .35), 0 1px 3px rgb(0 0 0 / .25);--shadow-md: 0 4px 8px -2px rgb(0 0 0 / .45), 0 2px 4px -2px rgb(0 0 0 / .3);--shadow-lg: 0 12px 20px -4px rgb(0 0 0 / .55), 0 4px 6px -2px rgb(0 0 0 / .3);--shadow-xl: 0 20px 28px -4px rgb(0 0 0 / .6), 0 8px 8px -4px rgb(0 0 0 / .3);--scroll-shadow: rgb(0 0 0 / .45);--color-accent-soft: color-mix(in srgb, var(--color-accent) 18%, var(--color-surface));--color-accent-softer: color-mix(in srgb, var(--color-accent) 9%, var(--color-surface));--color-accent-border: color-mix(in srgb, var(--color-accent) 45%, var(--color-surface));--color-accent-ring: color-mix(in srgb, var(--color-accent) 40%, transparent);--color-accent-strong: color-mix(in srgb, var(--color-accent) 62%, var(--color-text));--color-selection: color-mix(in srgb, var(--color-accent) 35%, transparent)}}@media screen{:root[data-theme=outdoor]{color-scheme:light;--color-bg: #ffffff;--color-surface: #ffffff;--color-surface-sunken: #f1f1f1;--color-surface-raised: #ffffff;--color-surface-hover: #ebebeb;--color-surface-alt: #e4e4e4;--color-border: #3d3d3d;--color-border-strong: #0a0a0a;--color-border-hover: #0a0a0a;--color-text: #0a0a0a;--color-text-muted: #2e2e2e;--color-text-subtle: #4a4a4a;--color-text-inverse: #ffffff;--color-danger: #b91c1c;--color-danger-bg: #fecaca;--color-danger-text: #5f0f0f;--color-success: #15803d;--color-success-bg: #bbf7d0;--color-success-text: #053d1d;--color-info: #1d4ed8;--color-info-bg: #bfdbfe;--color-info-text: #0b2a6f;--color-warning: #b45309;--color-warning-bg: #fde68a;--color-warning-text: #4a2204;--color-neutral-bg: #e2e2e2;--color-neutral-text: #0a0a0a;--color-link: #0b3fb3;--color-focus: #0b3fb3;--color-scrim: rgb(0 0 0 / .6);--shadow-xs: none;--shadow-sm: none;--shadow-md: 0 2px 0 rgb(0 0 0 / .9);--shadow-lg: 0 4px 0 rgb(0 0 0 / .9);--shadow-xl: 0 6px 0 rgb(0 0 0 / .9);--scroll-shadow: rgb(0 0 0 / .35);--color-accent-soft: color-mix(in srgb, var(--color-accent) 22%, #ffffff);--color-accent-softer: color-mix(in srgb, var(--color-accent) 12%, #ffffff);--color-accent-border: var(--color-accent);--color-accent-ring: color-mix(in srgb, var(--color-accent) 50%, transparent);--color-accent-strong: color-mix(in srgb, var(--color-accent) 45%, #000000);--color-selection: color-mix(in srgb, var(--color-accent) 35%, transparent);--border-w: 2px;--border-w-control: 2px;--text-base: 16px;--text-sm: 15px;--text-xs: 13px}}:root[data-density=compact]{--control-h-sm: 28px;--control-h: 32px;--control-h-lg: 36px;--control-px: 10px;--row-h: 32px;--cell-px: 10px;--cell-py: 5px}@media(pointer:coarse){:root,:root[data-density=compact]{--control-h-sm: 44px;--control-h: 48px;--control-h-lg: 56px;--control-px: 14px;--row-h: 48px;--cell-px: 12px;--cell-py: 12px}}@media(max-width:720px){:root,:root[data-density=compact]{--control-h-sm: 44px;--control-h: 44px;--control-h-lg: 52px;--control-font: 16px}}@media(pointer:coarse)and (max-width:720px){:root,:root[data-density=compact]{--control-h: 48px;--control-h-lg: 56px}}@media screen{:root[data-theme=outdoor],:root[data-theme=outdoor][data-density=compact]{--control-h-sm: 44px;--control-h: 48px;--control-h-lg: 56px;--control-px: 14px;--row-h: 48px;--cell-px: 12px;--cell-py: 12px;--control-font: 16px}}@media(prefers-reduced-motion:reduce){:root{--dur-fast: 0ms;--dur: 0ms;--dur-slow: 0ms}}*{box-sizing:border-box}html{-webkit-text-size-adjust:100%;text-size-adjust:100%}body{margin:0;background:var(--color-bg);color:var(--color-text);font-family:var(--font-sans);font-size:var(--text-base);line-height:1.5;font-feature-settings:"cv11","ss01";accent-color:var(--color-accent);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}@media(max-width:720px){body{font-size:var(--text-md)}}::selection{background:var(--color-selection)}h1,h2,h3{font-weight:var(--weight-semibold);line-height:1.25;margin:0 0 var(--space-2);color:var(--color-text)}h1{font-size:var(--text-2xl);line-height:var(--leading-2xl);font-weight:var(--weight-bold);letter-spacing:-.015em}h2{font-size:var(--text-md);line-height:var(--leading-md);letter-spacing:-.005em;margin-top:0}h3{font-size:var(--text-base);line-height:var(--leading-base)}p{margin:0 0 var(--space-3)}a{color:var(--color-link);text-decoration:none;text-underline-offset:2px;transition:color var(--dur-fast) var(--ease-out)}a:hover{text-decoration:underline}p a:not([class]),li>a:not([class]),dd a:not([class]),.callout a:not([class]),.form-error a:not([class]){text-decoration:underline;text-decoration-color:color-mix(in srgb,currentColor 40%,transparent)}p a:not([class]):hover,li>a:not([class]):hover,dd a:not([class]):hover{text-decoration-color:currentColor}code,kbd,samp,pre{font-family:var(--font-mono);font-size:.92em}table{font-variant-numeric:tabular-nums}.meta{color:var(--color-text-muted);font-size:var(--text-sm)}a,button{touch-action:manipulation}*::-webkit-scrollbar{width:10px;height:10px}*::-webkit-scrollbar-thumb{background:var(--color-border-strong);border:2px solid transparent;border-radius:var(--radius-pill);background-clip:padding-box}*::-webkit-scrollbar-thumb:hover{background-color:var(--color-border-hover)}*::-webkit-scrollbar-track{background:transparent}.brand-mark-group{display:inline-flex;align-items:center;gap:.4rem;flex-shrink:0}.brand-mark-slo{display:block;flex-shrink:0}@media(max-width:520px){.card{padding:1rem}.form-inline{flex-direction:column;align-items:stretch}.form-inline>input,.form-inline>select,.form-inline>button,.form-inline>label{width:100%}.detail-grid{grid-template-columns:1fr}}.back-link{display:inline-flex;align-items:center;gap:var(--space-1);font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-muted);margin-bottom:var(--space-2);text-decoration:none}.back-link:hover{color:var(--color-text);text-decoration:none}.card{background-color:var(--color-surface);border:var(--border-w) solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-xs);padding:var(--space-5);margin-bottom:var(--space-4)}.card>h2:first-child{margin-top:0;margin-bottom:var(--space-3)}.card-table{padding:0;overflow-x:auto;background-image:linear-gradient(to right,var(--color-surface) 30%,transparent),linear-gradient(to right,transparent,var(--color-surface) 70%),linear-gradient(to right,var(--scroll-shadow),transparent),linear-gradient(to right,transparent,var(--scroll-shadow));background-position:0 0,100% 0,0 0,100% 0;background-repeat:no-repeat;background-size:24px 100%,24px 100%,10px 100%,10px 100%;background-attachment:local,local,scroll,scroll}.card-table .data-table{margin:0}.table-scroll-outer{position:relative}.table-scroll-arrow{display:none;position:fixed;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;min-height:0;padding:0;border-radius:50%;border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-md);font-size:1.2rem;line-height:1;cursor:pointer;z-index:20}.table-scroll-arrow:hover{border-color:var(--color-accent-border);color:var(--color-accent-strong)}@media(min-width:721px){.table-scroll-arrow{display:flex}}.centered-card{max-width:380px;width:100%;margin:0 auto}.centered-card--wide{max-width:700px}.auth-page{min-height:100vh;min-height:100dvh;display:flex;align-items:center;justify-content:center;background:var(--color-nav-bg);padding:1.5rem}.auth-page .brand{display:flex;align-items:center;gap:.6rem;justify-content:center;color:var(--color-nav-text);font-weight:var(--weight-bold);font-size:var(--text-lg);letter-spacing:-.01em;margin-bottom:var(--space-6)}.auth-card{background:var(--color-surface);border:var(--border-w) solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);padding:var(--space-7)}.auth-card h1{font-size:var(--text-xl);line-height:var(--leading-xl);margin-bottom:var(--space-5)}@media(max-width:520px){.auth-card{padding:var(--space-6) var(--space-5)}}.form{display:flex;flex-direction:column;gap:var(--space-4)}.form-inline{flex-direction:row;flex-wrap:wrap;align-items:end;gap:var(--space-3);margin-bottom:var(--space-5)}.form label{display:flex;flex-direction:column;gap:6px;font-size:var(--text-sm);line-height:var(--leading-sm);font-weight:var(--weight-medium);color:var(--color-text)}.form label:has(input[type=checkbox]),.form label:has(input[type=radio]){flex-direction:row;align-items:center;gap:var(--space-2);font-size:var(--text-base);color:var(--color-text);font-weight:var(--weight-regular)}.form input[type=checkbox],.form input[type=radio]{padding:0;margin:0;flex:none;width:18px;height:18px;accent-color:var(--color-accent)}:where(input:not([type=checkbox],[type=radio],[type=range],[type=color],[type=file],[type=hidden],[type=image],[type=submit],[type=button],[type=reset]),select,textarea){min-height:var(--control-h);padding:0 var(--control-px);font-family:inherit;font-size:var(--control-font);line-height:1.4;color:var(--color-text);background-color:var(--color-surface);border:var(--border-w-control) solid var(--color-border-strong);border-radius:var(--radius-sm);box-shadow:var(--shadow-xs);transition:border-color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}:where(textarea){padding:var(--space-2) var(--control-px);line-height:1.5;resize:vertical}:where(select:not([multiple]):not([size])){-webkit-appearance:none;-moz-appearance:none;appearance:none;padding-right:32px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none' stroke='%237d8697' stroke-width='1.75' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4.5 6.25 8 9.75l3.5-3.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 10px center;background-size:16px 16px;text-overflow:ellipsis}:where(select[multiple],select[size]){padding:var(--space-1)}:where(input:not([type=checkbox],[type=radio],[type=range],[type=color],[type=file],[type=hidden],[type=image],[type=submit],[type=button],[type=reset]),select,textarea):hover:not(:disabled):not(:focus){border-color:var(--color-border-hover)}input[type=file]{max-width:100%;font-family:inherit;font-size:var(--text-sm);color:var(--color-text-muted)}input[type=file]::file-selector-button{margin-right:10px;min-height:var(--control-h-sm);padding:0 12px;border:var(--border-w-control) solid var(--color-border-strong);border-radius:var(--radius-sm);background-color:var(--color-surface);box-shadow:var(--shadow-xs);color:var(--color-text);font:inherit;font-weight:550;cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out)}input[type=file]::file-selector-button:hover{background-color:var(--color-surface-hover)}::placeholder{color:var(--color-text-subtle);opacity:1}:where(input,select,textarea):disabled{background-color:var(--color-surface-sunken);color:var(--color-text-muted);box-shadow:none;cursor:not-allowed}:where(input,select,textarea)[aria-invalid=true],:where(input:user-invalid,select:user-invalid,textarea:user-invalid){border-color:var(--color-danger)}:where(input[type=checkbox],input[type=radio]){accent-color:var(--color-accent);cursor:pointer}.form textarea{resize:vertical;min-height:5.5rem}:where(a,button,input,select,textarea,summary,[tabindex]):focus-visible{outline:2px solid var(--color-focus);outline-offset:2px}:where(input:not([type=checkbox],[type=radio],[type=range],[type=color],[type=file],[type=hidden],[type=image],[type=submit],[type=button],[type=reset]),select,textarea):focus{outline:2px solid var(--color-accent);outline-offset:-1px;border-color:var(--color-accent);box-shadow:0 0 0 4px var(--color-accent-ring)}.form-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-4);max-width:800px}.form-grid-full{grid-column:1 / -1}.form-error{color:var(--color-danger-text);background:var(--color-danger-bg);border:1px solid color-mix(in srgb,var(--color-danger) 25%,transparent);padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);margin:0;font-size:var(--text-base)}.callout{background:var(--color-warning-bg);color:var(--color-warning-text);border:1px solid color-mix(in srgb,var(--color-warning) 30%,transparent);padding:var(--space-3) var(--space-4);border-radius:var(--radius);font-size:var(--text-base)}button,.button-link{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);min-height:var(--control-h);padding:0 14px;font-family:inherit;font-size:var(--text-base);font-weight:550;line-height:1.25;text-transform:none;letter-spacing:normal;text-decoration:none;white-space:nowrap;border-radius:var(--radius-sm);border:var(--border-w-control) solid var(--color-border-strong);background-color:var(--color-surface);color:var(--color-text);cursor:pointer;transition:background-color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out),color var(--dur-fast) var(--ease-out),box-shadow var(--dur-fast) var(--ease-out)}:where(button:not([class]),button.desktop-only,button.mobile-only,.button-link,.button-secondary,.action-group>button,.dialog-actions>button,.form-inline>button){box-shadow:var(--shadow-xs)}:where(button,.button-link):hover:not(:disabled){background-color:var(--color-surface-hover);border-color:var(--color-border-hover)}:where(button,.button-link):active:not(:disabled){background-color:var(--color-surface-alt);box-shadow:none}button:hover,.button-link:hover{text-decoration:none}.form button[type=submit],.button-primary{background-color:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-text);box-shadow:var(--shadow-xs),inset 0 1px #ffffff1f}.form button[type=submit]:hover:not(:disabled),.button-primary:hover:not(:disabled){background-color:var(--color-accent-hover);border-color:var(--color-accent-hover);color:var(--color-accent-hover-text)}.button-primary:active:not(:disabled){box-shadow:none}button:disabled,.button-link[aria-disabled=true]{opacity:.5;cursor:not-allowed;box-shadow:none}.btn-success,.form button[type=submit].btn-success{background-color:var(--color-success-bg);border-color:color-mix(in srgb,var(--color-success) 40%,transparent);color:var(--color-success-text)}.btn-success:hover:not(:disabled),.form button[type=submit].btn-success:hover:not(:disabled){background-color:var(--color-success);border-color:var(--color-success);color:#fff}.btn-danger,.form button[type=submit].btn-danger{background-color:var(--color-danger-bg);border-color:color-mix(in srgb,var(--color-danger) 40%,transparent);color:var(--color-danger-text)}.btn-danger:hover:not(:disabled),.form button[type=submit].btn-danger:hover:not(:disabled){background-color:var(--color-danger);border-color:var(--color-danger);color:#fff}.action-group{display:flex;flex-wrap:wrap;gap:.5rem}.action-group button{min-height:36px;padding:.4rem .75rem;font-size:.75rem}.badge{display:inline-flex;align-items:center;gap:6px;min-height:22px;padding:1px var(--space-2);border:1px solid color-mix(in srgb,currentColor 18%,transparent);border-radius:var(--radius-pill);font-size:var(--text-xs);line-height:var(--leading-xs);font-weight:var(--weight-medium);white-space:nowrap;font-variant-numeric:tabular-nums}.badge--dot:before{content:"";width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}.badge-neutral{background:var(--color-neutral-bg);color:var(--color-neutral-text)}.badge-info{background:var(--color-info-bg);color:var(--color-info-text)}.badge-warning{background:var(--color-warning-bg);color:var(--color-warning-text)}.badge-success{background:var(--color-success-bg);color:var(--color-success-text)}.badge-danger{background:var(--color-danger-bg);color:var(--color-danger-text)}@media screen{:root[data-theme=outdoor] .badge{border-width:2px;font-weight:var(--weight-semibold)}:root[data-theme=outdoor] .badge-info{background:var(--color-info);color:#fff}:root[data-theme=outdoor] .badge-warning{background:#fbbf24;color:#0a0a0a}:root[data-theme=outdoor] .badge-success{background:var(--color-success);color:#fff}:root[data-theme=outdoor] .badge-danger{background:var(--color-danger);color:#fff}:root[data-theme=outdoor] .badge-neutral{background:#0a0a0a;color:#fff}}.button-ghost,.form button[type=submit].button-ghost{background-color:transparent;border-color:transparent;box-shadow:none}.button-ghost:hover:not(:disabled),.form button[type=submit].button-ghost:hover:not(:disabled){background-color:var(--color-surface-hover);border-color:transparent}.button-sm{min-height:var(--control-h-sm);padding:0 10px;font-size:var(--text-sm);gap:6px}.button-lg{min-height:var(--control-h-lg);padding:0 var(--space-5);font-size:var(--text-md)}.button-sm.button-icon{min-width:var(--control-h-sm);min-height:var(--control-h-sm)}.button-icon{min-width:max(40px,var(--control-h));min-height:max(40px,var(--control-h));padding:0}.card-header{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-2) var(--space-3);margin-bottom:var(--space-4)}.card-header>h2,.card-header>h3,.card-header .meta{margin:0}.action-group>button,.action-group>.button-link{min-height:var(--control-h-sm);padding:0 10px;font-size:var(--text-sm)}.danger-zone{border-color:color-mix(in srgb,var(--color-danger) 35%,var(--color-border))}.danger-confirm{display:flex;flex-direction:column;gap:.75rem;max-width:420px}.danger-confirm-warning{background:var(--color-danger-bg);color:var(--color-danger-text);border:1px solid color-mix(in srgb,var(--color-danger) 25%,transparent);border-radius:var(--radius);padding:.75rem 1rem;font-size:.88rem;line-height:1.5}.danger-confirm-error{color:var(--color-danger-text);font-size:.85rem;margin:0}.data-table{border-collapse:collapse;width:100%;font-size:var(--text-base);line-height:var(--leading-base);font-variant-numeric:tabular-nums}.data-table th{text-align:left;padding:var(--space-2) var(--cell-px);height:38px;font-size:12.5px;line-height:var(--leading-xs);font-weight:var(--weight-semibold);color:var(--color-text-muted);background:var(--color-surface-sunken);border-bottom:1px solid var(--color-border);vertical-align:middle}.data-table td{padding:var(--cell-py) var(--cell-px);height:var(--row-h);border-bottom:1px solid var(--color-border);vertical-align:middle}:root[data-density=compact] .data-table th{height:32px;padding-top:var(--space-1);padding-bottom:var(--space-1)}.data-table tbody tr:last-child>td{border-bottom:none}.data-table tbody tr{transition:background-color var(--dur-fast) var(--ease-out)}.data-table td a:not([class]){color:var(--color-text);font-weight:var(--weight-medium);text-decoration:none}.data-table td a:not([class]):hover{color:var(--color-accent-strong);text-decoration:underline}.data-table td.num,.data-table th.num,.data-table td[data-numeric],.data-table th[data-numeric]{text-align:right}.column-header{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.data-table--fixed-columns{table-layout:fixed}.data-table--fixed-columns th{position:relative;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.column-resize-handle{position:absolute;top:0;right:-3px;bottom:0;width:7px;cursor:col-resize;z-index:2;touch-action:none}.column-resize-handle:hover,.column-resize-handle:active{background:var(--color-accent);opacity:.6}.column-resize-handle:focus-visible{background:var(--color-accent);outline:2px solid var(--color-accent-hover);outline-offset:-2px}.column-header-controls{display:flex;gap:.15rem;flex-shrink:0}.column-header-controls button{min-height:20px;min-width:20px;padding:.1rem .3rem;font-size:.65rem;font-weight:400;text-transform:none;letter-spacing:normal;background:transparent;border-color:var(--color-border-strong);color:var(--color-text-muted)}.column-header-controls button:hover:not(:disabled){color:var(--color-text);border-color:var(--color-text-muted)}.column-hidden{background:var(--color-surface-sunken);color:var(--color-text-muted)}.data-table tbody tr:hover{background:var(--color-surface-hover)}.data-table td select,.data-table td input:not([type=checkbox]):not([type=radio]){min-height:var(--control-h-sm);font-size:var(--text-sm)}.data-table td select:not([multiple]){padding:0 28px 0 var(--space-2);background-position:right 6px center}@media(min-width:721px){.freeze-panes{overflow:auto;max-height:max(20rem,calc(100vh - 14rem));max-height:max(20rem,calc(100dvh - 14rem))}.freeze-panes .data-table{border-collapse:separate;border-spacing:0}.freeze-panes thead th{position:sticky;top:0;z-index:2}.freeze-panes--first-column tbody td:first-child{position:sticky;left:0;z-index:1;background:var(--color-surface);box-shadow:inset -1px 0 0 var(--color-border-strong)}.freeze-panes--first-column tbody tr:hover>td:first-child{background:var(--color-surface-hover)}.freeze-panes--first-column thead th:first-child{left:0;z-index:3;box-shadow:inset -1px 0 0 var(--color-border-strong)}}.status-cell{display:flex;align-items:center;gap:.6rem;flex-wrap:wrap}.task-list,.activity-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:.6rem}.task-list label{display:flex;align-items:center;gap:.5rem;font-weight:400;color:var(--color-text)}.task-complete{text-decoration:line-through;opacity:.55}.activity-list li{padding:.6rem 0;border-bottom:1px solid var(--color-border)}.activity-meta{font-size:var(--text-xs);font-weight:var(--weight-medium);color:var(--color-text-muted)}.combobox{position:relative}.combobox-list{position:absolute;z-index:10;top:calc(100% + 2px);left:0;right:0;margin:0;padding:var(--space-1);list-style:none;background:var(--color-surface-raised);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-lg);max-height:260px;overflow-y:auto}.combobox-option{display:block;width:100%;text-align:left;min-height:var(--control-h-sm);padding:var(--space-2) 10px;border:none;background:none;border-radius:var(--radius-xs);cursor:pointer;font:inherit;color:inherit}.combobox-option--active,.combobox-option:hover{background:var(--color-surface-hover)}.combobox-option--active{box-shadow:inset 2px 0 0 var(--color-accent)}.activity-photo{max-width:240px;display:block;margin-top:.5rem;border-radius:var(--radius-sm);border:1px solid var(--color-border)}.invoice-print-header{display:flex;flex-wrap:wrap;justify-content:space-between;gap:2rem;margin-bottom:1.5rem}.invoice-print-header p{margin:0}.invoice-print-logo{display:block;max-height:70px;max-width:220px;margin-bottom:.5rem;object-fit:contain}.invoice-print-footnote{margin-top:1.5rem;padding-top:.75rem;border-top:1px solid #ccc;font-size:.75rem;color:#666}.kpi-bar-list{display:flex;flex-direction:column;gap:.5rem}.kpi-bar-row{display:flex;align-items:center;gap:.75rem}.kpi-bar-label{width:120px;flex-shrink:0}.kpi-bar-track{flex:1;height:.9rem;background:var(--color-surface-alt, var(--color-border));border-radius:var(--radius-sm);overflow:hidden}.kpi-bar-fill{height:100%;background:var(--color-accent);border-radius:var(--radius-sm)}.kpi-bar-value{width:70px;flex-shrink:0;text-align:right;font-variant-numeric:tabular-nums}.site-plan-gallery{display:flex;flex-wrap:wrap;gap:1rem;margin-bottom:.75rem}.site-plan-sheet{width:220px}.site-plan-thumb{display:block;max-width:100%;max-height:220px;border-radius:var(--radius-sm);border:1px solid var(--color-border);margin-bottom:.5rem;cursor:pointer}.site-plan-thumb-button{display:block;min-height:0;padding:0;border:none;background:none;text-transform:none;letter-spacing:normal}.site-plan-doc{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.4rem;height:160px;border:1px solid var(--color-border);border-radius:var(--radius);background:var(--color-surface-sunken);margin-bottom:.5rem;text-decoration:none;color:var(--color-text)}.site-plan-doc-glyph{font-weight:700;font-size:1.5rem;letter-spacing:.08em;color:var(--color-accent-strong)}.site-plan-doc-open{font-size:.8rem;color:var(--color-text-muted)}.photo-panel.is-file-over{outline:2px solid var(--color-accent);outline-offset:-2px}.photo-dropzone{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem .75rem;padding:.75rem;margin-bottom:.75rem;border:2px dashed var(--color-border-strong);border-radius:var(--radius)}.photo-panel.is-file-over .photo-dropzone{border-color:var(--color-accent);background:var(--color-info-bg)}.photo-dropzone-text{margin:0;flex:1 1 14rem;color:var(--color-text-muted);font-size:.9rem}.photo-tile.is-dragging{opacity:.55}.photo-tile.is-over{outline:2px solid var(--color-info);outline-offset:3px}.photo-lead-badge{display:inline-block;margin:0 0 .35rem;padding:1px var(--space-2);border-radius:var(--radius-pill);background:var(--color-accent);color:var(--color-accent-text);font-size:var(--text-xs);font-weight:var(--weight-semibold)}.photo-tile-actions{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.35rem}.photo-tile-actions button{min-height:2.2rem;padding:0 .6rem;font-size:.75rem}.photo-tile-menu{flex:1 1 100%;display:flex;flex-wrap:wrap;gap:.35rem;padding:.35rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface)}@media(max-width:720px){.photo-tile-menu button{flex:1 1 100%}}.site-plan-lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:100;background:#000000eb;display:flex;flex-direction:column;align-items:center}.site-plan-lightbox-close{align-self:flex-end;margin:max(.75rem,env(safe-area-inset-top)) max(.75rem,env(safe-area-inset-right)) 0 0;background:var(--color-surface);color:var(--color-text);flex-shrink:0}.site-plan-lightbox-scroll{flex:1;width:100%;overflow:auto;display:flex;align-items:center;justify-content:center;padding:1rem;box-sizing:border-box}.site-plan-lightbox-img{max-width:100%;height:auto;display:block}.clock-widget{background:var(--color-surface);border:var(--border-w) solid var(--color-border);border-left:4px solid var(--color-accent);padding:var(--space-4) var(--space-5);border-radius:var(--radius);box-shadow:var(--shadow-xs);margin-bottom:var(--space-4);display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.clock-widget p{margin:0;font-weight:600}.clock-widget label{display:flex;flex-direction:column;gap:6px;font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text)}.clock-widget-checkout{flex-basis:100%;display:flex;flex-direction:column;gap:.85rem}.clock-widget-checkout>div{border-top:1px solid var(--color-border);padding-top:.75rem}.sync-failed-list{list-style:none;padding:0;display:grid;gap:.75rem}.sync-failed-item{display:grid;gap:.35rem}.sync-failed-reason{color:var(--color-danger-text)}.sync-failed-actions{display:flex;flex-wrap:wrap;gap:.5rem}.empty-state{color:var(--color-text-muted);font-size:var(--text-base);padding:var(--space-2) 0}.detail-grid{display:grid;grid-template-columns:max-content 1fr;gap:.5rem 1.5rem;margin:0 0 1rem}.detail-grid dt{font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text-muted)}.detail-grid dd{margin:0}.dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--color-scrim);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:grid;place-items:center;z-index:60;padding:var(--space-4);animation:dialog-fade var(--dur) var(--ease-out)}.dialog{width:min(440px,100%);max-height:calc(100vh - 2rem);max-height:calc(100dvh - 2rem);overflow-y:auto;margin:0;padding:var(--space-6);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl);animation:dialog-in var(--dur-slow) var(--ease-emphasized)}.dialog--wide{width:min(640px,100%)}.dialog-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-4)}.dialog-header h2{margin:0;padding:4px 0 0;border:none;font-size:var(--text-lg);line-height:var(--leading-md);font-weight:var(--weight-semibold);color:var(--color-text);text-transform:none;letter-spacing:-.01em}.dialog-header-actions{display:flex;align-items:center;gap:var(--space-1)}.dialog-close{min-height:32px;min-width:32px;padding:0;border-color:transparent;background:transparent;box-shadow:none;color:var(--color-text-muted);font-size:1rem}.dialog-close:hover{background:var(--color-surface-hover);border-color:transparent;color:var(--color-text)}.dialog-actions{display:flex;gap:var(--space-2);flex-wrap:wrap;margin-top:var(--space-1)}.dialog-message{margin:0 0 var(--space-4);line-height:1.5;color:var(--color-text)}@keyframes dialog-fade{0%{opacity:0}to{opacity:1}}@keyframes dialog-in{0%{opacity:0;transform:translateY(8px) scale(.985)}to{opacity:1;transform:none}}@media(prefers-reduced-motion:reduce){.dialog-backdrop,.dialog{animation:none}}.btn-danger-solid,.form button[type=submit].btn-danger-solid{background-color:var(--color-danger);border-color:var(--color-danger);color:#fff}.btn-danger-solid:hover:not(:disabled),.form button[type=submit].btn-danger-solid:hover:not(:disabled){background-color:color-mix(in srgb,var(--color-danger) 85%,#000);border-color:color-mix(in srgb,var(--color-danger) 85%,#000);color:#fff}.button-secondary,.form button[type=submit].button-secondary{background-color:var(--color-surface);color:var(--color-text);border:var(--border-w-control) solid var(--color-border-strong);box-shadow:var(--shadow-xs)}.button-secondary:hover:not(:disabled),.form button[type=submit].button-secondary:hover:not(:disabled){background-color:var(--color-surface-hover);border-color:var(--color-border-hover);color:var(--color-text)}.combobox-list{min-width:min(20rem,90vw)}.combobox-option--create{white-space:normal;text-transform:none;letter-spacing:0;font-weight:var(--weight-semibold);color:var(--color-link);border-top:1px solid var(--color-border);border-radius:0}@media(max-width:720px){.dialog-backdrop{place-items:start center;padding:var(--space-2)}.dialog,.dialog--wide{width:100%;max-height:calc(100vh - 1rem);max-height:calc(100dvh - 1rem);padding:var(--space-5) var(--space-4)}.dialog-backdrop:not(:has(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea)){place-items:end center;padding:0}.dialog-backdrop:not(:has(input:not([type=checkbox]):not([type=radio]):not([type=hidden]),select,textarea))>.dialog{border-radius:var(--radius-xl) var(--radius-xl) 0 0;border-bottom:none;padding-bottom:calc(var(--space-6) + env(safe-area-inset-bottom));animation-name:sheet-in}}@keyframes sheet-in{0%{transform:translateY(24px);opacity:0}to{transform:none;opacity:1}}input[type=search]{width:100%;max-width:28rem;padding-left:34px;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' viewBox='0 0 16 16' fill='none' stroke='%237d8697' stroke-width='1.6' stroke-linecap='round'%3E%3Ccircle cx='7' cy='7' r='4.5'/%3E%3Cpath d='m10.5 10.5 3 3'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:11px center;background-size:16px 16px}.clock-widget input[type=text],.clock-widget select,.clock-widget textarea{font-weight:400}.inline-action{font-size:var(--text-sm);font-weight:var(--weight-semibold);white-space:nowrap}.mobile-list{list-style:none;margin:0 0 1.25rem;padding:0;display:flex;flex-direction:column;gap:.5rem}.mobile-list-item{display:flex;flex-direction:column;gap:var(--space-1);padding:var(--space-3) 14px;background:var(--color-surface);border:var(--border-w) solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-xs);color:var(--color-text);text-decoration:none;transition:background-color var(--dur-fast) var(--ease-out),border-color var(--dur-fast) var(--ease-out)}.mobile-list-item:hover{text-decoration:none}.mobile-list-item:active{background:var(--color-surface-hover);border-color:var(--color-accent-border)}.mobile-list-title{font-weight:var(--weight-semibold);line-height:1.3}.mobile-list-body{font-size:.95rem}.mobile-list-meta{font-size:var(--text-sm);color:var(--color-text-muted)}.mobile-list-badges{display:flex;flex-wrap:wrap;gap:.35rem;margin-top:.25rem}.mobile-list-badges:empty{display:none}.field-action{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.25rem;min-height:64px;padding:.5rem .35rem;font-size:.8rem;line-height:1.15;white-space:normal;text-align:center;text-decoration:none;color:var(--color-text);background:var(--color-surface);border:var(--border-w-control) solid var(--color-border-strong);border-radius:var(--radius);box-shadow:var(--shadow-xs);font-weight:var(--weight-semibold);text-transform:none;letter-spacing:normal}.field-action--primary{background:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-text)}.field-action--active{background:var(--color-nav-bg);border-color:var(--color-nav-bg);color:var(--color-nav-text)}.field-action-icon{flex-shrink:0}.right-now{background:var(--color-surface);border:var(--border-w) solid var(--color-border);border-left:4px solid var(--color-accent);border-radius:var(--radius);box-shadow:var(--shadow-xs);padding:var(--space-4) var(--space-5);margin-bottom:var(--space-4)}.right-now-address{font-size:var(--text-lg);line-height:var(--leading-md);font-weight:var(--weight-semibold);color:var(--color-text);text-decoration:none}.right-now .meta{font-size:.85rem;color:var(--color-text-muted)}.right-now-switch{min-height:var(--control-h-sm);padding:0 10px;font-size:var(--text-sm);flex-shrink:0}.right-now-picker{display:flex;flex-direction:column;gap:6px;font-size:var(--text-sm);font-weight:var(--weight-medium);color:var(--color-text);margin-bottom:var(--space-3)}.right-now>p{margin:.75rem 0 0}.action-bar{position:fixed;left:0;right:0;bottom:0;z-index:30;background:var(--color-surface);border-top:var(--border-w) solid var(--color-border);box-shadow:0 -8px 24px -12px var(--scroll-shadow);padding:.4rem .4rem calc(.4rem + env(safe-area-inset-bottom))}.action-bar-buttons{display:grid;grid-auto-flow:column;grid-auto-columns:1fr;gap:.35rem}.action-bar .field-action{min-height:58px;font-size:var(--text-xs);padding:.35rem .2rem;box-shadow:none}.action-bar-message{margin:0 0 .4rem;padding:.4rem .6rem;font-size:var(--text-sm);font-weight:var(--weight-semibold);background:var(--color-success-bg);color:var(--color-success-text);border-radius:var(--radius-sm)}.action-bar-message--error{background:var(--color-danger-bg);color:var(--color-danger-text)}@media(min-width:721px){.mobile-only{display:none!important}}@media(max-width:720px){input,select,textarea{font-size:16px!important}input[type=search]{max-width:none}h1{font-size:22px;line-height:28px}.desktop-only{display:none!important}.has-action-bar{padding-bottom:calc(84px + env(safe-area-inset-bottom))}html:has(.action-bar){scroll-padding-bottom:calc(84px + env(safe-area-inset-bottom))}.desktop-only-table table{display:none}.desktop-only-table:not(:has(.empty-state)){display:none}.clock-widget{flex-direction:column;align-items:stretch}.clock-widget>button{width:100%;min-height:52px;font-size:1rem;background:var(--color-accent);border-color:var(--color-accent);color:var(--color-accent-text)}.detail-grid dd{margin-bottom:.35rem}}.print-page{max-width:800px;margin:0 auto}.print-checkbox{text-align:center;font-size:1rem;width:1.5rem}.print-sheet{background:#fff;color:#000;padding:1rem 0;overflow-x:auto}@media screen{.print-sheet{padding:var(--space-6);margin-bottom:var(--space-4);border:1px solid #e4e7ec;border-radius:var(--radius);box-shadow:0 1px 3px #1018281a}}.print-sheet h1{font-size:1.25rem;color:#000}.print-table{width:100%;border-collapse:collapse;margin:1rem 0}.print-table th,.print-table td{border:1px solid #999;padding:.4rem .6rem;text-align:left;font-size:.85rem}.print-table--compact th,.print-table--compact td{padding:.2rem .35rem;font-size:.65rem}.print-signatures{margin-top:2.5rem;display:flex;flex-direction:column;gap:1.5rem;font-size:.9rem}@media print{.no-print{display:none!important}body{background:#fff}@page{margin:.4in}.print-page{max-width:none}.print-sheet{page-break-after:always}.print-sheet:last-child{page-break-after:auto}}.map-legend{display:flex;flex-wrap:wrap;gap:.5rem 1.25rem;border:none;padding:0;margin:0 0 .75rem}.map-legend-item{display:inline-flex;align-items:center;gap:.4rem;min-height:44px;cursor:pointer}.map-pin{filter:drop-shadow(0 1px 2px rgba(28,25,23,.45));flex-shrink:0;display:block;cursor:pointer}.map-pin{position:relative}.map-pin-label{position:absolute;width:max-content;max-width:220px;padding:3px 7px;background:#fff;color:var(--color-text);border:1.5px solid #1c1917;border-radius:6px;box-shadow:0 1px 3px #1c191759;line-height:1.25}.map-label-layer,.map-leader-layer{position:absolute;left:0;top:0;pointer-events:none}.map-pin-label-name,.map-pin-label-address{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;overflow-wrap:anywhere}.map-pin-label-name{font-size:12px;font-weight:700}.map-pin-label-address{font-size:11px;color:var(--color-text-muted)}.map-pin-leader{display:none;position:absolute;height:1.5px;background:#1c1917;transform-origin:0 50%;pointer-events:none}.map-fit-control{margin:10px 10px 0 0;height:40px;padding:0 17px;background:#fff;color:#000;text-transform:none;border:none;border-radius:2px;box-shadow:#0000004d 0 1px 4px -1px;font-family:Roboto,Arial,sans-serif;font-size:18px;font-weight:500;cursor:pointer;white-space:nowrap}.map-type-control{display:flex;margin:10px 0 0 10px;font-family:Roboto,Arial,sans-serif}.map-type-segment{position:relative}.map-type-button{height:40px;min-height:40px;padding:0 17px;border:none;border-radius:0;background:#fff;color:#565656;font-family:inherit;font-size:18px;font-weight:400;text-transform:none;letter-spacing:normal;box-shadow:#0000004d 0 1px 4px -1px;cursor:pointer}.map-type-segment:first-child .map-type-button{border-radius:2px 0 0 2px}.map-type-segment:last-child .map-type-button{border-radius:0 2px 2px 0}.map-type-button:hover{background:#ebebeb;color:#000}.map-type-button.is-active{color:#000;font-weight:500}.map-type-menu{display:none;position:absolute;top:100%;left:0;z-index:2;min-width:100%;box-sizing:border-box;align-items:center;gap:8px;padding:8px 12px;background:#fff;color:#000;font-size:18px;white-space:nowrap;box-shadow:#0000004d 0 2px 4px -1px;border-radius:0 0 2px 2px;cursor:pointer;-webkit-user-select:none;user-select:none}.map-type-segment:hover .map-type-menu,.map-type-segment:focus-within .map-type-menu,.map-type-segment.is-open .map-type-menu{display:flex}.map-type-menu input{width:16px;height:16px;margin:0;accent-color:#1a73e8;cursor:pointer}.map-fit-control:hover{background:#ebebeb}.map-fit-control:focus-visible{outline:2px solid var(--color-info);outline-offset:2px}.map-unplaced-list li.is-draggable{cursor:grab;touch-action:none;-webkit-user-select:none;user-select:none;border-radius:6px}.map-unplaced-list li.is-draggable:hover,.map-unplaced-list li.is-draggable:focus-visible{background:var(--color-surface-sunken)}.map-unplaced-list li.is-placing{background:var(--color-info-bg)}.map-unplaced-list li.is-dragging{opacity:.45}.map-drag-handle{flex-shrink:0;width:10px;height:16px;background-image:radial-gradient(circle,var(--color-text-muted) 1.4px,transparent 1.6px);background-size:5px 5.4px;opacity:.8}.map-drag-ghost{position:fixed;z-index:1000;transform:translate(-18px,-18px);display:flex;align-items:center;gap:6px;padding:4px 8px 4px 4px;background:#fff;color:#161a22;border:1.5px solid #1c1917;border-radius:8px;box-shadow:0 6px 16px #1c19174d;font-size:12px;font-weight:700;pointer-events:none;white-space:nowrap}.map-canvas.is-drop-target{outline:3px dashed var(--color-info);outline-offset:-3px}.map-toasts{position:absolute;left:50%;bottom:24px;transform:translate(-50%);z-index:5;display:flex;flex-direction:column;gap:8px;width:min(480px,calc(100% - 32px));pointer-events:none}.map-toast{pointer-events:auto;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:10px 10px 10px 14px;border-radius:10px;background:#1c1917;color:#fff;box-shadow:0 8px 24px #1c191759;font-size:14px}.map-toast strong{font-weight:700}.map-toast button{min-height:34px;padding:0 14px;border:none;border-radius:7px;background:#fff;color:#1c1917;font-weight:700;cursor:pointer}.map-layout{display:grid;grid-template-columns:minmax(0,1fr) 320px;gap:1rem;align-items:start}.map-canvas{position:relative;padding:0;overflow:hidden;height:calc(100vh - 260px);height:calc(100dvh - 260px);min-height:420px}.map-canvas-host,.map-canvas-inner{position:absolute;top:0;right:0;bottom:0;left:0}.map-overlay{position:absolute;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:1.5rem;margin:0;color:var(--color-text-muted);background:var(--color-surface-sunken)}.map-side h2{font-size:1rem;margin:0 0 .5rem}.map-unplaced-list{list-style:none;margin:.75rem 0 0;padding:0;max-height:calc(100vh - 380px);max-height:calc(100dvh - 380px);overflow-y:auto}.map-unplaced-list li{display:flex;align-items:center;gap:.6rem;padding:.55rem 0;border-top:1px solid var(--color-border)}.map-unplaced-text{display:flex;flex-direction:column;min-width:0;flex:1;overflow-wrap:anywhere}.map-type-cell{display:inline-flex;align-items:center;gap:.4rem}.gm-style .gm-style-iw-c{padding:0!important;border-radius:10px!important;box-shadow:0 8px 24px #1c191747!important}.gm-style .gm-style-iw-d{overflow:hidden!important;padding:0!important}.map-info{width:264px;font-family:inherit;color:var(--color-text);border-top:5px solid var(--kind-color)}.map-info-head{display:flex;align-items:center;gap:8px;padding:10px 8px 6px 12px}.map-info-kind{font-size:11px;font-weight:700;letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted)}.map-info-chip{font-size:11px;font-weight:600;padding:2px 8px;border-radius:999px;background:var(--color-neutral-bg);color:var(--color-neutral-text)}.map-info-close{margin-left:auto;width:28px;height:28px;min-height:0;padding:0;border:none;border-radius:6px;background:transparent;color:var(--color-text-muted);font-size:20px;line-height:1;cursor:pointer}.map-info-close:hover{background:var(--color-neutral-bg);color:var(--color-text)}.map-info-body{padding:0 14px 14px}.map-info-title{font-size:15px;font-weight:700;line-height:1.3;overflow-wrap:anywhere}.map-info-address{margin-top:2px;font-size:13px;color:var(--color-text);overflow-wrap:anywhere}.map-info-meta{margin-top:2px;font-size:12px;color:var(--color-text-muted)}.map-info-source{margin-top:8px;padding-top:8px;border-top:1px solid var(--color-border);font-size:12px;color:var(--color-text-muted)}.map-info-actions{display:flex;gap:8px;margin-top:12px}.map-info-btn{flex:1;display:inline-flex;align-items:center;justify-content:center;min-height:36px;padding:0 10px;border-radius:7px;border:1.5px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text);font-size:13px;font-weight:600;text-decoration:none}.map-info-btn:hover{background:var(--color-surface-sunken)}.map-info-btn--primary{background:#1c1917;border-color:#1c1917;color:#fff}.map-info-btn--primary:hover{text-decoration:none}.map-info-btn--primary:hover{background:#383433}.map-info-reset{width:100%;margin-top:8px;min-height:34px;border:none;border-radius:7px;background:var(--color-info-bg);color:var(--color-info-text);font-size:13px;font-weight:600;text-transform:none;letter-spacing:normal;cursor:pointer}.map-info-reset:hover{filter:brightness(.96)}@media(max-width:900px){.map-layout{grid-template-columns:minmax(0,1fr)}.map-canvas{height:60vh;height:60dvh;min-height:320px}.map-unplaced-list{max-height:none}}.board{display:grid;grid-template-columns:260px minmax(0,1fr);gap:1rem;align-items:start;margin-top:1rem}.board.is-busy{cursor:progress}.board.board--readonly{grid-template-columns:minmax(0,1fr)}.board-card--static{cursor:default;touch-action:auto;-webkit-user-select:text;user-select:text}.board-rail{padding:.75rem;display:flex;flex-direction:column;gap:.5rem;max-height:calc(100vh - 12rem);max-height:calc(100dvh - 12rem);overflow-y:auto;position:sticky;top:1rem;border:2px dashed transparent}.board-rail h2{font-size:1rem;margin:0}.board-rail .meta{margin:0 0 .25rem}.board-rail.is-over{border-color:var(--color-accent);background:var(--color-warning-bg)}.board-rail{overflow:hidden}.board-rail-block{display:flex;flex-direction:column;min-height:0;flex:0 1 auto;border-top:3px solid var(--color-border-strong);padding-top:.4rem}.board-rail-block--site{border-top-color:#0a84ff}.board-rail-block--service{border-top-color:#00c853;margin-top:.5rem;flex:0 0 auto}.board-rail-block--service .board-rail-list{max-height:30vh;max-height:30dvh}.board-rail-block h3{margin:0 0 .4rem;font-size:var(--text-sm);font-weight:var(--weight-semibold);display:flex;align-items:center;gap:.4rem}.board-rail-count{font-size:.7rem;padding:0 .4rem;border-radius:999px;background:var(--color-neutral-bg);color:var(--color-neutral-text)}.board-rail-list{display:flex;flex-direction:column;gap:.5rem;overflow-y:auto;min-height:3rem;padding:2px}.board-grid-card{padding:0;min-width:0}.board-grid-wrap{overflow:auto;max-height:calc(100vh - 11rem);max-height:calc(100dvh - 11rem)}.board-grid-wrap::-webkit-scrollbar{width:10px;height:0}.board-grid-wrap::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:5px}.board-grid-wrap::-webkit-scrollbar-track{background:transparent}.board-topscroll{overflow-x:auto;overflow-y:hidden;border-bottom:1px solid var(--color-border)}.board-topscroll[hidden]{display:none}.board-grid{width:100%;border-collapse:separate;border-spacing:0;table-layout:fixed;min-width:900px}.board-grid th,.board-grid td{border-right:1px solid var(--color-border);border-bottom:1px solid var(--color-border);vertical-align:top;text-align:left}.board-grid thead th{position:sticky;top:0;z-index:2;padding:.5rem;background:var(--color-surface-sunken);font-size:.85rem;border-bottom-color:var(--color-border-strong)}.board-grid tbody th{position:sticky;left:0;z-index:1;padding:.5rem;width:130px;font-weight:600;background:var(--color-surface-sunken);border-right-color:var(--color-border-strong)}.board-grid thead th:first-child{width:130px;left:0;z-index:3;border-right-color:var(--color-border-strong)}.board-cell{padding:.35rem;min-height:90px;height:90px;display:table-cell;transition:background .1s}.board-cell>*+*{margin-top:.35rem}.board-cell.is-over{background:var(--color-info-bg);outline:2px solid var(--color-info);outline-offset:-2px}.board-card{background:var(--color-surface);border:1px solid var(--color-border-strong);border-left:4px solid var(--color-border-strong);border-radius:var(--radius);padding:.35rem .45rem;font-size:.8rem;line-height:1.3;cursor:grab;touch-action:none;box-shadow:var(--shadow-sm);-webkit-user-select:none;user-select:none}.board-card:focus-visible{outline:2px solid var(--color-info);outline-offset:1px}.board-card--site{border-left-color:#0a84ff}.board-card--service{border-left-color:#00c853}.board-card.is-dragging{opacity:.35}.board-card.is-lifted{cursor:grabbing;box-shadow:var(--shadow-md);transform:rotate(1.5deg);width:220px}.board-card--ghost{cursor:default;border-style:dashed;border-left-style:solid;background:var(--color-info-bg);box-shadow:none}.board-card-title{display:block;font-weight:600;color:var(--color-text);text-decoration:none;overflow-wrap:anywhere}a.board-card-title:hover{text-decoration:underline}.board-card-sub{color:var(--color-text-muted);overflow-wrap:anywhere}.board-card-address{font-size:.75rem;overflow-wrap:anywhere}.board-kind{float:right;margin:0 0 .125rem .375rem;font-size:.6875rem;font-weight:600;color:var(--color-text-muted)}.board-card-flags{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.25rem}.board-flag{font-size:.7rem;padding:0 .35rem;border-radius:var(--radius-sm);background:var(--color-neutral-bg);color:var(--color-neutral-text)}.board-flag--warn{background:var(--color-warning-bg);color:var(--color-warning-text)}.board-ghost-actions{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.3rem}.board-ghost-actions button{flex:1 1 3.5rem;min-width:0;min-height:28px;padding:.15rem .3rem;font-size:.7rem;letter-spacing:0}.board-secondary{background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border-strong)}.board-capacity{display:flex;align-items:center;gap:.35rem;font-size:.7rem;color:var(--color-text-muted)}.board-capacity-track{flex:1;height:6px;background:var(--color-neutral-bg);border-radius:3px;overflow:hidden;display:flex}.board-capacity-booked{background:var(--color-success)}.board-capacity-pending{background:repeating-linear-gradient(45deg,var(--color-info) 0 3px,var(--color-info-bg) 3px 6px)}.board-capacity.is-over-capacity{color:var(--color-danger-text);font-weight:600}.board-capacity.is-over-capacity .board-capacity-booked{background:var(--color-danger)}.board-notice{margin:.75rem 0 0;padding:.5rem .75rem;background:var(--color-warning-bg);color:var(--color-warning-text);border-radius:var(--radius)}.board-plan{display:flex;justify-content:space-between;gap:1rem;align-items:flex-start;margin-top:.75rem;padding:.75rem 1rem;background:var(--color-info-bg);color:var(--color-info-text);border:1px solid var(--color-info);border-radius:var(--radius)}.board-plan-actions{display:flex;gap:.5rem;flex-shrink:0}.board-plan-note{font-size:.8rem;margin-top:.25rem;opacity:.85}.board-plan-skipped{margin-top:.35rem}.board-plan-skipped ul{margin:.25rem 0 0;padding-left:1.25rem}.board-dialog-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:var(--color-scrim);-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);display:grid;place-items:center;z-index:50;padding:1rem}.board-dialog{width:min(360px,100%);padding:var(--space-6);display:flex;flex-direction:column;gap:var(--space-3);border-radius:var(--radius-lg);box-shadow:var(--shadow-xl)}.board-dialog h2{margin:0;font-size:var(--text-lg)}.board-dialog label{display:flex;flex-direction:column;gap:.25rem}.board-dialog-actions{display:flex;gap:.5rem}@media(max-width:900px){.board{grid-template-columns:1fr}.board-rail{position:static;max-height:40vh;max-height:40dvh}.board-plan{flex-direction:column}}.jobboard-count{margin:0 0 .35rem}.jobboard{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(220px,1fr);gap:.75rem;align-items:start;margin-top:.75rem;overflow-x:auto;padding-bottom:.5rem}.jobboard-column{padding:.6rem;min-height:8rem;border:2px dashed transparent}.jobboard-column h2{margin:0 0 .5rem;font-size:.9rem;display:flex;align-items:center;gap:.4rem}.jobboard-column.is-over{border-color:var(--color-accent);background:var(--color-info-bg)}.jobboard-column-list{display:flex;flex-direction:column;gap:.5rem;padding:2px}.jobboard-column .meta{margin:0}.jobboard-card{border-left-color:var(--color-accent)}@media(max-width:720px){.jobboard{grid-auto-flow:row;grid-auto-columns:auto;overflow-x:visible}}.assistant-fab{position:fixed;right:16px;bottom:calc(16px + env(safe-area-inset-bottom));z-index:40;min-height:56px;padding:0 1.35rem 0 1.1rem;gap:.5rem;border-radius:999px;background:var(--color-accent);border:0;color:var(--color-accent-text);font-size:1.05rem;font-weight:700;letter-spacing:.01em;box-shadow:0 0 0 3px var(--color-surface),0 6px 18px #1c191747;animation:assistant-fab-pulse 1.6s ease-out .8s 3}.assistant-fab-icon{flex:none}@keyframes assistant-fab-pulse{0%{box-shadow:0 0 0 3px var(--color-surface),0 6px 18px #1c191747,0 0 color-mix(in srgb,var(--color-accent) 55%,transparent)}to{box-shadow:0 0 0 3px var(--color-surface),0 6px 18px #1c191747,0 0 0 16px color-mix(in srgb,var(--color-accent) 0%,transparent)}}@media(prefers-reduced-motion:reduce){.assistant-fab{animation:none}}.assistant-fab:hover{background:var(--color-accent-hover);border-color:var(--color-accent-hover)}.assistant-panel{position:fixed;top:var(--relay-vv-top, 0px);left:0;right:0;height:var(--relay-vv-height, 100dvh);max-height:100dvh;z-index:1100;display:flex;flex-direction:column;background:var(--color-surface);overscroll-behavior:contain}.assistant-panel>.assistant-head,.assistant-panel>.assistant-form{flex-shrink:0}@media(min-width:721px){.assistant-panel{inset:auto 16px 16px auto;top:auto;left:auto;max-height:none;width:400px;height:min(640px,calc(100vh - 32px));height:min(640px,calc(100dvh - 32px));border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-md)}}.assistant-head{display:flex;align-items:center;gap:.5rem;padding:.5rem .75rem;border-bottom:1px solid var(--color-border);padding-top:calc(.5rem + env(safe-area-inset-top))}.assistant-hint{flex:1;font-size:.8rem;color:var(--color-text-muted)}.assistant-list{flex:1;overflow-y:auto;padding:.75rem;display:flex;flex-direction:column;gap:.5rem}.assistant-msg{position:relative;margin:0 8px;padding:.55rem .85rem;border-radius:18px;background:var(--color-surface-sunken);white-space:pre-wrap;max-width:85%;line-height:1.4}.assistant-msg--relay{align-self:flex-start;background:var(--color-accent);color:var(--relay-bubble-text, var(--color-accent-text));border-bottom-left-radius:4px}.assistant-msg--relay:before,.assistant-msg--user:before{content:"";position:absolute;bottom:0;width:18px;height:18px}.assistant-msg--relay:before{left:-7px;background:var(--color-accent);border-bottom-right-radius:16px 14px}.assistant-msg--relay:after,.assistant-msg--user:after{content:"";position:absolute;bottom:0;width:10px;height:20px;background:var(--color-surface)}.assistant-msg--relay:after{left:-10px;border-bottom-right-radius:10px}.assistant-msg--user{align-self:flex-end;background:var(--color-neutral-bg);color:var(--color-text);border-bottom-right-radius:4px}.assistant-msg--user:before{right:-7px;background:var(--color-neutral-bg);border-bottom-left-radius:16px 14px}.assistant-msg--user:after{right:-10px;border-bottom-left-radius:10px}.assistant-msg--error{background:var(--color-danger-bg);border-color:transparent;color:var(--color-danger-text)}.assistant-msg--thinking{color:var(--color-text-muted);font-style:italic}.assistant-card{border:1px solid var(--color-border-strong);border-left:4px solid var(--color-accent);border-radius:var(--radius);padding:.6rem .7rem;background:var(--color-surface)}.assistant-card--done{border-left-color:var(--color-success)}.assistant-card--failed{border-left-color:var(--color-danger)}.assistant-card--cancelled{border-left-color:var(--color-border-strong);opacity:.75}.assistant-card-summary{margin:0 0 .5rem;font-weight:600}.assistant-card-actions{display:flex;gap:.5rem}.assistant-card-status{margin:0;font-size:.9rem;color:var(--color-text-muted)}.assistant-form{display:flex;gap:.5rem;padding:.5rem .75rem calc(.5rem + env(safe-area-inset-bottom));border-top:1px solid var(--color-border)}.assistant-form textarea{flex:1;resize:none;font:inherit;font-size:16px;padding:.5rem;border:1px solid var(--color-border-strong);border-radius:var(--radius)}@media(max-width:720px){body:has(.action-bar) .assistant-fab{bottom:calc(98px + env(safe-area-inset-bottom))}}.board-weekday{font-weight:800;margin-right:.15rem}.map-side.is-drop-target{outline:3px dashed var(--color-accent);outline-offset:-3px;background:var(--color-warning-bg)}.map-side-drop-hint{margin:0 0 .5rem;font-weight:700;color:var(--color-warning-text)}.map-info-locked{margin-top:.5rem;font-size:.8rem;color:var(--color-text-muted)}.address-fields{display:flex;flex-direction:column;gap:.6rem}.address-fields label{display:flex;flex-direction:column;gap:.25rem}.address-legend{font-weight:600;font-size:var(--text-sm)}.address-street{position:relative}.address-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,11rem) minmax(0,7.5rem);gap:.6rem}@media(max-width:560px){.address-row{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.address-row .address-city{grid-column:1 / -1}}.address-suggestions{position:absolute;top:100%;left:0;right:0;z-index:60;margin:2px 0 0;padding:.25rem 0;list-style:none;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-lg);font-weight:400}.address-suggestions li{padding:.5rem .75rem;cursor:pointer}.address-suggestions li.is-active,.address-suggestions li:hover{background:var(--color-surface-hover)}.address-suggestions .address-suggestions-credit{cursor:default;font-size:.7rem;color:var(--color-text-muted);text-align:right;padding-top:.25rem}.address-suggestions .address-suggestions-credit:hover{background:none}.map-side-fix{display:inline-block;margin:0 0 .5rem;font-weight:700}.fix-summary{font-weight:600}.fix-landed{padding:.5rem .75rem;background:var(--color-success-bg);color:var(--color-success-text);border-radius:var(--radius)}.fix-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.fix-row{padding:.9rem 1rem;display:flex;flex-direction:column;gap:.6rem}.fix-row-head{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem}.fix-title{font-weight:700}.fix-kind{font-size:var(--text-xs);font-weight:600;padding:1px var(--space-2);border-radius:var(--radius-pill);color:#fff}.fix-kind--site{background:#0a84ff}.fix-kind--service{background:#00a846}.fix-reason{font-size:.8rem;font-weight:700;padding:.05rem .45rem;border-radius:var(--radius-sm)}.fix-reason--warn{background:var(--color-warning-bg);color:var(--color-warning-text)}.fix-reason--bad{background:var(--color-danger-bg);color:var(--color-danger-text)}.fix-reason--info{background:var(--color-info-bg);color:var(--color-info-text)}.fix-help{flex-basis:100%}.fix-actions{display:flex;justify-content:flex-end;margin-top:.5rem}button.cell-filter,button.link-button{display:inline;min-height:0;padding:0;border:0;background:none;font:inherit;font-weight:inherit;text-transform:none;letter-spacing:normal;text-align:left;white-space:normal;color:inherit;cursor:pointer}button.cell-filter:hover,button.cell-filter:focus-visible{color:var(--color-link);text-decoration:underline;background:none}button.link-button{color:var(--color-link);text-decoration:underline;text-underline-offset:2px;box-shadow:none}button.link-button:hover{background:none}.sites-filter-bar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:.5rem .75rem;margin-bottom:.75rem}.sites-filter-bar>input[type=search]{min-width:16rem;flex:1 1 16rem}@media(max-width:720px){.sites-filter-bar{flex-direction:column;align-items:stretch}.sites-filter-bar>input[type=search]{width:100%}.sites-filter-bar>input[type=search]{flex:none;min-width:0}}button.column-sort{display:inline-flex;align-items:baseline;gap:.3rem;min-height:0;padding:0;border:0;background:none;font:inherit;color:inherit;text-align:left;cursor:pointer}button.column-sort:hover .column-sort-label,button.column-sort:focus-visible .column-sort-label{color:var(--color-text);text-decoration:underline}button.column-sort:hover{background:none}button.column-sort--active .column-sort-label{color:var(--color-text)}.column-sort-dir{font-size:.7rem;font-weight:600;text-transform:none;white-space:nowrap;color:var(--color-accent-strong)}.column-locked{font-size:.75rem;font-weight:600;color:var(--color-text-muted);padding:0 .25rem;cursor:help}@media(pointer:coarse){.action-group button,.right-now-switch,.dialog-close{min-height:44px}.dialog-close{min-width:44px}.form input:not([type=checkbox]):not([type=radio]),.form select{min-height:44px}}.auth-secondary-link{display:inline-block;padding:.7rem 0}.site-open-invoices{border-color:color-mix(in srgb,var(--color-warning) 45%,transparent);background:var(--color-warning-bg)}.site-open-invoices h2{color:var(--color-warning-text)}.site-open-invoices-list{margin:.25rem 0 0;padding-left:1.1rem;display:grid;gap:.25rem}.clock-card{display:grid;gap:.6rem;margin-bottom:1rem}.clock-card-actions{display:flex;flex-wrap:wrap;gap:.5rem}.clock-card-picker{display:grid;gap:.5rem}.clock-card .clock-card-primary{background:var(--color-accent);color:var(--color-accent-text);border-color:var(--color-accent)}.long-clock-in{margin:.25rem 0}.clock-card-nosite{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.board-person-filter{display:inline-flex;align-items:center;gap:.4rem;font-weight:600}button.task-start{padding:.3rem .9rem}.site-print-controls{display:flex;flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:1rem}.site-print-controls fieldset{display:flex;flex-wrap:wrap;gap:.75rem;border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:.4rem .75rem}.site-print-toggle{display:inline-flex;align-items:center;gap:.35rem}.site-print-details{display:grid;grid-template-columns:repeat(auto-fill,minmax(12rem,1fr));gap:.4rem 1rem;margin:0}.site-print-detail dt{font-size:.75rem;color:var(--color-text-muted)}.site-print-detail dd{margin:0}.site-print-multiline{white-space:pre-wrap}.site-print-plan img{display:block;max-width:100%;height:auto}@media print{.site-print-plan{break-before:page}}.column-view-panel{margin-bottom:.75rem;max-width:28rem}.column-view-header{display:flex;align-items:baseline;gap:.5rem;margin-bottom:.5rem}.column-view-list{list-style:none;padding:0;margin:0;display:grid;gap:.15rem;max-height:22rem;overflow-y:auto}.column-view-list li{display:flex;align-items:center;justify-content:space-between;gap:.5rem}.column-view-list label{display:inline-flex;align-items:center;gap:.4rem}.column-view-move button{min-height:32px;padding:0 .5rem}.column-view-actions{display:flex;gap:.5rem;margin-top:.75rem}.drag-handle{min-height:32px;padding:0 .5rem;cursor:grab;touch-action:none;line-height:1}.drag-handle:active{cursor:grabbing}.column-view-list li.is-dragging,.reorder-table tbody tr.is-dragging{background:var(--color-surface);box-shadow:var(--shadow-lg)}.column-view-list li.is-over,.reorder-table tbody tr.is-over{outline:2px dashed var(--color-accent);outline-offset:-2px}.task-private-toggle{display:inline-flex;align-items:center;gap:.4rem}.task-crew-field{display:flex;flex-direction:column;gap:.4rem;font-size:.85rem}.task-crew-label{font-weight:600}.task-crew-chips{display:flex;flex-wrap:wrap;gap:.4rem;margin:0;padding:0;list-style:none}.task-crew-chip{display:inline-flex;align-items:center;gap:.25rem;padding:.15rem .2rem .15rem .65rem;border:1px solid var(--color-border-strong);border-radius:999px;background:var(--color-surface-sunken)}.task-crew-empty{padding:.2rem 0}.task-crew-remove{min-height:0;min-width:0;width:1.6rem;height:1.6rem;padding:0;border:none;border-radius:50%;background:none;font-size:.75rem;line-height:1}.task-crew-remove:hover{background:var(--color-surface);color:var(--color-danger)}.task-crew-add{align-self:flex-start;min-width:14rem;max-width:100%}.notification-table{width:100%;border-collapse:collapse}.notification-table th[scope=row]{font-weight:500;text-align:left}.notification-table td,.notification-table th[scope=col]{width:4.5rem;text-align:center}.notification-table th[scope=col]:first-child{width:auto;text-align:left}.notification-table td input{width:22px;height:22px}.notification-table tr+tr th,.notification-table tr+tr td{border-top:1px solid var(--color-border)}.notification-table th,.notification-table td{padding:.5rem .25rem}.form-success{color:var(--color-success-text);background:var(--color-success-bg);padding:.5rem .75rem;border-radius:var(--radius-sm);margin:0;font-size:.9rem}.request-text{white-space:pre-wrap;min-width:16rem}.line-drag-cell{text-align:center;white-space:nowrap}.line-drag-handle{cursor:grab;touch-action:none;background:none;border:1px solid transparent;border-radius:var(--radius);padding:.1rem .3rem;font-size:1rem;line-height:1;color:var(--color-text-muted)}.line-drag-handle:hover{border-color:var(--color-border-strong);color:var(--color-text)}.line-drag-handle:focus-visible{outline:2px solid var(--color-info);outline-offset:1px}.line-drag-handle:active{cursor:grabbing}.data-table tr.is-dragging>td{opacity:.4}.data-table tr.is-drop-target>td{background:var(--color-info-bg)}.view-switcher{display:flex;flex-direction:column;gap:.4rem}.view-tabs{display:flex;flex-wrap:wrap;align-items:stretch;gap:.25rem;border-bottom:1px solid var(--color-border-strong)}.view-tab{position:relative;display:inline-flex;align-items:center;gap:.3rem;padding:.3rem .5rem;border:1px solid transparent;border-bottom:none;border-radius:var(--radius) var(--radius) 0 0;font-size:.9rem}.view-tab.is-active{background:var(--color-surface);border-color:var(--color-border-strong);box-shadow:inset 0 -3px 0 0 var(--color-accent)}.view-tab.is-custom{color:var(--color-text-muted);font-style:italic}.view-tab-select{min-height:0;background:none;border:none;padding:0;font:inherit;color:inherit;cursor:pointer}.view-tab.is-active .view-tab-select{font-weight:600}.view-tab-select:focus-visible,.view-tab-menu-button:focus-visible,.view-tab-add:focus-visible{outline:2px solid var(--color-info);outline-offset:2px}.view-tab-dirty{margin-left:.35rem;color:var(--color-warning-text);font-weight:600}.view-tab-dirty:before{content:"•"}.view-tab-marks{display:inline-flex;gap:.25rem}.view-tab-scope,.view-tab-default{font-size:.7rem;font-weight:500;padding:0 .4rem;border-radius:var(--radius-pill);background:var(--color-surface-sunken);color:var(--color-text-muted);border:1px solid var(--color-border-strong)}.view-tab-scope.is-shared{background:var(--color-info-bg);color:var(--color-text)}.view-tab-menu-button,.view-tab-add{background:none;border:1px solid transparent;border-radius:var(--radius);min-height:0;padding:.1rem .35rem;font:inherit;line-height:1;color:var(--color-text-muted);cursor:pointer}.view-tab-menu-button:hover,.view-tab-add:hover{border-color:var(--color-border-strong);color:var(--color-text)}.view-tab-menu{position:absolute;top:100%;left:0;z-index:20;min-width:13rem;display:flex;flex-direction:column;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-lg);padding:var(--space-1)}.view-tab-menu button{justify-content:flex-start;min-height:var(--control-h-sm);text-align:left;background:none;border:none;font-weight:400;padding:.35rem .5rem;font:inherit;border-radius:var(--radius-sm);cursor:pointer}.view-tab-menu button:hover:not(:disabled){background:var(--color-surface-sunken)}.view-tab-menu button:disabled{color:var(--color-text-muted);cursor:not-allowed}.view-tab-menu-danger:not(:disabled){color:var(--color-danger-text)}.view-tab-menu-note{margin:.2rem .5rem .3rem;font-size:.75rem;color:var(--color-text-muted)}.view-tab-editor{display:inline-flex;align-items:center;gap:.25rem;padding:.15rem}.view-tab-editor input{font:inherit;min-height:var(--control-h-sm);padding:0 var(--space-2);min-width:10rem}.view-dirty-bar{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;font-size:.9rem}.unit-badge{display:inline-flex;align-items:center;gap:.35rem;padding:.1rem .55rem;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);font-size:.75rem;font-weight:600;white-space:nowrap}.unit-badge-dot{width:.65rem;height:.65rem;border-radius:50%;flex-shrink:0}.data-table tr.group-row th{background:var(--color-surface-sunken);text-align:left;font-weight:600}.job-timeline{list-style:none;margin:0;padding:0;display:grid;gap:.5rem}.job-timeline-item{display:grid;grid-template-columns:minmax(7rem,9rem) 1fr;gap:.75rem;align-items:baseline}.job-timeline-when{color:var(--color-text-muted);font-size:.85rem}.job-timeline-item--entry{color:var(--color-text-muted)}@media(max-width:520px){.job-timeline-item{grid-template-columns:1fr;gap:.1rem}}.dispatch{display:grid;grid-template-columns:minmax(0,1fr) 17rem;gap:1rem;align-items:start}@media(max-width:960px){.dispatch{grid-template-columns:minmax(0,1fr)}}.dispatch.is-busy{opacity:.7;pointer-events:none}.dispatch-scroll{overflow-x:auto;border:var(--border-w) solid var(--color-border);border-radius:var(--radius-md, 8px);background:var(--color-surface, #fff);box-shadow:var(--shadow-xs)}.dispatch-grid{width:max-content;min-width:100%}.dispatch-row{display:flex;border-bottom:1px solid var(--color-border)}.dispatch-row--head{position:sticky;top:0;background:var(--color-surface-sunken);font-size:.8rem;color:var(--color-text-muted);z-index:2}.dispatch-name,.dispatch-any{flex:0 0 8.5rem;width:8.5rem;min-width:0;overflow:hidden;padding:.4rem .5rem;border-right:1px solid var(--color-border);box-sizing:border-box}.dispatch-name{font-weight:600;position:sticky;left:0;background:var(--color-surface, #fff);z-index:1}.dispatch-row--head .dispatch-name{background:var(--color-surface-sunken)}.dispatch-any{display:flex;flex-direction:column;gap:4px}.dispatch-any.is-over,.dispatch-time.is-over,.dispatch-tray.is-over{background:color-mix(in srgb,var(--color-accent) 12%,transparent)}.dispatch-time{position:relative;flex:0 0 auto}.dispatch-hours{height:1.6rem}.dispatch-hour{position:absolute;top:.3rem;transform:translate(2px)}.dispatch-gridline{position:absolute;top:0;bottom:0;border-left:1px solid var(--color-border);opacity:.6}.dispatch-card{position:absolute;box-sizing:border-box;display:flex;flex-direction:column;overflow:hidden;border:1px solid var(--color-border-strong);border-left-width:6px;border-radius:6px;padding:.2rem .4rem;font-size:.78rem;line-height:1.2;background:var(--color-surface-sunken);color:var(--color-text)}.dispatch-card--compact,.dispatch-card--tray{position:relative;width:100%;min-width:0}.dispatch-card.is-draggable{cursor:grab}.dispatch-card.is-dragging{opacity:.4}.dispatch-card--ghost{position:static;background:var(--color-accent);color:var(--color-accent-text)}.dispatch-card-link{display:flex;flex-direction:column;gap:1px;color:inherit;text-decoration:none;min-width:0}.dispatch-card-title{font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.dispatch-card-job{opacity:.75}.dispatch-card-sub{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;opacity:.85}.dispatch-card-unit{font-size:.7rem;font-weight:600;opacity:.85}.dispatch-card-resize{position:absolute;top:0;right:0;bottom:0;width:10px;cursor:ew-resize;touch-action:none;background:linear-gradient(to right,transparent,rgba(0,0,0,.18))}.dispatch-card--unassigned,.dispatch-swatch--unassigned{background:var(--color-neutral-bg);color:var(--color-text)}.dispatch-card--dispatched,.dispatch-swatch--dispatched{background:color-mix(in srgb,var(--color-info) 22%,var(--color-surface));color:var(--color-info-text)}.dispatch-card--working,.dispatch-swatch--working{background:color-mix(in srgb,var(--color-warning) 32%,var(--color-surface));color:var(--color-warning-text)}.dispatch-card--done,.dispatch-swatch--done{background:color-mix(in srgb,var(--color-success) 24%,var(--color-surface));color:var(--color-success-text)}.dispatch-card--site{background:repeating-linear-gradient(135deg,var(--color-neutral-bg),var(--color-neutral-bg) 6px,var(--color-surface-alt) 6px,var(--color-surface-alt) 12px);color:var(--color-neutral-text)}.dispatch-legend{display:flex;flex-wrap:wrap;gap:.4rem 1rem;margin:.5rem 0;font-size:.85rem}.dispatch-legend-item{display:inline-flex;align-items:center;gap:.35rem}.dispatch-swatch{display:inline-block;width:1.1rem;height:.8rem;border-radius:3px;border:1px solid var(--color-border-strong)}.dispatch-swatch--unit{background:transparent;border-left-width:6px}.dispatch-tray{border:var(--border-w) solid var(--color-border);border-radius:var(--radius-md, 8px);box-shadow:var(--shadow-xs);padding:.75rem;background:var(--color-surface, #fff)}.dispatch-tray-hold{margin-top:.25rem;display:block}.dispatch-tray .dispatch-card{margin-bottom:.4rem}.visually-hidden{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.arrival-window{display:flex;flex-wrap:wrap;gap:.75rem}.arrival-window>label{flex:1 1 8rem;min-width:0}.todo-list{list-style:none;margin:0;padding:0;display:grid;gap:.75rem}.todo-item{display:flex;gap:.75rem;align-items:flex-start}.todo-check{flex:0 0 auto;padding-top:.2rem}.todo-body,.todo-edit{flex:1 1 auto;min-width:0}.todo-title{font-weight:600;overflow-wrap:anywhere}.todo-title--done{text-decoration:line-through;opacity:.6}.auth-split{min-height:100vh;min-height:100dvh;display:grid;grid-template-columns:minmax(320px,5fr) 7fr;background:var(--color-bg)}.auth-brand-panel{position:relative;overflow:hidden;display:flex;flex-direction:column;justify-content:space-between;gap:var(--space-8, 40px);padding:var(--space-9, 48px) var(--space-8, 40px);color:var(--color-nav-text);background:radial-gradient(120% 80% at 0% 0%,color-mix(in srgb,var(--color-accent) 42%,transparent) 0%,transparent 60%),radial-gradient(90% 60% at 100% 100%,color-mix(in srgb,var(--color-accent) 22%,transparent) 0%,transparent 70%),var(--color-nav-bg)}.auth-brand-panel:after{content:"";position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:linear-gradient(color-mix(in srgb,var(--color-nav-text) 6%,transparent) 1px,transparent 1px),linear-gradient(90deg,color-mix(in srgb,var(--color-nav-text) 6%,transparent) 1px,transparent 1px);background-size:40px 40px;-webkit-mask-image:linear-gradient(180deg,rgba(0,0,0,.7),transparent 75%);mask-image:linear-gradient(180deg,rgba(0,0,0,.7),transparent 75%)}.auth-brand,.auth-brand-copy{position:relative;z-index:1}.auth-brand{display:flex;align-items:center;gap:var(--space-3, 12px)}.auth-brand-name{font-size:var(--text-xl, 20px);font-weight:var(--weight-bold, 650);letter-spacing:-.01em}.auth-brand-copy{max-width:26rem;margin-bottom:auto;margin-top:auto}.auth-brand-headline{margin:0 0 var(--space-5, 20px);font-size:var(--text-3xl, 30px);line-height:var(--leading-3xl, 36px);font-weight:var(--weight-semibold, 600);letter-spacing:-.02em}.auth-brand-points{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-3, 12px);color:var(--color-nav-text-muted)}.auth-brand-points li{display:flex;align-items:flex-start;gap:var(--space-3, 12px)}.auth-brand-points li:before{content:"";flex:none;width:8px;height:8px;margin-top:7px;border-radius:999px;background:var(--color-accent);box-shadow:0 0 0 4px color-mix(in srgb,var(--color-accent) 25%,transparent)}.auth-main{display:flex;align-items:center;justify-content:center;padding:var(--space-9, 48px) var(--space-6, 24px)}.auth-main-inner{width:100%;max-width:400px;display:flex;flex-direction:column;gap:var(--space-6, 24px)}.auth-form-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg, 12px);box-shadow:var(--shadow-md);padding:var(--space-7, 32px)}.auth-form-card h1{margin:0;font-size:var(--text-2xl, 24px);line-height:var(--leading-2xl, 32px)}.auth-heading{margin-bottom:var(--space-6, 24px)}.auth-heading .auth-sub,.auth-sub{margin:var(--space-1, 4px) 0 0;color:var(--color-text-muted)}.auth-form-card>h1{margin-bottom:var(--space-4, 16px)}.auth-form-card>p{line-height:1.55}.auth-field{display:flex;flex-direction:column;gap:var(--space-1, 6px)}.auth-field>label{font-size:var(--text-sm, 13px);font-weight:var(--weight-medium, 500);color:var(--color-text)}.auth-password{position:relative;display:flex}.auth-password input{flex:1;min-width:0;padding-right:5.5rem!important}.auth-password .auth-reveal{position:absolute;right:4px;top:50%;transform:translateY(-50%);color:var(--color-text-muted)}.auth-submit{width:100%;min-height:var(--control-h-lg, 40px);margin-top:var(--space-1, 4px)}@media(pointer:coarse){.auth-submit{min-height:48px}}.auth-links{margin:var(--space-3, 12px) 0 0;text-align:center}.auth-notice{display:flex;align-items:center;gap:var(--space-2, 8px);margin:0 0 var(--space-4, 16px)}.auth-state-icon{display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:999px;margin-bottom:var(--space-4, 16px);background:var(--color-success-bg);color:var(--color-success-text)}.auth-state-icon--danger{background:var(--color-danger-bg);color:var(--color-danger-text)}.auth-info{display:flex;gap:var(--space-2, 8px);align-items:flex-start;margin:var(--space-5, 20px) 0 0;padding:var(--space-3, 12px);border-radius:var(--radius, 8px);background:var(--color-surface-sunken);border:1px solid var(--color-border);color:var(--color-text-muted);font-size:var(--text-sm, 13px);line-height:1.5}.auth-info .ui-icon{flex:none;margin-top:1px}.auth-hint{margin:calc(var(--space-2, 8px) * -1) 0 0;color:var(--color-text-muted);font-size:var(--text-sm, 13px)}.auth-back{display:inline-flex;align-items:center;gap:var(--space-1, 4px);min-height:44px}@media(max-width:720px){.auth-split{grid-template-columns:1fr;grid-template-rows:auto 1fr}.auth-brand-panel{padding:var(--space-6, 24px) var(--space-4, 16px) var(--space-8, 40px);gap:0}.auth-brand-copy{display:none}.auth-main{align-items:flex-start;padding:0 var(--space-4, 16px) var(--space-8, 40px);margin-top:calc(var(--space-6, 24px) * -1);position:relative;z-index:1}.auth-form-card{padding:var(--space-6, 24px) var(--space-5, 20px)}}.sandbox-strip{border:1px dashed var(--color-border-strong);border-radius:var(--radius-lg, 12px);background:var(--color-surface-sunken);padding:var(--space-5, 20px)}.sandbox-strip-head{display:flex;align-items:center;gap:var(--space-2, 8px);flex-wrap:wrap}.sandbox-strip-head h2{margin:0;font-size:var(--text-md, 16px)}.sandbox-strip-pill{display:inline-flex;align-items:center;min-height:22px;padding:0 var(--space-2, 8px);border-radius:999px;background:var(--color-warning-bg);color:var(--color-warning-text);font-size:var(--text-xs, 12px);font-weight:var(--weight-semibold, 600)}.sandbox-strip-note{margin:var(--space-1, 4px) 0 var(--space-4, 16px);color:var(--color-text-muted);font-size:var(--text-sm, 13px)}.sandbox-viewas{margin-top:var(--space-4, 16px);display:grid;gap:var(--space-3, 12px)}.sandbox-viewas-title{margin:0;font-size:var(--text-sm, 13px);font-weight:var(--weight-medium, 500)}.sandbox-viewas-role{margin-bottom:var(--space-1, 4px);font-size:var(--text-xs, 12px);color:var(--color-text-muted);font-weight:var(--weight-semibold, 600)}.sandbox-viewas-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:var(--space-2, 8px)}.sandbox-viewas-grid button{justify-content:flex-start;overflow:hidden;text-overflow:ellipsis}.sandbox-strip .form-error{margin-top:var(--space-3, 12px)}.change-password-wrap{max-width:440px;margin:var(--space-6, 24px) auto}.person-avatar{display:inline-flex;flex:none;align-items:center;justify-content:center;border-radius:999px;font-weight:var(--weight-semibold, 600);letter-spacing:.02em;line-height:1;background:hsl(var(--avatar-hue, 220) 70% 92%);color:hsl(var(--avatar-hue, 220) 55% 32%);-webkit-user-select:none;user-select:none}:root[data-theme=dark] .person-avatar{background:hsl(var(--avatar-hue, 220) 35% 24%);color:hsl(var(--avatar-hue, 220) 80% 82%)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]):not([data-theme=outdoor]) .person-avatar{background:hsl(var(--avatar-hue, 220) 35% 24%);color:hsl(var(--avatar-hue, 220) 80% 82%)}}.person-avatar--muted{filter:grayscale(1);opacity:.7}.ts-chips{display:flex;flex-wrap:wrap;gap:var(--space-2, 8px)}button.ts-chip{min-height:32px;padding:0 var(--space-3, 12px);gap:var(--space-2, 8px);border-radius:999px;font-size:var(--text-sm, 13px);font-weight:var(--weight-medium, 500);background:var(--color-surface);border:1px solid var(--color-border);color:var(--color-text-muted)}button.ts-chip:hover:not(:disabled){border-color:var(--color-border-hover, var(--color-border-strong));color:var(--color-text)}button.ts-chip.is-active{background:var(--color-accent-soft, color-mix(in srgb, var(--color-accent) 12%, transparent));border-color:var(--color-accent-border, color-mix(in srgb, var(--color-accent) 40%, transparent));color:var(--color-text)}.ts-chip-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 6px;border-radius:999px;background:var(--color-surface-alt, var(--color-neutral-bg));color:var(--color-text);font-size:var(--text-xs, 12px);font-variant-numeric:tabular-nums}@media(pointer:coarse){button.ts-chip{min-height:44px}}.ts-stepper{display:inline-flex;align-items:center;gap:var(--space-2, 8px);flex-wrap:wrap}.ts-stepper-label{min-width:11rem;text-align:center;font-variant-numeric:tabular-nums}.form label.ts-goto,label.ts-goto{display:inline-flex;flex-direction:row;align-items:center;gap:var(--space-2, 8px);margin:0;font-size:var(--text-sm, 13px);color:var(--color-text-muted)}.ts-goto input{width:auto}.ts-week{display:flex;flex-direction:column;gap:var(--space-5, 20px)}.ts-week-head{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--space-3, 12px) var(--space-5, 20px)}.ts-week-title h2{margin:0;font-size:var(--text-xl, 20px)}.ts-week-status{display:flex;flex-wrap:wrap;gap:var(--space-2, 8px);margin-top:var(--space-2, 8px)}.ts-week-summary{display:grid;grid-template-columns:minmax(150px,auto) 1fr;gap:var(--space-4, 16px);align-items:stretch}.ts-week-total{display:flex;flex-direction:column;justify-content:center;gap:var(--space-1, 4px);padding:var(--space-4, 16px) var(--space-5, 20px);border-radius:var(--radius, 8px);background:var(--color-accent-soft, color-mix(in srgb, var(--color-accent) 10%, transparent));border:1px solid var(--color-accent-border, color-mix(in srgb, var(--color-accent) 30%, transparent))}.ts-week-total-label{font-size:var(--text-sm, 13px);color:var(--color-text-muted);font-weight:var(--weight-medium, 500)}.ts-week-total-value{font-size:var(--text-3xl, 30px);line-height:var(--leading-3xl, 36px);font-weight:var(--weight-semibold, 600);font-variant-numeric:tabular-nums;letter-spacing:-.01em}.ts-days{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(7,minmax(0,1fr));gap:var(--space-2, 8px)}.ts-day{display:flex;flex-direction:column;gap:2px;padding:var(--space-3, 12px) var(--space-2, 8px);border-radius:var(--radius, 8px);border:1px solid var(--color-border);background:var(--color-surface-sunken);text-align:center;min-width:0}.ts-day-name{font-size:var(--text-xs, 12px);font-weight:var(--weight-semibold, 600);color:var(--color-text-muted);letter-spacing:.02em}.ts-day-date{font-size:var(--text-xs, 12px);color:var(--color-text-subtle, var(--color-text-muted))}.ts-day-hours{margin-top:var(--space-1, 4px);font-size:var(--text-md, 16px);font-weight:var(--weight-semibold, 600);font-variant-numeric:tabular-nums;color:var(--color-text-subtle, var(--color-text-muted))}.ts-day.has-hours{background:var(--color-surface)}.ts-day.has-hours .ts-day-hours{color:var(--color-text)}.ts-day.is-today{border-color:var(--color-accent);box-shadow:inset 0 0 0 1px var(--color-accent)}.ts-day-live{font-size:11px;font-weight:var(--weight-medium, 500);color:var(--color-success-text)}.ts-block{display:flex;flex-direction:column;gap:var(--space-3, 12px);align-items:flex-start}.ts-block>*{max-width:100%}.ts-block>div{align-self:stretch}.ts-block-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3, 12px);flex-wrap:wrap;align-self:stretch}.ts-block-head h3{margin:0;font-size:var(--text-md, 16px)}.ts-add-panel{padding:var(--space-4, 16px);border-radius:var(--radius, 8px);background:var(--color-surface-sunken);border:1px solid var(--color-border)}.ts-add-form{align-items:flex-end}.ts-submit-bar{position:sticky;bottom:var(--space-3, 12px);z-index:5;display:flex;align-items:center;justify-content:space-between;gap:var(--space-3, 12px) var(--space-4, 16px);flex-wrap:wrap;padding:var(--space-3, 12px) var(--space-4, 16px);border-radius:var(--radius-lg, 12px);border:1px solid var(--color-border);background:var(--color-surface-raised, var(--color-surface));box-shadow:var(--shadow-md)}.app-shell:has(.assistant-fab) .ts-submit-bar{padding-right:132px}.ts-submit-info{display:flex;flex-direction:column;gap:var(--space-2, 8px)}.ts-submit-total{margin:0;font-weight:var(--weight-semibold, 600);font-variant-numeric:tabular-nums}.ts-submit-info .callout{margin:0}.ts-team{display:flex;flex-direction:column;gap:var(--space-4, 16px)}.ts-team-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3, 12px)}.ts-team-actions{display:flex;flex-wrap:wrap;gap:var(--space-2, 8px)}.ts-team .ui-toolbar,.ts-team .ui-stat-grid{margin:0}.ts-error{display:flex;align-items:center;gap:var(--space-3, 12px);flex-wrap:wrap}.ts-error .form-error{flex:1}button.ts-person{display:inline-flex;align-items:center;gap:var(--space-3, 12px);min-height:40px;padding:0 var(--space-2, 8px) 0 0;border:none;background:none;box-shadow:none;color:var(--color-text);font-weight:var(--weight-semibold, 600);text-align:left;white-space:normal}button.ts-person:hover:not(:disabled){background:none}button.ts-person:hover .ts-person-name{text-decoration:underline;text-underline-offset:3px}.ts-person-chevron{color:var(--color-text-muted)}.ts-team-hours{font-weight:var(--weight-semibold, 600)}.ts-badges{display:inline-flex;flex-wrap:wrap;gap:var(--space-1, 4px)}.ts-row-actions{display:flex;justify-content:flex-end;gap:var(--space-2, 8px)}.ts-team-row.is-expanded td{background:var(--color-surface-sunken)}.ts-detail-row>td{background:var(--color-surface-sunken);padding:var(--space-4, 16px)!important}.ts-detail{display:flex;flex-direction:column;gap:var(--space-3, 12px)}.ts-entry-site{font-weight:var(--weight-medium, 500)}.ts-entry-actions{text-align:right}@media(max-width:720px){.ts-week-summary{grid-template-columns:1fr}.ts-days{grid-template-columns:repeat(7,minmax(40px,1fr));gap:var(--space-1, 4px)}.ts-day{padding:var(--space-2, 8px) 2px}.ts-day-date{display:none}.ts-day-hours{font-size:var(--text-sm, 13px)}.ts-day-live{display:none}.ts-day.is-open .ts-day-name:after{content:"";display:inline-block;width:6px;height:6px;margin-left:3px;vertical-align:middle;border-radius:999px;background:var(--color-success)}.ts-submit-bar{bottom:calc(var(--shell-tabbar-h, 64px) + env(safe-area-inset-bottom) + var(--space-2, 8px))}.app-shell:has(.assistant-fab) .ts-submit-bar{padding-right:var(--space-4, 16px);bottom:calc(var(--shell-tabbar-h, 64px) + env(safe-area-inset-bottom) + 80px)}.ts-submit-button{width:100%;min-height:52px}.ts-submit-info,.ts-team-head,.ts-team-actions{width:100%}.ts-team-actions>*{flex:1 1 auto}.ts-entries,.ts-team-table{min-width:0!important;width:100%}.ts-entries thead,.ts-team-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.ts-entries,.ts-entries tbody,.ts-entries tr,.ts-entries td,.ts-team-table,.ts-team-table tbody,.ts-team-table tr,.ts-team-table td{display:block}.ts-entries tr,.ts-team-table tr.ts-team-row{padding:var(--space-3, 12px) var(--space-4, 16px);border-bottom:1px solid var(--color-border)}.ts-entries td,.ts-team-table td{border:none!important;padding:2px 0!important;text-align:left!important;height:auto!important}.ts-entries td[data-label],.ts-team-table td[data-label]{display:flex;justify-content:space-between;align-items:center;gap:var(--space-3, 12px)}.ts-entries td[data-label]:before,.ts-team-table td[data-label]:before{content:attr(data-label);color:var(--color-text-muted);font-size:var(--text-sm, 13px);font-weight:var(--weight-regular, 400)}.ts-entries td.ts-entry-site{display:block;font-size:var(--text-md, 16px);margin-bottom:var(--space-1, 4px)}.ts-entries td.ts-entry-site:before{content:none}.ts-entry-actions{margin-top:var(--space-2, 8px)}.ts-entry-actions button{width:100%;min-height:44px}.ts-row-actions{margin-top:var(--space-2, 8px)}.ts-row-actions button{flex:1;min-height:44px}.ts-detail-row>td{padding:var(--space-3, 12px)!important}.ts-entries-empty td{text-align:center!important}}.kpi-page{display:flex;flex-direction:column;gap:var(--space-4, 16px)}.kpi-page>.ui-page-header{margin-bottom:0}.kpi-filterbar{position:sticky;top:calc(var(--shell-topbar-h, 56px) + var(--space-2, 8px));z-index:6;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3, 12px) var(--space-4, 16px);padding:var(--space-3, 12px) var(--space-4, 16px);border:1px solid var(--color-border);border-radius:var(--radius-lg, 12px);background:color-mix(in srgb,var(--color-surface) 92%,transparent);-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);box-shadow:var(--shadow-xs, none)}.form.kpi-range-inputs{display:flex;flex-direction:row;flex-wrap:wrap;align-items:center;gap:var(--space-3, 12px)}.form.kpi-range-inputs label{flex-direction:row;align-items:center;gap:var(--space-2, 8px);margin:0}.kpi-range-inputs input{width:auto}.kpi-custom-chip{display:inline-flex;align-items:center;min-height:32px;padding:0 var(--space-3, 12px);border-radius:999px;font-size:var(--text-sm, 13px);font-weight:var(--weight-medium, 500);background:var(--color-accent-soft, color-mix(in srgb, var(--color-accent) 12%, transparent));border:1px solid var(--color-accent-border, color-mix(in srgb, var(--color-accent) 40%, transparent))}.kpi-updating{margin-left:auto;color:var(--color-text-muted);font-size:var(--text-sm, 13px)}.kpi-body{display:flex;flex-direction:column;gap:var(--space-4, 16px);transition:opacity var(--dur, .18s) ease}.kpi-body.is-loading{opacity:.6}.kpi-body .ui-stat-grid,.kpi-skeleton .ui-stat-grid{margin:0;grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr))}.kpi-skeleton .ui-stat{display:flex;flex-direction:column;gap:var(--space-3, 12px)}.kpi-nodata{color:var(--color-text-subtle, var(--color-text-muted));font-weight:var(--weight-medium, 500)}.kpi-definitions{border:1px solid var(--color-border);border-radius:var(--radius, 8px);background:var(--color-surface);padding:0 var(--space-4, 16px)}.kpi-definitions summary{min-height:44px;display:flex;align-items:center;cursor:pointer;font-size:var(--text-sm, 13px);font-weight:var(--weight-medium, 500);color:var(--color-text-muted)}.kpi-definitions dl{margin:0 0 var(--space-4, 16px);display:grid;grid-template-columns:minmax(10rem,max-content) 1fr;gap:var(--space-2, 8px) var(--space-5, 20px);font-size:var(--text-sm, 13px)}.kpi-definitions dt{font-weight:var(--weight-semibold, 600)}.kpi-definitions dd{margin:0;color:var(--color-text-muted)}.kpi-group-title{margin:var(--space-4, 16px) 0 0;font-size:var(--text-lg, 18px)}.kpi-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:var(--space-4, 16px);align-items:start}.kpi-grid>.ui-section,.kpi-page .ui-section{margin:0}.kpi-big{margin:0 0 var(--space-3, 12px);font-size:var(--text-2xl, 24px);font-weight:var(--weight-semibold, 600);font-variant-numeric:tabular-nums}.kpi-section-total{font-weight:var(--weight-semibold, 600);font-variant-numeric:tabular-nums}.kpi-split{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:var(--space-3, 12px)}.kpi-month,.form .kpi-month{display:inline-flex;flex-direction:row;align-items:center;gap:var(--space-2, 8px);margin:0;font-size:var(--text-sm, 13px);color:var(--color-text-muted)}.kpi-month input{width:auto}.kpi-tax-actions{display:flex;flex-wrap:wrap;gap:var(--space-2, 8px);align-items:center}.kpi-tax{display:flex;flex-direction:column;gap:var(--space-4, 16px)}.kpi-tax .ui-stat-grid{margin:0}.kpi-table th[scope=row]{text-align:left;font-weight:var(--weight-medium, 500)}.kpi-row-total th,.kpi-row-total td{font-weight:var(--weight-semibold, 600)}.kpi-facts{margin:0 0 var(--space-4, 16px);display:grid;gap:var(--space-3, 12px)}.kpi-facts>div{display:flex;justify-content:space-between;gap:var(--space-3, 12px);padding-bottom:var(--space-2, 8px);border-bottom:1px solid var(--color-border)}.kpi-facts dt{color:var(--color-text-muted)}.kpi-facts dd{margin:0;font-weight:var(--weight-semibold, 600);font-variant-numeric:tabular-nums;text-align:right}ul.kpi-tiers{list-style:none;margin:0;padding:0}.kpi-unattributed td{color:var(--color-text-muted);font-style:italic}.kpi-people-history details summary{cursor:pointer;min-height:32px;display:inline-flex;align-items:center;color:var(--color-info)}.kpi-people-history ul{margin:var(--space-2, 8px) 0 0;padding-left:var(--space-5, 20px);font-size:var(--text-sm, 13px)}@media(max-width:720px){.kpi-filterbar{position:static}.kpi-range-inputs{width:100%}.form.kpi-range-inputs label{flex:1 1 140px;min-width:0}.kpi-filterbar{gap:var(--space-2, 8px);padding:var(--space-3, 12px)}.kpi-filterbar .ts-chips{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none;width:100%;margin:0 calc(-1 * var(--space-3, 12px));padding:0 var(--space-3, 12px);width:calc(100% + 2 * var(--space-3, 12px))}.kpi-filterbar .ts-chips::-webkit-scrollbar{display:none}.kpi-filterbar .ts-chip{flex-shrink:0}.kpi-range-inputs input{flex:1;min-width:0}.kpi-definitions dl{grid-template-columns:1fr;gap:var(--space-1, 4px)}.kpi-definitions dd{margin-bottom:var(--space-2, 8px)}.kpi-people,.kpi-invoices,.kpi-tax-summary{min-width:0!important;width:100%}.kpi-people thead,.kpi-invoices thead,.kpi-tax-summary thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.kpi-people,.kpi-people tbody,.kpi-people tr,.kpi-people td,.kpi-invoices,.kpi-invoices tbody,.kpi-invoices tr,.kpi-invoices td,.kpi-tax-summary,.kpi-tax-summary tbody,.kpi-tax-summary tr,.kpi-tax-summary th,.kpi-tax-summary td{display:block}.kpi-people tr,.kpi-invoices tr,.kpi-tax-summary tr{padding:var(--space-3, 12px) var(--space-4, 16px);border-bottom:1px solid var(--color-border)}.kpi-people td,.kpi-invoices td,.kpi-tax-summary th,.kpi-tax-summary td{border:none!important;padding:2px 0!important;text-align:left!important;height:auto!important}.kpi-people td[data-label],.kpi-invoices td[data-label],.kpi-tax-summary td[data-label]{display:flex;justify-content:space-between;gap:var(--space-3, 12px)}.kpi-people td[data-label]:before,.kpi-invoices td[data-label]:before,.kpi-tax-summary td[data-label]:before{content:attr(data-label);color:var(--color-text-muted);font-size:var(--text-sm, 13px)}.kpi-people-name,.kpi-inv-number,.kpi-tax-summary th{font-size:var(--text-md, 16px);font-weight:var(--weight-semibold, 600)}}.users-page .ui-toolbar{margin-bottom:var(--space-4, 16px)}.users-count{color:var(--color-text-muted);font-size:var(--text-sm, 13px)}.users-search{position:relative;display:inline-flex;align-items:center;flex:1 1 260px;max-width:360px;margin:0}.users-search .ui-icon{position:absolute;left:10px;color:var(--color-text-muted);pointer-events:none}.users-search input{width:100%;padding-left:34px}.users-status{display:flex;gap:var(--space-2, 8px);flex-wrap:wrap}.users-row{cursor:pointer}.users-row:hover td{background:var(--color-surface-hover, var(--color-surface-sunken))}.users-person{display:inline-flex;align-items:center;gap:var(--space-3, 12px)}.users-person-text{display:inline-flex;align-items:center;flex-wrap:wrap;gap:var(--space-2, 8px)}button.users-name{min-height:32px;padding:0;border:none;background:none;box-shadow:none;color:var(--color-text);font:inherit;font-weight:var(--weight-semibold, 600);text-align:left;white-space:normal}button.users-name:hover:not(:disabled){background:none;text-decoration:underline;text-underline-offset:3px}.users-cell-email{color:var(--color-text-muted);overflow-wrap:anywhere}.users-cell-email .meta{margin:0}@media(max-width:720px){.users-search{max-width:none}.users-table{min-width:0!important;width:100%}.users-table thead{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}.users-table,.users-table tbody{display:block}.users-table tr{display:grid;grid-template-columns:1fr auto;grid-template-areas:"name role" "email email";gap:var(--space-1, 4px) var(--space-3, 12px);padding:var(--space-3, 12px) var(--space-4, 16px);border-bottom:1px solid var(--color-border)}.users-table td{display:block;border:none!important;padding:0!important;height:auto!important}.users-cell-name{grid-area:name}.users-cell-role{grid-area:role;align-self:center}.users-cell-email{grid-area:email;padding-left:48px!important;font-size:var(--text-sm, 13px)}}.user-detail-head{display:flex;align-items:center;gap:var(--space-3, 12px);margin-bottom:var(--space-5, 20px)}.user-detail-head .user-detail-meta{margin:0;display:flex;flex-direction:column;gap:var(--space-1, 4px)}.user-detail-badges{display:flex;flex-wrap:wrap;gap:var(--space-1, 4px)}.user-detail-form{gap:var(--space-4, 16px)}.user-detail-section{margin:0;padding:var(--space-4, 16px);border:1px solid var(--color-border);border-radius:var(--radius, 8px);display:flex;flex-direction:column;gap:var(--space-3, 12px);min-width:0}.user-detail-section>legend{padding:0 var(--space-1, 4px);font-weight:var(--weight-semibold, 600);font-size:var(--text-sm, 13px)}.user-detail-section>fieldset{border:none;padding:0;margin:0}.user-detail-note{margin:0}.user-detail-save{position:sticky;bottom:calc(var(--space-4, 16px) * -1);z-index:2;margin:0 calc(var(--space-2, 8px) * -1);padding:var(--space-3, 12px) var(--space-2, 8px);background:var(--color-surface);border-top:1px solid var(--color-border)}.user-detail-account{margin-top:var(--space-5, 20px);padding:var(--space-4, 16px);border:1px solid color-mix(in srgb,var(--color-danger) 30%,var(--color-border));border-radius:var(--radius, 8px);background:color-mix(in srgb,var(--color-danger-bg) 45%,var(--color-surface))}.user-detail-account h3{margin:0;font-size:var(--text-md, 16px)}.user-detail-account>.meta{margin:var(--space-1, 4px) 0 var(--space-3, 12px)}.user-detail-account-actions{display:flex;flex-wrap:wrap;gap:var(--space-2, 8px)}.user-detail-account-actions .btn-danger{margin-left:auto}.user-detail-result{margin-bottom:var(--space-3, 12px);display:block}.user-detail-copy{display:inline-flex;align-items:center;gap:var(--space-2, 8px);margin-left:var(--space-2, 8px);vertical-align:middle}@media(max-width:720px){.user-detail-account-actions>button{flex:1 1 100%;min-height:48px}.user-detail-account-actions .btn-danger{margin-left:0}}.users-method{margin:0;padding:0;border:none;display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-2, 8px)}.users-method>legend{margin-bottom:var(--space-2, 8px);font-size:var(--text-sm, 13px);font-weight:var(--weight-medium, 500)}.form label.users-method-option{flex-direction:row;align-items:center;gap:var(--space-2, 8px);min-height:48px;padding:var(--space-2, 8px) var(--space-3, 12px);border:1px solid var(--color-border-strong);border-radius:var(--radius, 8px);cursor:pointer}.form label.users-method-option:has(input:checked){border-color:var(--color-accent);background:var(--color-accent-soft, color-mix(in srgb, var(--color-accent) 10%, transparent))}.settings-page{display:flex;flex-direction:column;gap:var(--space-4, 16px);max-width:960px}.settings-page>.ui-page-header{margin-bottom:0}.settings-page .ui-section{margin:0}.form.settings-add{flex-direction:row;flex-wrap:wrap;align-items:flex-end;gap:var(--space-3, 12px);padding:var(--space-4, 16px);border-bottom:1px solid var(--color-border);background:var(--color-surface-sunken)}.form.settings-add>label:first-child{flex:1 1 220px}.form.settings-add label.settings-color-field{flex:none}.settings-add input[type=color],.settings-color{width:44px;min-width:44px;height:36px;padding:2px;border-radius:var(--radius-sm, 6px);cursor:pointer}.settings-message{margin:var(--space-3, 12px) var(--space-4, 16px) 0!important}.settings-page .ui-empty--compact{margin:var(--space-4, 16px)}.settings-page .ui-skeleton-list{padding:var(--space-4, 16px)}.settings-table{width:100%}.settings-table thead th:first-child{width:1%;white-space:nowrap}.settings-order-controls{display:inline-flex;align-items:center;gap:2px}.settings-position{display:inline-flex;justify-content:center;min-width:1.75rem;color:var(--color-text-muted);font-size:var(--text-sm, 13px);font-variant-numeric:tabular-nums}.settings-icon-up{transform:rotate(180deg)}button.settings-move:disabled{opacity:.35}.settings-label{font-weight:var(--weight-medium, 500)}.settings-label input{width:100%;max-width:24rem}.settings-row-actions{width:1%;white-space:nowrap;text-align:right}.settings-row-buttons{display:inline-flex;align-items:center;gap:var(--space-1, 4px)}button.settings-delete{color:var(--color-text-muted)}button.settings-delete:hover:not(:disabled){color:var(--color-danger-text);background:var(--color-danger-bg)}.settings-name{display:flex;align-items:center;gap:var(--space-3, 12px)}.settings-name input{flex:1;min-width:0;max-width:22rem}.settings-swatch{flex:none;width:14px;height:14px;border-radius:999px;box-shadow:0 0 0 2px var(--color-surface),0 0 0 3px var(--color-border-strong)}.settings-save-state{flex:none;display:inline-flex;align-items:center;gap:4px;min-width:5.5rem;font-size:var(--text-xs, 12px);color:var(--color-text-muted)}.settings-save-state.is-saved{color:var(--color-success-text)}.settings-save-state.is-error{color:var(--color-danger-text)}.settings-note{display:flex;align-items:flex-start;gap:var(--space-2, 8px);margin:0;padding:var(--space-3, 12px) var(--space-4, 16px);border-radius:var(--radius, 8px);border:1px solid var(--color-border);background:var(--color-info-bg);color:var(--color-info-text, var(--color-text));font-size:var(--text-sm, 13px)}.settings-note .ui-icon{flex:none;margin-top:2px}.settings-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,420px),1fr));gap:var(--space-4, 16px);align-items:start}a.ts-chip.settings-jump-link{display:inline-flex;align-items:center;gap:var(--space-2, 8px);min-height:32px;padding:0 var(--space-3, 12px);border-radius:999px;border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);font-size:var(--text-sm, 13px);font-weight:var(--weight-medium, 500);text-decoration:none}a.ts-chip.settings-jump-link:hover{border-color:var(--color-border-hover, var(--color-border-strong))}.settings-notify-table th,.settings-notify-table td{padding:var(--space-3, 12px) var(--space-4, 16px);border-bottom:1px solid var(--color-border)}.settings-notify-table tbody tr:last-child th,.settings-notify-table tbody tr:last-child td{border-bottom:none}.settings-notify-table thead th{font-size:var(--text-xs, 12px);font-weight:var(--weight-semibold, 600);color:var(--color-text-muted);background:var(--color-surface-sunken)}.settings-notify-table td,.settings-notify-table th[scope=col]{width:5.5rem}.settings-col-note{font-weight:var(--weight-regular, 400)}.settings-switch-cell{position:relative;display:inline-flex;align-items:center;justify-content:center}.notification-table td input.settings-switch{-moz-appearance:none;appearance:none;-webkit-appearance:none;position:relative;width:40px;height:24px;margin:0;border-radius:999px;border:1px solid var(--color-border-strong);background:var(--color-surface-alt, var(--color-neutral-bg));cursor:pointer;transition:background var(--dur-fast, .12s) ease,border-color var(--dur-fast, .12s) ease}.notification-table td input.settings-switch:after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;border-radius:999px;background:var(--color-surface);box-shadow:0 1px 2px #10182840;transition:transform var(--dur-fast, .12s) ease}.notification-table td input.settings-switch:checked{background:var(--color-accent);border-color:var(--color-accent)}.notification-table td input.settings-switch:checked:after{transform:translate(16px)}.notification-table td input.settings-switch:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.settings-saved{position:absolute;left:calc(100% + 6px);display:inline-flex;color:var(--color-success-text)}@media(pointer:coarse){.notification-table td input.settings-switch{width:48px;height:28px}.notification-table td input.settings-switch:after{width:22px;height:22px}.notification-table td input.settings-switch:checked:after{transform:translate(20px)}a.ts-chip.settings-jump-link{min-height:44px}button.settings-move,button.settings-delete{min-width:44px;min-height:44px}}@media(prefers-reduced-motion:reduce){.notification-table td input.settings-switch,.notification-table td input.settings-switch:after{transition:none}}@media(max-width:720px){.form.settings-add>*{flex:1 1 100%}.form.settings-add label.settings-color-field{flex:0 0 auto}.form.settings-add button[type=submit]{flex:1 1 auto;min-height:48px}.settings-save-state{min-width:0}.settings-notify-table th,.settings-notify-table td{padding:var(--space-3, 12px)}.settings-notify-table td,.settings-notify-table th[scope=col]{width:4.5rem}}.print-toolbar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2, 8px);margin-bottom:var(--space-4, 16px)}.ui-visually-hidden{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.ui-icon{flex-shrink:0;vertical-align:middle}.ui-page-header{margin:0 0 var(--space-6, 24px)}.ui-page-header-row{display:flex;align-items:flex-end;justify-content:space-between;gap:var(--space-4, 16px);flex-wrap:wrap}.ui-page-header-text{min-width:0;flex:1 1 280px}.ui-eyebrow{font-size:var(--text-xs, 12px);font-weight:600;color:var(--color-text-muted);margin-bottom:var(--space-1, 4px)}.ui-page-title{font-size:var(--text-2xl, 24px);line-height:1.25;font-weight:650;letter-spacing:-.01em;margin:0;text-transform:none;color:var(--color-text);border:0;padding:0}.ui-page-description{margin:var(--space-1, 4px) 0 0;color:var(--color-text-muted);font-size:var(--text-sm, 14px);max-width:70ch}.ui-page-meta{margin-top:var(--space-2, 8px);display:flex;flex-wrap:wrap;gap:var(--space-2, 8px);align-items:center;color:var(--color-text-muted);font-size:var(--text-sm, 14px)}.ui-page-actions{display:flex;flex-wrap:wrap;gap:var(--space-2, 8px);align-items:center}.ui-page-tabs{margin-top:var(--space-4, 16px)}.ui-tabs{display:flex;gap:var(--space-1, 4px);border-bottom:1px solid var(--color-border);overflow-x:auto;scrollbar-width:none}.ui-tabs::-webkit-scrollbar{display:none}.ui-tab{-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;border:0;border-bottom:2px solid transparent;border-radius:0;box-shadow:none;margin-bottom:-1px;padding:0 var(--space-3, 12px);min-height:40px;font:inherit;font-size:var(--text-sm, 14px);font-weight:550;color:var(--color-text-muted);text-transform:none;letter-spacing:0;white-space:nowrap;cursor:pointer;display:inline-flex;align-items:center;gap:var(--space-2, 8px)}.ui-tab:hover{color:var(--color-text);background:transparent}.ui-tab.is-active{color:var(--color-text);border-bottom-color:var(--color-accent)}.ui-tab:focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.ui-tab-count{font-size:12px;font-weight:600;min-width:20px;padding:0 6px;border-radius:999px;background:var(--color-neutral-bg);color:var(--color-neutral-text);text-align:center}@media(pointer:coarse){.ui-tab{min-height:44px}}.ui-section{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg, 12px);box-shadow:var(--shadow-xs, 0 1px 2px rgba(16, 24, 40, .04));margin-bottom:var(--space-4, 16px)}.ui-section-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3, 12px);padding:var(--space-4, 16px) var(--space-5, 20px) 0}.ui-section-title{font-size:var(--text-md, 16px);font-weight:600;color:var(--color-text);text-transform:none;letter-spacing:0;border:0;padding:0;margin:0}.ui-section-description{margin:2px 0 0;font-size:var(--text-sm, 14px);color:var(--color-text-muted)}.ui-section-actions{display:flex;gap:var(--space-2, 8px);flex-wrap:wrap}.ui-section-body{padding:var(--space-4, 16px) var(--space-5, 20px) var(--space-5, 20px)}.ui-section--flush .ui-section-body{padding:var(--space-3, 12px) 0 0}@media(max-width:720px){.ui-section-head{padding:var(--space-4, 16px) var(--space-4, 16px) 0}.ui-section-body{padding:var(--space-3, 12px) var(--space-4, 16px) var(--space-4, 16px)}}.ui-toolbar{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2, 8px) var(--space-3, 12px);margin-bottom:var(--space-4, 16px)}.ui-toolbar-main,.ui-toolbar-end{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2, 8px)}.ui-toolbar-main{flex:1 1 auto;min-width:0}.ui-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--space-2, 8px);padding:var(--space-10, 48px) var(--space-6, 24px);color:var(--color-text-muted)}.ui-empty--compact{padding:var(--space-5, 20px) var(--space-3, 12px)}.ui-empty-icon{width:48px;height:48px;border-radius:12px;display:grid;place-items:center;background:color-mix(in srgb,var(--color-accent) 10%,var(--color-surface));color:var(--color-accent);margin-bottom:var(--space-1, 4px)}.ui-empty--compact .ui-empty-icon{width:36px;height:36px;border-radius:10px}.ui-empty-title{font-weight:600;color:var(--color-text)}.ui-empty-body{font-size:var(--text-sm, 14px);max-width:44ch}.ui-empty-action{margin-top:var(--space-2, 8px)}.ui-skeleton{display:block;background:linear-gradient(90deg,var(--color-neutral-bg) 0%,color-mix(in srgb,var(--color-neutral-bg) 45%,var(--color-surface)) 50%,var(--color-neutral-bg) 100%);background-size:200% 100%;border-radius:6px;animation:ui-shimmer 1.2s ease-in-out infinite}@keyframes ui-shimmer{0%{background-position:100% 0}to{background-position:-100% 0}}.ui-skeleton-block{display:grid;gap:10px;padding:var(--space-2, 8px) 0}.ui-skeleton-list{display:grid;gap:0}.ui-skeleton-row{display:flex;gap:var(--space-3, 12px);align-items:center;padding:var(--space-3, 12px) 0;border-bottom:1px solid var(--color-border)}.ui-skeleton-row-text{flex:1;display:grid;gap:8px}@media(prefers-reduced-motion:reduce){.ui-skeleton{animation:none}}.ui-stat-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--space-3, 12px);margin-bottom:var(--space-5, 20px)}.ui-stat{display:flex;flex-direction:column;gap:2px;padding:var(--space-4, 16px);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg, 12px);box-shadow:var(--shadow-xs, 0 1px 2px rgba(16, 24, 40, .04));color:var(--color-text);text-decoration:none;position:relative;overflow:hidden}.ui-stat:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--stat-tone, transparent)}.ui-stat--link{transition:border-color .12s ease,box-shadow .12s ease,transform .12s ease}.ui-stat--link:hover{border-color:var(--color-border-strong);box-shadow:var(--shadow-sm, 0 2px 6px rgba(16, 24, 40, .08));color:var(--color-text)}.ui-stat--link:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.ui-stat-top{display:flex;align-items:center;justify-content:space-between;gap:8px}.ui-stat-label{font-size:var(--text-sm, 13px);font-weight:550;color:var(--color-text-muted)}.ui-stat-icon{color:var(--stat-tone, var(--color-text-muted));display:inline-flex}.ui-stat-value{font-size:28px;line-height:1.2;font-weight:650;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.ui-stat-hint{font-size:12.5px;color:var(--color-text-muted)}.ui-stat--accent{--stat-tone: var(--color-accent)}.ui-stat--info{--stat-tone: var(--color-info)}.ui-stat--success{--stat-tone: var(--color-success)}.ui-stat--warning{--stat-tone: var(--color-warning)}.ui-stat--danger{--stat-tone: var(--color-danger)}@media(max-width:520px){.ui-stat-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2, 8px)}.ui-stat{padding:var(--space-3, 12px)}.ui-stat-value{font-size:24px}}.home{display:block}.home-card-head{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-3, 12px);margin-bottom:var(--space-3, 12px)}.home-card-title{display:flex;align-items:center;gap:var(--space-2, 8px);margin:0;padding:0;border:0;font-size:var(--text-md, 16px);line-height:var(--leading-md, 24px);font-weight:var(--weight-semibold, 600);letter-spacing:0;text-transform:none;color:var(--color-text)}.home-card-title a{color:inherit;text-decoration:none}.home-card-title a:hover{text-decoration:underline}.home-card-title--lg{font-size:var(--text-lg, 18px);line-height:var(--leading-lg, 28px)}.home-section-title{margin:var(--space-6, 24px) 0 var(--space-3, 12px);padding:0;border:0;font-size:var(--text-sm, 13px);font-weight:var(--weight-semibold, 600);letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted)}.home-section-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3, 12px);margin:var(--space-6, 24px) 0 var(--space-3, 12px)}.home-section-head .home-section-title{margin:0}.home-count{display:inline-flex;align-items:center;justify-content:center;min-width:24px;height:22px;padding:0 var(--space-2, 8px);border-radius:var(--radius-pill, 999px);background:var(--color-surface-alt, #eceff3);color:var(--color-text-muted);font-size:var(--text-xs, 12px);font-weight:var(--weight-semibold, 600);font-variant-numeric:tabular-nums;flex-shrink:0}.home-card-foot{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2, 8px);margin-top:var(--space-3, 12px)}.home-list{list-style:none;margin:0;padding:0}.home-list>li{display:flex;flex-direction:column;gap:2px;padding:var(--space-2, 8px) 0;border-top:1px solid var(--color-border);font-size:var(--text-base, 14px)}.home-list>li:first-child{border-top:0;padding-top:0}.home-list>li>a,.home-list .home-row-with-action a{font-weight:var(--weight-semibold, 600);text-decoration:none;color:var(--color-text)}.home-list>li>a:hover,.home-list .home-row-with-action a:hover{text-decoration:underline}.home-list .meta{display:block;color:var(--color-text-muted);font-size:var(--text-sm, 13px)}.home-row-with-action{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3, 12px)}.home-row-with-action>span{min-width:0}.home-error{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2, 8px) var(--space-3, 12px);padding:var(--space-3, 12px) var(--space-4, 16px);margin-bottom:var(--space-4, 16px);border:1px solid color-mix(in srgb,var(--color-danger) 30%,transparent);border-radius:var(--radius, 8px);background:var(--color-danger-bg);color:var(--color-danger-text);font-size:var(--text-base, 14px)}.home-error>span{flex:1 1 16rem}.home-inline-label{display:inline-flex;align-items:center;gap:var(--space-2, 8px);font-size:var(--text-sm, 13px);font-weight:var(--weight-medium, 500);color:var(--color-text-muted);white-space:nowrap}.home-inline-label select{width:auto;min-width:10rem}.home-filter-note{margin:calc(-1 * var(--space-1, 4px)) 0 var(--space-3, 12px);font-size:var(--text-sm, 13px)}.home-person-filter{margin:0}.home-menu{position:relative;display:inline-flex}.home-menu-panel{position:absolute;top:calc(100% + 4px);z-index:var(--z-dropdown, 20);min-width:12rem;display:flex;flex-direction:column;padding:var(--space-1, 4px);background:var(--color-surface-raised, var(--color-surface));border:1px solid var(--color-border);border-radius:var(--radius, 8px);box-shadow:var(--shadow-md, 0 4px 8px -2px rgba(16, 24, 40, .1))}.home-menu-panel--end{right:0}.home-menu-panel--start{left:0}.home-menu-item,.home-menu-panel>button{display:flex;align-items:center;gap:var(--space-2, 8px);min-height:36px;padding:0 var(--space-3, 12px);border:0;border-radius:var(--radius-sm, 6px);background:transparent;color:var(--color-text);font-size:var(--text-base, 14px);font-weight:var(--weight-medium, 500);text-align:left;text-decoration:none;justify-content:flex-start;white-space:nowrap}.home-menu-item:hover,.home-menu-item:focus-visible,.home-menu-panel>button:hover,.home-menu-panel>button:focus-visible{background:var(--color-surface-hover, #f2f4f7);color:var(--color-text)}.home-menu-panel>.home-menu-item--danger{color:var(--color-danger-text)}.home-show-phone{display:none}@media(pointer:coarse){.home-menu-item,.home-menu-panel>button{min-height:44px}}@media(max-width:719px){.home-hide-phone{display:none!important}.home-show-phone{display:flex}}.home--office .ui-page-actions{flex-wrap:wrap}.home-grid{display:grid;gap:var(--space-4, 16px) var(--space-6, 24px);grid-template-columns:minmax(0,1fr);grid-template-areas:"clock" "main" "side"}.home-clock{grid-area:clock}.home-main{grid-area:main;min-width:0}.home-side{grid-area:side;min-width:0;display:flex;flex-direction:column;gap:var(--space-4, 16px)}.home-clock .card,.home-side .card{margin-bottom:0}@media(min-width:1000px){.home-grid{grid-template-columns:minmax(0,1fr) minmax(280px,340px);grid-template-areas:"main clock" "main side";grid-template-rows:auto 1fr}.home-side{align-self:start;position:sticky;top:var(--space-4, 16px)}}.home-board .home-card-head{align-items:center}.home-status-strip{display:flex;flex-wrap:wrap;gap:var(--space-2, 8px);margin-top:var(--space-2, 8px)}.home-board-list{list-style:none;margin:0;padding:0}.home-board-list>li{display:grid;grid-template-columns:7.5rem minmax(0,1fr) auto auto;align-items:center;gap:var(--space-3, 12px);padding:var(--space-2, 8px) 0;border-top:1px solid var(--color-border);font-size:var(--text-base, 14px)}.home-board-list>li:first-child{border-top:0}.home-board-list>li.is-done .home-board-title{color:var(--color-text-muted);text-decoration:line-through}.home-board-when{color:var(--color-text-muted);font-size:var(--text-sm, 13px);font-variant-numeric:tabular-nums}.home-board-what{display:flex;flex-direction:column;min-width:0}.home-board-what .meta{color:var(--color-text-muted);font-size:var(--text-sm, 13px);overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.home-board-title{font-weight:var(--weight-semibold, 600);color:var(--color-text);text-decoration:none}.home-board-title:hover{text-decoration:underline}.home-board-who{font-size:var(--text-sm, 13px);color:var(--color-text-muted);white-space:nowrap}@media(max-width:719px){.home-board-list>li{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"what status" "when who";row-gap:2px}.home-board-what{grid-area:what}.home-board-status{grid-area:status}.home-board-when{grid-area:when}.home-board-who{grid-area:who}}.home-attention-grid{display:grid;gap:var(--space-4, 16px);grid-template-columns:repeat(auto-fill,minmax(min(100%,300px),1fr));align-items:start;margin-bottom:var(--space-4, 16px)}.home-attention-grid>.card{margin:0;scroll-margin-top:var(--space-8, 40px)}.home-attention-icon{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:var(--radius-sm, 6px);background:var(--color-surface-alt, #eceff3);color:var(--color-text-muted);flex-shrink:0}.home-attention--danger .home-attention-icon{background:var(--color-danger-bg);color:var(--color-danger-text)}.home-attention--warning .home-attention-icon{background:var(--color-warning-bg);color:var(--color-warning-text)}.home-attention--info .home-attention-icon{background:var(--color-info-bg);color:var(--color-info-text)}.home-attention--danger .home-count{background:var(--color-danger-bg);color:var(--color-danger-text)}#clocked-in,#today-board{scroll-margin-top:var(--space-8, 40px)}.home-people>li{flex-direction:row;align-items:center;gap:var(--space-3, 12px)}.home-people-text{display:flex;flex-direction:column;min-width:0}.home-people-text a{font-weight:var(--weight-medium, 500)}.home-avatar{display:inline-flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:50%;background:var(--color-accent-soft, #fef3c7);color:var(--color-text);font-size:var(--text-sm, 13px);font-weight:var(--weight-semibold, 600);flex-shrink:0}.home-completed>.button-ghost:first-child{width:100%;justify-content:flex-start}.clock-card-row{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3, 12px)}.clock-card-status{display:flex;align-items:center;gap:var(--space-2, 8px)}.clock-card-dot{width:10px;height:10px;border-radius:50%;background:var(--color-border-strong, #d0d5dd);flex-shrink:0}.clock-card-dot--on{background:var(--color-success);box-shadow:0 0 0 3px color-mix(in srgb,var(--color-success) 20%,transparent)}.rn{display:flex;flex-direction:column;gap:var(--space-3, 12px);padding:var(--space-4, 16px);border:1px solid var(--color-border);border-left:4px solid var(--color-accent);border-radius:var(--radius-lg, 12px);background:var(--color-surface);box-shadow:var(--shadow-sm, 0 1px 3px rgba(16, 24, 40, .08));margin-bottom:var(--space-4, 16px)}.rn--on{border-left-color:var(--color-success)}.rn-top{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-2, 8px)}.rn-eyebrow{font-size:var(--text-xs, 12px);font-weight:var(--weight-semibold, 600);letter-spacing:.06em;text-transform:uppercase;color:var(--color-text-muted)}.rn-status{display:inline-flex;align-items:center;gap:6px;padding:2px 10px;border-radius:var(--radius-pill, 999px);background:var(--color-surface-alt, #eceff3);color:var(--color-text-muted);font-size:var(--text-sm, 13px);font-weight:var(--weight-medium, 500)}.rn-status-dot{width:8px;height:8px;border-radius:50%;background:currentColor;opacity:.6}.rn-status--on{background:var(--color-success-bg);color:var(--color-success-text)}.rn-status--on .rn-status-dot{opacity:1}.rn-status--other{background:var(--color-info-bg);color:var(--color-info-text)}.rn-address.right-now-address{font-size:var(--text-xl, 20px);line-height:var(--leading-xl, 28px);font-weight:var(--weight-semibold, 600);color:var(--color-text);text-decoration:none}.rn-address:hover{text-decoration:underline}.rn .long-clock-in{margin:0}.rn-next{display:grid;gap:2px;padding:var(--space-3, 12px);border-radius:var(--radius, 8px);background:var(--color-surface-sunken, #f8f9fb);border:1px solid var(--color-border)}.rn-next-label{font-size:var(--text-xs, 12px);font-weight:var(--weight-semibold, 600);letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted)}.rn-next-title{font-size:var(--text-lg, 18px);line-height:var(--leading-lg, 28px);font-weight:var(--weight-semibold, 600)}.rn-next-meta{font-size:var(--text-sm, 13px);color:var(--color-text-muted)}.rn-next-meta:empty{display:none}.rn .rn-primary{display:flex;align-items:center;justify-content:center;gap:var(--space-2, 8px);width:100%;min-height:56px;padding:0 var(--space-4, 16px);border-radius:var(--radius, 8px);font-size:var(--text-lg, 18px);font-weight:var(--weight-semibold, 600);text-decoration:none;text-transform:none;letter-spacing:0;white-space:normal;line-height:1.2;text-align:center}.rn .rn-primary--out{background:var(--color-nav-bg);border:1px solid var(--color-nav-bg);color:var(--color-nav-text)}.rn .rn-primary--out:hover{filter:brightness(1.1)}.rn-actions{display:grid;grid-template-columns:repeat(auto-fit,minmax(5.5rem,1fr));gap:var(--space-2, 8px)}.rn .rn-action{min-height:56px;font-size:var(--text-sm, 13px);font-weight:var(--weight-medium, 500);text-transform:none;letter-spacing:0;border-radius:var(--radius, 8px)}.rn .rn-switch{align-self:flex-start;min-height:40px}.rn>p{margin:0}.rn-empty{color:var(--color-text-muted);font-size:var(--text-base, 14px)}.rn .clock-card{margin:0;border:0;padding:0;box-shadow:none}.rn-skel-line{display:block;width:60%;height:20px}.rn-skel-button{display:block;width:100%;height:56px;border-radius:var(--radius, 8px)}.ft-section{margin-bottom:var(--space-4, 16px)}.ft-later-title{margin-top:var(--space-6, 24px)}.ft-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2, 8px)}.ft-row{display:flex;align-items:center;gap:var(--space-3, 12px);padding:var(--space-3, 12px);border:1px solid var(--color-border);border-left:3px solid var(--color-border-strong, #d0d5dd);border-radius:var(--radius, 8px);background:var(--color-surface)}.ft-row--active{border-left-color:var(--color-info)}.ft-row--alert{border-left-color:var(--color-danger)}.ft-main{flex:1;min-width:0;display:flex;flex-direction:column;gap:4px}.ft-main .ft-title{align-self:flex-start;font-size:var(--text-md, 16px);font-weight:var(--weight-semibold, 600);line-height:1.3;text-align:left;color:var(--color-text);text-decoration:none}.ft-main a.ft-title:hover{text-decoration:underline}.ft-badges{display:flex;flex-wrap:wrap;gap:4px}.ft-meta{font-size:var(--text-sm, 13px);color:var(--color-text-muted)}.ft-meta a{color:var(--color-text);font-weight:var(--weight-medium, 500)}.ft-row .ft-start{flex-shrink:0;min-width:88px;min-height:48px}.sync-offline{display:flex;align-items:center;gap:var(--space-2, 8px);padding:var(--space-3, 12px) var(--space-4, 16px);margin-bottom:var(--space-4, 16px);border-radius:var(--radius, 8px);border:1px solid color-mix(in srgb,var(--color-warning) 35%,transparent);background:var(--color-warning-bg);color:var(--color-warning-text);font-size:var(--text-base, 14px)}.sync-item{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-2, 8px) var(--space-4, 16px);align-items:center;margin:0}.sync-item-title{font-size:var(--text-md, 16px);font-weight:var(--weight-semibold, 600)}.sync-item-reason{display:flex;align-items:flex-start;gap:6px;margin-top:4px;color:var(--color-danger-text);font-size:var(--text-base, 14px)}@media(max-width:719px){.sync-item{grid-template-columns:minmax(0,1fr)}.sync-item .sync-failed-actions>button{flex:1;min-height:48px}}.todo-add{display:grid;gap:var(--space-3, 12px)}.todo-add-row{display:flex;gap:var(--space-2, 8px);align-items:stretch}.todo-add-row>input{flex:1;min-width:0}.todo-add-more{display:grid;grid-template-columns:repeat(auto-fit,minmax(12rem,1fr));gap:var(--space-3, 12px);align-items:end}.todo-chips{display:flex;flex-wrap:wrap;gap:var(--space-2, 8px)}.home-chip{display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 var(--space-3, 12px);border:1px solid var(--color-border-strong, #d0d5dd);border-radius:var(--radius-pill, 999px);background:var(--color-surface);color:var(--color-text);font-size:var(--text-sm, 13px);font-weight:var(--weight-medium, 500);text-transform:none;letter-spacing:0;cursor:pointer}.home-chip[aria-pressed=true],.home-chip:has(input:checked){background:var(--color-accent-soft, #fef3c7);border-color:var(--color-accent-border, var(--color-accent));color:var(--color-text)}.home-chip:has(input:focus-visible){outline:2px solid var(--color-accent);outline-offset:2px}.home-chip input{position:absolute;opacity:0;width:1px;height:1px;pointer-events:none}.home-chip .home-count{height:18px;min-width:18px;padding:0 6px;background:var(--color-surface-alt, #eceff3)}@media(pointer:coarse){.home-chip{min-height:44px}}.todo-row{display:flex;align-items:flex-start;gap:var(--space-3, 12px);padding:var(--space-3, 12px) 0;border-top:1px solid var(--color-border)}.todo-list>.todo-row:first-child{border-top:0;padding-top:0}.todo-row .todo-check input{width:20px;height:20px;margin-top:2px}.todo-row .todo-body{flex:1;min-width:0}.todo-row .todo-title{font-weight:var(--weight-medium, 500)}.todo-due--late{color:var(--color-danger-text);font-weight:var(--weight-medium, 500)}.todo-group-overdue .home-card-title{color:var(--color-danger-text)}.req-layout{display:grid;gap:var(--space-6, 24px);grid-template-columns:minmax(0,1fr)}@media(min-width:1000px){.req-layout--with-history{grid-template-columns:minmax(0,520px) minmax(0,1fr);align-items:start}}.req-form fieldset{border:0;margin:0;padding:0;min-width:0}.req-form legend{padding:0;margin-bottom:var(--space-2, 8px);font-size:var(--text-base, 14px);font-weight:var(--weight-medium, 500)}.req-from{display:flex;align-items:center;gap:6px;font-size:var(--text-sm, 13px);color:var(--color-text-muted)}.req-from code{font-family:var(--font-mono, monospace);font-size:var(--text-xs, 12px);background:var(--color-surface-alt, #eceff3);padding:1px 6px;border-radius:var(--radius-xs, 4px)}.req-history-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-3, 12px)}.req-history-item{margin:0}.req-history-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px var(--space-2, 8px);margin-bottom:var(--space-2, 8px);font-size:var(--text-sm, 13px);color:var(--color-text-muted)}.req-history-item .request-text{white-space:pre-wrap;overflow-wrap:anywhere}.taskcard-site{margin:-.25rem 0 1rem}.taskcard .form-inline{margin-bottom:1rem}.taskcard .form-inline>label{flex:1 1 10rem}.taskcard .form-inline input[type=text],.taskcard .form-inline input[type=number],.taskcard .form-inline input[type=date],.taskcard .form-inline select{width:100%}.taskcard-description{margin-bottom:1rem}.taskcard .form-inline>label:has(textarea){flex-basis:100%}.taskcard-section{border-top:1px solid var(--color-border);padding-top:.75rem;margin-bottom:1rem}.taskcard-section-title{margin:0 0 .5rem;padding:0;border:none;font-size:var(--text-sm, 13px);font-weight:600;color:var(--color-text)}.taskcard .taskcard-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(9.5rem,1fr));gap:.75rem;margin-bottom:.75rem}.taskcard .taskcard-grid input:not([type=checkbox]),.taskcard .taskcard-grid select{width:100%}.taskcard .taskcard-grid .task-private-toggle{grid-column:1 / -1;flex-direction:row}.taskcard-description-text{margin:0 0 1rem;line-height:1.5;white-space:pre-wrap}.taskcard-facts{margin-bottom:1rem}.taskcard-link{display:inline;min-height:0;padding:0;border:none;background:none;font:inherit;font-weight:700;text-transform:none;letter-spacing:normal;white-space:normal;text-align:left;color:var(--color-info);cursor:pointer}.taskcard-link:hover{text-decoration:underline}.board-card .taskcard-link{display:block;width:100%;font-weight:600;color:var(--color-text);overflow-wrap:anywhere;cursor:inherit}.board-card .taskcard-link:focus-visible{outline:2px solid var(--color-info);outline-offset:1px}.taskcard-add-button{margin-bottom:1rem}.taskform-footer{display:flex;flex-direction:column;gap:.75rem;position:sticky;bottom:0;z-index:2;margin-top:var(--space-2, 8px);padding:var(--space-3, 12px) 0;background:var(--color-surface);border-top:1px solid var(--color-border)}.taskform-section-title{margin:var(--space-2, 8px) 0 calc(-1 * var(--space-1, 4px));font-size:var(--text-sm, 13px);font-weight:600;color:var(--color-text-muted)}.taskform-section-title:first-child,.taskform-section-title:first-of-type{margin-top:0}.taskcard-footer{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3, 12px);flex-wrap:wrap}.taskcard-save-state{margin:0}.table-scroll-top{overflow-x:auto;overflow-y:hidden;height:14px;margin-bottom:.25rem}.table-scroll-top[hidden]{display:none}.table-scroll--top-bar::-webkit-scrollbar{width:10px;height:0}.table-scroll--top-bar::-webkit-scrollbar-thumb{background:var(--color-border-strong);border-radius:5px}.table-scroll--top-bar::-webkit-scrollbar-track{background:transparent}.dialog.dialog--site{width:min(1100px,100%)}.dialog.dialog--fullscreen{width:100%;max-width:none;height:calc(100vh - 2rem);height:calc(100dvh - 2rem);max-height:calc(100vh - 2rem);max-height:calc(100dvh - 2rem)}.dialog-header-actions{display:flex;align-items:center;gap:.25rem;flex-shrink:0}.dialog-header-button{min-height:36px;padding:0 .6rem;border-color:transparent;font-size:.8rem;white-space:nowrap}.dialog-header-button:hover{border-color:var(--color-border-strong)}.new-user-result{display:flex;flex-direction:column;gap:.75rem;margin-bottom:1rem}.new-user-result dl{display:grid;grid-template-columns:auto 1fr;gap:.5rem .75rem;align-items:center;margin:0}.new-user-result dt{color:var(--color-text-muted);font-size:.9rem}.new-user-result dd{margin:0;min-width:0;overflow-wrap:anywhere}.temp-password-row{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.temp-password-row input{flex:1 1 10rem;min-width:0;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:1rem;padding:.45rem .6rem;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm);background:var(--color-surface-sunken);color:var(--color-text)}.new-user-result .meta{margin:0}.link-button{min-height:0;padding:0;border:none;background:none;color:var(--color-info);font:inherit;font-weight:600;text-transform:none;letter-spacing:0;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.user-row-inactive td{color:var(--color-text-muted)}.user-detail-meta{margin:-.25rem 0 1rem;color:var(--color-text-muted);overflow-wrap:anywhere}.user-detail-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(11rem,1fr));gap:.75rem 1rem;align-items:end}.form label.user-detail-check{flex-direction:row;align-items:center;gap:.5rem;color:var(--color-text);font-weight:600;min-height:44px}.user-detail-account{margin-top:1.25rem;padding-top:1rem;border-top:1px solid var(--color-border)}.user-detail-account h3{margin:0 0 .75rem;font-size:.95rem}.taskboard{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;align-items:start}.taskboard-hint{margin:0 0 .75rem}.taskboard-column{background:var(--color-surface-sunken);border:1px solid var(--color-border);border-radius:var(--radius);padding:.6rem;min-height:6rem;display:flex;flex-direction:column;gap:.5rem}.taskboard-column.is-over{outline:3px dashed var(--color-accent);outline-offset:-3px;background:var(--color-warning-bg)}.taskboard-column-title{margin:0;font-size:var(--text-sm, 13px);font-weight:600;color:var(--color-text);display:flex;align-items:center;gap:.4rem}.taskboard-column-count{font-size:12px;font-weight:600;min-width:20px;padding:0 6px;border-radius:999px;background:var(--color-neutral-bg);color:var(--color-neutral-text);text-align:center}.taskboard-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-xs, 0 1px 2px rgba(0, 0, 0, .05));padding:var(--space-3, 12px);display:flex;flex-direction:column;gap:.35rem;text-align:left}.taskboard-card--draggable{cursor:grab}.taskboard-card.is-dragging{opacity:.4}.taskboard-card.is-lifted{box-shadow:0 8px 20px #00000040;cursor:grabbing}.taskboard-card:focus-visible{outline:3px solid var(--color-accent);outline-offset:2px}.taskboard-card-title{font-weight:700}.taskboard-card-flags{display:flex;flex-wrap:wrap;gap:.3rem;align-items:center}.taskboard-card-meta{font-size:.8rem;color:var(--color-text-muted)}.taskboard-card-actions{display:flex;gap:.4rem}.taskboard-empty{font-size:.8rem;color:var(--color-text-muted);margin:0}.task-row-status{display:inline-block;margin-left:.35rem}.sd-hero{margin-bottom:var(--space-5, 20px)}.sd-back{display:inline-flex;align-items:center;gap:var(--space-1, 4px);margin-bottom:var(--space-2, 8px)}.sd-hero-row{display:flex;flex-wrap:wrap;align-items:flex-start;justify-content:space-between;gap:var(--space-4, 16px)}.sd-hero-text{min-width:0;flex:1 1 420px}.sd-title{margin:var(--space-1, 4px) 0 0;font-size:var(--text-2xl, 24px);line-height:1.25;font-weight:650;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2, 8px);overflow-wrap:anywhere}.sd-subline{margin:var(--space-1, 4px) 0 0;font-size:var(--text-md, 16px);color:var(--color-text);font-weight:500}.sd-hero-meta{display:flex;flex-wrap:wrap;gap:var(--space-2, 8px) var(--space-4, 16px);margin-top:var(--space-2, 8px);color:var(--color-text-muted);font-size:var(--text-sm, 13px)}.sd-meta-item{display:inline-flex;align-items:center;gap:6px}.sd-meta-item strong{color:var(--color-text);font-weight:600}.sd-hero-pills{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2, 8px) var(--space-3, 12px);margin-top:var(--space-3, 12px)}.sd-stage-pill{display:inline-flex;align-items:center;gap:var(--space-2, 8px);min-height:32px;padding:2px 4px 2px 10px;background:var(--color-surface);border:1px solid var(--color-border);border-radius:999px;box-shadow:none;font:inherit;color:var(--color-text-muted);cursor:pointer}.sd-stage-pill:hover{border-color:var(--color-border-strong);background:var(--color-surface-hover, var(--color-surface))}.sd-stage-pill .badge{border-radius:999px}.sd-stage-pill-label{font-size:var(--text-xs, 12px);font-weight:600;text-transform:uppercase;letter-spacing:.04em}.sd-inspection{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-sm, 13px);color:var(--color-text)}.sd-inspection .ui-icon{color:var(--color-text-muted);flex-shrink:0}.sd-muted{color:var(--color-text-muted)}.sd-hero-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2, 8px)}.sd-hero-actions>.button-link,.sd-hero-actions>button{display:inline-flex;align-items:center;gap:6px}.sd-more{position:relative}.sd-more-menu{position:absolute;right:0;top:calc(100% + 4px);z-index:15;min-width:180px;padding:var(--space-1, 4px);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius, 8px);box-shadow:var(--shadow-md, 0 4px 12px rgba(0, 0, 0, .1))}.sd-more-menu button{display:block;width:100%;text-align:left;background:transparent;border:0;box-shadow:none;justify-content:flex-start}.sd-more-menu button:hover{background:var(--color-surface-hover, var(--color-neutral-bg))}.sd-layout{display:flex;flex-direction:column;gap:var(--space-4, 16px)}.sd-main{min-width:0}.sd-side{display:flex;flex-direction:column;gap:var(--space-4, 16px);min-width:0}.sd-side>*{margin:0}.sd-side .card{margin-bottom:0}.sd-facts{display:none}.sd-facts-list{display:grid;grid-template-columns:minmax(90px,auto) 1fr;gap:var(--space-2, 8px) var(--space-3, 12px);margin:0;font-size:var(--text-sm, 13px)}.sd-facts-list dt{color:var(--color-text-muted)}.sd-facts-list dd{margin:0;overflow-wrap:anywhere}@media(min-width:1024px){.sd-layout{display:grid;grid-template-columns:minmax(0,1fr) 340px;align-items:start;gap:var(--space-6, 24px)}.sd-main{grid-column:1;grid-row:1}.sd-side{grid-column:2;grid-row:1}.sd-root:not(.sd-root--dialog) .sd-side{position:sticky;top:calc(var(--shell-topbar-h, 56px) + var(--space-4, 16px));max-height:calc(100vh - var(--shell-topbar-h, 56px) - var(--space-6, 24px));max-height:calc(100dvh - var(--shell-topbar-h, 56px) - var(--space-6, 24px));overflow-y:auto}.sd-root--dialog .sd-layout{grid-template-columns:minmax(0,1fr) 300px}.sd-facts{display:block}}.sd-tabs{margin-bottom:var(--space-4, 16px);background:var(--color-bg)}@media(min-width:721px){.sd-root:not(.sd-root--dialog) .sd-tabs{position:sticky;top:var(--shell-topbar-h, 56px);z-index:5}}.sd-tabpanel>.card,.sd-tabpanel>section{margin-bottom:var(--space-4, 16px)}.sd-count{margin-left:var(--space-1, 4px);font-size:var(--text-sm, 13px);font-weight:500;color:var(--color-text-muted)}.sd-card-actions{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2, 8px)}.sd-segmented{display:inline-flex;padding:2px;border:1px solid var(--color-border);border-radius:var(--radius, 8px);background:var(--color-surface-sunken, var(--color-bg))}.sd-segmented button{min-height:30px;padding:0 10px;border:0;border-radius:calc(var(--radius, 8px) - 2px);background:transparent;box-shadow:none;font-size:var(--text-sm, 13px);color:var(--color-text-muted)}.sd-segmented button[aria-pressed=true]{background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-xs, 0 1px 2px rgba(0, 0, 0, .06));font-weight:600}@media(pointer:coarse){.sd-segmented button{min-height:40px}}.sd-progress{padding-bottom:var(--space-3, 12px)}.sd-stepper-summary{margin:0 0 var(--space-3, 12px);font-size:var(--text-sm, 13px);color:var(--color-text-muted)}.sd-stepper-summary strong{color:var(--color-text)}.sd-stepper{list-style:none;margin:0;padding:0 0 var(--space-2, 8px);display:grid;grid-auto-flow:column;grid-auto-columns:minmax(120px,1fr);overflow-x:auto;scroll-snap-type:x proximity}.sd-step{position:relative;display:flex;flex-direction:column;align-items:flex-start;gap:2px;padding:0 var(--space-3, 12px) 0 0;scroll-snap-align:start;font-size:var(--text-sm, 13px)}.sd-step:not(:last-child):after{content:"";position:absolute;top:13px;left:30px;right:4px;height:2px;background:var(--color-border)}.sd-step--passed:not(:last-child):after{background:var(--color-success)}.sd-step-dot{position:relative;z-index:1;display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;margin-bottom:4px;border-radius:999px;border:2px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text-muted);font-size:12px;font-weight:700}.sd-step--passed .sd-step-dot{background:var(--color-success);border-color:var(--color-success);color:#fff}.sd-step--failed .sd-step-dot{background:var(--color-danger);border-color:var(--color-danger);color:#fff}.sd-step--scheduled .sd-step-dot,.sd-step--submitted .sd-step-dot{border-color:var(--color-info);color:var(--color-info-text)}.sd-step--waiting_county .sd-step-dot{border-color:var(--color-warning);color:var(--color-warning-text)}.sd-step.is-current .sd-step-dot{box-shadow:0 0 0 4px var(--color-accent-soft, var(--color-info-bg));border-color:var(--color-accent)}.sd-step.sd-step--failed.is-current .sd-step-dot{box-shadow:0 0 0 4px var(--color-danger-bg);border-color:var(--color-danger)}.sd-step-label{font-weight:600;color:var(--color-text);line-height:1.3}.sd-step-state{color:var(--color-text-muted);font-size:var(--text-xs, 12px)}.sd-step--failed .sd-step-state{color:var(--color-danger-text);font-weight:600}.sd-step-date{font-size:var(--text-xs, 12px);color:var(--color-text-muted);font-variant-numeric:tabular-nums}.sd-milestone-cards{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:var(--space-3, 12px)}.sd-milestone-card{padding:var(--space-3, 12px);border:1px solid var(--color-border);border-left:4px solid var(--color-border-strong);border-radius:var(--radius, 8px);display:grid;gap:var(--space-2, 8px)}.sd-milestone-card--passed{border-left-color:var(--color-success)}.sd-milestone-card--failed{border-left-color:var(--color-danger)}.sd-milestone-card--scheduled,.sd-milestone-card--submitted{border-left-color:var(--color-info)}.sd-milestone-card--waiting_county{border-left-color:var(--color-warning)}.sd-milestone-card-title{font-weight:650;font-size:var(--text-md, 16px)}.sd-milestone-card .status-cell{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2, 8px)}.sd-milestone-card .status-cell select{flex:1 1 160px}.sd-milestone-card-facts{display:grid;gap:var(--space-2, 8px);margin:0}.sd-milestone-card-facts>div{display:grid;grid-template-columns:110px 1fr;align-items:center;gap:var(--space-2, 8px)}.sd-milestone-card-facts dt{color:var(--color-text-muted);font-size:var(--text-sm, 13px)}.sd-milestone-card-facts dd{margin:0;min-width:0}.sd-milestone-card-facts input{width:100%;min-width:0!important}.sd-clock{display:flex;flex-direction:column;align-items:stretch;gap:var(--space-3, 12px);margin:0}.sd-clock-head{display:flex;align-items:center;justify-content:space-between;gap:var(--space-2, 8px)}.sd-clock-title{display:inline-flex;align-items:center;gap:6px;font-weight:650}.sd-clock-pill{display:inline-flex;align-items:center;padding:2px 10px;border-radius:999px;font-size:var(--text-xs, 12px);font-weight:600;background:var(--color-neutral-bg);color:var(--color-neutral-text)}.sd-clock-pill--here{background:var(--color-success-bg);color:var(--color-success-text)}.sd-clock-pill--elsewhere{background:var(--color-warning-bg);color:var(--color-warning-text)}.sd-clock label,.sd-clock input[type=text]{width:100%}.sd-clock-elapsed{margin:0}.sd-clock-elapsed strong{font-size:var(--text-xl, 20px);font-variant-numeric:tabular-nums}.sd-clock .sd-clock-button{width:100%;min-height:48px;font-size:var(--text-md, 16px)}.sd-clock .clock-widget-checkout .action-group{display:flex;flex-wrap:wrap;gap:var(--space-2, 8px)}@media(max-width:720px){.sd-clock .sd-clock-button{min-height:52px}}.sd-tasks .taskcard-add-button{display:inline-flex;align-items:center;gap:6px;margin:0}.sd-task-list>li{padding:var(--space-3, 12px);border:1px solid var(--color-border);border-radius:var(--radius, 8px);margin-bottom:var(--space-2, 8px);display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2, 8px)}.sd-task-list>li.sd-task-empty{border:0;padding:0}.sd-task-list .taskboard-card-flags,.sd-task-list .taskboard-card-title,.sd-task-list .taskboard-card-meta{flex:1 1 100%}.sd-task-list .taskboard-card-title{font-size:var(--text-md, 16px);font-weight:600}.sd-task-list .task-row-status{flex:1 1 140px;margin:0}.sd-task-list .task-row-status select{width:100%;min-height:44px}.sd-task-list>li>button{min-height:44px}.sd-plan .card-header .button-sm,.sd-hero-actions .button-icon{display:inline-flex;align-items:center;justify-content:center;gap:6px}.sd-plan-upload{margin-top:var(--space-3, 12px)}.sd-disclosure{margin:var(--space-3, 12px) 0;border:1px solid var(--color-border);border-radius:var(--radius, 8px);padding:var(--space-2, 8px) var(--space-3, 12px)}.sd-disclosure>summary{cursor:pointer;font-weight:600;min-height:32px;display:flex;align-items:center}.sd-disclosure[open]>summary{margin-bottom:var(--space-2, 8px)}.sd-parts-add{margin-top:var(--space-3, 12px);padding-top:var(--space-3, 12px);border-top:1px solid var(--color-border)}.sd-composer{display:grid;gap:var(--space-2, 8px);padding:var(--space-3, 12px);margin-bottom:var(--space-4, 16px);background:var(--color-surface-sunken, var(--color-bg));border:1px solid var(--color-border);border-radius:var(--radius, 8px)}.sd-composer .form{margin:0}.sd-composer-note input{flex:1 1 240px}.sd-composer-photo{font-size:var(--text-sm, 13px)}.sd-activity .activity-list img.sd-activity-thumb{max-width:160px;max-height:120px;object-fit:cover;border-radius:var(--radius-sm, 6px);margin-top:var(--space-1, 4px)}.sd-show-all{margin-top:var(--space-2, 8px)}.sd-skel-gap{display:block;margin-top:var(--space-3, 12px)}.sd-action-bar .action-bar-buttons{grid-auto-columns:minmax(0,1fr)}.sd-action-bar .sd-action-clock{grid-column:span 2;flex-direction:row;gap:var(--space-2, 8px);font-size:var(--text-md, 16px);font-weight:650}.sd-action-clock-text{display:flex;flex-direction:column;align-items:flex-start;line-height:1.2}.sd-action-clock-time{font-size:var(--text-xs, 12px);font-weight:500;opacity:.85;font-variant-numeric:tabular-nums}@media(max-width:720px){.sd-hero-actions{width:100%}.sd-hero-actions>.button-link,.sd-hero-actions>button{flex:1 1 auto;justify-content:center}.sd-title{font-size:var(--text-xl, 20px)}.sd-subline,.sd-inspection{font-size:var(--text-md, 16px)}}@media print{.sd-tabs,.sd-hero-actions{display:none}}@media(max-width:720px){.sd-root:not(.sd-root--dialog) .sd-clock .sd-clock-button{display:none}.sd-root:not(.sd-root--dialog) .sd-clock{padding:var(--space-3, 12px) var(--space-4, 16px);gap:var(--space-2, 8px)}}#site-clock,#site-parts-needed{scroll-margin-top:calc(var(--shell-topbar-h, 56px) + var(--space-3, 12px))}.sd-parts-list>li{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2, 8px);padding:var(--space-2, 8px) 0;border-bottom:1px solid var(--color-border)}.sd-parts-list>li>label{flex:1 1 200px;display:flex;align-items:flex-start;gap:var(--space-2, 8px);min-width:0}.sd-parts-list>li>button{margin-left:auto}.sd-newtask{max-width:760px}.sd-newtask-link{margin-top:var(--space-3, 12px)}.sd-print-toolbar{position:sticky;top:var(--shell-topbar-h, 56px);z-index:5;padding:var(--space-3, 12px) var(--space-4, 16px);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius, 8px);box-shadow:var(--shadow-xs, 0 1px 2px rgba(0, 0, 0, .05))}.sd-print-toolbar>button{margin-left:auto}.action-bar-message-link{display:inline;min-height:0;padding:0;border:0;background:none;box-shadow:none;color:inherit;font:inherit;font-weight:600;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.menu-button{position:relative;display:inline-flex}.menu-popover{position:absolute;top:calc(100% + 4px);z-index:var(--z-dropdown, 20);min-width:15rem;padding:var(--space-1, 4px);display:flex;flex-direction:column;background:var(--color-surface-raised, var(--color-surface));border:1px solid var(--color-border);border-radius:var(--radius, 8px);box-shadow:var(--shadow-lg, 0 12px 16px -4px rgb(16 24 40 / .1))}.menu-popover--end{right:0}.menu-popover--start{left:0}.menu-popover .menu-item{display:flex;align-items:flex-start;justify-content:flex-start;gap:var(--space-3, 12px);width:100%;min-height:36px;padding:var(--space-2, 8px) var(--space-3, 12px);border:0;border-radius:var(--radius-sm, 6px);background:none;box-shadow:none;color:var(--color-text);font-size:var(--text-base, 14px);font-weight:500;text-align:left;text-decoration:none;white-space:normal;cursor:pointer}.menu-popover .menu-item .ui-icon{margin-top:1px;color:var(--color-text-muted)}.menu-popover .menu-item:hover:not(:disabled),.menu-popover .menu-item:focus-visible{background:var(--color-surface-hover, var(--color-surface-sunken));outline:none}.menu-popover .menu-item:focus-visible{box-shadow:inset 0 0 0 2px var(--color-focus, var(--color-info))}.menu-popover .menu-item:disabled{opacity:.5;cursor:not-allowed}.menu-popover .menu-item--danger,.menu-popover .menu-item--danger .ui-icon{color:var(--color-danger-text)}.menu-item-text{display:flex;flex-direction:column;gap:1px}.menu-item-hint{font-size:var(--text-xs, 12px);font-weight:400;color:var(--color-text-muted)}.menu-separator{height:1px;margin:var(--space-1, 4px) 0;background:var(--color-border)}.popover{position:relative;display:inline-flex}.popover-scrim{display:none}.popover-panel{position:absolute;top:calc(100% + 6px);z-index:var(--z-dropdown, 20);width:max-content;min-width:16rem;max-width:min(28rem,calc(100vw - 32px));background:var(--color-surface-raised, var(--color-surface));border:1px solid var(--color-border);border-radius:var(--radius, 8px);box-shadow:var(--shadow-lg, 0 12px 16px -4px rgb(16 24 40 / .1));animation:sites-pop-in var(--dur, .18s) var(--ease-emphasized, ease-out)}.popover-panel--start{left:0}.popover-panel--end{right:0}.popover-head{padding:var(--space-3, 12px) var(--space-4, 16px) 0}.popover-title{font-size:var(--text-sm, 13px);font-weight:600;color:var(--color-text-muted)}.popover-body{padding:var(--space-3, 12px) var(--space-4, 16px) var(--space-4, 16px);max-height:min(70vh,34rem);max-height:min(70dvh,34rem);overflow-y:auto}.popover-body>.column-view-panel{margin:0;padding:0;border:0;box-shadow:none;background:none;max-width:none;min-width:18rem}@keyframes sites-pop-in{0%{opacity:0;transform:translateY(-4px)}}@media(prefers-reduced-motion:reduce){.popover-panel{animation:none!important}}@media(max-width:720px){.popover-scrim{display:block;position:fixed;top:0;right:0;bottom:0;left:0;z-index:70;background:var(--color-scrim, rgb(16 24 40 / .45))}.popover-panel,.popover-panel--end,.popover-panel--start{position:fixed;left:0;right:0;top:auto;bottom:0;z-index:71;width:auto;max-width:none;border-radius:var(--radius-xl, 16px) var(--radius-xl, 16px) 0 0;padding-bottom:env(safe-area-inset-bottom);animation:sites-sheet-in var(--dur-slow, .28s) var(--ease-emphasized, ease-out)}.popover-head{padding-top:var(--space-4, 16px);text-align:center}.popover-head:before{content:"";display:block;width:32px;height:4px;margin:0 auto var(--space-3, 12px);border-radius:999px;background:var(--color-border-strong)}.popover-title{font-size:var(--text-md, 16px);color:var(--color-text)}.popover-body{max-height:70vh;max-height:70dvh}@keyframes sites-sheet-in{0%{transform:translateY(100%)}}}.sites-page .ui-page-header{margin-bottom:var(--space-4, 16px)}.sites-page .ui-page-tabs{margin-top:var(--space-3, 12px)}.sites-callout{display:flex;align-items:center;gap:var(--space-2, 8px);margin:0 0 var(--space-3, 12px)}.sites-page .sites-toolbar{margin-bottom:var(--space-3, 12px)}.sites-toolbar .sites-filter-bar{display:grid;grid-template-columns:minmax(14rem,26rem) 1fr;grid-template-areas:"search end" "rail rail";align-items:center;gap:var(--space-3, 12px);margin:0}.sites-toolbar .sfb-search{grid-area:search}.sites-toolbar .sfb-end{grid-area:end;display:flex;align-items:center;justify-content:flex-end;gap:var(--space-3, 12px);min-width:0}.sites-toolbar .sfb-rail{grid-area:rail}.sfb-search{position:relative;flex:1 1 18rem;max-width:26rem;min-width:14rem}.sfb-search-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--color-text-muted);pointer-events:none}.sites-filter-bar .sfb-search input[type=search]{width:100%;max-width:none;min-width:0;min-height:var(--control-h-lg, 40px);padding-left:38px;font-size:var(--text-base, 14px);border-radius:var(--radius-sm, 6px);background:var(--color-surface)}.sfb-rail{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2, 8px);min-width:0}.sfb-rail-label{display:inline-flex;color:var(--color-text-subtle, var(--color-text-muted))}.sfb-chip{position:relative;display:inline-flex;align-items:center;flex:none;min-height:32px;border:1px dashed var(--color-border-strong);border-radius:999px;background:var(--color-surface);color:var(--color-text-muted);transition:border-color var(--dur-fast, .12s) var(--ease-out, ease),background-color var(--dur-fast, .12s) var(--ease-out, ease)}.sfb-chip:hover{border-color:var(--color-border-hover, var(--color-text-muted));color:var(--color-text)}.sfb-chip.is-active{border-style:solid;border-color:var(--color-accent-border, var(--color-accent));background:var(--color-accent-soft, var(--color-surface-sunken));color:var(--color-text)}.sfb-chip:focus-within{outline:2px solid var(--color-focus, var(--color-info));outline-offset:2px}.sfb-chip-face{display:inline-flex;align-items:center;gap:6px;padding:0 10px 0 12px;font-size:var(--text-sm, 13px);font-weight:550;white-space:nowrap;pointer-events:none}.sfb-chip-value{max-width:12rem;overflow:hidden;text-overflow:ellipsis;font-weight:600;color:var(--color-text)}.sfb-chip.is-active .sfb-chip-label:after{content:":"}.sfb-chip-chevron{color:var(--color-text-subtle, var(--color-text-muted))}.sites-filter-bar .sfb-chip select{position:absolute;top:0;right:0;bottom:0;left:0;width:100%;height:100%;min-height:0;min-width:0;margin:0;padding:0;border:0;opacity:0;cursor:pointer;font-size:16px;-webkit-appearance:none;-moz-appearance:none;appearance:none}.sfb-chip--row{display:flex;width:100%;min-height:44px;border-style:solid;border-radius:var(--radius-sm, 6px)}.sfb-chip--row .sfb-chip-face{width:100%;justify-content:space-between;padding:0 12px}.sfb-chip--row .sfb-chip-label{flex:1;color:var(--color-text)}.sfb-chip--row.is-active .sfb-chip-label:after{content:none}.sfb-chip-any{color:var(--color-text-muted);font-weight:400}.sfb-more-list{display:flex;flex-direction:column;gap:var(--space-2, 8px);min-width:18rem}.sfb-more-actions{display:flex;justify-content:flex-end;padding-top:var(--space-1, 4px)}.sites-filter-bar button.sfb-chip-button{min-height:32px;padding:0 12px;gap:6px;border:1px dashed var(--color-border-strong);border-radius:999px;background:var(--color-surface);box-shadow:none;font-size:var(--text-sm, 13px);font-weight:550;color:var(--color-text-muted)}.sites-filter-bar button.sfb-chip-button:hover{color:var(--color-text)}.sites-filter-bar button.sfb-chip-button[aria-expanded=true]{border-style:solid;color:var(--color-text);background:var(--color-surface-hover, var(--color-surface-sunken))}.sfb-pair{display:inline-flex;align-items:center}.sfb-pair>.sfb-chip:first-child{border-top-right-radius:0;border-bottom-right-radius:0}.sfb-pair>.sfb-chip:last-child{margin-left:-1px;border-top-left-radius:0;border-bottom-left-radius:0}.sfb-pair>.sfb-chip:last-child .sfb-chip-face{padding-left:10px}.sfb-seg{display:inline-flex;flex:none;padding:2px;gap:2px;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface-alt, var(--color-surface-sunken))}.sfb-seg-option{position:relative;display:inline-flex;align-items:center;min-height:28px;padding:0 12px;border-radius:999px;font-size:var(--text-sm, 13px);font-weight:550;color:var(--color-text-muted);white-space:nowrap;cursor:pointer}.sfb-seg-option input{position:absolute;opacity:0;top:0;right:0;bottom:0;left:0;width:100%;height:100%;margin:0;cursor:pointer}.sfb-seg-option.is-checked{background:var(--color-surface);color:var(--color-text);box-shadow:var(--shadow-xs, 0 1px 2px rgb(16 24 40 / .05))}.sfb-seg-option:has(input:focus-visible){outline:2px solid var(--color-focus, var(--color-info));outline-offset:1px}.sfb-sort{display:inline-flex;gap:var(--space-2, 8px)}.sites-count{font-size:var(--text-sm, 13px);color:var(--color-text-muted);font-variant-numeric:tabular-nums;white-space:nowrap}.sites-count strong{color:var(--color-text);font-weight:650}.sites-count-muted{color:var(--color-text-subtle, var(--color-text-muted))}.sites-active-filters{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2, 8px);min-width:0;margin-bottom:var(--space-3, 12px)}.sfa-chips{display:contents;list-style:none;margin:0;padding:0}.sfa-chip{display:inline-flex;align-items:center;gap:2px;min-height:28px;padding:0 2px 0 10px;border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);font-size:var(--text-sm, 13px);color:var(--color-text);max-width:100%}.sfa-chip.is-muted{border-style:dashed;color:var(--color-text-muted)}.sfa-chip-body{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sfa-op{color:var(--color-text-muted)}.sfa-chip strong{font-weight:600}.sites-active-filters button.sfa-chip-clear{min-height:24px;min-width:24px;padding:0;border:0;border-radius:999px;background:none;box-shadow:none;color:var(--color-text-muted)}.sites-active-filters button.sfa-chip-clear:hover{background:var(--color-surface-hover, var(--color-surface-sunken));color:var(--color-text)}@media(pointer:coarse){.sites-active-filters button.sfa-chip-clear{min-height:36px;min-width:36px}}.sites-mode-bar,.sites-merge-bar{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2, 8px) var(--space-3, 12px);padding:var(--space-3, 12px) var(--space-4, 16px);margin-bottom:var(--space-3, 12px);border:1px solid var(--color-info, #2563eb);border-left-width:4px;border-radius:var(--radius, 8px);background:var(--color-info-bg);color:var(--color-text);font-size:var(--text-sm, 13px)}.sites-mode-bar-text{display:flex;flex-direction:column;flex:1 1 20rem}.sites-mode-bar-text span{color:var(--color-text-muted)}.sites-merge-bar{position:sticky;top:calc(var(--shell-topbar-h, 56px) + 8px);z-index:5;border-color:var(--color-accent-border, var(--color-accent));background:var(--color-accent-softer, var(--color-surface));box-shadow:var(--shadow-md, 0 4px 8px -2px rgb(16 24 40 / .1))}.sites-merge-bar-text{flex:1 1 16rem;font-weight:550}.sites-merge-count{margin-left:var(--space-2, 8px);font-weight:400;color:var(--color-text-muted);font-variant-numeric:tabular-nums}.sites-table-wrap{padding:0}.sites-table .sites-row.is-clickable{cursor:pointer}.sites-table .sites-row.is-picked>td{background:var(--color-accent-soft, var(--color-surface-sunken))}.sites-table tbody td,.sites-table tbody td button.cell-filter{white-space:nowrap}.sites-table.data-table--fixed-columns tbody td,.sites-table .sites-address-cell{overflow:hidden;text-overflow:ellipsis}.sites-table a.sites-address{font-weight:600;color:var(--color-text);text-decoration:none}.sites-table a.sites-address:hover,.sites-table a.sites-address:focus-visible{color:var(--color-link, var(--color-info));text-decoration:underline}.sites-table .sites-row.is-archived a.sites-address{color:var(--color-text-muted)}.sites-table .sites-cell-empty{color:var(--color-text-subtle, var(--color-text-muted))}.sites-table td .badge{white-space:nowrap}.sites-table .sites-merge-col{width:3.5rem}.sites-skeleton-row>td{padding-top:14px;padding-bottom:14px}.sites-table.is-editing .column-header{flex-direction:column;align-items:flex-start;gap:4px}.sites-table.is-editing .column-header-controls{display:inline-flex;align-items:center;gap:2px;flex-wrap:wrap}.sites-table.is-editing .column-header-controls button{min-height:28px;min-width:28px;padding:0 6px;font-size:var(--text-xs, 12px)}.sites-table .sites-col-delete{color:var(--color-danger-text)}.sites-cards .sites-card{flex-direction:row;align-items:center;gap:var(--space-3, 12px);padding:var(--space-4, 16px);min-height:72px}.sites-card-main{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.sites-cards .mobile-list-title{font-size:var(--text-lg, 18px);line-height:1.3;font-weight:650}.sites-card-customer{display:inline-flex;align-items:center;gap:6px}.sites-card-chevron{color:var(--color-text-subtle, var(--color-text-muted))}@media(max-width:720px){.sites-page .ui-page-header-row{align-items:center}.sites-page .ui-page-header-text{flex:1 1 auto}.sites-page .sites-toolbar{position:sticky;top:calc(var(--shell-topbar-h, 56px) + env(safe-area-inset-top));z-index:6;margin:0 -16px var(--space-2, 8px);padding:var(--space-2, 8px) 16px;background:var(--color-bg);border-bottom:1px solid var(--color-border)}.sites-toolbar .sites-filter-bar{grid-template-columns:minmax(0,1fr);grid-template-areas:"search" "rail" "end";gap:var(--space-2, 8px)}.sites-toolbar .sfb-end{justify-content:flex-start}.sites-page .sites-toolbar:has(.popover-panel){z-index:80}.sites-columns-slot{display:none}.sfb-search{flex:none;max-width:none;min-width:0}.sites-filter-bar .sfb-search input[type=search]{min-height:48px}.sfb-rail{flex-wrap:nowrap;overflow-x:auto;margin:0 -16px;padding:2px 16px 4px;scrollbar-width:none;-webkit-overflow-scrolling:touch}.sfb-rail::-webkit-scrollbar{display:none}.sfb-rail-label{display:none}.sfb-chip,.sites-filter-bar button.sfb-chip-button{min-height:40px}.sfb-seg-option{min-height:36px}.sfb-chip--row{min-height:52px}.sfb-more-list{min-width:0}.sfb-more-actions button{width:100%;min-height:48px}.sites-merge-bar{top:auto;position:static}}.view-switcher{gap:var(--space-2, 8px)}.view-switcher .view-tabs{flex-wrap:wrap;align-items:stretch;gap:var(--space-1, 4px);border-bottom:1px solid var(--color-border)}@media(max-width:720px){.view-switcher .view-tabs{flex-wrap:nowrap;overflow-x:auto;scrollbar-width:none}.view-switcher .view-tab-menu{position:fixed;left:0;right:0;top:auto;bottom:0;z-index:71;padding:var(--space-2, 8px) var(--space-2, 8px) calc(var(--space-2, 8px) + env(safe-area-inset-bottom));border-radius:var(--radius-xl, 16px) var(--radius-xl, 16px) 0 0;box-shadow:0 -8px 24px #10182833}.view-switcher .view-tab-menu button{min-height:48px}}.view-switcher .view-tabs::-webkit-scrollbar{display:none}.view-switcher .view-tab{flex:none;gap:2px;min-height:40px;padding:0 2px 0 var(--space-3, 12px);border:0;border-bottom:2px solid transparent;border-radius:0;background:none;box-shadow:none;margin-bottom:-1px;font-size:var(--text-base, 14px);color:var(--color-text-muted)}.view-switcher .view-tab:hover{color:var(--color-text)}.view-switcher .view-tab.is-active{background:none;border:0;border-bottom:2px solid var(--color-accent);box-shadow:none;color:var(--color-text)}.view-switcher .view-tab.is-custom{padding-right:var(--space-3, 12px)}.view-switcher .view-tab-select{min-height:36px;padding:0;border:0;background:none;box-shadow:none;font-weight:550;color:inherit}.view-switcher .view-tab-dirty{display:inline-flex;align-items:center;margin-left:6px;padding:0 6px;border-radius:999px;font-size:var(--text-xs, 12px);background:var(--color-warning-bg);color:var(--color-warning-text)}.view-switcher .view-tab-dirty:before{content:none}.view-switcher .view-tab-marks{gap:2px;color:var(--color-text-subtle, var(--color-text-muted))}.view-switcher .view-tab-scope,.view-switcher .view-tab-default{display:inline-flex;align-items:center;padding:0;border:0;background:none;font-size:inherit;text-transform:none;letter-spacing:0;color:inherit}.view-switcher .view-tab-scope.is-shared{background:none;color:var(--color-info-text, var(--color-info))}.view-switcher .view-tab-menu-button{min-height:28px;min-width:28px;padding:0;border:0;border-radius:var(--radius-sm, 6px);background:none;box-shadow:none;color:var(--color-text-subtle, var(--color-text-muted));opacity:.55}.view-switcher .view-tab:hover .view-tab-menu-button,.view-switcher .view-tab.is-active .view-tab-menu-button,.view-switcher .view-tab-menu-button:focus-visible,.view-switcher .view-tab-menu-button[aria-expanded=true]{opacity:1}.view-switcher .view-tab-menu-button:hover{background:var(--color-surface-hover, var(--color-surface-sunken));color:var(--color-text)}.view-switcher .view-tab-add{flex:none;align-self:center;min-height:32px;gap:4px;padding:0 10px;margin-left:var(--space-1, 4px);border:0;border-radius:var(--radius-sm, 6px);background:none;box-shadow:none;font-size:var(--text-sm, 13px);font-weight:550;color:var(--color-text-muted)}.view-switcher .view-tab-add:hover{background:var(--color-surface-hover, var(--color-surface-sunken));color:var(--color-text)}.view-switcher .view-tab-menu{top:calc(100% + 2px);min-width:15rem;padding:var(--space-1, 4px);border-color:var(--color-border);border-radius:var(--radius, 8px);box-shadow:var(--shadow-lg, 0 12px 16px -4px rgb(16 24 40 / .1));background:var(--color-surface-raised, var(--color-surface))}.view-switcher .view-tab-menu button{justify-content:flex-start;min-height:36px;padding:0 var(--space-3, 12px);border:0;box-shadow:none;font-weight:500}.view-tab-menu-about{margin:var(--space-1, 4px) var(--space-3, 12px) var(--space-2, 8px);padding-bottom:var(--space-2, 8px);border-bottom:1px solid var(--color-border);font-size:var(--text-xs, 12px);color:var(--color-text-muted)}.view-switcher .view-tab-editor{gap:var(--space-1, 4px);padding:4px 0}.view-switcher .view-tab-editor input{min-height:32px;padding:0 8px;border:1px solid var(--color-border-strong);border-radius:var(--radius-sm, 6px);font-size:var(--text-sm, 13px)}.view-switcher .view-dirty-bar{display:flex;align-items:center;gap:var(--space-2, 8px);padding:6px var(--space-2, 8px) 6px var(--space-3, 12px);border-radius:var(--radius, 8px);background:var(--color-warning-bg);color:var(--color-warning-text);font-size:var(--text-sm, 13px);width:fit-content;max-width:100%}.view-switcher .view-dirty-bar>span{margin-right:var(--space-2, 8px)}@media(pointer:coarse){.view-switcher .view-tab-menu-button{min-height:44px;min-width:44px;opacity:1}.view-switcher .view-tab-select,.view-switcher .view-tab-add{min-height:44px}}.column-view-up .ui-icon{transform:rotate(180deg)}.column-view-list li{min-height:36px;padding:2px 0}.column-view-move{display:inline-flex;align-items:center;gap:2px}.p2-back{display:inline-flex;align-items:center;gap:4px;color:var(--color-text-muted);text-decoration:none;font-weight:550}.p2-back:hover{color:var(--color-text)}.p2-sticky-footer{position:sticky;bottom:0;z-index:5;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2, 8px) var(--space-3, 12px);margin-top:var(--space-4, 16px);padding:var(--space-3, 12px) var(--space-4, 16px);background:var(--color-surface-raised, var(--color-surface));border:1px solid var(--color-border);border-radius:var(--radius, 8px);box-shadow:0 -4px 12px -6px #1018282e}.p2-sticky-footer-text{flex:1 1 14rem;font-size:var(--text-sm, 13px);color:var(--color-text-muted)}.p2-sticky-footer-text strong{color:var(--color-text)}@media(max-width:720px){.p2-sticky-footer{bottom:calc(var(--shell-tabbar-h, 64px) + env(safe-area-inset-bottom) + 8px)}.p2-sticky-footer>button,.p2-sticky-footer>a{flex:1 1 auto;min-height:48px}}.new-site-form{max-width:760px}.new-site-form .nsf-section{margin:0 0 var(--space-4, 16px);padding:var(--space-5, 20px);border:1px solid var(--color-border);border-radius:var(--radius-lg, 12px);background:var(--color-surface)}.new-site-form .nsf-section-title{margin:0 0 var(--space-1, 4px);font-size:var(--text-md, 16px);font-weight:650}.new-site-form .nsf-section-hint{margin:0 0 var(--space-4, 16px);font-size:var(--text-sm, 13px);color:var(--color-text-muted)}.new-site-form .nsf-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:var(--space-4, 16px)}.import-stepper{display:flex;gap:var(--space-2, 8px);list-style:none;margin:0 0 var(--space-5, 20px);padding:0}.import-step{flex:1 1 0;display:flex;align-items:center;gap:var(--space-2, 8px);padding-bottom:var(--space-2, 8px);border-bottom:3px solid var(--color-border);font-size:var(--text-sm, 13px);font-weight:600;color:var(--color-text-muted)}.import-step-num{display:inline-grid;place-items:center;flex:none;width:24px;height:24px;border-radius:999px;border:1px solid var(--color-border-strong);font-size:var(--text-xs, 12px);font-variant-numeric:tabular-nums;background:var(--color-surface)}.import-step.is-current{color:var(--color-text);border-bottom-color:var(--color-accent)}.import-step.is-current .import-step-num{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-accent-text)}.import-step.is-done{color:var(--color-text);border-bottom-color:var(--color-success)}.import-step.is-done .import-step-num{border-color:var(--color-success);background:var(--color-success-bg);color:var(--color-success-text)}.import-card-head{display:flex;align-items:center;gap:var(--space-3, 12px);margin-bottom:var(--space-2, 8px)}.import-card-head h2{margin:0}.import-drop{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3, 12px);padding:var(--space-4, 16px);margin-bottom:var(--space-3, 12px);border:1px dashed var(--color-border-strong);border-radius:var(--radius, 8px);background:var(--color-surface-sunken)}.import-drop label{display:inline-flex;flex-direction:column;gap:6px;font-weight:600;font-size:var(--text-sm, 13px)}.import-or{display:flex;align-items:center;gap:var(--space-3, 12px);margin:var(--space-3, 12px) 0;font-size:var(--text-xs, 12px);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.04em}.import-or:before,.import-or:after{content:"";flex:1;height:1px;background:var(--color-border)}.import-paste{display:block;width:100%;margin-bottom:var(--space-3, 12px);font-family:var(--font-mono, monospace);font-size:var(--text-sm, 13px)}.import-row-status{display:inline-flex;align-items:center;gap:6px}.import-row-status--ok{color:var(--color-success-text)}.import-row-status--bad{color:var(--color-danger-text)}.import-table-wrap{max-height:28rem;overflow:auto}.merge-pair{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:stretch;gap:var(--space-3, 12px);margin-bottom:var(--space-4, 16px)}.merge-side{display:flex;flex-direction:column;gap:var(--space-2, 8px);padding:var(--space-4, 16px);border:1px solid var(--color-border);border-top-width:4px;border-radius:var(--radius-lg, 12px);background:var(--color-surface)}.merge-side--keep{border-top-color:var(--color-success)}.merge-side--delete{border-top-color:var(--color-danger)}.merge-side-role{display:inline-flex;align-items:center;gap:6px;font-size:var(--text-xs, 12px);font-weight:650;text-transform:uppercase;letter-spacing:.04em}.merge-side--keep .merge-side-role{color:var(--color-success-text)}.merge-side--delete .merge-side-role{color:var(--color-danger-text)}.merge-side-address{font-size:var(--text-lg, 18px);font-weight:650;line-height:1.3}.merge-side-meta{font-size:var(--text-sm, 13px);color:var(--color-text-muted)}.merge-swap{align-self:center}.merge-explain{margin:0 0 var(--space-4, 16px);font-size:var(--text-sm, 13px);color:var(--color-text-muted)}@media(max-width:720px){.merge-pair{grid-template-columns:minmax(0,1fr)}.merge-swap{justify-self:stretch}}.fix-filters{display:flex;flex-wrap:wrap;gap:var(--space-2, 8px);margin-bottom:var(--space-4, 16px)}.fix-filters button{min-height:32px;padding:0 12px;gap:6px;border-radius:999px;font-size:var(--text-sm, 13px);box-shadow:none}.fix-filters button[aria-pressed=true]{border-color:var(--color-accent-border, var(--color-accent));background:var(--color-accent-soft, var(--color-surface-sunken));color:var(--color-text)}.fix-filter-count{min-width:20px;padding:0 6px;border-radius:999px;background:var(--color-neutral-bg);color:var(--color-neutral-text);font-size:var(--text-xs, 12px);font-variant-numeric:tabular-nums}.fix-page .fix-list{gap:0;border:1px solid var(--color-border);border-radius:var(--radius-lg, 12px);background:var(--color-surface);overflow:hidden}.fix-page .fix-row{padding:0;gap:0;border:0;border-radius:0;box-shadow:none;border-bottom:1px solid var(--color-border)}.fix-page .fix-row:last-child{border-bottom:0}.fix-row-line{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-2, 8px) var(--space-3, 12px);padding:var(--space-3, 12px) var(--space-4, 16px);min-height:56px}.fix-row-line .fix-title{flex:1 1 14rem;min-width:0;font-weight:600}.fix-page .fix-kind{text-transform:none;letter-spacing:0;font-weight:600;font-size:var(--text-xs, 12px);padding:2px 8px;border-radius:999px}.fix-page .fix-reason{font-weight:600;font-size:var(--text-xs, 12px);padding:2px 8px;border-radius:999px}.fix-row.is-open{background:var(--color-surface-sunken)}.fix-row-body{padding:0 var(--space-4, 16px) var(--space-4, 16px)}.fix-row-body .fix-help{display:block;margin-bottom:var(--space-3, 12px)}.p2-print-toolbar{display:flex;align-items:center;gap:var(--space-3, 12px);margin-bottom:var(--space-4, 16px)}.p2-print-toolbar .p2-print-spacer{flex:1}.sites-table.is-editing thead th{vertical-align:top}.ui-empty-body .form-error{display:block;width:fit-content;max-width:100%;margin:0 auto var(--space-2, 8px)}.dx{--dx-site: #0a84ff;--dx-service: #00c853;--dx-st-unassigned: #64748b;--dx-st-dispatched: var(--color-info, #2563eb);--dx-st-working: #d97706;--dx-st-done: var(--color-success, #16a34a);--dx-rail-w: 320px;--dx-sticky-top: var(--shell-topbar-h, 56px);--dx-radius: var(--radius, 8px)}.dx .ui-page-header{margin-bottom:var(--space-4, 16px)}.dx-seg{display:inline-flex;align-items:stretch;border:1px solid var(--color-border-strong, #d0d5dd);border-radius:var(--radius-sm, 6px);background:var(--color-surface, #fff);box-shadow:var(--shadow-xs, 0 1px 2px rgba(16, 24, 40, .05));overflow:hidden;min-height:var(--control-h, 36px)}.dx-seg-btn,.dx .dx-seg-btn{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;justify-content:center;gap:6px;min-height:0;height:auto;margin:0;padding:0 var(--space-3, 12px);border:0;border-radius:0;border-left:1px solid var(--color-border, #e4e7ec);background:transparent;box-shadow:none;color:var(--color-text-muted, #5b6474);font:inherit;font-size:var(--text-sm, 13px);font-weight:550;text-decoration:none;text-transform:none;letter-spacing:0;white-space:nowrap;cursor:pointer}.dx-seg>:first-child{border-left:0}.dx-seg-btn:hover:not(:disabled){background:var(--color-surface-hover, #f2f4f7);color:var(--color-text, #161a22);text-decoration:none}.dx-seg-btn.is-active,.dx-seg-btn[aria-current=page]{background:var(--color-accent-soft, #fef3c7);color:var(--color-text, #161a22);box-shadow:inset 0 -2px 0 var(--color-accent, #f59e0b)}.dx-seg-btn:focus-visible,.dx-seg-date:focus-within{outline:2px solid var(--color-accent, #f59e0b);outline-offset:-2px;position:relative;z-index:1}.dx-seg-icon{padding:0 var(--space-2, 8px);min-width:36px}.dx-seg-date{display:inline-flex;align-items:center;gap:6px;padding:0 var(--space-2, 8px);border-left:1px solid var(--color-border, #e4e7ec);color:var(--color-text-muted, #5b6474);cursor:pointer}.dx .dx-seg-date input{border:0;background:transparent;box-shadow:none;min-height:0;height:100%;padding:0;width:8.2rem;font:inherit;font-size:var(--text-sm, 13px);color:var(--color-text, #161a22)}.dx .dx-seg-date input:focus{outline:none;box-shadow:none}.dx .dx-toolbar{position:sticky;top:var(--dx-sticky-top);z-index:var(--z-sticky, 30);margin:0 calc(-1 * var(--space-2, 8px)) var(--space-3, 12px);padding:var(--space-2, 8px);background:color-mix(in srgb,var(--color-bg, #f5f6f8) 88%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border-radius:var(--radius, 8px)}.dx .dx-toolbar .ui-toolbar-main,.dx .dx-toolbar .ui-toolbar-end{align-items:center}.dx-range{font-size:var(--text-md, 16px);font-weight:600;font-variant-numeric:tabular-nums;white-space:nowrap}.dx .dx-inline-field{display:inline-flex;flex-direction:row;align-items:center;gap:var(--space-2, 8px);margin:0;font-size:var(--text-sm, 13px);font-weight:550;color:var(--color-text-muted, #5b6474)}.dx .dx-inline-field select{width:auto;min-width:10rem}.dx-search{position:relative;display:inline-flex;align-items:center;flex:1 1 220px;max-width:320px;color:var(--color-text-subtle, #7d8697)}.dx-search>.ui-icon{position:absolute;left:10px;pointer-events:none}.dx .dx-search input{width:100%;padding-left:34px}.dx-linkbtn,.dx .dx-linkbtn{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline;min-height:0;padding:0;border:0;background:none;box-shadow:none;color:var(--color-accent-strong, #92400e);font:inherit;font-weight:600;text-align:left;text-decoration:underline;text-underline-offset:2px;cursor:pointer}.dx-linkbtn:hover:not(:disabled){background:none;color:var(--color-text, #161a22)}.dx-chips{display:inline-flex;flex-wrap:wrap;gap:6px}.dx-chip,.dx .dx-chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;gap:6px;min-height:30px;padding:0 10px;border:1px solid var(--color-border, #e4e7ec);border-radius:var(--radius-pill, 999px);background:var(--color-surface, #fff);box-shadow:none;color:var(--color-text-muted, #5b6474);font:inherit;font-size:var(--text-sm, 13px);font-weight:550;text-transform:none;letter-spacing:0;white-space:nowrap;cursor:pointer}.dx-chip:hover:not(:disabled){border-color:var(--color-border-hover, #98a2b3);color:var(--color-text, #161a22);background:var(--color-surface, #fff)}.dx-chip.is-active,.dx .dx-chip.is-active{border-color:var(--color-accent-border, #f59e0b);background:var(--color-accent-soft, #fef3c7);color:var(--color-text, #161a22)}.dx-chip:focus-visible{outline:2px solid var(--color-accent, #f59e0b);outline-offset:2px}.dx-chip-swatch{width:10px;height:10px;border-radius:3px;flex-shrink:0}.dx-swatch-site{background:var(--dx-site)}.dx-swatch-service{background:var(--dx-service);border-radius:50%}.dx-count{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:18px;padding:0 6px;border-radius:var(--radius-pill, 999px);background:var(--color-neutral-bg, #f0f2f5);color:var(--color-neutral-text, #475467);font-size:11px;font-weight:650;font-variant-numeric:tabular-nums;line-height:1}.dx-pill{display:inline-flex;align-items:center;gap:6px;min-height:26px;padding:0 10px;border-radius:var(--radius-pill, 999px);background:var(--color-surface, #fff);border:1px solid var(--color-border, #e4e7ec);color:var(--color-text-muted, #5b6474);font-size:var(--text-xs, 12px);font-weight:550;white-space:nowrap}.dx-pill--danger{border-color:color-mix(in srgb,var(--color-danger, #dc2626) 35%,transparent);background:var(--color-danger-bg, #fef1f1);color:var(--color-danger-text, #b42318)}.dx-pill--warn{border-color:color-mix(in srgb,var(--color-warning, #d97706) 35%,transparent);background:var(--color-warning-bg, #fff8e6);color:var(--color-warning-text, #93370d)}.dx-today-pill{display:inline-flex;align-items:center;padding:1px 7px;border-radius:var(--radius-pill, 999px);background:var(--color-accent, #f59e0b);color:var(--color-accent-text, #1c1917);font-size:10px;font-weight:700;letter-spacing:.02em}.dx-avatar{--dx-hue: 210;display:inline-flex;align-items:center;justify-content:center;flex-shrink:0;width:28px;height:28px;border-radius:50%;background:hsl(var(--dx-hue) 70% 92%);color:hsl(var(--dx-hue) 55% 28%);font-size:11px;font-weight:700;letter-spacing:.02em}.dx-avatar--muted{background:var(--color-neutral-bg, #f0f2f5);color:var(--color-neutral-text, #475467)}:root[data-theme=dark] .dx-avatar:not(.dx-avatar--muted){background:hsl(var(--dx-hue) 35% 24%);color:hsl(var(--dx-hue) 80% 86%)}@media(prefers-color-scheme:dark){:root:not([data-theme=light]):not([data-theme=outdoor]) .dx-avatar:not(.dx-avatar--muted){background:hsl(var(--dx-hue) 35% 24%);color:hsl(var(--dx-hue) 80% 86%)}}.dx-tech{display:flex;align-items:center;gap:var(--space-2, 8px);min-width:0}.dx-tech-text{display:flex;flex-direction:column;min-width:0;font-weight:600;line-height:1.25;overflow-wrap:anywhere}.dx-tech-text .meta{font-size:11px;font-weight:450;margin:0}.dx-util{display:flex;align-items:center;gap:6px;margin-top:6px;font-size:11px;font-weight:600;color:var(--color-text-muted, #5b6474);font-variant-numeric:tabular-nums}.dx-util-track{flex:1;height:5px;border-radius:3px;background:var(--color-neutral-bg, #f0f2f5);overflow:hidden}.dx-util-fill{display:block;height:100%;border-radius:3px;background:var(--color-success, #16a34a)}.dx-util--full .dx-util-fill{background:var(--color-warning, #d97706)}.dx-util--over .dx-util-fill{background:var(--color-danger, #dc2626)}.dx-util--over{color:var(--color-danger-text, #b42318)}.dx-booked{display:block;margin-top:4px;font-size:11px}.dx-error{display:flex;align-items:center;gap:var(--space-2, 8px);margin:0 0 var(--space-3, 12px);padding:var(--space-2, 8px) var(--space-3, 12px);border:1px solid color-mix(in srgb,var(--color-danger, #dc2626) 30%,transparent);border-radius:var(--radius, 8px);background:var(--color-danger-bg, #fef1f1);color:var(--color-danger-text, #b42318)}.dx-error .form-error{margin:0;flex:1}.dx .dx-toast{position:fixed;left:50%;bottom:calc(24px + env(safe-area-inset-bottom));transform:translate(-50%);z-index:var(--z-dialog, 60);display:flex;align-items:center;gap:var(--space-2, 8px);max-width:min(560px,calc(100vw - 32px));margin:0;padding:var(--space-2, 8px) var(--space-2, 8px) var(--space-2, 8px) var(--space-4, 16px);border-radius:var(--radius, 8px);background:var(--color-text, #161a22);color:var(--color-surface, #fff);box-shadow:var(--shadow-lg, 0 12px 16px -4px rgba(16, 24, 40, .1));animation:dx-toast-in var(--dur-slow, .28s) var(--ease-emphasized, ease-out)}.dx .dx-toast button{color:inherit}.dx .dx-toast button:hover:not(:disabled){background:#ffffff1f}@media(max-width:720px){.dx .dx-toast{bottom:calc(var(--shell-tabbar-h, 64px) + 12px + env(safe-area-inset-bottom))}}@keyframes dx-toast-in{0%{opacity:0;transform:translate(-50%,8px)}}@media(prefers-reduced-motion:reduce){.dx .dx-toast{animation:none}}.dx-hint,.dx-hint-line{display:flex;align-items:center;gap:var(--space-2, 8px);margin:0 0 var(--space-3, 12px);color:var(--color-text-muted, #5b6474);font-size:var(--text-sm, 13px)}.dx-hint{padding:var(--space-2, 8px) var(--space-3, 12px);border:1px dashed var(--color-border-strong, #d0d5dd);border-radius:var(--radius, 8px);background:var(--color-surface, #fff)}.dx-empty-card{margin-top:var(--space-3, 12px)}.dx-none{margin:0;padding:var(--space-3, 12px) var(--space-2, 8px);text-align:center;font-size:var(--text-sm, 13px);border:1px dashed var(--color-border, #e4e7ec);border-radius:var(--radius-sm, 6px)}.dx-skel{padding:0;overflow:hidden}.dx-skel-row{display:grid;grid-template-columns:180px repeat(6,minmax(0,1fr));gap:0;border-bottom:1px solid var(--color-border, #e4e7ec);min-height:72px}.dx-skel-name{display:flex;align-items:center;gap:var(--space-2, 8px);padding:var(--space-3, 12px);border-right:1px solid var(--color-border, #e4e7ec)}.dx-skel-cell{padding:var(--space-2, 8px);border-right:1px solid var(--color-border, #e4e7ec)}.dx-skel-lane{grid-column:2 / -1;display:flex;align-items:center;padding:0 var(--space-3, 12px)}.dx-skel-lane .dx-skel-offset{margin-left:18%}.dx-card-top{display:flex;align-items:center;justify-content:space-between;gap:4px;min-height:18px}.dx .dx-card-top .board-kind{float:none;margin:0}.dx .board-kind{display:inline-flex;align-items:center;gap:4px}.dx .dx-card-menu{flex-shrink:0;min-width:26px;min-height:26px;width:26px;height:26px;margin:-4px -4px -4px 0;padding:0;border:0;background:transparent;box-shadow:none;color:var(--color-text-muted, #5b6474);border-radius:var(--radius-sm, 6px)}.dx .dx-card-menu:hover:not(:disabled){background:var(--color-surface-hover, #f2f4f7);color:var(--color-text, #161a22)}.dx-card-line{display:flex;align-items:flex-start;gap:5px}.dx-card-line>.ui-icon{margin-top:2px;opacity:.75}.dx-card-line--danger{color:var(--color-danger-text, #b42318)}.dx .board{grid-template-columns:var(--dx-rail-w) minmax(0,1fr);gap:var(--space-4, 16px);margin-top:0}.dx .board.board--readonly{grid-template-columns:minmax(0,1fr)}.dx .board-rail,.dx .dispatch-tray{position:sticky;top:calc(var(--dx-sticky-top) + 64px);max-height:calc(100vh - var(--dx-sticky-top) - 88px);max-height:calc(100dvh - var(--dx-sticky-top) - 88px);display:flex;flex-direction:column;gap:var(--space-3, 12px);padding:var(--space-3, 12px);border:1px solid var(--color-border, #e4e7ec);border-radius:var(--radius-lg, 12px);background:var(--color-surface, #fff);box-shadow:var(--shadow-xs, 0 1px 2px rgba(16, 24, 40, .05));overflow:hidden;transition:border-color var(--dur-fast, .12s),background-color var(--dur-fast, .12s)}.dx .board-rail.is-over,.dx .dispatch-tray.is-over{border:1px dashed var(--color-accent, #f59e0b);background:var(--color-accent-softer, #fffbeb)}.dx-rail-head h2{display:flex;align-items:center;gap:var(--space-2, 8px);margin:0;font-size:var(--text-md, 16px);font-weight:650}.dx-rail-head .meta{margin:2px 0 0;font-size:var(--text-xs, 12px)}.dx .board-rail-block{border-top:0;padding-top:0;min-height:0}.dx .board-rail-block h3{display:flex;align-items:center;gap:6px;margin:0 0 var(--space-2, 8px);padding-bottom:6px;border-bottom:2px solid var(--color-border, #e4e7ec);font-size:var(--text-xs, 12px);font-weight:650;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-muted, #5b6474)}.dx .board-rail-block--site h3{border-bottom-color:var(--dx-site)}.dx .board-rail-block--service h3{border-bottom-color:var(--dx-service)}.dx .board-rail-block--service{margin-top:0}.dx .board-rail-list{gap:var(--space-2, 8px)}.dx .board-grid-card{border-radius:var(--radius-lg, 12px);overflow:hidden}.dx .board-grid-wrap{max-height:calc(100vh - var(--dx-sticky-top) - 150px);max-height:calc(100dvh - var(--dx-sticky-top) - 150px)}.dx .board-grid{min-width:940px}.dx .board-grid thead th{padding:var(--space-2, 8px) var(--space-2, 8px);background:var(--color-surface-sunken, #f8f9fb);font-size:var(--text-sm, 13px);font-weight:600;color:var(--color-text, #161a22);text-transform:none;letter-spacing:0}.dx .board-grid thead th:first-child{width:176px}.dx .board-grid tbody th{width:176px;padding:var(--space-2, 8px) var(--space-3, 12px);background:var(--color-surface, #fff);font-weight:600}.dx .board-grid thead th.is-today{background:var(--color-accent-softer, #fffbeb);box-shadow:inset 0 -2px 0 var(--color-accent, #f59e0b)}.dx-dayhead{display:flex;align-items:center;justify-content:space-between;gap:4px;font-variant-numeric:tabular-nums}.dx-dayhead-meta{display:block;font-size:11px;font-weight:500;color:var(--color-text-muted, #5b6474)}.dx .board-cell{height:104px;padding:6px;background:var(--color-surface, #fff);transition:background-color var(--dur-fast, .12s)}.dx .board-cell.is-today{background:var(--color-accent-softer, #fffbeb)}.dx .board-cell>*+*{margin-top:6px}.dx .board-cell.is-over{background:var(--color-info-bg, #eef4ff);outline:2px dashed var(--color-info, #2563eb);outline-offset:-3px}.dx .board-cell.is-conflict{box-shadow:inset 0 0 0 2px color-mix(in srgb,var(--color-danger, #dc2626) 55%,transparent);background:color-mix(in srgb,var(--color-danger-bg, #fef1f1) 60%,var(--color-surface, #fff))}.dx .dx-unassigned-row th,.dx .dx-unassigned-row .board-cell{background:var(--color-surface-sunken, #f8f9fb)}.dx .board-card{position:relative;padding:6px 8px 7px 10px;border:1px solid var(--color-border, #e4e7ec);border-left:0;border-radius:var(--radius-sm, 6px);background:var(--color-surface, #fff);box-shadow:var(--shadow-xs, 0 1px 2px rgba(16, 24, 40, .05));font-size:12px;line-height:1.35;transition:box-shadow var(--dur-fast, .12s) var(--ease-out, ease),transform var(--dur-fast, .12s) var(--ease-out, ease),border-color var(--dur-fast, .12s)}.dx .board-card:before{content:"";position:absolute;left:0;top:0;bottom:0;width:4px;border-radius:var(--radius-sm, 6px) 0 0 var(--radius-sm, 6px);background:var(--dx-strip, var(--color-border-strong, #d0d5dd))}.dx .board-card--site{--dx-strip: var(--dx-site)}.dx .board-card--service{--dx-strip: var(--dx-service)}.dx .board-card:not(.board-card--static):not(.board-card--ghost):hover{border-color:var(--color-border-hover, #98a2b3);box-shadow:var(--shadow-sm, 0 1px 3px rgba(16, 24, 40, .1))}.dx .board-card:focus-visible{outline:2px solid var(--color-accent, #f59e0b);outline-offset:2px}.dx .board-card-title,.dx .board-card .taskcard-link{font-size:13px;font-weight:600;line-height:1.3}.dx .board-card-sub{color:var(--color-text-muted, #5b6474)}.dx .board-card-address{font-size:11.5px;color:var(--color-text-muted, #5b6474)}.dx .board-kind{font-size:10px;font-weight:650;letter-spacing:.05em;color:var(--color-text-subtle, #7d8697)}.dx .board-card--site .board-kind .ui-icon{color:var(--dx-site)}.dx .board-card--service .board-kind .ui-icon{color:var(--dx-service)}.dx .board-flag{padding:1px 6px;border-radius:var(--radius-xs, 4px);font-size:10.5px;font-weight:550}.dx .board-card--ghost{border:1px dashed var(--color-info, #2563eb);background:var(--color-info-bg, #eef4ff);box-shadow:none}.dx .board-card--ghost:before{background:repeating-linear-gradient(180deg,var(--dx-site) 0 4px,transparent 4px 8px)}.dx .board-ghost-actions button{min-height:28px;font-size:12px}.dx .board-card.is-lifted{box-shadow:var(--shadow-lg, 0 12px 16px -4px rgba(16, 24, 40, .14));transform:rotate(1.5deg) scale(1.02)}.dx .board-capacity{font-variant-numeric:tabular-nums}.dx .board-capacity-track{height:4px}.dx .dx-planbar{position:sticky;top:calc(var(--dx-sticky-top) + 60px);z-index:calc(var(--z-sticky, 30) - 1);margin:0 0 var(--space-3, 12px);border-radius:var(--radius, 8px);box-shadow:var(--shadow-sm, 0 1px 3px rgba(16, 24, 40, .1))}.dx .dx-planbar strong{display:inline-flex;align-items:center;gap:6px}.dx-agenda{display:flex;flex-direction:column;gap:var(--space-3, 12px)}.dx .dx-agenda-day{padding:0;margin:0;overflow:hidden}.dx .dx-agenda-day.is-today{border-color:var(--color-accent-border, #f59e0b)}.dx .dx-agenda-head,.dx .dx-agenda-backlog>summary{display:flex;align-items:center;gap:var(--space-2, 8px);margin:0;padding:var(--space-3, 12px) var(--space-4, 16px);border-bottom:1px solid var(--color-border, #e4e7ec);background:var(--color-surface-sunken, #f8f9fb);font-size:var(--text-md, 16px);font-weight:650}.dx .dx-agenda-backlog>summary{cursor:pointer;min-height:48px}.dx-agenda-date{flex:1}.dx-agenda-date .meta{font-weight:450;font-size:var(--text-sm, 13px)}.dx-agenda-list{list-style:none;margin:0;padding:0}.dx-agenda-item{display:flex;align-items:center;gap:var(--space-3, 12px);min-height:64px;padding:var(--space-2, 8px) var(--space-4, 16px);border-top:1px solid var(--color-border, #e4e7ec);border-left:4px solid transparent}.dx-agenda-item:first-child{border-top:0}.dx-agenda-item--site{border-left-color:var(--dx-site)}.dx-agenda-item--service{border-left-color:var(--dx-service)}.dx-agenda-main{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0;font-size:var(--text-md, 16px)}.dx-agenda-main .meta{font-size:var(--text-sm, 13px);margin:0;overflow-wrap:anywhere}.dx-agenda-main a,.dx-agenda-main .taskcard-link{font-weight:600;text-align:left}.dx-agenda-time{flex:0 0 64px;font-size:var(--text-sm, 13px);font-weight:650;font-variant-numeric:tabular-nums;color:var(--color-text-muted, #5b6474)}.dx .dx-agenda-move{min-height:44px;flex-shrink:0}.dx .dispatch{grid-template-columns:var(--dx-rail-w) minmax(0,1fr);gap:var(--space-4, 16px)}.dx .dispatch.dispatch--readonly{grid-template-columns:minmax(0,1fr)}.dx .dispatch.is-busy{opacity:.75}.dx .dispatch-tray{top:calc(var(--dx-sticky-top) + 64px)}.dx .dispatch-tray .board-rail-block{display:flex;flex-direction:column;min-height:0}.dx .dispatch-tray .board-rail-block:first-of-type{flex:1 1 auto}.dx .dispatch-tray .board-rail-list{overflow-y:auto;min-height:0}.dx .dispatch-tray .dispatch-card{margin-bottom:0}.dx-tray-actions{display:flex;align-items:center;flex-wrap:wrap;gap:6px;margin-top:6px}.dx .dx-tray-actions select{min-height:32px;height:32px;font-size:12px;width:auto;padding-top:0;padding-bottom:0}.dx .dispatch-tray-hold{margin-top:0;display:inline-flex}.dx .dispatch-scroll{max-height:calc(100vh - var(--dx-sticky-top) - 150px);max-height:calc(100dvh - var(--dx-sticky-top) - 150px);overflow:auto;border-radius:var(--radius-lg, 12px);box-shadow:var(--shadow-xs, 0 1px 2px rgba(16, 24, 40, .05))}.dx .dispatch-grid{min-width:100%}.dx .dispatch-row{background:var(--color-surface, #fff)}.dx .dispatch-row--head{position:sticky;top:0;z-index:4;min-height:36px;font-size:12px;font-weight:600;background:var(--color-surface-sunken, #f8f9fb);border-bottom:1px solid var(--color-border-strong, #d0d5dd)}.dx .dispatch-name{flex:0 0 12.5rem;width:12.5rem;padding:var(--space-2, 8px) var(--space-3, 12px);background:var(--color-surface, #fff);z-index:3;box-shadow:1px 0 0 var(--color-border, #e4e7ec)}.dx .dispatch-row--head .dispatch-name,.dx .dispatch-row--head .dispatch-any{display:flex;align-items:center;background:var(--color-surface-sunken, #f8f9fb)}.dx .dispatch-row--head .dispatch-name{z-index:5}.dx .dispatch-any{flex:0 0 9rem;width:9rem;padding:6px;background:var(--color-surface-sunken, #f8f9fb)}.dx .dx-row--unassigned .dispatch-name,.dx .dx-row--unassigned .dispatch-time{background-color:var(--color-surface-sunken, #f8f9fb)}.dx .dispatch-any.is-over,.dx .dispatch-time.is-over{background-color:var(--color-accent-softer, #fffbeb);box-shadow:inset 0 0 0 2px var(--color-accent-border, #fcd34d)}.dx .dispatch-time:not(.dispatch-hours){background-image:repeating-linear-gradient(to right,transparent 0 calc(var(--dx-quarter, 21px) - 1px),color-mix(in srgb,var(--color-border, #e4e7ec) 55%,transparent) calc(var(--dx-quarter, 21px) - 1px) var(--dx-quarter, 21px))}.dx .dispatch-gridline{border-left-color:var(--color-border-strong, #d0d5dd);opacity:.7}.dx .dispatch-hours{height:36px}.dx .dispatch-hour{top:50%;transform:translate(4px,-50%);font-size:11px;font-weight:600;color:var(--color-text-muted, #5b6474);font-variant-numeric:tabular-nums}.dx-nowline{position:absolute;top:0;bottom:0;width:2px;margin-left:-1px;background:var(--color-danger, #dc2626);z-index:2;pointer-events:none}.dx-nowline:before{content:"";position:absolute;top:-1px;left:-3px;width:8px;height:8px;border-radius:50%;background:var(--color-danger, #dc2626)}.dx-now-label{position:absolute;top:50%;transform:translate(-50%,-50%);padding:1px 6px;border-radius:var(--radius-pill, 999px);background:var(--color-danger, #dc2626);color:#fff;font-size:10px;font-weight:700;font-variant-numeric:tabular-nums;white-space:nowrap;z-index:3}.dx .dispatch-card{--dx-st: var(--dx-st-unassigned);gap:1px;padding:4px 8px;border:1px solid color-mix(in srgb,var(--dx-st) 40%,var(--color-surface, #fff));border-left-width:5px;border-radius:var(--radius-sm, 6px);background:color-mix(in srgb,var(--dx-st) 13%,var(--color-surface, #fff));color:var(--color-text, #161a22);font-size:11.5px;line-height:1.25;box-shadow:var(--shadow-xs, 0 1px 2px rgba(16, 24, 40, .05));transition:box-shadow var(--dur-fast, .12s),transform var(--dur-fast, .12s)}.dx .dispatch-card--unassigned{--dx-st: var(--dx-st-unassigned)}.dx .dispatch-card--dispatched{--dx-st: var(--dx-st-dispatched)}.dx .dispatch-card--working{--dx-st: var(--dx-st-working)}.dx .dispatch-card--done{--dx-st: var(--dx-st-done);opacity:.85}.dx .dispatch-card--site{background:repeating-linear-gradient(135deg,var(--color-surface-sunken, #f8f9fb) 0 6px,var(--color-surface-alt, #eceff3) 6px 12px);border-color:var(--color-border, #e4e7ec);color:var(--color-text-muted, #5b6474)}.dx .dispatch-card.is-draggable:hover{box-shadow:var(--shadow-sm, 0 1px 3px rgba(16, 24, 40, .12));z-index:2}.dx .dispatch-card:focus-visible{outline:2px solid var(--color-accent, #f59e0b);outline-offset:2px;z-index:3}.dx .dispatch-card.is-conflict{outline:2px solid var(--color-danger, #dc2626);outline-offset:-1px}.dx .dispatch-card--compact,.dx .dispatch-card--tray{padding:6px 8px}.dx .dispatch-card--tray{background:var(--color-surface, #fff);border-color:var(--color-border, #e4e7ec);font-size:12px}.dx .dispatch-card--tray.is-held{background:var(--color-surface-sunken, #f8f9fb)}.dx .dispatch-card--tray .dispatch-card-title{white-space:normal}.dx .dispatch-card-title{font-size:12px}.dx .dispatch-card-job{font-variant-numeric:tabular-nums;color:var(--color-text-muted, #5b6474);opacity:1}.dx .dispatch-card-sub{color:var(--color-text-muted, #5b6474);opacity:1}.dx .dispatch-card-time{font-variant-numeric:tabular-nums}.dx-card-meta{display:flex;align-items:center;gap:4px;min-width:0;overflow:hidden}.dx .dispatch-card:not(.dispatch-card--compact):not(.dispatch-card--tray) .dx-card-meta{order:1}.dx .dispatch-card:not(.dispatch-card--compact):not(.dispatch-card--tray) .dispatch-card-sub{order:2}.dx .dispatch-card:not(.dispatch-card--compact):not(.dispatch-card--tray) .dispatch-card-time{display:none}.dx .dispatch-card.is-draggable .dispatch-card-title{padding-right:18px}.dx .dispatch-card-unit{font-size:10px;font-weight:600;color:var(--color-text-muted, #5b6474);white-space:nowrap;opacity:1}.dx-status{display:inline-flex;align-items:center;gap:3px;padding:0 5px;border-radius:var(--radius-pill, 999px);background:color-mix(in srgb,var(--dx-st, #64748b) 22%,var(--color-surface, #fff));color:color-mix(in srgb,var(--dx-st, #64748b) 65%,var(--color-text, #161a22));font-size:10px;font-weight:650;line-height:16px;white-space:nowrap}.dx-status--unassigned{--dx-st: var(--dx-st-unassigned)}.dx-status--dispatched{--dx-st: var(--dx-st-dispatched)}.dx-status--working{--dx-st: var(--dx-st-working)}.dx-status--done{--dx-st: var(--dx-st-done)}.dx-conflict-flag{position:absolute;bottom:3px;right:18px;color:var(--color-danger, #dc2626)}.dx .dx-card-menu--float{position:absolute;top:2px;right:2px;width:20px;min-width:20px;height:20px;min-height:20px;margin:0;opacity:.55}.dx .dispatch-card:hover .dx-card-menu--float,.dx .dx-card-menu--float:focus-visible{opacity:1;background:var(--color-surface, #fff)}.dx .dispatch-card-resize{width:12px;border-radius:0 var(--radius-sm, 6px) var(--radius-sm, 6px) 0;background:linear-gradient(to right,transparent,color-mix(in srgb,var(--dx-st, #64748b) 45%,transparent))}.dx .dispatch-card-resize:focus-visible{outline:2px solid var(--color-accent, #f59e0b);outline-offset:-2px;width:16px}@media(pointer:coarse){.dx .dispatch-card-resize{width:22px}.dx .dx-card-menu--float{opacity:1}}.dx .dispatch-card--ghost{position:static;min-width:180px;padding:6px 10px;border:0;background:var(--color-accent, #f59e0b);color:var(--color-accent-text, #1c1917);box-shadow:var(--shadow-lg, 0 12px 16px -4px rgba(16, 24, 40, .14))}.dx .dispatch-card--ghost .dispatch-card-sub{color:inherit;font-weight:600;font-variant-numeric:tabular-nums}.dx .dx-legend{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:0 0 var(--space-3, 12px);font-size:var(--text-sm, 13px)}.dx .dispatch-swatch{width:12px;height:12px;border-radius:3px;border:1px solid color-mix(in srgb,var(--dx-st, #64748b) 55%,var(--color-surface, #fff));background:color-mix(in srgb,var(--dx-st, #64748b) 22%,var(--color-surface, #fff))}.dx .dispatch-swatch--unassigned{--dx-st: var(--dx-st-unassigned)}.dx .dispatch-swatch--dispatched{--dx-st: var(--dx-st-dispatched)}.dx .dispatch-swatch--working{--dx-st: var(--dx-st-working)}.dx .dispatch-swatch--done{--dx-st: var(--dx-st-done)}.dx .dispatch-swatch--unit{background:transparent;border:1px solid var(--color-border-strong, #d0d5dd);border-left-width:5px}.dx-legend-sep{width:1px;height:20px;margin:0 4px;background:var(--color-border, #e4e7ec)}.dx-move-form{display:flex;flex-direction:column;gap:var(--space-3, 12px)}.dx-move-form label{display:flex;flex-direction:column;gap:4px}.dx-time-pair{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-3, 12px)}.dx-move-form .meta{margin:0}.dx .jobboard{grid-auto-columns:minmax(188px,1fr);gap:var(--space-3, 12px);margin-top:0;padding-bottom:var(--space-2, 8px)}.dx .jobboard.is-loading{opacity:.6;transition:opacity var(--dur, .18s)}.dx .jobboard-column{--dx-col: var(--color-neutral-text, #475467);display:flex;flex-direction:column;max-height:calc(100vh - var(--dx-sticky-top) - 230px);max-height:calc(100dvh - var(--dx-sticky-top) - 230px);min-height:9rem;padding:0;border:1px solid var(--color-border, #e4e7ec);border-top:3px solid color-mix(in srgb,var(--dx-col) 70%,transparent);border-radius:var(--radius-lg, 12px);background:color-mix(in srgb,var(--dx-col) 5%,var(--color-surface-sunken, #f8f9fb));box-shadow:none;overflow:hidden}.dx .jobboard-column--info{--dx-col: var(--color-info, #2563eb)}.dx .jobboard-column--warning{--dx-col: var(--color-warning, #d97706)}.dx .jobboard-column--success{--dx-col: var(--color-success, #16a34a)}.dx .jobboard-column--danger{--dx-col: var(--color-danger, #dc2626)}.dx .jobboard-column h2{position:sticky;top:0;z-index:1;display:flex;align-items:center;justify-content:space-between;gap:var(--space-2, 8px);margin:0;padding:var(--space-3, 12px);font-size:var(--text-sm, 13px);background:inherit}.dx .jobboard-column.is-over{border-color:var(--color-accent, #f59e0b);border-style:dashed;background:var(--color-accent-softer, #fffbeb)}.dx .jobboard-column-list{flex:1;gap:var(--space-2, 8px);padding:0 var(--space-2, 8px) var(--space-2, 8px);overflow-y:auto}.dx .jobboard-card{--dx-strip: var(--dx-col);cursor:grab}.dx .jobboard-card.board-card--static{cursor:default}.dx .jobboard-card:not(.board-card--static):hover{transform:translateY(-1px)}.dx .jobboard-card .board-card-title{margin-bottom:2px}.dx-moveto{display:block;margin-top:6px}.dx .dx-moveto select{width:100%;min-height:30px;height:30px;padding-top:0;padding-bottom:0;font-size:12px;color:var(--color-text-muted, #5b6474)}.dx .jobboard-count{margin:0;font-variant-numeric:tabular-nums}.dx-jobboard-skel .jobboard-column{gap:var(--space-2, 8px);padding:var(--space-3, 12px)}@media(pointer:coarse){.dx .dx-moveto select{min-height:44px;height:44px}}.dx .dx-map-stage{position:relative;display:block}.dx .map-canvas{height:calc(100vh - var(--dx-sticky-top) - 170px);height:calc(100dvh - var(--dx-sticky-top) - 170px);min-height:480px;border-radius:var(--radius-lg, 12px)}.dx .dx-map-panel{position:absolute;top:12px;right:12px;bottom:12px;width:340px;display:flex;flex-direction:column;gap:var(--space-2, 8px);margin:0;padding:var(--space-3, 12px);border-radius:var(--radius-lg, 12px);background:color-mix(in srgb,var(--color-surface, #fff) 96%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);box-shadow:var(--shadow-lg, 0 12px 16px -4px rgba(16, 24, 40, .14));z-index:2;overflow:hidden}.dx .dx-map-stage .map-overlay{padding-right:380px}.dx .map-canvas .map-fit-control{margin-right:364px!important}.dx .dx-layers{display:flex;flex-wrap:wrap;gap:6px;margin:0}.dx .dx-layer{min-height:34px;padding:0 10px 0 6px;gap:6px;border:1px solid var(--color-border, #e4e7ec);border-radius:var(--radius-pill, 999px);background:var(--color-surface, #fff);font-size:var(--text-sm, 13px);font-weight:550}.dx .dx-layer.is-on{border-color:var(--color-border-strong, #d0d5dd);background:var(--color-surface-sunken, #f8f9fb)}.dx .dx-layer input{width:16px;height:16px;min-height:0;margin:0}.dx .dx-layer:focus-within{outline:2px solid var(--color-accent, #f59e0b);outline-offset:1px}@media(pointer:coarse){.dx .dx-layer{min-height:44px}}.dx .dx-map-panel .dx-search{max-width:none;flex:0 0 auto}.dx .dx-map-list{flex:1;min-height:0;overflow-y:auto;margin:0 calc(-1 * var(--space-3, 12px));padding:0 var(--space-3, 12px)}.dx .dx-map-list .map-unplaced-list{max-height:none;margin-top:var(--space-2, 8px)}.dx .map-unplaced-list li{padding:var(--space-2, 8px) 0}.dx .dx-placed-list li{gap:var(--space-2, 8px)}.dx .dx-pin-link{color:var(--color-text, #161a22);text-decoration:none}.dx .dx-pin-link:hover{text-decoration:underline}.dx .map-side-fix,.dx-map-instruction{margin:var(--space-2, 8px) 0 0}.dx-why{margin-top:4px;font-size:var(--text-xs, 12px);color:var(--color-text-muted, #5b6474)}.dx-why summary{cursor:pointer;font-weight:600}.dx .dx-map-table{margin-top:var(--space-4, 16px)}.dx-map.is-list .map-canvas{display:none}.dx-map.is-list .dx-map-panel{position:static;width:auto;max-height:none;box-shadow:none;-webkit-backdrop-filter:none;backdrop-filter:none}.dx-map.is-list .dx-map-list{max-height:50vh;max-height:50dvh}@media(max-width:1560px){.dx{--dx-rail-w: 272px}}@media(max-width:960px){.dx .board,.dx .dispatch{grid-template-columns:minmax(0,1fr)}.dx .board-rail,.dx .dispatch-tray{position:static;max-height:45vh;max-height:45dvh}.dx .dx-map-stage{display:flex;flex-direction:column;gap:var(--space-3, 12px)}.dx .dx-map-panel{position:static;width:auto;max-height:60vh;max-height:60dvh;box-shadow:var(--shadow-xs, 0 1px 2px rgba(16, 24, 40, .05))}.dx .map-canvas{height:60vh;height:60dvh;min-height:320px}.dx .map-canvas .map-fit-control{margin-right:10px!important}.dx .dx-map-stage .map-overlay{padding-right:var(--space-6, 24px)}}@media(max-width:720px){.dx .dx-toolbar{position:static;margin-left:0;margin-right:0;padding:0;background:none;-webkit-backdrop-filter:none;backdrop-filter:none}.dx .dx-toolbar .ui-toolbar-main,.dx .dx-toolbar .ui-toolbar-end{width:100%}.dx-seg{min-height:44px}.dx .dx-datenav{width:100%}.dx .dx-datenav .dx-seg-btn:not(.dx-seg-icon){flex:1}.dx .dx-seg-date input{width:7.6rem}.dx-range{font-size:var(--text-md, 16px)}.dx .dx-inline-field{width:100%}.dx .dx-inline-field select{flex:1}.dx-search{max-width:none}.dx-chip,.dx .dx-chip{min-height:40px}.dx .dx-planbar{position:static}.dx .ui-page-actions{width:100%}.dx .ui-page-actions>.button-primary{flex:1;min-height:48px}.dx .jobboard-column{max-height:none;min-height:0}.dx .jobboard-column.is-empty .jobboard-column-list{display:none}.dx .dx-map-panel{max-height:none}}.dx .dispatch-card.is-draggable,.dx .dispatch-card.is-draggable .dispatch-card-link{cursor:grab;-webkit-user-drag:none;-webkit-user-select:none;user-select:none;touch-action:none}.dx .dispatch-card.is-draggable .dispatch-card-link:hover .dispatch-card-title{text-decoration:underline}.dx-agenda-item--ghost{flex-wrap:wrap;background:var(--color-info-bg, #eef4ff);border-top:1px dashed var(--color-info, #2563eb);border-left-style:dashed}.dx-agenda-item--ghost .board-kind{display:inline-flex;align-items:center;gap:4px;font-size:var(--text-xs, 12px);font-weight:600}.dx-agenda-item--ghost .board-card-flags{display:flex;flex-wrap:wrap;gap:4px}.dx-agenda-item--ghost .board-ghost-actions{display:flex;gap:var(--space-2, 8px)}@media(pointer:coarse){.dx .dx-agenda-item--ghost .board-ghost-actions button{min-height:44px;min-width:44px}}.cx-page{min-width:0}.cx-crumbs{display:flex;align-items:center;gap:var(--space-1, 4px);margin-bottom:var(--space-2, 8px);font-size:var(--text-sm, 13px);color:var(--color-text-muted)}.cx-crumbs .back-link{margin:0}.cx-skeleton-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg, 12px);padding:var(--space-5, 20px);margin-top:var(--space-4, 16px)}.cx-load-error{display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3, 12px);padding:var(--space-4, 16px);border:1px solid color-mix(in srgb,var(--color-danger) 35%,var(--color-border));background:var(--color-danger-bg);color:var(--color-danger-text);border-radius:var(--radius, 8px);margin-bottom:var(--space-4, 16px)}.cx-prose{white-space:pre-wrap;margin:0}.cx-subhead{font-size:var(--text-sm, 13px);font-weight:600;color:var(--color-text-muted);margin:var(--space-5, 20px) 0 var(--space-2, 8px);text-transform:none;letter-spacing:0}.cx-inline-actions{display:flex;flex-wrap:wrap;gap:var(--space-2, 8px)}.cx-relative{color:var(--color-text-muted)}.cx-more{position:relative;display:inline-flex}.cx-menu{position:absolute;right:0;top:calc(100% + 4px);z-index:40;min-width:220px;padding:var(--space-1, 4px);background:var(--color-surface-raised, var(--color-surface));border:1px solid var(--color-border);border-radius:var(--radius, 8px);box-shadow:var(--shadow-md, 0 4px 8px -2px rgba(16, 24, 40, .1));display:flex;flex-direction:column}.cx-menu-item,a.cx-menu-item{display:flex;align-items:center;justify-content:flex-start;gap:var(--space-2, 8px);width:100%;min-height:40px;padding:0 var(--space-3, 12px);border:0;border-radius:var(--radius-sm, 6px);background:transparent;box-shadow:none;color:var(--color-text);font:inherit;font-size:var(--text-base, 14px);font-weight:500;text-align:left;text-decoration:none;text-transform:none;letter-spacing:0;white-space:nowrap;cursor:pointer}.cx-menu-item:hover:not(:disabled),.cx-menu-item:focus-visible{background:var(--color-surface-hover, var(--color-surface-sunken))}.cx-menu-item--danger{color:var(--color-danger-text)}@media(pointer:coarse){.cx-menu-item{min-height:48px}}.cx-chips{display:flex;flex-wrap:wrap;gap:var(--space-2, 8px);margin-top:var(--space-2, 8px)}.cx-chip{display:inline-flex;align-items:center;gap:var(--space-2, 8px);min-height:36px;max-width:100%;padding:0 var(--space-3, 12px);border:1px solid var(--color-border-strong);border-radius:999px;background:var(--color-surface);color:var(--color-text);font-size:var(--text-sm, 13px);font-weight:500;text-decoration:none}a.cx-chip:hover{border-color:var(--color-accent);color:var(--color-text)}.cx-chip .ui-icon{color:var(--color-accent-strong, var(--color-accent))}.cx-chip--static{color:var(--color-text-muted)}.cx-chip-text{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}@media(pointer:coarse){.cx-chip{min-height:44px;font-size:var(--text-base, 15px)}}.cx-chip-row{display:flex;gap:var(--space-2, 8px);flex-wrap:wrap}.cx-filter-chip{display:inline-flex;align-items:center;gap:var(--space-2, 8px);min-height:32px;padding:0 var(--space-3, 12px);border-radius:999px;border:1px solid var(--color-border-strong);background:var(--color-surface);color:var(--color-text);font-size:var(--text-sm, 13px);font-weight:500;text-transform:none;letter-spacing:0;box-shadow:none}.cx-filter-chip:hover:not(:disabled){background:var(--color-surface-hover, var(--color-surface-sunken))}.cx-filter-chip.is-active{background:var(--color-accent-soft, color-mix(in srgb, var(--color-accent) 14%, var(--color-surface)));border-color:var(--color-accent);color:var(--color-text)}.cx-filter-chip.is-active:before{content:"";width:6px;height:6px;border-radius:50%;background:var(--color-accent)}.cx-filter-count{min-width:20px;padding:0 6px;border-radius:999px;background:var(--color-neutral-bg);color:var(--color-neutral-text);font-size:12px;font-weight:600;text-align:center;font-variant-numeric:tabular-nums}.cx-filter-chip--warning .cx-filter-count{background:var(--color-warning-bg);color:var(--color-warning-text)}.cx-filter-chip--danger .cx-filter-count{background:var(--color-danger-bg);color:var(--color-danger-text)}@media(pointer:coarse){.cx-filter-chip{min-height:44px}}@media(max-width:720px){.cx-chip-row{flex-wrap:nowrap;overflow-x:auto;margin:0 calc(-1 * var(--space-4, 16px));padding:2px var(--space-4, 16px);scrollbar-width:none}.cx-chip-row::-webkit-scrollbar{display:none}.cx-filter-chip{flex:none}}.cx-search{position:relative;flex:1 1 260px;max-width:420px;min-width:0}.cx-search>.ui-icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);color:var(--color-text-muted);pointer-events:none}.cx-search input{width:100%;max-width:none;padding-left:38px}@media(max-width:720px){.cx-search{max-width:none;flex-basis:100%}}.cx-count{font-size:var(--text-sm, 13px);color:var(--color-text-muted);font-variant-numeric:tabular-nums}.cx-detail{display:grid;gap:var(--space-4, 16px);grid-template-columns:minmax(0,1fr);grid-template-areas:"next" "side" "tabs"}.cx-area-next{grid-area:next}.cx-area-side{grid-area:side}.cx-area-tabs{grid-area:tabs;min-width:0}@media(min-width:1000px){.cx-detail{grid-template-columns:minmax(0,1fr) 340px;grid-template-areas:"next side" "tabs side";grid-template-rows:auto 1fr;align-items:start}.cx-area-side{position:sticky;top:calc(var(--shell-topbar-h, 56px) + var(--space-4, 16px))}}.cx-tabpanel{padding-top:var(--space-4, 16px)}.cx-side-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg, 12px);box-shadow:var(--shadow-xs, none);padding:var(--space-5, 20px);display:flex;flex-direction:column;gap:var(--space-4, 16px)}.cx-side-block+.cx-side-block,.cx-side-block+.cx-facts{border-top:1px solid var(--color-border);padding-top:var(--space-4, 16px)}.cx-side-label{font-size:var(--text-xs, 12px);font-weight:600;color:var(--color-text-muted);margin-bottom:var(--space-1, 4px)}.cx-side-value{font-weight:600}.cx-key-value{display:block;font-size:var(--text-lg, 18px);line-height:1.35;font-weight:600;color:var(--color-text)}a.cx-key-value{text-decoration:underline;text-decoration-color:color-mix(in srgb,var(--color-text) 30%,transparent);text-underline-offset:3px}.cx-facts{display:grid;grid-template-columns:max-content minmax(0,1fr);gap:var(--space-2, 8px) var(--space-4, 16px);margin:0;font-size:var(--text-base, 14px)}.cx-facts dt{color:var(--color-text-muted);font-size:var(--text-sm, 13px)}.cx-facts dd{margin:0;min-width:0;overflow-wrap:anywhere}.cx-next-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg, 12px);box-shadow:var(--shadow-xs, none);padding:var(--space-5, 20px);display:flex;flex-direction:column;gap:var(--space-4, 16px)}.cx-stepper{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-2, 8px);counter-reset:none}.cx-step{position:relative;display:flex;align-items:flex-start;gap:var(--space-2, 8px);min-width:0}.cx-step:not(:last-child):after{content:"";position:absolute;top:13px;left:34px;right:calc(-1 * var(--space-2, 8px) + 4px);height:2px;background:var(--color-border)}.cx-step--done:not(:last-child):after{background:var(--color-success)}.cx-step-dot{position:relative;z-index:1;flex:none;width:28px;height:28px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700;background:var(--color-surface);border:2px solid var(--color-border-strong);color:var(--color-text-muted);font-variant-numeric:tabular-nums}.cx-step--done .cx-step-dot{background:var(--color-success);border-color:var(--color-success);color:#fff}.cx-step--current .cx-step-dot{border-color:var(--color-accent);background:var(--color-accent);color:var(--color-accent-text, #fff);box-shadow:0 0 0 4px var(--color-accent-ring, color-mix(in srgb, var(--color-accent) 25%, transparent))}.cx-stepper--held .cx-step--current .cx-step-dot{border-color:var(--color-warning);background:var(--color-warning-bg);color:var(--color-warning-text);box-shadow:0 0 0 4px color-mix(in srgb,var(--color-warning) 22%,transparent)}.cx-step-text{display:flex;flex-direction:column;min-width:0;padding-top:3px;background:var(--color-surface);position:relative;z-index:1;padding-right:var(--space-2, 8px)}.cx-step-label{font-size:var(--text-sm, 13px);font-weight:600;color:var(--color-text);white-space:nowrap}.cx-step--todo .cx-step-label{color:var(--color-text-muted)}.cx-step-state{font-size:var(--text-xs, 12px);color:var(--color-text-muted)}.cx-step--current .cx-step-state{color:var(--color-text);font-weight:600}.cx-stepper--held .cx-step--current .cx-step-state{color:var(--color-warning-text)}@media(max-width:560px){.cx-step{flex-direction:column;align-items:center;text-align:center}.cx-step:not(:last-child):after{left:calc(50% + 18px);right:calc(-50% + 18px - var(--space-2, 8px))}.cx-step-text{align-items:center;padding:0;background:transparent}.cx-step-label{white-space:normal;font-size:var(--text-xs, 12px)}}.cx-next{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4, 16px);padding:var(--space-4, 16px);border-radius:var(--radius, 8px);background:var(--color-accent-softer, color-mix(in srgb, var(--color-accent) 7%, var(--color-surface)));border:1px solid var(--color-accent-border, color-mix(in srgb, var(--color-accent) 30%, var(--color-border)))}.cx-next-text{min-width:0}.cx-next-text p{margin:0}.cx-next-title{font-weight:600;margin-bottom:var(--space-1, 4px)!important}.cx-next-button{min-height:48px;font-size:var(--text-md, 16px);gap:var(--space-2, 8px);white-space:nowrap}@media(min-width:721px){.cx-next-bar.action-bar{position:static;z-index:auto;padding:0;border:0;box-shadow:none;background:transparent;flex:none}}@media(max-width:720px){.cx-next{padding:var(--space-3, 12px) var(--space-4, 16px)}.cx-next-bar.action-bar{padding:var(--space-2, 8px) var(--space-3, 12px) calc(var(--space-2, 8px) + env(safe-area-inset-bottom))}.cx-next-button{width:100%;min-height:56px;font-size:var(--text-lg, 18px)}}.cx-next-notice{display:flex;align-items:center;gap:var(--space-2, 8px);margin:0;padding:var(--space-2, 8px) var(--space-3, 12px);border-radius:var(--radius-sm, 6px);background:var(--color-success-bg);color:var(--color-success-text);font-weight:500}.cx-next-secondary{display:flex;flex-wrap:wrap;align-items:flex-start;gap:var(--space-2, 8px)}.cx-hold{display:contents}.cx-hold--open,.cx-hold--held{display:flex;flex-basis:100%;gap:var(--space-3, 12px);padding:var(--space-3, 12px) var(--space-4, 16px);border-radius:var(--radius, 8px);border:1px solid var(--color-border);background:var(--color-surface-sunken)}.cx-hold--held{align-items:center;justify-content:space-between;flex-wrap:wrap;border-color:color-mix(in srgb,var(--color-warning) 40%,var(--color-border));background:var(--color-warning-bg);color:var(--color-warning-text)}.cx-hold--held p{margin:0}.cx-hold--held .meta{color:inherit;opacity:.85}.form.cx-hold-form{width:100%;display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-3, 12px);align-items:end}.cx-hold-form .action-group{grid-column:1 / -1}.cx-rows{list-style:none;margin:0;padding:0}.cx-row{display:flex;align-items:center;gap:var(--space-3, 12px);min-height:48px;padding:var(--space-2, 8px) 0;border-top:1px solid var(--color-border)}.cx-row:first-child{border-top:0}.cx-row-icon{color:var(--color-text-muted)}.cx-row-main{flex:1 1 auto;min-width:0;overflow-wrap:anywhere}.cx-row-main .meta{font-size:var(--text-sm, 13px)}.cx-row-amount{font-variant-numeric:tabular-nums;font-weight:600}.cx-timeline{gap:0}.cx-timeline .cx-timeline-item{display:grid;grid-template-columns:20px minmax(0,1fr);gap:var(--space-3, 12px);align-items:start;position:relative;padding-bottom:var(--space-4, 16px)}.cx-timeline .cx-timeline-item:not(:last-child):before{content:"";position:absolute;left:9px;top:16px;bottom:0;width:2px;background:var(--color-border)}.cx-timeline-dot{width:12px;height:12px;margin:4px;border-radius:50%;background:var(--color-surface);border:2px solid var(--color-border-strong);position:relative;z-index:1}.cx-timeline-item--completed .cx-timeline-dot{background:var(--color-success);border-color:var(--color-success)}.cx-timeline-item--arrived .cx-timeline-dot{background:var(--color-accent);border-color:var(--color-accent)}.cx-timeline-item--hold .cx-timeline-dot{background:var(--color-warning);border-color:var(--color-warning)}.cx-timeline-body{display:flex;flex-direction:column;gap:2px}.cx-visit-form{padding:var(--space-4, 16px);border-radius:var(--radius, 8px);background:var(--color-surface-sunken);border:1px solid var(--color-border)}.cx-visit-form-row{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-3, 12px)}.cx-visit-form-row>label:first-child{flex:1 1 160px}.cx-photo-button{flex:1 1 200px;display:inline-flex!important;flex-direction:row!important;align-items:center;justify-content:center;gap:var(--space-2, 8px);min-height:var(--control-h, 40px);padding:0 var(--space-4, 16px);border:1px dashed var(--color-border-strong);border-radius:var(--radius, 8px);background:var(--color-surface);color:var(--color-text);font-weight:600;cursor:pointer}.cx-photo-button:hover{border-color:var(--color-accent)}.cx-photo-button:focus-within{outline:2px solid var(--color-focus, var(--color-accent));outline-offset:2px}.cx-visit-submit{display:flex;justify-content:flex-end}.cx-visit-days{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-4, 16px)}.cx-visit-day-head{display:flex;align-items:baseline;gap:var(--space-2, 8px);margin-bottom:var(--space-2, 8px)}@media(max-width:720px){.cx-photo-button{min-height:56px;flex-basis:100%}.cx-visit-submit button{width:100%;min-height:48px}}.cx-form{display:flex;flex-direction:column;gap:var(--space-4, 16px);max-width:960px}.cx-form-section{margin:0;padding:var(--space-5, 20px);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg, 12px);box-shadow:var(--shadow-xs, none);min-width:0}.cx-form-section>legend{float:left;width:100%;padding:0;margin:0 0 var(--space-4, 16px);font-size:var(--text-md, 16px);font-weight:600;color:var(--color-text)}.cx-form-section>legend+*{clear:both}.cx-form-hint{margin:calc(-1 * var(--space-3, 12px)) 0 var(--space-4, 16px);color:var(--color-text-muted);font-size:var(--text-sm, 13px);clear:both}.cx-radio-row{display:flex;flex-wrap:wrap;gap:var(--space-2, 8px)}.cx-radio{display:inline-flex!important;flex-direction:row!important;align-items:center;gap:var(--space-2, 8px);min-height:40px;padding:0 var(--space-4, 16px);border:1px solid var(--color-border-strong);border-radius:var(--radius, 8px);background:var(--color-surface);font-weight:500;cursor:pointer}.cx-radio:has(input:checked){border-color:var(--color-accent);background:var(--color-accent-softer, color-mix(in srgb, var(--color-accent) 8%, var(--color-surface)))}.cx-form-narrow{margin-top:var(--space-3, 12px);max-width:360px}.cx-sticky-save{position:sticky;bottom:0;z-index:20;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-3, 12px);padding:var(--space-3, 12px) var(--space-4, 16px);background:color-mix(in srgb,var(--color-surface) 92%,transparent);-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid var(--color-border);border-radius:var(--radius-lg, 12px);box-shadow:var(--shadow-md, 0 -2px 8px rgba(16, 24, 40, .08))}.cx-sticky-save .form-error{margin:0}.cx-sticky-save-buttons{display:flex;gap:var(--space-2, 8px);margin-left:auto}@media(max-width:720px){.cx-form-section{padding:var(--space-4, 16px)}.cx-sticky-save{bottom:calc(var(--shell-tabbar-h, 0px) + env(safe-area-inset-bottom));border-radius:var(--radius, 8px)}.cx-sticky-save-buttons{width:100%}.cx-sticky-save-buttons>*{flex:1 1 0;min-height:48px}}.dialog .cx-sticky-save{bottom:calc(-1 * var(--space-5, 20px));margin:0 calc(-1 * var(--space-1, 4px));box-shadow:none}.cx-group-label{margin:var(--space-3, 12px) 0 calc(-1 * var(--space-1, 4px));padding-top:var(--space-3, 12px);border-top:1px solid var(--color-border);font-size:var(--text-sm, 13px);font-weight:600;color:var(--color-text)}.cx-field-hint{margin:calc(-1 * var(--space-2, 8px)) 0 0}.cx-check{display:flex!important;flex-direction:row!important;align-items:center;gap:var(--space-2, 8px);font-weight:500}.cx-mode-bar{position:sticky;top:calc(var(--shell-topbar-h, 56px) + var(--space-2, 8px));z-index:15;display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:var(--space-3, 12px);padding:var(--space-3, 12px) var(--space-4, 16px);margin-bottom:var(--space-4, 16px);border-radius:var(--radius, 8px);border:1px solid var(--color-accent-border, color-mix(in srgb, var(--color-accent) 35%, var(--color-border)));background:var(--color-accent-softer, color-mix(in srgb, var(--color-accent) 8%, var(--color-surface)));box-shadow:var(--shadow-sm, none)}.cx-row-selected td{background:var(--color-accent-softer, color-mix(in srgb, var(--color-accent) 8%, var(--color-surface)))}.cx-strong-link{font-weight:600}.cx-row-actions{width:1%;white-space:nowrap;text-align:right}.cx-card-with-check{display:grid;grid-template-columns:44px minmax(0,1fr);align-items:center;gap:var(--space-2, 8px)}.cx-card-check{width:24px;height:24px;justify-self:center}.cx-title-with-avatar{display:inline-flex;align-items:center;gap:var(--space-3, 12px);min-width:0}.cx-avatar{flex:none;width:44px;height:44px;border-radius:12px;display:grid;place-items:center;font-size:var(--text-md, 16px);font-weight:700;letter-spacing:.02em;background:var(--color-accent-soft, color-mix(in srgb, var(--color-accent) 16%, var(--color-surface)));color:var(--color-accent-strong, var(--color-text));border:1px solid var(--color-accent-border, color-mix(in srgb, var(--color-accent) 30%, transparent))}.cx-detail--customer{grid-template-areas:"side" "tabs"}@media(min-width:1000px){.cx-detail--customer{grid-template-columns:320px minmax(0,1fr);grid-template-areas:"side tabs";grid-template-rows:auto}}.cx-address-list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:var(--space-2, 8px)}.cx-address-list li{display:flex;flex-direction:column;gap:2px}.cx-mini-link{display:inline-flex;align-items:center;gap:4px;font-size:var(--text-sm, 13px);width:fit-content;min-height:28px}@media(pointer:coarse){.cx-mini-link{min-height:44px}}.cx-link-button{display:inline;min-height:0;padding:0;border:0;background:none;box-shadow:none;color:var(--color-link, var(--color-info));font:inherit;text-decoration:underline;text-transform:none;letter-spacing:0;cursor:pointer}.cx-row-sub{display:block;font-size:var(--text-sm, 13px);color:var(--color-text-muted)}.cx-history{margin-top:var(--space-4, 16px)}.cx-feed{list-style:none;margin:0;padding:0}.cx-feed-item{display:flex;align-items:center;gap:var(--space-3, 12px);padding:var(--space-3, 12px) 0;border-top:1px solid var(--color-border);position:relative}.cx-feed-item:first-child{border-top:0}.cx-feed-icon{flex:none;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;background:var(--color-surface-sunken);border:1px solid var(--color-border);color:var(--color-text-muted)}.cx-feed-main{flex:1 1 auto;min-width:0;display:flex;flex-direction:column;gap:2px}.cx-feed-title{font-weight:600;overflow-wrap:anywhere}.cx-feed-main .meta{font-size:var(--text-sm, 13px)}.cx-stack{display:inline-flex;flex-direction:column;align-items:flex-start;gap:2px}.cx-plain-list{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:4px}.cx-section-title{font-size:var(--text-md, 16px);font-weight:600;margin:0 0 var(--space-3, 12px)}.cx-attention{display:flex;align-items:flex-start;gap:var(--space-3, 12px);flex-wrap:wrap;padding:var(--space-3, 12px) var(--space-4, 16px);margin-bottom:var(--space-4, 16px);border-radius:var(--radius, 8px);border:1px solid color-mix(in srgb,var(--color-warning) 40%,var(--color-border));background:var(--color-warning-bg);color:var(--color-warning-text)}.cx-attention-text{flex:1 1 240px}.cx-attention-text p{margin:0}.cx-attention-text p+p{margin-top:var(--space-1, 4px)}.cx-visit-steps{list-style:none;margin:0;padding:0}.cx-visit-step{display:grid;grid-template-columns:32px minmax(0,1fr);gap:var(--space-3, 12px);position:relative}.cx-visit-step:not(:last-child):before{content:"";position:absolute;left:15px;top:34px;bottom:0;width:2px;background:var(--color-border)}.cx-visit-marker{width:32px;height:32px;border-radius:50%;display:grid;place-items:center;font-weight:700;font-size:13px;background:var(--color-surface);border:2px solid var(--color-border-strong);color:var(--color-text-muted);margin-top:var(--space-4, 16px);position:relative;z-index:1}.cx-visit-step--done .cx-visit-marker{background:var(--color-success);border-color:var(--color-success);color:#fff}.cx-visit-step--booked .cx-visit-marker{border-color:var(--color-accent);color:var(--color-text)}.cx-visit-card{min-width:0}.cx-visit-empty{display:flex;flex-direction:column;align-items:flex-start;gap:var(--space-3, 12px)}.cx-visit-empty p{margin:0}.cx-card-foot{margin-top:var(--space-3, 12px);justify-content:flex-end}.cx-merge-explain{margin:0 0 var(--space-4, 16px);max-width:75ch}.cx-merge-cards{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);align-items:stretch;gap:var(--space-3, 12px);margin-bottom:var(--space-4, 16px)}.cx-merge-swap{align-self:center}.cx-merge-card{display:flex;flex-direction:column;gap:var(--space-3, 12px);padding:var(--space-5, 20px);border-radius:var(--radius-lg, 12px);background:var(--color-surface);border:2px solid var(--color-border)}.cx-merge-card.is-kept{border-color:var(--color-success)}.cx-merge-card.is-removed{border-style:dashed;background:var(--color-surface-sunken)}.cx-merge-card>button{align-self:flex-start}.cx-merge-card-head{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:var(--space-3, 12px)}.cx-merge-name{font-weight:600;font-size:var(--text-md, 16px);overflow-wrap:anywhere}@media(max-width:720px){.cx-merge-cards{grid-template-columns:minmax(0,1fr)}.cx-merge-swap{justify-self:center}}.cx-sticky-save--danger{border-color:color-mix(in srgb,var(--color-danger) 35%,var(--color-border))}.cx-sticky-save--danger p{margin:0}.cx-import-steps{list-style:none;margin:0 0 var(--space-5, 20px);padding:0;display:flex;flex-wrap:wrap;gap:var(--space-2, 8px)}.cx-import-step{display:inline-flex;align-items:center;gap:var(--space-2, 8px);padding:var(--space-1, 4px) var(--space-3, 12px) var(--space-1, 4px) var(--space-1, 4px);border-radius:999px;border:1px solid var(--color-border);background:var(--color-surface);font-size:var(--text-sm, 13px);font-weight:500;color:var(--color-text-muted)}.cx-import-step-num{width:24px;height:24px;border-radius:50%;display:grid;place-items:center;font-size:12px;font-weight:700;background:var(--color-neutral-bg);color:var(--color-neutral-text)}.cx-import-step.is-done .cx-import-step-num{background:var(--color-success);color:#fff}.cx-import-step.is-current{border-color:var(--color-accent);color:var(--color-text)}.cx-import-step.is-current .cx-import-step-num{background:var(--color-accent);color:var(--color-accent-text, #fff)}.cx-rules{list-style:none;margin:0 0 var(--space-3, 12px);padding:0;display:flex;flex-direction:column;gap:var(--space-1, 4px)}.cx-rules li{display:flex;gap:var(--space-2, 8px);align-items:flex-start}.cx-rules .ui-icon{color:var(--color-success);margin-top:2px}.cx-paste{width:100%;font-family:var(--font-mono, monospace);font-size:.85rem}.cx-import-counts{display:flex;flex-wrap:wrap;gap:var(--space-2, 8px);align-items:center}.cx-card-li{position:relative}.cx-card-link{padding-right:60px}.cx-card-more{position:absolute;top:6px;right:6px}.cx-card-more .cx-more-toggle{min-width:44px;min-height:44px}.cx-card-fields{display:flex;flex-direction:column;gap:2px;font-size:var(--text-sm, 14px);color:var(--color-text)}.cx-card-fields:empty{display:none}.cx-card-field{overflow-wrap:anywhere}.cx-card-field-label{color:var(--color-text-muted)}.parts-dialog-form{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.parts-onhand{display:flex;flex-wrap:wrap;gap:1.5rem;padding:.75rem;background:var(--color-surface-sunken);border:1px solid var(--color-border);border-radius:var(--radius-sm)}.parts-onhand>div{display:flex;flex-direction:column;gap:.15rem}.parts-onhand strong{font-size:1.15rem}.parts-template-item-part{display:flex;flex-wrap:wrap;gap:.5rem}.parts-template-item-part select,.parts-template-item-part input{flex:1 1 10rem;min-width:0}.parts-board{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:var(--space-3, 12px);align-items:start}.parts-board-column{--lane: var(--color-border-strong);padding:var(--space-3, 12px);min-width:0;margin:0;background:var(--color-surface-sunken, #f8f9fb);border:1px solid var(--color-border);border-radius:var(--radius-lg, 12px);box-shadow:none;transition:border-color var(--dur-fast, .1s) ease,background var(--dur-fast, .1s) ease}.parts-board-column[data-column=now]{--lane: var(--color-danger)}.parts-board-column[data-column=soon]{--lane: var(--color-warning)}.parts-board-column[data-column=next_time]{--lane: var(--color-success)}.parts-board-head{margin-bottom:var(--space-3, 12px)}.parts-board-column h3{margin:0 0 2px;font-size:var(--text-sm, 14px);font-weight:650;text-transform:none;letter-spacing:0;display:flex;align-items:center;gap:var(--space-2, 8px);color:var(--color-text);border:0;padding:0}.parts-board-dot{width:10px;height:10px;border-radius:999px;background:var(--lane);flex-shrink:0}.parts-board-column h3 .board-rail-count{margin-left:auto}.parts-board-column .parts-board-head .meta{margin:0;font-size:var(--text-xs, 12px)}.parts-board-column.is-over{border:2px dashed var(--color-accent);padding:calc(var(--space-3, 12px) - 1px);background:var(--color-accent-softer, var(--color-info-bg))}.parts-board-list{display:flex;flex-direction:column;gap:var(--space-2, 8px);min-height:3rem}.parts-board-empty{margin:0;padding:var(--space-4, 16px) var(--space-2, 8px);text-align:center;font-size:var(--text-xs, 12px);border:1px dashed var(--color-border);border-radius:var(--radius, 8px)}.board-card--part{display:flex;flex-direction:column;gap:var(--space-2, 8px);padding:var(--space-3, 12px);background:var(--color-surface);border:1px solid var(--color-border);border-left:3px solid var(--lane, var(--color-border-strong));border-radius:var(--radius, 8px);box-shadow:var(--shadow-xs, 0 1px 2px rgba(16, 24, 40, .05))}.board-card--part:hover{border-color:var(--color-border-hover, var(--color-border-strong));border-left-color:var(--lane, var(--color-border-strong))}.parts-card-top{display:flex;align-items:center;gap:6px;min-height:24px}.parts-card-top .board-kind{margin:0}.parts-card-main{display:flex;align-items:baseline;justify-content:space-between;gap:var(--space-2, 8px)}.board-card--part .board-card-title{font-size:var(--text-md, 15px);line-height:1.3}.parts-card-qty{flex-shrink:0;font-size:var(--text-xs, 12px);font-weight:600;padding:1px 8px;border-radius:999px;background:var(--color-neutral-bg, #f0f2f5);color:var(--color-text);font-variant-numeric:tabular-nums}.board-card--part .board-card-address{display:flex;gap:4px;align-items:flex-start;font-size:var(--text-xs, 12px);color:var(--color-text-muted)}.board-card--part .board-card-address .ui-icon{margin-top:1px}.board-card--part .board-card-flags{margin:0;align-items:center}.parts-card-by{font-size:var(--text-xs, 12px);color:var(--color-text-muted)}.parts-board-handle{margin-left:auto;display:inline-grid;place-items:center;width:32px;height:28px;min-height:28px;min-width:32px;padding:0;background:transparent;color:var(--color-text-muted);border:1px solid transparent;border-radius:var(--radius-sm, 6px);box-shadow:none;cursor:grab;touch-action:none}.parts-board-handle:hover{background:var(--color-surface-hover, #f2f4f7);border-color:var(--color-border);color:var(--color-text)}.parts-board-handle:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}.parts-board-handle:active{cursor:grabbing}@media(pointer:coarse){.parts-board-handle{width:44px;height:44px}}.parts-card-foot{display:flex;flex-direction:column;gap:var(--space-2, 8px);padding-top:var(--space-2, 8px);border-top:1px solid var(--color-border)}.parts-board-priority label{display:flex;flex-direction:column;gap:2px;font-size:var(--text-xs, 12px);color:var(--color-text-muted);font-weight:500}.parts-board-priority select{width:100%}.parts-board-actions{display:flex;flex-wrap:wrap;gap:6px}.parts-board-actions button{flex:1 1 auto;min-width:0;display:inline-flex;align-items:center;justify-content:center;gap:4px}.parts-board-fulfilled{margin-top:var(--space-4, 16px);padding:var(--space-3, 12px) var(--space-4, 16px);font-size:var(--text-sm, 14px);border:1px solid var(--color-border);border-radius:var(--radius, 8px);background:var(--color-surface)}.parts-board-fulfilled summary{cursor:pointer;display:flex;align-items:center;gap:var(--space-2, 8px);font-weight:550}.parts-board-fulfilled ul{margin:var(--space-2, 8px) 0 0;padding-left:1.25rem}.parts-board-struck{text-decoration:line-through;color:var(--color-text-muted)}@media(max-width:720px){.parts-board{grid-template-columns:minmax(0,1fr)}.parts-board-actions button{min-height:44px}}@media(min-width:721px)and (max-width:1100px){.parts-board{grid-template-columns:repeat(2,minmax(0,1fr))}}.parts-tab-panel{min-width:0}.part-priority-select--bare{display:block;margin:0}.part-priority-select--bare select{min-width:9rem}.parts-needed-where a{font-weight:500}.parts-quick-edit input:not([type=checkbox]),.parts-quick-edit select{min-height:32px}.parts-qty-low{font-weight:650}.parts-import-table{max-height:18rem;overflow:auto}.parts-edit-status{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:var(--space-3, 12px);padding:var(--space-3, 12px);border:1px solid var(--color-border);border-radius:var(--radius, 8px);background:var(--color-surface-sunken, #f8f9fb);grid-column:1 / -1}.parts-edit-status p{margin:0}.parts-danger{border-color:var(--color-danger-border, var(--color-danger))}.parts-card-onhand{display:flex;align-items:baseline;gap:6px;font-size:var(--text-2xl, 24px);font-weight:650;font-variant-numeric:tabular-nums}.parts-card-onhand small{font-size:var(--text-sm, 14px);font-weight:500;color:var(--color-text-muted)}.parts-print-section{margin:1rem 0 .25rem;font-size:1rem;color:#000}.print-table .p5-num,.print-table th.p5-num{text-align:right;font-variant-numeric:tabular-nums}.parts-print .print-table{margin:.5rem 0 1rem}.parts-print .print-table th,.parts-print .print-table td{border:0;border-bottom:1px solid #dcdfe4;padding:.3rem .4rem;vertical-align:top;color:#000}.parts-print .print-table thead th{border-bottom:1px solid #667085;font-weight:650;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.parts-print .print-table thead th.p5-num{white-space:normal}.parts-print .print-table--compact th,.parts-print .print-table--compact td{padding:.25rem .35rem;font-size:.75rem}.parts-print .parts-print-catalog,.parts-print .parts-print-list{table-layout:fixed;width:100%}.parts-print .parts-print-catalog .parts-print-col-name{width:44%}.parts-print .parts-print-catalog .parts-print-col-unit{width:9%}.parts-print .parts-print-catalog .parts-print-col-qty{width:11%}.parts-print .parts-print-catalog .parts-print-col-reorder{width:13%}.parts-print .parts-print-catalog .parts-print-col-purchase{width:12%}.parts-print .parts-print-catalog .parts-print-col-sell{width:11%}.parts-print .parts-print-catalog--retired .parts-print-col-name{width:35%}.parts-print .parts-print-catalog--retired .parts-print-col-active{width:9%}.parts-print .parts-print-list .print-checkbox{width:6%}.parts-print .parts-print-list .parts-print-col-name{width:79%;white-space:normal}.parts-print .parts-print-list .parts-print-col-qty{width:15%}.parts-print .parts-print-cell-name,.parts-print .parts-print-name,.parts-print .parts-print-for{overflow-wrap:anywhere}.parts-print .parts-print-main>td{border-top:1px solid #98a2b3;border-bottom:0;padding-top:.35rem}.parts-print .parts-print-name,.parts-print .parts-print-main .p5-num{font-weight:650}.parts-print .parts-print-detail>td{border-bottom:0;padding-top:.1rem;padding-bottom:.1rem;color:#333}.parts-print .parts-print-for{padding-left:1.1rem}.parts-print .parts-print-group>tr:last-child>td{padding-bottom:.35rem}@media print{.parts-print{background:#fff;color:#000;font-size:10.5pt}.parts-print h1{font-size:15pt}.print-page .parts-print{overflow-x:visible}.parts-print .parts-print-section{font-size:11.5pt}.parts-print .print-table th,.parts-print .print-table td{font-size:10pt;padding:3pt 4pt}.parts-print .print-table--compact th,.parts-print .print-table--compact td{font-size:9.5pt;padding:2.5pt 3pt}.parts-print .parts-print-detail>td{font-size:9.5pt;padding-top:1pt;padding-bottom:1pt}.parts-print .print-table thead th{font-size:8.5pt}.parts-print thead{display:table-header-group}.parts-print tfoot{display:table-footer-group}.parts-print .parts-print-group,.parts-print .parts-print-row,.parts-print .parts-print-main,.parts-print .parts-print-detail{break-inside:avoid;page-break-inside:avoid}.parts-print h1,.parts-print h2{break-after:avoid;page-break-after:avoid}}.merge-pair{display:grid;grid-template-columns:minmax(0,1fr) auto minmax(0,1fr);gap:var(--space-3, 12px);align-items:center;margin-bottom:var(--space-4, 16px)}.merge-side--keep{border-color:var(--color-success)}.merge-side--delete{border-style:dashed}.merge-side--delete .p5-card-title{text-decoration:line-through;color:var(--color-text-muted)}.merge-swap{display:inline-flex;align-items:center;gap:6px;white-space:normal;max-width:12rem;text-align:center}@media(max-width:720px){.merge-pair{grid-template-columns:minmax(0,1fr)}.merge-swap{max-width:none;width:100%;min-height:48px;justify-content:center}}.parts-print-bar{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin-bottom:1rem}.p5-menu{position:relative;display:inline-flex}.p5-menu-trigger{display:inline-flex;align-items:center;gap:var(--space-2, 8px);text-transform:none;letter-spacing:0}.p5-menu-trigger.button-icon{min-width:40px;justify-content:center;padding-left:var(--space-2, 8px);padding-right:var(--space-2, 8px)}.p5-menu-list{position:absolute;top:calc(100% + 4px);z-index:40;min-width:200px;padding:var(--space-1, 4px);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius, 8px);box-shadow:var(--shadow-md, 0 12px 16px -4px rgba(16, 24, 40, .1), 0 4px 6px -2px rgba(16, 24, 40, .05));display:flex;flex-direction:column}.p5-menu-list--end{right:0}.p5-menu-list--start{left:0}.p5-menu-item{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:flex;align-items:center;gap:var(--space-2, 8px);width:100%;min-height:36px;padding:0 var(--space-3, 12px);border:0;border-radius:var(--radius-sm, 6px);background:transparent;box-shadow:none;font:inherit;font-size:var(--text-sm, 14px);font-weight:500;color:var(--color-text);text-align:left;text-transform:none;letter-spacing:0;text-decoration:none;white-space:nowrap;cursor:pointer}.p5-menu-item:hover,.p5-menu-item:focus-visible{background:var(--color-surface-sunken, rgba(0, 0, 0, .04));color:var(--color-text);outline:none}.p5-menu-item:focus-visible{box-shadow:inset 0 0 0 2px var(--color-accent)}.p5-menu-item[disabled]{color:var(--color-text-muted);cursor:not-allowed}.p5-menu-item--danger{color:var(--color-danger-text, var(--color-danger))}.p5-menu-sep{height:1px;margin:var(--space-1, 4px) 0;background:var(--color-border)}@media(pointer:coarse){.p5-menu-item{min-height:44px}}.p5-chips{display:flex;flex-wrap:wrap;gap:var(--space-2, 8px)}.p5-chip{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 var(--space-3, 12px);border:1px solid var(--color-border);border-radius:999px;background:var(--color-surface);box-shadow:none;font:inherit;font-size:var(--text-sm, 14px);font-weight:500;color:var(--color-text-muted);text-transform:none;letter-spacing:0;white-space:nowrap;cursor:pointer}.p5-chip:hover{color:var(--color-text);border-color:var(--color-border-strong);background:var(--color-surface)}.p5-chip[aria-pressed=true]{color:var(--color-text);border-color:var(--color-accent);background:var(--color-accent-soft, color-mix(in srgb, var(--color-accent) 10%, var(--color-surface)));font-weight:600}.p5-chip:focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.p5-chip-count{font-size:12px;font-weight:600;min-width:20px;padding:0 6px;border-radius:999px;background:var(--color-neutral-bg, rgba(0, 0, 0, .06));color:var(--color-neutral-text, var(--color-text-muted));text-align:center;font-variant-numeric:tabular-nums}.p5-chip-dot{width:8px;height:8px;border-radius:999px;background:var(--chip-dot, var(--color-border-strong));flex-shrink:0}@media(pointer:coarse){.p5-chip{min-height:44px}}.p5-segmented{display:inline-flex;padding:2px;gap:2px;border:1px solid var(--color-border);border-radius:var(--radius, 8px);background:var(--color-surface-sunken, rgba(0, 0, 0, .03))}.p5-segmented button{-webkit-appearance:none;-moz-appearance:none;appearance:none;display:inline-flex;align-items:center;gap:6px;min-height:32px;padding:0 var(--space-3, 12px);border:0;border-radius:calc(var(--radius, 8px) - 2px);background:transparent;box-shadow:none;font:inherit;font-size:var(--text-sm, 14px);font-weight:500;color:var(--color-text-muted);text-transform:none;letter-spacing:0;cursor:pointer}.p5-segmented button[aria-pressed=true]{background:var(--color-surface);color:var(--color-text);font-weight:600;box-shadow:var(--shadow-xs, 0 1px 2px rgba(16, 24, 40, .08))}.p5-segmented button:focus-visible{outline:2px solid var(--color-accent);outline-offset:1px}@media(pointer:coarse){.p5-segmented button{min-height:40px}}.p5-search{position:relative;flex:1 1 18rem;min-width:0;max-width:28rem;display:flex;align-items:center}.p5-search .ui-icon{position:absolute;left:10px;color:var(--color-text-muted);pointer-events:none}.p5-search input[type=search]{width:100%;max-width:none;padding-left:34px}@media(max-width:720px){.p5-search{max-width:none;flex-basis:100%}}.p5-result-count{font-size:var(--text-sm, 14px);color:var(--color-text-muted);font-variant-numeric:tabular-nums}.p5-banner{display:flex;align-items:flex-start;gap:var(--space-3, 12px);padding:var(--space-3, 12px) var(--space-4, 16px);margin-bottom:var(--space-4, 16px);border:1px solid var(--color-border);border-radius:var(--radius, 8px);background:var(--color-surface)}.p5-banner>.ui-icon{margin-top:2px}.p5-banner-body{flex:1 1 auto;min-width:0}.p5-banner-body p{margin:0}.p5-banner-title{font-weight:600;color:var(--color-text)}.p5-banner-actions{display:flex;flex-wrap:wrap;gap:var(--space-2, 8px);align-items:center}.p5-banner--success{border-color:var(--color-success-border, var(--color-success));background:var(--color-success-bg);color:var(--color-success-text, var(--color-text))}.p5-banner--warning{border-color:var(--color-warning-border, var(--color-warning));background:var(--color-warning-bg);color:var(--color-warning-text, var(--color-text))}.p5-banner--danger{border-color:var(--color-danger-border, var(--color-danger));background:var(--color-danger-bg);color:var(--color-danger-text, var(--color-text))}.p5-banner--info{border-color:var(--color-info-border, var(--color-info));background:var(--color-info-bg);color:var(--color-info-text, var(--color-text))}@media(max-width:720px){.p5-banner{flex-wrap:wrap}.p5-banner-actions{width:100%}.p5-banner-actions>*{flex:1 1 auto}}.p5-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}th.p5-num{text-align:right}.p5-row-actions{display:flex;gap:var(--space-2, 8px);justify-content:flex-end;align-items:center;flex-wrap:nowrap}.p5-muted{color:var(--color-text-muted)}.p5-cell-sub{display:block;font-size:var(--text-xs, 12px);color:var(--color-text-muted);margin-top:2px}.p5-name-cell{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-weight:550}.p5-row-inactive td{color:var(--color-text-muted)}.p5-cards{display:flex;flex-direction:column;gap:var(--space-3, 12px);margin:0;padding:0;list-style:none}.p5-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg, 12px);padding:var(--space-4, 16px);box-shadow:var(--shadow-xs, 0 1px 2px rgba(16, 24, 40, .04));display:flex;flex-direction:column;gap:var(--space-2, 8px)}.p5-card-top{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--space-2, 8px)}.p5-card-title{font-size:var(--text-lg, 18px);font-weight:600;line-height:1.3;color:var(--color-text);overflow-wrap:anywhere;margin:0}.p5-card-title a{color:inherit}.p5-card-badges{display:flex;flex-wrap:wrap;gap:6px}.p5-card-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2, 8px) var(--space-3, 12px);margin:0}.p5-card-facts div{min-width:0}.p5-card-facts dt{font-size:var(--text-xs, 12px);color:var(--color-text-muted);font-weight:500}.p5-card-facts dd{margin:0;font-size:var(--text-md, 16px);color:var(--color-text);overflow-wrap:anywhere;font-variant-numeric:tabular-nums}.p5-card-facts .p5-fact-wide{grid-column:1 / -1}.p5-card-actions{display:flex;gap:var(--space-2, 8px);margin-top:var(--space-1, 4px)}.p5-card-actions>button,.p5-card-actions>a{flex:1 1 0;min-height:48px;justify-content:center;display:inline-flex;align-items:center;gap:var(--space-2, 8px)}@media(min-width:721px){.dialog-backdrop:has(>.p5-sheet){place-items:stretch end;padding:0}.dialog.p5-sheet{width:min(560px,100vw);max-height:none;height:100vh;height:100dvh;border-radius:0;border-top:0;border-bottom:0;border-right:0;padding:0;display:flex;flex-direction:column;animation:p5-sheet-in .2s cubic-bezier(.2,0,0,1)}}@media(max-width:720px){.dialog.p5-sheet{padding:0;display:flex;flex-direction:column}}.dialog.p5-sheet>.dialog-header{padding:var(--space-4, 16px) var(--space-5, 20px);margin:0;border-bottom:1px solid var(--color-border);position:sticky;top:0;background:var(--color-surface);z-index:2}.p5-sheet-form{display:flex;flex-direction:column;flex:1 1 auto;min-height:0}.p5-sheet-body{flex:1 1 auto;padding:var(--space-4, 16px) var(--space-5, 20px);display:flex;flex-direction:column;gap:var(--space-5, 20px)}.p5-sheet-footer{position:sticky;bottom:0;display:flex;flex-wrap:wrap;gap:var(--space-2, 8px);align-items:center;padding:var(--space-3, 12px) var(--space-5, 20px);border-top:1px solid var(--color-border);background:var(--color-surface);z-index:2}.p5-sheet-footer .p5-spacer{flex:1 1 auto}@media(max-width:720px){.p5-sheet-footer{padding-bottom:calc(var(--space-3, 12px) + env(safe-area-inset-bottom))}.p5-sheet-footer>button{min-height:48px;flex:1 1 auto}}@keyframes p5-sheet-in{0%{transform:translate(24px);opacity:0}to{transform:none;opacity:1}}@media(prefers-reduced-motion:reduce){.dialog.p5-sheet{animation:none}}.p5-fieldset{border:0;margin:0;padding:0;min-width:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3, 12px)}.p5-fieldset>legend{grid-column:1 / -1;padding:0;margin-bottom:var(--space-3, 12px);font-size:var(--text-xs, 12px);font-weight:650;letter-spacing:.04em;text-transform:uppercase;color:var(--color-text-muted)}.p5-fieldset>label,.p5-fieldset>.p5-field{display:flex;flex-direction:column;gap:4px;min-width:0;font-size:var(--text-sm, 14px);font-weight:500}.p5-fieldset>label>input,.p5-fieldset>label>select,.p5-fieldset>label>textarea{width:100%;box-sizing:border-box}.p5-fieldset .p5-full{grid-column:1 / -1}.p5-fieldset label.p5-check{flex-direction:row;align-items:center;gap:var(--space-2, 8px)}.p5-fieldset label.p5-check>input{width:auto}.p5-fieldset>.form,.p5-fieldset>.p5-custom{grid-column:1 / -1}.p5-hint{font-size:var(--text-xs, 12px);color:var(--color-text-muted);font-weight:400}@media(max-width:520px){.p5-fieldset{grid-template-columns:minmax(0,1fr)}}.p5-steps{display:flex;flex-direction:column;gap:var(--space-4, 16px);max-width:880px}.p5-step{display:grid;grid-template-columns:32px minmax(0,1fr);gap:var(--space-3, 12px);align-items:start}.p5-step-num{width:28px;height:28px;border-radius:999px;display:grid;place-items:center;font-size:var(--text-sm, 14px);font-weight:650;background:var(--color-neutral-bg, rgba(0, 0, 0, .06));color:var(--color-text-muted);font-variant-numeric:tabular-nums}.p5-step.is-done .p5-step-num{background:var(--color-success-bg);color:var(--color-success-text, var(--color-success))}.p5-step.is-current .p5-step-num{background:var(--color-accent);color:var(--color-accent-text, #fff)}.p5-step-title{margin:2px 0 var(--space-2, 8px);font-size:var(--text-md, 16px);font-weight:600;color:var(--color-text);text-transform:none;letter-spacing:0;border:0;padding:0}.p5-step-body{display:flex;flex-direction:column;gap:var(--space-3, 12px);min-width:0}.p5-step-body>p{margin:0}.p5-drop{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3, 12px);padding:var(--space-4, 16px);border:1px dashed var(--color-border-strong);border-radius:var(--radius, 8px);background:var(--color-surface-sunken, rgba(0, 0, 0, .02))}.p5-drop label{display:flex;flex-direction:column;gap:4px;font-weight:500;font-size:var(--text-sm, 14px)}.p5-or{font-size:var(--text-xs, 12px);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.06em}.p5-paste{width:100%;box-sizing:border-box;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px}.p5-paste-label{display:flex;flex-direction:column;gap:4px;font-weight:500;font-size:var(--text-sm, 14px)}.p5-tag-list{display:flex;flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none}.p5-tag{display:inline-flex;align-items:center;gap:4px;min-height:24px;padding:0 8px;border-radius:6px;font-size:var(--text-xs, 12px);font-weight:550;border:1px solid var(--color-border);background:var(--color-surface)}.p5-tag--ok{background:var(--color-success-bg);color:var(--color-success-text, var(--color-text));border-color:transparent}.p5-tag--skip{background:var(--color-neutral-bg, rgba(0, 0, 0, .05));color:var(--color-text-muted);border-color:transparent;text-decoration:line-through}.p5-preview{font-size:var(--text-sm, 14px)}.p5-preview-note{font-size:var(--text-xs, 12px);color:var(--color-text-muted)}.p5-summary-line{display:flex;flex-wrap:wrap;gap:var(--space-2, 8px);align-items:center}.p5-big-num{font-size:var(--text-xl, 20px);font-weight:650;font-variant-numeric:tabular-nums}.p5-import-actions{display:flex;flex-wrap:wrap;gap:var(--space-2, 8px);align-items:center}@media(max-width:720px){.p5-step{grid-template-columns:28px minmax(0,1fr);gap:var(--space-2, 8px)}.p5-import-actions>button{width:100%;min-height:48px}}.p5-sticky-bar{position:sticky;bottom:var(--space-3, 12px);z-index:20;display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3, 12px);padding:var(--space-3, 12px) var(--space-4, 16px);margin-top:var(--space-4, 16px);border:1px solid var(--color-border-strong);border-radius:var(--radius-lg, 12px);background:var(--color-surface);box-shadow:var(--shadow-md, 0 12px 16px -4px rgba(16, 24, 40, .1), 0 4px 6px -2px rgba(16, 24, 40, .05))}.p5-sticky-bar-text{flex:1 1 14rem;min-width:0;font-size:var(--text-sm, 14px)}.p5-sticky-bar-actions{display:flex;flex-wrap:wrap;gap:var(--space-2, 8px)}@media(max-width:720px){.p5-sticky-bar{bottom:calc(var(--space-2, 8px) + env(safe-area-inset-bottom))}.p5-sticky-bar-actions{width:100%}.p5-sticky-bar-actions>button{flex:1 1 auto;min-height:48px}}.p5-error{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3, 12px)}.p5-status{display:inline-flex;flex-direction:column;align-items:flex-start;gap:2px}.p5-table td:first-child,.p5-table th:first-child{background:var(--color-surface)}.p5-rel{display:block;font-size:var(--text-xs, 12px);color:var(--color-text-muted)}.p5-rel--soon{color:var(--color-warning-text, var(--color-text));font-weight:600}.p5-rel--late{color:var(--color-danger-text, var(--color-danger));font-weight:600}.p5-back{display:inline-flex;align-items:center;gap:4px}.money-page{max-width:1320px;margin:0 auto;padding-bottom:var(--space-9, 48px)}.money-page .num,.money-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.money-back{display:inline-flex;align-items:center;gap:var(--space-1, 4px);font-size:var(--text-sm, 13px);color:var(--color-text-muted);text-decoration:none}.money-back:hover{color:var(--color-text)}.money-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg, 12px);box-shadow:var(--shadow-xs, 0 1px 2px rgba(16, 24, 40, .05));padding:var(--space-4, 16px) var(--space-5, 20px)}.money-callout{margin:0 0 var(--space-3, 12px)}.money-error{display:flex;align-items:center;gap:var(--space-2, 8px);flex-wrap:wrap;padding:var(--space-2, 8px) var(--space-3, 12px);margin:0 0 var(--space-3, 12px);border-radius:var(--radius, 8px);background:var(--color-danger-bg);color:var(--color-danger-text);border:1px solid color-mix(in srgb,var(--color-danger) 25%,transparent);font-size:var(--text-sm, 13px)}.money-error>span{flex:1 1 12rem}.money-load-failed{max-width:520px;margin:var(--space-9, 48px) auto}.money-tabpanel{padding-top:var(--space-4, 16px)}.money-search{position:relative;display:flex;align-items:center;flex:1 1 18rem;max-width:28rem;min-width:0;margin:0}.money-search>.ui-icon{position:absolute;left:10px;color:var(--color-text-subtle, var(--color-text-muted));pointer-events:none}.money-search input{width:100%;padding-left:34px}.money-table-wrap{margin-bottom:var(--space-4, 16px)}.money-table th.num,.money-table td.num{text-align:right}.money-table td.num{font-variant-numeric:tabular-nums;font-weight:550}.money-table .money-col-check{width:40px;padding-right:0}.money-table tbody tr:hover{background:var(--color-surface-hover, var(--color-surface-sunken))}.money-table tbody tr.is-selected{background:var(--color-accent-softer, color-mix(in srgb, var(--color-accent) 7%, var(--color-surface)))}.money-strong-link{font-weight:600;font-variant-numeric:tabular-nums}.money-cell-muted{color:var(--color-text-muted)}.money-badges{display:inline-flex;flex-wrap:wrap;gap:4px}.money-cell-due{font-variant-numeric:tabular-nums}.money-cell-due>span{display:block}.money-due-hint{font-size:var(--text-xs, 12px);color:var(--color-text-muted)}.money-due-hint.is-late{color:var(--color-danger-text);font-weight:550}.money-table-foot td{background:var(--color-surface-sunken);color:var(--color-text-muted);font-size:var(--text-sm, 13px);border-bottom:0}.money-table-foot td.num{color:var(--color-text);font-weight:650}.money-group-row th{background:var(--color-surface-sunken);text-transform:none;letter-spacing:0;font-size:var(--text-sm, 13px);color:var(--color-text);font-weight:600}.money-group-row .money-group-meta{font-weight:500;color:var(--color-text-muted);margin-left:var(--space-2, 8px);font-variant-numeric:tabular-nums}@media(max-width:720px){.money-table--cards,.money-table--cards tbody,.money-table--cards tfoot{display:block;width:100%}.money-table--cards.data-table--fixed-columns{table-layout:auto}.money-table--cards colgroup,.money-table--cards thead{display:none}.money-table--cards tbody tr{display:grid;grid-template-columns:auto 1fr auto;align-items:center;column-gap:var(--space-3, 12px);row-gap:2px;padding:var(--space-3, 12px) var(--space-4, 16px);border-bottom:1px solid var(--color-border)}.money-table--cards tbody td{display:flex;gap:var(--space-2, 8px);align-items:baseline;grid-column:2 / 4;padding:0;border:0;min-width:0;font-size:var(--text-sm, 13px)}.money-table--cards tbody td[data-label]:before{content:attr(data-label);flex:0 0 5.5rem;color:var(--color-text-subtle, var(--color-text-muted));font-size:var(--text-xs, 12px)}.money-table--cards tbody td.money-cell-empty{display:none}.money-table--cards tbody td.money-col-check{grid-column:1;grid-row:1 / span 2;width:auto;align-self:start}.money-table--cards tbody td.money-col-check input{width:22px;height:22px}.money-table--cards tbody td.money-cell-number{grid-column:2;grid-row:1;font-size:var(--text-md, 16px)}.money-table--cards tbody td.money-cell-number:before,.money-table--cards tbody td.money-cell-total:before,.money-table--cards tbody td.money-cell-action:before,.money-table--cards tbody td.money-cell-status:before{display:none}.money-table--cards tbody td.money-cell-total{grid-column:3;grid-row:1;justify-content:flex-end;font-size:var(--text-lg, 18px);font-weight:650}.money-table--cards tbody td.money-cell-status{grid-column:2 / 4;grid-row:2;margin-bottom:4px}.money-table--cards tbody td.money-cell-billto{font-size:var(--text-md, 16px);font-weight:550}.money-table--cards tbody td.money-cell-billto:before{display:none}.money-table--cards tbody td.money-cell-action{grid-column:2 / 4;margin-top:var(--space-2, 8px)}.money-table--cards tbody td.money-cell-action>button,.money-table--cards tbody td.money-cell-action>a{width:100%;min-height:44px}.money-table--cards .money-cell-due>span{display:inline}.money-table--cards tfoot tr{display:flex;justify-content:space-between;padding:var(--space-3, 12px) var(--space-4, 16px);background:var(--color-surface-sunken)}.money-table--cards tfoot td{display:block;padding:0;background:none}.money-table--cards tr.money-group-row{display:block;padding:0}.money-table--cards tr.money-group-row th{display:block;padding:var(--space-2, 8px) var(--space-4, 16px)}}.money-bulkbar{position:sticky;bottom:var(--space-4, 16px);z-index:var(--z-sticky, 30);display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3, 12px);margin-top:var(--space-4, 16px);padding:var(--space-3, 12px) var(--space-4, 16px);background:var(--color-surface-raised, var(--color-surface));border:1px solid var(--color-border-strong);border-radius:var(--radius-lg, 12px);box-shadow:var(--shadow-md, 0 12px 16px -4px rgba(16, 24, 40, .1))}.money-bulkbar-count{font-variant-numeric:tabular-nums}.money-bulkbar-actions{display:flex;flex-wrap:wrap;gap:var(--space-2, 8px);margin-left:auto}@media(max-width:720px){.money-bulkbar{bottom:calc(72px + env(safe-area-inset-bottom,0px))}.money-bulkbar-actions{margin-left:0;width:100%}.money-bulkbar-actions>button{flex:1 1 40%;min-height:44px}}.money-more{position:relative;display:inline-flex}.money-more-menu{position:absolute;top:calc(100% + 4px);z-index:var(--z-dropdown, 20);min-width:220px;padding:var(--space-1, 4px);background:var(--color-surface-raised, var(--color-surface));border:1px solid var(--color-border);border-radius:var(--radius, 8px);box-shadow:var(--shadow-md, 0 4px 8px -2px rgba(16, 24, 40, .1));display:grid}.money-more-menu--end{right:0}.money-more-menu--start{left:0}.money-more-item{justify-content:flex-start;width:100%;min-height:36px;border:0;background:transparent;box-shadow:none;font-weight:500;text-align:left}.money-more-item:hover:not(:disabled),.money-more-item:focus-visible{background:var(--color-surface-hover, var(--color-surface-sunken))}.money-more-item--danger{color:var(--color-danger-text)}@media(pointer:coarse){.money-more-item{min-height:44px}}.money-lines{display:grid;gap:var(--space-3, 12px)}.money-lines-hint{margin:0;font-size:var(--text-xs, 12px);color:var(--color-text-subtle, var(--color-text-muted))}.money-lines-scroll{border:1px solid var(--color-border);border-radius:var(--radius, 8px);overflow:hidden}.money-lines-table{margin:0}.money-lines-table th{background:var(--color-surface-sunken)}.money-lines-table th.num{text-align:right}.money-lines-table td{padding-top:6px;padding-bottom:6px}.money-lines-table tbody tr:last-child td{border-bottom:0}.money-lines-table td input{width:100%;box-sizing:border-box;border-color:transparent;background:transparent;box-shadow:none}.money-lines-table td.num input{text-align:right;font-variant-numeric:tabular-nums}.money-lines-table td input:hover:not(:disabled){border-color:var(--color-border);background:var(--color-surface)}.money-lines-table td input:focus{border-color:var(--color-accent);background:var(--color-surface)}.money-lines-table td input:disabled{opacity:1;color:var(--color-text);-webkit-text-fill-color:var(--color-text);cursor:default;padding-left:0;padding-right:0}.money-lines-table td.money-line-total{font-weight:600;font-variant-numeric:tabular-nums;text-align:right;white-space:nowrap}.money-lines-table .money-line-qty{width:90px}.money-lines-table .money-line-price{width:120px}.money-lines-dragcol,.money-line-drag{width:40px;padding-left:6px!important;padding-right:0!important}.money-lines-removecol,.money-line-remove{width:48px;text-align:right}.money-line-drag .line-drag-handle{color:var(--color-text-subtle, var(--color-text-muted))}.money-lines-empty{margin:0;padding:var(--space-4, 16px);text-align:center;color:var(--color-text-muted);border:1px dashed var(--color-border-strong);border-radius:var(--radius, 8px)}.money-lines-add{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-2, 8px)}.money-lines-catalog{flex:1 1 16rem;max-width:26rem;margin:0}.money-lines-catalog .combobox input{width:100%}.money-lines-columns{margin-left:auto}.money-lines-undo{display:flex;align-items:center;gap:var(--space-2, 8px);padding:var(--space-2, 8px) var(--space-3, 12px);border-radius:var(--radius, 8px);background:var(--color-text);color:var(--color-text-inverse, #fff);font-size:var(--text-sm, 13px);width:fit-content;max-width:100%}.money-lines-undo button{color:inherit;text-decoration:underline}.money-lines-subtotal{margin:0;text-align:right;font-variant-numeric:tabular-nums;color:var(--color-text-muted)}.money-lines-subtotal strong{color:var(--color-text);margin-left:var(--space-2, 8px)}@media(max-width:720px){.money-lines-scroll{border:0;border-radius:0;overflow:visible}.money-lines-table,.money-lines-table tbody{display:block}.money-lines-table.data-table--fixed-columns{table-layout:auto}.money-lines-table colgroup,.money-lines-table thead{display:none}.money-lines-table tbody{display:grid;gap:var(--space-2, 8px)}.money-lines-table tbody tr{display:grid;grid-template-columns:auto 1fr 1fr auto;grid-template-areas:"drag desc desc remove" "drag qty price total";gap:var(--space-2, 8px);align-items:center;padding:var(--space-3, 12px);border:1px solid var(--color-border);border-radius:var(--radius, 8px);background:var(--color-surface)}.money-lines--locked .money-lines-table tbody tr{grid-template-areas:"desc desc desc total" "qty price price total"}.money-lines-table tbody td{display:block;padding:0!important;border:0!important;width:auto!important;min-width:0}.money-lines-table .money-line-drag{grid-area:drag}.money-lines-table .money-line-desc{grid-area:desc}.money-lines-table .money-line-qty{grid-area:qty}.money-lines-table .money-line-price{grid-area:price}.money-lines-table .money-line-total{grid-area:total;font-size:var(--text-md, 16px)}.money-lines-table .money-line-remove{grid-area:remove}.money-lines-table td input{border-color:var(--color-border);background:var(--color-surface);min-height:44px;font-size:16px}.money-lines-table td.num input{text-align:left}.money-lines-table .money-line-qty:before,.money-lines-table .money-line-price:before{display:block;font-size:var(--text-xs, 12px);color:var(--color-text-subtle, var(--color-text-muted));margin-bottom:2px}.money-lines-table .money-line-qty:before{content:"Qty"}.money-lines-table .money-line-price:before{content:"Unit price"}.money-lines-add>button{min-height:44px}.money-lines-catalog{max-width:none;flex-basis:100%}}.money-detail .ui-page-header{margin-top:var(--space-2, 8px)}.money-detail-skeleton-title{margin:var(--space-3, 12px) 0 var(--space-6, 24px)}.money-detail-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:var(--space-6, 24px);align-items:start}.money-detail-grid>.money-rail{grid-column:2;grid-row:1;position:sticky;top:var(--space-4, 16px)}.money-detail-grid>.money-detail-main,.money-detail-grid>.money-doc{grid-column:1;grid-row:1}.money-detail-grid>.money-rail-card{grid-column:2;grid-row:1}@media(max-width:1040px){.money-detail-grid{grid-template-columns:minmax(0,1fr);gap:var(--space-4, 16px)}.money-detail-grid>.money-rail,.money-detail-grid>.money-rail-card,.money-detail-grid>.money-detail-main,.money-detail-grid>.money-doc{grid-column:1;grid-row:auto;position:static}}.money-rail{display:grid;gap:var(--space-3, 12px)}.money-rail-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg, 12px);box-shadow:var(--shadow-xs, 0 1px 2px rgba(16, 24, 40, .05));padding:var(--space-4, 16px)}.money-rail-card p{margin:0}.money-rail-title{font-size:var(--text-xs, 12px);font-weight:600;letter-spacing:.02em;color:var(--color-text-muted);margin:0 0 var(--space-2, 8px);text-transform:none;border:0;padding:0}.money-rail-label{font-size:var(--text-sm, 13px);color:var(--color-text-muted);font-weight:550}.money-rail-amount{font-size:var(--text-3xl, 30px);line-height:1.15;font-weight:650;letter-spacing:-.02em;font-variant-numeric:tabular-nums;margin:2px 0}.money-rail-amount.is-void{text-decoration:line-through;color:var(--color-text-muted)}.money-rail-due{font-size:var(--text-sm, 13px);color:var(--color-text-muted)}.money-rail-due.is-late{color:var(--color-danger-text);font-weight:600}.money-rail-actions{display:grid;gap:var(--space-2, 8px);margin-top:var(--space-4, 16px)}.money-rail-actions>button,.money-rail-actions>a{width:100%}.money-rail-hint{font-size:var(--text-xs, 12px);color:var(--color-text-muted)}.money-rail-paid{display:flex;align-items:center;gap:var(--space-2, 8px);padding:var(--space-2, 8px) var(--space-3, 12px);border-radius:var(--radius, 8px);background:var(--color-success-bg);color:var(--color-success-text);font-weight:550;font-size:var(--text-sm, 13px)}.money-rail-summary .form-error{margin-top:var(--space-3, 12px)}.money-rail-name{font-weight:600;font-size:var(--text-md, 16px);margin-bottom:2px!important}.money-rail-line{font-size:var(--text-sm, 13px);color:var(--color-text-muted);margin-top:2px!important;overflow-wrap:anywhere}.money-facts{display:grid;gap:var(--space-2, 8px);margin:0}.money-facts>div{display:grid;grid-template-columns:5.5rem minmax(0,1fr);gap:var(--space-2, 8px);font-size:var(--text-sm, 13px)}.money-facts dt{color:var(--color-text-muted)}.money-facts dd{margin:0;overflow-wrap:anywhere}.money-check{display:flex;align-items:flex-start;gap:var(--space-2, 8px);font-weight:500;cursor:pointer;margin:0}.money-check input{margin-top:3px;flex-shrink:0;width:16px;height:16px}.money-check small{display:block;color:var(--color-text-muted);font-size:var(--text-xs, 12px);font-weight:400}.money-rail-taxable{margin-top:var(--space-4, 16px);padding-top:var(--space-3, 12px);border-top:1px solid var(--color-border);font-size:var(--text-sm, 13px)}.money-approval-open{width:100%}.money-approval-summary{display:flex;gap:var(--space-2, 8px);align-items:flex-start;padding:var(--space-2, 8px) var(--space-3, 12px);border-radius:var(--radius, 8px);background:var(--color-success-bg);color:var(--color-success-text);font-size:var(--text-sm, 13px);margin:0}.money-approval-summary .ui-icon{margin-top:1px}.form.money-approval-form{display:grid;gap:var(--space-3, 12px)}.money-lock{display:flex;gap:var(--space-2, 8px);align-items:flex-start;padding:var(--space-3, 12px) var(--space-4, 16px);margin:0 0 var(--space-4, 16px);border-radius:var(--radius, 8px);background:var(--color-info-bg);color:var(--color-info-text);border:1px solid color-mix(in srgb,var(--color-info) 22%,transparent);font-size:var(--text-sm, 13px)}.money-lock .ui-icon{margin-top:1px}.money-lineage{margin:0 0 var(--space-4, 16px)}.money-doc{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg, 12px);box-shadow:var(--shadow-sm, 0 1px 3px rgba(16, 24, 40, .08));padding:var(--space-7, 32px) var(--space-8, 40px)}.money-doc-head{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:var(--space-4, 16px);padding-bottom:var(--space-5, 20px);border-bottom:1px solid var(--color-border)}.money-doc-kicker{font-size:var(--text-xs, 12px);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted)}.money-doc-number{font-size:var(--text-2xl, 24px);font-weight:650;font-variant-numeric:tabular-nums}.money-doc-dates{display:flex;flex-wrap:wrap;gap:var(--space-3, 12px)}.money-doc-dates label,.money-doc-field,.money-doc-rate{display:grid;gap:4px;font-size:var(--text-sm, 13px);font-weight:550;color:var(--color-text-muted);margin:0}.money-doc-dates input{min-width:10.5rem}.money-doc-section{padding:var(--space-5, 20px) 0;border-bottom:1px solid var(--color-border);display:grid;gap:var(--space-3, 12px)}.money-doc-section:last-child{border-bottom:0;padding-bottom:0}.money-doc-title{font-size:var(--text-xs, 12px);font-weight:600;letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);margin:0;border:0;padding:0}.money-doc-fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-3, 12px) var(--space-4, 16px)}.money-doc-field--wide{grid-column:1 / -1}.money-doc-field input,.money-doc-field select,.money-doc-field textarea,.money-doc-dates input,.money-doc-rate input{color:var(--color-text);font-weight:400;width:100%;box-sizing:border-box}.money-doc-rate input{max-width:8rem}.money-field-hint{font-weight:400;color:var(--color-text-subtle, var(--color-text-muted));font-size:var(--text-xs, 12px)}.money-doc-newcustomer{display:flex;flex-wrap:wrap;gap:var(--space-2, 8px);align-items:center}.money-doc-bottom{grid-template-columns:minmax(0,1fr) minmax(240px,320px);align-items:start;gap:var(--space-5, 20px)}.money-doc-tax{display:grid;gap:var(--space-3, 12px);align-content:start}.money-totals{margin:0;display:grid;gap:var(--space-2, 8px)}.money-totals>div{display:flex;justify-content:space-between;gap:var(--space-4, 16px);font-variant-numeric:tabular-nums}.money-totals dt{color:var(--color-text-muted)}.money-totals dd{margin:0}.money-totals-total{border-top:1px solid var(--color-border-strong);padding-top:var(--space-2, 8px);font-size:var(--text-lg, 18px);font-weight:650}.money-totals-total dt{color:var(--color-text)}.money-doc--locked .money-doc-field input:disabled,.money-doc--locked .money-doc-field select:disabled,.money-doc--locked .money-doc-field textarea:disabled,.money-doc--locked .money-doc-dates input:disabled,.money-doc--locked .money-doc-rate input:disabled{border-color:transparent;background:transparent;box-shadow:none;padding-left:0;opacity:1;color:var(--color-text);-webkit-text-fill-color:var(--color-text);cursor:default;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:none;resize:none}.money-doc--locked .money-doc-dates input:disabled::-webkit-calendar-picker-indicator{display:none}.money-doc--locked .money-check input:disabled+span{color:var(--color-text-muted)}@media(max-width:720px){.money-doc{padding:var(--space-4, 16px);border-radius:var(--radius, 8px)}.money-doc-fields,.money-doc-bottom{grid-template-columns:minmax(0,1fr)}.money-doc-dates{width:100%}.money-doc-dates label{flex:1 1 9rem}.money-doc-dates input{min-width:0}.money-doc-field input,.money-doc-field select,.money-doc-field textarea,.money-doc-dates input,.money-doc-rate input{font-size:16px}.money-rail-amount{font-size:var(--text-2xl, 24px)}.money-rail-actions>button,.money-rail-actions>a,.money-approval-open{min-height:48px}.money-rail-primary{min-height:56px!important;font-size:var(--text-md, 16px)}}.money-savebar{position:sticky;bottom:var(--space-3, 12px);z-index:var(--z-sticky, 30);display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3, 12px);margin-top:var(--space-4, 16px);padding:var(--space-3, 12px) var(--space-4, 16px);background:var(--color-surface-raised, var(--color-surface));border:1px solid var(--color-border);border-radius:var(--radius-lg, 12px);box-shadow:var(--shadow-xs, 0 1px 2px rgba(16, 24, 40, .05))}.money-savebar.is-dirty{border-color:var(--color-accent-border, var(--color-accent));box-shadow:var(--shadow-md, 0 12px 16px -4px rgba(16, 24, 40, .1))}.money-savebar-status{display:inline-flex;align-items:center;gap:var(--space-2, 8px);flex:1 1 12rem;font-size:var(--text-sm, 13px);color:var(--color-text-muted)}.money-savebar.is-dirty .money-savebar-status{color:var(--color-text);font-weight:550}.money-savebar-dot{width:8px;height:8px;border-radius:50%;background:var(--color-warning)}.money-savebar-error{flex-basis:100%;order:3}@media(max-width:720px){.money-savebar{bottom:calc(72px + env(safe-area-inset-bottom,0px))}.money-savebar>button{flex:1 1 100%;min-height:48px}}.money-terms{display:flex;gap:4px;align-items:flex-end;flex-wrap:wrap}.money-terms .is-active{border-color:var(--color-accent-border, var(--color-accent));color:var(--color-text)}@media(max-width:1040px){.money-detail-grid>.money-form-rail{position:sticky;bottom:var(--space-3, 12px);z-index:var(--z-sticky, 30)}.money-form-rail .money-rail-summary{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;column-gap:var(--space-3, 12px);padding:var(--space-3, 12px) var(--space-4, 16px);box-shadow:var(--shadow-md, 0 12px 16px -4px rgba(16, 24, 40, .1))}.money-form-rail .money-rail-label,.money-form-rail .money-rail-due,.money-form-rail-hint{display:none}.money-form-rail .money-rail-amount{font-size:var(--text-xl, 20px);margin:0}.money-form-rail .money-rail-actions{margin:0}.money-form-rail .form-error{grid-column:1 / -1}}@media(max-width:720px){.money-detail-grid>.money-form-rail{bottom:calc(72px + env(safe-area-inset-bottom,0px))}.money-form-rail .money-rail-primary{min-height:48px!important}}.money-print-toolbar{display:flex;align-items:center;justify-content:space-between;gap:var(--space-3, 12px);margin-bottom:var(--space-4, 16px)}.money-print-sheet{position:relative}.money-print-sheet.has-watermark:after{content:attr(data-watermark);position:absolute;top:38%;left:50%;transform:translate(-50%,-50%) rotate(-24deg);font-size:110px;font-weight:800;letter-spacing:.1em;color:#00000012;pointer-events:none;white-space:nowrap}.money-print-meta{text-align:right}.money-print-parties{display:flex;flex-wrap:wrap;gap:1rem 3rem}.money-print-parties h2{font-size:.75rem;letter-spacing:.08em;text-transform:uppercase;color:#555;margin:0 0 .25rem}.money-print-parties p{margin:0}.money-print-line{display:block}.money-print-table th.num,.money-print-table td.num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.money-print-totals{margin-left:auto;width:min(100%,280px);font-variant-numeric:tabular-nums}.money-print-totals p{display:flex;justify-content:space-between;gap:1rem;margin:.2rem 0}.money-print-total{border-top:2px solid #000;padding-top:.35rem;font-size:1.05rem}.money-print-total strong{display:flex;justify-content:space-between;width:100%}.money-print-notes{white-space:pre-wrap}.money-review{display:grid;gap:var(--space-5, 20px);text-align:left}.money-review-head{display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:var(--space-3, 12px)}.money-review-title{margin:0;font-size:var(--text-2xl, 24px)}.money-review-dates{margin:4px 0 0;color:var(--color-text-muted);font-size:var(--text-sm, 13px)}.money-review-amount{display:flex;justify-content:space-between;align-items:baseline;padding:var(--space-4, 16px);border-radius:var(--radius, 8px);background:var(--color-surface-sunken);border:1px solid var(--color-border)}.money-review-amount span{color:var(--color-text-muted);font-weight:550}.money-review-amount strong{font-size:var(--text-3xl, 30px);font-variant-numeric:tabular-nums;letter-spacing:-.02em}.money-review-parties{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--space-4, 16px)}.money-review-parties h2,.money-review-notes h2{font-size:var(--text-xs, 12px);letter-spacing:.08em;text-transform:uppercase;color:var(--color-text-muted);margin:0 0 4px;border:0;padding:0}.money-review-parties p,.money-review-notes p{margin:0}.money-review-site{margin-top:6px!important;color:var(--color-text-muted);font-size:var(--text-sm, 13px)}.money-review-items{width:100%;border-collapse:collapse}.money-review-items th{text-align:left;font-size:var(--text-xs, 12px);color:var(--color-text-muted);font-weight:600;padding:0 0 var(--space-2, 8px);border-bottom:1px solid var(--color-border-strong)}.money-review-items td{padding:var(--space-3, 12px) 0;border-bottom:1px solid var(--color-border);vertical-align:top}.money-review-items .num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap;padding-left:var(--space-3, 12px)}.money-review-desc{display:block;font-weight:550}.money-review-qty{display:block;font-size:var(--text-sm, 13px);color:var(--color-text-muted);font-variant-numeric:tabular-nums}.money-review-totals{margin-left:auto;width:min(100%,320px)}.money-review-notes p{white-space:pre-wrap}.money-review-footnote{margin:0}.money-review-bar{position:sticky;bottom:0;display:grid;gap:var(--space-3, 12px);padding:var(--space-4, 16px);margin:0 calc(-1 * var(--space-2, 8px));background:var(--color-surface-raised, var(--color-surface));border:1px solid var(--color-border-strong);border-radius:var(--radius-lg, 12px);box-shadow:var(--shadow-md, 0 -4px 16px rgba(16, 24, 40, .1))}.money-review-name{display:grid;gap:6px;font-size:var(--text-sm, 13px);font-weight:550;margin:0}.money-review-name input{width:100%;min-height:48px;font-size:16px;box-sizing:border-box}.money-review-buttons{display:flex;flex-wrap:wrap;gap:var(--space-2, 8px);align-items:center}.money-review-buttons .button-primary{flex:1 1 12rem;min-height:52px;font-size:var(--text-md, 16px)}.money-review-buttons .button-ghost{min-height:48px;color:var(--color-danger-text)}.money-review-done{display:flex;gap:var(--space-3, 12px);align-items:flex-start;padding:var(--space-4, 16px);border-radius:var(--radius-lg, 12px);background:var(--color-success-bg);color:var(--color-success-text)}.money-review-done--rejected{background:var(--color-neutral-bg);color:var(--color-neutral-text)}.money-review-done p{margin:0;font-weight:550}.money-review-done-next{display:block;font-weight:400;margin-top:2px}.money-aging{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:var(--space-3, 12px);margin-bottom:var(--space-5, 20px)}.money-aging-tile{display:flex;flex-direction:column;align-items:flex-start;justify-content:flex-start;gap:2px;min-height:0;height:auto;padding:var(--space-4, 16px);text-align:left;white-space:normal;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg, 12px);box-shadow:var(--shadow-xs, 0 1px 2px rgba(16, 24, 40, .05));position:relative;overflow:hidden;color:var(--color-text);font-weight:400}.money-aging-tile:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:var(--aging-tone, transparent)}.money-aging-tile--owed{--aging-tone: var(--color-accent)}.money-aging-tile--warning{--aging-tone: var(--color-warning)}.money-aging-tile--danger{--aging-tone: var(--color-danger)}.money-aging-tile:hover:not(:disabled){border-color:var(--color-border-strong);background:var(--color-surface)}.money-aging-tile.is-active{border-color:var(--color-accent);box-shadow:0 0 0 1px var(--color-accent) inset}.money-aging-label{font-size:var(--text-sm, 13px);color:var(--color-text-muted);font-weight:550}.money-aging-value{font-size:24px;line-height:1.2;font-weight:650;letter-spacing:-.02em;font-variant-numeric:tabular-nums}.money-aging-hint{font-size:var(--text-xs, 12px);color:var(--color-text-muted)}.money-chip{border-radius:var(--radius-pill, 999px)}@media(max-width:1040px){.money-aging{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:720px){.money-aging{grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2, 8px)}.money-aging-tile--owed{grid-column:1 / -1}.money-aging-tile{padding:var(--space-3, 12px)}.money-aging-value{font-size:20px}}.money-doc-section--first{padding-top:0}.money-doc-sectionhead{display:flex;justify-content:space-between;align-items:baseline;gap:var(--space-3, 12px);flex-wrap:wrap}.money-doc>.money-doc-sectionhead{margin-bottom:var(--space-3, 12px)}.form.money-questions{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:var(--space-3, 12px) var(--space-4, 16px)}.money-questions label:has(input[type=checkbox]){align-self:end;min-height:var(--control-h, 36px)}.money-questions-actions{display:flex;flex-wrap:wrap;gap:var(--space-2, 8px);margin-top:var(--space-4, 16px)}.money-doc>.meta,.money-doc>.callout{margin-top:var(--space-3, 12px)}.money-answers>div{grid-template-columns:minmax(8rem,40%) minmax(0,1fr);padding:var(--space-2, 8px) 0;border-bottom:1px solid var(--color-border);font-size:var(--text-base, 14px)}.money-answers>div:last-child{border-bottom:0}.money-section-heading{font-size:var(--text-md, 16px);font-weight:600;margin:var(--space-6, 24px) 0 var(--space-3, 12px);text-transform:none;border:0;padding:0}.money-tiers{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:var(--space-3, 12px)}.money-tier{display:flex;flex-direction:column;gap:var(--space-2, 8px);padding:var(--space-4, 16px);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg, 12px);box-shadow:var(--shadow-xs, 0 1px 2px rgba(16, 24, 40, .05))}.money-tier.is-accepted{border-color:var(--color-success);box-shadow:0 0 0 1px var(--color-success) inset}.money-tier.is-passed{opacity:.7}.money-tier-head{display:flex;justify-content:space-between;align-items:center;gap:var(--space-2, 8px)}.money-tier-head h3{margin:0;font-size:var(--text-md, 16px);font-weight:600}.money-tier-total{font-size:var(--text-2xl, 24px);font-weight:650;font-variant-numeric:tabular-nums;letter-spacing:-.01em}.money-tier-items{list-style:none;margin:0;padding:0;display:grid;gap:4px;font-size:var(--text-sm, 13px);flex:1}.money-tier-items li{display:flex;justify-content:space-between;gap:var(--space-2, 8px);padding:4px 0;border-bottom:1px dashed var(--color-border)}.money-tier-accept{width:100%;margin-top:auto}.money-rail-amount--sm{font-size:var(--text-xl, 20px);overflow-wrap:anywhere}.money-rail-facts{margin-top:var(--space-3, 12px);padding-top:var(--space-3, 12px);border-top:1px solid var(--color-border)}@media(max-width:1040px){.money-tiers{grid-template-columns:minmax(0,1fr)}}@media(max-width:720px){.money-tier-accept{min-height:48px}.money-questions input,.money-questions select{font-size:16px}}.money-settings{max-width:1120px}.money-settings-form{display:block}.money-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4, 16px)}.money-settings-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.money-settings-grid--address{grid-template-columns:minmax(0,2fr) minmax(0,1fr) minmax(0,1fr)}.money-settings-narrow{max-width:360px}.money-input-affix{position:relative;display:flex;align-items:center}.money-input-affix input{width:100%;padding-right:28px}.money-input-affix>span{position:absolute;right:10px;color:var(--color-text-muted);pointer-events:none;font-weight:400}.money-input-affix--narrow{max-width:10rem}.money-questions-table{margin:0 0 var(--space-3, 12px)}.money-questions-table td{padding-top:6px;padding-bottom:6px}.money-danger-ghost{color:var(--color-danger-text)}.money-addcolumn{margin-top:var(--space-2, 8px)}.money-addcolumn .form-inline{margin-bottom:0}.money-formula{margin-top:var(--space-4, 16px);padding:var(--space-4, 16px);border-radius:var(--radius, 8px);background:var(--color-surface-sunken);border:1px solid var(--color-border);display:grid;gap:var(--space-3, 12px)}.money-formula-rule{margin:0;font-family:var(--font-mono, ui-monospace, monospace);font-size:var(--text-sm, 13px);color:var(--color-text-muted)}.money-formula-try{display:flex;flex-wrap:wrap;align-items:flex-end;gap:var(--space-3, 12px)}.money-formula-try label{display:grid;gap:4px;font-size:var(--text-sm, 13px);font-weight:550;margin:0}.money-formula-try input{width:9rem}.money-formula-try p{margin:0 0 8px;flex:1 1 16rem}.money-profile-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:var(--space-6, 24px);align-items:start}.money-profile-preview{position:sticky;top:var(--space-4, 16px)}.money-preview-sheet{background:#fff;color:#111;border:1px solid var(--color-border);border-radius:var(--radius, 8px);box-shadow:var(--shadow-sm, 0 1px 3px rgba(16, 24, 40, .08));padding:var(--space-5, 20px);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:var(--space-4, 16px);font-size:12px;line-height:1.5;aspect-ratio:auto}.money-preview-from,.money-preview-meta{display:flex;flex-direction:column;min-width:0;overflow-wrap:anywhere}.money-preview-meta{text-align:right}.money-preview-from strong{font-size:14px}.money-preview-logo{max-height:40px;max-width:140px;object-fit:contain;margin-bottom:6px;align-self:flex-start}.money-preview-foot{grid-column:1 / -1;margin:var(--space-3, 12px) 0 0;padding-top:var(--space-2, 8px);border-top:1px solid #ddd;color:#666;font-size:11px}.money-logo{display:flex;flex-wrap:wrap;align-items:center;gap:var(--space-3, 12px)}.money-logo-thumb{width:160px;height:80px;border:1px solid var(--color-border);border-radius:var(--radius, 8px);background:#fff;display:grid;place-items:center;padding:var(--space-2, 8px)}.money-logo-thumb img{max-width:100%;max-height:100%;object-fit:contain}.money-dropzone{flex:1 1 16rem;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;min-height:96px;padding:var(--space-3, 12px);border:1.5px dashed var(--color-border-strong);border-radius:var(--radius, 8px);color:var(--color-text-muted);text-align:center;cursor:pointer;position:relative;margin:0}.money-dropzone:hover,.money-dropzone.is-over{border-color:var(--color-accent);background:var(--color-accent-softer, color-mix(in srgb, var(--color-accent) 6%, var(--color-surface)))}.money-dropzone:focus-within{outline:2px solid var(--color-focus, var(--color-accent));outline-offset:2px}.money-dropzone.is-busy{opacity:.6;cursor:progress}.money-dropzone-title{font-weight:600;color:var(--color-text)}.money-dropzone-hint{font-size:var(--text-xs, 12px)}.money-dropzone input[type=file]{position:absolute;top:0;right:0;bottom:0;left:0;opacity:0;cursor:pointer;width:100%;height:100%}@media(max-width:1040px){.money-profile-grid{grid-template-columns:minmax(0,1fr)}.money-profile-preview{position:static;order:-1}}@media(max-width:720px){.money-settings-grid,.money-settings-grid--3{grid-template-columns:minmax(0,1fr)}.money-settings-grid--address{grid-template-columns:minmax(0,1fr) minmax(0,1fr)}.money-settings-grid--address>.money-doc-field:nth-child(3){grid-column:1 / -1}.money-settings-grid input,.money-settings-grid select,.money-settings-grid textarea{font-size:16px}.money-profile-preview{display:none}}.money-techdraft{display:grid;gap:var(--space-3, 12px)}.money-techdraft-list{list-style:none;margin:0;padding:0;display:grid;gap:var(--space-2, 8px)}.money-techdraft-list>li{padding:var(--space-3, 12px);border:1px solid var(--color-border);border-radius:var(--radius, 8px);background:var(--color-surface);display:grid;gap:var(--space-2, 8px)}.money-techdraft-list>li.is-editing{border-color:var(--color-accent)}.money-techdraft-row{display:flex;align-items:center;gap:var(--space-2, 8px);flex-wrap:wrap}.money-techdraft-number{font-weight:600}.money-techdraft-total{margin-left:auto;font-weight:650;font-variant-numeric:tabular-nums}.money-techdraft-actions{display:flex;gap:var(--space-2, 8px)}.money-techdraft-note{margin:0;font-size:var(--text-xs, 12px);color:var(--color-text-muted)}.money-techdraft-editor{display:grid;gap:var(--space-3, 12px);padding:var(--space-4, 16px);border:1px solid var(--color-border);border-radius:var(--radius-lg, 12px);background:var(--color-surface-sunken)}.money-techdraft-editor .meta{margin:0}.money-techdraft-bar{position:sticky;bottom:var(--space-2, 8px);z-index:var(--z-sticky, 30);display:flex;align-items:center;flex-wrap:wrap;gap:var(--space-3, 12px);padding:var(--space-3, 12px);background:var(--color-surface-raised, var(--color-surface));border:1px solid var(--color-border-strong);border-radius:var(--radius, 8px);box-shadow:var(--shadow-md, 0 12px 16px -4px rgba(16, 24, 40, .1))}.money-techdraft-sum{display:grid;flex:1 1 8rem}.money-techdraft-sum span{font-size:var(--text-xs, 12px);color:var(--color-text-muted)}.money-techdraft-sum strong{font-size:var(--text-lg, 18px);font-variant-numeric:tabular-nums}.money-techdraft-buttons{display:flex;gap:var(--space-2, 8px)}@media(max-width:720px){.money-techdraft-bar{bottom:calc(72px + env(safe-area-inset-bottom,0px))}.money-techdraft-buttons{width:100%}.money-techdraft-buttons .button-primary{flex:1;min-height:52px}.money-techdraft-buttons .button-ghost,.money-techdraft-actions>button,.money-techdraft-new{min-height:48px}.money-techdraft-new{width:100%}}.catalog-picker-list{max-height:min(360px,60vh);max-height:min(360px,60dvh);overflow-y:auto;overscroll-behavior:contain}.catalog-picker-group+.catalog-picker-group{margin-top:var(--space-1, 4px);border-top:1px solid var(--color-border);padding-top:var(--space-1, 4px)}.catalog-picker-heading{position:sticky;top:calc(-1 * var(--space-1, 4px));z-index:1;padding:var(--space-1, 4px) 10px;font-size:var(--text-xs, 12px);font-weight:var(--weight-semibold, 600);color:var(--color-text-muted);background:var(--color-surface-raised)}.catalog-picker-options{list-style:none;margin:0;padding:0}.catalog-picker-option{display:flex;align-items:center}.catalog-picker-empty{padding:var(--space-2, 8px) 10px;color:var(--color-text-muted)}@media(pointer:coarse){.catalog-picker-option{min-height:44px}}:root{--shell-sidebar-w: 248px;--shell-sidebar-w-collapsed: 64px;--shell-topbar-h: 56px;--shell-tabbar-h: 64px;--shell-content-max: 1120px;--shell-ease: cubic-bezier(.2, 0, 0, 1)}.app-shell{display:grid;grid-template-columns:var(--shell-sidebar-w) minmax(0,1fr);min-height:100vh;min-height:100dvh}.app-shell--collapsed{grid-template-columns:var(--shell-sidebar-w-collapsed) minmax(0,1fr)}.shell-column{display:flex;flex-direction:column;min-width:0}.shell-icon{flex-shrink:0;display:block}.shell-sidebar{position:sticky;top:0;height:100vh;height:100dvh;display:flex;flex-direction:column;background:var(--color-nav-bg);color:var(--color-nav-text);border-right:1px solid var(--color-nav-border, transparent);overflow:hidden;z-index:25}.shell-sidebar-brand{display:flex;align-items:center;height:var(--shell-topbar-h);padding:0 12px;flex-shrink:0;border-bottom:1px solid color-mix(in srgb,var(--color-nav-text) 10%,transparent)}.shell-brand{display:flex;align-items:center;gap:10px;min-width:0;min-height:40px;padding:4px;border-radius:6px;color:var(--color-nav-text);text-decoration:none;font-weight:700;font-size:.95rem}.shell-brand-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shell-sidebar-nav{flex:1;overflow-y:auto;overflow-x:hidden;padding:8px 8px 12px;scrollbar-width:thin}.shell-nav-section+.shell-nav-section{margin-top:12px}.shell-nav-section-label{padding:4px 12px;margin:0;font-size:.72rem;font-weight:600;letter-spacing:.02em;color:var(--color-nav-text-muted)}.shell-nav-divider{height:1px;margin:4px 10px 8px;background:color-mix(in srgb,var(--color-nav-text) 12%,transparent)}.shell-nav-list{list-style:none;margin:0;padding:0;display:grid;gap:2px}.shell-nav-link,.shell-collapse-toggle{position:relative;display:flex;align-items:center;gap:10px;width:100%;min-height:36px;padding:7px 10px;border:0;border-radius:6px;background:transparent;color:var(--color-nav-text-muted);font:inherit;font-size:.875rem;font-weight:500;text-decoration:none;text-align:left;text-transform:none;letter-spacing:normal;white-space:nowrap;cursor:pointer;transition:background-color .1s var(--shell-ease),color .1s var(--shell-ease)}.shell-nav-link:hover,.shell-collapse-toggle:hover{color:var(--color-nav-text);background:color-mix(in srgb,var(--color-nav-text) 8%,transparent)}.shell-nav-link.active{color:var(--color-nav-text);font-weight:600;background:color-mix(in srgb,var(--color-accent) 22%,transparent)}.shell-nav-link.active:before{content:"";position:absolute;left:-8px;top:7px;bottom:7px;width:3px;border-radius:0 3px 3px 0;background:var(--color-accent)}.shell-nav-link.active .shell-icon{color:var(--color-accent)}.shell-nav-label{overflow:hidden;text-overflow:ellipsis}.shell-sidebar-foot{flex-shrink:0;padding:8px;border-top:1px solid color-mix(in srgb,var(--color-nav-text) 10%,transparent)}.shell-sidebar--collapsed .shell-sidebar-brand{justify-content:center;padding:0 8px}.shell-sidebar--collapsed .shell-brand .brand-mark{display:none!important}.shell-sidebar--collapsed .shell-nav-link,.shell-sidebar--collapsed .shell-collapse-toggle{justify-content:center;padding:8px;min-height:40px}.shell-sidebar--collapsed .shell-nav-label{display:none}.shell-sidebar :focus-visible{outline:2px solid var(--color-accent);outline-offset:-2px}.shell-topbar{position:sticky;top:0;z-index:20;display:flex;align-items:center;gap:12px;height:var(--shell-topbar-h);padding:0 16px 0 24px;background:var(--color-surface);border-bottom:1px solid var(--color-border)}.shell-topbar-start,.shell-topbar-end{display:flex;align-items:center;gap:8px;min-width:0}.shell-topbar-start{flex:1 1 0;min-width:140px}.shell-topbar-center{flex:0 1 480px;display:flex;justify-content:center;min-width:0}.shell-topbar-end{flex:0 0 auto;justify-content:flex-end}.shell-breadcrumb{display:flex;align-items:center;gap:6px;min-width:0;font-size:.875rem;white-space:nowrap}.shell-breadcrumb-section,.shell-breadcrumb-sep{color:var(--color-text-muted)}.shell-breadcrumb-item{color:var(--color-text);font-weight:600;text-decoration:none;overflow:hidden;text-overflow:ellipsis}.shell-breadcrumb-item:hover{text-decoration:underline}.shell-search-trigger{display:flex;align-items:center;gap:8px;width:100%;max-width:480px;min-height:36px;padding:0 8px 0 12px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface-sunken, var(--color-bg));color:var(--color-text-muted);font:inherit;font-size:.875rem;font-weight:400;text-transform:none;letter-spacing:normal;cursor:pointer;box-shadow:none}.shell-search-trigger:hover{border-color:var(--color-border-strong);color:var(--color-text)}.shell-search-text{flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shell-kbd{display:inline-flex;align-items:center;min-width:20px;height:20px;padding:0 5px;border:1px solid var(--color-border);border-bottom-width:2px;border-radius:4px;background:var(--color-surface);color:var(--color-text-muted);font-family:inherit;font-size:.72rem;font-weight:600;line-height:1;white-space:nowrap}.shell-icon-button,.shell-user-button,.shell-topbar-link{display:inline-flex;align-items:center;justify-content:center;gap:6px;min-width:36px;min-height:36px;padding:0 8px;border:1px solid transparent;border-radius:6px;background:transparent;color:var(--color-text-muted);font:inherit;font-size:.875rem;font-weight:500;text-transform:none;letter-spacing:normal;text-decoration:none;white-space:nowrap;cursor:pointer;box-shadow:none}.shell-icon-button:hover,.shell-user-button:hover,.shell-topbar-link:hover,.shell-popover.is-open>.shell-icon-button,.shell-popover.is-open>.shell-user-button{background:var(--color-neutral-bg, rgba(0, 0, 0, .05));color:var(--color-text)}.shell-topbar :focus-visible,.shell-overlay :focus-visible,.shell-tabbar :focus-visible{outline:2px solid var(--color-accent);outline-offset:2px}.shell-sync{display:flex;align-items:center;gap:6px}.shell-sync:empty{display:none}.shell-sync-pill{display:inline-flex;align-items:center;gap:6px;min-height:28px;padding:0 10px;border:1px solid transparent;border-radius:999px;font:inherit;font-size:.78rem;font-weight:600;line-height:1;text-transform:none;letter-spacing:normal;text-decoration:none;white-space:nowrap;box-shadow:none}button.shell-sync-pill{cursor:pointer}.shell-sync-pill--synced{color:var(--color-text-muted);background:transparent}.shell-sync-pill--pending{color:var(--color-info-text);background:var(--color-info-bg);border-color:color-mix(in srgb,var(--color-info) 35%,transparent)}.shell-sync-pill--offline{color:var(--color-warning-text);background:var(--color-warning-bg);border-color:color-mix(in srgb,var(--color-warning) 45%,transparent)}.shell-sync-pill--failed{color:var(--color-danger-text);background:var(--color-danger-bg);border-color:color-mix(in srgb,var(--color-danger) 45%,transparent)}.shell-sync-pill--failed:hover,button.shell-sync-pill:hover{filter:brightness(.97);text-decoration:none}.shell-popover{position:relative}.shell-popover-panel{position:absolute;top:calc(100% + 6px);z-index:40;width:320px;max-width:calc(100vw - 16px);max-height:calc(100vh - var(--shell-topbar-h) - 16px);max-height:calc(100dvh - var(--shell-topbar-h) - 16px);overflow-y:auto;padding:8px;background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:8px;box-shadow:0 12px 16px -4px #1018281a,0 4px 6px -2px #1018280d}.shell-popover-panel--right{right:0}.shell-popover-panel--left{left:0}.shell-avatar{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;flex-shrink:0;border-radius:999px;background:var(--color-accent);color:var(--color-accent-text);font-size:.72rem;font-weight:700;letter-spacing:.02em}.shell-avatar--lg{width:36px;height:36px;font-size:.85rem}.shell-user-button{padding:0 6px 0 4px}.shell-user-text{display:flex;flex-direction:column;align-items:flex-start;line-height:1.15;max-width:160px}.shell-user-name{color:var(--color-text);font-weight:600;font-size:.82rem;max-width:100%;overflow:hidden;text-overflow:ellipsis}.shell-user-role{color:var(--color-text-muted);font-size:.72rem}.shell-user-head{display:flex;align-items:center;gap:10px;padding:6px 8px 10px;border-bottom:1px solid var(--color-border);margin-bottom:6px}.shell-user-head-name{font-weight:600}.shell-user-head-meta{font-size:.78rem;color:var(--color-text-muted);word-break:break-word}.shell-menu-list{display:grid;gap:2px}.shell-menu-item{display:flex;align-items:center;justify-content:flex-start;gap:10px;width:100%;min-height:36px;padding:6px 8px;border:0;border-radius:6px;background:transparent;color:var(--color-text);font:inherit;font-size:.875rem;font-weight:500;text-align:left;text-transform:none;letter-spacing:normal;text-decoration:none;cursor:pointer;box-shadow:none}.shell-menu-item .shell-icon{color:var(--color-text-muted)}.shell-menu-item .shell-kbd{margin-left:auto}.shell-menu-item:hover{background:var(--color-neutral-bg, rgba(0, 0, 0, .05));text-decoration:none}.shell-menu-item--danger,.shell-menu-item--danger .shell-icon{color:var(--color-danger-text)}.shell-menu-push:empty{display:none}.shell-menu-push button{width:100%;min-height:36px;justify-content:flex-start;padding:6px 8px;border-color:transparent;background:transparent;color:var(--color-text);box-shadow:none;font-weight:500;font-size:.875rem;text-transform:none;letter-spacing:normal}.shell-menu-section{margin:6px 0;padding:8px 4px;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border)}.shell-appearance{display:grid;gap:10px}.shell-segmented{margin:0;padding:0;border:0;min-width:0}.shell-segmented legend{padding:0 4px 4px;font-size:.72rem;font-weight:600;color:var(--color-text-muted)}.shell-segmented-options{display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);gap:2px;padding:2px;border-radius:8px;background:var(--color-neutral-bg, rgba(0, 0, 0, .05))}.shell-segment{position:relative;flex:1 1 auto;display:inline-flex;align-items:center;justify-content:center;gap:4px;min-height:32px;padding:0 4px;border-radius:6px;color:var(--color-text-muted);font-size:.78rem;font-weight:500;cursor:pointer;white-space:nowrap}.shell-segment input{position:absolute;opacity:0;top:0;right:0;bottom:0;left:0;margin:0;cursor:pointer}.shell-segment.is-selected{background:var(--color-surface);color:var(--color-text);font-weight:600;box-shadow:0 1px 2px #1018281f}.shell-segment:has(input:focus-visible){outline:2px solid var(--color-accent);outline-offset:1px}.app-content{flex:1;width:100%;max-width:var(--shell-content-max);margin:0 auto;padding:24px}.app-content--wide{max-width:none}.shell-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:flex-start;justify-content:center;padding:12vh 16px 16px;padding:12dvh 16px 16px;background:#0f0f0f73;animation:shell-fade .15s var(--shell-ease)}.shell-palette,.shell-shortcuts{width:100%;max-width:640px;display:flex;flex-direction:column;max-height:70vh;max-height:70dvh;overflow:hidden;background:var(--color-surface);color:var(--color-text);border:1px solid var(--color-border);border-radius:12px;box-shadow:0 24px 48px -12px #10182840,0 4px 6px -2px #1018280d;animation:shell-pop .15s var(--shell-ease)}.shell-shortcuts{max-width:460px}.shell-palette-input{display:flex;align-items:center;gap:10px;padding:0 12px 0 16px;min-height:52px;border-bottom:1px solid var(--color-border);color:var(--color-text-muted)}.shell-palette-input input{flex:1;min-width:0;height:48px;border:0;outline:none;background:transparent;color:var(--color-text);font:inherit;font-size:1rem;box-shadow:none;padding:0;max-width:none}.shell-palette-input input:focus,.shell-palette-input input:focus-visible{outline:none;box-shadow:none}.shell-palette-esc{min-height:28px;padding:0 8px;border:1px solid var(--color-border);border-radius:4px;background:var(--color-surface);color:var(--color-text-muted);font-size:.72rem;font-weight:600;text-transform:none;letter-spacing:normal;box-shadow:none;cursor:pointer}.shell-palette-list{list-style:none;margin:0;padding:6px;overflow-y:auto}.shell-palette-group{padding:10px 10px 4px;font-size:.72rem;font-weight:600;color:var(--color-text-muted)}.shell-palette-option{display:flex;align-items:center;gap:10px;min-height:40px;padding:6px 10px;border-radius:6px;cursor:pointer;color:var(--color-text);font-size:.9rem}.shell-palette-option .shell-icon{color:var(--color-text-muted)}.shell-palette-option.is-active{background:color-mix(in srgb,var(--color-accent) 14%,var(--color-surface));box-shadow:inset 3px 0 0 var(--color-accent)}.shell-palette-option.is-active .shell-icon{color:var(--color-text)}.shell-palette-label{flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shell-palette-tag{font-size:.72rem;color:var(--color-text-muted)}.shell-palette-empty{padding:24px 12px;text-align:center;color:var(--color-text-muted);font-size:.9rem}.shell-palette-foot{display:flex;flex-wrap:wrap;gap:16px;padding:8px 16px;border-top:1px solid var(--color-border);color:var(--color-text-muted);font-size:.75rem}.shell-palette-foot .shell-kbd{margin-right:2px}.shell-dialog-head{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 12px 12px 16px;border-bottom:1px solid var(--color-border)}.shell-dialog-head h2{margin:0;padding:0;border:0;font-size:1rem;font-weight:600;color:var(--color-text);text-transform:none;letter-spacing:normal}.shell-shortcut-list{margin:0;padding:8px 16px 16px;overflow-y:auto}.shell-shortcut-row{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:8px 0;border-bottom:1px solid var(--color-border)}.shell-shortcut-row:last-child{border-bottom:0}.shell-shortcut-row dt{order:2;display:flex;align-items:center;gap:4px;flex-shrink:0}.shell-shortcut-row dd{margin:0;font-size:.875rem}.shell-shortcut-then{margin:0 4px;font-size:.72rem;color:var(--color-text-muted)}.shell-overlay--sheet{padding:0;align-items:stretch}.shell-sheet{display:flex;flex-direction:column;width:100%;height:100%;background:var(--color-surface);color:var(--color-text);animation:shell-slide-up .25s var(--shell-ease);padding-top:env(safe-area-inset-top)}.shell-sheet-body{flex:1;overflow-y:auto;padding:8px 16px calc(24px + env(safe-area-inset-bottom))}.shell-sheet-section{margin-top:16px}.shell-sheet h3.shell-nav-section-label{border:0;text-transform:none;letter-spacing:.02em;font-size:.72rem;font-weight:600}.shell-sheet .shell-nav-section-label{color:var(--color-text-muted);padding:0 4px 6px}.shell-sheet-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.shell-sheet-link{display:flex;align-items:center;gap:10px;width:100%;min-height:52px;padding:8px 12px;border:1px solid var(--color-border);border-radius:8px;background:var(--color-surface);color:var(--color-text);font:inherit;font-size:.9rem;font-weight:500;text-align:left;text-transform:none;letter-spacing:normal;text-decoration:none;box-shadow:none;cursor:pointer}.shell-sheet-link .shell-icon{color:var(--color-text-muted)}.shell-sheet-link.active{border-color:var(--color-accent);background:color-mix(in srgb,var(--color-accent) 12%,var(--color-surface));font-weight:600}.shell-sheet-link.active .shell-icon{color:var(--color-text)}.shell-sheet-appearance{margin-top:16px}.shell-tabbar{position:fixed;left:0;right:0;bottom:0;z-index:30;display:grid;grid-auto-flow:column;grid-auto-columns:minmax(0,1fr);height:calc(var(--shell-tabbar-h) + env(safe-area-inset-bottom));padding:0 4px env(safe-area-inset-bottom);background:var(--color-surface);border-top:1px solid var(--color-border)}.shell-tab{position:relative;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;min-height:48px;padding:6px 2px;border:0;border-radius:0;background:transparent;color:var(--color-text-muted);font:inherit;font-size:.72rem;font-weight:500;line-height:1.1;text-transform:none;letter-spacing:normal;text-decoration:none;box-shadow:none;cursor:pointer}.shell-tab span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.shell-tab .shell-icon{padding:2px 14px;box-sizing:content-box;border-radius:999px}.shell-tab.active{color:var(--color-text);font-weight:700}.shell-tab.active .shell-icon{background:color-mix(in srgb,var(--color-accent) 24%,transparent)}@media(max-width:1279.98px){.shell-topbar-link-text{display:none}}@media(max-width:1023.98px){.shell-topbar{padding-left:16px}.shell-search-trigger .shell-kbd{display:none}}@media(max-width:767.98px){.app-shell,.app-shell--collapsed{grid-template-columns:minmax(0,1fr)}.shell-topbar{gap:4px;height:calc(var(--shell-topbar-h) + env(safe-area-inset-top));padding:env(safe-area-inset-top) 8px 0 12px}.shell-topbar-start{min-width:0}.shell-topbar-center{flex:0 0 auto}.shell-topbar-end{gap:4px}.shell-brand--topbar{color:var(--color-text);font-size:.9rem;padding:0}.shell-icon-button,.shell-user-button{min-width:44px;min-height:44px}.shell-sync-pill{min-height:32px;padding:0 8px}.app-content{padding:16px;padding-bottom:calc(var(--shell-tabbar-h) + env(safe-area-inset-bottom) + 24px)}.shell-overlay{padding:8px 8px 16px}.shell-overlay.shell-overlay--sheet{padding:0}.shell-palette{max-height:calc(100dvh - 24px)}}@media(max-width:767.98px){.app-shell:has(.shell-tabbar) .assistant-fab{bottom:calc(var(--shell-tabbar-h) + 12px + env(safe-area-inset-bottom))}}@media(max-width:720px){.app-shell:has(.action-bar) .assistant-fab{bottom:calc(98px + env(safe-area-inset-bottom))}.app-shell:has(.action-bar) .shell-tabbar{display:none}.app-shell:has(.action-bar) .app-content{padding-bottom:16px}}@media(pointer:coarse){.shell-nav-link,.shell-collapse-toggle,.shell-menu-item,.shell-icon-button,.shell-user-button,.shell-topbar-link,.shell-search-trigger,.shell-segment{min-height:44px}.shell-palette-option{min-height:48px}}@keyframes shell-fade{0%{opacity:0}}@keyframes shell-pop{0%{opacity:0;transform:translateY(-6px) scale(.99)}}@keyframes shell-slide-up{0%{transform:translateY(24px);opacity:0}}@media(prefers-reduced-motion:reduce){.shell-overlay,.shell-palette,.shell-shortcuts,.shell-sheet{animation:none}.shell-nav-link,.shell-collapse-toggle{transition:none}}@media print{.shell-sidebar,.shell-topbar,.shell-tabbar{display:none!important}.app-shell{display:block}.app-content{padding:0;max-width:none}}.btn-danger-ghost{background-color:transparent;border:var(--border-w-control) solid color-mix(in srgb,var(--color-danger) 45%,transparent);color:var(--color-danger)}.btn-danger-ghost:hover:not(:disabled){background-color:color-mix(in srgb,var(--color-danger) 12%,transparent);border-color:var(--color-danger)}.btn-danger-ghost:disabled{opacity:.55;cursor:not-allowed}.photo-tile-delete{display:flex;flex-wrap:wrap;align-items:center;gap:.35rem;margin-top:.35rem}.photo-tile-delete .meta{flex:1 1 100%;margin:0}.photo-tile-delete button{min-height:2.2rem;padding:0 .6rem;font-size:.75rem}@media(pointer:coarse){.photo-tile-delete button{min-height:44px;flex:1 1 100%}}.photo-lightbox-actions{align-self:flex-end;display:flex;flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;flex-shrink:0;margin:.5rem max(.75rem,env(safe-area-inset-right)) 0 .75rem}.photo-lightbox-actions .meta{margin:0;color:var(--color-surface)}.photo-lightbox-actions .btn-danger-ghost{background-color:var(--color-surface);min-height:44px}
