body{margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f8fafc;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}.app-container,.app-container-no-sidebar{display:flex;min-height:100vh}.app-container-no-sidebar{width:100%}.main-content-full{background-color:#f8fafc;flex:1 1;padding:2rem;width:100%}.sidebar{background:linear-gradient(180deg,#fff,#f8fafc);border-right:1px solid #e2e8f0;box-shadow:2px 0 8px #0000000a;color:#334155;display:flex;flex-direction:column;height:100vh;overflow-y:auto;position:fixed;width:250px}.sidebar-header{border-bottom:1px solid #e2e8f0;padding:1.5rem}.sidebar-brand,.sidebar-header{align-items:center;display:flex;gap:.75rem}.search-button{align-items:center;background-color:initial;border:none;border-radius:.375rem;color:#0f172a;cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .2s;width:32px}.search-button:hover{background-color:#f1f5f9}.logo{color:#3b82f6;height:32px;width:32px}.sidebar-title{color:#0f172a;font-size:1.25rem;font-weight:700;letter-spacing:-.02em}.sidebar-nav{flex:1 1;overflow-y:auto;padding:1rem 0}.nav-section{padding:0}.nav-separator{align-items:center;border-top:1px solid #e2e8f0;display:flex;justify-content:space-between;margin:1rem 1.5rem;padding:.5rem 0}.nav-separator-text{color:#000;font-size:.6875rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.nav-separator-button{align-items:center;background-color:initial;border:none;border-radius:.25rem;color:#000;cursor:pointer;display:flex;height:20px;justify-content:center;padding:0;transition:all .2s;width:20px}.nav-separator-button:hover{background-color:#f1f5f9}.nav-item{align-items:center;color:#000;display:flex;font-weight:500;gap:.75rem;padding:.75rem 1.5rem;text-decoration:none;transition:all .2s}.nav-item:hover{background-color:#f1f5f9}.nav-item:hover .nav-icon{color:#000}.nav-item.active{background-color:#eff6ff;border-left:3px solid #3b82f6;color:#3b82f6;font-weight:600;padding-left:calc(1.5rem - 3px)}.nav-item.active .nav-icon{color:#3b82f6}.nav-icon{color:#000;height:20px;transition:color .2s;width:20px}.folder-item{position:relative}.folder-chevron{color:#64748b;flex-shrink:0;height:14px;transition:transform .2s;width:14px}.folder-chevron.expanded{transform:rotate(90deg)}.project-item{align-items:center;display:flex;font-size:.875rem;gap:.5rem;justify-content:space-between;position:relative}.project-item-content{align-items:center;cursor:pointer;display:flex;flex:1 1;gap:.75rem;min-width:0}.project-name-truncate{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-actions{display:none;gap:.25rem;margin-left:auto}.project-item:hover .project-actions{display:flex}.project-action-btn{align-items:center;background-color:initial;border:none;border-radius:.25rem;color:#64748b;cursor:pointer;display:flex;height:24px;justify-content:center;padding:0;transition:all .2s;width:24px}.project-action-btn:hover{background-color:#f1f5f9}.project-action-btn.rename:hover{background-color:#eff6ff;color:#3b82f6}.project-action-btn.delete:hover{background-color:#fee2e2;color:#ef4444}.project-action-btn.save{color:#10b981}.project-action-btn.save:hover{background-color:#d1fae5}.project-action-btn.cancel{color:#64748b}.project-action-btn.cancel:hover{background-color:#f1f5f9}.project-edit-container{align-items:center;display:flex;flex:1 1;gap:.5rem;padding:.25rem 0}.project-rename-input{background-color:#fff;border:1.5px solid #3b82f6;border-radius:.25rem;box-shadow:0 0 0 3px #3b82f61a;color:#0f172a;flex:1 1;font-size:.875rem;outline:none;padding:.375rem .5rem}.project-rename-input:focus{box-shadow:0 0 0 3px #3b82f626}.sidebar-footer{background-color:#fff;border-top:1px solid #e2e8f0;padding:1rem}.sidebar-footer,.user-info{align-items:center;display:flex;gap:.75rem}.user-info{flex:1 1;min-width:0}.user-avatar{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);border-radius:50%;color:#fff;display:flex;flex-shrink:0;font-size:.875rem;font-weight:600;height:36px;justify-content:center;width:36px}.user-details{flex:1 1;min-width:0}.user-name{color:#0f172a;font-size:.875rem;font-weight:600}.user-email,.user-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-email{color:#64748b;font-size:.75rem}.logout-button{align-items:center;background-color:initial;border:none;border-radius:.375rem;color:#64748b;cursor:pointer;display:flex;flex-shrink:0;height:32px;justify-content:center;transition:all .2s;width:32px}.logout-button:hover{background-color:#fee2e2;color:#ef4444}.main-content{background-color:#f8fafc;flex:1 1;margin-left:250px;min-height:100vh;padding:0}.dashboard-container{padding:0}.dashboard-main{margin:0;max-width:100%;padding:2.5rem 3rem 3rem}.dashboard-page-title{color:#0f172a;font-size:1.875rem;font-weight:700;letter-spacing:-.02em;margin:0 0 2rem;text-align:center}.page-header-with-search{margin-bottom:2rem}.search-filter-container{display:flex;gap:1rem;justify-content:center;margin-bottom:1rem;margin-top:1.5rem}.search-bar-wrapper{flex:1 1;max-width:500px;position:relative}.search-input-main{background-color:#fff;border:1.5px solid #e2e8f0;border-radius:.75rem;color:#0f172a;font-size:.9375rem;padding:.875rem 1rem .875rem 3rem;transition:all .2s;width:100%}.search-input-main::placeholder{color:#94a3b8}.search-input-main:focus{border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f61a;outline:none}.clear-search-btn{align-items:center;background:#0000;border:none;border-radius:.375rem;color:#94a3b8;cursor:pointer;display:flex;height:28px;justify-content:center;position:absolute;right:.75rem;top:50%;transform:translateY(-50%);transition:all .2s;width:28px}.clear-search-btn:hover{background:#f1f5f9;color:#64748b}.filter-toggle-btn{align-items:center;background:#fff;border:1.5px solid #e2e8f0;border-radius:.75rem;color:#64748b;cursor:pointer;display:flex;font-size:.9375rem;font-weight:500;gap:.5rem;padding:.875rem 1.25rem;position:relative;transition:all .2s}.filter-toggle-btn:hover{border-color:#cbd5e1;color:#334155}.filter-toggle-btn.active{background:#eff6ff;border-color:#3b82f6;color:#3b82f6}.filter-active-dot{animation:pulse 2s ease-in-out infinite;background:#3b82f6;border-radius:50%;height:8px;width:8px}.filters-panel{align-items:flex-end;background:#f8fafc;border:1px solid #e2e8f0;border-radius:.75rem;display:flex;gap:1rem;margin-bottom:1rem;padding:1.25rem}.filter-group{display:flex;flex:1 1;flex-direction:column;gap:.375rem}.filter-label{color:#64748b;font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.custom-filter-dropdown{position:relative}.filter-dropdown-trigger{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;color:#0f172a;cursor:pointer;display:flex;font-size:.875rem;gap:.5rem;justify-content:space-between;padding:.625rem .875rem;text-align:left;transition:all .2s;width:100%}.filter-dropdown-trigger:hover{border-color:#cbd5e1}.filter-dropdown-trigger:active,.filter-dropdown-trigger:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.dropdown-chevron{color:#64748b;flex-shrink:0;transition:transform .2s}.dropdown-chevron.open{transform:rotate(90deg)}.filter-dropdown-menu{animation:dropdownSlideIn .2s ease-out;background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;box-shadow:0 10px 25px #00000026;left:0;max-height:300px;overflow-y:auto;position:absolute;right:0;top:calc(100% + .5rem);z-index:1000}.filter-dropdown-item{background:#0000;border:none;border-bottom:1px solid #f1f5f9;color:#334155;cursor:pointer;font-size:.875rem;padding:.75rem 1rem;text-align:left;transition:all .15s;width:100%}.filter-dropdown-item:last-child{border-bottom:none}.filter-dropdown-item:hover{background:#f8fafc;color:#0f172a}.filter-dropdown-item.active{background:#eff6ff;color:#3b82f6;font-weight:600}.date-range-calendar-container{background:#fff;border-top:1px solid #e2e8f0;padding:1.25rem}.date-range-header{margin-bottom:1rem}.date-range-info-text{background:#f8fafc;border-radius:.375rem;color:#64748b;font-size:.8125rem;padding:.5rem;text-align:center}.date-range-selectors{align-items:center;display:flex;gap:.75rem;margin-bottom:1rem}.date-range-field{display:flex;flex:1 1;flex-direction:column;gap:.5rem}.date-range-field-label{color:#475569;font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.date-range-calendar-input{background:#fff;border:2px solid #e2e8f0;border-radius:.5rem;color:#0f172a;cursor:pointer;font-size:.875rem;font-weight:500;padding:.75rem 1rem;transition:all .2s}.date-range-calendar-input:hover{background:#f8fafc;border-color:#cbd5e1}.date-range-calendar-input:focus{background:#fff;border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f61a;outline:none}.date-range-calendar-input::-webkit-calendar-picker-indicator{border-radius:.25rem;cursor:pointer;padding:.25rem}.date-range-divider{align-items:center;color:#94a3b8;display:flex;flex-shrink:0;padding-top:1.5rem}.date-range-actions{border-top:1px solid #f1f5f9;display:flex;gap:.75rem;padding-top:.75rem}.date-range-clear-btn{background:#fff;border:1px solid #e2e8f0;border-radius:.375rem;color:#64748b;cursor:pointer;flex:1 1;font-size:.875rem;font-weight:600;padding:.625rem 1rem;transition:all .2s}.date-range-clear-btn:hover{background:#f8fafc;border-color:#cbd5e1;color:#475569}.date-range-apply-btn{background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:.375rem;box-shadow:0 2px 4px #3b82f633;color:#fff;cursor:pointer;flex:1 1;font-size:.875rem;font-weight:600;padding:.625rem 1rem;transition:all .2s}.date-range-apply-btn:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 4px 8px #3b82f64d;transform:translateY(-1px)}.dropdown-search-wrapper{background:#f8fafc;border-bottom:1px solid #e2e8f0;padding:.75rem;position:relative}.dropdown-search-icon{color:#94a3b8;left:1.25rem;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.dropdown-search-input{background:#fff;border:1px solid #e2e8f0;border-radius:.375rem;color:#0f172a;font-size:.8125rem;padding:.5rem .75rem .5rem 2.25rem;transition:all .2s;width:100%}.dropdown-search-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.dropdown-search-input::placeholder{color:#94a3b8}.dropdown-empty-state{color:#94a3b8;font-size:.875rem;padding:1.5rem;text-align:center}.filter-folder-tree-item{align-items:center;background:#0000;border:none;border-bottom:1px solid #f1f5f9;color:#334155;cursor:pointer;display:flex;font-size:.875rem;gap:.5rem;padding:.625rem .75rem;text-align:left;transition:all .15s;width:100%}.filter-folder-tree-item:hover{background:#f8fafc;color:#0f172a}.filter-folder-tree-item.active{background:#eff6ff;color:#3b82f6;font-weight:600}.folder-tree-chevron{color:#64748b;flex-shrink:0;transition:transform .2s}.folder-tree-chevron.expanded{transform:rotate(90deg)}.filter-folder-tree-item.root-folder{background:#f8fafc;color:#3b82f6;font-weight:600}.pagination-controls{align-items:center;display:flex;gap:1.5rem;justify-content:center;margin-bottom:2rem;padding:1rem}.pagination-btn{align-items:center;background:#fff;border:1.5px solid #e2e8f0;border-radius:.625rem;color:#64748b;cursor:pointer;display:flex;font-size:.9375rem;font-weight:500;gap:.5rem;padding:.75rem 1.25rem;transition:all .2s}.pagination-btn:hover:not(:disabled){background:#3b82f6;border-color:#3b82f6;box-shadow:0 4px 8px #3b82f64d;color:#fff;transform:translateY(-1px)}.pagination-btn:disabled{cursor:not-allowed;opacity:.3}.pagination-info{color:#334155;font-size:.9375rem;font-weight:500}.clear-filters-btn{background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;color:#64748b;cursor:pointer;font-size:.875rem;font-weight:500;padding:.625rem 1.125rem;transition:all .2s;white-space:nowrap}.clear-filters-btn:hover{background:#f8fafc;border-color:#cbd5e1;color:#334155}.search-results-count{color:#64748b;font-size:.875rem;font-weight:500;padding:.5rem 0}.page-header-section{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:2rem}.page-description{color:#64748b;font-size:.9375rem;margin-top:.5rem}.team-stats-bar{background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;box-shadow:0 1px 3px #0000000d;gap:2rem;margin-bottom:1.5rem;padding:1.25rem 1.5rem}.team-stat,.team-stats-bar{align-items:center;display:flex}.team-stat{gap:.5rem}.stat-icon-inline{color:#3b82f6}.stat-value-inline{color:#0f172a;font-size:1.25rem;font-weight:700}.stat-label-inline{color:#64748b;font-size:.875rem}.stat-divider-inline{background:#e2e8f0;height:2rem;width:1px}.status-dot{border-radius:50%;flex-shrink:0;height:8px;width:8px}.status-dot.active{background-color:#10b981}.status-dot.away{background-color:#f59e0b}.status-dot.offline{background-color:#94a3b8}.team-search-section{margin-bottom:1.5rem}.team-table-container{background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;box-shadow:0 1px 3px #0000000d;overflow:hidden}.team-table{border-collapse:collapse;width:100%}.team-table thead{background:#f8fafc;border-bottom:1px solid #e2e8f0}.team-table th{color:#64748b;font-size:.75rem;font-weight:600;letter-spacing:.05em;padding:1rem 1.5rem;text-align:left;text-transform:uppercase}.team-table tbody tr{border-bottom:1px solid #f1f5f9;transition:background-color .2s}.team-table tbody tr:last-child{border-bottom:none}.team-table tbody tr:hover{background-color:#f8fafc}.team-table td{color:#334155;font-size:.875rem;padding:1rem 1.5rem}.member-cell{gap:.75rem}.member-avatar,.member-cell{align-items:center;display:flex}.member-avatar{background:linear-gradient(135deg,#3b82f6,#2563eb);border-radius:50%;color:#fff;flex-shrink:0;font-size:.875rem;font-weight:600;height:40px;justify-content:center;width:40px}.member-info{display:flex;flex-direction:column;gap:.125rem}.member-name{color:#0f172a;font-weight:600}.member-email{color:#64748b;font-size:.8125rem}.status-badge-cell{align-items:center;display:flex;gap:.5rem}.status-text{font-size:.875rem;font-weight:500}.status-text.active{color:#10b981}.status-text.away{color:#f59e0b}.status-text.offline{color:#94a3b8}.project-cell{color:#0f172a;font-weight:500}.no-project{color:#94a3b8;font-style:italic}.role-badge{background:#eff6ff;border-radius:.375rem;color:#3b82f6;display:inline-block;font-size:.8125rem;font-weight:500;padding:.375rem .75rem}.projects-count{color:#0f172a;font-weight:600}.contact-cell{gap:.5rem}.contact-cell,.contact-icon{align-items:center;display:flex}.contact-icon{background:#0000;border-radius:.375rem;color:#64748b;height:32px;justify-content:center;text-decoration:none;transition:all .2s;width:32px}.contact-icon:hover{background:#f1f5f9;color:#3b82f6}.action-button{align-items:center;background:#0000;border:none;border-radius:.375rem;color:#64748b;cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .2s;width:32px}.action-button:hover{background:#f1f5f9;color:#0f172a}.empty-state-table{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:4rem 2rem;text-align:center}.settings-tabs{border-bottom:1px solid #e2e8f0;display:flex;gap:.5rem;margin-bottom:2rem}.settings-tab{align-items:center;background:#0000;border:none;border-bottom:2px solid #0000;color:#64748b;cursor:pointer;display:flex;font-size:.9375rem;font-weight:500;gap:.5rem;margin-bottom:-1px;padding:.875rem 1.25rem;transition:all .2s}.settings-tab:hover{background-color:#f8fafc;color:#334155}.settings-tab.active{border-bottom-color:#3b82f6;color:#3b82f6;font-weight:600}.settings-section{animation:fadeIn .2s ease-in}.settings-card{background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;box-shadow:0 1px 3px #0000000d;overflow:hidden}.settings-card-header{border-bottom:1px solid #e2e8f0;padding:1.5rem}.settings-card-title{color:#0f172a;font-size:1.125rem;font-weight:600;margin:0 0 .5rem}.settings-card-description{color:#64748b;font-size:.875rem;margin:0}.settings-form{padding:1.5rem}.settings-divider{border-top:1px solid #e2e8f0;margin:2rem 0 .75rem;padding-top:1.5rem;position:relative}.settings-divider-text{background:#fff;color:#64748b;font-size:.875rem;font-weight:600;left:0;padding-right:.75rem;position:absolute;top:-.625rem}.settings-form-footer{border-top:1px solid #e2e8f0;display:flex;gap:.75rem;justify-content:flex-end;margin-top:2rem;padding-top:1.5rem}.form-hint{color:#94a3b8;font-size:.8125rem;margin:.375rem 0 0}.dashboard-main-centered{margin:0 auto;max-width:700px;padding:3rem 2rem}.create-project-header{margin-bottom:2.5rem;text-align:center}.create-project-title{color:#0f172a;font-size:2rem;font-weight:700;letter-spacing:-.02em;margin:0}.create-project-card{background:#fff;border:1px solid #e2e8f0;border-radius:1rem;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008;padding:2.5rem}.form-input-large{background-color:#fff;border:1.5px solid #e2e8f0;border-radius:.5rem;color:#0f172a;font-size:.9375rem;padding:.875rem 1rem;transition:all .2s;width:100%}.form-input-large:focus{border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f61a;outline:none}.form-input-large::placeholder{color:#94a3b8}.custom-select-wrapper{position:relative}.custom-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-color:#fff!important;background-image:none;border:1.5px solid #e2e8f0;border-radius:.5rem;color:#0f172a;cursor:pointer;font-size:.9375rem;font-weight:400;padding:.875rem 3rem .875rem 1rem;transition:all .2s;width:100%}.custom-select:hover{border-color:#cbd5e1}.custom-select:focus{border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f61a;outline:none}.custom-select option{background-color:#fff!important;color:#0f172a!important;padding:.5rem}.form-textarea-large{background-color:#fff;border:1.5px solid #e2e8f0;border-radius:.5rem;color:#0f172a;font-family:inherit;font-size:.9375rem;padding:.875rem 1rem;resize:vertical;transition:all .2s;width:100%}.form-textarea-large:focus{border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f61a;outline:none}.form-textarea-large::placeholder{color:#94a3b8}.custom-dropdown{position:relative;width:100%}.custom-dropdown-trigger{align-items:center;background-color:#fff;border:1.5px solid #e2e8f0;border-radius:.5rem;color:#0f172a;cursor:pointer;display:flex;font-size:.9375rem;justify-content:space-between;padding:.875rem 1rem;transition:all .2s;width:100%}.custom-dropdown-trigger:hover{border-color:#cbd5e1}.custom-dropdown-trigger:focus,.custom-dropdown.open .custom-dropdown-trigger{border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f61a}.custom-dropdown-value{color:#0f172a;flex:1 1}.custom-dropdown-value:empty:before{color:#94a3b8;content:attr(placeholder)}.custom-dropdown-icons{align-items:center;display:flex;gap:.5rem}.custom-dropdown-icon-left{align-items:center;color:#64748b;display:flex}.custom-dropdown-chevron{color:#64748b;transition:transform .2s}.custom-dropdown-chevron.open{transform:rotate(180deg)}.custom-dropdown-menu{animation:dropdownSlide .15s ease-out;background:#fff;border:1.5px solid #e2e8f0;border-radius:.5rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;left:0;max-height:250px;overflow-y:auto;position:absolute;right:0;top:calc(100% + .5rem);z-index:50}@keyframes dropdownSlide{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.custom-dropdown-option{color:#0f172a;cursor:pointer;font-size:.9375rem;padding:.75rem 1rem;transition:all .15s}.custom-dropdown-option:hover{background-color:#f8fafc}.custom-dropdown-option.selected{background-color:#eff6ff;color:#3b82f6;font-weight:500}.custom-dropdown-option.placeholder{color:#94a3b8}.custom-dropdown-option.add-new{border-top:1px solid #e2e8f0;color:#3b82f6;font-weight:500}.custom-dropdown-option.add-new:hover{background-color:#eff6ff}.select-icon{color:#64748b;pointer-events:none;position:absolute;right:1rem;top:50%;transform:translateY(-50%)}.input-with-cancel{align-items:center;display:flex;gap:.75rem}.cancel-inline-btn{background:#fff;border:1.5px solid #e2e8f0;border-radius:.5rem;color:#64748b;cursor:pointer;font-size:.875rem;font-weight:600;padding:.75rem 1.25rem;transition:all .2s;white-space:nowrap}.cancel-inline-btn:hover{background:#f8fafc;border-color:#cbd5e1;color:#334155}.new-client-form,.new-folder-form{background:#f8fafc;border:1.5px solid #e2e8f0;border-radius:.75rem;padding:1.25rem}.form-label-small{color:#475569;display:block;font-size:.8125rem;font-weight:600;margin-bottom:.375rem}.inline-actions{display:flex;gap:.75rem;justify-content:flex-end;margin-top:.75rem}.btn-primary-small{background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:.5rem;box-shadow:0 2px 6px #3b82f633;color:#fff;cursor:pointer;font-size:.875rem;font-weight:600;padding:.75rem 1.25rem;transition:all .2s}.btn-primary-small:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 4px 8px #3b82f64d;transform:translateY(-1px)}.file-upload-box{align-items:center;background-color:#fafbfc;border:2px dashed #cbd5e1;border-radius:.75rem;cursor:pointer;display:flex;flex-direction:column;justify-content:center;min-height:180px;padding:2.5rem;text-align:center;transition:all .2s}.file-upload-box:hover{background-color:#f8fafc;border-color:#3b82f6}.upload-icon-wrapper{border-radius:.75rem;height:56px;margin-bottom:1rem;width:56px}.upload-text-main{color:#0f172a;font-size:1rem;font-weight:600;margin-bottom:.375rem}.upload-text-sub{color:#64748b;font-size:.875rem}.file-preview-card{align-items:center;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:1.5px solid #e2e8f0;border-radius:.75rem;display:flex;justify-content:space-between;padding:1.25rem;transition:all .2s}.file-preview-card:hover{border-color:#cbd5e1}.file-preview-left{align-items:center;display:flex;flex:1 1;gap:1rem;min-width:0}.file-preview-icon{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);border-radius:.625rem;color:#fff;display:flex;flex-shrink:0;height:44px;justify-content:center;width:44px}.file-preview-info{flex:1 1;min-width:0}.file-preview-name{color:#0f172a;font-size:.9375rem;font-weight:600;margin-bottom:.25rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.file-preview-size{color:#64748b;font-size:.8125rem}.file-remove-btn{border-radius:.5rem;color:#94a3b8;height:36px;width:36px}.file-remove-btn:hover{background:#fee2e2;color:#ef4444}.uploaded-files-list{gap:.75rem;margin-top:1rem}.form-actions-centered{border-top:1px solid #e2e8f0;display:flex;gap:1rem;justify-content:center;margin-top:2.5rem;padding-top:2rem}.btn-cancel-large{background-color:#fff;border:1.5px solid #e2e8f0;border-radius:.5rem;color:#64748b;cursor:pointer;font-size:.9375rem;font-weight:600;min-width:140px;padding:.875rem 2rem;transition:all .2s}.btn-cancel-large:hover{background-color:#f8fafc;border-color:#cbd5e1;color:#334155}.btn-create-large{background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:.5rem;box-shadow:0 2px 8px #3b82f640;color:#fff;cursor:pointer;font-size:.9375rem;font-weight:600;min-width:140px;padding:.875rem 2rem;transition:all .2s}.btn-create-large:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 4px 12px #3b82f659;transform:translateY(-1px)}.dashboard-section{margin-bottom:2rem}.all-projects-grid{grid-gap:2rem;display:grid;gap:2rem;grid-template-columns:repeat(3,1fr);margin:0;max-width:100%;padding:0}@media (max-width:1400px){.all-projects-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width:768px){.all-projects-grid{grid-template-columns:1fr}}.project-card-wide{background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;box-shadow:0 1px 3px #0000000d;overflow:hidden;position:relative;transition:all .2s}.project-card-wide:hover{border-color:#cbd5e1;box-shadow:0 4px 12px #00000014}.project-card-wide:hover .delete-project-btn{opacity:1}.project-card-wide-large{background:#fff;border:1px solid #e2e8f0;border-radius:.875rem;box-shadow:0 2px 8px #0000000f;margin-bottom:3rem;overflow:hidden;position:relative;transition:all .2s;width:100%}.project-card-wide-large:hover{border-color:#cbd5e1;box-shadow:0 8px 20px #0000001a}.pdf-preview-area{align-items:center;background:#f8fafc;height:650px;justify-content:center}.pdf-preview-area,.pdf-preview-area-large{border-bottom:1px solid #e2e8f0;display:flex;overflow:hidden;position:relative;width:100%}.pdf-preview-area-large{background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-top-left-radius:.875rem;border-top-right-radius:.875rem;flex-direction:column;height:750px}.pdf-header{align-items:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffffa;border-bottom:1px solid #e2e8f0;border-top-left-radius:.875rem;border-top-right-radius:.875rem;box-shadow:0 2px 8px #0000000d;display:flex;justify-content:center;padding:1rem 1.5rem;position:relative;z-index:20}.pdf-project-name{color:#0f172a;font-size:1.125rem;font-weight:600;margin:0;text-align:center}.pdf-header-nav-arrows{align-items:center;display:flex;gap:.5rem}.pdf-arrow-btn,.pdf-hamburger-btn-header{align-items:center;background:#fff;border:1.5px solid #e2e8f0;border-radius:.5rem;color:#64748b;cursor:pointer;display:flex;height:36px;justify-content:center;transition:all .2s;width:36px}.pdf-arrow-btn:hover:not(:disabled),.pdf-hamburger-btn-header:hover{background:#3b82f6;border-color:#3b82f6;color:#fff;transform:scale(1.05)}.pdf-arrow-btn:disabled{background:#f8fafc;cursor:not-allowed;opacity:.3}.pdf-file-name-display{align-items:center;color:#0f172a;display:flex;font-size:.9375rem;font-weight:600;gap:.5rem}.pdf-file-badge{background:#f1f5f9;border-radius:9999px;color:#64748b;font-size:.75rem;font-weight:600;padding:.25rem .625rem}.pdf-hamburger-btn-floating{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border:1.5px solid #e2e8f0;border-radius:.75rem;box-shadow:0 4px 12px #00000026;color:#64748b;cursor:pointer;display:flex;height:48px;justify-content:center;position:absolute;right:1.5rem;top:1.5rem;transition:all .2s;width:48px;z-index:30}.pdf-hamburger-btn-floating:hover{background:#3b82f6;border-color:#3b82f6;box-shadow:0 6px 20px #3b82f666;color:#fff;transform:scale(1.1)}.pdf-sidebar-overlay{animation:fadeIn .2s ease-out;background:#00000080;inset:0;position:fixed;z-index:9999}.pdf-sidebar{animation:slideInRight .3s ease-out;background:#fff;bottom:0;box-shadow:-4px 0 20px #00000026;display:flex;flex-direction:column;position:fixed;right:0;top:0;width:380px;z-index:10000}@keyframes slideInRight{0%{transform:translateX(100%)}to{transform:translateX(0)}}.pdf-sidebar-header{align-items:center;background:#f8fafc;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:1.5rem}.pdf-sidebar-header h3{color:#0f172a;font-size:1.125rem;font-weight:700;margin:0}.pdf-sidebar-close{align-items:center;background:#0000;border:none;border-radius:.5rem;color:#64748b;cursor:pointer;display:flex;height:36px;justify-content:center;transition:all .2s;width:36px}.pdf-sidebar-close:hover{background:#e2e8f0;color:#0f172a}.pdf-sidebar-content{flex:1 1;overflow-y:auto;padding:1rem}.pdf-sidebar-item-wrapper{margin-bottom:.75rem;position:relative}.pdf-sidebar-item{align-items:center;background:#fff;border:1.5px solid #e2e8f0;border-radius:.75rem;cursor:pointer;display:flex;gap:1rem;padding:1rem;text-align:left;transition:all .2s;width:100%}.pdf-sidebar-item:hover{background:#f8fafc;border-color:#3b82f6;transform:translateX(-4px)}.pdf-sidebar-item.active{background:linear-gradient(135deg,#eff6ff,#dbeafe);border-color:#3b82f6;box-shadow:0 2px 8px #3b82f633}.pdf-sidebar-item svg{color:#64748b;flex-shrink:0}.pdf-sidebar-item.active svg{color:#3b82f6}.pdf-sidebar-item-info{display:flex;flex:1 1;flex-direction:column;gap:.25rem;min-width:0}.pdf-sidebar-item-name{color:#0f172a;font-size:.9375rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.pdf-sidebar-item-size{color:#64748b;font-size:.75rem}.pdf-sidebar-item-indicator{flex-shrink:0}.active-dot{animation:pulse 2s ease-in-out infinite;background:#3b82f6;border-radius:50%;height:10px;width:10px}.pdf-sidebar-delete-btn{align-items:center;background:#fff;border:1.5px solid #e2e8f0;border-radius:.5rem;color:#64748b;cursor:pointer;display:flex;height:32px;justify-content:center;opacity:0;pointer-events:none;position:absolute;right:.75rem;top:.75rem;transition:all .2s;width:32px}.pdf-sidebar-item-wrapper:hover .pdf-sidebar-delete-btn{opacity:1;pointer-events:auto}.pdf-sidebar-delete-btn:hover{background:#fee2e2;border-color:#ef4444;color:#dc2626;transform:scale(1.05)}.pdf-sidebar-add-btn{align-items:center;background:linear-gradient(135deg,#eff6ff,#dbeafe);border:2px dashed #3b82f6;border-radius:.75rem;color:#3b82f6;cursor:pointer;display:flex;font-size:.9375rem;font-weight:600;gap:.75rem;justify-content:center;margin-top:.5rem;padding:1rem;transition:all .2s;width:100%}.pdf-sidebar-add-btn:hover{background:linear-gradient(135deg,#dbeafe,#bfdbfe);border-color:#2563eb;box-shadow:0 4px 12px #3b82f633;transform:translateY(-2px)}.pdf-sidebar-add-btn svg{color:#3b82f6}.pdf-content-wrapper{align-items:flex-start;display:flex;flex:1 1;justify-content:center;max-width:100%;overflow:auto;padding:2rem;position:relative;-webkit-user-select:none;user-select:none}.pdf-content-wrapper:active{cursor:grabbing!important}.pdf-container{align-items:flex-start;min-height:100%;position:relative}.pdf-container,.pdf-document{display:flex;justify-content:center;max-width:100%}.pdf-document{align-items:center}.pdf-page-render{display:block;height:auto!important}.pdf-placeholder{color:#94a3b8;flex-direction:column;font-size:.875rem;gap:.5rem}.pdf-placeholder,.pdf-preview-content{align-items:center;display:flex;height:100%;justify-content:center;width:100%}.pdf-preview-content{background:linear-gradient(135deg,#f8fafc,#fff)}.pdf-file-name{color:#0f172a;font-size:.9375rem;font-weight:600;margin-bottom:.25rem;margin-top:.75rem}.pdf-file-size{color:#64748b;font-size:.8125rem}.pdf-controls{align-items:center;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;border-radius:2rem;bottom:1rem;box-shadow:0 4px 12px #00000026;display:flex;gap:1rem;left:50%;padding:.5rem 1rem;position:absolute;transform:translateX(-50%)}.pdf-controls-bottom{align-items:center;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);background:#fffffffa;border-top:1px solid #e2e8f0;box-shadow:0 -2px 8px #0000000d;display:flex;gap:.5rem;justify-content:center;padding:.875rem 1.5rem}.pdf-control-group{align-items:center;display:flex;gap:.75rem;padding:0 .5rem}.pdf-control-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:50%;color:#0f172a;cursor:pointer;display:flex;height:36px;justify-content:center;transition:all .2s;width:36px}.pdf-control-btn:hover:not(:disabled){background:#3b82f6;border-color:#3b82f6;color:#fff;transform:scale(1.05)}.pdf-control-btn:disabled{cursor:not-allowed;opacity:.3}.pdf-zoom-indicator{color:#0f172a;font-size:.875rem;font-weight:600;min-width:50px;text-align:center}.pdf-file-info,.pdf-page-info{align-items:center;display:flex;flex-direction:column;gap:.125rem;min-width:70px}.pdf-info-label{color:#64748b;font-size:.6875rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase}.pdf-info-value{color:#0f172a;font-size:.875rem;font-weight:600}.pdf-divider{background:linear-gradient(180deg,#0000,#cbd5e1,#0000);height:32px;margin:0 .25rem;width:1px}.pdf-nav-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:50%;color:#0f172a;cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .2s;width:32px}.pdf-nav-btn:hover:not(:disabled){background:#3b82f6;border-color:#3b82f6;color:#fff}.pdf-nav-btn:disabled{cursor:not-allowed;opacity:.3}.pdf-page-count{font-size:.875rem;min-width:100px}.pdf-file-indicator,.pdf-page-count{color:#0f172a;font-weight:600;text-align:center}.pdf-file-indicator{font-size:.75rem;min-width:80px}.file-divider{background:#cbd5e1;height:24px;width:1px}.pdf-loading{align-items:center;color:#64748b;display:flex;flex-direction:column;gap:.5rem;justify-content:center;min-height:200px}.pdf-loading p{color:#94a3b8;font-size:.875rem;margin:0}.project-info-section{padding:2rem}.project-info-section-enhanced{display:flex;flex-direction:column;gap:.75rem;padding:1.5rem 2rem}.project-name-large{margin:0 0 1rem}.project-name-large,.project-name-large-editable{color:#0f172a;font-size:1.5rem;font-weight:700;line-height:1.3}.project-name-large-editable{margin:0;padding-right:2rem;width:100%}.editable-field-group{position:relative}.field-label-header{color:#0f172a;font-weight:700;letter-spacing:.1em;margin-bottom:.5rem}.field-label,.field-label-header{font-size:.6875rem;text-transform:uppercase}.field-label{color:#64748b;font-weight:600;letter-spacing:.05em;margin-bottom:.375rem}.editable-field-display{align-items:flex-start;border-radius:.5rem;display:flex;gap:1rem;justify-content:space-between;padding:.25rem 0;position:relative;transition:all .2s}.editable-field-display:hover .edit-field-btn{opacity:1}.project-meta-field{align-items:flex-start;display:flex;flex:1 1;gap:.75rem;padding-right:2rem}.field-icon{color:#64748b;flex-shrink:0}.field-value{color:#334155;font-size:.9375rem;font-weight:500;line-height:1.5;width:100%}.edit-field-btn{align-items:center;background-color:initial;border:none;border-radius:.375rem;color:#64748b;cursor:pointer;display:flex;flex-shrink:0;height:28px;justify-content:center;opacity:0;position:absolute;right:0;top:0;transition:all .2s;width:28px}.edit-field-btn:hover{background-color:#eff6ff;color:#3b82f6}.editable-field-display:hover{background:#f8fafc;border-radius:.375rem;margin:-.25rem -.5rem;padding:.25rem .5rem}.inline-edit-container{align-items:center;background:#fff;border:2px solid #3b82f6;border-radius:.5rem;box-shadow:0 0 0 4px #3b82f626;display:flex;gap:.5rem;padding:.5rem .75rem}.inline-edit-input{border:none;border-radius:.375rem;font-size:.9375rem;font-weight:500;padding:.5rem .75rem}.inline-edit-input,.inline-edit-input-large{background-color:#fff;color:#0f172a;flex:1 1;outline:none}.inline-edit-input-large{border:none;border-radius:.5rem;font-size:1.5rem;font-weight:700;line-height:1.3;padding:.625rem .875rem}.inline-edit-textarea{background-color:#fff;border:none;border-radius:.5rem;color:#0f172a;flex:1 1;font-family:inherit;font-size:.9375rem;font-weight:500;line-height:1.5;outline:none;padding:.75rem;resize:vertical;width:100%}.description-text{line-height:1.5;white-space:pre-wrap}.project-due-date{align-items:center;color:#64748b;display:flex;font-size:.9375rem;gap:.5rem;margin-bottom:1.5rem}.project-due-date svg{color:#94a3b8}.status-selector-wrapper{margin-bottom:0;margin-top:.5rem;position:relative}.status-selector-wrapper.dropdown-open{margin-bottom:18rem}.project-actions-buttons{display:flex;gap:1rem;margin-top:0}.btn-delete-project{background:#fff;border:2px solid #ef4444;border-radius:.75rem;color:#ef4444;cursor:pointer;flex:1 1;font-size:.9375rem;font-weight:600;padding:.875rem 1.5rem;transition:all .2s}.btn-delete-project:hover{background:#ef4444;box-shadow:0 6px 16px #ef44444d;color:#fff;transform:translateY(-2px)}.btn-open-takeoff{background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:.75rem;box-shadow:0 2px 8px #3b82f640;color:#fff;cursor:pointer;flex:1 1;font-size:.9375rem;font-weight:600;padding:.875rem 1.5rem;transition:all .2s}.btn-open-takeoff:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 6px 16px #3b82f666;transform:translateY(-2px)}.status-current-btn{border:none;border-radius:.625rem;box-shadow:0 2px 6px #00000014;cursor:pointer;font-size:.9375rem;font-weight:600;letter-spacing:.025em;padding:.75rem 1.25rem;position:relative;text-align:left;text-transform:capitalize;transition:all .25s cubic-bezier(.4,0,.2,1);width:100%}.status-current-btn:after{content:"▼";font-size:.875rem;opacity:.7;position:absolute;right:1.5rem;top:50%;transform:translateY(-50%);transition:transform .2s}.status-current-btn:hover{box-shadow:0 8px 20px #00000026,0 4px 8px #00000014;transform:translateY(-3px)}.status-current-btn:active{transform:translateY(-1px)}.status-picker-dropdown{animation:dropdownSlideIn .25s cubic-bezier(.4,0,.2,1);background:#fff;border:none;border-radius:1rem;box-shadow:0 20px 40px #0003,0 4px 12px #0000001a;left:0;overflow:hidden;position:absolute;right:0;top:calc(100% + .75rem);z-index:5000}@keyframes dropdownSlideIn{0%{opacity:0;transform:translateY(-8px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.status-option-btn{border:none;border-bottom:1px solid #0000000a;cursor:pointer;font-size:.9375rem;font-weight:600;letter-spacing:.025em;padding:.875rem 3rem .875rem 1.25rem;position:relative;text-align:left;text-transform:capitalize;transition:all .2s cubic-bezier(.4,0,.2,1);width:100%}.status-option-btn:first-child{border-top-left-radius:.75rem;border-top-right-radius:.75rem;padding-top:1rem}.status-option-btn:last-child{border-bottom:none;border-bottom-left-radius:.75rem;border-bottom-right-radius:.75rem;padding-bottom:1rem}.status-option-btn:hover{filter:brightness(.92);transform:scale(1.01)}.status-option-btn.active:before{content:"✓";font-size:1.25rem;font-weight:700;position:absolute;right:1.5rem;top:50%;transform:translateY(-50%)}.status-dropdown-wrapper{margin-top:1.5rem}.status-dropdown-large{-webkit-appearance:none;appearance:none;background:#f8fafc;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='14' height='14'%3E%3Cpath fill='%2364748b' d='M7 10 2 5h10z'/%3E%3C/svg%3E");background-position:right 1rem center;background-repeat:no-repeat;border:1.5px solid #e2e8f0;border-radius:.5rem;color:#0f172a;cursor:pointer;font-size:.9375rem;font-weight:600;padding:.875rem 1.25rem;transition:all .2s;width:100%}.status-dropdown-large:hover{background:#fff;border-color:#cbd5e1}.status-dropdown-large:focus{background:#fff;border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f61a;outline:none}.empty-state-large{background-color:#fff;border:1px solid #e2e8f0;border-radius:.75rem;box-shadow:0 1px 3px #0000000d;padding:4rem 2rem;text-align:center}.back-button{background:#0000;border:none;border-radius:.375rem;color:#64748b;display:inline-flex;font-size:.875rem;font-weight:500;gap:.5rem;margin-bottom:1.5rem;padding:.5rem 1rem}.back-button:hover{background:#f1f5f9;color:#334155}.project-detail-header{align-items:center;display:flex;gap:1.5rem;margin-bottom:2rem}.project-detail-icon{align-items:center;background:linear-gradient(135deg,#eff6ff,#dbeafe);border-radius:1rem;color:#3b82f6;display:flex;height:72px;justify-content:center;width:72px}.project-status-badge-large{border-radius:.5rem;display:inline-block;font-size:.8125rem;font-weight:600;letter-spacing:.05em;padding:.5rem 1rem;text-transform:uppercase}.project-status-badge-large.status-planning{background:#fef3c7;color:#92400e}.project-status-badge-large.status-in-progress{background:#dbeafe;color:#1e40af}.project-status-badge-large.status-completed{background:#d1fae5;color:#065f46}.project-detail-grid{grid-gap:1.5rem;display:grid;gap:1.5rem}.project-detail-card{background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;box-shadow:0 1px 3px #0000000d;padding:1.5rem}.detail-card-title{color:#0f172a;font-size:1rem;font-weight:600;margin:0 0 1.25rem}.detail-list{display:flex;flex-direction:column;gap:1.25rem}.detail-item-large{align-items:flex-start;display:flex;gap:1rem}.detail-icon{color:#64748b;flex-shrink:0;margin-top:.125rem}.detail-label{color:#94a3b8;font-size:.75rem;font-weight:600;letter-spacing:.05em;margin-bottom:.25rem;text-transform:uppercase}.detail-value{color:#0f172a;font-size:.9375rem;font-weight:500}.project-description{color:#475569;font-size:.9375rem;line-height:1.6;margin:0}.section-title-main{color:#0f172a;font-size:1.125rem;font-weight:600;margin:0 0 1.25rem}.section-header-inline{align-items:center;display:flex;flex-wrap:nowrap;gap:.75rem;margin-bottom:1.25rem}.badge-count{align-items:center;background:#eff6ff;border-radius:9999px;color:#3b82f6;display:inline-flex;font-size:.75rem;font-weight:600;justify-content:center;line-height:1;min-width:28px;padding:.25rem .625rem}.analytics-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.analytics-card{background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;box-shadow:0 1px 3px #0000000d;padding:1.75rem;transition:all .2s}.analytics-card:hover{border-color:#cbd5e1;box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.analytics-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1rem}.analytics-icon-wrapper{align-items:center;border-radius:.625rem;color:#fff;display:flex;height:48px;justify-content:center;width:48px}.analytics-icon-wrapper.blue{background:linear-gradient(135deg,#3b82f6,#2563eb)}.analytics-icon-wrapper.orange{background:linear-gradient(135deg,#f97316,#ea580c)}.analytics-icon-wrapper.green{background:linear-gradient(135deg,#10b981,#059669)}.analytics-icon-wrapper.purple{background:linear-gradient(135deg,#8b5cf6,#7c3aed)}.analytics-trend{align-items:center;border-radius:.375rem;display:flex;font-size:.75rem;font-weight:600;gap:.25rem;padding:.25rem .5rem}.analytics-trend.positive{background:#d1fae5;color:#065f46}.analytics-trend.negative{background:#fee2e2;color:#991b1b}.analytics-body{display:flex;flex-direction:column;gap:.25rem}.analytics-value{color:#0f172a;font-size:2rem;font-weight:700;line-height:1}.analytics-label{color:#64748b;font-size:.875rem;font-weight:500}.projects-list{background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;box-shadow:0 1px 3px #0000000d;overflow:hidden}.project-list-item{align-items:center;border-bottom:1px solid #f1f5f9;cursor:pointer;display:flex;gap:1rem;justify-content:space-between;padding:1rem 1.25rem;transition:background-color .2s}.project-list-item:last-child{border-bottom:none}.project-list-item:hover{background-color:#f8fafc}.project-list-icon{align-items:center;background:linear-gradient(135deg,#eff6ff,#dbeafe);border-radius:.5rem;color:#3b82f6;display:flex;flex-shrink:0;height:40px;justify-content:center;width:40px}.project-list-info{flex:1 1;min-width:0}.project-list-info-full{display:flex;flex:1 1;flex-direction:column;gap:.5rem;min-width:0}.project-list-status-badge{border-radius:.5rem;flex-shrink:0;font-size:.8125rem;font-weight:600;padding:.375rem .875rem;text-transform:capitalize}.project-list-name{color:#0f172a;font-size:.9375rem;font-weight:600;margin-bottom:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-list-due-date{align-items:center;color:#64748b;display:flex;font-size:.8125rem;gap:.5rem}.project-list-due-date svg{color:#94a3b8;flex-shrink:0}.project-list-meta{align-items:center;color:#64748b;display:flex;font-size:.8125rem;gap:.5rem}.project-list-client,.project-list-location{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.meta-dot{color:#cbd5e1}.project-list-budget{flex-shrink:0}.budget-amount{color:#3b82f6;font-size:.9375rem;font-weight:700}.loading-state{color:#64748b;font-size:.875rem;padding:3rem 2rem}.empty-state-small,.loading-state{align-items:center;display:flex;flex-direction:column;justify-content:center}.empty-state-small{padding:4rem 2rem;text-align:center}.empty-text{color:#475569;font-size:1rem;margin-bottom:.375rem}.empty-subtext{font-size:.875rem}.team-list{background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;box-shadow:0 1px 3px #0000000d;overflow:hidden}.team-member-item{align-items:center;border-bottom:1px solid #f1f5f9;cursor:pointer;display:flex;gap:1rem;padding:1rem 1.25rem;transition:background-color .2s}.team-member-item:last-child{border-bottom:none}.team-member-item:hover{background-color:#f8fafc}.team-avatar-wrapper{flex-shrink:0;position:relative}.team-avatar{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);border-radius:50%;color:#fff;display:flex;font-size:.875rem;font-weight:600;height:40px;justify-content:center;width:40px}.team-status{border:2px solid #fff;border-radius:50%;bottom:0;height:12px;position:absolute;right:0;width:12px}.team-status.active{background-color:#10b981}.team-status.away{background-color:#f59e0b}.team-status.offline{background-color:#94a3b8}.team-member-info{flex:1 1;min-width:0}.team-member-name{color:#0f172a;font-size:.9375rem;font-weight:600;margin-bottom:.25rem}.team-member-role{color:#64748b;font-size:.8125rem}.team-member-stats{flex-shrink:0}.team-projects-badge{background:#f1f5f9;border-radius:.375rem;color:#475569;font-size:.75rem;font-weight:500;padding:.25rem .625rem}.activity-timeline{background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;box-shadow:0 1px 3px #0000000d;overflow:hidden;padding:0}.activity-item{border-bottom:1px solid #f1f5f9;display:flex;gap:1rem;padding:1rem 1.25rem}.activity-item:last-child{border-bottom:none}.activity-icon{align-items:center;border-radius:50%;display:flex;flex-shrink:0;height:32px;justify-content:center;width:32px}.activity-icon.completed{background:#d1fae5;color:#065f46}.activity-icon.created{background:#dbeafe;color:#1e40af}.activity-icon.team{background:#e0e7ff;color:#4338ca}.activity-icon.budget{background:#fef3c7;color:#92400e}.activity-icon.renamed{background:#e0e7ff;color:#4338ca}.activity-icon.deleted{background:#fee2e2;color:#991b1b}.activity-icon.status{background:#fef3c7;color:#92400e}.activity-icon.file-added{background:#d1fae5;color:#065f46}.activity-icon.file-removed{background:#fee2e2;color:#991b1b}.activity-content{flex:1 1;padding-top:.25rem}.activity-text{color:#334155;font-size:.875rem;line-height:1.5;margin-bottom:.25rem}.activity-text strong{color:#0f172a;font-weight:600}.activity-project-label{color:#64748b;font-size:.75rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.activity-time{color:#94a3b8;font-size:.75rem}.dashboard-header{background:#fff;border-bottom:1px solid #e2e8f0;padding:1.5rem 3rem}.header-content{align-items:center;display:flex;justify-content:center;margin:0 auto;max-width:1400px}.dashboard-title{color:#0f172a;font-size:2rem;font-weight:700;letter-spacing:-.02em;margin:0}.btn-create{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:.5rem;box-shadow:0 2px 8px #3b82f640;color:#fff;cursor:pointer;display:inline-flex;font-size:.9375rem;font-weight:600;gap:.5rem;padding:.75rem 1.5rem;transition:all .2s}.btn-create:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 4px 12px #3b82f659;transform:translateY(-1px)}.quick-stats{align-items:center;background-color:#fff;border-bottom:1px solid #e2e8f0;display:flex;gap:2rem;margin:0 auto;max-width:1400px;padding:1.5rem 3rem}.stat-item{gap:.75rem}.stat-icon-small{color:#3b82f6;opacity:.9}.stat-content{display:flex;flex-direction:column;gap:.125rem}.stat-number{color:#0f172a;font-size:1.25rem;font-weight:700;line-height:1}.stat-text{color:#64748b;font-size:.75rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase}.stat-divider{background:#e2e8f0;height:2rem;width:1px}.search-section{margin:0 auto;max-width:1400px;padding:2rem 3rem 1.5rem}.search-bar{max-width:600px;position:relative}.search-icon{color:#94a3b8;left:1rem;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.search-input{background-color:#fff;border:1px solid #e2e8f0;border-radius:.5rem;color:#0f172a;font-size:.9375rem;padding:.875rem 1rem .875rem 3rem;transition:all .2s;width:100%}.search-input::placeholder{color:#94a3b8}.search-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.page-header{align-items:center;background:linear-gradient(135deg,#fff,#f8fafc);border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;margin:-2rem -2rem 2rem;padding:1.5rem 2rem;position:relative}.page-header:after{background:linear-gradient(90deg,#0000,#3b82f633,#0000);bottom:0;content:"";height:1px;left:0;position:absolute;width:100%}.spin-animation{animation:spin 1s linear infinite}.page-title{color:#0f172a;font-size:1.875rem;font-weight:700}.page-subtitle{color:#64748b;font-size:.875rem;margin-top:.25rem}.btn{align-items:center;display:inline-flex;gap:.5rem;overflow:hidden;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}.btn,.btn-primary{border:none;border-radius:.5rem;cursor:pointer;font-size:.875rem;font-weight:600;padding:.625rem 1.25rem}.btn-primary{box-shadow:0 2px 8px #3b82f640;transition:all .2s}.btn-primary:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 4px 12px #3b82f659;transform:translateY(-1px)}.btn-secondary{background-color:#fff;border-radius:.5rem;cursor:pointer;font-size:.875rem;font-weight:600;padding:.625rem 1.25rem;transition:all .2s}.btn-secondary:hover{background-color:#f8fafc;border-color:#cbd5e1;color:#334155}.stats-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));margin-bottom:2rem}.stat-card{background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;box-shadow:0 1px 3px #0000000d;overflow:hidden;padding:1.5rem;position:relative;transition:transform .2s,box-shadow .2s}.stat-card:before{background:radial-gradient(circle,#3b82f614 0,#0000 70%);border-radius:50%;content:"";height:100px;position:absolute;right:0;top:0;transform:translate(30%,-30%);width:100px}.stat-card:hover{box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.stat-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.75rem;position:relative;z-index:1}.stat-label{color:#64748b;font-size:.75rem;font-weight:600}.stat-icon{color:#94a3b8;height:24px;opacity:.8;width:24px}.stat-value{color:#0f172a;font-size:2.25rem;font-weight:700;position:relative;z-index:1}.stat-description{color:#94a3b8;font-size:.75rem;margin-top:.25rem;position:relative;z-index:1}.projects-section{margin:0 auto;max-width:1400px;padding:1.5rem 3rem 3rem}.section-header{margin-bottom:1.5rem}.section-title{color:#0f172a;font-size:1.125rem;font-weight:600}.modern-projects-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.state-container{background-color:#fff;border:1px solid #e2e8f0;border-radius:.75rem;box-shadow:0 1px 3px #0000000d;padding:4rem 2rem;text-align:center}.state-container.error{background-color:#fef2f2;border-color:#fecaca}.loading-spinner{border:3px solid #e0e7ff;height:48px;margin:0 auto;width:48px}.loading-modal{background:#fff;border-radius:1rem;box-shadow:0 20px 40px #0003;max-width:400px;padding:3rem 2.5rem;text-align:center}.loading-text{margin:1.5rem 0 .5rem}.loading-subtext{color:#64748b;font-size:.875rem;margin:0}.state-icon{color:#94a3b8;margin:0 auto 1rem}.state-message{color:#0f172a;font-size:1.125rem;font-weight:600;margin-bottom:.5rem}.state-message.error{color:#ef4444}.state-submessage{color:#64748b;font-size:.9375rem}.new-project-card{align-items:center;background:#fff;border:2px dashed #cbd5e1;border-radius:.75rem;cursor:pointer;display:flex;flex-direction:column;justify-content:center;min-height:240px;padding:2.5rem 2rem;text-align:center;transition:all .3s}.new-project-card:hover{background:#f8fafc;border-color:#3b82f6;box-shadow:0 4px 12px #3b82f626;transform:translateY(-2px)}.new-project-icon-wrapper{align-items:center;background:linear-gradient(135deg,#eff6ff,#dbeafe);border-radius:1rem;display:flex;height:64px;justify-content:center;margin-bottom:1.25rem;transition:all .3s;width:64px}.new-project-card:hover .new-project-icon-wrapper{background:linear-gradient(135deg,#dbeafe,#bfdbfe);transform:scale(1.05)}.new-project-icon{color:#3b82f6;height:32px;width:32px}.new-project-title{color:#3b82f6;font-size:1.125rem;font-weight:600;margin-bottom:.5rem}.new-project-description{color:#64748b;font-size:.875rem}.modern-project-card{background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;box-shadow:0 1px 3px #0000000d;cursor:pointer;overflow:hidden;padding:1.5rem;position:relative;transition:all .3s}.modern-project-card:before{background:linear-gradient(90deg,#3b82f6,#8b5cf6,#ec4899);content:"";height:3px;left:0;opacity:0;position:absolute;right:0;top:0;transition:opacity .3s}.modern-project-card:hover:before{opacity:1}.modern-project-card:hover{border-color:#3b82f6;box-shadow:0 12px 24px #3b82f626;transform:translateY(-4px)}.card-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:1.25rem}.card-icon-wrapper{align-items:center;background:linear-gradient(135deg,#eff6ff,#dbeafe);border-radius:.625rem;color:#3b82f6;display:flex;height:48px;justify-content:center;width:48px}.card-status{border-radius:.375rem;font-size:.6875rem;font-weight:600;letter-spacing:.05em;padding:.375rem .75rem;text-transform:uppercase}.card-status.status-planning{background:#fef3c7;color:#92400e}.card-status.status-in-progress{background:#dbeafe;color:#1e40af}.card-status.status-review{background:#e9d5ff;color:#6b21a8}.card-status.status-completed{background:#d1fae5;color:#065f46}.card-body{display:flex;flex-direction:column;gap:.75rem}.card-title{color:#0f172a;font-size:1.125rem;font-weight:600;line-height:1.4;margin:0}.card-client{color:#64748b;font-size:.875rem;margin:0}.card-details{display:flex;flex-direction:column;gap:.5rem;margin-top:.5rem}.detail-item{align-items:center;color:#64748b;display:flex;font-size:.8125rem;gap:.5rem}.detail-item svg{color:#94a3b8;flex-shrink:0}.card-budget{align-items:center;border-top:1px solid #e2e8f0;display:flex;justify-content:space-between;margin-top:1rem;padding-top:1rem}.budget-label{color:#64748b;font-size:.75rem;font-weight:500;letter-spacing:.05em;text-transform:uppercase}.budget-value{color:#3b82f6;font-size:1.125rem;font-weight:700}.sync-badge{align-items:center;background:linear-gradient(135deg,#d1fae5,#a7f3d0);border-radius:50%;box-shadow:0 2px 4px #10b98133;display:flex;font-size:.75rem;height:24px;justify-content:center;position:absolute;right:.75rem;top:.75rem;width:24px}.projects-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));margin-top:2rem}.add-project-card{align-items:center;background-color:#fff;border:2px dashed #cbd5e1;border-radius:.75rem;cursor:pointer;display:flex;flex-direction:column;justify-content:center;min-height:200px;overflow:hidden;padding:1.5rem;position:relative;transition:all .3s cubic-bezier(.4,0,.2,1)}@keyframes pulse-border{0%,to{border-color:#cbd5e1}50%{border-color:#94a3b8}}.add-project-card:before{background:radial-gradient(circle at center,#3b82f60d 0,#0000 70%);content:"";height:100%;left:0;opacity:0;position:absolute;top:0;transition:opacity .3s;width:100%}.add-project-card:hover:before{opacity:1}.add-project-card:hover{background-color:#f8fafc;border-color:#3b82f6;transform:translateY(-2px)}.add-project-icon{color:#3b82f6;height:48px;margin-bottom:1rem;opacity:.7;transition:all .3s;width:48px}.add-project-card:hover .add-project-icon{opacity:1;transform:scale(1.1) rotate(22.5deg)}.add-project-text{color:#3b82f6;font-size:1rem;font-weight:600;margin-bottom:.5rem}.add-project-hint{color:#64748b;font-size:.875rem}.project-card{background:#fff;border:1px solid #e2e8f0;border-radius:.75rem;box-shadow:0 1px 3px #0000000d;color:inherit;cursor:pointer;overflow:hidden;padding:1.5rem;position:relative;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.project-card:after{background:linear-gradient(90deg,#0000,#3b82f6,#0000);content:"";height:2px;left:0;position:absolute;top:0;transform:translateX(-100%);transition:transform .5s;width:100%}.project-card:hover:after{transform:translateX(100%)}.project-card:hover{border-color:#3b82f6;box-shadow:0 12px 24px #3b82f626;transform:translateY(-4px)}.project-header{align-items:start;display:flex;gap:1rem;margin-bottom:1rem;position:relative}.supabase-badge{align-items:center;animation:pulse 2s ease-in-out infinite;background:linear-gradient(135deg,#d1fae5,#a7f3d0);border-radius:50%;box-shadow:0 2px 8px #10b9814d;display:flex;font-size:1.25rem;height:28px;justify-content:center;position:absolute;right:-.5rem;top:-.5rem;width:28px}.loading-spinner-container{align-items:center;background:#fff;border-radius:1rem;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;gap:1.5rem;padding:3rem}.loading-spinner{animation:spin .8s linear infinite;border:4px solid #e2e8f0;border-top-color:#3b82f6;height:60px;width:60px}.loading-text{color:#0f172a;font-size:1.125rem;font-weight:600;margin:0}.project-icon-wrapper{background:linear-gradient(135deg,#eff6ff,#dbeafe);border-radius:.375rem;padding:.5rem}.project-icon{height:24px;width:24px}.project-client{color:#64748b;font-size:.875rem}.project-details{display:flex;flex-direction:column;gap:.5rem;margin-top:1rem}.project-detail{align-items:center;color:#64748b;display:flex;font-size:.875rem;gap:.5rem}.project-detail-icon{height:16px;width:16px}.project-status{border-radius:9999px;display:inline-block;font-size:.75rem;font-weight:500;margin-top:1rem;padding:.25rem .75rem}.status-planning{background-color:#fef3c7;color:#92400e}.status-in-progress,.status-in_progress{background-color:#dbeafe;color:#1e40af}.status-review{background-color:#e9d5ff;color:#6b21a8}.status-completed{background-color:#d1fae5;color:#065f46}.modal-overlay{animation:fadeIn .2s ease-in;background-color:#0f172a80;bottom:0;left:0;right:0;top:0;z-index:1000}.modal-content{animation:slideUp .2s ease-out;background:#fff;border-radius:.75rem;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;display:flex;flex-direction:column;max-height:90vh;max-width:600px;overflow:hidden;width:90%}.modal-header{padding:1.5rem}.modal-title{font-size:1.25rem}.modal-close{align-items:center;background:#0000;border:none;border-radius:.375rem;color:#64748b;cursor:pointer;display:flex;font-size:1.5rem;height:32px;justify-content:center;line-height:1;transition:all .2s;width:32px}.modal-close:hover{background:#f1f5f9;color:#0f172a}.modal-body,.modal-footer{padding:1.5rem}.modal-liquid-glass{margin:auto;max-height:90vh;max-width:700px;width:90%}.modal-glass-content{background:#fff;border:1px solid #e2e8f0;border-radius:1rem;box-shadow:0 20px 25px -5px #0000001a,0 10px 10px -5px #0000000a;max-height:90vh;overflow-y:auto;padding:2.5rem;position:relative}.modal-glass-content::-webkit-scrollbar{width:8px}.modal-glass-content::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}.modal-glass-content::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.modal-glass-content::-webkit-scrollbar-thumb:hover{background:#94a3b8}.modal-header{margin-bottom:1.5rem;position:relative}.modal-title{margin-bottom:.5rem}.modal-description{color:#64748b;font-size:.875rem}.modal-close-btn{position:absolute;right:1.5rem;top:1.5rem;transition:color .2s;z-index:20}.modal-close-btn:hover{color:#0f172a}.form-section{border-bottom:1px solid #e2e8f0;margin-bottom:2rem;padding-bottom:1.5rem}.form-section:last-of-type{border-bottom:none}.form-section-title{color:#3b82f6;font-size:1rem;font-weight:600}.form-group,.form-section-title{margin-bottom:1.25rem}.form-row{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(2,1fr)}.form-label{color:#334155;display:block;font-weight:500;margin-bottom:.375rem}.form-input,.form-select,.form-textarea{background-color:#fff;border:1px solid #e2e8f0;border-radius:.5rem;color:#0f172a;font-size:.875rem;padding:.625rem 1rem;transition:all .2s;width:100%}.form-input::placeholder,.form-textarea::placeholder{color:#94a3b8}.form-input:focus,.form-select:focus,.form-textarea:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.form-textarea{font-family:inherit;min-height:100px;resize:vertical}.form-select{background-color:#fff;border:1px solid #e2e8f0;border-radius:.5rem;color:#0f172a;padding:.625rem 1rem}.liquid-select-container,.liquid-select-trigger{position:relative;width:100%}.liquid-select-trigger{align-items:center;background-color:#fff;border:1px solid #e2e8f0;border-radius:.5rem;color:#0f172a;cursor:pointer;display:flex;font-size:.875rem;justify-content:space-between;overflow:hidden;padding:.625rem 1rem;transition:all .2s}.liquid-select-trigger:hover{border-color:#94a3b8}.liquid-select-glow{inset:0;opacity:0;pointer-events:none;position:absolute;transition:opacity .3s}.liquid-select-trigger:hover .liquid-select-glow{opacity:1}.liquid-select-placeholder{color:#94a3b8}.liquid-select-value{color:#0f172a}.liquid-select-icon{color:#64748b;transition:transform .3s}.liquid-select-icon-open{transform:rotate(180deg)}.liquid-select-dropdown{animation:dropdownFadeIn .2s ease-out;background:#fff;border:1px solid #e2e8f0;border-radius:.5rem;box-shadow:0 10px 15px -3px #0000001a,0 4px 6px -2px #0000000d;left:0;overflow:hidden;position:absolute;right:0;top:calc(100% + .5rem);z-index:100}@keyframes dropdownFadeIn{0%{opacity:0;transform:translateY(-10px)}to{opacity:1;transform:translateY(0)}}.liquid-dropdown-glow{inset:0;pointer-events:none;position:absolute}.liquid-select-options{max-height:200px;overflow-y:auto;padding:.25rem;position:relative}.liquid-select-options::-webkit-scrollbar{width:6px}.liquid-select-options::-webkit-scrollbar-track{background:#f1f5f9}.liquid-select-options::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.liquid-select-option{border-radius:.375rem;color:#334155;cursor:pointer;padding:.5rem .75rem;position:relative;transition:all .2s}.liquid-select-option:hover{background:#f1f5f9;color:#0f172a;padding-left:1rem}.liquid-select-option-selected{background:#eff6ff;color:#3b82f6}.liquid-select-option-selected:before{background:#3b82f6;content:"";height:60%;left:0;position:absolute;top:50%;transform:translateY(-50%);width:2px}.file-upload-area{background-color:#fff;border-radius:.5rem;min-height:120px}.file-upload-area:hover{background-color:#f8fafc}.file-upload-icon{color:#94a3b8;height:48px;margin:0 auto 1rem;width:48px}.file-upload-text{color:#0f172a;margin-bottom:.25rem}.file-upload-hint{color:#64748b;font-size:.75rem}.file-preview{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:.5rem;justify-content:space-between;padding:1rem}.file-info,.file-preview{align-items:center;display:flex}.file-info{gap:.75rem}.file-icon{color:#3b82f6;height:32px;width:32px}.file-name{color:#0f172a;font-weight:500}.file-size{color:#64748b}.remove-file-btn{background:none;border:none;color:#64748b;cursor:pointer;padding:.25rem;transition:color .2s}.remove-file-btn:hover{color:#ef4444}.modal-footer{margin-top:2rem;padding-top:1.5rem}.empty-state{background-color:#fff;border:1px solid #e2e8f0;border-radius:0;box-shadow:0 1px 3px #0000000d;padding:3rem}.empty-icon{animation:float 3s ease-in-out infinite;color:#94a3b8}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.empty-title{color:#334155;font-size:1.125rem;font-weight:600;margin-bottom:.5rem}.empty-description{color:#64748b;margin-bottom:1.5rem}.home-hero-section{align-items:center;display:flex;flex-direction:column;justify-content:flex-start;min-height:100vh;padding:2rem;position:relative}.bidflow-header{left:50%;position:absolute;text-align:center;top:40%;transform:translate(-50%,-180%);width:100%}.bidflow-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#3b82f6,#2563eb);-webkit-background-clip:text;background-clip:text;font-size:5rem;font-weight:800;letter-spacing:-.02em;margin-bottom:.75rem}.bidflow-tagline{color:#000;font-size:1.25rem;font-weight:500;margin-bottom:0}.home-search-wrapper{left:50%;max-width:900px;position:absolute;top:40%;transform:translate(-50%,-50%);width:calc(100% - 4rem)}.home-search-container{position:relative;width:100%}.home-search-input{backdrop-filter:blur(40px) saturate(180%);-webkit-backdrop-filter:blur(40px) saturate(180%);background:#ffffff0d;border:1px solid #ffffff1f;border-radius:16px;box-shadow:0 8px 32px #1f26871f,inset 0 1px 1px #fff6,inset 0 -1px 1px #ffffff26;box-sizing:border-box;color:#0f172a;font-size:1rem;padding:1rem 1.25rem;transition:all .3s cubic-bezier(.4,0,.2,1);width:100%}.home-search-input:focus{background:#ffffff14;border-color:#3b82f640;box-shadow:0 8px 32px #3b82f626,0 0 0 3px #3b82f60a,inset 0 1px 1px #ffffff80,inset 0 -1px 1px #ffffff40;outline:none}.home-search-input::placeholder{color:#94a3b8}.home-plus-btn{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:12px;box-shadow:0 4px 12px #3b82f64d;color:#fff;cursor:pointer;display:flex;flex-shrink:0;height:48px;justify-content:center;transition:all .2s ease;width:48px}.home-plus-btn:hover{box-shadow:0 6px 16px #3b82f666;transform:translateY(-2px)}.home-plus-btn:active{transform:translateY(0)}.home-search-dropdown{backdrop-filter:blur(40px) saturate(180%);-webkit-backdrop-filter:blur(40px) saturate(180%);background:#ffffff0a;border:1px solid #ffffff1f;border-radius:20px;box-shadow:0 20px 60px #1f268726,0 8px 32px #1f268714,inset 0 1px 1px #fff6,inset 0 -1px 1px #ffffff26;left:0;max-height:600px;overflow-x:hidden;overflow-y:auto;position:absolute;right:0;top:calc(100% + .5rem);z-index:1000}.dropdown-section-header{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#ffffff0f;border-bottom:1px solid #ffffff14;color:#64748b;font-size:.75rem;font-weight:600;letter-spacing:.05em;padding:.75rem 1.25rem;text-transform:uppercase}.dropdown-item-enhanced{border-bottom:1px solid #ffffff14;cursor:pointer;gap:.75rem;margin:0;padding:1rem 1.25rem;position:relative;transition:all .25s cubic-bezier(.4,0,.2,1);z-index:1}.dropdown-item-enhanced:before{backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px);background:#fff3;bottom:0;box-shadow:inset 0 0 20px #ffffff1a,0 4px 16px #1f268714;content:"";left:0;opacity:0;pointer-events:none;position:absolute;right:0;top:0;transition:all .25s cubic-bezier(.4,0,.2,1);z-index:0}.dropdown-item-enhanced:hover:before{opacity:1}.dropdown-item-icon,.dropdown-item-info{position:relative;z-index:2}.dropdown-item-info{flex:1 1;margin-right:auto;min-width:0}.dropdown-item-name{margin-bottom:.25rem}.dropdown-item-name.clickable{cursor:pointer}.dropdown-item-name.clickable:focus-visible{border-radius:4px;outline:2px solid #3b82f699;outline-offset:2px}.dropdown-item-meta{font-size:.75rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-item-edit-input{border-radius:6px;flex:1 1;margin-right:auto;padding:.5rem}.dropdown-item-status-wrapper{margin-right:.5rem;z-index:2}.dropdown-item-status{border:none;border-radius:6px;display:flex;font-size:.75rem;gap:.25rem;justify-content:center;min-width:100px;padding:.375rem .75rem}.status-dropdown-menu{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#fffffffa;border:1px solid #e2e8f0cc;border-radius:8px;box-shadow:0 8px 24px #0000001f,0 4px 12px #00000014,inset 0 1px 0 #fffc;min-width:120px;overflow:hidden;position:absolute;right:0;top:calc(100% + .25rem);z-index:9999}.status-dropdown-item{background:#0000;border:none;cursor:pointer;display:block;font-size:.75rem;font-weight:600;padding:.5rem .75rem;text-align:left;transition:all .2s ease;width:100%}.status-dropdown-item:first-child{border-radius:8px 8px 0 0}.status-dropdown-item:last-child{border-radius:0 0 8px 8px}.status-dropdown-item:hover{background:#0000000d;transform:translateX(2px)}.dropdown-item-actions{position:relative;z-index:2}.dropdown-separator{background:#e2e8f0;height:1px;margin:.5rem 0}.dropdown-create-project{border-top:1px solid #ffffff14;margin:0;padding:1rem 1.25rem;position:relative;transition:all .25s cubic-bezier(.4,0,.2,1);z-index:1}.dropdown-create-project:before{backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px);background:#3b82f61f;bottom:0;box-shadow:inset 0 0 20px #3b82f614,0 4px 16px #3b82f61a;content:"";left:0;opacity:0;pointer-events:none;position:absolute;right:0;top:0;transition:all .25s cubic-bezier(.4,0,.2,1);z-index:0}.dropdown-create-project:hover:before{opacity:1}.dropdown-create-project svg{color:#3b82f6;flex-shrink:0;position:relative;z-index:2}.dropdown-empty{backdrop-filter:blur(20px);-webkit-backdrop-filter:blur(20px);background:#ffffff08;gap:.5rem;padding:2rem}.inline-create-form{animation:slideDown .25s cubic-bezier(.16,1,.3,1);backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px);background:#ffffff26;border-top:1px solid #ffffff1a;margin:0;padding:1.25rem;position:relative;transform-origin:top;z-index:2}.inline-form-header{margin-bottom:1rem}.inline-form-title{font-size:.875rem;letter-spacing:.05em;text-transform:uppercase}.inline-form-close{background:#0000000d;border-radius:6px;height:24px;transition:all .2s ease;width:24px}.inline-form-close:hover:not(:disabled){background:#0000001a}.inline-form-close:disabled{cursor:not-allowed;opacity:.5}.inline-form-content{gap:1rem}.inline-form-label{color:#0f172a;font-size:.75rem;letter-spacing:.05em;text-transform:uppercase}.inline-form-input{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#fffc;border:1px solid #e2e8f080;box-sizing:border-box;font-size:.875rem;transition:all .2s ease;width:100%}.inline-form-input:focus{background:#fffffff2;border-color:#3b82f680;box-shadow:0 0 0 3px #3b82f61a}.inline-form-input:disabled{opacity:.5}.inline-file-upload{background:#3b82f608;border:1.5px dashed #3b82f64d;padding:.875rem 1rem;transition:all .2s ease}.inline-file-upload:hover{background:#3b82f614;border-color:#3b82f680}.inline-upload-icon{background:#3b82f61a;border-radius:8px;flex-shrink:0;height:36px;width:36px}.inline-upload-text{color:#0f172a;flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inline-upload-size{flex-shrink:0}.inline-form-actions{margin-top:.5rem}.inline-btn-cancel{backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);background:#fff9;border:1px solid #e2e8f0cc;border-radius:8px;cursor:pointer;flex:1 1;font-size:.875rem;font-weight:600;padding:.75rem 1rem;transition:all .2s ease}.inline-btn-cancel:hover:not(:disabled){background:#fffc;border-color:#e2e8f0;color:#0f172a}.inline-btn-create{border:none;border-radius:8px;box-shadow:0 2px 8px #3b82f64d;cursor:pointer;flex:1 1;font-size:.875rem;font-weight:600;padding:.75rem 1rem;transition:all .2s ease}.inline-btn-create:hover:not(:disabled){box-shadow:0 4px 12px #3b82f666}.user-display-card{border-radius:8px;color:#334155;font-size:.875rem;font-weight:500;gap:.5rem;padding:.5rem 1rem}.logout-button-icon,.user-display-card{align-items:center;background:#ffffffe6;box-shadow:0 4px 12px #00000014,0 2px 4px #0000000a;display:flex}.logout-button-icon{border:none;border-radius:8px;color:#64748b;cursor:pointer;justify-content:center;padding:.5rem;transition:all .2s}.logout-button-icon:hover{background:#ef4444;box-shadow:0 8px 20px #ef44444d,0 4px 8px #ef444433;color:#fff}.home-page-container{background:linear-gradient(135deg,#f8fafc,#f1f5f9);min-height:100vh;padding:2rem}.home-header{margin:0 auto 3rem;max-width:1200px;text-align:center}.home-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#3b82f6,#2563eb);-webkit-background-clip:text;background-clip:text;font-size:4rem;font-weight:800;letter-spacing:-.03em;margin-bottom:.5rem}.home-subtitle{color:#64748b;font-size:1.125rem;font-weight:400}.home-user-menu{align-items:center;display:flex;gap:.75rem;position:absolute;right:2rem;top:2rem;z-index:100}.home-search-section{margin:0 auto 2rem;max-width:1200px}.home-search-box{position:relative;width:100%}.home-search-box input{background:#fff;border:2px solid #e2e8f0;border-radius:12px;box-shadow:0 1px 3px #0000000d;color:#0f172a;font-size:1rem;padding:1rem 1.25rem;transition:all .2s;width:100%}.home-search-box input:focus{border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f61a,0 4px 12px #00000014;outline:none}.home-search-box input::placeholder{color:#94a3b8}.home-projects-section{margin:0 auto;max-width:1200px}.home-projects-container{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 4px 6px -1px #0000000d,0 2px 4px -1px #00000008;overflow:hidden}.project-card-wrapper{border-bottom:1px solid #f1f5f9;position:relative}.project-card-wrapper:last-child{border-bottom:none}.home-project-card{align-items:center;cursor:pointer;display:flex;gap:1rem;padding:1.25rem 1.5rem;transition:all .2s}.home-project-card:hover{background:#f8fafc}.project-card-wrapper.expanded .home-project-card{background:#f8fafc;border-bottom:1px solid #e2e8f0}.project-icon{align-items:center;background:linear-gradient(135deg,#eff6ff,#dbeafe);border-radius:10px;color:#3b82f6;display:flex;flex-shrink:0;height:44px;justify-content:center;width:44px}.project-info{flex:1 1;min-width:0}.project-name{border-radius:6px;color:#0f172a;cursor:pointer;font-size:1rem;font-weight:600;margin-bottom:.25rem;margin-left:-.5rem;overflow:hidden;padding:.25rem .5rem;text-overflow:ellipsis;transition:all .2s;white-space:nowrap}.project-name:hover{background:#f1f5f9}.project-name-input{background:#fff;border:2px solid #3b82f6;border-radius:8px;color:#0f172a;font-size:1rem;font-weight:600;outline:none;padding:.5rem .75rem;width:100%}.project-timestamp{align-items:center;color:#64748b;display:flex;font-size:.875rem;gap:.375rem}.project-status-badge{align-items:center;border-radius:9999px;display:inline-flex;flex-shrink:0;font-size:.8125rem;font-weight:600;padding:.375rem .875rem;text-transform:capitalize}.project-actions{align-items:center;display:flex;flex-shrink:0;gap:.5rem}.project-delete-btn,.project-expand-btn{align-items:center;background:#0000;border:none;border-radius:8px;color:#64748b;cursor:pointer;display:flex;height:36px;justify-content:center;transition:all .2s;width:36px}.project-expand-btn.expanded,.project-expand-btn:hover{background:#e5e7eb;color:#0f172a}.project-delete-btn:hover{background:#fee2e2;color:#dc2626}.project-expanded-section{animation:slideDown .2s ease-out;background:#fff;border-top:1px solid #f1f5f9;padding:1.5rem}.expanded-section-title{color:#64748b;font-size:.75rem;font-weight:700;letter-spacing:.05em;margin-bottom:1rem;text-transform:uppercase}.file-sections-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr 1fr;margin-bottom:1.5rem}.file-sections-grid-modal{display:flex;flex-direction:column;gap:1.5rem}.file-sections-grid-modal .form-field{margin-bottom:0}.file-sections-grid-modal .file-upload-button{margin-top:0}.file-section{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;display:flex;flex-direction:column;min-height:200px;padding:1.25rem}.file-section-header{align-items:center;color:#0f172a;display:flex;font-size:.875rem;font-weight:600;justify-content:space-between;margin-bottom:1rem}.file-count{color:#64748b;font-size:.75rem;font-weight:500}.file-list{display:flex;flex:1 1;flex-direction:column;gap:.5rem;margin-bottom:1rem;max-height:300px;overflow-y:auto}.file-list::-webkit-scrollbar{width:6px}.file-list::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.file-list::-webkit-scrollbar-track{background:#0000}.file-item{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;display:flex;gap:.75rem;padding:.75rem;transition:all .2s}.file-item.pending{background:#eff6ff;border-color:#93c5fd}.file-item.marked-delete{opacity:.5}.file-item-icon{color:#3b82f6;flex-shrink:0}.file-item-details{flex:1 1;min-width:0}.file-name-edit{align-items:center;display:flex;gap:.375rem}.file-name-edit input{background:#0000;border:none;color:#0f172a;flex:1 1;font-size:.875rem;font-weight:500;outline:none;padding:.25rem 0}.file-extension{color:#64748b;display:none;flex-shrink:0;font-size:.875rem}.file-size{color:#94a3b8;display:none;font-size:.75rem;margin-top:.125rem}.file-remove-btn{align-items:center;background:#0000;border:none;border-radius:6px;color:#ef4444;cursor:pointer;display:flex;flex-shrink:0;height:28px;justify-content:center;transition:all .2s;width:28px}.file-remove-btn:hover:not(:disabled){background:#fee2e2}.file-remove-btn.undo{color:#3b82f6}.file-remove-btn.undo:hover{background:#dbeafe}.file-upload-area{align-items:center;border:2px dashed #cbd5e1;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;justify-content:center;padding:1.5rem;text-align:center;transition:all .2s}.file-upload-area:hover{background:#f8fafc;border-color:#3b82f6}.file-upload-icon{align-items:center;background:linear-gradient(135deg,#eff6ff,#dbeafe);border-radius:10px;color:#3b82f6;display:flex;height:40px;justify-content:center;margin-bottom:.75rem;width:40px}.file-upload-text{color:#64748b;font-size:.875rem;font-weight:500}.empty-file-state{background:#fff;border:1px dashed #e2e8f0;border-radius:8px;color:#94a3b8;font-size:.875rem;padding:2rem 1rem;text-align:center}.expanded-actions{border-top:1px solid #e2e8f0;display:flex;gap:.75rem;justify-content:flex-end;padding-top:1.5rem}.btn-primary,.btn-secondary{border:none;border-radius:8px;cursor:pointer;font-size:.875rem;font-weight:600;padding:.625rem 1.5rem;transition:all .2s}.btn-secondary{background:#f1f5f9;border:1px solid #e2e8f0;color:#64748b}.btn-secondary:hover:not(:disabled){background:#e2e8f0;color:#475569}.btn-secondary:disabled{cursor:not-allowed;opacity:.5}.btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 2px 4px #3b82f633}.btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 4px 8px #3b82f64d;transform:translateY(-1px)}.btn-primary:disabled{opacity:.5;transform:none}.create-project-button{align-items:center;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:2px dashed #cbd5e1;border-radius:12px;color:#3b82f6;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.75rem;justify-content:center;margin-bottom:1rem;padding:1.25rem;transition:all .2s;width:100%}.create-project-button:hover{background:linear-gradient(135deg,#eff6ff,#dbeafe);border-color:#3b82f6;box-shadow:0 4px 12px #3b82f633;transform:translateY(-2px)}.modal-overlay{align-items:center;animation:fadeIn .2s ease-out;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#00000080;display:flex;inset:0;justify-content:center;position:fixed;z-index:100}.modal-container{animation:slideUp .3s ease-out;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;display:flex;flex-direction:column;max-height:85vh;max-width:700px;overflow:hidden;width:90%}@keyframes slideUp{0%{opacity:0;transform:translateY(40px)}to{opacity:1;transform:translateY(0)}}.modal-header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:2rem 2rem 1.5rem}.modal-title{color:#0f172a;font-size:1.5rem;font-weight:700;margin:0}.modal-close-btn{align-items:center;background:#0000;border:none;border-radius:8px;color:#64748b;cursor:pointer;display:flex;height:36px;justify-content:center;transition:all .2s;width:36px}.modal-close-btn:hover:not(:disabled){background:#f1f5f9;color:#0f172a}.modal-body{flex:1 1;min-height:0;overflow-y:auto;padding:2rem 2rem 1rem}.modal-body::-webkit-scrollbar{width:8px}.modal-body::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.modal-body::-webkit-scrollbar-track{background:#0000}.modal-body .form-field{margin-bottom:1.5rem}.modal-body .form-field:last-child{margin-bottom:0}.modal-body .form-label{color:#374151;display:block;font-size:.875rem;font-weight:600;margin-bottom:.5rem}.modal-body .form-label-optional{color:#94a3b8;font-size:.8125rem;font-weight:400}.modal-body .form-input{background:#fff;border:1.5px solid #e2e8f0;border-radius:8px;box-sizing:border-box;color:#0f172a;font-size:.9375rem;padding:.75rem 1rem;transition:all .2s;width:100%}.modal-body .form-input:focus{border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f61a;outline:none}.modal-body .form-input::placeholder{color:#94a3b8}.modal-body .form-input:disabled{background:#f8fafc;cursor:not-allowed}.modal-footer{background:#f8fafc;border-top:1px solid #e2e8f0;display:flex;flex-shrink:0;gap:.75rem;justify-content:flex-end;padding:1.5rem 2rem}.modal-footer .btn-primary,.modal-footer .btn-secondary{border-radius:8px;cursor:pointer;font-size:.9375rem;font-weight:600;padding:.75rem 1.5rem;transition:all .2s}.modal-footer .btn-secondary{background:#fff;border:1.5px solid #e2e8f0;color:#64748b}.modal-footer .btn-secondary:hover:not(:disabled){background:#f1f5f9;border-color:#cbd5e1;color:#475569}.modal-footer .btn-secondary:disabled{cursor:not-allowed;opacity:.5}.modal-footer .btn-primary{background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;box-shadow:0 2px 8px #3b82f64d;color:#fff}.modal-footer .btn-primary:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 4px 12px #3b82f666;transform:translateY(-1px)}.modal-footer .btn-primary:disabled{cursor:not-allowed;opacity:.5;transform:none}.create-form-section{animation:slideDown .2s ease-out;background:#fff;border-top:1px solid #e2e8f0;padding:2rem}.create-form-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.create-form-title{color:#0f172a;font-size:1.125rem;font-weight:700}.create-form-close{align-items:center;background:#0000;border:none;border-radius:8px;color:#64748b;cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .2s;width:32px}.create-form-close:hover:not(:disabled){background:#f1f5f9;color:#0f172a}.create-form-grid{display:flex;flex-direction:column;gap:1.5rem;margin-bottom:1.5rem}.form-field{gap:.5rem}.form-label{color:#374151;font-size:.875rem;font-weight:600}.form-label-optional{color:#94a3b8;font-weight:400}.form-input{border:1.5px solid #e2e8f0;color:#0f172a;font-size:.9375rem;padding:.75rem 1rem}.form-input:focus{box-shadow:0 0 0 4px #3b82f61a}.form-input:disabled{background:#f8fafc;cursor:not-allowed}.file-upload-button{align-items:center;background:#f8fafc;border:2px dashed #cbd5e1;border-radius:12px;cursor:pointer;display:flex;flex-direction:column;gap:.5rem;justify-content:center;padding:1.5rem;transition:all .2s}.file-upload-button:hover{background:#eff6ff;border-color:#3b82f6}.file-upload-button:disabled{cursor:not-allowed;opacity:.5}.upload-icon-wrapper{align-items:center;background:linear-gradient(135deg,#eff6ff,#dbeafe);border-radius:10px;color:#3b82f6;display:flex;height:44px;justify-content:center;width:44px}.upload-text{color:#0f172a;font-size:.875rem;font-weight:500}.upload-hint{color:#64748b;font-size:.75rem}.uploaded-files-list{display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem}.uploaded-file-item{align-items:center;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;display:flex;gap:.75rem;padding:.75rem}.uploaded-file-icon{color:#3b82f6}.uploaded-file-info{flex:1 1;min-width:0}.uploaded-file-name{color:#0f172a;font-size:.875rem;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.uploaded-file-size{color:#94a3b8;display:none;font-size:.75rem}.remove-uploaded-file{align-items:center;background:#0000;border:none;border-radius:6px;color:#ef4444;cursor:pointer;display:flex;height:28px;justify-content:center;transition:all .2s;width:28px}.remove-uploaded-file:hover:not(:disabled){background:#fee2e2}.create-form-actions{border-top:1px solid #e2e8f0;display:flex;gap:.75rem;justify-content:flex-end;padding-top:1.5rem}.projects-empty-state{color:#94a3b8;padding:4rem 2rem;text-align:center}.empty-icon{height:64px;margin:0 auto 1rem;width:64px}.empty-text{color:#64748b;font-size:1.125rem;font-weight:600;margin-bottom:.5rem}.empty-subtext{color:#94a3b8;font-size:.9375rem}.project-edit-expansion{animation:expandDown .2s ease-out;background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 10px 30px #0f172a0f;margin-bottom:1.5rem;margin-top:-.25rem;overflow:hidden;padding:1.5rem;position:relative}.project-edit-expansion:before{background:#fff;box-shadow:-1px -1px 0 #e5e7eb;-webkit-clip-path:polygon(50% 0,0 100%,100% 100%);clip-path:polygon(50% 0,0 100%,100% 100%);content:"";height:12px;left:24px;position:absolute;top:-12px;width:20px}@keyframes expandDown{0%{max-height:0;opacity:0;padding-bottom:0;padding-top:0}to{max-height:500px;opacity:1;padding-bottom:1rem;padding-top:1rem}}.edit-section{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-bottom:1rem;padding:1rem}.edit-section:last-child{margin-bottom:0}.edit-section-label{color:#374151;display:block;font-size:.75rem;font-weight:600;letter-spacing:.025em;margin-bottom:.5rem;text-transform:uppercase}.edit-section-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.edit-input{border:1px solid #d1d5db;border-radius:6px;color:#111827;flex:1 1;font-size:.875rem;padding:.5rem .75rem;transition:all .2s}.edit-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.btn-save-small{background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .2s}.btn-save-small:hover:not(:disabled){background:#2563eb}.btn-save-small:disabled{background:#9ca3af;cursor:not-allowed}.btn-upload-small{align-items:center;background:#3b82f6;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;font-size:.75rem;font-weight:500;gap:.375rem;padding:.375rem .75rem;transition:all .2s}.btn-upload-small:hover:not(:disabled){background:#2563eb}.btn-upload-small:disabled{background:#9ca3af;cursor:not-allowed}.edit-empty-state{background:#fff;border:1px dashed #d1d5db;border-radius:6px;color:#9ca3af;font-size:.75rem;padding:1rem;text-align:center}.edit-file-list{display:flex;flex-direction:column;gap:.5rem}.edit-file-item{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:6px;display:flex;font-size:.8125rem;gap:.5rem;padding:.625rem}.edit-file-name{color:#374151;flex:1 1;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.inline-file-name-edit{align-items:center;background:#0000;border:none;border-radius:0;display:flex;gap:.35rem;padding:0}.inline-file-name-static{align-items:center;background:#ffffff4d;border:1px solid #d1d5db;border-radius:6px;color:#111827;display:flex;font-size:.85rem;gap:.35rem;padding:.35rem .6rem}.blueprint-file-display{align-items:center;background:#3b82f614;border:1px dashed #3b82f666;border-radius:10px;display:flex;gap:1rem;justify-content:space-between;margin-top:.75rem;padding:.85rem 1rem}.blueprint-file-name{color:#0f172a;font-weight:600}.blueprint-file-size{color:#64748b;font-size:.85rem}.inline-file-name-edit input{background:#0000;border:none;color:#111827;flex:1 1;font-size:.85rem;outline:none}.inline-file-name-edit input::placeholder{color:#9ca3af}.file-extension{color:#6b7280;font-size:.85rem;font-weight:600}.inline-file-row{align-items:center;display:flex;gap:.5rem;margin-top:.5rem}.dropdown-toggle-middle{align-items:center;background:#0000;border:none;border-radius:6px;color:#6b7280;cursor:pointer;display:flex;flex-shrink:0;justify-content:center;margin-left:auto;padding:.5rem;transition:all .2s ease}.dropdown-toggle-middle:hover{background:#f3f4f6;color:#374151}.dropdown-toggle-middle.expanded{background:#e5e7eb;color:#1f2937}.dropdown-item-info{transition:all .2s ease}.dropdown-item-actions{display:flex;flex-shrink:0;gap:.5rem}.dropdown-action-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#64748b;cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .2s;width:32px}.dropdown-action-btn:hover{background:#f1f5f9;border-color:#cbd5e1;color:#0f172a}.dropdown-action-btn-delete:hover{background:#fee2e2;border-color:#fca5a5;color:#dc2626}.spec-file-row{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:8px;display:flex;justify-content:space-between;padding:.75rem;transition:all .2s}.spec-file-row.pending{background:#eff6ff;border-color:#93c5fd}.spec-file-row.marked-delete{opacity:.5}.spec-file-info{align-items:center;display:flex;flex:1 1;gap:.75rem;min-width:0}.spec-file-info svg{color:#3b82f6;flex-shrink:0}.edit-file-size{color:#94a3b8;flex-shrink:0;font-size:.75rem}.edit-actions-row{border-top:1px solid #e2e8f0;display:flex;gap:.75rem;justify-content:flex-end;margin-top:1.5rem;padding-top:1.5rem}.btn-delete-inline{align-items:center;background:none;border:none;border-radius:4px;color:#dc2626;cursor:pointer;display:flex;flex-shrink:0;height:28px;justify-content:center;transition:transform .15s ease,color .2s ease;width:28px}.btn-delete-inline:hover:not(:disabled){transform:scale(1.1)}.btn-delete-inline:disabled{color:#9ca3af;cursor:not-allowed}.btn-delete-inline.undo{color:#1d4ed8}.spec-file-row.marked-delete .inline-file-name-edit{text-decoration:line-through}.specs-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:1fr 1fr}.specs-list-pane,.specs-upload-pane{background:#f8fafc;border:1px solid #e2e8f0;border-radius:12px;padding:1.25rem}.specs-scroll{display:flex;flex-direction:column;gap:.5rem;max-height:300px;overflow-y:auto}.specs-scroll::-webkit-scrollbar{width:6px}.specs-scroll::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.specs-scroll::-webkit-scrollbar-track{background:#0000}.specs-upload-pane{min-height:150px}.specs-upload-inner,.specs-upload-pane{align-items:center;display:flex;flex-direction:column;justify-content:center}.specs-upload-inner{gap:.75rem;text-align:center;width:100%}.specs-upload-inner p{color:#0f172a;font-weight:600;margin:0}.inline-file-upload{align-items:center;background:#0000;border:2px dashed #cbd5e1;border-radius:8px;cursor:pointer;display:flex;flex-direction:column;gap:.75rem;justify-content:center;padding:1.5rem;transition:all .2s}.inline-file-upload.centered{width:100%}.inline-file-upload:hover{background:#3b82f60d;border-color:#3b82f6}.inline-upload-text{color:#64748b;font-size:.875rem;font-weight:500;text-align:center}.inline-upload-text.centered-text{text-align:center}.inline-upload-icon{align-items:center;background:linear-gradient(135deg,#eff6ff,#dbeafe);border-radius:10px;color:#3b82f6;display:flex;height:40px;justify-content:center;width:40px}.inline-upload-size{color:#64748b;font-size:.75rem}.edit-uploading{align-items:center;background:#eff6ff;border:1px solid #bfdbfe;border-radius:6px;color:#1e40af;display:flex;font-size:.8125rem;font-weight:500;gap:.5rem;padding:.75rem}.spinner-small{animation:spin .8s linear infinite;border:2px solid #bfdbfe;border-radius:50%;border-top-color:#3b82f6;height:14px;width:14px}.inline-create-form{animation:slideDown .2s ease-out;background:#fff;border-top:1px solid #f1f5f9;padding:2rem}.inline-form-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:1.5rem}.inline-form-title{color:#0f172a;font-size:1.125rem;font-weight:700}.inline-form-close{align-items:center;background:#0000;border:none;border-radius:8px;color:#64748b;cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .2s;width:32px}.inline-form-close:hover:not(:disabled){background:#f1f5f9;color:#0f172a}.inline-form-content{display:flex;flex-direction:column;gap:1.5rem}.inline-form-field{display:flex;flex-direction:column;gap:.5rem}.inline-form-label{color:#374151;font-size:.875rem;font-weight:600}.inline-form-input{background:#fff;border:1.5px solid #e2e8f0;border-radius:8px;color:#0f172a;font-size:.9375rem;padding:.75rem 1rem;transition:all .2s}.inline-form-input:focus{border-color:#3b82f6;box-shadow:0 0 0 4px #3b82f61a;outline:none}.inline-form-input::placeholder{color:#94a3b8}.inline-form-input:disabled{background:#f8fafc;cursor:not-allowed}.inline-form-actions{border-top:1px solid #e2e8f0;display:flex;gap:.75rem;justify-content:flex-end;padding-top:1.5rem}.inline-btn-cancel,.inline-btn-create{border:none;border-radius:8px;cursor:pointer;font-size:.875rem;font-weight:600;padding:.625rem 1.5rem;transition:all .2s}.inline-btn-cancel{background:#f1f5f9;border:1px solid #e2e8f0;color:#64748b}.inline-btn-cancel:hover:not(:disabled){background:#e2e8f0;color:#475569}.inline-btn-cancel:disabled{cursor:not-allowed;opacity:.5}.inline-btn-create{background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 2px 4px #3b82f633;color:#fff}.inline-btn-create:hover:not(:disabled){background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 4px 8px #3b82f64d;transform:translateY(-1px)}.inline-btn-create:disabled{cursor:not-allowed;opacity:.5;transform:none}.dropdown-create-project{align-items:center;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-top:1px solid #e2e8f0;color:#3b82f6;cursor:pointer;display:flex;font-size:.9375rem;font-weight:600;gap:.75rem;justify-content:center;padding:1.5rem;transition:all .2s}.dropdown-create-project:hover{background:linear-gradient(135deg,#eff6ff,#dbeafe)}.dropdown-empty{align-items:center;color:#94a3b8;display:flex;flex-direction:column;gap:.75rem;justify-content:center;padding:4rem 2rem}.dropdown-item-edit-input{background:#fff;border:2px solid #3b82f6;border-radius:8px;color:#0f172a;font-size:1rem;font-weight:600;outline:none;padding:.5rem .75rem;width:100%}.dropdown-item-name{color:#0f172a;font-size:1rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dropdown-item-meta{align-items:center;color:#64748b;display:flex;font-size:.875rem;gap:.375rem;margin-top:.25rem}.dropdown-item-status-wrapper{flex-shrink:0;position:relative}.dropdown-item-status{align-items:center;border-radius:9999px;display:inline-flex;font-size:.8125rem;font-weight:600;padding:.375rem .875rem;text-transform:capitalize}.dropdown-item-enhanced{align-items:center;border-bottom:1px solid #f1f5f9;display:flex;gap:1rem;padding:1.25rem 1.5rem;transition:all .2s}.dropdown-item-enhanced:hover{background:#f8fafc}.dropdown-item-icon{align-items:center;background:linear-gradient(135deg,#eff6ff,#dbeafe);border-radius:10px;color:#3b82f6;display:flex;flex-shrink:0;height:44px;justify-content:center;width:44px}:root{--react-pdf-annotation-layer:1;--annotation-unfocused-field-background:url('data:image/svg+xml;charset=utf-8,<svg width="1" height="1" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%" style="fill:rgba(0,54,255,.13)"/></svg>');--input-focus-border-color:Highlight;--input-focus-outline:1px solid Canvas;--input-unfocused-border-color:#0000;--input-disabled-border-color:#0000;--input-hover-border-color:#000;--link-outline:none}@media screen and (forced-colors:active){:root{--input-focus-border-color:CanvasText;--input-unfocused-border-color:ActiveText;--input-disabled-border-color:GrayText;--input-hover-border-color:Highlight;--link-outline:1.5px solid LinkText}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .textWidgetAnnotation :is(input,textarea):required{outline:1.5px solid selectedItem}.annotationLayer .linkAnnotation:hover{-webkit-backdrop-filter:invert(100%);backdrop-filter:invert(100%)}}.annotationLayer{left:0;pointer-events:none;position:absolute;top:0;transform-origin:0 0;z-index:3}.annotationLayer[data-main-rotation="90"] .norotate{transform:rotate(270deg) translateX(-100%)}.annotationLayer[data-main-rotation="180"] .norotate{transform:rotate(180deg) translate(-100%,-100%)}.annotationLayer[data-main-rotation="270"] .norotate{transform:rotate(90deg) translateY(-100%)}.annotationLayer canvas{height:100%;position:absolute;width:100%}.annotationLayer section{box-sizing:border-box;margin:0;pointer-events:auto;position:absolute;text-align:left;text-align:initial;transform-origin:0 0}.annotationLayer .linkAnnotation{outline:none;outline:var(--link-outline)}.textLayer.selecting~.annotationLayer section{pointer-events:none}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a{font-size:1em;height:100%;left:0;position:absolute;top:0;width:100%}.annotationLayer :is(.linkAnnotation,.buttonWidgetAnnotation.pushButton)>a:hover{background:#ff0;box-shadow:0 2px 10px #ff0;opacity:.2}.annotationLayer .textAnnotation img{cursor:pointer;height:100%;left:0;position:absolute;top:0;width:100%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input,.annotationLayer .choiceWidgetAnnotation select,.annotationLayer .textWidgetAnnotation :is(input,textarea){background-image:url('data:image/svg+xml;charset=utf-8,<svg width="1" height="1" xmlns="http://www.w3.org/2000/svg"><rect width="100%" height="100%" style="fill:rgba(0,54,255,.13)"/></svg>');background-image:var(--annotation-unfocused-field-background);border:2px solid #0000;border:2px solid var(--input-unfocused-border-color);box-sizing:border-box;font:calc(9px*var(--total-scale-factor)) sans-serif;height:100%;margin:0;vertical-align:top;width:100%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:required,.annotationLayer .choiceWidgetAnnotation select:required,.annotationLayer .textWidgetAnnotation :is(input,textarea):required{outline:1.5px solid red}.annotationLayer .choiceWidgetAnnotation select option{padding:0}.annotationLayer .buttonWidgetAnnotation.radioButton input{border-radius:50%}.annotationLayer .textWidgetAnnotation textarea{resize:none}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input[disabled],.annotationLayer .choiceWidgetAnnotation select[disabled],.annotationLayer .textWidgetAnnotation :is(input,textarea)[disabled]{background:none;border:2px solid #0000;border:2px solid var(--input-disabled-border-color);cursor:not-allowed}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input:hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .textWidgetAnnotation :is(input,textarea):hover{border:2px solid #000;border:2px solid var(--input-hover-border-color)}.annotationLayer .buttonWidgetAnnotation.checkBox input:hover,.annotationLayer .choiceWidgetAnnotation select:hover,.annotationLayer .textWidgetAnnotation :is(input,textarea):hover{border-radius:2px}.annotationLayer .choiceWidgetAnnotation select:focus,.annotationLayer .textWidgetAnnotation :is(input,textarea):focus{background:none;border:2px solid Highlight;border:2px solid var(--input-focus-border-color);border-radius:2px;outline:1px solid Canvas;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) :focus{background-color:initial;background-image:none}.annotationLayer .buttonWidgetAnnotation.checkBox :focus{border:2px solid Highlight;border:2px solid var(--input-focus-border-color);border-radius:2px;outline:1px solid Canvas;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.radioButton :focus{border:2px solid Highlight;border:2px solid var(--input-focus-border-color);outline:1px solid Canvas;outline:var(--input-focus-outline)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before,.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{background-color:CanvasText;content:"";display:block;position:absolute}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after,.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{height:80%;left:45%;width:1px}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:before{transform:rotate(45deg)}.annotationLayer .buttonWidgetAnnotation.checkBox input:checked:after{transform:rotate(-45deg)}.annotationLayer .buttonWidgetAnnotation.radioButton input:checked:before{border-radius:50%;height:50%;left:30%;top:20%;width:50%}.annotationLayer .textWidgetAnnotation input.comb{font-family:monospace;padding-left:2px;padding-right:0}.annotationLayer .textWidgetAnnotation input.comb:focus{width:103%}.annotationLayer .buttonWidgetAnnotation:is(.checkBox,.radioButton) input{-webkit-appearance:none;appearance:none}.annotationLayer .popupTriggerArea{height:100%;width:100%}.annotationLayer .fileAttachmentAnnotation .popupTriggerArea{position:absolute}.annotationLayer .popupWrapper{font-size:calc(9px*var(--total-scale-factor));min-width:calc(180px*var(--total-scale-factor));pointer-events:none;position:absolute;width:100%}.annotationLayer .popup{word-wrap:break-word;background-color:#ff9;border-radius:calc(2px*var(--total-scale-factor));box-shadow:0 calc(2px*var(--total-scale-factor)) calc(5px*var(--total-scale-factor)) #888;cursor:pointer;font:message-box;margin-left:calc(5px*var(--total-scale-factor));max-width:calc(180px*var(--total-scale-factor));padding:calc(6px*var(--total-scale-factor));pointer-events:auto;position:absolute;white-space:normal}.annotationLayer .popup>*{font-size:calc(9px*var(--total-scale-factor))}.annotationLayer .popup h1{display:inline-block}.annotationLayer .popupDate{display:inline-block;margin-left:calc(5px*var(--total-scale-factor))}.annotationLayer .popupContent{border-top:1px solid #333;margin-top:calc(2px*var(--total-scale-factor));padding-top:calc(2px*var(--total-scale-factor))}.annotationLayer .richText>*{font-size:calc(9px*var(--total-scale-factor));white-space:pre-wrap}.annotationLayer .caretAnnotation,.annotationLayer .circleAnnotation svg ellipse,.annotationLayer .fileAttachmentAnnotation,.annotationLayer .freeTextAnnotation,.annotationLayer .highlightAnnotation,.annotationLayer .inkAnnotation svg polyline,.annotationLayer .lineAnnotation svg line,.annotationLayer .polygonAnnotation svg polygon,.annotationLayer .polylineAnnotation svg polyline,.annotationLayer .squareAnnotation svg rect,.annotationLayer .squigglyAnnotation,.annotationLayer .stampAnnotation,.annotationLayer .strikeoutAnnotation,.annotationLayer .underlineAnnotation{cursor:pointer}.annotationLayer section svg{height:100%;left:0;position:absolute;top:0;width:100%}.annotationLayer .annotationTextContent{color:#0000;height:100%;opacity:0;pointer-events:none;position:absolute;-webkit-user-select:none;user-select:none;width:100%}.annotationLayer .annotationTextContent span{display:inline-block;width:100%}:root{--react-pdf-text-layer:1;--highlight-bg-color:#b400aa;--highlight-selected-bg-color:#006400}@media screen and (forced-colors:active){:root{--highlight-bg-color:Highlight;--highlight-selected-bg-color:ButtonText}}[data-main-rotation="90"]{transform:rotate(90deg) translateY(-100%)}[data-main-rotation="180"]{transform:rotate(180deg) translate(-100%,-100%)}[data-main-rotation="270"]{transform:rotate(270deg) translateX(-100%)}.textLayer{-webkit-text-size-adjust:none;-moz-text-size-adjust:none;text-size-adjust:none;forced-color-adjust:none;inset:0;line-height:1;overflow:hidden;position:absolute;text-align:left;text-align:initial;transform-origin:0 0;z-index:2}.textLayer :is(span,br){color:#0000;cursor:text;margin:0;position:absolute;transform-origin:0 0;white-space:pre}.textLayer span.markedContent{height:0;top:0}.textLayer .highlight{background-color:#b400aa;background-color:var(--highlight-bg-color);border-radius:4px;margin:-1px;padding:1px}.textLayer .highlight.appended{position:static}.textLayer .highlight.begin{border-radius:4px 0 0 4px}.textLayer .highlight.end{border-radius:0 4px 4px 0}.textLayer .highlight.middle{border-radius:0}.textLayer .highlight.selected{background-color:#006400;background-color:var(--highlight-selected-bg-color)}.textLayer br::selection{background:#0000}.textLayer .endOfContent{cursor:default;display:block;inset:100% 0 0;position:absolute;-webkit-user-select:none;user-select:none;z-index:-1}.textLayer.selecting .endOfContent{top:0}.hiddenCanvasElement{display:none;height:0;left:0;position:absolute;top:0;width:0}.estimate-container{background:#f5f7fa;display:flex;flex-direction:column;height:100%;max-width:100%;overflow-x:hidden;overflow-y:auto;width:100%}.estimate-header{align-items:center;background:#fff;border-bottom:1px solid #e5e7eb;color:#111827;display:flex;flex-shrink:0;justify-content:space-between;padding:1rem 1.5rem}.estimate-title{align-items:center;display:flex;gap:.75rem}.estimate-title svg{color:#6b7280}.estimate-title h2{color:#111827;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1.125rem;font-weight:600;margin:0}.estimate-actions{display:flex;gap:.5rem}.btn-action{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:6px;color:#374151;cursor:pointer;display:flex;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.8125rem;font-weight:500;gap:.375rem;padding:.5rem .875rem;transition:all .15s}.btn-action:hover{background:#f9fafb;border-color:#d1d5db}.estimate-settings{background:#f5f7fa;box-sizing:border-box;display:flex;flex-shrink:0;justify-content:center;max-width:100%;padding:.75rem 1.5rem;width:100%}.settings-card-grid{grid-gap:.75rem;box-sizing:border-box;display:grid;gap:.75rem;grid-template-columns:repeat(4,1fr);margin:0 auto .75rem;max-width:1400px;width:100%}.setting-card{background:#fff;border-left:4px solid;border-radius:8px;box-shadow:0 1px 3px #0000001a;box-sizing:border-box;display:flex;flex-direction:column;gap:.25rem;min-height:75px;min-width:0;padding:.875rem}.setting-card.blue-accent{border-left-color:#60a5fa}.setting-card.purple-accent{border-left-color:#a78bfa}.setting-card.orange-accent{border-left-color:#fb923c}.setting-card.green-accent{border-left-color:#34d399}.setting-card-label{align-items:center;color:#9ca3af;display:flex;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.6875rem;font-weight:600;gap:.375rem;letter-spacing:.05em;text-transform:uppercase}.setting-card-label svg{height:14px;width:14px}.setting-card-value{color:#111827;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:2rem;font-weight:600;letter-spacing:-.02em;margin:.25rem 0}.setting-card-value-wrapper{align-items:baseline;display:flex;margin:.25rem 0}.input-prefix{margin-right:.25rem}.input-prefix,.input-suffix{color:#9ca3af;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:2rem;font-weight:600;letter-spacing:-.02em}.shorthand-input-wrapper .input-prefix{font-size:1.5rem;margin-right:.25rem}.shorthand-input-wrapper .input-suffix{font-size:1.5rem;margin-left:.25rem}.setting-card-input{background:#0000;border:none;color:#111827;flex:1 1;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:2rem;font-weight:600;letter-spacing:-.02em;min-width:0;padding:0}.setting-card-input:focus{color:#3b82f6;outline:none}.setting-card-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background:#0000;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='%23111827' 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 .25rem top 50%;background-repeat:no-repeat;border:none;color:#111827;cursor:pointer;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1.5rem;font-weight:600;margin:.25rem 0;padding:0 1.5rem 0 0}.setting-card-select:focus{outline:none}.shorthand-section{display:flex;justify-content:center;margin-bottom:0;max-width:100%;padding:0 1.5rem 1rem;width:100%}.shorthand-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;border-top:3px solid #6366f1;box-shadow:0 1px 3px #0000001a;box-sizing:border-box;max-width:calc(100% - 3rem);overflow:hidden;padding:1rem 1.25rem;width:100%}.shorthand-title{color:#9ca3af;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.6875rem;font-weight:700;letter-spacing:.08em;margin-bottom:1rem;text-transform:uppercase}.shorthand-inputs-grid{grid-gap:1rem;box-sizing:border-box;display:grid;gap:1rem;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:1rem;max-width:100%;width:100%}.shorthand-input-card{box-sizing:border-box;display:flex;flex-direction:column;gap:.25rem;max-width:100%;min-width:0}.shorthand-input-label{word-wrap:break-word;color:#9ca3af;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.6875rem;font-weight:600;letter-spacing:.05em;line-height:1.3;text-transform:uppercase;white-space:normal}.shorthand-input-wrapper{align-items:baseline;display:flex}.shorthand-input{background:#0000;border:none;color:#111827;flex:1 1;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1.5rem;font-weight:600;letter-spacing:-.02em;min-width:0;padding:0}.shorthand-input:focus{color:#3b82f6;outline:none}.shorthand-breakdown{border-top:1px solid #e5e7eb;display:flex;flex-direction:column;gap:.625rem;margin-top:1rem;padding-top:1rem}.shorthand-row{align-items:center;display:flex;justify-content:space-between}.shorthand-label{align-items:center;color:#6b7280;display:flex;font-size:.875rem;font-weight:500;gap:.5rem}.shorthand-label,.shorthand-value{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.shorthand-value{font-feature-settings:"tnum";color:#111827;font-size:.9375rem;font-variant-numeric:tabular-nums;font-weight:600}.shorthand-value.profit-value{color:#059669;font-weight:700}.shorthand-total-row{border-top:1px solid #e5e7eb;color:#111827;display:flex;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1rem;font-weight:700;justify-content:space-between;margin-top:.5rem;padding-top:.5rem}.estimate-table-wrapper{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000001a;flex:1 1 auto;margin:.75rem auto 1rem;max-height:calc(100vh - 300px);max-width:calc(100% - 3rem);min-height:400px;overflow-x:auto;overflow-y:auto;padding:1.5rem;width:calc(100% - 3rem)}.btn-add-row{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;letter-spacing:.01em}.btn-add-row:active{box-shadow:0 1px 2px #3b82f64d!important;transform:translateY(0)!important}.add-line-item-form{grid-gap:1rem;align-items:end;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border:2px solid #e2e8f0;border-radius:12px;box-shadow:0 4px 6px #0000000d;display:grid;gap:1rem;grid-template-columns:2fr 1fr 1fr 1fr 1fr auto;padding:1.25rem}.form-field{display:flex;flex-direction:column;gap:.375rem}.form-label{color:#64748b;font-size:.6875rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.form-input,.form-label{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.form-input{background:#fff;border:2px solid #e2e8f0;border-radius:8px;color:#1e293b;font-size:.875rem;font-weight:500;padding:.625rem .75rem;transition:all .2s;width:100%}.form-input:hover{border-color:#cbd5e1}.form-input:focus{background:#fff;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.form-input::placeholder{color:#94a3b8}.form-select{background:#fff;border:2px solid #e2e8f0;border-radius:8px;color:#1e293b;cursor:pointer;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.875rem;font-weight:500;padding:.625rem .75rem;transition:all .2s;width:100%}.form-select:hover{border-color:#cbd5e1}.form-select:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.form-actions{display:flex;flex-direction:column;gap:.5rem;padding-top:1.125rem}.btn-form-save{background:linear-gradient(135deg,#10b981,#059669);border:none;border-radius:8px;box-shadow:0 2px 4px #10b98133;color:#fff;cursor:pointer;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.875rem;font-weight:600;padding:.625rem 1rem;transition:all .2s;white-space:nowrap}.btn-form-save:hover{box-shadow:0 4px 8px #10b9814d;transform:translateY(-1px)}.btn-form-save:active{box-shadow:0 1px 2px #10b9814d;transform:translateY(0)}.btn-form-cancel{background:#fff;border:2px solid #e2e8f0;border-radius:8px;color:#64748b;cursor:pointer;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.875rem;font-weight:600;padding:.625rem 1rem;transition:all .2s;white-space:nowrap}.btn-form-cancel:hover{background:#f8fafc;border-color:#cbd5e1;color:#475569}.btn-form-cancel:active{background:#f1f5f9}.estimate-table{border-collapse:collapse;min-width:900px;width:100%}.estimate-table thead th{background:#fafbfc;border-bottom:1px solid #e5e7eb;color:#9ca3af;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.6875rem;font-weight:700;letter-spacing:.08em;padding:.875rem .75rem;text-align:left;text-transform:uppercase;white-space:nowrap}.estimate-table thead th:nth-child(2),.estimate-table thead th:nth-child(3),.estimate-table thead th:nth-child(4),.estimate-table thead th:nth-child(6),.estimate-table thead th:nth-child(8){text-align:center}.estimate-table thead th:nth-child(5),.estimate-table thead th:nth-child(7){text-align:right}.estimate-table tbody td{border-bottom:1px solid #f3f4f6;color:#374151;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.875rem;padding:1.125rem .75rem}.estimate-table tbody tr{background:#fff;transition:background-color .15s}.estimate-table tbody tr:hover{background:#fafbfc}.estimate-table tbody tr:last-child td{border-bottom:none}.totals-summary-row{background:#0000!important;border-top:2px solid #e5e7eb}.totals-summary-row td{background:#0000!important;padding:.875rem .75rem}.totals-cell{font-feature-settings:"tnum";color:#111827;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.875rem;font-variant-numeric:tabular-nums;font-weight:700}.component-name{color:#111827;font-size:.875rem;font-weight:700;line-height:1.4;margin-bottom:.25rem}.component-size{color:#9ca3af;font-size:.75rem;font-weight:400;line-height:1.3}.quantity-cell,.quantity-input{text-align:center}.quantity-input{font-feature-settings:"tnum";background:#0000;border:none;color:#111827;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1rem;font-variant-numeric:tabular-nums;font-weight:700;padding:.25rem;width:100%}.quantity-input:hover{background:#f9fafb;border-radius:4px}.quantity-input:focus{background:#f0f9ff;border-radius:4px;color:#3b82f6;outline:none}.quantity-input-small{font-feature-settings:"tnum";background:#0000;border:none;color:#111827;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1rem;font-variant-numeric:tabular-nums;font-weight:700;padding:.25rem;text-align:center;width:60px}.quantity-input-small:hover{background:#f9fafb;border-radius:4px}.quantity-input-small:focus{background:#f0f9ff;border-radius:4px;color:#3b82f6;outline:none}.hours-input-small{font-feature-settings:"tnum";background:#0000;border:none;color:#111827;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1rem;font-variant-numeric:tabular-nums;font-weight:700;padding:.25rem;text-align:center;width:60px}.hours-input-small:hover{background:#f9fafb;border-radius:4px}.hours-input-small:focus{background:#f0f9ff;border-radius:4px;color:#3b82f6;outline:none}.quantity-unit{font-size:.625rem;letter-spacing:.05em;margin-top:.125rem;text-transform:uppercase}.inline-unit,.quantity-unit{color:#9ca3af;font-weight:500}.inline-unit{font-size:.75rem;text-transform:lowercase}.hours-cell{text-align:center;white-space:nowrap}.hours-value{font-feature-settings:"tnum";color:#111827;font-size:1rem;font-variant-numeric:tabular-nums;font-weight:700}.hours-unit{color:#9ca3af;font-size:.625rem;font-weight:500;letter-spacing:.05em;margin-top:.125rem;text-transform:uppercase}.cost-cell{font-feature-settings:"tnum";color:#6b7280;font-size:.875rem;font-variant-numeric:tabular-nums;font-weight:500;text-align:right;white-space:nowrap}.material-cell,.material-input{text-align:center}.material-input{font-feature-settings:"tnum";background:#0000;border:1px solid #0000;border-radius:4px;color:#111827;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.875rem;font-variant-numeric:tabular-nums;font-weight:600;padding:.375rem .5rem;transition:all .15s;width:80px}.material-input:hover{background:#f9fafb;border-color:#e5e7eb}.material-input:focus{background:#fff;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.row-setting-input{background:#0000;border:1px solid #0000;border-radius:4px;color:#111827;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.8125rem;font-weight:500;padding:.375rem .5rem;text-align:center;transition:all .15s;width:70px}.row-setting-input:hover{background:#f9fafb;border-color:#e5e7eb}.row-setting-input:focus{background:#fff;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.total-cell{font-feature-settings:"tnum";color:#111827;font-size:.9375rem;font-variant-numeric:tabular-nums;font-weight:700;text-align:right;white-space:nowrap}.financial-breakdown{display:flex;flex-shrink:0;justify-content:center;margin-bottom:0;max-width:100%;padding:0 1.5rem 1rem;width:100%}.financial-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;border-top:3px solid #6366f1;box-shadow:0 1px 3px #0000001a;box-sizing:border-box;max-width:calc(100% - 3rem);padding:.875rem 1rem;width:100%}.financial-title{color:#9ca3af;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.6875rem;font-weight:700;letter-spacing:.08em;margin-bottom:.5rem;text-transform:uppercase}.financial-rows{display:flex;flex-direction:column;gap:.5rem}.financial-row{align-items:center;display:flex;justify-content:space-between}.financial-label{align-items:center;color:#6b7280;display:flex;font-size:.875rem;font-weight:500;gap:.5rem}.financial-label,.financial-value{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.financial-value{font-feature-settings:"tnum";color:#111827;font-size:.9375rem;font-variant-numeric:tabular-nums;font-weight:600}.material-tax-badge{background:#ede9fe;color:#7c3aed}.material-tax-badge,.overhead-badge{border-radius:9999px;font-size:.6875rem;font-weight:700;letter-spacing:.025em;padding:.125rem .5rem}.overhead-badge{background:#ffedd5;color:#ea580c}.profit-badge{background:#d1fae5;border-radius:9999px;color:#059669;font-size:.6875rem;font-weight:700;letter-spacing:.025em;padding:.125rem .5rem}.profit-highlight .financial-label{color:#059669}.profit-value{color:#059669;font-weight:700}.financial-divider{background:#e5e7eb;height:1px;margin:.375rem 0}.financial-total{display:flex;flex-direction:column;gap:.25rem;padding-top:.25rem}.financial-total-row{align-items:baseline;display:flex;justify-content:space-between;padding-top:.25rem}.total-label{color:#9ca3af;font-size:.6875rem;letter-spacing:.05em;text-transform:uppercase}.total-label,.total-value{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:700}.total-value{font-feature-settings:"tnum";color:#111827;font-size:1.5rem;font-variant-numeric:tabular-nums;letter-spacing:-.03em}.breakdown-bar{border-radius:9999px;display:flex;height:12px;margin-top:.5rem;overflow:hidden;width:100%}.bar-segment{height:100%;transition:width .3s ease}.cost-segment{background:#9ca3af}.tax-segment{background:#a78bfa}.overhead-segment{background:#fb923c}.profit-segment{background:#34d399}.breakdown-bar-labels{display:flex;justify-content:space-between;margin-top:.5rem}.breakdown-bar-labels span{color:#9ca3af;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.625rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase}.breakdown-bar-labels span:last-child{color:#059669}.empty-state{padding:4rem 2rem;text-align:center}.empty-state-icon{font-size:3rem;margin-bottom:1rem;opacity:.2}.empty-state-title{color:#111827;font-size:1.125rem;font-weight:600;margin-bottom:.5rem}.empty-state-text,.empty-state-title{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.empty-state-text{color:#6b7280;font-size:.875rem;line-height:1.5}@media (max-width:1400px){.settings-card-grid,.shorthand-inputs-grid{grid-template-columns:repeat(2,1fr)}.estimate-table-wrapper{max-height:calc(100vh - 250px);min-height:500px}}@media (max-width:768px){.settings-card-grid,.shorthand-inputs-grid{grid-template-columns:1fr}.estimate-table-wrapper{margin:.5rem 1rem;max-height:calc(100vh - 200px);min-height:450px;padding:1rem}.financial-breakdown,.shorthand-section{margin:.5rem 1rem;padding:0}.estimate-table tbody td,.estimate-table thead th{padding:.75rem .5rem}.component-name{font-size:.875rem}.hours-value,.quantity-value{font-size:1rem}.total-value{font-size:2rem}.shorthand-input{font-size:1.25rem}.add-line-item-form{gap:.75rem;grid-template-columns:1fr;padding:1rem}.form-actions{flex-direction:row;padding-top:.5rem}}.rfi-grid-container{background:#f8fafc;display:flex;flex-direction:column;height:100%;overflow:hidden;width:100%}.rfi-grid-header{align-items:center;background:#fff;border-bottom:1px solid #e2e8f0;display:flex;flex-shrink:0;justify-content:space-between;padding:1.5rem 2rem}.rfi-grid-title{align-items:center;display:flex;gap:1rem}.rfi-grid-title h2{color:#1e293b;font-size:1.5rem;font-weight:700;margin:0}.rfi-count{background:#f1f5f9;border-radius:12px;color:#64748b;font-size:.875rem;font-weight:500;padding:.25rem .75rem}.rfi-create-btn{align-items:center;background:#3b82f6;border:none;border-radius:6px;box-shadow:0 1px 3px #0000001a;color:#fff;cursor:pointer;display:flex;font-size:.875rem;font-weight:600;gap:.5rem;padding:.625rem 1.25rem;transition:all .2s}.rfi-create-btn:hover{background:#2563eb;box-shadow:0 4px 12px #3b82f64d;transform:translateY(-1px)}.rfi-grid{grid-gap:1.5rem;align-content:start;display:grid;flex:1 1;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));overflow-y:auto;padding:2rem}.rfi-card{background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 1px 3px #0000000d;cursor:pointer;display:flex;flex-direction:column;gap:.75rem;min-height:180px;padding:1.25rem;transition:all .2s}.rfi-card:hover{border-color:#3b82f6;box-shadow:0 8px 24px #3b82f626;transform:translateY(-2px)}.rfi-card-header{justify-content:space-between}.rfi-card-header,.rfi-card-header-right{align-items:center;display:flex;gap:.5rem}.rfi-card-number{background:#eff6ff;border-radius:4px;color:#3b82f6;font-family:Monaco,monospace;font-size:.75rem;font-weight:700;padding:.25rem .625rem}.rfi-card-badges{display:flex;gap:.375rem}.rfi-delete-btn{align-items:center;background:#0000;border:1px solid #0000;border-radius:4px;color:#94a3b8;cursor:pointer;display:flex;flex-shrink:0;height:28px;justify-content:center;transition:all .2s;width:28px}.rfi-delete-btn:hover{background:#fef2f2;border-color:#fecaca;color:#ef4444}.rfi-badge{border:1px solid;border-radius:3px;font-size:.625rem;font-weight:600;letter-spacing:.025em;padding:.25rem .5rem;text-transform:uppercase}.rfi-card-subject{-webkit-line-clamp:2;color:#1e293b;font-size:1rem;font-weight:600;line-height:1.4}.rfi-card-question,.rfi-card-subject{-webkit-box-orient:vertical;display:-webkit-box;margin:0;overflow:hidden;text-overflow:ellipsis}.rfi-card-question{-webkit-line-clamp:3;color:#64748b;flex:1 1;font-size:.813rem;line-height:1.5}.rfi-card-footer{align-items:center;border-top:1px solid #f1f5f9;display:flex;justify-content:space-between;padding-top:.75rem}.rfi-card-date{color:#94a3b8;font-size:.75rem;gap:.375rem}.rfi-card-date,.rfi-grid-empty{align-items:center;display:flex}.rfi-grid-empty{flex:1 1;flex-direction:column;gap:1rem;justify-content:center;padding:3rem}.rfi-grid-empty h3{color:#475569;font-size:1.25rem;font-weight:600;margin:0}.rfi-grid-empty p{color:#94a3b8;font-size:.875rem;margin:0}.rfi-create-btn-large{align-items:center;background:#3b82f6;border:none;border-radius:8px;box-shadow:0 2px 8px #3b82f633;color:#fff;cursor:pointer;display:flex;font-size:1rem;font-weight:600;gap:.625rem;margin-top:1rem;padding:.875rem 1.5rem;transition:all .2s}.rfi-create-btn-large:hover{background:#2563eb;box-shadow:0 8px 24px #3b82f64d;transform:translateY(-2px)}.rfi-grid-loading{align-items:center;color:#94a3b8;display:flex;flex:1 1;flex-direction:column;gap:1rem;justify-content:center}.rfi-grid-loading p{font-size:.875rem;margin:0}.rfi-grid::-webkit-scrollbar{width:8px}.rfi-grid::-webkit-scrollbar-track{background:#f1f5f9}.rfi-grid::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.rfi-grid::-webkit-scrollbar-thumb:hover{background:#94a3b8}.rfi-editor-container{background:#fff;display:flex;flex-direction:column;height:100%;overflow:hidden;width:100%}.rfi-editor-header{align-items:center;background:linear-gradient(135deg,#f8fafc,#f1f5f9);border-bottom:1px solid #e2e8f0;display:flex;flex-shrink:0;justify-content:space-between;padding:1rem 1.5rem}.rfi-header-left{gap:1rem}.rfi-back-btn,.rfi-header-left{align-items:center;display:flex}.rfi-back-btn{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;color:#64748b;cursor:pointer;height:36px;justify-content:center;transition:all .2s;width:36px}.rfi-back-btn:hover{background:#f1f5f9;border-color:#cbd5e1;color:#475569}.rfi-title{color:#1e293b;font-size:1.25rem;font-weight:700;margin:0}.rfi-save-status{color:#64748b;font-size:.75rem;font-style:italic}.rfi-btn,.rfi-header-right{display:flex;gap:.5rem}.rfi-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#475569;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1rem;transition:all .2s ease}.rfi-btn:hover{background:#f8fafc;border-color:#cbd5e1;box-shadow:0 2px 4px #0000000d;transform:translateY(-1px)}.rfi-btn.active{background:#3b82f6;border-color:#3b82f6;color:#fff}.rfi-btn.active:hover{background:#2563eb;border-color:#2563eb}.rfi-btn.primary{background:#10b981;border-color:#10b981;color:#fff}.rfi-btn.primary:hover{background:#059669;border-color:#059669}.rfi-editor-content{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:hidden}.rfi-markdown-editor{background:#fff;border:none;color:#1e293b;font-family:Monaco,Menlo,Ubuntu Mono,monospace;font-size:.9rem;height:100%;line-height:1.6;outline:none;overflow-y:auto;padding:2rem;resize:none;width:100%}.rfi-markdown-editor::placeholder{color:#94a3b8}.rfi-markdown-preview{background:#fff;flex:1 1;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;height:100%;min-height:0;overflow-y:auto;padding:1.5rem 2rem;width:100%}.rfi-markdown-preview h1{border-bottom:2px solid #e2e8f0;color:#0f172a;font-size:2rem;font-weight:700;margin-bottom:1rem;margin-top:0;padding-bottom:.5rem}.rfi-markdown-preview h2{color:#1e293b;font-size:1.5rem;font-weight:600;margin-bottom:.75rem;margin-top:2rem}.rfi-markdown-preview h3{color:#334155;font-size:1.25rem;font-weight:600;margin-bottom:.5rem;margin-top:1.5rem}.rfi-markdown-preview p{color:#475569;font-size:1rem;line-height:1.7;margin-bottom:1rem}.rfi-markdown-preview strong{color:#1e293b;font-weight:600}.rfi-markdown-preview ol,.rfi-markdown-preview ul{margin:1rem 0;padding-left:2rem}.rfi-markdown-preview li{color:#475569;line-height:1.6;margin:.5rem 0}.rfi-markdown-preview hr{border:none;border-top:1px solid #e2e8f0;margin:2rem 0}.rfi-markdown-preview blockquote{border-left:4px solid #3b82f6;color:#64748b;font-style:italic;margin:1rem 0;padding-left:1rem}.rfi-markdown-preview code{background:#f1f5f9;border-radius:3px;color:#e11d48;font-family:Monaco,Menlo,monospace;font-size:.875rem;padding:.2rem .4rem}.rfi-markdown-preview pre{background:#f1f5f9;border-radius:6px;margin:1rem 0;overflow-x:auto;padding:1rem}.rfi-markdown-preview pre code{background:none;color:#1e293b;padding:0}.rfi-markdown-editor::-webkit-scrollbar,.rfi-markdown-preview::-webkit-scrollbar{width:8px}.rfi-markdown-editor::-webkit-scrollbar-track,.rfi-markdown-preview::-webkit-scrollbar-track{background:#f1f5f9}.rfi-markdown-editor::-webkit-scrollbar-thumb,.rfi-markdown-preview::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.rfi-markdown-editor::-webkit-scrollbar-thumb:hover,.rfi-markdown-preview::-webkit-scrollbar-thumb:hover{background:#94a3b8}.pdf-annotator-container{background-color:#f9fafb;flex-direction:column;height:100%;min-height:0}.pdf-annotator-container,.pdf-annotator-toolbar{display:flex;overflow:visible;position:relative;width:100%}.pdf-annotator-toolbar{align-items:center;background:linear-gradient(135deg,#fff,#f3f4f6);border-bottom:1px solid #e5e7eb;box-shadow:0 1px 3px 0 #0000001a;box-sizing:border-box;flex-shrink:0;flex-wrap:nowrap;gap:.25rem;padding:.5rem .75rem;transition:all .3s ease;z-index:10000}.pdf-annotator-toolbar.chat-expanded{gap:.25rem;padding:.375rem .5rem}.pdf-annotator-toolbar.chat-expanded .toolbar-section{gap:.2rem;padding:0 .2rem}.pdf-annotator-toolbar.chat-expanded .toolbar-btn{font-size:.75rem;height:24px;min-width:24px;padding:0 .25rem}.pdf-annotator-toolbar.chat-expanded .toolbar-btn svg{height:14px;width:14px}.pdf-annotator-toolbar.chat-expanded .page-info,.pdf-annotator-toolbar.chat-expanded .toolbar-label,.pdf-annotator-toolbar.chat-expanded .zoom-info{font-size:.75rem;padding:0 .375rem}.pdf-annotator-toolbar.chat-expanded input[type=color],.pdf-annotator-toolbar.chat-expanded input[type=range]{height:24px;width:60px}.pdf-annotator-toolbar.chat-expanded button,.pdf-annotator-toolbar.chat-expanded select{font-size:.75rem;padding:.25rem .375rem}.toolbar-section{align-items:center;border-right:1px solid #e5e7eb;display:flex;flex-shrink:0;gap:.25rem;overflow:visible;padding:0 .25rem;position:relative;white-space:nowrap}.toolbar-section:last-child{border-right:none}.toolbar-center-tools,.toolbar-icons-left{border-right:1px solid #e5e7eb;overflow:visible}.toolbar-center-tools{align-items:center;display:flex;flex:1 1;gap:.25rem;justify-content:center}.toolbar-select{-webkit-appearance:none;appearance:none;background:#fff;border:1px solid #e5e7eb;border-radius:6px;color:#374151;font-size:12px;font-weight:500;max-width:48px;min-width:48px;overflow:hidden;padding:4px 6px;text-overflow:ellipsis;white-space:nowrap;width:48px}.toolbar-select:disabled{cursor:not-allowed;opacity:.6}.toolbar-right-section{border-right:none;margin-left:auto;overflow:visible}.chat-toggle-btn{background:linear-gradient(135deg,#3b82f6,#2563eb)!important;border-color:#3b82f6!important;color:#fff!important}.chat-toggle-btn:hover{box-shadow:0 2px 8px #3b82f666!important}.cost-table-wrapper{background:#f9fafb;flex:1 1;overflow:auto}.toolbar-label{font-size:.875rem;margin-right:.25rem}.toolbar-btn,.toolbar-label{color:#6b7280;font-weight:500}.toolbar-btn{align-items:center;background-color:initial;border:none;border-radius:5px;cursor:pointer;display:flex;flex-shrink:0;font-size:.7rem;gap:.2rem;height:28px;justify-content:center;min-width:28px;padding:0 .375rem;position:relative;transition:all .2s;white-space:nowrap}.toolbar-btn-wrapper{display:inline-flex;position:relative}.custom-tooltip{background-color:#000000e6;border-radius:4px;color:#fff;font-size:11px;font-weight:400;line-height:1.2;opacity:0;padding:5px 14px;pointer-events:none;text-align:center;top:calc(100% + 10px);transition:opacity .2s,visibility .2s;visibility:hidden;white-space:nowrap;z-index:999999}.custom-tooltip,.custom-tooltip:after{left:50%;position:absolute;transform:translateX(-50%)}.custom-tooltip:after{border:5px solid;border-color:#0000 #0000 #000000e6;bottom:100%;content:""}.toolbar-btn-wrapper:hover .custom-tooltip{opacity:1;visibility:visible}.toolbar-btn:hover:not(:disabled):not(.active){background-color:#0000000d;color:#111827}.toolbar-btn:disabled{cursor:not-allowed;opacity:.4}.toolbar-btn.active{background-color:#3b82f61f;color:#2563eb;font-weight:600}.toolbar-btn.primary{background-color:#10b981;border-color:#059669;color:#fff}.toolbar-btn.primary:hover{background-color:#059669;border-color:#047857}.toolbar-btn.saving{animation:pulse 1.5s infinite;background-color:#fbbf24;border-color:#f59e0b;color:#fff}.saving-text{font-size:.75rem;margin-left:.25rem}.color-section{align-items:center;display:flex;flex-shrink:0;gap:.375rem}.color-btn{border:2px solid #d1d5db;border-radius:4px;cursor:pointer;height:28px;position:relative;transition:all .2s;width:28px}.color-btn:hover{border-color:#9ca3af;transform:scale(1.1)}.color-btn.active{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f633}.color-btn.active:after{color:#fff;content:"✓";font-weight:700;left:50%;position:absolute;text-shadow:0 0 2px #00000080;top:50%;transform:translate(-50%,-50%)}.annotation-count{background-color:#f3f4f6;border:1px solid #e5e7eb;border-radius:4px;color:#6b7280;font-size:.875rem;padding:.25rem .75rem}.pdf-annotator-wrapper{background:#fff;flex:1 1;min-height:0;min-width:0;overflow:auto;position:relative;z-index:1}.pdf-annotator-wrapper::-webkit-scrollbar{height:12px;width:12px}.pdf-annotator-wrapper::-webkit-scrollbar-track{background:#d1d5db;border-radius:6px}.pdf-annotator-wrapper::-webkit-scrollbar-thumb{background:#9ca3af;border:2px solid #d1d5db;border-radius:6px}.pdf-annotator-wrapper::-webkit-scrollbar-thumb:hover{background:#6b7280}.pdf-page-container{background:#fff;border-radius:4px;box-shadow:0 10px 40px #00000026;display:inline-block;position:relative;transform-origin:center center;transition:transform .15s ease-out}.pdf-page-container .react-pdf__Page{height:auto;max-width:100%}.annotation-canvas{left:0;pointer-events:all;position:absolute;top:0;z-index:10}.page-info,.zoom-info{color:#374151;flex-shrink:0;font-size:.75rem;font-weight:500;min-width:-webkit-fit-content;min-width:fit-content;padding:0 .5rem;text-align:center;white-space:nowrap}.pdf-annotator-empty{background-color:#f9fafb;font-size:.875rem;height:100%}.pdf-annotator-empty,.pdf-error,.pdf-loading{align-items:center;color:#6b7280;display:flex;justify-content:center}.pdf-error,.pdf-loading{background-color:#fff;border-radius:8px;box-shadow:0 1px 3px 0 #0000001a;flex-direction:column;padding:3rem}.pdf-error{color:#ef4444}.pdf-annotator-react{background-color:#0f1419!important}.pdf-annotator-react .pdf-page{box-shadow:0 10px 40px #00000080!important;margin:2rem auto!important}.pdf-annotator-react .pdf-viewer{padding:2rem!important}.pdf-annotator-react .annotation-layer{cursor:crosshair}.pdf-annotator-react .annotation-layer.select-mode{cursor:default}.pdf-annotator-react .annotation{cursor:move}.pdf-annotator-react .annotation:hover{opacity:.8}.pdf-annotator-react .annotation.selected{outline:2px solid #60a5fa;outline-offset:2px}.pdf-annotator-react .resize-handle{background-color:#60a5fa;border:1px solid #fff;border-radius:2px;height:8px;width:8px}.pdf-annotator-react .text-annotation{background-color:initial!important;color:inherit!important;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;font-weight:500}.pdf-annotator-react .loading{align-items:center;color:#9ca3af;display:flex;height:100%;justify-content:center}@media (max-width:1200px){.pdf-annotator-toolbar{align-items:stretch;flex-direction:column;gap:.5rem}.toolbar-section{border-bottom:1px solid #374151;border-right:none;justify-content:center;padding:.5rem}.toolbar-section:last-child{border-bottom:none;margin-left:0}}@media (max-width:768px){.pdf-annotator-wrapper{padding:1rem}.color-section{flex-wrap:wrap}.toolbar-btn span{display:none}.toolbar-btn{min-width:36px;padding:0}}.toolbar-color-picker{align-items:center;display:flex;gap:.5rem}.color-picker-input{background:none;border:1px solid #d1d5db;border-radius:4px;cursor:pointer;height:32px;width:40px}.color-picker-input::-webkit-color-swatch-wrapper{padding:2px}.color-picker-input::-webkit-color-swatch{border:none;border-radius:2px}.toolbar-width-picker{align-items:center;display:flex;gap:.5rem}.width-slider-input{-webkit-appearance:none;background:#e5e7eb;border-radius:2px;height:4px;outline:none;width:80px}.width-slider-input::-webkit-slider-thumb{-webkit-appearance:none;appearance:none;background:#3b82f6;border-radius:50%;box-shadow:0 2px 4px #3b82f64d;cursor:pointer;height:14px;width:14px}.width-slider-input::-moz-range-thumb{background:#3b82f6;border:none;border-radius:50%;box-shadow:0 2px 4px #3b82f64d;cursor:pointer;height:14px;width:14px}.width-value{color:#374151;font-size:.75rem;font-weight:600;min-width:35px}@media (max-width:1680px){.pdf-annotator-toolbar{gap:.375rem;padding:.5rem .625rem}.toolbar-section{gap:.25rem;padding:0 .25rem}.toolbar-btn{font-size:.6875rem;gap:.25rem;height:30px;min-width:30px;padding:0 .375rem}.toolbar-label{font-size:.8125rem}.toolbar-right-section{margin-right:0!important}.toolbar-right-section[style*="margin-right: 360px"]{margin-right:340px!important}}@media (max-width:1440px){.pdf-annotator-toolbar{gap:.25rem;padding:.375rem .5rem}.toolbar-section{gap:.25rem;padding:0 .25rem}.toolbar-btn{border-radius:5px;font-size:.625rem;height:28px;min-width:28px;padding:0 .375rem}.toolbar-btn svg{height:14px;width:14px}.toolbar-label{font-size:.75rem;margin-right:.125rem}.toolbar-btn span:not(.icon){display:none}.toolbar-right-section[style*="margin-right: 360px"]{margin-right:320px!important}}@media (max-width:1280px){.pdf-annotator-toolbar{gap:.25rem;padding:.25rem .375rem}.toolbar-section{gap:.125rem;padding:0 .125rem}.toolbar-btn{border-radius:4px;font-size:.625rem;height:26px;min-width:26px;padding:0 .25rem}.toolbar-btn svg{height:13px;width:13px}.toolbar-label{font-size:.6875rem}.toolbar-section:not(:first-child):not(:last-child){border-right:none}.toolbar-right-section[style*="margin-right: 360px"]{margin-right:280px!important}}.calibration-dropdown{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 12px #00000026;left:10px;min-width:320px;padding:16px;position:absolute;top:50px;z-index:1000}.calibration-dropdown-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:12px;padding-bottom:8px}.calibration-dropdown-header h4{color:#111827;font-size:16px;font-weight:600;margin:0}.calibration-current{margin-bottom:16px}.calibration-current-display{display:flex;flex-direction:column;gap:8px}.calibration-current-display strong{color:#6b7280;font-size:13px;font-weight:500}.calibration-ratio{background:#f3f4f6;border-radius:4px;color:#2563eb;display:inline-block;font-family:Courier New,monospace;font-size:14px;font-weight:600;padding:6px 12px}.calibration-reference-toggle{border-top:1px solid #f3f4f6;margin-top:12px;padding-top:12px}.calibration-reference-toggle label{align-items:center;cursor:pointer;display:flex;gap:8px;-webkit-user-select:none;user-select:none}.calibration-reference-toggle input[type=checkbox]{cursor:pointer;height:16px;width:16px}.calibration-reference-toggle span{color:#6b7280;font-size:13px}.calibration-no-calibration{margin-bottom:16px}.calibration-no-calibration p{color:#9ca3af;font-size:13px;font-style:italic;margin:0}.calibration-dropdown-actions{display:flex;flex-direction:column;gap:12px}.calibration-btn-primary{background:#2563eb;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:14px;font-weight:500;padding:10px 16px;transition:all .2s;width:100%}.calibration-btn-primary:hover{background:#1d4ed8}.calibration-copy{border-top:1px solid #e5e7eb;display:flex;flex-direction:column;gap:6px;padding-top:12px}.calibration-copy label{color:#6b7280;font-size:13px;font-weight:500}.calibration-page-selector{position:relative}.calibration-page-selector-button{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:6px;color:#6b7280;cursor:pointer;display:flex;font-size:13px;justify-content:space-between;padding:10px 12px;transition:all .2s;width:100%}.calibration-page-selector-button:hover{background:#f9fafb;border-color:#9ca3af}.calibration-page-selector-button svg{transition:transform .2s}.calibration-page-selector-menu{background:#fff;border:1px solid #e5e7eb;border-radius:6px;box-shadow:0 4px 12px #0000001a;left:0;max-height:200px;overflow-y:auto;position:absolute;right:0;top:calc(100% + 4px);z-index:1001}.calibration-page-selector-item{align-items:flex-start;background:#fff;border:none;border-bottom:1px solid #f3f4f6;cursor:pointer;display:flex;flex-direction:column;gap:4px;padding:10px 12px;text-align:left;transition:all .15s;width:100%}.calibration-page-selector-item:last-child{border-bottom:none}.calibration-page-selector-item:hover{background:#f3f4f6}.calibration-page-selector-item .page-number{color:#111827;font-size:13px;font-weight:600}.calibration-page-selector-item .page-calibration{color:#2563eb;font-family:Courier New,monospace;font-size:12px}.calibration-modal-overlay{align-items:center;background:#0009;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:10000}.calibration-modal{background:#fff;border-radius:12px;box-shadow:0 8px 24px #0003;max-width:480px;padding:24px;width:90%}.calibration-modal h3{color:#111827;font-size:20px;font-weight:600;margin:0 0 16px}.calibration-measurement-info{background:#f3f4f6;border-radius:6px;margin-bottom:20px;padding:12px}.calibration-measurement-info p{color:#6b7280;font-size:14px;margin:0}.calibration-measurement-info strong{color:#2563eb;font-size:18px}.calibration-measurement-input{margin-bottom:24px}.calibration-measurement-input label{color:#374151;display:block;font-size:14px;font-weight:500;margin-bottom:8px}.calibration-input-group{display:flex;gap:8px}.calibration-input-group input{border:1px solid #e5e7eb;border-radius:6px;color:#111827;flex:1 1;font-size:14px;padding:10px 12px;transition:all .2s}.calibration-input-group input:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a;outline:none}.calibration-input-group select{background:#fff;border:1px solid #e5e7eb;border-radius:6px;color:#111827;cursor:pointer;font-size:14px;min-width:120px;padding:10px 12px;transition:all .2s}.calibration-input-group select:hover{border-color:#9ca3af}.calibration-input-group select:focus{border-color:#2563eb;box-shadow:0 0 0 3px #2563eb1a;outline:none}.calibration-modal-actions{display:flex;gap:8px;justify-content:flex-end}.calibration-modal-actions button{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;padding:10px 18px;transition:all .2s}.btn-secondary{background:#f3f4f6;color:#374151}.btn-secondary:hover{background:#e5e7eb}.btn-primary{background:#2563eb;color:#fff}.btn-primary:hover{background:#1d4ed8}.btn-primary:disabled{background:#9ca3af;cursor:not-allowed;opacity:.6}.btn-primary:disabled:hover{background:#9ca3af}.pdf-canvas-container.grid-snap-active{cursor:crosshair!important}.pdf-quote-highlight{animation:quote-highlight-pulse .3s ease-in-out;background-color:#fef08a!important;border-radius:2px;box-shadow:0 0 0 2px #fbbf24}@keyframes quote-highlight-pulse{0%{opacity:0;transform:scale(.95)}50%{opacity:1;transform:scale(1.02)}to{opacity:1;transform:scale(1)}}@keyframes pulse-blue{0%{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.1)}to{opacity:1;transform:scale(1)}}@keyframes pulse-orange{0%{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.1)}to{opacity:1;transform:scale(1)}}.blueprint-viewer{background-color:#f9fafb;display:flex;flex-direction:column;height:100%;position:relative}.blueprint-toolbar{align-items:center;background:linear-gradient(135deg,#1a202c,#111827);border-bottom:1px solid #374151;display:flex;justify-content:space-between;padding:.75rem 1rem;z-index:10}.toolbar-group{align-items:center;display:flex;gap:.5rem}.zoom-level{color:#9ca3af;font-size:.875rem;font-weight:500;min-width:45px;text-align:center}.blueprint-viewport{align-items:center;background:#fff;display:flex;flex:1 1;justify-content:center;min-height:0;overflow:auto;position:relative}.blueprint-viewport.no-toolbar{height:100%}.blueprint-viewport>*{max-height:100%;max-width:100%}.blueprint-viewport.specs-mode{align-items:stretch;justify-content:stretch}.blueprint-viewport .specs-viewer-container{align-self:stretch;height:100%;max-height:none;max-width:none;width:100%}.blueprint-viewport .cost-estimation-container{height:100%;width:100%}.blueprint-placeholder{align-items:center;color:#6b7280;display:flex;flex-direction:column;gap:1rem;justify-content:center}.blueprint-placeholder svg{color:#374151}.blueprint-placeholder p{color:#9ca3af;font-size:1.125rem;margin:0}.blueprint-placeholder span{color:#6b7280;font-size:.875rem}.blueprint-cad-placeholder{padding:2rem}.blueprint-cad-placeholder,.cad-viewer-mock{align-items:center;display:flex;height:100%;justify-content:center;width:100%}.cad-viewer-mock{background:linear-gradient(135deg,#1f2937,#111827);border:2px solid #374151;border-radius:8px;max-height:600px;max-width:800px;position:relative}.cad-grid{background-image:linear-gradient(0deg,#60a5fa0d 1px,#0000 0),linear-gradient(90deg,#60a5fa0d 1px,#0000 0);background-size:50px 50px;border-radius:6px;inset:0;position:absolute}.cad-content{color:#9ca3af;position:relative;text-align:center;z-index:1}.cad-content svg{color:#60a5fa;margin-bottom:1rem}.cad-content h3{color:#f3f4f6;font-size:1.25rem;margin:0 0 .5rem}.cad-content p{color:#60a5fa;font-weight:500;margin:0 0 .5rem}.cad-info{color:#6b7280;font-size:.875rem}.blueprint-image,.blueprint-pdf{max-height:100%;max-width:100%;transform-origin:center;transition:transform .3s ease}.blueprint-pdf{border:none;height:90%;width:90%}.layers-panel{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#111827f2;border:1px solid #374151;border-radius:8px;box-shadow:0 10px 30px #00000080;overflow:hidden;position:absolute;right:1rem;top:60px;width:200px;z-index:20}.layers-header{align-items:center;background:linear-gradient(135deg,#1f2937,#1a202c);border-bottom:1px solid #374151;display:flex;justify-content:space-between;padding:.75rem 1rem}.layers-header h4{color:#f3f4f6;font-size:.875rem;font-weight:600;margin:0}.close-btn{align-items:center;background:none;border:none;border-radius:4px;color:#9ca3af;cursor:pointer;display:flex;font-size:1.25rem;height:24px;justify-content:center;padding:0;transition:all .2s;width:24px}.close-btn:hover{background-color:#ffffff1a;color:#f3f4f6}.layer-item,.layers-list{padding:.5rem}.layer-item{align-items:center;border-radius:4px;color:#d1d5db;cursor:pointer;display:flex;font-size:.875rem;gap:.5rem;transition:background-color .2s}.layer-item:hover{background-color:#ffffff0d}.layer-item input[type=checkbox]{accent-color:#60a5fa;height:16px;width:16px}.labor-loading-box{background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;margin-top:1rem;padding:1rem 1.25rem}.labor-loading-content{align-items:center;display:flex;gap:1rem}.labor-loading-spinner{animation:spin .8s linear infinite;border:3px solid #e5e7eb;border-radius:50%;border-top-color:#666;flex-shrink:0;height:24px;width:24px}.labor-loading-text{color:#666;font-size:.9rem;font-weight:500}.labor-breakdown{display:flex;flex-direction:column;gap:12px;margin-top:1rem}.labor-step{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 3px #0000001a;cursor:pointer;overflow:hidden;position:relative;transition:all .2s ease}.labor-step:hover{border-color:#d1d5db;box-shadow:0 4px 12px #00000026}.step-header{align-items:center;background:#fff;display:flex;gap:.5rem;padding:12px 14px;position:relative}.step-number{color:#9ca3af;flex-shrink:0;font-size:.75rem}.step-description,.step-number{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-weight:500;white-space:nowrap}.step-description{color:#374151;flex:1 1;font-size:.875rem;line-height:1.4;overflow:hidden;text-overflow:ellipsis}.step-details{background:#fafbfc;border-top:1px solid #f3f4f6;padding:14px 16px 16px;position:relative}.step-detail-table{border-collapse:collapse;font-size:.85rem;width:100%}.step-detail-table td{border-bottom:none;padding:.5rem 0}.step-detail-table tr:last-child td{border-bottom:none}.step-detail-table .detail-label{color:#9ca3af;letter-spacing:.025em;text-transform:uppercase;white-space:nowrap;width:40%}.step-detail-table .detail-label,.step-detail-table .detail-value{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.8125rem;font-weight:500}.step-detail-table .detail-value{color:#1f2937;text-align:right}.step-detail-table .detail-value-hours{color:#1f2937;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.875rem;font-weight:600;text-align:right}.step-detail-table .totals-separator td{border-top:1px solid #e5e7eb;padding-top:.75rem}.step-meta{border-top:1px solid #f3f4f6;color:#9ca3af;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.75rem;font-weight:400;padding-top:.75rem}.step-totals-row{background:#0000;border:1px solid #e5e7eb;border-radius:4px;display:flex;gap:.5rem;padding:.5rem}.step-total-item{align-items:center;display:flex;flex:1 1;flex-direction:column;gap:.2rem}.step-total-label{color:#64748b;font-size:.7rem;font-weight:600;letter-spacing:.025em;text-transform:uppercase}.step-total-value{color:#1e40af;font-family:Arial,sans-serif;font-size:.9rem;font-weight:700}.step-table{-webkit-overflow-scrolling:touch;background:#fff;border-collapse:collapse;border-radius:4px;box-shadow:0 1px 3px #0000001a;display:block;font-size:.85rem;margin-bottom:.75rem;overflow-x:auto;width:100%}.step-table th{background:#f5f5f5;border-bottom:2px solid #e0e0e0;color:#555;font-size:.8rem;font-weight:600;padding:.625rem .75rem;text-align:left;white-space:nowrap}.step-table td{border-top:1px solid #e8e8e8;color:#333;padding:.75rem}.step-table tbody tr{transition:background .15s ease}.step-table tbody tr:hover{background:#fafafa}.component-cell{font-weight:500;max-width:200px}.measurement-cell{color:#555;font-family:Courier New,monospace;font-weight:600}.unit-type-cell{color:#ff6b35;font-family:Courier New,monospace;font-weight:700}.unit-label{color:#999;font-size:.75rem;font-weight:400}.quantity-cell{font-weight:500;white-space:nowrap}.labor-normal{color:#4caf50}.labor-difficult,.labor-normal{font-family:Courier New,monospace;font-weight:500}.labor-difficult{color:#ff9800}.labor-very-difficult{color:#f44336;font-family:Courier New,monospace;font-weight:500}.total-cell{font-weight:600}.total-values{align-items:center;display:flex;font-family:Courier New,monospace;gap:.25rem}.total-values strong{color:#4caf50;font-size:.95rem}.total-values .separator{color:#ccc;margin:0 .125rem}.step-meta{background:#fff;border-radius:4px;color:#666;font-size:.85rem;margin-top:.75rem;padding:.625rem .875rem}.step-notes{border-top:1px solid #f0f0f0;color:#888;font-style:italic;margin-top:.5rem;padding-top:.5rem}.labor-totals{background:#0000;margin-top:12px;padding:1rem 0;position:relative}.labor-totals h4{color:#111827;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:1rem;font-weight:600;letter-spacing:-.01em}.totals-table-wrapper{border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 1px 3px #0000001a;overflow-x:auto;overflow-y:hidden;position:relative;transition:box-shadow .2s ease;user-select:text;-webkit-user-select:text;-moz-user-select:text}.totals-table-wrapper:hover{box-shadow:0 4px 12px #00000026}.totals-table{background:#fff;border-collapse:collapse;font-size:.85rem;min-width:600px;user-select:text;-webkit-user-select:text;width:100%}.row-input{background:#0000;border:1px solid #0000;border-radius:4px;color:#111827;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.75rem;font-weight:500;padding:.25rem .375rem;text-align:center;transition:all .15s}.row-input:hover{background:#f9fafb;border-color:#e5e7eb}.row-input:focus{background:#fff;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a;outline:none}.totals-table th{background:#6b7280;color:#fff;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.75rem;font-weight:600;letter-spacing:.025em;padding:.625rem .75rem;text-align:left;white-space:nowrap}.totals-table th:first-child{max-width:200px}.totals-table th:nth-child(2),.totals-table th:nth-child(3){text-align:center}.totals-table th:nth-child(4),.totals-table th:nth-child(5){text-align:right}.totals-table td{border-top:1px solid #e5e7eb;font-size:.8125rem;padding:.625rem .75rem}.totals-table td:first-child{word-wrap:break-word;max-width:200px;white-space:normal}.totals-table tbody tr:hover{background:#f0f9ff}.step-name{word-wrap:break-word;color:#374151;line-height:1.3;max-width:200px;white-space:normal}.hours-value,.step-name{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.8125rem;font-weight:500}.hours-value{color:#1f2937;text-align:center;white-space:nowrap}.total-row{background:linear-gradient(135deg,#3b82f6,#2563eb)!important;color:#fff!important}.total-row td{color:#fff!important;font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;font-size:.875rem;font-weight:700;padding:.75rem;white-space:nowrap}.total-row td:first-child{text-align:left}.total-row td:last-child{text-align:center}@media (max-width:768px){.step-table{font-size:.75rem}.step-table td,.step-table th{padding:.5rem}.step-details{padding:.75rem}.step-table{-webkit-overflow-scrolling:touch;display:block;overflow-x:auto}}.labor-step{animation:fadeIn .3s ease}@keyframes shine1{0%{transform:translateX(-150%) skewX(-15deg)}to{transform:translateX(250%) skewX(-15deg)}}@keyframes shine2{0%{transform:translateX(-200%) skewX(-15deg)}to{transform:translateX(300%) skewX(-15deg)}}@keyframes twinkle{0%,to{opacity:0}50%{opacity:1}}.shine-button{overflow:hidden;position:relative}.shine-button:before{animation:shine1 3s ease-in-out infinite;background:linear-gradient(90deg,#bfdbfe00,#bfdbfe26 50%,#bfdbfe00);transform:translateX(-150%) skewX(-15deg);width:50%}.shine-button:after,.shine-button:before{content:"";height:200%;left:0;pointer-events:none;position:absolute;top:-50%}.shine-button:after{animation:shine2 3.5s ease-in-out 1.5s infinite;background:linear-gradient(90deg,#bfdbfe00,#bfdbfe40 50%,#bfdbfe00);filter:blur(2px);transform:translateX(-200%) skewX(-15deg);width:30%}.shine-button:hover:after,.shine-button:hover:before{animation:none}.agent-chat-header-new{align-items:center;backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);background:#fff9;border-bottom:1px solid #e5e7eb4d;border-radius:16px 16px 0 0;display:flex;flex-shrink:0;justify-content:space-between;padding:1rem 1.25rem}.agent-chat-page-info{background:linear-gradient(135deg,#f9fafb,#f3f4f6);border:1px solid #e5e7eb;border-radius:6px;color:#374151;font-size:.75rem;font-weight:600;padding:.375rem .75rem}.agent-chat-close-btn{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:8px;box-shadow:0 2px 6px #3b82f64d;color:#fff;cursor:pointer;display:flex;height:36px;justify-content:center;transition:all .2s;width:36px}.agent-chat-close-btn:hover{background:linear-gradient(135deg,#2563eb,#1d4ed8);box-shadow:0 4px 12px #3b82f666;transform:translateY(-1px)}.agent-chat-input-container{backdrop-filter:blur(15px);-webkit-backdrop-filter:blur(15px);background:#fff9;border-radius:0 0 16px 16px;border-top:1px solid #e5e7eb4d;flex-shrink:0;padding:1rem 1.25rem}.agent-chat-input-wrapper{align-items:flex-end;display:flex;position:relative}.agent-chat-input{backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);background:#fff6;border:1.5px solid #ffffff4d;border-radius:14px;box-shadow:inset 0 1px 1px #ffffff80,inset 0 -1px 2px #0000000d,0 4px 16px #00000014,0 2px 8px #0000000a;color:#111827;flex:1 1;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:.9375rem;line-height:1.5;max-height:200px;min-height:44px;outline:none;overflow-y:auto;padding:.875rem 3.75rem .875rem 1.25rem;resize:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.agent-chat-input::placeholder{color:#9ca3af;font-size:.8125rem}.agent-chat-input::-webkit-scrollbar{display:none}.agent-chat-input{-ms-overflow-style:none;scrollbar-width:none}.agent-chat-input:focus:not(:disabled){background:#ffffff80;border-color:#3b82f666;box-shadow:inset 0 1px 1px #fff9,inset 0 -1px 2px #0000000d,0 0 0 3px #3b82f61a,0 6px 20px #0000001a,0 3px 10px #3b82f626}.agent-chat-input:disabled{cursor:not-allowed;opacity:.6}.agent-chat-send-btn{align-items:center;background:#e5e7eb;border:none;border-radius:50%;box-shadow:0 1px 2px #0000000d;color:#6b7280;cursor:pointer;display:flex;flex-shrink:0;height:32px;justify-content:center;position:absolute;right:.5rem;top:50%;transform:translateY(-50%);transition:all .2s cubic-bezier(.4,0,.2,1);width:32px}.agent-chat-send-btn:hover:not(:disabled){background:#d1d5db;box-shadow:0 2px 4px #0000001a;color:#374151}.agent-chat-send-btn:active:not(:disabled){background:#9ca3af;box-shadow:0 1px 2px #0000000d;color:#111827}.agent-chat-send-btn:disabled{background:#f3f4f6;color:#9ca3af;cursor:not-allowed;opacity:.4}.agent-chat,.agent-chat-advanced{background-color:#fff}.agent-chat,.agent-chat-advanced,.agent-chat-modern{display:flex;flex-direction:column;height:100%;overflow:hidden;position:relative}.agent-chat-modern{backdrop-filter:blur(20px) saturate(180%);-webkit-backdrop-filter:blur(20px) saturate(180%);background:#ffffffbf;border:1px solid #ffffff4d;border-radius:16px;box-shadow:0 8px 32px #0000001a,inset 0 1px 0 #fff9}.chat-header-modern{align-items:center;background-color:#fff;border-bottom:1px solid #e5e7eb;display:flex;flex-shrink:0;justify-content:space-between;padding:1rem}.chat-title-modern{align-items:center;display:flex;gap:.75rem;width:100%}.agent-chat-header-collapse-btn{align-items:center;background:linear-gradient(135deg,#6b7280,#4b5563);border:none;border-radius:8px;box-shadow:0 2px 4px #6b728033;color:#fff;cursor:pointer;display:flex;height:32px;justify-content:center;margin-left:auto;transition:box-shadow .2s,background .2s;width:32px}.agent-chat-header-collapse-btn:hover{background:linear-gradient(135deg,#4b5563,#374151);box-shadow:0 4px 12px #6b72804d}.agent-chat-header-collapse-btn:active{box-shadow:0 2px 4px #6b728033}.chat-title-modern h3{color:#111827;font-size:1.125rem;font-weight:600;margin:0}.chat-title-modern h3,.page-indicator-modern{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.page-indicator-modern{background-color:#f3f4f6;border-radius:9999px;color:#6b7280;font-size:.875rem;margin-left:auto;padding:.25rem .75rem}.empty-state{align-items:center;display:flex;flex-direction:column;left:50%;opacity:.3;position:absolute;top:50%;transform:translate(-50%,-50%)}.empty-icon{color:#3b82f6}.chat-messages-modern{display:flex;flex:1 1;flex-direction:column;gap:1.5rem;overflow-y:auto;padding:4rem 0 2rem}.chat-messages-modern::-webkit-scrollbar{width:8px}.chat-messages-modern::-webkit-scrollbar-track{background:#0000}.chat-messages-modern::-webkit-scrollbar-thumb{background:#0000001a;border-radius:4px}.message-block{display:flex;justify-content:center;padding:0 1rem}.tool-call-history{align-items:flex-start;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;gap:.5rem;margin-bottom:.75rem;margin-top:.75rem;width:100%}.tool-call-history-item{background-color:#f3f4f6;border-radius:8px;box-shadow:0 2px 8px #0000001f,0 1px 4px #00000014;color:#6b7280;font-size:.85rem;line-height:1.5;padding:.75rem 1rem;width:100%}@keyframes shine{0%{left:-100%}to{left:100%}}@keyframes thinking-shine{0%{left:-100%}to{left:100%}}.citation-shine{animation:shine .6s ease-in-out;background:linear-gradient(90deg,#fff0,#ffffff80 50%,#fff0);height:100%;left:-100%;pointer-events:none;position:absolute;top:0;width:100%}.tool-call-history-item.shimmer .tool-call-step{-webkit-text-fill-color:#0000;animation:glimmer 1.5s ease-in-out infinite;background:linear-gradient(90deg,#6b7280,#9ca3af 25%,#6b7280 50%,#9ca3af 75%,#6b7280);-webkit-background-clip:text;background-clip:text;background-size:100% 100%}.tool-call-status-dot{background-color:#9ca3af;border-radius:50%;display:inline-block;flex-shrink:0;height:.5rem;margin-right:.5rem;transition:background-color .3s ease;width:.5rem}.tool-call-status-dot.success{background-color:#10b981}.tool-call-status-dot.error{background-color:#ef4444}.tool-call-status-dot.pending{background-color:#9ca3af}.tool-call-header{align-items:center;display:flex;transition:opacity .15s ease;width:100%}.tool-call-header.expandable:hover{opacity:.85}.tool-call-chevron{align-items:center;color:#6b7280;display:inline-flex;flex-shrink:0;margin-right:.25rem;transition:transform .2s ease}.tool-call-step{color:#6b7280;flex:1 1}.tool-call-expanded-content{animation:slideDown .2s ease-out;background-color:#00000008;border-radius:6px;color:#4b5563;display:flex;flex-direction:column;font-size:.85rem;gap:.75rem;line-height:1.6;margin-top:.75rem;padding:.75rem;width:100%}.tool-call-image-container{background-color:#00000005;border-radius:4px;display:flex;justify-content:center;padding:.5rem;width:100%}.tool-call-image-thumbnail{border:1px solid #0000001a;border-radius:4px;box-shadow:0 2px 4px #0000000d;cursor:zoom-in;height:auto;max-height:150px;max-width:200px;transition:transform .2s ease;width:auto}.tool-call-image-thumbnail:hover{transform:scale(1.05)}.tool-call-reasoning-message{animation:fadeIn .3s ease-out;background-color:initial;color:#1f2937;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1rem;line-height:1.75;margin:.25rem 0;padding:.5rem 0;white-space:pre-wrap;width:100%;word-break:break-word}.message-block.assistant,.message-block.user{background:#0000}.message-wrapper{max-width:100%;width:100%}.message-text-modern{color:#1f2937;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1rem;line-height:1.75;white-space:pre-wrap;word-break:break-word}.assistant-final-response{padding-top:20px;position:relative}.assistant-final-response--with-proof{padding-top:28px}.assistant-final-response-actions{display:flex;justify-content:flex-end;margin-top:12px;opacity:0;pointer-events:none;transition:opacity .2s ease}.assistant-final-response:focus-within .assistant-final-response-actions,.assistant-final-response:hover .assistant-final-response-actions{opacity:1;pointer-events:auto}.message-copy-button{align-items:center;background:#0000;border:1px solid #0f172a26;border-radius:6px;color:#4b5563;cursor:pointer;display:inline-flex;font-size:.75rem;font-weight:600;gap:4px;padding:.4rem .85rem;transition:all .2s ease}.message-copy-button:hover{background:#0000;border-color:#0f172a59;box-shadow:0 4px 12px #0f172a14;color:#111827}.message-copy-button.copied{background:#0000;border-color:#34d399;color:#047857}.message-text-modern ol,.message-text-modern ul{margin:.5rem 0;padding-left:1.5rem}.message-text-modern li{margin:.25rem 0;padding-left:.25rem}.message-text-modern ul{list-style-type:disc}.message-text-modern ol{list-style-type:decimal}.message-text-modern p{margin:.5rem 0}.message-text-modern p:first-child{margin-top:0}.message-text-modern p:last-child{margin-bottom:0}.message-block.user .message-text-modern{background:#f3f4f6;border-radius:6px;display:grid;min-height:44px;padding:12px 16px;place-items:center start;width:100%}.message-block.user .message-text-modern *{line-height:1.5!important;margin:0!important;padding:0!important}.message-block.user .message-text-modern>div{width:100%}.message-block.assistant .message-text-modern{padding:0}.typing-indicator-modern{display:flex;gap:12px;justify-content:center;padding:2rem 0}.typing-indicator-modern span{animation:typing 1.4s infinite;background-color:#3b82f6;border-radius:50%;box-shadow:0 0 10px #3b82f666;height:24px;width:24px}.typing-indicator-modern span:nth-child(2){animation-delay:.2s}.typing-indicator-modern span:nth-child(3){animation-delay:.4s}.chat-input-wrapper-modern{bottom:1.5rem;left:50%;max-width:720px;position:absolute;transform:translateX(-50%);width:calc(100% - 3rem)}.chat-input-modern{background:#fff;border:1px solid #e5e7eb;border-radius:1.5rem;box-shadow:0 0 15px #0000001a;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-size:1rem;line-height:1.5;max-height:200px;outline:none;overflow-y:auto;padding:.875rem 3.5rem .875rem 1.25rem;resize:none;transition:all .2s;width:100%}.chat-input-modern:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a,0 0 15px #0000001a}.chat-input-modern::placeholder{color:#9ca3af}.chat-input-modern:disabled{cursor:not-allowed;opacity:.6}.send-btn-modern{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:50%;color:#9ca3af;cursor:not-allowed;display:flex;height:32px;justify-content:center;position:absolute;right:.75rem;top:50%;transform:translateY(-50%);transition:all .15s;width:32px}.send-btn-modern.active{background:#1f2937;border-color:#1f2937;color:#fff;cursor:pointer}.send-btn-modern.active:hover{background:#111827}.send-btn-modern.stop{background:#1f2937;border-color:#1f2937;color:#fff;cursor:pointer}.send-btn-modern.stop:hover{background:#111827;border-color:#111827}.send-btn-modern:disabled:not(.active){cursor:not-allowed;opacity:.5}.pasted-images-preview{background:#fff;border:1px solid #e5e7eb;border-radius:1rem;bottom:calc(100% + .5rem);box-shadow:0 2px 10px #0000001a;display:flex;flex-wrap:nowrap;gap:.5rem;left:0;max-height:150px;overflow-x:auto;overflow-y:hidden;padding:.75rem;position:absolute;right:0}.pasted-images-preview::-webkit-scrollbar{height:8px}.pasted-images-preview::-webkit-scrollbar-track{background:#f1f1f1;border-radius:4px}.pasted-images-preview::-webkit-scrollbar-thumb{background:#888;border-radius:4px}.pasted-images-preview::-webkit-scrollbar-thumb:hover{background:#555}.pasted-image-container{flex-shrink:0;height:120px;position:relative;width:120px}.pasted-image-thumb{background:#fff;border:2px solid #e5e7eb;border-radius:.5rem;box-shadow:0 2px 8px #0000001a;height:100%;object-fit:cover;width:100%}.remove-image-btn{align-items:center;background:#ef4444;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;height:20px;justify-content:center;position:absolute;right:-6px;top:-6px;transition:background .2s;width:20px}.remove-image-btn:hover{background:#dc2626}.message-screenshot-indicator{align-items:center;background:#f3f4f6;border-radius:.375rem;color:#6b7280;display:inline-flex;font-size:.75rem;gap:.25rem;margin-bottom:.5rem;padding:.25rem .5rem}.message-screenshot-indicator svg{color:#9ca3af}.message-images{display:flex;flex-wrap:wrap;gap:.5rem;margin-top:.5rem}.message-image{border:1px solid #e5e7eb;border-radius:.5rem;cursor:pointer;max-height:200px;max-width:200px;object-fit:contain;transition:transform .2s}.message-image:hover{transform:scale(1.05)}.chat-messages{background-color:#f9fafb;display:flex;flex:1 1;flex-direction:column;gap:1rem;min-height:0;overflow-y:auto;padding:1rem 1rem 20px}.show-more-container{display:flex;justify-content:center;padding:1rem 0}.show-more-button{background:#fff;border:1px solid #e5e7eb;border-radius:1rem;color:#6b7280;cursor:pointer;font-size:.875rem;font-weight:500;padding:.5rem 1.5rem;transition:all .2s}.show-more-button:hover{background:#f9fafb;border-color:#d1d5db;color:#4b5563}.chat-messages::-webkit-scrollbar{width:6px}.chat-messages::-webkit-scrollbar-track{background:#0000}.chat-messages::-webkit-scrollbar-thumb{background:#0000001a;border-radius:3px}.chat-messages::-webkit-scrollbar-thumb:hover{background:#0003}.message{animation:fadeIn .3s ease;display:flex;justify-content:center;padding:.75rem 1rem}.message.assistant,.message.user{background:#0000}.message-avatar{align-items:center;align-self:flex-start;border-radius:6px;display:flex;flex-shrink:0;font-size:.7rem;font-weight:600;height:24px;justify-content:center;margin-right:.75rem;margin-top:.125rem;width:24px}.message.assistant .message-avatar{background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff}.message-content-wrapper{display:flex;max-width:680px;width:100%}.message-content{display:flex;flex:1 1;flex-direction:column;gap:.5rem}.message-text{color:#1f2937;font-size:.9rem;line-height:1.6;white-space:pre-wrap}.typing-cursor{animation:blink 1s infinite;color:#6b7280;display:inline-block;font-weight:400}@keyframes blink{0%,50%{opacity:1}51%,to{opacity:0}}.message.user .message-text{background-color:#f3f4f6;border-radius:.75rem;color:#374151;margin-left:2rem;padding:.75rem 1rem}.message.assistant .message-text{color:#1f2937}.message-time{display:none}.message.typing,.typing-indicator{padding:.75rem 1rem}.typing-indicator{display:flex;gap:4px}.typing-indicator span{animation:typing 1.4s infinite;background-color:#60a5fa;border-radius:50%;height:8px;width:8px}.typing-indicator span:nth-child(2){animation-delay:.2s}.typing-indicator span:nth-child(3){animation-delay:.4s}@keyframes typing{0%,60%,to{opacity:.5;transform:translateY(0)}30%{opacity:1;transform:translateY(-10px)}}.chat-input-container{background:#fff;border-top:1px solid #e5e7eb;bottom:0;flex-shrink:0;max-height:200px;position:-webkit-sticky;position:sticky;z-index:10}.chat-suggestions{display:flex;gap:.5rem;overflow-x:auto;padding:.75rem 1rem 0}.chat-suggestions::-webkit-scrollbar{height:4px}.chat-suggestions::-webkit-scrollbar-track{background:#0000}.chat-suggestions::-webkit-scrollbar-thumb{background:#ffffff1a;border-radius:2px}.suggestion-chip{background:#eff6ff;border:1px solid #bfdbfe;border-radius:16px;color:#2563eb;cursor:pointer;font-size:.75rem;padding:.375rem .75rem;transition:all .2s;white-space:nowrap}.suggestion-chip:hover{background:#dbeafe;border-color:#93c5fd;transform:translateY(-1px)}.suggestion-chip:disabled{cursor:not-allowed;opacity:.5}.chat-input-wrapper{align-items:flex-end;display:flex;gap:.75rem;padding:.75rem 1rem}.attach-btn{align-items:center;background:#fff;border:1px solid #d1d5db;border-radius:8px;color:#6b7280;cursor:pointer;display:flex;height:36px;justify-content:center;transition:all .2s;width:36px}.attach-btn:hover{background:#f3f4f6;border-color:#9ca3af;color:#374151}.chat-input{background:#f9fafb;border:1px solid #d1d5db;border-radius:12px;color:#111827;flex:1 1;font-size:.875rem;line-height:1.5;max-height:120px;outline:none;padding:.625rem 1rem;resize:none;transition:all .2s}.chat-input:focus{background:#fff;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.chat-input::placeholder{color:#9ca3af}.send-btn{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:8px;color:#fff;cursor:pointer;display:flex;height:36px;justify-content:center;transition:all .2s;width:36px}.send-btn:hover:not(:disabled){box-shadow:0 4px 12px #3b82f64d;transform:scale(1.05)}.send-btn:disabled{cursor:not-allowed;opacity:.5}.sparkle-animation{animation:sparkle 1s ease-in-out infinite}@keyframes sparkle{0%,to{transform:scale(1) rotate(0deg)}50%{transform:scale(1.1) rotate(180deg)}}.chat-header{background-color:#f9fafb;border-bottom:1px solid #e5e7eb;justify-content:space-between;padding:1rem}.chat-header,.chat-title{align-items:center;display:flex}.chat-title{gap:.75rem;width:100%}.chat-title h3{color:#111827;font-size:1.125rem;font-weight:600;margin:0}.chat-icon{color:#3b82f6}.page-indicator{background-color:#e5e7eb;border-radius:9999px;color:#6b7280;font-size:.875rem;margin-left:auto;padding:.25rem .75rem}.tool-details{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:.5rem;margin-top:.75rem;padding:.75rem}.tool-detail-item{border-bottom:1px solid #e5e7eb;margin-bottom:1rem;padding-bottom:1rem}.tool-detail-item:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.tool-detail-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.tool-detail-name{color:#6b7280;font-size:.875rem;font-weight:600;text-transform:capitalize}.tool-detail-status{border-radius:.25rem;font-size:.75rem;font-weight:700;padding:.125rem .375rem}.tool-detail-status.success{background-color:#dcfce7;color:#16a34a}.tool-detail-status.error{background-color:#fee2e2;color:#dc2626}.tool-detail-input,.tool-detail-output{margin-top:.5rem}.tool-detail-label{color:#9ca3af;display:inline-block;font-size:.75rem;font-weight:600;letter-spacing:.025em;margin-bottom:.25rem;text-transform:uppercase}.tool-detail-content{background-color:#fff;border:1px solid #e5e7eb;border-radius:.375rem;color:#6b7280;display:block;font-family:Courier New,monospace;font-size:.75rem;margin:0;max-height:200px;overflow-x:auto;overflow-y:auto;padding:.5rem;white-space:pre-wrap;word-break:break-word}.tool-details-toggle{align-items:center;color:#6b7280;cursor:pointer;display:flex;font-size:.8rem;font-weight:600;padding:.375rem 0;transition:color .2s;-webkit-user-select:none;user-select:none}.tool-details-toggle:hover{color:#374151}.live-tool-calls{animation:fadeIn .3s ease-in;background-color:#f3f4f6;border:1px solid #e5e7eb;border-radius:.5rem;margin-top:1rem;padding:.75rem}.live-tool-call{border-bottom:1px solid #e5e7eb;margin-bottom:.75rem;padding-bottom:.75rem}.live-tool-call:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.live-tool-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.live-tool-name{color:#4b5563;font-size:.875rem;font-weight:600;text-transform:capitalize}.live-tool-status{align-items:center;border-radius:.375rem;display:flex;font-size:.75rem;font-weight:600;gap:.25rem;padding:.25rem .5rem}.live-tool-status.starting{animation:pulse 1.5s infinite;background-color:#dbeafe;color:#1e40af}.live-tool-status.completed{background-color:#d1fae5;color:#065f46}.live-tool-status.error{background-color:#fee2e2;color:#991b1b}.live-tool-input,.live-tool-output{margin-top:.5rem}.live-tool-label{color:#9ca3af;display:inline-block;font-size:.7rem;font-weight:600;letter-spacing:.05em;margin-bottom:.25rem;text-transform:uppercase}.live-tool-content{background-color:#fff;border:1px solid #e5e7eb;border-radius:.375rem;color:#6b7280;display:block;font-family:SF Mono,Monaco,Courier New,monospace;font-size:.7rem;margin:0;max-height:150px;overflow-x:auto;overflow-y:auto;padding:.5rem;white-space:pre-wrap;word-break:break-word}.live-tool-calls-simple{margin-top:.5rem;padding:.5rem 0}.live-tool-call-simple{color:#9ca3af;font-family:SF Mono,Monaco,Courier New,monospace;font-size:.8rem;line-height:1.4;margin:.25rem 0;overflow:hidden;position:relative}.live-tool-call-simple.shimmer{-webkit-text-fill-color:#0000;animation:glimmer 1.5s ease-in-out infinite;background:linear-gradient(90deg,#9ca3af,#c7d2db 25%,#9ca3af 50%,#c7d2db 75%,#9ca3af);-webkit-background-clip:text;background-clip:text;background-size:100% 100%}@keyframes glimmer{0%,to{filter:brightness(1);opacity:.7}50%{filter:brightness(1.2);opacity:1}}.tool-call-result{color:#9ca3af;font-style:italic}.tool-badges-container{align-items:center;display:inline-flex;flex-wrap:wrap;gap:.5rem}.tool-badge-wrapper{display:inline-block;position:relative}.tool-badge{cursor:pointer;position:relative;transition:background-color .2s,box-shadow .2s}.tool-badge:hover{background-color:#e5e7eb;box-shadow:0 2px 4px #0000001a}.tool-copied-indicator{animation:fadeIn .2s ease-in;color:#10b981;font-size:.85em;font-weight:600;margin-left:.25rem}@keyframes fadeIn{0%{opacity:0;transform:translateY(-2px)}to{opacity:1;transform:translateY(0)}}.tool-tooltip{animation:tooltipFadeIn .2s ease-out;background:#fff;border:1px solid #d1d5db;border-radius:.5rem;bottom:100%;box-shadow:0 10px 25px #00000026;left:50%;max-width:500px;min-width:350px;padding:1rem;position:absolute;transform:translateX(-50%) translateY(-8px);z-index:1000}@keyframes tooltipFadeIn{0%{opacity:0;transform:translateX(-50%) translateY(-4px)}to{opacity:1;transform:translateX(-50%) translateY(-8px)}}.tool-tooltip:after{border-left:8px solid #0000;border-right:8px solid #0000;border-top:8px solid #fff}.tool-tooltip:after,.tool-tooltip:before{content:"";height:0;left:50%;position:absolute;top:100%;transform:translateX(-50%);width:0}.tool-tooltip:before{border-left:9px solid #0000;border-right:9px solid #0000;border-top:9px solid #d1d5db;margin-top:-1px}.tool-tooltip-header{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;margin-bottom:.75rem;padding-bottom:.5rem}.tool-tooltip-title{color:#1f2937;font-size:.95rem;font-weight:600}.tool-tooltip-status{border-radius:.25rem;font-size:.75rem;font-weight:600;padding:.125rem .5rem}.tool-tooltip-status.success{background-color:#dcfce7;color:#16a34a}.tool-tooltip-status.error{background-color:#fee2e2;color:#dc2626}.tool-tooltip-section{margin-bottom:.75rem}.tool-tooltip-section:last-child{margin-bottom:0}.tool-tooltip-label{color:#6b7280;font-size:.75rem;font-weight:600;letter-spacing:.025em;margin-bottom:.25rem;text-transform:uppercase}.tool-tooltip-content{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:.375rem;color:#4b5563;font-family:SF Mono,Monaco,Courier New,monospace;font-size:.75rem;margin:0;max-height:200px;overflow-x:auto;overflow-y:auto;padding:.5rem;white-space:pre-wrap;word-break:break-word}.proposal-card{background-color:#f3f4f6;border:1px solid #d1d5db;border-radius:.5rem;margin-bottom:.5rem;padding:.75rem;transition:all .2s}.proposal-card.accepted{background-color:#dcfce7;border-color:#86efac}.proposal-card.rejected{background-color:#fee2e2;border-color:#fca5a5;opacity:.7}.proposal-header{display:flex;justify-content:space-between;margin-bottom:.5rem}.proposal-type{color:#6b7280;font-size:.75rem;font-weight:600;text-transform:uppercase}.proposal-status{background-color:#e5e7eb;border-radius:9999px;color:#4b5563;font-size:.75rem;padding:.125rem .5rem}.proposal-content{margin-bottom:.75rem}.annotation-preview{align-items:center;color:#6b7280;display:flex;font-size:.875rem;gap:.5rem;margin-bottom:.5rem}.proposal-reasoning{color:#374151;font-size:.875rem;margin:.5rem 0}.proposal-actions{display:flex;gap:.5rem}.accept-btn,.reject-btn{align-items:center;border:none;border-radius:.375rem;cursor:pointer;display:flex;font-size:.875rem;font-weight:500;gap:.25rem;padding:.375rem .75rem;transition:all .2s}.accept-btn{background-color:#10b981;color:#fff}.accept-btn:hover{background-color:#059669}.reject-btn{background-color:#ef4444;color:#fff}.reject-btn:hover{background-color:#dc2626}.reject-input{display:flex;flex:1 1;gap:.5rem}.reject-input input{border:1px solid #d1d5db;border-radius:.375rem;flex:1 1;font-size:.875rem;padding:.375rem .75rem}.reject-input button{background-color:#ef4444;border:none;border-radius:.375rem;color:#fff;cursor:pointer;font-size:.875rem;font-weight:500;padding:.375rem .75rem}.tool-calls{background-color:#f9fafb;border:1px solid #e5e7eb;border-radius:.375rem;font-size:.875rem;margin-top:.5rem;padding:.5rem}.tool-calls-header{align-items:center;color:#6b7280;display:flex;font-weight:600;gap:.25rem;margin-bottom:.375rem}.tool-call{color:#374151;padding:.25rem 0}.tool-action{align-items:center;display:flex;gap:.25rem}.message-content-wrapper{flex:1 1}.message-agent{margin-top:.5rem}.agent-badge{background-color:#e0e7ff;color:#4338ca}.agent-badge,.tool-badge{border-radius:.25rem;display:inline-block;font-size:.75rem;font-weight:500;padding:.25rem .5rem}.tool-badge{background-color:#dbeafe;color:#1e40af;margin-right:.5rem}@keyframes slideDown{0%{max-height:0;opacity:0;transform:translateY(-10px)}to{max-height:200px;opacity:1;transform:translateY(0)}}@keyframes quickPulse{0%,to{filter:drop-shadow(0 0 8px rgba(59,130,246,.6));transform:scale(1)}50%{filter:drop-shadow(0 0 12px rgba(59,130,246,1));transform:scale(1.1)}}@media (max-width:1440px){.agent-chat-header-new,.agent-chat-input-container,.chat-header-modern{padding:.75rem 1rem}.chat-messages-modern{gap:1.25rem;padding:3rem 0 1.5rem}.message-text-modern{font-size:.9375rem;line-height:1.65}}@media (max-width:1280px){.agent-chat-header-new,.agent-chat-input-container,.chat-header-modern{padding:.625rem .875rem}.chat-messages-modern{gap:1rem;padding:2.5rem 0 1.25rem}.message-text-modern{font-size:.875rem;line-height:1.6}.agent-chat-input{font-size:.875rem;padding:.75rem 3.5rem .75rem 1rem}.chat-title-modern h3{font-size:1rem}}.files-panel-simple{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffff2;display:flex;flex-direction:column;height:100%;overflow:hidden}.files-project-name{background:#ffffff80;border-bottom:1px solid #e5e7eb80;padding:1rem 1rem .75rem}.files-project-name h3{color:#111827;font-size:.9375rem;font-weight:700;letter-spacing:-.01em;margin:0;text-align:center}.files-simple-upload-top{border-bottom:1px solid #e5e7ebcc;padding:.75rem 1rem}.upload-btn-top{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:8px;box-shadow:0 2px 4px #3b82f64d;color:#fff;cursor:pointer;display:flex;font-size:.875rem;font-weight:600;gap:.5rem;justify-content:center;padding:.75rem 1rem;transition:all .2s;width:100%}.upload-btn-top:hover:not(:disabled){box-shadow:0 4px 12px #3b82f666;transform:translateY(-1px)}.upload-btn-top:disabled{cursor:not-allowed;opacity:.6}.files-simple-error{align-items:center;background:#fef2f2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;display:flex;font-size:.875rem;gap:.5rem;margin:0 1rem 1rem;padding:.75rem}.error-close{background:#0000;border:none;color:#dc2626;cursor:pointer;margin-left:auto;padding:.25rem}.upload-progress{background:#fff;border:1px solid #e2e8f0;border-radius:8px;margin:0 1rem .5rem;padding:.75rem}.progress-bar{background:#f1f5f9;border-radius:3px;height:6px;margin-bottom:.5rem;overflow:hidden}.progress-fill{background:linear-gradient(90deg,#3b82f6,#2563eb);border-radius:3px;height:100%;transition:width .3s ease-out}.progress-text{color:#64748b;font-size:.75rem;font-weight:600}.files-simple-list{flex:1 1;overflow-y:auto;padding:.75rem 1rem}.files-simple-list::-webkit-scrollbar{width:8px}.files-simple-list::-webkit-scrollbar-track{background:#0000}.files-simple-list::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.file-simple-item{align-items:center;background:#fff;border:1.5px solid #e5e7eb;border-radius:8px;cursor:pointer;display:flex;gap:.625rem;margin-bottom:.375rem;padding:.625rem .75rem;transition:all .2s}.file-simple-item:hover{background:#f9fafb;border-color:#d1d5db;transform:translateX(2px)}.file-simple-item.selected{background:linear-gradient(135deg,#eff6ff,#dbeafe);border-color:#60a5fa;border-width:2px}.file-simple-index{align-items:center;background:#f3f4f6;border-radius:6px;color:#6b7280;display:flex;flex-shrink:0;font-size:.75rem;font-weight:700;height:24px;justify-content:center;width:24px}.file-simple-item.selected .file-simple-index{background:#3b82f6;color:#fff}.file-simple-info{flex:1 1;min-width:0}.file-simple-name{overflow:hidden;padding:4px 0;text-overflow:ellipsis;white-space:nowrap}.file-name-edit-input,.file-simple-name{color:#111827;font-size:.875rem;font-weight:600}.file-name-edit-input{background:#fff;border:2px solid #3b82f6;border-radius:4px;box-shadow:0 0 0 3px #3b82f61a;outline:none;padding:4px 6px;width:100%}.file-simple-item.editing{background:#eff6ff!important;border-color:#3b82f6!important}.file-simple-edit{align-items:center;background:#0000;border:1px solid #e5e7eb;border-radius:6px;color:#6b7280;cursor:pointer;display:flex;flex-shrink:0;height:28px;justify-content:center;opacity:0;transition:all .2s;width:28px}.file-simple-item:hover .file-simple-edit{opacity:1}.file-simple-edit:hover{background:#eff6ff;border-color:#93c5fd;color:#3b82f6}.file-simple-delete{align-items:center;background:#0000;border:1px solid #e5e7eb;border-radius:6px;color:#6b7280;cursor:pointer;display:flex;flex-shrink:0;height:28px;justify-content:center;opacity:0;transition:all .2s;width:28px}.file-simple-item:hover .file-simple-delete{opacity:1}.file-simple-delete:hover{background:#fee2e2;border-color:#fca5a5;color:#dc2626}.files-simple-empty{align-items:center;display:flex;flex-direction:column;justify-content:center;padding:3rem 1rem;text-align:center}.empty-icon{color:#cbd5e1;margin-bottom:1rem}.files-simple-empty p{color:#6b7280;font-size:.9375rem;margin:0 0 1.5rem}.empty-upload-btn{align-items:center;background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:8px;box-shadow:0 2px 4px #3b82f64d;color:#fff;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:600;gap:.5rem;padding:.625rem 1.25rem;transition:all .2s}.empty-upload-btn:hover{box-shadow:0 4px 12px #3b82f666;transform:translateY(-1px)}@media (max-width:1440px){.files-project-name{padding:.875rem .875rem .625rem}.files-project-name h3{font-size:.875rem}.files-simple-list,.files-simple-upload-top,.upload-btn-top{padding:.625rem .875rem}.upload-btn-top{font-size:.8125rem}}@media (max-width:1280px){.files-project-name{padding:.75rem .75rem .5rem}.files-project-name h3{font-size:.8125rem}.files-simple-list,.files-simple-upload-top,.upload-btn-top{padding:.5rem .75rem}.upload-btn-top{font-size:.75rem;gap:.375rem}.file-simple-item{gap:.5rem;margin-bottom:.25rem;padding:.5rem .625rem}.file-simple-index{font-size:.6875rem;height:20px;width:20px}.file-simple-name{font-size:.8125rem}.file-simple-delete,.file-simple-edit{height:24px;width:24px}}.key-panel-tree{background:#fff;border-top:1px solid #e5e7eb;bottom:0;box-shadow:0 -2px 8px #0000000d;display:flex;height:320px;left:0;position:fixed;right:0;transition:height .3s ease;z-index:50}.tree-search{align-items:center;background:#f9fafb;border:1px solid #e5e7eb;border-radius:8px;display:flex;gap:8px;left:12px;max-width:calc(50vw - 24px);padding:8px 12px;position:absolute;right:12px;top:12px;z-index:10}.tree-search input{background:#0000;border:none;color:#111827;flex:1 1;font-size:.875rem;outline:none}.tree-search input::placeholder{color:#9ca3af}.tree-container{flex-shrink:0;overflow-x:hidden;overflow-y:auto;padding:56px 12px 12px;width:50vw}.tree-container::-webkit-scrollbar{width:8px}.tree-container::-webkit-scrollbar-track{background:#0000}.tree-container::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.tree-container::-webkit-scrollbar-thumb:hover{background:#94a3b8}.tree-empty{align-items:center;color:#9ca3af;display:flex;flex-direction:column;gap:1rem;height:100%;justify-content:center}.tree-empty p{font-size:.9375rem;margin:0}.extract-btn{background:linear-gradient(135deg,#3b82f6,#2563eb);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:.875rem;font-weight:600;padding:.625rem 1.25rem;transition:all .2s}.extract-btn:hover{box-shadow:0 4px 12px #3b82f666;transform:translateY(-1px)}.tree-node{-webkit-user-select:none;user-select:none}.node-label{align-items:center;border-radius:6px;cursor:pointer;display:flex;font-size:.875rem;gap:8px;margin-bottom:2px;padding:8px 12px;transition:all .2s}.node-label:hover{background:#f3f4f6}.node-label.selected{background:linear-gradient(135deg,#dbeafe,#eff6ff);border-left:4px solid #3b82f6;box-shadow:0 2px 8px #3b82f626;color:#1e40af;font-weight:700}.node-label.level-0{color:#111827;font-size:.9375rem;font-weight:700}.node-label.level-1{color:#374151;font-weight:600}.node-label.level-2{color:#6b7280;font-weight:500}.node-label.type{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid #00000014}.expand-icon{align-items:center;color:#9ca3af;display:flex;height:16px;justify-content:center}.bullet,.expand-icon{flex-shrink:0;width:16px}.bullet{color:#d1d5db;font-size:.875rem;text-align:center}.type-indicator{border:1px solid #ffffff80;border-radius:50%;box-shadow:0 1px 3px #0000001a;flex-shrink:0;height:12px;width:12px}.node-name{flex:1 1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.node-count{background:#f3f4f6;border-radius:12px;color:#9ca3af;flex-shrink:0;font-size:.75rem;font-weight:700;padding:2px 8px}.node-label.selected .node-count{background:#3b82f6;box-shadow:0 2px 4px #3b82f64d;color:#fff;font-weight:700}.component-details{align-items:center;background:#fff;border-left:2px solid #e5e7eb;display:flex;flex-direction:column;flex-shrink:0;gap:24px;justify-content:center;overflow-y:auto;padding:40px;width:50vw}.component-details::-webkit-scrollbar{width:6px}.component-details::-webkit-scrollbar-track{background:#0000}.component-details::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:3px}.detail-symbol-container{align-items:center;background:#fff;border:3px solid #e5e7eb;border-radius:12px;box-shadow:0 8px 24px #0000001a;display:flex;height:220px;justify-content:center;overflow:hidden;transition:all .2s ease;-webkit-user-select:none;user-select:none;width:600px}.detail-symbol-container:hover{border-color:#3b82f6;box-shadow:0 8px 24px #3b82f633,0 0 0 3px #3b82f61a;transform:translateY(-2px)}.detail-symbol-container:active{cursor:grabbing!important;transform:scale(.98)}.detail-symbol-image{height:100%;object-fit:contain;padding:24px;width:100%}.detail-symbol-placeholder{align-items:center;color:#9ca3af;display:flex;flex-direction:column;gap:12px;justify-content:center}.placeholder-icon{opacity:.4}.placeholder-text{font-size:.875rem;font-weight:500;margin:0}.detail-stats-row{align-items:stretch;display:flex;gap:12px;justify-content:space-between;width:600px}.stat-item{align-items:center;background:#f9fafb;border:2px solid #e5e7eb;border-radius:10px;display:flex;flex:1 1;flex-direction:column;justify-content:center;padding:14px 8px;transition:all .2s}.stat-item:hover{background:#f3f4f6;border-color:#d1d5db;box-shadow:0 4px 12px #00000014;transform:translateY(-2px)}.stat-label{color:#6b7280;font-size:.875rem;font-weight:700;letter-spacing:.05em;margin-bottom:10px;text-transform:uppercase}.stat-value{color:#111827;font-size:2rem;font-weight:900;line-height:1}.stat-item.stat-total{background:linear-gradient(135deg,#dcfce7,#bbf7d0);border-color:#86efac;border-width:3px}.stat-item.stat-total .stat-label{color:#166534;font-size:.9375rem}.stat-item.stat-total .stat-value{color:#16a34a;font-size:2.25rem}.extraction-progress{background:#3b82f6f2;border-radius:8px;bottom:12px;box-shadow:0 4px 12px #00000026;color:#fff;font-size:.8125rem;font-weight:600;left:50%;max-width:80%;padding:8px 16px;position:absolute;text-align:center;transform:translateX(-50%);z-index:30}@media (max-width:1680px){.key-panel-tree{height:300px}.component-details{gap:18px;padding:28px}.detail-symbol-container{height:200px;width:560px}.detail-stats-row{gap:12px;width:560px}.stat-item{padding:14px 8px}.stat-label{font-size:.75rem}.stat-value{font-size:1.5rem}.stat-item.stat-total .stat-value{font-size:1.75rem}}@media (max-width:1440px){.key-panel-tree{height:280px}.component-details{gap:16px;padding:24px}.detail-symbol-container{height:180px;width:520px}.detail-stats-row{gap:10px;width:520px}.stat-item{padding:12px 6px}.stat-label{font-size:.6875rem}.stat-value{font-size:1.375rem}.stat-item.stat-total .stat-value{font-size:1.625rem}}@media (max-width:1280px){.key-panel-tree{height:240px}.component-details{gap:14px;padding:20px}.tree-search{padding:6px 10px}.tree-search input{font-size:.8125rem}.tree-container{padding:48px 8px 8px}.node-label{font-size:.8125rem;padding:6px 10px}.node-label.level-0{font-size:.875rem}.detail-symbol-container{height:160px;width:460px}.detail-stats-row{gap:8px;width:460px}.stat-item{padding:10px 6px}.stat-label{font-size:.625rem;margin-bottom:6px}.stat-value{font-size:1.125rem}.stat-item.stat-total .stat-value{font-size:1.375rem}}@media (max-width:1024px){.key-panel-tree{height:260px}.component-details{gap:12px;padding:18px}.tree-search{max-width:calc(50vw - 24px)}.detail-symbol-container{height:150px;width:420px}.detail-stats-row{gap:8px;width:420px}.stat-item{padding:10px 6px}.stat-label{font-size:.5625rem;margin-bottom:5px}.stat-value{font-size:1.125rem}.stat-item.stat-total .stat-value{font-size:1.375rem}}.estimation-detail-container{background-color:#f9fafb;left:0;position:fixed;top:0}.estimation-detail-container,.estimation-main-layout{display:flex;flex-direction:column;height:100vh;overflow:hidden;width:100vw}.files-sidebar{-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffffa;border-right:1px solid #e5e7ebcc;bottom:320px;box-shadow:2px 0 16px #0000001a;left:0;position:fixed;top:45px;transition:transform .3s ease,opacity .3s ease,bottom .3s ease;width:280px;z-index:60}.estimation-main-layout:not(:has(.key-panel-tree)) .files-sidebar{bottom:0}.files-sidebar.hidden{opacity:0;pointer-events:none;transform:translateX(-100%)}.canvas-and-chat-container{display:flex;flex:1 1;flex-direction:column;min-height:0;overflow:visible;width:100%}.canvas-chat-row{display:flex;flex:1 1;min-height:0;overflow:visible}.canvas-panel{background:#fff;flex:1 1;min-width:0;overflow:visible;transition:all .3s ease}.chat-sidebar{background:#fff;border-left:1px solid #e5e7eb;box-shadow:-2px 0 8px #0000000d;display:flex;flex-direction:column;flex-shrink:0;overflow:hidden;transition:width .3s ease,margin-right .3s ease,opacity .3s ease;width:540px;z-index:50}.chat-sidebar.collapsed{border-left:none;box-shadow:none;margin-right:0;opacity:0;pointer-events:none;width:0}.estimation-detail-header{align-items:center;background:linear-gradient(135deg,#fff,#f3f4f6);border-bottom:1px solid #e5e7eb;box-shadow:0 1px 3px 0 #0000001a;display:flex;flex-shrink:0;gap:1.5rem;padding:1rem 2rem}.back-button{align-items:center;background-color:#fff;border:2px solid #e5e7eb;border-radius:12px;box-shadow:0 1px 2px 0 #0000000d;color:#111827;cursor:pointer;display:flex;height:56px;justify-content:center;transition:all .2s;width:56px}.back-button:hover{background-color:#f3f4f6;border-color:#9ca3af;box-shadow:0 4px 6px -1px #0000001a;color:#000;transform:translateX(-3px)}.estimation-header-info{flex:1 1}.estimation-header-info h1{color:#111827;font-size:1.5rem;font-weight:600;margin:0 0 .25rem}.client-name{color:#6b7280;font-size:.875rem}.estimation-header-status{align-items:center;display:flex}.status-badge{border-radius:.375rem;font-size:.75rem;font-weight:600;letter-spacing:.05em;padding:.375rem .75rem;text-transform:uppercase}.status-badge.status-planning{background-color:#fbbf241a;border:1px solid #fbbf2433;color:#fbbf24}.status-badge.status-in-progress{background-color:#3b82f61a;border:1px solid #3b82f633;color:#3b82f6}.status-badge.status-completed{background-color:#10b9811a;border:1px solid #10b98133;color:#10b981}.estimation-detail-content,.estimation-detail-content-with-sidebar{background-color:#e5e7eb;display:flex;flex:1 1;gap:1px;overflow:hidden}.panel{background-color:#fff;display:flex;flex-direction:column;overflow:hidden}.panel-header{background:linear-gradient(135deg,#fff,#f9fafb);border-bottom:1px solid #e5e7eb;flex-shrink:0;padding:1rem 1.25rem}.panel-header h3{color:#374151;font-size:1rem;font-weight:600;margin:0}.blueprint-viewer-panel{flex:7 1;min-width:0}.agent-chat-panel{flex:none;max-width:30vw;min-width:320px;transition:width .4s ease,max-width .4s ease;width:30vw}.agent-chat-panel.expanded{max-width:100vw!important;width:100vw!important;z-index:10}.estimation-not-found{gap:1.5rem}.estimation-not-found h2{color:#f3f4f6;font-size:1.5rem}.floating-settings-btn{align-items:center;background:#3b82f6;border:none;border-radius:50%;bottom:2rem;box-shadow:0 4px 12px #3b82f666;color:#fff;cursor:pointer;display:flex;height:56px;justify-content:center;position:fixed;right:2rem;transition:all .3s ease;width:56px;z-index:1000}.floating-settings-btn:hover{background:#2563eb;box-shadow:0 6px 20px #3b82f680;transform:scale(1.1)}.floating-settings-btn:active{transform:scale(1.05)}@media (max-width:1400px){.estimation-detail-content-with-sidebar{gap:0}}@media (max-width:1200px){.estimation-detail-content,.estimation-detail-content-with-sidebar{flex-direction:column}.blueprint-viewer-panel{flex:1 1;min-height:400px}.agent-chat-panel{height:400px;min-width:0;min-width:auto;width:100%}}.estimation-loading{align-items:center;color:#888;display:flex;flex-direction:column;gap:20px;height:100vh;justify-content:center}.loading-spinner{animation:spin 1s linear infinite;border:4px solid #ffffff1a;border-left-color:#3b82f6;border-radius:50%;height:40px;width:40px}@keyframes spin{to{transform:rotate(1turn)}}.estimation-not-found{align-items:center;display:flex;flex-direction:column;gap:20px;height:100vh;justify-content:center}.btn-extract-key{opacity:0;transition:opacity .3s ease,transform .2s ease,box-shadow .2s ease}.btn-extract-key:hover{opacity:1}.agent-chat-panel{position:relative}.extraction-overlay{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#fffffff2;bottom:0;display:flex;justify-content:center;left:0;pointer-events:none;position:absolute;right:0;top:0;z-index:1000}.extraction-message{align-items:center;background:#fff;border:2px solid #e5e7eb;border-radius:1rem;box-shadow:0 10px 40px #0000001a;color:#374151;display:flex;flex-direction:column;font-size:1.125rem;font-weight:600;gap:1rem;padding:2rem}.extraction-spinner{animation:pulse 1.5s ease-in-out infinite;font-size:2.5rem}.extraction-progress{color:#6b7280;font-size:.875rem;font-weight:400;margin-top:.5rem}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.6;transform:scale(1.1)}}.agent-chat-panel.collapsed{max-width:50px;min-width:50px;transition:width .3s ease;width:50px}.agent-chat-collapsed-container{align-items:center;background:linear-gradient(180deg,#fff,#fafbfc);border-left:1px solid #e1e6eb;display:flex;flex-direction:column;gap:1rem;height:100%;padding-top:1rem;width:100%}.agent-chat-collapsed-icons{display:flex;flex-direction:column;gap:.5rem}.agent-chat-collapsed-icon{align-items:center;background:#0000;border:1px solid #e5e7eb;border-radius:8px;color:#6b7280;cursor:pointer;display:flex;height:32px;justify-content:center;transition:all .2s;width:32px}.agent-chat-collapsed-icon:hover{background:#f3f4f6;border-color:#3b82f6;color:#3b82f6}.agent-chat-expand-btn{align-items:center;background:linear-gradient(135deg,#6b7280,#4b5563);border:none;border-radius:8px;box-shadow:0 2px 4px #6b728033;color:#fff;cursor:pointer;display:flex;height:32px;justify-content:center;transition:box-shadow .2s,background .2s;width:32px}.agent-chat-expand-btn:hover{background:linear-gradient(135deg,#4b5563,#374151);box-shadow:0 4px 12px #6b72804d}.agent-chat-expand-btn:active{box-shadow:0 2px 4px #6b728033}@media (max-width:1680px){.files-sidebar{bottom:300px;width:240px}.chat-sidebar{width:510px}}@media (max-width:1440px){.files-sidebar{bottom:280px;width:220px}.chat-sidebar{width:480px}}@media (max-width:1280px){.files-sidebar{bottom:240px;width:200px}.chat-sidebar{width:420px}}.login-container{align-items:center;background:#f8fafc;display:flex;justify-content:center;min-height:100vh;padding:1rem}.login-card{backdrop-filter:blur(40px) saturate(180%);-webkit-backdrop-filter:blur(40px) saturate(180%);background:linear-gradient(180deg,#ffffffe6 0,#f0f9ffe6);border:1px solid #ffffff1f;border-radius:20px;box-shadow:0 20px 60px #1f268726,0 8px 32px #1f268714,inset 0 1px 1px #fff6,inset 0 -1px 1px #ffffff26;max-width:420px;padding:3rem;width:100%}.login-header{margin-bottom:2rem;text-align:center}.login-icon{display:none}.login-title{-webkit-text-fill-color:#0000;background:linear-gradient(135deg,#3b82f6,#2563eb);-webkit-background-clip:text;background-clip:text;filter:drop-shadow(0 0 20px rgba(59,130,246,.3));font-size:3.5rem;font-weight:800;letter-spacing:-.02em;margin:0 0 .5rem}.login-subtitle{color:#64748b;font-size:1rem;margin:0}.login-form,.login-form .form-group{display:flex;flex-direction:column;gap:.5rem}.login-form .form-label{color:#334155;font-size:.875rem;font-weight:600}.login-form .form-input{background:#0000;border:2px solid #e2e8f0;border-radius:50px;box-sizing:border-box;font-size:1rem;padding:.75rem 1.25rem;transition:all .2s;width:100%}.login-form .form-input:focus{border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a;outline:none}.error-message{background:#fee2e2;border:1px solid #fecaca;border-radius:8px;color:#dc2626;font-size:.875rem;padding:.75rem 1rem;text-align:center}.login-button{background:#0000;border:2px solid #3b82f6;border-radius:50px;color:#3b82f6;cursor:pointer;font-size:1rem;font-weight:600;overflow:hidden;padding:.875rem 1.5rem;position:relative;transition:all .3s;width:100%}.login-button-text{display:inline-block;transition:all .3s}.login-button-arrow{font-size:1.5rem;opacity:0;position:absolute;right:1.5rem;top:50%;transform:translateY(-50%) translateX(20px);transition:all .3s}.login-button:hover:not(:disabled) .login-button-arrow{opacity:1;transform:translateY(-50%) translateX(0)}.login-button:hover:not(:disabled){background:linear-gradient(135deg,#38bdf81f,#3b82f61f 50%,#3b82f61f);border-color:#2563eb;box-shadow:0 0 20px #3b82f666,0 0 40px #3b82f633;color:#2563eb;transform:translateY(-1px)}.login-button:active:not(:disabled){transform:translateY(0)}.login-button:disabled{cursor:not-allowed;opacity:.6}
/*# sourceMappingURL=main.86880693.css.map*/