@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)}.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)}}.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}.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: #3B9EBF;--color-primary-hover: #2D8AAB;--color-primary-muted: rgba(59, 158, 191, .12);--color-secondary: #5CBDD9;--color-secondary-hover: #4AADCA;--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, #3B9EBF 0%, #5CBDD9 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(59, 158, 191, .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;scroll-behavior:smooth;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;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.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}.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:linear-gradient(to bottom,#0a0a0a,#1a1a1a);color:#fff;display:flex;flex-direction:column}.landing-hero{position:relative;min-height:70vh;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=2);background-size:cover;background-position:center;background-repeat:no-repeat;opacity:.6;z-index:0}.landing-hero:after{content:"";position:absolute;inset:0;background:linear-gradient(to bottom,#0a0a0a4d,#0a0a0acc);z-index:1}.landing-content{position:relative;z-index:2;max-width:600px;margin:0 auto;width:100%}.landing-headline{font-size:3rem;font-weight:700;line-height:1.1;margin-bottom:.75rem;letter-spacing:-.02em;color:#fff}.landing-subline{font-size:1.125rem;color:#ffffffb3;margin-bottom:2rem}.landing-search-card{background:#1e1e1ee6;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:16px;padding:1.25rem;border:1px solid rgba(255,255,255,.1)}.landing-search-input{display:flex;align-items:center;gap:.75rem;margin-bottom:1rem}.landing-search-input svg{color:#ffffff80;flex-shrink:0}.landing-search-input input{flex:1;background:transparent;border:none;color:#fff;font-size:1rem;outline:none}.landing-search-input input::placeholder{color:#fff6}.landing-search-actions{display:flex;align-items:center;justify-content:space-between;gap:1rem}.landing-location{display:flex;align-items:center;gap:.5rem;color:#ffffffb3;font-size:.9rem}.landing-location svg{color:#ffffff80}.landing-location-input{background:transparent;border:none;color:#ffffffe6;font-size:.9rem;width:180px;outline:none}.landing-location-input::placeholder{color:#fff6}.landing-cta{background:#3b9ebf;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:background .2s ease,transform .1s ease}.landing-cta:hover{background:#2d8aab;transform:translateY(-1px)}.landing-cta:active{transform:translateY(0)}.landing-categories{background:#fff;padding:3rem 2rem;max-width:100%;width:100%}.landing-categories-inner{max-width:700px;margin:0 auto}.landing-categories-title{font-size:1.25rem;font-weight:600;margin-bottom:1.5rem;color:#1e293b}.landing-categories-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:1rem}.landing-category-tile{background:#3b9ebf;border:none;border-radius:12px;padding:1rem 1.25rem;display:flex;align-items:center;gap:.75rem;cursor:pointer;transition:background .2s ease,transform .1s ease,box-shadow .2s ease;text-decoration:none;color:#fff;box-shadow:0 2px 8px #3b9ebf40}.landing-category-tile:hover{background:#2d8aab;transform:translateY(-2px);box-shadow:0 4px 12px #3b9ebf59}.landing-category-icon{width:36px;height:36px;display:flex;align-items:center;justify-content:center;font-size:1.5rem}.landing-category-name{font-size:.95rem;font-weight:500}@media(max-width:600px){.landing-headline{font-size:2.25rem}.landing-categories-grid{grid-template-columns:repeat(2,1fr)}.landing-search-actions{flex-direction:column;align-items:stretch}.landing-location{justify-content:center}.landing-cta{width:100%;text-align:center}}@media(min-width:768px){.landing-hero{padding:4rem}.landing-headline{font-size:3.5rem}}.landing-page~.navbar,.landing-page+.navbar{background:transparent;border-bottom:none}.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{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)}.profile-info{min-width:unset;width:100%;max-width:100%}.profile-stats{flex-wrap:wrap;justify-content:center}.profile-actions{width:100%;justify-content:center;flex-wrap:wrap}.profile-tabs{overflow-x:auto;max-width:100%}.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-3);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.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}@keyframes spin{to{transform:rotate(360deg)}}.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;height:100%;max-width:600px;margin:0 auto;padding:1rem;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.concierge-messages{flex:1;overflow-y:auto;padding-bottom:1rem;display:flex;flex-direction:column;gap: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-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;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-code{font-size:.75rem;color:#b91c1c;font-family:SF Mono,SFMono-Regular,Consolas,monospace;background:#b91c1c1a;padding:.125rem .5rem;border-radius:.25rem}.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-starter{display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:2rem;height:100%}.concierge-starter h2{font-size:1.5rem;font-weight:700;color:#1a1a2e;margin-bottom:.5rem}.concierge-starter p{color:#6b7280;margin-bottom:1.5rem}.concierge-starter form{width:100%;display:flex;flex-direction:column;gap:1rem}.concierge-starter textarea{width:100%;padding:1rem;border:2px solid #e5e7eb;border-radius:.75rem;font-size:1rem;font-family:inherit;resize:none;outline:none;transition:border-color .2s ease}.concierge-starter textarea:focus{border-color:#6366f1}.concierge-starter button{padding:1rem 2rem;background:linear-gradient(135deg,#6366f1,#4f46e5);color:#fff;border:none;border-radius:.75rem;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 12px #6366f140}.concierge-starter button:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 16px #6366f159}.concierge-starter button:disabled{opacity:.6;cursor:not-allowed}.concierge-loading{display:flex;align-items:center;gap:.375rem;padding:1rem}.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;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}@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-add-details{margin-top:1rem;padding:1rem;background:linear-gradient(135deg,#6366f10d,#6366f105);border-radius:1rem;border:1px solid rgba(99,102,241,.15);animation:slideIn .3s ease-out}.concierge-add-details-label{font-size:.8125rem;font-weight:600;color:#6366f1;margin-bottom:.625rem}.concierge-add-details-input{display:flex;gap:.625rem;align-items:flex-end}.concierge-add-details-input .concierge-text-area{flex:1;min-height:3rem;max-height:8rem;border-color:#6366f133}.concierge-add-details-input .concierge-text-area:focus{border-color:#6366f1;box-shadow:0 0 0 3px #6366f11a}.concierge-add-details-input .concierge-submit-btn{padding:.75rem 1.25rem;white-space:nowrap;flex-shrink:0}.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}.job-post-feed{min-height:100vh;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:slideUp .4s ease-out forwards}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.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}.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:60vh;overflow-y:auto;-webkit-overflow-scrolling:touch}.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}.success-card{background:linear-gradient(135deg,#10b98133,#00d4aa1a);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:var(--color-success)}.success-content p{margin:0;color:var(--color-text-muted)}@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)}.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%}.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)}}.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-card{height:100%;display:flex;flex-direction:column;position:relative;overflow:hidden}.feed-card:hover{border-color:var(--color-primary)}.feed-card-top{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-3)}.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}.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)}.feed-size-badge{position:absolute;top:var(--space-3);right:var(--space-3)}.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)}.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;text-align:center}.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}.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-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}.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)}.contact-card{padding:var(--space-6);border-color:var(--color-primary);background:var(--color-primary-muted)}.contact-card h3{margin:0 0 var(--space-4);color:var(--color-primary)}.contact-info{display:flex;flex-direction:column;gap:var(--space-3)}.contact-item{display:flex;justify-content:space-between;align-items:center}.contact-label{color:var(--color-text-muted)}.contact-value{color:var(--color-text-primary);font-weight:500}.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}}.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)}.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{padding-top:60px}.profile-header-content{flex-direction:column;align-items:center}.profile-actions{width:100%;justify-content:center}.profile-tabs{overflow-x:auto}.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)}}
