@charset "UTF-8";.loader-spinner{animation:spin 1s linear infinite;border:4px solid #e2e6f2;border-radius:50%;border-top-color:#2563eb;display:block;margin:auto}.App{text-align:center}.App-logo{height:40vmin;pointer-events:none}@media (prefers-reduced-motion:no-preference){.App-logo{animation:App-logo-spin 20s linear infinite}}.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}.App-link{color:#61dafb}@keyframes App-logo-spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.rbc-calendar{font-size:1.08rem!important}.rbc-month-row{min-height:180px!important}.rbc-date-cell,.rbc-row-content{min-height:170px!important}.rbc-date-cell{min-width:130px!important}.rbc-agenda-event-cell,.rbc-event{border-radius:8px!important;font-size:1.12rem!important;font-weight:600;line-height:1.2!important;margin-bottom:7px!important;padding:6px 12px!important}.rbc-date-cell,.rbc-day-bg{background:#f8fcfa!important}.rbc-off-range-bg{background:#f3f3f6!important}.rbc-toolbar{font-size:1.16rem!important}.rbc-event-label{display:none!important}.analysis-section{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 10px #0000001a;margin-top:20px;padding:20px}.loading{color:#6b7280;font-size:16px;padding:40px;text-align:center}.project-summary{background:#f8fafc;border-left:4px solid #2563eb;border-radius:8px;margin-bottom:25px;padding:20px}.project-summary h4{color:#1f2937;font-size:18px;margin:0 0 15px}.summary-stats{gap:20px}.stat{align-items:center;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000001a;display:flex;flex-direction:column;min-width:120px;padding:10px 15px}.stat .label{color:#6b7280;font-size:12px;margin-bottom:5px}.stat .value{color:#1f2937;font-size:18px;font-weight:700}.rooms-breakdown h4{color:#1f2937;font-size:18px;margin:0 0 20px}.room-card{background:#f9fafb;border-radius:8px;margin-bottom:20px;transition:box-shadow .2s ease}.room-card:hover{box-shadow:0 4px 12px #0000001a}.room-card h5{color:#2563eb;font-size:16px;font-weight:700;margin:0 0 10px}.room-info{color:#6b7280;font-size:14px;margin-bottom:15px}.room-stats span{background:#fff;border:1px solid #e5e7eb;padding:8px 12px}.tasks-list{background:#fff;border:1px solid #e5e7eb;border-radius:6px;padding:15px}.task-item{align-items:center;border-bottom:1px solid #f3f4f6;display:flex;justify-content:space-between;padding:8px 0}.task-item:last-child{border-bottom:none}.task-name{color:#1f2937;flex:1 1;font-weight:500}.task-trade{color:#6b7280;font-size:14px;margin-right:10px}.task-duration{background:#eff6ff;border-radius:4px;color:#2563eb;font-size:12px;font-weight:700;padding:4px 8px}.materials-intro{margin-bottom:25px}.alert{border-radius:8px;margin-bottom:20px;padding:15px}.alert.info{background:#eff6ff;border:1px solid #3b82f6;color:#1d4ed8}.materials-by-room h4{color:#1f2937;font-size:18px;margin:0 0 20px}.room-materials-card{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:20px;padding:20px}.room-materials-card h5{color:#2563eb;font-size:16px;font-weight:700;margin:0 0 10px}.room-area{color:#6b7280;font-size:14px;margin-bottom:15px}.material-category{margin-bottom:20px}.material-category h6{color:#1f2937;font-size:14px;font-weight:700;margin:0 0 10px}.material-options{display:flex;flex-direction:column;gap:8px}.material-option{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:6px;display:flex;justify-content:space-between;padding:12px}.material-name{color:#1f2937;font-weight:500}.price-range{color:#059669;font-size:14px;font-weight:700}.recommendations h4{color:#1f2937;font-size:18px;margin:0 0 15px}.recommendations-list{display:flex;flex-direction:column;gap:10px}.recommendation-item{align-items:center;background:#f0f9ff;border:1px solid #0ea5e9;border-radius:6px;display:flex;gap:10px;padding:12px}.recommendation-item .icon{font-size:18px}.recommendation-item .text{color:#0c4a6e;font-size:14px}.calendar-events h4{color:#1f2937;font-size:18px;margin:0 0 20px}.events-timeline{display:flex;flex-direction:column;gap:12px}.event-item{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;display:flex;gap:15px;padding:15px}.event-date{background:#2563eb;border-radius:6px;color:#fff;font-size:14px;min-width:100px;padding:8px 12px;text-align:center}.event-content{display:flex;flex:1 1;flex-direction:column;gap:5px}.event-title{color:#1f2937;font-weight:500}.event-resource{color:#6b7280;font-size:14px}.event-duration{background:#dcfce7;border-radius:4px;color:#166534;font-size:12px;font-weight:700;padding:4px 8px}.schedule-recommendations h4{color:#1f2937;font-size:18px;margin:0 0 20px}.recommendations-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.recommendation-category{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;padding:20px}.recommendation-category h5{color:#1f2937;font-size:16px;font-weight:700;margin:0 0 15px}.recommendation-category ul{list-style:none;margin:0;padding:0}.recommendation-category li{border-bottom:1px solid #f3f4f6;color:#374151;font-size:14px;padding:8px 0}.recommendation-category li:last-child{border-bottom:none}@media (max-width:768px){.room-stats,.summary-stats{flex-direction:column}.room-stats{gap:8px}.recommendations-grid{grid-template-columns:1fr}.event-item{align-items:flex-start;flex-direction:column}}.rbc-month-row .rbc-row-content{align-items:stretch!important;display:flex!important;flex-direction:column!important;height:110px!important;justify-content:flex-start!important;min-height:110px!important}.rbc-month-view .rbc-date-cell{padding-top:2px!important;vertical-align:top!important}.rbc-month-view .rbc-events-container{align-items:stretch!important;display:flex!important;flex-direction:column!important;justify-content:flex-start!important;margin-top:0!important;max-height:160px!important;min-height:0!important;overflow:visible!important;padding-top:0!important}.rbc-month-view .rbc-event{border-radius:4px!important;flex-shrink:0!important;font-size:11px!important;line-height:1.2!important;margin-bottom:2px!important;margin-top:0!important;min-height:20px!important;overflow:hidden!important;padding:3px 6px!important;text-overflow:ellipsis!important;white-space:nowrap!important}div.rbc-month-row>div.rbc-row-content{justify-content:flex-start!important}div.rbc-month-view div.rbc-events-container{margin-top:0!important;padding-top:0!important}.rbc-show-more{flex-shrink:0!important;font-size:11px!important;margin-bottom:2px!important;margin-top:auto!important;text-align:center!important}.rbc-month-view .rbc-date-cell .rbc-date-cell-value{font-size:12px!important;font-weight:700!important;position:absolute!important;right:4px!important;top:2px!important;z-index:10!important}.rbc-month-view .rbc-row-segment{justify-content:flex-start!important}.rbc-btn{color:inherit;font:inherit;margin:0}button.rbc-btn{-webkit-appearance:button;appearance:button;cursor:pointer;overflow:visible;text-transform:none}button[disabled].rbc-btn{cursor:not-allowed}button.rbc-input::-moz-focus-inner{border:0;padding:0}.rbc-calendar{align-items:stretch;box-sizing:border-box;display:flex;flex-direction:column;height:100%}.rbc-m-b-negative-3{margin-bottom:-3px}.rbc-h-full{height:100%}.rbc-calendar *,.rbc-calendar :after,.rbc-calendar :before{box-sizing:inherit}.rbc-abs-full,.rbc-row-bg{bottom:0;left:0;overflow:hidden;position:absolute;right:0;top:0}.rbc-ellipsis,.rbc-event-label,.rbc-row-segment .rbc-event-content,.rbc-show-more{display:block;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rbc-rtl{direction:rtl}.rbc-off-range{color:#999}.rbc-off-range-bg{background:#e6e6e6}.rbc-header{border-bottom:1px solid #ddd;flex:1 0;font-size:90%;font-weight:700;min-height:0;overflow:hidden;padding:0 3px;text-align:center;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.rbc-header+.rbc-header{border-left:1px solid #ddd}.rbc-rtl .rbc-header+.rbc-header{border-left-width:0;border-right:1px solid #ddd}.rbc-header>a,.rbc-header>a:active,.rbc-header>a:visited{color:inherit;text-decoration:none}.rbc-button-link{background:none;border:none;color:inherit;cursor:pointer;margin:0;padding:0;-webkit-user-select:text;user-select:text}.rbc-row-content{position:relative;user-select:none;-webkit-user-select:none;z-index:4}.rbc-row-content-scrollable{display:flex;flex-direction:column;height:100%}.rbc-row-content-scrollable .rbc-row-content-scroll-container{-ms-overflow-style:none;height:100%;overflow-y:scroll;scrollbar-width:none}.rbc-row-content-scrollable .rbc-row-content-scroll-container::-webkit-scrollbar{display:none}.rbc-today{background-color:#eaf6ff}.rbc-toolbar{align-items:center;display:flex;flex-wrap:wrap;font-size:16px;justify-content:center;margin-bottom:10px}.rbc-toolbar .rbc-toolbar-label{flex-grow:1;padding:0 10px;text-align:center}.rbc-toolbar button{background:none;background-image:none;border:1px solid #ccc;border-radius:4px;color:#373a3c;display:inline-block;line-height:normal;margin:0;padding:.375rem 1rem;text-align:center;vertical-align:middle;white-space:nowrap}.rbc-toolbar button.rbc-active,.rbc-toolbar button:active{background-color:#e6e6e6;background-image:none;border-color:#adadad;box-shadow:inset 0 3px 5px rgba(0,0,0,.125)}.rbc-toolbar button.rbc-active:focus,.rbc-toolbar button.rbc-active:hover,.rbc-toolbar button:active:focus,.rbc-toolbar button:active:hover{background-color:#d4d4d4;border-color:#8c8c8c;color:#373a3c}.rbc-toolbar button:focus,.rbc-toolbar button:hover{background-color:#e6e6e6;border-color:#adadad;color:#373a3c}.rbc-toolbar button:hover{cursor:pointer}.rbc-btn-group{display:inline-block;white-space:nowrap}.rbc-btn-group>button:first-child:not(:last-child){border-bottom-right-radius:0;border-top-right-radius:0}.rbc-btn-group>button:last-child:not(:first-child){border-bottom-left-radius:0;border-top-left-radius:0}.rbc-rtl .rbc-btn-group>button:first-child:not(:last-child){border-radius:4px;border-bottom-left-radius:0;border-top-left-radius:0}.rbc-rtl .rbc-btn-group>button:last-child:not(:first-child){border-radius:4px;border-bottom-right-radius:0;border-top-right-radius:0}.rbc-btn-group>button:not(:first-child):not(:last-child){border-radius:0}.rbc-btn-group button+button{margin-left:-1px}.rbc-rtl .rbc-btn-group button+button{margin-left:0;margin-right:-1px}.rbc-btn-group+.rbc-btn-group,.rbc-btn-group+button{margin-left:10px}@media (max-width:767px){.rbc-toolbar{flex-direction:column}}.rbc-day-slot .rbc-background-event,.rbc-event{background-color:#3174ad;border:none;border-radius:5px;box-shadow:none;box-sizing:border-box;color:#fff;cursor:pointer;margin:0;padding:2px 5px;text-align:left;width:100%}.rbc-day-slot .rbc-slot-selecting .rbc-background-event,.rbc-slot-selecting .rbc-day-slot .rbc-background-event,.rbc-slot-selecting .rbc-event{cursor:inherit;pointer-events:none}.rbc-day-slot .rbc-selected.rbc-background-event,.rbc-event.rbc-selected{background-color:#265985}.rbc-day-slot .rbc-background-event:focus,.rbc-event:focus{outline:5px auto #3b99fc}.rbc-event-label{font-size:80%}.rbc-event-overlaps{box-shadow:-1px 1px 5px 0 #33333380}.rbc-event-continues-prior{border-bottom-left-radius:0;border-top-left-radius:0}.rbc-event-continues-after{border-bottom-right-radius:0;border-top-right-radius:0}.rbc-event-continues-earlier{border-top-left-radius:0;border-top-right-radius:0}.rbc-event-continues-later{border-bottom-left-radius:0;border-bottom-right-radius:0}.rbc-row{display:flex;flex-direction:row}.rbc-row-segment{padding:0 1px 1px}.rbc-selected-cell{background-color:#0000001a}.rbc-show-more{background-color:#ffffff4d;color:#3174ad;font-size:85%;font-weight:700;height:auto;line-height:normal;z-index:4}.rbc-show-more:focus,.rbc-show-more:hover{color:#265985}.rbc-month-view{border:1px solid #ddd;display:flex;flex:1 0;flex-direction:column;height:100%;position:relative;user-select:none;-webkit-user-select:none;width:100%}.rbc-month-header{display:flex;flex-direction:row}.rbc-month-row{display:flex;flex:1 0;flex-basis:0px;flex-direction:column;height:100%;overflow:hidden;position:relative}.rbc-month-row+.rbc-month-row{border-top:1px solid #ddd}.rbc-date-cell{flex:1 1;min-width:0;padding-right:5px;text-align:right}.rbc-date-cell.rbc-now{font-weight:700}.rbc-date-cell>a,.rbc-date-cell>a:active,.rbc-date-cell>a:visited{color:inherit;text-decoration:none}.rbc-row-bg{display:flex;flex:1 0;flex-direction:row;overflow:hidden;right:1px}.rbc-day-bg{flex:1 0}.rbc-day-bg+.rbc-day-bg{border-left:1px solid #ddd}.rbc-rtl .rbc-day-bg+.rbc-day-bg{border-left-width:0;border-right:1px solid #ddd}.rbc-overlay{background-color:#fff;border:1px solid #e5e5e5;box-shadow:0 5px 15px #00000040;padding:10px;position:absolute;z-index:5}.rbc-overlay>*+*{margin-top:1px}.rbc-overlay-header{border-bottom:1px solid #e5e5e5;margin:-10px -10px 5px;padding:2px 10px}.rbc-agenda-view{display:flex;flex:1 0;flex-direction:column;overflow:auto}.rbc-agenda-view table.rbc-agenda-table{border:1px solid #ddd;border-collapse:collapse;border-spacing:0;width:100%}.rbc-agenda-view table.rbc-agenda-table tbody>tr>td{padding:5px 10px;vertical-align:top}.rbc-agenda-view table.rbc-agenda-table .rbc-agenda-time-cell{padding-left:15px;padding-right:15px;text-transform:lowercase}.rbc-agenda-view table.rbc-agenda-table tbody>tr>td+td{border-left:1px solid #ddd}.rbc-rtl .rbc-agenda-view table.rbc-agenda-table tbody>tr>td+td{border-left-width:0;border-right:1px solid #ddd}.rbc-agenda-view table.rbc-agenda-table tbody>tr+tr{border-top:1px solid #ddd}.rbc-agenda-view table.rbc-agenda-table thead>tr>th{border-bottom:1px solid #ddd;padding:3px 5px;text-align:left}.rbc-rtl .rbc-agenda-view table.rbc-agenda-table thead>tr>th{text-align:right}.rbc-agenda-time-cell{text-transform:lowercase}.rbc-agenda-time-cell .rbc-continues-after:after{content:" »"}.rbc-agenda-time-cell .rbc-continues-prior:before{content:"« "}.rbc-agenda-date-cell,.rbc-agenda-time-cell{white-space:nowrap}.rbc-agenda-event-cell{width:100%}.rbc-time-column{display:flex;flex-direction:column;min-height:100%}.rbc-time-column .rbc-timeslot-group{flex:1 1}.rbc-timeslot-group{border-bottom:1px solid #ddd;display:flex;flex-flow:column nowrap;min-height:40px}.rbc-header-gutter,.rbc-time-gutter{flex:none}.rbc-label{padding:0 5px}.rbc-day-slot{position:relative}.rbc-day-slot .rbc-events-container{bottom:0;left:0;margin-right:10px;position:absolute;right:0;top:0}.rbc-day-slot .rbc-events-container.rbc-rtl{left:10px;right:0}.rbc-day-slot .rbc-background-event,.rbc-day-slot .rbc-event{align-items:flex-start;border:1px solid #265985;display:flex;flex-flow:column wrap;max-height:100%;min-height:20px;overflow:hidden;position:absolute}.rbc-day-slot .rbc-background-event{opacity:.75}.rbc-day-slot .rbc-event-label{flex:none;padding-right:5px;width:auto}.rbc-day-slot .rbc-event-content{word-wrap:break-word;flex:1 1;height:100%;line-height:1;min-height:1em;width:100%}.rbc-day-slot .rbc-time-slot{border-top:1px solid #f7f7f7}.rbc-time-view-resources .rbc-time-gutter,.rbc-time-view-resources .rbc-time-header-gutter{background-color:#fff;border-right:1px solid #ddd;left:0;margin-right:-1px;position:-webkit-sticky;position:sticky;z-index:10}.rbc-time-view-resources .rbc-time-header{overflow:hidden}.rbc-time-view-resources .rbc-time-header-content{flex:1 0;flex-basis:0px;min-width:auto}.rbc-time-view-resources .rbc-time-header-cell-single-day{display:none}.rbc-time-view-resources .rbc-day-slot{min-width:140px}.rbc-time-view-resources .rbc-day-bg,.rbc-time-view-resources .rbc-header{flex:1 1;flex-basis:0 px;width:140px}.rbc-time-header-content+.rbc-time-header-content{margin-left:-1px}.rbc-time-slot{flex:1 0}.rbc-time-slot.rbc-now{font-weight:700}.rbc-day-header{text-align:center}.rbc-slot-selection{background-color:#00000080;color:#fff;font-size:75%;padding:3px;position:absolute;width:100%;z-index:10}.rbc-slot-selecting{cursor:move}.rbc-time-view{border:1px solid #ddd;display:flex;flex:1 1;flex-direction:column;min-height:0;width:100%}.rbc-time-view .rbc-time-gutter{text-align:right;white-space:nowrap}.rbc-time-view .rbc-allday-cell{box-sizing:initial;height:100%;position:relative;width:100%}.rbc-time-view .rbc-allday-cell+.rbc-allday-cell{border-left:1px solid #ddd}.rbc-time-view .rbc-allday-events{position:relative;z-index:4}.rbc-time-view .rbc-row{box-sizing:border-box;min-height:20px}.rbc-time-header{display:flex;flex:0 0 auto;flex-direction:row}.rbc-time-header.rbc-overflowing{border-right:1px solid #ddd}.rbc-rtl .rbc-time-header.rbc-overflowing{border-left:1px solid #ddd;border-right-width:0}.rbc-time-header>.rbc-row.rbc-row-resource,.rbc-time-header>.rbc-row:first-child{border-bottom:1px solid #ddd}.rbc-time-header-cell-single-day{display:none}.rbc-time-header-content{border-left:1px solid #ddd;display:flex;flex:1 1;flex-direction:column;min-width:0}.rbc-rtl .rbc-time-header-content{border-left-width:0;border-right:1px solid #ddd}.rbc-time-header-content>.rbc-row.rbc-row-resource{border-bottom:1px solid #ddd;flex-shrink:0}.rbc-time-content{align-items:flex-start;border-top:2px solid #ddd;display:flex;flex:1 0;overflow-y:auto;position:relative;width:100%}.rbc-time-content>.rbc-time-gutter{flex:none}.rbc-time-content>*+*>*{border-left:1px solid #ddd}.rbc-rtl .rbc-time-content>*+*>*{border-left-width:0;border-right:1px solid #ddd}.rbc-time-content>.rbc-day-slot{user-select:none;-webkit-user-select:none;width:100%}.rbc-current-time-indicator{background-color:#74ad31;height:1px;left:0;pointer-events:none;position:absolute;right:0;z-index:3}.rbc-resource-grouping.rbc-time-header-content{display:flex;flex-direction:column}.rbc-resource-grouping .rbc-row .rbc-header{width:141px}.project-detail-container{font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;margin:40px auto;max-width:1200px;padding:0 20px}.project-title{color:#223265;font-size:2rem;font-weight:700;margin-bottom:22px}.project-actions{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:28px}.action-button{background:linear-gradient(90deg,#19db7c 40%,#2563eb);border:none;border-radius:18px;box-shadow:0 2px 8px #2563eb4d;color:#fff;cursor:pointer;font-size:15px;font-weight:700;padding:10px 22px;transition:all .3s ease}.action-button:hover{box-shadow:0 4px 12px #2563eb66;transform:translateY(-2px)}.upload-form{background:#f8fafc;border:2px dashed #e2e8f0;border-radius:12px;margin-bottom:20px;padding:20px}.upload-form h3{color:#1f2937;font-size:1.25rem;margin-bottom:16px}.upload-form input[type=file]{border:1px solid #e2e8f0;border-radius:8px;font-size:14px;margin-bottom:10px;padding:8px;width:100%}.structured-review-panel{background:#f8fafc;border:2px solid #e2e8f0;border-radius:12px;margin:20px auto;max-width:1200px;padding:24px}.structured-review-panel h2{color:#1f2937;font-size:24px;font-weight:700;margin-bottom:8px}.room-card{border:2px solid #e2e8f0;box-shadow:0 1px 3px #0000001a;margin-bottom:16px;overflow:hidden;transition:all .3s ease}.room-card:hover{box-shadow:0 4px 12px #00000026}.room-header{align-items:center;background:#f8fafc;cursor:pointer;display:flex;justify-content:space-between;padding:16px;transition:background .2s}.room-header:hover{background:#f1f5f9}.room-title{align-items:center;color:#1f2937;display:flex;font-size:20px;gap:12px;margin:0 0 4px}.task-count-badge{background:#3b82f6;border-radius:20px;color:#fff;font-size:14px;font-weight:400;padding:4px 10px}.task-count-badge.empty{background:#6b7280}.room-metadata{color:#6b7280;display:flex;font-size:13px;gap:16px}.expand-icon{color:#6b7280;font-size:20px;transition:transform .2s}.room-card.expanded .expand-icon{transform:rotate(180deg)}.room-content{padding:20px}.task-card{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;margin:8px 0;padding:12px;position:relative;transition:all .3s ease}.task-card.needs-review{background:#fef2f2;border-color:#ef4444}.task-card.new-task{background:#fef3c7;border-color:#f59e0b}.task-card:hover{box-shadow:0 2px 8px #0000001a}.confidence-badge{border-radius:4px;color:#fff;font-size:12px;font-weight:700;padding:4px 8px;position:absolute;right:8px;top:8px}.confidence-badge.high{background:#22c55e}.confidence-badge.medium{background:#f59e0b}.confidence-badge.low{background:#ef4444}.task-edit-form{display:flex;flex-direction:column;gap:8px}.task-edit-form input,.task-edit-form select{border:1px solid #e2e8f0;border-radius:4px;font-size:14px;padding:8px}.task-edit-form .input-row{display:flex;gap:8px}.task-edit-form .action-buttons{display:flex;gap:8px;justify-content:flex-end}.btn-primary{border-radius:6px}.btn-primary,.btn-success{font-size:14px;padding:8px 16px;transition:all .3s ease}.btn-success{background:#22c55e;border:none;border-radius:6px;color:#fff;cursor:pointer}.btn-success:hover{background:#16a34a}.btn-warning{background:#f59e0b;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;padding:8px 16px;transition:all .3s ease}.btn-warning:hover{background:#d97706}.btn-danger{background:#ef4444;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:11px;padding:4px 8px;transition:all .3s ease}.btn-danger:hover{background:#dc2626}.btn-secondary{background:#6b7280;border:none;border-radius:6px;color:#fff;font-size:14px;padding:8px 16px;transition:all .3s ease}.btn-secondary:hover{background:#4b5563}.summary-stats{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:20px}.stat-card{align-items:center;border:1px solid #e2e8f0;border-radius:8px;display:flex;gap:8px;padding:12px 20px}.stat-icon,.stat-value{font-size:20px}.stat-value{color:#1f2937;font-weight:700}.stat-label{color:#6b7280;font-size:12px}.quick-actions{display:flex;gap:12px;margin-bottom:20px}.quote-preview{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;color:#6b7280;font-size:12px;margin-bottom:20px;max-height:100px;overflow-y:auto;padding:12px}.quote-preview strong{color:#374151}.empty-state{background:#f9fafb;border-radius:8px;color:#9ca3af;font-style:italic;padding:40px;text-align:center}.new-task-badge{background:#f59e0b;border-radius:4px;color:#fff;font-size:11px;font-weight:700;left:12px;padding:2px 8px;position:absolute;top:-8px}.group-tabs{border-bottom:1px solid #e2e8f0;display:flex;gap:8px;margin-bottom:20px}.group-tab{background:#0000;border:none;border-radius:6px 6px 0 0;color:#6b7280;cursor:pointer;font-weight:400;padding:8px 16px;text-transform:capitalize;transition:all .3s ease}.group-tab.active{background:#3b82f6;color:#fff;font-weight:700}.task-details-grid{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.materials-list,.task-details-grid{font-size:12px;margin-bottom:8px}.missing-fields-alert{background:#fef3c7;border:1px solid #f59e0b;border-radius:4px;font-size:12px;margin-bottom:12px;padding:8px}.final-actions{border-top:2px solid #e2e8f0;display:flex;gap:12px;justify-content:center;margin-top:24px;padding-top:24px}.final-actions button{border-radius:8px;box-shadow:0 2px 4px #0000001a;cursor:pointer;font-size:16px;font-weight:700;padding:14px 32px;transition:all .3s ease}.final-actions button:hover{box-shadow:0 4px 8px #00000026;transform:translateY(-2px)}.validation-prompt{background:#fef3c7;border:2px solid #f59e0b;border-radius:12px;margin:20px 0;padding:20px;text-align:center}.validation-prompt h3{color:#92400e;margin-bottom:12px}.validation-prompt p{color:#92400e;margin-bottom:16px}.validation-button{background:#f59e0b;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:16px;font-weight:700;padding:12px 24px;transition:all .3s ease}.validation-button:hover{background:#d97706;transform:translateY(-2px)}.room-navigation{display:flex;gap:8px;margin-bottom:20px;overflow-x:auto;padding:8px 0}.room-nav-button{background:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;color:#374151;cursor:pointer;font-size:12px;padding:8px 12px;transition:all .3s ease;white-space:nowrap}.room-nav-button.active{background:#3b82f6;color:#fff}.room-nav-button .status-icon{margin-left:4px}.audit-log{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-top:20px;padding:16px}.audit-log h4{color:#374151;margin-bottom:12px}.audit-log-entries{max-height:200px;overflow-y:auto}.audit-log-entry{border-bottom:1px solid #e5e7eb;color:#6b7280;font-size:12px;padding:8px}.audit-log-entry:last-child{border-bottom:none}@media (max-width:768px){.project-detail-container{padding:0 16px}.room-metadata{flex-direction:column;gap:4px}.task-details-grid{grid-template-columns:1fr}.final-actions,.summary-stats{flex-direction:column}.final-actions button{width:100%}.quick-actions{flex-wrap:wrap}.group-tabs{overflow-x:auto}}.loading-skeleton{animation:loading 1.5s infinite;background:linear-gradient(90deg,#f3f4f6 25%,#e5e7eb 50%,#f3f4f6 75%);background-size:200% 100%}@keyframes loading{0%{background-position:200% 0}to{background-position:-200% 0}}.status-extracting{color:#f59e0b}.status-completed{color:#22c55e}.status-failed{color:#ef4444}@media print{.final-actions,.project-actions,.quick-actions,.upload-form,button{display:none}.room-card{page-break-inside:avoid}.expand-icon{display:none}.room-content{display:block!important}}.quote-summary-container{background:#fff;border-radius:12px;box-shadow:0 4px 20px #0000001a;margin:20px 0;max-width:1200px;padding:0;width:100%}.quote-summary-header{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);border-bottom:1px solid #e5e7eb;border-radius:12px 12px 0 0;color:#fff;display:flex;justify-content:space-between;padding:20px 24px}.quote-summary-header h2{font-size:24px;font-weight:600;margin:0}.header-actions{align-items:center;display:flex;gap:12px}.refresh-button{background:#fff3;border:1px solid #ffffff4d;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;padding:8px 16px;transition:all .2s ease}.refresh-button:hover{background:#ffffff4d;transform:translateY(-1px)}.close-button{background:none;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:24px;padding:4px 8px;transition:background .2s ease}.close-button:hover{background:#fff3}.error-container,.loading-container,.no-summary{padding:40px 24px;text-align:center}.loading-container{align-items:center;display:flex;flex-direction:column;gap:16px}.spinner{animation:spin 1s linear infinite;border:4px solid #f3f4f6;border-radius:50%;border-top-color:#667eea;height:40px;width:40px}.error-message{color:#dc2626;font-size:16px;margin-bottom:16px}.retry-button{background:#dc2626;border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:14px;padding:12px 24px;transition:background .2s ease}.retry-button:hover{background:#b91c1c}.summary-content{padding:24px}.summary-text{margin-bottom:32px}.summary-text h3{align-items:center;color:#374151;display:flex;font-size:20px;font-weight:600;gap:8px;margin-bottom:16px}.summary-text h3:before{content:"📋";font-size:18px}.summary-description{background:#f9fafb;border-left:4px solid #667eea;border-radius:8px;line-height:1.6;padding:20px}.summary-paragraph{color:#374151;font-size:15px;margin:0 0 12px}.summary-paragraph:last-child{margin-bottom:0}.rooms-breakdown{margin-top:32px}.rooms-breakdown h3{align-items:center;color:#374151;display:flex;font-size:20px;font-weight:600;gap:8px;margin-bottom:20px}.rooms-breakdown h3:before{content:"🏠";font-size:18px}.room-card{border:1px solid #e5e7eb;box-shadow:0 2px 8px #0000000f;transition:all .2s ease}.room-card:hover{border-color:#667eea;box-shadow:0 4px 16px #667eea1a;transform:translateY(-2px)}.room-name{border-bottom:2px solid #e5e7eb;color:#667eea;font-size:18px;font-weight:600;margin:0 0 16px;padding-bottom:8px}.task-list{list-style:none;margin:0;padding:0}.task-item{color:#374151;font-size:14px;line-height:1.5;padding:8px 0 8px 20px;position:relative}.task-item:before{color:#667eea;content:"•";font-weight:700;left:0;position:absolute;top:8px}.task-item:not(:last-child){border-bottom:1px solid #f3f4f6;margin-bottom:4px;padding-bottom:12px}.no-summary{color:#6b7280;font-style:italic}@media (max-width:768px){.quote-summary-container{border-radius:8px;margin:16px}.quote-summary-header{border-radius:8px 8px 0 0;padding:16px 20px}.quote-summary-header h2{font-size:20px}.header-actions{gap:8px}.refresh-button{font-size:13px;padding:6px 12px}.summary-content{padding:20px}.rooms-grid{gap:16px;grid-template-columns:1fr}.room-card{padding:16px}.room-name{font-size:16px}}.summary-content{animation:fadeIn .5s ease-in}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.project-analysis{font-family:Segoe UI,Arial,sans-serif;margin:0 auto;max-width:1200px;padding:20px}.analysis-header{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;gap:20px;margin-bottom:30px;padding:20px}.back-button{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;cursor:pointer;font-weight:500;padding:10px 20px;transition:background .3s}.back-button:hover{background:#e9ecef}.header-info h1{color:#2c3e50;margin:0 0 5px}.header-info p{color:#666;margin:5px 0}.architecture-badge{background:linear-gradient(90deg,#8b5cf6,#7c3aed);border-radius:16px;color:#fff;font-size:14px;font-weight:700;padding:4px 12px}.phase-progress{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:30px;padding:25px}.phase-progress h3{color:#2c3e50;margin-bottom:20px}.phases-container{grid-gap:15px;display:grid;gap:15px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.phase-item{align-items:center;background:#f8f9fa;border:2px solid #0000;border-radius:8px;display:flex;gap:12px;padding:15px;transition:all .3s}.phase-item.active{background:#fef3c7;border-color:#fbbf24}.phase-item.completed{background:#f0fdf4;border-color:#22c55e}.phase-icon{align-items:center;background:#fff;border-radius:50%;display:flex;font-size:24px;height:40px;justify-content:center;width:40px}.phase-info h4{color:#2c3e50;margin:0 0 4px}.phase-status{color:#666;font-size:14px;margin:0}.analysis-tabs{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;gap:5px;margin-bottom:30px;padding:5px}.tab{background:#0000;border:none;border-radius:8px;color:#666;cursor:pointer;flex:1 1;font-weight:500;padding:12px 20px;transition:all .3s}.tab:hover{background:#f8f9fa;color:#2c3e50}.tab.active{background:#3b82f6;color:#fff}.analysis-content{min-height:400px}.materials-alert{background:#fef3c7;border:2px solid #fbbf24;border-radius:12px;margin-bottom:30px;padding:20px}.materials-alert h3{color:#92400e;margin:0 0 10px}.materials-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));margin-top:20px}.material-selection-card{background:#fff;border:2px solid #e5e7eb;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:20px}.material-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:15px}.material-header h4{color:#2c3e50;margin:0}.room-badge{background:#3b82f6;border-radius:16px;color:#fff;font-size:12px;padding:4px 12px}.material-info h5{color:#2c3e50;margin:0 0 5px}.material-info p{color:#666;font-size:14px;margin:0}.material-choices{grid-gap:10px;display:grid;gap:10px;margin-top:15px}.choice-option{border:2px solid #e5e7eb;border-radius:8px;cursor:pointer;padding:12px;transition:all .3s}.choice-option:hover{background:#f8faff;border-color:#3b82f6}.tier-name{color:#2c3e50;font-weight:700;text-transform:capitalize}.tier-price{color:#22c55e;float:right;font-weight:700}.tier-description{color:#666;font-size:14px;margin:5px 0 0}.overview-stats{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin-bottom:30px}.stat-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:25px;text-align:center}.stat-card h3{color:#3b82f6;font-size:36px;margin:0 0 10px}.stat-card p{color:#666;font-weight:500;margin:0}.cost-framework{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:25px}.cost-framework h3{color:#2c3e50;margin:0 0 20px}.cost-breakdown{grid-gap:15px;display:grid;gap:15px;margin:20px 0}.cost-item{align-items:center;border-left:4px solid #e5e7eb;border-radius:8px;display:flex;justify-content:space-between;padding:15px}.cost-item.confirmed{background:#f0fdf4;border-left-color:#22c55e}.cost-item.pending{background:#fef3c7;border-left-color:#fbbf24}.cost-item.recommended{background:#f0f9ff;border-left-color:#3b82f6}.cost-label{color:#2c3e50;font-weight:500}.cost-value{font-size:18px;font-weight:700}.cost-actions{display:flex;gap:15px;margin-top:20px}.btn-primary{background:#3b82f6;border:none;border-radius:8px;color:#fff;cursor:pointer;font-weight:500;padding:12px 24px;transition:background .3s}.btn-primary:hover{background:#2563eb}.btn-secondary{background:#f8f9fa;border:1px solid #dee2e6;border-radius:8px;color:#2c3e50;cursor:pointer;font-weight:500;padding:12px 24px;transition:all .3s}.btn-secondary:hover{background:#e9ecef}.rooms-grid{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.room-card{background:#fff;border-left:4px solid #3b82f6;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:20px}.room-card h4{color:#2c3e50;margin:0 0 15px}.room-stats{display:flex;flex-wrap:wrap;gap:15px;margin-bottom:15px}.room-stats span{background:#f8f9fa;border-radius:6px;font-size:14px;padding:6px 12px}.room-tasks strong{color:#2c3e50}.tasks-preview{margin-top:10px}.task-preview{border-bottom:1px solid #f1f5f9;color:#666;font-size:14px;padding:8px 0}.choice-required{background:#fef3c7;border-radius:6px;color:#92400e;font-weight:500;margin-top:15px;padding:10px}.project-timeline{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;padding:25px}.project-timeline h3{color:#2c3e50;margin:0 0 20px}.timeline-container{grid-gap:15px;display:grid;gap:15px;margin-top:20px}.timeline-event{grid-gap:20px;align-items:center;background:#f8f9fa;border-left:4px solid #3b82f6;border-radius:8px;display:grid;gap:20px;grid-template-columns:auto 1fr auto;padding:15px}.event-date{color:#2c3e50;font-weight:700;white-space:nowrap}.event-details h4{color:#2c3e50;margin:0 0 5px}.event-details p{color:#666;margin:0}.event-duration{background:#3b82f6;border-radius:16px;color:#fff;font-size:14px;font-weight:500;padding:4px 12px}.analysis-footer{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-top:40px;padding:25px}.footer-actions{display:flex;gap:15px;margin-bottom:15px}.footer-info{color:#666;font-size:14px}.footer-info p{margin:0}.analysis-empty,.analysis-error,.analysis-loading{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;flex-direction:column;justify-content:center;margin:20px;min-height:400px;text-align:center}.loading-spinner{animation:spin 2s linear infinite;font-size:48px;margin-bottom:20px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.empty-icon,.error-icon{font-size:48px;margin-bottom:20px}.analysis-empty h3,.analysis-error h3,.analysis-loading h3{color:#2c3e50;margin:0 0 10px}.analysis-empty p,.analysis-error p,.analysis-loading p{color:#666;margin:0 0 20px}.budget-section h4,.materials-section h3,.rooms-section h3{color:#2c3e50;margin-bottom:20px}.all-materials{grid-gap:20px;display:grid;gap:20px;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.no-materials{background:#f0fdf4;border:2px solid #22c55e;border-radius:12px;padding:30px;text-align:center}.no-materials p{color:#166534;font-size:16px;font-weight:500;margin:0}.budget-details{background:#f8f9fa;border-radius:8px;margin-top:20px;padding:20px}.budget-details ul{margin:10px 0 0;padding-left:20px}.budget-details li{color:#666;margin-bottom:5px}.more-materials{color:#666;font-style:italic;margin-top:15px;text-align:center}@media (max-width:768px){.analysis-header{align-items:flex-start;flex-direction:column;gap:15px}.all-materials,.materials-grid,.phases-container,.rooms-grid{grid-template-columns:1fr}.overview-stats{grid-template-columns:repeat(2,1fr)}.cost-actions,.footer-actions{flex-direction:column}.timeline-event{gap:10px;grid-template-columns:1fr}.analysis-tabs{flex-direction:column}.tab{text-align:center}.project-analysis{padding:10px}}@media (max-width:480px){.overview-stats{grid-template-columns:1fr}.room-stats{flex-direction:column;gap:8px}.cost-item{align-items:flex-start;flex-direction:column;gap:5px}}
/*# sourceMappingURL=main.d4ff6baa.css.map*/