:root{--font-family-sans: Inter, system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", sans-serif;--color-brand-500: #e58130;--color-brand-100: #ffedd5;--color-accent-500: #2563eb;--color-success-600: #15803d;--color-danger-500: #ef4444;--color-bg-canvas: #f9fafb;--color-bg-surface: #ffffff;--color-bg-muted: #f3f4f6;--color-bg-panel: #f7f8fa;--color-text-primary: #1f2937;--color-text-secondary: #6b7280;--color-text-muted: #9ca3af;--color-text-on-dark: #ffffff;--color-border-default: #d1d5db;--color-border-soft: #e5e7eb;--radius-sm: 8px;--radius-md: 12px;--radius-lg: 16px;--radius-xl: 20px;--radius-pill: 999px;--shadow-sm: 0 1px 2px rgba(17, 24, 39, .08);--shadow-md: 0 8px 24px rgba(17, 24, 39, .08);--shadow-brand: 0 10px 22px rgba(229, 129, 48, .28);--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--text-page-title: 1rem;--text-section-title: .95rem;--text-card-title: 1.25rem;--text-body: .875rem;--text-body-sm: .75rem;--text-label: .688rem;--text-caption: .625rem;--text-button: .95rem;--text-badge: .688rem;--lh-tight: 1.2;--lh-base: 1.4;--lh-relaxed: 1.5;--fw-medium: 500;--fw-semibold: 600;--fw-bold: 700;--fw-extrabold: 800}*{box-sizing:border-box}body{margin:0;font-family:var(--font-family-sans);color:var(--color-text-primary);background:var(--color-bg-canvas)}h1,h2,h3,h4,h5,h6{margin:0;color:var(--color-text-primary)}.app-layout{min-height:100vh}.client-header{min-height:64px;background:var(--color-bg-surface);border-bottom:1px solid var(--color-border-soft);padding:.7rem var(--space-8);display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);position:sticky;top:0;z-index:40}.client-header-left{display:flex;align-items:center;gap:var(--space-8);height:100%}.client-brand{display:inline-flex;align-items:center}.client-brand-logo{display:block;height:2rem;width:auto;object-fit:contain}.client-nav{display:flex;align-items:center;gap:var(--space-6);height:100%;font-size:var(--text-body);font-weight:var(--fw-semibold)}.client-nav a{color:var(--color-text-muted);text-decoration:none;display:flex;align-items:center;height:100%;border-bottom:2px solid transparent}.client-nav a.active{color:var(--color-brand-500);border-bottom-color:var(--color-brand-500)}.client-profile{display:flex;align-items:center;gap:var(--space-3)}.client-profile-meta{text-align:right;display:grid;gap:.1rem;min-width:0}.client-profile-name{font-size:var(--text-body);font-weight:var(--fw-bold);line-height:1.2;white-space:nowrap}.client-profile-link{color:var(--color-text-primary);text-decoration:none}.client-profile-role{color:var(--color-text-muted);font-size:var(--text-caption);line-height:1.2;text-transform:none;letter-spacing:0;white-space:nowrap}.client-profile-avatar{width:2.5rem;height:2.5rem;border-radius:var(--radius-pill);border:0;background:linear-gradient(135deg,#fff2e2,#ffe1c4 55%,#1f2937 190%);color:#9a4d0f;font-size:var(--text-body-sm);font-weight:var(--fw-bold);display:flex;align-items:center;justify-content:center;box-shadow:var(--shadow-sm)}.client-profile-avatar-link{text-decoration:none}.header-logout-button{white-space:nowrap}.screen-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:1.5rem}.screen-header h2{font-size:1rem;font-weight:var(--fw-extrabold)}.screen-header p{margin:.25rem 0 0;color:var(--color-text-muted);font-size:var(--text-body-sm)}.client-profile-page{display:grid;gap:var(--space-4)}.client-profile-success{color:var(--color-success-600)}.page-container{max-width:900px;margin:0 auto;padding:var(--space-6)}.page-container-projects{max-width:1120px;padding-top:var(--space-8)}.ui-section{display:grid;gap:var(--space-4)}.ui-card,.ui-panel{background:var(--color-bg-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm)}.ui-card{padding:var(--space-6)}.ui-panel{padding:var(--space-4)}.ui-button-primary,.ui-button-secondary{border-radius:var(--radius-md);font-size:var(--text-button);font-weight:var(--fw-bold);padding:.75rem 1.25rem;border:1px solid transparent;cursor:pointer}.ui-button-primary{background:var(--color-brand-500);color:var(--color-text-on-dark);box-shadow:var(--shadow-brand)}.ui-button-secondary{background:var(--color-bg-surface);color:var(--color-text-secondary);border-color:var(--color-border-default)}.ui-input,.ui-textarea{border:1px solid var(--color-border-default);border-radius:var(--radius-md);background:var(--color-bg-surface);color:var(--color-text-primary);font-size:var(--text-body);padding:.75rem .9rem}.ui-badge{border-radius:var(--radius-pill);padding:2px 10px;font-size:var(--text-badge);font-weight:var(--fw-bold);text-transform:uppercase}.ui-summary-row{display:flex;justify-content:space-between;gap:var(--space-3);font-size:var(--text-body-sm);color:var(--color-text-secondary)}.placeholder{border:1px dashed var(--color-text-muted);border-radius:var(--radius-sm);background:var(--color-bg-surface);padding:var(--space-4);margin-top:var(--space-4)}.state-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--space-3);margin-top:var(--space-4)}.state-card{background:var(--color-bg-muted);border-radius:var(--radius-sm);padding:var(--space-3)}.projects-page{max-width:1024px;margin:0 auto}.projects-page-header{display:flex;justify-content:space-between;align-items:flex-start;gap:1rem;margin-bottom:2rem}.projects-page-header h1{margin:0;font-size:1rem;font-weight:800;letter-spacing:-.02em;color:#111827}.projects-page-header p{margin:.25rem 0 0;font-size:.875rem;color:#9ca3af}.projects-create-button{border:none;display:inline-flex;align-items:center;gap:.5rem;background:#e58130;color:#fff;border-radius:12px;font-size:.95rem;font-weight:700;padding:.75rem 1.25rem;box-shadow:0 10px 22px #e5813047;cursor:pointer}.projects-create-icon{font-size:1.2rem;line-height:1}.projects-create-button-large{padding:.95rem 1.8rem}.projects-list-block,.projects-loading-block{display:grid;gap:1rem}.projects-card-link{display:block;text-decoration:none;color:inherit}.projects-card-link-faded{opacity:.7}.projects-card{background:#fff;border:1px solid #d1d5db;border-radius:16px;padding:1.5rem;display:flex;justify-content:space-between;gap:1rem;box-shadow:0 1px 2px #11182714;transition:box-shadow .2s ease}.projects-card-link:hover .projects-card{box-shadow:0 8px 24px #11182714}.projects-card-main{min-width:0;display:grid;gap:.5rem}.projects-card-meta{display:flex;gap:.5rem;align-items:center;font-size:.625rem;font-weight:700;letter-spacing:.12em;text-transform:uppercase;color:#9ca3af}.projects-card h3{margin:0;font-size:1.25rem;line-height:1.35;font-weight:700}.projects-card-link:hover .projects-card h3{color:#e58130}.projects-card-description{margin:0;font-style:italic;font-size:.875rem;line-height:1.4;color:#6b7280}.projects-contractor-row{margin-top:.6rem;min-height:1.5rem;display:flex;align-items:center;gap:.5rem;font-size:.75rem;color:#9ca3af}.projects-contractor-row strong{color:#4b5563;font-weight:600}.projects-contractor-avatar{width:1.5rem;height:1.5rem;border-radius:.375rem;display:inline-flex;align-items:center;justify-content:center;font-size:.5rem;font-weight:700;color:#e58130;background:#ffedd5}.projects-contractor-empty{font-style:italic;font-weight:500}.projects-card-side{display:flex;flex-direction:column;justify-content:space-between;align-items:flex-end;gap:1rem;min-width:7rem}.projects-card-status-row,.project-details-deal-status-row,.primary-cta-link,.project-details-primary-action-link{display:inline-flex;align-items:center;gap:.35rem}.notification-dot{width:.55rem;height:.55rem;border-radius:999px;background:#ef4444;flex:none;box-shadow:0 0 0 2px #ffffffeb}.projects-card-unread-dot,.projects-go-link-dot,.project-details-deal-unread-dot,.project-details-action-dot{margin-top:1px}.status-badge,.projects-status-badge,.project-details-deal-status-badge,.client-deal-page .deal-status-pill{display:inline-flex;align-items:center;justify-content:center;min-height:1.5rem;padding:.2rem .75rem;border-radius:999px;font-size:var(--text-badge);font-weight:var(--fw-bold);white-space:nowrap;letter-spacing:.02em}.status-draft,.projects-status-draft,.status-closed,.projects-status-archive{background:#6b72801f;color:#4b5563}.status-pending_client,.projects-status-pending_client,.status-proposed{background:#2563eb1f;color:#1d4ed8}.status-agreed,.status-approved,.status-in_progress,.projects-status-in-progress{background:#15803d1f;color:#0f7a34}.status-revision_requested,.projects-status-revision_requested{background:#e98e2729;color:#b5600d}.status-rejected,.status-canceled,.projects-status-canceled{background:#ef44441f;color:#b91c1c}.status-new{background:#6b72801f;color:#4b5563}.projects-go-link{display:inline-flex;align-items:center;gap:.25rem;font-size:.75rem;font-weight:700;color:#e58130}.projects-empty-block{background:#fff;border:2px dashed #d1d5db;border-radius:24px;text-align:center;padding:4rem 1.25rem;box-shadow:0 1px 2px #11182714;display:grid;gap:1rem;justify-items:center}.projects-empty-icon{width:6rem;height:6rem;border-radius:999px;background:#ffedd5;display:flex;align-items:center;justify-content:center;font-size:1.4rem}.projects-empty-copy{max-width:24rem}.projects-empty-copy h3{margin:0;font-size:1rem}.projects-empty-copy p{margin:.5rem 0 0;font-size:.875rem;line-height:1.5;color:#6b7280}.projects-loading-card{background:#fff;border:1px solid #d1d5db;border-radius:16px;padding:1.5rem;box-shadow:0 1px 2px #11182714;display:grid;gap:.8rem}.projects-loading-card-faded{opacity:.6}.projects-skeleton{border-radius:6px;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:projects-skeleton-loading 1.5s infinite}.projects-skeleton-xs{height:1rem;width:8rem}.projects-skeleton-md{height:2rem;width:12rem}.projects-skeleton-lg{height:2rem;width:16rem}.projects-skeleton-full{height:1rem;width:100%}.projects-error-block{background:#fff;border:1px solid #d1d5db;border-left:4px solid #ef4444;border-radius:16px;padding:1.5rem;box-shadow:0 1px 2px #11182714;display:flex;gap:1.2rem;align-items:center}.projects-error-icon{font-size:1.4rem}.projects-error-block h3{margin:0;font-size:1.125rem}.projects-error-block p{margin:.25rem 0 0;font-size:.875rem;color:#6b7280}.projects-retry-button{margin-top:.75rem;border:0;padding:0;background:transparent;border-bottom:1px solid #fed7aa;color:#e58130;font-size:.688rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;cursor:pointer}@keyframes projects-skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}@media (max-width: 768px){.client-header{padding:0 1rem}.client-nav,.client-profile-meta{display:none}.projects-page-header{flex-direction:column}.projects-create-button{width:100%;justify-content:center}.projects-card{flex-direction:column}.projects-card-side{flex-direction:row;align-items:center;min-width:0}}.project-chat-page{max-width:1120px;margin:0 auto;zoom:1.04;min-height:0}@supports not (zoom: 1){.project-chat-page{transform:scale(1.04);transform-origin:top left;width:96.154%}}.project-chat-workspace{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:.9rem;align-items:start}.project-chat-main-column{min-width:0}.project-chat-card,.project-chat-summary-card,.project-chat-tip-box,.project-chat-loading-main,.project-chat-loading-side,.project-chat-empty,.project-chat-error{background:#fff;border:1px solid #d1d5db;border-radius:18px;box-shadow:0 1px 2px #11182714}.project-chat-card{overflow:hidden;display:flex;flex-direction:column;height:clamp(520px,calc(100vh - 190px),680px)}.project-chat-top{padding:1.1rem 1.1rem .75rem;display:flex;align-items:center;justify-content:space-between;gap:.8rem}.project-chat-title-wrap h1{margin:0;font-size:1.58rem;line-height:1.15;letter-spacing:-.02em;color:#1f2937}.project-chat-title-wrap p{margin:.18rem 0 0;color:#6b7280;font-size:.78rem}.project-chat-project-id{border-radius:999px;background:#f3f4f6;color:#6b7280;padding:.34rem .62rem;font-size:.7rem;font-weight:700;white-space:nowrap}.project-chat-progress{margin:0 1.1rem;padding:.62rem 0 .82rem;border-top:1px solid #e5e7eb;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:.8rem}.project-chat-progress-line{height:6px;border-radius:999px;background:#edeff2;overflow:hidden}.project-chat-progress-fill{width:45%;height:100%;background:#e58130}.project-chat-progress span{color:#9ca3af;text-transform:uppercase;font-size:.68rem;font-weight:800;letter-spacing:.02em}.project-chat-nav-row{padding:0 1.1rem .7rem}.project-chat-thread{border-top:1px solid #e5e7eb;border-bottom:1px solid #e5e7eb;padding:1.05rem;display:flex;flex-direction:column;gap:.65rem;flex:1;min-height:0;overflow-y:auto;scroll-padding-bottom:1rem}.project-chat-row{display:flex;gap:.55rem;align-items:flex-start}.project-chat-row-animated{animation:project-chat-message-in .18s ease-out}.project-chat-row-client{justify-content:flex-end}.project-chat-role-badge{width:1.95rem;height:1.95rem;border-radius:999px;background:#fff;display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;box-shadow:0 8px 18px #0f172a29}.project-chat-role-badge-image{width:100%;height:100%;object-fit:cover}.project-chat-bubble{max-width:82%;background:#f3f4f6;border-radius:14px;padding:.7rem .8rem;font-size:.86rem;line-height:1.35;color:#27272a}.project-chat-bubble p{margin:0;white-space:pre-wrap}.project-chat-bubble-client{background:#e58130;color:#fff;box-shadow:0 6px 12px #00000024}.project-chat-bubble-client p{margin:0}.project-chat-bubble-typing{min-width:72px;padding:.85rem .95rem}.project-chat-file-chip{margin-top:.48rem;background:#fff3;border:1px solid rgba(255,255,255,.48);border-radius:10px;padding:.28rem .52rem;font-size:.78rem;font-weight:500}.project-chat-typing{color:#e5e7eb;text-transform:uppercase;letter-spacing:.12em;font-weight:700;font-size:.68rem;padding-left:2.45rem}.project-chat-input-zone{padding:.75rem 1.1rem .92rem;display:grid;gap:.55rem;flex-shrink:0}.project-chat-input-error{display:flex;align-items:flex-start;justify-content:space-between;gap:.75rem;border:1px solid #fecaca;border-radius:14px;background:#fef2f2;padding:.65rem .75rem}.project-chat-input-error-copy{min-width:0;display:grid;gap:.2rem}.project-chat-input-error-copy h2{margin:0;color:#991b1b;font-size:.78rem;line-height:1.2;font-weight:800;text-transform:uppercase;letter-spacing:.08em}.project-chat-input-error-copy p{margin:0;color:#7f1d1d;font-size:.78rem;line-height:1.4;word-break:break-word}.project-chat-input-error-close{flex:0 0 auto;border:0;background:transparent;color:#991b1b;font-size:1rem;line-height:1;padding:.1rem .2rem;cursor:pointer}.project-chat-choice-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(168px,1fr));gap:.5rem}.project-chat-choice-card{-webkit-appearance:none;-moz-appearance:none;appearance:none;border:1px solid #fed7aa;border-radius:16px;background:linear-gradient(180deg,#fffaf5,#fff7ed);color:#2d2d30;padding:.7rem .8rem;text-align:left;display:grid;gap:.24rem}.project-chat-choice-card strong{font-size:.84rem;color:#111827}.project-chat-choice-card span{font-size:.72rem;color:#6b7280;line-height:1.4}.project-chat-input-row{border:1px solid #d1d5db;border-radius:14px;background:#fff;padding:.4rem;display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:.24rem}.project-chat-clarification-actions{margin-top:.65rem;display:flex;align-items:center;justify-content:space-between;gap:.75rem}.project-chat-clarification-actions p{margin:0;color:#6b7280;font-size:.72rem;line-height:1.4}.project-chat-input-row textarea{border:0;outline:none;padding:.34rem .46rem;font-size:.86rem;color:#111827;resize:none;min-height:3.8rem;font-family:inherit;line-height:1.4;background:transparent}.project-chat-input-row textarea::placeholder{color:#9ca3af}.project-chat-site-visit-window-picker{min-width:0;display:grid;gap:.6rem;padding:.05rem .1rem .1rem}.project-chat-site-visit-window-row{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:.65rem;align-items:start}.project-chat-site-visit-window-field{display:grid;gap:.32rem}.project-chat-site-visit-window-label{color:#9ca3af;text-transform:uppercase;font-size:.58rem;font-weight:700;letter-spacing:.06em}.project-chat-site-visit-window-date-input,.project-chat-site-visit-window-select{width:100%;border:1px solid #d1d5db;border-radius:12px;background:#fff;color:#111827;padding:.52rem .68rem;font:inherit;font-size:.72rem;font-weight:800;letter-spacing:.08em;text-transform:uppercase}.project-chat-site-visit-window-date-input:focus-visible{outline:2px solid #f97316;outline-offset:2px;border-color:#f97316}.project-chat-site-visit-window-current{margin:0;color:#6b7280;font-size:.72rem;line-height:1.45}.project-chat-input-lock-note{margin:0;color:#6b7280;font-size:.72rem}.project-chat-attach-button,.project-chat-send-button,.project-chat-outline-button,.project-chat-later-button{border-radius:12px;font-size:.72rem;font-weight:800;text-transform:uppercase;letter-spacing:.08em;padding:.46rem .72rem}.project-chat-attach-button{display:inline-flex;align-items:center;justify-content:center;border:0;background:transparent;color:#6b7280;font-size:.9rem}.project-chat-send-button{border:0;background:#f97316;color:#fff}.project-chat-clarification-finish-button{flex:0 0 auto;border-color:#d1d5db;background:#f9fafb;color:#374151}.project-chat-button-status{display:inline-flex;align-items:center;gap:.45rem}.project-chat-button-dots span{width:.32rem;height:.32rem}.project-chat-side-column{display:grid;gap:.75rem}.project-chat-summary-card{padding:.8rem}.project-chat-summary-scroll{max-height:clamp(180px,32vh,300px);overflow-y:auto;padding-right:.2rem}.project-chat-attachments-scroll{max-height:126px;overflow-y:auto;padding-right:.2rem}.project-chat-summary-card h2{margin:0;color:#9ca3af;text-transform:uppercase;letter-spacing:.02em;font-size:.92rem}.project-chat-summary-item{border-bottom:1px solid #e5e7eb;padding:.5rem 0;display:grid;gap:.34rem}.project-chat-summary-item:last-of-type{border-bottom:0}.project-chat-summary-item span{color:#9ca3af;text-transform:uppercase;font-size:.58rem;font-weight:700}.project-chat-summary-item strong{color:#1f2937;font-size:.82rem;word-break:break-word}.project-chat-summary-item em{color:#d1d5db;font-style:italic;font-size:.82rem}.project-chat-uploaded-file{border-radius:10px;border:1px solid #f3f4f6;background:#f9fafb;padding:.32rem .46rem;display:flex;justify-content:space-between;align-items:center}.project-chat-uploaded-file p{margin:0;font-size:.62rem;font-style:italic}.project-chat-uploaded-file button{border:0;background:transparent;color:#f97316;font-size:.84rem}.project-chat-side-actions{display:grid;gap:.45rem;margin-top:.58rem}.project-chat-later-button{border:0;background:#f3f4f6;color:#9ca3af}.project-chat-outline-button{border:2px solid #f97316;background:#fff;color:#ea580c}.project-chat-tip-box{padding:.62rem .75rem;border-color:#fed7aa;background:#fff7ed}.project-chat-tip-box p{margin:0;color:#c2410c;font-size:.62rem;font-style:italic;line-height:1.4}.project-chat-upload-hint{margin:0;color:#6b7280;font-size:.72rem;line-height:1.45}.project-chat-loading{display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:.9rem}.project-chat-loading-main,.project-chat-loading-side{padding:.8rem;display:grid;gap:.5rem}.project-chat-skeleton{border-radius:12px;background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:projects-skeleton-loading 1.5s infinite}.project-chat-skeleton-title{height:24px;width:55%}.project-chat-skeleton-progress{height:6px;width:100%}.project-chat-skeleton-message{height:82px;width:85%}.project-chat-skeleton-message-short{height:96px;width:60%;justify-self:end}.project-chat-skeleton-input{margin-top:.8rem;height:66px;width:100%}.project-chat-skeleton-side{height:400px;width:100%}.project-chat-skeleton-side-tip{height:58px;width:100%}.project-chat-empty,.project-chat-error{max-width:700px;margin:1rem auto 0;padding:1rem;text-align:center}.project-chat-empty h1,.project-chat-error h1{margin:0;color:#1f2937;font-size:1.25rem;font-weight:700;line-height:1.3}.project-chat-empty p,.project-chat-error p{margin:.35rem auto 0;color:#6b7280;max-width:560px}.project-chat-empty button,.project-chat-error button{margin-top:1rem}@media (max-width: 1200px){.project-chat-workspace,.project-chat-loading{grid-template-columns:1fr}.project-chat-progress span{font-size:.78rem}.project-chat-card{height:min(680px,calc(100vh - 150px))}.project-chat-thread{min-height:0}}@media (max-width: 768px){.project-chat-top{flex-direction:column;align-items:flex-start;padding:1rem}.project-chat-title-wrap h1{font-size:1.24rem}.project-chat-progress{margin:0 1rem;padding-bottom:1rem}.project-chat-thread,.project-chat-input-zone{padding:.85rem}.project-chat-role-badge{width:1.8rem;height:1.8rem;border-radius:10px;font-size:.68rem}.project-chat-bubble{max-width:100%;font-size:.82rem;border-radius:14px}.project-chat-file-chip,.project-chat-choice-card,.project-chat-summary-item strong,.project-chat-summary-item em,.project-chat-input-row textarea{font-size:.76rem}.project-chat-summary-card h2{font-size:.9rem}.project-chat-summary-scroll{max-height:240px}.project-chat-attachments-scroll{max-height:118px}.project-chat-summary-item span,.project-chat-uploaded-file p,.project-chat-tip-box p,.project-chat-upload-hint,.project-chat-send-button,.project-chat-outline-button,.project-chat-later-button{font-size:.68rem}.project-chat-typing{padding-left:0;font-size:.72rem}.project-chat-input-row,.project-chat-site-visit-window-row{grid-template-columns:1fr}.project-chat-site-visit-window-preview{align-items:flex-start;flex-direction:column}.project-chat-input-error{align-items:stretch;flex-direction:column}.project-chat-input-error-close{align-self:flex-end}.project-chat-clarification-actions{flex-direction:column;align-items:stretch}.project-chat-clarification-finish-button{width:100%}.project-chat-attach-button,.project-chat-send-button{width:100%;justify-self:stretch}}.project-chat-file-input{display:none}.project-chat-bubble{display:grid;gap:.28rem}.project-chat-bubble p{margin:0}.project-chat-file-bubble,.project-chat-analysis-bubble,.project-chat-completion-card{display:grid;gap:.38rem}.project-chat-file-bubble{min-width:min(320px,100%)}.project-chat-file-title{font-weight:700;word-break:break-word;overflow-wrap:anywhere}.project-chat-file-meta,.project-chat-analysis-header,.project-chat-completion-actions{display:flex;flex-wrap:wrap;align-items:center;gap:.42rem}.project-chat-file-meta{color:inherit;opacity:.82;font-size:.72rem}.project-chat-analysis-header{justify-content:space-between;gap:.75rem}.project-chat-analysis-header span:first-child{color:#9ca3af;text-transform:uppercase;letter-spacing:.08em;font-size:.66rem;font-weight:800}.project-chat-analysis-bubble{min-width:min(320px,100%)}.project-chat-analysis-note{margin:0;padding:.62rem .72rem;border-radius:12px;border:1px solid #fde68a;background:#fffbeb;color:#92400e;font-size:.76rem;line-height:1.45}.project-chat-status-chip{border-radius:999px;padding:.2rem .48rem;font-size:.62rem;font-weight:800;text-transform:uppercase;letter-spacing:.06em;border:1px solid transparent}.project-chat-status-chip.is-uploading,.project-chat-status-chip.is-processing{background:#fff7ed;border-color:#fed7aa;color:#c2410c}.project-chat-status-chip.is-done{background:#ecfdf5;border-color:#a7f3d0;color:#047857}.project-chat-status-chip.is-error{background:#fef2f2;border-color:#fecaca;color:#b91c1c}.project-chat-dots{display:inline-flex;align-items:center;gap:.28rem}.project-chat-dots span{width:.42rem;height:.42rem;border-radius:999px;background:currentColor;opacity:.35;animation:project-chat-dots 1.2s infinite ease-in-out}.project-chat-dots span:nth-child(2){animation-delay:.15s}.project-chat-dots span:nth-child(3){animation-delay:.3s}.project-chat-completion-card{max-width:82%;border:1px solid #fed7aa;background:#fff7ed;border-radius:18px;padding:1rem}.project-chat-completion-icon{width:2.2rem;height:2.2rem;border-radius:999px;background:#f97316;color:#fff;display:flex;align-items:center;justify-content:center;font-size:1.1rem;font-weight:800;box-shadow:0 8px 18px #f9731638}.project-chat-completion-copy h3{margin:0;color:#1f2937;font-size:1rem}.project-chat-completion-copy p{margin:.24rem 0 0;color:#6b7280}.project-chat-choice-card,.project-chat-attach-button,.project-chat-send-button,.project-chat-outline-button,.project-chat-later-button,.project-chat-uploaded-file button,.project-chat-selected-file button,.project-chat-state-button{cursor:pointer;transition:background-color .15s ease,color .15s ease,box-shadow .15s ease,border-color .15s ease,transform .05s ease}.project-chat-choice-card:hover{border-color:#f59e0b;background:linear-gradient(180deg,#fff7ed,#ffedd5)}.project-chat-choice-card:active,.project-chat-attach-button:active,.project-chat-send-button:active,.project-chat-outline-button:active,.project-chat-later-button:active,.project-chat-state-button:active{transform:translateY(1px)}.project-chat-input-row:focus-within{border-color:#fb923c;box-shadow:0 0 0 2px #ffedd5}.project-chat-attach-button:hover{color:#c2410c;background:#fff7ed}.project-chat-send-button:hover:not(:disabled){background:#1e293b}.project-chat-outline-button:hover:not(:disabled){background:#fff7ed}.project-chat-clarification-finish-button:hover:not(:disabled){background:#f3f4f6;border-color:#9ca3af;color:#111827}.project-chat-later-button:hover:not(:disabled){background:#e5e7eb;color:#6b7280}.project-chat-send-button:disabled,.project-chat-outline-button:disabled,.project-chat-later-button:disabled,.project-chat-attach-button:disabled,.project-chat-choice-card:disabled{cursor:not-allowed;opacity:.55}.project-chat-send-button:focus-visible,.project-chat-outline-button:focus-visible,.project-chat-later-button:focus-visible,.project-chat-choice-card:focus-visible,.project-chat-attach-button:focus-visible,.project-chat-uploaded-file button:focus-visible,.project-chat-selected-file button:focus-visible,.project-chat-state-button:focus-visible{outline:2px solid #fb923c;outline-offset:1px}.project-chat-selected-file{border:1px solid #fed7aa;border-radius:10px;background:#fff7ed;padding:.5rem .6rem;display:grid;grid-template-columns:minmax(0,1fr) auto;justify-content:space-between;gap:.6rem;font-size:.68rem;min-width:280px;max-width:360px;flex:0 0 auto}.project-chat-selected-file.is-error{border-color:#fecaca;background:#fef2f2}.project-chat-selected-files-list{display:flex;gap:.55rem;overflow-x:auto;overflow-y:hidden;padding-bottom:.2rem;max-width:100%;scrollbar-width:thin}.project-chat-selected-file-main{min-width:0;display:flex;align-items:center;gap:.6rem}.project-chat-selected-file-preview,.project-chat-selected-file-icon{width:2.4rem;height:2.4rem;border-radius:10px;flex:0 0 auto}.project-chat-selected-file-preview{object-fit:cover;background:#fff}.project-chat-selected-file-icon{display:flex;align-items:center;justify-content:center;background:#ffedd5;color:#c2410c;font-size:.68rem;font-weight:800;letter-spacing:.04em}.project-chat-selected-file-copy{min-width:0;display:grid;gap:.14rem}.project-chat-selected-file-copy strong,.project-chat-selected-file-copy span{overflow-wrap:anywhere}.project-chat-selected-file-copy span{color:#6b7280}.project-chat-selected-file button{border:0;background:transparent;color:#c2410c;font-size:.62rem;font-weight:700;text-transform:uppercase}.project-chat-uploaded-files-list{display:grid;gap:.3rem}.project-chat-uploaded-file button:hover{color:#ea580c}.project-chat-state-switcher{border:1px solid #d1d5db;border-radius:14px;background:#fff;padding:.58rem}.project-chat-state-switcher p{margin:0;font-size:.6rem;font-weight:700;color:#9ca3af;text-transform:uppercase;letter-spacing:.08em}.project-chat-state-switcher div{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.3rem;margin-top:.4rem}.project-chat-state-button{border:1px solid #d1d5db;border-radius:8px;background:#fff;color:#6b7280;font-size:.62rem;font-weight:700;text-transform:uppercase;padding:.24rem .35rem}.project-chat-state-button:hover{background:#f9fafb;border-color:#9ca3af}.project-chat-state-button.is-active{border-color:#f97316;color:#c2410c;background:#fff7ed}@keyframes project-chat-dots{0%,80%,to{opacity:.25;transform:translateY(0)}40%{opacity:1;transform:translateY(-2px)}}@keyframes project-chat-message-in{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@media (prefers-reduced-motion: reduce){.project-chat-row-animated,.project-chat-dots span{animation:none}}.project-details-page{max-width:1024px;margin:0 auto;display:grid;gap:1rem;position:relative}.project-details-content{display:grid;gap:1rem}.project-details-hero{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:1.25rem;display:flex;justify-content:space-between;gap:1rem}.project-details-hero h1{margin:.25rem 0;font-size:1.5rem}.project-details-hero p,.project-details-id{margin:0;color:#6b7280}.project-details-hero-side{display:grid;gap:.75rem;justify-items:end}.project-details-status{background:#fff7ed;color:#c2410c;border:1px solid #fdba74;border-radius:999px;display:inline-flex;align-items:center;justify-content:center;padding:.35rem .8rem;font-size:.75rem;font-weight:700}.project-details-secondary-action-link{color:#374151;text-decoration:none;font-weight:600}.project-details-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem;align-items:stretch}.project-details-card{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:1rem;display:grid;gap:.5rem;min-height:0}.project-details-overview-card{max-height:19rem;overflow:hidden;grid-template-rows:auto minmax(0,1fr) auto}.project-details-card h2{margin:0;font-size:1rem}.project-details-card ul,.project-details-card dl{margin:0;padding:0;display:grid;gap:.5rem}.project-details-card li{margin-left:1rem;color:#374151}.project-details-card dl div{display:grid;gap:.1rem}.project-details-facts-object{grid-template-columns:repeat(2,minmax(0,1fr));gap:.6rem 1rem}.project-details-overview-scroll{min-height:0;overflow:auto;scrollbar-gutter:stable;overscroll-behavior:contain;padding-right:4px}.project-details-facts-object div{min-width:0}.project-details-facts-meta{grid-template-columns:repeat(3,minmax(0,1fr));gap:.6rem 1rem;padding-top:.9rem;border-top:1px solid #e5e7eb;color:#6b7280;font-size:.85rem}.project-details-overview-footer{margin-top:auto}.project-details-facts-meta dd{font-weight:500;color:#374151}.project-details-empty-note{margin:0;color:#6b7280;font-size:.95rem}.project-details-card dt{color:#6b7280;font-size:.75rem}.project-details-card dd{margin:0;font-weight:600}.project-details-attachments{display:grid;gap:.5rem;color:#374151}.project-details-share-header{display:flex;justify-content:space-between;align-items:center;gap:1rem;margin-bottom:1rem}.project-details-share-header h2{margin:0;font-size:1.2rem;line-height:1.2}.project-details-share-header p{margin:.2rem 0 0;color:#6b7280}.project-details-primary-action,.project-details-secondary-action,.project-details-revoke-button,.project-details-restore-button{border-radius:10px;padding:.6rem 1rem;font-weight:700;cursor:pointer}.project-details-primary-action{border:none;background:#e58130;color:#fff}.project-details-primary-action-link{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.project-details-secondary-action{border:1px solid #d1d5db;background:#fff;color:#374151}.project-details-secondary-action-accent{border-color:#f97316;color:#c2410c;background:transparent}.project-details-shared-list{display:grid;gap:.75rem;min-height:0}.project-details-deal-message-box{display:grid;gap:.65rem;margin-top:.85rem}.project-details-shared-item{border:1px solid #f0f1f3;border-radius:16px;padding:.8rem 1rem;background:#f9fafb;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:1rem;align-items:center}.project-details-shared-main{display:grid;gap:.45rem;min-width:0}.project-details-shared-title-row{display:flex;align-items:center;gap:.75rem;flex-wrap:wrap}.project-details-shared-title-row strong{font-size:1.05rem;line-height:1.25;color:#1f2937}.project-details-shared-meta{display:grid;grid-template-columns:minmax(0,1fr);gap:.2rem;color:#6b7280;font-size:.88rem}.project-details-shared-meta-row{display:flex;align-items:baseline;gap:.45rem;min-width:0}.project-details-shared-meta span{color:#9ca3af}.project-details-shared-meta strong{color:#374151;font-weight:600}.project-details-shared-actions{display:flex;align-items:center;min-width:max-content}.project-details-share-state{color:#065f46;font-size:.8rem;font-weight:700;text-align:right}.project-details-share-badge{display:inline-flex;align-items:center;min-height:1.65rem;padding:.15rem .7rem;border-radius:999px;background:#ecfdf5;color:#065f46;font-size:.76rem;font-weight:700;white-space:nowrap}.project-details-share-badge.is-revoked{background:#fef2f2;color:#991b1b}.project-details-share-state.is-revoked{color:#991b1b}.project-details-revoke-button{border:1px solid #fecaca;background:#fff;color:#991b1b;padding:.65rem 1.15rem;box-shadow:0 1px 2px #0f172a0a}.project-details-restore-button{border:1px solid #fdba74;background:#fff;color:#c2410c;padding:.65rem 1.15rem;box-shadow:0 1px 2px #0f172a0a}.project-details-loading,.project-details-empty,.project-details-error{background:#fff;border:1px solid #e5e7eb;border-radius:16px;padding:1.25rem}.project-details-empty h1,.project-details-error h1{margin-top:0}.project-details-loading{display:grid;gap:1rem}.project-details-skeleton{background:linear-gradient(90deg,#f3f4f6,#e5e7eb,#f3f4f6);background-size:200% 100%;animation:project-details-pulse 1.4s linear infinite;border-radius:12px}.project-details-skeleton-hero{height:130px}.project-details-skeleton-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1rem}.project-details-skeleton-card{height:120px}@keyframes project-details-pulse{0%{background-position:200% 0}to{background-position:-200% 0}}.project-details-state-switcher,.project-share-modal-state-switcher{background:#fff;border:1px solid #e5e7eb;border-radius:12px;padding:.75rem}.project-details-state-switcher p,.project-share-modal-state-switcher p{margin:0 0 .5rem;font-weight:600}.project-details-state-switcher div,.project-share-modal-state-switcher div{display:flex;flex-wrap:wrap;gap:.4rem}.project-details-state-button{border:1px solid #d1d5db;background:#fff;border-radius:999px;padding:.3rem .7rem;font-size:.75rem;cursor:pointer}.project-details-state-button.is-active{border-color:#e58130;color:#e58130}.project-share-modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;background:#11182773;display:flex;align-items:center;justify-content:center;padding:1rem;z-index:60}.project-share-modal{width:min(640px,100%);background:#fff;border-radius:16px;border:1px solid #e5e7eb}.project-share-modal-header,.project-share-modal-footer{padding:1rem 1.25rem;display:flex;justify-content:space-between;align-items:center;gap:.75rem}.project-share-modal-header{border-bottom:1px solid #e5e7eb}.project-share-modal-header h2{margin:0}.project-share-modal-close{border:none;background:transparent;font-size:1.6rem;line-height:1;cursor:pointer}.project-share-modal-body{padding:1rem 1.25rem;display:grid;gap:.85rem}.project-share-field{font-size:.85rem;color:#6b7280}.project-share-code-row{display:flex;gap:.6rem}.project-share-code-row input{flex:1;border:1px solid #d1d5db;border-radius:10px;padding:.65rem .75rem}.project-share-contractor-card,.project-share-warning{border:1px solid #e5e7eb;border-radius:12px;padding:.75rem}.project-share-contractor-card p,.project-share-warning p{margin:.35rem 0 0;color:#4b5563;font-size:.875rem}.project-share-warning{background:#fff7ed;border-color:#fed7aa}.project-share-warning-list{margin:.45rem 0 0;padding-left:1.2rem;color:#4b5563;font-size:.875rem}.project-share-warning-list li+li{margin-top:.2rem}.project-share-checkbox{display:flex;gap:.55rem;align-items:flex-start;font-size:.9rem}.project-share-inline-note{margin:0;color:#6b7280;font-size:.85rem}.project-share-inline-note-warning{color:#991b1b}.project-share-inline-note-success{color:#065f46}@media (max-width: 900px){.project-details-grid,.project-details-skeleton-grid,.project-details-facts-object,.project-details-facts-meta{grid-template-columns:1fr}.project-details-hero,.project-details-share-header,.project-details-shared-item,.project-details-shared-actions,.project-share-code-row{display:grid}.project-details-hero-side{justify-items:start}.project-details-shared-item{grid-template-columns:minmax(0,1fr)}.project-details-shared-meta{gap:.35rem}.project-details-shared-actions{min-width:0}.project-details-deal-bottom{align-items:flex-start}.project-details-deal-open-link{width:100%;justify-content:center}.project-details-deal-pagination{grid-template-columns:minmax(0,1fr);justify-items:stretch}.project-details-deal-pagination-status{order:-1}.project-details-deal-pagination-button{width:100%}}.auth-screen{min-height:100vh;display:flex;align-items:center;justify-content:center}.auth-card{width:100%;max-width:420px;display:grid;gap:var(--space-4)}.auth-field{display:grid;gap:var(--space-2);font-size:var(--text-body-sm)}.auth-actions-row{display:flex;gap:var(--space-3)}.auth-actions-row .ui-button-primary,.auth-actions-row .ui-button-secondary,.auth-oauth-row .ui-button-secondary,.auth-card .ui-button-primary{width:100%}.auth-link-button{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.auth-error{color:var(--color-danger-500)}.register-card{max-width:860px}.register-form{grid-template-columns:repeat(2,minmax(0,1fr));display:grid;gap:var(--space-3)}.register-form .ui-button-primary,.register-form .auth-checkbox,.register-form .auth-error,.register-form .register-city-field,.register-form .register-specializations{grid-column:1 / -1}.auth-checkbox{display:flex;gap:var(--space-2);align-items:center}.consent-checkbox{align-items:flex-start}.consent-checkbox input{margin-top:.18rem;accent-color:var(--color-brand-500)}.legal-link{color:var(--color-brand-500);text-decoration:none}.legal-link:hover{text-decoration:underline}.legal-note{margin:0;color:var(--color-text-muted);font-size:var(--text-body-sm);line-height:1.5}.legal-note-inline{grid-column:1 / -1}.layout-legal-footer{display:flex;flex-wrap:wrap;justify-content:center;gap:.5rem 1rem;padding:0 var(--space-4) var(--space-5);color:var(--color-text-muted);font-size:var(--text-body-sm)}.register-suggestions{border:1px solid var(--color-border);border-radius:12px;max-height:180px;overflow:auto;background:var(--color-surface)}.register-suggestion-item{width:100%;text-align:left;border:0;background:transparent;padding:10px 12px;cursor:pointer}.register-suggestion-item:hover{background:var(--color-surface-muted)}.register-hint{font-size:var(--text-body-sm);color:var(--color-text-muted)}.register-specializations{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-2)}@media (max-width: 900px){.register-form{grid-template-columns:minmax(0,1fr)}.layout-legal-footer{justify-content:flex-start}}@media (max-width: 720px){.client-header{height:auto;padding:var(--space-4);align-items:flex-start}.client-header-left,.client-profile{width:100%;flex-wrap:wrap}.client-nav{gap:var(--space-4)}.client-profile{justify-content:space-between}.client-profile-meta{text-align:left}}.project-details-deals-card{min-height:0;display:grid;gap:var(--space-4)}.project-details-card-span-2{grid-column:1 / -1}.project-details-deal-item{border:1px solid var(--color-border-soft);border-radius:var(--radius-md);padding:.55rem;background:var(--color-bg-panel);display:grid}.project-details-deals-list{display:grid;gap:.65rem}.project-details-deal-item+.project-details-deal-item{margin-top:0}.project-details-deal-inner{display:grid;gap:.45rem;padding:.8rem .85rem;border-radius:calc(var(--radius-md) - 2px);background:var(--color-bg-surface);border:1px solid var(--color-border-soft);box-shadow:var(--shadow-sm);min-width:0}.project-details-deal-top{display:grid;gap:.4rem}.project-details-deal-title-block{display:grid;gap:.35rem;min-width:0}.project-details-deal-contractor{line-height:var(--lh-tight);font-size:.98rem;min-width:0;word-break:break-word}.project-details-deal-status-row{flex-wrap:wrap;min-width:0}.project-details-deal-status-badge,.project-details-deal-access-badge{display:inline-flex;align-items:center;min-height:1.5rem;padding:.15rem .65rem;border-radius:var(--radius-md);font-size:var(--text-badge);font-weight:var(--fw-bold);white-space:nowrap}.project-details-deal-access-badge{background:#ecfdf5;color:#065f46}.project-details-deal-access-badge.is-revoked{background:#fef2f2;color:#991b1b}.project-details-deal-status-badge.status-draft,.project-details-deal-status-badge.status-closed{background:#6b72801f;color:#4b5563}.project-details-deal-status-badge.status-pending_client,.project-details-deal-status-badge.status-proposed{background:#2563eb1f;color:#1d4ed8}.project-details-deal-status-badge.status-agreed,.project-details-deal-status-badge.status-approved,.project-details-deal-status-badge.status-in_progress{background:#15803d1f;color:#0f7a34}.project-details-deal-status-badge.status-revision_requested{background:#e98e2729;color:#b5600d}.project-details-deal-status-badge.status-rejected,.project-details-deal-status-badge.status-canceled{background:#ef44441f;color:#b91c1c}.project-details-deal-summary{min-width:0}.project-details-deal-version{display:flex;flex-direction:column;gap:.35rem;min-width:0}.project-details-deal-version h3,.project-details-deal-version p{margin:0}.project-details-deal-version h3{font-size:var(--text-body);line-height:var(--lh-tight)}.project-details-deal-version p,.project-details-deal-empty-version{color:var(--color-text-secondary)}.project-details-deal-version-meta,.project-details-deal-meta{display:flex;gap:.2rem .8rem;flex-wrap:wrap;color:var(--color-text-secondary);font-size:var(--text-body-sm)}.project-details-deal-version-meta{margin-top:.1rem}.project-details-deal-empty-version{margin:0}.project-details-deal-bottom{display:flex;justify-content:space-between;align-items:center;gap:.5rem var(--space-3);flex-wrap:wrap}.project-details-deal-open-link{flex:none;white-space:nowrap}.project-details-deal-pagination{display:grid;grid-template-columns:auto auto auto;gap:var(--space-3);align-items:center;justify-content:center}.project-details-deal-pagination-button{border:1px solid var(--color-border-default);border-radius:var(--radius-pill);background:var(--color-bg-surface);color:var(--color-text-primary);font:inherit;font-size:var(--text-body-sm);font-weight:var(--fw-semibold);line-height:1;padding:.55rem .95rem;cursor:pointer;box-shadow:var(--shadow-sm)}.project-details-deal-pagination-button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none}.project-details-deal-pagination-status{min-width:4.2rem;text-align:center;color:var(--color-text-secondary);font-size:var(--text-body-sm);font-weight:var(--fw-semibold)}.project-details-card-scroll-shell{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0;height:100%;overflow:hidden}.project-details-estimate-card{display:grid;gap:var(--space-4)}.project-details-scroll-area{min-height:0;max-height:100%;overflow:auto;scrollbar-gutter:stable;padding-right:4px}.project-details-single-column{grid-template-columns:minmax(0,1fr)}.project-details-deal-list-block{margin-top:var(--space-4)}.project-details-deal-list-block h3{margin:0 0 var(--space-2)}.project-details-deal-list-block ul{margin:0;padding-left:1rem;display:grid;gap:var(--space-2)}.project-details-inline-link{color:var(--color-accent-strong);text-decoration:none}.project-details-inline-link:hover{text-decoration:underline}.project-details-inline-button{border:0;padding:0;background:transparent;color:var(--color-accent-strong);font:inherit;font-weight:inherit;cursor:pointer;text-align:left;text-decoration:underline;text-underline-offset:.12em}.project-details-inline-button:hover{color:var(--color-accent-hover)}.project-details-party-card{display:grid;gap:.45rem}.project-details-party-card strong,.project-details-party-card p{margin:0}.project-details-inline-error{grid-column:1 / -1}.project-details-inline-error p{margin:0;color:var(--color-danger-text)}.project-details-inline-success{grid-column:1 / -1}.project-details-inline-success p{margin:0;color:var(--color-success-600)}.project-details-inline-warning{grid-column:1 / -1}.project-details-inline-warning h3{margin:0 0 var(--space-2)}.project-details-inline-warning p{margin:0}.project-details-deal-history{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--space-4);min-height:0}.project-details-deal-history ul{margin:var(--space-3) 0 0;padding-left:1rem;display:grid;gap:var(--space-2)}.project-details-cr-item{display:grid;gap:var(--space-3)}.project-details-cr-actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.deal-status-stack{display:grid;gap:var(--space-2);justify-items:end}.deal-estimate-shell{display:grid;gap:var(--space-4)}.deal-estimate-toolbar{display:flex;justify-content:space-between;gap:var(--space-4);align-items:flex-start;flex-wrap:wrap}.deal-estimate-toolbar-summary{display:grid;gap:4px;color:var(--color-text-secondary);font-size:var(--text-body-sm)}.deal-estimate-toolbar-summary strong{color:var(--color-text-primary);font-size:var(--text-body-md)}.deal-estimate-toolbar-actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.deal-estimate-table-shell{border:1px solid var(--color-border-soft);border-radius:var(--radius-md);background:var(--color-bg-surface);overflow:auto}.deal-estimate-table{width:100%;min-width:920px;border-collapse:collapse}.deal-estimate-table thead th{position:sticky;top:0;z-index:1;background:var(--color-bg-panel);color:var(--color-text-secondary);font-size:var(--text-body-xs);text-transform:uppercase;letter-spacing:.04em;font-weight:700;text-align:left;padding:var(--space-3) var(--space-4);border-bottom:1px solid var(--color-border-soft)}.deal-estimate-col-unit,.deal-estimate-col-qty,.deal-estimate-col-price,.deal-estimate-col-total,.deal-estimate-col-status{text-align:center}.deal-estimate-section-row td{background:var(--color-bg-panel);border-top:1px solid var(--color-border-soft)}.deal-estimate-section-head{display:flex;justify-content:space-between;gap:var(--space-3);align-items:center;padding:var(--space-3) var(--space-4)}.deal-estimate-section-title-block{display:grid;gap:2px}.deal-estimate-section-title-block strong{color:var(--color-text-primary)}.deal-estimate-section-title-block span{color:var(--color-text-secondary);font-size:var(--text-body-xs)}.deal-estimate-section-actions{display:flex;gap:var(--space-2);flex-wrap:wrap}.deal-estimate-section-input,.deal-estimate-input{width:100%;min-width:0}.deal-estimate-input-center{text-align:center}.deal-estimate-row td{padding:var(--space-3) var(--space-4);border-top:1px solid var(--color-border-soft);vertical-align:top}.deal-estimate-row.is-new{background:#357eff0f}.deal-estimate-row.is-changed{background:#e98e2714}.deal-estimate-row.is-same{background:transparent}.deal-estimate-cell-section{color:var(--color-text-secondary);font-size:var(--text-body-sm)}.deal-estimate-cell-total{text-align:right;font-weight:700;white-space:nowrap}.deal-estimate-cell-status{display:flex;justify-content:flex-end;gap:var(--space-2);align-items:center;flex-wrap:wrap}.estimate-status-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:4px 8px;font-size:var(--text-body-xs);font-weight:700;white-space:nowrap}.estimate-status-new{background:#357eff1f;color:#1f5fd4}.estimate-status-changed{background:#e98e2729;color:#b5600d}.estimate-status-same{background:#12a35c24;color:#0f7a34}.deal-estimate-row-remove{border:0;background:transparent;color:var(--color-danger-600);font-size:var(--text-body-xs);font-weight:700;cursor:pointer}.deal-estimate-footer{display:flex;justify-content:space-between;gap:var(--space-4);flex-wrap:wrap;padding-top:var(--space-3);border-top:1px solid var(--color-border-soft)}.deal-estimate-footer-summary strong{display:block;font-size:var(--text-heading-md)}.deal-estimate-footer-meta{display:flex;gap:var(--space-4);color:var(--color-text-secondary);font-size:var(--text-body-sm);flex-wrap:wrap}.deal-estimate-empty-state{display:grid;gap:var(--space-3);padding:var(--space-6);text-align:center;border:1px dashed var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-panel)}.deal-diff-summary{display:flex;gap:var(--space-2);flex-wrap:wrap;color:var(--color-text-secondary);font-size:var(--text-body-xs)}.deal-history-modal{width:min(1040px,100%)}.deal-history-modal-subtitle{margin:4px 0 0;color:var(--color-text-secondary);font-size:var(--text-body-sm)}.deal-history-modal-body{display:grid;grid-template-columns:minmax(220px,280px) minmax(0,1fr);gap:var(--space-4);padding:var(--space-4)}.deal-history-list-panel{display:grid;gap:var(--space-2);align-content:start;max-height:72vh;overflow:auto;padding-right:4px}.deal-history-item{width:100%;text-align:left;border:1px solid var(--color-border-soft);background:var(--color-bg-panel);border-radius:var(--radius-md);padding:var(--space-3);display:grid;gap:4px;cursor:pointer}.deal-history-item.is-active{border-color:var(--color-brand-400);background:#357eff14}.deal-history-item strong{font-size:var(--text-body-sm)}.deal-history-item span,.deal-history-item small{color:var(--color-text-secondary);font-size:var(--text-body-xs)}.deal-history-preview{min-width:0;display:grid;gap:var(--space-3)}.deal-history-preview-head{display:flex;justify-content:space-between;gap:var(--space-3);align-items:flex-start;flex-wrap:wrap}.deal-history-preview-head h3{margin:0}.deal-history-preview-meta{display:grid;gap:4px;color:var(--color-text-secondary);font-size:var(--text-body-sm)}.deal-history-comment{border:1px solid var(--color-border-soft);border-radius:var(--radius-md);padding:var(--space-3);background:var(--color-bg-panel)}.deal-history-comment h4{margin:0 0 6px;font-size:var(--text-body-sm)}.deal-history-comment p{margin:0;color:var(--color-text-secondary)}.deal-context-block{display:grid;gap:var(--space-2)}.deal-context-block p{margin:0}@media (max-width: 900px){.project-details-deal-head,.project-details-deal-history{grid-template-columns:minmax(0,1fr);display:grid}.deal-history-modal-body{grid-template-columns:minmax(0,1fr)}}.client-deal-page{gap:var(--space-4);min-height:0}.client-deal-page .lead-view-head{display:flex;justify-content:space-between;align-items:center;gap:15px;flex-wrap:wrap}.client-deal-page .lead-view-head-meta{display:flex;align-items:center;gap:var(--space-2);flex-wrap:wrap;font-size:var(--text-body-sm);color:var(--color-text-muted);font-weight:var(--fw-bold)}.client-deal-page .lead-tag{display:inline-flex;align-items:center;justify-content:center;min-height:1.5rem;padding:.14rem .55rem;border-radius:999px;background:var(--color-brand-100);color:#9a4f00;font-size:var(--text-badge);font-weight:var(--fw-bold);letter-spacing:.04em}.client-deal-page .deal-status-pill.status-draft,.client-deal-page .deal-status-pill.status-closed{background:#6b72801f;color:#4b5563}.client-deal-page .deal-status-pill.status-pending_client,.client-deal-page .deal-status-pill.status-proposed{background:#2563eb1f;color:#1d4ed8}.client-deal-page .deal-status-pill.status-agreed,.client-deal-page .deal-status-pill.status-approved,.client-deal-page .deal-status-pill.status-in_progress{background:#15803d1f;color:#0f7a34}.client-deal-page .deal-status-pill.status-revision_requested{background:#e98e2729;color:#b5600d}.client-deal-page .deal-status-pill.status-rejected,.client-deal-page .deal-status-pill.status-canceled{background:#ef44441f;color:#b91c1c}.client-deal-page .deal-live-hero{display:flex;justify-content:space-between;gap:var(--space-4);align-items:flex-start;margin-top:var(--space-1)}.client-deal-page .deal-page-topbar,.client-deal-page .deal-page-topbar .lead-view-head-meta{align-items:center}.client-deal-page .deal-live-hero-compact{margin-bottom:calc(var(--space-1) * -1)}.client-deal-page .deal-live-hero-copy{display:grid;gap:2px}.client-deal-page .deal-live-hero h1{font-size:var(--text-card-title);line-height:1.25}.client-deal-page .deal-live-hero-copy p{margin:.25rem 0 .55rem;color:var(--color-text-secondary);font-size:var(--text-body);line-height:var(--lh-base)}.client-deal-page .deal-top-meta{color:var(--color-text-secondary);font-size:var(--text-caption);letter-spacing:.08em;font-weight:var(--fw-bold);text-transform:uppercase}.client-deal-page .state-banner{border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);border:1px solid transparent}.client-deal-page .state-loading{background:#357eff14;border-color:#357eff2e}.client-deal-page .state-error{background:#ef444414;border-color:#ef44442e}.client-deal-page .state-empty{background:var(--color-bg-surface);border-color:var(--color-border-soft)}.client-deal-page .deal-deal-stack{display:grid;gap:var(--space-4)}.client-deal-page .deal-client-history-row{display:grid;grid-template-columns:minmax(0,320px) auto;gap:var(--space-3);align-items:start}.client-deal-page .deal-card{background:var(--color-bg-surface);border:1px solid var(--color-border-default);border-radius:var(--radius-lg);padding:var(--space-4);box-shadow:var(--shadow-sm);min-height:0}.client-deal-page .deal-card-head{display:flex;justify-content:space-between;gap:var(--space-3);margin-bottom:var(--space-3);align-items:flex-start}.client-deal-page .deal-card-head-compact{margin-bottom:var(--space-2)}.client-deal-page .deal-card-head h2{margin:0;font-size:var(--text-section-title);line-height:1.2}.client-deal-page .deal-card-head p{margin:.4rem 0 0;color:var(--color-text-secondary);font-size:var(--text-body-sm)}.client-deal-page .deal-client-card{width:100%;max-width:320px;padding:var(--space-3)}.client-deal-page .deal-client-card-body{display:grid;gap:3px}.client-deal-page .deal-client-card-body strong{font-size:var(--text-body);line-height:1.25}.client-deal-page .deal-client-card-body span{color:var(--color-text-secondary);font-size:var(--text-body-sm);line-height:var(--lh-base)}.client-deal-page .deal-client-history-action{display:flex;justify-content:flex-end}.client-deal-page .secondary-cta,.client-deal-page .deal-history-trigger{border:1px solid var(--color-border-default);background:var(--color-bg-surface);color:var(--color-text-primary);border-radius:var(--radius-md);padding:.4rem .7rem;font-weight:var(--fw-semibold);cursor:pointer;min-height:2.25rem;white-space:nowrap;box-shadow:none}.client-deal-page .ui-button-primary,.client-deal-page .ui-button-secondary{box-shadow:none}.client-deal-page .secondary-cta:hover,.client-deal-page .deal-history-trigger:hover{border-color:var(--color-brand-500);color:var(--color-brand-500)}.client-deal-page .deal-history-trigger{display:inline-flex;align-items:center;justify-content:center}.client-deal-page .deal-contact-link{color:var(--color-brand-500);text-decoration:none}.client-deal-page .deal-contact-link:hover{text-decoration:underline}.client-deal-page .deal-contact-muted{color:var(--color-text-muted)}.client-deal-page .deal-card-main-reader{display:grid;grid-template-rows:auto minmax(0,1fr);min-height:0;overflow:hidden}.client-deal-page .deal-estimate-card{width:100%}.client-deal-page .deal-estimate-card-body{display:flex;flex-direction:column;gap:var(--space-3);min-height:0}.client-deal-page .deal-inline-alert{grid-column:1 / -1;border-radius:var(--radius-md);padding:var(--space-3) var(--space-4);border:1px solid transparent}.client-deal-page .deal-inline-alert h3{margin:0 0 var(--space-1);font-size:var(--text-body)}.client-deal-page .deal-inline-alert p{margin:0}.client-deal-page .deal-inline-alert-error{background:#ef444414;border-color:#ef44442e}.client-deal-page .deal-inline-alert-success{background:#15803d14;border-color:#15803d2e}.client-deal-page .deal-inline-alert-warning{background:#fff7ed;border-color:#fed7aa}.client-deal-page .deal-status-actions,.client-deal-page .deal-inline-meta{display:flex;gap:var(--space-2);flex-wrap:wrap}.client-deal-page .deal-status-actions{justify-content:flex-end}.client-deal-page .deal-estimate-shell{display:grid;gap:var(--space-3);min-height:0;height:100%;grid-template-rows:auto minmax(0,1fr) auto}.client-deal-page .deal-estimate-toolbar{display:none}.client-deal-page .deal-estimate-table-shell{border:1px solid var(--color-border-soft);border-radius:var(--radius-md);background:var(--color-bg-surface);overflow:auto;min-height:0;max-height:calc(100dvh - 430px)}.client-deal-page .deal-estimate-table{--deal-estimate-columns: minmax(0, 1.9fr) 4.75rem 5.25rem 6.75rem 7.5rem 6.75rem 4.25rem;width:100%;min-width:970px;display:block;border-collapse:separate;border-spacing:0}.client-deal-page .deal-estimate-table thead,.client-deal-page .deal-estimate-table tbody{display:block}.client-deal-page .deal-estimate-table thead{position:sticky;top:0;z-index:2}.client-deal-page .deal-estimate-table thead tr,.client-deal-page .deal-estimate-row,.client-deal-page .deal-estimate-section-row{display:grid;grid-template-columns:var(--deal-estimate-columns);align-items:stretch;width:100%}.client-deal-page .deal-estimate-table th,.client-deal-page .deal-estimate-table td{display:block;min-width:0;box-sizing:border-box}.client-deal-page .deal-estimate-table thead th{background:var(--color-bg-panel);color:var(--color-text-secondary);font-size:var(--text-label);text-transform:uppercase;letter-spacing:.04em;font-weight:var(--fw-bold);text-align:left;padding:.45rem .65rem;border-bottom:1px solid var(--color-border-soft)}.client-deal-page .deal-estimate-table thead th:nth-child(2),.client-deal-page .deal-estimate-table thead th:nth-child(3),.client-deal-page .deal-estimate-table thead th:nth-child(4),.client-deal-page .deal-estimate-table thead th:nth-child(5),.client-deal-page .deal-estimate-table thead th:nth-child(6),.client-deal-page .deal-estimate-table thead th:nth-child(7){text-align:center}.client-deal-page .deal-estimate-section-row td{background:var(--color-bg-panel);border-top:1px solid var(--color-border-soft);border-bottom:1px solid var(--color-border-soft);box-sizing:border-box;vertical-align:middle;padding:.2rem .65rem}.client-deal-page .deal-estimate-section-title-cell{min-width:0;grid-column:1 / span 4;padding-right:.5rem;display:flex;align-items:center}.client-deal-page .deal-estimate-section-actions-cell{min-width:0;grid-column:5 / span 3;padding-left:.5rem;display:flex;align-items:center}.client-deal-page .deal-estimate-section-head{display:flex;justify-content:space-between;gap:var(--space-3);align-items:center;padding:.2rem .65rem}.client-deal-page .deal-estimate-section-title-block{display:grid;gap:2px;width:100%}.client-deal-page .deal-estimate-section-title-block strong{color:var(--color-text-primary)}.client-deal-page .deal-estimate-section-title-block span{color:var(--color-text-secondary);font-size:var(--text-label)}.client-deal-page .deal-estimate-row td{padding:.45rem .65rem;border-top:1px solid var(--color-border-soft);vertical-align:top;font-size:var(--text-body);line-height:var(--lh-base);box-sizing:border-box}.client-deal-page .deal-estimate-row.is-new{background:#357eff0f}.client-deal-page .deal-estimate-row.is-changed{background:#e98e2714}.client-deal-page .deal-estimate-row.is-same{background:transparent}.client-deal-page .deal-estimate-input,.client-deal-page .deal-estimate-section-input{width:100%;min-width:0}.client-deal-page .deal-estimate-input-center,.client-deal-page .deal-estimate-cell-unit,.client-deal-page .deal-estimate-cell-qty,.client-deal-page .deal-estimate-cell-price,.client-deal-page .deal-estimate-cell-total,.client-deal-page .deal-estimate-cell-status{text-align:center}.client-deal-page .deal-estimate-cell-total{text-align:right;font-weight:var(--fw-bold);white-space:nowrap;font-variant-numeric:tabular-nums}.client-deal-page .deal-estimate-cell-status{display:flex;justify-content:flex-end;gap:var(--space-2);align-items:center;flex-wrap:nowrap;white-space:nowrap}.client-deal-page .deal-estimate-cell-remove{display:flex;align-items:center;justify-content:flex-end}.client-deal-page .estimate-status-badge{display:inline-flex;align-items:center;justify-content:center;border-radius:999px;padding:3px 8px;font-size:var(--text-badge);line-height:1;font-weight:var(--fw-bold);white-space:nowrap}.client-deal-page .estimate-status-new{background:#357eff1f;color:#1f5fd4}.client-deal-page .estimate-status-changed{background:#e98e2729;color:#b5600d}.client-deal-page .estimate-status-same{background:#15803d1f;color:#0f7a34}.client-deal-page .deal-estimate-cell-price,.client-deal-page .deal-estimate-cell-total,.client-deal-page .deal-estimate-cell-status,.client-deal-page .deal-estimate-col-price,.client-deal-page .deal-estimate-col-total,.client-deal-page .deal-estimate-col-status,.client-deal-page .deal-estimate-col-remove{min-width:0}.client-deal-page .deal-estimate-col-remove{width:4.25rem;white-space:nowrap}.client-deal-page .deal-estimate-footer{display:flex;justify-content:flex-end;padding-top:var(--space-3);border-top:1px solid var(--color-border-soft)}.client-deal-page .deal-estimate-footer-summary{text-align:right;display:grid;gap:2px}.client-deal-page .deal-estimate-footer-summary strong{display:block;font-size:var(--text-card-title)}.client-deal-page .deal-estimate-footer-summary span{color:var(--color-text-secondary);font-size:var(--text-body-sm);line-height:var(--lh-base)}.client-deal-page .deal-estimate-empty-state{display:grid;gap:var(--space-3);padding:var(--space-5);text-align:center;border:1px dashed var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-panel)}.client-deal-page .deal-estimate-row-remove{border:1px solid transparent;background:transparent;color:var(--color-danger-500);width:2.25rem;height:2.25rem;padding:0;border-radius:var(--radius-md);cursor:pointer;display:inline-grid;place-items:center;line-height:0;flex:0 0 auto}.client-deal-page .deal-estimate-row-remove:hover{background:#e64a4914}.client-deal-page .deal-estimate-row-remove svg{width:18px;height:18px;display:block;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}.client-deal-page .deal-history-modal{width:min(1040px,100%);max-height:84vh;display:grid;grid-template-rows:auto minmax(0,1fr);overflow:hidden}.client-deal-page .deal-history-modal-subtitle{margin:4px 0 0;color:var(--color-text-secondary);font-size:var(--text-body-sm)}.client-deal-page .deal-history-modal-body{display:grid;grid-template-columns:minmax(210px,240px) minmax(0,1fr);gap:var(--space-4);padding:var(--space-4);min-height:0;overflow:hidden}.client-deal-page .deal-history-list-panel{display:grid;gap:var(--space-2);align-content:start;overflow:auto;padding-right:4px;min-height:0}.client-deal-page .deal-history-item{width:100%;text-align:left;border:1px solid var(--color-border-soft);background:var(--color-bg-panel);border-radius:var(--radius-md);padding:var(--space-3);display:grid;gap:4px;cursor:pointer}.client-deal-page .deal-history-item.is-active{border-color:var(--color-brand-400);background:#357eff14}.client-deal-page .deal-history-item strong{font-size:var(--text-body);line-height:var(--lh-base)}.client-deal-page .deal-history-item span,.client-deal-page .deal-history-item small{color:var(--color-text-secondary);font-size:var(--text-body-sm);line-height:var(--lh-base)}.client-deal-page .deal-history-preview{min-width:0;display:grid;gap:var(--space-3);min-height:0;overflow:auto}.client-deal-page .deal-history-preview-head{display:flex;justify-content:space-between;gap:var(--space-3);align-items:flex-start;flex-wrap:wrap}.client-deal-page .deal-history-preview-head h3{margin:0}.client-deal-page .deal-history-preview-meta{display:grid;gap:4px;color:var(--color-text-secondary);font-size:var(--text-body-sm);line-height:var(--lh-base)}.client-deal-page .deal-history-comment{border:1px solid var(--color-border-soft);border-radius:var(--radius-md);padding:var(--space-3);background:var(--color-bg-panel)}.client-deal-page .deal-history-comment h4{margin:0 0 6px;font-size:var(--text-body)}.client-deal-page .deal-history-comment p{margin:0;color:var(--color-text-secondary)}@media (max-width: 900px){.client-deal-page .deal-live-hero,.client-deal-page .deal-client-history-row,.client-deal-page .deal-history-modal-body{grid-template-columns:minmax(0,1fr);display:grid}.client-deal-page .deal-client-history-action{justify-content:flex-start}.client-deal-page .deal-card-main-reader{max-height:none}}
