.led-container.svelte-1y1bka{padding:8px 12px;background:var(--surface-100);border-radius:8px;box-shadow:inset 0 2px 4px #00000080}.led.svelte-1y1bka{width:24px;height:24px;background:var(--border-100);border-radius:50%;transition:background .2s,box-shadow .2s;border:2px solid var(--surface-200)}.led.active.svelte-1y1bka{background:var(--led-color);box-shadow:0 0 10px var(--led-color),0 0 20px var(--led-color),0 0 30px var(--led-color)}.led.active.blink.svelte-1y1bka{animation:svelte-1y1bka-led-blink var(--blink-duration) ease-in-out infinite}@keyframes svelte-1y1bka-led-blink{0%,to{opacity:1;box-shadow:0 0 10px var(--led-color),0 0 20px var(--led-color),0 0 30px var(--led-color)}50%{opacity:.3;box-shadow:none}}.plug-container.svelte-6neta9{display:flex;flex-direction:column;align-items:center;gap:8px;cursor:pointer}.type2-plug.svelte-6neta9{width:130px;height:auto;fill:var(--text-400);filter:drop-shadow(0 4px 8px rgba(0,0,0,.3));transition:fill .3s,filter .3s}.type2-plug.svelte-6neta9:hover{fill:var(--text-300)}.type2-plug.glowing.svelte-6neta9{fill:var(--glow-color);filter:drop-shadow(0 0 10px var(--glow-color)) drop-shadow(0 0 20px var(--glow-color))}.plug-label.svelte-6neta9{font-family:Arial,sans-serif;font-size:14px;font-weight:700;color:var(--text-200);text-transform:uppercase;letter-spacing:1px}.message-log.svelte-199t6rv.svelte-199t6rv{background:var(--surface-100);border-radius:12px;border:1px solid var(--border-100);overflow:hidden;display:flex;flex-direction:column;height:200px;width:600px}.log-header.svelte-199t6rv.svelte-199t6rv{display:flex;justify-content:space-between;align-items:center;padding:8px 12px;background:var(--surface-header);border-bottom:1px solid var(--border-100)}.log-title.svelte-199t6rv.svelte-199t6rv{font-size:12px;font-weight:700;color:var(--text-400);text-transform:uppercase;letter-spacing:1px}.message-count.svelte-199t6rv.svelte-199t6rv{font-size:11px;color:var(--text-500)}.log-content.svelte-199t6rv.svelte-199t6rv{flex:1;overflow:auto;padding:8px;font-family:Consolas,Monaco,monospace;font-size:12px}.empty-state.svelte-199t6rv.svelte-199t6rv{color:var(--text-600);text-align:center;padding:40px;font-style:italic}.log-entry.svelte-199t6rv.svelte-199t6rv{display:flex;gap:8px;padding:4px 8px;border-radius:4px;margin-bottom:2px}.log-entry.svelte-199t6rv.svelte-199t6rv:hover{background:var(--surface-header)}.log-entry.incoming.svelte-199t6rv.svelte-199t6rv{border-left:2px solid var(--color-primary)}.log-entry.outgoing.svelte-199t6rv.svelte-199t6rv{border-left:2px solid var(--color-msg-out)}.timestamp.svelte-199t6rv.svelte-199t6rv{color:var(--text-500);flex-shrink:0}.direction.svelte-199t6rv.svelte-199t6rv{flex-shrink:0;width:16px;text-align:center}.log-entry.incoming.svelte-199t6rv .direction.svelte-199t6rv{color:var(--color-primary)}.log-entry.outgoing.svelte-199t6rv .direction.svelte-199t6rv{color:var(--color-msg-out)}.message-type.svelte-199t6rv.svelte-199t6rv{color:var(--color-msg-type);flex-shrink:0;min-width:120px}.message-content.svelte-199t6rv.svelte-199t6rv{color:var(--text-300);white-space:nowrap}.log-content.svelte-199t6rv.svelte-199t6rv::-webkit-scrollbar{width:8px;height:8px}.log-content.svelte-199t6rv.svelte-199t6rv::-webkit-scrollbar-track{background:var(--surface-100)}.log-content.svelte-199t6rv.svelte-199t6rv::-webkit-scrollbar-thumb{background:var(--border-200);border-radius:4px}.log-content.svelte-199t6rv.svelte-199t6rv::-webkit-scrollbar-thumb:hover{background:var(--text-600)}.top-bar.svelte-yav925.svelte-yav925{position:fixed;top:0;left:0;right:0;height:48px;background:var(--surface-topbar);border-bottom:1px solid var(--border-100);display:flex;justify-content:space-between;align-items:center;padding:0 16px;z-index:100;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.logo.svelte-yav925.svelte-yav925{font-size:14px;font-weight:700;color:var(--text-400);text-transform:uppercase;letter-spacing:1px}.connection-controls.svelte-yav925.svelte-yav925{display:flex;align-items:center;gap:16px}.status-indicator.svelte-yav925.svelte-yav925{display:flex;align-items:center;gap:8px}.status-dot.svelte-yav925.svelte-yav925{width:8px;height:8px;border-radius:50%;box-shadow:0 0 6px currentColor}.status-text.svelte-yav925.svelte-yav925{font-size:12px;color:var(--text-400)}.connect-btn.svelte-yav925.svelte-yav925{padding:6px 16px;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s;background:var(--color-primary-bg);border:none;color:#fff}.connect-btn.svelte-yav925.svelte-yav925:hover:not(:disabled){background:var(--color-primary-hover)}.connect-btn.svelte-yav925.svelte-yav925:disabled{opacity:.5;cursor:not-allowed}.connect-btn.connected.svelte-yav925.svelte-yav925{background:transparent;border:1px solid var(--color-disconnect);color:var(--color-disconnect)}.connect-btn.connected.svelte-yav925.svelte-yav925:hover{background:color-mix(in srgb,var(--color-disconnect) 10%,transparent)}.settings-btn.svelte-yav925.svelte-yav925{background:transparent;border:none;padding:8px;cursor:pointer;border-radius:8px;transition:background .2s}.settings-btn.svelte-yav925.svelte-yav925:hover{background:#ffffff1a}.gear-icon.svelte-yav925.svelte-yav925{width:24px;height:24px;fill:var(--text-400);transition:fill .2s}.settings-btn.svelte-yav925:hover .gear-icon.svelte-yav925{fill:var(--text-200)}.modal-overlay.svelte-1hjfm0y.svelte-1hjfm0y{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;justify-content:center;align-items:center;z-index:200;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal.svelte-1hjfm0y.svelte-1hjfm0y{background:var(--surface-200);border-radius:16px;border:1px solid var(--border-200);width:100%;max-width:450px;max-height:90vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #00000080}.modal-header.svelte-1hjfm0y.svelte-1hjfm0y{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border-100);flex:0 0 auto}.modal-header.svelte-1hjfm0y h2.svelte-1hjfm0y{margin:0;font-size:16px;color:var(--text-200);font-weight:600}.close-btn.svelte-1hjfm0y.svelte-1hjfm0y{background:transparent;border:none;padding:4px;cursor:pointer;border-radius:4px;transition:background .2s}.close-btn.svelte-1hjfm0y.svelte-1hjfm0y:hover{background:#ffffff1a}.close-icon.svelte-1hjfm0y.svelte-1hjfm0y{width:20px;height:20px;fill:var(--text-400)}.modal-body.svelte-1hjfm0y.svelte-1hjfm0y{padding:20px;flex:1 1 auto;overflow-y:auto}.form-group.svelte-1hjfm0y.svelte-1hjfm0y{margin-bottom:20px}.form-group.svelte-1hjfm0y.svelte-1hjfm0y:last-child{margin-bottom:0}label.svelte-1hjfm0y.svelte-1hjfm0y{display:block;font-size:13px;font-weight:500;color:var(--text-300);margin-bottom:8px}.optional.svelte-1hjfm0y.svelte-1hjfm0y{color:var(--text-500);font-weight:400}.group-title.svelte-1hjfm0y.svelte-1hjfm0y{display:block;font-size:13px;font-weight:500;color:var(--text-300);margin-bottom:10px}.checkbox-row.svelte-1hjfm0y.svelte-1hjfm0y{display:flex;align-items:center;gap:10px;margin-bottom:0;cursor:pointer}.checkbox-row.svelte-1hjfm0y input[type=checkbox].svelte-1hjfm0y{width:16px;height:16px;margin:0;flex:0 0 auto;accent-color:var(--color-primary);cursor:pointer}.checkbox-row.svelte-1hjfm0y span.svelte-1hjfm0y{font-size:13px;color:var(--text-200);font-weight:500}.btn-check.svelte-1hjfm0y.svelte-1hjfm0y{margin-top:12px}.check-status.svelte-1hjfm0y.svelte-1hjfm0y{display:block;font-size:11px;color:var(--color-primary);margin-top:8px}input.svelte-1hjfm0y.svelte-1hjfm0y,select.svelte-1hjfm0y.svelte-1hjfm0y{width:100%;padding:10px 12px;background:var(--surface-100);border:1px solid var(--border-200);border-radius:8px;color:var(--text-100);font-size:14px;box-sizing:border-box;transition:border-color .2s}input.svelte-1hjfm0y.svelte-1hjfm0y:focus,select.svelte-1hjfm0y.svelte-1hjfm0y:focus{outline:none;border-color:var(--color-primary)}input.svelte-1hjfm0y.svelte-1hjfm0y::placeholder{color:var(--text-600)}.hint.svelte-1hjfm0y.svelte-1hjfm0y{display:block;font-size:11px;color:var(--text-500);margin-top:6px}.modal-footer.svelte-1hjfm0y.svelte-1hjfm0y{display:flex;justify-content:flex-end;gap:12px;padding:16px 20px;border-top:1px solid var(--border-100);flex:0 0 auto}.btn.svelte-1hjfm0y.svelte-1hjfm0y{padding:8px 20px;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:background .2s}.btn-secondary.svelte-1hjfm0y.svelte-1hjfm0y{background:transparent;border:1px solid var(--border-200);color:var(--text-300)}.btn-secondary.svelte-1hjfm0y.svelte-1hjfm0y:hover{background:#ffffff0d}.btn-primary.svelte-1hjfm0y.svelte-1hjfm0y{background:var(--color-primary-bg);border:none;color:#fff}.btn-primary.svelte-1hjfm0y.svelte-1hjfm0y:hover{background:var(--color-primary-hover)}.btn-danger.svelte-1hjfm0y.svelte-1hjfm0y{background:transparent;border:1px solid var(--color-error);color:var(--color-error)}.btn-danger.svelte-1hjfm0y.svelte-1hjfm0y:hover{background:#f443361a}.footer-spacer.svelte-1hjfm0y.svelte-1hjfm0y{flex:1}.rfid-reader.svelte-9g0ol8.svelte-9g0ol8{display:flex;flex-direction:column;align-items:center;gap:8px}.rfid-surface.svelte-9g0ol8.svelte-9g0ol8{width:100px;height:70px;background:linear-gradient(145deg,var(--surface-200) 0%,var(--surface-100) 100%);border-radius:12px;border:2px solid var(--border-200);display:flex;justify-content:center;align-items:center;box-shadow:inset 0 2px 4px #0000004d,0 2px 8px #0003;cursor:pointer;transition:border-color .2s,box-shadow .2s}.rfid-surface.svelte-9g0ol8.svelte-9g0ol8:hover{border-color:var(--color-primary);box-shadow:inset 0 2px 4px #0000004d,0 0 12px color-mix(in srgb,var(--color-primary) 30%,transparent)}.rfid-surface.flash-green.svelte-9g0ol8.svelte-9g0ol8{animation:svelte-9g0ol8-rfid-flash-green 1.4s ease-out}.rfid-surface.flash-red.svelte-9g0ol8.svelte-9g0ol8{animation:svelte-9g0ol8-rfid-flash-red 1.4s ease-out}@keyframes svelte-9g0ol8-rfid-flash-green{0%,to{border-color:var(--border-200);background:linear-gradient(145deg,var(--surface-200) 0%,var(--surface-100) 100%);box-shadow:inset 0 2px 4px #0000004d,0 2px 8px #0003}25%{border-color:#22c55e;background:#22c55e47;box-shadow:inset 0 2px 4px #0000004d,0 0 18px #22c55ed9}}@keyframes svelte-9g0ol8-rfid-flash-red{0%,to{border-color:var(--border-200);background:linear-gradient(145deg,var(--surface-200) 0%,var(--surface-100) 100%);box-shadow:inset 0 2px 4px #0000004d,0 2px 8px #0003}25%{border-color:#ef4444;background:#ef444447;box-shadow:inset 0 2px 4px #0000004d,0 0 18px #ef4444d9}}.rfid-icon.svelte-9g0ol8.svelte-9g0ol8{width:50px;height:50px}.rfid-label.svelte-9g0ol8.svelte-9g0ol8{font-size:11px;color:var(--text-400);text-transform:uppercase;letter-spacing:1px}.rfid-surface.disabled.svelte-9g0ol8.svelte-9g0ol8{opacity:.5;cursor:not-allowed}.modal-overlay.svelte-9g0ol8.svelte-9g0ol8{position:fixed;top:0;left:0;right:0;bottom:0;background:#000000b3;display:flex;justify-content:center;align-items:center;z-index:200;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal.svelte-9g0ol8.svelte-9g0ol8{background:var(--surface-200);border-radius:16px;border:1px solid var(--border-200);width:100%;max-width:350px;box-shadow:0 20px 60px #00000080}.modal-header.svelte-9g0ol8.svelte-9g0ol8{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid var(--border-100)}.modal-header.svelte-9g0ol8 h3.svelte-9g0ol8{margin:0;font-size:16px;color:var(--text-200);font-weight:600}.close-btn.svelte-9g0ol8.svelte-9g0ol8{background:transparent;border:none;padding:4px;cursor:pointer;border-radius:4px;transition:background .2s}.close-btn.svelte-9g0ol8.svelte-9g0ol8:hover{background:#ffffff1a}.close-icon.svelte-9g0ol8.svelte-9g0ol8{width:20px;height:20px;fill:var(--text-400)}.modal-body.svelte-9g0ol8.svelte-9g0ol8{padding:20px}label.svelte-9g0ol8.svelte-9g0ol8{display:block;font-size:13px;font-weight:500;color:var(--text-300);margin-bottom:8px}input.svelte-9g0ol8.svelte-9g0ol8{width:100%;padding:10px 12px;background:var(--surface-100);border:1px solid var(--border-200);border-radius:8px;color:var(--text-100);font-size:14px;font-family:Consolas,Monaco,monospace;box-sizing:border-box;transition:border-color .2s}input.svelte-9g0ol8.svelte-9g0ol8:focus{outline:none;border-color:var(--color-primary)}.modal-footer.svelte-9g0ol8.svelte-9g0ol8{display:flex;justify-content:flex-end;gap:12px;padding:16px 20px;border-top:1px solid var(--border-100)}.btn.svelte-9g0ol8.svelte-9g0ol8{padding:8px 20px;border-radius:8px;font-size:13px;font-weight:500;cursor:pointer;transition:background .2s}.btn-secondary.svelte-9g0ol8.svelte-9g0ol8{background:transparent;border:1px solid var(--border-200);color:var(--text-300)}.btn-secondary.svelte-9g0ol8.svelte-9g0ol8:hover{background:#ffffff0d}.btn-primary.svelte-9g0ol8.svelte-9g0ol8{background:var(--color-primary-bg);border:none;color:#fff}.btn-primary.svelte-9g0ol8.svelte-9g0ol8:hover{background:var(--color-primary-hover)}.qr-image.svelte-1tfemdt{width:115px;height:115px;border-radius:8px}:root{--page-bg-start:#1a1a2e;--page-bg-end:#16213e;--surface-100:#1a1a1a;--surface-200:#2a2a2a;--surface-300:#3a3a3a;--surface-header:#252525;--surface-topbar:rgba(30, 30, 30, .95);--border-100:#333;--border-200:#444;--text-100:#eee;--text-200:#ccc;--text-300:#aaa;--text-400:#888;--text-500:#666;--text-600:#555;--color-primary:#4a9eff;--color-primary-bg:#4a9eff;--color-primary-hover:#3a8eef;--color-success:#4caf50;--color-success-light:#81c784;--color-success-dark:#2e7d32;--color-warning:#ffaa00;--color-error:#f44336;--color-error-light:#ef9a9a;--color-error-dark:#c62828;--color-available:#00ff00;--color-connected:#00cc66;--color-msg-out:#00cc66;--color-msg-type:#cc99ff;--color-disconnect:#ff6666;--qr-color:#cccccc}body.theme-billbo{--page-bg-start:#1a1a1a;--page-bg-end:#121212;--surface-100:#1e1e1e;--surface-200:#2f2f2f;--surface-300:#3a3a3a;--surface-header:#282828;--surface-topbar:rgba(47, 47, 47, .95);--border-100:#3a3a3a;--border-200:#484848;--text-100:#eee;--text-200:#ccc;--text-300:#aaa;--text-400:#888;--text-500:#666;--text-600:#555;--color-primary:#b0dafa;--color-primary-bg:#041871;--color-primary-hover:#032060;--color-success:#00d75c;--color-success-light:#66e89e;--color-success-dark:#00a344;--color-warning:#d800ff;--color-error:#ba0160;--color-error-light:#e066a0;--color-error-dark:#8a0148;--color-available:#00d75c;--color-connected:#00d75c;--color-msg-out:#00d75c;--color-msg-type:#d800ff;--color-disconnect:#ba0160;--qr-color:#b0dafa}body{margin:0;padding:0;min-height:100vh;background:linear-gradient(135deg,var(--page-bg-start) 0%,var(--page-bg-end) 100%);display:flex;justify-content:center;align-items:center;font-family:Arial,sans-serif}#app{width:100%;min-height:100vh;display:flex;justify-content:center;align-items:center}main.svelte-755k0h.svelte-755k0h{display:flex;flex-direction:column;justify-content:center;align-items:center;padding:68px 20px 20px;gap:24px}.chargepoint-box.svelte-755k0h.svelte-755k0h{background:linear-gradient(180deg,var(--surface-300) 0%,var(--surface-200) 100%);border-radius:24px;padding:32px 48px;box-shadow:0 10px 40px #00000080,inset 0 1px #ffffff1a;border:2px solid var(--border-200)}.connectors.svelte-755k0h.svelte-755k0h{display:flex;gap:32px;align-items:center;justify-content:space-between}.connector.svelte-755k0h.svelte-755k0h{display:flex;flex-direction:column;align-items:center;gap:16px}.divider.svelte-755k0h.svelte-755k0h{width:2px;height:200px;background:linear-gradient(180deg,transparent 0%,var(--text-600) 20%,var(--text-600) 80%,transparent 100%)}.rfid-section.svelte-755k0h.svelte-755k0h{margin-top:24px;padding-top:24px;border-top:1px solid var(--border-200);display:flex;justify-content:space-between;align-items:center}.twn4-status.svelte-755k0h.svelte-755k0h{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:16px;font-size:12px;color:var(--text-400)}.twn4-dot.svelte-755k0h.svelte-755k0h{width:8px;height:8px;border-radius:50%;background:var(--text-600);flex:0 0 auto}.twn4-status.active.svelte-755k0h .twn4-dot.svelte-755k0h{background:var(--color-primary);box-shadow:0 0 6px var(--color-primary)}.meter-row.svelte-755k0h.svelte-755k0h{display:flex;align-items:center;gap:6px}.bolt.svelte-755k0h.svelte-755k0h{width:16px;height:16px;fill:var(--text-600);cursor:pointer;padding:9px;background:var(--surface-100);border:1px solid var(--border-100);border-radius:8px;box-sizing:content-box;transition:fill .2s,border-color .2s,box-shadow .2s}.bolt.svelte-755k0h.svelte-755k0h:hover{fill:var(--text-400);border-color:var(--text-600)}.bolt.active.svelte-755k0h.svelte-755k0h{fill:var(--color-warning);border-color:var(--color-warning);box-shadow:0 0 8px color-mix(in srgb,var(--color-warning) 30%,transparent)}.meter.svelte-755k0h.svelte-755k0h{font-family:Consolas,Monaco,monospace;font-size:16px;font-weight:700;color:var(--text-500);background:var(--surface-100);padding:8px 16px;border-radius:8px;border:1px solid var(--border-100);min-width:80px;text-align:center;transition:color .3s,border-color .3s,box-shadow .3s}.meter.charging.svelte-755k0h.svelte-755k0h{color:var(--color-primary);border-color:var(--color-primary);box-shadow:0 0 10px color-mix(in srgb,var(--color-primary) 30%,transparent)}.web-payment-banner.svelte-755k0h.svelte-755k0h{display:flex;align-items:center;gap:12px;margin-top:24px;padding-top:24px;border-top:1px solid var(--border-200);background:transparent;transition:color .3s}.web-payment-icon.svelte-755k0h.svelte-755k0h{color:var(--text-500);display:flex;align-items:center;flex-shrink:0;transition:color .3s}.web-payment-banner.started.svelte-755k0h .web-payment-icon.svelte-755k0h{color:var(--color-success)}.web-payment-banner.failed.svelte-755k0h .web-payment-icon.svelte-755k0h{color:var(--color-error)}.web-payment-text.svelte-755k0h.svelte-755k0h{display:flex;flex-direction:column;gap:2px;flex:1}.web-payment-label.svelte-755k0h.svelte-755k0h{color:var(--text-400);font-weight:700;font-size:14px;transition:color .3s}.web-payment-banner.started.svelte-755k0h .web-payment-label.svelte-755k0h{color:var(--color-success)}.web-payment-banner.failed.svelte-755k0h .web-payment-label.svelte-755k0h{color:var(--color-error)}.web-payment-detail.svelte-755k0h.svelte-755k0h{color:var(--text-500);font-size:12px;transition:color .3s}.web-payment-banner.started.svelte-755k0h .web-payment-detail.svelte-755k0h{color:var(--color-success-light)}.web-payment-banner.failed.svelte-755k0h .web-payment-detail.svelte-755k0h{color:var(--color-error-light)}.web-payment-countdown.svelte-755k0h.svelte-755k0h{font-family:Consolas,Monaco,monospace;font-size:18px;font-weight:700;color:var(--color-success);background:#0a1a0a;padding:4px 10px;border-radius:6px;border:1px solid var(--color-success-dark);min-width:40px;text-align:center}.web-payment-countdown.failed.svelte-755k0h.svelte-755k0h{color:var(--color-error);background:#1a0a0a;border-color:var(--color-error-dark)}
