.login-container{height:100vh;width:100vw;display:flex;align-items:center;justify-content:center;position:relative;overflow:hidden;padding:0;margin:0;background-image:url(https://images.unsplash.com/photo-1600585154340-be6161a56a0c);background-size:cover;background-position:center;background-repeat:no-repeat}.login-container:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,#000000e6,#000000b3);z-index:1}.login-container:after{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:linear-gradient(45deg,transparent 48%,rgba(255,255,255,.05) 49%,rgba(255,255,255,.05) 51%,transparent 52%);background-size:30px 30px;opacity:.1;z-index:2}.login-box{background:#ffffff1a;padding:40px;border-radius:15px;backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);border:1px solid rgba(255,255,255,.1);width:100%;max-width:400px;transition:all .3s ease;box-shadow:0 15px 35px #0003;margin:20px;position:relative;z-index:3}.login-box:hover{transform:translateY(-5px);box-shadow:0 20px 40px #0000004d;background:#ffffff26}.logo-container{text-align:center;margin-bottom:30px}.logo{max-width:180px;height:auto;filter:brightness(1) contrast(1.1)}h1{color:#fff;text-align:center;font-size:24px;margin-bottom:30px;font-weight:300;letter-spacing:3px;font-family:var(--heading-font);text-transform:uppercase}.input-group{margin-bottom:25px;position:relative}input{width:100%;padding:15px;background:#ffffff1a;border:1px solid rgba(255,255,255,.2);border-radius:8px;font-size:15px;font-family:var(--body-font);font-weight:300;color:#fff;transition:all .3s ease;outline:none}input::placeholder{color:#000;font-weight:300;letter-spacing:.5px}input:focus{background:#ffffff26;border-color:#c0a080}.login-button{width:100%;padding:15px;background:#c0a080;color:#fff;border:1px solid rgba(255,255,255,.1);border-radius:8px;font-size:15px;font-weight:500;font-family:var(--heading-font);cursor:pointer;transition:all .3s ease;letter-spacing:2px;text-transform:uppercase;box-shadow:0 5px 15px #0003}.login-button:hover{background:#d4b190;transform:translateY(-2px);box-shadow:0 8px 20px #0000004d}.forgot-password{text-align:center;margin-top:25px}.forgot-password a{color:#ffffffb3;text-decoration:none;font-size:13px;font-weight:300;font-family:var(--body-font);transition:all .3s ease;letter-spacing:.5px;position:relative}.forgot-password a:after{content:"";position:absolute;width:0;height:1px;bottom:-2px;left:0;background-color:#c0a080;transition:width .3s ease}.forgot-password a:hover{color:#c0a080}.forgot-password a:hover:after{width:100%}@media (max-width: 480px){.login-box{padding:30px 20px;margin:20px}h1{font-size:24px}}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.input-group,.login-button,.forgot-password{animation:fadeIn .6s ease forwards}.input-group:nth-child(1){animation-delay:.2s}.input-group:nth-child(2){animation-delay:.3s}.login-button{animation-delay:.4s}.forgot-password{animation-delay:.5s}:root{--heading-font: "Raleway", sans-serif;--body-font: "Poppins", sans-serif}*{margin:0;padding:0;box-sizing:border-box;font-family:var(--body-font)}html,body{height:100%;width:100%;margin:0;padding:0;overflow:hidden}.loading-spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #3498db;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 20px}.dashboard-container{display:flex;height:100vh;background:linear-gradient(135deg,#f8fafc,#e2e8f0)}.dashboard-content{flex:1;display:flex;flex-direction:column;margin-top:80px;transition:margin-left .3s ease;padding:2rem;overflow-y:auto;height:calc(100vh - 80px)}.dashboard-welcome{background:linear-gradient(135deg,#1e40af,#3730a3);padding:1.5rem 2rem;border-radius:16px;color:#fff;margin-bottom:2rem;display:flex;justify-content:space-between;align-items:center;box-shadow:0 8px 32px #1e40af40;border:1px solid rgba(255,255,255,.1);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.welcome-content h1{font-size:1.75rem;font-weight:600;margin:0 0 .5rem;background:linear-gradient(45deg,#fff,#f1f5f9);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.welcome-content p{font-size:1.1rem;opacity:.9;margin:0;font-weight:300}.welcome-date{text-align:right;opacity:.8;font-size:.95rem;font-weight:300}.stats-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:1.5rem;margin-bottom:3rem}.stat-card{background:#fff;padding:1.75rem;border-radius:12px;box-shadow:0 2px 16px #0000000f;border:1px solid rgba(226,232,240,.8);border-left:4px solid transparent;transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.stat-card:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,rgba(59,130,246,.3),transparent);transform:translate(-100%);transition:transform .6s ease}.stat-card:hover:before{transform:translate(100%)}.stat-card:hover{transform:translateY(-4px);box-shadow:0 8px 32px #0000001f;border-color:#e2e8f0}.stat-card.profit{border-left-color:#10b981}.stat-card.clients{border-left-color:#3b82f6}.stat-card.active{border-left-color:#f59e0b}.stat-card.completed{border-left-color:#8b5cf6}.stat-card.pending{border-left-color:#ef4444}.stat-card.efficiency{border-left-color:#06b6d4}.stat-icon{font-size:2.5rem;margin-bottom:1rem;display:block}.stat-content h3{font-size:1rem;color:#64748b;margin:0 0 .5rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.stat-value{font-size:2rem;font-weight:600;color:#1e293b;margin:0 0 .5rem;line-height:1.1;letter-spacing:-.025em}.stat-label{font-size:.875rem;color:#64748b;font-weight:400}.quick-actions-section{margin-bottom:3rem}.quick-actions-section h2{font-size:1.75rem;color:#1e293b;margin:0 0 1.5rem;font-weight:600;position:relative;padding-left:1rem}.quick-actions-section h2:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:100%;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:2px}.quick-actions-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1rem}.quick-action-card{background:#fff;padding:1.25rem 1.5rem;border-radius:10px;border-left:3px solid #e2e8f0;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;gap:1rem;box-shadow:0 1px 6px #0000000a;border:1px solid rgba(226,232,240,.5)}.quick-action-card:hover{transform:translateY(-2px);box-shadow:0 4px 16px #00000014;border-left-width:4px;border-color:#e2e8f0cc}.action-icon{font-size:1.75rem;width:52px;height:52px;display:flex;align-items:center;justify-content:center;background:#3b82f614;border-radius:10px;flex-shrink:0;border:1px solid rgba(59,130,246,.1)}.action-content{flex:1}.action-content h4{font-size:1.1rem;color:#1e293b;margin:0 0 .25rem;font-weight:600}.action-content p{font-size:.875rem;color:#64748b;margin:0;font-weight:400}.action-arrow{font-size:1.5rem;font-weight:700;opacity:.6;transition:all .3s ease}.quick-action-card:hover .action-arrow{opacity:1;transform:translate(4px)}.recent-activity-section{margin-bottom:2rem}.recent-activity-section h2{font-size:1.75rem;color:#1e293b;margin:0 0 1.5rem;font-weight:600;position:relative;padding-left:1rem}.recent-activity-section h2:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:4px;height:100%;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:2px}.activity-list{background:#fff;border-radius:16px;box-shadow:0 4px 20px #00000014;overflow:hidden}.activity-item{display:flex;align-items:center;padding:1.25rem 1.5rem;border-bottom:1px solid #f1f5f9;transition:all .2s ease}.activity-item:last-child{border-bottom:none}.activity-item:hover{background:#fafbfc;transform:translate(4px)}.activity-avatar{width:48px;height:48px;border-radius:12px;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;align-items:center;justify-content:center;color:#fff;font-weight:600;font-size:1.1rem;margin-right:1rem;flex-shrink:0}.activity-content{flex:1}.activity-content h4{font-size:1rem;color:#1e293b;margin:0 0 .25rem;font-weight:600}.activity-content p{font-size:.875rem;color:#64748b;margin:0 0 .25rem}.activity-meta{font-size:.75rem;color:#94a3b8;background:#f1f5f9;padding:.25rem .5rem;border-radius:6px;display:inline-block}.activity-status{margin-left:1rem}.status-dot{width:12px;height:12px;border-radius:50%;display:inline-block}.status-dot.pending{background:#f59e0b;box-shadow:0 0 8px #f59e0b66}.status-dot.active{background:#10b981;box-shadow:0 0 8px #10b98166}.no-activity{padding:3rem;text-align:center;color:#64748b}.no-activity p{font-size:1rem;margin:0}.logout-button{display:flex;align-items:center;gap:12px;width:calc(100% - 16px);margin:8px;padding:12px 20px;color:#fff;background:#ff060626;border:none;cursor:pointer;font-size:14px;transition:all .3s ease;border-radius:8px}.loading-container{display:flex;justify-content:center;align-items:center;height:100vh;background:linear-gradient(135deg,#f8fafc,#e2e8f0)}@media (max-width: 1024px){.stats-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1rem}.quick-actions-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr))}}@media (max-width: 768px){.hamburger{display:block;color:#1e293b;background:#fff;border-radius:8px;padding:8px 12px;box-shadow:0 2px 8px #0000001a}.dashboard-content{margin-top:60px;padding:1rem;margin-left:0}.sidebar{width:250px;transform:translate(-100%);transition:transform .3s ease}.sidebar.open{transform:translate(0)}.dashboard-welcome{padding:1.5rem;flex-direction:column;text-align:center;gap:1rem}.welcome-content h1{font-size:1.5rem}.welcome-date{text-align:center}.stats-grid{grid-template-columns:1fr;gap:1rem}.stat-card{padding:1.5rem}.stat-value{font-size:1.75rem}.quick-actions-grid{grid-template-columns:1fr}.activity-item{padding:1rem}.quick-actions-section h2,.recent-activity-section h2{font-size:1.5rem}}@media (max-width: 480px){.dashboard-content{padding:.75rem}.dashboard-welcome{padding:1rem;margin-bottom:1.5rem}.welcome-content h1{font-size:1.375rem}.stat-card{padding:1.25rem}.stat-value{font-size:1.5rem}.quick-action-card{padding:1rem}.action-icon{width:50px;height:50px;font-size:1.5rem}}.profile-section{padding:2rem;display:flex;justify-content:center}.profile-card{background:#fff;border-radius:15px;box-shadow:0 4px 20px #0000001a;width:100%;max-width:600px;padding:2rem;transition:transform .3s ease}.profile-card:hover{transform:translateY(-5px)}.profile-header{display:flex;flex-direction:column;align-items:center;margin-bottom:2rem}.profile-avatar{width:100px;height:100px;background:linear-gradient(135deg,#60a5fa,#3b82f6);border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:2.5rem;color:#fff;margin-bottom:1rem;box-shadow:0 4px 15px #3b82f64d}.profile-details{display:flex;flex-direction:column;gap:1.5rem}.detail-item{display:flex;justify-content:space-between;padding:1rem;background:#f8fafc;border-radius:10px;transition:background-color .3s ease}.detail-item:hover{background:#f1f5f9}.detail-value{color:#1e293b;font-weight:600}.profile-image{width:120px;height:120px;border-radius:50%;object-fit:cover;margin-bottom:1rem;border:4px solid #fff;box-shadow:0 4px 15px #3b82f64d}.profile-header h2{font-size:1.8rem;color:#1e293b;margin-bottom:.5rem}.user-role{background:#e0f2fe;color:#0369a1;padding:.3rem 1rem;border-radius:20px;font-size:.9rem;font-weight:500}.dashboard-container{display:flex;min-height:100vh;overflow:hidden;background-color:#f0f7ff}.dashboard-content{flex:1;padding:20px;margin-left:250px;transition:margin-left .3s ease;overflow-y:auto;height:100vh}.dashboard-content.sidebar-open{margin-left:0}.card{flex:1 1 30%;margin:10px;background:#fff;border-radius:8px;box-shadow:0 2px 5px #0000001a;padding:20px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:transform .3s}.card button{background-color:#4caf50;color:#fff;border:none;padding:10px 20px;font-size:16px;border-radius:5px;cursor:pointer;transition:background .3s ease-in-out;margin-top:10px}.card button:hover{background-color:#45a049}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#00000080;display:flex;justify-content:center;align-items:flex-start;z-index:1000;padding-top:50px}.modal{background:#fff;border-radius:8px;width:90%;max-width:400px;position:relative;box-shadow:0 2px 10px #0000001a}.modal-header{padding:16px;border-bottom:1px solid #e9ecef;display:flex;justify-content:space-between;align-items:center}.modal-header h2{margin:0;font-size:1.1rem;color:#333;font-weight:500}.close-button{background:none;border:none;font-size:1.5rem;color:#666;cursor:pointer;padding:0;line-height:1;transition:color .2s}.close-button:hover{color:#333}.client-form{padding:16px}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:8px;color:#333;font-weight:400;font-size:.9rem}.form-group input,.form-group select{width:100%;padding:8px;border:1px solid #ced4da;border-radius:4px;font-size:.9rem;color:#333}.form-group input:focus,.form-group select:focus{outline:none;border-color:#80bdff;box-shadow:0 0 0 .2rem #007bff40}.form-group select{-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 8px center;background-size:16px;padding-right:32px}.form-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:24px;padding-top:16px;border-top:1px solid #e9ecef}.submit-button,.cancel-button{padding:6px 12px;border-radius:4px;font-size:.9rem;font-weight:400;cursor:pointer;transition:all .2s}.submit-button{background-color:#007bff;color:#fff;border:none}.submit-button:hover{background-color:#0069d9}.submit-button:disabled{background-color:#80bdff;cursor:not-allowed}.cancel-button{background-color:#6c757d;color:#fff;border:none}.cancel-button:hover{background-color:#5a6268}.cancel-button:disabled{background-color:#a1a8ae;cursor:not-allowed}.error-message{color:#dc3545;background-color:#f8d7da;border:1px solid #f5c6cb;padding:8px 12px;border-radius:4px;margin-bottom:16px;font-size:.9rem}.loading-spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #007BFF;border-radius:50%;animation:spin 1s linear infinite}.client-details-container{padding:1.5rem;max-width:1400px;margin:0 auto}.client-details-row{display:grid;grid-template-columns:1fr 1fr;gap:2rem;margin-bottom:2rem;background-color:#fff;border-radius:8px;padding:2rem;box-shadow:0 2px 4px #0000001a}.client-details-column{display:flex;flex-direction:column;gap:1rem}.detail-row{display:flex;padding:.75rem;border-bottom:1px solid #eee}.detail-row:last-child{border-bottom:none}.detail-label{font-weight:700;width:150px;color:#495057}.detail-value{color:#212529;flex:1}.stage-estimate-row{display:grid;grid-template-columns:1fr 1fr;gap:2rem}.stage-section{background-color:#fff;border-radius:8px;padding:2rem;box-shadow:0 2px 4px #0000001a;display:flex;flex-direction:column;align-items:center;gap:1.5rem}.current-stage{display:flex;flex-direction:column;align-items:center;gap:.5rem}.stage-label{font-size:1rem;color:#6c757d}.stage-number{font-size:3rem;font-weight:700;color:#007bff}.add-stage-btn{padding:.75rem 1.5rem;background-color:#28a745;color:#fff;border:none;border-radius:4px;font-weight:600;cursor:pointer;transition:all .3s ease;width:100%;max-width:200px}.add-stage-btn:hover{background-color:#218838}.estimate-section{background-color:#fff;border-radius:8px;padding:2rem;box-shadow:0 2px 4px #0000001a;display:flex;flex-direction:column;align-items:center;gap:1.5rem}.prepare-estimate-btn,.view-estimate-btn{padding:.75rem 1.5rem;border:none;border-radius:4px;font-weight:600;cursor:pointer;transition:all .3s ease;width:100%;max-width:200px}.prepare-estimate-btn{background-color:#28a745;color:#fff}.prepare-estimate-btn:hover{background-color:#218838}.view-estimate-btn{background-color:#007bff;color:#fff}.view-estimate-btn:hover{background-color:#0056b3}.estimate-amount{display:flex;flex-direction:column;align-items:center;gap:.5rem;width:100%}.amount-label{font-size:1rem;color:#6c757d}.amount-value{font-size:2rem;font-weight:700;color:#28a745}.loading-container{display:flex;justify-content:center;align-items:center;height:100vh}.loading-spinner{border:4px solid #f3f3f3;border-top:4px solid #007bff;border-radius:50%;width:40px;height:40px;animation:spin 1s linear infinite}@media (max-width: 768px){.client-details-row,.stage-estimate-row{grid-template-columns:1fr}.client-details-container{padding:1rem}}.client-manage-header{padding:20px;background:linear-gradient(135deg,#3b82f6,#2563eb);color:#fff;border-radius:8px;margin:20px;box-shadow:0 2px 4px #0000001a}.client-manage-header h2{margin:0;font-size:24px;font-weight:600}.client-cards-container{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;padding:20px;overflow-y:auto;max-height:calc(100vh - 200px)}.client-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 4px 6px #0000001a;display:flex;flex-direction:column;transition:transform .3s ease,box-shadow .3s ease;height:100%}.client-card:hover{transform:translateY(-5px);box-shadow:0 6px 12px #00000026}.client-card-content{flex:1;display:flex;flex-direction:column}.client-card-main{display:flex;gap:15px;margin-bottom:20px}.client-card-icon{display:flex;align-items:center;justify-content:center;color:#3b82f6}.client-info{flex:1}.client-info h3{margin:0 0 10px;color:#1e293b;font-size:18px;font-weight:600}.client-info p{margin:8px 0;color:#64748b;font-size:14px}.info-label{font-weight:600;color:#475569}.client-card-footer{display:flex;justify-content:space-between;align-items:center;margin-top:auto}.view-details-btn{background:#3b82f6;color:#fff;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:background-color .3s ease}.view-details-btn:hover{background:#2563eb}.status-indicator{padding:8px 16px;border-radius:6px;font-size:14px;font-weight:600;text-align:center;min-width:150px;display:inline-block}.estimate-pending{background-color:#fef3c7;color:#92400e}.stage{background-color:#f3f4f6;color:#4b5563}@media (max-width: 768px){.client-cards-container{grid-template-columns:1fr;padding:10px}.client-manage-header{margin:10px;padding:15px}.client-manage-header h2{font-size:20px}.client-card-footer{flex-direction:column;gap:10px;align-items:flex-start}.status-indicator{width:100%}}.client-details{display:flex;flex-direction:column;gap:8px;margin-top:10px}.detail-item{display:flex;align-items:center;gap:8px;color:#64748b;font-size:14px}.detail-icon{color:#3b82f6;flex-shrink:0}.prepare-estimate-btn{background-color:#3b82f6;color:#fff;border:none;padding:12px 24px;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:background-color .3s ease;width:100%}.prepare-estimate-btn:hover{background-color:#2563eb}.client-status-section{display:flex;flex-direction:column;gap:15px;padding:20px;background-color:#f8fafc;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-top:20px}.estimate-generation-container{padding:20px 20px 800px;max-width:1400px;margin:0 auto;min-height:calc(100vh - 40px)}.estimate-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;padding-bottom:20px;border-bottom:1px solid #e2e8f0}.estimate-header h2{color:#1e293b;font-size:24px;font-weight:600;margin:0}.preview-estimate-btn{background-color:#3b82f6;color:#fff;border:none;padding:12px 24px;border-radius:8px;cursor:pointer;font-size:16px;font-weight:500;transition:all .3s ease;display:flex;align-items:center;gap:8px}.preview-estimate-btn:hover{background-color:#2563eb;transform:translateY(-2px);box-shadow:0 4px 12px #3b82f633}.estimate-grid{display:grid;grid-template-columns:1fr 1.5fr;gap:24px;height:calc(100vh - 180px)}.estimate-left-column,.estimate-right-column{display:flex;flex-direction:column;gap:24px;height:100%;overflow-y:auto;padding-right:12px}.client-details-card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 4px 20px #00000014;margin-bottom:24px;border:1px solid rgba(0,0,0,.05);width:100%}.client-details-card h3{color:#1e3a8a;font-size:18px;font-weight:600;margin-bottom:20px;padding-bottom:12px;border-bottom:2px solid #e2e8f0}.client-details-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}.detail-row{display:flex;flex-direction:column;gap:6px;padding:12px;background:#f8fafc;border-radius:8px;transition:all .2s ease;height:100%}.detail-row:hover{background:#f1f5f9;transform:translateY(-1px)}.detail-label{color:#64748b;font-size:14px;font-weight:500;text-transform:uppercase;letter-spacing:.5px}.detail-value{color:#1e293b;font-size:16px;font-weight:500}@media (max-width: 1024px){.client-details-grid{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.client-details-grid{grid-template-columns:1fr}.detail-row{padding:10px}}.selection-card{background-color:#fff;border-radius:12px;padding:24px;box-shadow:0 4px 6px #0000000d}.selection-card h3{color:#1e293b;font-size:18px;font-weight:600;margin-bottom:20px}.category-select{width:100%;padding:12px;border:1px solid #e2e8f0;border-radius:8px;font-size:16px;color:#1e293b;background-color:#f8fafc;transition:all .3s ease}.category-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.materials-card{background-color:#fff;border-radius:12px;padding:24px;box-shadow:0 4px 6px #0000000d;flex:1}.materials-card h3{color:#1e293b;font-size:18px;font-weight:600;margin-bottom:20px}.materials-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.material-item{background-color:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:16px;cursor:pointer;transition:all .3s ease}.material-item:hover{background-color:#f1f5f9;transform:translateY(-2px);box-shadow:0 4px 6px #0000000d}.material-item.selected{background-color:#e0f2fe;border-color:#3b82f6}.material-name{font-weight:500;color:#1e293b;margin-bottom:8px}.material-price{color:#3b82f6;font-weight:600;font-size:16px}.selected-materials-card{background-color:#fff;border-radius:12px;padding:24px;box-shadow:0 4px 6px #0000000d}.selected-materials-card h3{color:#1e293b;font-size:18px;font-weight:600;margin-bottom:20px}.selected-materials-list{display:flex;flex-direction:column;gap:12px}.selected-material-item{display:flex;justify-content:space-between;align-items:center;padding:12px;background-color:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.selected-material-item .material-name{color:#1e293b;font-weight:500}.selected-material-item .material-price{color:#3b82f6;font-weight:600}@media (max-width: 1024px){.estimate-grid{grid-template-columns:1fr;height:auto}.estimate-left-column,.estimate-right-column{height:auto;overflow-y:visible}}.client-details-row{margin-bottom:24px}.client-details-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px}.client-details-column{display:flex;flex-direction:column;gap:12px}.selection-row{display:grid;grid-template-columns:1fr 2fr;gap:24px;margin-bottom:24px}.selected-materials-table{background-color:#fff;border-radius:12px;padding:24px;box-shadow:0 4px 6px #0000000d;width:100%;margin:0 auto}.selected-materials-table h3{color:#1e293b;font-size:18px;font-weight:600;margin-bottom:20px}.selected-materials-table th,.selected-materials-table td{padding:12px 16px;text-align:left;white-space:nowrap}.selected-materials-table th{background-color:#f8fafc;color:#64748b;font-weight:600;border-bottom:2px solid #e2e8f0}.selected-materials-table td{border-bottom:1px solid #e2e8f0;color:#1e293b}.selected-materials-table tr:last-child td{border-bottom:none}.selected-materials-table th:nth-child(1),.selected-materials-table td:nth-child(1){width:20%}.selected-materials-table th:nth-child(2),.selected-materials-table td:nth-child(2){width:30%}.selected-materials-table th:nth-child(3),.selected-materials-table td:nth-child(3){width:20%}.selected-materials-table th:nth-child(4),.selected-materials-table td:nth-child(4){width:15%}.selected-materials-table th:nth-child(5),.selected-materials-table td:nth-child(5){width:15%}@media (max-width: 1024px){.selected-materials-table{overflow-x:auto}}.grand-total-label{text-align:right;padding:12px 16px;color:#1e293b}.grand-total-value{padding:12px 16px;color:#3b82f6;font-size:16px}.custom-fields-total{display:flex;justify-content:flex-end;align-items:center;gap:12px;padding:16px;background-color:#f8fafc;border-radius:8px;margin-bottom:16px}.total-label{color:#1e293b;font-weight:500}.total-value{color:#3b82f6;font-weight:600;font-size:16px}.dimension-input{width:80px;padding:8px;border:1px solid #e2e8f0;border-radius:6px;font-size:14px;color:#1e293b;background-color:#fff;transition:all .3s ease}.dimension-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}@media (max-width: 1024px){.client-details-grid,.selection-row{grid-template-columns:1fr}.selected-materials-table{overflow-x:auto}}.custom-fields-section{background-color:#fff;border-radius:12px;padding:24px;box-shadow:0 4px 6px #0000000d;margin:32px 0 24px}.custom-fields-section h3{color:#1e293b;font-size:18px;font-weight:600;margin-bottom:20px}.custom-fields-list{display:flex;flex-direction:column;gap:16px;margin-bottom:20px}.custom-field-row{display:grid;grid-template-columns:2fr 1fr 1fr 1fr 1fr 1fr auto auto;gap:12px;align-items:center;padding:12px;background-color:#f8fafc;border-radius:8px;border:1px solid #e2e8f0}.custom-field-input{width:100%;padding:8px 12px;border:1px solid #e2e8f0;border-radius:6px;font-size:14px;color:#1e293b;background-color:#fff;transition:all .3s ease}.custom-field-input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.calculated-field{padding:8px 12px;background-color:#f1f5f9;border-radius:6px;font-size:14px;color:#1e293b;font-weight:500;text-align:center}.remove-field-btn{padding:8px 16px;background-color:#fef2f2;color:#dc2626;border:1px solid #fee2e2;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .3s ease;white-space:nowrap}.remove-field-btn:hover{background-color:#fee2e2}.add-custom-btn{padding:8px 16px;background-color:#10b981;color:#fff;border:none;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .3s ease;white-space:nowrap}.add-custom-btn:hover{background-color:#059669;transform:translateY(-2px);box-shadow:0 4px 12px #10b98133}@media (max-width: 1024px){.custom-field-row{grid-template-columns:1fr;gap:8px}.measurement-type{justify-content:center}.custom-field-input,.calculated-field,.add-custom-btn,.remove-field-btn{width:100%}}.action-buttons{display:flex;justify-content:center;margin:32px 0 500px;padding:0 24px}.save-preview-btn{background-color:#3b82f6;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;min-width:200px;margin-bottom:100px}.save-preview-btn:hover{background-color:#2563eb;transform:translateY(-2px);box-shadow:0 4px 6px #0000001a}.save-preview-btn:active{transform:translateY(0);box-shadow:none}.remove-row-btn{padding:6px 12px;background-color:#fef2f2;color:#dc2626;border:1px solid #fee2e2;border-radius:6px;cursor:pointer;font-size:14px;font-weight:500;transition:all .3s ease;white-space:nowrap}.remove-row-btn:hover{background-color:#fee2e2;transform:translateY(-2px);box-shadow:0 4px 12px #dc26261a}@media (max-width: 768px){.remove-row-btn{width:100%}}.measurement-type{display:flex;gap:16px;align-items:center;padding:8px;background-color:#f8fafc;border-radius:6px}.measurement-type label{display:flex;align-items:center;gap:8px;cursor:pointer;color:#64748b;font-size:14px;font-weight:500}.measurement-type input[type=radio]{width:16px;height:16px;margin:0;cursor:pointer}.selected-materials-table th:nth-child(3),.selected-materials-table td:nth-child(3){min-width:200px}.client-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding:0 20px}.client-header h2{margin:0;color:#333;font-size:24px}.client-actions{display:flex;gap:10px}.edit-btn,.delete-btn{padding:8px 16px;border:none;border-radius:4px;font-weight:500;cursor:pointer;transition:all .3s ease}.edit-btn{background-color:#2196f3;color:#fff}.edit-btn:hover{background-color:#1976d2}.delete-btn{background-color:#dc3545;color:#fff}.delete-btn:hover{background-color:#c82333}.estimate-status{display:flex;flex-direction:column;align-items:center;gap:1rem;margin-top:1rem}.status-buttons{display:flex;gap:1rem}.approve-btn,.reject-btn{padding:.5rem 1rem;border:none;border-radius:4px;font-weight:600;cursor:pointer;transition:all .3s ease}.approve-btn{background-color:#22c55e;color:#fff}.approve-btn:hover{background-color:#16a34a}.reject-btn{background-color:#ef4444;color:#fff}.reject-btn:hover{background-color:#dc2626}.status-badge{padding:.5rem 1rem;border-radius:20px;font-size:.875rem;font-weight:600}.start-work-btn{padding:.5rem 1rem;border:none;border-radius:4px;font-weight:600;cursor:pointer;transition:all .3s ease;background-color:#3b82f6;color:#fff;width:100%;max-width:200px}.start-work-btn:hover{background-color:#2563eb;transform:translateY(-2px);box-shadow:0 4px 6px #2563eb33}.stage-form{padding:20px}.stage-notes-textarea{width:100%;padding:12px;border:1px solid #e2e8f0;border-radius:6px;font-size:14px;resize:vertical;min-height:120px;margin-top:8px;font-family:inherit}.stage-notes-textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.stage-form .form-group{margin-bottom:20px}.stage-form label{display:block;margin-bottom:8px;color:#1e293b;font-weight:500}.stage-form .form-actions{display:flex;justify-content:flex-end;gap:12px;margin-top:20px}.stage-form .submit-button{background-color:#3b82f6;color:#fff;padding:8px 16px;border:none;border-radius:6px;font-weight:500;cursor:pointer;transition:all .3s ease}.stage-form .submit-button:hover{background-color:#2563eb;transform:translateY(-1px)}.stage-form .cancel-button{background-color:#e2e8f0;color:#475569;padding:8px 16px;border:none;border-radius:6px;font-weight:500;cursor:pointer;transition:all .3s ease}.stage-form .cancel-button:hover{background-color:#cbd5e1}.stages-history-section{margin-top:2rem;padding:2rem;background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.stages-history-section h3{color:#1e293b;margin-bottom:1.5rem;font-size:1.25rem;font-weight:600}.stages-timeline{position:relative;padding-left:2rem}.stages-timeline:before{content:"";position:absolute;left:7px;top:0;bottom:0;width:2px;background-color:#e2e8f0}.stage-item{position:relative;margin-bottom:1.5rem}.stage-item:last-child{margin-bottom:0}.stage-dot{position:absolute;left:-2rem;width:16px;height:16px;border-radius:50%;background-color:#3b82f6;border:3px solid white;box-shadow:0 0 0 2px #3b82f6;margin-top:4px}.stage-content{background-color:#f8fafc;border-radius:8px;padding:1rem;margin-left:.5rem}.stage-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:.5rem}.stage-date{color:#64748b;font-size:.875rem}.stage-note{color:#1e293b;font-size:1rem;line-height:1.5}.error-container{display:flex;flex-direction:column;align-items:center;justify-content:center;height:100vh;padding:2rem;text-align:center}.error-container h2{color:#ef4444;margin-bottom:1rem}.back-button{padding:.75rem 1.5rem;background-color:#3b82f6;color:#fff;border:none;border-radius:6px;font-weight:500;cursor:pointer;transition:all .3s ease}.back-button:hover{background-color:#2563eb;transform:translateY(-2px)}.loading-container{display:flex;justify-content:center;align-items:center;height:100vh;background-color:#ffffffe6}.loading-spinner{width:50px;height:50px;border:5px solid #f3f3f3;border-top:5px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite}.complete-btn{padding:.75rem 1.5rem;background-color:#22c55e;color:#fff;border:none;border-radius:4px;font-weight:600;cursor:pointer;transition:all .3s ease;width:100%;max-width:200px}.complete-btn:hover{background-color:#16a34a;transform:translateY(-2px);box-shadow:0 4px 6px #22c55e33}.stage-buttons{display:flex;flex-direction:column;gap:1rem;align-items:center;width:100%}.stage-buttons button{width:100%;max-width:200px}.payments-section{margin-top:2rem;padding:1.5rem;background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.payments-section h3{margin-bottom:1.5rem;color:#333;font-size:1.25rem}.payments-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem}.payment-card{background-color:#f8f9fa;border-radius:8px;padding:1.25rem;box-shadow:0 2px 4px #0000000d;transition:transform .2s ease}.payment-card:hover{transform:translateY(-2px);box-shadow:0 4px 6px #0000001a}.payment-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.payment-date{color:#666;font-size:.9rem}.payment-body{display:flex;flex-direction:column;gap:1rem}.payment-amount{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;border-bottom:1px solid #e9ecef}.amount-label{color:#666;font-size:.9rem}.amount-value{font-size:1.1rem;font-weight:600;color:#333}.payment-status{display:inline-block;padding:.25rem .75rem;border-radius:20px;font-size:.875rem;font-weight:500}.status-pending{background-color:#fff3cd;color:#856404}.status-completed{background-color:#d4edda;color:#155724}.status-failed{background-color:#f8d7da;color:#721c24}.download-invoice-btn{display:flex;align-items:center;justify-content:center;gap:.5rem;width:100%;padding:.75rem;background-color:#fff;border:1px solid #dee2e6;border-radius:6px;color:#495057;font-weight:500;cursor:pointer;transition:all .2s ease}.download-invoice-btn:hover{background-color:#e9ecef;border-color:#ced4da}.download-invoice-btn i{font-size:1rem}.client-details-layout{display:grid;grid-template-columns:1fr 350px;gap:2rem;align-items:start}.client-info-section{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:1.5rem}.payment-history-section{background:#fff;border-radius:12px;padding:2rem;box-shadow:0 4px 20px #00000014;height:fit-content;position:sticky;top:2rem;overflow:hidden}.payment-history-section h3{color:#1e293b;font-size:1.5rem;font-weight:600;margin-bottom:1.5rem;padding-bottom:1rem;border-bottom:2px solid #e2e8f0}.payments-list{display:flex;flex-direction:column;gap:1.5rem;max-height:calc(100vh - 250px);overflow-y:auto;padding-right:1rem;margin-right:-1rem;scrollbar-width:none;-ms-overflow-style:none}.payments-list::-webkit-scrollbar{display:none}.balance-card{background:#f8fafc;border-radius:10px;padding:1.5rem;margin-bottom:1.5rem;border:1px solid #e2e8f0}.balance-header{margin-bottom:1rem}.balance-header h4{color:#1e293b;font-size:1.1rem;font-weight:600;margin:0}.balance-details{display:flex;flex-direction:column;gap:.75rem}.balance-row{display:flex;justify-content:space-between;align-items:center;padding:.5rem 0;color:#475569;font-size:.95rem}.balance-row.total{border-top:2px dashed #e2e8f0;padding-top:1rem;margin-top:.5rem;font-weight:600;color:#1e293b}.amount-with-percentage{display:flex;align-items:center;gap:.5rem}.percentage{color:#64748b;font-size:.85rem;padding:.2rem .5rem;background:#f1f5f9;border-radius:12px}.payment-card{background:#fff;border-radius:10px;padding:1.5rem;box-shadow:0 2px 8px #0000000d;border:1px solid #e2e8f0;transition:all .3s ease}.payment-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0000001a}.payment-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.25rem;padding-bottom:1rem;border-bottom:1px solid #e2e8f0}.payment-phase{font-size:1rem;font-weight:600;color:#1e293b}.payment-status{padding:.4rem 1rem;border-radius:20px;font-size:.875rem;font-weight:500}.status-paid{background-color:#dcfce7;color:#15803d}.status-pending{background-color:#fef3c7;color:#92400e}.payment-body{display:flex;flex-direction:column;gap:1.25rem}.payment-info{display:flex;flex-direction:column;gap:.75rem}.info-row{display:flex;justify-content:space-between;align-items:center;color:#475569;font-size:.95rem}.amount-value{font-weight:600;color:#1e293b;font-size:1.1rem}.payment-actions{display:flex;flex-direction:column;gap:.75rem;margin-top:.5rem}.download-invoice-btn,.download-receipt-btn,.mark-paid-btn{width:100%;padding:.75rem;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.5rem}.download-invoice-btn{background-color:#fff;border:1px solid #e2e8f0;color:#475569}.download-invoice-btn:hover{background-color:#f8fafc;border-color:#cbd5e1}.download-receipt-btn{background-color:#3b82f6;border:none;color:#fff}.download-receipt-btn:hover{background-color:#2563eb}.mark-paid-btn{background-color:#22c55e;border:none;color:#fff}.mark-paid-btn:hover{background-color:#16a34a}.edit-amount-btn{padding:.3rem .75rem;background-color:#f1f5f9;border:1px solid #e2e8f0;border-radius:6px;color:#475569;font-size:.875rem;cursor:pointer;transition:all .2s ease}.edit-amount-btn:hover{background-color:#e2e8f0;color:#1e293b}.new-payment-section{background:#f8fafc;border-radius:10px;padding:1.5rem;margin-bottom:1.5rem;border:1px dashed #cbd5e1}.new-payment-section h4{color:#1e293b;font-size:1.1rem;font-weight:600;margin:0 0 1rem}.payment-form{display:flex;flex-direction:column;gap:1rem}.form-group{display:flex;flex-direction:column;gap:.5rem}.form-group label{color:#475569;font-size:.95rem;font-weight:500}.form-group input{padding:.75rem;border:1px solid #e2e8f0;border-radius:8px;font-size:1rem;color:#1e293b;background:#fff;transition:all .2s ease}.form-group input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.create-payment-btn{padding:.75rem;background-color:#3b82f6;color:#fff;border:none;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s ease}.create-payment-btn:hover{background-color:#2563eb}.create-payment-btn:disabled{background-color:#94a3b8;cursor:not-allowed}@media (max-width: 1200px){.payment-history-section{position:static;margin-top:2rem}.payments-list{max-height:none}}@media (max-width: 768px){.payment-history-section{padding:1.5rem}.payment-card{padding:1.25rem}.payment-header{flex-direction:column;align-items:flex-start;gap:.75rem}.payment-actions{flex-direction:column}}.report-button-container{margin-top:1.5rem;padding-top:1.5rem;border-top:2px dashed #e2e8f0}.download-report-btn{width:100%;padding:1rem;background-color:#1e40af;color:#fff;border:none;border-radius:8px;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;gap:.75rem;font-size:1rem}.download-report-btn:hover{background-color:#1e3a8a;transform:translateY(-2px);box-shadow:0 4px 12px #1e40af33}.download-report-btn i{font-size:1.25rem}.expenses-section{background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a;padding:20px;margin-top:20px}.expenses-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.expenses-header h3{margin:0;color:#333}.add-expense-btn{background-color:#28a745;color:#fff;border:none;border-radius:4px;padding:8px 16px;cursor:pointer;font-size:14px;transition:background-color .3s}.add-expense-btn:hover{background-color:#218838}.expenses-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px}.expense-card{background-color:#f8f9fa;border-radius:6px;padding:15px;box-shadow:0 1px 3px #0000001a}.expense-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.expense-purpose{padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.expense-purpose.labour{background-color:#e3f2fd;color:#1976d2}.expense-purpose.material{background-color:#f3e5f5;color:#7b1fa2}.expense-purpose.other{background-color:#fff3e0;color:#f57c00}.expense-date{font-size:12px;color:#666}.expense-amount{font-size:18px;font-weight:600;color:#333}.no-expenses{text-align:center;color:#666;padding:20px;grid-column:1 / -1}.expense-form{padding:20px}.expense-form .form-group{margin-bottom:20px}.expense-form label{display:block;margin-bottom:8px;color:#333;font-weight:500}.expense-form input[type=number],.expense-form select{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px}.expense-form select{background-color:#fff}.expense-form .form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.expense-form .submit-button{background-color:#28a745;color:#fff;border:none;border-radius:4px;padding:8px 16px;cursor:pointer;font-size:14px;transition:background-color .3s}.expense-form .submit-button:hover{background-color:#218838}.expense-form .cancel-button{background-color:#6c757d;color:#fff;border:none;border-radius:4px;padding:8px 16px;cursor:pointer;font-size:14px;transition:background-color .3s}.expense-form .cancel-button:hover{background-color:#5a6268}.client-info-header{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 4px #0000001a;margin-bottom:24px;display:flex;justify-content:space-between;align-items:flex-start}.client-info-main{flex:1}.client-name-section{margin-bottom:16px}.client-name-section h2{font-size:24px;font-weight:600;color:#1a1a1a;margin:0 0 8px}.client-badges{display:flex;margin-top:4px}.client-status{background:#e8f5e9;color:#2e7d32;padding:4px 12px;border-radius:16px;font-size:13px;font-weight:500}.client-quick-info{display:flex;gap:24px;margin-top:16px}.info-item{display:flex;align-items:center;gap:8px;color:#666}.info-item i{color:#1976d2;font-size:16px;width:20px}.info-item span{font-size:14px}.client-actions{display:flex;gap:12px}.action-btn{display:flex;align-items:center;gap:8px;padding:8px 16px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;border:none}.action-btn i{font-size:14px}.edit-btn{background:#e3f2fd;color:#1976d2}.edit-btn:hover{background:#bbdefb}.delete-btn{background:#ffebee;color:#d32f2f}.delete-btn:hover{background:#ffcdd2}.project-progress-section{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 4px #0000001a;margin:24px 0}.progress-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:24px}.progress-title{flex:1}.stage-indicator{display:flex;align-items:center;margin-top:0}.current-stage-badge{background:#1976d2;color:#fff;padding:8px 16px;border-radius:20px;font-size:15px;font-weight:500;box-shadow:0 2px 4px #1976d233}.estimate-actions{display:flex;gap:16px;align-items:flex-start}.estimate-controls{display:flex;align-items:center;gap:16px}.prepare-estimate-btn,.view-estimate-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;border:none;background:#1976d2;color:#fff}.prepare-estimate-btn:hover,.view-estimate-btn:hover{background:#1565c0}.estimate-amount{display:flex;align-items:center;gap:8px;padding:8px 16px;background:#f5f5f5;border-radius:8px}.amount-label{font-size:14px;color:#666}.amount-value{font-size:16px;font-weight:600;color:#1a1a1a}.stages-container{margin-top:24px}.current-stage-status{margin-bottom:32px}.status-card{background:#f8f9fa;border-radius:12px;padding:20px;display:flex;flex-direction:column;gap:16px}.status-card.rejected{background:#ffebee;color:#d32f2f;text-align:center;padding:32px}.status-card.rejected i{font-size:48px;margin-bottom:16px}.status-badge{display:inline-flex;align-items:center;gap:8px;padding:8px 16px;border-radius:20px;font-size:14px;font-weight:500}.status-badge i{font-size:14px}.status-pending{background:#fff3e0;color:#e65100}.status-approved{background:#e8f5e9;color:#2e7d32}.estimate-approval,.work-start-section,.stage-actions{display:flex;align-items:center;gap:16px;flex-wrap:wrap}.approval-actions{display:flex;gap:12px}.approve-btn,.reject-btn,.start-work-btn,.add-stage-btn,.complete-btn{display:flex;align-items:center;gap:8px;padding:10px 20px;border-radius:8px;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s ease;border:none}.approve-btn{background:#e8f5e9;color:#2e7d32}.approve-btn:hover{background:#c8e6c9}.reject-btn{background:#ffebee;color:#d32f2f}.reject-btn:hover{background:#ffcdd2}.start-work-btn{background:#e3f2fd;color:#1976d2}.start-work-btn:hover{background:#bbdefb}.add-stage-btn{background:#f5f5f5;color:#424242}.add-stage-btn:hover{background:#e0e0e0}.complete-btn{background:#4caf50;color:#fff}.complete-btn:hover{background:#43a047}.stages-history{margin-top:40px}.stages-history h4{font-size:18px;font-weight:600;color:#1a1a1a;margin:0 0 24px}.timeline-container{position:relative;padding-left:32px}.timeline-item{position:relative;padding-bottom:32px}.timeline-marker{position:absolute;left:-32px;top:0;bottom:0;width:2px;display:flex;flex-direction:column;align-items:center}.marker-dot{width:16px;height:16px;background:#1976d2;border-radius:50%;border:3px solid #fff;box-shadow:0 0 0 2px #1976d2}.marker-line{flex:1;width:2px;background:#e0e0e0;margin-top:8px}.timeline-item:last-child .marker-line{display:none}.timeline-content{background:#f8f9fa;border-radius:12px;padding:16px}.timeline-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.timeline-date{display:flex;align-items:center;gap:8px;font-size:14px;color:#666}.timeline-date i{color:#1976d2}.timeline-stage{font-size:14px;font-weight:500;color:#1976d2;padding:4px 12px;background:#e3f2fd;border-radius:16px}.timeline-note{font-size:14px;color:#424242;line-height:1.5}.financial-overview{display:flex;flex-direction:column;gap:24px;margin:24px 0}.summary-section{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 4px #0000001a}.summary-section h3{margin:0 0 20px;font-size:20px;color:#1a1a1a}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.summary-card{display:flex;align-items:center;gap:16px;padding:20px;border-radius:8px;transition:transform .2s ease}.summary-card:hover{transform:translateY(-2px)}.summary-card.payments{background:#e3f2fd}.summary-card.expenses{background:#fbe9e7}.summary-card.balance{background:#e8f5e9}.card-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:24px}.payments .card-icon{background:#1976d21a;color:#1976d2}.expenses .card-icon{background:#d843151a;color:#d84315}.balance .card-icon{background:#2e7d321a;color:#2e7d32}.card-details{flex:1}.card-details h4{margin:0 0 8px;font-size:14px;color:#666}.card-details .amount{font-size:24px;font-weight:600;color:#1a1a1a}.expense-breakdown-section{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 4px #0000001a}.expense-breakdown-section h3{margin:0 0 20px;font-size:20px;color:#1a1a1a}.expense-categories{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px}.expense-category{background:#f8f9fa;border-radius:12px;overflow:hidden}.category-header{display:flex;align-items:center;gap:16px;padding:20px;background:#fff;border-bottom:1px solid #eee}.category-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;font-size:20px}.materials .category-icon{background:#e3f2fd;color:#1976d2}.labour .category-icon{background:#fff3e0;color:#e65100}.other .category-icon{background:#f3e5f5;color:#7b1fa2}.category-info{flex:1}.category-info h4{margin:0 0 4px;font-size:16px;color:#1a1a1a}.category-info .amount{font-size:20px;font-weight:600;color:#1a1a1a}.expense-list{padding:16px;max-height:300px;overflow-y:auto}.expense-item{display:flex;justify-content:space-between;align-items:center;padding:12px;background:#fff;border-radius:8px;margin-bottom:8px}.expense-item:last-child{margin-bottom:0}.expense-date{font-size:14px;color:#666}.expense-amount{font-size:15px;font-weight:500;color:#1a1a1a}@media (max-width: 768px){.summary-cards,.expense-categories{grid-template-columns:1fr}}.dashboard-container{display:flex;min-height:100vh;background-color:#f8fafc}.top-navbar{position:fixed;top:0;left:0;right:0;height:80px;background:#1e3a8ad9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid rgba(255,255,255,.2);padding:0 24px;color:#fff;box-shadow:0 4px 15px #0000001a;z-index:1000}.hamburger{display:none;position:fixed;top:1rem;left:1rem;z-index:1000;background:none;border:none;font-size:1.5rem;color:#1e293b;cursor:pointer}.product-header{text-align:center;margin-bottom:3rem}.product-header h1{font-size:2.5rem;color:#1e293b;margin-bottom:.5rem}.product-header p{color:#64748b;font-size:1.1rem}.card-container{display:flex;justify-content:center;gap:2rem;flex-wrap:wrap;max-width:1200px;margin:0 auto}.card-link{text-decoration:none;color:inherit}.card{background:#fff;border-radius:16px;padding:2rem;width:300px;text-align:center;box-shadow:0 4px 6px #0000001a;transition:all .3s ease;display:flex;flex-direction:column;align-items:center;gap:1rem;border:1px solid #e2e8f0}.card:hover{transform:translateY(-5px);box-shadow:0 8px 15px #0000001a;border-color:#cbd5e1}.card-icon{width:80px;height:80px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:1rem}.product-card .card-icon{background:linear-gradient(135deg,#60a5fa,#3b82f6);color:#fff}.category-card .card-icon{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff}.card h3{font-size:1.5rem;color:#1e293b;margin:0;line-height:1.2}.card p{color:#64748b;font-size:.95rem;margin:.5rem 0;line-height:1.5;min-height:2.5rem;display:flex;align-items:center;justify-content:center}.manage-button{background:#3b82f6;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .3s ease;margin-top:auto;width:100%}.manage-button:hover{background:#2563eb;transform:translateY(-2px)}@media (max-width: 768px){.dashboard-content{padding:1rem;margin-top:60px}.dashboard-content.sidebar-open{margin-left:0}.product-header h1{font-size:2rem}.card{width:100%;max-width:350px}}@media (max-width: 768px){.hamburger{display:block}}.material-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding:0 1rem}.material-header h2{font-size:1.8rem;color:#1e293b;margin:0}.add-material-btn{display:flex;align-items:center;gap:.5rem;background:#3b82f6;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .3s ease}.add-material-btn:hover{background:#2563eb;transform:translateY(-2px)}.materials-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;padding:0 1rem}.material-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 4px #0000001a;transition:all .3s ease;border:1px solid #e2e8f0;position:relative}.material-card:hover{transform:translateY(-2px);box-shadow:0 4px 6px #0000001a}.material-card-content{margin-bottom:1rem}.material-card-content h3{font-size:1.25rem;color:#1e293b;margin:0 0 .5rem}.material-card-content .price{font-size:1.5rem;color:#3b82f6;font-weight:600;margin:.5rem 0}.material-card-content .description{color:#64748b;font-size:.95rem;margin:.5rem 0;line-height:1.5}.material-card-actions{display:flex;gap:.5rem;justify-content:flex-end;margin-top:1rem;border-top:1px solid #e2e8f0;padding-top:1rem}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;justify-content:center;align-items:center;z-index:1000}.modal{background:#fff;border-radius:12px;width:90%;max-width:500px;box-shadow:0 4px 6px #0000001a}.modal-header{padding:1.5rem;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;align-items:center}.modal-header h3{margin:0;color:#1e293b;font-size:1.25rem}.close-btn{background:none;border:none;font-size:1.5rem;color:#64748b;cursor:pointer;padding:.5rem}.modal-body{padding:1.5rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;color:#1e293b;font-weight:500}.form-group input,.form-group textarea{width:100%;padding:.75rem;border:1px solid #e2e8f0;border-radius:6px;font-size:1rem;transition:border-color .3s ease}.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:#3b82f6}.form-group select{width:100%;padding:.75rem 2.5rem .75rem .75rem;border:1px solid #e2e8f0;border-radius:6px;font-size:1rem;background-color:#fff;color:#1e293b;cursor:pointer;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%2364748b' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpolyline points='6 9 12 15 18 9'%3E%3C/polyline%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;background-size:1rem}.form-group select:hover{border-color:#cbd5e1}.form-group select:disabled{background-color:#f1f5f9;cursor:not-allowed;color:#94a3b8}.category-select{margin-top:.5rem}.modal-footer{padding:1.5rem;border-top:1px solid #e2e8f0;display:flex;justify-content:flex-end;gap:1rem}.btn{padding:.75rem 1.5rem;border-radius:6px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .3s ease}.btn-primary{background:#3b82f6;color:#fff;border:none}.btn-primary:hover{background:#2563eb}.btn-secondary{background:#f1f5f9;color:#1e293b;border:1px solid #e2e8f0}.btn-secondary:hover{background:#e2e8f0}.btn-danger{background:#ef4444;color:#fff;border:none}.btn-danger:hover{background:#dc2626}@media (max-width: 768px){.material-header{flex-direction:column;gap:1rem;align-items:flex-start}.materials-grid{grid-template-columns:1fr}.modal{width:95%;margin:1rem}}.radio-group{display:flex;gap:20px;margin-top:8px}.radio-group label{display:flex;align-items:center;gap:8px;cursor:pointer}.radio-group input[type=radio]{margin:0;cursor:pointer}.category-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding:0 1rem}.category-header h2{font-size:1.8rem;color:#1e293b;margin:0}.add-category-btn{display:flex;align-items:center;gap:.5rem;background:#3b82f6;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .3s ease}.add-category-btn:hover{background:#2563eb;transform:translateY(-2px)}.categories-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:1.5rem;padding:0 1rem}.category-card{background:#fff;border-radius:12px;padding:1.5rem;box-shadow:0 2px 4px #0000001a;transition:all .3s ease;border:1px solid #e2e8f0}.category-card:hover{transform:translateY(-2px);box-shadow:0 4px 6px #0000001a}.category-card-content{margin-bottom:1rem}.category-card-content h3{font-size:1.25rem;color:#1e293b;margin:0 0 .5rem}.category-card-content p{color:#64748b;font-size:.95rem;margin:0}.category-card-actions{display:flex;gap:.5rem;justify-content:flex-end}.btn-icon{background:none;border:none;padding:.5rem;border-radius:6px;cursor:pointer;transition:all .3s ease}.edit-btn{color:#3b82f6}.edit-btn:hover{background:#e0f2fe}.delete-btn{color:#ef4444}.delete-btn:hover{background:#fee2e2}@media (max-width: 768px){.dashboard-content{padding:1rem;margin-top:60px}.category-header{flex-direction:column;gap:1rem;align-items:flex-start}.categories-grid{grid-template-columns:1fr}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.modal{background:#fff;border-radius:8px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 4px 20px #00000026}.modal-header{padding:1.5rem;border-bottom:1px solid #eee;display:flex;justify-content:space-between;align-items:center}.modal-body{padding:20px}.modal-footer{padding:1.5rem;border-top:1px solid #eee;display:flex;justify-content:flex-end;gap:.75rem}.close-btn{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#666}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-column{display:flex;flex-direction:column;gap:15px}.form-group{display:flex;flex-direction:column;gap:5px}.form-group label{font-weight:500;color:#333}.form-group input,.form-group textarea,.form-group select{padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;color:#000}.form-group textarea{min-height:100px;resize:vertical}.radio-group{display:flex;gap:20px}.radio-group label{display:flex;align-items:center;gap:5px;cursor:pointer}.radio-group input[type=radio]{margin:0}.btn{padding:.75rem 1.25rem;border-radius:4px;font-weight:500;cursor:pointer;border:none;transition:background .2s}.btn-primary{background:#4caf50;color:#fff}.btn-primary:hover{background:#3e8e41}.btn-secondary{background:#f0f0f0;color:#333}.btn-secondary:hover{background:#e0e0e0}.btn-danger{background:#f44336;color:#fff}.btn-danger:hover{background:#d32f2f}.no-categories-message{grid-column:1 / -1;text-align:center;padding:2rem;background-color:#fff5f5;border:1px solid #fed7d7;border-radius:8px;margin:2rem auto;max-width:600px;box-shadow:0 2px 4px #0000000d}.no-categories-message p{color:#e53e3e;font-size:1.1rem;font-weight:500;margin:0;display:flex;align-items:center;justify-content:center;gap:.5rem}.no-categories-message p:before{content:"⚠️";font-size:1.2rem}.loading-select{position:relative}.loading-select select{opacity:.7;background-color:#f5f5f5;cursor:not-allowed}.loading-select:after{content:"";position:absolute;right:10px;top:50%;transform:translateY(-50%);width:16px;height:16px;border:2px solid #f3f3f3;border-top:2px solid #3498db;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:translateY(-50%) rotate(0)}to{transform:translateY(-50%) rotate(360deg)}}.form-group select{width:100%;padding:8px 12px;border:1px solid #ddd;border-radius:4px;font-size:14px;background-color:#fff;color:#333;cursor:pointer;appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");background-repeat:no-repeat;background-position:right 10px center;background-size:15px}.form-group select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f633}.form-group select:disabled{background-color:#f5f5f5;cursor:not-allowed;opacity:.7}.form-group select option{padding:8px;background-color:#fff;color:#333}.sections-table-container{width:100%;overflow-x:auto;margin-top:20px;background:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.sections-table{width:100%;border-collapse:collapse;font-size:14px}.sections-table th,.sections-table td{padding:12px 15px;text-align:left;border-bottom:1px solid #eee}.sections-table th{background-color:#f8f9fa;font-weight:600;color:#333;position:sticky;top:0}.sections-table tbody tr:hover{background-color:#f8f9fa}.sections-table td{color:#666}.actions-cell{display:flex;gap:8px;justify-content:flex-start}.no-data{text-align:center;padding:20px;color:#666;font-style:italic}@media (max-width: 768px){.sections-table-container{margin:10px 0}.sections-table th,.sections-table td{padding:8px 10px;font-size:13px}}.sections-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;padding:20px}.section-card{background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a;overflow:hidden;transition:transform .2s ease,box-shadow .2s ease}.section-card:hover{transform:translateY(-4px);box-shadow:0 4px 12px #00000026}.section-card-header{padding:16px;background:#f8f9fa;border-bottom:1px solid #eee;display:flex;justify-content:space-between;align-items:center}.section-card-header h3{margin:0;font-size:18px;color:#333;font-weight:600}.section-actions{display:flex;gap:8px}.section-card-content{padding:16px}.section-info{display:flex;flex-direction:column;gap:12px}.section-description{color:#666;font-size:14px;line-height:1.5;margin:0}.section-details{display:flex;flex-direction:column;gap:8px}.detail-item{display:flex;justify-content:space-between;align-items:center}.detail-label{color:#666;font-size:14px}.detail-value{color:#333;font-weight:500;font-size:14px}@media (max-width: 768px){.sections-grid{grid-template-columns:1fr;padding:10px}.section-card{margin:0 10px}}.dashboard-content{flex:1;padding:2rem;transition:margin-left .3s ease;margin-top:80px}.sections-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding:0 1rem}.sections-header h2{font-size:1.8rem;color:#1e293b;margin:0}.sections-add-btn{display:flex;align-items:center;gap:.5rem;background:#22c55e;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .3s ease}.sections-add-btn:hover{background:#16a34a;transform:translateY(-2px)}.sections-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(400px,1fr));gap:2rem;padding:1.5rem}.section-item-card{background:#fff;border-radius:8px;padding:2rem;box-shadow:0 1px 3px #0000000d;border:1px solid rgba(0,0,0,.05);display:flex;flex-direction:column;min-width:400px}.section-item-card:hover{transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.section-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.section-item-header h3{font-size:1.75rem;color:#1e293b;margin:0;font-weight:600}.section-item-actions{display:flex;gap:1.25rem}.section-action-btn{background:none;border:none;padding:.25rem;cursor:pointer;color:#64748b;font-size:1.25rem}.section-edit-btn:hover{color:#3b82f6}.section-delete-btn:hover{color:#ef4444}.section-item-description{color:#64748b;font-size:1.1rem;margin:0 0 2rem;line-height:1.5}.section-item-details{display:grid;grid-template-columns:repeat(2,1fr);gap:1.5rem;margin-top:auto}.section-detail-item{display:flex;flex-direction:column;gap:.5rem;background:#f8fafb;padding:1.25rem;border-radius:.375rem;border:1px solid #f1f5f9}.section-detail-label{color:#64748b;font-size:.875rem;font-weight:500;text-transform:uppercase;letter-spacing:.03em}.section-detail-value{color:#1e293b;font-size:1.1rem;font-weight:500}.sections-table-container{padding:1.5rem;background:#fff;border-radius:8px;box-shadow:0 1px 3px #0000000d;overflow-x:auto}.sections-table{width:100%;border-collapse:collapse;text-align:left}.sections-table th{background-color:#f8fafc;color:#1e293b;font-weight:600;padding:1rem;border-bottom:2px solid #e2e8f0}.sections-table td{padding:1rem;border-bottom:1px solid #e2e8f0;color:#1e293b;vertical-align:middle}.sections-table tr:hover{background-color:#f8fafc}.description-cell{max-width:300px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.table-actions{display:flex;gap:.75rem;justify-content:center}.sections-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000}.sections-modal{background:#fff;border-radius:8px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 4px 20px #00000026}.sections-modal-header{padding:1.5rem;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;align-items:center}.sections-modal-header h3{font-size:1.25rem;color:#1e293b;margin:0}.sections-modal-close{background:none;border:none;font-size:1.5rem;cursor:pointer;color:#64748b}.sections-modal-body{padding:1.5rem}.sections-form-group{margin-bottom:1rem}.sections-form-group label{display:block;margin-bottom:.5rem;font-weight:500;color:#1e293b}.sections-form-group input,.sections-form-group select,.sections-form-group textarea{width:100%;padding:.75rem;border:1px solid #e2e8f0;border-radius:6px;font-size:.95rem;color:#1e293b}.sections-form-group input:focus,.sections-form-group select:focus,.sections-form-group textarea:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 2px #3b82f61a}.sections-radio-group{display:flex;gap:1.5rem;margin-top:.5rem}.sections-radio-group label{display:flex;align-items:center;gap:.5rem;font-weight:400;cursor:pointer}.sections-modal-footer{padding:1.5rem;border-top:1px solid #e2e8f0;display:flex;justify-content:flex-end;gap:.75rem}.sections-btn{padding:.75rem 1.5rem;border-radius:6px;font-size:.95rem;font-weight:500;cursor:pointer;transition:all .3s ease}.sections-btn-secondary{background:#f1f5f9;color:#1e293b;border:1px solid #e2e8f0}.sections-btn-secondary:hover{background:#e2e8f0}.sections-btn-primary{background:#3b82f6;color:#fff;border:none}.sections-btn-primary:hover{background:#2563eb}.sections-btn-danger{background:#ef4444;color:#fff;border:none}.sections-btn-danger:hover{background:#dc2626}.sections-loading-container{display:flex;justify-content:center;align-items:center;min-height:200px}.sections-loading-spinner{width:2rem;height:2rem;border:3px solid #e2e8f0;border-top:3px solid #3b82f6;border-radius:50%;animation:sections-spin 1s linear infinite}@keyframes sections-spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media (max-width: 768px){.dashboard-content{padding:1rem;margin-top:60px}.sections-header{flex-direction:column;gap:1rem;align-items:flex-start}.sections-grid{grid-template-columns:1fr;gap:1.5rem;padding:1rem}.sections-modal{margin:1rem}.section-item-card{min-width:unset}.section-item-header h3{font-size:1.25rem}.section-item-description{font-size:1rem;margin:0 0 1.5rem}.section-detail-value{font-size:1rem}}.income-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:40px;padding:24px 32px;background:linear-gradient(135deg,#fff,#f8fafc);border-radius:20px;box-shadow:0 10px 40px #00000014;border:1px solid rgba(255,255,255,.8);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px)}.income-header h2{font-size:32px;font-weight:700;background:linear-gradient(135deg,#1e293b,#475569);-webkit-background-clip:text;background-clip:text;color:transparent;margin:0;letter-spacing:-.5px}.add-income-btn{background:linear-gradient(135deg,#10b981,#059669);color:#fff;border:none;padding:16px 32px;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;gap:12px;box-shadow:0 8px 25px #10b9814d;position:relative;overflow:hidden}.add-income-btn:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.2),transparent);transition:left .5s}.add-income-btn:hover:before{left:100%}.add-income-btn:hover{transform:translateY(-3px);box-shadow:0 15px 35px #10b98166}.add-income-btn:active{transform:translateY(-1px)}.income-summary{display:grid;grid-template-columns:repeat(auto-fit,minmax(300px,1fr));gap:24px;margin-bottom:40px}.summary-card{background:linear-gradient(135deg,#fff,#f8fafc);padding:32px;border-radius:20px;box-shadow:0 10px 40px #00000014;border:1px solid rgba(255,255,255,.8);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);transition:all .3s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden}.summary-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,#10b981,#059669)}.summary-card.current-month:before{background:linear-gradient(90deg,#3b82f6,#1d4ed8)}.summary-card:hover{transform:translateY(-8px);box-shadow:0 20px 60px #0000001f}.summary-card h3{margin:0 0 16px;color:#64748b;font-size:14px;font-weight:600;text-transform:uppercase;letter-spacing:1px}.summary-card .amount{font-size:42px;font-weight:800;margin:0;background:linear-gradient(135deg,#10b981,#059669);-webkit-background-clip:text;background-clip:text;color:transparent;line-height:1}.summary-card.current-month .amount{background:linear-gradient(135deg,#3b82f6,#1d4ed8);-webkit-background-clip:text;background-clip:text}.filters-section{background:linear-gradient(135deg,#fff,#f8fafc);padding:32px;border-radius:20px;box-shadow:0 10px 40px #00000014;border:1px solid rgba(255,255,255,.8);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);margin-bottom:40px}.filters-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:28px}.filters-header h3{margin:0;color:#1e293b;font-size:20px;font-weight:700;letter-spacing:-.5px}.download-pdf-btn{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;border:none;padding:12px 24px;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;gap:8px;box-shadow:0 6px 20px #ef44444d}.download-pdf-btn:hover{transform:translateY(-2px);box-shadow:0 10px 30px #ef444466}.filters-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:20px}.filter-group{display:flex;flex-direction:column}.filter-group label{font-size:14px;color:#64748b;margin-bottom:8px;font-weight:600;letter-spacing:.5px}.filter-group select,.filter-group input{padding:14px 16px;border:2px solid #e2e8f0;border-radius:12px;font-size:14px;font-weight:500;transition:all .3s cubic-bezier(.4,0,.2,1);background:#fff;color:#1e293b}.filter-group select:focus,.filter-group input:focus{outline:none;border-color:#10b981;box-shadow:0 0 0 4px #10b9811a;transform:translateY(-1px)}.filter-group select:hover,.filter-group input:hover{border-color:#cbd5e1}.income-table-container{background:linear-gradient(135deg,#fff,#f8fafc);border-radius:20px;box-shadow:0 10px 40px #00000014;border:1px solid rgba(255,255,255,.8);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);overflow:hidden}.income-table{width:100%;border-collapse:collapse}.income-table th{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);padding:20px 16px;text-align:left;font-weight:700;color:#1e293b;border-bottom:2px solid #e2e8f0;font-size:14px;letter-spacing:.5px;text-transform:uppercase}.income-table td{padding:20px 16px;border-bottom:1px solid #f1f5f9;color:#475569;font-size:14px;font-weight:500;transition:all .2s ease}.income-table tr:hover{background:linear-gradient(135deg,#f8fafc,#f1f5f9);transform:scale(1.01)}.income-table tr:hover td{color:#1e293b}.income-table .amount{font-weight:700;color:#10b981;font-size:16px}.income-table .date{color:#64748b;font-size:13px;font-weight:500}.income-table .added-by{color:#3b82f6;font-weight:600}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0009;display:flex;align-items:center;justify-content:center;z-index:1000;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);animation:fadeIn .3s ease}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.income-modal{background:linear-gradient(135deg,#fff,#f8fafc);border-radius:24px;padding:0;width:90%;max-width:600px;max-height:90vh;overflow-y:auto;box-shadow:0 25px 80px #0000004d;border:1px solid rgba(255,255,255,.8);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);animation:modalSlideIn .4s cubic-bezier(.4,0,.2,1);position:relative}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.modal-header{padding:32px 32px 0;border-bottom:1px solid #e2e8f0;margin-bottom:32px;position:relative}.modal-header h2{margin:0;color:#1e293b;font-size:28px;font-weight:700;letter-spacing:-.5px}.close-button{position:absolute;top:24px;right:24px;background:linear-gradient(135deg,#f1f5f9,#e2e8f0);border:none;width:40px;height:40px;border-radius:12px;font-size:20px;cursor:pointer;color:#64748b;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;justify-content:center}.close-button:hover{background:linear-gradient(135deg,#ef4444,#dc2626);color:#fff;transform:rotate(90deg)}.income-form{padding:0 32px 32px}.form-group{margin-bottom:24px}.form-group label{display:block;margin-bottom:10px;font-weight:600;color:#1e293b;font-size:14px;letter-spacing:.5px}.form-group input,.form-group textarea{width:100%;padding:16px 20px;border:2px solid #e2e8f0;border-radius:12px;font-size:14px;font-weight:500;transition:all .3s cubic-bezier(.4,0,.2,1);box-sizing:border-box;background:#fff;color:#1e293b}.form-group input:focus,.form-group textarea:focus{outline:none;border-color:#10b981;box-shadow:0 0 0 4px #10b9811a;transform:translateY(-1px)}.form-group textarea{resize:vertical;min-height:120px;font-family:inherit}.form-group input:hover,.form-group textarea:hover{border-color:#cbd5e1}.form-actions{display:flex;gap:16px;justify-content:flex-end;margin-top:32px}.submit-button,.cancel-button{padding:16px 32px;border-radius:12px;font-size:14px;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);border:none;letter-spacing:.5px}.submit-button{background:linear-gradient(135deg,#10b981,#059669);color:#fff;box-shadow:0 8px 25px #10b9814d}.submit-button:hover{transform:translateY(-2px);box-shadow:0 12px 35px #10b98166}.cancel-button{background:linear-gradient(135deg,#f1f5f9,#e2e8f0);color:#64748b;border:2px solid #e2e8f0}.cancel-button:hover{background:linear-gradient(135deg,#e2e8f0,#cbd5e1);color:#475569;transform:translateY(-1px)}@media (max-width: 768px){.income-container{padding:20px}.income-header{flex-direction:column;gap:20px;align-items:stretch;padding:20px}.income-header h2{font-size:24px;text-align:center}.income-summary{grid-template-columns:1fr;gap:16px}.summary-card{padding:24px}.summary-card .amount{font-size:32px}.filters-grid{grid-template-columns:1fr;gap:16px}.filters-header{flex-direction:column;gap:16px;align-items:stretch}.income-table{font-size:12px}.income-table th,.income-table td{padding:12px 8px}.form-actions{flex-direction:column}.modal-header,.income-form{padding-left:20px;padding-right:20px}.income-modal{width:95%;margin:20px}}.loading{opacity:.7;pointer-events:none}.income-table-container::-webkit-scrollbar{width:8px}.income-table-container::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}.income-table-container::-webkit-scrollbar-thumb{background:linear-gradient(135deg,#cbd5e1,#94a3b8);border-radius:4px}.income-table-container::-webkit-scrollbar-thumb:hover{background:linear-gradient(135deg,#94a3b8,#64748b)}.report-header{background:linear-gradient(135deg,#fff,#f8fafc);border-radius:20px;box-shadow:0 10px 40px #00000014;border:1px solid rgba(255,255,255,.8);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);margin-bottom:2rem;overflow:hidden}.report-header-content{padding:2rem;display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1.5rem}.report-title-section h1{font-size:2.5rem;font-weight:700;background:linear-gradient(135deg,#1e293b,#475569);-webkit-background-clip:text;background-clip:text;color:transparent;margin:0 0 .5rem;letter-spacing:-.5px}.report-title-section p{color:#64748b;font-size:1.1rem;margin:0;font-weight:500}.report-actions{display:flex;align-items:center;gap:1rem;flex-wrap:wrap}.report-period-selector{position:relative}.report-period-select{background:#fff;border:2px solid #e2e8f0;border-radius:12px;padding:.75rem 1rem;font-size:.9rem;font-weight:500;color:#1e293b;cursor:pointer;transition:all .3s ease;min-width:150px}.report-period-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.report-refresh-btn,.report-export-btn{background:linear-gradient(135deg,#3b82f6,#1d4ed8);color:#fff;border:none;padding:.75rem 1.5rem;border-radius:12px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);display:flex;align-items:center;gap:.5rem;box-shadow:0 8px 25px #3b82f64d}.report-refresh-btn:hover,.report-export-btn:hover{transform:translateY(-2px);box-shadow:0 15px 35px #3b82f666}.report-export-btn{background:linear-gradient(135deg,#10b981,#059669);box-shadow:0 8px 25px #10b9814d}.report-export-btn:hover{box-shadow:0 15px 35px #10b98166}.report-section{margin-bottom:3rem}.report-section-header{margin-bottom:2rem;padding-bottom:1rem;border-bottom:2px solid #f1f5f9}.report-section-header h2{font-size:1.875rem;font-weight:700;color:#1e293b;margin:0 0 .5rem;letter-spacing:-.025em}.report-section-header p{color:#64748b;font-size:1rem;margin:0;font-weight:500}.report-content,.report-overview-grid{display:flex;flex-direction:column;gap:2rem}.report-metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:1.5rem}.report-metric-card{background:#fff;padding:1.5rem;border-radius:16px;box-shadow:0 4px 20px #0000000f;border:1px solid rgba(226,232,240,.8);transition:all .3s ease;position:relative;overflow:hidden}.report-metric-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--gradient-start),var(--gradient-end))}.report-metric-card.revenue:before{--gradient-start: #10b981;--gradient-end: #059669}.report-metric-card.profit:before{--gradient-start: #3b82f6;--gradient-end: #1d4ed8}.report-metric-card.clients:before{--gradient-start: #8b5cf6;--gradient-end: #7c3aed}.report-metric-card.projects:before{--gradient-start: #f59e0b;--gradient-end: #d97706}.report-metric-card.completed:before{--gradient-start: #06b6d4;--gradient-end: #0891b2}.report-metric-card.success:before{--gradient-start: #84cc16;--gradient-end: #65a30d}.report-metric-card:hover{transform:translateY(-4px);box-shadow:0 8px 30px #0000001f}.report-metric-icon{width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;margin-bottom:1rem;background:linear-gradient(135deg,var(--icon-bg-start),var(--icon-bg-end));color:#fff}.report-metric-card.revenue .report-metric-icon{--icon-bg-start: #10b981;--icon-bg-end: #059669}.report-metric-card.profit .report-metric-icon{--icon-bg-start: #3b82f6;--icon-bg-end: #1d4ed8}.report-metric-card.clients .report-metric-icon{--icon-bg-start: #8b5cf6;--icon-bg-end: #7c3aed}.report-metric-card.projects .report-metric-icon{--icon-bg-start: #f59e0b;--icon-bg-end: #d97706}.report-metric-card.completed .report-metric-icon{--icon-bg-start: #06b6d4;--icon-bg-end: #0891b2}.report-metric-card.success .report-metric-icon{--icon-bg-start: #84cc16;--icon-bg-end: #65a30d}.report-metric-content h3{font-size:.875rem;color:#64748b;margin:0 0 .5rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.report-metric-value{font-size:2rem;font-weight:700;color:#1e293b;margin:0 0 .5rem;line-height:1.2}.report-metric-change{display:flex;align-items:center;gap:.25rem;font-size:.875rem;font-weight:600;padding:.25rem .75rem;border-radius:20px;width:fit-content}.report-metric-change.positive{color:#10b981;background:#10b9811a}.report-metric-change.negative{color:#ef4444;background:#ef44441a}.report-metric-change.neutral{color:#64748b;background:#64748b1a}.report-charts-section{display:grid;grid-template-columns:2fr 1fr;gap:1.5rem}.report-bottom-section{display:grid;grid-template-columns:1fr 1fr;gap:1.5rem}.report-chart-card,.report-activity-card,.report-top-clients-card{background:#fff;border-radius:16px;box-shadow:0 4px 20px #0000000f;border:1px solid rgba(226,232,240,.8);overflow:hidden}.report-chart-header,.report-card-header{padding:1.5rem;border-bottom:1px solid #f1f5f9;display:flex;justify-content:space-between;align-items:center}.report-chart-header h3,.report-card-header h3{font-size:1.125rem;font-weight:600;color:#1e293b;margin:0}.report-chart-actions{display:flex;gap:.5rem}.report-chart-action-btn{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:.5rem;color:#64748b;cursor:pointer;transition:all .2s ease}.report-chart-action-btn:hover{background:#f1f5f9;color:#3b82f6}.report-view-all-btn{background:transparent;border:1px solid #e2e8f0;border-radius:8px;padding:.5rem 1rem;color:#64748b;font-size:.875rem;font-weight:500;cursor:pointer;transition:all .2s ease}.report-view-all-btn:hover{background:#f8fafc;color:#3b82f6;border-color:#3b82f6}.report-chart-content{padding:1.5rem;min-height:300px;display:flex;align-items:center;justify-content:center}.report-chart-placeholder{text-align:center;color:#64748b}.report-chart-placeholder p{margin:1rem 0 0;font-size:.9rem}.report-status-list{width:100%;display:flex;flex-direction:column;gap:1rem}.report-status-item{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:#f8fafc;border-radius:8px}.report-status-info{display:flex;align-items:center;gap:.75rem}.report-status-dot{width:12px;height:12px;border-radius:50%}.report-status-name{font-weight:500;color:#1e293b}.report-status-count{font-weight:600;color:#1e293b;background:#fff;padding:.25rem .75rem;border-radius:20px;font-size:.875rem}.report-activity-list,.report-clients-list{padding:1.5rem;max-height:400px;overflow-y:auto}.report-activity-item,.report-client-item{display:flex;gap:1rem;padding:1rem 0;border-bottom:1px solid #f1f5f9}.report-activity-item:last-child,.report-client-item:last-child{border-bottom:none}.report-activity-icon{flex-shrink:0;margin-top:.25rem}.report-activity-content h4{font-size:.9rem;font-weight:600;color:#1e293b;margin:0 0 .25rem}.report-activity-content p{font-size:.875rem;color:#64748b;margin:0 0 .5rem}.report-activity-time{font-size:.75rem;color:#94a3b8}.report-client-rank{font-weight:700;color:#64748b;font-size:.875rem;min-width:30px}.report-client-avatar{width:40px;height:40px;border-radius:50%;flex-shrink:0}.report-client-info{flex:1}.report-client-info h4{font-size:.9rem;font-weight:600;color:#1e293b;margin:0 0 .25rem}.report-client-info p{font-size:.875rem;color:#64748b;margin:0}.report-client-status{flex-shrink:0}.report-status-badge{padding:.25rem .75rem;border-radius:20px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.report-status-badge.completed{background:#10b9811a;color:#10b981}.report-status-badge.in-progress{background:#3b82f61a;color:#3b82f6}.report-status-badge.on-hold{background:#ef44441a;color:#ef4444}.report-tab-content{display:flex;flex-direction:column;gap:2rem}.report-financial-metrics{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:1.5rem}.report-financial-card{background:#fff;padding:1.5rem;border-radius:12px;box-shadow:0 2px 16px #0000000f;border:1px solid rgba(226,232,240,.8);text-align:center}.report-financial-card h3{font-size:.875rem;color:#64748b;margin:0 0 1rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.report-financial-card .amount{font-size:2rem;font-weight:700;color:#1e293b;margin:0 0 .5rem}.report-financial-card .change{font-size:.875rem;font-weight:500}.report-financial-card.income .amount{color:#10b981}.report-financial-card.expenses .amount{color:#ef4444}.report-financial-card.profit .amount{color:#3b82f6}.report-financial-card.margin .amount{color:#8b5cf6}.report-change.positive{color:#10b981}.report-change.negative{color:#ef4444}.report-expense-breakdown{background:#fff;padding:1.5rem;border-radius:12px;box-shadow:0 2px 16px #0000000f;border:1px solid rgba(226,232,240,.8)}.report-expense-breakdown h3{font-size:1.125rem;font-weight:600;color:#1e293b;margin:0 0 1.5rem}.report-expense-chart{display:flex;flex-direction:column;gap:1rem}.report-expense-item{display:flex;flex-direction:column;gap:.5rem}.report-expense-header{display:flex;align-items:center;gap:.75rem}.report-expense-color{width:12px;height:12px;border-radius:50%}.report-expense-category{flex:1;font-weight:500;color:#1e293b}.report-expense-amount{font-weight:600;color:#1e293b}.report-expense-bar{height:8px;background:#f1f5f9;border-radius:4px;overflow:hidden}.report-expense-fill{height:100%;border-radius:4px;transition:width .3s ease}.report-expense-percentage{text-align:right}.report-project-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem}.report-stat-item{background:#fff;padding:1.5rem;border-radius:12px;box-shadow:0 2px 16px #0000000f;border:1px solid rgba(226,232,240,.8);text-align:center}.report-stat-item h4{font-size:.875rem;color:#64748b;margin:0 0 .5rem;font-weight:600;text-transform:uppercase;letter-spacing:.5px}.report-stat-item p{font-size:2rem;font-weight:700;color:#1e293b;margin:0}.report-project-status-chart{background:#fff;padding:1.5rem;border-radius:12px;box-shadow:0 2px 16px #0000000f;border:1px solid rgba(226,232,240,.8)}.report-project-status-chart h3{font-size:1.125rem;font-weight:600;color:#1e293b;margin:0 0 1.5rem}.report-status-chart{display:flex;flex-direction:column;gap:1rem}.report-status-segment{display:flex;align-items:center;gap:1rem}.report-segment-fill{height:24px;border-radius:12px;min-width:60px;transition:width .3s ease}.report-segment-label{font-size:.875rem;font-weight:500;color:#1e293b;min-width:100px}.report-analytics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:1.5rem}.report-analytics-card{background:#fff;padding:1.5rem;border-radius:12px;box-shadow:0 2px 16px #0000000f;border:1px solid rgba(226,232,240,.8)}.report-analytics-card h3{font-size:1.125rem;font-weight:600;color:#1e293b;margin:0 0 1.5rem}.report-metrics-list{display:flex;flex-direction:column;gap:1rem}.report-metric-row{display:flex;justify-content:space-between;align-items:center;padding:.75rem;background:#f8fafc;border-radius:8px}.report-metric-row span:first-child{color:#64748b;font-weight:500}.metric-value{font-weight:600;color:#1e293b}.report-trend-chart{min-height:200px;display:flex;align-items:center;justify-content:center}.report-loading-container{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:400px;color:#64748b}.report-loading-spinner{width:40px;height:40px;border:4px solid #f1f5f9;border-top:4px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:1rem}@media (max-width: 1024px){.report-charts-section,.report-bottom-section,.report-analytics-grid{grid-template-columns:1fr}}@media (max-width: 768px){.report-header-content{flex-direction:column;align-items:flex-start}.report-actions{width:100%;justify-content:space-between}.report-metrics-grid,.report-financial-metrics{grid-template-columns:1fr}.report-project-stats{grid-template-columns:repeat(2,1fr)}.report-title-section h1{font-size:2rem}.report-section-header h2{font-size:1.5rem}}@media (max-width: 480px){.report-project-stats{grid-template-columns:1fr}.report-actions{flex-direction:column;gap:.75rem}.report-period-selector,.report-period-select{width:100%}}.dashboard-container{display:flex;height:100vh;background-color:#f0f7ff}.dashboard-content{margin-left:280px;margin-top:0;min-height:100vh;background:linear-gradient(135deg,#f6f9fccc,#f1f5f9cc);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px);flex:1;display:flex;flex-direction:column;transition:margin-left .3s ease}.sidebar{width:280px;height:100vh;background:#1e3a8af2;border-right:1px solid rgba(255,255,255,.2);color:#fff;display:flex;flex-direction:column;position:fixed;left:0;top:0;z-index:999}.sidebar-logo{padding:40px 24px;text-align:center;font-size:26px;font-weight:700;line-height:1.5;height:80px;display:flex;align-items:center;justify-content:center;background:linear-gradient(to right,#60a5fa,#3b82f6);-webkit-background-clip:text;background-clip:text;color:transparent;border-bottom:1px solid rgba(255,255,255,.2)}.sidebar-nav{flex-grow:1;margin-top:20px}.nav-link{display:flex;align-items:center;gap:12px;padding:14px 24px;color:#bfdbfe;text-decoration:none;font-size:15px;transition:all .3s ease;border-radius:12px;margin:4px 12px}.nav-link:hover{background:#3b82f666;color:#fff;transform:translate(4px)}.nav-link.active{background:#3b82f64d;color:#fff;font-weight:500}.logout-section{padding:16px;border-top:1px solid #333}.logout-button{display:flex;align-items:center;gap:12px;width:calc(100% - 16px);margin:8px;padding:12px 20px;color:#fff;background:#ef444426;border:none;cursor:pointer;font-size:14px;transition:all .3s ease;border-radius:8px}.logout-button:hover{background:#ef444440;transform:translate(5px);box-shadow:0 4px 12px #ef444433}.top-navbar{position:absolute;top:0;left:280px;right:0;height:80px;background:#1e3a8ad9;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);z-index:1000}.navbar-content{max-width:1280px;margin:0 auto;height:100%;display:flex;align-items:center;justify-content:space-between}.navbar-left{display:flex;align-items:center;gap:24px}.menu-button,.notification-button{padding:10px;background:#3b82f633;border:none;color:#fff;cursor:pointer;border-radius:8px;transition:all .3s ease}.menu-button:hover,.notification-button:hover{background:#3b82f64d;transform:translateY(-2px);box-shadow:0 4px 12px #3b82f633}.navbar-title{font-size:20px;font-weight:500;letter-spacing:.5px;color:#1a1a1a}.navbar-right{display:flex;align-items:center;gap:8px;margin-left:auto;justify-content:flex-end}.notification-button{position:relative;padding:8px;background:none;border:none;color:#fff;cursor:pointer;border-radius:50%;transition:background-color .2s}.notification-dot{position:absolute;top:4px;right:4px;width:8px;height:8px;background-color:#60a5fa;border-radius:50%;box-shadow:0 0 8px #60a5fa80}.divider{width:1px;height:24px;background-color:#0000001a;margin:0 8px}.profile-button{display:flex;align-items:center;gap:10px;padding:8px 16px;background:#3b82f633;border:none;color:#fff;cursor:pointer;border-radius:12px;transition:all .3s ease}.profile-button:hover{background:#3b82f64d;transform:translateY(-2px);box-shadow:0 4px 12px #3b82f633}.avatar{width:38px;height:38px;border-radius:50%;background:linear-gradient(135deg,#60a5fa,#3b82f6);display:flex;align-items:center;justify-content:center;border:2px solid rgba(255,255,255,.3);box-shadow:0 2px 10px #3b82f64d}.username{font-size:15px;font-weight:700;color:#fff;letter-spacing:.5px}.hamburger{display:none;font-size:30px;background:none;border:none;color:#fff;cursor:pointer;position:absolute;top:20px;left:20px;z-index:1001}.dashboard-content.sidebar-open{margin-left:250px}@media (max-width: 768px){.hamburger{display:block}.sidebar{width:250px;transform:translate(-100%);transition:transform .3s ease}.sidebar.open{transform:translate(0)}.sidebar.closed{transform:translate(-100%)}.top-navbar{left:0;right:0}.navbar-logo{padding-left:50px}}.navbar-logo{font-size:24px;font-weight:700;color:#fff;margin-right:20px}.dropdown-menu{position:absolute;top:80px;right:20px;background:#1e3a8ad9;border-radius:8px;box-shadow:0 4px 15px #0003;z-index:1000;display:flex;flex-direction:column;padding:10px}.dropdown-item{padding:10px 20px;color:#fff;cursor:pointer;transition:background .3s}.dropdown-item:hover{background:#3b82f666}.card-container{display:flex;flex-wrap:wrap;justify-content:center;margin:20px;padding-left:300px}.card{flex:1 1 30%;margin:10px;background:#ffffffb3;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border:1px solid rgba(255,255,255,.3);border-radius:20px;box-shadow:0 8px 32px #1f268726;padding:20px;text-align:center;display:flex;flex-direction:column;align-items:center;justify-content:center;transition:transform .3s}.card:hover{transform:translateY(-5px)}.profile-icon{font-size:40px;margin-bottom:10px}@media (max-width: 768px){.card-container{padding-left:0}.card{flex:1 1 100%}}.table-wrapper{margin:20px;padding:20px;background:#fff;border-radius:8px;box-shadow:0 2px 5px #0000001a;max-width:100%;overflow-x:auto}.table-container{width:100%;overflow-x:auto}table{width:100%;border-collapse:collapse;min-width:600px;background:#ffffffb3;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:10px;overflow:hidden}th,td{padding:12px;text-align:left;border-bottom:1px solid #ddd;white-space:nowrap}th{background:#f8fafccc;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}@media (max-width: 768px){.table-container{overflow-x:auto}th,td{padding:8px;font-size:14px}}.edit-btn,.delete-btn{background:none!important;border:none;cursor:pointer;margin:0 5px;padding:5px;font-size:16px;transition:color .3s ease-in-out}.edit-btn:hover{color:#00f}.delete-btn:hover{color:red}.category-section{background:#fff9;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(255,255,255,.2);border-radius:15px;box-shadow:0 4px 15px #0000000d}input,textarea{background:#fffc;border:1px solid rgba(203,213,225,.5);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px)}button{background:#3b82f6cc;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border:1px solid rgba(255,255,255,.2);transition:all .3s ease}button:hover{background:#3b82f6e6;transform:translateY(-2px);box-shadow:0 5px 15px #3b82f633}@media (max-width: 768px){.dashboard-content{margin-left:0}.top-navbar{left:0}.dashboard-content.sidebar-open{margin-left:280px}}.category-card{background:#f8fafccc;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:8px;padding:1.5rem;margin-bottom:1rem;transition:all .3s ease;border:1px solid rgba(226,232,240,.6)}.category-card:hover{background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none;border-color:#e2e8f0;transform:translateY(-2px);box-shadow:0 8px 20px #00000014}.form-section{background:#fffc;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:12px;padding:2rem;margin-bottom:2rem;transition:all .3s ease;border:1px solid rgba(226,232,240,.6)}.form-section:hover{background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none;border-color:#e2e8f0;box-shadow:0 8px 20px #00000014}.materials-table{background:#fffc;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:6px;overflow:hidden;margin:1rem 0;transition:all .3s ease;border:1px solid rgba(226,232,240,.6)}.materials-table:hover{background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none;border-color:#e2e8f0;box-shadow:0 8px 20px #00000014}.estimate-preview-panel{background:#fffc;backdrop-filter:blur(8px);-webkit-backdrop-filter:blur(8px);border-radius:12px;transition:all .3s ease;border:1px solid rgba(226,232,240,.6)}.estimate-preview-panel:hover{background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none;border-color:#e2e8f0;box-shadow:0 8px 20px #00000014}.form-field input,.form-field textarea{background:#fffc;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);transition:all .3s ease;border:1px solid rgba(226,232,240,.6)}.form-field input:hover,.form-field textarea:hover{background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none;border-color:#e2e8f0}.form-field input:focus,.form-field textarea:focus{background:#fff;backdrop-filter:none;-webkit-backdrop-filter:none;border-color:#3b82f6;box-shadow:0 0 0 3px #3b82f61a}.action-btn{background:#3b82f6cc;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);transition:all .3s ease}.action-btn:hover{background:#3b82f6;backdrop-filter:none;-webkit-backdrop-filter:none;transform:translateY(-2px);box-shadow:0 8px 20px #3b82f633}.materials-table th{background:#f1f5f9cc;backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);transition:all .3s ease}.materials-table:hover th{background:#f1f5f9;backdrop-filter:none;-webkit-backdrop-filter:none}.main-content{background:linear-gradient(135deg,#f0f4f8cc,#f8fafccc);transition:all .3s ease}@keyframes removeBlur{0%{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}to{-webkit-backdrop-filter:none;backdrop-filter:none}}*{transition:background-color .3s ease,backdrop-filter .3s ease,box-shadow .3s ease,transform .3s ease,border-color .3s ease}.sc-glJfXD.PSRiK{transition:none!important}.sc-glJfXD.PSRiK:hover{transform:none!important;box-shadow:none!important;background:inherit!important;backdrop-filter:none!important;-webkit-backdrop-filter:none!important;border-color:inherit!important}.client-details-container{padding:2rem;max-width:1400px;margin:0 auto}.client-details-header{margin-bottom:2rem;text-align:center}.client-details-header h2{font-size:2rem;color:#2c3e50;font-weight:600;margin-bottom:.5rem}.client-details-card{background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;padding:2rem;transition:transform .3s ease,box-shadow .3s ease;width:100%}.client-details-card:hover{transform:translateY(-5px);box-shadow:0 6px 12px #00000026}.client-details-card h3{color:#2c3e50;font-size:1.5rem;margin-bottom:1.5rem;padding-bottom:.5rem;border-bottom:2px solid #3498db}.client-details-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-template-rows:repeat(2,1fr);gap:2rem}.detail-row{display:flex;flex-direction:column;padding:1.5rem;background:#f8f9fa;border-radius:8px;transition:all .3s ease;min-height:120px;justify-content:center;width:100%}.detail-row:hover{background:#e9ecef;transform:translateY(-3px);box-shadow:0 4px 8px #0000001a}.detail-label{font-size:.9rem;color:#6c757d;margin-bottom:.75rem;text-transform:uppercase;letter-spacing:.5px}.detail-value{font-size:1.2rem;color:#2c3e50;font-weight:500;word-break:break-word;overflow-wrap:break-word;max-width:100%}.estimate-generation-section{margin-top:3rem;background:#fff;border-radius:12px;box-shadow:0 4px 6px #0000001a;padding:2rem}.estimate-generation-section h3{color:#2c3e50;font-size:1.5rem;margin-bottom:1.5rem;padding-bottom:.5rem;border-bottom:2px solid #3498db}.selection-group{margin-bottom:1.5rem}.selection-group label{display:block;margin-bottom:.5rem;color:#2c3e50;font-weight:500}.selection-input{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:6px;font-size:1rem;transition:border-color .3s ease}.selection-input:focus{outline:none;border-color:#3498db}.sections-selection{margin:2rem 0}.sections-selection label{display:block;margin-bottom:1rem;color:#2c3e50;font-weight:500}.sections-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:1rem}.section-item{padding:1rem;background:#f8f9fa;border-radius:6px;cursor:pointer;transition:all .3s ease;text-align:center;border:2px solid transparent}.section-item:hover{background:#e9ecef;transform:translateY(-2px)}.section-item.selected{background:#e3f2fd;border-color:#3498db}.selected-sections-table{margin-top:2rem;overflow-x:auto}.selected-sections-table table{width:100%;border-collapse:collapse;margin-top:1rem}.selected-sections-table th,.selected-sections-table td{padding:1rem;text-align:left;border-bottom:1px solid #ddd}.selected-sections-table th{background:#f8f9fa;font-weight:600;color:#2c3e50}.selected-sections-table tbody tr:hover{background:#f8f9fa}.quantity-input,.price-input{width:100px;padding:.5rem;border:1px solid #ddd;border-radius:4px;text-align:right}.remove-btn{padding:.5rem 1rem;background:#e74c3c;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background-color .3s ease}.remove-btn:hover{background:#c0392b}.selected-sections-table tfoot{font-weight:600;background:#f8f9fa}.selected-sections-table tfoot td{text-align:right}@media (max-width: 1024px){.client-details-container{padding:1.5rem;max-width:100%}.client-details-card{padding:1.5rem}.client-details-grid{gap:1.5rem}.sections-grid{grid-template-columns:repeat(auto-fill,minmax(150px,1fr))}}@media (max-width: 768px){.client-details-container{padding:1rem}.client-details-card{padding:1.5rem}.client-details-grid{grid-template-columns:1fr;grid-template-rows:auto}.detail-row{min-height:100px}.estimate-generation-section{padding:1.5rem}.sections-grid{grid-template-columns:repeat(auto-fill,minmax(120px,1fr))}.selected-sections-table{font-size:.9rem}.quantity-input,.price-input{width:80px}}.loading-container{display:flex;justify-content:center;align-items:center;min-height:200px}.loading-spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #3498db;border-radius:50%;animation:spin 1s linear infinite}.dashboard-container{display:flex;min-height:100vh;position:relative;transition:all .3s ease}.dashboard-container.sidebar-open{padding-left:250px}.hamburger{position:fixed;top:20px;left:20px;z-index:1000;background:#fff;border:none;padding:10px 15px;border-radius:8px;cursor:pointer;box-shadow:0 2px 4px #0000001a;font-size:20px;transition:all .3s ease}.dashboard-content{flex:1;transition:all .3s ease;width:100%}.estimate-generation-container{padding:40px;max-width:1200px;margin:0 auto}.estimate-header{margin-bottom:30px}.estimate-header h2{font-size:24px;color:#1e293b;margin:0}.client-details-row{margin-bottom:30px}.client-details-card{background:#fff;border-radius:12px;padding:24px;box-shadow:0 2px 4px #0000000d}.client-details-card h3{color:#1e293b;font-size:18px;margin:0 0 20px}.client-details-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.client-details-column{display:flex;flex-direction:column;gap:16px}.detail-row{display:flex;justify-content:space-between;align-items:center}.detail-label{color:#64748b;font-weight:500}.detail-value{color:#1e293b;font-weight:500}.status-badge{display:inline-block;padding:4px 12px;border-radius:20px;font-size:14px;font-weight:500}.status-pending{background-color:#fef3c7;color:#d97706}.status-approved{background-color:#dcfce7;color:#15803d}.status-rejected{background-color:#fee2e2;color:#b91c1c}.selected-materials-table{background:#fff;border-radius:12px;padding:24px;margin-bottom:30px;box-shadow:0 2px 4px #0000000d}.selected-materials-table h3{color:#1e293b;font-size:18px;margin:0 0 20px}.selected-materials-table table{width:100%;border-collapse:separate;border-spacing:0}.selected-materials-table th{background-color:#f8fafc;color:#64748b;font-weight:600;padding:12px 16px;text-align:left;border-bottom:1px solid #e2e8f0}.selected-materials-table td{padding:16px;border-bottom:1px solid #e2e8f0;color:#1e293b}.category-badge{display:inline-block;padding:4px 12px;background-color:#e2e8f0;color:#475569;border-radius:20px;font-size:14px}.dimensions-info{display:flex;flex-direction:column;gap:4px}.area-value{color:#64748b;font-size:14px}.grand-total-label{text-align:right;font-weight:600;color:#1e293b}.grand-total-value{font-weight:600;color:#1e293b;font-size:18px}.terms-section{background:#fff;border-radius:12px;padding:24px;margin-bottom:30px;box-shadow:0 2px 4px #0000000d}.terms-section h3{color:#1e293b;font-size:18px;margin:0 0 20px}.terms-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:16px}.term-item{display:flex;align-items:center;gap:8px;color:#64748b}.term-bullet{color:#3b82f6}.action-buttons{display:flex;justify-content:flex-end;margin-top:32px}.download-btn{background-color:#3b82f6;color:#fff;border:none;padding:12px 24px;border-radius:8px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease}.download-btn:hover{background-color:#2563eb;transform:translateY(-2px);box-shadow:0 4px 6px #0000001a}.download-btn:active{transform:translateY(0);box-shadow:none}.loading-container{display:flex;justify-content:center;align-items:center;min-height:100vh}.loading-spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #3b82f6;border-radius:50%;animation:spin 1s linear infinite}@media (max-width: 768px){.estimate-generation-container{padding:20px}.client-details-grid,.terms-grid{grid-template-columns:1fr}.selected-materials-table{overflow-x:auto}}.pdf-generator-container{padding:20px;max-width:1200px;margin:0 auto;min-height:100vh}.content{overflow-y:auto;height:100vh;padding:20px}.page-header{text-align:center;margin-bottom:30px}.page-header h1{color:#333;font-size:2rem;margin-bottom:10px}.page-header p{color:#666;font-size:1.1rem}.upload-section{margin-bottom:30px}.upload-area{border:3px dashed #ddd;border-radius:12px;padding:60px 20px;text-align:center;cursor:pointer;transition:all .3s ease;background:#fafafa}.upload-area:hover,.upload-area.dragging{border-color:#007bff;background:#f0f8ff;transform:translateY(-2px)}.upload-content{pointer-events:none}.upload-icon{font-size:4rem;margin-bottom:20px;opacity:.7}.upload-area h3{color:#333;font-size:1.5rem;margin-bottom:10px}.upload-area p{color:#666;margin-bottom:5px}.upload-hint{font-size:.9rem;color:#999}.images-section{margin-bottom:30px}.images-section h2{color:#333;font-size:1.5rem;margin-bottom:20px}.images-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px}.image-card{background:#fff;border-radius:8px;overflow:hidden;box-shadow:0 2px 8px #0000001a;transition:transform .3s ease}.image-card:hover{transform:translateY(-4px);box-shadow:0 4px 16px #00000026}.image-preview{position:relative;height:200px;overflow:hidden}.image-preview img{width:100%;height:100%;object-fit:cover}.image-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease}.image-card:hover .image-overlay{opacity:1}.btn-remove{background:#dc3545;color:#fff;border:none;border-radius:50%;width:40px;height:40px;font-size:18px;cursor:pointer;transition:all .3s ease}.btn-remove:hover{background:#c82333;transform:scale(1.1)}.image-info{padding:15px}.image-name{color:#333;font-weight:500;margin-bottom:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.image-actions{display:flex;gap:8px;justify-content:center}.btn-move{background:#6c757d;color:#fff;border:none;border-radius:4px;width:32px;height:32px;font-size:14px;cursor:pointer;transition:all .3s ease}.btn-move:hover:not(:disabled){background:#5a6268;transform:scale(1.05)}.btn-move:disabled{background:#e9ecef;color:#adb5bd;cursor:not-allowed}.generate-section{text-align:center;padding:30px;background:#fff;border-radius:12px;box-shadow:0 2px 8px #0000001a}.btn-generate{background:linear-gradient(135deg,#007bff,#0056b3);color:#fff;border:none;border-radius:8px;padding:15px 40px;font-size:1.1rem;font-weight:600;cursor:pointer;transition:all .3s ease;margin-bottom:15px;display:flex;align-items:center;justify-content:center;gap:10px;min-width:250px}.btn-generate:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 4px 12px #007bff4d}.btn-generate:disabled{background:#e9ecef;color:#adb5bd;cursor:not-allowed;transform:none;box-shadow:none}.btn-generate.generating{background:linear-gradient(135deg,#6c757d,#5a6268);cursor:not-allowed;transform:none;box-shadow:none}.loading-spinner{width:20px;height:20px;border:2px solid rgba(255,255,255,.3);border-top:2px solid white;border-radius:50%;animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.generate-info{color:#666;font-size:.9rem;line-height:1.5}@media (max-width: 768px){.pdf-generator-container{padding:16px}.upload-area{padding:40px 16px}.images-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.image-preview{height:150px}.btn-generate{padding:12px 30px;font-size:1rem}}
