@import"https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Manrope:wght@400;500;600;700;800&display=swap";:root{font-family:DM Sans,sans-serif;color:#202921;background:#f5f7f3;font-synthesis:none;text-rendering:optimizeLegibility;font-smooth:always;font-optical-sizing:auto;font-weight:400;--green: #28745d;--green-dark: #1d5d49;--green-pale: #e7f1e9;--ink: #202921;--muted: #78827b;--line: #e6eae4;--surface: #fff;--shadow: 0 10px 35px rgba(27, 48, 34, .1)}*{box-sizing:border-box}body{min-width:360px;min-height:100vh;margin:0}button,input,select{font:inherit}button{cursor:pointer}.app-shell{height:100vh;min-height:620px;overflow:hidden}.topbar{height:68px;display:flex;align-items:center;justify-content:space-between;padding:0 26px;background:var(--surface);border-bottom:1px solid var(--line)}.brand,.account{display:flex;align-items:center}.brand{gap:10px;font:800 20px Manrope,sans-serif;letter-spacing:-.7px}.brand-mark{width:48px;height:48px;display:grid;place-items:center;border-radius:16px;background:var(--green);color:#fff;font:800 25px Manrope,sans-serif;box-shadow:0 7px 16px #28745d3d}.brand-mark.small{width:34px;height:34px;border-radius:11px;font-size:18px}.account{gap:10px}.account-email{max-width:240px;overflow:hidden;color:var(--muted);font-size:13px;text-overflow:ellipsis;white-space:nowrap}.outline-button,.icon-button,.text-button{border:0;background:transparent;color:var(--green)}.outline-button{padding:8px 13px;border:1px solid #d8e4dc;border-radius:10px;font-size:13px;font-weight:600}.icon-button{width:36px;height:36px;border-radius:10px;font-size:22px}.icon-button:hover,.outline-button:hover{background:var(--green-pale)}.dashboard{height:calc(100vh - 68px);min-height:552px;display:grid;grid-template-columns:minmax(340px,390px) minmax(0,1fr)}.sidebar{z-index:2;display:flex;min-height:0;max-height:100%;flex-direction:column;gap:12px;padding:18px 16px 14px;overflow-y:auto;background:#fbfcfa;border-right:1px solid var(--line)}.sidebar-heading,.results-heading,.range-control>span:first-child{display:flex;align-items:center;justify-content:space-between}.sidebar-heading h1{margin:3px 0 0;font:750 21px Manrope,sans-serif;letter-spacing:-.6px}.eyebrow{margin:0;color:var(--green);font-size:10px;font-weight:700;letter-spacing:1.35px}.location-button{border:1px solid var(--line);background:#fff}.search-field{min-height:44px;display:flex;align-items:center;gap:8px;padding:0 11px;border:1px solid var(--line);border-radius:12px;background:#fff;color:#849087;font-size:18px}.search-field:focus-within{border-color:#8bb59f;box-shadow:0 0 0 3px #28745d14}.search-field input{width:100%;border:0;outline:0;background:transparent;color:var(--ink);font-size:13px}.search-field input::placeholder{color:#a0a9a2}.clear-search{border:0;background:transparent;color:var(--muted);font-size:20px}.filter-grid{display:grid;grid-template-columns:1fr 1fr;gap:10px}.filter-grid label,.auth-form label,.results-heading{color:#758078;font-size:11px;font-weight:600}.filter-grid select,.results-heading select{width:100%;height:36px;display:block;margin-top:6px;padding:0 9px;border:1px solid var(--line);border-radius:9px;outline-color:#7daa91;background:#fff;color:var(--ink);font-size:12px}.checkbox-filter{display:flex;align-items:flex-start;gap:8px;color:var(--ink);font-size:12px;line-height:1.4;cursor:pointer}.checkbox-filter input{flex:0 0 auto;margin:1px 0 0;accent-color:var(--green)}.history-filter-status,.history-filter-error p{margin:-10px 0 0;color:var(--muted);font-size:11px}.history-filter-error{display:flex;align-items:center;justify-content:space-between;gap:8px}.history-filter-error p{margin:0;color:#a53f37}.history-filter-error button{flex:0 0 auto;border:0;background:transparent;color:var(--green);font-size:11px;font-weight:700}.range-control{display:block;color:#758078;font-size:11px}.range-control strong{color:var(--ink);font-size:12px;font-weight:600}.range-control input{width:100%;height:14px;display:block;margin:10px 0 2px;accent-color:var(--green)}.range-labels{color:#99a29c;font-size:10px}.range-control.compact{margin-top:-6px}.results-heading{min-height:29px;padding-top:4px;border-top:1px solid var(--line);color:var(--ink);font-size:13px}.results-heading select{width:auto;height:31px;margin:0;padding:0 7px;color:#59655c;font-size:11px}.count{margin-left:5px;padding:3px 7px;border-radius:20px;background:var(--green-pale);color:var(--green-dark);font-size:10px}.station-list{min-height:200px;flex:1 1 auto;overflow-y:auto;margin:0 -7px;padding:0 7px 6px}.station-card{width:100%;display:flex;align-items:flex-start;gap:10px;margin-bottom:8px;padding:12px 10px;border:1px solid #e8ece7;border-radius:12px;background:#fff;color:var(--ink);text-align:left;transition:border-color .12s ease,box-shadow .12s ease,transform .12s ease}.station-card:hover{transform:translateY(-1px);border-color:#a9c6b3;box-shadow:0 5px 14px #203c2b12}.station-card.selected{border-color:var(--green);box-shadow:0 0 0 2px #28745d17}.operator-dot,.status-light{width:9px;height:9px;flex:0 0 auto;margin-top:3px;border-radius:50%;background:var(--green)}.operator-dot.ignitis_on{background:#d55c55}.operator-dot.eleport{background:#5689b8}.operator-dot.inbalance{background:#d39543}.operator-dot.enefit{background:#8caa46}.operator-dot.via_lietuva,.operator-dot.via_lietuva_2{background:#8665a6}.station-card-main{min-width:0;flex:1;display:flex;flex-direction:column;gap:3px}.station-operator{color:var(--green);font-size:9px;font-weight:700;letter-spacing:.6px;text-transform:uppercase}.station-card-main>strong{overflow:hidden;font:700 13px Manrope,sans-serif;text-overflow:ellipsis;white-space:nowrap}.station-address,.station-meta{overflow:hidden;color:var(--muted);font-size:10px;text-overflow:ellipsis;white-space:nowrap}.station-meta{color:#8a958d}.station-price{display:flex;flex-direction:column;align-items:flex-end;gap:1px;padding-top:12px;color:var(--green-dark);white-space:nowrap}.station-price strong{font:800 15px Manrope,sans-serif}.station-price span{color:#8b958e;font-size:9px}.map-workspace{position:relative;min-width:0;min-height:0;background:#e7ece7}.map{width:100%;height:100%;background:#e7ece7}.leaflet-container{font-family:DM Sans,sans-serif}.leaflet-popup-content-wrapper{border-radius:12px}.map-caption{position:absolute;z-index:500;top:15px;left:15px;padding:9px 12px;border:1px solid rgba(230,234,228,.8);border-radius:10px;background:#fffffff0;box-shadow:0 3px 12px #1e32231a;color:#59655c;font-size:11px}.live-dot{width:7px;height:7px;display:inline-block;margin-right:5px;border-radius:50%;background:#38a57d}.map-credit{position:absolute;z-index:500;right:8px;bottom:5px;padding:3px 5px;border-radius:4px;background:#fffc;color:#657269;font-size:9px}.details-panel{position:absolute;z-index:600;right:16px;bottom:20px;width:min(520px,calc(100% - 32px));max-height:52%;overflow-y:auto;padding:17px;border:1px solid rgba(230,234,228,.9);border-radius:16px;background:#fffffff7;box-shadow:var(--shadow);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px)}.details-header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.details-header h2{margin:3px 0 2px;font:750 17px Manrope,sans-serif;letter-spacing:-.4px}.muted{margin:0;color:var(--muted);font-size:11px}.close-button{flex:0 0 auto;border:1px solid var(--line);color:#657269;font-size:20px}.connector-list{margin-top:13px;border-top:1px solid var(--line)}.connector-row{min-height:48px;display:grid;grid-template-columns:10px minmax(80px,1fr) auto 120px;align-items:center;gap:9px;border-bottom:1px solid #edf0ec}.status-light.available{background:#48a766}.status-light.charging,.status-light.occupied{background:#d95d51}.status-light.reserved{background:#df9b3c}.status-light.faulted{background:#6b7280}.status-light.unknown{background:#aab3ac}.connector-description{min-width:0;display:flex;flex-direction:column;gap:2px}.connector-description strong{overflow:hidden;font-size:11px;text-overflow:ellipsis;white-space:nowrap}.connector-description span{color:var(--muted);font-size:9px}.connector-current-price{color:var(--green-dark);font-size:11px;font-weight:700;white-space:nowrap}.connector-current-price small{color:#89948c;font-size:9px;font-weight:400}.sparkline{width:88px;height:32px}.history-chart{display:flex;align-items:center;gap:3px}.history-chart-button{justify-self:start;padding:0;border:0;background:transparent;cursor:pointer}.history-chart-button:focus-visible{outline:2px solid var(--green);outline-offset:3px;border-radius:3px}.history-chart-icons{display:flex;align-items:center;gap:2px;color:var(--green)}.history-money-icon{width:12px;height:12px;display:grid;place-items:center;border:1px solid currentColor;border-radius:50%;font-size:8px;font-weight:700;line-height:1}.history-chart-icons svg{width:13px;height:13px;fill:none;stroke:currentColor;stroke-linecap:round;stroke-linejoin:round;stroke-width:1.7}.price-history-backdrop{position:fixed;z-index:2000;inset:0;display:grid;place-items:center;padding:16px;background:#121e166b}.price-history-dialog{width:min(320px,100%);padding:18px;border:1px solid var(--line);border-radius:14px;background:#fff;box-shadow:var(--shadow)}.price-history-dialog-header{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:12px}.price-history-dialog-header h3{margin:0;font:700 15px Manrope,sans-serif}.price-history-values{display:grid;gap:8px}.price-history-values>div{display:flex;justify-content:space-between;gap:16px;color:var(--muted);font-size:13px}.price-history-values strong{color:var(--green-dark)}.history-placeholder{color:#9aa39d;text-align:center}.history-message{margin:10px 0 0;color:var(--muted);font-size:11px}.directions-link{display:inline-flex;gap:6px;margin-top:12px;color:var(--green);font-size:11px;font-weight:700;text-decoration:none}.directions-link:hover{text-decoration:underline}.empty-state{display:flex;align-items:center;flex-direction:column;gap:8px;padding:26px 16px;border:1px dashed #d5dfd7;border-radius:12px;background:#fff;color:var(--muted);text-align:center;font-size:11px}.empty-state strong{color:var(--ink);font-size:13px}.empty-icon{color:var(--green);font-size:28px}.error-message{color:#bd453d;font-size:12px;line-height:1.5}.data-error{margin:0;padding:10px;border-radius:9px;background:#fff0ee}.auth-page,.center-state{min-height:100vh;display:grid;place-items:center;padding:24px}.center-state{display:flex;flex-direction:column;color:var(--muted)}.setup-notice{text-align:center}.setup-notice h1{margin-bottom:0;color:var(--ink);font:750 24px Manrope,sans-serif}.setup-notice p{max-width:520px;line-height:1.7}.auth-card{width:min(410px,100%);padding:36px;border:1px solid var(--line);border-radius:22px;background:#fff;box-shadow:var(--shadow)}.auth-card .brand-mark{margin:0 auto 20px}.auth-card>.eyebrow,.auth-card>h1,.auth-card>.muted{text-align:center}.auth-card h1{margin:5px 0;font:800 30px Manrope,sans-serif}.password-strength-meter{display:flex;flex-direction:column;gap:6px;margin-top:-2px}.strength-bar-container{display:flex;align-items:center;justify-content:space-between;gap:10px}.strength-bars{flex:1;display:flex;gap:4px;height:5px}.strength-bar-segment{flex:1;border-radius:3px;transition:background-color .2s ease}.strength-label{font-size:11px;font-weight:700;white-space:nowrap}.strength-requirements{display:grid;grid-template-columns:1fr 1fr;gap:4px 8px;font-size:10px;color:#64748b}.strength-requirements span{display:flex;align-items:center;gap:4px;transition:color .2s ease}.strength-requirements span.valid{color:#059669;font-weight:600}.auth-card>.muted{margin-bottom:24px;line-height:1.5}.auth-form{display:flex;flex-direction:column;gap:14px}.auth-form label{display:flex;flex-direction:column;gap:6px}.auth-form input{height:43px;padding:0 11px;border:1px solid var(--line);border-radius:9px;outline-color:#7daa91;color:var(--ink)}.primary-button{min-height:44px;border:0;border-radius:10px;background:var(--green);color:#fff;font-weight:700}.primary-button:hover{background:var(--green-dark)}.primary-button:disabled{opacity:.65;cursor:wait}.text-button{width:100%;margin-top:14px;font-size:12px}.custom-leaflet-price-icon{background:transparent!important;border:none!important}.web-price-marker{display:flex;flex-direction:column;align-items:center;filter:drop-shadow(0 3px 6px rgba(0,0,0,.25));cursor:pointer;transition:transform .15s ease}.web-price-marker:hover,.web-price-marker.selected{transform:scale(1.15);z-index:1000!important}.web-price-marker.fast-charger .price-badge{border:3.5px solid #dc2626}.price-badge{padding:3px 7px;border-radius:6px;font-family:Manrope,sans-serif;font-size:11px;font-weight:800;white-space:nowrap;box-shadow:0 2px 5px #0000002e}.price-badge.price-badge-free{background:#dc2626;color:#fff}.price-badge.price-badge-purple{background:#7e22ce;color:#fff}.price-badge.price-badge-orange{background:#d97706;color:#fff}.price-badge.price-badge-dark{background:#1f2937;color:#fff}.price-badge.price-badge-gray{background:#6b7280;color:#fff}.pin-pointer{width:0;height:0;border-left:5px solid transparent;border-right:5px solid transparent;border-top:6px solid #1f2937;margin-top:-1px}.map-legend{position:absolute;z-index:500;left:15px;bottom:15px;display:flex;align-items:center;gap:10px;padding:8px 12px;border:1px solid rgba(230,234,228,.9);border-radius:10px;background:#fffffff2;box-shadow:0 3px 12px #1e32231f;font-size:11px;color:#374151}.legend-item{display:flex;align-items:center;gap:4px}.legend-dot{width:10px;height:10px;border-radius:3px}.legend-dot.free{background:#dc2626}.legend-dot.purple{background:#7e22ce}.legend-dot.orange{background:#d97706}.legend-fast-box{width:14px;height:10px;border:3px solid #dc2626;border-radius:3px;background:#fff;display:inline-block}.legend-dot.dark{background:#1f2937}.station-price.price-free strong{color:#dc2626}.station-price.price-purple strong{color:#7e22ce}.station-price.price-orange strong{color:#d97706}.station-price.price-dark strong{color:#1f2937}.custom-user-location-icon{background:transparent!important;border:none!important}.user-location-marker{position:relative;width:24px;height:24px;display:flex;align-items:center;justify-content:center}.user-dot{width:14px;height:14px;background-color:#2563eb;border:2.5px solid #ffffff;border-radius:50%;box-shadow:0 2px 6px #0000004d}.user-pulse{position:absolute;width:24px;height:24px;background-color:#2563eb59;border-radius:50%;animation:user-ping 1.8s cubic-bezier(0,0,.2,1) infinite}@keyframes user-ping{75%,to{transform:scale(1.8);opacity:0}}.ad-banner-container{width:100%;margin:4px 0 0;overflow:hidden;text-align:center;border-radius:8px;background:transparent;min-height:0}.ad-banner-container:empty{display:none}.guest-cta-banner{display:flex;align-items:center;gap:16px;background:var(--green-pale);padding:6px 14px;border-radius:12px;border:1px solid #d1e2d6}.guest-cta-text{font-size:13px;color:var(--green-dark)}.guest-cta-buttons{display:flex;align-items:center;gap:8px}.primary-button.small{min-height:34px;padding:0 14px;font-size:13px}.auth-modal-backdrop{position:fixed;z-index:2500;inset:0;display:grid;place-items:center;padding:16px;background:#121e168c;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.auth-card.modal{position:relative;max-height:90vh;overflow-y:auto}.auth-modal-close{position:absolute;top:14px;right:14px}.guest-details-banner{margin:12px 0 4px;padding:10px 14px;background:var(--green-pale);border:1px solid #cce0d4;border-radius:10px;color:var(--green-dark);font-size:12px;font-weight:700;cursor:pointer;text-align:center;transition:background .15s ease}.guest-details-banner:hover{background:#d8eadd}.price-badge-guest{background:#28745d;color:#fff}@media(max-width:820px){.app-shell{height:auto;min-height:100vh;overflow:visible}.topbar{height:58px;padding:0 14px}.account-email{display:none}.dashboard{height:auto;min-height:0;grid-template-columns:minmax(0,1fr)}.sidebar{max-height:none;padding:16px 14px 12px;border-right:0}.station-list{max-height:360px;flex:none}.map-workspace{height:65vh;min-height:440px}.details-panel{right:10px;bottom:22px;width:calc(100% - 20px);max-height:50%;padding:13px}}@media(max-width:480px){.outline-button{padding:7px 9px;font-size:11px}.sidebar-heading h1{font-size:19px}.connector-row{grid-template-columns:8px minmax(65px,1fr) auto 104px;gap:6px}.sparkline{width:74px}.details-header h2{font-size:15px}}
