@import "https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700&family=Outfit:wght@400;500;600;700;800&display=swap";:root{--bg-primary:#0b0f19;--bg-secondary:#161c2a;--bg-tertiary:#1f293d;--border-color:#2b3954;--text-primary:#f3f4f6;--text-secondary:#9ca3af;--text-muted:#6b7280;--color-primary:#10b981;--color-primary-glow:#10b98126;--color-secondary:#8b5cf6;--color-secondary-glow:#8b5cf626;--color-accent:#06b6d4;--color-danger:#ef4444;--color-danger-glow:#ef444426;--color-warning:#f59e0b;--color-success:#10b981;--font-display:"Outfit", sans-serif;--font-sans:"Inter", sans-serif;--glass-bg:#161c2aa6;--glass-border:#ffffff12;--glass-shadow:0 8px 32px 0 #0000005e;--radius-sm:8px;--radius-md:16px;--radius-lg:24px;--radius-xl:32px;--transition-smooth:all .3s cubic-bezier(.4, 0, .2, 1);--transition-fast:all .15s ease-out}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-sans);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5;overflow-x:hidden}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);letter-spacing:-.02em;font-weight:700}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:var(--radius-sm);border:2px solid var(--bg-primary)}::-webkit-scrollbar-thumb:hover{background:var(--color-primary)}.app-container{flex-direction:column;min-height:100vh;display:flex}.main-content{flex-grow:1;padding-bottom:4rem}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 1.5rem}.glass-card{background:var(--glass-bg);-webkit-backdrop-filter:blur(16px);border:1px solid var(--glass-border);border-radius:var(--radius-md);box-shadow:var(--glass-shadow);transition:var(--transition-smooth)}.glass-card:hover{border-color:#ffffff1f;transform:translateY(-2px);box-shadow:0 12px 40px #00000080}.btn{border-radius:var(--radius-md);font-family:var(--font-display);cursor:pointer;transition:var(--transition-smooth);border:none;justify-content:center;align-items:center;gap:.5rem;padding:.75rem 1.5rem;font-size:.95rem;font-weight:600;text-decoration:none;display:inline-flex}.btn-primary{background:linear-gradient(135deg, var(--color-primary), var(--color-accent));color:#0b0f19;box-shadow:0 4px 14px 0 var(--color-primary-glow)}.btn-primary:hover{opacity:.95;transform:translateY(-1px);box-shadow:0 6px 20px #10b98159}.btn-secondary{background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--text-primary)}.btn-secondary:hover{background:var(--border-color);border-color:var(--text-secondary)}.btn-accent{background:linear-gradient(135deg, var(--color-secondary), #d946ef);color:#fff;box-shadow:0 4px 14px 0 var(--color-secondary-glow)}.btn-accent:hover{transform:translateY(-1px);box-shadow:0 6px 20px #8b5cf659}.btn-danger{color:var(--color-danger);background:#ef444426;border:1px solid #ef44444d}.btn-danger:hover{background:var(--color-danger);color:#fff}.btn-icon{aspect-ratio:1;border-radius:50%;padding:.5rem}.btn-sm{border-radius:var(--radius-sm);padding:.5rem 1rem;font-size:.85rem}.form-group{flex-direction:column;gap:.5rem;margin-bottom:1.25rem;display:flex}.form-label{color:var(--text-secondary);font-size:.875rem;font-weight:500}.form-input{background-color:var(--bg-secondary);border:1px solid var(--border-color);border-radius:var(--radius-md);width:100%;color:var(--text-primary);font-family:var(--font-sans);transition:var(--transition-smooth);padding:.75rem 1rem;font-size:.95rem}.form-input:focus{border-color:var(--color-primary);box-shadow:0 0 0 3px var(--color-primary-glow);outline:none}.form-input::placeholder{color:var(--text-muted)}.badge{text-transform:uppercase;letter-spacing:.05em;border-radius:9999px;align-items:center;padding:.25rem .75rem;font-size:.75rem;font-weight:600;display:inline-flex}.badge-success{color:var(--color-success);background-color:#10b98126}.badge-warning{color:var(--color-warning);background-color:#f59e0b26}.badge-danger{color:var(--color-danger);background-color:#ef444426}.badge-info{color:var(--color-accent);background-color:#06b6d426}.hero{text-align:center;background:radial-gradient(circle at top,#10b98114 0%,#8b5cf608 50%,#0000 100%);flex-direction:column;align-items:center;padding:5rem 0;display:flex;position:relative;overflow:hidden}.hero:before{content:"";background:linear-gradient(90deg,#0000,#ffffff1a,#0000);height:1px;position:absolute;top:0;left:0;right:0}.hero-title{background:linear-gradient(135deg,#fff 30%,#a7f3d0 100%);-webkit-text-fill-color:transparent;-webkit-background-clip:text;margin-bottom:1.5rem;font-size:3.5rem;line-height:1.1}.hero-subtitle{color:var(--text-secondary);max-width:600px;margin-bottom:2.5rem;font-size:1.25rem}.search-widget{grid-template-columns:2fr 1fr 1fr auto;align-items:center;gap:1rem;width:100%;max-width:850px;padding:1rem;display:grid}@media (width<=768px){.search-widget{grid-template-columns:1fr}}.cars-grid{grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:2rem;margin-top:2rem;display:grid}.car-card{flex-direction:column;height:100%;display:flex;overflow:hidden}.car-image-container{width:100%;height:200px;position:relative;overflow:hidden}.car-image{object-fit:cover;width:100%;height:100%;transition:var(--transition-smooth)}.car-card:hover .car-image{transform:scale(1.05)}.car-badge-type{z-index:10;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);border-radius:var(--radius-sm);background:#0b0f19b3;border:1px solid #ffffff1a;padding:.35rem .75rem;font-size:.75rem;font-weight:600;position:absolute;top:1rem;left:1rem}.car-card-body{flex-direction:column;flex-grow:1;padding:1.5rem;display:flex}.car-card-title{color:var(--text-primary);margin-bottom:.25rem;font-size:1.25rem}.car-card-host{color:var(--text-secondary);align-items:center;gap:.35rem;margin-bottom:1rem;font-size:.85rem;display:flex}.car-card-host img{object-fit:cover;border-radius:50%;width:18px;height:18px}.car-card-features{flex-wrap:wrap;gap:.35rem;margin-bottom:1.25rem;display:flex}.car-feature-pill{background-color:var(--bg-tertiary);color:var(--text-secondary);border-radius:4px;padding:.2rem .5rem;font-size:.75rem}.car-card-footer{border-top:1px solid var(--border-color);justify-content:space-between;align-items:center;margin-top:auto;padding-top:1rem;display:flex}.car-card-price{font-family:var(--font-display)}.car-price-number{color:var(--color-primary);font-size:1.5rem;font-weight:700}.car-price-label{color:var(--text-secondary);font-size:.8rem}.modal-overlay{-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px);z-index:1000;background-color:#070a11cc;justify-content:center;align-items:center;padding:1.5rem;animation:.2s ease-out fadeIn;display:flex;position:fixed;inset:0}.modal-content{border:1px solid var(--border-color);border-radius:var(--radius-lg);width:100%;max-width:500px;max-height:90vh;padding:2rem;animation:.3s cubic-bezier(.16,1,.3,1) slideUp;position:relative;overflow-y:auto}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-close{color:var(--text-secondary);cursor:pointer;background:0 0;border:none;position:absolute;top:1.5rem;right:1.5rem}.modal-close:hover{color:var(--text-primary)}.simulator-section{grid-template-columns:1fr 1fr;gap:1.5rem;margin-top:2rem;display:grid}@media (width<=992px){.simulator-section{grid-template-columns:1fr}}.map-canvas{border-radius:var(--radius-md);border:1px solid var(--border-color);background-color:#172033;width:100%;height:320px;position:relative;overflow:hidden}.map-grid-lines{background-image:linear-gradient(90deg,#ffffff08 1px,#0000 1px),linear-gradient(#ffffff08 1px,#0000 1px);background-size:40px 40px;width:100%;height:100%;position:absolute;top:0;left:0}.map-road{background-color:#2b3954;border-radius:4px;position:absolute}.map-landmark{color:var(--text-muted);text-transform:uppercase;letter-spacing:.05em;font-size:.7rem;font-weight:600;position:absolute}.map-pin{cursor:pointer;z-index:10;transition:var(--transition-smooth);position:absolute;transform:translate(-50%,-100%)}.map-pin:hover{z-index:20;transform:translate(-50%,-100%)scale(1.1)}.map-pin-pulse{background-color:var(--color-primary-glow);pointer-events:none;border-radius:50%;width:20px;height:20px;animation:2s infinite pulse;position:absolute;transform:translate(-50%,-50%)}@keyframes pulse{0%{opacity:1;transform:translate(-50%,-50%)scale(.5)}to{opacity:0;transform:translate(-50%,-50%)scale(2.5)}}.map-route-line{border:2px dashed var(--color-accent);opacity:.8;transform-origin:0;height:2px;position:absolute}.calendar-widget{background:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--border-color);padding:1.25rem}.calendar-header{justify-content:space-between;align-items:center;margin-bottom:1rem;display:flex}.calendar-grid{text-align:center;grid-template-columns:repeat(7,1fr);gap:.25rem;display:grid}.calendar-day-name{color:var(--text-muted);padding:.5rem 0;font-size:.75rem;font-weight:600}.calendar-day{aspect-ratio:1;border-radius:var(--radius-sm);cursor:pointer;transition:var(--transition-fast);color:var(--text-primary);background:0 0;border:none;justify-content:center;align-items:center;font-size:.85rem;display:flex}.calendar-day:hover:not(:disabled){background-color:var(--bg-tertiary);color:var(--color-primary)}.calendar-day.selected{background:linear-gradient(135deg, var(--color-primary), var(--color-accent));color:#0b0f19;font-weight:600}.calendar-day.booked{color:var(--color-danger);cursor:not-allowed;background-color:#ef444426;text-decoration:line-through}.calendar-day:disabled{color:var(--text-muted);opacity:.3;cursor:not-allowed}.chat-container{border-radius:var(--radius-lg);border:1px solid var(--border-color);grid-template-columns:320px 1fr;height:600px;display:grid;overflow:hidden}@media (width<=768px){.chat-container{grid-template-columns:1fr}}.chat-sidebar{border-right:1px solid var(--border-color);background-color:var(--bg-secondary);flex-direction:column;display:flex}.chat-search-wrapper{border-bottom:1px solid var(--border-color);padding:1rem}.chat-contacts-list{flex-grow:1;overflow-y:auto}.chat-contact-item{cursor:pointer;transition:var(--transition-fast);border-bottom:1px solid #ffffff05;align-items:center;gap:1rem;padding:1rem;display:flex}.chat-contact-item:hover,.chat-contact-item.active{background-color:var(--bg-tertiary)}.contact-avatar{position:relative}.contact-avatar img{object-fit:cover;border:2px solid var(--border-color);border-radius:50%;width:48px;height:48px}.contact-status{border:2px solid var(--bg-secondary);background-color:var(--color-success);border-radius:50%;width:12px;height:12px;position:absolute;bottom:0;right:0}.contact-info{flex-grow:1;overflow:hidden}.contact-meta{justify-content:space-between;align-items:baseline;margin-bottom:.25rem;display:flex}.contact-name{white-space:nowrap;text-overflow:ellipsis;font-size:.95rem;font-weight:600;overflow:hidden}.contact-time{color:var(--text-muted);font-size:.75rem}.contact-last-msg{color:var(--text-secondary);white-space:nowrap;text-overflow:ellipsis;font-size:.8rem;overflow:hidden}.chat-messages-area{background-color:var(--bg-primary);flex-direction:column;height:100%;display:flex}.chat-header{background-color:var(--bg-secondary);border-bottom:1px solid var(--border-color);align-items:center;gap:1rem;padding:1rem 1.5rem;display:flex}.chat-header img{object-fit:cover;border-radius:50%;width:40px;height:40px}.chat-body{flex-direction:column;flex-grow:1;gap:1rem;padding:1.5rem;display:flex;overflow-y:auto}.chat-message-bubble{border-radius:var(--radius-md);word-break:break-word;max-width:65%;padding:.85rem 1.15rem;font-size:.95rem;line-height:1.4;position:relative}.chat-message-bubble.sent{background:linear-gradient(135deg, var(--color-primary), var(--color-accent));color:#0b0f19;border-bottom-right-radius:4px;align-self:flex-end}.chat-message-bubble.received{background-color:var(--bg-tertiary);color:var(--text-primary);border:1px solid var(--border-color);border-bottom-left-radius:4px;align-self:flex-start}.chat-message-time{text-align:right;opacity:.75;margin-top:.35rem;font-size:.7rem}.chat-input-wrapper{background-color:var(--bg-secondary);border-top:1px solid var(--border-color);gap:1rem;padding:1rem 1.5rem;display:flex}.analytics-grid{grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-bottom:2rem;display:grid}@media (width<=992px){.analytics-grid{grid-template-columns:repeat(2,1fr)}}@media (width<=576px){.analytics-grid{grid-template-columns:1fr}}.analytics-card{flex-direction:column;gap:.5rem;padding:1.5rem;display:flex}.analytics-title{text-transform:uppercase;letter-spacing:.05em;color:var(--text-muted);font-size:.85rem;font-weight:600}.analytics-value{font-size:2rem;font-weight:800;font-family:var(--font-display)}.analytics-trend{align-items:center;gap:.25rem;font-size:.8rem;display:flex}.analytics-trend.positive{color:var(--color-success)}.analytics-trend.negative{color:var(--color-danger)}.chart-container{border-bottom:2px solid var(--border-color);justify-content:space-between;align-items:flex-end;width:100%;height:250px;margin-top:1.5rem;padding:1rem 0;display:flex;position:relative}.chart-bar-wrapper{flex-direction:column;flex-grow:1;justify-content:flex-end;align-items:center;height:100%;display:flex}.chart-bar{background:linear-gradient(to top, var(--color-primary), var(--color-accent));width:40px;transition:var(--transition-smooth);cursor:pointer;border-top-left-radius:6px;border-top-right-radius:6px;position:relative}.chart-bar:hover{filter:brightness(1.15);box-shadow:0 0 15px #10b98166}.chart-bar-tooltip{background-color:var(--bg-primary);border:1px solid var(--border-color);white-space:nowrap;opacity:0;transition:var(--transition-fast);pointer-events:none;border-radius:4px;padding:.2rem .5rem;font-size:.75rem;font-weight:600;position:absolute;top:-30px;left:50%;transform:translate(-50%)}.chart-bar:hover .chart-bar-tooltip{opacity:1}.chart-label{color:var(--text-secondary);margin-top:.5rem;font-size:.75rem}.table-wrapper{margin-top:1.5rem;overflow-x:auto}.admin-table{border-collapse:collapse;text-align:left;width:100%}.admin-table th{border-bottom:2px solid var(--border-color);color:var(--text-secondary);text-transform:uppercase;letter-spacing:.05em;padding:1rem;font-size:.85rem;font-weight:600}.admin-table td{border-bottom:1px solid var(--border-color);padding:1.25rem 1rem;font-size:.95rem}.admin-table tr:hover{background-color:#ffffff05}.user-avatar-cell{align-items:center;gap:.75rem;display:flex}.user-avatar-cell img{object-fit:cover;border-radius:50%;width:36px;height:36px}.auth-page{justify-content:center;align-items:center;min-height:80vh;padding:2rem 0;display:flex}.auth-card{width:100%;max-width:450px;padding:2.5rem}.auth-header{text-align:center;margin-bottom:2rem}.auth-title{margin-bottom:.5rem;font-size:2rem}.auth-subtitle{color:var(--text-secondary);font-size:.95rem}.auth-footer{text-align:center;color:var(--text-secondary);margin-top:1.5rem;font-size:.9rem}.auth-link{color:var(--color-primary);cursor:pointer;font-weight:600;text-decoration:none}.auth-link:hover{color:var(--color-accent);text-decoration:underline}.role-selector{gap:1rem;margin-bottom:1.5rem;display:flex}.role-pill{border-radius:var(--radius-md);border:1px solid var(--border-color);background-color:var(--bg-secondary);color:var(--text-secondary);text-align:center;cursor:pointer;transition:var(--transition-fast);flex:1;padding:.75rem;font-size:.9rem;font-weight:600}.role-pill.active{border-color:var(--color-primary);background-color:var(--color-primary-glow);color:var(--text-primary)}.tabs-container{border-bottom:1px solid var(--border-color);gap:1rem;margin-bottom:1.5rem;display:flex}.tab-btn{color:var(--text-secondary);cursor:pointer;transition:var(--transition-fast);background:0 0;border:none;border-bottom:2px solid #0000;padding:.75rem .5rem;font-size:.95rem;font-weight:600}.tab-btn:hover{color:var(--text-primary)}.tab-btn.active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.notification-dot{background-color:var(--color-danger);border:1px solid var(--bg-primary);border-radius:50%;width:8px;height:8px;position:absolute;top:0;right:0}.features-grid{grid-template-columns:repeat(auto-fill,minmax(180px,1fr));gap:1rem;margin-top:1.5rem;display:grid}.feature-item{background-color:var(--bg-secondary);border-radius:var(--radius-md);border:1px solid var(--border-color);align-items:center;gap:.75rem;padding:.75rem 1rem;font-size:.9rem;display:flex}
