/*! tailwindcss v4.3.1 | MIT License | https://tailwindcss.com */
@layer properties{@supports (((-webkit-hyphens:none)) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-space-y-reverse:0;--tw-border-style:solid;--tw-leading:initial;--tw-font-weight:initial;--tw-tracking:initial;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid}}}@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--text-xs:.75rem;--text-xs--line-height:calc(1 / .75);--text-sm:.875rem;--text-sm--line-height:calc(1.25 / .875);--text-base:1rem;--text-base--line-height:calc(1.5 / 1);--font-weight-medium:500;--font-weight-semibold:600;--tracking-tight:-.025em;--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before,::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){appearance:button}::file-selector-button{appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.visible{visibility:visible}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.mt-4{margin-top:calc(var(--spacing) * 4)}.flex{display:flex}.hidden{display:none}.inline{display:inline}.inline-flex{display:inline-flex}.table{display:table}.h-8{height:calc(var(--spacing) * 8)}.h-9{height:calc(var(--spacing) * 9)}.h-10{height:calc(var(--spacing) * 10)}.h-24{height:calc(var(--spacing) * 24)}.w-9{width:calc(var(--spacing) * 9)}.w-full{width:100%}.caption-bottom{caption-side:bottom}.resize{resize:both}.flex-col{flex-direction:column}.items-center{align-items:center}.justify-center{justify-content:center}.gap-2{gap:calc(var(--spacing) * 2)}:where(.space-y-1\.5>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 1.5) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 1.5) * calc(1 - var(--tw-space-y-reverse)))}.overflow-auto{overflow:auto}.rounded-md{border-radius:3px}.rounded-xl{border-radius:4px}.border{border-style:var(--tw-border-style);border-width:1px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.border-b{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.border-input{border-color:hsl(var(--input))}.border-transparent{border-color:#0000}.bg-background{background-color:hsl(var(--background))}.bg-card{background-color:hsl(var(--card))}.bg-destructive{background-color:hsl(var(--destructive))}.bg-muted\/50{background-color:hsl(var(--muted))}@supports (color:color-mix(in lab, red, red)){.bg-muted\/50{background-color:color-mix(in oklab, hsl(var(--muted)) 50%, transparent)}}.bg-primary{background-color:hsl(var(--primary))}.bg-secondary{background-color:hsl(var(--secondary))}.bg-transparent{background-color:#0000}.p-2{padding:calc(var(--spacing) * 2)}.p-6{padding:calc(var(--spacing) * 6)}.px-2{padding-inline:calc(var(--spacing) * 2)}.px-2\.5{padding-inline:calc(var(--spacing) * 2.5)}.px-3{padding-inline:calc(var(--spacing) * 3)}.px-4{padding-inline:calc(var(--spacing) * 4)}.px-8{padding-inline:calc(var(--spacing) * 8)}.py-0\.5{padding-block:calc(var(--spacing) * .5)}.py-1{padding-block:var(--spacing)}.py-2{padding-block:calc(var(--spacing) * 2)}.pt-0{padding-top:0}.text-center{text-align:center}.text-left{text-align:left}.align-middle{vertical-align:middle}.text-base{font-size:var(--text-base);line-height:var(--tw-leading,var(--text-base--line-height))}.text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.text-xs{font-size:var(--text-xs);line-height:var(--tw-leading,var(--text-xs--line-height))}.leading-none{--tw-leading:1;line-height:1}.font-medium{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.font-semibold{--tw-font-weight:var(--font-weight-semibold);font-weight:var(--font-weight-semibold)}.tracking-tight{--tw-tracking:var(--tracking-tight);letter-spacing:var(--tracking-tight)}.whitespace-nowrap{white-space:nowrap}.text-card-foreground{color:hsl(var(--card-foreground))}.text-destructive-foreground{color:hsl(var(--destructive-foreground))}.text-foreground{color:hsl(var(--foreground))}.text-muted-foreground{color:hsl(var(--muted-foreground))}.text-primary{color:hsl(var(--primary))}.text-primary-foreground{color:hsl(var(--primary-foreground))}.text-secondary-foreground{color:hsl(var(--secondary-foreground))}.underline-offset-4{text-underline-offset:4px}.shadow,.shadow-sm{--tw-shadow:0 1px 3px 0 var(--tw-shadow-color,#0000001a), 0 1px 2px -1px var(--tw-shadow-color,#0000001a);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.peer-disabled\:cursor-not-allowed:is(:where(.peer):disabled~*){cursor:not-allowed}.peer-disabled\:opacity-70:is(:where(.peer):disabled~*){opacity:.7}.file\:border-0::file-selector-button{border-style:var(--tw-border-style);border-width:0}.file\:bg-transparent::file-selector-button{background-color:#0000}.file\:text-sm::file-selector-button{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}.file\:font-medium::file-selector-button{--tw-font-weight:var(--font-weight-medium);font-weight:var(--font-weight-medium)}.file\:text-foreground::file-selector-button{color:hsl(var(--foreground))}.placeholder\:text-muted-foreground::placeholder{color:hsl(var(--muted-foreground))}@media (hover:hover){.hover\:bg-accent:hover{background-color:hsl(var(--accent))}.hover\:bg-destructive\/80:hover{background-color:hsl(var(--destructive))}@supports (color:color-mix(in lab, red, red)){.hover\:bg-destructive\/80:hover{background-color:color-mix(in oklab, hsl(var(--destructive)) 80%, transparent)}}.hover\:bg-destructive\/90:hover{background-color:hsl(var(--destructive))}@supports (color:color-mix(in lab, red, red)){.hover\:bg-destructive\/90:hover{background-color:color-mix(in oklab, hsl(var(--destructive)) 90%, transparent)}}.hover\:bg-muted\/50:hover{background-color:hsl(var(--muted))}@supports (color:color-mix(in lab, red, red)){.hover\:bg-muted\/50:hover{background-color:color-mix(in oklab, hsl(var(--muted)) 50%, transparent)}}.hover\:bg-primary\/80:hover{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/80:hover{background-color:color-mix(in oklab, hsl(var(--primary)) 80%, transparent)}}.hover\:bg-primary\/90:hover{background-color:hsl(var(--primary))}@supports (color:color-mix(in lab, red, red)){.hover\:bg-primary\/90:hover{background-color:color-mix(in oklab, hsl(var(--primary)) 90%, transparent)}}.hover\:bg-secondary\/80:hover{background-color:hsl(var(--secondary))}@supports (color:color-mix(in lab, red, red)){.hover\:bg-secondary\/80:hover{background-color:color-mix(in oklab, hsl(var(--secondary)) 80%, transparent)}}.hover\:text-accent-foreground:hover{color:hsl(var(--accent-foreground))}.hover\:underline:hover{text-decoration-line:underline}}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus\:ring-ring:focus{--tw-ring-color:hsl(var(--ring))}.focus\:ring-offset-2:focus{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus\:outline-none:focus{--tw-outline-style:none;outline-style:none}.focus-visible\:ring-1:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(1px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-2:focus-visible{--tw-ring-shadow:var(--tw-ring-inset,) 0 0 0 calc(2px + var(--tw-ring-offset-width)) var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow), var(--tw-inset-ring-shadow), var(--tw-ring-offset-shadow), var(--tw-ring-shadow), var(--tw-shadow)}.focus-visible\:ring-ring:focus-visible{--tw-ring-color:hsl(var(--ring))}.focus-visible\:ring-offset-2:focus-visible{--tw-ring-offset-width:2px;--tw-ring-offset-shadow:var(--tw-ring-inset,) 0 0 0 var(--tw-ring-offset-width) var(--tw-ring-offset-color)}.focus-visible\:outline-none:focus-visible{--tw-outline-style:none;outline-style:none}.disabled\:pointer-events-none:disabled{pointer-events:none}.disabled\:cursor-not-allowed:disabled{cursor:not-allowed}.disabled\:opacity-50:disabled{opacity:.5}.data-\[state\=selected\]\:bg-muted[data-state=selected]{background-color:hsl(var(--muted))}@media (width>=48rem){.md\:text-sm{font-size:var(--text-sm);line-height:var(--tw-leading,var(--text-sm--line-height))}}.\[\&_svg\]\:pointer-events-none svg{pointer-events:none}.\[\&_svg\]\:size-4 svg{width:calc(var(--spacing) * 4);height:calc(var(--spacing) * 4)}.\[\&_svg\]\:shrink-0 svg{flex-shrink:0}.\[\&_tr\]\:border-b tr{border-bottom-style:var(--tw-border-style);border-bottom-width:1px}.\[\&_tr\:last-child\]\:border-0 tr:last-child{border-style:var(--tw-border-style);border-width:0}.\[\&\:has\(\[role\=checkbox\]\)\]\:pr-0:has([role=checkbox]){padding-right:0}.\[\&\>tr\]\:last\:border-b-0>tr:last-child{border-bottom-style:var(--tw-border-style);border-bottom-width:0}}:root{--background:0 0% 98%;--foreground:0 0% 7%;--card:0 0% 100%;--card-foreground:0 0% 7%;--popover:0 0% 100%;--popover-foreground:0 0% 7%;--primary:0 0% 7%;--primary-foreground:0 0% 100%;--secondary:0 0% 93%;--secondary-foreground:0 0% 7%;--muted:0 0% 93%;--muted-foreground:0 0% 45%;--accent:48 33% 55%;--accent-foreground:0 0% 7%;--destructive:4 58% 44%;--destructive-foreground:0 0% 100%;--border:0 0% 7% / .12;--input:0 0% 7% / .14;--ring:48 33% 55%;--radius:3px;color:#111;font-synthesis:none;text-rendering:optimizelegibility;background:#fafafa;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}*{box-sizing:border-box}html{background:#fafafa;min-width:320px}body{background:#fff;min-width:320px;margin:0}a{color:inherit;text-decoration:none}button,input,select{font:inherit}button{cursor:pointer}h1,h2,h3,p{margin:0}.app-frame{min-height:100vh;display:flex}.sidebar{z-index:50;will-change:transform, width;background:#fff;border-right:1px solid #00000012;flex-direction:column;width:240px;height:100vh;padding:14px 10px 12px;transition:transform .22s cubic-bezier(.25,.46,.45,.94),width .22s cubic-bezier(.25,.46,.45,.94);display:flex;position:fixed;top:0;left:0;overflow:hidden;transform:translate(0)}.app-frame.collapsed .sidebar{width:56px}.brand-row{border-bottom:1px solid #00000014;flex-shrink:0;justify-content:space-between;align-items:center;gap:8px;min-height:36px;padding:0 2px 8px;display:flex}.app-frame.collapsed .brand-row{justify-content:center;padding:0 0 8px}.sidebar-toggle{color:#888;background:#f8f4ec99;border:1px solid #00000014;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:28px;height:28px;margin-left:auto;padding:0;transition:background .18s,color .18s,border-color .18s,transform .2s;display:inline-flex}.app-frame.collapsed .sidebar-toggle{margin-left:0}.sidebar-toggle:hover{color:#111;background:#b2a6612e;border-color:#b2a66166;transform:scale(1.05)}.app-frame.collapsed .sidebar-toggle:hover{transform:scale(1.05)rotate(180deg)}.nav-label{opacity:1;transition:opacity .2s,transform .2s,width .2s;transform:translate(0)}.app-frame.collapsed .nav-label{opacity:0;width:0;overflow:hidden;transform:translate(-6px)}.sidebar:before{content:"";background:#b2a661;height:3px;position:absolute;top:0;left:0;right:0}.brand{border-bottom:1px solid #00000014;flex-shrink:0;align-items:center;gap:10px;display:flex}.brand img{object-fit:contain;flex-shrink:0;width:auto;height:34px}.nav-list{flex-direction:column;flex:1;gap:1px;margin-top:6px;display:flex;overflow:hidden auto}.nav-list a{color:#666;white-space:nowrap;border-radius:5px;flex-shrink:0;align-items:center;gap:10px;padding:8px 10px;font-size:.88rem;font-weight:800;transition:background .12s,color .12s;display:inline-flex}.nav-list a:hover{color:#111;background:#b2a6611f}.nav-list a.active{color:#111;background:#b2a6612e}.nav-list a svg{opacity:.85;flex-shrink:0}.nav-separator{color:#999;letter-spacing:.06em;text-transform:uppercase;white-space:nowrap;border-top:1px solid #00000014;margin:10px 10px 4px;padding-top:10px;font-size:.68rem;font-weight:800;overflow:hidden}.app-frame.collapsed .nav-separator{visibility:hidden}.app-content{will-change:margin-left;background:#f9f8f4;flex:1;min-width:0;margin-left:240px;transition:margin-left .22s cubic-bezier(.25,.46,.45,.94)}.app-frame.collapsed .app-content{margin-left:56px}.page-shell{width:100%;max-width:none;margin:0;padding:20px 28px 44px}.wide-page{width:100%;max-width:none}.deliveries-page{width:100%;max-width:none;padding:20px 16px 44px}.page-header{margin-bottom:16px;padding:0}.page-header h1{letter-spacing:-.05em;max-width:900px;font-size:clamp(1.8rem,3.2vw,3rem);line-height:1.05}.page-copy{color:#888;max-width:780px;margin-top:10px;font-size:.95rem;line-height:1.45}.eyebrow{color:#b2a661;letter-spacing:.18em;text-transform:uppercase;margin-bottom:6px;font-size:.78rem;font-weight:900}.page-title-row{border-bottom:1px solid #00000012;justify-content:space-between;align-items:center;gap:16px;margin-bottom:18px;padding-bottom:14px;display:flex}.page-title-row .page-header{margin-bottom:0}.page-title-actions{flex-wrap:wrap;align-items:center;gap:10px;display:flex}.metrics-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:14px;margin-bottom:20px;display:grid}.metric-card,.panel,.toolbar-panel,.empty-state{background:#fff;border:1px solid #0000000f;border-radius:8px}.metric-card{border-left:4px solid #c4b56e;gap:6px;padding:18px 16px;display:grid;box-shadow:0 2px 6px #00000008}.metric-card span{color:#888;letter-spacing:.04em;text-transform:uppercase;font-size:.78rem;font-weight:800;display:block}.metric-card strong{letter-spacing:-.04em;font-variant-numeric:tabular-nums;font-size:clamp(1.25rem,2.2vw,1.75rem)}.metric-card.good strong,.positive{color:#1e7e45}.metric-card.bad strong,.negative{color:#c0392b}.panel,.empty-state{margin-bottom:16px;box-shadow:0 1px 3px #0000000a}.toolbar-panel{background:#fff;margin-bottom:16px;padding:14px 16px}.panel{background:#fff;overflow:hidden}.panel-header{background:#fff;border-bottom:1px solid #0000000f;justify-content:space-between;align-items:center;gap:16px;padding:16px 20px;display:flex}.panel-header.compact{padding-bottom:10px}.panel-header h2{letter-spacing:-.03em;font-size:clamp(1.1rem,1.8vw,1.35rem)}.panel-header span,.toolbar-panel span{color:#6b6b6b;font-weight:800}.form-panel{padding-bottom:14px}.form-grid{grid-template-columns:repeat(4,minmax(0,1fr));align-items:start;gap:10px;padding:0 16px;display:grid}label,.field{color:#6b6b6b;gap:7px;font-size:.82rem;font-weight:900;display:grid}.field-error{color:#b3261e;font-size:.75rem;font-weight:700}.field-label{align-items:baseline;gap:4px;display:inline-flex}.field-required{color:#b3261e;font-weight:900}label[data-invalid] input,label[data-invalid] select{border-color:#b3261e;box-shadow:0 0 0 3px #b3261e29}input,select{color:#111;background:#ffffffeb;border:1px solid #0000001f;border-radius:6px;width:100%;min-height:42px;padding:10px 12px;transition:border-color .12s,box-shadow .12s}input:focus,select:focus{border-color:#b2a661;outline:0;box-shadow:0 0 0 3px #b2a6612e}.wide-field{grid-column:span 2}.primary-button,.ghost-button,.inline-edit button,.inline-actions button,.mini-form button,.assignment-chip button{color:#fff;background:#111;border:0;border-radius:6px;min-height:42px;font-weight:900;transition:background .12s,transform 80ms}.primary-button:hover:not(:disabled){background:#2a2a2a}.ghost-button{color:#111;background:#fff;border:1px solid #0000001f;padding:0 14px}.ghost-button:hover:not(:disabled){color:#fff;background:#111;border-color:#111}.icon-button{color:#666;background:0 0;border:0;border-radius:5px;place-items:center;width:38px;min-height:38px;transition:background .12s,color .12s;display:grid}.icon-button:hover{color:#111;background:#b2a6611f}.icon-button.danger:hover{color:#b1332d;background:#ffe0dc}.icon-button svg{width:18px;height:18px}.primary-button{align-self:end;padding:0 18px}button:disabled{cursor:not-allowed;opacity:.45}.toolbar-panel{flex-wrap:wrap;align-items:end;gap:10px;padding:12px 16px;display:flex}.toolbar-panel label{min-width:220px}.project-combobox{width:340px;min-width:280px;position:relative}.project-combobox-results{z-index:20;background:#fff;border:1px solid #0000001a;border-radius:3px;gap:4px;max-height:320px;padding:6px;display:grid;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:auto;box-shadow:0 18px 54px #00000029}.project-combobox-results button{color:#111;text-align:left;background:0 0;border:0;border-radius:2px;gap:3px;padding:9px 10px;display:grid}.project-combobox-results button:hover,.project-combobox-results button[aria-selected=true]{background:#0000000f}.project-combobox-results span,.project-combobox-results button span{color:#6b6b6b;font-size:.82rem;font-weight:800}.month-picker{position:relative}.month-picker-trigger{color:#111;text-align:left;background:#ffffffdb;border:1px solid #00000029;border-radius:4px;width:100%;min-height:42px;padding:10px 12px;font-weight:900}.month-picker-panel{z-index:10;background:#fff;border:1px solid #0000001a;border-radius:4px;width:290px;padding:10px;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 18px 54px #00000029}.month-picker-year{justify-content:space-between;align-items:center;gap:10px;margin-bottom:8px;display:flex}.month-picker-year button,.month-picker-grid button{color:#666;background:0 0;border:0;border-radius:2px;min-height:34px;font-weight:900}.month-picker-grid{grid-template-columns:repeat(4,1fr);gap:4px;display:grid}.month-picker-grid button:hover,.month-picker-grid button.active{color:#fff;background:#111}.column-picker{position:relative}.column-picker-panel{z-index:20;background:#fff;border:1px solid #0000001a;border-radius:4px;flex-direction:column;gap:8px;width:min(380px,100vw - 32px);max-height:420px;padding:10px;display:flex;position:absolute;top:calc(100% + 6px);left:0;box-shadow:0 18px 54px #00000029}.column-picker-search{background:#fff;border:1px solid #0000001f;border-radius:3px;align-items:center;gap:8px;padding:8px 10px;display:flex}.column-picker-search svg{color:#6b6b6b;width:16px;height:16px}.column-picker-search input{background:0 0;border:0;flex:1;min-width:0;min-height:auto;padding:0 4px 0 10px;font-size:.88rem}.column-picker-search input:focus{outline:none}.column-picker-search button{color:#6b6b6b;background:0 0;border:0;border-radius:2px;place-items:center;width:22px;height:22px;padding:0;display:grid}.column-picker-search button:hover{color:#111;background:#0000000f}.column-picker-search button svg{width:14px;height:14px}.column-picker-results{flex-direction:column;gap:2px;min-height:120px;max-height:min(56vh,420px);display:flex;overflow:auto}.column-picker-section-header{color:#6b6b6b;letter-spacing:.04em;text-transform:uppercase;justify-content:space-between;align-items:center;padding:4px 4px 6px;font-size:.72rem;font-weight:900;display:flex}.column-picker-item{background:0 0;border-radius:2px;justify-content:space-between;align-items:center;gap:8px;padding:6px 8px;display:flex}.column-picker-item:hover{background:#0000000a}.column-picker-item.active{background:#16714314}.column-picker-item.active:hover{background:#16714324}.column-picker-item-info{flex-direction:column;flex:1;gap:1px;min-width:0;display:flex}.column-picker-item-info strong{text-overflow:ellipsis;letter-spacing:-.01em;white-space:nowrap;font-size:.84rem;font-weight:800;overflow:hidden}.column-picker-item-info span{color:#6b6b6b;font-size:.72rem;font-weight:700}.column-picker-toggle{white-space:nowrap;border:1px solid #0000;border-radius:3px;align-items:center;gap:4px;padding:4px 8px;font-size:.74rem;font-weight:900;display:inline-flex}.column-picker-toggle svg{width:12px;height:12px}.column-picker-toggle.add{color:#111;background:#fff;border-color:#0000002e}.column-picker-toggle.add:hover{color:#fff;background:#111;border-color:#111}.column-picker-toggle.remove{color:#b1332d;background:#fff;border-color:#b1332d66}.column-picker-toggle.remove:hover{color:#fff;background:#b1332d;border-color:#b1332d}.column-picker-toggle.locked{color:#6b6b6b;cursor:not-allowed;background:#0000000a;border-color:#0000001a}.column-picker-empty{color:#6b6b6b;text-align:center;padding:14px 8px;font-size:.82rem}.toolbar-hint{color:#6b6b6b;font-size:.78rem;font-style:italic}.delivery-history-table{--delivery-control-h:28px;--delivery-control-fs:.74rem;--delivery-control-pad-x:6px;--delivery-control-radius:3px;table-layout:fixed}.delivery-history-table th,.delivery-history-table td{min-width:0;padding:5px 6px;font-size:.78rem;line-height:1.16}.spreadsheet-table.delivery-history-table th,.spreadsheet-table.delivery-history-table td,.spreadsheet-table.delivery-history-table th:first-child,.spreadsheet-table.delivery-history-table td:first-child{min-width:0}.delivery-material-name-row th{background:#00000009}.delivery-material-name-row strong{text-overflow:ellipsis;letter-spacing:-.035em;color:#000;font-family:Arial,Helvetica,sans-serif;font-size:.8rem;font-weight:900;line-height:1.05;overflow:hidden}.delivery-material-header{cursor:default;display:block;position:relative}.delivery-material-header strong,.delivery-material-header span{cursor:default;-webkit-user-select:none;user-select:none}.delivery-material-header:after{z-index:30;color:#fff;content:attr(data-tooltip);letter-spacing:-.02em;opacity:0;pointer-events:none;text-align:center;white-space:normal;background:#111;border-radius:3px;width:max-content;max-width:280px;padding:9px 11px;font-size:.86rem;font-weight:900;line-height:1.2;transition:opacity 80ms,transform 80ms;position:absolute;bottom:calc(100% + 10px);left:50%;transform:translate(-50%,4px);box-shadow:0 14px 42px #00000047}.delivery-material-header:before{z-index:31;content:"";opacity:0;pointer-events:none;background:#111;width:10px;height:10px;transition:opacity 80ms,transform 80ms;position:absolute;bottom:calc(100% + 4px);left:50%;transform:translate(-50%,4px)rotate(45deg)}.delivery-material-header:hover:after,.delivery-material-header:focus-visible:after,.delivery-material-header:hover:before,.delivery-material-header:focus-visible:before{opacity:1;transform:translate(-50%)}.delivery-material-header:hover:before,.delivery-material-header:focus-visible:before{transform:translate(-50%)rotate(45deg)}.delivery-history-table td strong{letter-spacing:-.025em;font-size:.82rem}.delivery-history-table td span{margin-top:1px;font-size:.68rem}.delivery-history-table .unit-price-display strong{min-width:30px;font-size:.82rem}.delivery-row{cursor:pointer;content-visibility:auto;contain-intrinsic-size:auto 36px}.delivery-row:hover{background:#0000000a}.delivery-add-row{cursor:pointer}.delivery-add-row td{text-align:center;padding:6px}.delivery-add-row td>div{justify-content:center;align-items:center;width:100%;display:flex}.delivery-add-row span{color:#6b6b6b;border:1px solid #00000024;border-radius:3px;justify-content:center;align-items:center;width:24px;height:24px;margin-top:0;font-size:1rem;font-weight:900;line-height:1;display:inline-flex}.delivery-add-row:hover td{background:#0000000a}.delivery-add-row:hover span{color:#111;border-color:#111}.delivery-draft-row td{vertical-align:top;background:#faf8f073}.delivery-draft-row td input[type=date]{min-width:0;font-size:.72rem}.delivery-draft-header-row th{color:#6b6b6b;letter-spacing:.06em;text-align:left;text-transform:uppercase;vertical-align:top;white-space:nowrap;background:#f4f1ea;border-top:1px solid #00000024;border-bottom:1px solid #00000024;font-size:.66rem;font-weight:900}.delivery-draft-header-row th strong{color:#111;letter-spacing:-.035em;text-overflow:ellipsis;text-transform:none;white-space:nowrap;font-family:Arial,Helvetica,sans-serif;font-size:.8rem;font-weight:900;line-height:1.05;display:block;overflow:hidden}.delivery-draft-header-row th span{color:#8a8a8a;text-transform:none;margin-top:1px;font-size:.66rem;font-weight:800;display:block}.delivery-draft-row input,.delivery-draft-row select,.delivery-price-row input{box-sizing:border-box;width:100%;height:var(--delivery-control-h);min-height:var(--delivery-control-h);padding:0 var(--delivery-control-pad-x);border-radius:var(--delivery-control-radius);font-size:var(--delivery-control-fs);font-variant-numeric:tabular-nums;font-weight:700;line-height:var(--delivery-control-h);margin:0}.delivery-draft-row input[type=number],.delivery-price-row input[type=number]{-moz-appearance:textfield}.delivery-draft-row input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.delivery-draft-row input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.delivery-price-row input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.delivery-price-row input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}.delivery-draft-meta-inputs{flex-direction:column;gap:4px;display:flex}.delivery-draft-meta-inputs input,.delivery-draft-meta-inputs select{width:100%;height:var(--delivery-control-h);min-height:var(--delivery-control-h);font-weight:600}.delivery-draft-row td:not(:first-child)>span{color:#8a8a8a;font-variant-numeric:tabular-nums;margin-top:4px;font-size:.68rem;line-height:1.2;display:block}.delivery-price-row td,.delivery-price-row th{vertical-align:middle;background:#faf8f0a6;padding-top:6px;padding-bottom:6px}.delivery-price-cell{width:100%;height:var(--delivery-control-h);min-height:var(--delivery-control-h);border-radius:var(--delivery-control-radius);color:inherit;font-size:inherit;font-weight:inherit;background:#fffffff5;border:1px solid #0000001f;align-items:center;gap:0;margin:0;transition:border-color .12s,box-shadow .12s;display:flex;overflow:hidden}.delivery-price-cell:focus-within{border-color:#b2a661;box-shadow:0 0 0 3px #b2a6612e}.delivery-price-row td input.delivery-price-input{width:100%;min-width:0;height:100%;min-height:0;box-shadow:none;font-size:var(--delivery-control-fs);font-weight:700;line-height:var(--delivery-control-h);text-align:right;background:0 0;border:0;border-radius:0;flex:auto}.delivery-price-row td input.delivery-price-input:focus{box-shadow:none;border:0}.delivery-price-currency{height:100%;padding-right:var(--delivery-control-pad-x);color:#8a8a8a;-webkit-user-select:none;user-select:none;flex:none;place-items:center;font-size:.68rem;font-weight:700;line-height:1;display:grid}.delivery-price-row th{color:#6b6b6b;font-size:.72rem;font-weight:600}.supplier-filter{position:relative}.supplier-filter .ghost-button{align-items:center;gap:5px;display:inline-flex}.supplier-filter .ghost-button.active{border-color:var(--accent-color,#2c7be0);color:var(--accent-color,#2c7be0)}.supplier-filter-badge{background:var(--accent-color,#2c7be0);color:#fff;border-radius:8px;justify-content:center;align-items:center;min-width:16px;height:16px;padding:0 4px;font-size:.62rem;font-weight:700;line-height:1;display:inline-flex}.supplier-filter-panel{z-index:50;background:#fff;border:1px solid #0000001f;border-radius:6px;min-width:200px;max-height:280px;padding:4px;position:absolute;top:calc(100% + 4px);left:0;overflow-y:auto;box-shadow:0 4px 14px #0000001f}.supplier-filter-empty{color:#999;padding:10px 12px;font-size:.78rem}.supplier-filter-item{cursor:pointer;text-align:left;width:100%;font:inherit;background:0 0;border:0;border-radius:4px;align-items:center;gap:6px;padding:6px 8px;display:flex}.supplier-filter-item:hover{background:#0000000a}.supplier-filter-item.selected{color:var(--accent-color,#2c7be0);background:#2c7be014}.supplier-filter-item-name{flex:1;font-size:.8rem}.supplier-filter-item-code{color:#aaa;font-size:.68rem}.supplier-filter-item.selected .supplier-filter-item-code{color:var(--accent-color,#2c7be0);opacity:.7}.supplier-chips{flex-wrap:wrap;align-items:center;gap:4px;display:inline-flex}.supplier-chip{color:var(--accent-color,#2c7be0);white-space:nowrap;background:#2c7be01a;border-radius:10px;align-items:center;gap:3px;padding:2px 4px 2px 8px;font-size:.7rem;font-weight:600;display:inline-flex}.supplier-chip button{width:16px;height:16px;color:inherit;cursor:pointer;background:0 0;border:0;border-radius:50%;justify-content:center;align-items:center;padding:0;font-size:.85rem;line-height:1;display:inline-flex}.supplier-chip button:hover{background:#2c7be033}.delivery-draft-line-inputs{width:100%;min-width:0;height:var(--delivery-control-h);align-items:stretch;gap:4px;display:flex}.delivery-draft-row td input.delivery-qty-input{width:auto;min-width:0;max-width:none;height:100%;min-height:0;padding:0 var(--delivery-control-pad-x);font-size:var(--delivery-control-fs);font-weight:700;line-height:var(--delivery-control-h);text-align:right;flex:1 1 0}.delivery-draft-line-inputs:has(.delivery-discount-edit) .delivery-qty-input{flex:0 42%;max-width:4.2em}.delivery-discount-add{width:var(--delivery-control-h);min-width:var(--delivery-control-h);border-radius:var(--delivery-control-radius);color:#6b6b6b;background:0 0;border:1px dashed #00000038;flex:none;justify-content:center;align-items:center;height:100%;min-height:0;padding:0;font-size:.7rem;font-weight:900;line-height:1;display:inline-flex}.delivery-discount-add:hover{color:#111;border-color:#0006}.delivery-discount-edit{border-radius:var(--delivery-control-radius);background:#fffffff5;border:1px solid #0000001f;flex:1 1 0;align-items:stretch;gap:0;min-width:4.5em;max-width:none;height:100%;display:flex;overflow:hidden}.delivery-discount-edit:focus-within{border-color:#b2a661;box-shadow:0 0 0 3px #b2a6612e}.delivery-draft-row td input.delivery-discount-input{width:100%;min-width:0;max-width:none;height:100%;min-height:0;padding:0 2px 0 var(--delivery-control-pad-x);box-shadow:none;font-size:var(--delivery-control-fs);font-weight:700;line-height:var(--delivery-control-h);text-align:right;background:0 0;border:0;border-radius:0;flex:auto}.delivery-draft-cell-missing-price{background:#b1332d0f!important}.delivery-draft-cell-missing-price .delivery-qty-input{border-color:#b1332d73}.delivery-line-error{font-weight:700;color:#b1332d!important}.delivery-draft-row td input.delivery-discount-input:focus{box-shadow:none;border:0}.delivery-discount-suffix{color:#8a8a8a;-webkit-user-select:none;user-select:none;flex:none;place-items:center;height:100%;padding-right:2px;font-size:.68rem;font-weight:800;line-height:1;display:grid}.delivery-discount-remove{color:#b1332d;background:0 0;border:0;border-left:1px solid #00000014;border-radius:0;flex:none;place-items:center;width:22px;min-width:22px;height:100%;min-height:0;padding:0;display:grid}.delivery-discount-remove:hover{background:#ffe0dc}.delivery-discount-remove svg{width:11px;height:11px}.delivery-draft-actions{justify-content:flex-start;gap:5px;margin-top:6px;display:flex}.delivery-draft-actions .icon-button{color:#fff;border-radius:2px;width:30px;min-height:30px}.delivery-draft-actions .icon-button.cancel{background:#b1332d}.delivery-draft-actions .icon-button.delete{background:#7f1d1d}.delivery-draft-actions .icon-button.delete:hover{color:#fff;background:#641616}.delivery-draft-actions .icon-button.cancel:hover{color:#fff;background:#8f2924}.delivery-draft-actions .icon-button.save{background:#167143}.delivery-draft-actions .icon-button.save:hover{color:#fff;background:#105632}.delivery-draft-actions .icon-button svg{width:16px;height:16px}.delivery-draft-actions .icon-button:disabled{background:#b0b0b0}.delivery-delete-panel{width:min(430px,100vw - 32px)}.delivery-delete-panel .modal-header{border-bottom:0;padding-bottom:4px}.delivery-delete-panel .modal-header .ghost-button{border-radius:3px;place-items:center;width:38px;min-height:38px;padding:0;display:grid}.delivery-delete-confirm{gap:14px;padding:12px 16px 16px;display:grid}.delivery-delete-confirm p{color:#666;margin:0;font-weight:800;line-height:1.45}.delivery-delete-confirm strong{color:#111}.delivery-total-row th,.delivery-total-row td{color:#111;background:#0000000a;font-weight:900}.delivery-import-form{flex-direction:column;align-items:stretch;width:100%;display:flex}.modal-panel.delivery-import-panel{width:min(1380px,100vw - 32px);max-width:100%}.delivery-import-panel .modal-header{border-bottom:0;align-items:start;padding-bottom:4px}.delivery-import-panel .modal-header .ghost-button{border-radius:3px;place-items:center;width:38px;min-height:38px;padding:0;display:grid}.delivery-import-panel .modal-header .ghost-button svg{width:18px;height:18px}.delivery-dropzone{color:#111;text-align:center;cursor:pointer;background:#ffffff57;border:1.5px dashed #00000042;border-radius:4px;place-items:center;gap:7px;width:100%;min-height:154px;padding:18px;display:grid;position:relative}.delivery-dropzone.dragging,.delivery-dropzone:hover{background:#ffffff9e;border-color:#111}.delivery-dropzone input{opacity:0;cursor:pointer;position:absolute;inset:0}.delivery-dropzone-icon{color:#fff;background:#111;border-radius:4px;place-items:center;width:44px;height:44px;display:inline-grid}.delivery-dropzone-icon svg{width:22px;height:22px}.delivery-dropzone strong{letter-spacing:-.02em;font-size:1rem}.delivery-dropzone small{color:#6b6b6b;font-weight:850}.delivery-import-help,.delivery-import-error{color:#6b6b6b;width:100%;margin:0;font-size:.82rem;font-weight:750;line-height:1.45}.delivery-import-error{color:#b1332d}.delivery-import-loading{text-align:center;background:#ffffff57;border:1px solid #0000001a;border-radius:4px;place-items:center;gap:9px;width:100%;min-height:214px;padding:22px;display:grid}.delivery-import-loading>span{border:4px solid #0000001f;border-top-color:#111;border-radius:3px;width:38px;height:38px;animation:.85s linear infinite delivery-import-spin}.delivery-import-loading strong{letter-spacing:-.02em;font-size:1.05rem}.delivery-import-loading small{color:#6b6b6b;font-weight:800}@keyframes delivery-import-spin{to{transform:rotate(360deg)}}.delivery-import-review{background:#ffffff61;border:1px solid #0000001a;border-radius:4px;flex-direction:column;gap:10px;width:100%;height:100%;padding:12px;display:flex;overflow:hidden}.delivery-import-review-header{flex-direction:row;flex-shrink:0;justify-content:space-between;align-items:center;gap:12px;display:flex}.delivery-import-review-header span{color:#6b6b6b;font-weight:900}.delivery-import-lines{flex:1;gap:8px;display:grid;overflow-y:auto}.delivery-import-warnings{background:var(--warning-bg,#fef3cd);color:var(--warning-fg,#8a6d2b);border-radius:8px;flex-shrink:0;gap:3px;margin:0;padding:8px 10px;font-size:.8rem;list-style:none;display:grid}.delivery-import-line{background:#f8f4ecb8;border:1px solid #00000014;border-radius:4px;grid-template-columns:minmax(230px,1.35fr) minmax(370px,1.25fr) 185px minmax(270px,.9fr);align-items:center;gap:10px;min-width:1100px;padding:8px 10px;display:grid}.delivery-import-line.needs-review{background:#fff0c78f;border-color:#8b5d1647}.delivery-import-line-description{gap:2px;min-width:0;display:grid}.delivery-import-line-code{color:#6b6b6b;letter-spacing:.04em;text-transform:uppercase;font-size:.68rem;font-weight:950;line-height:1}.delivery-import-line-description strong{color:#111;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;font-weight:950;line-height:1.2;overflow:hidden}.delivery-import-line-values{grid-template-columns:repeat(4,minmax(0,1fr));gap:6px;min-width:0;display:grid}.delivery-import-line-value{background:#ffffff94;border:1px solid #00000012;border-radius:4px;gap:2px;min-width:0;padding:5px 7px;display:grid}.delivery-import-line-value span{color:#6b6b6b;letter-spacing:.04em;text-transform:uppercase;font-size:.62rem;font-weight:950;line-height:1}.delivery-import-line-value strong{color:#111;text-overflow:ellipsis;white-space:nowrap;font-size:.82rem;font-weight:950;line-height:1.15;overflow:hidden}.delivery-import-line-status{flex-wrap:wrap;gap:5px;min-width:0;display:flex}.delivery-import-score,.delivery-import-review-chip,.delivery-import-ok-chip{white-space:nowrap;border:1px solid #00000014;border-radius:999px;align-items:center;min-height:22px;padding:3px 7px;font-size:.68rem;font-weight:950;line-height:1;display:inline-flex}.delivery-import-score.good,.delivery-import-ok-chip{color:#167143;background:#dcf5e7cc;border-color:#16714338}.delivery-import-score.warn,.delivery-import-review-chip{color:#8a5d16;background:#fff0c7c7;border-color:#8b5d163d}.delivery-import-score.bad{color:#b1332d;background:#ffe0dcc7;border-color:#b1332d38}.delivery-import-score.muted{color:#6b6b6b;background:#0000000a}.delivery-import-line-material-picker{min-width:0}.delivery-import-line .material-combobox{width:100%;min-width:0}.delivery-import-line .material-combobox-trigger{min-height:36px;padding:0 10px;font-size:.86rem}@media (width<=760px){.delivery-import-line{grid-template-columns:1fr;min-width:0}.delivery-import-line-values{grid-template-columns:repeat(2,minmax(0,1fr))}}.material-combobox{width:100%;position:relative}.material-combobox-trigger{color:#111;width:100%;min-height:42px;font:inherit;text-align:left;cursor:pointer;background:#ffffffeb;border:1px solid #0000001f;border-radius:6px;justify-content:flex-start;align-items:center;padding:0 12px;display:flex}.material-combobox-trigger:hover{border-color:#00000038}.material-combobox-placeholder{color:#6b6b6b;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.material-combobox-selected{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.material-combobox-panel{z-index:60;background:#fff;border:1px solid #0000001a;border-radius:4px;flex-direction:column;gap:4px;max-height:320px;padding:8px;display:flex;box-shadow:0 18px 54px #00000029}.material-combobox-search{background:#fff;border:1px solid #0000001f;border-radius:3px;align-items:center;gap:8px;padding:8px 10px;display:flex}.material-combobox-search svg{color:#6b6b6b;width:16px;height:16px}.material-combobox-search input{background:0 0;border:0;flex:1;min-width:0;min-height:auto;padding:0;font-size:.88rem}.material-combobox-search input:focus{outline:none}.material-combobox-search button{color:#6b6b6b;background:0 0;border:0;border-radius:2px;place-items:center;width:22px;height:22px;padding:0;display:grid}.material-combobox-search button:hover{color:#111;background:#0000000f}.material-combobox-results{flex-direction:column;gap:2px;min-height:80px;max-height:260px;display:flex;overflow:auto}.material-combobox-option{color:#111;text-align:left;cursor:pointer;background:0 0;border:0;border-radius:3px;flex-direction:column;gap:2px;padding:8px 10px;display:flex}.material-combobox-option:hover,.material-combobox-option.selected{background:#0000000f}.material-combobox-option strong{font-size:.86rem;font-weight:800}.material-combobox-option span{color:#6b6b6b;font-size:.74rem;font-weight:800}.material-combobox-empty{color:#6b6b6b;text-align:center;padding:12px;font-size:.82rem}.delivery-import-form .modal-actions{justify-content:flex-end;align-self:stretch;gap:8px}.delivery-import-form .modal-actions .primary-button{flex:none;justify-content:center}.unit-price-display,.unit-price-edit{align-items:center;gap:6px;display:flex}.unit-price-display strong{min-width:44px}.unit-price-edit input{border-radius:2px;width:54px;height:22px;min-height:22px;padding:0 5px;font-size:.78rem;font-weight:900;line-height:1}.unit-price-display .icon-button,.unit-price-edit .icon-button{border-radius:2px;width:22px;min-height:22px}.unit-price-edit .icon-button.cancel{color:#b1332d}.unit-price-edit .icon-button.cancel:hover{background:#ffe0dc}.unit-price-edit .icon-button.save{color:#167143}.unit-price-edit .icon-button.save:hover{background:#dcf5e7}.unit-price-display .icon-button svg,.unit-price-edit .icon-button svg{width:12px;height:12px}.delivery-modal-panel{width:min(920px,100%)}.delivery-modal-body{grid-template-columns:1fr 180px;gap:10px;padding:16px;display:grid}.delivery-lines-grid{grid-column:1/-1;gap:8px;max-height:min(48vh,520px);display:grid;overflow:auto}.delivery-line-row{background:0 0;border:0;border-bottom:1px solid #0000000f;border-radius:0;grid-template-columns:minmax(180px,1fr) 130px 130px;align-items:end;gap:8px;padding:10px 0;display:grid}.delivery-line-row span{color:#6b6b6b;margin-top:3px;font-size:.82rem;font-weight:800;display:block}.delivery-modal-actions{align-items:center;padding:0 16px 16px}.delivery-modal-actions span{color:#111;margin-right:auto;font-weight:900}.delivery-import-multi{flex-direction:column;gap:12px;padding:16px;display:flex}.delivery-import-content{height:60vh;min-height:320px;overflow:hidden}.delivery-import-loading,.delivery-import-saved,.delivery-import-error{text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:8px;height:100%;display:flex}.delivery-import-pending{background:#ffffff80;border:1px solid #0000001a;border-radius:4px;flex-direction:column;gap:8px;padding:12px;display:flex}.delivery-import-pending-header{font-size:.8rem}.delivery-import-file-list{flex-direction:column;gap:4px;display:flex}.delivery-import-file-item{background:#00000008;border-radius:3px;align-items:center;gap:6px;padding:6px 8px;font-size:.78rem;display:flex}.delivery-import-file-item svg{color:#888;flex-shrink:0}.delivery-import-file-item span{text-overflow:ellipsis;white-space:nowrap;flex:1;overflow:hidden}.delivery-import-file-remove{color:#999;cursor:pointer;background:0 0;border:0;border-radius:3px;justify-content:center;align-items:center;width:22px;height:22px;padding:0;display:flex}.delivery-import-file-remove:hover{color:#c0392b;background:#00000014}.delivery-import-tabs{border-bottom:1px solid #00000014;flex-wrap:wrap;gap:4px;padding-bottom:6px;display:flex}.delivery-import-tab{cursor:pointer;max-width:200px;font:inherit;white-space:nowrap;background:0 0;border:1px solid #0000001f;border-radius:4px 4px 0 0;align-items:center;gap:4px;padding:4px 8px;font-size:.74rem;display:inline-flex}.delivery-import-tab.active{border-color:var(--accent-color,#2c7be0);color:var(--accent-color,#2c7be0);background:#2c7be00f;border-bottom-color:#fff}.delivery-import-tab-name{text-overflow:ellipsis;max-width:120px;overflow:hidden}.delivery-import-tab-close{cursor:pointer;border-radius:50%;justify-content:center;align-items:center;width:16px;height:16px;display:inline-flex}.delivery-import-tab-close:hover{background:#0000001f}.delivery-import-tab-add{cursor:pointer;color:#999;border:1px dashed #0003;border-radius:4px;justify-content:center;align-items:center;min-width:28px;height:26px;font-size:1rem;display:inline-flex}.delivery-import-tab-add:hover{color:#555;border-color:#0006}.doc-status{align-items:center;font-size:.68rem;font-weight:700;display:inline-flex}.doc-status.saved{color:#2a9d4a}.doc-status.error{color:#c0392b}.doc-status.parsing,.doc-status.saving{color:#e09b1a}.delivery-import-saved{text-align:center;color:#2a9d4a;flex-direction:column;align-items:center;gap:6px;padding:24px;display:flex}.delivery-import-saved svg{color:#2a9d4a}.delivery-import-error{color:#c0392b;flex-direction:column;gap:4px;padding:16px;display:flex}.delivery-import-error-msg{color:#c0392b;background:#ffe0dc;border-radius:3px;margin-bottom:6px;padding:6px 10px;font-size:.78rem}.delivery-import-summary{border-top:1px solid #00000014;align-items:center;gap:8px;padding-top:8px;display:flex}.delivery-import-summary span{color:#777;font-size:.76rem}.delivery-import-footer{border-top:1px solid #00000014;justify-content:space-between;align-items:center;gap:12px;padding-top:10px;display:flex}.delivery-import-footer-info{color:#777;font-size:.76rem}.delivery-import-footer-actions{align-items:center;gap:6px;display:flex}.labor-detail-table-wrap{padding:0 20px 16px;overflow-x:auto}.labor-detail-table{min-width:1040px}.labor-summary-row{cursor:pointer}.labor-summary-row:hover{background:#0000000a}.labor-expanded-row td{padding:0}.labor-snapshot-list{background:#00000006;gap:6px;padding:10px 14px 14px;display:grid}.labor-snapshot-row{color:#6b6b6b;background:0 0;border:0;border-bottom:1px solid #0000000f;border-radius:0;grid-template-columns:110px 130px 80px minmax(120px,1fr) minmax(110px,1fr) 60px minmax(120px,1fr) 120px;align-items:center;gap:10px;padding:9px 0;font-size:.84rem;font-weight:800;display:grid}.labor-snapshot-row strong{color:#111}.freelance-pending-banner{background:#fff8e1;border:1px solid #ffe082;border-radius:8px;flex-direction:column;gap:10px;margin:14px 20px;padding:14px 16px;display:flex}.freelance-pending-banner>strong{color:#856404;font-size:.85rem}.freelance-pending-list{flex-wrap:wrap;gap:8px;display:flex}.freelance-pending-chip{color:#5d4e00;font:inherit;cursor:pointer;background:#fffdf5;border:1px solid #ffd54f;border-radius:999px;align-items:center;gap:8px;padding:6px 12px;font-size:.85rem;font-weight:600;display:inline-flex}.freelance-pending-chip:hover{background:#fff4c4;border-color:#ffb300}.freelance-pending-add{color:#b8860b;font-weight:700}.freelance-day-picker{flex-direction:column;grid-column:1/-1;gap:10px;margin-top:6px;display:flex}.freelance-day-picker-header{color:#444;align-items:center;gap:10px;font-size:.85rem;font-weight:700;display:flex}.freelance-day-picker-header small{color:#888;font-weight:600}.freelance-day-picker-actions{gap:6px;margin-left:auto;display:inline-flex}.freelance-day-picker-actions button{color:#444;cursor:pointer;background:#fff;border:1px solid #00000026;border-radius:6px;min-height:0;padding:4px 10px;font-size:.78rem;font-weight:700}.freelance-day-picker-actions button:hover{background:#f4f4f4}.freelance-day-empty{color:#888;padding:4px 0;font-size:.85rem}.freelance-day-cards{flex-wrap:wrap;gap:8px;display:flex}.freelance-day-card{min-width:72px;font:inherit;cursor:pointer;border:2px solid #0000;border-radius:8px;flex-direction:column;align-items:center;gap:2px;padding:8px 12px;transition:transform 50ms;display:inline-flex}.freelance-day-card:active{transform:scale(.97)}.freelance-day-card.available{color:#9b3232;background:#fdeaea;border-color:#f3c2c2}.freelance-day-card.available:hover{background:#fbd5d5;border-color:#e0a3a3}.freelance-day-card.selected{color:#1a6b34;background:#e6f4ea;border-color:#6bbd83}.freelance-day-card.selected:hover{background:#d4ecd9}.freelance-day-card small{opacity:.8;font-size:.75rem}.freelance-costs-table{min-width:760px}.freelance-cost-row{cursor:pointer}.freelance-cost-row:hover{background:#0000000a}.freelance-cost-row.expanded{background:#00000009}.freelance-expanded-row td{padding:0}.freelance-days-detail{background:#00000006;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:6px;padding:12px 20px 16px;display:grid}.freelance-day-detail-item{background:#fff;border:1px solid #00000014;border-radius:6px;flex-direction:column;gap:1px;padding:6px 10px;display:flex}.freelance-day-detail-date{color:#111;text-transform:capitalize;font-weight:700}.freelance-day-detail-weekday{color:#888;text-transform:capitalize;font-size:.78rem}.freelance-day-detail-headcount{color:#555;font-size:.8rem;font-weight:700}.table-wrap,.spreadsheet-wrap{padding:0 16px 16px;overflow-x:auto}.data-table{font-variant-numeric:tabular-nums;min-width:760px}.panel .table-wrap{padding:0 20px 16px}.panel .empty-state{background:0 0;border:0;padding:20px}.data-table-header{width:100%;min-height:auto;color:inherit;font:inherit;letter-spacing:inherit;text-align:inherit;text-transform:inherit;background:0 0;border:0;justify-content:flex-start;align-items:center;gap:6px;padding:0;display:inline-flex}.data-table-header:disabled{cursor:default;opacity:1}.dashboard-cell-link{width:100%;color:inherit;font:inherit;letter-spacing:inherit;text-align:inherit;text-underline-offset:3px;cursor:pointer;background:0 0;border:0;justify-content:flex-start;align-items:center;padding:0;-webkit-text-decoration:underline #00000029;text-decoration:underline #00000029;display:inline-flex}.dashboard-cell-link:hover{color:#167143;text-decoration-color:#167143}.data-table-header svg{opacity:.52;width:13px;height:13px}table{border-collapse:collapse;width:100%}th,td{text-align:left;white-space:nowrap;border-top:1px solid #0000000f;padding:12px 16px}th.align-left,td.align-left{text-align:left}th.align-center,td.align-center{text-align:center}th.align-right,td.align-right{text-align:right}td.align-left .badge{margin-left:0}td.align-center .badge{margin:0 auto}td.align-right .badge{margin-left:auto}th:first-child,td:first-child{text-align:left}th{color:#8a8a8a;letter-spacing:.1em;text-transform:uppercase;background:#fafafa;border-bottom:1px solid #00000014;font-size:.72rem;font-weight:900}thead tr:first-child th{border-top:0}tbody tr:nth-child(2n) td{background:#faf8f059}td strong,td span{display:block}td span{color:#999;margin-top:4px;font-size:.82rem}.badge{letter-spacing:.02em;border-radius:4px;align-items:center;gap:6px;width:fit-content;margin-left:0;padding:5px 10px;font-size:.74rem;font-weight:900;display:inline-flex}.clickable-row{cursor:pointer;transition:background .1s}.clickable-row:hover{background:#b2a6610f}.clickable-row:focus-visible{outline-offset:-3px;outline:3px solid #b2a66140}.badge.open,.badge.payroll-draft{color:#155724;background:#d4edda;border:1px solid #1557241f}.badge.pending_close,.badge.payroll-reviewed{color:#856404;background:#fff3cd;border:1px solid #8564041f}.badge.closed,.badge.payroll-closed{color:#383d41;background:#e2e3e5;border:1px solid #383d411a}.inline-edit,.inline-actions{justify-content:flex-end;align-items:center;gap:6px;display:inline-flex}.inline-edit input{width:120px}.inline-edit button,.inline-actions button,.assignment-chip button{min-height:34px;padding:0 12px;font-size:.82rem}.inline-actions .action-icon-btn{color:#777;background:#fff;border:1px solid #00000014;border-radius:6px;justify-content:center;align-items:center;width:32px;height:32px;padding:0;transition:background .12s,border-color .12s,color .12s;display:inline-flex}.inline-actions .action-icon-btn:hover{color:#8a7d2a;background:#f5f0e0;border-color:#b2a66173}.inline-actions .action-icon-btn.danger{color:#b1332d;background:#fff5f4;border-color:#b1332d1f}.inline-actions .action-icon-btn.danger:hover{color:#7f1d1d;background:#ffe0dc;border-color:#b1332d59}.inline-actions .action-icon-btn svg{width:15px;height:15px}.inline-actions .action-icon-btn:disabled{opacity:.4;cursor:not-allowed}.payroll-action-btn{letter-spacing:.01em;border:1px solid #0000;border-radius:5px;align-items:center;min-height:30px;padding:0 12px;font-size:.8rem;font-weight:900;transition:background .12s,border-color .12s,transform 60ms;display:inline-flex}.payroll-action-btn:hover:not(:disabled){transform:translateY(-1px)}.payroll-action-btn.review{color:#155724;background:#d4edda;border-color:#15572426}.payroll-action-btn.review:hover{background:#c3e6cb;border-color:#1557244d}.payroll-action-btn.close{color:#fff;background:#111;border-color:#111}.payroll-action-btn.close:hover{background:#2a2a2a;border-color:#2a2a2a}.payroll-action-btn.reopen{color:#856404;background:#fff3cd;border-color:#85640426}.payroll-action-btn.reopen:hover{background:#ffeeba;border-color:#8564044d}.payroll-action-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.spreadsheet-panel form{padding-bottom:18px}.spreadsheet-table th,.spreadsheet-table td{min-width:140px;padding:10px}.spreadsheet-table th:first-child,.spreadsheet-table td:first-child{min-width:220px}.spreadsheet-table th strong,.spreadsheet-table th span{display:block}.spreadsheet-table th span{color:#8c7a30;letter-spacing:0;text-transform:none;margin-top:5px;font-size:.74rem}.form-actions{justify-content:flex-end;padding:12px 16px 0;display:flex}.cards-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:8px;padding:0 12px 12px;display:grid}.mini-card{background:0 0;border:0;border-bottom:1px solid #0000000f;border-radius:0;gap:6px;padding:12px 0;display:grid}.mini-card span{color:#6b6b6b;font-size:.9rem;font-weight:700}.stack-list{gap:12px;display:grid}.detail-panel h3{margin-bottom:12px;font-size:1rem}.detail-columns{grid-template-columns:1fr 1fr;gap:12px;padding:0 16px 16px;display:grid}.detail-line{border-top:1px solid #00000014;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.detail-line span{color:#888;font-weight:700}.mini-form{grid-template-columns:130px 1fr 120px 120px auto;gap:8px;margin-top:14px;display:grid}.mini-form button{padding:0 12px}.payroll-tabs{gap:6px;margin-bottom:12px;padding-bottom:4px;display:flex;overflow-x:auto}.payroll-tabs button{color:#666;white-space:nowrap;background:#ffffff6b;border:1px solid #0000001f;border-radius:3px;min-height:38px;padding:0 13px;font-weight:900}.payroll-tabs button.active,.payroll-tabs button:hover{color:#fff;background:#111}.payroll-add-worker{min-width:250px}.payroll-summary-wrap{overflow-x:auto}.payroll-summary-table{min-width:1760px}.payroll-summary-table th,.payroll-summary-table td{padding:9px 10px}.payroll-summary-table td:not(:first-child),.payroll-summary-table th:not(:first-child){text-align:right}.payroll-summary-table td:last-child,.payroll-summary-table th:last-child,.payroll-summary-table td:nth-last-child(2),.payroll-summary-table th:nth-last-child(2){text-align:left}.payroll-worker-link{min-height:auto;color:inherit;text-align:left;background:0 0;border:0;gap:3px;padding:0;display:grid}.payroll-worker-link span{color:#6b6b6b;font-size:.82rem;font-weight:800}.payroll-worker-panel{overflow:hidden}.payroll-worker-strip{border-bottom:1px solid #00000014;justify-content:space-between;align-items:center;gap:14px;padding:12px 14px;display:flex}.payroll-worker-strip>div:first-child{gap:3px;display:grid}.payroll-worker-strip span{color:#6b6b6b;font-size:.86rem;font-weight:800}.payroll-worker-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:8px;display:flex}.payroll-worker-actions .ghost-button{min-height:36px}.payroll-worker-grid{grid-template-columns:minmax(260px,.62fr) minmax(620px,1.38fr);gap:0;display:grid}.payroll-days-list{border-right:1px solid #00000014;padding:12px 14px}.payroll-days-total,.payroll-days-row{border-bottom:1px solid #00000014;justify-content:space-between;align-items:center;gap:12px;padding:10px 0;display:flex}.payroll-days-total span,.payroll-days-row span{color:#6b6b6b;white-space:normal;font-weight:800}.payroll-concepts-form{gap:0;padding:12px 14px 14px;display:grid}.payroll-concepts-grid{grid-template-columns:minmax(130px,.8fr) minmax(130px,.42fr) minmax(130px,.55fr) minmax(180px,.8fr);align-items:center;gap:8px;display:grid}.payroll-concepts-head{color:#6b6b6b;letter-spacing:.08em;text-transform:uppercase;padding:0 0 8px;font-size:.76rem;font-weight:900}.payroll-concept-row{border-top:1px solid #00000012;padding:7px 0}.payroll-concept-row strong{font-size:.9rem}.payroll-concept-name{justify-content:space-between;align-items:center;gap:8px;display:flex}.payroll-concept-name .icon-button{width:30px;min-height:30px}.payroll-concept-row input,.payroll-concept-row select,.payroll-add-predefined select,.payroll-manual-row input{border-radius:3px;min-height:36px;padding:8px 10px}.payroll-amount-field{grid-template-columns:24px minmax(0,1fr);align-items:center;gap:6px;display:grid}.payroll-amount-field>span{color:#6b6b6b;text-align:center;font-size:1rem;font-weight:900}.payroll-amount-field>select{text-align:center;min-width:0;padding-inline:8px}.payroll-amount-field.custom{grid-template-columns:48px minmax(0,1fr)}.payroll-section-label{color:#6b6b6b;letter-spacing:.08em;text-transform:uppercase;border-top:1px solid #0000001a;padding:12px 0 6px;font-size:.76rem;font-weight:900}.payroll-add-predefined{border-top:1px solid #00000014;align-items:center;gap:8px;padding:10px 0 12px;display:flex}.payroll-add-predefined select{width:230px}.payroll-add-predefined .ghost-button,.payroll-custom-bar .ghost-button{min-height:36px;padding:0 12px}.payroll-custom-bar{border-top:1px solid #0000001a;justify-content:space-between;align-items:center;gap:12px;padding:12px 0 8px;display:flex}.payroll-custom-name,.payroll-custom-notes{gap:6px;display:grid}.payroll-custom-notes{grid-template-columns:1fr 36px}.payroll-custom-notes .icon-button{width:36px;min-height:36px}.payroll-manual-row{border-top:1px solid #0000001a;grid-template-columns:160px minmax(220px,1fr) 160px;align-items:end;gap:10px;padding-top:12px;display:grid}.payroll-manual-row>div{color:#6b6b6b;gap:7px;font-size:.82rem;font-weight:900;display:grid}.payroll-manual-row>div strong{color:#111;font-size:1.05rem}.payroll-calculated-totals{gap:5px;display:grid}.payroll-calculated-totals span{justify-content:space-between;gap:10px;display:flex}.payroll-form-actions{justify-content:flex-end;padding-top:12px;display:flex}.payroll-form-actions button{color:#fff;background:#111;border:0;border-radius:3px;min-height:38px;padding:0 14px;font-weight:900}.payroll-form-actions span{color:#6b6b6b;font-weight:900}.payroll-confirm-modal{width:min(520px,100%)}.payroll-confirm-body{color:#888;gap:8px;padding:16px;font-weight:800;line-height:1.45;display:grid}.payroll-confirm-actions{padding:0 16px 16px}.payroll-confirm-actions button:not(.ghost-button){color:#fff;background:#111;border:0;border-radius:4px;min-height:42px;padding:0 14px;font-weight:900}.period-navigator{margin-bottom:14px}.period-nav-header,.assignment-board-header{justify-content:space-between;align-items:center;gap:14px;padding:12px 16px;display:flex}.period-nav-header h2,.assignment-board-header h2{letter-spacing:-.03em;text-transform:capitalize;font-size:clamp(1rem,1.35vw,1.25rem)}.period-actions,.period-stepper,.segmented-control,.assignment-board-legend{flex-wrap:wrap;align-items:center;gap:8px;display:flex}.segmented-control,.period-stepper{background:#f9f8f4;border:1px solid #00000014;border-radius:6px;padding:3px}.segmented-control button,.period-stepper button,.details-toggle{color:#666;min-height:30px;font:inherit;background:0 0;border:0;border-radius:4px;padding:0 10px;font-size:.82rem;font-weight:900}.details-toggle{place-items:center;width:34px;padding:0;display:grid}.segmented-control button.active,.segmented-control button:hover,.period-stepper button:hover,.details-toggle:hover,.details-toggle[aria-expanded=true]{color:#fff;background:#111}.period-days{gap:8px;padding:0 16px 16px;display:grid}.period-days.week{grid-template-columns:repeat(7,minmax(0,1fr))}.period-days.month{grid-template-columns:repeat(7,minmax(120px,1fr))}.period-day-card{color:#111;min-height:auto;font:inherit;text-align:left;background:#fff;border:1px solid #00000014;border-radius:6px;gap:4px;padding:9px 10px;display:grid}.period-day-card:hover,.period-day-card.selected{border-color:#b2a6618c;box-shadow:inset 0 0 0 2px #b2a66124}.period-day-card span{color:#111;letter-spacing:.03em;text-transform:uppercase;font-size:.8rem;font-weight:900}.period-day-card small{color:#6b6b6b;font-size:.76rem;font-weight:800}.period-day-card.ok{background:#eef8f1}.period-day-card.warn{background:#fff8df}.period-day-card.bad{background:#fff0ed}.assignment-board{overflow:visible}.assignment-grid-wrap{overscroll-behavior-x:contain;max-width:100%;padding:0 16px 16px;overflow-x:auto}.assignment-period-grid{background:#fff;border:1px solid #00000014;border-radius:8px;display:grid;overflow:hidden}.assignment-period-grid.week{width:100%;min-width:980px}.assignment-period-grid.month{width:max-content;min-width:100%}.assignment-grid-corner,.assignment-grid-day,.assignment-worker-label,.assignment-grid-cell{background:#fff;border-bottom:1px solid #0000000f;border-right:1px solid #0000000f;min-height:72px}.assignment-grid-corner,.assignment-worker-label{z-index:2;position:sticky;left:0}.assignment-grid-corner,.assignment-grid-day{color:#6b6b6b;letter-spacing:.05em;text-transform:uppercase;align-content:center;gap:4px;padding:10px 12px;font-size:.78rem;font-weight:900;display:grid}.assignment-grid-corner{z-index:3;background:#fafafa}.assignment-period-grid.month .assignment-grid-corner,.assignment-period-grid.month .assignment-grid-day,.assignment-period-grid.month .assignment-grid-cell{padding:8px}.assignment-period-grid.month .assignment-cell-empty,.assignment-period-grid.month .assignment-cell-projects strong{font-size:.78rem}.assignment-grid-day{background:#fafafa}.assignment-grid-day.selected{color:#111;background:#b2a6612e}.assignment-grid-day strong{color:#111;font-size:1.25rem;line-height:1}.assignment-worker-label{background:#fff;align-items:center;gap:10px;padding:10px;display:flex}.worker-avatar{color:#fff;background:#111;border-radius:6px;place-items:center;width:38px;height:38px;font-weight:900;display:grid}.assignment-worker-label strong{line-height:1.1;display:block}.assignment-worker-label span{color:#6b6b6b;margin-top:4px;font-size:.82rem;font-weight:800;display:block}.assignment-grid-cell{color:#111;width:100%;font:inherit;text-align:left;align-content:center;gap:6px;padding:10px;display:grid;position:relative}.assignment-grid-cell:hover{background:#b2a66114}.assignment-grid-cell.ok{background:#d4edda94}.assignment-grid-cell.under{background:#fff3cd80}.assignment-grid-cell.over{background:#f8d7da9e}.assignment-cell-empty{color:#8a8a8a;font-weight:800}.assignment-cell-projects{gap:3px;display:grid}.assignment-cell-projects strong{color:#111;text-overflow:ellipsis;white-space:nowrap;font-size:.9rem;line-height:1.15;overflow:hidden}.assignment-cell-projects small{color:#6b6b6b;font-size:.72rem;font-weight:900}.assignment-cell-projects span,.assignment-cell-total{color:#6b6b6b;font-size:.76rem;font-weight:800}.assignment-note-marker{color:#fff;background:#111;border-bottom-left-radius:6px;place-items:center;width:17px;height:17px;font-size:.62rem;font-weight:900;display:grid;position:absolute;top:0;right:0}.assignment-note-tooltip{z-index:5;color:#fff;text-align:left;background:#111;border-radius:6px;width:280px;padding:10px;display:none;position:absolute;bottom:20px;left:0;box-shadow:0 18px 54px #00000038}.assignment-note-marker:hover .assignment-note-tooltip{gap:9px;display:grid}.assignment-note-item{border-bottom:1px solid #ffffff29;gap:4px;padding-bottom:9px;display:grid}.assignment-note-item:last-child{border-bottom:0;padding-bottom:0}.assignment-note-item strong,.assignment-note-item span{color:#fff;white-space:normal}.assignment-board-legend span{color:#6b6b6b;align-items:center;gap:7px;font-size:.82rem;font-weight:900;display:inline-flex}.legend-dot{border-radius:999px;width:10px;height:10px}.legend-dot.ok{background:#155724}.legend-dot.warn{background:#856404}.legend-dot.bad{background:#b1332d}.assignment-tabs{border-bottom:1px solid var(--border,#d8d8d8);gap:4px;margin-bottom:14px;display:flex}.assignment-tab{appearance:none;font:inherit;color:var(--muted,#6b7280);cursor:pointer;background:0 0;border:none;border-bottom:2px solid #0000;margin-bottom:-1px;padding:8px 16px;font-weight:600}.assignment-tab:hover{color:var(--text,#111)}.assignment-tab.active{color:var(--accent,#1f6feb);border-bottom-color:var(--accent,#1f6feb)}.row-actions-inline{align-items:center;gap:4px;display:inline-flex}.row-action-btn{color:#555;cursor:pointer;background:0 0;border:1px solid #0000;border-radius:6px;justify-content:center;align-items:center;width:30px;height:30px;padding:0;transition:background .12s,color .12s,border-color .12s;display:inline-flex}.row-action-btn:hover:not(:disabled){color:#111;background:#b2a66129}.row-action-btn.danger:hover:not(:disabled){color:#b3261e;background:#c135351f}.row-action-btn:disabled{opacity:.35;cursor:not-allowed}.protected-mark{color:#999;justify-content:center;align-items:center;width:30px;height:30px;display:inline-flex}.danger-button{color:#fff;background:#b3261e;border:0;border-radius:6px;min-height:42px;padding:0 14px;font-weight:900;transition:background .12s,transform 80ms}.danger-button:hover:not(:disabled){background:#962019}.danger-button:disabled{opacity:.6;cursor:not-allowed}.modal-copy{color:#444;margin:4px 0 0;line-height:1.45}.modal-backdrop{z-index:50;background:#0000003d;place-items:center;padding:20px;display:grid;position:fixed;inset:0}.modal-panel{background:#fff;border:1px solid #0000001a;border-radius:8px;width:min(720px,100%);max-height:calc(100vh - 40px);overflow:auto;box-shadow:0 24px 80px #00000038}.modal-header{border-bottom:1px solid #00000014;justify-content:space-between;align-items:center;gap:12px;padding:16px;display:flex}.modal-header h2{letter-spacing:-.03em;font-size:1.35rem}.modal-subtitle{color:#6b6b6b;margin-top:4px;font-size:.9rem;font-weight:800;display:block}.modal-form{grid-template-columns:1fr 1fr;gap:16px;padding:16px}.modal-actions{grid-column:1/-1;justify-content:flex-end;gap:10px;display:flex}.assignment-modal-panel{width:min(620px,100%);overflow:visible}.modal-panel-wide{width:min(960px,100%)}.assignment-modal-body{gap:10px;padding:16px;display:grid}.assignment-project-search{position:relative}.assignment-project-search-field{display:block}.assignment-search-results{z-index:100;background:#fff;border:1px solid #0000001a;border-radius:6px;gap:4px;max-height:280px;padding:6px;display:grid;position:absolute;top:calc(100% + 4px);left:0;right:0;overflow:auto;box-shadow:0 18px 54px #00000029}.assignment-search-results button{color:#111;font:inherit;text-align:left;background:0 0;border:0;border-radius:4px;gap:3px;padding:9px 10px;display:grid}.assignment-search-results button:hover{background:#b2a6611a}.assignment-search-results span,.assignment-search-results button span{color:#6b6b6b;font-size:.82rem;font-weight:800}.assignment-modal-list{gap:8px;max-height:min(58vh,620px);display:grid;overflow:auto}.assignment-modal-empty{color:#6b6b6b;padding:12px 0;font-weight:800}.assignment-project-row{background:#fafafa;border:1px solid #00000014;border-radius:6px;grid-template-columns:86px 1fr 38px;align-items:end;gap:8px;padding:12px;display:grid}.assignment-project-row>div{grid-column:1/-1}.assignment-project-row input[type=number]{padding-left:8px;padding-right:8px}.assignment-project-row span,.assignment-project-row small{color:#6b6b6b;margin-top:3px;font-size:.82rem;font-weight:800;display:block}.assignment-modal-actions{padding:0 16px 16px}.alias-editor{flex-direction:column;gap:8px;display:flex}.alias-input-row{gap:8px;display:flex}.alias-input-row input{flex:1}.alias-chips{flex-wrap:wrap;gap:6px;margin:0;padding:0;list-style:none;display:flex}.alias-chip{background:var(--bg-muted,#eef2f7);border-radius:999px;align-items:center;gap:6px;padding:3px 8px;font-size:.85rem;display:inline-flex}.alias-chip-remove{color:inherit;cursor:pointer;background:0 0;border:0;padding:0;font-weight:700;line-height:1}.modal-section{border-top:1px solid var(--border,#e2e8f0);grid-column:1/-1;margin-top:8px;padding-top:14px}.alias-fieldset{border:1px solid var(--border,#e2e8f0);background:var(--bg-muted,#f8fafc);border-radius:8px;flex-direction:column;gap:10px;margin:0;padding:12px;display:flex}.alias-fieldset>legend{padding:0 6px;font-size:.9rem;font-weight:600}.alias-section .muted,.alias-fieldset .muted{color:var(--text-muted,#64748b);margin:0;font-size:.85rem}.alias-table{border-collapse:collapse;background:var(--bg,#fff);width:100%;font-size:.88rem}.alias-fieldset .table-wrap{max-height:min(38vh,320px);overflow-y:auto}.alias-table th,.alias-table td{text-align:left;border-bottom:1px solid var(--border,#e2e8f0);white-space:nowrap;padding:6px 8px}.alias-table thead th{background:var(--bg-panel,#f1f5f9);z-index:1;position:sticky;top:0}.alias-table td:nth-child(3){white-space:normal}.alias-table tr.editing{background:var(--bg-muted,#eef2f7)}.alias-row-actions{justify-content:flex-end;gap:6px;display:flex}.alias-form{grid-template-columns:1.4fr 1fr 1.6fr auto;align-items:end;gap:8px;display:grid}.alias-form-actions{gap:6px;display:flex}.ghost-button.danger{color:var(--danger,#b91c1c)}.modal-panel.entity-modal-panel{flex-direction:column;height:min(78vh,720px);max-height:calc(100vh - 40px);display:flex;overflow:hidden}.entity-modal-panel .modal-header{flex:none}.entity-modal-tabs{flex:none;width:fit-content;margin:12px 16px 0}.entity-modal-panel>.entity-modal-form{flex-direction:column;flex:1 1 0;gap:0;min-height:0;padding:16px;display:flex;overflow:hidden}.entity-modal-form-fields{flex:1 1 0;grid-template-columns:1fr 1fr;align-content:start;gap:10px;min-height:0;padding:0;display:grid;overflow:auto}.entity-modal-body{flex-direction:column;flex:1 1 0;gap:12px;min-height:0;padding:14px 16px 16px;display:flex;overflow:hidden}.entity-modal-hint{color:#6b6b6b;flex:none;margin:0;font-size:.82rem;font-weight:600;line-height:1.35}.entity-modal-footer,.entity-modal-panel .entity-modal-footer{border-top:1px solid #0000000f;flex:none;grid-column:1/-1;justify-content:flex-end;gap:10px;margin-top:auto;padding-top:16px;display:flex}.entity-links{flex-direction:column;flex:1 1 0;gap:10px;min-height:0;display:flex;overflow:hidden}.entity-links-toolbar{flex:none;justify-content:space-between;align-items:center;gap:10px;display:flex}.entity-links-count{color:#6b6b6b;letter-spacing:.02em;font-size:.8rem;font-weight:800}.entity-links-add-btn{align-items:center;gap:6px;min-height:34px;padding:0 12px;font-size:.82rem;display:inline-flex}.entity-links-add-btn.ghost-button{min-height:34px}.entity-links-add-btn svg{flex-shrink:0}.entity-links-empty{color:#6b6b6b;text-align:center;background:#fafafa;border:1px dashed #00000024;border-radius:8px;margin:0;padding:18px 14px;font-size:.86rem;font-weight:600;line-height:1.4}.entity-link-list{overscroll-behavior:contain;flex-direction:column;flex:1 1 0;gap:8px;min-height:0;margin:0;padding:2px 6px 6px 0;list-style:none;display:flex;overflow:hidden auto}.entity-link-card{background:#fff;border:1px solid #0000001a;border-radius:8px;flex:none;min-height:52px;transition:border-color .12s,box-shadow .12s;overflow:hidden}.entity-link-card:hover{border-color:#00000029}.entity-link-card.is-editing,.entity-link-card.is-history-open{border-color:#b2a66173;box-shadow:0 0 0 3px #b2a6611a}.entity-link-main{grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:12px;min-height:52px;padding:12px 12px 12px 14px;display:grid}.entity-link-identity{flex-direction:column;gap:2px;min-width:0;display:flex}.entity-link-title-row{align-items:center;gap:8px;min-width:0;display:flex}.entity-link-title-row strong{letter-spacing:-.02em;text-overflow:ellipsis;white-space:nowrap;font-size:.92rem;font-weight:800;overflow:hidden}.entity-link-badge{color:#155724;letter-spacing:.02em;text-transform:uppercase;background:#d4edda;border-radius:999px;flex-shrink:0;padding:2px 7px;font-size:.66rem;font-weight:900}.entity-link-sub{color:#8a8a8a;font-size:.74rem;font-weight:700}.entity-link-meta{color:#6b6b6b;text-overflow:ellipsis;white-space:nowrap;font-size:.74rem;font-weight:600;line-height:1.3;overflow:hidden}.entity-link-price{font-variant-numeric:tabular-nums;letter-spacing:-.02em;white-space:nowrap;font-size:.95rem;font-weight:900}.entity-link-actions{align-items:center;gap:2px;display:flex}.icon-ghost-btn{color:#777;background:0 0;border:0;border-radius:6px;place-items:center;width:32px;height:32px;padding:0;transition:background .12s,color .12s;display:inline-grid}.icon-ghost-btn:hover{color:#8a7d2a;background:#f5f0e0}.icon-ghost-btn.is-active{color:#fff;background:#111}.icon-ghost-btn.is-danger:hover{color:#7f1d1d;background:#ffe0dc}.icon-ghost-btn:disabled{opacity:.4;cursor:not-allowed}.entity-link-add{flex:none}.entity-link-add,.entity-link-edit{background:#faf9f6;border:1px solid #0000001a;border-radius:8px;flex-direction:column;gap:12px;padding:14px;display:flex}.entity-link-edit{background:#faf9f6;border:0;border-radius:0}.entity-link-edit-head{justify-content:space-between;align-items:flex-start;gap:10px;display:flex}.entity-link-edit-head strong{letter-spacing:-.02em;font-size:.95rem;font-weight:800;display:block}.entity-link-add-grid,.entity-link-edit-grid{grid-template-columns:repeat(2,minmax(0,1fr));align-items:end;gap:10px 12px;display:grid}.entity-link-field{color:#6b6b6b;gap:5px;min-width:0;font-size:.74rem;font-weight:800;display:grid}.entity-link-field>span{letter-spacing:.02em}.entity-link-field input,.entity-link-field select{width:100%;height:38px;min-height:38px;padding:0 10px;font-size:.86rem;font-weight:600}.entity-link-field-wide{grid-column:1/-1}.entity-link-field-price{max-width:none}.entity-link-check{color:#333;cursor:pointer;-webkit-user-select:none;user-select:none;background:#ffffffeb;border:1px solid #0000001f;border-radius:6px;align-items:center;gap:8px;width:100%;min-height:38px;padding:0 12px;font-size:.84rem;font-weight:700;display:inline-flex}.entity-link-check:hover{border-color:#0003}.entity-link-check input{accent-color:#111;width:auto;height:auto;min-height:0;margin:0}.entity-link-add-actions,.entity-link-edit-actions{justify-content:flex-end;gap:8px;display:flex}.entity-link-history{background:#fbfaf7;border-top:1px solid #0000000f;padding:0 12px 12px}.entity-history{padding-top:10px}.entity-history-label{color:#8a8a8a;letter-spacing:.08em;text-transform:uppercase;margin-bottom:8px;font-size:.68rem;font-weight:900}.entity-history-list{flex-direction:column;gap:4px;margin:0;padding:0;list-style:none;display:flex}.entity-history-item{background:#fff;border:1px solid #0000000f;border-radius:5px;grid-template-columns:96px 1fr auto;align-items:center;gap:10px;padding:7px 10px;font-size:.82rem;display:grid}.entity-history-date{color:#6b6b6b;font-variant-numeric:tabular-nums;font-weight:700}.entity-history-price{font-variant-numeric:tabular-nums;font-weight:900}.entity-history-source{letter-spacing:.02em;text-transform:uppercase;border-radius:999px;padding:2px 8px;font-size:.68rem;font-weight:900}.entity-history-source.is-delivery{color:#155724;background:#d4edda}.entity-history-source.is-manual{color:#383d41;background:#e2e3e5}.entity-history-source.is-ai-parsing{color:#856404;background:#fff3cd}@media (width<=640px){.entity-link-main{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"identity actions""price actions"}.entity-link-identity{grid-area:identity}.entity-link-price{grid-area:price}.entity-link-actions{grid-area:actions;align-self:start}.entity-link-add-grid,.entity-link-edit-grid{grid-template-columns:1fr}.entity-link-field-price{max-width:none}.entity-history-item{grid-template-columns:1fr auto;gap:4px 10px}.entity-history-date{grid-column:1/-1}}@keyframes toast-slide-in{0%{opacity:0;transform:translate(24px)}to{opacity:1;transform:translate(0)}}.toast-stack{z-index:200;pointer-events:none;gap:12px;min-width:min(360px,100vw - 40px);max-width:min(440px,100vw - 40px);display:grid;position:fixed;top:20px;right:20px}.toast-card{border:1px solid hsl(var(--border));background:hsl(var(--card));color:hsl(var(--card-foreground));pointer-events:auto;border-radius:12px;grid-template-columns:auto 1fr auto;align-items:start;gap:12px;padding:16px 14px 16px 16px;animation:.25s ease-out toast-slide-in;display:grid;box-shadow:0 8px 32px #0000001f,0 2px 8px #00000014}.toast-icon{flex-shrink:0;justify-content:center;align-items:center;margin-top:1px;display:flex}.toast-card.success .toast-icon{color:#2f9353}.toast-card.error .toast-icon{color:hsl(var(--destructive))}.toast-card.info .toast-icon{color:#3c83f6}.toast-message{padding-top:1px;font-size:.95rem;font-weight:500;line-height:1.45}.toast-close{width:28px;height:28px;color:hsl(var(--muted-foreground));cursor:pointer;background:0 0;border:0;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;padding:0;transition:background .15s,color .15s;display:flex}.toast-close:hover{background:hsl(var(--muted));color:hsl(var(--foreground))}.mobile-header,.mobile-backdrop,.mobile-close-toggle{display:none}@media (width<=1180px){.metrics-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.worker-assignment-row{grid-template-columns:1fr}.form-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.payroll-worker-grid{grid-template-columns:1fr}.payroll-days-list{border-bottom:1px solid #00000014;border-right:0}.payroll-concepts-grid,.payroll-manual-row{grid-template-columns:1fr 150px}.payroll-concepts-head span:nth-child(n+3){display:none}.payroll-concepts-grid>input:nth-child(n+3),.payroll-custom-notes,.payroll-custom-name{grid-column:1/-1}.cards-grid,.detail-columns{grid-template-columns:1fr}}@media (width<=860px){.mobile-header{z-index:40;background:#fff;border-bottom:1px solid #00000014;justify-content:space-between;align-items:center;gap:12px;height:52px;padding:0 14px;display:flex;position:fixed;top:0;left:0;right:0}.mobile-menu-toggle{color:#111;background:#fff;border:1px solid #0000001a;border-radius:6px;justify-content:center;align-items:center;width:36px;height:36px;padding:0;display:inline-flex}.mobile-brand{align-items:center;display:flex}.mobile-brand img{object-fit:contain;width:auto;height:28px}.mobile-header-spacer{width:36px}.mobile-backdrop{z-index:50;background:#00000059;display:block;position:fixed;inset:0}.mobile-close-toggle{color:#888;background:#f8f4ec99;border:1px solid #00000014;border-radius:6px;justify-content:center;align-items:center;width:28px;height:28px;margin-left:auto;padding:0;display:inline-flex}.app-frame .app-content{margin-left:0;padding-top:52px}.app-frame .sidebar{z-index:60;border-bottom:0;border-right:1px solid #00000012;width:260px;height:100vh;transition:transform .22s cubic-bezier(.25,.46,.45,.94);position:fixed;top:0;left:0;transform:translate(-100%)}.sidebar.mobile-open{transform:translate(0)}.nav-list{flex-direction:column;gap:2px}.nav-list a{flex:none;justify-content:flex-start;min-width:auto}.nav-list a .nav-label{opacity:1;width:auto;display:inline;transform:translate(0)}.sidebar-toggle,.app-frame.collapsed .sidebar-toggle{display:none}.page-shell,.wide-page{width:100%;padding:14px 16px 32px}.page-title-row{flex-direction:column;align-items:stretch;gap:12px}.page-title-row .page-header{margin-bottom:0}.page-title-row .primary-button{align-self:stretch}.panel-header{flex-direction:column;align-items:flex-start;gap:8px}.assignment-row{grid-template-columns:1fr}.period-nav-header,.assignment-board-header{flex-direction:column;align-items:flex-start}.period-days.week,.period-days.month{grid-template-columns:repeat(2,minmax(0,1fr))}.mini-form{grid-template-columns:1fr}.toolbar-panel{flex-direction:column;align-items:stretch;gap:10px}.toolbar-panel label,.toolbar-panel button,.toolbar-panel span,.toolbar-panel .project-combobox,.toolbar-panel .column-picker{width:100%;min-width:auto}.modal-backdrop{padding:12px}.modal-header{padding:14px}.modal-header h2{font-size:1.15rem}.modal-form{grid-template-columns:1fr;padding:14px}.form-grid{grid-template-columns:1fr;padding:0 14px}.form-actions{padding:12px 14px 0}.table-wrap,.spreadsheet-wrap,.panel .table-wrap{padding:0 14px 14px}.delivery-modal-body{grid-template-columns:1fr;padding:14px}.delivery-lines-grid{max-height:min(40vh,360px)}.delivery-line-row{grid-template-columns:1fr;align-items:start}.labor-detail-table{min-width:720px}.payroll-summary-table{min-width:1200px}.payroll-worker-actions{justify-content:flex-start}.payroll-concepts-grid{grid-template-columns:1fr}.payroll-concepts-head{display:none}.payroll-manual-row,.assignment-project-row{grid-template-columns:1fr}.assignment-project-row>div{grid-column:auto}}@media (width<=560px){.metrics-grid,.form-grid,.period-days.week,.period-days.month,.assignment-cards-zone,.assignment-editor-grid,.quick-add-row{grid-template-columns:1fr}.wide-field{grid-column:auto}.page-shell,.wide-page,.deliveries-page{padding:12px 12px 24px}.toolbar-panel{align-items:stretch}.page-header h1{font-size:1.6rem}.metric-card strong{font-size:1.3rem}.panel-header{padding:14px}.panel-header h2{font-size:1.05rem}.delivery-draft-row td input.delivery-qty-input{width:100%;max-width:none}.delivery-draft-line-inputs{flex-wrap:wrap}.delivery-discount-edit,.delivery-price-cell{max-width:100%}}.login-screen{background:#fafafa;justify-content:center;align-items:center;min-height:100vh;padding:24px;display:flex}.login-card{background:#fff;border:1px solid #00000014;border-radius:6px;flex-direction:column;gap:14px;width:100%;max-width:380px;padding:32px 28px 28px;display:flex;box-shadow:0 1px 2px #0000000a,0 12px 32px #0000000f}.login-brand{justify-content:center;margin-bottom:4px;display:flex}.login-brand img{width:auto;height:40px}.login-heading{text-align:center;flex-direction:column;gap:4px;display:flex}.login-heading h1{font-size:1.25rem;font-weight:600}.login-heading p{color:hsl(var(--muted-foreground));font-size:.875rem}.login-field{flex-direction:column;gap:6px;display:flex}.login-error{color:hsl(var(--destructive-foreground));background:hsl(var(--destructive));border-radius:4px;margin:0;padding:8px 10px;font-size:.8125rem}.login-submit{width:100%;height:40px;margin-top:4px}.sidebar-logout{width:100%;color:inherit;text-align:left;background:0 0;border:0;border-radius:6px;align-items:center;gap:10px;margin-top:auto;padding:9px 10px;font-size:.875rem;display:flex}.sidebar-logout:hover{background:hsl(var(--accent) / .18)}.material-search-bar{max-width:400px;margin:12px 20px 16px;position:relative}.material-search-bar svg{width:16px;height:16px;color:hsl(var(--muted-foreground));pointer-events:none;position:absolute;top:50%;left:12px;transform:translateY(-50%)}.material-search-bar input{border-color:hsl(var(--border));background:hsl(var(--card));width:100%;color:hsl(var(--card-foreground));padding-left:38px;font-size:.9rem}.material-search-bar input:focus{border-color:hsl(var(--accent))}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-leading{syntax:"*";inherits:false}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-tracking{syntax:"*";inherits:false}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}
