body{margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}.contract-card{background:#fff;border:2px solid #0000;border-radius:12px;box-shadow:0 2px 8px #0000001a;cursor:pointer;overflow:hidden;padding:1.5rem;position:relative;transition:all .3s ease}.contract-card:before{background:#7fb069;content:"";height:4px;left:0;position:absolute;right:0;top:0;transform:scaleX(0);transition:transform .3s ease}.contract-card:hover{border-color:#7fb069;box-shadow:0 8px 25px #00000026;transform:translateY(-4px)}.contract-card:hover:before{transform:scaleX(1)}.contract-card:active{transform:translateY(-2px)}.card-header{align-items:flex-start;display:flex;gap:1rem;justify-content:space-between;margin-bottom:1rem}.property-address{color:#333;flex:1 1;font-size:1.2rem;font-weight:600;line-height:1.3;margin:0 1rem 0 0}.card-header-right{gap:.5rem;min-width:0}.card-header-right,.contract-dates{align-items:flex-end;display:flex;flex-direction:column}.contract-dates{font-size:.8rem;gap:.25rem}.purchase-agreement-date,.upload-date{align-items:flex-end;display:flex;flex-direction:column;text-align:right}.date-label{color:#666;font-size:.7rem;font-weight:500;letter-spacing:.5px;margin-bottom:.1rem;text-transform:uppercase}.date-value{color:#333;font-size:.8rem;font-weight:600}.purchase-agreement-date .date-value{color:#2c5aa0;font-size:.85rem;font-weight:700}.purchase-agreement-date .date-label{font-size:.7rem;font-weight:600}.upload-date .date-value{color:#666;font-size:.75rem}.upload-date .date-label{font-size:.65rem}.contract-id{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:6px;color:#fff;font-size:.8rem;font-weight:600;padding:4px 8px;white-space:nowrap}.card-content,.party-info{margin-bottom:1rem}.buyer-info,.seller-info{font-size:.9rem;margin-bottom:.5rem}.buyer-info strong,.seller-info strong{color:#555;margin-right:.5rem}.agent-info{margin-bottom:1rem}.buyer-agent,.seller-agent{font-size:.9rem;margin-bottom:.5rem}.buyer-agent strong,.seller-agent strong{color:#555;margin-right:.5rem}.closing-info{background-color:#fff;border-left:4px solid #d4a574;border-radius:8px;color:#666;font-size:.9rem;padding:.75rem}.closing-date{margin-bottom:0}.closing-date strong{color:#555;margin-right:.5rem}@media (max-width:768px){.contract-card{padding:1rem}.card-header{flex-direction:column;gap:.5rem}.property-address{margin-bottom:.5rem;margin-right:0}.card-header-right,.contract-dates{align-items:flex-start;width:100%}.purchase-agreement-date,.upload-date{align-items:flex-start;text-align:left}.contract-id{align-self:flex-end}}.loading-container{align-items:center;background-color:#fbf7f4;display:flex;justify-content:center;min-height:100vh}.loading-spinner{text-align:center}.loading-gif{display:block;height:50px;margin:0 auto 1rem;width:50px}.loading-spinner p{color:#666;font-size:1.1rem;margin:0}.wizard-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;position:fixed;right:0;top:0;z-index:1000}.wizard-container{animation:slideIn .3s ease-out;background:#fff;border-radius:12px;box-shadow:0 20px 40px #00000026;max-height:90vh;max-width:600px;overflow-y:auto;width:90%}@keyframes slideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.wizard-header{align-items:center;background:#2c3e50;border-bottom:1px solid #e5e7eb;border-radius:12px 12px 0 0;color:#fff;display:flex;justify-content:space-between;padding:20px 24px}.wizard-header h2{font-size:1.5rem;font-weight:600;margin:0}.wizard-close{background:none;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:24px;padding:4px 8px;transition:background-color .2s}.wizard-close:hover{background-color:#ffffff1a}.wizard-progress{background-color:#f8fafc;border-bottom:1px solid #e5e7eb;padding:16px 24px}.progress-bar{background-color:#e5e7eb;border-radius:4px;height:8px;margin-bottom:8px;overflow:hidden;width:100%}.progress-fill{background:#d4a574;height:100%;transition:width .3s ease}.progress-text{color:#6b7280;font-size:.875rem;font-weight:500}.wizard-content{padding:24px}.wizard-question{margin-bottom:24px}.wizard-question h3{color:#1f2937;font-size:1.25rem;font-weight:600;line-height:1.4;margin:0 0 16px}.wizard-input,.wizard-select,.wizard-textarea{border:2px solid #d1d5db;border-radius:8px;box-sizing:border-box;font-size:1rem;padding:12px 16px;transition:border-color .2s,box-shadow .2s;width:100%}.wizard-input:focus,.wizard-select:focus,.wizard-textarea:focus{border-color:#79c3db;box-shadow:0 0 0 3px #79c3db1a;outline:none}.wizard-textarea{font-family:inherit;min-height:100px;resize:vertical}.wizard-yesno{display:flex;gap:12px}.wizard-button{background:#f5f5f5;border:2px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 8px #0000001a;color:#666;cursor:pointer;font-size:1rem;font-weight:600;padding:12px 24px;transition:all .3s ease}.wizard-button:hover:not(:disabled){background:#e8e8e8;border-color:#d0d0d0;box-shadow:0 4px 12px #00000026;transform:translateY(-1px)}.wizard-button.active{background:#7fb069;border:2px solid #7fb069;box-shadow:0 4px 15px #00808066;color:#fff;transform:translateY(-1px)}.wizard-button.primary{color:#fff}.wizard-button.primary,.wizard-button.primary:hover:not(:disabled){background:#d4a574;border-color:#d4a574}.wizard-button.secondary{background:#fff;border-color:#d1d5db;color:#374151}.wizard-button.secondary:hover:not(:disabled){background:#f9fafb;border-color:#9ca3af}.wizard-button:disabled{cursor:not-allowed;opacity:.5}.wizard-actions{border-top:1px solid #e5e7eb;display:flex;gap:12px;justify-content:space-between;padding-top:16px}.result-message{border-radius:8px;font-weight:500;margin-bottom:16px;padding:16px;text-align:center}.result-message.success{background-color:#d1fae5;border:1px solid #a7f3d0;color:#065f46}.result-message.error{background-color:#fee2e2;border:1px solid #fca5a5;color:#991b1b}.result-details{background-color:#f8fafc;border-radius:8px;margin-bottom:16px;padding:16px}.result-details p{color:#374151;margin:8px 0}.result-details strong{color:#1f2937}@media (max-width:640px){.wizard-container{margin:20px;width:95%}.wizard-header{padding:16px 20px}.wizard-header h2{font-size:1.25rem}.wizard-content{padding:20px}.wizard-question h3{font-size:1.125rem}.wizard-actions{flex-direction:column}.wizard-button{width:100%}.wizard-yesno{flex-direction:column}}.wizard-button,.wizard-input,.wizard-select,.wizard-textarea{animation:fadeIn .3s ease-out}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.wizard-address{display:flex;flex-direction:column;gap:10px}.wizard-currency{align-items:center;display:flex;position:relative}.currency-symbol{color:#666;font-weight:700;left:12px;position:absolute;z-index:1}.currency-input{padding-left:30px!important}.wizard-earnest-money{align-items:center;display:flex;flex-direction:row;gap:15px}.wizard-earnest-money .wizard-button{background:#f5f5f5;border:2px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 8px #0000001a;color:#666;cursor:pointer;flex:1 1;font-size:16px;font-weight:600;min-height:48px;transition:all .3s ease}.wizard-earnest-money .wizard-button:hover{background:#e8e8e8;border-color:#d0d0d0;box-shadow:0 4px 12px #00000026;transform:translateY(-1px)}.wizard-earnest-money .wizard-button.active{background:#7fb069;border:2px solid #7fb069;box-shadow:0 4px 15px #00808066;color:#fff;transform:translateY(-1px)}.wizard-earnest-money .wizard-button.active:hover{background:#7fb069;border-color:#7fb069;box-shadow:0 6px 20px #00808080;transform:translateY(-2px)}.wizard-earnest-money .wizard-input-group{flex:1 1}.wizard-access-persons,.wizard-additional-provisions,.wizard-closing-days,.wizard-contingency-start,.wizard-inclusions-exclusions,.wizard-inspection-days,.wizard-negotiation-days,.wizard-signing-date,.wizard-title-extension{align-items:center;display:flex;flex-direction:row;gap:15px}.wizard-access-persons .wizard-button,.wizard-additional-provisions .wizard-button,.wizard-closing-days .wizard-button,.wizard-contingency-start .wizard-button,.wizard-inclusions-exclusions .wizard-button,.wizard-inspection-days .wizard-button,.wizard-negotiation-days .wizard-button,.wizard-signing-date .wizard-button,.wizard-title-extension .wizard-button{background:#f5f5f5;border:2px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 8px #0000001a;color:#666;cursor:pointer;flex:1 1;font-size:16px;font-weight:600;min-height:48px;transition:all .3s ease}.wizard-access-persons .wizard-button:hover,.wizard-additional-provisions .wizard-button:hover,.wizard-closing-days .wizard-button:hover,.wizard-contingency-start .wizard-button:hover,.wizard-inclusions-exclusions .wizard-button:hover,.wizard-inspection-days .wizard-button:hover,.wizard-negotiation-days .wizard-button:hover,.wizard-signing-date .wizard-button:hover,.wizard-title-extension .wizard-button:hover{background:#e8e8e8;border-color:#d0d0d0;box-shadow:0 4px 12px #00000026;transform:translateY(-1px)}.wizard-access-persons .wizard-button.active,.wizard-additional-provisions .wizard-button.active,.wizard-closing-days .wizard-button.active,.wizard-contingency-start .wizard-button.active,.wizard-inclusions-exclusions .wizard-button.active,.wizard-inspection-days .wizard-button.active,.wizard-negotiation-days .wizard-button.active,.wizard-signing-date .wizard-button.active,.wizard-title-extension .wizard-button.active{background:teal;border:2px solid teal;box-shadow:0 4px 15px #00808066;color:#fff;transform:translateY(-1px)}.wizard-access-persons .wizard-button.active:hover,.wizard-additional-provisions .wizard-button.active:hover,.wizard-closing-days .wizard-button.active:hover,.wizard-contingency-start .wizard-button.active:hover,.wizard-inclusions-exclusions .wizard-button.active:hover,.wizard-inspection-days .wizard-button.active:hover,.wizard-negotiation-days .wizard-button.active:hover,.wizard-signing-date .wizard-button.active:hover,.wizard-title-extension .wizard-button.active:hover{background:#066;border-color:#066;box-shadow:0 6px 20px #00808080;transform:translateY(-2px)}.wizard-access-persons .wizard-input-group,.wizard-additional-provisions .wizard-input-group,.wizard-closing-days .wizard-input-group,.wizard-contingency-start .wizard-input-group,.wizard-inclusions-exclusions .wizard-input-group,.wizard-inspection-days .wizard-input-group,.wizard-negotiation-days .wizard-input-group,.wizard-signing-date .wizard-input-group,.wizard-title-extension .wizard-input-group{flex:1 1}.wizard-input-group{display:flex;flex-direction:column;gap:10px}.wizard-input-group .wizard-button{align-self:flex-start}.wizard-survey-mortgage-payer{display:flex;flex-wrap:wrap;gap:10px}.wizard-mortgage-survey-report{display:flex;flex-direction:column;gap:12px}.wizard-mortgage-survey-report .wizard-button{background:#f5f5f5;border:2px solid #e0e0e0;border-radius:8px;box-shadow:0 2px 8px #0000001a;color:#666;cursor:pointer;flex:1 1;font-size:16px;font-weight:600;min-height:48px;padding:12px 16px;text-align:center;transition:all .3s ease}.wizard-mortgage-survey-report .wizard-button:hover{background:#e8e8e8;border-color:#d0d0d0;box-shadow:0 4px 12px #00000026;transform:translateY(-1px)}.wizard-mortgage-survey-report .wizard-button.active{background:#7fb069;border:2px solid #7fb069;box-shadow:0 4px 15px #00808066;color:#fff;transform:translateY(-1px)}.wizard-mortgage-survey-report .wizard-button.active:hover{background:#7fb069;border-color:#7fb069;box-shadow:0 6px 20px #00808080;transform:translateY(-2px)}@media (max-width:768px){.wizard-currency{align-items:center;flex-direction:row}.currency-symbol{flex-shrink:0;margin-bottom:0;margin-right:8px;position:static}.currency-input{flex:1 1;min-width:0;padding-left:12px!important}.wizard-survey-mortgage-payer{flex-direction:column}.wizard-earnest-money{align-items:stretch;flex-direction:column}.wizard-earnest-money .wizard-button{font-size:16px;min-height:48px}.wizard-access-persons,.wizard-additional-provisions,.wizard-closing-days,.wizard-contingency-start,.wizard-inclusions-exclusions,.wizard-inspection-days,.wizard-negotiation-days,.wizard-signing-date,.wizard-title-extension{align-items:stretch;flex-direction:column}.wizard-access-persons .wizard-button,.wizard-additional-provisions .wizard-button,.wizard-closing-days .wizard-button,.wizard-contingency-start .wizard-button,.wizard-inclusions-exclusions .wizard-button,.wizard-inspection-days .wizard-button,.wizard-negotiation-days .wizard-button,.wizard-signing-date .wizard-button,.wizard-title-extension .wizard-button{font-size:16px;min-height:48px}}@media (max-width:400px){.wizard-currency{align-items:center;flex-direction:row;gap:6px}.currency-symbol{flex-shrink:0;font-size:14px;margin-right:6px}.currency-input{font-size:14px;min-width:0;padding-left:8px!important}}.user-profile-overlay{align-items:center;background-color:#00000080;bottom:0;display:flex;justify-content:center;left:0;padding:20px;position:fixed;right:0;top:0;z-index:1000}.user-profile-container{background:#fff;border-radius:12px;box-shadow:0 10px 30px #0000004d;display:flex;flex-direction:column;max-height:90vh;max-width:600px;overflow-y:auto;width:100%}.user-profile-header{align-items:center;background:#2c3e50;border-bottom:1px solid #e5e7eb;border-radius:12px 12px 0 0;color:#fff;display:flex;justify-content:space-between;padding:20px 24px}.user-profile-header h2{font-size:24px;font-weight:600;margin:0}.close-button{align-items:center;background:none;border:none;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:28px;height:32px;justify-content:center;padding:0;transition:background-color .2s;width:32px}.close-button:hover{background-color:#fff3}.user-profile-content{flex:1 1;padding:24px}.profile-section{margin-bottom:32px}.profile-section:last-child{margin-bottom:0}.profile-section h3{border-bottom:2px solid #e5e7eb;color:#374151;font-size:18px;font-weight:600;margin:0 0 20px;padding-bottom:8px}.form-group{margin-bottom:20px}.form-group:last-child{margin-bottom:0}.form-group label{color:#374151;display:block;font-size:14px;font-weight:500;margin-bottom:6px}.form-group input,.form-group textarea{border:2px solid #d1d5db;border-radius:8px;box-sizing:border-box;font-size:16px;padding:12px 16px;transition:border-color .2s,box-shadow .2s;width:100%}.form-group input:focus,.form-group textarea:focus{border-color:#79c3db;box-shadow:0 0 0 3px #667eea1a;outline:none}.form-group input:disabled,.form-group textarea:disabled{background-color:#f9fafb;color:#6b7280;cursor:not-allowed}.form-group input.error,.form-group textarea.error{border-color:#ef4444}.form-group input.error:focus,.form-group textarea.error:focus{box-shadow:0 0 0 3px #ef44441a}.error-text{color:#ef4444;display:block;font-size:12px;font-weight:500;margin-top:4px}.message{border-radius:8px;font-weight:500;margin:16px 24px;padding:12px 16px;text-align:center}.message.success{background-color:#d1fae5;border:1px solid #a7f3d0;color:#065f46}.message.error{background-color:#fee2e2;border:1px solid #fca5a5;color:#991b1b}.user-profile-footer{background-color:#f9fafb;border-radius:0 0 12px 12px;border-top:1px solid #e5e7eb;padding:20px 24px}.button-group{display:flex;gap:12px;justify-content:flex-end}.cancel-button,.edit-button,.save-button{border:none;border-radius:8px;cursor:pointer;font-size:16px;font-weight:600;min-width:120px;padding:12px 24px;transition:all .2s}.edit-button{background:#d4a574;color:#fff;margin-left:auto}.edit-button:hover{box-shadow:0 4px 12px #667eea66;transform:translateY(-1px)}.save-button{background:#d4a574;color:#fff}.save-button:hover:not(:disabled){box-shadow:0 4px 12px #10b98166;transform:translateY(-1px)}.save-button:disabled{background:#9ca3af;box-shadow:none;cursor:not-allowed;transform:none}.cancel-button{background:#f3f4f6;border:2px solid #d1d5db;color:#374151}.cancel-button:hover:not(:disabled){background:#e5e7eb;border-color:#9ca3af}.cancel-button:disabled{background:#f9fafb;color:#9ca3af;cursor:not-allowed}@media (max-width:768px){.user-profile-overlay{padding:10px}.user-profile-container{max-height:95vh}.user-profile-header{padding:16px 20px}.user-profile-header h2{font-size:20px}.user-profile-content{padding:20px}.user-profile-footer{padding:16px 20px}.button-group{flex-direction:column}.cancel-button,.edit-button,.save-button{min-width:auto;width:100%}.form-group input,.form-group textarea{font-size:16px}}@media (max-width:480px){.user-profile-overlay{padding:5px}.user-profile-header{padding:12px 16px}.user-profile-content{padding:16px}.user-profile-footer{padding:12px 16px}.profile-section{margin-bottom:24px}.form-group{margin-bottom:16px}}.task-dashboard{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-bottom:20px;overflow:hidden}.task-dashboard-header{align-items:center;background:#2c3e50;color:#fff;display:flex;justify-content:space-between;padding:16px 20px}.task-dashboard-header h3{font-size:1.2rem;font-weight:600;margin:0}.task-dashboard-controls{align-items:center;display:flex;gap:12px}.task-dashboard-collapsed{background:#f8f9fa;border-top:1px solid #e9ecef;padding:12px 20px;text-align:center}.task-dashboard-content{padding:0}.task-dashboard-empty,.task-dashboard-error,.task-dashboard-loading{color:#666;padding:20px;text-align:center}.task-dashboard-loading{align-items:center;display:flex;gap:10px;justify-content:center}.task-dashboard-error{color:#e74c3c}.task-dashboard-empty{color:#27ae60}.contract-task-group{border-bottom:1px solid #e9ecef}.contract-task-group:last-child{border-bottom:none}.contract-header{align-items:center;background:#f8f9fa;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;padding:12px 20px}.contract-header h4{color:#36454f;font-size:1rem;font-weight:600;margin:0}.contract-tasks{padding:0}.task-item.status-to-do{border-left:4px solid #1f78b4}.task-item.status-in-progress{border-left:4px solid #f39c12}.task-item.status-completed{border-left:4px solid #79c3db}.task-main{margin-bottom:8px}.task-name{margin-bottom:4px}.task-milestone{color:#7f8c8d;font-size:.9rem;font-style:italic}@media (max-width:768px){.task-dashboard-header{padding:12px 16px}.task-dashboard-header h3{font-size:1.1rem}.task-count{font-size:.8rem;padding:3px 6px}.contract-header{padding:10px 16px}.contract-header h4{font-size:.9rem}.task-item{padding:12px 16px}.task-details{align-items:flex-start;flex-direction:column;gap:6px}.task-status{align-self:flex-end}}@media (max-width:480px){.task-dashboard-header{flex-direction:column;gap:8px;text-align:center}.task-dashboard-controls{justify-content:center}.contract-header{flex-direction:column;gap:4px;text-align:center}.task-name{font-size:.9rem}.task-milestone{font-size:.8rem}}.contracts-list-container{background-color:#fbf7f4;min-height:100vh}.contracts-list-container .app-header{background:#fff!important;box-shadow:0 2px 10px #0000001a;color:#2c3e50!important;height:96px;padding:0}.header-content{position:relative}.header-content h1{font-size:2rem}.user-info,.user-menu{position:relative}.settings-button{align-items:center;background-color:#2c3e501a;border:1px solid #2c3e504d;border-radius:6px;color:#2c3e50;cursor:pointer;display:flex;font-size:1rem;height:36px;justify-content:center;padding:8px 12px;transition:all .2s;width:36px}.settings-button:hover{background-color:#2c3e5033;transform:scale(1.05)}.dropdown-menu{background:#fff;border:1px solid #e5e7eb;border-radius:8px;box-shadow:0 4px 12px #00000026;margin-top:4px;min-width:120px;position:absolute;right:0;top:100%;z-index:1000}.dropdown-item{background:none;border:none;border-radius:0;color:#374151;cursor:pointer;display:block;font-size:.9rem;padding:10px 16px;text-align:left;transition:background-color .2s;width:100%}.dropdown-item:first-child{border-radius:8px 8px 0 0}.dropdown-item:last-child{border-radius:0 0 8px 8px}.dropdown-item:hover{background-color:#f3f4f6}.dropdown-item:active{background-color:#e5e7eb}.contracts-summary{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;margin-bottom:2rem;padding:1.5rem}.summary-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.contracts-summary h2{color:#333;margin:0}.create-contract-button{align-items:center;background:#7fb069;border:2px solid #2c3e50;border-radius:8px;box-shadow:0 2px 4px #0000001a;box-sizing:border-box;color:#fff;cursor:pointer;display:flex;font-size:.9rem;font-weight:500;height:48px;justify-content:center;padding:10px 20px;transition:all .3s ease}.create-contract-button:hover{box-shadow:0 4px 12px #00000026;transform:translateY(-2px)}.contracts-count{color:#666;font-size:1.1rem}.search-and-filters{align-items:center;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;display:flex;gap:1rem;margin-bottom:2rem;padding:1.5rem}.search-section{flex:1 1}.search-input{background-color:#fff;border:2px solid #e0e0e0!important;border-radius:8px;box-sizing:border-box;font-size:1rem;height:48px;padding:12px 16px;transition:border-color .3s ease;width:100%}.search-input:focus{background-color:#fff;border-color:#e0e0e0!important;box-shadow:none;outline:none!important}.search-input::placeholder{color:#999}.filters-section{min-width:200px}.filter-select{background-color:#fff;border:2px solid #e0e0e0;border-radius:8px;box-sizing:border-box;cursor:pointer;font-size:1rem;height:48px;padding:12px 16px;transition:border-color .3s ease;width:100%}.filter-select:focus{border-color:#2c3e50;box-shadow:0 0 0 3px #2c3e501a;outline:none}.create-contract-section{flex-shrink:0}.create-contract-section .create-contract-button{height:48px;padding:12px 20px;white-space:nowrap}.contracts-grid{grid-gap:1.5rem;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fill,minmax(350px,1fr))}.no-contracts{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;grid-column:1/-1;padding:3rem;text-align:center}.no-contracts p{color:#666;margin-bottom:.5rem}.error-message{align-items:center;background:#fee;border:1px solid #fcc;border-radius:8px;color:#c33;display:flex;justify-content:space-between;margin-bottom:1rem;padding:1rem}.retry-button{background-color:#dc3545;font-size:.8rem;padding:6px 12px}.retry-button:hover{background-color:#c82333}.profile-required-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh}.profile-required-content{background:#fff;border-radius:16px;box-shadow:0 10px 30px #0003;max-width:500px;padding:3rem;text-align:center;width:90%}.profile-required-content h1{color:#333;font-size:2rem;margin-bottom:1rem}.profile-required-content p{color:#666;font-size:1.1rem;line-height:1.6;margin-bottom:1rem}.profile-requirements{background:#f8f9fa;border-radius:8px;margin:1.5rem 0;padding:1.5rem;text-align:left}.profile-requirements h3{color:#333;font-size:1.1rem;font-weight:600;margin:0 0 1rem}.profile-requirements ul{color:#555;margin:0;padding-left:1.5rem}.profile-requirements li{line-height:1.5;margin-bottom:.5rem}.complete-profile-button{background:linear-gradient(135deg,#667eea,#764ba2);border:none;border-radius:8px;color:#fff;cursor:pointer;font-size:1.1rem;font-weight:600;padding:12px 24px;transition:all .3s ease}.complete-profile-button:hover{box-shadow:0 8px 20px #0003;transform:translateY(-2px)}.auth-container{align-items:center;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh}.auth-content{background:#fff;border-radius:16px;box-shadow:0 10px 30px #0003;max-width:400px;padding:3rem;text-align:center;width:90%}.auth-content h1{color:#333;font-size:2rem;margin-bottom:1rem}.auth-content p{color:#666;font-size:1.1rem;margin-bottom:2rem}.login-button{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:8px;color:#fff;font-size:1.1rem;padding:12px 24px;transition:all .3s ease}.login-button:hover{box-shadow:0 8px 20px #0003;transform:translateY(-2px)}@media (max-width:768px){.header-content{flex-direction:row;flex-wrap:nowrap;gap:1rem;justify-content:flex-start;text-align:left}.header-content h1{flex:1 1;font-size:clamp(.8rem,3.5vw,1.5rem);line-height:1.2;max-width:calc(100% - 60px);min-width:0}.user-info{position:absolute;right:2rem;top:50%;transform:translateY(-50%)}.user-info span{display:none;font-size:.8rem}.main-content{padding:1rem}.contracts-grid{grid-template-columns:1fr}.auth-content{margin:1rem;padding:2rem}.summary-header{align-items:stretch;flex-direction:column;gap:1rem}.create-contract-button{font-size:1rem;padding:12px 20px;width:100%}.search-and-filters{flex-direction:column;gap:1rem}.filters-section{min-width:auto}.create-contract-section .create-contract-button{width:100%}.user-info{align-items:center;flex-direction:row;gap:.5rem}.user-menu{align-self:center}.dropdown-menu{right:-10px}.profile-required-content{margin:1rem;padding:2rem}.profile-requirements{margin:1rem 0;padding:1rem}.profile-requirements h3{font-size:1rem}}@media (max-width:600px){.header-content h1{font-size:clamp(.75rem,3vw,1.3rem);max-width:calc(100% - 50px)}.user-info{right:1.5rem}.user-info span{display:none}}@media (max-width:400px){.header-content{flex-wrap:nowrap;gap:.5rem;justify-content:flex-start;min-width:0;padding:0 1rem}.header-content h1{flex:1 1;font-size:clamp(.7rem,4vw,1.2rem);line-height:1.2;max-width:calc(100% - 40px);min-width:0}.user-info{align-items:center;display:flex;flex-direction:row;gap:.25rem;min-width:0;position:absolute;right:1rem;top:50%;transform:translateY(-50%)}.user-info span{display:none;flex-shrink:1;font-size:.7rem;max-width:100px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.user-menu{flex-shrink:0}.settings-button{font-size:.9rem;min-width:32px;padding:6px 8px}}.milestone-dates{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.milestone-count{background:#fff3;border-radius:20px;font-size:.9rem;font-weight:500;padding:4px 12px}.milestone-list{padding:1.5rem}.milestone-item{background:#fff;border:2px solid #dee2e6;border-left-width:20px;border-radius:8px;margin-bottom:1rem;padding:1.5rem;transition:all .2s ease}.milestone-item:last-child{margin-bottom:0}.milestone-item:hover{box-shadow:0 4px 12px #0000001a;transform:translateX(4px)}.milestone-item.status-complete{border-color:#d4a574}.milestone-item.status-upcoming{border-color:#1f78b4}.milestone-item.status-overdue{border-color:#fb9a99}.milestone-item.status-unknown{border-color:#dee2e6}.milestone-header{align-items:flex-start;display:flex;justify-content:space-between;margin-bottom:.5rem}.milestone-title{color:#333;flex:1 1;font-size:1.1rem;font-weight:600;margin:0 1rem 0 0}.milestone-date{color:#666;font-size:1.1rem;font-weight:600;white-space:nowrap}.milestone-timing{color:#666;font-size:.9rem;font-weight:500;white-space:nowrap}.milestone-summary{background:#fff;border-top:1px solid #dee2e6;padding:1.5rem}.summary-item{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.summary-item:last-child{margin-bottom:0}.summary-label{color:#555;font-weight:600}.summary-value{word-wrap:break-word;color:#333;max-width:60%;text-align:right}.no-milestones{color:#666;padding:3rem;text-align:center}.no-milestones p{margin-bottom:.5rem}.loading-spinner{margin:0 auto 1rem}@media (max-width:768px){.section-header{flex-direction:column;gap:1rem;text-align:center}.milestone-header{align-items:flex-start;flex-direction:column;gap:.5rem}.milestone-title{margin-bottom:.5rem;margin-right:0}.milestone-timing{align-self:flex-end}}.contract-info{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden}.section-header{align-items:center;background:#2c3e50;color:#fff;display:flex;justify-content:space-between;padding:1.5rem}.section-controls{align-items:center;display:flex;gap:12px}.section-header h2{font-size:1.5rem;font-weight:600;margin:0}.contract-id{background:#fff3;border-radius:20px;font-size:.9rem;font-weight:500;padding:4px 12px}.contract-info-content{padding:0}.info-section{border-bottom:1px solid #eee;padding:1.5rem}.info-section:last-child{border-bottom:none}.info-section h3{border-bottom:2px solid #f0f0f0;color:#333;font-size:1.2rem;font-weight:600;margin-bottom:1rem;padding-bottom:.5rem}.info-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.info-item{align-items:flex-start;background:#fff;border-left:3px solid #7fb069;border-radius:6px;display:flex;justify-content:space-between;padding:.75rem}.info-label{color:#555;flex-shrink:0;font-weight:600;margin-right:1rem;min-width:120px}.info-value{word-wrap:break-word;color:#333;flex:1 1;line-height:1.4;text-align:right}.info-value:empty:before{color:#999;content:"Not specified";font-style:italic}@media (max-width:768px){.section-header{flex-direction:column;gap:1rem;text-align:center}.info-section{padding:1rem}.info-grid{grid-template-columns:1fr}.info-item{flex-direction:column;gap:.5rem}.info-label{margin-bottom:.25rem;margin-right:0;min-width:auto}.info-value{text-align:left}}.section-collapsed{background:#f8f9fa}.refresh-button{align-items:center;background:#fff3;border:1px solid #ffffff4d;border-radius:50%;color:#fff;cursor:pointer;display:flex;font-size:1.2rem;height:32px;justify-content:center;transition:all .2s ease;width:32px}.refresh-button:hover{background:#ffffff4d;transform:scale(1.1)}.search-container{align-items:center;display:flex;gap:.5rem}.search-input{background:#ffffffe6;border:1px solid #ffffff4d;border-radius:6px;color:#333;font-size:.9rem;min-width:200px;padding:.5rem .75rem;transition:all .2s ease}.search-input::placeholder{color:#666}.search-input:focus{background:#fff;border-color:#fff9;outline:none}.clear-search-button{align-items:center;background:#fff3;border:1px solid #ffffff4d;border-radius:50%;color:#fff;cursor:pointer;display:flex;flex-shrink:0;font-size:.9rem;height:28px;justify-content:center;transition:all .2s ease;width:28px}.clear-search-button:hover{background:#ffffff4d;transform:scale(1.1)}.emails-error{color:#dc3545;text-align:center}.emails-error p{font-size:1.1rem;margin-bottom:1rem}.retry-button{border:none;border-radius:6px;cursor:pointer;font-size:.9rem;padding:.5rem 1rem}.no-emails{color:#6c757d;padding:2rem;text-align:center}.no-emails p{font-size:1.1rem;margin:0}.emails-list{display:flex;flex-direction:column;gap:1.5rem}.email-item{background:#fff;border:1px solid #e9ecef;border-radius:12px;padding:1.5rem;transition:all .2s ease}.email-item:hover{border-color:#007bff;box-shadow:0 4px 15px #007bff1a;transform:translateY(-2px)}.email-header{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;justify-content:space-between;margin-bottom:1rem}.email-sender{color:#495057;font-size:1rem;line-height:1.4}.email-date{background:#fff;border:1px solid #dee2e6;border-radius:6px;color:#6c757d;font-size:.85rem;padding:.25rem .5rem}.email-to{color:#6c757d;font-size:.9rem;line-height:1.4;margin-bottom:1rem}.to-label{color:#495057;font-weight:600}.cc-info{color:#6c757d;font-style:italic}.email-subject{color:#212529;font-size:1.1rem;margin-bottom:1rem}.email-body{word-wrap:break-word;background:#fff;border:1px solid #e9ecef;border-radius:8px;color:#6c757d;font-size:.95rem;line-height:1.5;margin-bottom:1rem;padding:1rem;transition:all .2s ease;white-space:pre-wrap}.email-body:hover{border-color:#007bff;box-shadow:0 2px 8px #007bff1a}.email-filename{border-top:1px solid #e9ecef;color:#6c757d;font-size:.8rem;margin-top:.75rem;padding-top:.75rem}.email-filename small{background:#e9ecef;border-radius:4px;font-family:Courier New,monospace;padding:.25rem .5rem}.loading-more{align-items:center;color:#6c757d;font-size:.9rem;gap:.5rem}.load-more-container,.loading-more{display:flex;justify-content:center;padding:1rem}.load-more-button{background:#007bff;border:none;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;padding:.75rem 1.5rem;transition:all .2s ease}.load-more-button:hover{background:#0056b3;box-shadow:0 2px 8px #007bff4d;transform:translateY(-1px)}.load-more-button:active{transform:translateY(0)}@media (max-width:768px){.emails-header{padding:1rem 1.5rem;text-align:center}.emails-header,.emails-header-right{flex-direction:column;gap:.5rem}.emails-header h2{font-size:1.3rem}.emails-content{padding:1.5rem}.search-container{margin-bottom:.5rem;order:-1;width:100%}.search-input{min-width:auto;width:100%}.email-item{padding:1rem}.email-header{align-items:flex-start;flex-direction:column;gap:.5rem}.email-date{align-self:flex-end}.email-to{font-size:.85rem}}@media (max-width:480px){.emails-content{padding:1rem}.email-item{padding:.75rem}.emails-header{padding:1rem}}.task-list{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-bottom:20px;overflow:hidden}.task-list-header{align-items:center;background:#2c3e50;color:#fff;display:flex;justify-content:space-between;padding:16px 20px}.task-list-header h2{font-size:1.3rem;font-weight:600;margin:0}.task-list-controls{align-items:center;display:flex;gap:12px}.task-count{background:#fff3;border-radius:12px;font-size:.9rem;font-weight:500;padding:4px 8px}.task-list-collapsed{background:#f8f9fa;border-top:1px solid #e9ecef;padding:12px 20px;text-align:center}.task-list-content{padding:0}.task-list-empty,.task-list-error,.task-list-loading{color:#666;padding:20px;text-align:center}.task-list-loading{align-items:center;display:flex;gap:10px;justify-content:center}.loading-spinner{animation:spin 1s linear infinite;border:2px solid #f3f3f3;border-radius:50%;border-top-color:#7fb069;height:20px;width:20px}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.task-list-error{color:#e74c3c}.task-list-empty{color:#27ae60}.task-list-items{padding:0}.task-item{border-bottom:1px solid #f1f3f4;padding:16px 20px;position:relative;transition:background-color .2s ease}.task-item:last-child{border-bottom:none}.task-item:hover{background-color:#f8f9fa}.task-item.due-overdue{background-color:#fdf2f2;border-left:4px solid #e74c3c}.task-item.due-urgent{background-color:#fef9e7;border-left:4px solid #f39c12}.task-item.due-soon{background-color:#fef5e7;border-left:4px solid #e67e22}.task-item.due-normal{border-left:4px solid #1f78b4}.task-item.status-to-do{border-left-color:#1f78b4}.task-item.status-in-progress{border-left-color:#f39c12}.task-item.status-completed{border-left-color:#79c3db}.task-main{margin-bottom:12px}.task-name{color:#2c3e50;font-size:1rem;font-weight:600;line-height:1.4;margin-bottom:8px}.task-assigned-to,.task-milestone{color:#555;font-size:.9rem;line-height:1.3;margin-bottom:4px}.task-assigned-to strong,.task-milestone strong{color:#36454f;font-weight:600}.task-details{align-items:center;display:flex;flex-wrap:wrap;gap:8px;justify-content:space-between}.task-due-date{color:#666;font-size:.9rem}.task-due-date .overdue{color:#e74c3c;font-weight:600}.task-due-date .no-due-date{color:#95a5a6;font-style:italic}.days-until{font-size:.8rem;margin-left:4px}.task-status{align-items:center;display:flex}.status-badge{border-radius:12px;font-size:.8rem;font-weight:500;padding:4px 8px;text-transform:capitalize}.status-badge.status-to-do{background:#e3f2fd;color:#1f78b4}.status-badge.status-in-progress{background:#fff3e0;color:#f39c12}.status-badge.status-completed{background:#e8f5e8;color:#27ae60}.task-list-footer{background:#fff;border-top:1px solid #e9ecef;padding:16px 20px;text-align:center}.show-more-button{background:#7fb069;border:none;border-radius:4px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;padding:8px 16px;transition:background-color .2s ease}.show-more-button:hover{background:#066}@media (max-width:768px){.task-list-header{flex-direction:column;gap:8px;padding:12px 16px;text-align:center}.task-list-header h2{font-size:1.2rem}.task-list-controls{justify-content:center}.task-item{padding:12px 16px}.task-details{align-items:flex-start;flex-direction:column;gap:6px}.task-status{align-self:flex-end}.task-name{font-size:.9rem}.task-assigned-to,.task-milestone{font-size:.8rem}}@media (max-width:480px){.task-item,.task-list-header{padding:10px 12px}.task-list-footer{padding:12px}.show-more-button{font-size:.8rem;padding:6px 12px}}.emails-section{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;overflow:hidden}.emails-header{align-items:center;background:#2c3e50;border-bottom:1px solid #dee2e6;display:flex;justify-content:space-between;padding:1.5rem 2rem}.emails-header h2{color:#fff;font-size:1.5rem;font-weight:600;margin:0}.emails-header-right{align-items:center;display:flex;gap:1rem}.email-count{border-radius:20px;font-size:.85rem;padding:.25rem .75rem}.email-count,.expand-button{background:#fff3;color:#fff;font-weight:500}.expand-button{align-items:center;border:1px solid #ffffff4d;border-radius:4px;cursor:pointer;display:flex;font-size:.9rem;gap:4px;justify-content:center;min-width:100px;padding:8px 12px;transition:all .2s ease}.expand-button:hover{background:#ffffff4d;box-shadow:0 2px 4px #0000001a;transform:translateY(-1px)}.expand-button:active{transform:translateY(0)}.section-collapsed{background:#fff;border-top:1px solid #e9ecef;padding:12px 20px;text-align:center}.collapsed-indicator{color:#666;font-size:.9rem}.collapsed-text{font-style:italic}.emails-content{padding:2rem}.ea-search{display:flex;gap:.5rem}.ea-search-input{background:#ffffffe6;border:1px solid #ffffff4d;border-radius:6px;color:#333;font-size:.9rem;padding:.5rem .75rem}.ea-search-input::placeholder{color:#666}.ea-search-input:focus{background:#fff;border-color:#fff9;outline:none}.ea-search-button{background:#fff3;border:1px solid #ffffff4d;border-radius:6px;color:#fff;cursor:pointer;font-size:.9rem;font-weight:500;padding:.5rem .75rem;transition:all .2s ease}.ea-search-button:hover{background:#ffffff4d;transform:translateY(-1px)}.ea-group{margin-top:1rem}.ea-group-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.ea-group-title{margin:0;text-transform:capitalize}.ea-group-count{color:#777;font-size:.9rem}.ea-grid{grid-gap:1rem;display:grid;gap:1rem;grid-template-columns:repeat(auto-fill,minmax(320px,1fr))}.ea-card{background:#fff;border:1px solid #e6e6e6;border-radius:8px;cursor:pointer;overflow:hidden;transition:box-shadow .2s ease}.ea-card:hover{box-shadow:0 6px 16px #00000014}.ea-thumb{align-items:center;background-color:#f7f7f7;display:flex;height:140px;justify-content:center}.ea-thumb img{max-height:100%;max-width:100%}.ea-thumb-placeholder{color:#999;font-size:.9rem}.ea-card-body{padding:.5rem .75rem}.ea-filename{color:#333;font-size:.95rem;overflow:visible;text-overflow:clip;white-space:normal;word-break:break-word}.ea-meta{grid-row-gap:2px;color:#444;display:grid;font-size:.85rem;grid-template-columns:1fr;margin-top:.35rem;row-gap:2px}.ea-meta-row{line-height:1.2;word-break:break-word}.ea-filetype{color:#777;font-size:.8rem}.ea-email-timestamp{color:#666;font-size:.8rem;font-style:italic;line-height:1.2;margin-top:.25rem}.ea-modal-backdrop{align-items:center;background:#00000080;display:flex;inset:0;justify-content:center;position:fixed;z-index:9999}.ea-modal{background:#fff;border-radius:8px;display:flex;flex-direction:column;height:90vh;width:90vw}.ea-modal-header{align-items:center;border-bottom:1px solid #eee;display:flex;justify-content:space-between;padding:.75rem 1rem}.ea-modal-title{margin:0}.ea-modal-close{background:#0000;border:none;cursor:pointer;font-size:1.25rem}.ea-modal-nav{align-items:center;background:#fff;border:1px solid #ddd;border-radius:6px;box-shadow:0 1px 2px #0000000d;color:#333;cursor:pointer;display:inline-flex;justify-content:center;line-height:1;padding:4px 10px}.ea-modal-nav:hover:not(:disabled){background:#f7f7f7}.ea-modal-nav:disabled{cursor:not-allowed;opacity:.5}.ea-modal-body{flex:1 1}.ea-modal-iframe{border:none;height:100%;width:100%}.contract-detail-container{background-color:#fbf7f4;min-height:100vh}.contract-detail-container .app-header{background:#fff;box-shadow:0 2px 10px #0000001a;color:#2c3e50;height:96px;padding:0;position:-webkit-sticky;position:sticky;top:0;z-index:100}.header-content{align-items:center;display:flex;height:96px;justify-content:space-between;margin:0 auto;max-width:1200px;padding:0 2rem}.header-content .site-logo{display:block;height:76.8px;object-fit:contain;width:auto}.header-left{align-items:center;display:flex;gap:1rem}.header-title-section{display:flex;flex-direction:column;gap:.5rem}.contract-summary{display:flex;flex-direction:column;font-size:.9rem;gap:.25rem;opacity:.9}.property-info{color:#2c3e50;font-weight:500}.contract-parties{color:#2c3e50;font-size:.85rem;opacity:.8}.back-button{align-items:center;background-color:#2c3e501a;border:1px solid #2c3e504d;color:#2c3e50;display:flex;font-size:.9rem;gap:.5rem;padding:8px 16px}.back-button:hover{background-color:#2c3e5033}.header-content h1{font-size:1.8rem;font-weight:600;margin:0}.header-right,.user-info{align-items:center;display:flex;gap:1rem}.user-info span{font-size:.9rem;opacity:.9}.logout-button{background-color:#2c3e501a;border:1px solid #2c3e504d;color:#2c3e50;font-size:.8rem;padding:6px 12px}.logout-button:hover{background-color:#2c3e5033}.main-content{margin:0 auto;max-width:1200px;padding:2rem}.contract-info-section,.emails-section,.milestone-section{margin-bottom:2rem}.error-container{align-items:center;background:#f5f5f5;display:flex;justify-content:center;min-height:100vh}.error-content{background:#fff;border-radius:16px;box-shadow:0 10px 30px #0000001a;max-width:500px;padding:3rem;text-align:center;width:90%}.error-content h2{color:#dc3545;margin-bottom:1rem}.error-content p{color:#666;font-size:1.1rem;margin-bottom:2rem}.error-actions{display:flex;gap:1rem;justify-content:center}.retry-button{background-color:#007bff;color:#fff}.retry-button:hover{background-color:#0056b3}.back-button.error-back{background-color:#6c757d;color:#fff}.back-button.error-back:hover{background-color:#545b62}@media (max-width:768px){.header-content{flex-direction:column;gap:1rem;text-align:center}.header-left{flex-direction:column;gap:.5rem}.header-title-section{text-align:center}.header-content h1{font-size:1.5rem}.contract-summary{text-align:center}.main-content{padding:1rem}.error-actions{flex-direction:column}.error-content{margin:1rem;padding:2rem}}.task-list-section{margin-bottom:2rem}.task-list-section .task-list{margin-bottom:0}*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#fbf7f4;color:#333;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;line-height:1.6}.App{display:flex;flex-direction:column;min-height:100vh}button{border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;padding:8px 16px;transition:all .2s ease}button:hover{box-shadow:0 4px 8px #0000001a;transform:translateY(-1px)}button:active{transform:translateY(0)}input,select,textarea{border:1px solid #ddd;border-radius:6px;font-size:14px;padding:8px 12px;transition:border-color .2s ease}input:focus,select:focus,textarea:focus{border-color:#007bff;box-shadow:0 0 0 3px #007bff1a;outline:none}.text-center{text-align:center}.mt-1{margin-top:.25rem}.mt-2{margin-top:.5rem}.mt-3{margin-top:1rem}.mt-4{margin-top:1.5rem}.mt-5{margin-top:3rem}.mb-1{margin-bottom:.25rem}.mb-2{margin-bottom:.5rem}.mb-3{margin-bottom:1rem}.mb-4{margin-bottom:1.5rem}.mb-5{margin-bottom:3rem}.p-1{padding:.25rem}.p-2{padding:.5rem}.p-3{padding:1rem}.p-4{padding:1.5rem}.p-5{padding:3rem}
/*# sourceMappingURL=main.6411f9f0.css.map*/