:root{font-family:'DM Sans',Inter,system-ui,sans-serif;color:#f3f2f8;background:#101015;font-synthesis:none;font-optical-sizing:auto}*{box-sizing:border-box}body{margin:0;min-height:100vh;background:radial-gradient(ellipse at 48% -20%,#272333 0,transparent 48%),#101015}.topbar{height:68px;padding:0 5%;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid #27252e;background:rgba(16,16,21,.84)}.topbar form{margin:0}.brand{display:flex;align-items:center;gap:11px;color:#f3f2f8;text-decoration:none;font-family:Manrope,sans-serif;font-size:15px;font-weight:700;letter-spacing:-.3px}.brand-mark{display:grid;place-items:center;width:31px;height:31px;border-radius:10px;color:#c4a6ff;background:#8c62ef23;font-size:21px}.container{width:90%;margin:0 auto}.hero{display:flex;align-items:center;justify-content:space-between;padding:52px 0 29px}.eyebrow{color:#9b79e9;font-size:10px;letter-spacing:1.7px;font-weight:700}.hero h1,.page-heading h1{font:700 32px/1.2 Manrope,sans-serif;letter-spacing:-1.2px;margin:9px 0 7px}.muted{color:#92909d;margin:0;font-size:13px}.button{display:inline-flex;align-items:center;justify-content:center;gap:8px;padding:10px 15px;border:1px solid transparent;border-radius:8px;text-decoration:none;color:#dedbe7;font:600 12px 'DM Sans',sans-serif;cursor:pointer;white-space:nowrap}.button-primary{background:linear-gradient(135deg,#8960e9,#7349d0);color:#fff;box-shadow:0 4px 15px #6b42ce30}.button-primary:hover{filter:brightness(1.12)}.button-quiet{background:#ffffff08;border-color:#ffffff11}.button-quiet:hover{background:#ffffff12}.plus{font-size:17px;line-height:10px}.summary-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:15px;margin-bottom:38px}.summary-card{display:flex;align-items:center;gap:13px;padding:17px 19px;border:1px solid #2d2b35;background:linear-gradient(135deg,#1b1a21,#18171c);border-radius:11px}.summary-icon{width:36px;height:36px;display:grid;place-items:center;border-radius:10px;font-size:16px}.violet{color:#bd9dff;background:#9c70ff1d}.green{color:#6cd5a0;background:#50c9871a}.blue{color:#74b9fc;background:#559df51a}.summary-label{display:block;color:#9996a3;font-size:11px;margin-bottom:3px}.summary-card strong{font:700 20px Manrope,sans-serif}.section-heading{display:flex;align-items:center;justify-content:space-between;margin-bottom:13px}.section-heading>div{display:flex;align-items:center;gap:9px}.section-heading h2{font:700 17px Manrope,sans-serif;letter-spacing:-.4px;margin:0}.count-pill{border:1px solid #36333e;background:#211f27;padding:3px 8px;border-radius:20px;color:#a6a1b0;font-size:10px}.module-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.panel{border:1px solid #2d2b35;background:linear-gradient(145deg,#1b1a21,#17161b);border-radius:11px}.module-card{padding:16px;min-height:203px;display:flex;flex-direction:column}.module-top{display:flex;justify-content:space-between;align-items:center}.module-symbol{display:grid;place-items:center;width:34px;height:34px;border:1px solid #8060bf54;border-radius:9px;color:#c7aaff;background:#9064ec1b;font:700 14px Manrope,sans-serif}.status{display:flex;align-items:center;gap:6px;font-size:10px;color:#a7a4af}.status i,.live-dot{width:6px;height:6px;border-radius:50%;background:#51cb8b;box-shadow:0 0 8px #51cb8b66}.status-warning i{background:#e9b65c;box-shadow:0 0 8px #e9b65c66}.status-warning{color:#e2bd7d}.status-down i{background:#ed6d72;box-shadow:0 0 8px #ed6d7266}.status-down{color:#e7979a}.module-copy{padding-top:15px}.type-label{font-size:10px;color:#9c78e8}.module-copy h3{font:700 16px Manrope,sans-serif;margin:5px 0 6px}.module-copy p{font-size:11px;line-height:1.55;color:#918e99;margin:0;min-height:33px}.card-actions{display:flex;gap:7px;margin-top:auto;padding-top:13px;border-top:1px solid #ffffff0c}.card-actions form{margin:0}.button-small{padding:6px 10px;font-size:10px}.button-danger-quiet{background:transparent;color:#c78286}.button-danger-quiet:hover{background:#d65d6815}.empty-state{padding:38px 20px;text-align:center}.empty-icon{margin:auto auto 10px;width:43px;height:43px;display:grid;place-items:center;border-radius:12px;color:#bd9dff;background:#9c70ff1d;font-size:20px}.empty-state h3{font:700 16px Manrope,sans-serif;margin:0 0 5px}.empty-state p{font-size:12px;color:#9895a1;margin:0 0 16px}.connections-section{margin-top:36px}.link-form{display:flex;align-items:end;gap:12px;padding:14px}.link-form label,.stack label{display:grid;gap:6px;color:#aaa7b2;font-size:11px;font-weight:500;flex:1}.link-arrow{padding-bottom:11px;color:#827d8d}.link-label{flex:1.2!important}input,select,textarea{width:100%;border:1px solid #36343e;border-radius:7px;background:#121116;color:#efedf4;padding:9px 10px;font:12px 'DM Sans',sans-serif;outline:none}input:focus,select:focus,textarea:focus{border-color:#8560d7;box-shadow:0 0 0 3px #8560d71c}select{color-scheme:dark}.link-form select,.link-form input{padding:8px}.link-form .button{padding:9px 12px;font-size:11px}.helper-text{font-size:12px;margin-bottom:10px}.links-list{margin-top:10px;padding:2px 14px}.link-row{min-height:48px;display:flex;align-items:center;gap:10px;border-bottom:1px solid #ffffff0c}.link-row:last-child{border:0}.link-node{font-size:11px;font-weight:600;white-space:nowrap}.link-line{height:1px;flex:1;background:#554c66;min-width:15px}.link-caption{font-size:10px;color:#a694cb;white-space:nowrap}.icon-button{width:25px;height:25px;border:0;border-radius:6px;background:transparent;color:#a39eac;font-size:18px;cursor:pointer}.icon-button:hover{background:#ffffff10;color:#f29599}.footer-note{display:flex;align-items:center;gap:7px;margin:28px 0 25px;color:#777480;font-size:10px}.footer-note .live-dot{width:5px;height:5px}.messages{padding-top:15px}.notice{padding:10px 12px;border-radius:7px;font-size:12px;margin-bottom:8px}.notice-success{background:#3cab7120;color:#8cdbad;border:1px solid #3cab7135}.notice-error{background:#d65d681b;color:#eda3a6;border:1px solid #d65d6835}.login-wrap{min-height:calc(100vh - 110px);display:grid;place-items:center}.login-panel{width:min(410px,100%);padding:30px}.login-panel h1{font:700 26px Manrope,sans-serif;letter-spacing:-.8px;margin:9px 0 6px}.login-panel>.muted{margin-bottom:24px}.stack{display:grid;gap:16px}.stack input,.stack select,.stack textarea{padding:11px 12px}.button-wide{width:100%;margin-top:3px}.button-wide span{font-size:16px}.page-heading{padding:37px 0 18px}.back-link{font-size:11px;color:#9993a5;text-decoration:none}.back-link:hover{color:#d1b8ff}.page-heading h1{font-size:27px}.form-panel{max-width:650px;padding:20px}.form-actions{display:flex;justify-content:flex-end;gap:8px;padding-top:5px}.form-actions .button{min-width:100px}
@media(max-width:750px){.topbar{padding:0 20px}.container{width:90%}.hero{align-items:flex-start;gap:14px;flex-direction:column;padding-top:35px}.hero h1{font-size:27px}.summary-grid{gap:8px}.summary-card{padding:12px 10px;gap:8px}.summary-icon{width:30px;height:30px}.summary-label{font-size:9px}.summary-card strong{font-size:17px}.module-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.link-form{flex-wrap:wrap}.link-form label{min-width:calc(50% - 24px)}.link-form .link-label{min-width:calc(50% - 24px)}.link-arrow{display:none}}
@media(max-width:480px){.module-grid{grid-template-columns:1fr}.summary-grid{grid-template-columns:1fr}.summary-card{padding:11px 14px}.summary-card strong{font-size:18px}.link-form label,.link-form .link-label{min-width:100%}.link-form .button{width:100%}.link-row{gap:6px}.link-node{font-size:10px}.link-caption{font-size:9px}.brand{font-size:13px}}
.site-footer{display:flex;gap:7px;justify-content:center;padding:12px 0 20px;color:#777480;font-size:10px}
.top-actions,.hero-actions,.update-actions{display:flex;align-items:center;gap:9px}.top-actions form,.update-actions form{margin:0}.hero-actions{flex-wrap:wrap}.update-panel{max-width:720px;padding:22px}.update-header{display:flex;align-items:center;gap:14px;margin-bottom:20px}.update-header h2{font:700 17px Manrope,sans-serif;margin:5px 0}.update-header code{color:#c5aaff;background:#ffffff0a;padding:2px 5px;border-radius:4px}.update-status{display:flex;align-items:center;gap:9px;padding:12px;border:1px solid #383540;border-radius:8px;background:#ffffff05;color:#c3bfca;font-size:12px}.update-indicator{width:8px;height:8px;border-radius:50%;background:#8e8998}.phase-available .update-indicator,.phase-complete .update-indicator{background:#51cb8b;box-shadow:0 0 8px #51cb8b66}.phase-error .update-indicator{background:#ed6d72;box-shadow:0 0 8px #ed6d7266}.phase-applying .update-indicator,.phase-checking .update-indicator{background:#e9b65c;box-shadow:0 0 8px #e9b65c66;animation:pulse 1.2s infinite}.version-compare{display:flex;align-items:center;gap:15px;padding:15px 2px;color:#97939f;font-size:11px}.version-compare strong{color:#e8e5ed;margin-left:5px}.compare-arrow{color:#9b79e9}.update-actions{padding-top:12px;border-top:1px solid #ffffff0c}.update-help{max-width:720px;margin-top:13px;color:#85818e;font-size:11px;line-height:1.6}@keyframes pulse{50%{opacity:.3}}
@media(max-width:480px){.hero-actions{width:100%}.hero-actions .button{flex:1;padding:9px}.update-actions{align-items:stretch;flex-direction:column}.update-actions .button{width:100%}.version-compare{gap:8px;font-size:10px}.top-actions{gap:5px}.top-actions .button{padding:7px 9px}}
.language-form select{width:auto;min-width:88px;padding:7px 8px;font-size:10px}.language-form{margin:0}.sr-only{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.release-notes{margin-top:16px;padding:15px 16px;border:1px solid #ffffff0c;border-radius:8px;background:#ffffff03}.release-notes h3{margin:0 0 9px;font:700 13px Manrope,sans-serif}.release-notes ul{margin:0;padding-left:18px;color:#aaa6b2;font-size:11px;line-height:1.7}.release-notes li+li{margin-top:4px}.release-notes p{margin:0;color:#92909d;font-size:11px}
.summary-grid{grid-template-columns:repeat(4,minmax(0,1fr))}.amber{color:#e9b65c;background:#e9b65c1a}.red{color:#ed777c;background:#ed6d721a}.settings-menu{position:relative}.settings-menu>summary{list-style:none;user-select:none}.settings-menu>summary::-webkit-details-marker{display:none}.settings-chevron{font-size:14px;color:#9993a5;transition:transform .15s}.settings-menu[open] .settings-chevron{transform:rotate(180deg)}.settings-dropdown{position:absolute;z-index:30;right:0;top:calc(100% + 8px);width:205px;padding:9px;border:1px solid #36333e;border-radius:10px;background:#1b1a21;box-shadow:0 12px 32px #0008}.settings-dropdown .language-form{display:grid;gap:6px;padding:7px 8px 10px;color:#9996a3;font-size:10px}.settings-dropdown .language-form select{width:100%;padding:8px;font-size:11px}.settings-link{display:block;width:100%;padding:9px 8px;border:0;border-radius:6px;background:transparent;color:#dedbe7;text-align:left;text-decoration:none;font:500 12px 'DM Sans',sans-serif;cursor:pointer}.settings-link:hover{background:#ffffff0c}.settings-dropdown>form{margin:0}.settings-dropdown a{border-top:1px solid #ffffff0a;border-radius:0}.settings-dropdown button.settings-link{border-top:1px solid #ffffff0a;border-radius:0}
@media(max-width:750px){.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:480px){.summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.summary-card{padding:11px 10px;gap:8px}.summary-label{font-size:9px}.settings-dropdown{right:0}}
.integration-fields[hidden], [hidden]{display:none!important}.integration-fields{display:grid;gap:14px;padding:16px;border:1px solid #35313f;border-radius:9px;background:#ffffff03}.integration-fields h2{margin:0;color:#c6aaff;font:700 14px Manrope,sans-serif}.inline-fields{display:flex;gap:12px}.inline-fields label{flex:1}.field-help{font-size:10px;line-height:1.5}.check-row{display:flex!important;align-items:center;gap:9px!important}.check-row input{width:15px;height:15px;accent-color:#8960e9}.esxi-page-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:15px}.esxi-page-heading .eyebrow{display:block;margin-top:15px}.esxi-heading-actions{display:flex;align-items:center;gap:10px}.esxi-refresh{display:flex;align-items:center;gap:13px;margin:0 0 22px}.esxi-refresh .muted{font-size:10px}.esxi-error{display:grid;gap:6px}.esxi-error code{color:#e3a6a8;white-space:normal;overflow-wrap:anywhere}.esxi-section{margin:28px 0}.esxi-section .section-heading{margin-bottom:12px}.esxi-overview-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.esxi-metric{display:grid;gap:7px;padding:15px}.esxi-metric>span{color:#9996a3;font-size:10px}.esxi-metric>strong{font:700 14px Manrope,sans-serif;overflow-wrap:anywhere}.esxi-metric>small{color:#8f8b98;font-size:10px;line-height:1.5}.esxi-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.esxi-card{padding:15px}.esxi-card-heading{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:13px}.esxi-card-heading h3{font:700 13px Manrope,sans-serif;margin:0 0 4px;overflow-wrap:anywhere}.esxi-card-heading .muted{font-size:10px;overflow-wrap:anywhere}.chip{display:inline-flex;padding:4px 7px;border:1px solid #ffffff12;border-radius:20px;color:#b9b4c2;font-size:9px;white-space:nowrap}.esxi-kv{display:grid;grid-template-columns:minmax(90px,.8fr) minmax(0,1.2fr);gap:8px 12px;font-size:10px}.esxi-kv span{color:#8f8b98}.esxi-kv strong{color:#dedbe7;font-weight:600;overflow-wrap:anywhere}.smart-value.good{color:#6cd5a0}.smart-value.bad{color:#ed777c}.smart-details,.vm-disk-details{margin-top:13px;border-top:1px solid #ffffff0c;padding-top:10px;color:#bdb8c5;font-size:10px}.smart-details summary,.vm-disk-details summary{cursor:pointer;color:#b89afa}.smart-attributes{display:grid;grid-template-columns:1fr auto;gap:6px 12px;margin-top:9px}.smart-attributes span{color:#9996a3}.smart-attributes strong{font-weight:600}.storage-bar{height:7px;overflow:hidden;border-radius:5px;background:#ffffff12}.storage-bar span{display:block;height:100%;border-radius:5px;background:linear-gradient(90deg,#8960e9,#65c992)}.storage-caption{display:flex;justify-content:space-between;gap:10px;margin-top:8px;color:#9996a3;font-size:9px}.esxi-table-wrap{overflow:auto}.esxi-table{width:100%;border-collapse:collapse;white-space:nowrap}.esxi-table th,.esxi-table td{padding:10px 12px;border-bottom:1px solid #ffffff0c;text-align:left;font-size:10px}.esxi-table th{color:#92909d;font-weight:500}.esxi-table td{color:#d8d5df}.esxi-table tr:last-child td{border-bottom:0}.esxi-table td strong{font-size:11px}.vm-disk-details div{margin:5px 0;color:#9996a3}.empty-esxi{padding:16px;color:#92909d;font-size:11px}.esxi-no-data{margin-top:10px}.esxi-no-data form{display:inline-block;margin-top:14px}
@media(max-width:900px){.esxi-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.esxi-card-grid{grid-template-columns:1fr}.esxi-page-heading{align-items:flex-start;flex-direction:column}.esxi-heading-actions{flex-wrap:wrap}.inline-fields{flex-direction:column}.esxi-refresh{align-items:flex-start;flex-direction:column}.storage-caption{flex-direction:column}.esxi-overview-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.esxi-table th,.esxi-table td{padding:8px}}
.update-error-detail{white-space:pre-wrap;overflow-wrap:anywhere;max-height:16rem;overflow:auto;padding:1rem;border:1px solid #35313f;border-radius:12px;color:#aaa7b2;background:rgba(0,0,0,.16);font:.85rem/1.5 ui-monospace,SFMono-Regular,Consolas,monospace}.module-card-esxi{grid-column:1/-1}.esxi-inline{margin-bottom:12px;padding-bottom:13px;border-bottom:1px solid #ffffff0c}.esxi-inline-metrics{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:9px}.esxi-inline-metrics>div{min-width:0;padding:10px;border:1px solid #ffffff0d;border-radius:8px;background:#ffffff04}.esxi-inline-metrics span,.esxi-inline-metrics small{display:block;color:#92909d;font-size:9px}.esxi-inline-metrics strong{display:block;max-width:100%;margin-top:5px;font-size:11px;overflow-wrap:anywhere;word-break:break-word}.esxi-inline-metrics small{margin-top:4px;overflow-wrap:anywhere;word-break:break-word}.esxi-module-summary{display:flex;flex-direction:column;justify-content:flex-start;gap:0;border:0!important;background:transparent!important;padding:7px 5px!important}.esxi-module-topline{display:flex;align-items:center;gap:12px;margin-bottom:6px}.esxi-module-topline .status{font-size:9px}.esxi-module-summary h3{margin:0 0 4px;font:700 14px Manrope,sans-serif;overflow-wrap:anywhere}.esxi-module-summary p{margin:0 0 5px;color:#92909d;font-size:9px;line-height:1.45;overflow-wrap:anywhere}.esxi-module-meta{display:block;min-width:0;max-width:100%;margin-top:auto;color:#92909d;font-size:8px;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.linux-module-heading>.esxi-module-meta{grid-column:1/-1;align-self:start;margin-top:0}.esxi-inline>.esxi-module-meta{margin:0 5px 4px}.esxi-accordion{margin-top:12px;border:1px solid #ffffff0d;border-radius:8px;background:#ffffff02}.esxi-accordion>summary{display:flex;align-items:center;gap:8px;padding:10px 12px;cursor:pointer;color:#c8c4d0;font:600 11px Manrope,sans-serif;list-style:none}.esxi-accordion>summary::-webkit-details-marker{display:none}.esxi-accordion>summary:after{content:'＋';margin-left:auto;color:#a991e8}.esxi-accordion[open]>summary:after{content:'−'}.esxi-inline-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr));gap:8px;padding:0 9px 9px}.esxi-inline-item{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;min-width:0;padding:9px 10px;border:1px solid #ffffff0b;border-radius:7px;background:#ffffff03}.esxi-inline-item>div{min-width:0;max-width:100%;overflow:hidden}.esxi-inline-item strong{display:block;max-width:100%;font-size:10px;overflow-wrap:anywhere;word-break:break-word}.esxi-inline-item small{display:block;max-width:100%;margin-top:3px;color:#92909d;font-size:9px;overflow-wrap:anywhere;word-break:break-word}.esxi-inline-item>.smart-value{flex:0 0 auto;font-size:10px}.esxi-inline-store{display:grid;align-content:start;gap:6px;min-width:0;padding:10px;border:1px solid #ffffff0b;border-radius:7px;background:#ffffff03}.esxi-inline-store>small{font-size:9px}.esxi-inline-store .esxi-inline-item{padding:0;border:0;background:none}.esxi-vm-section{margin-top:15px}.esxi-vm-section>h4{display:flex;align-items:center;gap:7px;margin:0 0 8px;font:600 11px Manrope,sans-serif}.esxi-vm-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:9px}.esxi-vm-card{min-width:0;padding:11px;border:1px solid #ffffff0d;border-radius:8px;background:#ffffff03}.esxi-vm-heading{display:flex;justify-content:flex-start;align-items:center;flex-wrap:wrap;gap:8px 10px;margin-bottom:9px}.esxi-vm-heading>strong{overflow-wrap:anywhere;font:600 11px Manrope,sans-serif}.esxi-vm-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:7px}.esxi-vm-facts>div{min-width:0}.esxi-vm-facts span,.esxi-vm-disks>span{display:block;color:#92909d;font-size:9px}.esxi-vm-facts strong{display:block;margin-top:2px;font-size:9px;overflow-wrap:anywhere}.esxi-vm-ip{grid-column:1/-1}.esxi-vm-ip strong{word-break:break-all}.esxi-vm-disks{display:grid;gap:3px;margin-top:8px;padding-top:7px;border-top:1px solid #ffffff0b}.esxi-vm-disks small{color:#c5c1cd;font-size:9px;overflow-wrap:anywhere}.esxi-card-empty{padding:7px 0}.module-card-esxi .card-actions{margin-top:0}.module-card-esxi .esxi-table{min-width:850px}
@media(max-width:900px){.esxi-inline-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(max-width:700px){.esxi-inline-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}
.esxi-disk-actions{display:flex;flex:0 0 auto;align-items:center;gap:7px}.esxi-disk-actions form,.esxi-hidden-disks form{margin:0}.esxi-disk-actions .button,.esxi-hidden-disks .button{padding:5px 7px;font-size:9px}.esxi-hidden-disks{margin:0 9px 9px;border-top:1px solid #ffffff0b}.esxi-hidden-disks>summary{padding:9px 2px;display:flex;align-items:center;gap:7px;cursor:pointer;color:#aaa6b2;font-size:10px;list-style:none}.esxi-hidden-disks>summary::-webkit-details-marker{display:none}
.esxi-module-topline .type-label{display:block;color:#9c78e8;font-size:9px}.esxi-module-topline .status{display:flex;color:#a7a4af}.esxi-module-topline .status-warning{color:#e2bd7d}.esxi-module-topline .status-down{color:#e7979a}.esxi-module-summary-empty{margin-bottom:8px}
.esxi-vm-storage{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px;margin-top:8px;padding-top:7px;border-top:1px solid #ffffff0b}.esxi-vm-ip,.esxi-vm-disks{min-width:0;align-content:start}.esxi-vm-ip strong{display:block;word-break:break-word}.esxi-vm-ip strong small{display:block;margin-top:3px;color:#92909d;font-size:8px;font-weight:400;line-height:1.4}.esxi-vm-disks{margin:0;padding:0;border:0}.vm-state-poweredOn{color:#6cd5a0;border-color:#6cd5a044;background:#6cd5a00d}.vm-state-poweredOff{color:#aaa6b2;border-color:#ffffff18;background:#ffffff05}.vm-state-suspended{color:#e2bd7d;border-color:#e2bd7d44;background:#e2bd7d0d}
@media(max-width:480px){.esxi-vm-storage{grid-template-columns:1fr}}
.esxi-vm-storage>.esxi-vm-ip{grid-column:auto}
.esxi-vm-ip-list{display:grid;gap:3px;margin:5px 0 0;padding:0;list-style:none}.esxi-vm-ip-list li{color:#c5c1cd;font:400 9px/1.4 ui-monospace,SFMono-Regular,Consolas,monospace;overflow-wrap:anywhere;word-break:normal}.esxi-vm-expandable{margin-top:5px}.esxi-vm-expandable>summary{cursor:pointer;color:#b89afa;font-size:9px;line-height:1.4;list-style:none}.esxi-vm-expandable>summary::-webkit-details-marker{display:none}.esxi-vm-expandable>summary:before{content:'＋';margin-right:4px}.esxi-vm-expandable[open]>summary:before{content:'−'}.esxi-vm-expandable .show-less{display:none}.esxi-vm-expandable[open] .show-more{display:none}.esxi-vm-expandable[open] .show-less{display:inline}
.esxi-disk-card{display:flex;flex-direction:column;align-items:stretch}.esxi-disk-card>div:first-child{width:100%}.esxi-disk-card .esxi-disk-actions{width:100%;justify-content:space-between;margin-top:auto;padding-top:9px}
.esxi-vm-storage{display:flex;align-items:flex-start;gap:10px}.esxi-vm-ip,.esxi-vm-disks{flex:1 1 auto}.esxi-vm-disks small{display:block;max-width:100%;white-space:normal;overflow-wrap:anywhere}
@media(max-width:480px){.esxi-vm-storage{flex-direction:column}.esxi-vm-ip,.esxi-vm-disks{width:100%}}
.esxi-vm-service-list{display:grid;gap:6px;margin-top:10px;padding-top:8px;border-top:1px solid #ffffff0b}.esxi-vm-service-title{display:flex;align-items:center;gap:6px;color:#92909d;font-size:9px}.esxi-vm-service{min-width:0;padding:8px;border:1px solid #9c70ff24;border-radius:7px;background:#9c70ff08}.esxi-vm-service-connection{display:flex;align-items:center;flex-wrap:wrap;gap:6px;font-size:9px}.esxi-vm-service-connection>span:first-child{color:#c4a6ff;font-family:ui-monospace,SFMono-Regular,Consolas,monospace;overflow-wrap:anywhere}.esxi-vm-service-connection>b{color:#9b79e9}.esxi-vm-service-connection>strong{font:600 10px Manrope,sans-serif;overflow-wrap:anywhere}.esxi-vm-service-connection .status{margin-left:auto;font-size:8px}.esxi-vm-service-meta{display:flex;flex-wrap:wrap;gap:8px;margin-top:4px;color:#92909d;font-size:8px}.esxi-vm-service-actions{display:flex;align-items:flex-start;gap:8px;margin-top:6px}.esxi-vm-service-actions form{margin:0}.esxi-vm-service-edit>summary,.esxi-vm-service-create>summary{cursor:pointer;color:#b89afa;font-size:9px;list-style:none}.esxi-vm-service-edit>summary::-webkit-details-marker,.esxi-vm-service-create>summary::-webkit-details-marker{display:none}.esxi-vm-service-create{margin-top:8px}.esxi-vm-service-create>summary{padding:6px 0}.esxi-vm-service-form{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:8px;border:1px solid #ffffff0d;border-radius:7px;background:#ffffff03}.esxi-vm-service-form label{display:grid;gap:4px;color:#aaa7b2;font-size:8px}.esxi-vm-service-form input,.esxi-vm-service-form select{padding:6px 7px;font-size:9px}.esxi-vm-service-form button{align-self:end;justify-self:start}.esxi-vm-service-note{font-size:8px}
@media(max-width:520px){.esxi-vm-service-form{grid-template-columns:1fr}}

.linux-module-card{display:grid;gap:12px}.linux-module-heading{display:grid;grid-template-columns:minmax(190px,.65fr) minmax(0,2fr);gap:12px;align-items:stretch}.linux-module-heading>div:first-child{display:flex;flex-direction:column;align-items:flex-start;gap:4px;padding:8px 5px}.linux-module-heading h3{margin:0;font:700 14px Manrope,sans-serif;overflow-wrap:anywhere}.linux-module-heading p{margin:0;color:#92909d;font-size:9px}.linux-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.linux-metrics>div{display:grid;align-content:start;gap:5px;min-width:0;padding:10px;border:1px solid #ffffff0d;border-radius:8px;background:#ffffff04}.linux-metrics span,.linux-metrics small{color:#92909d;font-size:9px}.linux-metrics strong{font-size:10px;overflow-wrap:anywhere}.linux-filesystems h4{display:flex;align-items:center;gap:7px;margin:0 0 8px;font:600 11px Manrope,sans-serif}.linux-filesystem-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:8px}.linux-filesystem{display:grid;gap:6px;min-width:0;padding:10px;border:1px solid #ffffff0d;border-radius:8px;background:#ffffff03}.linux-filesystem>div:first-child{display:flex;justify-content:space-between;gap:8px}.linux-filesystem strong,.linux-filesystem>div:first-child span{font-size:10px;overflow-wrap:anywhere}.linux-filesystem small{color:#92909d;font-size:9px;overflow-wrap:anywhere}.linux-empty{font-size:10px}.linux-vm-mounts{margin-top:3px}.esxi-vm-service-form [data-linux-fields]{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;grid-column:1/-1}.esxi-vm-service-form [data-linux-fields][hidden]{display:none!important}.esxi-vm-service-form [data-linux-fields] small{grid-column:1/-1;color:#92909d;font-size:8px}@media(max-width:700px){.linux-module-heading{grid-template-columns:1fr}.linux-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}

.esxi-vm-card-has-modules{grid-column:1/-1;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));align-items:start;gap:10px}.esxi-vm-card-has-modules>.esxi-vm-heading{grid-column:1/-1;margin-bottom:0}.esxi-vm-card-has-modules>.esxi-vm-storage{margin-top:0;padding-top:0;border-top:0}.esxi-vm-card-has-modules>.esxi-vm-service-list{margin-top:0;padding-top:0;border-top:0}@media(max-width:850px){.esxi-vm-card-has-modules{grid-template-columns:repeat(2,minmax(0,1fr))}.esxi-vm-card-has-modules>.esxi-vm-service-list{grid-column:1/-1}}@media(max-width:520px){.esxi-vm-card-has-modules{grid-template-columns:1fr}.esxi-vm-card-has-modules>.esxi-vm-heading,.esxi-vm-card-has-modules>.esxi-vm-service-list{grid-column:1}}

.esxi-vm-card-has-modules{grid-template-columns:repeat(2,minmax(0,1fr))}.esxi-vm-card-has-modules>.esxi-vm-heading,.esxi-vm-card-has-modules>.esxi-vm-service-list{grid-column:1/-1}.esxi-vm-card-has-modules>.esxi-vm-facts{grid-column:1}.esxi-vm-card-has-modules>.esxi-vm-storage{grid-column:2}.esxi-vm-card-has-modules>.esxi-vm-service-list{display:grid;grid-template-columns:minmax(0,1fr);gap:9px}.esxi-vm-card-has-modules .esxi-vm-service-title{font-size:11px}.esxi-vm-card-has-modules .esxi-vm-service{display:grid;grid-template-columns:minmax(220px,.8fr) minmax(0,2fr);align-items:center;gap:8px 14px;padding:12px;border-color:#ffffff0d;border-radius:8px;background:#ffffff03}.esxi-vm-card-has-modules .esxi-vm-service-connection{font-size:10px}.esxi-vm-card-has-modules .esxi-vm-service-connection>strong{font:600 11px Manrope,sans-serif}.esxi-vm-card-has-modules .esxi-vm-service-connection .status{font-size:9px}.esxi-vm-card-has-modules .esxi-vm-service-meta{grid-column:2;margin-top:0;font-size:9px}.esxi-vm-card-has-modules .esxi-vm-service-meta.linux-vm-mounts{margin-top:-4px}.esxi-vm-card-has-modules .linux-vm-error{grid-column:2;color:#e7979a;font-size:9px;overflow-wrap:anywhere}.esxi-vm-card-has-modules .esxi-vm-service-actions{grid-column:1/-1;align-items:center;margin-top:0;padding-top:8px;border-top:1px solid #ffffff0b}.esxi-vm-card-has-modules .esxi-vm-service-edit>summary,.esxi-vm-card-has-modules .esxi-vm-service-create>summary{font-size:10px}.esxi-vm-card-has-modules .esxi-vm-service-form label{font-size:9px}.esxi-vm-card-has-modules .esxi-vm-service-form input,.esxi-vm-card-has-modules .esxi-vm-service-form select{font-size:10px}@media(max-width:850px){.esxi-vm-card-has-modules{grid-template-columns:1fr}.esxi-vm-card-has-modules>.esxi-vm-service-list,.esxi-vm-card-has-modules>.esxi-vm-storage,.esxi-vm-card-has-modules>.esxi-vm-facts{grid-column:1}.esxi-vm-card-has-modules .esxi-vm-service{grid-template-columns:1fr}.esxi-vm-card-has-modules .esxi-vm-service-meta,.esxi-vm-card-has-modules .linux-vm-error{grid-column:1}}

.vm-module-card{padding:16px;border:1px solid #ffffff0d;border-radius:9px;background:linear-gradient(145deg,#1b1a21,#17161b)}.vm-module-card:not(.has-linux-snapshot) .linux-module-heading{grid-template-columns:1fr}.vm-module-card .linux-module-heading h3{font-size:14px}.vm-module-card .linux-module-heading p{font-size:10px}.vm-module-card .linux-module-heading .esxi-module-meta{font-size:9px}.vm-module-card .linux-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.vm-module-card .linux-metrics>div{padding:12px}.vm-module-card .linux-metrics span,.vm-module-card .linux-metrics small{font-size:10px}.vm-module-card .linux-metrics strong{font-size:11px}.vm-module-card .linux-filesystems h4{font-size:13px}.vm-module-card .linux-filesystem{padding:12px}.vm-module-card .linux-filesystem strong,.vm-module-card .linux-filesystem>div:first-child span{font-size:11px}.vm-module-card .linux-filesystem small{font-size:10px}.vm-module-card .card-actions{margin-top:4px}.vm-module-card .esxi-vm-service-edit>summary{font-size:11px}.vm-module-card .esxi-vm-service-form label{font-size:10px}.vm-module-card .esxi-vm-service-form input,.vm-module-card .esxi-vm-service-form select{font-size:11px}.esxi-vm-facts small{display:block;margin-top:2px;color:#92909d;font-size:8px;overflow-wrap:anywhere}@media(max-width:700px){.vm-module-card .linux-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}}

.vm-module-card .card-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px}.vm-module-card .esxi-vm-service-edit{flex:0 0 auto}.vm-module-card .esxi-vm-service-edit>summary{display:inline-flex;align-items:center;min-height:30px;color:#dedbe7;list-style:none}.vm-module-card .esxi-vm-service-edit[open]{display:block;flex:1 0 100%;order:10}.vm-module-card .esxi-vm-service-edit[open]>summary{display:inline-flex;margin-bottom:10px}.vm-module-card .esxi-vm-service-form{width:100%}

.monitoring-history{margin-top:18px;padding:14px 16px;border:1px solid #ffffff12;border-radius:12px;background:#ffffff04}.monitoring-history>summary{display:flex;align-items:center;gap:9px;cursor:pointer;font-weight:700;list-style:none}.monitoring-history>summary::-webkit-details-marker{display:none}.monitoring-history>summary:after{content:'+';margin-left:auto;color:#ad83ff}.monitoring-history[open]>summary:after{content:'−'}.monitoring-chart-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:12px;margin-top:14px}.monitoring-chart-card{min-width:0;padding:12px;border:1px solid #ffffff10;border-radius:10px;background:#ffffff03}.monitoring-chart-card h4{margin:0 0 8px;font-size:13px}.monitoring-chart{display:block;width:100%;height:170px}.monitoring-chart-card>small{display:block;color:#918e9e;font-size:11px}.chart-legend-rx{color:#5da9e9}.chart-legend-tx{color:#e88777}@media(max-width:900px){.monitoring-chart-grid{grid-template-columns:1fr}}@media(min-width:901px) and (max-width:1250px){.monitoring-chart-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}


.users-section{margin:20px 0 28px}.users-section>h2{font:700 17px Manrope,sans-serif;margin:0 0 12px}.users-form{max-width:760px;padding:18px}.permissions-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px 14px}.permission-item{display:flex!important;align-items:center;gap:9px!important}.permission-item input{width:15px;height:15px;accent-color:#8960e9}.user-row{display:flex;align-items:flex-start;gap:14px;padding:16px;margin-bottom:10px}.user-edit-form{flex:1;display:grid;gap:14px}.user-row-heading{display:flex;align-items:center;justify-content:space-between;gap:14px}.user-row-heading>div{display:grid;gap:4px}.user-row-heading strong{font:700 14px Manrope,sans-serif}.user-row-heading small{color:#92909d;font-size:10px}.password-change{display:grid!important;gap:5px!important;max-width:300px}.admin-badge{padding:5px 9px;border:1px solid #4eab7a55;border-radius:20px;color:#21834e;font-size:10px}.user-rights{display:flex;flex-wrap:wrap;gap:7px}.user-rights span{padding:5px 8px;border:1px solid #ffffff12;border-radius:20px;color:#aaa6b4;font-size:10px}.user-row-actions{display:flex;justify-content:flex-end}.users-empty{padding:12px 0}
body[data-theme="light"]{color:#22212b;background:radial-gradient(ellipse at 48% -20%,#f0eaff 0,transparent 48%),#f5f5f8;color-scheme:light}body[data-theme="light"] .topbar{background:#ffffffdf;border-color:#dedce5}body[data-theme="light"] .brand,body[data-theme="light"] h1,body[data-theme="light"] h2,body[data-theme="light"] h3,body[data-theme="light"] h4,body[data-theme="light"] strong,body[data-theme="light"] .section-heading h2{color:#262431}body[data-theme="light"] .panel,body[data-theme="light"] .summary-card,body[data-theme="light"] .linux-module-card,body[data-theme="light"] .vm-module-card,body[data-theme="light"] .esxi-inline,body[data-theme="light"] .esxi-accordion,body[data-theme="light"] .esxi-vm-card,body[data-theme="light"] .esxi-inline-item,body[data-theme="light"] .linux-filesystem,body[data-theme="light"] .monitoring-chart-card,body[data-theme="light"] .monitoring-history,body[data-theme="light"] .update-status,body[data-theme="light"] .esxi-metric{background:#fff;border-color:#dfdde6;box-shadow:0 4px 14px #28213c08}body[data-theme="light"] .settings-dropdown{background:#fff;border-color:#dedce5;box-shadow:0 12px 32px #25203222}body[data-theme="light"] .settings-link,body[data-theme="light"] .button{color:#302d3a}body[data-theme="light"] .settings-link:hover,body[data-theme="light"] .button-quiet,body[data-theme="light"] .button-quiet:hover{background:#f0eef5;border-color:#dedce5}body[data-theme="light"] input,body[data-theme="light"] select,body[data-theme="light"] textarea{background:#fff;color:#282632;border-color:#d6d3df;color-scheme:light}body[data-theme="light"] .count-pill{background:#f1eff6;border-color:#dedbe6;color:#676273}body[data-theme="light"] .muted,body[data-theme="light"] .module-copy p,body[data-theme="light"] .esxi-module-meta,body[data-theme="light"] .linux-metrics span,body[data-theme="light"] .linux-metrics small,body[data-theme="light"] .linux-filesystem small,body[data-theme="light"] .esxi-inline-item small,body[data-theme="light"] .user-row-heading small,body[data-theme="light"] .footer-note,body[data-theme="light"] .site-footer{color:#696675}body[data-theme="light"] .type-label,body[data-theme="light"] .back-link{color:#7047c0}body[data-theme="light"] .card-actions,body[data-theme="light"] .esxi-vm-facts,body[data-theme="light"] .linux-filesystems,body[data-theme="light"] .update-actions,body[data-theme="light"] .user-row{border-color:#e5e3ea}body[data-theme="light"] .status{color:#5c5968}body[data-theme="light"] .status-up{color:#21834e}body[data-theme="light"] .status-warning{color:#98640b}body[data-theme="light"] .status-down{color:#b53942}body[data-theme="light"] .link-row,body[data-theme="light"] .esxi-table th,body[data-theme="light"] .esxi-table td{border-color:#e5e3ea}body[data-theme="light"] .esxi-table td,body[data-theme="light"] .link-node{color:#302d3a}body[data-theme="light"] .button-danger-quiet{color:#b53942}body[data-theme="light"] .button-primary{background:linear-gradient(135deg,#8054dc,#673dc2);color:#fff}body[data-theme="light"] .notice-success{background:#e9f7ef;color:#267348;border-color:#ccebd8}body[data-theme="light"] .notice-error{background:#fff0f0;color:#a83c45;border-color:#f2d0d2}body[data-theme="light"] .monitoring-chart-card>small{color:#696675}body[data-theme="light"] .link-line{background:#c2b8d4}body[data-theme="light"] .storage-bar{background:#e8e6ed}body[data-theme="light"] .settings-chevron{color:#6c6876}body[data-theme="light"] .user-rights span{background:#f8f7fa;color:#514e5c;border-color:#e3e1e8}body[data-theme="light"] .esxi-vm-service-form{background:#f8f7fa}body[data-theme="light"] .esxi-accordion>summary,body[data-theme="light"] .monitoring-history>summary{color:#302d3a}@media(max-width:650px){.user-row{flex-direction:column}.user-row>form:last-child{align-self:flex-end}.user-row-heading{align-items:flex-start;flex-direction:column}.password-change{width:100%;max-width:none}.permissions-grid{grid-template-columns:1fr}}

body[data-theme="light"] .esxi-inline-store,body[data-theme="light"] .esxi-vm-service{background:#f9f8fb;border-color:#e3e1e8}body[data-theme="light"] .linux-metrics>div,body[data-theme="light"] .esxi-vm-facts,body[data-theme="light"] .esxi-vm-storage>div,body[data-theme="light"] .esxi-vm-ip,body[data-theme="light"] .esxi-vm-disks{background:#faf9fc;border-color:#e5e3ea}body[data-theme="light"] .esxi-vm-facts span,body[data-theme="light"] .esxi-vm-ip>span,body[data-theme="light"] .esxi-vm-disks>span,body[data-theme="light"] .esxi-inline-metrics>div>span{color:#696675}body[data-theme="light"] .user-admin-row{background:#f2faf5;border-color:#d8ecdf}body[data-theme="light"] .admin-badge{background:#e9f7ef}body[data-theme="light"] .settings-link:focus,body[data-theme="light"] .button:focus{outline-color:#8054dc}
.linux-extra-metrics{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.linux-extra-metrics>details{min-width:0;padding:10px;border:1px solid #ffffff0d;border-radius:8px;background:#ffffff02}.linux-extra-metrics summary,.esxi-vm-telemetry>summary{cursor:pointer;color:#b69aff;font-size:10px;font-weight:600}.linux-extra-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:7px;margin-top:8px}.linux-extra-grid article{display:grid;gap:4px;min-width:0;padding:9px;border:1px solid #ffffff0b;border-radius:7px}.linux-extra-grid span,.linux-extra-grid small,.linux-extra-metrics p{color:#92909d;font-size:9px;overflow-wrap:anywhere}.esxi-alert-list{display:grid;gap:4px}.esxi-inline-store>small{display:block;margin-top:5px}.esxi-vm-telemetry{grid-column:1/-1;margin-top:8px;padding:9px;border:1px solid #ffffff0d;border-radius:8px}.esxi-vm-telemetry .esxi-vm-facts{margin-top:8px}@media(max-width:650px){.linux-extra-metrics{grid-template-columns:1fr}}
body[data-theme="light"] .linux-extra-metrics>details,body[data-theme="light"] .linux-extra-grid article,body[data-theme="light"] .esxi-vm-telemetry{background:#faf9fc;border-color:#e5e3ea}body[data-theme="light"] .linux-extra-grid span,body[data-theme="light"] .linux-extra-grid small{color:#696675}
.telegram-settings{max-width:760px;padding:20px}.telegram-settings form>small{margin-top:-10px}.telegram-note{max-width:760px;line-height:1.6}body[data-theme="light"] .telegram-settings{background:#fff;border-color:#dfdde6}
.notice-warning{background:#e4ad3918;color:#efc16e;border:1px solid #e4ad3935}.linux-alerts{display:grid;gap:4px}.linux-alerts strong{color:inherit}body[data-theme="light"] .notice-warning{background:#fff8e8;color:#946414;border-color:#efdfb5}
/* Clearer visual hierarchy: dashboard module -> VM -> VM submodule. */
.module-grid>.module-card{position:relative;overflow:hidden;border-color:#8d69c344;background:linear-gradient(145deg,#211e29 0%,#19181f 58%,#17161b 100%);box-shadow:0 12px 30px #0002;transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease}
.module-grid>.module-card:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,#aa82ff 0%,#7551cc 42%,transparent 100%);opacity:.8;pointer-events:none}
.module-grid>.module-card:hover{transform:none;border-color:#a17adb70;box-shadow:0 16px 34px #0003}
.esxi-vm-card{position:relative;border:1px solid #514b5b;border-radius:11px;background:linear-gradient(145deg,#1c1b22,#17161c);box-shadow:inset 0 1px #ffffff05,0 5px 14px #00012}
.esxi-vm-card-has-modules{border-color:#896bb4;background:linear-gradient(145deg,#211e29,#19181f 65%)}
.esxi-vm-card-has-modules>.esxi-vm-heading{padding-bottom:9px;border-bottom:1px solid #9b78d32b}
.esxi-vm-card-has-modules>.esxi-vm-service-list{position:relative;margin:2px 0 0;padding:12px 0 0 12px;border-top:0;border-left:2px solid #8d69c366}
.esxi-vm-card-has-modules>.esxi-vm-service-list:before{content:"";position:absolute;left:-5px;top:13px;width:8px;height:8px;border:2px solid #b394f2;border-radius:50%;background:#211e29;box-shadow:0 0 12px #9b78d355}
.esxi-vm-service-title{color:#c3b2e8;font-size:11px;font-weight:700;letter-spacing:.02em}
.esxi-vm-card-has-modules .esxi-vm-service{position:relative;padding:12px 14px;border:1px solid #9c70ff45;border-left:3px solid #9b70ef;border-radius:10px;background:linear-gradient(110deg,#8f62d51b,#8f62d50a 55%,#ffffff03);box-shadow:inset 0 1px #ffffff08,0 6px 16px #00018}
.esxi-vm-card-has-modules .esxi-vm-service-connection{min-height:26px;gap:9px;font-size:11px}
.esxi-vm-card-has-modules .esxi-vm-service-connection>span:first-child{padding:4px 8px;border:1px solid #a47be533;border-radius:6px;background:#9c70ff12;color:#d1baff;font-size:10px}
.esxi-vm-card-has-modules .esxi-vm-service-connection>b{font-size:13px}
.esxi-vm-card-has-modules .esxi-vm-service-connection>strong{font-size:12px}
.esxi-vm-card-has-modules .esxi-vm-service-meta{font-size:9px}
.vm-module-card{position:relative;overflow:hidden;border:1px solid #8d69c3;border-radius:11px;background:linear-gradient(145deg,#211e29 0%,#19181f 65%,#17161c 100%);box-shadow:0 8px 22px #0002,inset 0 1px #ffffff08}
.vm-module-card:before{content:"";position:absolute;inset:0 0 auto;height:3px;background:linear-gradient(90deg,#b18aff,#7752c9 45%,transparent)}
.vm-module-card .linux-module-heading>div:first-child{padding:10px 8px}
.vm-module-card .linux-module-heading h3{font-size:17px}
.vm-module-card .linux-metrics>div{border-color:#ffffff18;background:linear-gradient(145deg,#ffffff08,#ffffff03);box-shadow:inset 0 1px #ffffff05}
.vm-module-card .linux-filesystem{border-color:#ffffff18;background:#ffffff06}
body[data-theme="light"] .module-grid>.module-card{border-color:#d7c8f2;background:linear-gradient(145deg,#fff,#f8f5fd 72%,#f5f2fa);box-shadow:0 10px 28px #38265c0d}
body[data-theme="light"] .module-grid>.module-card:before{opacity:.65}
body[data-theme="light"] .esxi-vm-card{border-color:#d5d1dd;background:linear-gradient(145deg,#fff,#faf9fc);box-shadow:0 5px 14px #38265c0a}
body[data-theme="light"] .esxi-vm-card-has-modules{border-color:#bda6de;background:linear-gradient(145deg,#fff,#f8f5fd)}
body[data-theme="light"] .esxi-vm-card-has-modules>.esxi-vm-service-list{border-left-color:#b99ce8}
body[data-theme="light"] .esxi-vm-card-has-modules>.esxi-vm-service-list:before{background:#fff}
body[data-theme="light"] .esxi-vm-service-title{color:#655083}
body[data-theme="light"] .esxi-vm-service{border-color:#d9c9f3;border-left-color:#8d65d3;background:linear-gradient(110deg,#f2ebfc,#fbfaff 72%);box-shadow:0 5px 14px #38265c0a}
body[data-theme="light"] .esxi-vm-service-connection>span:first-child{border-color:#dfd2f4;background:#f5efff;color:#604490}
body[data-theme="light"] .esxi-vm-service-connection>b{color:#7959b4}
body[data-theme="light"] .vm-module-card{border-color:#d7c5f2;background:linear-gradient(145deg,#fff,#f8f5fd 72%,#f5f2fa);box-shadow:0 10px 26px #38265c10}
body[data-theme="light"] .vm-module-card .linux-metrics>div,body[data-theme="light"] .vm-module-card .linux-filesystem{border-color:#e6e0ef;background:#fff}
.esxi-vm-card-has-modules .esxi-vm-service:hover{border-color:#c29cff;border-left-color:#d0b2ff;box-shadow:0 0 0 1px #b78cff33,0 0 20px #9c70ff22,inset 0 1px #ffffff10}.vm-module-card:hover{border-color:#c29cff;box-shadow:0 0 0 1px #b78cff44,0 0 22px #9c70ff2b,inset 0 1px #ffffff10}
body[data-theme="light"] .esxi-vm-card-has-modules .esxi-vm-service:hover,body[data-theme="light"] .vm-module-card:hover{border-color:#946bd5;box-shadow:0 0 0 1px #946bd533,0 8px 24px #4930781c}
@media(prefers-reduced-motion:reduce){.module-grid>.module-card{transition:none}}

.synology-volumes,.synology-disks{margin-top:18px}.synology-volumes .esxi-card-grid,.synology-disks .esxi-card-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}.synology-volumes .storage-bar{margin:12px 0}.synology-volumes .muted{display:block;margin-top:10px}.synology-disks .esxi-card{min-height:110px}
.notification-feed{margin:0 0 1.2rem;padding:1rem 1.2rem}.notification-feed .section-heading{margin:0 0 .75rem}.notification-list{display:grid;gap:.5rem}.notification-item{display:grid;grid-template-columns:auto minmax(8rem, .7fr) minmax(12rem, 2fr) auto;align-items:center;gap:.75rem;padding:.7rem .8rem;border:1px solid #302e38;border-radius:12px;background:#ffffff03}.notification-item time{color:#92909d;font-size:.82rem;white-space:nowrap}.notification-resolved{opacity:.72}@media(max-width:760px){.notification-item{grid-template-columns:1fr;gap:.35rem}.notification-item time{white-space:normal}}
body[data-theme="light"] .notification-item{border-color:#e5e3ea;background:#faf9fc}body[data-theme="light"] .notification-item time{color:#696675}
.module-card>.card-actions,.vm-module-card>.card-actions{order:-1;margin:0 0 12px;padding:0 0 11px;border-top:0;border-bottom:1px solid #ffffff0c}.vm-module-card>.card-actions{grid-column:1/-1}.linux-update-notice{border-left:3px solid #e9b65c;background:#e4ad3918;color:#f1c66f}.linux-update-notice strong{color:inherit}body[data-theme="light"] .module-card>.card-actions,body[data-theme="light"] .vm-module-card>.card-actions{border-bottom-color:#e5e3ea}body[data-theme="light"] .linux-update-notice{background:#fff8e8;color:#946414;border-color:#efdfb5 #efdfb5 #efdfb5 #dba53b}
.module-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,320px),1fr))}.module-card-esxi .esxi-card-grid,.vm-module-card .esxi-card-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}.module-card-esxi .esxi-inline-grid,.esxi-vm-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,280px),1fr))}
.collapsible-section{min-width:0;margin:12px 0;padding:10px 12px;border:1px solid #ffffff12;border-radius:10px;background:#ffffff02}.collapsible-section>summary,.synology-storage-history>summary{display:flex;align-items:center;gap:8px;cursor:pointer;list-style:none;font:600 11px Manrope,sans-serif}.collapsible-section>summary::-webkit-details-marker,.synology-storage-history>summary::-webkit-details-marker{display:none}.collapsible-section>summary:after,.synology-storage-history>summary:after{content:'+';margin-left:auto;color:#ad83ff;font-size:14px}.collapsible-section[open]>summary:after,.synology-storage-history[open]>summary:after{content:'−'}.collapsible-section[open]>summary{padding-bottom:10px;border-bottom:1px solid #ffffff0c}.collapsible-section>.esxi-card-grid,.collapsible-section>.linux-filesystem-grid,.collapsible-section>.esxi-vm-grid{margin-top:10px}.synology-fact-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr));gap:8px;margin-top:10px}.synology-fact-grid>article,.synology-backup-task{display:grid;align-content:start;gap:6px;min-width:0;padding:11px;border:1px solid #ffffff12;border-radius:8px;background:#ffffff04}.synology-fact-grid span,.synology-backup-task p span{display:block;color:#92909d;font-size:10px}.synology-fact-grid strong,.synology-backup-task p strong{font-size:11px;overflow-wrap:anywhere}.synology-fact-grid .good{color:#62d99a}.synology-fact-grid .bad,.warning-text{color:#e9b65c}.synology-backup-task p{display:grid;gap:3px;margin:0}.synology-pool-card p{margin:7px 0;font-size:11px;overflow-wrap:anywhere}.synology-pool-disks{font-size:10px}.synology-pool-disks ul{display:flex;flex-wrap:wrap;gap:6px 18px;margin:6px 0;padding-left:18px}.synology-pool-disks li{overflow-wrap:anywhere}.synology-chip-good{color:#62d99a}.synology-chip-warning{color:#e9b65c}.synology-smart-details{margin-top:10px}.synology-smart-details summary{cursor:pointer;color:#b89afa;font-size:10px}.synology-smart-details>div{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:5px 12px;margin-top:8px;font-size:9px}.synology-smart-details span{color:#92909d}.synology-smart-details strong{overflow-wrap:anywhere}.synology-storage-history{margin:12px 0;padding:10px 12px;border:1px solid #ffffff12;border-radius:10px;background:#ffffff02}.synology-history-list{display:grid;gap:7px;margin-top:10px}.synology-history-list article{display:grid;grid-template-columns:minmax(110px,.35fr) repeat(2,minmax(0,1fr));gap:10px;padding:9px;border:1px solid #ffffff0d;border-radius:8px;font-size:9px}.synology-history-list time{color:#92909d}.synology-history-list article>div{display:grid;gap:4px;min-width:0}.synology-history-list article span{overflow-wrap:anywhere;color:#aaa7b2}body[data-theme="light"] .collapsible-section,body[data-theme="light"] .synology-storage-history,body[data-theme="light"] .synology-fact-grid>article,body[data-theme="light"] .synology-backup-task{border-color:#e5e3ea;background:#faf9fc}body[data-theme="light"] .synology-history-list article{border-color:#e5e3ea}body[data-theme="light"] .synology-history-list article span{color:#696675}@media(max-width:700px){.synology-history-list article{grid-template-columns:1fr}.module-grid{grid-template-columns:1fr}}

/* Keep Linux identity compact so its key metrics receive more room. */
.linux-module-heading{grid-template-columns:minmax(150px,.42fr) minmax(0,2.6fr)}.linux-module-heading>div:first-child{max-width:100%;overflow-wrap:anywhere}.synology-module-title{display:flex;align-items:center;flex-wrap:wrap;gap:8px}.synology-module-title .status{font:500 10px 'DM Sans',sans-serif}.synology-chip-good{color:#62d99a;border-color:#62d99a44;background:#62d99a12}.synology-chip-warning{color:#e9b65c;border-color:#e9b65c55;background:#e9b65c12}body[data-theme="light"] .synology-chip-good{color:#267a51;border-color:#9ed6b7;background:#ecf8f1}body[data-theme="light"] .synology-chip-warning{color:#946414;border-color:#efdfb5;background:#fff8e8}@media(max-width:800px){.linux-module-heading{grid-template-columns:1fr}.linux-module-heading>div:first-child{max-width:none}}

/* Compact and consistent spacing for dense infrastructure dashboards. */
.module-grid{gap:10px}.module-card,.vm-module-card{padding:12px}.linux-module-card{gap:8px}.linux-module-heading,.module-card-esxi .linux-module-card,.vm-module-card .linux-module-card{gap:8px}.linux-module-heading.synology-module-heading{grid-template-columns:minmax(170px,.45fr) minmax(0,2.4fr)}.synology-module-heading .linux-metrics{grid-template-columns:repeat(4,minmax(0,1fr))}.synology-module-heading .linux-metrics>div{padding:8px}.linux-filesystems,.esxi-vm-section,.collapsible-section,.synology-storage-history{margin-top:8px}.collapsible-section{margin:8px 0;padding:8px 10px}.esxi-card-grid,.linux-filesystem-grid,.esxi-vm-grid{gap:8px}.panel{margin-bottom:8px}.remote-details{max-height:320px;overflow:auto;white-space:pre-wrap;overflow-wrap:anywhere}@media(max-width:850px){.linux-module-heading.synology-module-heading{grid-template-columns:1fr}.synology-module-heading .linux-metrics{grid-template-columns:repeat(auto-fit,minmax(160px,1fr))}}

.linux-update-accent{color:#efc16e!important;font-weight:700}body[data-theme="light"] .linux-update-accent{color:#946414!important}

/* Keep nested Synology identity and DSM metrics on the same row. */
.vm-module-card.is-synology-module{grid-template-columns:minmax(180px,.55fr) minmax(0,2.45fr);gap:6px}
.vm-module-card.is-synology-module>.synology-module-heading{display:contents}
.vm-module-card.is-synology-module>.synology-module-heading>div:first-child{grid-column:1;grid-row:2;align-self:center}
.vm-module-card.is-synology-module>.vm-integration-metrics{grid-column:2;grid-row:2;align-self:stretch;margin:0}
.vm-module-card.is-synology-module>.card-actions{grid-column:1/-1;grid-row:1}
.vm-module-card.is-synology-module> :not(.card-actions):not(.synology-module-heading):not(.vm-integration-metrics){grid-column:1/-1}

/* Use one compact spacing scale for dashboard cards and their sections. */
.module-grid,.esxi-vm-grid,.esxi-card-grid,.linux-filesystem-grid,.synology-fact-grid,.monitoring-chart-grid{gap:6px}
.module-card,.vm-module-card,.linux-module-card{gap:6px}
.module-card>.card-actions,.vm-module-card>.card-actions{margin-bottom:6px;padding-bottom:6px}
.linux-filesystems,.esxi-vm-section,.collapsible-section,.synology-storage-history,.monitoring-history,.synology-volumes,.synology-disks{margin-block:6px}
.collapsible-section,.synology-storage-history,.monitoring-history{padding:8px}
.notice{margin-bottom:6px;padding:8px 10px}
.synology-module-heading .linux-metrics{gap:6px}
@media(max-width:850px){.vm-module-card.is-synology-module{grid-template-columns:1fr}.vm-module-card.is-synology-module>.synology-module-heading>div:first-child,.vm-module-card.is-synology-module>.vm-integration-metrics{grid-column:1;grid-row:auto}.vm-module-card.is-synology-module>.vm-integration-metrics{grid-template-columns:repeat(auto-fit,minmax(150px,1fr))}}

/* A single visual treatment for alerts and state-colored DSM inventory. */
.linux-update-notice{border-left:1px solid #e4ad3935!important}
.notification-history{margin-top:8px;padding-top:8px;border-top:1px solid #ffffff12}
.notification-history>summary{display:flex;align-items:center;gap:8px;cursor:pointer;list-style:none;color:#b89afa;font-size:11px;font-weight:600}
.notification-history>summary::-webkit-details-marker{display:none}
.notification-history>summary:after{content:'+';margin-left:auto;font-size:14px}
.notification-history[open]>summary:after{content:'−'}
.notification-history[open]>.notification-list{margin-top:8px}
.notification-empty{padding:8px 0}
.notification-item.notification-active{border-color:#e4ad3935;background:#e4ad3908}
.notification-item.notification-resolved{opacity:.72}
.notification-item.notification-status{background:#8c62ef08}
.synology-state-card,.synology-pool-card,.synology-disk-card{border-color:#ffffff18}
.synology-state-good{border-color:#51cb8b55!important}
.synology-state-warning{border-color:#e9b65c66!important}
.synology-state-bad{border-color:#ed6d7270!important}
.state-outline-good{border-color:#51cb8b55!important}
.state-outline-warning{border-color:#e9b65c66!important}
.state-outline-bad{border-color:#ed6d7270!important}
.esxi-vm-card.vm-power-poweredOn{border-color:#51cb8b77}
.esxi-vm-card.vm-power-suspended{border-color:#e9b65c88}
.esxi-vm-card.vm-power-poweredOff{border-color:#ffffff35}
.synology-state-good .smart-value,.synology-state-good>.esxi-card-heading .chip{color:#62d99a}
.synology-state-warning .smart-value,.synology-state-warning>.esxi-card-heading .chip{color:#e9b65c}
.synology-state-bad .smart-value,.synology-state-bad>.esxi-card-heading .chip{color:#ed777c}
.module-card .panel,.vm-module-card .panel{margin-bottom:0}
.module-card :is(section,details,.monitoring-history,.synology-storage-history),.vm-module-card :is(section,details,.monitoring-history,.synology-storage-history){margin-block:6px}
.module-card :is(.esxi-card-grid,.esxi-inline-grid,.esxi-vm-grid,.linux-filesystem-grid,.monitoring-chart-grid),.vm-module-card :is(.esxi-card-grid,.esxi-inline-grid,.esxi-vm-grid,.linux-filesystem-grid,.monitoring-chart-grid){gap:6px}
.summary-grid{gap:8px;margin-bottom:14px}
.section-heading{margin-bottom:8px}
.notification-feed{padding:10px;margin-bottom:10px}
.notification-feed .section-heading{margin-bottom:6px}
.notification-list{gap:6px}
.notification-item{gap:8px;padding:8px 10px;border-radius:8px}
.form-required{color:#e9b65c;font-size:10px}
.esxi-vm-service-form input:required:invalid{border-color:#e9b65c99}
body[data-theme="light"] .notification-history{border-top-color:#e5e3ea}
body[data-theme="light"] .notification-item.notification-active{border-color:#efdfb5;background:#fffaf0}
body[data-theme="light"] .notification-item.notification-status{background:#f7f2ff}
body[data-theme="light"] .synology-state-good{border-color:#9ed6b7!important}
body[data-theme="light"] .synology-state-warning{border-color:#efdfb5!important}
body[data-theme="light"] .synology-state-bad{border-color:#efc2c4!important}
body[data-theme="light"] .state-outline-good{border-color:#9ed6b7!important}
body[data-theme="light"] .state-outline-warning{border-color:#efdfb5!important}
body[data-theme="light"] .state-outline-bad{border-color:#efc2c4!important}
body[data-theme="light"] .esxi-vm-card.vm-power-poweredOn{border-color:#9ed6b7}
body[data-theme="light"] .esxi-vm-card.vm-power-suspended{border-color:#efdfb5}
body[data-theme="light"] .esxi-vm-card.vm-power-poweredOff{border-color:#d5d1dd}

.form-panel input:required:invalid{border-color:#e9b65c99}
@media(min-width:1600px){.module-card-esxi .esxi-inline-metrics{grid-template-columns:repeat(6,minmax(0,1fr))}.esxi-overview-grid{grid-template-columns:repeat(5,minmax(0,1fr))}.module-card-esxi .esxi-local-disks-grid,.esxi-local-disks-grid{grid-template-columns:repeat(8,minmax(0,1fr))}}
@media(min-width:901px) and (max-width:1599px){.module-card-esxi .esxi-inline-metrics{grid-template-columns:repeat(3,minmax(0,1fr))}.module-card-esxi .esxi-local-disks-grid,.esxi-local-disks-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(max-width:900px){.module-card-esxi .esxi-inline-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.module-card-esxi .esxi-local-disks-grid,.esxi-local-disks-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:600px){.module-card-esxi .esxi-local-disks-grid,.esxi-local-disks-grid{grid-template-columns:1fr}}
@media(min-width:1100px){.esxi-vm-card-has-modules .esxi-vm-ip-list{grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:4px 12px}.esxi-vm-card-has-modules .esxi-vm-disks{display:grid;grid-template-columns:repeat(auto-fit,minmax(135px,1fr));gap:3px 12px}.esxi-vm-card-has-modules .esxi-vm-disks>span,.esxi-vm-card-has-modules .esxi-vm-disks>.esxi-vm-expandable{grid-column:1/-1}}
.synology-disks .esxi-card-grid,.synology-pools .esxi-card-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr));gap:6px}
.vm-module-card .synology-disks .esxi-card-grid,.vm-module-card .synology-pools .esxi-card-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,210px),1fr))}
.synology-disk-card{padding:9px!important;min-height:0!important}
.synology-disk-card .esxi-card-heading{gap:6px;margin-bottom:7px}
.synology-disk-card .esxi-card-heading h3{font-size:10px}
.synology-disk-card .esxi-kv{display:flex;flex-wrap:wrap;align-items:baseline;gap:3px 5px;font-size:9px}
.synology-disk-card .esxi-kv span{display:inline;color:#8f8b98}
.synology-disk-card .esxi-kv span:after{content:':' }
.synology-disk-card .esxi-kv strong{display:inline;margin-right:7px;font-size:9px}
.synology-pool-card{padding:9px!important}
.synology-pool-card p{display:inline-block;margin:2px 10px 5px 0;font-size:10px}
.synology-pool-card .synology-pool-disks{display:flex;align-items:baseline;flex-wrap:wrap;gap:4px;font-size:9px}
.synology-pool-card .synology-pool-disks ul{display:inline-flex;gap:4px 12px;margin:0;padding-left:15px}
.synology-volumes .esxi-card,.synology-pools .esxi-card{padding:9px!important}
.synology-volumes .esxi-card-heading,.synology-pools .esxi-card-heading{gap:6px;margin-bottom:6px}
.synology-volumes .esxi-card-heading h3,.synology-pools .esxi-card-heading h3{font-size:11px}
.synology-volumes .storage-bar{margin:6px 0}
.synology-volumes .muted{margin-top:5px}
.synology-pools .synology-pool-card p{margin:1px 8px 3px 0}

/* Top-level modules always span the dashboard; nested VM modules keep their own layout. */
.module-grid{grid-template-columns:minmax(0,1fr)}
.module-grid>*{grid-column:1/-1;min-width:0}

/* Remote module legibility and per-module card density. */
.remote-module-card{min-width:0}
.remote-module-card .esxi-card-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,240px),1fr));gap:10px}
.remote-module-card .esxi-card-grid[data-fixed-columns]{grid-template-columns:repeat(var(--remote-columns),minmax(0,1fr))}
.remote-module-card .esxi-card-grid>*{min-width:0}
.remote-module-card .esxi-card{display:grid;align-content:start;gap:7px;min-width:0;padding:12px}
.remote-module-card .esxi-card-heading{gap:10px;align-items:flex-start}
.remote-module-card .esxi-card-heading h3{min-width:0;overflow-wrap:anywhere}
.remote-module-card small{display:block;margin:0;color:#92909d;font-size:11px;line-height:1.5;overflow-wrap:anywhere;word-break:break-word}
.remote-module-card .linux-metrics{gap:10px}
.remote-module-card .linux-metrics>div{align-content:start;gap:6px;min-width:0;padding:10px}
.remote-module-card .linux-metrics span{font-size:11px;line-height:1.4}
.remote-module-card .linux-metrics strong{font-size:12px;line-height:1.45}
.remote-module-card .collapsible-section{margin-block:8px;padding:10px 12px}
.remote-module-card .collapsible-section>summary{font-size:12px}
.remote-module-card .esxi-card p{margin:0;line-height:1.5}
.module-columns-control{display:flex;align-items:center;gap:8px;margin-left:auto;color:#92909d;font-size:11px;white-space:nowrap}
.module-columns-control select{width:auto;min-width:135px;padding:6px 9px;font-size:11px}
.module-card [data-fixed-columns],.vm-module-card [data-fixed-columns]{grid-template-columns:repeat(var(--remote-columns),minmax(0,1fr))}
.module-card .remote-module-card .esxi-card-grid[data-fixed-columns],.vm-module-card .remote-module-card .esxi-card-grid[data-fixed-columns]{grid-template-columns:repeat(var(--remote-columns),minmax(0,1fr))}
body[data-theme="light"] .module-columns-control{color:#696675}
@media(max-width:700px){.module-card>.card-actions,.vm-module-card>.card-actions{flex-wrap:wrap}.module-columns-control{margin-left:0;flex-basis:100%;justify-content:flex-end}}

/* Compact WAN and resource panels in OpenWrt cards. */
.remote-module-card .openwrt-wan-section,.remote-module-card .openwrt-resources-section{margin-block:6px;padding:8px 10px}
.remote-module-card .openwrt-wan-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),min(100%,460px)));justify-content:start;gap:6px}
.remote-module-card .openwrt-resource-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),min(100%,520px)));justify-content:start;gap:6px}
.remote-module-card .openwrt-wan-grid .esxi-card,.remote-module-card .openwrt-resource-grid .esxi-card{gap:5px;padding:8px 9px}
.remote-module-card .openwrt-wan-grid .esxi-card-heading,.remote-module-card .openwrt-resource-grid .esxi-card-heading{margin:0 0 2px}
.remote-module-card .openwrt-wan-facts,.remote-module-card .openwrt-check-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:3px 10px;min-width:0}
.remote-module-card .openwrt-wan-facts small,.remote-module-card .openwrt-check-facts small{line-height:1.35}
@media(max-width:420px){.remote-module-card .openwrt-wan-facts,.remote-module-card .openwrt-check-facts{grid-template-columns:1fr}}

/* Keep OpenWrt resource tiles compact and sized to their content. */
.remote-module-card .openwrt-resource-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),320px));justify-content:start;align-items:start;gap:6px}
.remote-module-card .openwrt-resource-grid .esxi-card{gap:3px;padding:7px 9px}
.remote-module-card .openwrt-resource-grid .esxi-card h3{margin:0 0 2px;font-size:13px;line-height:1.3}
.remote-module-card .openwrt-resource-grid .esxi-card small{font-size:11px;line-height:1.35}

/* Shared visual language: module → section → card. */
:root{--module-gap:8px;--section-gap:6px;--section-padding:8px 10px;--card-padding:10px;--card-radius:8px;--card-title-size:12px;--card-text-size:11px;--card-muted-size:10px}
.module-grid{gap:var(--module-gap)}
.module-card,.vm-module-card{padding:12px}
.module-card :is(section,details,.monitoring-history,.synology-storage-history),.vm-module-card :is(section,details,.monitoring-history,.synology-storage-history){margin-block:var(--section-gap)}
.module-card :is(.collapsible-section,.esxi-accordion,.synology-storage-history,.monitoring-history),.vm-module-card :is(.collapsible-section,.esxi-accordion,.synology-storage-history,.monitoring-history){padding:var(--section-padding);border-radius:var(--card-radius)}
.module-card :is(.esxi-card-grid,.esxi-inline-grid,.esxi-vm-grid,.linux-filesystem-grid,.monitoring-chart-grid),.vm-module-card :is(.esxi-card-grid,.esxi-inline-grid,.esxi-vm-grid,.linux-filesystem-grid,.monitoring-chart-grid){gap:var(--section-gap)}
.module-card :is(.esxi-card,.esxi-vm-card,.esxi-inline-item,.esxi-inline-store,.linux-filesystem,.linux-metrics>div,.esxi-inline-metrics>div,.synology-fact-grid>article,.synology-backup-task),.vm-module-card :is(.esxi-card,.esxi-vm-card,.esxi-inline-item,.esxi-inline-store,.linux-filesystem,.linux-metrics>div,.esxi-inline-metrics>div,.synology-fact-grid>article,.synology-backup-task){padding:var(--card-padding)!important;border-radius:var(--card-radius)}
.module-card :is(.esxi-card,.esxi-vm-card,.esxi-inline-item,.esxi-inline-store,.linux-filesystem,.linux-metrics>div,.esxi-inline-metrics>div,.synology-fact-grid>article,.synology-backup-task),.vm-module-card :is(.esxi-card,.esxi-vm-card,.esxi-inline-item,.esxi-inline-store,.linux-filesystem,.linux-metrics>div,.esxi-inline-metrics>div,.synology-fact-grid>article,.synology-backup-task){font-size:var(--card-text-size);line-height:1.4}
.module-card :is(.esxi-card-heading h3,.esxi-vm-heading>strong,.synology-fact-grid h3,.synology-backup-task h3),.vm-module-card :is(.esxi-card-heading h3,.esxi-vm-heading>strong,.synology-fact-grid h3,.synology-backup-task h3){font:600 var(--card-title-size)/1.35 Manrope,sans-serif}
.module-card .esxi-card>h3,.vm-module-card .esxi-card>h3{font:600 var(--card-title-size)/1.35 Manrope,sans-serif;margin:0}
.module-card :is(.esxi-card small,.esxi-vm-facts span,.esxi-vm-facts small,.esxi-inline-item small,.esxi-inline-store small,.linux-filesystem small,.linux-metrics span,.linux-metrics small,.synology-fact-grid span,.synology-backup-task p span),.vm-module-card :is(.esxi-card small,.esxi-vm-facts span,.esxi-vm-facts small,.esxi-inline-item small,.esxi-inline-store small,.linux-filesystem small,.linux-metrics span,.linux-metrics small,.synology-fact-grid span,.synology-backup-task p span){font-size:var(--card-muted-size);line-height:1.4}
.module-card .esxi-inline-metrics span,.vm-module-card .esxi-inline-metrics span{font-size:var(--card-muted-size);line-height:1.4}
.module-card :is(.esxi-inline-item>div>strong,.esxi-inline-store .esxi-inline-item strong,.linux-filesystem>div:first-child strong),.vm-module-card :is(.esxi-inline-item>div>strong,.esxi-inline-store .esxi-inline-item strong,.linux-filesystem>div:first-child strong){font:600 var(--card-title-size)/1.35 Manrope,sans-serif}
.module-card :is(.esxi-card p,.esxi-inline-store,.esxi-vm-facts strong,.linux-filesystem strong,.linux-metrics strong,.synology-fact-grid strong,.synology-backup-task p strong),.vm-module-card :is(.esxi-card p,.esxi-inline-store,.esxi-vm-facts strong,.linux-filesystem strong,.linux-metrics strong,.synology-fact-grid strong,.synology-backup-task p strong){font-size:var(--card-text-size);line-height:1.4}
/* Give state-bearing cards a consistent, subtle state border. */
.module-card :is(.esxi-card,.esxi-vm-card,.esxi-inline-item,.esxi-inline-store,.linux-filesystem,.linux-metrics>div,.esxi-inline-metrics>div,.synology-fact-grid>article,.synology-backup-task):is(.state-outline-good,.synology-state-good,.vm-power-poweredOn),.vm-module-card :is(.esxi-card,.esxi-vm-card,.esxi-inline-item,.esxi-inline-store,.linux-filesystem,.linux-metrics>div,.esxi-inline-metrics>div,.synology-fact-grid>article,.synology-backup-task):is(.state-outline-good,.synology-state-good,.vm-power-poweredOn),.module-card :is(.esxi-card,.esxi-inline-item):has(.status-up,.synology-chip-good),.vm-module-card :is(.esxi-card,.esxi-inline-item):has(.status-up,.synology-chip-good){border-color:#51cb8b55}
.module-card :is(.esxi-card,.esxi-vm-card,.esxi-inline-item,.esxi-inline-store,.linux-filesystem,.linux-metrics>div,.esxi-inline-metrics>div,.synology-fact-grid>article,.synology-backup-task):is(.state-outline-warning,.synology-state-warning,.vm-power-suspended),.vm-module-card :is(.esxi-card,.esxi-vm-card,.esxi-inline-item,.esxi-inline-store,.linux-filesystem,.linux-metrics>div,.esxi-inline-metrics>div,.synology-fact-grid>article,.synology-backup-task):is(.state-outline-warning,.synology-state-warning,.vm-power-suspended),.module-card :is(.esxi-card,.esxi-inline-item):has(.status-warning,.synology-chip-warning),.vm-module-card :is(.esxi-card,.esxi-inline-item):has(.status-warning,.synology-chip-warning){border-color:#e9b65c66}
.module-card :is(.esxi-card,.esxi-vm-card,.esxi-inline-item,.esxi-inline-store,.linux-filesystem,.linux-metrics>div,.esxi-inline-metrics>div,.synology-fact-grid>article,.synology-backup-task):is(.state-outline-bad,.synology-state-bad),.vm-module-card :is(.esxi-card,.esxi-vm-card,.esxi-inline-item,.esxi-inline-store,.linux-filesystem,.linux-metrics>div,.esxi-inline-metrics>div,.synology-fact-grid>article,.synology-backup-task):is(.state-outline-bad,.synology-state-bad),.module-card :is(.esxi-card,.esxi-inline-item):has(.status-down),.vm-module-card :is(.esxi-card,.esxi-inline-item):has(.status-down){border-color:#ed6d7270}
.module-card .esxi-vm-card.vm-power-poweredOff,.vm-module-card .esxi-vm-card.vm-power-poweredOff{border-color:#ffffff35}
body[data-theme="light"] .module-card :is(.esxi-card,.esxi-vm-card,.esxi-inline-item,.esxi-inline-store,.linux-filesystem,.linux-metrics>div,.esxi-inline-metrics>div,.synology-fact-grid>article,.synology-backup-task):is(.state-outline-good,.synology-state-good,.vm-power-poweredOn),body[data-theme="light"] .vm-module-card :is(.esxi-card,.esxi-vm-card,.esxi-inline-item,.esxi-inline-store,.linux-filesystem,.linux-metrics>div,.esxi-inline-metrics>div,.synology-fact-grid>article,.synology-backup-task):is(.state-outline-good,.synology-state-good,.vm-power-poweredOn){border-color:#9ed6b7}
body[data-theme="light"] .module-card :is(.esxi-card,.esxi-vm-card,.esxi-inline-item,.esxi-inline-store,.linux-filesystem,.linux-metrics>div,.esxi-inline-metrics>div,.synology-fact-grid>article,.synology-backup-task):is(.state-outline-warning,.synology-state-warning,.vm-power-suspended),body[data-theme="light"] .vm-module-card :is(.esxi-card,.esxi-vm-card,.esxi-inline-item,.esxi-inline-store,.linux-filesystem,.linux-metrics>div,.esxi-inline-metrics>div,.synology-fact-grid>article,.synology-backup-task):is(.state-outline-warning,.synology-state-warning,.vm-power-suspended){border-color:#efdfb5}
body[data-theme="light"] .module-card :is(.esxi-card,.esxi-vm-card,.esxi-inline-item,.esxi-inline-store,.linux-filesystem,.linux-metrics>div,.esxi-inline-metrics>div,.synology-fact-grid>article,.synology-backup-task):is(.state-outline-bad,.synology-state-bad),body[data-theme="light"] .vm-module-card :is(.esxi-card,.esxi-vm-card,.esxi-inline-item,.esxi-inline-store,.linux-filesystem,.linux-metrics>div,.esxi-inline-metrics>div,.synology-fact-grid>article,.synology-backup-task):is(.state-outline-bad,.synology-state-bad){border-color:#efc2c4}
body[data-theme="light"] .module-card :is(.esxi-card,.esxi-inline-item):has(.status-up,.synology-chip-good),body[data-theme="light"] .vm-module-card :is(.esxi-card,.esxi-inline-item):has(.status-up,.synology-chip-good){border-color:#9ed6b7}
body[data-theme="light"] .module-card :is(.esxi-card,.esxi-inline-item):has(.status-warning,.synology-chip-warning),body[data-theme="light"] .vm-module-card :is(.esxi-card,.esxi-inline-item):has(.status-warning,.synology-chip-warning){border-color:#efdfb5}
body[data-theme="light"] .module-card :is(.esxi-card,.esxi-inline-item):has(.status-down),body[data-theme="light"] .vm-module-card :is(.esxi-card,.esxi-inline-item):has(.status-down){border-color:#efc2c4}
/* ESXi and Synology use different markup for sections; normalize their rhythm and headings. */
.module-card :is(.esxi-accordion,.linux-filesystems,.esxi-vm-section,.synology-storage-history,.monitoring-history),.vm-module-card :is(.esxi-accordion,.linux-filesystems,.esxi-vm-section,.synology-storage-history,.monitoring-history){margin-block:var(--section-gap)!important}
.module-card :is(.esxi-accordion>summary,.collapsible-section>summary,.linux-filesystems>h4,.esxi-vm-section>h4,.synology-storage-history>summary,.monitoring-history>summary),.vm-module-card :is(.esxi-accordion>summary,.collapsible-section>summary,.linux-filesystems>h4,.esxi-vm-section>h4,.synology-storage-history>summary,.monitoring-history>summary){font:600 12px/1.35 Manrope,sans-serif}
.module-card :is(.linux-filesystems>h4,.esxi-vm-section>h4),.vm-module-card :is(.linux-filesystems>h4,.esxi-vm-section>h4){margin:0 0 var(--section-gap)}
.module-card :is(.esxi-accordion>summary,.collapsible-section>summary,.synology-storage-history>summary,.monitoring-history>summary),.vm-module-card :is(.esxi-accordion>summary,.collapsible-section>summary,.synology-storage-history>summary,.monitoring-history>summary){padding:var(--section-padding)}
.module-card h4,.vm-module-card h4{font:600 12px/1.35 Manrope,sans-serif}
.module-card .linux-module-card,.vm-module-card .linux-module-card{gap:var(--section-gap)}
.module-card-esxi .esxi-inline{margin-bottom:var(--section-gap);padding-bottom:var(--section-gap)}
.module-card .linux-extra-metrics,.vm-module-card .linux-extra-metrics{gap:var(--section-gap)}
.module-card .linux-extra-metrics>details,.vm-module-card .linux-extra-metrics>details{margin:0!important;padding:var(--section-padding);border-radius:var(--card-radius)}
.module-card .linux-extra-metrics>details>summary,.vm-module-card .linux-extra-metrics>details>summary{font:600 12px/1.35 Manrope,sans-serif}
.module-card .linux-extra-grid,.vm-module-card .linux-extra-grid{gap:var(--section-gap);margin-top:var(--section-gap)}
.module-card .linux-extra-grid article,.vm-module-card .linux-extra-grid article{gap:var(--section-gap);padding:var(--card-padding);border-radius:var(--card-radius);font-size:var(--card-text-size);line-height:1.4}
.module-card .linux-extra-grid article>strong,.vm-module-card .linux-extra-grid article>strong{font:600 var(--card-title-size)/1.35 Manrope,sans-serif}
.module-card .linux-extra-grid article span,.module-card .linux-extra-grid article small,.vm-module-card .linux-extra-grid article span,.vm-module-card .linux-extra-grid article small{font-size:var(--card-muted-size);line-height:1.4}
.module-card .monitoring-chart-card,.vm-module-card .monitoring-chart-card{padding:var(--card-padding);border-radius:var(--card-radius)}
.module-card .monitoring-chart-card h4,.vm-module-card .monitoring-chart-card h4{margin:0 0 var(--section-gap);font:600 var(--card-title-size)/1.35 Manrope,sans-serif}
.module-card .monitoring-chart-card>small,.vm-module-card .monitoring-chart-card>small{font-size:var(--card-muted-size);line-height:1.4}
.module-action-meta{align-self:center;flex:1 1 auto;margin:0 0 0 8px;min-width:0;color:#a7a3b0;font-size:10px;line-height:1.4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.module-card>.card-actions .module-columns-control{margin-left:auto}
.keenetic-data-content{min-width:0;margin-top:10px}.keenetic-data-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:8px;margin:0}.keenetic-data-item{min-width:0;padding:9px 11px;border:1px solid var(--border,#ffffff14);border-radius:8px;background:var(--surface-soft,#ffffff03)}.keenetic-data-item dt{margin:0 0 4px;color:var(--muted,#a7a3b0);font-size:12px;line-height:1.35}.keenetic-data-item dd{margin:0;overflow-wrap:anywhere;font-size:13px;line-height:1.45}.keenetic-data-grid-nested{gap:6px}.keenetic-data-grid-nested .keenetic-data-item{padding:7px 8px}.keenetic-data-list{display:grid;gap:8px}.keenetic-data-list-cards{grid-template-columns:repeat(auto-fit,minmax(min(100%,260px),1fr))}.keenetic-data-entry{min-width:0;padding:8px;border:1px solid var(--border,#ffffff14);border-radius:8px}.keenetic-data-values{display:flex;flex-wrap:wrap;gap:6px}.keenetic-data-values span{padding:4px 7px;border:1px solid var(--border,#ffffff14);border-radius:6px;overflow-wrap:anywhere}
.keenetic-data-entry>h4{margin:0 0 7px;font-size:13px;line-height:1.35;overflow-wrap:anywhere}.keenetic-data-entry>.keenetic-data-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,180px),1fr))}.keenetic-nested-details{min-width:0}.keenetic-nested-details>summary{display:flex;align-items:center;gap:6px;cursor:pointer;list-style:none;color:var(--muted,#a7a3b0);font-size:12px;line-height:1.35;overflow-wrap:anywhere}.keenetic-nested-details>summary::-webkit-details-marker{display:none}.keenetic-nested-details[open]>summary{margin-bottom:7px}.keenetic-nested-details>.keenetic-data-grid{grid-template-columns:repeat(auto-fit,minmax(min(100%,170px),1fr))}.keenetic-data-item:has(>.keenetic-nested-details){padding:8px 9px}.keenetic-data-item dd .keenetic-data-values{gap:4px}.keenetic-data-item dd .keenetic-data-values span{padding:3px 5px;font-size:11px}
