@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-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-space-y-reverse:0;--tw-border-style:solid;--tw-font-weight:initial;--tw-ordinal:initial;--tw-slashed-zero:initial;--tw-numeric-figure:initial;--tw-numeric-spacing:initial;--tw-numeric-fraction: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;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-backdrop-blur:initial;--tw-backdrop-brightness:initial;--tw-backdrop-contrast:initial;--tw-backdrop-grayscale:initial;--tw-backdrop-hue-rotate:initial;--tw-backdrop-invert:initial;--tw-backdrop-opacity:initial;--tw-backdrop-saturate:initial;--tw-backdrop-sepia:initial;--tw-ease:initial}}}@layer theme{:root,:host{--font-serif:var(--font-geist-sans), ui-sans-serif, system-ui, sans-serif;--font-mono:var(--font-geist-mono), ui-monospace, monospace;--color-amber-500:#f99c00;--color-emerald-600:#009767;--spacing:.25rem;--container-xs:20rem;--container-sm:24rem;--container-md:28rem;--text-xs:.8125rem;--text-xs--line-height:1.45;--text-sm:.875rem;--text-sm--line-height:1.5;--text-base:1rem;--text-base--line-height:1.55;--text-lg:1.125rem;--text-lg--line-height:1.4;--text-xl:1.625rem;--text-xl--line-height:1.25;--text-2xl:2.125rem;--text-2xl--line-height:1.15;--text-3xl:2.125rem;--text-3xl--line-height:1.15;--tracking-wide:.025em;--radius-sm:.25rem;--radius-lg:.5rem;--radius-xl:.75rem;--ease-out:cubic-bezier(0, 0, .2, 1);--default-transition-duration:.15s;--default-transition-timing-function:cubic-bezier(.4, 0, .2, 1);--default-font-family:var(--font-geist-sans), ui-sans-serif, system-ui, sans-serif;--default-mono-font-family:var(--font-geist-mono), ui-monospace, monospace;--color-surface:var(--surface);--color-danger:var(--danger);--color-warning:var(--warning);--color-success:var(--success);--text-2xs:.8125rem;--text-2xs--line-height:1.45;--tracking-label:.005em;--tracking-display:-.02em}@supports (color:lab(0% 0 0)){:root,:host{--color-amber-500:lab(72.7183% 31.8672 97.9407);--color-emerald-600:lab(55.0481% -49.9246 15.93)}}}@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,-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", "Noto Sans", Arial, 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:where(:not(iframe)){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}:where(a,button,input,select,textarea,[tabindex]):focus-visible{outline:2px solid var(--focus);outline-offset:2px}}@layer components{.num{font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;text-align:right}.num-negative{color:var(--danger);font-weight:600}.brand-mark{color:var(--mark);width:auto;height:1.25rem;display:block}.login-mark{height:2.5rem;margin-bottom:.875rem}.login-mark-stage{--login-mark-size:min(40vmin, 42vh, 15rem);width:100%;height:calc(50dvh + (var(--login-mark-size) / 2));pointer-events:none;justify-content:center;align-items:flex-end;margin-bottom:1.5rem;display:flex}.login-mark-stage .login-mark{height:var(--login-mark-size);margin-bottom:0}.login-screen.page{padding-block-start:0}.login-screen{text-align:center;align-items:center}.login-screen .page-subtitle{margin-inline:auto}.login-form{width:100%;max-width:24rem}.login-form .btn{width:100%}.login-screen .input{text-align:start}.login-mark-turn{transform-origin:50%;animation:16s linear infinite login-mark-turn}@keyframes login-mark-turn{to{transform:rotate(360deg)}}.code{font-family:var(--font-mono);font-variant-numeric:tabular-nums;letter-spacing:-.01em;font-size:.9em}.line-code{color:var(--ink-muted);margin-inline-start:.5rem;font-weight:400}.division-heading{font-size:var(--text-sm);line-height:var(--text-sm--line-height);color:var(--ink-muted);font-weight:600}.division-heading-code{color:var(--ink-subtle);margin-inline-start:.5rem;font-weight:400}.page{width:100%;padding-inline:var(--space-3);padding-block:var(--space-5) var(--space-7);margin-inline:auto}@media (min-width:640px){.page{padding-inline:var(--space-5);padding-block:var(--space-6) 5rem}}@media (min-width:1024px){.page{padding-inline:var(--space-6);padding-block:3rem 6rem}}.page-narrow{max-width:34rem}.page-base{max-width:90rem}.page-wide{max-width:none}@media (min-width:1024px){.page.page-wide{padding-block:2rem 4.5rem}}.page-header{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem 1.25rem;margin-block-end:1.5rem;display:flex}.display,.page-title{font-family:var(--font-serif);font-size:var(--text-xl);line-height:var(--text-xl--line-height);letter-spacing:var(--tracking-display);color:var(--ink);text-wrap:balance;font-weight:600}.page-subtitle{font-size:var(--text-sm);line-height:var(--text-sm--line-height);color:var(--ink-muted);max-width:60ch;margin-block-start:.35rem}.section-label{font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:none;color:var(--ink-subtle);font-weight:600}.section-title{font-size:var(--text-lg);line-height:var(--text-lg--line-height);letter-spacing:-.01em;color:var(--ink);font-weight:600}.back-link{font-size:var(--text-sm);color:var(--ink-muted);transition:color var(--motion);align-items:center;gap:.375rem;text-decoration:none;display:inline-flex}.back-link:hover{color:var(--ink);text-underline-offset:.25em;text-decoration:underline}.prose-note{font-size:var(--text-sm);line-height:var(--text-sm--line-height);color:var(--ink-muted);max-width:68ch}.hint{font-size:var(--text-xs);line-height:var(--text-xs--line-height);color:var(--ink-subtle)}.btn{justify-content:center;align-items:center;gap:var(--space-2);min-height:var(--control-h);padding-inline:var(--space-4);border-radius:var(--radius-control);font-size:var(--text-sm);cursor:pointer;transition:background-color var(--motion), border-color var(--motion), color var(--motion);border:1px solid #0000;font-weight:600;line-height:1;text-decoration:none;display:inline-flex}.btn:disabled,.btn[aria-disabled=true]{opacity:.45;cursor:not-allowed}.btn-primary{background:var(--action);color:var(--on-action);box-shadow:var(--shadow-strip)}.btn-primary:hover:not(:disabled){background:var(--action-press)}.btn-secondary{border-color:var(--rule-strong);color:var(--ink);background:0 0}.btn-secondary:hover:not(:disabled){background:var(--surface-sunk)}.btn-quiet{color:var(--ink-soft);background:0 0}.btn-quiet:hover:not(:disabled){background:var(--surface-sunk);color:var(--ink)}.btn-danger{color:var(--danger);background:0 0;border-color:#0000}.btn-danger:hover:not(:disabled){background:var(--danger-tint);border-color:#0000}.btn-sm{min-height:2.25rem;padding-inline:var(--space-3);font-size:var(--text-xs)}[data-mode=field] .btn{min-height:var(--control-h-field);font-size:var(--text-base)}[data-mode=field] .btn-sm{min-height:var(--touch-min);font-size:var(--text-base)}.form-actions{flex-direction:column-reverse;gap:.75rem;margin-block-start:2rem;display:flex}@media (min-width:640px){.form-actions{flex-direction:row;justify-content:flex-end}}.form-grid{gap:1rem 1.15rem;display:grid}.form-grid-break{border-block-start:1px solid var(--line);grid-column:1/-1;margin-block:.2rem}.field{flex-direction:column;gap:.4rem;display:flex}.field-label{font-size:var(--text-sm);color:var(--ink);font-weight:600}.field-required{color:var(--danger);margin-inline-start:.15em}.input{width:100%;min-height:var(--control-h);padding:var(--space-2) var(--space-3);background:var(--surface-sunk);border:1px solid var(--rule-strong);border-radius:var(--radius-control);color:var(--ink);font-size:var(--text-base);transition:border-color var(--motion), box-shadow var(--motion);font-family:inherit}.input::placeholder{color:var(--ink-faint)}[data-mode=field] .input{min-height:var(--control-h-field);font-size:var(--text-base)}.input:focus{border-color:var(--focus);box-shadow:var(--focus-shadow);outline:none}.input[aria-invalid=true]{border-color:var(--danger)}.input[aria-invalid=true]:focus{box-shadow:var(--focus-shadow-danger)}textarea.input{resize:vertical;min-height:6rem;line-height:1.6}select.input{appearance:none;background-image:linear-gradient(45deg,#0000 50%,currentColor 50%),linear-gradient(135deg,currentColor 50%,#0000 50%);background-position:calc(100% - 1rem) calc(50% + 2px),calc(100% - .7rem) calc(50% + 2px);background-repeat:no-repeat;background-size:5px 5px;padding-inline-end:2rem}.input-num{text-align:right;font-variant-numeric:tabular-nums;width:100%;min-width:6rem}.field-error{font-size:var(--text-xs);color:var(--danger)}.checkbox{width:1.15rem;height:1.15rem;accent-color:var(--accent);flex-shrink:0}.card{background:var(--surface);border-radius:var(--radius-card);padding:var(--space-4);box-shadow:var(--shadow-card);border:none}@media (min-width:640px){.card{padding:var(--space-5)}}.card .card,.surface-white .card{border:1px solid var(--rule);box-shadow:none}a.card{transition:box-shadow var(--motion-lift), transform var(--motion-lift)}a.card:hover{box-shadow:var(--shadow-float);transform:translateY(-2px)}a.card:active{box-shadow:var(--shadow-card);transform:translateY(1px)}.card-quiet{border:1px solid var(--rule);border-radius:var(--radius-card);padding:var(--space-4);box-shadow:var(--shadow-strip);background:0 0}.empty-state{padding:var(--space-5) var(--space-4);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-card);border:none;flex-direction:column;align-items:flex-start;display:flex}.empty-state-icon{margin-block-end:.75rem}.empty-state-title{font-family:var(--font-serif);font-size:var(--text-lg);line-height:var(--text-lg--line-height);letter-spacing:var(--tracking-display);color:var(--ink);align-items:center;gap:.4rem;font-weight:600;display:flex}.empty-state-body{max-width:56ch;font-size:var(--text-sm);line-height:var(--text-sm--line-height);color:var(--ink-muted);margin-block-start:.3rem}.empty-state-action{margin-block-start:1rem}.icon-tile{border-radius:var(--radius-badge);background:var(--sage-tint);width:36px;height:36px;color:var(--mark);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.icon-tile svg{width:18px;height:18px}.empty-inline{flex-direction:column;align-items:flex-start;gap:.35rem;display:flex}.empty-inline .link{margin-block-start:.15rem}.banner{border-radius:var(--radius);font-size:var(--text-sm);line-height:var(--text-sm--line-height);border:1px solid #0000;padding:.75rem 1rem}.banner-error{background:var(--danger-tint);border-color:var(--danger)}@supports (color:color-mix(in lab, red, red)){.banner-error{border-color:color-mix(in oklab, var(--danger) 30%, transparent)}}.banner-error{color:var(--danger)}.banner-warning{background:var(--warning-tint);border-color:var(--warning)}@supports (color:color-mix(in lab, red, red)){.banner-warning{border-color:color-mix(in oklab, var(--warning) 30%, transparent)}}.banner-warning{color:var(--warning)}.banner-success{background:var(--success-tint);border-color:var(--success)}@supports (color:color-mix(in lab, red, red)){.banner-success{border-color:color-mix(in oklab, var(--success) 30%, transparent)}}.banner-success{color:var(--success)}.banner-info{background:var(--surface-sunk);border-color:var(--line);color:var(--ink-muted)}.badge{align-items:center;gap:var(--space-1);border-radius:var(--radius-badge);background:var(--surface-sunk);color:var(--ink-soft);font-size:var(--text-xs);white-space:nowrap;border:none;padding:.25rem .55rem;font-weight:600;line-height:1.4;display:inline-flex}.badge-success{background:var(--success-tint);color:var(--success)}.badge-warning{background:var(--warning-tint);color:var(--warning)}.badge-danger{background:var(--danger-tint);color:var(--danger)}.badge-accent{background:var(--accent-tint);color:var(--ink)}.row-list{border-block-start:1px solid var(--line)}.row{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.5rem 1rem;padding-block:.75rem;display:flex}.row-link{color:inherit;text-decoration:none}.link{color:var(--action);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}.link:hover{text-decoration-thickness:2px}button.link{font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.row-link:hover .row-title{text-underline-offset:2px;text-decoration:underline}.row-title{color:var(--ink);transition:color var(--motion);font-weight:600}.row-meta{font-size:var(--text-sm);color:var(--ink-muted);margin-block-start:.2rem}.row-list-divided>*+*{border-block-start:1px solid var(--line)}.group-heading{border-block-end:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:1rem;padding-block-end:.5rem;display:flex}.total-row{border-block-start:2px solid var(--line-strong);justify-content:space-between;align-items:baseline;gap:1rem;padding-block-start:1rem;display:flex}.input-invalid{border-color:var(--danger)}.input-invalid:focus{box-shadow:var(--focus-shadow-danger)}.job-card{background:var(--surface);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);transition:box-shadow var(--motion-lift), transform var(--motion-lift);border:none;overflow:hidden}.job-card:hover{box-shadow:var(--shadow-float);transform:translateY(-2px)}.job-card:active{box-shadow:var(--shadow-card);transform:translateY(1px)}.job-card-body{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem 2rem;padding:1.25rem 1.25rem 1rem;display:flex}@media (min-width:640px){.job-card-body{padding:1.5rem 1.5rem 1.25rem}}.job-name{font-family:var(--font-serif);font-size:var(--text-xl);letter-spacing:var(--tracking-display);color:var(--ink);text-wrap:balance;font-weight:600;line-height:1.25}.job-client{font-size:var(--text-sm);color:var(--ink-muted);margin-block-start:.3rem;line-height:1.5}.job-portal{margin-block-start:.45rem}.job-portal-link{font-size:var(--text-sm);color:var(--ink);text-underline-offset:.18em;font-weight:600;text-decoration:underline}.job-portal-link:hover{color:var(--ink-muted)}.job-notes-cue{border-radius:var(--radius-badge);background:var(--surface-sunk);color:var(--ink-soft);font-size:var(--text-xs);vertical-align:.05em;align-items:center;margin-inline-start:.45rem;padding:.1rem .4rem;font-weight:600;line-height:1.3;display:inline-flex}.job-notes-cue[data-cue=new],.job-notes-cue[data-cue=reply]{background:var(--accent-tint);color:var(--ink)}.job-meta{flex-wrap:wrap;align-items:center;gap:.5rem .75rem;margin-block-start:.7rem;display:flex}.job-number{font-family:var(--font-mono);font-size:var(--text-xs);font-variant-numeric:tabular-nums;letter-spacing:.02em;color:var(--ink-subtle)}.job-value{flex-direction:column;flex-shrink:0;align-items:flex-start;display:flex}@media (min-width:640px){.job-value{text-align:right;align-items:flex-end}}.job-value-label{font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:none;color:var(--ink-subtle);font-weight:600}.job-value-amount{font-size:var(--text-xl);font-variant-numeric:tabular-nums;letter-spacing:-.01em;color:var(--ink);margin-block-start:.15rem;font-weight:600;line-height:1.2}.job-nav{border-block-start:1px solid var(--line);background:var(--surface-sunk);flex-wrap:wrap;gap:.15rem .35rem;padding:.5rem .85rem;display:flex}@supports (color:color-mix(in lab, red, red)){.job-nav{background:color-mix(in oklab, var(--surface-sunk) 55%, transparent)}}@media (min-width:640px){.job-nav{padding-inline:1.15rem}}.job-nav-link{border-radius:var(--radius-sm);min-height:2.5rem;font-size:var(--text-sm);color:var(--ink-muted);white-space:nowrap;transition:color var(--motion), background-color var(--motion);align-items:center;padding-inline:.6rem;text-decoration:none;display:inline-flex}.job-nav-link:hover{color:var(--ink);background:var(--surface)}.job-list{flex-direction:column;gap:.85rem;display:flex}.app-header{z-index:30;background:var(--chrome);border-block-end:1px solid var(--line);width:100%;box-shadow:var(--shadow-strip);position:sticky;top:0}.app-header-inner{width:100%;max-width:none;padding-inline:var(--space-3);grid-template-columns:auto auto minmax(0,1fr) auto;grid-template-areas:"menu mark search avatar";align-items:center;gap:.5rem .75rem;margin-inline:auto;padding-block:.5rem;display:grid}@media (min-width:640px){.app-header-inner{padding-inline:var(--space-5)}}@media (min-width:768px){.app-header-inner{grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"search avatar";gap:1.25rem;min-block-size:3.75rem;padding-block:0}}.app-nav-phone-trigger{grid-area:menu}.wordmark{grid-area:mark}.header-search{grid-area:search}.app-header-inner>.menu-wrap{grid-area:avatar}.wordmark{color:var(--ink);letter-spacing:-.015em;font-weight:600;font-size:var(--text-base);flex-shrink:0;align-items:center;gap:.5rem;text-decoration:none;display:inline-flex}.wordmark-mark{flex-shrink:0;height:1.35rem}.wordmark-text{display:none}@media (min-width:480px){.wordmark-text{display:inline}.wordmark-mark{height:1.2rem}}@media (min-width:768px){.wordmark,.app-nav-phone-trigger{display:none}}.app-nav-phone-trigger{min-inline-size:var(--touch-min);min-block-size:var(--touch-min);border:1px solid var(--line-strong);background:var(--surface);border-radius:var(--radius);color:var(--ink);cursor:pointer;justify-content:center;align-items:center;display:inline-flex}.primary-nav{flex-wrap:wrap;align-items:center;gap:.25rem;min-width:0;display:flex}@media (min-width:768px){.primary-nav{flex-wrap:nowrap;gap:.15rem}}.primary-nav-link{border-radius:var(--radius);min-width:0;max-width:100%;min-height:2.75rem;font-family:inherit;font-size:var(--text-sm);color:var(--ink-muted);cursor:pointer;transition:color var(--motion), background-color var(--motion);background:0 0;border:0;align-items:center;gap:.3rem;padding-inline:.7rem;font-weight:600;text-decoration:none;display:inline-flex}@media (min-width:768px){.primary-nav-link{min-height:2.25rem}}.primary-nav-link:hover{color:var(--ink);background:var(--surface-sunk)}.primary-nav-link[aria-current=page]{color:var(--ink);background:var(--accent-tint)}.primary-nav-label{white-space:nowrap}.primary-nav-here{text-overflow:ellipsis;white-space:nowrap;min-width:0;color:var(--ink-muted);font-weight:400;overflow:hidden}.primary-nav-chevron{opacity:.5;flex-shrink:0}.nav-sheet-backdrop{z-index:55;background:#0006;border:0;padding:0;position:fixed;inset:0}@media (min-width:768px){.nav-sheet-backdrop{display:none}}.nav-menu-panel{z-index:60;overscroll-behavior:contain;background:var(--surface-float);border:1px solid var(--rule);max-block-size:80vh;box-shadow:var(--shadow-float);padding:.5rem .5rem calc(.75rem + env(safe-area-inset-bottom));border-start-start-radius:var(--radius-lg);border-start-end-radius:var(--radius-lg);position:fixed;inset-block-end:0;inset-inline:0;overflow-y:auto}@media (min-width:768px){.nav-menu-panel{inset-block:auto;inset-inline:auto;top:var(--nav-menu-top);left:var(--nav-menu-left);border:1px solid var(--rule);border-radius:var(--radius-lg);max-block-size:min(70vh,34rem);inline-size:15rem;box-shadow:var(--shadow-float);padding:.3rem}}.nav-menu-head{border-block-end:1px solid var(--line);justify-content:space-between;align-items:flex-start;gap:.75rem;margin-block-end:.3rem;padding:.5rem .65rem .6rem;display:flex}.nav-menu-title{font-size:var(--text-2xs);letter-spacing:var(--tracking-label);text-transform:none;color:var(--ink-subtle);margin:0;font-weight:600}.nav-menu-job{font-size:var(--text-sm);color:var(--ink);overflow-wrap:anywhere;margin:.1rem 0 0;font-weight:600}.nav-menu-job-note{color:var(--ink-muted);font-weight:400}.nav-menu-close{border:1px solid var(--line-strong);background:var(--surface);border-radius:var(--radius);font:inherit;font-size:var(--text-xs);color:var(--ink-muted);cursor:pointer;flex-shrink:0;padding:.35rem .7rem}@media (min-width:768px){.nav-menu-close{display:none}}.nav-menu-heading{font-size:var(--text-2xs);letter-spacing:var(--tracking-label);text-transform:none;color:var(--ink-subtle);margin:0;padding:.6rem .65rem .25rem;font-weight:600}.nav-menu-link{border-radius:var(--radius);color:var(--ink);font-size:var(--text-base);padding:.7rem .65rem;text-decoration:none;display:block}@media (min-width:768px){.nav-menu-link{font-size:var(--text-sm);padding:.45rem .65rem}}.nav-menu-link:hover{background:var(--surface-sunk)}.nav-menu-link[aria-current=page]{background:var(--accent-tint);font-weight:600}.nav-menu-link.is-unbuilt{color:var(--ink-subtle);opacity:.55;cursor:not-allowed}.nav-menu-link:focus-visible,.nav-menu-close:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.nav-menu-empty{font-size:var(--text-sm);color:var(--ink-muted);margin:0;padding:.75rem .65rem}.nav-menu-inline-link{color:var(--ink);text-underline-offset:2px;text-decoration:underline}@media (max-width:767.98px){html.nav-sheet-open,html.nav-sheet-open body{overflow:hidden}}.header-search{width:100%;min-width:0;max-width:26rem;margin-inline-start:auto;position:relative}@media (min-width:768px){.header-search{width:16rem;max-width:16rem;margin-inline-start:0}}.header-search-input{width:100%;min-height:var(--control-h);background:var(--surface);border:1px solid var(--line-strong);border-radius:var(--radius-control);color:var(--ink);font-size:var(--text-sm);transition:border-color var(--motion), box-shadow var(--motion);padding:.4rem .75rem .4rem 2.15rem;font-family:inherit}.header-search-input::placeholder{color:var(--ink-subtle)}.header-search-input:focus{border-color:var(--focus);box-shadow:var(--focus-shadow);outline:none}.header-search-icon{color:var(--ink-subtle);pointer-events:none;position:absolute;top:50%;left:.65rem;translate:0 -50%}.search-results{z-index:40;background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius-lg);box-shadow:var(--shadow-float);inset-inline:0;max-height:22rem;padding:.3rem;position:absolute;top:calc(100% + .35rem);overflow-y:auto}.search-result{text-align:left;border-radius:var(--radius);width:100%;color:inherit;font:inherit;cursor:pointer;background:0 0;border:0;padding:.55rem .65rem;text-decoration:none;display:block}.search-result:hover,.search-result[data-active=true]{background:var(--accent-tint)}.search-result-name{font-size:var(--text-sm);color:var(--ink);font-weight:600}.search-result-meta{font-size:var(--text-xs);color:var(--ink-subtle);margin-block-start:.1rem}.search-empty{font-size:var(--text-sm);color:var(--ink-subtle);padding:.85rem .65rem}.menu-wrap{flex-shrink:0;position:relative}.avatar-button{border:1px solid var(--line-strong);background:var(--surface);width:2.25rem;height:2.25rem;color:var(--ink-muted);font-size:var(--text-xs);letter-spacing:.02em;cursor:pointer;transition:border-color var(--motion), color var(--motion);border-radius:999px;justify-content:center;align-items:center;font-weight:600;display:inline-flex}.avatar{border:1px solid var(--line-strong);background:var(--surface);width:2.25rem;height:2.25rem;color:var(--ink-muted);font-size:var(--text-xs);letter-spacing:.02em;object-fit:cover;border-radius:999px;flex:none;justify-content:center;align-items:center;font-weight:600;display:inline-flex;overflow:hidden}.avatar-lg{width:4.5rem;height:4.5rem;font-size:var(--text-base)}.avatar-button:hover{border-color:var(--line-strong);color:var(--ink)}.menu{z-index:40;background:var(--surface-float);border:1px solid var(--rule);border-radius:var(--radius-lg);min-width:13rem;box-shadow:var(--shadow-float);padding:.3rem;position:absolute;top:calc(100% + .4rem);right:0}.menu-heading{font-size:var(--text-2xs);letter-spacing:var(--tracking-label);text-transform:none;color:var(--ink-subtle);padding:.5rem .65rem .3rem;font-weight:600}.menu-item{text-align:left;border-radius:var(--radius);width:100%;color:var(--ink);font:inherit;font-size:var(--text-sm);cursor:pointer;background:0 0;border:0;padding:.5rem .65rem;text-decoration:none;display:block}.menu-item:hover{background:var(--surface-sunk)}.menu-separator{background:var(--line);height:1px;margin:.3rem .35rem}.menu-email{font-size:var(--text-xs);color:var(--ink-subtle);word-break:break-all;padding:.15rem .65rem .5rem}.app-shell{flex:auto;align-items:stretch;width:100%;min-width:0;display:flex}.app-main{flex-direction:column;flex:auto;min-width:0;display:flex}.app-nav{display:none}@media (min-width:768px){.app-nav{background:var(--chrome);border-inline-end:1px solid var(--line);z-index:32;flex-shrink:0;height:100dvh;display:flex;position:sticky;top:0}}.app-nav-rail{z-index:1;flex-direction:column;align-items:center;gap:.15rem;width:3.5rem;padding:.65rem .35rem .75rem;display:flex;position:relative;overflow:visible}.app-nav-brand{width:2.5rem;height:2.5rem;color:var(--ink);border-radius:var(--radius);justify-content:center;align-items:center;margin-block-end:.45rem;text-decoration:none;display:flex}.app-nav-brand:hover{background:var(--surface-sunk)}.app-nav-brand-mark{height:1.35rem}.app-nav-brand-glyph{transform-origin:50%;width:1.35rem;height:1.35rem;display:block}.app-nav-rail-link{border-radius:var(--radius);width:100%;min-height:2.75rem;color:var(--ink-muted);text-align:center;flex-direction:column;justify-content:center;align-items:center;gap:.15rem;padding:.3rem .15rem;font-size:.625rem;font-weight:600;line-height:1.15;text-decoration:none;display:flex;position:relative}.app-nav-rail-link svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;transform-origin:50%;transform-box:fill-box;width:1.25rem;height:1.25rem}.app-nav-rail-link:hover{color:var(--ink);background:var(--surface-sunk)}.app-nav-rail-link[aria-current=page]{color:var(--ink);background:var(--accent-tint)}:is(.app-nav-rail-link:has([data-nav-pending=true]),.app-nav-sheet-rail-link:has([data-nav-pending=true])){color:var(--ink);background:var(--surface-sunk)}.app-nav-rail-label{z-index:50;background:var(--surface-float);color:var(--ink);border:1px solid var(--rule);border-radius:var(--radius-sm);box-shadow:var(--shadow-float);font-size:var(--text-xs);white-space:nowrap;opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--motion), transform var(--motion), visibility var(--motion);padding:.28rem .5rem;font-weight:600;line-height:1.2;position:absolute;inset-block-start:50%;inset-inline-start:calc(100% + .45rem);transform:translateY(-50%)translate(-.2rem)}.app-nav-rail-link:hover .app-nav-rail-label,.app-nav-rail-link:focus-visible .app-nav-rail-label{opacity:1;visibility:visible;transform:translateY(-50%)translate(0)}@keyframes app-nav-jiggle{0%,to{transform:rotate(0)translate(0)}20%{transform:rotate(-4deg)translate(-1px)}40%{transform:rotate(3deg)translate(1px)}60%{transform:rotate(-2deg)translate(-.5px)}80%{transform:rotate(1deg)translate(.5px)}}@keyframes app-nav-brand-jiggle{0%,to{transform:translate(0)}20%{transform:translate(-3px)}40%{transform:translate(3px)}60%{transform:translate(-2px)}80%{transform:translate(1px)}}.app-nav-rail-link:hover svg,.app-nav-rail-link:focus-visible svg{animation:.42s ease-in-out app-nav-jiggle}.app-nav-brand:hover .app-nav-brand-glyph,.app-nav-brand:focus-visible .app-nav-brand-glyph{animation:.42s ease-in-out app-nav-brand-jiggle}.app-nav-rail-link:focus-visible,.app-nav-brand:focus-visible,.app-nav-phone-trigger:focus-visible,.app-nav-sheet-rail-link:focus-visible{outline:2px solid var(--focus);outline-offset:-2px}.app-nav-sheet{display:none}@media (max-width:767.98px){.app-nav-sheet{display:block}}.app-nav-sheet-panel{z-index:60;overscroll-behavior:contain;background:var(--surface-float);border:1px solid var(--rule);max-block-size:80vh;box-shadow:var(--shadow-float);padding:.5rem .5rem calc(.75rem + env(safe-area-inset-bottom));border-start-start-radius:var(--radius-lg);border-start-end-radius:var(--radius-lg);position:fixed;inset-block-end:0;inset-inline:0;overflow-y:auto}.app-nav-sheet-head{justify-content:space-between;align-items:flex-start;gap:.5rem;margin-block-end:.2rem;padding:.15rem .45rem .55rem;display:flex}.app-nav-sheet-title{font-size:var(--text-sm);color:var(--ink);margin:0;font-weight:600}.app-nav-sheet-rail{grid-template-columns:repeat(4,minmax(0,1fr));gap:.25rem;padding:.35rem 0 .15rem;display:grid}.app-nav-sheet-rail-link{min-height:var(--touch-min);border-radius:var(--radius);color:var(--ink-muted);font-size:var(--text-2xs);text-align:center;flex-direction:column;align-items:center;gap:.2rem;padding:.4rem .15rem;font-weight:600;text-decoration:none;display:flex}.app-nav-sheet-rail-link svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;stroke-linejoin:round;width:1.25rem;height:1.25rem}.app-nav-sheet-rail-link[aria-current=page]{color:var(--ink);background:var(--accent-tint)}.job-shell{grid-template-columns:1fr;width:100%;max-width:none;margin-inline:0;display:grid}@media (max-width:767.98px){.job-shell[data-bottom-nav=phone]{padding-block-end:calc(var(--bottom-nav-h) + env(safe-area-inset-bottom))}}@media (min-width:1024px){.job-shell{grid-template-columns:var(--sidebar-w,17rem) minmax(0, 1fr)}.job-shell[data-collapsed=true]{--sidebar-w:3rem}}.sidebar{border-inline-end:1px solid var(--line);background:var(--chrome);min-height:calc(100dvh - 3.75rem);display:none}@media (min-width:1024px){.sidebar{height:calc(100dvh - 3.75rem);display:block;position:sticky;top:3.75rem;overflow-y:auto}.job-shell[data-collapsed=true] .sidebar{display:none}}.sidebar-inner{padding:.85rem .7rem 1.5rem}.sidebar-list{flex-direction:column;gap:.05rem;margin-block-start:.35rem;display:flex}.sidebar-job{border-radius:var(--radius);color:inherit;transition:background-color var(--motion);border-inline-start:2px solid #0000;padding:.4rem .55rem;text-decoration:none;display:block}.sidebar-job:hover{background:var(--surface-sunk)}.sidebar-job[aria-current=true]{background:var(--accent-tint);border-inline-start-color:var(--ink)}.sidebar-job-name{font-size:var(--text-sm);color:var(--ink);font-weight:600;line-height:1.35}.sidebar-job[aria-current=true] .sidebar-job-name{color:var(--ink);font-weight:600}.sidebar-job-meta{font-size:var(--text-xs);color:var(--ink-subtle);align-items:center;gap:.4rem;margin-block-start:.15rem;display:flex}.sidebar-status{opacity:.55;background:currentColor;border-radius:999px;flex-shrink:0;width:.4rem;height:.4rem}.sidebar-empty{font-size:var(--text-sm);color:var(--ink-subtle);padding:1rem .6rem}.drawer-backdrop{z-index:45;background:#00000059;border:0;position:fixed;inset:0}@media (min-width:1024px){.drawer-backdrop{display:none}}.drawer{z-index:50;background:var(--chrome);border-inline-end:1px solid var(--line);width:min(20rem,86vw);position:fixed;inset-block:0;inset-inline-start:0;overflow-y:auto}@media (min-width:1024px){.drawer{display:none}}.sidebar-toggle{z-index:2;border-radius:var(--radius);border:1px solid var(--line-strong);background:var(--surface);min-width:2.25rem;min-height:2.25rem;color:var(--ink-muted);font-size:var(--text-xs);cursor:pointer;grid-column:1;justify-content:center;place-self:start center;align-items:center;gap:.4rem;padding-inline:.6rem;font-weight:600;display:inline-flex;position:sticky;top:4.5rem}.sidebar-toggle:hover{color:var(--ink);border-color:var(--ink-subtle)}.sidebar-toggle .sidebar-toggle-label{clip-path:inset(50%);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.job-context-bar{padding:1.15rem var(--space-3) .25rem}@media (min-width:640px){.job-context-bar{padding-inline:var(--space-5)}}@media (min-width:1024px){.job-context-bar{padding-inline:var(--space-6)}}.job-shell .page{max-width:none;margin-inline:0}.table-wrap{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);box-shadow:var(--shadow-card);overflow:hidden}.card .table-wrap{box-shadow:none}.table{border-collapse:collapse;width:100%;font-size:var(--text-sm);line-height:1.4}.table th,.table td{padding:var(--space-2) var(--space-3);text-align:left;vertical-align:top}.table td.num,.table th.num{text-align:right}.table td:has(>.num){text-align:right}.table th:has(>.num){text-align:right}.table thead th{font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:none;color:var(--ink-soft);background:var(--surface-sunk);border-block-end:1px solid var(--rule);white-space:nowrap;padding-block:var(--space-2);font-weight:600}.table tbody tr+tr td,.table tbody+tbody tr td{border-block-start:1px solid var(--line)}.table .group-head th{background:var(--surface-sunk);font-size:var(--text-2xs);letter-spacing:var(--tracking-label);text-transform:none;color:var(--ink-muted);padding-block:.55rem;font-weight:600}.table tbody+tbody .group-head th{padding-block-start:.8rem}.table .subtotal-row td{font-size:var(--text-xs);color:var(--ink-muted);border-block-start:1px solid var(--line);padding-block:.45rem}.table tfoot td{border-block-start:2px solid var(--line-strong);padding-block:.85rem;font-weight:600}.table .right,.table th.right,.table td.right{text-align:right;font-variant-numeric:tabular-nums}@media (max-width:47.99rem){.table-reflow thead{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.table-reflow,.table-reflow tbody,.table-reflow tfoot,.table-reflow tr,.table-reflow td{width:auto;display:block}.table-reflow tbody tr{border-block-start:1px solid var(--line);padding:.9rem .85rem}.table-reflow tbody tr+tr td,.table-reflow tbody+tbody tr td{border-block-start:0}.table-reflow td{text-align:right;justify-content:space-between;align-items:baseline;gap:1rem;padding:.25rem 0;display:flex}.table-reflow td[data-label]:before{content:attr(data-label);font-size:var(--text-xs);color:var(--ink-subtle);text-align:left;flex:none;font-weight:600}.table-reflow td:first-child{text-align:left;margin-block-end:.4rem;font-weight:600;display:block}.table-reflow td:first-child:before{content:none}.table-reflow .group-head th{border-radius:0;display:block}.table-reflow tfoot tr{border-block-start:2px solid var(--line-strong);padding:.9rem .85rem}.table-reflow tfoot td{border:0;padding-block:.25rem}.table-reflow .input-num{max-width:9rem}}.timesheet-grid-wrap{overflow-x:auto}.timesheet-grid{min-width:max(100%,36rem)}.timesheet-grid th.day,.timesheet-grid td.day{min-width:3.25rem}.timesheet-grid th.person,.timesheet-grid td.person{z-index:1;background:var(--surface);min-width:8rem;position:sticky;inset-inline-start:0}.timesheet-grid thead th.person{background:var(--surface-sunk);z-index:2}.dl-row{justify-content:space-between;align-items:baseline;gap:1rem;padding-block:.65rem;display:flex}.dl-row+.dl-row{border-block-start:1px solid var(--line)}@supports (color:color-mix(in lab, red, red)){.dl-row+.dl-row{border-block-start:1px solid color-mix(in oklab, var(--line) 60%, transparent)}}.dl-rule{border-block-end:1px solid var(--line)}.dl-term{color:var(--ink-muted);min-width:0}.dl-value{font-variant-numeric:tabular-nums;color:var(--ink);flex-shrink:0;font-weight:600}.dl-emphasis .dl-term{color:var(--ink);font-weight:600}.dl-emphasis .dl-value{font-size:var(--text-lg);font-weight:600}.dl-note{font-size:var(--text-xs);color:var(--ink-subtle);margin-block-start:.15rem;display:block}.card-grid{grid-template-columns:1fr;align-items:start;gap:1rem;display:grid}@media (min-width:48rem){.card-grid{grid-template-columns:repeat(auto-fit,minmax(20rem,1fr));gap:1.25rem}.card-grid>.card-span{grid-column:1/-1}}.card-hero .section-label{color:var(--ink);font-size:var(--text-sm)}.home-stack{flex-direction:column;gap:1rem;display:flex}.home-board{grid-template-columns:1fr;align-items:start;gap:1rem;display:grid}@media (min-width:48rem){.home-board{grid-template-columns:repeat(auto-fit,minmax(20rem,1fr));gap:1.25rem}.home-board-toolbar,.home-unit,.home-widget[data-home-widget=map],.home-widget[data-home-widget=attention],.home-widget[data-home-widget=clock],.home-widget[data-home-widget=today]{grid-column:1/-1}.home-unit-cards{grid-template-columns:repeat(auto-fit,minmax(20rem,1fr));align-items:start;gap:1.25rem;display:grid}}.home-unit{flex-direction:column;gap:.4rem;display:flex}.home-unit-cards{grid-template-columns:1fr;align-items:start;gap:1rem;display:grid}.home-board-toolbar{justify-content:flex-end;display:flex}.home-widget{flex-direction:column;gap:.4rem;display:flex}.home-widget-bar{flex-wrap:wrap;justify-content:flex-end;gap:.35rem;display:flex}.home-widget-bar button,.home-add-menu button{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);min-height:2rem;color:var(--ink-subtle);font-size:var(--text-2xs);cursor:pointer;padding-inline:.55rem;font-family:inherit}.home-widget-bar button:hover:not(:disabled),.home-add-menu button:hover{color:var(--ink);border-color:var(--line-strong)}.home-widget-bar button:disabled{opacity:.4;cursor:default}.home-add{position:relative}.home-add-button{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);min-width:2.25rem;min-height:2.25rem;color:var(--ink);font-size:var(--text-base);cursor:pointer;justify-content:center;align-items:center;padding-inline:.65rem;font-weight:600;list-style:none;display:inline-flex}.home-add-button::-webkit-details-marker{display:none}.home-add-button:hover{border-color:var(--ink)}.home-add-menu{z-index:5;background:var(--surface);border:1px solid var(--rule);border-radius:var(--radius-lg);min-width:12rem;box-shadow:var(--shadow-float);flex-direction:column;gap:.25rem;margin-block-start:.35rem;padding:.4rem;display:flex;position:absolute;right:0}.home-add-empty{color:var(--ink-subtle);font-size:var(--text-xs);padding:.4rem .55rem}.home-strip{background:var(--surface);border-radius:var(--radius-card);box-shadow:var(--shadow-strip);flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;padding:.85rem 1.1rem;display:flex}.home-strip-title{font-size:var(--text-sm);color:var(--ink);font-weight:600}.start-strip .section-label{margin-block-end:.6rem}.start-strip-list{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(9.5rem,1fr));margin:0;padding:0;list-style:none;display:grid}@media (min-width:48rem){.start-strip-list{grid-template-columns:repeat(auto-fit,minmax(10.5rem,1fr))}}.start-tile{align-items:flex-start;gap:var(--space-3);min-height:100%;padding:var(--space-3) var(--space-4);background:var(--surface);border-radius:var(--radius-card);box-shadow:var(--shadow-strip);color:inherit;transition:box-shadow var(--motion-lift), transform var(--motion-lift);flex-direction:column;text-decoration:none;display:flex}.start-tile:hover{box-shadow:var(--shadow-float);transform:translateY(-2px)}.start-tile:active{box-shadow:var(--shadow-card);transform:translateY(1px)}button.start-tile{width:100%;font:inherit;cursor:pointer;text-align:left;border:0}button.start-tile:disabled{opacity:.55;cursor:not-allowed}button.start-tile:disabled:hover,button.start-tile:disabled:active{box-shadow:var(--shadow-strip);transform:none}.start-tile[data-first]{box-shadow:var(--shadow-card);outline:1px solid var(--sage)}@supports (color:color-mix(in lab, red, red)){.start-tile[data-first]{outline:1px solid color-mix(in srgb, var(--sage) 42%, var(--rule))}}.start-tile-copy{flex-direction:column;gap:.15rem;min-width:0;display:flex}.start-tile-title{font-size:var(--text-sm);color:var(--ink);font-weight:600}.start-tile-hint{font-size:var(--text-xs);line-height:var(--text-xs--line-height);color:var(--ink-muted)}.home-strip-today{display:block}.home-strip-today-head{justify-content:space-between;align-items:baseline;gap:.75rem;margin-block-end:.35rem;display:flex}.home-strip-today-list{margin:0;padding:0;list-style:none}.home-strip-today-list .row-link{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.25rem .75rem;padding-block:.4rem;display:flex}.home-strip-today-list li+li .row-link{border-block-start:1px solid var(--rule)}.card-head{justify-content:space-between;align-items:baseline;gap:.75rem;margin-block-end:.75rem;display:flex}.card-count{font-size:var(--text-2xs);color:var(--ink-subtle);text-align:end}.project-map-layout{gap:1rem;display:grid}@media (min-width:48rem){.project-map-layout[data-with-list=true]{grid-template-columns:minmax(0,1fr) 14rem;align-items:stretch}}.project-map-canvas{border:1px solid var(--rule);border-radius:var(--radius-lg);background:var(--surface-sunk);height:16rem;min-height:16rem;position:relative;overflow:hidden}@media (min-width:48rem){.project-map-canvas{height:28rem}}.project-map-gl,.project-map-empty{position:absolute;inset:0}.project-map-empty{padding:var(--space-4);flex-direction:column;justify-content:center;gap:.35rem;display:flex}.project-map-unpinned{flex-direction:column;gap:1.25rem;display:flex}.project-map-unpinned .section-label{margin-block-end:.5rem}.project-map-unpinned-list{max-height:12rem;overflow:auto}@media (min-width:48rem){.project-map-unpinned-list{max-height:28rem}}.project-map-unpinned-list .row-link{padding-block:.55rem;display:block}.project-map-pin{background:var(--sage);border:2px solid var(--surface);width:1.15rem;height:1.15rem;box-shadow:var(--shadow-strip);cursor:pointer;border-radius:999px;display:block;position:relative}.project-map-pin[data-selected=true]{background:var(--ink);border-color:var(--surface)}.project-map-pin-label{z-index:2;box-sizing:border-box;border-radius:var(--radius-sm);background:var(--surface);max-width:14rem;color:var(--ink);font-size:var(--text-2xs);white-space:nowrap;text-overflow:ellipsis;box-shadow:var(--shadow-float);pointer-events:none;padding:.2rem .45rem;font-weight:600;line-height:1.3;position:absolute;bottom:calc(100% + .4rem);left:50%;overflow:hidden;transform:translate(-50%)}@media (hover:hover) and (pointer:fine){.project-map-pin-label{opacity:0}.project-map-pin:hover .project-map-pin-label,.project-map-pin:focus-visible .project-map-pin-label,.project-map-pin[data-selected=true] .project-map-pin-label{opacity:1}}.money-strip{display:grid}.money-figure{font-size:var(--text-xl);letter-spacing:var(--tracking-display);font-variant-numeric:tabular-nums;color:var(--ink);margin-block-start:.2rem;font-weight:600;line-height:1.2}.money-figure-negative{color:var(--danger)}.job-row{color:inherit;grid-template-columns:1fr;gap:.5rem 1.25rem;padding-block:.8rem;text-decoration:none;display:grid}@media (min-width:48rem){.job-row{grid-template-columns:minmax(0,2fr) minmax(9rem,1fr) minmax(0,1.3fr);align-items:center}}.job-row+.job-row{border-block-start:1px solid var(--line)}.job-row:hover .job-row-name{text-underline-offset:2px;text-decoration:underline}.job-row-name{font-family:var(--font-serif);font-size:var(--text-base);letter-spacing:var(--tracking-display);transition:color var(--motion);font-weight:600}.job-row-figures{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}@media (min-width:48rem){.job-row-figures{justify-content:flex-end}}.stat-label{font-size:var(--text-xs);letter-spacing:var(--tracking-label);text-transform:none;color:var(--ink-subtle);font-weight:600}.stat-value{font-size:var(--text-xl);line-height:var(--text-xl--line-height);letter-spacing:var(--tracking-display);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1;color:var(--ink);margin-block-start:.25rem;font-weight:600}.stat-meta{font-size:var(--text-xs);color:var(--ink-subtle);margin-block-start:.35rem}.rich-text{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--paper);overflow:hidden}.rich-text:focus-within{border-color:var(--focus);box-shadow:var(--focus-shadow)}.rich-text-invalid{border-color:var(--danger)}.rich-text-toolbar{background:var(--surface-sunk);border-block-end:1px solid var(--line);align-items:center;gap:.15rem;padding:.3rem .35rem;display:flex}.rich-text-button{min-width:1.75rem;height:1.75rem;font-size:var(--text-xs);color:var(--ink-muted);border-radius:var(--radius-sm);justify-content:center;align-items:center;padding-inline:.35rem;display:inline-flex}.rich-text-button:hover{background:var(--surface);color:var(--ink)}.rich-text-separator{background:var(--line-strong);width:1px;height:1rem;margin-inline:.25rem}.rich-text-link{background:var(--surface);border-block-end:1px solid var(--line);gap:.4rem;padding:.4rem .5rem;display:flex}.rich-text-link .input{height:1.9rem;font-size:var(--text-xs)}.rich-text-link-error{font-size:var(--text-xs);color:var(--danger);background:var(--surface);padding:0 .6rem .4rem}.rich-text-area{min-height:7rem;max-height:22rem;font-size:var(--text-sm);line-height:var(--text-base--line-height);color:var(--ink);padding:.6rem .75rem;overflow-y:auto}.rich-text-area:focus{outline:none}.rich-text-area p,.rich-text-body p{margin-block:0 .6rem}.rich-text-area p:last-child,.rich-text-body p:last-child{margin-block-end:0}.rich-text-area ul,.rich-text-body ul,.rich-text-area ol,.rich-text-body ol{margin-block:0 .6rem;padding-inline-start:1.25rem}.rich-text-area ul,.rich-text-body ul{list-style:outside}.rich-text-area ol,.rich-text-body ol{list-style:decimal}.rich-text-area li,.rich-text-body li{margin-block:.15rem}.rich-text-area hr,.rich-text-body hr{border:0;border-block-start:1px solid var(--line);margin-block:.7rem}.rich-text-area a,.rich-text-body a{color:var(--ink);text-underline-offset:2px;text-decoration:underline}.rich-text-body{font-size:inherit;line-height:inherit}.estimate-workspace{grid-template-columns:minmax(0,1fr);align-items:start;gap:1.5rem;display:grid}@media (min-width:64rem){.estimate-workspace{grid-template-columns:minmax(0,1fr) 20rem}.estimate-workspace[data-collapsed=true]{grid-template-columns:minmax(0,1fr) auto}.estimate-workspace-side{max-height:calc(100vh - 3rem);display:flex;position:sticky;top:1.5rem}}.code-picker-shell{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);flex-direction:column;width:100%;min-height:0;display:flex}.code-picker-toggle{font-size:var(--text-sm);color:var(--ink);border-block-end:1px solid var(--line);align-items:center;gap:.5rem;padding:.7rem .9rem;font-weight:600;display:flex}.code-picker-toggle:hover{background:var(--surface-sunk)}.estimate-workspace[data-collapsed=true] .code-picker-toggle{white-space:nowrap;border-block-end:0}.code-picker{flex-direction:column;min-height:0;display:flex}.code-picker-head{border-block-end:1px solid var(--line);padding:.75rem .9rem}.code-picker-list{padding:.35rem .5rem;overflow-y:auto}.code-picker-division{width:100%;font-size:var(--text-xs);color:var(--ink-muted);border-radius:var(--radius);align-items:center;gap:.5rem;padding:.45rem .4rem;font-weight:600;display:flex}.code-picker-division:hover{background:var(--surface-sunk);color:var(--ink)}.estimate-action-bar{z-index:50;background:var(--surface-float);border-block-start:1px solid var(--rule);box-shadow:var(--shadow-float);padding:.75rem 1rem calc(.75rem + env(safe-area-inset-bottom));position:fixed;inset-block-end:0;inset-inline:0}.estimate-action-bar-inner{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:.5rem;width:100%;max-width:none;margin-inline:0;display:flex}.estimate-action-bar-error{font-size:var(--text-sm);color:var(--danger);flex:100%}.page-with-action-bar{padding-block-end:calc(var(--estimate-action-bar-h) + 1.5rem)}.estimate-menu{z-index:60;overscroll-behavior:contain;background:var(--surface-float);border:1px solid var(--rule);border-radius:var(--radius-lg);max-block-size:min(70vh,32rem);inline-size:17rem;box-shadow:var(--shadow-float);padding:.25rem;position:fixed;overflow-y:auto}.estimate-menu form{display:block}.estimate-menu-item{text-align:start;width:100%;font-size:var(--text-sm);color:var(--ink);border-radius:var(--radius);cursor:pointer;flex-direction:column;gap:.1rem;padding:.5rem .6rem;display:flex}.estimate-menu-item:hover,.estimate-menu-item:focus-visible{background:var(--surface-sunk)}.estimate-menu-item[aria-disabled]{color:var(--ink-subtle);cursor:default}.estimate-menu-reason{font-size:var(--text-xs);line-height:var(--text-xs--line-height);color:var(--ink-subtle);display:none}.estimate-menu-item:hover .estimate-menu-reason,.estimate-menu-item:focus-visible .estimate-menu-reason{display:block}.estimate-menu-separator{background:var(--line);block-size:1px;margin-block:.25rem}.estimate-decline{z-index:55;padding-inline:1rem;position:fixed;inset-block-end:calc(var(--estimate-action-bar-h) + .5rem);inset-inline:0}.estimate-decline-inner{background:var(--surface-float);border:1px solid var(--rule);border-radius:var(--radius-lg);max-width:32rem;box-shadow:var(--shadow-float);flex-direction:column;gap:.5rem;margin-inline:auto;padding:.85rem 1rem;display:flex}.proposal-sheet-logo{width:auto;max-height:2.5rem;margin-block-end:.75rem;display:block}.proposal-sheet-kicker{font-size:var(--text-sm);color:var(--ink-muted);font-weight:600}.proposal-sheet-title{font-size:var(--text-xl);margin-block-start:.35rem;font-weight:650}.proposal-sheet-name{font-size:var(--text-lg);margin-block-start:.5rem;font-weight:600}.proposal-sheet-note{white-space:pre-wrap;margin-block-start:1rem}.proposal-sheet-group{border-block-start:1px solid var(--line);margin-block-start:1.25rem;padding-block-start:1rem}.proposal-sheet-group h4{font-size:var(--text-sm);margin-block-end:.6rem;font-weight:650}.proposal-sheet-group ul{flex-direction:column;gap:.75rem;display:flex}.proposal-sheet-row{justify-content:space-between;gap:1rem;display:flex}.proposal-sheet-detail{font-size:var(--text-sm);color:var(--ink-muted);margin-block-start:.15rem}.proposal-sheet-sub{font-size:var(--text-sm);color:var(--ink-muted);margin-block-start:.65rem}.proposal-sheet-totals{border-block-start:1px solid var(--line);flex-direction:column;gap:.4rem;margin-block-start:1.5rem;padding-block-start:1rem;display:flex}.proposal-sheet-totals dt,.proposal-sheet-totals dd{margin:0}.proposal-sheet-bid{font-size:var(--text-lg);font-weight:650}@media print{.proposal-preview-tools,.back-link{display:none}.proposal-sheet{box-shadow:none;border:none}}@media (pointer:coarse){.estimate-action-bar-inner .btn{min-block-size:2.75rem}.estimate-menu-item{justify-content:center;min-block-size:2.75rem}}.code-picker-caret{border:1px solid var(--line-strong);border-radius:var(--radius-sm);width:1.125rem;height:1.125rem;color:var(--ink-muted);flex:none;justify-content:center;align-items:center;font-size:.625rem;line-height:1;display:inline-flex}.code-picker-division[aria-expanded=true] .code-picker-caret{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}@media (pointer:coarse){.code-picker-division{padding-block:.8125rem}}.code-picker-row{font-size:var(--text-xs);line-height:var(--text-xs--line-height);justify-content:space-between;align-items:center;gap:.5rem;padding:.3rem .4rem .3rem 1.65rem;display:flex}.code-picker-row:hover{background:var(--surface-sunk);border-radius:var(--radius)}.code-picker-foot{border-block-start:1px solid var(--line);padding:.6rem .9rem}.progress{grid-template-columns:auto minmax(3.5rem,auto) minmax(3rem,1fr);align-items:center;gap:.5rem;width:100%;display:grid}.progress-label{font-size:var(--text-2xs);line-height:var(--text-2xs--line-height);color:var(--ink-subtle);white-space:nowrap}.progress-percent{font-size:var(--text-xs);line-height:var(--text-xs--line-height);text-align:right;color:var(--ink-muted);font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.progress-track{background:var(--line);border-radius:999px;height:.5rem;position:relative;overflow:hidden}.progress-fill{background:var(--accent);border-radius:999px;height:100%;display:block}.progress-over .progress-fill{background:var(--danger)}.progress-over .progress-percent{color:var(--danger);font-weight:600}.progress-unavailable .progress-track{border:1px dashed var(--ink-subtle);background:0 0}.progress-withheld{grid-template-columns:auto 1fr}.progress-withheld-note{font-size:var(--text-2xs);line-height:var(--text-2xs--line-height);color:var(--ink-muted)}.table-reflow td:has(.progress){flex-wrap:wrap}.table-reflow .progress{flex:1 0 100%;min-width:0}}@layer utilities{.collapse{visibility:collapse}.invisible{visibility:hidden}.visible{visibility:visible}.sr-only{clip-path:inset(50%);white-space:nowrap;border-width:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.static{position:static}.sticky{position:sticky}.container{width:100%}@media (min-width:40rem){.container{max-width:40rem}}@media (min-width:48rem){.container{max-width:48rem}}@media (min-width:64rem){.container{max-width:64rem}}@media (min-width:80rem){.container{max-width:80rem}}@media (min-width:96rem){.container{max-width:96rem}}.mx-auto{margin-inline:auto}.mt-0{margin-top:0}.mt-0\.5{margin-top:calc(var(--spacing) * .5)}.mt-1{margin-top:var(--spacing)}.mt-1\.5{margin-top:calc(var(--spacing) * 1.5)}.mt-2{margin-top:calc(var(--spacing) * 2)}.mt-2\.5{margin-top:calc(var(--spacing) * 2.5)}.mt-3{margin-top:calc(var(--spacing) * 3)}.mt-4{margin-top:calc(var(--spacing) * 4)}.mt-6{margin-top:calc(var(--spacing) * 6)}.mt-8{margin-top:calc(var(--spacing) * 8)}.mt-10{margin-top:calc(var(--spacing) * 10)}.mt-auto{margin-top:auto}.mr-1\.5{margin-right:calc(var(--spacing) * 1.5)}.mb-2{margin-bottom:calc(var(--spacing) * 2)}.mb-3{margin-bottom:calc(var(--spacing) * 3)}.mb-4{margin-bottom:calc(var(--spacing) * 4)}.mb-6{margin-bottom:calc(var(--spacing) * 6)}.mb-8{margin-bottom:calc(var(--spacing) * 8)}.ml-0\.5{margin-left:calc(var(--spacing) * .5)}.ml-2{margin-left:calc(var(--spacing) * 2)}.ml-3{margin-left:calc(var(--spacing) * 3)}.block{display:block}.contents{display:contents}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline{display:inline}.inline-block{display:inline-block}.table{display:table}.size-1\.5{width:calc(var(--spacing) * 1.5);height:calc(var(--spacing) * 1.5)}.h-auto{height:auto}.h-full{height:100%}.max-h-10{max-height:calc(var(--spacing) * 10)}.max-h-16{max-height:calc(var(--spacing) * 16)}.min-h-0{min-height:0}.min-h-full{min-height:100%}.w-6{width:calc(var(--spacing) * 6)}.w-24{width:calc(var(--spacing) * 24)}.w-28{width:calc(var(--spacing) * 28)}.w-36{width:calc(var(--spacing) * 36)}.w-auto{width:auto}.w-full{width:100%}.max-w-\[34rem\]{max-width:34rem}.max-w-full{max-width:100%}.max-w-md{max-width:var(--container-md)}.max-w-sm{max-width:var(--container-sm)}.max-w-xs{max-width:var(--container-xs)}.min-w-0{min-width:0}.min-w-48{min-width:calc(var(--spacing) * 48)}.min-w-52{min-width:calc(var(--spacing) * 52)}.flex-1{flex:1}.flex-shrink,.shrink{flex-shrink:1}.shrink-0{flex-shrink:0}.grow{flex-grow:1}.border-collapse{border-collapse:collapse}.transform{transform:var(--tw-rotate-x,) var(--tw-rotate-y,) var(--tw-rotate-z,) var(--tw-skew-x,) var(--tw-skew-y,)}.touch-none{touch-action:none}.resize{resize:both}.resize-y{resize:vertical}.list-disc{list-style-type:disc}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-col-reverse{flex-direction:column-reverse}.flex-row{flex-direction:row}.flex-wrap{flex-wrap:wrap}.items-baseline{align-items:baseline}.items-center{align-items:center}.items-end{align-items:flex-end}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.justify-end{justify-content:flex-end}.gap-1\.5{gap:calc(var(--spacing) * 1.5)}.gap-2{gap:calc(var(--spacing) * 2)}.gap-3{gap:calc(var(--spacing) * 3)}.gap-4{gap:calc(var(--spacing) * 4)}.gap-6{gap:calc(var(--spacing) * 6)}.gap-8{gap:calc(var(--spacing) * 8)}:where(.space-y-2>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 2) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 2) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-3>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 3) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 3) * calc(1 - var(--tw-space-y-reverse)))}:where(.space-y-4>:not(:last-child)){--tw-space-y-reverse:0;margin-block-start:calc(calc(var(--spacing) * 4) * var(--tw-space-y-reverse));margin-block-end:calc(calc(var(--spacing) * 4) * calc(1 - var(--tw-space-y-reverse)))}.gap-x-3{column-gap:calc(var(--spacing) * 3)}.gap-x-4{column-gap:calc(var(--spacing) * 4)}.gap-x-6{column-gap:calc(var(--spacing) * 6)}.gap-x-8{column-gap:calc(var(--spacing) * 8)}.gap-y-1{row-gap:var(--spacing)}.gap-y-2{row-gap:calc(var(--spacing) * 2)}.gap-y-3{row-gap:calc(var(--spacing) * 3)}.truncate{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.overflow-x-auto{overflow-x:auto}.rounded{border-radius:.25rem}.rounded-full{border-radius:3.40282e38px}.rounded-xl{border-radius:var(--radius-xl)}.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-l{border-left-style:var(--tw-border-style);border-left-width:1px}.border-amber-500\/40{border-color:#f99c0066}@supports (color:color-mix(in lab, red, red)){.border-amber-500\/40{border-color:color-mix(in oklab, var(--color-amber-500) 40%, transparent)}}.border-emerald-600\/30{border-color:#0097674d}@supports (color:color-mix(in lab, red, red)){.border-emerald-600\/30{border-color:color-mix(in oklab, var(--color-emerald-600) 30%, transparent)}}.border-line{border-color:var(--line)}.border-line-strong{border-color:var(--line-strong)}.bg-amber-500\/10{background-color:#f99c001a}@supports (color:color-mix(in lab, red, red)){.bg-amber-500\/10{background-color:color-mix(in oklab, var(--color-amber-500) 10%, transparent)}}.bg-danger{background-color:var(--danger)}.bg-emerald-600{background-color:var(--color-emerald-600)}.bg-emerald-600\/10{background-color:#0097671a}@supports (color:color-mix(in lab, red, red)){.bg-emerald-600\/10{background-color:color-mix(in oklab, var(--color-emerald-600) 10%, transparent)}}.bg-line-strong{background-color:var(--line-strong)}.bg-surface-float{background-color:var(--surface-float)}.bg-surface-sunk{background-color:var(--surface-sunk)}.bg-warning{background-color:var(--warning)}.p-2{padding:calc(var(--spacing) * 2)}.p-3{padding:calc(var(--spacing) * 3)}.p-4{padding:calc(var(--spacing) * 4)}.px-1{padding-inline:var(--spacing)}.px-5{padding-inline:calc(var(--spacing) * 5)}.py-1\.5{padding-block:calc(var(--spacing) * 1.5)}.py-2{padding-block:calc(var(--spacing) * 2)}.py-3{padding-block:calc(var(--spacing) * 3)}.py-4{padding-block:calc(var(--spacing) * 4)}.py-6{padding-block:calc(var(--spacing) * 6)}.py-8{padding-block:calc(var(--spacing) * 8)}.py-10{padding-block:calc(var(--spacing) * 10)}.pt-2\.5{padding-top:calc(var(--spacing) * 2.5)}.pt-4{padding-top:calc(var(--spacing) * 4)}.pt-6{padding-top:calc(var(--spacing) * 6)}.pl-5{padding-left:calc(var(--spacing) * 5)}.text-left{text-align:left}.text-right{text-align:right}.align-middle{vertical-align:middle}.font-mono{font-family:var(--font-geist-mono), ui-monospace, monospace}.text-3xl{font-size:2.125rem;line-height:var(--tw-leading,1.15)}.text-lg{font-size:1.125rem;line-height:var(--tw-leading,1.4)}.text-sm{font-size:.875rem;line-height:var(--tw-leading,1.5)}.text-xl{font-size:1.625rem;line-height:var(--tw-leading,1.25)}.text-xs{font-size:.8125rem;line-height:var(--tw-leading,1.45)}.font-medium{--tw-font-weight:600;font-weight:600}.font-normal{--tw-font-weight:400;font-weight:400}.font-semibold{--tw-font-weight:600;font-weight:600}.whitespace-pre-line{white-space:pre-line}.whitespace-pre-wrap{white-space:pre-wrap}.text-\[var\(--ink-muted\)\]{color:var(--ink-muted)}.text-danger{color:var(--danger)}.text-ink{color:var(--ink)}.text-ink-muted{color:var(--ink-muted)}.text-ink-subtle{color:var(--ink-subtle)}.text-warning{color:var(--warning)}.lowercase{text-transform:lowercase}.uppercase{text-transform:uppercase}.italic{font-style:italic}.not-italic{font-style:normal}.ordinal{--tw-ordinal:ordinal;font-variant-numeric:var(--tw-ordinal,) var(--tw-slashed-zero,) var(--tw-numeric-figure,) var(--tw-numeric-spacing,) var(--tw-numeric-fraction,)}.underline{text-decoration-line:underline}.underline-offset-2{text-underline-offset:2px}.antialiased{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}.opacity-60{opacity:.6}.shadow{--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)}.ring{--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)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.blur{--tw-blur:blur(8px);filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.filter{filter:var(--tw-blur,) var(--tw-brightness,) var(--tw-contrast,) var(--tw-grayscale,) var(--tw-hue-rotate,) var(--tw-invert,) var(--tw-saturate,) var(--tw-sepia,) var(--tw-drop-shadow,)}.backdrop-filter{-webkit-backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,);backdrop-filter:var(--tw-backdrop-blur,) var(--tw-backdrop-brightness,) var(--tw-backdrop-contrast,) var(--tw-backdrop-grayscale,) var(--tw-backdrop-hue-rotate,) var(--tw-backdrop-invert,) var(--tw-backdrop-opacity,) var(--tw-backdrop-saturate,) var(--tw-backdrop-sepia,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,-webkit-backdrop-filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,var(--default-transition-timing-function));transition-duration:var(--tw-duration,var(--default-transition-duration))}.ease-out{--tw-ease:var(--ease-out);transition-timing-function:var(--ease-out)}@media (hover:hover){.hover\:opacity-75:hover{opacity:.75}}@media (min-width:40rem){.sm\:col-span-2{grid-column:span 2/span 2}.sm\:col-span-3{grid-column:span 3/span 3}.sm\:col-span-5{grid-column:span 5/span 5}.sm\:col-span-6{grid-column:span 6/span 6}.sm\:grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.sm\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.sm\:grid-cols-5{grid-template-columns:repeat(5,minmax(0,1fr))}.sm\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}.sm\:flex-row{flex-direction:row}.sm\:px-8{padding-inline:calc(var(--spacing) * 8)}}@media (min-width:48rem){.md\:min-w-\[52rem\]{min-width:52rem}.md\:min-w-\[60rem\]{min-width:60rem}.md\:min-w-\[72rem\]{min-width:72rem}}@media (min-width:64rem){.lg\:hidden{display:none}.lg\:inline-flex{display:inline-flex}.lg\:grid-cols-4{grid-template-columns:repeat(4,minmax(0,1fr))}.lg\:grid-cols-\[minmax\(0\,2fr\)_minmax\(16rem\,1fr\)\]{grid-template-columns:minmax(0,2fr) minmax(16rem,1fr)}}@media (min-width:80rem){.xl\:grid-cols-6{grid-template-columns:repeat(6,minmax(0,1fr))}}}:root{--ground:#efeadb;--surface:#fff;--surface-sunk:#e7e1cf;--sage:#8a9a4b;--sage-tint:#edf0de;--olive:#5a6b2f;--ink:#24211a;--ink-soft:#59554c;--ink-faint:#666258;--rule:#dcd5c0;--rule-strong:#827e71;--danger:#b02525;--warning:#6b5f0d;--success:#4a6b33;--danger-tint:#f7e7e3;--warning-tint:#f5ecd9;--success-tint:#e6edde;--paper:var(--ground);--surface-float:var(--surface);--ink-muted:var(--ink-soft);--ink-subtle:var(--ink-faint);--line:var(--rule);--line-strong:var(--rule-strong);--accent:var(--sage);--accent-tint:var(--sage-tint);--accent-hover:#93a259;--on-accent:var(--ink);--action:#8c5a2b;--action-press:#74491f;--on-action:#fff;--mark:var(--olive);--chart-1:var(--mark);--chart-2:var(--ink);--chart-3:var(--warning);--chart-4:var(--danger);--chart-5:var(--success);--chart-6:var(--ink-soft);--focus:var(--ink);--focus-ring:var(--ink)}@supports (color:color-mix(in lab, red, red)){:root{--focus-ring:color-mix(in oklab, var(--ink) 22%, transparent)}}:root{--focus-shadow:0 0 0 3px var(--focus-ring);--focus-shadow-danger:0 0 0 3px var(--danger)}@supports (color:color-mix(in lab, red, red)){:root{--focus-shadow-danger:0 0 0 3px color-mix(in oklab, var(--danger) 22%, transparent)}}:root{--motion:.12s ease;--motion-lift:.14s ease;--radius-badge:8px;--radius-control:10px;--radius-card:14px;--radius-sm:var(--radius-badge);--radius:var(--radius-control);--radius-lg:var(--radius-card);--shadow-strip:0 1px 2px var(--ink)}@supports (color:color-mix(in lab, red, red)){:root{--shadow-strip:0 1px 2px color-mix(in oklab, var(--ink) 6%, transparent)}}:root{--shadow-card:0 1px 2px var(--ink), 0 8px 20px var(--ink)}@supports (color:color-mix(in lab, red, red)){:root{--shadow-card:0 1px 2px color-mix(in oklab, var(--ink) 5%, transparent), 0 8px 20px color-mix(in oklab, var(--ink) 6%, transparent)}}:root{--shadow-float:0 4px 8px var(--ink), 0 16px 32px var(--ink)}@supports (color:color-mix(in lab, red, red)){:root{--shadow-float:0 4px 8px color-mix(in oklab, var(--ink) 6%, transparent), 0 16px 32px color-mix(in oklab, var(--ink) 10%, transparent)}}:root{--chrome:var(--ink)}@supports (color:color-mix(in lab, red, red)){:root{--chrome:color-mix(in oklab, var(--ink) 10%, var(--ground))}}:root{--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:24px;--space-6:32px;--space-7:48px;--control-h:40px;--control-h-field:48px;--touch-min:44px;--estimate-action-bar-h:4.5rem;--bottom-nav-bar:56px;--bottom-nav-inset:12px;--bottom-nav-h:calc(var(--bottom-nav-bar) + var(--bottom-nav-inset));--clock-nav-h:var(--bottom-nav-h);--gantt-label:18rem;--gantt-bar-fg:#fff}[data-theme=dark]{--ground:#1a1a17;--surface:#24241f;--surface-sunk:#2b2b25;--sage:#8a9a4b;--sage-tint:#292e17;--olive:var(--sage);--ink:#f2efe6;--ink-soft:#a8a296;--ink-faint:#9a968e;--rule:#39382f;--rule-strong:#787872;--danger:#ef7a7a;--warning:#d8c25a;--success:#9cc16e;--danger-tint:#35201b;--warning-tint:#322614;--success-tint:#1f2b18;--surface-float:#2e2e27;--on-accent:var(--ground);--action:#c08552;--action-press:#d0975f;--on-action:var(--ground);--mark:var(--sage);--shadow-strip:0 1px 2px #00000052;--shadow-card:0 1px 2px #00000052, 0 10px 24px #00000047;--shadow-float:0 8px 16px #0000005c, 0 20px 40px #0006;--chrome:var(--surface)}@supports (color:color-mix(in lab, red, red)){[data-theme=dark]{--chrome:color-mix(in oklab, var(--surface) 58%, var(--ground))}}@media (prefers-color-scheme:dark){:root:not([data-theme=light]){--ground:#1a1a17;--surface:#24241f;--surface-sunk:#2b2b25;--sage:#8a9a4b;--sage-tint:#292e17;--olive:var(--sage);--ink:#f2efe6;--ink-soft:#a8a296;--ink-faint:#9a968e;--rule:#39382f;--rule-strong:#787872;--danger:#ef7a7a;--warning:#d8c25a;--success:#9cc16e;--danger-tint:#35201b;--warning-tint:#322614;--success-tint:#1f2b18;--surface-float:#2e2e27;--on-accent:var(--ground);--action:#c08552;--action-press:#d0975f;--on-action:var(--ground);--mark:var(--sage);--shadow-strip:0 1px 2px #00000052;--shadow-card:0 1px 2px #00000052, 0 10px 24px #00000047;--shadow-float:0 8px 16px #0000005c, 0 20px 40px #0006;--chrome:var(--surface)}@supports (color:color-mix(in lab, red, red)){:root:not([data-theme=light]){--chrome:color-mix(in oklab, var(--surface) 58%, var(--ground))}}}.scheme-paper{--ground:#efeadb;--surface:#fff;--surface-sunk:#e7e1cf;--sage:#8a9a4b;--sage-tint:#edf0de;--olive:#5a6b2f;--ink:#24211a;--ink-soft:#59554c;--ink-faint:#666258;--rule:#dcd5c0;--rule-strong:#827e71;--danger:#b02525;--warning:#6b5f0d;--success:#4a6b33;--danger-tint:#f7e7e3;--warning-tint:#f5ecd9;--success-tint:#e6edde;--surface-float:#fff;--on-accent:#24211a;--action:#8c5a2b;--action-press:#74491f;--on-action:#fff;--mark:#5a6b2f;--gantt-bar-fg:#fff;background:var(--ground);color:var(--ink)}[data-mode=field]{--text-2xs:1rem;--text-xs:1rem;--text-sm:1rem;--text-2xs--line-height:1.55;--text-xs--line-height:1.55;--text-sm--line-height:1.55;--ink-faint:var(--ink-soft);--control-h:var(--control-h-field);--shadow-card:var(--shadow-strip)}[data-mode=field] a.btn,[data-mode=field] button,[data-mode=field] select,[data-mode=field] [role=button]{min-height:var(--touch-min)}[data-mode=field] .form-actions{gap:var(--space-2);flex-direction:column-reverse;align-items:stretch}[data-mode=field] .form-actions>.btn,[data-mode=field] .form-actions>form>.btn,[data-mode=field] .form-actions>form{inline-size:100%}[data-mode=field] .log-photo-remove,[data-mode=field] .punch-photo-remove{block-size:2rem;inline-size:2rem;font-size:var(--text-base)}[data-mode=field] .log-photo-remove:after,[data-mode=field] .punch-photo-remove:after{content:"";inline-size:var(--touch-min);block-size:var(--touch-min);position:absolute;inset-block-start:50%;inset-inline-start:50%;transform:translate(-50%,-50%)}@media (max-width:47.99rem){body:has([data-mode=field]) .app-header{position:static}body:has([data-mode=field]) :is(.app-header .wordmark,.app-header .header-search-input,.app-header-inner>.menu-wrap>.avatar-button,.app-nav-phone-trigger,.sidebar-toggle){min-block-size:var(--touch-min)}body:has([data-mode=field]) :is(.app-header .wordmark,.app-header-inner>.menu-wrap>.avatar-button){min-inline-size:var(--touch-min);justify-content:center}body:has([data-mode=field]) .job-context-bar .progress{display:none}}.powered-by{padding-block:var(--space-4);text-align:center;font-size:var(--text-xs);color:var(--ink-soft);margin-block-start:var(--space-6)}.powered-by a{color:inherit;text-decoration:none}.powered-by a:hover{text-decoration:underline}.report-link,.report-locked{gap:var(--space-1);flex-direction:column;text-decoration:none;display:flex}.report-link .row-title{color:var(--action);text-underline-offset:3px;text-decoration:underline;text-decoration-thickness:1px}.report-link .row-title:after{content:" →"}.report-link:hover .row-title{text-decoration-thickness:2px}.report-locked .row-title,.report-locked .row-meta{color:var(--ink-soft)}.report-locked-head{align-items:center;gap:var(--space-2);display:flex}.report-chart{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.report-bar-row{align-items:center;gap:var(--space-3);grid-template-columns:minmax(6rem,12rem) 1fr minmax(5rem,auto);display:grid}.report-bar-label{font-size:var(--text-sm);color:var(--ink);overflow-wrap:anywhere}.report-bar-track{border-radius:var(--radius-badge);background:var(--surface-sunk);block-size:1.25rem;display:block;position:relative;overflow:hidden}.report-bar-pair{gap:var(--space-1);flex-direction:column;display:flex}.report-bar-fill{border-radius:var(--radius-badge);background:var(--mark);display:block;position:absolute;inset-block:0;inset-inline-start:0}.report-bar-fill.is-over{background:var(--danger)}.report-bar-value{font-size:var(--text-sm);color:var(--ink)}.report-measure{align-items:center;gap:var(--space-2);grid-template-columns:minmax(4.5rem,auto) 1fr;display:grid}.report-measure-label{font-size:var(--text-xs);color:var(--ink-soft)}.hh-chart-grid{gap:var(--space-4);margin-block-start:var(--space-4);display:grid}@media (min-width:48rem){.hh-chart-grid.is-split{grid-template-columns:minmax(0,1.35fr) minmax(0,1fr)}}.hh-chart-card{min-inline-size:0}.hh-chart-card.is-legend-side{grid-template-columns:minmax(0,1.15fr) minmax(8.5rem,13rem);align-items:center;column-gap:1.25rem;display:grid}.hh-chart-card.is-legend-side .section-label,.hh-chart-card.is-legend-side .hint{grid-column:1/-1}.hh-chart-card.is-legend-side .hh-chart-legend{flex-direction:column;align-items:stretch;gap:.7rem;margin-block-start:0}.hh-chart-card.is-legend-side .hh-chart-legend-item{justify-content:space-between}.hh-chart-plot{block-size:16rem;inline-size:100%;margin-block-start:var(--space-3)}.hh-chart-placeholder{border-radius:var(--radius-sm);background:var(--surface-sunk);block-size:100%}.hh-chart-legend{gap:var(--space-2) var(--space-4);font-size:var(--text-sm);color:var(--ink);flex-wrap:wrap;margin-block-start:var(--space-3);padding:0;list-style:none;display:flex}.hh-chart-legend-item{align-items:center;gap:var(--space-2);overflow-wrap:anywhere;min-inline-size:0;display:inline-flex}.hh-chart-swatch{border-radius:2px;flex-shrink:0;block-size:.75rem;inline-size:.75rem}.hh-chart-swatch.is-dotted{background:0 0;border:1.5px dashed;border-radius:2px}.hh-chart-tooltip{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-sm);padding:var(--space-2) var(--space-3);font-size:var(--text-sm);color:var(--ink)}.hh-chart-tooltip-label{margin:0 0 var(--space-1);font-weight:600}.hh-chart-tooltip-list{gap:var(--space-1);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.hh-chart-tooltip-list li{justify-content:space-between;gap:var(--space-4);display:flex}.photo-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fill,minmax(9rem,1fr));margin:0;padding:0;list-style:none;display:grid}.photo-cell{gap:var(--space-1);flex-direction:column;display:flex}.photo-cell img{aspect-ratio:4/3;object-fit:cover;border-radius:var(--radius-card);background:var(--surface-sunk);inline-size:100%}.photo-from{font-size:var(--text-xs);color:var(--ink-soft)}.photo-caption{font-size:var(--text-xs);color:var(--ink)}.photo-missing{aspect-ratio:4/3;border-radius:var(--radius-card);background:var(--surface-sunk);color:var(--ink-soft);font-size:var(--text-xs);text-align:center;padding:var(--space-3);place-items:center;display:grid}.photo-grid-design{grid-template-columns:repeat(auto-fill,minmax(12rem,1fr))}.photo-note{gap:var(--space-1);flex-direction:column;display:flex}.photo-note form{gap:var(--space-1);flex-wrap:wrap;display:flex}.photo-note .input{flex:8rem;min-inline-size:0}.receipt-thumb{object-fit:cover;border-radius:var(--radius-sm);background:var(--surface-sunk);flex-shrink:0;block-size:3.5rem;inline-size:3.5rem}.receipt-thumb-empty{display:block}.receipt-review{gap:var(--space-4);display:grid}.receipt-preview img{border-radius:var(--radius-card);background:var(--surface-sunk);inline-size:100%;height:auto}@media (min-width:48rem){.receipt-review{grid-template-columns:minmax(0,22rem) minmax(0,1fr);align-items:start}}.clock-appearance{justify-content:space-between;align-items:center;gap:var(--space-3);padding-block-start:var(--space-3);padding-inline:var(--space-4);display:flex}.clock-home{justify-content:center;align-items:center;gap:var(--space-2);min-inline-size:var(--touch-min);min-block-size:var(--touch-min);padding-inline:var(--space-2);border-radius:var(--radius);color:var(--ink);font-size:var(--text-sm);white-space:nowrap;flex-shrink:0;margin-inline-start:calc(var(--space-2) * -1);font-weight:600;text-decoration:none;display:inline-flex}.clock-home .brand-mark{color:var(--mark);flex-shrink:0}.first-session-step{flex:auto;min-inline-size:0}.first-session-action{white-space:nowrap;flex-shrink:0}.first-session-tick{color:var(--success);font-weight:600}.first-session-tools{align-items:center;gap:.65rem;margin-inline-start:auto;display:flex}.first-session-fold{font-size:var(--text-xs)}.first-session-cta{margin-block-start:1rem}.page-header-actions,.page-title-row{align-items:center;gap:.65rem;display:flex}.page-title-row{margin-block-start:1rem}.help-tip{flex-shrink:0;display:inline-flex;position:relative}.help-tip-button{border:1px solid var(--line);background:var(--surface);block-size:1.5rem;inline-size:1.5rem;color:var(--ink-muted);cursor:pointer;border-radius:999px;padding:0;font-size:.8rem;font-weight:600;line-height:1}.help-tip-button:hover{color:var(--ink);border-color:var(--ink)}.help-tip-panel{z-index:40;background:var(--surface-float);border:1px solid var(--rule);border-radius:var(--radius);inline-size:min(22rem,80vw);padding:.85rem 1rem;position:absolute;inset-block-start:calc(100% + .4rem);inset-inline-start:0}.page-header-actions .help-tip-panel,.first-session-tools .help-tip-panel{inset-inline:auto 0}.help-tip-title{color:var(--ink);font-weight:600}.help-tip-body{font-size:var(--text-sm);line-height:var(--text-sm--line-height);color:var(--ink-muted);margin-block-start:.3rem}.coach-backdrop{z-index:80;background:#0006;justify-content:center;align-items:center;padding:1.25rem;display:flex;position:fixed;inset:0}.coach{background:var(--surface-float);border:1px solid var(--rule);border-radius:var(--radius-lg);max-block-size:min(90vh,40rem);inline-size:min(32rem,100%);padding:1.5rem;overflow:auto}.coach-title{font-family:var(--font-serif);font-size:var(--text-xl);line-height:var(--text-xl--line-height);letter-spacing:var(--tracking-display);color:var(--ink);font-weight:600}.coach-lead{font-size:var(--text-sm);line-height:var(--text-sm--line-height);color:var(--ink-muted);margin-block-start:.45rem}.coach-steps{flex-direction:column;gap:.85rem;margin-block:1.15rem 0;padding-inline-start:1.25rem;display:flex}.coach-step-title{color:var(--ink);font-weight:600;display:block}.coach-step-body{font-size:var(--text-sm);line-height:var(--text-sm--line-height);color:var(--ink-muted);margin-block-start:.15rem;display:block}.coach-steps .is-done .coach-step-title,.coach-steps .is-done .coach-step-body{color:var(--ink-subtle)}.coach-actions{flex-wrap:wrap;align-items:center;gap:.65rem;margin-block-start:1.35rem;display:flex}.coach-welcome{inline-size:min(36rem,100%)}.coach-welcome .welcome-choices{flex-direction:column;align-items:stretch}.coach-welcome .welcome-chip{border-radius:var(--radius);padding:.7rem .9rem;display:flex}.welcome-chip-title,.welcome-chip-body{display:block}.welcome-chip-body{font-size:var(--text-xs);color:var(--ink-muted);margin-block-start:.15rem}.welcome-doors{flex-direction:column;gap:.5rem;margin-block-start:1.15rem;display:flex}.welcome-door{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);cursor:pointer;text-align:start;padding:.75rem .9rem;display:block;position:relative}.welcome-door input{opacity:0;pointer-events:none;position:absolute}.welcome-door.is-on{border-color:var(--ink)}.welcome{margin-block-start:1.5rem}.welcome-progress{font-size:var(--text-xs);color:var(--ink-subtle)}.welcome-dots{gap:.4rem;margin-block:.65rem 1.25rem;padding:0;list-style:none;display:flex}.welcome-dots li{background:var(--line);border-radius:999px;block-size:.5rem;inline-size:.5rem}.welcome-dots li.is-done{background:var(--ink-subtle)}.welcome-dots li.is-current{background:var(--ink)}.welcome-title{font-family:var(--font-serif);font-size:var(--text-xl);line-height:var(--text-xl--line-height);letter-spacing:var(--tracking-display);color:var(--ink);font-weight:600}.welcome-lead,.welcome-body{max-width:42ch;font-size:var(--text-sm);line-height:var(--text-sm--line-height);color:var(--ink-muted);margin-block-start:.45rem}.welcome-fields{flex-direction:column;gap:1rem;margin-block-start:1.15rem;display:flex}.welcome-choices{flex-wrap:wrap;gap:.5rem;margin-block-start:1.15rem;display:flex}.welcome-chip{border:1px solid var(--line);background:var(--surface);cursor:pointer;font-size:var(--text-sm);border-radius:999px;align-items:center;padding:.5rem .85rem;display:inline-flex;position:relative}.welcome-chip input{opacity:0;pointer-events:none;position:absolute}.welcome-chip.is-on{border-color:var(--ink);color:var(--ink)}.welcome-actions{flex-wrap:wrap;gap:.65rem;margin-block-start:1.5rem;display:flex}.start-header{padding-block:var(--space-5) var(--space-2);align-items:center;display:flex}[data-mode=client]{--section-gap:var(--space-6)}[data-mode=client] .page-header{margin-block-end:var(--space-6)}[data-mode=client] .page-title,[data-mode=client] .stat-value{font-size:var(--text-2xl);line-height:var(--text-2xl--line-height)}.portal-page{max-width:42rem}.portal-lang.page{padding-block:var(--space-3) 0}.portal-masthead{border-block-end:1px solid var(--rule)}.portal-masthead-inner.page{align-items:flex-start;gap:var(--space-1);padding-block:var(--space-4);flex-direction:column;display:flex}.portal-masthead-logo{width:auto;max-height:2.5rem}.portal-masthead-job,.portal-byline{font-size:var(--text-sm);color:var(--ink-soft);margin-block-start:0}.portal-nav{z-index:20;border-block-end:1px solid var(--rule);background:var(--paper);position:sticky;top:0}.portal-nav-inner{align-items:center;gap:var(--space-2) var(--space-4);padding-block:var(--space-3);flex-wrap:wrap;display:flex}.portal-nav-link{color:var(--ink);align-items:center;min-block-size:44px;font-weight:600;text-decoration:none;display:inline-flex}.portal-nav-link:hover{text-decoration:underline}.portal-nav-cue{border-radius:var(--radius-badge);background:var(--accent-tint);color:var(--ink);font-size:var(--text-xs);align-items:center;margin-inline-start:.4rem;padding:.1rem .4rem;font-weight:600;line-height:1.3;display:inline-flex}.portal-nav-link[aria-current=page]{color:var(--olive);box-shadow:inset 0 -2px 0 var(--olive)}.portal-nav-button{font:inherit;cursor:pointer;background:0 0;border:0;padding:0}.portal-nav-end{margin-inline-start:auto}.portal-home{padding-block-end:var(--space-7)}.portal-section{scroll-margin-top:5.5rem}.portal-section+.portal-section{margin-block-start:var(--space-6)}.portal-section-head{justify-content:space-between;align-items:baseline;gap:var(--space-2) var(--space-4);flex-wrap:wrap;margin-block-end:var(--space-4);display:flex}.portal-see-all{align-items:center;min-block-size:44px;font-weight:600;display:inline-flex}.portal-kicker{font-size:var(--text-sm);color:var(--ink-soft);margin-block-end:var(--space-2);font-weight:600}.portal-status{border-block-end:1px solid var(--rule);padding-block-end:var(--space-6)}.portal-site{color:var(--ink-soft);margin-block-start:var(--space-3)}.portal-wait{gap:var(--space-4);display:grid}@media (min-width:40rem){.portal-wait{grid-template-columns:1fr 1fr}}.portal-wait-card[data-side=you]{border-inline-start:4px solid var(--action)}.portal-wait-card[data-side=builder]{border-inline-start:4px solid var(--olive)}.portal-wait-empty,.portal-wait-detail{color:var(--ink-soft)}.portal-wait-title{font-weight:600}.portal-wait-list,.portal-plain-list,.portal-job-list,.portal-stack{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.portal-wait-list{gap:var(--space-3);margin-block-start:var(--space-3)}.portal-stack{gap:var(--space-5)}.portal-papers{margin-block-start:var(--space-5)}.portal-note-list{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.portal-note-meta{justify-content:space-between;gap:var(--space-2) var(--space-4);flex-wrap:wrap;margin-block-end:var(--space-2);display:flex}.portal-note-body{white-space:pre-wrap;margin:0}.portal-note-file{gap:var(--space-2);margin-block-start:var(--space-3);display:grid}.portal-note-file-preview{max-width:16rem;display:block}.portal-note-file-preview img{border-radius:var(--radius-sm);width:100%;height:auto;display:block}.portal-note-file-row{justify-content:space-between;align-items:center;gap:var(--space-2) var(--space-3);flex-wrap:wrap;margin:0;display:flex}.portal-note-form{gap:var(--space-3);flex-direction:column;margin-block-start:var(--space-5);display:flex}.job-portal-sep{color:var(--ink-soft);margin-inline:.4rem}.portal-job-card{color:inherit;text-decoration:none;display:block}.portal-job-name{font-weight:600;font-size:var(--text-lg)}.portal-job-meta{color:var(--ink-soft);margin-block-start:var(--space-1)}.portal-row{justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.portal-row-money{font-variant-numeric:tabular-nums;font-weight:600}.invoice-pay{align-items:flex-start;gap:var(--space-1);flex-direction:column;margin-block-start:var(--space-3);display:flex}[data-mode=builder]{--section-gap:var(--space-5)}body{background:var(--paper);color:var(--ink);font-family:var(--font-geist-sans), ui-sans-serif, system-ui, sans-serif;-webkit-font-smoothing:antialiased;font-variant-numeric:tabular-nums;font-feature-settings:"tnum" 1}.prose-note,.empty-state-body,.rich-text-area,.rich-text-body{font-variant-numeric:normal;font-feature-settings:normal}::selection{background:var(--accent-tint);color:var(--ink)}.project-map-canvas>.project-map-gl{width:100%;height:100%;min-height:100%;position:absolute;inset:0}.site-pin-map>.site-pin-map-gl{width:100%;height:100%;min-height:100%;max-height:100%;position:absolute;inset:0}.gantt-scroll{border:1px solid var(--line);border-radius:var(--radius-badge);background:var(--color-surface);max-height:70vh;overflow:auto}.gantt{width:calc(var(--gantt-label) + var(--gantt-day) * var(--gantt-columns));min-width:100%}.gantt-header{z-index:3;background:var(--color-surface);border-bottom:1px solid var(--line);display:flex;position:sticky;top:0}.gantt-header-label{flex:0 0 var(--gantt-label);z-index:1;background:var(--color-surface);border-right:1px solid var(--line);position:sticky;left:0}.gantt-header-track{flex:auto;position:relative}.gantt-header-shading{pointer-events:none;z-index:0;position:absolute;inset:0}.gantt-months,.gantt-days{z-index:1;position:relative}.gantt-months{display:flex}.gantt-month{white-space:nowrap;border-right:1px solid var(--line);flex:none;padding:.25rem .5rem;font-size:.75rem;font-weight:600;overflow:hidden}.gantt-days{display:flex}.gantt-day{flex:0 0 var(--gantt-day);flex-direction:column;align-items:center;padding-block:.125rem;font-size:.6875rem;line-height:1.1;display:flex}.gantt-day.is-closed{color:var(--ink-muted)}.gantt-day-letter{color:var(--ink-muted);font-size:.625rem}.gantt-body{position:relative}.gantt-rules{inset:0;left:var(--gantt-label);pointer-events:none;z-index:0;background-image:repeating-linear-gradient(to right, var(--line) 0 2px, transparent 2px calc(var(--gantt-day) * 7));background-position-x:calc(var(--gantt-day) * var(--gantt-week-offset));position:absolute}.gantt-rules.has-days{background-image:repeating-linear-gradient(to right, var(--line) 0 2px, transparent 2px calc(var(--gantt-day) * 7)), repeating-linear-gradient(to right, var(--line) 0 1px, transparent 1px var(--gantt-day))}@supports (color:color-mix(in lab, red, red)){.gantt-rules.has-days{background-image:repeating-linear-gradient(to right, var(--line) 0 2px, transparent 2px calc(var(--gantt-day) * 7)), repeating-linear-gradient(to right, color-mix(in srgb, var(--line) 55%, transparent) 0 1px, transparent 1px var(--gantt-day))}}.gantt-rules.has-days{background-position-x:calc(var(--gantt-day) * var(--gantt-week-offset)), 0}.gantt-shading{inset:0;left:var(--gantt-label);pointer-events:none;z-index:0;position:absolute}.gantt-shade{background:var(--surface-sunk);position:absolute;top:0;bottom:0}.gantt-row{z-index:1;border-bottom:1px solid var(--line);min-height:2.25rem;display:flex;position:relative}.gantt-row-label{flex:0 0 var(--gantt-label);z-index:2;background:var(--color-surface);border-right:1px solid var(--line);flex-direction:column;justify-content:center;gap:.125rem;padding:.25rem .75rem;display:flex;position:sticky;left:0}.gantt-task-name{font-size:.875rem;font-weight:600}.gantt-task-meta{color:var(--ink-muted);align-items:center;gap:.5rem;font-size:.75rem;display:flex}.gantt-flag{border-radius:var(--radius-badge);border:1px solid;padding:0 .375rem;font-size:.6875rem}.gantt-flag.is-critical{color:var(--color-danger)}.gantt-flag.is-unknown{color:var(--ink-muted)}.gantt-row-track{flex:auto;position:relative}.gantt-bar{border-radius:var(--radius-badge);background:var(--gantt-bar-bg,var(--accent));height:1.375rem;color:var(--gantt-bar-fg);align-items:center;padding-inline:.375rem;display:flex;position:absolute;top:.4375rem;overflow:hidden}.gantt-bar-label{white-space:nowrap;text-overflow:ellipsis;font-size:.75rem;overflow:hidden}.gantt-ghost{border-radius:var(--radius-badge);border:1px dashed var(--color-danger);opacity:.7;background:0 0;height:1.375rem;position:absolute;top:.4375rem}.gantt-bar.is-impossible{outline:1px solid var(--color-danger)}.gantt-bar.is-critical{box-shadow:inset 0 0 0 2px var(--color-danger)}.gantt-bar.is-client{border-radius:999px}.gantt-bar.is-internal{opacity:.75}.gantt-bar.is-slate{--gantt-bar-bg:var(--ink-muted)}.gantt-bar.is-sky{--gantt-bar-bg:#0284c7}.gantt-bar.is-amber{--gantt-bar-bg:#b45309}.gantt-bar.is-violet{--gantt-bar-bg:#6d28d9}.gantt-bar.is-emerald{--gantt-bar-bg:#047857}.gantt-bar.is-rose{--gantt-bar-bg:#be123c}.gantt-bar.is-cyan{--gantt-bar-bg:#0e7490}.gantt-bar.is-orange{--gantt-bar-bg:#c2410c}.gantt-bar.is-indigo{--gantt-bar-bg:#4338ca}.schedule-header{flex-direction:column;gap:.75rem;display:flex}.schedule-subtabs{border-bottom:1px solid var(--line);align-items:center;gap:1.25rem;display:flex}.schedule-help{margin-inline-start:auto;padding-block-end:.35rem}.schedule-subtab{font-size:var(--text-sm);color:var(--ink-muted);border-bottom:2px solid #0000;margin-bottom:-1px;padding:.5rem 0}.schedule-subtab:hover{color:var(--ink)}.schedule-subtab.is-current{color:var(--ink);border-bottom-color:var(--ink);font-weight:600}.schedule-toolbar{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.segmented{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface-sunk);padding:2px;display:inline-flex}.segment{font-size:var(--text-xs);color:var(--ink-muted);border-radius:calc(var(--radius) - 2px);white-space:nowrap;padding:.3rem .7rem;font-weight:600}.segment:hover{color:var(--ink)}.segment[aria-current]{background:var(--surface);color:var(--ink);border:1px solid var(--rule);font-weight:600}.schedule-toolbar .menu{position:relative}.menu-trigger{min-height:2rem;font-size:var(--text-xs);border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);cursor:pointer;align-items:center;gap:.35rem;padding:.35rem .6rem;font-weight:600;list-style:none;display:inline-flex}.menu-trigger::-webkit-details-marker{display:none}.menu[open] .menu-trigger{border-color:var(--ink-subtle)}.menu-list{z-index:20;border:1px solid var(--rule);border-radius:var(--radius-lg);background:var(--surface);min-width:8rem;box-shadow:var(--shadow-float);margin-top:.25rem;padding:.25rem;position:absolute}.menu-list .menu-item{font-size:var(--text-xs);border-radius:calc(var(--radius) - 2px);color:var(--ink-muted);padding:.35rem .5rem;display:block}.menu-list .menu-item:hover{background:var(--surface-sunk);color:var(--ink)}.menu-list .menu-item[aria-current]{color:var(--ink);font-weight:600}.switches{align-items:center;gap:.75rem;margin-inline-start:auto;display:flex}.switch{font-size:var(--text-xs);color:var(--ink-muted);white-space:nowrap;align-items:center;gap:.4rem;display:inline-flex}.switch:hover{color:var(--ink)}.switch.is-on{color:var(--ink);font-weight:600}.switch-track{background:var(--line-strong);width:1.75rem;height:1rem;transition:background var(--motion);border-radius:999px;flex:none;padding:2px}.switch-thumb{background:var(--surface);width:.75rem;height:.75rem;box-shadow:var(--shadow-strip);transition:transform var(--motion);border-radius:999px;display:block}.switch.is-on .switch-track{background:var(--accent)}.switch.is-on .switch-thumb{transform:translate(.75rem)}@media (prefers-reduced-motion:reduce){.btn,.input,.header-search-input,.job-card,.start-tile,a.card,.app-nav-rail-label,.primary-nav-link,.job-nav-link,.sidebar-job,.avatar-button,.back-link,.row-title,.job-row-name,.switch-track,.switch-thumb{transition:none}.start-tile:hover,.start-tile:active,a.card:hover,a.card:active,.job-card:hover,.job-card:active{transform:none}.app-nav-rail-link:hover svg,.app-nav-rail-link:focus-visible svg,.app-nav-brand:hover .app-nav-brand-glyph,.app-nav-brand:focus-visible .app-nav-brand-glyph,.login-mark-turn{animation:none}}.schedule-new{flex:none}.schedule-drift-counter{border:1px solid var(--danger);border-radius:var(--radius);font-size:var(--text-sm);color:var(--ink);align-items:center;gap:.6rem;padding:.55rem .75rem;display:flex}.schedule-drift-count{font-variant-numeric:tabular-nums;color:var(--danger);font-weight:600}.schedule-drift-action{margin-inline-start:auto;font-weight:600}.schedule-filter{border:1px solid var(--line);border-radius:var(--radius)}.schedule-filter>summary{font-size:var(--text-xs);cursor:pointer;align-items:baseline;gap:.5rem;padding:.45rem .75rem;font-weight:600;display:flex}.schedule-filter-count{color:var(--ink-muted);font-variant-numeric:tabular-nums}.schedule-filter-body{flex-direction:column;gap:.6rem;padding:0 .75rem .75rem;display:flex}.schedule-filter-group{flex-wrap:wrap;align-items:center;gap:.4rem;display:flex}.schedule-filter-label{font-size:var(--text-xs);color:var(--ink-muted);min-width:3.5rem}.schedule-chip{font-size:var(--text-xs);border:1px solid var(--line-strong);color:var(--ink-muted);border-radius:999px;padding:.2rem .6rem}.schedule-chip:hover{color:var(--ink);border-color:var(--ink-subtle)}.schedule-chip.is-on{background:var(--ink);border-color:var(--ink);color:var(--surface);font-weight:600}.schedule-filter-clear{font-size:var(--text-xs);align-self:flex-start}.schedule-list .is-date{font-variant-numeric:tabular-nums;white-space:nowrap}.schedule-list .is-numeric{text-align:right;font-variant-numeric:tabular-nums}.schedule-list .is-muted{color:var(--ink-muted)}.schedule-list tr.is-impossible th[scope=row]{border-left:2px solid var(--color-danger)}.schedule-list-title{font-weight:600}.schedule-list-kind{color:var(--ink-muted);font-size:.6875rem;display:block}.schedule-list-since,.schedule-list-float{color:var(--ink-muted);margin-left:.375rem;font-size:.6875rem}.schedule-list-pred{white-space:nowrap;font-size:.75rem;display:block}.phase-dot:before{content:"";background:var(--gantt-bar-bg,var(--ink-muted));border-radius:999px;width:.5rem;height:.5rem;margin-right:.375rem;display:inline-block}.phase-dot.is-slate{--gantt-bar-bg:var(--ink-muted)}.phase-dot.is-sky{--gantt-bar-bg:#0284c7}.phase-dot.is-amber{--gantt-bar-bg:#b45309}.phase-dot.is-violet{--gantt-bar-bg:#6d28d9}.phase-dot.is-emerald{--gantt-bar-bg:#047857}.phase-dot.is-rose{--gantt-bar-bg:#be123c}.phase-dot.is-cyan{--gantt-bar-bg:#0e7490}.phase-dot.is-orange{--gantt-bar-bg:#c2410c}.phase-dot.is-indigo{--gantt-bar-bg:#4338ca}.schedule-list-assigned{flex-direction:column;display:inline-flex}.generate-form{flex-direction:column;gap:1.5rem;max-width:46rem;display:flex}.generate-switch,.generate-toggle{font:inherit;font-size:var(--text-sm);color:var(--ink-muted);text-underline-offset:2px;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.generate-switch:hover,.generate-toggle:hover{color:var(--ink)}.generate-division{border:0;border-top:1px solid var(--line-strong);margin:0;padding:0}.generate-division-head{align-items:baseline;gap:.75rem;width:100%;padding:.75rem 0 .5rem;display:flex}.generate-division-name{font-size:var(--text-sm);letter-spacing:var(--tracking-label);text-transform:none;color:var(--ink);font-weight:600}.generate-division-count{font-size:var(--text-xs);font-variant-numeric:tabular-nums;color:var(--ink-subtle);margin-left:auto}.generate-rows{margin:0;padding:0;list-style:none}.generate-row{border-radius:var(--radius-sm);cursor:pointer;grid-template-columns:auto 4.5rem 1fr auto;align-items:baseline;gap:.75rem;padding:.4rem .5rem;display:grid}label.generate-row:hover{background:var(--surface-sunk)}.generate-row input{align-self:center}.generate-row-code{font-family:var(--font-mono);font-size:var(--text-xs);color:var(--ink-muted);font-variant-numeric:tabular-nums}.generate-row-name{font-size:var(--text-sm);color:var(--ink)}.generate-row-lines{font-size:var(--text-xs);color:var(--ink-subtle);white-space:nowrap}.generate-row.is-done,.generate-row.is-orphan{cursor:default;grid-template-columns:4.5rem 1fr auto}.generate-rows.is-quiet .generate-row-name{color:var(--ink-muted)}.generate-existing summary{font-size:var(--text-sm);color:var(--ink-muted);cursor:pointer;padding:.5rem 0}.generate-orphans{border:1px solid var(--line);border-left:3px solid var(--warning);border-radius:var(--radius);background:var(--surface-sunk);padding:1rem 1.25rem}.generate-orphans-title{font-size:var(--text-sm);color:var(--ink);margin:0 0 .35rem;font-weight:600}.generate-orphans-body{font-size:var(--text-sm);color:var(--ink-muted);max-width:60ch;margin:0 0 .75rem;line-height:1.5}.estimate-picker{flex-direction:column;gap:.5rem;max-width:34rem;margin:1rem 0 0;padding:0;list-style:none;display:flex}.estimate-choice{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:inherit;justify-content:space-between;align-items:baseline;gap:1rem;padding:.75rem 1rem;text-decoration:none;display:flex}.estimate-choice:hover{border-color:var(--line-strong);background:var(--accent-tint)}.estimate-choice-name{font-size:var(--text-sm);color:var(--ink);font-weight:600}.estimate-choice-meta{font-size:var(--text-xs);color:var(--ink-subtle);text-transform:capitalize}.schedule-link-bar{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);font-size:var(--text-sm);align-items:center;gap:.75rem;margin-bottom:.5rem;padding:.6rem .75rem;display:flex}.schedule-link-hint{color:var(--ink-subtle);margin-right:auto}.schedule-link-done{color:var(--ink);margin-right:auto;font-weight:600}.schedule-link-error{color:var(--danger);margin-right:auto;font-weight:600}.schedule-pick-cell{width:2.75rem}.schedule-pick{cursor:pointer;align-items:center;gap:.4rem;display:inline-flex}.schedule-pick-order{font-size:var(--text-2xs);font-variant-numeric:tabular-nums;color:var(--on-accent);background:var(--accent);border-radius:999px;justify-content:center;align-items:center;min-width:1.15rem;height:1.15rem;display:inline-flex}.schedule-unlinked{border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:var(--radius);background:var(--surface-sunk);flex-wrap:wrap;align-items:center;gap:1rem;margin-bottom:.75rem;padding:.9rem 1.1rem;display:flex}.schedule-unlinked-body{font-size:var(--text-sm);color:var(--ink-muted);flex:22rem;margin:0;line-height:1.5}.week-board-title-row{align-items:baseline;gap:.75rem;display:flex}.week-board-nav-wrap{flex-direction:column;gap:.75rem;margin:1rem 0 1.25rem;display:flex}.week-board-nav{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.week-board-focus{flex-wrap:wrap;align-items:end;gap:.75rem;display:flex}.week-board-focus-field{min-width:10rem;font-size:var(--text-xs);color:var(--ink-muted);flex-direction:column;gap:.25rem;display:flex}.week-board-range{font-variant-numeric:tabular-nums;margin:0;font-weight:600}.week-board{flex-direction:column;gap:2px;display:flex;overflow-x:auto}.week-board-head,.week-board-row{grid-template-columns:minmax(7.5rem,12rem) minmax(20rem,1fr);gap:2px;min-width:36rem;display:grid}.week-board-row.is-focus .week-board-job{box-shadow:inset 3px 0 0 var(--accent)}.week-board-corner,.week-board-job{background:var(--surface-sunk);padding:.45rem .65rem}.week-board-job{flex-direction:column;justify-content:center;gap:.15rem;display:flex}.week-board-job-link{color:var(--ink);font-weight:600}.week-board-dayhead,.week-board-cell{background:var(--surface-sunk);min-height:2.75rem}.week-board-lane{grid-template-rows:minmax(2.75rem,auto);grid-template-columns:repeat(7,minmax(0,1fr));gap:2px;display:grid;position:relative}.week-board-dayhead{font-size:var(--text-xs);flex-direction:column;justify-content:center;align-items:center;padding:.35rem .2rem;display:flex}.week-board-dow{color:var(--ink-muted)}.week-board-dom{font-variant-numeric:tabular-nums;font-weight:600}.week-board-dayhead.is-weekend,.week-board-cell.is-weekend{background:var(--surface-sunk)}@supports (color:color-mix(in lab, red, red)){.week-board-dayhead.is-weekend,.week-board-cell.is-weekend{background:color-mix(in oklab, var(--surface-sunk) 80%, var(--ink-subtle))}}.week-board-dayhead[data-today],.week-board-cell[data-today]{outline:1px solid var(--accent);outline-offset:-1px}.week-block{z-index:1;border-radius:var(--radius-sm);background:var(--accent);color:var(--gantt-bar-fg);flex-direction:column;grid-row:1;justify-content:center;min-width:0;margin:.3rem .15rem;padding:.3rem .45rem;display:flex;position:relative}.week-block.is-draggable{cursor:grab;touch-action:none}.week-block.is-draggable:active,.week-block.is-dragging{cursor:grabbing}.week-block.is-draggable:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.week-block.is-draggable:not(.is-point):after{content:"";cursor:ew-resize;background:var(--gantt-bar-fg);width:8px;max-width:33%;position:absolute;top:0;bottom:0;right:0}@supports (color:color-mix(in lab, red, red)){.week-block.is-draggable:not(.is-point):after{background:color-mix(in oklab, var(--gantt-bar-fg) 28%, transparent)}}.week-block.is-draggable:not(.is-point):after{border-radius:0 var(--radius-sm) var(--radius-sm) 0}.week-block.is-pending{opacity:.5;cursor:progress}.week-block-projection{z-index:2;border:1px dashed var(--line-strong);border-radius:var(--radius-sm);pointer-events:none;grid-row:1;margin:.3rem .15rem}.week-block-drag-msg{border-radius:var(--radius-control);font-size:var(--text-sm);background:var(--surface-sunk);border:1px solid var(--line);align-items:center;gap:.5rem;margin-top:.75rem;padding:.5rem .75rem;display:flex}.week-block-drag-msg.is-error{border-color:var(--color-danger)}@media (prefers-reduced-motion:reduce){.week-block-projection{display:none}}.week-block-name{font-size:var(--text-xs);text-overflow:ellipsis;white-space:nowrap;font-weight:600;overflow:hidden}.week-block-days{font-size:var(--text-xs);opacity:.9}.week-block-crew{font-size:var(--text-xs);opacity:.9;text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.week-block.is-dim{opacity:.45}.week-block-edit{margin-top:.25rem}.week-block-edit summary{cursor:pointer;font-size:var(--text-xs);text-decoration:underline}.week-block-form{color:var(--ink);flex-direction:column;gap:.45rem;margin-top:.4rem;display:flex}.week-block-form-grid{grid-template-columns:repeat(auto-fit,minmax(7.5rem,1fr));gap:.4rem;display:grid}.week-block-form-field{font-size:var(--text-xs);flex-direction:column;gap:.15rem;display:flex}.week-block-form-msg{font-size:var(--text-xs);margin:0}.week-block-form-msg.is-error{color:var(--danger)}.week-block-form-msg.is-ok{color:var(--ink)}.week-forecast-trades{border-top:1px dashed var(--line);margin-top:.75rem;padding-top:.5rem}.week-place{border-top:1px solid var(--line);flex-direction:column;gap:.85rem;margin-top:1.5rem;padding-top:1.25rem;display:flex}.week-place-title{font-size:var(--text-md);margin:0;font-weight:600}.week-place-grid{grid-template-columns:repeat(auto-fit,minmax(10rem,1fr));gap:.85rem;display:grid}.week-forecast{border-top:1px solid var(--line);margin-top:1.5rem;padding-top:1.25rem}.week-forecast-title{font-size:var(--text-md);margin:0 0 .35rem;font-weight:600}.week-forecast-list{flex-direction:column;gap:.4rem;margin:.75rem 0 0;padding:0;list-style:none;display:flex}.week-forecast-list li{font-size:var(--text-sm);justify-content:space-between;gap:1rem;display:flex}.week-forecast-amount{font-variant-numeric:tabular-nums;font-weight:600}.week-job-view{flex-direction:column;gap:1rem;display:flex}@media (max-width:40rem){.week-board-head,.week-board-row{grid-template-columns:minmax(5.5rem,7.5rem) minmax(16rem,1fr);min-width:24rem}.week-block{margin:.2rem .1rem;padding:.25rem .35rem}}.gantt-bar.is-draggable{cursor:grab;touch-action:none}.gantt-bar.is-draggable:active{cursor:grabbing}.gantt-bar.is-draggable:not(.is-point):before,.gantt-bar.is-draggable:not(.is-point):after{content:"";cursor:ew-resize;width:8px;max-width:33%;position:absolute;top:0;bottom:0}.gantt-bar.is-draggable:not(.is-point):before{left:0}.gantt-bar.is-draggable:not(.is-point):after{right:0}.gantt-bar.is-pending{opacity:.5;cursor:progress}.gantt-bar-projection{border:1px dashed var(--line-strong);border-radius:var(--radius-badge);pointer-events:none;z-index:2;height:1.375rem;position:absolute;top:.4375rem}.gantt-drag-error,.gantt-drag-note{border-radius:var(--radius-control);background:var(--surface-sunk);border:1px solid var(--line);align-items:center;gap:.5rem;margin-top:.5rem;padding:.5rem .75rem;font-size:.8125rem;display:flex}.gantt-drag-error{border-color:var(--color-danger)}.gantt-dialog-backdrop{z-index:50;background:#00000073;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.gantt-dialog{border-radius:var(--radius-badge);border:1px solid var(--line);background:var(--color-surface);width:min(34rem,100%);max-height:85vh;padding:1.25rem;overflow-y:auto}.gantt-dialog-title{margin-bottom:.5rem;font-size:1rem;font-weight:600}.gantt-dialog-origin{margin-bottom:.75rem;font-size:.875rem}.gantt-dialog-list{max-height:14rem;margin-bottom:.75rem;overflow-y:auto}.gantt-dialog-causes{border:1px solid var(--line);border-radius:var(--radius-control);margin-bottom:.75rem;padding:.75rem}.gantt-dialog-causes legend{padding-inline:.25rem;font-size:.8125rem;font-weight:600}.gantt-cause{grid-template-columns:auto auto 1fr;align-items:baseline;gap:.5rem;padding-block:.25rem;font-size:.875rem;display:grid}.gantt-cause-hint{color:var(--ink-muted);font-size:.75rem}.gantt-dialog-note{margin-top:.5rem;font-size:.8125rem;display:block}.gantt-dialog-note textarea{border:1px solid var(--line-strong);border-radius:var(--radius-badge);background:var(--color-surface);width:100%;color:inherit;font:inherit;margin-top:.25rem;padding:.375rem}.gantt-dialog-actions{justify-content:flex-end;gap:.5rem;display:flex}.contract-pending{border-left:3px solid var(--line-strong);color:var(--ink-muted);padding-left:.625rem;font-size:.8125rem}.contract-pending-amount{color:var(--ink);font-weight:600}.overview-band{grid-template-columns:7fr 5fr;align-items:start;gap:1.75rem;display:grid}.ledger{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius-lg);padding:1.25rem 1.5rem 1.1rem}.ledger-head{justify-content:space-between;align-items:baseline;margin-block-end:.75rem;display:flex}.ledger-rows{grid-template-columns:1rem 1fr auto;align-items:baseline;gap:0 .75rem;margin:0;display:grid}.ledger-op{font-size:var(--text-sm);color:var(--ink-muted);text-align:center}.ledger-rows dt{font-size:var(--text-base);padding-block:.55rem}.ledger-rows dd{font-size:var(--text-base);text-align:end;margin:0;padding-block:.55rem}.ledger-sub{color:var(--ink-muted)}.ledger-rule{background:var(--line);grid-column:1/-1;block-size:1px}.ledger-rule.is-strong{background:var(--line-strong)}.ledger-total-label{align-self:center;font-weight:600;padding-block-start:.8rem!important}.ledger-total{font-size:var(--text-xl);letter-spacing:var(--tracking-display);font-weight:600;padding-block-start:.8rem!important}.pending{border-block-start:1px dashed var(--line-strong);flex-wrap:wrap;align-items:center;gap:1.25rem;margin-block-start:1.1rem;padding-block-start:1rem;display:flex}.pending-body{flex:20rem;min-inline-size:0}.pending-title{font-size:var(--text-base);flex-wrap:wrap;align-items:baseline;gap:.6rem;margin:0;font-weight:600;display:flex}.pending-amount{font-size:var(--text-lg);font-weight:600}.pending-note{font-size:var(--text-xs);color:var(--ink-muted);max-inline-size:52ch;margin:.2rem 0 0}.cash-rows{flex-direction:column;margin:.75rem 0 0;display:flex}.cash-row{border-block-end:1px solid var(--line);justify-content:space-between;align-items:baseline;padding-block:.7rem;display:flex}.cash-row:first-of-type{padding-block-start:0}.cash-row:last-of-type{border-block-end:none}.cash-row dd{margin:0}.cash-row.is-emphasis dt{font-weight:600}.cash-row.is-emphasis dd{font-size:var(--text-lg);font-weight:600}.cash-meter{background:var(--surface-sunk);border:1px solid var(--line);border-radius:var(--radius-badge);block-size:6px;margin-block-start:.9rem;overflow:hidden}.cash-meter i{background:var(--accent);block-size:100%;display:block}.cash-note{font-size:var(--text-xs);color:var(--ink-muted);margin:.6rem 0 0}.overview-section{margin-block-start:3rem}.job-money .hh-chart-grid{margin-block-start:1rem}.job-money-snapshot,.job-money-graphs{animation:.48s ease-out job-money-in}.job-money-snapshot .section-label,.job-money-graphs .section-label,.job-money-card-title{color:var(--ink-soft)}.job-money-card-head{justify-content:space-between;align-items:center;gap:1rem;display:flex}.job-money-card-title{font-size:var(--text-sm);letter-spacing:.02em;margin:0;font-weight:600}.job-money-snapshot .money-figure{color:var(--ink)}.job-money-snapshot .is-paid .money-figure{color:var(--mark)}.job-money-snapshot .money-figure-negative{color:var(--danger)}.job-money-snapshot .cash-meter i{transform-origin:0;animation:.64s ease-out job-money-meter}.job-money-graphs{margin-block-start:1rem}.job-money-views{background:var(--surface-sunk);border-radius:var(--radius-sm);gap:.2rem;width:fit-content;padding:.2rem;display:flex}.job-money-views button{appearance:none;color:var(--ink-soft);font:inherit;font-size:var(--text-sm);border-radius:calc(var(--radius-sm) - 2px);cursor:pointer;background:0 0;border:0;padding:.4rem .85rem;transition:background-color .18s,color .18s,box-shadow .18s}.job-money-views button[aria-selected=true]{background:var(--surface);color:var(--ink);box-shadow:var(--shadow-card)}.job-money-panel{margin-block-start:.75rem;animation:.42s ease-out job-money-in}.job-money-panel .hh-chart-plot{block-size:18rem}@keyframes job-money-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes job-money-meter{0%{transform:scaleX(0)}to{transform:scaleX(1)}}@media (prefers-reduced-motion:reduce){.job-money-snapshot,.job-money-graphs,.job-money-panel,.job-money-snapshot .cash-meter i{animation:none}.job-money-views button{transition:none}}.overview-section-head{border-block-end:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:1rem;padding-block-end:.65rem;display:flex}.overview-section-head h2{font-size:var(--text-base);margin:0;font-weight:600}.overview-section-head a{font-size:var(--text-sm);color:var(--ink-muted);text-decoration:none}.overview-section-head a:hover{color:var(--ink);text-underline-offset:2px;text-decoration:underline}.overview-meta{font-size:var(--text-sm);color:var(--ink-muted);margin:.75rem 0 0}.site-pin{flex-direction:column;gap:1rem;margin-block-start:1rem;display:flex}.site-pin-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.site-pin-grid{gap:1rem;display:grid}@media (min-width:40rem){.site-pin-grid{grid-template-columns:1fr 1fr}.site-pin-radius,.site-pin-save{grid-column:1/-1}}.site-pin-map{border-radius:var(--radius-lg);background:var(--surface-sunk);height:16rem;min-height:16rem;position:relative;overflow:hidden}.todo-list{margin:0;padding:0;list-style:none}.todo-list li{border-block-end:1px solid var(--line);border-inline-start:3px solid #0000;align-items:center;gap:1rem;padding:.85rem 1rem .85rem .85rem;display:flex}.todo-list li.is-live{border-inline-start-color:var(--ink);background:var(--accent-tint)}.todo-count{font-size:var(--text-lg);min-inline-size:1.75rem;font-weight:600}.todo-body{flex:auto;min-inline-size:0}.todo-title{font-size:var(--text-base);color:inherit;text-decoration:none;display:block}.todo-title:hover{text-underline-offset:2px;text-decoration:underline}.todo-sub{font-size:var(--text-xs);color:var(--ink-muted);margin-block-start:.05rem;display:block}.sched-strip{margin:.5rem 0 0;padding:0;list-style:none}.sched-strip li{border-block-end:1px solid var(--line);font-size:var(--text-sm);grid-template-columns:1fr auto auto;align-items:baseline;gap:1rem;padding-block:.5rem;display:grid}.sched-strip-name{text-overflow:ellipsis;white-space:nowrap;min-inline-size:0;overflow:hidden}.sched-strip-dates{color:var(--ink-muted);font-size:var(--text-xs)}.sched-strip-state{font-size:var(--text-2xs);text-transform:none;letter-spacing:var(--tracking-label);color:var(--ink-muted);text-align:end;min-inline-size:5.5rem}.sched-strip-state.is-done{background:var(--accent);color:var(--on-accent);border-radius:var(--radius-sm);text-align:center;min-inline-size:0;padding:.1rem .4rem}.activity-list{margin:.5rem 0 0;padding:0;list-style:none}.activity-list li{border-block-end:1px solid var(--line);font-size:var(--text-sm);grid-template-columns:5rem 1fr auto;align-items:baseline;gap:1rem;padding-block:.7rem;display:grid}.activity-list time{color:var(--ink-muted);font-size:var(--text-xs)}.activity-what{min-inline-size:0}.activity-what p{text-overflow:ellipsis;white-space:nowrap;margin:.1rem 0 0;overflow:hidden}@media (max-width:60rem){.overview-band{grid-template-columns:1fr}.activity-list li{grid-template-columns:4.5rem 1fr}.activity-amount{grid-column:2}.sched-strip li{grid-template-columns:1fr auto}}.selected-job{border:1px solid var(--rule);border-inline-start:3px solid var(--ink);border-radius:var(--radius);background:var(--surface);box-shadow:var(--shadow-strip);margin-block-end:.7rem;padding:.55rem .7rem .6rem}.selected-job-top{justify-content:space-between;align-items:flex-start;gap:.5rem;margin-block-end:.5rem;display:flex}.selected-job-actions{flex-shrink:0;gap:.15rem;display:flex}.selected-job-name{font-size:var(--text-sm);margin:0;font-weight:600;line-height:1.3}.selected-job-meta{font-size:var(--text-xs);color:var(--ink-muted);margin:.15rem 0 0;line-height:1.4}.icon-button{border-radius:var(--radius-sm);block-size:1.65rem;inline-size:1.65rem;color:var(--ink-muted);cursor:pointer;background:0 0;border:1px solid #0000;justify-content:center;align-items:center;padding:0;text-decoration:none;display:inline-flex}.icon-button:hover{color:var(--ink);background:var(--surface-sunk);border-color:var(--line)}.icon-button[aria-disabled=true]{opacity:.4;cursor:not-allowed}.icon-button[aria-disabled=true]:hover{color:var(--ink-muted);background:0 0;border-color:#0000}.status-pill{font-size:var(--text-2xs);text-transform:none;letter-spacing:var(--tracking-label);border-radius:var(--radius-sm);border:1px solid var(--line-strong);color:var(--ink-muted);white-space:nowrap;flex-shrink:0;align-items:center;padding:.1rem .4rem;font-weight:600;display:inline-flex}.status-pill[data-status=active]{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.status-pill[data-status=on_hold]{border-style:dashed}.status-pill[data-status=substantially_complete]{color:var(--ink)}.status-pill[data-status=closed]{background:var(--surface-sunk);border-color:var(--line)}.sidebar-hide{margin-inline-start:auto}.sidebar-head{align-items:center;gap:.4rem;margin-block-end:.45rem;display:flex}.sidebar-title{font-size:var(--text-xs);letter-spacing:var(--tracking-label);color:var(--ink);margin:0;font-weight:600}.sidebar-controls{grid-template-columns:1fr 1fr;gap:.35rem;margin-block:.45rem .6rem;display:grid}.sidebar-control{min-inline-size:0}.sidebar-select{inline-size:100%;font:inherit;font-size:var(--text-xs);border:1px solid var(--rule-strong);border-radius:var(--radius-control);background:var(--surface);color:var(--ink);padding:.3rem .4rem}.sidebar-select:focus-visible{outline:2px solid var(--focus);outline-offset:1px}.sidebar-job-row{justify-content:space-between;align-items:center;gap:.4rem;display:flex}.job-detail{border-block-start:1px solid var(--line);margin:.7rem 0 0;padding-block-start:.6rem}.job-detail-row{font-size:var(--text-xs);grid-template-columns:6.5rem 1fr;align-items:baseline;gap:.5rem;padding-block:.28rem;display:grid}.job-detail-row dt{color:var(--ink-muted)}.job-detail-row dd{overflow-wrap:anywhere;margin:0}.job-detail-absent{color:var(--ink-subtle);font-style:italic}.sidebar-failed{border:1px solid var(--line-strong);border-inline-start:3px solid var(--danger);border-radius:var(--radius-sm);background:var(--surface-sunk);font-size:var(--text-xs);color:var(--ink);margin:0;padding:.6rem .7rem;line-height:1.5}.sidebar-retry{font:inherit;font-size:inherit;color:var(--ink);text-underline-offset:2px;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.sov-row-error{border-inline-start:3px solid var(--danger);border-radius:var(--radius-sm);background:var(--danger-tint);color:var(--ink);font-size:var(--text-xs);flex-basis:100%;margin:.5rem 0 0;padding:.45rem .6rem;line-height:1.5}.job-shell .page-wide{max-width:none}.sidebar-last{font-size:var(--text-2xs);text-transform:none;letter-spacing:var(--tracking-label);color:var(--ink-subtle);white-space:nowrap;flex-shrink:0}.alert-row{grid-template-columns:auto minmax(0,1fr);align-items:start;gap:.75rem;padding-block:.7rem;display:grid}.alert-icon{border-radius:var(--radius-sm);background:var(--surface-sunk);block-size:1.75rem;inline-size:1.75rem;color:var(--ink-muted);flex-shrink:0;justify-content:center;align-items:center;display:inline-flex}.alert-icon svg{block-size:1rem;inline-size:1rem}.alert-row[data-tone=danger] .alert-icon{background:var(--danger-tint);color:var(--danger)}.alert-row[data-tone=warn] .alert-icon{background:var(--warning-tint);color:var(--warning)}.alert-type{font-size:var(--text-2xs);letter-spacing:var(--tracking-label);text-transform:uppercase;color:var(--ink-subtle);font-weight:600}.alert-row[data-tone=danger] .alert-type{color:var(--danger)}.money-withheld{max-width:46ch;font-size:var(--text-sm);color:var(--ink-muted);margin-block-start:.75rem;line-height:1.55}.money-strip{grid-template-columns:repeat(auto-fit,minmax(6.5rem,1fr));gap:.9rem 1.5rem}.money-strip .stat-label{font-size:var(--text-2xs);text-transform:none;letter-spacing:0;color:var(--ink-muted);font-weight:600}.money-strip .money-figure{font-size:var(--text-lg);letter-spacing:-.01em;margin-block-start:.1rem;font-weight:600}.money-suffix{font-size:var(--text-xs);color:var(--ink-muted);letter-spacing:0;white-space:nowrap;margin-inline-start:.45rem;font-weight:400}.money-strip .money-figure-negative .money-suffix{color:var(--danger)}.wx-strip{grid-template-columns:repeat(auto-fit,minmax(4.5rem,1fr));gap:.4rem;margin:.6rem 0 0;padding:0;list-style:none;display:grid}.wx-day{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);font-size:var(--text-xs);text-align:center;flex-direction:column;gap:.1rem;padding:.5rem .4rem;display:flex}.wx-day.is-wet{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.wx-name{font-size:var(--text-2xs);text-transform:none;letter-spacing:var(--tracking-label);color:var(--ink-muted)}.wx-day.is-wet .wx-name,.wx-day.is-wet .wx-low,.wx-day.is-wet .wx-prob{color:var(--on-accent);opacity:.75}.wx-temp{font-weight:600}.wx-low{color:var(--ink-muted);margin-inline-start:.3rem;font-weight:400}.wx-rain{font-size:var(--text-2xs)}.wx-prob{font-size:var(--text-2xs);color:var(--ink-muted)}.log-new{flex-direction:column;align-items:flex-start;gap:.4rem;margin-block-start:1.5rem;display:flex}.log-new.is-open{border:1px solid var(--line);border-radius:var(--radius-lg);background:var(--surface);padding:1.25rem;display:block}.log-form{flex-direction:column;gap:1rem;display:flex}.log-form-strip{grid-template-columns:repeat(auto-fit,minmax(7rem,1fr));gap:.75rem;display:grid}.log-form-pair{grid-template-columns:1fr;gap:1rem;display:grid}@media (min-width:42rem){.log-form-pair{grid-template-columns:1fr 1fr}}.log-list{margin:0;padding:0;list-style:none}.log-row{border-block-end:1px solid var(--line)}.log-row-line{align-items:center;gap:.5rem;display:flex}.log-row-head{text-align:start;cursor:pointer;inline-size:100%;font:inherit;color:inherit;background:0 0;border:0;flex:auto;grid-template-columns:7rem minmax(0,1fr) auto;align-items:baseline;gap:1rem;min-inline-size:0;padding:.85rem 0;display:grid}.log-camera-form{flex-shrink:0}.log-camera{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);block-size:2.25rem;inline-size:2.25rem;color:var(--ink-muted);cursor:pointer;justify-content:center;align-items:center;display:inline-flex;position:relative}.log-camera svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linejoin:round;block-size:1.15rem;inline-size:1.15rem}.log-camera input[type=file]{opacity:0;cursor:pointer;block-size:100%;inline-size:100%;position:absolute;inset:0}.log-camera:hover{color:var(--ink)}.log-camera:focus-within{outline:2px solid var(--focus);outline-offset:1px}.log-camera.is-busy{opacity:.55;cursor:default}.log-camera.is-busy input[type=file]{cursor:default}.log-row-head:hover .log-date{text-underline-offset:2px;text-decoration:underline}.log-date{white-space:nowrap;font-weight:600}.log-summary{text-overflow:ellipsis;white-space:nowrap;min-inline-size:0;color:var(--ink-muted);font-size:var(--text-sm);overflow:hidden}.log-flags{flex-shrink:0;align-items:center;gap:.4rem;display:flex}.log-flag{font-size:var(--text-2xs);text-transform:none;letter-spacing:var(--tracking-label);border:1px solid var(--line-strong);border-radius:var(--radius-sm);color:var(--ink-muted);white-space:nowrap;padding:.1rem .4rem}.log-flag.is-safety{border-color:var(--danger);color:var(--danger)}.log-crew{font-size:var(--text-xs);color:var(--ink-subtle);text-align:end;min-inline-size:1.5rem}.log-detail{flex-direction:column;gap:.9rem;padding:.25rem 0 1.1rem 7rem;display:flex}@media (max-width:42rem){.log-detail{padding-inline-start:0}.log-row-head{grid-template-columns:1fr auto}.log-summary{grid-column:1/-1}}.log-detail-block{flex-direction:column;gap:.2rem;display:flex}.log-prose{font-size:var(--text-sm);white-space:pre-wrap;overflow-wrap:anywhere;margin:0;line-height:1.6}.log-meta{font-size:var(--text-xs);color:var(--ink-subtle);margin:0}.log-edited{font-size:var(--text-xs);color:var(--ink-muted);margin:0;font-style:italic}.log-photo-count{font-size:var(--text-2xs);color:var(--ink-muted);border:1px solid var(--line);border-radius:999px;padding:0 .35rem}.log-photos{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.log-photos li{flex-direction:column;gap:.25rem;inline-size:8rem;display:flex;position:relative}.log-photos img{object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--line);block-size:8rem;inline-size:8rem;display:block}.log-photo-missing{border:1px dashed var(--line-strong);border-radius:var(--radius-sm);block-size:8rem;inline-size:8rem;font-size:var(--text-2xs);color:var(--ink-muted);text-align:center;justify-content:center;align-items:center;padding:.4rem;display:flex}.log-photo-when{font-size:var(--text-2xs);color:var(--ink-subtle);line-height:1.3}.log-photo-when.is-later{color:var(--ink-muted);font-style:italic}.log-photo-remove{background:var(--ink);block-size:1.2rem;inline-size:1.2rem;color:var(--paper);cursor:pointer;line-height:1;font-size:var(--text-xs);border:0;border-radius:999px;position:absolute;inset-block-start:.3rem;inset-inline-end:.3rem}.log-photo-add{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.log-photo-label{font-size:var(--text-xs);align-items:center;gap:.4rem;display:inline-flex}.log-photo-label input[type=file]{font-size:var(--text-2xs);max-inline-size:14rem}.log-actions{flex-wrap:wrap;align-items:flex-start;gap:.5rem;display:flex}.log-error{font-size:var(--text-xs);color:var(--danger);flex-basis:100%;margin:.4rem 0 0}.punch-add{margin-block:1.5rem 1rem}.punch-callout{border:1px solid var(--line);border-inline-start:3px solid var(--ink);border-radius:var(--radius);background:var(--accent-tint);margin-block-end:1rem;padding:.75rem .9rem}.punch-callout-title{font-size:var(--text-sm);margin:0;font-weight:600}.punch-callout-body{font-size:var(--text-xs);color:var(--ink-muted);margin:.15rem 0 .5rem}.punch-callout ul{margin:0;padding:0;list-style:none}.punch-callout li{font-size:var(--text-xs);padding-block:.15rem}.punch-callout-where{min-inline-size:7rem;color:var(--ink-muted);display:inline-block}.punch-waiting{color:var(--ink-muted)}.punch-group{margin-block-start:1.75rem}.punch-group-head{border-block-end:1px solid var(--line);justify-content:space-between;align-items:baseline;gap:1rem;padding-block-end:.4rem;display:flex}.punch-group-head h3{font-size:var(--text-base);margin:0;font-weight:600}.punch-count{font-size:var(--text-2xs);text-transform:none;letter-spacing:var(--tracking-label);color:var(--ink-muted)}.punch-items{margin:0;padding:0;list-style:none}.punch-item{border-block-end:1px solid var(--line);padding-block:.5rem}.punch-item.is-closed{opacity:.55}.punch-item.is-closed .punch-title-text{text-decoration:line-through}.punch-item-head{align-items:center;gap:.6rem;display:flex}.punch-item-title{min-inline-size:0;font:inherit;color:inherit;text-align:start;cursor:pointer;background:0 0;border:0;flex:auto;align-items:baseline;gap:.5rem;padding:0;display:flex}.punch-item-title:hover .punch-title-text{text-underline-offset:2px;text-decoration:underline}.punch-title-text{text-overflow:ellipsis;white-space:nowrap;min-inline-size:0;overflow:hidden}.punch-kind{font-size:var(--text-2xs);text-transform:none;letter-spacing:var(--tracking-label);border:1px solid var(--line-strong);border-radius:var(--radius-sm);color:var(--ink-muted);white-space:nowrap;flex-shrink:0;padding:.05rem .35rem}.punch-kind.is-verify{background:var(--accent);border-color:var(--accent);color:var(--on-accent)}.punch-trade{font-size:var(--text-2xs);color:var(--ink-subtle);white-space:nowrap}.punch-photo-count{font-size:var(--text-2xs);color:var(--ink-muted);border:1px solid var(--line);border-radius:999px;padding:0 .35rem}.punch-status{font:inherit;font-size:var(--text-xs);border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);color:var(--ink);flex-shrink:0;padding:.2rem .35rem}.punch-status-form,.punch-camera-form{flex-shrink:0}.punch-camera{border:1px solid var(--line);border-radius:var(--radius-sm);background:var(--surface);block-size:2.25rem;inline-size:2.25rem;color:var(--ink-muted);cursor:pointer;justify-content:center;align-items:center;display:inline-flex;position:relative}.punch-camera svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linejoin:round;block-size:1.15rem;inline-size:1.15rem}.punch-camera input[type=file]{opacity:0;cursor:pointer;block-size:100%;inline-size:100%;position:absolute;inset:0}.punch-camera:hover{color:var(--ink)}.punch-camera:focus-within{outline:2px solid var(--focus);outline-offset:1px}.punch-camera.is-busy{opacity:.55;cursor:default}.punch-camera.is-busy input[type=file]{cursor:default}.punch-waiting-line{font-size:var(--text-xs);color:var(--ink-muted);margin:.2rem 0 0}.punch-error{font-size:var(--text-xs);color:var(--danger);margin:.3rem 0 0}.punch-detail{flex-direction:column;gap:.7rem;padding:.6rem 0 .4rem;display:flex}.punch-prose{font-size:var(--text-sm);white-space:pre-wrap;margin:0}.punch-photos{flex-wrap:wrap;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.punch-photos li{position:relative}.punch-photos img{object-fit:cover;border-radius:var(--radius-sm);border:1px solid var(--line);block-size:8rem;inline-size:8rem;display:block}.punch-photo-missing{border:1px dashed var(--line-strong);border-radius:var(--radius-sm);block-size:8rem;inline-size:8rem;font-size:var(--text-2xs);color:var(--ink-muted);text-align:center;justify-content:center;align-items:center;padding:.4rem;display:flex}.punch-photo-tag{font-size:var(--text-xs);text-transform:none;letter-spacing:var(--tracking-label);background:var(--accent);color:var(--on-accent);border-radius:var(--radius-sm);padding:.05rem .3rem;position:absolute;inset-block-start:.3rem;inset-inline-start:.3rem}.punch-photo-remove{background:var(--ink);block-size:1.2rem;inline-size:1.2rem;color:var(--paper);cursor:pointer;line-height:1;font-size:var(--text-xs);border:0;border-radius:999px;position:absolute;inset-block-start:.3rem;inset-inline-end:.3rem}.punch-photo-add{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.punch-photo-label{font-size:var(--text-xs);align-items:center;gap:.4rem;display:inline-flex}.punch-photo-label input[type=file]{font-size:var(--text-2xs);max-inline-size:14rem}.punch-photo-after{font-size:var(--text-xs);color:var(--ink-muted);align-items:center;gap:.3rem;display:inline-flex}.punch-actions{flex-wrap:wrap;gap:.5rem;display:flex}.punch-form{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);flex-direction:column;gap:.75rem;padding:1rem;display:flex}.punch-form-row{grid-template-columns:1fr;gap:.75rem;display:grid}@media (min-width:42rem){.punch-form-row{grid-template-columns:repeat(3,minmax(0,1fr))}.punch-form-wide{grid-column:span 2}}.log-draft-state{font-size:var(--text-xs);color:var(--ink-subtle);align-self:center;margin-inline-start:auto}.log-draft-photos{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.log-draft-photos .log-photos{inline-size:100%}.log-add{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);block-size:2.5rem;inline-size:2.5rem;color:var(--ink);cursor:pointer;justify-content:center;align-items:center;display:inline-flex}.log-add svg{fill:none;stroke:currentColor;stroke-width:1.8px;stroke-linecap:round;block-size:1.25rem;inline-size:1.25rem}.log-add:hover{background:var(--accent-tint);border-color:var(--accent)}.log-add:focus-visible{outline:2px solid var(--focus);outline-offset:2px}.log-form .field{min-inline-size:0}.log-form .input{max-inline-size:100%}@media (max-width:30rem){.log-form-strip{grid-template-columns:1fr 1fr;gap:.6rem .75rem}.log-form-strip>.field-wide{grid-column:1/-1}.log-form .input{min-block-size:3rem;font-size:1rem}.log-form .form-actions{flex-wrap:wrap;gap:.5rem}.log-form .log-draft-state{flex-basis:100%;margin-inline-start:0}}.people{flex-direction:column;gap:2.5rem;margin-block-start:1.5rem;display:flex}.people-section-head{border-block-end:1px solid var(--line-strong);flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;padding-block-end:.6rem;display:flex}.people-section-head h3{font-size:var(--text-base);margin:0;font-weight:600}.people-blurb{font-size:var(--text-xs);color:var(--ink-muted);max-inline-size:60ch;margin:.25rem 0 0;line-height:1.5}.people-empty{font-size:var(--text-sm);color:var(--ink-subtle);margin:.9rem 0 0}.people-list{margin:0;padding:0;list-style:none}.papers-list{gap:var(--space-3);margin:1rem 0 0;padding:0;list-style:none;display:grid}.papers-row-actions{flex-wrap:wrap;align-items:center;gap:.5rem;margin-block-start:.75rem;display:flex}.people-row{border-block-end:1px solid var(--line);padding-block:.9rem}.people-row-head{flex-wrap:wrap;align-items:baseline;gap:.5rem;display:flex}.people-name{font-weight:600}.people-you{font-size:var(--text-2xs);color:var(--ink-subtle);border:1px solid var(--line);border-radius:999px;margin-inline-start:.35rem;padding:0 .35rem}.people-role{font-size:var(--text-2xs);text-transform:none;letter-spacing:.05em;color:var(--ink-subtle)}.people-tag{font-size:var(--text-2xs);border:1px solid var(--line-strong);border-radius:var(--radius-sm);color:var(--ink-muted);padding:0 .35rem}.people-tag.is-off{border-color:var(--danger);color:var(--danger)}.people-perms{flex-wrap:wrap;gap:.3rem .5rem;margin:.5rem 0 0;padding:0;list-style:none;display:flex}.people-perms li{font-size:var(--text-xs);color:var(--ink);background:var(--surface-sunk);border-radius:var(--radius-sm);padding:.1rem .45rem}.people-cannot{font-size:var(--text-xs);color:var(--ink-muted);margin:.45rem 0 0;font-style:italic}.people-note{font-size:var(--text-xs);color:var(--ink-muted);margin:.45rem 0 0}.people-error{font-size:var(--text-xs);color:var(--danger);margin:.45rem 0 0}.people-reach{flex-direction:column;align-items:flex-start;gap:.35rem;margin-block-start:.45rem;display:flex}.people-phone{color:var(--ink);font-size:var(--text-sm);text-underline-offset:.15em;font-weight:500;text-decoration:underline;text-decoration-thickness:1px}.people-phone:hover{text-decoration-thickness:2px}@media (pointer:coarse){a.people-phone{align-items:center;min-block-size:2.75rem;display:inline-flex}}.people-certs{flex-wrap:wrap;gap:.3rem .5rem;margin:0;padding:0;list-style:none;display:flex}.people-certs li{font-size:var(--text-xs);color:var(--ink);background:var(--surface-sunk);border-radius:var(--radius-sm);padding:.1rem .45rem}.people-actions{flex-wrap:wrap;gap:.5rem;margin-block-start:.6rem;display:flex}.people-row.is-pending{background:repeating-linear-gradient(135deg, transparent 0 6px, var(--surface-sunk) 6px 7px);border-radius:var(--radius-sm);border-block-end-style:dashed;margin-block-end:.3rem;padding-inline:.6rem}.people-row.is-pending .people-name{color:var(--ink-muted);font-style:italic;font-weight:400}.people-tag.is-pending{color:var(--ink-subtle);border-style:dashed}.people-row.is-stale .people-tag.is-pending{border-color:var(--warning);color:var(--warning)}.people-row.is-excluded{opacity:.65}.people-row.is-excluded .people-name{text-decoration:line-through}.people-invite{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;gap:1rem;margin-block:1rem;padding:1.1rem;display:flex}.people-radio{font-size:var(--text-sm);align-items:flex-start;gap:.5rem;margin-block-start:.35rem;display:flex}.people-invite-made{background:var(--accent-tint);border:1px solid var(--accent);border-radius:var(--radius);font-size:var(--text-sm);padding:.8rem 1rem}.people-link{font-size:var(--text-xs);word-break:break-all;margin-block-start:.5rem;display:block}@media (max-width:30rem){.people-section-head{flex-direction:column}.people-actions .btn{inline-size:100%}}.clock{min-height:100dvh;padding:1.5rem 1.25rem calc(1.5rem + var(--clock-nav-h) + env(safe-area-inset-bottom));background:var(--paper);flex-direction:column;gap:1rem;max-width:30rem;margin-inline:auto;display:flex}.clock-label{font-size:var(--text-xs);line-height:var(--text-xs--line-height);text-transform:none;letter-spacing:var(--tracking-label);color:var(--ink-subtle);margin:0}.clock-job{font-size:var(--text-3xl);line-height:var(--text-3xl--line-height);letter-spacing:var(--tracking-display);color:var(--ink);margin:0}.clock-heading{font-size:var(--text-xl);line-height:var(--text-xl--line-height);color:var(--ink);margin:0 0 .5rem}.clock-timer{font-family:var(--font-mono);font-variant-numeric:tabular-nums;font-size:var(--text-3xl);line-height:var(--text-3xl--line-height);color:var(--ink);margin:0}.clock-code{font-size:var(--text-base);line-height:var(--text-base--line-height);color:var(--ink-muted);align-items:baseline;gap:.75rem;margin:0;display:flex}.clock-inline{font-size:var(--text-sm);color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.clock-punch{border-radius:var(--radius-lg);background:var(--accent);min-height:8rem;color:var(--on-accent);font-size:var(--text-2xl);line-height:var(--text-2xl--line-height);letter-spacing:var(--tracking-label);cursor:pointer;border:0;margin-top:auto}.clock-punch:disabled{opacity:.45;cursor:not-allowed}.clock-punch-out{background:var(--danger);color:var(--on-accent)}.clock-secondary{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface);min-height:3.5rem;color:var(--ink);font-size:var(--text-lg);line-height:var(--text-lg--line-height);cursor:pointer}.clock-side-actions{grid-template-columns:1fr 1fr;gap:.75rem;margin-top:.75rem;display:grid}.clock-side-actions form{display:contents}.clock-side-actions .banner{grid-column:1/-1}.clock-empty-block{flex-direction:column;gap:.75rem;margin-top:1rem;display:flex}.clock-empty-block .clock-secondary{text-align:center;justify-content:center;align-items:center;text-decoration:none;display:flex}.clock-quiet{min-height:2.75rem;color:var(--ink-muted);font-size:var(--text-sm);cursor:pointer;background:0 0;border:0;text-decoration:underline}.clock-picker{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.clock-picker-item{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);width:100%;min-height:3.5rem;color:var(--ink);font-size:var(--text-base);text-align:left;cursor:pointer;align-items:center;gap:.75rem;padding-inline:1rem;display:flex}.clock-picker-code{font-family:var(--font-mono);color:var(--ink-subtle)}.clock-review{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.clock-review li,.clock-review-total{font-size:var(--text-base);color:var(--ink);justify-content:space-between;gap:1rem;margin:0;display:flex}.clock-review-total{border-top:1px solid var(--line-strong);padding-top:.75rem;font-weight:600}.clock-review-hours{font-family:var(--font-mono);font-variant-numeric:tabular-nums}.clock-blocked{border:1px solid var(--line-strong);border-radius:var(--radius);background:var(--surface-sunk);margin-top:auto;padding:1rem}.clock-blocked-why{font-size:var(--text-base);color:var(--ink);margin:0 0 .5rem}.clock-blocked-who{font-size:var(--text-base);color:var(--ink-muted);margin:0}.clock-error{border-radius:var(--radius-sm);background:var(--danger-tint);color:var(--ink);font-size:var(--text-sm);margin:0;padding:.75rem 1rem}.clock-note{color:var(--ink-muted);font-size:var(--text-sm);margin:0}.clock-queue-section{flex-direction:column;gap:.6rem;display:flex}.clock-queue-section+.clock-queue-section{margin-block-start:1rem}.clock-queue{flex-direction:column;gap:.6rem;margin:0;padding:0;list-style:none;display:flex}.clock-queue-row{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);overflow:hidden}.clock-queue-row.is-quiet{background:0 0;border-style:dashed;justify-content:space-between;align-items:baseline;gap:.75rem;padding:.7rem .85rem;display:flex}.clock-queue-row.is-rejected{border-color:var(--warning)}.clock-queue-row.is-approved{border-color:var(--accent)}.clock-queue-row.is-off{border-style:solid}.clock-queue-summary{text-align:start;inline-size:100%;font:inherit;color:inherit;cursor:pointer;justify-content:space-between;align-items:baseline;gap:.75rem;padding:.8rem .85rem;display:flex}.clock-queue-summary.is-static{cursor:default}.clock-queue-who{flex-direction:column;gap:.15rem;min-inline-size:0;display:flex}.clock-queue-name{font-weight:600}.clock-queue-sub{font-size:var(--text-xs);color:var(--ink-subtle)}.clock-queue-figures{flex-shrink:0;align-items:baseline;gap:.75rem;display:flex}.clock-queue-date{font-size:var(--text-xs);color:var(--ink-subtle)}.clock-queue-flag{font-size:var(--text-xs);color:var(--ink-muted);margin:0;padding:0 .85rem .6rem}.clock-queue-flag.is-approved{color:var(--ink)}.clock-queue-flag.is-late{color:var(--warning)}.clock-queue-reason{color:var(--ink)}.clock-queue-reason.is-missing{color:var(--ink-subtle);font-style:italic}.clock-queue-detail{border-block-start:1px solid var(--line);padding:.85rem}.clock-queue-detail .clock-hint{margin-block-start:.9rem}.clock-queue-detail .clock-error{margin-block-start:.8rem}.clock-segments-wrap{-webkit-overflow-scrolling:touch;overflow-x:auto}.clock-segments{inline-size:100%;font-size:var(--text-sm)}.clock-segments th,.clock-segments td{border-block-end:1px solid var(--line);text-align:start;padding:.35rem .4rem}.clock-segments th{font-size:var(--text-2xs);text-transform:none;letter-spacing:.06em;color:var(--ink-subtle);font-weight:600}.clock-segments .right{text-align:end}.clock-segments tfoot td{border-block-end:0;font-weight:600}.clock-segment-code{color:var(--ink-subtle)}.clock-queue-actions{margin-block-start:.9rem}.clock-queue-warning{font-size:var(--text-sm);color:var(--ink-muted);margin-block:0 .7rem;line-height:1.5}.clock-queue-buttons{flex-wrap:wrap;gap:.5rem;display:flex}.clock-queue-open{margin-block-start:1rem}.clock-queue-subhead{font-size:var(--text-2xs);text-transform:none;letter-spacing:.08em;color:var(--ink-subtle);margin-block:0 .4rem}.estimate-history{flex-direction:column;gap:.6rem;margin:.75rem 0 0;padding:0;list-style:none;display:flex}.estimate-history-row{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);padding:.7rem .85rem}.estimate-history-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.estimate-history-move{font-size:var(--text-sm)}.estimate-history-when,.estimate-history-who{font-size:var(--text-xs);color:var(--ink-subtle)}.estimate-history-who{margin:.15rem 0 0}.estimate-history-reason{font-size:var(--text-sm);color:var(--ink);margin:.4rem 0 0}.estimate-history-snapshot{font-size:var(--text-xs);color:var(--ink-muted);margin:.35rem 0 0}.code-picker-phase{font-size:var(--text-2xs);line-height:var(--text-2xs--line-height);letter-spacing:.09em;text-transform:none;color:var(--ink-subtle);margin:.9rem 0 .25rem;padding-inline:.15rem}.code-picker-list>.code-picker-phase:first-child{margin-block-start:.25rem}.clock-topbar{justify-content:flex-end;align-items:center;gap:.5rem;padding:.5rem 1rem 0;display:flex}.lang-toggle{border:1px solid var(--line);background:var(--surface);border-radius:999px;display:inline-flex;overflow:hidden}.lang-toggle-option{min-height:44px;font-size:var(--text-sm);color:var(--ink-muted);cursor:pointer;background:0 0;border:0;padding:0 1rem;font-weight:600}.lang-toggle-option.is-active{background:var(--ink);color:var(--surface)}.clock-jobbar{background:var(--surface-float);border:0;border-block-end:1px solid var(--line);cursor:pointer;text-align:start;justify-content:space-between;align-items:center;gap:1rem;width:100%;min-height:64px;padding:0 1rem;display:flex}.clock-jobbar:disabled{cursor:default}.clock-jobbar-name{font-size:var(--text-xl);line-height:var(--text-xl--line-height);color:var(--ink);font-weight:600}.clock-jobbar-chevron{font-size:var(--text-2xl);color:var(--ink-subtle)}.clock-tabs{border-block-end:1px solid var(--line);grid-auto-columns:1fr;grid-auto-flow:column;display:grid}.clock-tab{min-height:56px;font-size:var(--text-base);color:var(--ink-muted);cursor:pointer;background:0 0;border:0;border-block-end:3px solid #0000;font-weight:600}.clock-tab.is-active{color:var(--ink);border-block-end-color:var(--ink)}.submit-notices{z-index:60;pointer-events:none;max-width:34rem;flex-direction:column;gap:.5rem;margin-block-end:.75rem;margin-inline:auto;padding-inline:.75rem;display:flex;position:fixed;inset-block-end:calc(var(--clock-nav-h) + env(safe-area-inset-bottom));inset-inline:0}.submit-notice{pointer-events:auto;border-radius:var(--radius);color:var(--ink);align-items:flex-start;gap:.75rem;padding:.85rem 1rem;display:flex}.submit-notice.is-bad{background:var(--danger-tint);border:1px solid var(--danger)}.submit-notice.is-ok{background:var(--accent-tint);border:1px solid var(--accent)}.submit-notice-text{font-size:var(--text-sm);flex:1;margin:0;line-height:1.5}.submit-notice-close{min-height:44px;font:inherit;font-size:var(--text-sm);color:var(--ink);cursor:pointer;background:0 0;border:0;flex-shrink:0;padding-inline:.75rem;font-weight:600;text-decoration:underline}.clock-nav,.bottom-nav{z-index:40;inset-inline:var(--bottom-nav-inset);background:var(--surface-float);border:1px solid var(--line);max-width:30rem;box-shadow:var(--shadow-float);border-radius:999px;grid-auto-columns:1fr;grid-auto-flow:column;margin-inline:auto;padding-inline:.35rem;display:grid;position:fixed;inset-block-end:calc(var(--bottom-nav-inset) + env(safe-area-inset-bottom))}@media (min-width:768px){.clock-nav[data-presence=phone],.bottom-nav[data-presence=phone]{display:none}}.clock-nav-tab,.bottom-nav-tab{min-height:var(--bottom-nav-bar);font-size:var(--text-xs);color:var(--ink-muted);text-align:center;border-radius:999px;flex-direction:column;justify-content:center;align-items:center;gap:.125rem;padding-block:.35rem;padding-inline:.25rem;font-weight:600;text-decoration:none;display:flex}.clock-nav-tab svg,.bottom-nav-tab svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:1.375rem;height:1.375rem}.clock-nav-tab.is-current,.bottom-nav-tab.is-current{color:var(--sage);background:0 0}.clock-nav-tab.is-emphasis svg,.bottom-nav-tab.is-emphasis svg{background:var(--sage);width:2.35rem;height:2.35rem;color:var(--paper);stroke:var(--paper);border-radius:999px;padding:.45rem}.clock-nav-tab.is-emphasis.is-current svg,.bottom-nav-tab.is-emphasis.is-current svg{background:var(--olive)}.jobs-index{flex-direction:column;gap:.5rem;margin:1.25rem 0 0;padding:0;list-style:none;display:flex}.jobs-index-row{min-height:var(--control-h-field);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface-float);box-shadow:var(--shadow-strip);color:inherit;align-items:center;gap:.75rem;padding:.75rem 1rem;text-decoration:none;display:flex}.jobs-index-copy{flex-direction:column;gap:.15rem;min-width:0;display:flex}.jobs-index-name{color:var(--ink);font-weight:600}.jobs-list-tabs{border-bottom:1px solid var(--line);align-items:center;gap:1.25rem;margin-block-start:.75rem;display:flex}.jobs-list-tab{font-size:var(--text-sm);color:var(--ink-muted);border-bottom:2px solid #0000;margin-bottom:-1px;padding:.5rem 0}.jobs-list-tab:hover{color:var(--ink)}.jobs-list-tab.is-current{color:var(--ink);border-bottom-color:var(--ink);font-weight:600}.jobs-all-intro{align-items:flex-start;gap:.75rem;margin-block-start:1rem;display:flex}.jobs-all-kicker{font-size:var(--text-lg);line-height:var(--text-lg--line-height);letter-spacing:.04em;text-transform:uppercase;color:var(--ink-soft);text-align:left;margin-block:2.5rem 2rem;font-weight:600}.home-finance-head{justify-content:space-between;align-items:baseline;gap:.75rem;display:flex}.home-finance-cards{grid-template-columns:repeat(auto-fit,minmax(16rem,1fr));align-items:start;gap:1rem;margin-block-start:.75rem;display:grid}.home-finance-strip,.home-finance-empty,.home-finance-links{margin-block-start:1rem}.jobs-all-cards{gap:1rem;display:grid}@media (min-width:60rem){.jobs-all-cards{grid-template-columns:1.4fr 1fr .9fr;align-items:start}}.jobs-all-card{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface-float);padding:1.15rem 1.2rem 1.25rem}.jobs-all-card .card-head{justify-content:space-between;align-items:baseline;gap:.75rem;margin-block-end:.35rem;display:flex}.jobs-all-card .card-count{font-size:var(--text-2xs);color:var(--ink-subtle);text-align:end}.jobs-all-card .hh-chart-plot{block-size:12rem;margin-block-start:.75rem}.jobs-all-card-link{margin-block-start:.85rem}.jobs-all-cash-toggle{margin-block-start:.75rem}.jobs-all-card .segment{font:inherit;cursor:pointer;background:0 0;border:0}.jobs-all-split{background:var(--surface-sunk);border-radius:999px;gap:2px;height:16px;margin-block-start:.85rem;display:flex;overflow:hidden}.jobs-all-split-overdue,.jobs-all-split-upcoming,.jobs-all-split-nodate{flex-basis:0;min-width:0;transition:flex-grow .4s}.jobs-all-split-overdue{background:var(--warning)}.jobs-all-split-upcoming{background:var(--success)}.jobs-all-split-nodate{background:var(--ink-soft)}.jobs-all-split-legend{flex-wrap:wrap;gap:1rem 1.5rem;margin-block-start:.65rem;display:flex}.jobs-all-split-legend dt{font-size:var(--text-xs);color:var(--ink-soft)}.jobs-all-paid-list{flex-direction:column;gap:.45rem;margin-block-start:.85rem;display:flex}.jobs-all-paid-list li{grid-template-columns:1fr auto auto;align-items:baseline;gap:.75rem;display:grid}.jobs-all-intro .page-subtitle{flex:1;margin:0}.jobs-all-list .jobs-index-row{align-items:center}.jobs-all-amount{font-variant-numeric:tabular-nums;color:var(--ink);margin-inline-start:auto;font-weight:600}.jobs-all-forecast .card-head{margin-block-end:.35rem}.more-list{flex-direction:column;gap:.5rem;margin-block-start:1.25rem;display:flex}.more-list-row{min-height:var(--control-h-field);border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface-float);box-shadow:var(--shadow-strip);color:var(--ink);align-items:center;padding:0 1rem;font-weight:600;text-decoration:none;display:flex}.camera-capture{flex-direction:column;align-items:stretch;gap:1rem;display:flex}.camera-shutter{border:1px dashed var(--line);border-radius:var(--radius-card);background:var(--surface-float);min-height:10rem;box-shadow:var(--shadow-card);color:var(--ink);cursor:pointer;flex-direction:column;justify-content:center;align-items:center;gap:.5rem;padding:1.25rem;font-weight:600;display:flex}.camera-shutter svg{fill:none;stroke:currentColor;stroke-width:1.6px;stroke-linecap:round;stroke-linejoin:round;width:2.5rem;height:2.5rem}.camera-shutter.is-busy{opacity:.55;cursor:wait}.clock-overview{flex-direction:column;align-items:center;gap:1.25rem;padding:1.5rem 1rem 2rem;display:flex}.clock-status{font-size:var(--text-lg);line-height:var(--text-lg--line-height);color:var(--ink-muted);text-align:center;margin:0}.clock-elapsed{text-align:center;flex-direction:column;align-items:center;gap:.15rem;display:flex}.clock-elapsed-figure{font-size:var(--text-3xl);font-variant-numeric:tabular-nums;color:var(--ink);margin:0;font-weight:600;line-height:1.1}.clock-elapsed-note{max-width:26rem;font-size:var(--text-sm);color:var(--ink-muted);margin:0}.clock-overview .clock-punch,.clock-sheet .clock-punch{width:100%;max-width:26rem;min-height:76px;font-size:var(--text-xl);border-radius:var(--radius-card);font-weight:600}.clock-rings{grid-template-columns:1fr 1fr;gap:1rem;width:100%;max-width:26rem;display:grid}.clock-ring{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface-float);flex-direction:column;align-items:center;gap:.25rem;padding:1rem .5rem;display:flex}.clock-dial{width:84px;height:84px}.clock-dial-track{fill:none;stroke:var(--line);stroke-width:8px}.clock-dial-fill{fill:none;stroke:var(--ink);stroke-width:8px;stroke-linecap:round}.clock-dial.is-over .clock-dial-fill{stroke:var(--color-danger)}.clock-ring-label{font-size:var(--text-sm);color:var(--ink-muted);text-transform:none;letter-spacing:.04em;margin:.5rem 0 0;font-weight:600}.clock-ring-figure{font-variant-numeric:tabular-nums;font-size:var(--text-base);color:var(--ink);margin:0}.clock-ring-sub,.clock-ring-note{font-size:var(--text-sm);color:var(--ink-subtle);text-align:center;margin:0}.clock-ring-disclaimer{max-width:26rem;font-size:var(--text-sm);color:var(--ink-subtle);text-align:center;margin:0}.clock-sheet{z-index:50;background:var(--surface);position:fixed;inset:0;overflow-y:auto}.clock-sheet-body{flex-direction:column;gap:1rem;max-width:32rem;margin-inline:auto;padding:1.5rem 1rem 3rem;display:flex}.clock-sheet-title{font-size:var(--text-2xl);line-height:var(--text-2xl--line-height);color:var(--ink);margin:0;font-weight:600}.clock-joblist{flex-direction:column;gap:.5rem;margin:0;padding:0;list-style:none;display:flex}.clock-jobrow{width:100%;min-height:64px;font-size:var(--text-lg);text-align:start;color:var(--ink);background:var(--surface-float);border:1px solid var(--line);border-radius:var(--radius-card);cursor:pointer;padding:0 1rem;font-weight:600}.clock-jobrow.is-active{border-color:var(--ink);border-width:2px}.clock-facts{flex-direction:column;gap:.75rem;margin:0;display:flex}.clock-facts>div{flex-direction:column;gap:.125rem;display:flex}.clock-facts dt{font-size:var(--text-sm);color:var(--ink-subtle);text-transform:none;letter-spacing:.04em;font-weight:600}.clock-facts dd{font-size:var(--text-lg);color:var(--ink);margin:0}.clock-codes{border:0;flex-direction:column;gap:.5rem;max-height:22rem;margin:0;padding:0;display:flex;overflow-y:auto}.clock-codes legend{font-size:var(--text-sm);color:var(--ink-subtle);text-transform:none;letter-spacing:.04em;padding-block-end:.5rem;font-weight:600}.clock-codes .clock-code{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface-float);cursor:pointer;align-items:center;gap:.75rem;min-height:56px;padding:0 1rem;display:flex}.clock-codes .clock-code.is-active{border-color:var(--ink);border-width:2px}.clock-code-text{font-size:var(--text-base);color:var(--ink)}.clock-field{flex-direction:column;gap:.375rem;display:flex}.clock-field-label{font-size:var(--text-sm);color:var(--ink-subtle);text-transform:none;letter-spacing:.04em;font-weight:600}.clock-hint{font-size:var(--text-sm);color:var(--ink-subtle);margin:0}.clock-empty{text-align:center;color:var(--ink-muted);padding:2rem 1rem}.clock-shifts{flex-direction:column;gap:.5rem;margin:0;padding:1rem;list-style:none;display:flex}.clock-shift{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface-float);padding:.875rem 1rem}.clock-shift-head{justify-content:space-between;gap:1rem;display:flex}.clock-shift-day{color:var(--ink);font-weight:600}.clock-shift-job{color:var(--ink-muted)}.clock-shift-meta{font-size:var(--text-sm);color:var(--ink-subtle);justify-content:space-between;gap:1rem;margin-block-start:.25rem;display:flex}.clock-shift-state.is-approved{color:var(--color-success);font-weight:600}.clock-shift-state.is-rejected{color:var(--color-danger);font-weight:600}.off-title{padding:1rem 1rem 0}.off-subhead{font-size:var(--text-sm);color:var(--ink-subtle);text-transform:none;letter-spacing:.04em;margin:0;font-weight:600}.off-form{flex-direction:column;gap:1rem;width:100%;max-width:32rem;margin-inline:auto;padding:1rem;display:flex}.off-kinds{border:0;grid-template-columns:1fr 1fr;gap:.5rem;margin:0;padding:0;display:grid}.off-kinds legend{font-size:var(--text-sm);color:var(--ink-subtle);text-transform:none;letter-spacing:.04em;padding-block-end:.5rem;font-weight:600}.off-kind{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface-float);min-height:56px;font-size:var(--text-base);color:var(--ink);cursor:pointer;align-items:center;gap:.625rem;padding:0 1rem;display:flex}.off-kind:has(input:checked){border-color:var(--ink);border-width:2px}.off-dates{grid-template-columns:1fr 1fr;gap:.75rem;display:grid}@media (max-width:24rem){.off-dates,.off-kinds{grid-template-columns:1fr}}.off-dates input[type=date]{min-height:56px}.off-field-error{font-size:var(--text-xs);color:var(--color-danger);display:block}.off-deadend{border:2px solid var(--color-warning);border-radius:var(--radius-card);background:var(--surface-float);max-width:32rem;margin:1rem;margin-inline:auto;padding:1rem}.off-deadend-head{font-size:var(--text-lg);color:var(--ink);margin:0 0 .5rem;font-weight:600}.off-mine{width:100%;max-width:32rem;margin-inline:auto;padding:0 1rem 2rem}.off-list{flex-direction:column;gap:.75rem;margin:.75rem 0 0;padding:0;list-style:none;display:flex}.off-row{border:1px solid var(--line);border-radius:var(--radius-card);background:var(--surface-float);flex-direction:column;gap:.5rem;padding:1rem;display:flex}.off-row.is-rejected{border-color:var(--color-danger)}.off-row.is-approved{border-color:var(--color-success)}.off-row-head{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.off-row-kind{font-size:var(--text-lg);color:var(--ink);font-weight:600}.off-row-status{font-size:var(--text-sm);color:var(--ink-muted);font-weight:600}.off-row-status.is-approved{color:var(--color-success)}.off-row-status.is-rejected{color:var(--color-danger)}.off-row-when{font-size:var(--text-base);color:var(--ink);margin:0}.off-row-reason{font-size:var(--text-sm);color:var(--ink-muted);margin:0}.off-decide{flex-direction:column;gap:.75rem;display:flex}.off-buttons{gap:.75rem;display:flex}.off-buttons .btn{flex:1;min-height:56px}.roster-card{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);margin-block-end:.75rem;padding:1rem;display:block}.roster-head{justify-content:space-between;align-items:baseline;gap:1rem;display:flex}.roster-name{color:var(--ink);font-weight:600}.roster-you{color:var(--ink-subtle);font-weight:400}.roster-muted{font-size:var(--text-sm);line-height:var(--text-sm--line-height);color:var(--ink-muted)}.roster-grid{grid-template-columns:1fr;gap:1rem;margin-block-start:.75rem;display:grid}@media (min-width:40rem){.roster-grid{grid-template-columns:1fr 1fr}}.roster-check{font-size:var(--text-sm);line-height:var(--text-sm--line-height);color:var(--ink);align-items:center;gap:.5rem;margin-block-start:.75rem;display:flex}.roster-pending{border-block-end:1px solid var(--line);font-size:var(--text-sm);line-height:var(--text-sm--line-height);flex-direction:column;gap:.5rem;padding:.75rem 0;display:flex}.roster-pending-head{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.5rem;display:flex}.roster-pending-actions{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.primary-nav-aside{margin-inline-start:auto;position:relative}.primary-nav-aside:before{content:"";background:var(--line);inline-size:1px;position:absolute;inset-block:.35rem;inset-inline-start:-.5rem}.primary-nav-aside+.primary-nav-aside{margin-inline-start:0}.primary-nav-aside+.primary-nav-aside:before{content:none}.directory-tabs{border-block-end:1px solid var(--line);flex-wrap:wrap;gap:.25rem;margin-block:.75rem 1.25rem;display:flex}.directory-tab{font-size:var(--text-sm);color:var(--ink-muted);border:0;background:0 0;border-block-end:2px solid #0000;padding:.5rem .75rem;text-decoration:none}.directory-tab[aria-current=page]{color:var(--ink);border-block-end-color:var(--accent)}.roster-pay-title{border-block-start:1px solid var(--line);font-size:var(--text-xs);line-height:var(--text-xs--line-height);letter-spacing:.06em;text-transform:none;color:var(--ink-subtle);margin-block-start:1rem;padding-block-start:.75rem}.roster-rate{margin-block-start:.5rem}.roster-rate-now{font-size:var(--text-sm);line-height:var(--text-sm--line-height);color:var(--ink)}.roster-rate-fields{grid-template-columns:1fr;gap:.75rem;margin-block-start:.5rem;display:grid}@media (min-width:40rem){.roster-rate-fields{grid-template-columns:1fr 1fr 2fr}}.row-locked{border-inline-start:2px solid var(--line);background:var(--surface-sunk);border-radius:var(--radius);margin-block-start:.5rem;padding:.5rem .75rem}.row-locked-title{font-size:var(--text-xs);line-height:var(--text-xs--line-height);letter-spacing:.06em;text-transform:none;color:var(--ink-subtle)}.row-locked-body{font-size:var(--text-sm);line-height:var(--text-sm--line-height);color:var(--ink-muted);margin-block-start:.15rem}.takeoff-paths,.takeoff-tools,.takeoff-typical{flex-wrap:wrap;gap:.5rem;display:flex}.takeoff-start{margin-block-start:var(--space-4)}.takeoff-next{justify-content:space-between;align-items:flex-start;gap:var(--space-3);padding:var(--space-3) var(--space-4);background:var(--sage-tint);border-radius:var(--radius-card);box-shadow:var(--shadow-strip);flex-wrap:wrap;display:flex}.takeoff-next-title{font-size:var(--text-sm);color:var(--ink);font-weight:600}.takeoff-board{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface-sunk);touch-action:none;cursor:crosshair;max-height:min(70vh,48rem);position:relative;overflow:auto}.takeoff-board[data-tool=move]{cursor:grab;touch-action:pan-x pan-y}.takeoff-board[data-tool=move]:active{cursor:grabbing}.takeoff-board-stage{display:block;position:relative}.takeoff-board-image{-webkit-user-select:none;user-select:none;width:100%;height:auto;display:block}.takeoff-board-marks{pointer-events:none;width:100%;height:100%;position:absolute;inset:0}.takeoff-board-marks circle{fill:var(--accent)}.takeoff-board-marks polyline{fill:none;stroke:var(--accent);stroke-width:4px;stroke-linejoin:round;stroke-linecap:round}.takeoff-board-marks polyline.takeoff-area{fill:var(--accent)}@supports (color:color-mix(in lab, red, red)){.takeoff-board-marks polyline.takeoff-area{fill:color-mix(in srgb, var(--accent) 18%, transparent)}}.takeoff-board-marks .takeoff-saved circle,.takeoff-board-marks .takeoff-saved polyline{opacity:.55}.buy-list{flex-direction:column;gap:1rem;margin:0;padding:0;list-style:none;display:flex}.buy-filters,.buy-add-toggle,.buy-meta,.buy-item-head{flex-wrap:wrap;align-items:center;gap:.4rem .5rem;display:flex}.buy-filters{margin-block-start:.85rem}.buy-filters+.buy-filters{margin-block-start:.45rem}.buy-item{border-block-start:1px solid var(--line);flex-direction:column;gap:.75rem;padding-block:.75rem;display:flex}.buy-item:first-child{border-block-start:0;padding-block-start:0}.buy-item-current{outline:2px solid var(--action);outline-offset:.4rem;border-radius:var(--radius-sm,8px);scroll-margin-block-start:5rem}.buy-item-main{align-items:flex-start;gap:.75rem;display:flex}.buy-item-name{font-weight:600}.buy-item-actions{flex-wrap:wrap;align-items:end;gap:.5rem;display:flex}.buy-status-select{min-width:8rem}.buy-chip{border-radius:var(--radius-badge,8px);background:var(--surface-sunk);color:var(--ink-soft);font-size:var(--text-xs,.8rem);align-items:center;padding:.15rem .5rem;font-weight:600;line-height:1.4;display:inline-flex}.buy-chip-empty{color:var(--ink-faint);font-weight:400}.buy-chip-late{background:var(--warning-tint,var(--surface-sunk));color:var(--warning)}.buy-chip-soon{background:var(--accent-tint,var(--surface-sunk));color:var(--accent)}.buy-thumb{object-fit:cover;border-radius:var(--radius-sm,8px);background:var(--surface-sunk,var(--surface));flex:none;width:3.5rem;height:3.5rem}.buy-thumb-empty{border:1px dashed var(--line);display:block}.buy-files,.buy-mark-list{flex-direction:column;gap:.4rem;margin:1rem 0 0;padding:0;list-style:none;display:flex}.buy-item-files{margin-block-start:.5rem}.buy-room-files{margin-block-start:1rem}.buy-file,.buy-mark-list li{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.5rem 1rem;display:flex}.buy-add .form-grid,.buy-edit .form-grid{grid-template-columns:repeat(auto-fit,minmax(9rem,1fr))}.buy-span{grid-column:1/-1}.buy-review-link{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.buy-review-link .input{flex:16rem}.select-decide .field{margin-block-start:.75rem}.select-name{margin-block-start:1rem}.select-decided{margin-block-start:2rem}.select-count{margin-block-end:.25rem}.buy-plan{border:1px solid var(--line);border-radius:var(--radius-sm,8px);background:var(--surface-sunk,var(--surface));cursor:crosshair;touch-action:none;width:100%;margin-block-start:1rem;padding:0;display:block;position:relative;overflow:hidden}.buy-plan img{width:100%;height:auto;display:block}.buy-plan-mark{background:var(--ink);width:1.5rem;height:1.5rem;color:var(--surface);pointer-events:auto;cursor:pointer;z-index:2;border:0;border-radius:999px;place-items:center;margin:-.75rem 0 0 -.75rem;padding:0;font-size:.75rem;font-weight:600;text-decoration:none;display:grid;position:absolute}.buy-plan-mark-current{background:var(--action);color:var(--on-action)}.buy-mark-current span,.buy-mark-current .buy-mark-open{font-weight:600}.buy-mark-open{color:inherit;font:inherit;text-align:start;cursor:pointer;background:0 0;border:0;padding:0;text-decoration:underline}.takeoff-buy-mark{z-index:2}@media (max-width:40rem){.buy-item-actions{grid-template-columns:1fr 1fr;align-items:stretch;display:grid}.buy-item-actions form:first-child{grid-column:1/-1}.buy-status-select,.buy-item-actions .btn,.buy-add-toggle .btn,.buy-filters .btn{width:100%}.buy-add-toggle{grid-template-columns:1fr;display:grid}.buy-filters{grid-template-columns:1fr 1fr;display:grid}}.revenue-honesty{border-inline-start:3px solid var(--accent);background:var(--sage-tint,var(--surface-sunk));color:var(--ink);font-size:var(--text-sm,.9rem);margin-block-start:.85rem;padding:.65rem .85rem}.coach-tip-block,.revenue-coach-list{margin:1rem 0 0}.coach-tip-list,.revenue-coach-list{flex-direction:column;gap:.65rem;margin:0;padding:0;list-style:none;display:flex}.coach-tip-block .revenue-coach-list,.coach-tip-block .coach-tip-list{margin:0}.coach-tip,.revenue-coach{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.75rem 1rem;display:flex}.coach-tip-replay{color:var(--ink-muted);font-size:var(--text-sm);line-height:var(--text-sm--line-height);text-underline-offset:.15em;cursor:pointer;background:0 0;border:0;margin-block-start:.55rem;padding:0;text-decoration:underline;display:inline-flex}.coach-tip-replay:hover{color:var(--ink)}.coach-tip-block.is-compact{margin:var(--space-3) 0 0}.clock .coach-tip,.clock .revenue-coach{padding:var(--space-3);gap:var(--space-3)}.revenue-cal-controls{flex-wrap:wrap;gap:.75rem 1.75rem;margin-block-start:1.25rem;display:flex}.revenue-cal-controls .switches{margin-inline-start:0}.job-window-filter{flex-direction:column;gap:.75rem;margin-block-start:1rem;display:flex}.job-window-filter .form-actions{justify-content:flex-start}.job-window-payroll{flex-wrap:wrap;align-items:center;gap:.4rem .5rem;min-width:11rem;display:flex}.job-window-payroll .field-label{flex:1 0 100%;margin:0}.job-window-payroll .input{width:7.5rem}.revenue-cal-grid{gap:.4rem;margin:.85rem 0 0;padding:0;list-style:none;display:grid}.revenue-cal-grid-upcoming{grid-template-columns:repeat(auto-fill,minmax(6.75rem,1fr))}.revenue-cal-grid-week,.revenue-cal-grid-month{grid-template-columns:repeat(7,minmax(0,1fr))}.revenue-cal-day{border:1px solid var(--line);border-radius:var(--radius-sm,8px);background:var(--surface);min-height:4.5rem;color:inherit;box-shadow:var(--shadow-strip,none);flex-direction:column;gap:.2rem;padding:.45rem .5rem;text-decoration:none;display:flex}.revenue-cal-day.is-empty{background:var(--surface-sunk,var(--surface));box-shadow:none}.revenue-cal-day.is-open,.revenue-cal-day:hover{border-color:var(--accent)}.revenue-cal-date{font-size:var(--text-xs,.75rem);color:var(--ink-muted)}.revenue-cal-expected{color:var(--sage);font-variant-numeric:tabular-nums;font-weight:600}.revenue-cal-cash{color:var(--ink);font-variant-numeric:tabular-nums}.revenue-link-stack{flex-direction:column;gap:1rem;margin-block-start:1.25rem;display:flex}.revenue-link-list{flex-direction:column;gap:.65rem;margin:.85rem 0 0;padding:0;list-style:none;display:flex}.revenue-link-list li{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.5rem 1rem;display:flex}.revenue-link-actions{flex-wrap:wrap;gap:.4rem;display:flex}.revenue-suggest-row{align-items:flex-start;gap:.65rem;display:flex}.revenue-suggest-row .row-title,.revenue-suggest-row .row-meta{display:block}.revenue-confirm{font-size:var(--text-sm,.9rem);align-items:flex-start;gap:.5rem;margin-block-start:1rem;display:flex}.page-loading{gap:.85rem;max-width:42rem;margin-block-start:1.25rem;display:grid}.page-loading-block{border-radius:var(--radius-card);background:var(--surface-sunk);min-height:4.5rem}.page-loading-block-title{max-width:14rem;min-height:2rem}.page-loading-block-wide{min-height:11rem}.page-loading-card{background:var(--surface-sunk);min-height:10rem}.home-header-actions{flex-wrap:wrap;justify-content:flex-end;gap:.75rem;margin-block-end:1.25rem;display:flex}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-space-y-reverse{syntax:"*";inherits:false;initial-value:0}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-font-weight{syntax:"*";inherits:false}@property --tw-ordinal{syntax:"*";inherits:false}@property --tw-slashed-zero{syntax:"*";inherits:false}@property --tw-numeric-figure{syntax:"*";inherits:false}@property --tw-numeric-spacing{syntax:"*";inherits:false}@property --tw-numeric-fraction{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}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-backdrop-blur{syntax:"*";inherits:false}@property --tw-backdrop-brightness{syntax:"*";inherits:false}@property --tw-backdrop-contrast{syntax:"*";inherits:false}@property --tw-backdrop-grayscale{syntax:"*";inherits:false}@property --tw-backdrop-hue-rotate{syntax:"*";inherits:false}@property --tw-backdrop-invert{syntax:"*";inherits:false}@property --tw-backdrop-opacity{syntax:"*";inherits:false}@property --tw-backdrop-saturate{syntax:"*";inherits:false}@property --tw-backdrop-sepia{syntax:"*";inherits:false}@property --tw-ease{syntax:"*";inherits:false}
