@import"https://fonts.googleapis.com/css2?family=Inter:wght@400;500;600;700&display=swap";.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--space-2);font-family:var(--font-family);font-weight:600;border:none;border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-base);position:relative;white-space:nowrap}.btn:disabled{opacity:.5;cursor:not-allowed}.btn-primary{background:var(--gradient-primary);color:var(--color-bg-primary);box-shadow:var(--shadow-md)}.btn-primary:hover:not(:disabled){transform:translateY(-2px);box-shadow:var(--shadow-glow)}.btn-secondary{background:var(--color-bg-tertiary);color:var(--color-text-primary);border:1px solid var(--color-border)}.btn-secondary:hover:not(:disabled){background:var(--color-bg-glass-hover);border-color:var(--color-border-hover)}.btn-outline{background:transparent;color:var(--color-primary);border:2px solid var(--color-primary)}.btn-outline:hover:not(:disabled){background:var(--color-primary-muted)}.btn-ghost{background:transparent;color:var(--color-text-secondary)}.btn-ghost:hover:not(:disabled){color:var(--color-text-primary);background:var(--color-bg-glass)}.btn-danger{background:var(--color-error);color:#fff}.btn-danger:hover:not(:disabled){background:#dc2626}.btn-sm{padding:var(--space-2) var(--space-4);font-size:var(--font-size-sm)}.btn-md{padding:var(--space-3) var(--space-6);font-size:var(--font-size-base)}.btn-lg{padding:var(--space-4) var(--space-8);font-size:var(--font-size-lg)}.btn-full{width:100%}.btn-loading{color:transparent}.btn-spinner{position:absolute;width:20px;height:20px;border:2px solid currentColor;border-top-color:transparent;border-radius:50%;animation:btn-spin .8s linear infinite}.btn-loading .btn-spinner{color:var(--color-bg-primary)}.btn-text-hidden{visibility:hidden}@keyframes btn-spin{to{transform:rotate(360deg)}}.navbar{background:#fffffff2;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-bottom:1px solid var(--color-border);position:sticky;top:0;z-index:100}.navbar-container{max-width:1400px;margin:0 auto;padding:var(--space-4) var(--space-6);display:flex;align-items:center;justify-content:space-between}.navbar-logo{display:flex;align-items:center;gap:var(--space-2);font-size:var(--font-size-xl);font-weight:700;color:var(--color-text-primary);text-decoration:none}.logo-icon{font-size:1.5rem}.logo-text{background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.navbar-content{display:flex;align-items:center;gap:var(--space-8)}.navbar-links{display:flex;align-items:center;gap:var(--space-6)}.nav-link{color:var(--color-text-secondary);font-weight:500;transition:color var(--transition-fast);position:relative}.nav-link:hover{color:var(--color-text-primary)}.nav-link:after{content:"";position:absolute;bottom:-4px;left:0;width:0;height:2px;background:var(--gradient-primary);transition:width var(--transition-base)}.nav-link:hover:after{width:100%}.navbar-user{display:flex;align-items:center;gap:var(--space-4)}.nav-user-link{display:flex;align-items:center;gap:var(--space-3);text-decoration:none;padding:var(--space-2) var(--space-3);border-radius:var(--radius-lg);transition:background var(--transition-fast)}.nav-user-link:hover{background:var(--color-bg-glass)}.nav-avatar{width:36px;height:36px;border-radius:var(--radius-full);background:var(--gradient-primary);display:flex;align-items:center;justify-content:center;font-weight:600;color:var(--color-bg-primary)}.nav-username{color:var(--color-text-primary);font-weight:500}.nav-role-badge{padding:var(--space-1) var(--space-2);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase}.nav-role-badge.homeowner{background:var(--color-primary-muted);color:var(--color-primary)}.nav-role-badge.contractor{background:#6366f126;color:var(--color-secondary)}.nav-admin-link{color:#a78bfa!important;font-weight:600!important}.mobile-admin-link{color:#7c3aed!important;font-weight:600!important;border-top:1px solid var(--color-border);margin-top:8px;padding-top:16px!important}.navbar-auth{display:flex;align-items:center;gap:var(--space-3)}.for-pros-dropdown{position:relative}.for-pros-trigger{background:transparent;border:1px solid var(--color-border);color:var(--color-text-secondary);padding:.4rem .75rem;border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;display:flex;align-items:center;gap:.35rem;transition:all .2s ease;white-space:nowrap}.for-pros-trigger:hover{background:var(--color-bg-glass);border-color:var(--color-text-tertiary);color:var(--color-text-primary)}.for-pros-trigger svg{opacity:.6}.for-pros-menu{position:absolute;top:100%;right:0;margin-top:.5rem;background:#fff;border-radius:var(--radius-lg);box-shadow:0 4px 20px #00000026;padding:.75rem;min-width:200px;z-index:101;border:1px solid var(--color-border)}.for-pros-subtitle{font-size:.7rem;color:var(--color-text-tertiary);padding:.25rem .75rem .5rem;margin:0;border-bottom:1px solid var(--color-border);margin-bottom:.5rem}.for-pros-item{display:block;width:100%;background:transparent;border:none;padding:.625rem .75rem;text-align:left;font-size:var(--font-size-sm);color:var(--color-text-primary);cursor:pointer;border-radius:var(--radius-md);transition:background .15s ease;text-decoration:none}.for-pros-item:hover{background:var(--color-bg-glass)}@media(max-width:768px){.for-pros-dropdown{display:none}}.desktop-only{display:flex}.mobile-nav-controls{display:none;align-items:center;gap:var(--space-3)}.mobile-avatar{text-decoration:none}.hamburger{display:flex;flex-direction:column;justify-content:center;gap:5px;width:28px;height:28px;background:none;border:none;cursor:pointer;padding:0;z-index:200}.hamburger span{width:100%;height:2px;background:var(--color-text-primary);border-radius:2px;transition:all .3s ease;transform-origin:center}.hamburger.open span:nth-child(1){transform:rotate(45deg) translate(5px,5px)}.hamburger.open span:nth-child(2){opacity:0}.hamburger.open span:nth-child(3){transform:rotate(-45deg) translate(5px,-5px)}.mobile-menu{display:none;position:fixed;top:0;right:0;width:280px;height:100vh;background:#fffffffa;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-left:1px solid var(--color-border);z-index:150;flex-direction:column;transition:transform .3s ease;padding-top:80px;transform:translate(100%)}.mobile-menu.open{transform:translate(0)}.mobile-menu-header{padding:var(--space-4) var(--space-5);border-bottom:1px solid var(--color-border);display:flex;align-items:center;gap:var(--space-2)}.mobile-user-name{font-weight:600;color:var(--color-text-primary)}.mobile-menu-links{flex:1;padding:var(--space-4) 0;overflow-y:auto}.mobile-nav-link{display:block;padding:var(--space-4) var(--space-5);color:var(--color-text-secondary);font-size:var(--font-size-md);font-weight:500;text-decoration:none;transition:all .2s ease}.mobile-nav-link:hover,.mobile-nav-link:active{background:var(--color-surface-overlay);color:var(--color-text-primary)}.mobile-menu-footer{padding:var(--space-4) var(--space-5);border-top:1px solid var(--color-border)}.mobile-signout-btn{width:100%;justify-content:center}.mobile-signout-link{color:var(--color-danger-400, #f87171)!important;background:none;border:none;text-align:left;cursor:pointer;font-family:inherit}.mobile-footer-text{font-size:var(--font-size-xs);color:var(--color-text-tertiary)}.mobile-menu-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background:#00000080;z-index:140}@media(max-width:768px){.navbar-container{padding:var(--space-3) var(--space-4)}.desktop-only{display:none!important}.mobile-nav-controls,.mobile-menu{display:flex}.navbar-links,.nav-username{display:none}}@media(max-width:380px){.navbar-logo .logo-text{font-size:var(--font-size-lg)}.nav-avatar{width:32px;height:32px;font-size:var(--font-size-sm)}}.site-footer{background:#0f1923;color:#ffffffb3;padding:2rem 1.5rem;margin-top:auto;font-size:.85rem;line-height:1.6}.footer-container{max-width:1200px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;gap:1.5rem}.footer-brand{display:flex;flex-direction:column;gap:.25rem}.footer-logo{display:flex;align-items:center;gap:.4rem;font-size:1.1rem;font-weight:700;color:#fff;text-decoration:none}.footer-logo .logo-icon{font-size:1.2rem}.footer-logo .logo-llc{font-weight:400;font-size:.85rem;color:#ffffff80;margin-left:.15rem}.footer-logo .logo-tm{font-size:.6rem;vertical-align:super;color:#fff6;margin-left:.1rem}.footer-copyright{font-size:.75rem;color:#fff6}.footer-address{text-align:center;color:#ffffff80;font-size:.8rem}.footer-contact{text-align:right}.footer-contact a{color:#6cb4d9;text-decoration:none;transition:color .2s}.footer-contact a:hover{color:#82c8e8;text-decoration:underline}.footer-contact-label{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:#ffffff59;margin-bottom:.15rem}.footer-legal-link{color:#ffffff73;text-decoration:none;font-size:.75rem;transition:color .2s}.footer-legal-link:hover{color:#ffffffb3}.footer-dot{color:#ffffff40;margin:0 .4rem}@media(max-width:768px){.site-footer{padding:1.5rem 1rem}.footer-container{flex-direction:column;text-align:center;gap:1rem}.footer-brand{align-items:center}.footer-address,.footer-contact{text-align:center}}.enforcement-banner{width:100%;padding:12px 20px;display:flex;justify-content:center;align-items:center;z-index:100}.enforcement-banner__content{max-width:1200px;display:flex;flex-direction:column;gap:4px;text-align:center}@media(min-width:768px){.enforcement-banner__content{flex-direction:row;gap:12px}}.enforcement-banner__title{font-weight:600}.enforcement-banner__message{opacity:.95}.enforcement-banner--warning{background:linear-gradient(135deg,#fef3cd,#fff3cd);border-bottom:2px solid #f0ad4e;color:#856404}.enforcement-banner--limited{background:linear-gradient(135deg,#ffe5d0,#ffd6b3);border-bottom:2px solid #fd7e14;color:#8a4100}.enforcement-banner--suspended{background:linear-gradient(135deg,#f8d7da,#f5c6cb);border-bottom:2px solid #dc3545;color:#721c24}.error-boundary{display:flex;align-items:center;justify-content:center;min-height:100vh;padding:2rem;background:var(--bg-primary, #0a0a0f);color:var(--text-primary, #f0f0f5)}.error-boundary__card{max-width:440px;width:100%;text-align:center;padding:2.5rem 2rem;border-radius:16px;background:var(--bg-card, rgba(255, 255, 255, .04));border:1px solid var(--border-color, rgba(255, 255, 255, .08));box-shadow:0 8px 32px #0000004d}.error-boundary__icon{font-size:3rem;margin-bottom:1rem}.error-boundary__title{font-size:1.5rem;font-weight:700;margin:0 0 .75rem;color:var(--text-primary, #f0f0f5)}.error-boundary__message{font-size:.95rem;line-height:1.6;color:var(--text-secondary, #a0a0b0);margin:0 0 1.5rem}.error-boundary__details{text-align:left;margin-bottom:1.5rem;padding:.75rem;border-radius:8px;background:#ffffff08;border:1px solid rgba(255,255,255,.06);font-size:.75rem;color:var(--text-secondary, #a0a0b0)}.error-boundary__details summary{cursor:pointer;font-weight:600;margin-bottom:.5rem}.error-boundary__details pre{white-space:pre-wrap;word-break:break-word;margin:.5rem 0 0;max-height:200px;overflow-y:auto}.error-boundary__actions{display:flex;gap:.75rem;justify-content:center}.error-boundary__btn{padding:.7rem 1.5rem;border-radius:10px;font-size:.9rem;font-weight:600;cursor:pointer;border:none;transition:all .2s ease}.error-boundary__btn--primary{background:var(--accent-primary, #6366f1);color:#fff}.error-boundary__btn--primary:hover{background:var(--accent-hover, #5558e6);transform:translateY(-1px)}.error-boundary__btn--secondary{background:transparent;color:var(--text-secondary, #a0a0b0);border:1px solid var(--border-color, rgba(255, 255, 255, .12))}.error-boundary__btn--secondary:hover{background:#ffffff0a;color:var(--text-primary, #f0f0f5)}.install-prompt{position:fixed;bottom:0;left:0;right:0;background:var(--color-bg-secondary);border-top:1px solid var(--color-border);padding:var(--space-4);display:flex;justify-content:space-between;align-items:center;gap:var(--space-4);z-index:1000;animation:slideUp .3s ease-out;box-shadow:0 -4px 20px #0000004d}@keyframes slideUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}.install-prompt-content{display:flex;align-items:center;gap:var(--space-3)}.install-icon{font-size:2rem}.install-text{display:flex;flex-direction:column;gap:var(--space-1)}.install-text strong{font-size:var(--font-size-base);color:var(--color-text-primary)}.install-text span{font-size:var(--font-size-sm);color:var(--color-text-muted)}.install-actions{display:flex;align-items:center;gap:var(--space-3)}.install-dismiss{background:none;border:none;color:var(--color-text-secondary);font-size:var(--font-size-sm);cursor:pointer;padding:var(--space-2)}.install-dismiss:hover{color:var(--color-text-primary)}@media(max-width:480px){.install-prompt{flex-direction:column;text-align:center}.install-prompt-content{flex-direction:column}.install-actions{width:100%;justify-content:center}}:root{--color-bg-primary: #ffffff;--color-bg-secondary: #f8fafc;--color-bg-tertiary: #f1f5f9;--color-bg-glass: rgba(0, 0, 0, .02);--color-bg-glass-hover: rgba(0, 0, 0, .04);--color-surface-secondary: #f8fafc;--color-surface-overlay: rgba(0, 0, 0, .04);--color-primary: #6CB4D9;--color-primary-hover: #5BA3C8;--color-primary-muted: rgba(108, 180, 217, .12);--color-secondary: #82C8E8;--color-secondary-hover: #6FBAD8;--color-success: #10b981;--color-warning: #f59e0b;--color-error: #ef4444;--color-info: #3b82f6;--color-text-primary: #1e293b;--color-text-secondary: #475569;--color-text-muted: #94a3b8;--text-primary: var(--color-text-primary);--text-secondary: var(--color-text-secondary);--text-tertiary: var(--color-text-muted);--color-border: rgba(0, 0, 0, .08);--color-border-hover: rgba(0, 0, 0, .15);--gradient-primary: linear-gradient(135deg, #6CB4D9 0%, #82C8E8 100%);--gradient-card: linear-gradient(145deg, rgba(255, 255, 255, .8) 0%, rgba(248, 250, 252, .9) 100%);--font-family: "Inter", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-size-xs: .75rem;--font-size-sm: .875rem;--font-size-base: 1rem;--font-size-lg: 1.125rem;--font-size-xl: 1.25rem;--font-size-2xl: 1.5rem;--font-size-3xl: 2rem;--font-size-4xl: 2.5rem;--space-1: .25rem;--space-2: .5rem;--space-3: .75rem;--space-4: 1rem;--space-5: 1.25rem;--space-6: 1.5rem;--space-8: 2rem;--space-10: 2.5rem;--space-12: 3rem;--space-16: 4rem;--radius-sm: .375rem;--radius-md: .5rem;--radius-lg: .75rem;--radius-xl: 1rem;--radius-2xl: 1.5rem;--radius-full: 9999px;--shadow-sm: 0 1px 2px rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px rgba(0, 0, 0, .07);--shadow-lg: 0 10px 15px rgba(0, 0, 0, .1);--shadow-xl: 0 20px 25px rgba(0, 0, 0, .12);--shadow-glow: 0 0 20px rgba(108, 180, 217, .25);--transition-fast: .15s ease;--transition-base: .2s ease;--transition-slow: .3s ease}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;overflow-x:hidden;max-width:100vw}body{font-family:var(--font-family);font-size:var(--font-size-base);line-height:1.6;color:var(--color-text-primary);background:var(--color-bg-primary);min-height:100vh;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;overflow-x:hidden;overflow-x:clip;max-width:100vw;position:relative}#root{min-height:100vh;display:flex;flex-direction:column;overflow-x:hidden;overflow-x:clip;max-width:100vw;position:relative}h1,h2,h3,h4,h5,h6{font-weight:600;line-height:1.3;color:var(--color-text-primary)}h1{font-size:var(--font-size-4xl)}h2{font-size:var(--font-size-3xl)}h3{font-size:var(--font-size-2xl)}h4{font-size:var(--font-size-xl)}h5{font-size:var(--font-size-lg)}h6{font-size:var(--font-size-base)}p{color:var(--color-text-secondary);margin-bottom:var(--space-4)}a{color:var(--color-primary);text-decoration:none;transition:color var(--transition-fast)}a:hover{color:var(--color-primary-hover)}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 var(--space-4)}.text-center{text-align:center}.text-muted{color:var(--color-text-muted)}.text-success{color:var(--color-success)}.text-warning{color:var(--color-warning)}.text-error{color:var(--color-error)}.glass-card{background:var(--gradient-card);backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-6);transition:all var(--transition-base)}.glass-card:hover{border-color:var(--color-border-hover);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.page{flex:1;padding:var(--space-8) var(--space-4)}.page-header{margin-bottom:var(--space-8)}.page-title{font-size:var(--font-size-3xl);font-weight:700;margin-bottom:var(--space-2);background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.page-subtitle{color:var(--color-text-secondary);font-size:var(--font-size-lg)}.grid{display:grid;gap:var(--space-6)}.grid-2{grid-template-columns:repeat(2,1fr)}.grid-3{grid-template-columns:repeat(3,1fr)}.grid-4{grid-template-columns:repeat(4,1fr)}@media(max-width:768px){h1{font-size:var(--font-size-2xl)}h2{font-size:var(--font-size-xl)}h3{font-size:var(--font-size-lg)}.page{padding:var(--space-4) var(--space-3)}.page-header{margin-bottom:var(--space-5)}.page-title{font-size:var(--font-size-2xl)}.page-subtitle{font-size:var(--font-size-base)}.glass-card{padding:var(--space-4);border-radius:var(--radius-lg)}.grid-2,.grid-3,.grid-4{grid-template-columns:1fr}.container{padding:0 var(--space-3)}}@media(max-width:380px){html{font-size:14px}.page{padding:var(--space-3) var(--space-2)}.page-title{font-size:var(--font-size-xl)}.glass-card{padding:var(--space-3)}}.flex{display:flex}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-2{gap:var(--space-2)}.gap-4{gap:var(--space-4)}.gap-6{gap:var(--space-6)}.m-0{margin:0}.mt-6{margin-top:var(--space-6)}.mt-8{margin-top:var(--space-8)}.mb-4{margin-bottom:var(--space-4)}.mb-6{margin-bottom:var(--space-6)}.p-4{padding:var(--space-4)}.p-6{padding:var(--space-6)}.badge{display:inline-flex;align-items:center;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;letter-spacing:.05em}.badge-open{background:var(--color-primary-muted);color:var(--color-primary)}.badge-awarded{background:#6366f126;color:var(--color-secondary)}.badge-in-progress{background:#3b82f626;color:var(--color-info)}.badge-completed{background:#10b98126;color:var(--color-success)}.badge-closed{background:#71717a26;color:var(--color-text-muted)}.badge-expired{background:#ef444426;color:var(--color-error)}.loading-spinner{width:40px;height:40px;border:3px solid var(--color-border);border-top-color:var(--color-primary);border-radius:50%;animation:spin 1s linear infinite}.loading-container{display:flex;align-items:center;justify-content:center;min-height:200px}.empty-state{text-align:center;padding:var(--space-12);color:var(--color-text-muted)}.empty-state-icon{font-size:3rem;margin-bottom:var(--space-4);opacity:.5}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.animate-fade-in{animation:fadeIn .3s ease forwards}.animate-pulse{animation:pulse 2s ease-in-out infinite}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--color-bg-secondary)}::-webkit-scrollbar-thumb{background:var(--color-border);border-radius:var(--radius-full)}::-webkit-scrollbar-thumb:hover{background:var(--color-border-hover)}.input-wrapper{display:flex;flex-direction:column;gap:var(--space-2)}.input-full{width:100%}.input-label{font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-secondary)}.input{padding:var(--space-3) var(--space-4);background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-lg);color:var(--color-text-primary);font-family:var(--font-family);font-size:var(--font-size-base);transition:all var(--transition-fast);width:100%}.input::placeholder{color:var(--color-text-muted)}.input:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-muted)}.input:disabled{opacity:.5;cursor:not-allowed}.input.input-error{border-color:var(--color-error)}.input.input-error:focus{box-shadow:0 0 0 3px #ef444426}.textarea{resize:vertical;min-height:100px}.select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23a1a1aa' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right var(--space-3) center;background-size:18px;padding-right:var(--space-10)}.input-error-text{font-size:var(--font-size-sm);color:var(--color-error)}.input-helper{font-size:var(--font-size-sm);color:var(--color-text-muted)}.card{background:var(--gradient-card);border:1px solid var(--color-border);border-radius:var(--radius-xl);transition:all var(--transition-base)}.card-hover:hover{border-color:var(--color-border-hover);transform:translateY(-2px);box-shadow:var(--shadow-lg)}.card-clickable{cursor:pointer}.card-padding-none{padding:0}.card-padding-sm{padding:var(--space-4)}.card-padding-md{padding:var(--space-6)}.card-padding-lg{padding:var(--space-8)}.card-header{padding-bottom:var(--space-4);border-bottom:1px solid var(--color-border);margin-bottom:var(--space-4)}.card-body{flex:1}.card-footer{padding-top:var(--space-4);border-top:1px solid var(--color-border);margin-top:var(--space-4);display:flex;gap:var(--space-3);justify-content:flex-end}.auth-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--space-4);background:radial-gradient(circle at 20% 20%,rgba(0,212,170,.1) 0%,transparent 50%),radial-gradient(circle at 80% 80%,rgba(99,102,241,.1) 0%,transparent 50%),var(--color-bg-primary)}.auth-container{width:100%;max-width:420px}.auth-header{text-align:center;margin-bottom:var(--space-8)}.auth-logo{width:64px;height:64px;margin:0 auto var(--space-4);background:var(--gradient-primary);border-radius:var(--radius-xl);display:flex;align-items:center;justify-content:center;font-size:2rem;box-shadow:var(--shadow-glow)}.auth-title{font-size:var(--font-size-3xl);margin-bottom:var(--space-2)}.auth-subtitle{color:var(--color-text-secondary);margin:0}.auth-card{padding:var(--space-8)}.auth-form{display:flex;flex-direction:column;gap:var(--space-5)}.auth-error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:var(--color-error);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-sm)}.auth-success{background:#10b9811a;border:1px solid rgba(16,185,129,.3);color:var(--color-success);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-sm)}.forgot-password-link{background:none;border:none;color:var(--color-primary);font-size:var(--font-size-sm);cursor:pointer;text-align:right;padding:0;margin-top:calc(var(--space-2) * -1)}.forgot-password-link:hover{text-decoration:underline}.auth-footer{text-align:center;margin-top:var(--space-6);color:var(--color-text-secondary)}.role-selection{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}.role-option{position:relative;cursor:pointer}.role-option input{position:absolute;opacity:0;width:100%;height:100%;cursor:pointer}.role-card{padding:var(--space-5);background:var(--color-bg-tertiary);border:2px solid var(--color-border);border-radius:var(--radius-lg);text-align:center;transition:all var(--transition-fast)}.role-option input:checked+.role-card{border-color:var(--color-primary);background:var(--color-primary-muted)}.role-option:hover .role-card{border-color:var(--color-border-hover)}.role-icon{font-size:2rem;margin-bottom:var(--space-2)}.role-title{font-weight:600;color:var(--color-text-primary);margin-bottom:var(--space-1)}.role-desc{font-size:var(--font-size-xs);color:var(--color-text-muted);margin:0}.profile-message{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);margin-bottom:var(--space-6);font-size:var(--font-size-sm)}.profile-message.success{background:#10b9811a;border:1px solid rgba(16,185,129,.3);color:var(--color-success)}.profile-message.error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:var(--color-error)}.profile-header{display:flex;align-items:center;gap:var(--space-4)}.profile-avatar{width:72px;height:72px;border-radius:var(--radius-full);background:var(--gradient-primary);display:flex;align-items:center;justify-content:center;font-size:var(--font-size-2xl);font-weight:700;color:var(--color-bg-primary)}.profile-info{display:flex;flex-direction:column;gap:var(--space-2)}.profile-name{font-size:var(--font-size-xl);margin:0}.profile-form,.profile-details{display:flex;flex-direction:column;gap:var(--space-4)}.profile-row{display:flex;justify-content:space-between;align-items:center;padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border)}.profile-row:last-child{border-bottom:none;padding-bottom:0}.profile-label{color:var(--color-text-muted);font-size:var(--font-size-sm)}.profile-value{color:var(--color-text-primary);font-weight:500}.public-profile{min-height:100vh;background:var(--bg-secondary)}.public-profile-not-found{text-align:center;padding:4rem 2rem}.public-profile-not-found h2{margin-bottom:1rem;color:var(--text-primary)}.public-profile-not-found p{color:var(--text-secondary);margin-bottom:2rem}.public-profile .hero-banner{height:200px;background:linear-gradient(135deg,var(--primary-color) 0%,var(--primary-dark) 100%);background-size:cover;background-position:center;position:relative}.public-profile .hero-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,#0000004d,#0009)}.public-profile .hero-content{position:absolute;bottom:-50px;left:50%;transform:translate(-50%);z-index:10}.public-profile .profile-avatar,.public-profile .property-avatar{width:100px;height:100px;border-radius:50%;background:var(--primary-color);display:flex;align-items:center;justify-content:center;font-size:2.5rem;font-weight:700;color:#fff;border:4px solid var(--bg-primary);box-shadow:0 4px 12px #00000026;overflow:hidden}.public-profile .property-avatar img{width:100%;height:100%;object-fit:cover}.public-profile .contractor-avatar{background:linear-gradient(135deg,#6366f1,#8b5cf6)}.public-profile .profile-header{background:var(--bg-primary);padding-top:60px;padding-bottom:0;border-bottom:1px solid var(--border-color)}.public-profile .profile-header-content{max-width:1000px;margin:0 auto;padding:0 1.5rem;display:flex;justify-content:space-between;align-items:flex-start;flex-wrap:wrap;gap:1rem}.public-profile .profile-info{text-align:center;flex:1}.public-profile .profile-name,.public-profile .property-address{font-size:1.75rem;font-weight:700;margin-bottom:.5rem;color:var(--text-primary)}.public-profile .property-details{color:var(--text-secondary);margin-bottom:.75rem}.public-profile .profile-trades{display:flex;flex-wrap:wrap;gap:.5rem;justify-content:center;margin-bottom:.75rem}.public-profile .trade-badge{background:var(--bg-tertiary);padding:.25rem .75rem;border-radius:20px;font-size:.85rem;color:var(--text-secondary)}.public-profile .profile-stats{display:flex;flex-wrap:wrap;gap:1rem;justify-content:center;font-size:.9rem;color:var(--text-secondary)}.public-profile .profile-actions{display:flex;gap:.75rem;align-items:center}.public-profile .skinny-badge{background:var(--bg-tertiary);padding:.5rem 1rem;border-radius:8px;font-size:.85rem;color:var(--text-secondary);border:1px dashed var(--border-color)}.public-profile .profile-tabs{max-width:1000px;margin:1.5rem auto 0;padding:0 1.5rem;display:flex;gap:0;border-bottom:2px solid var(--border-color)}.public-profile .profile-tab{padding:.75rem 1.5rem;background:none;border:none;font-size:1rem;color:var(--text-secondary);cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-2px;transition:all .2s}.public-profile .profile-tab:hover{color:var(--text-primary)}.public-profile .profile-tab.active{color:var(--primary-color);border-bottom-color:var(--primary-color);font-weight:600}.public-profile .profile-content{max-width:1000px;margin:2rem auto;padding:0 1.5rem;display:grid;grid-template-columns:300px 1fr;gap:1.5rem}@media(max-width:768px){.public-profile .profile-content{grid-template-columns:1fr}}.public-profile .profile-sidebar{display:flex;flex-direction:column;gap:1rem}.public-profile .sidebar-card{padding:1.25rem}.public-profile .sidebar-card h3{font-size:1rem;margin-bottom:1rem;color:var(--text-primary)}.public-profile .detail-list{display:flex;flex-direction:column;gap:.75rem}.public-profile .detail-item{display:flex;justify-content:space-between;font-size:.9rem}.public-profile .detail-item.locked{opacity:.7}.public-profile .detail-label{color:var(--text-secondary)}.public-profile .detail-value{color:var(--text-primary);font-weight:500}.public-profile .detail-value.verified{color:var(--success-color)}.public-profile .photo-preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.5rem}.public-profile .photo-preview-item{aspect-ratio:1;border-radius:8px;overflow:hidden;cursor:pointer}.public-profile .photo-preview-item img{width:100%;height:100%;object-fit:cover;transition:transform .2s}.public-profile .photo-preview-item:hover img{transform:scale(1.05)}.public-profile .see-all-link{background:none;border:none;color:var(--primary-color);font-size:.9rem;cursor:pointer;margin-top:.75rem;padding:0}.public-profile .see-all-link:hover{text-decoration:underline}.public-profile .profile-main{min-height:400px}.public-profile .section-title{font-size:1.25rem;margin-bottom:1rem;color:var(--text-primary)}.public-profile .portfolio-feed{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:1rem}.public-profile .portfolio-card{padding:0;overflow:hidden}.public-profile .portfolio-image{aspect-ratio:4/3;cursor:pointer}.public-profile .portfolio-image img{width:100%;height:100%;object-fit:cover}.public-profile .portfolio-card-footer{padding:.75rem;display:flex;justify-content:space-between;align-items:center}.public-profile .portfolio-date{font-size:.85rem;color:var(--text-secondary)}.public-profile .property-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.public-profile .gallery-item{position:relative;aspect-ratio:4/3;border-radius:8px;overflow:hidden;cursor:pointer}.public-profile .gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .2s}.public-profile .gallery-item:hover img{transform:scale(1.05)}.public-profile .gallery-category{position:absolute;bottom:.5rem;left:.5rem;background:#000000b3;color:#fff;padding:.25rem .5rem;border-radius:4px;font-size:.75rem;text-transform:capitalize}.public-profile .photo-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:.75rem}.public-profile .photo-gallery-item{position:relative;aspect-ratio:1;border-radius:8px;overflow:hidden;cursor:pointer}.public-profile .photo-gallery-item img{width:100%;height:100%;object-fit:cover;transition:transform .2s}.public-profile .photo-gallery-item:hover img{transform:scale(1.05)}.public-profile .photo-overlay{position:absolute;bottom:0;left:0;right:0;padding:.5rem;background:linear-gradient(transparent,#000000b3)}.public-profile .photo-category-badge{color:#fff;font-size:.75rem;text-transform:capitalize}.public-profile .empty-feed,.public-profile .empty-photos{text-align:center;padding:3rem 2rem;color:var(--text-secondary)}.public-profile .empty-icon{font-size:3rem;margin-bottom:1rem}.public-profile .empty-feed h3{color:var(--text-primary);margin-bottom:.5rem}.public-profile .photo-lightbox{position:fixed;inset:0;background:#000000f2;display:flex;align-items:center;justify-content:center;z-index:1000;cursor:pointer}.public-profile .photo-lightbox img{max-width:90vw;max-height:90vh;object-fit:contain;border-radius:8px}.public-profile .lightbox-close{position:absolute;top:1rem;right:1rem;background:#ffffff1a;border:none;color:#fff;font-size:1.5rem;width:40px;height:40px;border-radius:50%;cursor:pointer;transition:background .2s}.public-profile .lightbox-close:hover{background:#fff3}.public-profile .lightbox-caption{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);background:#000000b3;color:#fff;padding:.5rem 1rem;border-radius:4px;font-size:.9rem;text-transform:capitalize}.terms-page{min-height:100vh;background:linear-gradient(180deg,#f8f9fa,#fff);padding:40px 20px 80px}.terms-container{max-width:800px;margin:0 auto;background:#fff;border-radius:16px;padding:48px;box-shadow:0 4px 20px #00000014}.terms-container h1{font-size:32px;color:#1a1a2e;margin:0 0 8px;text-align:center}.last-updated{text-align:center;color:#888;font-size:14px;margin-bottom:40px}.terms-section{margin-bottom:32px;padding-bottom:24px;border-bottom:1px solid #eee}.terms-section:last-of-type{border-bottom:none}.terms-section h2{font-size:20px;color:#1a1a2e;margin:0 0 16px}.terms-section p{color:#555;line-height:1.7;margin:0 0 12px}.terms-section ul{color:#555;line-height:1.7;margin:12px 0;padding-left:24px}.terms-section li{margin-bottom:8px}.terms-section.highlight{background:linear-gradient(135deg,#f0f7ff,#f8fbff);border:2px solid #d0e4ff;border-radius:16px;padding:28px;margin:40px 0}.terms-section.highlight h2{color:#0052a3}.policy-box{background:#fff;border-radius:12px;padding:24px;margin-top:20px;box-shadow:0 2px 8px #0000000f}.policy-box h3{font-size:18px;color:#1a1a2e;margin:0 0 12px}.policy-box h4{font-size:15px;color:#333;margin:20px 0 10px;padding-top:16px;border-top:1px solid #eee}.policy-box h4:first-of-type{border-top:none;padding-top:0}.policy-box p{color:#555;font-size:14px;line-height:1.7}.policy-box ul{color:#555;font-size:14px;line-height:1.8;padding-left:20px;margin:12px 0}.policy-box li{margin-bottom:6px}.policy-box strong{color:#1a1a2e}.tos-rate-table{width:100%;border-collapse:collapse;margin:16px 0;font-size:14px}.tos-rate-table th{background:#0052a3;color:#fff;padding:10px 16px;text-align:left;font-weight:600}.tos-rate-table th:last-child{text-align:center}.tos-rate-table td{padding:10px 16px;border-bottom:1px solid #eee;color:#333}.tos-rate-table td:last-child{text-align:center;font-weight:600;color:#0052a3}.tos-rate-table tbody tr:hover{background:#f0f7ff}.trust-commitment{background:#e8f5e9;border-left:4px solid #2e7d32;padding:14px 18px;border-radius:0 8px 8px 0;margin:12px 0;font-size:14px}.refund-formula{background:#fff3e0;border-left:4px solid #e65100;padding:14px 18px;border-radius:0 8px 8px 0;margin:12px 0;font-size:14px;text-align:center}.terms-section a{color:#06c;text-decoration:none}.terms-section a:hover{text-decoration:underline}.terms-footer{text-align:center;padding-top:32px;margin-top:32px;border-top:1px solid #eee}.terms-footer p{color:#888;font-size:13px;margin:0}@media(max-width:600px){.terms-container{padding:24px;border-radius:0}.terms-container h1{font-size:26px}.terms-section h2{font-size:18px}.terms-section.highlight{padding:20px;margin:24px -24px;border-radius:0;border-left:none;border-right:none}.policy-box{padding:16px}}.banned-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#1a1a2e,#16213e,#0f0f23);padding:20px}.banned-page__container{text-align:center;max-width:480px;padding:48px 32px;background:#ffffff0d;border-radius:16px;border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.banned-page__icon{font-size:64px;margin-bottom:24px}.banned-page__title{font-size:28px;font-weight:700;color:#fff;margin:0 0 16px}.banned-page__message{font-size:16px;color:#ffffffb3;line-height:1.6;margin:0 0 32px}.banned-page__support-link{display:inline-block;padding:12px 24px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:8px;color:#fff;text-decoration:none;font-weight:500;transition:all .2s ease}.banned-page__support-link:hover{background:#ffffff26;border-color:#ffffff4d}.landing-page{min-height:100vh;background:#0f1923;color:#fff;display:flex;flex-direction:column}.landing-hero{position:relative;min-height:80vh;display:flex;flex-direction:column;justify-content:center;padding:2rem;overflow:hidden}.landing-hero:before{content:"";position:absolute;inset:0;background-image:url(/landing-hero.png?v=5);background-size:cover;background-position:center;background-repeat:no-repeat;opacity:.7;z-index:0}.landing-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,#0f192326,#0f19234d 50%,#0f1923d9 85%,#0f1923);z-index:1}.landing-content{position:relative;z-index:2;max-width:580px;margin:0 auto;width:100%}.landing-headline{font-size:2.75rem;font-weight:700;line-height:1.1;margin-bottom:.6rem;letter-spacing:-.02em;color:#fff;text-align:center}.landing-subline{font-size:.95rem;color:#ffffff8c;margin-bottom:1.75rem;text-align:center;line-height:1.5}.landing-ai-panel{background:#0f1928e6;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border-radius:14px;padding:1rem 1.15rem;border:1px solid rgba(108,180,217,.2);box-shadow:0 0 40px #6cb4d90f}.ai-panel-header{display:flex;align-items:center;gap:.65rem;margin-bottom:.85rem;padding-bottom:.65rem;border-bottom:1px solid rgba(255,255,255,.06)}.ai-panel-logo{font-weight:600;font-size:.8rem;color:#fff9;white-space:nowrap;flex-shrink:0}.ai-panel-search{flex:1;display:flex;align-items:center;gap:.5rem;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:.45rem .65rem}.ai-panel-search svg{color:#ffffff4d;flex-shrink:0}.ai-panel-search input{flex:1;background:transparent;border:none;color:#fff;font-size:.85rem;outline:none}.ai-panel-search input::placeholder{color:#ffffff4d}.ai-preview-conversation{display:flex;flex-direction:column;gap:.45rem;padding:.25rem 0}.ai-bubble{max-width:78%;padding:.45rem .7rem;border-radius:10px;font-size:.78rem;line-height:1.4}.ai-bubble-assistant{align-self:flex-start;background:#1e3246b3;color:#fffc;border-bottom-left-radius:4px}.ai-bubble-user{align-self:flex-end;background:#6cb4d933;color:#82c8e8e6;border-bottom-right-radius:4px}.ai-preview-chips-row{display:flex;gap:.35rem;flex-wrap:wrap;padding:.1rem 0}.ai-preview-chip{padding:.25rem .55rem;border-radius:6px;font-size:.72rem;background:#1e324680;border:1px solid rgba(255,255,255,.1);color:#fff9}.ai-preview-chip-selected{background:#6cb4d926;border-color:#6cb4d966;color:#82c8e8}.ai-preview-estimate{background:#6cb4d90f;border:1px solid rgba(108,180,217,.15);border-radius:10px;padding:.55rem .75rem;margin-top:.2rem;text-align:right}.ai-preview-estimate-label{font-size:.65rem;color:#fff6;margin-bottom:.1rem;text-transform:uppercase;letter-spacing:.03em}.ai-preview-estimate-price{font-size:1.2rem;font-weight:700;color:#fff;letter-spacing:-.01em}.ai-preview-estimate-note{font-size:.65rem;color:#6cb4d9b3;margin-top:.05rem}.landing-entry-row{display:flex;align-items:center;justify-content:center;gap:.75rem;margin-top:.85rem}.landing-entry-location{display:flex;align-items:center;gap:.4rem;background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:.45rem .65rem}.landing-entry-location svg{color:#ffffff59;flex-shrink:0}.landing-entry-location input{background:transparent;border:none;color:#ffffffd9;font-size:.85rem;width:100px;outline:none}.landing-entry-location input::placeholder{color:#ffffff4d}.landing-cta{background:linear-gradient(135deg,#6cb4d9,#5ba3c8);color:#fff;border:none;padding:.5rem 1.25rem;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:opacity .2s ease,transform .1s ease;white-space:nowrap}.landing-cta:hover{opacity:.9;transform:translateY(-1px)}.landing-cta:active{transform:translateY(0)}.landing-contractor-link{text-align:center;margin-top:.85rem;font-size:.8rem}.landing-contractor-link a{color:#fff6;text-decoration:none;transition:color .2s ease}.landing-contractor-link a:hover{color:#ffffffb3;text-decoration:underline}.landing-categories{background:#0f1923;padding:2.5rem 2rem 3rem;max-width:100%;width:100%}.landing-categories-title{font-size:1.2rem;font-weight:600;margin-bottom:1.25rem;color:#fff;text-align:center}.landing-categories-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.75rem;max-width:700px;margin:0 auto}.landing-category-tile{background:#14233799;border:1px solid rgba(108,180,217,.1);border-radius:10px;padding:.85rem 1rem;display:flex;align-items:center;gap:.65rem;cursor:pointer;transition:all .2s ease;text-decoration:none;color:#fff}.landing-category-tile:hover{background:#192d41b3;border-color:#6cb4d94d;transform:translateY(-1px)}.landing-category-icon{width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:1.1rem;background:#6cb4d91a;border-radius:7px;flex-shrink:0}.landing-category-name{font-size:.9rem;font-weight:500}@media(max-width:600px){.landing-headline{font-size:2rem}.landing-subline{font-size:.85rem}.landing-categories-grid{grid-template-columns:repeat(2,1fr)}.landing-entry-row{flex-direction:column;align-items:stretch}.landing-cta{width:100%;text-align:center}.ai-panel-header{flex-direction:column;align-items:stretch}}@media(min-width:768px){.landing-hero{padding:4rem}.landing-headline{font-size:3.25rem}}.dashboard-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-8);flex-wrap:wrap;gap:var(--space-4)}.stats-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:var(--space-4);margin-bottom:var(--space-8)}@media(max-width:768px){.stats-grid{grid-template-columns:repeat(2,1fr)}}.stat-card{text-align:center}.stat-value{font-size:var(--font-size-3xl);font-weight:700;color:var(--color-text-primary);margin-bottom:var(--space-1)}.stat-label{font-size:var(--font-size-sm);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.filter-tabs{display:flex;gap:var(--space-2);margin-bottom:var(--space-6);overflow-x:auto;padding-bottom:var(--space-2)}.filter-tab{padding:var(--space-2) var(--space-4);background:transparent;border:1px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-text-secondary);font-family:var(--font-family);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast);white-space:nowrap}.filter-tab:hover{border-color:var(--color-border-hover);color:var(--color-text-primary)}.filter-tab.active{background:var(--color-primary-muted);border-color:var(--color-primary);color:var(--color-primary)}.jobs-list{display:flex;flex-direction:column;gap:var(--space-4)}.job-card-link{text-decoration:none;color:inherit}.job-card{transition:all var(--transition-base)}.job-card:hover{border-color:var(--color-primary)}.job-card-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4);margin-bottom:var(--space-2)}.job-title{font-size:var(--font-size-lg);font-weight:600;margin:0;color:var(--color-text-primary)}.job-category{font-size:var(--font-size-sm);color:var(--color-primary);margin:0 0 var(--space-2)}.job-description{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin:0 0 var(--space-4);line-height:1.5}.job-meta{display:flex;gap:var(--space-4);flex-wrap:wrap;font-size:var(--font-size-sm);color:var(--color-text-muted)}.home-profile{min-height:100vh;background:var(--color-surface);overflow-x:hidden;max-width:100vw}.hero-banner{position:relative;height:300px;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-secondary) 100%);background-size:cover;background-position:center}.property-avatar{width:120px;height:120px;background:var(--color-surface);border:4px solid var(--color-surface);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:3rem;overflow:hidden;box-shadow:0 4px 20px #0003}.property-avatar img{width:100%;height:100%;object-fit:cover}.profile-header-content{max-width:1000px;margin:0 auto;padding:var(--space-4) var(--space-4) var(--space-4);display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4);flex-wrap:wrap;min-width:0}.profile-info{text-align:center;flex:1 1 0;min-width:0}.property-address{font-size:var(--font-size-2xl);font-weight:700;color:var(--text-primary);margin:0 0 var(--space-2)}.property-details{color:var(--text-secondary);font-size:var(--font-size-base);margin:0 0 var(--space-3)}.profile-actions{display:flex;gap:var(--space-2);min-width:0;flex-shrink:0}.profile-content{max-width:1000px;margin:0 auto;padding:var(--space-4);display:grid;grid-template-columns:300px 1fr;gap:var(--space-4);min-width:0}.detail-value{color:var(--text-primary);font-weight:500;text-transform:capitalize}.photo-preview-item img{width:100%;height:100%;object-fit:cover}.section-title{font-size:var(--font-size-lg);font-weight:600;margin:0 0 var(--space-4);color:var(--text-primary)}.section-header .section-title{margin:0}.bid-feed{display:flex;flex-direction:column;gap:var(--space-3)}.bid-card{padding:var(--space-4)}.bid-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-3)}.bid-contractor{display:flex;gap:var(--space-3);align-items:center}.contractor-avatar{width:40px;height:40px;border-radius:50%;background:var(--color-primary);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:600;font-size:var(--font-size-base)}.contractor-name{display:block;font-weight:600;color:var(--text-primary)}.bid-job-title{display:block;font-size:var(--font-size-sm);color:var(--text-secondary)}.bid-amount{font-size:var(--font-size-xl);font-weight:700;color:var(--color-success)}.bid-message{color:var(--text-secondary);font-size:var(--font-size-sm);margin:0 0 var(--space-3);line-height:1.5}.bid-category{font-size:var(--font-size-xs);color:var(--text-tertiary);background:var(--color-surface-secondary);padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm)}.job-feed{display:flex;flex-direction:column;gap:var(--space-3)}.job-feed a{text-decoration:none}.job-feed-card{padding:var(--space-4);transition:transform .2s ease}.job-feed-card:hover{transform:translateY(-2px)}.job-feed-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-2)}.job-feed-header h3{margin:0;font-size:var(--font-size-base);color:var(--text-primary)}.job-feed-desc{color:var(--text-secondary);font-size:var(--font-size-sm);margin:0 0 var(--space-3)}.job-feed-meta{display:flex;gap:var(--space-4);font-size:var(--font-size-sm);color:var(--text-tertiary)}.property-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:var(--space-3)}.gallery-item{position:relative;aspect-ratio:4/3;border-radius:var(--radius-lg);overflow:hidden;cursor:pointer;transition:transform .2s ease}.gallery-category{position:absolute;bottom:var(--space-2);left:var(--space-2);background:#000000b3;color:#fff;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:var(--font-size-xs);text-transform:capitalize}.photo-gallery-item img{width:100%;height:100%;object-fit:cover}.photo-overlay{position:absolute;inset:0;background:linear-gradient(to top,rgba(0,0,0,.5) 0%,transparent 50%);opacity:0;transition:opacity .2s ease}.photo-gallery-item:hover .photo-overlay{opacity:1}.photo-category-badge{position:absolute;bottom:var(--space-2);left:var(--space-2);color:#fff;font-size:var(--font-size-xs);text-transform:capitalize}.jobs-list{display:flex;flex-direction:column;gap:var(--space-3)}.jobs-list a{text-decoration:none}.job-list-card{padding:var(--space-4);transition:transform .2s ease}.job-list-card:hover{transform:translateY(-2px)}.job-list-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-2)}.job-list-header h3{margin:0;font-size:var(--font-size-base);color:var(--text-primary)}.job-category{color:var(--text-secondary);font-size:var(--font-size-sm);margin:0 0 var(--space-2)}.job-list-meta{display:flex;gap:var(--space-4);font-size:var(--font-size-sm);color:var(--text-tertiary)}.empty-feed,.empty-photos,.empty-jobs{text-align:center;padding:var(--space-8);color:var(--text-secondary)}.empty-actions{display:flex;gap:var(--space-3);justify-content:center}.photo-lightbox img{max-width:90%;max-height:85vh;object-fit:contain;border-radius:var(--radius-lg)}.lightbox-caption{position:absolute;bottom:var(--space-4);left:50%;transform:translate(-50%);color:#fff;background:#00000080;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);text-transform:capitalize}.badge{display:inline-block;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:600;text-transform:capitalize}.badge-open{background:var(--color-success-100);color:var(--color-success-700)}.badge-awarded{background:var(--color-info-100, #dbeafe);color:var(--color-info-700, #1d4ed8)}.badge-in_progress{background:var(--color-warning-100, #fef3c7);color:var(--color-warning-700, #b45309)}.badge-completed{background:var(--color-secondary-100, #f3e8ff);color:var(--color-secondary-700, #7c3aed)}.badge-closed,.badge-expired{background:var(--color-surface-secondary);color:var(--text-tertiary)}@media(max-width:640px){.home-profile{max-width:100vw;overflow-x:hidden}.hero-banner{height:200px;max-width:100%}.property-avatar{width:100px;height:100px}.hero-content{bottom:-50px}.profile-header{display:flex;flex-direction:column;padding-top:60px;max-width:100%;overflow-x:hidden}.profile-header-content{flex-direction:column;align-items:center;max-width:100%;padding:var(--space-3);padding-bottom:var(--space-4);gap:var(--space-3)}.profile-info{min-width:unset;width:100%;max-width:100%}.profile-stats{flex-wrap:wrap;justify-content:center;margin-bottom:var(--space-2)}.profile-actions{width:100%;flex-direction:column;align-items:center;gap:var(--space-2)}.profile-actions a{width:60%}.profile-actions a button,.profile-actions a .btn{width:100%}.profile-tabs{overflow-x:auto;max-width:100%;justify-content:center;border-top:1px solid var(--color-border);padding:0 var(--space-2);gap:0}.profile-tab{flex:1;text-align:center;white-space:nowrap;font-size:var(--font-size-xs);padding:var(--space-2) var(--space-2)}.profile-tab .tab-emoji{display:none}.tab-badge{min-width:16px;height:16px;font-size:10px;margin-left:3px;padding:0 4px}.profile-content{max-width:100%;padding:var(--space-3)}.property-gallery{grid-template-columns:repeat(2,1fr)}}.verification-modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.verification-modal{background:#fff;border-radius:20px;max-width:520px;width:90%;max-height:90vh;overflow-y:auto;position:relative;box-shadow:0 20px 60px #0000004d;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.verification-modal.success,.verification-modal.disabled{max-width:440px;text-align:center;padding:48px 32px}.verification-modal-close{position:absolute;top:16px;right:16px;background:none;border:none;font-size:24px;color:#999;cursor:pointer;width:36px;height:36px;border-radius:50%;display:flex;align-items:center;justify-content:center;transition:all .2s}.verification-modal-close:hover{background:#f0f0f0;color:#333}.verification-header{padding:32px 32px 0;text-align:center}.verification-icon{font-size:56px;margin-bottom:16px}.verification-header h2{margin:0 0 8px;font-size:26px;color:#1a1a2e;font-weight:700}.verification-subtitle{color:#666;margin:0;font-size:15px}.verification-back-btn{position:absolute;left:16px;top:16px;background:none;border:none;color:#06c;font-size:14px;cursor:pointer;padding:8px 12px;border-radius:8px;transition:background .2s}.verification-back-btn:hover{background:#f0f8ff}.verification-body{padding:24px 32px 32px}.verification-explanation{color:#555;line-height:1.7;margin-bottom:24px;text-align:center;font-size:15px}.verification-choice-box{margin:24px 0}.choice-item{padding:24px;border-radius:16px;margin-bottom:16px}.choice-item.primary{background:linear-gradient(135deg,#f8fbff,#f0f7ff);border:2px solid #d0e4ff}.choice-item.secondary{text-align:center;padding:16px}.choice-header{display:flex;align-items:center;gap:10px;margin-bottom:12px}.choice-icon{font-size:24px}.choice-header strong{font-size:17px;color:#1a1a2e}.tos-reminder{background:#fffaf0;border:1px solid #ffe4c4;border-radius:10px;padding:14px 16px;margin-bottom:20px}.tos-reminder p{color:#8b7355;font-size:13px;line-height:1.6;margin:0}.tos-reminder a{color:#06c;text-decoration:underline}.hold-explanation{background:#f8f9fa;border-radius:10px;padding:14px 16px;margin:16px 0}.hold-explanation strong{display:block;color:#1a1a2e;font-size:14px;margin-bottom:8px}.hold-explanation p{color:#555;font-size:13px;line-height:1.6;margin:0}.choice-item p{color:#666;font-size:14px;margin:0 0 16px}.choice-benefits{list-style:none;padding:0;margin:0 0 20px}.choice-benefits li{color:#555;font-size:14px;padding:6px 0}.choice-primary-btn{width:100%;padding:16px 24px;background:linear-gradient(135deg,#06c,#0052a3);color:#fff;border:none;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.choice-primary-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 24px #0066cc59}.choice-primary-btn:disabled{opacity:.6;cursor:not-allowed}.verification-two-options{display:flex;flex-direction:column;gap:12px;margin-top:24px}.option-primary-btn,.option-cancel-btn{display:flex;align-items:center;gap:16px;padding:18px 20px;border-radius:14px;border:none;cursor:pointer;text-align:left;transition:all .2s}.option-primary-btn{background:linear-gradient(135deg,#06c,#0052a3);color:#fff}.option-primary-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 8px 24px #0066cc59}.option-primary-btn:disabled{opacity:.6;cursor:not-allowed}.option-cancel-btn{background:#f5f5f5;color:#555;border:1px solid #e0e0e0}.option-cancel-btn:hover{background:#eee;border-color:#ccc}.option-icon{font-size:24px;flex-shrink:0}.option-text{display:flex;flex-direction:column;gap:2px}.option-text strong{font-size:16px}.option-primary-btn .option-text strong{color:#fff}.option-cancel-btn .option-text strong{color:#333}.option-text span{font-size:13px;opacity:.85}.choice-divider{text-align:center;color:#aaa;font-size:13px;margin:8px 0}.choice-secondary-btn{background:none;border:none;color:#888;font-size:14px;cursor:pointer;text-decoration:underline;padding:8px;transition:color .2s}.choice-secondary-btn:hover{color:#666}.choice-secondary-note{color:#aaa;font-size:12px;margin:8px 0 0!important}.verification-checkout-form{margin-top:16px}.verification-buttons{display:flex;gap:12px;margin-top:24px}.verification-cancel-btn{flex:1;padding:14px 20px;background:#f5f5f5;color:#555;border:none;border-radius:10px;font-size:15px;font-weight:500;cursor:pointer;transition:background .2s}.verification-cancel-btn:hover:not(:disabled){background:#eee}.verification-pay-btn{flex:2;padding:14px 20px;background:linear-gradient(135deg,#06c,#0052a3);color:#fff;border:none;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;transition:transform .2s,box-shadow .2s}.verification-pay-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #0066cc4d}.verification-pay-btn:disabled{opacity:.6;cursor:not-allowed}.verification-error{background:#fff5f5;color:#c00;padding:12px 16px;border-radius:10px;margin:16px 0;font-size:14px;border:1px solid #ffe0e0}.verification-disclaimer{color:#888;font-size:13px;text-align:center;margin-top:20px;line-height:1.6}.verification-success-content,.verification-disabled-content{text-align:center}.verification-success-icon,.verification-disabled-icon{font-size:72px;margin-bottom:24px}.verification-success-content h2,.verification-disabled-content h2{color:#1a1a2e;margin:0 0 16px;font-size:26px}.success-main{color:#444;font-size:16px;margin:0 0 12px}.success-sub{color:#777;font-size:14px;margin:0 0 24px}.success-help{background:#f8f9fa;padding:20px;border-radius:12px;margin-top:20px}.success-help p{margin:0;color:#555}.success-help strong{color:#1a1a2e}.help-hint{font-size:13px;color:#777!important;margin-top:8px!important}.verification-disabled-content p{color:#666;margin:0 0 16px;line-height:1.6}.disabled-note{color:#888!important;font-size:13px!important}.verification-close-btn{margin-top:24px;padding:14px 32px;background:#f0f0f0;color:#333;border:none;border-radius:10px;font-size:15px;font-weight:500;cursor:pointer;transition:background .2s}.verification-close-btn:hover{background:#e5e5e5}.dispute-explanation{color:#555;text-align:center;margin-bottom:20px}.dispute-info-box{background:#f8f9fa;padding:20px;border-radius:12px;margin-bottom:20px}.dispute-info-box p{margin:0 0 12px;color:#333}.dispute-info-box ul{list-style:none;padding:0;margin:0}.dispute-info-box li{color:#555;font-size:14px;padding:4px 0}.dispute-alternative{color:#666;font-size:14px;text-align:center;margin-bottom:24px}.dispute-buttons{display:flex;gap:12px}.dispute-back-btn{flex:1;padding:14px 20px;background:#f0f0f0;color:#333;border:none;border-radius:10px;font-size:15px;font-weight:500;cursor:pointer;transition:background .2s}.dispute-back-btn:hover:not(:disabled){background:#e5e5e5}.dispute-confirm-btn{flex:1;padding:14px 20px;background:#666;color:#fff;border:none;border-radius:10px;font-size:14px;font-weight:500;cursor:pointer;transition:background .2s}.dispute-confirm-btn:hover:not(:disabled){background:#555}.dispute-confirm-btn:disabled,.dispute-back-btn:disabled{opacity:.6;cursor:not-allowed}.create-job-form{display:flex;flex-direction:column;gap:var(--space-5)}.form-error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:var(--color-error);padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-sm)}.description-section{position:relative}.ai-assist-btn{position:absolute;right:var(--space-2);bottom:var(--space-2)}.scope-tasks{background:var(--color-primary-muted);border:1px solid var(--color-primary);border-radius:var(--radius-lg);padding:var(--space-4)}.scope-tasks h4{margin:0 0 var(--space-3);color:var(--color-primary);font-size:var(--font-size-sm)}.scope-tasks ul{margin:0;padding-left:var(--space-5);color:var(--color-text-secondary)}.scope-tasks li{margin-bottom:var(--space-2)}.scope-tasks li:last-child{margin-bottom:0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}@media(max-width:480px){.form-row{grid-template-columns:1fr}}.form-actions{display:flex;justify-content:flex-end;gap:var(--space-3);padding-top:var(--space-4);border-top:1px solid var(--color-border);margin-top:var(--space-2)}.price-range-suggestion{background:linear-gradient(135deg,#10b9811a,#3b82f61a);border:1px solid rgba(16,185,129,.3);border-radius:var(--radius-lg);padding:var(--space-4)}.price-range-suggestion h4{margin:0 0 var(--space-3);color:var(--color-success);font-size:var(--font-size-sm)}.price-range-values{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--space-3);text-align:center}.price-item{background:var(--color-surface-overlay);border-radius:var(--radius-md);padding:var(--space-3)}.price-item.recommended{background:linear-gradient(135deg,#10b98133,#10b9811a);border:1px solid rgba(16,185,129,.4)}.price-label{display:block;font-size:var(--font-size-xs);color:var(--color-text-muted);margin-bottom:var(--space-1);text-transform:uppercase;letter-spacing:.5px}.price-item.recommended .price-label{color:var(--color-success);font-weight:600}.price-value{display:block;font-size:var(--font-size-lg);font-weight:700;color:var(--color-text-primary)}.price-item.recommended .price-value{color:var(--color-success);font-size:var(--font-size-xl)}.price-note{margin:var(--space-3) 0 0;font-size:var(--font-size-xs);color:var(--color-text-muted);text-align:center}@media(max-width:480px){.price-range-values{grid-template-columns:1fr}}.assumptions-section{background:linear-gradient(135deg,#fbbf241a,#f59e0b1a);border:1px solid rgba(251,191,36,.3);border-radius:var(--radius-lg);padding:var(--space-4)}.assumptions-section h4{margin:0 0 var(--space-2);color:#f59e0b;font-size:var(--font-size-sm)}.assumptions-intro{margin:0 0 var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.assumptions-section ul{margin:0 0 var(--space-3);padding-left:var(--space-5);color:var(--color-text-primary)}.assumptions-section li{margin-bottom:var(--space-2);font-size:var(--font-size-sm)}.assumptions-section li:last-child{margin-bottom:0}.assumptions-note{margin:0;font-size:var(--font-size-xs);color:var(--color-text-muted);font-style:italic}.cost-breakdown-section{background:linear-gradient(135deg,#3b82f61a,#6366f11a);border:1px solid rgba(59,130,246,.3);border-radius:var(--radius-lg);padding:var(--space-4)}.cost-breakdown-section h4{margin:0 0 var(--space-4);color:#3b82f6;font-size:var(--font-size-base);font-weight:600}.cost-category{margin-bottom:var(--space-4);padding-bottom:var(--space-3);border-bottom:1px solid rgba(255,255,255,.1)}.cost-category:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.cost-category h5{margin:0 0 var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-primary);font-weight:500}.cost-items{display:flex;flex-direction:column;gap:var(--space-2)}.cost-item{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) var(--space-3);background:var(--color-surface-overlay);border-radius:var(--radius-md)}.cost-item-name{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.cost-item-range,.cost-item-detail{font-size:var(--font-size-sm);color:var(--color-text-primary);font-weight:500}.cost-subtotal{display:flex;justify-content:space-between;align-items:center;margin-top:var(--space-2);padding:var(--space-2) var(--space-3);background:#3b82f626;border-radius:var(--radius-md);font-weight:600;font-size:var(--font-size-sm)}.cost-subtotal span:first-child{color:var(--color-text-secondary)}.cost-subtotal span:last-child{color:#3b82f6}.refinement-options{background:var(--color-surface-overlay);border-radius:var(--radius-lg);padding:var(--space-3);border:1px solid var(--color-border)}.refinement-label{margin:0 0 var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.refinement-checkboxes{display:flex;flex-wrap:wrap;gap:var(--space-3)}.refinement-checkbox{display:flex;align-items:center;gap:var(--space-2);cursor:pointer;padding:var(--space-2) var(--space-3);background:var(--color-surface);border-radius:var(--radius-md);border:1px solid var(--color-border);transition:all .2s ease}.refinement-checkbox:hover{border-color:var(--color-primary)}.refinement-checkbox input{width:18px;height:18px;accent-color:var(--color-primary);cursor:pointer}.refinement-checkbox span{font-size:var(--font-size-sm);color:var(--color-text-primary)}.refinement-checkbox:has(input:checked){background:#10b9811a;border-color:#10b981}.refinement-checkbox:has(input:checked) span{color:#10b981}@media(max-width:480px){.refinement-checkboxes{flex-direction:column}}.follow-up-chat{background:linear-gradient(135deg,#8b5cf61a,#a855f71a);border:1px solid rgba(139,92,246,.3);border-radius:var(--radius-lg);padding:var(--space-4)}.follow-up-chat h4{margin:0 0 var(--space-2);color:#8b5cf6;font-size:var(--font-size-sm)}.chat-intro{margin:0 0 var(--space-3);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.chat-history{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-3);max-height:300px;overflow-y:auto;padding-right:var(--space-2)}.chat-message{padding:var(--space-3);border-radius:var(--radius-md);max-width:85%}.chat-message.user{background:#3b82f633;border:1px solid rgba(59,130,246,.3);align-self:flex-end}.chat-message.assistant{background:var(--color-surface-overlay);border:1px solid var(--color-border);align-self:flex-start}.chat-role{font-size:var(--font-size-xs);font-weight:600;color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.5px}.chat-content{margin:var(--space-1) 0 0;font-size:var(--font-size-sm);color:var(--color-text-primary);line-height:1.5}.chat-input-container{display:flex;gap:var(--space-2)}.chat-input{flex:1;padding:var(--space-3);background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--font-size-sm);transition:border-color .2s ease}.chat-input:focus{outline:none;border-color:var(--color-primary)}.chat-input::placeholder{color:var(--color-text-muted)}.chat-input:disabled{opacity:.6;cursor:not-allowed}.chat-send-btn{flex-shrink:0}.media-upload-section{background:var(--color-surface-overlay);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4)}.media-upload-section h4{margin:0 0 var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-primary)}.media-hint{margin:0 0 var(--space-1);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.media-hint-secondary{margin:0 0 var(--space-3);font-size:var(--font-size-xs);color:var(--color-text-muted);font-style:italic}.photo-counter{display:inline-block;padding:var(--space-1) var(--space-3);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:500;color:var(--color-text-muted);background:var(--color-surface);border:1px solid var(--color-border);margin-bottom:var(--space-3);transition:all .3s ease}.photo-counter--good{color:#059669;background:#0596691a;border-color:#0596694d;font-weight:600}.recommended-photos-list{margin:0 0 var(--space-3);padding-left:var(--space-5);list-style-type:disc}.recommended-photos-list li{font-size:var(--font-size-xs);color:var(--color-text-muted);margin-bottom:var(--space-1)}.recommended-photos-list li:last-child{margin-bottom:0}.media-upload-buttons{display:flex;gap:var(--space-2);flex-wrap:wrap}.media-limits{margin:var(--space-2) 0 0;font-size:var(--font-size-xs);color:var(--color-text-muted)}.media-thumbnails{display:grid;grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:var(--space-2);margin-top:var(--space-3)}.thumbnail-item{position:relative;aspect-ratio:1;border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--color-border)}.thumbnail-item img{width:100%;height:100%;object-fit:cover}.thumbnail-remove{position:absolute;top:4px;right:4px;width:24px;height:24px;border-radius:50%;background:#ef4444e6;border:none;color:#fff;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s ease}.thumbnail-item:hover .thumbnail-remove{opacity:1}.video-preview{margin-top:var(--space-3);border-radius:var(--radius-md);overflow:hidden;border:1px solid var(--color-border)}.video-preview video{width:100%;max-height:200px;background:#000}.video-info{display:flex;justify-content:space-between;align-items:center;padding:var(--space-2) var(--space-3);background:var(--color-surface)}.video-info span{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.video-remove{background:none;border:none;color:#ef4444;font-size:var(--font-size-sm);cursor:pointer;padding:0}.video-remove:hover{text-decoration:underline}.uploading-text{margin:var(--space-2) 0 0;font-size:var(--font-size-sm);color:var(--color-primary);animation:pulse 1.5s ease-in-out infinite}@keyframes pulse{0%,to{opacity:1}50%{opacity:.5}}.analyze-section{margin-top:var(--space-5);padding:var(--space-5);background:linear-gradient(135deg,#6366f11a,#a855f70d);border-radius:var(--radius-lg);text-align:center}.analyze-btn{background:linear-gradient(135deg,var(--color-primary),var(--color-secondary))!important;width:100%;max-width:320px;font-size:var(--font-size-lg)!important;padding:var(--space-4) var(--space-6)!important}.analyze-btn:hover{background:linear-gradient(135deg,#5b21b6,#6366f1)!important;transform:translateY(-2px);box-shadow:0 8px 25px #6366f166}.analyze-hint{margin:var(--space-3) 0 0;color:var(--color-text-muted);font-size:var(--font-size-sm)}.design-visualizer{background:#fff;border-radius:16px;padding:24px;max-width:100%}.design-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid #eee}.design-header h2{margin:0 0 4px;font-size:1.5rem;color:#1a1a2e}.design-header p{margin:0;color:#666;font-size:.95rem}.design-header-right{display:flex;align-items:center;gap:16px}.credits-badge{display:flex;flex-direction:column;align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:8px 16px;border-radius:12px}.credits-count{font-size:1.5rem;font-weight:700}.credits-label{font-size:.7rem;opacity:.9}.close-btn{background:none;border:none;font-size:1.5rem;color:#999;cursor:pointer;padding:4px 8px;line-height:1}.close-btn:hover{color:#333}.design-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:48px;color:#666}.loading-spinner{width:40px;height:40px;border:3px solid #eee;border-top-color:#667eea;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}.design-form{background:#f8f9fa;border-radius:12px;padding:20px;margin-bottom:20px}.form-row{display:flex;flex-direction:column;gap:20px}.photo-selector label,.prompt-input-container label{display:block;font-weight:600;color:#333;margin-bottom:8px}.photo-grid-small{display:flex;gap:8px;flex-wrap:wrap}.photo-thumb{width:60px;height:60px;border-radius:8px;overflow:hidden;cursor:pointer;position:relative;border:2px solid transparent;transition:all .2s}.photo-thumb img{width:100%;height:100%;object-fit:cover}.photo-thumb:hover,.photo-thumb.selected{border-color:#667eea}.photo-thumb .check{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);background:#667eea;color:#fff;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:.8rem}.prompt-input{width:100%;min-height:100px;padding:14px;border:2px solid #e0e0e0;border-radius:10px;font-size:1rem;font-family:inherit;resize:vertical;transition:border-color .2s}.prompt-input:focus{outline:none;border-color:#667eea}.prompt-input:disabled{background:#f5f5f5;cursor:not-allowed}.prompt-footer{display:flex;justify-content:space-between;align-items:center;margin-top:12px}.char-count{font-size:.85rem;color:#999}.generate-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:12px 24px;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px;transition:transform .2s,box-shadow .2s}.generate-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #667eea66}.generate-btn:disabled{opacity:.6;cursor:not-allowed}.btn-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin 1s linear infinite}.design-error{background:#fff5f5;color:#c53030;padding:12px 16px;border-radius:8px;margin-top:16px;border-left:4px solid #c53030}.credits-info-bar{display:flex;justify-content:space-between;align-items:center;background:#f0f0f0;padding:12px 16px;border-radius:10px;margin-bottom:24px}.credits-breakdown{display:flex;gap:20px;font-size:.9rem;color:#555}.upgrade-btn-small{background:linear-gradient(135deg,#f093fb,#f5576c);color:#fff;border:none;padding:8px 16px;border-radius:20px;font-size:.85rem;font-weight:600;cursor:pointer;transition:transform .2s}.upgrade-btn-small:hover{transform:scale(1.05)}.generated-gallery h3{margin:0 0 16px;color:#333}.empty-gallery{text-align:center;padding:48px;background:#f8f9fa;border-radius:12px;color:#666}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.gallery-item{position:relative;border-radius:12px;overflow:hidden;cursor:pointer;aspect-ratio:1;transition:transform .2s}.gallery-item:hover{transform:scale(1.02)}.gallery-item img{width:100%;height:100%;object-fit:cover}.gallery-item-overlay{position:absolute;bottom:0;left:0;right:0;background:linear-gradient(transparent,#000c);padding:40px 12px 12px;color:#fff}.gallery-prompt{margin:0;font-size:.8rem;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.free-badge{position:absolute;top:8px;right:8px;background:#48bb78;color:#fff;padding:2px 8px;border-radius:10px;font-size:.7rem;font-weight:600}.design-lightbox{position:fixed;inset:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px}.lightbox-content{position:relative;max-width:90vw;max-height:90vh;background:#fff;border-radius:16px;overflow:hidden}.lightbox-content img{max-width:100%;max-height:70vh;display:block}.lightbox-close{position:absolute;top:12px;right:12px;background:#00000080;color:#fff;border:none;width:36px;height:36px;border-radius:50%;font-size:1.2rem;cursor:pointer;z-index:10}.lightbox-info{padding:16px;background:#f8f9fa}.lightbox-info p{margin:0 0 8px;font-size:.9rem;color:#333}.revised-prompt{color:#666;font-size:.85rem}@media(max-width:768px){.design-header{flex-direction:column;gap:16px}.design-header-right{width:100%;justify-content:space-between}.credits-info-bar{flex-direction:column;gap:12px}.credits-breakdown{justify-content:center}.gallery-grid{grid-template-columns:repeat(2,1fr)}}.upgrade-modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.upgrade-modal{background:#fff;border-radius:20px;max-width:800px;width:100%;max-height:90vh;overflow-y:auto;position:relative;padding:32px;animation:modalSlideIn .3s ease}.modal-close{position:absolute;top:16px;right:16px;background:none;border:none;font-size:1.5rem;color:#999;cursor:pointer;width:36px;height:36px;border-radius:50%;transition:all .2s}.modal-close:hover{background:#f0f0f0;color:#333}.modal-header{text-align:center;margin-bottom:28px}.modal-header h2{margin:0 0 8px;font-size:1.75rem;color:#1a1a2e}.modal-header p{margin:0;color:#666;font-size:1rem}.back-btn{background:none;border:none;color:#667eea;font-size:.9rem;cursor:pointer;padding:0;margin-bottom:12px}.back-btn:hover{text-decoration:underline}.modal-error{background:#fff5f5;color:#c53030;padding:12px 16px;border-radius:8px;margin-bottom:20px;text-align:center}.tiers-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;margin-bottom:24px}.tier-card{background:#f8f9fa;border:2px solid #e0e0e0;border-radius:16px;padding:24px 16px;text-align:center;cursor:pointer;transition:all .2s;position:relative}.tier-card:hover{border-color:#667eea;transform:translateY(-4px);box-shadow:0 8px 24px #667eea26}.tier-card.popular{border-color:#667eea;background:linear-gradient(135deg,#f5f7ff,#fff)}.popular-badge{position:absolute;top:-12px;left:50%;transform:translate(-50%);background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:4px 12px;border-radius:20px;font-size:.7rem;font-weight:600;white-space:nowrap}.tier-emoji{font-size:2.5rem;margin-bottom:12px}.tier-name{margin:0 0 8px;font-size:1.1rem;color:#1a1a2e}.tier-credits{font-size:1.5rem;font-weight:700;color:#667eea;margin-bottom:4px}.tier-price{font-size:1.75rem;font-weight:700;color:#1a1a2e;margin-bottom:4px}.tier-per-image{font-size:.8rem;color:#48bb78;font-weight:600;margin-bottom:12px}.tier-description{font-size:.85rem;color:#666;margin:0 0 16px;min-height:40px}.tier-select-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:10px 24px;border-radius:20px;font-size:.9rem;font-weight:600;cursor:pointer;transition:transform .2s}.tier-select-btn:hover:not(:disabled){transform:scale(1.05)}.tier-select-btn:disabled{opacity:.6;cursor:not-allowed}.modal-footer{text-align:center;padding-top:16px;border-top:1px solid #eee}.credits-current{margin:0;color:#666;font-size:.9rem}.checkout-form{padding:20px 0}.checkout-error{background:#fff5f5;color:#c53030;padding:12px 16px;border-radius:8px;margin:16px 0}.checkout-buttons{display:flex;gap:12px;margin-top:24px}.cancel-btn{flex:1;background:#f0f0f0;color:#333;border:none;padding:14px 20px;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s}.cancel-btn:hover:not(:disabled){background:#e0e0e0}.pay-btn{flex:2;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:14px 20px;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:transform .2s}.pay-btn:hover:not(:disabled){transform:scale(1.02)}.pay-btn:disabled,.cancel-btn:disabled{opacity:.6;cursor:not-allowed}.success-modal{max-width:400px;text-align:center}.success-content{padding:20px}.success-icon{font-size:4rem;margin-bottom:16px}.success-content h2{margin:0 0 8px;color:#1a1a2e}.success-content p{margin:0;color:#666}@media(max-width:768px){.tiers-grid{grid-template-columns:1fr;gap:16px}.upgrade-modal{padding:24px 16px;margin:12px}.tier-card{padding:20px}}.review-dashboard{min-height:100vh;background:var(--color-bg);padding:var(--space-4)}.dashboard-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-4);padding:0 var(--space-2)}.dashboard-header h1{margin:0;font-size:var(--font-size-xl);color:var(--color-text-primary)}.estimate-updated-badge{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--font-size-sm);animation:pulse 2s ease-in-out infinite}.dashboard-layout{display:grid;grid-template-columns:280px 1fr 320px;gap:var(--space-4);max-width:1400px;margin:0 auto}.dashboard-left{display:flex;flex-direction:column;gap:var(--space-3)}.sidebar-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4)}.sidebar-title{margin:0 0 var(--space-2);font-size:var(--font-size-md);color:var(--color-text-primary)}.sidebar-subtitle{margin:0 0 var(--space-3);font-size:var(--font-size-sm);color:var(--color-text-primary);font-weight:600}.job-meta-compact{display:flex;gap:var(--space-2);flex-wrap:wrap;margin-bottom:var(--space-2)}.location-badge{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.job-description-compact{margin:0;color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:1.4}.bids-placeholder{border:2px dashed var(--color-border);background:transparent}.placeholder-text{margin:0;color:var(--color-text-muted);font-size:var(--font-size-sm);font-style:italic}.dashboard-center{min-width:0}.dashboard-center .card{background:var(--color-surface)}.dashboard-right{position:sticky;top:var(--space-4);height:fit-content;max-height:calc(100vh - var(--space-8))}.chat-sidebar{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);display:flex;flex-direction:column;height:calc(100vh - 120px);max-height:600px}.chat-title{margin:0;padding:var(--space-3) var(--space-4);font-size:var(--font-size-md);color:var(--color-text-primary);border-bottom:1px solid var(--color-border)}.chat-subtitle{margin:0;padding:var(--space-2) var(--space-4);color:var(--color-text-muted);font-size:var(--font-size-xs)}.chat-messages{flex:1;overflow-y:auto;padding:var(--space-3);display:flex;flex-direction:column;gap:var(--space-2)}.chat-empty{color:var(--color-text-muted);font-size:var(--font-size-sm);text-align:center;padding:var(--space-4)}.chat-bubble{max-width:90%;padding:var(--space-3);border-radius:var(--radius-lg);font-size:var(--font-size-sm);line-height:1.5}.chat-bubble.user{background:#1a1a2e;color:#fff;align-self:flex-end;border:1px solid #333}.chat-bubble.assistant{background:#f8f9fa;color:#1a1a2e;align-self:flex-start;border:1px solid #e0e0e0}.bubble-role{display:block;font-size:var(--font-size-xs);opacity:.7;margin-bottom:var(--space-1)}.chat-bubble p{margin:0;line-height:1.4}.chat-input-area{display:flex;gap:var(--space-2);padding:var(--space-3);border-top:1px solid var(--color-border)}.chat-input-area input{flex:1;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-text-primary);font-size:var(--font-size-sm)}.chat-input-area input:focus{outline:none;border-color:var(--color-primary)}.send-btn{background:#1a1a2e;color:#fff;border:none;border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);cursor:pointer;font-size:var(--font-size-md);transition:background .2s}.send-btn:hover:not(:disabled){background:#2a2a4e}.send-btn:disabled{opacity:.5;cursor:not-allowed}.send-btn:hover:not(:disabled){opacity:.9}@media(max-width:1200px){.dashboard-layout{grid-template-columns:1fr 300px}.dashboard-left{display:none}}@media(max-width:768px){.review-dashboard{padding:var(--space-3)}.dashboard-header{flex-direction:column;align-items:flex-start;gap:var(--space-2)}.dashboard-header h1{font-size:var(--font-size-lg)}.dashboard-layout{grid-template-columns:1fr;gap:var(--space-3)}.dashboard-right{position:static;order:2}.dashboard-center{order:1}.chat-sidebar{height:auto;max-height:none;border-radius:var(--radius-lg)}.chat-messages{max-height:200px}.question-card{padding:var(--space-3)}.answer-buttons{gap:var(--space-2)}.answer-btn{min-height:44px;padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm)}.update-estimate-btn{width:100%;min-height:48px}.review-section,.panel-card{padding:var(--space-3)}.action-buttons{flex-direction:column;gap:var(--space-2)}.action-buttons .btn{width:100%;min-height:48px}.price-range-values{grid-template-columns:1fr;gap:var(--space-2)}}@media(max-width:380px){.review-dashboard{padding:var(--space-2)}.dashboard-header h1{font-size:var(--font-size-base)}.answer-buttons{flex-direction:column}.answer-btn{width:100%}}.review-section{padding:var(--space-4);border-bottom:1px solid var(--color-border)}.review-section:last-of-type{border-bottom:none}.review-section h4{margin:0 0 var(--space-3);font-size:var(--font-size-md);color:var(--color-text-primary)}.job-summary h3{margin:0 0 var(--space-2);font-size:var(--font-size-lg);color:var(--color-text-primary)}.job-description{margin:0 0 var(--space-3);color:var(--color-text-secondary);line-height:1.5}.job-meta{display:flex;gap:var(--space-3);align-items:center}.category-badge{background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));color:#fff;padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:500;text-transform:capitalize}.location{color:var(--color-text-muted);font-size:var(--font-size-sm)}.image-observations-section{background:linear-gradient(135deg,#06b6d41a,#3b82f61a);border:1px solid rgba(6,182,212,.3);border-radius:var(--radius-md)}.observations-list{margin:0;padding-left:var(--space-4)}.observations-list li{color:var(--color-text-secondary);margin-bottom:var(--space-2);font-size:var(--font-size-sm)}.observations-list li::marker{color:#06b6d4}.scope-list{margin:0;padding-left:var(--space-4)}.scope-list li{margin-bottom:var(--space-2);color:var(--color-text-secondary)}.cost-category{margin-bottom:var(--space-3)}.cost-category h5{margin:0 0 var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-primary)}.cost-item{display:flex;justify-content:space-between;padding:var(--space-2) 0;border-bottom:1px dashed var(--color-border);font-size:var(--font-size-sm)}.cost-item:last-child{border-bottom:none}.cost-item span:first-child{color:var(--color-text-secondary)}.cost-item span:last-child{color:var(--color-text-primary);font-weight:500}.price-range{display:grid;grid-template-columns:1fr 1fr 1fr;gap:var(--space-2);margin-top:var(--space-3)}.price-item{text-align:center;padding:var(--space-3);background:var(--color-surface-overlay);border-radius:var(--radius-md)}.price-item .label{display:block;font-size:var(--font-size-xs);color:var(--color-text-muted);margin-bottom:var(--space-1)}.price-item .value{display:block;font-size:var(--font-size-lg);font-weight:600;color:var(--color-text-primary)}.price-item.recommended{background:linear-gradient(135deg,#6366f133,#a855f733);border:2px solid var(--color-primary)}.price-item.recommended .value{color:var(--color-primary);font-size:var(--font-size-xl)}.assumptions-section{background:#eab3081a;border-radius:var(--radius-md)}.assumptions-section ul{margin:0;padding-left:var(--space-4)}.assumptions-section li{color:var(--color-text-secondary);margin-bottom:var(--space-1);font-size:var(--font-size-sm)}.agreement-section{padding:var(--space-5);text-align:center;background:var(--color-surface-overlay);border-radius:var(--radius-lg);margin:var(--space-4) 0}.agreement-section h4{margin:0 0 var(--space-4);font-size:var(--font-size-lg);color:var(--color-text-primary)}.agreement-buttons{display:flex;gap:var(--space-3);justify-content:center;flex-wrap:wrap}.agree-btn{background:linear-gradient(135deg,#22c55e,#16a34a)!important}.agree-btn:hover{background:linear-gradient(135deg,#16a34a,#15803d)!important}.smart-questions-section{background:linear-gradient(135deg,#22c55e26,#10b9811a);border:2px solid rgba(34,197,94,.4);border-radius:var(--radius-lg)}.smart-questions-section h4{color:#22c55e;margin:0 0 var(--space-2)}.questions-intro{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin:0 0 var(--space-3)}.questions-list{display:flex;flex-direction:column;gap:var(--space-3)}.question-card{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3);transition:all .3s ease}.question-card.answered{background:#22c55e0d;border-color:#22c55e4d}.question-header{display:flex;align-items:flex-start;gap:var(--space-2);margin-bottom:var(--space-3)}.question-number{background:var(--color-primary);color:#fff;width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-xs);font-weight:600;flex-shrink:0}.question-card.answered .question-number{background:#22c55e}.question-text{margin:0;color:var(--color-text-primary);font-size:var(--font-size-sm);font-weight:500;flex:1}.answer-given{display:flex;align-items:center;gap:var(--space-2)}.answer-badge{padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:var(--font-size-sm);font-weight:500}.answer-badge.yes{background:#22c55e33;color:#22c55e}.answer-badge.no{background:#ef444433;color:#ef4444}.change-answer-btn{background:transparent;border:none;color:var(--color-text-muted);font-size:var(--font-size-xs);cursor:pointer;padding:var(--space-1)}.change-answer-btn:hover{color:var(--color-primary);text-decoration:underline}.questionnaire-loading{text-align:center;padding:var(--space-3);color:var(--color-text-muted)}.submit-answers-section{margin-top:var(--space-4);padding:var(--space-4);background:linear-gradient(135deg,#22c55e26,#10b9811a);border-radius:var(--radius-md);text-align:center}.submit-prompt{margin:0 0 var(--space-3);color:#22c55e;font-weight:500}.submit-answers-btn{background:linear-gradient(135deg,#22c55e,#16a34a)!important}.additional-questions-section{margin-top:var(--space-4);padding-top:var(--space-4);border-top:1px solid var(--color-border)}.additional-questions-section h5{margin:0 0 var(--space-2);color:var(--color-text-primary)}.additional-questions-section>p{margin:0 0 var(--space-3);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.chat-history.compact{max-height:150px;overflow-y:auto;margin-bottom:var(--space-3)}.answer-buttons{display:flex;gap:var(--space-2);flex-wrap:wrap}.answer-btn{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:500;cursor:pointer;transition:all .2s ease;border:1px solid transparent}.answer-btn.yes{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff}.answer-btn.yes:hover{background:linear-gradient(135deg,#16a34a,#15803d);transform:translateY(-2px)}.answer-btn.no{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff}.answer-btn.no:hover{background:linear-gradient(135deg,#dc2626,#b91c1c);transform:translateY(-2px)}.answer-btn.custom{background:var(--color-surface-overlay);color:var(--color-text-primary);border:1px solid var(--color-border)}.answer-btn.custom:hover{border-color:var(--color-primary);color:var(--color-primary)}.answer-btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.answer-btn.custom.active{background:var(--color-primary);color:#fff;border-color:var(--color-primary)}.other-input-section{display:flex;gap:var(--space-2);margin-top:var(--space-2);animation:slideDown .2s ease}@keyframes slideDown{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.other-input{flex:1;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg);color:var(--color-text-primary);font-size:var(--font-size-sm)}.other-input:focus{outline:none;border-color:var(--color-primary)}.other-submit-btn{background:#1a1a2e;color:#fff;border:none;border-radius:var(--radius-md);padding:var(--space-2) var(--space-3);font-size:var(--font-size-sm);cursor:pointer;transition:background .2s}.other-submit-btn:hover:not(:disabled){background:#2a2a4e}.other-submit-btn:disabled{opacity:.5;cursor:not-allowed}.refine-chat-section-prominent{background:linear-gradient(135deg,#6366f133,#a855f71a);border:2px solid rgba(99,102,241,.4);border-radius:var(--radius-lg);padding:var(--space-4)}.refine-chat-section-prominent h4{margin:0 0 var(--space-2);color:var(--color-primary)}.refine-chat-section-prominent>p{margin:0 0 var(--space-3);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.quick-questions{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border)}.quick-label{font-size:var(--font-size-xs);color:var(--color-text-muted);margin:0 0 var(--space-2)}.quick-btn{display:block;width:100%;background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-sm);padding:var(--space-2);margin-bottom:var(--space-1);text-align:left;cursor:pointer;color:var(--color-text-secondary);font-size:var(--font-size-xs);transition:all .2s ease}.quick-btn:hover{border-color:var(--color-primary);color:var(--color-text-primary)}.refine-chat-section{padding:var(--space-4);background:linear-gradient(135deg,#7c3aed1a,#6366f10d);border-radius:var(--radius-lg);margin-top:var(--space-3)}.refine-chat-section h4{margin:0 0 var(--space-2)}.refine-chat-section>p{margin:0 0 var(--space-3);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.chat-history{max-height:250px;overflow-y:auto;margin-bottom:var(--space-3)}.chat-message{padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);margin-bottom:var(--space-2)}.chat-message.user{background:var(--color-primary);color:#fff;margin-left:20%}.chat-message.assistant{background:var(--color-surface);border:1px solid var(--color-border);margin-right:20%}.chat-role{display:block;font-size:var(--font-size-xs);font-weight:600;margin-bottom:var(--space-1);opacity:.8}.chat-message p{margin:0;font-size:var(--font-size-sm)}.chat-input-row{display:flex;gap:var(--space-2)}.chat-input-row input{flex:1;padding:var(--space-2) var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-surface);color:var(--color-text-primary);font-size:var(--font-size-sm)}.chat-input-row input:focus{outline:none;border-color:var(--color-primary)}.back-section{text-align:center;padding-top:var(--space-3)}.estimate-updated-banner{background:linear-gradient(135deg,#22c55e,#16a34a);color:#fff;padding:var(--space-3) var(--space-4);border-radius:var(--radius-lg);text-align:center;font-weight:600;margin-bottom:var(--space-4);animation:slideIn .3s ease-out}@keyframes slideIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.chat-loading{display:flex;align-items:center;justify-content:center;padding:var(--space-4);color:var(--color-text-muted)}.loading-dots:after{content:"...";animation:ellipsis 1.5s infinite}@keyframes ellipsis{0%{content:"."}33%{content:".."}66%{content:"..."}}.question-btn:disabled,.quick-btn:disabled{opacity:.5;cursor:not-allowed;transform:none!important}.visualizer-section{background:linear-gradient(135deg,#667eea1a,#764ba21a);border:2px solid rgba(102,126,234,.3);border-radius:var(--radius-lg);text-align:center}.visualizer-section h4{color:#667eea}.visualizer-section p{color:var(--color-text-secondary);margin-bottom:var(--space-3)}.visualize-btn{background:linear-gradient(135deg,#667eea,#764ba2)!important;color:#fff!important;border:none!important}.design-modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.design-modal-content{background:#fff;border-radius:20px;max-width:900px;width:100%;max-height:90vh;overflow-y:auto;animation:modalSlideIn .3s ease}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.concierge-chat{display:flex;flex-direction:column;max-width:600px;margin:0 auto;padding:1rem;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.concierge-messages{display:flex;flex-direction:column;gap:1rem;padding-bottom:1rem}.concierge-bubble{max-width:85%;padding:.875rem 1.125rem;border-radius:1.25rem;animation:slideIn .3s ease-out}.concierge-bubble-assistant{align-self:flex-start;background:linear-gradient(135deg,#f0f4ff,#e8eeff);color:#1a1a2e;border:1px solid rgba(99,102,241,.15)}.concierge-bubble-content{line-height:1.5;font-size:.9375rem}.concierge-question-input{display:flex;flex-direction:column;gap:.75rem;animation:slideIn .3s ease-out}.concierge-bubble-user{align-self:flex-end;background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;border:none}.concierge-chips{display:flex;flex-wrap:wrap;gap:.5rem}.concierge-chips-stacked{flex-direction:column}.concierge-chips-inline{flex-direction:row}.concierge-chips-grid{display:grid;grid-template-columns:repeat(2,1fr)}.concierge-chip{padding:.75rem 1.25rem;border:2px solid #e5e7eb;border-radius:.75rem;background:#fff;color:#374151;font-size:.9375rem;font-weight:500;cursor:pointer;transition:all .2s ease;text-align:left}.concierge-chip:hover:not(:disabled){border-color:#6366f1;background:#f5f3ff;color:#4f46e5;transform:translateY(-1px)}.concierge-chip-selected{border-color:#6366f1;background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;box-shadow:0 4px 12px #6366f14d}.concierge-chip:disabled{cursor:not-allowed;opacity:.6}.concierge-multi-choice,.concierge-numeric{display:flex;flex-direction:column;gap:.75rem}.concierge-numeric-input{display:flex;align-items:center;gap:.5rem}.concierge-numeric-input input{flex:1;padding:.75rem 1rem;border:2px solid #e5e7eb;border-radius:.75rem;font-size:1rem;outline:none;transition:border-color .2s ease}.concierge-numeric-input input:focus{border-color:#6366f1}.concierge-numeric-unit{color:#6b7280;font-weight:500}.concierge-submit-btn{padding:.75rem 1.5rem;background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;border:none;border-radius:.75rem;font-size:.9375rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #6366f140}.concierge-submit-btn:hover{transform:translateY(-2px);box-shadow:0 6px 16px #6366f159}.concierge-submit-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.concierge-text-input{display:flex;flex-direction:column;gap:.75rem}.concierge-text-area{width:100%;padding:.875rem 1rem;border:2px solid #e5e7eb;border-radius:.75rem;font-size:.9375rem;font-family:inherit;resize:none;outline:none;transition:border-color .2s ease;background:#fff;line-height:1.5}.concierge-text-area:focus{border-color:#6366f1}.concierge-text-area:disabled{background:#f3f4f6;color:#6b7280;cursor:not-allowed}.concierge-estimate{background:linear-gradient(135deg,#1a1a2e,#2d2d44);border-radius:1.25rem;padding:1.5rem;color:#fff;box-shadow:0 8px 32px #0003;animation:slideIn .4s ease-out}.concierge-estimate-header{text-align:center;margin-bottom:1.25rem;padding-bottom:1.25rem;border-bottom:1px solid rgba(255,255,255,.1)}.concierge-estimate-label{display:block;font-size:.8125rem;text-transform:uppercase;letter-spacing:.1em;color:#ffffffb3;margin-bottom:.5rem}.concierge-estimate-range{display:flex;align-items:center;justify-content:center;gap:.75rem}.concierge-estimate-low,.concierge-estimate-high{font-size:1.75rem;font-weight:700;background:linear-gradient(135deg,#10b981,#34d399);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.concierge-estimate-separator{color:#fff6;font-size:1.5rem}.concierge-estimate-hint{margin-top:.75rem;font-size:.75rem;color:#ffffff80;line-height:1.5;text-align:center}.concierge-estimate-section{margin-top:1rem}.concierge-estimate-section h4{font-size:.8125rem;text-transform:uppercase;letter-spacing:.05em;color:#fff9;margin-bottom:.5rem}.concierge-estimate-section ul{list-style:none;padding:0;margin:0}.concierge-estimate-section li{padding:.375rem 0 .375rem 1.25rem;position:relative;font-size:.9375rem;color:#ffffffe6}.concierge-estimate-section li:before{content:"✓";position:absolute;left:0;color:#10b981}.concierge-estimate-assumptions li:before{content:"•";color:#fff6}.concierge-notice{display:flex;align-items:flex-start;gap:.625rem;padding:.875rem 1rem;background:#fef3c7;border-radius:.75rem;border:1px solid #fcd34d;animation:slideIn .3s ease-out}.concierge-notice-icon{flex-shrink:0}.concierge-notice-content{font-size:.875rem;color:#92400e;line-height:1.4}.concierge-error{display:flex;flex-wrap:wrap;align-items:flex-start;gap:.625rem;padding:.875rem 1rem;background:#fef2f2;border-radius:.75rem;border:1px solid #fca5a5;animation:slideIn .3s ease-out}.concierge-error-icon{flex-shrink:0}.concierge-error-message{flex:1;font-size:.875rem;color:#991b1b;line-height:1.4}.concierge-error-actions{display:flex;gap:.5rem;margin-top:.75rem;width:100%}.concierge-error-retry{padding:.5rem 1.25rem;background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;border:none;border-radius:.625rem;font-size:.8125rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 2px 8px #6366f140}.concierge-error-retry:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #6366f159}.concierge-error-retry:disabled{opacity:.6;cursor:not-allowed;transform:none}.concierge-error-save{padding:.5rem 1.25rem;background:transparent;color:#991b1b;border:1.5px solid #fca5a5;border-radius:.625rem;font-size:.8125rem;font-weight:500;cursor:pointer;transition:all .2s ease}.concierge-error-save:hover{background:#fca5a526}.concierge-diagnostic{background:linear-gradient(135deg,#fefce8,#fef3c7);border-radius:1.25rem;padding:1.5rem;border:2px solid #f59e0b;box-shadow:0 8px 24px #f59e0b26;animation:slideIn .4s ease-out}.concierge-diagnostic-header{display:flex;align-items:center;gap:.625rem;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid rgba(245,158,11,.3)}.concierge-diagnostic-icon{font-size:1.5rem}.concierge-diagnostic-label{font-size:1rem;font-weight:700;color:#b45309;text-transform:uppercase;letter-spacing:.05em}.concierge-diagnostic-message{font-size:.9375rem;color:#78350f;line-height:1.6;margin-bottom:1.25rem}.concierge-diagnostic-next-step{background:#fff9;border-radius:.75rem;padding:1rem;border:1px solid rgba(245,158,11,.2)}.concierge-diagnostic-next-step h4{font-size:.875rem;font-weight:700;color:#b45309;margin:0 0 .5rem}.concierge-diagnostic-next-step p{font-size:.8125rem;color:#92400e;line-height:1.5;margin:0}.concierge-diagnostic-cta{margin-top:16px;width:100%;padding:12px 16px;font-size:1rem;font-weight:600;border-radius:8px;border:none;background:#ff8c00;color:#fff;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #ff8c0040}.concierge-diagnostic-cta:hover:not(:disabled){opacity:.9;transform:translateY(-1px);box-shadow:0 6px 16px #ff8c0059}.concierge-diagnostic-cta:disabled{opacity:.6;cursor:not-allowed;transform:none}.concierge-diagnostic-subtext{font-size:.8125rem;color:#92400e;line-height:1.5;margin-bottom:1rem;padding-left:.5rem;border-left:2px solid rgba(245,158,11,.4)}.concierge-diagnostic-error{padding:.75rem 1rem;background:#fef2f2;border-radius:.5rem;border:1px solid #fca5a5;color:#991b1b;font-size:.875rem;margin-bottom:1rem}.concierge-diagnostic-captured{background:#fff9;border-radius:.75rem;padding:.875rem 1rem;border:1px solid rgba(245,158,11,.2);margin-bottom:1rem}.concierge-diagnostic-captured-label{display:block;font-size:.75rem;font-weight:700;color:#b45309;text-transform:uppercase;letter-spacing:.05em;margin-bottom:.375rem}.concierge-diagnostic-captured-text{font-size:.875rem;color:#78350f;line-height:1.5;margin:0}.concierge-product-card{background:linear-gradient(135deg,#eff6ff,#dbeafe);border-radius:1.25rem;padding:1.25rem;border:2px solid #3b82f6;box-shadow:0 8px 24px #3b82f61f;animation:slideIn .4s ease-out}.concierge-product-card-header{display:flex;align-items:center;gap:.625rem;margin-bottom:.875rem;padding-bottom:.625rem;border-bottom:1px solid rgba(59,130,246,.25)}.concierge-product-card-icon{font-size:1.25rem}.concierge-product-card-title{font-size:.875rem;font-weight:700;color:#1e40af;text-transform:uppercase;letter-spacing:.05em}.concierge-product-card-body{display:flex;flex-direction:column;gap:.375rem}.concierge-product-card-name{font-size:1rem;font-weight:600;color:#1e3a5f;line-height:1.4}.concierge-product-card-price{font-size:1.125rem;font-weight:700;color:#1e40af}.concierge-product-card-source{font-size:.8125rem;color:#64748b;font-style:italic}.concierge-welcome{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2.5rem 1.5rem;height:100%;opacity:1;transition:opacity .2s ease-out}.concierge-welcome-fadeout{opacity:0;pointer-events:none}.concierge-welcome-content{max-width:480px;width:100%}.concierge-welcome-header{font-size:1.625rem;font-weight:700;color:#fff;margin:0 0 .625rem;line-height:1.3;letter-spacing:-.01em}.concierge-welcome-subtext{font-size:.9375rem;color:#fff9;margin:0 0 1.75rem;line-height:1.5}.concierge-welcome-chips{display:grid;grid-template-columns:1fr 1fr;gap:.625rem;margin-bottom:1.5rem}.concierge-welcome-chip{padding:.75rem 1rem;border:1.5px solid rgba(255,255,255,.15);border-radius:.875rem;background:#ffffff0f;color:#ffffffd9;font-size:.875rem;font-weight:500;font-family:inherit;cursor:pointer;text-align:left;transition:all .2s ease;-webkit-tap-highlight-color:transparent;touch-action:manipulation;line-height:1.35}.concierge-welcome-chip:hover:not(:disabled){border-color:#6366f199;background:#6366f126;color:#fff;transform:translateY(-1px)}.concierge-welcome-chip:active:not(:disabled){transform:scale(.97)}.concierge-welcome-chip:disabled{opacity:.4;cursor:not-allowed}.concierge-welcome-form{display:flex;gap:.5rem;align-items:center;width:100%;margin-bottom:1rem}.concierge-welcome-input{flex:1;padding:.875rem 1rem;border:1.5px solid rgba(255,255,255,.2);border-radius:1.5rem;font-size:16px;font-family:inherit;background:#ffffff14;color:#fff;outline:none;transition:border-color .2s,box-shadow .2s;-webkit-appearance:none;appearance:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.concierge-welcome-input::placeholder{color:#fff6}.concierge-welcome-input:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f126;background:#ffffff1f}.concierge-welcome-input:disabled{opacity:.4;cursor:not-allowed}.concierge-welcome-send{width:2.5rem;height:2.5rem;min-width:2.5rem;border-radius:50%;border:none;background:#6366f1;color:#fff;font-size:1.1rem;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:background .2s,transform .15s,opacity .2s;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.concierge-welcome-send:hover:not(:disabled){background:#4f46e5;transform:scale(1.05)}.concierge-welcome-send:disabled{opacity:.25;cursor:not-allowed}.concierge-welcome-microcopy{font-size:.8125rem;color:#fff6;margin:0;line-height:1.4}.concierge-product-options{background:linear-gradient(135deg,#1a1a2e,#2d2d44);border-radius:1.25rem;padding:1.25rem;border:1px solid rgba(99,102,241,.2);box-shadow:0 8px 24px #0003;animation:slideIn .4s ease-out}.concierge-product-options-header{display:flex;align-items:center;gap:.5rem;margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid rgba(255,255,255,.1)}.concierge-product-options-icon{font-size:1.25rem}.concierge-product-options-title{font-size:.9375rem;font-weight:700;color:#ffffffe6;text-transform:capitalize}.concierge-product-options-grid{display:flex;flex-direction:column;gap:.75rem}.concierge-tier-card{position:relative;background:#ffffff0f;border:1.5px solid rgba(255,255,255,.12);border-radius:1rem;padding:1rem 1.125rem;cursor:pointer;transition:all .25s ease;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.concierge-tier-card:hover:not(.concierge-tier-dimmed){border-color:#6366f180;background:#6366f114;transform:translateY(-2px)}.concierge-tier-popular{border-color:#6366f180;background:#6366f11a;box-shadow:0 4px 16px #6366f126}.concierge-tier-selected{border-color:#10b981;background:#10b9811f;box-shadow:0 4px 16px #10b98133}.concierge-tier-dimmed{opacity:.4;cursor:default;transform:none}.concierge-tier-badge{position:absolute;top:-.625rem;right:1rem;background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;font-size:.6875rem;font-weight:700;padding:.25rem .75rem;border-radius:1rem;text-transform:uppercase;letter-spacing:.05em}.concierge-tier-name{font-size:1rem;font-weight:700;color:#fff;margin-bottom:.25rem}.concierge-tier-price{font-size:1.125rem;font-weight:700;background:linear-gradient(135deg,#10b981,#34d399);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:.375rem}.concierge-tier-summary{font-size:.8125rem;color:#ffffffa6;line-height:1.4;margin-bottom:.5rem}.concierge-tier-benefits{list-style:none;padding:0;margin:0 0 .5rem}.concierge-tier-benefits li{padding:.2rem 0 .2rem 1.125rem;position:relative;font-size:.8125rem;color:#fffc;line-height:1.4}.concierge-tier-benefits li:before{content:"✓";position:absolute;left:0;color:#10b981;font-size:.75rem}.concierge-tier-proof{font-size:.75rem;color:#ffffff73;font-style:italic;margin-top:.25rem}.concierge-tier-rationale{margin-top:.75rem;padding-top:.75rem;border-top:1px solid rgba(255,255,255,.08);display:flex;flex-direction:column;gap:.3rem}.concierge-rationale-line{font-size:.75rem;color:#ffffff80;line-height:1.55}.concierge-rationale-label{font-weight:600;color:#ffffffa6}.concierge-complexity-low{color:#34d399;font-weight:600}.concierge-complexity-medium{color:#fbbf24;font-weight:600}.concierge-complexity-high{color:#f87171;font-weight:600}.concierge-tier-check{margin-top:.5rem;font-size:.875rem;font-weight:600;color:#10b981}.concierge-tier-confirmation{margin-top:.75rem;padding:.75rem 1rem;background:#10b9811a;border-radius:.75rem;border:1px solid rgba(16,185,129,.3);font-size:.875rem;color:#ffffffd9;line-height:1.4;animation:slideIn .3s ease-out}.concierge-education-section{margin-top:.75rem;display:flex;flex-direction:column;gap:.375rem}.concierge-education{border-radius:.625rem;overflow:hidden;transition:background .2s}.concierge-education-expanded{background:#ffffff0a}.concierge-education-trigger{display:flex;align-items:center;gap:.375rem;width:100%;padding:.5rem .625rem;border:none;background:transparent;color:#fff9;font-size:.8125rem;font-family:inherit;cursor:pointer;text-align:left;transition:color .2s;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.concierge-education-trigger:hover{color:#ffffffd9}.concierge-education-icon{font-size:.875rem;flex-shrink:0}.concierge-education-title{flex:1;font-weight:500}.concierge-education-arrow{flex-shrink:0;font-size:.75rem}.concierge-education-body{padding:0 .625rem .625rem;animation:slideIn .25s ease-out}.concierge-education-definition{font-size:.8125rem;color:#ffffffb3;line-height:1.5;margin:0 0 .375rem}.concierge-education-bullets{list-style:none;padding:0;margin:0}.concierge-education-bullets li{padding:.15rem 0 .15rem 1rem;position:relative;font-size:.8125rem;color:#fff9;line-height:1.4}.concierge-education-bullets li:before{content:"•";position:absolute;left:0;color:#6366f199}@media(max-width:380px){.concierge-welcome-chips{grid-template-columns:1fr}.concierge-welcome-header{font-size:1.375rem}}.concierge-thinking{display:flex;align-items:flex-start;gap:.5rem;padding:.875rem 1.125rem;max-width:85%;background:linear-gradient(135deg,#f0f4ff,#e8eeff);border:1px solid rgba(99,102,241,.15);border-radius:1.25rem;animation:slideIn .3s ease-out}.concierge-thinking-dots{display:flex;align-items:center;gap:.25rem;padding-top:.15rem}.concierge-thinking-text{font-size:.9375rem;color:#6b7280;font-style:italic;line-height:1.5;transition:opacity .3s ease}.concierge-loading-dot{width:.5rem;height:.5rem;background:#6366f1;border-radius:50%;animation:bounce 1.4s ease-in-out infinite both}.concierge-loading-dot:nth-child(1){animation-delay:-.32s}.concierge-loading-dot:nth-child(2){animation-delay:-.16s}.concierge-progress{padding:1rem 0;border-top:1px solid #e5e7eb}.concierge-progress-bar{position:relative;height:.375rem;background:#e5e7eb;border-radius:1rem;overflow:hidden}.concierge-progress-fill{position:absolute;left:0;top:0;height:100%;background:linear-gradient(90deg,#6366f1,#10b981);border-radius:1rem;transition:width .5s ease}.concierge-progress-text{display:block;text-align:center;font-size:.75rem;color:#6b7280;margin-top:.5rem}@keyframes slideIn{0%{opacity:0}to{opacity:1}}@media(max-width:480px){.concierge-chat{padding:.75rem}.concierge-bubble{max-width:90%}.concierge-estimate-low,.concierge-estimate-high{font-size:1.5rem}.concierge-chips-grid{grid-template-columns:1fr}}.concierge-chat-input{display:flex;gap:.5rem;align-items:center;padding:.75rem 1rem;margin-top:.5rem;background:#ffffff0f;border-top:1px solid rgba(255,255,255,.1);border-radius:0 0 1rem 1rem}.concierge-chat-text-input{flex:1;padding:.75rem 1rem;border:1.5px solid rgba(255,255,255,.2);border-radius:1.5rem;font-size:16px;font-family:inherit;background:#ffffff14;color:#fff;outline:none;transition:border-color .2s,box-shadow .2s;-webkit-appearance:none;appearance:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.concierge-chat-text-input::placeholder{color:#fff6}.concierge-chat-text-input:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f126;background:#ffffff1f}.concierge-chat-text-input:disabled{opacity:.4;cursor:not-allowed}.concierge-chat-attach-btn{width:2.5rem;height:2.5rem;min-width:2.5rem;border-radius:50%;border:none;background:transparent;color:#fff;font-size:1.25rem;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:background .2s,transform .15s,opacity .2s;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.concierge-chat-attach-btn:hover:not(:disabled){background:#ffffff1a;transform:scale(1.05)}.concierge-chat-attach-btn:active:not(:disabled){transform:scale(.95)}.concierge-chat-attach-btn:disabled{opacity:.25;cursor:not-allowed}.concierge-chat-send-btn{width:2.5rem;height:2.5rem;min-width:2.5rem;border-radius:50%;border:none;background:#6366f1;color:#fff;font-size:1.1rem;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;transition:background .2s,transform .15s,opacity .2s;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.concierge-chat-send-btn:hover:not(:disabled){background:#4f46e5;transform:scale(1.05)}.concierge-chat-send-btn:active:not(:disabled){transform:scale(.95)}.concierge-chat-send-btn:disabled{opacity:.25;cursor:not-allowed}.concierge-quick-replies{display:flex;gap:.5rem;padding:.625rem 1rem;overflow-x:auto;-webkit-overflow-scrolling:touch;scrollbar-width:none}.concierge-quick-replies::-webkit-scrollbar{display:none}.concierge-quick-reply-chip{padding:.5rem 1rem;border:1.5px solid rgba(99,102,241,.6);border-radius:1.25rem;background:#6366f11a;color:#a5b4fc;font-size:.875rem;font-weight:500;font-family:inherit;white-space:nowrap;cursor:pointer;transition:background .2s,transform .15s,color .2s;flex-shrink:0;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.concierge-quick-reply-chip:hover:not(:disabled){background:#6366f1;color:#fff;transform:translateY(-1px)}.concierge-quick-reply-chip:active:not(:disabled){transform:scale(.97)}.concierge-quick-reply-chip:disabled{opacity:.4;cursor:not-allowed}.concierge-chat-input-wrapper{display:flex;flex-direction:column}.concierge-upload-error{padding:8px 12px;margin-bottom:4px;font-size:13px;font-weight:500;color:#fca5a5;background:#ef44441f;border-radius:6px;text-align:center;animation:slideIn .3s ease-out}.concierge-photo-decision{display:flex;flex-direction:column;align-items:center;gap:10px;padding:16px;margin:8px 0;border-radius:12px;background:#6366f10f;border:1px solid rgba(99,102,241,.2)}.photo-decision-icon{font-size:24px}.photo-decision-text{font-size:14px;font-weight:600;color:#ffffffd9;margin:0}.photo-decision-buttons{display:flex;flex-direction:column;gap:8px;width:100%}.photo-decision-btn{padding:10px 16px;border-radius:8px;font-size:14px;font-weight:600;cursor:pointer;transition:all .15s ease;-webkit-tap-highlight-color:transparent;min-height:44px}.photo-decision-primary{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;border:none}.photo-decision-primary:active{transform:scale(.98);opacity:.9}.photo-decision-secondary{background:transparent;color:#ffffffa6;border:1px solid rgba(255,255,255,.2)}.photo-decision-secondary:active{border-color:#fff6}.scope-readiness{margin:8px 0 12px;padding:12px 16px;border-radius:12px;background:#ffffff0d;border:1px solid rgba(255,255,255,.1)}.scope-readiness-header{display:flex;align-items:center;gap:8px;margin-bottom:8px}.scope-readiness-icon{font-size:14px}.scope-readiness-label{font-size:14px;font-weight:600;color:#fff}.scope-readiness-bar-container{height:6px;background:#ffffff1a;border-radius:3px;overflow:hidden;margin-bottom:6px}.scope-readiness-bar{height:100%;border-radius:3px;transition:width .5s ease-out}.scope-readiness-green .scope-readiness-bar{background:linear-gradient(90deg,#22c55e,#16a34a)}.scope-readiness-yellow .scope-readiness-bar{background:linear-gradient(90deg,#eab308,#ca8a04)}.scope-readiness-red .scope-readiness-bar{background:linear-gradient(90deg,#9ca3af,#6b7280)}.scope-readiness-hint{font-size:12px;color:#fffc;font-style:italic}.scope-readiness-green{border-color:#22c55e4d;background:#22c55e14}.scope-readiness-yellow{border-color:#eab3084d;background:#eab30814}.scope-readiness-red{border-color:#9ca3af33;background:#9ca3af0d}.scope-brief-card{margin:12px 0;padding:0;border-radius:16px;background:linear-gradient(135deg,#3b82f614,#6366f10f);border:1px solid rgba(99,102,241,.25);overflow:hidden;animation:scopeBriefSlideIn .4s ease-out}@keyframes scopeBriefSlideIn{0%{opacity:0}to{opacity:1}}.scope-brief-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;background:#6366f11a;border-bottom:1px solid rgba(99,102,241,.15)}.scope-brief-badge{display:flex;align-items:center;gap:6px}.scope-brief-icon{font-size:16px}.scope-brief-trade{font-size:14px;font-weight:700;color:#a5b4fc;text-transform:uppercase;letter-spacing:.5px}.scope-brief-job-type{font-size:13px;font-weight:500;color:#a5b4fcb3}.scope-brief-label{font-size:11px;font-weight:600;color:#fff6;text-transform:uppercase;letter-spacing:1px}.scope-brief-body{padding:16px;font-size:14px;line-height:1.65;color:#ffffffeb;white-space:pre-wrap}.scope-brief-notes{padding:10px 16px 14px;border-top:1px solid rgba(99,102,241,.12);display:flex;flex-direction:column;gap:6px}.scope-brief-note{display:flex;align-items:flex-start;gap:6px}.scope-brief-note-bullet{font-size:13px;flex-shrink:0;margin-top:1px}.scope-brief-note-text{font-size:12px;color:#ffffffb3;line-height:1.4}@media(max-width:480px){.scope-brief-card{margin:8px 0;border-radius:12px}.scope-brief-header{padding:10px 14px}.scope-brief-body{padding:12px 14px;font-size:13px}.scope-brief-notes{padding:8px 14px 12px}}.job-summary-card{margin:12px 0;border-radius:16px;overflow:hidden;animation:jobSummaryFadeIn .5s ease-out}@keyframes jobSummaryFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.job-summary-green{background:linear-gradient(135deg,#22c55e14,#16a34a0a);border:1px solid rgba(34,197,94,.3)}.job-summary-yellow{background:linear-gradient(135deg,#eab30814,#ca8a040a);border:1px solid rgba(234,179,8,.3)}.job-summary-red{background:linear-gradient(135deg,#9ca3af0f,#6b728008);border:1px solid rgba(156,163,175,.25)}.job-summary-neutral{background:linear-gradient(135deg,#94a3b80f,#64748b08);border:1px solid rgba(148,163,184,.2)}.job-summary-header{padding:16px 16px 12px;border-bottom:1px solid rgba(255,255,255,.08)}.job-summary-header-main{display:flex;align-items:center;gap:8px;margin-bottom:6px}.job-summary-header-icon{font-size:18px}.job-summary-header-title{font-size:18px;font-weight:700;color:#fff}.job-summary-scope-line{display:flex;align-items:center;gap:6px}.job-summary-trade-icon{font-size:15px}.job-summary-scope-text{font-size:15px;font-weight:600;color:#ffffffd9;letter-spacing:.2px}.job-summary-photo-insights{padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.08);background:#6366f10f}.job-summary-photo-insights-header{display:flex;align-items:center;gap:6px;margin-bottom:8px}.job-summary-photo-insights-icon{font-size:14px}.job-summary-photo-insights-title{font-size:12px;font-weight:600;color:#fff9;letter-spacing:.3px}.job-summary-photo-insights-list{list-style:none;padding:0;margin:0}.job-summary-photo-insights-list li{font-size:13px;line-height:1.6;color:#ffffffd9;padding:1px 0 1px 16px;position:relative}.job-summary-photo-insights-list li:before{content:"•";position:absolute;left:0;color:#6366f199;font-weight:700}.job-summary-photo-insight-label{color:#ffffff8c;font-weight:500}.job-summary-photo-insight-value{color:#ffffffe6;font-weight:600;text-transform:capitalize}.job-summary-estimate{padding:14px 16px;border-bottom:1px solid rgba(255,255,255,.08)}.job-summary-estimate-label{display:block;font-size:11px;font-weight:600;color:#ffffff73;text-transform:uppercase;letter-spacing:1px;margin-bottom:4px}.job-summary-estimate-range{display:flex;align-items:baseline;gap:6px}.job-summary-estimate-value{font-size:24px;font-weight:700;color:#fff}.job-summary-estimate-sep{font-size:18px;color:#fff6}.job-summary-readiness-inline{margin-top:8px;font-size:13px;font-weight:600;padding:4px 0}.job-summary-readiness-green{color:#4ade80}.job-summary-readiness-yellow{color:#fbbf24}.job-summary-readiness-red{color:#9ca3af}.job-summary-readiness-neutral{color:#94a3b8}.job-summary-delta{margin-top:6px;font-size:13px;font-weight:500;color:#ffffffa6;line-height:1.4;transition:opacity .2s ease}.job-summary-progress{display:flex;align-items:center;gap:0;margin-top:10px;padding:2px 0}.job-summary-progress-step{display:flex;align-items:center;gap:4px}.job-summary-progress-dot{font-size:10px;color:#ffffff40;transition:color .2s ease}.job-summary-progress-step.active .job-summary-progress-dot{color:#6366f1}.job-summary-progress-label{font-size:11px;font-weight:600;color:#ffffff4d;text-transform:uppercase;letter-spacing:.5px;transition:color .2s ease}.job-summary-progress-step.active .job-summary-progress-label{color:#ffffffb3}.job-summary-progress-line{display:inline-block;width:20px;height:1px;background:#ffffff26;margin:0 6px}.job-summary-scope-brief-text{font-size:14px;line-height:1.65;color:#ffffffe6;margin:0;white-space:pre-line}.job-summary-section{padding:12px 16px;border-bottom:1px solid rgba(255,255,255,.06)}.job-summary-section-title{font-size:12px;font-weight:700;color:#ffffff80;text-transform:uppercase;letter-spacing:.8px;margin:0 0 8px}.job-summary-list{list-style:none;padding:0;margin:0}.job-summary-list li{position:relative;padding-left:16px;font-size:14px;line-height:1.6;color:#ffffffe0}.job-summary-list li:before{content:"·";position:absolute;left:0;font-weight:700;color:#fff6}.job-summary-assumptions .job-summary-list li{color:#ffffffa6;font-style:italic}.job-summary-assumptions .job-summary-list li:before{content:"~";color:#ffffff4d}.job-summary-unknowns-section{padding:10px 16px;border-bottom:1px solid rgba(255,255,255,.06)}.job-summary-unknowns-toggle{display:flex;align-items:center;gap:6px;width:100%;padding:4px 0;background:none;border:none;cursor:pointer;text-align:left}.job-summary-unknowns-icon{font-size:14px;flex-shrink:0}.job-summary-unknowns-label{font-size:13px;font-weight:600;color:#fbbf24;flex:1}.job-summary-toggle-arrow{font-size:10px;color:#fff6}.job-summary-unknowns-list{list-style:none;padding:8px 0 0 20px;margin:0}.job-summary-unknowns-list li{font-size:13px;line-height:1.5;color:#ffffffb3;padding:2px 0}.job-summary-unknowns-clear{display:flex;align-items:center;gap:6px;font-size:13px;font-weight:600;color:#4ade80;padding:4px 0}.job-summary-collapse-toggle{display:flex;align-items:center;justify-content:space-between;width:100%;padding:0;background:none;border:none;cursor:pointer;font-size:12px;font-weight:700;color:#ffffff80;text-transform:uppercase;letter-spacing:.8px}.job-summary-trust-line{padding:10px 16px;font-size:12px;color:#ffffff73;font-style:italic;text-align:center;border-bottom:1px solid rgba(255,255,255,.06)}.job-summary-actions{display:flex;gap:10px;padding:14px 16px}.job-summary-cta-primary{flex:1;padding:12px 16px;border:none;border-radius:10px;font-size:15px;font-weight:700;color:#fff;background:linear-gradient(135deg,#6366f1,#4f46e5);cursor:pointer;transition:transform .1s ease,opacity .15s ease}.job-summary-cta-primary:active{transform:scale(.98);opacity:.9}.job-summary-cta-secondary{flex:1;padding:12px 16px;border:1px solid rgba(255,255,255,.2);border-radius:10px;font-size:15px;font-weight:600;color:#fffc;background:transparent;cursor:pointer;transition:border-color .15s ease}.job-summary-cta-secondary:active{border-color:#fff6}@media(max-width:480px){.job-summary-card{margin:8px 0;border-radius:12px}.job-summary-header{padding:14px 14px 10px}.job-summary-header-title{font-size:16px}.job-summary-scope-text{font-size:14px}.job-summary-estimate{padding:12px 14px}.job-summary-estimate-value{font-size:22px}.job-summary-section{padding:10px 14px}.job-summary-list li{font-size:13px}.job-summary-actions{flex-direction:column;gap:8px;padding:12px 14px}.job-summary-cta-primary,.job-summary-cta-secondary{min-height:44px}}.job-post-feed{height:calc(100vh - 60px);height:calc(100dvh - 60px);overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;background:linear-gradient(180deg,var(--color-bg-primary) 0%,var(--color-bg-secondary) 100%);padding:var(--space-4);padding-bottom:100px}.feed-container{max-width:500px;margin:0 auto;display:flex;flex-direction:column;gap:var(--space-4)}.feed-card{background:var(--color-surface, rgba(30, 30, 50, .9));border:1px solid var(--color-border);border-radius:var(--radius-xl);padding:var(--space-4);box-shadow:0 4px 20px #0000004d;color:#fff;--card-text-primary: #ffffff;--card-text-secondary: rgba(255, 255, 255, .7);--card-text-muted: rgba(255, 255, 255, .5)}.animate-in{animation:fadeInCard .4s ease-out forwards}@keyframes fadeInCard{0%{opacity:0}to{opacity:1}}.card-header{display:flex;align-items:center;gap:var(--space-3);margin-bottom:var(--space-3)}.user-avatar,.ai-avatar{width:44px;height:44px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:700}.user-avatar{background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));color:#fff}.ai-avatar{background:linear-gradient(135deg,#8b5cf6,#ec4899);font-size:1.5rem}.user-info{display:flex;flex-direction:column}.user-name{font-weight:600;color:#fff}.post-label{font-size:var(--font-size-xs);color:#fff9}.media-section{margin-bottom:var(--space-3)}.media-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-8);background:var(--color-bg-tertiary);border:2px dashed var(--color-border);border-radius:var(--radius-lg);cursor:pointer;transition:all .2s ease}.media-placeholder.compact{padding:var(--space-4);flex-direction:row;gap:var(--space-3)}.media-placeholder.compact .media-icon{font-size:1.5rem}.media-upload-row{display:flex;gap:var(--space-2);width:100%}.media-btn{flex:1;display:flex;align-items:center;justify-content:center;gap:var(--space-2);padding:var(--space-3) var(--space-4);background:var(--color-bg-tertiary);border:2px dashed var(--color-border);border-radius:var(--radius-lg);color:var(--color-text-secondary);font-size:var(--font-size-sm);cursor:pointer;transition:all .2s ease}.media-btn:hover{border-color:var(--color-primary);color:var(--color-primary);background:#00d4aa0d}.media-placeholder:hover{border-color:var(--color-primary);background:#00d4aa0d}.media-icon{font-size:2.5rem}.media-placeholder span:last-child{color:var(--color-text-muted);font-size:var(--font-size-sm)}.media-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2)}.media-thumb{position:relative;aspect-ratio:1;border-radius:var(--radius-md);overflow:hidden}.media-thumb img,.media-thumb video{width:100%;height:100%;object-fit:cover}.remove-media{position:absolute;top:4px;right:4px;width:24px;height:24px;border-radius:50%;background:#ef4444e6;border:none;color:#fff;font-size:16px;cursor:pointer;display:flex;align-items:center;justify-content:center}.video-duration{position:absolute;bottom:4px;right:4px;background:#000000b3;color:#fff;padding:2px 6px;border-radius:4px;font-size:10px}.add-more-media{aspect-ratio:1;display:flex;align-items:center;justify-content:center;background:var(--color-bg-tertiary);border:2px dashed var(--color-border);border-radius:var(--radius-md);cursor:pointer;font-size:2rem;color:var(--color-text-muted)}.add-more-media:hover{border-color:var(--color-primary);color:var(--color-primary)}.post-textarea{width:100%;background:transparent;border:none;color:#fff;font-size:var(--font-size-lg);font-family:inherit;resize:none;padding:var(--space-2) 0;margin-bottom:var(--space-3)}.post-textarea::placeholder{color:#ffffff80}.post-textarea:focus{outline:none}.post-textarea-helper{display:block;font-size:var(--font-size-xs);color:#fff6;margin-top:calc(var(--space-2) * -1);margin-bottom:var(--space-3);font-style:italic}.contact-card{border-left:4px solid var(--color-primary);background:#1e1e32f2!important;color:#fff!important}.contact-card-body{padding:var(--space-1) 0 0}.contact-card-title{margin:0 0 var(--space-1);font-size:var(--font-size-xl);color:#fff}.contact-card-subtitle{margin:0 0 var(--space-4);font-size:var(--font-size-sm);color:#ffffff80}.contact-field-label{display:block;font-size:var(--font-size-xs);font-weight:600;color:#ffffffb3;margin-bottom:var(--space-1);letter-spacing:.3px}.contact-fields{display:flex;flex-direction:column;gap:var(--space-3)}.contact-field-helper{display:block;font-size:var(--font-size-xs);color:#fff6;margin-top:calc(var(--space-1) * -1);font-style:italic}.contact-input{width:100%;padding:var(--space-3);background:#ffffff14!important;border:1px solid rgba(255,255,255,.15);border-radius:var(--radius-md);color:#fff!important;font-size:var(--font-size-base);font-family:inherit;transition:border-color .2s ease;-webkit-appearance:none;appearance:none;box-sizing:border-box}.contact-input::placeholder{color:#ffffff4d!important}.contact-input:focus{outline:none;border-color:var(--color-primary);background:#ffffff1f!important}.contact-input:-webkit-autofill,.contact-input:-webkit-autofill:hover,.contact-input:-webkit-autofill:focus{-webkit-text-fill-color:#ffffff!important;-webkit-box-shadow:0 0 0 1000px rgba(30,30,50,.95) inset!important;box-shadow:0 0 0 1000px #1e1e32f2 inset!important;transition:background-color 5000s ease-in-out 0s}.zip-inline-row{display:flex;align-items:center;gap:var(--space-2)}.zip-inline-row .zip-icon{font-size:1.2rem;flex-shrink:0}.zip-inline-input{max-width:140px;text-align:center;letter-spacing:2px;font-size:16px!important}.contact-continue-btn{width:100%;margin-top:var(--space-4);padding:var(--space-3) var(--space-4);background:linear-gradient(135deg,#4fc3f7,#29b6f6,#0288d1);border:none;border-radius:var(--radius-md);color:#fff;font-size:var(--font-size-lg);font-weight:700;cursor:pointer;transition:opacity .2s ease,transform .1s ease;box-shadow:0 4px 15px #4fc3f759;letter-spacing:.5px}.contact-continue-btn:disabled{opacity:.4;cursor:not-allowed}.contact-continue-btn:not(:disabled):hover{opacity:.9}.contact-continue-btn:not(:disabled):active{transform:scale(.98)}.category-chips{display:flex;flex-wrap:wrap;gap:var(--space-2);margin-bottom:var(--space-3)}.category-chip{padding:var(--space-2) var(--space-3);border-radius:var(--radius-full);background:var(--color-bg-tertiary);border:1px solid var(--color-border);color:var(--color-text-secondary);font-size:var(--font-size-sm);cursor:pointer;transition:all .2s ease}.category-chip:hover{border-color:var(--color-primary)}.category-chip.active{background:var(--color-primary-muted);border-color:var(--color-primary);color:var(--color-primary)}.zip-row{display:flex;align-items:center;gap:var(--space-2);padding:var(--space-2) 0;border-top:1px solid var(--color-border);margin-bottom:var(--space-3)}.zip-icon{font-size:1.25rem}.zip-input{flex:1;background:transparent;border:none;color:#fff;font-size:var(--font-size-base);font-family:inherit}.zip-input::placeholder{color:#ffffff80}.zip-input:focus{outline:none}.submit-post-btn{width:100%;padding:var(--space-4)!important;font-size:var(--font-size-lg)!important;background:linear-gradient(135deg,var(--color-primary),var(--color-secondary))!important}.feed-error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:var(--color-error);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--font-size-sm);margin-bottom:var(--space-3)}.ai-response-card{border-left:4px solid #8b5cf6}.estimate-display{text-align:center;padding:var(--space-4);background:linear-gradient(135deg,#8b5cf61a,#ec48991a);border-radius:var(--radius-lg);margin-bottom:var(--space-3)}.concierge-card{border-left:4px solid var(--color-primary);padding:0;overflow:visible}.concierge-card .concierge-chat{max-height:none;overflow:visible}.concierge-card .concierge-messages{max-height:none;overflow-y:visible}.concierge-card .concierge-starter{padding:var(--space-4)}.concierge-card .concierge-starter h2{font-size:var(--font-size-lg);margin-bottom:var(--space-2)}.concierge-card .concierge-starter p{font-size:var(--font-size-sm);color:var(--card-text-secondary);margin-bottom:var(--space-3)}.concierge-card .concierge-starter textarea{width:100%;min-height:80px;background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-md);padding:var(--space-3);color:var(--card-text-primary);font-size:var(--font-size-base);resize:vertical}.concierge-card .concierge-starter button{width:100%;margin-top:var(--space-3);padding:var(--space-3);background:var(--color-primary);border:none;border-radius:var(--radius-md);color:#fff;font-weight:600;cursor:pointer}.confidence-badge{display:inline-block;padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--font-size-xs);font-weight:600;margin-bottom:var(--space-2);text-transform:uppercase;letter-spacing:.5px}.confidence-high{background:#10b98133;color:var(--color-success);border:1px solid rgba(16,185,129,.4)}.confidence-medium{background:#f59e0b33;color:var(--color-warning);border:1px solid rgba(245,158,11,.4)}.confidence-low{background:#ef444433;color:var(--color-error);border:1px solid rgba(239,68,68,.4)}.price-range{display:flex;align-items:center;justify-content:center;gap:var(--space-2);font-size:var(--font-size-2xl);font-weight:700}.price-low{color:var(--color-success)}.price-divider{color:var(--color-text-muted)}.price-high{color:var(--color-warning)}.price-recommended{margin-top:var(--space-2);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.price-recommended strong{color:var(--color-primary);font-size:var(--font-size-lg)}.scope-preview h4,.observations h4{margin:0 0 var(--space-2);font-size:var(--font-size-sm);color:#fff}.scope-preview ul{margin:0;padding-left:var(--space-4);color:#fffc;font-size:var(--font-size-sm)}.scope-preview li{margin-bottom:var(--space-1)}.observations{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border)}.observations p{margin:0;font-size:var(--font-size-sm);color:#fffc}.questions-card{border-left:4px solid #f59e0b}.questions-list{display:flex;flex-direction:column;gap:var(--space-4)}.question-item{padding-bottom:var(--space-3);border-bottom:1px solid var(--color-border)}.question-item:last-child{border-bottom:none;padding-bottom:0}.single-question{display:flex;flex-direction:column;gap:var(--space-2)}.single-question .question-progress{margin:0;flex-shrink:0}.single-question .question-text{width:100%;word-wrap:break-word;overflow-wrap:break-word;white-space:normal}.single-question .custom-input-row{width:100%}.question-text{margin:0 0 var(--space-2);font-size:var(--font-size-sm);color:#fff;font-weight:500}.question-progress{color:#fff9;font-size:var(--font-size-xs);margin-bottom:var(--space-2)}.answer-buttons{display:flex;gap:var(--space-2)}.answer-btn{flex:1;padding:var(--space-3);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:all .2s ease;border:1px solid var(--color-border);background:var(--color-bg-tertiary);color:var(--color-text-primary)}.answer-btn.yes:hover{background:#10b98133;border-color:var(--color-success);color:var(--color-success)}.answer-btn.no:hover{background:#ef444433;border-color:var(--color-error);color:var(--color-error)}.answer-btn.other:hover{background:#3b82f633;border-color:var(--color-info);color:var(--color-info)}.answer-display{display:flex;align-items:center;gap:var(--space-2)}.answer-value{background:var(--color-primary-muted);color:var(--color-primary);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:500}.change-btn{background:none;border:none;color:var(--color-text-muted);font-size:var(--font-size-xs);cursor:pointer;text-decoration:underline}.custom-input-row{display:flex;gap:var(--space-2)}.custom-input{flex:1;padding:var(--space-2) var(--space-3);background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-size:var(--font-size-sm)}.custom-input:focus{outline:none;border-color:var(--color-primary)}.submit-custom-btn{padding:var(--space-2) var(--space-3);background:var(--color-primary);border:none;border-radius:var(--radius-md);color:#fff;font-weight:700;cursor:pointer}.update-estimate-btn{width:100%;margin-top:var(--space-3)}.update-card{border-left:4px solid var(--color-success)}.ai-message{margin:0 0 var(--space-3);color:var(--color-text-secondary);line-height:1.5}.updated-price{display:flex;align-items:center;justify-content:space-between;padding:var(--space-3);background:#10b9811a;border-radius:var(--radius-md)}.updated-price .label{color:var(--color-text-muted);font-size:var(--font-size-sm)}.updated-price .price{font-weight:700;color:var(--color-success)}.action-card{background:linear-gradient(135deg,#00d4aa1a,#6366f11a);border:2px solid var(--color-primary)}.action-content{text-align:center}.action-content h3{margin:0 0 var(--space-2);font-size:var(--font-size-xl)}.action-content p{margin:0 0 var(--space-4);color:var(--color-text-secondary)}.action-buttons{display:flex;flex-direction:column;gap:var(--space-2)}.get-bids-btn{background:linear-gradient(135deg,var(--color-success),#059669)!important;padding:var(--space-4)!important;font-size:var(--font-size-lg)!important}.contractor-readiness{text-align:left;background:#0000000a;border:1px solid rgba(0,0,0,.12);border-radius:var(--radius-lg);padding:var(--space-4);margin-bottom:var(--space-4)}.readiness-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-4);flex-wrap:wrap}.readiness-icon{font-size:1.2rem}.readiness-title{font-weight:600;font-size:var(--font-size-base);color:#1a1a2e}.readiness-subtitle{font-size:var(--font-size-xs);color:#0006;margin-left:auto}.readiness-question{margin-bottom:var(--space-3)}.readiness-question:last-child{margin-bottom:0}.readiness-label{display:block;font-size:var(--font-size-sm);color:#2d2d44;margin-bottom:var(--space-2);font-weight:500}.readiness-toggle-group{display:flex;gap:var(--space-2);flex-wrap:wrap}.readiness-toggle{padding:var(--space-2) var(--space-3);border-radius:var(--radius-full);border:1px solid rgba(0,0,0,.15);background:#fff9;color:#444;font-size:var(--font-size-sm);cursor:pointer;transition:all .2s ease;font-family:inherit;min-height:40px}.readiness-toggle:hover{border-color:#0000004d;background:#fffc}.readiness-toggle.selected{border-color:#059669;background:#0596691f;color:#059669;font-weight:600}.readiness-textarea{width:100%;padding:var(--space-2) var(--space-3);background:#fff9;border:1px solid rgba(0,0,0,.15);border-radius:var(--radius-md);color:#1a1a2e;font-size:var(--font-size-sm);font-family:inherit;resize:vertical;min-height:48px;max-height:120px;box-sizing:border-box;transition:border-color .2s ease}.readiness-textarea::placeholder{color:#00000059}.readiness-textarea:focus{outline:none;border-color:#059669;background:#fffc}.readiness-char-count{display:block;text-align:right;font-size:var(--font-size-xs);color:#00000059;margin-top:2px}.readiness-badge{margin-top:var(--space-3);padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:500;text-align:center}.readiness-badge-done{background:#0596691a;color:#059669;border:1px solid rgba(5,150,105,.25)}.readiness-badge-pending{background:#0000000a;color:#0006;border:1px solid rgba(0,0,0,.08);font-style:italic}.success-card{background:linear-gradient(135deg,#10b98126,#00d4aa14);border:2px solid var(--color-success)}.success-content{text-align:center;padding:var(--space-4)}.success-icon{font-size:3rem;display:block;margin-bottom:var(--space-2)}.success-content h3{margin:0 0 var(--space-1);color:#065f46;font-size:var(--font-size-xl)}.success-content p{margin:0;color:#374151}.success-subtitle{margin-bottom:var(--space-4)!important;font-size:var(--font-size-base)}.success-scope-summary{text-align:left;background:#ffffff80;border:1px solid rgba(5,150,105,.2);border-radius:var(--radius-md);padding:var(--space-3);margin:var(--space-3) 0}.success-scope-summary h4{margin:0 0 var(--space-2);font-size:var(--font-size-sm);color:#065f46;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.success-scope-brief{font-size:var(--font-size-sm);color:#1f2937;line-height:1.5}.success-scope-list{margin:0;padding-left:var(--space-4);color:#1f2937;font-size:var(--font-size-sm)}.success-scope-list li{margin-bottom:var(--space-1)}.success-estimate{display:flex;align-items:center;justify-content:center;gap:var(--space-3);padding:var(--space-3);background:#ffffff80;border:1px solid rgba(5,150,105,.2);border-radius:var(--radius-md);margin:var(--space-3) 0}.success-estimate-label{font-size:var(--font-size-sm);color:#374151}.success-estimate-range{font-size:var(--font-size-lg);font-weight:700;color:#065f46}.success-actions{display:flex;flex-direction:column;gap:var(--space-2);margin-top:var(--space-4)}.success-view-btn{background:linear-gradient(135deg,var(--color-success),#059669)!important;padding:var(--space-3)!important;font-size:var(--font-size-lg)!important}.trade-select-card{border-left:4px solid var(--color-primary);background:#1e1e32f2!important;color:#fff!important}.trade-select-body{padding:var(--space-2) 0 var(--space-1);text-align:center}.trade-select-title{margin:0 0 var(--space-1);font-size:var(--font-size-xl);color:#fff}.trade-select-subtitle{margin:0 0 var(--space-4);font-size:var(--font-size-sm);color:#ffffff80}.trade-chips{display:flex;gap:var(--space-3);justify-content:center;flex-wrap:wrap}.trade-chip{display:flex;flex-direction:column;align-items:center;gap:var(--space-1);padding:var(--space-4) var(--space-5);background:#ffffff12;border:1px solid rgba(255,255,255,.15);border-radius:var(--radius-lg);color:#fff;cursor:pointer;transition:all .2s ease;min-width:88px;font-family:inherit}.trade-chip:hover{background:#00d4aa26;border-color:var(--color-primary);transform:translateY(-2px);box-shadow:0 4px 16px #00d4aa33}.trade-chip-selected{background:#00d4aa33!important;border-color:var(--color-primary)!important;box-shadow:0 0 0 2px #00d4aa66;transform:none;cursor:default}.trade-chip-disabled{opacity:.35;cursor:not-allowed;transform:none!important;box-shadow:none!important}.trade-chip-check{font-size:.9rem;color:var(--color-primary);font-weight:700;margin-top:2px}.trade-chip-emoji{font-size:1.8rem;line-height:1}.trade-chip-label{font-size:var(--font-size-sm);font-weight:600;letter-spacing:.3px}.optional-badge{font-size:var(--font-size-xs);font-weight:400;color:#0006;margin-left:4px}.contractor-readiness-secondary{margin-top:var(--space-4);margin-bottom:0;opacity:.9}.zip-entry-card{border-left:4px solid var(--color-primary);background:#1e1e32f2!important;color:#fff!important}.zip-entry-body{padding:var(--space-1) 0 0;text-align:center}.zip-entry-title{margin:0 0 var(--space-1);font-size:var(--font-size-xl);color:#fff}.zip-entry-subtitle{margin:0 0 var(--space-4);font-size:var(--font-size-sm);color:#ffffff80}.zip-entry-field{display:flex;justify-content:center;margin-bottom:var(--space-2)}.zip-entry-field .zip-inline-row{display:inline-flex}.action-contact-section{text-align:left;background:#0000000f;border:1px solid rgba(0,0,0,.12);border-radius:var(--radius-lg);padding:var(--space-4);margin-bottom:var(--space-4)}.action-contact-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-2)}.action-contact-icon{font-size:1.2rem}.action-contact-title{font-weight:600;font-size:var(--font-size-base);color:#1a1a2e}.action-contact-privacy{font-size:var(--font-size-xs);color:#00000073;margin:0 0 var(--space-3);font-style:italic}.action-contact-section .contact-input{background:#ffffffb3!important;border:1px solid rgba(0,0,0,.15);color:#1a1a2e!important}.action-contact-section .contact-input::placeholder{color:#00000080!important}.action-contact-section .contact-input:focus{background:#ffffffe6!important;border-color:var(--color-primary)}.action-contact-section .contact-input:-webkit-autofill,.action-contact-section .contact-input:-webkit-autofill:hover,.action-contact-section .contact-input:-webkit-autofill:focus{-webkit-text-fill-color:#1a1a2e!important;-webkit-box-shadow:0 0 0 1000px rgba(255,255,255,.7) inset!important;box-shadow:0 0 0 1000px #ffffffb3 inset!important}.action-contact-section .contact-field-label{color:#2d2d44}.action-contact-section .contact-field-helper{color:#0006}.contact-field-error{border-color:#ef4444!important;background:#ef44440f!important;animation:shake .4s ease}.contact-validation-error{text-align:left;font-weight:500}@keyframes shake{0%,to{transform:translate(0)}20%{transform:translate(-4px)}40%{transform:translate(4px)}60%{transform:translate(-3px)}80%{transform:translate(2px)}}@media(max-width:480px){.job-post-feed{padding:var(--space-2)}.feed-card{padding:var(--space-3);border-radius:var(--radius-lg)}.category-chips{gap:var(--space-1)}.category-chip{padding:var(--space-1) var(--space-2);font-size:var(--font-size-xs)}.price-range{font-size:var(--font-size-xl)}.answer-buttons{flex-direction:column}.answer-btn{min-height:48px}}.contractor-feedback-card{padding:var(--space-5);border:1px solid var(--color-secondary);background:linear-gradient(135deg,var(--color-bg-secondary),var(--color-bg-tertiary))}.feedback-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4)}.feedback-header h3{margin:0;font-size:var(--font-size-lg)}.feedback-badge{background:var(--color-secondary);color:var(--color-bg-primary);padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);font-size:var(--font-size-xs);font-weight:600}.feedback-error{padding:var(--space-3);background:#ef44441a;border-radius:var(--radius-md);color:var(--color-error);margin-bottom:var(--space-4)}.feedback-content{display:flex;flex-direction:column;gap:var(--space-4)}.feedback-summary{font-size:var(--font-size-base);color:var(--color-text-secondary);line-height:1.6;margin:0}.feedback-section{padding-top:var(--space-3);border-top:1px solid var(--color-border)}.feedback-section h4{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0 0 var(--space-3);text-transform:uppercase;letter-spacing:.5px}.theme-tags{display:flex;flex-wrap:wrap;gap:var(--space-2)}.theme-tag{background:var(--color-primary-muted);color:var(--color-primary);padding:var(--space-1) var(--space-3);border-radius:var(--radius-pill);font-size:var(--font-size-sm)}.question-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:var(--space-3)}.question-item{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-3);padding:var(--space-3);background:var(--color-bg-glass);border-radius:var(--radius-md);font-size:var(--font-size-sm)}.priority-badge{padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;flex-shrink:0}.priority-badge.high{background:#ef444433;color:#ef4444}.priority-badge.medium{background:#f59e0b33;color:#f59e0b}.priority-badge.low{background:#22c55e33;color:#22c55e}.photo-list{list-style:none;padding:0;margin:0}.photo-list li{padding:var(--space-2) 0;color:var(--color-text-secondary);font-size:var(--font-size-sm)}.photo-list li:before{content:"📸 "}.feedback-hint{font-size:var(--font-size-sm);color:var(--color-text-muted);font-style:italic;margin:0}.feedback-pending{text-align:center;padding:var(--space-4)}.feedback-pending p{color:var(--color-text-secondary);margin:0 0 var(--space-4)}.messaging-panel{margin-top:1.5rem;border-radius:12px;border:1px solid var(--border-color, #e2e8f0);background:var(--card-bg, #ffffff);overflow:hidden;display:flex;flex-direction:column}.messaging-safety-banner{display:flex;align-items:flex-start;gap:.75rem;padding:.875rem 1rem;background:linear-gradient(135deg,#f0f4ff,#e8eeff);border-bottom:1px solid #d4dff7}.safety-banner-icon{font-size:1.25rem;flex-shrink:0;margin-top:2px}.safety-banner-text{display:flex;flex-direction:column;gap:.125rem;font-size:.8125rem;line-height:1.4;color:#3d5a99}.safety-banner-text strong{font-weight:600;font-size:.8125rem;color:#2c4a8a}.messaging-messages{flex:1;min-height:200px;max-height:400px;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:.75rem;scroll-behavior:smooth}.messaging-loading{display:flex;justify-content:center;align-items:center;min-height:120px}.messaging-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:120px;text-align:center;color:var(--text-secondary, #64748b)}.messaging-empty-icon{font-size:2rem;margin-bottom:.5rem;opacity:.5}.messaging-empty p{margin:0;font-size:.875rem}.message-bubble{max-width:80%;padding:.625rem .875rem;border-radius:12px;animation:messageSlideIn .2s ease-out}@keyframes messageSlideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.message-mine{align-self:flex-end;background:linear-gradient(135deg,#6c63ff,#5a52e0);color:#fff;border-bottom-right-radius:4px}.message-theirs{align-self:flex-start;background:var(--bg-secondary, #f1f5f9);color:var(--text-primary, #1e293b);border-bottom-left-radius:4px}.message-header{display:flex;align-items:center;gap:.5rem;margin-bottom:.25rem}.message-sender{font-weight:600;font-size:.75rem}.message-mine .message-sender{color:#ffffffd9}.message-role-badge{font-size:.625rem;font-weight:600;text-transform:uppercase;letter-spacing:.03em;padding:1px 6px;border-radius:4px}.message-mine .role-homeowner,.message-mine .role-contractor{background:#fff3;color:#ffffffe6}.message-theirs .role-homeowner{background:#dbeafe;color:#1d4ed8}.message-theirs .role-contractor{background:#dcfce7;color:#15803d}.message-text{font-size:.875rem;line-height:1.45;white-space:pre-wrap;word-break:break-word}.message-time{font-size:.6875rem;margin-top:.25rem;opacity:.6}.message-mine .message-time{text-align:right;color:#ffffffb3}.messaging-archived{padding:.75rem 1rem;text-align:center;background:var(--bg-secondary, #f8fafc);border-top:1px solid var(--border-color, #e2e8f0);color:var(--text-secondary, #64748b);font-size:.8125rem}.messaging-input-area{border-top:1px solid var(--border-color, #e2e8f0);background:var(--bg-secondary, #f8fafc)}.messaging-error{display:flex;align-items:flex-start;gap:.5rem;padding:.625rem 1rem;background:#fef2f2;border-bottom:1px solid #fecaca;color:#b91c1c;font-size:.8125rem;line-height:1.4}.messaging-error-icon{flex-shrink:0}.messaging-input-row{display:flex;align-items:flex-end;gap:.5rem;padding:.75rem}.messaging-input{flex:1;resize:none;border:1px solid var(--border-color, #d1d5db);border-radius:8px;padding:.5rem .75rem;font-size:.875rem;font-family:inherit;line-height:1.4;color:var(--text-primary, #1e293b);background:var(--card-bg, #ffffff);outline:none;transition:border-color .15s ease;min-height:38px;max-height:120px}.messaging-input:focus{border-color:#6c63ff;box-shadow:0 0 0 2px #6c63ff1f}.messaging-input::placeholder{color:var(--text-secondary, #94a3b8)}.messaging-send-btn{display:flex;align-items:center;justify-content:center;width:38px;height:38px;border:none;border-radius:8px;background:#6c63ff;color:#fff;cursor:pointer;flex-shrink:0;transition:background .15s ease,transform .1s ease}.messaging-send-btn:hover:not(:disabled){background:#5a52e0;transform:scale(1.05)}.messaging-send-btn:disabled{opacity:.4;cursor:not-allowed}.send-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:spin .6s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}@media(max-width:640px){.messaging-messages{max-height:300px;padding:.75rem}.message-bubble{max-width:88%}.messaging-safety-banner{padding:.75rem}.safety-banner-text{font-size:.75rem}}.v2-banner{border-radius:16px;padding:24px;margin:20px 0;border:1px solid rgba(255,255,255,.08);background:var(--surface-elevated, #1a1a2e)}.v2-banner__icon{font-size:2rem;margin-bottom:12px;display:block}.v2-banner__headline{font-size:1.25rem;font-weight:700;color:#fff;margin:0 0 6px}.v2-banner__sub{font-size:.95rem;color:#c0c0d4;margin:0 0 8px;line-height:1.5}.v2-banner__note{font-size:.8rem;color:#9090a8;margin:8px 0 0;font-style:italic}.v2-banner--waiting{background:linear-gradient(135deg,#1a1a2e,#16213e);border-color:#6478c833}.v2-banner--recovery{background:linear-gradient(135deg,#1e1a2e,#2e1a1a);border-color:#c8646433}.v2-recovery-tip{font-size:.9rem;color:#c0c0d4;margin:12px 0 6px}.v2-recovery-list{margin:0;padding-left:20px;color:#c0c0d4;font-size:.9rem;line-height:1.8}.v2-recovery-actions{margin-top:16px;padding:16px;background:#ffffff0a;border-radius:10px;border:1px solid rgba(255,255,255,.06)}.v2-recovery-ctas{display:flex;flex-direction:column;gap:10px;margin-top:16px}.v2-recovery-btn{display:block;width:100%;padding:13px 16px;font-size:.95rem;font-weight:700;border-radius:10px;border:none;cursor:pointer;min-height:44px;touch-action:manipulation;transition:opacity .2s,transform .15s}.v2-recovery-btn:hover{opacity:.88;transform:translateY(-1px)}.v2-recovery-btn:active{transform:translateY(0)}.v2-recovery-btn--primary{background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff}.v2-recovery-btn--ghost{background:#ffffff0f;color:#c0c0d4;border:1px solid rgba(255,255,255,.12)}.v2-banner--reveal{background:linear-gradient(135deg,#0f172a,#1a1a2e);border-color:#63b35540;box-shadow:0 0 0 1px #63b35514}.v2-reveal-header{display:flex;align-items:flex-start;justify-content:space-between;gap:16px;margin-bottom:16px}.v2-reveal-header__left{display:flex;align-items:flex-start;gap:14px;flex:1}.v2-reveal-header__left .v2-banner__icon{margin:0;flex-shrink:0}.v2-countdown{flex-shrink:0;text-align:center;background:#ffc83214;border:1px solid rgba(255,200,50,.2);border-radius:12px;padding:10px 16px;min-width:90px}.v2-countdown__label{font-size:.68rem;color:#ffc832b3;text-transform:uppercase;letter-spacing:.05em;margin-bottom:4px}.v2-countdown__time{font-size:1.4rem;font-weight:800;color:#ffc832;font-variant-numeric:tabular-nums;line-height:1}.v2-countdown--expired{background:#ff646414;border-color:#ff646433}.v2-countdown--expired .v2-countdown__label{color:#ff6464b3;font-size:.8rem;margin:0}.v2-estimate-ref{display:flex;align-items:center;gap:10px;padding:10px 14px;background:#63b3550f;border:1px solid rgba(99,179,85,.15);border-radius:10px;margin-bottom:20px;font-size:.88rem}.v2-estimate-ref__label{color:#b8b8cc}.v2-estimate-ref__range{color:#63b355;font-weight:700;font-size:1rem}.v2-bid-list{display:flex;flex-direction:column;gap:16px;margin-bottom:20px}.v2-bid-card{background:#ffffff0a;border:1px solid rgba(255,255,255,.09);border-radius:14px;padding:20px;transition:border-color .2s,box-shadow .2s}.v2-bid-card:hover{border-color:#63b35559;box-shadow:0 4px 20px #63b35514}.v2-bid-card__header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px}.v2-bid-card__alias{display:flex;align-items:center;gap:10px}.v2-bid-card__avatar{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,#4f46e5,#7c3aed);display:flex;align-items:center;justify-content:center;font-size:.85rem;font-weight:800;color:#fff;flex-shrink:0}.v2-bid-card__name{font-size:1rem;font-weight:700;color:#fff}.v2-bid-card__amount{font-size:1.5rem;font-weight:800;color:#63b355}.v2-bid-card__badges{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px}.v2-trust-badge{display:inline-flex;align-items:center;gap:4px;font-size:.75rem;font-weight:600;color:#b8b8cc;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:3px 10px}.v2-bid-card__meta{margin-bottom:12px}.v2-bid-card__timeline{font-size:.85rem;color:#c0c0d4}.v2-bid-card__message{font-size:.88rem;color:#c0c0d4;line-height:1.6;margin:12px 0;padding:12px;background:#ffffff08;border-radius:8px;border-left:3px solid rgba(255,255,255,.08)}.v2-pii-notice{display:block;font-size:.75rem;color:#ffc832b3;margin-bottom:6px;font-style:normal}.v2-bid-card__cta{display:block;width:100%;padding:13px;background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;font-size:.95rem;font-weight:700;border:none;border-radius:10px;cursor:pointer;margin-top:16px;transition:opacity .2s,transform .15s;min-height:44px;touch-action:manipulation}.v2-bid-card__cta:hover{opacity:.92;transform:translateY(-1px)}.v2-bid-card__cta:active{transform:translateY(0)}.v2-bid-card__cta:disabled{opacity:.5;cursor:not-allowed;transform:none}.v2-top-jobs{margin:12px 0}.v2-top-jobs__strip{display:flex;gap:8px;overflow:hidden}.v2-top-jobs__thumb{width:80px;height:80px;border-radius:8px;overflow:hidden;flex-shrink:0;cursor:pointer;border:1px solid rgba(255,255,255,.1);transition:transform .15s,border-color .15s}.v2-top-jobs__thumb:hover{transform:scale(1.04);border-color:#63b35566}.v2-top-jobs__thumb img{width:100%;height:100%;object-fit:cover}.v2-top-jobs__see-more{display:inline-block;margin-top:8px;font-size:.82rem;font-weight:600;color:#a093e8;background:none;border:none;cursor:pointer;padding:0;text-decoration:none;transition:color .15s}.v2-top-jobs__see-more:hover{color:#a093e8}.v2-lightbox{position:fixed;inset:0;background:#000000d9;z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px;animation:v2FadeIn .18s ease}@keyframes v2FadeIn{0%{opacity:0}to{opacity:1}}.v2-lightbox__inner{position:relative;max-width:90vw;max-height:90vh}.v2-lightbox__inner img{max-width:100%;max-height:85vh;border-radius:12px;display:block}.v2-lightbox__close{position:absolute;top:-14px;right:-14px;width:32px;height:32px;border-radius:50%;background:#ffffff26;border:1px solid rgba(255,255,255,.2);color:#fff;font-size:.9rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.v2-lightbox__close:hover{background:#ffffff4d}.v2-banner__trust-note{font-size:.78rem;color:#9090a8;text-align:center;margin:0;padding-top:12px;border-top:1px solid rgba(255,255,255,.05)}@media(max-width:600px){.v2-banner{padding:16px}.v2-reveal-header{flex-direction:column;gap:12px}.v2-countdown{align-self:flex-start;min-width:unset}.v2-bid-card__amount{font-size:1.25rem}.v2-top-jobs__thumb{width:68px;height:68px}}.bam-overlay{position:fixed;inset:0;background:#0a0a14cc;backdrop-filter:blur(6px);-webkit-backdrop-filter:blur(6px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem;opacity:0;transition:opacity .25s ease}.bam-overlay--in{opacity:1}.bam-modal{width:100%;max-width:480px;border-radius:20px;padding:2rem 1.75rem 1.5rem;display:flex;flex-direction:column;gap:1.25rem;box-shadow:0 32px 80px #00000080;transform:translateY(20px) scale(.97);transition:transform .3s cubic-bezier(.34,1.56,.64,1),opacity .25s ease;opacity:0;max-height:92vh;overflow-y:auto}.bam-modal--in{transform:translateY(0) scale(1);opacity:1}.bam--beat{background:linear-gradient(145deg,#1a0533,#0f1a2e 60%,#0a0f1e);border:1px solid rgba(168,85,247,.3)}.bam--market{background:linear-gradient(145deg,#0a1628,#0d1f3c 60%,#0a1020);border:1px solid rgba(59,130,246,.3)}.bam--above,.bam--no-estimate{background:linear-gradient(145deg,#111827,#0f172a);border:1px solid rgba(255,255,255,.08)}.bam-hero{text-align:center}.bam-hero__icon{font-size:2.75rem;margin-bottom:.5rem;display:block;filter:drop-shadow(0 0 16px rgba(168,85,247,.5));animation:bam-pop .4s cubic-bezier(.34,1.56,.64,1) .2s both}.bam--market .bam-hero__icon,.bam--above .bam-hero__icon,.bam--no-estimate .bam-hero__icon{filter:none}@keyframes bam-pop{0%{transform:scale(.5);opacity:0}to{transform:scale(1);opacity:1}}.bam-hero__headline{font-size:1.75rem;font-weight:800;letter-spacing:-.03em;margin:0 0 .5rem;line-height:1.15;color:#fff}.bam--beat .bam-hero__headline{background:linear-gradient(135deg,#e9d5ff,#a855f7,#f59e0b);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.bam-hero__sub{font-size:.9375rem;color:#ffffffc7;line-height:1.5;margin:.5rem 0 0}.bam-badge{display:inline-block;font-size:.75rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;padding:.25rem .75rem;border-radius:999px;margin-bottom:.5rem}.bam-badge--beat{background:#a855f733;color:#c084fc;border:1px solid rgba(168,85,247,.35)}.bam-badge--market{background:#3b82f626;color:#60a5fa;border:1px solid rgba(59,130,246,.3)}.bam-badge--above{background:#ffffff0f;color:#ffffff80;border:1px solid rgba(255,255,255,.1)}.bam-price-row{display:flex;align-items:center;gap:0;background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:1rem 1.25rem}.bam-price-row__item{flex:1;display:flex;flex-direction:column;gap:.25rem;text-align:center}.bam-price-row__label{font-size:.75rem;color:#fff9;text-transform:uppercase;letter-spacing:.06em;font-weight:600}.bam-price-row__value{font-size:1.35rem;font-weight:700;color:#fff;letter-spacing:-.02em}.bam-price-row__divider{width:1px;height:40px;background:#ffffff1a;margin:0 1rem;flex-shrink:0}.bam-estimate-bar{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:12px;padding:1rem 1.25rem}.bam-estimate-bar__labels{display:flex;justify-content:space-between;align-items:center;margin-bottom:.75rem}.bam-estimate-bar__label{font-size:.75rem;color:#ffffff9e;text-transform:uppercase;letter-spacing:.05em;font-weight:600}.bam-estimate-bar__range{font-size:.8125rem;font-weight:600;color:#ffffffb8}.bam-estimate-bar__track{position:relative;height:8px;border-radius:999px;background:#ffffff14;margin-bottom:2rem}.bam-estimate-bar__fill{position:absolute;inset:0;border-radius:999px;background:linear-gradient(90deg,#a855f766,#a855f7e6)}.bam--market .bam-estimate-bar__fill{background:linear-gradient(90deg,#3b82f666,#3b82f6cc)}.bam--above .bam-estimate-bar__fill,.bam--no-estimate .bam-estimate-bar__fill{background:#fff3}.bam-estimate-bar__marker{position:absolute;top:-2px;transform:translate(-50%);display:flex;flex-direction:column;align-items:center}.bam-estimate-bar__marker-dot{width:12px;height:12px;border-radius:50%;background:#fff;border:2px solid #a855f7;box-shadow:0 0 8px #a855f7cc;flex-shrink:0}.bam--market .bam-estimate-bar__marker-dot{border-color:#3b82f6;box-shadow:0 0 8px #3b82f6cc}.bam--above .bam-estimate-bar__marker-dot,.bam--no-estimate .bam-estimate-bar__marker-dot{border-color:#ffffff80;box-shadow:none}.bam-estimate-bar__marker-label{margin-top:.4rem;font-size:.7rem;color:#ffffffb3;text-align:center;line-height:1.3;white-space:nowrap}.bam-estimate-bar__marker-label strong{color:#fff;font-weight:700}.bam-estimate-bar__marker--outside{left:0%!important}.bam-estimate-bar__note{font-size:.75rem;color:#ffffff85;line-height:1.5;margin:0;text-align:center;font-style:italic}.bam-next{background:#ffffff0a;border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:1rem 1.25rem}.bam-next__label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#fff9;margin:0 0 .625rem}.bam-next__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.375rem}.bam-next__list li{font-size:.875rem;color:#ffffffb3;padding-left:1.25rem;position:relative;line-height:1.4}.bam-next__list li:before{content:"→";position:absolute;left:0;color:#a855f7b3;font-weight:600}.bam--market .bam-next__list li:before{color:#3b82f6b3}.bam--above .bam-next__list li:before,.bam--no-estimate .bam-next__list li:before{color:#fff6}.bam-share__label{font-size:.75rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:#fff9;margin:0 0 .625rem;text-align:center}.bam-share__btns{display:flex;gap:.625rem}.bam-share-btn{flex:1;padding:.65rem .75rem;border-radius:10px;font-size:.875rem;font-weight:600;cursor:pointer;border:1px solid transparent;transition:transform .15s,opacity .15s;letter-spacing:.01em}.bam-share-btn:active{transform:scale(.96);opacity:.85}.bam-share-btn--sms{background:#a855f726;border-color:#a855f74d;color:#c084fc}.bam--market .bam-share-btn--sms{background:#3b82f626;border-color:#3b82f64d;color:#60a5fa}.bam--above .bam-share-btn--sms,.bam--no-estimate .bam-share-btn--sms{background:#ffffff0f;border-color:#ffffff1f;color:#fff9}.bam-share-btn--copy{background:#ffffff0d;border-color:#ffffff1a;color:#ffffff8c}.bam-ctas{display:flex;flex-direction:column;gap:.5rem}.bam-cta{width:100%;padding:.875rem;border-radius:12px;font-size:.9375rem;font-weight:700;cursor:pointer;border:none;letter-spacing:.01em;transition:transform .15s,opacity .15s}.bam-cta:active{transform:scale(.98);opacity:.9}.bam-cta--primary{background:linear-gradient(135deg,#7c3aed,#a855f7);color:#fff;box-shadow:0 4px 16px #a855f759}.bam--market .bam-cta--primary{background:linear-gradient(135deg,#1d4ed8,#3b82f6);box-shadow:0 4px 16px #3b82f659}.bam--above .bam-cta--primary,.bam--no-estimate .bam-cta--primary{background:#2563eb;box-shadow:none}.bam-cta--ghost{background:transparent;color:#ffffffa6;border:1px solid rgba(255,255,255,.15)}@media(max-width:480px){.bam-modal{border-radius:20px 20px 0 0;max-height:95vh;padding:1.5rem 1.25rem 1.25rem}.bam-overlay{align-items:flex-end;padding:0}.bam-hero__headline{font-size:1.5rem}}.back-btn{margin-bottom:var(--space-4)}.job-detail-card{margin-bottom:var(--space-6)}.job-detail-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4);flex-wrap:wrap}.job-detail-title{font-size:var(--font-size-2xl);margin:var(--space-2) 0 var(--space-1)}.job-detail-category{color:var(--color-primary);margin:0}.job-detail-budget{text-align:right}.budget-label{display:block;font-size:var(--font-size-sm);color:var(--color-text-muted);margin-bottom:var(--space-1)}.budget-value{font-size:var(--font-size-2xl);font-weight:700;color:var(--color-success)}.job-detail-section{margin-bottom:var(--space-6)}.job-detail-section h3{font-size:var(--font-size-lg);margin-bottom:var(--space-3);color:var(--color-text-primary)}.job-detail-section p{color:var(--color-text-secondary);line-height:1.7;margin:0}.job-detail-meta{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-4);padding:var(--space-4);background:var(--color-bg-tertiary);border-radius:var(--radius-lg)}.meta-item{display:flex;flex-direction:column;gap:var(--space-1)}.meta-label{font-size:var(--font-size-sm);color:var(--color-text-muted)}.meta-value{font-weight:500;color:var(--color-text-primary);text-transform:capitalize}.bids-section{margin-top:var(--space-8)}.bids-section h2{font-size:var(--font-size-xl);margin-bottom:var(--space-4)}.bids-list{display:flex;flex-direction:column;gap:var(--space-4)}.bid-card{padding:var(--space-5)}.bid-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3)}.bid-contractor{display:flex;align-items:center;gap:var(--space-3)}.bid-avatar{width:44px;height:44px;border-radius:var(--radius-full);background:var(--color-secondary);display:flex;align-items:center;justify-content:center;font-weight:600;color:#fff}.bid-contractor-name{font-weight:600;color:var(--color-text-primary)}.bid-timeline{font-size:var(--font-size-sm);color:var(--color-text-muted)}.bid-price{font-size:var(--font-size-2xl);font-weight:700;color:var(--color-primary)}.bid-message{color:var(--color-text-secondary);margin:0 0 var(--space-4);line-height:1.6}.bid-footer{display:flex;justify-content:space-between;align-items:center}.bid-actions{display:flex;gap:var(--space-2)}.modal-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:99999;padding:var(--space-4)}.modal-content.confirm-modal{background:var(--color-bg-primary);border-radius:var(--radius-xl);padding:var(--space-8);max-width:480px;width:100%;text-align:center;box-shadow:0 20px 60px #0000004d;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.confirm-modal-icon{font-size:56px;margin-bottom:var(--space-4)}.confirm-modal h2{font-size:var(--font-size-2xl);margin:0 0 var(--space-3);color:var(--color-text-primary)}.confirm-modal-message{color:var(--color-text-secondary);margin:0 0 var(--space-5);line-height:1.6}.confirm-modal-details{background:var(--color-bg-tertiary);border-radius:var(--radius-lg);padding:var(--space-4);margin-bottom:var(--space-5)}.confirm-detail-row{display:flex;justify-content:space-between;padding:var(--space-2) 0}.confirm-detail-row:first-child{border-bottom:1px solid var(--color-border)}.confirm-label{color:var(--color-text-muted)}.confirm-value{font-weight:600;color:var(--color-text-primary)}.confirm-modal-next{text-align:left;background:var(--color-bg-secondary);border-radius:var(--radius-lg);padding:var(--space-4);margin-bottom:var(--space-5)}.confirm-modal-next h4{margin:0 0 var(--space-3);font-size:var(--font-size-md);color:var(--color-text-primary)}.confirm-modal-next ul{margin:0;padding-left:var(--space-5);color:var(--color-text-secondary)}.confirm-modal-next li{margin-bottom:var(--space-2);line-height:1.5}.confirm-modal-next li:last-child{margin-bottom:0}.confirm-modal-actions{display:flex;flex-direction:column;gap:var(--space-3)}.confirm-modal-actions .btn{width:100%}@keyframes hoUnlockSlideIn{0%{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes hoCheckPop{0%{transform:scale(0) rotate(-20deg)}60%{transform:scale(1.3) rotate(5deg)}to{transform:scale(1) rotate(0)}}.ho-contractor-confirmed{margin-top:var(--space-6);background:linear-gradient(145deg,#0f1628,#1a2340 60%,#162040);border-radius:var(--radius-xl);overflow:hidden;border:1px solid rgba(212,175,55,.25);box-shadow:0 8px 32px #0006,0 0 0 1px #d4af3714,inset 0 1px #ffffff0a}.ho-contractor-confirmed.animate-unlock{animation:hoUnlockSlideIn .6s cubic-bezier(.16,1,.3,1) forwards}.ho-confirmed-header{text-align:center;padding:var(--space-6) var(--space-5) var(--space-4);background:linear-gradient(180deg,rgba(212,175,55,.08) 0%,transparent 100%)}.ho-confirmed-checkmark{font-size:52px;margin-bottom:var(--space-2);animation:hoCheckPop .5s cubic-bezier(.34,1.56,.64,1) .3s both}.ho-confirmed-title{font-size:var(--font-size-xl);font-weight:700;color:#fff;margin:0 0 var(--space-2);letter-spacing:-.01em}.ho-confirmed-subtitle{font-size:var(--font-size-sm);color:#ffffff80;margin:0;line-height:1.4}.ho-confirmed-details{padding:0 var(--space-4)}.ho-confirmed-detail-row{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-3) var(--space-3);background:#ffffff0a;border-radius:var(--radius-lg);margin-bottom:2px}.ho-confirmed-detail-icon{font-size:20px;width:40px;height:40px;display:flex;align-items:center;justify-content:center;background:#ffffff0f;border-radius:var(--radius-md);flex-shrink:0}.ho-confirmed-detail-content{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.ho-confirmed-detail-label{font-size:var(--font-size-xs);text-transform:uppercase;letter-spacing:.06em;color:#fff6;font-weight:600}.ho-confirmed-detail-value{font-size:var(--font-size-md);color:#fff;font-weight:600;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.ho-confirmed-view-profile{font-size:var(--font-size-xs);color:#d4af37cc;text-decoration:none;font-weight:600;white-space:nowrap;transition:color .2s}.ho-confirmed-view-profile:hover{color:#d4af37}.ho-confirmed-cta{padding:var(--space-4) var(--space-5)}.ho-confirmed-msg-btn{width:100%;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-md);font-weight:700;cursor:pointer;border:none;background:linear-gradient(135deg,#d4af37,#c5a028);color:#0f1628;box-shadow:0 2px 12px #d4af374d;transition:all .2s ease}.ho-confirmed-msg-btn:hover{box-shadow:0 4px 20px #d4af3773;transform:translateY(-1px)}.ho-confirmed-messaging{border-top:1px solid rgba(255,255,255,.08)}.ho-confirmed-messaging .messaging-panel{margin:0;border-radius:0;border:none;background:transparent}.ho-confirmed-tappable{text-decoration:none;cursor:pointer;transition:background .2s ease}.ho-confirmed-tappable:hover{background:#ffffff14}.ho-confirmed-tap-hint{font-size:var(--font-size-xs);color:#d4af37b3;font-weight:600;white-space:nowrap;flex-shrink:0}.job-detail-section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3)}.job-detail-section-header h3{margin-bottom:0}.ho-edit-link{background:none;border:none;color:var(--color-primary);cursor:pointer;font-size:var(--font-size-sm);font-weight:500;padding:var(--space-1) var(--space-2);border-radius:var(--radius-md);transition:background .2s}.ho-edit-link:hover{background:rgba(var(--color-primary-rgb, 99, 102, 241),.1)}.ho-edit-desc{display:flex;flex-direction:column;gap:var(--space-2)}.ho-edit-textarea{width:100%;min-height:120px;padding:var(--space-3);border:1px solid var(--color-border);border-radius:var(--radius-md);background:var(--color-bg-secondary);color:var(--color-text-primary);font-size:var(--font-size-md);font-family:inherit;line-height:1.6;resize:vertical;transition:border-color .2s}.ho-edit-textarea:focus{outline:none;border-color:var(--color-primary);box-shadow:0 0 0 2px rgba(var(--color-primary-rgb, 99, 102, 241),.15)}.ho-edit-footer{display:flex;justify-content:space-between;align-items:center}.ho-edit-charcount{font-size:var(--font-size-xs);color:var(--color-text-muted)}.ho-edit-actions{display:flex;gap:var(--space-2)}.ho-edit-cancel{background:none;border:1px solid var(--color-border);color:var(--color-text-secondary);cursor:pointer;padding:var(--space-2) var(--space-3);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:500;transition:all .2s}.ho-edit-cancel:hover{background:var(--color-bg-tertiary)}.ho-edit-save{background:var(--color-primary);border:none;color:#fff;cursor:pointer;padding:var(--space-2) var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:600;transition:all .2s}.ho-edit-save:hover:not(:disabled){opacity:.9;transform:translateY(-1px)}.ho-edit-save:disabled{opacity:.5;cursor:not-allowed}.ho-edit-cancel:disabled{opacity:.5;cursor:not-allowed}@keyframes hoEditSuccessFade{0%{opacity:0;transform:translateY(4px)}20%{opacity:1;transform:translateY(0)}80%{opacity:1}to{opacity:0}}.ho-edit-success{display:inline-block;margin-top:var(--space-2);font-size:var(--font-size-sm);font-weight:500;color:#22c55e;animation:hoEditSuccessFade 3s ease-out forwards}.ho-photo-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:var(--space-2);margin-top:var(--space-2)}.ho-photo-thumb{position:relative;aspect-ratio:1;border-radius:var(--radius-md);overflow:hidden;background:var(--color-bg-tertiary)}.ho-photo-thumb img{width:100%;height:100%;object-fit:cover}.ho-photo-pending .ho-photo-thumb{border:2px dashed var(--color-primary);opacity:.85}.ho-photo-remove{position:absolute;top:4px;right:4px;width:22px;height:22px;border-radius:var(--radius-full);background:#0009;color:#fff;border:none;font-size:14px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .2s}.ho-photo-remove:hover{background:#ef4444e6}.ho-photo-upload-area{margin-top:var(--space-3);display:flex;flex-direction:column;gap:var(--space-3)}.ho-photo-controls{display:flex;justify-content:space-between;align-items:center}.ho-no-photos{color:var(--color-text-muted);font-size:var(--font-size-sm);font-style:italic;margin:var(--space-2) 0 0}@keyframes hoReadinessFadeIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}.ho-readiness-hint{margin-top:var(--space-6);padding:var(--space-4) var(--space-5);border-radius:var(--radius-lg);border-left:4px solid;animation:hoReadinessFadeIn .4s ease-out}.ho-readiness-high{background:#22c55e0f;border-left-color:#22c55e}.ho-readiness-medium{background:#f59e0b0f;border-left-color:#f59e0b}.ho-readiness-low{background:#3b82f60f;border-left-color:#3b82f6}.ho-readiness-header{display:flex;align-items:flex-start;gap:var(--space-3)}.ho-readiness-icon{font-size:24px;flex-shrink:0;line-height:1;margin-top:2px}.ho-readiness-text{display:flex;flex-direction:column;gap:4px}.ho-readiness-title{font-size:var(--font-size-md);font-weight:600;color:var(--color-text-primary);line-height:1.3}.ho-readiness-subtitle{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.5}.ho-readiness-tips{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid rgba(255,255,255,.06);display:flex;flex-direction:column;gap:var(--space-2)}.ho-readiness-tip{display:flex;align-items:baseline;gap:var(--space-2);font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.5}.ho-readiness-tip-bullet{color:var(--color-text-muted);flex-shrink:0;font-weight:600}.ho-you-saved-card{display:flex;align-items:center;gap:var(--space-3);margin:var(--space-3) var(--space-4) var(--space-4);padding:var(--space-4) var(--space-4);border-radius:var(--radius-lg);border:1px solid rgba(255,255,255,.08);background:#ffffff0a}.ho-you-saved-icon{font-size:28px;flex-shrink:0;line-height:1}.ho-you-saved-text{display:flex;flex-direction:column;gap:3px}.ho-you-saved-header{font-size:var(--font-size-md);font-weight:700;line-height:1.2}.ho-you-saved-sub{font-size:var(--font-size-sm);color:#ffffff80;line-height:1.4}.ho-you-saved-card.outcome-positive{border-color:#d4af374d;background:#d4af3712}.ho-you-saved-card.outcome-positive .ho-you-saved-header{color:#d4af37}.ho-you-saved-card.outcome-neutral{border-color:#22c55e33;background:#22c55e0d}.ho-you-saved-card.outcome-neutral .ho-you-saved-header{color:#4ade80}.ho-you-saved-card.outcome-premium{border-color:#94a3b833;background:#94a3b80a}.ho-you-saved-card.outcome-premium .ho-you-saved-header{color:#ffffffd9}.ho-you-saved-card.outcome-balanced{border-color:#5ea3ff33;background:#5ea3ff0d}.ho-you-saved-card.outcome-balanced .ho-you-saved-header{color:#5ea3ff}.review-form{display:flex;flex-direction:column;gap:var(--space-6)}.rating-section{text-align:center}.star-rating{display:flex;justify-content:center;gap:var(--space-2);margin:var(--space-4) 0 var(--space-2)}.star{background:none;border:none;font-size:2.5rem;cursor:pointer;color:var(--color-border);transition:all var(--transition-fast);padding:0;line-height:1}.star:hover,.star.active{color:#fbbf24;transform:scale(1.1)}.rating-text{font-size:var(--font-size-sm);color:var(--color-text-muted)}.review-success{text-align:center;padding:var(--space-10)}.success-icon{font-size:4rem;margin-bottom:var(--space-4)}.review-success h2{margin-bottom:var(--space-2)}.review-success p{margin-bottom:var(--space-6)}.property-message{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);margin-bottom:var(--space-4);text-align:center}.property-message.success{background:var(--color-success-50, #ecfdf5);color:var(--color-success-700, #047857)}.property-message.error{background:var(--color-danger-50, #fef2f2);color:var(--color-danger-600, #dc2626)}.property-tabs{display:flex;gap:var(--space-2);margin-bottom:var(--space-4);overflow-x:auto;padding-bottom:var(--space-2)}.property-tab{padding:var(--space-3) var(--space-4);background:var(--color-surface-secondary);border:2px solid transparent;border-radius:var(--radius-lg);font-family:inherit;font-size:var(--font-size-sm);font-weight:500;color:var(--text-secondary);cursor:pointer;transition:all .2s ease;white-space:nowrap}.property-tab:hover{background:var(--color-surface-overlay);color:var(--text-primary)}.property-tab.active{background:var(--color-primary-muted);border-color:var(--color-primary);color:var(--text-primary)}.property-section{margin-bottom:var(--space-4)}.property-section h2{margin:0;font-size:var(--font-size-lg)}.section-hint{margin:var(--space-1) 0 0;color:var(--text-tertiary);font-size:var(--font-size-sm)}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:var(--space-4);margin-bottom:var(--space-4)}.home-type-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--space-3)}.home-type-option{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-4);background:var(--color-surface-secondary);border:2px solid transparent;border-radius:var(--radius-lg);cursor:pointer;transition:all .2s ease;font-family:inherit;font-size:var(--font-size-sm);color:var(--text-primary)}.home-type-option:hover{background:var(--color-surface-overlay)}.home-type-option.selected{border-color:var(--color-primary);background:var(--color-primary-muted)}.home-type-option .option-icon{font-size:2rem}.photo-categories{display:flex;flex-direction:column;gap:var(--space-2)}.photo-category{border:1px solid var(--color-border);border-radius:var(--radius-lg);overflow:hidden}.photo-category-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-4);background:var(--color-surface-secondary);border:none;cursor:pointer;width:100%;font-family:inherit;transition:background .2s ease}.photo-category-header:hover{background:var(--color-surface-overlay)}.category-info{display:flex;align-items:center;gap:var(--space-3)}.category-icon{font-size:1.5rem}.category-label{font-weight:600;color:var(--text-primary);display:block}.category-hint{font-size:var(--font-size-sm);color:var(--text-tertiary);display:block}.category-meta{display:flex;align-items:center;gap:var(--space-3)}.photo-count{font-size:var(--font-size-sm);color:var(--text-secondary);background:var(--color-surface-overlay);padding:var(--space-1) var(--space-2);border-radius:var(--radius-full)}.expand-icon{color:var(--text-tertiary);font-size:var(--font-size-sm);transition:transform .2s ease}.expand-icon.expanded{transform:rotate(180deg)}.photo-category-content{padding:var(--space-4);background:var(--color-bg-primary);border-top:1px solid var(--color-border)}.photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:var(--space-3)}.photo-item{position:relative;aspect-ratio:1;border-radius:var(--radius-lg);overflow:hidden;background:var(--color-surface-secondary)}.photo-item img{width:100%;height:100%;object-fit:cover}.photo-remove{position:absolute;top:var(--space-1);right:var(--space-1);width:24px;height:24px;border-radius:50%;background:#000000b3;color:#fff;border:none;cursor:pointer;font-size:12px;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s ease}.photo-item:hover .photo-remove{opacity:1}.photo-remove:hover{background:var(--color-danger-600, #dc2626)}.photo-upload-btn{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-1);aspect-ratio:1;background:var(--color-surface-secondary);border:2px dashed var(--color-border);border-radius:var(--radius-lg);cursor:pointer;transition:all .2s ease;color:var(--text-secondary);font-size:var(--font-size-sm)}.photo-upload-btn:hover{border-color:var(--color-primary);background:var(--color-primary-muted)}.upload-plus{font-size:1.5rem;font-weight:700}.photo-count.at-limit{background:var(--color-success-100, #dcfce7);color:var(--color-success-700, #15803d)}.photo-limit-reached{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--space-1);aspect-ratio:1;background:var(--color-success-50, #f0fdf4);border:2px solid var(--color-success-300, #86efac);border-radius:var(--radius-lg);color:var(--color-success-600, #16a34a);font-size:var(--font-size-sm)}.photo-limit-reached span:first-child{font-size:1.25rem}.equipment-group{margin-bottom:var(--space-6);padding-bottom:var(--space-6);border-bottom:1px solid var(--color-border)}.equipment-group:last-child{margin-bottom:0;padding-bottom:0;border-bottom:none}.equipment-group h3{margin:0 0 var(--space-4);font-size:var(--font-size-md);color:var(--text-primary)}.style-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:var(--space-3)}.style-option{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-4);background:var(--color-surface-secondary);border:2px solid transparent;border-radius:var(--radius-lg);cursor:pointer;transition:all .2s ease;font-family:inherit;font-size:var(--font-size-sm);color:var(--text-primary)}.style-option:hover{background:var(--color-surface-overlay)}.style-option.selected{border-color:var(--color-primary);background:var(--color-primary-muted)}.style-option .option-icon{font-size:1.5rem}.budget-options{display:flex;flex-direction:column;gap:var(--space-2)}.budget-option{display:flex;flex-direction:column;padding:var(--space-4);background:var(--color-surface-secondary);border:2px solid transparent;border-radius:var(--radius-lg);cursor:pointer;transition:all .2s ease;font-family:inherit;text-align:left}.budget-option:hover{background:var(--color-surface-overlay)}.budget-option.selected{border-color:var(--color-primary);background:var(--color-primary-muted)}.budget-label{font-weight:600;color:var(--text-primary)}.budget-desc{font-size:var(--font-size-sm);color:var(--text-secondary)}.checkbox-label{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4);background:var(--color-surface-secondary);border-radius:var(--radius-lg);cursor:pointer;transition:background .2s ease}.checkbox-label:hover{background:var(--color-surface-overlay)}.checkbox-label input[type=checkbox]{width:20px;height:20px;accent-color:var(--color-primary)}.property-actions{display:flex;justify-content:center;margin-top:var(--space-6);margin-bottom:var(--space-8)}.loading-spinner{display:flex;align-items:center;justify-content:center;min-height:200px;color:var(--text-tertiary)}@media(max-width:600px){.property-tabs{flex-wrap:nowrap;-webkit-overflow-scrolling:touch}.home-type-grid{grid-template-columns:repeat(2,1fr)}.form-row{grid-template-columns:1fr}.photo-grid,.style-grid{grid-template-columns:repeat(3,1fr)}}.bcp-page{padding-bottom:100px}.bcp-back{display:inline-flex;align-items:center;gap:6px;background:none;border:none;color:var(--text-secondary, #a0a0b0);font-size:.9rem;cursor:pointer;padding:0;margin-bottom:24px;transition:color .15s}.bcp-back:hover{color:var(--text-primary, #fff)}.bcp-header{display:flex;align-items:center;gap:16px;margin-bottom:24px}.bcp-avatar{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#4f46e5,#7c3aed);display:flex;align-items:center;justify-content:center;font-size:1.3rem;font-weight:800;color:#fff;flex-shrink:0}.bcp-title{font-size:1.5rem;font-weight:800;color:var(--text-primary, #fff);margin:0 0 6px}.bcp-trades{display:flex;flex-wrap:wrap;gap:6px}.bcp-trade-badge{font-size:.78rem;font-weight:600;color:var(--text-secondary, #a0a0b0);background:#ffffff0d;border:1px solid rgba(255,255,255,.08);border-radius:20px;padding:3px 10px}.bcp-stats-card{background:#ffffff0a;border:1px solid rgba(255,255,255,.08);border-radius:14px;padding:16px 20px;margin-bottom:16px;display:flex;flex-wrap:wrap;gap:0}.bcp-stat{display:flex;align-items:center;gap:8px;padding:10px 0;width:50%;font-size:.88rem}.bcp-stat+.bcp-stat{border-top:1px solid rgba(255,255,255,.05)}.bcp-stat:nth-child(odd){padding-right:16px;border-right:1px solid rgba(255,255,255,.05)}.bcp-stat__icon{font-size:1rem;flex-shrink:0}.bcp-stat__label{color:var(--text-secondary, #a0a0b0);flex:1}.bcp-stat__value{color:var(--text-primary, #fff);font-weight:600}.bcp-stat--badge .bcp-stat__label{color:#63b355;font-weight:600}.bcp-notice{font-size:.8rem;color:var(--text-tertiary, #6b6b80);background:#ffffff05;border:1px solid rgba(255,255,255,.06);border-radius:10px;padding:10px 14px;margin-bottom:24px}.bcp-section__title{font-size:1.1rem;font-weight:700;color:var(--text-primary, #fff);margin:0 0 16px;display:flex;align-items:center;gap:10px}.bcp-photo-count{font-size:.8rem;font-weight:500;color:var(--text-tertiary, #6b6b80)}.bcp-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;margin-bottom:32px}@media(max-width:480px){.bcp-grid{grid-template-columns:repeat(2,1fr)}}.bcp-grid__item{position:relative;aspect-ratio:1;border-radius:10px;overflow:hidden;cursor:pointer;border:1px solid rgba(255,255,255,.08);transition:transform .18s,border-color .18s}.bcp-grid__item:hover{transform:scale(1.02);border-color:#63b35566}.bcp-grid__item img{width:100%;height:100%;object-fit:cover;display:block}.bcp-grid__overlay{position:absolute;inset:0;background:#0000;display:flex;align-items:center;justify-content:center;font-size:1.4rem;opacity:0;transition:opacity .15s,background .15s}.bcp-grid__item:hover .bcp-grid__overlay{opacity:1;background:#0006}.bcp-no-photos{text-align:center;padding:48px 24px;color:var(--text-secondary, #a0a0b0)}.bcp-no-photos__icon{font-size:2.5rem;margin-bottom:12px}.bcp-sticky-cta{position:fixed;bottom:0;left:0;right:0;padding:12px 16px;background:#0f0f1ef5;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-top:1px solid rgba(255,255,255,.08);z-index:100;display:flex;justify-content:center}.bcp-select-btn{width:100%;max-width:500px;padding:14px 24px;background:linear-gradient(135deg,#4f46e5,#7c3aed);color:#fff;font-size:1rem;font-weight:700;border:none;border-radius:12px;cursor:pointer;min-height:48px;touch-action:manipulation;transition:opacity .2s,transform .15s}.bcp-select-btn:hover{opacity:.92;transform:translateY(-1px)}.bcp-select-btn:active{transform:translateY(0)}.bcp-error{text-align:center;padding:48px 24px;color:var(--text-secondary, #a0a0b0)}.bcp-lightbox{position:fixed;inset:0;background:#000000e6;z-index:1000;display:flex;align-items:center;justify-content:center;padding:16px;animation:bcpFade .18s ease}@keyframes bcpFade{0%{opacity:0}to{opacity:1}}.bcp-lightbox__inner{position:relative;max-width:90vw;max-height:90vh;display:flex;align-items:center;justify-content:center}.bcp-lightbox__inner img{max-width:100%;max-height:85vh;border-radius:12px;display:block}.bcp-lightbox__close{position:absolute;top:-40px;right:0;width:32px;height:32px;border-radius:50%;background:#ffffff26;border:1px solid rgba(255,255,255,.2);color:#fff;font-size:.9rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s}.bcp-lightbox__close:hover{background:#ffffff4d}.bcp-lightbox__nav{position:absolute;top:50%;transform:translateY(-50%);width:40px;height:40px;border-radius:50%;background:#ffffff26;border:1px solid rgba(255,255,255,.2);color:#fff;font-size:1.4rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .15s;line-height:1}.bcp-lightbox__nav:hover{background:#ffffff4d}.bcp-lightbox__nav--prev{left:-52px}.bcp-lightbox__nav--next{right:-52px}.bcp-lightbox__counter{position:absolute;bottom:-32px;left:50%;transform:translate(-50%);font-size:.8rem;color:#ffffff80}@media(max-width:600px){.bcp-stat{width:100%;border-right:none!important}.bcp-lightbox__nav--prev{left:4px}.bcp-lightbox__nav--next{right:4px}}.notification-banner{display:flex;align-items:center;justify-content:space-between;gap:var(--space-4);padding:var(--space-3) var(--space-4);background:linear-gradient(135deg,var(--color-primary-muted),var(--color-secondary-muted, rgba(99, 102, 241, .1)));border-radius:var(--radius-lg);border:1px solid var(--color-border);margin-bottom:var(--space-4);flex-wrap:wrap}.notification-content{display:flex;align-items:center;gap:var(--space-2)}.notification-icon{font-size:1.25rem}.notification-text{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.notification-btn{padding:var(--space-2) var(--space-4);background:var(--gradient-primary);border:none;border-radius:var(--radius-md);color:#fff;font-weight:600;font-size:var(--font-size-sm);cursor:pointer;transition:all .2s ease;white-space:nowrap}.notification-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #0003}.notification-btn:disabled{opacity:.6;cursor:not-allowed}.notification-error{width:100%;font-size:var(--font-size-xs);color:var(--color-error);margin-top:var(--space-2)}@media(max-width:480px){.notification-banner{flex-direction:column;text-align:center}.notification-content{flex-direction:column}.notification-btn{width:100%}}.feed-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:var(--space-8);flex-wrap:wrap;gap:var(--space-4)}.feed-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--space-5)}.feed-card-link{text-decoration:none;color:inherit}.feed-grid .feed-card{height:100%;display:flex;flex-direction:column;position:relative;overflow:hidden;background:#fff!important;color:var(--color-text-primary)!important;box-shadow:var(--shadow-sm)!important}.feed-grid .feed-card:hover{border-color:var(--color-primary)}.feed-grid .feed-card .feed-title{color:var(--color-text-primary)!important}.feed-grid .feed-card .feed-description{color:var(--color-text-secondary)!important}.feed-grid .feed-card .feed-time{color:var(--color-text-muted)!important}.feed-grid .feed-card .feed-category{color:var(--color-primary)!important}.feed-grid .feed-card .feed-budget{color:var(--color-success)!important}.feed-grid .feed-card .feed-meta{color:var(--color-text-muted)!important}.feed-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3);gap:var(--space-3)}.feed-card-top-left{display:flex;align-items:center;gap:var(--space-2);min-width:0;flex-wrap:wrap}.feed-card-top .feed-time{flex-shrink:0;white-space:nowrap}.feed-category{font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;color:var(--color-primary);letter-spacing:.05em}.feed-time{font-size:var(--font-size-xs);color:var(--color-text-muted)}.feed-title{font-size:var(--font-size-lg);margin:0 0 var(--space-2);color:var(--color-text-primary)}.feed-description{color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:1.5;margin:0 0 var(--space-4);flex:1;display:-webkit-box;-webkit-line-clamp:4;-webkit-box-orient:vertical;overflow:hidden}.feed-estimate{padding:var(--space-2) var(--space-3);margin-bottom:var(--space-3);background:#10b9810f;border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:600;color:#059669;letter-spacing:.01em}.feed-card-bottom{display:flex;justify-content:space-between;align-items:center;padding-top:var(--space-3);border-top:1px solid var(--color-border)}.feed-budget{font-size:var(--font-size-lg);font-weight:700;color:var(--color-success)}.feed-meta{display:flex;gap:var(--space-3);font-size:var(--font-size-xs);color:var(--color-text-muted)}.size-tag{padding:var(--space-1) var(--space-2);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase}.size-tag.size-small{background:#10b98126;color:var(--color-success)}.size-tag.size-medium{background:#3b82f626;color:var(--color-info)}.size-tag.size-large{background:#f59e0b26;color:var(--color-warning)}.load-more{display:flex;justify-content:center;margin-top:var(--space-8)}.bid-readiness-section{margin-top:var(--space-3);padding-top:var(--space-3);border-top:1px solid var(--color-border)}.bid-readiness-badge{display:inline-flex;align-items:center;gap:var(--space-2);padding:var(--space-1) var(--space-3);border-radius:var(--radius-sm);font-size:var(--font-size-xs);font-weight:600;cursor:pointer;border:none;background:none;transition:background-color .15s ease,box-shadow .15s ease;width:100%;text-align:left}.bid-readiness-badge:focus-visible{outline:2px solid var(--color-primary);outline-offset:2px}.badge-toggle-icon{margin-left:auto;font-size:10px;opacity:.6}.bid-readiness-high{background:#10b9811f;color:#059669}.bid-readiness-high:hover,.bid-readiness-high:active{background:#10b98133}.bid-readiness-medium{background:#f59e0b1f;color:#b45309}.bid-readiness-medium:hover,.bid-readiness-medium:active{background:#f59e0b33}.bid-readiness-low{background:#f59e0b1f;color:#b45309}.bid-readiness-low:hover,.bid-readiness-low:active{background:#f59e0b33}.badge-score-muted{opacity:.6;font-weight:400;font-size:.85em}.bid-readiness-details{margin-top:var(--space-2);padding:var(--space-3);background:#00000008;border-radius:var(--radius-sm);font-size:var(--font-size-xs);color:var(--color-text-secondary);animation:badge-expand .15s ease-out}@keyframes badge-expand{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.readiness-helper-text{margin:0 0 var(--space-2) 0;padding:var(--space-2);background:#f59e0b14;border-radius:var(--radius-xs, 4px);color:#92400e;font-style:italic;font-size:var(--font-size-xs);line-height:1.4}.readiness-detail-group{margin-bottom:var(--space-2)}.readiness-detail-group:last-child{margin-bottom:0}.readiness-detail-label{font-weight:600;font-size:var(--font-size-xs);color:var(--color-text-primary);display:block;margin-bottom:2px}.readiness-detail-list{margin:0;padding-left:var(--space-4);list-style:disc}.readiness-detail-list li{margin-bottom:1px;line-height:1.4}.readiness-detail-list.critical li{color:#dc2626}.readiness-evidence{margin:0;line-height:1.4}.modal-overlay{position:fixed;inset:0;background:#000000b3;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--space-4)}.modal-content{background:var(--color-bg-secondary);border-radius:var(--radius-xl);border:1px solid var(--color-border);max-width:500px;width:100%;max-height:90vh;overflow-y:auto;animation:modalSlideIn .2s ease-out}@keyframes modalSlideIn{0%{transform:translateY(20px);opacity:0}to{transform:translateY(0);opacity:1}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--space-5);border-bottom:1px solid var(--color-border)}.modal-header h2{font-size:var(--font-size-xl);margin:0}.modal-close{background:none;border:none;font-size:1.5rem;color:var(--color-text-muted);cursor:pointer;padding:var(--space-2);line-height:1;transition:color .2s}.modal-close:hover{color:var(--color-text-primary)}.modal-body{padding:var(--space-5)}.modal-description{color:var(--color-text-secondary);font-size:var(--font-size-sm);margin-bottom:var(--space-5);line-height:1.5}.suggestion-types{margin-bottom:var(--space-5)}.type-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3);margin-top:var(--space-3)}.type-option{display:flex;flex-direction:column;align-items:flex-start;padding:var(--space-3);background:var(--color-bg-glass);border:1px solid var(--color-border);border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease;text-align:left}.type-option:hover{border-color:var(--color-primary);background:var(--color-bg-glass-hover)}.type-option.active{border-color:var(--color-primary);background:var(--color-primary-muted)}.type-label{font-weight:600;font-size:var(--font-size-sm);color:var(--color-text-primary);margin-bottom:var(--space-1)}.type-desc{font-size:var(--font-size-xs);color:var(--color-text-muted)}.suggestion-input{position:relative}.suggestion-input textarea{width:100%;padding:var(--space-3);background:var(--color-bg-glass);border:1px solid var(--color-border);border-radius:var(--radius-md);color:var(--color-text-primary);font-family:var(--font-family);font-size:var(--font-size-base);resize:vertical;min-height:100px}.suggestion-input textarea:focus{outline:none;border-color:var(--color-primary)}.suggestion-input textarea::placeholder{color:var(--color-text-muted)}.char-count{position:absolute;bottom:var(--space-2);right:var(--space-3);font-size:var(--font-size-xs);color:var(--color-text-muted)}.modal-error{margin-top:var(--space-4);padding:var(--space-3);background:#ef44441a;border:1px solid var(--color-error);border-radius:var(--radius-md);color:var(--color-error);font-size:var(--font-size-sm)}.modal-footer{display:flex;justify-content:flex-end;gap:var(--space-3);padding:var(--space-5);border-top:1px solid var(--color-border)}@media(max-width:480px){.type-grid{grid-template-columns:1fr}}.stripe-checkout{background:var(--surface-color, #fff);border-radius:16px;padding:2rem;max-width:420px;width:100%;box-shadow:0 20px 60px #0000004d}.checkout-header{text-align:center;margin-bottom:1.5rem}.checkout-header h3{font-size:1.5rem;font-weight:700;margin:0 0 .5rem;color:var(--text-primary, #1a1a2e)}.checkout-header .job-title{font-size:.95rem;color:var(--text-secondary, #666);margin:0}.checkout-details{background:var(--bg-color, #f8f9fa);border-radius:12px;padding:1rem;margin-bottom:1.5rem}.detail-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem 0}.detail-row:not(:last-child){border-bottom:1px solid var(--border-color, #e0e0e0)}.detail-label{font-size:.9rem;color:var(--text-secondary, #666);display:flex;align-items:center;gap:.5rem}.detail-value{font-size:1rem;font-weight:600;color:var(--text-primary, #1a1a2e)}.commission-row .detail-label{font-weight:500}.commission-value{font-size:1.25rem;color:var(--primary-color, #4f46e5)}.rate-badge{font-size:.7rem;background:var(--primary-light, #e0e7ff);color:var(--primary-color, #4f46e5);padding:.15rem .4rem;border-radius:4px;font-weight:600}.checkout-description{margin-bottom:1.5rem}.checkout-description p{font-size:.9rem;color:var(--text-secondary, #666);line-height:1.5;margin:0 0 .5rem;text-align:center}.checkout-description p:last-child{margin-bottom:0}.detail-note{font-size:.8rem;color:var(--primary-color, #4f46e5);padding:.35rem .75rem;text-align:right}.checkout-fee-schedule{display:flex;flex-direction:column;align-items:center;gap:.15rem;font-size:.78rem;color:var(--text-muted, #999);margin-bottom:1rem;padding:.5rem 0}.fee-schedule-label{font-weight:600;color:var(--text-secondary, #666);text-transform:uppercase;font-size:.7rem;letter-spacing:.05em;margin-bottom:.15rem}.checkout-refund-note{color:var(--success-color, #059669)!important;font-weight:500}.checkout-error{background:#fef2f2;color:#dc2626;padding:.75rem 1rem;border-radius:8px;margin-bottom:1rem;font-size:.9rem}.checkout-actions{display:flex;gap:.75rem;margin-bottom:1rem}.checkout-actions button{flex:1}.checkout-footer{text-align:center;padding-top:1rem;border-top:1px solid var(--border-color, #e0e0e0)}.stripe-badge{font-size:.8rem;color:var(--text-muted, #999)}.stripe-success{text-align:center;padding:3rem 2rem}.success-icon{width:64px;height:64px;background:linear-gradient(135deg,#10b981,#059669);color:#fff;font-size:2rem;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto 1.5rem}.stripe-success h3{font-size:1.5rem;margin:0 0 .75rem;color:var(--text-primary, #1a1a2e)}.stripe-success p{color:var(--text-secondary, #666);margin:0;line-height:1.5}.modal-overlay{position:fixed;inset:0;background:#0009;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:1000;padding:1rem}.takeoff-sheet{display:flex;flex-direction:column;gap:1px;background:var(--gray-200, #e5e7eb);border-radius:12px;overflow:hidden;margin-bottom:1rem}.takeoff-trade-badge{display:inline-block;font-size:.7rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--primary-600, #2563eb);background:var(--primary-50, #eff6ff);border:1px solid var(--primary-200, #bfdbfe);padding:.2rem .6rem;border-radius:4px;margin-bottom:.5rem;width:fit-content}.takeoff-section{padding:1rem;background:var(--white, #fff)}.takeoff-core{padding-bottom:.75rem}.takeoff-section-title{font-size:.8rem;font-weight:600;color:var(--gray-500, #6b7280);text-transform:uppercase;letter-spacing:.04em;margin:0 0 .5rem}.takeoff-field{display:flex;flex-direction:column;gap:.15rem;padding:.4rem 0;border-bottom:1px solid var(--gray-100, #f3f4f6)}.takeoff-field:last-child{border-bottom:none}.takeoff-field-primary{padding:.5rem 0}.takeoff-label{font-size:.75rem;font-weight:600;color:var(--gray-500, #6b7280);text-transform:uppercase;letter-spacing:.04em}.takeoff-value{font-size:.95rem;font-weight:500;color:var(--gray-900, #111827)}.takeoff-tier{font-weight:400;color:var(--gray-600, #4b5563)}.takeoff-detail{font-size:.8rem;color:var(--gray-400, #9ca3af);font-style:italic}.takeoff-assumption{font-size:.75rem;color:var(--amber-600, #d97706);font-style:italic}.takeoff-warning{color:var(--amber-600, #d97706)}.takeoff-anchor{margin-top:.75rem;padding:.75rem;background:var(--primary-50, #eff6ff);border:1px solid var(--primary-200, #bfdbfe);border-radius:8px;text-align:center}.takeoff-anchor-range{font-size:1.3rem;font-weight:700;color:var(--primary-700, #1d4ed8);letter-spacing:-.01em}.takeoff-anchor-source{font-size:.7rem;color:var(--primary-500, #3b82f6);margin-top:.25rem;font-weight:500}.takeoff-risk-flags{margin-bottom:.75rem}.takeoff-risk-flags ul{list-style:none;padding:0;margin:0}.takeoff-risk-flags li{font-size:.85rem;padding:.3rem 0;color:var(--amber-700, #b45309);border-bottom:1px solid var(--amber-100, #fef3c7)}.takeoff-risk-flags li:last-child{border-bottom:none}.takeoff-risk-flags li:before{content:"⚠️ "}.takeoff-completeness{display:flex;flex-direction:column;gap:.3rem;margin-bottom:.75rem}.takeoff-progress-bar{width:100%;height:6px;background:var(--gray-200, #e5e7eb);border-radius:3px;overflow:hidden}.takeoff-progress-fill{height:100%;background:var(--primary-500, #3b82f6);border-radius:3px;transition:width .3s ease-out}.takeoff-completeness-value{font-size:.75rem;color:var(--gray-500, #6b7280)}.takeoff-photos{margin-bottom:.75rem}.takeoff-photo-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:.4rem}.takeoff-photo-thumb{width:100%;aspect-ratio:1;object-fit:cover;border-radius:6px;border:1px solid var(--gray-200, #e5e7eb)}.takeoff-assumptions ul{list-style:none;padding:0;margin:0}.takeoff-assumptions li{font-size:.8rem;padding:.25rem 0;color:var(--gray-600, #4b5563);border-bottom:1px solid var(--gray-50, #f9fafb)}.takeoff-assumptions li:last-child{border-bottom:none}.takeoff-assumptions li:before{content:"• ";color:var(--gray-400, #9ca3af)}.contractor-job-card{margin-bottom:var(--space-4)}.job-header{display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4);flex-wrap:wrap}.job-title{font-size:var(--font-size-2xl);margin:var(--space-2) 0 0}.job-budget-badge{background:var(--color-success);color:var(--color-bg-primary);padding:var(--space-2) var(--space-4);border-radius:var(--radius-lg);font-size:var(--font-size-xl);font-weight:700}.job-section{margin-bottom:var(--space-6)}.job-section h3{font-size:var(--font-size-lg);margin-bottom:var(--space-3)}.job-section p{line-height:1.7;margin:0}.job-scope-brief-section{border-left:3px solid var(--color-primary);padding-left:var(--space-5);background:#00d4aa08;border-radius:0 var(--radius-md) var(--radius-md) 0;padding:var(--space-4) var(--space-5)}.job-scope-brief-section h3{margin-bottom:var(--space-3)}.job-scope-brief-section p{color:var(--color-text-primary);font-size:var(--font-size-base);line-height:1.7}.description-toggle{cursor:pointer}.description-toggle summary{font-size:var(--font-size-sm);color:var(--color-text-muted);font-weight:500;cursor:pointer;padding:var(--space-2) 0;list-style:none}.description-toggle summary::-webkit-details-marker{display:none}.description-toggle summary:before{content:"▸ ";font-size:11px}.description-toggle[open] summary:before{content:"▾ "}.description-toggle p{margin-top:var(--space-3);color:var(--color-text-secondary);font-size:var(--font-size-sm);line-height:1.7}.job-info-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4);padding:var(--space-4);background:var(--color-bg-tertiary);border-radius:var(--radius-lg)}@media(max-width:480px){.job-info-grid{grid-template-columns:1fr}}.info-item{display:flex;flex-direction:column;gap:var(--space-1);text-align:center}.info-label{font-size:var(--font-size-sm);color:var(--color-text-muted)}.info-value{font-weight:600;color:var(--color-text-primary);text-transform:capitalize}.contractor-trust-box{background:#00d4aa0f;border:1px solid rgba(0,212,170,.2);border-left:4px solid var(--color-primary);border-radius:var(--radius-lg);padding:var(--space-4)}.trust-box-header{display:flex;align-items:center;gap:var(--space-2);margin-bottom:var(--space-3)}.trust-box-icon{font-size:1.25rem;flex-shrink:0}.trust-box-title{font-size:var(--font-size-sm);font-weight:600;color:var(--color-text-primary)}.trust-box-points{margin:0;padding-left:var(--space-4);display:flex;flex-direction:column;gap:var(--space-1)}.trust-box-points li{font-size:var(--font-size-xs);color:var(--color-text-secondary);line-height:1.5}.trust-box-link{display:inline-block;margin-top:var(--space-3);font-size:var(--font-size-xs);color:var(--color-primary);text-decoration:none;opacity:.8;transition:opacity .2s ease}.trust-box-link:hover{opacity:1;text-decoration:underline}.bid-form-card{padding:var(--space-6)}.bid-form-card h3{margin:0 0 var(--space-5)}.bid-form{display:flex;flex-direction:column;gap:var(--space-5)}.bid-form-row{display:grid;grid-template-columns:1fr 1fr;gap:var(--space-4)}@media(max-width:480px){.bid-form-row{grid-template-columns:1fr}}.my-bid-card{padding:var(--space-6)}.my-bid-card h3{margin:0 0 var(--space-4)}.my-bid-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3)}.my-bid-price{font-size:var(--font-size-2xl);font-weight:700;color:var(--color-primary)}.my-bid-timeline{color:var(--color-text-secondary);margin:0 0 var(--space-3)}.my-bid-message{color:var(--color-text-secondary);margin:0;padding:var(--space-3);background:var(--color-bg-tertiary);border-radius:var(--radius-md)}.unlock-section{margin-top:var(--space-5);padding-top:var(--space-5);border-top:1px solid var(--color-border);text-align:center}.unlock-text{color:var(--color-success);font-weight:600;margin-bottom:var(--space-4)}@keyframes unlockSlideIn{0%{opacity:0;transform:translateY(20px) scale(.97)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes checkmarkPop{0%{transform:scale(0);opacity:0}60%{transform:scale(1.2)}to{transform:scale(1);opacity:1}}.animate-unlock{animation:unlockSlideIn .5s ease-out}.contact-unlocked-container{border-radius:var(--radius-xl, 16px);overflow:hidden;background:linear-gradient(145deg,#0f1628,#1a2340,#0f1628);border:1px solid rgba(212,175,55,.3);box-shadow:0 8px 32px #0000004d,0 0 40px #d4af3714}.unlock-success-header{text-align:center;padding:var(--space-6) var(--space-4) var(--space-4);background:linear-gradient(180deg,rgba(212,175,55,.12) 0%,transparent 100%);border-bottom:1px solid rgba(212,175,55,.15)}.unlock-checkmark{width:56px;height:56px;border-radius:50%;background:linear-gradient(135deg,#d4af37,#f4d03f);color:#0f1628;font-size:28px;font-weight:800;display:flex;align-items:center;justify-content:center;margin:0 auto var(--space-3);animation:checkmarkPop .6s ease-out .3s both;box-shadow:0 4px 20px #d4af3766}.unlock-title{font-size:var(--font-size-xl);font-weight:700;color:#fff;margin:0 0 var(--space-2);letter-spacing:-.3px}.unlock-subtitle{font-size:var(--font-size-sm);color:#ffffff8c;max-width:280px;margin:0 auto;line-height:1.5}.contact-details-grid{display:flex;flex-direction:column;gap:1px;background:#ffffff0f;margin:0}.contact-detail-card{display:flex;align-items:center;gap:var(--space-3);padding:var(--space-4) var(--space-5);background:linear-gradient(145deg,#0f1628,#1a2340);transition:background .2s ease;text-decoration:none;color:inherit}.contact-detail-tappable{cursor:pointer}.contact-detail-tappable:hover,.contact-detail-tappable:active{background:linear-gradient(145deg,#162040,#1e2a50)}.contact-detail-icon{font-size:24px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:#ffffff0f;border-radius:var(--radius-md);flex-shrink:0}.contact-detail-content{display:flex;flex-direction:column;gap:2px;flex:1;min-width:0}.contact-detail-label{font-size:var(--font-size-xs);color:#fff6;text-transform:uppercase;letter-spacing:.5px;font-weight:500}.contact-detail-value{font-size:var(--font-size-base);color:#fff;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.contact-tap-hint{font-size:var(--font-size-xs);color:#4fc3f7b3;white-space:nowrap;font-weight:500}.unlock-actions{display:flex;gap:var(--space-3);padding:var(--space-4) var(--space-5);background:#0003}.unlock-action-btn{flex:1;padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);font-size:var(--font-size-sm);font-weight:600;cursor:pointer;transition:all .2s ease;border:none;text-align:center}.unlock-action-secondary{background:#ffffff14;color:#fffc;border:1px solid rgba(255,255,255,.12)}.unlock-action-secondary:hover{background:#ffffff24;color:#fff}.unlock-action-primary{background:linear-gradient(135deg,#d4af37,#c5a028);color:#0f1628;box-shadow:0 2px 12px #d4af374d}.unlock-action-primary:hover{box-shadow:0 4px 20px #d4af3773;transform:translateY(-1px)}.unlock-secondary-actions{display:flex;gap:1px;background:#ffffff0f}.unlock-secondary-btn{flex:1;padding:var(--space-3) var(--space-2);background:linear-gradient(145deg,#0f1628,#1a2340);color:#fff9;font-size:var(--font-size-xs);font-weight:600;text-align:center;text-decoration:none;border:none;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:4px}.unlock-secondary-btn:hover{background:linear-gradient(145deg,#162040,#1e2a50);color:#ffffffe6}.unlock-messaging-wrapper{border-top:1px solid rgba(255,255,255,.08)}.unlock-receipt{text-align:center;font-size:var(--font-size-xs);color:#ffffff73;padding:var(--space-3) var(--space-5);border-top:1px solid rgba(255,255,255,.06)}.unlock-ghosting-note{text-align:center;font-size:var(--font-size-xs);color:#fff6;padding:var(--space-3) var(--space-5) var(--space-4);line-height:1.5}.unlock-ghosting-note a{color:#4fc3f7b3;text-decoration:none}.unlock-ghosting-note a:hover{text-decoration:underline}.commission-pricing-hint{font-size:var(--font-size-sm);color:var(--color-text-muted);margin:0 0 var(--space-4);line-height:1.5}.pending-fallback-note{font-size:var(--font-size-sm);color:var(--color-text-muted);margin-top:var(--space-3)}.unlock-messaging-wrapper .messaging-panel{margin:0;border-radius:0;border:none;background:transparent}.suggest-clarification-section{display:flex;align-items:center;gap:var(--space-4);margin-top:var(--space-5);padding-top:var(--space-5);border-top:1px solid var(--color-border)}.suggest-hint{font-size:var(--font-size-sm);color:var(--color-text-muted)}@media(max-width:480px){.suggest-clarification-section{flex-direction:column;align-items:flex-start}.unlock-actions{flex-direction:column}}.dispute-section{padding:var(--space-5);border:1px solid rgba(255,152,0,.2);background:#ff980008}.dispute-badge-container{text-align:center;padding:var(--space-4)}.badge-disputed{background:#ff980026;color:#ff9800;border:1px solid rgba(255,152,0,.3);font-weight:600;font-size:var(--font-size-base);padding:var(--space-2) var(--space-4);border-radius:var(--radius-md)}.dispute-info{color:var(--color-text-secondary);margin-top:var(--space-3);font-size:var(--font-size-sm)}.dispute-form h4{margin:0 0 var(--space-2);font-size:var(--font-size-lg);color:var(--color-text-primary)}.dispute-disclaimer{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:0 0 var(--space-4)}.char-count{text-align:right;font-size:var(--font-size-xs);color:var(--color-text-muted);margin:var(--space-1) 0 var(--space-3)}.bid-stats{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4);margin-bottom:var(--space-6)}.bid-stat{text-align:center;padding:var(--space-5);background:var(--gradient-card);border:1px solid var(--color-border);border-radius:var(--radius-xl)}.bid-stat-value{display:block;font-size:var(--font-size-3xl);font-weight:700;color:var(--color-text-primary);margin-bottom:var(--space-1)}.bid-stat-label{font-size:var(--font-size-sm);color:var(--color-text-muted);text-transform:uppercase;letter-spacing:.05em}.bids-grid{display:flex;flex-direction:column;gap:var(--space-4)}.bid-card-link{text-decoration:none;color:inherit}.my-bid-item{transition:all var(--transition-base)}.my-bid-item:hover{border-color:var(--color-primary)}.my-bid-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-2)}.my-bid-job-category{font-size:var(--font-size-xs);font-weight:600;text-transform:uppercase;color:var(--color-primary);letter-spacing:.05em}.my-bid-job-title{font-size:var(--font-size-lg);margin:0 0 var(--space-4);color:var(--color-text-primary)}.my-bid-details{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-4);padding:var(--space-3);background:var(--color-bg-tertiary);border-radius:var(--radius-md)}@media(max-width:480px){.my-bid-details{grid-template-columns:1fr 1fr}}.my-bid-detail{display:flex;flex-direction:column;gap:var(--space-1)}.detail-label{font-size:var(--font-size-xs);color:var(--color-text-muted)}.detail-value{font-weight:600;color:var(--color-text-primary)}.awarded-banner{margin-top:var(--space-4);padding:var(--space-3);background:#10b98126;border:1px solid var(--color-success);border-radius:var(--radius-md);color:var(--color-success);text-align:center;font-weight:600}.pref-message{padding:var(--space-3) var(--space-4);border-radius:var(--radius-md);margin-bottom:var(--space-6);font-size:var(--font-size-sm)}.pref-message.success{background:#10b9811a;border:1px solid rgba(16,185,129,.3);color:var(--color-success)}.pref-message.error{background:#ef44441a;border:1px solid rgba(239,68,68,.3);color:var(--color-error)}.pref-section{margin-bottom:var(--space-6);padding:var(--space-6)}.pref-section h3{margin:0 0 var(--space-2);font-size:var(--font-size-lg)}.pref-desc{color:var(--color-text-muted);font-size:var(--font-size-sm);margin:0 0 var(--space-5)}.job-size-options{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3)}@media(max-width:480px){.job-size-options{grid-template-columns:1fr}}.size-option{padding:var(--space-4);background:var(--color-bg-tertiary);border:2px solid var(--color-border);border-radius:var(--radius-lg);cursor:pointer;transition:all var(--transition-fast);text-align:center}.size-option:hover{border-color:var(--color-border-hover)}.size-option.active{border-color:var(--color-primary);background:var(--color-primary-muted)}.size-option-label{display:block;font-weight:600;color:var(--color-text-primary);margin-bottom:var(--space-1)}.size-option-desc{font-size:var(--font-size-sm);color:var(--color-text-muted)}.size-option.active .size-option-label{color:var(--color-primary-hover)}.category-grid{display:flex;flex-wrap:wrap;gap:var(--space-2)}.category-tag{padding:var(--space-2) var(--space-4);background:var(--color-bg-tertiary);border:1px solid var(--color-border);border-radius:var(--radius-full);color:var(--color-text-secondary);font-family:var(--font-family);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast)}.category-tag:hover{border-color:var(--color-border-hover);color:var(--color-text-primary)}.category-tag.active{background:var(--color-primary-muted);border-color:var(--color-primary);color:var(--color-primary)}.service-area-inputs{display:flex;flex-direction:column;gap:var(--space-5)}.radius-input{display:flex;flex-direction:column;gap:var(--space-2)}.radius-slider input[type=range]{flex:1;height:8px;background:var(--color-bg-tertiary);border-radius:var(--radius-full);appearance:none;cursor:pointer}.radius-slider input[type=range]::-webkit-slider-thumb{appearance:none;width:20px;height:20px;background:var(--gradient-primary);border-radius:50%;cursor:pointer;box-shadow:var(--shadow-md)}.pref-actions{display:flex;justify-content:flex-end;gap:var(--space-3);padding-top:var(--space-4)}.contractor-profile{min-height:100vh;background:var(--color-surface)}.hero-banner{position:relative;height:300px;background:linear-gradient(135deg,#2563eb,#7c3aed);background-size:cover;background-position:center}.hero-overlay{position:absolute;inset:0;background:linear-gradient(to bottom,#0000001a,#00000080)}.hero-content{position:absolute;bottom:-60px;left:50%;transform:translate(-50%);z-index:10}.profile-avatar{width:120px;height:120px;background:linear-gradient(135deg,var(--color-primary) 0%,var(--color-secondary) 100%);border:4px solid var(--color-surface);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:3rem;font-weight:700;color:#fff;box-shadow:0 4px 20px #0003}.profile-header{background:var(--color-surface);border-bottom:1px solid var(--color-border);padding-top:70px}.profile-header-content{max-width:1000px;margin:0 auto;padding:var(--space-4);display:flex;justify-content:space-between;align-items:flex-start;gap:var(--space-4);flex-wrap:wrap}.profile-info{text-align:center;flex:1;min-width:300px}.profile-name{font-size:var(--font-size-2xl);font-weight:700;color:var(--text-primary);margin:0 0 var(--space-3)}.profile-trades{display:flex;justify-content:center;gap:var(--space-2);flex-wrap:wrap;margin-bottom:var(--space-3)}.trade-badge{display:inline-flex;align-items:center;gap:var(--space-1);background:var(--color-primary-100, #dbeafe);color:var(--color-primary-700, #1d4ed8);padding:var(--space-1) var(--space-3);border-radius:var(--radius-full);font-size:var(--font-size-sm);font-weight:500}.profile-stats{display:flex;justify-content:center;gap:var(--space-4);flex-wrap:wrap}.stat-item{color:var(--text-secondary);font-size:var(--font-size-sm)}.profile-actions{display:flex;gap:var(--space-2)}.profile-tabs{max-width:1000px;margin:0 auto;display:flex;gap:var(--space-1);padding:0 var(--space-4);border-top:1px solid var(--color-border)}.profile-tab{background:none;border:none;padding:var(--space-3) var(--space-4);font-size:var(--font-size-base);color:var(--text-secondary);cursor:pointer;border-bottom:3px solid transparent;transition:all .2s ease}.profile-tab:hover{color:var(--text-primary);background:var(--color-surface-secondary)}.profile-tab.active{color:var(--color-primary);border-bottom-color:var(--color-primary);font-weight:600}.profile-content{max-width:1000px;margin:0 auto;padding:var(--space-4);display:grid;grid-template-columns:300px 1fr;gap:var(--space-4)}@media(max-width:768px){.profile-content{grid-template-columns:1fr}.profile-sidebar{order:2}.profile-main{order:1}}.profile-sidebar{display:flex;flex-direction:column;gap:var(--space-4)}.sidebar-card{padding:var(--space-4)}.sidebar-card h3{font-size:var(--font-size-base);font-weight:600;margin:0 0 var(--space-3);color:var(--text-primary)}.detail-list{display:flex;flex-direction:column;gap:var(--space-2)}.detail-item{display:flex;justify-content:space-between;font-size:var(--font-size-sm)}.detail-label{color:var(--text-secondary)}.detail-value{color:var(--text-primary);font-weight:500}.detail-value.verified{color:var(--color-success)}.photo-preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-2)}.photo-preview-item{aspect-ratio:1;border-radius:var(--radius-md);overflow:hidden;cursor:pointer;transition:transform .2s ease}.photo-preview-item:hover{transform:scale(1.05)}.photo-preview-item img,.photo-preview-item video{width:100%;height:100%;object-fit:cover}.see-all-link{display:block;width:100%;text-align:center;margin-top:var(--space-3);color:var(--color-primary);background:none;border:none;cursor:pointer;font-size:var(--font-size-sm)}.see-all-link:hover{text-decoration:underline}.profile-main{min-width:0}.section-title{font-size:var(--font-size-lg);font-weight:600;margin:0;color:var(--text-primary)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-4)}.portfolio-feed{display:flex;flex-direction:column;gap:var(--space-4)}.portfolio-card{overflow:hidden}.portfolio-image{cursor:pointer;transition:opacity .2s ease}.portfolio-image:hover{opacity:.95}.portfolio-image img,.portfolio-image video{width:100%;height:auto;max-height:500px;object-fit:cover}.portfolio-card-footer{display:flex;justify-content:space-between;align-items:center;padding:var(--space-3);border-top:1px solid var(--color-border)}.portfolio-date{font-size:var(--font-size-sm);color:var(--text-tertiary)}.remove-btn{background:none;border:none;cursor:pointer;font-size:var(--font-size-base);opacity:.5;transition:opacity .2s ease}.remove-btn:hover{opacity:1}.photo-gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:var(--space-3)}.photo-gallery-item{position:relative;aspect-ratio:1;border-radius:var(--radius-lg);overflow:hidden;cursor:pointer;transition:transform .2s ease}.photo-gallery-item:hover{transform:scale(1.03)}.photo-gallery-item img,.photo-gallery-item video{width:100%;height:100%;object-fit:cover}.gallery-remove-btn{position:absolute;top:var(--space-2);right:var(--space-2);width:28px;height:28px;border-radius:50%;background:#0009;color:#fff;border:none;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .2s ease}.photo-gallery-item:hover .gallery-remove-btn{opacity:1}.gallery-remove-btn:hover{background:#dc2626cc}.top-jobs-header{margin-bottom:var(--space-6);text-align:center}.section-subtitle{color:var(--text-secondary);font-size:var(--font-size-sm);margin:var(--space-2) 0 0;max-width:400px;margin-left:auto;margin-right:auto}.job-group{background:var(--color-surface);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);margin-bottom:var(--space-4)}.job-group.other-photos{background:var(--color-surface-secondary);border-style:dashed}.job-group-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3);gap:var(--space-3);flex-wrap:wrap}.job-group-title{font-size:var(--font-size-base);font-weight:600;color:var(--text-primary);margin:0;flex:1}.job-photo-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--space-2)}.job-photo-item{position:relative;aspect-ratio:1;border-radius:var(--radius-md);overflow:hidden;cursor:pointer;transition:transform .2s ease}.job-photo-item:hover{transform:scale(1.03)}.job-photo-item img{width:100%;height:100%;object-fit:cover}.job-photo-item .gallery-remove-btn{width:24px;height:24px;font-size:var(--font-size-xs)}.job-empty-state{padding:var(--space-6);text-align:center;color:var(--text-tertiary);background:var(--color-surface-secondary);border-radius:var(--radius-md);border:2px dashed var(--color-border)}.empty-portfolio-cta{text-align:center;padding:var(--space-8);background:linear-gradient(135deg,var(--color-primary-50, #eff6ff) 0%,var(--color-secondary-50, #faf5ff) 100%);border-radius:var(--radius-lg);margin-top:var(--space-4)}.empty-portfolio-cta h3{color:var(--text-primary);margin:0 0 var(--space-2)}.empty-portfolio-cta p{color:var(--text-secondary);margin:0 0 var(--space-4)}.tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;margin-left:6px;border-radius:9px;background:var(--color-primary);color:#fff;font-size:11px;font-weight:700;line-height:1}.conversation-list{display:flex;flex-direction:column;gap:var(--space-3)}.conversation-list a{text-decoration:none}.conversation-card{padding:var(--space-4);transition:transform .2s ease,box-shadow .2s ease}.conversation-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0000001a}.conversation-header{display:flex;align-items:center;gap:var(--space-3)}.conversation-avatar{width:44px;height:44px;border-radius:50%;background:linear-gradient(135deg,var(--color-primary),var(--color-secondary));display:flex;align-items:center;justify-content:center;font-size:1.2rem;flex-shrink:0}.conversation-info{flex:1;min-width:0}.conversation-title{font-weight:600;color:var(--text-primary);font-size:var(--font-size-base);margin-bottom:2px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conversation-preview{color:var(--text-secondary);font-size:var(--font-size-sm);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.conversation-meta{display:flex;flex-direction:column;align-items:flex-end;gap:var(--space-1);flex-shrink:0}.conversation-time{font-size:var(--font-size-xs);color:var(--text-tertiary)}.empty-feed,.empty-photos{text-align:center;padding:var(--space-8);color:var(--text-secondary)}.empty-icon{font-size:4rem;margin-bottom:var(--space-4)}.empty-feed h3{color:var(--text-primary);margin:0 0 var(--space-2)}.empty-feed p{margin:0 0 var(--space-4)}.bids-redirect{text-align:center;padding:var(--space-8);background:var(--color-surface-secondary);border-radius:var(--radius-lg)}.redirect-icon{font-size:3rem;margin-bottom:var(--space-3)}.bids-redirect p{color:var(--text-secondary);margin:0 0 var(--space-4)}.photo-lightbox{position:fixed;inset:0;background:#000000e6;display:flex;align-items:center;justify-content:center;z-index:1000;cursor:pointer}.photo-lightbox img,.photo-lightbox video{max-width:90%;max-height:85vh;object-fit:contain;border-radius:var(--radius-lg)}.lightbox-close{position:absolute;top:var(--space-4);right:var(--space-4);background:none;border:none;color:#fff;font-size:2rem;cursor:pointer;opacity:.7;transition:opacity .2s ease}.lightbox-close:hover{opacity:1}@media(max-width:640px){.hero-banner{height:200px}.profile-avatar{width:100px;height:100px;font-size:2.5rem}.hero-content{bottom:-50px}.profile-header{display:flex;flex-direction:column;padding-top:60px}.profile-header-content{flex-direction:column;align-items:center;padding-bottom:var(--space-4);gap:var(--space-3)}.profile-actions{width:100%;flex-direction:column;align-items:center;gap:var(--space-2)}.profile-actions a{width:60%}.profile-actions a button,.profile-actions a .btn{width:100%}.profile-tabs{overflow-x:auto;padding:0 var(--space-2);gap:0;justify-content:center}.profile-tab{flex:1;text-align:center;white-space:nowrap;font-size:var(--font-size-xs);padding:var(--space-2) var(--space-2)}.profile-tab .tab-emoji{display:none}.tab-badge{min-width:16px;height:16px;font-size:10px;margin-left:3px;padding:0 4px}.trade-badge{font-size:var(--font-size-xs)}}.onboarding-page{min-height:100vh;background:var(--color-bg-primary);padding:var(--space-6);display:flex;align-items:center;justify-content:center}.onboarding-container{max-width:600px;width:100%}.onboarding-header{text-align:center;margin-bottom:var(--space-6)}.onboarding-logo{font-size:3rem;margin-bottom:var(--space-3)}.onboarding-header h1{font-size:var(--font-size-2xl);margin:0 0 var(--space-2);background:var(--gradient-primary);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.onboarding-header p{color:var(--text-secondary);margin:0}.progress-bar{height:4px;background:var(--color-surface-secondary);border-radius:var(--radius-full);margin-bottom:var(--space-2);overflow:hidden}.progress-fill{height:100%;background:var(--gradient-primary);border-radius:var(--radius-full);transition:width .3s ease}.step-indicator{text-align:center;font-size:var(--font-size-sm);color:var(--text-tertiary);margin-bottom:var(--space-4)}.onboarding-card{padding:var(--space-6)}.onboarding-step h2{margin:0 0 var(--space-2);font-size:var(--font-size-xl);text-align:center}.step-subtitle{text-align:center;color:var(--text-secondary);margin:0 0 var(--space-5)}.onboarding-error{background:var(--color-danger-50, #fef2f2);color:var(--color-danger-600, #dc2626);padding:var(--space-3);border-radius:var(--radius-md);margin-bottom:var(--space-4);text-align:center}.intro-step{text-align:center}.intro-icon{font-size:3rem;margin-bottom:var(--space-3)}.intro-step h2{font-size:var(--font-size-2xl);margin-bottom:var(--space-2)}.intro-step .step-subtitle{font-size:var(--font-size-lg);margin-bottom:var(--space-6)}.rules-list{display:flex;flex-direction:column;gap:var(--space-4);text-align:left;margin-bottom:var(--space-6)}.rule-item{display:flex;gap:var(--space-4);padding:var(--space-4);background:var(--color-surface-secondary);border-radius:var(--radius-lg);align-items:flex-start}.rule-icon{font-size:1.5rem;flex-shrink:0}.rule-content strong{display:block;color:var(--text-primary);margin-bottom:var(--space-1)}.rule-content p{margin:0;color:var(--text-secondary);font-size:var(--font-size-sm);line-height:1.5}.intro-footer{padding-top:var(--space-4);border-top:1px solid var(--color-border)}.intro-cta{color:var(--color-primary);font-weight:600;margin:0;text-align:center}.win-win-banner{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4);background:var(--color-surface-secondary);border-radius:var(--radius-lg);margin-bottom:var(--space-5);border:1px solid var(--color-border)}.win-emoji{font-size:2rem;flex-shrink:0}.win-text{flex:1}.win-text strong{display:block;font-size:var(--font-size-lg);color:var(--text-primary);margin-bottom:var(--space-1)}.win-text p{margin:0;color:var(--text-secondary);font-size:var(--font-size-sm)}.rule-item.positive{border-left:3px solid var(--color-success, #10b981)}.rule-item.info{background:var(--color-surface-overlay);border-left:3px solid var(--color-primary)}.trade-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(140px,1fr));gap:var(--space-3)}.trade-option{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-4);background:var(--color-surface-secondary);border:2px solid transparent;border-radius:var(--radius-lg);cursor:pointer;transition:all .2s ease;font-family:inherit;color:var(--text-primary)}.trade-option:hover{background:var(--color-surface-overlay)}.trade-option.selected{border-color:var(--color-primary);background:var(--color-primary-muted)}.trade-icon{font-size:2rem}.trade-label{font-size:var(--font-size-sm);font-weight:500}.size-options{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-6)}.size-option{display:flex;align-items:center;gap:var(--space-4);padding:var(--space-4);background:var(--color-surface-secondary);border:2px solid transparent;border-radius:var(--radius-lg);cursor:pointer;transition:all .2s ease;font-family:inherit;text-align:left}.size-option:hover{background:var(--color-surface-overlay)}.size-option.selected{border-color:var(--color-primary);background:var(--color-primary-muted)}.size-icon{font-size:2rem}.size-info{display:flex;flex-direction:column}.size-label{font-weight:600;color:var(--text-primary)}.size-desc{font-size:var(--font-size-sm);color:var(--text-secondary)}.price-section{margin-top:var(--space-4)}.price-options{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-2);margin-top:var(--space-2)}.price-option{padding:var(--space-3);background:var(--color-surface-secondary);border:2px solid transparent;border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease;font-family:inherit;font-size:var(--font-size-sm);color:var(--text-primary)}.price-option:hover{background:var(--color-surface-overlay)}.price-option.selected{border-color:var(--color-primary);background:var(--color-primary-muted)}.experience-options{display:flex;flex-direction:column;gap:var(--space-3);margin-bottom:var(--space-6)}.experience-option{display:flex;flex-direction:column;padding:var(--space-4);background:var(--color-surface-secondary);border:2px solid transparent;border-radius:var(--radius-lg);cursor:pointer;transition:all .2s ease;font-family:inherit;text-align:left}.experience-option:hover{background:var(--color-surface-overlay)}.experience-option.selected{border-color:var(--color-primary);background:var(--color-primary-muted)}.exp-label{font-weight:600;color:var(--text-primary)}.exp-desc{font-size:var(--font-size-sm);color:var(--text-secondary)}.form-group{margin-bottom:var(--space-4)}.input-label{display:block;font-weight:500;margin-bottom:var(--space-2);color:var(--text-primary)}.text-input{width:100%;padding:var(--space-3) var(--space-4);background:var(--color-surface-secondary);border:1px solid var(--color-border);border-radius:var(--radius-md);font-size:var(--font-size-md);color:var(--text-primary);font-family:inherit}.text-input:focus{outline:none;border-color:var(--color-primary)}.zip-input{max-width:150px;text-align:center;font-size:var(--font-size-xl);letter-spacing:.2em}.radius-slider{display:flex;align-items:center;gap:var(--space-4)}.radius-slider input[type=range]{flex:1;height:6px;-webkit-appearance:none;appearance:none;background:var(--color-surface-secondary);border-radius:var(--radius-full)}.radius-slider input[type=range]::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background:var(--color-primary);cursor:pointer}.radius-value{font-weight:600;color:var(--color-primary);min-width:80px}.summary-section{margin-top:var(--space-6);padding:var(--space-4);background:var(--color-surface-secondary);border-radius:var(--radius-lg)}.summary-section h3{margin:0 0 var(--space-3);font-size:var(--font-size-md)}.summary-item{display:flex;gap:var(--space-2);margin-bottom:var(--space-2);font-size:var(--font-size-sm)}.summary-item:last-child{margin-bottom:0}.summary-label{color:var(--text-tertiary)}.summary-value{color:var(--text-primary);font-weight:500}.onboarding-actions{display:flex;justify-content:space-between;margin-top:var(--space-6);gap:var(--space-3)}.onboarding-actions .btn{flex:1}@media(max-width:480px){.onboarding-page,.onboarding-card{padding:var(--space-4)}.trade-grid{grid-template-columns:repeat(2,1fr)}.price-options{grid-template-columns:1fr}}.portfolio-upload-area{display:flex;flex-direction:column;align-items:center;gap:var(--space-4)}.portfolio-upload-btn{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-6);width:100%;background:var(--color-surface-secondary);border:2px dashed var(--color-border);border-radius:var(--radius-lg);cursor:pointer;transition:all .2s ease;font-family:inherit;color:var(--text-primary)}.portfolio-upload-btn:hover:not(:disabled){border-color:var(--color-primary);background:var(--color-primary-muted)}.portfolio-upload-btn:disabled{opacity:.7;cursor:not-allowed}.portfolio-upload-btn .upload-icon{font-size:2.5rem}.portfolio-upload-btn .upload-hint{font-size:var(--font-size-sm);color:var(--text-tertiary)}.portfolio-preview-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--space-3);width:100%}.portfolio-preview-item{position:relative;aspect-ratio:1;border-radius:var(--radius-lg);overflow:hidden;background:var(--color-surface-secondary)}.portfolio-media{width:100%;height:100%;object-fit:cover}.portfolio-remove-btn{position:absolute;top:var(--space-2);right:var(--space-2);width:24px;height:24px;border-radius:50%;background:#000000b3;color:#fff;border:none;cursor:pointer;font-size:12px;display:flex;align-items:center;justify-content:center;transition:background .2s}.portfolio-remove-btn:hover{background:var(--color-danger-600, #dc2626)}.portfolio-type-badge{position:absolute;bottom:var(--space-2);left:var(--space-2);font-size:1rem;background:#00000080;padding:2px 6px;border-radius:var(--radius-sm)}.portfolio-skip-hint{color:var(--text-tertiary);font-size:var(--font-size-sm);font-style:italic;margin-top:var(--space-2)}@media(max-width:480px){.portfolio-preview-grid{grid-template-columns:repeat(3,1fr);gap:var(--space-2)}}.portfolio-job-group{background:var(--color-surface-secondary);border:1px solid var(--color-border);border-radius:var(--radius-lg);padding:var(--space-4);margin-bottom:var(--space-4)}.portfolio-job-group .job-group-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3)}.portfolio-job-group .job-group-header h3{font-size:var(--font-size-md);font-weight:600;color:var(--text-primary);margin:0}.portfolio-job-group .photo-count{font-size:var(--font-size-sm);color:var(--text-tertiary)}.portfolio-job-group .portfolio-upload-btn{padding:var(--space-4);margin-bottom:var(--space-3)}.portfolio-job-group .portfolio-upload-btn.secondary{background:transparent;border-color:var(--color-border)}.portfolio-job-group .portfolio-preview-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:var(--space-2)}.job-empty-hint{text-align:center;color:var(--text-tertiary);font-size:var(--font-size-sm);font-style:italic;padding:var(--space-3);margin:0}.credentials-section{margin-bottom:var(--space-4)}.credentials-section-title{font-size:var(--font-size-md);font-weight:600;margin:0 0 var(--space-3);color:var(--text-primary)}.insurance-options{display:grid;grid-template-columns:repeat(2,1fr);gap:var(--space-3)}.insurance-option{display:flex;flex-direction:column;align-items:center;gap:var(--space-2);padding:var(--space-4);background:var(--color-surface-secondary);border:2px solid transparent;border-radius:var(--radius-lg);cursor:pointer;transition:all .2s ease;font-family:inherit;color:var(--text-primary)}.insurance-option:hover{background:var(--color-surface-overlay)}.insurance-option.selected{border-color:var(--color-primary);background:var(--color-primary-muted)}.insurance-option .option-icon{font-size:1.5rem}.trade-credentials-group{margin-bottom:var(--space-4);padding:var(--space-4);background:var(--color-surface-secondary);border-radius:var(--radius-lg)}.trade-credentials-title{font-size:var(--font-size-md);font-weight:500;margin:0 0 var(--space-3);color:var(--text-primary)}.boolean-question{margin-bottom:var(--space-3)}.boolean-options{display:flex;gap:var(--space-2);margin-top:var(--space-2)}.boolean-option{flex:1;padding:var(--space-3);background:var(--color-surface-overlay);border:2px solid transparent;border-radius:var(--radius-md);cursor:pointer;transition:all .2s ease;font-family:inherit;font-weight:500;color:var(--text-primary)}.boolean-option:hover{background:var(--color-surface-secondary)}.boolean-option.selected{border-color:var(--color-primary);background:var(--color-primary-muted)}.input-hint{display:block;font-size:var(--font-size-sm);color:var(--text-tertiary);margin-top:var(--space-1)}.credentials-info-box{display:flex;align-items:flex-start;gap:var(--space-3);padding:var(--space-4);background:var(--color-surface-secondary);border-radius:var(--radius-lg);border-left:3px solid var(--color-info, #3b82f6);margin:var(--space-4) 0}.credentials-info-box .info-icon{font-size:1.5rem;flex-shrink:0}.credentials-info-box p{margin:0;color:var(--text-secondary);font-size:var(--font-size-sm);line-height:1.5}.skip-hint{text-align:center;color:var(--text-tertiary);font-size:var(--font-size-sm);margin-top:var(--space-4)}.mt-3{margin-top:var(--space-3)}.mt-4{margin-top:var(--space-4)}@media(max-width:480px){.insurance-options{grid-template-columns:1fr}.boolean-options{flex-direction:column}}.concierge-test{min-height:100vh;background:#f5f5f7;padding:1rem}.concierge-test-header{display:flex;justify-content:space-between;align-items:center;padding:1rem;background:#fff;border-radius:.75rem;margin-bottom:1rem;box-shadow:0 1px 3px #0000001a}.concierge-test-header h1{font-size:1.25rem;margin:0}.concierge-test-actions{display:flex;gap:.5rem}.btn-secondary{padding:.5rem 1rem;background:#e5e7eb;border:none;border-radius:.5rem;font-size:.875rem;cursor:pointer;transition:background .2s}.btn-secondary:hover{background:#d1d5db}.concierge-test-blocked{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;text-align:center}.concierge-test-layout{display:grid;grid-template-columns:1fr 320px;gap:1rem;max-width:1200px;margin:0 auto}@media(max-width:900px){.concierge-test-layout{grid-template-columns:1fr}.concierge-test-debug{order:-1}}.concierge-test-chat{background:#fff;border-radius:.75rem;box-shadow:0 1px 3px #0000001a;display:flex;flex-direction:column;height:calc(100vh - 160px)}.concierge-test-messages{flex:1;overflow-y:auto;padding:1rem;display:flex;flex-direction:column;gap:1rem}.concierge-test-empty{text-align:center;color:#6b7280;padding:2rem}.concierge-test-empty .hint{font-size:.875rem;color:#9ca3af;margin-top:.5rem}.concierge-test-input{display:flex;gap:.5rem;padding:1rem;border-top:1px solid #e5e7eb}.concierge-test-input input{flex:1;padding:.75rem 1rem;border:1px solid #e5e7eb;border-radius:.5rem;font-size:1rem}.concierge-test-input input:focus{outline:none;border-color:#6366f1}.concierge-test-input button{padding:.75rem 1.5rem;background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;border:none;border-radius:.5rem;font-weight:600;cursor:pointer}.concierge-test-input button:disabled{opacity:.6;cursor:not-allowed}.concierge-test-debug{display:flex;flex-direction:column;gap:1rem}.debug-section{background:#fff;border-radius:.75rem;padding:1rem;box-shadow:0 1px 3px #0000001a}.debug-section h3{font-size:.75rem;text-transform:uppercase;letter-spacing:.05em;color:#6b7280;margin:0 0 .5rem}.debug-section code{font-size:.75rem;background:#f3f4f6;padding:.25rem .5rem;border-radius:.25rem;word-break:break-all}.debug-stats{display:grid;grid-template-columns:repeat(2,1fr);gap:.5rem}.debug-stat{display:flex;flex-direction:column;padding:.5rem;background:#f9fafb;border-radius:.5rem}.debug-stat span{font-size:.7rem;color:#6b7280}.debug-stat strong{font-size:1.125rem;color:#1f2937}.debug-logs{max-height:200px;overflow-y:auto}.debug-log-list{display:flex;flex-direction:column;gap:.25rem}.debug-log{display:flex;gap:.5rem;font-size:.75rem;padding:.25rem;border-radius:.25rem}.debug-log-time{color:#9ca3af;font-family:SF Mono,Consolas,monospace}.debug-log-send{background:#dbeafe}.debug-log-receive{background:#d1fae5}.debug-log-error{background:#fee2e2}.debug-log-answer{background:#fef3c7}.debug-log-test{background:#f3e8ff}.bubble{max-width:80%;padding:.75rem 1rem;border-radius:1rem;animation:slideIn .2s ease-out}.bubble-user{align-self:flex-end;background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff}.bubble-assistant{align-self:flex-start;background:#f3f4f6;color:#1f2937}.bubble-content{line-height:1.4}.question-card{background:#fff;border:1px solid #e5e7eb;border-radius:.75rem;padding:1rem;animation:slideIn .2s ease-out}.question-answered{opacity:.6;pointer-events:none}.question-text{font-weight:500;margin-bottom:.5rem}.question-meta{display:flex;gap:.5rem;margin-bottom:.75rem}.question-id,.question-type{font-size:.7rem;padding:.125rem .5rem;background:#f3f4f6;border-radius:.25rem;color:#6b7280;font-family:SF Mono,Consolas,monospace}.chips{display:flex;flex-wrap:wrap;gap:.5rem}.chips-stacked{flex-direction:column}.chips-inline{flex-direction:row}.chip{display:flex;flex-direction:column;align-items:flex-start;padding:.75rem 1rem;background:#fff;border:2px solid #e5e7eb;border-radius:.5rem;cursor:pointer;transition:all .2s;text-align:left}.chip:hover:not(:disabled){border-color:#6366f1;background:#f5f3ff}.chip-selected{border-color:#6366f1;background:#6366f1;color:#fff}.chip-label{font-weight:500}.chip-id{font-size:.7rem;color:#9ca3af;font-family:SF Mono,Consolas,monospace}.chip-selected .chip-id{color:#ffffffb3}.chip:disabled{cursor:not-allowed;opacity:.5}.btn-submit{margin-top:.75rem;padding:.75rem 1.5rem;background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;border:none;border-radius:.5rem;font-weight:600;cursor:pointer}.numeric-input,.text-input{margin-top:.5rem}.input-row{display:flex;align-items:center;gap:.5rem}.numeric-input input,.text-input input{flex:1;padding:.75rem 1rem;border:1px solid #e5e7eb;border-radius:.5rem;font-size:1rem}.unit{color:#6b7280;font-weight:500}.estimate-card{background:linear-gradient(135deg,#1a1a2e,#2d2d44);border-radius:.75rem;padding:1.25rem;color:#fff;animation:slideIn .3s ease-out}.estimate-header{text-align:center;padding-bottom:1rem;border-bottom:1px solid rgba(255,255,255,.1)}.estimate-label{display:block;font-size:.75rem;text-transform:uppercase;letter-spacing:.1em;color:#fff9;margin-bottom:.25rem}.estimate-range{display:flex;align-items:center;justify-content:center;gap:.5rem}.estimate-low,.estimate-high{font-size:1.5rem;font-weight:700;color:#10b981}.estimate-sep{color:#fff6}.estimate-section{margin-top:1rem}.estimate-section h4{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em;color:#ffffff80;margin:0 0 .5rem}.estimate-section ul{list-style:none;padding:0;margin:0}.estimate-section li{padding:.25rem 0 .25rem 1rem;position:relative;font-size:.875rem}.estimate-section li:before{content:"✓";position:absolute;left:0;color:#10b981}.estimate-assumptions li:before{content:"•";color:#fff6}.estimate-raw{margin-top:1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.1)}.estimate-raw summary{font-size:.75rem;color:#ffffff80;cursor:pointer}.estimate-raw pre{font-size:.7rem;margin-top:.5rem;padding:.5rem;background:#0000004d;border-radius:.25rem;overflow-x:auto}.notice{display:flex;align-items:flex-start;gap:.5rem;padding:.75rem 1rem;border-radius:.5rem}.notice-info{background:#fef3c7;border:1px solid #fcd34d}.notice-error{background:#fee2e2;border:1px solid #fca5a5}.notice-icon{flex-shrink:0}.notice-content{font-size:.875rem}.notice-code{margin-left:auto;font-size:.7rem;padding:.125rem .5rem;background:#0000001a;border-radius:.25rem}.renderable-unknown{background:#fef3c7;padding:1rem;border-radius:.5rem;font-size:.875rem}.renderable-unknown pre{font-size:.7rem;margin-top:.5rem;overflow-x:auto}.loading{display:flex;gap:.25rem;padding:1rem}.dot{width:.5rem;height:.5rem;background:#6366f1;border-radius:50%;animation:bounce 1.4s ease-in-out infinite both}.dot:nth-child(1){animation-delay:-.32s}.dot:nth-child(2){animation-delay:-.16s}@keyframes slideIn{0%{opacity:0;transform:translateY(8px)}to{opacity:1;transform:translateY(0)}}@keyframes bounce{0%,80%,to{transform:scale(0)}40%{transform:scale(1)}}.warroom-container{display:flex;flex-direction:column;height:calc(100vh - 80px);max-height:calc(100vh - 80px);background:linear-gradient(180deg,#1a1a2e80,#1e1e32cc);border-radius:16px;overflow:hidden;border:1px solid rgba(255,255,255,.06)}.warroom-header{display:flex;align-items:center;justify-content:space-between;padding:16px 24px;background:#ffffff0a;border-bottom:1px solid rgba(255,255,255,.08);flex-shrink:0}.warroom-header-left{display:flex;align-items:center;gap:14px}.warroom-header-icon{font-size:26px;width:44px;height:44px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#6366f133,#8b5cf633);border-radius:12px;border:1px solid rgba(99,102,241,.3)}.warroom-title{margin:0;font-size:18px;font-weight:700;color:#fff;letter-spacing:.5px}.warroom-subtitle{font-size:12px;color:#ffffff73;font-weight:500}.warroom-agents-strip{display:flex;gap:6px}.warroom-agent-chip{font-size:18px;width:34px;height:34px;display:flex;align-items:center;justify-content:center;background:#ffffff0f;border-radius:10px;cursor:default;transition:transform .2s,background .2s}.warroom-agent-chip:hover{transform:scale(1.15);background:#ffffff1f}.warroom-body{flex:1;overflow-y:auto;padding:20px 24px;display:flex;flex-direction:column;gap:12px;scroll-behavior:smooth}.warroom-body::-webkit-scrollbar{width:6px}.warroom-body::-webkit-scrollbar-track{background:transparent}.warroom-body::-webkit-scrollbar-thumb{background:#ffffff1f;border-radius:3px}.warroom-body::-webkit-scrollbar-thumb:hover{background:#fff3}.warroom-system-msg{text-align:center;color:#fff6;font-size:12px;font-weight:500;padding:8px 16px;background:#ffffff08;border-radius:20px;align-self:center;max-width:80%;letter-spacing:.3px}.warroom-system-msg.warroom-error{color:#ff6b6b;background:#ff6b6b14;border:1px solid rgba(255,107,107,.15)}.warroom-msg{display:flex;align-items:flex-end;gap:10px;animation:warroom-slideIn .35s ease-out;animation-fill-mode:both}.warroom-msg-user{justify-content:flex-end}.warroom-msg-agent{justify-content:flex-start}.warroom-avatar{width:36px;height:36px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:18px;flex-shrink:0}.warroom-avatar-user{background:linear-gradient(135deg,#6366f1,#4f46e5);order:1}.warroom-avatar-agent{background:#ffffff0f;border:2px solid}.warroom-bubble{max-width:75%;padding:12px 16px;border-radius:16px;position:relative}.warroom-bubble-user{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;border-bottom-right-radius:4px}.warroom-bubble-agent{background:#ffffff0d;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);color:#ffffffe6;border-bottom-left-radius:4px;border-left:3px solid}.warroom-agent-name{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.8px;margin-bottom:6px}.warroom-msg-text{font-size:14px;line-height:1.55;word-wrap:break-word;white-space:pre-wrap}.warroom-msg-meta{font-size:10px;color:#ffffff4d;margin-top:6px;text-align:right}.warroom-bubble-user .warroom-msg-meta{color:#ffffff8c}.warroom-typing{animation:none}.warroom-bubble-typing{display:flex;align-items:center;gap:10px;padding:14px 18px;border-left-color:#a78bfa!important}.warroom-typing-dots{display:flex;gap:4px}.warroom-typing-dots span{width:7px;height:7px;border-radius:50%;background:#ffffff59;animation:warroom-dotPulse 1.4s ease-in-out infinite}.warroom-typing-dots span:nth-child(2){animation-delay:.2s}.warroom-typing-dots span:nth-child(3){animation-delay:.4s}.warroom-typing-label{font-size:12px;color:#ffffff59;font-style:italic}.warroom-input-area{display:flex;align-items:flex-end;gap:10px;padding:16px 24px;background:#ffffff08;border-top:1px solid rgba(255,255,255,.08);flex-shrink:0}.warroom-input{flex:1;background:#ffffff0f;border:1px solid rgba(255,255,255,.1);border-radius:14px;padding:12px 16px;color:#fff;font-size:14px;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;resize:none;min-height:44px;max-height:120px;line-height:1.4;transition:border-color .2s,background .2s}.warroom-input::placeholder{color:#ffffff4d}.warroom-input:focus{outline:none;border-color:#6366f180;background:#ffffff14}.warroom-input:disabled{opacity:.5;cursor:not-allowed}.warroom-send-btn{width:44px;height:44px;border-radius:14px;border:none;background:#ffffff0f;color:#ffffff4d;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:all .2s ease;flex-shrink:0}.warroom-send-btn.active{background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;box-shadow:0 4px 12px #6366f14d}.warroom-send-btn.active:hover{transform:scale(1.05);box-shadow:0 6px 16px #6366f166}.warroom-send-btn:disabled{cursor:not-allowed}@keyframes warroom-slideIn{0%{opacity:0;transform:translateY(12px)}to{opacity:1;transform:translateY(0)}}@keyframes warroom-dotPulse{0%,80%,to{transform:scale(.6);opacity:.4}40%{transform:scale(1);opacity:1}}@media(max-width:768px){.warroom-container{border-radius:0;height:calc(100vh - 60px);max-height:calc(100vh - 60px)}.warroom-header{padding:12px 16px}.warroom-agents-strip{display:none}.warroom-body{padding:12px 16px}.warroom-bubble{max-width:85%}.warroom-input-area{padding:12px 16px}}.dispute-panel{position:relative;color:#ffffffd9!important}.dispute-panel *{color:inherit}.dispute-loading,.dispute-error{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:3rem 2rem;color:#ffffff80!important}.dispute-error h3{color:#ffffffe6!important;margin-bottom:.5rem}.dispute-reload-btn{margin-top:1rem;padding:.5rem 1.5rem;border-radius:8px;border:1px solid rgba(255,255,255,.1);background:#ffffff0d;color:#fff9!important;cursor:pointer;transition:all .2s}.dispute-reload-btn:hover{background:#ffffff1a;color:#ffffffe6!important}.dispute-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem}.dispute-header h2{font-size:1.25rem;font-weight:600;color:#fff!important;margin:0}.dispute-empty{text-align:center;padding:3rem 2rem;color:#ffffff80!important}.dispute-table{width:100%}.dispute-table td{color:#fffc!important}.dispute-table th{color:#fff6!important}.dispute-row{cursor:pointer;transition:background .15s}.dispute-row:hover{background:#ffffff08}.dispute-row.selected{background:#4ecdc414;border-left:3px solid #4ecdc4}.dispute-job-cell{display:flex;flex-direction:column;gap:.15rem}.dispute-job-title{font-weight:500;color:#fff!important}.dispute-job-id{font-size:.75rem;font-family:SF Mono,Fira Code,monospace;color:#ffffff80!important}.dispute-date{font-size:.85rem;color:#fff9!important}.dispute-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.2rem .6rem;border-radius:6px;font-size:.75rem;font-weight:600;white-space:nowrap}.dispute-badge.disputed{background:#fab13226;color:#fab132!important;border:1px solid rgba(250,177,50,.25)}.dispute-detail{margin-top:1rem;border:1px solid rgba(78,205,196,.2)}.dispute-detail h3{font-size:1.1rem;font-weight:600;color:#fff!important;margin:0 0 1rem;padding-bottom:.75rem;border-bottom:1px solid rgba(255,255,255,.06)}.dispute-detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem;margin-bottom:1.5rem}.dispute-detail-field{display:flex;flex-direction:column;gap:.25rem}.dispute-detail-field label{font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#fff6!important}.dispute-detail-field span{font-size:.9rem;color:#ffffffd9!important;word-break:break-all}.dispute-mono{font-family:SF Mono,Fira Code,monospace;font-size:.8rem!important;color:#ffffffb3!important}.dispute-reason-section{margin-bottom:1.5rem}.dispute-reason-section label{display:block;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#fff6!important;margin-bottom:.5rem}.dispute-reason-text{background:#fab1321a;border:1px solid rgba(250,177,50,.25);border-radius:8px;padding:1rem;font-size:.9rem;line-height:1.6;color:#ffffffe6!important;white-space:pre-wrap}.dispute-notes-section{margin-bottom:1.5rem}.dispute-notes-section label{display:block;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px;color:#fff6!important;margin-bottom:.5rem}.dispute-notes-input{width:100%;background:#ffffff0a;border:1px solid rgba(255,255,255,.1);border-radius:8px;padding:.75rem 1rem;color:#ffffffe6!important;font-size:.9rem;font-family:inherit;resize:vertical;transition:border-color .2s;box-sizing:border-box}.dispute-notes-input:focus{outline:none;border-color:#4ecdc480}.dispute-notes-input:disabled{opacity:.5}.dispute-char-count{display:block;text-align:right;font-size:.7rem;color:#fff6!important;margin-top:.25rem}.dispute-actions{display:flex;gap:1rem;padding-top:1rem;border-top:1px solid rgba(255,255,255,.06)}.dispute-btn{display:inline-flex;align-items:center;gap:.5rem;padding:.65rem 1.5rem;border-radius:8px;font-size:.9rem;font-weight:600;border:none;cursor:pointer;transition:all .2s}.dispute-btn:disabled{opacity:.5;cursor:not-allowed}.dispute-btn.release{background:linear-gradient(135deg,#2ecc71,#27ae60);color:#fff!important}.dispute-btn.release:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #2ecc714d}.dispute-btn.refund{background:linear-gradient(135deg,#e67e22,#d35400);color:#fff!important}.dispute-btn.refund:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 12px #e67e224d}.dispute-btn .admin-spinner.small{width:14px;height:14px;border-width:2px}.dispute-toast{position:fixed;top:1.5rem;right:1.5rem;padding:.75rem 1.5rem;border-radius:10px;font-size:.9rem;font-weight:500;z-index:1000;animation:dispute-toast-in .3s ease-out}.dispute-toast.success{background:#2ecc7126;color:#2ecc71!important;border:1px solid rgba(46,204,113,.3)}.dispute-toast.error{background:#e74c3c26;color:#e74c3c!important;border:1px solid rgba(231,76,60,.3)}@keyframes dispute-toast-in{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}@media(max-width:768px){.dispute-detail-grid{grid-template-columns:1fr 1fr}.dispute-actions{flex-direction:column}}@media(max-width:480px){.dispute-detail-grid{grid-template-columns:1fr}}.admin-dashboard{min-height:100vh;background:linear-gradient(135deg,#0a0a1a,#1a1a2e,#16213e);color:#e0e0e0;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;display:flex}.admin-sidebar{width:240px;min-height:100vh;background:#0000004d;border-right:1px solid rgba(255,255,255,.06);display:flex;flex-direction:column;flex-shrink:0;position:sticky;top:0;height:100vh;overflow-y:auto}.sidebar-brand{padding:24px 20px;border-bottom:1px solid rgba(255,255,255,.06)}.sidebar-brand h1{font-size:18px;font-weight:700;background:linear-gradient(135deg,#818cf8,#a78bfa,#c084fc);-webkit-background-clip:text;background-clip:text;-webkit-text-fill-color:transparent;margin:0 0 4px}.sidebar-brand .sidebar-subtitle{font-size:11px;color:#ffffff4d;text-transform:uppercase;letter-spacing:1px}.sidebar-section{padding:16px 12px 8px}.sidebar-section-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:1.5px;color:#ffffff40;padding:0 8px;margin-bottom:8px}.sidebar-nav-item{display:flex;align-items:center;gap:10px;padding:10px 12px;border-radius:10px;cursor:pointer;transition:all .15s;border:none;background:transparent;color:#ffffff80;font-size:14px;font-weight:500;font-family:inherit;width:100%;text-align:left}.sidebar-nav-item:hover{background:#ffffff0d;color:#fffc}.sidebar-nav-item.active{background:#6366f126;color:#a78bfa}.sidebar-nav-icon{font-size:18px;width:24px;text-align:center;flex-shrink:0}.sidebar-nav-label{flex:1}.sidebar-nav-badge{font-size:9px;font-weight:600;padding:2px 6px;border-radius:4px;text-transform:uppercase;letter-spacing:.5px}.badge-active{background:#4ecdc426;color:#4ecdc4}.badge-soon{background:#ffffff0f;color:#ffffff4d}.badge-live{background:#6366f126;color:#818cf8}.sidebar-footer{margin-top:auto;padding:16px 20px;border-top:1px solid rgba(255,255,255,.06);font-size:11px;color:#fff3}.admin-main{flex:1;min-width:0;display:flex;flex-direction:column}.admin-topbar{padding:20px 32px;border-bottom:1px solid rgba(255,255,255,.06);display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:8px}.admin-topbar h2{font-size:22px;font-weight:600;color:#fff;margin:0}.admin-topbar-date{font-size:13px;color:#ffffff59}.admin-content{flex:1;padding:24px 32px 40px;max-width:1100px}.admin-card{background:#ffffff0a;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:24px}.admin-card h2{font-size:18px;font-weight:600;color:#fff;margin:0 0 20px}.admin-card h3{font-size:15px;font-weight:600;color:#fffc;margin:0 0 12px}.admin-refresh-btn{background:#ffffff14;border:1px solid rgba(255,255,255,.15);color:#a78bfa;padding:8px 16px;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s;font-family:inherit}.admin-refresh-btn:hover{background:#a78bfa26;border-color:#a78bfa}.admin-tab-header{display:flex;justify-content:flex-end;margin-bottom:16px}.admin-metrics-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:24px}.metric-card{background:#ffffff0a;-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid rgba(255,255,255,.08);border-radius:16px;padding:20px;display:flex;gap:16px;align-items:flex-start;transition:transform .2s,box-shadow .2s}.metric-card:hover{transform:translateY(-2px);box-shadow:0 8px 32px #0000004d}.metric-blue{border-left:3px solid #60a5fa}.metric-green{border-left:3px solid #4ecdc4}.metric-purple{border-left:3px solid #a78bfa}.metric-gold{border-left:3px solid #f9ca24}.metric-icon{font-size:32px;line-height:1}.metric-content{flex:1}.metric-value{font-size:28px;font-weight:700;color:#fff;line-height:1.2}.metric-label{font-size:13px;color:#ffffff80;text-transform:uppercase;letter-spacing:.5px;margin-top:2px}.metric-detail{font-size:12px;color:#fff6;margin-top:8px}.metric-trend{font-size:12px;color:#4ecdc4;font-weight:500;margin-top:4px}.admin-section-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:16px;margin-bottom:24px}.pipeline-bars{display:flex;flex-direction:column;gap:12px}.pipeline-row{display:flex;align-items:center;gap:12px}.pipeline-label{font-size:13px;color:#fff9;width:90px;flex-shrink:0}.pipeline-bar-track{flex:1;height:24px;background:#ffffff0f;border-radius:12px;overflow:hidden}.pipeline-bar-fill{height:100%;border-radius:12px;transition:width .6s ease;min-width:4px}.pipeline-count{font-size:14px;font-weight:600;color:#fff;width:36px;text-align:right}.user-donut-container{display:flex;align-items:center;gap:24px;margin-bottom:20px}.user-donut{width:100px;height:100px;border-radius:50%;background:conic-gradient(#60a5fa 0% 50%,#a78bfa 50% 100%);display:flex;align-items:center;justify-content:center;flex-shrink:0}.donut-center{width:70px;height:70px;border-radius:50%;background:#1a1a2e;display:flex;flex-direction:column;align-items:center;justify-content:center}.donut-count{font-size:20px;font-weight:700;color:#fff}.donut-label{font-size:10px;color:#ffffff80;text-transform:uppercase}.user-legend{display:flex;flex-direction:column;gap:8px}.legend-item{display:flex;align-items:center;gap:8px;font-size:14px;color:#ffffffb3}.legend-dot{width:10px;height:10px;border-radius:50%}.homeowner-dot{background:#60a5fa}.contractor-dot{background:#a78bfa}.user-growth{display:flex;gap:24px;padding-top:16px;border-top:1px solid rgba(255,255,255,.08)}.growth-stat{display:flex;flex-direction:column;gap:2px}.growth-number{font-size:22px;font-weight:700;color:#4ecdc4}.growth-label{font-size:12px;color:#fff6}.activity-feed{display:flex;flex-direction:column;gap:8px;max-height:400px;overflow-y:auto}.activity-item{display:flex;align-items:center;gap:12px;padding:10px 12px;background:#ffffff08;border-radius:10px;transition:background .15s}.activity-item:hover{background:#ffffff0f}.activity-badge{font-size:11px;font-weight:600;padding:3px 10px;border-radius:6px;text-transform:uppercase;letter-spacing:.5px;flex-shrink:0}.activity-badge.open{background:#4ecdc426;color:#4ecdc4}.activity-badge.awarded{background:#45b7d126;color:#45b7d1}.activity-badge.in_progress{background:#f9ca2426;color:#f9ca24}.activity-badge.completed{background:#6c5ce726;color:#6c5ce7}.activity-badge.closed{background:#636e7226;color:#636e72}.activity-title{flex:1;font-size:14px;color:#fffc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.activity-time{font-size:12px;color:#ffffff4d;flex-shrink:0}.empty-activity{text-align:center;color:#ffffff4d;padding:20px}.scout-container{display:flex;flex-direction:column;gap:20px}.scout-input-card{border-left:3px solid #818cf8}.scout-description{color:#ffffff80;font-size:14px;margin:-12px 0 20px}.scout-form{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap}.scout-input-group{display:flex;flex-direction:column;gap:6px;flex:1;min-width:180px}.scout-state-group{flex:0 0 100px;min-width:100px}.scout-input-group label{font-size:12px;color:#ffffff80;text-transform:uppercase;letter-spacing:.5px;font-weight:500}.scout-input-group input,.scout-input-group select{background:#ffffff0f;border:1px solid rgba(255,255,255,.12);color:#fff;padding:12px 14px;border-radius:10px;font-size:15px;font-family:inherit;outline:none;transition:border-color .2s}.scout-input-group input:focus,.scout-input-group select:focus{border-color:#818cf8}.scout-input-group select{cursor:pointer;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23888' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 12px center;padding-right:32px}.scout-input-group select option{background:#1a1a2e;color:#fff}.scout-btn{background:linear-gradient(135deg,#6366f1,#8b5cf6);color:#fff;border:none;padding:12px 24px;border-radius:10px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s;display:flex;align-items:center;gap:8px;white-space:nowrap;font-family:inherit}.scout-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 4px 20px #6366f166}.scout-btn:disabled{opacity:.5;cursor:not-allowed}.scout-spinner{width:16px;height:16px;border:2px solid rgba(255,255,255,.3);border-top-color:#fff;border-radius:50%;animation:adminSpin .6s linear infinite;display:inline-block}.scout-result-card{border-left:3px solid #4ecdc4;animation:slideIn .3s ease-out}.scout-error-card{border-left:3px solid #e17055}.scout-error-card h2{color:#e17055}.scout-error-card p{color:#fff9}@keyframes slideIn{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.territories-list{display:flex;flex-direction:column;gap:12px}.territory-list-item{cursor:pointer;transition:transform .15s}.territory-list-item:hover{transform:translate(4px)}.territory-card{background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:16px 20px;transition:all .2s}.territory-card:hover{border-color:#ffffff1f;background:#ffffff0d}.territory-card.compact{padding:12px 16px}.territory-header{display:flex;align-items:center;gap:16px}.territory-score-badge{width:52px;height:52px;border-radius:14px;border:2px solid;display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:800;flex-shrink:0;background:#0000004d}.territory-card.compact .territory-score-badge{width:40px;height:40px;font-size:16px;border-radius:10px}.territory-info h3{font-size:18px;font-weight:600;color:#fff;margin:0 0 4px}.territory-card.compact .territory-info h3{font-size:15px}.territory-label{font-size:13px;color:#ffffff80}.territory-county{font-size:12px;color:#818cf8b3;display:block;margin-bottom:2px}.data-level-badge{display:inline-block;font-size:10px;font-weight:600;padding:2px 8px;border-radius:4px;text-transform:uppercase;letter-spacing:.5px;margin-left:8px;vertical-align:middle}.data-level-badge.county{background:#4ecdc426;color:#4ecdc4}.data-level-badge.state{background:#f9ca2426;color:#f9ca24}.territory-details{margin-top:20px;padding-top:16px;border-top:1px solid rgba(255,255,255,.06)}.territory-stats-row{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-bottom:20px}.territory-stat{display:flex;flex-direction:column;gap:2px}.territory-stat .stat-value{font-size:20px;font-weight:700;color:#fff}.territory-stat .stat-label{font-size:11px;color:#fff6;text-transform:uppercase;letter-spacing:.3px}.territory-breakdown{margin-bottom:20px}.territory-breakdown h4,.territory-contractors h4,.territory-housing h4{font-size:13px;text-transform:uppercase;letter-spacing:.5px;color:#fff6;margin:0 0 12px;font-weight:500}.breakdown-bars{display:flex;flex-direction:column;gap:10px}.breakdown-row{display:flex;align-items:center;gap:12px}.breakdown-label{width:160px;flex-shrink:0;display:flex;justify-content:space-between;font-size:13px;color:#ffffffb3}.breakdown-weight{color:#ffffff4d;font-size:11px}.breakdown-bar-track{flex:1;height:8px;background:#ffffff0f;border-radius:4px;overflow:hidden}.breakdown-bar-fill{height:100%;border-radius:4px;transition:width .6s ease}.breakdown-value{width:28px;font-size:13px;font-weight:600;color:#fffc;text-align:right}.trade-chips{display:flex;flex-wrap:wrap;gap:8px}.trade-chip{background:#ffffff0f;border:1px solid rgba(255,255,255,.08);border-radius:8px;padding:8px 14px;display:flex;align-items:center;gap:8px;font-size:13px}.trade-name{color:#ffffffb3}.trade-count{font-weight:700;color:#fff;background:#a78bfa33;padding:2px 8px;border-radius:6px;font-size:12px}.territory-housing{margin-bottom:12px}.housing-row{display:flex;gap:20px;flex-wrap:wrap;font-size:13px;color:#fff9}.territory-contractors{margin-bottom:20px}.territory-scouted-at{font-size:12px;color:#ffffff40;margin-top:12px;padding-top:12px;border-top:1px solid rgba(255,255,255,.04)}.scout-empty{text-align:center;padding:40px 20px;color:#ffffff4d}.scout-loading{display:flex;flex-direction:column;align-items:center;gap:12px;padding:32px}.scout-loading p{color:#fff6;font-size:13px}.board-panel{display:flex;flex-direction:column;gap:20px}.board-header{display:flex;align-items:center;gap:12px;margin-bottom:4px}.board-header-icon{font-size:36px}.board-header-info h2{margin:0 0 2px;font-size:20px}.board-header-info .board-mandate{font-size:13px;color:#fff6;font-style:italic}.board-key-question{background:#6366f114;border-left:3px solid #6366f1;border-radius:0 8px 8px 0;padding:12px 16px;font-size:14px;color:#fff9;font-style:italic}.briefing-card{border-left:3px solid #818cf8}.briefing-date{font-size:11px;color:#ffffff4d;text-transform:uppercase;letter-spacing:.5px;margin-bottom:12px}.briefing-section{margin-bottom:16px}.briefing-section h4{font-size:13px;font-weight:600;color:#fff9;text-transform:uppercase;letter-spacing:.5px;margin:0 0 10px}.briefing-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:6px}.briefing-list li{font-size:13px;color:#ffffffa6;padding-left:16px;position:relative;line-height:1.5}.briefing-list li:before{content:"›";position:absolute;left:0;color:#818cf8;font-weight:700}.board-data-table{width:100%;border-collapse:collapse;font-size:13px}.board-data-table th{text-align:left;color:#fff6;font-weight:500;text-transform:uppercase;letter-spacing:.5px;font-size:11px;padding:8px 12px;border-bottom:1px solid rgba(255,255,255,.08)}.board-data-table td{color:#ffffffb3;padding:10px 12px;border-bottom:1px solid rgba(255,255,255,.04)}.board-data-table tr:last-child td{border-bottom:none}.board-data-table .highlight{color:#fff;font-weight:600}.board-data-table .positive{color:#4ecdc4}.board-data-table .warning-val{color:#f9ca24}.board-stat-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin-bottom:16px}.board-stat-card{background:#ffffff08;border:1px solid rgba(255,255,255,.06);border-radius:12px;padding:16px;text-align:center}.board-stat-value{font-size:24px;font-weight:700;color:#fff;margin-bottom:4px}.board-stat-label{font-size:11px;color:#fff6;text-transform:uppercase;letter-spacing:.3px}.agent-placeholder{display:flex;flex-direction:column;align-items:center;gap:20px;padding:60px 24px}.agent-placeholder-icon{font-size:64px;opacity:.3}.agent-placeholder h2{font-size:24px;font-weight:600;color:#ffffff4d;margin:0}.agent-placeholder p{font-size:14px;color:#ffffff40;max-width:400px;text-align:center;line-height:1.6}.agent-capabilities{display:flex;flex-wrap:wrap;gap:8px;justify-content:center;max-width:500px}.agent-capability-chip{background:#ffffff0a;border:1px solid rgba(255,255,255,.06);border-radius:20px;padding:6px 14px;font-size:12px;color:#ffffff4d}.admin-loading,.admin-error{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:60vh;gap:16px;width:100%}.admin-spinner{width:40px;height:40px;border:3px solid rgba(167,139,250,.2);border-top-color:#a78bfa;border-radius:50%;animation:adminSpin .8s linear infinite}@keyframes adminSpin{to{transform:rotate(360deg)}}.admin-loading p{color:#ffffff80;font-size:14px}.admin-error h2{color:#ff6b6b}.admin-error p{color:#ffffff80}.sidebar-toggle{display:none;background:#ffffff14;border:1px solid rgba(255,255,255,.12);color:#a78bfa;width:40px;height:40px;border-radius:10px;font-size:20px;cursor:pointer;align-items:center;justify-content:center;flex-shrink:0}@media(max-width:900px){.admin-dashboard{flex-direction:column}.admin-sidebar{width:100%;min-height:auto;height:auto;position:relative;flex-direction:row;flex-wrap:wrap;padding:12px;gap:4px}.admin-sidebar.collapsed{display:none}.sidebar-brand{width:100%;padding:12px 8px;border-bottom:none}.sidebar-section{display:contents}.sidebar-section-label{display:none}.sidebar-nav-item{padding:8px 12px;font-size:12px}.sidebar-nav-badge,.sidebar-footer{display:none}.sidebar-toggle{display:flex}.admin-content,.admin-topbar{padding:16px}.admin-metrics-grid{grid-template-columns:repeat(2,1fr)}.admin-section-grid{grid-template-columns:1fr}.board-stat-grid{grid-template-columns:1fr 1fr}.territory-stats-row{grid-template-columns:repeat(2,1fr)}.scout-form{flex-direction:column}.scout-input-group,.scout-state-group{min-width:100%;flex:1}.scout-btn{width:100%;justify-content:center}}@media(max-width:500px){.admin-metrics-grid,.board-stat-grid{grid-template-columns:1fr}}
