body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.login-page{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:20px}.login-container{background:#fff;border-radius:12px;box-shadow:0 20px 40px #0000001a;max-width:450px;padding:40px;text-align:center;width:100%}.login-header h1{color:#2d3748;font-size:2.5rem;font-weight:700;margin:0 0 10px}.tagline{color:#718096;font-size:1.1rem;margin:0 0 15px}.phase-badge{background:#4299e1;display:inline-block;font-size:.8rem;font-weight:600;margin-bottom:30px;padding:4px 12px}.login-content h2{color:#2d3748;font-size:1.8rem;font-weight:600;margin:0 0 10px}.login-description{color:#718096;font-size:1rem;line-height:1.5;margin:0 0 30px}.error-message{border:1px solid #feb2b2;border-radius:8px;font-size:.9rem;gap:8px;margin:0 0 20px;padding:12px}.login-methods{margin:30px 0}.google-signin-container{display:flex;justify-content:center;margin:20px 0}.loading-button{align-items:center;border:2px solid #e2e8f0;border-radius:8px;color:#718096;display:flex;font-size:.9rem;gap:10px;justify-content:center;padding:12px 24px}.button-spinner{animation:spin 1s linear infinite;border:2px solid #e2e8f0;border-radius:50%;border-top-color:#4299e1;height:16px;width:16px}.config-error{background:#fef5e7;border:1px solid #f6e05e;border-radius:8px;color:#d69e2e;margin:20px 0;padding:20px}.config-help{font-size:.85rem;margin-top:10px;opacity:.8}.login-features{margin:40px 0 20px;text-align:left}.login-features h3{color:#2d3748;font-size:1.1rem;margin:0 0 15px;text-align:center}.login-features ul{list-style:none;margin:0;padding:0}.login-features li{color:#4a5568;font-size:.9rem;line-height:1.4;margin:8px 0;padding-left:0}.login-footer{border-top:1px solid #e2e8f0;margin-top:30px;padding-top:20px}.login-footer p{color:#718096;font-size:.85rem;margin:0}.loading-spinner{align-items:center;display:flex;flex-direction:column;gap:20px;padding:40px}.spinner{animation:spin 1s linear infinite;border:4px solid #e2e8f0;border-radius:50%;border-top-color:#4299e1;height:40px;width:40px}.loading-spinner p{color:#718096;font-size:1rem;margin:0}@media (max-width:480px){.login-container{margin:10px;padding:30px 20px}.login-header h1{font-size:2rem}.login-content h2{font-size:1.5rem}.login-features{text-align:center}.login-features ul{text-align:left}}.protected-route-loading{align-items:center;background:#f7fafc;display:flex;justify-content:center;min-height:100vh}.loading-container{align-items:center;background:#fff;border-radius:12px;box-shadow:0 4px 12px #0000000d;display:flex;flex-direction:column;gap:20px;padding:40px}.loading-container .spinner{animation:spin 1s linear infinite;border:4px solid #e2e8f0;border-radius:50%;border-top-color:#4299e1;height:40px;width:40px}.loading-container p{color:#718096;font-size:1rem;font-weight:500;margin:0}.protected-content{min-height:100vh}.breadcrumb{background-color:#f8f9fa;border-bottom:1px solid #e1e4e8;margin:0;padding:12px 24px}.breadcrumb-list{align-items:center;display:flex;flex-wrap:wrap;gap:8px;list-style:none;margin:0;padding:0}.breadcrumb-item{align-items:center;display:flex;font-size:14px;line-height:1.5}.breadcrumb-link{border-radius:4px;color:#0366d6;padding:4px 8px;text-decoration:none;transition:all .2s ease}.breadcrumb-link:hover{background-color:#e1f0ff;text-decoration:underline}.breadcrumb-link:focus{outline:2px solid #0366d6;outline-offset:2px}.breadcrumb-separator{color:#6a737d;margin:0 4px;-webkit-user-select:none;user-select:none}.breadcrumb-text{color:#24292e;font-weight:500;padding:4px 8px}.breadcrumb-item.active .breadcrumb-text{color:#586069}@media (max-width:768px){.breadcrumb{padding:8px 16px}.breadcrumb-list{gap:4px}.breadcrumb-item{font-size:13px}.breadcrumb-link,.breadcrumb-text{padding:2px 6px}}@media (prefers-color-scheme:dark){.breadcrumb{background-color:#1f2937;border-bottom-color:#374151}.breadcrumb-link{color:#60a5fa}.breadcrumb-link:hover{background-color:#1e3a5f}.breadcrumb-text{color:#e5e7eb}.breadcrumb-item.active .breadcrumb-text{color:#9ca3af}.breadcrumb-separator{color:#6b7280}}.project-creation{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 4px 12px #0000000d;margin:0 auto;max-width:800px;padding:2rem}.creation-header{margin-bottom:2rem;text-align:center}.creation-header h2{color:#2d3748;font-size:1.8rem;font-weight:600;margin:0 0 .5rem}.creation-header p{color:#718096;font-size:1rem;margin:0}.creation-form{display:flex;flex-direction:column;gap:2rem}.form-section{gap:1rem}.form-section h3{border-bottom:2px solid #e2e8f0;font-size:1.2rem}.section-description{color:#718096;font-size:.9rem;line-height:1.4;margin:0}.form-group label{color:#2d3748;font-weight:600}.form-group input,.form-group select,.form-group textarea{font-size:.9rem;transition:border-color .2s,box-shadow .2s}.form-group textarea{min-height:80px}.error-message{font-size:.8rem}.submit-error{background:#fed7d7;border-radius:6px;color:#c53030;font-weight:500;padding:.75rem;text-align:center}.photo-upload-area{background:#f7fafc;border:2px dashed #cbd5e0;border-radius:8px;cursor:pointer;padding:2rem;text-align:center;transition:all .2s}.photo-upload-area.drag-active,.photo-upload-area:hover{background:#ebf8ff;border-color:#4299e1}.photo-upload-area.drag-active{transform:scale(1.02)}.photo-upload-area.error{background:#fed7d7;border-color:#e53e3e}.upload-content{align-items:center;display:flex;flex-direction:column;gap:.5rem}.upload-icon{font-size:2.5rem;margin-bottom:.5rem}.upload-text{color:#2d3748;font-size:1rem;margin:0}.upload-text strong{color:#4299e1}.upload-hint{color:#718096;font-size:.85rem;margin:0}.photo-preview-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));margin-top:1rem}.photo-preview{aspect-ratio:1;background:#f7fafc;border:2px solid #e2e8f0;border-radius:8px;overflow:hidden;position:relative}.photo-preview img{height:100%;object-fit:cover;width:100%}.remove-photo{align-items:center;background:#000000b3;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:16px;height:24px;justify-content:center;line-height:1;position:absolute;right:4px;top:4px;transition:background-color .2s;width:24px}.remove-photo:hover{background:#000000e6}.cancel-button,.submit-button{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:.9rem;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .2s}.submit-button{background:#4299e1;color:#fff}.submit-button:hover:not(:disabled){background:#3182ce}.cancel-button:disabled,.submit-button:disabled{cursor:not-allowed;opacity:.6}.loading-spinner{border:2px solid #0000;border-top-color:currentcolor;height:16px;width:16px}@media (max-width:768px){.project-creation{margin:1rem;padding:1.5rem}.creation-header h2{font-size:1.5rem}.form-row{grid-template-columns:1fr}.photo-upload-area{padding:1.5rem}.upload-icon{font-size:2rem}.photo-preview-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}.form-actions{flex-direction:column-reverse}.cancel-button,.submit-button{justify-content:center;width:100%}}@media (max-width:480px){.project-creation{margin:.5rem;padding:1rem}.creation-header h2{font-size:1.3rem}.photo-preview-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr))}}.project-list{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;flex-direction:column;gap:1rem;padding:1rem}.list-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding-bottom:1rem}.list-header h3{color:#2d3748;font-size:1.25rem;font-weight:600;margin:0}.project-count{color:#718096;font-size:.875rem;font-weight:500}.error-state,.loading-state{padding:2rem}.error-state .error-icon{font-size:2rem;margin-bottom:.5rem}.retry-button{font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:background-color .2s}.empty-projects{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:3rem 2rem;text-align:center}.empty-projects .empty-icon{font-size:3rem;margin-bottom:1rem;opacity:.6}.empty-projects p{color:#718096;font-size:1rem;margin-bottom:1.5rem}.projects-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-bottom:1rem}.project-card{background:#fff;border:2px solid #e2e8f0;border-radius:8px;cursor:pointer;padding:1rem;position:relative;transition:all .2s ease}.project-card:hover{border-color:#cbd5e0;box-shadow:0 4px 8px #0000001a;transform:translateY(-1px)}.project-card.selected{border-color:#4299e1;box-shadow:0 0 0 3px #4299e11a}.project-card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:.75rem}.project-icons .room-icon,.project-icons .type-icon{font-size:1.25rem}.project-actions{gap:.25rem}.delete-button{background:none;border:none;border-radius:4px;cursor:pointer;font-size:1rem;opacity:.6;padding:.25rem;transition:all .2s}.delete-button:hover{background:#fed7d7;opacity:1}.project-card-content{display:flex;flex-direction:column;gap:.5rem}.project-name{color:#2d3748;font-size:1.125rem;font-weight:600;line-height:1.3;margin:0}.project-description{color:#4a5568;font-size:.875rem;line-height:1.4;margin:0}.project-meta{align-items:flex-end;justify-content:space-between;margin-top:.5rem}.project-details{display:flex;flex-direction:column;gap:.25rem}.project-type{color:#718096;font-size:.75rem}.project-date{color:#a0aec0;font-size:.75rem}.status-badge{font-size:.75rem;padding:.25rem .5rem;white-space:nowrap}.project-budget{color:#38a169;font-size:.875rem;font-weight:600}.project-photos-count{color:#718096;font-size:.75rem}.create-new-section{border-top:1px solid #e2e8f0;display:flex;justify-content:center;padding:1rem 0}.upgrade-prompt{align-items:center;background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;display:flex;flex-direction:column;gap:1rem;padding:1.5rem;text-align:center}.upgrade-prompt p{color:#4a5568;font-size:.875rem;margin:0}.create-button{align-items:center;border:none;border-radius:6px;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.75rem 1.5rem;text-decoration:none;transition:all .2s}.create-button.primary{background:#4299e1;color:#fff}.create-button.primary:hover:not(:disabled){background:#3182ce;transform:translateY(-1px)}.create-button.secondary{background:#edf2f7;border:1px solid #e2e8f0;color:#4a5568}.create-button.secondary:hover:not(:disabled){background:#e2e8f0;border-color:#cbd5e0}.create-button:disabled,.upgrade-button{cursor:not-allowed;opacity:.6}.upgrade-button{align-items:center;background:#edf2f7;border:1px solid #e2e8f0;border-radius:6px;color:#4a5568;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.75rem 1.5rem}.coming-soon{background:#fed7d7;border-radius:4px;color:#c53030;font-size:.625rem;letter-spacing:.05em;padding:.125rem .375rem;text-transform:uppercase}@media (max-width:768px){.projects-grid{grid-template-columns:1fr}.project-card{padding:.75rem}.project-meta{align-items:flex-start;flex-direction:column;gap:.5rem}.status-badge{align-self:flex-start}}.photo-analysis-results{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 4px 12px #0000000d;margin-bottom:2rem;padding:2rem}.no-analysis{color:#718096;padding:3rem 2rem;text-align:center}.no-analysis-icon{display:block;font-size:3rem;margin-bottom:1rem}.no-analysis h3{color:#4a5568;margin:0 0 .5rem}.no-analysis p{font-size:1rem;margin:0}.analysis-header{align-items:flex-start;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem}.analysis-title h2{color:#2d3748;font-size:1.5rem;font-weight:600;margin:0 0 .5rem}.analysis-timestamp{color:#718096;font-size:.9rem}.analysis-actions{display:flex;gap:1rem}.accept-button,.retry-button{align-items:center;border:none;border-radius:8px;cursor:pointer;display:inline-flex;font-weight:500;gap:.5rem;padding:.75rem 1.5rem;transition:all .2s}.retry-button{background:#f7fafc;border:1px solid #e2e8f0;color:#4a5568}.retry-button:hover{background:#edf2f7;border-color:#cbd5e0}.accept-button{background:#38a169;color:#fff}.accept-button:hover{background:#2f855a}.analysis-content{gap:2rem}.analysis-section{background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;padding:1.5rem}.analysis-section h3{color:#2d3748;font-size:1.1rem;font-weight:600;margin:0 0 1rem}.analysis-photos{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:1.5rem}.photo-gallery{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:120px 1fr}.photo-thumbnails{display:flex;flex-direction:column;gap:.5rem}.photo-thumbnail{background:none;border:2px solid #0000;border-radius:6px;cursor:pointer;height:80px;overflow:hidden;padding:0;position:relative;transition:all .2s;width:100px}.photo-thumbnail:hover{border-color:#4299e1}.photo-thumbnail.active{border-color:#3182ce;box-shadow:0 0 0 2px #3182ce33}.photo-thumbnail img{height:100%;object-fit:cover;width:100%}.photo-number{background:#000000b3;border-radius:4px;color:#fff;font-size:.75rem;padding:2px 6px;position:absolute;right:4px;top:4px}.photo-main{align-items:center;background:#f7fafc;border-radius:8px;display:flex;justify-content:center;min-height:300px;overflow:hidden}.photo-main img{border-radius:8px;max-height:400px;max-width:100%;object-fit:contain}.detected-room,.room-detection{align-items:center;display:flex;gap:1rem}.detected-room{flex:1 1}.room-icon{font-size:2rem}.room-info{flex:1 1}.room-info strong{color:#2d3748;display:block;font-size:1.1rem;margin-bottom:.5rem;text-transform:capitalize}.confidence-bar{background:#e2e8f0;border-radius:4px;height:8px;margin-bottom:.25rem;overflow:hidden;width:200px}.confidence-bar.small{height:6px;width:100px}.confidence-fill{border-radius:4px;height:100%;transition:width .3s ease}.confidence-text{color:#718096;font-size:.85rem;font-weight:500}.finishes-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.finish-item{background:#fff;border:1px solid #e2e8f0;border-radius:6px;padding:1rem}.finish-name{color:#2d3748;display:block;font-weight:500;margin-bottom:.5rem;text-transform:capitalize}.finish-confidence{align-items:center;display:flex;gap:.5rem}.materials-list{display:flex;flex-wrap:wrap;gap:.5rem}.material-tag{background:#4299e1;border-radius:20px;color:#fff;font-size:.9rem;font-weight:500;padding:.5rem 1rem;text-transform:capitalize}.assessment-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(200px,1fr))}.assessment-item{background:#fff;border:1px solid #e2e8f0;border-radius:6px;padding:1rem;text-align:center}.assessment-label{color:#718096;display:block;font-size:.9rem;margin-bottom:.5rem}.assessment-value{color:#2d3748;display:block;font-size:1rem;font-weight:600}.complexity-badge{border-radius:20px;color:#fff;font-size:.9rem;font-weight:500;padding:.5rem 1rem}.safety-list{display:flex;flex-direction:column;gap:.75rem}.safety-item{align-items:flex-start;background:#fed7d7;border-left:4px solid #e53e3e;border-radius:6px;display:flex;gap:.75rem;padding:1rem}.safety-icon{flex-shrink:0;font-size:1.2rem}.safety-text{color:#742a2a;font-weight:500}.tools-grid{grid-gap:.75rem;display:grid;gap:.75rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.tool-item{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;display:flex;gap:.5rem;padding:.75rem}.tool-icon{font-size:1.1rem}.tool-name{color:#2d3748;font-size:.9rem;font-weight:500}.confidence-breakdown{display:flex;flex-direction:column;gap:1rem}.confidence-item{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;display:flex;gap:1rem;padding:1rem}.confidence-category{color:#2d3748;font-weight:500;min-width:120px;text-transform:capitalize}@media (max-width:768px){.photo-analysis-results{padding:1rem}.analysis-header{align-items:stretch;flex-direction:column;gap:1rem}.analysis-actions{justify-content:stretch}.accept-button,.retry-button{flex:1 1;justify-content:center}.photo-gallery{grid-template-columns:1fr}.photo-thumbnails{flex-direction:row;overflow-x:auto;padding-bottom:.5rem}.photo-thumbnail{flex-shrink:0}.assessment-grid,.finishes-grid,.tools-grid{grid-template-columns:1fr}.confidence-item{align-items:stretch;flex-direction:column;gap:.5rem}.confidence-category{min-width:auto}}.project-history-modal{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:2rem;position:fixed;right:0;top:0;z-index:1000}.history-content{background:#fff;border-radius:12px;box-shadow:0 20px 40px #00000026;display:flex;flex-direction:column;max-height:90vh;max-width:800px;width:100%}.history-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:1.5rem 2rem}.history-header h2{color:#2d3748;font-size:1.5rem;font-weight:600;margin:0}.history-tabs{background:#f7fafc;border-bottom:1px solid #e2e8f0;display:flex}.tab-button:hover{background:#edf2f7}.tab-button.active{background:#fff;border-bottom:2px solid #4299e1}.history-body{flex:1 1;overflow-y:auto;padding:1.5rem 2rem}.error-state,.loading-state{align-items:center;color:#718096;display:flex;flex-direction:column;justify-content:center;padding:3rem 2rem;text-align:center}.error-icon{font-size:3rem;margin-bottom:1rem}.error-state h3{color:#e53e3e;margin:0 0 .5rem}.retry-button{background:#4299e1;border:none;border-radius:6px;color:#fff;cursor:pointer;margin-top:1rem;padding:.75rem 1.5rem;transition:background .2s}.retry-button:hover{background:#3182ce}.empty-history{align-items:center;color:#718096;display:flex;flex-direction:column;justify-content:center;padding:3rem 2rem;text-align:center}.empty-icon{font-size:3rem;margin-bottom:1rem}.version-history{display:flex;flex-direction:column;gap:1.5rem}.version-item{background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;padding:1.5rem;transition:all .2s}.version-item:hover{border-color:#cbd5e0;box-shadow:0 2px 8px #0000000d}.version-header{justify-content:space-between;margin-bottom:1rem}.version-header,.version-info{align-items:flex-start;display:flex}.version-info{gap:1rem}.change-icon{flex-shrink:0;font-size:1.5rem}.version-details{flex:1 1}.change-type{color:#2d3748;display:block;font-size:1.1rem;margin-bottom:.25rem;text-transform:capitalize}.version-meta{color:#718096;display:flex;font-size:.9rem;gap:1rem}.version-number{background:#4299e1;border-radius:12px;color:#fff;font-size:.85rem;font-weight:600;padding:.25rem .75rem}.changed-fields{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:1rem}.fields-label{color:#718096;font-size:.9rem;font-weight:500}.field-tag{background:#4299e1;border-radius:12px;color:#fff;font-size:.8rem;font-weight:500;padding:.25rem .75rem;text-transform:capitalize}.version-snapshot{background:#fff;border:1px solid #e2e8f0;border-radius:6px;padding:1rem}.snapshot-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}.snapshot-item{display:flex;flex-direction:column;gap:.25rem}.snapshot-label{color:#718096;font-size:.85rem;font-weight:500}.snapshot-value{color:#2d3748;font-weight:600}.status-value{text-transform:capitalize}.project-timeline{position:relative}.project-timeline:before{background:#e2e8f0;bottom:0;content:"";left:20px;position:absolute;top:0;width:2px}.timeline-item{display:flex;gap:1rem;margin-bottom:2rem;position:relative}.timeline-marker{align-items:center;background:#fff;border:2px solid #e2e8f0;border-radius:50%;display:flex;flex-shrink:0;height:40px;justify-content:center;position:relative;width:40px;z-index:1}.timeline-icon{font-size:1.2rem}.timeline-content{background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;flex:1 1;margin-top:.5rem;padding:1rem}.timeline-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:.75rem}.timeline-title{color:#2d3748;font-size:1rem;text-transform:capitalize}.timeline-meta{color:#718096;display:flex;font-size:.85rem;gap:.5rem}.timeline-changes{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.75rem}.changes-label{color:#718096;font-size:.85rem;font-weight:500}.change-tag{background:#4299e1;border-radius:10px;color:#fff;font-size:.75rem;font-weight:500;padding:.2rem .6rem;text-transform:capitalize}.timeline-details{flex-direction:column}.detail-item,.timeline-details{display:flex;gap:.5rem}.detail-label{color:#718096;font-size:.85rem;font-weight:500;min-width:100px;text-transform:capitalize}.detail-value{color:#2d3748;font-size:.85rem}.timeline-snapshot{margin-top:.75rem}.snapshot-summary{align-items:center;display:flex;gap:1rem}.snapshot-name{color:#2d3748;font-weight:600}.snapshot-status{background:#4299e1;border-radius:10px;color:#fff;font-size:.75rem;font-weight:500;padding:.2rem .6rem;text-transform:capitalize}.history-footer{background:#f7fafc;border-top:1px solid #e2e8f0;padding:1rem 2rem}.history-stats{color:#718096;display:flex;font-size:.9rem;gap:2rem;justify-content:center}.stat{font-weight:500}@media (max-width:768px){.project-history-modal{padding:1rem}.history-content{max-height:95vh}.history-body,.history-header{padding:1rem 1.5rem}.version-header{align-items:stretch;flex-direction:column;gap:1rem}.timeline-header,.version-info{flex-direction:column;gap:.5rem}.timeline-header{align-items:stretch}.snapshot-grid{grid-template-columns:1fr}.history-stats{flex-direction:column;gap:.5rem;text-align:center}}.project-editor-modal{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:2rem;position:fixed;right:0;top:0;z-index:1000}.editor-content{background:#fff;border-radius:12px;box-shadow:0 20px 40px #00000026;display:flex;flex-direction:column;max-height:90vh;max-width:600px;width:100%}.editor-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:1.5rem 2rem}.editor-header h2{color:#2d3748;font-size:1.5rem;font-weight:600;margin:0}.close-button{border-radius:6px;font-size:1.5rem;padding:.5rem}.editor-form{flex:1 1;gap:2rem;overflow-y:auto;padding:2rem}.editor-form,.form-section{display:flex;flex-direction:column}.form-section{gap:1.5rem}.form-section h3{border-bottom:1px solid #e2e8f0;color:#2d3748;font-size:1.1rem;font-weight:600;margin:0;padding-bottom:.5rem}.form-group input,.form-group select,.form-group textarea{background:#fff;border:1px solid #e2e8f0;border-radius:6px;font-size:1rem;padding:.75rem;transition:all .2s}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#4299e1;box-shadow:0 0 0 3px #4299e11a;outline:none}.form-group input.error,.form-group select.error,.form-group textarea.error{border-color:#e53e3e;box-shadow:0 0 0 3px #e53e3e1a}.form-group textarea{min-height:100px;resize:vertical}.error-message{color:#e53e3e;font-size:.85rem;font-weight:500}.character-count{color:#718096;font-size:.8rem;text-align:right}.budget-formatted{color:#38a169;font-size:.9rem;font-weight:600}.status-preview{margin-top:.5rem}.status-badge{border-radius:12px;font-size:.8rem;font-weight:500;padding:.25rem .75rem}.form-error{align-items:center;background:#fed7d7;border-left:4px solid #e53e3e;border-radius:6px;color:#742a2a;display:flex;gap:.5rem;padding:1rem}.error-icon{font-size:1.1rem}.form-actions{margin-top:auto;padding-top:1rem}.cancel-button,.save-button{align-items:center;border:none;border-radius:6px;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:500;gap:.5rem;padding:.75rem 1.5rem;transition:all .2s}.cancel-button:hover:not(:disabled){background:#edf2f7;border-color:#cbd5e0}.save-button{background:#4299e1;color:#fff}.save-button:hover:not(:disabled){background:#3182ce}.cancel-button:disabled,.save-button:disabled{cursor:not-allowed;opacity:.6}.loading-spinner.small{animation:spin 1s linear infinite;border:2px solid #ffffff4d;border-radius:50%;border-top-color:#fff;height:16px;width:16px}.form-group select{-webkit-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E");background-position:right .75rem center;background-repeat:no-repeat;background-size:1rem;padding-right:2.5rem}.form-group input[type=number]{-moz-appearance:textfield}.form-group input[type=number]::-webkit-inner-spin-button,.form-group input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}@media (max-width:768px){.project-editor-modal{padding:1rem}.editor-content{max-height:95vh}.editor-header{padding:1rem 1.5rem}.editor-form{padding:1.5rem}.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse}.cancel-button,.save-button{justify-content:center}}@media (max-width:480px){.project-editor-modal{padding:.5rem}.editor-form,.editor-header{padding:1rem}.editor-header h2{font-size:1.25rem}}.project-progress{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 4px 12px #0000000d;margin-bottom:2rem;padding:2rem}.progress-header{align-items:flex-start;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;margin-bottom:2rem;padding-bottom:1rem}.progress-header h2{color:#2d3748;font-size:1.5rem;font-weight:600;margin:0}.progress-summary{gap:2rem}.summary-item{text-align:center}.summary-value{color:#2d3748;display:block;font-size:1.5rem;font-weight:700;margin-bottom:.25rem}.summary-value.timeline-status{font-size:1.2rem;text-transform:capitalize}.summary-label{color:#718096;font-size:.85rem;font-weight:500;letter-spacing:.5px;text-transform:uppercase}.progress-content{display:flex;flex-direction:column;gap:2rem}.progress-section{background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;padding:1.5rem}.progress-section h3{color:#2d3748;font-size:1.1rem;font-weight:600;margin:0 0 1rem}.section-header h3{margin:0}.add-expense-button{align-items:center;background:#4299e1;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:.5rem;padding:.5rem 1rem;transition:all .2s}.add-expense-button:hover{background:#3182ce}.budget-bar-container,.progress-bar-container{align-items:center;display:flex;gap:1rem}.budget-bar,.progress-bar{background:#e2e8f0;border-radius:6px;flex:1 1;height:12px;overflow:hidden}.progress-fill{background:linear-gradient(90deg,#4299e1,#3182ce)}.budget-fill{background:linear-gradient(90deg,#38a169,#2f855a);height:100%;transition:width .3s ease}.budget-percentage,.progress-percentage{color:#2d3748;font-weight:600;min-width:40px;text-align:right}.budget-overview{display:flex;flex-direction:column;gap:1rem}.budget-stats{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(3,1fr)}.budget-stat{background:#fff;border:1px solid #e2e8f0;border-radius:6px;padding:1rem;text-align:center}.stat-label{display:block;font-size:.85rem;margin-bottom:.5rem}.stat-value{display:block;font-size:1.2rem;font-weight:700}.stat-value.used{color:#e53e3e}.stat-value.remaining{color:#38a169}.recent-expenses{margin-top:1.5rem}.recent-expenses h4{color:#2d3748;font-size:1rem;font-weight:600;margin:0 0 1rem}.expenses-list{display:flex;flex-direction:column;gap:.75rem}.expense-item{background:#fff;border:1px solid #e2e8f0;border-radius:6px;justify-content:space-between;padding:1rem}.expense-info,.expense-item{align-items:center;display:flex}.expense-info{gap:.75rem}.expense-category-icon{font-size:1.2rem}.expense-details{display:flex;flex-direction:column;gap:.25rem}.expense-description{color:#2d3748;font-weight:500}.expense-meta{color:#718096;font-size:.85rem}.expense-amount{color:#e53e3e;font-size:1rem;font-weight:600}.milestone-item{background:#fff;border-radius:6px}.milestone-header,.milestone-info{align-items:center}.milestone-info{display:flex;gap:.75rem}.milestone-status{font-size:1.2rem}.milestone-details{display:flex;flex-direction:column;gap:.25rem}.milestone-name{color:#2d3748;font-size:1rem}.milestone-date{color:#718096;font-size:.85rem}.milestone-progress-controls{align-items:center;display:flex;gap:.75rem}.milestone-slider{background:#e2e8f0;border-radius:3px;cursor:pointer;height:6px;outline:none;width:120px}.milestone-slider::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#4299e1;border-radius:50%;cursor:pointer;height:16px;width:16px}.milestone-slider::-moz-range-thumb{background:#4299e1;border:none;border-radius:50%;cursor:pointer;height:16px;width:16px}.milestone-percentage{color:#2d3748;font-size:.9rem;font-weight:600;min-width:35px;text-align:right}.milestone-progress-bar{background:#e2e8f0;border-radius:3px;height:6px;overflow:hidden}.milestone-progress-fill{height:100%;transition:width .3s ease}.add-expense-modal{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.expense-form{background:#fff;border-radius:12px;box-shadow:0 20px 40px #00000026;max-width:500px;width:100%}.form-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:1.5rem 2rem}.form-header h3{color:#2d3748;font-size:1.25rem;font-weight:600;margin:0}.close-button{background:none;border:none;border-radius:4px;color:#718096;cursor:pointer;font-size:1.25rem;padding:.25rem;transition:all .2s}.close-button:hover{background:#f7fafc;color:#4a5568}.form-body{gap:1rem;padding:2rem}.form-body,.form-group{display:flex;flex-direction:column}.form-group{gap:.5rem}.form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.form-group label{color:#4a5568;font-size:.9rem;font-weight:500}.form-group input,.form-group select{border:1px solid #e2e8f0;border-radius:6px;font-size:1rem;padding:.75rem;transition:all .2s}.form-group input:focus,.form-group select:focus{border-color:#4299e1;box-shadow:0 0 0 3px #4299e11a;outline:none}.form-actions{border-top:1px solid #e2e8f0;display:flex;gap:1rem;justify-content:flex-end;padding:1rem 2rem}.add-button,.cancel-button{border:none;border-radius:6px;cursor:pointer;font-weight:500;padding:.75rem 1.5rem;transition:all .2s}.cancel-button{background:#f7fafc;border:1px solid #e2e8f0;color:#4a5568}.cancel-button:hover{background:#edf2f7}.add-button{background:#4299e1}.add-button:hover:not(:disabled){background:#3182ce}.add-button:disabled{cursor:not-allowed;opacity:.6}@media (max-width:768px){.project-progress{padding:1rem}.progress-header{align-items:stretch;flex-direction:column;gap:1rem}.progress-summary{justify-content:space-around}.budget-stats{grid-template-columns:1fr}.milestone-header{align-items:stretch;flex-direction:column;gap:1rem}.milestone-progress-controls{justify-content:space-between}.milestone-slider{flex:1 1}.expense-item{align-items:stretch;flex-direction:column;gap:.75rem}.expense-info{justify-content:flex-start}.expense-amount{text-align:right}.form-row{grid-template-columns:1fr}.form-actions{flex-direction:column-reverse}}.shopping-list{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;flex-direction:column;gap:1.5rem;padding:1rem}.shopping-list-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding-bottom:1rem}.shopping-list-header h3{color:#2d3748;font-size:1.25rem;font-weight:600;margin:0}.list-summary{align-items:center;display:flex;gap:1rem}.total-items{color:#718096;font-size:.875rem}.total-cost{color:#38a169;font-size:1.125rem;font-weight:600}.empty-list{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:3rem 2rem;text-align:center}.empty-list .empty-icon{font-size:3rem;margin-bottom:1rem;opacity:.6}.empty-list p{color:#718096;margin:.5rem 0}.empty-hint{font-size:.875rem;opacity:.8}.shopping-items{gap:1.5rem}.items-section,.shopping-items{display:flex;flex-direction:column}.items-section{gap:1rem}.section-title{align-items:center;color:#2d3748;display:flex;font-size:1rem;font-weight:600;gap:.5rem;margin:0}.section-icon{font-size:1.125rem}.items-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr))}.shopping-item{background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;padding:1rem;transition:all .2s ease}.shopping-item.purchased{background:#f0fff4;border-color:#9ae6b4;opacity:.8}.shopping-item:hover{box-shadow:0 2px 8px #0000001a}.item-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:.75rem}.item-info{flex:1 1}.item-name{color:#2d3748;font-size:1rem;font-weight:600;line-height:1.3;margin:0 0 .25rem}.item-brand{color:#718096;font-size:.875rem;margin:0}.item-actions{display:flex;gap:.5rem}.remove-button,.status-toggle{background:none;border:none;border-radius:4px;cursor:pointer;font-size:1rem;padding:.25rem;transition:background-color .2s}.status-toggle:hover{background:#edf2f7}.remove-button:hover{background:#fed7d7}.item-details{display:flex;flex-direction:column;gap:.75rem}.item-description{color:#4a5568;font-size:.875rem;line-height:1.4;margin:0}.item-controls{align-items:center;display:flex;justify-content:space-between}.quantity-control{align-items:center;display:flex;gap:.5rem}.quantity-btn{align-items:center;background:#edf2f7;border:1px solid #e2e8f0;border-radius:4px;cursor:pointer;display:flex;font-size:1rem;font-weight:600;height:32px;justify-content:center;transition:all .2s;width:32px}.quantity-btn:hover:not(:disabled){background:#e2e8f0;border-color:#cbd5e0}.quantity-btn:disabled{cursor:not-allowed;opacity:.5}.quantity-display{color:#2d3748;font-weight:600;min-width:2rem;text-align:center}.unit-label{color:#718096;font-size:.875rem}.item-pricing{align-items:flex-end;display:flex;flex-direction:column;gap:.25rem}.unit-price{color:#718096;font-size:.75rem}.total-price{color:#38a169;font-size:1rem;font-weight:600}.add-items-section{border-top:1px solid #e2e8f0;padding-top:1.5rem}.section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1rem}.section-header h4{color:#2d3748;font-size:1.125rem;font-weight:600;margin:0}.toggle-add-button{background:#4299e1;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:background-color .2s}.toggle-add-button:hover{background:#3182ce}.product-browser{display:flex;flex-direction:column;gap:1rem}.browser-filters{align-items:center;display:flex;gap:1rem}.category-filter,.search-input{border:1px solid #e2e8f0;border-radius:6px;font-size:.875rem;padding:.5rem .75rem;transition:border-color .2s}.search-input{flex:1 1}.category-filter:focus,.search-input:focus{border-color:#4299e1;box-shadow:0 0 0 3px #4299e11a;outline:none}.products-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr))}.no-products{color:#718096;padding:2rem;text-align:center}.product-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;padding:1rem;transition:all .2s ease}.product-card:hover{border-color:#cbd5e0;box-shadow:0 2px 8px #0000001a}.product-info{margin-bottom:1rem}.product-name{color:#2d3748;font-size:1rem;font-weight:600;line-height:1.3;margin:0 0 .25rem}.product-brand{color:#718096;font-size:.875rem;margin:0 0 .5rem}.product-description{color:#4a5568;font-size:.875rem;line-height:1.4;margin:0 0 .75rem}.product-pricing{align-items:center;display:flex;justify-content:space-between}.product-price{color:#38a169;font-size:1rem;font-weight:600}.product-category{background:#edf2f7;border-radius:12px;color:#718096;font-size:.75rem;padding:.25rem .5rem;text-transform:capitalize}.product-actions{align-items:center;display:flex;gap:1rem;justify-content:space-between}.add-button,.add-quantity{align-items:center;display:flex;gap:.5rem}.add-button{background:#48bb78;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:background-color .2s}.add-button:hover{background:#38a169}@media (max-width:768px){.shopping-list{padding:.75rem}.shopping-list-header{align-items:flex-start;flex-direction:column;gap:.5rem}.list-summary{align-self:stretch;justify-content:space-between}.items-grid,.products-grid{grid-template-columns:1fr}.browser-filters,.item-controls{align-items:stretch;flex-direction:column}.item-controls{gap:.5rem}.item-pricing{align-items:flex-start}.product-actions{align-items:stretch;flex-direction:column}}.project-execution{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;flex-direction:column;gap:1.5rem;padding:1rem}.execution-header{border-bottom:1px solid #e2e8f0;display:flex;flex-direction:column;gap:1rem;padding-bottom:1rem}.execution-header h3{color:#2d3748;font-size:1.25rem;font-weight:600;margin:0}.progress-summary{display:flex;flex-direction:column;gap:.5rem}.progress-bar{background:#e2e8f0;border-radius:4px;height:8px;overflow:hidden;width:100%}.progress-fill{background:linear-gradient(90deg,#48bb78,#38a169);height:100%;transition:width .3s ease}.progress-text{color:#4a5568;font-size:.875rem;font-weight:500}.loading-state{padding:3rem;text-align:center}.error-message{align-items:center;background:#fed7d7;border-radius:6px;color:#c53030;display:flex;font-size:.875rem;gap:.5rem;padding:.75rem 1rem}.error-icon{font-size:1rem}.execution-tabs{border-bottom:1px solid #e2e8f0;display:flex;gap:.5rem}.execution-content{min-height:400px}.tasks-list{flex-direction:column;gap:1.5rem}.task-category{display:flex;flex-direction:column;gap:1rem}.category-title{border-bottom:1px solid #e2e8f0;color:#2d3748;font-size:1.125rem;font-weight:600;margin:0;padding-bottom:.5rem}.category-tasks{display:flex;flex-direction:column;gap:.75rem}.task-item{background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;padding:1rem;transition:all .2s ease}.task-item.completed{background:#f0fff4;border-color:#9ae6b4}.task-item.in_progress{background:#ebf8ff;border-color:#90cdf4}.task-item:hover{box-shadow:0 2px 8px #0000001a}.task-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:.75rem}.task-info{flex:1 1;margin-right:1rem}.task-title{color:#2d3748;font-size:1rem;font-weight:600;line-height:1.3;margin:0 0 .5rem}.task-description{color:#4a5568;font-size:.875rem;line-height:1.4;margin:0}.task-status{flex-shrink:0}.status-select{background:#fff;border:2px solid #e2e8f0;border-radius:6px;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem .75rem;transition:border-color .2s}.status-select:focus{box-shadow:0 0 0 3px #4299e11a;outline:none}.task-details{display:flex;flex-direction:column;gap:.75rem}.task-meta{gap:1rem}.task-meta,.task-meta span{align-items:center;display:flex}.task-meta span{color:#718096;font-size:.875rem;gap:.25rem}.meta-icon{font-size:1rem}.required-tools{display:flex;flex-direction:column;gap:.5rem}.tools-label{color:#4a5568;font-size:.875rem;font-weight:500}.tools-list{display:flex;flex-wrap:wrap;gap:.5rem}.tool-tag{background:#edf2f7;border-radius:12px;color:#4a5568;font-size:.75rem;font-weight:500;padding:.25rem .5rem}.milestones-list{display:flex;flex-direction:column;gap:1rem}.milestone-item{background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;padding:1rem;transition:all .2s ease}.milestone-item.completed{background:#f0fff4;border-color:#9ae6b4}.milestone-item.in_progress{background:#ebf8ff;border-color:#90cdf4}.milestone-item:hover{box-shadow:0 2px 8px #0000001a}.milestone-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:.75rem}.milestone-info{flex:1 1}.milestone-title{align-items:center;display:flex;gap:.5rem;margin-bottom:.5rem}.milestone-title h4{color:#2d3748;font-size:1.125rem;font-weight:600;margin:0}.milestone-icon{font-size:1.25rem}.milestone-description{color:#4a5568;font-size:.875rem;line-height:1.4;margin:0}.milestone-progress{flex-shrink:0}.progress-fraction{color:#718096;font-size:.875rem;font-weight:600}.required-tasks{display:flex;flex-direction:column;gap:.5rem}.tasks-label{color:#4a5568;font-size:.875rem;font-weight:500}.tasks-list{display:flex;flex-wrap:wrap;gap:.5rem}.task-tag{border:1px solid #0000;border-radius:12px;font-size:.75rem;font-weight:500;padding:.25rem .5rem}.task-tag.not_started{background:#edf2f7;border-color:#e2e8f0;color:#718096}.task-tag.in_progress{background:#bee3f8;border-color:#90cdf4;color:#2b6cb0}.task-tag.completed{background:#c6f6d5;border-color:#9ae6b4;color:#276749}.safety-warnings{display:flex;flex-direction:column;gap:1rem}.safety-warning{background:#fff;border:1px solid #e2e8f0;border-left-width:4px;border-radius:8px;padding:1rem;transition:all .2s ease}.safety-warning:hover{box-shadow:0 2px 8px #0000001a}.safety-warning.high{background:#fffaf0;border-color:#feb2b2}.safety-warning.medium{background:#fffbf0;border-color:#fbd38d}.warning-header{align-items:center;display:flex;gap:.75rem;margin-bottom:.75rem}.warning-icon{font-size:1.25rem}.warning-title{color:#2d3748;flex:1 1;font-size:1rem;font-weight:600;margin:0}.severity-badge{border-radius:12px;color:#fff;font-size:.75rem;font-weight:600;padding:.25rem .5rem;text-transform:uppercase}.warning-description{color:#4a5568;font-size:.875rem;line-height:1.5;margin:0}@media (max-width:768px){.project-execution{padding:.75rem}.execution-header{gap:.75rem}.execution-tabs{flex-wrap:wrap}.tab-button{font-size:.8125rem;padding:.5rem .75rem}.task-header{align-items:stretch;flex-direction:column;gap:.75rem}.task-info{margin-right:0}.task-meta{align-items:flex-start;flex-direction:column;gap:.5rem}.milestone-header{align-items:stretch;flex-direction:column;gap:.75rem}.milestone-progress{align-self:flex-start}.warning-header{flex-wrap:wrap;gap:.5rem}.severity-badge{align-self:flex-start;order:-1}}.trader-referrals{background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;display:flex;flex-direction:column;gap:1.5rem;padding:1rem}.referrals-header{border-bottom:1px solid #e2e8f0;padding-bottom:1rem;text-align:center}.referrals-header h3{color:#2d3748;font-size:1.5rem;font-weight:600;margin:0 0 .5rem}.referrals-header p{color:#718096;font-size:1rem;margin:0}.referral-tabs{border-bottom:1px solid #e2e8f0;display:flex;gap:.5rem}.tab-button{border-bottom:2px solid #0000;font-size:.875rem;padding:.75rem 1rem}.tab-button.active{background:#ebf8ff;border-bottom-color:#4299e1;color:#4299e1}.tab-icon{font-size:1rem}.referral-content{min-height:400px}.platform-recommendations{display:flex;flex-direction:column;gap:1.5rem}.recommendations-intro{text-align:center}.recommendations-intro h4{color:#2d3748;font-size:1.25rem;font-weight:600;margin:0 0 .5rem}.recommendations-intro p{color:#4a5568;font-size:.875rem;margin:0}.platforms-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}.platform-card{background:#f7fafc;border:1px solid #e2e8f0;border-radius:12px;cursor:pointer;padding:1.5rem;transition:all .3s ease}.platform-card:hover{border-color:#4299e1;box-shadow:0 8px 25px #4299e126;transform:translateY(-2px)}.platform-header{display:flex;gap:1rem;margin-bottom:1rem}.platform-logo{flex-shrink:0}.logo-icon{align-items:center;background:#4299e1;border-radius:12px;display:flex;font-size:1.5rem;height:48px;justify-content:center;width:48px}.platform-info{flex:1 1}.platform-name{color:#2d3748;font-size:1.25rem;font-weight:600;margin:0 0 .5rem}.platform-description{color:#4a5568;font-size:.875rem;line-height:1.4;margin:0}.platform-stats{background:#edf2f7;border-radius:8px;display:flex;justify-content:space-between;margin-bottom:1rem;padding:.75rem}.stat-item{align-items:center;text-align:center}.stat-icon{font-size:1rem}.stat-value{font-size:.875rem}.stat-label{font-size:.75rem}.platform-features{margin-bottom:1rem}.platform-features h5{color:#2d3748;font-size:.875rem;font-weight:600;margin:0 0 .5rem}.platform-features ul{color:#4a5568;font-size:.8125rem;margin:0;padding-left:1rem}.platform-features li{margin-bottom:.25rem}.platform-specialties{margin-bottom:1rem}.specialties-list{display:flex;flex-wrap:wrap;gap:.5rem}.specialty-tag{background:#bee3f8;border-radius:12px;color:#2b6cb0;font-size:.75rem;font-weight:500;padding:.25rem .5rem}.platform-action{text-align:center}.visit-platform-button{align-items:center;background:#4299e1;border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;font-size:.875rem;font-weight:600;gap:.5rem;justify-content:center;padding:.75rem 1rem;transition:background-color .2s;width:100%}.visit-platform-button:hover{background:#3182ce}.button-icon{font-size:1rem}.referral-disclaimer{background:#fffbf0;border:1px solid #fbd38d;border-radius:8px;padding:1rem;text-align:center}.referral-disclaimer p{color:#744210;font-size:.875rem;line-height:1.4;margin:0}.trader-categories{display:flex;flex-direction:column;gap:1.5rem}.categories-intro{text-align:center}.categories-intro h4{color:#2d3748;font-size:1.25rem;font-weight:600;margin:0 0 .5rem}.categories-intro p{color:#4a5568;font-size:.875rem;margin:0}.categories-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}.category-card{background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;padding:1rem;text-align:center;transition:all .2s ease}.category-card:hover{border-color:#cbd5e0;box-shadow:0 2px 8px #0000001a}.category-header{align-items:center;display:flex;flex-direction:column;gap:.5rem;margin-bottom:.75rem}.category-icon{font-size:2rem}.category-name{color:#2d3748;font-size:1rem;font-weight:600;margin:0}.category-description{color:#4a5568;font-size:.875rem;line-height:1.4;margin:0}.categories-tips{background:#f0fff4;border:1px solid #9ae6b4;border-radius:8px;padding:1rem}.categories-tips h5{color:#276749;font-size:1rem;font-weight:600;margin:0 0 .75rem}.categories-tips ul{color:#22543d;margin:0;padding-left:1.25rem}.categories-tips li{font-size:.875rem;line-height:1.4;margin-bottom:.5rem}.job-description{display:flex;flex-direction:column;gap:1.5rem}.description-header{text-align:center}.description-header h4{color:#2d3748;font-size:1.25rem;font-weight:600;margin:0 0 .5rem}.description-header p{color:#4a5568;font-size:.875rem;margin:0}.generating-description{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:3rem;text-align:center}.loading-spinner{animation:spin 1s linear infinite;border:3px solid #e2e8f0;border-radius:50%;border-top-color:#4299e1;height:32px;margin-bottom:1rem;width:32px}.generating-description p{color:#4a5568;font-size:.875rem;margin:0}.description-content{display:flex;flex-direction:column;gap:1rem}.description-actions{display:flex;gap:1rem;justify-content:center}.copy-button,.regenerate-button{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.5rem;padding:.5rem 1rem;transition:all .2s}.copy-button{border-color:#4299e1;color:#4299e1}.copy-button:hover{background:#ebf8ff}.regenerate-button{color:#718096}.regenerate-button:hover{background:#f7fafc;border-color:#cbd5e0}.description-text{background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;max-height:400px;overflow-y:auto;padding:1rem}.description-text pre{word-wrap:break-word;color:#2d3748;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.875rem;line-height:1.5;margin:0;white-space:pre-wrap}.description-tips{background:#ebf8ff;border:1px solid #90cdf4;border-radius:8px;padding:1rem}.description-tips h5{color:#2c5282;font-size:1rem;font-weight:600;margin:0 0 .75rem}.description-tips ul{color:#2a4365;margin:0;padding-left:1.25rem}.description-tips li{font-size:.875rem;line-height:1.4;margin-bottom:.5rem}@media (max-width:768px){.trader-referrals{padding:.75rem}.referral-tabs{flex-wrap:wrap}.tab-button{font-size:.8125rem;padding:.5rem .75rem}.platforms-grid{grid-template-columns:1fr}.platform-header{text-align:center}.platform-header,.platform-stats{flex-direction:column;gap:.75rem}.stat-item{flex-direction:row;justify-content:space-between}.categories-grid{grid-template-columns:1fr}.description-actions{flex-direction:column}.copy-button,.regenerate-button{justify-content:center}}.project-dashboard{background:#f7fafc;min-height:100vh;padding:2rem}.loading-state{align-items:center;display:flex;flex-direction:column;gap:1rem;justify-content:center;min-height:400px}.loading-spinner.large{animation:spin 1s linear infinite;border:4px solid #e2e8f0;border-radius:50%;border-top-color:#4299e1;height:40px;width:40px}.loading-state p{color:#718096;font-size:1.1rem}.empty-state{grid-gap:3rem;align-items:start;display:grid;gap:3rem;grid-template-columns:1fr 1fr;margin:0 auto;max-width:800px}.empty-state-content{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 4px 12px #0000000d;padding:3rem 2rem;text-align:center}.empty-state-icon{display:block;font-size:4rem;margin-bottom:1.5rem}.empty-state-content h2{color:#2d3748;font-size:1.8rem;font-weight:600;margin:0 0 1rem}.empty-state-content p{color:#718096;font-size:1.1rem;line-height:1.6;margin:0 0 2rem}.create-project-button{align-items:center;background:#4299e1;border:none;border-radius:8px;color:#fff;cursor:pointer;display:inline-flex;font-size:1rem;font-weight:600;gap:.5rem;padding:1rem 2rem;transition:all .2s}.create-project-button:hover{background:#3182ce;box-shadow:0 8px 20px #4299e14d;transform:translateY(-2px)}.button-icon{font-size:1.1rem}.features-preview{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 4px 12px #0000000d;padding:2rem}.features-preview h3{color:#2d3748;font-size:1.3rem;font-weight:600;margin:0 0 1.5rem}.feature-list{display:flex;flex-direction:column;gap:1.5rem}.feature-item{align-items:flex-start;gap:1rem}.feature-icon{flex-shrink:0;font-size:1.5rem;margin-top:.25rem}.feature-text strong{color:#2d3748;display:block;font-size:1rem;margin-bottom:.25rem}.feature-text p{color:#718096;font-size:.9rem;line-height:1.4;margin:0}.project-header{align-items:flex-start;background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 4px 12px #0000000d;display:flex;justify-content:space-between;margin-bottom:2rem;padding:2rem}.project-title-section{align-items:flex-start;display:flex;gap:1rem}.project-icons{display:flex;flex-direction:column;gap:.5rem}.room-icon,.type-icon{background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;font-size:1.5rem;padding:.5rem}.project-title-info h1{color:#2d3748;font-size:2rem;font-weight:600;margin:0 0 .5rem}.project-meta{display:flex;flex-direction:column;gap:.25rem}.project-type{color:#4a5568;font-size:1rem;font-weight:500;text-transform:capitalize}.project-date{color:#718096;font-size:.9rem}.status-badge{border-radius:20px;color:#fff;font-size:.85rem;font-weight:600;padding:.5rem 1rem;text-transform:capitalize}.project-content{grid-gap:2rem;align-items:start;display:grid;gap:2rem;grid-template-columns:2fr 1fr}.project-main,.project-sidebar{display:flex;flex-direction:column;gap:2rem}.ai-analysis-card,.next-steps-card,.project-actions-card,.project-description-card,.project-photos-card,.project-stats-card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 4px 12px #0000000d;padding:1.5rem}.ai-analysis-card h3,.next-steps-card h3,.project-actions-card h3,.project-description-card h3,.project-photos-card h3,.project-stats-card h3{color:#2d3748;font-size:1.1rem;font-weight:600;margin:0 0 1rem}.project-description-card p{color:#4a5568;line-height:1.6;margin:0}.photos-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}.photo-item{aspect-ratio:1;border:1px solid #e2e8f0;border-radius:8px;overflow:hidden}.photo-item img{height:100%;object-fit:cover;width:100%}.analysis-content{display:flex;flex-direction:column;gap:1rem}.analysis-item{align-items:center;border-bottom:1px solid #f7fafc;display:flex;justify-content:space-between;padding:.75rem 0}.analysis-item:last-child{border-bottom:none}.analysis-label{color:#4a5568;font-weight:500}.analysis-value{color:#2d3748;font-weight:600}.finishes-list{display:flex;flex-wrap:wrap;gap:.5rem}.finish-tag{background:#e6fffa;color:#234e52;font-weight:500}.complexity-badge,.finish-tag{border-radius:12px;font-size:.8rem;padding:.25rem .75rem}.complexity-badge{font-weight:600;text-transform:capitalize}.complexity-badge.low{background:#c6f6d5;color:#22543d}.complexity-badge.medium{background:#fef5e7;color:#d69e2e}.complexity-badge.high{background:#fed7d7;color:#c53030}.stats-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:1fr 1fr}.stat-item{display:flex;flex-direction:column;gap:.25rem}.stat-label{color:#718096;font-size:.8rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase}.stat-value{color:#2d3748;font-size:1rem;font-weight:600;text-transform:capitalize}.action-buttons{display:flex;flex-direction:column;gap:.75rem}.action-button{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#4a5568;cursor:pointer;display:flex;font-size:.9rem;font-weight:500;gap:.75rem;padding:.75rem 1rem;position:relative;transition:all .2s}.action-button:hover:not(:disabled){background:#f7fafc;border-color:#4299e1}.action-button:disabled{cursor:not-allowed;opacity:.6}.coming-soon{background:#fef5e7;border-radius:8px;color:#d69e2e;font-size:.7rem;font-weight:600;margin-left:auto;padding:.125rem .5rem}.steps-list{display:flex;flex-direction:column;gap:1rem}.step-item{align-items:flex-start;border-radius:8px;display:flex;gap:1rem;padding:1rem;transition:background-color .2s}.step-item.pending{background:#ebf8ff;border:1px solid #bee3f8}.step-item.completed{border:1px solid #c6f6d5}.step-item.disabled{background:#f7fafc;border:1px solid #e2e8f0;opacity:.6}.step-number{align-items:center;background:#4299e1;border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.8rem;font-weight:600;height:24px;justify-content:center;width:24px}.step-item.completed .step-number{background:#48bb78}.step-item.disabled .step-number{background:#a0aec0}.step-content strong{color:#2d3748;display:block;font-size:.9rem;margin-bottom:.25rem}.step-content p{color:#718096;font-size:.8rem;line-height:1.4;margin:0}@media (max-width:1024px){.project-content{grid-template-columns:1fr}.project-sidebar{order:-1}}@media (max-width:768px){.project-dashboard{padding:1rem}.empty-state{gap:2rem;grid-template-columns:1fr}.project-header{align-items:flex-start;flex-direction:column;gap:1rem}.project-title-section{width:100%}.project-title-info h1{font-size:1.5rem}.photos-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.stats-grid{grid-template-columns:1fr}.analysis-item{align-items:flex-start;flex-direction:column;gap:.5rem}}@media (max-width:480px){.project-dashboard{padding:.5rem}.empty-state-content{padding:2rem 1.5rem}.empty-state-icon{font-size:3rem}.empty-state-content h2{font-size:1.5rem}.project-header{padding:1.5rem}.project-title-info h1{font-size:1.3rem}.photos-grid{grid-template-columns:repeat(auto-fill,minmax(100px,1fr))}}@keyframes spin{to{transform:rotate(1turn)}}.project-actions{align-items:center;display:flex;gap:1rem}.project-actions .action-button{align-items:center;border:none;border-radius:6px;cursor:pointer;display:inline-flex;font-size:.9rem;font-weight:500;gap:.5rem;padding:.75rem 1rem;transition:all .2s}.project-actions .action-button.secondary{background:#f7fafc;border:1px solid #e2e8f0;color:#4a5568}.project-actions .action-button.secondary:hover{background:#edf2f7;border-color:#cbd5e0}.project-tabs{background:#fff;border:1px solid #e2e8f0;border-radius:12px;box-shadow:0 4px 12px #0000000d;display:flex;margin-bottom:2rem;overflow:hidden}.tab-button{align-items:center;background:none;border:none;border-right:1px solid #e2e8f0;color:#718096;cursor:pointer;display:flex;flex:1 1;font-weight:500;gap:.5rem;justify-content:center;padding:1rem 1.5rem;transition:all .2s}.tab-button:last-child{border-right:none}.tab-button:hover{background:#f7fafc;color:#4a5568}.tab-button.active{background:#4299e1;color:#fff}.tab-icon{font-size:1.1rem}.overview-content{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:2fr 1fr}.action-buttons .action-button.primary{background:#4299e1;border:none;color:#fff}.action-buttons .action-button.primary:hover{background:#3182ce}.step-item.completed{background:#f0fff4;border-left:4px solid #38a169}.step-item.completed .step-number{background:#38a169;color:#fff}@media (max-width:768px){.project-header{align-items:stretch;flex-direction:column;gap:1rem}.project-actions{justify-content:space-between}.project-tabs{flex-direction:column}.tab-button{border-bottom:1px solid #e2e8f0;border-right:none}.tab-button:last-child{border-bottom:none}.overview-content{grid-template-columns:1fr}}.project-list-modal{align-items:center;background:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:1rem;position:fixed;right:0;top:0;z-index:1000}.project-list-modal .modal-content{background:#fff;border-radius:12px;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;display:flex;flex-direction:column;max-height:80vh;max-width:800px;width:100%}.project-list-modal .modal-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:1.5rem}.project-list-modal .modal-header h2{color:#2d3748;font-size:1.5rem;font-weight:600;margin:0}.project-list-modal .close-button{background:none;border:none;border-radius:6px;color:#718096;cursor:pointer;font-size:1.25rem;padding:.5rem;transition:all .2s}.project-list-modal .close-button:hover{background:#edf2f7;color:#4a5568}.project-list-modal .modal-body{flex:1 1;overflow-y:auto;padding:0}.project-list-modal .project-list{border-radius:0;box-shadow:none}@media (max-width:768px){.project-list-modal{padding:.5rem}.project-list-modal .modal-content{max-height:90vh}.project-list-modal .modal-header{padding:1rem}}.App{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}*{box-sizing:border-box}body{margin:0;padding:0}.App-header{align-items:center;background-color:#282c34;color:#fff;display:flex;flex-direction:column;font-size:calc(10px + 2vmin);justify-content:center;min-height:100vh;padding:20px}h1{color:#61dafb;font-size:3em;margin:20px 0}.phase-indicator{margin:10px 0 30px}.phase-badge{background-color:#ff9800;border-radius:20px;color:#fff;font-size:.8em;font-weight:700;padding:8px 16px;text-transform:uppercase}.status-container{display:flex;flex-wrap:wrap;gap:30px;justify-content:center;margin:40px 0}.status-card{background-color:#3a3f47;border-radius:10px;max-width:350px;min-width:250px;padding:30px}.status-card h3{color:#61dafb;font-size:1.2em;margin-top:0}.version{color:#888;font-size:.7em;margin:5px 0}.features-status{margin-top:15px;text-align:left}.feature-item{align-items:center;display:flex;font-size:.7em;justify-content:space-between;margin:8px 0}.feature-name{color:#ccc;text-transform:capitalize}.feature-status{border-radius:12px;font-size:.6em;font-weight:700;padding:2px 8px;text-transform:uppercase}.feature-status.ready{background-color:#4caf50;color:#fff}.feature-status.pending{background-color:#ff9800;color:#fff}.status-healthy{color:#4caf50;font-weight:700}.status-error{color:#f44336;font-weight:700}.next-steps{background-color:#3a3f47;border-radius:10px;margin-top:40px;max-width:600px;padding:30px}.next-steps h3{color:#61dafb;font-size:1.3em;margin-top:0}.development-status{text-align:left}.status-item{align-items:center;color:#ccc;display:flex;font-size:.8em;margin:15px 0}.status-icon{font-size:1.2em;margin-right:12px}@media (max-width:768px){.status-container{align-items:center;flex-direction:column}.status-card{min-width:280px}h1{font-size:2em}}
/*# sourceMappingURL=main.dccc018a.css.map*/