*{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;margin:0;color:#333;background-color:#f5f5f5}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root{min-height:100vh}.language-selector{display:flex;align-items:center}.language-dropdown{padding:8px 12px;border:1px solid #ddd;border-radius:6px;background-color:#fff;font-size:14px;cursor:pointer;transition:border-color .3s}.language-dropdown:hover{border-color:#667eea}.language-dropdown:focus{outline:none;border-color:#667eea}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.auth-card{background:#fff;padding:40px;border-radius:12px;box-shadow:0 10px 40px #0000001a;width:100%;max-width:400px}.auth-card h1{text-align:center;color:#667eea;margin-bottom:10px;font-size:2rem}.auth-card h2{text-align:center;color:#333;margin-bottom:30px;font-size:1.5rem}.text-muted{color:#666;text-align:center;margin-bottom:20px;font-size:.9rem}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:8px;color:#333;font-weight:500}.form-group input{width:100%;padding:12px;border:1px solid #ddd;border-radius:6px;font-size:14px;transition:border-color .3s;box-sizing:border-box}.form-group input:focus{outline:none;border-color:#667eea}.error-message{background:#fee;color:#c33;padding:12px;border-radius:6px;margin-bottom:20px;font-size:14px}.success-message{background:#efe;color:#3c3;padding:12px;border-radius:6px;margin-bottom:20px;font-size:14px}.btn-primary{width:100%;padding:12px;background:#667eea;color:#fff;border:none;border-radius:6px;font-size:16px;font-weight:600;cursor:pointer;transition:background .3s}.btn-primary:hover:not(:disabled){background:#5568d3}.btn-primary:disabled{background:#ccc;cursor:not-allowed}.auth-links{margin-top:20px;text-align:center}.auth-links p{margin:10px 0;color:#666;font-size:14px}.auth-links a{color:#667eea;text-decoration:none;font-weight:500}.auth-links a:hover{text-decoration:underline}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:20px}.dashboard-card{background:#fff;padding:30px;border-radius:8px;box-shadow:0 2px 8px #0000001a;text-decoration:none;color:inherit;transition:transform .2s,box-shadow .2s}.dashboard-card:not(.disabled):hover{transform:translateY(-4px);box-shadow:0 4px 16px #00000026;cursor:pointer}.dashboard-card.disabled{opacity:.5;cursor:not-allowed}.dashboard-card h2{margin:0 0 10px;color:#667eea;font-size:1.5rem}.dashboard-card p{margin:0;color:#666;font-size:1rem}.page-container{max-width:1200px;margin:0 auto;padding:20px}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px}.page-header h1{color:#333;margin:0}.loading{text-align:center;padding:40px;color:#666}.empty-state{text-align:center;padding:60px 20px;color:#666}.empty-state p{margin-bottom:20px;font-size:18px}.customers-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.customer-card{background:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 8px #0000001a;transition:transform .2s,box-shadow .2s;text-decoration:none;color:inherit;display:block}.customer-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026;cursor:pointer}.customer-card h3{margin:0 0 15px;color:#333}.customer-info{display:flex;flex-direction:column;gap:8px}.info-row{display:flex;gap:10px}.info-row .label{font-weight:600;color:#666;min-width:70px}.info-row span:last-child{color:#333}.form-card{background:#fff;padding:30px;border-radius:8px;box-shadow:0 2px 8px #0000001a;max-width:600px}.form-actions{display:flex;gap:15px;justify-content:flex-end;margin-top:30px}.btn-secondary{padding:10px 20px;background:#f5f5f5;color:#333;border:none;border-radius:6px;text-decoration:none;font-size:14px;font-weight:600;cursor:pointer;transition:background .3s;display:inline-block}.btn-secondary:hover{background:#e5e5e5}.table-container{background:#fff;border-radius:8px;box-shadow:0 2px 8px #0000001a;overflow-x:auto}.data-table{width:100%;border-collapse:collapse}.data-table thead{background:#f8f9fa}.data-table th,.data-table td{padding:12px 16px;text-align:left;border-bottom:1px solid #eee}.data-table th{font-weight:600;color:#666;font-size:14px}.data-table tbody tr:hover{background:#f8f9fa}.btn-link{color:#667eea;text-decoration:none;font-weight:500}.btn-link:hover{text-decoration:underline}.quantity-cell{font-weight:600;font-size:16px;color:#333}.quantity-actions{display:flex;gap:8px;align-items:center}.quantity-input{width:70px;padding:6px 8px;border:1px solid #ddd;border-radius:4px;font-size:14px}.quantity-input:focus{outline:none;border-color:#667eea}.btn-small-action{width:28px;height:28px;border:none;border-radius:4px;font-size:18px;font-weight:700;cursor:pointer;transition:all .3s;display:flex;align-items:center;justify-content:center}.btn-increase{background:#4caf50;color:#fff}.btn-increase:hover:not(:disabled){background:#45a049}.btn-decrease{background:#ff9800;color:#fff}.btn-decrease:hover:not(:disabled){background:#e68900}.btn-small-action:disabled{opacity:.5;cursor:not-allowed}.customer-detail-card{background:#fff;padding:30px;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-bottom:30px}.customer-detail-card h2{margin:0 0 20px;color:#333;font-size:1.2rem}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;margin-top:40px}.section-header h2{margin:0;color:#333}.vehicles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.vehicle-card{background:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 8px #0000001a;transition:transform .2s,box-shadow .2s;text-decoration:none;color:inherit;display:block}.vehicle-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.vehicle-card h3{margin:0 0 15px;color:#667eea}.vehicle-info{display:flex;flex-direction:column;gap:8px}.form-card select{width:100%;padding:12px;border:1px solid #ddd;border-radius:6px;font-size:14px;transition:border-color .3s;box-sizing:border-box;background-color:#fff;cursor:pointer}.form-card select:disabled{background-color:#f5f5f5;cursor:not-allowed}.form-card select:focus{outline:none;border-color:#667eea}.vehicle-detail-card{background:#fff;padding:30px;border-radius:8px;box-shadow:0 2px 8px #0000001a;margin-bottom:30px}.vehicle-detail-card h2{margin:0 0 20px;color:#333;font-size:1.2rem}.vehicle-detail-card a{color:#667eea;text-decoration:none}.vehicle-detail-card a:hover{text-decoration:underline}.tickets-list{display:flex;flex-direction:column;gap:15px}.ticket-card{background:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 8px #0000001a;transition:transform .2s,box-shadow .2s;text-decoration:none;color:inherit;display:block}.ticket-card:hover{transform:translateY(-2px);box-shadow:0 4px 12px #00000026}.ticket-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:15px}.ticket-header h3{margin:0;color:#667eea;text-transform:capitalize}.ticket-costs{display:flex;flex-direction:column;align-items:flex-end;gap:4px;text-align:right}.ticket-labor-cost,.ticket-other-costs{font-size:.9rem;color:#666}.ticket-total,.ticket-amount{font-size:1.2rem;font-weight:600;color:#333}.ticket-info{display:flex;flex-direction:column;gap:8px}.ticket-parts-cost{font-size:.9rem;color:#666}.parts-section{margin-top:20px;padding-top:20px;border-top:1px solid #eee}.parts-header{margin-bottom:10px}.parts-header h4{margin:0;font-size:1rem;color:#666}.parts-list{display:flex;flex-direction:column;gap:8px}.part-item{background-color:#f8f9fa;border-radius:4px;padding:12px}.part-info{display:flex;align-items:center;gap:12px;font-size:.9rem}.part-reference{color:#667eea;font-weight:500;min-width:80px}.part-name{color:#333;flex:1;font-weight:500}.part-quantity{color:#666;min-width:40px;text-align:center}.part-price{color:#666;min-width:60px;text-align:right}.part-total{color:#333;font-weight:600;min-width:80px;text-align:right}.payments-section{margin-top:20px;padding-top:20px;border-top:1px solid #eee}.payments-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.payments-header h4{margin:0;font-size:1rem;color:#666}.btn-small{background-color:#667eea;color:#fff;border:none;border-radius:50%;width:24px;height:24px;display:flex;align-items:center;justify-content:center;cursor:pointer;text-decoration:none;font-size:18px;line-height:1;transition:background-color .3s}.btn-small:hover{background-color:#5568d3}.payments-list{display:flex;flex-direction:column;gap:8px}.payment-item{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background-color:#f8f9fa;border-radius:4px}.payment-info{display:flex;gap:12px;align-items:center;font-size:.9rem}.payment-type{color:#667eea;font-weight:500}.payment-direction{color:#666}.payment-amount{font-weight:600;color:#333}.btn-edit-small{color:#667eea;text-decoration:none;font-size:.85rem;padding:4px 8px;border-radius:4px;transition:background-color .3s}.btn-edit-small:hover{background-color:#667eea1a}.no-payments{color:#999;font-size:.9rem;font-style:italic;margin:0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:20px}.form-card textarea{width:100%;padding:12px;border:1px solid #ddd;border-radius:6px;font-size:14px;font-family:inherit;transition:border-color .3s;box-sizing:border-box;resize:vertical}.form-card textarea:focus{outline:none;border-color:#667eea}.ticket-info-section{background-color:#f8f9fa;padding:20px;border-radius:8px;margin-bottom:30px}.ticket-info-section h3{margin-top:0;margin-bottom:15px;color:#333}.info-message{background-color:#e3f2fd;color:#1976d2;padding:12px 16px;border-radius:6px;margin-bottom:20px;font-size:14px}.danger-zone{margin-top:40px;padding-top:30px;border-top:2px solid #f5f5f5}.danger-zone h3{color:#d32f2f;margin-bottom:10px}.danger-zone p{color:#666;margin-bottom:15px}.btn-danger{background-color:#d32f2f;color:#fff;padding:12px 24px;border:none;border-radius:6px;font-size:16px;cursor:pointer;transition:background-color .3s}.btn-danger:hover:not(:disabled){background-color:#b71c1c}.btn-danger:disabled{opacity:.5;cursor:not-allowed}.confirm-actions{background-color:#fff3e0;padding:20px;border-radius:8px;border:1px solid #ffb74d}.confirm-message{color:#e65100;font-weight:500;margin-bottom:15px}.button-group{display:flex;gap:10px}.ticket-actions{margin-top:15px;padding-top:15px;border-top:1px solid #eee;display:flex;justify-content:flex-end}@media(max-width:768px){.form-row{grid-template-columns:1fr}.button-group{flex-direction:column}}
