:root{--bg-app: #0b0c0f;--bg-glow-start: #1a202e;--bg-panel: rgba(17, 19, 24, .8);--bg-card: linear-gradient(180deg, #171a20, #111318);--bg-input: #0e1116;--text-primary: #e9edf3;--text-muted: #8a94a5;--accent: #23c0ff;--accent-glow: rgba(35, 192, 255, .3);--ok: #39d98a;--warn: #ffcf5c;--err: #ff5d6c;--border: #232734;--border-light: rgba(255, 255, 255, .05);--shadow-card: 0 8px 24px rgba(0, 0, 0, .3);--shadow-glow: 0 0 20px var(--accent-glow);--radius-l: 16px;--radius-m: 12px;--radius-s: 8px;--nav-height-desktop: 64px;--nav-height-mobile: 70px;--safe-area-bottom: env(safe-area-inset-bottom, 0px);--skel-base: rgba(255, 255, 255, .03);--skel-highlight: rgba(255, 255, 255, .1);--transition-fast: .2s;--transition-base: .3s;--transition-slow: .4s;--transition-ease: cubic-bezier(.4, 0, .2, 1);--transition-bounce: cubic-bezier(.34, 1.56, .64, 1);--font-system: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--font-mono: "SF Mono", "Monaco", "Menlo", "Consolas", monospace;--accent-05: rgba(35, 192, 255, .05);--accent-08: rgba(35, 192, 255, .08);--accent-10: rgba(35, 192, 255, .1);--accent-15: rgba(35, 192, 255, .15);--accent-20: rgba(35, 192, 255, .2);--accent-25: rgba(35, 192, 255, .25);--accent-30: rgba(35, 192, 255, .3);--ok-10: rgba(57, 217, 138, .1);--ok-15: rgba(57, 217, 138, .15);--ok-20: rgba(57, 217, 138, .2);--ok-25: rgba(57, 217, 138, .25);--ok-30: rgba(57, 217, 138, .3);--err-10: rgba(255, 93, 108, .1);--err-15: rgba(255, 93, 108, .15);--err-20: rgba(255, 93, 108, .2);--err-25: rgba(255, 93, 108, .25);--warn-10: rgba(255, 207, 92, .1);--warn-15: rgba(255, 207, 92, .15);--warn-20: rgba(255, 207, 92, .2);--gap-xs: 4px;--gap-sm: 8px;--gap-md: 12px;--gap-lg: 16px;--gap-xl: 20px;--gap-2xl: 24px}html[data-theme=light]{--bg-app: #f0f2f5;--bg-glow-start: #e0f2fe;--bg-panel: rgba(255, 255, 255, .95);--bg-card: #ffffff;--bg-input: #f5f7fa;--text-primary: #1a1d24;--text-muted: #6b7280;--accent: #0080ff;--accent-glow: rgba(0, 128, 255, .2);--border: #e5e7eb;--border-light: rgba(0, 0, 0, .05);--shadow-card: 0 4px 20px rgba(0, 0, 0, .08);--shadow-glow: 0 0 10px var(--accent-glow);--skel-base: rgba(0, 0, 0, .05);--skel-highlight: rgba(0, 0, 0, .1)}html[data-theme=material]{--bg-app: #0f172a;--bg-glow-start: #1e293b;--bg-panel: rgba(15, 23, 42, .95);--bg-card: #1e293b;--bg-input: #334155;--text-primary: #f1f5f9;--text-muted: #94a3b8;--accent: #38bdf8;--accent-glow: rgba(56, 189, 248, .2);--border: #334155;--border-light: rgba(255, 255, 255, .08);--shadow-card: 0 4px 6px -1px rgba(0, 0, 0, .3), 0 2px 4px -1px rgba(0, 0, 0, .15);--shadow-glow: 0 0 15px var(--accent-glow)}html[data-theme=gold]{--bg-app: #0c0b0a;--bg-glow-start: #292524;--bg-panel: rgba(28, 25, 23, .9);--bg-card: linear-gradient(180deg, #1c1917, #131211);--bg-input: #151413;--text-primary: #e7e5e4;--text-muted: #a8a29e;--accent: #d4af37;--accent-glow: rgba(212, 175, 55, .25);--ok: #4ade80;--border: #44403c;--border-light: rgba(212, 175, 55, .1);--shadow-card: 0 10px 30px rgba(0, 0, 0, .5);--shadow-glow: 0 0 25px rgba(212, 175, 55, .15)}html[data-theme=gold] .btn.primary{background:linear-gradient(135deg,#d4af37,#b4941f);color:#000!important;font-weight:800;box-shadow:0 4px 20px #d4af374d}html[data-theme=light] .btn.primary{background:var(--accent);color:#fff!important}html[data-theme=light] .btn{background:#fff;color:var(--text-primary);border-color:var(--border)}html[data-theme=light] .kpi-box{background:linear-gradient(180deg,#fffc,#f0f2f5cc)}html[data-theme=light] .hero-banner{background-color:#fff;background-image:radial-gradient(600px circle at var(--mouse-x) var(--mouse-y),rgba(0,128,255,.1),transparent 40%);border:1px solid var(--border)}*{box-sizing:border-box;-webkit-tap-highlight-color:transparent;outline:none}html{height:100%;overscroll-behavior-y:none}body{margin:0;font-family:var(--font-system);background-color:var(--bg-app);background:radial-gradient(circle at 50% -20%,var(--bg-glow-start) 0%,var(--bg-app) 70%);background-attachment:fixed;background-size:cover;transition:background var(--transition-base) var(--transition-ease),color var(--transition-base);color:var(--text-primary);font-size:14px;line-height:1.5;min-height:100%;overflow-x:hidden;touch-action:pan-y}h1,h2,h3,h4{margin:0;font-weight:700;letter-spacing:-.02em;transition:color var(--transition-base)}h2{font-size:22px;margin-bottom:8px}h3{font-size:12px;text-transform:uppercase;letter-spacing:.1em;color:var(--text-muted);margin:16px 0 8px}.sub-text{color:var(--text-muted);font-size:13px;transition:color var(--transition-base)}.mono{font-family:var(--font-mono);letter-spacing:-.5px}@keyframes shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}@keyframes slideInTop{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border-width:0}.hidden{display:none!important}[data-display=block]:not(.hidden){display:block!important}[data-display=flex]:not(.hidden){display:flex!important}[data-display=grid]:not(.hidden){display:grid!important}[data-display=inline-flex]:not(.hidden){display:inline-flex!important}[data-display=inline-block]:not(.hidden){display:inline-block!important}[data-display=inline]:not(.hidden){display:inline!important}.block{display:block!important}.flex{display:flex!important}.flex-center{display:flex;align-items:center}.flex-between{display:flex;justify-content:space-between;align-items:center}.flex-column{display:flex;flex-direction:column}.mb-12{margin-bottom:12px}.mb-16{margin-bottom:16px}.mb-20{margin-bottom:20px}.mt-12{margin-top:12px}.mt-16{margin-top:16px}.mt-20{margin-top:20px}.text-muted{color:var(--text-muted)}.text-primary{color:var(--text-primary)}.text-center{text-align:center}[data-role=admin-only],[data-role=user-only]{display:none!important}body.role-admin .desktop-nav-links[data-role=admin-only],body.role-user .desktop-nav-links[data-role=user-only],body.role-admin .nav-link[data-role=admin-only],body.role-user .nav-link[data-role=user-only],body.role-admin .logout-link[data-role=admin-only],body.role-user .admin-switch-link[data-role=user-only]{display:flex!important}body.role-admin .admin-switch-link[data-role=user-only]{display:none!important}@media (max-width: 768px){body.role-admin .mobile-bottom-bar[data-role=admin-only],body.role-user .mobile-bottom-bar[data-role=user-only]{display:block!important}}@media (min-width: 769px){.mobile-bottom-bar[data-role=admin-only],.mobile-bottom-bar[data-role=user-only]{display:none!important}}body.role-admin .hero-session-header[data-role=admin-only]{display:grid!important}body.role-admin .card-pro[data-role=admin-only]{display:flex!important}body.role-admin .card[data-role=admin-only]{display:block!important}body.role-admin details[data-role=admin-only]{display:block!important}body.role-admin .control-setting-item[data-role=admin-only]{display:block!important}body.role-user .user-stats-shelves[data-role=user-only]{display:grid!important}body.role-user .user-charging-main[data-role=user-only]{display:block!important}body.role-user .user-charging-main[data-role=user-only] .user-charging-buttons[data-role=user-only],body.role-admin .control-mode-content .admin-charging-buttons[data-role=admin-only],body.role-user .user-force-unlock-container[data-role=user-only]{display:flex!important}@media (max-width: 768px){body.role-user .user-admin-switch-container[data-role=user-only]{display:flex!important}}@media (min-width: 769px){body.role-user .user-admin-switch-container[data-role=user-only]{display:none!important}}body.role-user .soc-progress-container[data-role=user-only]{display:block!important}.app-shell{display:none!important;flex-direction:column;min-height:100vh}.app-shell.initialized{display:flex!important}.main-container{flex:1;max-width:1100px;width:100%;margin:0 auto;padding:20px 16px;padding-top:calc(var(--nav-height-desktop) + 20px);padding-bottom:calc(var(--nav-height-mobile) + var(--safe-area-bottom) + 80px)}.grid-2{display:grid;grid-template-columns:1fr 1fr;gap:12px}.grid-main{display:grid;grid-template-columns:1fr;gap:16px}@media (min-width: 768px){.grid-main{grid-template-columns:1fr 1fr}}.tab-content{display:none;animation:fadeScale var(--transition-base) var(--transition-ease)}.tab-content.active{display:block}@keyframes fadeScale{0%{opacity:0;transform:scale(.98) translateY(10px)}to{opacity:1;transform:scale(1) translateY(0)}}.swipe-indicator{position:fixed;top:50%;transform:translateY(-50%);width:4px;height:180px;background:var(--accent);border-radius:4px;box-shadow:0 0 20px var(--accent);opacity:0;transition:opacity .2s;pointer-events:none;z-index:999}.swipe-indicator.left{left:4px}.swipe-indicator.right{right:4px}.mobile-logo-card{display:none;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-l);padding:8px 10px;margin-bottom:8px;box-shadow:var(--shadow-card);flex-direction:row;align-items:center;justify-content:center}.mobile-logo{height:auto;width:100%;max-width:100%;max-height:25px;object-fit:contain;transition:opacity .3s ease}@media (min-width: 769px){.mobile-logo-card{display:none!important}}@media (max-width: 768px){:root{--radius-l: 20px}.main-container{padding-top:20px;padding-left:12px;padding-right:12px}.mobile-logo-card{display:flex}}.desktop-topbar{position:fixed;top:0;left:0;right:0;z-index:100;height:var(--nav-height-desktop);background:var(--bg-panel);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-bottom:1px solid var(--border);display:flex;align-items:center;padding:0 20px;transition:background-color var(--transition-base),border-color var(--transition-base)}.topbar-content{max-width:1100px;width:100%;margin:0 auto;display:flex;align-items:center;justify-content:space-between}.brand{display:flex;align-items:center;gap:12px;font-weight:800;font-size:18px;color:var(--text-primary)}.brand-dot{width:10px;height:10px;background:var(--accent);border-radius:50%;box-shadow:var(--shadow-glow)}.brand-logo{height:24px;width:auto;max-width:160px;object-fit:contain;margin:0 20px;transition:opacity .3s ease}.desktop-nav-links{display:flex;gap:8px}.nav-link{background:transparent;border:none;color:var(--text-muted);padding:8px 14px;border-radius:var(--radius-s);font-weight:600;font-size:13px;cursor:pointer;transition:var(--transition-fast);display:flex;align-items:center;gap:6px}.nav-link:hover{color:var(--text-primary);background:var(--border-light)}.nav-link.active{color:var(--accent);background:#23c0ff1a}.nav-link i{font-size:16px;display:inline-flex;align-items:center;line-height:1}.nav-link span{display:inline-flex;align-items:center;line-height:1}.logout-link{margin-left:12px;padding:8px 14px 8px 16px;color:var(--text-muted);border-radius:var(--radius-s);position:relative}.logout-link:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:1px;height:60%;background:var(--border);opacity:.5;transition:opacity var(--transition-fast)}.logout-link:hover:before{opacity:.8;background:var(--border-light)}.logout-link:hover{color:var(--text-primary);background:var(--border-light)}.logout-link:active{color:var(--accent);background:#23c0ff1a}.logout-link:active:before{opacity:.3}.logout-link i{font-size:16px}.logout-link span{display:inline-flex;align-items:center;line-height:1}.admin-switch-link{margin-left:12px;padding:8px 14px 8px 16px;color:var(--text-muted);border-radius:var(--radius-s);position:relative;display:none}.admin-switch-link:before{content:"";position:absolute;left:0;top:50%;transform:translateY(-50%);width:1px;height:60%;background:var(--border);opacity:.5;transition:opacity var(--transition-fast)}.admin-switch-link:hover:before{opacity:.8;background:var(--border-light)}.admin-switch-link:hover{color:var(--text-primary);background:var(--border-light)}.admin-switch-link:active{color:var(--accent);background:#23c0ff1a}.admin-switch-link:active:before{opacity:.3}.admin-switch-link i{font-size:16px}.admin-switch-link span{display:inline-flex;align-items:center;line-height:1}.mobile-bottom-bar{display:none;position:fixed;bottom:0;left:0;right:0;z-index:100;background:var(--bg-panel);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);border-top:1px solid var(--border);padding-bottom:var(--safe-area-bottom);height:calc(var(--nav-height-mobile) + var(--safe-area-bottom));transition:background-color var(--transition-base),border-color var(--transition-base)}.mobile-nav-items{display:flex;height:var(--nav-height-mobile);align-items:center;justify-content:space-around}.mobile-tab{flex:1;display:flex;flex-direction:column;align-items:center;justify-content:center;background:none;border:none;color:var(--text-muted);cursor:pointer;transition:var(--transition-fast) ease;position:relative}.mobile-tab i{font-size:22px;margin-bottom:4px;transition:var(--transition-fast)}.mobile-tab span{font-size:10px;font-weight:600;letter-spacing:.5px}.mobile-tab.active{color:var(--accent)}.mobile-tab.active i{transform:translateY(-2px);filter:drop-shadow(0 4px 8px var(--accent-glow))}body.role-user .topbar-content{display:grid;grid-template-columns:1fr auto 1fr;align-items:center;gap:var(--gap-xl);width:100%}body.role-user .topbar-content .brand{justify-self:start}body.role-user .topbar-content .brand-logo{justify-self:center;margin:0}body.role-user .topbar-content .admin-switch-link{justify-self:end;margin-left:0}@media (max-width: 768px){.desktop-topbar{display:none}.mobile-bottom-bar{display:block}.brand-logo,.logout-link,.admin-switch-link{display:none}body.role-user .topbar-content{display:flex;grid-template-columns:none}}.btn{cursor:pointer;padding:var(--gap-md) 18px;border-radius:var(--radius-m);border:1px solid var(--border);background:linear-gradient(180deg,#ffffff0d,#ffffff03);color:var(--text-primary);font-weight:700;font-size:13px;transition:all var(--transition-fast);display:inline-flex;align-items:center;justify-content:center;gap:var(--gap-sm);will-change:transform}.btn.hidden{display:none!important}.btn:active{transform:scale(.97) translateZ(0)}.btn.primary{border:none;background:linear-gradient(180deg,var(--accent),#0077b6);color:#fff!important;box-shadow:0 4px 15px var(--accent-glow)}.btn.primary.danger{background:linear-gradient(180deg,var(--err),#c53030);box-shadow:0 4px 15px #ef44444d}.btn.primary.danger:hover{background:linear-gradient(180deg,#dc2626,#b91c1c);box-shadow:0 4px 20px #ef444466}.btn.block{width:100%}.btn.ghost{background:transparent;border-color:transparent;color:var(--text-muted)}.btn.ghost:hover{background:var(--border-light);color:var(--text-primary)}.btn-link{background:none!important;border:none!important;color:var(--text-muted);font-size:13px;cursor:pointer;text-decoration:underline;text-decoration-color:transparent;transition:var(--transition-fast);padding:8px;font-weight:500}.btn-link:hover{color:var(--accent);text-decoration-color:var(--accent)}.btn.secondary{background:linear-gradient(180deg,#ffffff0d,#ffffff03);border-color:var(--border)}.btn-link-small{font-size:12px}.card{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-l);padding:20px;box-shadow:var(--shadow-card);position:relative;overflow:visible;transition:background .3s,border-color .3s}@property --mouse-x{syntax: "<length-percentage>"; inherits: false; initial-value: 100%;}@property --mouse-y{syntax: "<length-percentage>"; inherits: false; initial-value: 0%;}.hero-banner{position:relative;background-color:#111318;--mouse-x: 100%;--mouse-y: 0%;background-image:radial-gradient(600px circle at var(--mouse-x) var(--mouse-y),rgba(35,192,255,.15),transparent 40%),linear-gradient(180deg,#1a1d24,#111318);padding:24px;display:flex;justify-content:space-between;align-items:center;flex-wrap:nowrap;transition:--mouse-x .6s ease,--mouse-y .6s ease,border-color var(--transition-base)}.hero-banner:hover{border-color:#23c0ff4d}html[data-theme=material] .hero-banner{background-image:radial-gradient(600px circle at var(--mouse-x) var(--mouse-y),rgba(56,189,248,.15),transparent 40%),linear-gradient(180deg,#334155,#1e293b);border-color:#38bdf833}html[data-theme=gold] .hero-banner{background-image:radial-gradient(600px circle at var(--mouse-x) var(--mouse-y),rgba(212,175,55,.2),transparent 40%),linear-gradient(180deg,#292524,#1c1917);border-color:#d4af374d}.kpi-box{padding:14px 12px;border:1px solid var(--border);border-radius:var(--radius-m);background:linear-gradient(180deg,#1a1e2699,#0e1014b3);display:flex;flex-direction:column;justify-content:center;transition:all var(--transition-base) var(--transition-ease);box-shadow:0 2px 8px #0000001a;position:relative;overflow:hidden}.kpi-box:hover{border-color:var(--border-light);box-shadow:0 4px 12px #00000026;transform:translateY(-1px)}.kpi-label{font-size:11px;color:var(--text-muted);margin-bottom:4px;text-transform:uppercase;letter-spacing:.5px;font-weight:600}.kpi-value{font-family:var(--font-mono);font-size:22px;font-weight:800;color:var(--text-primary);line-height:1.1;letter-spacing:-.5px;display:flex;align-items:baseline;gap:4px}.kpi-unit{font-family:var(--font-system);font-size:9px;color:var(--text-muted);margin-left:2px;font-weight:500;text-transform:uppercase;letter-spacing:.5px;opacity:.7}html[data-theme=material] .kpi-box{background:linear-gradient(180deg,#38bdf81a,#0f172a99);border-color:#38bdf833;box-shadow:inset 0 0 20px #38bdf80d}html[data-theme=gold] .kpi-box{background:linear-gradient(180deg,#d4af3726,#1c1917cc);border-color:#d4af374d;box-shadow:0 4px 15px #0000004d}.input-field{background:var(--bg-input);border:1px solid var(--border);color:var(--text-primary);padding:12px;border-radius:var(--radius-m);width:100%;font-weight:600;transition:var(--transition-fast)}.input-field:focus{border-color:var(--accent)}.input-field.error{border-color:var(--err);box-shadow:0 0 0 1px #ff5d6c33}.input-field.error:focus{border-color:var(--err);box-shadow:0 0 0 1px #ff5d6c4d}.custom-checkbox{display:flex;align-items:center;cursor:pointer;user-select:none}.custom-checkbox input{display:none}.checkmark{width:22px;height:22px;background:var(--bg-input);border:1px solid var(--border);border-radius:6px;margin-right:12px;display:grid;place-items:center;transition:all var(--transition-fast)}html[data-theme=light] .checkmark{background:#0000000d}.custom-checkbox input:checked+.checkmark{background:var(--accent);border-color:var(--accent);box-shadow:0 0 10px var(--accent-glow)}.checkmark i{color:#fff;font-size:14px;opacity:0;transform:scale(.5);transition:all var(--transition-fast) var(--transition-bounce)}.custom-checkbox input:checked+.checkmark i{opacity:1;transform:scale(1)}html[data-theme=light] .custom-checkbox input:checked+.checkmark i{color:#fff}input[type=number]::-webkit-inner-spin-button,input[type=number]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield}.stepper-wrapper{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-m);display:flex;align-items:center;padding:4px;gap:4px;height:50px;transition:var(--transition-fast)}.stepper-wrapper.error{border-color:var(--err);box-shadow:0 0 0 1px #ff5d6c33}.stepper-btn{width:40px;height:100%;border-radius:var(--radius-s);border:none;background:#ffffff08;color:var(--text-muted);font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;padding:0;margin:0;flex-shrink:0}.stepper-btn i{display:inline-flex;align-items:center;justify-content:center;line-height:1;font-size:18px;width:18px;height:18px}html[data-theme=light] .stepper-btn{background:#0000000d}.stepper-btn:hover{background:var(--border-light);color:var(--text-primary)}.stepper-btn:active{background:var(--accent-glow);color:var(--accent);transform:scale(.9)}.stepper-input{background:transparent;border:none;color:var(--text-primary);font-family:var(--font-mono);font-size:18px;font-weight:700;text-align:center;flex:1;min-width:50px;outline:none}.stepper-wrapper:has(.stepper-input.error){border-color:var(--err);box-shadow:0 0 0 1px #ff5d6c33}.device-input-field{width:180px!important;min-width:180px!important;flex-shrink:0}@media (min-width: 768px){.device-input-field{width:250px!important;min-width:250px!important}}input[type=range]{width:100%;accent-color:var(--accent)}.ev-slider-container{margin-bottom:0}.ev-slider-wrapper{position:relative;height:44px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-m);overflow:hidden;background-image:linear-gradient(90deg,var(--border-light) 1px,transparent 1px);background-size:10% 100%;box-shadow:0 2px 8px #0000001a;transition:all var(--transition-fast)}.ev-slider-wrapper:hover{border-color:var(--border-light);box-shadow:0 4px 12px #00000026}.ev-slider-fill{width:var(--slider-width, 0%);height:100%;background:linear-gradient(90deg,rgba(35,192,255,.4),var(--accent));box-shadow:0 0 15px var(--accent-glow);transition:width .1s ease-out;position:absolute;top:0;left:0;border-right:2px solid rgba(255,255,255,.5)}.ev-slider-input{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer;z-index:5}.ev-slider-value-display{position:absolute;right:12px;top:50%;transform:translateY(-50%);font-family:var(--font-mono);font-size:16px;font-weight:700;color:var(--text-primary);z-index:2;pointer-events:none;text-shadow:0 0 10px var(--bg-app)}html[data-theme=light] .ev-slider-value-display{color:#111827;text-shadow:none}.test-slider-container{margin-bottom:6px}.test-slider-label{display:flex;justify-content:space-between;font-size:11px;color:var(--text-muted);margin-bottom:6px;text-transform:uppercase;font-weight:700;letter-spacing:.5px}.test-slider-wrapper{position:relative;height:36px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-m);overflow:hidden;background-image:linear-gradient(90deg,var(--border-light) 1px,transparent 1px);background-size:11.11% 100%;box-shadow:inset 0 1px 2px #0000000d;transition:all var(--transition-fast)}.test-slider-wrapper:hover{border-color:var(--border-light);box-shadow:inset 0 1px 2px #00000014}.test-slider-fill{width:var(--slider-width, 0%);height:100%;background:linear-gradient(90deg,rgba(35,192,255,.35),var(--accent));box-shadow:0 0 12px var(--accent-glow);transition:width .1s ease-out;position:absolute;top:0;left:0;border-right:2px solid rgba(255,255,255,.4)}.test-slider-input{position:absolute;top:0;left:0;width:100%;height:100%;opacity:0;cursor:pointer;z-index:5}.test-slider-value-display{position:absolute;right:10px;top:50%;transform:translateY(-50%);font-family:var(--font-mono);font-size:14px;font-weight:700;color:var(--text-primary);z-index:2;pointer-events:none;text-shadow:0 0 8px var(--bg-app);letter-spacing:-.3px}html[data-theme=light] .test-slider-value-display{color:#111827;text-shadow:none}.custom-select-container{position:relative;width:100%}.custom-select-trigger{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-s);padding:12px;font-size:13px;color:var(--text-primary);display:flex;justify-content:space-between;align-items:center;cursor:pointer;transition:var(--transition-fast)}.custom-select-trigger:hover{border-color:var(--text-muted)}.custom-select-trigger.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-20)}.custom-select-options{position:absolute;bottom:calc(100% + 6px);top:auto;left:0;right:0;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-s);overflow:hidden;z-index:200;opacity:0;visibility:hidden;transform:translateY(10px);transition:var(--transition-fast) var(--transition-ease);box-shadow:0 10px 30px #00000080}@media (min-width: 768px){.custom-select-options{top:calc(100% + 6px);bottom:auto;transform:translateY(-10px)}}.custom-select-options.open{opacity:1;visibility:visible;transform:translateY(0)}.custom-option{padding:12px;font-size:13px;color:var(--text-muted);cursor:pointer;transition:var(--transition-fast);display:flex;align-items:center;gap:8px}.custom-option:hover{background:var(--bg-input);color:var(--text-primary)}.custom-option.selected{background:var(--accent-10);color:var(--accent)}.test-mode-switch{display:flex;align-items:center}.ios-toggle{display:none}.ios-toggle-label{display:flex;align-items:center;cursor:pointer;user-select:none;gap:12px;width:100%}.ios-toggle-text{font-size:13px;font-weight:600;color:var(--text-primary);flex:1}.ios-toggle-switch{position:relative;width:44px;height:24px;background:var(--bg-input);border:1px solid var(--border);border-radius:24px;transition:all var(--transition-base) var(--transition-bounce);flex-shrink:0}.ios-toggle-switch:after{content:"";position:absolute;top:2px;left:2px;width:18px;height:18px;background:var(--text-muted);border-radius:50%;box-shadow:0 2px 4px #0000004d;transition:all var(--transition-base) var(--transition-bounce)}.ios-toggle:checked+.ios-toggle-label .ios-toggle-switch{background:var(--accent);border-color:var(--accent);box-shadow:0 0 15px var(--accent-glow)}.ios-toggle:checked+.ios-toggle-label .ios-toggle-switch:after{background:#fff;transform:translate(20px)}.ios-toggle-label:hover .ios-toggle-switch{border-color:var(--accent)}.badge-group{display:flex;flex-wrap:wrap;gap:var(--gap-sm);row-gap:var(--gap-sm);margin-top:var(--gap-md)}.relay-group{margin-top:0;margin-bottom:0}#card_equipment_wrapper .sub-text:has(+.relay-group){margin-bottom:0}.badge{display:inline-flex;align-items:center;gap:var(--gap-sm);padding:6px 10px;border-radius:20px;background:#ffffff08;font-size:11px;font-weight:600;color:var(--text-muted);border:1px solid var(--border)}html[data-theme=light] .badge{background:#0000000d}.badge .dot{width:8px;height:8px;border-radius:50%;background:currentColor;opacity:.7}.badge.ok{color:var(--ok);background:var(--ok-10);border-color:var(--ok-20)}.badge.warn{color:var(--warn);background:var(--warn-10);border-color:var(--warn-20)}.badge.err{color:var(--err);background:var(--err-10);border-color:var(--err-20)}html[data-theme=gold] .hero-banner .badge.ok{background:#d4af3726;border-color:#d4af3766;color:#d4af37}html[data-theme=gold] .hero-banner .badge.ok .dot{background-color:#d4af37;box-shadow:0 0 8px #d4af37}@media (max-width: 768px){.hero-banner .badge{max-width:120px}.hero-banner .badge span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;display:inline-block;max-width:100%}}.toast-container{position:fixed;top:var(--gap-xl);right:var(--gap-xl);z-index:10000;display:flex;flex-direction:column;gap:var(--gap-md);pointer-events:none}.toast{pointer-events:auto;min-width:300px;max-width:360px;background:var(--bg-panel);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid var(--border);border-left:4px solid var(--accent);border-radius:var(--radius-m);box-shadow:0 10px 40px #0003;position:relative;overflow:hidden;transform:translate(0);transition:all var(--transition-base) var(--transition-ease);animation:slideInRight .4s var(--transition-ease);touch-action:none;cursor:grab}.toast-content{padding:var(--gap-lg);display:flex;gap:var(--gap-md);align-items:start}.toast-icon{font-size:20px;flex-shrink:0;margin-top:2px}.toast-body{flex:1}.toast-title{font-weight:700;font-size:14px;margin-bottom:4px;color:var(--text-primary)}.toast-message{font-size:12px;color:var(--text-muted);line-height:1.4}.toast-close{cursor:pointer;color:var(--text-muted);background:transparent;border:none;padding:0;font-size:18px;opacity:.6;transition:var(--transition-fast)}.toast-close:hover{opacity:1}.toast-progress{position:absolute;bottom:0;left:0;height:3px;background:currentColor;width:100%;transform-origin:left}@keyframes slideInRight{0%{opacity:0;transform:translate(100%)}to{opacity:1;transform:translate(0)}}@keyframes progressLinear{0%{transform:scaleX(1)}to{transform:scaleX(0)}}.toast.hiding{opacity:0;transform:translate(20px) scale(.95)}.modal-backdrop{position:fixed;inset:0;z-index:11000;background:#000000b3;backdrop-filter:blur(5px);display:flex;align-items:center;justify-content:center;opacity:0;visibility:hidden;pointer-events:none;transition:opacity var(--transition-base),visibility var(--transition-base)}html[data-theme=light] .modal-backdrop{background:#ffffff80}.modal-backdrop.visible{opacity:1;visibility:visible;pointer-events:all}.modal{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-l);width:90%;max-width:360px;padding:24px;box-shadow:0 20px 50px #00000080;transform:translateY(20px);transition:transform var(--transition-base) var(--transition-ease)}.modal-backdrop.visible .modal{transform:translateY(0)}.modal-warning{margin-top:var(--gap-md);margin-bottom:16px;padding:var(--gap-md);background:var(--warn-10);border-radius:var(--radius-s);color:var(--warn);font-size:12px;display:flex;gap:var(--gap-sm);align-items:center;border:1px solid var(--warn-20)}.loader-overlay{position:fixed;inset:0;z-index:20000;background:var(--bg-app);display:flex;justify-content:center;align-items:center;opacity:0;pointer-events:none;transition:opacity var(--transition-base) ease}.loader-overlay.visible{opacity:1;pointer-events:all}.loader-content{text-align:center;display:flex;flex-direction:column;align-items:center;position:relative;transform:none}.spinner-ring{width:56px;height:56px;border:3px solid var(--border);border-top-color:var(--accent);border-right-color:var(--accent);border-radius:50%;animation:spin .8s linear infinite;box-shadow:0 0 25px var(--accent-glow);transform-origin:center;will-change:transform}.loader-text{margin-top:24px;font-family:var(--font-system);text-transform:uppercase;letter-spacing:1.5px;font-size:12px;font-weight:700;color:var(--text-primary);animation:pulse 1.5s infinite ease-in-out;transform:none!important;will-change:opacity}@keyframes spin{to{transform:rotate(360deg)}}@keyframes pulse{0%,to{opacity:.6}50%{opacity:1}}.loading-data{position:relative;color:transparent!important;background:linear-gradient(90deg,var(--skel-base) 25%,var(--skel-highlight) 50%,var(--skel-base) 75%)!important;background-size:200% 100%!important;animation:shimmer 1.5s infinite linear!important;border-radius:4px;pointer-events:none;user-select:none;display:inline-block;vertical-align:middle}.loading-data,.loading-data *,.loading-data *[style*=color]{color:transparent!important}.loading-data[style*="display:flex"],.loading-data[style*="display: flex"]{display:flex!important}h2.loading-data{display:block!important;width:60%;height:24px;margin-bottom:8px;border-radius:6px}.sub-text.loading-data{display:block!important;width:40%;height:16px;margin-top:4px;border-radius:4px}.kpi-value.loading-data{width:60px;height:1em;display:inline-block}.badge.loading-data{min-width:60px;height:20px;border-color:transparent!important}input.loading-data{border-color:transparent!important;color:transparent!important}@media (max-width: 768px){.toast-container{top:20px;right:auto;left:50%;transform:translate(-50%);width:90%;max-width:400px}.toast{min-width:auto;width:100%;animation:slideInTop .4s cubic-bezier(.2,.8,.2,1)}.toast.hiding{transform:translateY(-20px) scale(.95)}@keyframes slideInTop{0%{opacity:0;transform:translateY(-100%)}to{opacity:1;transform:translateY(0)}}}details{margin-bottom:10px;border:1px solid var(--border);border-radius:var(--radius-m);overflow:hidden;background:#0000000d}summary{padding:12px 16px;cursor:pointer;font-weight:600;color:var(--text-muted);display:flex;align-items:center;justify-content:space-between;transition:.2s;outline:none}summary:hover{color:var(--text-primary);background:#ffffff05}summary::-webkit-details-marker{display:none}summary:after{content:"+";font-size:16px;font-weight:700}details[open] summary:after{content:"−"}.logs-container{display:grid;grid-template-columns:1.2fr .8fr;gap:14px;margin-top:14px}.log-card-wrapper{display:flex;flex-direction:column;gap:8px}.log-card-header{display:flex;align-items:center;justify-content:space-between;padding:0 4px}.log-card-title{font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px}.log-clear-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;padding:0;border:none;border-radius:var(--radius-s);background:transparent;color:var(--text-muted);cursor:pointer;transition:all var(--transition-fast) var(--transition-ease);outline:none;-webkit-tap-highlight-color:transparent;touch-action:manipulation}.log-clear-btn:hover{background:var(--err-10);color:var(--err);transform:scale(1.05)}.log-clear-btn:active{transform:scale(.95);background:var(--err-15)}.log-clear-btn i{font-size:16px;line-height:1}.log-card{height:240px;overflow-y:auto;overflow-x:hidden;font-size:12px;background:var(--bg-input);border-radius:var(--radius-m);border:1px solid var(--border);padding:10px;font-family:var(--font-mono);color:var(--text-muted);position:relative}.log-card::-webkit-scrollbar{width:8px;height:8px}.log-card::-webkit-scrollbar-track{background:transparent;border-radius:var(--radius-s)}.log-card::-webkit-scrollbar-thumb{background:var(--border);border-radius:var(--radius-s);border:2px solid transparent;background-clip:padding-box;transition:background var(--transition-fast) var(--transition-ease)}.log-card::-webkit-scrollbar-thumb:hover{background:var(--accent-30);background-clip:padding-box}.log-card::-webkit-scrollbar-thumb:active{background:var(--accent);background-clip:padding-box}.log-card{scrollbar-width:thin;scrollbar-color:var(--border) transparent}.log-card:hover{scrollbar-color:var(--accent-30) transparent}.logrow{display:flex;align-items:flex-start;gap:8px;padding:6px 0;border-bottom:1px dashed var(--border-light);font-family:var(--font-mono);font-size:11px;line-height:1.4;word-wrap:break-word;overflow-wrap:break-word}.logrow .ts{color:var(--text-muted);min-width:85px;width:85px;flex-shrink:0;opacity:.7;font-size:10px;line-height:1.3;white-space:nowrap}.logrow .lvl{padding:2px 5px;border-radius:4px;font-weight:800;text-transform:uppercase;font-size:9px;min-width:50px;width:50px;flex-shrink:0;text-align:center;letter-spacing:.3px;line-height:1.2;white-space:nowrap}.logrow .lvl.info{background:#23c0ff1a;color:var(--accent);border:1px solid rgba(35,192,255,.2)}.logrow .lvl.warn{background:#ffcf5c1a;color:var(--warn);border:1px solid rgba(255,207,92,.2)}.logrow .lvl.err,.logrow .lvl.error{background:#ff5d6c1a;color:var(--err);border:1px solid rgba(255,93,108,.2)}.logrow .lvl.success{background:#39d98a1a;color:var(--ok);border:1px solid rgba(57,217,138,.2)}.logrow span:last-child{color:var(--text-primary);flex:1;min-width:0;word-break:break-word;overflow-wrap:break-word}@media (max-width: 768px){.logs-container{grid-template-columns:1fr;gap:12px}.log-card{height:200px;padding:8px;font-size:11px}.log-card-header{padding:0 2px}.log-card-title{font-size:11px}.log-clear-btn{width:36px;height:36px}.log-clear-btn i{font-size:18px}.logrow{gap:6px;padding:5px 0;font-size:10px}.logrow .ts{min-width:70px;width:70px;font-size:9px}.logrow .lvl{min-width:48px;width:48px;padding:2px 4px;font-size:8px;letter-spacing:.2px}.logrow span:last-child{font-size:10px}}@media (hover: none) and (pointer: coarse){.log-clear-btn{min-width:44px;min-height:44px}.log-card::-webkit-scrollbar{width:12px}.logrow{gap:6px;padding:6px 0}.logrow .ts{min-width:72px;width:72px}.logrow .lvl{min-width:50px;width:50px}}@media (max-width: 480px){.log-card{padding:6px;font-size:10px}.logrow{gap:5px;padding:4px 0;font-size:9px}.logrow .ts{min-width:68px;width:68px;font-size:8px}.logrow .lvl{min-width:45px;width:45px;padding:1px 3px;font-size:7px}.logrow span:last-child{font-size:9px}}.modal-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.modal-header h2{margin:0;font-size:18px}.modal-sub-text{margin-bottom:16px}.modal-input-spaced{margin-top:16px}.modal-sub-text-large{margin-bottom:20px}.modal-sub-text-large b{color:var(--text-primary);font-size:15px}.modal-sub-text b{color:var(--text-primary)}.modal-icon{font-size:16px}.modal-icon-large{font-size:20px;color:var(--err);flex-shrink:0;margin-top:1px}.modal-icon-huge{font-size:40px;color:var(--accent);margin-bottom:10px;display:block}.modal-icon-huge.modal-icon-danger{color:var(--err)}.modal-warning-box{background:#ef44441a;border:1px solid var(--err);border-radius:6px;padding:12px;margin-bottom:12px;display:flex;gap:12px;align-items:flex-start}.modal-warning-title{font-weight:700;color:var(--err);font-size:13px;margin-bottom:4px}.modal-warning-text{font-size:12px;line-height:1.4;color:var(--text-primary);opacity:.8}.modal-content-center{text-align:center;margin-bottom:20px}.modal-content-center h2.modal-header{text-align:center;display:block;width:100%;margin:0 auto;justify-content:center}.modal-content-center .sub-text{margin-top:8px;color:var(--text-primary)}.modal-grid-2{margin-top:20px}.modal-grid-2-large{margin-top:24px}#userInfoModal .modal{max-width:600px;width:90%;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}@media (min-width: 768px){#userInfoModal .modal{max-width:700px;max-height:85vh}}#userInfoModal .modal-info{display:flex;flex-direction:column;max-height:100%;overflow:hidden}#userInfoModal .modal-header,#userInfoModal .modal-sub-text{flex-shrink:0}#userInfoModal .user-info-content{flex:1;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;min-height:0;padding-right:4px;margin-right:-4px;padding-top:4px}@media (max-width: 767px){#userInfoModal .user-info-content{max-height:200px;flex:0 1 auto}}#userInfoModal .user-info-content::-webkit-scrollbar{width:6px}#userInfoModal .user-info-content::-webkit-scrollbar-track{background:transparent}#userInfoModal .user-info-content::-webkit-scrollbar-thumb{background:var(--border);border-radius:3px}#userInfoModal .user-info-content::-webkit-scrollbar-thumb:hover{background:var(--text-muted)}#userInfoModal .modal-info-footer{flex-shrink:0}.user-info-content{display:grid;grid-template-columns:1fr;gap:12px;margin-bottom:24px}@media (min-width: 640px){.user-info-content{grid-template-columns:repeat(2,1fr)}}.user-info-item{display:flex;align-items:flex-start;gap:16px;padding:16px;background:linear-gradient(135deg,#ffffff08,#ffffff03);border:1px solid var(--border);border-radius:var(--radius-m);transition:all var(--transition-fast);position:relative;overflow:hidden;flex-shrink:0;isolation:isolate;contain:layout style paint}.user-info-item:before{content:"";position:absolute;top:0;left:0;width:3px;height:100%;background:var(--accent);opacity:0;transition:opacity var(--transition-fast);border-radius:var(--radius-m) 0 0 var(--radius-m);z-index:0}.user-info-item:hover{background:linear-gradient(135deg,#23c0ff14,#23c0ff08);border-color:var(--accent);transform:translateY(-1px);box-shadow:0 4px 12px #0000001a}.user-info-item:hover:before{opacity:1}@media (max-width: 767px){.user-info-item{-webkit-transform:translateZ(0);transform:translateZ(0);will-change:transform;-webkit-backface-visibility:hidden;backface-visibility:hidden}.user-info-item:before{top:2px;bottom:2px;left:0;height:calc(100% - 4px);width:3px;border-radius:var(--radius-m) 0 0 var(--radius-m);overflow:hidden}}.user-info-icon{display:flex;align-items:center;justify-content:center;width:40px;height:40px;min-width:40px;background:linear-gradient(135deg,var(--accent-15),var(--accent-08));border-radius:var(--radius-s);color:var(--accent);font-size:20px;flex-shrink:0;transition:all var(--transition-fast)}.user-info-item:hover .user-info-icon{background:linear-gradient(135deg,var(--accent-25),var(--accent-15));transform:scale(1.05);box-shadow:0 2px 8px var(--accent-glow)}.user-info-details{flex:1;display:flex;flex-direction:column;gap:6px;min-width:0}.user-info-label{font-size:11px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:.8px;margin-bottom:2px}.user-info-value{font-size:15px;font-weight:600;color:var(--text-primary);word-break:break-word;line-height:1.4}.user-info-value:empty:before{content:"-";color:var(--text-muted);font-weight:400;font-style:italic}.modal-info-footer{margin-top:24px;padding-top:20px;border-top:1px solid var(--border)}.modal-info-footer .btn{max-width:200px;margin:0 auto}#systemMessagesModal .modal{max-width:700px;width:92%;max-height:90vh;display:flex;flex-direction:column;overflow:hidden}@media (min-width: 768px){#systemMessagesModal .modal{max-width:760px;max-height:85vh}}#systemMessagesModal .modal-info{display:flex;flex-direction:column;max-height:100%;overflow:hidden}#systemMessagesModal .modal-header,#systemMessagesModal .modal-sub-text,#systemMessagesModal #systemMessagesEmpty,#systemMessagesModal .modal-info-footer{flex-shrink:0}.system-messages-list{display:flex;flex-direction:column;gap:12px;flex:1 1 auto;min-height:0;max-height:none;overflow-y:auto;padding-right:4px;margin-right:-4px;margin-bottom:12px}@media (max-width: 767px){#systemMessagesModal .modal{width:calc(100% - 24px);max-height:90vh;padding:16px}#systemMessagesModal .modal-header h2{font-size:16px}.system-messages-list{gap:10px;margin-bottom:10px}}.system-message-item{background:var(--bg-input);border:1px solid var(--border);border-radius:10px;padding:12px}.system-message-header{display:flex;justify-content:space-between;align-items:center;gap:10px;margin-bottom:6px}.system-message-title{font-weight:700;font-size:14px}.system-message-body{font-size:12px;color:var(--text-primary);opacity:.8;line-height:1.4;white-space:pre-wrap;word-break:break-word}.system-message-badge{font-size:10px;padding:2px 8px;border-radius:999px;background:var(--bg);color:var(--text-muted);border:1px solid var(--border);text-transform:uppercase;letter-spacing:.3px}.system-message-badge.warning{background:#f59e0b1f;color:var(--warn);border-color:#f59e0b4d}.system-message-badge.error{background:#ef44441f;color:var(--err);border-color:#ef44444d}.system-message-badge.success{background:#39d98a1f;color:var(--ok);border-color:#39d98a4d}.system-message-badge.info{background:#3b82f61f;color:var(--accent);border-color:#3b82f64d}.status-list-item{display:flex;justify-content:space-between;align-items:center;padding:14px 0;border-bottom:1px dashed var(--border);font-size:13px}.status-list-item:last-child{border-bottom:none}.status-list-item>span:last-child{display:inline-flex;align-items:center;gap:6px}.status-list-item>span:last-child i{display:inline-flex;align-items:center;vertical-align:middle}.hero-banner-full{grid-column:1 / -1}.badge-station-state{font-size:13px;padding:8px 14px}.status-list-container{margin-top:12px}.logout-button-container{display:flex;justify-content:center;align-items:center;padding:var(--gap-lg) 0}@media (min-width: 769px){#home_logout_card{display:none!important}}@media (max-width: 768px){#home_logout_card{display:block}}.logout-button{width:100%;max-width:400px;display:flex;align-items:center;justify-content:center;gap:var(--gap-sm);font-size:13px;font-weight:700;padding:var(--gap-md) var(--gap-xl);border-radius:var(--radius-m);border:1px solid var(--border);background:linear-gradient(180deg,#ffffff0d,#ffffff03);color:var(--text-primary);transition:all var(--transition-fast);cursor:pointer}.logout-button:hover{background:linear-gradient(180deg,#ffffff14,#ffffff08);border-color:var(--border-light);transform:translateY(-1px);box-shadow:0 2px 8px #0000001a}.logout-button:active{transform:scale(.98) translateY(0)}.logout-button i{font-size:16px}.status-value-accent{font-weight:700;color:var(--accent)}.status-value-accent i{vertical-align:middle}.status-value-ok{color:var(--ok)}.badge-group-inline{display:flex;gap:8px;align-items:center}#monitor{position:relative;min-height:100%}.monitor-grid-pro{display:grid;grid-template-columns:1fr;gap:var(--gap-lg);position:relative;z-index:1}.monitor-connectors-container{display:flex;flex-direction:column;gap:var(--gap-lg)}.monitor-connector-divider{display:flex;align-items:center;gap:12px;color:var(--text-muted);font-weight:600;letter-spacing:.06em;text-transform:uppercase}.monitor-connector-divider:before,.monitor-connector-divider:after{content:"";flex:1;height:1px;background:var(--border-light)}.monitor-connector-divider span{white-space:nowrap}.monitor-connector-block{display:block}#monitor>*{position:relative;z-index:2}.card-pro,.hero-session-header,.charging-stage-dashboard{background:var(--bg-card);position:relative;z-index:2}@media (min-width: 1000px){.monitor-grid-pro{grid-template-columns:1fr 1.2fr 1fr}}@media (max-width: 999px){.monitor-grid-pro{display:flex;flex-direction:column}#card_control_wrapper{order:1}#card_ev_wrapper{order:2}#card_equipment_wrapper{order:3}}.hero-stat-value-container{display:flex;align-items:baseline;gap:4px}.hero-stat-value-container .value.loading-data{min-width:80px;display:inline-block!important;opacity:1!important;background:linear-gradient(90deg,var(--skel-base) 25%,var(--skel-highlight) 50%,var(--skel-base) 75%)!important;background-size:200% 100%!important}.hero-stat-value-container:has(.value.loading-data) .unit{display:none}.hero-stat-border{border-left:1px solid var(--border-light);border-right:1px solid var(--border-light)}.hero-stat-value-ok{color:var(--ok)}.card-pro-title-icon{margin-right:6px}.card-pro-control-wrapper{position:relative;border-color:#23c0ff33;overflow:hidden}.card-pro-title-text{color:var(--text-primary)}.card-pro-title-text i{margin-right:6px;color:var(--accent)}.control-mode-badge-inline{background:#ffffff0d;border:none}.control-mode-badge-short-inline{display:none}.charge-permit-buttons{margin-bottom:16px;display:none}.charge-permit-button{width:100%}.control-settings-header-icon{color:var(--accent);font-size:14px}.control-setting-label-icon{font-size:12px;margin-right:6px;opacity:.7}.ev-slider-container-inline{margin-top:12px}.ev-slider-fill-inline{width:var(--slider-width, 0%)}.admin-charging-buttons{display:flex;flex-direction:column;gap:var(--gap-md);margin-top:12px}.admin-charging-buttons .admin-charge-button{width:100%}.force-unlock-button{width:100%;margin-top:12px}.card-pro-equipment-title-icon{margin-right:6px}.details-summary{font-size:11px}.details-content{padding:8px}.details-content-item{margin-bottom:4px}.details-content-item:last-child{margin-bottom:0}.test-slider-fill-inline{width:var(--slider-width, 0%)}.general-logs-details{margin-top:16px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-m)}.general-logs-summary{background:#ffffff05}.general-logs-container{padding:12px}.kpi-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}.hr-divider{border:0;border-top:1px dashed var(--border);margin:4px 0}.card-pro{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-l);padding:var(--gap-lg);box-shadow:var(--shadow-card);display:flex;flex-direction:column;gap:var(--gap-lg);transition:all var(--transition-fast);position:relative;overflow:hidden;will-change:transform,box-shadow,border-color}.card-pro:hover{box-shadow:0 4px 12px #00000026;border-color:var(--border-light);transform:translateY(-2px)}.card-pro-title{font-size:12px;font-weight:800;color:var(--text-muted);text-transform:uppercase;letter-spacing:1.2px;display:flex;justify-content:space-between;align-items:center;flex-shrink:0;font-family:var(--font-system)}.hero-session-header{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap-md);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-m);padding:var(--gap-xl) var(--gap-lg);margin-bottom:var(--gap-lg);transition:all var(--transition-fast);box-shadow:0 2px 8px #0000001a;position:relative;overflow:hidden;z-index:1;will-change:transform,box-shadow,border-color}.hero-session-header:hover{box-shadow:0 4px 12px #00000026;border-color:var(--border-light);transform:translateY(-1px) translateZ(0)}.hero-stat{display:flex;flex-direction:column;align-items:center;justify-content:center}.hero-stat .label{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;margin-bottom:8px;font-weight:700;font-family:var(--font-system);opacity:.8}.hero-stat .value{font-family:var(--font-mono);font-size:28px;font-weight:800;color:var(--text-primary);letter-spacing:-.5px;line-height:1.1}.hero-stat .unit{font-family:var(--font-system);font-size:10px;color:var(--text-muted);font-weight:500;text-transform:uppercase;letter-spacing:.5px;opacity:.7}@media (max-width: 768px){.hero-stat .value{font-size:20px}.hero-stat .unit{font-size:8px}.hero-stat .label{font-size:9px}}.charging-stage-dashboard{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-l);padding:var(--gap-2xl);margin-bottom:var(--gap-lg);position:relative;overflow:hidden;box-shadow:var(--shadow-card);transition:border-color var(--transition-slow) var(--transition-ease),box-shadow var(--transition-slow) var(--transition-ease);transform:translateZ(0);backface-visibility:hidden;-webkit-font-smoothing:subpixel-antialiased;height:140px;min-height:140px;max-height:140px;display:flex;flex-direction:column;justify-content:center;flex-shrink:0;will-change:border-color,box-shadow}.charging-stage-dashboard:before,.charging-stage-dashboard:after{content:"";position:absolute;pointer-events:none;z-index:1;opacity:0;transition:opacity .3s;border-radius:var(--radius-l)}.charging-stage-dashboard:before{top:0;left:0;width:100%;height:2px;background:linear-gradient(90deg,transparent,transparent)}.charging-stage-dashboard:after{bottom:0;left:0;width:100%;height:2px;background:linear-gradient(90deg,transparent,transparent)}.charging-stage-dashboard:hover{border-color:var(--border-light);box-shadow:var(--shadow-card);transform:translateY(-1px)}.charging-stage-label{font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:2px;font-weight:900;margin-bottom:var(--gap-md);font-family:var(--font-system);opacity:.7;text-align:center;position:relative;z-index:1;display:flex;align-items:center;justify-content:center;gap:var(--gap-sm)}.charging-stage-label i{font-size:16px;color:var(--accent);transition:transform .3s}.charging-stage-display{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:var(--gap-md);position:relative;z-index:1}.charging-stage-text{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;font-size:28px;font-weight:700;letter-spacing:1.5px;text-align:center;text-transform:uppercase;color:var(--text-primary);transition:all .5s var(--transition-ease);position:relative;line-height:1.1;text-rendering:optimizeLegibility;-webkit-font-smoothing:subpixel-antialiased;-moz-osx-font-smoothing:auto;transform:translateZ(0);will-change:auto;filter:drop-shadow(0 0 8px rgba(0,0,0,.3))}html[data-theme=light] .charging-stage-text{filter:drop-shadow(0 0 2px rgba(0,0,0,.1))}html[data-theme=light] .charging-stage-dashboard[data-stage="1"] .charging-stage-text,html[data-theme=light] .charging-stage-dashboard[data-stage=initializing] .charging-stage-text{animation:text-glow-warn-light 3s ease-in-out infinite}html[data-theme=light] .charging-stage-dashboard[data-stage="2"] .charging-stage-text,html[data-theme=light] .charging-stage-dashboard[data-stage=error] .charging-stage-text{animation:text-glow-error-light 2s ease-in-out infinite}html[data-theme=light] .charging-stage-dashboard[data-stage="3"] .charging-stage-text,html[data-theme=light] .charging-stage-dashboard[data-stage=ready] .charging-stage-text{animation:text-glow-accent-light 4s ease-in-out infinite}html[data-theme=light] .charging-stage-dashboard[data-stage="4"] .charging-stage-text,html[data-theme=light] .charging-stage-dashboard[data-stage=preparing] .charging-stage-text{animation:text-glow-accent-light 2.5s ease-in-out infinite}html[data-theme=light] .charging-stage-dashboard[data-stage="5"] .charging-stage-text,html[data-theme=light] .charging-stage-dashboard[data-stage=charging] .charging-stage-text{animation:text-glow-charging-light 2s ease-in-out infinite}html[data-theme=light] .charging-stage-dashboard[data-stage="6"] .charging-stage-text,html[data-theme=light] .charging-stage-dashboard[data-stage=finishing] .charging-stage-text{animation:text-glow-warn-light 3s ease-in-out infinite}@keyframes border-pulse-warn{0%,to{border-color:var(--border);box-shadow:var(--shadow-card)}50%{border-color:var(--warn);box-shadow:var(--shadow-card),0 0 20px #ffcf5c26}}@keyframes border-pulse-error{0%,to{border-color:var(--border);box-shadow:var(--shadow-card)}50%{border-color:var(--err);box-shadow:var(--shadow-card),0 0 20px #ff5d6c33}}@keyframes border-pulse-accent{0%,to{border-color:var(--border);box-shadow:var(--shadow-card)}50%{border-color:var(--accent);box-shadow:var(--shadow-card),0 0 25px var(--accent-glow)}}@keyframes border-pulse-charging{0%,to{border-color:var(--border);box-shadow:var(--shadow-card)}50%{border-color:var(--ok);box-shadow:var(--shadow-card),0 0 30px #39d98a40}}@keyframes text-glow-subtle{0%,to{filter:drop-shadow(0 0 8px rgba(0,0,0,.3))}50%{filter:drop-shadow(0 0 12px rgba(0,0,0,.4))}}@keyframes text-glow-warn{0%,to{filter:drop-shadow(0 0 8px rgba(0,0,0,.3)) drop-shadow(0 0 6px rgba(255,207,92,.2))}50%{filter:drop-shadow(0 0 12px rgba(0,0,0,.4)) drop-shadow(0 0 10px rgba(255,207,92,.35))}}@keyframes text-glow-error{0%,to{filter:drop-shadow(0 0 8px rgba(0,0,0,.3)) drop-shadow(0 0 6px rgba(255,93,108,.25))}50%{filter:drop-shadow(0 0 12px rgba(0,0,0,.4)) drop-shadow(0 0 10px rgba(255,93,108,.4))}}@keyframes text-glow-accent{0%,to{filter:drop-shadow(0 0 8px rgba(0,0,0,.3)) drop-shadow(0 0 6px var(--accent-glow))}50%{filter:drop-shadow(0 0 12px rgba(0,0,0,.4)) drop-shadow(0 0 12px var(--accent-glow))}}@keyframes text-glow-charging{0%,to{filter:drop-shadow(0 0 8px rgba(0,0,0,.3)) drop-shadow(0 0 8px rgba(57,217,138,.3))}50%{filter:drop-shadow(0 0 12px rgba(0,0,0,.4)) drop-shadow(0 0 15px rgba(57,217,138,.5))}}@keyframes text-glow-warn-light{0%,to{filter:drop-shadow(0 0 2px rgba(0,0,0,.1)) drop-shadow(0 0 3px rgba(255,207,92,.15))}50%{filter:drop-shadow(0 0 3px rgba(0,0,0,.15)) drop-shadow(0 0 5px rgba(255,207,92,.2))}}@keyframes text-glow-error-light{0%,to{filter:drop-shadow(0 0 2px rgba(0,0,0,.1)) drop-shadow(0 0 3px rgba(255,93,108,.15))}50%{filter:drop-shadow(0 0 3px rgba(0,0,0,.15)) drop-shadow(0 0 5px rgba(255,93,108,.2))}}@keyframes text-glow-accent-light{0%,to{filter:drop-shadow(0 0 2px rgba(0,0,0,.1)) drop-shadow(0 0 3px var(--accent-glow))}50%{filter:drop-shadow(0 0 3px rgba(0,0,0,.15)) drop-shadow(0 0 6px var(--accent-glow))}}@keyframes text-glow-charging-light{0%,to{filter:drop-shadow(0 0 2px rgba(0,0,0,.1)) drop-shadow(0 0 4px rgba(57,217,138,.2))}50%{filter:drop-shadow(0 0 3px rgba(0,0,0,.15)) drop-shadow(0 0 7px rgba(57,217,138,.3))}}@keyframes border-line-left-right{0%{transform:translate(-100%);opacity:0}50%{opacity:1}to{transform:translate(100%);opacity:0}}@keyframes border-line-right-left{0%{transform:translate(100%);opacity:0}50%{opacity:1}to{transform:translate(-100%);opacity:0}}@keyframes border-line-error-top-left{0%{width:0;box-shadow:0 0 0 0 var(--err);opacity:0}25%{width:50%;box-shadow:0 0 0 0 var(--err),0 -100% 0 2px var(--err);opacity:1}50%{width:100%;box-shadow:0 0 0 0 var(--err),0 -100% 0 2px var(--err);opacity:1}to{width:0;box-shadow:0 0 0 0 var(--err);opacity:0}}@keyframes border-line-error-bottom-right{0%,50%{width:0;box-shadow:0 0 0 0 var(--err);opacity:0}75%{width:50%;box-shadow:0 0 0 0 var(--err),0 100% 0 2px var(--err);opacity:1}to{width:100%;box-shadow:0 0 0 0 var(--err),0 100% 0 2px var(--err);opacity:1}}@keyframes border-line-left-vertical{0%{bottom:0;height:0;opacity:0}50%{bottom:0;height:50%;opacity:1}to{bottom:50%;height:50%;opacity:0}}@keyframes border-line-right-vertical{0%{bottom:0;height:0;opacity:0}50%{bottom:0;height:50%;opacity:1}to{bottom:50%;height:50%;opacity:0}}@keyframes border-line-circle{0%{background:linear-gradient(90deg,var(--accent) 0%,transparent 50%);box-shadow:0 0 0 0 var(--accent);opacity:1}25%{background:linear-gradient(180deg,var(--accent) 0%,var(--accent) 50%,transparent 50%);box-shadow:0 0 0 0 var(--accent),100% 0 0 2px var(--accent);opacity:1}50%{background:linear-gradient(270deg,var(--accent) 0%,var(--accent) 50%,var(--accent) 100%);box-shadow:0 0 0 0 var(--accent),100% 0 0 2px var(--accent),100% 100% 0 2px var(--accent);opacity:1}75%{background:linear-gradient(360deg,var(--accent) 0%,var(--accent) 50%,var(--accent) 100%);box-shadow:0 0 0 0 var(--accent),100% 0 0 2px var(--accent),100% 100% 0 2px var(--accent),0 100% 0 2px var(--accent);opacity:1}to{background:linear-gradient(90deg,transparent 0%,transparent 50%);box-shadow:0 0 0 0 var(--accent);opacity:0}}@keyframes border-line-up-sides{0%{bottom:0;height:0;opacity:0}50%{bottom:0;height:50%;opacity:1}to{bottom:50%;height:50%;opacity:0}}@keyframes border-pulse-prepare{0%,to{opacity:.3;transform:scale(1)}50%{opacity:1;transform:scale(1.02)}}.charging-stage-dashboard[data-stage="1"],.charging-stage-dashboard[data-stage=initializing]{animation:border-pulse-warn 3s ease-in-out infinite}.charging-stage-dashboard[data-stage="1"]:before,.charging-stage-dashboard[data-stage=initializing]:before{opacity:1;background:linear-gradient(90deg,transparent,var(--warn),transparent);animation:border-line-left-right 2s ease-in-out infinite}.charging-stage-dashboard[data-stage="1"]:after,.charging-stage-dashboard[data-stage=initializing]:after{opacity:1;background:linear-gradient(90deg,transparent,var(--warn),transparent);animation:border-line-right-left 2s ease-in-out infinite 1s}.charging-stage-dashboard[data-stage="1"] .charging-stage-text,.charging-stage-dashboard[data-stage=initializing] .charging-stage-text{animation:text-glow-warn 3s ease-in-out infinite}.charging-stage-dashboard[data-stage="1"] .charging-stage-label i,.charging-stage-dashboard[data-stage=initializing] .charging-stage-label i{color:var(--warn);animation:spin-smooth 2s linear infinite}.charging-stage-dashboard[data-stage="2"],.charging-stage-dashboard[data-stage=error]{animation:border-pulse-error 2s ease-in-out infinite}.charging-stage-dashboard[data-stage="2"]:before,.charging-stage-dashboard[data-stage=error]:before{opacity:1;background:var(--err);animation:border-line-error-top-left 2s ease-in-out infinite;height:2px;width:0;top:0;left:0}.charging-stage-dashboard[data-stage="2"]:after,.charging-stage-dashboard[data-stage=error]:after{opacity:1;background:var(--err);animation:border-line-error-bottom-right 2s ease-in-out infinite;height:2px;width:0;bottom:0;right:0}.charging-stage-dashboard[data-stage="2"] .charging-stage-text,.charging-stage-dashboard[data-stage=error] .charging-stage-text{animation:text-glow-error 2s ease-in-out infinite}.charging-stage-dashboard[data-stage="2"] .charging-stage-label i,.charging-stage-dashboard[data-stage=error] .charging-stage-label i{color:var(--err);animation:shake .5s ease-in-out infinite}.charging-stage-dashboard[data-stage="3"],.charging-stage-dashboard[data-stage=ready]{animation:border-pulse-accent 4s ease-in-out infinite}.charging-stage-dashboard[data-stage="3"]:before,.charging-stage-dashboard[data-stage=ready]:before{opacity:1;width:100%;height:2px;top:0;left:0;animation:border-line-circle 4s ease-in-out infinite}.charging-stage-dashboard[data-stage="3"]:after,.charging-stage-dashboard[data-stage=ready]:after{opacity:0}.charging-stage-dashboard[data-stage="3"] .charging-stage-text,.charging-stage-dashboard[data-stage=ready] .charging-stage-text{animation:text-glow-accent 4s ease-in-out infinite}.charging-stage-dashboard[data-stage="3"] .charging-stage-label i,.charging-stage-dashboard[data-stage=ready] .charging-stage-label i{color:var(--ok)}.charging-stage-dashboard[data-stage="4"],.charging-stage-dashboard[data-stage=preparing]{animation:border-pulse-accent 2.5s ease-in-out infinite}.charging-stage-dashboard[data-stage="4"]:before,.charging-stage-dashboard[data-stage=preparing]:before{opacity:1;background:linear-gradient(90deg,transparent,var(--accent),transparent);animation:border-pulse-prepare 2.5s ease-in-out infinite;width:100%}.charging-stage-dashboard[data-stage="4"]:after,.charging-stage-dashboard[data-stage=preparing]:after{opacity:0}.charging-stage-dashboard[data-stage="4"] .charging-stage-text,.charging-stage-dashboard[data-stage=preparing] .charging-stage-text{animation:text-glow-accent 2.5s ease-in-out infinite}.charging-stage-dashboard[data-stage="4"] .charging-stage-label i,.charging-stage-dashboard[data-stage=preparing] .charging-stage-label i{color:var(--accent)}.charging-stage-dashboard[data-stage="5"],.charging-stage-dashboard[data-stage=charging]{animation:border-pulse-charging 2s ease-in-out infinite}.charging-stage-dashboard[data-stage="5"]:before,.charging-stage-dashboard[data-stage=charging]:before{opacity:1;top:0;left:0;width:2px;height:0;background:linear-gradient(180deg,var(--ok),var(--ok));animation:border-line-left-vertical 2s ease-in-out infinite}.charging-stage-dashboard[data-stage="5"]:after,.charging-stage-dashboard[data-stage=charging]:after{opacity:1;bottom:0;right:0;width:2px;height:0;background:linear-gradient(180deg,var(--ok),var(--ok));animation:border-line-right-vertical 2s ease-in-out infinite}.charging-stage-dashboard[data-stage="5"] .charging-stage-text,.charging-stage-dashboard[data-stage=charging] .charging-stage-text{animation:text-glow-charging 2s ease-in-out infinite}.charging-stage-dashboard[data-stage="5"] .charging-stage-label i,.charging-stage-dashboard[data-stage=charging] .charging-stage-label i{color:var(--ok)}.charging-stage-dashboard[data-stage="6"],.charging-stage-dashboard[data-stage=finishing]{animation:border-pulse-warn 3s ease-in-out infinite}.charging-stage-dashboard[data-stage="6"]:before,.charging-stage-dashboard[data-stage=finishing]:before{opacity:1;background:linear-gradient(90deg,transparent,var(--warn),transparent);animation:border-line-left-right 2s ease-in-out infinite}.charging-stage-dashboard[data-stage="6"]:after,.charging-stage-dashboard[data-stage=finishing]:after{opacity:1;background:linear-gradient(90deg,transparent,var(--warn),transparent);animation:border-line-right-left 2s ease-in-out infinite 1s}.charging-stage-dashboard[data-stage="6"] .charging-stage-text,.charging-stage-dashboard[data-stage=finishing] .charging-stage-text{animation:text-glow-warn 3s ease-in-out infinite}.charging-stage-dashboard[data-stage="6"] .charging-stage-label i,.charging-stage-dashboard[data-stage=finishing] .charging-stage-label i{color:var(--warn)}.charging-stage-dashboard[data-stage="7"] .charging-stage-label i,.charging-stage-dashboard[data-stage="8"] .charging-stage-label i,.charging-stage-dashboard[data-stage=suspended] .charging-stage-label i{color:var(--text-muted);opacity:.6}.charging-stage-dashboard[data-stage="7"]:before,.charging-stage-dashboard[data-stage="8"]:before,.charging-stage-dashboard[data-stage=suspended]:before,.charging-stage-dashboard[data-stage="7"]:after,.charging-stage-dashboard[data-stage="8"]:after,.charging-stage-dashboard[data-stage=suspended]:after{opacity:0}@keyframes shimmer-border{0%,to{opacity:.4;transform:translate(-100%)}50%{opacity:.8;transform:translate(100%)}}@keyframes rotate-glow{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes shimmer-progress{0%{left:-100%}to{left:100%}}@keyframes spin-smooth{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes pulse-accent-strong{0%,to{box-shadow:0 0 #23c0ff80,0 0 25px #23c0ff66,inset 0 2px 4px #0003;transform:scale(1)}50%{box-shadow:0 0 0 10px #23c0ff00,0 0 35px #23c0ff99,inset 0 2px 4px #0003;transform:scale(1.06)}}@keyframes pulse-charging-strong{0%,to{box-shadow:0 0 #22c55e99,0 0 30px #22c55e80,inset 0 2px 4px #0003;transform:scale(1)}50%{box-shadow:0 0 0 15px #22c55e00,0 0 40px #22c55eb3,inset 0 2px 4px #0003;transform:scale(1.08)}}@keyframes pulse-error-strong{0%,to{box-shadow:0 0 #ef444480,0 0 25px #ef444466,inset 0 2px 4px #0003;transform:scale(1)}50%{box-shadow:0 0 0 12px #ef444400,0 0 35px #ef444499,inset 0 2px 4px #0003;transform:scale(1.05)}}@keyframes pulse-ring-warn{0%,to{opacity:.4;transform:translate(-50%,-50%) scale(1)}50%{opacity:.8;transform:translate(-50%,-50%) scale(1.15)}}@keyframes pulse-ring-accent{0%,to{opacity:.5;transform:scale(1)}50%{opacity:.9;transform:scale(1.2)}}@keyframes pulse-ring-charging{0%,to{opacity:.6;transform:scale(1)}50%{opacity:1;transform:scale(1.25)}}@keyframes pulse-ring-error{0%,to{opacity:.5;transform:scale(1)}50%{opacity:.9;transform:scale(1.15)}}@keyframes pulse-icon{0%,to{transform:scale(1)}50%{transform:scale(1.15)}}@keyframes pulse-glow-inner{0%,to{opacity:.3;transform:translate(-50%,-50%) scale(1)}50%{opacity:.6;transform:translate(-50%,-50%) scale(1.2)}}@keyframes pulse-progress{0%,to{box-shadow:0 0 15px #22c55eb3;opacity:1}50%{box-shadow:0 0 25px #22c55ee6;opacity:.9}}@keyframes shake{0%,to{transform:translate(0)}25%{transform:translate(-3px) rotate(-2deg)}75%{transform:translate(3px) rotate(2deg)}}.data-list{display:flex;flex-direction:column;gap:10px;flex-shrink:0}.data-pair{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid var(--border-light)}.data-pair:last-child{border-bottom:none;padding-bottom:0}.data-label{font-size:12px;color:var(--text-muted);font-weight:600;text-transform:uppercase;letter-spacing:.5px;font-family:var(--font-system)}.data-val{font-family:var(--font-mono);font-size:19px;color:var(--text-primary);font-weight:700;letter-spacing:-.3px;display:flex;align-items:baseline;gap:var(--gap-xs)}.data-val>span:not([data-i18n]):not(.data-load):not(.data-unit),.data-val #ev_ureq,.data-val #ev_ireq,.data-val #sys_udc,.data-val #sys_idc,.data-val #mod_t{color:var(--text-primary)!important;font-weight:700}.data-val [data-i18n^=units],.data-val [data-i18n="units.volt"],.data-val [data-i18n="units.amp"],.data-val [data-i18n="units.kw"],.data-val [data-i18n="units.kwh"],.data-unit{font-family:var(--font-system)!important;font-size:10px!important;color:var(--text-muted)!important;font-weight:500!important;text-transform:uppercase;letter-spacing:.5px;opacity:.7!important;margin-left:2px}.loading-data.data-val #ev_ureq,.loading-data.data-val #ev_ireq,.loading-data.data-val #sys_udc,.loading-data.data-val #sys_idc,.loading-data.data-val #mod_t,.loading-data.data-val [data-i18n^=units],.loading-data.data-val .data-unit,.loading-data.ac-phases-container .ac-phase-value,.loading-data.ac-phases-container .ac-phase-unit{color:transparent!important}.ac-phases-container{display:flex;gap:var(--gap-sm);align-items:baseline;flex-wrap:wrap;margin-bottom:0}.loading-data.ac-phases-container{min-width:200px;height:32px;display:flex!important;align-items:baseline;gap:var(--gap-sm)}.loading-data.ac-phases-container .ac-phase{display:none}.data-pair:has(.ac-phases-container),.data-pair .ac-phases-container{margin-bottom:0}.data-pair:has(.ac-phases-container){padding-bottom:0}.ac-phase{display:inline-flex;align-items:baseline;gap:var(--gap-xs);padding:var(--gap-xs) var(--gap-sm);background:var(--accent-05);border:1px solid var(--accent-10);border-radius:var(--radius-s);transition:all var(--transition-fast) var(--transition-ease);position:relative;will-change:background,border-color}.ac-phase:hover{background:var(--accent-08);border-color:var(--accent-20)}.ac-phase-value{font-family:var(--font-mono);font-size:17px;font-weight:700;color:var(--text-primary);letter-spacing:-.3px;line-height:1}.ac-phase-unit{font-family:var(--font-system);font-size:8px;color:var(--text-muted);font-weight:500;text-transform:uppercase;letter-spacing:.3px;opacity:.6;line-height:1}.control-settings-group{margin-top:16px;background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-m);padding:16px;box-shadow:0 2px 8px #0000001a;transition:all var(--transition-fast)}.control-settings-group:hover{border-color:var(--border-light);box-shadow:0 4px 12px #00000026}.control-settings-header{display:flex;align-items:center;gap:var(--gap-sm);margin-bottom:16px;padding-bottom:12px;border-bottom:1px solid var(--border-light)}.control-settings-title{font-size:11px;font-weight:800;color:var(--text-muted);text-transform:uppercase;letter-spacing:1.2px;font-family:var(--font-system)}.control-settings-content{display:flex;flex-direction:column;gap:0}.control-setting-item{padding:12px 0}.control-setting-item:first-child{padding-top:0}.control-setting-item:last-child{padding-bottom:0}.control-setting-label{font-size:12px;color:var(--text-muted);font-weight:700;display:flex;align-items:center;font-family:var(--font-system);text-transform:none;letter-spacing:.3px}.control-setting-divider{height:1px;background:var(--border-light);margin:8px 0;opacity:.5}body.role-admin .control-setting-item[data-role=admin-only].hidden{display:none!important}html[data-theme=light] .control-settings-group{background:#ffffff80;border-color:var(--border)}html[data-theme=light] .control-setting-divider{background:var(--border);opacity:.3}.control-mode-content{position:relative;opacity:1;transform:translateY(0);transition:opacity .5s cubic-bezier(.4,0,.2,1),transform .5s cubic-bezier(.4,0,.2,1);min-height:200px;display:flex;flex-direction:column}.control-mode-content[data-mode=manual]{display:block}.control-mode-content[data-mode=auto]{display:none}.card-pro[data-mode=auto] .control-mode-content[data-mode=manual]{opacity:0;transform:translateY(-20px);pointer-events:none;position:absolute;width:calc(100% - 32px);top:48px;left:16px;z-index:0}.card-pro[data-mode=auto] .control-mode-content[data-mode=auto]{display:flex;opacity:1;transform:translateY(0);position:relative;z-index:1;animation:slideInUp .5s cubic-bezier(.4,0,.2,1)}.user-admin-switch-container{margin-top:var(--gap-xl);margin-bottom:var(--gap-lg);display:flex;justify-content:center;align-items:center;padding:var(--gap-lg)}.admin-switch-button{width:100%;max-width:500px;display:flex;align-items:center;justify-content:center;gap:var(--gap-sm);font-size:13px;font-weight:700;padding:var(--gap-md) var(--gap-xl);border-radius:var(--radius-m);border:1px solid var(--border);background:linear-gradient(180deg,#ffffff0d,#ffffff03);color:var(--text-primary);transition:all var(--transition-fast);cursor:pointer}.admin-switch-button:hover{background:linear-gradient(180deg,#ffffff14,#ffffff08);border-color:var(--accent);color:var(--accent);transform:translateY(-1px);box-shadow:0 2px 8px #0000001a,0 0 12px var(--accent-glow)}.admin-switch-button:active{transform:scale(.98) translateY(0)}.admin-switch-button i{font-size:16px}html[data-theme=light] .logout-button,html[data-theme=light] .admin-switch-button{background:#fffc;border-color:var(--border);color:var(--text-primary)}html[data-theme=light] .logout-button:hover,html[data-theme=light] .admin-switch-button:hover{background:#fffffff2;border-color:var(--accent);color:var(--accent)}.card-pro[data-mode=manual] .control-mode-content[data-mode=auto]{opacity:0;transform:translateY(20px);pointer-events:none;position:absolute;width:calc(100% - 32px);top:48px;left:16px;z-index:0}.card-pro[data-mode=manual] .control-mode-content[data-mode=manual]{display:block;opacity:1;transform:translateY(0);position:relative;z-index:1;animation:slideInDown .5s cubic-bezier(.4,0,.2,1)}@keyframes slideInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}@keyframes slideInDown{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.control-mode-badge{transition:all .3s cubic-bezier(.4,0,.2,1);font-size:10px;padding:4px 8px}.card-pro[data-mode=auto] .control-mode-badge{background:var(--ok-15)!important;border-color:var(--ok-30)!important;color:var(--ok)!important}.card-pro[data-mode=manual] .control-mode-badge{background:#ffffff0d!important;border-color:transparent!important;color:var(--text-muted)!important}html[data-theme=light] .card-pro[data-mode=manual] .control-mode-badge{background:#0000000d!important;color:var(--text-muted)!important}.control-mode-badge-text{display:inline-block}.control-mode-badge-short{display:none}@media (max-width: 768px){.control-mode-badge-text{display:none!important}.control-mode-badge-short{display:inline-block!important}}.soc-progress-container{background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-l);padding:var(--gap-xl);margin-bottom:var(--gap-lg);position:relative;overflow:hidden;box-shadow:var(--shadow-card);transition:border-color var(--transition-slow) var(--transition-ease)}.soc-progress-label{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--gap-md);font-size:10px;color:var(--text-muted);text-transform:uppercase;letter-spacing:2px;font-weight:900;font-family:var(--font-system);opacity:.7}.soc-progress-text{font-size:14px;font-weight:700;color:var(--text-primary);letter-spacing:0;text-transform:none;opacity:1}.soc-progress-bar{width:100%;height:12px;background:var(--bg-secondary);border-radius:var(--radius-full);overflow:hidden;position:relative;box-shadow:inset 0 2px 4px #0000001a}.soc-progress-fill{height:100%;width:var(--soc-progress-width, 0%);background:linear-gradient(90deg,var(--accent),var(--ok));border-radius:var(--radius-full);transition:width .5s cubic-bezier(.4,0,.2,1);position:relative;overflow:hidden;box-shadow:0 0 10px #23c0ff4d}.soc-progress-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:progress-shine 2s ease-in-out infinite}html[data-theme=light] .soc-progress-bar{background:#0000000d;box-shadow:inset 0 2px 4px #0000000d}html[data-theme=light] .soc-progress-fill{box-shadow:0 0 8px #23c0ff33}body.role-admin .soc-progress-container{display:none!important}body.role-user #monitor{padding:var(--gap-xl) var(--gap-lg);max-width:1200px;margin:0 auto;position:relative}body.role-user #monitor:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at top,var(--accent-08),transparent 50%),radial-gradient(ellipse at bottom right,var(--ok-10),transparent 50%);pointer-events:none;z-index:0;opacity:.6}body.role-admin .user-stats-shelves,body.role-admin .user-stat-shelf,body.role-admin .user-charging-main,body.role-admin .user-charging-glow,body.role-admin .user-charging-content,body.role-admin .user-force-unlock-container,body.role-admin .user-force-unlock-btn,body.role-admin .user-app-settings-compact,body.role-admin .user-app-setting-item{display:none!important;visibility:hidden!important}body.role-user .hero-session-header{display:none}body.role-user .user-stats-shelves{display:grid;grid-template-columns:repeat(3,1fr);gap:var(--gap-md);margin-bottom:var(--gap-xl);position:relative;z-index:10}body.role-user .user-stat-shelf{position:relative;padding:var(--gap-lg) var(--gap-md);background:var(--bg-card);border:1px solid var(--border);border-radius:var(--radius-m);box-shadow:0 4px 12px #0000001a;transition:all var(--transition-base);overflow:hidden}body.role-user .user-stat-shelf:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,var(--accent),var(--ok));opacity:.6;transform:scaleX(0);transform-origin:left;transition:transform var(--transition-base)}body.role-user .user-stat-shelf:hover:before{transform:scaleX(1)}body.role-user .user-stat-shelf:hover{transform:translateY(-2px);box-shadow:0 6px 20px #00000026;border-color:var(--accent-20)}body.role-user .shelf-label{display:block;font-size:9px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:1.5px;margin-bottom:var(--gap-sm);opacity:.8}body.role-user .shelf-value-container{display:flex;align-items:baseline;gap:4px}body.role-user .shelf-value{font-family:var(--font-mono);font-size:24px;font-weight:800;color:var(--text-primary);letter-spacing:-.5px;line-height:1}body.role-user .shelf-value-container .shelf-value.loading-data{min-width:80px;display:inline-block!important;opacity:1!important;background:linear-gradient(90deg,var(--skel-base) 25%,var(--skel-highlight) 50%,var(--skel-base) 75%)!important;background-size:200% 100%!important}body.role-user .shelf-value-container:has(.shelf-value.loading-data) .shelf-unit{display:none}body.role-user .shelf-value-ok{color:var(--ok)}body.role-user .shelf-value-mono{font-family:var(--font-mono)}body.role-user .shelf-unit{font-size:9px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;opacity:.7}body.role-user .user-charging-main{position:relative;min-height:300px;margin-bottom:var(--gap-xl);border-radius:var(--radius-l);overflow:hidden;background:var(--bg-card);border:1px solid var(--border);box-shadow:0 8px 24px #00000026}body.role-user .user-charging-glow{position:absolute;bottom:0;left:0;right:0;height:100%;background:linear-gradient(to top,var(--accent-20) 0%,var(--accent-10) 30%,transparent 60%);opacity:0;transition:opacity var(--transition-slow);pointer-events:none;z-index:1}body.role-user .user-charging-main[data-stage="1"] .user-charging-glow,body.role-user .user-charging-main[data-stage=initializing] .user-charging-glow{background:linear-gradient(to top,var(--warn-20) 0%,var(--warn-10) 30%,transparent 60%);opacity:.6;animation:glow-pulse 3s ease-in-out infinite}body.role-user .user-charging-main[data-stage="2"] .user-charging-glow,body.role-user .user-charging-main[data-stage=error] .user-charging-glow{background:linear-gradient(to top,var(--err-20) 0%,var(--err-10) 30%,transparent 60%);opacity:.6;animation:glow-pulse 2s ease-in-out infinite}body.role-user .user-charging-main[data-stage="3"] .user-charging-glow,body.role-user .user-charging-main[data-stage=ready] .user-charging-glow{background:linear-gradient(to top,var(--ok-20) 0%,var(--ok-10) 30%,transparent 60%);opacity:.5}body.role-user .user-charging-main[data-stage="4"] .user-charging-glow,body.role-user .user-charging-main[data-stage=preparing] .user-charging-glow{background:linear-gradient(to top,var(--accent-25) 0%,var(--accent-15) 30%,transparent 60%);opacity:.7;animation:glow-pulse 2.5s ease-in-out infinite}body.role-user .user-charging-main[data-stage="5"] .user-charging-glow,body.role-user .user-charging-main[data-stage=charging] .user-charging-glow{background:linear-gradient(to top,var(--ok-30) 0%,var(--ok-20) 40%,var(--accent-15) 60%,transparent 80%);opacity:.8;animation:glow-wave 4s ease-in-out infinite}body.role-user .user-charging-main[data-stage="6"] .user-charging-glow,body.role-user .user-charging-main[data-stage=finishing] .user-charging-glow{background:linear-gradient(to top,var(--ok-25) 0%,var(--ok-15) 30%,transparent 60%);opacity:.6;animation:glow-pulse 3s ease-in-out infinite}@keyframes glow-pulse{0%,to{opacity:.4}50%{opacity:.8}}@keyframes glow-wave{0%,to{opacity:.6;background-position:0% 50%}50%{opacity:.9;background-position:100% 50%}}body.role-user .user-charging-content{position:relative;z-index:2;padding:var(--gap-2xl);display:flex;flex-direction:column;gap:var(--gap-xl)}body.role-user .user-charging-stage-section{display:flex;flex-direction:column;gap:var(--gap-xl)}body.role-user .user-charging-stage{text-align:center}body.role-user .user-charging-stage-label{display:flex;align-items:center;justify-content:center;gap:var(--gap-sm);font-size:10px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:2px;margin-bottom:var(--gap-md);opacity:.8}body.role-user .user-charging-stage-label i{font-size:16px;color:var(--accent)}body.role-user .user-charging-stage-text{font-size:32px;font-weight:800;color:var(--text-primary);letter-spacing:1px;text-shadow:0 2px 8px rgba(0,0,0,.2)}body.role-user .user-soc-section{display:flex;flex-direction:column;gap:var(--gap-md)}body.role-user .user-soc-label{display:flex;justify-content:space-between;align-items:center;font-size:10px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:1.5px}body.role-user .user-soc-text{font-family:var(--font-mono);font-size:14px;font-weight:800;color:var(--accent)}body.role-user .user-soc-progress-bar{height:16px;background:var(--bg-input);border-radius:var(--radius-full);overflow:hidden;box-shadow:inset 0 2px 4px #0000001a;position:relative}body.role-user .user-soc-progress-fill{height:100%;background:linear-gradient(90deg,var(--accent),var(--ok));border-radius:var(--radius-full);box-shadow:0 0 12px var(--accent-glow);transition:width var(--transition-base);position:relative}body.role-user .user-soc-progress-fill:after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);animation:progress-shine 2s ease-in-out infinite}@keyframes progress-shine{0%{transform:translate(-100%)}to{transform:translate(100%)}}body.role-user .user-charging-buttons{display:flex;flex-direction:column;gap:var(--gap-md)}body.role-user .user-charging-buttons.hidden{display:none!important}body.role-user .user-charge-button{padding:var(--gap-lg) var(--gap-xl);font-size:14px;font-weight:700;border-radius:var(--radius-m);min-height:52px;width:100%;box-shadow:0 4px 12px #00000026;transition:all var(--transition-base);position:relative;overflow:hidden}body.role-user .user-charge-button:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0003}body.role-user .user-charge-button:active{transform:translateY(0)}body.role-user .user-charge-button i{font-size:18px}body.role-user .user-force-unlock-container{margin-bottom:var(--gap-xl);display:flex;justify-content:center}body.role-user .user-force-unlock-btn{padding:var(--gap-md) var(--gap-xl);font-size:13px;font-weight:600;border-radius:var(--radius-m);min-height:44px;box-shadow:0 2px 8px #0000001a;transition:all var(--transition-base);border:1px solid var(--border)}body.role-user .user-force-unlock-btn:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000026;border-color:var(--accent-20)}body.role-user .user-force-unlock-btn i{font-size:16px}body.role-user .user-app-settings-compact{display:flex;gap:var(--gap-md);margin-bottom:var(--gap-xl);justify-content:center;flex-wrap:wrap}body.role-user .user-app-setting-item{display:flex;flex-direction:column;gap:var(--gap-sm);min-width:120px}body.role-user .user-app-setting-label{font-size:9px;font-weight:700;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px;opacity:.8}body.role-user .user-app-select .custom-select-trigger{padding:var(--gap-sm) var(--gap-md);font-size:12px;min-height:36px;border-radius:var(--radius-s);background:var(--bg-input);border:1px solid var(--border)}body.role-user .user-app-select .custom-select-options{border-radius:var(--radius-s);box-shadow:0 4px 12px #00000026}body.role-user .user-app-select .custom-option{padding:var(--gap-sm) var(--gap-md);font-size:12px}@media (max-width: 768px){body.role-user .user-stats-shelves{grid-template-columns:1fr;gap:var(--gap-sm);margin-bottom:var(--gap-lg)}body.role-user .user-stat-shelf{padding:var(--gap-md)}body.role-user .shelf-value{font-size:20px}body.role-user .user-charging-main{min-height:250px;margin-bottom:var(--gap-lg)}body.role-user .user-charging-content{padding:var(--gap-xl);gap:var(--gap-lg)}body.role-user .user-charging-stage-text{font-size:24px}body.role-user .user-soc-progress-bar{height:12px}body.role-user .user-charge-button{padding:var(--gap-md) var(--gap-lg);font-size:13px;min-height:48px}body.role-user .user-app-settings-compact{flex-direction:column;align-items:stretch}body.role-user .user-app-setting-item{min-width:auto}}html[data-theme=light] body.role-user .user-stat-shelf{background:var(--bg-card);box-shadow:0 2px 8px #00000014}html[data-theme=light] body.role-user .user-charging-main{box-shadow:0 4px 16px #0000001a}html[data-theme=material] body.role-user .user-stat-shelf:before{background:linear-gradient(90deg,#38bdf899,#22c55e99)}html[data-theme=material] body.role-user .user-charging-main[data-stage="5"] .user-charging-glow,html[data-theme=material] body.role-user .user-charging-main[data-stage=charging] .user-charging-glow{background:linear-gradient(to top,rgba(34,197,94,.3) 0%,rgba(34,197,94,.2) 40%,rgba(56,189,248,.15) 60%,transparent 80%)}html[data-theme=gold] body.role-user .user-stat-shelf:before{background:linear-gradient(90deg,#d4af3799,#4ade8099)}html[data-theme=gold] body.role-user .user-charging-main[data-stage="5"] .user-charging-glow,html[data-theme=gold] body.role-user .user-charging-main[data-stage=charging] .user-charging-glow{background:linear-gradient(to top,rgba(74,222,128,.3) 0%,rgba(74,222,128,.2) 40%,rgba(212,175,55,.15) 60%,transparent 80%)}html[data-theme=gold] body.role-user .shelf-value-ok{color:var(--ok)}body.role-user .hero-session-header:before{content:"";position:absolute;top:-30%;right:-10%;width:150%;height:150%;background:radial-gradient(circle,var(--accent-08),transparent 60%);pointer-events:none;opacity:.5;animation:pulse-glow-soft 10s ease-in-out infinite}@keyframes pulse-glow-soft{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.5;transform:scale(1.05)}}@keyframes pulse-glow{0%,to{opacity:.3;transform:scale(1)}50%{opacity:.5;transform:scale(1.1)}}body.role-user .card-pro-control-wrapper,body.role-user .charging-stage-dashboard,body.role-user .soc-progress-container{display:none}body.role-user .card-pro-control-wrapper:before{content:"";position:absolute;top:0;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,var(--accent-30),transparent);opacity:.5}body.role-user .card-pro-title{font-size:13px;margin-bottom:var(--gap-xl);padding-bottom:var(--gap-md);border-bottom:1px solid var(--border);position:relative}body.role-user .card-pro-title:after{content:"";position:absolute;bottom:-1px;left:0;width:50px;height:2px;background:var(--accent);border-radius:var(--radius-full);opacity:.6}body.role-user .charging-stage-dashboard{padding:24px;margin-bottom:var(--gap-lg);height:auto;min-height:auto;max-height:none;border-radius:var(--radius-m);box-shadow:0 2px 8px #0000001a;background:var(--bg-card);border:1px solid var(--border);position:relative;overflow:hidden}body.role-user .charging-stage-text{font-size:24px;font-weight:800;letter-spacing:1px;position:relative;z-index:2}body.role-user .charging-stage-label{font-size:10px;margin-bottom:12px;letter-spacing:1px}body.role-user .charging-stage-label i{font-size:16px}body.role-user .soc-progress-container{padding:20px;margin-bottom:var(--gap-lg);border-radius:var(--radius-m);box-shadow:0 2px 8px #0000001a;background:var(--bg-card);border:1px solid var(--border);position:relative;overflow:hidden}body.role-user .soc-progress-label{font-size:10px;margin-bottom:12px;letter-spacing:1px}body.role-user .soc-progress-text{font-size:14px;font-weight:700}body.role-user .soc-progress-bar{height:12px;border-radius:var(--radius-full);box-shadow:inset 0 1px 2px #0000001a;background:var(--bg-input);position:relative;overflow:hidden}body.role-user .soc-progress-fill{box-shadow:0 0 12px var(--accent-glow),inset 0 1px #fff3;background:linear-gradient(90deg,var(--accent) 0%,var(--ok) 100%);position:relative}body.role-user .soc-progress-fill:after{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.4),transparent);animation:progress-shine 2s ease-in-out infinite}body.role-user .card-pro-control-wrapper .charge-permit-buttons{display:none!important}body.role-user .user-charging-buttons{margin-bottom:0;gap:var(--gap-md)}body.role-user .user-charging-buttons .charge-permit-button{padding:8px 14px;font-size:13px;font-weight:600;border-radius:var(--radius-s);min-height:auto;width:100%;box-shadow:0 2px 8px #0000001a;transition:all var(--transition-fast);position:relative;overflow:hidden}body.role-user .user-charging-buttons .charge-permit-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000026}body.role-user .user-charging-buttons .charge-permit-button:active{transform:translateY(0) scale(.99)}body.role-user .user-charging-buttons .charge-permit-button i{font-size:16px}body.role-user .control-settings-group{padding:16px;border-radius:var(--radius-m);box-shadow:0 2px 8px #0000001a;background:var(--bg-card);border:1px solid var(--border);position:relative;overflow:visible}body.role-user .control-settings-header{margin-bottom:var(--gap-lg);padding-bottom:var(--gap-md)}body.role-user .control-settings-title{font-size:12px;letter-spacing:1.5px}body.role-user .control-settings-header-icon{font-size:16px}body.role-user .control-setting-item{padding:var(--gap-md) 0}body.role-user .control-setting-label{font-size:13px;margin-bottom:var(--gap-sm);letter-spacing:.5px}body.role-user .control-setting-label-icon{font-size:14px}body.role-user .force-unlock-button{padding:var(--gap-md) var(--gap-lg);font-size:14px;font-weight:700;min-height:48px;border-radius:14px;transition:all var(--transition-base)}body.role-user .force-unlock-button:hover{transform:translateY(-2px);box-shadow:var(--shadow-card);border-color:var(--accent-20)}body.role-user .force-unlock-button i{font-size:16px}body.role-user .monitor-grid-pro{display:flex;flex-direction:column;align-items:stretch;max-width:900px;margin:0 auto;gap:var(--gap-2xl);position:relative;z-index:1}body.role-user .card-pro-control-wrapper{order:1;transform:translateY(0);transition:transform var(--transition-slow)}body.role-user .card-pro-control-wrapper:hover{transform:translateY(-4px)}body.role-user .user-settings-container{margin-top:var(--gap-lg);margin-bottom:var(--gap-lg);padding:0}body.role-user .user-settings-card{padding:20px;border-radius:var(--radius-l);box-shadow:0 2px 8px #0000001a;background:var(--bg-card);border:1px solid var(--border);position:relative;overflow:visible}body.role-user .user-settings-header{margin-bottom:var(--gap-lg);padding-bottom:var(--gap-md);border-bottom:1px solid var(--border)}body.role-user .user-settings-title{font-size:14px;font-weight:700;color:var(--text-primary);margin-bottom:4px;letter-spacing:.5px}body.role-user .user-settings-desc{font-size:12px;color:var(--text-muted);opacity:.8}body.role-user .user-settings-fields{display:flex;flex-direction:column;gap:var(--gap-lg)}body.role-user .user-settings-field{display:flex;flex-direction:column;gap:var(--gap-md)}body.role-user .user-settings-field .app-settings-label{font-size:12px;font-weight:600;color:var(--text-muted);text-transform:uppercase;letter-spacing:1px}body.role-user .user-settings-field .custom-select-container{width:100%}body.role-user .user-settings-field .custom-select-trigger{border-radius:14px;padding:var(--gap-md) var(--gap-lg);font-size:14px;background:var(--bg-input);border:1px solid var(--border);transition:all var(--transition-base)}body.role-user .user-settings-field .custom-select-trigger:hover{border-color:var(--accent-20);background:var(--accent-05)}body.role-user .user-settings-field .custom-select-trigger.active{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent-20)}body.role-user .user-settings-field .custom-select-options{border-radius:14px;box-shadow:var(--shadow-card);background:var(--bg-card);border:1px solid var(--border)}body.role-user .user-settings-field .custom-option{padding:var(--gap-md) var(--gap-lg);font-size:14px;transition:all var(--transition-fast);border-radius:0}body.role-user .user-settings-field .custom-option:first-child{border-top-left-radius:14px;border-top-right-radius:14px}body.role-user .user-settings-field .custom-option:last-child{border-bottom-left-radius:14px;border-bottom-right-radius:14px}body.role-user .user-settings-field .custom-option:hover{background:var(--accent-05)}body.role-user .user-settings-field .custom-option.selected{background:var(--accent-10);color:var(--accent);font-weight:600}@media (max-width: 768px){body.role-user .user-settings-container{padding:0 var(--gap-lg)}body.role-user .user-settings-card{padding:var(--gap-xl);border-radius:20px}body.role-user .user-settings-fields{gap:var(--gap-lg)}}body.role-user .user-admin-switch-container{margin-top:var(--gap-lg);margin-bottom:var(--gap-lg);padding:0}body.role-user .admin-switch-button{padding:8px 14px;font-size:13px;font-weight:600;border-radius:var(--radius-s);min-height:auto;box-shadow:0 2px 8px #0000001a;background:var(--bg-card);border:1px solid var(--border);transition:all var(--transition-fast)}body.role-user .admin-switch-button:hover{transform:translateY(-1px);box-shadow:0 4px 12px #00000026;border-color:var(--border-light)}body.role-user .admin-switch-button i{font-size:16px}@media (max-width: 768px){body.role-user #monitor{padding:var(--gap-lg) var(--gap-md)}body.role-user .hero-session-header{padding:var(--gap-xl) var(--gap-lg);margin-bottom:var(--gap-xl);border-radius:20px}body.role-user .hero-stat{padding:var(--gap-sm);border-radius:14px}body.role-user .hero-stat .value{font-size:36px}body.role-user .hero-stat .value:after{width:30px}body.role-user .hero-stat .unit{font-size:11px}body.role-user .card-pro-control-wrapper{padding:var(--gap-xl);border-radius:20px}body.role-user .charging-stage-dashboard{padding:var(--gap-xl) var(--gap-lg);height:180px;min-height:180px;max-height:180px;border-radius:20px}body.role-user .charging-stage-text{font-size:32px}body.role-user .soc-progress-container{padding:var(--gap-xl) var(--gap-lg);border-radius:20px}body.role-user .charge-permit-button{padding:var(--gap-md) var(--gap-lg);font-size:14px;min-height:56px;border-radius:14px}body.role-user .control-settings-group{padding:var(--gap-lg);border-radius:18px}body.role-user .monitor-grid-pro{gap:var(--gap-xl)}}body.role-user .control-mode-content{gap:var(--gap-xl)}body.role-user .hr-divider{margin:var(--gap-lg) 0;opacity:.3}body.role-user .hero-session-header .hero-stat{padding:var(--gap-sm) 0}body.role-user .card-pro-title-text{font-size:14px;letter-spacing:1.5px;position:relative;z-index:1}body.role-user .card-pro-title-text i{font-size:18px;margin-right:8px;background:linear-gradient(135deg,var(--accent),rgba(35,192,255,.8));-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}body.role-user .sub-text{font-size:12px;letter-spacing:.5px}body.role-user .force-unlock-button{position:relative;overflow:hidden;transition:all var(--transition-fast)}body.role-user .force-unlock-button:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#ffffff1a;transform:translate(-50%,-50%);transition:width .6s,height .6s}body.role-user .force-unlock-button:hover:before{width:300px;height:300px}body.role-user .force-unlock-button:hover{transform:translateY(-2px);box-shadow:0 4px 16px #0003}body.role-user .hr-divider{border:none;border-top:1px solid var(--border);margin:var(--gap-lg) 0;opacity:.5}html[data-theme=light] body.role-user .hero-session-header:before{background:radial-gradient(circle,rgba(0,128,255,.06),transparent 60%)}html[data-theme=light] body.role-user .hero-stat{background:#0080ff08;border-color:var(--border)}html[data-theme=light] body.role-user .hero-stat:hover{background:#0080ff0d;border-color:var(--accent-20)}html[data-theme=light] body.role-user .card-pro-control-wrapper:before{background:linear-gradient(90deg,transparent,rgba(0,128,255,.2),transparent)}html[data-theme=light] body.role-user .charging-stage-dashboard:after{background:radial-gradient(circle,rgba(0,128,255,.06),transparent 65%)}html[data-theme=light] body.role-user .soc-progress-container:before{background:radial-gradient(circle,rgba(34,197,94,.08),transparent 60%)}html[data-theme=material] body.role-user #monitor:before{background:radial-gradient(ellipse at top,rgba(56,189,248,.06),transparent 50%),radial-gradient(ellipse at bottom right,rgba(34,197,94,.04),transparent 50%)}html[data-theme=material] body.role-user .hero-session-header:before{background:radial-gradient(circle,rgba(56,189,248,.06),transparent 60%)}html[data-theme=material] body.role-user .hero-stat{background:#38bdf80d;border-color:var(--border)}html[data-theme=material] body.role-user .hero-stat:hover{background:#38bdf814;border-color:#38bdf833}html[data-theme=material] body.role-user .card-pro-control-wrapper:before{background:linear-gradient(90deg,transparent,rgba(56,189,248,.2),transparent)}html[data-theme=material] body.role-user .charging-stage-dashboard:after{background:radial-gradient(circle,rgba(56,189,248,.06),transparent 65%)}html[data-theme=material] body.role-user .soc-progress-container:before{background:radial-gradient(circle,rgba(34,197,94,.08),transparent 60%)}html[data-theme=gold] body.role-user #monitor:before{background:radial-gradient(ellipse at top,rgba(212,175,55,.06),transparent 50%),radial-gradient(ellipse at bottom right,rgba(74,222,128,.04),transparent 50%)}html[data-theme=gold] body.role-user .hero-session-header:before{background:radial-gradient(circle,rgba(212,175,55,.08),transparent 60%)}html[data-theme=gold] body.role-user .hero-stat{background:#d4af370d;border-color:var(--border)}html[data-theme=gold] body.role-user .hero-stat:hover{background:#d4af3714;border-color:#d4af374d}html[data-theme=gold] body.role-user .hero-stat .value:after{background:var(--accent)}html[data-theme=gold] body.role-user .card-pro-control-wrapper:before{background:linear-gradient(90deg,transparent,rgba(212,175,55,.25),transparent)}html[data-theme=gold] body.role-user .charging-stage-dashboard:after{background:radial-gradient(circle,rgba(212,175,55,.08),transparent 65%)}html[data-theme=gold] body.role-user .soc-progress-container:before{background:radial-gradient(circle,rgba(74,222,128,.1),transparent 60%)}html[data-theme=gold] body.role-user .card-pro-title:after{background:var(--accent)}html[data-theme=light] body.role-user .charge-permit-button,html[data-theme=material] body.role-user .charge-permit-button{background:var(--accent);color:#fff}html[data-theme=gold] body.role-user .charge-permit-button{background:linear-gradient(135deg,var(--accent),#b4941f);color:#000;font-weight:800}html[data-theme=light] body.role-user .force-unlock-button,html[data-theme=light] body.role-user .admin-switch-button{background:var(--bg-card);border-color:var(--border);color:var(--text-primary)}html[data-theme=material] body.role-user .force-unlock-button,html[data-theme=material] body.role-user .admin-switch-button,html[data-theme=gold] body.role-user .force-unlock-button,html[data-theme=gold] body.role-user .admin-switch-button{background:var(--bg-card);border-color:var(--border)}.update-found-card{margin-top:var(--gap-lg);padding:var(--gap-lg);background:var(--accent-05);border:1px solid var(--accent-20);border-radius:var(--radius-m);animation:slideInTop var(--transition-base) ease}.update-item{background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-m);padding:12px;margin-bottom:8px;display:flex;align-items:center;gap:12px;transition:var(--transition-fast)}.update-item.selected{background:var(--accent-08);border-color:var(--accent-30)}.update-icon{width:40px;height:40px;background:var(--border-light);border-radius:50%;display:grid;place-items:center;font-size:20px;color:var(--accent);flex-shrink:0}.drop-zone{border:2px dashed var(--border);border-radius:var(--radius-m);padding:30px 20px;text-align:center;background:var(--bg-input);transition:all var(--transition-base) var(--transition-ease);position:relative}.drop-zone:hover{border-color:var(--text-muted);background:var(--border-light)}.drop-zone.drag-over{border-color:var(--accent);background:var(--accent-10);box-shadow:0 0 20px var(--accent-15) inset;transform:scale(1.02)}.drop-zone.drag-over i{color:var(--accent)!important;transform:scale(1.2)}.updates-section-header{margin-bottom:24px}.updates-section-title{margin-bottom:4px}.updates-section-title i{color:var(--accent);margin-right:8px}.updates-section-desc{margin-bottom:16px}.update-found-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.update-found-title{color:var(--accent);font-weight:700;font-size:14px}.update-found-close{color:var(--text-muted)}.update-item-content{flex:1}.update-item-title{font-weight:700;font-size:13px}.update-item-subtitle{font-size:11px;margin-top:2px}.update-install-button{margin-top:16px}.updates-divider{border:0;border-top:1px dashed var(--border);margin-bottom:24px}.manual-update-title{margin-bottom:4px}.manual-update-title i{color:var(--text-muted);margin-right:8px}.manual-update-desc{margin-bottom:16px}.drop-zone-icon{font-size:36px;color:var(--text-muted);transition:var(--transition-base)}.drop-zone-title{font-weight:600;margin:12px 0 4px;color:var(--text-primary)}.drop-zone-subtitle{font-size:11px;color:var(--text-muted)}.drop-zone-browse-button{margin-top:12px}.file-input-hidden{display:none}.history-list{display:flex;flex-direction:column;gap:8px}.history-show-all{margin-top:20px;text-align:center}.history-item-loading{pointer-events:none}.history-item-loading-content{display:flex;align-items:center;gap:14px;width:100%}.history-item-loading-avatar{width:40px;height:40px;border-radius:50%;flex-shrink:0}.history-item-loading-text-group{flex:1}.history-item-loading-line-1{display:block;width:140px;height:14px;margin-bottom:6px;border-radius:4px}.history-item-loading-line-2{display:block;width:90px;height:12px;border-radius:4px}.history-item{cursor:default;gap:14px}.history-item-date{font-size:11px;color:var(--text-muted)}.mode-switcher{display:flex;background:var(--bg-input);border-radius:var(--radius-m);padding:4px;border:1px solid var(--border);margin-bottom:20px}.mode-option{flex:1;text-align:center;padding:10px;cursor:pointer;border-radius:8px;font-weight:600;font-size:13px;color:var(--text-muted);transition:all var(--transition-fast)}.mode-option.active{background:var(--accent-15);color:var(--accent);box-shadow:0 2px 10px #0000001a}.ocpp-settings-group{display:flex;flex-direction:column;gap:var(--gap-md);margin-top:var(--gap-md)}.ocpp-settings-group.hidden{display:none!important}.ocpp-url-input-wrapper{display:flex;align-items:center;gap:0}.ocpp-protocol-prefix{display:inline-flex;align-items:center;justify-content:center;height:50px;padding:0 14px;background:var(--bg-input);border:1px solid var(--border);border-right:none;border-radius:var(--radius-m) 0 0 var(--radius-m);font-size:13px;font-weight:700;color:var(--text-primary);font-family:Courier New,Consolas,Monaco,monospace;letter-spacing:.5px;transition:all var(--transition-fast);flex-shrink:0;user-select:none;white-space:nowrap}.ocpp-url-input-wrapper:focus-within .ocpp-protocol-prefix{border-color:var(--accent)}.ocpp-url-input-wrapper:focus-within .ocpp-protocol-prefix.secure{border-color:var(--accent);background:var(--accent-15)}.ocpp-protocol-prefix.secure{background:var(--accent-10);border-color:var(--accent-20);color:var(--accent)}.ocpp-protocol-prefix.unsecure{background:var(--bg-input);border-color:var(--border);color:var(--text-muted)}@media (min-width: 768px){.ocpp-url-input-wrapper{width:600px;min-width:600px}#ocppUrlInput.device-input-field-large{flex:1;border-radius:0 var(--radius-m) var(--radius-m) 0;border-left:none}.ocpp-protocol-prefix{height:50px}#ocppSecurityProfileSelect.custom-select-container,#ocppBasicAuthUsernameInput.device-input-field-large,#ocppBasicAuthPasswordInput.device-input-field-large{width:350px!important;min-width:350px!important}}@media (max-width: 767px){.settings-field-row:has(.ocpp-url-input-wrapper){flex-direction:column;align-items:flex-start;gap:8px}.settings-field-row:has(.ocpp-url-input-wrapper) .settings-field-label-inline{margin-bottom:4px}.ocpp-url-input-wrapper{width:100%;max-width:100%}#ocppUrlInput.device-input-field-large{flex:1;border-radius:0 var(--radius-m) var(--radius-m) 0;border-left:none}.ocpp-protocol-prefix{height:50px;padding:0 10px;font-size:12px}}.wifi-list-item{display:flex;justify-content:space-between;align-items:center;padding:14px;border-radius:var(--radius-m);background:var(--bg-input);border:1px solid transparent;cursor:pointer;margin-bottom:8px;transition:var(--transition-fast)}.wifi-list-item:hover{background:var(--border-light);border-color:var(--border)}.wifi-list-item.active{border-color:var(--accent);background:var(--accent-08)}.wifi-item{display:flex;align-items:center;justify-content:space-between;padding:14px;border-radius:var(--radius-m);background:var(--bg-input);border:1px solid transparent;cursor:pointer;margin-bottom:8px;transition:var(--transition-fast)}.wifi-item.active{border-color:var(--accent);background:var(--accent-08)}.signal-bars{display:flex;gap:3px;align-items:flex-end;height:14px}.s-bar{width:3px;background:var(--border);border-radius:2px}.s-bar.on{background:var(--text-primary)}.settings-section-header{margin-bottom:20px}.settings-section-title{margin-bottom:4px}.settings-section-desc{margin-bottom:16px}.settings-field-label{display:block;margin-bottom:6px}.settings-field-error{margin-top:6px;font-size:12px;color:var(--err)}.settings-field-error:not(.hidden){display:block}.settings-field-error.hidden{display:none!important}.settings-field-error.modal-error{margin-top:4px;margin-bottom:12px}.settings-field-row{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:6px}.settings-field-label-inline{color:var(--text-muted);font-size:14px;font-weight:600}.settings-apply-button,.device-settings-apply-button{margin-top:30px;padding:16px}.wifi-list-item-content{display:flex;align-items:center;gap:12px;flex:1}.wifi-list-item-icon{font-size:20px;color:var(--text-muted)}.wifi-ssid{font-weight:700}.wifi-secondary-text{font-size:11px}.wifi-list-item-actions{display:flex;align-items:center;gap:10px}.wifi-lock-icon{font-size:14px;color:var(--text-muted)}.wifi-empty-state,.wifi-scanning-message{padding:20px;text-align:center;color:var(--text-muted)}.app-settings-label{display:block;margin-bottom:8px}.settings-mode-switcher-container{margin-bottom:16px}.settings-mode-switcher-label{font-weight:600;margin-bottom:8px}.device-mode-switcher{display:flex;background:var(--bg-input);border-radius:var(--radius-m);padding:4px;border:1px solid var(--border);margin-bottom:16px}.device-mode-option{flex:1;text-align:center;padding:10px;cursor:pointer;border-radius:8px;font-weight:600;font-size:13px;color:var(--text-muted);transition:all var(--transition-fast)}.device-mode-option.active{background:var(--accent-15);color:var(--accent);box-shadow:0 2px 10px #0000001a}.device-mode-descriptions{margin-top:12px}.device-mode-description{font-size:13px;color:var(--text-muted);line-height:1.5;padding:8px 0}.device-mode-description.hidden{display:none}.settings-grid-2{margin-top:15px}.settings-field-container{margin-bottom:20px}.settings-field-error{display:none;margin-top:6px;font-size:12px;color:var(--err)}.settings-mode-client-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.settings-current-connection{display:flex;align-items:center;gap:12px}.settings-current-connection-icon{color:var(--accent);font-size:20px}.settings-current-connection-title{font-weight:700}.settings-current-connection-subtitle{color:var(--accent)}.settings-card-spacing{margin-top:16px}.device-input-field-large{height:50px;font-size:14px}.custom-option-icon{margin-right:8px}.custom-option-icon-blue{color:#38bdf8}.custom-option-icon-gold{color:#d4af37}.selected-text-icon{margin-right:8px}.stepper-buttons-container{display:flex;gap:10px}.users-list-container{margin-bottom:20px}.users-list-loading{text-align:center;padding:20px;color:var(--text-muted)}.users-list{display:flex;flex-direction:column;gap:8px}.user-item{display:flex;justify-content:space-between;align-items:center;padding:14px 16px;background:var(--bg-input);border:1px solid var(--border);border-radius:var(--radius-m);transition:var(--transition-fast);gap:12px}@media (max-width: 768px){.user-item{flex-direction:column;align-items:stretch;gap:12px}}.user-item:hover{background:var(--border-light);border-color:var(--border-light)}.user-item-info{display:flex;flex-direction:column;gap:4px;flex:1;min-width:0}.user-item-name{font-weight:600;font-size:14px;color:var(--text-primary);display:flex;align-items:center;gap:8px;word-break:break-word}.user-item-name i{flex-shrink:0;font-size:16px}.user-item-role-container{display:flex;flex-direction:column;align-items:flex-start;gap:4px}.user-item-role{font-size:12px;color:var(--text-muted);text-transform:uppercase;letter-spacing:.5px;word-break:break-word;flex-shrink:0}.user-item-role.admin{color:var(--accent)}.user-item-vin{font-size:12px;color:var(--text-muted);word-break:break-word;flex-shrink:0;margin-top:2px;white-space:normal}.user-item-actions{display:flex;gap:8px;align-items:center;flex-wrap:wrap;flex-shrink:0}@media (max-width: 768px){.user-item-actions{width:100%;justify-content:flex-start;gap:6px}}.user-item-action-btn{background:transparent;border:1px solid var(--border);color:var(--text-muted);padding:6px 12px;border-radius:var(--radius-s);font-size:12px;font-weight:600;cursor:pointer;transition:var(--transition-fast);display:flex;align-items:center;gap:6px;white-space:nowrap;flex-shrink:0}.user-btn-text-short{display:none}.user-btn-text-full{display:inline}@media (max-width: 768px){.user-item-action-btn{padding:8px 10px;font-size:11px;gap:4px;flex:1;min-width:0;justify-content:center}.user-btn-text-full{display:none}.user-btn-text-short{display:inline}}.user-item-action-btn:hover{background:var(--border-light);color:var(--text-primary);border-color:var(--border-light)}.user-item-action-btn.danger:hover{background:#ef44441a;border-color:var(--err);color:var(--err)}.user-item-action-btn i{font-size:14px;flex-shrink:0}@media (max-width: 768px){.user-item-action-btn i{font-size:16px}}.users-add-button{margin-top:12px;display:flex;align-items:center;justify-content:center;gap:8px}.users-add-button i{font-size:16px}.users-empty{text-align:center;padding:40px 20px;color:var(--text-muted)}.users-empty i{font-size:48px;margin-bottom:12px;opacity:.5;display:block}.login-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--gap-lg);background:var(--bg-app);position:relative;overflow:hidden}.login-container:before{content:"";position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,var(--accent-05) 0%,transparent 70%);animation:pulse 20s ease-in-out infinite;pointer-events:none}@keyframes pulse{0%,to{transform:scale(1) rotate(0);opacity:.5}50%{transform:scale(1.1) rotate(180deg);opacity:.8}}.login-card{width:100%;max-width:420px;background:var(--bg-card);border-radius:var(--radius-l);padding:var(--gap-2xl);box-shadow:var(--shadow-card),var(--shadow-glow);border:1px solid var(--border);position:relative;z-index:1;backdrop-filter:blur(10px);transition:all var(--transition-base)}html[data-theme=light] .login-card{background:var(--bg-card);box-shadow:var(--shadow-card)}.login-header{text-align:center;margin-bottom:var(--gap-2xl)}.login-logo{height:80px;width:auto;max-width:100%;margin:0 auto var(--gap-lg);display:block;filter:drop-shadow(0 4px 12px var(--accent-glow));transition:transform var(--transition-base);object-fit:contain}.login-logo:hover{transform:scale(1.05)}.login-title{font-size:28px;font-weight:700;color:var(--text-primary);margin-bottom:var(--gap-sm);letter-spacing:-.5px}.login-subtitle{color:var(--text-muted);font-size:14px;line-height:1.5;margin:0}.login-form{display:flex;flex-direction:column;gap:var(--gap-lg);margin-bottom:var(--gap-xl)}.form-group{display:flex;flex-direction:column;gap:var(--gap-sm)}.form-label{display:flex;align-items:center;gap:var(--gap-sm);font-size:13px;font-weight:600;color:var(--text-primary);margin-bottom:var(--gap-xs)}.form-label i{font-size:16px;color:var(--accent)}.password-input-wrapper{position:relative;display:flex;align-items:center}.password-input-wrapper .input-field{padding-right:48px}.password-toggle{position:absolute;right:var(--gap-md);background:transparent;border:none;color:var(--text-muted);cursor:pointer;padding:var(--gap-xs);display:flex;align-items:center;justify-content:center;transition:color var(--transition-fast);z-index:2}.password-toggle:hover{color:var(--accent)}.password-toggle:focus{outline:2px solid var(--accent);outline-offset:2px;border-radius:var(--radius-s)}.password-toggle i{font-size:20px}.form-error{font-size:12px;color:var(--err);min-height:16px;display:flex;align-items:center;gap:var(--gap-xs);margin-top:var(--gap-xs)}.form-error:empty{display:none}.form-error i{font-size:14px}.form-error-global{font-size:13px;color:var(--err);background:var(--err-10);border:1px solid var(--err);border-radius:var(--radius-m);padding:var(--gap-md);display:none;align-items:center;gap:var(--gap-sm);margin-bottom:var(--gap-md)}.form-error-global.show{display:flex}.form-error-global i{font-size:18px;flex-shrink:0}#loginButton{margin-top:var(--gap-md);height:48px;font-size:14px;font-weight:700}#loginButton:disabled{opacity:.6;cursor:not-allowed;transform:none!important}#loginButton:disabled:active{transform:none}.login-footer{text-align:center;padding-top:var(--gap-xl);border-top:1px solid var(--border)}.login-footer-text{font-size:12px;color:var(--text-muted);margin:0}.login-language-switcher{display:flex;justify-content:center;align-items:center;margin-top:var(--gap-xl);padding-top:var(--gap-xl);border-top:1px solid var(--border)}.login-language-switcher .custom-select-container{width:200px}#loginLoader{position:fixed;inset:0;z-index:9999;display:none}@media (max-width: 480px){.login-container{padding:var(--gap-md)}.login-card{padding:var(--gap-xl);border-radius:var(--radius-m)}.login-title{font-size:24px}.login-logo{height:64px;width:auto}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.login-card{animation:fadeInUp .4s var(--transition-ease)}.input-field:focus{outline:none;border-color:var(--accent);box-shadow:0 0 0 3px var(--accent-10)}.input-field.error:focus{border-color:var(--err);box-shadow:0 0 0 3px var(--err-10)}.login-form.loading{pointer-events:none;opacity:.7}.login-form.loading .input-field{cursor:not-allowed}.error-404-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:var(--gap-lg);background:var(--bg-app);position:relative;overflow:hidden}.error-404-background{position:absolute;inset:0;pointer-events:none;z-index:0}.error-404-gradient{position:absolute;top:-50%;left:-50%;width:200%;height:200%;background:radial-gradient(circle,var(--accent-05) 0%,transparent 70%);animation:error404Pulse 20s ease-in-out infinite}@keyframes error404Pulse{0%,to{transform:scale(1) rotate(0);opacity:.3}50%{transform:scale(1.2) rotate(180deg);opacity:.6}}.error-404-particles{position:absolute;width:100%;height:100%}.particle{position:absolute;width:4px;height:4px;background:var(--accent);border-radius:50%;box-shadow:0 0 10px var(--accent-glow);opacity:.6;animation:particleFloat 8s ease-in-out infinite}.particle:nth-child(1){top:20%;left:10%;animation-delay:0s;animation-duration:10s}.particle:nth-child(2){top:60%;left:80%;animation-delay:2s;animation-duration:12s}.particle:nth-child(3){top:80%;left:30%;animation-delay:4s;animation-duration:9s}.particle:nth-child(4){top:30%;left:70%;animation-delay:1s;animation-duration:11s}.particle:nth-child(5){top:70%;left:20%;animation-delay:3s;animation-duration:13s}.particle:nth-child(6){top:10%;left:50%;animation-delay:5s;animation-duration:8s}@keyframes particleFloat{0%,to{transform:translate(0) scale(1);opacity:.3}25%{transform:translate(30px,-30px) scale(1.2);opacity:.6}50%{transform:translate(-20px,-60px) scale(.8);opacity:.4}75%{transform:translate(40px,-30px) scale(1.1);opacity:.7}}.error-404-content{position:relative;z-index:1;text-align:center;max-width:600px;width:100%;animation:error404FadeIn .6s var(--transition-ease)}@keyframes error404FadeIn{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.error-404-logo{margin-bottom:var(--gap-2xl)}.error-logo-img{height:60px;width:auto;max-width:100%;filter:drop-shadow(0 4px 12px var(--accent-glow));transition:transform var(--transition-base);object-fit:contain}.error-logo-img:hover{transform:scale(1.05)}.error-404-number{display:flex;align-items:center;justify-content:center;gap:var(--gap-md);margin-bottom:var(--gap-xl);font-size:120px;font-weight:900;line-height:1;color:var(--text-primary);text-shadow:0 0 30px var(--accent-glow);animation:error404Glow 3s ease-in-out infinite}@keyframes error404Glow{0%,to{text-shadow:0 0 30px var(--accent-glow),0 0 40px var(--accent-glow);transform:scale(1)}50%{text-shadow:0 0 50px var(--accent-glow),0 0 60px var(--accent-glow);transform:scale(1.02)}}.error-number-digit{display:inline-block;animation:error404DigitFloat 2s ease-in-out infinite}.error-number-digit:first-child{animation-delay:0s}.error-number-digit:last-child{animation-delay:1s}@keyframes error404DigitFloat{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}.error-number-icon{display:inline-flex;align-items:center;justify-content:center;width:80px;height:80px;font-size:48px;color:var(--accent);animation:error404IconRotate 4s linear infinite;filter:drop-shadow(0 0 20px var(--accent-glow))}@keyframes error404IconRotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.error-404-title{font-size:32px;font-weight:700;color:var(--text-primary);margin-bottom:var(--gap-md);letter-spacing:-.5px}.error-404-description{font-size:16px;line-height:1.6;color:var(--text-muted);margin-bottom:var(--gap-2xl);max-width:500px;margin-left:auto;margin-right:auto}.error-404-info{display:flex;flex-direction:column;gap:var(--gap-md);margin-bottom:var(--gap-2xl);padding:var(--gap-xl);background:var(--bg-card);border-radius:var(--radius-l);border:1px solid var(--border);box-shadow:var(--shadow-card)}.error-info-item{display:flex;align-items:center;gap:var(--gap-md);font-size:14px;color:var(--text-muted);text-align:left}.error-info-item i{font-size:20px;color:var(--accent);flex-shrink:0}.error-404-actions{display:flex;gap:var(--gap-md);justify-content:center;flex-wrap:wrap;margin-bottom:var(--gap-2xl)}.error-404-actions .btn{min-width:160px;height:48px;font-size:14px;font-weight:600;display:inline-flex;align-items:center;justify-content:center;gap:var(--gap-sm);text-decoration:none}.error-404-home-btn,.error-404-home-btn:hover{text-decoration:none!important}.error-404-language-switcher{display:flex;justify-content:center;align-items:center;margin-top:var(--gap-xl);padding-top:var(--gap-xl);border-top:1px solid var(--border)}.error-404-language-switcher .custom-select-container{width:200px}@media (max-width: 768px){.error-404-number{font-size:80px;gap:var(--gap-sm)}.error-number-icon{width:60px;height:60px;font-size:36px}.error-404-title{font-size:24px}.error-404-description{font-size:14px}.error-404-actions{flex-direction:column}.error-404-actions .btn{width:100%}.error-404-info{padding:var(--gap-lg)}}@media (max-width: 480px){.error-404-number{font-size:64px}.error-number-icon{width:50px;height:50px;font-size:28px}.error-404-title{font-size:20px}.error-404-description{font-size:13px}}html[data-theme=light] .error-404-gradient{opacity:.2}html[data-theme=light] .error-404-number{text-shadow:0 0 20px rgba(0,0,0,.1)}html[data-theme=light] .error-number-icon{filter:drop-shadow(0 0 10px rgba(0,0,0,.1))}html[data-theme=light] .particle{opacity:.4}
