:root { --primary: #0ea5e9; --primary-2: #06b6d4; --primary-dark: #075985; --bg: #f8fafc; --text: #0f172a; }
*{box-sizing:border-box}
body{margin:0;font-family:system-ui,Segoe UI,Roboto,Arial;background:var(--bg);color:var(--text);font-size:17px;line-height:1.6}
h1,h2,h3,h4{line-height:1.25}
h1{font-size:32px;margin:0 0 10px 0}
h2{font-size:26px;margin:0 0 10px 0}
h3{font-size:20px;margin:0 0 8px 0}
h4{font-size:18px;margin:0 0 8px 0}
.tw-header{position:sticky;top:0;z-index:50;padding:12px 0;background:linear-gradient(90deg,var(--primary),var(--primary-2));color:white;box-shadow:0 6px 18px rgba(2,6,23,.18)}
.nav-container{max-width:960px;margin:0 auto;display:flex;align-items:center;justify-content:space-between;padding:0 16px}
.brand{display:flex;align-items:center;gap:10px;color:white;text-decoration:none;font-weight:700}
.brand img{height:36px;width:auto;border-radius:8px;background:rgba(255,255,255,.12)}
.nav-links{display:flex;align-items:center;gap:14px}
.nav-links a{color:white;text-decoration:none;padding:6px 8px;border-radius:8px;transition:background .2s ease}
.nav-links a:hover{background:rgba(255,255,255,.14)}
.btn{background:white;color:#0b1220 !important;padding:8px 12px;border-radius:10px;font-weight:600}
.btn-ghost{border:1px solid rgba(255,255,255,.35);border-radius:10px;padding:6px 10px}
.tw-main{max-width:960px;margin:24px auto;padding:0 16px}
.tw-footer{padding:16px;text-align:center;color:#334155}
.section{margin-top:32px}
.section h3{margin:0 0 10px 0}
.muted{color:#475569}
.grid{display:grid;grid-template-columns:repeat(12,1fr);gap:16px}
.col-12{grid-column:span 12}
.col-6{grid-column:span 12}
@media(min-width:768px){.col-6{grid-column:span 6}}
.card{background:#fff;border:1px solid #e2e8f0;border-radius:12px;padding:16px;box-shadow:0 6px 20px rgba(2,6,23,.06)}
.card h4{margin:0 0 8px 0}
.actions a{display:inline-block;margin-right:12px;color:var(--primary-dark)}
.eyebrow{font-size:12px;text-transform:uppercase;letter-spacing:.06em;color:#64748b;margin-bottom:6px}
.slider{position:relative;overflow:hidden;border-radius:16px;box-shadow:0 12px 32px rgba(2,6,23,.2);margin:24px 0}
.slider-track{display:flex;transition:transform .6s ease}
.slide{min-width:100%;height:450px;background:#e2e8f0;display:flex;align-items:center;justify-content:center;position:relative}
.slide img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .3s ease;object-position:center}
.slide:hover img{transform:scale(1.05)}
.slider-nav{display:flex;gap:12px;justify-content:center;margin-top:16px}
.slider-nav button{background:var(--primary);border:0;color:white;padding:8px 16px;border-radius:8px;cursor:pointer;font-weight:600;transition:all .2s ease;box-shadow:0 4px 12px rgba(14,165,233,.3)}
.slider-nav button:hover{background:var(--primary-dark);transform:translateY(-2px);box-shadow:0 6px 16px rgba(14,165,233,.4)}
.slider-nav button:active{transform:translateY(0)}
/* Hero Section Styles */
.hero-section{position:relative;margin:32px 0;text-align:center}
.hero-content{margin-bottom:32px;z-index:10;position:relative}
.hero-content h1{font-size:48px;font-weight:800;margin:0 0 16px 0;background:linear-gradient(135deg,var(--primary),var(--primary-2));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}
.hero-subtitle{font-size:20px;color:#64748b;margin:0 0 24px 0;max-width:600px;margin-left:auto;margin-right:auto}
.hero-actions{display:flex;gap:16px;justify-content:center;flex-wrap:wrap}
.btn-primary{background:var(--primary);color:white;padding:12px 24px;border-radius:12px;text-decoration:none;font-weight:600;transition:all .3s ease;box-shadow:0 4px 16px rgba(14,165,233,.3)}
.btn-primary:hover{background:var(--primary-dark);transform:translateY(-2px);box-shadow:0 6px 20px rgba(14,165,233,.4)}
.btn-secondary{background:white;color:var(--primary);border:2px solid var(--primary);padding:12px 24px;border-radius:12px;text-decoration:none;font-weight:600;transition:all .3s ease}
.btn-secondary:hover{background:var(--primary);color:white;transform:translateY(-2px);box-shadow:0 6px 20px rgba(14,165,233,.2)}
.slide-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(45deg,rgba(0,0,0,.1),rgba(0,0,0,.05));pointer-events:none}
/* Page Header Styles */
.page-header{text-align:center;margin-bottom:40px;padding:32px 0}
.page-header h2{font-size:36px;margin:0 0 8px 0;color:var(--text)}
.page-subtitle{font-size:18px;color:#64748b;margin:0 0 24px 0}
.page-actions{display:flex;gap:12px;justify-content:center;flex-wrap:wrap}

/* Vehicle Grid Layout */
.vehicles-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:24px;margin-top:32px}
.vehicle-card{background:white;border-radius:16px;overflow:hidden;box-shadow:0 8px 32px rgba(2,6,23,.08);transition:all .3s ease;border:1px solid #e2e8f0}
.vehicle-card:hover{transform:translateY(-4px);box-shadow:0 16px 48px rgba(2,6,23,.12)}
.vehicle-image{position:relative;height:200px;overflow:hidden}
.vehicle-image img{width:100%;height:100%;object-fit:cover;transition:transform .3s ease}
.vehicle-card:hover .vehicle-image img{transform:scale(1.05)}
.vehicle-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(0,0,0,.4),rgba(0,0,0,.2));opacity:0;transition:opacity .3s ease;display:flex;align-items:center;justify-content:center}
.vehicle-card:hover .vehicle-overlay{opacity:1}
.vehicle-actions{display:flex;gap:8px;flex-direction:column;align-items:center}
.btn-small{padding:8px 16px;font-size:14px;border-radius:8px;text-decoration:none;font-weight:600;transition:all .2s ease}
.btn-small.btn-primary{background:var(--primary);color:white;border:none}
.btn-small.btn-primary:hover{background:var(--primary-dark);transform:translateY(-1px)}
.btn-small:not(.btn-primary){background:white;color:var(--text);border:1px solid rgba(255,255,255,.3)}
.btn-small:not(.btn-primary):hover{background:rgba(255,255,255,.9);color:var(--text)}

/* Vehicle Info */
.vehicle-info{padding:20px}
.vehicle-title{font-size:20px;font-weight:700;margin:0 0 4px 0;color:var(--text)}
.vehicle-registration{font-size:14px;color:#64748b;margin:0 0 12px 0;font-family:monospace;background:#f1f5f9;padding:4px 8px;border-radius:6px;display:inline-block}
.vehicle-meta{display:flex;gap:12px;margin-bottom:16px;flex-wrap:wrap}
.meta-item{font-size:14px;color:#64748b;background:#f8fafc;padding:4px 8px;border-radius:6px;border:1px solid #e2e8f0}
.vehicle-links{margin-top:16px}
.link-small{font-size:14px;color:var(--primary);text-decoration:none;font-weight:500}
.link-small:hover{color:var(--primary-dark);text-decoration:underline}

/* Empty State */
.empty-state{text-align:center;padding:60px 20px;grid-column:1/-1}
.empty-icon{font-size:64px;margin-bottom:16px}
.empty-state h3{font-size:24px;margin:0 0 8px 0;color:var(--text)}
.empty-state p{color:#64748b;margin:0 0 24px 0}

/* Responsive Design */
/* Vehicle Detail Page Styles */
.vehicle-detail-header{text-align:center;margin-bottom:40px;padding:32px 0}
.vehicle-detail-header h1{font-size:42px;margin:0 0 8px 0;color:var(--text)}
.vehicle-registration-large{font-size:18px;color:#64748b;font-family:monospace;background:#f1f5f9;padding:8px 16px;border-radius:8px;display:inline-block;border:1px solid #e2e8f0}

.vehicle-detail-content{display:grid;grid-template-columns:1fr 1fr;gap:40px;margin-top:32px}
.vehicle-image-section{display:flex;flex-direction:column;gap:16px}
.vehicle-main-image{position:relative;border-radius:16px;overflow:hidden;box-shadow:0 12px 32px rgba(2,6,23,.15)}
.vehicle-main-image img{width:100%;height:400px;object-fit:cover;transition:transform .3s ease}
.vehicle-main-image:hover img{transform:scale(1.02)}
.image-overlay{position:absolute;top:16px;right:16px;opacity:0;transition:opacity .3s ease}
.vehicle-main-image:hover .image-overlay{opacity:1}
.image-zoom-btn{background:rgba(255,255,255,.9);border:none;padding:8px;border-radius:8px;cursor:pointer;font-size:16px;box-shadow:0 4px 12px rgba(0,0,0,.15)}

.image-gallery{margin-top:16px}
.gallery-thumbnails{display:flex;gap:8px;overflow-x:auto;padding:8px 0}
.thumbnail{flex-shrink:0;width:80px;height:60px;border-radius:8px;overflow:hidden;cursor:pointer;border:2px solid transparent;transition:border-color .3s ease}
.thumbnail.active{border-color:var(--primary)}
.thumbnail img{width:100%;height:100%;object-fit:cover}

.vehicle-info-section{display:flex;flex-direction:column;gap:24px}
.vehicle-specs{background:white;padding:24px;border-radius:16px;box-shadow:0 8px 32px rgba(2,6,23,.08);border:1px solid #e2e8f0}
.vehicle-specs h3{font-size:20px;margin:0 0 16px 0;color:var(--text)}
.specs-grid{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.spec-item{display:flex;flex-direction:column;gap:4px}
.spec-label{font-size:14px;color:#64748b;font-weight:500}
.spec-value{font-size:16px;color:var(--text);font-weight:600}
.status-active{color:#059669;background:#ecfdf5;padding:4px 8px;border-radius:6px;font-size:14px;display:inline-block}

.vehicle-actions{display:flex;flex-direction:column;gap:12px}
.btn-large{padding:16px 24px;font-size:18px;border-radius:12px;text-decoration:none;font-weight:600;transition:all .3s ease;text-align:center}
.btn-large.btn-primary{background:var(--primary);color:white;box-shadow:0 6px 20px rgba(14,165,233,.3)}
.btn-large.btn-primary:hover{background:var(--primary-dark);transform:translateY(-2px);box-shadow:0 8px 24px rgba(14,165,233,.4)}

.availability-section{background:white;padding:24px;border-radius:16px;box-shadow:0 8px 32px rgba(2,6,23,.08);border:1px solid #e2e8f0}
.availability-section h3{font-size:20px;margin:0 0 16px 0;color:var(--text)}
.availability-list{display:flex;flex-direction:column;gap:12px}
.availability-item{background:#f8fafc;padding:16px;border-radius:12px;border:1px solid #e2e8f0}
.time-range{display:flex;align-items:center;gap:8px;margin-bottom:8px}
.start-time,.end-time{font-weight:600;color:var(--text)}
.time-separator{color:#64748b;font-weight:500}
.availability-notes{color:#64748b;margin:0;font-size:14px}
.no-availability{text-align:center;padding:32px;color:#64748b}

/* Image Modal */
.image-modal{display:none;position:fixed;z-index:1000;left:0;top:0;width:100%;height:100%;background:rgba(0,0,0,.8);cursor:pointer}
.modal-content{position:relative;margin:5% auto;max-width:90%;max-height:90%}
.modal-content img{width:100%;height:auto;border-radius:12px;box-shadow:0 20px 60px rgba(0,0,0,.3)}
.close-btn{position:absolute;top:-40px;right:0;color:white;font-size:28px;font-weight:bold;cursor:pointer;background:rgba(0,0,0,.5);width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center}

/* Form Styles */
.form-container{max-width:600px;margin:32px auto;padding:0 16px}
.form-header{text-align:center;margin-bottom:32px}
.form-header h2{font-size:32px;margin:0 0 8px 0;color:var(--text)}
.form-subtitle{color:#64748b;margin:0;font-size:16px}
.availability-form,.vehicle-form{background:white;padding:32px;border-radius:16px;box-shadow:0 8px 32px rgba(2,6,23,.08);border:1px solid #e2e8f0}
.form-group{margin-bottom:24px}
.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}
.form-group label{display:block;font-weight:600;color:var(--text);margin-bottom:8px;font-size:14px}
.form-group input,.form-group textarea,.form-group select{width:100%;padding:12px 16px;border:2px solid #e2e8f0;border-radius:8px;font-size:16px;transition:border-color .3s ease;background:white}
.form-group input:focus,.form-group textarea:focus,.form-group select:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px rgba(14,165,233,.1)}
.form-group textarea{min-height:80px;resize:vertical}

/* File Upload Styles */
.file-upload-container{border:2px dashed #e2e8f0;border-radius:8px;padding:20px;text-align:center;transition:border-color .3s ease;background:#f8fafc}
.file-upload-container:hover{border-color:var(--primary);background:#f0f9ff}
.file-upload-container input[type="file"]{margin-bottom:12px}
.file-upload-info p{margin:4px 0;color:#64748b}
.file-hint{font-size:12px;color:#94a3b8}

/* Vehicle Selection Styles */
.vehicle-selection-container{margin-bottom:16px}
.recommended-vehicles{margin-bottom:24px}
.recommended-vehicles h4{font-size:18px;margin:0 0 16px 0;color:var(--text);font-weight:600}
.vehicle-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px;margin-bottom:16px}
.vehicle-card-small{background:white;border:2px solid #e2e8f0;border-radius:12px;padding:16px;transition:all .3s ease;cursor:pointer;position:relative;overflow:hidden}
.vehicle-card-small:hover{border-color:var(--primary);box-shadow:0 4px 16px rgba(14,165,233,.1);transform:translateY(-1px)}
.vehicle-card-small.selected{border-color:var(--primary);background:#f0f9ff;box-shadow:0 4px 16px rgba(14,165,233,.2);transform:translateY(-1px)}
.vehicle-card-small.selected::before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:var(--primary);border-radius:12px 12px 0 0}
.vehicle-card-content{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}
.vehicle-card-small h5{font-size:16px;margin:0 0 4px 0;color:var(--text);font-weight:600}
.vehicle-card-small .vehicle-reg{font-size:12px;color:#64748b;margin:0 0 8px 0;font-family:monospace;background:#f1f5f9;padding:2px 6px;border-radius:4px;display:inline-block}
.vehicle-card-small .vehicle-year{font-size:12px;color:#64748b;background:#f1f5f9;padding:2px 6px;border-radius:4px}
.vehicle-stats{text-align:right}
.stat-item{display:flex;flex-direction:column;gap:2px}
.stat-label{font-size:11px;color:#64748b;text-transform:uppercase;letter-spacing:.05em}
.stat-value{font-size:14px;font-weight:600;color:var(--primary)}
.select-vehicle-btn{width:100%;padding:8px 12px;background:var(--primary);color:white;border:none;border-radius:6px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s ease}
.select-vehicle-btn:hover{background:var(--primary-dark);transform:translateY(-1px)}
.select-vehicle-btn:active{transform:translateY(0)}

/* Search Option */
.search-option{margin-top:16px;padding-top:16px;border-top:1px solid #e2e8f0}
.search-toggle{text-align:center;margin:0 0 12px 0;color:#64748b;font-size:14px}
.search-toggle a{color:var(--primary);text-decoration:none;font-weight:500}
.search-toggle a:hover{text-decoration:underline}

/* Vehicle Search Styles */
.vehicle-search-container{position:relative}
.vehicle-search-container input{padding-right:40px}
.search-icon{position:absolute;right:12px;top:50%;transform:translateY(-50%);color:#64748b;pointer-events:none}
.search-loading{position:absolute;right:12px;top:50%;transform:translateY(-50%);display:none}
.loading-spinner{width:16px;height:16px;border:2px solid #e2e8f0;border-top:2px solid var(--primary);border-radius:50%;animation:spin 1s linear infinite}
@keyframes spin{0%{transform:rotate(0deg)}100%{transform:rotate(360deg)}}
.vehicle-dropdown{position:absolute;top:100%;left:0;right:0;background:white;border:2px solid #e2e8f0;border-top:none;border-radius:0 0 8px 8px;max-height:200px;overflow-y:auto;z-index:1000;box-shadow:0 8px 24px rgba(2,6,23,.15)}
.vehicle-option{padding:12px 16px;cursor:pointer;border-bottom:1px solid #f1f5f9;transition:background .2s ease;display:flex;justify-content:space-between;align-items:center}
.vehicle-option:hover{background:#f8fafc}
.vehicle-option:last-child{border-bottom:none}
.vehicle-option-info{display:flex;flex-direction:column;gap:2px}
.vehicle-name{font-weight:600;color:var(--text);font-size:14px}
.vehicle-reg{font-size:12px;color:#64748b;font-family:monospace}
.vehicle-option-meta{display:flex;flex-direction:column;gap:4px;align-items:flex-end}
.vehicle-year{font-size:12px;color:#64748b;background:#f1f5f9;padding:2px 6px;border-radius:4px}
.availability-count{font-size:11px;color:#64748b;background:#f0f9ff;padding:2px 6px;border-radius:4px;color:var(--primary)}
.no-results,.search-error{padding:12px 16px;text-align:center;color:#64748b;font-style:italic}
.search-error{color:#dc2626}

/* DateTime Input Styles */
.datetime-input-container{position:relative}
.date-time-row{display:flex;gap:12px;margin-bottom:8px}
.time-input,.date-input{flex:1}
.time-input label,.date-input label{display:block;font-size:12px;font-weight:500;color:#64748b;margin-bottom:4px}
.time-input input,.date-input input{width:100%;padding:8px 12px;border:2px solid #e2e8f0;border-radius:6px;font-size:14px;transition:border-color .2s ease}
.time-input input:focus,.date-input input:focus{outline:none;border-color:var(--primary)}
.datetime-input-container .time-helpers{margin-top:8px}

/* Duration Presets */
.duration-presets{display:flex;gap:8px;flex-wrap:wrap;margin-top:8px}
.preset-btn{padding:8px 16px;background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;cursor:pointer;transition:all .2s ease;color:#64748b;font-weight:500}
.preset-btn:hover{background:#e2e8f0;border-color:#cbd5e1;transform:translateY(-1px)}

/* Error Messages */
.error-message{color:#dc2626;font-size:14px;margin-top:4px;display:flex;align-items:center;gap:4px}
.error-message:before{content:"⚠️";font-size:12px}

/* Form Actions */
.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:32px;padding-top:24px;border-top:1px solid #e2e8f0}
.form-actions .btn{padding:12px 24px;font-size:16px;border-radius:8px;text-decoration:none;font-weight:600;transition:all .3s ease;border:none;cursor:pointer}
.form-actions .btn-primary{background:var(--primary);color:white;box-shadow:0 4px 16px rgba(14,165,233,.3)}
.form-actions .btn-primary:hover{background:var(--primary-dark);transform:translateY(-2px);box-shadow:0 6px 20px rgba(14,165,233,.4)}
.form-actions .btn-secondary{background:white;color:var(--text);border:2px solid #e2e8f0}
.form-actions .btn-secondary:hover{background:#f8fafc;border-color:var(--primary);color:var(--primary)}

/* Responsive Form */
@media(max-width:768px){
  .form-container{padding:0 8px;margin:16px auto}
  .availability-form,.vehicle-form{padding:20px}
  .form-row{grid-template-columns:1fr;gap:16px}
  .form-actions{flex-direction:column;align-items:stretch}
  .form-actions .btn{text-align:center}
  
  .vehicle-cards{grid-template-columns:1fr;gap:12px}
  .vehicle-card-small{padding:12px}
  .time-helpers{justify-content:center}
  .duration-presets{justify-content:center}
  .helper-btn,.preset-btn{flex:1;min-width:60px;text-align:center}
  
  .date-time-row{flex-direction:column;gap:8px}
  .time-input,.date-input{flex:none}
}


