@import url("https://fonts.googleapis.com/css2?family=Outfit:wght@300;400;500;600;700&family=Plus+Jakarta+Sans:wght@300;400;500;600;700&display=swap");:root{--font-sans:"Plus Jakarta Sans",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-display:"Outfit",sans-serif;--bg-primary:#0b0f19;--bg-secondary:#111827;--bg-tertiary:#1f2937;--bg-glass:rgba(17,24,39,.7);--border-color:hsla(0,0%,100%,.08);--border-focus:rgba(16,185,129,.5);--text-primary:#f9fafb;--text-secondary:#9ca3af;--text-muted:#6b7280;--color-success:#10b981;--color-success-glow:rgba(16,185,129,.25);--color-warning:#f59e0b;--color-warning-glow:rgba(245,158,11,.25);--color-danger:#ef4444;--color-danger-glow:rgba(239,68,68,.25);--color-primary:#3b82f6;--color-primary-glow:rgba(59,130,246,.25);--color-accent:#8b5cf6;--transition-smooth:all 0.3s cubic-bezier(0.4,0,0.2,1);--border-radius-lg:16px;--border-radius-md:12px;--border-radius-sm:8px}*{box-sizing:border-box;margin:0;padding:0}body{background-color:var(--bg-primary);color:var(--text-primary);font-family:var(--font-sans);min-height:100vh;overflow-x:hidden;background-image:radial-gradient(circle at 10% 20%,rgba(139,92,246,.05) 0,transparent 40%),radial-gradient(circle at 90% 80%,rgba(16,185,129,.05) 0,transparent 40%);background-attachment:fixed;-webkit-font-smoothing:antialiased}h1,h2,h3,h4,h5,h6{font-family:var(--font-display);font-weight:600;letter-spacing:-.02em}.glass-panel{background:var(--bg-glass);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border-color);border-radius:var(--border-radius-lg);box-shadow:0 8px 32px 0 rgba(0,0,0,.37);transition:var(--transition-smooth)}.glass-panel:hover{border-color:hsla(0,0%,100%,.12);box-shadow:0 12px 40px 0 rgba(0,0,0,.45)}.dashboard-container{max-width:1400px;margin:0 auto;padding:2rem 1.5rem;display:flex;flex-direction:column;gap:2rem}.dashboard-header{display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:1.5rem;padding-bottom:1rem;border-bottom:1px solid var(--border-color)}.brand-section{gap:1rem}.brand-logo,.brand-section{display:flex;align-items:center}.brand-logo{background:linear-gradient(135deg,var(--color-success) 0,var(--color-accent) 100%);width:48px;height:48px;border-radius:var(--border-radius-md);justify-content:center;box-shadow:0 0 20px rgba(16,185,129,.3);color:#fff}.brand-title h1{font-size:1.75rem;background:linear-gradient(90deg,#fff,#9ca3af);-webkit-background-clip:text;-webkit-text-fill-color:transparent}.brand-title p{font-size:.85rem;color:var(--text-secondary)}.header-actions{display:flex;align-items:center;gap:1rem}.status-pill{display:inline-flex;align-items:center;gap:.5rem;padding:.35rem .75rem;border-radius:9999px;font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;border:1px solid transparent}.status-online{background-color:var(--color-success-glow);color:var(--color-success);border-color:rgba(16,185,129,.2);box-shadow:0 0 10px var(--color-success-glow)}.status-offline{background-color:var(--color-danger-glow);color:var(--color-danger);border-color:rgba(239,68,68,.2)}.status-charging{background-color:rgba(59,130,246,.15);color:var(--color-primary);border-color:rgba(59,130,246,.2);animation:pulse-border 2s infinite}@keyframes pulse-border{0%{box-shadow:0 0 0 0 rgba(59,130,246,.4)}70%{box-shadow:0 0 0 10px rgba(59,130,246,0)}to{box-shadow:0 0 0 0 rgba(59,130,246,0)}}.metrics-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));grid-gap:1.5rem;gap:1.5rem}.metric-card{padding:1.5rem;display:flex;align-items:center;gap:1.25rem}.metric-icon-wrapper{width:56px;height:56px;border-radius:var(--border-radius-md);display:flex;align-items:center;justify-content:center;background:var(--bg-tertiary);border:1px solid var(--border-color);color:var(--color-success)}.metric-card.accent .metric-icon-wrapper{color:var(--color-accent)}.metric-card.info .metric-icon-wrapper{color:var(--color-primary)}.metric-card.warning .metric-icon-wrapper{color:var(--color-warning)}.metric-info{display:flex;flex-direction:column}.metric-value{font-size:1.75rem;font-weight:700;font-family:var(--font-display);line-height:1.2}.metric-label{font-size:.85rem;color:var(--text-secondary)}.dashboard-grid{display:grid;grid-template-columns:1fr;grid-gap:2rem;gap:2rem}@media (min-width:1024px){.dashboard-grid{grid-template-columns:1.2fr 1.8fr}}.section-card{padding:1.75rem;display:flex;flex-direction:column;gap:1.5rem}.section-title{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid var(--border-color);padding-bottom:1rem}.section-title h2{font-size:1.25rem;display:flex;align-items:center;gap:.75rem}.station-list{max-height:550px;overflow-y:auto;padding-right:.5rem}.station-item,.station-list{display:flex;flex-direction:column;gap:1rem}.station-item{padding:1.25rem;border-radius:var(--border-radius-md);background:hsla(0,0%,100%,.02);border:1px solid var(--border-color);transition:var(--transition-smooth)}.station-item:hover{background:hsla(0,0%,100%,.04);border-color:hsla(0,0%,100%,.15)}.station-item-header{display:flex;justify-content:space-between;align-items:flex-start}.station-details h3{font-size:1.05rem;margin-bottom:.25rem;display:flex;align-items:center;gap:.5rem}.station-details p.station-id{font-size:.75rem;color:var(--text-muted);font-family:monospace}.station-details p.last-active{font-size:.8rem;color:var(--text-secondary);margin-top:.25rem}.station-actions{display:flex;gap:.5rem;flex-wrap:wrap}input[type=number],input[type=text],select{background-color:var(--bg-secondary);color:var(--text-primary);border:1px solid var(--border-color);padding:.6rem .9rem;border-radius:var(--border-radius-sm);font-family:var(--font-sans);font-size:.9rem;transition:var(--transition-smooth);width:100%}input[type=number]:focus,input[type=text]:focus,select:focus{outline:none;border-color:var(--color-success);box-shadow:0 0 0 2px var(--color-success-glow)}input::placeholder{color:var(--text-muted)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:.5rem;font-family:var(--font-sans);font-weight:500;font-size:.85rem;padding:.6rem 1rem;border-radius:var(--border-radius-sm);cursor:pointer;transition:var(--transition-smooth);border:1px solid transparent}.btn-primary{background-color:var(--color-success);color:#0b0f19;font-weight:600}.btn-primary:hover{background-color:#059669;box-shadow:0 0 15px rgba(16,185,129,.4)}.btn-secondary{background-color:var(--bg-tertiary);color:var(--text-primary);border-color:var(--border-color)}.btn-secondary:hover{background-color:#374151;border-color:hsla(0,0%,100%,.15)}.btn-danger{background-color:rgba(239,68,68,.15);color:var(--color-danger);border:1px solid rgba(239,68,68,.3)}.btn-danger:hover{background-color:var(--color-danger);color:#fff}.btn-icon{width:32px;height:32px;padding:0;border-radius:50%}.table-wrapper{overflow-x:auto;border-radius:var(--border-radius-md);border:1px solid var(--border-color)}.session-table{width:100%;border-collapse:collapse;text-align:left;font-size:.9rem}.session-table th{background-color:hsla(0,0%,100%,.02);color:var(--text-secondary);font-weight:600;font-size:.8rem;text-transform:uppercase;letter-spacing:.05em}.session-table td,.session-table th{padding:1rem;border-bottom:1px solid var(--border-color)}.session-table td{color:var(--text-primary)}.session-table tr{transition:var(--transition-smooth)}.session-table tr:hover{background-color:hsla(0,0%,100%,.01)}.plate-input-container{display:flex;align-items:center;gap:.5rem}.plate-input{max-width:120px!important;text-transform:uppercase;font-weight:700;letter-spacing:.05em;padding:.35rem .5rem!important;font-size:.85rem!important;border-radius:4px!important;text-align:center}.simulator-panel{border-top:2px solid var(--border-color);margin-top:1rem;padding-top:2rem}.simulator-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1.5rem}.simulator-grid{display:grid;grid-template-columns:1fr;grid-gap:1.5rem;gap:1.5rem}@media (min-width:768px){.simulator-grid{grid-template-columns:1fr 1fr}}.simulator-card{background-color:hsla(0,0%,100%,.01);border:1px dashed var(--border-color);border-radius:var(--border-radius-md);padding:1.5rem}.simulator-actions-grid{display:grid;grid-template-columns:repeat(2,1fr);grid-gap:.75rem;gap:.75rem;margin-top:1rem}::-webkit-scrollbar{width:8px;height:8px}::-webkit-scrollbar-track{background:var(--bg-primary)}::-webkit-scrollbar-thumb{background:var(--bg-tertiary);border-radius:4px}::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}.remote-start-form{margin-top:.75rem;padding:.75rem;background-color:hsla(0,0%,100%,.02);border:1px solid var(--border-color);border-radius:var(--border-radius-sm);display:flex;flex-direction:column;gap:.5rem}.edit-name-container{display:flex;gap:.5rem;align-items:center;width:100%}.pulse-indicator{width:8px;height:8px;border-radius:50%;background-color:var(--color-success);display:inline-block;box-shadow:0 0 8px var(--color-success);animation:pulse-glow 1.5s infinite}@keyframes pulse-glow{0%{transform:scale(.95);box-shadow:0 0 0 0 rgba(16,185,129,.7)}70%{transform:scale(1);box-shadow:0 0 0 6px rgba(16,185,129,0)}to{transform:scale(.95);box-shadow:0 0 0 0 rgba(16,185,129,0)}}.pulse-indicator.offline{background-color:var(--color-danger);box-shadow:0 0 8px var(--color-danger);animation:none}.pulse-indicator.charging{background-color:var(--color-primary);box-shadow:0 0 8px var(--color-primary);animation:pulse-glow-blue 1.5s infinite}@keyframes pulse-glow-blue{0%{transform:scale(.95);box-shadow:0 0 0 0 rgba(59,130,246,.7)}70%{transform:scale(1);box-shadow:0 0 0 6px rgba(59,130,246,0)}to{transform:scale(.95);box-shadow:0 0 0 0 rgba(59,130,246,0)}}.toast-container{position:fixed;bottom:2rem;right:2rem;display:flex;flex-direction:column;gap:.75rem;z-index:1000}.toast{background-color:var(--bg-secondary);color:var(--text-primary);padding:1rem 1.5rem;border-radius:var(--border-radius-md);box-shadow:0 10px 25px rgba(0,0,0,.5);display:flex;align-items:center;gap:.75rem;animation:slide-in .3s ease-out;border:1px solid var(--border-color);border-left:4px solid var(--color-success)}.toast.error{border-left-color:var(--color-danger)}.toast.info{border-left-color:var(--color-primary)}@keyframes slide-in{0%{transform:translateX(100%);opacity:0}to{transform:translateX(0);opacity:1}}.db-error-panel{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:4rem 2rem;text-align:center;max-width:680px;margin:4rem auto;border-color:rgba(239,68,68,.25);background:rgba(239,68,68,.02);box-shadow:0 8px 32px 0 rgba(239,68,68,.05)}.db-error-panel:hover{border-color:rgba(239,68,68,.4)}.db-error-icon{width:80px;height:80px;border-radius:50%;background-color:var(--color-danger-glow);display:flex;align-items:center;justify-content:center;margin-bottom:1.5rem;box-shadow:0 0 20px rgba(239,68,68,.2);border:1px solid rgba(239,68,68,.3)}.db-error-panel h2{font-size:1.8rem;margin-bottom:1rem;color:var(--text-primary)}.db-error-message{font-size:.95rem;color:var(--text-secondary);line-height:1.6;margin-bottom:1.5rem}.db-error-details{background-color:var(--bg-secondary);border:1px solid var(--border-color);padding:1rem;border-radius:var(--border-radius-sm);font-family:monospace;font-size:.8rem;color:#f43f5e;max-width:100%;overflow-x:auto;text-align:left;white-space:pre-wrap;word-break:break-all}.animate-spin{animation:spin 1s linear infinite}@keyframes spin{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}