.catalog-page{gap:1.25rem;display:grid}.catalog-header h2,.catalog-section h3,.catalog-taxonomy-root h4,.catalog-taxonomy-child h5{margin-bottom:.35rem}.catalog-header p:last-child,.catalog-help,.catalog-source-note{color:#536b61}.catalog-tabs{background:#f7faf8;border:1px solid #dce6e0;border-radius:12px;gap:.25rem;width:fit-content;padding:.25rem;display:inline-flex}.catalog-tabs button{color:#385148;background:0 0;border:0;border-radius:9px;min-width:7rem;padding:.65rem 1rem}.catalog-tabs button.active{color:#153e33;background:#fff;box-shadow:0 1px 4px #1841341a}.catalog-section{gap:1rem;display:grid}.catalog-toolbar{flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;display:flex}.catalog-toolbar-actions{flex-wrap:wrap;align-items:center;gap:.75rem;display:flex}.catalog-search{max-width:38rem}.catalog-search input{width:100%}.catalog-list-shell{background:#fff;border:1px solid #dce6e0;border-radius:12px;overflow:hidden}.catalog-row{width:100%;color:inherit;text-align:left;background:#fff;border:0;border-bottom:1px solid #edf2ef;border-radius:0;grid-template-columns:1fr auto;align-items:center;gap:.75rem;padding:.9rem 1rem;display:grid}.catalog-row:last-child{border-bottom:0}.catalog-row:hover,.catalog-row.selected{background:#f6faf7}.catalog-row small{color:#64796f;margin-top:.18rem;font-weight:400;display:block}.catalog-element-row strong{display:block}.catalog-editor,.catalog-add{background:#fbfdfc;border:1px solid #cddbd4;border-radius:14px;gap:1rem;max-width:48rem;padding:1.1rem;display:grid}.catalog-editor-fields{grid-template-columns:minmax(0,2fr) minmax(8rem,1fr);gap:.8rem;display:grid}.catalog-areas{border:0;padding:0}.catalog-areas legend{margin-bottom:.25rem;font-weight:700}.catalog-checkboxes{flex-wrap:wrap;gap:.5rem 1rem;margin-top:.6rem;display:flex}.catalog-taxonomy{gap:1.5rem;display:grid}.catalog-taxonomy-root{gap:.85rem;display:grid}.catalog-taxonomy-root>h4{border-bottom:2px solid #dce6e0;padding-bottom:.45rem;font-size:1.05rem}.catalog-taxonomy-child{gap:.45rem;display:grid}.catalog-taxonomy-child h5{color:#456056;font-size:.92rem}.catalog-empty,.catalog-source-note{margin:0}.catalog-source-note{border-top:1px solid #e5ece8;padding-top:.5rem;font-size:.88rem}@media (width<=700px){.catalog-toolbar,.catalog-toolbar-actions{align-items:stretch}.catalog-toolbar-actions{width:100%}.catalog-toolbar-actions>button{flex:1}.catalog-editor-fields{grid-template-columns:1fr}.catalog-tabs{width:100%}.catalog-tabs button{flex:1;min-width:0}}.catalog-inline-editor>.catalog-editor{border:0;border-bottom:1px solid #dce6e0;border-radius:0;max-width:none}.catalog-inline-editor:last-child>.catalog-editor{border-bottom:0}:root{color:#18332f;font-synthesis:none;background:#f3f6f4;font-family:Inter,system-ui,sans-serif;line-height:1.5}*{box-sizing:border-box}body{min-width:320px;margin:0}a{color:#176450;text-underline-offset:.2em}button,input,textarea,select{font:inherit}button,.button{color:#fff;cursor:pointer;background:#176450;border:1px solid #0000;border-radius:10px;justify-content:center;align-items:center;min-height:48px;padding:.65rem 1rem;font-weight:650;text-decoration:none;display:inline-flex}button:disabled{opacity:.6;cursor:not-allowed}button:hover:not(:disabled),.button:hover{background:#104c3c}.secondary{color:#176450;background:#fff;border-color:#176450}.secondary:hover{color:#fff}:focus-visible{outline-offset:3px;outline:3px solid #bc6418}.site-header{background:#fff;border-bottom:1px solid #dce6e0;justify-content:space-between;align-items:center;gap:1rem;padding:1rem max(1rem,50vw - 480px);display:flex}.brand{color:#18332f;font-size:1.12rem;font-weight:800;text-decoration:none}.text-button{color:#176450;background:0 0}.text-button:hover:not(:disabled){background:#e6efe9}.dev-persona-switcher{background:#f1f5f3;border:1px solid #dce6e0;border-radius:6px;align-items:center;gap:.35rem;padding:.2rem .3rem;display:inline-flex}.dev-persona-btn{color:#556b63;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.35rem .65rem;font-size:.82rem;font-weight:500;transition:all .15s}.dev-persona-btn:hover{color:#18332f;background:#0000000d}.dev-persona-btn.active{color:#fff;background:#176450;font-weight:600;box-shadow:0 1px 3px #0000001a}main{max-width:960px;margin-inline:auto;padding:1.5rem 1rem 4rem}h2{overflow-wrap:anywhere;font-size:clamp(1.6rem,5vw,2.2rem);line-height:1.2}h3{overflow-wrap:anywhere;margin:.7rem 0 .3rem}p{overflow-wrap:anywhere}.panel{background:#fff;border:1px solid #dce6e0;border-radius:16px;padding:1.3rem}.login{max-width:480px;margin:2rem auto}.login-actions{gap:1rem;margin:1.5rem 0 1rem;display:grid}.google-login-btn{color:#1f2937;cursor:pointer;background-color:#fff;border:1px solid #d1d5db;border-radius:8px;justify-content:center;align-items:center;gap:.75rem;min-height:48px;font-size:1rem;font-weight:600;transition:background-color .2s,border-color .2s;display:flex;box-shadow:0 1px 2px #0000000d}.google-login-btn:hover:not(:disabled){background-color:#f9fafb;border-color:#9ca3af}.google-login-btn:disabled{opacity:.6;cursor:not-allowed}.google-icon{flex-shrink:0}.login-divider{text-align:center;color:#6b7280;align-items:center;margin:1.5rem 0 1.2rem;font-size:.85rem;display:flex}.login-divider:before,.login-divider:after{content:"";border-bottom:1px solid #e5e7eb;flex:1}.login-divider span{padding:0 .75rem}.eyebrow{color:#537366;margin-bottom:.5rem;font-size:.85rem;font-weight:700}form{gap:1.2rem;display:grid}label{gap:.4rem;font-weight:600;display:grid}input,select,textarea{color:#18332f;background:#fff;border:1px solid #a8bdb1;border-radius:8px;width:100%;min-width:0;min-height:48px;padding:.7rem}input[type=number]{appearance:textfield}input[type=number]::-webkit-inner-spin-button{appearance:none;margin:0}input[type=number]::-webkit-outer-spin-button{appearance:none;margin:0}textarea{resize:vertical}.initial-visit-product-description{white-space:pre-wrap}.error{color:#9a2727;background:#fff1f0;border-radius:8px;padding:.8rem}.notice{background:#edf6e9;border-radius:8px;padding:.8rem}.organization-picker{max-width:360px}.section-heading{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.8rem;margin:1.5rem 0;display:flex}.section-heading h2{margin:0}.project-list{gap:1rem;padding:0;list-style:none;display:grid}.project-card{background:#fff;border:1px solid #dce6e0;border-radius:16px;flex-direction:column;height:100%;display:flex;overflow:hidden}.project-card:hover{border-color:#176450}.project-card-link{color:inherit;flex:1;padding:1.3rem;text-decoration:none;display:block}.project-card p{color:#536b61}.project-card-header{justify-content:space-between;align-items:center;gap:.5rem;margin-bottom:.5rem;display:flex}.project-card-client{align-items:center;gap:.35rem;margin:.35rem 0 .2rem;font-size:.92rem;display:flex}.project-card-client-label{color:#64748b;font-weight:500}.project-card-client-name{color:#1e293b;font-weight:600}.project-card-actions{border-top:1px solid #eef3ef;justify-content:flex-end;padding:0 1.3rem 1rem;display:flex}.badge{color:#255e45;background:#e5eee8;border-radius:99px;padding:.25rem .65rem;font-size:.85rem;font-weight:650;display:inline-block}.open-project{color:#176450;font-weight:650}.actions{flex-wrap:wrap;align-items:center;gap:1.5rem;display:flex}dt{margin-top:1.5rem;font-weight:700}dd{overflow-wrap:anywhere;margin:.4rem 0}.ghost-field{background:0 0;border-color:#0000;min-height:auto;padding-left:0;font-weight:400}.ghost-field::placeholder{color:#8fa99c;font-style:italic}.ghost-field:hover:not(:focus){cursor:text;border-bottom:1px dashed #a8bdb1;border-radius:0}.ghost-field:focus{background:#fff;border-color:#a8bdb1;padding-left:.7rem}.badge-select{appearance:none;cursor:pointer;font:inherit;color:#255e45;text-align:center;background:#e5eee8;border:none;border-radius:99px;width:auto;min-height:auto;padding:.25rem .65rem;font-size:.85rem;font-weight:650}.badge-select:hover{background-color:#d3e4d8}.badge-select:focus-visible{outline-offset:2px;outline:3px solid #bc6418}.save-status{color:#537366;margin:.6rem 0 0;font-size:.85rem}.description{white-space:pre-wrap}.visit-description{white-space:pre-wrap;margin-bottom:0}.visit-description-details{border-top:1px solid #e2e9e5;gap:.75rem;margin:1rem 0 0;padding-top:1rem;display:grid}.visit-description-details p{white-space:pre-wrap;margin:0}.visit-callout,.save-bar,.attribute-row{justify-content:space-between;align-items:center;gap:1rem;display:flex}.visit-callout{flex-wrap:wrap;margin-top:1rem}.visit-callout p,.visit-callout h3{margin-bottom:.35rem}.visit-heading{max-width:700px;margin:1.5rem 0}.visit-heading h2{margin-block:.35rem}.visit-stack{gap:1rem;margin-top:1.5rem;display:grid}.summary-list{margin-bottom:0;padding-left:1.25rem}.summary-list li+li{margin-top:.55rem}.compact{margin-top:0}.editor-section{gap:1rem;display:grid}fieldset{border:1px solid #dce6e0;border-radius:12px;gap:1rem;min-width:0;margin:0;padding:1rem;display:grid}legend{padding-inline:.4rem;font-weight:700}.field-grid{gap:1rem;display:grid}.attribute-row{align-items:end}.small-button{min-height:40px;padding:.45rem .75rem}.compact-attributes-section{flex-direction:column;gap:.35rem;display:flex}.compact-attributes-header{justify-content:space-between;align-items:center;margin-bottom:.15rem;display:flex}.compact-attributes-title{color:#3b5049;text-transform:uppercase;letter-spacing:.04em;margin:0;font-size:.82rem;font-weight:600}.compact-attribute-row{align-items:center;gap:.35rem;display:flex}.compact-attribute-key{flex:1.2;min-width:0;border-radius:6px!important;min-height:36px!important;padding:.35rem .55rem!important;font-size:.9rem!important}.compact-attribute-colon{color:#637871;-webkit-user-select:none;user-select:none;padding:0 .1rem;font-weight:700}.compact-attribute-val{flex:1;min-width:0;border-radius:6px!important;min-height:36px!important;padding:.35rem .55rem!important;font-size:.9rem!important}.compact-attribute-remove{cursor:pointer;flex-shrink:0;justify-content:center;align-items:center;width:32px;height:32px;line-height:1;transition:all .15s;display:flex;color:#a84242!important;background:0 0!important;border:1px solid #0000!important;border-radius:6px!important;min-height:32px!important;padding:0!important;font-size:1.25rem!important}.compact-attribute-remove:hover{color:#991b1b!important;background-color:#fee2e2!important;border-color:#fca5a5!important}.compact-attribute-toolbar{flex-wrap:wrap;align-items:center;gap:.4rem;margin-top:.2rem;display:flex}.compact-attribute-quick-add{cursor:pointer;color:#1b3832!important;background:#f7faf8!important;border:1px dashed #7a9486!important;border-radius:6px!important;min-height:32px!important;padding:.2rem .5rem!important;font-size:.82rem!important}.compact-attribute-quick-add:hover{background:#eef5f1!important;border-color:#2b5646!important}.compact-add-free-btn{border-radius:6px!important;min-height:32px!important;padding:.2rem .6rem!important;font-size:.82rem!important}.danger-link{color:#9a2727;background:0 0;border-color:#0000}.danger-link:hover:not(:disabled){background:#fff1f0}.calculated-total{background:#f3f6f4;border-radius:8px;padding:.8rem;font-weight:700}.save-bar{z-index:1;background:#fffffff5;border:1px solid #dce6e0;border-radius:12px;padding:.8rem;position:sticky;bottom:0}.save-bar>*{flex:1}.visit-item-frame{background:#fdfdfd;border:1px solid #dce6e0;border-radius:12px;padding:.9rem}.visit-textarea{min-height:220px}.estimate-summary{gap:0;margin:0;display:grid}.estimate-summary>div{border-bottom:1px solid #e2e9e5;justify-content:space-between;align-items:baseline;gap:1rem;padding:.65rem 0;display:flex}.estimate-summary dt,.estimate-summary dd{margin:0}.estimate-summary dd{font-variant-numeric:tabular-nums}.estimate-summary .estimate-total{font-weight:750}.project-summary{gap:1.25rem;margin-bottom:1rem;display:grid}.project-summary>p{margin:0}.summary-budgets{border-top:1px solid #e2e9e5;border-bottom:1px solid #e2e9e5;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem;padding-block:1rem;display:grid}.summary-budgets div{gap:.25rem;display:grid}.summary-budgets small,.muted{color:#537366}.summary-budget-stages{border-top:1px solid #e2e9e5;border-bottom:1px solid #e2e9e5;flex-direction:column;gap:.75rem;padding-block:.75rem;display:flex}.summary-stage-block{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;flex-direction:column;gap:.45rem;padding:.75rem 1rem;display:flex}.summary-stage-title{color:#1e293b;text-transform:uppercase;letter-spacing:.04em;margin:0;font-size:.88rem;font-weight:700}.summary-stage-values{flex-wrap:wrap;gap:2rem;display:flex}.summary-stage-values div{flex-direction:column;gap:.15rem;display:flex}.summary-stage-values small{color:#64748b;font-size:.8rem}.summary-stage-values strong{color:#0f172a;font-size:1.05rem}.summary-diff-container{margin-top:.75rem}.summary-diff-text{color:#334155;margin:0;font-size:.95rem;font-weight:500;line-height:1.5}.summary-section h4{margin:0 0 .6rem;font-size:1rem}.summary-findings{gap:.8rem;margin:0;padding-left:1.25rem;list-style:outside;display:grid}.summary-findings li{padding-left:.15rem}.summary-findings p{margin:.2rem 0}.summary-section .muted{margin:0}.checkbox-label{flex-direction:row;grid-template-columns:none;align-items:center;gap:.65rem;display:flex}.checkbox-label input{flex:none;width:1.2rem;min-height:1.2rem}.project-tabs{gap:.45rem;margin:1.2rem 0;padding-bottom:.45rem;display:flex;overflow-x:auto}.project-tabs a{background:#fff;border:1px solid #a8bdb1;border-radius:99px;flex:none;padding:.55rem .75rem;font-weight:650;text-decoration:none}.project-tabs a.active{color:#fff;background:#176450;border-color:#176450}.work-area-filters{flex-wrap:wrap;gap:.5rem;display:flex}.work-area-filters button{color:#18332f;background:#fff;border:1px solid #8aa79b;min-height:40px;padding:.55rem .8rem}.work-area-filters button[aria-pressed=true]{color:#fff;background:#18332f;border-color:#18332f}.product-mode-tabs{flex-wrap:wrap;gap:.5rem;margin-bottom:.8rem;display:flex}.product-mode-tabs button{color:#18332f;cursor:pointer;background:#fff;border:1px solid #8aa79b;min-height:38px;padding:.45rem .8rem;font-size:.95rem}.product-mode-tabs button[aria-pressed=true]{color:#fff;background:#18332f;border-color:#18332f}.work-material-group{flex-direction:column;gap:.8rem;display:flex}.work-material-budgets{flex-wrap:wrap;align-items:center;gap:.5rem;display:flex}.badge.price-badge{color:#15573f;background:#d8ecdf;font-weight:700}.badge.secondary-badge{color:#3b574c;background:#eef3f0}.material-price-breakdown{background:#f4f8f5;border:1px solid #dce8e1;border-radius:8px;margin:.5rem 0;padding:.5rem .75rem}.material-price-breakdown-btn{color:#1b4332;cursor:pointer;text-align:left;box-sizing:border-box;background:#f4f8f5;border:1px solid #dce8e1;border-radius:8px;justify-content:space-between;align-items:center;width:100%;margin:.35rem 0;padding:.65rem .9rem;font-family:inherit;font-size:.92rem;line-height:1.4;transition:all .15s ease-in-out;display:flex}.material-price-breakdown-btn:hover{background:#e8f3ec;border-color:#2d6a4f;box-shadow:0 1px 3px #0000000d}.material-price-breakdown-btn:focus-visible{outline-offset:2px;outline:2px solid #2d6a4f}.material-price-breakdown-btn.expanded{background:#edf5f0;border-color:#a8d5be;margin-bottom:.75rem}.material-price-breakdown-main{flex-wrap:wrap;flex:1;align-items:baseline;gap:.25rem .5rem;display:flex}.material-price-breakdown-btn .expand-badge{color:#2d6a4f;background:#e1efe6;border:1px solid #c0dfcb;border-radius:6px;flex-shrink:0;margin-left:.75rem;padding:.2rem .55rem;font-size:.8rem;font-weight:600;transition:background .15s,color .15s}.material-price-breakdown-btn:hover .expand-badge{color:#fff;background:#2d6a4f}.specification-card-collapsed,.work-item-card-collapsed{gap:.35rem;display:grid}.catalog-grid,.card-grid{gap:1rem;display:grid}.catalog-list{gap:.6rem;margin:0;padding:0;list-style:none;display:grid}.catalog-list li{border-bottom:1px solid #e5eee8;justify-content:space-between;align-items:center;gap:.65rem;padding-bottom:.6rem;display:flex}.catalog-name{flex:1}.catalog-name input{min-height:40px}.tight-actions{gap:.25rem}.suggestion-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem;display:grid}.sr-only{clip:rect(0, 0, 0, 0);white-space:nowrap;border:0;width:1px;height:1px;margin:-1px;padding:0;position:absolute;overflow:hidden}@media (width>=640px){main{padding-top:2.5rem}.project-list{grid-template-columns:repeat(2,minmax(0,1fr))}.panel{padding:2rem}.field-grid,.catalog-grid,.card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}.catalog-type-picker{gap:.75rem;min-width:0;display:grid}.catalog-type-picker input,.catalog-type-picker select{width:100%;min-width:0}.catalog-combobox-control{position:relative}.catalog-combobox-control input{padding-right:2rem}.catalog-combobox-arrow{pointer-events:none;position:absolute;top:50%;right:.8rem;transform:translateY(-50%)}.catalog-combobox-options:not([hidden]){overscroll-behavior:contain;background:#fff;border:1px solid #a8bdb1;border-radius:8px;max-height:min(20rem,45dvh);overflow-y:auto}.catalog-combobox-heading{background:#f0f5f2;padding:.65rem .8rem;font-size:.85rem;font-weight:700}.catalog-combobox-option{cursor:pointer;min-height:48px;padding:.8rem}.catalog-combobox-option.highlighted,.catalog-combobox-option:hover{background:#e2eee7}.catalog-combobox-option[aria-selected=true]{font-weight:700}.catalog-combobox-empty{margin:0;padding:.8rem}.catalog-selected-product-panel{box-sizing:border-box;background:#f8fafc;border:2px solid #0b5cab;border-radius:8px;width:100%;margin-block:1rem;padding:1.25rem;box-shadow:0 2px 8px #0b5cab14}.catalog-selected-product-header{border-bottom:1px solid #e2e8f0;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:.75rem;padding-bottom:.75rem;display:flex}.catalog-selected-product-heading{flex-direction:column;gap:.25rem;display:flex}.catalog-selected-badge{text-transform:uppercase;letter-spacing:.05em;color:#0b5cab;font-size:.75rem;font-weight:700;display:inline-block}.catalog-selected-title{color:#0f172a;margin:0;font-size:1.15rem;font-weight:600}.catalog-selected-reference{color:#64748b;font-size:.85rem}.catalog-product-picker,.catalog-product-details{gap:.75rem;min-width:0;display:grid}.catalog-product-details{box-sizing:border-box;background:#fff;border:1px solid #dce6e0;border-radius:8px;width:100%;padding:1.25rem}.catalog-product-details dl{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem 1rem;margin:0;padding:.85rem 1rem;display:grid}.catalog-product-details dt{text-transform:uppercase;letter-spacing:.04em;color:#64748b;margin-bottom:.15rem;font-size:.75rem;font-weight:600}.catalog-product-details dd{color:#1e293b;margin:0;font-size:.92rem;font-weight:500}.catalog-product-details p{color:#334155;margin:0;line-height:1.5}.project-catalog-view{gap:1.5rem;margin-top:1rem;display:grid}.obramat-store-card{background:#fff9f2;border-left:4px solid #f28b00}.store-badge-row{align-items:center;gap:.75rem;margin-bottom:.5rem;display:flex}.store-badge{color:#fff;background:#f28b00;font-weight:600}.store-code{color:#666;font-size:.85rem}.store-title{color:#1a1a1a;margin:0 0 .35rem;font-size:1.25rem}.store-address{color:#444;margin:0 0 .5rem;font-size:.95rem}.store-link a{color:#0b5cab;font-weight:500;text-decoration:underline}.alert-banner{background:#fff5f5;border-left:4px solid #d9381e}.backup-banner{background:#f1f8e9;border-left:4px solid #2e7d32}.backup-header{color:#2e7d32;margin-bottom:.25rem}.taxonomy-info-bar{color:#666;font-size:.85rem}.catalog-browser-container{gap:1.25rem;display:grid}.catalog-search-toolbar{flex-wrap:wrap;align-items:center;gap:1rem;display:flex}.catalog-search-input-wrapper{flex:1;min-width:250px;position:relative}.catalog-search-input{border:1px solid #c4d1c9;border-radius:8px;width:100%;padding:.75rem 1rem}.searching-spinner{color:#666;font-size:.85rem;position:absolute;top:50%;right:1rem;transform:translateY(-50%)}.pilot-route-btn{white-space:nowrap}.catalog-search-results{max-height:300px;overflow-y:auto}.search-results-list{gap:.35rem;margin:.5rem 0 0;padding:0;list-style:none;display:grid}.search-result-item{color:#18332f;text-align:left;cursor:pointer;background:#fff;border:1px solid #dce6e0;border-radius:6px;justify-content:space-between;align-items:center;width:100%;min-height:auto;padding:.6rem .8rem;font-weight:400;display:flex}.search-result-item:hover{color:#104c3c;background:#eef5f1}.search-result-name{color:#18332f;font-weight:600}.leaf-badge{color:#fff;background:#2e7d32;margin:0 .5rem;font-size:.75rem}.search-result-depth{color:#777;font-size:.8rem}.catalog-breadcrumb ol{background:#f4f7f5;border-radius:8px;flex-wrap:wrap;align-items:center;gap:.35rem;margin:0;padding:.6rem .8rem;list-style:none;display:flex}.breadcrumb-link{color:#0b5cab;cursor:pointer;background:0 0;border:none;padding:0;font-size:.9rem;text-decoration:underline}.breadcrumb-separator{color:#999;margin:0 .25rem}.breadcrumb-current{color:#333;font-size:.9rem;font-weight:600}.categories-grid{grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:1rem;margin-top:.75rem;display:grid}.category-card{text-align:left;cursor:pointer;background:#fff;border:1px solid #dce6e0;border-radius:8px;flex-direction:column;justify-content:space-between;min-height:90px;padding:1rem;transition:border-color .15s,box-shadow .15s;display:flex}.category-card:hover{border-color:#2e7d32;box-shadow:0 2px 6px #00000014}.category-card.is-leaf{border-left:4px solid #2e7d32}.category-card-name{color:#1a1a1a;font-size:.95rem;font-weight:600}.category-card-type{color:#0b5cab;margin-top:.5rem;font-size:.8rem}.catalog-products-section{gap:1.25rem;display:grid}.products-header{border-bottom:2px solid #e0eae4;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:.5rem;padding-bottom:.75rem;display:flex}.products-category-title{margin:0 0 .25rem;font-size:1.35rem}.products-category-url a{color:#0b5cab;font-size:.85rem}.products-grid{grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:1.25rem;display:grid}.product-card{background:#fff;border:1px solid #dce6e0;border-radius:10px;flex-direction:column;display:flex;overflow:hidden;box-shadow:0 1px 3px #0000000d}.product-card.is-selected{border-color:#0b5cab;box-shadow:0 0 0 2px #0b5cab2e}.catalog-product-selection-grid{margin-block:.8rem}.product-image-wrap{background:#fafafa;justify-content:center;align-items:center;width:100%;height:180px;display:flex;overflow:hidden}.product-image{object-fit:contain;max-width:100%;max-height:100%}.product-image-placeholder{color:#888;background:#f0f0f0;justify-content:center;align-items:center;width:100%;height:180px;font-size:.85rem;display:flex}.product-details{flex-direction:column;flex:1;gap:.5rem;padding:1rem;display:flex}.product-brand{color:#666;text-transform:uppercase;letter-spacing:.05em;font-size:.75rem;font-weight:700}.product-title{color:#1a1a1a;margin:0;font-size:1rem;font-weight:600;line-height:1.3}.product-reference{color:#888;font-size:.8rem}.product-pricing{flex-direction:column;margin-top:auto;padding-top:.5rem;display:flex}.product-price-vat{color:#d9381e;font-size:1.25rem;font-weight:700}.product-price-no-vat{color:#666;font-size:.8rem}.product-metadata{justify-content:space-between;align-items:center;margin-top:.25rem;display:flex}.store-tag{color:#e65100;background:#fff3e0;font-size:.75rem}.product-extraction-date{color:#999;font-size:.75rem}.product-card-actions{border-top:1px solid #f0f0f0;justify-content:space-between;align-items:center;margin-top:.75rem;padding-top:.75rem;display:flex}.pagination-wrapper{justify-content:center;margin-top:1.5rem;display:flex}.modal-backdrop{z-index:1000;background:#00000080;justify-content:center;align-items:center;padding:1rem;display:flex;position:fixed;inset:0}.modal-panel{background:#fff;border-radius:12px;gap:1rem;width:100%;max-width:500px;padding:1.5rem;display:grid;box-shadow:0 10px 25px #0003}.modal-actions{justify-content:flex-end;gap:.75rem;margin-top:.5rem;display:flex}.project-card-access-buttons{gap:.5rem;margin-top:auto;padding:0 1.3rem 1.2rem;display:flex}.project-card-access-buttons .button{text-align:center;white-space:nowrap;flex:1;justify-content:center;padding:.45rem .6rem;font-size:.82rem;text-decoration:none}.project-access-manager{color:#1e293b;background:#f1f5f9;border:1px solid #cbd5e1}.project-access-manager:hover{background:#e2e8f0}.project-access-client{color:#fff;background:#0b5cab}.project-access-client:hover{background:#094a8a}.project-view-top-header{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.75rem;display:flex}.project-role-mode-selector{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:.4rem;padding:.25rem .5rem;display:flex}.project-role-mode-label{text-transform:uppercase;letter-spacing:.04em;color:#64748b;margin-right:.25rem;font-size:.78rem;font-weight:600}.client-portal{gap:1.5rem;max-width:1100px;margin:0 auto;display:grid}.client-preview-banner{color:#1e40af;background:#eff6ff;border:1px solid #bfdbfe;border-radius:12px;align-items:flex-start;gap:.85rem;padding:1rem 1.25rem;display:flex;box-shadow:0 1px 4px #0000000a}.client-preview-banner-icon{flex-shrink:0;margin-top:.1rem;font-size:1.4rem;line-height:1}.client-preview-banner strong{color:#1e3a8a;margin-bottom:.25rem;font-size:.96rem;display:block}.client-preview-banner p{color:#2563eb;margin:0;font-size:.86rem;line-height:1.45}.project-chat-readonly-composer{color:#64748b;text-align:center;background:#f8fafc;border-top:1px solid #e2e8f0;border-radius:0 0 12px 12px;padding:1.1rem 1.25rem;font-size:.88rem;line-height:1.45}.client-hero{background:linear-gradient(135deg,#fff 0%,#f8fafc 100%);border:1px solid #e2e8f0;border-radius:16px;flex-wrap:wrap;justify-content:space-between;align-items:flex-start;gap:1.25rem;padding:1.75rem 2rem;display:flex;box-shadow:0 4px 15px #00000008}.client-hero-meta{align-items:center;gap:.6rem;margin-bottom:.5rem;display:flex}.client-status-badge{color:#0369a1;background:#e0f2fe;border-radius:99px;padding:.25rem .65rem;font-size:.8rem;font-weight:600}.client-badge-subtle{color:#64748b;font-size:.8rem;font-weight:500}.client-project-title{color:#0f172a;letter-spacing:-.02em;margin:0 0 .4rem;font-size:1.75rem;font-weight:700}.client-project-address{color:#475569;margin:0 0 .5rem;font-size:.95rem}.client-project-description{color:#64748b;max-width:700px;margin:.5rem 0 0;font-size:.92rem;line-height:1.5}.client-metrics-summary{grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:1rem;display:grid}.client-metric-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;padding:1.25rem 1.5rem;display:flex;box-shadow:0 2px 6px #00000005}.client-metric-budget{border-left:4px solid #0b5cab}.client-metric-label{text-transform:uppercase;letter-spacing:.05em;color:#64748b;margin-bottom:.35rem;font-size:.78rem;font-weight:600}.client-metric-value{color:#0f172a;font-size:1.6rem;font-weight:700;line-height:1.2}.client-metric-subtext{color:#94a3b8;margin-top:.3rem;font-size:.82rem}.client-metric-date{color:#0369a1;margin-top:.4rem;font-size:.74rem;font-weight:500}.budget-header-row{flex-wrap:wrap;justify-content:space-between;align-items:baseline;gap:.75rem;margin-bottom:.5rem;display:flex}.budget-header-row h3{margin:0}.budget-last-modified,.client-budget-last-modified{color:#475569;white-space:nowrap;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;padding:.25rem .65rem;font-size:.84rem}.client-navigation-bar{background:#fff;border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;gap:1rem;padding:1rem 1.25rem;display:flex}.client-section-tabs{flex-wrap:wrap;gap:.5rem;display:flex}.client-tab-btn{color:#475569;cursor:pointer;background:#f1f5f9;border:1px solid #0000;border-radius:8px;padding:.5rem .9rem;font-size:.88rem;font-weight:600;transition:all .15s}.client-tab-btn:hover{color:#0f172a;background:#e2e8f0}.client-tab-btn.is-active{color:#fff;background:#0b5cab;box-shadow:0 2px 6px #0b5cab33}.client-area-chips{border-top:1px solid #f1f5f9;flex-wrap:wrap;align-items:center;gap:.5rem;padding-top:.75rem;display:flex}.client-area-chips-label{color:#64748b;margin-right:.25rem;font-size:.82rem;font-weight:600}.client-chip{color:#334155;cursor:pointer;background:#f8fafc;border:1px solid #cbd5e1;border-radius:99px;padding:.35rem .75rem;font-size:.82rem}.client-chip:hover{background:#f1f5f9;border-color:#94a3b8}.client-chip.is-selected{color:#fff;background:#0284c7;border-color:#0284c7;font-weight:600}.client-area-banner{background:#f0f9ff;border:1px solid #bae6fd;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:1rem 1.25rem;display:flex}.client-area-attributes{flex-wrap:wrap;gap:.5rem;display:flex}.client-attr-tag{color:#0369a1;background:#fff;border:1px solid #e0f2fe;border-radius:6px;padding:.2rem .55rem;font-size:.8rem}.client-section{gap:1.25rem;display:grid}.client-section-header{border-bottom:2px solid #f1f5f9;padding-bottom:.5rem}.client-section-title{color:#0f172a;margin:0;font-size:1.35rem;font-weight:700}.client-section-desc{color:#64748b;margin:.25rem 0 0;font-size:.9rem}.client-empty-card{text-align:center;color:#64748b;background:#f8fafc;border:1px dashed #cbd5e1;border-radius:12px;padding:2.5rem}.client-materials-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:1.25rem;display:grid}.client-material-card{background:#fff;border:1px solid #e2e8f0;border-radius:14px;flex-direction:column;transition:transform .15s,box-shadow .15s;display:flex;overflow:hidden;box-shadow:0 2px 8px #00000008}.client-material-card.has-selected{border-color:#cbd5e1}.client-material-card.is-pending{background:#fffdf5;border-color:#fde68a}.client-card-top{padding:1.25rem 1.25rem .75rem}.client-card-badges{flex-wrap:wrap;gap:.4rem;margin-bottom:.6rem;display:flex}.client-room-badge{color:#475569;background:#f1f5f9;border-radius:6px;padding:.2rem .55rem;font-size:.75rem;font-weight:600}.badge-client-supply{color:#0369a1;background:#e0f2fe}.badge-pro-supply{color:#166534;background:#f0fdf4}.badge-chosen{color:#fff;background:#15803d;font-weight:700}.badge-pending{color:#b45309;background:#fef3c7;font-weight:600}.client-material-name{color:#0f172a;margin:0;font-size:1.15rem;font-weight:700}.client-material-qty{color:#64748b;margin-top:.25rem;font-size:.85rem;display:block}.client-selected-option-box{background:#fafafa;border-top:1px solid #f1f5f9;flex-direction:column;flex:1;padding:1rem 1.25rem 1.25rem;display:flex}.client-option-preview{align-items:flex-start;gap:1rem;display:flex}.client-option-img{object-fit:cover;background:#fff;border:1px solid #e2e8f0;border-radius:8px;flex-shrink:0;width:90px;height:90px}.client-option-img-placeholder{background:#f1f5f9;border-radius:8px;flex-shrink:0;justify-content:center;align-items:center;width:90px;height:90px;font-size:2rem;display:flex}.client-option-info{flex:1;min-width:0}.client-option-brand{text-transform:uppercase;letter-spacing:.04em;color:#64748b;font-size:.75rem;font-weight:700;display:block}.client-option-model{color:#0f172a;margin:.15rem 0 .35rem;font-size:1.05rem;font-weight:600}.client-option-detail{color:#475569;margin:.2rem 0;font-size:.83rem}.client-option-price{color:#0f172a;margin:.5rem 0 0;font-size:.95rem}.client-option-subtotal{color:#64748b;font-size:.85rem}.client-alternatives-toggle{border-top:1px dashed #e2e8f0;margin-top:.85rem;padding-top:.65rem}.client-unselected-prompt{background:#fffbeb;border-top:1px solid #fef3c7;padding:1rem 1.25rem}.client-prompt-text{color:#92400e;margin:0;font-size:.88rem;line-height:1.4}.client-alternatives-list{background:#f8fafc;border-top:1px solid #e2e8f0;padding:1rem 1.25rem 1.25rem}.client-alternatives-heading{text-transform:uppercase;letter-spacing:.04em;color:#64748b;margin:0 0 .75rem;font-size:.85rem}.client-options-subgrid{gap:.75rem;display:grid}.client-sub-option-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;align-items:center;gap:.85rem;padding:.75rem;display:flex}.client-sub-option-img{object-fit:cover;border:1px solid #cbd5e1;border-radius:6px;flex-shrink:0;width:60px;height:60px}.client-sub-option-placeholder{background:#f1f5f9;border-radius:6px;flex-shrink:0;justify-content:center;align-items:center;width:60px;height:60px;font-size:1.5rem;display:flex}.client-sub-option-content{flex-direction:column;flex:1;gap:.2rem;min-width:0;display:flex}.client-sub-option-title{color:#0f172a;font-size:.92rem}.client-sub-option-meta{color:#64748b;font-size:.8rem}.client-sub-option-price{color:#0f172a;font-size:.85rem;font-weight:600}.client-choose-btn{align-self:flex-start;margin-top:.35rem}.client-works-list{gap:.75rem;display:grid}.client-work-card{background:#fff;border:1px solid #e2e8f0;border-radius:10px;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:1rem;padding:1.1rem 1.35rem;display:flex;box-shadow:0 1px 4px #00000005}.client-work-main{flex:1;min-width:250px}.client-work-badges{gap:.4rem;margin-bottom:.35rem;display:flex}.client-cat-badge{color:#475569;background:#f1f5f9;border-radius:4px;padding:.15rem .5rem;font-size:.75rem}.client-work-title{color:#0f172a;margin:0;font-size:1.05rem;font-weight:600}.client-work-notes{color:#64748b;margin:.35rem 0 0;font-size:.85rem;line-height:1.4}.client-work-meta{flex-direction:column;align-items:flex-end;gap:.25rem;display:flex}.client-work-qty{color:#64748b;font-size:.85rem}.client-work-amount{color:#0f172a;font-size:1.1rem}.client-work-amount-breakdown{color:#64748b;text-align:right;margin-top:.15rem;font-size:.78rem;font-weight:400;display:block}.client-budget-breakdown{background:#fff;border:1px solid #e2e8f0;border-radius:14px;gap:.75rem;padding:1.5rem;display:grid;box-shadow:0 2px 8px #00000008}.client-budget-row{color:#334155;border-bottom:1px solid #f1f5f9;justify-content:space-between;align-items:center;padding:.6rem 0;font-size:.95rem;display:flex}.client-budget-subtotal{color:#0f172a;border-top:1px solid #cbd5e1;padding-top:.85rem;font-weight:600}.client-budget-total{color:#0b5cab;border-top:2px solid #0b5cab;border-bottom:none;margin-top:.25rem;padding-top:.85rem;font-size:1.3rem;font-weight:700}.client-budget-notice{color:#64748b;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin:1rem 0 0;padding:.85rem 1rem;font-size:.85rem;line-height:1.4}.project-chat-wrapper{background:#fff;border:1px solid #e2e8f0;border-radius:12px;flex-direction:column;margin-top:1rem;display:flex;overflow:hidden;box-shadow:0 2px 8px #0000000a}.project-chat-header{background:#f8fafc;border-bottom:1px solid #e2e8f0;flex-wrap:wrap;justify-content:space-between;align-items:center;gap:.75rem;padding:1rem 1.25rem;display:flex}.project-chat-header h3{color:#0f172a;margin:0;font-size:1.1rem}.project-chat-title-row{flex-wrap:wrap;align-items:center;gap:.65rem;display:flex}.project-chat-live-badge{color:#15803d;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:9999px;align-items:center;gap:.35rem;padding:.15rem .5rem;font-size:.72rem;font-weight:600;line-height:1;display:inline-flex}.project-chat-live-pulse{background:#22c55e;border-radius:50%;width:7px;height:7px;animation:2s ease-in-out infinite project-chat-pulse;display:inline-block;box-shadow:0 0 #22c55eb3}@keyframes project-chat-pulse{0%{transform:scale(.95);box-shadow:0 0 #22c55eb3}70%{transform:scale(1.1);box-shadow:0 0 0 4px #22c55e00}to{transform:scale(.95);box-shadow:0 0 #22c55e00}}.project-chat-subtitle{color:#64748b;margin:.25rem 0 0;font-size:.82rem}.project-chat-messages-container{background:#fdfdfd;min-height:280px;max-height:480px;padding:1.25rem;overflow-y:auto}.project-chat-empty{text-align:center;color:#64748b;padding:3rem 1.5rem}.project-chat-empty-title{color:#334155;margin:0 0 .5rem;font-size:1rem;font-weight:600}.project-chat-empty-desc{margin:0;max-width:480px;margin-inline:auto;font-size:.88rem}.project-chat-bubbles-list{flex-direction:column;gap:1rem;display:flex}.project-chat-load-older{justify-content:center;align-items:center;padding:.25rem 0 .5rem;display:flex}.project-chat-loading-older-text{color:#64748b;font-size:.8rem;font-style:italic}.project-chat-load-older-btn{color:#475569;cursor:pointer;background:#f1f5f9;border:1px solid #cbd5e1;border-radius:9999px;padding:.25rem .75rem;font-size:.78rem;transition:all .15s ease-in-out}.project-chat-load-older-btn:hover{color:#1e293b;background:#e2e8f0}.project-chat-message-row{width:100%;display:flex}.project-chat-message-row.mine{justify-content:flex-end}.project-chat-message-row.theirs{justify-content:flex-start}.project-chat-bubble{border-radius:14px;max-width:78%;padding:.85rem 1.1rem;font-size:.92rem;line-height:1.45;box-shadow:0 1px 3px #0000000d}.project-chat-bubble.mine{background:#f0f7ff;border:1px solid #bfdbfe;border-bottom-right-radius:4px}.project-chat-bubble.theirs{background:#fff;border:1px solid #e2e8f0;border-bottom-left-radius:4px}.project-chat-bubble-meta{align-items:center;gap:.5rem;margin-bottom:.35rem;font-size:.78rem;display:flex}.project-chat-badge{border-radius:99px;padding:.15rem .5rem;font-size:.74rem;font-weight:600;display:inline-block}.badge-manager{color:#fff;background:#0284c7}.badge-client{color:#fff;background:#334155}.project-chat-sender-custom-name{color:#475569;font-weight:500}.project-chat-time{color:#94a3b8;margin-left:auto;font-size:.72rem}.project-chat-bubble-content{color:#1e293b;white-space:pre-wrap;word-break:break-word}.project-chat-input-area{background:#f8fafc;border-top:1px solid #e2e8f0;padding:1rem 1.25rem}.project-chat-input-row{align-items:flex-end;gap:.75rem;display:flex}.project-chat-textarea{resize:vertical;border:1px solid #cbd5e1;border-radius:8px;outline:none;flex:1;min-height:52px;padding:.65rem .85rem;font-family:inherit;font-size:.9rem;transition:border-color .15s}.project-chat-textarea:focus{border-color:#0b5cab}.project-chat-send-btn{height:44px;padding:.65rem 1.25rem}.project-chat-mode-indicator{color:#64748b;margin:.45rem 0 0;font-size:.78rem}.project-chat-error{margin-bottom:.5rem;font-size:.82rem}.project-chat-unread-badge{color:#b91c1c;background:#fef2f2;border:1px solid #fecaca;border-radius:9999px;align-items:center;padding:.15rem .55rem;font-size:.72rem;font-weight:600;line-height:1;display:inline-flex}.project-tab-badge,.client-tab-badge{color:#fff;box-sizing:border-box;background:#dc2626;border-radius:9999px;justify-content:center;align-items:center;min-width:19px;height:19px;margin-left:.45rem;padding:0 .32rem;font-size:.72rem;font-weight:700;line-height:1;display:inline-flex}.project-tab-badge-chat{color:#fff;background:#dc2626;border-radius:9999px;min-width:20px;height:20px;padding:0 5px;box-shadow:0 1px 2px #00000040}.project-tabs a.active .project-tab-badge-chat{box-shadow:0 0 0 1.5px #fffffff2}.project-chat-search-box{align-items:center;min-width:220px;display:flex;position:relative}.project-chat-search-input{background:#fff;border:1px solid #cbd5e1;border-radius:6px;outline:none;width:100%;padding:.4rem 1.8rem .4rem .75rem;font-size:.82rem;transition:border-color .15s}.project-chat-search-input:focus{border-color:#0b5cab}.project-chat-search-clear-btn{color:#94a3b8;cursor:pointer;background:0 0;border:none;padding:2px 4px;font-size:.75rem;position:absolute;right:6px}.project-chat-search-clear-btn:hover{color:#475569}.project-chat-search-panel{padding:1rem 1.25rem}.project-chat-search-panel-header{border-bottom:1px solid #e2e8f0;justify-content:space-between;align-items:center;margin-bottom:1rem;padding-bottom:.75rem;display:flex}.project-chat-search-count{color:#334155;font-size:.9rem;font-weight:600}.project-chat-search-exit-btn{font-size:.8rem}.project-chat-search-empty{text-align:center;color:#64748b;padding:2rem 1rem;font-size:.9rem}.project-chat-search-results-list{flex-direction:column;gap:.75rem;display:flex}.project-chat-search-result-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:.85rem 1rem;box-shadow:0 1px 2px #0000000a}.project-chat-search-result-meta{align-items:center;gap:.5rem;margin-bottom:.4rem;font-size:.78rem;display:flex}.project-chat-search-result-content{color:#1e293b;white-space:pre-wrap;word-break:break-word;margin-bottom:.5rem;font-size:.9rem;line-height:1.45}.project-chat-search-result-actions{justify-content:flex-end;display:flex}.project-chat-quoted-box{text-align:left;cursor:pointer;background:#0000000a;border:none;border-left:3px solid #0284c7;border-radius:4px;width:100%;margin-bottom:.5rem;padding:.35rem .6rem;font-family:inherit;font-size:.8rem;transition:background .15s,opacity .15s;display:block}.project-chat-quoted-box:hover:not(:disabled){background:#00000017}.project-chat-quoted-box:focus-visible{outline-offset:1px;outline:2px solid #0284c7}.project-chat-quoted-box:disabled{cursor:wait;opacity:.75}.project-chat-quoted-author{color:#0369a1;margin-bottom:.15rem;font-size:.75rem;font-weight:600;display:block}.project-chat-quoted-loading{color:#0284c7;font-size:.75rem;font-style:italic;font-weight:400}.project-chat-quoted-content{color:#475569;text-overflow:ellipsis;-webkit-line-clamp:2;-webkit-box-orient:vertical;margin:0;font-style:italic;display:-webkit-box;overflow:hidden}@keyframes chat-bubble-highlight{0%{transform:scale(1.02);box-shadow:0 0 0 3px #f59e0b,0 4px 14px #f59e0b73}25%{transform:scale(1.02);box-shadow:0 0 0 3px #f59e0b,0 4px 14px #f59e0b73}to{box-shadow:none;transform:scale(1)}}.project-chat-message-row.is-highlighted{z-index:2;position:relative}.project-chat-message-row.is-highlighted .project-chat-bubble,.project-chat-bubble.is-highlighted{animation:1.8s ease-out chat-bubble-highlight}.project-chat-nav-status{z-index:10;color:#fff;background:#0284c7;border-radius:9999px;align-self:center;align-items:center;gap:.4rem;margin:0 auto .5rem;padding:.35rem .8rem;font-size:.75rem;font-weight:500;display:inline-flex;position:sticky;top:.5rem;box-shadow:0 2px 8px #00000026}@keyframes project-chat-spinner-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.project-chat-nav-spinner{border:2px solid #ffffff59;border-top-color:#fff;border-radius:50%;width:.75rem;height:.75rem;animation:.8s linear infinite project-chat-spinner-spin;display:inline-block}.project-chat-nav-notice{z-index:10;color:#92400e;background:#fffbeb;border:1px solid #fde68a;border-radius:9999px;align-self:center;align-items:center;gap:.5rem;margin:0 auto .5rem;padding:.35rem .8rem;font-size:.75rem;font-weight:500;display:inline-flex;position:sticky;top:.5rem;box-shadow:0 2px 8px #0000001a}.project-chat-nav-notice-close{color:#92400e;cursor:pointer;background:0 0;border:none;padding:0 .2rem;font-size:.85rem;line-height:1}.project-chat-nav-notice-close:hover{color:#78350f}.project-chat-reply-banner{background:#e0f2fe;border:1px solid #bae6fd;border-radius:6px;justify-content:space-between;align-items:center;gap:.75rem;margin-bottom:.6rem;padding:.45rem .75rem;display:flex}.project-chat-reply-banner-content{flex:1;min-width:0}.project-chat-reply-banner-author{color:#0369a1;font-size:.75rem;display:block}.project-chat-reply-banner-snippet{color:#1e293b;white-space:nowrap;text-overflow:ellipsis;margin:.1rem 0 0;font-size:.8rem;overflow:hidden}.project-chat-reply-cancel-btn{white-space:nowrap;padding:.2rem .5rem;font-size:.75rem}.project-chat-bubble-footer{border-top:1px dashed #00000014;justify-content:flex-end;align-items:center;gap:.6rem;margin-top:.35rem;padding-top:.25rem;display:flex}.project-chat-reply-btn{color:#64748b;cursor:pointer;background:0 0;border:none;border-radius:4px;padding:.15rem .4rem;font-size:.72rem;transition:background .15s,color .15s}.project-chat-reply-btn:hover{color:#0f172a;background:#0000000f}.project-chat-read-status{font-size:.72rem;font-weight:500}.project-chat-read-status.is-sent{color:#94a3b8}.project-chat-read-status.is-read{color:#0284c7;font-weight:600}.badge-assistant{color:#fff;background:#0d9488}.project-chat-bubble.assistant-bubble{background:#f0fdf4;border:1px solid #bbf7d0;border-bottom-left-radius:4px}.project-assistant-suggestions{flex-direction:column;gap:.5rem;margin-top:1rem;display:flex}.project-assistant-suggestion-btn{text-align:left;color:#1e293b;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:8px;padding:.6rem .9rem;font-size:.88rem;transition:all .15s ease-in-out}.project-assistant-suggestion-btn:hover{background:#f1f5f9;border-color:#94a3b8}.project-assistant-error-banner{color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:6px;justify-content:space-between;align-items:center;gap:.5rem;margin-top:.5rem;padding:.5rem .75rem;font-size:.82rem;display:flex}.project-assistant-retry-btn{color:#991b1b;cursor:pointer;background:#fee2e2;border:1px solid #f87171;border-radius:4px;padding:.25rem .6rem;font-size:.78rem;font-weight:600}.project-assistant-retry-btn:hover{background:#fecaca}.project-assistant-new-messages-btn{color:#fff;cursor:pointer;z-index:10;background:#0284c7;border:none;border-radius:20px;padding:.4rem 1rem;font-size:.82rem;font-weight:500;position:sticky;bottom:.75rem;left:50%;transform:translate(-50%);box-shadow:0 4px 6px -1px #0000001a}.project-chat-markdown{color:inherit;word-break:break-word;font-size:.92rem;line-height:1.5}.project-chat-markdown>:first-child{margin-top:0}.project-chat-markdown>:last-child{margin-bottom:0}.project-chat-markdown p{margin:.4rem 0}.project-chat-markdown h1,.project-chat-markdown h2,.project-chat-markdown h3,.project-chat-markdown h4{color:#1e293b;margin:.8rem 0 .3rem;font-weight:600;line-height:1.3}.project-chat-markdown h1{font-size:1.25rem}.project-chat-markdown h2{font-size:1.12rem}.project-chat-markdown h3{font-size:1.02rem}.project-chat-markdown h4{font-size:.95rem}.project-chat-markdown ul,.project-chat-markdown ol{margin:.4rem 0;padding-left:1.3rem}.project-chat-markdown li{margin:.2rem 0}.project-chat-markdown a{color:#0284c7;text-underline-offset:2px;text-decoration:underline}.project-chat-markdown a:hover{color:#0369a1}.project-chat-markdown code{background-color:#0000000f;border-radius:4px;padding:.15em .35em;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,monospace;font-size:.85em}.project-chat-markdown pre{color:#f8fafc;background-color:#1e293b;border-radius:6px;margin:.6rem 0;padding:.75rem 1rem;overflow-x:auto}.project-chat-markdown pre code{color:inherit;background:0 0;padding:0;font-size:.85rem}.project-chat-markdown blockquote{color:#64748b;border-left:3px solid #cbd5e1;margin:.5rem 0;padding-left:.75rem}.project-chat-markdown-table-wrapper{-webkit-overflow-scrolling:touch;border:1px solid #e2e8f0;border-radius:6px;width:100%;margin:.6rem 0;overflow-x:auto}.project-chat-markdown table{border-collapse:collapse;text-align:left;width:100%;min-width:320px;font-size:.85rem}.project-chat-markdown th,.project-chat-markdown td{border-bottom:1px solid #e2e8f0;padding:.45rem .65rem}.project-chat-markdown th{color:#334155;background-color:#f8fafc;border-bottom:2px solid #cbd5e1;font-weight:600}.project-chat-markdown tr:nth-child(2n) td{background-color:#fbfcfe}.project-chat-markdown tr:last-child td{border-bottom:none}.project-assistant-proposal-card{background:#fff;border:1px solid #93c5fd;border-radius:8px;margin-top:.75rem;overflow:hidden;box-shadow:0 1px 3px #0000000d}.project-assistant-proposal-card.is-confirmed{background:#f0fdf4;border-color:#86efac}.project-assistant-proposal-card.is-cancelled{opacity:.85;background:#f8fafc;border-color:#cbd5e1}.project-assistant-proposal-card.is-failed{background:#fef2f2;border-color:#fca5a5}.project-assistant-proposal-header{background:#eff6ff;border-bottom:1px solid #dbeafe;justify-content:space-between;align-items:center;padding:.6rem .85rem;display:flex}.project-assistant-proposal-card.is-confirmed .project-assistant-proposal-header{background:#dcfce7;border-color:#bbf7d0}.project-assistant-proposal-card.is-cancelled .project-assistant-proposal-header{background:#f1f5f9;border-color:#e2e8f0}.project-assistant-proposal-card.is-failed .project-assistant-proposal-header{background:#fee2e2;border-color:#fecaca}.project-assistant-proposal-title{color:#1e3a8a;align-items:center;gap:.4rem;font-size:.88rem;font-weight:600;display:flex}.project-assistant-proposal-card.is-confirmed .project-assistant-proposal-title{color:#166534}.project-assistant-proposal-card.is-cancelled .project-assistant-proposal-title{color:#475569}.project-assistant-proposal-card.is-failed .project-assistant-proposal-title{color:#991b1b}.project-assistant-proposal-status-badge{text-transform:uppercase;border-radius:9999px;padding:.15rem .5rem;font-size:.72rem;font-weight:600}.status-badge-pending{color:#1d4ed8;background:#dbeafe}.status-badge-confirmed{color:#15803d;background:#bbf7d0}.status-badge-cancelled{color:#64748b;background:#e2e8f0}.status-badge-failed{color:#b91c1c;background:#fecaca}.project-assistant-proposal-summary{color:#334155;padding:.6rem .85rem .3rem;font-size:.85rem;font-weight:500}.project-assistant-proposal-actions-list{flex-direction:column;gap:.45rem;padding:.4rem .85rem .6rem;display:flex}.project-assistant-action-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;padding:.5rem .65rem;font-size:.82rem}.project-assistant-action-item-top{align-items:baseline;gap:.5rem;margin-bottom:.25rem;display:flex}.project-assistant-action-type-tag{color:#0369a1;background:#e0f2fe;border-radius:4px;padding:.1rem .35rem;font-size:.7rem;font-weight:600}.project-assistant-action-entity-name{color:#0f172a;font-weight:600}.project-assistant-action-desc{color:#475569;line-height:1.4}.project-assistant-action-diff{border-top:1px dashed #cbd5e1;flex-direction:column;gap:.2rem;margin-top:.3rem;padding-top:.3rem;font-size:.78rem;display:flex}.project-assistant-diff-line{align-items:baseline;gap:.5rem;display:flex}.project-assistant-diff-prev{color:#991b1b;text-decoration:line-through}.project-assistant-diff-arrow{color:#64748b;font-size:.75rem}.project-assistant-diff-new{color:#15803d;font-weight:600}.project-assistant-proposal-footer{background:#f8fafc;border-top:1px solid #e2e8f0;justify-content:flex-end;align-items:center;gap:.5rem;padding:.6rem .85rem;display:flex}.project-assistant-proposal-feedback{margin-right:auto;font-size:.8rem}.feedback-success{color:#166534;font-weight:500}.feedback-error{color:#991b1b;font-weight:500}.project-assistant-proposal-btn-cancel{color:#475569;cursor:pointer;background:#fff;border:1px solid #cbd5e1;border-radius:6px;padding:.4rem .75rem;font-size:.82rem;font-weight:500;transition:all .15s}.project-assistant-proposal-btn-cancel:hover:not(:disabled){background:#f1f5f9;border-color:#94a3b8}.project-assistant-proposal-btn-confirm{color:#fff;cursor:pointer;background:#16a34a;border:1px solid #15803d;border-radius:6px;padding:.4rem .85rem;font-size:.82rem;font-weight:600;transition:all .15s}.project-assistant-proposal-btn-confirm:hover:not(:disabled){background:#15803d}.project-assistant-proposal-btn-confirm:disabled,.project-assistant-proposal-btn-cancel:disabled{opacity:.6;cursor:not-allowed}.project-tab-badge-alert{animation:2s ease-in-out infinite pulse-soft;color:#fff!important;background:#dc2626!important}.badge-mismatch{color:#fff;background:#dc2626;font-weight:600}.work-item-materials-mismatch-alert{color:#9f1239;text-align:left;background-color:#fff1f2;border:1px solid #fecdd3;border-left:4px solid #e11d48;border-radius:6px;margin:.6rem 0;padding:.75rem 1rem;font-size:.85rem;line-height:1.45}.work-item-materials-mismatch-alert p{color:#881337;margin:0 0 .35rem;font-weight:600}.work-item-materials-mismatch-alert ul{margin:0;padding-left:1.25rem}.work-item-materials-mismatch-alert li{margin-bottom:.2rem}.work-item-materials-mismatch-alert .missing-prices-warning{color:#b45309;margin-top:.3rem;margin-left:-1.25rem;font-weight:600;list-style-type:none}.budget-summary-grid{grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:1.25rem;display:grid}@media (width<=640px){.budget-summary-grid{grid-template-columns:1fr;gap:1rem}}.budget-block{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:1rem 1.25rem}.budget-block-title{color:#334155;text-transform:uppercase;letter-spacing:.03em;margin:0 0 .75rem;font-size:.95rem;font-weight:600}.budget-table{border-collapse:collapse;width:100%}.budget-table td{color:#334155;border-bottom:1px solid #f1f5f9;padding:.45rem 0;font-size:.95rem}.budget-table tr:last-child td{border-bottom:none}.budget-table .budget-amount{text-align:right;font-variant-numeric:tabular-nums;color:#0f172a;white-space:nowrap;padding-left:1rem;font-weight:600}.budget-subtotal-row td{color:#0f172a;border-top:1px solid #cbd5e1;padding-top:.6rem;font-weight:700}.budget-total-block{background:#f1f5f9;border:1px solid #cbd5e1;border-radius:8px;margin-top:1.5rem;padding:1.25rem 1.5rem}.budget-table-grand-total td{color:#1e293b;border-bottom:1px solid #e2e8f0;padding:.55rem 0;font-size:1.15rem}.budget-table-grand-total tr:last-child td{border-bottom:none}.budget-table-grand-total .budget-amount{font-size:1.15rem}.budget-table-grand-total .budget-grand-total-row td{color:#047857;border-top:2px solid #94a3b8;padding-top:.75rem;font-size:1.35rem;font-weight:700}.budget-table-grand-total .budget-grand-total-row .budget-amount{color:#047857;font-size:1.35rem}.budget-breakdown-wrapper{margin-top:1rem;overflow-x:auto}.budget-breakdown-table{border-collapse:collapse;text-align:left;width:100%}.budget-breakdown-table th{color:#475569;border-bottom:2px solid #cbd5e1;padding:.65rem .85rem;font-size:.9rem;font-weight:600}.budget-breakdown-table td{color:#1e293b;border-bottom:1px solid #e2e8f0;padding:.65rem .85rem;font-size:.95rem}.budget-breakdown-table th.budget-amount,.budget-breakdown-table td.budget-amount{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.budget-breakdown-table tbody tr:hover{background-color:#f8fafc}.budget-breakdown-table tfoot td{color:#0f172a;background-color:#f8fafc;border-top:2px solid #94a3b8;border-bottom:none;padding:.8rem .85rem;font-size:1rem;font-weight:700}.budget-breakdown-table tfoot td:last-child{color:#047857;font-size:1.1rem}@media print{.site-header,.project-view-top-header,.project-tabs,.client-hero-actions,.client-navigation-bar,.client-choose-btn,.client-alternatives-toggle,.client-chat-section,.project-chat-wrapper{display:none!important}.client-portal{gap:1rem!important;max-width:100%!important}.client-hero{box-shadow:none!important;border:1px solid #ccc!important}}
