@charset "UTF-8";@import url(https://fonts.googleapis.com/css2?family=Merriweather&display=swap);@import url(https://fonts.googleapis.com/css2?family=Roboto+Slab&display=swap);@import url(https://fonts.googleapis.com/css2?family=Manrope:wght@400;500;600;700;800&family=Montserrat:wght@400;500;600;700&display=swap);body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Inter,sans-serif;height:100vh}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}:root{--amplify-primary-color:#6e0e2e;--amplify-primary-tint:#3f6060;--amplify-primary-shade:#2dba89;--amplify-background-color:#e0faf4}.card{background-color:#f9fafb!important}.flexcentere{align-items:center;display:flex;justify-content:center}.thick-arrow-down{transform:rotate(45deg)}.thick-arrow-down,.thick-arrow-up{border:5px solid #ff2626;border-left:0;border-top:0;height:20px;width:20px}.thick-arrow-up{transform:rotate(225deg)}.side_padding{margin-top:10px}@media(min-width:1200){.container{max-width:1366px!important}}.buttonright{display:flex;justify-content:right;margin-bottom:1rem}.button_color{background-color:#33404de6!important;border-radius:8px!important;color:#fff!important;font-family:Inter!important;font-size:16px!important;font-style:normal!important;font-weight:400!important;line-height:normal!important}.amplify-button--primary{background-color:#5570f1!important;background-color:var(--primary,#5570f1)!important;border:none;border-radius:4px}#cardBody{position:relative;z-index:5!important}.dataGridSearch{align-items:center;border:none!important;border-radius:8px!important;box-sizing:border-box;color:#212b36;cursor:text;display:inline-flex;font-weight:400;line-height:1.4375em;padding-left:14px;position:relative}.dataGridSearchinput{-webkit-tap-highlight-color:transparent;animation-duration:10ms;animation-name:mui-auto-fill-cancel;background:none;border:0;box-sizing:initial;color:currentcolor;display:block;font:inherit;height:1.4375em;letter-spacing:inherit;margin:0;padding:16.5px 24px 16.5px 0}.data-grid .MuiDataGrid-row.Mui-selected{background-color:#ff1e1e}.datagridIcon_div{align-items:center;color:#2586d5;display:flex;flex-direction:row;font-size:.875rem;font-weight:600;text-decoration:none}.datagridIcon_img{font-size:14px;height:40px}.datagridIcon_img,.datagridIcon_img1{align-items:center;background-color:#f5f5f5;border-radius:40px;display:flex;flex-shrink:0;font-family:Inter,sans-serif;font-weight:600;justify-content:center;letter-spacing:0;line-height:1;overflow:hidden;position:relative;-webkit-user-select:none;user-select:none;width:40px}.datagridIcon_img1{font-size:80px;height:50px}.data-grid::-webkit-scrollbar{display:none}.data-grid{-ms-overflow-style:none;scrollbar-width:none}.notification-badge{bottom:20px;left:27px;position:absolute}.center{left:50%;margin:0;position:absolute;top:50%;transform:translate(-50%,-50%)}.login_Header{align-items:center;display:flex;height:50px;justify-content:space-between;width:100%}.vflow_logo_login{margin-left:-60px}.bg-image{background-image:url(/static/media/BgImg.6e9cc9997d78ae3a083d.jpg);background-position:50%;background-repeat:no-repeat;background-size:cover;height:100vh;width:100vw}.login-navbar{background:#0000!important;padding-bottom:6px;padding-top:6px}.form_container{align-items:center;background-color:#fff;border-radius:11px;box-shadow:0 106px 42px #00000003,0 59px 36px #0000000d,0 26px 26px #00000017,0 7px 15px #0000001a,0 0 0 #0000001a;display:flex;flex-direction:column;font-family:Inter,sans-serif;gap:10px;height:500px;justify-content:center;margin-top:70px;padding:30px 40px 20px;width:443px}.logo_container{background:linear-gradient(180deg,#f8f8f800 50%,#f8f8f888);border:1px solid #f7f7f8;border-radius:11px;box-sizing:border-box;filter:drop-shadow(0 .5px .5px #efefef) drop-shadow(0 1px .5px rgba(239,239,239,.5));height:100px;width:90px}.title_container{align-items:center;display:flex;flex-direction:column;gap:10px;justify-content:center}.title{color:#212121;font-size:1.25rem;font-weight:700;margin:0}.subtitle{color:#6a6c73;font-size:14px;font-weight:450;line-height:1.1rem;margin-bottom:30px;max-width:100%;text-align:center}.input_container{position:relative}.input_container,.input_container_forgotPassword{display:flex;flex-direction:column;gap:4px;height:fit-content;width:100%}.icon{bottom:10px;left:12px;position:absolute;width:20px;z-index:99}.input_label{color:#8b8e98;font-size:.9rem;font-weight:600}.input_field{background-color:#fff!important;border-radius:8px;padding:0}.input_field:focus{border:1px solid #0000;box-shadow:0 0 0 2px #242424}.sign-in_btn{background:#5570f1;background:var(--primary,#5570f1);border-radius:999px;border-style:none;color:#fff;font-size:20px;font-weight:400;gap:2px;height:45px;margin:8px auto 0;padding:0 16px;width:210px}.sign-in_btn,.sign-in_ggl{align-items:center;display:flex;justify-content:center}.sign-in_ggl{background:#fff;border:1px solid #e5e5e5;border-radius:7px;color:#242424;cursor:pointer;filter:drop-shadow(0 1px 0 #efefef) drop-shadow(0 1px .5px rgba(239,239,239,.5));gap:10px;height:40px;outline:none;width:100%}.img_con{display:block;height:auto;margin-left:auto;margin-right:auto;object-fit:contain;width:130px}.sign-out-btn{color:#cc5f5f;color:var(--action-red,#cc5f5f);font-size:14px;font-style:normal;font-weight:400;line-height:normal}#forgotPasswordbtn{margin-top:-25px;padding-bottom:3px}.forgotPasswordBtn{background:none;border:none;color:#5570f1;cursor:pointer;font:700 16px Arial}.login-link:hover{color:blue;text-decoration:underline}.sendCodeBtn{align-items:center;display:flex;justify-content:center;margin-bottom:6px}.forgot_password_input{align-items:flex-start;border:2px solid #d3d3d3;border-radius:10px;border-radius:var(--1,10px);display:flex;flex-direction:column;gap:10px;height:55px;outline:none;padding:8px 16px;padding:var(--1,8px) var(--2,16px);padding-left:10px;width:370px}.forgot_password_input_new{padding-top:5px;width:356px}.bold-outline{border-width:2px!important}.multiline-input input{white-space:pre-wrap}.version{margin-top:-35px;max-width:100%;overflow:hidden;padding:15px}.appVersion{color:grey;font-size:small;white-space:pre-wrap}.myTooltip{font-size:1.4em!important}.input_field_resetPassword{width:363px}.ChangePasswordbtn{background:#5570f1;background:var(--primary,#5570f1);border-radius:4px;border-radius:var(--border-radius,4px);border-style:none;color:#fff;font-size:20px;font-weight:400;margin-bottom:20px;margin-top:12px;padding:8px;width:195px}.spaced{gap:20px}.error_message{color:#de2727;font-size:12px;margin-left:4px;margin-top:5px;position:absolute;top:100%}@media screen and (min-width:1280px){.form_container{height:28.625rem;margin-top:4.35rem;padding:16px 40px 10px;width:27.68rem}.subtitle{margin-bottom:10px}.ChangePasswordbtn{margin-bottom:1.4rem;margin-top:.1rem;padding:.4rem;width:12.1875rem}.spaced{gap:15px}}.main{height:100vh;width:100vw}.layout,.main{display:flex;overflow:hidden}.layout{flex:1 1}.main--bare{--sidebar-width:0px}.content,.layout--bare{width:100%}.content{box-sizing:border-box;display:flex;flex-direction:column;height:100%;overflow-x:hidden;overflow-y:auto;padding-top:12px}.content--bare,.content--compact{padding-top:0}.body-content{background:#f9fafb;border-radius:0;border-radius:var(--none,0);box-sizing:border-box;height:100vh;overflow-x:hidden;padding-left:15px;padding-right:15px;padding-top:80px}.body-content--bare{background:#0c1424;height:auto;min-height:100vh;padding-left:0;padding-right:0;padding-top:0}.body-content.taj-exotica{background:none;padding-top:65px}.body-content--bare.body-content.taj-exotica{background:#0c1424;padding-top:0}.body-content.taj-exotica.taj-exotica--schematic{padding-top:0}.react-flow__pane{margin-left:20px;margin-right:20px;margin-top:30px}.header{background-color:#fff;box-shadow:0 0 2px gray;height:10vh}.header,.logo{margin-bottom:20px}.logo{margin-top:20px}.logo h6{color:#fff;font-size:1.5rem;text-align:center}.menu{margin-top:50px}.menu-item{margin-top:40px}.menu-item a{color:#f23434!important;font-size:1.2rem;text-decoration:none}.menu-item i{color:#fff;font-size:1.5rem;margin:0 20px;padding:10px}.active{background-color:#d0ecfe;border-radius:6px;color:#2162a2!important;margin:8px}.active:hover{background-color:#abd6f1}.active .headersIcon{color:#2162a2;font-weight:700!important}.active a,.active i{color:#fff}.header-content{align-items:center;display:flex;height:100px;justify-content:flex-end;margin:0 15px}.header-content i{font-size:1.2rem;margin-right:20px}.header-content a{color:blue;font-size:1.3rem;margin:0 10px;text-decoration:none;text-transform:uppercase}:root{--nav-top-height:clamp(60px,7vh,72px);--nav-toolbar-height:clamp(36px,5vh,44px);--nav-horizontal-pad:clamp(12px,2vw,24px);--nav-icon-size:clamp(24px,2.2vw,32px);--nav-menu-size:calc(var(--nav-icon-size) + 12px);--nav-left-gap:14px;--nav-logo-divider-nudge:11px;--toolbar-font-size:clamp(12px,1.1vw,16px);--toolbar-action-size:clamp(28px,2vw,32px);--toolbar-icon-size:clamp(14px,1.2vw,18px);--toolbar-toggle-width:clamp(24px,3vw,30px);--toolbar-toggle-height:clamp(12px,1.8vw,15px);--toolbar-switch-width:clamp(52px,6vw,74px);--toolbar-switch-height:clamp(30px,4.5vh,44px);--toolbar-switch-thumb:clamp(22px,3.2vh,34px);--sidebar-width:clamp(200px,18vw,256px);--sidebar-collapsed-width:clamp(56px,6vw,72px);--sidebar-item-min-height:clamp(40px,4.4vh,48px);--sidebar-font-size:clamp(13px,1.1vw,15px);--sidebar-icon-size:clamp(18px,1.6vw,22px);--sidebar-item-pad-x:clamp(12px,1.6vw,16px);--sidebar-list-pad-top:clamp(12px,2vh,20px)}.image_nav{align-items:center;display:flex;justify-content:center;margin-left:20px;margin-top:10px}.dropdown_area{background:#ffca29;border:1px solid #aeb3b7;border:1px solid var(--components-fieldcontrol-border-color,#aeb3b7);border-radius:8px;height:45px;margin-left:20px;padding:3px 12px}.infosys_logo,.search{margin-left:30px}.nav{color:#000;text-decoration:none}.sidebar-api-token{padding:8px 16px 12px}.sidebar-api-token .toolbar-below-row{display:flex;width:100%}.sidebar-api-token .api-token-container,.sidebar-api-token .api-token-shell{width:100%}.sidebar-api-token .api-token-trigger{background:#0000;border:none;box-shadow:none;color:#1f2937;font-size:14px;font-weight:600;justify-content:flex-start;letter-spacing:0;min-height:48px;padding:6px 16px;text-align:left;text-transform:none;transition:background .15s ease,color .15s ease;width:100%}.sidebar-api-token .api-token-trigger:hover{background:#5570f11f;box-shadow:none;color:#1f2937;filter:none;transform:none}.sidebar-api-token .api-token-trigger:focus-visible{outline:2px solid #2f73ff59;outline-offset:2px}.sidebar-api-token .api-token-primary{background:linear-gradient(180deg,#2f73ff,#1558d6);border:1px solid #1558d6;color:#fff}.sidebar-api-token .api-token-secondary{background:#f3f6ff;border:1px solid #d7deeb;color:#1f2937}.profile-trigger{align-items:center;background:#0000;border:none;display:inline-flex;gap:16px;padding:0}.profile-trigger:focus-visible{border-radius:999px;outline:2px solid #0b1a52}.Profile_Dropdown{align-items:center;background:#0000;border:none;box-shadow:none;display:flex;gap:16px;padding:0}.Profile_Dropdown__avatar{align-items:center;background:#f4c6b8;border-radius:50%;display:flex;height:56px;justify-content:center;overflow:hidden;width:56px}.Profile_Dropdown__text{display:flex;flex-direction:column;line-height:1.2}.Profile_Dropdown__name{color:#1f2530;font-size:18px;font-weight:600}.Profile_Dropdown__email{color:#5b616f;font-size:14px;letter-spacing:.08em}.user_profile{align-items:center;display:flex;flex-direction:column;justify-content:center;margin-top:90px;width:304px}.project-navbar{--nav-surface:#fff;--nav-surface-muted:#f6f8fd;--nav-border:#d7deeb;--nav-ink:#1f2937;--nav-muted:#667085;--nav-accent:#2f73ff;--nav-accent-strong:#1558d6;--nav-accent-soft:#e8f0ff;--nav-shadow:0 18px 34px -24px #0c3c6059;background:#fbfbff;border-bottom:1px solid #d7d7d7;color:#1f2937}.project-navbar__toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:clamp(12px,2vw,24px);padding:0 clamp(12px,2vw,24px);padding:0 var(--nav-horizontal-pad)}.project-navbar__top{gap:16px;min-height:clamp(60px,7vh,72px);min-height:var(--nav-top-height)}.project-navbar__bottom,.project-navbar__top{align-items:center;justify-content:space-between}.project-navbar__bottom{background:#f5f5f5;border-bottom:1px solid #ddd;display:flex;min-height:clamp(36px,5vh,44px);min-height:var(--nav-toolbar-height);overflow:visible;padding-left:15px;padding-right:20px;padding-top:6px;position:sticky;top:60px;z-index:1100}.project-navbar__section-title{color:#0c3c60;font-weight:500}.project-navbar__breadcrumbs,.project-navbar__section-title{font-size:clamp(12px,1.1vw,16px);font-size:var(--toolbar-font-size)}.project-navbar__breadcrumbs{align-items:center;color:#828b96;display:flex;flex-wrap:wrap;font-family:Montserrat;font-weight:600;gap:6px;list-style:none;margin:0;padding:0}.project-navbar__breadcrumb-link{color:#828b96;text-decoration:none}.project-navbar__breadcrumb-link:hover{text-decoration:none}.project-navbar__breadcrumb-active{color:#2f73ff}.project-navbar__breadcrumb-separator{color:#9ca3af}.project-navbar__device-dropdown{align-items:center;display:inline-flex;position:relative}.project-navbar__device-trigger{align-items:center;background:linear-gradient(180deg,var(--nav-surface) 0,var(--nav-surface-muted) 100%);border:1px solid var(--nav-border);border-radius:999px;box-shadow:0 8px 20px -16px #0c3c6059;color:var(--nav-ink);cursor:pointer;display:inline-flex;font:inherit;gap:6px;line-height:1.2;padding:6px 10px;transition:border-color .15s ease,background .15s ease,box-shadow .15s ease}.project-navbar__device-trigger:disabled{cursor:default;opacity:.7}.project-navbar__device-trigger:hover:not(:disabled){background:#fff;border-color:#c1cde2;box-shadow:0 12px 24px -18px #0c3c6066}.project-navbar__device-trigger:focus-visible{outline:2px solid #2f73ff4d;outline-offset:3px}.project-navbar__device-label{font-weight:600;max-width:240px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-navbar__device-caret{color:var(--nav-muted);transition:transform .2s ease,color .2s ease}.project-navbar__device-caret.is-open{transform:rotate(180deg)}.project-navbar__device-menu{grid-gap:4px;background:linear-gradient(180deg,#fff,#f7f9ff);border:1px solid var(--nav-border);border-radius:16px;box-shadow:var(--nav-shadow);display:grid;gap:4px;left:0;max-height:320px;min-width:240px;overflow-y:auto;padding:8px;position:absolute;scrollbar-color:#c9d5ea #0000;scrollbar-width:thin;top:calc(100% + 8px);z-index:1200}.project-navbar__device-menu::-webkit-scrollbar{width:6px}.project-navbar__device-menu::-webkit-scrollbar-thumb{background:#c9d5ea;border-radius:999px}.project-navbar__device-menu::-webkit-scrollbar-track{background:#0000}.project-navbar__device-option{align-items:center;background:#0000;border:1px solid #0000;border-radius:12px;color:var(--nav-ink);cursor:pointer;display:flex;font-size:14px;font-weight:600;padding:10px 12px;text-align:left;transition:background .15s ease,color .15s ease,border-color .15s ease,box-shadow .15s ease;width:100%}.project-navbar__device-option:hover{background:var(--nav-accent-soft);border-color:#cfe0ff;color:#0c3c60}.project-navbar__device-option.selected{background:linear-gradient(135deg,var(--nav-accent) 0,var(--nav-accent-strong) 100%);border-color:#1558d6;box-shadow:0 10px 18px -14px #2f73ff73;font-weight:700}.project-navbar__device-option.selected:after{border:2px solid #fff;border-left:0;border-top:0;content:"";height:10px;margin-left:auto;transform:rotate(45deg);width:6px}.project-navbar__device-option:focus-visible{border-color:#9db7ff;box-shadow:0 0 0 2px #2f73ff33;outline:none}.project-navbar__device-empty{background:#f8fafc;border:1px dashed #d7deeb;border-radius:12px;color:#6b7280;font-size:13px;font-weight:600;padding:12px 14px}.project-navbar__left{align-items:center;display:flex;flex:1 1 260px;gap:14px;gap:var(--nav-left-gap);min-width:220px}.project-navbar__menu{background:#fff;border:1px solid #e1e6f0;border-radius:12px;box-shadow:0 8px 16px #0f172a1f;box-sizing:border-box;color:#111827;height:calc(clamp(24px, 2.2vw, 32px) + 12px);height:var(--nav-menu-size);padding:6px;width:calc(clamp(24px, 2.2vw, 32px) + 12px);width:var(--nav-menu-size)}.project-navbar__menu svg{height:clamp(24px,2.2vw,32px);height:var(--nav-icon-size);width:clamp(24px,2.2vw,32px);width:var(--nav-icon-size)}.project-navbar__logo-inline{height:auto;max-width:clamp(88px,10vw,124px)}.project-navbar__logo-shell{align-items:center;border-right:none;box-sizing:border-box;display:flex;flex:0 0 calc(clamp(200px, 18vw, 256px) - clamp(12px, 2vw, 24px) - clamp(24px, 2.2vw, 32px) - 15px);flex:0 0 calc(var(--sidebar-width) - var(--nav-horizontal-pad) - var(--nav-menu-size) - var(--nav-left-gap) + var(--nav-logo-divider-nudge))}.project-navbar__logo-shell--active{border-right:1px solid #0000001f}.project-navbar__title-inline{border-left:1px #0000001f;display:flex;flex:1 3 clamp(200px,30vw,520px);flex-direction:column;line-height:1.2;max-width:clamp(200px,30vw,520px);min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-navbar__title-caption{color:#8d93a4;font-size:12px;letter-spacing:.08em;text-transform:uppercase}.project-navbar__title-text{color:#4b4b4d;font-family:Inter,sans-serif;font-size:clamp(13px,1.2vw + 4px,17px);font-weight:500;margin:0;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.project-navbar__top-right{align-items:center;display:flex;flex-wrap:wrap;gap:14px}.project-navbar__round-icons{align-items:center;display:flex;gap:clamp(10px,1.6vw,16px)}.project-navbar__round-icons img{height:clamp(24px,2.2vw,32px);height:var(--nav-icon-size);object-fit:cover;width:clamp(24px,2.2vw,32px);width:var(--nav-icon-size)}.nav-icon-with-label{position:relative}.nav-icon-with-label:after{background:#111827;border-radius:10px;box-shadow:0 10px 24px -16px #00000059;color:#f9fafb;content:attr(data-label);font-size:12px;left:50%;opacity:0;padding:6px 10px;pointer-events:none;position:absolute;top:100%;transform:translate(-50%,8px);transition:opacity .12s ease,transform .12s ease;white-space:nowrap;z-index:20}.nav-icon-with-label:focus-visible:after,.nav-icon-with-label:hover:after{opacity:1;transform:translate(-50%,4px)}.ai-assistant-overlay{align-items:flex-start;-webkit-backdrop-filter:blur(5px);backdrop-filter:blur(5px);background:#0f172a1f;display:flex;inset:0;justify-content:flex-end;padding:92px clamp(16px,4vw,28px) clamp(16px,4vw,28px);position:fixed;z-index:1400}.ai-assistant-drawer{background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 24px 64px -34px #0f172a59;color:#0f172a;display:flex;flex-direction:column;overflow:hidden;width:min(520px,92vw)}.ai-assistant-header{align-items:center;background:linear-gradient(135deg,#f4f7ff,#eef2ff);border-bottom:1px solid #e5e7eb;display:flex;gap:12px;padding:16px 18px}.ai-assistant-avatar{background:linear-gradient(160deg,#2f73ff,#00c6ff);border-radius:12px;box-shadow:inset 0 1px 0 #ffffff8c;color:#0b132b;display:grid;font-size:15px;font-weight:800;height:42px;place-items:center;width:42px}.ai-assistant-meta{display:flex;flex-direction:column;line-height:1.2}.ai-assistant-title{font-weight:700;letter-spacing:.01em}.ai-assistant-status{color:#667085;font-size:12px}.ai-assistant-close{background:#fff;border:1px solid #d7deeb;border-radius:50%;color:#1f2937;cursor:pointer;height:32px;margin-left:auto;width:32px}.ai-assistant-body{display:flex;flex-direction:column;gap:12px;padding:18px}.ai-assistant-greeting{color:#1f2937;font-size:14px;margin:0}.ai-assistant-quick{display:flex;flex-wrap:wrap;gap:8px}.ai-chip{background:#f7f9ff;border:1px solid #d7deeb;border-radius:999px;color:#1f2937;cursor:pointer;font-size:13px;padding:8px 12px;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease}.ai-chip:hover{border-color:#b9c8ff;box-shadow:0 10px 26px -20px #2f73ff80;transform:translateY(-1px)}.ai-assistant-input{align-items:center;display:flex;gap:10px;margin-top:6px}.ai-assistant-input input{background:#f8fafc;border:1px solid #d7deeb;border-radius:12px;color:#0f172a;flex:1 1;padding:12px 14px}.ai-assistant-input button{background:linear-gradient(135deg,#2f73ff,#1558d6);border:none;border-radius:12px;box-shadow:0 14px 34px -20px #1558d699;color:#fff;cursor:pointer;font-weight:700;padding:12px 14px}.project-navbar__icon-button{background:#0000;border:none;border-radius:0;box-shadow:none;padding:0}.project-navbar__round-icons button{background:#0000;padding:0}.project-navbar__profile{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.project-navbar__avatar{border-radius:999px;height:38px;width:38px}.project-navbar__profile-name{font-size:11px}.project-navbar__profile-email,.project-navbar__profile-name{color:#2b2b2b;font-family:Montserrat,sans-serif;font-weight:500;margin:0}.project-navbar__profile-email{font-size:9px;letter-spacing:.4px;text-transform:uppercase}.project-navbar__bottom-tools{align-items:center;display:flex;flex-wrap:wrap;gap:18px}.project-navbar__actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.project-navbar__action-btn{background:#0000;border:none;border-radius:10px!important;box-shadow:none;color:#95a1b2;height:clamp(28px,2vw,32px);height:var(--toolbar-action-size);width:clamp(28px,2vw,32px);width:var(--toolbar-action-size)}.project-navbar__action-btn svg{height:clamp(14px,1.2vw,18px);height:var(--toolbar-icon-size);width:clamp(14px,1.2vw,18px);width:var(--toolbar-icon-size)}.project-navbar__meta{align-items:center;display:flex;gap:10px}.project-navbar__api-token{align-items:center;display:inline-flex;position:relative}.project-navbar__toggle{align-items:center;display:flex;font-family:Montserrat,sans-serif;font-weight:500;gap:10px}.project-navbar__time,.project-navbar__toggle{color:#5d5d5d;font-size:clamp(12px,1.1vw,16px);font-size:var(--toolbar-font-size)}.project-navbar__time{font-weight:600;margin-left:auto;text-align:center;white-space:nowrap}.project-navbar__time,.toolbar-meta{font-family:Montserrat;font-style:normal;line-height:normal}.toolbar-meta{color:#5d5d5d;font-size:clamp(12px,1.1vw,16px);font-size:var(--toolbar-font-size);font-weight:500;gap:8px}.toolbar-meta,.toolbar-meta__label{align-items:center;display:inline-flex}.toolbar-toggle.MuiToggleButton-root{background:linear-gradient(180deg,#e5e7eb,#d1d5db);box-shadow:inset 0 .66px 4.41px #0000001f,0 0 0 1px #0c3c6014;color:#0000;font-size:0;min-width:clamp(24px,3vw,30px);min-width:var(--toolbar-toggle-width);padding:0;position:relative;text-transform:none;transition:background .16s ease,border-color .16s ease;width:clamp(24px,3vw,30px);width:var(--toolbar-toggle-width)}.toolbar-toggle.MuiToggleButton-root,.toolbar-toggle.MuiToggleButton-root:after{border:.44px solid #0c3c60;border-radius:22px;height:clamp(12px,1.8vw,15px);height:var(--toolbar-toggle-height)}.toolbar-toggle.MuiToggleButton-root:after{background:linear-gradient(180deg,#f8f8f8,#d8d8d8 93%);box-shadow:0 0 .88px #00000059,0 2px 4px #00000014;content:"";left:0;position:absolute;top:0;transition:transform .16s ease,background .16s ease,box-shadow .16s ease;width:clamp(12px,1.8vw,15px);width:var(--toolbar-toggle-height)}.toolbar-toggle.Mui-disabled{background:linear-gradient(180deg,#eceff3,#d8dce2);border-color:#c7cdd5;box-shadow:inset 0 .66px 3px #00000014;cursor:not-allowed;opacity:.65}.toolbar-toggle.Mui-disabled:after{background:linear-gradient(180deg,#f3f3f3,#e6e6e6 90%);border-color:#c7cdd5;box-shadow:none}.toolbar-toggle.Mui-selected{background:linear-gradient(180deg,#0f4d7a,#0c3c60);border-color:#0c3c60}.toolbar-toggle.Mui-selected:after{background:linear-gradient(180deg,#fdfdfd,#e7e7e7 90%);box-shadow:0 0 .88px #00000059,0 2px 5px #0c3c6033;transform:translateX(calc(clamp(24px, 3vw, 30px) - clamp(12px, 1.8vw, 15px)));transform:translateX(calc(var(--toolbar-toggle-width) - var(--toolbar-toggle-height)))}.toolbar-toggle.MuiToggleButton-root.Mui-focusVisible{box-shadow:0 0 0 2px #0c3c6033;outline:none}.toolbar-meta .MuiSwitch-root{align-items:center;display:inline-flex;height:clamp(30px,4.5vh,44px);height:var(--toolbar-switch-height);justify-content:center;padding:2px;width:clamp(52px,6vw,74px);width:var(--toolbar-switch-width)}.toolbar-meta .MuiSwitch-switchBase.Mui-checked+.MuiSwitch-track{background:linear-gradient(180deg,#0c3c60,#0c3c60);opacity:1}.toolbar-meta .MuiSwitch-switchBase.Mui-checked .MuiSwitch-thumb{color:#dcdcdc;transform:translateX(calc(clamp(52px, 6vw, 74px) - clamp(22px, 3.2vh, 34px)));transform:translateX(calc(var(--toolbar-switch-width) - var(--toolbar-switch-thumb)));transition:transform .4s ease}.toolbar-meta .MuiSwitch-thumb{background:#fff;border-radius:50%;box-shadow:0 6px 12px #0c3c6059;height:clamp(22px,3.2vh,34px);height:var(--toolbar-switch-thumb);transition:background-color .4s ease,transform .4s ease,box-shadow .3s ease;width:clamp(22px,3.2vh,34px);width:var(--toolbar-switch-thumb)}.toolbar-meta .MuiSwitch-track{background:#e3e8ef;border:1px solid #d0d7e2;border-radius:999px;min-height:calc(clamp(22px, 3.2vh, 34px) + 2px);min-height:calc(var(--toolbar-switch-thumb) + 2px);opacity:1;transition:background-color .4s ease,border-color .4s ease,box-shadow .4s ease}.toolbar-meta .MuiSwitch-switchBase.Mui-focusVisible+.MuiSwitch-track{box-shadow:0 0 1px #2196f3cc}.toolbar-meta .MuiSwitch-switchBase{padding:4px;transition:transform .4s ease}.project-sidebar .MuiDrawer-paper{width:clamp(200px,18vw,256px);width:var(--sidebar-width)}.project-sidebar{--sidebar-list-pad-top:0px}.project-sidebar .MuiListItemButton-root{min-height:clamp(40px,4.4vh,48px);min-height:var(--sidebar-item-min-height);padding-bottom:clamp(6px,.8vh,10px);padding-top:clamp(6px,.8vh,10px)}.project-sidebar .MuiCollapse-root .MuiListItemButton-root{padding-left:calc(clamp(12px, 1.6vw, 16px) + clamp(18px, 1.6vw, 22px) + 64px)!important;padding-left:calc(var(--sidebar-item-pad-x) + var(--sidebar-icon-size) + 64px)!important}.project-sidebar .MuiCollapse-root .MuiListItemIcon-root{margin-right:0;min-width:0}.project-sidebar .MuiListItemText-primary{font-size:clamp(13px,1.1vw,15px);font-size:var(--sidebar-font-size)}.project-sidebar .MuiListItemIcon-root{min-width:clamp(32px,4vw,40px)}.project-sidebar .MuiListItemIcon-root svg{height:clamp(18px,1.6vw,22px);height:var(--sidebar-icon-size);width:clamp(18px,1.6vw,22px);width:var(--sidebar-icon-size)}.project-sidebar .sidebar-api-token .api-token-trigger{font-size:clamp(13px,1.1vw,15px);font-size:var(--sidebar-font-size);min-height:clamp(40px,4.4vh,48px);min-height:var(--sidebar-item-min-height)}.profile-trigger--icon-only{border-radius:50%;min-width:auto;padding:0!important}.profile-trigger__avatar{font-size:clamp(14px,2vw,18px);height:clamp(34px,4vw,48px);width:clamp(34px,4vw,48px)}.profile-drawer__paper{padding:clamp(12px,2.2vw,20px);width:clamp(280px,32vw,420px)}.profile-drawer{--profile-drawer-gap:clamp(12px,2vw,20px);--profile-drawer-pad-y:clamp(8px,1.6vw,14px);--profile-drawer-pad-x:clamp(6px,1.4vw,12px);--profile-drawer-pad-bottom:clamp(12px,2vw,18px);--profile-header-gap:clamp(10px,2vw,16px);--profile-header-pad-y:clamp(14px,2.4vw,24px);--profile-header-pad-x:clamp(12px,2vw,20px);--profile-header-margin:clamp(6px,1vw,10px);--profile-avatar-size:clamp(60px,12vw,92px);--profile-avatar-font:clamp(20px,4vw,30px);--profile-name-size:clamp(16px,2.2vw,22px);--profile-email-size:clamp(12px,1.6vw,16px);--profile-chip-font:clamp(11px,1.4vw,14px);--profile-body-pad-x:clamp(6px,1.2vw,12px);--profile-field-pad-y:clamp(8px,1.4vw,14px);--profile-field-pad-x:clamp(10px,1.6vw,16px);--profile-label-size:clamp(11px,1.2vw,13px);--profile-value-size:clamp(13px,1.7vw,17px);--profile-chip-gap:clamp(6px,1vw,10px);--profile-chip-pill-font:clamp(11px,1.3vw,13px);--profile-chip-pill-pad-y:clamp(4px,0.9vw,8px);--profile-chip-pill-pad-x:clamp(8px,1.3vw,12px);--profile-link-font:clamp(12px,1.4vw,14px);--profile-logout-font:clamp(13px,1.6vw,16px);--profile-logout-pad-y:clamp(8px,1.4vw,12px);--profile-logout-pad-x:clamp(12px,2vw,18px);--profile-logout-min-height:clamp(44px,6vh,58px);background:linear-gradient(180deg,#f8fafc,#fff 80%);gap:var(--profile-drawer-gap);min-height:100%;padding:var(--profile-drawer-pad-y) var(--profile-drawer-pad-x) var(--profile-drawer-pad-bottom)}.profile-drawer__header{align-items:center;background:#fff;border-radius:12px;box-shadow:0 8px 24px #0f172a14;display:flex;gap:var(--profile-header-gap);margin-top:var(--profile-header-margin);padding:var(--profile-header-pad-y) var(--profile-header-pad-x)}.profile-drawer__avatar{font-size:var(--profile-avatar-font);height:var(--profile-avatar-size);line-height:1;width:var(--profile-avatar-size)}.profile-drawer{padding-top:40px}.profile-drawer__title-block{display:flex;flex-direction:column;gap:clamp(4px,.8vw,8px)}.profile-drawer__name{color:#1f2937;font-size:var(--profile-name-size);font-weight:700}.profile-drawer__email{color:#4b5563;font-size:var(--profile-email-size);font-weight:600}.profile-drawer__chip{background:#eef2ff!important;color:#1e3a8a!important;font-size:var(--profile-chip-font)!important;width:fit-content}.profile-drawer__body{display:flex;flex-direction:column;gap:var(--profile-drawer-gap);padding:0 var(--profile-body-pad-x)}.profile-drawer__field{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 4px 12px #0f172a0d;padding:var(--profile-field-pad-y) var(--profile-field-pad-x)}.profile-drawer__label{color:#6b7280;font-size:var(--profile-label-size);font-weight:600;letter-spacing:.04em;margin:0 0 6px;text-transform:uppercase}.profile-drawer__value{color:#111827;font-size:var(--profile-value-size);font-weight:600;word-break:break-word}.profile-drawer__chips{display:flex;flex-wrap:wrap;gap:var(--profile-chip-gap)}.profile-drawer__chip-pill{align-items:center;background:#eef2ff;border:1px solid #e5e7eb;border-radius:999px;color:#111827;display:inline-flex;font-size:var(--profile-chip-pill-font);font-weight:700;line-height:1.2;max-width:100%;overflow:hidden;padding:var(--profile-chip-pill-pad-y) var(--profile-chip-pill-pad-x);text-overflow:ellipsis;white-space:nowrap}.profile-drawer__link{background:none;border:none;color:#2563eb;cursor:pointer;font-size:var(--profile-link-font);font-weight:700;margin-top:6px;padding:0;text-decoration:underline}.profile-drawer__footer{margin-top:auto;padding-bottom:clamp(8px,1.4vw,14px)}.profile-drawer__logout{background:#fff!important;box-shadow:0 6px 18px #00000026!important;color:#d32f2f!important;font-size:var(--profile-logout-font)!important;font-weight:700!important;min-height:var(--profile-logout-min-height);padding:var(--profile-logout-pad-y) var(--profile-logout-pad-x)!important;text-transform:none!important}.profile-drawer__logout:hover{background:#f5f5f5!important}@media (max-width:1180px){.project-navbar__toolbar{gap:16px;padding:0 16px}.project-navbar__title-text{font-size:15px}}@media (max-width:768px){.project-navbar__top{align-items:flex-start;flex-direction:column;gap:10px;min-height:72px}.project-navbar__left{width:100%}.project-navbar__title-inline{max-width:100%}.project-navbar__top-right{gap:10px;justify-content:space-between;width:100%}.project-navbar__round-icons{gap:10px}.project-navbar__round-icons img{height:28px;width:28px}.project-navbar__profile{justify-content:flex-start;width:100%}.project-navbar__avatar{height:34px;width:34px}.project-navbar__bottom{align-items:flex-start;flex-direction:column;gap:8px}}.cemp-chat-toggle{align-items:center;background:#2563eb;border:none;border-radius:999px;bottom:clamp(12px,1.25vw,24px);box-shadow:0 10px 25px #2563eb59,0 4px 12px #38bdf840;color:#fff;cursor:pointer;display:flex;font-size:14px;font-weight:700;gap:8px;height:58px;justify-content:center;min-width:58px;padding:0 16px;position:fixed;right:clamp(12px,1.25vw,24px);transition:transform .2s ease,box-shadow .2s ease;z-index:1101}.cemp-chat-toggle:hover{box-shadow:0 12px 28px #2563eb66,0 5px 14px #38bdf847;transform:translateY(-1px)}.cemp-chat-toggle-icon{font-size:18px;line-height:1}.cemp-chat-toggle-text{color:#fff;font-weight:700;letter-spacing:.2px;white-space:nowrap}.cemp-chat-window{animation:cemp-chat-window-open .22s cubic-bezier(.22,1,.36,1) both;background:#fff;border:1px solid #e5e7eb;border-radius:18px;box-shadow:0 12px 36px #00000047;display:flex;flex-direction:column;height:min(590px,calc(100vh - 96px));height:min(590px,calc(100dvh - 96px));overflow:hidden;position:fixed;transform-origin:bottom right;transition:width .28s ease,height .28s ease,top .28s ease,right .28s ease,bottom .28s ease,border-radius .28s ease,box-shadow .28s ease;width:min(390px,calc(100vw - 24px));will-change:width,height,transform,opacity;z-index:1100}.cemp-chat-window,.cemp-chat-window--expanded{bottom:clamp(12px,1.25vw,24px);max-width:calc(100vw - 24px);min-width:0;right:clamp(12px,1.25vw,24px);top:auto}.cemp-chat-window--expanded{border-radius:16px;box-shadow:0 18px 50px #00000052;height:min(800px,calc(100vh - 127px));height:min(800px,calc(100dvh - 127px));max-height:calc(100dvh - 127px);min-height:0;width:min(900px,calc(58.333vw - 160px))}.cemp-chat-header{background:#5153cc;color:#fff;flex-shrink:0;padding:14px 16px 12px}.cemp-chat-header-content{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.cemp-chat-header span{color:#dbe0ff;display:block;font-size:14px;margin-top:4px}.cemp-chat-health{font-size:13px;font-weight:600;margin-top:3px}.cemp-chat-header-actions{align-items:center;display:flex;flex-shrink:0;gap:2px;justify-content:flex-end}.cemp-chat-expand,.cemp-chat-minimize{align-items:center;background:#0000;border:none;border-radius:5px;box-shadow:none;color:#fff;cursor:pointer;display:flex;flex-shrink:0;height:34px;justify-content:center;margin-top:1px;padding:0;transition:opacity .2s ease,background-color .2s ease,transform .2s ease;width:38px}.cemp-chat-expand:hover,.cemp-chat-minimize:hover{background:#ffffff1f;opacity:.92}.cemp-chat-expand:focus,.cemp-chat-minimize:focus{outline:none}.cemp-chat-expand:focus-visible,.cemp-chat-minimize:focus-visible{outline:2px solid #fffc;outline-offset:1px}.cemp-chat-size-icon{fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;display:block;height:19px;pointer-events:none;transition:transform .2s ease;width:19px}.cemp-chat-expand:hover .cemp-chat-size-icon{transform:scale(1.06)}.cemp-chat-minimize-icon{border-bottom:3px solid;border-radius:1px;border-right:3px solid;display:block;height:16px;margin:0!important;pointer-events:none;transform:rotate(45deg) translate(-2px,-2px);transform-origin:center;transition:transform .18s ease,opacity .18s ease;width:16px}.cemp-chat-minimize:hover .cemp-chat-minimize-icon{transform:rotate(45deg) translate(0) scale(1.07)}.cemp-chat-minimize:active .cemp-chat-minimize-icon{transform:rotate(45deg) translate(3px,3px) scale(.9)}.cemp-chat-window--minimizing{animation:cemp-chat-window-close .14s cubic-bezier(.4,0,1,1) forwards;pointer-events:none}.cemp-chat-window--minimizing .cemp-chat-minimize-icon{animation:cemp-chat-arrow-down .14s cubic-bezier(.4,0,1,1) forwards}.cemp-chat-expand:disabled,.cemp-chat-minimize:disabled{cursor:default;opacity:1}.cemp-site-selector{background:#f9fafb;border-bottom:1px solid #e5e7eb;flex-shrink:0;padding:10px 12px}.cemp-site-selector select{background:#fff;border:1px solid #d1d5db;border-radius:8px;box-sizing:border-box;padding:9px;width:100%}.cemp-selected-site{color:#374151;font-size:13px;font-weight:600}.cemp-quick-actions{border-bottom:1px solid #e5e7eb;display:flex;flex-shrink:0;gap:6px;overflow-x:auto;overflow-y:hidden;padding:10px 12px}.cemp-quick-actions button{background:#fff;border:1px solid #d1d5db;border-radius:999px;cursor:pointer;flex-shrink:0;font-size:12px;padding:7px 10px;white-space:nowrap}.cemp-quick-actions button:hover{background:#f8fafc;border-color:#94a3b8}.cemp-quick-actions button:disabled{cursor:not-allowed;opacity:.55}.cemp-chat-body{background:#f3f4f6;box-sizing:border-box;contain:layout paint;flex:1 1;min-height:0;overflow-x:hidden;overflow-y:auto;padding:14px;scrollbar-color:#9ca3af #0000;scrollbar-width:thin;width:100%}.cemp-chat-body--minimizing{pointer-events:none;visibility:hidden}.cemp-chat-body::-webkit-scrollbar{width:6px}.cemp-chat-body::-webkit-scrollbar-track{background:#0000}.cemp-chat-body::-webkit-scrollbar-thumb{background:#9ca3af;border-radius:999px}.cemp-chat-body::-webkit-scrollbar-thumb:hover{background:#6b7280}.cemp-message{border-radius:14px;box-sizing:border-box;font-size:14px;line-height:1.4;margin-bottom:10px;padding:10px 12px}.cemp-bot-message{background:#fff;border:1px solid #e5e7eb;color:#111827;display:block;margin-left:0;margin-right:0;max-width:100%;min-width:0;width:100%}.cemp-user-message{background:#dbeafe;color:#111827;margin-left:auto;margin-right:0;max-width:82%;overflow-wrap:anywhere;white-space:pre-wrap;width:fit-content}.cemp-typing-message{align-items:center;color:#475569;display:flex;gap:9px;max-width:82%;min-width:156px;width:fit-content}.cemp-typing-text{font-size:13px;white-space:nowrap}.cemp-typing-dots{align-items:center;display:inline-flex;gap:4px;height:16px}.cemp-typing-dots span{animation:cemp-typing-bounce 1.2s ease-in-out infinite;background:#94a3b8;border-radius:50%;height:7px;margin:0;width:7px}.cemp-typing-dots span:nth-child(2){animation-delay:.15s}.cemp-typing-dots span:nth-child(3){animation-delay:.3s}@keyframes cemp-chat-window-open{0%{opacity:0;transform:translateY(22px) scale(.96)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes cemp-chat-window-close{0%{opacity:1;transform:translateY(0) scale(1)}to{opacity:0;transform:translateY(26px) scale(.96)}}@keyframes cemp-chat-arrow-down{0%{opacity:1;transform:rotate(45deg) translate(-2px,-2px) scale(1)}to{opacity:.2;transform:rotate(45deg) translate(8px,8px) scale(.78)}}@keyframes cemp-typing-bounce{0%,60%,to{opacity:.45;transform:translateY(0)}30%{opacity:1;transform:translateY(-5px)}}.cemp-chat-input{align-items:center;background:#fff;border-top:1px solid #e5e7eb;display:flex;flex-shrink:0;padding:10px}.cemp-chat-input input{border:1px solid #d1d5db;border-radius:999px;box-sizing:border-box;flex:1 1;min-width:0;outline:none;padding:10px 14px}.cemp-chat-input input:focus{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb1f}.cemp-chat-input button{background:#2563eb;border:none;border-radius:999px;color:#fff;cursor:pointer;flex-shrink:0;margin-left:8px;padding:10px 16px}.cemp-chat-input button:hover{background:#1d4ed8}.cemp-chat-input button:disabled{cursor:not-allowed;opacity:.6}.cemp-clarification-options{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 15px}.cemp-clarification-button{background:#fff;border:1px solid #2d7ff9;border-radius:20px;color:#2d7ff9;cursor:pointer;padding:6px 14px}.cemp-clarification-button:hover{background:#2d7ff9;color:#fff}.cemp-clarification-button:disabled{cursor:not-allowed;opacity:.55}@media (prefers-reduced-motion:reduce){.cemp-chat-expand,.cemp-chat-minimize,.cemp-chat-minimize-icon,.cemp-chat-size-icon,.cemp-chat-toggle,.cemp-chat-window,.cemp-chat-window--minimizing,.cemp-chat-window--minimizing .cemp-chat-minimize-icon{animation:none;transition:none}.cemp-typing-dots span{animation:none;opacity:.75}}.cemp-gateway-selector{align-items:center;box-sizing:border-box;display:flex;gap:8px;justify-content:flex-end;margin-top:9px;width:100%}.cemp-gateway-selector label{color:#475569;font-size:11px;font-weight:700;margin:0;white-space:nowrap}.cemp-gateway-selector select{background:#fff;border:1px solid #d1d5db;border-radius:8px;box-sizing:border-box;color:#111827;flex:0 0 auto;font-size:12px;max-width:60%;padding:8px 30px 8px 10px;width:210px}.cemp-gateway-selector select:focus{border-color:#2563eb;box-shadow:0 0 0 2px #2563eb1f;outline:none}.cemp-gateway-selector select:disabled{cursor:not-allowed;opacity:.6}.cemp-chat-window,.cemp-chat-window *{box-sizing:border-box}.cemp-bot-message,.cemp-chat-body{max-width:100%;min-width:0}.cemp-bot-message{overflow-x:hidden}@media (min-width:769px) and (max-width:1200px){.cemp-chat-window{width:min(360px,calc(58.333vw - 160px))}.cemp-chat-window,.cemp-chat-window--expanded{bottom:12px;max-width:calc(100vw - 24px);right:12px;top:auto}.cemp-chat-window--expanded{height:min(800px,calc(100vh - 127px));height:min(800px,calc(100dvh - 127px));max-height:calc(100dvh - 127px);min-width:0;width:min(560px,calc(58.333vw - 160px))}}@media (min-width:2000px){.cemp-chat-window--expanded{max-width:900px;width:900px}}@media (min-width:769px) and (max-height:760px){.cemp-chat-window{bottom:10px;height:min(540px,calc(100vh - 88px));height:min(540px,calc(100dvh - 88px));max-height:calc(100dvh - 88px);right:10px;top:auto}.cemp-chat-window--expanded{bottom:10px;height:min(700px,calc(100vh - 117px));height:min(700px,calc(100dvh - 117px));max-height:calc(100dvh - 117px);right:10px;top:auto}.cemp-chat-header{padding:10px 14px 9px}.cemp-chat-header span,.cemp-chat-health{font-size:12px}.cemp-quick-actions,.cemp-site-selector{padding:8px 10px}.cemp-chat-input{padding:8px}}@media (min-width:769px) and (max-width:900px){.cemp-chat-window,.cemp-chat-window--expanded{bottom:10px;max-width:calc(100vw - 20px);right:10px;width:max(280px,calc(58.333vw - 160px))}}@media (max-width:768px){.cemp-chat-window,.cemp-chat-window--expanded{border-radius:14px;bottom:8px;height:calc(100vh - 16px);height:calc(100dvh - 16px);max-height:none;max-width:none;min-width:0;right:8px;top:8px;width:calc(100vw - 16px)}.cemp-chat-toggle{bottom:14px;right:12px}.cemp-chat-expand{display:none}.cemp-chat-header{padding:11px 12px 10px}.cemp-site-selector{padding:8px 10px}.cemp-gateway-selector{gap:6px}.cemp-gateway-selector select{max-width:65vw;width:min(190px,65vw)}.cemp-quick-actions{padding:8px 10px}.cemp-chat-body{padding:10px}.cemp-chat-input{padding:8px}}@media (max-width:480px){.cemp-chat-header-content{gap:6px}.cemp-chat-header span,.cemp-chat-health{font-size:12px}.cemp-site-selector{padding:7px 8px}.cemp-gateway-selector{align-items:flex-start;flex-direction:column;gap:5px}.cemp-gateway-selector select{max-width:100%;width:100%}.cemp-message{font-size:13px;padding:9px 10px}.cemp-typing-message,.cemp-user-message{max-width:92%}.cemp-chat-input input{padding:9px 12px}.cemp-chat-input button{margin-left:6px;padding:9px 13px}}.cemp-report-download-pdf{background:#2563eb;border:1px solid #2563eb;border-radius:8px;color:#fff;cursor:pointer;flex-shrink:0;font-size:10px;font-weight:700;padding:6px 11px;white-space:nowrap}.cemp-report-download-pdf:hover:not(:disabled){background:#1d4ed8;border-color:#1d4ed8}.cemp-report-download-pdf:disabled{cursor:wait;opacity:.65}.chat-message-content{box-sizing:border-box;color:#263238;font-size:13px;line-height:1.55;max-width:100%;overflow-wrap:anywhere;width:100%}.chat-message-content>:first-child{margin-top:0}.chat-message-content>:last-child{margin-bottom:0}.chat-message-content h1,.chat-message-content h2,.chat-message-content h3,.chat-message-content h4{color:#18254a;line-height:1.3;margin:8px 0 6px}.chat-message-content h1{font-size:17px}.chat-message-content h2{font-size:16px}.chat-message-content h3{font-size:14px}.chat-message-content p{margin:6px 0}.chat-message-content strong{color:#172554;font-weight:700}.chat-message-content table{border:1px solid #dbe3ef;border-collapse:initial;border-radius:8px;border-spacing:0;font-size:12px;margin:10px 0;max-width:100%;table-layout:auto;width:100%}.chat-message-content th{background:#f1f5f9;border-bottom:1px solid #dbe3ef;color:#334155;font-weight:700;overflow-wrap:normal;padding:7px 8px;text-align:left;white-space:nowrap;word-break:normal}.chat-message-content td{border-bottom:1px solid #e8edf4;overflow-wrap:anywhere;padding:7px 8px;vertical-align:top;white-space:normal;word-break:normal}.chat-message-content tr:last-child td{border-bottom:none}.chat-message-content code{background:#eef2ff;border-radius:4px;color:#4338ca;font-family:Consolas,monospace;font-size:11px;padding:2px 5px}.chat-message-content blockquote{background:#f8fafc;border-left:3px solid #6366f1;border-radius:0 6px 6px 0;color:#475569;margin:9px 0;padding:8px 10px}.chat-message-content ol,.chat-message-content ul{margin:7px 0;padding-left:20px}.cemp-report{box-sizing:border-box;margin-top:12px;overflow:visible;width:100%}.cemp-report-heading{align-items:center;background:#fff;border:1px solid #dbe3ef;border-radius:10px;display:flex;gap:14px;justify-content:space-between;margin-bottom:14px;padding:11px 13px}.cemp-report-heading h3{color:#172554;font-size:15px;font-weight:750;margin:0}.cemp-report-heading p{color:#64748b;font-size:10px;line-height:1.4;margin:4px 0 0}.cemp-report-heading>span{background:#eef2ff;border:1px solid #c7d2fe;border-radius:999px;color:#3730a3;flex-shrink:0;font-size:10px;font-weight:700;padding:5px 9px}.cemp-report-grid{grid-gap:16px;display:grid;gap:16px;grid-template-columns:minmax(0,1fr);overflow:visible}.cemp-report-chart-card{background:#fff;border:1px solid #dbe3ef;border-radius:12px;box-shadow:0 3px 12px #0f172a0f;box-sizing:border-box;min-width:0;overflow:hidden;padding:14px 14px 10px;position:relative;z-index:1}.cemp-report-chart-card:hover{border-color:#c7d2fe;box-shadow:0 7px 20px #0f172a1a;z-index:30}.cemp-report-chart-header{align-items:flex-start;display:flex;gap:12px;justify-content:space-between;padding:0 1px 3px}.cemp-report-chart-header h4{color:#0f172a;font-size:14px;font-weight:750;line-height:1.35;margin:0}.cemp-report-chart-header p{color:#64748b;font-size:10px;line-height:1.4;margin:4px 0 0;max-width:520px}.cemp-report-chart-meta{align-items:center;display:flex;flex-shrink:0;flex-wrap:wrap;gap:5px;justify-content:flex-end}.cemp-report-points-badge,.cemp-report-unit-badge{border-radius:999px;font-size:9px;font-weight:700;padding:4px 7px}.cemp-report-unit-badge{background:#dbeafe;border:1px solid #bfdbfe;color:#1d4ed8}.cemp-report-points-badge{background:#f1f5f9;border:1px solid #e2e8f0;color:#475569}.cemp-report-chart-container{box-sizing:border-box;margin-top:4px;min-width:0;overflow:hidden;pointer-events:auto;position:relative;width:100%;z-index:1}.cemp-report-chart-container .recharts-responsive-container,.cemp-report-chart-container .recharts-surface,.cemp-report-chart-container .recharts-wrapper{overflow:visible!important;pointer-events:auto!important}.cemp-report-chart-container .recharts-cartesian-axis,.cemp-report-chart-container .recharts-cartesian-axis-ticks,.cemp-report-chart-container .recharts-legend-wrapper{opacity:1!important;visibility:visible!important}.cemp-report-chart-container .recharts-cartesian-axis-tick-value{fill:#334155!important;font-size:10px!important;font-weight:500!important;opacity:1!important;visibility:visible!important}.cemp-report-chart-container .recharts-cartesian-axis-line,.cemp-report-chart-container .recharts-cartesian-axis-tick-line{stroke:#94a3b8!important;opacity:1!important;visibility:visible!important}.cemp-report-chart-container .recharts-cartesian-grid-horizontal line{stroke:#e2e8f0!important}.cemp-report-chart-container .recharts-tooltip-wrapper{overflow:visible!important;pointer-events:none!important;z-index:10000!important}.cemp-report-chart-container .recharts-default-tooltip{pointer-events:none!important}.cemp-report-tooltip{background:#fff;border:1px solid #cbd5e1;border-radius:5px;box-shadow:0 7px 22px #0f172a2e;box-sizing:border-box;max-width:320px;min-width:205px;overflow:visible;padding:9px 10px;pointer-events:none;position:relative;z-index:10001}.cemp-report-tooltip-row{align-items:center;color:#334155;display:flex;font-size:11px;gap:6px;min-height:21px}.cemp-report-tooltip-dot{border-radius:50%;flex-shrink:0;height:9px;width:9px}.cemp-report-tooltip-name{color:#334155}.cemp-report-tooltip-value{color:#0f172a;font-weight:750;margin-left:auto}.cemp-report-tooltip-date{border-top:1px solid #e2e8f0;color:#334155;font-size:11px;font-weight:600;margin-top:7px;padding-top:7px}.cemp-report-legend{align-content:flex-start;box-sizing:border-box;column-gap:16px;display:flex;flex-wrap:wrap;justify-content:center;list-style:none;margin:4px 0 0;overflow:hidden;padding:4px 8px 0;row-gap:8px;width:100%}.cemp-report-legend,.cemp-report-legend-item{align-items:flex-start;max-width:100%;min-width:0}.cemp-report-legend-item{color:#334155;display:inline-flex;font-size:11px;font-weight:500;gap:7px;line-height:15px}.cemp-report-legend-item>span:last-child{max-width:155px;min-width:0;overflow-wrap:anywhere;white-space:normal;word-break:break-word}.cemp-report-legend-pill{border-radius:999px;display:inline-block;flex:0 0 auto;height:9px;height:11px;margin-top:3px;width:26px;width:30px}.cemp-report-chart-container .recharts-active-dot{filter:drop-shadow(0 2px 3px rgba(15,23,42,.25))}.cemp-report-chart-container .recharts-tooltip-cursor{pointer-events:none!important}.cemp-report-chart-container .recharts-active-bar{cursor:crosshair}@media (max-width:768px){.cemp-report-heading{align-items:flex-start;flex-direction:column}@media (max-width:480px){.cemp-report-legend-item{flex:1 1 100%}}.cemp-report-chart-card{padding:11px 8px 8px}.cemp-report-chart-header{flex-direction:column}.cemp-report-chart-meta{justify-content:flex-start}.cemp-report-tooltip{max-width:245px;min-width:180px}.cemp-report-legend{column-gap:10px;justify-content:flex-start;padding-left:6px;padding-right:6px;row-gap:7px}.cemp-report-legend-item{flex-basis:calc(50% - 10px);flex-grow:1;flex-shrink:1;font-size:10px;line-height:13px}.cemp-report-legend-item>span:last-child{max-width:calc(100% - 29px)}.cemp-report-legend-pill{height:7px;width:20px}}.cemp-performance-chart-container{max-width:100%;min-width:0;overflow:hidden;width:100%}.cemp-performance-chart-card .recharts-legend-wrapper{bottom:auto!important;box-sizing:border-box;left:0!important;max-width:100%!important;overflow:hidden;padding:8px 8px 2px!important;position:relative!important;right:auto!important;width:100%!important}.cemp-performance-chart-card .recharts-default-legend{align-items:center;box-sizing:border-box;column-gap:12px;display:flex!important;flex-wrap:wrap;justify-content:center;margin:0!important;max-width:100%!important;padding:0!important;row-gap:7px;width:100%!important}.cemp-performance-chart-card .recharts-legend-item{align-items:center;display:inline-flex!important;margin:0!important;max-width:100%;white-space:normal!important}.cemp-performance-chart-card .recharts-legend-item-text{color:#334155!important;display:inline-block;font-size:11px;line-height:15px;max-width:150px;overflow-wrap:anywhere;white-space:normal!important;word-break:break-word}.cemp-performance-chart-card .recharts-responsive-container,.cemp-performance-chart-card .recharts-wrapper,.cemp-performance-chart-card svg{max-width:100%!important}.cemp-performance-chart-description,.cemp-performance-chart-title{max-width:100%;overflow-wrap:anywhere;word-break:break-word}@media (max-width:768px){.cemp-performance-chart-card .recharts-default-legend{column-gap:8px;justify-content:flex-start;row-gap:6px}.cemp-performance-chart-card .recharts-legend-item-text{font-size:10px;line-height:13px;max-width:115px}}.cemp-performance-report{contain:layout paint;min-width:0;width:100%}body.cemp-project-sites-page{overflow:hidden!important}.cemp-home-content{height:calc(100vh - 130px);height:calc(100dvh - 130px);min-height:0;overflow:hidden;width:100%}.cemp-home-row{height:100%;margin-left:0;margin-right:0;min-height:0;overflow:hidden}.cemp-home-row>[class*=col-]{min-height:0}.card-container{background-color:#fff;border:3px solid #fff;border-radius:4px;box-shadow:0 5px 12px 0 #0303034f;margin-bottom:20px;padding:5px;transition:border-color .2s ease-in-out,box-shadow .2s ease-in-out}.card-container:hover{border-color:#17a1fa;box-shadow:0 6px 14px 0 #03030359}.card-body{display:flex;flex-direction:column;min-width:0;width:100%}.Cardimg{border:1px solid #eee;border-radius:50%;height:100px;width:140px}.card-title{color:#3e4958;display:block;font-size:18px;font-weight:600;line-height:1.25;margin-bottom:11px;min-width:0;overflow-wrap:anywhere;white-space:normal;width:100%;word-break:normal}.card-link{color:#17a1fa;float:right;font-size:12px}.card-body p{color:#3e4958;font-size:11px;font-weight:600;margin-bottom:1px}.card-text{color:#8e8e8e!important;margin-bottom:5px!important}.google-map-wrapper,.map-container{height:100%;min-height:500px;width:100%}.flex-conrtaine{height:100%;min-height:0;overflow:hidden}.flex-conrtaine>div{display:flex;flex-direction:column;height:100%;min-height:0}.project-card-scroll-area{-webkit-overflow-scrolling:touch;contain:layout paint;flex:1 1 auto;min-height:0;overflow-x:hidden;overflow-y:auto;overscroll-behavior-y:contain;scrollbar-gutter:stable;scrollbar-width:thin}.project-card-scroll-area::-webkit-scrollbar{width:5px}.project-card-scroll-area::-webkit-scrollbar-track{background:#0000}.project-card-scroll-area::-webkit-scrollbar-thumb{background-color:#c2c8cf;border-radius:999px}.searchContainer{background:#fff;flex:0 0 auto;position:relative;z-index:1}.projectSearch{border:2px solid #707c8787;border-radius:18px;box-sizing:border-box;margin:4px 16px;outline:none;padding:10px 10px 10px 30px;width:92%}.searchIcon{color:#637381;font-size:13px;left:27px;margin-right:5px;pointer-events:none;position:absolute;top:50%;transform:translateY(-50%)}.cemp-home-map-column{height:100%;min-height:0;overflow:hidden}.cemp-home-map-panel{height:500px;max-width:100%;min-height:500px;overflow:hidden;width:100%}.card-container .card-body .button_warning{background-color:#ffca29!important;color:#130f26!important;cursor:pointer!important;margin-top:5px;padding:1px}body.cemp-project-sites-page .cemp-chat-toggle,body.cemp-project-sites-page .project-navbar__top-right{backface-visibility:hidden;-webkit-backface-visibility:hidden}@media (max-width:767.98px){body.cemp-project-sites-page{overflow-x:hidden!important;overflow-y:auto!important}.cemp-home-content{min-height:calc(100vh - 130px);min-height:calc(100dvh - 130px)}.cemp-home-content,.cemp-home-row,.flex-conrtaine{height:auto;overflow:visible}.flex-conrtaine>div{display:block;height:auto}.project-card-scroll-area{contain:none;max-height:60vh;overflow-y:auto}.cemp-home-map-column{height:auto;overflow:visible}.cemp-home-map-panel,.google-map-wrapper,.map-container{height:500px;min-height:500px}}.data-table-extensions{padding:20px 0}.data-table-extensions>.data-table-extensions-filter{position:relative}.data-table-extensions>.data-table-extensions-filter>.filter-text{border:0;border-bottom:1px solid #f5f5f5;outline:none;padding:8px 34px}.breadcrumb .MuiBreadcrumbs-ol{background-color:#b2aeae2e;border-radius:8px;margin-bottom:10px;margin-left:12px;padding:3px 6px}.breadcrumb .MuiBreadcrumbs-ol .MuiLink-root{box-sizing:border-box;color:#777;font-family:Arial,sans-serif;font-weight:600!important;padding:4px;text-decoration:none}.breadcrumb .MuiBreadcrumbs-ol .MuiLink-root:hover{background-color:#d0ecfe;border-radius:6px;color:#2162a2!important;margin:0}.active-link{font-weight:400!important;padding:2px}.projectSiteName{margin:5px;padding:15px 0 0 15px}.Project_Heading{color:#111827;font-family:Inter;font-size:20px;font-weight:600;line-height:normal;padding-bottom:10px}.Project_Popup{margin-top:15px}.MuiInputBase-input,.MuiTextField-root{background:"#F6F7FB"!important}.Project_upload{color:#17a1fa;font-family:Roboto;font-size:16px;font-style:normal;font-weight:400;letter-spacing:.15px;line-height:175%}.project_name{border-color:#111827;color:#111827!important;color:var(--text-primary,#111827)!important;font-family:Inter;font-size:28px;font-style:normal;font-weight:600;line-height:normal}.parameters{padding:20px}.Rm_Breadcrumbs{margin-bottom:8px;margin-top:-20px;padding-top:10px}.Sensors_Dropdown{text-decoration:none}.Parameters_Header{color:#5570f1;color:var(--Primary,#5570f1);text-align:center}.parameter_modal{align-items:center;background:#fff;border-radius:4px;border-radius:var(--borderRadius,4px);display:inline-flex;flex-direction:column;gap:28px;padding:28px 24px;padding:28px var(--3,24px);width:806px!important}.params{align-items:center;display:flex;flex-wrap:wrap;padding:8px}.params-content{display:flex;padding:1px}.scrollable-content{max-height:300px;overflow-x:hidden;overflow-y:auto}.cardbox{border-radius:8px;height:362px}.cardbox,.cardbox-table{background-color:#fff;border:1px solid #eee!important;box-shadow:0 .46875rem 2.1875rem #5a61691a,0 .9375rem 1.40625rem #5a61691a,0 .25rem .53125rem #5a61691f,0 .125rem .1875rem #5a61691a}.cardbox-table{border-radius:8px;height:auto}.borderBottom{border-bottom:2px solid #eee!important;padding-bottom:10px}.main_content{background-color:#f4f5fa}.List ul{font-size:15px;list-style-type:none;margin:0;padding:0}.List ul li{padding:4px}.List ul li div{align-items:center;display:flex}.List ul .listdesign{background-color:#007bff;border-radius:50%;display:inline-block;height:10px;margin-right:10px;position:relative;width:10px}.List ul li:first-child .listdesign:before,.List ul li:nth-child(2) .listdesign:before{background-color:#c5c0c0;content:"";height:24px;left:50%;position:absolute;transform:translate(-50%,40%);width:2px}.Projectlist{border-bottom:2px solid #eee;list-style-type:none;padding:5px 20px}.textsmall{color:grey;font-size:12px}.card-entity{background-color:#fff;border-radius:16px;box-shadow:0 0 2px 0 #919eab14,0 12px 24px -4px #919eab14;height:65vh;margin:0 auto;overflow-x:hidden;overflow-y:auto;scrollbar-width:thin;width:100%}.card-entity::-webkit-scrollbar{width:5px}.cardHeight{height:240px;overflow-x:hidden;overflow-y:auto;padding:1px 20px;scrollbar-width:thin}.cardHeight::-webkit-scrollbar{width:5px}.Projectlistname{width:88%!important}.textname{font-size:17px;font-weight:500;margin-bottom:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;width:90%}.Imground{border:1ps solid #e1dddd;border-radius:50%;height:50px;margin-right:15px;padding:1px;width:50px}.entityList{list-style-type:none;padding:0 30px}.entityList li{margin-top:10px;padding:6px 15px;width:auto}.entityList li,.sensorListLi{background:#d6f4f9;border-top:2px solid #0484bd;color:#0484bd}.sensorListLi{padding:10px 15px}.collapseW{width:fit-content!important}.entityList li:before{color:#abafb1;content:"-->";display:block;height:5px;margin-left:-37px}.entityHeading{background:#fff1d6;border-top:2px solid #d9aa1b;color:#d9aa1b;margin-top:5px;padding:10px 15px;width:fit-content}.Listdiv{border-left:2px solid #abafb1;padding:10px 0 0 20px}.loaderList{animation:rotation 1s linear infinite;border:3px solid #1976d2;border-bottom-color:#0000;border-radius:50%;box-sizing:border-box;display:inline-block;height:40px;left:42%;position:relative;top:30%;width:40px}.cardbox-table .MuiTablePagination-root p{margin-top:15px!important}.listdesign{background-color:green;border-radius:50%;border-width:2px;margin:11.5px 0;padding:4px}.listdesign:after{background-color:gray;flex-grow:1;height:10px;width:2px}@keyframes rotation{0%{transform:rotate(0deg)}to{transform:rotate(1turn)}}.Listdevice ul{list-style-type:none;margin:0;padding:0}.Listdevice ul li{margin-bottom:10px;padding-left:25px;position:relative}.Listdevice ul li:before{color:#007bff;content:">";font-size:25px;left:-6px;position:absolute;top:50%;transform:translateY(-56%)}.toolbar-below-row{gap:4px;margin:0}.api-token-shell,.toolbar-below-row{align-items:center;display:inline-flex}.api-token-shell{gap:10px;max-width:100%}.api-token-inline-error{align-items:center;background:#fff5f2;border:1px solid #f7c9c3;border-radius:12px;box-shadow:0 8px 22px -16px #b4231866;color:#d0311a;display:inline-flex;font-size:14px;font-weight:700;gap:8px;padding:9px 12px}.api-token-error-text{white-space:nowrap}.api-token-error-dot{background:#d92d20;border-radius:999px;box-shadow:0 0 0 5px #d92d201a;height:8px;width:8px}.api-token-container{display:inline-block;position:relative}.api-token-modal{align-items:center;-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a73;display:flex;inset:0;justify-content:center;padding:24px;position:fixed;z-index:2000}.api-token-trigger{align-items:center;background:linear-gradient(135deg,#0f3b63,#1b5e8f);border:1px solid #0f3b63;border-radius:10px;box-shadow:0 10px 24px -14px #0c3c6073;color:#fff;cursor:pointer;display:inline-flex;font-weight:700;gap:8px;letter-spacing:.01em;padding:9px 14px;transition:transform .12s ease,box-shadow .12s ease,filter .12s ease}.api-token-trigger__icon{align-items:center;display:inline-flex;height:20px;justify-content:center;width:20px}.api-token-trigger__icon svg{height:18px;width:18px}.api-token-trigger__text{display:inline-block;line-height:1}.api-token-trigger:hover{box-shadow:0 14px 26px -14px #0c3c6073;filter:brightness(1.05);transform:translateY(-1px)}.api-token-trigger:disabled{box-shadow:none;cursor:not-allowed;opacity:.65;transform:none}.api-token-panel{background:linear-gradient(180deg,#f8fbff,#fff 45%);border:1px solid #d7deeb;border-radius:14px;border-top:4px solid #2f73ff;box-shadow:0 24px 60px -28px #0c3c608c;max-height:85vh;overflow:auto;padding:18px 18px 20px;position:relative;width:min(92vw,520px)}.api-token-panel__header{align-items:flex-start;border-bottom:1px solid #e7edf6;display:flex;gap:10px;justify-content:space-between;margin-bottom:10px;padding-bottom:10px}.api-token-title{color:#0c3c60;font-size:16px;font-weight:800;margin:0}.api-token-subtitle{color:#5a667a;font-size:12px;margin:2px 0 0}.api-token-close{background:#0000;border:none;color:#7c8797;cursor:pointer;font-size:18px;line-height:1}.api-token-label{color:#4b5563;display:block;font-size:12px;font-weight:700;margin:4px 0 6px}.api-token-input{background:#f8fbff;border:1px solid #dfe6f0;border-radius:10px;color:#0c3c60;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:13px;padding:10px 12px;width:100%}.api-token-input:focus{background:#fff;border-color:#9fc2ff;outline:2px solid #d2e4ff}.api-token-status{font-size:12px;font-weight:700;margin:8px 0 0}.api-token-status.error{color:#c62828}.api-token-status.success{color:#2f8f4e}.api-token-actions{align-items:center;display:flex;gap:8px;justify-content:flex-end;margin-top:12px}.api-token-primary,.api-token-secondary{border:none;border-radius:8px;cursor:pointer;font-weight:700;padding:9px 12px}.api-token-primary{background:linear-gradient(135deg,#0c3c60,#1b5e8f);color:#fff}.api-token-primary:disabled,.api-token-secondary:disabled{cursor:not-allowed;opacity:.65}.api-token-secondary{background:#eef2f7;color:#0c3c60}.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow,.react-datepicker__navigation-icon:before,.react-datepicker__year-read-view--down-arrow{border-color:#ccc;border-style:solid;border-width:3px 3px 0 0;content:"";display:block;height:9px;position:absolute;top:6px;width:9px}.react-datepicker__sr-only{border:0;clip-path:inset(50%);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.react-datepicker-wrapper{border:0;display:inline-block;padding:0}.react-datepicker{background-color:#fff;border:1px solid #aeaeae;border-radius:.3rem;color:#000;display:inline-block;font-family:Helvetica Neue,helvetica,arial,sans-serif;font-size:.8rem;line-height:normal;position:relative}.react-datepicker--time-only .react-datepicker__time-container{border-left:0}.react-datepicker--time-only .react-datepicker__time,.react-datepicker--time-only .react-datepicker__time-box{border-bottom-left-radius:.375em;border-bottom-right-radius:.375em}.react-datepicker-popper{line-height:0;z-index:1}.react-datepicker-popper .react-datepicker__triangle{stroke:#aeaeae}.react-datepicker-popper[data-placement^=bottom] .react-datepicker__triangle{fill:#f0f0f0;color:#f0f0f0}.react-datepicker-popper--header-bottom[data-placement^=bottom] .react-datepicker__triangle,.react-datepicker-popper--header-middle[data-placement^=bottom] .react-datepicker__triangle,.react-datepicker-popper[data-placement^=top] .react-datepicker__triangle{fill:#fff;color:#fff}.react-datepicker-popper--header-bottom[data-placement^=top] .react-datepicker__triangle{fill:#f0f0f0;color:#f0f0f0}.react-datepicker__header{background-color:#f0f0f0;border-bottom:1px solid #aeaeae;border-top-left-radius:.3rem;padding:8px 0;position:relative;text-align:center}.react-datepicker__header--time{padding-bottom:8px;padding-left:5px;padding-right:5px}.react-datepicker__header--time:not(.react-datepicker__header--time--only){border-top-left-radius:0}.react-datepicker__header:not(.react-datepicker__header--has-time-select,.react-datepicker__header--middle,.react-datepicker__header--bottom){border-top-right-radius:.3rem}.react-datepicker__header--middle{border-radius:0;border-top:1px solid #aeaeae;margin-top:4px}.react-datepicker__header--bottom{border-bottom:none;border-radius:0 0 .3rem .3rem;border-top:1px solid #aeaeae}.react-datepicker__header-wrapper{position:relative}.react-datepicker__header-wrapper .react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:2px}.react-datepicker__month-dropdown-container--scroll,.react-datepicker__month-dropdown-container--select,.react-datepicker__month-year-dropdown-container--scroll,.react-datepicker__month-year-dropdown-container--select,.react-datepicker__year-dropdown-container--scroll,.react-datepicker__year-dropdown-container--select{display:inline-block;margin:0 15px}.react-datepicker__month-select,.react-datepicker__month-year-select,.react-datepicker__year-select{background-color:initial;border:1px solid #aeaeae;border-radius:.3rem;color:inherit;cursor:pointer;font-family:inherit;font-size:inherit;margin-top:5px;padding:2px 5px}.react-datepicker__month-select:focus-visible,.react-datepicker__month-year-select:focus-visible,.react-datepicker__year-select:focus-visible{outline:1px auto}.react-datepicker-time__header,.react-datepicker-year-header,.react-datepicker__current-month{color:#000;font-size:.944rem;font-weight:700;margin-top:0}h2.react-datepicker__current-month{margin:0;padding:0}.react-datepicker-time__header{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.react-datepicker__navigation{align-items:center;background:none;border:none;cursor:pointer;display:flex;height:32px;justify-content:center;overflow:hidden;padding:0;position:absolute;text-align:center;text-indent:-999em;top:2px;width:32px;z-index:1}.react-datepicker__navigation--previous{left:2px}.react-datepicker__navigation--next{right:2px}.react-datepicker__navigation--next--with-time:not(.react-datepicker__navigation--next--with-today-button){right:85px}.react-datepicker__navigation--years{display:block;margin-left:auto;margin-right:auto;position:relative;top:0}.react-datepicker__navigation--years-previous{top:4px}.react-datepicker__navigation--years-upcoming{top:-4px}.react-datepicker__navigation:hover :before{border-color:#a6a6a6}.react-datepicker__navigation-icon{font-size:20px;position:relative;top:-1px;width:0}.react-datepicker__navigation-icon--next{left:-2px}.react-datepicker__navigation-icon--next:before{left:-7px;transform:rotate(45deg)}.react-datepicker__navigation-icon--previous{right:-2px}.react-datepicker__navigation-icon--previous:before{right:-7px;transform:rotate(225deg)}.react-datepicker__month-container{float:left}.react-datepicker__year{margin:.5em;text-align:center}.react-datepicker__year-wrapper{display:flex;flex-wrap:wrap;max-width:180px}.react-datepicker__year .react-datepicker__year-text{display:inline-block;margin:2px;width:5em}.react-datepicker__month{margin:.5em;text-align:center}.react-datepicker__month .react-datepicker__month-text,.react-datepicker__month .react-datepicker__quarter-text{display:inline-block;margin:2px;width:5em}.react-datepicker__input-time-container{clear:both;float:left;margin:5px 0 10px 15px;text-align:left;width:100%}.react-datepicker__input-time-container .react-datepicker-time__caption,.react-datepicker__input-time-container .react-datepicker-time__input-container{display:inline-block}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input{display:inline-block;margin-left:10px}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input{width:auto}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-inner-spin-button,.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__input input[type=time]{-moz-appearance:textfield}.react-datepicker__input-time-container .react-datepicker-time__input-container .react-datepicker-time__delimiter{display:inline-block;margin-left:5px}.react-datepicker__time-container{border-left:1px solid #aeaeae;float:right;width:85px}.react-datepicker__time-container--with-today-button{border:1px solid #aeaeae;border-radius:.375em;display:inline;position:absolute;right:-87px;top:0}.react-datepicker__time-container .react-datepicker__time{background:#fff;border-bottom-right-radius:.375em;position:relative}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box{border-bottom-right-radius:.375em;margin:0 auto;overflow-x:hidden;text-align:center;width:85px}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list{box-sizing:initial;height:calc(195px + 1.0625em);list-style:none;margin:0;overflow-y:scroll;padding-left:0;padding-right:0;width:100%}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item{height:30px;padding:5px 10px;white-space:nowrap}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item:hover{background-color:#f0f0f0;cursor:pointer}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected{background-color:#216ba5;color:#fff;font-weight:700}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--selected:hover{background-color:#216ba5}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled{color:#ccc}.react-datepicker__time-container .react-datepicker__time .react-datepicker__time-box ul.react-datepicker__time-list li.react-datepicker__time-list-item--disabled:hover{background-color:initial;cursor:default}.react-datepicker__week-number{color:#ccc;display:inline-block;line-height:2.125em;margin:.208em;text-align:center;width:2.125em}.react-datepicker__week-number.react-datepicker__week-number--clickable{cursor:pointer}.react-datepicker__week-number.react-datepicker__week-number--clickable:not(.react-datepicker__week-number--selected):hover{background-color:#f0f0f0;border-radius:.3rem}.react-datepicker__week-number--selected{background-color:#216ba5;border-radius:.3rem;color:#fff}.react-datepicker__week-number--selected:hover{background-color:#1d5d90}.react-datepicker__day-names{margin-bottom:-8px;text-align:center;white-space:nowrap}.react-datepicker__week{white-space:nowrap}.react-datepicker__day,.react-datepicker__day-name,.react-datepicker__time-name{color:#000;display:inline-block;line-height:2.125em;margin:.208em;text-align:center;width:2.125em}.react-datepicker__day--disabled,.react-datepicker__day-name--disabled,.react-datepicker__time-name--disabled{color:#ccc;cursor:default}.react-datepicker__day,.react-datepicker__month-text,.react-datepicker__quarter-text,.react-datepicker__year-text{cursor:pointer}.react-datepicker__day:not([aria-disabled=true]):hover,.react-datepicker__month-text:not([aria-disabled=true]):hover,.react-datepicker__quarter-text:not([aria-disabled=true]):hover,.react-datepicker__year-text:not([aria-disabled=true]):hover{background-color:#f0f0f0;border-radius:.3rem}.react-datepicker__day--today,.react-datepicker__month-text--today,.react-datepicker__quarter-text--today,.react-datepicker__year-text--today{font-weight:700}.react-datepicker__day--highlighted,.react-datepicker__month-text--highlighted,.react-datepicker__quarter-text--highlighted,.react-datepicker__year-text--highlighted{background-color:#3dcc4a;border-radius:.3rem;color:#fff}.react-datepicker__day--highlighted:not([aria-disabled=true]):hover,.react-datepicker__month-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--highlighted:not([aria-disabled=true]):hover,.react-datepicker__year-text--highlighted:not([aria-disabled=true]):hover{background-color:#32be3f}.react-datepicker__day--highlighted-custom-1,.react-datepicker__month-text--highlighted-custom-1,.react-datepicker__quarter-text--highlighted-custom-1,.react-datepicker__year-text--highlighted-custom-1{color:#f0f}.react-datepicker__day--highlighted-custom-2,.react-datepicker__month-text--highlighted-custom-2,.react-datepicker__quarter-text--highlighted-custom-2,.react-datepicker__year-text--highlighted-custom-2{color:green}.react-datepicker__day--holidays,.react-datepicker__month-text--holidays,.react-datepicker__quarter-text--holidays,.react-datepicker__year-text--holidays{background-color:#ff6803;border-radius:.3rem;color:#fff;position:relative}.react-datepicker__day--holidays .overlay,.react-datepicker__month-text--holidays .overlay,.react-datepicker__quarter-text--holidays .overlay,.react-datepicker__year-text--holidays .overlay{background-color:#333;border-radius:4px;bottom:100%;color:#fff;left:50%;opacity:0;padding:4px;position:absolute;transform:translateX(-50%);transition:visibility 0s,opacity .3s ease-in-out;visibility:hidden;white-space:nowrap}.react-datepicker__day--holidays:not([aria-disabled=true]):hover,.react-datepicker__month-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--holidays:not([aria-disabled=true]):hover,.react-datepicker__year-text--holidays:not([aria-disabled=true]):hover{background-color:#cf5300}.react-datepicker__day--holidays:hover .overlay,.react-datepicker__month-text--holidays:hover .overlay,.react-datepicker__quarter-text--holidays:hover .overlay,.react-datepicker__year-text--holidays:hover .overlay{opacity:1;visibility:visible}.react-datepicker__day--in-range,.react-datepicker__day--in-selecting-range,.react-datepicker__day--selected,.react-datepicker__month-text--in-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__month-text--selected,.react-datepicker__quarter-text--in-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__quarter-text--selected,.react-datepicker__year-text--in-range,.react-datepicker__year-text--in-selecting-range,.react-datepicker__year-text--selected{background-color:#216ba5;border-radius:.3rem;color:#fff}.react-datepicker__day--in-range:not([aria-disabled=true]):hover,.react-datepicker__day--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__day--selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__month-text--selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--in-selecting-range:not([aria-disabled=true]):hover,.react-datepicker__year-text--selected:not([aria-disabled=true]):hover{background-color:#1d5d90}.react-datepicker__day--keyboard-selected,.react-datepicker__month-text--keyboard-selected,.react-datepicker__quarter-text--keyboard-selected,.react-datepicker__year-text--keyboard-selected{background-color:#bad9f1;border-radius:.3rem;color:#000}.react-datepicker__day--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__month-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__quarter-text--keyboard-selected:not([aria-disabled=true]):hover,.react-datepicker__year-text--keyboard-selected:not([aria-disabled=true]):hover{background-color:#1d5d90;color:#fff}.react-datepicker__day--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__month-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__quarter-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range),.react-datepicker__year-text--in-selecting-range:not(.react-datepicker__day--in-range,.react-datepicker__month-text--in-range,.react-datepicker__quarter-text--in-range,.react-datepicker__year-text--in-range){background-color:#216ba580}.react-datepicker__month--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__month--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__day--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__month-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__quarter-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range),.react-datepicker__year--selecting-range .react-datepicker__year-text--in-range:not(.react-datepicker__day--in-selecting-range,.react-datepicker__month-text--in-selecting-range,.react-datepicker__quarter-text--in-selecting-range,.react-datepicker__year-text--in-selecting-range){background-color:#f0f0f0;color:#000}.react-datepicker__day--disabled,.react-datepicker__month-text--disabled,.react-datepicker__quarter-text--disabled,.react-datepicker__year-text--disabled{color:#ccc;cursor:default}.react-datepicker__day--disabled .overlay,.react-datepicker__month-text--disabled .overlay,.react-datepicker__quarter-text--disabled .overlay,.react-datepicker__year-text--disabled .overlay{background-color:#333;border-radius:4px;bottom:70%;color:#fff;left:50%;opacity:0;padding:4px;position:absolute;transform:translateX(-50%);transition:visibility 0s,opacity .3s ease-in-out;visibility:hidden;white-space:nowrap}.react-datepicker__input-container{display:inline-block;position:relative;width:100%}.react-datepicker__input-container .react-datepicker__calendar-icon{box-sizing:initial;padding:.625em;position:absolute}.react-datepicker__view-calendar-icon input{padding:6px 10px 5px 25px}.react-datepicker__month-read-view,.react-datepicker__month-year-read-view,.react-datepicker__year-read-view{border:1px solid #0000;border-radius:.3rem;position:relative}.react-datepicker__month-read-view:hover,.react-datepicker__month-year-read-view:hover,.react-datepicker__year-read-view:hover{cursor:pointer}.react-datepicker__month-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view:hover .react-datepicker__year-read-view--down-arrow,.react-datepicker__year-read-view:hover .react-datepicker__month-read-view--down-arrow,.react-datepicker__year-read-view:hover .react-datepicker__year-read-view--down-arrow{border-top-color:#b3b3b3}.react-datepicker__month-read-view--down-arrow,.react-datepicker__month-year-read-view--down-arrow,.react-datepicker__year-read-view--down-arrow{right:-16px;top:0;transform:rotate(135deg)}.react-datepicker__month-dropdown,.react-datepicker__month-year-dropdown,.react-datepicker__year-dropdown{background-color:#f0f0f0;border:1px solid #aeaeae;border-radius:.3rem;left:25%;position:absolute;text-align:center;top:30px;width:50%;z-index:1}.react-datepicker__month-dropdown:hover,.react-datepicker__month-year-dropdown:hover,.react-datepicker__year-dropdown:hover{cursor:pointer}.react-datepicker__month-dropdown--scrollable,.react-datepicker__month-year-dropdown--scrollable,.react-datepicker__year-dropdown--scrollable{height:150px;overflow-y:scroll}.react-datepicker__month-option,.react-datepicker__month-year-option,.react-datepicker__year-option{display:block;line-height:20px;margin-left:auto;margin-right:auto;width:100%}.react-datepicker__month-option:first-of-type,.react-datepicker__month-year-option:first-of-type,.react-datepicker__year-option:first-of-type{border-top-left-radius:.3rem;border-top-right-radius:.3rem}.react-datepicker__month-option:last-of-type,.react-datepicker__month-year-option:last-of-type,.react-datepicker__year-option:last-of-type{border-bottom-left-radius:.3rem;border-bottom-right-radius:.3rem;-webkit-user-select:none;user-select:none}.react-datepicker__month-option:hover,.react-datepicker__month-year-option:hover,.react-datepicker__year-option:hover{background-color:#ccc}.react-datepicker__month-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-upcoming,.react-datepicker__year-option:hover .react-datepicker__navigation--years-upcoming{border-bottom-color:#b3b3b3}.react-datepicker__month-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__month-year-option:hover .react-datepicker__navigation--years-previous,.react-datepicker__year-option:hover .react-datepicker__navigation--years-previous{border-top-color:#b3b3b3}.react-datepicker__month-option--selected,.react-datepicker__month-year-option--selected,.react-datepicker__year-option--selected{left:15px;position:absolute}.react-datepicker__close-icon{background-color:initial;border:0;cursor:pointer;display:table-cell;height:100%;outline:0;padding:0 6px 0 0;position:absolute;right:0;top:0;vertical-align:middle}.react-datepicker__close-icon:after{background-color:#216ba5;border-radius:50%;color:#fff;content:"×";cursor:pointer;display:table-cell;font-size:12px;height:16px;line-height:1;padding:2px;text-align:center;vertical-align:middle;width:16px}.react-datepicker__close-icon--disabled{cursor:default}.react-datepicker__close-icon--disabled:after{background-color:#ccc;cursor:default}.react-datepicker__today-button{background:#f0f0f0;border-top:1px solid #aeaeae;clear:left;cursor:pointer;font-weight:700;padding:5px 0;text-align:center}.react-datepicker__portal{align-items:center;background-color:#000c;display:flex;height:100vh;justify-content:center;left:0;position:fixed;top:0;width:100vw;z-index:2147483647}.react-datepicker__children-container{height:auto;margin:.5em;padding-left:.25em;padding-right:.25em;width:17.25em}.react-datepicker__aria-live{border:0;clip-path:circle(0);height:1px;margin:-1px;overflow:hidden;padding:0;position:absolute;white-space:nowrap;width:1px}.react-datepicker__calendar-icon{height:1em;vertical-align:-.125em;width:1em}.react-datepicker-popper-offset{margin-top:-.7em}.dhb-datepicker__popper{z-index:20}.dhb-datepicker__actions{background:#fff;border-top:1px solid #e5e7eb;display:flex;gap:8px;justify-content:flex-end;padding:8px}.dhb-datepicker__action{background:#fff;border:1px solid #d1d5db;border-radius:6px;color:#1f2937;cursor:pointer;font-size:12px;padding:6px 12px}.dhb-datepicker__action--primary{background:#0d3250;border-color:#0d3250;color:#fff}.devicehub-bess-page{--dhb-left-col:28%;--dhb-right-col:72%;--dhb-grid-gap:12px;--dhb-card-pad:8px;--dhb-card-pad-lg:10px;--dhb-row-trim:clamp(12px,2.5vh,20px);--dhb-soc-height:calc(clamp(53px, 6.7vw, 82px)*1.2);--dhb-soh-height:clamp(27px,3.5vw,42px);--dhb-top-height:clamp(44px,7.2vw,80px);--dhb-capacity-height:var(--dhb-soh-height);--dhb-soc-analysis-height:clamp(204px,27.6vw,312px);--dhb-energy-height:clamp(220px,32vw,320px);--dhb-power-height:clamp(180px,26vw,260px);--dhb-soc-gauge-height:clamp(34px,4.3vw,48px);--dhb-energy-chart-height:clamp(130px,18vw,190px);--dhb-mid-min:var(--dhb-capacity-height);color:#2b2b2b;font-family:Montserrat,Inter,sans-serif;margin:0 auto;padding-bottom:clamp(32px,4vw,64px);position:relative}@media (max-width:1366px){.devicehub-bess-page{--dhb-left-col:32%;--dhb-right-col:68%;--dhb-grid-gap:8px;--dhb-card-pad:8px;--dhb-card-pad-lg:10px;--dhb-soc-height:calc(clamp(48px, 7.7vw, 72px)*1.2);--dhb-soh-height:clamp(24px,3.8vw,38px);--dhb-top-height:clamp(40px,8.8vw,72px);--dhb-capacity-height:var(--dhb-soh-height);--dhb-soc-analysis-height:clamp(192px,30vw,300px);--dhb-energy-height:clamp(200px,34vw,300px);--dhb-power-height:clamp(170px,28vw,240px);--dhb-soc-gauge-height:clamp(31px,4.8vw,43px);--dhb-energy-chart-height:clamp(120px,20vw,170px);--dhb-mid-min:var(--dhb-capacity-height)}}@media (max-width:1200px){.dhb-dashboard-grid{grid-template-columns:minmax(0,1fr)}.left-col,.right-col{grid-template-rows:auto}.right-top{grid-template-columns:repeat(2,minmax(0,1fr))}.capacity-card,.fixed-soc,.fixed-soh,.fixed-top{height:auto;min-height:0}}.devicehub-embed-shell{min-height:100vh;position:relative}.dhb-topbar--pillbar{flex-wrap:wrap;gap:10px;justify-content:space-between;padding:8px 12px}.dhb-topbar--breadcrumb,.dhb-topbar--pillbar{align-items:center;background:#fcfcff;border:1px solid #d2d2d2;border-radius:8px;box-shadow:none;display:flex;margin-bottom:12px}.dhb-topbar--breadcrumb{gap:12px;justify-content:flex-start;padding:10px 14px}.breadcrumb-trail{align-items:center;color:#1f2937;display:inline-flex;font-weight:600;gap:6px}.crumb-sep{color:#9ca3af}.crumb-strong{color:#0f172a}.dhb-topbar--pills{background:linear-gradient(180deg,#fff,#f9fbff);border:1px solid #e5e7eb;border-radius:10px;box-shadow:inset 0 1px 0 #ffffffb3,0 12px 36px -28px #0c3c6029;flex-wrap:wrap;padding:10px 14px}.dhb-top-left{align-items:center;display:inline-flex;gap:8px;min-width:180px}.back-pill{background:#fff;border:1px solid #d3d7de;border-radius:16px;box-shadow:0 8px 20px -16px #00000038;color:#2b2b2b;cursor:pointer;display:grid;height:32px;place-items:center;width:32px}.back-pill--disabled{cursor:default;opacity:.5}.back-label{color:#6b7280;font-size:13px}.back-value{color:#2b2b2b;font-size:13px;font-weight:700}.dhb-topbar{background:#fff;border:1px solid #dfe6ef;border-radius:12px;box-shadow:0 14px 40px -28px #0c3c6038;flex-wrap:wrap;gap:12px;justify-content:space-between;margin-bottom:16px;padding:12px 16px}.dhb-tabs,.dhb-topbar{align-items:center;display:flex}.dhb-tabs{gap:16px}.dhb-tab{background:none;border:none;color:#4b4b4d;cursor:pointer;font-size:20px;font-weight:500;padding:4px 4px 6px;position:relative}.dhb-tab.active{color:#005194!important;font-weight:600}.dhb-tab.active:after{background:#005194!important;border-radius:2px;bottom:0;content:"";height:2px;left:0;position:absolute;right:0}.dhb-top-actions{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.dhb-top-actions.compact{gap:10px}.status-pill{border:1px solid #d8e4f0;border-radius:10px;box-shadow:0 10px 30px -24px #12590059;color:#118015;font-weight:700;gap:8px;padding:8px 12px}.status-pill--flat{background:#0000;border:none;border-radius:8px;box-shadow:none;padding:4px 8px}.status-pill--flat .status-text{font-weight:700}.status-dot{background:#00b42b;border-radius:999px;box-shadow:0 0 0 6px #00b42b1f;height:9px;width:9px}.status-dot--offline{background:#d1d5db;box-shadow:0 0 0 6px #d1d5db47}.dhb-select{align-items:center;background:#fff;border:1px solid #d7dde8;border-radius:8px;box-shadow:inset 0 1px 0 #fff6,0 10px 30px -26px #00000059;color:#2b2b2b;display:inline-flex;font-weight:600;gap:10px;min-width:160px;padding:8px 12px}.dhb-select--flat{background:#fff;border-color:#d2d2d2;box-shadow:none;min-width:140px;padding:6px 10px}.dhb-select .caret{color:#6b7280;font-size:12px}.dhb-dashboard-grid{align-content:stretch;align-items:stretch;grid-template-columns:minmax(0,var(--dhb-left-col)) minmax(0,var(--dhb-right-col));height:100%}.dhb-dashboard-grid,.left-col,.right-col{grid-gap:var(--dhb-grid-gap);display:grid;gap:var(--dhb-grid-gap)}.bess-layout{display:flex;flex-direction:column;gap:16px}.bess-layout:after{content:"";display:block;height:clamp(32px,4vw,64px);pointer-events:none}.bess-layout__primary{display:flex;flex-direction:column;gap:12px;width:100%}.bess-layout__secondary{width:100%}.bess-layout__primary>.dhb-chart-grid,.bess-layout__primary>.dhb-dashboard-grid{min-height:0}.dhb-dashboard-grid--loading{grid-template-columns:minmax(0,1fr)}.dhb-dashboard-grid--loading .right-col{grid-template-rows:auto auto}.dhb-dashboard-grid--loading .left-col{display:none}.dhb-chart-grid,.dhb-chart-grid.MuiGrid-container{grid-gap:18px;align-items:stretch;display:grid;gap:18px;grid-template-columns:7fr 3fr;padding-left:15px}.dhb-chart-grid.MuiGrid-container>.MuiGrid-item,.dhb-chart-grid>.MuiGrid-item{flex-basis:auto;max-width:100%;min-width:0;padding:0;width:auto!important}.dhb-chart-grid__left{grid-column:1;min-width:320px;width:auto!important}.dhb-chart-grid__right{grid-column:2;min-width:240px;width:auto!important}.dhb-chart-grid__full{grid-column:1/-1}@media (max-width:1200px){.dhb-chart-grid,.dhb-chart-grid.MuiGrid-container{grid-template-columns:minmax(0,1fr)}.dhb-chart-grid__left,.dhb-chart-grid__right{grid-column:1/-1}}.dhb-card.chart-card{display:flex;flex-direction:column;min-height:0}.chart-head{gap:12px;width:100%}.chart-head__controls{flex:1 1 auto;gap:8px;justify-content:flex-end}.chart-head__controls>*{min-width:0}.chart-shell{flex:1 1 auto;min-height:0;padding:0;width:100%}.chart-shell svg{height:100%!important}.chart-shell .recharts-wrapper,.chart-shell svg{width:100%!important}.left-col{grid-gap:var(--dhb-grid-gap);display:grid;gap:var(--dhb-grid-gap);grid-template-rows:minmax(var(--dhb-soc-height),auto) minmax(calc(var(--dhb-soh-height) - var(--dhb-row-trim)),auto)}.left-col--hidden{display:none}.right-col{grid-gap:var(--dhb-grid-gap);display:grid;gap:var(--dhb-grid-gap);grid-template-rows:minmax(var(--dhb-top-height),auto) minmax(calc(var(--dhb-mid-min) - var(--dhb-row-trim)),auto)}.right-col--loading{grid-template-rows:1fr}.right-top{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(2,minmax(0,1fr))}.fixed-soc{height:auto;min-height:var(--dhb-soc-height)}.fixed-soh{height:auto;min-height:calc(var(--dhb-soh-height) - var(--dhb-row-trim))}.fixed-top{height:auto;min-height:var(--dhb-top-height)}.fixed-mid-left,.fixed-mid-right{height:auto;min-height:calc(var(--dhb-mid-min) - var(--dhb-row-trim))}.capacity-card{--capacity-charge:#12b981;--capacity-discharge:#017bd7;box-shadow:0 10px 28px -22px #0e284559;height:auto;min-height:calc(var(--dhb-capacity-height) - var(--dhb-row-trim));padding:20px 20px 22px;padding:var(--dhb-card-pad-lg,20px 20px 22px)}.capacity-card,.dhb-card{display:flex;flex-direction:column}.dhb-card{background:#fff;border:1px solid #dedede;border-radius:12px;box-shadow:0 10px 32px -26px #0e284566;height:100%;justify-content:space-between;overflow:hidden;padding:16px;padding:var(--dhb-card-pad,16px);position:relative}.capacity-card.dhb-card{padding:clamp(12px,1.6vw,16px)}.dhb-card h4{color:#2b2b2b;font-size:clamp(1rem,1.4vw,1.3rem);font-weight:600;margin:0}.chart-head h4{font-size:clamp(1.1rem,1.5vw,1.35rem)}.dhb-card p{margin:0}.capacity-card .capacity-title,.energy-card .card-head h4,.power-card .card-head h4,.soc-card .card-head h4{font-size:clamp(1rem,1.2vw,1.2rem)}.metric-card .metric-value{font-size:clamp(1.25rem,1.9vw,1.6rem)}.soh-card-block h4{font-size:12px;font-weight:500}.soc-status{align-items:center;color:#16a34a;display:inline-flex;font-size:12px;font-weight:800;gap:4px}.soc-status--offline{color:#6b7280}.soc-status .status-dot,.soc-status .status-dot--offline{box-shadow:none;height:6px;width:6px}.chip{align-items:center;border-radius:10px;display:inline-flex;font-size:12px;gap:6px;padding:6px 10px}.chip-muted{background:#f3f6ff;border:1px solid #dbe6ff;color:#0c3c60}.mini-icon{background:linear-gradient(135deg,#e9f2ff,#e3f6ff);border-radius:10px;color:#0c3c60;display:grid;height:32px;place-items:center;width:32px}.soc-card{overflow:hidden;padding:20px 20px 140px;position:relative}.energy-card .card-head h4,.power-card .card-head h4,.soc-card h4{font-size:clamp(1rem,1.4vw,1.2rem)}.soc-gauge-wrap{align-items:center;display:flex;inset:36px 0 0 0;justify-content:center;justify-items:center;pointer-events:auto;position:absolute;transition:transform .18s ease,box-shadow .18s ease}.soc-gauge-arc{max-width:280px;width:100%}.soc-gauge-arc__svg{display:block;height:auto;width:100%}.soc-gauge-wrap .recharts-responsive-container{display:block;height:100%!important;width:100%!important}.soc-gauge-center{align-items:center;display:flex;inset:0;justify-content:center;pointer-events:none;position:absolute}.soc-gauge-value{color:#2b2b2b;font-size:clamp(1rem,1.7vw,1.5rem);font-weight:700;line-height:1;text-shadow:0 1px 3px #00000014}.soc-card .card-head{padding-bottom:40px;position:relative;z-index:2}.soc-gauge-center,.soc-gauge-wrap{z-index:1}.soc-gauge-wrap:hover{box-shadow:0 12px 28px #0000001f;transform:scale(1.03)}@media (max-width:1280px) and (max-height:800px){.soc-gauge-arc{padding:20px}}.soh-card{align-items:center;background:#f8fafc;border:1px solid #e4e9f1;border-radius:10px;display:flex;gap:12px;justify-content:space-between;margin-top:12px;padding:10px 12px}.metric-card .metric-title{color:#4b5563;font-size:clamp(.8rem,1vw,.95rem);font-weight:600}.metric-card .metric-value{font-size:clamp(1.15rem,1.9vw,1.6rem);font-weight:700}.soh-pill{align-items:center;color:#2b2b2b;display:inline-flex;font-size:14px;font-weight:500;gap:8px}.soh-pill .dot{background:#4caf50;border-radius:999px;box-shadow:0 0 0 4px #4caf501f;height:12px;width:12px}.soh-bar{grid-gap:6px;display:grid;gap:6px;grid-template-columns:repeat(5,1fr);width:100%}.soh-swatch{background:#12b981;border-radius:8px;height:10px}.soh-swatch.alert{background:#d72d2d}.soh-swatch.warn{background:#efb034}.soh-card-block{align-self:start;background:#fff;display:flex;flex-direction:column;gap:2px;height:auto;justify-content:flex-start;overflow:hidden;padding:clamp(12px,2vw,20px) 60px 0 clamp(12px,2vw,20px);position:relative;z-index:0}.soh-card-block:after{background:#c4b5fd59;border-radius:50%;content:"";height:85px;pointer-events:none;position:absolute;right:-24px;top:-24px;width:85px;z-index:0}.soh-card__head{align-items:center;display:flex;gap:8px;justify-content:flex-start;margin-bottom:clamp(10px,2vh,22px);position:relative;z-index:1}.soh-card__icon{border-radius:50%;display:grid;height:20px;place-items:center;position:absolute;right:20px;top:12px;width:20px;z-index:2}.soh-card__icon img{display:block;height:28px;width:28px}.soh-card__body{display:none}.soh-card__value{color:#2b2b2b;font-size:22px;font-weight:700;line-height:1}.soh-card__status{align-items:center;color:#2baa46;display:inline-flex;font-size:16px;font-weight:600;gap:6px;padding-left:10px}.soh-card__status--good,.soh-card__status--healthy{color:#16a34a}.soh-card__status--average{color:#f59e0b}.soh-card__status--poor{color:#ea580c}.soh-card__status--critical{color:#dc2626}.soh-status-icon{background-color:currentColor;background-color:var(--soh-status-bg,currentColor);border-radius:50%;box-shadow:none;color:#fff!important;display:grid;font-size:12px;font-weight:800;height:20px;line-height:1;place-items:center;width:20px}.soh-status-icon--critical{--soh-status-bg:#cb1414}.soh-status-icon--average{--soh-status-bg:#ed890e}.soh-status-icon--good,.soh-status-icon--healthy{--soh-status-bg:#16a34a}.soh-card__main{align-items:center;display:flex;gap:8px;margin-bottom:12px;position:relative;z-index:1}.soh-status-text{line-height:1;padding-left:10px}.soh-pill-row{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(4,minmax(0,1fr));margin-bottom:clamp(12px,2vh,20px);z-index:1}.soh-pill,.soh-pill-row{position:relative;width:100%}.soh-pill{--soh-pill-color:#16a34a;background:#e5e7eb;border-radius:999px;height:12px;overflow:hidden}.soh-pill__fade{opacity:.3}.soh-pill__fade,.soh-pill__fill{background:var(--soh-pill-color);inset:0;position:absolute}.soh-pill__fill{transition:width .25s ease;width:0}.soh-pill--active .soh-pill__fill{box-shadow:0 4px 12px -6px #00000059}.soh-pill--critical{--soh-pill-color:#cb1414}.soh-pill--average{--soh-pill-color:#ed890e}.soh-pill--good,.soh-pill--healthy{--soh-pill-color:#16a34a}.energy-card{text-align:center}.donut{--discharge:52%;background:conic-gradient(#cf2d2d 0 var(--discharge),#12b981 var(--discharge) 100%);border-radius:50%;box-shadow:0 8px 24px -18px #cf2d2d73;height:170px;margin:12px auto 10px;position:relative;width:170px}.donut:after{background:#fff;border-radius:50%;box-shadow:inset 0 0 0 12px #f5f7fb;content:"";inset:24px;position:absolute}.donut-label{color:#2b2b2b;font-weight:700;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:1}.dhb-legend{align-items:center;display:flex;flex-wrap:wrap;font-size:13px;gap:14px;justify-content:center;margin-top:10px}.legend-item{color:#2b2b2b;gap:8px}.legend-dot{border-radius:999px;height:10px;width:10px}.power-card .power-row{align-items:center;background:#f5f9ff;border:1px solid #cfe3ff;border-radius:12px;display:flex;gap:12px;margin-top:12px;padding:12px}.power-card .power-row.discharge{background:#fff5f5;border-color:#ffc9c9}.power-icon{background:#fff;border-radius:14px;box-shadow:0 8px 24px -18px #00000040;display:grid;height:48px;place-items:center;width:48px}.power-info{display:flex;flex-direction:column;gap:6px}.power-label{color:#2b2b2b;font-size:14px;margin:0}.power-value{font-size:22px;font-weight:600;margin:0}.capacity-card .bar{background:#e9edf5;box-shadow:inset 0 1px 0 #fff9;display:flex;height:30px;overflow:hidden}.bar--pill,.capacity-card .bar{border-radius:999px;box-sizing:border-box}.bar--pill{background:#e7ebf3;height:18px;padding:2px}.bar--pill .charge,.bar--pill .discharge{cursor:pointer;transform-origin:center;transition:transform .2s ease,filter .2s ease}.bar--pill .charge:hover,.bar--pill .discharge:hover{filter:brightness(1.03);transform:scaleY(1.08)}.mini-card{align-items:center;display:flex;flex-direction:column;gap:4px;justify-content:center;min-height:86px;text-align:center}.mini-title{color:#4b5563;font-size:9px;font-weight:500;margin:0}.mini-value{color:#2b2b2b;font-size:12px;font-weight:700;margin:0}.capacity-card .bar .charge{background:var(--capacity-charge)}.capacity-card .bar .discharge{background:var(--capacity-discharge)}.bar--pill .charge,.bar--pill .discharge{height:100%}.capacity-card .capacity-top{align-items:center;display:flex;justify-content:flex-start;margin-bottom:0}.capacity-card .capacity-title{font-size:clamp(.9rem,1.2vw,1.1rem);font-weight:600;margin-bottom:clamp(6px,1.1vw,10px)}.metric-card{align-items:flex-start;border-color:#e5e7eb;box-shadow:0 10px 24px -20px #0f172a59;display:flex;gap:10px;overflow:hidden;padding:12px 14px 0;position:relative}.metric-card:before{background:#dbeafe;background:var(--metric-bubble,#dbeafe);border-radius:50%;content:"";height:86px;opacity:.45;position:absolute;right:-24px;top:-24px;width:86px;z-index:0}.metric-card--blue{--metric-bubble:#dbeafe;--metric-icon:#93c5fd}.metric-card--teal{--metric-bubble:#dcfce7;--metric-icon:#34d399}.metric-icon{border-radius:50%;color:#93c5fd;color:var(--metric-icon,#93c5fd);display:grid;height:28px;place-items:center;position:absolute;right:10px;top:10px;width:28px;z-index:2}.metric-img{display:block;height:18px;width:18px}.metric-icon svg{height:34px;width:34px}.metric-body{align-items:flex-start;display:flex;flex:1 1;flex-direction:column;gap:6px;position:relative;z-index:1}.right-top .metric-card.metric-card--blue .metric-body,.right-top .metric-card.metric-card--teal .metric-body{gap:40px}.metric-title{color:#374151;font-size:12px;font-weight:500;line-height:1;margin:0}.metric-value{color:#111827;font-size:16px;font-weight:700;letter-spacing:.2px;line-height:1;white-space:nowrap}.metric-sub{color:#6b7280;font-size:11px;margin:0}.capacity-bar-labels{align-items:center;display:flex;font-size:clamp(.75rem,1vw,.95rem);font-weight:600;gap:8px;justify-content:space-between;margin:4px 0 8px;padding:0 10px;width:100%}.capacity-bar-label{align-items:center;display:flex;flex:0 0 auto;font-size:clamp(.7rem,.9vw,.9rem);gap:4px;justify-content:flex-start;line-height:1;overflow:hidden;text-align:left;text-overflow:ellipsis;white-space:nowrap}.capacity-bar-label:before{background:currentColor;border-radius:50%;content:"";flex-shrink:0;height:6px;width:6px}.capacity-bar-label.charge{color:var(--capacity-charge)}.capacity-bar-label.discharge{color:var(--capacity-discharge);justify-content:flex-end;text-align:right}.capacity-card .bar+.capacity-meta{margin-top:6px}.capacity-meta{align-items:center;display:flex;flex-wrap:wrap;font-size:10px;gap:8px}.capacity-meta--centered{justify-content:center}.capacity-mini-grid{grid-gap:6px;display:grid;gap:6px;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:6px}.capacity-mini-grid--wide{gap:12px;margin-top:10px}.capacity-card .capacity-mini-grid--wide{align-items:stretch;margin-top:20px}.capacity-mini-card{background:#f6f9ff;border:1px solid #e7ecf5;border-radius:8px;box-shadow:inset 0 1px 0 #fffc;padding:10px 12px}.capacity-card .capacity-mini-card{align-items:center;display:flex;flex-direction:column;gap:4px;justify-content:center;min-height:64px;text-align:center}.capacity-card .mini-title{font-size:12px;font-weight:500}.capacity-card .mini-value{font-size:22px;font-weight:700}.capacity-card .mini-value .mini-unit{font-size:16px;font-weight:700}.capacity-mini-card.charge{background:#f4fbf7;border-color:#d7f0e3}.capacity-mini-card.charge .mini-title{color:var(--capacity-charge)}.capacity-mini-card.discharge .mini-title{color:var(--capacity-discharge)}@media (max-width:900px){.capacity-mini-grid--wide,.right-top{grid-template-columns:minmax(0,1fr)}.capacity-bar-labels{flex-wrap:wrap}}.capacity-badges{align-items:center;display:flex;flex-wrap:wrap;font-weight:600;gap:18px}.capacity-pill-text{align-items:center;color:#2b2b2b;display:inline-flex;gap:6px}.capacity-pill-strong{color:#017bd7}.capacity-summary{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr}.summary-block{background:#f7fafc;border:1px solid #e3e9f4;border-radius:10px;padding:12px}.summary-label{color:#4b5563;font-size:13px;margin:0}.summary-value{font-size:20px;font-weight:600;margin:6px 0 0}.mini-cap-card{align-items:center;display:flex;flex-direction:column;gap:6px;justify-content:center;text-align:center}.mini-cap-card .capacity-title{font-size:16px;font-weight:600;margin:0}.mini-cap-card .summary-value{font-size:26px;font-weight:700;margin:0}.chart-card{padding:16px 16px 18px}.chart-card--soc{display:flex;flex-direction:column;min-height:var(--dhb-soc-analysis-height);padding:10px 12px}.chart-card--soc .chart-head{gap:10px;margin-bottom:8px;width:100%}.chart-card--soc .chart-controls,.chart-card--soc .chart-head,.chart-card--soc .chart-head__controls{flex-wrap:nowrap;min-width:0}.chart-card--soc .chart-head h4{white-space:nowrap}.chart-card--soc .chart-head--stacked{align-items:center;flex-direction:row;width:100%}.chart-card--soc .chart-head__controls{gap:6px}.chart-card--soc .chart-controls{gap:10px}.chart-card--soc .chart-controls--left{flex:1 1 auto;min-width:0}.chart-card--soc .chart-controls--right{flex:0 1 auto;min-width:0}.chart-card--soc .chart-custom-range,.chart-card--soc .chart-custom-range__field{flex:1 1 260px;min-width:0}.chart-card--soc .chart-custom-input{flex:1 1;min-width:0}.chart-card--soc .chart-controls--stacked{align-items:center;flex-direction:row;gap:10px}.chart-card--soc .chart-head h4{font-size:12px}.chart-card--soc .chart-select{flex:0 1 120px;min-width:90px}.chart-card--soc .chart-select,.chart-card--soc .check-pill{font-size:12px;padding:6px 10px}.chart-card--soc .check-pill input{height:14px;width:14px}.chart-card--soc .check-pill--soh input{border-width:1px;height:14px;width:14px}.chart-card--soc .check-pill--soh input:after{border-width:1px;height:8px;width:6px}.chart-card--soc .ghost-btn{font-size:12px;padding:6px 12px;white-space:nowrap}.chart-card--soc .chart-custom-range input{font-size:12px;padding:6px 10px}.chart-card--soc .chart-shell--soc{flex:1 1 auto;height:auto;min-height:156px;padding-bottom:10px}.chart-card--soc .soc-legend{font-size:12px;gap:8px;margin-top:6px}.chart-card--soc .soc-legend--inline{margin-top:6px}.chart-card--soc .recharts-cartesian-axis-tick text{font-size:9px}.chart-head{align-items:center;display:flex;flex-wrap:wrap;gap:14px;justify-content:space-between}.chart-head--stacked{align-items:flex-start;flex-direction:column;gap:10px}.chart-head__controls{flex-wrap:wrap;gap:12px;width:100%}.chart-head--inline{align-items:center;flex-direction:row;flex-wrap:nowrap}.chart-head--inline .chart-head__controls{flex:1 1 auto;flex-wrap:nowrap;min-width:0;width:auto}.chart-head--inline .chart-controls{flex-wrap:nowrap}.chart-head--inline .chart-controls--right{min-width:0}.chart-head--inline .chart-custom-range:not(.chart-custom-range--single) input{width:clamp(130px,12vw,180px)}.chart-controls--left{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.chart-head h4{font-size:18px;margin:0}.chart-head__title-row{align-items:center;display:inline-flex;flex-wrap:wrap;gap:12px}.chart-head__title-row .metric-dropdown{flex:0 0 auto}.dhb-chart-grid__left .chart-head h4,.energy-card .card-head h4,.power-card .card-head h4,.soc-card .card-head h4,.soh-card-block h4{font-size:clamp(.9rem,1.2vw,1.1rem);font-weight:600}.chart-controls{flex-wrap:wrap}.dhb-chart-grid__left .chart-controls,.dhb-chart-grid__left .chart-head,.dhb-chart-grid__left .chart-head__controls{flex-wrap:nowrap;min-width:0}.dhb-chart-grid__left .chart-head h4{white-space:nowrap}.dhb-chart-grid__left .chart-controls--left{flex:1 1 auto;min-width:0}.dhb-chart-grid__left .chart-controls--right{flex:0 1 auto;min-width:0}.dhb-chart-grid__left .chart-custom-range,.dhb-chart-grid__left .chart-custom-range__field{flex:1 1 260px;min-width:0}.dhb-chart-grid__left .chart-custom-input{flex:1 1;min-width:0}.dhb-chart-grid__left .check-pill{white-space:nowrap}.dhb-chart-grid__left .chart-select{flex:0 1 120px;min-width:90px}.dhb-chart-grid__left .ghost-btn{white-space:nowrap}@media (max-width:1280px){.dhb-chart-grid__left .chart-head--custom-range h4{font-size:12px;font-weight:500}.dhb-chart-grid__left .chart-head--custom-range .chart-controls--left{gap:8px}.dhb-chart-grid__left .chart-head--custom-range .chart-controls--right{gap:6px}.dhb-chart-grid__left .chart-head--custom-range .chart-custom-range{flex:1 1 auto;gap:4px}.dhb-chart-grid__left .chart-head--custom-range .chart-custom-range input{font-size:12px;padding:5px 7px;width:clamp(110px,11vw,150px)}.dhb-chart-grid__left .chart-head--custom-range .chart-custom-sep{font-size:12px}.dhb-chart-grid__left .chart-head--custom-range .check-pill{font-size:12px;font-weight:500;padding:5px 8px}.dhb-chart-grid__left .chart-head--custom-range .check-pill input{height:12px;width:12px}.dhb-chart-grid__left .chart-head--custom-range .chart-select{font-size:12px;min-width:80px;padding:5px 8px}.dhb-chart-grid__left .chart-head--custom-range .ghost-btn{font-size:12px;padding:5px 8px}.bess-layout__secondary .chart-head--custom-range h4{font-size:14px;font-weight:600}.bess-layout__secondary .chart-head--custom-range .chart-controls{gap:8px}.bess-layout__secondary .chart-head--custom-range .metric-dropdown{min-width:150px}.bess-layout__secondary .chart-head--custom-range .metric-dropdown__trigger{font-size:14px;gap:8px;padding:6px 9px}.bess-layout__secondary .chart-head--custom-range .chart-custom-range{flex:1 1 auto;gap:4px}.bess-layout__secondary .chart-head--custom-range .chart-custom-range input{font-size:12px;padding:5px 7px;width:clamp(110px,11vw,150px)}.bess-layout__secondary .chart-head--custom-range .chart-custom-sep{font-size:12px}.bess-layout__secondary .chart-head--custom-range .chart-select{font-size:12px;min-width:90px;padding:6px 9px}.bess-layout__secondary .chart-head--custom-range .ghost-btn{font-size:12px;padding:6px 10px}}@media (min-width:1281px){.dhb-chart-grid__left .chart-custom-range{margin-left:12px}}.chart-select{background:#fff;border:1px solid #d5dbe7;font-weight:500;min-width:140px;padding:7px 10px}.chart-select,.check-pill{color:#2b2b2b;font-size:14px}.check-pill{align-items:center;border:1px solid #e1e7f0;border-radius:8px;display:inline-flex;font-weight:600;gap:8px;padding:6px 10px}.check-pill input{accent-color:#017bd7}.check-pill--soh input{accent-color:#22c55e;appearance:none;background:#fff;border:1.5px solid #22c55e;border-radius:3px;cursor:pointer;display:inline-grid;height:14px;place-items:center;width:14px}.check-pill--soh input:after{border:2px solid #fff;border-left:0;border-top:0;content:"";height:10px;opacity:0;transform:rotate(45deg);width:6px}.check-pill--soh input:checked{background:#22c55e;border-color:#22c55e}.check-pill--soh input:checked:after{opacity:1}.check-pill--soh input:focus-visible{outline:2px solid #22c55e59;outline-offset:2px}.ghost-btn{background:#f7f9fc;border:1px solid #d7dfe9;color:#2b2b2b;font-weight:500}.ghost-btn:hover{border-color:#c7d2e4}.ghost-btn--flat{background:#fff;border-color:#d4d9e1;border-radius:8px;box-shadow:none;padding:7px 12px}.check-pill--flat{border-color:#dce6f5;border-radius:8px;padding:6px 10px}.chip--flat{background:#f7f9fc;border:1px solid #dbe2ed;border-radius:8px;box-shadow:none;padding:6px 10px}.dropdown-chip{min-width:170px;position:relative}.dropdown-chip__trigger{align-items:center;background:#0000;border:none;color:#1f2937;cursor:pointer;display:inline-flex;font-weight:600;gap:8px;justify-content:space-between;width:100%}.dropdown-chip__menu{grid-gap:6px;background:#fff;border:1px solid #d7dfe9;border-radius:10px;box-shadow:0 12px 30px -18px #0f172a59;display:grid;gap:6px;left:0;min-width:240px;padding:8px;position:absolute;top:calc(100% + 8px);z-index:20}.dropdown-option{align-items:center;border-radius:8px;cursor:pointer;display:flex;gap:8px;padding:6px 8px;transition:background .12s ease}.dropdown-option:hover{background:#f4f6fb}.chart-controls--right{align-items:center;gap:10px}.chart-controls--right--custom{width:100%}.metric-dropdown{max-width:300px;min-width:240px;position:relative;width:auto}.metric-dropdown__trigger{align-items:center;background:#fff;border:1px solid #d5dbe7;border-radius:8px;box-shadow:0 4px 12px -10px #0f172a47;box-sizing:border-box;color:#1f2937;cursor:pointer;display:inline-flex;font-weight:600;gap:10px;justify-content:space-between;min-width:240px;padding:7px 10px;width:100%}.metric-dropdown__menu{grid-gap:6px;background:#fff;border:1px solid #d7dfe9;border-radius:10px;box-shadow:0 14px 32px -18px #0f172a61;box-sizing:border-box;display:grid;gap:6px;left:0;min-width:100%;padding:8px;position:absolute;top:calc(100% + 6px);width:100%;z-index:40}.metric-dropdown__option{align-items:center;border-radius:8px;box-sizing:border-box;cursor:pointer;display:flex;gap:8px;overflow:visible;padding:6px 8px;transition:background .12s ease;white-space:nowrap;width:100%}.metric-dropdown__option:hover{background:#f4f6fb}.chart-shell{height:320px;min-width:320px;overflow:hidden}.chart-shell--soc{height:154px;margin-top:35px}.chart-shell--bau{height:320px;margin-top:35px}.chart-controls--stacked{align-items:flex-end;display:flex;flex-direction:column;gap:8px}.chart-custom-range--single{gap:0}.chart-custom-range__field{align-items:center;background:#fff;border:1px solid #d7dfe9;border-radius:8px;cursor:text;display:inline-flex;gap:0}.chart-custom-range .react-datepicker-wrapper,.chart-custom-range .react-datepicker__input-container,.chart-custom-range__field .react-datepicker-wrapper,.chart-custom-range__field .react-datepicker__input-container{display:contents}.chart-custom-range__field input{flex:0 1 auto;min-width:0;width:clamp(130px,12vw,180px)}.chart-custom-range__field:focus-within{border-color:#c7d2e4;box-shadow:0 0 0 2px #017bd726}.chart-custom-range--single .chart-custom-input{background:#0000;border:none;color:#2b2b2b;flex:1 1 140px;font-size:12px;min-width:120px;padding:0}.chart-custom-range--single .chart-custom-input:focus{outline:none}.chart-custom-range--single .chart-custom-input::-webkit-calendar-picker-indicator{margin:0;opacity:0;width:0}.chart-custom-range--single .chart-custom-icon{align-items:center;color:#6b7280;display:inline-flex;font-size:14px;justify-content:center}.chart-custom-range--single .chart-custom-icon i{pointer-events:none}.chart-controls--right .chart-custom-range{justify-content:flex-start}.chart-custom-range:not(.chart-custom-range--single) input{background:#fff;border:1px solid #d7dfe9;border-radius:8px;box-sizing:border-box;cursor:text;flex:0 1 auto;font-size:12px;min-height:34px;min-width:0;padding:6px 8px;pointer-events:auto;width:clamp(130px,12vw,180px)}.chart-custom-range:not(.chart-custom-range--single) input::-webkit-calendar-picker-indicator{cursor:pointer}.chart-overlay{background:#ffffffe0;color:#1f2937;font-weight:600;padding:12px;text-align:center}.chart-overlay--error{background:#fff3f3f0;border:1px solid #fca5a5;color:#b91c1c}.chart-overlay--muted{background:#ffffffe6;border:1px dashed #d1d5db;color:#6b7280}.soc-legend{color:#4b5563;display:flex;font-size:12px;gap:16px;margin-top:6px}.soc-legend,.soc-legend--inline{justify-content:center}.soc-legend .legend-dot{border-radius:50%;display:inline-block;height:10px;width:10px}.stacked-card-col{grid-gap:16px;display:grid;gap:16px;grid-template-rows:13fr 7fr;height:100%;min-height:0;width:100%}.devicehub-bess-page--fullscreen .energy-card--split,.devicehub-bess-page--fullscreen .energy-layout,.devicehub-bess-page--fullscreen .power-card--compact{min-height:0}.devicehub-bess-page--fullscreen .power-limit-grid{align-content:center;min-height:0}.energy-card--split{align-items:stretch;display:flex;flex-direction:column;height:auto;min-height:0;padding:20px;text-align:left}.donut--triple{border-radius:50%;box-shadow:inset 0 0 0 12px #fff,0 8px 20px -16px #0003;height:150px;margin:8px auto 0;position:relative;width:150px}.donut--triple:after{background:#fff;border-radius:50%;box-shadow:inset 0 0 0 6px #f7f7f7;content:"";inset:26px;position:absolute}.donut-wrapper{align-items:center;display:flex;height:clamp(126px,15.4vw,168px);justify-content:center;margin:0 auto;min-height:112px;min-width:112px;position:relative;width:clamp(126px,15.4vw,168px)}.donut-wrapper,.energy-card--split .recharts-surface,.energy-card--split .recharts-wrapper{overflow:visible}.energy-layout{align-items:center;container-type:inline-size;display:grid;flex:1 1 auto;grid-template-columns:auto minmax(0,1fr)}.energy-meta{align-items:stretch;display:flex;flex-direction:column;gap:6px;justify-self:stretch;padding-right:0}.energy-meta--column .energy-line{align-items:center;column-gap:8px;grid-template-columns:auto minmax(0,1fr) auto;grid-template-rows:auto;justify-items:start;row-gap:0}.energy-meta--column .legend-dot{height:8px;width:8px}.energy-meta--column .energy-label{color:#4b5563;font-weight:500;min-width:0}.energy-meta--column .energy-value{color:#1f2937;display:block;font-size:13px;font-weight:700;justify-self:end;text-align:right}.energy-slice-label{filter:drop-shadow(0 6px 14px rgba(15,23,42,.18));pointer-events:none}@container (max-width: 177px){.energy-layout{grid-template-columns:1fr;grid-template-rows:auto auto;justify-items:center;row-gap:10px}.donut-wrapper{margin:0 auto}.energy-meta{align-items:flex-start;width:100%}.energy-meta--column .energy-line{grid-column-gap:6px;grid-row-gap:0;align-items:center;column-gap:6px;display:grid;grid-template-columns:auto 1fr auto;grid-template-rows:auto;row-gap:0}.energy-meta--column .legend-dot{align-self:center;grid-row:1}.energy-meta--column .energy-label{align-self:center;grid-column:2;grid-row:1}.energy-meta--column .energy-value{grid-column:3;grid-row:1;justify-self:end;text-align:right}}@media (max-width:1280px){.energy-layout{grid-template-columns:1fr;grid-template-rows:auto auto;justify-items:center}.energy-meta{align-items:flex-start;justify-self:center;width:min(100%,260px)}.energy-meta--column{grid-column-gap:2px;grid-row-gap:6px;align-items:center;column-gap:2px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;justify-items:start;row-gap:6px}.energy-meta--column .energy-line{display:contents;width:100%}.energy-meta--column .legend-dot{margin-right:6px}.energy-meta--column .energy-value{justify-self:end;text-align:right}}.energy-line{grid-gap:8px;align-items:center;display:grid;font-weight:600;gap:8px;grid-template-columns:auto 1fr auto}.energy-label{color:#2b2b2b;font-weight:500}.energy-value{color:#2b2b2b;font-weight:700}.power-card--compact{box-shadow:0 10px 28px -24px #0e284559;display:flex;flex-direction:column;height:auto;min-height:0;padding:20px}.power-limit-grid{grid-gap:0;grid-column-gap:14px;align-items:center;background:linear-gradient(90deg,#c7d7ff,#ffd2d2);border-radius:12px;box-shadow:0 14px 34px -24px #2c487873;column-gap:14px;display:grid;flex:1 1 auto;gap:0;grid-template-columns:repeat(2,minmax(0,1fr));margin-top:6px;overflow:hidden;padding:8px 10px;position:relative}.power-limit-grid:before{background:linear-gradient(90deg,#f5f8ff,#fff1f1);border-radius:10px;content:"";inset:2px;position:absolute;z-index:0}.power-limit-block{background:#0000;border:none;border-radius:0;display:flex;flex-direction:column;gap:6px;min-height:0;padding:4px 0;position:relative;z-index:1}.power-limit-block.danger{background:#0000;border-color:#0000}.power-limit-block .power-label{color:#2f2f2f;font-size:14px;font-weight:500;line-height:1;margin:0}.power-limit-block .power-value{align-items:baseline;color:#2b2b2b;display:flex;font-size:24px;font-weight:700;gap:6px;line-height:1;margin:0}.power-limit-block .power-unit{color:#3a3a3a;font-size:16px;font-weight:600;letter-spacing:.4px}.chart-legend{align-items:center;display:flex;flex-wrap:wrap;font-size:13px;gap:12px;margin-top:10px}.chart-tooltip{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#fffffff5;border:1px solid #e5e7eb;box-shadow:0 12px 30px -20px #0f172a59}.chart-tooltip__label{font-weight:600;margin-bottom:6px}.chart-tooltip__row{grid-gap:6px;align-items:center;display:grid;font-size:12px;gap:6px;grid-template-columns:auto 1fr auto}.chart-dot{border-radius:999px;height:10px;width:10px}.chart-name{color:#4b5563}.chart-value{color:#111827;font-weight:700}.chart-tooltip--soc{background:#fffffffa;border-color:#e5e7eb}.devicehub-bess-page .chart-tooltip{background:#fff!important;border:1px solid #e5e7eb!important;box-shadow:0 12px 30px -20px #0f172a59;color:#0f172a!important}.devicehub-bess-page .chart-tooltip__label{color:#111827}.devicehub-bess-page .chart-tooltip__row .chart-name{color:#4b5563}.devicehub-bess-page .chart-tooltip__row .chart-value{color:#111827}.dhb-loader{align-items:center;background:#ffffffd9;display:flex;flex-direction:column;gap:10px;inset:0;justify-content:center;position:fixed;z-index:1200}.dhb-loader--panel{background:#fff;z-index:20}.devicehub-bess-page .dhb-loader--panel{justify-content:flex-start;padding-top:clamp(140px,30vh,340px)}.dhb-loader__spinner{animation:dhb-spin .9s linear infinite;border:4px solid #e5e7eb;border-radius:50%;border-top-color:#017bd7;height:48px;width:48px}.dhb-loader__dots{align-items:center;display:inline-flex}.dhb-loader__dots span{animation:dhb-dot 1.1s ease-in-out infinite;background:#017bd7;border-radius:50%;height:8px;opacity:.35;width:8px}.dhb-loader__dots span:nth-child(2){animation-delay:.15s}.dhb-loader__dots span:nth-child(3){animation-delay:.3s}.dhb-loader__text{color:#2b2b2b;font-weight:600}.dhb-loader--panel .dhb-loader__text{color:#0c3c60}@keyframes dhb-spin{to{transform:rotate(1turn)}}@keyframes dhb-dot{0%,to{opacity:.2;transform:translateY(0)}50%{opacity:1;transform:translateY(-4px)}}.dhb-banner{border:1px solid #0000;border-radius:10px;font-weight:600;margin-bottom:10px;padding:10px 12px}.dhb-banner--error{background:#fff2f2;border-color:#f8c4c4;color:#b91c1c}.dhb-banner--warning{background:#fff8e6;border-color:#fcd34d;color:#92400e}.dhb-banner--pill{align-items:center;background:#fff;border:1px solid #d4d7dc;border-radius:999px;box-shadow:inset 0 1px 0 #fff9;color:#6b7280;display:inline-flex;gap:6px;padding:6px 14px}.dhb-banner--pill-info{background:#f8fafc;border-color:#d4d7dc;color:#1f2937}.dhb-error-panel{background:#fff;border:1px solid #e2e8f0;border-radius:16px;box-shadow:0 18px 40px -32px #0f172a59;display:flex;gap:16px;margin:12px auto 0;max-width:620px;min-height:360px;padding:24px}.dhb-error-icon,.dhb-error-panel{align-items:center;justify-content:center}.dhb-error-icon{background:#fff1f2;border:1px solid #fecdd3;border-radius:14px;box-shadow:0 8px 16px -14px #b91c1c73;display:inline-flex;height:48px;width:48px}.dhb-error-icon img{height:28px;object-fit:contain;width:28px}.dhb-error-copy{display:flex;flex-direction:column;gap:4px}.dhb-error-title{color:#111827;font-size:18px;font-weight:700}.dhb-error-message{color:#475569;font-size:15px}.devicehub-pcs-page{--dhb-grid-gap:clamp(12px,1.2vw,18px);--dhb-card-pad:clamp(12px,1vw,18px);--dhb-card-pad-lg:clamp(16px,1.5vw,22px);--dhb-main-gap:40px;color:#2b2b2b;font-family:Montserrat,Inter,sans-serif;position:relative}.devicehub-pcs-body:after{content:"";display:block;height:clamp(32px,4vw,64px)}.devicehub-pcs-page .dhb-dashboard-row{align-items:stretch;display:flex;flex-wrap:wrap;gap:var(--dhb-grid-gap)}.devicehub-pcs-page .dhb-dashboard-row>.dhb-card{align-self:stretch;height:auto}.devicehub-pcs-body{min-height:0}.pcs-layout,.pcs-layout__main{display:flex;flex-direction:column;gap:10px;min-height:0}.pcs-layout__main{flex:1 1 auto;width:100%}@media (max-width:1280px){.pcs-layout__main{gap:10px}.devicehub-pcs-page .chart-head--custom-range h4{font-size:12px;font-weight:500}.devicehub-pcs-page .chart-head--custom-range .chart-controls{gap:8px}.devicehub-pcs-page .chart-head--custom-range .chart-custom-range{flex:1 1 auto;gap:4px}.devicehub-pcs-page .chart-head--custom-range .chart-custom-range input{font-size:12px;padding:5px 7px;width:clamp(110px,11vw,150px)}.devicehub-pcs-page .chart-head--custom-range .chart-custom-sep{font-size:12px}.devicehub-pcs-page .chart-head--custom-range .chart-select{font-size:12px;min-width:90px;padding:6px 9px}.devicehub-pcs-page .chart-head--custom-range .ghost-btn{font-size:12px;padding:6px 10px}.devicehub-pcs-page .pcs-row--factors .dhb-card,.devicehub-pcs-page .pcs-row--metrics .dhb-card,.devicehub-pcs-page .pcs-row--power .dhb-card{padding:calc(var(--dhb-card-pad)*.5)}.pcs-row--power .metric-body{gap:16px}.pcs-power-card__layout{align-items:center;grid-template-columns:minmax(0,1fr) minmax(150px,.9fr);grid-template-rows:auto auto;padding:10px 12px}.pcs-power-card__gauge{min-height:88px}.pcs-score-gauge svg{max-height:158px}.pcs-apparent-card{padding:var(--apparent-pad)}.pcs-apparent-card__body{flex-wrap:wrap;gap:clamp(12px,2vw,22px);gap:18px}.pcs-apparent-card__detail,.pcs-apparent-card__gauge{flex:1 1 100%;max-width:100%}.linear-pill-bar-label,.pcs-apparent-card__subtitle{font-size:calc(var(--apparent-subtitle-size)*.85)}}.pcs-layout__ac{display:flex;flex-direction:column;gap:var(--dhb-grid-gap);width:100%}.pcs-layout__ac .dhb-dashboard-row>.dhb-card{flex:1 1 100%;width:100%}.devicehub-pcs-page .pcs-row--metrics{min-height:auto;min-height:var(--pcs-row1-height,auto)}.devicehub-pcs-page .pcs-row--power{min-height:auto;min-height:var(--pcs-row2-height,auto)}.devicehub-pcs-page .pcs-row--power .dhb-card{--pcs-power-card-pad:clamp(12px,1.6vw,16px);padding:var(--pcs-power-card-pad)}.devicehub-pcs-page .pcs-row--factors{flex-wrap:nowrap;min-height:auto;min-height:var(--pcs-row3-height,auto)}.devicehub-pcs-page .dhb-card{background:#fff;border:1px solid #dedede;border-radius:8px;box-shadow:0 14px 30px -24px #0e284573;box-sizing:border-box;overflow:hidden;position:relative}.devicehub-pcs-page .pcs-row--metrics .dhb-card{padding:calc(var(--dhb-card-pad)*.5)}.devicehub-pcs-page .metric-title{font-size:14px;font-weight:600;letter-spacing:.2px;margin:0}.devicehub-pcs-page .metric-value{font-size:clamp(14px,1.5vw,20px);margin:clamp(2px,1vw,8px) 0 0}.metric-card .metric-body{align-items:flex-start;display:flex;flex-direction:column;gap:8px;justify-content:flex-start;padding-left:6px;padding-right:6px;text-align:left;width:100%}.pcs-row--power .metric-body{align-items:flex-start;flex-direction:column;gap:16px}.pcs-row--power .metric-title,.pcs-row--power .metric-value{display:block;text-align:left;width:100%}.pcs-row--power .metric-title{font-size:16px}.pcs-row--power .metric-value{margin-top:2px}.pcs-row--power .bidirectional-pill-bar{padding-left:0;padding-right:0}.metric-card .metric-icon{border-radius:50%;display:grid;height:28px;place-items:center;position:absolute;right:16px;top:16px;width:28px}.metric-card--red{--metric-color:#d33434}.metric-card.metric-card--teal{--metric-color:#0ea5e9}.metric-icon img{height:30px;width:30px}.pcs-chart-card{min-height:0}.pcs-chart-card .recharts-wrapper{margin-top:0}.devicehub-pcs-page .pcs-chart-card__header{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:flex-start}.devicehub-pcs-page .pcs-chart-card__header .chart-head__controls{align-items:center;flex:0 1 auto;gap:12px;justify-content:space-between;width:100%}.devicehub-pcs-page .pcs-chart-card__header .chart-controls--left{flex:0 0 auto}.devicehub-pcs-page .pcs-chart-card__header .chart-controls--right{margin-left:auto}.pcs-chart-body{flex:1 1 auto;height:240px;min-height:240px;min-width:320px;position:relative;width:100%}.chart-head__controls{align-items:center;display:flex;flex-wrap:nowrap;gap:10px;justify-content:space-between}.devicehub-pcs-page .chart-head__controls{justify-content:space-between;width:100%}.chart-controls{align-items:center;display:flex;gap:10px}.chart-controls--left{flex:0 0 auto;flex-wrap:nowrap;min-width:0}.chart-controls--right{margin-left:auto}.devicehub-pcs-page .chart-controls--right{flex:0 1 auto;margin-left:auto}.chart-controls--right--custom{align-items:center;flex-wrap:wrap;gap:8px;justify-content:flex-end}.devicehub-pcs-page .chart-controls--right--custom{flex-wrap:nowrap;justify-content:flex-end;width:auto}.chart-custom-range{align-items:center;display:flex;flex-wrap:nowrap;gap:6px;width:auto}.devicehub-pcs-page .chart-custom-range{flex-wrap:nowrap}.devicehub-pcs-page .chart-custom-range .react-datepicker-wrapper{flex:0 1 auto}.chart-custom-range .react-datepicker-wrapper,.chart-custom-range .react-datepicker__input-container{display:contents}.chart-controls--right .chart-custom-range{flex-basis:auto;flex-wrap:nowrap;justify-content:flex-end;margin-left:0;margin-top:0;width:auto}.chart-custom-range input{background:#fff;border:1px solid #d7dfe9;border-radius:8px;box-sizing:border-box;cursor:text;flex:0 1 auto;font-size:12px;min-height:34px;min-width:0;padding:6px 8px;pointer-events:auto;width:clamp(130px,12vw,180px)}.chart-custom-range input::-webkit-calendar-picker-indicator{cursor:pointer}.chart-custom-sep{color:#6b7280;font-weight:600}.pcs-chart-card .chart-head__controls{align-items:center;flex-wrap:wrap;gap:12px}.pcs-chart-card .chart-custom-range input{flex:0 1 auto;width:clamp(120px,12vw,170px)}.chart-select{appearance:none;background:#fff url("data:image/svg+xml;charset=utf-8,%3Csvg width='10' height='6' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m1 1 4 4 4-4' stroke='%23555' stroke-width='1.4' fill='none' stroke-linecap='round'/%3E%3C/svg%3E") no-repeat;background-position:calc(100% - 10px);border:1px solid #d2d6db;border-radius:8px;padding:8px 32px 8px 12px}.chart-select-wrapper{align-items:center;display:inline-flex;padding-right:8px}.chart-overlay{align-items:center;background:#ffffffd9;border-radius:12px;color:#6b7280;display:flex;font-weight:500;inset:0;justify-content:center;position:absolute;z-index:2}.chart-overlay--error{color:#c0392b}.chart-overlay--muted{color:#9ca3af}.dhb-loader--panel{align-items:center;background:#ffffffe6;border-radius:14px;display:flex;flex-direction:column;gap:8px;inset:0;justify-content:center;position:absolute;z-index:5}.devicehub-pcs-page .dhb-loader--panel{justify-content:flex-start;padding-top:35vh;padding-inline:clamp(12px,5vw,32px);text-align:center}.dhb-loader__dots{display:flex;gap:8px}.dhb-loader__text{color:#6b7280;font-size:12px;margin-top:8px}.pcs-power-card{border:none;border-radius:14px;box-shadow:0 0 3.5px #00000040;outline:1px solid #ddd;outline-offset:-1px;overflow:hidden;padding:0;position:relative}.pcs-power-card__layout{align-items:center;box-sizing:border-box;display:grid;grid-template-columns:minmax(0,1.1fr) minmax(170px,.9fr);grid-template-rows:auto auto;height:100%;width:100%}.pcs-power-card__title{color:#3d3d3d;font-size:18px;font-weight:600;grid-column:1/-1;margin:0;padding-left:7px;position:static}.pcs-power-card__gauge{align-items:center;display:flex;grid-column:1;grid-row:2;height:100%;justify-content:center;min-height:97px;position:relative;transition:transform .25s ease,filter .25s ease;width:100%}.pcs-power-card__gauge .pcs-score-gauge{transform:translateY(20px)}.pcs-power-card__gauge:hover{filter:drop-shadow(0 10px 18px rgba(0,0,0,.12));transform:scale(1.05)}.pcs-score-gauge svg{display:block;height:auto;max-height:171px;width:100%}.pcs-power-card__gauge-label{bottom:10px;color:#2f3640;font-size:11px;font-weight:700;letter-spacing:.4px;pointer-events:none;position:absolute;text-transform:uppercase;z-index:1}.pcs-power-card__gauge-label--lag{left:14px}.pcs-power-card__gauge-label--lead{right:14px}.pcs-power-card__ticks{bottom:4px;display:flex;justify-content:space-between;left:0;padding:0 10px;position:absolute;right:0}.pcs-power-card__tick{color:#2b2b2be6;font-size:14px;font-weight:500}.pcs-power-card__legend{align-items:center;display:flex;flex-direction:column;flex-wrap:nowrap;gap:8px;grid-column:2;grid-row:2;justify-content:center;min-width:140px;text-align:center;width:100%}.pcs-power-legend-item{align-items:flex-start;display:flex;flex-direction:column;gap:2px}@media (max-width:860px){.pcs-power-card__layout{grid-template-columns:1fr;grid-template-rows:auto auto auto}.pcs-power-card__gauge{grid-column:1/-1;grid-row:2}.pcs-power-card__legend{align-items:center;flex-wrap:nowrap;gap:10px 16px;grid-column:1;grid-row:3;justify-content:center;justify-self:center}.pcs-power-legend-item{align-items:flex-start}}@media (max-width:1280px) and (max-height:800px){.bidirectional-pill-bar-wrapper{height:21px}.bidirectional-pill-bar-label{padding-top:24px}.pcs-power-card__gauge{min-height:50px}.pcs-score-gauge svg{max-height:86px}.pcs-apparent-card{--apparent-gauge-size:clamp(90px,calc(100px*var(--apparent-scale)),120px)}.pcs-apparent-card__gauge .MuiChartsSurface-root{height:110px!important;width:110px!important}.pcs-apparent-card__detail{padding-left:14px}.linear-pill-bar-wrapper{height:13px}}.pcs-power-legend-label{align-items:center;color:#2b2b2b;display:inline-flex;font-size:12px;font-weight:400;gap:4px}.pcs-power-legend-range{color:#2b2b2be6;font-size:14px;font-weight:500}.pcs-power-legend-dot{border:1px solid #fff;border-radius:9999px;height:12px;width:12px}.pcs-power-legend-dot--critical{background:#cb1414}.pcs-power-legend-dot--warning{background:#cb8b14}.pcs-power-legend-dot--normal{background:#00ac51}.pcs-apparent-card{--apparent-scale:0.4;--apparent-pad:clamp(12px,calc(14px + 4px*var(--apparent-scale)),20px);--apparent-gap:clamp(10px,calc(14px + 6px*var(--apparent-scale)),22px);--apparent-header-gap:clamp(6px,8px,10px);--apparent-detail-gap:clamp(4px,7px,9px);--apparent-label-size:clamp(13px,14px,15px);--apparent-value-size:clamp(22px,26px,30px);--apparent-subtitle-size:clamp(12px,13px,14px);--apparent-gauge-size:clamp(162px,calc(180px*var(--apparent-scale)),216px);--apparent-bar-height:clamp(11px,13px,15px);--apparent-bar-label:clamp(10px,11px,12px);padding:var(--apparent-pad)}.pcs-apparent-card__body{align-items:center;display:flex;flex-wrap:nowrap;gap:var(--apparent-gap);justify-content:flex-start}.pcs-apparent-card__detail{flex:1 1 70%;gap:var(--apparent-detail-gap);max-width:72%;min-width:0;padding-left:20px}.pcs-apparent-card__detail,.pcs-apparent-card__header{align-items:flex-start;display:flex;flex-direction:column}.pcs-apparent-card__header{gap:var(--apparent-header-gap)}.pcs-apparent-card__label{color:#3d3d3d;font-size:18px;font-weight:600}.pcs-apparent-card__value{color:#0d3250;font-size:var(--apparent-value-size);font-weight:600;margin-top:20px;padding-bottom:6px;padding-left:12px}.pcs-apparent-card__subtitle{color:#4a4a4a;font-weight:500;margin-left:12px;margin-top:4px}.pcs-apparent-card__gauge{align-items:center;display:flex;flex:0 0 auto;justify-content:center;margin-left:clamp(8px,2vw,18px);max-width:220px;min-width:170px;transition:transform .25s ease;width:clamp(170px,26vw,220px)}.pcs-apparent-card__gauge:hover{transform:scale(1.04)}.pcs-apparent-ring{--ring-track:#ececf2;--ring-accent:#00ac51;align-items:center;aspect-ratio:1/1;background:conic-gradient(var(--ring-accent) 0deg 0deg,var(--ring-track) 0deg 1turn);background:conic-gradient(var(--ring-accent) 0deg var(--apparent-progress-deg,0deg),var(--ring-track) var(--apparent-progress-deg,0deg) 1turn);border-radius:50%;display:flex;justify-content:center;max-width:clamp(130px,22vw,180px);position:relative;width:100%}.pcs-apparent-ring:before{background:#fff;border-radius:50%;box-shadow:inset 0 4px 8px #0f172a14;content:"";inset:12% 12% 12% 12%;position:absolute}.pcs-apparent-ring__value{color:#2f3640;font-size:clamp(18px,3vw,24px);font-weight:700;position:relative;z-index:1}@media (min-width:1280px) and (min-height:800px){.css-rum8d7-MuiChartsSurface-root{overflow:visible}}.pcs-legend{display:flex;flex-wrap:wrap;gap:6px;justify-content:center;list-style:none;margin:0;padding:0}.pcs-legend-item{align-items:center;display:inline-flex;font-size:14px;gap:4px}.pcs-chart-card .recharts-cartesian-axis-tick text{font-size:11px;white-space:pre}.pcs-legend-dot{border-radius:50%;display:inline-block;height:10px;width:10px}.pcs-tooltip{background:#fff;border:1px solid #d2d6db;border-radius:8px;box-shadow:0 10px 30px #0f0f0f1a;font-size:12px;padding:10px}.pcs-tooltip-row{align-items:center;display:flex;gap:6px;margin-bottom:4px}.pcs-tooltip-dot{border-radius:50%;height:10px;width:10px}.pcs-tooltip-date{color:#9ca3af;font-size:11px}@media (max-width:900px){.pcs-apparent-card__body{justify-content:flex-start}.pcs-apparent-card__gauge{margin-left:0;width:clamp(180px,48vw,230px)}}.devicehub-pcs-page .dhb-dashboard-col-3{box-sizing:border-box;flex:1 1 30%;min-width:150px;padding:var(--dhb-card-pad)}.devicehub-pcs-page .dhb-dashboard-col-2{box-sizing:border-box;flex:1 1 48%;min-width:150px;padding:var(--dhb-card-pad)}.devicehub-pcs-page .dhb-dashboard-col-2-20p{box-sizing:border-box;flex:1 1 18%;min-width:150px;padding:var(--dhb-card-pad)}.devicehub-pcs-page .dhb-dashboard-col-2-30p{box-sizing:border-box;flex:1 1 28%;min-width:320px;padding:var(--dhb-card-pad)}.devicehub-pcs-page .dhb-dashboard-col-2-40p{box-sizing:border-box;flex:1 1 38%;min-width:150px;padding:var(--dhb-card-pad)}.devicehub-pcs-page .dhb-dashboard-col-2-50p{box-sizing:border-box;flex:1 1 48%;min-width:150px;padding:var(--dhb-card-pad)}.devicehub-pcs-page .dhb-dashboard-col-2-60p{box-sizing:border-box;flex:1 1 58%;min-width:150px;padding:var(--dhb-card-pad)}.devicehub-pcs-page .dhb-dashboard-col-2-35p{box-sizing:border-box;flex:0 0 35%;max-width:35%;min-width:200px;padding:16px}.devicehub-pcs-page .dhb-dashboard-col-2-65p{box-sizing:border-box;flex-basis:calc(65% - 18px);flex-grow:0;flex-shrink:0;max-width:calc(65% - 18px);min-width:220px;padding:20px 0 0 4px}@media (max-width:1280px) and (max-height:800px){.devicehub-pcs-page .pcs-row--factors .dhb-dashboard-col-2-65p{padding:20px 0 0 4px!important}}@media (max-width:1100px){.devicehub-pcs-page .pcs-row--factors{flex-wrap:wrap}.devicehub-pcs-page .dhb-dashboard-col-2-35p,.devicehub-pcs-page .dhb-dashboard-col-2-65p{flex:1 1 100%;max-width:100%}.pcs-apparent-card{--apparent-gauge-size:clamp(153px,calc(167px*var(--apparent-scale)),189px)}}.linear-pill-bar{flex-direction:column;font-family:Montserrat,Inter,sans-serif;gap:10px;padding:0 12px 12px;width:100%}.linear-pill-bar-wrapper{background:#e6e7e9;border-radius:12px;box-shadow:inset 0 1px 2px #00000014;cursor:pointer;height:26px;margin-right:20px;margin-top:10px;transition:transform .2s ease,box-shadow .2s ease;width:100%}.linear-pill-bar-wrapper:focus-within,.linear-pill-bar-wrapper:hover{box-shadow:inset 0 1px 2px #00000014,0 8px 18px #00000014;transform:translateY(-2px) scaleY(1.08)}.linear-pill-bar-wrapper:focus-within .linear-pill-bar-fill,.linear-pill-bar-wrapper:hover .linear-pill-bar-fill{transform:scaleY(1.08)}.linear-pill-bar-bg{background:#0000;inset:0;position:absolute}.linear-pill-bar-fill{border-radius:999px;color:#c28e36;transition:width .25s ease}.linear-pill-bar-fill:after{background:#fff;border:1px solid;border-radius:6px;bottom:calc(100% + 6px);box-shadow:0 4px 10px #0000001a;color:currentColor;content:attr(data-value);content:var(--pill-percent-label,attr(data-value));font-size:12px;font-weight:700;opacity:0;padding:4px 8px;pointer-events:none;position:absolute;right:0;transform:translateY(0);transition:opacity .15s ease;white-space:nowrap}.linear-pill-bar-wrapper:hover .linear-pill-bar-fill:after{opacity:1}.bidirectional-pill-bar-fill:after{content:attr(data-value);content:var(--pill-percent-label,attr(data-value))}.bidirectional-pill-bar-wrapper:hover .bidirectional-pill-bar-fill:after{opacity:1}.linear-pill-bar-labels{color:#3d3d3d;display:flex;justify-content:space-between;width:100%}.linear-pill-bar-label{flex:1 1 50%;font-size:16px;font-weight:400;padding:0}.linear-pill-bar-label.right{min-width:90px;text-align:right}.bidirectional-pill-bar{box-sizing:border-box;font-family:Montserrat,Inter,sans-serif;padding-left:12px;padding-right:12px;width:100%}.bidirectional-pill-bar-label{padding-top:30px}.bidirectional-pill-bar-wrapper{cursor:pointer;height:26px;transition:transform .2s ease,box-shadow .2s ease}.bidirectional-pill-bar-wrapper:focus-within,.bidirectional-pill-bar-wrapper:hover{box-shadow:inset 0 1px 2px #00000014,0 8px 18px #00000014;transform:translateY(-2px) scaleY(1.06)}.bidirectional-pill-bar-wrapper:focus-within .bidirectional-pill-bar-fill,.bidirectional-pill-bar-wrapper:hover .bidirectional-pill-bar-fill{transform:scaleY(1.08)}.bidirectional-pill-bar-wrapper:focus-within .bidirectional-pill-bar-fill:after,.bidirectional-pill-bar-wrapper:hover .bidirectional-pill-bar-fill:after{opacity:1}.bidirectional-pill-bar-bg{background:#f3f4f6;border-radius:12px;inset:0}.bidirectional-pill-bar-center{background:#d1d5db}.bidirectional-pill-bar-fill{border-radius:0 12px 12px 0;color:#2f7ae0;overflow:visible}.bidirectional-pill-bar-fill:after{background:#fff;border:1px solid;border-radius:6px;bottom:calc(100% + 6px);box-shadow:0 4px 10px #0000001a;color:currentColor;content:"";content:var(--pill-percent-label,"");font-size:12px;font-weight:700;opacity:0;padding:4px 8px;pointer-events:none;position:absolute;right:0;transform:translateY(0);transition:opacity .15s ease;white-space:nowrap}.bidirectional-pill-bar-zero{color:#9ca3af;font-size:10px;transform:translate(-50%)}.overlay{background:#222;position:fixed}.overlay,.overlay__inner{height:100%;left:0;top:0;width:100%}.overlay__inner{position:absolute}.overlay__content{left:50%;position:absolute;top:50%;transform:translate(-50%,-50%)}.loader{border:1px solid #fff;border-radius:10px;display:block;height:12px;overflow:hidden;position:relative;width:80%}.loader:after{animation:prog 6s ease-in infinite;background:#0d6efd;content:"";height:100%;left:0;position:absolute;top:0;width:0}@keyframes prog{to{width:100%}}.dashboard-page{background:#f6f7fb;background-color:#fff;box-sizing:border-box;color:#1f2530;font-family:Manrope,Inter,sans-serif;min-height:calc(100vh - 112px)}.dashboard-quicksight-shell{background:#0000;border:none;border-radius:0;box-shadow:none;box-sizing:border-box;height:auto;min-height:700px;overflow:visible;position:relative;width:100%}.dashboard-quicksight-shell--loading .dashboard-quicksight-frame-host{pointer-events:none}.dashboard-quicksight-frame-host{box-sizing:border-box;height:auto;min-height:700px;overflow:visible;width:100%}.dashboard-quicksight-shell .dashboard-quicksight-frame,.dashboard-quicksight-shell iframe{border:none!important;display:block;min-height:700px!important;width:100%!important}.dashboard-loader{align-items:center;background:linear-gradient(180deg,#f8fafc,#fff);bottom:0;display:flex;justify-content:center;left:260px;left:var(--sidebar-width,260px);position:absolute;right:0;top:0;z-index:2}.dashboard-loader--inline{background:#ffffffe0;box-sizing:border-box;height:700px;inset:0;left:0;min-height:700px;pointer-events:none;position:absolute;right:0;width:100%;z-index:20}.dashboard-role-sheet-tabs{box-sizing:border-box;flex-shrink:0;flex-wrap:nowrap!important;min-height:43px;overflow-x:auto;overflow-y:hidden;scrollbar-gutter:stable}.dashboard-role-sheet-tabs button{flex:0 0 auto;white-space:nowrap}.dashboard-quicksight-shell,.dashboard-role-sheet-tabs,.dashboard-role-sheet-tabs button{font-family:Arial,sans-serif}.dashboard-page{scrollbar-gutter:stable}.dashboard-loader__card{align-items:center;background:#0000;border:none;border-radius:0;box-shadow:none;display:flex;flex-direction:column;gap:10px;padding:0}.dashboard-loader__dots{align-items:center;display:inline-flex;gap:10px}.dashboard-loader__dots span{animation:dotPulse 1s ease-in-out infinite;background:linear-gradient(135deg,#2d7bff,#00c3ff);border-radius:50%;box-shadow:0 4px 12px #2d7bff40;display:inline-block;height:14px;width:14px}.dashboard-loader__dots span:nth-child(2){animation-delay:.2s}.dashboard-loader__dots span:nth-child(3){animation-delay:.4s}.dashboard-loader__copy{text-align:center}.dashboard-loader__title{color:#0f172a;font-size:16px;font-weight:800;margin:0}.dashboard-loader__subtitle{color:#4b5563;font-size:13px;margin:4px 0 0}.dashboard-quicksight-fallback{color:#0f172a;display:flex;flex-direction:column;gap:8px;justify-content:center;min-height:280px;padding:24px}.dashboard-quicksight-title{color:#0c3c60;font-size:18px;font-weight:700;margin:0}.dashboard-quicksight-copy{color:#4b5563;font-size:14px;line-height:1.5;margin:0}.dashboard-quicksight-inputs{display:flex;flex-direction:column;gap:8px;margin-top:12px}.dashboard-quicksight-label{color:#0c3c60;font-size:13px;font-weight:700}.dashboard-quicksight-row{display:flex;flex-wrap:wrap;gap:8px}.dashboard-quicksight-input{border:1px solid #d7deeb;border-radius:10px;flex:1 1 320px;font-size:14px;min-width:240px;padding:10px 12px}.dashboard-quicksight-save{background:linear-gradient(135deg,#2f73ff,#1558d6);border:none;border-radius:10px;box-shadow:0 10px 24px -18px #1558d6a6;color:#fff;cursor:pointer;font-weight:700;padding:10px 14px}.dashboard-quicksight-frame{border:none;min-height:700px;width:100%}.dashboard-topbar{align-items:center;display:flex;flex-wrap:nowrap;gap:12px;justify-content:flex-start;margin-bottom:10px}.taj-token-status-pill{background:#fee2e2;border:1px solid #fecaca;border-radius:12px;color:#b91c1c;font-size:12px;font-weight:600;margin-left:auto;padding:6px 14px}.dashboard-topbar__status{align-items:center;display:flex;flex:1 1 auto;justify-content:flex-end;margin-left:auto;min-width:220px;text-align:right}.dashboard-token-label{background:none;border:none;color:#d92c2c;font-size:clamp(12px,1.2vw,14px);font-weight:600;letter-spacing:.01em;padding:0;white-space:nowrap}.dashboard-topbar__actions{gap:10px;margin-left:auto}.dashboard-topbar__actions,.tab-list{align-items:center;display:flex;flex-shrink:0}.tab-list{background:#fff;border:1px solid #dfdfdf;border-radius:999px;box-shadow:inset 0 1px 0 #fff9;gap:0;height:clamp(28px,3.6vh,30px);padding:1px;width:min(100%,460px)}@media (max-width:1024px){.dashboard-topbar{flex-wrap:wrap}.dashboard-topbar__status{justify-content:flex-start;margin-left:0;min-width:0;text-align:left;width:100%}}.tab-pill{align-items:center;background:#0000;border:none;border-radius:999px;box-sizing:border-box;color:#828b96;cursor:pointer;display:flex;flex:1 1;font-family:Montserrat,Inter,sans-serif;font-size:clamp(12px,1.4vw,14px);font-weight:500;height:100%;justify-content:center;line-height:18px;min-width:clamp(72px,12vw,110px);padding:clamp(2px,.6vh,4px) clamp(20px,2vw,28px);transition:background-color .2s ease,color .2s ease}.tab-pill.tab-pill--active{background:#e6e6e6;box-shadow:inset 0 1px 0 #ffffffb3;color:#4b4b4d;font-family:Inter,Montserrat,sans-serif;font-weight:400}.tab-pill.tab-pill--active:active,.tab-pill.tab-pill--active:focus,.tab-pill.tab-pill--active:focus-visible,.tab-pill.tab-pill--active:hover{color:#4b4b4d}.tab-pill:focus-visible{outline:2px solid #2f73ff;outline-offset:2px}.weather-text{display:flex;flex-direction:column;line-height:1.2}.weather-label{color:#0c3c60;font-size:13px}.weather-range{color:#1f2530;font-size:13px;font-weight:700}.section-heading{color:#3a4250;font-size:16px;font-weight:700;margin:0 0 10px}.empty-wrapper{align-items:center;display:flex;justify-content:center;min-height:420px;padding:60px 20px}.centered-placeholder{min-height:calc(100vh - 220px)}.under-dev-card{align-items:center;background:#0000;display:flex;flex-direction:column;gap:8px;padding:64px 24px 56px;text-align:center}.under-dev-graphic{align-items:center;display:flex;justify-content:center;margin-bottom:6px}.under-dev-icon{color:#7c8087;height:96px;width:96px}.under-dev-title{color:#0c4f7b;font-size:16px;font-weight:600;letter-spacing:-.01em}.under-dev-copy,.under-dev-title{font-family:Montserrat,Manrope,sans-serif;margin:0}.under-dev-copy{color:#6f7480;font-size:13px;font-weight:500}.dashboard-header{background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 16px 40px -30px #0f172a66;display:flex;gap:20px;justify-content:space-between;margin-bottom:20px;padding:18px 20px}.dashboard-header h2{color:#11263c;font-size:20px;font-weight:700;margin:4px 0 12px}.header-left{display:flex;flex-direction:column}.header-actions{display:flex;flex-wrap:wrap;gap:10px}.header-right{align-items:center;display:flex;gap:12px}.weather-chip{align-items:center;background:linear-gradient(120deg,#2979ff1f,#23c5ff14);border:1px solid #e2e8f0;border-radius:14px;color:#0c3c60;display:inline-flex;font-weight:600;gap:8px;padding:10px 14px}.weather-icon{font-size:18px}.weather-meta strong{display:block;font-size:14px}.timestamp{color:#5b616f;font-size:14px;font-weight:600}.eyebrow{color:#6b7280;font-size:12px;font-weight:700;letter-spacing:.08em;margin:0;text-transform:uppercase}.chip{background:#f7f8fb;border:1px solid #d7dce5;border-radius:12px;color:#0f172a;cursor:pointer;font-size:13px;font-weight:600;padding:8px 14px;transition:all .2s ease}.chip.primary{background:linear-gradient(120deg,#2f73ff,#00c6ff);border-color:#0000;color:#fff}.chip.ghost{background:#fff}.chip:hover{box-shadow:0 12px 30px -22px #0006;transform:translateY(-1px)}.home-grid{grid-column-gap:14px;grid-row-gap:8px;align-items:stretch;column-gap:14px;display:grid;grid-auto-rows:auto;grid-template-columns:minmax(0,48%) minmax(320px,52%);row-gap:8px}.home-block{display:flex;flex-direction:column;gap:10px;height:100%;min-height:0}.pv-block{grid-column:1/2;min-height:0}.station-block{grid-column:2/3;min-height:0}.pv-block,.station-block{display:flex;flex-direction:column;min-height:0}.pv-block>.card.chart-card{display:flex;flex:1 1 auto;flex-direction:column;height:100%;min-height:0}.station-block>.assets-card{display:flex;flex:0 0 auto;flex-direction:column;min-height:0;overflow:hidden}.chart-block,.social-block{grid-column:1/-1}.dashboard-right::-webkit-scrollbar{width:6px}.dashboard-right::-webkit-scrollbar-thumb{background:#c9ced8;border-radius:10px}.dashboard-right::-webkit-scrollbar-track{background:#0000}.card{background:#fff}.card-head{align-items:center;display:flex;justify-content:space-between}.card-label{color:#7a828f;font-size:12px;font-weight:700;letter-spacing:.01em;margin:0}.card-value{align-items:baseline;display:flex;gap:6px;margin:4px 0}.card-value .value{color:#1e1f23;font-size:24px;font-weight:700}.card-value .unit{color:#8b93a7;font-size:12px;text-transform:none}.card-value.compact .value{font-size:18px}.meta-label{color:#6b7280;font-size:12px;font-weight:600;margin:2px 0 4px}.meta-label.light{color:#dce7ff}.tag{align-items:center;background:#2f73ff14;border:1px solid #dfe4eb;border-radius:12px;color:#2f73ff;display:inline-flex;font-size:12px;font-weight:700;padding:6px 10px}.tag.subtle{background:#f3f5f9;color:#1f2530}.stat-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr))}.stat-card{background:#f7f9fd;border-left:3px solid #c9ced8;min-height:90px;padding:14px}.dual-grid{display:flex;flex-direction:column;gap:12px}.highlight-card{background:#f7f9fd;border:1px solid #dfe4eb}.bms-inner{background:#fff;border:1px solid #e3e7ed;border-radius:10px;padding:12px 14px}.bms-title{color:#4b4f58;font-size:18px;font-weight:700;margin:0 0 12px;text-align:center}.bms-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(140px,1fr));margin-top:8px}.bms-item{background:#fff;border:1px solid #e3e6ed;border-radius:12px;padding:12px;text-align:center}.bms-item.positive{border-color:#22c55e66;box-shadow:inset 0 1px 0 #22c55e1a}.bms-item.neutral{border-color:#fb923c4d}.bms-label{color:#1f2937;font-size:13px;font-weight:700;margin:0 0 6px}.bms-value{color:#0c3c60;font-size:18px;font-weight:700;margin:0}.bms-item.positive .bms-value{color:#1f9b57}.bms-item.neutral .bms-value{color:#4b4f58}.pv-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(120px,1fr));margin-top:8px;text-align:center}.pv-card{background:#f7f9fd;border:1px solid #dfe4eb}.pv-card .pv-grid>div{background:#fff;border:1px solid #e3e7ed;border-radius:10px;padding:10px 12px}.pv-card .card-label{color:#2b313c}.pv-card .card-value .value{font-size:18px}.social-card{background:linear-gradient(135deg,#f9fbff,#f2f6fb);border:1px solid #d8e3f3;border-radius:16px;box-shadow:0 18px 40px -28px #0c3c6073;font-family:Montserrat,sans-serif;padding:20px 20px 18px}.social-head{align-items:center;display:flex;justify-content:space-between;margin-bottom:16px}.social-title{color:#0b1f33;font-size:20px;font-weight:800;letter-spacing:-.2px;margin:0}.social-grid{align-items:stretch;display:flex;flex-wrap:wrap;gap:16px;justify-content:center;width:100%}.social-item{align-items:center;background:radial-gradient(150% 120% at 10% 8%,#377dff14,#0000 55%),#fff;border:1px solid #e2e8f4;border-radius:14px;box-shadow:0 12px 28px -20px #0a2a5073;display:grid;flex:1 1 210px;grid-template-rows:auto 1fr auto;justify-items:center;max-width:240px;min-height:140px;min-width:190px;padding:14px 12px 18px;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.social-item:hover{border-color:#c7d4ec;box-shadow:0 18px 38px -22px #0a2a5059;transform:translateY(-4px)}.social-value{color:#0f172a;font-size:30px;font-weight:800;letter-spacing:-.3px;line-height:1.15;margin:0;text-align:center}.social-value .unit{color:#4b5563;font-size:15px;font-weight:700;margin-left:6px}.social-icon{background:#f3f6fb;border-radius:14px;box-shadow:inset 0 1px 0 #ffffffe6;color:inherit;display:grid;height:56px;margin:10px auto 8px;place-items:center;width:56px}.social-label{color:#1f2937;font-size:14px;font-weight:700;line-height:1.35;margin:0;text-align:center}@media (max-width:600px){.social-card{padding:16px}.social-title{font-size:18px}.social-item{max-width:100%;min-width:100%}}.superscript{font-size:12px;vertical-align:super}.chart-card{border:1px solid #dfe4eb;padding:20px 14px 10px}.chart-card.large{padding-bottom:16px}.full-span{grid-column:1/-1}.bms-soc-card{display:flex;flex-direction:column;gap:12px}.bms-soc-head{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}.bms-soc-meta{color:#4b5563;display:flex;flex-direction:column;font-size:12px;gap:6px;margin-top:6px}.bms-meta-item{align-items:center;display:flex;flex-wrap:wrap;gap:6px}.bms-meta-item.subtle{color:#6b7280}.bms-meta-item .separator{opacity:.6}.bms-soc-title{display:flex;flex-direction:column;gap:6px}.bms-soc-heading{border-bottom:2px solid #dfe4eb;color:#1f2530;display:inline-block;font-size:16px;font-weight:800;margin:0;padding-bottom:8px;width:100%}.bms-soc-subtitle{align-items:center;color:#6b7280;display:flex;flex-wrap:wrap;font-size:12px;gap:4px;margin:0}.bms-soc-subtitle .mono{color:#374151;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;word-break:break-word}.bms-device-tag{align-items:center;color:#111827;display:inline-flex;font-size:13px;font-weight:800;gap:6px;margin-left:auto}.bms-device-tag .mono{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace}.bms-device-tag .strong{color:#111827}.bms-soc-device-block{align-items:flex-end;display:flex;flex-direction:column;gap:6px}.bms-soc-controls{align-items:center;display:flex;flex-wrap:wrap;gap:12px}.bms-control{color:#111827;display:flex;flex-direction:column;font-size:12px;font-weight:700;gap:4px}.bms-date-control{max-width:190px}.bms-date-row{align-items:center;display:inline-flex;gap:10px}.bms-date-label{color:#0f172a;font-size:12px;font-weight:800}.bms-control input,.bms-control select{background:#f7f9fd;border:1px solid #dfe4eb;border-radius:10px;color:#111827;font-size:12px;font-weight:700;min-width:150px;padding:6px 10px}.bms-pill{border:1px solid #dfe4eb;border-radius:999px;font-size:12px;font-weight:800;letter-spacing:.02em;padding:6px 12px;text-transform:uppercase}.bms-pill.online{background:#1987541f;border-color:#1987544d;color:#0f5132}.bms-pill.offline{background:#dc26261f;border-color:#dc262652;color:#9a1c1c}.bms-soc-stats{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));margin:10px 0 18px}.stat-card{background:linear-gradient(180deg,#fff,#f8fbff);border:1px solid #e4e9f2;border-radius:14px;box-shadow:0 10px 24px -20px #0c3c6059;padding:14px 16px}.stat-card__label{color:#6b7280;font-size:12px;font-weight:800;letter-spacing:.02em}.stat-card__value{align-items:baseline;color:#0f172a;display:inline-flex;font-size:22px;font-weight:900;gap:8px;margin-top:6px}.stat-card__note{color:#6b7280;font-size:11px;font-weight:700}.bms-soc-chart{background:radial-gradient(circle at 10% 10%,#93c5fd38,#0000 38%),#f7f9fd;border:1px dashed #e2e8f0;border-radius:12px;box-sizing:border-box;min-height:280px;padding:6px;position:relative;width:100%}.bms-chart-state{align-items:center;background:linear-gradient(135deg,#f7f9fde0,#f7f9fdeb);border-radius:12px;color:#6b7280;display:flex;font-size:13px;inset:0;justify-content:center;position:absolute}.bms-chart-state.error{color:#d64c3b}.dot.soc{background:#9c88ff;border-radius:50%;box-shadow:0 0 0 4px #9c88ff2e;display:inline-block;height:10px;width:10px}.legend{align-items:center;color:#5b616f;display:flex;flex-wrap:wrap;font-size:12px;gap:10px}.dot{border-radius:50%;display:inline-block;height:10px;width:10px}.dot.pv{background:#d64c3b}.dot.storage{background:#7f6bc8}.dot.charge{background:#b7a2ff}.legend-label{font-weight:700;margin-right:8px}.area-chart,.line-chart{height:auto;width:100%}.pv-energy-chart .chart-body{align-items:stretch;background:linear-gradient(135deg,#f8fbff,#f3f4f8);border:1px dashed #e2e8f0;border-radius:12px;display:flex;min-height:260px;position:relative}.pv-energy-chart .chart-state{align-items:center;color:#5b616f;display:flex;flex:1 1;justify-content:center;padding:16px;text-align:center}.pv-energy-chart .chart-state.error{color:#d64c3b}.pv-energy-chart .chart-state.empty{flex-direction:column;gap:10px}.empty-visual{align-items:center;display:inline-flex;height:72px;justify-content:center;position:relative;width:72px}.empty-dot{background:#d64c3b;box-shadow:0 6px 18px #d64c3b40;height:14px;position:relative;width:14px;z-index:1}.empty-glow{animation:pulse 2.2s ease-in-out infinite;background:radial-gradient(circle,#d64c3b47 0,#d64c3b0a 70%);border-radius:50%;height:72px;position:absolute;width:72px}.empty-title{color:#1e1f23;font-weight:700;margin:4px 0 0}.empty-copy{color:#6b7280;font-size:12px;margin:0;max-width:380px}.ghost-btn{background:#fff;border:1px solid #dfe4eb;border-radius:8px;color:#1e1f23;cursor:pointer;transition:all .2s ease}.ghost-btn:hover{border-color:#d64c3b;box-shadow:0 10px 24px -18px #d64c3b73;color:#d64c3b}.chart-tooltip{background:#0f172a;border-radius:10px;box-shadow:0 10px 24px -12px #00000059;color:#fff;min-width:180px;padding:10px 12px}.tooltip-title{font-size:12px;font-weight:800;margin:0}.tooltip-subtitle{color:#cbd5e1;font-size:11px;margin:2px 0 8px}.tooltip-row{font-size:12px;margin:2px 0}.tooltip-row .tooltip-label{flex:1 1;font-weight:700}.tooltip-row .tooltip-value{font-feature-settings:"tnum";font-variant-numeric:tabular-nums}.line{fill:none;stroke-width:2.4;stroke-linecap:round}.line.pv{stroke:#d64c3b}.line.storage{stroke:#7f6bc8}.area.charge{fill:url(#chargeGradient);stroke:#b7a2ff;stroke-width:2;stroke-linejoin:round}.chart-footer{color:#8b93a7;display:flex;font-size:12px;font-weight:700;gap:22px;justify-content:flex-start;margin-top:8px}.tick{min-width:36px}.chart-footer.spread{justify-content:space-between}.map-card .card-head{align-items:flex-start}.map-viewport{background:#fff;border:1px solid #dfe4eb;border-radius:10px;height:190px;margin-top:10px;overflow:hidden;position:relative}.map-viewport.real{background:#fff;border:1px solid #d8dde5}.map-viewport.real iframe{border:0;border-radius:10px;height:100%;inset:0;position:absolute;width:100%}.map-viewport.real .map-badge,.map-viewport.real .map-grid,.map-viewport.real .map-pin{display:none}.map-grid{background-image:linear-gradient(90deg,#0c3c600d 1px,#0000 0),linear-gradient(0deg,#0c3c600d 1px,#0000 0);background-size:50px 50px;inset:0;position:absolute}.map-pin{align-items:center;display:flex;justify-content:center;left:62%;position:absolute;top:48%;transform:translate(-50%,-50%)}.pin-head{background:#ff5f6d;border-radius:50% 50% 50% 0;box-shadow:0 6px 16px #ff5f6d52;height:24px;transform:rotate(-45deg);width:24px}.pin-wave{animation:pulse 2.4s ease-in-out infinite;border:1px solid #ff5f6d59;border-radius:50%;height:50px;position:absolute;width:50px}.map-badge{background:#0c3c60e6;border-radius:10px;bottom:14px;color:#fff;font-size:12px;font-weight:700;padding:8px 10px;position:absolute;right:14px}.soc-grid{grid-gap:10px;align-items:center;display:grid;gap:10px;grid-template-columns:1fr 1fr}.soc-figure{align-items:center;display:flex;height:190px;justify-content:center;position:relative;width:190px}.soc-value{color:#0c3c60;font-size:20px;font-weight:800;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);z-index:2}.donut-3d-wrapper{height:190px;width:190px}.soc-meta{grid-gap:6px 10px;align-items:center;display:grid;gap:6px 10px;grid-template-columns:repeat(3,minmax(80px,1fr))}.soc-meta .meta-label{margin-top:4px}.soc-meta .card-value{background:#f9fbff;border:1px solid #e5e8ee;border-radius:8px;display:inline-flex;justify-content:center;min-width:70px;padding:6px 10px}.soc-meta .card-value .value{font-size:18px}.stacked-cards{display:flex;flex-direction:column;gap:12px;max-height:520px;overflow-y:auto;padding-right:6px}.stacked-cards::-webkit-scrollbar{width:6px}.stacked-cards::-webkit-scrollbar-thumb{background:#c9ced8;border-radius:8px}.stacked-cards::-webkit-scrollbar-track{background:#0000}.assets-card{border:1px solid #dfe4eb;border-radius:12px;display:flex;flex-direction:column;height:clamp(360px,48vh,500px);min-height:0;padding:14px 16px 16px}.assets-head{align-items:center;display:flex;gap:12px;justify-content:space-between;margin-bottom:6px;padding:2px 2px 6px}.assets-title{color:#0f172a;font-size:16px;font-weight:800;letter-spacing:-.1px;margin:0}.assets-subtitle{color:#6b7280;font-size:12px;margin:0}.assets-subtitle.warning{color:#d14343;font-weight:700}.assets-list{display:flex;flex:1 0 auto;flex-direction:column;gap:12px;margin-top:8px;max-height:calc(100% - 48px);min-height:0;overflow-y:auto;padding-right:6px}.assets-list::-webkit-scrollbar{width:6px}.assets-list::-webkit-scrollbar-thumb{background:#c9ced8;border-radius:8px}.assets-list::-webkit-scrollbar-track{background:#0000}.asset-card{align-items:flex-start;background:radial-gradient(circle at 10% 20%,#ffe6c833,#0000 38%),#f6f9ff;border:1px solid #dbe1eb;border-radius:14px;box-shadow:inset 0 1px 0 #ffffffb3;display:flex;flex-wrap:wrap;gap:16px 20px;padding:16px 18px}.asset-left{grid-gap:14px 16px;align-items:flex-start;display:grid;flex:1 1 520px;gap:14px 16px;grid-template-columns:auto 1fr;min-width:0}.asset-avatar{align-items:center;background:#fff;border:1px solid #d5dbe6;border-radius:50%;box-shadow:0 8px 18px -16px #00000059;display:inline-flex;flex-shrink:0;height:74px;justify-content:center;width:74px}.asset-avatar-img{border-radius:50%;height:100%;object-fit:contain;width:100%}.asset-avatar .device-icon{height:46px;width:46px}.asset-body{display:flex;flex-direction:column;gap:6px;min-width:0}.asset-header{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.asset-name{color:#1f2530;font-size:18px;font-weight:700;margin:0}.asset-subtitle{color:#4b5563;font-size:13px;font-weight:600;margin:0}.asset-meta-grid{grid-column-gap:18px;grid-row-gap:8px;align-items:center;column-gap:18px;display:grid;grid-template-columns:repeat(auto-fit,minmax(240px,1fr));margin-top:4px;row-gap:8px;width:100%}.asset-field{align-items:center;display:flex;font-size:14px;gap:6px;line-height:1.4;min-width:0}.asset-label{color:#4b5563;font-weight:600}.asset-value{color:#1f2933;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.asset-value.mono{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace}.asset-value.status,.asset-value.strong{font-weight:700}.asset-value.status.online{color:#0ea45a}.asset-value.status.offline{color:#d14343}.asset-view-btn{align-items:center;align-self:center;background:#feca29;border:1.4px solid #feca29;border-radius:8px;box-shadow:0 14px 22px -16px #00000059;color:#1f2530;cursor:pointer;display:inline-flex;font-size:16px;font-weight:500;gap:12px;justify-content:center;line-height:1;margin-left:auto;padding:10px 16px;transition:transform .12s ease,box-shadow .12s ease,background .12s ease}.asset-view-btn .arrow-icon{display:block;height:28px;width:28px}.asset-view-btn:hover{background:#ffd451;box-shadow:0 16px 24px -14px #00000061;transform:translateY(-1px)}.asset-refresh-btn{background:#fff;border:1px solid #dbe1eb;border-radius:10px;color:#1f2530;cursor:pointer;font-weight:700;padding:8px 14px;transition:all .2s ease}.asset-refresh-btn:hover{border-color:#d64c3b;box-shadow:0 12px 22px -18px #d64c3b59;color:#d64c3b}.assets-empty,.assets-loader{align-items:center;color:#5b616f;display:flex;flex-direction:column;gap:8px;justify-content:center;padding:16px;text-align:center}.assets-loader span{font-size:13px}.status-pill{align-items:center;border-radius:999px;color:#1f2530;display:inline-flex;font-size:12px;font-weight:800;gap:6px;letter-spacing:.02em;padding:6px 10px;text-transform:uppercase}.status-pill.online{background:#1baa712e;color:#0ea45a}.status-pill.offline{background:#d1434324;color:#d14343}@media (max-width:1100px){.asset-card{flex-direction:column}.asset-view-btn{align-self:flex-start}}@media (max-width:920px){.asset-left{grid-template-columns:1fr}.asset-body{width:100%}.asset-meta-grid{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}}.device-card{background:#f8fbff;border:1px solid #d5dbe6;border-radius:14px;padding:12px}.device-card-inner{grid-gap:14px;align-items:center;display:grid;gap:14px;grid-template-columns:auto 1fr}.device-avatar{align-items:center;background:#fff;border:1px solid #d5dbe6;border-radius:50%;box-shadow:inset 0 1px 0 #fff9,0 6px 16px -12px #00000040;display:inline-flex;font-size:30px;height:68px;justify-content:center;width:68px}.device-icon{display:block;height:44px;width:44px}.device-panel{background:#fff;box-sizing:border-box;font-family:Montserrat,Manrope,sans-serif;min-height:80vh;outline-offset:-1px;position:relative}.device-panel__detail--full{background:#0000;box-shadow:none}.device-panel__summary-bar{align-items:center;background:#fcfcff;border:1px solid #d2d2d2;border-radius:8px;display:flex;gap:12px;justify-content:space-between;margin-bottom:12px;padding:10px 14px}.summary-back{align-items:center;background:#0000;border:1px solid #2b2b2b;border-radius:50%;cursor:pointer;display:inline-flex;flex-shrink:0;height:32px;justify-content:center;width:32px}.summary-back:hover{background:#f5f5f5}.device-panel__counts{align-items:center;display:flex;flex:1 1;font-family:Montserrat,Segoe UI,sans-serif;gap:10px}.count-label{font-weight:400}.count-label,.count-value{color:#2b2b2b;font-size:16px}.count-value{font-weight:600;margin-right:6px}.device-panel__type select{background:#fff;border:1px solid #d2d2d2;border-radius:4px;color:#2b2b2b;font-size:14px;height:36px;min-width:180px;padding:0 12px}.device-panel__breadcrumbs{align-items:center;color:#8c8f96;display:flex;font-size:13px;gap:6px;margin-bottom:12px}.device-panel__breadcrumbs .separator{color:#b3b6bd}.device-panel__toolbar{align-items:center;color:#2b2b2b;display:flex;font-size:14px;justify-content:space-between;margin-bottom:16px}.device-panel__toolbar .counts{align-items:center;display:flex;gap:10px}.device-panel__select{background:#fafafa;border:1px solid #d0d0d0;border-radius:6px;min-width:140px;padding:6px 10px}.device-panel__filters{align-items:flex-end;display:flex;flex-wrap:wrap;gap:14px 18px;margin-bottom:12px}.device-panel__filters .filter{display:flex;flex-direction:column;gap:6px;width:200px}.device-panel__filters--inline{padding:6px 4px 12px}.device-panel__filters--inline .filter--device-type-inline{align-self:flex-start;min-width:200px}.device-panel__filters label{color:#2b2b2b;font-size:16px;font-weight:500}.device-panel__filters input,.device-panel__filters select{background:#fafafa;border:1px solid #d0d0d0;border-radius:6px;color:#1f2933;font-size:12px;font-weight:600;height:28px;padding:6px 16px}.device-panel__filters input::placeholder{color:#6b7280}.device-panel__filters select option{color:#1f2933}.filter-btn{align-self:flex-start;background:#fff;border:1px solid #d0d0d0;border-radius:6px;color:#2b2b2b;cursor:pointer;font-size:14px;height:28px;min-width:106px;padding:0 20px;text-align:center}.filter-btn.primary{background:#0c3c60;border-color:#0c3c60;color:#fff}.device-panel__cards{grid-gap:18px;display:grid;gap:18px;grid-template-columns:repeat(2,minmax(0,1fr));padding:12px 24px 24px}.device-panel__cards--center{align-items:center;display:flex;justify-content:center;min-height:60vh;width:100%}.devicehub-underdev-shell{position:relative}.devicehub-underdev-back{left:12px;position:absolute;top:12px;z-index:2}.device-card{grid-gap:18px;align-items:flex-start;background:#fff;border:1px solid #d9d9d9;border-radius:12px;box-shadow:0 12px 24px #0000000f;display:grid;gap:18px;grid-template-columns:170px 1fr auto;padding:16px 18px}.device-card--horizontal{grid-template-columns:170px 1fr auto}.device-card__thumb{align-items:center;display:flex;flex-direction:column;gap:10px}.device-card__avatar{background:#f8fbff;border:1px solid #d7dfee;border-radius:50%;display:grid;height:86px;overflow:hidden;place-items:center;position:relative;width:86px}.device-card__avatar img{display:block;height:64px;object-fit:contain;width:64px}.device-card__avatar-text{color:#0c3c60;display:grid;font-size:18px;font-weight:700;inset:0;opacity:.08;place-items:center;position:absolute}.device-card__name{color:#2b2b2b;font-size:22px;font-weight:700;margin:0}.device-card__status-row{align-items:center;display:inline-flex;gap:8px}.device-card__dot{border-radius:50%;display:inline-block;height:10px;width:10px}.device-card__dot.online{background:#00b42b}.device-card__dot.offline{background:#d92d20}.device-card__status{font-size:18px;font-weight:700;margin:0}.device-card__status.online{color:#00b42b}.device-card__status.offline{color:#d92d20}.device-card__body{display:flex;flex-direction:column;gap:10px;min-width:0;padding-top:6px}.device-card__header{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between}.device-card__title-block{display:flex;flex-direction:column;gap:4px;min-width:0}.device-card__subtitle{color:#4b5563;font-size:13px;font-weight:600;margin:0}.device-card__meta-grid{grid-column-gap:18px;grid-row-gap:8px;align-items:center;column-gap:18px;display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));row-gap:8px;width:100%}.device-card__meta-field{align-items:center;display:flex;font-size:14px;gap:6px;line-height:1.4;min-width:0}.device-card__meta-label{color:#4b5563;font-weight:600}.device-card__meta-value{color:#1f2933;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.device-card__meta-value.mono{font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace}.device-card__meta-value.strong{font-weight:700}.device-card__details{display:flex;flex-direction:column;gap:12px;padding-top:6px}.device-card__row{align-items:center;display:flex;flex-wrap:wrap;font-size:14px;gap:8px 14px}.device-card__label{color:#000;font-size:16px;font-weight:400}.device-card__label--inline{margin-left:12px}.device-card__value{color:#2b2b2b;font-size:16px;font-weight:600}.device-card__value.online{color:#00ac51;font-weight:700}.device-card__value.strong{font-weight:700}.device-card__cta{align-items:flex-end;display:flex}.device-card__view-btn{background:#ffd647;border:1px solid #e0bd07;border-radius:8px;box-shadow:0 6px 12px #0000001f;color:#2b2b2b;cursor:pointer;font-family:Inter,sans-serif;font-size:13px;font-weight:600;height:36px;padding:9px 16px}.device-card--empty{align-items:center;background:#f9fbfd;border:none;border-radius:8px;box-shadow:none;color:#6b7280;display:flex;flex-direction:column;gap:8px;justify-content:center;padding:16px;text-align:center}.device-card--loading{gap:12px;min-height:180px}.device-card__helper-text,.device-card__helper-title{color:#1f2933;font-size:14px;font-weight:700;margin:0}.device-card__error-title{color:#b91c1c;font-size:15px;font-weight:800;margin:0}.device-card__error-text{color:#4b5563;font-size:13px;margin:0}.device-card__retry{background:#0c3c60;border:1px solid #0c3c60;border-radius:8px;color:#fff;cursor:pointer;font-weight:700;padding:8px 14px;transition:transform .15s ease,box-shadow .15s ease}.device-card__retry:hover{box-shadow:0 10px 18px -12px #0c3c6066;transform:translateY(-1px)}.device-panel__table td .status-text.online{color:#0c8c45;font-weight:600}.device-panel__table td .status-text.offline{color:#b91c1c;font-weight:600}.device-panel__table .link{color:#1a5dcc;cursor:pointer;font-weight:600}.device-panel__table .empty-row td{color:#6b6b6b;font-weight:600;padding:24px 12px;text-align:center}.device-main{display:flex;flex-direction:column;gap:8px}.device-title-row{align-items:center;display:flex;gap:12px;justify-content:space-between}.device-title{color:#22262d;font-size:20px}.device-status-line{align-items:center;display:inline-flex;font-weight:600;gap:6px}.device-status-line .status-text.online{color:#12a55c}.device-status-line .status-text.offline{color:#b91c1c}.device-meta{grid-gap:6px 10px;display:grid;gap:6px 10px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-top:4px}.device-meta .card-value .value{font-size:16px}.view-pill{background:linear-gradient(135deg,#ffd24c,#f0b90b);border-color:#d8ae00;border-radius:12px;color:#1f2530;font-weight:700;padding:8px 14px}.view-pill .arrow{margin-left:6px}.ghost-button{background:linear-gradient(135deg,#f6d149,#f0b90b);border:1px solid #e0b100;border-radius:10px;color:#1f2530;cursor:pointer;font-weight:700;padding:6px 10px}.ghost-button:hover{background:#edc11c}.status-dot{border-radius:50%;display:inline-block;height:8px;margin-right:6px;width:8px}.status-dot.online{background:#22c55e;box-shadow:0 0 0 4px #22c55e1a}.status-dot.offline{background:#f87171;box-shadow:0 0 0 4px #f871711a}.operations-card{padding-bottom:10px}.operations-list{display:flex;flex-direction:column;gap:8px;margin-top:8px}.op-item{background:#f8f9fb;border:1px solid #e3e7ed;border-radius:10px;display:flex;gap:12px;padding:8px 12px}.op-icon,.op-item{align-items:center}.op-icon{border-radius:50%;box-shadow:0 8px 14px -8px #0006;color:#fff;display:inline-flex;font-size:12px;font-weight:700;height:32px;justify-content:center;min-width:32px}.op-meta .meta-label{color:#6f7784;font-weight:700}.op-meta .value{color:#1f2530;font-size:16px}.device-card,.map-card,.operations-card,.soc-card{box-shadow:0 18px 40px -30px #0f172a73}.analytics-page{display:flex;flex-direction:column;gap:14px}.analytics-card{border:1px solid #e5e7eb;border-radius:14px;box-shadow:0 14px 36px -28px #0f172a59}.analytics-card__head{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.analytics-title{color:#2b2b2b;font-size:17px;font-weight:700;margin:0}.analytics-subtext{color:#3b4758;font-size:13px;font-weight:500;margin:3px 0 0}.analytics-subtext .bold-text{color:#1e1e1e;font-weight:700}.analytics-controls{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.analytics-range{align-items:center;background:#f5f6fa;border:1px solid #e5e7eb;border-radius:999px;display:inline-flex;gap:6px;padding:4px}.analytics-range-dropdown{align-items:center;display:inline-flex;gap:8px}.analytics-range__select{background:linear-gradient(180deg,#fdfefe,#f2f6fd);border:1px solid #c7d2e2;border-radius:12px;box-shadow:inset 0 1px 0 #ffffffe6,0 12px 24px -20px #0c3c604d;color:#0f2a4d;font-size:13px;font-weight:700;min-width:150px;padding:10px 14px;transition:border-color .2s ease,box-shadow .2s ease}.analytics-range__select:focus{border-color:#0c3c60;box-shadow:0 0 0 2px #0c3c6026,inset 0 1px 0 #ffffffe6;outline:none}.time-pill{background:#0000;border:none;border-radius:999px;color:#1e1e1e;cursor:pointer;font-size:11px;font-weight:600;padding:7px 10px}.time-pill.active{background:#0c3c60;box-shadow:0 10px 24px -18px #0c3c6099;color:#eaecef}.analytics-date{background:#f3f4f8;border:1px solid #e5e7eb;border-radius:16px;color:#1e1e1e;font-size:12px;font-weight:600;padding:7px 12px}.analytics-filter-group{align-items:center;display:flex;flex-wrap:wrap;gap:10px;margin-top:10px}.analytics-select{background:linear-gradient(180deg,#fdfefe,#f2f6fd);border:1px solid #c7d2e2;border-radius:12px;box-shadow:inset 0 1px 0 #ffffffe6,0 12px 24px -20px #0c3c604d;color:#0f2a4d;font-weight:700;min-width:170px;padding:10px 14px;transition:border-color .2s ease,box-shadow .2s ease}.analytics-range-select{min-width:132px}.analytics-select:focus{border-color:#0c3c60;box-shadow:0 0 0 2px #0c3c6026,inset 0 1px 0 #ffffffe6;outline:none}.analytics-chart{background:linear-gradient(180deg,#f9fbff,#fff 38%,#fff);border:1px solid #eef1f6;border-radius:12px;margin-top:12px;padding:6px}.ems-card{background:linear-gradient(135deg,#f8fbff,#fff 62%);padding:16px 18px}.ems-head{align-items:flex-start;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between}.ems-subtitle{color:#3b4758;font-size:13px;font-weight:600;margin:4px 0 0}.ems-controls{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.ems-control-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));margin:12px 0 10px}.ems-field{display:flex;flex-direction:column;gap:6px}.ems-label{color:#4b5563;font-size:12px;font-weight:700;letter-spacing:.01em}.ems-select{background:linear-gradient(180deg,#fdfefe,#f2f6fd);border:1px solid #c7d2e2;border-radius:12px;box-shadow:inset 0 1px 0 #ffffffe6,0 12px 24px -20px #0c3c604d;color:#0f2a4d;font-weight:700;min-height:40px;padding:10px 14px;transition:border-color .2s ease,box-shadow .2s ease}.ems-select:focus{border-color:#0c3c60;box-shadow:0 0 0 2px #0c3c6026,inset 0 1px 0 #ffffffe6;outline:none}.ems-dropdown{min-width:220px;position:relative}.ems-dropdown__trigger{align-items:center;background:linear-gradient(180deg,#fdfefe,#f2f6fd);border:1px solid #c7d2e2;border-radius:12px;box-shadow:inset 0 1px 0 #ffffffe6,0 12px 24px -20px #0c3c604d;color:#0f2a4d;cursor:pointer;display:inline-flex;font-size:13px;font-weight:700;gap:10px;justify-content:space-between;padding:12px 14px;width:100%}.ems-dropdown__trigger:disabled{cursor:not-allowed;opacity:.6}.ems-dropdown__trigger:focus{border-color:#0c3c60;box-shadow:0 0 0 2px #0c3c6026,inset 0 1px 0 #ffffffe6;outline:none}.ems-dropdown__label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ems-dropdown__caret{color:#5c6378;font-size:12px}.ems-dropdown__menu{background:#fff;border:1px solid #d7deeb;border-radius:14px;box-shadow:0 16px 36px -22px #0c3c6059;margin-top:8px;max-height:260px;overflow-y:auto;position:absolute;width:100%;z-index:10}.ems-dropdown__option{background:#0000;border:none;color:#111827;cursor:pointer;font-size:13px;font-weight:600;padding:12px 14px;text-align:left;transition:background .15s ease,color .15s ease;width:100%}.ems-dropdown__option:hover{background:#f2f6fd;color:#0c3c60}.ems-dropdown__option.selected{background:linear-gradient(180deg,#0f2a4d,#0c3c60);color:#fff}.ems-device-chip{align-items:center;background:#f0f6ff;border:1px dashed #cfd8ea;border-radius:10px;display:flex;gap:10px;justify-content:space-between;padding:10px 12px}.ems-device-value{color:#0c3c60;font-family:SFMono-Regular,Consolas,Liberation Mono,Menlo,monospace;font-size:13px;font-weight:700}.ems-device-chip--muted{background:#f5f7fb;border-style:dashed;margin-top:6px}.ems-device-tag{background:#fff;border:1px solid #dfe4eb;border-radius:999px;color:#6b7280;font-size:11px;padding:2px 8px}.ems-meta{align-items:center}.ems-meta-text{color:#1f2530;font-size:12px;font-weight:700}.ems-meta-hint{color:#6b7280;font-size:12px}.ems-custom-range{align-items:center;display:inline-flex;flex-wrap:wrap;gap:8px}.ems-custom-range input{background:#fff;border:1px solid #dfe4eb;border-radius:8px;font-size:12px;min-height:34px;padding:6px 8px}.ems-range-arrow{color:#4b5563;font-weight:700}.ems-metrics-panel{background:#f9fbff;border:1px solid #eef1f6;border-radius:12px;margin-top:8px;padding:12px}.ems-metrics-header{align-items:center;display:flex;flex-wrap:wrap;gap:10px;justify-content:space-between}.ems-section-title{color:#1f2530;font-size:13px;font-weight:800;letter-spacing:.01em;margin:0}.ems-section-subtitle{color:#6b7280;font-size:12px;font-weight:600;margin:2px 0 0}.ems-reset{background:#fff;border:1px solid #dfe4eb;border-radius:999px;color:#0c3c60;cursor:pointer;font-size:12px;font-weight:700;padding:6px 12px}.ems-reset:hover{border-color:#0c3c60;box-shadow:0 10px 20px -18px #0c3c6066}.ems-metrics-actions{align-items:center;display:flex;flex-wrap:wrap;gap:10px}.ems-metric-selector{min-width:260px;position:relative}.ems-metric-trigger{align-items:center;background:#fff;border:1px solid #dfe4eb;border-radius:12px;box-shadow:0 12px 26px -20px #0c3c6059;color:#0f172a;cursor:pointer;display:inline-flex;font-weight:700;gap:10px;padding:10px 12px;transition:border-color .15s ease,box-shadow .15s ease;width:100%}.ems-metric-selector.open .ems-metric-trigger{border-color:#0c3c60;box-shadow:0 16px 32px -24px #0c3c6066}.ems-metric-trigger__text{align-items:flex-start;display:flex;flex:1 1;flex-direction:column;gap:2px;min-width:0}.ems-metric-trigger__label{color:#64748b;font-size:11px;font-weight:800;letter-spacing:.04em}.ems-metric-trigger__summary{color:#0f172a;font-size:13px;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ems-metric-trigger__count{background:#e8f1ff;border-radius:999px;color:#0b3b7f;font-size:12px;font-weight:800;padding:4px 8px}.ems-metric-trigger__caret{color:#475569;font-size:12px}.ems-metric-menu{background:#fff;border:1px solid #e6ebf5;border-radius:12px;box-shadow:0 18px 36px -22px #0f172a47;max-height:280px;overflow-y:auto;padding:6px;position:absolute;right:0;top:calc(100% + 8px);width:320px;z-index:12}.ems-metric-option{align-items:center;background:#0000;border:1px solid #0000;border-radius:10px;color:#0f172a;cursor:pointer;display:flex;font-size:13px;font-weight:700;gap:10px;justify-content:space-between;padding:10px;transition:background .12s ease,border-color .12s ease;width:100%}.ems-metric-option:hover{background:#f7f9fc;border-color:#e4e9f3}.ems-metric-option__name{align-items:center;display:inline-flex;flex:1 1;gap:8px;min-width:0;overflow:hidden}.ems-metric-option__name span{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.ems-metric-option__unit{color:#475569;font-size:11px;font-weight:700}.ems-metric-check{align-items:center;background:#fff;border:1px solid #cbd5e1;border-radius:6px;color:#0b3b7f;display:inline-flex;font-size:11px;height:18px;justify-content:center;width:18px}.ems-metric-check.on{background:#0b3b7f;border-color:#0b3b7f;color:#fff}.ems-metric{align-items:center;background:#fff;border:1px solid #e5e7eb;border-radius:999px;color:#0c2146;display:inline-flex;font-size:13px;font-weight:700;gap:8px;padding:6px 10px;transition:border-color .15s ease,background .15s ease}.ems-metric,.ems-metric input{cursor:pointer}.ems-metric.active{background:#e8f1ff;border-color:#0c3c608c;box-shadow:0 12px 18px -18px #0c3c6066;color:#0b3b7f}.ems-metric-name{font-weight:800;line-height:1.2}.ems-metric-unit{color:#3c4b63;font-size:11px;font-weight:700}.ems-metric.active .ems-metric-name,.ems-metric.active .ems-metric-unit{color:#0b3b7f}.ems-warning{color:#b45309;font-size:12px;font-weight:700;margin:8px 0 0}.ems-subtle-hint{color:#6b7280;font-size:12px;font-weight:600;margin:4px 0 0}.ems-chart{margin-top:12px;min-height:360px}.ems-chart-body{height:360px;width:100%}.ems-chart-placeholder{align-items:center;display:flex;height:360px;justify-content:center}.ems-chart-note{color:#6b7280;font-size:12px;margin-top:8px}.ems-tooltip{background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 12px 24px -18px #0f172a4d;color:#1f2530;font-size:12px;padding:8px 10px}.ems-tooltip__title{font-weight:800;margin-bottom:6px}.ems-tooltip__row{align-items:center;display:flex;gap:10px;justify-content:space-between;margin-bottom:4px}.ems-tooltip__label{align-items:center;display:inline-flex;gap:6px}.ems-tooltip__dot{border-radius:50%;display:inline-block;height:10px;width:10px}.ems-tooltip__value{font-weight:700}.chart-loading{align-items:center;color:#6b7280;display:flex;font-weight:600;height:240px;justify-content:center;letter-spacing:.02em}.filters-card{background:linear-gradient(135deg,#f7f9fd,#fff 68%);border:1px solid #dfe6f3;box-shadow:0 18px 48px -32px #0c3c6059;padding:16px 18px}.filters-row{align-items:center;display:flex;flex-wrap:wrap;gap:16px;justify-content:space-between}.filters-left{display:flex;flex-direction:column;gap:4px;min-width:240px}.filters-right{display:flex;flex:1 1;gap:12px;justify-content:flex-end;padding:0}.filters-actions,.filters-right{align-items:center;flex-wrap:wrap}.filters-actions{display:inline-flex;gap:10px}.filters-item{color:#4b5563;display:flex;flex-direction:column;font-size:12px;font-weight:700;gap:6px}.filters-item select{background:#f9fafb;border:1px solid #dfe4eb;border-radius:10px;color:#111827;font-weight:600;height:36px;min-width:170px;padding:6px 10px}.filters-toggle{align-items:center;background:#fff;border:1px solid #dfe4eb;border-radius:999px;box-shadow:inset 0 1px 0 #ffffffe6,0 10px 22px -22px #0c3c6073;display:inline-flex;gap:6px;padding:4px}.filters-toggle button{background:#0000;border:none;border-radius:999px;color:#0f2a4d;cursor:pointer;font-size:13px;font-weight:700;letter-spacing:.01em;padding:8px 16px;transition:all .15s ease}.filters-toggle button.active{background:#0c3c60;box-shadow:0 12px 26px -18px #0c3c60b3;color:#fff}.filters-toggle button:not(.active):hover{background:#f1f4fa}.filters-dropdown{align-items:center;display:inline-flex}.filters-dropdown__select{background:linear-gradient(180deg,#fdfefe,#f2f6fd);border:1px solid #c7d2e2;border-radius:12px;box-shadow:inset 0 1px 0 #ffffffe6,0 12px 24px -20px #0c3c604d;color:#0f2a4d;font-size:13px;font-weight:700;height:38px;min-width:170px;padding:10px 14px}.filters-dropdown__select:focus{border-color:#0c3c60;box-shadow:0 0 0 2px #0c3c6026,inset 0 1px 0 #ffffffe6;outline:none}.filters-dates{align-items:center;background:#fff;border:1px solid #e6eaf5;border-radius:14px;box-shadow:0 10px 22px -20px #0f172a52;display:inline-flex;flex-wrap:wrap;gap:8px;padding:8px 12px}.filters-dates input{background:#f8fafc;border:1px solid #dfe4eb;border-radius:10px;box-shadow:inset 0 1px 0 #ffffffe6;color:#0f172a;font-size:13px;font-weight:700;height:38px;min-width:158px;padding:8px 12px}.filters-dates span{color:#6b7280;font-weight:800}.filters-quick{align-items:center;background:#fff;border:1px dashed #dfe4eb;border-radius:12px;display:inline-flex;flex-wrap:wrap;gap:8px;padding:6px 8px}.filters-quick button{background:linear-gradient(145deg,#f7f9fc,#fff);border:1px solid #dbe5f3;border-radius:12px;box-shadow:0 10px 24px -20px #0f172a59;color:#0f2a4d;cursor:pointer;font-size:13px;font-weight:700;padding:9px 12px;transition:all .15s ease,transform .15s ease}.filters-quick button:hover{background:#eef3fb;transform:translateY(-1px)}.filters-reset{background:#fff;border:1px solid #ced8ea;border-radius:999px;box-shadow:0 12px 24px -20px #0c3c608c;color:#0c3c60;cursor:pointer;font-weight:800;height:38px;padding:0 14px;transition:all .15s ease}.filters-reset:hover{background:#f4f7fd}.chart-shell{position:relative}.analytics-loader,.chart-shell{align-items:center;display:flex;justify-content:center}.analytics-loader{color:#0c3c60;flex-direction:column;font-weight:800;gap:10px;letter-spacing:.01em}.loader-dots{display:inline-flex;gap:8px}.loader-dots span{animation:pulse 1s ease-in-out infinite;background:#0c3c60;border-radius:50%;height:10px;opacity:.25;width:10px}.loader-dots span:nth-child(2){animation-delay:.15s}.loader-dots span:nth-child(3){animation-delay:.3s}.loader-text{color:#0f172a;font-size:13px;font-weight:700;margin:0}@keyframes pulse{0%,to{opacity:.2;transform:translateY(0)}50%{opacity:1;transform:translateY(-4px)}}.analytics-empty-block{background:#f9fbff;border:1px dashed #dfe4eb;border-radius:12px;color:#1f2937;gap:14px;min-height:120px;padding:16px 14px;width:100%}.analytics-empty-block,.empty-badge{align-items:center;display:inline-flex}.empty-badge{background:linear-gradient(135deg,#0c3c601a,#0c3c6005);border:1px solid #e6ebf5;border-radius:14px;height:46px;justify-content:center;position:relative;width:46px}.empty-dot{background:#0c3c60;border-radius:50%;box-shadow:0 0 0 6px #0c3c6014;height:10px;width:10px}.empty-ring{border:1px dashed #cfd8ea;border-radius:50%;height:32px;position:absolute;width:32px}.chart-empty.warning{align-items:center}.empty-title{color:#0f172a;font-weight:800;margin:0 0 4px}.empty-desc{color:#6b7280;font-size:12px;font-weight:600;margin:0}@media (max-width:1080px){.filters-right{justify-content:flex-start}}@media (max-width:720px){.filters-row{align-items:flex-start}.filters-left,.filters-right{width:100%}}.analytics-meta{background:#f9fbff;border:1px dashed #e5e7eb;border-radius:12px;color:#4b5563;display:flex;flex-wrap:wrap;font-weight:600;gap:10px;justify-content:space-between;margin:12px 2px 10px}.analytics-error,.analytics-meta{align-items:center;padding:10px 12px}.analytics-error{background:#fff7f6;border:1px solid #f3b8b1;border-radius:12px;color:#c2410c;display:inline-flex;font-weight:700;gap:8px;margin:10px 0;position:relative}.analytics-grid{grid-gap:12px;display:grid;gap:12px;margin-top:12px;width:100%}.kpi-grid{grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.donuts-grid{grid-template-columns:repeat(auto-fit,minmax(240px,1fr))}.analytics-kpi{background:linear-gradient(135deg,#f8fbff,#fff 60%);border:1px dashed #e5e7eb;border-radius:12px;display:flex;flex-direction:column;gap:6px;min-height:90px;padding:12px 14px}.kpi-skeleton{background:linear-gradient(135deg,#f4f7fb,#fff 70%);overflow:hidden;position:relative}.analytics-kpi__label{color:#3f4a5c;font-size:12px;font-weight:700;letter-spacing:.01em}.analytics-kpi__value{align-items:baseline;color:#0f172a;display:inline-flex;flex-wrap:wrap;font-size:22px;font-weight:800;gap:6px;letter-spacing:-.01em}.analytics-kpi__unit{color:#475569;font-size:12px;font-weight:700}.skeleton{animation:shimmer 1.4s ease-in-out infinite;background:linear-gradient(90deg,#eef1f6,#f7f9fb 50%,#eef1f6);background-size:200% 100%;border-radius:8px;display:block;width:100%}.skeleton-label{height:14px;width:60%}.skeleton-value{height:22px;width:40%}@keyframes shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.analytics-list{display:flex;flex-direction:column;gap:8px;list-style:none;margin:0;padding:8px 0 0}.analytics-list__item{align-items:center;background:#f8fafc;border:1px solid #e5e7eb;border-radius:10px;color:#374151;display:flex;font-weight:600;gap:10px;justify-content:space-between;padding:8px 10px}.analytics-list__value{color:#0f172a;font-weight:800}.analytics-empty{background:#f8fafc;border:1px dashed #e5e7eb;border-radius:12px;color:#6b7280;font-weight:700;padding:14px 12px;text-align:center}.donuts-grid .analytics-card{min-height:240px}.load-card,.sr-only{overflow:hidden}.sr-only{clip:rect(0,0,0,0);border:0;height:1px;margin:-1px;padding:0;position:absolute;width:1px}.load-meta{color:#3b4758;font-size:12px;margin:6px 0 0}.load-controls{gap:8px}.load-controls,.load-range-meta{align-items:center;display:flex;flex-wrap:wrap}.load-range-meta{background:#f8fbff;border:1px dashed #d9e2ef;border-radius:14px;gap:10px;justify-content:space-between;margin-bottom:12px;margin-top:12px;padding:10px 14px}.load-range-meta__label{color:#0f2a4d;font-size:13px;font-weight:700}.load-range-meta__actions{align-items:center;display:inline-flex;flex-wrap:wrap;gap:12px;justify-content:flex-end}.load-metrics-panel{margin-top:0}.load-range-meta__hint{color:#6b778c;font-size:12px}.load-date-select{display:none}.load-preset-dropdown{min-width:170px;position:relative}.load-preset-trigger{align-items:center;background:linear-gradient(180deg,#fdfefe,#f2f6fd);border:1px solid #c7d2e2;border-radius:12px;box-shadow:inset 0 1px 0 #ffffffe6,0 12px 24px -20px #0c3c604d;color:#0f2a4d;cursor:pointer;display:inline-flex;font-size:13px;font-weight:700;gap:10px;justify-content:space-between;padding:12px 14px;width:100%}.load-preset-trigger:focus{border-color:#0c3c60;box-shadow:0 0 0 2px #0c3c6026,inset 0 1px 0 #ffffffe6;outline:none}.load-preset-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.load-preset-caret{color:#5c6378;font-size:12px}.load-preset-menu{background:#fff;border:1px solid #d7deeb;border-radius:12px;box-shadow:0 16px 36px -22px #0c3c6059;margin-top:8px;overflow:hidden;position:absolute;width:100%;z-index:12}.load-preset-option{background:#0000;border:none;color:#111827;cursor:pointer;font-size:13px;font-weight:600;padding:12px 14px;text-align:left;transition:background .15s ease,color .15s ease;width:100%}.load-preset-option:hover{background:#f2f6fd;color:#0c3c60}.load-preset-option.selected{background:linear-gradient(180deg,#0f2a4d,#0c3c60);color:#fff}.load-date-group{display:inline-flex;flex-wrap:wrap;gap:10px}.load-date-field{position:relative}.load-select{background:#fff;border:1px solid #dfe4eb;border-radius:8px;color:#1f2937;font-size:12px;padding:7px 10px}.load-date-input{background:linear-gradient(180deg,#f8fafc,#eef1f6);border:1px solid #d0d7e2;border-radius:12px;box-shadow:inset 0 1px 0 #ffffffb3;color:#1f2937;font-size:13px;font-weight:600;min-width:160px;padding:10px 42px 10px 12px}.load-date-input:focus{box-shadow:0 0 0 2px #0c3c6026;outline:none}.load-date-input::-webkit-calendar-picker-indicator{background:#0000 url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none' stroke='%2363748B' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4.5' width='12' height='11' rx='2'/%3E%3Cpath d='M3 7.5h12M7 3v3m4-3v3'/%3E%3C/svg%3E") no-repeat 50%;cursor:pointer;height:18px;opacity:1;position:absolute;right:10px;top:50%;transform:translateY(-50%);width:18px}.load-date-input::-moz-calendar-picker-indicator{background:#0000 url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' fill='none' stroke='%2363748B' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3' y='4.5' width='12' height='11' rx='2'/%3E%3Cpath d='M3 7.5h12M7 3v3m4-3v3'/%3E%3C/svg%3E") no-repeat center right 12px;cursor:pointer;opacity:1}.load-config-btn{background:#fff;border:1px solid #dfe4eb;border-radius:999px;color:#1f2937;cursor:pointer;font-size:12px;font-weight:600;padding:7px 12px;transition:background .15s ease}.load-config-btn:hover{background:#f7f8fb}.load-config-btn.subtle{border-style:dashed;color:#475569}.load-meter-select{min-width:220px;position:relative}.load-meter-trigger{align-items:center;background:#fff;border:1px solid #dfe4eb;border-radius:10px;box-shadow:0 10px 24px -20px #0f172a40;color:#0f172a;cursor:pointer;display:inline-flex;font-weight:600;gap:8px;padding:8px 12px;width:100%}.load-meter-label{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.load-meter-count{border-radius:6px;font-size:11px;padding:1px 6px}.load-meter-caret{color:#5f704c;font-size:12px;margin-left:auto}.load-meter-menu{background:#fff;border:1px solid #e5e9f2;border-radius:12px;box-shadow:0 14px 36px -22px #0f172a47;left:0;max-height:260px;overflow-y:auto;position:absolute;top:calc(100% + 6px);width:100%;z-index:10}.load-meter-option{align-items:center;background:#0000;border:none;color:#111827;cursor:pointer;display:flex;font-size:13px;font-weight:700;justify-content:space-between;padding:10px 12px;text-align:left;width:100%}.load-meter-option.active{background:#e9eef8;color:#111827}.load-meter-option__name{align-items:center;color:#111827;display:inline-flex;gap:6px}.load-meter-check{color:#0c3c60;font-weight:800}.load-meter-option.active .load-meter-option__name{color:#111827}.load-meter-empty{color:#6b7280;font-size:12px;padding:10px 12px}.load-chart{border:1px dashed #e5e7eb}.load-chart__inner{height:260px;padding:4px 0}.chart-empty{background:linear-gradient(180deg,#f9fbff,#fff 60%);border:1px dashed #d9e2ef;border-radius:14px;box-shadow:inset 0 1px 0 #ffffffe6;box-sizing:border-box;color:#1f2937;display:flex;flex-direction:column;gap:10px;min-height:240px;padding:18px 16px;text-align:center;width:100%}.chart-empty,.chart-empty__icon{align-items:center;justify-content:center}.chart-empty__icon{background:linear-gradient(145deg,#0c3c600f,#0c3c6005);border-radius:16px;color:#0c3c60;display:inline-flex;filter:drop-shadow(0 8px 16px rgba(0,0,0,.08));height:56px;width:56px}.chart-empty.warning .chart-empty__icon{background:linear-gradient(145deg,#fcd34d2e,#fb923c14);color:#b45309}.chart-empty.error .chart-empty__icon{background:linear-gradient(145deg,#f871712e,#ef444414);color:#b91c1c}.chart-empty.empty .chart-empty__icon,.chart-empty.info .chart-empty__icon{background:linear-gradient(145deg,#0ea5e926,#0ea5e90d);color:#0369a1}.chart-empty__title{color:#0f172a;font-weight:800;letter-spacing:.01em;margin:0}.chart-empty__subtitle{color:#6b7280;font-size:12px;font-weight:600;margin:0}.load-date-pill{background:#fff;border:1px solid #e6eaf5;border-radius:12px;box-shadow:0 10px 22px -20px #0f172a47;color:#0f2a4d;font-size:13px;font-weight:700;padding:8px 12px}.load-chart-placeholder{align-items:center;display:flex;height:260px;justify-content:center}.load-errors{color:#6b7280;font-size:11px;margin-top:6px}.load-error{align-items:center;color:#c2410c;display:inline-flex;gap:6px}.warning-icon{display:inline-block;height:20px;object-fit:contain;width:20px}.warning-icon--small{height:16px;width:16px}.load-hint{color:#94a3b8}.load-tooltip{background:#fff;border:1px solid #e5e7eb;border-radius:10px;box-shadow:0 10px 30px -18px #0f172a59;padding:8px 10px}.load-tooltip__time{color:#111827;font-weight:700;margin-bottom:4px}.load-tooltip__row{align-items:center;color:#374151;display:flex;font-size:11px;gap:10px;justify-content:space-between}.load-tooltip__name{align-items:center;display:inline-flex;gap:6px}.load-tooltip__dot{border-radius:999px;display:inline-block;height:8px;width:8px}.load-tooltip__value{font-weight:700}.load-config-overlay{background:#00000047;display:flex;inset:0;justify-content:flex-end;position:fixed;z-index:1200}.load-config-panel{background:#fff;box-shadow:-12px 0 36px -28px #0f172a59;display:flex;flex-direction:column;height:100%;width:min(420px,92vw)}.load-config__head{align-items:center;border-bottom:1px solid #e5e7eb;display:flex;justify-content:space-between;padding:14px 16px}.load-config__title{color:#111827;font-weight:700;margin:0}.load-config__close{background:#0000;border:none;color:#475569;cursor:pointer;font-size:16px}.load-config__body{flex:1 1;overflow-y:auto}.load-config__table{width:100%}.load-config__row{align-items:center;border-bottom:1px solid #edf0f4;display:grid;grid-template-columns:1.4fr 1.4fr .6fr;padding:10px 16px}.load-config__row.head{background:#f7f9fc;color:#1f2937;font-weight:700}.load-config__cell{color:#111827;font-size:13px}.load-config__empty-row{color:#94a3b8;padding:12px 16px}.load-config__footer{border-top:1px solid #e5e7eb;display:flex;gap:8px;justify-content:flex-end;margin-top:auto;padding:12px 16px}.load-config__button{border:1px solid #0000;border-radius:8px;cursor:pointer;font-size:12px;font-weight:700;min-width:96px;padding:10px 14px}.load-config__button.secondary{background:#fff;border-color:#e5e7eb;color:#1f2937}.load-config__button.primary{background:#0c3c60;color:#fff}.load-config__button.primary:hover{background:#0a324f}.load-switch{display:inline-block;height:22px;position:relative;width:44px}.load-switch input{height:0;opacity:0;width:0}.load-slider{background-color:#d7dce2;border-radius:999px;bottom:0;cursor:pointer;left:0;position:absolute;right:0;top:0;transition:.2s}.load-slider:before{background-color:#fff;border-radius:50%;bottom:3px;box-shadow:0 1px 4px #0000001f;content:"";height:16px;left:3px;position:absolute;transition:.2s;width:16px}.load-switch input:checked+.load-slider{background-color:#6fb100}.load-switch input:checked+.load-slider:before{transform:translateX(20px)}.analytics-legend{align-items:center;color:#1f2530;display:flex;flex-wrap:wrap;font-size:13px;gap:14px}.analytics-legend.single{margin-top:4px}.legend-item{align-items:center;display:inline-flex;gap:6px}.analytics-dot{border-radius:50%;display:inline-block;height:10px;width:10px}.pv-generation-card{background:linear-gradient(135deg,#f7fbff,#eef2ff);border:1px solid #dce6f6;border-radius:14px;box-shadow:0 16px 40px -28px #0f172a59;margin-bottom:14px;padding:18px}.pv-generation-head h3{color:#0f172a;font-size:18px;font-weight:800;letter-spacing:-.2px;margin:0 0 12px}.pv-generation-body{display:flex;flex-direction:column;gap:14px}.pv-stats-row{display:flex;flex-wrap:wrap;gap:12px}.pv-stat-card{background:#fff;border:1px solid #ededed;border-left:6px solid #5e5e5e;border-radius:8px;padding:12px}.pv-stat-title{color:#2b2b2b;font-size:14px;font-weight:500;margin:0 0 6px}.pv-stat-value{color:#2b2b2b;font-size:24px;font-weight:600;margin:0}.pv-power-panel{grid-gap:10px;background:#fff;border:1px solid #ededed;border-radius:10px;display:grid;gap:10px;grid-template-columns:1.2fr 1fr;padding:12px}.pv-power-left .pv-subtitle{color:#1f1f1f;font-size:16px;font-weight:600;margin:0}.pv-subtext{color:#3a3a3a;font-size:14px;margin:4px 0 10px}.pv-gauge{align-items:center;display:flex;flex-direction:column;gap:6px}.pv-gauge img{height:auto;width:160px}.pv-gauge-value{color:#2b2b2b;font-weight:600;margin:0}.pv-power-right{grid-gap:8px;align-content:start;display:grid;gap:8px;grid-template-columns:1fr}.pv-weather-grid{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));margin-top:10px}.pv-weather-item{background:#f8fbff;border:1px solid #e5e9f2;border-radius:12px;box-shadow:0 10px 26px -18px #0f172a38;display:flex;flex-direction:column;gap:6px;padding:12px 14px}.pv-weather-label{color:#4a5565;font-size:12px;font-weight:700;letter-spacing:.02em;margin:0}.pv-weather-value{align-items:center;color:#0c3c60;display:inline-flex;font-size:15px;font-weight:700;gap:6px}.pv-weather-value img{height:18px;width:18px}.weather-card{background:linear-gradient(135deg,#fafdff,#f2f5fb);border:1px solid #e4e7ef;border-radius:18px;box-shadow:0 18px 40px -34px #0f172a73;margin-top:18px;padding:0}.sleek-weather{padding:16px 18px 18px}.weather-head{padding:4px 6px 10px}.weather-title{color:#0f172a;font-size:16px;font-weight:800;letter-spacing:-.1px;margin:0}.weather-shell-light{display:flex;flex-direction:column;gap:12px}.weather-top{grid-gap:14px;align-items:center;display:grid;gap:14px;grid-template-columns:minmax(140px,1fr) minmax(220px,1fr) auto;overflow:hidden}.weather-date-block{display:flex;flex-direction:column;gap:2px;min-width:140px}.weather-date-main{color:#0f172a;font-size:18px;font-weight:800;margin:0;white-space:nowrap;word-break:keep-all}.weather-date-sub{color:#475569;font-size:13px;font-weight:700;margin:0}.weather-date-sub.alt{color:#6b7280}.weather-condition-pill{align-items:center;background:linear-gradient(135deg,#e9f3ff,#fff);border:1px solid #dbe5f4;border-radius:16px;box-shadow:0 14px 30px -24px #0f172a47;display:inline-flex;gap:12px;padding:12px 16px}.weather-condition-icon img{height:36px;width:36px}.weather-condition-text{display:flex;flex-direction:column;gap:2px}.weather-condition-label{color:#6b7280;font-size:11px;letter-spacing:.08em;text-transform:uppercase}.weather-condition-value{color:#0f172a;font-size:14px;font-weight:800;text-transform:capitalize}.weather-date-selector .date-selector-trigger.light{align-items:center;background:#fff;border:1px solid #e4e7ef;border-radius:12px;box-shadow:0 12px 28px -24px #0f172a40;display:inline-flex;gap:8px;max-width:100%;overflow:hidden;padding:8px 10px;text-overflow:ellipsis;white-space:nowrap}.weather-stats-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.stat-chip{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 10px 24px -22px #0f172a40;padding:12px}.chip-label{color:#6b7280;font-size:12px;font-weight:700;margin:0 0 6px}.chip-value{color:#0f172a;font-size:16px;font-weight:800;margin:0}.pv-forecast-section{border-top:1px dashed #e4e7ef;padding-top:12px}.pv-forecast-section.sleek{margin-top:8px}.pv-forecast-head{align-items:center;display:flex;justify-content:space-between;margin-bottom:8px}.forecast-select{background:linear-gradient(180deg,#fdfefe,#f2f6fd);border:1px solid #c7d2e2;border-radius:12px;box-shadow:inset 0 1px 0 #ffffffe6,0 12px 24px -20px #0c3c604d;color:#0f2a4d;font-size:13px;font-weight:700;padding:10px 12px}.pv-forecast-grid{grid-gap:10px;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(180px,1fr))}.pv-forecast-grid.sleek{gap:10px}.pv-forecast-item{background:linear-gradient(135deg,#f9fbff,#fff);border:1px solid #e1e7f0;border-radius:14px;box-shadow:0 12px 28px -26px #0f172a47;padding:12px}.pv-forecast-item.sleek{background:#fff}.pv-forecast-title{align-items:center;color:#0c3c60;display:flex;font-weight:700;justify-content:space-between;margin-bottom:6px}.pv-forecast-code{color:#6b7280;font-size:12px;text-transform:capitalize}.pv-forecast-temp{color:#1f2530;font-size:15px;font-weight:700;margin:0}.forecast-temp-main{color:#0f172a;font-size:16px;font-weight:800}.pv-forecast-range{color:#6b7280;font-size:12px;margin-left:6px}.pv-forecast-radiation{color:#4a5565;font-size:13px;margin:4px 0 0}.metrics-card{background:#fff;border:1px solid #e5e7eb;border-radius:12px;box-shadow:0 12px 30px -24px #0f172a66;display:flex;flex-direction:column;gap:10px;padding:14px 16px;position:relative}.metrics-row{grid-gap:8px;display:grid;gap:8px;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}.metric-pill{align-items:center;background:#f9fbff;border:1px solid #e5e9f2;border-radius:12px;box-shadow:inset 0 1px 0 #fff9;display:flex;gap:12px;padding:12px 14px}.metric-label{color:#2b2b2b;font-family:Montserrat;font-size:12px;font-style:normal;font-weight:400;line-height:normal;margin:0 0 4px}.metric-value{color:#0c3c60;font-size:24px;font-weight:800;gap:6px;letter-spacing:.01em;margin:0;min-height:22px}.metric-icon,.metric-value{align-items:center;display:inline-flex}.metric-icon{height:44px;justify-content:center;width:44px}.metric-pill--pv{background:radial-gradient(120% 120% at 14% 12%,#fff9,#0000 50%),#fff;border-color:#dfe7f6;box-shadow:0 14px 30px -24px #0f172a59,inset 0 1px 0 #fffc;flex:1 1 220px;min-height:120px;overflow:hidden;position:relative;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.metric-pill--pv:after{background:linear-gradient(145deg,#3b82f61a,#fff0);border-radius:12px;content:"";inset:0;pointer-events:none;position:absolute;z-index:0}.metric-pill--pv:hover{border-color:#cdd9f3;box-shadow:0 18px 36px -22px #0f172a4d;transform:translateY(-3px)}.metric-pill--pv .metric-icon{background:#f3f6fb;border-radius:12px;box-shadow:inset 0 1px 0 #ffffffe6;position:relative;z-index:1}.metric-pill--pv.tone-amber .metric-icon{background:#fff5e6}.metric-pill--pv.tone-blue .metric-icon{background:#e6efff}.metric-pill--pv.tone-green .metric-icon{background:#e5f8ef}.metric-pill--pv.tone-purple .metric-icon{background:#f0eaff}.metric-pill--pv.tone-default .metric-icon{background:#f3f6fb}.metric-pill--pv>div{position:relative;z-index:1}.location-card{align-items:center;background:linear-gradient(120deg,#f9fbff,#fff 70%);border:1px solid #e2e8f0;border-radius:14px;box-shadow:0 12px 28px -24px #0c3c6059;display:flex;gap:12px;margin-top:12px;padding:14px 16px}.location-card__icon{align-items:center;background:linear-gradient(145deg,#0c3c6014,#0c3c6008);border-radius:12px;box-shadow:inset 0 1px 0 #fffc;color:#0c3c60;display:inline-flex;height:42px;justify-content:center;text-decoration:none;width:42px}.location-card__content{display:flex;flex-direction:column;gap:2px}.location-card__title{color:#0f172a;font-weight:800;letter-spacing:.01em;margin:0}.location-card__meta{color:#4b5563;font-size:13px;font-weight:600;margin:0}.location-card__meta.subtle{color:#6b7280}.station-location-card{align-items:stretch;background:#fff;border:1px solid #e2e8f0;border-radius:14px;box-shadow:0 10px 24px -18px #00000059;display:flex;gap:14px;margin-top:14px;padding:12px}.station-location-map{background:linear-gradient(135deg,#f3f4f6,#e5e7eb);border-radius:12px;flex:1.2 1;height:140px;min-height:120px;overflow:hidden}.station-location-map iframe{border:0;height:100%;width:100%}.station-location-placeholder{color:#6b7280;display:grid;font-size:14px;font-weight:600;height:100%;place-items:center}.station-location-info{align-items:center;display:flex;flex:0.8 1;gap:10px}.station-location-icon{background:linear-gradient(145deg,#ffe9e3,#ffd5cc);border-radius:50%;color:#e02d2d;display:grid;height:44px;place-items:center;width:44px}.station-location-title{color:#1f2937;font-size:16px;font-weight:800;margin:0}.station-location-address{color:#4b5563;font-size:13px;line-height:1.4;margin:2px 0 4px}.station-location-link{color:#0b6fad;font-size:12px;font-weight:700;text-decoration:none}.station-location-link:hover{text-decoration:underline}@media (max-width:900px){.station-location-card{flex-direction:column}.station-location-info,.station-location-map{flex:1 1;width:100%}}.card-loading{align-items:center;display:flex;justify-content:center;min-height:120px}.dot-loader{display:inline-flex;gap:2px;line-height:1}.dot-loader--inline{margin-left:6px}.dot-loader span{animation:dotPulse 1.2s ease-in-out infinite both;background:#2f73ff;border-radius:50%;height:8px;width:8px}.dot-loader span:nth-child(2){animation-delay:.2s}.dot-loader span:nth-child(3){animation-delay:.4s}@keyframes dotPulse{0%,80%,to{opacity:.6;transform:scale(.7)}40%{opacity:1;transform:scale(.95)}}.power-flow-card{grid-gap:10px;background:#fff;border:1px solid #ededed;border-radius:10px;box-shadow:0 12px 26px -18px #0f172a33;display:grid;gap:10px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr));margin-top:10px;padding:10px}.power-flow-item{align-items:center;background:#f7faff;border:1px solid #e5e7eb;border-radius:8px;display:flex;flex-direction:column;gap:6px;padding:10px}.power-flow-icon{height:40px;object-fit:contain;width:40px}.power-flow-label{color:#2b2b2b}.power-flow-value{color:#1f1f1f;font-size:16px;font-weight:700}.power-flow-value .unit{color:#333;font-size:12px;font-weight:600;margin-left:4px}.power-flow-wrapper{background:#fff;border:1px solid #e3e7ed;border-radius:12px;box-shadow:0 16px 40px -28px #0f172a52;margin-bottom:14px;padding:16px}.power-flow-empty{background:#f9fbff;border:1px dashed #e2e8f0;border-radius:12px;color:#6b7280;font-weight:600;padding:24px;text-align:center}.power-flow-top{padding:2px 4px 10px}.power-flow-title{color:#0f172a;font-size:18px;font-weight:800;letter-spacing:-.2px;margin:0}.power-flow-header{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));margin-bottom:12px}.power-flow-meta{background:linear-gradient(135deg,#f9fbff,#fff 80%);border-color:#e0e6f0;transition:transform .14s ease,box-shadow .14s ease,border-color .14s ease}.power-flow-meta:hover{border-color:#d2dbea;box-shadow:0 16px 34px -24px #0f172a42;transform:translateY(-2px)}.power-flow-label{color:#3a3a3a;font-size:12px;font-weight:600;margin:0}.power-flow-meta{align-items:center;background:#f8fafc;border:1px solid #e6e9ef;border-radius:12px;box-shadow:inset 0 1px 0 #fffc;display:flex;gap:10px;padding:10px 12px}.power-flow-meta .meta-icon{align-items:center;background:#fff5d8;border-radius:10px;box-shadow:0 8px 18px -14px #00000059;color:#f0b20a;display:inline-flex;height:36px;justify-content:center;width:36px}.power-flow-meta .meta-icon.status{background:#e7f8ef;color:#16a34a}.power-flow-meta .meta-icon.station{background:#e8f1ff;color:#2563eb}.power-flow-highlight{color:#1a1a1a;font-size:20px;font-weight:800;margin:2px 0 0}.power-flow-text{color:#1f1f1f;font-size:13px;font-weight:600;margin:2px 0 0}.power-flow-diagram{background:#fffaf2;border:1px solid #ffb703;border-radius:8px;min-height:200px;padding:12px;position:relative}.power-flow-diagram.refined{background:#f8fafc;border:1px solid #d3d7df;border-radius:12px;min-height:420px;padding:32px 20px 36px;position:relative}.pf-baseline{display:none}.pf-node.refined{grid-gap:12px;align-items:center;display:grid;gap:12px;grid-template-columns:auto 1fr;min-width:170px;position:relative}.pf-stack{align-items:center;display:flex;flex-direction:column;gap:6px}.pf-node.refined img{height:auto;width:48px}.pf-node-icon{color:#111827;display:grid;height:46px;place-items:center;width:46px}.pf-node-img{height:34px;object-fit:contain;width:34px}.pf-node-body{display:flex;flex-direction:column;gap:6px}.pf-node-label-box{align-items:center;background:#f8fafc;border:1px solid #dfe3ea;border-radius:12px;box-shadow:0 8px 18px -16px #0f172a59;display:inline-flex;padding:8px 12px}.pf-node-label{color:#0f172a;font-size:14px;font-weight:800;margin:0}.pf-node-value{align-items:baseline;color:#111827;display:flex;font-size:18px;font-weight:800;gap:6px;margin:0}.pf-node-value .unit{color:#4b5563;font-size:12px;font-weight:700}.flow-edge-path{stroke:#0000;stroke-width:0;stroke-linecap:round;stroke-linejoin:round;fill:none;filter:none}.flow-edge-label{background:#fff;border:1px solid #e2e7ef;border-radius:10px;box-shadow:0 10px 22px -18px #0f172a59;color:#111827;font-size:12px;font-weight:700;padding:6px 10px;pointer-events:none}@keyframes flow-dash{0%{stroke-dashoffset:0}to{stroke-dashoffset:-32}}.pf-pv{right:22%;top:12%}.pf-pv:after{border-left:3px dashed #6b6b6b;content:"";height:260px;left:50%;position:absolute;top:100px;transform:translateX(-50%)}.pf-load{left:24%;top:82%}.pf-load:before{border-left:3px dashed #6b6b6b;content:"";height:140px;left:50%;position:absolute;top:-140px;transform:translateX(-50%)}.pf-storage{right:24%;top:82%}.pf-storage:before{border-left:3px dashed #6b6b6b;content:"";height:140px;left:50%;position:absolute;top:-140px;transform:translateX(-50%)}.pf-row{align-items:center;display:flex;gap:12px;justify-content:space-around}.pf-row.bottom{margin-top:28px}.pf-node{align-items:center;background:#f2f3f5;border:1px solid #dbdbdb;border-radius:8px;display:flex;flex-direction:column;gap:4px;min-width:120px;padding:6px 8px}.pf-node img{height:48px;object-fit:contain;width:48px}.pf-tag{background:#f2f3f5;border:1px solid #dbdbdb;border-radius:2px;color:#2b2b2b;font-size:10px;font-weight:600;padding:4px 8px}.pf-power{color:#1f1f1f;font-size:12px;font-weight:600}.pf-connector{border-top:2px dashed #8c8c8c;height:0;left:12px;position:absolute;right:12px;top:50%}.battery-card{background:#f7faff;border:1px solid #dfe3eb;border-radius:12px;display:flex;flex-direction:column;gap:12px;padding:16px}.battery-header{grid-gap:12px;display:grid;gap:12px;grid-template-columns:repeat(2,minmax(160px,1fr))}.battery-tile{background:#fff;border:1px solid #e8eaee;border-radius:10px;box-shadow:0 10px 24px -20px #0f172a1f;min-height:82px;padding:12px;position:relative}.battery-tile:before{background:#4f4f4f;border-radius:4px;bottom:12px;content:"";left:0;position:absolute;top:12px;width:5px}.battery-label{color:#4a4f56;font-size:14px;font-weight:600;margin:0 0 8px 10px}.battery-highlight{color:#1f1f1f;font-size:24px;font-weight:700;margin:0 0 0 10px}.bms-overview-head{align-items:center;display:flex;justify-content:space-between;margin-bottom:10px}.bms-overview-title{color:#0f172a;font-size:16px;font-weight:800;letter-spacing:-.2px;margin:0}.bms-panel{background:#fff;border:1px solid #e8eaee;border-radius:12px;box-shadow:0 10px 24px -20px #0f172a1a;padding:16px}.bms-row{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(2,minmax(200px,1fr));margin-top:12px}.bms-pill{border:1px solid #e5e7eb;border-radius:10px;padding:12px;text-align:center}.bms-pill.charging{background:#f4fdf8;border-color:#34d399}.bms-pill.discharging{background:#fffaf2;border-color:#fcd34d}.pill-label{color:#3a3a3a;font-weight:700;margin:0 0 6px}.pill-value{color:#111827;font-size:20px;font-weight:700;margin:0}.analytics-tooltip{color:#1f2937;font-size:12px;min-width:160px;padding:6px 8px}.tooltip-time{font-weight:700;margin-bottom:4px}.tooltip-row{align-items:center;display:flex;gap:6px;margin-top:2px}.tooltip-dot{border-radius:50%;display:inline-block;height:8px;width:8px}@media (max-width:1180px){.home-grid{grid-template-columns:1fr}.device-meta{grid-template-columns:repeat(auto-fit,minmax(100px,1fr))}}@media (max-width:768px){.dashboard-topbar{align-items:flex-start;flex-direction:column}.dashboard-topbar__status{justify-content:flex-start;margin-left:0;text-align:left;width:100%}.dashboard-header,.header-right{align-items:flex-start;flex-direction:column}.dual-grid,.soc-grid,.social-grid{grid-template-columns:1fr}.social-grid .social-item:nth-child(4){grid-column:auto}.chart-footer{flex-wrap:wrap}}.trend-card{background:linear-gradient(135deg,#fff,#f7f9ff);border:1px solid #dfe4eb;border-radius:16px;box-shadow:0 14px 34px -26px #0f172a47;display:flex;flex-direction:column;gap:30px;height:100%;margin-top:16px;padding:14px 16px}.trend-chart{flex:1 1 auto;min-height:340px}.trend-head{align-items:flex-start;display:flex;gap:12px;justify-content:space-between}.trend-title-block{display:flex;flex-direction:column;gap:6px}.trend-title{color:#111827;font-size:17px;font-weight:800;margin:0}.trend-subtitle{color:#475569;font-size:13px;font-weight:600;margin:0}.trend-meta{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.trend-chip{align-items:center;background:#f1f5f9;border:1px solid #e5e7eb;border-radius:999px;color:#0f172a;display:inline-flex;font-size:12px;font-weight:700;gap:6px;padding:6px 10px}.trend-dot{border-radius:999px;height:8px;width:8px}.trend-dot--blue{background:#2563eb}.trend-dot--purple{background:#7c3aed}.trend-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:8px}.trend-toggle{align-items:center;background:#fff;border:1px solid #dfe4eb;border-radius:999px;color:#4b5563;cursor:pointer;display:inline-flex;font-size:12px;font-weight:700;gap:8px;padding:6px 10px;transition:all .15s ease}.trend-toggle.active{background:#0c3c60;border-color:#0c3c60;box-shadow:0 12px 28px -22px #0c3c60b3;color:#fff}.trend-toggle__dot{border:1px solid #d1d5db;border-radius:999px;height:10px;width:10px}.trend-empty,.trend-error,.trend-loading{border-radius:12px;padding:12px}.trend-loading{background:#f5f7fb;color:#475569;font-weight:700}.trend-error{background:#fff7f5;border:1px solid #fecdd3;color:#b91c1c;font-weight:700}.trend-empty{background:#f8fafc;border:1px dashed #e5e7eb;color:#475569;font-weight:700}.trend-chart{background:#fff;border:1px dashed #e5e7eb;border-radius:14px;height:360px;padding:6px;width:100%}.trend-tooltip{background:#0f172a;border:1px solid #e2e8f033;border-radius:10px;box-shadow:0 16px 40px -24px #0f172ab3;color:#e5e7eb;font-size:11px;min-width:160px;padding:8px 10px}.trend-tooltip__title{color:#cbd5e1;font-weight:700;margin-bottom:6px}.trend-tooltip__row{align-items:center;display:flex;gap:8px;justify-content:space-between;margin:2px 0}.trend-tooltip__dot{border-radius:999px;flex-shrink:0;height:8px;width:8px}.trend-tooltip__label{color:#d1d5db;flex:1 1}.trend-tooltip__value{font-feature-settings:"tnum";color:#f8fafc;font-variant-numeric:tabular-nums}.body-content--bare.body-content--tv,.body-content--bare.body-content.taj-exotica.body-content--tv{background:#0000}.dashboard-page--tv{background:#f6f7fb;color:#1f2530;font-family:Manrope,Montserrat,Inter,sans-serif;min-height:100vh;padding:0}.dashboard-page--tv.dark{background:#0f172a;color:#e8ecf5}.tv-header{grid-gap:12px;align-items:center;display:grid;gap:12px;grid-template-columns:auto 1fr auto;min-height:64px;padding:10px 20px;position:sticky;top:0;z-index:2}.tv-header--light{background:#fafaff;border-bottom:1px solid #e6e7ee;box-shadow:0 8px 24px -16px #0000002e}.tv-header--dark{background:#1d2432;border-bottom:1px solid #2b3345;box-shadow:0 8px 20px -16px #0009;color:#e8ecf5}.tv-header__left{align-items:center;display:flex;gap:12px;justify-self:start}.tv-logo{align-items:center;background:none;border:none;border-radius:6px;display:inline-flex;justify-content:center;padding:0}.tv-logo--brand img{display:block;height:44px;width:auto}.tv-header__center{justify-self:center;text-align:center;transform:translateX(clamp(10px,3vw,60px))}.tv-title{font-feature-settings:"liga" off,"clig" off;color:#2b2b2b;font-family:Montserrat,Manrope,Inter,sans-serif;font-size:24px;font-style:normal;font-weight:600;line-height:normal}.tv-header--dark .tv-title{color:#e8ecf5}.tv-header__right{align-items:center;display:inline-flex;flex-wrap:nowrap;gap:12px;justify-self:end}.tv-token-btn{background:linear-gradient(135deg,#0b74b5,#0a5fa0);border:1px solid #0b74b5;border-radius:10px;box-shadow:0 10px 20px -15px #0b74b5cc;color:#fff;cursor:pointer;font-size:12px;font-weight:700;padding:6px 12px;transition:transform .12s ease,box-shadow .12s ease}.tv-token-btn:hover{box-shadow:0 12px 24px -16px #0b74b5e6;transform:translateY(-1px)}.tv-token-btn:focus-visible{outline:2px solid #2f73ff;outline-offset:2px}.tv-toggle-pill{align-items:center;background:linear-gradient(180deg,#f7f9fc,#eef2f7);border:1px solid #cfd6e3;border-radius:999px;box-shadow:inset 0 1px 0 #fffc,0 10px 22px -18px #0f172a59;cursor:pointer;display:inline-flex;gap:8px;height:34px;justify-content:space-between;min-width:92px;padding:4px 12px;position:relative;transition:background .2s ease,border-color .2s ease,box-shadow .2s ease}.tv-header--dark .tv-toggle-pill{background:linear-gradient(180deg,#202b3f,#172033);border-color:#2a364c;box-shadow:inset 0 1px 0 #ffffff0a,0 10px 24px -18px #000000b3}.tv-toggle-pill:hover{border-color:#b8c2d3;box-shadow:inset 0 1px 0 #ffffffd9,0 12px 26px -18px #0f172a66}.tv-header--dark .tv-toggle-pill:hover{border-color:#3a4965;box-shadow:inset 0 1px 0 #ffffff0d,0 12px 28px -18px #000000bf}.tv-toggle-pill:focus-visible{outline:2px solid #2f73ff;outline-offset:2px}.tv-toggle-pill__icon{align-items:center;color:#7c8796;display:inline-flex;font-size:13px;height:20px;justify-content:center;transition:color .18s ease,transform .18s ease;width:20px;z-index:1}.tv-toggle-pill__icon--day{color:#0b7dc5}.tv-toggle-pill__icon--night{color:#7c8796}.tv-toggle-pill__icon.is-active{color:#fff;transform:scale(1.05)}.tv-toggle-pill__thumb{background:linear-gradient(135deg,#0b7dc5,#1f8dde);border-radius:999px;box-shadow:0 6px 12px -8px #04112299,inset 0 1px 0 #ffffff59;height:28px;left:3px;position:absolute;top:3px;transition:transform .22s ease,background .22s ease,box-shadow .22s ease;width:40px;z-index:0}.tv-toggle-pill__thumb--right{background:linear-gradient(135deg,#3b82f6,#2563eb);box-shadow:0 6px 12px -8px #2563ebcc,inset 0 1px 0 #ffffff59;transform:translateX(46px)}.tv-live-pill{background:#0cbb3f1f;border:1px solid #0cbb3f73;border-radius:8px;color:#0cbb3f;font-size:13px;font-weight:700;letter-spacing:.01em;padding:7px 14px}.tv-live-pill,.tv-token-alert{align-items:center;display:inline-flex;gap:6px}.tv-token-alert{background:#ef44441f;border:1px solid #ef44448c;border-radius:8px;color:#ef4444;font-size:12px;font-weight:800;letter-spacing:.02em;padding:7px 12px;text-transform:uppercase}.tv-header--dark .tv-token-alert{background:#ef444429;border-color:#ef444499;color:#ff7b7b}.tv-header--dark .tv-live-pill{background:#00b83f26;border-color:#00b83f80;color:#36e27d}.tv-live-pill__dot{background:#0cbb3f;border-radius:999px;box-shadow:0 0 0 6px #0cbb3f29;height:8px;width:8px}.tv-weather{align-items:center;background:#0000;border:none;border-radius:0;color:#1f2530;display:inline-flex;font-weight:700;gap:6px;padding:0}.tv-header--dark .tv-weather{color:#e8ecf5}.tv-weather__temp{align-items:baseline;display:inline-flex;font-size:18px;font-weight:800;gap:3px;line-height:1}.tv-weather__unit{color:#6b7280;font-size:12px;font-weight:700;text-transform:lowercase}.tv-header--dark .tv-weather__unit{color:#aeb6c5}.tv-weather__label{color:#58606c;font-size:12px;font-weight:600}.tv-header--dark .tv-weather__label{color:#e8ecf5}.tv-weather__icon{height:22px;width:22px}.tv-clock{align-items:flex-end;color:#1f2530;display:flex;flex-direction:column;font-size:12px;font-weight:700;line-height:1.2}.tv-header--dark .tv-clock{color:#e8ecf5}.tv-clock__date{color:#4a4f58;font-weight:600}.tv-header--dark .tv-clock__date{color:#cfd6e5}.tv-clock__time{font-size:13px;letter-spacing:.02em}.tv-meta{align-items:flex-start;display:flex;flex-direction:column;gap:4px;min-width:150px}.tv-meta__top{gap:8px}.tv-meta__bottom,.tv-meta__top{align-items:center;display:inline-flex}.tv-meta__bottom{color:#1f2530;font-size:13px;font-weight:700;gap:14px}.tv-header--dark .tv-meta__bottom{color:#e8ecf5}.tv-body{display:flex;flex-direction:column;gap:16px;padding:16px 30px 24px}.tv-panel{background:#fff;border:1px solid #dfe5ee;border-radius:12px;box-shadow:0 12px 28px -24px #00000040;overflow:hidden}.tv-panel--card{background:#86d2ff1a;border:1px solid #d2d2d2;border-radius:8px;box-shadow:0 0 4px 0 #00000040}.dashboard-page--tv.dark .tv-panel,.tv-panel.tv-panel--dark{background:#1f2735;border-color:#2b3343;box-shadow:0 14px 30px -22px #0000008c}.tv-body--grid{gap:18px}.tv-panel--hero{grid-gap:16px;background:linear-gradient(135deg,#0f3b5f,#0c2f4b);color:#f7fbff;display:grid;gap:16px;grid-template-columns:360px 1fr 330px;padding:18px 20px}.tv-hero__column--bordered{border-right:1px solid #ffffff47}.tv-hero__center,.tv-hero__left,.tv-hero__right{display:flex;flex-direction:column;gap:10px}.tv-hero__center{padding-right:35px}.tv-hero__left{align-items:center;text-align:center}.tv-hero__left .tv-hero__metric{font-size:36px;text-align:center}.tv-hero__left .tv-hero__foot,.tv-hero__left .tv-hero__label,.tv-hero__left .tv-hero__metric{color:#fff;font-family:Montserrat,Manrope,Inter,sans-serif;font-style:normal;font-weight:500;line-height:normal}.tv-hero__left .tv-hero__metric{margin-top:8px}.tv-hero__metric{font-size:36px;font-weight:800;letter-spacing:.01em}.tv-hero__center .tv-hero__metric{color:#fff;font-family:Montserrat,Manrope,Inter,sans-serif;font-size:36px;font-style:normal;font-weight:500;line-height:normal}.tv-hero__label{color:#dfe9f5;font-size:15px;font-weight:600}.tv-hero__center .tv-hero__label{color:#fff;font-family:Montserrat,Manrope,Inter,sans-serif;font-style:normal;font-weight:500;line-height:normal}.tv-hero__pie{height:170px;width:100%}.tv-hero__left .tv-rte-pie .recharts-sector[fill="#c87130"]{transform-box:fill-box;transform-origin:center;transition:transform .18s ease}.tv-hero__left:hover .tv-rte-pie .recharts-sector[fill="#c87130"]{transform:scale(1.06)}.tv-hero__foot{color:#dfe9f5;font-size:14px;margin-top:4px}.tv-hero__foot strong{color:#fefefe}.tv-hero__center .tv-hero__label,.tv-hero__center .tv-hero__metric{text-align:center}.tv-hero__chart{height:230px;width:100%}.tv-hero__chart-empty{align-items:center;background:#ffffff0a;border:1px dashed #ffffff40;border-radius:10px;color:#e8ecf5;display:flex;font-weight:700;height:100%;justify-content:center}.tv-hero__right{gap:18px;justify-content:center;padding-left:20px}.tv-hero__stat{background:#0000;border:none;border-radius:0;box-shadow:none;color:#f7fbff;padding:4px 0}.tv-hero__stat-value{font-size:30px;font-weight:800;line-height:1.1}.tv-hero__stat-unit{font-size:14px;font-weight:600;opacity:.9}.tv-hero__stat-unit,.tv-hero__stat-value{display:inline-block;vertical-align:initial}.tv-hero__stat-unit{font-weight:700;margin-left:6px}.tv-hero__stat-label{color:#dfe9f5;font-size:13px;margin-top:4px}.tv-hero__right .tv-hero__stat-label,.tv-hero__right .tv-hero__stat-unit,.tv-hero__right .tv-hero__stat-value{color:#fff;font-family:Montserrat,Manrope,Inter,sans-serif;font-style:normal;font-weight:500;line-height:normal}.tv-hero__right .tv-hero__stat-value{font-size:36px}.tv-hero__right .tv-hero__stat-label{font-size:16px}.tv-hero__right .tv-hero__stat-unit{font-size:20px}.dashboard-page--tv .tv-panel--hero .tv-hero__stat{background:#0000;border:none}.dashboard-page--tv .tv-panel--hero .tv-hero__stat-label{color:#ffffffd1!important}.dashboard-page--tv .tv-panel--hero .tv-hero__stat-unit{color:#f7fbff!important}.tv-grid-row{grid-gap:16px;display:grid;gap:16px;grid-template-columns:repeat(auto-fit,minmax(320px,1fr))}.tv-panel--card{padding:14px 16px 10px}.tv-panel__header{align-items:center;display:flex;gap:10px;justify-content:space-between;margin-bottom:6px}.tv-panel__title{color:#000;font-family:Montserrat,Manrope,Inter,sans-serif;font-size:16px;font-style:normal;font-weight:500;line-height:normal}.dashboard-page--tv.dark .tv-panel__title{color:#e8ecf5}.tv-panel__badge{align-items:center;background:#005f95;border-radius:8px;box-shadow:0 6px 14px -10px #00000073;color:#fff;display:inline-flex;font-weight:700;gap:4px;padding:6px 12px}.tv-panel__badge-value{font-size:17px}.tv-panel__badge-unit{font-size:13px}.tv-panel__body{height:210px}.tv-panel .recharts-cartesian-axis-tick-value{font-size:clamp(10px,.8vw,12px)}.recharts-default-tooltip{color:#111827;font-weight:700}.recharts-tooltip-item{color:#111827!important;font-weight:700}.recharts-tooltip-label{color:#111827;font-weight:700}.tv-panel--hero-dark{color:#e8ecf5}.tv-fallback{color:#e8edf7;padding:24px}.tv-toggle{background:linear-gradient(135deg,#f7f9fc,#eef2f8);border:1px solid #cdd4e1;border-radius:999px;box-shadow:0 12px 28px -20px #00000059;color:#0f172a;cursor:pointer;font-size:13px;font-weight:700;padding:6px 14px;transition:all .18s ease}.tv-toggle:hover{transform:translateY(-1px)}.tv-toggle--active{background:linear-gradient(135deg,#0bbf5d,#0a9c4f);border-color:#0bbf5d;box-shadow:0 14px 32px -20px #0b9c4fa6;color:#fff}.tv-toggle:focus-visible{outline:2px solid #2f73ff;outline-offset:2px}@media (max-width:1200px){.tv-panel--hero{gap:12px;grid-auto-rows:auto;grid-template-columns:1fr}.tv-hero__column{align-items:center;border-right:none;padding-right:0;text-align:center}.tv-hero__chart,.tv-hero__pie{height:200px}}@media (max-width:1024px){.tv-header{gap:10px;grid-template-columns:1fr;justify-items:center;padding:12px 16px}.tv-header__center{transform:none}.tv-logo--brand img{height:38px}.tv-header__center,.tv-header__left,.tv-header__right{justify-self:center}.tv-header__right{flex-wrap:wrap;justify-content:center;width:100%}.tv-title{font-size:18px}.tv-body{gap:12px;padding:12px}.tv-panel__body{height:180px}}@media (max-width:768px){.tv-grid-row{grid-template-columns:repeat(auto-fit,minmax(260px,1fr))}.tv-panel__badge{padding:6px 8px}.tv-panel__badge-value{font-size:15px}.tv-panel__title{font-size:14px}}@media (max-width:640px){.tv-header__left,.tv-header__right{justify-content:center;width:100%}.tv-header__right{gap:8px}.tv-title{font-size:16px}.tv-hero__chart,.tv-hero__pie{height:180px}.tv-panel__body{height:160px}}.typography{padding:20px 0 0 20px}.cardBox{width:800px}.credsValues{display:flex;flex-direction:column;gap:10px;padding-top:20px}.credentials-details{margin-left:60px}.error-text{color:red}::-webkit-scrollbar{width:8px}::-webkit-scrollbar-track{background:#f1f1f1}::-webkit-scrollbar-thumb{background:#888;border-radius:10px}::-webkit-scrollbar-thumb:hover{background:#555}html{scrollbar-color:#888 #f1f1f1;scrollbar-width:8px}.custom-scrollbar .MuiDataGrid-root .MuiDataGrid-virtualScroller::-webkit-scrollbar{height:6px}.custom-scrollbar .MuiDataGrid-root .MuiDataGrid-virtualScroller::-webkit-scrollbar-thumb{background-color:#0003;border-radius:6px}.custom-scrollbar .MuiDataGrid-root .MuiDataGrid-virtualScroller::-webkit-scrollbar-track{background-color:#0000001a}.custom-scrollbar .MuiDataGrid-root .MuiDataGrid-virtualScroller::-webkit-scrollbar:vertical{display:none}.react-flow{direction:ltr}.react-flow__container{height:100%;left:0;position:absolute;top:0;width:100%}.react-flow__pane{cursor:grab;z-index:1}.react-flow__pane.selection{cursor:pointer}.react-flow__pane.dragging{cursor:grabbing}.react-flow__viewport{pointer-events:none;transform-origin:0 0;z-index:2}.react-flow__renderer{z-index:4}.react-flow__selection{z-index:6}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible{outline:none}.react-flow .react-flow__edges{overflow:visible;pointer-events:none}.react-flow__connection-path,.react-flow__edge-path{stroke:#b1b1b7;stroke-width:1;fill:none}.react-flow__edge{cursor:pointer;pointer-events:visibleStroke}.react-flow__edge.animated path{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__edge.animated path.react-flow__edge-interaction{stroke-dasharray:none;animation:none}.react-flow__edge.inactive{pointer-events:none}.react-flow__edge.selected,.react-flow__edge:focus,.react-flow__edge:focus-visible{outline:none}.react-flow__edge.selected .react-flow__edge-path,.react-flow__edge:focus .react-flow__edge-path,.react-flow__edge:focus-visible .react-flow__edge-path{stroke:#555}.react-flow__edge-textwrapper{pointer-events:all}.react-flow__edge-textbg{fill:#fff}.react-flow__edge .react-flow__edge-text{pointer-events:none;-webkit-user-select:none;user-select:none}.react-flow__connection{pointer-events:none}.react-flow__connection .animated{stroke-dasharray:5;animation:dashdraw .5s linear infinite}.react-flow__connectionline{z-index:1001}.react-flow__nodes{pointer-events:none;transform-origin:0 0}.react-flow__node{box-sizing:border-box;cursor:grab;pointer-events:all;position:absolute;transform-origin:0 0;-webkit-user-select:none;user-select:none}.react-flow__node.dragging{cursor:grabbing}.react-flow__nodesselection{pointer-events:none;transform-origin:left top;z-index:3}.react-flow__nodesselection-rect{cursor:grab;pointer-events:all;position:absolute}.react-flow__handle{background:#1a192b;border:1px solid #fff;border-radius:100%;height:6px;min-height:5px;min-width:5px;pointer-events:none;position:absolute;width:6px}.react-flow__handle.connectionindicator{cursor:crosshair;pointer-events:all}.react-flow__handle-bottom{bottom:-4px;left:50%;top:auto;transform:translate(-50%)}.react-flow__handle-top{left:50%;top:-4px;transform:translate(-50%)}.react-flow__handle-left{left:-4px;top:50%;transform:translateY(-50%)}.react-flow__handle-right{right:-4px;top:50%;transform:translateY(-50%)}.react-flow__edgeupdater{cursor:move;pointer-events:all}.react-flow__panel{margin:15px;position:absolute;z-index:5}.react-flow__panel.top{top:0}.react-flow__panel.bottom{bottom:0}.react-flow__panel.left{left:0}.react-flow__panel.right{right:0}.react-flow__panel.center{left:50%;transform:translateX(-50%)}.react-flow__attribution{background:#ffffff80;font-size:10px;margin:0;padding:2px 3px}.react-flow__attribution a{color:#999;text-decoration:none}@keyframes dashdraw{0%{stroke-dashoffset:10}}.react-flow__edgelabel-renderer{height:100%;pointer-events:none;position:absolute;-webkit-user-select:none;user-select:none;width:100%}.react-flow__edge.updating .react-flow__edge-path{stroke:#777}.react-flow__edge-text{font-size:10px}.react-flow__node.selectable:focus,.react-flow__node.selectable:focus-visible{outline:none}.react-flow__node-default,.react-flow__node-group,.react-flow__node-input,.react-flow__node-output{background-color:#fff;border:1px solid #1a192b;border-radius:3px;color:#222;font-size:12px;padding:10px;text-align:center;width:150px}.react-flow__node-default.selectable:hover,.react-flow__node-group.selectable:hover,.react-flow__node-input.selectable:hover,.react-flow__node-output.selectable:hover{box-shadow:0 1px 4px 1px #00000014}.react-flow__node-default.selectable.selected,.react-flow__node-default.selectable:focus,.react-flow__node-default.selectable:focus-visible,.react-flow__node-group.selectable.selected,.react-flow__node-group.selectable:focus,.react-flow__node-group.selectable:focus-visible,.react-flow__node-input.selectable.selected,.react-flow__node-input.selectable:focus,.react-flow__node-input.selectable:focus-visible,.react-flow__node-output.selectable.selected,.react-flow__node-output.selectable:focus,.react-flow__node-output.selectable:focus-visible{box-shadow:0 0 0 .5px #1a192b}.react-flow__node-group{background-color:#f0f0f040}.react-flow__nodesselection-rect,.react-flow__selection{background:#0059dc14;border:1px dotted #0059dccc}.react-flow__nodesselection-rect:focus,.react-flow__nodesselection-rect:focus-visible,.react-flow__selection:focus,.react-flow__selection:focus-visible{outline:none}.react-flow__controls{box-shadow:0 0 2px 1px #00000014}.react-flow__controls-button{align-items:center;background:#fefefe;border:none;border-bottom:1px solid #eee;box-sizing:initial;cursor:pointer;display:flex;height:16px;justify-content:center;padding:5px;-webkit-user-select:none;user-select:none;width:16px}.react-flow__controls-button:hover{background:#f4f4f4}.react-flow__controls-button svg{max-height:12px;max-width:12px;width:100%}.react-flow__controls-button:disabled{pointer-events:none}.react-flow__controls-button:disabled svg{fill-opacity:.4}.react-flow__minimap{background-color:#fff}.react-flow__minimap svg{display:block}.react-flow__resize-control{position:absolute}.react-flow__resize-control.left,.react-flow__resize-control.right{cursor:ew-resize}.react-flow__resize-control.bottom,.react-flow__resize-control.top{cursor:ns-resize}.react-flow__resize-control.bottom.right,.react-flow__resize-control.top.left{cursor:nwse-resize}.react-flow__resize-control.bottom.left,.react-flow__resize-control.top.right{cursor:nesw-resize}.react-flow__resize-control.handle{background-color:#3367d9;border:1px solid #fff;border-radius:1px;height:4px;transform:translate(-50%,-50%);width:4px}.react-flow__resize-control.handle.left{left:0;top:50%}.react-flow__resize-control.handle.right{left:100%;top:50%}.react-flow__resize-control.handle.top{left:50%;top:0}.react-flow__resize-control.handle.bottom{left:50%;top:100%}.react-flow__resize-control.handle.bottom.left,.react-flow__resize-control.handle.top.left{left:0}.react-flow__resize-control.handle.bottom.right,.react-flow__resize-control.handle.top.right{left:100%}.react-flow__resize-control.line{border:0 solid #3367d9}.react-flow__resize-control.line.left,.react-flow__resize-control.line.right{height:100%;top:0;transform:translate(-50%);width:1px}.react-flow__resize-control.line.left{border-left-width:1px;left:0}.react-flow__resize-control.line.right{border-right-width:1px;left:100%}.react-flow__resize-control.line.bottom,.react-flow__resize-control.line.top{height:1px;left:0;transform:translateY(-50%);width:100%}.react-flow__resize-control.line.top{border-top-width:1px;top:0}.react-flow__resize-control.line.bottom{border-bottom-width:1px;top:100%}.card-img{background-color:#fff;border:2px solid grey;border-radius:5px;box-shadow:0 4px 8px #0003;margin:5px;padding:10px}.card-img p{font-size:16px;margin-top:10px}.cardcontainer{display:flex;flex-wrap:wrap;justify-content:flex-start}.cardcontainer_status{align-content:flex-start;align-items:flex-start;flex:1 1 auto;flex-wrap:wrap;gap:12px;min-height:0;overflow-y:auto;padding:8px 0 0;width:100%}.cardcontainer_status,.nodes-popup{display:flex;justify-content:center}.nodes-popup{align-items:center;background-color:#fff;border:2px solid green;border-radius:10px;box-shadow:0 4px 8px #0003;flex-direction:column;padding:4px;position:fixed}.nodes-popup p{font-size:13px;margin-bottom:0!important;padding:none}.reactflow-wrapper{height:50vh}.schematic-card--base{background:#0000;border:none;height:calc(100vh - 148px);height:calc(100vh - var(--nav-top-height, 72px) - var(--nav-toolbar-height, 44px) - 32px);width:100%}.schematic-card-body--base{display:flex;flex-direction:column;gap:16px;height:100%}@media screen and (min-width:1280px){.reactflow-wrapper{height:56vh}.card-img{margin:2px}}.schematic-empty{align-items:center;display:flex;justify-content:center;min-height:calc(100vh - 180px);padding:32px}.schematic-empty__card{background:#fff;border:1px solid #e8eaf4;border-radius:20px;box-shadow:0 24px 40px #0f172a14;max-width:720px;padding:48px;width:100%}.schematic-empty__card h2{color:#0c3c60;font-size:24px;margin-bottom:12px}.schematic-empty__card p{color:#4a4f63;font-size:16px;line-height:1.6;margin:0}.schematic-device{border-radius:14px;min-width:140px;padding:8px 10px;pointer-events:all;position:relative;transition:transform .15s ease,box-shadow .15s ease}.schematic-device--accent{border-color:#4c67f5}.schematic-device--ghost{align-items:center;background:#0000;border:none;box-shadow:none;display:flex;flex-direction:row;gap:8px;justify-content:center;min-width:auto;padding:0;transition:transform .15s ease}.schematic-device:hover{transform:none}.schematic-device--ghost:hover{box-shadow:none;transform:none}.schematic-device--variant-emo{background:#fff;border:2px solid #0b1d33;border-radius:4px;box-sizing:border-box;height:58px;min-height:60px;min-width:20px;overflow:hidden;padding:28px 32px;width:60px}.schematic-device--variant-emo .schematic-device__content{align-items:center;gap:8px;justify-content:center;position:relative;z-index:1}.schematic-device--variant-emo:before{box-shadow:inset 8px 0 0 #fff,inset -8px 0 0 #fff,inset 0 -8px 0 #fff;content:"";inset:2px;pointer-events:none;position:absolute}.react-flow__node[data-id=emoTop]:after{background:#fff;bottom:-8px;content:"";height:28px;left:-36px;pointer-events:none;position:absolute;width:68px;z-index:0}.react-flow__node[data-id=emoTop] .schematic-device{z-index:1}.react-flow__node[data-id=grid] .react-flow__handle-bottom{left:calc(50% - 1px)}.react-flow__node[data-id=emoTop] .react-flow__handle-top{left:auto;right:16px}.schematic-device--variant-emo .schematic-device__icon-emoji,.schematic-device--variant-emo .schematic-device__icon-image{display:none}.schematic-device--variant-emo .schematic-device__subtitle,.schematic-device--variant-emo .schematic-device__title{color:#0b3d66;font-size:12px;font-weight:600;line-height:1.05;text-align:center;text-transform:uppercase}.schematic-device__ghost-icon{align-items:center;display:flex;justify-content:center;padding-right:57px}.schematic-device__ghost-body{align-items:center;display:inline-flex;gap:10px}.schematic-device__ghost-text{align-items:flex-end;background:#f5f6f8;border:1px solid #d2d5dc;border-radius:8px;display:flex;flex-direction:column;gap:2px;padding:8px 12px;text-align:right}.schematic-device__ghost-title{color:#0f172a;font-size:14px;font-weight:700;text-align:right}.schematic-device__ghost-subtitle{color:#4b5563;font-size:12px;text-align:right}.schematic-device__content{align-items:center;display:flex;gap:10px}.schematic-device__content--stacked{flex-direction:column;gap:6px;justify-content:center;text-align:center}.schematic-device__icon-emoji{font-size:20px}.schematic-device__icon-image{height:40px;width:40px}.schematic-loading{flex-direction:column;gap:10px}.schematic-card-body{height:100%;padding:0!important}.schematic-card--full{background:#0000;background:#fff;border:none;height:100vh;position:relative;width:100%}.schematic-card-body--full{height:100%;padding:0!important}.schematic-token-button{position:absolute;right:12px;top:10px;z-index:2}.schematic-reactflow-shell{align-items:center;background:#fff;border-radius:18px;display:flex;height:100%;justify-content:center;overflow:hidden;padding-bottom:30px;position:relative;width:100%}.schematic-reactflow{height:100%;width:100%}.schematic-toolbar{background:#fffffff0;border:1px solid #0f172a14;border-radius:14px;box-shadow:0 18px 32px -18px #0f172a73;display:inline-flex;flex-direction:column;padding:12px 10px;right:12px;top:12px;z-index:5}.schematic-toolbar__btn{background:linear-gradient(180deg,#fff,#f8fafc);border:1px solid #0f172a1f;border-radius:10px;color:#0f172a;cursor:pointer;font-size:13px;font-weight:700;height:36px;line-height:1;min-width:44px;transition:transform .12s ease,box-shadow .12s ease,border-color .12s ease,background .12s ease}.schematic-toolbar__btn:hover{border-color:#0f172a2e;box-shadow:0 10px 20px -14px #00000040;transform:translateY(-1px)}.schematic-toolbar__btn:active{transform:translateY(0)}.schematic-toolbar__btn.is-active{background:linear-gradient(180deg,#10b981,#059669);border-color:#0f172a14;color:#f8fafc}.schematic-error-banner{align-items:center;background:#fff2f0;border:1px solid #f8d0c9;border-radius:10px;box-shadow:0 10px 24px -18px #b423184d;color:#b42318;display:inline-flex;font-size:13px;gap:8px;left:12px;padding:8px 12px;position:absolute;top:10px;z-index:10}.schematic-error-panel{align-items:center;display:flex;gap:14px;height:100%;justify-content:center;margin:0 auto;max-width:520px;min-height:320px;padding:22px 24px}.schematic-error-icon{align-items:center;background:#fff1f2;border:1px solid #fecdd3;border-radius:14px;box-shadow:0 8px 16px -14px #b91c1c73;display:inline-flex;height:48px;justify-content:center;overflow:hidden;width:48px}.schematic-error-copy{display:flex;flex-direction:column;gap:4px}.schematic-error-title{font-size:18px;font-weight:700}.schematic-error-message{color:#475569;font-size:16px}.schematic-error-icon img{height:28px;object-fit:contain;width:28px}.schematic-error-cta{margin-top:8px}.schematic-loader{align-items:center;display:inline-flex;gap:8px}.schematic-loader__dot{animation:schematic-bounce 1s ease-in-out infinite;background:#0f172a;border-radius:50%;height:10px;width:10px}.schematic-loader__dot:nth-child(2){animation-delay:.15s}.schematic-loader__dot:nth-child(3){animation-delay:.3s}.schematic-loader__text{color:#475569;font-size:13px}@keyframes schematic-bounce{0%,80%,to{opacity:.6;transform:scale(.8)}40%{opacity:1;transform:scale(1.1)}}.schematic-error-cta{align-items:center;display:inline-flex}.schematic-card{border:none!important;border-radius:0!important;box-shadow:none!important;margin:0!important;padding:0!important}.schematic-device__title{color:#0c3c60;font-size:14px;font-weight:600;line-height:1.2}.schematic-device__subtitle{line-height:1.2}.schematic-device__badge{background:#f5f6f8;border:1px solid #d2d5dc;border-radius:8px;box-shadow:none;color:#0f172a;font-size:13px;font-weight:700;line-height:1.1;min-width:120px;padding:6px 12px;position:absolute;text-align:center;top:-24px;white-space:pre-line;z-index:2}.schematic-device__badge--right{right:2px}.schematic-device__badge--left{left:2px}.schematic-device__badge--side-left{left:-2px;top:50%;transform:translate(-100%,-50%)}.schematic-device__badge--side-right{right:-10px;top:50%;transform:translate(60%,-50%)}.schematic-meter{background:#fff;border:1px solid #d8e0ec;border-radius:14px;box-shadow:0 12px 26px -18px #0f172a2e;min-width:180px;padding:12px 14px}.schematic-meter:hover{box-shadow:0 22px 38px -14px #0f172a42;transform:translateY(-5px) scale(1.25)}.react-flow__node .schematic-device,.react-flow__node .schematic-meter{pointer-events:all}.react-flow__node .schematic-device:hover,.react-flow__node .schematic-meter:hover{transform:translateY(-8px) scale(1.4)}.react-flow__node .schematic-meter:hover,.schematic-meter:hover,.schematic-status-card:hover{box-shadow:none!important;transform:none!important}.schematic-meter__title{font-size:13px;font-weight:700;margin-bottom:8px}.schematic-meter__line{font-size:12px}.schematic-meter__line-label{color:#111827;font-weight:500}.schematic-meter__line-value{color:#0f172a;font-weight:800}.schematic-breaker{align-items:center;background:#0000;display:flex;flex-direction:column;gap:6px;justify-content:center;min-height:64px;position:relative;width:52px}.schematic-breaker--interactive{cursor:pointer}.schematic-breaker--interactive:focus-visible{border-radius:12px;outline:2px solid #6366f1;outline-offset:4px}.schematic-breaker__body{align-items:center;display:flex;justify-content:center;position:relative}.schematic-breaker__label{background:#fff7f7;border:2px solid;border-radius:6px;box-shadow:0 10px 18px #0f172a14;font-size:14px;font-weight:800;letter-spacing:.01em;padding:2px 10px;position:absolute;right:calc(100% + 10px);top:50%;transform:translateY(-50%);transition:transform .12s ease,box-shadow .12s ease}.schematic-breaker:hover .schematic-breaker__label{box-shadow:0 14px 22px #0f172a1f;transform:translateY(-2px)}.schematic-breaker__label--closed{background:#f0fff4;border-color:#0f9d58;color:#0f9d58}.schematic-breaker__label--open{background:#fff1f2;border-color:#b91c1c;color:#b91c1c}.schematic-breaker--horizontal{flex-direction:column;gap:6px;min-height:72px;width:auto}.schematic-breaker--horizontal .schematic-breaker__label{order:-1;position:static;right:auto;top:auto;transform:none}.schematic-breaker__glyph{background:#0000;border:none;border-radius:0;box-shadow:none;position:relative}.schematic-breaker__glyph--vertical{height:46px;width:12px}.schematic-breaker__glyph--horizontal{background:#fff;height:12px;width:46px}.schematic-breaker__glyph:after,.schematic-breaker__glyph:before{background:currentColor;border:none;border-radius:50%;box-shadow:none;content:"";height:8px;position:absolute;width:8px}.schematic-breaker__glyph--vertical:before{left:50%;top:0;transform:translateX(-50%)}.schematic-breaker__glyph--vertical:after{bottom:0;left:50%;transform:translateX(-50%)}.schematic-breaker__glyph--horizontal:before{left:0;top:50%;transform:translateY(-50%)}.schematic-breaker__glyph--horizontal:after{right:0;top:50%;transform:translateY(-50%)}.schematic-breaker__lever{background:currentColor;border-radius:0;box-shadow:none;position:absolute}.schematic-breaker__lever--vertical{height:30px;left:50%;top:8px;transform:translateX(-50%) rotate(55deg);width:3px}.schematic-breaker__lever--horizontal{height:3px;left:8px;top:50%;transform:translateY(-50%) rotate(55deg);width:30px}.schematic-breaker__lever--closed.schematic-breaker__lever--vertical{transform:translateX(-50%) rotate(0deg)}.schematic-breaker__lever--closed.schematic-breaker__lever--horizontal{transform:translateY(-50%) rotate(0deg)}.schematic-breaker--open{color:#b91c1c}.schematic-breaker--closed{color:#0f9d58}.schematic-anchor{height:1px;opacity:0;width:1px}.schematic-anchor--dot{align-items:center;display:flex;height:18px;justify-content:center;opacity:1;position:relative;transform:translateY(-6px);width:18px}.schematic-anchor__dot{background:#111827;border:2px solid #111827;border-radius:50%;box-shadow:0 0 0 1px #0000001f;height:14px;pointer-events:none;width:14px}.schematic-anchor--dot[data-attach=top]:before{background:#111827;border-radius:4px 4px 0 0;content:"";height:5px;left:50%;position:absolute;top:-5px;transform:translateX(-50%);width:16px}.schematic-status{background:#fff;border:1px solid #d8e0ec;border-radius:14px;box-shadow:0 12px 26px -18px #0f172a2e;color:#111827;font-size:12px;line-height:1.4;min-width:220px;padding:12px 14px}.schematic-status__line{white-space:nowrap}.schematic-status--columns{background:#0000;border:none;box-shadow:none;min-width:0;padding:0}.schematic-status__columns{display:flex;gap:12px;padding-left:10px;padding-top:4px}.schematic-status__column{border-radius:0;color:#111827;font-size:14px;line-height:1.35;margin-top:0;min-width:0;padding:0}.schematic-status__columns .schematic-status__column:nth-child(3){margin-top:20px}.schematic-status__column-title{font-weight:700;margin-bottom:4px}.schematic-status__row{font-weight:400;white-space:nowrap}.schematic-status__row-label{font-weight:500}.schematic-status__row-value{font-weight:800;margin-left:4px}.schematic-status__row-segment{margin-right:10px}.schematic-label{background:#f1f5f9;border:1px solid #d8dee9;border-radius:8px;box-shadow:0 6px 12px #0f172a0a;color:#0f172a;font-size:13px;font-weight:600;line-height:1.2;padding:6px 10px;transition:transform .15s ease,box-shadow .15s ease}.schematic-label:hover{box-shadow:0 18px 30px -12px #0f172a47;transform:translateY(-8px) scale(1.4)}.edge-green-live .react-flow__edge-path{stroke:#16a34a!important;stroke-width:2.4px;stroke-dasharray:6 4;animation:dash-green 1.1s linear infinite}.react-flow__edge-path{marker-end:none!important}.edge-red-live .react-flow__edge-path{stroke:#dc2626!important;stroke-width:2.4px;stroke-dasharray:6 4;animation:dash-red 1.1s linear infinite}@keyframes dash-green{to{stroke-dashoffset:-18}}@keyframes dash-red{to{stroke-dashoffset:-18}}.schematic-shell{grid-gap:0;display:grid;gap:0;grid-template-columns:1fr;height:100%;min-height:0;padding:0}.schematic-shell__left{background:#fff;border:none;border-radius:0;box-shadow:none;height:100%;overflow:hidden;padding:0;position:relative}.schematic-shell__right{background:#fff;border:1px solid #e5e7eb;border-radius:16px;box-shadow:0 20px 40px #0f172a0f;overflow-y:auto;padding:16px}.schematic-shell--expanded{grid-template-columns:1fr}.ops-tab{align-items:center;background:#0b6fad;border-radius:10px;color:#fff;display:inline-flex;font-size:13px;font-weight:600;margin-bottom:12px;padding:8px 14px}.ops-title{color:#0f172a;font-size:16px;font-weight:700;margin-bottom:10px}.ops-bullet{align-items:center;display:flex;font-size:13px;gap:8px;margin-bottom:6px}.device-details-container{display:flex;flex-direction:column;gap:10px;margin-top:16px}.device-detail-card{background:#fff;border:1px solid #e4e8ef;border-radius:12px;box-shadow:0 8px 16px #0f172a14;margin-top:12px;padding:12px 14px}.device-detail-card__header{font-size:14px;font-weight:700;margin-bottom:10px}.device-detail-card__grid{grid-gap:8px 12px;display:grid;gap:8px 12px;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.device-detail-card__row{display:flex;flex-direction:column;gap:2px}.device-detail-card__label{color:#5b6077;font-size:11px;text-transform:capitalize}.device-detail-card__value{color:#1f1f1f;font-size:13px;font-weight:600}.ops-dot{background:#22c55e;border-radius:50%;box-shadow:0 0 0 4px #22c55e1f;height:10px;width:10px}.ops-card-row{grid-gap:12px;display:grid;gap:12px;grid-template-columns:1fr 1fr;margin:12px 0 14px}.ops-mini-card{background:#f8fafc;border:1px solid #e5e7eb;border-radius:12px;padding:10px 12px;text-align:center}.ops-mini-card__label{color:#4b5563;font-size:12px;margin-bottom:4px}.ops-mini-card__value{color:#0f172a;font-size:18px;font-weight:700}.ops-battery-card{border:1px solid #e5e7eb;border-radius:12px;margin-bottom:10px;padding:12px}.ops-battery-card__head{align-items:center;color:#0f172a;display:flex;font-weight:600;justify-content:space-between;margin-bottom:8px}.ops-toggle{background:linear-gradient(90deg,#0b5aa4,#0a74c7);border-radius:999px;height:18px;position:relative;width:34px}.ops-toggle:after{background:#fff;border-radius:50%;box-shadow:0 2px 6px #0003;content:"";height:14px;position:absolute;right:2px;top:2px;width:14px}.ops-metrics{grid-gap:6px;display:grid;gap:6px;grid-template-columns:repeat(2,minmax(0,1fr))}.ops-metric{color:#4b5563;font-size:12px}.ops-metric__value{color:#111827;display:block;font-weight:700}.schematic-toolbar{cursor:grab;display:flex;gap:8px;position:absolute;right:10px;top:50px;z-index:10}.schematic-toolbar button{background:#fff;border:1px solid #d4d4d8;border-radius:8px;box-shadow:0 8px 16px #0f172a14;color:#0f172a;cursor:pointer;font-size:12px;padding:6px 10px}.schematic-expand-toggle{background:#0b6fad;border-color:#0b6fad;color:#fff}@media (max-width:1200px){.schematic-shell{grid-template-columns:1fr;height:auto}}.schematic-board{background:radial-gradient(circle at 20% 20%,#6391d60a,#0000 32%),radial-gradient(circle at 80% 0,#009c740a,#0000 28%),#f7f9fc;border:1px solid #e5e7eb;border-radius:20px;box-shadow:0 18px 40px #0f172a14;height:100%;padding:16px}.schematic-stage{height:100%;overflow:auto;position:relative}.schematic-canvas{background:#fff;min-height:850px;min-width:1280px;position:relative}.schematic-grid{inset:0;pointer-events:none;position:absolute;z-index:0}.schematic-nodes{inset:0;z-index:1}.schematic-node,.schematic-nodes{position:absolute}.schematic-device{align-items:center;display:flex;flex-direction:column;gap:6px;justify-content:center;padding:10px 14px;text-align:center}.schematic-device__icon-image{height:60px;object-fit:contain;width:80px}.schematic-device__text{display:flex;flex-direction:column;gap:2px}.schematic-device__title{color:#0f172a;font-size:13px;font-weight:700}.schematic-device__subtitle{color:#4b5563;font-size:12px}.schematic-device--clickable{cursor:pointer;transition:transform .12s ease,box-shadow .12s ease}.schematic-device--clickable:hover{box-shadow:0 6px 18px -12px #00000059;transform:translateY(-2px)}.schematic-meter{--schematic-meter-font-bump:6px;background:none;border:none;border-radius:0;box-shadow:none;padding:8px 10px;transition:transform .15s ease,box-shadow .15s ease}.schematic-meter--compact{padding:8px 10px}.schematic-meter__title{color:#0f172a;font-size:calc(13px + var(--schematic-font-bump) + var(--schematic-meter-font-bump));font-weight:800;margin-bottom:6px}.schematic-meter__line{align-items:baseline;color:#0f172a;display:flex;font-size:calc(12px + var(--schematic-font-bump) + var(--schematic-meter-font-bump));gap:6px;letter-spacing:.01em;line-height:1.25}.schematic-meter__line:not(:last-child){margin-bottom:4px}.schematic-status-card{background:none;border:none;border-radius:0;box-shadow:none;color:#0f172a;font-size:calc(16px + var(--schematic-font-bump));line-height:1.5;min-width:260px;padding:0}.schematic-status-card__line{white-space:nowrap}.schematic-label-pill{align-items:center;background:#f1f5f9;border:1px solid #d8dee9;border-radius:12px;box-shadow:0 6px 12px #0f172a0f;color:#0f172a;display:flex;font-size:12px;font-weight:700;justify-content:center;padding:8px 14px}.schematic-edge{stroke:#64748b;stroke-width:2;fill:none}.schematic-edge.edge-green-live{stroke:#0f9d58;stroke-dasharray:7 5}.schematic-edge.edge-red-live{stroke:#ef4444;stroke-dasharray:7 5}.schematic-loading{align-items:center;display:flex;height:100%;justify-content:center}.schematic-shell .react-flow__controls button{font-size:12px;height:32px;min-width:32px;width:32px}.cardDetail{align-items:center;background-color:#fff;border:2px solid grey;border-radius:5px;box-shadow:0 4px 8px #0003;display:flex;flex-direction:column;justify-content:center;margin:5px;padding:5px;width:115px}.cardDetail p{color:#3e4958;font-size:11px;font-weight:600;margin-bottom:1px}.paramterDiv{height:300px;overflow-x:hidden;overflow-y:auto;scrollbar-width:thin;width:105%}.paramterDiv::-webkit-scrollbar{width:5px}.userdetail .paramterDiv .css-10botns-MuiInputBase-input-MuiFilledInput-input,.userdetail .paramterDiv .css-d9oaum-MuiSelect-select-MuiInputBase-input-MuiFilledInput-input{padding-top:10px!important}.parametrButton{padding:0}.paramterDiv .css-17gq4vl,.paramterDiv .css-2bxn45{padding:10px 12px 8px!important}.swal2-container{z-index:1560!important}.stepperlabel{display:block!important}.stepperlabel span{justify-content:center!important;margin-top:10px!important}.userdetail{width:100%!important}.userdetail h6{border-bottom:1px solid #eeeef0;border-top:1px solid #eeeef0;font-weight:700;margin:30px 0!important}.modelDialog{padding:30px 40px!important;width:330px!important}.MuiStepConnector-lineHorizontal{margin-top:-10px!important}.selectType{background-color:#f7dece;color:#fd883b!important;font-size:12px;margin:0 10px;padding:2px}option{margin:10px!important;padding:20px 10px!important;text-transform:capitalize}.css-1u4zpwo-MuiSvgIcon-root-MuiStepIcon-root.Mui-active{color:#5570f1!important}.H1{font-size:20px;font-weight:500;padding:20px 0 10px 5px}.btns{display:flex;gap:65px;justify-content:center;margin-top:20px}#backBtn{background:#0000001f;background:var(--action-disabled-background,#0000001f);border:none;border-radius:4px;border-radius:var(--borderRadius,4px)}#backBtn,#nextBtn{align-items:center;display:flex;font-family:Inter;font-size:18px;font-style:normal;font-weight:500;gap:5px;height:44px;padding:10px;width:158px}#nextBtn{background:#5570f1;background:var(--Primary,#5570f1);border:none;border-radius:4px;color:#fff}.heirarchy{margin:30px 0 40px 8px}div.dashboard-battery-analytics-page{padding:15px}.dashboard-battery-analytics-page .dhb-dashboard-row{display:flex;flex-wrap:wrap;gap:16px}.dashboard-battery-analytics-page .dhb-dashboard-col-3{box-sizing:border-box;flex:1 1 30%;min-width:150px;padding:16px}.dashboard-battery-analytics-page .dhb-dashboard-col-2{box-sizing:border-box;flex:1 1 48%;min-width:150px;padding:16px}.dashboard-battery-analytics-page .dhb-dashboard-col-2-20p{box-sizing:border-box;flex:1 1 18%;min-width:150px;padding:16px}.dashboard-battery-analytics-page .dhb-dashboard-col-2-30p{box-sizing:border-box;flex:1 1 28%;min-width:150px;padding:16px}.dashboard-battery-analytics-page .dhb-dashboard-col-2-40p{box-sizing:border-box;flex:1 1 38%;min-width:150px;padding:16px}.dashboard-battery-analytics-page .dhb-dashboard-col-2-50p{box-sizing:border-box;flex:1 1 48%;min-width:150px;padding:16px}.dashboard-battery-analytics-page .dhb-dashboard-col-2-60p{box-sizing:border-box;flex:1 1 58%;min-width:150px;padding:16px}.dashboard-battery-analytics-page .metric-card:before{background:#dbeafe;background:var(--metric-bubble,#dbeafe);border-radius:50%;content:"";height:100px;opacity:.4;position:absolute;right:-25px;top:-40px;width:100px;z-index:0}.dashboard-battery-analytics-page .metric-icon{background:#0000;border-radius:0;color:#93c5fd;color:var(--metric-icon,#93c5fd);display:inline-flex;height:30px;justify-content:center;place-items:center;position:absolute;right:16px;top:12px;width:30px;z-index:2}.dashboard-battery-analytics-page .metric-card--red{--metric-bubble:#ffeded;--metric-icon:#d33434}.dashboard-battery-analytics-page .metric-icon img{display:inline;height:30px;width:30px}.linear-pill-bar{align-items:center;display:flex;font-family:sans-serif;gap:8px;margin-bottom:25px}.linear-pill-bar-label{color:#333;font-size:12px}.linear-pill-bar-wrapper{background:#eee;border-radius:10px;flex:1 1;height:30px;overflow:hidden;position:relative}.linear-pill-bar-fill{background:#c28e36;border-radius:10px 0 0 10px;height:100%;left:0;position:absolute;top:0;transition:width .3s ease}.linear-pill-bar-max,.linear-pill-bar-min{color:#333;font-size:12px}.bidirectional-pill-bar{align-items:center;display:flex;font-family:sans-serif;gap:8px;margin-bottom:25px}.bidirectional-pill-bar-label{color:#333;font-size:12px}.bidirectional-pill-bar-label.left{margin-right:8px}.bidirectional-pill-bar-label.right{margin-left:8px}.bidirectional-pill-bar-wrapper{flex:1 1;height:30px;position:relative}.bidirectional-pill-bar-bg{background:#eee;border-radius:10px;bottom:0;left:0;position:absolute;right:0;top:0}.bidirectional-pill-bar-center{background:#000;bottom:0;height:100%;left:50%;position:absolute;top:0;transform:translateX(-50%);width:2px}.bidirectional-pill-bar-fill{background:#2f7ae0;height:100%;position:absolute;top:0;transform-origin:left}.bidirectional-pill-bar-zero{font-size:12px;font-weight:700;left:50%;margin-top:4px;position:absolute;top:100%;transform:translateX(-50%)}ul.power-factors-legend{font-size:.9rem;margin:0;padding:0}ul.power-factors-legend li{margin:0;padding:0}ul.power-factors-legend li.power-factors-legend-critical::marker{color:red;font-size:2em}ul.power-factors-legend li.power-factors-legend-warning::marker{color:orange;font-size:2em}ul.power-factors-legend li.power-factors-legend-normal::marker{color:#52b202;font-size:2em}.dashboard-battery-analytics-page .recharts-default-legend{display:inline-block;list-style:disc;margin:0;padding-left:20px}.dashboard-battery-analytics-page .recharts-legend-item{display:inline-block;vertical-align:middle}.dashboard-battery-analytics-page .metric-title{font-size:20px;margin:0}.dashboard-battery-analytics-page .recharts-legend-item .recharts-legend-icon{display:none}.dashboard-battery-analytics-page .recharts-legend-item{color:inherit;margin-right:10px}.dashboard-battery-analytics-page .chart-head__controls{margin-top:15px}#root,body,html{height:100%}body{background:#f4f5fa;background:var(--main-background,#f4f5fa);margin:0;overflow-x:hidden;padding:0}.App{display:flex;flex-direction:column;min-height:100vh}main{box-sizing:border-box;flex:1 1;padding:80px 10px 0;width:100%}.data-grid ul{list-style:none;padding-left:0}.data-grid li{margin-bottom:10px}.hide-scrollbar::-webkit-scrollbar{display:none}.dataGridSearch{border:2px solid #3a3a3b;border-radius:8px;font-size:small;height:40px;margin:19px;outline:none;padding:.1rem .1rem .1rem 20px;width:75%}.dataGridSearch:focus{border:2px solid #4d90fe;outline:none}.searchContainerDatagrid{margin-left:-2px;position:relative}.myTypography{color:#2e2b2b;font-family:Arial;font-size:22px!important;font-weight:700!important;text-transform:capitalize!important}.parentContainer{align-items:stretch;display:flex;flex-direction:column}.myStack{align-items:center;background-color:#fff;border-radius:16px;box-shadow:0 0 2px 0 #919eab14,0 12px 24px -4px #919eab14;display:flex;justify-content:space-between;margin:0 auto;padding:15px 15px 5px 0;width:100%}.delete-button{background-color:initial!important;border:2.5px solid #e36c51!important;border-radius:6px!important;color:#e36c51!important;height:30px!important;min-width:0!important;padding:0!important;width:30px!important}.info-button{border:2.5px solid #2586d5!important;border-radius:6px!important;color:#2586d5!important}.edit-button,.info-button{background-color:initial!important;height:30px!important;margin-right:6px!important;min-width:0!important;padding:0!important;width:30px!important}.edit-button{border:2.5px solid #087e2b!important;border-radius:6px!important;box-shadow:0 2px 2px 1px #8cb7904d!important;color:#087e2b!important}.chipInfo{padding:0 15px}.chips{background-color:#f5f0f033!important;border:2px solid #c1b9b980!important;margin:0 5px 6px 0!important}.roleChip{background:linear-gradient(90deg,#89aacb,#a2d9ce)!important;color:#0f4f8f!important;font-weight:600!important}.user-group-container{align-items:center;display:flex;margin-bottom:8px;margin-top:-13px}.user-group-container img{margin-right:8px}.profile-drawer{background:linear-gradient(180deg,#fff,#f7f9fc);border-left:1px solid #e5e9f2;box-shadow:-8px 0 24px #0f4f8f26;display:flex;flex-direction:column;max-width:92vw;min-height:100vh;position:relative;width:340px}.profile-scroll{flex:1 1;overflow-y:auto;padding:22px 16px 96px}.profile-header{align-items:center;display:flex;flex-direction:column;gap:10px;margin:12px 0 6px}.profile-meta{max-width:100%;overflow:hidden;text-align:center}.profile-email{color:#1f2937;font-size:15px;font-weight:600;margin-bottom:6px;word-break:break-all}.roleChip{letter-spacing:.5px;padding:0 6px!important;text-transform:uppercase}.profile-section{padding:12px 2px 4px}.section-header{gap:8px;justify-content:space-between}.section-header,.section-title{align-items:center;display:flex}.section-title{color:#0f172a;font-weight:600;gap:6px}.CountChips{background:#e9f2ff!important;border-radius:12px!important;color:#0f4f8f!important;font-weight:600!important}.subtext-chip{color:#6b7280;font-size:12px}.chips-grid{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px}.project-chip{background-color:#eef4ff!important;border-color:#d6e0ff!important;color:#1d4ed8!important;font-weight:600!important}.project-list{list-style:none;margin:10px 0 0;max-height:400px;overflow-y:auto;padding:0 0 14px;scrollbar-color:#c7d2fe #0000;scrollbar-width:thin}.project-list::-webkit-scrollbar{width:6px}.project-list::-webkit-scrollbar-thumb{background:#c7d2fe;border-radius:10px}.project-list-item{align-items:center;color:#0f4f8f;display:flex;font-weight:600;gap:10px;padding:8px 10px}.project-dot{background:#4f46e5;border-radius:50%;box-shadow:0 0 0 4px #4f46e514;flex-shrink:0;height:10px;width:10px}.project-name{flex:1 1;word-break:break-word}.muted-text{color:#9ca3af;font-size:13px}.show-toggle{align-self:flex-start;color:#0f4f8f!important;display:inline-block;font-weight:600!important;margin-top:12px!important;padding-left:0!important;text-transform:none!important}.logout-cta{background:linear-gradient(180deg,#fffc,#f2f4f8);bottom:0;left:0;padding:10px;position:absolute;right:0}.logout-cta .MuiButton-root{border-radius:10px;box-shadow:0 12px 20px #ef404040;font-weight:700}.profile-drawer .MuiDivider-root{margin:10px 0}