@tailwind base;@tailwind components;@tailwind utilities;*{box-sizing:border-box}*,body,html{margin:0;padding:0}body,html{border:none;outline:none;overflow-x:hidden;overflow-y:auto;width:100%;max-width:100vw;height:auto;min-height:100vh}canvas,iframe,img{border:none;outline:none;display:block}:root{--foreground-rgb:0,0,0;--background-start-rgb:214,219,220;--background-end-rgb:255,255,255}@media (prefers-color-scheme:dark){:root{--foreground-rgb:255,255,255;--background-start-rgb:0,0,0;--background-end-rgb:0,0,0}}body{color:rgb(var(--foreground-rgb));background:linear-gradient(to bottom,transparent,rgb(var(--background-end-rgb))) rgb(var(--background-start-rgb));border:none;outline:none}@layer utilities{.text-balance{text-wrap:balance}}@keyframes gradient{0%,to{background-position:0 50%}50%{background-position:100% 50%}}.animate-gradient{background-size:200% 200%;animation:gradient 3s ease infinite}@keyframes spin-slow{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.animate-spin-slow{animation:spin-slow 10s linear infinite}::-webkit-scrollbar{width:12px;height:12px}::-webkit-scrollbar-track{background:#0a0a0f;border-left:1px solid rgba(0,255,255,.1)}::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#0ff,#f0f);border-radius:6px;border:2px solid #0a0a0f;box-shadow:0 0 10px rgba(0,255,255,.5)}::-webkit-scrollbar-thumb:hover{background:linear-gradient(180deg,#0ff,#f0f 50%,#0ff);box-shadow:0 0 20px rgba(0,255,255,.8)}.app-container{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.app-container,.map-section{width:100%;min-height:100vh;background:#0a0a0f;color:#e0e0e0}.map-container,.map-section{position:relative}.map-container{width:100%;height:100vh;overflow:hidden}.map-info-panel{position:absolute;bottom:20px;left:20px;z-index:1000;background:rgba(10,10,15,.9);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid rgba(0,255,255,.3);border-radius:8px;padding:20px;max-width:400px;box-shadow:0 0 30px rgba(0,255,255,.2)}.map-info-panel h1{color:#0ff;font-size:1.5rem;margin-bottom:10px;text-shadow:0 0 10px rgba(0,255,255,.5)}.map-info-panel p{color:#e0e0e0;font-size:.9rem;margin-bottom:20px;opacity:.8}.map-controls{display:flex;flex-direction:column;gap:15px}.map-controls label{color:#0ff;font-size:.9rem;font-weight:600}.map-controls input,.map-controls select{background:rgba(0,0,0,.5);border:1px solid rgba(0,255,255,.3);border-radius:4px;padding:8px 12px;color:#e0e0e0;font-size:.9rem;transition:all .3s ease}.map-controls input:focus,.map-controls select:focus{outline:none;border-color:#0ff;box-shadow:0 0 10px rgba(0,255,255,.3)}.back-to-landing-btn{position:fixed;top:20px;left:20px;z-index:1001;display:flex;align-items:center;gap:10px;padding:12px 24px;background:linear-gradient(135deg,rgba(0,255,255,.2),rgba(255,0,255,.2));border:2px solid rgba(0,255,255,.5);border-radius:8px;color:#0ff;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 0 20px rgba(0,255,255,.3);overflow:hidden}.back-to-landing-btn:hover{background:linear-gradient(135deg,rgba(0,255,255,.3),rgba(255,0,255,.3));border-color:#0ff;box-shadow:0 0 30px rgba(0,255,255,.5);transform:translateY(-2px)}.btn-icon{font-size:1.2rem}.btn-text{font-size:1rem}.btn-glow-effect{position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(0,255,255,.3),transparent);transition:left .5s ease}.back-to-landing-btn:hover .btn-glow-effect{left:100%}.loading{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);color:#0ff;font-size:1.2rem;text-shadow:0 0 10px rgba(0,255,255,.5);z-index:1000}.min-h-screen{min-height:100vh}.bg-\[#0A0A0F\]{background-color:#0a0a0f}.relative{position:relative}.overflow-hidden{overflow:hidden}.absolute{position:absolute}.inset-0{top:0;right:0;bottom:0;left:0}.fixed{position:fixed}.top-0{top:0}.w-full{width:100%}.z-50{z-index:50}.container{width:100%;max-width:1200px;margin:0 auto;padding:0 1rem}.mx-auto{margin-left:auto;margin-right:auto}.px-4{padding-left:1rem;padding-right:1rem}.py-4{padding-top:1rem;padding-bottom:1rem}.flex{display:flex}.items-center{align-items:center}.justify-between{justify-content:space-between}.flex-wrap{flex-wrap:wrap}.gap-4{gap:1rem}.gap-2{gap:.5rem}.text-2xl{font-size:1.5rem;line-height:2rem}.font-bold{font-weight:700}.bg-gradient-to-r{background-image:linear-gradient(to right,var(--tw-gradient-stops))}.from-cyan-400{--tw-gradient-from:#60d4ff;--tw-gradient-stops:var(--tw-gradient-from),var(--tw-gradient-to,rgba(96,212,255,0))}.via-magenta-500{--tw-gradient-stops:var(--tw-gradient-from),#d946ef,var(--tw-gradient-to,rgba(217,70,239,0))}.to-cyan-400{--tw-gradient-to:#60d4ff}.bg-clip-text{-webkit-background-clip:text;background-clip:text}.text-transparent{color:transparent}.hover\:opacity-80:hover{opacity:.8}.transition-opacity{transition-property:opacity;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.rounded-lg{border-radius:.5rem}.border{border-width:1px}.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}.font-semibold{font-weight:600}.border-cyan-400{border-color:#60d4ff}.bg-cyan-400\/20{background-color:rgba(96,212,255,.2)}.text-cyan-400{color:#60d4ff}.shadow-\[0_0_15px_rgba\(0\2c 255\2c 255\2c 0\.5\)\]{box-shadow:0 0 15px rgba(0,255,255,.5)}.border-cyan-500\/30{border-color:rgba(96,212,255,.3)}.text-cyan-500\/70{color:rgba(96,212,255,.7)}.hover\:border-cyan-400\/50:hover{border-color:rgba(96,212,255,.5)}.hover\:bg-cyan-400\/5:hover{background-color:rgba(96,212,255,.05)}.mr-2{margin-right:.5rem}.pt-24{padding-top:6rem}.z-10{z-index:10}*{scrollbar-width:thin;scrollbar-color:#0ff #0a0a0f}.standard-map-placeholder{width:100%;height:100vh;display:flex;align-items:center;justify-content:center;background:#0a0a0f;color:rgba(0,255,255,.6);font-size:18px}.circular-menu-container{position:fixed;bottom:28px;right:28px;width:74px;height:74px;display:grid;place-items:center;z-index:10000!important;pointer-events:auto}.circular-menu-toggle{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:70px;height:70px;margin:0;padding:0;line-height:1;border-radius:50%;background:linear-gradient(135deg,rgba(0,255,136,.9),rgba(0,212,255,.9));border:2px solid hsla(0,0%,100%,.3);color:#0a0e27;font-size:24px;font-weight:700;transform:none;cursor:pointer!important;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 32px rgba(0,255,136,.4);transition:all .4s cubic-bezier(.4,0,.2,1);position:relative;overflow:visible;z-index:10001!important;pointer-events:all!important;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;user-select:none}.menu-icon{pointer-events:none;z-index:1;position:relative}.circular-menu-toggle:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:hsla(0,0%,100%,.3);transform:translate(-50%,-50%);transition:width .6s,height .6s;pointer-events:none;z-index:-1}.circular-menu-toggle:hover{box-shadow:0 12px 48px rgba(0,255,136,.6)}.circular-menu-toggle:hover:before{width:100px;height:100px}.circular-menu-toggle.open{background:linear-gradient(135deg,hsla(0,100%,71%,.9),rgba(255,217,61,.9));box-shadow:0 8px 32px hsla(0,100%,71%,.4)}.circular-menu-backdrop{position:fixed;top:0;left:0;width:100%;height:100%;background:rgba(0,0,0,.1);z-index:9999;animation:fadeIn .3s ease;pointer-events:none}.circular-menu-items-centered{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);width:300px;height:300px;pointer-events:none;z-index:10001!important}.circular-menu-item{position:absolute;top:50%;left:50%;width:80px;height:80px;border-radius:50%;background:rgba(10,14,39,.95);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:2px solid rgba(0,255,136,.5);color:#0f8;display:flex;flex-direction:column;align-items:center;justify-content:center;cursor:pointer!important;transition:all .3s cubic-bezier(.4,0,.2,1);pointer-events:all!important;box-shadow:0 8px 32px rgba(0,0,0,.4);animation:menuItemAppear .4s ease both;overflow:visible;transform:translate(calc(-50% + var(--x, 0px)),calc(-50% + var(--y, 0px)));z-index:10002!important;-webkit-tap-highlight-color:transparent;-webkit-user-select:none;-moz-user-select:none;user-select:none}.circular-menu-item:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:linear-gradient(135deg,rgba(0,255,136,.2),rgba(0,212,255,.2));opacity:0;transition:opacity .3s;pointer-events:none;z-index:-1}.circular-menu-item:hover{transform:translate(calc(-50% + var(--x, 0px)),calc(-50% + var(--y, 0px))) scale(1.15);border-color:#0f8;box-shadow:0 12px 48px rgba(0,255,136,.5);color:#fff}.circular-menu-item:hover:before{opacity:1}.item-icon{font-size:28px;margin-bottom:4px;filter:drop-shadow(0 0 8px currentColor)}.item-icon,.item-label{position:relative;z-index:1;pointer-events:none}.item-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:1px}.item-glow{position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:radial-gradient(circle,rgba(0,255,136,.6) 0,transparent 70%);transform:translate(-50%,-50%);transition:width .4s,height .4s;pointer-events:none;z-index:-1}.circular-menu-item:hover .item-glow{width:120px;height:120px}@keyframes menuItemAppear{0%{opacity:0;transform:translate(-50%,-50%) scale(0)}to{opacity:1;transform:translate(calc(-50% + var(--x, 0px)),calc(-50% + var(--y, 0px))) scale(1)}}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.energy-dashboard{min-height:100vh;background:linear-gradient(135deg,#0a0e27,#1a1f3a 50%,#0f1419);color:#fff;padding:40px;position:relative;overflow-y:auto}.dashboard-close-btn{position:fixed;top:30px;right:30px;width:50px;height:50px;border-radius:50%;background:hsla(0,100%,71%,.9);border:none;color:#fff;font-size:24px;cursor:pointer;z-index:2000;transition:all .3s;box-shadow:0 4px 16px hsla(0,100%,71%,.4)}.dashboard-close-btn:hover{transform:scale(1.1);box-shadow:0 6px 24px hsla(0,100%,71%,.6)}.dashboard-header{justify-content:space-between;margin-bottom:40px;padding-bottom:20px;border-bottom:1px solid hsla(0,0%,100%,.1)}.dashboard-header,.header-left{display:flex;align-items:center}.header-left{gap:20px}.coat-of-arms{font-size:48px;filter:drop-shadow(0 0 10px rgba(0,255,136,.5))}.header-left h1{font-size:36px;font-weight:700;background:linear-gradient(135deg,#0f8,#00d4ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.header-right{display:flex;align-items:center;gap:20px}.logo-energiemonitor{font-size:18px;font-weight:600;color:#0f8}.logo-avacon{font-size:16px;color:hsla(0,0%,100%,.7)}.faq-btn{padding:10px 20px;background:hsla(0,0%,100%,.1);border:1px solid hsla(0,0%,100%,.2);border-radius:8px;color:#fff;cursor:pointer;transition:all .3s}.faq-btn:hover{background:hsla(0,0%,100%,.2)}.dashboard-main-stats{grid-template-columns:repeat(auto-fit,minmax(300px,1fr))}.main-stat-card{background:hsla(0,0%,100%,.05);-webkit-backdrop-filter:blur(20px);backdrop-filter:blur(20px);border:1px solid hsla(0,0%,100%,.1);border-radius:24px;padding:30px;text-align:center;transition:all .4s}.main-stat-card:hover{transform:translateY(-5px);border-color:rgba(0,255,136,.5);box-shadow:0 20px 60px rgba(0,255,136,.2)}.main-stat-card h2{font-size:18px;color:hsla(0,0%,100%,.7);margin-bottom:20px;font-weight:600}.stat-value-large{font-size:48px;font-weight:800;background:linear-gradient(135deg,#0f8,#00d4ff);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text;margin-bottom:10px}.stat-time{font-size:14px;color:hsla(0,0%,100%,.5)}.stat-percentage{font-size:14px;color:#0f8;margin-top:8px}.energy-flow-section{margin:60px 0;padding:40px;background:rgba(0,0,0,.3);border-radius:24px;border:1px solid hsla(0,0%,100%,.1)}.energy-flow-section h3{font-size:24px;margin-bottom:40px;text-align:center;color:#0f8}.energy-flow-container{display:flex;align-items:center;justify-content:space-between;gap:40px;min-height:400px;position:relative}.flow-consumption,.flow-generation{display:flex;flex-direction:column;gap:30px;flex:1 1}.flow-destination,.flow-source{position:relative;padding:20px;background:hsla(0,0%,100%,.05);border-radius:16px;border:1px solid rgba(0,255,136,.3);text-align:center;transition:all .3s}.flow-destination:hover,.flow-source:hover{border-color:rgba(0,255,136,.8);box-shadow:0 8px 32px rgba(0,255,136,.3);transform:scale(1.05)}.dest-value,.source-value{font-size:24px;font-weight:700;color:#0f8;margin-bottom:8px}.dest-label,.source-label{font-size:14px;color:hsla(0,0%,100%,.7);text-transform:uppercase;letter-spacing:1px}.energy-beam{position:absolute;width:4px;height:100px;background:linear-gradient(180deg,#0f8,transparent);left:50%;transform:translateX(-50%);top:100%;animation:beamFlow 2s ease-in-out infinite;box-shadow:0 0 20px rgba(0,255,136,.6)}.energy-beam.reverse{top:-100px;background:linear-gradient(0deg,#00d4ff,transparent);animation:beamFlowReverse 2s ease-in-out infinite;box-shadow:0 0 20px rgba(0,212,255,.6)}@keyframes beamFlow{0%{opacity:0;transform:translateX(-50%) translateY(0) scaleY(0)}50%{opacity:1}to{opacity:0;transform:translateX(-50%) translateY(50px) scaleY(1)}}@keyframes beamFlowReverse{0%{opacity:0;transform:translateX(-50%) translateY(0) scaleY(0)}50%{opacity:1}to{opacity:0;transform:translateX(-50%) translateY(-50px) scaleY(1)}}.flow-hub{position:relative;width:150px;height:150px;border-radius:50%;background:linear-gradient(135deg,rgba(0,255,136,.2),rgba(0,212,255,.2));border:3px solid rgba(0,255,136,.5);display:flex;flex-direction:column;align-items:center;justify-content:center;box-shadow:0 0 40px rgba(0,255,136,.4)}.hub-pulse{position:absolute;width:100%;height:100%;border-radius:50%;background:rgba(0,255,136,.3);animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1);opacity:.6}50%{transform:scale(1.2);opacity:0}}.hub-value{font-size:20px;font-weight:700;color:#0f8}.hub-label,.hub-value{position:relative;z-index:1}.hub-label{font-size:12px;color:hsla(0,0%,100%,.7)}.dashboard-detailed-stats{margin:40px 0}.stat-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));grid-gap:20px;gap:20px;margin-bottom:20px}.stat-item{background:hsla(0,0%,100%,.05);-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:1px solid hsla(0,0%,100%,.1);border-radius:16px;padding:20px;text-align:center}.stat-label-small{font-size:12px;color:hsla(0,0%,100%,.6);text-transform:uppercase;letter-spacing:1px;margin-bottom:10px}.stat-value-medium{font-size:32px;font-weight:700;color:#0f8;margin-bottom:5px}.stat-subtitle{font-size:11px;color:hsla(0,0%,100%,.5)}.time-range-selector{display:flex;gap:10px;justify-content:center;margin:40px 0;flex-wrap:wrap}.time-range-selector button{padding:12px 24px;background:hsla(0,0%,100%,.05);border:1px solid hsla(0,0%,100%,.1);border-radius:8px;color:hsla(0,0%,100%,.7);cursor:pointer;transition:all .3s;font-size:14px;font-weight:600}.time-range-selector button:hover{background:hsla(0,0%,100%,.1);border-color:rgba(0,255,136,.3)}.time-range-selector button.active{background:linear-gradient(135deg,rgba(0,255,136,.2),rgba(0,212,255,.2));border-color:rgba(0,255,136,.5);color:#0f8;box-shadow:0 4px 16px rgba(0,255,136,.2)}.dashboard-info{margin-top:40px;padding:20px;background:hsla(0,0%,100%,.03);border-radius:12px;border-left:3px solid rgba(0,255,136,.5)}.dashboard-info p{font-size:14px;line-height:1.6;color:hsla(0,0%,100%,.7)}.configurable-dashboard-wrapper,.dashboard-wrapper{min-height:100vh;position:relative}.donut-chart-wrapper{padding:20px;background:rgba(0,0,0,.2);border-radius:24px;border:1px solid rgba(0,255,136,.2);overflow:visible}.donut-chart-container,.donut-chart-wrapper{display:flex;align-items:center;justify-content:center;position:relative}.donut-chart-container{width:100%;max-width:350px;height:350px}.donut-chart-svg{width:100%;height:100%;filter:drop-shadow(0 0 20px rgba(0,255,136,.3))}.donut-ring{transition:all .3s ease}.donut-ring.outer{stroke:hsla(0,0%,100%,.15);stroke-width:2}.donut-ring.inner{stroke:hsla(0,0%,100%,.1);stroke-width:2}.donut-ring.background{fill:hsla(0,0%,100%,.02)}.donut-segment{stroke-width:10;stroke-linecap:round;animation:donutGlow 2s ease-in-out infinite;transition:stroke-dashoffset 1.5s cubic-bezier(.4,0,.2,1)}@keyframes donutGlow{0%,to{filter:url(#segment-glow);opacity:1}50%{filter:url(#segment-glow);opacity:.9}}.donut-text-time{font-weight:500;letter-spacing:.5px}.donut-text-time,.donut-text-value{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.donut-text-value{font-weight:700;letter-spacing:-1px;animation:valuePulse 2s ease-in-out infinite}@keyframes valuePulse{0%,to{filter:drop-shadow(0 0 8px rgba(0,255,136,.6))}50%{filter:drop-shadow(0 0 16px rgba(0,255,136,.9))}}.donut-text-subhead{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;font-weight:400;letter-spacing:.3px}.dashboard-main-stats{display:grid;grid-template-columns:repeat(auto-fit,minmax(280px,1fr));grid-gap:30px;gap:30px;margin-bottom:40px;align-items:start}.donut-chart-wrapper{grid-column:span 1;min-height:350px}@media (max-width:1200px){.dashboard-main-stats{grid-template-columns:repeat(2,1fr)}.donut-chart-wrapper{grid-column:span 2}}@media (max-width:768px){.dashboard-main-stats{grid-template-columns:1fr}.donut-chart-wrapper{grid-column:span 1}.donut-chart-container{max-width:280px;height:280px}}