/*! tailwindcss v4.2.1 | MIT License | https://tailwindcss.com */
@layer theme{:root,:host{--font-sans:ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji";--font-mono:ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace;--spacing:.25rem;--default-font-family:var(--font-sans);--default-mono-font-family:var(--font-mono)}}@layer base{*,:after,:before{box-sizing:border-box;border:0 solid;margin:0;padding:0}::backdrop{box-sizing:border-box;border:0 solid;margin:0;padding:0}::file-selector-button{box-sizing:border-box;border:0 solid;margin:0;padding:0}html,:host{-webkit-text-size-adjust:100%;tab-size:4;line-height:1.5;font-family:var(--default-font-family,ui-sans-serif, system-ui, sans-serif, "Apple Color Emoji", "Segoe UI Emoji", "Segoe UI Symbol", "Noto Color Emoji");font-feature-settings:var(--default-font-feature-settings,normal);font-variation-settings:var(--default-font-variation-settings,normal);-webkit-tap-highlight-color:transparent}hr{height:0;color:inherit;border-top-width:1px}abbr:where([title]){-webkit-text-decoration:underline dotted;text-decoration:underline dotted}h1,h2,h3,h4,h5,h6{font-size:inherit;font-weight:inherit}a{color:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;-webkit-text-decoration:inherit;text-decoration:inherit}b,strong{font-weight:bolder}code,kbd,samp,pre{font-family:var(--default-mono-font-family,ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", "Courier New", monospace);font-feature-settings:var(--default-mono-font-feature-settings,normal);font-variation-settings:var(--default-mono-font-variation-settings,normal);font-size:1em}small{font-size:80%}sub,sup{vertical-align:baseline;font-size:75%;line-height:0;position:relative}sub{bottom:-.25em}sup{top:-.5em}table{text-indent:0;border-color:inherit;border-collapse:collapse}:-moz-focusring{outline:auto}progress{vertical-align:baseline}summary{display:list-item}ol,ul,menu{list-style:none}img,svg,video,canvas,audio,iframe,embed,object{vertical-align:middle;display:block}img,video{max-width:100%;height:auto}button,input,select,optgroup,textarea{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}::file-selector-button{font:inherit;font-feature-settings:inherit;font-variation-settings:inherit;letter-spacing:inherit;color:inherit;opacity:1;background-color:#0000;border-radius:0}:where(select:is([multiple],[size])) optgroup{font-weight:bolder}:where(select:is([multiple],[size])) optgroup option{padding-inline-start:20px}::file-selector-button{margin-inline-end:4px}::placeholder{opacity:1}@supports (not ((-webkit-appearance:-apple-pay-button))) or (contain-intrinsic-size:1px){::placeholder{color:currentColor}@supports (color:color-mix(in lab, red, red)){::placeholder{color:color-mix(in oklab, currentcolor 50%, transparent)}}}textarea{resize:vertical}::-webkit-search-decoration{-webkit-appearance:none}::-webkit-date-and-time-value{min-height:1lh;text-align:inherit}::-webkit-datetime-edit{display:inline-flex}::-webkit-datetime-edit-fields-wrapper{padding:0}::-webkit-datetime-edit{padding-block:0}::-webkit-datetime-edit-year-field{padding-block:0}::-webkit-datetime-edit-month-field{padding-block:0}::-webkit-datetime-edit-day-field{padding-block:0}::-webkit-datetime-edit-hour-field{padding-block:0}::-webkit-datetime-edit-minute-field{padding-block:0}::-webkit-datetime-edit-second-field{padding-block:0}::-webkit-datetime-edit-millisecond-field{padding-block:0}::-webkit-datetime-edit-meridiem-field{padding-block:0}::-webkit-calendar-picker-indicator{line-height:1}:-moz-ui-invalid{box-shadow:none}button,input:where([type=button],[type=reset],[type=submit]){-webkit-appearance:button;appearance:button}::file-selector-button{-webkit-appearance:button;appearance:button}::-webkit-inner-spin-button{height:auto}::-webkit-outer-spin-button{height:auto}[hidden]:where(:not([hidden=until-found])){display:none!important}}@layer components;@layer utilities{.static{position:static}.start{inset-inline-start:var(--spacing)}}:root{--ink:#15201d;--ink-2:#26322e;--paper:#f3f3ee;--card:#fbfcf8;--line:#dfe3dc;--muted:#77817c;--lime:#c9f56b;--lime-dark:#6d9524;--blue:#9fc6ff;--coral:#ff8e7e;--violet:#c7b7ff;--amber:#f1cb6b;--shadow:0 14px 38px #17231f12}*{box-sizing:border-box}html{background:var(--paper);color:var(--ink);font-family:var(--font-geist-sans), Arial, sans-serif}body{background:var(--paper);min-width:320px;color:var(--ink);font-family:var(--font-geist-sans), Arial, sans-serif;margin:0}button,input{font:inherit}button{color:inherit}:is(button:focus-visible,input:focus-visible){outline-offset:2px;outline:3px solid #4770f447}.app-shell{min-height:100vh}.side-panel{z-index:40;color:#edf2ec;background:radial-gradient(circle at 20% 12%,#c9f56b14,#0000 24%),#14201d;border-right:1px solid #ffffff14;flex-direction:column;width:238px;padding:28px 20px 22px;display:flex;position:fixed;inset:0 auto 0 0}.brand-block{align-items:center;gap:12px;padding:0 7px 28px;display:flex}.brand-mark{color:#14201d;background:var(--lime);border-radius:12px;place-items:center;width:38px;height:38px;display:grid;box-shadow:0 0 0 5px #c9f56b14}.brand-block strong,.brand-block span{display:block}.brand-block strong{letter-spacing:-.02em;font-size:16px}.brand-block span{color:#8f9d96;letter-spacing:.13em;text-transform:uppercase;margin-top:2px;font-size:10px;font-weight:700}.main-nav{gap:5px;display:grid}.nav-item{color:#98a69f;cursor:pointer;text-align:left;background:0 0;border:0;border-radius:12px;align-items:center;gap:12px;width:100%;min-height:44px;padding:0 13px;transition:all .16s;display:flex}.nav-item:hover{color:#fff;background:#ffffff0d}.nav-item--active{color:#fff;box-shadow:inset 3px 0 0 var(--lime);background:#ffffff14}.nav-item span{flex:1;font-size:13px;font-weight:650}.nav-item b{min-width:23px;height:23px;color:var(--ink);background:var(--lime);border-radius:8px;place-items:center;font-size:10px;display:grid}.side-spacer{flex:1}.controller-card{background:#ffffff0e;border:1px solid #ffffff14;border-radius:14px;margin-top:14px;padding:14px}.controller-card__top{color:#8f9d96;letter-spacing:.08em;text-transform:uppercase;align-items:center;gap:7px;font-size:10px;font-weight:700;display:flex}.controller-card__top span{flex:1}.connection-dot{background:#9da7a2;border-radius:999px;width:7px;height:7px}.connection-dot--live{background:var(--lime);box-shadow:0 0 0 4px #c9f56b1a}.connection-dot--error,.connection-dot--offline{background:var(--coral)}.controller-card>strong{margin:11px 0 9px;font-size:14px;display:block}.controller-card>button{color:#9eaaa4;cursor:pointer;background:0 0;border:0;justify-content:space-between;align-items:center;width:100%;padding:0;font-size:11px;display:flex}.workspace{min-height:100vh;margin-left:238px}.topbar{z-index:30;-webkit-backdrop-filter:blur(14px);backdrop-filter:blur(14px);background:#f3f3eee0;border-bottom:1px solid #d3d8d0e6;justify-content:space-between;align-items:center;min-height:70px;padding:0 36px;display:flex;position:sticky;top:0}.crumb,.topbar__right,.clock,.connection-pill{align-items:center;display:flex}.crumb{color:#53605a;gap:8px;font-size:14px;font-weight:600}.crumb strong{color:var(--ink)}.topbar__right{gap:13px}.clock{color:#46534d;font-family:var(--font-geist-mono), monospace;gap:7px;font-size:14px;font-weight:650}.connection-pill{color:#3f4c46;cursor:pointer;background:#e9ebe5;border:1px solid #daddd6;border-radius:999px;gap:8px;min-height:38px;padding:0 14px;font-size:13px;font-weight:700}.connection-pill--live{color:#39530b;background:#e7f6c8;border-color:#cceaa0}.connection-pill--error,.connection-pill--offline{color:#8e342c;background:#ffe3de;border-color:#ffc7bd}.content{max-width:1600px;margin:0 auto;padding:38px 36px 72px}.overview-head{justify-content:space-between;align-items:flex-end;gap:30px;display:flex}.eyebrow{color:#405442;letter-spacing:.1em;text-transform:uppercase;align-items:center;gap:8px;margin-bottom:8px;font-size:12px;font-weight:750;display:flex}.eyebrow span{background:#8cc63f;border:2px solid #d9efb8;border-radius:999px;width:8px;height:8px;box-shadow:0 0 0 3px #e5f3d1}.overview-head h1{color:var(--ink);letter-spacing:-.055em;margin:0;font-size:clamp(32px,3vw,45px);font-weight:720;line-height:1.04}.overview-head p{color:#4d5a54;margin:10px 0 0;font-size:16px;font-weight:520}.overview-head__actions{gap:9px;display:flex}.icon-button,.primary-button{cursor:pointer;border:1px solid #d5dad2;border-radius:11px;justify-content:center;align-items:center;gap:8px;min-height:46px;padding:0 16px;font-size:14px;font-weight:700;display:inline-flex}.icon-button{background:#fafbf7;width:42px;padding:0}.primary-button{color:#f7faf5;background:var(--ink);border-color:var(--ink);box-shadow:0 8px 20px #15201d26}.primary-button:disabled{cursor:progress;opacity:.7}.summary-grid{grid-template-columns:repeat(4,minmax(0,1fr));gap:13px;margin:28px 0 18px;display:grid}.summary-card{background:var(--card);border:1px solid var(--line);border-radius:16px;align-items:center;gap:15px;min-height:124px;padding:19px;display:flex;position:relative;overflow:hidden;box-shadow:0 8px 25px #17231f09}.summary-card__icon{border-radius:13px;flex:none;place-items:center;width:47px;height:47px;display:grid}.summary-card__icon svg{width:22px;height:22px}.summary-card--lime .summary-card__icon{background:var(--lime)}.summary-card--blue .summary-card__icon{background:var(--blue)}.summary-card--coral .summary-card__icon{color:#b43a2e;background:#ffd0c9}.summary-card--ink .summary-card__icon{background:var(--ink);color:var(--lime)}.summary-card__copy{min-width:0}.summary-card__copy>span{color:#3f4c46;margin-bottom:2px;font-size:14px;font-weight:700;display:block}.summary-card__copy>div{align-items:baseline;gap:5px;display:flex}.summary-card__copy strong{letter-spacing:-.05em;font-size:33px;font-weight:720;line-height:1.05}.summary-card__copy b{color:#3f4c46;font-size:14px}.summary-card__copy p{color:#53605a;margin:3px 0 0;font-size:12px;font-weight:560}.filter-panel{background:#e7eae4;border:1px solid #ccd2ca;border-radius:16px;margin-bottom:27px}.type-tabs{scrollbar-width:none;border-bottom:1px solid #d9ddd6;gap:4px;padding:7px;display:flex;overflow-x:auto}.type-tabs button{color:#414e48;cursor:pointer;background:0 0;border:0;border-radius:10px;flex:1 0 auto;justify-content:center;align-items:center;gap:7px;min-height:44px;padding:0 15px;font-size:13px;font-weight:700;transition:all .15s;display:flex}.type-tabs button:hover{color:var(--ink);background:#ffffff73}.type-tabs button.active{color:var(--ink);background:#fbfcf8;box-shadow:0 2px 10px #18252014}.type-tabs button span{color:#4b5751;background:#d8ddd5;border-radius:6px;place-items:center;min-width:23px;height:23px;font-size:11px;font-weight:750;display:grid}.type-tabs button.active span{color:#365404;background:#dff3b4}.filter-row{justify-content:space-between;align-items:center;gap:16px;min-height:62px;padding:8px 9px 8px 15px;display:flex}.status-filters{align-items:center;gap:5px;display:flex}.status-filters button{color:#4c5953;cursor:pointer;background:0 0;border:0;border-radius:8px;min-height:36px;padding:0 12px;font-size:12px;font-weight:700}.status-filters button.active{color:var(--ink);background:#f9faf6}.search-box{color:#4f5c56;background:#f9faf6;border:1px solid #d6dbd3;border-radius:10px;align-items:center;gap:8px;width:min(250px,32vw);min-height:42px;padding:0 10px;display:flex}.search-box input{min-width:0;color:var(--ink);background:0 0;border:0;outline:0;flex:1;font-size:13px;font-weight:550}.search-box input::placeholder{color:#65716b;opacity:1}.search-box button{color:#87918c;cursor:pointer;background:0 0;border:0;border-radius:7px;place-items:center;width:24px;height:24px;padding:0;display:grid}.tray-list{gap:31px;display:grid}.tray__head{align-items:center;gap:12px;margin-bottom:13px;display:flex}.tray-icon{border-radius:12px;flex:none;place-items:center;width:39px;height:39px;display:grid}.tray-icon--lime{background:#ddf5a8}.tray-icon--blue{background:#dceaff}.tray-icon--violet{background:#e7e0ff}.tray-icon--amber{background:#f8e8b9}.tray__head>div:nth-child(2){min-width:210px}.tray__title{align-items:center;gap:9px;display:flex}.tray__title h2{letter-spacing:-.02em;margin:0;font-size:15px;font-weight:720}.tray__title span{color:#6d7771;background:#e5e8e1;border-radius:7px;padding:4px 7px;font-size:9px;font-weight:700}.tray__head p{color:#87908b;align-items:center;gap:7px;margin:4px 0 0;font-size:10px;display:flex}.tray__head p i{background:#a6aea9;border-radius:999px;width:3px;height:3px}.tray__line{background:#dde1da;flex:1;height:1px}.tray__head>button{color:#78827d;cursor:pointer;background:0 0;border:1px solid #d9ddd6;border-radius:10px;place-items:center;width:34px;height:34px;display:grid}.cell-grid{grid-template-columns:repeat(5,minmax(0,1fr));gap:10px;display:grid}.cell-card{background:var(--card);border:1px solid var(--line);cursor:pointer;text-align:left;border-radius:14px;min-height:214px;padding:0;transition:transform .17s,box-shadow .17s,border-color .17s;position:relative;overflow:hidden;box-shadow:0 8px 25px #17231f09}.cell-card:hover{z-index:2;box-shadow:var(--shadow);border-color:#bfc7be;transform:translateY(-3px)}.cell-card:before{content:"";background:#d9ddd7;width:3px;position:absolute;inset:0 auto 0 0}.cell-card--charging:before{background:#6ea9ff}.cell-card--ready:before{background:#9ed743}.cell-card--attention:before{background:var(--coral)}.cell-card--checking:before{background:#a792f7}.cell-card--handling:before{background:#e6b64f}.cell-card--disabled:before{background:#929c97}.cell-card--offline:before{background:#b8bfbb}.cell-card__top{border-bottom:1px solid #eef0eb;justify-content:space-between;align-items:center;gap:8px;min-height:61px;padding:9px 10px 8px 13px;display:flex}.cell-id{align-items:center;gap:7px;min-width:0;display:flex}.cell-id>span{color:#617069;width:31px;height:31px;font-family:var(--font-geist-mono), monospace;background:#eef0eb;border-radius:8px;flex:none;place-items:center;font-size:11px;font-weight:700;display:grid}.cell-id strong,.cell-id small{display:block}.cell-id strong{text-overflow:ellipsis;white-space:nowrap;font-size:14px;font-weight:720;overflow:hidden}.cell-id small{color:#59655f;margin-top:2px;font-size:11px}.status-badge{color:#68736d;letter-spacing:.04em;text-transform:uppercase;background:#eef0eb;border-radius:6px;flex:none;align-items:center;gap:4px;min-height:25px;padding:0 6px;font-size:10px;font-weight:760;display:flex}.status-badge i{background:#969f9a;border-radius:999px;width:5px;height:5px}.cell-card--charging .status-badge{color:#2e5f9e;background:#e3efff}.cell-card--charging .status-badge i{background:#679fe8;box-shadow:0 0 0 3px #679fe81f}.cell-card--ready .status-badge{color:#41600a;background:#e6f6c9}.cell-card--ready .status-badge i{background:#8fc936}.cell-card--attention .status-badge{color:#a63a2d;background:#ffe6e1}.cell-card--attention .status-badge i{background:#ee7564}.cell-card--checking .status-badge{color:#5d4a9e;background:#ece8ff}.cell-card--checking .status-badge i{background:#947def}.cell-card--handling .status-badge{color:#7b5914;background:#fff2cf}.cell-card--handling .status-badge i{background:#dcaa3d}.cell-card--offline .status-badge{color:#64706a;background:#edf0ee}.cell-card--offline .status-badge i{background:#aab3ae}.cell-card__body{grid-template-columns:67px 1fr;align-items:center;gap:9px;padding:11px 10px 9px 13px;display:grid}.soc-ring{--ring-color:#a4da50;background:conic-gradient(var(--ring-color) var(--soc-angle), #e8ebe5 0);border-radius:999px;place-items:center;width:63px;height:63px;display:grid;position:relative}.cell-card--charging .soc-ring{--ring-color:#76abed}.cell-card--ready .soc-ring{--ring-color:#9ed743}.cell-card--attention .soc-ring{--ring-color:#ee806f}.cell-card--checking .soc-ring{--ring-color:#a38dec}.cell-card--disabled .soc-ring{--ring-color:#aeb6b1}.cell-card--offline .soc-ring{--ring-color:#c4cbc7}.soc-ring:after{background:var(--card);border-radius:inherit;content:"";position:absolute;inset:5px}.soc-ring>div{z-index:1;align-items:baseline;display:flex;position:relative}.soc-ring strong{letter-spacing:-.06em;font-size:21px;font-weight:730}.soc-ring span{color:#52605a;margin-left:2px;font-size:10px;font-weight:700}.soc-ring small{color:#66726c;letter-spacing:.08em;font-size:9px;font-weight:750;position:absolute;top:26px;left:50%;transform:translate(-50%)}.telemetry{min-width:0;margin:0}.telemetry>div{border-bottom:1px solid #edf0ea;grid-template-columns:1fr auto;align-items:center;padding:5px 0;display:grid}.telemetry>div:last-child{border-bottom:0}.telemetry dt{color:#53615a;align-items:center;gap:3px;font-size:11px;display:flex}.telemetry dd{font-family:var(--font-geist-mono), monospace;margin:0;font-size:13px;font-weight:700}.telemetry dd small{color:#606c66;font-size:10px;font-weight:500}.cell-progress{background:#eaede7;border-radius:999px;height:3px;margin:0 10px 0 13px;overflow:hidden}.cell-progress span{border-radius:inherit;background:#a2d94e;height:100%;transition:width .6s;display:block}.cell-card--charging .cell-progress span{background:#76abed}.cell-card--ready .cell-progress span{background:#9ed743}.cell-card--attention .cell-progress span{background:#ee806f}.cell-card--checking .cell-progress span{background:#a38dec}.cell-card--disabled .cell-progress span{background:#aeb6b1}.cell-card--offline .cell-progress span{background:#c4cbc7}.cell-card__bottom{color:#53615a;justify-content:space-between;align-items:center;gap:10px;min-height:40px;padding:7px 10px 7px 13px;font-size:11px;display:flex}.cell-card__bottom>span{text-overflow:ellipsis;white-space:nowrap;align-items:center;gap:6px;min-width:0;display:flex;overflow:hidden}.cell-card__bottom .fault-text{color:#b24b3e;font-weight:650}.cell-card__bottom .done-text{color:#527b13;font-weight:650}.free-state{color:#64706a;flex-direction:column;justify-content:center;align-items:center;min-height:136px;display:flex}.free-state>div{color:#9aa49f;background:#eef0eb;border:1px dashed #cbd1c9;border-radius:15px;place-items:center;width:42px;height:42px;margin-bottom:9px;display:grid}.free-state strong{color:#4f5d56;font-size:14px}.free-state span{margin-top:3px;font-size:11px}.handling-state>div{color:#946b16;background:#fff6dc;border-color:#e8c875}.handling-state strong{color:#755719}.handling-state--loaded .loaded-battery-icon{border-style:solid;position:relative}.loaded-battery-icon i{color:#fffdf7;background:#d9a52f;border:2px solid #fff6dc;border-radius:999px;place-items:center;width:18px;height:18px;display:grid;position:absolute;bottom:-4px;right:-5px;box-shadow:0 2px 5px #75571933}.handling-state--loaded>span{color:#9a782b}.telemetry-missing-state{text-align:center;min-height:148px;padding:14px}.telemetry-missing-state span{max-width:250px;line-height:1.45}.empty-result{color:#8c9691;text-align:center;background:#f8f9f5;border:1px dashed #cfd5cc;border-radius:18px;align-content:center;place-items:center;min-height:300px;padding:35px;display:grid}.empty-result h2{color:var(--ink);margin:12px 0 4px;font-size:18px}.empty-result p{margin:0 0 16px;font-size:12px}.empty-result button{color:#3f5b0e;cursor:pointer;background:#e3f4c0;border:0;border-radius:9px;padding:9px 13px;font-size:11px;font-weight:700}.drawer-layer,.modal-layer{z-index:80;-webkit-backdrop-filter:blur(3px);backdrop-filter:blur(3px);background:#121b186b;position:fixed;inset:0}.detail-drawer{background:#f8f9f5;width:min(530px,100%);padding:24px;animation:.22s ease-out both drawer-in;position:absolute;inset:0 0 0 auto;overflow-y:auto;box-shadow:-24px 0 60px #0c161229}@keyframes drawer-in{0%{opacity:0;transform:translate(24px)}}.drawer-head,.connection-modal header{align-items:center;gap:12px;display:flex}.drawer-cell-number{width:52px;height:52px;color:var(--ink);background:var(--lime);font-family:var(--font-geist-mono), monospace;border-radius:13px;flex:none;place-items:center;font-size:17px;font-weight:750;display:grid}.drawer-head>div:nth-child(2),.connection-modal header>div:nth-child(2){flex:1}.drawer-head span,.connection-modal header span{color:#56635d;letter-spacing:.08em;text-transform:uppercase;margin-bottom:2px;font-size:11px;font-weight:700;display:block}.drawer-head h2,.connection-modal header h2{letter-spacing:-.035em;margin:0;font-size:23px;font-weight:730}.close-button{color:#7c8781;cursor:pointer;background:#eceee9;border:0;border-radius:10px;flex:none;place-items:center;width:36px;height:36px;display:grid}.drawer-status{color:#53605a;background:#eceee9;border-radius:11px;align-items:center;gap:8px;min-height:49px;margin:20px 0 14px;padding:0 13px;font-size:13px;font-weight:650;display:flex}.drawer-status i{background:#929b96;border-radius:999px;width:8px;height:8px}.drawer-status span{flex:1}.drawer-status strong{font-family:var(--font-geist-mono), monospace;font-size:13px}.drawer-status--charging{color:#315f99;background:#e2eeff}.drawer-status--charging i{background:#6b9fe1}.drawer-status--ready{color:#45640e;background:#e7f6ca}.drawer-status--ready i{background:#8fc936}.drawer-status--attention{color:#a94438;background:#ffe4df}.drawer-status--attention i{background:#eb7665}.drawer-status--checking{color:#5f4aa4;background:#ebe7ff}.drawer-status--checking i{background:#957eed}.drawer-status--handling{color:#775915;background:#fff2cf}.drawer-status--handling i{background:#dcaa3d}.fault-callout,.connection-callout,.connection-error{color:#87362e;background:#ffe9e5;border:1px solid #ffd0c8;border-radius:11px;align-items:flex-start;gap:10px;margin-bottom:14px;padding:12px;display:flex}.fault-callout svg,.connection-callout svg,.connection-error svg{flex:none}.fault-callout strong,.fault-callout span{display:block}.fault-callout strong{margin-bottom:3px;font-size:14px}.fault-callout span{color:#a65d54;font-size:12px;line-height:1.45}.charge-chart,.capacity-card,.technical-block{border:1px solid var(--line);background:#fff;border-radius:14px;padding:17px}.capacity-card{background:linear-gradient(145deg,#fff,#fbfdf7);margin-bottom:10px}.capacity-card__main{justify-content:space-between;align-items:flex-end;gap:16px;margin-top:17px;display:flex}.capacity-card__main>div strong,.capacity-card__main>div span,.capacity-card__main p strong,.capacity-card__main p small{display:block}.capacity-card__main>div strong{font-family:var(--font-geist-mono), monospace;letter-spacing:-.06em;font-size:33px}.capacity-card__main>div span,.capacity-card__main p small{color:#5e6a64;margin-top:2px;font-size:11px}.capacity-card__main p{color:#526059;text-align:right;margin:0;font-size:11px;line-height:1.45}.capacity-card__main p strong{color:#3d4a44;font-family:var(--font-geist-mono), monospace;font-size:16px}.capacity-progress{background:#e8ede4;border-radius:999px;height:7px;margin-top:14px;overflow:hidden}.capacity-progress span{border-radius:inherit;background:linear-gradient(90deg,#9bd348,#c9ef78);height:100%;transition:width .5s;display:block}.capacity-card__references{grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:12px;display:grid}.capacity-card__references>div{background:#f3f5f0;border-radius:9px;padding:9px 10px}.capacity-card__references span,.capacity-card__references strong{display:block}.capacity-card__references span{color:#59665f;font-size:10px}.capacity-card__references strong{font-family:var(--font-geist-mono), monospace;margin-top:3px;font-size:13px}.section-title{justify-content:space-between;align-items:flex-start;gap:14px;display:flex}.section-title span{color:#56635d;letter-spacing:.08em;text-transform:uppercase;margin-bottom:2px;font-size:11px;font-weight:700;display:block}.section-title h3{margin:0;font-size:17px}.section-title b{color:#4f6b1a;background:#e6f5c8;border-radius:7px;padding:5px 7px;font-size:11px}.chart-area{background:repeating-linear-gradient(#0000 0 40px,#e7ebe5 41px);border-bottom:1px solid #dfe4dc;height:132px;margin-top:18px;position:relative}.profile-chart{width:calc(100% - 64px);height:calc(100% - 12px);color:var(--profile-color,#428ee1);position:absolute;inset:5px 34px 7px 30px;overflow:visible}.profile-chart__area{fill:var(--profile-fill,#428ee126)}.profile-chart__line,.profile-chart__guide,.profile-chart__current-line,.profile-chart__current-guide{fill:none;vector-effect:non-scaling-stroke}.profile-chart__line{stroke:currentColor;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round}.profile-chart__guide{opacity:.45;stroke:currentColor;stroke-width:1.2px;stroke-dasharray:4 4}.profile-chart__point{fill:#fff;stroke:currentColor;stroke-width:2.5px;vector-effect:non-scaling-stroke}.profile-chart__current-line{stroke:#dc7a28;stroke-width:2.2px;stroke-linecap:round;stroke-linejoin:round}.profile-chart__current-guide{opacity:.55;stroke:#dc7a28;stroke-width:1.2px;stroke-dasharray:4 4}.profile-chart__current-point{fill:#fff;stroke:#dc7a28;stroke-width:2.5px;vector-effect:non-scaling-stroke}.chart-axis{color:#44514b;font-family:var(--font-geist-mono), monospace;font-size:10px;position:absolute;left:0}.chart-axis--current{color:#a55318;left:auto;right:0}.chart-axis--current-max{top:-4px}.chart-axis--current-min{bottom:2px}.chart-series-legend{color:#44514b;align-items:center;gap:16px;margin-top:9px;font-size:11px;font-weight:700;display:flex}.chart-series-legend span{align-items:center;gap:6px;display:inline-flex}.series-dot{border-radius:99px;width:16px;height:3px}.series-dot--soc{background:var(--profile-color,#428ee1)}.series-dot--current{background:#dc7a28}.chart-axis--100{top:-4px}.chart-axis--50{top:calc(50% - 4px)}.chart-axis--0{bottom:2px}.chart-legend{color:#4e5b55;justify-content:space-between;margin-top:5px;font-size:11px;display:flex}.charge-chart{--profile-color:#8a9690;--profile-fill:#8a96901f}.charge-chart--active{--profile-color:#3c8fe8;--profile-fill:#3c8fe82b}.charge-chart--checking{--profile-color:#d59b2c;--profile-fill:#d59b2c24}.charge-chart--complete{--profile-color:#65a82d;--profile-fill:#65a82d26}.charge-chart--fault{--profile-color:#d0685b;--profile-fill:#d0685b24}.profile-badge{text-align:right;align-items:center;gap:5px;max-width:55%;line-height:1.25;display:inline-flex;color:#66716c!important;background:#eef1ed!important}.profile-badge i{background:currentColor;border-radius:50%;flex:none;width:6px;height:6px}.profile-badge--active{color:#256db9!important;background:#e3f0ff!important}.profile-badge--active i{animation:1.5s ease-out infinite profile-live-pulse}.profile-badge--checking{color:#9a6b14!important;background:#fff2d4!important}.profile-badge--complete{color:#4f851f!important;background:#e6f5d6!important}.profile-badge--fault{color:#a94438!important;background:#fde9e5!important}@keyframes profile-live-pulse{0%{box-shadow:0 0 #256db961}70%{box-shadow:0 0 0 6px #256db900}to{box-shadow:0 0 #256db900}}.profile-live-values{grid-template-columns:repeat(3,minmax(0,1fr));gap:7px;margin-top:13px;display:grid}.profile-live-values>div{background:#f4f6f3;border-radius:8px;padding:8px 9px}.profile-live-values span,.profile-live-values strong{display:block}.profile-live-values span{color:#59665f;font-size:10px}.profile-live-values strong{font-family:var(--font-geist-mono), monospace;margin-top:3px;font-size:14px}.profile-eta{color:#547397;background:#edf5ff;border-radius:8px;align-items:center;gap:6px;margin-top:9px;padding:8px 9px;font-size:12px;display:flex}.profile-eta strong{color:#2d619b;font-family:var(--font-geist-mono), monospace;margin-left:auto}.profile-empty{color:#56635d;background:#f5f7f4;border:1px dashed #d9dfd6;border-radius:10px;align-items:center;gap:10px;min-height:84px;margin-top:14px;padding:12px;display:flex}.profile-empty strong,.profile-empty span{display:block}.profile-empty strong{color:#3f4d46;font-size:13px}.profile-empty span{margin-top:3px;font-size:11px;line-height:1.4}.telemetry-unavailable{color:#a94438;background:#fff7f5;border:1px dashed #efb9b0;border-radius:14px;align-items:center;gap:12px;min-height:88px;padding:17px;display:flex}.telemetry-unavailable div,.telemetry-unavailable strong,.telemetry-unavailable span{display:block}.telemetry-unavailable strong{color:#7f332a;font-size:14px}.telemetry-unavailable span{color:#a65d54;margin-top:3px;font-size:11px}.metric-list{gap:7px;margin:10px 0;display:grid}.metric-row{border:1px solid var(--line);background:#fff;border-radius:12px;align-items:center;gap:10px;min-height:70px;padding:9px 12px;display:flex}.metric-row__icon{color:#4d6359;background:#edf0ea;border-radius:10px;flex:none;place-items:center;width:35px;height:35px;display:grid}.metric-row__icon svg{width:16px;height:16px}.metric-row>div:nth-child(2){flex:1}.metric-row span,.metric-row small{display:block}.metric-row span{color:#4f5d56;font-size:12px}.metric-row small{color:#637069;margin-top:2px;font-size:10px}.metric-row strong{font-family:var(--font-geist-mono), monospace;font-size:15px}.technical-block dl{margin:14px 0 0}.technical-block dl>div{border-bottom:1px solid #eef0ec;justify-content:space-between;align-items:center;gap:12px;padding:9px 0;display:flex}.technical-block dl>div:last-child{border-bottom:0}.technical-block dt{color:#53615a;font-size:12px}.technical-block dd{text-align:right;margin:0;font-size:12px;font-weight:650}.technical-block dd.ok{color:#59831a}.technical-block dd.bad{color:#b2493d}.technical-block code{font-family:var(--font-geist-mono), monospace;font-size:11px}.drawer-footer{color:#59665f;align-items:center;gap:7px;padding:14px 2px 2px;font-size:11px;display:flex}.drawer-footer i{background:#8dcc35;border-radius:999px;width:6px;height:6px;margin-left:auto}.drawer-footer--stale{color:#a65d54}.drawer-footer--stale i{background:#eb7665}.modal-layer{place-items:center;padding:20px;display:grid}.connection-modal{background:#f8f9f5;border-radius:18px;width:min(520px,100%);padding:23px;animation:.18s ease-out both modal-in;box-shadow:0 28px 80px #0a141038}@keyframes modal-in{0%{opacity:0;transform:translateY(8px)scale(.985)}}.modal-icon{width:43px;height:43px;color:var(--ink);background:var(--lime);border-radius:12px;flex:none;place-items:center;display:grid}.connection-callout{color:#3f5b4f;background:#ebf1e9;border-color:#dbe5d8;margin:19px 0 15px}.connection-callout p{margin:0;font-size:10px;line-height:1.5}.connection-callout code{color:#38520c;font-family:var(--font-geist-mono), monospace;font-size:9px}.field-label{color:#727e78;gap:6px;font-size:9px;font-weight:700;display:grid}.field-label input{width:100%;height:42px;color:var(--ink);font-family:var(--font-geist-mono), monospace;background:#fff;border:1px solid #d9ded6;border-radius:10px;outline:0;padding:0 12px;font-size:11px}.field-label input:focus{border-color:#8ebd3f;box-shadow:0 0 0 3px #8ebd3f1f}.field-grid{grid-template-columns:1fr 1fr;gap:10px;margin-top:11px;display:grid}.privacy-note{color:#939c97;margin:8px 0 0;font-size:8px}.connection-error{margin:12px 0 0;font-size:9px}.connection-modal footer{justify-content:flex-end;gap:9px;margin-top:20px;display:flex}.connect-button{min-width:130px}.button-spinner{border:2px solid #ffffff59;border-top-color:#fff;border-radius:999px;width:14px;height:14px;animation:.7s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.mobile-menu,.mobile-scrim{display:none}@media (max-width:1180px){.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.cell-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media (max-width:880px){.side-panel{width:238px;transition:transform .18s;transform:translate(-100%);box-shadow:18px 0 50px #0a120f33}.side-panel--open{transform:translate(0)}.mobile-scrim{z-index:35;background:#0c141161;border:0;display:block;position:fixed;inset:0}.workspace{margin-left:0}.mobile-menu{background:#f9faf6;border:1px solid #d9ddd6;border-radius:10px;place-items:center;width:36px;height:36px;display:grid}.topbar{padding:0 20px}.crumb{display:none}.content{padding:30px 20px 60px}}@media (max-width:660px){.connection-pill span,.clock{display:none}.connection-pill{justify-content:center;width:36px;padding:0}.overview-head{align-items:flex-start}.overview-head p{max-width:420px;line-height:1.5}.icon-button{display:none}.summary-grid{gap:9px}.summary-card{min-height:102px;padding:13px}.summary-card__icon{width:36px;height:36px}.summary-card__copy strong{font-size:25px}.filter-row{flex-direction:column;align-items:stretch}.status-filters{overflow-x:auto}.status-filters button{flex:none}.search-box{width:100%}.cell-grid{grid-template-columns:1fr}.cell-card{min-height:190px}.field-grid{grid-template-columns:1fr}.connection-modal footer{flex-direction:column-reverse}.connection-modal footer button{width:100%}}@media (max-width:430px){.content,.topbar{padding-inline:14px}.overview-head h1{font-size:32px}.overview-head__actions .primary-button{width:42px;padding:0;font-size:0}.summary-card{flex-direction:column;align-items:flex-start;gap:8px;min-height:115px}.tray__head>div:nth-child(2){min-width:0}.tray__line{display:none}.tray__head>button{margin-left:auto}.tray__head p{text-overflow:ellipsis;white-space:nowrap;overflow:hidden}.modal-layer{padding:8px}.connection-modal{padding:18px}}@media (prefers-reduced-motion:reduce){*,:before,:after{scroll-behavior:auto!important;transition-duration:.01ms!important;animation-duration:.01ms!important;animation-iteration-count:1!important}}
