:root{--canvas:#11191e;--shell:#141d22;--surface:#1b252c;--surface-elevated:#202c33;--surface-selected:#2b2925;--border-subtle:#2d3940;--border-strong:#455159;--text-primary:#e7e9e8;--text-secondary:#aab1b4;--text-muted:#737e84;--accent-copper:#b9784b;--accent-copper-hover:#ce8956;--accent-copper-muted:#684833;--success:#82ba69;--warning:#d2a35f;--danger:#d56363;--nav-expanded:232px;--nav-collapsed:64px;--topbar-height:72px;--inspector-desktop:440px;--inspector-constrained:400px;--row-standard:40px;--row-with-meta:44px;--field-dense:36px;--field-inspector:40px;--space-1:4px;--space-2:8px;--space-3:12px;--space-4:16px;--space-5:20px;--space-6:24px;--space-8:32px;--radius-panel:6px;--radius-elevated:8px;--radius-control:6px;color:var(--text-primary);background:var(--canvas);font-synthesis:none;text-rendering:optimizelegibility;font-family:Inter,system-ui,-apple-system,Segoe UI,sans-serif}:where(button,input,select,textarea,a):focus-visible{outline:1px solid var(--accent-copper);outline-offset:4px}.ledger-button{justify-content:center;align-items:center;gap:var(--space-2);min-height:36px;padding:0 var(--space-4);border:1px solid var(--border-subtle);border-radius:var(--radius-control);color:var(--text-primary);background:var(--surface);font:inherit;cursor:pointer;font-size:14px;font-weight:500;line-height:20px;display:inline-flex}.ledger-button:hover:not(:disabled){border-color:var(--border-strong);background:var(--surface-elevated)}.ledger-button[data-tone=primary]{border-color:var(--accent-copper);background:var(--accent-copper)}.ledger-button[data-tone=primary]:hover:not(:disabled){border-color:var(--accent-copper-hover);background:var(--accent-copper-hover)}.ledger-button[data-tone=primary]:active:not(:disabled){border-color:var(--accent-copper);background:var(--accent-copper-muted)}.ledger-button[data-tone=secondary]:active:not(:disabled){border-color:var(--border-strong);background:var(--surface-selected)}.ledger-button[data-tone=danger]{border-color:var(--danger);color:var(--danger);background:var(--surface)}.ledger-button[data-tone=danger]:hover:not(:disabled){border-color:var(--danger);color:var(--danger);background:var(--surface-elevated)}.ledger-button[data-tone=danger]:active:not(:disabled){border-color:var(--danger);color:var(--danger);background:var(--surface-selected)}.ledger-button:disabled{border-color:var(--border-subtle);color:var(--text-muted);background:var(--surface);cursor:not-allowed}.ledger-button__spinner,.sync-indicator[data-sync=loading] svg,.sync-indicator[data-sync=autosaving] svg{animation:.9s linear infinite ledger-spin}.ledger-field{gap:var(--space-2);min-width:0;display:grid}.ledger-field__label{color:var(--text-secondary);font-size:13px;font-weight:600;line-height:1.3}.ledger-field__control{align-items:center;min-width:0;display:flex;position:relative}.ledger-field__input{width:100%;min-width:0;min-height:var(--field-dense);padding:0 var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-control);color:var(--text-primary);background:var(--surface);font:inherit;font-variant-numeric:tabular-nums;font-size:14px;font-weight:400;line-height:20px}.ledger-field__input:hover:not(:disabled):not(:read-only){border-color:var(--border-strong)}.ledger-field__input[aria-invalid=true]{border-color:var(--danger)}.ledger-field__input:read-only{border-color:var(--border-subtle);color:var(--text-muted);background:var(--surface)}.ledger-field__input:disabled{color:var(--text-muted);cursor:not-allowed}.ledger-field__unit{right:var(--space-3);color:var(--text-muted);pointer-events:none;font-size:13px;position:absolute}.ledger-field__control:has(.ledger-field__unit) .ledger-field__input{padding-right:var(--space-8)}.ledger-field__message{color:var(--text-muted);margin:0;font-size:12px;line-height:1.35}.ledger-field__message[role=alert]{color:var(--danger)}.status-badge,.sync-indicator{align-items:center;gap:var(--space-1);min-width:0;color:var(--text-secondary);white-space:nowrap;background:var(--surface);font-size:12px;line-height:1;display:inline-flex}.status-badge{min-height:24px;padding:0 var(--space-2);border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:var(--surface)}.status-badge[data-status=saved]{border-color:var(--success);color:var(--success)}.status-badge[data-status=warning]{border-color:var(--warning);color:var(--warning)}.status-badge[data-status=danger]{border-color:var(--danger);color:var(--danger)}.status-badge[data-status=immutable],.status-badge[data-status=archived]{border-color:var(--border-strong);color:var(--text-muted)}.sync-indicator{min-height:24px;padding:0 var(--space-2);border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:var(--surface)}.sync-indicator[data-sync=saved]{border-color:var(--success);color:var(--success)}.sync-indicator[data-sync=offline],.sync-indicator[data-sync=queued]{border-color:var(--warning);color:var(--warning)}.sync-indicator[data-sync=conflict]{border-color:var(--danger);color:var(--danger)}.ledger-panel{border:1px solid var(--border-subtle);border-radius:var(--radius-panel);background:var(--surface)}@keyframes ledger-spin{to{transform:rotate(360deg)}}@media (width<=767px){.ledger-button{min-height:44px;font-size:16px;font-weight:500;line-height:24px}.ledger-field__label,.ledger-field__input,.ledger-field__unit,.ledger-field__message{font-size:16px;line-height:24px}.ledger-field__label{font-weight:500}.ledger-field__input{min-height:44px;font-weight:400}.status-badge,.sync-indicator{min-height:44px;font-size:16px;font-weight:400;line-height:24px}}@media (prefers-reduced-motion:reduce){.ledger-button__spinner,.sync-indicator svg{animation:none}}.calendar-page{gap:var(--space-5);margin-top:var(--space-8);display:grid}.calendar-toolbar{justify-content:space-between;align-items:flex-end;gap:var(--space-4);padding:var(--space-4);border:1px solid var(--border-subtle);border-radius:var(--radius-panel);background:var(--surface-elevated);display:flex}.calendar-toolbar__month,.calendar-toolbar__actions,.calendar-editor__actions,.calendar-confirm__actions{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.calendar-toolbar__month strong{min-width:10rem;color:var(--text-primary);text-align:center}.calendar-toolbar__actions{justify-content:flex-end}.calendar-view-toggle{gap:var(--space-1);padding:var(--space-1);border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:var(--surface);display:inline-flex}.calendar-view-toggle .ledger-button[aria-pressed=true]{color:var(--text-primary);background:var(--shell)}.calendar-state,.calendar-editor,.calendar-confirm{gap:var(--space-3);padding:var(--space-6);border:1px solid var(--border-subtle);border-radius:var(--radius-panel);color:var(--text-secondary);background:var(--surface-elevated);display:grid}.calendar-state h2,.calendar-state p,.calendar-editor h2,.calendar-editor p,.calendar-confirm h2,.calendar-confirm p{margin:0}.calendar-state h2,.calendar-editor h2,.calendar-confirm h2{color:var(--text-primary);font-size:18px}.calendar-state--unavailable{border-color:color-mix(in srgb, var(--warning) 55%, var(--border-subtle))}.calendar-state--error{border-color:color-mix(in srgb, var(--danger) 55%, var(--border-subtle));grid-template-columns:minmax(0,1fr) auto;align-items:center}.calendar-state--error p{color:var(--text-primary)}.calendar-status{color:var(--success);margin:0;font-size:13px}.calendar-list{gap:var(--space-3);display:grid}.calendar-event-card{gap:var(--space-2);width:100%;padding:var(--space-4);border:1px solid var(--border-subtle);border-radius:var(--radius-panel);color:inherit;background:var(--surface-elevated);font:inherit;text-align:left;cursor:pointer;display:grid}.calendar-event-card:hover{border-color:var(--border-strong);background:var(--surface)}.calendar-event-card:focus-visible,.calendar-month__events button:focus-visible{outline:1px solid var(--accent-copper);outline-offset:4px}.calendar-event-card__date,.calendar-event-card__meta,.calendar-editor__eyebrow{color:var(--text-muted);font-size:12px}.calendar-event-card strong{color:var(--text-primary);font-size:16px}.calendar-editor{gap:var(--space-5);margin-top:var(--space-2)}.calendar-editor__header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.calendar-editor__header h2{margin-top:var(--space-1)}.calendar-editor__form{gap:var(--space-4);display:grid}.calendar-editor__grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.calendar-editor__textarea{min-height:96px;padding-block:var(--space-3);resize:vertical}.calendar-form-error{color:var(--danger);margin:0;font-size:13px}.calendar-confirm{border-color:var(--danger);max-width:34rem}.calendar-month{gap:var(--space-2);display:grid;overflow-x:auto}.calendar-month__weekdays,.calendar-month__grid{gap:var(--space-1);grid-template-columns:repeat(7,minmax(90px,1fr));min-width:630px;display:grid}.calendar-month__weekdays span{padding:var(--space-2);color:var(--text-muted);text-align:center;text-transform:uppercase;font-size:11px;font-weight:600}.calendar-month__day{align-content:start;gap:var(--space-2);min-height:108px;padding:var(--space-2);border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:var(--surface-elevated);display:grid}.calendar-month__day--outside{opacity:.5}.calendar-month__day-number{color:var(--text-muted);font-size:12px}.calendar-month__events{gap:var(--space-1);display:grid}.calendar-month__events button{padding:var(--space-2);border:1px solid var(--border-subtle);border-radius:var(--radius-control);color:var(--text-primary);background:var(--surface);font:inherit;text-align:left;text-overflow:ellipsis;white-space:nowrap;cursor:pointer;font-size:12px;overflow:hidden}.calendar-list__more{padding-top:var(--space-2);justify-content:center;display:flex}@media (width<=767px){.calendar-toolbar,.calendar-editor__header{flex-direction:column;align-items:stretch}.calendar-toolbar__actions{justify-content:stretch}.calendar-toolbar__actions>*,.calendar-view-toggle{flex:auto}.calendar-toolbar__month{justify-content:space-between}.calendar-toolbar__month strong{flex:auto;min-width:0}.calendar-editor__grid,.calendar-state--error{grid-template-columns:1fr}}.clients-page,.clients-detail{gap:var(--space-5);margin-top:var(--space-8);display:grid}.clients-page__toolbar{justify-content:space-between;align-items:flex-end;gap:var(--space-4);padding:var(--space-4);border:1px solid var(--border-subtle);border-radius:var(--radius-panel);background:var(--surface-elevated);display:flex}.clients-page__toolbar>.ledger-field{width:min(100%,520px)}.clients-page__toolbar-actions{justify-content:flex-end;align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.clients-state{gap:var(--space-3);padding:var(--space-6);border:1px solid var(--border-subtle);border-radius:var(--radius-panel);color:var(--text-secondary);background:var(--surface-elevated);margin:0;display:grid}.clients-state h2,.clients-state p{margin:0}.clients-state h2{color:var(--text-primary);font-size:17px}.clients-state--unavailable{grid-template-columns:auto minmax(0,1fr) auto;align-items:center}.clients-state--unavailable>svg{color:var(--warning)}.clients-table-wrap{border:1px solid var(--border-subtle);border-radius:var(--radius-panel);background:var(--surface-elevated);overflow-x:auto}.clients-table{border-collapse:collapse;width:100%;min-width:680px;font-size:13px}.clients-table caption{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.clients-table th,.clients-table td{padding:var(--space-4);border-bottom:1px solid var(--border-subtle);text-align:left;vertical-align:middle}.clients-table thead th{color:var(--text-muted);text-transform:uppercase;font-size:11px;font-weight:600}.clients-table tbody tr:last-child th,.clients-table tbody tr:last-child td{border-bottom:0}.clients-table tbody tr:hover{background:var(--surface)}.clients-table tbody th{font-weight:600}.clients-table a,.clients-detail a{color:var(--accent-copper-hover);text-decoration:none}.clients-table a:hover,.clients-detail a:hover{text-decoration:underline}.clients-pagination,.clients-detail__actions,.clients-form__actions{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.clients-pagination{color:var(--text-muted);justify-content:space-between;font-size:12px}.clients-form,.clients-detail__header,.clients-detail__readonly,.clients-delete-dialog{gap:var(--space-5);padding:var(--space-5);border:1px solid var(--border-subtle);border-radius:var(--radius-panel);background:var(--surface-elevated);display:grid}.clients-form__header,.clients-detail__header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.clients-form__header h2,.clients-detail__header h2,.clients-delete-dialog h2{color:var(--text-primary);margin:0;font-size:20px}.clients-form__header p,.clients-detail__header p,.clients-delete-dialog p{margin:var(--space-2) 0 0;color:var(--text-secondary);font-size:13px}.clients-form__grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.clients-form__textarea{min-height:104px;padding-block:var(--space-3);resize:vertical}.clients-form__error,.clients-form__saved,.clients-detail__readonly{padding:var(--space-3);border-left:2px solid var(--danger);color:var(--danger);background:var(--surface);margin:0;font-size:13px}.clients-form__saved{border-left-color:var(--success);color:var(--success)}.clients-detail__readonly{border-left-color:var(--warning);color:var(--warning)}.clients-detail__back{font-size:12px}.clients-detail__metadata{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));margin:0;display:grid}.clients-detail__metadata>div{gap:var(--space-1);padding:var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:var(--surface);display:grid}.clients-detail__metadata dt{color:var(--text-muted);font-size:11px}.clients-detail__metadata dd{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:12px;overflow:hidden}.clients-delete-dialog{border-color:var(--danger)}@media (width<=767px){.clients-page,.clients-detail{margin-top:var(--space-5)}.clients-page__toolbar,.clients-form__header,.clients-detail__header{flex-direction:column;align-items:stretch}.clients-page__toolbar>.ledger-field,.clients-form__grid,.clients-detail__metadata{grid-template-columns:1fr;width:100%}.clients-page__toolbar-actions{justify-content:flex-start}.clients-pagination{flex-direction:column;align-items:stretch}.clients-pagination .ledger-button{width:100%}}.visually-hidden{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.estimate-workspace{background:var(--surface);grid-template-rows:40px minmax(0,1fr);grid-template-columns:minmax(0,1fr);height:100%;display:grid;overflow:hidden}.estimate-workspace[data-inspector=open]{grid-template-columns:minmax(0, 1fr) var(--inspector-desktop)}.estimate-toolbar{justify-content:space-between;align-items:center;gap:var(--space-4);padding:0 var(--space-4);border-bottom:1px solid var(--border-subtle);background:var(--surface);grid-column:1/-1;display:flex}.estimate-toolbar h1{margin:0;font-size:13px}.estimate-eyebrow{margin:0 0 var(--space-1);color:var(--text-muted);font-size:12px;font-weight:700;line-height:16px;display:none}.estimate-toolbar__actions{gap:var(--space-2);display:flex}.estimate-toolbar__actions .ledger-button{min-height:36px;font-size:14px}.estimate-workspace__content{min-width:0;min-height:0;overflow:hidden}.estimate-workspace__content>.ledger-stack{height:100%}.estimate-workspace[data-scenario=estimate-large] .ledger-table{width:2460px}.estimate-empty{background:var(--surface);grid-template-columns:760px minmax(520px,1fr);height:100%;display:grid;overflow:auto}.estimate-empty__primary,.estimate-empty__steps{padding:var(--space-8)}.estimate-empty__primary{border-right:1px solid var(--border-subtle)}.estimate-empty h2{margin:0;font-size:24px;font-weight:600;line-height:32px}.estimate-empty__primary>p:not(.estimate-eyebrow,.estimate-empty__filename){margin:var(--space-3) 0 0;color:var(--text-secondary);font-size:14px;line-height:1.5}.estimate-empty__notice{gap:var(--space-1);margin-top:var(--space-6);padding:var(--space-4);border-left:1px solid var(--accent-copper);color:var(--text-primary);background:var(--surface-elevated);font-size:13px;display:grid}.estimate-empty__notice span{color:var(--text-secondary)}.estimate-empty__actions{gap:var(--space-2);margin-top:var(--space-6);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.estimate-empty__actions .ledger-button{justify-content:flex-start;min-height:40px;text-decoration:none}.estimate-empty__quick{border-color:var(--accent-copper);background:var(--accent-copper)}.estimate-empty__upload{cursor:pointer;grid-column:1/-1;position:relative}.estimate-empty__upload:focus-within{outline:1px solid var(--accent-copper);outline-offset:4px}.estimate-empty__filename{margin:var(--space-3) 0 0;color:var(--text-secondary);font-size:12px}.estimate-empty__steps h3{text-transform:uppercase;margin:0;font-size:12px}.estimate-empty__steps ol{margin:var(--space-4) 0 0;counter-reset:estimate-step;padding:0;list-style:none;display:grid}.estimate-empty__steps li{gap:var(--space-1) var(--space-3);padding:var(--space-5) 0;border-top:1px solid var(--border-subtle);counter-increment:estimate-step;grid-template-columns:28px minmax(0,1fr);display:grid}.estimate-empty__steps li:before{color:var(--accent-copper-hover);content:"0" counter(estimate-step);font-variant-numeric:tabular-nums;grid-row:1/3}.estimate-empty__steps span{color:var(--text-muted);font-size:12px}.estimate-inspector{border-left:1px solid var(--border-strong);background:var(--surface-elevated);grid-area:2/2;grid-template-rows:auto auto minmax(0,1fr);min-width:0;min-height:0;display:grid;position:relative}.estimate-inspector__header{min-height:76px;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-subtle);justify-content:space-between;align-items:center;display:flex}.estimate-inspector__header h2{margin:0;font-size:18px}.estimate-inspector__header>button{border:1px solid var(--border-subtle);border-radius:var(--radius-control);width:44px;min-height:44px;color:var(--text-secondary);background:var(--surface);cursor:pointer;justify-content:center;align-items:center;padding:0;display:inline-flex}.estimate-inspector__warning{padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--border-subtle);color:var(--warning);margin:0;font-size:12px}.estimate-inspector__form{gap:var(--space-5);min-height:0;padding:var(--space-5);flex-direction:column;display:flex;overflow:auto}.estimate-inspector__policy{padding:var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-panel);background:var(--surface)}.estimate-inspector__form .ledger-field__input{min-height:var(--field-inspector)}.estimate-inspector__context{padding-top:var(--space-4);border-top:1px solid var(--border-subtle)}.estimate-inspector__context h3{margin:0 0 var(--space-3);text-transform:uppercase;font-size:12px}.estimate-inspector__context dl{gap:var(--space-2);margin:0;display:grid}.estimate-inspector__context dl>div{justify-content:space-between;gap:var(--space-4);display:flex}.estimate-inspector__context dt{color:var(--text-muted)}.estimate-inspector__context dd{margin:0}.estimate-inspector__footer{gap:var(--space-2);width:100%;padding-top:var(--space-4);border-top:1px solid var(--border-subtle);grid-template-columns:auto minmax(0,1fr);align-self:end;margin-top:auto;display:grid}.estimate-confirm{z-index:60;padding:var(--space-5);background:#07090cb8;place-items:center;display:grid;position:fixed;inset:0}.estimate-confirm__panel{width:min(100%, var(--inspector-desktop));padding:var(--space-8) var(--space-5) var(--space-5);border:1px solid var(--border-strong);border-radius:var(--radius-panel);background:var(--surface-elevated)}.estimate-confirm__panel p{color:var(--text-secondary);line-height:1.5}.estimate-confirm__actions{gap:var(--space-2);margin-top:var(--space-3);display:flex}.estimate-live{right:var(--space-4);bottom:var(--space-4);z-index:50;max-width:420px;color:var(--text-secondary);margin:0;font-size:12px;position:fixed}.estimate-mobile-handoff{gap:var(--space-3);height:100%;padding:var(--space-3) var(--space-4) 0;background:var(--surface);grid-template-rows:auto minmax(0,1fr);display:grid;overflow:auto}.estimate-mobile-context,.estimate-mobile-summary{border:1px solid var(--border-subtle);border-radius:var(--radius-panel);background:var(--surface-elevated);margin:0;overflow:hidden}.estimate-mobile-context>div,.estimate-mobile-summary>div{align-items:center;gap:var(--space-2);min-height:40px;padding:var(--space-1) var(--space-3);border-top:1px solid var(--border-subtle);grid-template-columns:104px minmax(0,1fr);display:grid}.estimate-mobile-context>div:first-child,.estimate-mobile-summary>div:first-child{border-top:0}.estimate-mobile-context>.is-current{border-left:1px solid var(--accent-copper);background:var(--surface-selected)}.estimate-mobile-context dt,.estimate-mobile-summary dt{color:var(--text-secondary);font-size:16px;font-weight:500;line-height:24px}.estimate-mobile-context dd,.estimate-mobile-summary dd{color:var(--text-primary);margin:0;font-size:16px;line-height:24px}.estimate-mobile-step{grid-template-rows:minmax(0,1fr) 92px;min-height:0;display:grid}.estimate-mobile-step__panel{gap:var(--space-2);min-height:0;padding:var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-panel);background:var(--surface-elevated);align-content:start;display:grid;overflow-y:auto}.estimate-mobile-step__panel>header{justify-content:space-between;align-items:center;gap:var(--space-3);color:var(--text-secondary);font-size:16px;line-height:24px;display:flex}.estimate-mobile-progress{background:var(--border-strong);height:3px}.estimate-mobile-progress span{background:var(--accent-copper);width:50%;height:100%;display:block}.estimate-mobile-step__kicker{margin:var(--space-2) 0 0;color:var(--text-secondary);font-size:16px;font-weight:600;line-height:24px}.estimate-mobile-step h2{text-transform:uppercase;margin:0;font-size:20px}.estimate-mobile-step__panel>p:not(.estimate-mobile-step__kicker,.estimate-mobile-saved){color:var(--text-secondary);margin:0;font-size:16px;line-height:1.25}.estimate-mobile-field{gap:var(--space-1);margin-top:var(--space-1);color:var(--text-primary);font-size:16px;font-weight:700;display:grid}.estimate-mobile-field__control{min-height:56px;padding:0 var(--space-3);border:1px solid var(--accent-copper);border-radius:var(--radius-control);grid-template-columns:minmax(0,1fr) auto;align-items:center;display:grid}.estimate-mobile-field__control:focus-within{outline:1px solid var(--accent-copper);outline-offset:4px}.estimate-mobile-field input{min-width:0;color:var(--text-primary);font:inherit;text-align:right;background:0 0;border:0;font-size:20px}.estimate-mobile-field input:focus{outline:0}.estimate-mobile-field__control>span{margin-left:var(--space-2);color:var(--text-secondary);font-weight:400}.estimate-mobile-saved{justify-self:start;align-items:center;gap:var(--space-2);padding:var(--space-3);border:1px solid var(--success);border-radius:var(--radius-control);color:var(--success);margin:0;font-size:16px;line-height:24px;display:inline-flex}.estimate-mobile-autosave{border-color:var(--accent-copper);min-height:44px;color:var(--text-primary);justify-self:start}.estimate-mobile-summary{background:0 0;border-width:1px 0 0;border-radius:0}.estimate-mobile-summary>div{grid-template-columns:minmax(0,1fr) auto;padding-inline:0}.estimate-mobile-summary dd{font-weight:700}.estimate-mobile-step>footer{gap:var(--space-2);margin-inline:calc(var(--space-4) * -1);padding:var(--space-3) var(--space-4);border-top:1px solid var(--border-strong);background:var(--shell);grid-template-columns:minmax(0,.8fr) minmax(0,1.2fr);align-items:center;display:grid}.estimate-mobile-step>footer .ledger-button{justify-content:center;min-height:64px;font-size:16px}@media (width<=767px){.estimate-workspace{grid-template-rows:64px minmax(0,1fr)}.estimate-workspace[data-scenario=mobile-shell]{grid-template-rows:minmax(0,1fr)}.estimate-workspace[data-scenario=mobile-shell]>.estimate-toolbar{display:none}.estimate-workspace[data-inspector=open]{grid-template-columns:minmax(0,1fr)}.estimate-toolbar{padding-inline:var(--space-3)}.estimate-toolbar__actions{max-width:62%;overflow-x:auto}.estimate-toolbar__actions .ledger-button{white-space:nowrap;min-width:44px;min-height:44px}.estimate-empty{grid-template-columns:minmax(0,1fr)}.ledger-scroll{display:none}.estimate-mobile-handoff{display:grid}.estimate-empty__primary,.estimate-empty__steps{padding:var(--space-6) var(--space-4)}.estimate-empty__primary{border-right:0;border-bottom:1px solid var(--border-subtle)}.estimate-empty__actions{grid-template-columns:minmax(0,1fr)}.estimate-empty__actions .ledger-button{min-height:44px}.estimate-empty__upload{grid-column:1}.estimate-inspector{z-index:40;border-left:0;width:100%;position:fixed;inset:0}.estimate-inspector__footer{grid-template-columns:minmax(0,1fr)}}@media (width>=768px) and (width<=1439px){.estimate-workspace[data-inspector=open]{grid-template-columns:minmax(0,1fr)}.estimate-inspector{top:var(--topbar-height);z-index:20;width:var(--inspector-constrained);border:1px solid var(--border-strong);position:fixed;bottom:0;right:0}}@media (width>=1440px){.estimate-workspace[data-inspector=open]{grid-template-columns:minmax(0, 1fr) var(--inspector-desktop)}}@media (width>=768px) and (width<=1439px) and (height<=599px){.estimate-inspector{z-index:40;border-left:0;width:100%;position:fixed;inset:0}}.estimate-remote{min-height:100%;padding:var(--space-6);background:var(--surface);overflow:auto}.estimate-remote__toolbar{min-height:72px;padding:0 0 var(--space-5);border-bottom:1px solid var(--border-subtle)}.estimate-remote__toolbar h1,.estimate-remote--detail .estimate-remote__toolbar h1{margin:0;font-size:24px;line-height:32px}.estimate-remote .estimate-eyebrow{display:block}.estimate-remote__subtitle,.estimate-remote__muted{margin:var(--space-2) 0 0;color:var(--text-secondary);font-size:13px;line-height:1.45}.estimate-remote__toolbar>.ledger-button{flex:none}.estimate-remote__error{justify-content:space-between;align-items:center;gap:var(--space-4);margin:var(--space-5) 0 0;padding:var(--space-4);border:1px solid var(--danger);color:var(--text-primary);background:var(--surface-elevated);display:flex}.estimate-remote__error .ledger-button{flex:none}.estimate-remote__status,.estimate-remote__saved{margin:var(--space-6) 0 0;color:var(--text-secondary)}.estimate-remote__saved{color:var(--success)}.estimate-remote__empty{gap:var(--space-3);max-width:620px;margin:var(--space-8) auto;padding:var(--space-8);border:1px solid var(--border-subtle);background:var(--surface-elevated);display:grid}.estimate-remote__empty h2,.estimate-remote-panel h2{margin:0;font-size:18px;line-height:24px}.estimate-remote__empty p{color:var(--text-secondary);margin:0}.estimate-remote__list{gap:var(--space-2);margin-top:var(--space-5);display:grid}.estimate-remote-card{gap:var(--space-4);padding:var(--space-4);border:1px solid var(--border-subtle);color:inherit;background:var(--surface-elevated);grid-template-columns:minmax(0,1fr) auto auto;align-items:center;text-decoration:none;display:grid}.estimate-remote-card:hover{border-color:var(--border-strong);background:var(--surface-selected)}.estimate-remote-card__main{gap:var(--space-1);min-width:0;display:grid}.estimate-remote-card__main strong{text-overflow:ellipsis;white-space:nowrap;font-size:15px;overflow:hidden}.estimate-remote-card__main small{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;font-size:12px;overflow:hidden}.estimate-remote-card__amount{color:var(--text-primary);font-variant-numeric:tabular-nums;white-space:nowrap}.estimate-remote__pagination{margin-top:var(--space-5);justify-content:center;display:flex}.estimate-remote__back{align-items:center;gap:var(--space-1);margin-bottom:var(--space-3);color:var(--text-secondary);font-size:13px;text-decoration:none;display:inline-flex}.estimate-remote__back:hover{color:var(--text-primary)}.estimate-remote--detail .estimate-remote__toolbar{align-items:flex-start}.estimate-remote--detail .estimate-remote__toolbar>div:first-child{min-width:0}.estimate-remote--detail .status-badge{margin-top:var(--space-2)}.estimate-remote-editor{gap:var(--space-5);max-width:1180px;margin:var(--space-5) auto 0;display:grid}.estimate-remote-panel{gap:var(--space-5);padding:var(--space-5);border:1px solid var(--border-subtle);background:var(--surface-elevated);display:grid}.estimate-remote-panel__header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.estimate-remote-select{gap:var(--space-2);min-width:180px;display:grid}.estimate-remote-select span,.estimate-remote-textarea>span{color:var(--text-secondary);font-size:13px;font-weight:600}.estimate-remote-select select{min-height:var(--field-dense);padding:0 var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-control);color:var(--text-primary);background:var(--surface);font:inherit}.estimate-remote-grid{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.estimate-remote-textarea{gap:var(--space-2);display:grid}.estimate-remote-textarea textarea{box-sizing:border-box;width:100%;min-height:100px;padding:var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-control);color:var(--text-primary);background:var(--surface);font:inherit;resize:vertical;font-size:14px;line-height:1.45}.estimate-remote-textarea small{color:var(--text-muted);font-size:12px}.estimate-remote-items-scroll{overflow-x:auto}.estimate-remote-items{border-collapse:collapse;width:100%;min-width:720px}.estimate-remote-items th{padding:0 var(--space-3) var(--space-2);color:var(--text-muted);text-align:left;font-size:12px;font-weight:600}.estimate-remote-items td{padding:var(--space-2) var(--space-3);border-top:1px solid var(--border-subtle);vertical-align:top}.estimate-remote-items td:first-child{min-width:300px}.estimate-remote-items .ledger-field{min-width:100px}.estimate-remote-items .ledger-field__label:empty{display:none}.estimate-remote-items .ledger-button{min-width:36px;padding:0 var(--space-2)}.estimate-remote-editor__footer{padding-bottom:var(--space-4);justify-content:flex-end;display:flex}@media (width<=767px){.estimate-remote{padding:var(--space-4)}.estimate-remote__toolbar,.estimate-remote-panel__header,.estimate-remote--detail .estimate-remote__toolbar{flex-direction:column;align-items:stretch}.estimate-remote__toolbar>.ledger-button,.estimate-remote__toolbar .ledger-button{width:100%}.estimate-remote-card{gap:var(--space-2);grid-template-columns:minmax(0,1fr) auto}.estimate-remote-card .status-badge{grid-column:1/-1;justify-self:start}.estimate-remote-grid{grid-template-columns:minmax(0,1fr)}.estimate-remote-select{min-width:0}.estimate-remote-panel{padding:var(--space-4)}.estimate-remote-editor__footer .ledger-button{width:100%}}.files-section{gap:var(--space-4);margin-top:var(--space-5);padding:var(--space-5);border:1px solid var(--border-subtle);border-radius:var(--radius-panel);background:var(--surface-elevated);display:grid}.files-section__header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.files-section__header h2,.files-section__state h3,.files-section__header p,.files-section__state p,.files-section__readonly,.files-section__error,.files-section__status{margin:0}.files-section__header h2{margin-top:var(--space-2);color:var(--text-primary);font-size:20px}.files-section__eyebrow{color:var(--text-muted);letter-spacing:.04em;font-size:11px;font-weight:600}.files-section__readonly,.files-section__state,.files-section__error,.files-section__status{padding:var(--space-3);color:var(--text-secondary);background:var(--surface);font-size:13px}.files-section__state{gap:var(--space-2);border:1px solid var(--border-subtle);border-radius:var(--radius-control);display:grid}.files-section__error{border-left:2px solid var(--danger);color:var(--danger)}.files-section__status{border-left:2px solid var(--success);color:var(--success)}.files-upload{align-items:end;gap:var(--space-4);padding:var(--space-4);border:1px dashed var(--border-strong);border-radius:var(--radius-control);background:var(--surface);flex-wrap:wrap;display:flex}.files-upload .ledger-field{flex:220px;min-width:min(100%,220px)}.files-upload__picker{align-items:center;min-height:44px;display:inline-flex;position:relative;overflow:hidden}.files-section .ledger-button{min-height:44px}.files-upload__picker input{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.files-upload__picker input:focus-visible+.ledger-button,.files-upload__picker:focus-within .ledger-button{outline:1px solid var(--accent-copper);outline-offset:4px}.files-list{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.files-list__item{gap:var(--space-4);padding:var(--space-4);border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:var(--surface);grid-template-columns:minmax(0,1.4fr) minmax(240px,2fr) auto;align-items:center;display:grid}.files-list__identity{gap:var(--space-1);min-width:0;display:grid}.files-list__identity strong{color:var(--text-primary);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.files-list__identity span,.files-list__metadata dt{color:var(--text-muted);font-size:12px}.files-list__metadata{gap:var(--space-4);flex-wrap:wrap;margin:0;display:flex}.files-list__metadata>div{gap:var(--space-1);display:grid}.files-list__metadata dd{color:var(--text-secondary);font-variant-numeric:tabular-nums;margin:0;font-size:12px}.files-list__actions,.files-delete-dialog__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.files-delete-dialog{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--danger);border-radius:var(--radius-control);background:var(--surface);display:grid}.files-delete-dialog h3,.files-delete-dialog p{margin:0}.files-delete-dialog p{color:var(--text-secondary);font-size:13px}@media (width<=900px){.files-list__item{grid-template-columns:1fr}}@media (width<=767px){.files-section{padding:var(--space-4)}.files-section__header{flex-direction:column;align-items:stretch}.files-upload__picker,.files-upload__picker .ledger-button,.files-list__actions,.files-list__actions .ledger-button,.files-delete-dialog__actions,.files-delete-dialog__actions .ledger-button{width:100%}}.photos-section{border:1px solid var(--color-border,#d8d2c7);border-radius:12px;margin-top:2rem;padding:1.25rem}.photos-section__header{justify-content:space-between;align-items:start;gap:1rem;display:flex}.photos-section__eyebrow{letter-spacing:.12em;margin:0;font-size:.7rem}.photos-tabs{gap:.5rem;margin:1rem 0;display:flex}.photos-tabs__tab,.photos-upload .ledger-button{cursor:pointer;border-radius:8px;min-height:44px;padding:.65rem 1rem}.photos-tabs__tab{border:1px solid var(--color-border,#d8d2c7);background:0 0}.photos-tabs__tab.is-active{background:var(--color-ink,#20201d);color:#fff}.photos-upload{margin-bottom:1rem;display:inline-flex}.photos-upload input{opacity:0;width:1px;height:1px;position:absolute}.photos-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem;margin:1rem 0;padding:0;list-style:none;display:grid}.photos-grid__card{border:1px solid var(--color-border,#d8d2c7);border-radius:10px;flex-direction:column;gap:.5rem;min-width:0;padding:.75rem;display:flex}.photos-grid__image{aspect-ratio:4/3;background:#f2eee7;border-radius:6px;place-items:center;display:grid;overflow:hidden}.photos-grid__image img{object-fit:cover;width:100%;height:100%}.photos-grid__card p{color:var(--color-muted,#665f54);margin:0}.photos-grid__actions{margin-top:auto}.photos-dialog{border:2px solid var(--color-border,#d8d2c7);background:var(--color-surface,white);border-radius:10px;gap:.75rem;padding:1rem;display:grid}.photos-dialog .ledger-button{min-height:44px}.ledger-stack{background:var(--surface);grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;display:grid}.ledger-stack>[role=status]{padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--border-subtle);color:var(--text-secondary);margin:0;font-size:13px}.ledger-scroll{min-width:0;min-height:0;overflow:auto}.ledger-table{border-collapse:collapse;table-layout:fixed;width:max(100%,1180px);color:var(--text-primary);font-size:13px;line-height:20px}.ledger-table :is(th,td){padding:0 var(--space-3);border-right:1px solid var(--border-subtle);border-bottom:1px solid var(--border-subtle);text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.ledger-table :is(th,td):last-child{border-right:0}.ledger-head{z-index:4;height:48px;color:var(--text-secondary);background:var(--surface);text-align:left;text-transform:uppercase;font-size:12px;line-height:16px;position:sticky;top:0}.ledger-head th:first-child{width:45%}.ledger-head th:nth-child(2){width:8%}.ledger-head th:nth-child(3){text-align:right;width:8%}.ledger-head th:nth-child(4){text-align:right;width:5%}.ledger-head th:nth-child(5){text-align:right;width:10%}.ledger-head th:nth-child(6){width:10%}.ledger-head th:nth-child(7){text-align:right;width:10%}.ledger-head th:nth-child(8){width:4%}.ledger-row{height:var(--row-standard);background:var(--surface);cursor:pointer}.ledger-row:hover{background:var(--surface-elevated)}.ledger-row[data-selected=true]{background:var(--surface-selected)}.ledger-row[data-selected=true]>:first-child{border-left:1px solid var(--accent-copper)}.ledger-row:focus-visible{z-index:3;outline:1px solid var(--accent-copper);outline-offset:4px;position:relative}.ledger-name{z-index:2;background:inherit;text-align:left;font-weight:400;position:sticky;left:0}.ledger-name__content{align-items:center;gap:var(--space-2);min-width:0;padding-left:calc(12px + var(--ledger-depth) * 16px);display:flex}.ledger-name__text{align-items:baseline;gap:var(--space-1);min-width:0;display:flex;overflow:hidden}.ledger-name__text strong{text-overflow:ellipsis;font-weight:600;overflow:hidden}.ledger-name__text small{color:var(--text-muted);text-overflow:ellipsis;overflow:hidden}.ledger-disclosure,.ledger-disclosure-slot{flex:0 0 24px;justify-content:center;align-items:center;width:24px;height:24px;display:inline-flex}.ledger-disclosure{color:var(--text-secondary);cursor:pointer;background:0 0;border:0;padding:0}.ledger-type-icon{color:var(--text-secondary);flex:none}.ledger-row[data-selected=true] .ledger-type-icon{color:var(--accent-copper-hover)}.ledger-type,.ledger-unit{color:var(--text-secondary)}.ledger-number,.ledger-unit{text-align:right;font-variant-numeric:tabular-nums}.ledger-aggregate{color:var(--success)}.ledger-actions button{width:28px;height:28px;color:var(--text-muted);cursor:pointer;opacity:0;background:0 0;border:0;justify-content:center;align-items:center;padding:0;display:inline-flex}.ledger-row:hover .ledger-actions button,.ledger-row:focus-within .ledger-actions button,.ledger-actions button:focus-visible{opacity:1}.ledger-total{z-index:4;background:var(--surface);height:56px;position:sticky;bottom:0}.ledger-total th{text-align:left}.ledger-loading-bar{border-radius:var(--radius-control);background:var(--border-subtle);width:54%;height:8px;display:block}.ledger-row--loading{color:var(--text-muted);cursor:default}.local-measurements-workspace,.measurement-workspace{background:var(--surface);min-width:0;height:100%;overflow:auto}.measurement-local-warning{justify-content:space-between;align-items:center;gap:var(--space-3);min-width:0;padding:var(--space-3) var(--space-5);border-bottom:1px solid var(--warning);color:var(--warning);background:var(--surface-elevated);font-size:13px;line-height:20px;display:flex}.measurement-local-warning>p{margin:0}.measurement-persistence-state,.measurement-persistence-error{align-items:center;gap:var(--space-2);min-width:0;display:inline-flex}.measurement-persistence-state{color:var(--text-secondary);white-space:nowrap}.measurement-persistence-state time{color:var(--text-primary);font-variant-numeric:tabular-nums}.measurement-persistence-error{color:var(--danger)}.measurement-persistence-error .ledger-button{min-height:32px}.measurement-live-status{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}.measurement-room-setup{width:min(100%,880px);padding:var(--space-8)}.measurement-room-setup header p:last-child,.measurement-surface-stage header p:last-child{color:var(--text-secondary)}.measurement-room-setup h1,.measurement-surface-stage h1{margin:0;font-size:24px;line-height:32px}.measurement-room-setup>header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.measurement-eyebrow{margin:0 0 var(--space-2);color:var(--accent-copper-hover);font-size:12px;font-weight:700;line-height:16px}.measurement-room-setup form{gap:var(--space-5);margin-top:var(--space-8);display:grid}.measurement-room-setup__dimensions{gap:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.measurement-room-setup form>.ledger-button{justify-self:start}.measurement-surface-stage{grid-template-rows:auto minmax(0,1fr);min-height:100%;display:grid;overflow:hidden}.measurement-surface-stage>header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-subtle);display:flex}.measurement-surface-stage__workspace{grid-template-columns:minmax(0, 1fr) var(--inspector-desktop);min-width:0;min-height:0;display:grid;overflow:hidden}.measurement-surface-stage__list{gap:var(--space-4);min-width:0;min-height:0;padding:var(--space-5);flex-direction:column;display:flex;overflow:auto}.measurement-completion{justify-items:start;gap:var(--space-2);display:grid}.measurement-completion__problem{max-width:52ch;color:var(--danger);margin:0;font-size:12px;line-height:16px}.measurement-surface-stage__list>.ledger-button{align-self:flex-start}.measurement-surface-list{gap:var(--space-3);display:grid}.measurement-surface-card{align-items:center;gap:var(--space-4);width:100%;min-height:92px;padding:var(--space-3) var(--space-4);border:1px solid var(--border-subtle);border-radius:var(--radius-panel);color:var(--text-primary);background:var(--surface-elevated);font:inherit;text-align:left;cursor:pointer;grid-template-columns:minmax(180px,.8fr) minmax(0,1.2fr) auto;display:grid}.measurement-surface-card[aria-pressed=true]{border-color:var(--accent-copper);background:var(--surface-selected)}.measurement-surface-card__heading,.measurement-surface-card__metrics{gap:var(--space-1);display:grid}.measurement-surface-card__heading>span,.measurement-surface-card__metrics{color:var(--text-secondary);font-variant-numeric:tabular-nums;font-size:12px;line-height:16px}.measurement-surface-card__metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.measurement-surface-card__error{color:var(--danger);font-size:12px}.measurement-surface-editor{border-left:1px solid var(--border-strong);background:var(--surface-elevated);grid-template-rows:auto minmax(0,1fr);min-width:0;min-height:0;display:grid}.measurement-surface-editor>header{align-items:center;gap:var(--space-4);min-height:96px;padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-subtle);display:flex}.measurement-surface-editor h2,.measurement-surface-editor h3{margin:0}.measurement-surface-editor header p:last-child,.measurement-empty-copy{margin:var(--space-1) 0 0;color:var(--text-secondary);font-variant-numeric:tabular-nums;font-size:13px}.measurement-surface-editor__back{display:none}.measurement-surface-editor__body{gap:var(--space-6);min-height:0;padding:var(--space-5);align-content:start;display:grid;overflow:auto}.measurement-surface-editor__body>section,.measurement-surface-part-panel>section{gap:var(--space-4);display:grid}.measurement-surface-card__heading>.measurement-surface-card__badge{width:fit-content;padding:2px var(--space-2);border:1px solid var(--border-strong);color:var(--text-primary);background:var(--surface-selected);border-radius:999px;font-size:11px;font-weight:700;line-height:16px}.measurement-surface-part-panel{gap:var(--space-6);display:grid}.measurement-surface-geometry{gap:var(--space-4);display:grid}.measurement-geometry-kind{gap:var(--space-2);display:grid}.measurement-geometry-kind>label{color:var(--text-secondary);font-size:13px;font-weight:700}.measurement-geometry-kind select{min-width:0;min-height:40px;padding:0 var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-control);color:var(--text-primary);background:var(--surface);font:inherit}.measurement-geometry-kind select:disabled{cursor:not-allowed;opacity:.7}.measurement-geometry-kind-help,.measurement-geometry-preview p{color:var(--text-secondary);margin:0;font-size:13px}.measurement-geometry-fields{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.measurement-geometry-preview{gap:var(--space-2);padding:var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:var(--surface);display:grid}.measurement-geometry-preview strong{color:var(--text-primary);font-variant-numeric:tabular-nums}.measurement-surface-split__heading{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.measurement-split-axis{gap:var(--space-4);padding:var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-control);margin:0;display:flex}.measurement-split-axis legend{padding-inline:var(--space-1);color:var(--text-secondary);font-size:13px}.measurement-split-axis label{align-items:center;gap:var(--space-2);cursor:pointer;min-height:40px;display:inline-flex}.measurement-split-axis input{width:20px;height:20px;accent-color:var(--accent-copper)}.measurement-split-part-names{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.measurement-split-derived-parts{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.measurement-split-derived-parts li{gap:var(--space-3);padding:var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-control);color:var(--text-secondary);background:var(--surface);font-variant-numeric:tabular-nums;grid-template-columns:minmax(0,1fr) auto auto;display:grid}.measurement-split-derived-parts strong{color:var(--text-primary)}.measurement-surface-part-tabs{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.measurement-surface-part-tabs>button{min-height:40px;padding:var(--space-2) var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-control);color:var(--text-secondary);background:var(--surface);font:inherit;cursor:pointer}.measurement-surface-part-tabs>button[aria-selected=true]{border-color:var(--accent-copper);color:var(--text-primary);background:var(--surface-selected)}.measurement-opening-list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.measurement-opening-list li{justify-content:space-between;align-items:center;gap:var(--space-3);padding:var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:var(--surface);grid-template-columns:minmax(0,1fr) minmax(10rem,auto) auto;display:grid}.measurement-opening-list li>span{gap:var(--space-1);display:grid}.measurement-opening-list small{color:var(--text-secondary);font-variant-numeric:tabular-nums}.measurement-opening-form,.measurement-override-fields{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--border-subtle);border-radius:var(--radius-panel);background:var(--surface);display:grid}.measurement-opening-form__dimensions{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.measurement-opening-form>.ledger-button{justify-self:start}.measurement-override-toggle{align-items:center;gap:var(--space-3);cursor:pointer;min-height:44px;display:flex}.measurement-override-toggle input{width:20px;height:20px;accent-color:var(--accent-copper)}.measurement-calculation{padding:var(--space-4);border:1px solid var(--border-subtle);border-radius:var(--radius-panel);background:var(--surface)}.measurement-calculation p{justify-content:space-between;gap:var(--space-4);color:var(--text-secondary);font-variant-numeric:tabular-nums;margin:0;display:flex}.measurement-calculation__total{padding-top:var(--space-3);border-top:1px solid var(--border-subtle)}.measurement-calculation__total strong{color:var(--success)}.measurement-error{padding:var(--space-3);border-left:1px solid var(--danger);background:var(--surface-elevated);color:var(--danger)!important}.measurement-summary{gap:var(--space-6);width:min(100%,960px);padding:var(--space-8);display:grid}.measurement-summary>header{justify-content:space-between;align-items:flex-end;gap:var(--space-5);display:flex}.measurement-summary h1{margin:0;font-size:24px;line-height:32px}.measurement-summary__status{margin:var(--space-2) 0 0;color:var(--warning)}.measurement-summary__room{gap:var(--space-1);color:var(--text-secondary);text-align:right;font-variant-numeric:tabular-nums;display:grid}.measurement-summary__room strong{color:var(--text-primary)}.measurement-summary__surfaces{gap:var(--space-2);display:grid}.measurement-summary__surface{gap:var(--space-4);min-height:64px;padding:var(--space-3) var(--space-4);border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:var(--surface-elevated);font-variant-numeric:tabular-nums;display:grid}.measurement-summary__surface-heading,.measurement-summary__part{justify-content:space-between;align-items:center;gap:var(--space-4);display:flex}.measurement-summary__surface-heading>span:first-child,.measurement-summary__part>span:first-child{gap:var(--space-1);display:grid}.measurement-summary__surface small,.measurement-summary__part small{color:var(--text-secondary)}.measurement-summary__parts{gap:var(--space-2);padding-top:var(--space-3);border-top:1px solid var(--border-subtle);display:grid}.measurement-summary__part{min-height:48px;padding:var(--space-2) var(--space-3);border-radius:var(--radius-control);background:var(--surface-selected)}.measurement-summary__part strong{font-size:13px}.measurement-summary__totals{gap:var(--space-3);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.measurement-summary__totals>div{gap:var(--space-2);padding:var(--space-4);border:1px solid var(--border-subtle);border-radius:var(--radius-panel);color:var(--text-secondary);background:var(--surface-elevated);display:grid}.measurement-summary__totals strong{color:var(--success);font-variant-numeric:tabular-nums;font-size:20px}.measurement-summary__actions{gap:var(--space-3);flex-wrap:wrap;display:flex}.measurement-draft-list{gap:var(--space-6);width:min(100%,960px);padding:var(--space-8);display:grid}.measurement-list-loading,.measurement-list-error{width:min(100%,960px);padding:var(--space-8);margin:0}.measurement-list-error{gap:var(--space-3);display:grid}.measurement-list-error h1,.measurement-list-error p{margin:0}.measurement-list-error__actions,.measurement-operation-error{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.measurement-operation-error{width:min(100%,960px);padding:var(--space-3) var(--space-8) 0;color:var(--danger)}.measurement-storage-warning{width:min(100%,960px);padding:var(--space-3) var(--space-8) 0;color:var(--warning);margin:0}.measurement-draft-list__header{justify-content:space-between;align-items:flex-start;gap:var(--space-5);display:flex}.measurement-draft-list__header h1,.measurement-draft-card h2,.measurement-draft-list__empty h2,.measurement-delete-dialog h2{margin:0}.measurement-save-status,.measurement-draft-card__updated,.measurement-draft-list__empty p{margin:var(--space-2) 0 0;color:var(--text-secondary);font-size:13px;line-height:20px}.measurement-draft-list__items{gap:var(--space-3);margin:0;padding:0;list-style:none;display:grid}.measurement-draft-card{align-items:center;gap:var(--space-4);min-width:0;padding:var(--space-4);border:1px solid var(--border-subtle);border-radius:var(--radius-panel);background:var(--surface-elevated);grid-template-columns:minmax(0,1fr) minmax(160px,auto) auto;display:grid}.measurement-draft-card__content,.measurement-draft-card__meta{gap:var(--space-2);min-width:0;display:grid}.measurement-draft-card__dimensions{color:var(--text-secondary);font-variant-numeric:tabular-nums;margin:0}.measurement-draft-card__actions,.measurement-delete-dialog__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.measurement-draft-list__empty{padding:var(--space-5);border:1px dashed var(--border-strong);border-radius:var(--radius-panel);background:var(--surface-elevated)}.measurement-delete-dialog{z-index:2;padding:var(--space-4);background:color-mix(in srgb, var(--surface) 78%, transparent);place-items:center;display:grid;position:fixed;inset:0}.measurement-opening-assignment,.measurement-opening-part-field{gap:var(--space-1);color:var(--text-secondary);font-size:13px;display:grid}.measurement-opening-assignment select,.measurement-opening-part-field select{width:100%;min-height:40px;padding-inline:var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-control);color:var(--text-primary);background:var(--surface-elevated);font:inherit}.measurement-opening-part-field select[aria-invalid=true]{border-color:var(--danger)}.measurement-opening-part-field [role=alert],.measurement-parent-override-note{color:var(--danger);margin:0}.measurement-unsplit-dialog{z-index:3;padding:var(--space-4);background:color-mix(in srgb, var(--surface) 78%, transparent);place-items:center;display:grid;position:fixed;inset:0}.measurement-unsplit-dialog__panel{gap:var(--space-4);width:min(100%,32rem);padding:var(--space-5);border:1px solid var(--border-strong);border-radius:var(--radius-panel);background:var(--surface-elevated);display:grid}.measurement-unsplit-dialog h2,.measurement-unsplit-dialog p{margin:0}.measurement-unsplit-dialog p{color:var(--text-secondary)}.measurement-unsplit-dialog__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.measurement-delete-dialog__panel{gap:var(--space-4);width:min(100%,32rem);padding:var(--space-5);border:1px solid var(--border-strong);border-radius:var(--radius-panel);background:var(--surface-elevated);display:grid}.measurement-delete-dialog__panel>p{color:var(--text-secondary);margin:0}@media (width<=767px){.measurement-local-warning{padding-inline:var(--space-4);flex-direction:column;align-items:flex-start;font-size:16px;line-height:24px}.measurement-room-setup{width:100%;padding:var(--space-5) var(--space-4)}.measurement-room-setup>header{flex-direction:column}.measurement-summary{width:100%;padding:var(--space-5) var(--space-4)}.measurement-summary>header{flex-direction:column;align-items:flex-start}.measurement-summary__room{text-align:left}.measurement-room-setup__dimensions,.measurement-opening-form__dimensions,.measurement-surface-card,.measurement-surface-card__metrics,.measurement-summary__totals,.measurement-draft-card{grid-template-columns:minmax(0,1fr)}.measurement-draft-list,.measurement-list-loading,.measurement-list-error{width:100%;padding:var(--space-5) var(--space-4)}.measurement-operation-error,.measurement-storage-warning{width:100%;padding:var(--space-3) var(--space-4) 0}.measurement-persistence-error{flex-direction:column;align-items:flex-start}.measurement-persistence-error .ledger-button{min-height:44px}.measurement-draft-list__header{flex-direction:column}.measurement-draft-card__actions{width:100%}.measurement-draft-card__actions>.ledger-button,.measurement-delete-dialog__actions>.ledger-button,.measurement-surface-part-tabs>button,.measurement-unsplit-dialog__actions>.ledger-button,.measurement-surface-geometry>.ledger-button,.measurement-geometry-kind select{min-height:44px}.measurement-split-axis{flex-direction:column;align-items:stretch}.measurement-split-axis label,.measurement-surface-part-tabs>button,.measurement-split-part-names,.measurement-geometry-kind select,.measurement-geometry-fields input{font-size:16px;line-height:24px}.measurement-geometry-fields,.measurement-split-derived-parts li,.measurement-opening-list li{grid-template-columns:minmax(0,1fr)}.measurement-opening-assignment,.measurement-opening-part-field,.measurement-opening-assignment select,.measurement-opening-part-field select{min-height:44px;font-size:16px;line-height:24px}.measurement-split-part-names{grid-template-columns:minmax(0,1fr)}.measurement-surface-stage>header{flex-direction:column}.measurement-surface-stage__workspace{grid-template-columns:minmax(0,1fr)}.measurement-surface-stage[data-mobile-editor=open]>header,.measurement-surface-stage[data-mobile-editor=open] .measurement-surface-stage__list,.measurement-surface-stage[data-mobile-editor=closed] .measurement-surface-editor{display:none}.measurement-surface-editor{border-left:0}.measurement-surface-editor__back{display:inline-flex}.measurement-surface-editor__body,.measurement-surface-stage__list{padding:var(--space-4)}.measurement-surface-card,.measurement-override-toggle,.measurement-summary__surface{min-height:44px;font-size:16px;line-height:24px}.measurement-surface-card__heading>span,.measurement-surface-card__metrics,.measurement-surface-card__error,.measurement-surface-editor header p:last-child,.measurement-empty-copy,.measurement-opening-list,.measurement-calculation{font-size:16px;line-height:24px}}.notification-bell{border:1px solid var(--border-subtle);border-radius:var(--radius-control);width:36px;min-height:36px;color:var(--text-secondary);background:var(--surface);justify-content:center;align-items:center;text-decoration:none;display:inline-flex;position:relative}.notification-bell__status{clip:rect(0 0 0 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}.notification-bell:hover,.notification-bell:focus-visible{color:var(--text-primary);border-color:var(--accent-copper)}.notification-bell__badge{border:1px solid var(--shell);min-width:18px;min-height:18px;color:var(--text-primary);background:var(--accent-copper);border-radius:999px;justify-content:center;align-items:center;padding-inline:4px;font-size:10px;font-weight:700;line-height:1;display:inline-flex;position:absolute;top:-7px;right:-7px}.notifications-page{height:100%;padding:var(--space-8);background:var(--surface);overflow:auto}.notifications-page__header,.notifications-section-heading{justify-content:space-between;align-items:flex-start;gap:var(--space-5);display:flex}.notifications-page__header{max-width:1120px;margin:0 auto}.notifications-page h1,.notifications-page h2,.notifications-page p{margin:0}.notifications-page h1{font-size:26px;line-height:34px}.notifications-page__header>div>p:last-child{max-width:680px;margin-top:var(--space-2);color:var(--text-secondary);font-size:14px;line-height:1.5}.notifications-eyebrow{color:var(--accent-copper-hover);font-size:11px;font-weight:700;margin-bottom:var(--space-2)!important}.notifications-read-all,.notification-card button,.notification-card__actions button,.notifications-load-more,.notifications-telegram button,.notifications-state button{justify-content:center;align-items:center;gap:var(--space-2);min-height:40px;padding:0 var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-control);color:var(--text-primary);background:var(--surface-elevated);font:inherit;cursor:pointer;font-size:12px;display:inline-flex}.notifications-page button:disabled{cursor:wait;opacity:.55}.notifications-layout{gap:var(--space-5);max-width:1120px;margin:var(--space-8) auto 0;grid-template-columns:minmax(0,1.6fr) minmax(280px,.8fr);display:grid}.notifications-list-panel,.notifications-telegram,.notifications-unavailable{min-width:0;padding:var(--space-5);border:1px solid var(--border-subtle);border-radius:var(--radius-panel);background:var(--surface-elevated)}.notifications-section-heading{padding-bottom:var(--space-4);border-bottom:1px solid var(--border-subtle);align-items:center}.notifications-section-heading h2{font-size:17px;line-height:24px}.notifications-spinner{color:var(--accent-copper-hover);animation:.9s linear infinite notifications-spin}@keyframes notifications-spin{to{transform:rotate(360deg)}}.notifications-list{gap:var(--space-3);margin-top:var(--space-4);display:grid}.notification-card{gap:var(--space-3);padding:var(--space-4);border:1px solid var(--border-subtle);border-left:2px solid var(--border-subtle);border-radius:var(--radius-control);background:var(--surface);display:grid}.notification-card:has(h2[data-unread=true]){border-left-color:var(--accent-copper)}.notification-card__header{justify-content:space-between;align-items:flex-start;gap:var(--space-3);display:flex}.notification-card h2{font-size:15px;line-height:21px}.notification-card__unread{color:var(--accent-copper-hover);flex:none;font-size:11px;font-weight:700}.notification-card p,.notification-telegram__status,.notifications-state p{color:var(--text-secondary);font-size:13px;line-height:1.5}.notification-card time{color:var(--text-muted);font-size:11px}.notification-card__link{color:var(--accent-copper-hover);font-size:12px}.notification-card__actions,.notifications-telegram__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.notifications-load-more{width:100%}.notifications-state{gap:var(--space-2);min-height:160px;color:var(--text-secondary);text-align:center;align-content:center;justify-items:center;display:grid}.notifications-state small,.notifications-unavailable small{color:var(--text-muted);font-size:12px}.notifications-state[role=alert],.notifications-telegram [role=alert]{color:var(--danger)}.notifications-telegram{align-self:start}.notifications-telegram__status{font-weight:600;margin-top:var(--space-5)!important;color:var(--text-primary)!important}.notifications-telegram__username{color:var(--text-muted);font-size:12px;margin-top:var(--space-1)!important}.notifications-binding-code{gap:var(--space-2);margin-top:var(--space-5);padding:var(--space-3);border:1px dashed var(--accent-copper);color:var(--text-secondary);font-size:12px;display:grid}.notifications-binding-code code{overflow-wrap:anywhere;color:var(--text-primary);font-family:ui-monospace,SFMono-Regular,Consolas,monospace;font-size:13px}.notifications-telegram [role=alert]{margin-top:var(--space-3);font-size:12px}.notifications-telegram__actions{margin-top:var(--space-5)}.notifications-unavailable{max-width:760px;margin:0 auto}.notifications-unavailable p{margin-top:var(--space-3);color:var(--text-secondary)}.notifications-unavailable small{margin-top:var(--space-2);display:block}@media (width<=767px){.notification-bell{width:44px;min-height:44px}.notifications-page{padding:var(--space-5)}.notifications-page__header,.notifications-section-heading{flex-direction:column;align-items:stretch}.notifications-layout{margin-top:var(--space-5);grid-template-columns:minmax(0,1fr)}.notifications-read-all{width:100%}}.project-work{gap:var(--space-5);margin-top:var(--space-5);padding:var(--space-5);border:1px solid var(--border-subtle);border-radius:var(--radius-panel);background:var(--surface-elevated);display:grid}.project-work--unavailable{color:var(--text-secondary)}.project-work__header,.project-work__section-heading,.project-work__item-main,.project-work__actions{align-items:center;gap:var(--space-3);display:flex}.project-work__header,.project-work__section-heading,.project-work__item-main{justify-content:space-between}.project-work__header h2,.project-work__section-heading h3,.project-work__header p,.project-work__status,.project-work__error,.project-work__readonly,.project-work__empty{margin:0}.project-work__eyebrow{margin:0 0 var(--space-1);color:var(--accent-copper-hover);letter-spacing:.04em;font-size:11px;font-weight:700}.project-work__header h2{color:var(--text-primary);font-size:18px}.project-work__sections{gap:var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.project-work__section{align-content:start;gap:var(--space-4);min-width:0;padding:var(--space-4);border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:var(--surface);display:grid}.project-work__section-heading h3{color:var(--text-primary);font-size:15px}.project-work__section-heading>span{min-width:28px;padding:var(--space-1) var(--space-2);border:1px solid var(--border-subtle);border-radius:var(--radius-control);color:var(--text-muted);text-align:center;font-size:12px}.project-work__form,.project-work__edit-form{gap:var(--space-3);display:grid}.project-work__form{grid-template-columns:minmax(0,1fr) minmax(140px,.65fr) auto;align-items:end}.project-work__form label,.project-work__edit-form label{gap:var(--space-1);min-width:0;color:var(--text-secondary);font-size:12px;display:grid}.project-work__edit-form label:has(input[type=checkbox]){align-items:center;gap:var(--space-2);min-height:44px;display:flex}.project-work__form input:not([type=checkbox]),.project-work__edit-form input:not([type=checkbox]){width:100%;min-height:44px;padding:0 var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-control);color:var(--text-primary);background:var(--surface-elevated);font:inherit}.project-work__edit-form input[type=checkbox]{width:20px;height:20px;min-height:20px;accent-color:var(--accent-copper);flex:0 0 20px}.project-work button{min-height:44px;padding:0 var(--space-3);border:1px solid var(--border-strong);border-radius:var(--radius-control);color:var(--text-primary);background:var(--surface-elevated);font:inherit;cursor:pointer}.project-work button:hover:not(:disabled){border-color:var(--accent-copper)}.project-work button:disabled{color:var(--text-muted);cursor:not-allowed;opacity:.7}.project-work__list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.project-work__list>li{gap:var(--space-2);padding:var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:var(--surface-elevated);display:grid}.project-work__item-main{align-items:flex-start}.project-work__item-main>label{align-items:center;gap:var(--space-2);min-width:0;min-height:44px;color:var(--text-primary);cursor:pointer;display:flex}.project-work__item-main>label span{overflow-wrap:anywhere}.project-work__item-main input[type=checkbox]{width:20px;height:20px;accent-color:var(--accent-copper);flex:0 0 20px}.project-work__actions{flex-wrap:wrap;justify-content:flex-end}.project-work__actions button{font-size:12px}.project-work__list time,.project-work__list small{color:var(--text-muted);font-size:12px}.project-work__error,.project-work__readonly{padding:var(--space-3);border-left:2px solid var(--danger);color:var(--danger);background:var(--surface);font-size:13px}.project-work__readonly{border-left-color:var(--warning);color:var(--warning)}.project-work__empty,.project-work__status{color:var(--text-muted);font-size:13px}@media (width<=767px){.project-work{padding:var(--space-4)}.project-work__sections,.project-work__form{grid-template-columns:1fr}.project-work__header,.project-work__item-main{flex-direction:column;align-items:stretch}.project-work__header>button,.project-work__form>button{width:100%}.project-work__actions{justify-content:stretch}.project-work__actions button{flex:100%}}.projects-page,.projects-detail{gap:var(--space-5);margin-top:var(--space-8);display:grid}.projects-page__toolbar{justify-content:space-between;align-items:flex-end;gap:var(--space-4);padding:var(--space-4);border:1px solid var(--border-subtle);border-radius:var(--radius-panel);background:var(--surface-elevated);display:flex}.projects-page__filters{gap:var(--space-4);grid-template-columns:minmax(220px,1.5fr) minmax(160px,1fr);width:min(100%,640px);display:grid}.projects-state{gap:var(--space-3);padding:var(--space-6);border:1px solid var(--border-subtle);border-radius:var(--radius-panel);color:var(--text-secondary);background:var(--surface-elevated);margin:0;display:grid}.projects-state h2,.projects-state p{margin:0}.projects-state h2{color:var(--text-primary);font-size:17px}.projects-state--unavailable{grid-template-columns:auto minmax(0,1fr) auto;align-items:center}.projects-state--unavailable>svg{color:var(--warning)}.projects-table-wrap{border:1px solid var(--border-subtle);border-radius:var(--radius-panel);background:var(--surface-elevated);overflow-x:auto}.projects-table{border-collapse:collapse;width:100%;min-width:680px;font-size:13px}.projects-table caption{clip:rect(0 0 0 0);white-space:nowrap;width:1px;height:1px;position:absolute;overflow:hidden}.projects-table th,.projects-table td{padding:var(--space-4);border-bottom:1px solid var(--border-subtle);text-align:left;vertical-align:middle}.projects-table thead th{color:var(--text-muted);letter-spacing:.04em;text-transform:uppercase;font-size:11px;font-weight:600}.projects-table tbody tr:last-child th,.projects-table tbody tr:last-child td{border-bottom:0}.projects-table tbody tr:hover{background:var(--surface)}.projects-table tbody th{font-weight:600}.projects-table a,.projects-detail a{color:var(--accent-copper-hover);text-decoration:none}.projects-table a:hover,.projects-detail a:hover{text-decoration:underline}.projects-pagination,.projects-detail__actions{align-items:center;gap:var(--space-3);flex-wrap:wrap;display:flex}.projects-pagination{color:var(--text-muted);justify-content:space-between;font-size:12px}.projects-detail__header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);padding:var(--space-5);border:1px solid var(--border-subtle);border-radius:var(--radius-panel);background:var(--surface-elevated);display:flex}.projects-detail__header h2{margin:var(--space-2) 0 0;color:var(--text-primary);font-size:20px}.projects-detail__header p{margin:var(--space-2) 0 0;color:var(--text-secondary);font-size:13px}.projects-detail__back{font-size:12px}.projects-detail__form{gap:var(--space-5);padding:var(--space-5);border:1px solid var(--border-subtle);border-radius:var(--radius-panel);background:var(--surface-elevated);display:grid}.projects-detail__grid,.projects-detail__gallery{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.projects-detail__textarea{min-height:104px;padding-block:var(--space-3);resize:vertical}.projects-detail__checkbox{align-items:center;gap:var(--space-2);width:fit-content;color:var(--text-secondary);font-size:13px;display:inline-flex}.projects-detail__checkbox input{width:16px;height:16px;accent-color:var(--accent-copper)}.projects-detail__error,.projects-detail__saved{padding:var(--space-3);border-left:2px solid var(--danger);color:var(--danger);background:var(--surface);margin:0;font-size:13px}.projects-detail__saved{border-left-color:var(--success);color:var(--success)}.projects-detail__metadata{gap:var(--space-3);grid-template-columns:repeat(4,minmax(0,1fr));margin:0;display:grid}.projects-detail__metadata>div{gap:var(--space-1);padding:var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-control);background:var(--surface);display:grid}.projects-detail__metadata dt{color:var(--text-muted);font-size:11px}.projects-detail__metadata dd{color:var(--text-secondary);text-overflow:ellipsis;white-space:nowrap;margin:0;font-size:12px;overflow:hidden}@media (width<=767px){.projects-page,.projects-detail{margin-top:var(--space-5)}.projects-page__toolbar,.projects-detail__header{flex-direction:column;align-items:stretch}.projects-page__filters,.projects-detail__grid,.projects-detail__gallery,.projects-detail__metadata{grid-template-columns:1fr}.projects-page__filters{width:100%}.projects-pagination{flex-direction:column;align-items:stretch}.projects-pagination .ledger-button{width:100%}}.workspace-skip-link{top:var(--space-3);left:var(--space-3);z-index:100;padding:var(--space-2) var(--space-3);color:var(--text-primary);background:var(--accent-copper);position:fixed;transform:translateY(-160%)}.workspace-skip-link:focus{transform:translateY(0)}.workspace-shell{grid-template-columns:var(--nav-expanded) minmax(0, 1fr);grid-template-rows:var(--topbar-height) minmax(0, 1fr);background:var(--canvas);width:100vw;height:100dvh;display:grid;overflow:hidden}.workspace-shell[data-nav=collapsed]{grid-template-columns:var(--nav-collapsed) minmax(0, 1fr)}.workspace-navigation{z-index:30;border-right:1px solid var(--border-subtle);background:var(--shell);flex-direction:column;grid-row:1/-1;min-width:0;transition:width .16s,transform .16s;display:flex}.workspace-navigation-backdrop{z-index:25;cursor:pointer;background:#07090cb8;border:0;padding:0;position:fixed;inset:0}.workspace-brand{min-height:var(--topbar-height);align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--border-subtle);display:flex;overflow:hidden}.workspace-brand__mark{border:1px solid var(--accent-copper);border-radius:var(--radius-control);width:36px;height:36px;color:var(--accent-copper-hover);flex:0 0 36px;justify-content:center;align-items:center;font-size:12px;font-weight:700;display:inline-flex}.workspace-brand__copy{gap:var(--space-1);min-width:0;display:grid}.workspace-brand__copy strong{color:var(--accent-copper-hover);font-size:14px}.workspace-brand__copy small{color:var(--text-muted);white-space:nowrap;font-size:11px}.workspace-navigation__eyebrow{margin:var(--space-6) var(--space-5) var(--space-2);color:var(--text-muted);font-size:11px}.workspace-navigation__list{gap:var(--space-1);padding:0 var(--space-2);margin:0;list-style:none;display:grid}.workspace-navigation__link,.workspace-navigation__toggle{align-items:center;gap:var(--space-3);width:100%;min-height:44px;padding:0 var(--space-3);border-radius:var(--radius-control);color:var(--text-secondary);font:inherit;cursor:pointer;background:0 0;border:0;border-left:1px solid #0000;font-size:13px;text-decoration:none;display:flex}.workspace-navigation__link:hover,.workspace-navigation__toggle:hover{border-left-color:var(--border-strong);color:var(--text-primary);background:var(--surface)}.workspace-navigation__link.is-active{border-left-color:var(--accent-copper);color:var(--text-primary);background:var(--shell)}.workspace-navigation__link.is-active svg{color:var(--accent-copper-hover)}.workspace-navigation__toggle{border-top:1px solid var(--border-subtle);border-radius:0}.workspace-navigation__controls{gap:var(--space-1);padding:var(--space-2);border-top:1px solid var(--border-subtle);margin-top:auto;display:grid}.workspace-navigation__control,.workspace-navigation__account{align-items:center;gap:var(--space-3);width:100%;min-height:44px;padding:0 var(--space-3);border-radius:var(--radius-control);color:var(--text-secondary);font:inherit;text-align:left;background:0 0;border:0;font-size:13px;display:flex}.workspace-navigation__control:disabled{color:var(--text-muted)}.workspace-navigation__account-copy{gap:var(--space-1);min-width:0;display:grid}.workspace-navigation__account-copy strong{color:var(--text-primary);font-size:12px}.workspace-navigation__account-copy small{color:var(--text-muted);text-overflow:ellipsis;white-space:nowrap;font-size:10px;overflow:hidden}.workspace-shell[data-nav=collapsed] .workspace-brand{padding-inline:var(--space-3)}.workspace-shell[data-nav=collapsed] :is(.workspace-brand__copy,.workspace-navigation__eyebrow,.workspace-navigation__label,.workspace-navigation__account-copy){display:none}.workspace-shell[data-nav=collapsed] .workspace-navigation__list{padding-inline:var(--space-2)}.workspace-shell[data-nav=collapsed] :is(.workspace-navigation__link,.workspace-navigation__control,.workspace-navigation__account,.workspace-navigation__toggle){justify-content:center;padding-inline:0}.workspace-topbar{height:var(--topbar-height);border-bottom:1px solid var(--border-subtle);background:var(--shell);grid-column:2;grid-template-columns:minmax(360px,.9fr) minmax(720px,1.65fr) auto;align-items:stretch;display:grid}.workspace-topbar__project,.workspace-topbar__context>div,.workspace-topbar__actions{padding-inline:var(--space-5);flex-direction:column;justify-content:center;display:flex}.workspace-topbar__menu{border:1px solid var(--border-subtle);border-radius:var(--radius-control);width:44px;min-height:44px;color:var(--text-primary);background:var(--surface);cursor:pointer;justify-content:center;align-self:center;align-items:center;padding:0;display:inline-flex}.workspace-topbar__project{gap:var(--space-1)}.workspace-topbar__project strong{font-size:17px}.workspace-topbar__project span,.workspace-topbar dt{color:var(--text-muted);font-size:11px}.workspace-topbar__context{grid-template-columns:repeat(3,minmax(0,1fr));margin:0;display:grid}.workspace-topbar__context>div{border-left:1px solid var(--border-subtle)}.workspace-topbar dd{margin:var(--space-1) 0 0;font-size:12px;font-weight:600}.workspace-topbar__actions{align-items:center;gap:var(--space-2);border-left:1px solid var(--border-subtle);flex-direction:row;display:flex}.workspace-topbar__preview-status{align-items:center;gap:var(--space-2);min-height:36px;padding:0 var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-control);color:var(--text-secondary);background:var(--surface);white-space:nowrap;font-size:11px;display:inline-flex}.mobile-context-header{display:none}.workspace-main{grid-column:2;min-width:0;min-height:0;overflow:hidden}.workspace-preview{height:100%;padding:var(--space-8);background:var(--surface);overflow:auto}.workspace-preview__header{max-width:760px}.workspace-preview__eyebrow{margin:0 0 var(--space-2);color:var(--accent-copper-hover);font-size:12px;font-weight:700;line-height:16px}.workspace-preview h1{margin:0;font-size:24px;font-weight:600;line-height:32px}.workspace-preview__header>p:last-child{margin:var(--space-3) 0 0;color:var(--text-secondary);font-size:14px;line-height:1.5}.route-preview-surface{gap:var(--space-4);margin-top:var(--space-8);padding:var(--space-6);border:1px solid var(--border-subtle);border-radius:var(--radius-panel);background:var(--surface-elevated);grid-template-columns:auto minmax(0,1fr) auto auto;align-items:center;display:grid}.route-preview-surface>svg{color:var(--accent-copper-hover)}.route-preview-surface h2,.price-preview h2{margin:0;font-size:17px}.route-preview-surface p{margin:var(--space-1) 0 0;color:var(--text-secondary);font-size:13px}.route-preview-banner{align-items:center;gap:var(--space-2);margin:var(--space-8) 0 0;padding:var(--space-4);border-left:1px solid var(--warning);color:var(--warning);background:var(--surface-elevated);font-size:13px;display:flex}.sync-gallery{gap:var(--space-3);margin-top:var(--space-4);grid-template-columns:repeat(3,minmax(0,1fr));display:grid}.sync-gallery article{align-content:center;gap:var(--space-3);min-height:92px;padding:var(--space-4);border:1px solid var(--border-subtle);border-radius:var(--radius-panel);background:var(--surface-elevated);display:grid}.sync-gallery article>strong{font-size:13px}.sync-conflict-preview{gap:var(--space-4);margin-top:var(--space-4);padding:var(--space-4);border:1px solid var(--danger);border-radius:var(--radius-panel);background:var(--surface-elevated);display:grid}.sync-conflict-preview>header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.sync-conflict-preview h2{margin:var(--space-1) 0 0;font-size:17px}.sync-conflict-preview>p,.sync-conflict-preview__result{color:var(--text-secondary);margin:0;font-size:13px;line-height:20px}.sync-conflict-preview__values{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.sync-conflict-preview__values article{gap:var(--space-2);padding:var(--space-3);border:1px solid var(--border-subtle);border-radius:var(--radius-panel);background:var(--surface);display:grid}.sync-conflict-preview__values small{color:var(--text-muted)}.sync-conflict-preview__actions{gap:var(--space-2);flex-wrap:wrap;display:flex}.sync-conflict-preview__result{color:var(--warning)}.price-preview{gap:var(--space-5);margin-top:var(--space-8);padding:var(--space-6);border:1px solid var(--border-strong);border-radius:var(--radius-panel);background:var(--surface-elevated);display:grid}.price-workspace{grid-template-columns:minmax(0, 1fr) var(--inspector-desktop);background:var(--surface);height:100%;display:grid;overflow:hidden}.price-workspace__ledger{grid-template-rows:40px minmax(0,1fr);min-width:0;min-height:0;display:grid;overflow:hidden}.price-workspace__toolbar{justify-content:space-between;align-items:center;gap:var(--space-3);padding:0 var(--space-4);border-bottom:1px solid var(--border-subtle);display:flex}.price-workspace__toolbar h1{margin:0;font-size:13px}.price-workspace__ledger>.ledger-stack{min-height:0}.price-preview--inspector{min-width:0;padding:var(--space-5);border-width:0 0 0 1px;border-radius:0;flex-direction:column;margin:0;display:flex;position:relative;overflow:auto}.price-preview--inspector>.ledger-button{align-self:flex-start;margin-top:auto}.price-preview--inspector .price-preview__fields{grid-template-columns:minmax(0,1fr)}.price-preview>header{justify-content:space-between;align-items:flex-start;gap:var(--space-4);display:flex}.route-preview-kicker{margin:0 0 var(--space-1);color:var(--text-muted);font-size:12px;line-height:16px}.price-preview__fields{gap:var(--space-4);grid-template-columns:repeat(2,minmax(0,1fr));max-width:720px;display:grid}.price-preview__context{align-items:flex-start;gap:var(--space-3);max-width:720px;padding:var(--space-4);border:1px solid var(--border-subtle);border-radius:var(--radius-panel);display:flex}.price-preview__context svg{color:var(--accent-copper-hover);flex:none}.price-preview__context p{color:var(--text-secondary);margin:0;font-size:13px;line-height:1.5}.price-preview__context>div{gap:var(--space-3);display:grid}.price-preview__context .ledger-button{justify-self:start}.price-preview__change-order{color:var(--warning);margin:0;font-size:13px;line-height:20px}.price-preview__summary{padding:var(--space-4);border:1px solid var(--border-subtle);border-radius:var(--radius-panel);background:var(--surface)}.price-preview__summary h3{margin:0 0 var(--space-3);font-size:12px;line-height:16px}.price-preview__summary dl{gap:var(--space-2);margin:0;display:grid}.price-preview__summary dl>div{justify-content:space-between;gap:var(--space-4);display:flex}.price-preview__summary dt{color:var(--text-secondary)}.price-preview__summary dd{font-variant-numeric:tabular-nums;margin:0}.price-preview__sync{gap:var(--space-2);flex-wrap:wrap;display:flex}.price-confirm{z-index:60;padding:var(--space-8) var(--space-5);background:var(--surface-elevated);flex-direction:column;justify-content:center;align-items:flex-start;display:flex;position:fixed;inset:0}.price-confirm p{color:var(--text-secondary)}.price-confirm>div{gap:var(--space-2);margin-top:var(--space-3);display:flex}.price-preview>.ledger-button{justify-self:start}@media (width<=767px){.workspace-shell,.workspace-shell[data-nav=collapsed]{grid-template-rows:64px minmax(0,1fr);grid-template-columns:minmax(0,1fr)}.workspace-navigation{width:min(var(--nav-expanded), calc(100vw - 44px));position:fixed;inset:0 auto 0 0;transform:translate(-100%)}.workspace-navigation[data-open=true]{transform:translate(0)}.workspace-topbar{height:64px;padding:0 var(--space-3);grid-column:1;grid-template-columns:auto minmax(0,1fr) auto}.workspace-topbar__project,.workspace-topbar__context,.workspace-topbar__preview-status,.workspace-topbar__save,.workspace-topbar__sign-out-label{display:none}.workspace-topbar__actions{border-left:0;grid-column:3;padding-inline:0}.workspace-topbar__menu{border-color:var(--accent-copper);color:var(--accent-copper-hover)}.mobile-context-header{gap:var(--space-1);min-width:0;padding:0 var(--space-3);color:var(--text-secondary);grid-column:2;align-content:center;font-size:14px;display:grid}.mobile-context-header strong{color:var(--text-primary);font-size:16px}.mobile-context-header span{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.workspace-main{grid-column:1}.workspace-preview{padding:var(--space-5)}.route-preview-surface,.price-preview__fields,.sync-gallery,.sync-conflict-preview__values{grid-template-columns:minmax(0,1fr)}.route-preview-banner,.sync-gallery article>strong,.sync-conflict-preview>p,.sync-conflict-preview__result,.sync-conflict-preview__values,.price-preview__change-order{font-size:16px;line-height:24px}.price-preview>header{flex-direction:column;align-items:stretch}.price-workspace{grid-template-columns:minmax(0,1fr)}.price-workspace__ledger{display:none}.price-preview--inspector{border-left:0}}@media (width>=768px) and (width<=1439px){.workspace-shell,.workspace-shell[data-nav=collapsed]{grid-template-columns:var(--nav-collapsed) minmax(0, 1fr)}.workspace-navigation{width:var(--nav-collapsed);position:fixed;inset:0 auto 0 0}.workspace-navigation[data-open=true]{width:var(--nav-expanded);border-right-color:var(--border-strong);background:var(--surface-elevated)}.workspace-topbar{gap:var(--space-3);padding-left:var(--space-3);grid-template-columns:auto minmax(0,1fr) auto}.workspace-topbar__context{display:none}.workspace-topbar__project{padding-inline:0}}@media (width>=1440px){.workspace-navigation-backdrop,.workspace-topbar__menu{display:none}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important}}*{box-sizing:border-box}html,body,#root{min-width:320px;min-height:100%;margin:0}body{background:var(--canvas);min-height:100vh}.auth-page{place-items:center;width:min(100% - 2rem,72rem);min-height:100vh;margin-inline:auto;padding-block:3rem;display:grid}.auth-card{border:1px solid var(--border-subtle);border-radius:var(--radius-elevated);background:var(--shell);width:min(100%,28rem);padding:2rem}.auth-form,.auth-form label{gap:.5rem;display:grid}.auth-form{gap:1rem;margin-top:2rem}.auth-form input,.auth-form select{border:1px solid var(--border-strong);border-radius:var(--radius-control);width:100%;min-height:2.75rem;color:inherit;background:var(--surface);font:inherit;padding-inline:.75rem}.auth-page button{border:1px solid var(--border-strong);border-radius:var(--radius-control);min-height:2.75rem;color:inherit;background:var(--surface);font:inherit;cursor:pointer;padding-inline:1rem}.auth-page :is(button,input,select):disabled{cursor:wait;opacity:.65}.auth-factor-name,.field-error{margin:0}.field-error{color:var(--danger)}
