body{margin:0;padding:0;overflow-x:hidden;box-sizing:border-box;font-family:sans-serif;font-weight:500}*{box-sizing:border-box}.sidebar{width:220px;background-color:#d7d9e0;color:#131f3b;border-right:1px solid #131f3b36;padding-top:1rem;display:flex;flex-direction:column}.sidebar-title{border-bottom:2px solid #f9fafb;width:100%;padding:2%}.sidebar nav a{color:#131f3b;text-decoration:none;padding:3%;margin:.5rem;display:block}.sidebar nav a:hover{background-color:#a7a9ac}.sidebar nav a.active{background-color:#a7a9ac;border-radius:5px}.token-expiry-message{margin-top:auto;font-size:.9rem;width:100%;padding-bottom:1rem;padding-left:.4rem;left:90px;color:#555}.client-list-container{max-width:720px;margin:40px auto;padding:24px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background-color:#fff;border-radius:12px;box-shadow:0 6px 18px #0000001a;border:1px solid #e4e7eb;color:#333}.client-count{font-size:1.4rem;font-weight:700;margin-bottom:24px;text-align:center;color:#2c3e50}.search-bar-container{display:flex;justify-content:center;margin-bottom:28px}.client-search-input{width:100%;max-width:480px;padding:12px 16px;font-size:1rem;border:2px solid #ccc;border-radius:10px;transition:border-color .3s ease,box-shadow .25s ease;outline-offset:2px;outline:none}.client-search-input::placeholder{color:#999}.client-search-input:focus{border-color:#007bff;box-shadow:0 0 10px #007bff66}.loader,.error-text{text-align:center;font-size:1.1rem;margin:36px 0;color:#555}.error-text{color:#e74c3c;font-weight:600}.clients-list{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:16px}.client-card{background-color:#f9fafb;border:2px solid transparent;border-radius:12px;padding:16px 20px;box-shadow:0 2px 8px #0000000d;cursor:pointer;transition:border-color .3s ease,box-shadow .3s ease;-webkit-user-select:none;user-select:none}.client-card:hover,.client-card:focus-within{border-color:#007bff;box-shadow:0 4px 14px #007bff59;outline:none}.client-card.expanded{border-color:#0056b3;box-shadow:0 6px 18px #0056b373}.client-card-header{display:flex;align-items:center;justify-content:space-between;font-weight:700;font-size:1.15rem;color:#1a202c;-webkit-user-select:none;user-select:none}.client-preview{margin-top:14px;padding-top:14px;border-top:1px solid #d1d5db;font-size:1rem;color:#4a5568;line-height:1.5}.client-preview p{margin:8px 0}.view-profile-btn{margin-top:18px;padding:10px 18px;background:linear-gradient(90deg,#007bff,#0056b3);color:#fff;border:none;border-radius:8px;font-weight:600;font-size:1rem;cursor:pointer;transition:background .3s ease,box-shadow .3s ease;-webkit-user-select:none;user-select:none}.view-profile-btn:hover,.view-profile-btn:focus-visible{background:linear-gradient(90deg,#0056b3,#003f7f);box-shadow:0 4px 14px #0056b380;outline:none}.client-card:focus-visible,.view-profile-btn:focus-visible{outline:3px solid #0056b3;outline-offset:3px}@media (max-width: 480px){.client-list-container{margin:20px 12px;padding:20px 16px}.client-search-input{max-width:100%}.client-card{padding:14px 16px}.view-profile-btn{width:100%;text-align:center}}.visitor-table{width:100%;border-collapse:collapse;margin-top:20px}.visitor-table th,.visitor-table td{border:1px solid #ccc;padding:8px 12px;text-align:left}.visitor-table th{background-color:#f5f5f5;font-weight:600}.visitor-table tbody tr:hover{background-color:#e6f7ff}.error{color:#d9534f}.filter-form{display:flex;flex-wrap:wrap;gap:12px;margin-bottom:16px}.filter-form input[type=text],.filter-form input[type=date]{padding:6px 10px;font-size:1rem;border:1px solid #ccc;border-radius:4px}.filter-form label{display:flex;flex-direction:column;font-size:.9rem;color:#333}.filter-form button{background-color:#3182ce;color:#fff;border:none;padding:8px 14px;border-radius:4px;cursor:pointer;font-weight:600}.filter-form button:hover{background-color:#2c6cb4}.vehicle-list-container{max-width:780px;margin:40px auto;padding:20px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:#fff;border-radius:12px;box-shadow:0 6px 18px #0000001a;border:1px solid #e2e8f0;color:#333}.vehicle-list-container h1{font-weight:700;font-size:2.2rem;margin-bottom:24px;text-align:center;color:#222}.search-input{display:block;width:100%;margin-bottom:24px;padding:14px 18px;font-size:1rem;border:2px solid #ccc;border-radius:10px;outline-offset:2px;outline:none;transition:border-color .3s ease,box-shadow .25s ease}.search-input:focus{border-color:#007bff;box-shadow:0 0 10px #007bff66}.status-message{text-align:center;font-size:1rem;color:#555;margin-top:20px}.vehicle-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.vehicle-card{background-color:#f9fafb;border:1px solid #bbb;border-radius:12px;padding:18px 22px;box-shadow:0 2px 10px #0000000d;cursor:pointer;transition:border-color .25s ease,box-shadow .25s ease;-webkit-user-select:none;user-select:none;display:flex;flex-direction:column;justify-content:center;height:120px}.vehicle-card:hover,.vehicle-card:focus{border-color:#007bff;box-shadow:0 4px 15px #007bff59;outline:none}.vehicle-name{font-weight:700;font-size:1.2rem;margin:0 0 10px;color:#1a202c}.vehicle-vic{font-size:.9rem;color:#6b7280;margin:0}.vehicle-card:focus-visible{outline:3px solid #0056b3;outline-offset:3px}@media (max-width: 480px){.vehicle-list{grid-template-columns:1fr}.vehicle-list-container{margin:20px 16px;padding:16px}.search-input{font-size:.95rem;padding:12px 14px}.vehicle-card{height:auto;padding:16px}}.vehicle-detail-page{max-width:900px;margin:30px auto;padding:20px 24px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;color:#222;background-color:#fff;box-shadow:0 4px 10px #0000001a;border-radius:8px}.vehicle-detail-page p{font-size:1.1rem;text-align:center;margin:20px 0;color:#555}.error{color:#e55353;font-weight:600;text-align:center;margin:20px 0}.vehicle-detail-page h2{font-size:2rem;margin-bottom:4px;font-weight:700;color:#0a3176}.vehicle-detail-page h4{font-size:1.25rem;margin-bottom:16px;font-weight:500;color:#3a3a3a}.vehicle-detail-page h3{font-size:1rem;margin-bottom:24px;color:#22863a;font-weight:700;text-align:center;border:2px solid #22863a;border-radius:10px;padding:10px 0;background-color:#e6f2e9}.rental-list{list-style:none;padding:0;margin:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));gap:20px}.rental-item{background-color:#f9fafb;border-radius:12px;padding:16px 20px;box-shadow:0 2px 6px #00000014;transition:box-shadow .3s ease}.rental-item:hover{box-shadow:0 6px 16px #00000026}.rental-item div{margin-bottom:8px;font-size:1rem;color:#444}.rental-item strong{color:#0b3d91;font-weight:600}.client-footer{justify-content:baseline;bottom:0;left:0;width:100%;padding:1rem .01rem;text-align:center;font-size:.9rem;color:#1b1f3b}.rental-edit-form{max-width:480px;margin:0 auto;padding:24px 28px;background-color:#fff;border-radius:12px;box-shadow:0 8px 24px #0000001a;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;color:#2d3748;display:flex;flex-direction:column;gap:18px}.rental-edit-label{display:flex;flex-direction:column;font-weight:600;font-size:1rem;color:#4a5568}.rental-edit-input,.rental-edit-select,.rental-edit-textarea{margin-top:6px;padding:10px 14px;font-size:1rem;border:1.8px solid #cbd5e0;border-radius:8px;transition:border-color .25s ease,box-shadow .25s ease;font-family:inherit;outline-offset:2px}.rental-edit-textarea{min-height:80px;resize:vertical}.rental-edit-input:focus,.rental-edit-select:focus,.rental-edit-textarea:focus{border-color:#3182ce;box-shadow:0 0 8px #3182ce66;outline:none}.rental-edit-error{margin-top:-12px;color:#e53e3e;font-weight:700;font-size:.9rem;text-align:center;-webkit-user-select:none;user-select:none}.rental-edit-buttons{display:flex;justify-content:flex-end;gap:16px;margin-top:12px}.rental-submit-btn,.rental-cancel-btn{cursor:pointer;font-weight:700;font-size:1rem;padding:12px 26px;border-radius:10px;border:none;transition:background-color .25s ease,box-shadow .2s ease;-webkit-user-select:none;user-select:none}.rental-submit-btn{background-color:#3182ce;color:#fff;box-shadow:0 3px 8px #3182ce80}.rental-submit-btn:hover:not(:disabled),.rental-submit-btn:focus-visible{background-color:#2c5282;box-shadow:0 5px 15px #2c5282cc;outline:none}.rental-submit-btn:disabled{background-color:#a0aec0;cursor:not-allowed;box-shadow:none}.rental-cancel-btn{background-color:transparent;color:#4a5568;border:2px solid #4a5568}.rental-cancel-btn:hover:not(:disabled),.rental-cancel-btn:focus-visible{background-color:#4a5568;color:#fff;outline:none}@media (max-width: 480px){.rental-edit-form{padding:20px 18px}.rental-edit-buttons{flex-direction:column;gap:12px}.rental-submit-btn,.rental-cancel-btn{width:100%}}.profile-container{padding:2rem;max-width:1200px;margin:auto;font-family:Arial,sans-serif;color:#333}.custom-header{color:#03182e;font-size:1.2rem}.custom-header span{color:#1b81c6;font-size:1.3rem}.profile-title{padding-top:1%;font-size:1.7rem;font-weight:700;margin-bottom:.5rem}.profile-subtitle{color:#03182e;margin-bottom:2rem}.profile-card{background:#18568031;border-radius:10px;padding:1rem;margin-bottom:2rem;box-shadow:0 2px 4px #0000000d}.profile-card-content{display:grid;gap:1rem;grid-template-columns:1fr}@media (min-width: 768px){.profile-card-content{grid-template-columns:1fr 1fr}}.profile-section-title{font-weight:600;margin-bottom:.25rem}.id-photo-section{margin-top:-.7rem}.id-photos{display:flex;gap:1rem;margin-top:.5rem}.profile-img{height:100px;border-radius:5px;border:1px solid #ccc;object-fit:cover}.tabs{margin-top:2rem}.tabs-list{display:flex;gap:1rem;margin-bottom:1rem}.tab-button{padding:.5rem 1rem;border:1px solid #ddd;font-size:.95rem;background:#fff;cursor:pointer;border-radius:5px;font-weight:700}.tab-button.active{background:#3182ce;color:#fff}.tab-content{margin-top:1rem}.rental-card{background:#fff;border:1px solid #1b81c6;border-radius:8px;padding:1rem;margin-bottom:1rem;box-shadow:0 1px 2px #00000008}.rental-header{display:flex;justify-content:space-between;align-items:center}.rental-meta{font-size:.9rem;color:#777}.status-badge{padding:.3rem .6rem;border-radius:5px;font-size:.8rem;font-weight:500}.status-completed{background-color:#39bd65;color:#1a301a}.status-pending{background-color:#f7d874;color:#5c4603}.divider{margin:1rem 0;border:none;border-top:1px solid #1b81c6}.photo-gallery{margin-bottom:2rem}.gallery-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(120px,1fr));gap:.75rem}.gallery-modal{position:fixed;top:0;left:0;width:100vw;height:100vh;background-color:#000000e6;display:flex;align-items:center;justify-content:center;z-index:10000;flex-direction:row}.gallery-image{max-width:90%;max-height:80%;object-fit:contain;border-radius:10px;box-shadow:0 0 25px #00000080;z-index:10001}.gallery-close{position:absolute;top:1.5rem;right:1.5rem;background:transparent;color:#f5e7e7e0;font-size:1.8rem;height:31px;border:none;cursor:pointer;z-index:10002}.gallery-nav{position:absolute;top:50%;transform:translateY(-50%);background:#1b81c6;color:#fff;height:40px;border:none;font-size:1.5rem;cursor:pointer;padding:.5rem;z-index:10002}.gallery-nav:hover,.gallery-close:hover{background:#ffffff4d}.gallery-nav.left{left:2rem}.gallery-nav.right{right:2rem}.loading-client-message{margin-left:8px;color:#2874a0}.mobile-warning-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background:#1e1e1ed9;z-index:9999;display:flex;align-items:center;justify-content:center}.mobile-warning-box{background:#fff;padding:.5rem;border-radius:10px;text-align:center;max-width:90%;box-shadow:0 5px 15px #0000004d}.mobile-warning-box h2{margin-bottom:1rem;color:#08131a}.mobile-warning-box p{font-size:1rem;margin-bottom:1rem}.mobile-warning-close{background:#18374d;color:#fff;border:none;padding:.6rem 1.2rem;border-radius:5px;cursor:pointer;font-weight:700}.mobile-warning-close:hover{background:#a30000}.modal-overlay{position:fixed;top:0;left:0;width:100%;height:100%;background-color:#00000073;display:flex;justify-content:center;align-items:center;z-index:1000}.modal-content{background:#fff;padding:24px;border-radius:12px;max-width:450px;width:90%;box-shadow:0 8px 24px #0003;position:relative}.edit-rental-button{background-color:#3182ce;color:#fff;border:none;padding:.5rem 1rem;font-weight:600;font-size:.95rem;border-radius:5px;cursor:pointer;transition:background-color .3s ease,box-shadow .25s ease;-webkit-user-select:none;user-select:none;box-shadow:0 2px 8px #3182ce80}.edit-rental-button:hover,.edit-rental-button:focus-visible{background-color:#2c5282;box-shadow:0 4px 14px #2c5282b3;outline:none}.edit-rental-button:disabled{background-color:#a0aec0;cursor:not-allowed;box-shadow:none;color:#eee}@media (max-width: 480px){.edit-rental-button{width:100%;text-align:center;padding:10px 0;font-size:1rem}}.add-client-page{max-width:600px;margin:40px auto;padding:28px;background:#fff;border:1px solid #e0e0e0;border-radius:8px;box-shadow:0 4px 10px #0000001a;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.add-client-page h2{text-align:center;margin-bottom:24px;font-weight:600;color:#333}.add-client-page form{display:flex;flex-direction:column;gap:16px}.add-client-page input,.add-client-page textarea{padding:12px 16px;font-size:1rem;border:1.9px solid #ccc;border-radius:8px;transition:border-color .3s ease;font-family:inherit;resize:vertical}.add-client-page input:focus,.add-client-page textarea:focus{outline:none;border-color:#007bff;box-shadow:0 0 4px #007bffaa}.add-client-page textarea{min-height:80px}.add-client-page label{font-weight:600;margin-top:8px;color:#555}.add-client-page select{width:100%;padding:10px 14px;font-size:1rem;border:1px solid #bbb;border-radius:8px;transition:border-color .3s ease;font-family:inherit;cursor:pointer}.add-client-page select:focus{border-color:#005fcc;outline:none;box-shadow:0 0 6px #005fcc88}.add-client-page button[type=submit]{background-color:#007bff;color:#fff;font-size:1.1rem;font-weight:600;padding:14px 20px;border:none;border-radius:6px;cursor:pointer;transition:background-color .3s ease;margin-top:8px}.add-client-page button[type=submit]:hover:not(:disabled){background-color:#0056b3}.add-client-page button[type=submit]:disabled{background-color:#a6c8ff;cursor:not-allowed}.add-client-page p.error-text,.add-client-page p[style*="color: red"]{color:#d93025;margin-top:12px;font-weight:600;text-align:center}.add-client-page input[type=file]{padding:6px 12px}@media (max-width: 640px){.add-client-page{padding:16px;margin:20px 16px}}.addrental-container{max-width:700px;margin:40px auto;padding:24px;background:#fff;border-radius:8px;box-shadow:0 4px 14px #0000001a;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.addrental-container h2{text-align:center;margin-bottom:24px;font-weight:600;color:#222}.addrental-container label{display:block;font-weight:600;margin-bottom:8px;color:#555;margin-top:16px}.addrental-container select{width:100%;padding:10px 14px;font-size:1rem;border:1px solid #bbb;border-radius:8px;transition:border-color .3s ease;font-family:inherit;cursor:pointer}.addrental-container select:focus{border-color:#005fcc;outline:none;box-shadow:0 0 6px #005fcc88}.addrental-form{margin-top:20px;display:flex;flex-direction:column;gap:16px}.addrental-form input,.addrental-form textarea{padding:12px 16px;font-size:1rem;border:1.7px solid #ccc;border-radius:6px;transition:border-color .3s ease;font-family:inherit;resize:vertical}.addrental-form input:focus,.addrental-form textarea:focus{outline:none;border-color:#005fcc;box-shadow:0 0 6px #005fcc88}.addrental-form textarea{min-height:80px}.addrental-dropzone{border:2px dashed #666;padding:20px;margin:10px 0;border-radius:8px;text-align:center;color:#444;cursor:pointer;transition:border-color .3s ease,background-color .3s ease}.addrental-dropzone p{margin:0;font-size:.95rem}.addrental-dropzone:hover{border-color:#005fcc;background-color:#f0f7ff}.addrental-dropzone div p{margin-top:10px;font-weight:500;color:#222}.addrental-form button[type=submit]{margin-top:8px;padding:14px 20px;font-size:1.1rem;font-weight:600;background-color:#005fcc;color:#fff;border:none;border-radius:6px;cursor:pointer;transition:background-color .3s ease}.addrental-form button[type=submit]:hover:not(:disabled){background-color:#003f99}.addrental-form button[type=submit]:disabled{background-color:#a6c8ff;cursor:not-allowed}@media (max-width: 640px){.addrental-container{padding:16px;margin:20px 16px}}.add-vehicle-container{max-width:600px;margin:40px auto;padding:20px;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif;background:#fff;border-radius:12px;box-shadow:0 6px 15px #0000001a;border:1px solid #e0e0e0}.add-vehicle-container h2{margin-bottom:24px;font-weight:700;font-size:1.8rem;color:#222;text-align:center}.add-vehicle-form{display:flex;flex-direction:column;gap:20px}.add-vehicle-form label{display:flex;flex-direction:column;font-weight:600;font-size:1rem;color:#333}.add-vehicle-form input[type=text]{padding:12px 16px;font-size:1rem;border:2px solid #ccc;border-radius:8px;transition:border-color .3s ease,box-shadow .2s ease;outline-offset:2px}.add-vehicle-form input[type=text]:focus{border-color:#007bff;box-shadow:0 0 8px #007bff66;outline:none}.add-vehicle-form button[type=submit]{margin-top:24px;padding:14px 0;font-size:1.1rem;font-weight:700;color:#fff;background:linear-gradient(90deg,#007bff,#0056b3);border:none;border-radius:10px;cursor:pointer;box-shadow:0 4px 14px #007bff66;transition:background .3s ease;-webkit-user-select:none;user-select:none}.add-vehicle-form button[type=submit]:hover:not(:disabled){background:linear-gradient(90deg,#0056b3,#003f7f)}.add-vehicle-form button[type=submit]:disabled{cursor:not-allowed;opacity:.6;background:#a0aec0;box-shadow:none}@media (max-width: 480px){.add-vehicle-container{margin:20px 10px;padding:16px}.add-vehicle-form button[type=submit]{font-size:1rem}}.dashboard{display:flex;height:100vh;background-color:#f9fafb}.pin-prompt{max-width:400px;margin:12rem auto;right:50%;padding:2rem;background:#f4f4f44f;border-radius:8px;text-align:center;box-shadow:0 2px 6px #0000001a}.pin-prompt h3{color:#202230b7;font-size:19px}.pin-input{width:100%;padding:.6rem;margin-top:1rem;font-size:1rem;border:1px solid #ccc;border-radius:4px}.pin-input:focus{outline:none;border:1px solid #4453c0;box-shadow:3px 1px 4px #5766d8}.pin-submit{margin-top:1rem;background:#005fcc;font-size:.95rem;width:100%;color:#fff;border:none;padding:.5rem 1rem;border-radius:20px;cursor:pointer}.pin-submit:hover{background:#024ca0a4}.error-text{padding:0;width:100%;color:#c61b32;justify-content:center;text-align:center}.main-panel{flex:1;padding:1rem;overflow-y:auto}.logout-button{border:none;background-color:#3289ec;border-radius:3px;font-weight:700;color:#fff;padding:1%;float:right;cursor:pointer;margin-top:1.3rem;margin-right:1rem}.logout-button:hover{background-color:#1b81c6}@media screen and (width < 1100px){.logout-button{display:none}}.error-text{color:red}
