:root{font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:500;color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;display:flex;place-items:center;min-width:320px;min-height:100vh}h1{font-size:3.2em;line-height:1.1}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:1em;font-weight:500;font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media (prefers-color-scheme: light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}*{box-sizing:border-box;margin:0;padding:0}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;background-color:#f5f5f5;color:#333;line-height:1.6}#root{min-height:100vh}.app-container{min-height:100vh;display:flex;flex-direction:column}button{cursor:pointer}a{text-decoration:none;color:#4285f4}a:hover{text-decoration:underline}.login-container{max-width:400px;padding:20px;border-radius:8px;box-shadow:0 4px 8px #0000001a;background-color:#fff;position:absolute;top:50%;left:50%;transform:translate(-50%,-50%)}.login-container h2{text-align:center;margin-bottom:20px;color:#333}.form-group input{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:16px}.login-container button{width:100%;padding:12px;background-color:#4285f4;color:#fff;border:none;border-radius:4px;font-size:16px;cursor:pointer;transition:background-color .3s}.login-container button:hover{background-color:#3367d6}.login-container button:disabled{background-color:#a9a9a9;cursor:not-allowed}.error-message{color:#d32f2f;margin-bottom:15px;padding:10px;background-color:#ffebee;border-radius:4px;text-align:center}.users-container{padding:20px}.users-container h1{margin-bottom:20px;color:#333}.users-table{width:100%;border-collapse:collapse;background-color:#fff;box-shadow:0 2px 10px #0000001a;border-radius:8px;overflow:hidden}.users-table th,.users-table td{padding:12px 15px;text-align:left;border-bottom:1px solid #eee}.users-table th{background-color:#f5f5f5;font-weight:600;color:#333}.users-table tr:last-child td{border-bottom:none}.users-table tr:hover{background-color:#f9f9f9}.user-form-container{max-width:800px;margin:0 auto;padding:20px}.user-form-container h1{margin-bottom:20px;color:#333}.user-form{background-color:#f9f9f9;padding:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.user-view-container{max-width:1200px;margin:0 auto;padding:20px}.user-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:10px;border-bottom:1px solid #eee}.user-header h1{margin:0;color:#333}.user-actions{display:flex;gap:10px}.user-details{background-color:#f9f9f9;padding:20px;border-radius:8px;margin-bottom:30px;box-shadow:0 2px 4px #0000001a}.user-details h2{margin-top:0;margin-bottom:20px;color:#333}.vehicles-container{padding:20px}.vehicles-container h1{margin-bottom:20px;color:#333}.vehicles-table{width:100%;border-collapse:collapse;background-color:#fff;box-shadow:0 2px 10px #0000001a;border-radius:8px;overflow:hidden}.vehicles-table th,.vehicles-table td{padding:12px 15px;text-align:left;border-bottom:1px solid #eee}.vehicles-table th{background-color:#f5f5f5;font-weight:600;color:#333}.vehicles-table tr:last-child td{border-bottom:none}.vehicles-table tr:hover{background-color:#f9f9f9}.vehicle-form-container{max-width:800px;margin:0 auto;padding:20px}.vehicle-form-container h1{margin-bottom:20px;color:#333}.vehicle-form{background-color:#f9f9f9;padding:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.form-group textarea{resize:vertical;min-height:80px}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#4caf50;box-shadow:0 0 0 2px #4caf5033}.form-group input:disabled,.form-group select:disabled,.form-group textarea:disabled{background-color:#f5f5f5;cursor:not-allowed}.vehicle-view-container{max-width:1200px;margin:0 auto;padding:20px}.vehicle-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:10px;border-bottom:1px solid #eee}.vehicle-header h1{margin:0;color:#333}.vehicle-actions{display:flex;gap:10px}.btn-edit,.btn-delete,.btn-back{padding:5px 10px;border-radius:4px;cursor:pointer;text-decoration:none;font-size:14px;display:inline-block;transition:background-color .3s;border:none}.btn-back{background-color:#f5f5f5;color:#333}.vehicle-details{background-color:#f9f9f9;padding:20px;border-radius:8px;margin-bottom:30px;box-shadow:0 2px 4px #0000001a}.vehicle-details h2{margin-top:0;margin-bottom:20px;color:#333}.vehicle-images{background-color:#f9f9f9;padding:20px;border-radius:8px;margin-bottom:30px;box-shadow:0 2px 4px #0000001a}.vehicle-images h2{margin-top:0;margin-bottom:20px;color:#333}.image-upload-container{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:20px;padding-bottom:20px;border-bottom:1px solid #eee}.file-input{flex:1;min-width:200px;padding:8px;border:1px solid #ddd;border-radius:4px;background-color:#fff}.btn-upload{padding:8px 16px;background-color:#4caf50;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px}.btn-upload:disabled{background-color:#9e9e9e;cursor:not-allowed}.upload-error{width:100%;color:#f44336;background-color:#ffebee;padding:10px;border-radius:4px;margin-top:10px}.image-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px;margin-top:20px}.image-item{border:1px solid #ddd;border-radius:4px;overflow:hidden;background-color:#fff;box-shadow:0 2px 4px #0000001a}.vehicle-image{width:100%;height:150px;object-fit:cover;display:block}.image-info span{font-size:12px;color:#666;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:120px}.btn-delete-image:hover{background-color:#da190b}.no-images{grid-column:1 / -1;text-align:center;padding:20px;color:#666;background-color:#f5f5f5;border-radius:4px}.pricing-section{background-color:#f9f9f9;padding:20px;border-radius:8px;margin-bottom:30px;box-shadow:0 2px 4px #0000001a}.pricing-section h2{margin-top:0;margin-bottom:20px;color:#333}.pricing-section h3{margin-top:0;margin-bottom:15px;color:#555;font-size:18px}.pricing-list{margin-bottom:30px}.pricing-table{width:100%;border-collapse:collapse;background-color:#fff;box-shadow:0 2px 10px #0000001a;border-radius:8px;overflow:hidden;margin-bottom:20px}.pricing-table th,.pricing-table td{padding:12px 15px;text-align:left;border-bottom:1px solid #eee}.pricing-table th{background-color:#f5f5f5;font-weight:600;color:#333}.pricing-table tr:last-child td{border-bottom:none}.pricing-table tr:hover{background-color:#f9f9f9}.btn-delete-pricing{background-color:#ffebee;color:#c62828;border:none;border-radius:4px;padding:5px 10px;font-size:12px;cursor:pointer;transition:background-color .3s}.btn-delete-pricing:hover{background-color:#ffcdd2}.no-pricing{text-align:center;padding:20px;color:#666;background-color:#f5f5f5;border-radius:4px}.pricing-form{background-color:#fff;padding:20px;border-radius:8px;box-shadow:0 1px 3px #0000001a}.form-row{display:flex;flex-wrap:wrap;gap:15px;margin-bottom:15px}.form-group{flex:1;min-width:200px}.form-group label{display:block;margin-bottom:5px;font-weight:700;color:#555}.form-group input{width:100%;padding:8px;border:1px solid #ddd;border-radius:4px;font-size:14px}.btn-add-pricing{background-color:#4caf50;color:#fff;border:none;border-radius:4px;padding:10px 20px;font-size:14px;cursor:pointer;margin-top:10px}.btn-add-pricing:hover{background-color:#388e3c}.license-plate-section{background-color:#f9f9f9;padding:20px;border-radius:8px;margin-bottom:30px;box-shadow:0 2px 4px #0000001a}.license-plate-section h2{margin-top:0;margin-bottom:20px;color:#333}.license-plate-section h3{margin-top:0;margin-bottom:15px;color:#555;font-size:18px}.license-plate-list{margin-bottom:30px}.license-plate-table{width:100%;border-collapse:collapse;background-color:#fff;box-shadow:0 2px 10px #0000001a;border-radius:8px;overflow:hidden;margin-bottom:20px}.license-plate-table th,.license-plate-table td{padding:12px 15px;text-align:left;border-bottom:1px solid #eee}.license-plate-table th{background-color:#f5f5f5;font-weight:600;color:#333}.license-plate-table tr:last-child td{border-bottom:none}.license-plate-table tr:hover{background-color:#f9f9f9}.btn-license-plate{color:#fff;border:none;border-radius:4px;padding:5px 10px;font-size:12px;cursor:pointer;transition:background-color .3s}.btn-delete-license-plate{background-color:#ffebee;color:#c62828}.btn-delete-license-plate:hover{background-color:#ffcdd2}.no-license-plate{text-align:center;padding:20px;color:#666;background-color:#f5f5f5;border-radius:4px}.license-plate-form{background-color:#fff;padding:20px;border-radius:8px;box-shadow:0 1px 3px #0000001a}.checkbox-group{display:flex;align-items:center}.checkbox-group label{display:flex;align-items:center;cursor:pointer}.checkbox-group input[type=checkbox]{width:auto;margin-right:8px}.btn-add-license-plate{background-color:#4caf50;color:#fff;border:none;border-radius:4px;padding:10px 20px;font-size:14px;cursor:pointer;margin-top:10px}.btn-add-license-plate:hover{background-color:#388e3c}.special-days-set-price-section{margin-top:2rem;padding:1.5rem;background-color:#fff;border-radius:8px;box-shadow:0 2px 4px #0000001a}.special-days-set-price-list{margin-bottom:2rem}.special-days-set-price-table{width:100%;border-collapse:collapse;background-color:#fff;box-shadow:0 2px 10px #0000001a;border-radius:8px;overflow:hidden;margin-top:1rem}.special-days-set-price-table th,.special-days-set-price-table td{padding:12px 15px;text-align:left;border-bottom:1px solid #eee}.special-days-set-price-table th{background-color:#f5f5f5;font-weight:600;color:#333}.special-days-set-price-table tr:last-child td{border-bottom:none}.special-days-set-price-table tr:hover{background-color:#f9f9f9}.price-input{width:100px;padding:.5rem;border:1px solid #ccc;border-radius:4px;margin-right:.5rem}.btn-delete-special-days-set-price{padding:5px 10px;background-color:#ffebee;color:#c62828;border:none;border-radius:4px;cursor:pointer;transition:background-color .3s}.btn-delete-special-days-set-price:hover{background-color:#ffcdd2}.no-special-days-set-price{padding:1rem;background-color:#f9f9f9;border-radius:4px;text-align:center;color:#666}.special-days-set-price-form{background-color:#f9f9f9;padding:1.5rem;border-radius:8px}.btn-add-special-days-set-price{padding:.75rem 1.5rem;background-color:#4caf50;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background-color .2s;margin-top:1rem}.btn-add-special-days-set-price:hover{background-color:#43a047}.save-button-container{display:flex;justify-content:flex-end;margin-top:1rem}.btn-save-special-days-set-prices{padding:.75rem 1.5rem;background-color:#2196f3;color:#fff;border:none;border-radius:4px;cursor:pointer;transition:background-color .2s;font-weight:700}.btn-save-special-days-set-prices:hover{background-color:#1976d2}.special-days-sets-container{padding:20px}.special-days-sets-container h1{margin-bottom:20px;color:#333}.actions{margin-bottom:20px;display:flex;justify-content:flex-end}.btn-create{background-color:#4caf50;color:#fff;padding:10px 15px;border:none;border-radius:4px;cursor:pointer;text-decoration:none;display:inline-block}.btn-create:hover{background-color:#45a049}.special-days-sets-table{width:100%;border-collapse:collapse;background-color:#fff;box-shadow:0 2px 10px #0000001a;border-radius:8px;overflow:hidden}.special-days-sets-table th,.special-days-sets-table td{padding:12px 15px;text-align:left;border-bottom:1px solid #eee}.special-days-sets-table th{background-color:#f5f5f5;font-weight:600;color:#333}.special-days-sets-table tr:last-child td{border-bottom:none}.special-days-sets-table tr:hover{background-color:#f9f9f9}.special-days-sets-table td.actions-cell{white-space:nowrap;display:flex;gap:5px}.btn-view,.btn-edit,.btn-delete{padding:5px 10px;border-radius:4px;cursor:pointer;text-decoration:none;font-size:14px;transition:background-color .3s;border:none}.error{text-align:center;padding:20px;font-size:18px;color:#f44336;background-color:#ffebee;border-radius:4px;margin-top:20px}@media (max-width: 1024px){.calendar-container{grid-template-columns:repeat(2,1fr)}}@media (max-width: 768px){.calendar-container{grid-template-columns:1fr}}.day{padding:5px;min-height:70px;display:flex;flex-direction:column;align-items:center;border-radius:4px;margin:2px;position:relative}.day-number{font-weight:700;margin-bottom:5px}.week .day:nth-child(7n+1):not(.empty) .day-number{color:#f44336}.week .day:nth-child(7n):not(.empty) .day-number{color:#2196f3}.special-day-name{font-size:11px;overflow:hidden;text-overflow:ellipsis;width:100%;text-align:center;margin-top:2px}.set-name{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%;border-radius:2px;padding:2px 4px;margin:2px 0;font-size:10px;color:#333}.special-days-set-form-container{max-width:800px;margin:0 auto;padding:20px}.special-days-set-form-container h1{margin-bottom:20px;color:#333}.special-days-set-form{background-color:#f9f9f9;padding:20px;border-radius:8px;box-shadow:0 2px 4px #0000001a}.form-group{margin-bottom:15px}.form-group label{display:block;margin-bottom:5px;font-weight:700;color:#333}.form-group input,.form-group select{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:16px}.form-group input:focus,.form-group select:focus{outline:none;border-color:#4caf50;box-shadow:0 0 0 2px #4caf5033}.form-group input:disabled,.form-group select:disabled{background-color:#f5f5f5;cursor:not-allowed}.form-group .error{color:#f44336;margin-top:5px;font-size:14px}.error-message{background-color:#ffebee;color:#f44336;padding:10px;border-radius:4px;margin-bottom:20px}.loading-inline{color:#666;font-size:14px;margin-top:5px;font-style:italic}.form-actions{display:flex;justify-content:flex-end;margin-top:20px;gap:10px}.btn-cancel,.btn-submit{padding:10px 20px;border-radius:4px;cursor:pointer;font-size:16px;border:none}.btn-submit{background-color:#4caf50;color:#fff}.btn-submit:hover{background-color:#45a049}.special-days-set-view-container{max-width:1200px;margin:0 auto;padding:20px}.special-days-set-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:10px;border-bottom:1px solid #eee}.special-days-set-header h1{margin:0;color:#333}.special-days-set-actions{display:flex;gap:10px}.btn-edit,.btn-delete,.btn-back{padding:8px 16px;border-radius:4px;cursor:pointer;text-decoration:none;font-size:14px;display:inline-block}.btn-edit{background-color:#ffc107;color:#000;border:none}.btn-edit:hover{background-color:#e6ac00}.btn-delete:hover{background-color:#da190b}.btn-back{background-color:#607d8b;color:#fff;border:none}.btn-back:hover{background-color:#455a64}.special-days-set-details{background-color:#f9f9f9;padding:20px;border-radius:8px;margin-bottom:30px;box-shadow:0 2px 4px #0000001a}.special-days-set-details h2{margin-top:0;margin-bottom:20px;color:#333}.detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:15px}.detail-label{font-weight:700;color:#666;margin-bottom:5px}.special-days-list{margin-top:30px}.special-days-list h2{margin-top:0;margin-bottom:20px;color:#333}.special-days-table{width:100%;border-collapse:collapse}.special-days-table th,.special-days-table td{border:1px solid #ddd;padding:12px;text-align:left}.special-days-table th{background-color:#f2f2f2;font-weight:700}.special-days-table tr:nth-child(2n){background-color:#f9f9f9}.special-days-table tr:hover{background-color:#f1f1f1}.error{color:#f44336;background-color:#ffebee;padding:15px;border-radius:4px;margin-bottom:20px}.special-days-calendar{margin-top:30px}.calendar-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.special-days-calendar h2{margin-top:0;margin-bottom:0;color:#333}.year-navigation{display:flex;align-items:center;gap:15px}.btn-year-nav{padding:8px 16px;border-radius:4px;cursor:pointer;background-color:#4caf50;color:#fff;border:none;font-size:14px}.btn-year-nav:hover{background-color:#388e3c}.current-year{font-size:18px;font-weight:700;color:#333}.calendar-container{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}.month-container{background-color:#f9f9f9;border-radius:8px;padding:15px;box-shadow:0 2px 4px #0000001a}.month-title{text-align:center;margin-top:0;margin-bottom:15px;color:#333;font-size:1.2rem}.calendar{width:100%}.weekdays{display:grid;grid-template-columns:repeat(7,1fr);text-align:center;font-weight:700;margin-bottom:10px}.weekday{padding:5px}.weekdays .weekday:first-child{color:#f44336}.weekdays .weekday:last-child{color:#2196f3}.week{display:grid;grid-template-columns:repeat(7,1fr);text-align:center}.day{padding:8px;height:36px;display:flex;align-items:center;justify-content:center;border-radius:4px;margin:2px;position:relative}.day.empty{background-color:transparent}.day.clickable{cursor:pointer}.day:not(.empty):hover{background-color:#f1f1f1}.week .day:nth-child(7n+1):not(.empty){color:#f44336}.week .day:nth-child(7n):not(.empty){color:#2196f3}.special-day{background-color:#ffeb3b;font-weight:700;color:#333!important}.other-special-day{background-color:#e0e0e0;color:#666!important}.other-special-day:hover{background-color:#e0e0e0}.day.other-special-day{cursor:not-allowed}.special-day:hover{background-color:#fdd835}.date-number{line-height:1}.other-set-badge{position:absolute;bottom:2px;left:50%;transform:translate(-50%);background:#00000014;color:#555;font-size:10px;line-height:1.2;padding:1px 4px;border-radius:8px;white-space:nowrap;max-width:calc(100% - 6px);overflow:hidden;text-overflow:ellipsis}.reservations-container{padding:20px}.reservations-table-container{max-height:70vh;overflow-y:auto;border-radius:8px;box-shadow:0 2px 10px #0000001a}.reservations-container h1{margin-bottom:20px;color:#333}.actions{margin-bottom:20px}.btn-create{display:inline-block;padding:10px 20px;background-color:#2196f3;color:#fff;text-decoration:none;border-radius:4px;font-weight:500;transition:background-color .3s}.btn-create:hover{background-color:#1976d2}.reservations-table{width:100%;border-collapse:collapse;background-color:#fff;overflow:visible}.reservations-table th,.reservations-table td{padding:12px 15px;text-align:left;border-bottom:1px solid #eee}.reservations-table th{background-color:#f5f5f5;font-weight:600;color:#333;position:sticky;top:0;z-index:10;box-shadow:0 1px #0000001a}.reservations-table tr:last-child td{border-bottom:none}.reservations-table tr:hover{background-color:#f9f9f9}.actions-cell{white-space:nowrap;display:flex;gap:5px}.btn-view,.btn-edit,.btn-delete,.btn-dispatch,.btn-dispatch-info{padding:5px 10px;border-radius:4px;font-size:14px;text-decoration:none;cursor:pointer;transition:background-color .3s}.btn-view{background-color:#e3f2fd;color:#1976d2;border:none}.btn-edit{background-color:#e8f5e9;color:#2e7d32;border:none}.btn-delete{background-color:#ffebee;color:#c62828;border:none}.btn-dispatch{background-color:#fff8e1;color:#ff8f00;border:none}.btn-dispatch:hover{background-color:#ffecb3}.btn-dispatch-info{background-color:#e1f5fe;color:#0288d1;border:none}.btn-dispatch-info:hover{background-color:#b3e5fc}.success-message{background-color:#e8f5e9;color:#2e7d32;padding:15px;border-radius:4px;margin-bottom:20px;animation:fadeOut 5s forwards}@keyframes fadeOut{0%{opacity:1}70%{opacity:1}to{opacity:0}}.status-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.status-pending{background-color:#fff8e1;color:#f57f17}.status-confirmed{background-color:#e8f5e9;color:#2e7d32}.status-cancelled{background-color:#ffebee;color:#c62828}.status-completed{background-color:#e3f2fd;color:#1976d2}.unassigned-vehicle{background-color:#ffebee}.returned-reservation{background-color:#f0f0f0;color:#7a7a7a}.returned-reservation:hover{background-color:#e9e9e9}.license-plate-badge{display:inline-block;padding:4px 8px;border-radius:4px;font-size:12px;font-weight:500}.unassigned-badge{background-color:#ffebee;color:#c62828}.assigned-badge{background-color:#e8f5e9;color:#2e7d32}.current-visit-item{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;padding:15px;margin-bottom:15px}.visit-actions{margin-top:10px;display:flex;gap:10px}.action-buttons{display:flex;gap:10px;margin-bottom:20px}.btn-back{display:inline-block;padding:10px 20px;background-color:#f5f5f5;color:#333;text-decoration:none;border-radius:4px;font-weight:500;transition:background-color .3s}.btn-back:hover{background-color:#e0e0e0}.reservation-details{display:grid;grid-template-columns:repeat(auto-fill,minmax(350px,1fr));gap:20px;margin-top:20px}.detail-group{background-color:#fff;border-radius:8px;box-shadow:0 2px 10px #0000001a;padding:20px}.detail-group h3{margin-top:0;margin-bottom:15px;color:#333;border-bottom:1px solid #eee;padding-bottom:10px}.details-table{width:100%;border-collapse:collapse}.details-table th,.details-table td{padding:8px 0;text-align:left;border-bottom:1px solid #f5f5f5}.details-table th{width:40%;color:#666;font-weight:500}.notes{white-space:pre-line;color:#666}.section-header{background-color:#f5f5f5;font-weight:600;color:#333;padding:10px 0}.total-price{background-color:#e3f2fd;font-weight:600}.total-price th,.total-price td{padding:12px 0;color:#1976d2}.detail-group:nth-child(n+4){grid-column:1 / -1}.pagination-controls{display:flex;justify-content:center;align-items:center;margin-top:20px;padding:10px}.pagination-button{padding:8px 16px;background-color:#2196f3;color:#fff;border:none;border-radius:4px;cursor:pointer;font-weight:500;transition:background-color .3s;margin:0 10px}.pagination-button:hover:not(:disabled){background-color:#1976d2}.pagination-button:disabled{background-color:#e0e0e0;color:#9e9e9e;cursor:not-allowed}.pagination-info{font-size:16px;color:#333;margin:0 15px}.matrix-table-container{max-height:70vh;overflow-y:auto}.vehicle-dispatch-matrix-container{padding:20px}.matrix-table-container .MuiTableHead-root .MuiTableRow-root{position:static;top:auto;z-index:auto;background-color:#fff}.matrix-table-container .MuiTableHead-root .MuiTableRow-root:nth-child(2),.matrix-table-container .MuiTableHead-root .MuiTableRow-root:nth-child(3){top:auto}.search-filters{border:1px solid #ddd;padding:12px;border-radius:8px;background-color:#fff}.search-filters .btn-view,.search-filters .btn-edit{min-width:100px;height:36px;display:inline-flex;align-items:center;justify-content:center}.reservation-form-container{max-width:800px;margin:0 auto;padding:20px}.reservation-form-container h1{margin-bottom:20px;color:#333}.reservation-form{background-color:#fff;padding:20px;border-radius:8px;box-shadow:0 2px 10px #0000001a}.form-row{display:flex;gap:20px;margin-bottom:20px}.form-row .form-group{flex:1;margin-bottom:0}.reservation-form h3{margin-top:30px;margin-bottom:20px;padding-bottom:10px;border-bottom:1px solid #eee;color:#333}.section-header{display:flex;justify-content:space-between;align-items:center;margin-top:30px;margin-bottom:20px;padding-bottom:10px;border-bottom:1px solid #eee}.section-header h3{margin:0!important;padding:0!important;border-bottom:none!important}.calculate-price-button{padding:6px 12px;background-color:#4caf50;color:#fff;border:none;border-radius:4px;cursor:pointer;font-size:14px}.calculate-price-button:hover{background-color:#45a049}.calculate-price-button:disabled{background-color:#ccc;cursor:not-allowed}.form-group label{display:block;margin-bottom:5px;font-weight:500;color:#333}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#2196f3}.form-group input.error,.form-group select.error,.form-group textarea.error{border-color:#c62828}.error-text{color:#c62828;font-size:14px;margin-top:5px}.btn-cancel,.btn-submit{padding:10px 20px;border:none;border-radius:4px;font-size:16px;cursor:pointer;transition:background-color .3s}.btn-submit{background-color:#2196f3;color:#fff}.btn-submit:hover{background-color:#1976d2}.price-calculation-area{margin-bottom:30px;padding:15px;background-color:#f9f9f9;border-radius:4px;border:1px solid #eee}.daily-prices-container{margin-top:15px}.daily-prices-container h4{margin-top:0;margin-bottom:10px;font-size:16px;color:#333}.daily-prices-table{width:100%;border-collapse:collapse;font-size:14px}.daily-prices-table th,.daily-prices-table td{padding:8px;text-align:left;border-bottom:1px solid #eee}.daily-prices-table th{background-color:#f5f5f5;font-weight:600}.special-pricing{background-color:#fffde7;color:#e65100}.special-pricing td:last-child:after{content:" (特別価格)";font-size:12px;margin-left:5px}.daily-prices-table tfoot .total-row td{font-weight:700;background-color:#f5f5f5;border-top:2px solid #ddd}.vehicle-dispatch-container{max-width:1000px;margin:0 auto;padding:20px}.vehicle-dispatch-container h1{margin-bottom:20px;color:#333}.vehicle-dispatch-container h2{margin-top:30px;margin-bottom:15px;color:#444}.reservation-details,.dispatch-details{background-color:#f9f9f9;border-radius:5px;padding:20px;margin-bottom:20px;box-shadow:0 2px 4px #0000001a}.vehicle-dispatch-container table{width:100%;border-collapse:collapse}.vehicle-dispatch-container th,.vehicle-dispatch-container td{padding:10px;text-align:left;border-bottom:1px solid #ddd}.vehicle-dispatch-container th{width:30%;font-weight:700;color:#555}.no-dispatch{background-color:#fff8e1;border-radius:5px;padding:20px;margin-bottom:20px;box-shadow:0 2px 4px #0000001a;text-align:center}.dispatch-actions{margin-top:20px;display:flex;gap:10px;justify-content:center}.btn-create,.btn-rental,.btn-return,.btn-back{padding:10px 20px;border:none;border-radius:4px;cursor:pointer;font-weight:700;transition:background-color .3s}.btn-create{background-color:#4caf50;color:#fff}.btn-create:hover{background-color:#388e3c}.btn-rental{background-color:#2196f3;color:#fff}.btn-rental:hover{background-color:#1976d2}.btn-rental:disabled{background-color:#b3e5fc;cursor:not-allowed}.btn-return{background-color:#ff9800;color:#fff}.btn-return:hover{background-color:#f57c00}.btn-return:disabled{background-color:#ffe0b2;cursor:not-allowed}.btn-back{background-color:#9e9e9e;color:#fff}.btn-back:hover{background-color:#757575}.back-link{margin-top:20px;text-align:center}.loading,.error{text-align:center;margin:50px 0;font-size:18px}.error{color:#d32f2f}.license-plate-selection{margin:20px 0;padding:15px;background-color:#e8f5e9;border-radius:5px;box-shadow:0 1px 3px #0000001a}.license-plate-selection h3{margin-top:0;margin-bottom:10px;color:#2e7d32;font-size:16px}.license-plate-selection select{width:100%;padding:10px;border:1px solid #c8e6c9;border-radius:4px;background-color:#fff;font-size:14px}.warning{color:#f57f17;background-color:#fff8e1;padding:10px;border-radius:4px;margin:15px 0;font-weight:700}.store-visit-container{max-width:800px;margin:0 auto;padding:20px}.store-visit-container h1{text-align:center;margin-bottom:20px;color:#333}.scanner-controls{display:flex;justify-content:center;margin:20px 0}.btn-start,.btn-stop,.btn-back{padding:10px 20px;margin:0 10px;border:none;border-radius:4px;cursor:pointer;font-weight:700}.btn-start{background-color:#4caf50;color:#fff}.btn-stop{background-color:#f44336;color:#fff}.btn-back{background-color:#2196f3;color:#fff}.error-message{background-color:#ffebee;color:#c62828;padding:15px;border-radius:4px;margin:20px 0}.success-message{background-color:#e8f5e9;color:#2e7d32;padding:15px;border-radius:4px;margin:20px 0}.reservation-details{background-color:#f5f5f5;padding:15px;border-radius:4px;margin-top:15px}.back-link{display:flex;justify-content:center;margin-top:30px}#reader{border:1px solid #ddd;border-radius:4px;overflow:hidden}.current-visits-section{margin-top:30px;margin-bottom:30px;padding:20px;background-color:#f9f9f9;border-radius:4px;border:1px solid #ddd}.current-visits-section h2{text-align:center;margin-bottom:15px;color:#333}.current-visits-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:15px;margin-top:15px}.current-visit-item{background-color:#fff;padding:15px;border-radius:4px;box-shadow:0 2px 4px #0000001a;border-left:4px solid #2196F3}.current-visit-item p{margin:5px 0}.reload-note{text-align:center;font-size:.8em;color:#666;margin-top:15px}.announcements-container{padding:20px}.announcements-container h1,.actions{margin-bottom:20px}.announcements-table{width:100%;border-collapse:collapse;background-color:#fff;box-shadow:0 2px 10px #0000001a;border-radius:8px;overflow:hidden}.announcements-table th,.announcements-table td{padding:12px 15px;text-align:left;border-bottom:1px solid #eee}.announcements-table th{background-color:#f5f5f5;font-weight:600;color:#333}.announcements-table tr:last-child td{border-bottom:none}.announcements-table tr:hover{background-color:#f9f9f9}.btn-view,.btn-edit,.btn-delete{padding:5px 10px;border-radius:4px;font-size:14px;text-decoration:none;cursor:pointer;transition:background-color .3s;border:none}.announcement-form-container{max-width:800px;margin:0 auto;padding:20px}.announcement-form{display:flex;flex-direction:column;gap:20px}.form-group{display:flex;flex-direction:column;gap:5px}.form-group label{font-weight:700}.form-group input,.form-group textarea{padding:10px;border:1px solid #ccc;border-radius:4px;font-size:16px}.form-group textarea{min-height:200px;resize:vertical}.error{color:red;font-size:14px;margin-top:5px}.error-message{background-color:#ffebee;color:#c62828;padding:10px;border-radius:4px;margin-bottom:20px}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:20px}.btn-cancel{padding:10px 20px;background-color:#f5f5f5;border:1px solid #ccc;border-radius:4px;cursor:pointer}.btn-submit{padding:10px 20px;background-color:#1976d2;color:#fff;border:none;border-radius:4px;cursor:pointer}.btn-submit:disabled,.btn-cancel:disabled{opacity:.7;cursor:not-allowed}.announcement-view-container{padding:20px;max-width:1000px;margin:0 auto}.announcement-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:30px}.announcement-header h1{margin:0;font-size:24px;flex:1}.announcement-actions{display:flex;gap:10px}.btn-edit,.btn-delete,.btn-back{padding:8px 16px;border-radius:4px;text-decoration:none;font-size:14px;cursor:pointer}.btn-edit{background-color:#ff9800;color:#fff}.btn-delete{background-color:#f44336;color:#fff;border:none}.btn-back{background-color:#f5f5f5;color:#333;border:1px solid #ccc}.announcement-details{background-color:#f9f9f9;padding:20px;border-radius:4px;margin-bottom:30px}.announcement-details h2{margin-top:0;margin-bottom:20px;font-size:18px;border-bottom:1px solid #ddd;padding-bottom:10px}.detail-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px}.detail-item{margin-bottom:15px}.detail-label{font-weight:700;display:block;margin-bottom:5px;color:#666}.detail-value{display:block}.announcement-content{background-color:#fff;padding:20px;border-radius:4px;border:1px solid #ddd;white-space:pre-wrap}.error-container{text-align:center;padding:20px}.status-active{color:green;font-weight:700}.status-inactive{color:gray}.recommendations-container{padding:20px}.recommendations-container h1,.actions{margin-bottom:20px}.btn-create{display:inline-block;padding:10px 20px;background-color:#1976d2;color:#fff;text-decoration:none;border-radius:4px;font-weight:700}.btn-create:hover{background-color:#1565c0}.recommendations-table{width:100%;border-collapse:collapse;background-color:#fff;box-shadow:0 2px 10px #0000001a;border-radius:8px;overflow:hidden}.recommendations-table th,.recommendations-table td{padding:12px 15px;text-align:left;border-bottom:1px solid #eee}.recommendations-table th{background-color:#f5f5f5;font-weight:600;color:#333}.recommendations-table tr:last-child td{border-bottom:none}.recommendations-table tr:hover{background-color:#f9f9f9}.actions-cell{display:flex;gap:10px}.btn-view,.btn-edit,.btn-delete{padding:5px 10px;border-radius:4px;text-decoration:none;font-size:14px;cursor:pointer;transition:background-color .3s;border:none}.btn-view{background-color:#e3f2fd;color:#1976d2}.btn-view:hover{background-color:#bbdefb}.btn-edit{background-color:#e8f5e9;color:#2e7d32}.btn-edit:hover{background-color:#c8e6c9}.btn-delete{background-color:#ffebee;color:#c62828}.btn-delete:hover{background-color:#ffcdd2}.loading{text-align:center;padding:20px;font-size:18px;color:#666}.error{background-color:#ffebee;color:#c62828;padding:15px;border-radius:4px;margin-bottom:20px}.recommendation-form-container{max-width:800px;margin:0 auto;padding:20px}.recommendation-form{background-color:#fff;padding:20px;border-radius:5px;box-shadow:0 2px 4px #0000001a}.form-group{margin-bottom:20px}.form-group label{display:block;margin-bottom:5px;font-weight:500}.form-group input,.form-group select,.form-group textarea{width:100%;padding:10px;border:1px solid #ddd;border-radius:4px;font-size:16px}.form-group textarea{resize:vertical;min-height:100px}.form-group .error{color:#d32f2f;font-size:14px;margin-top:5px}.error-message{background-color:#ffebee;color:#d32f2f;padding:10px;border-radius:4px;margin-bottom:20px}.form-actions{display:flex;justify-content:flex-end;gap:10px;margin-top:30px}.btn-cancel,.btn-submit{padding:10px 20px;border:none;border-radius:4px;cursor:pointer;font-size:16px;font-weight:500}.btn-cancel{background-color:#f5f5f5;color:#333}.btn-submit{background-color:#1976d2;color:#fff}.btn-cancel:hover{background-color:#e0e0e0}.btn-submit:hover{background-color:#1565c0}.btn-cancel:disabled,.btn-submit:disabled{opacity:.7;cursor:not-allowed}.recommendation-view-container{max-width:1200px;margin:0 auto;padding:20px}.recommendation-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:30px;border-bottom:1px solid #eee;padding-bottom:15px}.recommendation-header h1{margin:0;font-size:24px;color:#333}.recommendation-actions{display:flex;gap:10px}.btn-edit,.btn-delete,.btn-back,.btn-upload{padding:8px 16px;border-radius:4px;text-decoration:none;font-weight:500;cursor:pointer;border:none;font-size:14px}.btn-edit{background-color:#2196f3;color:#fff}.btn-delete{background-color:#f44336;color:#fff}.btn-back{background-color:#757575;color:#fff}.btn-upload{background-color:#4caf50;color:#fff}.btn-edit:hover{background-color:#1976d2}.btn-delete:hover{background-color:#d32f2f}.btn-back:hover{background-color:#616161}.btn-upload:hover{background-color:#388e3c}.btn-upload:disabled{background-color:#a5d6a7;cursor:not-allowed}.recommendation-images,.recommendation-details{background-color:#fff;border-radius:5px;box-shadow:0 2px 4px #0000001a;padding:20px;margin-bottom:30px}.recommendation-images h2,.recommendation-details h2{margin-top:0;margin-bottom:20px;font-size:20px;color:#333;border-bottom:1px solid #eee;padding-bottom:10px}.image-upload-section{margin-bottom:20px}.image-upload-container{display:flex;align-items:center;gap:10px;margin-bottom:10px}.upload-description-container{margin-bottom:10px}.file-input{flex:1}.upload-error{color:#d32f2f;margin-top:5px}.image-gallery{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:20px}.image-item{border:1px solid #eee;border-radius:4px;overflow:hidden}.recommendation-image{width:100%;height:150px;object-fit:cover;display:block}.image-info{padding:10px;display:flex;justify-content:space-between;align-items:center;background-color:#f5f5f5}.image-info span{font-size:12px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:120px}.btn-delete-image{background-color:#f44336;color:#fff;border:none;border-radius:4px;padding:4px 8px;font-size:12px;cursor:pointer}.btn-delete-image:hover{background-color:#d32f2f}.no-images{grid-column:1 / -1;text-align:center;padding:20px;background-color:#f5f5f5;border-radius:4px;color:#757575}.detail-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px}.detail-item{display:flex;flex-direction:column}.detail-label{font-weight:500;color:#757575;margin-bottom:5px}.detail-value{color:#333}.detail-value a{color:#2196f3;text-decoration:none}.detail-value a:hover{text-decoration:underline}.loading{display:flex;justify-content:center;align-items:center;height:200px;font-size:18px;color:#757575}.error-container{display:flex;flex-direction:column;align-items:center;gap:20px;margin-top:50px}.error{color:#d32f2f;background-color:#ffebee;padding:15px;border-radius:4px;text-align:center;max-width:500px}.image-description{padding:10px;background-color:#fff;border-top:1px solid #eee}.description-display{display:flex;justify-content:space-between;align-items:center}.description-text{font-size:14px;color:#555;flex:1;margin-right:10px;word-break:break-word}.btn-edit-description{background-color:#2196f3;color:#fff;border:none;border-radius:4px;padding:4px 8px;font-size:12px;cursor:pointer;white-space:nowrap}.btn-edit-description:hover{background-color:#1976d2}.description-edit{display:flex;flex-direction:column;gap:10px}.description-textarea{width:100%;min-height:60px;padding:8px;border:1px solid #ddd;border-radius:4px;resize:vertical;font-family:inherit;font-size:14px}.description-actions{display:flex;gap:10px;justify-content:flex-end}.btn-save{background-color:#4caf50;color:#fff;border:none;border-radius:4px;padding:4px 8px;font-size:12px;cursor:pointer}.btn-save:hover{background-color:#388e3c}.btn-save:disabled{background-color:#a5d6a7;cursor:not-allowed}.btn-cancel{background-color:#757575;color:#fff;border:none;border-radius:4px;padding:4px 8px;font-size:12px;cursor:pointer}.btn-cancel:hover{background-color:#616161}.btn-cancel:disabled{background-color:#bdbdbd;cursor:not-allowed}.image-actions{display:flex;gap:5px}.filename-container{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:120px}
