.hp{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden;opacity:0;pointer-events:none}.route-row{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.route-row input{flex:1;min-width:0}.route-modal-box{max-width:420px}.vehicle-popup-overlay{position:fixed;top:0;right:0;bottom:0;left:0;z-index:1000;display:flex;align-items:center;justify-content:center;padding:1rem}.vehicle-popup-box{position:relative;max-width:520px;width:100%;max-height:90vh;overflow:auto;background:var(--bg-elevated);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);border:1px solid var(--border-subtle)}.vehicle-popup-box .auth-modal-close{position:absolute;top:.5rem;right:.5rem;z-index:2}.vehicle-popup-image-wrap{width:100%;aspect-ratio:16/10;background:var(--bg-alt);border-radius:var(--radius-lg) var(--radius-lg) 0 0;overflow:hidden}.vehicle-popup-image{width:100%;height:100%;object-fit:cover}.vehicle-popup-content{padding:1.25rem 1.5rem}.vehicle-popup-title{margin:0 0 .75rem;font-size:1.25rem}.vehicle-popup-desc{margin:0 0 1rem;color:var(--text-muted);font-size:.95rem;line-height:1.5}.vehicle-popup-specs{display:grid;gap:.5rem;margin:0}.vehicle-popup-specs dt{font-weight:600;font-size:.85rem;color:var(--text-muted)}.vehicle-popup-specs dd{margin:0 0 .25rem;font-size:.95rem}.link-button{background:none;border:none;color:inherit;font:inherit;cursor:pointer;padding:0;text-decoration:none}.link-button:hover{text-decoration:underline}.nav-auth-logged{display:inline-flex;align-items:center;gap:.75rem;padding:.35rem .6rem;border-radius:var(--radius-md);background:var(--bg-elevated);border:1px solid var(--border-subtle)}.nav-auth-logged .nav-user-name{color:var(--text-muted);font-size:.9rem}.vehicle-select{display:block;width:100%;min-height:2.75rem;padding:.65rem 2.25rem .65rem .75rem;font-family:inherit;font-size:.95rem;color:var(--text);background-color:var(--bg-alt);border:1px solid var(--border-subtle);border-radius:var(--radius-md);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='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23a5a7be' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center}.vehicle-select:hover:not(:disabled){border-color:var(--accent-border)}.vehicle-select:focus{outline:none;border-color:var(--accent-border);box-shadow:0 0 0 2px var(--accent-soft)}.vehicle-select:disabled{opacity:.7;cursor:not-allowed}.admin-reservations{background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md);overflow-x:auto;overflow-y:hidden;scrollbar-gutter:stable both-edges;margin-bottom:1rem}.admin-reservations-scroll-top{display:none;overflow-x:auto;overflow-y:hidden;height:10px;margin-bottom:.35rem;border-radius:999px;background:var(--bg-alt)}.admin-reservations-scroll-top-inner{height:1px}.admin-reservations-scroll-top::-webkit-scrollbar{height:10px}.admin-reservations-scroll-top::-webkit-scrollbar-track{background:var(--bg-alt)}.admin-reservations-scroll-top::-webkit-scrollbar-thumb{background:var(--border-subtle);border-radius:999px}.admin-reservations::-webkit-scrollbar{height:10px}.admin-reservations::-webkit-scrollbar-track{background:var(--bg-alt)}.admin-reservations::-webkit-scrollbar-thumb{background:var(--border-subtle);border-radius:999px}.admin-reservations-header,.admin-reservations-row{display:grid;grid-template-columns:3rem minmax(150px,1.1fr) minmax(120px,.9fr) minmax(160px,1.2fr) minmax(95px,.7fr) minmax(95px,.7fr) minmax(90px,.7fr) minmax(190px,1.2fr) minmax(240px,1.6fr);gap:.5rem;align-items:start;min-width:1300px}.admin-reservations-header{padding:.65rem .75rem;background:var(--bg-alt);font-weight:600;color:var(--text);border-bottom:1px solid var(--border-subtle)}.admin-reservations-row{padding:.65rem .75rem;border-bottom:1px solid var(--border-subtle)}.admin-reservations-row:last-child{border-bottom:none}.admin-reservations-row:hover{background:var(--bg-alt)}.admin-reservations-cell{padding:.15rem 0;font-size:.9rem;word-break:break-word;min-width:0}.admin-reservations-cell small{color:var(--text-muted);font-size:.85em}.admin-actions-col{position:sticky;right:0;z-index:2;background:var(--bg-elevated);box-shadow:-8px 0 10px #00000024}.admin-reservations-header .admin-actions-col{z-index:3;background:var(--bg-alt)}.admin-reservations-row:hover .admin-actions-col{background:var(--bg-alt)}.booking-actions{display:flex;gap:.75rem;flex-wrap:wrap;align-items:center;row-gap:.5rem}.invoice-form{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;row-gap:.5rem}.invoice-form-amount{width:5.5rem;min-width:5.5rem;padding:.5rem;font-size:.9rem;color:var(--text);background:var(--bg-alt);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.invoice-form-amount:focus{outline:none;border-color:var(--accent-border)}.invoice-form-send-email{display:inline-flex;align-items:center;gap:.4rem;white-space:nowrap;font-size:.9rem;cursor:pointer}.invoice-form-send-email input{flex-shrink:0}.invoice-form-btn{white-space:nowrap;min-width:6.5rem;padding:.5rem 1rem;font-size:.85rem;border-radius:var(--radius-md)}.form-select-inline{width:auto;min-width:10rem}.admin-wrap .vehicle-select,.admin-wrap select.form-select-inline{display:block;width:auto;min-width:10rem;min-height:2.75rem;padding:.65rem 2.25rem .65rem .75rem;font-family:inherit;font-size:.95rem;color:var(--text);background-color:var(--bg-alt);border:1px solid var(--border-subtle);border-radius:var(--radius-md);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='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23a5a7be' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .75rem center}.admin-wrap .vehicle-select:hover:not(:disabled),.admin-wrap select.form-select-inline:hover:not(:disabled){border-color:var(--accent-border)}.admin-wrap .vehicle-select:focus,.admin-wrap select.form-select-inline:focus{outline:none;border-color:var(--accent-border);box-shadow:0 0 0 2px var(--accent-soft)}.admin-wrap.admin-wide{max-width:1400px;width:min(96vw,1400px)}.footer-company-placeholder{margin-top:.5rem;margin-bottom:.5rem;color:var(--text-muted);font-size:.9rem;line-height:1.45}.footer-company-placeholder p{margin:.15rem 0}.admin-pagination{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-top:1rem;padding-top:1rem;border-top:1px solid var(--border-subtle)}.admin-pagination .btn{min-width:6rem}.admin-pagination-info{color:var(--text-muted);font-size:.95rem}.admin-toolbar{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}.admin-search-wrap{display:flex;flex-direction:column;gap:.35rem}.admin-search-label{font-size:.85rem;font-weight:500;color:var(--text-muted)}.admin-search-input{min-width:220px;padding:.6rem .75rem;font-family:inherit;font-size:.95rem;color:var(--text);background:var(--bg-alt);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.admin-search-input:focus{outline:none;border-color:var(--accent-border);box-shadow:0 0 0 2px var(--accent-soft)}.admin-search-input::placeholder{color:var(--text-muted)}.admin-date-wrap{display:flex;flex-direction:column;gap:.25rem}.input-with-icon{position:relative;display:inline-block}.input-with-icon .input-icon{position:absolute;left:.75rem;top:50%;transform:translateY(-50%);pointer-events:none;font-size:1rem;line-height:1}.input-with-icon .admin-date-input,.input-with-icon input[type=datetime-local],.input-with-icon input[type=date]{padding-left:2.25rem}input[type=date]::-webkit-calendar-picker-indicator,input[type=datetime-local]::-webkit-calendar-picker-indicator{filter:invert(1);opacity:.9}.admin-date-input{min-width:140px;padding:.6rem .75rem;font-family:inherit;font-size:.95rem;color:var(--text);background-color:var(--bg-alt);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.admin-date-input:focus{outline:none;border-color:var(--accent-border);box-shadow:0 0 0 2px var(--accent-soft)}.admin-search-count{font-size:.9rem;color:var(--text-muted)}.admin-settings-block{display:flex;flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1rem;padding:.75rem 1rem;background:var(--bg-alt);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.admin-settings-label{display:flex;flex-direction:column;gap:.35rem}.admin-settings-label span{font-size:.85rem;font-weight:500;color:var(--text-muted)}.admin-settings-input{min-width:220px;padding:.5rem .65rem;font-size:.95rem;color:var(--text);background:var(--bg-elevated);border:1px solid var(--border-subtle);border-radius:var(--radius-md)}.admin-settings-input:focus{outline:none;border-color:var(--accent-border)}.invoice-form-existing{font-size:.9rem;color:var(--text-muted);white-space:nowrap}@media (max-width: 900px){.admin-reservations-header,.admin-reservations-row{min-width:1160px}}@media (max-width: 768px){.admin-reservations{padding:.5rem}.admin-reservations-header{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);border:0}.admin-reservations-row{display:block;min-width:0;padding:.75rem 1rem;margin-bottom:.75rem;border:1px solid var(--border-subtle);border-radius:var(--radius-md);background:var(--bg-elevated);box-shadow:0 1px 3px #00000014}.admin-reservations-row:last-child{margin-bottom:0}.admin-reservations-row:hover{background:var(--bg-alt)}.admin-reservations-cell{display:flex;align-items:flex-start;gap:.5rem;padding:.45rem 0;border-bottom:1px solid var(--border-subtle)}.admin-reservations-cell:last-child{border-bottom:none;padding-top:.6rem;flex-wrap:wrap}.admin-actions-col{position:static;box-shadow:none}.admin-reservations-cell:before{content:attr(data-label);font-weight:600;color:var(--text-muted);font-size:.85rem;min-width:6.5rem;flex-shrink:0}.admin-reservations-cell .booking-actions{width:100%}.admin-toolbar{flex-direction:column;align-items:stretch}.admin-search-input,.admin-date-input{min-width:0;width:100%}}@media (max-width: 720px){.site-nav{z-index:1000}.nav-toggle{flex-direction:column}.nav-toggle span{transition:transform .2s ease,opacity .2s ease}.nav-toggle.is-open span:nth-child(1){transform:translateY(7px) rotate(45deg)}.nav-toggle.is-open span:nth-child(2){opacity:0}.nav-toggle.is-open span:nth-child(3){transform:translateY(-7px) rotate(-45deg)}}
