:root{--color-canvas:#f7f7f5;--color-surface:#fff;--color-surface-subtle:#faf9f6;--color-text:#171717;--color-text-muted:#66625c;--color-border:#e5e2dc;--color-primary:#f5a800;--color-primary-hover:#dc9200;--color-primary-active:#c58200;--color-primary-subtle:#fff4d7;--color-secondary:#66625c;--color-danger:#a52828;--color-danger-hover:#8d2020;--color-danger-subtle:#fff1f0;--color-error:#b42318;--color-success:#137333;--color-warning:#9a6700;--color-change-requested:#b54708;--color-disabled:#9aa6b8;--color-focus:#9a6500;--space-1:.25rem;--space-2:.5rem;--space-3:.75rem;--space-4:1rem;--space-5:1.5rem;--space-6:2rem;--radius-sm:.5rem;--radius-md:.625rem;--radius-lg:.75rem;--shadow-card:0 4px 16px #2820140d;--shadow-card-hover:0 7px 20px #28201414;color:var(--color-text);background:var(--color-canvas);font-family:Inter,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;padding:0;position:absolute;overflow:hidden}body{min-width:320px;min-height:100vh;color:var(--color-text);background:var(--color-canvas);margin:0;font-size:1rem;line-height:1.5}.auth-page{min-height:100vh;padding:var(--space-4);background:var(--color-canvas);place-items:center;display:grid}.auth-card{gap:var(--space-5);width:min(100%,30rem);min-width:0;padding:var(--space-5);margin:0;display:grid}.auth-header,.auth-brand,.auth-mode-switch{align-items:center;min-width:0;display:flex}.auth-header{justify-content:space-between;gap:var(--space-4)}.auth-header select{flex:none;width:auto}.auth-brand{gap:var(--space-3);overflow-wrap:anywhere}.auth-brand-lockup,.app-brand-lockup{object-fit:contain;width:auto;display:block}.auth-brand-lockup{max-width:min(13rem,58vw);height:3rem}.app-brand-lockup{max-width:8rem;height:2.25rem}.auth-heading{gap:var(--space-2);display:grid}.auth-heading h1,.auth-heading p{margin:0}.auth-heading p{color:var(--color-text-muted)}.auth-form{margin-top:0}.auth-form .error{padding:var(--space-3);border-left:4px solid var(--color-error);border-radius:var(--radius-sm);background:#fff1f0}.auth-mode-switch{gap:var(--space-2);color:var(--color-text-muted);flex-wrap:wrap}.auth-mode-switch button.link{margin-top:0}.auth-loading-state{text-align:center;justify-items:center}.auth-loading-state p{margin:0}.app-layout{background:var(--color-canvas);min-height:100vh}.app-navigation{z-index:20;border-top:1px solid var(--color-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff5;position:fixed;inset:auto 0 0;box-shadow:0 -8px 24px #1d2b4914}.app-navigation>.brand-area,.app-navigation>.account-area{display:none}.brand-area{align-items:center;gap:var(--space-3);color:var(--color-text);font-weight:700;display:flex}.primary-navigation{padding:var(--space-2) max(var(--space-2), env(safe-area-inset-right)) calc(var(--space-2) + env(safe-area-inset-bottom)) max(var(--space-2), env(safe-area-inset-left));grid-template-columns:repeat(4,minmax(0,1fr));display:grid}a.nav-item{min-width:0;min-height:3.5rem;padding:var(--space-1);border-radius:var(--radius-md);color:var(--color-text-muted);text-align:center;background:0 0;place-items:center;gap:.15rem;font-size:.72rem;font-weight:600;line-height:1.15;text-decoration:none;display:grid}a.nav-item:hover{background:var(--color-surface-subtle);color:var(--color-text)}a.nav-item[aria-current=page]{background:var(--color-primary-subtle);color:var(--color-primary);box-shadow:inset 0 -2px 0 var(--color-primary);font-weight:700}a.nav-item>span:last-child{text-overflow:ellipsis;white-space:nowrap;max-width:100%;overflow:hidden}.nav-icon{flex:none;width:1.35rem;height:1.35rem;display:block}.mobile-app-bar{z-index:10;min-height:3.5rem;padding:var(--space-2) var(--space-4);border-bottom:1px solid var(--color-border);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#f7f7f5f0;display:flex;position:sticky;top:0}.mobile-app-bar .brand-area{min-width:0}.mobile-app-bar .brand-area>span:last-child{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}button.mobile-logout,button.secondary-action{min-height:2.5rem;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-primary)}.app-content{padding:0 var(--space-4) calc(6rem + env(safe-area-inset-bottom))}.content-column{width:min(100%,52rem);margin:0 auto}.profile-page{gap:var(--space-3);width:min(100%,38rem);min-width:0;padding-top:var(--space-4);display:grid}.profile-heading p{color:var(--color-text-muted);margin:0}.profile-form{gap:var(--space-3);margin-top:0}.profile-avatar-section{align-items:center;gap:var(--space-4);display:flex}.profile-avatar-preview{border:1px solid var(--color-border);background:var(--color-surface-subtle);width:5rem;height:5rem;color:var(--color-text-muted);border-radius:50%;flex:0 0 5rem;place-items:center;font-size:1.5rem;font-weight:700;display:grid;overflow:hidden}.profile-avatar-preview img{object-fit:cover;width:100%;height:100%}.profile-avatar-content{gap:var(--space-2);min-width:0;display:grid}.profile-avatar-content h2,.profile-avatar-content p{margin:0}.profile-avatar-actions,.profile-avatar-confirmation{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.profile-avatar-actions label.button{min-height:2.5rem;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);background:var(--color-surface);cursor:pointer;align-items:center;font-weight:700;display:inline-flex}.profile-avatar-actions label.button:focus-within{outline:3px solid var(--color-focus);outline-offset:2px}.profile-section{gap:var(--space-3);min-width:0;padding:var(--space-4);margin-top:0;display:grid}fieldset.profile-section{min-inline-size:0}.profile-section legend{padding:0 var(--space-2);color:var(--color-text);font-size:1.15rem;font-weight:700}.profile-setting-hint,.profile-account-actions p{color:var(--color-text-muted);overflow-wrap:anywhere;margin:0}.profile-account-actions h2{margin:0 0 var(--space-1)}.profile-account-actions .secondary-action{width:100%}button,input,select,textarea{font:inherit}.shell{width:min(100% - 2rem,32rem);margin:0 auto;padding:1.25rem 0 3rem}header{color:#526078;justify-content:space-between;align-items:center;min-height:3rem;font-weight:700;display:flex}header select{width:auto;padding:.45rem .6rem}.card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-card);margin-top:1.5rem;padding:1.5rem}h1{margin:0 0 var(--space-2);letter-spacing:-.025em;font-size:clamp(1.65rem,5.5vw,2.3rem);line-height:1.15}p{color:var(--color-text-muted);line-height:1.5}form{gap:1rem;margin-top:1.5rem;display:grid}label{color:var(--color-text);gap:.35rem;font-weight:600;display:grid}input,select{border-radius:var(--radius-sm);width:100%;min-height:3rem;color:var(--color-text);background:var(--color-surface);border:1px solid #b8c4d6;padding:.65rem .75rem}input:hover:not(:disabled),select:hover:not(:disabled),textarea:hover:not(:disabled){border-color:#91a3bd}input:focus,select:focus,textarea:focus{border-color:var(--color-focus);outline:3px solid #ffe2a0}button:focus-visible,a:focus-visible{outline-offset:2px;outline:3px solid #ffe2a0}input:disabled,select:disabled,textarea:disabled{color:#62708a;background:#edf1f7}button{border-radius:var(--radius-sm);background:var(--color-primary);color:#fff;cursor:pointer;border:1px solid #0000;min-height:2.75rem;padding:.65rem 1rem;font-weight:600;line-height:1.2}button:hover:not(:disabled){background:var(--color-primary-hover)}button:active:not(:disabled){background:var(--color-primary-active)}button:disabled{cursor:not-allowed;opacity:.65}button.danger{background:var(--color-danger)}button.danger:hover:not(:disabled){background:var(--color-danger-hover)}button.link{width:fit-content;min-height:2.75rem;margin-top:var(--space-2);padding:var(--space-2) var(--space-1);color:var(--color-primary);text-align:left;background:0 0;align-items:center;display:inline-flex}button.link:hover:not(:disabled),button.link:active:not(:disabled){color:var(--color-primary-hover);background:0 0;text-decoration:underline}.secondary-action,button.secondary-action{border-color:var(--color-border);background:var(--color-surface);color:var(--color-primary)}.secondary-action:hover:not(:disabled),button.secondary-action:hover:not(:disabled){background:var(--color-primary-subtle);color:var(--color-primary-hover);border-color:#e6bd60}.error{color:var(--color-error);margin:0;font-weight:650}.section-title{justify-content:space-between;align-items:center;gap:1rem;display:flex}.section-title button{min-height:2.5rem}.project-list{gap:.75rem;padding:0;list-style:none;display:grid}.project-link{text-align:left;color:#172033;background:#edf4ff;gap:.25rem;width:100%;display:grid}.project-link:hover:not(:disabled){background:var(--color-primary-subtle);color:var(--color-text)}.project-link span{color:#526078;font-weight:500}.projects-page,.project-details-page{gap:var(--space-3);padding-top:var(--space-4);display:grid}.page-heading{gap:var(--space-3);display:grid}.page-heading h1{margin:0}.project-card-grid,.project-estimate-list{gap:var(--space-2);margin:0;padding:0;list-style:none;display:grid}.project-card{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);min-width:0;box-shadow:var(--shadow-card);overflow:hidden}.project-card:hover{box-shadow:var(--shadow-card-hover);border-color:#d6c69f}button.project-card-action{border-radius:inherit;width:100%;min-width:0;color:var(--color-text);text-align:left;background:0 0;grid-template-columns:5.25rem minmax(0,1fr);align-items:stretch;padding:0;display:grid;overflow:hidden}button.project-card-action:hover:not(:disabled),button.project-card-action:active:not(:disabled){color:var(--color-text);background:0 0}.project-cover{aspect-ratio:16/9;background:#efede8;width:100%;overflow:hidden}.project-cover img{object-fit:cover;width:100%;height:100%;display:block}.project-cover-placeholder{color:#8b8377;background:linear-gradient(135deg,#f2f0eb,#e8e4dc);place-items:center;width:100%;height:100%;font-size:2rem;display:grid}.project-card .project-cover-compact-placeholder{aspect-ratio:auto;min-height:4.75rem}.project-card .project-cover{aspect-ratio:auto;width:100%;height:100%;min-height:4.75rem}.project-card .project-cover-compact-placeholder .project-cover-placeholder{font-size:1.4rem}.project-card-content{min-width:0;padding:.65rem var(--space-3);gap:.2rem;display:grid}.project-card-heading{justify-content:space-between;align-items:flex-start;gap:var(--space-2);min-width:0;display:flex}.project-card-heading strong,.project-card-client,.project-card-meta{overflow-wrap:anywhere}.project-card-client{color:var(--color-text-muted);font-size:.875rem;font-weight:500}.project-card-meta{color:var(--color-text-muted);font-size:.8rem;font-weight:500}.status-badge{width:fit-content;min-height:1.75rem;color:var(--color-secondary);background:#e8edf5;border-radius:999px;flex:none;align-items:center;padding:.2rem .55rem;font-size:.75rem;font-weight:650;line-height:1.2;display:inline-flex}.status-sent{color:#1769d1;background:#e9f2ff}.status-approved{color:var(--color-success);background:#e7f5ec}.status-change_requested{color:var(--color-change-requested);background:#fff1e7}.empty-state{text-align:center;margin-top:0}.empty-state .project-create-action{margin-top:var(--space-3)}.project-create-action:before{content:"+";margin-right:var(--space-2);font-size:1.1em}.project-skeleton-list{gap:var(--space-2);display:grid}.project-skeleton{border:1px solid var(--color-border);border-radius:var(--radius-md);background:linear-gradient(90deg,#efede8 25%,#faf9f6 50%,#efede8 75%) 0 0/200% 100%;min-height:6.25rem;animation:1.35s linear infinite skeleton-shimmer;display:block}.project-form-page{gap:var(--space-3);width:min(100%,56rem);padding-top:var(--space-4);display:grid}.project-form{gap:var(--space-3);min-width:0;padding:var(--space-3) var(--space-4);margin-top:0}.project-form-heading{gap:var(--space-2);display:grid}.project-form-heading h1{margin:0}.project-back-action{align-items:center;gap:var(--space-2);width:fit-content;min-height:2.5rem;padding:var(--space-1) 0;color:var(--color-text-muted);background:0 0;display:inline-flex}.project-back-action:hover:not(:disabled),.project-back-action:active:not(:disabled){color:var(--color-text);background:0 0}.project-form-submit{margin-top:var(--space-2)}.project-form-cover{align-items:center;gap:var(--space-3);padding-top:var(--space-2);grid-template-columns:5.5rem minmax(0,1fr);display:grid}.project-form-cover>.project-cover{aspect-ratio:1;border-radius:var(--radius-md);width:5.5rem;height:5.5rem}.project-form-cover .project-cover-controls{grid-column:auto}.project-details-hero{gap:var(--space-3);padding:var(--space-3);grid-template-columns:5.5rem minmax(0,1fr);margin-top:0;display:grid}.project-details-cover-block{align-content:start;justify-items:stretch;gap:var(--space-2);grid-area:1/1;width:5.5rem;display:grid}.project-details-cover-block>.project-cover{aspect-ratio:1;border-radius:var(--radius-md);grid-area:1/1;width:5.5rem;height:5.5rem}.project-details-heading,.project-details-heading>div:first-child{gap:var(--space-3);min-width:0;display:grid}.project-details-heading{grid-area:1/2;align-content:start}.project-details-heading h1,.project-details-heading p{overflow-wrap:anywhere;margin:0}.project-primary-actions{gap:var(--space-2);flex-wrap:wrap;width:fit-content;max-width:100%;display:flex}.project-edit-action{flex:none;align-self:flex-start;width:fit-content;max-width:100%;min-height:2.25rem;padding:.4rem .7rem;font-size:.875rem}.project-cover-controls{align-items:center;gap:var(--space-2);flex-wrap:wrap;display:flex}.cover-upload-action{border-radius:var(--radius-md);border:1px solid var(--color-border);background:var(--color-surface);width:fit-content;min-height:2.25rem;color:var(--color-text);cursor:pointer;justify-content:center;align-items:center;padding:.35rem .6rem;display:inline-flex}.cover-upload-action:hover{background:var(--color-primary-subtle);border-color:#d6c69f}.cover-upload-action:focus-within{outline-offset:2px;outline:3px solid #ffe2a0}.cover-upload-action input{opacity:0;pointer-events:none;width:1px;height:1px;position:absolute}.project-cover-controls small{color:var(--color-text-muted);flex-basis:100%}.project-details-cover-block .project-cover-controls{place-items:center stretch;gap:var(--space-1);grid-area:2/1;width:5.5rem;max-width:5.5rem;display:grid}.project-details-cover-block .cover-upload-action{letter-spacing:-.025em;white-space:nowrap;text-align:center;justify-content:center;width:5.5rem;max-width:5.5rem;min-height:2.25rem;padding:.25rem .15rem;font-size:.61rem}.project-details-cover-block .project-cover-controls button.link{max-width:5.5rem;min-height:2rem;margin:0;padding:.25rem 0}.project-details-cover-block .project-cover-controls small{overflow-wrap:anywhere;width:5.5rem;max-width:5.5rem;font-size:.72rem;line-height:1.3}.project-information-grid{gap:var(--space-4);display:grid}.information-card,.project-estimates-section,.information-card h2,.project-estimates-section h2{margin-top:0}.information-list{gap:var(--space-3);grid-template-columns:1fr;display:grid}.information-list>div{gap:var(--space-1);min-width:0;display:grid}.information-list dd{color:var(--color-text-muted)}.project-estimates-section>.section-title{flex-wrap:wrap}.project-estimate-card{gap:var(--space-3);min-width:0;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-subtle);display:grid}.project-estimate-content{gap:var(--space-2);min-width:0;display:grid}.project-estimate-content>*{overflow-wrap:anywhere}.project-danger-zone{justify-content:flex-end;display:flex}.library-category-action{font-weight:700}.library-works{border-left:3px solid #b9c9e3;gap:.4rem;margin:.5rem 0 0;padding-left:.75rem}.library-work{background:#f8fafc;border:1px solid #dce3ef;border-radius:.5rem;min-width:0;padding:.65rem .75rem}.library-work>strong{font-weight:500}.library-work-action{color:#2f3b52;background:0 0;min-height:auto;padding:0;font-weight:500}.price-catalog-categories .library-work{padding:0}.price-catalog-categories .library-work-action{text-align:left;overflow-wrap:anywhere;justify-content:flex-start;width:100%;min-height:2.75rem;padding:.65rem .75rem}.price-work-details-step{gap:var(--space-4);margin-top:var(--space-5);display:grid}.price-work-selection-summary{padding:var(--space-4);border:1px solid var(--color-border);border-left:4px solid var(--color-primary);border-radius:var(--radius-md);background:var(--color-primary-subtle)}.price-work-selection-summary h2,.price-work-selection-summary p{margin:0}.price-work-selection-summary p{margin-top:var(--space-2)}.price-work-details-step form{margin-top:0}.price-item{gap:var(--space-3);min-width:0;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);box-shadow:none;display:grid}.price-page{gap:var(--space-4);min-width:0;display:grid}.card.price-page{padding:var(--space-4) 0 0;box-shadow:none;background:0 0;border:0}.price-page-header,.price-page-title-row{gap:var(--space-3);min-width:0;display:flex}.price-page-header{flex-direction:column;align-items:stretch}.price-page-title-row{justify-content:space-between;align-items:center}.price-page-title-row h1{min-width:0;margin:0;font-size:clamp(1.65rem,6vw,2.3rem)}.price-currency-switch{border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-subtle);flex:none;grid-template-columns:repeat(2,1fr);padding:.2rem;display:inline-grid}.price-currency-switch button{min-width:3.4rem;min-height:2.5rem;padding:var(--space-2) var(--space-3);color:var(--color-text-muted);background:0 0}.price-currency-switch button:hover:not(:disabled){background:var(--color-primary-subtle);color:var(--color-primary-hover)}.price-currency-switch button[aria-pressed=true]{background:var(--color-primary);color:#fff;box-shadow:0 2px 6px #1769d133}.price-currency-switch button[aria-pressed=true]:hover:not(:disabled){background:var(--color-primary-hover);color:#fff}.price-add-work-action{width:100%}.price-list{margin:0}.price-item-content{gap:.25rem;min-width:0;display:grid}.price-item-content strong{overflow-wrap:anywhere}.price-item-value{color:var(--color-text-muted);overflow-wrap:anywhere}.price-item .item-actions{align-items:center;gap:var(--space-4);padding-top:var(--space-2);border-top:1px solid var(--color-border);display:flex}.price-item .item-actions button.link{min-height:2.75rem;padding:var(--space-2) 0;margin:0}.price-item .item-actions button.danger{color:var(--color-danger)}.price-empty-state{justify-items:start;gap:var(--space-3);padding:var(--space-5);border-radius:var(--radius-lg);background:var(--color-surface-subtle);border:1px dashed #b9c9e3;display:grid}.price-empty-state h2,.price-empty-state p{margin:0}.price-list-skeleton{gap:var(--space-3);display:grid}.price-list-skeleton>span:not(.sr-only){border:1px solid var(--color-border);border-radius:var(--radius-md);background:linear-gradient(90deg,#eef2f7 25%,#f8fafc 50%,#eef2f7 75%) 0 0/200% 100%;min-height:5.5rem;animation:1.4s ease-in-out infinite price-skeleton}@keyframes price-skeleton{to{background-position:-200% 0}}.price-entry-step,.price-entry-choices{gap:var(--space-3);display:grid}.price-entry-step h2{margin:0}.price-entry-choice{gap:var(--space-2);width:100%;min-width:0;min-height:5.25rem;padding:var(--space-4);border:1px solid var(--color-border);background:var(--color-surface-subtle);color:var(--color-text);text-align:left;align-content:center;display:grid}.price-entry-choice:hover,.price-entry-choice:focus-visible{border-color:var(--color-primary);background:var(--color-primary-subtle)}.price-entry-choice span{color:var(--color-text-muted);font-weight:500;line-height:1.4}.price-form{min-width:0;padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-subtle);margin-top:0}.price-form-heading{justify-content:space-between;align-items:center;gap:var(--space-3);min-width:0;display:flex}.price-form-heading h2{overflow-wrap:anywhere;min-width:0;margin:0}.price-form-currency{width:fit-content;padding:var(--space-1) var(--space-2);background:var(--color-primary-subtle);color:var(--color-primary);border-radius:999px;font-size:.8rem;font-weight:800}.price-language-hint{margin:calc(-1 * var(--space-2)) 0 0;padding:var(--space-3);border-radius:var(--radius-sm);color:var(--color-text-muted);background:#f1f5f9;border-left:3px solid #b9c9e3;font-size:.9rem}.price-table,.price-custom-group,.price-table .price-list,.price-search-results,.price-catalog-categories{gap:var(--space-3);min-width:0;display:grid}.price-table-heading{display:none}.price-table .price-list,.price-search-results,.price-catalog-categories{grid-template-columns:1fr;margin:0;padding:0;list-style:none}.price-table .price-item{gap:var(--space-2) var(--space-3);padding:var(--space-3);grid-template-columns:minmax(0,1fr) auto}.price-table .price-item-content{grid-column:1/-1}.price-item-context{color:var(--color-text-muted);overflow-wrap:anywhere;font-size:.8rem}.price-item-unit{min-width:0;color:var(--color-text-muted);overflow-wrap:anywhere}.price-item-price{color:var(--color-text);white-space:nowrap;font-size:1.05rem}.price-item-actions{align-items:center;gap:var(--space-4);padding-top:var(--space-2);border-top:1px solid var(--color-border);grid-column:1/-1;display:flex}.price-item-actions button.link{min-height:2.75rem;padding:var(--space-2) 0;margin:0}.price-custom-group{margin-top:var(--space-3)}.price-custom-group h2{margin:0;font-size:1.15rem}.price-delete-confirmation{gap:var(--space-2);padding:var(--space-3);border-radius:var(--radius-sm);background:#fff7f7;border:1px solid #efb2b2;grid-column:1/-1;display:grid}.price-delete-confirmation>span{overflow-wrap:anywhere}.price-delete-confirmation>div{gap:var(--space-2);display:flex}.price-delete-confirmation button{width:auto}.estimate-delete-confirmation{gap:var(--space-2);margin-top:var(--space-3);padding:var(--space-3);border-radius:var(--radius-sm);background:#fff7f7;border:1px solid #efb2b2;display:grid}.estimate-delete-confirmation>span{overflow-wrap:anywhere}.estimate-delete-confirmation>div{gap:var(--space-2);flex-wrap:wrap;display:flex}.estimate-delete-confirmation button{width:auto;min-height:2.75rem}.price-feedback{z-index:30;right:max(var(--space-4), env(safe-area-inset-right));bottom:calc(5rem + env(safe-area-inset-bottom));left:max(var(--space-4), env(safe-area-inset-left));width:fit-content;max-width:calc(100vw - max(var(--space-4), env(safe-area-inset-left)) - max(var(--space-4), env(safe-area-inset-right)));padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);color:var(--color-success);overflow-wrap:anywhere;pointer-events:none;background:#eef8f1;margin:0 auto;font-weight:650;line-height:1.35;position:fixed;box-shadow:0 8px 24px #1d2b4929}.estimate-feedback{z-index:30;right:max(var(--space-4), env(safe-area-inset-right));bottom:calc(5rem + env(safe-area-inset-bottom));left:max(var(--space-4), env(safe-area-inset-left));width:fit-content;max-width:calc(100vw - max(var(--space-4), env(safe-area-inset-left)) - max(var(--space-4), env(safe-area-inset-right)));padding:var(--space-2) var(--space-3);border-radius:var(--radius-sm);overflow-wrap:anywhere;pointer-events:none;margin:0 auto;font-weight:650;line-height:1.35;position:fixed;box-shadow:0 8px 24px #1d2b4929}.estimate-feedback-success{color:var(--color-success);background:#eef8f1}.estimate-feedback-error{color:var(--color-error);background:#fff7f7;border:1px solid #efb2b2}.estimate-field-error{color:var(--color-danger);font-size:.875rem;font-weight:600}.price-back-action{width:fit-content}.price-custom-unit-fields{gap:var(--space-3);display:grid}.price-field-error{color:var(--color-danger);font-size:.875rem;font-weight:600}.price-catalog-search{max-width:38rem}.price-catalog-categories .library-category-action{justify-content:space-between;align-items:center;gap:var(--space-3);display:flex}.price-category-chevron{flex:none;font-size:1.35rem;line-height:1;transition:transform .15s}.library-category-action[aria-expanded=true] .price-category-chevron{transform:rotate(90deg)}.price-search-result{gap:var(--space-1);width:100%;min-width:0;padding:var(--space-3);border:1px solid var(--color-border);background:var(--color-surface);color:var(--color-text);text-align:left;display:grid}.price-search-result:hover,.price-search-result:focus-visible{border-color:var(--color-primary);background:var(--color-primary-subtle)}.price-search-result strong,.price-search-result span{overflow-wrap:anywhere}.price-search-result span,.price-catalog-empty{color:var(--color-text-muted)}.price-catalog-empty{padding:var(--space-3);margin:0}.price-catalog-search-empty{justify-items:start;gap:var(--space-2);padding:var(--space-4);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-subtle);display:grid}.price-catalog-search-empty h3,.price-catalog-search-empty p{margin:0}.price-catalog-search-empty p{color:var(--color-text-muted)}.price-work-selection-step,.price-form,.price-work-details-step{width:min(100%,44rem)}@media (prefers-reduced-motion:reduce){.price-list-skeleton>span:not(.sr-only){animation:none}}.item-actions,.choice-actions{gap:.5rem;display:grid}.item-actions{grid-template-columns:repeat(2,auto)}button.link.danger{color:var(--color-danger);background:0 0}button.link.danger:hover:not(:disabled){color:var(--color-danger-hover);background:0 0}h2{letter-spacing:-.01em;margin:1.5rem 0 .5rem;font-size:1.25rem;line-height:1.25}dl{grid-template-columns:1fr 1.5fr;gap:.75rem;display:grid}dt{font-weight:700}dd{overflow-wrap:anywhere;margin:0}.estimates-overview-page,.estimates-overview-grid,.estimate-overview-context,.estimate-overview-total{min-width:0;display:grid}.estimates-overview-page{gap:var(--space-3)}.estimates-overview-page .page-heading p{margin:var(--space-1) 0 0;color:var(--color-text-muted)}.estimates-overview-grid{gap:var(--space-3);grid-template-columns:1fr;margin:0;padding:0;list-style:none}.estimate-overview-item{min-width:0}.estimate-overview-card{width:100%;min-width:0;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);color:var(--color-text);text-align:left;box-shadow:var(--shadow-card);align-items:start;gap:.4rem;display:grid}.estimate-overview-card:hover{background:var(--color-primary-subtle);box-shadow:var(--shadow-card-hover);border-color:#9eb6d9}.estimate-overview-context{gap:var(--space-1)}.estimate-overview-context strong{font-size:1.05rem}.estimate-overview-context strong,.estimate-overview-context span,.estimate-overview-total strong,.estimate-overview-updated{overflow-wrap:anywhere}.estimate-overview-context span,.estimate-overview-updated{color:var(--color-text-muted)}.estimate-overview-total{justify-content:start}.estimate-overview-total strong{font-size:1.35rem}.estimate-overview-open{color:var(--color-primary);font-weight:600}.estimates-overview-state{margin-top:0}.estimate-card{gap:var(--space-3);width:min(100%,68rem);padding:var(--space-3);flex-direction:column;display:flex}.estimate-card>*{margin:0}.estimate-editor-header{gap:var(--space-2);padding-bottom:var(--space-2);border-bottom:1px solid var(--color-border);display:grid}.estimate-editor-heading{gap:var(--space-1);min-width:0;display:grid}.estimate-editor-heading h1{font-size:clamp(1.5rem,6vw,1.65rem)}.estimate-editor-heading h1,.estimate-editor-heading p{overflow-wrap:anywhere;margin:0}.estimate-editor-heading p{color:var(--color-text-muted)}.estimate-editor-context{gap:var(--space-1) var(--space-2);flex-wrap:wrap;align-items:baseline;font-size:.9rem;display:flex}.estimate-change-request-callout,.estimate-publication-info,.estimate-approved-explanation,.estimate-approved-at{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);order:0;font-size:.875rem}.estimate-publication-info{border:1px solid #b7d5eb;border-left:4px solid var(--color-primary);color:var(--color-text);background:#f1f8fd}.estimate-change-request-callout{border:1px solid #f2b88f;border-left:4px solid var(--color-change-requested);background:#fff7f0}.estimate-change-request-callout p{margin:var(--space-2) 0 0;white-space:pre-wrap;overflow-wrap:anywhere}.estimate-approved-explanation,.estimate-approved-at{color:var(--color-success);background:#eef8f1}.estimate-client-delivery{gap:var(--space-3);padding:var(--space-3);border-radius:var(--radius-md);background:#f7faff;border:1px solid #b9c9e3;display:grid}.estimate-client-delivery-heading{justify-content:space-between;align-items:center;gap:var(--space-2);flex-wrap:wrap;min-width:0;display:flex}.estimate-client-delivery-heading h2,.estimate-client-delivery p{margin:0}.client-version-state{color:var(--color-success);background:#e8f3ec;border-radius:999px;padding:.25rem .55rem;font-size:.78rem;font-weight:700}.client-version-stale-message{gap:var(--space-1);padding:var(--space-2) var(--space-3);border-left:3px solid var(--color-change-requested);background:#fff7f0;font-size:.875rem;display:grid}.client-version-stale-message span,.estimate-publication-action small{color:var(--color-text-muted)}.estimate-publication-action{gap:var(--space-1);display:grid}.estimate-delivery-actions{gap:var(--space-2);grid-template-columns:repeat(2,minmax(0,1fr));display:grid}.estimate-delivery-actions>a,.estimate-delivery-actions>button{min-width:0;min-height:2.75rem;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-sm);text-align:center;overflow-wrap:anywhere;justify-content:center;align-items:center;font-size:.875rem;font-weight:650;line-height:1.2;display:inline-flex}.estimate-delete-section{gap:var(--space-3);min-width:0;display:grid}.estimate-back-action,.estimate-picker-close{width:fit-content}.estimate-picker-header{justify-content:space-between;align-items:flex-start;gap:var(--space-2);flex-wrap:wrap;min-width:0;display:flex}.estimate-picker-header h3{overflow-wrap:anywhere;flex:12rem;min-width:0}.estimate-picker-header .estimate-picker-close{flex:none}.estimate-delete-action{justify-self:start}.estimate-delete-estimate-confirmation{width:100%;max-width:36rem}.estimate-line-card,.additional-cost-card,.available-price-items,.estimate-summary,.estimate-presentation-links{gap:var(--space-2);padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-subtle);display:grid}.estimate-line-heading strong,.estimate-grand-total strong{overflow-wrap:anywhere}.estimate-line-heading strong{font-size:1.025rem;font-weight:650}.estimate-line-heading{gap:.15rem;display:grid}.estimate-line-heading span{color:var(--color-text-muted);font-size:.8rem}.estimate-line-fields,.additional-cost-card{gap:var(--space-2);display:grid}.estimate-card h2{font-size:1.15rem;line-height:1.25}.estimate-line-fields label,.additional-cost-card label,.estimate-add-cost label,.estimate-discount,.estimate-notes,.estimate-client-language label{font-size:.875rem;font-weight:600}.estimate-card input,.estimate-card select,.estimate-card textarea{font-size:1rem}.input-with-suffix{align-items:center;gap:.5rem;display:flex}.input-with-suffix input{min-width:0}.input-with-suffix>span{white-space:nowrap;color:#526078}.cost-currency{color:#526078;font-weight:500}.estimate-line-total,.estimate-summary>div{justify-content:space-between;gap:1rem;display:flex}.estimate-line-total>*,.estimate-summary>div>*{overflow-wrap:anywhere;min-width:0}.estimate-line-total>:last-child,.estimate-summary>div>:last-child{text-align:right}.estimate-line-total{padding-top:var(--space-2);border-top:1px solid var(--color-border);font-size:.925rem}.estimate-summary{background:var(--color-primary-subtle)}.estimate-grand-total{padding-top:var(--space-2);border-top:1px solid #b9c5d8;font-size:1.2rem}.estimate-grand-total strong{color:#102e63;font-size:1.35rem}.save-status{color:#137333;font-weight:700}.available-price-items h3{margin:0;font-size:1rem}.available-price-items>button{text-align:left;overflow-wrap:anywhere;justify-content:flex-start;min-width:0}.estimate-add-work,.estimate-send-action{width:100%}.estimate-add-work{justify-self:start;width:fit-content;max-width:100%;min-height:2.75rem}.estimate-client-language{gap:var(--space-1);display:grid}.estimate-discount,.estimate-notes,.estimate-client-language{padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface-subtle)}.estimate-client-language small{color:var(--color-text-muted);overflow-wrap:anywhere}.estimate-card>button.danger{width:fit-content;color:var(--color-danger);background:0 0;border:1px solid #e8aaa5;align-self:flex-start}.estimate-card>button.danger:hover:not(:disabled){background:var(--color-danger-subtle);color:var(--color-danger-hover)}.estimate-presentation-links button{min-height:2.5rem}textarea{border-radius:var(--radius-sm);width:100%;min-height:6rem;color:var(--color-text);background:var(--color-surface);resize:vertical;border:1px solid #b8c4d6;padding:.65rem .75rem}@media (width>=36rem){.auth-page,.auth-card{padding:var(--space-6)}.price-entry-choices,.price-list,.estimates-overview-grid,.estimate-line-fields,.additional-cost-card{grid-template-columns:repeat(2,minmax(0,1fr))}}@media (width<=35.999rem){.card{padding:var(--space-4)}.project-card-content{padding:.65rem var(--space-3)}.status-badge{white-space:normal;max-width:8.5rem}.estimate-card{gap:.9rem}.estimate-client-delivery{gap:.6rem;padding:.7rem}.estimate-client-delivery-heading h2{font-size:1.05rem}.client-version-stale-message{padding:.45rem .65rem}.estimate-delivery-actions>a,.estimate-delivery-actions>button{min-height:2.6rem;padding:.45rem .6rem}}@media (width>=52rem){.price-feedback,.estimate-feedback{right:var(--space-6);bottom:var(--space-6);max-width:min(24rem, calc(100vw - 16rem - 2 * var(--space-6)));left:auto}.app-layout{grid-template-columns:16rem minmax(0,1fr);display:grid}.app-navigation{height:100vh;padding:var(--space-5) var(--space-4);border-top:0;border-right:1px solid var(--color-border);box-shadow:none;background:var(--color-surface);flex-direction:column;display:flex;position:sticky;inset:0 auto auto 0}.app-navigation>.brand-area,.app-navigation>.account-area{display:flex}.primary-navigation{gap:var(--space-2);margin-top:var(--space-6);grid-template-columns:1fr;padding:0;display:grid}a.nav-item{justify-content:flex-start;gap:var(--space-3);min-height:3rem;padding:var(--space-3);text-align:left;font-size:.95rem;display:flex}a.nav-item[aria-current=page]{box-shadow:inset 3px 0 0 var(--color-primary)}.account-area{align-items:stretch;gap:var(--space-3);color:var(--color-text-muted);overflow-wrap:anywhere;flex-direction:column;margin-top:auto}.mobile-app-bar{display:none}.app-content{min-width:0;padding:var(--space-4) var(--space-6) var(--space-6)}.content-column{width:min(100%,75rem);margin:0}.profile-page{width:min(100%,52rem)}.profile-form{grid-template-columns:minmax(0,1.2fr) minmax(16rem,.8fr);align-items:start}.profile-account-actions{grid-template-columns:minmax(0,1fr) auto;align-items:center}.profile-account-actions .secondary-action{width:auto}.price-page-header{flex-direction:row;justify-content:space-between;align-items:center}.price-page-title-row{justify-content:flex-start}.price-add-work-action{flex:none;width:auto}.price-table{border-top:1px solid var(--color-border);gap:0}.price-table-heading,.price-table .price-item{column-gap:var(--space-4);grid-template-columns:minmax(0,2fr) minmax(6rem,.6fr) minmax(8rem,.7fr) auto;align-items:center}.price-table-heading{padding:var(--space-2) var(--space-3);border-bottom:1px solid var(--color-border);color:var(--color-text-muted);letter-spacing:.04em;text-transform:uppercase;font-size:.75rem;font-weight:750;display:grid}.price-table .price-list{grid-template-columns:minmax(0,1fr);gap:0}.price-table .price-item{padding:var(--space-3);border:0;border-bottom:1px solid var(--color-border);border-radius:0}.price-table .price-item-content,.price-item-actions{grid-column:auto}.price-item-actions{border:0;justify-content:flex-end;padding:0}.price-delete-confirmation{grid-column:1/-1}.price-custom-group{margin-top:var(--space-5)}.page-heading{grid-template-columns:1fr auto;align-items:center}.project-card-grid{gap:var(--space-3);grid-template-columns:minmax(0,1fr)}button.project-card-action{grid-template-columns:5.75rem minmax(0,1fr)}.project-card-content{align-items:center;gap:var(--space-4);padding:.55rem var(--space-4);grid-template-columns:minmax(0,1fr) minmax(9rem,.55fr) minmax(10rem,.8fr)}.project-card-heading{justify-content:stretch;gap:var(--space-2);display:grid}.project-card-client,.project-card-meta{font-size:.9rem}.project-form{padding:var(--space-4) var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr))}.project-form label:nth-of-type(3),.project-form label:nth-of-type(4),.project-form label:nth-of-type(7),.project-form-cover,.project-form-submit{grid-column:1/-1}.project-form-submit{justify-self:end;width:fit-content;min-width:12rem}.project-details-hero{grid-template-columns:9rem minmax(0,1fr);align-items:start}.project-details-cover-block{align-content:start;justify-items:stretch;gap:var(--space-2);grid-area:1/1;width:7rem;display:grid}.project-details-cover-block>.project-cover{grid-area:1/1;width:7rem;height:7rem}.project-details-heading{grid-area:1/2;grid-template-columns:minmax(0,1fr) max-content;align-items:start}.project-primary-actions{justify-content:flex-end;width:max-content}.project-details-cover-block .project-cover-controls{grid-area:2/1;width:7rem;max-width:7rem}.project-details-cover-block .cover-upload-action,.project-details-cover-block .project-cover-controls small{width:7rem;max-width:7rem}.project-details-cover-block .cover-upload-action{letter-spacing:normal;padding-inline:.35rem;font-size:.75rem}.project-information-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.project-estimate-card{grid-template-columns:minmax(0,1fr) auto;align-items:center}.estimate-card{gap:var(--space-4);padding:var(--space-5)}.estimates-overview-grid{grid-template-columns:repeat(3,minmax(0,1fr))}.estimate-client-delivery{padding:var(--space-4)}.estimate-delivery-actions{grid-template-columns:repeat(4,minmax(0,max-content));justify-content:start}}@media (width>=75rem){.estimate-line-card{grid-template-columns:minmax(10rem,1fr) minmax(21rem,1.6fr) minmax(8.5rem,auto) max-content;align-items:end}.estimate-line-fields{grid-template-columns:repeat(2,minmax(10rem,1fr))}.estimate-line-total{min-height:100%;padding:0 0 0 var(--space-3);border-top:0;border-left:1px solid var(--color-border);align-items:center}.estimate-line-card>.item-actions{grid-column:auto;place-self:center end}.estimate-line-card>.estimate-delete-confirmation{grid-column:1/-1}.additional-cost-card{grid-template-columns:minmax(15rem,1.4fr) minmax(12rem,1fr) max-content;align-items:end}.additional-cost-card>button.link{place-self:end}.additional-cost-card>.estimate-delete-confirmation{grid-column:1/-1}}.public-presentation-shell{width:min(100% - 1rem,58rem);padding-top:var(--space-2)}.public-presentation{gap:var(--space-5);border:1px solid var(--color-border);border-radius:var(--radius-lg);background:var(--color-surface);box-shadow:var(--shadow-card);display:grid;overflow:hidden}.public-presentation>*{margin:0}.public-document-header{gap:var(--space-3);padding:var(--space-5) var(--space-4);border-bottom:3px solid var(--color-primary);background:var(--color-surface-subtle);display:grid}.public-brand{width:fit-content;max-width:7.5rem}.public-brand img{object-fit:contain;width:100%;height:auto;display:block}.public-document-identity{gap:var(--space-1);min-width:0;display:grid}.public-document-identity h1,.public-document-identity time{margin:0}.public-document-identity h1{overflow-wrap:anywhere;font-size:clamp(1.6rem,7vw,2.25rem);line-height:1.15}.public-document-identity time{color:var(--color-text-muted);font-size:.875rem}.public-party-grid{gap:var(--space-4);margin:0 var(--space-4);padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-surface-subtle);display:grid}.public-party-grid>div{gap:var(--space-1);min-width:0;display:grid}.public-party-grid span,.public-party-grid strong{overflow-wrap:anywhere}.public-party-grid span{color:var(--color-text-muted);font-size:.9rem}.public-document-section,.public-lifecycle-status,.public-presentation-summary,.public-client-actions{margin-right:var(--space-4);margin-left:var(--space-4)}.public-document-section{gap:var(--space-3);min-width:0;display:grid}.public-document-section h2{padding-left:var(--space-3);border-left:3px solid var(--color-primary);margin:0;font-size:1.15rem;line-height:1.3}.public-lifecycle-status{width:fit-content;max-width:100%;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);overflow-wrap:anywhere;font-size:.875rem;font-weight:700}.public-lifecycle-approved{border-left:3px solid var(--color-success);color:var(--color-success);background:#eef8f1}.public-lifecycle-requested{border-left:3px solid var(--color-change-requested);color:var(--color-change-requested);background:#fff7f0}.public-presentation-actions{gap:var(--space-4);display:grid}.public-presentation-actions>button{width:100%}.public-presentation-actions>form{padding-top:var(--space-4);border-top:1px solid var(--color-border);margin-top:0}.public-client-actions{gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--color-border);display:grid}.public-client-actions>button.secondary-action{width:100%}.public-presentation-list{gap:.75rem;margin:0;padding:0;list-style:none;display:grid}.public-work-row,.public-cost-row{gap:var(--space-3);padding:var(--space-4) 0;border-bottom:1px solid var(--color-border);overflow-wrap:anywhere;display:grid}.public-work-row:first-child,.public-cost-row:first-child{border-top:1px solid var(--color-border)}.public-work-row>strong{color:var(--color-text)}.public-work-row{line-height:1.55}.public-work-values{gap:var(--space-3);grid-template-columns:repeat(2,minmax(0,1fr));margin:0;display:grid}.public-work-values>div{min-width:0}.public-work-values dt{color:var(--color-text-muted);font-size:.75rem}.public-work-values dd{margin:var(--space-1) 0 0;overflow-wrap:anywhere;font-weight:650}.public-cost-row{grid-template-columns:minmax(0,1fr) auto;align-items:baseline;gap:1rem}.public-presentation-discount,.public-presentation-grand-total{justify-content:space-between;gap:1rem;margin:0;display:flex}.public-presentation-summary{gap:var(--space-2);padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-primary-subtle);border:1px solid #eed99f;display:grid}.public-presentation-summary>div{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:1rem;display:grid}.public-presentation-summary>div>*{overflow-wrap:anywhere;min-width:0}.public-presentation-summary>div>:last-child{text-align:right}.public-presentation-discount{padding-top:.25rem}.public-presentation-grand-total{padding-top:var(--space-3);color:var(--color-text);border-top:1px solid #d9bd72;font-size:1.3rem;font-weight:750}.public-presentation-notes{padding:var(--space-4);border-radius:var(--radius-md);background:var(--color-surface-subtle)}.public-presentation-notes p{white-space:pre-wrap;overflow-wrap:anywhere;margin:0}.public-presentation-footer{padding:var(--space-4);border-top:1px solid var(--color-border);color:var(--color-text-muted);text-align:center;font-size:.8rem}@media (width>=48rem){.public-presentation-shell{padding-top:var(--space-6)}.public-presentation{gap:var(--space-6)}.public-document-header{padding:var(--space-6);align-items:start}.public-brand{grid-column:1/-1}.public-document-identity{align-items:baseline;gap:var(--space-5);grid-template-columns:minmax(0,1fr) auto}.public-party-grid{margin-right:var(--space-6);margin-left:var(--space-6);padding:var(--space-5);grid-template-columns:repeat(2,minmax(0,1fr))}.public-document-section,.public-lifecycle-status,.public-presentation-summary,.public-client-actions{margin-right:var(--space-6);margin-left:var(--space-6)}.public-work-row{grid-template-columns:minmax(12rem,1.5fr) minmax(22rem,2fr);align-items:center}.public-work-values{grid-template-columns:.7fr .6fr 1fr 1fr;align-items:baseline}.public-work-values dt{margin-bottom:var(--space-1)}.public-work-values>div:not(:first-child){text-align:right}.public-presentation-summary{justify-self:end;width:min(100% - 4rem,29rem)}.public-client-actions{padding-top:var(--space-5);grid-template-columns:minmax(0,1fr) auto;align-items:start}.public-client-actions>button.secondary-action{grid-column:2;width:auto}.public-presentation-actions{grid-column:1/-1;width:min(100%,32rem)}.public-client-actions>[role=status],.public-client-actions>[role=alert]{grid-column:1/-1}.public-presentation-footer{padding:var(--space-4) var(--space-6)}}
