@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-sans-latin-400-normal-CDDApCn2.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-400-normal-CYLoc0-x.woff)format("woff")}@font-face{font-family:IBM Plex Sans;font-style:normal;font-display:swap;font-weight:600;src:url(/assets/ibm-plex-sans-latin-600-normal-CuJfVYMP.woff2)format("woff2"),url(/assets/ibm-plex-sans-latin-600-normal-Cu4Hd6ag.woff)format("woff")}@font-face{font-family:IBM Plex Mono;font-style:normal;font-display:swap;font-weight:400;src:url(/assets/ibm-plex-mono-latin-400-normal-DMJ8VG8y.woff2)format("woff2"),url(/assets/ibm-plex-mono-latin-400-normal-CvHOgSBP.woff)format("woff")}:root{--font-sans:"IBM Plex Sans", system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--font-mono:"IBM Plex Mono", ui-monospace, SFMono-Regular, Menlo, Consolas, monospace;--text-label:12px;--text-grid:14px;--text-body:16px;--text-title:20px;--line-height:1.4;--grid-row-height:30px;--ink:#1d211e;--ink-muted:#56625a;--surface:#fff;--surface-sunken:#f4f6f3;--line:#dfe3dd;--accent:#2d2926;--accent-soft:#ececea;--accent-hover:#4a4542;--env-ink:#1f5f3a;--env-soft:#e7f0ea;--ok:#1f6b3c;--warn:#8a5a00;--warn-soft:#fbf3e2;--warn-soft-strong:#f3e2bc;--error:#b42318;--error-soft:#fdecea;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-6:24px;--radius:4px;--radius-pill:999px;--shadow-overlay:0 4px 16px #0000001a;--app-bar-height:44px;--header-height:40px;--tabs-height:36px;--toolbar-height:36px;--footer-min-height:48px;--footer-height:48px;--ease-out:cubic-bezier(.23, 1, .32, 1);--ease-drawer:cubic-bezier(.32, .72, 0, 1)}*,:before,:after{box-sizing:border-box}html{--lightningcss-light:initial;--lightningcss-dark: ;color-scheme:light;-webkit-text-size-adjust:100%}body{background:var(--surface-sunken);color:var(--ink);font-family:var(--font-sans);font-size:var(--text-body);line-height:var(--line-height);margin:0}button,input,select,textarea{font:inherit;color:inherit}*{scrollbar-width:thin;scrollbar-color:var(--line) transparent}::-webkit-scrollbar{width:10px;height:10px}::-webkit-scrollbar-thumb{background:var(--line);border-radius:var(--radius-pill);border:2px solid var(--surface)}:focus-visible{outline:2px solid var(--accent);outline-offset:1px}a{color:var(--accent)}.picker__item--active,.drawer__item.drawer__item--active,.menu__item:focus,.table .admin-row--editing td{background:var(--accent-soft)}.picker__item--active,.drawer__item.drawer__item--active,.menu__item:focus,.table .admin-row--editing td:first-child{box-shadow:inset 3px 0 0 var(--accent)}@media (hover:hover) and (pointer:fine){.app-bar__admin-menu .menu__item:hover{background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent)}}.num,.tnum{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.muted{color:var(--ink-muted)}.small{font-size:var(--text-label)}.error-text{color:var(--error);margin:0}.warn-text{color:var(--warn)}.ok-text{color:var(--ok)}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.app{flex-direction:column;min-height:100vh;display:flex}.skip-link{z-index:40;padding:var(--space-2) var(--space-3);border-radius:var(--radius);background:var(--accent);color:var(--surface);font-weight:600;text-decoration:none;position:absolute;top:8px;left:8px;transform:translateY(-200%)}.skip-link:focus{transform:none}main[tabindex="-1"]:focus{outline:none}html{scroll-padding-top:calc(var(--app-bar-height) + 8px)}.app-bar{z-index:30;align-items:center;gap:var(--space-4);height:var(--app-bar-height);padding:0 var(--space-4);background:var(--surface);border-bottom:1px solid var(--line);font-size:var(--text-grid);display:flex;position:sticky;top:0}.app-bar__name{align-items:center;gap:var(--space-2);white-space:nowrap;font-weight:600;font-size:var(--text-body);color:var(--ink);text-decoration:none;display:inline-flex}.app-bar__nav{gap:var(--space-1);align-items:center;display:flex}.app-bar__link{align-items:center;gap:var(--space-1);height:32px;padding:0 var(--space-2);border-radius:var(--radius);color:var(--ink);cursor:pointer;background:0 0;border:0;text-decoration:none;display:inline-flex}@media (hover:hover) and (pointer:fine){.app-bar__link:hover{background:var(--surface-sunken)}}.app-bar__link[aria-current=page],.app-bar__link--section{color:var(--accent);box-shadow:inset 0 -2px 0 var(--accent);border-radius:0;font-weight:600}.app-bar__admin{position:relative}.app-bar__admin-menu{max-width:calc(100vw - 2 * var(--space-2));position:absolute;top:36px;left:0}.app-bar__admin-menu .menu__item{white-space:normal}.app-bar__user{align-items:center;gap:var(--space-2);min-width:0;margin-left:auto;display:flex}.app-bar__identity{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.app-bar__role{color:var(--ink-muted);font-size:var(--text-label)}@media (width<=640px){.app-bar{gap:var(--space-2);padding:0 var(--space-2)}.app-bar__role{display:none}}@media (width<=519px){:root{--app-bar-height:76px}.app-bar{align-content:center;gap:0 var(--space-2);flex-wrap:wrap}.app-bar__name,.app-bar__user,.env-badge{align-items:center;min-height:36px}.app-bar__nav{flex:1 0 100%;order:3;min-width:0}}.env-badge{height:22px;padding:0 var(--space-2);border-radius:var(--radius-pill);background:var(--env-soft);color:var(--env-ink);font-size:var(--text-label);white-space:nowrap;align-items:center;font-weight:600;display:inline-flex}.count-badge{border-radius:var(--radius-pill);background:var(--warn);min-width:18px;height:18px;color:var(--surface);place-items:center;padding:0 5px;font-size:11px;font-weight:600;display:inline-grid}.page{width:100%;max-width:1280px;padding:var(--space-6) var(--space-4);margin:0 auto}.page--wide{max-width:none}.page__head{align-items:center;gap:var(--space-3);margin-bottom:var(--space-3);flex-wrap:wrap;display:flex}.page__head-spacer{flex:1}.page__title{text-wrap:balance;font-size:var(--text-title);margin:0;font-weight:600}.page__lead{margin:0 0 var(--space-4);color:var(--ink-muted)}.breadcrumbs{font-size:var(--text-grid);margin-bottom:var(--space-2);color:var(--ink-muted)}.center-page{place-items:center;min-height:100vh;display:grid}.app .center-page{min-height:calc(100vh - var(--app-bar-height))}.welcome-line{align-items:center;gap:var(--space-3);margin:0 0 var(--space-4);padding:var(--space-2) var(--space-3);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);display:flex}.section-block{margin-top:var(--space-6)}.section-block__title{margin:0 0 var(--space-2);font-size:var(--text-body);font-weight:600}.auth-page{min-height:100vh;padding:var(--space-4);place-items:center;display:grid}.auth-card{gap:var(--space-3);width:min(400px,100%);padding:var(--space-6);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);flex-direction:column;display:flex}.auth-card__head{justify-content:space-between;align-items:center;gap:var(--space-2);display:flex}.app-bar__mark{flex:none;display:block}.auth-card__logo{width:auto;height:72px;display:block}.auth-card__title{font-size:var(--text-title);margin:0;font-weight:600}.form{gap:var(--space-3);flex-direction:column;display:flex}.field{gap:var(--space-1);flex-direction:column;display:flex}.field__label{font-size:var(--text-label);color:var(--ink-muted);font-weight:600}.input,.select{height:36px;padding:0 var(--space-2);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);font-size:var(--text-body);min-width:0}.input:read-only{background:var(--surface-sunken)}.input--search{width:min(360px,100%)}.input--small,.select--small{height:28px;font-size:var(--text-grid)}.input--warn{border-color:var(--warn);background:var(--warn-soft)}.input[aria-invalid=true]{border-color:var(--error);background:var(--error-soft)}.btn{justify-content:center;align-items:center;gap:var(--space-1);height:32px;padding:0 var(--space-3);border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);color:var(--ink);font-size:var(--text-grid);white-space:nowrap;cursor:pointer;font-weight:600;display:inline-flex}@media (hover:hover) and (pointer:fine){.btn:hover:not(:disabled){border-color:var(--ink-muted)}}.btn{transition:transform .1s var(--ease-out)}@media (prefers-reduced-motion:no-preference){.btn:active:not(:focus-visible):not(:disabled):not([aria-disabled=true]):not(.btn--link){transform:scale(.97)}}@media (prefers-reduced-motion:reduce){.btn{transition:none}}.btn:disabled{cursor:not-allowed;color:var(--ink-muted);background:var(--surface-sunken)}.btn[aria-disabled=true]:not(.btn--primary){cursor:progress;color:var(--ink-muted);background:var(--surface-sunken)}.btn.btn--unavailable[aria-disabled=true]{cursor:not-allowed;color:var(--ink-muted);background:var(--surface-sunken)}.btn.btn--busy,.btn--primary.btn--busy[aria-disabled=true]{cursor:progress}.btn--primary.btn--busy[aria-disabled=true],.btn--primary.btn--busy[aria-disabled=true]:hover,.btn--primary.btn--busy[aria-disabled=true]:active{background:var(--accent);border-color:var(--accent);color:var(--surface);opacity:.85;text-decoration:none}.btn--danger.btn--busy[aria-disabled=true],.btn--danger.btn--busy[aria-disabled=true]:hover,.btn--danger.btn--busy[aria-disabled=true]:active{background:var(--surface);border-color:var(--error);color:var(--error);opacity:.85}.btn--primary{background:var(--accent);border-color:var(--accent);color:var(--surface)}.btn--primary:focus-visible{outline-offset:2px}.btn--primary:active:not(:disabled):not([aria-disabled=true]){background:var(--accent-hover);border-color:var(--accent-hover)}@media (hover:hover) and (pointer:fine){.btn--primary:hover:not(:disabled):not([aria-disabled=true]){background:var(--accent-hover);border-color:var(--accent-hover)}}.btn--primary:disabled{background:var(--surface-sunken);border-color:var(--line);color:var(--ink-muted)}.btn--primary[aria-disabled=true]{background:var(--surface-sunken);border-color:var(--warn);color:var(--warn);cursor:pointer}.btn--primary[aria-disabled=true]:active{background:var(--warn-soft-strong);border-color:var(--warn);color:var(--warn);text-decoration:underline}@media (hover:hover) and (pointer:fine){.btn--primary[aria-disabled=true]:hover{background:var(--warn-soft-strong);border-color:var(--warn);color:var(--warn);text-decoration:underline}}.btn--ghost{background:0 0;border-color:#0000;font-weight:400}@media (hover:hover) and (pointer:fine){.btn--ghost:hover:not(:disabled){background:var(--surface-sunken);border-color:#0000}}.btn--danger{color:var(--error);border-color:var(--error)}@media (hover:hover) and (pointer:fine){.btn--danger:hover:not(:disabled):not(.btn--busy){background:var(--error-soft);border-color:var(--error)}}.btn--small{height:26px;padding:0 var(--space-2);font-size:var(--text-label)}.btn--icon{width:28px;height:28px;padding:0}.btn--link{text-align:start;height:auto;color:var(--accent);cursor:pointer;background:0 0;border:0;padding:0;font-weight:400;text-decoration:underline}@media (hover:hover) and (pointer:fine){.btn--link:hover:not(:disabled):not([aria-disabled=true]){text-decoration-thickness:2px}}.btn--link:disabled,.btn--link[aria-disabled=true]{color:var(--ink-muted);cursor:not-allowed;text-decoration:none}.btn--link[aria-busy=true]{cursor:progress}.btn+.btn{margin-left:var(--space-1)}:where(.dialog__actions,.toolbar,.page__head)>.btn+.btn{margin-left:0}.table-tools{align-items:center;gap:var(--space-3);margin-bottom:var(--space-2);flex-wrap:wrap;min-height:36px;display:flex}.table-wrap{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);max-height:max(360px,100vh - 220px);scroll-padding-top:40px;position:relative;overflow:auto}.table__message{position:sticky;left:0}.table{border-collapse:separate;border-spacing:0;width:100%;font-size:var(--text-grid)}.table th{z-index:1;background:var(--surface);text-align:left;font-size:var(--text-label);color:var(--ink-muted);padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--line);white-space:nowrap;font-weight:600;position:sticky;top:0}.table td{padding:0 var(--space-3);border-bottom:1px solid var(--line);vertical-align:middle;height:36px}.table tbody tr:last-child td{border-bottom:0}.table .col-num{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.who-when{flex-direction:column;min-width:0;max-width:24ch;line-height:1.25;display:flex}.who-when__name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.who-when__at{white-space:nowrap;font-size:var(--text-label)}.row-menu-slot{width:28px;display:inline-block}.table .col-actions{text-align:right;white-space:nowrap}.table__message{text-align:center;color:var(--ink-muted);height:64px!important}.table tfoot td{border-top:1px solid var(--line);border-bottom:0;font-weight:600}.skeleton{border-radius:var(--radius);background:var(--line);width:70%;height:10px;animation:1.2s ease-in-out infinite alternate skeleton-pulse;display:block}.skeleton-row{animation:appear .15s var(--ease-out) .2s backwards}.center-page .spinner{animation:spin .8s linear infinite, appear .15s var(--ease-out) .3s backwards}@keyframes skeleton-pulse{to{opacity:.45}}@keyframes appear{0%{opacity:0}}@media (prefers-reduced-motion:reduce){.spinner{animation:1.2s ease-in-out infinite alternate skeleton-pulse}.center-page .spinner{animation:skeleton-pulse 1.2s ease-in-out infinite alternate, appear .15s var(--ease-out) .3s backwards}}.limit-hint:empty{display:none}.field>.limit-hint{margin-top:2px}.grid__limit{z-index:45;background:var(--warn-soft);color:var(--warn);border-radius:var(--radius);font-size:var(--text-label);pointer-events:none;padding:0 4px;position:fixed}.grid__limit:empty{display:none}.tag{margin-left:var(--space-2);border:1px solid var(--line);border-radius:var(--radius);color:var(--ink-muted);vertical-align:1px;padding:0 6px;font-size:11px;font-weight:600;display:inline-block}.tag--warn{border-color:var(--warn);color:var(--warn)}.pill{border-radius:var(--radius-pill);height:22px;font-size:var(--text-label);white-space:nowrap;border:1px solid #0000;align-items:center;gap:6px;padding:0 10px;font-weight:600;display:inline-flex}.pill--draft{color:var(--ink-muted);background:0 0;border-color:#0000;padding-left:0}.pill--progress{background:var(--surface-sunken);border-color:var(--line);color:var(--ink)}.pill--attention{background:var(--warn-soft);border-color:var(--warn-soft);color:var(--warn)}.pill--done{color:var(--ok);background:0 0;border-color:#0000;padding-left:0}.status-icon{flex:none}.status-icon--attention{font-weight:600;line-height:1}.dialog{width:min(520px,100vw - 32px);padding:var(--space-6);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-overlay);color:var(--ink);overscroll-behavior:contain}.dialog[open],.dialog[open]::backdrop{transition:opacity .14s var(--ease-out), transform .14s var(--ease-out)}@starting-style{.dialog[open]{opacity:0;transform:scale(.97)}.dialog[open]::backdrop{opacity:0}}@media (prefers-reduced-motion:reduce){.dialog[open],.dialog[open]::backdrop{transition:opacity .14s var(--ease-out)}@starting-style{.dialog[open]{transform:none}}}.dialog--wide{width:min(880px,100vw - 32px)}.dialog::backdrop{background:#1d211e59}.dialog__title{margin:0 0 var(--space-3);font-size:var(--text-title);text-wrap:balance;font-weight:600}.dialog__body{font-size:var(--text-grid)}.dialog__body p{margin:0 0 var(--space-3)}.dialog__alert{color:var(--error);font-size:var(--text-grid);margin:0}.dialog__alert:not(:empty){margin-top:var(--space-3)}.dialog__actions{justify-content:flex-end;gap:var(--space-2);margin-top:var(--space-4);bottom:calc(-1 * var(--space-6));padding:var(--space-3) 0 var(--space-1);background:var(--surface);display:flex;position:sticky}.menu{display:inline-block;position:relative}.menu__list{z-index:60;min-width:200px;padding:var(--space-1);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-overlay);flex-direction:column;display:flex}.menu__list--fixed{position:fixed}.menu__item{width:100%;padding:6px var(--space-2);border-radius:var(--radius);text-align:left;font-size:var(--text-grid);color:var(--ink);white-space:nowrap;cursor:pointer;background:0 0;border:0;text-decoration:none;display:block}.menu__item[aria-current=page]{color:var(--accent);font-weight:600}.menu__item:disabled,.menu__item[aria-disabled=true]{color:var(--ink-muted);cursor:not-allowed}.menu__hint{max-width:28ch;font-size:var(--text-label);white-space:normal;color:var(--ink-muted);margin-top:2px;font-weight:400;display:block}.menu__item--danger{color:var(--error)}[data-sonner-toaster] [data-sonner-toast]{pointer-events:none;transition:transform .18s var(--ease-out), opacity .18s var(--ease-out), height .18s var(--ease-out);justify-content:flex-end;display:flex;left:0;right:0}[data-sonner-toaster] [data-sonner-toast][data-mounted=false]{--y:translateY(8px)}[data-sonner-toaster] [data-sonner-toast][data-removed=true]{opacity:0;transition-duration:.12s;--y:translateY(calc(var(--lift) * var(--offset,0px)))!important}[data-sonner-toaster] [data-sonner-toast]:has(.toast--instant):not([data-removed=true]){opacity:1;transition:none}[data-sonner-toaster] [data-sonner-toast]:has(.toast--instant)[data-mounted=false]{--y:translateY(calc(var(--lift) * var(--offset,0px)))}[data-sonner-toaster] [data-sonner-toast]>*{transition:none}.toast{pointer-events:auto;align-items:center;gap:var(--space-3);max-width:100%;padding:var(--space-2) var(--space-3);background:var(--ink);color:var(--surface);border-radius:var(--radius);box-shadow:var(--shadow-overlay);font-size:var(--text-grid);text-align:left;display:flex}.toast--error{background:var(--error)}body:has(.toast--error) .page{padding-bottom:calc(var(--space-6) + 5rem)}.toast__action{padding:2px var(--space-1);border-radius:var(--radius);color:#9fd4b2;cursor:pointer;background:0 0;border:0;flex-shrink:0;font-weight:600;text-decoration:underline}.toast--error .toast__action{color:var(--surface)}@media (hover:hover) and (pointer:fine){.toast__action:hover{text-decoration-thickness:2px}}.toast__action:focus-visible{outline:2px solid var(--surface);outline-offset:2px}.spinner{border:2px solid var(--line);border-top-color:var(--accent);vertical-align:middle;border-radius:50%;width:16px;height:16px;animation:.8s linear infinite spin;display:inline-block}.spinner--small{border-width:2px;border-color:#0000 currentColor currentColor;width:12px;height:12px}@keyframes spin{to{transform:rotate(360deg)}}.panel{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:var(--space-4)}.panel+.panel{margin-top:var(--space-3)}.panel--warn{background:var(--warn-soft);border-color:var(--warn)}.note-live:empty{clip-path:inset(50%);width:1px;height:1px;position:absolute;overflow:hidden}.dismissible-note{justify-content:space-between;align-items:flex-start;gap:var(--space-3);margin-bottom:var(--space-4);display:flex}.dismissible-note p{max-width:72ch;margin:0}.panel--ok{border-color:var(--ok)}.panel__title{text-wrap:balance;margin:0 0 var(--space-2);font-size:var(--text-body);font-weight:600}.panel__row{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.checklist{gap:var(--space-2);font-size:var(--text-grid);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.checklist .status-icon{margin-right:var(--space-1)}.checklist__later{padding-left:calc(.9em + var(--space-1))}.checklist label{gap:var(--space-2);align-items:flex-start;display:flex}.checklist input{accent-color:var(--accent);margin-top:3px}.read-only-note{padding:var(--space-2) var(--space-4);background:var(--warn-soft);border-bottom:1px solid var(--warn);color:var(--warn);font-size:var(--text-grid)}.estimate{height:calc(100vh - var(--app-bar-height));background:var(--surface-sunken);flex-direction:column;min-height:0;display:flex}.estimate__header{align-items:center;gap:2px var(--space-4);min-height:var(--header-height);padding:2px var(--space-4);background:var(--surface);border-bottom:1px solid var(--line);font-size:var(--text-grid);flex-wrap:wrap;display:flex}.estimate__title{flex-direction:column;flex:0 .2 auto;min-width:12ch;max-width:480px;line-height:1.2;display:flex}.estimate__crumbs{font-size:var(--text-label);min-width:0}.estimate__crumbs a,.estimate__crumb-text{white-space:nowrap;text-overflow:ellipsis;display:block;overflow:hidden}.estimate__name{font-size:var(--text-body);white-space:nowrap;align-items:center;min-width:0;margin:0;font-weight:600;display:flex}.estimate__name-text{text-overflow:ellipsis;min-width:0;overflow:hidden}.estimate__name .tag{flex-shrink:0}.estimate__fields{align-items:center;gap:2px var(--space-2);flex-wrap:wrap;display:flex}.estimate__field{white-space:nowrap;align-items:center;gap:6px;display:flex}.estimate__percent{text-align:right;width:64px}.estimate__riv{min-width:64px}.estimate__status{flex-direction:column;flex:0 auto;align-items:flex-start;gap:1px;min-width:16ch;max-width:34ch;margin-left:auto;display:flex}.estimate__reason{line-height:1.25}.estimate__primary{flex-shrink:0}.save-state{white-space:nowrap;flex-shrink:0;min-width:96px}.select--warn{border-color:var(--warn);background:var(--warn-soft)}.estimate__tabs{gap:var(--space-1);height:var(--tabs-height);padding:0 var(--space-4);background:var(--surface);border-bottom:1px solid var(--line);display:flex}.tab{padding:0 var(--space-3);font-size:var(--text-grid);color:var(--ink-muted);cursor:pointer;background:0 0;border:0;align-items:center;gap:6px;display:inline-flex;box-shadow:inset 0 -2px #0000}@media (hover:hover) and (pointer:fine){.tab:not([aria-selected=true]):hover{color:var(--ink)}}.tab[aria-selected=true]{color:var(--accent);box-shadow:inset 0 -2px 0 var(--accent);font-weight:600}.estimate__panel{flex:1;min-height:0;position:relative}.estimate__panel--grid{flex-direction:column;display:flex}.estimate__panel--scroll{padding:var(--space-4);overflow:auto}.estimate__calc-error{padding:var(--space-2) var(--space-4)}.toolbar{align-items:center;gap:var(--space-1);height:var(--toolbar-height);padding:0 var(--space-3);background:var(--surface);border-bottom:1px solid var(--line);flex-shrink:0;display:flex}.shortcuts{padding:var(--space-2) var(--space-3);background:var(--surface-sunken);border-bottom:1px solid var(--line);flex-shrink:0;margin:0}.toolbar__boundary{text-overflow:ellipsis;white-space:nowrap;min-width:0;margin-left:var(--space-1);flex:0 auto;overflow:hidden}.toolbar>.btn--unavailable{min-width:0}.toolbar>.btn:has(.toolbar__label){min-width:calc(8ch + 24px)}.toolbar__label{white-space:nowrap;min-width:0;display:flex}.toolbar__lead{flex:none}.toolbar__rest{text-overflow:ellipsis;min-width:0;overflow:hidden}.toolbar__sep{width:1px;height:20px;margin:0 var(--space-2);background:var(--line)}.toolbar__spacer{flex:1}.toolbar__field{margin-right:var(--space-3);align-items:center;gap:6px;display:inline-flex}.toolbar__field .select--small{max-width:24ch;height:26px;font-size:var(--text-label)}.toolbar__menu>.btn{width:auto;padding:0 var(--space-2);font-size:var(--text-label);font-weight:600}.estimate__panel--grid{--drawer-width:min(760px, 70vw)}.estimate__grid-scroll{background:var(--surface);min-height:0;scroll-padding-top:var(--grid-row-height);scroll-padding-left:260px;scroll-padding-bottom:var(--breakdown-inset,0px);padding-bottom:var(--breakdown-inset,0px);flex:1;position:relative;overflow:auto}.estimate__panel--drawer .estimate__grid-scroll{scroll-padding-right:var(--drawer-width);padding-right:var(--drawer-width)}.estimate__panel--drawer .grid{width:calc(100% + var(--drawer-width))}@media (width>=2040px){.estimate__panel--drawer .grid{width:100%}}.grid{--grid-cols:120px minmax(140px, 1fr) 170px 80px 64px 110px 110px 110px 110px 220px 28px;--pin-2:120px;min-width:1262px;font-size:var(--text-grid);font-feature-settings:"tnum"}.grid__row{grid-template-columns:var(--grid-cols);height:var(--grid-row-height);border-bottom:1px solid var(--line);display:grid}.grid__row--head{z-index:5;background:var(--surface);position:sticky;top:0}.grid__th{padding:0 var(--space-2);font-size:var(--text-label);color:var(--ink-muted);background:var(--surface);white-space:nowrap;align-items:center;font-weight:600;display:flex}.grid__th--num{justify-content:flex-end}.grid__cell{min-width:0;padding:0 var(--space-2);border-right:1px solid var(--line);background:var(--surface);white-space:nowrap;cursor:cell;outline:none;align-items:center;display:flex;position:relative;overflow:hidden}.grid__cell--num{font-variant-numeric:tabular-nums;justify-content:flex-end}.grid__text{text-overflow:ellipsis;overflow:hidden}.grid__text--num{text-overflow:clip}.grid__text--num[data-cut]:after{content:"###";content:"###" / ""}.grid__text--num[data-cut] .num__value{clip-path:inset(50%);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.grid__empty{align-items:center;gap:var(--space-2);padding:0 var(--space-3);color:var(--ink-muted);grid-column:1/-1;display:flex}.grid__cell--resourceCode,.grid__row--head .grid__cell--resourceCode{z-index:2;position:sticky;left:0}.grid__cell--name,.grid__row--head .grid__cell--name{left:var(--pin-2);z-index:2;box-shadow:1px 0 0 var(--line);position:sticky}.grid__cell--formula{font-family:var(--font-mono);font-size:13px}.grid__cell--computed{color:var(--ink);background:#fafbf9}.grid__cell--locked{color:var(--ink-muted);cursor:default}.grid__lock{color:var(--ink-muted);font-size:10px;line-height:1;position:absolute;top:1px;left:4px}.grid__cell--own-row{color:var(--ink-muted);font-style:italic}.grid__cell--active{box-shadow:inset 0 0 0 2px var(--accent);z-index:3}.grid__cell:focus-visible{box-shadow:inset 0 0 0 2px var(--accent)}.grid__cell--error{background:var(--error-soft);box-shadow:inset 0 0 0 1px var(--error)}.grid__cell--error.grid__cell--active{box-shadow:inset 0 0 0 2px var(--error)}.grid__cell--incomplete{background:var(--warn-soft)}.grid__row--highlight .grid__cell{animation:1.5s grid-row-found}@keyframes grid-row-found{0%,40%{background-color:var(--line)}}.grid__cell--actions{cursor:default;border-right:0;justify-content:center;padding:0;overflow:visible}.grid__row-menu>.btn{opacity:0}.grid__row:focus-within .grid__row-menu>.btn,.grid__row-menu>.btn[aria-expanded=true],.grid__row-menu>.btn:focus-visible{opacity:1}@media (hover:hover) and (pointer:fine){.grid__row:hover .grid__row-menu>.btn{opacity:1}}.grid__input{width:100%;height:100%;padding:0 var(--space-2);outline:2px solid var(--accent);outline-offset:-2px;background:var(--surface);font-size:var(--text-grid);font-feature-settings:"tnum";border:0;position:absolute;inset:0}.grid__input--mono{font-family:var(--font-mono);font-size:13px}.grid__input--num{text-align:right}.grid__row--section{background:var(--surface-sunken)}.grid__row--section.grid__row--warn .grid__section-cell{background:var(--warn-soft)}.grid__section-cell{align-items:center;gap:var(--space-3);padding:0 var(--space-2);background:var(--surface-sunken);outline:none;grid-column:1/-1;width:max-content;min-width:100%;display:flex;position:sticky;left:0}.grid__section-cell:focus-visible,.grid__section-cell:focus{box-shadow:inset 0 0 0 2px var(--accent)}.grid__collapse{width:20px;color:var(--ink-muted);cursor:pointer;background:0 0;border:0}@media (hover:hover) and (pointer:fine){.grid__collapse:hover{color:var(--ink)}}.grid__section-name{font-size:var(--text-label);letter-spacing:.04em;text-transform:uppercase;font-weight:600}.grid__section-name-input{width:220px}.grid__location{font-size:var(--text-label);align-items:center;gap:6px;display:inline-flex}.grid__location .select--small{height:24px;font-size:var(--text-label)}.grid__section-collapsed-sum{font-size:var(--text-label)}.grid__section-menu{margin-left:auto}.grid__row--sum .grid__cell{background:var(--surface);cursor:default;border-right-color:#0000;font-weight:600}.grid__sum-label{font-size:var(--text-label);letter-spacing:.04em}.grid__add[aria-busy=true]{cursor:progress}.grid__add{color:var(--accent);font-weight:400}.k{min-width:0;font-size:var(--text-label);align-items:center;gap:4px;display:inline-flex;overflow:hidden}.k__text{text-overflow:ellipsis;white-space:nowrap;min-width:0;overflow:hidden}.k--ok{color:var(--ok);font-weight:600}.k--warn{color:var(--warn)}.k--error{color:var(--error)}.cell-error{z-index:45;max-width:380px;padding:6px var(--space-2);background:var(--surface);border:1px solid var(--error);border-radius:var(--radius);box-shadow:var(--shadow-overlay);color:var(--ink);font-size:var(--text-label);white-space:normal;overflow-wrap:anywhere;pointer-events:none;border-left-width:3px;line-height:1.35;position:fixed}.cell-error span{display:block}.cell-error span+span{color:var(--ink-muted);margin-top:2px}.cell-value{z-index:45;padding:2px var(--space-2);background:var(--surface);border:1px solid var(--line);border-left:3px solid var(--accent);border-radius:var(--radius);box-shadow:var(--shadow-overlay);font-size:var(--text-grid);font-variant-numeric:tabular-nums;white-space:nowrap;pointer-events:none;position:fixed}.k--neutral{color:var(--ink-muted)}.k__select{border:1px solid var(--line);border-radius:var(--radius);background:var(--surface);min-width:0;max-width:160px;height:22px;font-size:var(--text-label)}.k__select--warn{border-color:var(--warn);background:var(--warn-soft)}.k__select--account{padding:0 20px 0 4px}.k__select--default{color:var(--ink-muted)}.k__note{font-size:11px}.own-price{margin-left:6px;display:inline-flex;position:relative}.own-price__dot{background:var(--surface);width:8px;height:8px;box-shadow:inset 0 0 0 2px var(--accent);cursor:pointer;border:0;border-radius:50%;padding:0;position:relative}.own-price__dot:before{content:"";position:absolute;inset:-8px}@media (hover:hover) and (pointer:fine){.own-price__dot:hover{box-shadow:inset 0 0 0 2px var(--accent), 0 0 0 3px var(--line)}}.own-price__pop{z-index:50;padding:var(--space-1) var(--space-2);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-overlay);font-size:var(--text-label);white-space:nowrap;color:var(--ink);font-weight:400;position:fixed}.picker{--picker-row:26px;z-index:50;width:min(680px,100vw - 16px);padding:var(--space-1);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-overlay);font-size:var(--text-grid);flex-direction:column;display:flex;position:fixed;overflow:hidden}.picker__options{flex-direction:column;flex:auto;min-height:0;display:flex}.picker__hits{min-height:0;max-height:calc(12 * var(--picker-row));overscroll-behavior:contain;scrollbar-gutter:stable;flex:auto;overflow-y:auto}.picker__head,.picker__foot{scrollbar-gutter:stable;overflow:hidden}.picker__foot{margin-top:var(--space-1);padding-top:var(--space-1);border-top:1px solid var(--line);flex:none}.picker__item{min-height:var(--picker-row);grid-template-columns:var(--picker-code,8ch) minmax(0, 1fr) 5ch 11ch 11ch;gap:var(--space-2);padding:4px var(--space-2);border-radius:var(--radius);cursor:pointer;font-feature-settings:"tnum";align-items:center;display:grid}.picker__item--own{color:var(--accent);align-items:center;display:flex}.picker__code{font-weight:600}.picker__code,.picker__unit,.picker__name{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.picker__unit{color:var(--ink-muted)}.picker__price{text-align:right;white-space:nowrap}.picker__head{grid-template-columns:var(--picker-code,8ch) minmax(0, 1fr) 5ch 11ch 11ch;gap:var(--space-2);padding:2px var(--space-2);color:var(--ink-muted);flex:none;font-size:11px;display:grid}.picker__head span:first-child{text-align:right;grid-column:4}.picker__head span:last-child{text-align:right}.picker__status{padding:4px var(--space-2);color:var(--ink-muted);flex:none}.picker__live:empty{padding:0}.picker__status--refused{color:var(--ink);border-left:3px solid var(--error)}.totals{align-items:center;gap:2px var(--space-4);min-height:var(--footer-min-height);padding:4px var(--space-4);background:var(--surface);border-top:1px solid var(--line);flex-wrap:wrap;flex-shrink:0;display:flex}.totals__list{gap:0 var(--space-6);flex-wrap:wrap;margin:0;display:flex}.totals__list div{align-items:baseline;gap:var(--space-2);display:flex}.totals__list dt{font-size:var(--text-label);color:var(--ink-muted);font-weight:600}.totals__list dd{font-size:var(--text-body);font-variant-numeric:tabular-nums;margin:0;font-weight:600}.breakdown{overscroll-behavior:contain;max-height:calc(100% - var(--toolbar-height) - var(--hints-inset,0px) - var(--footer-height) - var(--grid-row-height));z-index:8;right:var(--space-4);bottom:var(--footer-height);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius) var(--radius) 0 0;border-bottom:0;width:min(720px,100% - 32px);position:absolute;overflow:auto}.table--compact td{height:28px;padding:0 var(--space-2)}.table--compact th{padding:var(--space-1) var(--space-2)}.breakdown th[scope=row]{font-size:var(--text-grid);color:var(--ink);border-bottom:1px solid var(--line);font-weight:400;position:static}.budget{gap:var(--space-3);flex-direction:column;max-width:1180px;display:flex}.budget>.section-block{margin-top:var(--space-2)}.table-wrap--auto{max-height:none}.next-step__groups{gap:var(--space-4);grid-template-columns:repeat(auto-fit,minmax(320px,1fr));display:grid}.next-step__heading{margin:0 0 var(--space-1);font-size:var(--text-grid);font-weight:600}.next-step__list,.next-step__rows,.sources{padding-left:var(--space-4);font-size:var(--text-grid);margin:0}.next-step__rows,.sources{font-size:var(--text-label)}.guide-totals{gap:var(--space-6);margin:var(--space-2) 0;flex-wrap:wrap;display:flex}.guide-totals dt{font-size:var(--text-label);color:var(--ink-muted);font-weight:600}.guide-totals dd{font-variant-numeric:tabular-nums;margin:0;font-weight:600}.progress{width:100%;height:8px;accent-color:var(--accent)}.evidence{margin-top:var(--space-3);max-height:280px}.evidence__row--flag td{background:var(--warn-soft)}.conflict{margin:var(--space-2) var(--space-3);scrollbar-width:auto;max-height:min(45vh,320px);overflow:auto}.conflict .panel__row{padding-top:var(--space-2);background:var(--warn-soft);position:sticky;bottom:0}.lost-input{scrollbar-width:auto;max-height:20vh;overflow:auto}.drawer{z-index:12;top:var(--toolbar-height);right:0;bottom:var(--footer-height);width:var(--drawer-width);background:var(--surface);border-left:1px solid var(--line);flex-direction:column;display:flex;position:absolute;box-shadow:-4px 0 16px #00000014}.drawer__head{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--line);justify-content:space-between;align-items:center;display:flex}.drawer__head .panel__title{margin:0}.drawer__body{flex:1;grid-template-columns:280px 1fr;min-height:0;display:grid}.drawer__list{overscroll-behavior:contain;border-right:1px solid var(--line);overflow:auto}.drawer__item{width:100%;padding:var(--space-2) var(--space-3);border:0;border-bottom:1px solid var(--line);text-align:left;font-size:var(--text-grid);cursor:pointer;background:0 0;flex-direction:column;align-items:flex-start;gap:2px;display:flex}@media (hover:hover) and (pointer:fine){.drawer__item:not(.drawer__item--active):hover{background:var(--surface-sunken)}}.drawer__item-name{font-weight:600}.drawer__detail{overscroll-behavior:contain;padding:var(--space-3);gap:var(--space-3);flex-direction:column;display:flex;overflow:auto}.drawer__detail>.btn{align-self:flex-start}.drawer__inputs{gap:var(--space-3);display:flex}.checkbox{align-items:center;gap:var(--space-2);display:inline-flex}.textarea{height:auto;padding:var(--space-2);resize:vertical}.picker-table{margin-top:var(--space-2);max-height:50vh}.table th.picker-group{padding:var(--space-2) var(--space-3) var(--space-1);background:var(--surface-sunken);color:var(--ink-muted);font-size:var(--text-label);text-align:left;font-weight:600;position:static}.history__fit{white-space:nowrap;width:1%}.history__who{text-overflow:ellipsis;max-width:22ch;display:block;overflow:hidden}.table td .history__tag{margin:0 var(--space-2) 0 0}.conflict-chosen{font-weight:600}.picker-note{margin:var(--space-2) 0 0}.picker-row{cursor:pointer}.picker-row:focus{background:var(--accent-soft);outline:none}.picker-row:focus>td:first-child{box-shadow:inset 3px 0 0 var(--accent)}@media (hover:hover) and (pointer:fine){.picker-row:hover{background:var(--accent-soft)}}@media (width<=1023px){.estimate__header{flex-wrap:wrap}.toolbar{overflow-x:auto}}@media (width<=1023px) and (hover:none) and (pointer:coarse){.estimate{height:auto;min-height:calc(100vh - var(--app-bar-height))}.estimate__grid-scroll{max-height:70vh}}@media (height<=520px){html{--sticky-header:var(--estimate-header-height,var(--header-height));scroll-padding-top:calc(var(--app-bar-height) + var(--sticky-header));scroll-padding-bottom:var(--footer-height)}.estimate{height:auto;min-height:calc(100vh - var(--app-bar-height))}.estimate__header{top:var(--app-bar-height);z-index:11;position:sticky}.estimate__panel{flex:none}.estimate__panel--grid{flex:1 0 auto;min-height:0}.estimate__grid-scroll{height:max(calc(100vh - var(--app-bar-height) - var(--sticky-header) - var(--footer-height)), calc(5 * var(--grid-row-height)));flex:none;overflow:auto}.totals{z-index:9;position:sticky;bottom:0}.breakdown{max-height:calc(100vh - var(--app-bar-height) - var(--sticky-header) - var(--footer-height) - var(--space-2));position:fixed}.drawer{top:calc(var(--app-bar-height) + var(--sticky-header));position:fixed}}@media (height<=299px){html{--sticky-header:0px}.estimate__header{position:static}}.admin-mono{font-family:var(--font-mono);font-size:var(--text-label)}.admin-nowrap{white-space:nowrap}.admin-check{align-items:center;gap:var(--space-2);font-size:var(--text-grid);cursor:pointer;display:inline-flex}.admin-check input{accent-color:var(--accent);margin:0}.admin-notice{align-items:center;gap:var(--space-3);margin:0 0 var(--space-2);padding:var(--space-2) var(--space-3);background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);font-size:var(--text-grid);display:flex}.admin-notice--stack{background:var(--warn-soft);justify-content:space-between;align-items:flex-start}.admin-notice__text{margin:0 0 var(--space-1)}.admin-list{padding-left:var(--space-4);margin:0}.table td .admin-cell-note,.table td .admin-cell-error{padding-bottom:2px;line-height:1.3;display:block}.table .admin-row--inactive td{color:var(--ink-muted);background:var(--surface-sunken)}.admin-cell--editable{cursor:pointer}@media (hover:hover) and (pointer:fine){.admin-cell--editable:hover{background:var(--surface-sunken)}}.table .admin-row--editing td{padding-top:var(--space-1);padding-bottom:var(--space-1)}.table .admin-row--changed td{background:var(--warn-soft)}.admin-cell-input{width:100%;min-width:56px}.admin-cell-input--code{min-width:16ch}.admin-cell-input--num{min-width:12ch}.table .admin-row--editing td.col-actions{box-shadow:inset 1px 0 0 var(--line);position:sticky;right:0}.admin-cell-input--num,.admin-cost-input{text-align:right}.admin-cost-input{width:110px}.admin-where{padding-block:var(--space-1);max-width:32ch;line-height:1.3}.admin-where__line{text-overflow:ellipsis;white-space:nowrap;display:block;overflow:hidden}.table th.admin-cost-cell,.table td.admin-cost-cell{background:var(--surface);box-shadow:inset 1px 0 0 var(--line);white-space:nowrap;position:sticky;right:0}.table th.admin-cost-cell{z-index:2}.admin-cost-cell__row{justify-content:flex-end;align-items:center;gap:var(--space-2);display:flex}.admin-input--account{width:88px}.admin-input--text{width:160px}.admin-input--note{width:100%;min-width:24ch}.admin-form-grid{gap:var(--space-3);grid-template-columns:repeat(auto-fit,minmax(120px,1fr));display:grid}.admin-link-row{gap:var(--space-2);display:flex}.admin-link-input{font-family:var(--font-mono);font-size:var(--text-label);flex:1}.admin-textarea{height:auto;padding:var(--space-2);resize:vertical;font-family:inherit}.admin-report{gap:var(--space-2);padding-top:var(--space-2);border-top:1px solid var(--line);flex-direction:column;display:flex}.admin-report__summary{margin:0;font-weight:600}.admin-report__title{font-size:var(--text-grid);margin:0;font-weight:600}.admin-report__list{margin:var(--space-1) 0 0;padding-left:var(--space-4);max-height:120px;overflow:auto}.admin-report__status{margin:0}.admin-severity{min-width:56px;font-size:11px;font-weight:600;display:inline-block}.admin-severity--error{color:var(--error)}.admin-severity--warning{color:var(--warn)}.admin-report__details summary{cursor:pointer;font-size:var(--text-grid);font-weight:600}.admin-report__rows{margin-top:var(--space-2)}.admin-review-table{max-height:280px}.admin-impact__title{margin:0 0 var(--space-1);font-weight:600}.admin-context{align-items:center;gap:var(--space-2);max-width:100%;font-size:var(--text-grid);flex-wrap:wrap;display:flex}.combo{align-items:center;gap:var(--space-2);flex-wrap:wrap;max-width:100%;display:flex}.combo__label{font-weight:600}.combo__box{width:min(100%,32rem);position:relative}.combo__input{text-overflow:ellipsis;width:100%}.combo__waiting{margin-top:2px;display:block}.combo__list{z-index:20;max-height:min(50vh,320px);padding:var(--space-1) 0;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow-overlay);margin:0;list-style:none;position:absolute;top:calc(100% + 2px);left:0;right:0;overflow-y:auto}.combo__list[hidden]{display:none}.combo__option,.combo__empty{padding:6px var(--space-2);font-size:var(--text-grid)}.combo__option{cursor:pointer}.combo__option--chosen{font-weight:600}.combo__number{font-variant-numeric:tabular-nums;font-weight:600}.combo__empty{color:var(--ink-muted)}.combo__group{padding:var(--space-1) var(--space-2);color:var(--ink-muted);font-size:var(--text-label);font-weight:600}.combo__option--active{background:var(--accent-soft);box-shadow:inset 3px 0 0 var(--accent)}.admin-general-issues{margin:0 0 var(--space-2)}.table .admin-version-details td{background:var(--surface-sunken)}.admin-adjustment{margin-top:var(--space-4);max-width:720px}.admin-adjustment__scope{margin:0 0 var(--space-3)}.admin-adjustment__state{margin:var(--space-2) 0 0}.admin-radio-group{align-items:center;gap:var(--space-2) var(--space-4);border:0;flex-wrap:wrap;margin:0;padding:0;display:flex}.admin-attention{gap:var(--space-2);padding:var(--space-3);background:var(--warn-soft);border:1px solid var(--warn);border-radius:var(--radius);flex-direction:column;display:flex}.admin-attention--error{background:var(--error-soft);border-color:var(--error)}.admin-attention__items{gap:var(--space-3);flex-direction:column;margin:0;padding:0;list-style:none;display:flex}.admin-attention__title{margin:0;font-weight:600}.admin-attention__mark{margin-right:var(--space-1);color:var(--warn);font-weight:700}.admin-attention--error .admin-attention__mark{color:var(--error)}.admin-attention__body{margin:var(--space-1) 0}.admin-attention__footer{padding-top:var(--space-2);border-top:1px solid var(--line);margin:0}.admin-import__pick[hidden]{display:none}.admin-import__file,.admin-import__columns{margin:var(--space-1) 0 0}.admin-flag{margin-left:var(--space-1);color:var(--warn);white-space:nowrap;font-size:11px;font-weight:600}.admin-attention__checked{margin:0}
