@import "https://fonts.googleapis.com/css2?family=Poppins:wght@400;500;600;700;800;900&display=swap";:root{color:#0f172a;font-synthesis:none;text-rendering:optimizelegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Poppins,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{background:#f5f5f6;margin:0}a{color:inherit}.login-page{background:#f6f6f7;align-items:center;min-height:100vh;padding:32px;display:grid}.login-panel{background:#fff;border:1px solid #eeeeef;border-radius:10px;grid-template-columns:minmax(320px,.95fr) minmax(280px,1.05fr);align-items:center;gap:36px;width:100%;max-width:980px;min-height:540px;margin:0 auto;padding:42px;display:grid;overflow:hidden}.login-copy{gap:18px;display:grid}.login-copy h1{letter-spacing:0;max-width:520px;font-size:40px;line-height:1.08}.login-copy p{color:#5f6268;max-width:500px;margin:0;font-size:15px;line-height:1.7}.login-action{justify-self:start;margin-top:8px}.login-visual{background:#fff5f5;border-radius:8px;justify-content:center;align-items:center;min-height:360px;padding:24px;display:flex}.login-visual img{filter:drop-shadow(0 22px 18px #17171724);object-fit:contain;max-width:100%;max-height:300px}.app-shell{grid-template-columns:260px 1fr;min-height:100vh;display:grid}.sidebar{background:#fff;border-right:1px solid #eeeeef;flex-direction:column;justify-content:space-between;padding:28px 22px;display:flex}.brand{color:#171717;letter-spacing:-.04em;font-size:24px;font-weight:700}.brand:before{content:"";vertical-align:-1px;background:#d71920;border-radius:7px;width:16px;height:16px;margin-right:10px;display:inline-block}.sidebar-copy{color:#787b82;margin:12px 0 0;font-size:13px;line-height:1.4}.sidebar nav{gap:8px;margin-top:38px;display:grid}.nav-item{color:#5f6268;cursor:pointer;font:inherit;text-align:left;background:0 0;border:0;border-radius:8px;align-items:center;gap:10px;height:42px;padding:0 12px;font-weight:600;display:flex}.nav-item.active{color:#fff;background:#d71920;box-shadow:0 12px 22px #d719202e}.dashboard{background:#fafafa;padding:34px 42px}.topbar{grid-template-columns:1fr minmax(260px,420px) auto auto;align-items:center;gap:24px;margin-bottom:22px;display:grid}.topbar p,.section-heading p{color:#787b82;margin:0 0 6px;font-size:13px;font-weight:600}h1,h2,h3{color:#171717;margin:0}h1{letter-spacing:-.04em;font-size:30px}h2{letter-spacing:-.03em;font-size:20px}.search-box{color:#8b8d93;background:#fff;border:1px solid #eeeeef;border-radius:8px;width:100%;height:42px;padding:0 14px;font-size:14px}button{cursor:pointer;font:inherit;border:0}.primary-action{color:#fff;white-space:nowrap;background:#d71920;border-radius:8px;height:42px;padding:0 18px;font-weight:700}.primary-action:disabled,.secondary-action:disabled{cursor:not-allowed;opacity:.58}.secondary-action{color:#3f434a;white-space:nowrap;background:#fff;border:1px solid #d6d8dc;border-radius:8px;height:42px;padding:0 16px;font-weight:700}.timeline-panel,.vehicles-admin-panel,.settings-panel{background:#fff;border:1px solid #eeeeef;border-radius:10px}.vehicle-section{background:#fff;border-radius:10px;min-height:430px;margin-bottom:18px;padding:34px 32px 26px;overflow:hidden}.fleet-heading{text-align:center;margin-bottom:34px}.fleet-heading h2{color:#b5121b;letter-spacing:0;margin-bottom:8px;font-size:24px;font-weight:700}.fleet-heading p{color:#1f2937;margin:0;font-size:14px}.vehicle-carousel{grid-template-columns:42px minmax(150px,1fr) minmax(280px,1.35fr) minmax(150px,1fr) 42px;align-items:end;gap:18px;min-height:285px;display:grid}.fleet-slide{color:inherit;text-align:center;background:0 0;border-radius:8px;place-items:center;min-width:0;padding:14px 10px 10px;display:grid}.fleet-slide.previous{grid-column:2}.fleet-slide.center{background:#fff5f5;grid-column:3;padding:18px 18px 14px;position:relative;box-shadow:inset 0 0 0 1px #ffe1e1}.fleet-slide.next{grid-column:4}.fleet-slide.center:after{content:"";background:#d71920;border-radius:999px;height:4px;position:absolute;bottom:0;left:28%;right:28%}.vehicle-photo-wrap{justify-content:center;align-items:end;width:100%;height:190px;margin-bottom:22px;display:flex}.fleet-slide img{filter:drop-shadow(0 18px 14px #0f172a29);object-fit:contain;max-width:100%;height:100%}.vehicle-photo-wrap svg{filter:drop-shadow(0 18px 14px #0f172a24);width:230px;max-width:100%;height:100%}.car-body{fill:#f7f7f8;stroke:#d71920;stroke-width:5px}.car-window{fill:#e9edf2;stroke:#9aa0aa;stroke-width:4px}.car-detail{fill:none;stroke:#d71920;stroke-linecap:round;stroke-width:5px}.car-wheel{fill:#30343b;stroke:#fff;stroke-width:5px}.fleet-slide.side .vehicle-photo-wrap{height:128px;margin-bottom:20px}.fleet-slide.side img{opacity:.72}.fleet-slide strong{color:#b5121b;margin-bottom:6px;font-size:18px;font-weight:700;line-height:1.2}.fleet-slide.center strong{font-size:22px}.fleet-slide small{color:#111827;max-width:280px;font-size:13px;line-height:1.35}.carousel-control{color:#b5121b;background:#fff;border:1px solid #d71920;border-radius:999px;align-self:center;width:42px;height:42px;padding-bottom:4px;font-size:34px;line-height:1}.previous-control{grid-column:1}.next-control{grid-column:5}.fleet-loading{color:#787b82;text-align:center;grid-column:1/-1;padding:90px 0}.empty-state{color:#868990}.timeline-panel,.vehicles-admin-panel,.settings-panel{padding:20px}.section-heading{border-bottom:1px solid #eeeeef;justify-content:space-between;align-items:center;margin:0 -20px;padding:0 20px 16px;display:flex}.count-pill{color:#55585f;background:#f5f5f5;border-radius:999px;padding:8px 12px;font-size:13px;font-weight:600}.timeline-tools{align-items:center;gap:10px;display:flex}.icon-switch{background:#f5f5f5;border:1px solid #eeeeef;border-radius:999px;gap:2px;padding:3px;display:flex}.icon-switch button{color:#70737a;background:0 0;border-radius:999px;justify-content:center;align-items:center;height:32px;padding:0 12px;font-size:13px;font-weight:800;line-height:1;display:flex}.icon-switch button.active{color:#b5121b;background:#fff;box-shadow:0 6px 14px #0f172a1a}.timeline{display:grid}.vehicles-admin-grid,.vehicles-admin-layout{grid-template-columns:1fr;gap:20px;padding-top:20px;display:grid}.settings-grid{grid-template-columns:minmax(0,1fr) minmax(300px,380px);gap:20px;padding-top:20px;display:grid}.vehicle-list,.user-list{gap:10px;display:grid}.vehicle-table{border:1px solid #eeeeef;border-radius:8px;display:grid;overflow:hidden}.vehicle-table-header,.vehicle-table-row{grid-template-columns:minmax(260px,1.5fr) 110px 80px 120px 120px 88px;align-items:center;gap:16px;min-width:860px;padding:12px 16px;display:grid}.vehicle-table-header{color:#787b82;background:#fafafa;font-size:12px;font-weight:600}.vehicle-table-row{color:#55585f;background:#fff;border-top:1px solid #f0f0f1;min-height:74px;font-size:14px}.vehicle-identity{grid-template-columns:78px 1fr;align-items:center;gap:14px;min-width:0;display:grid}.vehicle-identity img{object-fit:contain;width:70px;height:50px}.vehicle-identity strong,.vehicle-table-row>strong{color:#171717;font-size:14px;font-weight:700;display:block}.vehicle-identity span{color:#868990;text-overflow:ellipsis;white-space:nowrap;margin-top:3px;font-size:12px;display:block;overflow:hidden}.vehicle-actions{gap:8px;display:flex}.vehicle-actions button{color:#70737a;background:#f2f3f5;border-radius:999px;justify-content:center;align-items:center;width:30px;height:30px;font-size:15px;display:flex}.vehicle-actions button:disabled{cursor:not-allowed;opacity:.42}.vehicle-form-wide{align-self:stretch}.vehicle-form-grid{grid-template-columns:repeat(6,minmax(0,1fr));gap:12px;display:grid}.vehicle-form-grid label{min-width:0}.vehicle-form-grid label:first-child,.vehicle-form-grid label:nth-child(4),.vehicle-form-grid label:nth-child(5),.vehicle-form-grid label:nth-child(6){grid-column:span 1}.vehicle-form-grid label:nth-child(2),.vehicle-form-grid label:nth-child(3){grid-column:span 2}.vehicle-notes-field{grid-column:1/-1}.vehicle-row,.user-row{border:1px solid #eeeeef;border-radius:8px;grid-template-columns:86px 1fr auto;align-items:center;gap:14px;min-height:76px;padding:10px 12px;display:grid}.user-row{grid-template-columns:46px 1fr auto}.vehicle-row img{object-fit:contain;width:76px;height:56px}.vehicle-row strong{color:#b5121b;margin-bottom:4px;font-size:15px;display:block}.vehicle-row span{color:#55585f;font-size:14px}.user-row strong{color:#171717;margin-bottom:4px;font-size:15px;display:block}.user-row span{color:#55585f;font-size:14px}.user-avatar{color:#b5121b;background:#ffe4e6;border-radius:999px;justify-content:center;align-items:center;width:40px;height:40px;font-size:15px;font-weight:700;display:flex}.vehicle-form-panel{background:#fafafa;border:1px solid #eeeeef;border-radius:8px;align-self:start;gap:16px;padding:18px;display:grid}.vehicle-form-panel h3{margin-bottom:6px;font-size:18px}.vehicle-form-panel p{color:#6b7280;margin:0;font-size:14px;line-height:1.4}.vehicle-form-panel form,.vehicle-form-panel label{gap:8px;display:grid}.vehicle-form-panel form{gap:12px}.vehicle-form-panel label{color:#3f434a;font-size:13px;font-weight:600}.vehicle-form-panel input,.vehicle-form-panel select,.vehicle-form-panel textarea{color:#171717;font:inherit;background:#fff;border:1px solid #dedfe3;border-radius:8px;min-height:42px;padding:0 12px;font-size:14px}.vehicle-form-panel textarea{resize:vertical;padding:10px 12px}.vehicle-form-panel input:disabled,.vehicle-form-panel select:disabled,.vehicle-form-panel textarea:disabled,.vehicle-form-panel button:disabled{cursor:not-allowed;opacity:.62}.form-row{grid-template-columns:1fr 1fr;gap:12px;display:grid}.success-message{color:#166534;background:#ecfdf3;border:1px solid #bbf7d0;border-radius:8px;padding:10px 12px;font-size:14px;font-weight:600}.dashboard-feedback{margin:0 0 16px}.modal-backdrop{z-index:20;background:#11182775;justify-content:center;align-items:center;padding:22px;display:flex;position:fixed;inset:0}.reservation-modal{background:#fff;border-radius:10px;width:100%;max-width:720px;max-height:calc(100vh - 44px);padding:20px;overflow:auto;box-shadow:0 24px 70px #0f172a38}.modal-heading{border-bottom:1px solid #eeeeef;justify-content:space-between;align-items:center;margin:0 -20px 18px;padding:0 20px 16px;display:flex}.modal-heading p{color:#787b82;margin:0 0 6px;font-size:13px;font-weight:600}.modal-close{color:#55585f;background:#f2f3f5;border-radius:999px;justify-content:center;align-items:center;width:34px;height:34px;font-size:20px;display:flex}.reservation-form{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;display:grid}.reservation-form label{color:#3f434a;gap:8px;font-size:13px;font-weight:600;display:grid}.reservation-form label:first-child,.reservation-form label:nth-child(3),.reservation-form label:nth-child(4),.city-helper,.reservation-warning,.ride-suggestions,.modal-actions{grid-column:1/-1}.reservation-form input,.reservation-form select{color:#171717;font:inherit;background:#fff;border:1px solid #dedfe3;border-radius:8px;min-height:42px;padding:0 12px;font-size:14px}.city-field{position:relative}.city-input-wrap{display:block;position:relative}.city-input-wrap input{width:100%}.city-field small{color:#787b82;margin-top:-2px;font-size:12px;font-weight:500}.city-dropdown{z-index:40;background:#fff;border:1px solid #dedfe3;border-radius:8px;max-height:250px;padding:6px;display:grid;position:absolute;top:calc(100% + 6px);left:0;right:0;overflow-y:auto;box-shadow:0 14px 34px #0f172a24}.city-dropdown button{color:#171717;text-align:left;background:0 0;border-radius:6px;min-height:36px;padding:8px 10px;font-size:14px}.city-dropdown button:hover,.city-dropdown button:focus-visible{color:#b5121b;background:#fff1f1;outline:none}.ride-suggestions{color:#7c2d12;background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;gap:10px;padding:12px;display:grid}.ride-suggestions article{justify-content:space-between;align-items:center;gap:12px;display:flex}.ride-suggestions span{color:#431407;font-size:14px;font-weight:700}.ride-suggestions small{margin-top:3px;font-size:13px;display:block}.ride-suggestions button,.timeline-actions button{color:#b5121b;white-space:nowrap;background:#fff;border:1px solid #fecdd3;border-radius:8px;min-height:34px;padding:0 12px;font-size:13px;font-weight:700}.timeline-actions button.danger-action{color:#525252;border-color:#d6d8dc}.timeline-actions button.danger-action:hover,.timeline-actions button.danger-action:focus-visible{color:#b91c1c;border-color:#fca5a5}.ride-suggestions button:disabled,.timeline-actions button:disabled{cursor:not-allowed;opacity:.52}.city-helper{color:#787b82;margin:-4px 0 0;font-size:13px}.reservation-warning{color:#9a3412;background:#fff7ed;border:1px solid #fed7aa;border-radius:8px;gap:3px;margin:-4px 0 0;padding:10px 12px;font-size:13px;display:grid}.reservation-warning strong{color:#7c2d12}.modal-actions{justify-content:flex-end;gap:10px;padding-top:4px;display:flex}.timeline-item{border-bottom:1px solid #f0f0f1;grid-template-columns:minmax(220px,1.25fr) minmax(190px,.95fr) minmax(190px,.95fr) minmax(160px,.8fr) 260px;align-items:center;gap:16px;min-height:96px;padding:16px 0;display:grid}.timeline-route{gap:8px;display:grid;position:relative}.timeline-route:before{content:"";background:#fecdd3;width:2px;position:absolute;top:18px;bottom:18px;left:11px}.route-point{color:#3f434a;align-items:center;gap:10px;min-width:0;display:flex}.route-point span{color:#0000;z-index:1;background:#fff;border:2px solid #d71920;border-radius:999px;flex:none;justify-content:center;align-items:center;width:24px;height:24px;display:flex;position:relative}.route-point.destination span{background:#d71920}.route-point strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:800;line-height:1.25;overflow:hidden}.route-point.destination strong{color:#b5121b}.timeline-time,.timeline-vehicle,.timeline-people{gap:6px;display:grid}.timeline-time div{gap:2px;display:grid}.timeline-time span,.timeline-vehicle span,.timeline-people span{color:#868990;letter-spacing:0;text-transform:uppercase;font-size:11px;font-weight:800}.timeline-time strong,.timeline-vehicle strong,.timeline-people strong{color:#171717;font-size:13px;font-weight:800;line-height:1.3}.timeline-time strong{color:#d71920}.timeline-actions{flex-wrap:wrap;justify-content:flex-end;align-items:center;gap:10px;width:260px;min-width:0;display:flex}.timeline-actions .status{text-align:center;width:86px}.timeline-actions button{width:112px}.timeline-actions button.danger-action{width:88px}.empty-state{margin:0;font-size:14px}.status{border-radius:999px;padding:6px 9px;font-size:12px;font-style:normal;font-weight:700}.status.active{color:#b5121b;background:#ffe4e6}.status.inactive,.status.cancelled{color:#525252;background:#eee}.status.maintenance{color:#92400e;background:#fef3c7}.status.completed,.status.admin{color:#b5121b;background:#ffe4e6}.status.user{color:#525252;background:#eee}.alert{color:#b91c1c;background:#fff1f1;border:1px solid #ffcaca;border-radius:8px;gap:4px;margin-bottom:16px;padding:14px;display:grid}@media (width<=860px){.login-page{padding:18px}.login-panel{grid-template-columns:1fr;min-height:0;padding:28px 22px}.login-copy h1{font-size:32px}.login-visual{min-height:240px}.app-shell{grid-template-columns:1fr}.sidebar{display:none}.dashboard{padding:22px}.topbar{grid-template-columns:1fr}.vehicle-section{min-height:0;padding:28px 18px 22px}.vehicle-carousel{grid-template-columns:40px 1fr 40px;align-items:center;gap:12px;min-height:0}.fleet-slide.previous,.fleet-slide.next{display:none}.fleet-slide.center{grid-column:2;padding:16px 10px 12px}.previous-control{grid-column:1}.next-control{grid-column:3}.vehicle-photo-wrap{height:170px}.timeline-item{grid-template-columns:1fr;gap:14px}.vehicles-admin-grid,.vehicles-admin-layout,.settings-grid,.vehicle-row,.user-row,.form-row,.reservation-form{grid-template-columns:1fr}.reservation-form label:nth-child(n),.city-helper,.ride-suggestions,.modal-actions{grid-column:auto}.modal-actions{flex-direction:column-reverse}.vehicle-row,.user-row{justify-items:start}.vehicle-table{overflow-x:auto}.vehicle-form-grid{grid-template-columns:1fr}.vehicle-form-grid label:nth-child(n){grid-column:auto}.timeline-tools,.ride-suggestions article{flex-direction:column;align-items:flex-start}.timeline-actions{justify-content:flex-start;width:100%}.timeline-tools{gap:8px}}
