.dialog-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background-color:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000}.dialog-card{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 8px 16px #0003;width:100%;max-width:450px}.dialog-card h2{color:#e74c3c;margin-bottom:1rem;font-size:1.5rem}.dialog-message{color:#7f8c8d;margin-bottom:1.5rem;line-height:1.5}.dialog-btn{width:100%;padding:.75rem;background-color:#27ae60;color:#fff;border:none;border-radius:4px;font-size:1rem;font-weight:500;transition:background-color .2s}.dialog-btn:hover:not(:disabled){background-color:#229954}.dialog-btn:disabled{opacity:.6;cursor:not-allowed}.form-group input[readonly]{background-color:#ecf0f1;cursor:not-allowed}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2)}.login-card{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 4px 6px #0000001a;width:100%;max-width:400px}.login-logo{max-width:200px;height:auto;margin:0 auto 2rem;display:block}.login-card h2{color:#7f8c8d;margin-bottom:2rem;font-size:1.2rem;font-weight:400}.checkbox-group{margin-bottom:1.5rem}.checkbox-group label{display:flex;align-items:center;cursor:pointer;font-weight:400}.checkbox-group input[type=checkbox]{width:auto;margin-right:.5rem;cursor:pointer}.form-group input:focus{outline:none;border-color:#667eea}.error-message{background-color:#fee;color:#c33;padding:.75rem;border-radius:4px;margin-bottom:1rem}.login-btn{width:100%;padding:.75rem;background-color:#667eea;color:#fff;border:none;border-radius:4px;font-size:1rem;font-weight:500;transition:background-color .2s}.login-btn:hover:not(:disabled){background-color:#5568d3}.login-btn:disabled{opacity:.6;cursor:not-allowed}.hint{margin-top:1rem;text-align:center;color:#7f8c8d;font-size:.9rem}.layout{min-height:100vh;display:flex;flex-direction:column}.navbar{background-color:#fff;color:#2c3e50;padding:1rem 2rem;display:flex;align-items:center;gap:2rem;box-shadow:0 2px 4px #0000001a}.navbar-brand{display:flex;align-items:center}.navbar-logo{height:40px;width:auto}.navbar-menu{flex:1;display:flex;gap:1rem}.nav-link{color:#2c3e50;text-decoration:none;padding:.5rem 1rem;border-radius:4px;transition:background-color .2s}.nav-link:hover{background-color:#f0f0f0}.nav-link.active{background-color:#e8e8e8;font-weight:500}.logout-btn{background-color:#e74c3c;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;font-size:.9rem;transition:background-color .2s}.logout-btn:hover{background-color:#c0392b}.main-content{flex:1;padding:2rem;max-width:1400px;width:100%;margin:0 auto}.customers-page{width:100%}.btn-primary{background-color:#3498db;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;font-size:1rem;transition:background-color .2s}.btn-primary:hover{background-color:#2980b9}.btn-secondary{background-color:#95a5a6;color:#fff;border:none;padding:.75rem 1.5rem;border-radius:4px;font-size:1rem;transition:background-color .2s}.btn-secondary:hover{background-color:#7f8c8d}.customer-form{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:2rem}.customer-form h2{color:#2c3e50;margin-bottom:1.5rem}.form-group{margin-bottom:1.5rem}.form-group label{display:block;margin-bottom:.5rem;color:#2c3e50;font-weight:500}.form-group input{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem}.form-group input:focus{outline:none;border-color:#3498db}.form-actions{display:flex;gap:1rem}.customers-list{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 4px #0000001a}.customers-table{width:100%;border-collapse:collapse}.customers-table th{text-align:left;padding:1rem;background-color:#f8f9fa;color:#2c3e50;font-weight:600;border-bottom:2px solid #dee2e6}.customers-table td{padding:1rem;border-bottom:1px solid #dee2e6}.customers-table tbody tr:hover{background-color:#f8f9fa}.btn-edit{background-color:#f39c12;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;font-size:.9rem;margin-right:.5rem;transition:background-color .2s}.btn-edit:hover{background-color:#e67e22}.btn-delete{background-color:#e74c3c;color:#fff;border:none;padding:.5rem 1rem;border-radius:4px;font-size:.9rem;transition:background-color .2s}.btn-delete:hover{background-color:#c0392b}.error-message{background-color:#fee;color:#c33;padding:1rem;border-radius:4px;margin-bottom:1rem}.no-data{text-align:center;color:#7f8c8d;padding:2rem}.projects-input{display:flex;gap:.5rem;margin-bottom:1rem}.projects-input input{flex:1}.projects-input button{padding:.75rem 1rem;white-space:nowrap}.projects-list{display:flex;flex-wrap:wrap;gap:.5rem}.project-tag{display:inline-flex;align-items:center;gap:.5rem;background-color:#3498db;color:#fff;padding:.5rem .75rem;border-radius:20px;font-size:.9rem}.project-tag .remove-btn{background:none;border:none;color:#fff;font-size:1.2rem;cursor:pointer;padding:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:background-color .2s}.project-tag .remove-btn:hover{background-color:#fff3}.forecasts-page{width:100%}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem}.page-header h1{color:#2c3e50;font-size:2rem}.forecast-form{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:2rem}.forecast-form h2{color:#2c3e50;margin-bottom:1.5rem}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.form-group select{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;background-color:#fff}.form-group select:focus{outline:none;border-color:#3498db}.form-group select:disabled,.form-group input:disabled{background-color:#f8f9fa;cursor:not-allowed}.filters-section{background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a;margin-bottom:2rem}.filters-section h3{color:#2c3e50;margin-bottom:1rem;font-size:1.2rem}.filters-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1rem}@media (max-width: 768px){.filters-grid{grid-template-columns:1fr}}.forecasts-list{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 4px #0000001a}.forecasts-table{width:100%;border-collapse:collapse}.forecasts-table th{text-align:left;padding:1rem;background-color:#f8f9fa;color:#2c3e50;font-weight:600;border-bottom:2px solid #dee2e6}.forecasts-table td{padding:1rem;border-bottom:1px solid #dee2e6}.forecasts-table tbody tr:hover{background-color:#f8f9fa}.dashboard-page{width:100%}.dashboard-page h1{color:#2c3e50;font-size:2rem;margin-bottom:2rem}.filters{display:flex;gap:1.5rem;margin-bottom:2rem;background:#fff;padding:1.5rem;border-radius:8px;box-shadow:0 2px 4px #0000001a}.filter-group{flex:1}.filter-group label{display:block;margin-bottom:.5rem;color:#2c3e50;font-weight:500}.filter-group select{width:100%;padding:.75rem;border:1px solid #ddd;border-radius:4px;font-size:1rem;background-color:#fff}.filter-group select:focus{outline:none;border-color:#3498db}.summary-cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1.5rem;margin-bottom:2rem}.summary-card{background:#fff;padding:1rem;border-radius:8px;box-shadow:0 2px 4px #0000001a}.summary-card h3{color:#7f8c8d;font-size:.9rem;font-weight:500;margin-bottom:.5rem;text-transform:uppercase;letter-spacing:.5px}.summary-card .value{color:#2c3e50;font-size:1.75rem;font-weight:600}.summary-card .value.over{color:#e74c3c}.summary-card .value.under{color:#f39c12}.chart-container{background:#fff;padding:2rem;border-radius:8px;box-shadow:0 2px 4px #0000001a}.chart-container h2{color:#2c3e50;font-size:1.5rem;margin-bottom:1.5rem}.empty-state{background:#fff;padding:3rem;border-radius:8px;box-shadow:0 2px 4px #0000001a;text-align:center}.empty-state p{color:#7f8c8d;font-size:1.1rem}.loading{text-align:center;padding:2rem;color:#7f8c8d}.error-message{background-color:#fee;color:#c33;padding:1.5rem;border-radius:4px;margin-bottom:1rem;border-left:4px solid #e74c3c;font-weight:500;box-shadow:0 2px 4px #0000001a}*{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#f5f5f5}#root{min-height:100vh}button{cursor:pointer;font-family:inherit}input,select,textarea{font-family:inherit}
