@layer properties{@supports ((-webkit-hyphens:none) and (not (margin-trim:inline))) or ((-moz-orient:inline) and (not (color:rgb(from red r g b)))){*,:before,:after,::backdrop{--tw-translate-x:0;--tw-translate-y:0;--tw-translate-z:0;--tw-scale-x:1;--tw-scale-y:1;--tw-scale-z:1;--tw-rotate-x:initial;--tw-rotate-y:initial;--tw-rotate-z:initial;--tw-skew-x:initial;--tw-skew-y:initial;--tw-border-style:solid;--tw-shadow:0 0 #0000;--tw-shadow-color:initial;--tw-shadow-alpha:100%;--tw-inset-shadow:0 0 #0000;--tw-inset-shadow-color:initial;--tw-inset-shadow-alpha:100%;--tw-ring-color:initial;--tw-ring-shadow:0 0 #0000;--tw-inset-ring-color:initial;--tw-inset-ring-shadow:0 0 #0000;--tw-ring-inset:initial;--tw-ring-offset-width:0px;--tw-ring-offset-color:#fff;--tw-ring-offset-shadow:0 0 #0000;--tw-outline-style:solid;--tw-blur:initial;--tw-brightness:initial;--tw-contrast:initial;--tw-grayscale:initial;--tw-hue-rotate:initial;--tw-invert:initial;--tw-opacity:initial;--tw-saturate:initial;--tw-sepia:initial;--tw-drop-shadow:initial;--tw-drop-shadow-color:initial;--tw-drop-shadow-alpha:100%;--tw-drop-shadow-size:initial;--tw-duration:initial}}}.\@container{container-type:inline-size}.collapse{visibility:collapse}.absolute{position:absolute}.fixed{position:fixed}.relative{position:relative}.top-1\/2{top:50%}.left-1\/2{left:50%}.z-10{z-index:10}.col-span-1{grid-column:span 1/span 1}.col-span-6{grid-column:span 6/span 6}.col-start-1{grid-column-start:1}.col-start-3{grid-column-start:3}.col-start-5{grid-column-start:5}.container{width:100%}.mx-auto{margin-inline:auto}.ml-auto{margin-left:auto}.block{display:block}.flex{display:flex}.grid{display:grid}.hidden{display:none}.inline-block{display:inline-block}.inline-flex{display:inline-flex}.h-full{height:100%}.min-h-screen{min-height:100vh}.w-full{width:100%}.flex-1{flex:1}.-translate-x-1\/2{--tw-translate-x: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.-translate-y-1\/2{--tw-translate-y: -50% ;translate:var(--tw-translate-x)var(--tw-translate-y)}.scale-105{--tw-scale-x:105%;--tw-scale-y:105%;--tw-scale-z:105%;scale:var(--tw-scale-x)var(--tw-scale-y)}.scale-110{--tw-scale-x:110%;--tw-scale-y:110%;--tw-scale-z:110%;scale:var(--tw-scale-x)var(--tw-scale-y)}.transform{transform:var(--tw-rotate-x,)var(--tw-rotate-y,)var(--tw-rotate-z,)var(--tw-skew-x,)var(--tw-skew-y,)}.cursor-pointer{cursor:pointer}.appearance-none{-webkit-appearance:none;-moz-appearance:none;appearance:none}.grid-cols-1{grid-template-columns:repeat(1,minmax(0,1fr))}.grid-cols-2{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))}.grid-cols-7{grid-template-columns:repeat(7,minmax(0,1fr))}.flex-col{flex-direction:column}.flex-wrap{flex-wrap:wrap}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-between{justify-content:space-between}.justify-center{justify-content:center}.overflow-hidden{overflow:hidden}.overflow-x-auto{overflow-x:auto}.rounded-full{border-radius:3.40282e38px}.border{border-style:var(--tw-border-style);border-width:1px}.border-2{border-style:var(--tw-border-style);border-width:2px}.border-t{border-top-style:var(--tw-border-style);border-top-width:1px}.bg-transparent{background-color:#0000}.bg-gradient-to-br{--tw-gradient-position:to bottom right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.bg-gradient-to-r{--tw-gradient-position:to right in oklab;background-image:linear-gradient(var(--tw-gradient-stops))}.text-center{text-align:center}.text-right{text-align:right}.break-words{overflow-wrap:break-word}.whitespace-nowrap{white-space:nowrap}.capitalize{text-transform:capitalize}.italic{font-style:italic}.underline{text-decoration-line:underline}.opacity-20{opacity:.2}.opacity-70{opacity:.7}.opacity-90{opacity:.9}.opacity-100{opacity:1}.shadow-\[0_14px_36px_rgba\(2\,6\,23\,0\.34\)\]{--tw-shadow:0 14px 36px var(--tw-shadow-color,#02061757);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.shadow-\[0_14px_36px_rgba\(2\,6\,23\,0\.35\)\]{--tw-shadow:0 14px 36px var(--tw-shadow-color,#02061759);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}.outline{outline-style:var(--tw-outline-style);outline-width:1px}.filter{filter:var(--tw-blur,)var(--tw-brightness,)var(--tw-contrast,)var(--tw-grayscale,)var(--tw-hue-rotate,)var(--tw-invert,)var(--tw-saturate,)var(--tw-sepia,)var(--tw-drop-shadow,)}.transition{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to,opacity,box-shadow,transform,translate,scale,rotate,filter,backdrop-filter,display,content-visibility,overlay,pointer-events;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-all{transition-property:all;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-colors{transition-property:color,background-color,border-color,outline-color,text-decoration-color,fill,stroke,--tw-gradient-from,--tw-gradient-via,--tw-gradient-to;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-opacity{transition-property:opacity;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-shadow{transition-property:box-shadow;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.transition-transform{transition-property:transform,translate,scale,rotate;transition-timing-function:var(--tw-ease,ease);transition-duration:var(--tw-duration,0s)}.delay-100{transition-delay:.1s}.delay-200{transition-delay:.2s}.delay-300{transition-delay:.3s}.delay-400{transition-delay:.4s}.delay-500{transition-delay:.5s}.duration-300{--tw-duration:.3s;transition-duration:.3s}.duration-500{--tw-duration:.5s;transition-duration:.5s}.focus\:border-transparent:focus{border-color:#0000}.focus\:ring-2:focus{--tw-ring-shadow:var(--tw-ring-inset,)0 0 0 calc(2px + var(--tw-ring-offset-width))var(--tw-ring-color,currentcolor);box-shadow:var(--tw-inset-shadow),var(--tw-inset-ring-shadow),var(--tw-ring-offset-shadow),var(--tw-ring-shadow),var(--tw-shadow)}:root{color-scheme:light dark;color:#ffffffde;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background-color:#242424;font-family:system-ui,Avenir,Helvetica,Arial,sans-serif;font-weight:400;line-height:1.5}a{color:#646cff;-webkit-text-decoration:inherit;text-decoration:inherit;font-weight:500}a:hover{color:#535bf2}body{min-width:320px;min-height:100vh;margin:0}html,body,#root{width:100%;min-height:100%}h1{font-size:3.2em;line-height:1.1}button{cursor:pointer;background-color:#1a1a1a;border:1px solid #0000;border-radius:8px;padding:.6em 1.2em;font-family:inherit;font-size:1em;font-weight:500;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}@property --tw-translate-x{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-y{syntax:"*";inherits:false;initial-value:0}@property --tw-translate-z{syntax:"*";inherits:false;initial-value:0}@property --tw-scale-x{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-y{syntax:"*";inherits:false;initial-value:1}@property --tw-scale-z{syntax:"*";inherits:false;initial-value:1}@property --tw-rotate-x{syntax:"*";inherits:false}@property --tw-rotate-y{syntax:"*";inherits:false}@property --tw-rotate-z{syntax:"*";inherits:false}@property --tw-skew-x{syntax:"*";inherits:false}@property --tw-skew-y{syntax:"*";inherits:false}@property --tw-border-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-shadow-color{syntax:"*";inherits:false}@property --tw-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-inset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-shadow-color{syntax:"*";inherits:false}@property --tw-inset-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-ring-color{syntax:"*";inherits:false}@property --tw-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-inset-ring-color{syntax:"*";inherits:false}@property --tw-inset-ring-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-ring-inset{syntax:"*";inherits:false}@property --tw-ring-offset-width{syntax:"<length>";inherits:false;initial-value:0}@property --tw-ring-offset-color{syntax:"*";inherits:false;initial-value:#fff}@property --tw-ring-offset-shadow{syntax:"*";inherits:false;initial-value:0 0 #0000}@property --tw-outline-style{syntax:"*";inherits:false;initial-value:solid}@property --tw-blur{syntax:"*";inherits:false}@property --tw-brightness{syntax:"*";inherits:false}@property --tw-contrast{syntax:"*";inherits:false}@property --tw-grayscale{syntax:"*";inherits:false}@property --tw-hue-rotate{syntax:"*";inherits:false}@property --tw-invert{syntax:"*";inherits:false}@property --tw-opacity{syntax:"*";inherits:false}@property --tw-saturate{syntax:"*";inherits:false}@property --tw-sepia{syntax:"*";inherits:false}@property --tw-drop-shadow{syntax:"*";inherits:false}@property --tw-drop-shadow-color{syntax:"*";inherits:false}@property --tw-drop-shadow-alpha{syntax:"<percentage>";inherits:false;initial-value:100%}@property --tw-drop-shadow-size{syntax:"*";inherits:false}@property --tw-duration{syntax:"*";inherits:false}.ev-dashboard{width:100%;max-width:100%;min-width:0;margin:0;padding:0;display:flex;flex-direction:column;gap:16px;color:#e2e8f0}.ev-section-card{width:100%;min-width:0;overflow:visible}.ev-dashboard h2{color:#e2e8f0;margin:0 0 12px;font-size:1.5rem;font-weight:700}.ev-dashboard p{font-size:.98rem;margin:0;color:#cbd5e1;line-height:1.45;overflow-wrap:anywhere}.ev-subtitle{margin-bottom:14px!important;color:#cbd5e1}.ev-info-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--tab-grid-compact-min)),1fr));gap:10px;margin-bottom:14px}.ev-info-grid>div{background:#020617bd;border:1px solid rgba(71,85,105,.45);border-radius:8px;padding:10px 12px;display:flex;flex-direction:column;gap:4px;min-width:0}.ev-label{font-size:.78rem;color:#94a3b8;font-weight:600;overflow-wrap:anywhere;word-break:break-word}.ev-value{font-size:1rem;color:#f8fafc;font-weight:700;overflow-wrap:anywhere;word-break:break-word}.ev-status{font-weight:700;color:#22c55e}.ev-status.not-charging{color:#f87171}.ev-power-select{display:flex;align-items:center;gap:8px;margin-bottom:12px;flex-wrap:wrap}.ev-power-select select{background:#020617bd;color:#e2e8f0;border:1px solid rgba(71,85,105,.65);border-radius:8px;padding:.42rem .58rem;max-width:100%}.ev-dashboard .ev-actions{margin-top:.5rem;display:flex;gap:.75rem;flex-wrap:wrap}.ev-dashboard button{background:linear-gradient(90deg,#0ea5e9,#14b8a6);color:#f8fafc;border:1px solid rgba(125,211,252,.38);border-radius:999px;padding:var(--tab-button-padding);min-height:var(--tab-button-min-height);font-size:var(--tab-button-font-size);font-weight:700;cursor:pointer;transition:transform .14s ease,filter .14s ease}.ev-dashboard button:hover{transform:translateY(-1px);filter:brightness(1.05)}.ev-dashboard button:disabled{cursor:not-allowed;opacity:.62;transform:none;filter:none}.ev-dashboard .ev-actions button{flex:1 1 180px;min-width:0}@media(max-width:640px){.ev-dashboard .ev-actions button{flex-basis:100%}.ev-power-select{align-items:stretch}}._v2h-container_b7fn0_1{background:#f6f8fa;border-radius:12px;box-shadow:0 2px 8px #00000012;padding:1.5rem 2rem;margin:2rem 0;max-width:420px;position:relative}._v2h-status_b7fn0_10{font-size:1.1rem;margin-bottom:1rem}._v2h-buttons_b7fn0_14{display:flex;gap:1rem;margin-bottom:1.5rem}._v2h-buttons_b7fn0_14 button{padding:.5rem 1.2rem;font-size:1rem;border-radius:6px;border:none;color:#fff;cursor:pointer;transition:background .2s}._v2h-buttons_b7fn0_14 button:disabled{background:#bdbdbd;cursor:not-allowed}._v2h-buttons_b7fn0_14 button._active_b7fn0_32{background:#43a047}._v2h-buttons_b7fn0_14 button._inactive_b7fn0_35{background:#bdbdbd;color:#333}._v2h-recommendation_b7fn0_39{background:#e3f2fd;border-radius:8px;padding:1rem;margin-top:1rem}._v2h-recommendation_b7fn0_39 strong{color:#1976d2}._v2h-confirm-dialog_b7fn0_48{position:absolute;top:0;left:0;width:100%;height:100%;background:#0000002e;display:flex;align-items:center;justify-content:center;z-index:10}._v2h-confirm-content_b7fn0_60{background:#fff;border-radius:10px;box-shadow:0 2px 12px #00000021;padding:2rem 2.5rem;text-align:center}._v2h-confirm-buttons_b7fn0_67{display:flex;gap:1.5rem;margin-top:1.5rem;justify-content:center}._card_b7fn0_75{background:#0f172ac7;border:1px solid rgba(148,163,184,.22);border-radius:12px;box-shadow:0 14px 36px #02061757;padding:1.25rem 1.4rem;margin-top:0;color:#e2e8f0}._heroImageContainer_b7fn0_85{width:90%;max-width:800px;margin:1.5rem auto;padding:1rem;background:linear-gradient(135deg,#06b6d41a,#8b5cf61a);border-radius:16px;border:1px solid rgba(103,232,249,.2);box-shadow:0 8px 32px #02061766}._heroImage_b7fn0_85{width:80%;max-width:520px;border-radius:12px;margin:.75rem auto 1rem;box-shadow:0 8px 24px #02061752;display:block;-o-object-fit:contain;object-fit:contain}._wallboxSelect_b7fn0_106{margin-top:1rem;margin-bottom:.75rem}._wallboxSelect_b7fn0_106 select{display:inline-block;margin-left:.5rem;padding:.3rem .6rem;border-radius:8px;border:1px solid rgba(71,85,105,.65);background:#020617bd;color:#e2e8f0}._wallboxInfo_b7fn0_121{margin-top:.5rem;font-size:.9rem}._error_b7fn0_126{margin-top:.75rem;color:#f87171;font-size:.9rem}._buttonRow_b7fn0_132{display:flex;gap:.75rem;margin-top:1rem}._button_b7fn0_132{padding:var(--tab-button-padding);min-height:var(--tab-button-min-height);font-size:var(--tab-button-font-size);border-radius:999px;border:1px solid rgba(125,211,252,.38);cursor:pointer;color:#f8fafc;font-weight:700;background:linear-gradient(90deg,#0ea5e9,#14b8a6)}._active_b7fn0_32{background:linear-gradient(90deg,#0f766e,#14b8a6)}._inactive_b7fn0_35{background:#334155b8;border:1px solid rgba(148,163,184,.45)}._modal_b7fn0_159{position:fixed;inset:0;display:flex;align-items:center;justify-content:center;background:#020617a6;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:50}._modalContent_b7fn0_170{background:#0f172af2;border:1px solid rgba(148,163,184,.28);box-shadow:0 20px 44px #02061780;border-radius:14px;padding:1.15rem 1.2rem;max-width:520px;color:#e2e8f0}._hint_b7fn0_180{margin-top:.5rem;font-size:.85rem;color:#94a3b8}.device-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:2rem;margin:2rem 0}:root{--accent-battery: #00d27a;--accent-inverter: #ffb020;--accent-smartmeter: #2dd4ff;--accent-wallbox: #b388ff;--accent-label: #7dd3fc;--accent-status: #a5b4fc;--accent-status-connected: #22c55e;--accent-status-partial: #f59e0b;--accent-status-offline: #f87171}.device-card{background:#0f172ad6;border-radius:1.2rem;box-shadow:0 12px 30px #02061759;padding:2rem 1.2rem;text-align:center;transition:box-shadow .2s,border .2s;border-left:8px solid rgba(148,163,184,.45);border:1px solid rgba(148,163,184,.28)}.device-card.active{border-left:8px solid var(--accent-status-connected)}.device-card.error{border-left:8px solid var(--accent-status-offline)}.device-card.offline{border-left:8px solid #64748b}.device-icon{font-size:3rem;margin-bottom:1rem;color:#67e8f9}.device-type{font-weight:800;font-size:1.35rem;margin-bottom:.5rem;color:#f8fafc;letter-spacing:.02em}.device-name{font-size:1.05rem;margin-bottom:.5rem;color:#cbd5e1}.device-connection{font-size:.95rem;margin-bottom:.5rem;color:#cbd5e1}.device-connection strong{color:var(--accent-label)}.device-connection span{color:#e2e8f0;font-weight:600}.device-status{margin:.5rem 0;font-size:1rem;color:#cbd5e1}.device-status strong{color:var(--accent-status)}.device-status span{font-weight:800;color:var(--accent-status-connected)}.device-card.status-partially-connected .device-status span{color:var(--accent-status-partial)}.device-card.status-offline .device-status span,.device-card.status-failed .device-status span,.device-card.status-error .device-status span{color:var(--accent-status-offline)}.device-card.device-type-battery .device-type,.device-card.device-type-battery-storage .device-type,.device-card.device-type-heimspeicher .device-type,.device-card.device-type-batteriespeicher .device-type{color:var(--accent-battery)}.device-card.device-type-battery,.device-card.device-type-battery-storage,.device-card.device-type-heimspeicher,.device-card.device-type-batteriespeicher{border-left-color:var(--accent-battery)}.device-card.device-type-inverter .device-type{color:var(--accent-inverter)}.device-card.device-type-inverter{border-left-color:var(--accent-inverter)}.device-card.device-type-smart-meter .device-type{color:var(--accent-smartmeter)}.device-card.device-type-smart-meter{border-left-color:var(--accent-smartmeter)}.device-card.device-type-wallbox .device-type{color:var(--accent-wallbox)}.device-card.device-type-wallbox{border-left-color:var(--accent-wallbox)}.device-card.device-type-battery .device-icon,.device-card.device-type-battery-storage .device-icon,.device-card.device-type-heimspeicher .device-icon,.device-card.device-type-batteriespeicher .device-icon{color:var(--accent-battery)}.device-card.device-type-inverter .device-icon{color:var(--accent-inverter)}.device-card.device-type-smart-meter .device-icon{color:var(--accent-smartmeter)}.device-card.device-type-wallbox .device-icon{color:var(--accent-wallbox)}.device-action{background:linear-gradient(90deg,#0ea5e9,#14b8a6);color:#fff;border:none;border-radius:.7rem;padding:.6rem 1.4rem;cursor:pointer;margin-top:1rem;font-size:1rem;font-weight:700;letter-spacing:.01em;box-shadow:0 8px 20px #14b8a652}.device-action:hover{background:linear-gradient(90deg,#0284c7,#0d9488)}@media(max-width:700px){.device-grid{grid-template-columns:1fr}}:root{--tab-title-color: #e2e8f0;--tab-surface-bg: rgba(15, 23, 42, .78);--tab-surface-border: 1px solid rgba(148, 163, 184, .22);--tab-surface-shadow: 0 14px 36px rgba(2, 6, 23, .34);--tab-button-min-height: 40px;--tab-button-padding: .52rem 1rem;--tab-button-font-size: 13px;--tab-grid-main-min: 320px;--tab-grid-compact-min: 220px;--tab-dialog-min-width: min(340px, 92vw);--tab-header-image-height: clamp(340px, 46vw, 680px)}*{box-sizing:border-box}body{background:linear-gradient(135deg,#4f5bd5,#6a82fb);color:#222}.button{background-color:#4f5bd5;color:#fff;border:none;border-radius:6px;padding:10px 18px;margin-top:16px;font-size:1rem;cursor:pointer;transition:background .2s}.button:hover{background-color:#6a82fb}.ev-card{background:#fff;border-radius:16px;box-shadow:0 2px 8px #2c3e501f;padding:32px 24px;margin:24px 0;max-width:600px}.ev-card h2{color:#4f5bd5;margin-bottom:16px}.ev-card select,.ev-card input,.ev-card textarea{width:100%;margin:8px 0;padding:10px;border-radius:6px;border:1px solid #ccc;background:#fff;font-size:1rem}.ev-card button{background-color:#1976d2;color:#fff;border:none;border-radius:6px;padding:10px 18px;margin-top:16px;font-size:1rem;cursor:pointer;transition:background .2s}.ev-card button:hover{background-color:#1565c0}.ev-form-row{display:flex;gap:24px;margin-bottom:16px}.ev-form-group{flex:1;display:flex;flex-direction:column}.ev-form-group label{margin-bottom:6px;font-weight:500;color:#4f5bd5}.ev-form-group select,.ev-form-group input,.ev-form-group textarea{background:#f5f7fa;color:#222;border:1px solid #4f5bd5;border-radius:6px;padding:10px;font-size:1rem;margin-bottom:8px;transition:border .2s}.ev-form-group select:focus,.ev-form-group input:focus,.ev-form-group textarea:focus{border-color:#6a82fb;outline:none}.ev-profile-details{background:#eef2fa;border-radius:8px;padding:16px;margin-top:12px;font-size:1rem;color:#222}.dashboard-grid{display:grid;grid-template-columns:1fr 1fr;grid-template-rows:auto auto auto;gap:32px;margin:32px}.dashboard-section{background:#fff;border-radius:16px;box-shadow:0 2px 8px #2c3e5014;padding:24px;min-width:320px}.dashboard-section h3{color:#4f5bd5;margin-bottom:16px}.ev-profile-list-item{display:flex;justify-content:space-between;align-items:center;padding:8px 0;border-bottom:1px solid #eee}.ev-profile-list-item:last-child{border-bottom:none}.main-app{font-family:Inter,Arial,sans-serif;background:#eef2f6;min-height:100vh;padding:0 2vw}header{padding:2rem 0 1rem;text-align:center;background:#fff;box-shadow:0 2px 8px #0000000a;margin-bottom:2rem}nav{text-align:center}.household-dashboard,.ki-dashboard{width:100%;max-width:100%;min-width:0;padding:0;margin:0;background:transparent;box-shadow:none}.household-dashboard h2,.ki-dashboard h2{color:var(--tab-title-color);margin-bottom:1rem}.tab-modern-card{background:var(--tab-surface-bg);border:var(--tab-surface-border);box-shadow:var(--tab-surface-shadow);border-radius:12px;padding:20px;width:100%;max-width:100%;min-width:0;overflow:visible}.tab-modern-card>*{min-width:0}@media(max-width:768px){.tab-modern-card{padding:14px}}.tab-content-full{width:100%;max-width:100%;min-width:0;margin:0}.tab-grid-main{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--tab-grid-main-min)),1fr));gap:24px}.tab-grid-compact{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,var(--tab-grid-compact-min)),1fr));gap:12px}.tab-page-title{color:var(--tab-title-color);font-size:24px;font-weight:700;margin:0 0 10px;line-height:1.2;letter-spacing:.01em}.tab-page-subtitle{margin:0 0 16px;color:#94a3b8;font-size:.95rem;line-height:1.45}.tab-section-title{margin:0 0 12px;color:#e2e8f0;font-size:1.2rem;font-weight:700;line-height:1.25}.tab-section-subtitle{margin:0 0 10px;color:#94a3b8;font-size:.88rem;line-height:1.4}.ki-dashboard p strong{color:#67e8f9}.ui-focusable{outline:none;transition:transform .14s ease,filter .14s ease,box-shadow .18s ease}.ui-focusable:hover{transform:translateY(-1px);filter:brightness(1.03)}.ui-focusable:active{transform:translateY(0) scale(.99);filter:brightness(.98)}.ui-focusable:focus-visible{outline:2px solid #67e8f9;outline-offset:3px;box-shadow:0 0 0 4px #67e8f938,0 0 0 8px #0ea5e924}@media(prefers-reduced-motion:reduce){.ui-focusable{transition:none}.ui-focusable:hover,.ui-focusable:active{transform:none;filter:none}}@media(max-width:768px){:root{--tab-grid-main-min: 260px;--tab-grid-compact-min: 180px}.dashboard-grid{grid-template-columns:1fr;gap:16px;margin:12px 0}.dashboard-section{min-width:0;padding:16px}.ev-card{max-width:100%;padding:16px;margin:12px 0}.ev-form-row{flex-direction:column;gap:12px}.tab-grid-main,.tab-grid-compact{grid-template-columns:1fr;gap:12px}}@media(max-width:480px){:root{--tab-header-image-height: clamp(260px, 62vw, 440px)}}@keyframes fadeInUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInDown{0%{opacity:0;transform:translateY(-30px)}to{opacity:1;transform:translateY(0)}}@keyframes fadeInLeft{0%{opacity:0;transform:translate(-30px)}to{opacity:1;transform:translate(0)}}@keyframes fadeInRight{0%{opacity:0;transform:translate(30px)}to{opacity:1;transform:translate(0)}}@keyframes scaleIn{0%{opacity:0;transform:scale(.9)}to{opacity:1;transform:scale(1)}}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.85;transform:scale(1.05)}}@keyframes glow{0%,to{box-shadow:0 0 20px #67e8f94d}50%{box-shadow:0 0 40px #67e8f999}}@keyframes shimmer{0%{background-position:-1000px 0}to{background-position:1000px 0}}@keyframes slideInUp{0%{transform:translateY(100%);opacity:0}to{transform:translateY(0);opacity:1}}@keyframes bounce{0%,to{transform:translateY(0)}50%{transform:translateY(-10px)}}@keyframes rotate{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@keyframes energyFlow{0%{stroke-dashoffset:1000}to{stroke-dashoffset:0}}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}@keyframes slideDown{0%{max-height:0;opacity:0}to{max-height:500px;opacity:1}}.animate-page-enter{animation:fadeInUp .6s cubic-bezier(.16,1,.3,1) forwards}.animate-stagger-1{animation-delay:.1s;opacity:0}.animate-stagger-2{animation-delay:.2s;opacity:0}.animate-stagger-3{animation-delay:.3s;opacity:0}.animate-stagger-4{animation-delay:.4s;opacity:0}.animate-stagger-5{animation-delay:.5s;opacity:0}.tab-modern-card,.metric-card,.device-card{animation:scaleIn .5s cubic-bezier(.16,1,.3,1) forwards;transition:all .3s cubic-bezier(.16,1,.3,1)}.tab-modern-card:hover,.metric-card:hover,.device-card:hover{transform:translateY(-4px) scale(1.01);box-shadow:0 20px 60px #67e8f926,0 0 40px #67e8f91a}button,.btn,.button{position:relative;overflow:hidden;transition:all .3s cubic-bezier(.16,1,.3,1)}button:before,.btn:before,.button:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#fff3;transform:translate(-50%,-50%);transition:width .6s,height .6s}button:active:before,.btn:active:before,.button:active:before{width:300px;height:300px}button:hover,.btn:hover,.button:hover{transform:translateY(-2px);box-shadow:0 10px 30px #67e8f94d}button:active,.btn:active,.button:active{transform:translateY(0)}.energy-flow-line{stroke-dasharray:10 5;animation:energyFlow 2s linear infinite}.energy-pulse{animation:pulse 2s ease-in-out infinite}.energy-glow{animation:glow 2s ease-in-out infinite}.charging-active{animation:pulse 1.5s ease-in-out infinite;box-shadow:0 0 30px #22c55e80}.exporting-active{animation:pulse 1.5s ease-in-out infinite;box-shadow:0 0 30px #fb923c80}.importing-active{animation:pulse 1.5s ease-in-out infinite;box-shadow:0 0 30px #6366f180}.status-dot{width:8px;height:8px;border-radius:50%;display:inline-block;margin-right:8px}.status-live{background:#22c55e;animation:pulse 2s ease-in-out infinite;box-shadow:0 0 10px #22c55e99}.status-offline{background:#ef4444;opacity:.5}.status-connecting{background:#f59e0b;animation:pulse 1s ease-in-out infinite}.skeleton-loading{background:linear-gradient(90deg,#cbd5e11a,#cbd5e133,#cbd5e11a);background-size:200% 100%;animation:shimmer 1.5s ease-in-out infinite;border-radius:8px}.spinner{width:40px;height:40px;border:3px solid rgba(103,232,249,.2);border-top-color:#67e8f9;border-radius:50%;animation:rotate .8s linear infinite}.value-increase{animation:bounce .5s ease-out;color:#22c55e}.value-decrease{animation:bounce .5s ease-out;color:#ef4444}.tab-content-full{animation:fadeInUp .4s cubic-bezier(.16,1,.3,1) forwards}.tabs-container button{position:relative;transition:all .3s cubic-bezier(.16,1,.3,1)}.tabs-container button:after{content:"";position:absolute;bottom:0;left:50%;width:0;height:2px;background:linear-gradient(90deg,#67e8f9,#3b82f6);transform:translate(-50%);transition:width .3s cubic-bezier(.16,1,.3,1)}.tabs-container button:hover:after,.tabs-container button.active:after{width:80%}.gradient-bg-animated{background:linear-gradient(-45deg,#020617,#0b1220,#1e293b,#0f172a);background-size:400% 400%;animation:gradientShift 15s ease infinite}.toast-enter{animation:slideInUp .3s cubic-bezier(.16,1,.3,1) forwards}.toast-exit{animation:fadeInDown .3s cubic-bezier(.16,1,.3,1) reverse forwards}.clickable{cursor:pointer;transition:all .2s cubic-bezier(.16,1,.3,1)}.clickable:hover{transform:translateY(-2px)}.clickable:active{transform:translateY(0) scale(.98)}.chart-container{animation:fadeInUp .6s cubic-bezier(.16,1,.3,1) forwards}.chart-bar{animation:scaleIn .5s cubic-bezier(.16,1,.3,1) forwards;transform-origin:bottom}.chart-line{stroke-dasharray:1000;stroke-dashoffset:1000;animation:energyFlow 2s cubic-bezier(.16,1,.3,1) forwards}.float-animation{animation:float 3s ease-in-out infinite}.float-delayed{animation:float 3s ease-in-out infinite;animation-delay:1s}.expand-enter{animation:slideDown .3s cubic-bezier(.16,1,.3,1) forwards}.expand-exit{animation:slideDown .3s cubic-bezier(.16,1,.3,1) reverse forwards}@media(prefers-reduced-motion:reduce){*,*:before,*:after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}.animate-fade-in{animation:fadeInUp .5s ease forwards}.animate-scale-in{animation:scaleIn .5s ease forwards}.animate-slide-in-left{animation:fadeInLeft .5s ease forwards}.animate-slide-in-right{animation:fadeInRight .5s ease forwards}.animate-pulse{animation:pulse 2s ease-in-out infinite}.animate-spin{animation:rotate 1s linear infinite}.animate-bounce{animation:bounce 1s ease infinite}.animate-float{animation:float 3s ease-in-out infinite}.delay-100{animation-delay:.1s}.delay-200{animation-delay:.2s}.delay-300{animation-delay:.3s}.delay-500{animation-delay:.5s}.delay-700{animation-delay:.7s}.glass-effect{background:#0f172ab3;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px);border:1px solid rgba(103,232,249,.2);transition:all .3s cubic-bezier(.16,1,.3,1)}.glass-effect:hover{background:#0f172acc;border-color:#67e8f966;box-shadow:0 20px 60px #67e8f926}.neon-glow{text-shadow:0 0 10px rgba(103,232,249,.8),0 0 20px rgba(103,232,249,.6),0 0 30px rgba(103,232,249,.4)}.border-glow{border:1px solid rgba(103,232,249,.3);box-shadow:0 0 20px #67e8f933,inset 0 0 20px #67e8f91a}
