* { box-sizing: border-box; }
/* Viewport-aware site scaling. 1920x1080 remains the 100% design baseline. */
:root {
  --ark-base-font-size: 18px;
  --ark-ui-scale: 1;
  --ark-ui-scale-inverse: 1;
  --ark-layout-vw: 100vw;
  --ark-layout-vh: 100vh;
}
html[data-ark-ui-scaled="true"] #app {
  width: var(--ark-layout-vw);
  height: var(--ark-layout-vh);
  transform-origin: top left;
}
@supports (zoom: 1) {
  html[data-ark-ui-scaled="true"] #app {
    zoom: var(--ark-ui-scale);
  }
}
@supports not (zoom: 1) {
  html[data-ark-ui-scaled="true"] #app {
    transform: scale(var(--ark-ui-scale));
  }
}

html { font-size: var(--ark-base-font-size); }
html, body { margin: 0; width: 100%; height: 100%; overflow: hidden; background: #0d1117; color: #c9d1d9; font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Arial, sans-serif; }
button, input, select { font: inherit; }
#app { height: var(--ark-layout-vh); width: var(--ark-layout-vw); background: #0d1117; }
.main-layout { min-height: var(--ark-layout-vh); padding: 24px; background: #0d1117; }
.flex-center { display: flex; align-items: center; justify-content: center; }
.bootloader-card, .engine-card { background: #12161c; border: 1px solid #21262d; border-radius: 8px; box-shadow: 0 20px 40px rgba(0,0,0,.6); }
.bootloader-card { width: min(800px, 100%); padding: 40px; text-align: center; }
.engine-card { width: min(1150px, 100%); padding: 35px; }
.boot-header, .engine-header { font-family: Consolas, monospace; color: #8b949e; font-size: .9rem; text-align: left; border-bottom: 1px solid #21262d; padding-bottom: 15px; margin-bottom: 30px; }
.terminal-caret, .online { color: #2ea043; font-weight: 700; }
.logo-container { width: min(550px, 100%); margin: 20px auto; }
.vector-logo { width: 100%; height: auto; }
.glow-text { font-family: Consolas, monospace; font-weight: 900; font-size: 68px; fill: #2ea043; letter-spacing: 6px; }
.status-strip { font-family: Consolas, monospace; font-size: 1.05rem; margin: 25px 0; }
.description { color: #8b949e; font-size: .95rem; margin-bottom: 35px; }
.control-strip { display: grid; gap: 20px; grid-template-columns: repeat(5, 1fr); margin-bottom: 25px; }
.parameter-grid { display: grid; gap: 20px; grid-template-columns: repeat(3, 1fr); }
.input-block, .field-node, .form-node { display: flex; flex-direction: column; gap: 6px; }
label { font-size: .72rem; color: #8b949e; font-weight: 700; letter-spacing: .02em; }
.cyber-input, .cyber-select, .side-input, .side-select, .modal-input, .modal-select { background: #0b0f14; border: 1px solid #30363d; color: #f0f6fc; padding: 10px 12px; border-radius: 4px; outline: none; width: 100%; }
.cyber-input:focus, .cyber-select:focus, .side-input:focus, .side-select:focus, .modal-input:focus, .modal-select:focus { border-color: #2ea043; }
.form-factor-sub { margin-top: 8px; font-size: .85rem; padding: 7px 10px; }
.cyber-divider { border: 0; height: 1px; background: #21262d; margin: 25px 0; }
.jbod-helper-info, .sidebar-subtitle { font-family: Consolas, monospace; font-size: .72rem; color: #58a6ff; margin-top: 6px; }
.action-zone { display: flex; justify-content: center; }
.margin-top { margin-top: 30px; }
.margin-top-sm { margin-top: 8px; }
.btn-boot, .btn-launch { font-family: Consolas, monospace; font-weight: 800; cursor: pointer; background: transparent; border: 1px solid #2ea043; color: #2ea043; border-radius: 4px; }
.btn-boot { padding: 14px 32px; }
.btn-launch { width: 100%; padding: 16px; font-size: 1.05rem; }
.btn-boot:hover, .btn-launch:hover { border-color: #00ffff; color: #00ffff; background: rgba(0,255,255,.05); }
.app-shell { display: flex; height: var(--ark-layout-vh); width: var(--ark-layout-vw); background: #0b0f14; overflow: hidden; }
.spec-sidebar { width: 340px; background: #12161c; border-right: 1px solid #21262d; padding: 20px; display: flex; flex-direction: column; gap: 15px; overflow-y: auto; }
.sidebar-brand { font-family: Consolas, monospace; font-size: 1.4rem; font-weight: 900; color: #2ea043; letter-spacing: 2px; }
.meta-fields { display: flex; flex-direction: column; gap: 10px; }
.read-only-field { color: #8b949e; border-style: dashed; }
.bulk-capacity-panel, .scanner-pass-panel { background: #161b22; border: 1px solid #30363d; border-radius: 6px; padding: 12px; display: flex; flex-direction: column; gap: 8px; }
.panel-header { font-family: Consolas, monospace; font-size: .72rem; color: #58a6ff; margin-bottom: 4px; font-weight: 800; }
.btn-side, .btn-pipeline { padding: 10px; border-radius: 4px; font-weight: 700; font-size: .85rem; cursor: pointer; border: 1px solid #30363d; }
.btn-primary { background: #238636; color: #fff; border-color: #2ea043; }
.btn-secondary { background: #21262d; color: #c9d1d9; }
.btn-danger { background: #da3637; color: #fff; border-color: #da3637; }
.sidebar-actions { margin-top: auto; display: flex; flex-direction: column; gap: 8px; }
.pipeline-btn-group { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.btn-pipeline { background: #0b0f14; color: #c9d1d9; }
.selected-target-badge { font-family: Consolas, monospace; color: #d29922; font-size: .72rem; }
.workspace-panel { flex: 1; padding: 20px; overflow-y: auto; height: var(--ark-layout-vh); }
.matrix-viewscreen { display: flex; flex-direction: column; gap: 20px; }
.enclosure-block { background: #161b22; border: 1px solid #30363d; border-radius: 6px; padding: 15px; }
.enclosure-title { font-family: Consolas, monospace; font-size: .8rem; color: #8b949e; margin-bottom: 12px; border-bottom: 1px dashed #30363d; padding-bottom: 6px; }
.bay-grid { display: grid; gap: 8px; }
.jbod-wrapping-grid { grid-auto-rows: minmax(125px, auto); }
.drive-bay { background: #0b0f14; border: 1px solid #30363d; border-radius: 4px; padding: 8px; display: flex; flex-direction: column; gap: 8px; min-height: 110px; cursor: pointer; position: relative; }
.drive-bay:hover { border-color: #8b949e; }
.drive-bay.selected { border-color: #58a6ff; box-shadow: 0 0 8px rgba(88,166,255,.25); }
.drive-bay.populated { background: #1f242c; border-color: #2ea043; }
.drive-bay.deactivated { background: #101010; border-color: #401010; opacity: .42; }
.drive-bay-header { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.bay-index { font-family: Consolas, monospace; font-size: .72rem; color: #8b949e; font-weight: 800; }
.bay-status { flex: 1; display: flex; flex-direction: column; justify-content: center; }
.bay-serial { font-family: Consolas, monospace; font-size: .68rem; color: #f0f6fc; word-break: break-all; }
.bay-type-label { font-size: .58rem; color: #8b949e; margin-top: 2px; }
.os-pill { background: #238636; color: #fff; font-size: .55rem; font-weight: 800; padding: 2px 4px; border-radius: 3px; width: fit-content; margin-bottom: 3px; font-family: Consolas, monospace; }
.bay-inline-select { width: 100%; background: #161b22; border: 1px solid #30363d; color: #c9d1d9; font-size: .68rem; padding: 4px; border-radius: 3px; outline: none; }
.switch-container { display: inline-flex; align-items: center; }
.slider-switch { display: inline-block; width: 32px; height: 16px; border-radius: 20px; background: #30363d; position: relative; }
.slider-switch:before { content: ""; position: absolute; width: 12px; height: 12px; left: 2px; top: 2px; border-radius: 50%; background: #8b949e; transition: .15s; }
.switch-container input { display: none; }
.switch-container input:checked + .slider-switch { background: #238636; }
.switch-container input:checked + .slider-switch:before { transform: translateX(16px); background: #fff; }
.modal-overlay { position: fixed; inset: 0; background: rgba(0,0,0,.72); display: flex; align-items: center; justify-content: center; z-index: 999; }
.modal-card { background: #161b22; border: 1px solid #30363d; width: min(500px, calc(var(--ark-layout-vw) - 24px)); border-radius: 8px; box-shadow: 0 8px 24px rgba(0,0,0,.5); display: flex; flex-direction: column; }
.modal-header-bar { padding: 15px; border-bottom: 1px solid #30363d; display: flex; align-items: center; justify-content: space-between; }
.modal-header-bar h3 { margin: 0; font-size: .9rem; font-family: Consolas, monospace; color: #58a6ff; }
.btn-close-x { background: transparent; border: 0; color: #8b949e; font-size: 1.4rem; cursor: pointer; }
.modal-body-content { padding: 20px; display: flex; flex-direction: column; gap: 15px; }
.modal-info-grid { background: #0b0f14; border: 1px solid #30363d; padding: 10px; border-radius: 4px; display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.info-tag label { display: block; font-size: .6rem; color: #8b949e; }
.info-tag span { font-family: Consolas, monospace; font-size: .8rem; color: #2ea043; font-weight: 800; }
.modal-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 10px; }
.animate-fade { animation: fadeIn .25s ease-in-out; }
@keyframes fadeIn { from { opacity: 0; transform: scale(.985); } to { opacity: 1; transform: scale(1); } }
@media (max-width: 900px) {
  html, body, #app { overflow: auto; }
  .main-layout { min-height: auto; }
  .control-strip, .parameter-grid { grid-template-columns: 1fr; }
  .app-shell { flex-direction: column; height: auto; overflow: auto; }
  .spec-sidebar { width: 100%; height: auto; }
  .workspace-panel { height: auto; }
  .bay-grid { grid-template-columns: repeat(auto-fill, minmax(130px, 1fr)) !important; }
}

/* v0.17.8.22 administrator late check-in monitor. */
.ark-topnav-count{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;margin-left:6px;padding:0 5px;border:1px solid #3a5268;border-radius:999px;background:#132231;color:#9fb5c8;font:900 9px/1 Consolas,monospace}
.ark-topnav-count.has-issues{border-color:#d29922;background:rgba(210,153,34,.14);color:#f2cc60}.ark-topnav-count.is-clear{border-color:#2ea043;color:#7ee787}
.late-checkins-layout{display:grid;grid-template-rows:auto auto minmax(0,1fr);gap:14px;min-height:0;padding:18px 22px}
.late-checkins-hero{display:flex;align-items:center;justify-content:space-between;gap:24px;padding:20px 24px;border:1px solid #29465f;border-left:5px solid #58a6ff;border-radius:9px;background:linear-gradient(110deg,#111d28 0%,#0f1922 65%,#12283a 100%);box-shadow:0 12px 30px rgba(0,0,0,.2)}
.late-checkins-eyebrow{display:block;color:#58a6ff;font:900 10px/1 Consolas,monospace;letter-spacing:.16em}.late-checkins-hero h1{margin:6px 0 5px;color:#f0f6fc;font-size:28px;line-height:1}.late-checkins-hero p{margin:0;color:#9fb5c8;font-size:12px}
.late-checkins-live{display:flex;align-items:center;gap:9px;padding:9px 12px;border:1px solid #29465f;border-radius:999px;background:#0b151e;color:#b7c9d9;font:800 10px/1 Consolas,monospace;white-space:nowrap}.late-checkins-live i{width:8px;height:8px;border-radius:50%;background:#2ea043;box-shadow:0 0 10px #2ea043}
.late-checkins-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px}.late-checkins-metrics article{position:relative;overflow:hidden;padding:14px 16px;border:1px solid #283b4e;border-radius:8px;background:#111a23}.late-checkins-metrics article:before{content:"";position:absolute;inset:0 auto 0 0;width:3px;background:#58a6ff}.late-checkins-metrics article:nth-child(-n+2):before{background:#d29922}.late-checkins-metrics span,.late-checkins-metrics small{display:block;color:#7f9dbb;font:800 9px/1.2 Consolas,monospace;text-transform:uppercase;letter-spacing:.08em}.late-checkins-metrics strong{display:block;margin:6px 0 4px;color:#f0f6fc;font:900 24px/1 Consolas,monospace}.late-checkins-metrics small{font-size:8px;color:#637f98}
.late-checkins-workspace{display:flex;flex-direction:column;width:100%;max-width:none;min-height:0;overflow:hidden;padding:0}.late-checkins-tabs{flex:0 0 auto}.late-checkins-list-heading{display:flex;align-items:center;justify-content:space-between;padding:11px 16px;border-bottom:1px solid #26394b;background:#0e171f;color:#8ba7bf;font:800 10px/1 Consolas,monospace;text-transform:uppercase;letter-spacing:.08em}.late-checkins-list-heading strong{color:#c9d1d9}
.late-checkins-list{min-height:0;overflow:auto;padding:12px;display:grid;align-content:start;gap:9px}.late-checkin-row{display:grid;grid-template-columns:48px minmax(210px,1.4fr) minmax(190px,1fr) minmax(175px,.9fr) auto;align-items:center;gap:14px;padding:12px 14px;border:1px solid #2d4154;border-left:4px solid #d29922;border-radius:7px;background:linear-gradient(90deg,#121c25,#101820);transition:border-color .15s,background .15s}.late-checkin-row:hover{border-color:#496987;background:#14212d}.late-checkin-row.is-missing{border-left-color:#f85149}
.late-checkin-type{display:flex;align-items:center;justify-content:center;width:40px;height:40px;border:1px solid #3a6689;border-radius:7px;background:#10283b;color:#79c0ff;font:900 10px/1 Consolas,monospace}.late-checkin-type.computer{border-color:#765aa8;background:#241b38;color:#d2a8ff}
.late-checkin-identity,.late-checkin-health,.late-checkin-overdue{min-width:0}.late-checkin-row span,.late-checkin-row small{display:block;color:#7893aa;font:800 8px/1.25 Consolas,monospace;text-transform:uppercase;letter-spacing:.07em}.late-checkin-row strong{display:block;margin:4px 0;color:#e6edf3;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.late-checkin-overdue strong{color:#f2cc60}.late-checkin-row.is-missing .late-checkin-overdue strong{color:#ff7b72}.late-checkin-identity>strong{font-size:14px}.late-checkin-state{display:grid;justify-items:end;gap:8px}.late-checkin-open{min-width:74px;border:1px solid #3e6382;border-radius:5px;background:#15293a;color:#cce6fb;padding:7px 10px;font:900 9px/1 Consolas,monospace;text-transform:uppercase;cursor:pointer}.late-checkin-open:hover{border-color:#58a6ff;background:#1b3850;color:#fff}
.late-checkins-clear{display:grid;justify-items:center;align-content:center;min-height:260px;color:#7f9dbb;text-align:center}.late-checkins-clear span{display:flex;align-items:center;justify-content:center;width:54px;height:54px;border:1px solid #2ea043;border-radius:50%;background:rgba(46,160,67,.1);color:#7ee787;font-size:25px}.late-checkins-clear strong{margin-top:13px;color:#d7e5f0;font-size:16px}.late-checkins-clear p{margin:5px 0 0;font-size:11px}
@media(max-width:1100px){.late-checkins-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.late-checkin-row{grid-template-columns:42px minmax(190px,1fr) minmax(175px,1fr) auto}.late-checkin-overdue{grid-column:2/4}.late-checkin-state{grid-row:1/3;grid-column:4}}
@media(max-width:720px){.late-checkins-layout{padding:12px}.late-checkins-hero{align-items:flex-start;flex-direction:column}.late-checkins-metrics{grid-template-columns:1fr 1fr}.late-checkin-row{grid-template-columns:40px 1fr auto;gap:10px}.late-checkin-health,.late-checkin-overdue{grid-column:2/4}.late-checkin-state{grid-row:1;grid-column:3}.late-checkin-state .collector-health{display:none}.late-checkins-live{white-space:normal}}

/* Restored layout fixes */
.enclosure-block { overflow-x: auto; }
.bay-grid { min-width: fit-content; }
.drive-bay { min-width: 96px; }
.scanner-pass-panel button + .selected-target-badge { margin-top: 8px; }

.home-card { margin: 0 auto; }
.home-toolbar { display: grid; grid-template-columns: 1fr auto auto; gap: 12px; align-items: center; margin-bottom: 16px; }
.continue-panel { display: flex; align-items: center; gap: 12px; background: #0b0f14; border: 1px solid #30363d; border-radius: 6px; padding: 10px; margin-bottom: 16px; color: #8b949e; font-family: Consolas, monospace; font-size: .8rem; }
.server-card-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(240px, 1fr)); gap: 12px; }
.server-card { text-align: left; cursor: pointer; background: #0b0f14; border: 1px solid #30363d; color: #c9d1d9; border-radius: 8px; padding: 14px; min-height: 132px; display: flex; flex-direction: column; gap: 8px; }
.server-card:hover { border-color: #58a6ff; box-shadow: 0 0 0 1px rgba(88,166,255,.15); }
.server-card-title { font-family: Consolas, monospace; color: #2ea043; font-size: 1.02rem; font-weight: 900; }
.server-card-meta { color: #8b949e; font-size: .82rem; }
.server-card-footer { margin-top: auto; display: flex; justify-content: space-between; color: #58a6ff; font-family: Consolas, monospace; font-size: .76rem; }
.empty-home { border: 1px dashed #30363d; border-radius: 8px; padding: 28px; color: #8b949e; text-align: center; grid-column: 1 / -1; }
.drive-review-modal { width: min(980px, calc(var(--ark-layout-vw) - 24px)); }
.scan-review-grid { display: grid; grid-template-columns: 300px 1fr; gap: 16px; align-items: start; }
.scan-photo-panel { display: flex; flex-direction: column; gap: 10px; background: #0b0f14; border: 1px solid #30363d; border-radius: 6px; padding: 12px; }
.scan-photo-preview { width: 100%; max-height: 280px; object-fit: contain; background: #05070a; border: 1px solid #30363d; border-radius: 4px; }
.scan-photo-empty { height: 180px; display: flex; align-items: center; justify-content: center; color: #8b949e; background: #05070a; border: 1px dashed #30363d; border-radius: 4px; }
.drive-review-fields { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px; }
.wide-field { grid-column: 1 / -1; }
textarea.modal-input { min-height: 76px; resize: vertical; }
.ocr-panel { background: #0b0f14; border: 1px solid #30363d; border-radius: 6px; padding: 10px; }
.ocr-panel summary { cursor: pointer; color: #58a6ff; font-family: Consolas, monospace; font-size: .8rem; }
.ocr-panel pre { white-space: pre-wrap; max-height: 220px; overflow: auto; color: #c9d1d9; font-size: .78rem; }
.three-actions { grid-template-columns: 1fr 1fr 1fr; }
@media (max-width: 900px) {
  .home-toolbar { grid-template-columns: 1fr; }
  .scan-review-grid { grid-template-columns: 1fr; }
  .drive-review-fields { grid-template-columns: 1fr; }
  .three-actions { grid-template-columns: 1fr; }
}

.server-card-actions { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; margin-top: 4px; }
.btn-card { cursor: pointer; border: 1px solid #30363d; background: #161b22; color: #c9d1d9; border-radius: 4px; padding: 8px 10px; font-weight: 800; font-family: Consolas, monospace; font-size: .72rem; }
.btn-card:hover { border-color: #58a6ff; color: #58a6ff; }
.btn-card-open { border-color: #2ea043; color: #2ea043; }
.btn-card-edit { border-color: #8b949e; color: #c9d1d9; }
.btn-card-delete { border-color:#f85149; color:#ff7b72; }
.btn-card-delete:hover { border-color:#ff7b72; color:#fff; background:rgba(248,81,73,.12); }

.four-actions { grid-template-columns: 1fr 1fr 1fr 1fr; }
.btn-side:disabled { opacity: .45; cursor: not-allowed; }
@media (max-width: 900px) { .four-actions { grid-template-columns: 1fr; } }

.bay-edit-btn {
  width: 22px;
  height: 22px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #30363d;
  border-radius: 4px;
  background: #161b22;
  color: #58a6ff;
  cursor: pointer;
  font-family: Consolas, monospace;
  font-weight: 900;
  line-height: 1;
  flex: 0 0 auto;
}
.bay-edit-btn:hover { border-color: #58a6ff; background: rgba(88,166,255,.08); }
.bay-capacity-text {
  width: 100%;
  background: #161b22;
  border: 1px solid #30363d;
  color: #c9d1d9;
  font-size: .68rem;
  padding: 5px 6px;
  border-radius: 3px;
  min-height: 24px;
  display: flex;
  align-items: center;
}

.os-drive-toggle { display: inline-flex; align-items: center; gap: 10px; width: fit-content; background: #0b0f14; border: 1px solid #30363d; border-radius: 6px; padding: 10px 12px; color: #f0f6fc; font-size: .86rem; cursor: pointer; }
.os-drive-toggle input { width: 18px; height: 18px; accent-color: #238636; }
.report-os-pill { margin: 4px 0; }
.drive-table td:nth-child(2), .drive-table th:nth-child(2) { text-align: center; white-space: nowrap; }


.drive-editor-subtitle { margin-top: 4px; color: #8b949e; font-size: .76rem; font-family: Consolas, monospace; }
.drive-mobile-nav { display: grid; grid-template-columns: 1fr auto 1fr; gap: 10px; align-items: center; background: #0b0f14; border: 1px solid #30363d; border-radius: 8px; padding: 10px; position: sticky; top: 0; z-index: 2; }
.drive-mobile-counter { text-align: center; min-width: 110px; color: #f0f6fc; display: flex; flex-direction: column; gap: 2px; }
.drive-mobile-counter span { color: #8b949e; font-size: .76rem; }
.drive-quick-actions { display: flex; flex-wrap: wrap; gap: 10px; align-items: center; }
.drive-card-form { align-items: start; }
.drive-photo-card { position: sticky; top: 64px; }
.drive-mobile-fields .form-node label { font-size: .74rem; letter-spacing: .05em; color: #8b949e; text-transform: uppercase; }
.drive-mobile-actions { position: sticky; bottom: 0; background: #161b22; border-top: 1px solid #30363d; padding-top: 12px; z-index: 3; }
.mobile-drive-editor .modal-input, .mobile-drive-editor .modal-select { min-height: 44px; font-size: 16px; }
.mobile-drive-editor textarea.modal-input { min-height: 92px; }

@media (max-width: 720px) {
  .modal-overlay { align-items: stretch; justify-content: stretch; padding: 0; background: #0d1117; }
  .drive-review-modal, .modal-card.drive-review-modal { width: var(--ark-layout-vw); max-width: var(--ark-layout-vw); height: var(--ark-layout-vh); max-height: var(--ark-layout-vh); border-radius: 0; border: 0; }
  .drive-editor-header { padding: 12px 14px; }
  .drive-editor-header h3 { font-size: .86rem; line-height: 1.25; }
  .drive-editor-body { padding: 12px; overflow-y: auto; gap: 12px; }
  .drive-mobile-nav { grid-template-columns: 1fr 96px 1fr; padding: 8px; }
  .drive-mobile-nav .btn-side { min-height: 44px; padding-left: 8px; padding-right: 8px; font-size: .75rem; }
  .drive-summary-grid { grid-template-columns: 1fr; }
  .drive-quick-actions { display: grid; grid-template-columns: 1fr; }
  .drive-quick-actions .btn-side, .os-drive-toggle { width: 100%; min-height: 46px; justify-content: center; }
  .scan-review-grid, .drive-card-form { grid-template-columns: 1fr; }
  .drive-photo-card { position: static; }
  .scan-photo-panel { order: 2; }
  .drive-mobile-fields { order: 1; grid-template-columns: 1fr; gap: 10px; }
  .drive-mobile-actions, .modal-actions.four-actions { grid-template-columns: 1fr 1fr; gap: 8px; }
  .drive-mobile-actions .btn-side { min-height: 46px; padding-left: 8px; padding-right: 8px; }
}

@media (min-width: 721px) {
  .drive-review-modal { max-height: calc(var(--ark-layout-vh) - 40px); }
  .drive-editor-body { overflow-y: auto; }
  .drive-mobile-fields { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

@media (max-width: 900px) {
  .bay-grid.mobile-logical-grid {
    grid-template-columns: repeat(2, minmax(130px, 1fr)) !important;
    min-width: 0;
  }
  .mobile-logical-enclosure .drive-bay {
    min-width: 0;
  }
}
@media (max-width: 420px) {
  .bay-grid.mobile-logical-grid {
    grid-template-columns: repeat(2, minmax(120px, 1fr)) !important;
  }
}


.dashboard-layout { padding: 20px; }
.dashboard-card { width: min(1500px, 100%); }
.dashboard-header { display: flex; justify-content: space-between; gap: 18px; align-items: flex-start; margin-bottom: 18px; }
.dashboard-title { margin-bottom: 6px; padding-bottom: 8px; border-bottom: 0; }
.dashboard-subtitle { color: #8b949e; font-size: .9rem; }
.dashboard-actions { display: flex; gap: 10px; flex-wrap: wrap; justify-content: flex-end; }
.dashboard-filters { display: grid; grid-template-columns: repeat(3, minmax(160px, 1fr)) minmax(260px, 2fr) auto; gap: 12px; align-items: end; background: #0b0f14; border: 1px solid #30363d; border-radius: 8px; padding: 14px; margin-bottom: 16px; }
.dash-filter { display: flex; flex-direction: column; gap: 6px; }
.dash-filter span { font-size: .72rem; color: #8b949e; font-weight: 800; text-transform: uppercase; }
.kpi-grid { display: grid; grid-template-columns: repeat(6, minmax(110px, 1fr)); gap: 10px; margin-bottom: 16px; }
.kpi-card { background: #0b0f14; border: 1px solid #30363d; border-radius: 8px; padding: 14px; min-height: 96px; }
.kpi-label { color: #8b949e; font-size: .72rem; font-weight: 800; text-transform: uppercase; letter-spacing: .03em; }
.kpi-value { color: #f0f6fc; font-family: Consolas, monospace; font-size: 1.75rem; font-weight: 900; margin-top: 8px; }
.kpi-sub { color: #58a6ff; font-size: .74rem; margin-top: 4px; }
.analytics-grid { display: grid; grid-template-columns: repeat(4, minmax(180px, 1fr)); gap: 12px; margin-bottom: 16px; }
.analytics-card { background: #0b0f14; border: 1px solid #30363d; border-radius: 8px; padding: 14px; min-height: 160px; }
.analytics-title { color: #58a6ff; font-family: Consolas, monospace; font-size: .8rem; font-weight: 900; margin-bottom: 12px; text-transform: uppercase; }
.analytics-row { margin-bottom: 10px; }
.analytics-row-top { display: flex; justify-content: space-between; gap: 10px; color: #c9d1d9; font-size: .78rem; }
.analytics-bar { height: 7px; background: #161b22; border: 1px solid #30363d; border-radius: 999px; overflow: hidden; margin-top: 4px; }
.analytics-bar span { display: block; height: 100%; background: #238636; border-radius: 999px; }
.analytics-empty { color: #8b949e; font-size: .8rem; }
.progress-donut { width: 92px; height: 92px; border-radius: 50%; border: 10px solid #238636; display: flex; align-items: center; justify-content: center; margin: 8px auto 12px; background: #161b22; }
.progress-donut span { font-family: Consolas, monospace; color: #f0f6fc; font-size: 1.25rem; font-weight: 900; }
.server-section-header { display: flex; justify-content: space-between; color: #8b949e; font-family: Consolas, monospace; font-weight: 800; font-size: .8rem; margin: 14px 0 10px; }
.server-card-eyebrow { color: #58a6ff; font-size: .72rem; text-transform: uppercase; font-weight: 800; letter-spacing: .03em; }
.dashboard-server-list .server-card { min-height: 165px; }
@media (max-width: 1200px) {
  .kpi-grid { grid-template-columns: repeat(3, minmax(120px, 1fr)); }
  .analytics-grid { grid-template-columns: repeat(2, minmax(180px, 1fr)); }
  .dashboard-filters { grid-template-columns: repeat(2, minmax(160px, 1fr)); }
  .dash-search { grid-column: 1 / -1; }
}
@media (max-width: 700px) {
  .dashboard-layout { padding: 10px; }
  .dashboard-card { padding: 18px; }
  .dashboard-header { flex-direction: column; }
  .dashboard-actions { width: 100%; display: grid; grid-template-columns: 1fr 1fr; }
  .dashboard-filters, .kpi-grid, .analytics-grid { grid-template-columns: 1fr; }
  .kpi-card { min-height: 80px; }
  .kpi-value { font-size: 1.45rem; }
}

.global-search-panel{
  margin:18px 0;
  border:1px solid rgba(67,242,255,.25);
  background:rgba(4,12,22,.72);
  border-radius:16px;
  padding:14px;
  box-shadow:0 0 24px rgba(0,255,255,.07) inset;
}
.global-search-header{
  display:flex;
  justify-content:space-between;
  gap:10px;
  font-size:.78rem;
  letter-spacing:.08em;
  text-transform:uppercase;
  color:var(--muted);
  margin-bottom:10px;
}
.global-search-status,.global-search-empty,.global-search-error{
  padding:10px 12px;
  border-radius:10px;
  background:rgba(255,255,255,.04);
  color:var(--muted);
  margin-bottom:10px;
}
.global-search-error{color:#ff8c8c;border:1px solid rgba(255,80,80,.35)}
.global-search-results{display:grid;gap:10px}
.global-search-result{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding:12px;
  border:1px solid rgba(255,255,255,.10);
  border-radius:12px;
  background:rgba(255,255,255,.035);
}
.global-search-result.drive-result{border-color:rgba(255,209,102,.35)}
.global-result-type{font-size:.68rem;text-transform:uppercase;letter-spacing:.12em;color:var(--accent)}
.global-result-title{font-weight:800;font-size:1rem;color:var(--text)}
.global-result-meta,.global-result-detail{font-size:.82rem;color:var(--muted);margin-top:2px}
.drive-bay.search-hit{animation:arkSearchHit 1s ease-in-out 5;box-shadow:0 0 0 3px rgba(255,209,102,.75),0 0 28px rgba(255,209,102,.45)}
@keyframes arkSearchHit{0%,100%{transform:scale(1)}50%{transform:scale(1.04)}}
@media(max-width:700px){.global-search-result{align-items:stretch;flex-direction:column}.global-open-result{width:100%}}

.global-result-location {
  margin-top: 4px;
  font-weight: 800;
  letter-spacing: .04em;
  text-transform: uppercase;
  color: var(--accent, #60a5fa);
}

.dashboard-search-actions {
  display: flex;
  align-items: end;
  gap: 8px;
  flex-wrap: nowrap;
}
.btn-reset-small {
  min-width: auto;
  padding-left: 12px;
  padding-right: 12px;
}
#dashboardKpiBlock,
#dashboardAnalyticsBlock,
#dashboardSearchResultsBlock,
#dashboardServerListBlock {
  contain: content;
}
#dashboardServerListBlock {
  will-change: contents;
}
@media (max-width: 760px) {
  .dashboard-search-actions {
    width: 100%;
  }
  .dashboard-search-actions .btn-side {
    flex: 1 1 0;
  }
}

.virtual-server-list { width: 100%; }
.virtual-server-rows { display: grid; gap: 12px; }
.virtual-server-status { color: #8b949e; font-size: .8rem; text-align: center; padding: 14px 0 4px; }
.dashboard-server-list { content-visibility: auto; contain-intrinsic-size: 900px; }
.server-card { contain: layout paint; }

.validation-panel { border-color: rgba(210,153,34,.55); }
.validation-score { display: grid; place-items: center; min-height: 72px; border: 1px solid #30363d; border-radius: 8px; background: #0b0f14; margin-bottom: 8px; }
.validation-score span { font-family: Consolas, monospace; font-size: 1.6rem; font-weight: 900; line-height: 1; }
.validation-score small { color: #8b949e; font-size: .68rem; text-transform: uppercase; letter-spacing: .08em; }
.validation-score.good span { color: #2ea043; }
.validation-score.warn span { color: #d29922; }
.validation-score.bad span { color: #f85149; }
.validation-counts { display: grid; grid-template-columns: repeat(3,1fr); gap: 6px; margin-bottom: 8px; }
.validation-counts span { border: 1px solid #30363d; background: #0b0f14; border-radius: 4px; padding: 5px 4px; text-align: center; color: #8b949e; font-size: .62rem; font-family: Consolas, monospace; }
.validation-list { display: flex; flex-direction: column; gap: 6px; max-height: 260px; overflow: auto; padding-right: 2px; }
.validation-item { width: 100%; text-align: left; border: 1px solid #30363d; border-radius: 6px; background: #0b0f14; color: #c9d1d9; padding: 7px 8px; cursor: pointer; display: grid; gap: 2px; }
.validation-item:hover { border-color: #58a6ff; }
.validation-item strong { font-family: Consolas, monospace; font-size: .58rem; letter-spacing: .08em; }
.validation-item.error strong { color: #f85149; }
.validation-item.warning strong { color: #d29922; }
.validation-item.info strong { color: #58a6ff; }
.validation-item span { font-size: .72rem; font-weight: 800; }
.validation-item small { color: #8b949e; font-size: .62rem; line-height: 1.25; }
.validation-clean { border: 1px solid rgba(46,160,67,.55); color: #2ea043; background: rgba(46,160,67,.08); border-radius: 6px; padding: 8px; font-family: Consolas, monospace; font-size: .7rem; text-align: center; }
.validation-more { color: #8b949e; font-size: .68rem; font-family: Consolas, monospace; padding-top: 6px; text-align: center; }
.validation-badge { min-width: 20px; height: 20px; border-radius: 999px; display: inline-flex; align-items: center; justify-content: center; font-size: .62rem; font-weight: 900; font-family: Consolas, monospace; border: 1px solid currentColor; margin-left: auto; }
.validation-badge.error { color: #f85149; background: rgba(248,81,73,.12); }
.validation-badge.warning { color: #d29922; background: rgba(210,153,34,.12); }
.validation-badge.info { color: #58a6ff; background: rgba(88,166,255,.12); }
.drive-bay.validation-focus { outline: 3px solid #d29922; outline-offset: 2px; box-shadow: 0 0 0 5px rgba(210,153,34,.16); }
@media (max-width: 900px) { .validation-list { max-height: 180px; } }


.dashboard-layout-wide {
  padding: 0;
  height: var(--ark-layout-vh);
  overflow: hidden;
}
.dashboard-two-panel {
  display: grid;
  grid-template-columns: 280px minmax(0, 1fr);
  gap: 0;
  width: 100%;
  height: var(--ark-layout-vh);
  min-height: 0;
}
#dashboardCustomerPanelBlock {
  min-width: 0;
  height: var(--ark-layout-vh);
  overflow: hidden;
  border-right: 1px solid #21262d;
  background: #0b0f14;
}
.dashboard-customer-panel {
  height: 100%;
  overflow-y: auto;
  padding: 18px 14px;
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.dashboard-side-summary {
  background: #12161c;
  border: 1px solid #21262d;
  border-radius: 8px;
  padding: 14px;
  margin-bottom: 6px;
}
.dashboard-side-title,
.dashboard-side-heading {
  font-family: Consolas, monospace;
  color: #58a6ff;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  margin-bottom: 10px;
}
.dashboard-side-stat {
  display: flex;
  align-items: baseline;
  justify-content: space-between;
  gap: 10px;
  padding: 6px 0;
  border-top: 1px solid rgba(48,54,61,.75);
}
.dashboard-side-stat:first-of-type { border-top: 0; }
.dashboard-side-stat strong {
  color: #f0f6fc;
  font-size: 1rem;
}
.dashboard-side-stat span {
  color: #8b949e;
  font-size: .75rem;
}
.customer-nav-list {
  display: flex;
  flex-direction: column;
  gap: 4px;
}
.customer-nav-item {
  width: 100%;
  border: 1px solid transparent;
  background: transparent;
  color: #c9d1d9;
  border-radius: 6px;
  padding: 9px 10px;
  cursor: pointer;
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 8px;
  text-align: left;
}
.customer-nav-item:hover {
  background: rgba(88,166,255,.08);
  border-color: rgba(88,166,255,.22);
}
.customer-nav-item.selected {
  background: rgba(46,160,67,.16);
  border-color: #2ea043;
  color: #f0f6fc;
}
.customer-nav-name {
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.customer-nav-count {
  font-family: Consolas, monospace;
  color: #8b949e;
  font-size: .72rem;
  padding: 2px 6px;
  background: rgba(48,54,61,.7);
  border-radius: 999px;
}
.customer-nav-item.selected .customer-nav-count {
  color: #2ea043;
  background: rgba(46,160,67,.15);
}
.dashboard-workspace {
  width: 100%;
  max-width: none;
  min-width: 0;
  height: var(--ark-layout-vh);
  overflow-y: auto;
  border-radius: 0;
  border: 0;
  box-shadow: none;
}
.dashboard-card.dashboard-workspace {
  padding: 24px;
}
.dashboard-filters {
  align-items: end;
}
.dashboard-search-actions {
  display: flex;
  align-items: end;
  gap: 8px;
}
.btn-reset-small {
  padding-left: 12px;
  padding-right: 12px;
}

@media (max-width: 900px) {
  .dashboard-two-panel {
    grid-template-columns: 1fr;
  }
  #dashboardCustomerPanelBlock {
    height: auto;
    max-height: 220px;
    border-right: 0;
    border-bottom: 1px solid #21262d;
  }
  .dashboard-customer-panel {
    padding: 12px;
  }
  .dashboard-workspace {
    height: calc(var(--ark-layout-vh) - 220px);
  }
}


.inventory-quick-filter-row{display:flex;gap:.5rem;flex-wrap:wrap;align-items:center;margin:.75rem 0 1rem 0}
.inventory-quick-filter{border:1px solid rgba(120,180,255,.28);background:rgba(8,20,35,.72);color:var(--text-muted,#9db3c9);border-radius:999px;padding:.38rem .72rem;font-size:.78rem;letter-spacing:.04em;cursor:pointer}
.inventory-quick-filter:hover,.inventory-quick-filter.active{color:#fff;border-color:rgba(88,210,255,.8);box-shadow:0 0 0 1px rgba(88,210,255,.16),0 0 18px rgba(88,210,255,.12)}
.bulk-action-bar{display:none;align-items:center;justify-content:space-between;gap:1rem;margin:.75rem 0;padding:.7rem .85rem;border:1px solid rgba(88,210,255,.25);border-radius:12px;background:rgba(6,18,31,.86);position:sticky;top:.5rem;z-index:4;box-shadow:0 12px 30px rgba(0,0,0,.22)}
.bulk-action-bar.active{display:flex}.bulk-actions{display:flex;gap:.45rem;flex-wrap:wrap}.bulk-actions .btn-side[disabled]{opacity:.45;pointer-events:none}.muted-text{color:var(--text-muted,#8fa4b8);font-size:.85em}
.server-card{position:relative}.server-bulk-select{position:static;display:flex;flex:0 0 auto;align-items:center;justify-content:center;z-index:2;margin:0}.server-bulk-select input{width:20px;height:20px;accent-color:#58d2ff;cursor:pointer;margin:0}.server-card.bulk-selected{outline:2px solid rgba(88,210,255,.78);box-shadow:0 0 0 1px rgba(88,210,255,.25),0 0 22px rgba(88,210,255,.12)}
@media(max-width:720px){.bulk-action-bar{position:static;align-items:flex-start;flex-direction:column}.bulk-actions{width:100%}.bulk-actions .btn-side{flex:1 1 auto}.inventory-quick-filter-row{gap:.35rem}.inventory-quick-filter{font-size:.72rem;padding:.34rem .55rem}}

.server-validation-status.good { color: #2ea043; }
.server-validation-status.warning { color: #d29922; }
.server-validation-status.error { color: #f85149; }
.server-card.validation-good { border-color: rgba(46,160,67,.45); }
.server-card.validation-warning { border-color: rgba(210,153,34,.45); }
.server-card.validation-error { border-color: rgba(248,81,73,.5); }
.bulk-actions { flex-wrap: wrap; }


.server-card-status-lines{display:flex;flex-direction:column;align-items:stretch;gap:.28rem;justify-content:flex-start;}
.server-status-row{display:flex;justify-content:space-between;gap:.75rem;line-height:1.25;}
.server-status-label{color:#8b949e;text-transform:uppercase;font-size:.68rem;letter-spacing:.08em;}
.server-status-row span:last-child{text-align:right;}

.setup-section-title{font-size:12px;font-weight:900;letter-spacing:.08em;text-transform:uppercase;color:var(--muted);margin:12px 0 8px;}
.server-identity-strip{grid-template-columns:repeat(auto-fit,minmax(180px,1fr));}
.server-card-status-lines{display:block;}
.server-card-status-lines .server-status-row{display:flex;justify-content:space-between;gap:10px;margin:3px 0;}


.three-column-server-view { display: grid; grid-template-columns: 340px minmax(0, 1fr) 300px; height: var(--ark-layout-vh); width: var(--ark-layout-vw); overflow: hidden; }
.three-column-server-view .workflow-sidebar { width: auto; min-width: 0; border-left: 1px solid #21262d; border-right: 0; }
.three-column-server-view .drive-inventory-workspace { min-width: 0; height: var(--ark-layout-vh); overflow-y: auto; }
.server-identity-sidebar { background: #12161c; border-right: 1px solid #21262d; border-left: 0; padding: 20px; display: flex; flex-direction: column; gap: 14px; overflow-y: auto; height: var(--ark-layout-vh); }
.identity-card { background: #161b22; border: 1px solid #30363d; border-radius: 6px; padding: 12px; display: flex; flex-direction: column; gap: 8px; }
.identity-card-title { font-family: Consolas, monospace; font-size: .72rem; color: #58a6ff; font-weight: 900; letter-spacing: .04em; border-bottom: 1px dashed #30363d; padding-bottom: 6px; margin-bottom: 2px; }
.identity-row { display: grid; grid-template-columns: 110px 1fr; gap: 8px; align-items: start; font-size: .78rem; }
.identity-row span { color: #8b949e; font-family: Consolas, monospace; }
.identity-row strong { color: #f0f6fc; font-weight: 700; word-break: break-word; }
.identity-row.service-tag-row strong { color: #2ea043; font-family: Consolas, monospace; font-size: .9rem; }
.identity-empty { color: #6e7681; }
.identity-edit-btn { margin-top: 8px; }
.summary-grid-mini { display: grid; grid-template-columns: 1fr 1fr; gap: 8px; }
.summary-grid-mini div { background: #0b0f14; border: 1px solid #30363d; border-radius: 4px; padding: 8px; min-height: 52px; display: flex; flex-direction: column; justify-content: center; }
.summary-grid-mini strong { color: #2ea043; font-family: Consolas, monospace; font-size: .95rem; }
.summary-grid-mini span { color: #8b949e; font-size: .66rem; text-transform: uppercase; }
.identity-health { background: #0b0f14; border: 1px solid #30363d; border-radius: 4px; padding: 10px; display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.identity-health strong { font-family: Consolas, monospace; font-size: 1.15rem; }
.identity-health.ok strong, .identity-health.ok span { color: #2ea043; }
.identity-health.warning strong, .identity-health.warning span { color: #d29922; }
.identity-health.error strong, .identity-health.error span { color: #f85149; }
.identity-validation-counts { display: grid; grid-template-columns: repeat(3, 1fr); gap: 6px; font-family: Consolas, monospace; font-size: .65rem; color: #8b949e; }
.identity-validation-counts span { background: #0b0f14; border: 1px solid #30363d; border-radius: 4px; padding: 6px; text-align: center; }
.identity-copy-grid { display: grid; grid-template-columns: 1fr; gap: 7px; }
@media (max-width: 1180px) {
  .three-column-server-view { grid-template-columns: 280px minmax(0, 1fr); }
  .server-identity-sidebar { grid-column: 1 / -1; height: auto; border-left: 0; border-right: 0; border-top: 1px solid #21262d; display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 900px) {
  .three-column-server-view { display: flex; flex-direction: column; height: auto; overflow: auto; }
  .server-identity-sidebar { display: flex; height: auto; }
}

.identity-copy-btn.copied { border-color: #2ea043 !important; color: #2ea043 !important; }

.identity-action-row{display:flex;flex-direction:column;gap:8px;margin-top:12px;}
.identity-copy-btn.copied{border-color:#22c55e;color:#22c55e;}

.server-identity-sidebar{position:relative;}
.identity-row span:first-child{display:flex;align-items:center;gap:6px;}
.identity-inline-copy{border:0;background:transparent;color:#8b949e;cursor:pointer;padding:0 2px;font-size:.86rem;line-height:1;display:inline-flex;align-items:center;justify-content:center;border-radius:4px;}
.identity-inline-copy:hover{color:#58a6ff;background:rgba(88,166,255,.08);}
.identity-inline-copy.copied{color:#22c55e !important;background:rgba(34,197,94,.10);}
.identity-sidebar-spacer{flex:1 1 auto;min-height:12px;}
.identity-home-btn{margin-top:auto;}
.identity-copy-grid{display:none;}
@media (max-width: 900px){.identity-sidebar-spacer{display:none}.identity-home-btn{margin-top:8px}}


.identity-edit-top{margin-top:0;margin-bottom:0;}
.identity-edit-top .identity-edit-btn{margin-top:0;}
.identity-row{grid-template-columns:92px minmax(0,1fr) 24px;align-items:center;gap:8px;padding:2px 0;}
.identity-row .identity-label{color:#8b949e;font-family:Consolas,monospace;white-space:nowrap;}
.identity-row .identity-value{color:#f0f6fc;font-weight:700;word-break:break-word;text-align:left;}
.identity-row.service-tag-row .identity-value{color:#2ea043;font-family:Consolas,monospace;font-size:.9rem;}
.identity-inline-copy{justify-self:end;width:22px;height:22px;border:0;background:transparent;color:#8b949e;cursor:pointer;padding:0;font-size:.88rem;line-height:1;display:inline-flex;align-items:center;justify-content:center;border-radius:4px;}
.identity-copy-spacer{display:block;width:22px;height:22px;}
.identity-inline-copy:hover{color:#58a6ff;background:rgba(88,166,255,.08);}
.identity-inline-copy.copied{color:#22c55e !important;background:rgba(34,197,94,.10);}
.summary-grid-mini.summary-grid-3x3{grid-template-columns:repeat(3,minmax(0,1fr));gap:0;border:1px solid #30363d;border-radius:6px;overflow:hidden;background:#0b0f14;}
.summary-grid-mini.summary-grid-3x3 div{border:0;border-right:1px solid #30363d;border-bottom:1px solid #30363d;border-radius:0;min-height:54px;text-align:center;padding:8px 5px;}
.summary-grid-mini.summary-grid-3x3 div:nth-child(3n){border-right:0;}
.summary-grid-mini.summary-grid-3x3 div:nth-child(n+7){border-bottom:0;}
.summary-grid-mini.summary-grid-3x3 span{order:0;font-size:.62rem;letter-spacing:.04em;}
.summary-grid-mini.summary-grid-3x3 strong{order:1;font-size:.9rem;margin-top:4px;}
.summary-validation-line{margin-top:8px;color:#8b949e;font-family:Consolas,monospace;font-size:.68rem;text-transform:uppercase;letter-spacing:.04em;text-align:center;}

@media (max-width:900px){.identity-row{grid-template-columns:100px minmax(0,1fr) 24px}.summary-grid-mini.summary-grid-3x3{grid-template-columns:repeat(3,minmax(0,1fr));}}


.server-identity-sidebar .identity-card{display:flex;}
.identity-card .identity-card-title{margin-bottom:6px;}
.identity-row{grid-template-columns:92px minmax(0,1fr) 24px;}
.identity-inline-copy{justify-self:end;}

.raid-pill{display:inline-flex;align-items:center;justify-content:center;border:1px solid rgba(88,166,255,.55);background:rgba(88,166,255,.12);color:#58a6ff;border-radius:999px;padding:1px 5px;font-size:.58rem;font-weight:900;font-family:Consolas,monospace;line-height:1.35;white-space:nowrap}
.raid-mini-empty{color:#8b949e;font-size:.76rem;border:1px dashed #30363d;border-radius:4px;padding:8px;text-align:center}.raid-mini-list{display:flex;flex-direction:column;gap:6px}.raid-mini-item{display:flex;flex-direction:column;gap:2px;border:1px solid #30363d;border-radius:4px;background:#0b0f14;padding:7px}.raid-mini-item strong{font-size:.78rem;color:#f0f6fc}.raid-mini-item span{font-size:.68rem;color:#8b949e}.raid-mini-item.ok{border-color:rgba(46,160,67,.5)}.raid-mini-item.warn{border-color:rgba(210,153,34,.7)}
.raid-modal-card{width:min(1180px,94vw);max-height:92vh;overflow:auto}.raid-modal-grid{display:grid;grid-template-columns:minmax(260px,340px) 1fr;gap:14px;padding:14px}.raid-section-title{font-family:Consolas,monospace;font-size:.78rem;color:#58a6ff;font-weight:900;text-transform:uppercase;letter-spacing:.04em;border-bottom:1px dashed #30363d;padding-bottom:6px;margin-bottom:8px}.raid-group-list,.raid-editor{background:#0d1117;border:1px solid #30363d;border-radius:6px;padding:12px}.raid-group-card{display:flex;justify-content:space-between;gap:8px;align-items:flex-start;border:1px solid #30363d;border-radius:5px;background:#161b22;padding:9px;margin-bottom:8px}.raid-group-card.active{border-color:#58a6ff;box-shadow:0 0 0 2px rgba(88,166,255,.12)}.raid-group-card strong{display:block;color:#f0f6fc}.raid-group-card small{display:block;color:#8b949e;margin-top:2px}.raid-group-card em{display:block;color:#d29922;font-style:normal;font-size:.72rem;margin-top:4px}.raid-group-actions{display:flex;gap:5px;flex-shrink:0}.raid-form-row{display:grid;grid-template-columns:110px 1fr;gap:8px;align-items:center;margin-bottom:8px}.raid-form-row label{font-size:.72rem;color:#8b949e;text-transform:uppercase;font-weight:800}.raid-drive-list{display:flex;flex-direction:column;gap:6px;max-height:420px;overflow:auto;padding-right:4px}.raid-drive-row{display:grid;grid-template-columns:24px 1fr 110px;align-items:center;gap:8px;border:1px solid #30363d;border-radius:5px;background:#161b22;padding:8px}.raid-drive-row.disabled{opacity:.52}.raid-drive-label strong{display:block;color:#f0f6fc;font-size:.78rem}.raid-drive-label small{display:block;color:#8b949e;font-size:.7rem;margin-top:2px}.raid-span-select{background:#0b0f14;color:#f0f6fc;border:1px solid #30363d;border-radius:4px;padding:6px}.raid-help,.raid-empty-state{color:#8b949e;font-size:.78rem;border:1px dashed #30363d;border-radius:5px;padding:8px;margin-top:8px}.summary-raid-line{margin-top:8px;color:#8b949e;font-size:.72rem;text-align:center}.summary-raid-line strong{color:#2ea043}
@media(max-width:900px){.raid-modal-grid{grid-template-columns:1fr}.raid-drive-row{grid-template-columns:24px 1fr}.raid-span-select{grid-column:2}}

.raid-pill{min-width:28px}

.raid-context-note{border:1px solid #30363d;background:#0b0f14;border-radius:5px;padding:8px;margin:8px 0;color:#8b949e;font-size:.76rem;line-height:1.35}
.raid-context-note.hide{display:none}.raid-context-note.show{display:block}
.raid-span-placeholder{color:#8b949e;font-size:.72rem;text-align:right;font-family:Consolas,monospace}
.span-color-1{border-color:rgba(88,166,255,.55)}.span-color-2{border-color:rgba(46,160,67,.55)}.span-color-3{border-color:rgba(210,153,34,.6)}.span-color-4{border-color:rgba(163,113,247,.6)}.span-color-5{border-color:rgba(219,97,162,.6)}.span-color-6{border-color:rgba(57,197,207,.6)}

.bay-grid-wrap{position:relative;overflow:visible;}
.bay-grid-wrap>.bay-grid{position:relative;z-index:2;}
.raid-grid-overlay{position:absolute;inset:0;display:grid;gap:8px;pointer-events:none;z-index:1;}
.raid-layout-box{border-radius:7px;box-sizing:border-box;position:relative;min-width:0;min-height:0;}
.raid-layout-main{border:3px solid rgba(88,166,255,.72);background:rgba(88,166,255,.055);box-shadow:0 0 0 1px rgba(255,255,255,.05) inset,0 0 18px rgba(0,0,0,.18);}
.raid-layout-span{border:2px solid rgba(46,160,67,.86);background:rgba(46,160,67,.06);margin:12px 10px 10px;}
.raid-layout-label{position:absolute;top:-13px;left:10px;background:#0d1117;border:1px solid currentColor;border-radius:999px;padding:2px 8px;font-family:Consolas,monospace;font-size:.62rem;font-weight:900;letter-spacing:.04em;text-transform:uppercase;white-space:nowrap;color:#f0f6fc;box-shadow:0 2px 8px rgba(0,0,0,.45);}
.raid-layout-label.span-label{top:-11px;font-size:.58rem;}
.raid-type-0{border-color:#8b949e;background:rgba(139,148,158,.055);color:#8b949e;}
.raid-type-1{border-color:#58a6ff;background:rgba(88,166,255,.055);color:#58a6ff;}
.raid-type-10{border-color:#a371f7;background:rgba(163,113,247,.055);color:#a371f7;}
.raid-type-5{border-color:#2ea043;background:rgba(46,160,67,.055);color:#2ea043;}
.raid-type-6{border-color:#f85149;background:rgba(248,81,73,.055);color:#f85149;}
.raid-type-50{border-color:#f85149;background:rgba(248,81,73,.060);color:#f85149;}
.raid-type-60{border-color:#d29922;background:rgba(210,153,34,.060);color:#d29922;}
.raid-type-z1{border-color:#39c5cf;background:rgba(57,197,207,.055);color:#39c5cf;}
.raid-type-z2{border-color:#3fb950;background:rgba(63,185,80,.055);color:#3fb950;}
.raid-type-z3{border-color:#db61a2;background:rgba(219,97,162,.055);color:#db61a2;}
.raid-type-default{border-color:#a371f7;background:rgba(163,113,247,.055);color:#a371f7;}
.raid-layout-main.raid-type-50{border-width:4px;}
.span-color-1.raid-layout-span{border-color:#2ea043;background:rgba(46,160,67,.07);color:#2ea043;}
.span-color-2.raid-layout-span{border-color:#58a6ff;background:rgba(88,166,255,.07);color:#58a6ff;}
.span-color-3.raid-layout-span{border-color:#d29922;background:rgba(210,153,34,.07);color:#d29922;}
.span-color-4.raid-layout-span{border-color:#a371f7;background:rgba(163,113,247,.07);color:#a371f7;}
.span-color-5.raid-layout-span{border-color:#db61a2;background:rgba(219,97,162,.07);color:#db61a2;}
.span-color-6.raid-layout-span{border-color:#39c5cf;background:rgba(57,197,207,.07);color:#39c5cf;}
.drive-bay .raid-pill{box-shadow:0 0 0 1px rgba(0,0,0,.22);}
@media(max-width:900px){.raid-layout-label{font-size:.54rem;left:6px}.raid-layout-span{margin:10px 6px 7px}.raid-grid-overlay{gap:8px}}

:root { --ark-left-sidebar: 198px; --ark-right-sidebar: 198px; }
.three-column-server-view {
  grid-template-columns: var(--ark-left-sidebar) minmax(0, 1fr) var(--ark-right-sidebar) !important;
}
.server-identity-sidebar,
.spec-sidebar.workflow-sidebar {
  padding: 14px !important;
  gap: 10px !important;
}
.three-column-server-view .drive-inventory-workspace,
.workspace-panel {
  padding: 14px !important;
}
.enclosure-block {
  padding: 12px !important;
}
.enclosure-title {
  margin-bottom: 10px !important;
  padding-bottom: 5px !important;
}
.bay-grid {
  gap: 6px !important;
}
.drive-bay {
  padding: 6px !important;
  gap: 5px !important;
  min-height: 96px !important;
  min-width: 88px !important;
}
.drive-bay-header {
  gap: 5px !important;
}
.bay-index {
  font-size: .66rem !important;
}
.bay-serial {
  font-size: .62rem !important;
}
.bay-type-label {
  font-size: .54rem !important;
}
.bay-inline-select {
  font-size: .62rem !important;
  padding: 3px 4px !important;
}
.os-pill,
.raid-pill {
  font-size: .50rem !important;
  padding: 1px 4px !important;
  min-width: 22px !important;
}
.identity-card {
  padding: 10px !important;
  gap: 6px !important;
}
.identity-card-title {
  font-size: .66rem !important;
  padding-bottom: 5px !important;
}
.identity-row {
  grid-template-columns: 74px minmax(0, 1fr) 18px !important;
  gap: 5px !important;
  font-size: .70rem !important;
  padding: 1px 0 !important;
}
.identity-inline-copy,
.identity-copy-spacer {
  width: 18px !important;
  height: 18px !important;
  font-size: .72rem !important;
}
.summary-grid-mini.summary-grid-3x3 div {
  min-height: 44px !important;
  padding: 6px 3px !important;
}
.summary-grid-mini.summary-grid-3x3 span {
  font-size: .54rem !important;
}
.summary-grid-mini.summary-grid-3x3 strong {
  font-size: .78rem !important;
}
.summary-validation-line {
  font-size: .58rem !important;
}
.btn-side,
.btn-pipeline {
  padding: 8px !important;
  font-size: .74rem !important;
}
.sidebar-brand {
  font-size: 1.18rem !important;
}
/* Draw RAID/span groups as inset overlays so they do not consume grid width. */
.bay-grid-wrap {
  padding: 3px !important;
}
.raid-grid-overlay {
  gap: 6px !important;
  inset: 0 !important;
}
.raid-layout-main {
  border-width: 0 !important;
  box-shadow:
    inset 0 0 0 3px currentColor,
    inset 0 0 0 9999px rgba(255,255,255,.015),
    0 0 14px rgba(0,0,0,.16) !important;
  background: transparent !important;
}
.raid-layout-main.raid-type-50 {
  border-width: 0 !important;
  box-shadow:
    inset 0 0 0 4px currentColor,
    inset 0 0 0 9999px rgba(248,81,73,.035),
    0 0 14px rgba(0,0,0,.16) !important;
}
.raid-layout-span {
  border-width: 0 !important;
  margin: 8px 7px 7px !important;
  box-shadow:
    inset 0 0 0 2px currentColor,
    inset 0 0 0 9999px rgba(255,255,255,.018) !important;
  background: transparent !important;
}
.raid-layout-label {
  top: -10px !important;
  left: 7px !important;
  padding: 1px 6px !important;
  font-size: .52rem !important;
  max-width: calc(100% - 14px);
  overflow: hidden;
  text-overflow: ellipsis;
}
.raid-layout-label.span-label {
  top: -9px !important;
  font-size: .50rem !important;
}
/* Main RAID/span containers provide grouping; keep per-drive RAID markers tiny. */
.drive-bay .raid-pill {
  opacity: .82;
  transform: scale(.86);
  transform-origin: top right;
}
@media (max-width: 1180px) {
  .three-column-server-view { grid-template-columns: 190px minmax(0, 1fr) !important; }
}
@media (max-width: 900px) {
  .three-column-server-view { display: flex !important; flex-direction: column !important; }
  .drive-bay { min-height: 106px !important; }
  .raid-layout-label { font-size: .50rem !important; }
}

:root { --ark-left-sidebar: 340px; --ark-right-sidebar: 300px; }
.three-column-server-view {
  grid-template-columns: var(--ark-left-sidebar) minmax(0, 1fr) var(--ark-right-sidebar) !important;
}
.server-identity-sidebar,
.spec-sidebar.workflow-sidebar {
  padding: 20px !important;
  gap: 14px !important;
}
.three-column-server-view .drive-inventory-workspace,
.workspace-panel {
  padding: 16px !important;
}
.drive-inventory-workspace { overflow-y: auto !important; }
.enclosure-block { padding: 14px !important; }
.enclosure-title { margin-bottom: 12px !important; padding-bottom: 6px !important; }
.bay-grid { gap: 8px !important; }
.drive-bay {
  min-width: 78px !important;
  min-height: 110px !important;
  padding: 8px !important;
  gap: 8px !important;
}
.drive-bay-header { gap: 6px !important; }
.bay-index { font-size: .68rem !important; }
.bay-serial { font-size: .64rem !important; }
.bay-type-label { font-size: .58rem !important; }
.os-pill,
.raid-pill { font-size: .52rem !important; padding: 1px 4px !important; min-width: 22px !important; }
.bay-grid-wrap { position: relative; overflow: visible; padding: 0 !important; }
.bay-grid-wrap.has-raid-overlay {
  padding: 32px 16px 16px !important;
  margin: 10px 0 6px;
}
.bay-grid-wrap > .bay-grid { position: relative; z-index: 2; }
.raid-grid-overlay {
  position: absolute;
  inset: 0 !important;
  display: grid;
  gap: 8px !important;
  pointer-events: none;
  z-index: 1;
}
.raid-layout-box { border-radius: 10px !important; box-sizing: border-box; position: relative; min-width: 0; min-height: 0; }
.raid-layout-main {
  border-width: 0 !important;
  box-shadow:
    inset 0 0 0 3px currentColor,
    inset 0 0 0 9999px rgba(255,255,255,.028),
    0 0 16px rgba(0,0,0,.20) !important;
  background: transparent !important;
}
.raid-layout-main.raid-type-50,
.raid-layout-main.raid-type-60 {
  border-width: 0 !important;
  box-shadow:
    inset 0 0 0 4px currentColor,
    inset 0 0 0 9999px rgba(255,255,255,.032),
    0 0 18px rgba(0,0,0,.22) !important;
}
.raid-layout-span {
  border-width: 0 !important;
  margin: 36px 14px 14px !important;
  border-radius: 8px !important;
  box-shadow:
    inset 0 0 0 2px currentColor,
    inset 0 0 0 9999px rgba(255,255,255,.025) !important;
  background: transparent !important;
}
.raid-layout-label {
  position: absolute;
  top: 8px !important;
  left: 12px !important;
  max-width: calc(100% - 24px);
  overflow: hidden;
  text-overflow: ellipsis;
  background: #0d1117;
  border: 1px solid currentColor;
  border-radius: 999px;
  padding: 3px 9px !important;
  font-family: Consolas, monospace;
  font-size: .62rem !important;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
  white-space: nowrap;
  color: currentColor;
  box-shadow: 0 2px 8px rgba(0,0,0,.45);
}
.raid-layout-label.span-label {
  top: 6px !important;
  left: 10px !important;
  font-size: .56rem !important;
  padding: 2px 8px !important;
}
.drive-bay .raid-pill { opacity: .70; transform: scale(.82); transform-origin: top right; }
@media (max-width: 1180px) {
  .three-column-server-view { grid-template-columns: 280px minmax(0, 1fr) !important; }
}
@media (max-width: 900px) {
  .three-column-server-view { display: flex !important; flex-direction: column !important; }
  .drive-bay { min-height: 110px !important; }
  .bay-grid-wrap.has-raid-overlay { padding: 28px 10px 12px !important; }
  .raid-layout-label { font-size: .52rem !important; left: 8px !important; }
}

/* Keep original sidebars; reclaim only card width and let center RAID pane scroll vertically. */
:root { --ark-left-sidebar: 340px; --ark-right-sidebar: 300px; }
.three-column-server-view {
  grid-template-columns: var(--ark-left-sidebar) minmax(0, 1fr) var(--ark-right-sidebar) !important;
}
.server-identity-sidebar,
.spec-sidebar.workflow-sidebar {
  padding: 20px !important;
  gap: 14px !important;
}
.three-column-server-view .drive-inventory-workspace,
.workspace-panel {
  padding: 16px !important;
}
.drive-inventory-workspace { overflow-y: auto !important; }
.enclosure-block {
  padding: 14px !important;
  overflow-x: visible !important;
}
.bay-grid-wrap.has-raid-overlay {
  padding: 38px 20px 18px !important;
  margin: 12px 0 8px !important;
  overflow: visible !important;
}
.bay-grid-wrap.has-raid-overlay > .bay-grid {
  gap: 10px 10px !important;
}
.bay-grid-wrap.has-raid-overlay .drive-bay {
  width: calc(100% - 16px) !important;
  min-width: 72px !important;
  min-height: 110px !important;
  justify-self: center !important;
  align-self: stretch !important;
  padding: 8px !important;
  gap: 8px !important;
}
.bay-grid-wrap.has-raid-overlay .drive-bay .raid-pill {
  opacity: .58 !important;
  transform: scale(.78) !important;
  transform-origin: top right !important;
}
.raid-grid-overlay {
  inset: 0 !important;
  gap: 10px !important;
}
.raid-layout-main {
  border-width: 0 !important;
  border-radius: 12px !important;
  box-shadow:
    inset 0 0 0 3px currentColor,
    inset 0 0 0 9999px rgba(255,255,255,.035),
    0 0 18px rgba(0,0,0,.22) !important;
  background: transparent !important;
}
.raid-layout-main.raid-type-50,
.raid-layout-main.raid-type-60 {
  border-width: 0 !important;
  box-shadow:
    inset 0 0 0 4px currentColor,
    inset 0 0 0 9999px rgba(255,255,255,.040),
    0 0 20px rgba(0,0,0,.24) !important;
}
.raid-layout-span {
  border-width: 0 !important;
  border-radius: 10px !important;
  margin: 42px 18px 18px !important;
  box-shadow:
    inset 0 0 0 2px currentColor,
    inset 0 0 0 9999px rgba(255,255,255,.030) !important;
  background: transparent !important;
}
.raid-layout-label {
  top: 10px !important;
  left: 14px !important;
  max-width: calc(100% - 28px) !important;
  padding: 3px 10px !important;
  font-size: .62rem !important;
  line-height: 1.2 !important;
}
.raid-layout-label.span-label {
  top: 9px !important;
  left: 12px !important;
  padding: 2px 9px !important;
  font-size: .56rem !important;
}
@media (max-width: 1180px) {
  .three-column-server-view { grid-template-columns: 280px minmax(0, 1fr) !important; }
  .bay-grid-wrap.has-raid-overlay .drive-bay { width: calc(100% - 12px) !important; }
}
@media (max-width: 900px) {
  .three-column-server-view { display: flex !important; flex-direction: column !important; }
  .bay-grid-wrap.has-raid-overlay { padding: 30px 12px 14px !important; }
  .bay-grid-wrap.has-raid-overlay .drive-bay { width: 100% !important; min-height: 110px !important; }
  .raid-layout-label { font-size: .52rem !important; left: 8px !important; }
}

.raid-section-stack {
  display: flex;
  flex-direction: column;
  gap: 14px;
}
.raid-section-region {
  border: 3px solid currentColor;
  border-radius: 12px;
  background: rgba(255,255,255,.028);
  padding: 12px;
  color: #58a6ff;
  box-shadow: 0 0 18px rgba(0,0,0,.24), inset 0 0 0 1px rgba(255,255,255,.04);
}
.raid-section-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin: -2px 0 10px;
  padding-bottom: 8px;
  border-bottom: 1px solid currentColor;
  font-family: Consolas, monospace;
  text-transform: uppercase;
  letter-spacing: .035em;
}
.raid-section-header strong {
  color: currentColor;
  font-size: .74rem;
  line-height: 1.2;
}
.raid-section-header span {
  border: 1px solid currentColor;
  border-radius: 999px;
  padding: 2px 8px;
  font-size: .62rem;
  color: currentColor;
  background: rgba(0,0,0,.22);
  flex: 0 0 auto;
}
.raid-section-body {
  display: flex;
  flex-direction: column;
  gap: 10px;
}
.raid-section-span {
  border: 2px solid currentColor;
  border-radius: 10px;
  padding: 10px;
  background: rgba(255,255,255,.025);
  color: #2ea043;
}
.raid-section-span-title {
  font-family: Consolas, monospace;
  font-size: .66rem;
  font-weight: 900;
  text-transform: uppercase;
  letter-spacing: .035em;
  color: currentColor;
  margin-bottom: 8px;
}
.raid-section-drive-grid {
  display: grid;
  gap: 8px;
}
.raid-section-drive-grid .drive-bay {
  width: 100% !important;
  min-width: 0 !important;
  min-height: 110px !important;
  justify-self: stretch !important;
}
.raid-unassigned-block {
  border: 1px dashed #30363d;
  border-radius: 10px;
  padding: 10px;
  background: rgba(255,255,255,.012);
}
.raid-unassigned-title {
  font-family: Consolas, monospace;
  font-size: .66rem;
  font-weight: 900;
  color: #8b949e;
  text-transform: uppercase;
  letter-spacing: .035em;
  margin-bottom: 8px;
}
.raid-section-region.raid-type-0 { color: #8b949e; background: rgba(139,148,158,.045); }
.raid-section-region.raid-type-1 { color: #58a6ff; background: rgba(88,166,255,.045); }
.raid-section-region.raid-type-10 { color: #a371f7; background: rgba(163,113,247,.045); }
.raid-section-region.raid-type-5 { color: #2ea043; background: rgba(46,160,67,.045); }
.raid-section-region.raid-type-6 { color: #f85149; background: rgba(248,81,73,.045); }
.raid-section-region.raid-type-50 { color: #f85149; background: rgba(248,81,73,.050); }
.raid-section-region.raid-type-60 { color: #d29922; background: rgba(210,153,34,.050); }
.raid-section-region.raid-type-z1 { color: #39c5cf; background: rgba(57,197,207,.045); }
.raid-section-region.raid-type-z2 { color: #3fb950; background: rgba(63,185,80,.045); }
.raid-section-region.raid-type-z3 { color: #db61a2; background: rgba(219,97,162,.045); }
.raid-section-region.raid-type-default { color: #a371f7; background: rgba(163,113,247,.045); }
.raid-section-span.span-color-1 { color: #2ea043; background: rgba(46,160,67,.045); }
.raid-section-span.span-color-2 { color: #58a6ff; background: rgba(88,166,255,.045); }
.raid-section-span.span-color-3 { color: #d29922; background: rgba(210,153,34,.045); }
.raid-section-span.span-color-4 { color: #a371f7; background: rgba(163,113,247,.045); }
.raid-section-span.span-color-5 { color: #db61a2; background: rgba(219,97,162,.045); }
.raid-section-span.span-color-6 { color: #39c5cf; background: rgba(57,197,207,.045); }
/* Disable the absolute overlay when region rendering is active. */
.raid-section-stack + .raid-grid-overlay,
.raid-section-stack .raid-grid-overlay { display: none !important; }
@media (max-width: 900px) {
  .raid-section-drive-grid { grid-template-columns: repeat(2, minmax(130px, 1fr)) !important; }
}

.raid-section-stack,
.raid-section-region,
.raid-section-span,
.raid-section-drive-grid,
.raid-unassigned-block { display: none !important; }

.bay-grid-wrap {
  position: relative !important;
  overflow: visible !important;
}
.bay-grid-wrap.has-raid-overlay {
  padding: 32px 14px 14px !important;
  margin: 8px 0 6px !important;
}
.bay-grid-wrap > .bay-grid {
  position: relative !important;
  z-index: 2 !important;
  gap: 8px !important;
}
.raid-grid-overlay {
  position: absolute !important;
  inset: 0 !important;
  display: grid !important;
  gap: 8px !important;
  pointer-events: none !important;
  z-index: 1 !important;
}
.raid-layout-box {
  border-radius: 11px !important;
  box-sizing: border-box !important;
  position: relative !important;
  min-width: 0 !important;
  min-height: 0 !important;
}
.raid-layout-main {
  border-width: 0 !important;
  background: transparent !important;
  box-shadow:
    inset 0 0 0 3px currentColor,
    inset 0 0 0 9999px rgba(255,255,255,.032),
    0 0 16px rgba(0,0,0,.20) !important;
}
.raid-layout-main.raid-type-50,
.raid-layout-main.raid-type-60 {
  box-shadow:
    inset 0 0 0 4px currentColor,
    inset 0 0 0 9999px rgba(255,255,255,.036),
    0 0 18px rgba(0,0,0,.22) !important;
}
.raid-layout-span {
  border-width: 0 !important;
  margin: 38px 12px 12px !important;
  border-radius: 9px !important;
  background: transparent !important;
  box-shadow:
    inset 0 0 0 2px currentColor,
    inset 0 0 0 9999px rgba(255,255,255,.025) !important;
}
.raid-layout-label {
  position: absolute !important;
  top: 8px !important;
  left: 12px !important;
  max-width: calc(100% - 24px) !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  background: #0d1117 !important;
  border: 1px solid currentColor !important;
  border-radius: 999px !important;
  padding: 3px 9px !important;
  font-family: Consolas, monospace !important;
  font-size: .60rem !important;
  font-weight: 900 !important;
  line-height: 1.15 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  white-space: nowrap !important;
  color: currentColor !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.45) !important;
}
.raid-layout-label.span-label {
  top: 7px !important;
  left: 10px !important;
  font-size: .54rem !important;
  padding: 2px 8px !important;
}
.bay-grid-wrap.has-raid-overlay .drive-bay {
  width: 100% !important;
  min-width: 72px !important;
  min-height: 110px !important;
  justify-self: stretch !important;
  align-self: stretch !important;
}
.bay-grid-wrap.has-raid-overlay .drive-bay .raid-pill {
  opacity: .55 !important;
  transform: scale(.76) !important;
  transform-origin: top right !important;
}
.three-column-server-view { grid-template-columns: var(--ark-left-sidebar, 340px) minmax(0, 1fr) var(--ark-right-sidebar, 300px) !important; }


.bay-grid-wrap.has-raid-overlay {
  padding: 34px 16px 16px !important;
  margin: 8px 0 8px !important;
  position: relative !important;
  overflow: visible !important;
}
.bay-grid-wrap.has-raid-overlay > .bay-grid {
  position: relative !important;
  z-index: 3 !important;
  gap: 8px !important;
}
.bay-grid-wrap.has-raid-overlay .raid-grid-overlay {
  position: absolute !important;
  top: 34px !important;
  right: 16px !important;
  bottom: 16px !important;
  left: 16px !important;
  display: grid !important;
  gap: 8px !important;
  pointer-events: none !important;
  z-index: 1 !important;
}
.bay-grid-wrap.has-raid-overlay .raid-layout-box {
  box-sizing: border-box !important;
  position: relative !important;
  min-width: 0 !important;
  min-height: 0 !important;
  border-radius: 10px !important;
}
.bay-grid-wrap.has-raid-overlay .raid-layout-main {
  margin: -7px !important;
  border: 0 !important;
  background: transparent !important;
  box-shadow:
    inset 0 0 0 3px currentColor,
    inset 0 0 0 9999px rgba(255,255,255,.040),
    0 0 16px rgba(0,0,0,.24) !important;
}
.bay-grid-wrap.has-raid-overlay .raid-layout-main.raid-type-50,
.bay-grid-wrap.has-raid-overlay .raid-layout-main.raid-type-60 {
  margin: -8px !important;
  box-shadow:
    inset 0 0 0 4px currentColor,
    inset 0 0 0 9999px rgba(255,255,255,.044),
    0 0 18px rgba(0,0,0,.28) !important;
}
.bay-grid-wrap.has-raid-overlay .raid-layout-span {
  margin: 22px 3px 3px !important;
  border: 0 !important;
  border-radius: 8px !important;
  background: transparent !important;
  box-shadow:
    inset 0 0 0 2px currentColor,
    inset 0 0 0 9999px rgba(255,255,255,.030) !important;
}
.bay-grid-wrap.has-raid-overlay .raid-layout-label {
  position: absolute !important;
  top: -25px !important;
  left: 6px !important;
  z-index: 4 !important;
  max-width: calc(100% - 12px) !important;
  overflow: hidden !important;
  text-overflow: ellipsis !important;
  white-space: nowrap !important;
  background: #0d1117 !important;
  border: 1px solid currentColor !important;
  border-radius: 999px !important;
  padding: 3px 9px !important;
  font-family: Consolas, monospace !important;
  font-size: .60rem !important;
  font-weight: 900 !important;
  line-height: 1.1 !important;
  letter-spacing: .04em !important;
  text-transform: uppercase !important;
  color: currentColor !important;
  box-shadow: 0 2px 8px rgba(0,0,0,.48) !important;
}
.bay-grid-wrap.has-raid-overlay .raid-layout-label.span-label {
  top: -18px !important;
  left: 6px !important;
  font-size: .54rem !important;
  padding: 2px 7px !important;
}
.bay-grid-wrap.has-raid-overlay .drive-bay {
  position: relative !important;
  z-index: 3 !important;
  width: 100% !important;
  min-width: 0 !important;
}
/* One shared color vocabulary across center overlay and right RAID list. */
.raid-mini-item { border-left-width: 4px !important; }
.raid-mini-item.raid-type-0 { border-color:#8b949e !important; background:rgba(139,148,158,.055) !important; }
.raid-mini-item.raid-type-1 { border-color:#58a6ff !important; background:rgba(88,166,255,.055) !important; }
.raid-mini-item.raid-type-10 { border-color:#a371f7 !important; background:rgba(163,113,247,.055) !important; }
.raid-mini-item.raid-type-5 { border-color:#2ea043 !important; background:rgba(46,160,67,.055) !important; }
.raid-mini-item.raid-type-6 { border-color:#f85149 !important; background:rgba(248,81,73,.055) !important; }
.raid-mini-item.raid-type-50 { border-color:#f85149 !important; background:rgba(248,81,73,.060) !important; }
.raid-mini-item.raid-type-60 { border-color:#d29922 !important; background:rgba(210,153,34,.060) !important; }
.raid-mini-item.raid-type-z1 { border-color:#39c5cf !important; background:rgba(57,197,207,.055) !important; }
.raid-mini-item.raid-type-z2 { border-color:#3fb950 !important; background:rgba(63,185,80,.055) !important; }
.raid-mini-item.raid-type-z3 { border-color:#db61a2 !important; background:rgba(219,97,162,.055) !important; }
.raid-mini-item.raid-type-default { border-color:#a371f7 !important; background:rgba(163,113,247,.055) !important; }


.bay-grid-wrap.has-raid-overlay .raid-layout-main {
  z-index: 1 !important;
}
.bay-grid-wrap.has-raid-overlay .raid-layout-span {
  z-index: 2 !important;
  margin: 26px 5px 5px !important;
  box-shadow:
    inset 0 0 0 2px currentColor,
    inset 0 0 0 9999px rgba(255,255,255,.045),
    0 0 12px rgba(0,0,0,.18) !important;
}
.bay-grid-wrap.has-raid-overlay .raid-layout-label.span-label {
  z-index: 5 !important;
  top: -19px !important;
  background: #0d1117 !important;
}
.raid-mini-item .raid-mini-span {
  display: block;
  margin-top: 4px;
  padding-left: 8px;
  font-family: Consolas, monospace;
  font-size: .62rem;
  line-height: 1.25;
  border-left: 2px solid currentColor;
  opacity: .95;
}
.raid-mini-span.span-color-1 { color:#2ea043; }
.raid-mini-span.span-color-2 { color:#58a6ff; }
.raid-mini-span.span-color-3 { color:#d29922; }
.raid-mini-span.span-color-4 { color:#a371f7; }
.raid-mini-span.span-color-5 { color:#db61a2; }
.raid-mini-span.span-color-6 { color:#39c5cf; }

.drive-bay {
  overflow: hidden;
}
.drive-bay-header-v2 {
  display: grid !important;
  grid-template-columns: 1fr 24px !important;
  align-items: start !important;
  gap: 4px !important;
  min-height: 26px !important;
  padding-bottom: 2px !important;
}
.bay-badge-strip {
  display: flex !important;
  align-items: center !important;
  justify-content: center !important;
  gap: 4px !important;
  min-height: 24px !important;
  flex-wrap: wrap !important;
}
.bay-badge-spacer {
  display: inline-block;
  min-height: 20px;
}
.drive-bay .bay-edit-btn {
  width: 22px !important;
  height: 22px !important;
  min-width: 22px !important;
  min-height: 22px !important;
  padding: 0 !important;
  font-size: 14px !important;
  line-height: 20px !important;
  justify-self: end !important;
}
.drive-bay .os-pill,
.drive-bay .raid-pill,
.drive-bay .validation-badge {
  min-height: 20px !important;
  height: 20px !important;
  min-width: 24px !important;
  padding: 2px 6px !important;
  font-size: 12px !important;
  line-height: 15px !important;
  border-radius: 999px !important;
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  font-weight: 900 !important;
  letter-spacing: .02em !important;
}
.drive-bay .os-pill {
  background: rgba(88,166,255,.18) !important;
  border-color: rgba(88,166,255,.75) !important;
  color: #8cc8ff !important;
}
.raid-vd-pill {
  background: rgba(139,148,158,.18) !important;
  border-color: rgba(139,148,158,.55) !important;
  color: #c9d1d9 !important;
}
.zfs-role-pill {
  background: rgba(132,204,22,.16) !important;
  border-color: rgba(132,204,22,.65) !important;
  color: #a3e635 !important;
}
.drive-bay .bay-index-v2 {
  display: block !important;
  text-align: center !important;
  color: #f0f6fc !important;
  font-size: 15px !important;
  line-height: 1.1 !important;
  font-weight: 900 !important;
  letter-spacing: .035em !important;
  margin: 2px 0 5px !important;
}
.drive-bay .bay-serial {
  font-size: 13px !important;
  line-height: 1.25 !important;
}
.drive-bay .bay-type-label {
  font-size: 12px !important;
  line-height: 1.25 !important;
}
.drive-bay .bay-capacity-text {
  font-size: 14px !important;
  line-height: 1.2 !important;
  font-weight: 900 !important;
}
.drive-bay.raid-member-card {
  position: relative;
}
.drive-bay.raid-member-card::before {
  content: "";
  position: absolute;
  inset: 0 0 auto 0;
  height: 6px;
  background: currentColor;
  opacity: .9;
  z-index: 0;
}
.drive-bay.raid-member-card > * {
  position: relative;
  z-index: 1;
}
.drive-bay.raid-member-card.span-color-1 { color: #2ea043; box-shadow: inset 0 0 0 1px rgba(46,160,67,.65), 0 0 0 1px rgba(46,160,67,.18) !important; }
.drive-bay.raid-member-card.span-color-2 { color: #58a6ff; box-shadow: inset 0 0 0 1px rgba(88,166,255,.65), 0 0 0 1px rgba(88,166,255,.18) !important; }
.drive-bay.raid-member-card.span-color-3 { color: #d29922; box-shadow: inset 0 0 0 1px rgba(210,153,34,.7), 0 0 0 1px rgba(210,153,34,.18) !important; }
.drive-bay.raid-member-card.span-color-4 { color: #a371f7; box-shadow: inset 0 0 0 1px rgba(163,113,247,.7), 0 0 0 1px rgba(163,113,247,.18) !important; }
.drive-bay.raid-member-card.span-color-5 { color: #db61a2; box-shadow: inset 0 0 0 1px rgba(219,97,162,.7), 0 0 0 1px rgba(219,97,162,.18) !important; }
.drive-bay.raid-member-card.span-color-6 { color: #39c5cf; box-shadow: inset 0 0 0 1px rgba(57,197,207,.7), 0 0 0 1px rgba(57,197,207,.18) !important; }
.drive-bay.raid-member-card.raid-type-0 { color: #64748b; }
.drive-bay.raid-member-card.raid-type-1 { color: #2563eb; }
.drive-bay.raid-member-card.raid-type-10 { color: #a371f7; }
.drive-bay.raid-member-card.raid-type-5 { color: #22c55e; }
.drive-bay.raid-member-card.raid-type-6 { color: #ef4444; }
.drive-bay.raid-member-card.raid-type-50 { color: #06b6d4; }
.drive-bay.raid-member-card.raid-type-60 { color: #8b5cf6; }
.drive-bay.raid-member-card.raid-type-z1 { color: #14b8a6; }
.drive-bay.raid-member-card.raid-type-z2 { color: #84cc16; }
.drive-bay.raid-member-card.raid-type-z3 { color: #ec4899; }
.raid-type-pill.raid-type-0 { background:rgba(100,116,139,.18); border-color:#64748b; color:#cbd5e1; }
.raid-type-pill.raid-type-1 { background:rgba(37,99,235,.18); border-color:#2563eb; color:#93c5fd; }
.raid-type-pill.raid-type-10 { background:rgba(163,113,247,.17); border-color:#a371f7; color:#d2a8ff; }
.raid-type-pill.raid-type-5 { background:rgba(34,197,94,.16); border-color:#22c55e; color:#86efac; }
.raid-type-pill.raid-type-6 { background:rgba(239,68,68,.16); border-color:#ef4444; color:#fca5a5; }
.raid-type-pill.raid-type-50 { background:rgba(6,182,212,.16); border-color:#06b6d4; color:#67e8f9; }
.raid-type-pill.raid-type-60 { background:rgba(139,92,246,.17); border-color:#8b5cf6; color:#c4b5fd; }
.raid-type-pill.raid-type-z1 { background:rgba(20,184,166,.16); border-color:#14b8a6; color:#5eead4; }
.raid-type-pill.raid-type-z2 { background:rgba(132,204,22,.16); border-color:#84cc16; color:#bef264; }
.raid-type-pill.raid-type-z3 { background:rgba(236,72,153,.16); border-color:#ec4899; color:#f9a8d4; }
.raid-span-pill.span-color-1 { background:rgba(46,160,67,.17); border-color:#2ea043; color:#7ee787; }
.raid-span-pill.span-color-2 { background:rgba(88,166,255,.17); border-color:#58a6ff; color:#a5d6ff; }
.raid-span-pill.span-color-3 { background:rgba(210,153,34,.18); border-color:#d29922; color:#ffd33d; }
.raid-span-pill.span-color-4 { background:rgba(163,113,247,.18); border-color:#a371f7; color:#d2a8ff; }
.raid-span-pill.span-color-5 { background:rgba(219,97,162,.18); border-color:#db61a2; color:#ffaddd; }
.raid-span-pill.span-color-6 { background:rgba(57,197,207,.18); border-color:#39c5cf; color:#a5f3fc; }

.bay-grid-wrap.has-raid-overlay .raid-layout-span {
  display: none !important;
}
.bay-grid-wrap.has-raid-overlay .raid-layout-label.span-label {
  display: none !important;
}
.drive-bay-header-v2 {
  display: grid !important;
  grid-template-columns: auto 1fr 24px !important;
  align-items: center !important;
  gap: 5px !important;
  min-height: 28px !important;
  padding: 2px 2px 4px !important;
}
.bay-header-left {
  min-width: 0 !important;
  display: flex !important;
  align-items: center !important;
}
.drive-bay .bay-index-v2 {
  display: inline-flex !important;
  align-items: center !important;
  margin: 0 !important;
  text-align: left !important;
  white-space: nowrap !important;
  color: #f0f6fc !important;
  font-size: 13px !important;
  line-height: 1 !important;
  font-weight: 900 !important;
  letter-spacing: .025em !important;
}
.drive-bay .bay-badge-strip {
  justify-content: center !important;
  flex-wrap: nowrap !important;
  overflow: hidden !important;
  min-width: 0 !important;
}
.drive-bay .raid-type-pill {
  min-height: 22px !important;
  height: 22px !important;
  min-width: 0 !important;
  padding: 3px 8px !important;
  font-size: 13px !important;
  line-height: 16px !important;
  font-weight: 950 !important;
  letter-spacing: .01em !important;
  white-space: nowrap !important;
}
.drive-bay .raid-vd-pill,
.drive-bay .raid-span-pill,
.drive-bay .zfs-role-pill,
.drive-bay .zfs-pool-pill,
.drive-bay .os-pill,
.drive-bay .validation-badge {
  min-height: 21px !important;
  height: 21px !important;
  padding: 2px 6px !important;
  font-size: 12px !important;
  line-height: 16px !important;
  white-space: nowrap !important;
}
.drive-bay .bay-edit-btn {
  align-self: center !important;
}
.drive-bay .bay-status {
  margin-top: 5px !important;
}
.drive-bay .bay-serial {
  font-size: 14px !important;
  line-height: 1.25 !important;
  font-weight: 800 !important;
  color: #f0f6fc !important;
}
.drive-bay .bay-type-label {
  font-size: 13px !important;
  line-height: 1.25 !important;
  color: #c9d1d9 !important;
}
.drive-bay .bay-capacity-text {
  display: none !important;
}
/* Keep span-colored drive cards, but remove any separate span-box visual noise. */
.drive-bay.raid-member-card::before {
  height: 7px !important;
}

.bay-grid-wrap.has-raid-overlay .bay-grid .drive-bay.raid-member-card {
  width: calc(100% - 18px) !important;
  justify-self: center !important;
  margin-left: auto !important;
  margin-right: auto !important;
}
.bay-grid-wrap.has-raid-overlay .bay-grid {
  column-gap: 10px !important;
  row-gap: 10px !important;
}
.bay-grid-wrap.has-raid-overlay .raid-layout-main {
  padding: 0 !important;
  box-shadow: inset 0 0 0 1px rgba(255,255,255,.055), 0 0 0 1px rgba(0,0,0,.35), 0 0 16px rgba(0,0,0,.18) !important;
}
.bay-grid-wrap.has-raid-overlay .raid-layout-label {
  top: -16px !important;
}
@media(max-width:900px){
  .bay-grid-wrap.has-raid-overlay .bay-grid .drive-bay.raid-member-card {
    width: 100% !important;
  }
}

.bay-grid-wrap.has-raid-overlay .raid-layout-span {
  display: none !important;
}
.drive-bay-header-v2 {
  grid-template-columns: auto minmax(0, 1fr) 24px !important;
  align-items: center !important;
  min-height: 24px !important;
}
.drive-bay-header-v2 .bay-header-left {
  min-width: 72px !important;
  display: flex !important;
  align-items: center !important;
}
.drive-bay .bay-index-v2 {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: flex-start !important;
  text-align: left !important;
  margin: 0 !important;
  font-size: 12.5px !important;
  line-height: 1.1 !important;
  letter-spacing: .035em !important;
  white-space: nowrap !important;
}
.bay-badge-strip {
  justify-content: center !important;
  align-items: center !important;
  min-height: 22px !important;
  gap: 4px !important;
}
.drive-bay .raid-type-pill {
  font-size: 12.5px !important;
  min-width: 48px !important;
  padding: 2px 7px !important;
}
.drive-bay .raid-vd-pill,
.drive-bay .raid-span-pill,
.drive-bay .os-pill,
.drive-bay .validation-badge {
  font-size: 11.5px !important;
}
.drive-bay .bay-serial {
  font-size: 13.5px !important;
  line-height: 1.28 !important;
  color: #f0f6fc !important;
}
.drive-bay .bay-type-label {
  font-size: 12.5px !important;
  line-height: 1.28 !important;
  color: #c9d1d9 !important;
}
.drive-bay.raid-member-card {
  border-color: rgba(139,148,158,.55) !important;
}
.drive-bay.raid-member-card::before {
  height: 5px !important;
}
/* Keep RAID outline visible and uncluttered now that span boxes are gone. */
.bay-grid-wrap.has-raid-overlay .raid-layout-main {
  box-shadow:
    inset 0 0 0 3px currentColor,
    inset 0 0 0 9999px rgba(255,255,255,.025),
    0 0 16px rgba(0,0,0,.22) !important;
}


.bay-grid-wrap.has-raid-overlay .raid-layout-main {
  margin: -10px 0px !important;
}
.bay-grid-wrap.has-raid-overlay .drive-bay.raid-member-card {
  width: calc(100% - 16px) !important;
  max-width: calc(100% - 16px) !important;
}
.bay-grid-wrap.has-raid-overlay .drive-bay.raid-member-card:not(.raid-span-card) {
  justify-self: center !important;
}
.bay-grid-wrap.has-raid-overlay .drive-bay.raid-span-card.raid-span-edge-start {
  justify-self: start !important;
}
.bay-grid-wrap.has-raid-overlay .drive-bay.raid-span-card.raid-span-edge-end {
  justify-self: end !important;
}
.bay-grid-wrap.has-raid-overlay .drive-bay.raid-span-card.raid-span-edge-middle,
.bay-grid-wrap.has-raid-overlay .drive-bay.raid-span-card.raid-span-edge-single {
  justify-self: center !important;
}
.bay-grid-wrap.has-raid-overlay .drive-bay.raid-span-card {
  /* Span separation is spacing only; no visible span divider/background. */
  margin-left: 0 !important;
  margin-right: 0 !important;
}
@media(max-width:900px){
  .bay-grid-wrap.has-raid-overlay .drive-bay.raid-member-card {
    width: calc(100% - 4px) !important;
    max-width: calc(100% - 4px) !important;
  }
  .bay-grid-wrap.has-raid-overlay .raid-layout-main {
    margin: -3px 4px !important;
  }
}

.raid-mini-item[data-raid-id],
.raid-mini-span[data-raid-id],
.raid-layout-main[data-raid-id],
.drive-bay[data-raid-id] .raid-pill {
  cursor: pointer;
}
.drive-bay,
.raid-layout-main,
.raid-mini-item,
.raid-mini-span {
  transition: opacity .16s ease, filter .16s ease, box-shadow .16s ease, transform .16s ease, border-color .16s ease;
}
.storage-highlight-active .drive-bay.storage-highlight-dim {
  opacity: .38;
  filter: saturate(.65) brightness(.72);
}
.storage-highlight-active .raid-layout-main.storage-highlight-dim {
  opacity: .28;
  filter: saturate(.6) brightness(.75);
}
.storage-highlight-active .raid-mini-item.storage-highlight-dim,
.storage-highlight-active .raid-mini-span.storage-highlight-dim {
  opacity: .42;
  filter: saturate(.6) brightness(.78);
}
.storage-highlight-active .drive-bay.storage-highlight-match {
  opacity: 1 !important;
  filter: saturate(1.25) brightness(1.16);
  transform: translateY(-1px);
  box-shadow:
    inset 0 0 0 1px currentColor,
    0 0 0 2px rgba(255,255,255,.10),
    0 0 18px color-mix(in srgb, currentColor 34%, transparent) !important;
  z-index: 5;
}
.storage-highlight-active .raid-layout-main.storage-highlight-match,
.storage-highlight-active .raid-layout-main.storage-highlight-context {
  opacity: 1 !important;
  filter: saturate(1.25) brightness(1.14);
  box-shadow:
    inset 0 0 0 4px currentColor,
    inset 0 0 0 9999px rgba(255,255,255,.04),
    0 0 22px color-mix(in srgb, currentColor 35%, transparent) !important;
}
.storage-highlight-active .raid-mini-item.storage-highlight-match,
.storage-highlight-active .raid-mini-span.storage-highlight-match,
.storage-highlight-active .raid-mini-item.storage-highlight-context,
.storage-highlight-active .raid-mini-span.storage-highlight-context {
  opacity: 1 !important;
  filter: saturate(1.2) brightness(1.15);
  box-shadow: 0 0 0 1px currentColor, 0 0 14px color-mix(in srgb, currentColor 24%, transparent) !important;
}
.storage-highlight-locked .storage-highlight-match {
  outline: 1px solid rgba(255,255,255,.18);
  outline-offset: 2px;
}


.drive-bay[data-raid-id] { cursor: pointer; }


.drive-health-badge {
  display:inline-flex; align-items:center; justify-content:center;
  min-height:22px; padding:2px 7px; border-radius:999px;
  font-size:11px; line-height:1; font-weight:800; letter-spacing:.03em;
  border:1px solid currentColor; white-space:nowrap;
}
.drive-health-badge.status-healthy { color:#2ecc71; background:rgba(46,204,113,.12); }
.drive-health-badge.status-predicted-failure { color:#f1c40f; background:rgba(241,196,15,.14); }
.drive-health-badge.status-failed { color:#ff5c5c; background:rgba(255,92,92,.14); }
.drive-health-badge.status-rebuilding { color:#4da3ff; background:rgba(77,163,255,.14); animation:arkRebuildPulse 1.4s ease-in-out infinite; }
.drive-health-badge.status-replaced { color:#b784ff; background:rgba(183,132,255,.14); }
.drive-health-badge.status-hot-spare { color:#39d0d8; background:rgba(57,208,216,.14); }
.drive-health-badge.status-missing { color:#9aa4af; background:rgba(154,164,175,.12); }
.drive-health-badge.status-redundancy-risk { color:#f1c40f; background:rgba(241,196,15,.14); }
.drive-health-badge.status-redundancy-risk.critical { color:#ff8c8c; background:rgba(255,92,92,.14); }
.drive-health-badge.status-warning-muted { color:#79c0ff; background:rgba(88,166,255,.14); }
.drive-bay:has(.drive-health-badge.status-failed) { box-shadow:inset 0 0 0 2px rgba(255,92,92,.75); }
.drive-bay:has(.drive-health-badge.status-predicted-failure) { box-shadow:inset 0 0 0 2px rgba(241,196,15,.65); }
.drive-bay:has(.drive-health-badge.status-redundancy-risk) { box-shadow:inset 0 0 0 2px rgba(241,196,15,.65); }
.drive-bay:has(.drive-health-badge.status-redundancy-risk.critical) { box-shadow:inset 0 0 0 2px rgba(255,92,92,.75); }
@keyframes arkRebuildPulse { 0%,100%{filter:brightness(1)} 50%{filter:brightness(1.45)} }


.drive-bay .drive-health-badge {
  min-height: 20px !important;
  height: 20px !important;
  min-width: 24px !important;
  padding: 2px 6px !important;
  font-size: 11.5px !important;
  line-height: 15px !important;
  border-radius: 999px !important;
  margin: 0 !important;
}
.drive-replacement-panel {
  border-color: rgba(88,166,255,.35);
}
.replacement-drive-title {
  margin: 4px 0 10px;
  font-family: Consolas, monospace;
  font-weight: 900;
  font-size: 14px;
  color: #f0f6fc;
}
.replacement-detail-grid {
  display: grid;
  grid-template-columns: minmax(52px, auto) minmax(0, 1fr);
  gap: 5px 8px;
  margin-bottom: 10px;
  font-size: 11px;
}
.replacement-detail-grid span { color: #8b949e; }
.replacement-detail-grid strong {
  color: #f0f6fc;
  text-align: right;
  overflow-wrap: anywhere;
}
.replacement-action-grid {
  display: grid;
  grid-template-columns: 1fr;
  gap: 6px;
}
.replacement-action-grid .btn-side {
  min-height: 32px;
  font-size: 10.5px;
}


#app { height: var(--ark-layout-vh); overflow: hidden; }
.ark-global-shell { height:var(--ark-layout-vh); min-height:0; display:grid; grid-template-rows:52px minmax(0,1fr) 46px; background:#0d1117; }
.ark-global-content { min-height:0; overflow:auto; }
.ark-global-topbar { display:flex; align-items:center; gap:24px; padding:0 16px; border-bottom:1px solid #30363d; background:#0b0f14; z-index:120; }
.ark-topbar-brand { display:flex; align-items:baseline; gap:10px; color:#f0f6fc; font-weight:900; letter-spacing:.03em; white-space:nowrap; }
.ark-topbar-brand span { color:#2ea043; font-family:Consolas,monospace; }
.ark-topbar-brand small { color:#8b949e; font-size:.68rem; }
.ark-topnav { display:flex; align-self:stretch; align-items:stretch; gap:4px; }
.ark-topnav-item { appearance:none; border:0; border-bottom:2px solid transparent; background:transparent; color:#c9d1d9; padding:0 14px; font-weight:750; cursor:pointer; }
.ark-topnav-item:hover { color:#58a6ff; background:rgba(88,166,255,.06); }
.ark-topnav-item.active { color:#58a6ff; border-bottom-color:#58a6ff; }
.ark-global-statusbar { display:grid; grid-template-columns:auto minmax(220px,1fr) auto auto; gap:24px; align-items:center; padding:0 14px; border-top:1px solid #30363d; background:#0b0f14; z-index:120; font-size:.76rem; }
.ark-status-item { display:flex; align-items:center; gap:7px; min-width:0; color:#8b949e; }
.ark-status-item strong { color:#c9d1d9; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.ark-status-item strong.good { color:#2ea043; }.ark-status-item strong.warn { color:#d29922; }.ark-status-item strong.bad { color:#f85149; }
.ark-status-actions { display:flex; align-items:center; gap:8px; justify-content:flex-end; }
.ark-status-btn { min-height:30px; border:1px solid #30363d; border-radius:4px; background:#161b22; color:#f0f6fc; padding:5px 14px; font-weight:800; cursor:pointer; }
.ark-status-btn.primary { background:#238636; border-color:#2ea043; }
.ark-status-btn.danger { background:#2a0e14; border-color:#8b3038; color:#ff7b72; }
.ark-status-btn.danger:hover { background:#3a1119; border-color:#f85149; }
.ark-status-btn:disabled { opacity:.45; cursor:not-allowed; }
.ark-global-content > .app-shell, .ark-global-content > .main-layout { min-height:100%; }

/* Match maintenance tags to OS/RAID/VD tags */
.drive-bay .drive-health-badge {
  min-height: 14px !important;
  height: 14px !important;
  min-width: 0 !important;
  padding: 0 4px !important;
  font-size: .48rem !important;
  line-height: 12px !important;
  border-radius: 999px !important;
  letter-spacing: .02em !important;
  border-width: 1px !important;
}
.replacement-action-grid { display:grid; gap:7px; margin-top:10px; }
.replacement-action-grid .btn-side { min-height:30px; }

@media (max-width: 900px) {
  .ark-global-shell { grid-template-rows:auto minmax(0,1fr) auto; }
  .ark-global-topbar { flex-wrap:wrap; gap:8px; padding:8px; }
  .ark-topnav { width:100%; overflow-x:auto; min-height:36px; }
  .ark-topnav-item { padding:0 10px; }
  .ark-global-statusbar { grid-template-columns:1fr auto; gap:8px; padding:7px 9px; }
  .ark-status-item:nth-child(2), .ark-status-item:nth-child(3) { display:none; }
}

.ark-global-content { overflow: hidden !important; }
.ark-global-content > .main-layout,
.ark-global-content > .ark-simple-page { height: 100%; min-height: 0; overflow: auto; }
.ark-global-content > .three-column-server-view {
  height: 100% !important;
  min-height: 0 !important;
  width: 100% !important;
  overflow: hidden !important;
}
.three-column-server-view .server-identity-sidebar,
.three-column-server-view .workflow-sidebar {
  height: 100% !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
}
.three-column-server-view .drive-inventory-workspace {
  height: 100% !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  overflow-x: auto !important;
}

/* Dedicated Servers and Search pages */
.ark-simple-page { padding: 14px; box-sizing: border-box; }
.ark-page-card { width: 100%; min-height: 100%; box-sizing: border-box; }
.server-browser { display: flex; flex-direction: column; gap: 18px; margin-top: 14px; }
.server-browser-group { border: 1px solid #30363d; border-radius: 7px; background: #0d1117; padding: 12px; }
.server-browser-group-title { display: flex; align-items: center; justify-content: space-between; gap: 12px; padding-bottom: 9px; margin-bottom: 10px; border-bottom: 1px dashed #30363d; color: #58a6ff; font: 900 .8rem Consolas, monospace; text-transform: uppercase; }
.server-browser-group-title small { color: #8b949e; font-size: .68rem; }
.server-browser-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(250px, 1fr)); gap: 12px; }
.ark-search-page-bar { display: grid; grid-template-columns: minmax(240px,1fr) auto auto; gap: 8px; align-items: center; margin: 14px 0; }

/* Compact validation and footer action menus */
.ark-global-statusbar {
  grid-template-columns: minmax(330px, auto) minmax(190px, 1fr) auto auto !important;
  gap: 16px !important;
  overflow: visible;
}
.ark-validation-compact { display: flex; align-items: center; gap: 8px; white-space: nowrap; color: #8b949e; }
.ark-validation-compact strong.good { color: #2ea043; }
.ark-validation-compact strong.warn { color: #d29922; }
.ark-validation-compact strong.bad { color: #f85149; }
.ark-validation-compact.is-idle { opacity: .72; }
.ark-count { color: #8b949e; border-left: 1px solid #30363d; padding-left: 8px; }
.ark-count.warn { color: #d29922; }
.ark-count.bad { color: #f85149; }
.ark-action-menu { position: relative; }
.ark-action-menu > summary { list-style: none; user-select: none; }
.ark-action-menu > summary::-webkit-details-marker { display: none; }
.ark-action-menu[data-disabled=true] { pointer-events: none; opacity: .45; }
.ark-action-menu-popover {
  position: absolute;
  right: 0;
  bottom: calc(100% + 7px);
  z-index: 500;
  min-width: 190px;
  padding: 6px;
  border: 1px solid #30363d;
  border-radius: 6px;
  background: #161b22;
  box-shadow: 0 12px 32px rgba(0,0,0,.45);
}
.ark-action-menu-popover button {
  display: block;
  width: 100%;
  border: 0;
  border-radius: 4px;
  background: transparent;
  color: #f0f6fc;
  padding: 9px 10px;
  text-align: left;
  cursor: pointer;
  font-weight: 750;
}
.ark-action-menu-popover button:hover { background: rgba(88,166,255,.12); }
.ark-action-menu-popover button.danger { color: #ff7b72; }
.ark-action-menu-popover button.danger:hover { background: rgba(248,81,73,.14); }
.ark-action-menu-popover button:disabled { opacity: .45; cursor: not-allowed; }
.ark-action-menu-popover hr { border: 0; border-top: 1px solid #30363d; margin: 5px 0; }

/* Right sidebar now contains active tools only. */
.workflow-sidebar { padding-bottom: 12px !important; }

@media (max-width: 1050px) {
  .ark-global-statusbar { grid-template-columns: 1fr auto !important; }
  .ark-status-item { display: none; }
  .ark-validation-compact { overflow: hidden; }
}
@media (max-width: 700px) {
  .ark-search-page-bar { grid-template-columns: 1fr; }
  .server-browser-list { grid-template-columns: 1fr; }
}

.workflow-sidebar .actions-panel { order: 0; }
.workflow-sidebar .actions-button-stack { display: grid; gap: 7px; }
.workflow-sidebar .actions-button-stack .btn-side { width: 100%; }
.workflow-sidebar .drive-replacement-panel { order: 2; }
.workflow-sidebar .scanner-pass-panel { flex: 0 0 auto; }
.server-identity-sidebar .identity-sidebar-spacer { min-height: 12px; }

.bay-status-badge {
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-height:14px;
  height:14px;
  padding:0 4px;
  border:1px solid currentColor;
  border-radius:999px;
  font-size:.48rem;
  line-height:12px;
  font-weight:850;
  letter-spacing:.02em;
  white-space:nowrap;
}
.bay-status-badge.bay-status-unknown { color:#ff6b6b; background:rgba(255,107,107,.12); }
.bay-status-badge.bay-status-empty { color:#8b949e; background:rgba(139,148,158,.10); }
.bay-status-badge.bay-status-reserved { color:#d29922; background:rgba(210,153,34,.12); }
.bay-status-badge.bay-status-hot-spare { color:#39d0d8; background:rgba(57,208,216,.12); }
.bay-status-badge.bay-status-blocked { color:#b784ff; background:rgba(183,132,255,.12); }
.drive-bay.bay-status-unknown:not(.populated) { border-color:rgba(255,107,107,.48); }
.drive-bay.bay-status-empty:not(.populated) { border-style:solid; opacity:.92; }
.drive-bay.bay-status-reserved:not(.populated) { border-color:rgba(210,153,34,.58); }
.drive-bay.bay-status-blocked:not(.populated) { border-color:rgba(183,132,255,.58); }
.drive-bay.bay-status-hot-spare { border-color:rgba(57,208,216,.62); }

.server-filter-status-row { align-items:flex-start; }
.server-filter-status { display:flex; flex-direction:column; align-items:flex-end; gap:3px; text-align:right; font-weight:900; line-height:1.25; }
.server-filter-status-line { display:block; }
.server-filter-status.issue { color:#ff5c5c; }
.server-filter-status.complete { color:#2ea043; }

.bay-status-control { margin:10px 0 12px; }
.bay-status-control small { display:block; margin-top:5px; color:#8b949e; font-size:.72rem; }
.bay-status-explanation {
  display:flex;
  flex-direction:column;
  gap:7px;
  min-height:110px;
  padding:18px;
  border:1px solid #30363d;
  border-radius:7px;
  background:#0d1117;
}
.bay-status-explanation strong { font:900 1rem Consolas,monospace; color:#f0f6fc; }
.bay-status-explanation span { color:#8b949e; line-height:1.45; }
.bay-status-explanation.bay-status-unknown { border-color:rgba(255,92,92,.55); }
.bay-status-explanation.bay-status-empty { border-color:rgba(139,148,158,.45); }
.bay-status-explanation.bay-status-reserved { border-color:rgba(210,153,34,.55); }
.bay-status-explanation.bay-status-blocked { border-color:rgba(183,132,255,.55); }
.bay-status-notes { margin-top:12px; }


.ark-global-statusbar.is-idle { justify-content:flex-start; }
.dashboard-toolbar.dashboard-actions-only {
  display: flex;
  justify-content: flex-end;
  align-items: center;
  margin-bottom: 16px;
}
.ark-search-page-bar {
  grid-template-columns: minmax(150px, .7fr) minmax(170px, .9fr) minmax(260px, 2fr) auto auto;
  align-items: end;
}
.ark-search-query { min-width: 0; }
.ark-search-prompt { margin-top: 14px; }
.search-filter-server-panel .server-browser-list { margin-top: 8px; }
@media (max-width: 1050px) {
  .ark-search-page-bar { grid-template-columns: repeat(2, minmax(160px, 1fr)); }
  .ark-search-query { grid-column: 1 / -1; }
}
@media (max-width: 700px) {
  .dashboard-toolbar.dashboard-actions-only { justify-content: stretch; }
  .dashboard-toolbar.dashboard-actions-only .dashboard-actions { width: 100%; }
  .ark-search-page-bar { grid-template-columns: 1fr; }
  .ark-search-query { grid-column: auto; }
}


.server-card-list,
.server-browser-list {
  grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
  gap: 14px;
}

.server-record-card {
  min-height: 0;
  padding: 0;
  gap: 0;
  overflow: hidden;
  cursor: default;
  background: #0b0f14;
}

.server-record-card:hover {
  border-color: #58a6ff;
}

.server-record-card .server-bulk-select {
  position: static;
  top: auto;
  right: auto;
}

.server-card-section {
  padding: 12px 14px;
  border-bottom: 1px solid #21262d;
}

.server-card-section-title {
  color: #58a6ff;
  font-family: Consolas, monospace;
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
  border-bottom: 1px dashed #30363d;
  padding-bottom: 6px;
  margin-bottom: 8px;
}

.server-card-identity-section {
  width: 100%;
  box-sizing: border-box;
  padding-right: 14px;
}

.server-card-identity-title-row {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  width: 100%;
  box-sizing: border-box;
}

.server-card-identity-title-row .server-card-identity-name {
  flex: 1 1 auto;
  min-width: 0;
}

.server-card-identity-name {
  color: #2ea043;
  font-family: Consolas, monospace;
  font-size: 1rem;
  font-weight: 900;
  margin-bottom: 8px;
  overflow-wrap: anywhere;
}

.server-card-detail-row {
  display: grid;
  grid-template-columns: 104px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  margin: 4px 0;
  font-size: .76rem;
  line-height: 1.3;
}

.server-card-detail-row span {
  color: #8b949e;
  font-family: Consolas, monospace;
}

.server-card-detail-row strong {
  color: #f0f6fc;
  font-weight: 700;
  text-align: right;
  overflow-wrap: anywhere;
}

.server-card-detail-row .service-tag-value {
  color: #2ea043;
  font-family: Consolas, monospace;
}

.server-card-identity-section .server-card-section-title,
.server-card-identity-section .server-card-identity-title-row,
.server-card-identity-section .server-card-detail-row {
  width: 100%;
  box-sizing: border-box;
}

.server-card-summary-grid {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 7px;
}

.server-card-summary-grid > div {
  min-height: 50px;
  padding: 7px 6px;
  border: 1px solid #30363d;
  border-radius: 4px;
  background: #0d1117;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}

.server-card-summary-grid span {
  color: #8b949e;
  font-size: .58rem;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.server-card-summary-grid strong {
  color: #2ea043;
  font-family: Consolas, monospace;
  font-size: .86rem;
  margin-top: 3px;
}

.server-card-inventory-progress {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  margin-top: 8px;
  padding-top: 8px;
  border-top: 1px dashed #30363d;
  font-family: Consolas, monospace;
  font-size: .68rem;
}

.server-card-inventory-progress span {
  color: #8b949e;
  text-transform: uppercase;
  letter-spacing: .04em;
}

.server-card-inventory-progress strong {
  color: #58a6ff;
}

.server-card-filter-section .server-filter-status {
  align-items: flex-start;
  text-align: left;
  gap: 4px;
  font-family: Consolas, monospace;
  font-size: .76rem;
}

.server-card-validation-summary {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  font-family: Consolas, monospace;
  font-size: .74rem;
}

.server-card-validation-summary strong {
  font-weight: 900;
}

.server-card-validation-summary span {
  color: #8b949e;
  text-align: right;
  font-size: .66rem;
}

.server-record-card .server-card-actions {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 6px;
  padding: 12px 14px 14px;
  margin-top: 0;
}
.server-record-card .server-card-actions .btn-card {
  min-width: 0;
  padding: 8px 4px;
  white-space: nowrap;
}

.dashboard-server-list .server-record-card {
  min-height: 0;
}

@media (max-width: 760px) {
  .server-card-list,
  .server-browser-list {
    grid-template-columns: 1fr;
  }

  .server-card-summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }

  .server-card-validation-summary {
    flex-direction: column;
    gap: 4px;
  }

  .server-card-validation-summary span {
    text-align: left;
  }
}


.dashboard-layout-wide,
.dashboard-two-panel,
#dashboardCustomerPanelBlock,
.dashboard-customer-panel,
.dashboard-workspace {
  height: 100% !important;
  min-height: 0 !important;
}

.dashboard-two-panel {
  overflow: hidden !important;
}

.dashboard-customer-panel {
  overflow: hidden !important;
}

.dashboard-customer-scroll {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  display: flex;
  flex-direction: column;
  gap: 4px;
}

.dashboard-workspace {
  display: flex !important;
  flex-direction: column;
  overflow: hidden !important;
}

.dashboard-fixed-content {
  flex: 0 0 auto;
  min-height: 0;
}

.dashboard-server-scroll-region {
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.dashboard-server-scroll-region .server-section-header {
  flex: 0 0 auto;
}

.dashboard-server-list {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  align-content: start;
  padding-bottom: 14px;
}

.dashboard-customer-scroll,
.dashboard-server-list,
.three-column-server-view .drive-inventory-workspace {
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.dashboard-customer-scroll::-webkit-scrollbar,
.dashboard-server-list::-webkit-scrollbar,
.three-column-server-view .drive-inventory-workspace::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}

.bulk-action-bar {
  display: none !important;
}

.ark-global-statusbar.has-bulk-actions {
  grid-template-columns: minmax(0, 1fr) auto !important;
  justify-content: stretch !important;
}

.ark-selection-compact strong {
  color: #58a6ff;
}

.ark-bulk-status-actions {
  grid-column: 2;
}

@media (max-width: 900px) {
  .dashboard-two-panel {
    overflow: auto !important;
  }

  .dashboard-workspace {
    overflow: visible !important;
  }

  .dashboard-server-scroll-region,
  .dashboard-server-list {
    overflow: visible;
  }

  .dashboard-customer-scroll {
    max-height: 190px;
  }

  .ark-global-statusbar.has-bulk-actions {
    grid-template-columns: 1fr auto !important;
  }
}


.customer-nav-count.has-issues {
  color: #ff6b6b;
  border-color: rgba(255, 107, 107, .45);
  background: rgba(120, 20, 28, .28);
}
.customer-nav-count.is-clear {
  color: #58d68d;
  border-color: rgba(88, 214, 141, .35);
  background: rgba(20, 90, 52, .22);
}
.server-browser-group-title {
  align-items: center;
}
.server-browser-company-name {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}
.company-bulk-select {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  color: #9db3c9;
  font: 800 .68rem Consolas, monospace;
  text-transform: uppercase;
  cursor: pointer;
  white-space: nowrap;
}
.company-bulk-select input {
  width: 18px;
  height: 18px;
  accent-color: #58d2ff;
  cursor: pointer;
}
.company-bulk-select.is-partial {
  color: #58d2ff;
}
@media (max-width: 720px) {
  .server-browser-group-title {
    align-items: flex-start;
    flex-direction: column;
  }
}


.dashboard-customer-panel {
  padding-top: 20px;
}
.company-summary-grid {
  display: grid;
  grid-template-columns: repeat(9, minmax(88px, 1fr));
  gap: 8px;
  margin: 0 0 12px;
  padding: 10px;
  border: 1px solid #252c35;
  border-radius: 6px;
  background: #0a0e13;
}
.company-summary-grid > div {
  min-width: 0;
  padding: 7px 8px;
  border: 1px solid rgba(48, 54, 61, .72);
  border-radius: 5px;
  background: #11161d;
}
.company-summary-grid span,
.company-summary-grid strong {
  display: block;
}
.company-summary-grid span {
  color: #8b949e;
  font: 800 .62rem Consolas, monospace;
  letter-spacing: .03em;
  text-transform: uppercase;
}
.company-summary-grid strong {
  margin-top: 5px;
  color: #f0f6fc;
  font: 900 .96rem Consolas, monospace;
  overflow-wrap: anywhere;
}
@media (max-width: 1500px) {
  .company-summary-grid { grid-template-columns: repeat(5, minmax(88px, 1fr)); }
}
@media (max-width: 900px) {
  .company-summary-grid { grid-template-columns: repeat(3, minmax(88px, 1fr)); }
}
@media (max-width: 520px) {
  .company-summary-grid { grid-template-columns: repeat(2, minmax(88px, 1fr)); }
}


#serversCustomerPanelBlock {
  min-width: 0;
  height: 100%;
  min-height: 0;
  overflow: hidden;
  border-right: 1px solid #21262d;
  background: #0b0f14;
}

.servers-customer-panel {
  height: 100%;
  min-height: 0;
  overflow: hidden;
}

.customer-nav-count.server-total-count {
  color: #8b949e;
  border: 1px solid rgba(88, 166, 255, .24);
  background: rgba(33, 42, 55, .72);
}

.customer-nav-item.selected .customer-nav-count.server-total-count {
  color: #58a6ff;
  border-color: rgba(88, 166, 255, .42);
  background: rgba(30, 80, 125, .24);
}

.servers-dashboard-workspace {
  width: 100%;
  max-width: none;
}

.servers-analytics-grid {
  grid-template-columns: repeat(3, minmax(220px, 1fr));
}

.servers-section-header {
  align-items: center;
  gap: 12px;
  min-height: 34px;
}

.servers-select-visible-btn {
  min-height: 30px;
  padding: 5px 10px;
  font-size: .66rem;
}

.servers-page-server-list {
  grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
}

@media (max-width: 1200px) {
  .servers-analytics-grid {
    grid-template-columns: repeat(2, minmax(220px, 1fr));
  }
}

@media (max-width: 900px) {
  #serversCustomerPanelBlock {
    height: auto;
    max-height: 220px;
    border-right: 0;
    border-bottom: 1px solid #21262d;
  }

  .servers-analytics-grid {
    grid-template-columns: 1fr;
  }

  .servers-section-header {
    align-items: flex-start;
    flex-direction: column;
  }
}


.servers-dashboard-layout,
.servers-dashboard-layout .dashboard-two-panel {
  height: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
}

.servers-dashboard-workspace {
  height: 100% !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  padding: 14px 18px 0 !important;
}

.servers-dashboard-workspace .dashboard-fixed-content {
  flex: 0 0 auto;
  min-height: 0;
}

.servers-dashboard-workspace .dashboard-toolbar {
  margin-bottom: 8px;
}

.servers-kpi-grid {
  grid-template-columns: repeat(11, minmax(88px, 1fr)) !important;
  gap: 8px !important;
  margin-bottom: 8px !important;
}

.servers-kpi-grid .kpi-card {
  min-height: 62px;
  padding: 9px 10px;
  border-radius: 6px;
}

.servers-kpi-grid .kpi-label {
  font-size: .6rem;
}

.servers-kpi-grid .kpi-value {
  margin-top: 4px;
  font-size: 1.08rem;
  line-height: 1.05;
}

.servers-kpi-grid .kpi-sub {
  margin-top: 3px;
  font-size: .58rem;
  line-height: 1.15;
}

.servers-analytics-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
  gap: 8px !important;
  margin-bottom: 8px !important;
}

.servers-analytics-grid .analytics-card {
  min-height: 104px;
  max-height: 116px;
  padding: 9px 10px;
  overflow: hidden;
  border-radius: 6px;
}

.servers-analytics-grid .analytics-title {
  margin-bottom: 7px;
  font-size: .67rem;
}

.servers-analytics-grid .analytics-row {
  margin-bottom: 5px;
}

.servers-analytics-grid .analytics-row-top {
  font-size: .66rem;
}

.servers-analytics-grid .analytics-bar {
  height: 5px;
  margin-top: 2px;
}

.servers-analytics-more {
  margin-top: 3px;
  font-size: .62rem;
}

.servers-analytics-grid .progress-donut {
  width: 58px;
  height: 58px;
  border-width: 7px;
  margin: 1px auto 4px;
}

.servers-analytics-grid .progress-donut span {
  font-size: .88rem;
}

.servers-analytics-grid .analytics-empty {
  font-size: .64rem;
  line-height: 1.15;
}

.servers-server-scroll-region {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
}

.servers-section-header {
  flex: 0 0 auto;
  margin: 6px 0 8px !important;
}

.servers-page-server-list {
  flex: 1 1 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  align-content: start;
  grid-auto-rows: max-content;
  padding-bottom: 20px;
  content-visibility: visible !important;
  contain: none !important;
  contain-intrinsic-size: auto !important;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.servers-page-server-list .server-record-card {
  align-self: start;
  height: max-content;
}

.servers-page-server-list::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}

.ark-search-page-layout {
  height: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
  padding: 14px !important;
}

.ark-search-page-card {
  height: 100% !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  padding: 16px !important;
}

.ark-search-fixed-region {
  flex: 0 0 auto;
  min-height: 0;
}

.ark-search-page-card .ark-search-page-bar {
  margin: 0 0 12px !important;
}

.ark-search-scroll-region {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  padding-right: 2px;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.ark-search-scroll-region::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}

.ark-search-scroll-region > .global-search-panel:first-child,
.ark-search-scroll-region > .global-search-empty:first-child {
  margin-top: 0;
}

@media (max-width: 1320px) {
  .servers-kpi-grid {
    grid-template-columns: repeat(6, minmax(95px, 1fr)) !important;
  }
}

@media (max-width: 900px) {
  .servers-dashboard-workspace {
    padding: 10px !important;
  }

  .servers-kpi-grid {
    grid-template-columns: repeat(3, minmax(100px, 1fr)) !important;
  }

  .servers-analytics-grid {
    grid-template-columns: 1fr !important;
  }

  .servers-analytics-grid .analytics-card {
    max-height: none;
  }

  .servers-server-scroll-region,
  .servers-page-server-list {
    overflow: visible !important;
  }

  .ark-search-page-layout {
    padding: 8px !important;
  }
}

@media (max-width: 560px) {
  .servers-kpi-grid {
    grid-template-columns: repeat(2, minmax(100px, 1fr)) !important;
  }
}



/* Replacement history and persistent replacement workflow */
.replacement-pending-banner {
  display:flex;
  flex-direction:column;
  gap:2px;
  margin:0 0 10px;
  padding:8px 9px;
  border:1px solid rgba(77,163,255,.45);
  border-radius:5px;
  background:rgba(77,163,255,.10);
}
.replacement-pending-banner strong { color:#79c0ff; font-size:10px; letter-spacing:.06em; }
.replacement-pending-banner span { color:#9da7b3; font-size:10px; }
.replacement-history { margin-top:10px; border-top:1px solid #30363d; padding-top:8px; }
.replacement-history > summary { cursor:pointer; color:#c9d1d9; font-size:10px; font-weight:900; letter-spacing:.05em; list-style:none; display:flex; justify-content:space-between; }
.replacement-history > summary::-webkit-details-marker { display:none; }
.replacement-history > summary span { min-width:20px; padding:1px 5px; border-radius:999px; text-align:center; background:#21262d; color:#8b949e; }
.replacement-history-list { display:grid; gap:7px; margin-top:8px; }
.replacement-history-item { padding:7px; border:1px solid #30363d; border-radius:5px; background:#0d1117; }
.replacement-history-date { color:#8b949e; font-size:9px; margin-bottom:4px; }
.replacement-history-swap { display:grid; grid-template-columns:minmax(0,1fr) auto minmax(0,1fr); align-items:center; gap:5px; color:#f0f6fc; font-size:9.5px; }
.replacement-history-swap span { overflow-wrap:anywhere; }
.replacement-history-swap b { color:#58a6ff; }
.replacement-history-meta { color:#79c0ff; font-size:9px; margin-top:4px; }
.replacement-history-notes { color:#b1bac4; font-size:9px; margin-top:4px; white-space:pre-wrap; }
.replacement-history-empty,.replacement-history-more { color:#8b949e; font-size:9.5px; margin-top:8px; }
.replacement-entry-card { margin:0 0 12px; padding:10px; border:1px solid rgba(88,166,255,.45); border-radius:6px; background:rgba(88,166,255,.07); }
.replacement-entry-title { color:#79c0ff; font-weight:900; font-size:11px; letter-spacing:.05em; margin-bottom:7px; }
.replacement-entry-old { display:grid; grid-template-columns:auto minmax(0,1fr); gap:8px; font-size:10px; margin-bottom:9px; }
.replacement-entry-old span { color:#8b949e; }
.replacement-entry-old strong { color:#f0f6fc; overflow-wrap:anywhere; }
.replacement-entry-grid { display:grid; grid-template-columns:minmax(180px,.65fr) minmax(240px,1.35fr); gap:10px; }
.replacement-entry-grid textarea { min-height:70px; }
@media (max-width: 760px) { .replacement-entry-grid { grid-template-columns:1fr; } }

/* Replacement modal step tabs */
.replacement-workflow-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 8px;
  position: sticky;
  top: 62px;
  z-index: 3;
  padding: 4px 0;
  background: #161b22;
}
.replacement-workflow-tab {
  min-height: 42px;
  border: 1px solid #30363d;
  border-radius: 6px;
  background: #0b0f14;
  color: #8b949e;
  font-family: Consolas, monospace;
  font-size: .72rem;
  font-weight: 900;
  letter-spacing: .04em;
  cursor: pointer;
}
.replacement-workflow-tab span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 20px;
  height: 20px;
  margin-right: 6px;
  border-radius: 50%;
  background: #21262d;
  color: #c9d1d9;
}
.replacement-workflow-tab b { margin-left: 6px; color: #3fb950; }
.replacement-workflow-tab:hover:not(:disabled) { border-color: #58a6ff; color: #c9d1d9; }
.replacement-workflow-tab.active {
  border-color: #58a6ff;
  background: rgba(88,166,255,.12);
  color: #79c0ff;
  box-shadow: inset 0 -2px 0 #58a6ff;
}
.replacement-workflow-tab.active span { background: #1f6feb; color: #fff; }
.replacement-workflow-tab:disabled { opacity: .45; cursor: not-allowed; }
.replacement-tab-panel {
  display: flex;
  flex-direction: column;
  gap: 12px;
  padding: 12px;
  border: 1px solid #30363d;
  border-radius: 7px;
  background: #0d1117;
}
.replacement-details-panel {
  border-color: rgba(88,166,255,.45);
  background: rgba(88,166,255,.06);
}
.replacement-details-panel .replacement-entry-old {
  margin-bottom: 0;
  padding: 9px;
  border: 1px solid #30363d;
  border-radius: 5px;
  background: #0b0f14;
}
.replacement-reason-field { max-width: 520px; }
.replacement-reason-field small { display: block; margin-top: 6px; color: #8b949e; font-size: .7rem; }
.replacement-drive-panel { gap: 12px; }
.replacement-drive-context {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 10px;
  align-items: center;
  padding: 9px 10px;
  border: 1px solid rgba(88,166,255,.35);
  border-radius: 6px;
  background: rgba(88,166,255,.07);
}
.replacement-drive-context div { min-width: 0; display: flex; flex-direction: column; gap: 2px; }
.replacement-drive-context span { color: #8b949e; font-size: .65rem; text-transform: uppercase; letter-spacing: .05em; }
.replacement-drive-context strong { color: #79c0ff; font-size: .8rem; overflow-wrap: anywhere; }
.replacement-drive-context .btn-side { min-height: 32px; padding: 6px 12px; }
.replacement-notes-field textarea { min-height: 72px; }
.replacement-step-actions { grid-template-columns: minmax(120px, .45fr) minmax(240px, 1fr); }

@media (max-width: 720px) {
  .replacement-workflow-tabs { position: static; top: auto; }
  .replacement-workflow-tab { min-height: 48px; font-size: .68rem; }
  .replacement-drive-context { grid-template-columns: 1fr; }
  .replacement-drive-context .btn-side { width: 100%; }
  .replacement-step-actions { grid-template-columns: 1fr; }
}


.ark-global-statusbar.has-server-workspaces {
  grid-template-columns: minmax(300px, auto) minmax(360px, 1fr) minmax(150px, auto) auto !important;
  gap: 12px !important;
}
.ark-server-workspace-nav {
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  gap: 5px;
  overflow: visible;
}
.ark-workspace-btn {
  min-height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 6px;
  padding: 5px 11px;
  border: 1px solid #30363d;
  border-radius: 4px;
  background: #161b22;
  color: #c9d1d9;
  font: 800 .68rem Consolas, monospace;
  text-transform: uppercase;
  white-space: nowrap;
  cursor: pointer;
}
.ark-workspace-btn:hover { border-color: #58a6ff; color: #79c0ff; }
.ark-workspace-btn.active { border-color: #2ea043; background: rgba(46,160,67,.16); color: #58d68d; box-shadow: inset 0 -2px 0 #2ea043; }
.ark-workspace-btn b { min-width: 18px; padding: 1px 5px; border-radius: 999px; background: #0b0f14; color: #8b949e; font-size: .60rem; text-align: center; }
.ark-workspace-btn.active b { color: #58d68d; }
.ark-workspace-btn.add { list-style: none; color: #58a6ff; }
.ark-workspace-btn.add::-webkit-details-marker { display: none; }
.ark-workspace-add-menu { flex: 0 0 auto; }
.ark-workspace-add-menu .ark-action-menu-popover { min-width: 140px; }
.ark-last-saved { justify-self: end; }

.server-subworkspace { min-width: 0; min-height: 100%; }
.drives-workspace { display: block; }
.server-subworkspace-header { display:flex; align-items:flex-start; justify-content:space-between; gap:16px; margin:0 0 14px; padding:2px 2px 12px; border-bottom:1px solid #30363d; }
.server-subworkspace-header h2 { margin:3px 0 4px; color:#f0f6fc; font:900 1.15rem Consolas,monospace; letter-spacing:.04em; }
.server-subworkspace-header p { margin:0; color:#8b949e; font-size:.78rem; }
.workspace-eyebrow { color:#58a6ff; font:900 .62rem Consolas,monospace; letter-spacing:.08em; }
.workspace-count { min-width:76px; padding:8px 10px; border:1px solid #30363d; border-radius:5px; background:#161b22; color:#58d68d; font:900 .82rem Consolas,monospace; text-align:center; }
.workspace-empty-state { grid-column:1/-1; min-height:120px; display:flex; flex-direction:column; align-items:center; justify-content:center; gap:6px; padding:20px; border:1px dashed #30363d; border-radius:6px; color:#8b949e; text-align:center; }
.workspace-empty-state strong { color:#c9d1d9; }

.history-table-shell { min-width: 900px; border:1px solid #30363d; border-radius:6px; overflow:hidden; background:#0d1117; }
.history-table-head, .history-table-row { display:grid; grid-template-columns:150px 110px minmax(190px,1.2fr) minmax(190px,1.2fr) minmax(130px,.8fr) minmax(130px,.8fr); gap:10px; align-items:center; }
.history-table-head { padding:9px 11px; background:#161b22; color:#8b949e; font:900 .62rem Consolas,monospace; text-transform:uppercase; letter-spacing:.04em; }
.history-table-body { max-height:calc(var(--ark-layout-vh) - 185px); overflow:auto; scrollbar-width:none; }
.history-table-body::-webkit-scrollbar { display:none; }
.history-table-row { width:100%; min-height:58px; padding:9px 11px; border:0; border-top:1px solid #21262d; background:#0d1117; color:#c9d1d9; text-align:left; cursor:pointer; }
.history-table-row:hover { background:#111820; }
.history-table-row.selected { background:rgba(88,166,255,.10); box-shadow:inset 3px 0 0 #58a6ff; }
.history-table-row span { min-width:0; overflow-wrap:anywhere; font-size:.72rem; }
.history-table-row span:first-child, .history-table-row span:nth-child(2), .history-table-row span:last-child { font-family:Consolas,monospace; color:#9da7b3; font-size:.67rem; }
.history-detail-notes { margin-top:8px; padding:8px; border:1px solid #30363d; border-radius:4px; background:#0b0f14; color:#b1bac4; font-size:.70rem; white-space:pre-wrap; }

.storage-kpi-grid { display:grid; grid-template-columns:repeat(4,minmax(130px,1fr)); gap:8px; margin-bottom:12px; }
.storage-kpi-grid > div { padding:10px; border:1px solid #30363d; border-radius:5px; background:#161b22; }
.storage-kpi-grid span, .storage-kpi-grid strong { display:block; }
.storage-kpi-grid span { color:#8b949e; font:800 .62rem Consolas,monospace; text-transform:uppercase; }
.storage-kpi-grid strong { margin-top:4px; color:#f0f6fc; font:900 1rem Consolas,monospace; }
.storage-kpi-grid strong.good, .storage-sidebar-stats strong.good { color:#2ea043; }
.storage-kpi-grid strong.warn, .storage-sidebar-stats strong.warn { color:#d29922; }
.storage-group-grid { display:grid; grid-template-columns:repeat(auto-fill,minmax(250px,1fr)); gap:8px; margin-bottom:14px; }
.storage-group-card { display:flex; align-items:center; justify-content:space-between; gap:10px; min-height:82px; padding:10px; border:1px solid #30363d; border-radius:6px; background:#161b22; }
.storage-group-card.ok { border-left:3px solid #2ea043; }
.storage-group-card.warn { border-left:3px solid #d29922; }
.storage-group-card > div { min-width:0; }
.storage-group-card span { color:#58a6ff; font:900 .62rem Consolas,monospace; }
.storage-group-card h3 { margin:3px 0; color:#f0f6fc; font-size:.86rem; }
.storage-group-card p { margin:0; color:#8b949e; font-size:.68rem; }
.storage-group-card em { display:block; margin-top:4px; color:#d29922; font-size:.65rem; font-style:normal; }
.storage-layout-heading { display:flex; align-items:center; justify-content:space-between; gap:10px; margin:4px 0 8px; color:#58a6ff; font:900 .70rem Consolas,monospace; }
.storage-layout-heading small { color:#8b949e; font-weight:600; }
.storage-sidebar-stats { display:grid; grid-template-columns:1fr auto; gap:7px 10px; align-items:center; padding-top:5px; color:#8b949e; font-size:.68rem; }
.storage-sidebar-stats strong { color:#f0f6fc; font-family:Consolas,monospace; }
.context-sidebar { align-content:start; }
.context-history label { margin-top:3px; }

/* The default Drives workspace remains a clean physical inventory view. */
.workspace-drives .drive-bay.raid-member-card { box-shadow:none !important; }
.workspace-drives .raid-grid-overlay { display:none !important; }

@media (max-width: 1320px) {
  .ark-global-statusbar.has-server-workspaces { grid-template-columns:minmax(250px,auto) minmax(320px,1fr) auto !important; }
  .ark-global-statusbar.has-server-workspaces .ark-last-saved { display:none; }
}
@media (max-width: 1050px) {
  .ark-global-statusbar.has-server-workspaces { grid-template-columns:1fr auto !important; }
  .ark-server-workspace-nav { order:3; grid-column:1/-1; justify-content:flex-start; overflow-x:auto; padding-bottom:2px; }
  .ark-global-shell { grid-template-rows:52px minmax(0,1fr) auto; }
  .storage-kpi-grid { grid-template-columns:repeat(2,minmax(120px,1fr)); }
}
@media (max-width: 900px) {
  .server-subworkspace-header { flex-direction:column; }
  .history-table-shell { min-width:760px; }
  .storage-group-grid { grid-template-columns:1fr; }
  .context-sidebar { width:100%; }
}

.three-column-server-view.no-context-sidebar {
  grid-template-columns: var(--ark-left-sidebar, 340px) minmax(0, 1fr) !important;
}
.storage-workspace-header {
  align-items: center;
}
.storage-add-group-btn {
  min-width: 156px;
  min-height: 34px;
  border-color: rgba(46,160,67,.72);
  background: rgba(46,160,67,.16);
  color: #58d68d;
}
.storage-add-group-btn:hover {
  border-color: #3fb950;
  background: rgba(46,160,67,.25);
  color: #7ee787;
}
.storage-group-grid {
  grid-template-columns: repeat(auto-fill, minmax(290px, 1fr));
}
.storage-group-card {
  display: block;
  min-height: 96px;
  cursor: pointer;
  transition: opacity .16s ease, filter .16s ease, box-shadow .16s ease, transform .16s ease, border-color .16s ease;
}
.storage-group-card-main {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.storage-group-card-copy {
  min-width: 0;
}
.storage-group-card .raid-edit-group {
  flex: 0 0 auto;
}
.storage-group-spans {
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
  margin-top: 10px;
  padding-top: 8px;
  border-top: 1px solid #30363d;
}
.storage-group-span {
  display: inline-flex;
  align-items: center;
  gap: 7px;
  min-height: 27px;
  padding: 4px 8px;
  border: 1px solid currentColor;
  border-radius: 4px;
  background: #0b0f14;
  font-family: Consolas, monospace;
  cursor: pointer;
  transition: opacity .16s ease, filter .16s ease, box-shadow .16s ease, transform .16s ease;
}
.storage-group-span span {
  color: currentColor;
  font-size: .64rem;
  text-transform: uppercase;
}
.storage-group-span strong {
  color: #c9d1d9;
  font-size: .64rem;
  font-weight: 800;
}
.storage-group-span:hover {
  filter: brightness(1.22);
  transform: translateY(-1px);
}
.storage-group-card.raid-type-0 { border-left-color:#8b949e; }
.storage-group-card.raid-type-1 { border-left-color:#58a6ff; }
.storage-group-card.raid-type-10 { border-left-color:#a371f7; }
.storage-group-card.raid-type-5 { border-left-color:#2ea043; }
.storage-group-card.raid-type-6 { border-left-color:#f85149; }
.storage-group-card.raid-type-50 { border-left-color:#f85149; }
.storage-group-card.raid-type-60 { border-left-color:#d29922; }
.storage-group-card.raid-type-z1 { border-left-color:#39c5cf; }
.storage-group-card.raid-type-z2 { border-left-color:#3fb950; }
.storage-group-card.raid-type-z3 { border-left-color:#db61a2; }
.storage-group-card.raid-type-default { border-left-color:#a371f7; }
.storage-highlight-active .storage-group-card.storage-highlight-dim,
.storage-highlight-active .storage-group-span.storage-highlight-dim {
  opacity: .38;
  filter: saturate(.65) brightness(.72);
}
.storage-highlight-active .storage-group-card.storage-highlight-match,
.storage-highlight-active .storage-group-card.storage-highlight-context {
  opacity: 1 !important;
  filter: saturate(1.18) brightness(1.10);
  transform: translateY(-1px);
  box-shadow: inset 0 0 0 1px currentColor, 0 0 16px color-mix(in srgb, currentColor 25%, transparent) !important;
}
.storage-highlight-active .storage-group-span.storage-highlight-match,
.storage-highlight-active .storage-group-span.storage-highlight-context {
  opacity: 1 !important;
  filter: saturate(1.2) brightness(1.16);
  box-shadow: 0 0 0 1px currentColor, 0 0 13px color-mix(in srgb, currentColor 24%, transparent) !important;
}
.storage-highlight-locked .storage-group-card.storage-highlight-match,
.storage-highlight-locked .storage-group-span.storage-highlight-match {
  outline: 1px solid rgba(255,255,255,.18);
  outline-offset: 2px;
}
@media (max-width: 900px) {
  .three-column-server-view.no-context-sidebar {
    display: flex !important;
    flex-direction: column !important;
  }
  .storage-workspace-header {
    align-items: stretch;
  }
  .storage-add-group-btn {
    width: 100%;
  }
}


.storage-group-spans {
  flex-direction: column;
  flex-wrap: nowrap;
  align-items: stretch;
}
.storage-group-span {
  width: 100%;
  justify-content: space-between;
  box-sizing: border-box;
}
.storage-group-span.span-color-1 { color:#2ea043; border-color:#2ea043; background:rgba(46,160,67,.10); }
.storage-group-span.span-color-2 { color:#58a6ff; border-color:#58a6ff; background:rgba(88,166,255,.10); }
.storage-group-span.span-color-3 { color:#d29922; border-color:#d29922; background:rgba(210,153,34,.10); }
.storage-group-span.span-color-4 { color:#a371f7; border-color:#a371f7; background:rgba(163,113,247,.10); }
.storage-group-span.span-color-5 { color:#db61a2; border-color:#db61a2; background:rgba(219,97,162,.10); }
.storage-group-span.span-color-6 { color:#39c5cf; border-color:#39c5cf; background:rgba(57,197,207,.10); }
.workspace-drives .raid-pill,
.workspace-drives .raid-grid-overlay,
.workspace-drives .raid-layout-box {
  display:none !important;
}

.drive-bay.selected,
.workspace-drives .drive-bay.selected,
.workspace-raid .drive-bay.selected,
.workspace-zfs .drive-bay.selected {
  background:
    linear-gradient(135deg, rgba(255,140,66,.32), rgba(255,140,66,.13)),
    #1f242c !important;
  border-color: #ff9d5c !important;
  outline: 3px solid #ff9d5c !important;
  outline-offset: 2px;
  box-shadow:
    inset 0 0 0 2px rgba(255,225,196,.22),
    0 0 0 1px rgba(255,157,92,.42),
    0 0 22px rgba(255,140,66,.52) !important;
  filter: none !important;
  opacity: 1 !important;
  transform: translateY(-2px);
  z-index: 20;
}
.drive-bay.selected::after {
  content: "SELECTED";
  position: absolute;
  right: 6px;
  bottom: 6px;
  z-index: 30;
  pointer-events: none;
  padding: 3px 6px;
  border: 1px solid #ffd0ad;
  border-radius: 999px;
  background: #ff8c42;
  color: #111820;
  font: 900 .55rem/1 Consolas, monospace;
  letter-spacing: .06em;
  box-shadow: 0 2px 8px rgba(0,0,0,.45);
}
.drive-bay.selected .bay-index,
.drive-bay.selected .bay-serial,
.drive-bay.selected .bay-type-label {
  color: #fff4ea !important;
}
.drive-bay.selected.storage-highlight-dim {
  opacity: 1 !important;
  filter: none !important;
}


.raid-workspace-v2 { display:block; }
.raid-workspace-tabs {
  display:flex;
  align-items:center;
  gap:6px;
  margin:0 0 12px;
  padding:5px;
  border:1px solid #30363d;
  border-radius:6px;
  background:#0b0f14;
  overflow-x:auto;
  scrollbar-width:none;
}
.raid-workspace-tabs::-webkit-scrollbar { display:none; }
.raid-workspace-tab {
  flex:0 0 auto;
  min-height:34px;
  padding:7px 14px;
  border:1px solid transparent;
  border-radius:4px;
  background:transparent;
  color:#8b949e;
  font:900 .68rem Consolas,monospace;
  text-transform:uppercase;
  cursor:pointer;
}
.raid-workspace-tab:hover { color:#79c0ff; border-color:#30363d; background:#161b22; }
.raid-workspace-tab.active { color:#58d68d; border-color:#2ea043; background:rgba(46,160,67,.15); box-shadow:inset 0 -2px 0 #2ea043; }
.raid-workspace-section { min-width:0; }
.raid-summary-grid,
.raid-capacity-grid {
  display:grid;
  gap:8px;
  margin-bottom:12px;
}
.raid-summary-grid { grid-template-columns:repeat(6,minmax(120px,1fr)); }
.raid-capacity-grid { grid-template-columns:repeat(auto-fit,minmax(120px,1fr)); }
.raid-summary-grid > div,
.raid-capacity-grid > div {
  min-width:0;
  padding:10px;
  border:1px solid #30363d;
  border-radius:5px;
  background:#161b22;
}
.raid-summary-grid span,
.raid-capacity-grid span { display:block; color:#8b949e; font:800 .60rem Consolas,monospace; text-transform:uppercase; letter-spacing:.04em; }
.raid-summary-grid strong,
.raid-capacity-grid strong { display:block; margin-top:4px; color:#f0f6fc; font:900 .94rem Consolas,monospace; overflow-wrap:anywhere; }
.raid-summary-grid strong.good,
.raid-capacity-grid strong.good,
.raid-validation-state.good { color:#3fb950; }
.raid-summary-grid strong.warn,
.raid-capacity-grid strong.warn,
.raid-validation-state.warn { color:#d29922; }
.raid-summary-grid strong.bad,
.raid-capacity-grid strong.bad,
.raid-validation-state.bad { color:#f85149; }
.raid-overview-table { min-width:1080px; border:1px solid #30363d; border-radius:6px; overflow:hidden; background:#0d1117; }
.raid-overview-head,
.raid-overview-row {
  display:grid;
  grid-template-columns:64px minmax(150px,1.3fr) 96px 56px 56px 52px 82px 92px 96px minmax(155px,1.1fr) 105px;
  gap:9px;
  align-items:center;
}
.raid-overview-head { padding:8px 10px; background:#161b22; color:#8b949e; font:900 .59rem Consolas,monospace; text-transform:uppercase; }
.raid-overview-row { width:100%; min-height:48px; padding:8px 10px; border:0; border-top:1px solid #21262d; background:#0d1117; color:#c9d1d9; text-align:left; cursor:pointer; }
.raid-overview-row:hover { background:#111820; box-shadow:inset 3px 0 0 #58a6ff; }
.raid-overview-row span { min-width:0; overflow-wrap:anywhere; font-size:.68rem; }
.raid-overview-vd { color:#58a6ff; font:900 .72rem Consolas,monospace; }
.raid-validation-state { font:900 .62rem Consolas,monospace; text-transform:uppercase; }
.raid-vd-tabs { display:flex; gap:6px; margin-bottom:10px; overflow-x:auto; padding-bottom:2px; scrollbar-width:none; }
.raid-vd-tabs::-webkit-scrollbar { display:none; }
.raid-vd-tab {
  flex:0 0 auto;
  min-width:132px;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  gap:2px;
  padding:8px 10px;
  border:1px solid #30363d;
  border-radius:5px;
  background:#161b22;
  color:#c9d1d9;
  cursor:pointer;
}
.raid-vd-tab:hover { border-color:#58a6ff; }
.raid-vd-tab.active { border-color:#2ea043; background:rgba(46,160,67,.13); box-shadow:inset 0 -2px 0 #2ea043; }
.raid-vd-tab.warn:not(.active) { border-bottom-color:#d29922; }
.raid-vd-tab span { color:#58a6ff; font:900 .70rem Consolas,monospace; }
.raid-vd-tab small { max-width:180px; color:#8b949e; font-size:.62rem; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.raid-vd-detail { border:1px solid #30363d; border-radius:6px; background:#0d1117; overflow:hidden; }
.raid-vd-detail-header { display:flex; align-items:flex-start; justify-content:space-between; gap:14px; padding:14px; border-bottom:1px solid #30363d; background:#111820; }
.raid-vd-detail-header h3 { margin:4px 0; color:#f0f6fc; font-size:1rem; }
.raid-vd-detail-header p { margin:0; color:#8b949e; font-size:.70rem; white-space:pre-wrap; }
.raid-vd-detail .raid-capacity-grid { padding:12px 12px 0; }
.raid-detail-columns { display:grid; grid-template-columns:minmax(280px,.9fr) minmax(320px,1.1fr); gap:12px; padding:0 12px 12px; }
.raid-detail-columns > section,
.raid-members-section { min-width:0; padding:10px; border:1px solid #30363d; border-radius:5px; background:#111820; }
.raid-span-summary-list,
.raid-validation-list { display:flex; flex-direction:column; gap:6px; }
.raid-span-summary { display:grid; grid-template-columns:80px 80px minmax(120px,1fr); gap:8px; align-items:center; min-height:34px; padding:7px 9px; border:1px solid #30363d; border-left:3px solid currentColor; border-radius:4px; background:#0b0f14; color:#8b949e; }
.raid-span-summary span { color:currentColor; font:900 .64rem Consolas,monospace; text-transform:uppercase; }
.raid-span-summary strong { color:#f0f6fc; font-size:.68rem; }
.raid-span-summary small { color:#8b949e; font-size:.64rem; }
.raid-span-summary.single { color:#58a6ff; }
.raid-span-summary.span-color-1 { color:#2ea043; }
.raid-span-summary.span-color-2 { color:#58a6ff; }
.raid-span-summary.span-color-3 { color:#d29922; }
.raid-span-summary.span-color-4 { color:#a371f7; }
.raid-span-summary.span-color-5 { color:#db61a2; }
.raid-span-summary.span-color-6 { color:#39c5cf; }
.raid-validation-item { display:grid; grid-template-columns:64px minmax(0,1fr); gap:8px; align-items:start; padding:7px 8px; border:1px solid #30363d; border-radius:4px; background:#0b0f14; }
.raid-validation-item strong { font:900 .60rem Consolas,monospace; }
.raid-validation-item span { color:#b1bac4; font-size:.66rem; line-height:1.35; }
.raid-validation-item.error strong { color:#f85149; }
.raid-validation-item.warning strong { color:#d29922; }
.raid-validation-item.info strong { color:#3fb950; }
.raid-members-section { margin:0 12px 12px; padding:0; overflow:hidden; }
.raid-members-section .raid-section-title { padding:9px 10px; margin:0; background:#161b22; border-bottom:1px solid #30363d; }
.raid-member-head,
.raid-member-row { display:grid; grid-template-columns:90px minmax(130px,1fr) minmax(150px,1.2fr) 100px 80px; gap:8px; align-items:center; }
.raid-member-head { padding:7px 10px; background:#0b0f14; color:#8b949e; font:900 .58rem Consolas,monospace; text-transform:uppercase; }
.raid-member-row { min-height:38px; padding:7px 10px; border-top:1px solid #21262d; color:#c9d1d9; font-size:.66rem; }
.raid-member-row span { min-width:0; overflow-wrap:anywhere; }
.raid-assignment-context { display:flex; align-items:stretch; gap:8px; margin-bottom:10px; }
.raid-assignment-context > div { min-width:150px; padding:8px 10px; border:1px solid #30363d; border-radius:5px; background:#161b22; }
.raid-assignment-context span,
.raid-assignment-context strong { display:block; }
.raid-assignment-context span { color:#8b949e; font:800 .58rem Consolas,monospace; text-transform:uppercase; }
.raid-assignment-context strong { margin-top:3px; color:#f0f6fc; font-size:.68rem; }
@media (max-width: 1250px) {
  .raid-summary-grid,
  .raid-capacity-grid { grid-template-columns:repeat(3,minmax(120px,1fr)); }
  .raid-overview-section { overflow-x:auto; }
}
@media (max-width: 850px) {
  .raid-summary-grid,
  .raid-capacity-grid { grid-template-columns:repeat(2,minmax(110px,1fr)); }
  .raid-detail-columns { grid-template-columns:1fr; }
  .raid-vd-detail-header { flex-direction:column; }
  .raid-vd-detail-header .btn-pipeline { width:100%; }
  .raid-assignment-context { flex-direction:column; }
}

.zfs-pool-overview-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(250px,1fr)); gap:12px; margin-top:14px; }
.zfs-pool-overview-card { display:block; width:100%; padding:16px; border:1px solid #30363d; border-radius:7px; background:#0d1117; color:#c9d1d9; text-align:left; cursor:pointer; }
.zfs-pool-overview-card:hover { border-color:#58a6ff; background:#111820; }
.zfs-pool-overview-card > span { color:#58a6ff; font:900 .62rem Consolas,monospace; letter-spacing:.08em; }
.zfs-pool-overview-card h3 { margin:6px 0; color:#f0f6fc; }
.zfs-pool-overview-card p,.zfs-pool-overview-card small { display:block; margin:0; color:#8b949e; }
.zfs-pool-overview-card.bad { border-color:#f85149; }
.zfs-pool-overview-card.warn { border-color:#d29922; }
.zfs-pool-overview-card.good { border-color:#2ea043; }
.zfs-source-chip-list { display:flex; flex-wrap:wrap; gap:6px; padding:10px 12px 12px; border-top:1px solid #21262d; }
.zfs-source-chip-list span { padding:4px 7px; border:1px solid #30363d; border-radius:999px; background:#161b22; color:#8b949e; font:.66rem Consolas,monospace; }
.zfs-source-row { grid-template-columns:auto minmax(0,1fr) auto !important; }
.zfs-source-kind { padding:4px 6px; border:1px solid #30363d; border-radius:4px; color:#79c0ff; font:900 .60rem Consolas,monospace; }
.zfs-modal-pool { display:flex; flex-direction:column; gap:7px; margin-bottom:12px; padding:10px; border:1px solid #30363d; border-radius:6px; background:#0d1117; }
.zfs-modal-pool > strong { color:#f0f6fc; }
.zfs-modal-pool > small { color:#8b949e; }
.zfs-modal-pool .raid-group-card { width:100%; display:flex; justify-content:space-between; gap:8px; padding:8px; border:1px solid #21262d; background:#161b22; color:#c9d1d9; text-align:left; cursor:pointer; }
.zfs-modal-pool .raid-group-card.active { border-color:#2ea043; }
.zfs-pool-header-actions,.storage-group-card-actions { display:flex; flex-wrap:wrap; gap:8px; align-items:center; }
.btn-pipeline.danger { border-color:#f85149; color:#ff7b72; }
.btn-pipeline.danger:hover { background:rgba(248,81,73,.12); }
@media (max-width: 900px) { .zfs-pool-header-actions { width:100%; } }
.zfs-source-row.conflict { border-color:#d29922; background:rgba(210,153,34,.08); }


.server-summary-card { gap: 10px !important; }
.server-summary-segment { display: flex; flex-direction: column; gap: 5px; }
.server-summary-segment + .server-summary-segment { border-top: 1px dashed #30363d; padding-top: 9px; }
.server-summary-segment-title { color: #8b949e; font-family: Consolas, monospace; font-size: .56rem; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.server-summary-grid { display: grid; gap: 0; overflow: hidden; border: 1px solid #30363d; border-radius: 6px; background: #0b0f14; }
.server-summary-grid-capacity { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.server-summary-grid-three { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.server-summary-grid > div { min-width: 0; min-height: 46px; padding: 7px 5px; display: flex; flex-direction: column; align-items: center; justify-content: center; text-align: center; border-right: 1px solid #30363d; border-bottom: 1px solid #30363d; }
.server-summary-grid-capacity > div:nth-child(2n),
.server-summary-grid-three > div:nth-child(3n) { border-right: 0; }
.server-summary-grid-capacity > div:nth-child(n+3),
.server-summary-grid-three > div { border-bottom: 0; }
.server-summary-grid > div span { color: #8b949e; font-size: .54rem; font-weight: 800; letter-spacing: .035em; line-height: 1.15; text-transform: uppercase; }
.server-summary-grid > div strong { color: #2ea043; font-family: Consolas, monospace; font-size: .82rem; line-height: 1.15; margin-top: 4px; }
@media (max-width: 900px) {
  .server-summary-grid-capacity { grid-template-columns: repeat(4, minmax(0, 1fr)); }
  .server-summary-grid-capacity > div { border-bottom: 0; }
  .server-summary-grid-capacity > div:nth-child(2n) { border-right: 1px solid #30363d; }
  .server-summary-grid-capacity > div:nth-child(4n) { border-right: 0; }
}


.server-card-summary-segments { display: flex; flex-direction: column; gap: 9px; }
.server-card-summary-segments .server-summary-segment + .server-summary-segment { padding-top: 9px; }
.server-card-summary-segments .server-summary-grid > div { min-height: 44px; }
.server-card-summary-segments .server-summary-grid > div strong { font-size: .78rem; }


.storage-detail-actions {
  display:flex;
  align-items:center;
  justify-content:flex-end;
  flex-wrap:wrap;
  gap:8px;
  flex:0 0 auto;
}
.storage-add-inline {
  border-color:#238636;
  background:rgba(35,134,54,.16);
  color:#56d364;
}
.storage-add-inline:hover { background:rgba(35,134,54,.28); }
.zfs-pool-summary-panel {
  border:1px solid #30363d;
  border-radius:6px;
  background:#0d1117;
  overflow:hidden;
  margin-bottom:10px;
}
.zfs-pool-summary-panel .raid-capacity-grid { padding:12px; }
.zfs-vdev-tabs { margin:0 0 8px; }
.zfs-assignment-section .zfs-vdev-tabs { margin-top:-2px; margin-bottom:10px; }
.zfs-vdev-detail { margin-top:0; }
.zfs-source-summary-list { display:flex; flex-direction:column; gap:6px; }
.zfs-source-summary {
  display:grid;
  grid-template-columns:80px minmax(0,1fr) auto;
  align-items:center;
  gap:10px;
  min-height:34px;
  padding:7px 9px;
  border:1px solid #30363d;
  border-radius:4px;
  background:#0b1118;
}
.zfs-source-summary span { color:#58a6ff; font:900 .60rem Consolas,monospace; }
.zfs-source-summary strong { min-width:0; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; color:#f0f6fc; font-size:.70rem; }
.zfs-source-summary small { color:#8b949e; font:700 .64rem Consolas,monospace; }
.zfs-source-head,.zfs-source-row { grid-template-columns:110px 135px minmax(180px,1fr) 110px 150px; }
.zfs-pool-validation { margin-top:10px; }
.zfs-no-vdev-state { margin-top:0; }
@media (max-width: 900px) {
  .storage-detail-actions { width:100%; justify-content:stretch; }
  .storage-detail-actions .btn-pipeline { flex:1 1 160px; width:auto; }
  .zfs-source-summary { grid-template-columns:72px minmax(0,1fr); }
  .zfs-source-summary small { grid-column:2; }
}


.workspace-window-open .drive-inventory-workspace {
  padding: 0 !important;
  overflow: hidden !important;
  background: #0b0f14;
}
.workspace-editor-window {
  min-height: 100%;
  height: 100%;
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr) auto;
  background: #0d1117;
  overflow: hidden;
}
.workspace-window-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  padding: 16px 18px;
  border-bottom: 1px solid #30363d;
  background: #12161c;
}
.workspace-window-title-row { display: flex; align-items: center; gap: 14px; min-width: 0; }
.workspace-window-title-row > div { min-width: 0; }
.workspace-window-title-row h2 { margin: 3px 0 4px; color: #f0f6fc; font: 900 1.08rem Consolas, monospace; letter-spacing: .05em; }
.workspace-window-title-row p { margin: 0; color: #8b949e; font-size: .74rem; overflow-wrap: anywhere; }
.workspace-window-back {
  flex: 0 0 auto;
  min-height: 34px;
  padding: 7px 11px;
  border: 1px solid #30363d;
  border-radius: 4px;
  background: #0b0f14;
  color: #79c0ff;
  font: 900 .68rem Consolas, monospace;
  cursor: pointer;
}
.workspace-window-back:hover { border-color: #58a6ff; background: rgba(88,166,255,.08); }
.workspace-window-dirty-badge {
  flex: 0 0 auto;
  padding: 6px 9px;
  border: 1px solid #30363d;
  border-radius: 999px;
  color: #8b949e;
  background: #0b0f14;
  font: 900 .60rem Consolas, monospace;
  letter-spacing: .04em;
}
.workspace-window-dirty-badge.dirty { border-color: #d29922; color: #e3b341; background: rgba(210,153,34,.10); }
.workspace-window-tabs {
  display: flex;
  gap: 5px;
  padding: 10px 18px;
  border-bottom: 1px solid #21262d;
  background: #0b0f14;
  overflow-x: auto;
}
.workspace-window-tab {
  min-height: 31px;
  padding: 6px 12px;
  border: 1px solid #30363d;
  border-radius: 4px;
  background: #161b22;
  color: #8b949e;
  font: 900 .65rem Consolas, monospace;
  text-transform: uppercase;
  white-space: nowrap;
  cursor: pointer;
}
.workspace-window-tab:hover { border-color: #58a6ff; color: #79c0ff; }
.workspace-window-tab.active { border-color: #2ea043; background: rgba(46,160,67,.15); color: #58d68d; box-shadow: inset 0 -2px 0 #2ea043; }
.workspace-window-body { min-height: 0; overflow-y: auto; padding: 18px; scrollbar-width: thin; }
.workspace-window-section { width: min(1220px, 100%); margin: 0 auto; }
.workspace-window-section-head { margin-bottom: 16px; padding-bottom: 12px; border-bottom: 1px dashed #30363d; }
.workspace-window-section-head > span { color: #58a6ff; font: 900 .62rem Consolas, monospace; letter-spacing: .08em; }
.workspace-window-section-head h3 { margin: 4px 0 5px; color: #f0f6fc; font-size: 1rem; }
.workspace-window-section-head p { margin: 0; color: #8b949e; font-size: .76rem; }
.workspace-window-grid { display: grid; grid-template-columns: repeat(3, minmax(180px, 1fr)); gap: 13px; align-items: start; }
.workspace-window-grid.identity-grid { grid-template-columns: repeat(3, minmax(190px, 1fr)); }
.workspace-window-grid.layout-grid { grid-template-columns: repeat(3, minmax(210px, 1fr)); }
.workspace-window-grid.expansion-grid { grid-template-columns: repeat(2, minmax(240px, 1fr)); }
.workspace-window-field { display: flex; flex-direction: column; gap: 6px; min-width: 0; padding: 12px; border: 1px solid #30363d; border-radius: 6px; background: #12161c; }
.workspace-window-field label { color: #8b949e; font: 900 .66rem Consolas, monospace; text-transform: uppercase; letter-spacing: .03em; }
.workspace-window-field small { color: #58a6ff; font-size: .66rem; line-height: 1.35; }
.workspace-window-field small strong { color: #79c0ff; }
.workspace-window-drive-field .cyber-select { margin-top: 3px; }
.workspace-window-inline-control { display: grid; grid-template-columns: minmax(0,1fr) auto; gap: 8px; }
.workspace-window-inline-control .btn-pipeline { min-width: 112px; }
.workspace-window-review-grid { display: grid; grid-template-columns: repeat(4, minmax(140px,1fr)); gap: 10px; margin-bottom: 12px; }
.workspace-window-review-grid > div { padding: 12px; border: 1px solid #30363d; border-radius: 6px; background: #12161c; }
.workspace-window-review-grid span, .workspace-window-review-grid strong { display: block; }
.workspace-window-review-grid span { color: #8b949e; font: 900 .62rem Consolas, monospace; text-transform: uppercase; }
.workspace-window-review-grid strong { margin-top: 6px; color: #f0f6fc; font: 900 1rem Consolas, monospace; }
.workspace-window-impact { padding: 11px 13px; border: 1px solid #30363d; border-radius: 5px; font: 900 .70rem Consolas, monospace; letter-spacing: .04em; }
.workspace-window-impact.good { border-color: rgba(46,160,67,.65); color: #58d68d; background: rgba(46,160,67,.10); }
.workspace-window-impact.warn { border-color: rgba(210,153,34,.70); color: #e3b341; background: rgba(210,153,34,.10); }
.workspace-window-warning { display: flex; flex-direction: column; gap: 5px; margin-top: 10px; padding: 12px; border-left: 3px solid #d29922; background: rgba(210,153,34,.08); color: #c9d1d9; }
.workspace-window-warning strong { color: #e3b341; }
.workspace-window-warning span { color: #b1bac4; font-size: .75rem; }
.workspace-window-change-list { display: flex; flex-wrap: wrap; gap: 6px; margin-top: 12px; }
.workspace-window-change-list span { padding: 5px 8px; border: 1px solid #30363d; border-radius: 999px; color: #79c0ff; background: #12161c; font: 800 .62rem Consolas, monospace; }
.workspace-window-change-list span.muted { color: #8b949e; }
.workspace-window-actions {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 11px 18px;
  border-top: 1px solid #30363d;
  background: #12161c;
  box-shadow: 0 -10px 22px rgba(0,0,0,.22);
}
.workspace-window-actions > div:first-child { display: flex; gap: 7px; align-items: center; color: #8b949e; font: 800 .65rem Consolas, monospace; }
.workspace-window-actions > div:first-child strong { color: #79c0ff; }
.workspace-window-action-buttons { display: flex; gap: 8px; }
.workspace-window-action-buttons .btn-pipeline { min-width: 138px; }
.workspace-window-action-buttons .btn-pipeline.primary { border-color: #2ea043; background: #238636; color: #fff; }
.workspace-window-action-buttons .btn-pipeline.primary:disabled { opacity: .42; cursor: not-allowed; }

@media (max-width: 1100px) {
  .workspace-window-grid.identity-grid,
  .workspace-window-grid.layout-grid { grid-template-columns: repeat(2, minmax(190px, 1fr)); }
  .workspace-window-review-grid { grid-template-columns: repeat(2, minmax(140px,1fr)); }
}
@media (max-width: 720px) {
  .workspace-window-header { align-items: flex-start; padding: 12px; }
  .workspace-window-title-row { align-items: flex-start; }
  .workspace-window-dirty-badge { display: none; }
  .workspace-window-tabs { padding: 8px 12px; }
  .workspace-window-body { padding: 12px; }
  .workspace-window-grid,
  .workspace-window-grid.identity-grid,
  .workspace-window-grid.layout-grid,
  .workspace-window-grid.expansion-grid { grid-template-columns: 1fr; }
  .workspace-window-review-grid { grid-template-columns: 1fr 1fr; }
  .workspace-window-actions { align-items: stretch; flex-direction: column; padding: 10px 12px; }
  .workspace-window-action-buttons { display: grid; grid-template-columns: 1fr 1fr; width: 100%; }
  .workspace-window-action-buttons .btn-pipeline { min-width: 0; min-height: 44px; }
}

.raid-editor-window .workspace-window-body { padding: 18px 20px; }
.raid-window-section { max-width: 1380px; }
.raid-config-grid { grid-template-columns: minmax(240px,.8fr) minmax(240px,.8fr) minmax(340px,1.4fr); }
.raid-config-grid .raid-notes-field { grid-column: 1 / -1; }
.raid-notes-field textarea { min-height: 122px; resize: vertical; }
/* v0.16.0.15 logical RAID boot target and automatic bulk card selection. */
.raid-boot-volume-field { min-height: 100%; }
.raid-boot-volume-toggle {
  display: grid !important;
  grid-template-columns: auto minmax(0,1fr);
  align-items: center;
  gap: 10px;
  min-height: 76px;
  padding: 10px 12px;
  border: 1px solid #30363d;
  border-radius: 6px;
  background: #0b0f14;
  cursor: pointer;
  text-transform: none !important;
  letter-spacing: normal !important;
}
.raid-boot-volume-toggle:hover { border-color:#58a6ff; }
.raid-boot-volume-toggle input { width:20px; height:20px; accent-color:#238636; }
.raid-boot-volume-toggle span,
.raid-boot-volume-toggle strong,
.raid-boot-volume-toggle small { display:block; }
.raid-boot-volume-toggle strong { color:#f0f6fc; font:900 .72rem Consolas,monospace; }
.raid-boot-volume-toggle small { margin-top:4px; color:#8b949e; font:.68rem/1.35 "Segoe UI",sans-serif; text-transform:none; }
.raid-boot-volume-toggle:has(input:checked) { border-color:#2ea043; background:rgba(46,160,67,.12); }
.raid-boot-volume-toggle:has(input:checked) strong { color:#58d68d; }
.raid-window-capacity-strip,
.raid-window-assignment-summary {
  display: grid;
  grid-template-columns: repeat(5,minmax(135px,1fr));
  gap: 9px;
  margin-top: 14px;
}
.raid-window-capacity-strip.review { grid-template-columns: repeat(6,minmax(120px,1fr)); margin: 0 0 14px; }
.raid-window-capacity-strip > div,
.raid-window-assignment-summary > div {
  padding: 12px;
  border: 1px solid #30363d;
  border-radius: 6px;
  background: #12161c;
}
.raid-window-capacity-strip span,
.raid-window-capacity-strip strong,
.raid-window-assignment-summary span,
.raid-window-assignment-summary strong { display: block; }
.raid-window-capacity-strip span,
.raid-window-assignment-summary span { color:#8b949e; font:900 .61rem Consolas,monospace; text-transform:uppercase; }
.raid-window-capacity-strip strong,
.raid-window-assignment-summary strong { margin-top:6px; color:#f0f6fc; font:900 .92rem Consolas,monospace; }
.raid-window-drive-list { display:grid; grid-template-columns:repeat(2,minmax(320px,1fr)); gap:8px; margin-top:12px; }
.raid-window-drive-row {
  display:grid;
  grid-template-columns:24px minmax(0,1fr) 115px;
  align-items:center;
  gap:9px;
  min-width:0;
  padding:10px;
  border:1px solid #30363d;
  border-radius:6px;
  background:#12161c;
  cursor:pointer;
}
.raid-window-drive-row:hover { border-color:#58a6ff; background:rgba(88,166,255,.06); }
.raid-window-drive-row.selected { border-color:#2ea043; background:rgba(46,160,67,.10); box-shadow:inset 3px 0 0 #2ea043; }
.raid-window-drive-row.disabled { opacity:.52; cursor:not-allowed; }
.raid-window-drive-row.disabled:hover { border-color:#30363d; background:#12161c; }
.raid-window-drive-identity { min-width:0; }
.raid-window-drive-identity strong,
.raid-window-drive-identity small,
.raid-window-drive-identity em { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.raid-window-drive-identity strong { color:#f0f6fc; font-size:.76rem; }
.raid-window-drive-identity small { margin-top:3px; color:#8b949e; font-size:.68rem; }
.raid-window-drive-identity em { margin-top:4px; color:#58a6ff; font:normal .63rem Consolas,monospace; }
.raid-window-member-role { justify-self:end; color:#8b949e; font:900 .62rem Consolas,monospace; }
.raid-window-span-select { min-width:105px; }
.raid-window-review-columns { grid-template-columns:minmax(300px,.7fr) minmax(520px,1.3fr); }
.workspace-window-actions .btn-pipeline.danger { border-color:#f85149; color:#ff7b72; background:rgba(248,81,73,.08); }
.workspace-window-actions .btn-pipeline.danger:hover { background:rgba(248,81,73,.16); }
@media(max-width:1050px){
  .raid-config-grid{grid-template-columns:1fr 1fr}.raid-notes-field{grid-column:1/-1}
  .raid-window-drive-list{grid-template-columns:1fr}
  .raid-window-capacity-strip.review{grid-template-columns:repeat(3,minmax(120px,1fr))}
  .raid-window-review-columns{grid-template-columns:1fr}
}
@media(max-width:720px){
  .raid-config-grid{grid-template-columns:1fr}.raid-notes-field{grid-column:auto}
  .raid-window-capacity-strip,.raid-window-assignment-summary,.raid-window-capacity-strip.review{grid-template-columns:repeat(2,minmax(110px,1fr))}
  .raid-window-drive-row{grid-template-columns:24px minmax(0,1fr)}
  .raid-window-span-select,.raid-window-member-role{grid-column:2;justify-self:stretch}
}

.raid-assignment-section { max-width: none; }
.raid-assignment-matrix { margin-top: 14px; }
.raid-assignment-matrix .enclosure-block { margin-bottom: 14px; }
.raid-assignment-matrix .drive-bay { cursor: pointer; min-height: 126px; }
.raid-assignment-matrix .drive-bay:hover { border-color: #8b949e; }
.raid-assignment-matrix .drive-bay.raid-assignment-selected {
  border-color: #58a6ff !important;
  box-shadow: 0 0 0 2px rgba(88,166,255,.24), 0 0 14px rgba(88,166,255,.18) !important;
}
.raid-assignment-matrix .drive-bay.raid-assignment-locked {
  cursor: not-allowed;
  opacity: .48;
  filter: saturate(.55);
}
.raid-assignment-matrix .drive-bay.raid-assignment-locked:hover { border-color: #30363d; }
.raid-assignment-checkbox {
  width: 16px;
  height: 16px;
  margin: 0;
  flex: 0 0 auto;
  accent-color: #58a6ff;
  cursor: pointer;
}
.raid-assignment-checkbox:disabled { cursor: not-allowed; }
.raid-assignment-member-pill {
  display: inline-flex;
  align-items: center;
  min-height: 16px;
  padding: 1px 5px;
  border: 1px solid rgba(88,166,255,.72);
  border-radius: 999px;
  color: #79c0ff;
  background: rgba(88,166,255,.10);
  font: 900 .54rem Consolas,monospace;
  letter-spacing: .04em;
}
.raid-assignment-card-footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 7px;
  margin-top: auto;
  padding-top: 7px;
  border-top: 1px dashed rgba(139,148,158,.22);
  min-width: 0;
}
.raid-assignment-note {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
  color: #8b949e;
  font: .58rem Consolas,monospace;
}
.raid-assignment-state {
  flex: 0 0 auto;
  color: #8b949e;
  font: 900 .56rem Consolas,monospace;
}
.raid-assignment-selected .raid-assignment-state { color: #79c0ff; }
.raid-assignment-span-select {
  flex: 0 0 auto;
  min-width: 86px;
  height: 28px;
  padding: 3px 22px 3px 7px;
  font-size: .62rem;
}
@media(max-width:720px){
  .raid-assignment-card-footer { align-items: stretch; flex-direction: column; }
  .raid-assignment-span-select { width: 100%; }
}
.raid-assignment-member-pill.hidden { display: none; }


.raid-window-assignment-summary { grid-template-columns: repeat(4,minmax(120px,1fr)); }
.raid-assignment-matrix .drive-bay.raid-assignment-locked .raid-assignment-note { color:#d29922; }
.raid-assignment-matrix .drive-bay.raid-assignment-locked[data-assignment-reason*="smaller"] { border-color:rgba(210,153,34,.55); }
.raid-assignment-matrix .drive-bay.raid-assignment-locked[data-assignment-reason*="Capacity must"] { border-color:rgba(210,153,34,.55); }
.raid-speed-estimate strong { white-space:normal; line-height:1.2; }
.raid-speed-estimate small { display:block; margin-top:3px; color:#6e7681; font:.56rem Consolas,monospace; }
@media(max-width:720px){
  .raid-window-assignment-summary { grid-template-columns:repeat(2,minmax(110px,1fr)); }
}

.zfs-editor-window .workspace-window-body { padding: 18px 20px; }
.zfs-window-section { max-width: 1380px; }
.zfs-pool-config-grid { grid-template-columns: minmax(240px,.85fr) minmax(220px,.7fr) minmax(260px,.8fr) minmax(340px,1.35fr); }
.zfs-vdev-config-grid { grid-template-columns: repeat(4,minmax(200px,1fr)); }
.zfs-vdev-config-grid .raid-notes-field { grid-column: 1 / -1; }
.zfs-pool-toggle-field { gap: 10px; }
.workspace-window-check { display:flex !important; align-items:center; gap:8px; color:#c9d1d9 !important; text-transform:none !important; cursor:pointer; }
.workspace-window-check input { width:16px; height:16px; margin:0; accent-color:#2ea043; }
.workspace-window-warning.info { border-left-color:#58a6ff; background:rgba(88,166,255,.07); }
.workspace-window-warning.info strong { color:#79c0ff; }
.zfs-window-raid-source-list { display:grid; grid-template-columns:repeat(2,minmax(320px,1fr)); gap:9px; margin:10px 0 18px; }
.zfs-window-raid-source {
  display:grid;
  grid-template-columns:22px minmax(0,1fr);
  gap:10px;
  align-items:start;
  min-width:0;
  padding:11px;
  border:1px solid #30363d;
  border-radius:6px;
  background:#12161c;
  cursor:pointer;
}
.zfs-window-raid-source:hover { border-color:#58a6ff; background:rgba(88,166,255,.05); }
.zfs-window-raid-source.selected { border-color:#2ea043; background:rgba(46,160,67,.10); box-shadow:inset 3px 0 0 #2ea043; }
.zfs-window-raid-source.locked { opacity:.5; cursor:not-allowed; }
.zfs-window-raid-source.locked:hover { border-color:#30363d; background:#12161c; }
.zfs-window-raid-source input { width:16px; height:16px; margin:2px 0 0; accent-color:#2ea043; }
.zfs-window-raid-source > div { min-width:0; }
.zfs-window-raid-source span,
.zfs-window-raid-source strong,
.zfs-window-raid-source small,
.zfs-window-raid-source em { display:block; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
.zfs-window-raid-source span { color:#79c0ff; font:900 .61rem Consolas,monospace; }
.zfs-window-raid-source strong { margin-top:3px; color:#f0f6fc; font-size:.77rem; }
.zfs-window-raid-source small { margin-top:4px; color:#8b949e; font-size:.66rem; }
.zfs-window-raid-source em { grid-column:2; margin-top:5px; color:#58a6ff; font:normal .62rem Consolas,monospace; }
.zfs-window-raid-source.locked em { color:#d29922; }
.zfs-assignment-matrix .drive-bay.raid-assignment-selected {
  border-color:#2ea043 !important;
  box-shadow:0 0 0 2px rgba(46,160,67,.22), 0 0 14px rgba(46,160,67,.16) !important;
}
.zfs-assignment-matrix .raid-assignment-checkbox { accent-color:#2ea043; }
.zfs-assignment-matrix .raid-assignment-member-pill { border-color:rgba(46,160,67,.72); color:#58d68d; background:rgba(46,160,67,.10); }
.zfs-assignment-matrix .raid-assignment-selected .raid-assignment-state { color:#58d68d; }
.zfs-assignment-matrix .drive-bay.raid-assignment-locked .raid-assignment-note { color:#d29922; }
.zfs-assignment-matrix .drive-bay.raid-assignment-locked[data-assignment-reason*="smaller"] { border-color:rgba(210,153,34,.55); }
.zfs-assignment-matrix .drive-bay.raid-assignment-locked[data-assignment-reason*="Capacity must"] { border-color:rgba(210,153,34,.55); }
.zfs-assignment-section .raid-window-assignment-summary { grid-template-columns:repeat(5,minmax(125px,1fr)); }
@media(max-width:1150px){
  .zfs-pool-config-grid { grid-template-columns:repeat(2,minmax(220px,1fr)); }
  .zfs-vdev-config-grid { grid-template-columns:repeat(2,minmax(220px,1fr)); }
}
@media(max-width:800px){
  .zfs-window-raid-source-list { grid-template-columns:1fr; }
}
@media(max-width:720px){
  .zfs-pool-config-grid,.zfs-vdev-config-grid { grid-template-columns:1fr; }
  .zfs-vdev-config-grid .raid-notes-field { grid-column:auto; }
  .zfs-assignment-section .raid-window-assignment-summary { grid-template-columns:repeat(2,minmax(110px,1fr)); }
}




.zfs-overview-summary { grid-template-columns:repeat(5,minmax(120px,1fr)); }
.zfs-pool-pill {
  max-width: 92px;
  overflow: hidden;
  text-overflow: ellipsis;
  background: rgba(88,166,255,.14) !important;
  border-color: rgba(88,166,255,.55) !important;
  color: #a5d6ff !important;
}
.workspace-section-head-actions {
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:18px;
}
.zfs-pool-draft-vdev-list {
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-top:16px;
}
.zfs-pool-draft-vdev-card {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:14px;
  border:1px solid #30363d;
  border-radius:8px;
  background:#0d1117;
}
.zfs-pool-draft-vdev-card > div:first-child { min-width:0; }
.zfs-pool-draft-vdev-card span {
  color:#58a6ff;
  font:900 .62rem Consolas,monospace;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.zfs-pool-draft-vdev-card h3 { margin:4px 0; color:#f0f6fc; }
.zfs-pool-draft-vdev-card p,
.zfs-pool-draft-vdev-card small { display:block; margin:0; color:#8b949e; }
.zfs-pool-draft-vdev-card small.good { color:#7ee787; }
.zfs-pool-draft-vdev-card small.warn { color:#d29922; }
.zfs-pool-draft-vdev-card small.bad { color:#f85149; }
@media(max-width:1100px){
  .zfs-overview-summary { grid-template-columns:repeat(3,minmax(120px,1fr)); }
}
@media(max-width:720px){
  .zfs-overview-summary { grid-template-columns:1fr; }
  .workspace-section-head-actions,
  .zfs-pool-draft-vdev-card { flex-direction:column; align-items:stretch; }
  .zfs-pool-draft-vdev-card .storage-detail-actions { justify-content:flex-start; }
}

/* ZFS VDEV palette: 50 distinct span-style colors. */
.zfs-vdev-color-1 { --zfs-vdev-color:#2ea043; --zfs-vdev-bg:color-mix(in srgb, #2ea043 11%, transparent); }
.zfs-vdev-color-2 { --zfs-vdev-color:#58a6ff; --zfs-vdev-bg:color-mix(in srgb, #58a6ff 11%, transparent); }
.zfs-vdev-color-3 { --zfs-vdev-color:#d29922; --zfs-vdev-bg:color-mix(in srgb, #d29922 11%, transparent); }
.zfs-vdev-color-4 { --zfs-vdev-color:#a371f7; --zfs-vdev-bg:color-mix(in srgb, #a371f7 11%, transparent); }
.zfs-vdev-color-5 { --zfs-vdev-color:#db61a2; --zfs-vdev-bg:color-mix(in srgb, #db61a2 11%, transparent); }
.zfs-vdev-color-6 { --zfs-vdev-color:#39c5cf; --zfs-vdev-bg:color-mix(in srgb, #39c5cf 11%, transparent); }
.zfs-vdev-color-7 { --zfs-vdev-color:#e77b50; --zfs-vdev-bg:color-mix(in srgb, #e77b50 11%, transparent); }
.zfs-vdev-color-8 { --zfs-vdev-color:#43db9a; --zfs-vdev-bg:color-mix(in srgb, #43db9a 11%, transparent); }
.zfs-vdev-color-9 { --zfs-vdev-color:#c231d8; --zfs-vdev-bg:color-mix(in srgb, #c231d8 11%, transparent); }
.zfs-vdev-color-10 { --zfs-vdev-color:#c9e43a; --zfs-vdev-bg:color-mix(in srgb, #c9e43a 11%, transparent); }
.zfs-vdev-color-11 { --zfs-vdev-color:#58a2df; --zfs-vdev-bg:color-mix(in srgb, #58a2df 11%, transparent); }
.zfs-vdev-color-12 { --zfs-vdev-color:#db436a; --zfs-vdev-bg:color-mix(in srgb, #db436a 11%, transparent); }
.zfs-vdev-color-13 { --zfs-vdev-color:#28e22e; --zfs-vdev-bg:color-mix(in srgb, #28e22e 11%, transparent); }
.zfs-vdev-color-14 { --zfs-vdev-color:#7443db; --zfs-vdev-bg:color-mix(in srgb, #7443db 11%, transparent); }
.zfs-vdev-color-15 { --zfs-vdev-color:#dfab58; --zfs-vdev-bg:color-mix(in srgb, #dfab58 11%, transparent); }
.zfs-vdev-color-16 { --zfs-vdev-color:#3ae4d5; --zfs-vdev-bg:color-mix(in srgb, #3ae4d5 11%, transparent); }
.zfs-vdev-color-17 { --zfs-vdev-color:#d831b6; --zfs-vdev-bg:color-mix(in srgb, #d831b6 11%, transparent); }
.zfs-vdev-color-18 { --zfs-vdev-color:#90db43; --zfs-vdev-bg:color-mix(in srgb, #90db43 11%, transparent); }
.zfs-vdev-color-19 { --zfs-vdev-color:#5070e7; --zfs-vdev-bg:color-mix(in srgb, #5070e7 11%, transparent); }
.zfs-vdev-color-20 { --zfs-vdev-color:#db4e43; --zfs-vdev-bg:color-mix(in srgb, #db4e43 11%, transparent); }
.zfs-vdev-color-21 { --zfs-vdev-color:#31d86f; --zfs-vdev-bg:color-mix(in srgb, #31d86f 11%, transparent); }
.zfs-vdev-color-22 { --zfs-vdev-color:#aa3ae4; --zfs-vdev-bg:color-mix(in srgb, #aa3ae4 11%, transparent); }
.zfs-vdev-color-23 { --zfs-vdev-color:#dfd958; --zfs-vdev-bg:color-mix(in srgb, #dfd958 11%, transparent); }
.zfs-vdev-color-24 { --zfs-vdev-color:#43b6db; --zfs-vdev-bg:color-mix(in srgb, #43b6db 11%, transparent); }
.zfs-vdev-color-25 { --zfs-vdev-color:#e2287e; --zfs-vdev-bg:color-mix(in srgb, #e2287e 11%, transparent); }
.zfs-vdev-color-26 { --zfs-vdev-color:#5ddb43; --zfs-vdev-bg:color-mix(in srgb, #5ddb43 11%, transparent); }
.zfs-vdev-color-27 { --zfs-vdev-color:#6858df; --zfs-vdev-bg:color-mix(in srgb, #6858df 11%, transparent); }
.zfs-vdev-color-28 { --zfs-vdev-color:#e4803a; --zfs-vdev-bg:color-mix(in srgb, #e4803a 11%, transparent); }
.zfs-vdev-color-29 { --zfs-vdev-color:#31d8a6; --zfs-vdev-bg:color-mix(in srgb, #31d8a6 11%, transparent); }
.zfs-vdev-color-30 { --zfs-vdev-color:#da43db; --zfs-vdev-bg:color-mix(in srgb, #da43db 11%, transparent); }
.zfs-vdev-color-31 { --zfs-vdev-color:#bce750; --zfs-vdev-bg:color-mix(in srgb, #bce750 11%, transparent); }
.zfs-vdev-color-32 { --zfs-vdev-color:#4383db; --zfs-vdev-bg:color-mix(in srgb, #4383db 11%, transparent); }
.zfs-vdev-color-33 { --zfs-vdev-color:#d83147; --zfs-vdev-bg:color-mix(in srgb, #d83147 11%, transparent); }
.zfs-vdev-color-34 { --zfs-vdev-color:#3ae455; --zfs-vdev-bg:color-mix(in srgb, #3ae455 11%, transparent); }
.zfs-vdev-color-35 { --zfs-vdev-color:#9558df; --zfs-vdev-bg:color-mix(in srgb, #9558df 11%, transparent); }
.zfs-vdev-color-36 { --zfs-vdev-color:#dbb443; --zfs-vdev-bg:color-mix(in srgb, #dbb443 11%, transparent); }
.zfs-vdev-color-37 { --zfs-vdev-color:#28dbe2; --zfs-vdev-bg:color-mix(in srgb, #28dbe2 11%, transparent); }
.zfs-vdev-color-38 { --zfs-vdev-color:#db43a9; --zfs-vdev-bg:color-mix(in srgb, #db43a9 11%, transparent); }
.zfs-vdev-color-39 { --zfs-vdev-color:#8bdf58; --zfs-vdev-bg:color-mix(in srgb, #8bdf58 11%, transparent); }
.zfs-vdev-color-40 { --zfs-vdev-color:#3a48e4; --zfs-vdev-bg:color-mix(in srgb, #3a48e4 11%, transparent); }
.zfs-vdev-color-41 { --zfs-vdev-color:#d85331; --zfs-vdev-bg:color-mix(in srgb, #d85331 11%, transparent); }
.zfs-vdev-color-42 { --zfs-vdev-color:#43db8e; --zfs-vdev-bg:color-mix(in srgb, #43db8e 11%, transparent); }
.zfs-vdev-color-43 { --zfs-vdev-color:#c750e7; --zfs-vdev-bg:color-mix(in srgb, #c750e7 11%, transparent); }
.zfs-vdev-color-44 { --zfs-vdev-color:#cfdb43; --zfs-vdev-bg:color-mix(in srgb, #cfdb43 11%, transparent); }
.zfs-vdev-color-45 { --zfs-vdev-color:#319ad8; --zfs-vdev-bg:color-mix(in srgb, #319ad8 11%, transparent); }
.zfs-vdev-color-46 { --zfs-vdev-color:#e43a73; --zfs-vdev-bg:color-mix(in srgb, #e43a73 11%, transparent); }
.zfs-vdev-color-47 { --zfs-vdev-color:#5edf58; --zfs-vdev-bg:color-mix(in srgb, #5edf58 11%, transparent); }
.zfs-vdev-color-48 { --zfs-vdev-color:#6843db; --zfs-vdev-bg:color-mix(in srgb, #6843db 11%, transparent); }
.zfs-vdev-color-49 { --zfs-vdev-color:#e28c28; --zfs-vdev-bg:color-mix(in srgb, #e28c28 11%, transparent); }
.zfs-vdev-color-50 { --zfs-vdev-color:#43dbc1; --zfs-vdev-bg:color-mix(in srgb, #43dbc1 11%, transparent); }

.drive-bay.raid-member-card[class*="zfs-vdev-color-"],
.drive-bay.assignment-selected[class*="zfs-vdev-color-"] {
  color:var(--zfs-vdev-color);
  border-color:var(--zfs-vdev-color) !important;
  box-shadow:inset 0 0 0 1px var(--zfs-vdev-color),0 0 0 1px color-mix(in srgb,var(--zfs-vdev-color) 32%,transparent) !important;
  background:linear-gradient(180deg,var(--zfs-vdev-bg),rgba(13,17,23,.96));
}
.raid-vd-tab[class*="zfs-vdev-color-"],
.zfs-pool-draft-vdev-card[class*="zfs-vdev-color-"],
.zfs-vdev-detail[class*="zfs-vdev-color-"],
.zfs-source-summary[class*="zfs-vdev-color-"],
.zfs-window-raid-source.selected[class*="zfs-vdev-color-"],
.zfs-vdev-editor-window[class*="zfs-vdev-color-"] {
  border-color:var(--zfs-vdev-color) !important;
  box-shadow:inset 3px 0 0 var(--zfs-vdev-color);
}
.raid-vd-tab[class*="zfs-vdev-color-"]::before,
.zfs-source-summary[class*="zfs-vdev-color-"]::before {
  content:""; width:7px; height:7px; border-radius:50%; background:var(--zfs-vdev-color); box-shadow:0 0 7px var(--zfs-vdev-color); flex:0 0 auto;
}
.raid-vd-tab[class*="zfs-vdev-color-"] { position:relative; }
.raid-vd-tab[class*="zfs-vdev-color-"]::before { position:absolute; left:7px; top:9px; }
.raid-vd-tab[class*="zfs-vdev-color-"] > span,.raid-vd-tab[class*="zfs-vdev-color-"] > small { padding-left:10px; }
.zfs-source-summary[class*="zfs-vdev-color-"] { grid-template-columns:8px 72px minmax(0,1fr) !important; }
.raid-member-row[class*="zfs-vdev-color-"] { border-left:3px solid var(--zfs-vdev-color); background:linear-gradient(90deg,var(--zfs-vdev-bg),transparent 42%); }
.zfs-source-summary[class*="zfs-vdev-color-"] small { grid-column:3; }
.raid-pill[class*="zfs-vdev-color-"] { border-color:var(--zfs-vdev-color) !important; color:var(--zfs-vdev-color) !important; background:var(--zfs-vdev-bg) !important; }
.zfs-vdev-color-strip { display:flex; gap:4px; min-height:8px; margin:7px 0 3px; }
.zfs-vdev-color-strip i { width:18px; height:5px; border-radius:999px; background:var(--zfs-vdev-color); box-shadow:0 0 5px color-mix(in srgb,var(--zfs-vdev-color) 65%,transparent); }
@media(max-width:700px){.zfs-source-summary[class*="zfs-vdev-color-"]{grid-template-columns:8px 64px minmax(0,1fr)!important}}


.zfs-assignment-pool-grid {
  grid-template-columns: repeat(auto-fill, minmax(280px, 360px));
  align-items: start;
  margin-bottom: 10px;
}
.zfs-pool-group-card {
  min-height: 0;
  padding: 9px;
  border-left: 3px solid #d29922;
  background: #111820;
}
.zfs-pool-group-card.active {
  border-color: #d29922;
  box-shadow: inset 3px 0 0 #d29922, 0 0 0 1px rgba(210,153,34,.18);
}
.zfs-pool-card-main {
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  text-align: left;
  cursor: pointer;
}
.zfs-pool-card-main:hover h3,
.zfs-pool-card-main:focus-visible h3 {
  color: #ffd33d;
}
.zfs-pool-card-main:focus-visible {
  outline: 1px solid #d29922;
  outline-offset: 4px;
}
.zfs-pool-card-main span {
  color: #d29922;
}
.zfs-pool-card-main em {
  margin-top: 5px;
  color: #8b949e;
}
.zfs-pool-vdev-list {
  margin-top: 8px;
  padding-top: 7px;
}
.zfs-pool-vdev-row {
  color: var(--zfs-vdev-color, #58a6ff);
  border-color: var(--zfs-vdev-color, #58a6ff) !important;
  background: var(--zfs-vdev-bg, rgba(88,166,255,.10));
  box-shadow: inset 3px 0 0 var(--zfs-vdev-color, #58a6ff);
}
.zfs-pool-vdev-row span {
  color: var(--zfs-vdev-color, #58a6ff);
  font-weight: 900;
}
.zfs-pool-vdev-row strong {
  color: #f0f6fc;
  text-align: right;
}
.zfs-pool-vdev-row:hover,
.zfs-pool-vdev-row.active {
  filter: saturate(1.22) brightness(1.12);
  box-shadow: inset 3px 0 0 var(--zfs-vdev-color, #58a6ff), 0 0 12px color-mix(in srgb, var(--zfs-vdev-color, #58a6ff) 28%, transparent);
}
.zfs-pool-vdev-row.active {
  outline: 1px solid color-mix(in srgb, var(--zfs-vdev-color, #58a6ff) 65%, white);
  outline-offset: 1px;
}
.storage-highlight-active .zfs-pool-group-card.storage-highlight-match,
.storage-highlight-active .zfs-pool-group-card.storage-highlight-context {
  border-color: #d29922 !important;
  box-shadow: inset 3px 0 0 #d29922, 0 0 16px rgba(210,153,34,.24) !important;
}
@media (max-width: 700px) {
  .zfs-assignment-pool-grid { grid-template-columns: 1fr; }
  .zfs-pool-vdev-row { align-items: flex-start; gap: 3px; }
  .zfs-pool-vdev-row strong { text-align: left; }
}

.raid-assignment-vd-grid {
  grid-template-columns: repeat(auto-fill, minmax(280px, 360px));
  align-items: start;
  margin-bottom: 10px;
}
.raid-vd-group-card {
  min-height: 0;
  padding: 9px;
  background: #111820;
}
.raid-vd-group-card.active {
  border-color: #d29922;
  box-shadow: inset 3px 0 0 #d29922, 0 0 0 1px rgba(210,153,34,.18);
}
.raid-vd-card-main {
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  text-align: left;
  cursor: pointer;
}
.raid-vd-card-main:hover h3,
.raid-vd-card-main:focus-visible h3 {
  color: #ffd33d;
}
.raid-vd-card-main:focus-visible {
  outline: 1px solid #d29922;
  outline-offset: 4px;
}
.raid-vd-card-main span {
  color: #d29922;
}
.raid-vd-card-main em {
  margin-top: 5px;
  color: #8b949e;
}
.raid-vd-span-list {
  margin-top: 8px;
  padding-top: 7px;
}
.raid-vd-span-row {
  box-shadow: inset 3px 0 0 currentColor;
}
.raid-vd-span-row strong {
  color: #f0f6fc;
  text-align: right;
}
.raid-vd-span-row:hover,
.raid-vd-span-row.active {
  filter: saturate(1.22) brightness(1.12);
  box-shadow: inset 3px 0 0 currentColor, 0 0 12px color-mix(in srgb, currentColor 28%, transparent);
}
.raid-vd-member-row {
  color: #58a6ff;
  border-color: #58a6ff;
  background: rgba(88,166,255,.10);
}

.storage-detail-screen,
.storage-assignment-screen {
  min-width: 0;
}
.storage-primary-detail {
  margin: 0;
}
.storage-summary-grid {
  grid-template-columns: repeat(auto-fit, minmax(132px, 1fr));
}
.storage-layout-validation-grid {
  align-items: start;
}
.storage-source-table {
  background: #0d1117;
}

/* Match assignment card and context geometry across RAID and ZFS. */
.storage-assignment-card-grid,
.raid-assignment-vd-grid,
.zfs-assignment-pool-grid {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(280px, 360px));
  align-items: start;
  gap: 10px;
  margin-bottom: 10px;
}
.storage-parent-group-card,
.raid-vd-group-card,
.zfs-pool-group-card {
  min-height: 0;
  padding: 9px;
  background: #111820;
}
.storage-parent-card-main,
.raid-vd-card-main,
.zfs-pool-card-main {
  display: block;
  width: 100%;
  padding: 0;
  border: 0;
  background: transparent;
  color: inherit;
  text-align: left;
  cursor: pointer;
}
.storage-parent-card-main h3,
.raid-vd-card-main h3,
.zfs-pool-card-main h3 {
  margin: 3px 0;
  color: #f0f6fc;
  font-size: .86rem;
}
.storage-parent-card-main p,
.raid-vd-card-main p,
.zfs-pool-card-main p {
  margin: 0;
  color: #8b949e;
  font-size: .68rem;
}
.storage-parent-card-main em,
.raid-vd-card-main em,
.zfs-pool-card-main em {
  display: block;
  margin-top: 5px;
  color: #8b949e;
  font-size: .65rem;
  font-style: normal;
}
.storage-child-row-list,
.raid-vd-span-list,
.zfs-pool-vdev-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
  margin-top: 8px;
  padding-top: 7px;
  border-top: 1px solid #30363d;
}
.raid-assignment-context,
.storage-assignment-context {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(150px, 1fr));
  align-items: stretch;
  gap: 8px;
  margin-bottom: 10px;
}
.raid-assignment-context > div,
.storage-assignment-context > div {
  min-width: 0;
}

/* Make a ZFS pool read like a RAID virtual disk with VDEVs in the layout column. */
.zfs-pool-detail {
  border: 1px solid #30363d;
  border-radius: 6px;
  background: #0d1117;
  overflow: hidden;
}
.zfs-pool-layout-grid {
  margin-bottom: 0;
}
.zfs-vdev-layout-list {
  min-width: 0;
}
.zfs-vdev-layout-row {
  width: 100%;
  grid-template-columns: 84px minmax(150px, .75fr) minmax(260px, 1.25fr);
  color: var(--zfs-vdev-color, #58a6ff);
  border-color: var(--zfs-vdev-color, #58a6ff) !important;
  background: var(--zfs-vdev-bg, rgba(88,166,255,.10));
  text-align: left;
  cursor: pointer;
  box-shadow: inset 3px 0 0 var(--zfs-vdev-color, #58a6ff);
}
.zfs-vdev-layout-row strong {
  color: #f0f6fc;
}
.zfs-vdev-layout-row small {
  color: #8b949e;
  overflow-wrap: anywhere;
}
.zfs-vdev-layout-row:hover,
.zfs-vdev-layout-row.active {
  filter: saturate(1.2) brightness(1.1);
  box-shadow: inset 3px 0 0 var(--zfs-vdev-color, #58a6ff), 0 0 12px color-mix(in srgb, var(--zfs-vdev-color, #58a6ff) 28%, transparent);
}
.zfs-vdev-layout-row.active {
  outline: 1px solid color-mix(in srgb, var(--zfs-vdev-color, #58a6ff) 65%, white);
  outline-offset: 1px;
}

/* Selected VDEV is a nested detail region, not a second unrelated card. */
.storage-child-detail {
  position: relative;
  margin: 0 12px 12px;
  border: 1px solid #30363d;
  border-left: 3px solid var(--zfs-vdev-color, #58a6ff);
  border-radius: 5px;
  background: #0b0f14;
  overflow: hidden;
  box-shadow: inset 3px 0 0 var(--zfs-vdev-color, #58a6ff);
}
.storage-child-detail-header {
  padding: 11px 12px;
  background: #111820;
}
.storage-child-detail .raid-capacity-grid {
  padding: 10px 10px 0;
}
.storage-child-detail .raid-members-section {
  margin: 0 10px 10px;
}
.storage-inline-validation {
  margin: 0 10px 10px;
  padding: 0;
  border: 1px solid #30363d;
  border-radius: 5px;
  background: #111820;
  overflow: hidden;
}
.storage-inline-validation .raid-section-title {
  margin: 0;
  padding: 9px 10px;
  border-bottom: 1px solid #30363d;
  background: #161b22;
}
.storage-inline-validation .raid-validation-list {
  padding: 8px;
}

/* Compact ZFS source table aligned to RAID Assigned Drives. */
.zfs-source-table-head,
.zfs-source-row {
  grid-template-columns: 100px 135px minmax(180px, 1fr) 105px 135px !important;
}
.zfs-source-row {
  border-left: 3px solid var(--zfs-vdev-color, #58a6ff);
  background: linear-gradient(90deg, var(--zfs-vdev-bg, rgba(88,166,255,.10)), transparent 42%);
}
.zfs-source-row span:first-child {
  color: var(--zfs-vdev-color, #58a6ff);
  font-weight: 900;
}

@media (max-width: 1100px) {
  .zfs-vdev-layout-row {
    grid-template-columns: 78px minmax(130px, .8fr) minmax(190px, 1.2fr);
  }
  .zfs-source-table-head,
  .zfs-source-row {
    grid-template-columns: 90px 120px minmax(150px, 1fr) 90px 110px !important;
  }
}
@media (max-width: 850px) {
  .storage-assignment-card-grid,
  .raid-assignment-vd-grid,
  .zfs-assignment-pool-grid {
    grid-template-columns: 1fr;
  }
  .zfs-vdev-layout-row {
    grid-template-columns: 72px minmax(0, 1fr);
  }
  .zfs-vdev-layout-row small {
    grid-column: 2;
  }
  .storage-child-detail {
    margin: 0 8px 8px;
  }
  .zfs-source-layout-section {
    overflow-x: auto;
  }
  .zfs-source-table-head,
  .zfs-source-row {
    min-width: 720px;
  }
}

.zfs-vdev-layout-static {
  cursor: default;
}
.zfs-vdev-layout-static:hover {
  filter: none;
  box-shadow: inset 3px 0 0 var(--zfs-vdev-color, #58a6ff);
}
.zfs-pool-assigned-drives .raid-member-head,
.zfs-pool-assigned-drives .raid-member-row {
  grid-template-columns: 90px minmax(130px, 1fr) minmax(150px, 1.2fr) 100px minmax(150px, .9fr);
}
.zfs-assigned-drive-row span:last-child {
  color: var(--zfs-vdev-color, #58a6ff);
  font-weight: 800;
}
@media (max-width: 1100px) {
  .zfs-pool-assigned-drives .raid-member-head,
  .zfs-pool-assigned-drives .raid-member-row {
    grid-template-columns: 82px minmax(110px, 1fr) minmax(130px, 1.1fr) 90px minmax(125px, .9fr);
  }
}


.raid-all-vd-screen {
  display: grid;
  gap: 12px;
}
.raid-all-vd-list {
  display: grid;
  gap: 12px;
}
.raid-vd-static-summary {
  border: 1px solid #30363d;
  border-radius: 6px;
  background: #0d1117;
  overflow: hidden;
}
.raid-vd-static-summary .storage-layout-validation-grid {
  margin-bottom: 0;
}
.raid-span-summary-static {
  cursor: default;
}
.raid-span-summary-static:hover {
  filter: none;
}
.raid-all-assigned-drives .raid-member-head,
.raid-all-assigned-drives .raid-member-row {
  grid-template-columns: 90px minmax(130px, 1fr) minmax(150px, 1.2fr) 100px minmax(130px, .8fr);
}
.raid-all-assigned-row {
  border-left: 3px solid transparent;
}
.raid-all-assigned-row.span-color-1 { --raid-assigned-color:#2ea043; }
.raid-all-assigned-row.span-color-2 { --raid-assigned-color:#58a6ff; }
.raid-all-assigned-row.span-color-3 { --raid-assigned-color:#d29922; }
.raid-all-assigned-row.span-color-4 { --raid-assigned-color:#a371f7; }
.raid-all-assigned-row.span-color-5 { --raid-assigned-color:#db61a2; }
.raid-all-assigned-row.span-color-6 { --raid-assigned-color:#39c5cf; }
.raid-all-assigned-row[class*="span-color-"] {
  border-left-color: var(--raid-assigned-color);
  background: linear-gradient(90deg, color-mix(in srgb, var(--raid-assigned-color) 10%, transparent), transparent 42%);
}
.raid-all-assigned-row[class*="span-color-"] span:last-child {
  color: var(--raid-assigned-color);
  font-weight: 800;
}
@media (max-width: 1100px) {
  .raid-all-assigned-drives .raid-member-head,
  .raid-all-assigned-drives .raid-member-row {
    grid-template-columns: 82px minmax(110px, 1fr) minmax(130px, 1.1fr) 90px minmax(110px, .8fr);
  }
}


.zfs-assignment-hidden,
.raid-assignment-hidden {
  visibility: hidden !important;
  pointer-events: none !important;
}

.raid-editor-window .workspace-window-actions .btn-pipeline.primary[data-workspace-action="next"] {
  min-width: 120px;
}

.raid-span-draft-list {
  display:flex;
  flex-direction:column;
  gap:10px;
  margin-top:16px;
}
.raid-span-draft-card {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:14px;
  border:1px solid #30363d;
  border-left:4px solid currentColor;
  border-radius:8px;
  background:#0d1117;
  color:#58a6ff;
}
.raid-span-draft-card.span-color-1 { color:#2ea043; background:linear-gradient(90deg,rgba(46,160,67,.09),#0d1117 42%); }
.raid-span-draft-card.span-color-2 { color:#58a6ff; background:linear-gradient(90deg,rgba(88,166,255,.09),#0d1117 42%); }
.raid-span-draft-card.span-color-3 { color:#d29922; background:linear-gradient(90deg,rgba(210,153,34,.09),#0d1117 42%); }
.raid-span-draft-card.span-color-4 { color:#a371f7; background:linear-gradient(90deg,rgba(163,113,247,.09),#0d1117 42%); }
.raid-span-draft-card.span-color-5 { color:#db61a2; background:linear-gradient(90deg,rgba(219,97,162,.09),#0d1117 42%); }
.raid-span-draft-card.span-color-6 { color:#39c5cf; background:linear-gradient(90deg,rgba(57,197,207,.09),#0d1117 42%); }
.raid-span-draft-card > div:first-child { min-width:0; }
.raid-span-draft-card span {
  color:currentColor;
  font:900 .62rem Consolas,monospace;
  text-transform:uppercase;
  letter-spacing:.06em;
}
.raid-span-draft-card h3 { margin:4px 0; color:#f0f6fc; }
.raid-span-draft-card p,
.raid-span-draft-card small { display:block; margin:0; color:#8b949e; }
.raid-span-draft-card small.good { color:#7ee787; }
.raid-span-draft-card small.warn { color:#d29922; }
.raid-span-draft-card small.bad { color:#f85149; }
.raid-span-editor-window .workspace-window-tabs {
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.raid-span-assignment-bay .raid-assignment-member-pill {
  color:#ffd33d;
  border-color:#d29922;
  background:rgba(210,153,34,.14);
}
@media(max-width:720px){
  .raid-span-draft-card { flex-direction:column; align-items:stretch; }
  .raid-span-draft-card .storage-detail-actions { justify-content:flex-start; }
}

.rack-page-layout .dashboard-two-panel { min-height: calc(var(--ark-layout-vh) - 116px); }
.rack-dashboard-workspace { min-width: 0; }
.rack-fixed-content { gap: 14px; }
.rack-toolbar { align-items: end; justify-content: space-between; gap: 18px; }
.rack-search-field { display: grid; gap: 5px; min-width: min(360px, 42vw); }
.rack-search-field > span { color: var(--muted, #8b949e); font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.rack-kpi-grid { grid-template-columns: repeat(7, minmax(100px, 1fr)); }
.rack-kpi-card small { color: var(--muted, #8b949e); font-size: 11px; }
.rack-scroll-region { overflow: auto; min-height: 0; padding: 0 18px 22px; }
.rack-card-list { display: grid; grid-template-columns: repeat(auto-fill, minmax(320px, 1fr)); gap: 16px; padding-top: 14px; }
.rack-card { display: grid; gap: 13px; border: 1px solid var(--border, #30363d); border-radius: 10px; padding: 16px; background: linear-gradient(180deg, rgba(22,27,34,.98), rgba(13,17,23,.98)); box-shadow: 0 8px 24px rgba(0,0,0,.2); }
.rack-card-heading { display: flex; justify-content: space-between; align-items: flex-start; gap: 12px; }
.rack-card-heading small { display: block; color: var(--accent, #39d353); font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.rack-card-heading h3 { margin: 4px 0 0; font-size: 20px; }
.rack-type-badge { border: 1px solid #3d444d; border-radius: 999px; padding: 5px 9px; font-size: 10px; font-weight: 900; letter-spacing: .08em; }
.rack-type-badge.vertical { color: #58a6ff; border-color: rgba(88,166,255,.55); background: rgba(88,166,255,.1); }
.rack-type-badge.wall { color: #d2a8ff; border-color: rgba(210,168,255,.55); background: rgba(210,168,255,.1); }
.rack-card-metrics { display: grid; grid-template-columns: repeat(4, 1fr); gap: 8px; }
.rack-card-metrics > div { display: grid; gap: 3px; min-width: 0; padding: 9px; border: 1px solid #2d333b; border-radius: 7px; background: rgba(255,255,255,.025); }
.rack-card-metrics span, .rack-card-detail span { color: #8b949e; font-size: 10px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; }
.rack-card-metrics strong { font-size: 17px; }
.rack-card-detail { display: flex; justify-content: space-between; gap: 10px; }
.rack-card-detail strong { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.rack-utilization { height: 8px; overflow: hidden; border-radius: 999px; background: #21262d; }
.rack-utilization > div { height: 100%; min-width: 2px; border-radius: inherit; background: linear-gradient(90deg, #238636, #39d353); }
.rack-card-footer { display: flex; justify-content: space-between; color: #8b949e; font-size: 11px; }
.rack-card-actions { display: grid; grid-template-columns: repeat(3, 1fr); gap: 8px; }
.rack-card-actions .btn-card { min-width: 0; }

.rack-detail-page, .rack-editor-page { width: 100%; padding: 18px; }
.rack-detail-card, .rack-editor-card { width: min(1680px, 100%); margin: 0 auto; padding: 20px; }
.rack-detail-header, .rack-editor-header { display: flex; align-items: flex-start; justify-content: space-between; gap: 24px; padding-bottom: 17px; border-bottom: 1px solid #30363d; }
.rack-detail-header small, .rack-editor-header small { color: #39d353; font-size: 11px; font-weight: 900; letter-spacing: .09em; text-transform: uppercase; }
.rack-detail-header h1, .rack-editor-header h1 { margin: 4px 0; font-size: clamp(24px, 3vw, 36px); }
.rack-detail-header p { margin: 0; color: #8b949e; }
.rack-back-link { appearance: none; border: 0; padding: 0; margin-bottom: 12px; background: transparent; color: #8b949e; cursor: pointer; font-weight: 800; letter-spacing: .06em; }
.rack-back-link:hover { color: #f0f6fc; }
.rack-detail-actions { display: flex; flex-wrap: wrap; justify-content: flex-end; gap: 8px; }
.rack-detail-kpis { display: grid; grid-template-columns: repeat(5, minmax(110px, 1fr)); gap: 10px; margin: 16px 0; }
.rack-detail-body { display: grid; grid-template-columns: minmax(300px, 430px) minmax(0, 1fr); gap: 18px; align-items: start; }
.rack-visual-column, .rack-equipment-column { min-width: 0; }
.rack-visual-shell { padding: 12px; border: 1px solid #30363d; border-radius: 10px; background: #090c10; }
.rack-rail-label { padding: 8px 10px 12px; color: #c9d1d9; font-size: 12px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.rack-unit-grid { display: grid; grid-template-columns: 52px minmax(0, 1fr); grid-template-rows: repeat(var(--rack-units), 30px); position: relative; border: 2px solid #484f58; border-radius: 6px; overflow: hidden; background: #0d1117; }
.rack-u-label { display: grid; place-items: center; z-index: 1; width: 100%; min-width: 0; padding: 0; appearance: none; border: 0; border-right: 1px solid #484f58; border-bottom: 1px solid #21262d; color: #6e7681; font: inherit; font-size: 10px; font-variant-numeric: tabular-nums; background: #161b22; cursor: pointer; }
.rack-u-label:hover, .rack-u-label:focus-visible { color: #58a6ff; background: rgba(56,139,253,.12); box-shadow: inset 0 0 0 1px rgba(88,166,255,.45); outline: none; }
.rack-u-slot { z-index: 1; width: 100%; border: 0; border-bottom: 1px solid #21262d; background: transparent; cursor: pointer; }
.rack-u-slot:hover, .rack-u-slot:focus-visible { background: rgba(56,139,253,.12); box-shadow: inset 0 0 0 1px rgba(88,166,255,.45); outline: none; }
.rack-mounted-item { z-index: 3; display: flex; flex-direction: column; align-items: flex-start; justify-content: center; gap: 2px; margin: 2px 4px; overflow: hidden; border: 1px solid rgba(88,166,255,.7); border-radius: 5px; padding: 5px 8px; background: linear-gradient(135deg, rgba(31,111,235,.34), rgba(13,17,23,.96)); color: #f0f6fc; text-align: left; cursor: pointer; box-shadow: 0 4px 12px rgba(0,0,0,.35); }
.rack-mounted-item:hover { filter: brightness(1.15); box-shadow: 0 0 0 2px rgba(88,166,255,.35), 0 8px 18px rgba(0,0,0,.4); }
.rack-mounted-item.type-ups { border-color: #d29922; background: linear-gradient(135deg, rgba(187,128,9,.42), rgba(13,17,23,.96)); }
.rack-mounted-item.type-switch { border-color: #3fb950; background: linear-gradient(135deg, rgba(35,134,54,.4), rgba(13,17,23,.96)); }
.rack-mounted-item.type-patch-panel { border-color: #a371f7; background: linear-gradient(135deg, rgba(137,87,229,.38), rgba(13,17,23,.96)); }
.rack-mounted-item.type-pdu { border-color: #f85149; background: linear-gradient(135deg, rgba(218,54,51,.38), rgba(13,17,23,.96)); }
.rack-mounted-item.type-shelf, .rack-mounted-item.type-other { border-color: #8b949e; background: linear-gradient(135deg, rgba(110,118,129,.32), rgba(13,17,23,.96)); }
.rack-mounted-item.type-storage { border-color: #39c5cf; background: linear-gradient(135deg, rgba(31,160,168,.36), rgba(13,17,23,.96)); }
.rack-mounted-item strong { max-width: 100%; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; font-size: 12px; }
.rack-mounted-item small { color: #c9d1d9; font-size: 10px; }
.rack-mounted-type { color: #fff; opacity: .78; font-size: 9px; font-weight: 900; letter-spacing: .08em; text-transform: uppercase; }
.rack-mounted-item.compact { flex-direction: row; align-items: center; justify-content: flex-start; gap: 8px; padding-top: 2px; padding-bottom: 2px; }
.rack-mounted-item.compact small { margin-left: auto; }
.rack-section-title { display: flex; align-items: baseline; justify-content: space-between; gap: 12px; padding: 4px 0 12px; border-bottom: 1px solid #30363d; }
.rack-section-title span { font-weight: 900; letter-spacing: .08em; }
.rack-section-title small { color: #8b949e; }
.rack-items-table-wrap { overflow: auto; margin-top: 12px; border: 1px solid #30363d; border-radius: 8px; }
.rack-items-table { width: 100%; border-collapse: collapse; min-width: 780px; }
.rack-items-table th, .rack-items-table td { padding: 10px 12px; border-bottom: 1px solid #21262d; text-align: left; }
.rack-items-table th { position: sticky; top: 0; z-index: 2; background: #161b22; color: #8b949e; font-size: 10px; letter-spacing: .07em; text-transform: uppercase; }
.rack-table-edit { border: 1px solid #3d444d; border-radius: 5px; padding: 5px 9px; background: #21262d; color: #f0f6fc; cursor: pointer; }
.rack-table-edit:hover { border-color: #58a6ff; }
.rack-empty-items { margin-top: 12px; padding: 28px; border: 1px dashed #30363d; border-radius: 8px; color: #8b949e; text-align: center; }
.rack-notes { margin-top: 16px; padding: 14px; border: 1px solid #30363d; border-radius: 8px; background: rgba(255,255,255,.02); }
.rack-notes p { margin-bottom: 0; white-space: pre-wrap; }

.rack-editor-card { max-width: 1120px; }
.rack-editor-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px; padding: 20px 0; }
.rack-editor-form label { display: grid; align-content: start; gap: 6px; }
.rack-editor-form label > span, .rack-size-presets > span { color: #8b949e; font-size: 11px; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
.rack-editor-form label > small { color: #6e7681; line-height: 1.4; }
.rack-editor-form .wide { grid-column: 1 / -1; }
.rack-size-presets { grid-column: 1 / -1; display: flex; flex-wrap: wrap; align-items: center; gap: 7px; }
.rack-size-presets > span { margin-right: 6px; }
.rack-size-btn { border: 1px solid #3d444d; border-radius: 6px; padding: 7px 10px; background: #161b22; color: #c9d1d9; cursor: pointer; }
.rack-size-btn:hover, .rack-size-btn.active { border-color: #39d353; color: #fff; background: rgba(35,134,54,.22); }
.rack-editor-review, .rack-item-position-summary, .rack-placement-preview { display: grid; grid-template-columns: repeat(3, 1fr); gap: 10px; padding: 14px; border: 1px solid #30363d; border-radius: 8px; background: #0d1117; }
.rack-editor-review > div { display: grid; gap: 4px; }
.rack-editor-review span, .rack-item-position-summary span, .rack-placement-preview span { color: #8b949e; font-size: 10px; font-weight: 900; letter-spacing: .07em; text-transform: uppercase; }
.rack-editor-actions { display: flex; gap: 9px; align-items: center; justify-content: flex-end; padding-top: 18px; }
.rack-action-spacer { flex: 1; }
.rack-item-position-summary, .rack-placement-preview { grid-template-columns: auto 1fr auto 1fr; align-items: center; margin-top: 16px; }

@media (max-width: 1200px) {
  .rack-kpi-grid { grid-template-columns: repeat(4, minmax(100px, 1fr)); }
  .rack-detail-body { grid-template-columns: minmax(280px, 360px) minmax(0, 1fr); }
}
@media (max-width: 900px) {
  .rack-toolbar, .rack-detail-header { align-items: stretch; flex-direction: column; }
  .rack-search-field { min-width: 0; width: 100%; }
  .rack-kpi-grid, .rack-detail-kpis { grid-template-columns: repeat(2, minmax(100px, 1fr)); }
  .rack-detail-body { grid-template-columns: 1fr; }
  .rack-editor-form { grid-template-columns: 1fr; }
  .rack-editor-form .wide, .rack-size-presets { grid-column: auto; }
  .rack-detail-actions { justify-content: flex-start; }
}
@media (max-width: 600px) {
  .rack-card-list { grid-template-columns: 1fr; }
  .rack-card-metrics { grid-template-columns: repeat(2, 1fr); }
  .rack-card-actions { grid-template-columns: 1fr; }
  .rack-unit-grid { grid-template-columns: 44px minmax(0, 1fr); grid-template-rows: repeat(var(--rack-units), 28px); }
  .rack-detail-page, .rack-editor-page { padding: 8px; }
  .rack-detail-card, .rack-editor-card { padding: 12px; }
  .rack-item-position-summary, .rack-placement-preview { grid-template-columns: 1fr 1fr; }
}
.rack-error-banner { margin: 12px 0; padding: 10px 12px; border: 1px solid rgba(248,81,73,.55); border-radius: 7px; background: rgba(218,54,51,.12); color: #ffb3ad; }
.cyber-readonly-field { min-height: 38px; display: grid; align-content: center; gap: 3px; padding: 9px 11px; border: 1px solid #30363d; border-radius: 6px; background: #0d1117; color: #c9d1d9; }
.cyber-readonly-field small { color: #6e7681; font-size: 10px; }

#rackCustomerPanelBlock {
  min-width: 0;
  height: 100%;
  min-height: 0;
  overflow: hidden;
  border-right: 1px solid #21262d;
  background: #0b0f14;
}
.rack-page-layout,
.rack-page-layout .dashboard-two-panel {
  height: 100% !important;
  min-height: 0 !important;
  overflow: hidden !important;
}
.rack-dashboard-workspace {
  height: 100% !important;
  min-height: 0 !important;
  display: flex !important;
  flex-direction: column !important;
  overflow: hidden !important;
  padding: 14px 18px 0 !important;
}
.rack-dashboard-workspace .dashboard-toolbar { margin-bottom: 8px; }
.rack-search-bar {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 10px;
  margin-bottom: 8px;
}
.rack-search-bar > span {
  color: #8b949e;
  font: 800 .62rem Consolas, monospace;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.rack-search-bar .cyber-input { min-height: 32px; padding: 6px 9px; }
.rack-kpi-grid {
  grid-template-columns: repeat(7, minmax(88px, 1fr)) !important;
  gap: 8px !important;
  margin-bottom: 8px !important;
}
.rack-analytics-grid { margin-bottom: 8px !important; }
.rack-space-progress .progress-donut {
  background: conic-gradient(#2ea043 var(--progress, 0deg), #21262d 0);
}
.rack-scroll-region {
  flex: 1 1 auto !important;
  min-height: 0 !important;
  overflow: hidden !important;
  display: flex !important;
  flex-direction: column !important;
  padding: 0 !important;
}
.rack-scroll-region .servers-section-header { flex: 0 0 auto; }
.rack-card-list {
  flex: 1 1 0 !important;
  height: 0 !important;
  min-height: 0 !important;
  overflow-y: auto !important;
  overflow-x: hidden !important;
  grid-template-columns: repeat(auto-fill, minmax(330px, 1fr)) !important;
  align-content: start;
  grid-auto-rows: max-content;
  gap: 14px !important;
  padding: 0 0 20px !important;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.rack-card-list::-webkit-scrollbar { width: 0; height: 0; display: none; }
.rack-card.server-record-card {
  display: flex;
  gap: 0;
  padding: 0;
  border-radius: 8px;
  background: #0b0f14;
  box-shadow: none;
}
.rack-card-title-row {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 10px;
  margin-bottom: 8px;
}
.rack-card-title-row .server-card-identity-name { margin-bottom: 0; flex: 1 1 auto; min-width: 0; }
.rack-card-identity-section { padding-right: 14px; }
.rack-type-badge { flex: 0 0 auto; padding: 4px 7px; }
.rack-card-summary-grid,
.rack-card-equipment-grid {
  display: grid;
  gap: 7px;
}
.rack-card-summary-grid { grid-template-columns: repeat(4, minmax(0, 1fr)); }
.rack-card-equipment-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); margin-top: 7px; }
.rack-card-summary-grid > div,
.rack-card-equipment-grid > div {
  min-height: 48px;
  padding: 7px 5px;
  border: 1px solid #30363d;
  border-radius: 4px;
  background: #0d1117;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
}
.rack-card-summary-grid span,
.rack-card-equipment-grid span {
  color: #8b949e;
  font-size: .56rem;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.rack-card-summary-grid strong,
.rack-card-equipment-grid strong {
  color: #2ea043;
  font: 900 .82rem Consolas, monospace;
  margin-top: 3px;
}
.rack-card-progress { margin-top: 8px; }
.rack-card .rack-utilization { margin-top: 7px; height: 6px; }
.rack-card-actions { grid-template-columns: repeat(3, minmax(0, 1fr)) !important; gap: 6px !important; padding: 12px 14px 14px !important; margin: 0 !important; }
.rack-card-actions .btn-card { min-width: 0; padding: 8px 4px; white-space: nowrap; }
@media (max-width: 1200px) {
  .rack-kpi-grid { grid-template-columns: repeat(4, minmax(88px, 1fr)) !important; }
}
@media (max-width: 900px) {
  #rackCustomerPanelBlock { height: auto; max-height: 220px; border-right: 0; border-bottom: 1px solid #21262d; }
  .rack-search-bar { grid-template-columns: 1fr; gap: 5px; }
}
@media (max-width: 760px) {
  .rack-kpi-grid { grid-template-columns: repeat(2, minmax(88px, 1fr)) !important; }
  .rack-card-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

#rackCustomerPanelBlock {
  min-width: 0;
  height: 100%;
  min-height: 0;
  overflow: hidden;
  border-right: 1px solid #21262d;
  background: #0b0f14;
}
.rack-customer-panel {
  height: 100%;
  min-height: 0;
  overflow: hidden;
}
.rack-customer-panel .dashboard-customer-scroll {
  flex: 1 1 auto;
  min-height: 0;
}
.customer-nav-count.rack-total-count {
  color: #8b949e;
  border: 1px solid rgba(88, 166, 255, .24);
  background: rgba(33, 42, 55, .72);
}
.customer-nav-item.selected .customer-nav-count.rack-total-count {
  color: #58a6ff;
  border-color: rgba(88, 166, 255, .42);
  background: rgba(30, 80, 125, .24);
}
.rack-dashboard-workspace {
  padding-top: 10px !important;
}
.rack-dashboard-workspace .dashboard-actions-only {
  min-height: 34px;
  margin-bottom: 8px;
}
.rack-analytics-grid {
  grid-template-columns: repeat(2, minmax(260px, 1fr)) !important;
}
.rack-card-list {
  grid-template-columns: repeat(auto-fill, minmax(340px, 1fr)) !important;
}
.rack-card.server-record-card {
  display: flex !important;
  flex-direction: column !important;
  align-self: start;
  height: max-content;
  min-height: 0;
  gap: 0 !important;
  padding: 0 !important;
  overflow: hidden;
  border-color: rgba(46, 160, 67, .46);
  border-radius: 8px;
  background: #0b0f14;
  box-shadow: none;
}
.rack-card.server-record-card:hover {
  border-color: #58a6ff;
  box-shadow: 0 0 0 1px rgba(88, 166, 255, .12);
}
.rack-card .server-card-section {
  width: 100%;
  flex: 0 0 auto;
}
.rack-card-identity-section {
  padding-right: 14px !important;
}
.rack-card-title-row {
  min-height: 24px;
  align-items: center;
}
.rack-card-title-row .server-card-identity-name {
  font-size: 1rem;
}
.rack-type-badge {
  border-radius: 999px;
  font-family: Consolas, monospace;
  font-size: .58rem;
  font-weight: 900;
  letter-spacing: .07em;
}
.rack-card-summary-grid,
.rack-card-equipment-grid {
  overflow: hidden;
  gap: 0 !important;
  border: 1px solid #30363d;
  border-radius: 6px;
  background: #0b0f14;
}
.rack-card-summary-grid {
  grid-template-columns: repeat(4, minmax(0, 1fr));
}
.rack-card-equipment-grid {
  grid-template-columns: repeat(2, minmax(0, 1fr));
  margin-top: 7px;
}
.rack-card-summary-grid > div,
.rack-card-equipment-grid > div {
  min-height: 48px;
  padding: 7px 5px;
  border: 0;
  border-right: 1px solid #30363d;
  border-radius: 0;
  background: transparent;
}
.rack-card-summary-grid > div:last-child,
.rack-card-equipment-grid > div:last-child {
  border-right: 0;
}
.rack-card-summary-grid span,
.rack-card-equipment-grid span {
  font-size: .54rem;
  font-weight: 800;
  line-height: 1.15;
}
.rack-card-summary-grid strong,
.rack-card-equipment-grid strong {
  font-size: .82rem;
  line-height: 1.15;
}
.rack-card-progress {
  margin-top: 9px;
}
.rack-card .rack-utilization {
  height: 6px;
  margin-top: 7px;
}
.rack-card-actions {
  width: 100%;
  margin-top: auto !important;
  border-top: 0;
}

.rack-detail-page {
  padding: 18px 20px;
  overflow: auto;
}
.rack-detail-card {
  width: 100%;
  max-width: none;
  margin: 0;
  padding: 20px;
}
.rack-detail-header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 20px;
  padding-bottom: 12px;
  border-bottom: 0;
}
.rack-detail-breadcrumbs {
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 8px;
  color: #6e7681;
  font: 900 .68rem Consolas, monospace;
  letter-spacing: .055em;
  text-transform: uppercase;
  white-space: nowrap;
  overflow: hidden;
}
.rack-detail-breadcrumbs .rack-back-link {
  flex: 0 0 auto;
  margin: 0;
  color: #8b949e;
}
.rack-detail-breadcrumbs strong {
  min-width: 0;
  color: #2ea043;
  overflow: hidden;
  text-overflow: ellipsis;
}
.rack-detail-overview {
  display: grid;
  grid-template-columns: minmax(300px, 420px) minmax(0, 1fr);
  gap: 18px;
  align-items: end;
  padding-bottom: 14px;
  border-bottom: 1px solid #30363d;
}
.rack-detail-title-block h1 {
  margin: 0 0 7px;
  color: #f0f6fc;
  font-size: clamp(28px, 3vw, 36px);
  line-height: 1.05;
}
.rack-detail-title-block p {
  display: flex;
  align-items: center;
  gap: 8px;
  margin: 0;
  color: #8b949e;
  font-size: .9rem;
}
.rack-location-pin {
  color: #58a6ff;
  font-size: .62rem;
  text-shadow: 0 0 8px rgba(88, 166, 255, .35);
}
.rack-detail-kpis {
  grid-template-columns: repeat(5, minmax(110px, 1fr));
  gap: 10px;
  margin: 0;
}
.rack-detail-kpis .rack-kpi-card {
  min-height: 78px;
}
.rack-detail-body {
  grid-template-columns: minmax(360px, 500px) minmax(0, 1fr);
  gap: 14px;
  margin-top: 14px;
}
.rack-visual-shell,
.rack-equipment-column {
  border: 1px solid #30363d;
  border-radius: 9px;
  background: #0b0f14;
}
.rack-visual-shell {
  padding: 12px;
}
.rack-equipment-column {
  min-height: 100%;
  padding: 12px 14px 16px;
}
.rack-rail-label {
  padding: 5px 4px 12px;
  color: #f0f6fc;
  font-size: .76rem;
}
.rack-rail-label strong {
  color: #2ea043;
}
.rack-utilization-panel {
  display: grid;
  grid-template-columns: 104px minmax(0, 1fr);
  min-height: 112px;
  margin-bottom: 12px;
  overflow: hidden;
  border: 1px solid #30363d;
  border-radius: 7px;
  background: #0d1117;
}
.rack-utilization-donut {
  display: grid;
  place-items: center;
  position: relative;
  border-right: 1px solid #21262d;
  background: rgba(255, 255, 255, .012);
}
.rack-utilization-donut::before {
  content: "";
  width: 70px;
  height: 70px;
  border-radius: 50%;
  background: conic-gradient(#2ea043 var(--rack-progress, 0deg), #252c35 0);
  box-shadow: 0 0 16px rgba(46, 160, 67, .08);
}
.rack-utilization-donut::after {
  content: "";
  position: absolute;
  width: 51px;
  height: 51px;
  border-radius: 50%;
  background: #0d1117;
  box-shadow: inset 0 0 0 1px #30363d;
}
.rack-utilization-donut > span {
  position: absolute;
  z-index: 1;
  display: grid;
  justify-items: center;
  line-height: 1;
}
.rack-utilization-donut strong {
  color: #f0f6fc;
  font: 900 .88rem Consolas, monospace;
}
.rack-utilization-donut small {
  margin-top: 4px;
  color: #8b949e;
  font: 800 .48rem Consolas, monospace;
  letter-spacing: .05em;
}
.rack-utilization-copy {
  min-width: 0;
  display: flex;
  flex-direction: column;
  justify-content: center;
  padding: 12px 14px;
}
.rack-utilization-title {
  margin-bottom: 9px;
  color: #8b949e;
  font: 900 .67rem Consolas, monospace;
  letter-spacing: .07em;
}
.rack-utilization-values {
  display: flex;
  align-items: baseline;
  gap: 6px;
  color: #c9d1d9;
  font-size: .76rem;
}
.rack-utilization-values strong {
  color: #f0f6fc;
  font: 900 1rem Consolas, monospace;
}
.rack-utilization-values i {
  width: 1px;
  height: 14px;
  margin: 0 7px;
  background: #30363d;
}
.rack-utilization-track {
  height: 8px;
  margin: 10px 0 6px;
  overflow: hidden;
  border-radius: 999px;
  background: #252c35;
}
.rack-utilization-track span {
  display: block;
  height: 100%;
  min-width: 2px;
  border-radius: inherit;
  background: linear-gradient(90deg, #238636, #39d353);
}
.rack-utilization-copy > small {
  color: #6e7681;
  font-size: .62rem;
}
.rack-unit-grid {
  border-color: #484f58;
  background: #0d1117;
}
.rack-mounted-item {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  padding: 4px 8px;
  text-align: left;
}
.rack-mounted-item.type-server {
  border-color: rgba(88, 166, 255, .76);
  background: linear-gradient(90deg, rgba(31, 111, 235, .28), rgba(13, 17, 23, .96));
}
.rack-mounted-item.type-ups {
  border-color: rgba(46, 160, 67, .82);
  background: linear-gradient(90deg, rgba(35, 134, 54, .34), rgba(13, 17, 23, .96));
}
.rack-mounted-position {
  color: #8b949e;
  font: 800 .62rem Consolas, monospace;
  white-space: nowrap;
}
.rack-mounted-copy {
  min-width: 0;
  display: flex;
  flex-direction: column;
  gap: 2px;
}
.rack-mounted-copy strong,
.rack-mounted-copy small {
  display: block;
  max-width: 100%;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.rack-mounted-copy strong {
  color: #f0f6fc;
  font-size: .72rem;
}
.rack-mounted-copy small {
  color: #8b949e;
  font-size: .58rem;
}
.rack-mounted-badges {
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  gap: 3px;
  white-space: nowrap;
}
.rack-mounted-badges b,
.rack-mounted-badges em {
  border: 1px solid currentColor;
  border-radius: 4px;
  padding: 1px 4px;
  color: #58a6ff;
  font: 900 .55rem Consolas, monospace;
  font-style: normal;
  line-height: 1.2;
}
.rack-mounted-badges em {
  border-color: transparent;
  padding-right: 0;
  font-size: .48rem;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.rack-mounted-item.type-ups .rack-mounted-badges b,
.rack-mounted-item.type-ups .rack-mounted-badges em {
  color: #39d353;
}
.rack-mounted-item.compact {
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 6px;
  padding-top: 1px;
  padding-bottom: 1px;
}
.rack-mounted-item.compact .rack-mounted-position,
.rack-mounted-item.compact .rack-mounted-copy small,
.rack-mounted-item.compact .rack-mounted-badges em {
  display: none;
}
.rack-section-title {
  padding: 4px 0 12px;
}
.rack-items-table-wrap {
  margin-top: 12px;
}
.rack-items-table th,
.rack-items-table td {
  padding: 12px;
}

@media (max-width: 1350px) {
  .rack-detail-overview {
    grid-template-columns: 1fr;
    align-items: start;
  }
  .rack-detail-kpis {
    width: 100%;
  }
  .rack-detail-body {
    grid-template-columns: minmax(320px, 420px) minmax(0, 1fr);
  }
}
@media (max-width: 1050px) {
  .rack-detail-header {
    align-items: stretch;
    flex-direction: column;
  }
  .rack-detail-actions {
    justify-content: flex-start;
  }
  .rack-detail-kpis {
    grid-template-columns: repeat(3, minmax(100px, 1fr));
  }
  .rack-detail-body {
    grid-template-columns: 1fr;
  }
  .rack-visual-column {
    max-width: 540px;
  }
}
@media (max-width: 900px) {
  #rackCustomerPanelBlock {
    height: auto;
    max-height: 220px;
    border-right: 0;
    border-bottom: 1px solid #21262d;
  }
  .rack-analytics-grid {
    grid-template-columns: 1fr !important;
  }
  .rack-detail-breadcrumbs {
    flex-wrap: wrap;
    white-space: normal;
  }
}
@media (max-width: 760px) {
  .rack-card-summary-grid {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .rack-card-summary-grid > div:nth-child(2) {
    border-right: 0;
  }
  .rack-card-summary-grid > div:nth-child(-n+2) {
    border-bottom: 1px solid #30363d;
  }
  .rack-detail-page {
    padding: 8px;
  }
  .rack-detail-card {
    padding: 12px;
  }
  .rack-detail-kpis {
    grid-template-columns: repeat(2, minmax(100px, 1fr));
  }
  .rack-utilization-panel {
    grid-template-columns: 88px minmax(0, 1fr);
  }
  .rack-utilization-donut::before {
    width: 62px;
    height: 62px;
  }
  .rack-utilization-donut::after {
    width: 45px;
    height: 45px;
  }
}

.rack-detail-kpis .rack-kpi-card {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: center;
}
.rack-detail-kpis .rack-kpi-card .kpi-label,
.rack-detail-kpis .rack-kpi-card .kpi-value,
.rack-detail-kpis .rack-kpi-card .kpi-sub {
  display: block;
  width: 100%;
}
.rack-detail-kpis .rack-kpi-card .kpi-value {
  margin-top: 8px;
  line-height: 1;
}
.rack-mounted-item {
  background-color: #0f141b;
  background-clip: padding-box;
}



.rack-mounted-item {
  position: relative;
  isolation: isolate;
  grid-template-columns: minmax(0, 1fr) auto;
  background-image: none !important;
  background-color: #14253d !important;
  background-clip: border-box;
}
.rack-mounted-item.type-server { background-color: #142b4a !important; }
.rack-mounted-item.type-ups { background-color: #12331f !important; }
.rack-mounted-item.type-switch { background-color: #12331f !important; }
.rack-mounted-item.type-patch-panel { background-color: #261b3d !important; }
.rack-mounted-item.type-pdu { background-color: #3a1b1f !important; }
.rack-mounted-item.type-storage { background-color: #12313a !important; }
.rack-mounted-item.type-shelf,
.rack-mounted-item.type-other { background-color: #242a31 !important; }
.rack-mounted-position { display: none !important; }

.server-import-overlay {
  padding: 24px;
  align-items: center;
}
.server-import-modal {
  width: min(1280px, calc(var(--ark-layout-vw) - 40px));
  max-height: calc(var(--ark-layout-vh) - 48px);
  overflow: hidden;
}
.server-import-modal .modal-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  padding: 18px 20px;
  border-bottom: 1px solid #30363d;
  background: #10151c;
}
.server-import-modal .modal-header h2 {
  margin: 3px 0 5px;
  color: #f0f6fc;
  font-family: Consolas, monospace;
  font-size: 1.12rem;
}
.server-import-modal .modal-header p {
  margin: 0;
  max-width: 850px;
  color: #8b949e;
  font-size: .78rem;
  line-height: 1.45;
}
.server-import-modal .close-x {
  width: 36px;
  height: 36px;
  border: 1px solid #30363d;
  border-radius: 5px;
  background: #161b22;
  color: #c9d1d9;
  font-size: 1.35rem;
  cursor: pointer;
}
.server-import-modal .close-x:hover { border-color: #58a6ff; color: #fff; }
.server-import-modal .close-x:disabled { opacity: .45; cursor: not-allowed; }
.server-import-body {
  display: grid;
  grid-template-columns: minmax(330px, .8fr) minmax(480px, 1.2fr);
  min-height: 0;
  overflow: auto;
}
.import-input-panel,
.import-review-panel {
  min-width: 0;
  padding: 18px;
}
.import-input-panel {
  border-right: 1px solid #30363d;
  background: #0d1117;
}
.import-file-picker {
  display: grid;
  gap: 8px;
  padding: 14px;
  border: 1px dashed #3b4652;
  border-radius: 7px;
  background: #111820;
  cursor: pointer;
}
.import-file-picker:hover { border-color: #58a6ff; }
.import-file-picker > span,
.import-server-identity > span,
.import-source-line span {
  color: #8b949e;
  font-size: .67rem;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.import-file-picker input { width: 100%; color: #c9d1d9; }
.import-file-picker strong { color: #f0f6fc; font-size: .78rem; overflow-wrap: anywhere; }
.import-or {
  display: flex;
  align-items: center;
  gap: 10px;
  margin: 14px 0;
  color: #6e7681;
  font-family: Consolas, monospace;
  font-size: .68rem;
}
.import-or::before,
.import-or::after { content: ""; height: 1px; flex: 1; background: #30363d; }
.import-json-text {
  width: 100%;
  min-height: 280px;
  resize: vertical;
  margin-bottom: 10px;
  font-family: Consolas, monospace;
  font-size: .72rem;
  line-height: 1.4;
  white-space: pre;
}
.import-empty-preview {
  min-height: 340px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  gap: 8px;
  border: 1px dashed #30363d;
  border-radius: 7px;
  color: #8b949e;
  text-align: center;
  padding: 30px;
}
.import-empty-preview strong { color: #c9d1d9; }
.import-source-line {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
  margin-bottom: 12px;
}
.import-source-line > div,
.import-server-identity {
  border: 1px solid #30363d;
  border-radius: 6px;
  background: #111820;
  padding: 10px 12px;
}
.import-source-line strong,
.import-server-identity strong { display: block; margin-top: 4px; color: #f0f6fc; font-size: .78rem; }
.import-summary-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
  margin-bottom: 10px;
}
.import-summary-card {
  min-width: 0;
  border: 1px solid #30363d;
  border-radius: 6px;
  background: #161b22;
  padding: 10px;
}
.import-summary-card span { display: block; color: #8b949e; font-size: .65rem; font-weight: 900; text-transform: uppercase; }
.import-summary-card strong { display: block; margin-top: 5px; color: #58a6ff; font-family: Consolas, monospace; font-size: 1.15rem; }
.import-summary-card small { display: block; margin-top: 3px; color: #8b949e; font-size: .65rem; }
.import-server-identity { margin-bottom: 10px; }
.import-option-grid { display: grid; gap: 8px; margin-bottom: 10px; }
.import-option-grid label {
  display: grid;
  grid-template-columns: 20px 1fr;
  column-gap: 8px;
  border: 1px solid #30363d;
  border-radius: 6px;
  background: #111820;
  padding: 10px;
  cursor: pointer;
}
.import-option-grid input { margin-top: 2px; }
.import-option-grid span { color: #f0f6fc; font-size: .76rem; font-weight: 800; }
.import-option-grid small { grid-column: 2; margin-top: 3px; color: #8b949e; font-size: .67rem; line-height: 1.35; }
.import-option-grid label:has(input:disabled) { opacity: .55; cursor: not-allowed; }
.import-warning-list,
.import-ready-banner,
.import-unmatched {
  border-radius: 6px;
  padding: 10px 12px;
  font-size: .72rem;
  line-height: 1.4;
}
.import-warning-list { border: 1px solid #9e6a03; background: rgba(210,153,34,.08); color: #d29922; }
.import-warning-list strong { display: block; margin-bottom: 5px; color: #e3b341; }
.import-warning-list div + div { margin-top: 4px; }
.import-ready-banner { border: 1px solid #238636; background: rgba(46,160,67,.08); color: #56d364; }
.import-unmatched { margin-top: 8px; border: 1px solid #30363d; background: #0d1117; color: #8b949e; }
.import-unmatched summary { color: #c9d1d9; cursor: pointer; font-weight: 800; }
.import-unmatched div { margin-top: 7px; }
.import-modal-actions {
  display: flex;
  justify-content: flex-end;
  gap: 10px;
  padding: 14px 18px;
  border-top: 1px solid #30363d;
  background: #10151c;
}
.import-modal-actions .btn-side { width: auto; min-width: 170px; }

@media (max-width: 900px) {
  .server-import-overlay { padding: 0; align-items: stretch; }
  .server-import-modal { width: var(--ark-layout-vw); max-width: var(--ark-layout-vw); max-height: var(--ark-layout-vh); height: var(--ark-layout-vh); border-radius: 0; border: 0; }
  .server-import-body { grid-template-columns: 1fr; }
  .import-input-panel { border-right: 0; border-bottom: 1px solid #30363d; }
  .import-summary-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .import-source-line { grid-template-columns: 1fr; }
  .import-json-text { min-height: 180px; }
}

.rack-server-import-preview {
  grid-column: 1 / -1;
  display: grid;
  gap: 13px;
  padding: 15px;
  border: 1px solid rgba(88, 166, 255, .42);
  border-radius: 8px;
  background: linear-gradient(135deg, rgba(31, 111, 235, .12), rgba(13, 17, 23, .96));
}
.rack-server-import-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding-bottom: 11px;
  border-bottom: 1px solid #30363d;
}
.rack-server-import-heading > div {
  display: grid;
  gap: 3px;
}
.rack-server-import-heading span,
.rack-server-import-grid span {
  color: #8b949e;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.rack-server-import-heading strong {
  color: #f0f6fc;
  font-size: 13px;
}
.rack-server-import-heading em {
  border: 1px solid rgba(57, 211, 83, .62);
  border-radius: 999px;
  padding: 4px 8px;
  color: #39d353;
  font: 900 10px Consolas, monospace;
  font-style: normal;
  text-transform: uppercase;
}
.rack-server-import-grid {
  display: grid;
  grid-template-columns: repeat(5, minmax(0, 1fr));
  gap: 9px;
}
.rack-server-import-grid > div {
  min-width: 0;
  display: grid;
  gap: 4px;
  padding: 9px 10px;
  border: 1px solid #30363d;
  border-radius: 6px;
  background: rgba(13, 17, 23, .72);
}
.rack-server-import-grid strong {
  overflow: hidden;
  color: #c9d1d9;
  font-size: 12px;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.rack-server-import-preview > small {
  color: #8b949e;
  line-height: 1.45;
}
.rack-server-import-empty {
  min-height: 82px;
  place-content: center;
  text-align: center;
  border-style: dashed;
}
.rack-server-import-empty strong {
  color: #f0f6fc;
}
.rack-server-import-empty span {
  color: #8b949e;
}
.rack-server-identity-cell {
  display: grid;
  gap: 3px;
  min-width: 180px;
}
.rack-server-identity-cell span {
  color: #c9d1d9;
  font-size: 11px;
  white-space: nowrap;
}
.rack-table-subline {
  display: block;
  margin-top: 4px;
  color: #8b949e;
  font-size: 10px;
}
.rack-items-table {
  min-width: 980px;
}
@media (max-width: 1200px) {
  .rack-server-import-grid { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}
@media (max-width: 700px) {
  .rack-server-import-grid { grid-template-columns: 1fr 1fr; }
  .rack-server-import-heading { align-items: flex-start; flex-direction: column; }
}


.dashboard-server-list {
  content-visibility: visible !important;
  contain: none !important;
  contain-intrinsic-size: auto !important;
  grid-auto-rows: max-content;
}
.dashboard-server-list .server-record-card {
  contain: none !important;
  align-self: start;
  height: max-content;
  max-height: none;
}
.dashboard-server-list .server-card-section,
.dashboard-server-list .server-card-actions {
  flex: none;
}

.ark-import-menu-popover {
  min-width: 180px;
}
.ark-import-menu-popover button {
  text-align: left;
}
.import-platform-tabs {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 6px;
  margin-bottom: 10px;
}
.import-platform-tab {
  min-width: 0;
  border: 1px solid #30363d;
  border-radius: 5px;
  background: #111820;
  color: #8b949e;
  padding: 8px 6px;
  font-family: Consolas, monospace;
  font-size: .67rem;
  font-weight: 900;
  text-transform: uppercase;
  cursor: pointer;
}
.import-platform-tab:hover {
  border-color: #58a6ff;
  color: #f0f6fc;
}
.import-platform-tab.active {
  border-color: #2ea043;
  background: rgba(46,160,67,.12);
  color: #56d364;
}
.import-platform-tab:disabled {
  opacity: .5;
  cursor: not-allowed;
}
.collector-credential-panel {
  display: grid;
  gap: 10px;
  margin-bottom: 14px;
  padding: 14px;
  border: 1px solid rgba(57, 197, 207, .42);
  border-radius: 12px;
  background: rgba(57, 197, 207, .06);
}
.collector-credential-panel.is-locked { border-color: rgba(210, 153, 34, .45); background: rgba(210, 153, 34, .06); }
.collector-credential-panel > p { margin: 0; color: var(--muted); }
.collector-credential-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.collector-credential-heading > div, .collector-credential-panel > div:first-child { display: grid; gap: 3px; }
.collector-credential-heading span, .collector-credential-panel > div:first-child span, .collector-credential-token > span { color: var(--cyan); font-size: .7rem; font-weight: 800; letter-spacing: .08em; }
.collector-credential-token { display: grid; gap: 7px; padding: 10px; border: 1px solid rgba(63, 185, 80, .45); border-radius: 9px; background: rgba(63, 185, 80, .07); }
.collector-credential-history { display: grid; gap: 6px; }
.collector-credential-row { display: flex; align-items: center; justify-content: space-between; gap: 10px; padding: 8px 10px; border: 1px solid var(--line); border-radius: 8px; background: rgba(255,255,255,.025); }
.collector-credential-row > div { display: grid; gap: 2px; }
.collector-credential-row small { color: var(--muted); }
.collector-credential-row.status-active { border-color: rgba(63, 185, 80, .42); }
.collector-credential-row.status-overlap { border-color: rgba(210, 153, 34, .42); }
.collector-credential-row.status-revoked, .collector-credential-row.status-expired { opacity: .7; }

.import-script-list {
  display: grid;
  gap: 8px;
  margin-bottom: 12px;
}
.import-script-card {
  border: 1px solid #30363d;
  border-radius: 7px;
  background: #111820;
  padding: 12px;
}
.import-script-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.import-script-heading > div {
  min-width: 0;
}
.import-script-heading span {
  display: block;
  color: #8b949e;
  font-size: .62rem;
  font-weight: 900;
  letter-spacing: .08em;
}
.import-script-heading strong {
  display: block;
  margin-top: 3px;
  color: #f0f6fc;
  font-family: Consolas, monospace;
  font-size: .78rem;
  overflow-wrap: anywhere;
}
.import-script-download {
  flex: 0 0 auto;
  border: 1px solid #238636;
  border-radius: 5px;
  background: rgba(46,160,67,.1);
  color: #56d364;
  padding: 7px 10px;
  font-family: Consolas, monospace;
  font-size: .65rem;
  font-weight: 900;
  text-decoration: none;
}
.import-script-download:hover {
  border-color: #56d364;
  color: #fff;
}
.import-script-card p {
  margin: 9px 0;
  color: #8b949e;
  font-size: .68rem;
  line-height: 1.4;
}
.import-script-card > small {
  display: block;
  margin-top: 7px;
  color: #6e7681;
  font-size: .62rem;
  overflow-wrap: anywhere;
}
.collector-usage-card {
  display: grid;
  gap: 10px;
  margin: 0 0 12px;
  padding: 12px;
  border: 1px solid #30363d;
  border-radius: 7px;
  background: rgba(47, 129, 247, .055);
}
.collector-usage-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.collector-usage-heading span {
  display: block;
  color: #58a6ff;
  font-size: .62rem;
  font-weight: 900;
  letter-spacing: .08em;
}
.collector-usage-heading strong {
  display: block;
  margin-top: 3px;
  color: #f0f6fc;
  font-size: .82rem;
}
.collector-usage-heading em {
  color: #8b949e;
  font-family: Consolas, monospace;
  font-size: .62rem;
  font-style: normal;
  font-weight: 800;
  text-align: right;
}
.collector-usage-card p {
  margin: 0;
  color: #8b949e;
  font-size: .68rem;
  line-height: 1.4;
}
.collector-usage-grid {
  display: grid;
  gap: 8px;
}
.collector-interval-control {
  display: grid;
  grid-template-columns: minmax(260px, 420px) auto minmax(0, 1fr);
  gap: 10px;
  align-items: end;
  padding: 10px;
  border: 1px solid #21262d;
  border-radius: 6px;
  background: rgba(9, 13, 18, .7);
}
.collector-interval-fields {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
}
.collector-interval-control label {
  display: grid;
  gap: 5px;
  min-width: 0;
}
.collector-interval-control label span {
  color: #8b949e;
  font-size: .62rem;
  font-weight: 900;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.collector-interval-control input {
  width: 100%;
  min-width: 0;
  border: 1px solid #30363d;
  border-radius: 5px;
  background: #090d12;
  color: #f0f6fc;
  padding: 8px 9px;
  font-family: Consolas, monospace;
  font-size: .78rem;
}
.collector-interval-control strong {
  color: #56d364;
  font-family: Consolas, monospace;
  font-size: .78rem;
  white-space: nowrap;
}
.collector-interval-control small {
  color: #8b949e;
  font-size: .64rem;
  line-height: 1.35;
}
.collector-usage-columns {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px;
}
.collector-usage-columns section,
.collector-usage-details,
.collector-usage-modes {
  display: grid;
  gap: 8px;
  min-width: 0;
}
.collector-usage-card h4 {
  margin: 0;
  color: #79c0ff;
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.collector-usage-row {
  display: grid;
  grid-template-columns: minmax(170px, .36fr) minmax(0, 1fr);
  gap: 10px;
  align-items: center;
  padding: 9px;
  border: 1px solid #21262d;
  border-radius: 6px;
  background: rgba(9, 13, 18, .7);
}
.collector-usage-row strong {
  display: block;
  color: #f0f6fc;
  font-size: .72rem;
}
.collector-usage-row span {
  display: block;
  margin-top: 3px;
  color: #8b949e;
  font-size: .63rem;
  line-height: 1.35;
}
.collector-usage-command {
  margin: 0;
}
.collector-usage-detail-row,
.collector-usage-mode {
  display: grid;
  grid-template-columns: minmax(145px, .24fr) minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  padding: 8px 9px;
  border: 1px solid #21262d;
  border-radius: 6px;
  background: rgba(9, 13, 18, .56);
}
.collector-usage-detail-row code {
  color: #d2a8ff;
  font-family: Consolas, monospace;
  font-size: .66rem;
  white-space: nowrap;
}
.collector-usage-detail-row span,
.collector-usage-mode span {
  color: #8b949e;
  font-size: .65rem;
  line-height: 1.4;
}
.collector-usage-mode strong {
  color: #f0f6fc;
  font-size: .68rem;
}
.import-command-line {
  overflow-x: auto;
  border: 1px solid #21262d;
  border-radius: 5px;
  background: #090d12;
  padding: 8px 9px;
}
.import-command-line code {
  color: #79c0ff;
  font-family: Consolas, monospace;
  font-size: .66rem;
  white-space: nowrap;
}
.server-import-modal .import-json-text {
  min-height: 190px;
}
@media (max-width: 620px) {
  .import-platform-tabs {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .import-script-heading {
    align-items: flex-start;
  }
  .collector-usage-heading,
  .collector-usage-row,
  .collector-interval-control,
  .collector-interval-fields,
  .collector-usage-columns,
  .collector-usage-detail-row,
  .collector-usage-mode {
    grid-template-columns: 1fr;
  }
  .collector-usage-heading {
    display: grid;
  }
  .collector-usage-heading em {
    text-align: left;
  }
}

.import-update-plan {
  margin: 0 0 10px;
  padding: 12px;
  border: 1px solid #2f81f7;
  border-radius: 7px;
  background: rgba(47,129,247,.07);
}
.import-update-plan.requires-rebuild {
  border-color: #d29922;
  background: rgba(210,153,34,.08);
}
.import-update-plan-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.import-update-plan-heading span {
  display: block;
  color: #8b949e;
  font-size: .64rem;
  font-weight: 900;
  letter-spacing: .08em;
}
.import-update-plan-heading strong {
  display: block;
  margin-top: 3px;
  color: #f0f6fc;
  font-family: Consolas, monospace;
  font-size: .82rem;
}
.import-update-plan-heading em {
  color: #8b949e;
  font-size: .66rem;
  font-style: normal;
  white-space: nowrap;
}
.import-update-plan > p {
  margin: 8px 0 10px;
  color: #9da7b3;
  font-size: .69rem;
  line-height: 1.4;
}
.import-change-grid {
  grid-template-columns: repeat(3, minmax(0, 1fr));
  margin-bottom: 0;
}
.import-rebuild-reasons,
.import-blocked-reasons,
.import-change-details {
  margin-top: 9px;
  padding: 9px 10px;
  border-radius: 6px;
  font-size: .69rem;
  line-height: 1.45;
}
.import-rebuild-reasons {
  border: 1px solid #9e6a03;
  background: rgba(210,153,34,.08);
  color: #d29922;
}
.import-blocked-reasons {
  border: 1px solid #da3633;
  background: rgba(248,81,73,.08);
  color: #ff7b72;
}
.import-rebuild-reasons strong,
.import-blocked-reasons strong {
  display: block;
  margin-bottom: 4px;
  color: #f0f6fc;
}
.import-change-details {
  border: 1px solid #30363d;
  background: #0d1117;
  color: #9da7b3;
}
.import-change-details summary {
  color: #c9d1d9;
  cursor: pointer;
  font-weight: 800;
}
.import-change-details div { margin-top: 6px; }

@media (max-width: 900px) {
  .import-change-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .import-update-plan-heading { flex-direction: column; }
}

.rack-location-form-heading {
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  padding:12px 14px;
  border:1px solid #30363d;
  border-left:4px solid #2ea043;
  border-radius:8px;
  background:#0d1117;
}
.rack-location-form-heading strong { color:#7ee787; font-size:12px; letter-spacing:.09em; }
.rack-location-form-heading span { color:#8b949e; font-size:11px; text-align:right; }
.rack-locator-strip {
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
  margin:0 0 18px;
  padding:12px;
  border:1px solid #30363d;
  border-radius:10px;
  background:#0d1117;
}
.rack-locator-strip > div { min-width:0; padding:9px 10px; border:1px solid #21262d; border-radius:7px; background:#111820; }
.rack-locator-strip span { display:block; color:#8b949e; font-size:9px; font-weight:900; letter-spacing:.07em; text-transform:uppercase; }
.rack-locator-strip strong { display:block; margin-top:3px; color:#f0f6fc; font-size:12px; word-break:break-word; }
.rack-access-notes { border-left:4px solid #d29922; }
.rack-mounted-badges { flex-wrap:wrap; justify-content:flex-end; }
.rack-mounted-badges em { white-space:nowrap; }
.rack-placement-preview { grid-template-columns:auto 1fr auto 1fr auto 1fr; }
@media (max-width:1100px) {
  .rack-locator-strip { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .rack-placement-preview { grid-template-columns:1fr 1fr; }
}
@media (max-width:640px) {
  .rack-location-form-heading { align-items:flex-start; flex-direction:column; }
  .rack-location-form-heading span { text-align:left; }
  .rack-locator-strip { grid-template-columns:1fr; }
}

.import-drive-assignment-panel {
  margin: 10px 0;
  border: 1px solid #1f6feb;
  border-left: 4px solid #58a6ff;
  border-radius: 7px;
  background: rgba(31,111,235,.08);
  padding: 12px;
}
.import-drive-assignment-heading {
  display: flex;
  justify-content: space-between;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 5px;
}
.import-drive-assignment-heading span,
.import-assignment-row > div > span,
.import-assignment-row label > span {
  display: block;
  color: #8b949e;
  font-size: .63rem;
  font-weight: 900;
  letter-spacing: .07em;
  text-transform: uppercase;
}
.import-drive-assignment-heading strong {
  display: block;
  margin-top: 2px;
  color: #f0f6fc;
  font-size: .83rem;
}
.import-drive-assignment-heading em {
  flex: 0 0 auto;
  border: 1px solid #58a6ff;
  border-radius: 999px;
  color: #79c0ff;
  padding: 3px 7px;
  font-size: .65rem;
  font-style: normal;
  font-weight: 900;
}
.import-drive-assignment-panel > p {
  margin: 0 0 10px;
  color: #8b949e;
  font-size: .69rem;
  line-height: 1.4;
}
.import-assignment-row {
  display: grid;
  grid-template-columns: minmax(180px,.8fr) minmax(250px,1.2fr);
  gap: 10px;
  align-items: end;
  padding: 9px 0;
  border-top: 1px solid rgba(88,166,255,.22);
}
.import-assignment-row:first-of-type { border-top: 0; }
.import-assignment-row > div strong {
  display: block;
  margin-top: 3px;
  color: #f0f6fc;
  font-family: Consolas, monospace;
  font-size: .75rem;
  overflow-wrap: anywhere;
}
.import-assignment-row > div small {
  display: block;
  margin-top: 2px;
  color: #8b949e;
  font-size: .65rem;
}
.import-assignment-row label { display: grid; gap: 4px; }
.import-assignment-row select { width: 100%; min-width: 0; }
@media (max-width: 900px) {
  .import-assignment-row { grid-template-columns: 1fr; align-items: stretch; }
}

.bay-layouts-page-layout{height:100%;min-height:0;padding:18px;overflow:hidden}
.bay-layouts-page{height:100%;min-height:0;display:grid;grid-template-columns:270px minmax(0,1fr);gap:14px}
.bay-layouts-sidebar,.bay-layout-editor-card{min-height:0;border:1px solid var(--line-color,#293746);background:var(--panel-bg,#0d141c);border-radius:8px;overflow:hidden}
.bay-layouts-sidebar{display:flex;flex-direction:column;padding:12px;gap:10px}
.bay-layouts-sidebar-head{display:flex;align-items:center;justify-content:space-between;padding:4px 2px 9px;border-bottom:1px solid var(--line-color,#293746)}
.bay-layouts-sidebar-head span{font:700 11px/1.2 var(--mono,Consolas,monospace);letter-spacing:.08em;color:var(--accent-blue,#58a6ff)}
.bay-layouts-sidebar-head strong{min-width:24px;height:24px;display:grid;place-items:center;border-radius:999px;background:#10271b;color:#35d06f;font-size:11px}
.bay-layout-new-btn{width:100%}
.bay-layout-search{display:grid;gap:5px}
.bay-layout-search>span{font-size:9px;text-transform:uppercase;letter-spacing:.08em;color:var(--muted,#8fa2b8);font-weight:800}
.bay-layout-list{min-height:0;overflow:auto;display:grid;align-content:start;gap:7px;padding-right:3px;scrollbar-width:none}
.bay-layout-list::-webkit-scrollbar{display:none}
.layout-list-item{width:100%;text-align:left;border:1px solid #2a3949;border-left:4px solid #40546a;background:#111a24;color:#dbe7f4;border-radius:7px;padding:9px 10px;display:grid;gap:3px;cursor:pointer}
.layout-list-item:hover{border-color:#4d89bd;background:#132131}
.layout-list-item.active{border-color:#14ae4e;border-left-color:#14ae4e;background:#10271b;box-shadow:inset 0 0 0 1px rgba(20,174,78,.2)}
.layout-list-item span{font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:#58a6ff;font-weight:900}
.layout-list-item strong{font-size:12px;color:#f3f8ff}
.layout-list-item small{font-size:9px;color:#91a4b9}
.layout-list-empty{padding:18px 10px;text-align:center;color:#8193a6;font-size:10px;border:1px dashed #344354;border-radius:7px}
.bay-layout-editor-card{display:flex;flex-direction:column;padding:0}
.bay-layout-page-header{flex:0 0 auto;display:flex;align-items:center;justify-content:space-between;gap:16px;padding:14px 16px;border-bottom:1px solid #293746;background:#0e1721}
.bay-layout-page-header>div:first-child{min-width:0}
.bay-layout-page-header span{display:block;font:800 9px/1.2 var(--mono,Consolas,monospace);letter-spacing:.09em;color:#58a6ff}
.bay-layout-page-header h1{margin:3px 0 2px;font-size:20px;color:#fff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.bay-layout-page-header p{margin:0;color:#94a7bb;font-size:10px}
.bay-layout-header-actions{display:flex;gap:8px;flex:0 0 auto}
.bay-layout-editor-scroll{min-height:0;overflow:auto;padding:14px 16px 24px;scrollbar-width:none}
.bay-layout-editor-scroll::-webkit-scrollbar{display:none}
.layout-page-message{margin-bottom:10px;border-radius:7px;padding:9px 11px;font-size:10px;border:1px solid}
.layout-page-message.good{background:#0d2818;color:#73e39b;border-color:#1e7e43}
.layout-page-message.bad{background:#321316;color:#ff9696;border-color:#8d3039}
.bay-layout-form-section{border:1px solid #293746;background:#0d151e;border-radius:8px;padding:12px;margin-bottom:12px}
.bay-layout-section-head{display:flex;gap:10px;align-items:flex-start;margin-bottom:11px}
.bay-layout-section-head>span{width:28px;height:28px;display:grid;place-items:center;border-radius:6px;background:#12314c;color:#70b9f2;font:900 10px var(--mono,Consolas,monospace)}
.bay-layout-section-head strong{display:block;color:#eef6ff;font-size:13px}
.bay-layout-section-head small{display:block;color:#8396aa;font-size:9px;margin-top:2px}
.bay-layout-form-grid{display:grid;grid-template-columns:2fr 1fr 1.2fr;gap:10px}
.bay-layout-form-grid label,.bay-layout-shape-grid label,.bay-layout-order-field{display:grid;gap:5px}
.bay-layout-form-grid label>span,.bay-layout-shape-grid label>span,.bay-layout-order-field>span{font-size:8px;text-transform:uppercase;letter-spacing:.08em;color:#91a4b8;font-weight:900}
.bay-layout-form-grid .wide{min-width:0}
.bay-layout-shape-grid{display:grid;grid-template-columns:180px 220px 160px;gap:10px;align-items:end}
.bay-layout-total{min-height:54px;border:1px solid #314255;border-radius:6px;background:#111c28;padding:8px 10px;display:flex;flex-direction:column;justify-content:center}
.bay-layout-total span{font-size:8px;text-transform:uppercase;color:#8ea0b4;font-weight:900;letter-spacing:.07em}
.bay-layout-total strong{font-size:20px;color:#35d06f;margin-top:2px}
.bay-layout-preset-row{display:flex;flex-wrap:wrap;gap:7px;margin-top:10px}
.layout-preset-btn{border:1px solid #31516d;background:#101c29;color:#9ec8eb;border-radius:5px;padding:7px 9px;font:800 8px var(--mono,Consolas,monospace);cursor:pointer}
.layout-preset-btn:hover{border-color:#58a6ff;color:#d9efff;background:#122943}
.bay-layout-order-field textarea{min-height:110px;resize:vertical;font-family:var(--mono,Consolas,monospace);line-height:1.6;white-space:pre}
.bay-layout-order-example{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:8px;padding:7px 9px;border-radius:6px;background:#101a24;border:1px solid #26384a;color:#90a3b8;font-size:9px}
.bay-layout-order-example code{color:#79c0ff;font-family:var(--mono,Consolas,monospace);word-break:break-all}
.layout-validation{margin-top:9px;border-radius:6px;padding:8px 10px;display:flex;justify-content:space-between;gap:12px;align-items:center;border:1px solid}
.layout-validation strong{font-size:9px;letter-spacing:.07em}
.layout-validation span{font-size:9px;text-align:right}
.layout-validation.good{background:#0d2818;border-color:#227a43;color:#76e29d}
.layout-validation.bad{background:#32161a;border-color:#8b3039;color:#ff9a9a}
.bay-layout-preview-wrap{overflow:auto;padding-bottom:4px;scrollbar-width:thin}
.layout-preview-grid{display:grid;gap:7px;min-width:max-content}
.layout-preview-bay{min-width:76px;min-height:62px;border:1px solid #14ae4e;border-left:5px solid #14ae4e;border-radius:6px;background:#111d27;padding:7px;display:flex;flex-direction:column;justify-content:space-between}
.layout-preview-bay span{font-size:6px;color:#7f93a8;letter-spacing:.05em;font-weight:800}
.layout-preview-bay strong{font:900 10px var(--mono,Consolas,monospace);color:#e7f5ec}
.layout-preview-bay.invalid{border-color:#9d3942;background:#2a1519}
.layout-preview-bay.invalid strong{color:#ff9ca4}
.ark-global-statusbar.is-layout-page .ark-validation-compact{border-right-color:#2f6f49}
.ark-layout-status-actions{margin-left:auto}
@media (max-width:1000px){
  .bay-layouts-page-layout{padding:10px}
  .bay-layouts-page{grid-template-columns:220px minmax(0,1fr)}
  .bay-layout-form-grid{grid-template-columns:1fr 1fr}
  .bay-layout-form-grid .wide{grid-column:1/-1}
  .bay-layout-shape-grid{grid-template-columns:1fr 1fr 1fr}
}
@media (max-width:760px){
  .bay-layouts-page-layout{overflow:auto;height:auto}
  .bay-layouts-page{display:block;height:auto}
  .bay-layouts-sidebar{margin-bottom:10px;max-height:300px}
  .bay-layout-editor-card{min-height:680px}
  .bay-layout-page-header{align-items:flex-start;flex-direction:column}
  .bay-layout-header-actions{width:100%}
  .bay-layout-header-actions>*{flex:1}
  .bay-layout-form-grid,.bay-layout-shape-grid{grid-template-columns:1fr}
  .layout-validation{align-items:flex-start;flex-direction:column}
  .layout-validation span{text-align:left}
}

.layout-preset-btn.reverse{border-color:#7d5bbe;color:#d4bfff;background:#181329}
.layout-preset-btn.reverse:hover{border-color:#a371f7;background:#24183c;color:#f1e8ff}
.layout-capability-toolbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin-bottom:10px}
.layout-capability-toolbar span{font-size:9px;color:#8fa2b8}
.layout-capability-toolbar code{font-family:var(--mono,Consolas,monospace);color:#79c0ff}
.layout-capability-list{display:grid;gap:8px}
.layout-capability-row,.layout-override-row{display:grid;grid-template-columns:minmax(150px,1.1fr) minmax(170px,1fr) minmax(210px,1.3fr) auto;gap:8px;align-items:end;border:1px solid #293746;border-left:4px solid #58a6ff;border-radius:7px;background:#101923;padding:9px}
.layout-override-row{grid-template-columns:130px minmax(220px,1.3fr) minmax(180px,1fr) auto;border-left-color:#a371f7}
.layout-capability-row label,.layout-override-row label{display:grid;gap:5px;min-width:0}
.layout-capability-row label>span,.layout-override-row label>span{font-size:8px;text-transform:uppercase;letter-spacing:.07em;color:#91a4b8;font-weight:900}
.layout-row-remove{height:36px;border:1px solid #7e3039;background:#2d1519;color:#ff9ca4;border-radius:5px;padding:0 10px;font:800 8px var(--mono,Consolas,monospace);cursor:pointer}
.layout-row-remove:hover{border-color:#d94b59;background:#3a171d;color:#fff}
.layout-preview-bay{border-color:var(--layout-capability,#14ae4e);border-left-color:var(--layout-capability,#14ae4e)}
.layout-preview-bay small{display:block;margin-top:5px;font-size:7px;color:var(--layout-capability,#8fa2b8);font-weight:900;line-height:1.25}
.layout-preview-bay em{display:block;margin-top:2px;font-size:6px;color:#8fa2b8;font-style:normal;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media (max-width:1000px){
  .layout-capability-row,.layout-override-row{grid-template-columns:1fr 1fr}
  .layout-row-remove{width:100%}
}
@media (max-width:760px){
  .layout-capability-row,.layout-override-row{grid-template-columns:1fr}
}

.rack-detail-tabs{display:flex;gap:8px;padding:0 18px 14px;border-bottom:1px solid #263746;background:#0c141d}
.rack-detail-tab{border:1px solid #304457;background:#111b26;color:#91a5b9;border-radius:6px;padding:9px 13px;font:900 9px var(--mono,Consolas,monospace);letter-spacing:.07em;cursor:pointer}
.rack-detail-tab:hover{border-color:#58a6ff;color:#d9efff}
.rack-detail-tab.active{border-color:#14ae4e;background:#10271b;color:#7ee6a1;box-shadow:inset 0 0 0 1px rgba(20,174,78,.18)}
.rack-network-page{position:relative;padding:16px 18px 24px;display:grid;gap:14px;min-height:0;overflow:auto;scrollbar-width:none}
.rack-network-page::-webkit-scrollbar{display:none}
.rack-network-loading{min-height:300px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:14px;color:#8fa2b6;border:1px dashed #324456;border-radius:8px;margin:18px;background:#0e1720}
.rack-network-loading strong{color:#dce8f4}
.network-toolbar{display:flex;align-items:center;justify-content:space-between;gap:16px;border:1px solid #2a3b4d;background:#0e1721;border-radius:8px;padding:12px 14px}
.network-toolbar>div:first-child{display:grid;gap:3px}.network-toolbar>div:last-child{display:flex;gap:8px;flex-wrap:wrap}
.network-toolbar strong{font:900 11px var(--mono,Consolas,monospace);letter-spacing:.07em;color:#dcecff}
.network-toolbar span{font-size:9px;color:#8da0b4}
.network-draw-status{border:1px solid #1f7d44;background:#0d2b19;color:#88e6a9;border-radius:7px;padding:9px 12px;font-size:10px}
.network-summary-grid{display:grid;grid-template-columns:repeat(5,minmax(100px,1fr));gap:9px}
.network-summary-grid>div{border:1px solid #2b3d4f;border-left:4px solid #58a6ff;background:#101923;border-radius:7px;padding:9px 11px;display:flex;align-items:center;justify-content:space-between;gap:8px}
.network-summary-grid span{font-size:8px;text-transform:uppercase;letter-spacing:.07em;color:#8fa2b6;font-weight:900}
.network-summary-grid strong{font:900 17px var(--mono,Consolas,monospace);color:#f0f7ff}
.network-rack-canvas{position:relative;border:1px solid #2a3b4d;background:#0a121a;border-radius:9px;padding:14px;min-height:220px;overflow:auto}
.network-device-stack{position:relative;z-index:2;display:grid;gap:14px;min-width:max-content}
.network-cable-layer{position:absolute;inset:0;z-index:6;overflow:visible;pointer-events:none}
.network-cable-path{fill:none;stroke-width:3;stroke-linecap:round;stroke-linejoin:round;opacity:.88;pointer-events:stroke;cursor:pointer;filter:drop-shadow(0 0 2px rgba(0,0,0,.9)) drop-shadow(0 0 3px var(--network-cable-color,currentColor));transition:stroke-width .15s ease,opacity .15s ease,filter .15s ease}
.network-cable-path:hover{stroke-width:5;opacity:1;filter:drop-shadow(0 0 5px currentColor)}
.network-cable-crossrack{stroke-width:3.5;opacity:1;filter:drop-shadow(0 0 2px rgba(0,0,0,.95)) drop-shadow(0 0 4px var(--network-cable-color,currentColor))}
.network-device-card{position:relative;z-index:2;border:1px solid #304456;border-left:5px solid #14ae4e;background:#101a24;border-radius:8px;padding:11px 12px;min-width:760px}
.network-device-card.unconfigured{border-left-color:#d29922;border-style:dashed;background:#151710}
.network-device-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;margin-bottom:10px}
.network-device-card>header>div:first-child{min-width:0}
.network-device-card header span{display:block;font:900 7px var(--mono,Consolas,monospace);letter-spacing:.08em;color:#58a6ff}
.network-device-card header h3{margin:3px 0 2px;color:#f2f8ff;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.network-device-card header p{margin:0;color:#8ea1b5;font-size:9px}
.network-device-actions{display:flex;gap:6px;flex:0 0 auto}
.network-device-actions button,.network-cable-row button{border:1px solid #35506a;background:#101d29;color:#9ec8eb;border-radius:5px;padding:6px 8px;font:900 7px var(--mono,Consolas,monospace);cursor:pointer}
.network-device-actions button:hover,.network-cable-row button:hover{border-color:#58a6ff;color:#e1f2ff}
.network-device-actions .network-device-delete,.network-cable-row .network-cable-delete{border-color:#71343b;color:#ff9ca4;background:#2c1519}
.network-unconfigured-copy{padding:15px;border:1px dashed #554b25;border-radius:6px;color:#c8b66e;font-size:9px;text-align:center}
.network-switch-face{display:grid;gap:8px;border:1px solid #26384a;background:#091119;border-radius:7px;padding:9px}
.network-port-row{display:grid;grid-template-columns:52px minmax(0,1fr);gap:8px;align-items:center}
.network-port-row>span{font:900 7px var(--mono,Consolas,monospace);color:#71869b;letter-spacing:.07em;text-align:right}
.network-port-row>div,.network-patch-face{display:flex;gap:5px;flex-wrap:wrap;align-items:center}
.network-patch-face{border:1px solid #26384a;background:#091119;border-radius:7px;padding:9px}
.network-port{--port-accent:#58a6ff;width:62px;min-height:48px;border:1px solid #344b61;border-bottom:3px solid var(--port-accent);border-radius:5px;background:#111d28;color:#dceaf7;padding:4px 5px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;cursor:pointer;position:relative;z-index:10}
.network-port:hover{border-color:#79c0ff;box-shadow:0 0 0 2px rgba(88,166,255,.18)}
.network-port strong{font:900 8px var(--mono,Consolas,monospace);max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.network-port small{font-size:6px;color:#8fa3b7;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-transform:uppercase}
.network-port.up{--port-accent:#14ae4e}.network-port.down{--port-accent:#d94b59}.network-port.unknown{--port-accent:#8b949e}
.network-port.patch-port{--port-accent:#d29922;background:#17180f}
.network-port.draw-selected{border-color:#ffd500;box-shadow:0 0 0 3px rgba(255,213,0,.28),0 0 12px rgba(255,213,0,.18)}
.network-empty-state{min-width:720px;border:1px dashed #344759;border-radius:8px;background:#0e1720;padding:32px;text-align:center;display:grid;gap:7px;color:#879bad}
.network-empty-state strong{color:#dbe8f4}.network-empty-state span{font-size:9px}
.network-cables-section{border:1px solid #2a3b4d;background:#0e1720;border-radius:8px;padding:12px}
.network-cable-list{display:grid;gap:7px}
.network-cable-empty{padding:18px;text-align:center;color:#8094a8;border:1px dashed #324558;border-radius:6px;font-size:9px}
.network-cable-row{display:grid;grid-template-columns:5px minmax(0,1fr) auto;gap:10px;align-items:center;border:1px solid #293b4d;background:#101923;border-radius:7px;padding:8px 9px}
.network-cable-row>i{width:5px;height:100%;min-height:42px;border-radius:999px;background:var(--cable-color,#14ae4e)}
.network-cable-row>div:nth-child(2){display:grid;gap:2px;min-width:0}
.network-cable-row strong{font-size:10px;color:#e8f2fc;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.network-cable-row span{font-size:8px;color:#9db0c3;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.network-cable-row span b{color:#58a6ff}.network-cable-row small{font-size:7px;color:#71869b}
.network-cable-row>div:last-child{display:flex;gap:6px}
.network-modal-backdrop{position:fixed;inset:0;z-index:300;background:rgba(2,7,13,.82);display:grid;place-items:center;padding:20px;overflow:auto}
.network-modal{width:min(900px,96vw);max-height:92vh;overflow:auto;background:#0d161f;border:1px solid #39516a;border-radius:9px;box-shadow:0 24px 80px rgba(0,0,0,.65);scrollbar-width:none}
.network-modal::-webkit-scrollbar{display:none}.network-modal.compact{width:min(720px,96vw)}
.network-modal>header{display:flex;align-items:flex-start;justify-content:space-between;gap:12px;padding:14px 16px;border-bottom:1px solid #2b3e51;background:#101b26}
.network-modal>header span{display:block;font:900 8px var(--mono,Consolas,monospace);letter-spacing:.08em;color:#58a6ff}
.network-modal>header h2{margin:3px 0 0;color:#fff;font-size:18px}
.network-modal-close{width:34px;height:34px;border:1px solid #3b4f63;background:#111c27;color:#b7c6d5;border-radius:6px;font-size:22px;line-height:1;cursor:pointer}
.network-modal-close:hover{border-color:#d94b59;color:#ff9ca4}
.network-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:11px;padding:15px 16px 16px}
.network-form-grid label{display:grid;gap:5px}.network-form-grid label>span{font-size:8px;text-transform:uppercase;letter-spacing:.07em;color:#92a5b8;font-weight:900}
.network-form-grid .wide{grid-column:1/-1}.network-form-grid footer{display:flex;justify-content:flex-end;gap:8px;padding-top:5px}
.network-color-input{width:100%;height:38px;border:1px solid #34485c;border-radius:5px;background:#101a24;padding:4px}
.network-cable-endpoints{display:grid;grid-template-columns:1fr auto 1fr;gap:12px;align-items:center;border:1px solid #2e4357;background:#101a24;border-radius:7px;padding:10px}
.network-cable-endpoints>div{display:grid;gap:2px}.network-cable-endpoints span{font-size:7px;color:#58a6ff;font-weight:900}.network-cable-endpoints strong{font-size:10px;color:#e8f3fd}.network-cable-endpoints small{font-size:8px;color:#8296aa}.network-cable-endpoints>b{color:#14ae4e}
@media (max-width:1000px){
  .network-summary-grid{grid-template-columns:repeat(3,minmax(100px,1fr))}
  .network-device-card{min-width:680px}
}
@media (max-width:760px){
  .rack-detail-tabs{overflow:auto;padding-left:10px;padding-right:10px}
  .rack-network-page{padding:10px}
  .network-toolbar{align-items:flex-start;flex-direction:column}
  .network-toolbar>div:last-child{width:100%}.network-toolbar>div:last-child>*{flex:1}
  .network-summary-grid{grid-template-columns:1fr 1fr}
  .network-device-card{min-width:620px}
  .network-form-grid{grid-template-columns:1fr}.network-form-grid .wide{grid-column:auto}
  .network-cable-endpoints{grid-template-columns:1fr}.network-cable-endpoints>b{transform:rotate(90deg);justify-self:center}
}

.network-port.patch-port{
  --port-accent:var(--keystone-color,#f5f7fa);
  background:color-mix(in srgb,var(--keystone-color,#f5f7fa) 88%,#0b1118 12%);
  color:var(--keystone-text,#111827);
  border-color:color-mix(in srgb,var(--keystone-color,#f5f7fa) 72%,#253649 28%);
  border-bottom-color:var(--keystone-color,#f5f7fa);
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--keystone-color,#f5f7fa) 58%,transparent);
}
.network-port.patch-port small{color:inherit;opacity:.78}
.network-port.patch-port:hover{border-color:#79c0ff;box-shadow:0 0 0 2px rgba(88,166,255,.22),inset 0 0 0 1px rgba(255,255,255,.28)}
.network-color-field{border:1px solid #2d4256;border-radius:7px;background:#101a24;padding:10px 11px;margin:0;min-width:0}
.network-color-field legend{padding:0 5px;font-size:8px;text-transform:uppercase;letter-spacing:.07em;color:#92a5b8;font-weight:900}
.network-color-palette{display:grid;grid-template-columns:repeat(6,minmax(86px,1fr));gap:7px}
.network-color-choice{display:grid!important;grid-template-columns:26px minmax(0,1fr);align-items:center;gap:7px!important;border:1px solid #30465a;border-radius:6px;background:#0e1822;padding:6px 7px;cursor:pointer;min-width:0}
.network-color-choice:hover{border-color:#58a6ff;background:#11202d}
.network-color-choice input{position:absolute;opacity:0;pointer-events:none}
.network-color-choice i{width:24px;height:24px;border-radius:5px;background:var(--choice-color);border:1px solid color-mix(in srgb,var(--choice-color) 65%,#71869b 35%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.24)}
.network-color-choice span{font:800 8px var(--mono,Consolas,monospace);color:#b9cad9;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.network-color-choice:has(input:checked){border-color:#ffd500;background:#24220f;box-shadow:0 0 0 2px rgba(255,213,0,.13)}
.network-color-choice:has(input:checked) span{color:#fff1a6}
.network-color-choice:has(input:checked) i{box-shadow:0 0 0 2px #ffd500,inset 0 0 0 1px rgba(255,255,255,.28)}
@media (max-width:900px){.network-color-palette{grid-template-columns:repeat(3,minmax(92px,1fr))}}
@media (max-width:520px){.network-color-palette{grid-template-columns:repeat(2,minmax(92px,1fr))}}

.network-rack-canvas{
  padding:16px 72px 18px;
  overflow:auto;
}
.network-device-stack{
  gap:52px;
  min-width:max-content;
}
.network-cable-layer{
  pointer-events:none;
}
.network-cable-lane-guide{
  stroke:#23384a;
  stroke-width:1;
  stroke-dasharray:5 7;
  opacity:.72;
  pointer-events:none;
}
.network-cable-path.network-cable-active{
  stroke-width:5;
  opacity:1;
  filter:drop-shadow(0 0 6px currentColor);
}
.network-cable-path.network-cable-dim{
  opacity:.12;
}
.network-device-card{
  min-width:900px;
}
.network-switch-face{
  display:flex;
  align-items:stretch;
  gap:12px;
}
.network-switch-main-ports{
  display:grid;
  gap:8px;
  min-width:0;
}
.network-switch-main-ports .network-port-row>div{
  flex-wrap:nowrap;
}
.network-switch-face.straight .network-switch-main-ports{
  align-self:center;
}
.network-uplink-divider{
  display:grid;
  place-items:center;
  width:18px;
  color:#5a7187;
  font:900 26px/1 var(--mono,Consolas,monospace);
  border-left:1px solid #2d4357;
  border-right:1px solid #182938;
  flex:0 0 auto;
}
.network-switch-uplinks{
  display:grid;
  grid-template-columns:52px auto;
  gap:8px;
  align-items:center;
  flex:0 0 auto;
}
.network-switch-uplinks>span{
  font:900 7px var(--mono,Consolas,monospace);
  color:#71869b;
  letter-spacing:.07em;
  text-align:right;
}
.network-switch-uplinks>div{
  display:flex;
  gap:5px;
  flex-wrap:nowrap;
}
.network-port.switch-port{
  border-bottom-color:var(--port-vlan-color,var(--port-accent));
}
.network-patch-card{
  padding:9px 10px;
}
.network-patch-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr) 250px;
  gap:16px;
  align-items:stretch;
}
.network-patch-face{
  flex-wrap:nowrap;
  align-self:center;
  min-width:max-content;
}
.network-patch-side-label{
  border-left:1px solid #2b4052;
  padding:8px 8px 8px 15px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
  position:relative;
  z-index:12;
  background:#101a24;
}
.network-patch-side-label>span{
  display:block;
  font:900 7px var(--mono,Consolas,monospace);
  letter-spacing:.08em;
  color:#58a6ff;
}
.network-patch-side-label h3{
  margin:4px 0 3px;
  color:#f2f8ff;
  font-size:14px;
}
.network-patch-side-label p{
  margin:0 0 8px;
  color:#8ea1b5;
  font-size:8px;
  line-height:1.45;
}
.network-patch-side-label .network-device-actions{
  margin-top:auto;
  justify-content:flex-end;
}
.network-vlan-multi{
  min-height:108px;
  padding:6px;
}
.network-form-grid label>small{
  color:#7f94a8;
  font-size:7px;
  line-height:1.4;
}
.network-switches-page{
  height:calc(var(--ark-layout-vh) - 96px);
  min-height:620px;
}
.network-switches-workspace{
  height:100%;
  display:flex;
  flex-direction:column;
  min-height:0;
  overflow:hidden;
  padding:0;
}
.network-global-fixed{
  flex:0 0 auto;
  padding:14px 14px 0;
  background:#0d161f;
  border-bottom:1px solid #2a3b4d;
}
.network-global-toolbar>div:last-child{
  align-items:flex-end;
}
.network-customer-filter{
  display:grid;
  gap:4px;
  min-width:240px;
}
.network-customer-filter>span{
  font:900 7px var(--mono,Consolas,monospace);
  color:#8ea2b6;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.network-global-summary{
  margin-bottom:12px;
}
.network-vlan-section{
  border:1px solid #293d50;
  border-radius:8px;
  background:#0e1822;
  padding:10px;
  margin-bottom:12px;
}
.network-vlan-section .rack-section-title{
  display:grid;
  grid-template-columns:auto 1fr auto;
  gap:10px;
  align-items:center;
  margin-bottom:9px;
}
.network-vlan-grid{
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(245px,1fr));
  gap:8px;
}
.network-vlan-card{
  display:grid;
  grid-template-columns:6px minmax(0,1fr) auto;
  gap:9px;
  align-items:center;
  border:1px solid #2b4054;
  border-radius:7px;
  background:#101b25;
  padding:8px;
}
.network-vlan-card>i{
  align-self:stretch;
  min-height:44px;
  border-radius:999px;
  background:var(--vlan-color,#58a6ff);
  box-shadow:0 0 8px color-mix(in srgb,var(--vlan-color,#58a6ff) 35%,transparent);
}
.network-vlan-card>div:nth-child(2){
  display:grid;
  gap:2px;
  min-width:0;
}
.network-vlan-card strong{
  color:#edf6ff;
  font:900 10px var(--mono,Consolas,monospace);
}
.network-vlan-card span{
  color:#b9cce0;
  font-size:9px;
}
.network-vlan-card small{
  color:#74899d;
  font-size:7px;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}
.network-vlan-card>div:last-child{
  display:flex;
  gap:5px;
}
.network-vlan-card button{
  border:1px solid #35506a;
  background:#101d29;
  color:#9ec8eb;
  border-radius:5px;
  padding:6px 8px;
  font:900 7px var(--mono,Consolas,monospace);
  cursor:pointer;
}
.network-vlan-card .network-vlan-delete{
  border-color:#71343b;
  color:#ff9ca4;
  background:#2c1519;
}
.network-vlan-empty{
  border:1px dashed #32485b;
  border-radius:7px;
  padding:14px;
  color:#8398ab;
  font-size:9px;
  text-align:center;
}
.network-global-switch-scroll{
  flex:1 1 auto;
  min-height:0;
  overflow:auto;
  padding:12px 14px 18px;
}
.network-global-switch-scroll>.rack-section-title{
  position:sticky;
  top:-12px;
  z-index:20;
  background:#0d161f;
  padding:8px 0;
}
.network-global-switch-list{
  display:grid;
  gap:12px;
  min-width:max-content;
}
.network-global-switch-list .network-device-card{
  min-width:1040px;
}
@media (max-width:1000px){
  .network-device-card{min-width:760px}
  .network-patch-layout{grid-template-columns:minmax(0,1fr) 210px}
  .network-switches-page{height:auto;min-height:calc(var(--ark-layout-vh) - 96px)}
  .network-switches-workspace{min-height:700px}
}

.network-switch-master-detail{
  flex:1 1 auto;
  min-height:0;
  display:grid;
  grid-template-columns:250px minmax(760px,1fr);
  overflow:hidden;
}
.network-switch-index{
  min-height:0;
  overflow:auto;
  border-right:1px solid #2a3b4d;
  background:#0b141d;
  padding:12px;
  scrollbar-width:none;
}
.network-switch-index::-webkit-scrollbar{display:none}
.network-switch-index>.rack-section-title{position:sticky;top:-12px;z-index:4;background:#0b141d;padding:8px 0}
.network-switch-index>div:last-child{display:grid;gap:7px}
.network-switch-index-card{
  width:100%;
  display:grid;
  gap:3px;
  text-align:left;
  border:1px solid #2d4255;
  border-left:4px solid #34495e;
  border-radius:7px;
  background:#101a24;
  color:#dce8f4;
  padding:9px 10px;
  cursor:pointer;
}
.network-switch-index-card:hover{border-color:#58a6ff;background:#122131}
.network-switch-index-card.active{border-color:#14ae4e;border-left-color:#14ae4e;background:#10271b;box-shadow:inset 0 0 0 1px rgba(20,174,78,.18)}
.network-switch-index-card.unconfigured{border-left-color:#d29922;background:#18170f}
.network-switch-index-card strong{font:900 10px var(--mono,Consolas,monospace);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.network-switch-index-card span{font-size:8px;color:#92a5b8;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.network-switch-index-card small{font-size:7px;color:#6f8498}
.network-switch-index-empty{border:1px dashed #34495b;border-radius:7px;padding:18px;color:#7f94a8;text-align:center;font-size:8px}
.network-switch-detail-scroll{min-width:0;min-height:0;overflow:auto;padding:12px 14px 20px;scrollbar-width:none}
.network-switch-detail-scroll::-webkit-scrollbar{display:none}
.network-switch-detail-panel{display:grid;gap:12px;min-width:980px}
.network-switch-detail-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  border:1px solid #2b4053;
  border-left:5px solid #14ae4e;
  border-radius:8px;
  background:#101a24;
  padding:12px 14px;
}
.network-switch-detail-header>div:first-child{min-width:0}
.network-switch-detail-header span{display:block;font:900 7px var(--mono,Consolas,monospace);letter-spacing:.08em;color:#58a6ff}
.network-switch-detail-header h2{margin:4px 0 3px;color:#f2f8ff;font-size:18px}
.network-switch-detail-header p{margin:0;color:#8ea1b5;font-size:9px}
.network-switch-detail-section{border:1px solid #2a3d50;border-radius:8px;background:#0e1822;padding:11px 12px;display:grid;gap:10px;overflow:hidden}
.network-switch-detail-section>.rack-section-title{margin:0}
.network-switch-detail-empty{min-height:420px;border:1px dashed #34495b;border-radius:8px;display:grid;place-content:center;gap:6px;text-align:center;color:#8196aa}
.network-switch-detail-empty strong{color:#dce8f4;font-size:13px}.network-switch-detail-empty span{font-size:9px}
.network-detail-port-layout{
  display:flex;
  align-items:stretch;
  gap:10px;
  min-width:max-content;
  overflow-x:auto;
  padding:18px 0 2px;
  scrollbar-width:none;
}
.network-detail-port-layout::-webkit-scrollbar{display:none}
.network-detail-main-ports{display:grid;gap:5px;min-width:0}
.network-detail-layout-row{display:grid;grid-template-columns:48px auto;gap:7px;align-items:end;min-height:38px}
.network-detail-layout-row>span,.network-detail-uplinks>span{font:900 7px var(--mono,Consolas,monospace);color:#71869b;letter-spacing:.07em;text-align:right;padding-bottom:13px}
.network-detail-layout-row>div,.network-detail-uplinks>div{display:flex;gap:4px;align-items:flex-end;flex-wrap:nowrap}
.network-detail-uplink-divider{display:grid;place-items:center;width:18px;color:#5a7187;font:900 25px/1 var(--mono,Consolas,monospace);border-left:1px solid #2d4357;border-right:1px solid #182938;flex:0 0 auto}
.network-detail-uplinks{display:grid;grid-template-columns:48px auto;gap:7px;align-items:end;flex:0 0 auto}
.network-detail-port-wrap{width:44px;display:grid;gap:3px;align-items:end}
.network-detail-port-wrap>span{display:block;height:13px;color:#73889b;font-size:6px;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;text-align:center}
.network-port.network-detail-port{
  width:44px;
  min-height:36px;
  padding:3px 2px;
  border-bottom-width:3px;
  background:#5b6470;
  color:#091019;
}
.network-port.network-detail-port strong{font-size:8px}.network-port.network-detail-port small{font-size:5px;color:inherit;opacity:.82}
.network-port.network-detail-port.up{background:#59a6f8;border-bottom-color:#14ae4e}
.network-port.network-detail-port.down{background:#5b6470;border-bottom-color:#d94b59}
.network-port.network-detail-port.unknown{background:#4c5560;border-bottom-color:#8b949e}
.network-port.network-detail-port.disabled{background:#10161d;color:#65717d;border-color:#28333e;border-bottom-color:#28333e}
.network-port.network-detail-port.trunk{box-shadow:inset 0 0 0 2px #d29922}
.network-port.network-detail-port:hover{color:#fff}
.network-switch-status-legend,.network-vlan-matrix-legend{display:flex;justify-content:center;gap:11px;flex-wrap:wrap;color:#8ea2b6;font-size:7px}
.network-switch-status-legend span,.network-vlan-matrix-legend span{display:inline-flex;align-items:center;gap:4px}
.network-switch-status-legend i,.network-vlan-matrix-legend i{width:8px;height:8px;border-radius:2px;background:#4c5560;border:1px solid #6b7783}
.network-switch-status-legend i.up{background:#59a6f8;border-color:#79b7f7}.network-switch-status-legend i.down{background:#5b6470;border-color:#d94b59}
.network-switch-status-legend i.disabled{background:#10161d;border-color:#28333e}.network-switch-status-legend i.trunk{background:#d29922;border-color:#ffd166}
.network-detail-port-layout.native{padding-top:2px}
.network-port.network-native-port{width:44px;min-height:32px;background:#111820;color:#dce8f4;border-color:#334658;border-bottom:2px solid var(--native-color,#34495e);padding:2px}
.network-port.network-native-port.assigned{box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--native-color,#58a6ff) 70%,transparent)}
.network-port.network-native-port strong{font-size:9px}
.network-detail-port-layout.native .network-detail-layout-row>span,.network-detail-port-layout.native .network-detail-uplinks>span{padding-bottom:9px}
.network-switch-vlan-configs .network-vlan-grid{grid-template-columns:repeat(auto-fill,minmax(210px,1fr))}
.network-switch-vlan-configs .network-vlan-card{padding:7px}
.network-vlan-matrix-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px}
.network-vlan-matrix-heading>.rack-section-title{margin:0}
.network-vlan-matrix-heading label{display:grid;gap:4px;width:270px;flex:0 0 auto}
.network-vlan-matrix-heading label>span{font:900 7px var(--mono,Consolas,monospace);color:#8296aa;text-transform:uppercase;letter-spacing:.07em}
.network-vlan-matrix{display:grid;gap:8px}
.network-vlan-matrix-row{display:grid;grid-template-columns:190px minmax(0,1fr);gap:10px;align-items:center;border-top:1px solid #223446;padding-top:8px}
.network-vlan-matrix-row[hidden]{display:none}
.network-vlan-matrix-row>header{display:grid;grid-template-columns:5px minmax(0,1fr);gap:8px;align-items:stretch;min-width:0}
.network-vlan-matrix-row>header>i{border-radius:999px;background:var(--vlan-color,#58a6ff);box-shadow:0 0 7px color-mix(in srgb,var(--vlan-color,#58a6ff) 35%,transparent)}
.network-vlan-matrix-row>header>div{display:grid;gap:2px;min-width:0}
.network-vlan-matrix-row>header strong{font-size:9px;color:#dce8f4;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.network-vlan-matrix-row>header span{font:900 8px var(--mono,Consolas,monospace);color:#58a6ff}
.network-vlan-matrix-row>header small{font-size:7px;color:#71869b;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.network-detail-port-layout.matrix{padding-top:0;gap:8px}
.network-detail-port-layout.matrix .network-detail-layout-row{min-height:28px;align-items:center}
.network-detail-port-layout.matrix .network-detail-layout-row>span,.network-detail-port-layout.matrix .network-detail-uplinks>span{padding-bottom:0}
.network-detail-port-layout.matrix .network-detail-layout-row>div,.network-detail-port-layout.matrix .network-detail-uplinks>div{align-items:center}
.network-vlan-matrix-cell{width:36px;height:28px;border:1px solid #344454;border-radius:4px;background:#555e68;color:#071018;font:900 8px var(--mono,Consolas,monospace);cursor:pointer}
.network-vlan-matrix-cell:hover{border-color:#fff;box-shadow:0 0 0 2px rgba(255,255,255,.12)}
.network-vlan-matrix-cell.blocked{background:#555e68;border-color:#69737e;color:#111820}
.network-vlan-matrix-cell.tagged{background:#2fd06f;border-color:#68e79a;color:#07140c}
.network-vlan-matrix-cell.native{background:#58a6ff;border-color:#8bc2ff;color:#07111b}
.network-vlan-matrix-cell:disabled{opacity:.45;cursor:wait}
.network-vlan-matrix-legend i.tagged{background:#2fd06f;border-color:#68e79a}.network-vlan-matrix-legend i.blocked{background:#555e68;border-color:#69737e}.network-vlan-matrix-legend i.native{background:#58a6ff;border-color:#8bc2ff}

.network-rack-side-cutout{
  position:absolute;
  top:12px;
  bottom:12px;
  width:46px;
  z-index:1;
  border:1px solid #22384a;
  border-radius:8px;
  background:linear-gradient(180deg,rgba(18,31,43,.75),rgba(8,17,25,.9));
  box-shadow:inset 0 0 0 1px rgba(88,166,255,.04);
  pointer-events:none;
}
.network-rack-side-cutout.left{left:11px}.network-rack-side-cutout.right{right:11px}
.network-rack-side-cutout span{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%) rotate(-90deg);white-space:nowrap;font:900 6px var(--mono,Consolas,monospace);letter-spacing:.18em;color:#3f5870}
.network-side-lane-guide{stroke:#36536b;stroke-dasharray:3 5;opacity:.9}
.network-between-lane-guide{stroke:#263d50;stroke-dasharray:5 7;opacity:.72}

@media (max-width:1100px){
  .network-switch-master-detail{grid-template-columns:220px minmax(720px,1fr)}
  .network-switch-detail-panel{min-width:900px}
}
@media (max-width:820px){
  .network-switch-master-detail{grid-template-columns:1fr;overflow:auto}
  .network-switch-index{max-height:230px;border-right:0;border-bottom:1px solid #2a3b4d}
  .network-switch-detail-scroll{overflow:visible}
  .network-switch-detail-panel{min-width:820px}
  .network-vlan-matrix-row{grid-template-columns:160px minmax(0,1fr)}
}


.network-switch-card{padding:9px 10px}
.network-switch-layout{display:grid;grid-template-columns:minmax(0,1fr) 250px;gap:16px;align-items:stretch}
.network-switch-side-label{border-left:1px solid #2b4052;padding:8px 8px 8px 15px;display:flex;flex-direction:column;justify-content:center;min-width:0;position:relative;z-index:12;background:#101a24}
.network-switch-side-label>span,.network-patch-side-label>span{display:block;font:900 7px var(--mono,Consolas,monospace);letter-spacing:.08em;color:#58a6ff}
.network-switch-side-label h3,.network-patch-side-label h3{margin:3px 0 2px;color:#f2f8ff;font-size:14px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.network-switch-side-label p,.network-patch-side-label p{margin:0 0 9px;color:#8ea1b5;font-size:9px;line-height:1.35}
.network-switch-face{min-width:max-content;align-self:center}
.network-switch-uplinks{align-self:stretch;align-items:center}
.network-uplink-port-rows{display:grid;gap:8px;align-content:center}
.network-uplink-port-row{display:flex;gap:5px;min-height:48px;align-items:center;flex-wrap:nowrap}
.network-switch-uplinks.straight .network-uplink-port-row.bottom{align-self:end}
.network-switch-uplinks.straight .network-uplink-port-rows{align-content:end}
.network-switch-uplinks.stacked .network-uplink-port-rows{align-content:center}
.network-rack-side-cutout{display:none!important}
.network-side-lane-guide{stroke:#36536b;stroke-width:1;stroke-dasharray:3 6;opacity:.9}
.network-between-lane-guide{stroke:#263d50;stroke-width:1;stroke-dasharray:5 7;opacity:.72}
.network-detail-uplink-rows{display:grid;gap:6px;align-content:center}
.network-detail-uplink-row{display:flex;gap:5px;align-items:flex-end;min-height:28px;flex-wrap:nowrap}
.network-detail-uplinks.straight .network-detail-uplink-rows{align-content:end}
.network-detail-uplinks.straight .network-detail-uplink-row.bottom{align-items:flex-end}
.network-detail-uplinks.stacked .network-detail-uplink-rows{align-content:center}
@media (max-width:1100px){.network-switch-layout{grid-template-columns:minmax(0,1fr) 210px}}
.network-switch-uplinks>.network-uplink-port-rows{display:grid;gap:8px;align-content:center;align-items:initial;flex-wrap:initial}
.network-detail-uplinks>.network-detail-uplink-rows{display:grid;gap:6px;align-content:center;align-items:initial;flex-wrap:initial}
.network-detail-uplink-rows>.network-detail-uplink-row{display:flex;gap:5px;align-items:flex-end;min-height:28px;flex-wrap:nowrap}
.network-detail-port-layout.matrix .network-detail-uplinks>.network-detail-uplink-rows{display:grid;align-items:initial}

.network-switch-main-ports .network-port-row{
  display:block;
  min-height:48px;
}
.network-switch-main-ports .network-port-row>div{
  display:flex;
  gap:5px;
  flex-wrap:nowrap;
  align-items:center;
}
.network-switch-main-ports .network-port-row>span{
  display:none;
}
.network-patch-card{
  padding:11px 12px;
}
.network-detail-layout-row{
  display:block;
  min-height:38px;
}
.network-detail-layout-row>div{
  display:flex;
  gap:4px;
  align-items:flex-end;
  flex-wrap:nowrap;
}
.network-detail-layout-row>span{
  display:none;
}
.network-detail-port-layout.matrix .network-detail-layout-row{
  min-height:28px;
}

.network-rack-canvas{
  padding-top:84px;
}
.network-free-cable-endpoints{
  position:absolute;
  top:14px;
  left:14px;
  right:14px;
  z-index:14;
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  pointer-events:none;
}
.network-port.network-free-cable-port{
  width:104px;
  min-height:52px;
  pointer-events:auto;
  border:1px dashed #587089;
  border-bottom:1px dashed #587089;
  background:#0d1720;
  color:#b9cbe0;
  box-shadow:inset 0 0 0 1px rgba(88,166,255,.04);
}
.network-port.network-free-cable-port:hover{
  border-color:#79c0ff;
  background:#102131;
}
.network-port.network-free-cable-port strong{
  font-size:8px;
  letter-spacing:.06em;
}
.network-port.network-free-cable-port small{
  color:#6f879d;
  font-size:6px;
}
.network-port.network-free-cable-port.draw-selected{
  border-color:#ffd500;
  box-shadow:0 0 0 3px rgba(255,213,0,.22),0 0 12px rgba(255,213,0,.14);
}

.network-port-anchor{
  position:absolute;
  left:50%;
  width:0;
  height:0;
  pointer-events:none;
  opacity:0;
  z-index:20;
}
.network-port-anchor.top{top:0}
.network-port-anchor.bottom{bottom:0}


.network-rack-canvas{
  padding-top:16px;
}
.network-patch-card.has-free-cable-endpoints{
  overflow:visible;
}
.network-patch-card.has-free-cable-endpoints>.network-free-cable-endpoints{
  position:absolute;
  inset:0;
  z-index:14;
  display:block;
  pointer-events:none;
}
.network-patch-card.has-free-cable-endpoints .network-free-cable-port{
  position:absolute;
  top:50%;
  width:44px;
  min-width:44px;
  min-height:48px;
  height:48px;
  padding:3px;
  transform:translateY(-50%);
  pointer-events:auto;
}
.network-patch-card.has-free-cable-endpoints .network-free-cable-port.left{
  left:-58px;
}
.network-patch-card.has-free-cable-endpoints .network-free-cable-port.right{
  right:-58px;
}
.network-patch-card.has-free-cable-endpoints .network-free-cable-port strong{
  font-size:7px;
  letter-spacing:.05em;
}
.network-patch-card.has-free-cable-endpoints .network-free-cable-port small{
  display:none;
}

.network-device-stack{
  zoom:var(--network-view-scale,1);
  transform-origin:top left;
}
.network-switch-card{
  padding:11px 12px;
}
.network-switch-uplinks,
.network-detail-uplinks{
  grid-template-columns:auto;
}
.network-switch-uplinks>span,
.network-detail-uplinks>span{
  display:none!important;
}
.network-cable-layer{
  left:0;
  top:0;
  right:auto;
  bottom:auto;
}
.network-free-cable-endpoints{
  position:absolute;
  inset:0;
  z-index:14;
  display:block;
  pointer-events:none;
}
.network-port.network-free-cable-port{
  position:absolute;
  width:40px;
  min-width:40px;
  height:40px;
  min-height:40px;
  padding:2px;
  pointer-events:auto;
  transform:none;
}
.network-port.network-free-cable-port.left{
  left:3px;
  top:3px;
}
.network-port.network-free-cable-port.right{
  right:3px;
  bottom:3px;
  top:auto;
}
.network-port.network-free-cable-port strong{
  font-size:7px;
  letter-spacing:.04em;
}
.network-port.network-free-cable-port small{
  display:none;
}


.network-patch-side-label .network-device-actions,
.network-switch-side-label .network-device-actions{
  justify-content:flex-start;
  align-items:center;
  margin-top:0;
}
.network-port.network-free-cable-port.right{
  top:3px;
  right:3px;
  bottom:auto;
}


.network-device-stack{
  z-index:8;
}
.network-cable-layer{
  z-index:6;
}
.network-port-anchor{
  left:50%;
  width:2px;
  height:2px;
  margin:0;
  opacity:0;
  transform-origin:center;
}
.network-port-anchor.top{
  top:0;
  transform:translate(-50%,-50%);
}
.network-port-anchor.bottom{
  bottom:0;
  transform:translate(-50%,50%);
}

.network-device-stack{
  z-index:auto;
}
.network-device-card{
  z-index:auto;
}
.network-cable-layer{
  z-index:6;
}
.network-port{
  z-index:10;
}
.network-patch-side-label,
.network-switch-side-label{
  z-index:12;
}
.network-port.network-free-cable-port{
  z-index:14;
}


.network-device-summary{grid-template-columns:repeat(7,minmax(92px,1fr))}
.network-switch-face.grouped{display:flex;align-items:stretch;gap:10px;min-width:max-content}
.network-port-group{display:grid;grid-template-rows:auto 1fr;gap:5px;align-content:center}
.network-port-group>span{font:900 6px var(--mono,Consolas,monospace);letter-spacing:.08em;color:#71869b;text-align:center;white-space:nowrap}
.network-port-group-rows{display:grid;gap:8px;align-content:center}
.network-port-group.straight .network-port-group-rows{align-content:end}
.network-port-group-divider,.network-detail-group-divider{display:grid;place-items:center;color:#5a7187;font:900 26px/1 var(--mono,Consolas,monospace);border-left:1px solid #2d4357;border-right:1px solid #182938;width:18px;flex:0 0 18px}
.network-server-card{border-left-color:#58a6ff}
.network-router-card{border-left-color:#f5c400}
.network-device-editor{width:min(1120px,96vw)}
.network-port-config-heading{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;border-bottom:1px solid #2d4052;padding:4px 0 8px}
.network-port-config-heading strong{font:900 10px var(--mono,Consolas,monospace);color:#dcecff;letter-spacing:.08em}
.network-port-config-heading span{font-size:8px;color:#8398ab}
.network-port-group-editor{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;border:1px solid #2d4255;border-radius:7px;padding:12px;background:#101a24}
.network-port-group-editor legend{padding:0 7px;font:900 8px var(--mono,Consolas,monospace);letter-spacing:.08em;color:#58a6ff}
.network-detail-port-layout.grouped{display:flex;align-items:stretch;gap:8px;min-width:max-content}
.network-detail-port-group{display:grid;grid-template-rows:auto 1fr;gap:4px;align-content:center}
.network-detail-port-group>span{font:900 6px var(--mono,Consolas,monospace);letter-spacing:.07em;color:#71869b;text-align:center}
.network-detail-port-group>div{display:grid;gap:5px;align-content:center}
.network-detail-port-group.straight>div{align-content:end}
@media(max-width:1200px){.network-device-summary{grid-template-columns:repeat(4,minmax(92px,1fr))}}
@media(max-width:760px){.network-port-group-editor{grid-template-columns:1fr}.network-device-summary{grid-template-columns:1fr 1fr}}


.network-switch-face.grouped{
  display:flex;
  align-items:stretch;
  gap:10px;
  min-width:max-content;
}
.network-switch-face.grouped .network-port-group{
  flex:0 0 auto;
  min-width:max-content;
}
.network-switch-face.grouped .network-port-group-rows{
  min-width:max-content;
}
.network-group-port-row{
  display:block;
  min-height:48px;
}
.network-group-port-row>div{
  display:flex;
  align-items:center;
  gap:5px;
  flex-wrap:nowrap;
  min-width:max-content;
}

.network-switch-customer-panel-block{
  min-width:0;
  height:100%;
  min-height:0;
  overflow:hidden;
  border-right:1px solid #21262d;
  background:#0b0f14;
}
.network-switch-customer-panel{
  height:100%;
  min-height:0;
  overflow:hidden;
}
.network-switch-customer-panel .dashboard-customer-scroll{
  flex:1 1 auto;
  min-height:0;
}
.network-switches-page .dashboard-two-panel{
  height:100%;
  min-height:0;
}
.network-switches-page .network-switches-workspace{
  min-width:0;
}
.network-switch-overview-scroll{
  flex:1 1 auto;
  min-height:0;
  overflow:auto;
  padding:12px 14px 18px;
  scrollbar-width:none;
}
.network-switch-overview-scroll::-webkit-scrollbar{display:none}
.network-switch-overview-card-list{
  grid-template-columns:repeat(auto-fill,minmax(350px,1fr))!important;
}
.network-switch-overview-card{
  cursor:pointer;
  outline:none;
}
.network-switch-overview-card:hover,
.network-switch-overview-card:focus-visible{
  border-color:#58a6ff!important;
  box-shadow:0 0 0 1px rgba(88,166,255,.14)!important;
}
.network-switch-overview-card.unconfigured{
  cursor:default;
  border-color:rgba(210,153,34,.5)!important;
}
.network-switch-card-actions{
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
}
.network-switch-card-actions:has(> .btn-card-open):has(> .btn-card-edit):has(> .btn-card-delete){
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
}
.network-switch-card-actions.single{
  grid-template-columns:1fr!important;
}
.network-switch-detail-scroll{
  flex:1 1 auto;
}
.network-switch-detail-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  gap:7px;
}
@media (max-width:900px){
  .network-switch-overview-card-list{grid-template-columns:1fr!important}
  .network-switch-detail-actions{justify-content:flex-start}
}


.rack-rail-label {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
}
.rack-rail-label > small {
  color: #6e7681;
  font: 800 .56rem Consolas, monospace;
  letter-spacing: .03em;
  text-transform: none;
}
.rack-mounted-item[draggable="true"] {
  cursor: grab;
}
.rack-mounted-item[draggable="true"]:active,
.rack-mounted-item.is-dragging {
  cursor: grabbing;
}
.rack-mounted-item.is-dragging {
  opacity: .38;
  filter: saturate(.65);
  box-shadow: inset 0 0 0 2px #58a6ff;
}
.rack-unit-grid.rack-drag-active::after {
  content: attr(data-rack-drop-label);
  position: absolute;
  z-index: 8;
  top: 6px;
  right: 8px;
  max-width: calc(100% - 74px);
  padding: 5px 8px;
  border: 1px solid #3d444d;
  border-radius: 5px;
  background: rgba(13,17,23,.96);
  color: #c9d1d9;
  font: 900 .58rem Consolas, monospace;
  letter-spacing: .03em;
  pointer-events: none;
  box-shadow: 0 5px 16px rgba(0,0,0,.35);
}
.rack-unit-grid.rack-drop-valid::after {
  border-color: rgba(63,185,80,.78);
  color: #56d364;
}
.rack-unit-grid.rack-drop-invalid::after {
  border-color: rgba(248,81,73,.8);
  color: #ff7b72;
}
.rack-u-slot.rack-drop-preview {
  position: relative;
  z-index: 5;
  pointer-events: none;
}
.rack-u-slot.rack-drop-preview.valid {
  background: rgba(46,160,67,.25);
  box-shadow: inset 0 0 0 1px rgba(86,211,100,.9);
}
.rack-u-slot.rack-drop-preview.invalid {
  background: rgba(248,81,73,.22);
  box-shadow: inset 0 0 0 1px rgba(255,123,114,.9);
}
@media (max-width: 720px) {
  .rack-rail-label > small { display: none; }
}

.network-router-port-connectors{border-top:1px dashed #31485d;padding-top:10px;display:flex;flex-direction:column;gap:7px}
.network-router-port-connectors>strong{font:900 8px var(--mono,Consolas,monospace);letter-spacing:.08em;color:#dcecff}
.network-router-port-connectors>span{font-size:8px;color:#8398ab}
.network-router-port-connectors>div{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}
.network-router-port-connectors label{display:flex;flex-direction:column;gap:4px}
.network-router-port-connectors label span{font:800 7px var(--mono,Consolas,monospace);color:#9eb2c5;text-transform:uppercase}
.network-port-group.patch-group{border-color:#8b6f24;background:rgba(245,196,0,.025)}
.network-port-group.patch-group>span{color:#f5c400}
@media(max-width:980px){.network-router-port-connectors>div{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.network-router-port-connectors>div{grid-template-columns:1fr}}


.network-router-live-preview{border:1px dashed #31485d;border-radius:8px;background:#09131c;padding:10px;min-height:62px;display:flex;flex-direction:column;gap:8px}
.network-router-preview-heading{display:flex;align-items:center;justify-content:space-between;gap:10px}
.network-router-preview-heading strong{font:900 8px var(--mono,Consolas,monospace);letter-spacing:.08em;color:#dcecff}
.network-router-preview-heading span,.network-router-preview-empty{font-size:8px;color:#8398ab}
.network-router-preview-groups{display:flex;align-items:stretch;gap:10px;overflow-x:auto;padding-bottom:2px}
.network-router-preview-group{flex:0 0 auto;border-left:3px solid #58a6ff;padding-left:8px;display:flex;flex-direction:column;gap:6px;min-width:110px}
.network-router-preview-group.patch{border-left-color:#f5c400}
.network-router-preview-group header{display:flex;align-items:baseline;justify-content:space-between;gap:8px}
.network-router-preview-group header strong{font:900 8px var(--mono,Consolas,monospace);color:#dcecff}
.network-router-preview-group header span{font-size:7px;color:#8398ab;white-space:nowrap}
.network-router-preview-rows{display:flex;flex-direction:column;gap:4px}
.network-router-preview-rows>div{display:flex;gap:4px}
.network-router-preview-port{width:54px;height:35px;border:1px solid #34506a;border-bottom:2px solid #58a6ff;border-radius:4px;background:#0e1c28;padding:3px;display:flex;flex-direction:column;align-items:center;justify-content:center;overflow:hidden}
.network-router-preview-port.patch{border-bottom-color:#f5c400}
.network-router-preview-port b{font:900 7px var(--mono,Consolas,monospace);color:#e7f3ff;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}
.network-router-preview-port small{font:700 6px var(--mono,Consolas,monospace);color:#8da5ba;white-space:nowrap;max-width:100%;overflow:hidden;text-overflow:ellipsis}


.network-inner-tabs{display:flex;align-items:center;gap:7px;border-bottom:1px solid #2a3b4d;padding:0 2px 8px}
.network-inner-tab{border:1px solid #304457;background:#111b26;color:#91a5b9;border-radius:6px;padding:8px 11px;font:900 8px var(--mono,Consolas,monospace);letter-spacing:.06em;cursor:pointer}
.network-inner-tab:hover{border-color:#58a6ff;color:#d9efff}.network-inner-tab.active{border-color:#14ae4e;background:#10271b;color:#7ee6a1}.network-inner-tab span{margin-left:6px;color:#58a6ff}
.network-cables-tab-content{min-height:220px}.network-router-patch-options{border-top-color:#8b6f24}.network-router-patch-port-option{gap:5px!important}.network-router-patch-port-option select+select{margin-top:1px}
.network-port.router-patch-port{background:var(--keystone-color,#f5f7fa);color:var(--keystone-text,#111827);border-color:color-mix(in srgb,var(--keystone-color,#f5f7fa) 55%,#344b61)}
.network-port.router-patch-port small{color:color-mix(in srgb,var(--keystone-text,#111827) 72%,transparent)}
.network-router-preview-port.patch{background:var(--preview-keystone,#f5f7fa)!important;color:var(--preview-keystone-text,#111827)!important;border-color:color-mix(in srgb,var(--preview-keystone,#f5f7fa) 65%,#334)!important}
.network-router-preview-port.patch small{color:inherit!important;opacity:.72}
.network-routers-page .dashboard-two-panel{height:100%;min-height:0}.network-routers-page .network-switches-workspace{min-width:0}.network-router-overview-card{cursor:pointer;outline:none}


.network-cable-path.network-cable-back {
  stroke-dasharray: 7 5;
  opacity: .72;
}
.network-cable-path.network-cable-back.network-cable-active { opacity: 1; }
.network-cable-route-badge {
  display: inline-flex;
  margin-left: 8px;
  padding: 2px 6px;
  border: 1px solid var(--ark-border, #2d4658);
  border-radius: 999px;
  font-size: 9px;
  font-style: normal;
  line-height: 1;
  letter-spacing: .05em;
  vertical-align: middle;
}
.network-cable-route-badge.front { color: #58a6ff; }
.network-cable-route-badge.back { color: #d29922; border-style: dashed; }
.network-form-grid label > small {
  display: block;
  margin-top: 5px;
  color: var(--muted, #7f96a8);
  font-size: 10px;
  line-height: 1.35;
}


.network-router-detail-tabs{display:flex;gap:8px;padding:10px 14px;border-bottom:1px solid var(--line,#26384a);background:rgba(5,15,24,.45);position:sticky;top:0;z-index:8}
.network-router-detail-tabs button{border:1px solid #30475e;background:#0b1722;color:#9fb3c8;border-radius:5px;padding:8px 12px;font:700 10px/1 var(--mono);letter-spacing:.06em;cursor:pointer}
.network-router-detail-tabs button.active{border-color:#19c36a;background:#08341e;color:#d8ffe8;box-shadow:inset 0 0 0 1px rgba(25,195,106,.25)}
.network-router-detail-tabs button b{display:inline-flex;min-width:18px;height:18px;align-items:center;justify-content:center;margin-left:6px;border-radius:9px;background:#17293a;color:#d9e8f5;font-size:9px}
.network-router-services .rack-section-title{align-items:center}
.network-router-services .rack-section-title button{margin-left:auto}
.network-service-empty{border:1px dashed #34506a;border-radius:7px;padding:26px;background:#08141e;color:#91a7ba;display:grid;gap:5px}
.network-service-empty strong{color:#d7e6f4;font:700 12px/1.2 var(--mono)}
.network-service-card-list{display:grid;grid-template-columns:repeat(auto-fit,minmax(340px,1fr));gap:12px;padding:4px 0}
.network-service-card{border:1px solid #294157;border-left:4px solid #58a6ff;border-radius:7px;background:#091722;padding:12px;display:grid;gap:12px;min-width:0}
.network-service-card.internet{border-left-color:#21b3ff}.network-service-card.dhcp{border-left-color:#19c36a}.network-service-card.backup{border-left-color:#f5c400}.network-service-card.disabled{opacity:.72;border-left-color:#75808c}
.network-service-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:10px}.network-service-card>header span{display:block;color:#5ea9e8;font:700 8px/1.2 var(--mono);letter-spacing:.09em;text-transform:uppercase}.network-service-card>header h3{margin:3px 0 0;color:#eef7ff;font:700 15px/1.2 var(--mono)}.network-service-card>header b{border:1px solid #344b60;border-radius:4px;padding:4px 7px;color:#a8bed1;font:700 8px/1 var(--mono)}
.network-service-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.network-service-grid>div{border:1px solid #1f3447;border-radius:5px;background:#07121b;padding:8px;min-width:0}.network-service-grid span{display:block;color:#668097;font:700 7px/1.2 var(--mono);letter-spacing:.08em;text-transform:uppercase}.network-service-grid strong{display:block;margin-top:4px;color:#d6e6f4;font:600 10px/1.35 var(--mono);overflow-wrap:anywhere;white-space:pre-line}
.network-service-card>footer{display:flex;gap:7px;justify-content:flex-start}.network-service-card>footer button{border:1px solid #31506b;background:#0c1c29;color:#b9d8ef;border-radius:4px;padding:6px 9px;font:700 8px/1 var(--mono);cursor:pointer}.network-service-card>footer button:last-child{border-color:#6b2630;color:#ff9aa5;background:#2a0e14}
@media(max-width:900px){.network-service-card-list{grid-template-columns:1fr}.network-service-grid{grid-template-columns:1fr}.network-router-detail-tabs{overflow-x:auto}}


.customer-manager-overlay{position:fixed;inset:0;z-index:120;background:rgba(2,8,14,.78);display:grid;place-items:center;padding:24px;backdrop-filter:blur(4px)}
.customer-manager-card{width:min(980px,96vw);max-height:88vh;overflow:hidden;background:#0d1721;border:1px solid #2d4355;border-radius:10px;box-shadow:0 24px 80px rgba(0,0,0,.6);display:flex;flex-direction:column}
.customer-manager-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:18px 20px;border-bottom:1px solid #243747}
.customer-manager-card>header span{font:800 9px var(--mono,Consolas,monospace);color:#58a6ff;letter-spacing:.09em}.customer-manager-card>header h2{margin:4px 0 3px;font-size:22px}.customer-manager-card>header p{margin:0;color:#8fa4b6;font-size:12px}
.customer-manager-close{width:34px;height:34px;border:1px solid #344b5e;border-radius:5px;background:#101d28;color:#b9c9d7;font-size:22px;cursor:pointer}
.customer-manager-layout{display:grid;grid-template-columns:minmax(280px,.85fr) minmax(420px,1.4fr);min-height:0;overflow:hidden}
.customer-manager-form{padding:18px;border-right:1px solid #243747;display:flex;flex-direction:column;gap:14px}.customer-manager-form label{display:flex;flex-direction:column;gap:6px}.customer-manager-form label>span{font:800 9px var(--mono,Consolas,monospace);color:#9bb0c2;text-transform:uppercase}.customer-manager-form-actions{display:flex;gap:8px;justify-content:flex-end}
.customer-manager-list{padding:18px;overflow:auto}.customer-manager-list-head{display:flex;justify-content:space-between;padding:0 0 10px;border-bottom:1px solid #243747;color:#a9bdcd}.customer-manager-list-head span{color:#58a6ff;font-weight:800}
.customer-manager-row{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;border-bottom:1px solid #1e303f}.customer-manager-row>div:first-child{display:flex;flex-direction:column;gap:3px;min-width:0}.customer-manager-row strong{color:#e7f2fa}.customer-manager-row span,.customer-manager-row small{color:#8499aa;font-size:11px}.customer-manager-row>div:last-child{display:flex;gap:6px}.customer-manager-row button{border:1px solid #34506a;background:#10202d;color:#9fd0ff;border-radius:4px;padding:5px 8px;font:800 8px var(--mono,Consolas,monospace);cursor:pointer}.customer-manager-row button:last-child{border-color:#6b2d35;color:#ff8c98}.customer-manager-row button:disabled{opacity:.35;cursor:not-allowed}.customer-manager-empty{padding:30px;text-align:center;color:#768b9c}
.network-port.network-detail-port{border-bottom-color:var(--port-vlan-color,#65717d)!important;box-shadow:inset 0 -2px 0 var(--port-vlan-color,#65717d)}
.network-vlan-matrix-cell.native{background:var(--vlan-color,#58a6ff);border-color:color-mix(in srgb,var(--vlan-color,#58a6ff) 70%,white);color:#07111b}
.network-vlan-matrix-cell.tagged{background:color-mix(in srgb,var(--vlan-color,#58a6ff) 62%,#12202b);border-color:var(--vlan-color,#58a6ff);color:#f3f8fc}
@media(max-width:760px){.customer-manager-layout{grid-template-columns:1fr;overflow:auto}.customer-manager-form{border-right:0;border-bottom:1px solid #243747}.customer-manager-card{max-height:94vh}}

.ark-global-shell.no-statusbar{grid-template-rows:52px minmax(0,1fr)}
@media(max-width:900px){.ark-global-shell.no-statusbar{grid-template-rows:auto minmax(0,1fr)}}

.network-form-grid.nested{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  padding:10px;
  border:1px solid var(--line,#263746);
  border-radius:8px;
  background:rgba(4,14,22,.38);
}
.network-internet-port-preview{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:38px;
  padding:8px 10px;
  border:1px dashed #31506a;
  border-radius:6px;
  background:rgba(18,45,67,.32);
}
.network-internet-port-preview span{
  color:#58a6ff;
  font:700 8px/1 var(--font-mono,monospace);
  letter-spacing:.12em;
}
.network-internet-port-preview strong{
  color:#dcecff;
  font:700 10px/1.3 var(--font-mono,monospace);
}
.network-internet-ip-list{
  display:grid;
  gap:7px;
  margin:4px 0 8px;
}
.network-internet-ip-row{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:7px;
  align-items:center;
}
.network-internet-ip-row .btn-side{
  min-height:34px;
}
.network-add-internet-ip{
  justify-self:start;
}
.network-service-ip-list{
  display:flex;
  flex-wrap:wrap;
  gap:7px;
  margin-top:10px;
}
.network-service-ip{
  display:grid;
  gap:3px;
  min-width:145px;
  padding:7px 9px;
  border:1px solid #2a4052;
  border-radius:6px;
  background:#091722;
}
.network-service-ip span{
  color:#6f9ec3;
  font:700 7px/1 var(--font-mono,monospace);
  letter-spacing:.1em;
}
.network-service-ip strong{
  color:#f3f8fc;
  font:700 10px/1.2 var(--font-mono,monospace);
}
.network-service-ip.main{border-color:#2f9f62;background:rgba(20,89,55,.18)}
.network-service-ip.missing{border-color:#8f5b2a;background:rgba(112,65,20,.14)}
.network-service-ip.dynamic{border-color:#315c82;background:rgba(29,74,111,.17)}
@media (max-width:900px){
  .network-form-grid.nested{grid-template-columns:1fr}
}


.network-port.network-native-port.trunk{
  border-color:#7a5a19;
  border-bottom-color:#d29922;
  color:#ffd975;
  background:#201a0c;
  box-shadow:inset 0 0 0 1px rgba(210,153,34,.42);
}
.network-dhcp-pool-preview{
  border:1px solid #27445a;
  background:#0b1822;
  border-radius:5px;
  padding:10px 12px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
}
.network-dhcp-pool-preview span{font:800 9px var(--mono,Consolas,monospace);letter-spacing:.08em;color:#7f9bb1}
.network-dhcp-pool-preview strong{font:800 13px var(--mono,Consolas,monospace);color:#35d06f}
.customer-directory-page-layout{height:100%;min-height:0;padding:18px;overflow:hidden}
.customer-directory-page{height:100%;min-height:0;display:grid;grid-template-columns:270px minmax(0,1fr);gap:14px}
.customer-directory-sidebar,.customer-directory-editor-card{min-height:0;border:1px solid var(--line-color,#293746);background:var(--panel-bg,#0d141c);border-radius:8px;overflow:hidden}
.customer-directory-sidebar{display:flex;flex-direction:column;padding:12px;gap:10px}
.customer-directory-sidebar-head{display:flex;align-items:center;justify-content:space-between;padding:4px 2px 9px;border-bottom:1px solid var(--line-color,#293746)}
.customer-directory-sidebar-head span{font:700 11px/1.2 var(--mono,Consolas,monospace);letter-spacing:.08em;color:var(--accent-blue,#58a6ff)}
.customer-directory-sidebar-head strong{min-width:24px;height:24px;display:grid;place-items:center;border-radius:999px;background:#10271b;color:#35d06f;font-size:11px}
.customer-directory-new{width:100%}
.customer-directory-list{display:flex;flex-direction:column;gap:6px;min-height:0;overflow:auto;padding-right:2px}
.customer-directory-list-item{width:100%;display:flex;flex-direction:column;align-items:flex-start;gap:3px;text-align:left;border:1px solid #263b4d;background:#0d1822;color:#d8e7f2;border-radius:6px;padding:10px 11px;cursor:pointer}
.customer-directory-list-item:hover{border-color:#3e6380;background:#10202c}.customer-directory-list-item.active{border-color:#1b9fff;background:#0f2534;box-shadow:inset 3px 0 0 #1b9fff}
.customer-directory-list-item strong{font-size:12px}.customer-directory-list-item span,.customer-directory-list-item small{font-size:10px;color:#8298aa;line-height:1.35}
.customer-directory-editor-card{display:flex;flex-direction:column}
.customer-directory-page-header{display:flex;align-items:flex-start;justify-content:space-between;gap:18px;padding:18px 20px;border-bottom:1px solid #243747}
.customer-directory-page-header>div>span{font:800 9px var(--mono,Consolas,monospace);letter-spacing:.09em;color:#58a6ff}.customer-directory-page-header h1{margin:4px 0 3px;font-size:22px}.customer-directory-page-header p{margin:0;color:#8fa4b6;font-size:12px}
.customer-directory-editor-scroll{min-height:0;overflow:auto;padding:18px}.customer-directory-form{display:flex;flex-direction:column;gap:14px}
.customer-directory-form label{display:flex;flex-direction:column;gap:6px}.customer-directory-form label>span{font:800 9px var(--mono,Consolas,monospace);color:#9bb0c2;text-transform:uppercase}
.customer-directory-form-actions{display:flex;justify-content:flex-end;gap:8px;padding:2px 0 4px}
.customer-directory-usage-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.customer-directory-usage-grid>div{border:1px solid #243c4d;background:#0b1720;border-radius:6px;padding:13px;display:flex;flex-direction:column;gap:5px}.customer-directory-usage-grid span{font:800 9px var(--mono,Consolas,monospace);color:#839bae;text-transform:uppercase}.customer-directory-usage-grid strong{font-size:22px;color:#e8f5fd}.customer-directory-empty-usage{border:1px dashed #30495d;border-radius:6px;padding:24px;text-align:center;color:#768d9f}
@media(max-width:900px){.customer-directory-page-layout{padding:10px;overflow:auto;height:auto}.customer-directory-page{display:block;height:auto}.customer-directory-sidebar{margin-bottom:10px;max-height:320px}.customer-directory-usage-grid{grid-template-columns:1fr}}


.network-vlan-matrix-row{
  grid-template-columns:220px minmax(0,1fr);
  align-items:center;
}
.network-vlan-matrix-row>header{
  align-self:stretch;
}
.network-vlan-matrix-row>header>div{
  align-content:center;
  gap:3px;
}
.network-vlan-matrix-row>header strong{
  font-size:10px;
  line-height:1.25;
}
.network-vlan-matrix-row>header .network-vlan-matrix-meta{
  display:block;
  font:900 8px var(--mono,Consolas,monospace);
  line-height:1.25;
  color:#9eb2c7;
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
}
.network-vlan-matrix-row>header .network-vlan-matrix-meta:first-of-type{
  color:#58a6ff;
}
.network-vlan-matrix-row>header small{
  margin-top:2px;
  font-size:7px;
  line-height:1.25;
  white-space:normal;
  overflow:visible;
  text-overflow:clip;
}
@media (max-width:820px){
  .network-vlan-matrix-row{grid-template-columns:190px minmax(0,1fr)}
}

.network-port.isp-main,
.network-port.network-detail-port.isp-main{
  --port-accent:#19c36a;
  background:#0d3425 !important;
  color:#dfffee;
  border-color:#247a56 !important;
  border-bottom-color:#19c36a !important;
  box-shadow:inset 0 0 0 1px rgba(25,195,106,.34),0 0 0 1px rgba(25,195,106,.08);
}
.network-port.isp-main small,
.network-port.network-detail-port.isp-main small{color:#78e9aa;opacity:1}
.network-port.isp-backup,
.network-port.network-detail-port.isp-backup{
  --port-accent:#f5c400;
  background:#3a2d08 !important;
  color:#fff4bd;
  border-color:#8b701c !important;
  border-bottom-color:#f5c400 !important;
  box-shadow:inset 0 0 0 1px rgba(245,196,0,.34),0 0 0 1px rgba(245,196,0,.08);
}
.network-port.isp-backup small,
.network-port.network-detail-port.isp-backup small{color:#ffd95a;opacity:1}
.network-port.isp-disabled,
.network-port.network-detail-port.isp-disabled{opacity:.65}
.network-service-card.internet.main{border-left-color:#19c36a}
.network-service-card.internet.main>header b{border-color:#247a56;background:#0d3425;color:#78e9aa}
.network-service-card.internet.backup{border-left-color:#f5c400}
.network-service-card.internet.backup>header b{border-color:#8b701c;background:#3a2d08;color:#ffd95a}
.network-internet-port-preview strong.isp-main{color:#35d06f}
.network-internet-port-preview strong.isp-backup{color:#f5c400}


.network-dhcp-card-list{
  grid-template-columns:repeat(auto-fill,minmax(420px,760px));
  justify-content:start;
  align-items:start;
}
.network-dhcp-card{
  width:100%;
  max-width:760px;
  gap:10px;
}
.network-dhcp-info-groups{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}
.network-dhcp-info-group{
  border:1px solid #1f3447;
  border-radius:6px;
  background:#07121b;
  padding:10px;
  min-width:0;
}
.network-dhcp-info-group h4{
  margin:0 0 8px;
  color:#72b7ed;
  font:800 8px/1 var(--mono,Consolas,monospace);
  letter-spacing:.09em;
  text-transform:uppercase;
}
.network-dhcp-info-group dl{
  display:grid;
  gap:6px;
  margin:0;
}
.network-dhcp-info-group dl>div{
  display:grid;
  grid-template-columns:max-content minmax(0,1fr);
  gap:5px;
  align-items:start;
}
.network-dhcp-info-group dt{
  color:#728ba0;
  font:700 9px/1.35 var(--mono,Consolas,monospace);
}
.network-dhcp-info-group dd{
  margin:0;
  color:#dceaf5;
  font:700 9px/1.35 var(--mono,Consolas,monospace);
  overflow-wrap:anywhere;
}
.network-dhcp-info-group.notes{
  grid-column:1/-1;
}
.network-dhcp-info-group.notes p{
  margin:0;
  color:#b7c8d6;
  font:600 9px/1.45 var(--mono,Consolas,monospace);
  white-space:pre-wrap;
}
@media(max-width:1200px){
  .network-dhcp-card-list{grid-template-columns:minmax(0,1fr)}
  .network-dhcp-card{max-width:none}
}
@media(max-width:760px){
  .network-dhcp-info-groups{grid-template-columns:1fr}
  .network-dhcp-info-group.notes{grid-column:auto}
}


.network-internet-card-list{
  grid-template-columns:repeat(auto-fill,minmax(420px,760px));
  justify-content:start;
  align-items:start;
}
.network-internet-card-list .network-service-card{
  width:100%;
  max-width:760px;
}
@media(max-width:1200px){
  .network-internet-card-list{grid-template-columns:minmax(0,1fr)}
  .network-internet-card-list .network-service-card{max-width:none}
}

.network-dhcp-card-list,
.network-internet-card-list{
  grid-template-columns:repeat(auto-fill,minmax(500px,860px));
}
.network-dhcp-card,
.network-internet-card-list .network-service-card{
  max-width:860px;
}
.network-dhcp-card>header span,
.network-internet-card-list .network-service-card>header span{
  font-size:9px;
  line-height:1.3;
}
.network-dhcp-card>header h3,
.network-internet-card-list .network-service-card>header h3{
  font-size:16px;
  line-height:1.25;
}
.network-dhcp-card>header b,
.network-internet-card-list .network-service-card>header b{
  font-size:9px;
  padding:5px 8px;
}
.network-dhcp-info-group h4{
  font-size:10px;
  line-height:1.15;
  margin-bottom:9px;
}
.network-dhcp-info-group dt{
  font-size:10px;
  line-height:1.45;
}
.network-dhcp-info-group dd{
  font-size:11px;
  line-height:1.45;
}
.network-dhcp-info-group.notes p{
  font-size:10px;
  line-height:1.55;
}
.network-dhcp-card>footer button,
.network-internet-card-list .network-service-card>footer button{
  font-size:9px;
  padding:7px 10px;
}
@media(max-width:1200px){
  .network-dhcp-card-list,
  .network-internet-card-list{grid-template-columns:minmax(0,1fr)}
  .network-dhcp-card,
  .network-internet-card-list .network-service-card{max-width:none}
}


.network-dhcp-info-group.internet-additional-ips{
  grid-column:1/-1;
}
.network-dhcp-info-group.internet-additional-ips ul{
  list-style:none;
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr));
  gap:6px;
  margin:0;
  padding:0;
}
.network-dhcp-info-group.internet-additional-ips li{
  display:grid;
  grid-template-columns:max-content minmax(0,1fr);
  gap:8px;
  align-items:center;
  border:1px solid #21384c;
  border-radius:4px;
  background:#0a1823;
  padding:7px 8px;
}
.network-dhcp-info-group.internet-additional-ips li span{
  color:#728ba0;
  font:700 10px/1.35 var(--mono,Consolas,monospace);
}
.network-dhcp-info-group.internet-additional-ips li strong{
  color:#dceaf5;
  font:800 11px/1.35 var(--mono,Consolas,monospace);
  overflow-wrap:anywhere;
}
.network-dhcp-info-group.internet-additional-ips li.empty{
  grid-template-columns:max-content minmax(0,1fr);
}
@media(max-width:760px){
  .network-dhcp-info-group.internet-additional-ips{grid-column:auto}
  .network-dhcp-info-group.internet-additional-ips ul{grid-template-columns:1fr}
}


.network-cabling-page .network-cabling-workspace {
  min-width: 0;
}
.network-cabling-page .network-cabling-detail-scroll {
  min-height: 0;
  overflow: auto;
  padding: 10px 12px 18px;
}
.network-cabling-rack-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 10px;
  padding: 10px 12px;
  border: 1px solid var(--border, #233548);
  border-radius: 8px;
  background: rgba(8, 22, 32, 0.72);
}
.network-cabling-rack-heading span {
  display: block;
  color: var(--accent-blue, #58a6ff);
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.network-cabling-rack-heading h2 {
  margin: 3px 0 0;
  font-size: 22px;
}
.network-cabling-rack-heading p {
  margin: 3px 0 0;
  color: var(--text-muted, #8b9aaa);
  font-size: 12px;
}
.network-cabling-rack-card {
  cursor: pointer;
}
.network-cabling-rack-card:focus-visible {
  outline: 2px solid var(--accent-blue, #58a6ff);
  outline-offset: 2px;
}
.network-cabling-summary > div:nth-child(3) span {
  white-space: nowrap;
}
@media (max-width: 900px) {
  .network-cabling-rack-heading {
    align-items: flex-start;
    flex-direction: column;
  }
}


.ark-global-topbar {
  display: flex;
  align-items: center;
}
.ark-topnav {
  flex: 1 1 auto;
  min-width: 0;
}
.ark-topbar-tools {
  margin-left: auto;
  padding: 0 10px 0 14px;
  display: flex;
  align-items: center;
  flex: 0 0 auto;
}
.ark-global-customer-select {
  display: flex;
  align-items: center;
  gap: 8px;
  min-width: 230px;
}
.ark-global-customer-select > span {
  color: var(--muted, #8fa3b8);
  font-size: 9px;
  font-weight: 800;
  letter-spacing: .09em;
  text-transform: uppercase;
  white-space: nowrap;
}
.ark-global-customer-select .cyber-select {
  min-width: 160px;
  height: 30px;
  padding-top: 4px;
  padding-bottom: 4px;
}
.ark-customer-scope-active .dashboard-two-panel {
  grid-template-columns: minmax(0, 1fr) !important;
}
.ark-customer-scope-active .dashboard-customer-panel-block {
  display: none !important;
}
@media (max-width: 1050px) {
  .ark-global-customer-select { min-width: 180px; }
  .ark-global-customer-select > span { display: none; }
  .ark-global-customer-select .cyber-select { min-width: 145px; max-width: 180px; }
}
@media (max-width: 760px) {
  .ark-global-topbar { flex-wrap: wrap; }
  .ark-topbar-tools { order: 3; width: 100%; padding: 5px 8px 7px; }
  .ark-global-customer-select { width: 100%; }
  .ark-global-customer-select .cyber-select { width: 100%; max-width: none; }
}


.network-cabling-page,
.network-cabling-page .network-cabling-workspace,
.network-cabling-page .network-cabling-detail-scroll,
.network-cabling-page .network-switch-overview-scroll,
.network-cabling-page .rack-scroll-region,
.network-cabling-page .rack-network-page,
.network-cabling-page .network-rack-canvas,
.network-cabling-page .network-device-stack,
.network-cabling-page .network-cables-section {
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.network-cabling-page::-webkit-scrollbar,
.network-cabling-page .network-cabling-workspace::-webkit-scrollbar,
.network-cabling-page .network-cabling-detail-scroll::-webkit-scrollbar,
.network-cabling-page .network-switch-overview-scroll::-webkit-scrollbar,
.network-cabling-page .rack-scroll-region::-webkit-scrollbar,
.network-cabling-page .rack-network-page::-webkit-scrollbar,
.network-cabling-page .network-rack-canvas::-webkit-scrollbar,
.network-cabling-page .network-device-stack::-webkit-scrollbar,
.network-cabling-page .network-cables-section::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}

.network-remote-rack-strip {
  position: relative;
  z-index: 8;
  display: grid;
  grid-template-columns: minmax(160px, 220px) minmax(0, 1fr);
  gap: 10px;
  margin: 0 46px 40px;
  min-height: 68px;
  padding: 8px 10px;
  border: 1px dashed #2b4357;
  border-radius: 8px;
  background: rgba(9, 18, 27, .88);
}
.network-remote-rack-strip.empty {
  display: flex;
  align-items: center;
  min-height: 54px;
}
.network-remote-rack-strip-title,
.network-remote-rack-strip.empty > div {
  display: grid;
  align-content: center;
  gap: 2px;
}
.network-remote-rack-strip-title span,
.network-remote-rack-strip.empty span {
  color: #58a6ff;
  font: 900 7px var(--mono,Consolas,monospace);
  letter-spacing: .09em;
}
.network-remote-rack-strip-title strong,
.network-remote-rack-strip.empty strong {
  color: #e5f1fc;
  font-size: 11px;
}
.network-remote-rack-strip-title small {
  color: #7f94a8;
  font-size: 8px;
  line-height: 1.25;
}
.network-remote-rack-list {
  display: flex;
  align-items: stretch;
  gap: 8px;
  flex-wrap: wrap;
  min-width: 0;
}
.network-remote-rack-card {
  position: relative;
  z-index: 8;
  display: grid;
  grid-template-columns: minmax(132px, auto) minmax(90px, 1fr) auto;
  align-items: center;
  gap: 8px;
  min-width: 310px;
  min-height: 50px;
  padding: 6px 7px;
  border: 1px solid #2b4054;
  border-left: 3px solid #58a6ff;
  border-radius: 6px;
  background: #101b26;
}
.network-remote-rack-card > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 7px;
  min-width: 0;
}
.network-remote-rack-card > header > div {
  min-width: 0;
}
.network-remote-rack-card > header span {
  display: block;
  color: #58a6ff;
  font: 900 6px var(--mono,Consolas,monospace);
  letter-spacing: .08em;
}
.network-remote-rack-card > header strong {
  display: block;
  color: #edf6ff;
  font-size: 10px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.network-remote-rack-card > header small {
  display: block;
  margin-top: 1px;
  color: #7f94a8;
  font-size: 7px;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.network-remote-rack-card > header b {
  flex: 0 0 auto;
  color: #8fb9dd;
  font: 900 6px var(--mono,Consolas,monospace);
}
.network-remote-rack-endpoints {
  display: flex;
  gap: 4px;
  align-items: center;
  min-width: 0;
  flex-wrap: wrap;
}
.network-remote-rack-endpoints em {
  color: #71869b;
  font-size: 7px;
  font-style: normal;
}
.network-port.network-remote-rack-port {
  width: 112px;
  min-height: 34px;
  padding: 3px 5px;
  border-bottom-width: 2px;
  background: #0d1721;
}
.network-port.network-remote-rack-port strong {
  font-size: 7px;
}
.network-port.network-remote-rack-port small {
  font-size: 5px;
}
.network-remote-rack-select-port {
  align-self: stretch;
  border: 1px solid #35506a;
  border-radius: 5px;
  background: #102131;
  color: #9ec8eb;
  padding: 5px 7px;
  font: 900 7px var(--mono,Consolas,monospace);
  cursor: pointer;
}
.network-remote-rack-select-port:hover {
  border-color: #58a6ff;
  color: #e6f4ff;
}
.network-remote-port-picker .network-modal {
  width: min(1100px, 96vw);
  max-height: 88vh;
}
.network-remote-port-picker .network-modal > header p {
  margin: 3px 0 0;
  color: #8fa2b6;
  font-size: 9px;
}
.network-remote-port-picker-list {
  display: grid;
  gap: 10px;
  max-height: calc(88vh - 95px);
  overflow: auto;
  padding-right: 4px;
  scrollbar-width: none;
}
.network-remote-port-picker-list::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}
.network-remote-port-picker-list > section {
  border: 1px solid #293d50;
  border-radius: 7px;
  background: #0c161f;
  padding: 8px;
}
.network-remote-port-picker-list > section > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 10px;
  margin-bottom: 7px;
}
.network-remote-port-picker-list > section > header strong {
  color: #e8f4ff;
  font-size: 11px;
}
.network-remote-port-picker-list > section > header span {
  color: #58a6ff;
  font: 900 7px var(--mono,Consolas,monospace);
}
.network-remote-port-picker-list > section > div {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
  gap: 6px;
}
.network-remote-port-option {
  min-width: 0;
  min-height: 46px;
  display: grid;
  align-content: center;
  gap: 3px;
  text-align: left;
  border: 1px solid #31485e;
  border-radius: 6px;
  background: #111d28;
  color: #dceaf7;
  padding: 6px 8px;
  cursor: pointer;
}
.network-remote-port-option:hover {
  border-color: #58a6ff;
  background: #132434;
}
.network-remote-port-option strong {
  font-size: 9px;
}
.network-remote-port-option small {
  color: #8297aa;
  font-size: 7px;
  line-height: 1.25;
}
.network-remote-port-option.disabled,
.network-remote-port-option:disabled {
  opacity: .38;
  cursor: not-allowed;
}
@media (max-width: 900px) {
  .network-remote-rack-strip {
    grid-template-columns: 1fr;
    margin-left: 42px;
    margin-right: 42px;
  }
  .network-remote-rack-card {
    min-width: min(100%, 310px);
    grid-template-columns: minmax(115px, auto) minmax(80px, 1fr) auto;
  }
}


.network-cabling-page .network-toolbar strong{font-size:13px;line-height:1.25}
.network-cabling-page .network-toolbar span{font-size:11px;line-height:1.35}
.network-cabling-page .network-summary-grid span{font-size:10px}
.network-cabling-page .network-summary-grid strong{font-size:19px}
.network-cabling-page .network-inner-tab{font-size:10px;padding:9px 13px}
.network-cabling-page .network-cabling-rack-heading span{font-size:11px}
.network-cabling-page .network-cabling-rack-heading h2{font-size:25px}
.network-cabling-page .network-cabling-rack-heading p{font-size:13px}
.network-cabling-page .network-device-card header span,
.network-cabling-page .network-switch-side-label>span,
.network-cabling-page .network-patch-side-label>span{font-size:8px}
.network-cabling-page .network-device-card header h3,
.network-cabling-page .network-switch-side-label h3,
.network-cabling-page .network-patch-side-label h3{font-size:16px}
.network-cabling-page .network-device-card header p,
.network-cabling-page .network-switch-side-label p,
.network-cabling-page .network-patch-side-label p{font-size:10px}
.network-cabling-page .network-port strong{font-size:9px}
.network-cabling-page .network-port small{font-size:7px}
.network-cabling-page .network-port-group>span{font-size:7px}
.network-cabling-page .network-remote-rack-strip-title span,
.network-cabling-page .network-remote-rack-strip.empty span{font-size:9px}
.network-cabling-page .network-remote-rack-strip-title strong,
.network-cabling-page .network-remote-rack-strip.empty strong{font-size:13px}
.network-cabling-page .network-remote-rack-strip-title small{font-size:10px;line-height:1.35}
.network-cabling-page .network-remote-rack-card>header span{font-size:8px}
.network-cabling-page .network-remote-rack-card>header strong{font-size:12px}
.network-cabling-page .network-remote-rack-card>header small{font-size:9px}
.network-cabling-page .network-remote-rack-card>header b{font-size:8px}
.network-cabling-page .network-remote-rack-endpoints em{font-size:9px}
.network-cabling-page .network-port.network-remote-rack-port strong{font-size:9px}
.network-cabling-page .network-port.network-remote-rack-port small{font-size:7px}
.network-cabling-page .network-remote-rack-select-port{font-size:9px;padding:7px 9px}
.network-cabling-page .network-remote-port-picker .network-modal>header p{font-size:11px}
.network-cabling-page .network-remote-port-picker-list>section{padding:10px}
.network-cabling-page .network-remote-port-picker-list>section>header{align-items:flex-end;margin-bottom:9px}
.network-cabling-page .network-remote-port-picker-list>section>header>div{display:grid;gap:2px;min-width:0}
.network-cabling-page .network-remote-port-picker-list>section>header span{order:0;font-size:9px;color:#58a6ff;font-weight:900;letter-spacing:.06em}
.network-cabling-page .network-remote-port-picker-list>section>header strong{order:1;font-size:14px;color:#eef7ff}
.network-cabling-page .network-remote-port-picker-list>section>header b{color:#8fb9dd;font:900 9px var(--mono,Consolas,monospace);white-space:nowrap}
.network-cabling-page .network-remote-port-picker-list>section>div{grid-template-columns:repeat(auto-fill,minmax(190px,1fr));gap:8px}
.network-cabling-page .network-remote-port-option{min-height:52px;padding:8px 10px}
.network-cabling-page .network-remote-port-option strong{font-size:11px}
.network-cabling-page .network-remote-port-option small{font-size:9px;line-height:1.35}
.network-cabling-page .network-cable-row strong{font-size:12px}
.network-cabling-page .network-cable-row span{font-size:10px}
.network-cabling-page .network-cable-row small{font-size:9px}


.network-remote-port-picker .network-modal{
  width:min(1280px,97vw);
  max-height:92vh;
  overflow:hidden;
  display:flex;
  flex-direction:column;
}
.network-remote-picker-layout{
  min-height:0;
  display:grid;
  grid-template-columns:minmax(270px,340px) minmax(0,1fr);
  gap:14px;
  padding:14px;
  overflow:hidden;
}
.network-remote-picker-rack,
.network-remote-picker-ports{
  min-width:0;
  min-height:0;
  border:1px solid #2b4052;
  border-radius:8px;
  background:#09121a;
}
.network-remote-picker-rack{
  padding:10px;
  overflow:auto;
  scrollbar-width:none;
}
.network-remote-picker-rack::-webkit-scrollbar,
.network-remote-picker-ports::-webkit-scrollbar,
.network-remote-picker-port-grid::-webkit-scrollbar{display:none}
.network-remote-picker-rack-title{
  display:grid;
  gap:3px;
  padding:2px 2px 10px;
}
.network-remote-picker-rack-title span{
  color:#58a6ff;
  font:900 8px var(--mono,Consolas,monospace);
  letter-spacing:.09em;
}
.network-remote-picker-rack-title strong{
  color:#f0f6fc;
  font-size:14px;
}
.network-remote-picker-rack-title small{
  color:#8297aa;
  font-size:10px;
}
.network-remote-picker-rack-grid{
  display:grid;
  grid-template-columns:42px minmax(0,1fr);
  grid-template-rows:repeat(var(--rack-units),var(--rack-picker-row));
  position:relative;
  min-height:calc(var(--rack-units) * var(--rack-picker-row));
  overflow:hidden;
  border:2px solid #3d5368;
  border-radius:6px;
  background:#0d171f;
}
.network-remote-picker-u-label{
  z-index:1;
  display:grid;
  place-items:center;
  border-right:1px solid #3b4d5e;
  border-bottom:1px solid #1c2b37;
  color:#6f879a;
  background:#121e28;
  font:800 7px var(--mono,Consolas,monospace);
}
.network-remote-picker-u-slot{
  z-index:1;
  border-bottom:1px solid #1c2b37;
}
.network-remote-picker-mounted{
  z-index:3;
  min-height:0;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
  margin:1px 3px;
  overflow:hidden;
  border:1px solid #3f8cff;
  border-radius:4px;
  padding:2px 6px;
  background:linear-gradient(90deg,rgba(31,111,235,.35),rgba(13,23,31,.98));
  color:#edf6ff;
  text-align:left;
  cursor:pointer;
}
.network-remote-picker-mounted span{
  min-width:0;
  display:grid;
  gap:1px;
}
.network-remote-picker-mounted strong{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:10px;
}
.network-remote-picker-mounted small{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#a9bdd0;
  font:800 7px var(--mono,Consolas,monospace);
}
.network-remote-picker-mounted b{
  flex:0 0 auto;
  color:#b9d8f2;
  font:900 7px var(--mono,Consolas,monospace);
}
.network-remote-picker-mounted.type-switch{
  border-color:#2ea043;
  background:linear-gradient(90deg,rgba(35,134,54,.36),rgba(13,23,31,.98));
}
.network-remote-picker-mounted.type-router{
  border-color:#d29922;
  background:linear-gradient(90deg,rgba(187,128,9,.38),rgba(13,23,31,.98));
}
.network-remote-picker-mounted.type-patch-panel{
  border-color:#a371f7;
  background:linear-gradient(90deg,rgba(137,87,229,.38),rgba(13,23,31,.98));
}
.network-remote-picker-mounted.type-server{
  border-color:#58a6ff;
}
.network-remote-picker-mounted:hover,
.network-remote-picker-mounted.active{
  filter:brightness(1.18);
  box-shadow:0 0 0 2px rgba(88,166,255,.45),0 0 15px rgba(88,166,255,.2);
}
.network-remote-picker-mounted.disabled{
  opacity:.38;
  cursor:not-allowed;
  filter:none;
  box-shadow:none;
}
.network-remote-picker-ports{
  display:flex;
  flex-direction:column;
  overflow:hidden;
}
.network-remote-picker-device-header{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  padding:13px 15px;
  border-bottom:1px solid #2b4052;
  background:#101c26;
}
.network-remote-picker-device-header span{
  color:#58a6ff;
  font:900 9px var(--mono,Consolas,monospace);
  letter-spacing:.08em;
}
.network-remote-picker-device-header h3{
  margin:3px 0 2px;
  color:#f4f9ff;
  font-size:18px;
}
.network-remote-picker-device-header p{
  margin:0;
  color:#8ea3b7;
  font-size:10px;
}
.network-remote-picker-device-header b{
  color:#a9c8e1;
  font:900 9px var(--mono,Consolas,monospace);
  white-space:nowrap;
}
.network-remote-picker-port-grid{
  min-height:0;
  flex:1;
  display:grid;
  grid-template-columns:repeat(auto-fill,minmax(170px,1fr));
  align-content:start;
  gap:8px;
  overflow:auto;
  padding:12px;
  scrollbar-width:none;
}
.network-remote-picker-port-grid .network-remote-port-option{
  min-height:58px;
  padding:9px 10px;
}
.network-remote-picker-port-grid .network-remote-port-option strong{
  font-size:11px;
}
.network-remote-picker-port-grid .network-remote-port-option small{
  font-size:9px;
  line-height:1.35;
}
.network-remote-port-option.patch{
  border-left:4px solid var(--remote-port-color,#f5f7fa);
}
@media(max-width:850px){
  .network-remote-port-picker .network-modal{overflow:auto}
  .network-remote-picker-layout{grid-template-columns:1fr;overflow:visible}
  .network-remote-picker-rack{max-height:360px}
  .network-remote-picker-ports{min-height:380px}
}


.network-remote-rack-link{
  position:relative;
  display:inline-flex;
  align-items:stretch;
  min-width:0;
}
.network-remote-rack-link .network-remote-rack-port{
  padding-right:22px;
}
.network-crossrack-cable-delete{
  position:absolute;
  top:2px;
  right:2px;
  z-index:4;
  width:17px;
  height:17px;
  display:grid;
  place-items:center;
  border:1px solid #7d2830;
  border-radius:4px;
  background:#35141a;
  color:#ff9aa4;
  font:900 11px/1 Arial,sans-serif;
  cursor:pointer;
}
.network-crossrack-cable-delete:hover{
  border-color:#ff5d68;
  background:#5b1821;
  color:#fff;
}
.network-remote-rack-link.back .network-remote-rack-port{border-bottom-style:dashed}
.network-remote-rack-link.pending .network-remote-rack-port{box-shadow:0 0 0 2px rgba(46,160,67,.55)}
.network-remote-port-option-card{
  min-width:0;
  display:grid;
  gap:8px;
  border:1px solid #31485e;
  border-radius:7px;
  background:#101b25;
  padding:9px;
}
.network-remote-port-option-card.patch{
  border-left:4px solid var(--remote-port-color,#f5f7fa);
}
.network-remote-port-option-card>header{
  min-width:0;
  display:grid;
  gap:3px;
}
.network-remote-port-option-card>header strong{
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  color:#edf6ff;
  font-size:11px;
}
.network-remote-port-option-card>header small{
  min-height:24px;
  color:#879caf;
  font-size:9px;
  line-height:1.3;
}
.network-remote-port-sides{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:6px;
}
.network-remote-port-side{
  min-width:0;
  min-height:42px;
  display:grid;
  place-items:center;
  gap:2px;
  border:1px solid #35506a;
  border-radius:5px;
  background:#0d1822;
  color:#cfe3f4;
  padding:5px 6px;
  cursor:pointer;
}
.network-remote-port-side strong{
  font:900 9px var(--mono,Consolas,monospace);
  letter-spacing:.06em;
}
.network-remote-port-side small{
  color:#8399ac;
  font-size:7px;
  text-align:center;
}
.network-remote-port-side.front.available{border-color:#2ea043;background:rgba(35,134,54,.12)}
.network-remote-port-side.back.available{border-color:#a371f7;background:rgba(137,87,229,.12);border-style:dashed}
.network-remote-port-side.occupied{border-color:#d29922;background:rgba(187,128,9,.16)}
.network-remote-port-side.occupied small{color:#e6bd63}
.network-remote-port-side:hover:not(:disabled){filter:brightness(1.22);box-shadow:0 0 0 1px rgba(88,166,255,.45)}
.network-remote-port-side.disabled,
.network-remote-port-side:disabled{opacity:.35;cursor:not-allowed;filter:none;box-shadow:none}
.network-cabling-page .network-remote-port-option-card>header strong{font-size:12px}
.network-cabling-page .network-remote-port-option-card>header small{font-size:10px}
.network-cabling-page .network-remote-port-side strong{font-size:10px}
.network-cabling-page .network-remote-port-side small{font-size:8px}
@media(max-width:650px){
  .network-remote-port-sides{grid-template-columns:1fr}
}

.network-remote-port-picker .network-modal{
  width:min(1540px,98vw);
  max-height:95vh;
}
.network-remote-picker-layout{
  grid-template-columns:minmax(430px,540px) minmax(0,1fr);
  gap:16px;
  padding:16px;
}
.network-remote-picker-rack{
  padding:12px;
  overflow:auto;
}
.network-remote-picker-rack-title{
  position:sticky;
  top:-12px;
  z-index:6;
  margin:-2px -2px 10px;
  padding:8px 6px 12px;
  background:#09121a;
}
.network-remote-picker-rack-title span{font-size:9px}
.network-remote-picker-rack-title strong{font-size:17px}
.network-remote-picker-rack-title small{font-size:11px}
.network-remote-picker-rack-grid{
  grid-template-columns:52px minmax(0,1fr);
  min-width:390px;
}
.network-remote-picker-u-label{font-size:8px}
.network-remote-picker-mounted{
  margin:2px 4px;
  padding:3px 8px;
}
.network-remote-picker-mounted strong{font-size:11px}
.network-remote-picker-mounted small{font-size:8px}
.network-remote-picker-mounted b{font-size:8px}
.network-remote-port-sides.front-only{
  grid-template-columns:1fr;
}
.network-remote-port-sides.front-only .network-remote-port-side{
  min-height:48px;
}
@media(max-width:1050px){
  .network-remote-picker-layout{grid-template-columns:minmax(360px,46%) minmax(0,1fr)}
}
@media(max-width:850px){
  .network-remote-picker-layout{grid-template-columns:1fr}
  .network-remote-picker-rack{max-height:62vh}
  .network-remote-picker-rack-grid{min-width:360px}
}

.network-remote-picker-mounted.single-u{
  min-height:calc(var(--rack-picker-row) - 4px);
  padding:0 8px;
  gap:6px;
  line-height:1;
}
.network-remote-picker-mounted.single-u span{
  display:block;
  min-width:0;
  overflow:hidden;
}
.network-remote-picker-mounted.single-u strong{
  display:block;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
  font-size:10px;
  line-height:12px;
}
.network-remote-picker-mounted.single-u b{
  flex:0 0 auto;
  white-space:nowrap;
  font-size:7px;
  line-height:12px;
}

.rack-front-back-detail-body {
  display: grid;
  grid-template-columns: minmax(0, 1fr);
  gap: 18px;
}
.rack-dual-visual-column {
  min-width: 0;
}
.rack-front-back-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(360px, 1fr));
  gap: 16px;
  align-items: start;
}
.rack-front-back-grid .rack-visual-shell {
  min-width: 0;
}
.rack-side-front {
  box-shadow: inset 0 3px 0 rgba(88,166,255,.55);
}
.rack-side-rear {
  box-shadow: inset 0 3px 0 rgba(210,168,255,.55);
}
.rack-side-front .rack-rail-label strong {
  color: #58a6ff;
}
.rack-side-rear .rack-rail-label strong {
  color: #d2a8ff;
}
.rack-detail-kpis-seven {
  grid-template-columns: repeat(7, minmax(96px, 1fr));
}
.rack-item-position-summary {
  grid-template-columns: auto minmax(100px, 1fr) auto minmax(80px, 1fr) auto minmax(80px, 1fr);
}
.rack-mounted-item.type-router {
  border-color: #f0883e;
  background-color: #3b2718 !important;
}
.rack-mounted-item.type-kvm {
  border-color: #db61a2;
  background-color: #3a1930 !important;
}
.rack-mounted-item.type-cooling-fans {
  border-color: #56d4dd;
  background-color: #12333a !important;
}
@media (max-width: 1380px) {
  .rack-detail-kpis-seven {
    grid-template-columns: repeat(4, minmax(100px, 1fr));
  }
  .rack-front-back-grid {
    grid-template-columns: repeat(2, minmax(320px, 1fr));
  }
}
@media (max-width: 980px) {
  .rack-front-back-grid {
    grid-template-columns: minmax(0, 1fr);
  }
  .rack-item-position-summary {
    grid-template-columns: auto 1fr auto 1fr;
  }
  .rack-item-position-summary span:nth-of-type(3),
  .rack-item-position-summary strong:nth-of-type(3) {
    margin-top: 6px;
  }
}
@media (max-width: 680px) {
  .rack-detail-kpis-seven {
    grid-template-columns: repeat(2, minmax(100px, 1fr));
  }
  .rack-item-position-summary {
    grid-template-columns: 1fr 1fr;
  }
}

.rack-front-back-grid.single-face {
  grid-template-columns: minmax(360px, 720px);
}
.rack-detail-kpis-wall {
  grid-template-columns: repeat(5, minmax(100px, 1fr));
}
.rack-item-position-summary.single-face {
  grid-template-columns: auto minmax(120px, 1fr) auto minmax(100px, 1fr);
}
.network-rack-face-divider {
  position: relative;
  z-index: 7;
  min-width: 900px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  min-height: 28px;
  margin-bottom: -38px;
  padding: 6px 10px;
  border: 1px dashed #35506a;
  border-radius: 6px;
  background: rgba(13, 24, 34, .96);
}
.network-rack-face-divider span {
  color: #58a6ff;
  font: 900 9px var(--mono,Consolas,monospace);
  letter-spacing: .08em;
}
.network-rack-face-divider small {
  color: #8fa2b6;
  font-size: 9px;
}
.network-rack-face-divider.rear {
  border-color: #644b7c;
  background: rgba(28, 18, 38, .96);
}
.network-rack-face-divider.rear span {
  color: #d2a8ff;
}
.network-rack-face-empty {
  position: relative;
  z-index: 2;
  min-width: 900px;
  margin-top: -38px;
  padding: 14px;
  border: 1px dashed #344759;
  border-radius: 7px;
  color: #8297aa;
  background: #0d161f;
  font-size: 10px;
  text-align: center;
}
.network-device-card[data-network-mount-side="rear"] {
  border-left-color: #a371f7;
}
.network-remote-picker-side-tabs {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
  margin-top: 8px;
}
.network-remote-picker-side-tabs button {
  border: 1px solid #35506a;
  border-radius: 5px;
  padding: 7px 10px;
  background: #111d28;
  color: #91a5b9;
  font: 900 8px var(--mono,Consolas,monospace);
  letter-spacing: .08em;
  cursor: pointer;
}
.network-remote-picker-side-tabs button:hover {
  border-color: #58a6ff;
  color: #dcecff;
}
.network-remote-picker-side-tabs button.active[data-network-remote-picker-side="front"] {
  border-color: #58a6ff;
  color: #dcecff;
  background: #102235;
  box-shadow: inset 0 0 0 1px rgba(88,166,255,.2);
}
.network-remote-picker-side-tabs button.active[data-network-remote-picker-side="rear"] {
  border-color: #a371f7;
  color: #eadcff;
  background: #21162e;
  box-shadow: inset 0 0 0 1px rgba(163,113,247,.2);
}
.network-remote-picker-rack-grid.side-rear {
  border-color: #644b7c;
  box-shadow: inset 0 3px 0 rgba(163,113,247,.35);
}
.network-remote-picker-mounted.side-rear {
  border-color: #a371f7;
}
@media (max-width: 980px) {
  .rack-detail-kpis-wall {
    grid-template-columns: repeat(3, minmax(100px, 1fr));
  }
}
@media (max-width: 680px) {
  .rack-detail-kpis-wall {
    grid-template-columns: repeat(2, minmax(100px, 1fr));
  }
  .rack-item-position-summary.single-face {
    grid-template-columns: auto 1fr;
  }
}


.rack-type-badge.panel{color:#f0b429;border-color:rgba(240,180,41,.58);background:rgba(240,180,41,.1)}
.rack-mounted-item.type-isp-modem,.wall-panel-mounted-item.type-isp-modem,.network-remote-picker-mounted.type-isp-modem{border-color:#ff8c42;background:linear-gradient(135deg,rgba(216,91,18,.43),rgba(13,17,23,.97))}
.rack-mounted-item.type-ont,.wall-panel-mounted-item.type-ont,.network-remote-picker-mounted.type-ont{border-color:#35d0ba;background:linear-gradient(135deg,rgba(15,138,124,.43),rgba(13,17,23,.97))}
.wall-panel-detail-body{display:grid;grid-template-columns:minmax(0,1.65fr) minmax(330px,.75fr);gap:16px;align-items:start;padding:14px}
.wall-panel-shell{border:1px solid #2f4356;border-radius:9px;background:#0c151e;padding:12px;min-width:0}
.wall-panel-heading{display:flex;justify-content:space-between;gap:16px;align-items:flex-start;margin-bottom:10px;padding:0 2px}
.wall-panel-heading>div:first-child span{display:block;color:#f0b429;font:900 9px var(--mono,Consolas,monospace);letter-spacing:.12em}
.wall-panel-heading>div:first-child strong{display:block;margin-top:3px;color:#f3f8ff;font-size:18px}
.wall-panel-heading>div:first-child small{display:block;margin-top:3px;color:#91a4b8;font-size:11px}
.wall-panel-heading>div:last-child{display:grid;grid-template-columns:auto auto;gap:2px 7px;text-align:right;color:#91a4b8;font:800 9px var(--mono,Consolas,monospace);text-transform:uppercase}
.wall-panel-heading>div:last-child strong{color:#f3f8ff;font-size:13px}
.wall-panel-grid{position:relative;display:grid;grid-template-columns:repeat(var(--panel-columns),minmax(38px,1fr));grid-template-rows:repeat(var(--panel-rows),minmax(42px,1fr));gap:3px;aspect-ratio:1/1;min-height:520px;max-height:78vh;border:2px solid #465d72;border-radius:6px;padding:5px;background:#111e29;overflow:auto}
.wall-panel-cell{grid-column:auto;grid-row:auto;border:1px dashed rgba(96,130,158,.45);border-radius:3px;background:rgba(12,25,36,.42);min-width:0;min-height:0;cursor:pointer}
.wall-panel-cell:hover{border-color:#58a6ff;background:rgba(31,111,185,.14)}
.wall-panel-mounted-item{position:relative;z-index:2;display:flex;flex-direction:column;justify-content:space-between;min-width:0;min-height:0;border:2px solid #72869a;border-radius:5px;padding:7px;background:#192733;color:#f3f8ff;overflow:hidden;cursor:grab;text-align:left;box-shadow:0 4px 12px rgba(0,0,0,.26)}
.wall-panel-mounted-item:active{cursor:grabbing}.wall-panel-mounted-item.is-dragging{opacity:.48}
.wall-panel-mounted-item>span{display:block;min-width:0}.wall-panel-mounted-item>span strong{display:block;font-size:12px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wall-panel-mounted-item>span small{display:block;margin-top:2px;color:#a8bacb;font:800 8px var(--mono,Consolas,monospace);text-transform:uppercase}
.wall-panel-mounted-item.type-shelf{border-color:#9ca9b5;background:linear-gradient(180deg,#263442,#1b2631)}
.wall-panel-shelf-devices{display:flex;flex-wrap:wrap;gap:4px;margin-top:5px;padding-top:5px;border-top:1px dashed rgba(255,255,255,.22)}
.wall-panel-shelf-device{flex:1 1 90px;min-width:70px;border:1px solid #52697e;border-radius:3px;padding:4px 5px;background:#101a24;color:#ecf5ff;text-align:left;cursor:pointer}
.wall-panel-shelf-device strong{display:block;font-size:9px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.wall-panel-shelf-device small{display:block;color:#8fa3b7;font-size:7px;text-transform:uppercase}
.wall-panel-grid.panel-drop-valid{outline:3px solid #3fb950;outline-offset:2px}.wall-panel-grid.panel-drop-invalid{outline:3px solid #f85149;outline-offset:2px}
.wall-panel-help{margin-top:9px;color:#8fa2b6;font-size:10px;line-height:1.45}
.network-remote-picker-panel-grid{display:grid;grid-template-columns:repeat(var(--panel-columns),minmax(42px,1fr));grid-template-rows:repeat(var(--panel-rows),minmax(42px,1fr));gap:3px;aspect-ratio:1/1;min-width:500px;min-height:500px;padding:6px;border:2px solid #465d72;border-radius:6px;background:repeating-linear-gradient(0deg,transparent 0,transparent 41px,rgba(105,137,165,.1) 42px),#101c27;overflow:auto}
.network-remote-panel-mounted{position:relative!important;inset:auto!important;width:auto!important;height:auto!important;min-height:0!important;padding:5px!important;display:flex!important;flex-direction:column;justify-content:space-between;overflow:hidden}
.network-remote-panel-mounted span strong{font-size:10px}.network-remote-panel-mounted span small{font-size:7px}.network-remote-panel-mounted>b{font-size:7px;white-space:nowrap}
.network-remote-panel-mounted.shelf-child{outline:2px dotted #f0b429;outline-offset:-3px}
.network-device-card.network-modem-card{border-left-color:#ff8c42}.network-device-card.network-ont-card{border-left-color:#35d0ba}
.network-form-grid label small{display:block;margin-top:3px;color:#8296aa;font-size:9px;line-height:1.35}
@media(max-width:1100px){.wall-panel-detail-body{grid-template-columns:1fr}.wall-panel-grid{min-height:460px}.network-remote-picker-panel-grid{min-width:420px;min-height:420px}}
@media(max-width:700px){.wall-panel-grid{min-height:360px;grid-template-columns:repeat(var(--panel-columns),minmax(28px,1fr))}.network-remote-picker-panel-grid{min-width:340px;min-height:340px}}

.ark-topbar-tools {
  gap: 10px;
}
.ark-global-export-menu {
  position: relative;
  flex: 0 0 auto;
}
.ark-global-export-trigger {
  list-style: none;
  min-width: 96px;
  height: 30px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 7px;
  border: 1px solid #3a5268;
  border-radius: 4px;
  background: #111923;
  color: #dce8f2;
  font-size: 10px;
  font-weight: 900;
  letter-spacing: .08em;
  cursor: pointer;
  user-select: none;
}
.ark-global-export-trigger::-webkit-details-marker {
  display: none;
}
.ark-global-export-menu[open] .ark-global-export-trigger,
.ark-global-export-trigger:hover {
  border-color: #58a6ff;
  color: #58a6ff;
  background: #101d2a;
}
.ark-global-export-popover {
  position: absolute;
  top: calc(100% + 8px);
  right: 0;
  z-index: 1000;
  width: 300px;
  max-height: min(540px, calc(var(--ark-layout-vh) - 90px));
  overflow-y: auto;
  border: 1px solid #3a5268;
  border-radius: 7px;
  background: #0c1219;
  box-shadow: 0 18px 44px rgba(0, 0, 0, .55);
  padding: 9px;
}
.ark-report-menu-heading {
  padding: 5px 6px 9px;
  border-bottom: 1px solid #273442;
  margin-bottom: 6px;
}
.ark-report-menu-heading strong,
.ark-report-menu-heading span {
  display: block;
}
.ark-report-menu-heading strong {
  color: #dce8f2;
  font-size: 11px;
  letter-spacing: .07em;
}
.ark-report-menu-heading span {
  color: #8496a8;
  font-size: 9px;
  margin-top: 3px;
  line-height: 1.35;
}
.ark-report-menu-list {
  display: grid;
  gap: 4px;
}
.ark-report-menu-item {
  width: 100%;
  border: 1px solid transparent;
  border-radius: 5px;
  background: #111923;
  color: #dce8f2;
  padding: 8px 9px;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 12px;
  text-align: left;
  cursor: pointer;
}
.ark-report-menu-item span {
  font-size: 11px;
  font-weight: 850;
}
.ark-report-menu-item small {
  color: #8496a8;
  font-size: 8px;
  white-space: nowrap;
}
.ark-report-menu-item:hover {
  border-color: #58a6ff;
  color: #58a6ff;
  background: #102133;
}
.ark-report-menu-item.all {
  border-color: rgba(88, 166, 255, .38);
  background: #102033;
  margin-top: 3px;
}
.report-bulk-select {
  z-index: 8 !important;
  position: static !important;
  flex: 0 0 auto;
}
.rack-card-title-row .report-bulk-select,
.server-card-identity-title-row .report-bulk-select {
  margin-left: 4px;
}
.server-card.report-bulk-selected {
  outline: 2px solid rgba(88, 210, 255, .78);
  box-shadow: 0 0 0 1px rgba(88, 210, 255, .25), 0 0 22px rgba(88, 210, 255, .12);
}
.report-selection-controls {
  margin-left: auto;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 7px;
  flex-wrap: wrap;
}
.report-selection-controls > span {
  color: #8fa3b8;
  font-size: 9px;
  font-weight: 750;
  white-space: nowrap;
}
.report-selection-controls > span strong {
  color: #58d2ff;
  font-size: 11px;
}
.report-selection-controls button {
  border: 1px solid #344a5f;
  border-radius: 4px;
  background: #101820;
  color: #c9d6e2;
  padding: 5px 8px;
  font-size: 8px;
  font-weight: 850;
  letter-spacing: .05em;
  cursor: pointer;
}
.report-selection-controls button:hover {
  color: #58a6ff;
  border-color: #58a6ff;
}
@media (max-width: 1050px) {
  .ark-topbar-tools {
    gap: 6px;
  }
  .ark-global-export-trigger {
    min-width: 82px;
  }
}
@media (max-width: 760px) {
  .ark-topbar-tools {
    align-items: stretch;
  }
  .ark-global-customer-select {
    flex: 1 1 auto;
  }
  .ark-global-export-menu {
    flex: 0 0 auto;
  }
  .ark-global-export-trigger {
    height: 100%;
    min-height: 30px;
  }
  .ark-global-export-popover {
    position: fixed;
    top: auto;
    right: 8px;
    left: 8px;
    bottom: 8px;
    width: auto;
    max-height: 70vh;
  }
  .report-selection-controls {
    width: 100%;
    justify-content: flex-start;
  }
}


.network-outbound-lane-guide{opacity:.72;stroke-dasharray:2 6}
.network-inbound-lane-guide{opacity:.92;stroke-dasharray:5 5}
.network-report-port-layout{padding-top:16px!important}
.network-report-port-layout .network-device-stack{zoom:1!important}

.network-cable-path{
  stroke-linecap:butt;
  stroke-linejoin:miter;
}
.network-cabling-page .network-device-summary{
  grid-template-columns:repeat(8,minmax(105px,1fr));
  overflow-x:auto;
}
.network-cabling-page .network-device-summary>div{
  min-width:0;
}
.network-cabling-page .network-device-summary span{
  white-space:nowrap;
}
@media(max-width:1100px){
  .network-cabling-page .network-device-summary{
    grid-template-columns:repeat(8,minmax(105px,1fr));
  }
}

.network-rack-route-band{
  position:relative;
  z-index:1;
  min-width:900px;
  height:30px;
  margin-top:-38px;
  margin-bottom:-38px;
  border-top:1px dotted rgba(88,166,255,.2);
  border-bottom:1px dotted rgba(88,166,255,.14);
  background:repeating-linear-gradient(
    to bottom,
    transparent 0,
    transparent 4px,
    rgba(88,166,255,.055) 5px,
    transparent 6px
  );
  pointer-events:none;
}
.network-rack-route-band.rear{
  border-color:rgba(210,168,255,.18);
  background:repeating-linear-gradient(
    to bottom,
    transparent 0,
    transparent 4px,
    rgba(210,168,255,.045) 5px,
    transparent 6px
  );
}
.network-cable-lane-guide.network-side-lane-guide{
  opacity:.82;
  stroke-dasharray:3 5;
}
.network-report-port-layout .network-rack-route-band{
  display:none!important;
}


.network-cable-lane-guide{display:none!important}
.network-rack-route-band{
  border:0!important;
  background:none!important;
  box-shadow:none!important;
}

.import-report-browser-modal {
  width: min(1180px, 96vw);
  max-height: 94vh;
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr) auto;
  overflow: hidden;
}
.import-report-toolbar {
  display: grid;
  grid-template-columns: minmax(180px, 260px) minmax(220px, 320px) auto;
  gap: 12px;
  align-items: end;
  padding: 16px 20px;
  border-bottom: 1px solid var(--border, #30363d);
}
.import-report-toolbar label { display: grid; gap: 6px; }
.import-report-toolbar label > span {
  font-size: 11px;
  font-weight: 800;
  letter-spacing: .12em;
  color: var(--muted, #8b949e);
}
.import-report-list {
  min-height: 260px;
  overflow: auto;
  padding: 18px 20px 24px;
  display: grid;
  gap: 14px;
  align-content: start;
}
.import-report-card {
  border: 1px solid var(--border, #30363d);
  border-left: 4px solid #6e7681;
  border-radius: 8px;
  background: rgba(13,17,23,.72);
  padding: 15px;
  display: grid;
  gap: 12px;
}
.import-report-card.health-critical { border-left-color: #f85149; }
.import-report-card.health-warning { border-left-color: #d29922; }
.import-report-card.health-healthy { border-left-color: #3fb950; }
.import-report-card-head,
.import-report-footer {
  display: flex;
  justify-content: space-between;
  gap: 16px;
  align-items: flex-start;
}
.import-report-card-head > div { display: grid; gap: 3px; min-width: 0; }
.import-report-card-head span,
.import-report-card-head small,
.import-report-footer > span { color: var(--muted, #8b949e); font-size: 12px; }
.import-report-card-head strong { font-size: 18px; overflow-wrap: anywhere; }
.import-report-card-head em {
  font-style: normal;
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  border: 1px solid currentColor;
  border-radius: 999px;
  padding: 5px 9px;
}
.health-critical .import-report-card-head em { color: #ff7b72; }
.health-warning .import-report-card-head em { color: #e3b341; }
.health-healthy .import-report-card-head em { color: #56d364; }
.import-report-metrics {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}
.import-report-metrics span {
  border: 1px solid var(--border, #30363d);
  border-radius: 6px;
  padding: 9px 10px;
  color: var(--muted, #8b949e);
  font-size: 12px;
}
.import-report-metrics b { display: block; color: var(--text, #f0f6fc); font-size: 17px; }
.import-report-match {
  font-size: 11px;
  font-weight: 900;
  letter-spacing: .08em;
  padding: 7px 9px;
  border-radius: 5px;
  background: rgba(110,118,129,.14);
  color: #c9d1d9;
}
.import-report-match.current { background: rgba(46,160,67,.16); color: #56d364; }
.import-report-match.other { background: rgba(248,81,73,.12); color: #ff7b72; }
.import-report-match.unmatched { background: rgba(210,153,34,.14); color: #e3b341; }
.import-report-process {
  display: grid;
  gap: 4px;
  border: 1px solid rgba(88,166,255,.25);
  border-radius: 6px;
  background: rgba(56,139,253,.08);
  padding: 9px 10px;
}
.import-report-process strong {
  color: #79c0ff;
  font-size: 11px;
  letter-spacing: .08em;
}
.import-report-process span {
  color: var(--muted, #8b949e);
  font-size: 12px;
  line-height: 1.45;
}
.import-report-card.process-configuration-changed .import-report-process,
.import-report-card.process-assignment-required .import-report-process,
.import-report-card.process-baseline-required .import-report-process { border-color: rgba(210,153,34,.4); background: rgba(210,153,34,.09); }
.import-report-card.process-configuration-changed .import-report-process strong,
.import-report-card.process-assignment-required .import-report-process strong,
.import-report-card.process-baseline-required .import-report-process strong { color: #e3b341; }
.import-report-card.process-ambiguous-match .import-report-process { border-color: rgba(248,81,73,.45); background: rgba(248,81,73,.09); }
.import-report-card.process-ambiguous-match .import-report-process strong { color: #ff7b72; }
.import-report-footer { align-items: center; }
.import-report-footer > div { display: flex; gap: 8px; }
.btn-side.compact { min-height: 34px; padding: 7px 11px; font-size: 11px; }
.import-report-empty,
.import-report-error {
  min-height: 220px;
  display: grid;
  place-items: center;
  border: 1px dashed var(--border, #30363d);
  border-radius: 8px;
  color: var(--muted, #8b949e);
  text-align: center;
  padding: 30px;
}
.import-report-error { color: #ff7b72; border-color: rgba(248,81,73,.45); }
@media (max-width: 760px) {
  .import-report-toolbar { grid-template-columns: 1fr; }
  .import-report-metrics { grid-template-columns: 1fr 1fr; }
  .import-report-card-head,
  .import-report-footer { flex-direction: column; }
  .import-report-footer > div { width: 100%; }
  .import-report-footer .btn-side { flex: 1; }
}

.server-import-overlay {
  padding: 12px !important;
  align-items: center !important;
}
.server-import-modal,
.modal-card.server-import-modal {
  width: min(1680px, calc(var(--ark-layout-vw) - 24px)) !important;
  max-width: none !important;
  height: min(940px, calc(var(--ark-layout-vh) - 24px));
  max-height: calc(var(--ark-layout-vh) - 24px) !important;
}
.server-import-body {
  flex: 1 1 auto;
  grid-template-columns: minmax(440px, 540px) minmax(0, 1fr) !important;
  overflow: hidden !important;
}
.import-input-panel,
.import-review-panel {
  min-height: 0;
  overflow: auto;
}
.import-review-panel {
  padding-right: 22px;
}
.server-import-modal .import-summary-grid {
  grid-template-columns: repeat(auto-fit, minmax(128px, 1fr));
}
.import-assignment-row {
  grid-template-columns: minmax(300px, .9fr) minmax(390px, 1.1fr) !important;
  align-items: center !important;
  padding: 11px 8px !important;
}
.import-assignment-row.is-ignored {
  border-radius: 6px;
  background: rgba(110,118,129,.10);
}
.import-assignment-row.is-ignored > div > span {
  color: #a5aeb8;
}
.import-assignment-row > div small {
  line-height: 1.35;
  overflow-wrap: anywhere;
}
.import-assignment-row select {
  min-height: 38px;
}
.import-drive-assignment-heading em {
  white-space: nowrap;
}
@media (max-width: 1180px) {
  .server-import-overlay { padding: 0 !important; align-items: stretch !important; }
  .server-import-modal,
  .modal-card.server-import-modal {
    width: var(--ark-layout-vw) !important;
    max-width: var(--ark-layout-vw) !important;
    height: var(--ark-layout-vh) !important;
    max-height: var(--ark-layout-vh) !important;
    border-radius: 0 !important;
    border: 0 !important;
  }
  .server-import-body {
    grid-template-columns: 1fr !important;
    overflow: auto !important;
  }
  .import-input-panel,
  .import-review-panel { overflow: visible; }
  .import-assignment-row { grid-template-columns: 1fr !important; align-items: stretch !important; }
}

.import-report-browser-modal .modal-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 20px;
  padding: 18px 20px;
  border-bottom: 1px solid var(--border, #30363d);
  background: #10151c;
}
.import-report-browser-modal .modal-header > div {
  flex: 1 1 auto;
  min-width: 0;
}
.import-report-browser-modal .modal-header h2 {
  margin: 3px 0 5px;
  color: #f0f6fc;
  font-family: Consolas, monospace;
  font-size: 1.12rem;
}
.import-report-browser-modal .modal-header p {
  margin: 0;
  max-width: 920px;
  color: #8b949e;
  font-size: .78rem;
  line-height: 1.45;
}
.import-report-browser-modal .close-x {
  flex: 0 0 36px;
  align-self: flex-start;
  display: grid;
  place-items: center;
  width: 36px;
  height: 36px;
  margin: 0;
  padding: 0;
  border: 1px solid #30363d;
  border-radius: 5px;
  background: #161b22;
  color: #c9d1d9;
  font-size: 1.35rem;
  line-height: 1;
  cursor: pointer;
}
.import-report-browser-modal .close-x:hover {
  border-color: #58a6ff;
  color: #fff;
}
.import-report-browser-modal .close-x:disabled {
  opacity: .45;
  cursor: not-allowed;
}
@media (max-width: 760px) {
  .import-report-browser-modal .modal-header {
    padding: 14px 16px;
    gap: 12px;
  }
  .import-report-browser-modal .close-x {
    flex-basis: 34px;
    width: 34px;
    height: 34px;
  }
}


/* Performance containment for long inventory lists. */
.server-card,
.rack-card-list > .rack-card,
.customer-report-card,
.history-table-row {
  content-visibility:auto;
  contain-intrinsic-size:120px;
}
.virtual-server-rows { contain:layout style; }

/* Customer ownership selection for new customer-scoped records */
.customer-assignment-overlay{position:fixed;inset:0;z-index:1250;background:rgba(2,8,14,.82);display:grid;place-items:center;padding:24px;backdrop-filter:blur(4px)}
.customer-assignment-card{width:min(620px,96vw);background:#0d1721;border:1px solid #2d4355;border-radius:10px;box-shadow:0 24px 80px rgba(0,0,0,.65);overflow:hidden}
.customer-assignment-card>header{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:18px 20px;border-bottom:1px solid #243747}
.customer-assignment-card>header span{font:800 9px var(--mono,Consolas,monospace);color:#58a6ff;letter-spacing:.09em}.customer-assignment-card>header h2{margin:4px 0 4px;font-size:23px}.customer-assignment-card>header p{margin:0;color:#8fa4b6;font-size:12px;line-height:1.5}
.customer-assignment-close{flex:0 0 auto;width:34px;height:34px;border:1px solid #344b5e;border-radius:5px;background:#101d28;color:#b9c9d7;font-size:22px;cursor:pointer}
.customer-assignment-card form{display:flex;flex-direction:column;gap:14px;padding:20px}.customer-assignment-card form label{display:flex;flex-direction:column;gap:7px}.customer-assignment-card form label>span{font:800 9px var(--mono,Consolas,monospace);color:#9bb0c2;text-transform:uppercase;letter-spacing:.06em}
.customer-assignment-note{padding:11px 12px;border:1px solid #263c4e;border-left:3px solid #58a6ff;border-radius:5px;background:#101d28;color:#91a7b8;font-size:11px;line-height:1.5}
.customer-assignment-card footer{display:flex;justify-content:flex-end;gap:8px;padding-top:4px}.customer-owner-locked{border-color:#2c7656!important;background:#0c1d18!important;color:#b9f4d4!important;cursor:default}.customer-owner-helper{display:block;margin-top:5px;color:#68bb92!important;font:700 9px var(--mono,Consolas,monospace)!important;letter-spacing:.03em}
@media(max-width:640px){.customer-assignment-overlay{padding:12px}.customer-assignment-card>header{padding:16px}.customer-assignment-card form{padding:16px}.customer-assignment-card footer{flex-direction:column-reverse}.customer-assignment-card footer button{width:100%}}

/* Consolidated current application overrides. */
/*
  Ark Ledger component and workflow overrides.
  This file is intentionally loaded after app.css so feature-specific rules
  can extend the stable application shell without growing the core stylesheet.
*/

/* server identity readability */
.server-identity-sidebar .identity-card-main { gap: 0; }
.server-identity-sidebar .identity-card-title { margin-bottom: 8px; }
.server-identity-sidebar .identity-row {
  grid-template-columns: 104px minmax(0, 1fr) 28px;
  column-gap: 10px;
  min-height: 28px;
  padding: 5px 0;
  align-items: center;
  border-bottom: 1px solid rgba(48, 54, 61, .55);
}
.server-identity-sidebar .identity-row:last-child { border-bottom: 0; }
.server-identity-sidebar .identity-label { line-height: 1.25; }
.server-identity-sidebar .identity-value { line-height: 1.35; min-width: 0; }
.server-identity-sidebar .identity-inline-copy { width: 28px; height: 26px; }
.server-identity-sidebar .identity-row-copy-only .identity-copy-only-note {
  color: #6e7681;
  font: 700 .66rem Consolas, monospace;
  text-transform: uppercase;
  letter-spacing: .06em;
}
@media (max-width: 900px) {
  .server-identity-sidebar .identity-row { grid-template-columns: 112px minmax(0, 1fr) 28px; }
}


/* synchronized collector baseline */
.ark-validation-details {
  position: relative;
  min-width: 0;
}
.ark-validation-details > summary {
  list-style: none;
  cursor: pointer;
  user-select: none;
  border-radius: 4px;
  padding: 4px 6px;
  margin: -4px -6px;
}
.ark-validation-details > summary::-webkit-details-marker { display: none; }
.ark-validation-details > summary:hover,
.ark-validation-details[open] > summary { background: rgba(88, 166, 255, .09); }
.ark-validation-open-hint {
  margin-left: 2px;
  padding: 2px 6px;
  border: 1px solid #30363d;
  border-radius: 999px;
  color: #79c0ff;
  font: 800 .58rem Consolas, monospace;
  letter-spacing: .04em;
}
.ark-validation-popover {
  position: absolute;
  left: 0;
  bottom: calc(100% + 10px);
  z-index: 900;
  width: min(560px, calc(var(--ark-layout-vw) - 28px));
  max-height: min(62vh, 520px);
  overflow: hidden;
  border: 1px solid #3a4b5c;
  border-radius: 8px;
  background: #111820;
  box-shadow: 0 18px 48px rgba(0, 0, 0, .58);
}
.ark-validation-popover > header {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 12px 14px;
  border-bottom: 1px solid #30363d;
  background: #161b22;
}
.ark-validation-popover > header div { display: flex; flex-direction: column; gap: 2px; }
.ark-validation-popover > header span { color: #58a6ff; font: 900 .61rem Consolas, monospace; letter-spacing: .07em; }
.ark-validation-popover > header strong { color: #f0f6fc; font-size: .88rem; }
.ark-validation-popover > header small { color: #8b949e; font-size: .66rem; white-space: nowrap; }
.ark-validation-popover-list {
  max-height: min(52vh, 430px);
  overflow: auto;
  padding: 8px;
}
.ark-validation-finding {
  width: 100%;
  display: grid;
  grid-template-columns: 58px minmax(0, 1fr);
  gap: 10px;
  align-items: start;
  padding: 10px;
  border: 0;
  border-bottom: 1px solid #252d36;
  border-radius: 4px;
  background: transparent;
  color: #c9d1d9;
  text-align: left;
  cursor: pointer;
}
.ark-validation-finding:last-child { border-bottom: 0; }
.ark-validation-finding:hover { background: rgba(88, 166, 255, .08); }
.ark-validation-finding-severity {
  padding: 3px 5px;
  border: 1px solid currentColor;
  border-radius: 4px;
  font: 900 .58rem Consolas, monospace;
  text-align: center;
}
.ark-validation-finding.error .ark-validation-finding-severity { color: #ff7b72; }
.ark-validation-finding.warning .ark-validation-finding-severity { color: #d29922; }
.ark-validation-finding.info .ark-validation-finding-severity { color: #79c0ff; }
.ark-validation-finding-copy { min-width: 0; display: flex; flex-direction: column; gap: 3px; }
.ark-validation-finding-copy strong { color: #f0f6fc; font-size: .74rem; }
.ark-validation-finding-copy small { color: #a9b4bf; font-size: .68rem; line-height: 1.4; white-space: normal; }
.ark-validation-finding-copy em { color: #6e7681; font: 700 .60rem Consolas, monospace; font-style: normal; }
.ark-validation-popover-clean { display: flex; flex-direction: column; gap: 4px; padding: 18px; color: #8b949e; }
.ark-validation-popover-clean strong { color: #58d68d; }
.ark-status-timestamps {
  display: flex;
  align-items: center;
  justify-self: end;
  gap: 14px;
  min-width: 0;
  white-space: nowrap;
}
.ark-last-health strong { color: #79c0ff; }
.server-identity-sidebar .identity-row {
  grid-template-columns: 112px minmax(0, 1fr) 28px;
  column-gap: 14px;
  min-height: 31px;
  padding: 6px 0;
}
.server-identity-sidebar .identity-value { padding-left: 3px; }
.server-identity-sidebar .identity-row-date .identity-value {
  font-size: .72rem;
  font-variant-numeric: tabular-nums;
  letter-spacing: -.01em;
}
.server-identity-sidebar .identity-row-status .identity-value { text-transform: capitalize; }
@media (max-width: 1320px) {
  .ark-global-statusbar.has-server-workspaces .ark-status-timestamps { display: none; }
}
@media (max-width: 760px) {
  .ark-validation-popover { left: -4px; width: calc(var(--ark-layout-vw) - 18px); }
  .ark-validation-open-hint { display: none; }
  .server-identity-sidebar .identity-row { grid-template-columns: 116px minmax(0, 1fr) 28px; }
}

/* collector synchronization, live scan refresh, and import workspace sizing */
.server-import-overlay {
  padding: 16px !important;
}
.server-import-modal,
.modal-card.server-import-modal {
  width: calc(var(--ark-layout-vw) - 32px) !important;
  max-width: none !important;
  height: calc(var(--ark-layout-vh) - 32px) !important;
  max-height: calc(var(--ark-layout-vh) - 32px) !important;
}
.server-import-body {
  grid-template-columns: minmax(560px, 42%) minmax(0, 58%) !important;
}
.import-input-panel,
.import-review-panel {
  padding: 20px !important;
}
.import-command-line {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
  gap: 10px;
  overflow: hidden;
  padding: 7px 7px 7px 10px;
}
.import-command-line code {
  display: block;
  min-width: 0;
  overflow-x: auto;
  padding: 4px 0;
  scrollbar-width: thin;
}
.import-command-copy {
  position: static !important;
  display: inline-flex !important;
  align-items: center;
  justify-content: center;
  gap: 6px;
  width: auto !important;
  min-width: 74px;
  min-height: 32px;
  padding: 6px 9px !important;
  border: 1px solid #2f81f7 !important;
  border-radius: 5px;
  background: rgba(47,129,247,.12) !important;
  color: #79c0ff !important;
  font-family: Consolas, monospace;
  font-size: .65rem;
  font-weight: 900;
  cursor: pointer;
}
.import-command-copy:hover {
  border-color: #79c0ff !important;
  color: #fff !important;
}
.import-command-copy .copy-icon {
  font-size: .8rem;
}
@media (max-width: 1280px) {
  .server-import-body {
    grid-template-columns: minmax(470px, 46%) minmax(0, 54%) !important;
  }
}
@media (max-width: 980px) {
  .server-import-overlay { padding: 0 !important; }
  .server-import-modal,
  .modal-card.server-import-modal {
    width: var(--ark-layout-vw) !important;
    height: var(--ark-layout-vh) !important;
    max-height: var(--ark-layout-vh) !important;
  }
  .server-import-body { grid-template-columns: 1fr !important; }
}

/* collector scheduling commands */
.import-schedule-card {
  margin: 0 0 14px;
  padding: 12px;
  border: 1px solid #2f81f7;
  border-radius: 7px;
  background: linear-gradient(180deg, rgba(47,129,247,.09), rgba(17,24,32,.96));
}
.import-schedule-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
}
.import-schedule-heading span {
  display: block;
  color: #79c0ff;
  font-family: Consolas, monospace;
  font-size: .62rem;
  font-weight: 900;
  letter-spacing: .08em;
}
.import-schedule-heading strong {
  display: block;
  margin-top: 3px;
  color: #f0f6fc;
  font-family: Consolas, monospace;
  font-size: .78rem;
}
.import-schedule-card p {
  margin: 9px 0;
  color: #b1bac4;
  font-size: .68rem;
  line-height: 1.45;
}
.import-schedule-card > small {
  display: block;
  margin-top: 7px;
  color: #8b949e;
  font-size: .62rem;
  overflow-wrap: anywhere;
}
.import-schedule-command {
  border-color: rgba(47,129,247,.45);
}

/* compact dashboard/servers KPIs and dashboard content tabs */
.dashboard-kpi-grid {
  grid-template-columns: repeat(13, minmax(70px, 1fr)) !important;
  gap: 6px !important;
  margin-bottom: 7px !important;
}

.dashboard-kpi-grid .kpi-card,
.servers-kpi-grid .kpi-card {
  min-height: 54px !important;
  padding: 7px 8px !important;
  border-radius: 5px !important;
}

.dashboard-kpi-grid .kpi-label,
.servers-kpi-grid .kpi-label {
  font-size: .54rem !important;
  line-height: 1.05 !important;
}

.dashboard-kpi-grid .kpi-value,
.servers-kpi-grid .kpi-value {
  margin-top: 3px !important;
  font-size: .96rem !important;
  line-height: 1 !important;
}

.dashboard-kpi-grid .kpi-sub,
.servers-kpi-grid .kpi-sub {
  margin-top: 2px !important;
  font-size: .5rem !important;
  line-height: 1.05 !important;
}

.servers-kpi-grid {
  grid-template-columns: repeat(12, minmax(74px, 1fr)) !important;
  gap: 6px !important;
  margin-bottom: 7px !important;
}

.dashboard-analytics-grid {
  gap: 7px !important;
  margin-bottom: 7px !important;
}

.dashboard-analytics-grid .analytics-card {
  min-height: 100px !important;
  max-height: 112px !important;
  padding: 8px 9px !important;
  border-radius: 5px !important;
  overflow: hidden;
}

.dashboard-analytics-grid .analytics-title {
  margin-bottom: 6px !important;
  font-size: .63rem !important;
}

.dashboard-analytics-grid .analytics-row {
  margin-bottom: 4px !important;
}

.dashboard-analytics-grid .analytics-row-top {
  font-size: .62rem !important;
}

.dashboard-analytics-grid .analytics-bar {
  height: 4px !important;
  margin-top: 2px !important;
}

.dashboard-analytics-grid .progress-donut {
  width: 54px !important;
  height: 54px !important;
  border-width: 6px !important;
  margin: 0 auto 3px !important;
}

.dashboard-analytics-grid .progress-donut span {
  font-size: .82rem !important;
}

.dashboard-analytics-grid .analytics-empty {
  font-size: .59rem !important;
  line-height: 1.1 !important;
}

.dashboard-content-tabs {
  display: flex;
  align-items: flex-end;
  gap: 4px;
  min-height: 31px;
  margin: 1px 0 0;
  border-bottom: 1px solid #30363d;
}

.dashboard-content-tab {
  appearance: none;
  border: 1px solid #30363d;
  border-bottom: 0;
  border-radius: 5px 5px 0 0;
  background: #0b0f14;
  color: #8b949e;
  min-height: 29px;
  padding: 5px 12px;
  font: 900 .63rem Consolas, monospace;
  letter-spacing: .05em;
  cursor: pointer;
}

.dashboard-content-tab:hover {
  color: #f0f6fc;
  border-color: rgba(88,166,255,.55);
}

.dashboard-content-tab.dashboard-tab-group-right {
  margin-left: auto;
}

@media (max-width: 760px) {
  .dashboard-content-tab.dashboard-tab-group-right {
    margin-left: 12px;
  }
}

.dashboard-content-tab.active {
  color: #f0f6fc;
  background: rgba(35,134,54,.18);
  border-color: #2ea043;
  box-shadow: inset 0 -2px 0 #2ea043;
}

.dashboard-content-tab span {
  display: inline-flex;
  min-width: 18px;
  justify-content: center;
  margin-left: 5px;
  padding: 1px 5px;
  border-radius: 999px;
  background: rgba(48,54,61,.78);
  color: #c9d1d9;
  font-size: .56rem;
}

.dashboard-content-tab span.has-issues {
  color: #f85149;
  background: rgba(248,81,73,.14);
}

.dashboard-content-tab span.is-clear {
  color: #2ea043;
  background: rgba(46,160,67,.14);
}

#dashboardQuickFilterBlock:empty {
  display: none;
}

#dashboardQuickFilterBlock .inventory-quick-filter-row {
  margin: 6px 0 2px;
}

@media (max-width: 1500px) {
  .dashboard-kpi-grid { grid-template-columns: repeat(7, minmax(78px, 1fr)) !important; }
  .servers-kpi-grid { grid-template-columns: repeat(6, minmax(82px, 1fr)) !important; }
}

@media (max-width: 900px) {
  .dashboard-kpi-grid,
  .servers-kpi-grid { grid-template-columns: repeat(3, minmax(88px, 1fr)) !important; }
  .dashboard-content-tabs { position: sticky; top: 0; z-index: 3; background: #0d1117; }
}

@media (max-width: 520px) {
  .dashboard-kpi-grid,
  .servers-kpi-grid { grid-template-columns: repeat(2, minmax(90px, 1fr)) !important; }
  .dashboard-content-tab { flex: 1 1 0; }
}

/* dashboard Stats tab and readable grouped KPIs */
.dashboard-tabbed-workspace {
  padding-bottom: 0 !important;
}

.dashboard-tabbed-workspace .dashboard-fixed-content {
  flex: 0 0 auto;
}

.dashboard-tab-content {
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}

.dashboard-server-tab-view {
  flex: 1 1 auto;
  min-height: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
}

.dashboard-stats-view {
  flex: 1 1 auto;
  min-height: 0;
  overflow-y: auto;
  overflow-x: hidden;
  padding: 14px 2px 18px;
  scrollbar-width: none;
  -ms-overflow-style: none;
}

.dashboard-stats-view::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}

.dashboard-stats-scope {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 16px;
  margin-bottom: 12px;
  padding: 0 2px 9px;
  border-bottom: 1px dashed #30363d;
  font-family: Consolas, monospace;
}

.dashboard-stats-scope span {
  color: #58a6ff;
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .08em;
}

.dashboard-stats-scope strong {
  color: #f0f6fc;
  font-size: .92rem;
  text-align: right;
}

.dashboard-stat-groups {
  display: grid;
  grid-template-columns: repeat(4, minmax(210px, 1fr));
  gap: 14px;
  align-items: stretch;
}

.dashboard-stat-group {
  min-width: 0;
  border: 1px solid #30363d;
  border-radius: 8px;
  background: #0b0f14;
  padding: 13px;
}

.dashboard-stat-group-title {
  margin-bottom: 10px;
  padding-bottom: 8px;
  border-bottom: 1px dashed #30363d;
  color: #8b949e;
  font: 900 .7rem Consolas, monospace;
  letter-spacing: .07em;
  text-transform: uppercase;
}

.dashboard-stat-matrix {
  display: grid;
  overflow: hidden;
  border: 1px solid #30363d;
  border-radius: 7px;
  background: #0d1117;
}

.dashboard-stat-matrix-2x2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
.dashboard-stat-matrix-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
.dashboard-stat-matrix-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }

.dashboard-stat-metric {
  min-width: 0;
  min-height: 86px;
  padding: 12px 10px;
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  text-align: center;
  border-right: 1px solid #30363d;
  border-bottom: 1px solid #30363d;
}

.dashboard-stat-matrix-2x2 .dashboard-stat-metric:nth-child(2n),
.dashboard-stat-matrix-2 .dashboard-stat-metric:nth-child(2n),
.dashboard-stat-matrix-3 .dashboard-stat-metric:nth-child(3n) {
  border-right: 0;
}

.dashboard-stat-matrix-2x2 .dashboard-stat-metric:nth-last-child(-n+2),
.dashboard-stat-matrix-2 .dashboard-stat-metric:nth-last-child(-n+2),
.dashboard-stat-matrix-3 .dashboard-stat-metric:nth-last-child(-n+3) {
  border-bottom: 0;
}

.dashboard-stat-metric span {
  color: #8b949e;
  font: 900 .68rem Consolas, monospace;
  letter-spacing: .04em;
  text-transform: uppercase;
}

.dashboard-stat-metric strong {
  margin-top: 7px;
  color: #3fb950;
  font: 900 1.58rem/1.05 Consolas, monospace;
  overflow-wrap: anywhere;
}

.dashboard-stat-metric small {
  margin-top: 5px;
  color: #58a6ff;
  font: 700 .66rem/1.25 Consolas, monospace;
}

.dashboard-stat-capacity {
  grid-column: span 2;
}

.dashboard-stat-progress,
.dashboard-stat-scope {
  grid-column: span 2;
}

.dashboard-progress-layout {
  display: grid;
  grid-template-columns: 150px minmax(0, 1fr);
  gap: 14px;
  align-items: center;
}

.dashboard-progress-ring {
  width: 126px;
  height: 126px;
  margin: 0 auto;
  border-radius: 50%;
  display: grid;
  place-items: center;
  background:
    radial-gradient(circle at center, #0d1117 58%, transparent 60%),
    conic-gradient(#2ea043 var(--dashboard-progress), #21262d 0);
  border: 1px solid #30363d;
}

.dashboard-progress-ring strong {
  color: #f0f6fc;
  font: 900 1.48rem Consolas, monospace;
}

.dashboard-progress-data {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  overflow: hidden;
  border: 1px solid #30363d;
  border-radius: 7px;
  background: #0d1117;
}

.dashboard-progress-data .dashboard-stat-metric {
  border-bottom: 0;
}
.dashboard-progress-data .dashboard-stat-metric:last-child {
  border-right: 0;
}

.dashboard-content-tabs {
  margin-top: 3px;
}

@media (max-width: 1450px) {
  .dashboard-stat-groups {
    grid-template-columns: repeat(2, minmax(270px, 1fr));
  }
  .dashboard-stat-capacity,
  .dashboard-stat-progress { grid-column: span 1; }
  .dashboard-stat-scope { grid-column: span 2; }
}

@media (max-width: 900px) {
  .dashboard-tab-content,
  .dashboard-server-tab-view,
  .dashboard-stats-view {
    overflow: visible;
  }
  .dashboard-stat-groups {
    grid-template-columns: 1fr;
  }
  .dashboard-stat-capacity,
  .dashboard-stat-progress,
  .dashboard-stat-scope { grid-column: auto; }
  .dashboard-progress-layout { grid-template-columns: 1fr; }
}

@media (max-width: 560px) {
  .dashboard-stat-matrix-3,
  .dashboard-stat-matrix-2,
  .dashboard-stat-matrix-2x2,
  .dashboard-progress-data {
    grid-template-columns: 1fr;
  }
  .dashboard-stat-metric {
    border-right: 0 !important;
    border-bottom: 1px solid #30363d !important;
  }
  .dashboard-stat-metric:last-child {
    border-bottom: 0 !important;
  }
}

/* Global action-only footer alignment */
.ark-global-statusbar.is-idle > .ark-status-actions:only-child {
  grid-column: -2 / -1;
  justify-self: end;
  white-space: nowrap;
}

/* Dashboard footer actions */
.ark-dashboard-status-actions {
  grid-column: -2 / -1;
  justify-self: end;
  white-space: nowrap;
}
.ark-dashboard-settings-menu .ark-action-menu-popover { min-width: 210px; }
@media (max-width: 700px) {
  .ark-dashboard-status-actions { width: 100%; justify-content: flex-end; }
  .ark-dashboard-status-actions .ark-status-btn { padding-left: 10px; padding-right: 10px; }
}

/* operating-system settings and server-card identity */
.ark-operating-systems-page .ark-page-card { min-height: calc(var(--ark-layout-vh) - 150px); }
.ark-operating-systems-heading { display:flex; align-items:flex-start; justify-content:space-between; gap:24px; margin-bottom:18px; }
.ark-operating-systems-heading > div > span { display:block; font-size:11px; letter-spacing:.16em; opacity:.66; }
.ark-operating-systems-heading h1 { margin:4px 0 6px; }
.ark-operating-systems-heading p { margin:0; max-width:820px; opacity:.76; line-height:1.45; }
.operating-system-summary { display:grid; grid-template-columns:repeat(3,minmax(140px,1fr)); gap:12px; margin-bottom:16px; }
.operating-system-summary > div { border:1px solid var(--border); border-radius:10px; padding:14px 16px; background:rgba(255,255,255,.025); }
.operating-system-summary span { display:block; font-size:11px; letter-spacing:.1em; text-transform:uppercase; opacity:.68; }
.operating-system-summary strong { display:block; margin-top:4px; font-size:25px; }
.operating-system-grid { display:grid; grid-template-columns:repeat(auto-fit,minmax(340px,1fr)); gap:14px; align-items:start; }
.operating-system-card { border:1px solid var(--border); border-radius:12px; overflow:hidden; background:rgba(255,255,255,.02); }
.operating-system-card > header { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:14px 16px; border-bottom:1px solid var(--border); }
.operating-system-card > header span { display:block; font-size:10px; letter-spacing:.14em; opacity:.62; }
.operating-system-card > header h2 { margin:3px 0 0; font-size:18px; }
.operating-system-card > header > strong { min-width:36px; text-align:center; padding:6px 9px; border-radius:999px; border:1px solid var(--border); }
.operating-system-server-list { display:grid; }
.operating-system-server { display:flex; align-items:center; justify-content:space-between; gap:16px; width:100%; padding:11px 16px; border:0; border-bottom:1px solid rgba(255,255,255,.07); background:transparent; color:inherit; text-align:left; cursor:pointer; }
.operating-system-server:last-child { border-bottom:0; }
.operating-system-server:hover { background:rgba(255,255,255,.045); }
.operating-system-server span { display:grid; gap:2px; }
.operating-system-server small { opacity:.62; }
.operating-system-server em { max-width:46%; overflow:hidden; text-overflow:ellipsis; white-space:nowrap; font-style:normal; font-size:11px; opacity:.62; }
.server-card-detail-row strong[title] { overflow:hidden; text-overflow:ellipsis; white-space:nowrap; }
@media (max-width:760px) {
  .ark-operating-systems-heading { flex-direction:column; }
  .operating-system-summary { grid-template-columns:1fr; }
  .operating-system-grid { grid-template-columns:1fr; }
}


/* dashboard inventory breakdowns and customer setup parity */
.dashboard-stat-breakdowns {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 14px;
  margin-top: 14px;
  padding-bottom: 4px;
}
.dashboard-stat-breakdowns .analytics-card {
  min-width: 0;
  margin: 0;
  align-self: start;
}
.dashboard-stat-breakdowns .analytics-title {
  margin-bottom: 10px;
}
.dashboard-stat-breakdowns .analytics-row-top span:first-child {
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.customer-directory-page-layout,
.customer-directory-page {
  height: 100%;
  min-height: 0;
}
.customer-directory-sidebar {
  min-height: 0;
}
.customer-directory-list-item {
  align-items: stretch;
}
.customer-directory-list-item > span {
  color: #58a6ff;
  font-size: 8px;
  font-weight: 900;
  letter-spacing: .08em;
  text-transform: uppercase;
}
.customer-directory-list-item > strong {
  font-size: 12px;
  color: #f3f8ff;
}
.customer-directory-list-item > small {
  font-size: 9px;
  line-height: 1.35;
  color: #91a4b9;
}
.customer-directory-header-actions {
  display: flex;
  gap: 8px;
  flex: 0 0 auto;
}
.customer-directory-form-grid {
  grid-template-columns: minmax(0, 1fr);
}
.customer-directory-form-grid .wide {
  grid-column: auto;
}
.customer-directory-form-actions {
  justify-content: flex-start;
}
@media (max-width: 1180px) {
  .dashboard-stat-breakdowns { grid-template-columns: 1fr 1fr; }
  .dashboard-stat-breakdowns .analytics-card:last-child { grid-column: 1 / -1; }
}
@media (max-width: 760px) {
  .dashboard-stat-breakdowns { grid-template-columns: 1fr; }
  .dashboard-stat-breakdowns .analytics-card:last-child { grid-column: auto; }
  .customer-directory-header-actions { width: 100%; }
  .customer-directory-header-actions .btn-side { flex: 1 1 0; }
}

.customer-directory-list-item {
  width: 100%;
  display: grid;
  gap: 3px;
  text-align: left;
  border: 1px solid #2a3949;
  border-left: 4px solid #40546a;
  background: #111a24;
  color: #dbe7f4;
  border-radius: 7px;
  padding: 9px 10px;
}
.customer-directory-list-item:hover {
  border-color: #4d89bd;
  background: #132131;
}
.customer-directory-list-item.active {
  border-color: #14ae4e;
  border-left-color: #14ae4e;
  background: #10271b;
  box-shadow: inset 0 0 0 1px rgba(20,174,78,.2);
}
.customer-directory-page-header {
  flex: 0 0 auto;
  align-items: center;
  padding: 14px 16px;
  border-bottom: 1px solid #293746;
  background: #0e1721;
}
.customer-directory-page-header > div:first-child { min-width: 0; }
.customer-directory-page-header > div:first-child > span {
  display: block;
  font: 800 9px/1.2 var(--mono,Consolas,monospace);
  letter-spacing: .09em;
  color: #58a6ff;
}
.customer-directory-page-header h1 {
  margin: 3px 0 2px;
  font-size: 20px;
  color: #fff;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}
.customer-directory-page-header p {
  margin: 0;
  color: #94a7bb;
  font-size: 10px;
}
.customer-directory-editor-scroll {
  min-height: 0;
  overflow: auto;
  padding: 14px 16px 24px;
  scrollbar-width: none;
}
.customer-directory-editor-scroll::-webkit-scrollbar { display: none; }


/* rearrangeable two-column Dashboard Stats */
.dashboard-stats-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 14px;
  padding: 0 2px 10px;
  border-bottom: 1px dashed #30363d;
}
.dashboard-stats-toolbar > div { min-width: 0; display: grid; gap: 3px; }
.dashboard-stats-toolbar span { color: #58a6ff; font: 900 .72rem Consolas, monospace; letter-spacing: .08em; }
.dashboard-stats-toolbar small { color: #8b949e; font: 700 .68rem/1.3 Consolas, monospace; }
.dashboard-stats-board {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 16px;
  align-items: start;
  padding-bottom: 6px;
}
.dashboard-stats-column {
  min-width: 0;
  min-height: 140px;
  display: flex;
  flex-direction: column;
  gap: 14px;
  border-radius: 10px;
}
.dashboard-stats-column:empty { border: 1px dashed #30363d; background: rgba(88, 166, 255, .025); }
.dashboard-stats-panel {
  position: relative;
  min-width: 0;
  cursor: grab;
  transition: opacity .12s ease, transform .12s ease, box-shadow .12s ease;
}
.dashboard-stats-panel:active { cursor: grabbing; }
.dashboard-stats-panel.is-dragging { opacity: .52; transform: scale(.992); box-shadow: 0 0 0 2px rgba(88, 166, 255, .28); }
.dashboard-stats-panel > .analytics-card,
.dashboard-stats-panel > .dashboard-stat-group { width: 100%; margin: 0; }
.dashboard-stats-panel > .dashboard-stat-group { grid-column: auto; }
.dashboard-stats-drag-handle {
  position: absolute;
  top: 8px;
  right: 8px;
  z-index: 4;
  width: 28px;
  height: 28px;
  display: grid;
  place-items: center;
  padding: 0;
  border: 1px solid #30363d;
  border-radius: 6px;
  background: #111820;
  color: #8b949e;
  font: 900 15px/1 Consolas, monospace;
  letter-spacing: -5px;
  cursor: grab;
}
.dashboard-stats-drag-handle:hover,
.dashboard-stats-drag-handle:focus-visible { color: #58a6ff; border-color: #58a6ff; outline: none; }
.dashboard-stats-panel .analytics-title,
.dashboard-stats-panel .dashboard-stat-group-title { padding-right: 34px; }
.dashboard-stat-storage-media .dashboard-stat-metric:nth-child(-n+3) { border-bottom: 1px solid #30363d; }
@media (max-width: 900px) {
  .dashboard-stats-board { grid-template-columns: 1fr; }
  .dashboard-stats-column { min-height: 0; }
}
@media (max-width: 560px) {
  .dashboard-stats-toolbar { align-items: stretch; flex-direction: column; }
}


/* inline server-card status rows */
.server-card-inline-status-section {
  padding-top: 11px;
  padding-bottom: 11px;
}
.server-card-inline-status-row {
  display: grid;
  grid-template-columns: 118px minmax(0, 1fr);
  gap: 14px;
  align-items: start;
}
.server-card-inline-status-label {
  color: #58a6ff;
  font-family: Consolas, monospace;
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .08em;
  line-height: 1.35;
  text-transform: uppercase;
}
.server-card-inline-status-section .server-filter-status {
  align-items: flex-end;
  text-align: right;
  font-size: .76rem;
}
.server-card-inline-status-section .server-card-validation-summary {
  min-width: 0;
  display: flex;
  flex-direction: column;
  align-items: flex-end;
  justify-content: flex-start;
  gap: 3px;
  text-align: right;
}
.server-card-inline-status-section .server-card-validation-summary span {
  text-align: right;
}
@media (max-width: 420px) {
  .server-card-inline-status-row {
    grid-template-columns: 104px minmax(0, 1fr);
    gap: 10px;
  }
}


/* dashboard Settings interaction */
.ark-global-statusbar { position: relative; isolation: isolate; }
.ark-dashboard-settings-menu[open] { z-index: 900; }
.ark-dashboard-settings-menu .ark-action-menu-popover { pointer-events: auto; }
.dashboard-stats-toolbar { justify-content: flex-start; }


/* customer bottom-bar actions */
.ark-customer-status-actions {
  margin-left: auto;
}


/* Servers page Stats / Servers tabs */
.servers-dashboard-workspace {
  padding-bottom: 0 !important;
}
.servers-fixed-content {
  flex: 0 0 auto;
}
.servers-content-tabs {
  margin-top: 0;
}
.servers-tab-content {
  flex: 1 1 auto;
  min-height: 0;
  overflow: hidden;
  display: flex;
  flex-direction: column;
}
.servers-tab-content > .dashboard-stats-view {
  padding-top: 14px;
}
.servers-tab-content > .servers-server-scroll-region {
  flex: 1 1 auto;
  min-height: 0;
}
@media (max-width: 900px) {
  .servers-tab-content {
    overflow: visible;
  }
}


/* standalone switch/router inventory and corrected management footer actions */
.management-tab-content { flex: 1 1 auto; min-height: 0; overflow: hidden; display: flex; flex-direction: column; }
.management-tab-content > .management-stats-view { flex: 1 1 auto; min-height: 0; overflow: auto; padding: 14px 2px 18px; scrollbar-width: none; }
.management-tab-content > .management-stats-view::-webkit-scrollbar { display: none; }
.management-tab-content > .management-list-view { flex: 1 1 auto; min-height: 0; }
.management-stats-panel { cursor: default; }
.management-stats-panel:active { cursor: default; }
.management-stat-group { min-height: 0; }
.management-stat-matrix { display: grid; grid-template-columns: repeat(2,minmax(0,1fr)); gap: 0; }
.management-stat-matrix > div { min-width: 0; padding: 14px 16px; border-right: 1px solid #30363d; border-bottom: 1px solid #30363d; display: grid; gap: 4px; }
.management-stat-matrix > div:nth-child(2n) { border-right: 0; }
.management-stat-matrix > div.wide { grid-column: 1 / -1; border-right: 0; }
.management-stat-matrix span { color: #8b949e; font: 800 .68rem Consolas,monospace; letter-spacing: .06em; text-transform: uppercase; }
.management-stat-matrix strong { color: #f0f6fc; font: 900 1.45rem/1.1 Consolas,monospace; }
.management-list-toolbar { flex: 0 0 auto; display: flex; justify-content: flex-end; align-items: end; gap: 12px; padding: 12px 2px 10px; border-bottom: 1px dashed #30363d; }
.management-list-toolbar .network-customer-filter { width: min(420px,100%); }
.ark-management-status-actions { margin-left: auto; }
@media (max-width: 900px) { .management-tab-content { overflow: visible; } .management-tab-content > .management-stats-view { overflow: visible; } }
@media (max-width: 560px) { .management-stat-matrix { grid-template-columns: 1fr; } .management-stat-matrix > div { border-right: 0; } .management-list-toolbar { align-items: stretch; } .management-list-toolbar .network-customer-filter { width: 100%; } }

/* device-owned network layouts */
.network-layout-moved-note {
  display: grid;
  gap: 5px;
  padding: 12px 14px;
  border: 1px solid var(--line, #2f3b49);
  border-radius: 8px;
  background: color-mix(in srgb, var(--panel, #111820) 88%, var(--accent, #58a6ff) 12%);
}
.network-layout-moved-note strong { font-size: .76rem; letter-spacing: .1em; color: var(--accent, #58a6ff); }
.network-layout-moved-note span { color: var(--muted, #9ba7b4); }
.network-inline-layout-form { padding: 16px; }
.network-device-layout-editor .network-inline-layout-form,
.network-server-layout-workspace .network-inline-layout-form {
  border: 1px solid var(--line, #2f3b49);
  border-radius: 10px;
  background: var(--panel-soft, rgba(255,255,255,.02));
}
.network-layout-status {
  align-self: center;
  padding: 7px 10px;
  border-radius: 999px;
  font-size: .72rem;
  font-weight: 800;
  letter-spacing: .06em;
  text-transform: uppercase;
}
.network-layout-status.ready { color: #71e59c; border: 1px solid rgba(113,229,156,.45); background: rgba(47,208,111,.1); }
.network-layout-status.pending { color: #ffd166; border: 1px solid rgba(255,209,102,.45); background: rgba(255,193,7,.08); }
.network-device-identity-grid {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 10px;
  padding: 12px 0;
}
.network-device-identity-grid > div {
  min-width: 0;
  padding: 10px 12px;
  border: 1px solid var(--line, #2f3b49);
  border-radius: 7px;
  background: rgba(255,255,255,.018);
}
.network-device-identity-grid span,
.network-device-notes > span { display: block; margin-bottom: 5px; color: var(--muted, #9ba7b4); font-size: .68rem; letter-spacing: .08em; text-transform: uppercase; }
.network-device-identity-grid strong { overflow-wrap: anywhere; }
.network-device-notes { margin-top: 10px; padding: 12px; border: 1px solid var(--line, #2f3b49); border-radius: 7px; }
.network-device-notes p { margin: 0; white-space: pre-wrap; }
.network-unconfigured-copy { display: grid; gap: 4px; }
.network-unconfigured-copy strong { color: #ffd166; }
.network-unconfigured-copy span { color: var(--muted, #9ba7b4); }
@media (max-width: 1050px) { .network-device-identity-grid { grid-template-columns: repeat(2, minmax(0,1fr)); } }
@media (max-width: 650px) { .network-device-identity-grid { grid-template-columns: 1fr; } }


/* consistent detail-page action placement */
.ark-detail-status-actions { margin-left: auto; }
.network-switch-detail-header,
.network-cabling-rack-heading,
.rack-detail-header { min-height: 0; }
@media (max-width: 900px) {
  .ark-detail-status-actions { width: 100%; flex-wrap: wrap; justify-content: flex-end; }
  .ark-detail-status-actions .ark-status-btn { flex: 0 1 auto; }
}
@media (max-width: 560px) {
  .ark-detail-status-actions .ark-status-btn { flex: 1 1 calc(50% - 4px); }
}


/* shared detail-section tabs */
.network-detail-content-tabs.dashboard-content-tabs,
.storage-detail-content-tabs.dashboard-content-tabs {
  display: flex;
  align-items: flex-end;
  gap: 4px;
  min-height: 31px;
  margin: 3px 0 12px;
  padding: 0;
  border: 0;
  border-bottom: 1px solid #30363d;
  border-radius: 0;
  background: transparent;
  position: static;
  top: auto;
  z-index: auto;
  overflow-x: auto;
  overflow-y: hidden;
  scrollbar-width: none;
}
.network-detail-content-tabs.dashboard-content-tabs::-webkit-scrollbar,
.storage-detail-content-tabs.dashboard-content-tabs::-webkit-scrollbar { display: none; }
.network-detail-content-tabs .dashboard-content-tab,
.storage-detail-content-tabs .dashboard-content-tab {
  appearance: none;
  flex: 0 0 auto;
  min-height: 29px;
  margin: 0;
  padding: 5px 12px;
  border: 1px solid #30363d;
  border-bottom: 0;
  border-radius: 5px 5px 0 0;
  background: #0b0f14;
  color: #8b949e;
  box-shadow: none;
  font: 900 .63rem Consolas, monospace;
  line-height: normal;
  letter-spacing: .05em;
  text-transform: uppercase;
  white-space: nowrap;
  cursor: pointer;
}
.network-detail-content-tabs .dashboard-content-tab:hover,
.storage-detail-content-tabs .dashboard-content-tab:hover {
  color: #f0f6fc;
  border-color: rgba(88,166,255,.55);
  background: #0b0f14;
}
.network-detail-content-tabs .dashboard-content-tab.active,
.storage-detail-content-tabs .dashboard-content-tab.active {
  color: #f0f6fc;
  background: rgba(35,134,54,.18);
  border-color: #2ea043;
  box-shadow: inset 0 -2px 0 #2ea043;
}
.network-detail-content-tabs .dashboard-content-tab span,
.storage-detail-content-tabs .dashboard-content-tab span {
  display: inline-flex;
  min-width: 18px;
  height: auto;
  align-items: center;
  justify-content: center;
  margin-left: 5px;
  padding: 1px 5px;
  border-radius: 999px;
  background: rgba(48,54,61,.78);
  color: #c9d1d9;
  font-size: .56rem;
}
.network-cabling-page .network-detail-content-tabs .dashboard-content-tab {
  padding: 5px 12px;
  font-size: .63rem;
}
@media (max-width: 900px) {
  .network-detail-content-tabs.dashboard-content-tabs,
  .storage-detail-content-tabs.dashboard-content-tabs {
    position: static;
    top: auto;
  }
}

/* centered management-list search in the global bottom bar */
.ark-global-statusbar.has-management-search .ark-status-search {
  grid-column: 2 / 3;
  justify-self: center;
  width: min(560px, 100%);
}
.ark-status-search {
  min-width: 0;
  display: grid;
  grid-template-columns: auto minmax(220px, 1fr);
  align-items: center;
  gap: 9px;
}
.ark-status-search > span {
  color: #58a6ff;
  font: 900 .68rem/1 Consolas, monospace;
  letter-spacing: .06em;
  text-transform: uppercase;
  white-space: nowrap;
}
.ark-status-search .cyber-input {
  min-width: 0;
  min-height: 30px;
  height: 30px;
  padding: 5px 10px;
}
.ark-global-statusbar.has-management-search .ark-management-status-actions {
  grid-column: 4 / 5;
  justify-self: end;
  margin-left: 0;
  white-space: nowrap;
}
@media (max-width: 1050px) {
  .ark-global-statusbar.has-management-search {
    grid-template-columns: minmax(220px, 1fr) auto !important;
  }
  .ark-global-statusbar.has-management-search .ark-status-search {
    grid-column: 1 / 2;
    justify-self: stretch;
    width: min(560px, 100%);
  }
  .ark-global-statusbar.has-management-search .ark-management-status-actions {
    grid-column: 2 / 3;
  }
}
@media (max-width: 700px) {
  .ark-global-statusbar.has-management-search {
    grid-template-columns: 1fr !important;
  }
  .ark-global-statusbar.has-management-search .ark-status-search,
  .ark-global-statusbar.has-management-search .ark-management-status-actions {
    grid-column: 1 / -1;
  }
  .ark-global-statusbar.has-management-search .ark-status-search {
    width: 100%;
    grid-template-columns: 1fr;
    gap: 4px;
  }
  .ark-global-statusbar.has-management-search .ark-management-status-actions {
    justify-self: end;
    max-width: 100%;
    overflow-x: auto;
  }
}


/* keep Open / Edit / Delete inventory-card actions on one row */
.server-record-card .server-card-actions:has(> .btn-card-open):has(> .btn-card-edit):has(> .btn-card-delete) {
  grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}


/* page-level notices in the bottom-left status area */
.ark-status-notice {
  grid-column: 1 / 2;
  min-width: 0;
  max-width: min(760px, 100%);
  display: flex;
  align-items: center;
  gap: 8px;
  overflow: hidden;
  white-space: nowrap;
  color: #8b949e;
}
.ark-status-notice-level {
  flex: 0 0 auto;
  padding: 3px 6px;
  border: 1px solid currentColor;
  border-radius: 999px;
  font: 900 .58rem/1 Consolas, monospace;
  letter-spacing: .07em;
}
.ark-status-notice strong {
  flex: 0 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  color: #c9d1d9;
}
.ark-status-notice-text {
  flex: 1 1 auto;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
}
.ark-status-notice.info .ark-status-notice-level,
.ark-status-notice.info strong { color: #58a6ff; }
.ark-status-notice.warning .ark-status-notice-level,
.ark-status-notice.warning strong { color: #d29922; }
.ark-status-notice.error .ark-status-notice-level,
.ark-status-notice.error strong { color: #f85149; }
.ark-global-statusbar.has-page-notice.is-idle > .ark-status-actions:last-child {
  grid-column: 4 / 5;
  justify-self: end;
  margin-left: 0;
  white-space: nowrap;
}
@media (max-width: 1050px) and (min-width: 701px) {
  .ark-global-statusbar.has-page-notice.has-management-search {
    grid-template-columns: minmax(170px, .8fr) minmax(220px, 1fr) auto !important;
    gap: 10px !important;
  }
  .ark-global-statusbar.has-page-notice.has-management-search .ark-status-notice { grid-column: 1 / 2; }
  .ark-global-statusbar.has-page-notice.has-management-search .ark-status-search { grid-column: 2 / 3; }
  .ark-global-statusbar.has-page-notice.has-management-search .ark-management-status-actions { grid-column: 3 / 4; }
  .ark-global-statusbar.has-page-notice:not(.has-management-search).is-idle > .ark-status-actions:last-child { grid-column: 2 / 3; }
}
@media (max-width: 700px) {
  .ark-global-statusbar.has-page-notice { grid-template-columns: 1fr !important; }
  .ark-global-statusbar.has-page-notice .ark-status-notice,
  .ark-global-statusbar.has-page-notice .ark-status-search,
  .ark-global-statusbar.has-page-notice.is-idle > .ark-status-actions:last-child {
    grid-column: 1 / -1;
  }
  .ark-global-statusbar.has-page-notice.is-idle > .ark-status-actions:last-child { justify-self: end; }
  .ark-status-notice { max-width: 100%; }
}


/* Server network ports and out-of-band management */
.network-management-port-editor [data-server-management-field].disabled { opacity: .42; }
.network-management-port-note { display:flex; flex-direction:column; gap:4px; padding:10px 12px; border:1px dashed var(--line-soft, #253341); border-radius:6px; }
.network-management-port-note strong { color:var(--accent-blue, #58a6ff); font-size:11px; letter-spacing:.08em; }
.network-management-port-note span { color:var(--text-muted, #8b98a5); font-size:12px; }
.network-detail-port.management { border-color:#d29922; box-shadow:inset 0 0 0 1px rgba(210,153,34,.35); }
.network-detail-port.management small { color:#d29922; }
.network-detail-port-wrap.management > span { color:#d29922; }
.network-server-port-summary-panel { margin-top:0; overflow:hidden; }
.network-server-port-summary-grid {
  display:grid;
  grid-template-columns:repeat(6,minmax(0,1fr));
  gap:0;
  overflow:hidden;
  border:1px solid var(--line, #30363d);
  border-radius:7px;
  background:var(--panel-deep, #0b0f14);
}
.network-server-port-summary-grid > div {
  min-width:0;
  min-height:64px;
  padding:10px 12px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:5px;
  border-right:1px solid var(--line, #30363d);
}
.network-server-port-summary-grid > div:last-child { border-right:0; }
.network-server-port-summary-grid span {
  color:var(--text-muted, #8b949e);
  font:800 .62rem/1.1 Consolas,monospace;
  letter-spacing:.065em;
  text-transform:uppercase;
}
.network-server-port-summary-grid strong {
  color:var(--text-main, #f0f6fc);
  font:900 1.08rem/1.1 Consolas,monospace;
  overflow-wrap:anywhere;
}
.network-server-port-summary-grid > div:nth-child(5) strong { color:var(--accent-green, #2ea043); }
.network-server-ports-workspace .network-switch-detail-section { margin-top:12px; }
@media (max-width:1200px) {
  .network-server-port-summary-grid { grid-template-columns:repeat(3,minmax(0,1fr)); }
  .network-server-port-summary-grid > div { border-bottom:1px solid var(--line, #30363d); }
  .network-server-port-summary-grid > div:nth-child(3n) { border-right:0; }
  .network-server-port-summary-grid > div:nth-child(n+4) { border-bottom:0; }
}
@media (max-width:700px) {
  .network-server-port-summary-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
  .network-server-port-summary-grid > div,
  .network-server-port-summary-grid > div:nth-child(3n) { border-right:1px solid var(--line, #30363d); border-bottom:1px solid var(--line, #30363d); }
  .network-server-port-summary-grid > div:nth-child(2n) { border-right:0; }
  .network-server-port-summary-grid > div:nth-child(n+5) { border-bottom:0; }
}
@media (max-width:430px) {
  .network-server-port-summary-grid { grid-template-columns:1fr; }
  .network-server-port-summary-grid > div,
  .network-server-port-summary-grid > div:nth-child(2n),
  .network-server-port-summary-grid > div:nth-child(3n) { border-right:0; border-bottom:1px solid var(--line, #30363d); }
  .network-server-port-summary-grid > div:last-child { border-bottom:0; }
}

/* grouped Server Network Layout */
.network-server-layout-workspace .network-inline-layout-form{
  gap:16px;
  align-content:start;
}
.server-network-layout-heading{
  align-items:center;
  padding:2px 0 12px;
}
.server-network-layout-heading > div,
.server-network-section-heading > div,
.server-network-card-heading > div{
  display:flex;
  flex-direction:column;
  gap:4px;
  min-width:0;
}
.server-network-layout-heading > div > strong,
.server-network-section-heading strong,
.server-network-card-heading strong{
  font:900 10px var(--mono,Consolas,monospace);
  color:#dcecff;
  letter-spacing:.08em;
}
.server-network-layout-heading > div > span,
.server-network-section-heading span,
.server-network-card-heading span{
  color:#8398ab;
  font-size:9px;
  line-height:1.35;
}
.server-network-section-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  padding:2px 2px 0;
}
.server-network-section-heading small{
  color:#58a6ff;
  font:800 8px var(--mono,Consolas,monospace);
  letter-spacing:.06em;
  white-space:nowrap;
}
.server-network-card-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding-bottom:10px;
  margin-bottom:2px;
  border-bottom:1px solid rgba(88,166,255,.16);
}
.server-network-card-state{
  flex:0 0 auto;
  padding:4px 7px;
  border:1px solid #34495c;
  border-radius:999px;
  background:#0b141d;
  color:#8398ab !important;
  font:900 7px var(--mono,Consolas,monospace) !important;
  letter-spacing:.07em;
  white-space:nowrap;
}
.server-network-card-state.primary{
  border-color:#238636;
  color:#3fb950 !important;
}
.server-network-card-state.management{
  border-color:#9e6a03;
  color:#d29922 !important;
}
.server-network-onboard-card,
.server-network-management-card{
  grid-template-columns:repeat(2,minmax(0,1fr));
  padding:16px;
  border-color:#36526a;
  background:linear-gradient(180deg,#111d28 0%,#0e1821 100%);
  box-shadow:0 8px 20px rgba(0,0,0,.12);
}
.server-network-onboard-card legend,
.server-network-management-card legend{
  font-size:9px;
}
.server-network-onboard-basics,
.server-network-onboard-ports,
.server-network-management-fields,
.server-network-addon-details{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.server-network-onboard-ports{
  grid-template-columns:repeat(4,minmax(0,1fr));
  padding:11px;
  border:1px solid #263b4d;
  border-radius:6px;
  background:#0b141d;
}
.server-network-addons-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.server-network-addon-card{
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-content:start;
  min-width:0;
  padding:14px;
  transition:border-color .16s ease, background .16s ease, opacity .16s ease;
}
.server-network-addon-card.is-active{
  border-color:#2f6f96;
  background:linear-gradient(180deg,#111d28 0%,#0f1922 100%);
}
.server-network-addon-card.is-active .server-network-card-state{
  border-color:#238636;
  color:#3fb950 !important;
}
.server-network-addon-card.is-inactive{
  border-color:#273746;
  background:#0d161f;
}
.server-network-addon-card.is-inactive .server-network-card-heading{
  opacity:.72;
}
.server-network-addon-details[hidden],
.server-network-management-fields.disabled{
  display:none !important;
}
.server-network-management-fields{
  padding-top:2px;
}
.network-management-port-editor [data-server-management-field].disabled{
  display:none;
}
.network-server-layout-workspace .network-inline-layout-form > footer{
  margin-top:2px;
  padding-top:14px;
  border-top:1px solid #253746;
}
@media(max-width:1100px){
  .server-network-addons-grid{grid-template-columns:1fr}
  .server-network-onboard-ports{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .server-network-onboard-card,
  .server-network-management-card,
  .server-network-addon-card,
  .server-network-onboard-basics,
  .server-network-onboard-ports,
  .server-network-management-fields,
  .server-network-addon-details{
    grid-template-columns:1fr;
  }
  .server-network-card-heading,
  .server-network-section-heading,
  .server-network-layout-heading{
    align-items:flex-start;
  }
}


/* grouped configuration forms */
.workspace-window-form-groups{
  display:grid;
  grid-template-columns:1fr;
  gap:14px;
}
.workspace-window-form-groups.two-column{
  grid-template-columns:repeat(2,minmax(0,1fr));
  align-items:start;
}
.workspace-window-form-group,
.rack-form-section,
.network-form-section{
  min-width:0;
  border:1px solid #2a3d4e;
  border-radius:8px;
  background:linear-gradient(180deg,#111b25 0%,#0d161f 100%);
  box-shadow:0 8px 18px rgba(0,0,0,.11);
  overflow:hidden;
}
.workspace-window-form-group.accent-primary,
.rack-form-section.accent-primary,
.network-form-section.accent-primary{
  border-color:#356382;
}
.workspace-window-form-group-head,
.rack-form-section-head,
.network-form-section-head{
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding:11px 13px;
  border-bottom:1px solid rgba(88,166,255,.14);
  background:#0d1720;
}
.workspace-window-form-group-head>span,
.rack-form-section-head>span,
.network-form-section-head>span{
  flex:0 0 auto;
  display:grid;
  place-items:center;
  width:24px;
  height:24px;
  border:1px solid #31506a;
  border-radius:999px;
  color:#58a6ff;
  background:#0a131b;
  font:900 8px var(--mono,Consolas,monospace);
}
.workspace-window-form-group-head>div,
.rack-form-section-head>div,
.network-form-section-head>div{
  display:flex;
  flex-direction:column;
  gap:3px;
  min-width:0;
}
.workspace-window-form-group-head strong,
.rack-form-section-head strong,
.network-form-section-head strong{
  color:#dcecff;
  font:900 10px var(--mono,Consolas,monospace);
  letter-spacing:.06em;
  text-transform:uppercase;
}
.workspace-window-form-group-head small,
.rack-form-section-head small,
.network-form-section-head small{
  color:#8194a6;
  font-size:9px;
  line-height:1.35;
}
.workspace-window-form-group>.workspace-window-grid,
.rack-form-section-grid,
.network-form-section-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:11px;
  padding:13px;
  align-items:start;
}
.workspace-window-grid.compact-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.workspace-window-grid.one-column-grid,
.rack-form-section-grid.one-column,
.network-form-section-grid.one-column{
  grid-template-columns:1fr;
}
.rack-form-section-grid.three-column{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.workspace-window-form-group .workspace-window-field,
.rack-form-section-grid>*,
.network-form-section-grid>*{
  min-width:0;
}
.grouped-rack-form,
.network-form-grid.grouped-network-form{
  align-content:start;
  gap:13px;
}
.grouped-rack-form>.rack-form-section,
.network-form-grid.grouped-network-form>.network-form-section{
  grid-column:1/-1;
}
.network-form-grid.grouped-network-form>.network-form-section.compact-section,
.rack-form-section.compact-section{
  background:#0e1720;
}
.network-form-grid.grouped-network-form>footer{
  grid-column:1/-1;
  margin-top:1px;
  padding-top:12px;
  border-top:1px solid #263746;
}
.network-form-section-grid .network-form-grid.nested{
  padding:0;
  background:transparent;
}
.rack-form-section-grid .rack-size-presets{
  align-self:end;
}
.rack-form-section-grid .rack-server-import-preview,
.rack-form-section-grid .rack-network-device-preview{
  grid-column:1/-1;
}
@media(max-width:1100px){
  .workspace-window-form-groups.two-column{grid-template-columns:1fr}
  .rack-form-section-grid.three-column{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:700px){
  .workspace-window-form-group>.workspace-window-grid,
  .workspace-window-grid.compact-grid,
  .rack-form-section-grid,
  .rack-form-section-grid.three-column,
  .network-form-section-grid{
    grid-template-columns:1fr;
  }
  .workspace-window-form-group-head,
  .rack-form-section-head,
  .network-form-section-head{
    padding:10px;
  }
}

/* grouped physical layout screens */
.device-layout-workspace-form{
  gap:16px;
  align-content:start;
}
.device-layout-screen-heading{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:18px;
  padding:2px 2px 0;
}
.device-layout-screen-heading>div{
  display:flex;
  flex-direction:column;
  gap:4px;
  min-width:0;
}
.device-layout-screen-heading strong{
  color:#dcecff;
  font:900 10px var(--mono,Consolas,monospace);
  letter-spacing:.08em;
}
.device-layout-screen-heading span{
  color:#8398ab;
  font-size:9px;
  line-height:1.35;
}
.device-layout-screen-heading small{
  flex:0 0 auto;
  color:#58a6ff;
  font:900 8px var(--mono,Consolas,monospace);
  letter-spacing:.07em;
  white-space:nowrap;
}
.device-layout-groups-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  align-items:start;
}
.device-layout-group-card{
  grid-template-columns:1fr;
  align-content:start;
  min-width:0;
  padding:14px;
  border-color:#2c4153;
  background:linear-gradient(180deg,#111c26 0%,#0d1720 100%);
  box-shadow:0 8px 18px rgba(0,0,0,.11);
  transition:border-color .16s ease,background .16s ease,opacity .16s ease;
}
.device-layout-group-card.is-active{
  border-color:#356382;
  background:linear-gradient(180deg,#12202c 0%,#0e1922 100%);
}
.device-layout-group-card.is-inactive{
  border-color:#273746;
  background:#0d161f;
}
.device-layout-group-card>legend{
  font-size:8px;
}
.device-layout-card-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding-bottom:10px;
  border-bottom:1px solid rgba(88,166,255,.16);
}
.device-layout-card-heading>div{
  display:flex;
  flex-direction:column;
  gap:4px;
  min-width:0;
}
.device-layout-card-heading strong{
  color:#dcecff;
  font:900 10px var(--mono,Consolas,monospace);
  letter-spacing:.07em;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.device-layout-card-heading span{
  color:#8398ab;
  font-size:9px;
  line-height:1.35;
}
.device-layout-card-state{
  flex:0 0 auto;
  padding:4px 7px;
  border:1px solid #34495c;
  border-radius:999px;
  background:#0b141d;
  color:#8398ab!important;
  font:900 7px var(--mono,Consolas,monospace)!important;
  letter-spacing:.07em;
  white-space:nowrap;
}
.device-layout-group-card.is-active .device-layout-card-state{
  border-color:#238636;
  color:#3fb950!important;
}
.device-layout-group-card.is-inactive .device-layout-card-heading{
  opacity:.74;
}
.device-layout-card-basics,
.device-layout-card-details{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
  min-width:0;
}
.device-layout-card-basics{
  padding-top:2px;
}
.device-layout-card-details{
  padding:11px;
  border:1px solid #263b4d;
  border-radius:6px;
  background:#0b141d;
}
.device-layout-card-details[hidden]{
  display:none!important;
}
.device-layout-card-details>.network-router-port-connectors{
  margin-top:0;
}
.device-layout-overview-grid{
  display:grid;
  grid-template-columns:minmax(250px,.72fr) minmax(0,1.28fr);
  gap:12px;
  align-items:stretch;
}
.device-layout-control-card,
.device-layout-preview-card{
  min-width:0;
  border:1px solid #2a3d4e;
  border-radius:8px;
  background:linear-gradient(180deg,#111b25 0%,#0d161f 100%);
  box-shadow:0 8px 18px rgba(0,0,0,.1);
  padding:13px;
  display:flex;
  flex-direction:column;
  gap:10px;
}
.device-layout-control-card>div,
.device-layout-preview-card>div:first-child{
  display:flex;
  flex-direction:column;
  gap:4px;
  padding-bottom:9px;
  border-bottom:1px solid rgba(88,166,255,.14);
}
.device-layout-control-card>div strong,
.device-layout-preview-card>div:first-child strong{
  color:#dcecff;
  font:900 9px var(--mono,Consolas,monospace);
  letter-spacing:.08em;
}
.device-layout-control-card>div span,
.device-layout-preview-card>div:first-child span{
  color:#8398ab;
  font-size:9px;
  line-height:1.35;
}
.device-layout-preview-card .network-router-live-preview{
  flex:1 1 auto;
  margin:0;
  border-style:solid;
  background:#09131c;
}
.device-layout-workspace-form>footer{
  margin-top:0;
  padding-top:14px;
  border-top:1px solid #253746;
}
@media(max-width:1150px){
  .device-layout-groups-grid,
  .device-layout-overview-grid{
    grid-template-columns:1fr;
  }
}
@media(max-width:700px){
  .device-layout-card-basics,
  .device-layout-card-details{
    grid-template-columns:1fr;
  }
  .device-layout-card-heading,
  .device-layout-screen-heading{
    align-items:flex-start;
  }
}


/* grouped overview workspaces */
.grouped-overview-page{
  display:grid;
  gap:14px;
  align-content:start;
}
.overview-group-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  align-items:start;
  padding-top:12px;
}
.overview-group-card{
  --overview-accent:#58a6ff;
  min-width:0;
  padding:14px;
  border:1px solid #2b4052;
  border-left:4px solid var(--overview-accent);
  border-radius:8px;
  background:linear-gradient(180deg,#111c26 0%,#0d1720 100%);
  box-shadow:0 8px 18px rgba(0,0,0,.1);
}
.overview-group-card.accent-primary{--overview-accent:#3fb950}
.overview-group-card.accent-green{--overview-accent:#2ea043}
.overview-group-card.accent-cyan{--overview-accent:#39c5cf}
.overview-group-card.accent-orange{--overview-accent:#d29922}
.overview-group-card.accent-gold{--overview-accent:#f5c400}
.overview-group-card.accent-blue{--overview-accent:#58a6ff}
.overview-group-card.accent-purple{--overview-accent:#a371f7}
.overview-group-card-head{
  display:flex;
  align-items:flex-start;
  gap:10px;
  padding-bottom:10px;
  margin-bottom:10px;
  border-bottom:1px solid color-mix(in srgb,var(--overview-accent) 24%,#253746 76%);
}
.overview-group-card-head>span{
  flex:0 0 auto;
  display:grid;
  place-items:center;
  width:26px;
  min-height:22px;
  border:1px solid color-mix(in srgb,var(--overview-accent) 62%,#263746 38%);
  border-radius:5px;
  background:color-mix(in srgb,var(--overview-accent) 10%,#0a131b 90%);
  color:var(--overview-accent);
  font:900 8px var(--mono,Consolas,monospace);
}
.overview-group-card-head>div{
  display:grid;
  gap:3px;
  min-width:0;
}
.overview-group-card-head strong{
  color:#dcecff;
  font:900 10px var(--mono,Consolas,monospace);
  letter-spacing:.07em;
  text-transform:uppercase;
}
.overview-group-card-head small{
  color:#8398ab;
  font-size:9px;
  line-height:1.35;
}
.overview-group-fields{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
}
.overview-group-field{
  min-width:0;
  padding:9px 10px;
  border:1px solid #263a4b;
  border-radius:6px;
  background:#0b141d;
}
.overview-group-field.wide{grid-column:1/-1}
.overview-group-field span{
  display:block;
  margin-bottom:5px;
  color:#7890a5;
  font:800 7px var(--mono,Consolas,monospace);
  letter-spacing:.07em;
  text-transform:uppercase;
}
.overview-group-field strong{
  display:block;
  color:#edf5ff;
  font-size:10px;
  line-height:1.35;
  overflow-wrap:anywhere;
}
.overview-group-fields.metrics .overview-group-field strong{
  color:var(--overview-accent);
  font:900 14px var(--mono,Consolas,monospace);
}
.overview-notes-card{
  grid-column:1/-1;
  --overview-accent:#8b949e;
}
.overview-notes-card p{
  margin:0;
  color:#c9d1d9;
  line-height:1.55;
  white-space:pre-wrap;
}
.storage-overview-page{
  gap:12px;
}
.storage-overview-summary-card,
.storage-overview-list-card{
  --overview-accent:#58a6ff;
}
.storage-overview-summary-card .raid-summary-grid{
  margin:0;
}
.storage-overview-list-card .raid-overview-table,
.storage-overview-list-card .zfs-pool-overview-grid{
  margin-top:0;
}
.storage-overview-list-card{
  overflow:hidden;
}
@media(max-width:1100px){
  .overview-group-grid{grid-template-columns:1fr}
}
@media(max-width:650px){
  .overview-group-fields{grid-template-columns:1fr}
  .overview-group-field.wide{grid-column:auto}
  .overview-group-card{padding:11px}
}

/* balanced Overview columns and readable typography */
.network-device-overview-grid{
  align-items:start;
}
.network-device-overview-grid>.overview-group-column{
  display:grid;
  gap:12px;
  align-content:start;
  min-width:0;
}
.network-device-overview-grid .overview-notes-card{
  grid-column:auto;
}
.grouped-overview-page>.rack-section-title>span{
  font-size:13px;
  letter-spacing:.075em;
}
.grouped-overview-page>.rack-section-title>small{
  font-size:11px;
  line-height:1.4;
}
.grouped-overview-page .overview-group-card{
  padding:16px;
}
.grouped-overview-page .overview-group-card-head{
  gap:12px;
  padding-bottom:12px;
  margin-bottom:12px;
}
.grouped-overview-page .overview-group-card-head>span{
  width:30px;
  min-height:26px;
  font-size:9px;
}
.grouped-overview-page .overview-group-card-head strong{
  font-size:12px;
  line-height:1.25;
}
.grouped-overview-page .overview-group-card-head small{
  font-size:10.5px;
  line-height:1.45;
}
.grouped-overview-page .overview-group-fields{
  gap:10px;
}
.grouped-overview-page .overview-group-field{
  padding:11px 12px;
}
.grouped-overview-page .overview-group-field span{
  margin-bottom:6px;
  font-size:8.5px;
  line-height:1.25;
}
.grouped-overview-page .overview-group-field strong{
  font-size:12px;
  line-height:1.4;
}
.grouped-overview-page .overview-group-fields.metrics .overview-group-field strong{
  font-size:17px;
}
.grouped-overview-page .overview-notes-card p{
  font-size:11px;
}
@media(max-width:1100px){
  .network-device-overview-grid>.overview-group-column{
    gap:12px;
  }
}
@media(max-width:650px){
  .grouped-overview-page .overview-group-card{
    padding:13px;
  }
  .grouped-overview-page .overview-group-card-head strong{
    font-size:11px;
  }
  .grouped-overview-page .overview-group-card-head small,
  .grouped-overview-page .overview-group-field strong{
    font-size:10.5px;
  }
}

/* standardized application typography */
:root{
  --ark-type-micro:8.5px;
  --ark-type-label:9.5px;
  --ark-type-caption:10.5px;
  --ark-type-control:12px;
  --ark-type-body:12px;
  --ark-type-section:12px;
  --ark-type-card-title:14px;
  --ark-type-page-title:18px;
  --ark-type-metric:17px;
  --ark-type-line:1.42;
}

html,body{
  font-size:var(--ark-base-font-size);
  line-height:var(--ark-type-line);
}

/* Application shell, navigation, tabs, footer, and actions. */
.ark-topbar-brand{font-size:13px}
.ark-topbar-brand small{font-size:var(--ark-type-caption)}
.ark-topnav-item{font-size:var(--ark-type-body)}
.ark-global-statusbar,
.ark-validation-compact,
.ark-status-item,
.ark-last-saved{font-size:11px}
.ark-status-btn,
.btn-side,
.btn-pipeline,
.btn-card,
.rack-table-edit,
.network-device-actions button,
.network-cable-row button,
.ark-action-menu-popover button{
  font-size:var(--ark-type-caption);
  line-height:1.25;
}
.dashboard-content-tab,
.network-detail-content-tabs .dashboard-content-tab,
.storage-detail-content-tabs .dashboard-content-tab,
.ark-workspace-btn{
  font-size:10.5px;
  line-height:1.2;
}
.dashboard-content-tab span,
.network-detail-content-tabs .dashboard-content-tab span,
.storage-detail-content-tabs .dashboard-content-tab span,
.ark-workspace-btn b{
  font-size:9px;
}

/* Standard form hierarchy. */
label,
.input-block>label,
.field-node>label,
.form-node>label,
.workspace-window-field>label,
.network-form-grid label,
.rack-form-grid label,
.rack-search-field>span,
.network-customer-filter>span{
  font-size:var(--ark-type-label);
  line-height:1.25;
}
.cyber-input,
.cyber-select,
.side-input,
.side-select,
.modal-input,
.modal-select,
.workspace-window-field input,
.workspace-window-field select,
.workspace-window-field textarea,
.network-form-grid input,
.network-form-grid select,
.network-form-grid textarea,
.rack-form-grid input,
.rack-form-grid select,
.rack-form-grid textarea{
  font-size:var(--ark-type-control);
  line-height:1.35;
}
.form-factor-sub,
.jbod-helper-info,
.sidebar-subtitle,
.workspace-window-field small,
.network-form-grid small,
.rack-form-grid small{
  font-size:var(--ark-type-caption);
  line-height:1.4;
}

/* Grouped forms and physical layout editors use the same Overview scale. */
.workspace-window-form-group-head strong,
.rack-form-section-head strong,
.network-form-section-head strong,
.server-network-section-heading strong,
.server-network-card-heading strong,
.device-layout-screen-heading strong,
.device-layout-card-heading strong,
.device-layout-control-card>div strong,
.device-layout-preview-card>div:first-child strong{
  font-size:var(--ark-type-section);
  line-height:1.25;
}
.workspace-window-form-group-head small,
.rack-form-section-head small,
.network-form-section-head small,
.server-network-section-heading small,
.server-network-section-heading span,
.server-network-card-heading span,
.device-layout-screen-heading span,
.device-layout-control-card>div span,
.device-layout-preview-card>div:first-child span{
  font-size:var(--ark-type-caption);
  line-height:1.45;
}
.workspace-window-form-group-head>span,
.rack-form-section-head>span,
.network-form-section-head>span,
.device-layout-group-card>legend{
  font-size:9px;
}
.device-layout-screen-heading small,
.device-layout-card-state{
  font-size:9px !important;
}

/* Page and section headings. */
.server-subworkspace-header h2,
.workspace-window-title-row h1,
.workspace-window-section-head h3,
.rack-section-title span,
.server-section-header,
.servers-section-header,
.identity-card-title,
.panel-header,
.dashboard-stat-group-title,
.analytics-title,
.server-browser-group-title,
.bay-layout-section-head strong{
  font-size:var(--ark-type-section);
  line-height:1.3;
}
.server-subworkspace-header p,
.workspace-window-title-row p,
.workspace-window-section-head p,
.rack-section-title small,
.server-browser-group-title small,
.bay-layout-section-head small{
  font-size:var(--ark-type-caption);
  line-height:1.45;
}
.workspace-eyebrow,
.dashboard-stats-scope span{
  font-size:var(--ark-type-label);
}

/* Inventory and identity cards. */
.server-card-section-title,
.server-card-eyebrow,
.rack-card-heading small,
.network-device-card header span{
  font-size:var(--ark-type-label);
}
.server-card-identity-name,
.server-card-title,
.network-device-card header h3{
  font-size:var(--ark-type-card-title);
  line-height:1.3;
}
.server-card-detail-row,
.server-card-filter-section .server-filter-status,
.server-card-validation-summary,
.server-card-inventory-progress,
.rack-card-footer,
.network-device-card header p{
  font-size:var(--ark-type-caption);
  line-height:1.4;
}
.server-card-detail-row strong,
.server-card-detail-row span,
.network-device-identity-grid strong,
.network-device-notes p{
  font-size:var(--ark-type-body);
}
.server-card-summary-grid span,
.server-summary-segment-title,
.server-summary-grid>div span,
.summary-grid-mini span,
.rack-card-metrics span,
.rack-card-detail span,
.network-device-identity-grid span,
.network-device-notes>span{
  font-size:var(--ark-type-label);
  line-height:1.25;
}
.server-card-summary-grid strong,
.server-summary-grid>div strong,
.summary-grid-mini strong,
.rack-card-metrics strong{
  font-size:var(--ark-type-metric);
}

/* Dashboard and management statistics. */
.dashboard-stats-scope strong{font-size:14px}
.dashboard-stat-metric span,
.management-stat-matrix span{
  font-size:var(--ark-type-caption);
  line-height:1.25;
}
.dashboard-stat-metric strong,
.management-stat-matrix strong{
  font-size:20px;
}
.dashboard-stat-metric small,
.management-stat-matrix small,
.analytics-empty{
  font-size:var(--ark-type-caption);
  line-height:1.4;
}

/* Sidebars, modal dialogs, and read-only detail grids. */
.modal-header-bar h3{font-size:var(--ark-type-card-title)}
.modal-body-content,
.continue-panel,
.ocr-panel summary{
  font-size:var(--ark-type-body);
}
.info-tag label{font-size:var(--ark-type-label)}
.info-tag span{font-size:var(--ark-type-body)}
.server-identity-sidebar .identity-row,
.server-identity-sidebar .server-card-detail-row,
.storage-sidebar-stats,
.history-table-row span,
.raid-overview-row span,
.raid-member-row{
  font-size:var(--ark-type-caption);
  line-height:1.4;
}

/* Overview pages remain the canonical typography reference. */
.grouped-overview-page .overview-group-card-head strong{font-size:var(--ark-type-section)}
.grouped-overview-page .overview-group-card-head small{font-size:var(--ark-type-caption)}
.grouped-overview-page .overview-group-field span{font-size:var(--ark-type-label)}
.grouped-overview-page .overview-group-field strong{font-size:var(--ark-type-body)}
.grouped-overview-page .overview-group-fields.metrics .overview-group-field strong{font-size:var(--ark-type-metric)}
.grouped-overview-page .overview-notes-card p{font-size:var(--ark-type-body)}

/* Deliberately compact technical surfaces keep their dense scale. */
.drive-bay,
.bay-status-badge,
.drive-health-badge,
.os-pill,
.raid-pill,
.network-port,
.network-switch-port,
.network-port-face,
.network-cable-label,
.rack-u-label,
.rack-mounted-type{
  line-height:normal;
}

@media(max-width:700px){
  :root{
    --ark-type-body:11.5px;
    --ark-type-control:11.5px;
    --ark-type-section:11.5px;
    --ark-type-card-title:13px;
  }
  .ark-topnav-item{font-size:11px}
  .dashboard-content-tab,
  .network-detail-content-tabs .dashboard-content-tab,
  .storage-detail-content-tabs .dashboard-content-tab,
  .ark-workspace-btn{font-size:10px}
}

.server-summary-grid-six {
  grid-template-columns: repeat(6, minmax(0, 1fr));
}
.server-summary-storage-media .server-summary-grid > div {
  min-width: 0;
}
.server-summary-storage-media .server-summary-grid span {
  white-space: nowrap;
}
@media (max-width: 520px) {
  .server-summary-grid-six {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}


.dashboard-stats-view,
.servers-tab-content > .dashboard-stats-view,
.management-tab-content > .management-stats-view {
  padding-top: 2px;
}
.network-device-overview,
.network-device-layout-editor {
  align-content: start;
}

.ark-status-left-group {
  grid-column: 1 / 2;
  min-width: 0;
  display: flex;
  align-items: center;
  gap: 10px;
  overflow: hidden;
}
.ark-status-left-group > .ark-validation-compact { flex: 0 0 auto; }
.ark-status-left-group > .ark-status-notice {
  flex: 1 1 auto;
  grid-column: auto;
  max-width: none;
}
.server-subworkspace.storage-workspace,
.server-subworkspace.drive-history-workspace,
.server-subworkspace.network-server-ports-workspace {
  padding-top: 0;
}
@media (max-width: 1180px) {
  .ark-status-left-group .ark-status-notice-text { display: none; }
}


.server-import-workflow-tabs {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 8px;
  padding: 10px 16px;
  border-bottom: 1px solid var(--border, #30363d);
  background: #0d1117;
}
.server-import-workflow-tab {
  display: grid;
  gap: 3px;
  min-width: 0;
  padding: 10px 14px;
  border: 1px solid #30363d;
  border-radius: 6px;
  background: #111820;
  color: #8b949e;
  text-align: left;
  cursor: pointer;
}
.server-import-workflow-tab span {
  color: inherit;
  font-family: Consolas, monospace;
  font-size: .82rem;
  font-weight: 900;
  letter-spacing: .04em;
  text-transform: uppercase;
}
.server-import-workflow-tab small {
  overflow: hidden;
  color: #6e7681;
  font-size: .68rem;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.server-import-workflow-tab:hover:not(:disabled) {
  border-color: #58a6ff;
  color: #f0f6fc;
}
.server-import-workflow-tab.active {
  border-color: #2ea043;
  background: rgba(46,160,67,.12);
  color: #56d364;
}
.server-import-workflow-tab.active small { color: #a7d9af; }
.server-import-workflow-tab:disabled,
.server-import-workflow-tab.disabled {
  opacity: .48;
  cursor: not-allowed;
}
.server-import-body {
  display: flex !important;
  grid-template-columns: none !important;
  min-height: 0;
  overflow: hidden !important;
}
.server-import-tab-panel {
  flex: 1 1 auto;
  min-width: 0;
  min-height: 0;
  overflow: auto;
  padding: 20px;
  background: #0d1117;
}
.import-install-workspace,
.import-review-workspace,
.import-confirm-workspace {
  width: 100%;
}
/* Configurable public and API URLs */
.import-install-workspace > .import-platform-tabs {
  width: 100%;
  max-width: none;
  margin: 0 0 12px;
  grid-template-columns: repeat(auto-fit, minmax(160px, 1fr));
}
.import-install-workspace > .import-script-list,
.import-install-workspace > .collector-usage-card,
.import-install-workspace > .import-schedule-card {
  width: 100%;
  max-width: none;
  margin-left: 0;
  margin-right: 0;
}
.import-install-workspace .import-script-card,
.import-install-workspace .collector-usage-card,
.import-install-workspace .import-schedule-card,
.import-install-workspace .import-command-line {
  width: 100%;
  max-width: none;
  box-sizing: border-box;
}
.import-json-workspace {
  display: grid;
  gap: 14px;
  width: min(1080px, 100%);
  margin: 0 auto;
}
.import-review-source {
  display: grid;
  gap: 4px;
  padding: 13px 15px;
  border: 1px solid #2f81f7;
  border-radius: 7px;
  background: rgba(47,129,247,.08);
}
.import-review-source span {
  color: #79c0ff;
  font-size: .68rem;
  font-weight: 900;
  letter-spacing: .08em;
}
.import-review-source strong {
  color: #f0f6fc;
  font-family: Consolas, monospace;
  font-size: .88rem;
}
.import-review-source small { color: #8b949e; font-size: .72rem; }
.import-review-workspace .import-json-text {
  min-height: 390px;
  margin-bottom: 0;
}
.import-confirm-workspace .import-preview {
  width: min(1440px, 100%);
  margin: 0 auto;
}
.import-modal-actions {
  flex-wrap: wrap;
}
@media (max-width: 760px) {
  .server-import-workflow-tabs {
    gap: 5px;
    padding: 8px;
  }
  .server-import-workflow-tab {
    padding: 8px;
  }
  .server-import-workflow-tab small { display: none; }
  .server-import-tab-panel { padding: 12px; }
  .import-review-workspace .import-json-text { min-height: 250px; }
  .import-modal-actions .btn-side { min-width: 0; flex: 1 1 130px; }
}


.ark-global-statusbar.has-server-workspaces {
  grid-template-columns: minmax(220px, auto) minmax(0, 1fr) minmax(170px, auto) auto !important;
  gap: 10px !important;
}
.ark-server-status-center {
  min-width: 0;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: center;
  gap: 12px;
  overflow: hidden;
}
.ark-server-status-center .ark-server-workspace-nav {
  justify-content: flex-start;
  min-width: max-content;
}
.ark-server-status-guidance {
  min-width: 0;
  justify-self: end;
  overflow: hidden;
}
.ark-server-status-guidance .ark-status-notice {
  grid-column: auto;
  max-width: 100%;
  justify-content: flex-end;
}
.ark-status-timestamps {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  justify-content: center;
  justify-self: end;
  gap: 2px;
  min-width: 0;
  white-space: nowrap;
}
.ark-status-timestamps .ark-status-item {
  display: grid;
  grid-template-columns: auto minmax(0, auto);
  justify-content: end;
  gap: 6px;
  line-height: 1.15;
}
.ark-status-timestamps .ark-status-item span {
  color: #6e7681;
  text-align: right;
}
.ark-status-timestamps .ark-status-item strong {
  font-variant-numeric: tabular-nums;
}
@media (max-width: 1450px) and (min-width: 1051px) {
  .ark-global-statusbar.has-server-workspaces .ark-status-timestamps { display: flex !important; }
  .ark-global-statusbar.has-server-workspaces {
    grid-template-columns: minmax(205px, auto) minmax(0, 1fr) minmax(155px, auto) auto !important;
    gap: 8px !important;
  }
  .ark-server-status-guidance .ark-status-notice-text { display: none; }
}
@media (max-width: 1180px) and (min-width: 1051px) {
  .ark-server-status-guidance .ark-status-notice-level { display: none; }
}
@media (max-width: 1050px) {
  .ark-global-statusbar.has-server-workspaces {
    grid-template-columns: minmax(0, 1fr) auto !important;
  }
  .ark-global-statusbar.has-server-workspaces > .ark-validation-details,
  .ark-global-statusbar.has-server-workspaces > .ark-validation-compact {
    grid-column: 1 / 2;
    grid-row: 1;
  }
  .ark-global-statusbar.has-server-workspaces > .ark-status-actions {
    grid-column: 2 / 3;
    grid-row: 1;
  }
  .ark-global-statusbar.has-server-workspaces .ark-server-status-center {
    grid-column: 1 / -1;
    grid-row: 2;
    grid-template-columns: minmax(0, 1fr);
    gap: 5px;
  }
  .ark-global-statusbar.has-server-workspaces .ark-server-workspace-nav {
    justify-content: flex-start;
    min-width: 0;
    overflow-x: auto;
  }
  .ark-global-statusbar.has-server-workspaces .ark-server-status-guidance {
    justify-self: stretch;
  }
  .ark-global-statusbar.has-server-workspaces .ark-server-status-guidance .ark-status-notice {
    justify-content: flex-start;
  }
  .ark-global-statusbar.has-server-workspaces .ark-status-timestamps { display: none; }
}

.ark-global-statusbar.has-server-workspaces {
  grid-template-columns: minmax(0, 1fr) auto minmax(0, 1fr) !important;
  gap: 12px !important;
}
.ark-global-statusbar.has-server-workspaces > .ark-status-notice {
  grid-column: 1 / 2;
  justify-self: start;
  max-width: 100%;
}
.ark-global-statusbar.has-server-workspaces > .ark-server-workspace-nav {
  grid-column: 2 / 3;
  justify-self: center;
  justify-content: center;
  min-width: max-content;
}
.ark-server-status-right {
  grid-column: 3 / 4;
  min-width: 0;
  display: flex;
  align-items: center;
  justify-content: flex-end;
  justify-self: end;
  gap: 10px;
}
.ark-server-status-right .ark-status-timestamps {
  flex: 0 0 auto;
}
.ark-server-status-right .ark-status-actions {
  flex: 0 0 auto;
}

.server-sidebar-validation-card {
  display: flex;
  flex-direction: column;
  gap: 9px;
}
.server-sidebar-validation-summary {
  display: grid;
  grid-template-columns: 1fr 1fr;
  gap: 6px;
}
.server-sidebar-validation-summary > div {
  min-width: 0;
  padding: 8px;
  border: 1px solid #30363d;
  border-radius: 4px;
  background: #0b0f14;
  text-align: center;
}
.server-sidebar-validation-summary span,
.server-sidebar-validation-summary strong {
  display: block;
}
.server-sidebar-validation-summary span {
  color: #8b949e;
  font: 800 .62rem Consolas, monospace;
  text-transform: uppercase;
  letter-spacing: .04em;
}
.server-sidebar-validation-summary strong {
  margin-top: 4px;
  color: #f0f6fc;
  font: 900 .82rem Consolas, monospace;
}
.server-sidebar-validation-summary strong.good { color: #3fb950; }
.server-sidebar-validation-summary strong.warn { color: #d29922; }
.server-sidebar-validation-summary strong.bad { color: #f85149; }
.server-sidebar-validation-counts {
  margin: 0;
}
.server-sidebar-validation-counts span {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 2px;
  text-transform: uppercase;
}
.server-sidebar-validation-counts strong {
  color: #79c0ff;
  font-size: .78rem;
}
.server-sidebar-validation-counts strong.warn { color: #d29922; }
.server-sidebar-validation-counts strong.bad { color: #f85149; }
.server-sidebar-validation-details {
  border-top: 1px dashed #30363d;
  padding-top: 7px;
}
.server-sidebar-validation-details > summary {
  list-style: none;
  min-height: 27px;
  display: flex;
  align-items: center;
  justify-content: center;
  border: 1px solid #30363d;
  border-radius: 4px;
  background: #161b22;
  color: #79c0ff;
  font: 900 .62rem Consolas, monospace;
  letter-spacing: .04em;
  cursor: pointer;
}
.server-sidebar-validation-details > summary::-webkit-details-marker { display: none; }
.server-sidebar-validation-details[open] > summary {
  border-color: #58a6ff;
  background: rgba(88,166,255,.08);
}
.server-sidebar-validation-list {
  display: flex;
  flex-direction: column;
  gap: 5px;
  max-height: 250px;
  margin-top: 7px;
  overflow: auto;
  scrollbar-width: thin;
}
.server-sidebar-validation-item {
  width: 100%;
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  gap: 4px 7px;
  align-items: start;
  padding: 7px;
  border: 1px solid #30363d;
  border-radius: 4px;
  background: #0b0f14;
  color: #c9d1d9;
  text-align: left;
  cursor: pointer;
}
.server-sidebar-validation-item:hover { border-color: #58a6ff; }
.server-sidebar-validation-item > strong {
  grid-row: 1 / 3;
  padding: 2px 4px;
  border: 1px solid currentColor;
  border-radius: 3px;
  font: 900 .52rem Consolas, monospace;
}
.server-sidebar-validation-item.error > strong { color: #f85149; }
.server-sidebar-validation-item.warning > strong { color: #d29922; }
.server-sidebar-validation-item.info > strong { color: #79c0ff; }
.server-sidebar-validation-item > span {
  min-width: 0;
  color: #f0f6fc;
  font-size: .68rem;
  font-weight: 800;
  overflow-wrap: anywhere;
}
.server-sidebar-validation-item > small {
  min-width: 0;
  color: #8b949e;
  font-size: .60rem;
  overflow-wrap: anywhere;
}
.server-sidebar-validation-clean {
  padding: 9px;
  border: 1px solid rgba(46,160,67,.45);
  border-radius: 4px;
  background: rgba(46,160,67,.07);
  color: #3fb950;
  font: 800 .65rem Consolas, monospace;
  text-align: center;
}

@media (max-width: 1450px) and (min-width: 1051px) {
  .ark-global-statusbar.has-server-workspaces > .ark-status-notice .ark-status-notice-text { display: none; }
  .ark-global-statusbar.has-server-workspaces > .ark-status-notice { max-width: 320px; }
}
@media (max-width: 1240px) and (min-width: 1051px) {
  .ark-server-status-right .ark-status-timestamps { display: none !important; }
}
@media (max-width: 1050px) {
  .ark-global-statusbar.has-server-workspaces {
    grid-template-columns: minmax(0, 1fr) auto !important;
    grid-template-rows: auto auto;
  }
  .ark-global-statusbar.has-server-workspaces > .ark-status-notice {
    grid-column: 1 / 2;
    grid-row: 1;
  }
  .ark-global-statusbar.has-server-workspaces > .ark-server-workspace-nav {
    grid-column: 1 / -1;
    grid-row: 2;
    justify-self: center;
    max-width: 100%;
    min-width: 0;
    overflow-x: auto;
  }
  .ark-server-status-right {
    grid-column: 2 / 3;
    grid-row: 1;
  }
  .ark-server-status-right .ark-status-timestamps { display: none !important; }
}

@media (min-width: 901px) {
  .three-column-server-view .server-identity-sidebar,
  .three-column-server-view .workflow-sidebar {
    overflow: hidden !important;
    scrollbar-width: none;
  }
  .three-column-server-view .server-identity-sidebar::-webkit-scrollbar,
  .three-column-server-view .workflow-sidebar::-webkit-scrollbar {
    display: none;
    width: 0;
    height: 0;
  }
}

/* Compact the left sidebar enough to keep Identity, Summary, and Validation visible
   inside the fixed desktop workspace at a 1080p display/browser viewport. */
@media (min-width: 901px) and (max-height: 920px) {
  .three-column-server-view .server-identity-sidebar {
    padding: 10px 12px !important;
    gap: 8px !important;
  }
  .server-identity-sidebar .identity-card {
    padding: 8px 9px !important;
    gap: 5px !important;
  }
  .server-identity-sidebar .identity-card-title {
    margin: 0 0 4px !important;
    padding-bottom: 4px !important;
    font-size: .66rem !important;
    line-height: 1.1 !important;
  }
  .server-identity-sidebar .identity-card-main {
    gap: 0 !important;
  }
  .server-identity-sidebar .identity-row {
    grid-template-columns: 82px minmax(0, 1fr) 22px !important;
    column-gap: 7px !important;
    min-height: 22px !important;
    padding: 1px 0 !important;
    font-size: .68rem !important;
    line-height: 1.15 !important;
  }
  .server-identity-sidebar .identity-label,
  .server-identity-sidebar .identity-value {
    line-height: 1.15 !important;
  }
  .server-identity-sidebar .identity-value {
    padding-left: 0 !important;
  }
  .server-identity-sidebar .identity-row.service-tag-row .identity-value {
    font-size: .74rem !important;
  }
  .server-identity-sidebar .identity-inline-copy,
  .server-identity-sidebar .identity-copy-spacer {
    width: 20px !important;
    height: 20px !important;
    min-height: 20px !important;
    font-size: .72rem !important;
  }
  .server-identity-sidebar .server-summary-card {
    gap: 5px !important;
  }
  .server-identity-sidebar .server-summary-segment {
    gap: 3px !important;
  }
  .server-identity-sidebar .server-summary-segment + .server-summary-segment {
    padding-top: 5px !important;
  }
  .server-identity-sidebar .server-summary-segment-title {
    font-size: .52rem !important;
    line-height: 1.05 !important;
  }
  .server-identity-sidebar .server-summary-grid > div {
    min-height: 34px !important;
    padding: 4px 3px !important;
  }
  .server-identity-sidebar .server-summary-grid > div span {
    font-size: .49rem !important;
    line-height: 1.05 !important;
  }
  .server-identity-sidebar .server-summary-grid > div strong {
    margin-top: 2px !important;
    font-size: .72rem !important;
    line-height: 1.05 !important;
  }
  .server-sidebar-validation-card {
    gap: 5px !important;
  }
  .server-sidebar-validation-summary {
    gap: 4px !important;
  }
  .server-sidebar-validation-summary > div {
    padding: 4px 5px !important;
  }
  .server-sidebar-validation-summary span {
    font-size: .50rem !important;
    line-height: 1.05 !important;
  }
  .server-sidebar-validation-summary strong {
    margin-top: 2px !important;
    font-size: .70rem !important;
    line-height: 1.05 !important;
  }
  .server-sidebar-validation-counts {
    gap: 4px !important;
  }
  .server-sidebar-validation-counts span {
    padding: 3px !important;
    gap: 0 !important;
    font-size: .50rem !important;
    line-height: 1.05 !important;
  }
  .server-sidebar-validation-counts strong {
    font-size: .66rem !important;
  }
  .server-sidebar-validation-details {
    padding-top: 4px !important;
  }
  .server-sidebar-validation-details > summary {
    min-height: 22px !important;
    font-size: .54rem !important;
  }
  .server-sidebar-validation-list {
    max-height: 170px !important;
  }
  .server-identity-sidebar .identity-sidebar-spacer {
    min-height: 0 !important;
  }
  .three-column-server-view .workflow-sidebar {
    padding: 10px 10px 8px !important;
    gap: 9px !important;
  }
  .three-column-server-view .workflow-sidebar .scanner-pass-panel,
  .three-column-server-view .workflow-sidebar .actions-panel {
    padding: 9px !important;
  }
}

@media (max-width: 900px) {
  .three-column-server-view .server-identity-sidebar,
  .three-column-server-view .workflow-sidebar {
    overflow: visible !important;
  }
}


/* Contained KPI summaries for rack and cabling detail workspaces */
.ark-kpi-summary-panel {
  min-width:0;
  overflow:hidden;
  border:1px solid var(--line, #30363d);
  border-radius:8px;
  background:var(--panel, #0d141c);
}
.ark-kpi-summary-heading {
  display:flex;
  align-items:baseline;
  justify-content:space-between;
  gap:12px;
  padding:10px 12px;
  border-bottom:1px solid var(--line, #30363d);
  background:rgba(88,166,255,.035);
}
.ark-kpi-summary-heading span {
  color:var(--text-main, #f0f6fc);
  font:900 .72rem/1.15 Consolas,monospace;
  letter-spacing:.075em;
}
.ark-kpi-summary-heading small {
  min-width:0;
  color:var(--text-muted, #8b949e);
  font-size:.72rem;
  line-height:1.25;
  text-align:right;
}
.ark-kpi-summary-grid {
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(118px,1fr));
  gap:1px;
  padding:1px 0 0;
  background:var(--line, #30363d);
}
.ark-kpi-summary-metric {
  min-width:0;
  min-height:64px;
  padding:10px 12px;
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:5px;
  background:var(--panel-deep, #0b0f14);
}
.ark-kpi-summary-metric span {
  color:var(--text-muted, #8b949e);
  font:800 .62rem/1.1 Consolas,monospace;
  letter-spacing:.065em;
  text-transform:uppercase;
}
.ark-kpi-summary-metric strong {
  color:var(--text-main, #f0f6fc);
  font:900 1.08rem/1.1 Consolas,monospace;
  overflow-wrap:anywhere;
}
.ark-kpi-summary-metric small {
  color:var(--text-muted, #8b949e);
  font-size:.68rem;
  line-height:1.2;
}
.rack-detail-summary-panel { width:100%; }
.rack-detail-summary-grid { grid-template-columns:repeat(auto-fit,minmax(105px,1fr)); }
.network-cabling-kpi-grid { grid-template-columns:repeat(auto-fit,minmax(120px,1fr)); }
@media (max-width:700px) {
  .ark-kpi-summary-heading { align-items:flex-start; flex-direction:column; gap:4px; }
  .ark-kpi-summary-heading small { text-align:left; }
  .ark-kpi-summary-grid,
  .rack-detail-summary-grid,
  .network-cabling-kpi-grid { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:430px) {
  .ark-kpi-summary-grid,
  .rack-detail-summary-grid,
  .network-cabling-kpi-grid { grid-template-columns:1fr; }
}


.workspace-window-form-group-wide{grid-column:1/-1}
.server-nvme-card-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%}
.server-nvme-card{min-width:0;border:1px solid #2a3d4e;border-radius:7px;background:#0b141c;overflow:hidden}
.server-nvme-card.is-active{border-color:#356382;background:linear-gradient(180deg,#101d28 0%,#0b151e 100%)}
.server-nvme-card>header{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding:10px 12px;border-bottom:1px solid rgba(88,166,255,.14);background:#0d1720}
.server-nvme-card>header>div{display:flex;flex-direction:column;gap:3px;min-width:0}
.server-nvme-card>header span{font:900 8px var(--mono,Consolas,monospace);letter-spacing:.08em;color:#58a6ff}
.server-nvme-card>header strong{font:900 11px var(--mono,Consolas,monospace);color:#e4f0ff;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.server-nvme-card>header em{font:800 8px var(--mono,Consolas,monospace);font-style:normal;color:#8ea2b4;white-space:nowrap}
.server-nvme-card-fields{display:grid;grid-template-columns:1.35fr .85fr .65fr;gap:9px;padding:11px 12px;align-items:end}
.server-nvme-card-fields label,.server-nvme-derived,.nvme-card-slot-config{display:flex;flex-direction:column;gap:5px;min-width:0}
.server-nvme-card-fields label>span,.server-nvme-derived>span,.nvme-card-slot-config>span{font:800 8px var(--mono,Consolas,monospace);letter-spacing:.06em;text-transform:uppercase;color:#8ea2b4}
.server-nvme-derived{min-height:48px;justify-content:center;padding:6px 9px;border:1px solid #263847;border-radius:4px;background:#0a1219}
.server-nvme-derived strong{font:800 10px var(--mono,Consolas,monospace);color:#d9e9f9}
.nvme-card-slot-config-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;padding:0 12px 11px}
.nvme-card-slot-config{padding:8px;border:1px solid #31506a;border-radius:5px;background:#0b1720}
.nvme-card-slot-config .cyber-select{min-width:0;width:100%}
.nvme-card-empty-note{padding:0 12px 11px;color:#66798a;font-size:9px}
.setup-nvme-card-section{grid-column:1/-1;min-width:0;border-top:1px solid #263746;padding-top:12px}
.setup-nvme-card-heading{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-bottom:10px;color:#58a6ff;font:900 10px var(--mono,Consolas,monospace);letter-spacing:.08em}
.setup-nvme-card-heading small{color:#8194a6;font:400 9px var(--sans,Arial,sans-serif);letter-spacing:0}
@media(max-width:1200px){.server-nvme-card-grid{grid-template-columns:1fr}.server-nvme-card-fields{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:700px){.server-nvme-card-fields{grid-template-columns:1fr}.setup-nvme-card-heading{align-items:flex-start;flex-direction:column}.nvme-card-slot-config-grid{grid-template-columns:1fr}}


.computers-dashboard-layout .dashboard-two-panel{min-width:0}
.computers-card-list{grid-template-columns:repeat(auto-fill,minmax(330px,1fr))}
.computer-record-card .computer-hardware-grid{grid-template-columns:1fr 1fr;margin-bottom:10px}
.computer-record-card .computer-hardware-grid>div{min-width:0}
.computer-record-card .computer-hardware-grid strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;display:block}
.computer-record-card .computer-drive-grid{margin-top:8px}
.computer-kpi-grid{grid-template-columns:repeat(4,minmax(130px,1fr));padding:12px 0}
.computer-setup-card{max-width:1320px;width:min(1320px,calc(var(--ark-layout-vw) - 48px))}
.computer-layout-grid{grid-template-columns:minmax(260px,420px) minmax(260px,420px)}
.workspace-window-info-list{display:grid;gap:10px}.workspace-window-info-list>div{display:flex;justify-content:space-between;gap:20px;border-bottom:1px solid var(--border-color,#263241);padding:10px 0}.workspace-window-info-list span{color:#7890a8;text-transform:uppercase;font-size:11px}.workspace-window-info-list strong{text-align:right}
@media(max-width:900px){.computer-kpi-grid{grid-template-columns:repeat(2,minmax(120px,1fr))}.computer-record-card .computer-hardware-grid{grid-template-columns:1fr}.computer-layout-grid{grid-template-columns:1fr}}

.computer-checkin.current{color:#3fb950!important}.computer-checkin.stale{color:#d29922!important}.computer-checkin.missing{color:#f85149!important}.computer-checkin.unknown{color:#8b949e!important}.computer-card-hardware small{display:block;margin-top:3px;color:#6f8498;font-size:.58rem;line-height:1.15}


.computer-slot-layout-group{margin-top:16px}
.computer-slot-type-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:10px;padding-top:8px}
.computer-slot-type-card{display:flex;flex-direction:column;gap:7px;padding:11px;border:1px solid #31506a;border-radius:5px;background:#0b1720}
.computer-slot-type-card>span{font:900 9px var(--mono,Consolas,monospace);letter-spacing:.08em;color:#58a6ff}
.computer-slot-type-card .cyber-select{width:100%;min-width:0}
.computer-slot-empty{padding:18px;border:1px dashed #31506a;border-radius:5px;color:#8194a6;text-align:center}


#computersCustomerPanelBlock{min-width:0;height:100%;overflow:hidden;border-right:1px solid #21262d;background:#0b0f14}
.computers-status-actions{flex-wrap:wrap}
@media(max-width:900px){#computersCustomerPanelBlock{height:auto;max-height:220px;border-right:0;border-bottom:1px solid #21262d}}


.drive-telemetry-panel{margin-top:14px;border:1px solid var(--line,#263544);background:rgba(4,12,18,.58);padding:12px}
.drive-telemetry-panel.has-health-log{border-color:rgba(210,153,34,.58);box-shadow:inset 3px 0 0 #d29922}
.drive-health-log-summary{display:grid;gap:7px;margin:0 0 10px;padding:9px 10px;border:1px solid rgba(210,153,34,.32);background:rgba(210,153,34,.08)}
.drive-health-log-summary>div{display:grid;grid-template-columns:max-content minmax(0,1fr);align-items:start;gap:5px 12px}
.drive-health-log-summary span{color:#d29922;font:950 .62rem Consolas,monospace;text-transform:uppercase;letter-spacing:.05em}
.drive-health-log-summary strong{color:#f4e6b5;font:850 .72rem/1.35 var(--ark-font-ui);overflow-wrap:anywhere}
.drive-health-log-summary small{grid-column:2;color:#aebdcc;font:650 .62rem/1.35 var(--ark-font-ui)}
.drive-health-log-summary ul{display:grid;gap:3px;margin:0;padding:0 0 0 18px;color:#c9d5df;font:650 .64rem/1.35 var(--ark-font-ui)}
.drive-health-log-summary.status-failed,.drive-health-log-summary.status-missing{border-color:rgba(248,81,73,.42);background:rgba(248,81,73,.08)}
.drive-health-log-summary.status-failed span,.drive-health-log-summary.status-missing span{color:#ff7b72}
@media(max-width:620px){.drive-health-log-summary>div{grid-template-columns:1fr}.drive-health-log-summary small{grid-column:1}}

.drive-telemetry-title{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:10px;color:var(--accent,#57c7ff);font-family:var(--mono,monospace);font-size:11px;letter-spacing:.08em}
.drive-telemetry-title small{color:var(--muted,#8293a3);font-size:10px;letter-spacing:0}
.drive-telemetry-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:8px}
.drive-telemetry-grid>div{min-width:0;border:1px solid rgba(120,160,190,.18);background:rgba(255,255,255,.02);padding:8px}
.drive-telemetry-grid label{display:block;color:var(--muted,#8293a3);font-size:9px;text-transform:uppercase;letter-spacing:.06em;margin-bottom:4px}
.drive-telemetry-grid strong{display:block;overflow-wrap:anywhere;font-size:12px;color:var(--text,#e8eef5)}
.bay-telemetry-line{margin-top:5px;color:var(--muted,#8fa2b4);font-size:10px;line-height:1.35}
@media(max-width:720px){.drive-telemetry-grid{grid-template-columns:1fr 1fr}.drive-telemetry-title{align-items:flex-start;flex-direction:column;gap:3px}}


.computers-card-list{align-content:start;grid-auto-rows:max-content}
.computers-card-list .computer-record-card{align-self:start;height:max-content;min-width:0}
.computer-record-card .server-card-detail-row strong{min-width:0;max-width:68%;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.computer-record-card .computer-compact-hardware-grid{margin:0}
.computer-record-card .computer-compact-hardware-grid>div{min-width:0}
.computer-record-card .computer-compact-hardware-grid strong{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.computer-record-card .computer-compact-hardware-grid small{display:block;margin-top:2px;color:#6f8498;font-size:.54rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
@media(min-width:1500px){.computers-card-list{grid-template-columns:repeat(4,minmax(0,1fr))}}
@media(min-width:1100px) and (max-width:1499px){.computers-card-list{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media(min-width:760px) and (max-width:1099px){.computers-card-list{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:759px){.computers-card-list{grid-template-columns:1fr}}


.computer-record-card .server-card-identity-section .server-card-detail-row{grid-template-columns:86px minmax(0,1fr);gap:8px}
.computer-record-card .server-card-identity-section .server-card-detail-row strong{max-width:none;min-width:0}
.computer-record-card .computer-identity-hardware-row strong{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.computer-record-card .computer-checkin-detail strong{display:flex;min-width:0;flex-direction:column;align-items:flex-end;gap:1px;line-height:1.15}
.computer-record-card .computer-checkin-detail em{font-style:normal;font-weight:800}
.computer-record-card .computer-checkin-detail small{display:block;max-width:100%;color:#6f8498;font-size:.56rem;font-weight:400;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.server-summary-grid-five{grid-template-columns:repeat(5,minmax(0,1fr))}
.dashboard-stat-matrix-5{grid-template-columns:repeat(5,minmax(0,1fr))}
@media(max-width:520px){.server-summary-grid-five,.dashboard-stat-matrix-5{grid-template-columns:repeat(3,minmax(0,1fr))}}


.computer-record-card .server-card-identity-section{
  width:100%;
  box-sizing:border-box;
  padding-right:14px;
}
.computer-record-card .server-card-identity-section .server-card-section-title,
.computer-record-card .server-card-identity-section .server-card-identity-name,
.computer-record-card .server-card-identity-section .server-card-detail-row{
  width:100%;
  box-sizing:border-box;
}


.computer-record-card .computer-checkin-detail{display:none!important}


.computer-drive-card{justify-content:flex-start!important;min-height:0!important;height:auto!important;overflow:visible!important}
.computer-drive-card .bay-status{flex:0 0 auto!important;justify-content:flex-start!important}
.computer-drive-usage{width:100%;box-sizing:border-box;margin-top:10px;padding:8px;border:1px solid rgba(88,166,255,.24);background:rgba(7,16,24,.72)}
.computer-drive-usage-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:7px;color:#58a6ff;font:900 .62rem Consolas,monospace;letter-spacing:.07em}
.computer-drive-usage-title small{min-width:0;color:#71869a;font-size:.55rem;font-weight:700;letter-spacing:0;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.computer-drive-usage-summary{display:flex;align-items:baseline;justify-content:space-between;gap:10px;margin-bottom:6px}
.computer-drive-usage-summary strong{color:#dce7f1;font:950 .76rem Consolas,monospace}
.computer-drive-usage-summary span{color:#8ca1b5;font:750 .56rem Consolas,monospace;text-align:right}
.computer-drive-usage-track{display:flex;align-items:stretch;height:14px;box-sizing:border-box;overflow:hidden;border:1px solid rgba(130,155,177,.38);background:rgba(57,211,83,.16)}
.computer-drive-usage-track>span{display:block;flex:0 0 clamp(0%,var(--drive-used,0%),100%);width:auto;max-width:100%;height:100%;background:#58a6ff;transition:flex-basis .2s ease}
.computer-drive-usage.warning .computer-drive-usage-track>span{background:#d29922}
.computer-drive-usage.critical .computer-drive-usage-track>span{background:#f85149}
.computer-drive-usage-scale{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-top:4px;color:#60758a;font:700 .51rem Consolas,monospace}
.computer-drive-usage-scale strong{min-width:0;color:#71869a;font-weight:750;text-align:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.computer-drive-usage-empty{padding:7px;border:1px dashed rgba(120,160,190,.2);color:#71869a;font:700 .56rem/1.35 Consolas,monospace;text-align:center}
@media(max-width:620px){.computer-drive-usage-summary{align-items:flex-start;flex-direction:column;gap:3px}.computer-drive-usage-summary span{text-align:left}}

.computer-drive-smart{width:100%;box-sizing:border-box;margin-top:10px;padding-top:9px;border-top:1px dashed rgba(88,166,255,.28)}
.computer-drive-smart-title{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:8px;color:#58a6ff;font:900 .62rem Consolas,monospace;letter-spacing:.07em}
.computer-drive-smart-title small{color:#71869a;font-size:.56rem;font-weight:700;letter-spacing:0}
.computer-smart-meters{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:9px}
.computer-smart-meter{min-width:0;padding:7px 8px;border:1px solid rgba(88,166,255,.22);background:rgba(8,17,25,.72)}
.computer-smart-meter-head{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:5px}
.computer-smart-meter-head span{color:#a8bacb;font:800 .58rem Consolas,monospace;text-transform:uppercase;letter-spacing:.04em}
.computer-smart-meter-head strong{color:#39d353;font:950 .76rem Consolas,monospace}
.computer-smart-meter-track{height:8px;overflow:hidden;border:1px solid rgba(130,155,177,.34);background:#071019}
.computer-smart-meter-track>span{display:block;width:var(--smart-meter,0%);height:100%;background:#2ea043}
.computer-smart-meter.available-spare .computer-smart-meter-track>span{background:#58a6ff}
.computer-smart-meter small{display:block;margin-top:4px;color:#71869a;font:700 .53rem Consolas,monospace;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.computer-smart-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:5px}
.computer-smart-grid>div{min-width:0;padding:6px;border:1px solid rgba(120,160,190,.16);background:rgba(255,255,255,.018)}
.computer-smart-grid label{display:block;margin-bottom:3px;color:#71869a;font:800 .52rem Consolas,monospace;text-transform:uppercase;letter-spacing:.035em}
.computer-smart-grid strong{display:block;color:#dce7f1;font:800 .62rem/1.25 Consolas,monospace;overflow-wrap:anywhere}
@media(max-width:1000px){.computer-smart-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:620px){.computer-smart-meters,.computer-smart-grid{grid-template-columns:1fr}}


.computer-smart-groups{display:grid;gap:8px}
.computer-smart-group{min-width:0;border:1px solid rgba(88,166,255,.18);background:rgba(5,13,20,.58)}
.computer-smart-group-title{display:flex;align-items:center;justify-content:space-between;gap:8px;padding:6px 7px;border-bottom:1px solid rgba(88,166,255,.16);color:#9ecbff;font:900 .56rem Consolas,monospace;text-transform:uppercase;letter-spacing:.055em}
.computer-smart-group-title small{display:inline-grid;place-items:center;min-width:18px;height:18px;padding:0 4px;border:1px solid rgba(88,166,255,.24);border-radius:999px;color:#71869a;font-size:.51rem;letter-spacing:0}
.computer-smart-empty{padding:9px 10px;color:#71869a;font:500 .72rem/1.35 var(--ark-font-ui);text-align:center}
.computer-smart-group .computer-smart-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:0}
.computer-smart-group .computer-smart-grid>div{border:0;border-right:1px solid rgba(120,160,190,.12);border-bottom:1px solid rgba(120,160,190,.12);background:rgba(255,255,255,.012)}
.computer-smart-group .computer-smart-grid>div:nth-child(2n){border-right:0}
.computer-smart-group .computer-smart-grid>div:nth-last-child(-n+2){border-bottom:0}
@media(max-width:620px){.computer-smart-group .computer-smart-grid{grid-template-columns:1fr}.computer-smart-group .computer-smart-grid>div{border-right:0}.computer-smart-group .computer-smart-grid>div:nth-last-child(-n+2){border-bottom:1px solid rgba(120,160,190,.12)}.computer-smart-group .computer-smart-grid>div:last-child{border-bottom:0}}


.computer-smart-group{overflow:hidden}
.computer-smart-group>summary{list-style:none;cursor:pointer;user-select:none}
.computer-smart-group>summary::-webkit-details-marker{display:none}
.computer-smart-group-title{border-bottom:0}
.computer-smart-group[open] .computer-smart-group-title{border-bottom:1px solid rgba(88,166,255,.16)}
.computer-smart-group-meta{display:flex;align-items:center;gap:7px}
.computer-smart-group-meta i{display:block;width:7px;height:7px;border-right:1px solid #8aa4ba;border-bottom:1px solid #8aa4ba;transform:rotate(45deg);transition:transform .14s ease}
.computer-smart-group[open] .computer-smart-group-meta i{transform:rotate(225deg)}
.computer-smart-group-title:hover{background:rgba(88,166,255,.055);color:#c4e0ff}


.bay-grid.computer-drive-grid{min-width:0!important;width:100%;align-items:start;grid-auto-flow:row;grid-auto-rows:max-content}
.bay-grid.computer-drive-grid .computer-drive-card{min-width:0!important;width:auto!important}
@media(max-width:1050px){.bay-grid.computer-drive-grid{grid-template-columns:1fr!important}}


/* v0.15.0.0 rendering containment for large inventory lists. */
.server-card-list > .server-record-card,
.virtual-asset-rows > .server-record-card,
.computers-card-list > .computer-record-card {
  content-visibility: auto;
  contain: layout paint style;
  contain-intrinsic-size: 560px;
}
.virtual-asset-list { min-width: 0; width: 100%; }
.virtual-asset-rows { display: contents; }

.ark-reports-topbar-slot{display:contents;}

/* v0.15.0.17 control typography alignment.
   Customer names are the canonical label size for primary controls and tabs. */
:root {
  --ark-customer-control-font-size: 1rem;
}
.customer-nav-name {
  font-size: var(--ark-customer-control-font-size);
  line-height: 1.25;
}
.ark-topnav-item,
.ark-status-btn,
.btn-side,
.btn-pipeline,
.btn-card,
.servers-select-visible-btn,
.dashboard-content-tab,
.network-detail-content-tabs .dashboard-content-tab,
.storage-detail-content-tabs .dashboard-content-tab,
.ark-workspace-btn,
.workspace-window-back,
.workspace-window-tab,
.replacement-workflow-tab,
.raid-workspace-tab,
.import-platform-tab,
.layout-preset-btn,
.rack-detail-tab,
.network-inner-tab,
.network-router-detail-tabs button,
.network-remote-picker-side-tabs button,
.server-import-workflow-tab > span {
  font-size: var(--ark-customer-control-font-size) !important;
  line-height: 1.25;
}
.raid-vd-tab > span {
  font-size: var(--ark-customer-control-font-size) !important;
  line-height: 1.25;
}

/* v0.15.0.18 crisp primary-control typography.
   Keep the customer-matched 18px size while avoiding heavy/synthetic glyph edges. */
:root {
  --ark-control-font-family: "Segoe UI Variable Text", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, Arial, sans-serif;
  --ark-control-font-weight: 600;
}
.ark-topnav-item,
.ark-status-btn,
.btn-side,
.btn-pipeline,
.btn-card,
.servers-select-visible-btn,
.dashboard-content-tab,
.network-detail-content-tabs .dashboard-content-tab,
.storage-detail-content-tabs .dashboard-content-tab,
.ark-workspace-btn,
.workspace-window-back,
.workspace-window-tab,
.replacement-workflow-tab,
.raid-workspace-tab,
.import-platform-tab,
.layout-preset-btn,
.rack-detail-tab,
.network-inner-tab,
.network-router-detail-tabs button,
.network-remote-picker-side-tabs button,
.server-import-workflow-tab > span,
.raid-vd-tab > span {
  font-family: var(--ark-control-font-family) !important;
  font-weight: var(--ark-control-font-weight) !important;
  letter-spacing: 0 !important;
  text-shadow: none !important;
}


/* v0.15.0.19 application-wide typography system.
   General interface text uses the Windows UI font stack. Monospace is reserved
   for identifiers, addresses, bay/port coordinates, RAID/ZFS labels, and code. */
:root {
  --ark-font-ui: "Segoe UI Variable Text", "Segoe UI Variable", "Segoe UI", system-ui, -apple-system, BlinkMacSystemFont, Arial, sans-serif;
  --ark-font-display: "Segoe UI Variable Display", "Segoe UI Variable Text", "Segoe UI", system-ui, sans-serif;
  --ark-font-mono: "Cascadia Mono", "Cascadia Code", Consolas, "Courier New", monospace;
  --ark-font-weight-normal: 400;
  --ark-font-weight-label: 500;
  --ark-font-weight-heading: 600;
  --ark-control-font-family: var(--ark-font-ui);
  --ark-control-font-weight: var(--ark-font-weight-heading);
  --sans: var(--ark-font-ui);
  --mono: var(--ark-font-mono);
}

html,
body,
#app,
button,
input,
select,
textarea,
option {
  font-family: var(--ark-font-ui);
  font-synthesis: none;
  text-rendering: optimizeLegibility;
}

body,
input,
select,
textarea {
  font-weight: var(--ark-font-weight-normal);
}

h1,
h2,
h3,
h4,
h5,
h6 {
  font-family: var(--ark-font-display);
  font-weight: var(--ark-font-weight-heading);
}

label {
  font-family: var(--ark-font-ui);
  font-weight: var(--ark-font-weight-label);
}

/* General headings, labels, summaries, and dashboard content. */
.boot-header,
.engine-header,
.status-strip,
.jbod-helper-info,
.sidebar-subtitle,
.panel-header,
.selected-target-badge,
.enclosure-title,
.modal-header-bar h3,
.continue-panel,
.server-card-title,
.server-card-footer,
.ocr-panel summary,
.drive-editor-subtitle,
.analytics-title,
.server-section-header,
.dashboard-side-title,
.dashboard-side-heading,
.identity-card-title,
.identity-row span,
.identity-row .identity-label,
.summary-validation-line,
.raid-section-title,
.raid-section-header,
.raid-section-span-title,
.raid-unassigned-title,
.replacement-drive-title,
.server-browser-group-title,
.server-card-section-title,
.server-card-identity-name,
.server-card-detail-row span,
.server-card-inventory-progress,
.dashboard-stat-card-title,
.dashboard-stat-metric span,
.dashboard-stat-metric strong,
.dashboard-stat-metric small,
.dashboard-progress-ring strong,
.dashboard-stats-toolbar span,
.dashboard-stats-toolbar small,
.server-card-inline-status-label,
.management-stat-matrix span,
.management-stat-matrix strong,
.ark-status-search > span,
.server-sidebar-validation-summary span,
.server-sidebar-validation-summary strong,
.server-sidebar-validation-details > summary,
.server-sidebar-validation-clean,
.ark-kpi-summary-heading span,
.ark-kpi-summary-metric span,
.ark-kpi-summary-metric strong,
.network-summary-grid strong,
.network-toolbar strong,
.customer-directory-page-header > div > span,
.customer-directory-sidebar-head span,
.customer-directory-form label > span,
.customer-directory-usage-grid span,
.customer-manager-card > header span,
.customer-manager-form label > span,
.customer-manager-row button,
.network-service-card > header span,
.network-service-card > header h3,
.network-service-card > header b,
.network-service-card > footer button,
.network-service-grid span,
.network-service-grid strong,
.workspace-window-form-group-head strong,
.rack-form-section-head strong,
.network-form-section-head strong,
.device-layout-screen-heading strong,
.device-layout-screen-heading small,
.device-layout-card-heading strong,
.device-layout-control-card > div strong,
.device-layout-preview-card > div:first-child strong,
.overview-group-card-head strong,
.overview-group-field span,
.setup-nvme-card-heading,
.server-nvme-card > header span,
.server-nvme-card > header strong,
.server-nvme-card > header em,
.server-nvme-card-fields label > span,
.server-nvme-derived > span,
.nvme-card-slot-config > span,
.computer-slot-type-card > span,
.drive-telemetry-title,
.computer-drive-usage-title,
.computer-drive-smart-title,
.computer-smart-group-title,
.computer-smart-grid label,
.computer-smart-meter-head span {
  font-family: var(--ark-font-ui) !important;
  font-synthesis: none;
}

/* Keep general UI emphasis clear without the muddy 800-950 weights. */
.panel-header,
.modal-header-bar h3,
.server-card-title,
.analytics-title,
.server-section-header,
.dashboard-side-title,
.dashboard-side-heading,
.identity-card-title,
.raid-section-title,
.raid-section-header,
.raid-section-span-title,
.raid-unassigned-title,
.replacement-drive-title,
.server-browser-group-title,
.server-card-section-title,
.server-card-identity-name,
.dashboard-stat-card-title,
.dashboard-stats-toolbar span,
.server-card-inline-status-label,
.ark-kpi-summary-heading span,
.network-toolbar strong,
.customer-directory-page-header > div > span,
.customer-directory-sidebar-head span,
.customer-manager-card > header span,
.network-service-card > header h3,
.workspace-window-form-group-head strong,
.rack-form-section-head strong,
.network-form-section-head strong,
.device-layout-screen-heading strong,
.device-layout-card-heading strong,
.overview-group-card-head strong,
.setup-nvme-card-heading,
.server-nvme-card > header strong,
.computer-slot-type-card > span,
.drive-telemetry-title,
.computer-drive-usage-title,
.computer-drive-smart-title,
.computer-smart-group-title {
  font-weight: var(--ark-font-weight-heading) !important;
}

.identity-row span,
.identity-row .identity-label,
.server-card-detail-row span,
.dashboard-stat-metric span,
.dashboard-stat-metric small,
.dashboard-stats-toolbar small,
.management-stat-matrix span,
.ark-status-search > span,
.server-sidebar-validation-summary span,
.ark-kpi-summary-metric span,
.customer-directory-form label > span,
.customer-directory-usage-grid span,
.customer-manager-form label > span,
.network-service-card > header span,
.network-service-grid span,
.server-nvme-card > header span,
.server-nvme-card > header em,
.server-nvme-card-fields label > span,
.server-nvme-derived > span,
.nvme-card-slot-config > span,
.computer-smart-grid label,
.computer-smart-meter-head span {
  font-weight: var(--ark-font-weight-label) !important;
}

.dashboard-stat-metric strong,
.dashboard-progress-ring strong,
.management-stat-matrix strong,
.ark-kpi-summary-metric strong,
.network-summary-grid strong,
.server-sidebar-validation-summary strong,
.summary-grid-mini strong,
.identity-health strong,
.validation-score span,
.kpi-value,
.progress-donut span,
.overview-group-fields.metrics .overview-group-field strong {
  font-family: var(--ark-font-display) !important;
  font-weight: var(--ark-font-weight-heading) !important;
  letter-spacing: 0 !important;
}

/* Explicit technical typography. */
code,
pre,
kbd,
samp,
.ark-mono,
[data-ark-font="mono"],
.bay-index,
.bay-serial,
.os-pill,
.customer-nav-count,
.identity-row.service-tag-row strong,
.identity-row.service-tag-row .identity-value,
.server-card-detail-row .service-tag-value,
.raid-pill,
.raid-layout-label,
.raid-mini-item .raid-mini-span,
.history-table-row span:first-child,
.history-table-row span:nth-child(2),
.history-table-row span:last-child,
.storage-sidebar-stats strong,
.ark-topbar-brand span,
.ark-topbar-brand small,
.server-import-workflow-tab .version,
.layout-preview-bay strong,
.bay-layout-order-field textarea,
.layout-capability-toolbar code,
.network-port strong,
.network-port-row > span,
.network-detail-layout-row > span,
.network-detail-uplinks > span,
.network-vlan-matrix-cell,
.network-vlan-matrix-row > header span,
.network-port-group > span,
.network-detail-port-group > span,
.network-router-preview-port b,
.network-router-preview-port small,
.network-rack-side-cutout span,
.computer-drive-usage-summary strong,
.computer-drive-usage-summary span,
.computer-drive-usage-scale,
.computer-smart-meter-head strong,
.computer-smart-meter small,
.computer-smart-grid strong {
  font-family: var(--ark-font-mono) !important;
  font-synthesis: none;
}

/* v0.15.0.21 application-wide dropdown and menu typography.
   Native selects and custom action/report menus now follow the same readable
   18px Segoe UI control system introduced for the rest of the application. */
:root {
  --ark-dropdown-font-size: var(--ark-customer-control-font-size, 18px);
  --ark-dropdown-font-weight: var(--ark-font-weight-normal, 400);
  --ark-dropdown-heading-weight: var(--ark-font-weight-heading, 600);
  --ark-dropdown-control-height: 40px;
  --ark-dropdown-row-height: 42px;
}

/* Native select controls throughout forms, editors, filters, rack/network tools,
   RAID/ZFS dialogs, import assignment screens, and the global customer filter. */
select,
.cyber-select,
.side-select,
.modal-select,
.raid-span-select,
.import-assignment-row select,
.workspace-window-field select,
.network-form-grid select,
.rack-form-grid select,
.network-router-patch-port-option select {
  font-family: var(--ark-font-ui) !important;
  font-size: var(--ark-dropdown-font-size) !important;
  font-weight: var(--ark-dropdown-font-weight) !important;
  line-height: 1.3 !important;
  min-height: var(--ark-dropdown-control-height);
  padding-top: 7px;
  padding-bottom: 7px;
  text-shadow: none !important;
  letter-spacing: 0 !important;
}

select option,
select optgroup,
.cyber-select option,
.side-select option,
.modal-select option {
  font-family: var(--ark-font-ui) !important;
  font-size: var(--ark-dropdown-font-size) !important;
  line-height: 1.35;
}

select option,
.cyber-select option,
.side-select option,
.modal-select option {
  font-weight: var(--ark-dropdown-font-weight) !important;
}

select optgroup {
  font-weight: var(--ark-dropdown-heading-weight) !important;
}

/* Top-bar customer selector. Its closed control and native option list now use
   the same typography and touch target size as the primary navigation. */
.ark-global-customer-select {
  min-width: 270px;
}
.ark-global-customer-select > span {
  font-family: var(--ark-font-ui);
  font-size: 12px;
  font-weight: var(--ark-dropdown-heading-weight);
  letter-spacing: .06em;
}
.ark-global-customer-select .cyber-select {
  min-width: 190px;
  height: var(--ark-dropdown-control-height);
  padding: 6px 36px 6px 12px;
}

/* Shared custom dropdown triggers and rows: Settings, Save, Import, Add, and
   any other action menu rendered with the Ark details/popover pattern. */
.ark-action-menu > summary,
.ark-global-export-trigger {
  font-family: var(--ark-font-ui) !important;
  font-size: var(--ark-dropdown-font-size) !important;
  font-weight: var(--ark-dropdown-heading-weight) !important;
  line-height: 1.25 !important;
  letter-spacing: 0 !important;
  text-shadow: none !important;
}
.ark-action-menu > summary {
  min-height: var(--ark-dropdown-control-height);
}
.ark-action-menu-popover {
  min-width: 260px;
  max-width: min(420px, calc(var(--ark-layout-vw, 100vw) - 20px));
  padding: 8px;
}
.ark-action-menu-popover button {
  min-height: var(--ark-dropdown-row-height);
  padding: 9px 12px;
  font-family: var(--ark-font-ui) !important;
  font-size: var(--ark-dropdown-font-size) !important;
  font-weight: var(--ark-dropdown-heading-weight) !important;
  line-height: 1.3 !important;
  letter-spacing: 0 !important;
  text-shadow: none !important;
}
.ark-workspace-add-menu .ark-action-menu-popover,
.ark-import-menu-popover,
.ark-dashboard-settings-menu .ark-action-menu-popover {
  min-width: 280px;
}

/* Export report dropdown receives the same control scale, with readable
   secondary descriptions rather than the former 8px/9px compact text. */
.ark-global-export-trigger {
  min-width: 118px;
  height: var(--ark-dropdown-control-height);
  padding: 6px 14px;
}
.ark-global-export-popover {
  width: min(430px, calc(var(--ark-layout-vw, 100vw) - 20px));
  max-height: min(620px, calc(var(--ark-layout-vh, 100vh) - 100px));
  padding: 10px;
}
.ark-report-menu-heading {
  padding: 7px 8px 11px;
  margin-bottom: 8px;
}
.ark-report-menu-heading strong {
  font-family: var(--ark-font-ui);
  font-size: var(--ark-dropdown-font-size);
  font-weight: var(--ark-dropdown-heading-weight);
  letter-spacing: 0;
}
.ark-report-menu-heading span {
  margin-top: 4px;
  font-family: var(--ark-font-ui);
  font-size: 13px;
  font-weight: var(--ark-font-weight-normal, 400);
  line-height: 1.4;
}
.ark-report-menu-list {
  gap: 6px;
}
.ark-report-menu-item {
  min-height: 50px;
  padding: 10px 12px;
  gap: 16px;
}
.ark-report-menu-item span {
  font-family: var(--ark-font-ui);
  font-size: var(--ark-dropdown-font-size);
  font-weight: var(--ark-dropdown-heading-weight);
  line-height: 1.25;
}
.ark-report-menu-item small {
  max-width: 230px;
  font-family: var(--ark-font-ui);
  font-size: 12px;
  font-weight: var(--ark-font-weight-normal, 400);
  line-height: 1.3;
  white-space: normal;
  text-align: right;
}

@media (max-width: 1050px) {
  .ark-global-customer-select {
    min-width: 220px;
  }
  .ark-global-customer-select .cyber-select {
    min-width: 180px;
    max-width: 220px;
  }
}

@media (max-width: 760px) {
  .ark-global-customer-select {
    min-width: 0;
  }
  .ark-global-customer-select .cyber-select {
    width: 100%;
    min-width: 0;
    max-width: none;
  }
  .ark-global-export-trigger {
    min-height: var(--ark-dropdown-control-height);
  }
  .ark-global-export-popover {
    width: auto;
  }
}

/* v0.15.0.22 adaptive application form typography.
   Form labels, values, helper copy, and grouped editor headings now scale with
   the space available to their containing panel. Narrow panels reflow before
   select text or input values are allowed to clip. Large-screen site scaling
   continues to enlarge the completed interface above the 1080p baseline. */
:root {
  --ark-form-label-size: clamp(12px, .76rem, 14px);
  --ark-form-content-size: clamp(16px, 1rem, 18px);
  --ark-form-helper-size: clamp(11px, .72rem, 13px);
  --ark-form-section-size: clamp(14px, .9rem, 16px);
  --ark-form-card-title-size: clamp(15px, .94rem, 17px);
  --ark-form-control-height: 44px;
  --ark-dropdown-font-size: var(--ark-form-content-size);
  --ark-dropdown-control-height: var(--ark-form-control-height);
}

/* Establish local sizing containers for the application's major editor types. */
.workspace-window-form-group,
.rack-form-section,
.network-form-section,
.device-layout-group-card {
  container-name: ark-form-group;
  container-type: inline-size;
  --ark-local-form-label-size: var(--ark-form-label-size);
  --ark-local-form-content-size: var(--ark-form-content-size);
  --ark-local-form-helper-size: var(--ark-form-helper-size);
  --ark-local-form-section-size: var(--ark-form-section-size);
}

.server-nvme-card {
  container-name: ark-nvme-card;
  container-type: inline-size;
  --ark-local-form-label-size: var(--ark-form-label-size);
  --ark-local-form-content-size: var(--ark-form-content-size);
  --ark-local-form-helper-size: var(--ark-form-helper-size);
}

@supports (font-size: 1cqi) {
  .workspace-window-form-group,
  .rack-form-section,
  .network-form-section,
  .device-layout-group-card,
  .server-nvme-card {
    --ark-local-form-label-size: clamp(12px, 2.65cqi, 14px);
    --ark-local-form-content-size: clamp(15px, 3.45cqi, 18px);
    --ark-local-form-helper-size: clamp(11px, 2.35cqi, 13px);
    --ark-local-form-section-size: clamp(14px, 3cqi, 16px);
  }
}

/* All normal application form labels use the readable form hierarchy. */
label,
.input-block > label,
.field-node > label,
.form-node > label,
.workspace-window-field > label,
.network-form-grid label,
.rack-form-grid label,
.rack-search-field > span,
.network-customer-filter > span,
.customer-directory-form label > span,
.customer-manager-form label > span,
.drive-telemetry-grid label,
.computer-smart-grid label,
.server-nvme-card-fields label > span,
.server-nvme-derived > span,
.nvme-card-slot-config > span,
.computer-slot-type-card > span {
  font-family: var(--ark-font-ui) !important;
  font-size: var(--ark-local-form-label-size, var(--ark-form-label-size)) !important;
  font-weight: var(--ark-font-weight-label) !important;
  line-height: 1.3 !important;
  letter-spacing: .02em !important;
  text-shadow: none !important;
}

/* Field contents, placeholders, and native option rows share one scale. */
input:not([type="checkbox"]):not([type="radio"]):not([type="range"]):not([type="color"]),
select,
textarea,
.cyber-input,
.cyber-select,
.side-input,
.side-select,
.modal-input,
.modal-select,
.workspace-window-field input,
.workspace-window-field select,
.workspace-window-field textarea,
.network-form-grid input,
.network-form-grid select,
.network-form-grid textarea,
.rack-form-grid input,
.rack-form-grid select,
.rack-form-grid textarea {
  min-width: 0;
  max-width: 100%;
  min-height: var(--ark-form-control-height);
  font-family: var(--ark-font-ui) !important;
  font-size: var(--ark-local-form-content-size, var(--ark-form-content-size)) !important;
  font-weight: var(--ark-font-weight-normal) !important;
  line-height: 1.35 !important;
  letter-spacing: 0 !important;
  text-shadow: none !important;
}

input::placeholder,
textarea::placeholder {
  font-family: inherit;
  font-size: inherit;
  font-weight: var(--ark-font-weight-normal);
  opacity: .72;
}

select option,
select optgroup {
  font-size: var(--ark-form-content-size) !important;
  line-height: 1.4 !important;
}

/* Helper text remains secondary, but no longer drops into 8-10px text. */
.form-factor-sub,
.jbod-helper-info,
.sidebar-subtitle,
.workspace-window-field small,
.network-form-grid small,
.rack-form-grid small,
.workspace-window-form-group-head small,
.rack-form-section-head small,
.network-form-section-head small,
.server-network-section-heading small,
.server-network-section-heading span,
.server-network-card-heading span,
.device-layout-screen-heading small,
.device-layout-screen-heading span,
.device-layout-control-card > div span,
.device-layout-preview-card > div:first-child span,
.setup-nvme-card-heading small,
.server-nvme-card-empty-note,
.computer-card-hardware small,
.computer-record-card .computer-compact-hardware-grid small,
.computer-record-card .computer-checkin-detail small,
.computer-drive-usage-title small,
.computer-drive-smart-title small {
  font-family: var(--ark-font-ui) !important;
  font-size: var(--ark-local-form-helper-size, var(--ark-form-helper-size)) !important;
  font-weight: var(--ark-font-weight-normal) !important;
  line-height: 1.4 !important;
  letter-spacing: 0 !important;
}

/* Group and card headings scale with their panel instead of using fixed 8-10px text. */
.workspace-window-form-group-head strong,
.rack-form-section-head strong,
.network-form-section-head strong,
.server-network-section-heading strong,
.server-network-card-heading strong,
.device-layout-screen-heading strong,
.device-layout-card-heading strong,
.device-layout-control-card > div strong,
.device-layout-preview-card > div:first-child strong,
.setup-nvme-card-heading {
  font-family: var(--ark-font-ui) !important;
  font-size: var(--ark-local-form-section-size, var(--ark-form-section-size)) !important;
  font-weight: var(--ark-font-weight-heading) !important;
  line-height: 1.3 !important;
  letter-spacing: .025em !important;
}

.workspace-window-form-group-head > span,
.rack-form-section-head > span,
.network-form-section-head > span,
.device-layout-group-card > legend {
  font-size: clamp(11px, .68rem, 12px) !important;
  font-weight: var(--ark-font-weight-heading) !important;
}

/* NVMe editors need space-aware columns because a fixed three-column layout
   cannot contain 18px select text in a half-width card. */
.server-nvme-card-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 520px), 1fr));
  gap: 14px;
}
.server-nvme-card > header {
  padding: 12px 14px;
}
.server-nvme-card > header span {
  font-size: var(--ark-local-form-label-size, var(--ark-form-label-size)) !important;
}
.server-nvme-card > header strong {
  font-family: var(--ark-font-ui) !important;
  font-size: var(--ark-form-card-title-size) !important;
  font-weight: var(--ark-font-weight-heading) !important;
  line-height: 1.3 !important;
}
.server-nvme-card > header em {
  font-family: var(--ark-font-ui) !important;
  font-size: var(--ark-local-form-helper-size, var(--ark-form-helper-size)) !important;
  font-weight: var(--ark-font-weight-label) !important;
  line-height: 1.3 !important;
}
.server-nvme-card-fields {
  grid-template-columns: minmax(160px, 1.3fr) minmax(180px, 1fr) minmax(100px, .6fr);
  gap: 12px;
  padding: 13px 14px;
}
.server-nvme-card-fields label,
.nvme-card-slot-config {
  min-width: 0;
}
.server-nvme-card-fields input,
.server-nvme-card-fields select,
.nvme-card-slot-config select {
  width: 100%;
  min-width: 0;
}
.server-nvme-card-empty-note {
  padding: 0 14px 13px;
}

/* Reflow grouped forms based on their actual panel width, not only the browser
   viewport. This keeps fields readable in split panes and large modal windows. */
@container ark-form-group (max-width: 620px) {
  .workspace-window-form-group > .workspace-window-grid,
  .workspace-window-grid.compact-grid,
  .rack-form-section-grid,
  .rack-form-section-grid.three-column,
  .network-form-section-grid {
    grid-template-columns: 1fr !important;
  }
}

@container ark-nvme-card (max-width: 620px) {
  .server-nvme-card-fields {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
  .server-nvme-card-fields > label:first-child {
    grid-column: 1 / -1;
  }
}

@container ark-nvme-card (max-width: 430px) {
  .server-nvme-card-fields,
  .nvme-card-slot-config-grid {
    grid-template-columns: 1fr;
  }
  .server-nvme-card-fields > label:first-child {
    grid-column: auto;
  }
}

@media (max-width: 700px) {
  :root {
    --ark-form-label-size: 12px;
    --ark-form-content-size: 16px;
    --ark-form-helper-size: 11px;
    --ark-form-section-size: 14px;
    --ark-form-card-title-size: 15px;
    --ark-form-control-height: 42px;
  }
}

/* v0.15.0.23 centered action-control content.
   Flex alignment centers button labels vertically and horizontally without
   changing interactive inventory cards, equipment faces, ports, or table rows. */
:where(
  button[class*="btn"],
  button[class*="tab"],
  button[class*="edit"],
  button[class*="delete"],
  button[class*="add"],
  button[class*="remove"],
  button[class*="close"],
  summary[class*="btn"],
  summary[class*="trigger"],
  summary[class*="tab"],
  .ark-topnav-item,
  .ark-action-menu > summary,
  .ark-action-menu-popover button,
  .ark-report-menu-item,
  .report-selection-controls button,
  .network-device-actions button,
  .network-cable-row button,
  .network-service-card > footer button,
  .customer-manager-row button,
  .network-router-detail-tabs button,
  .network-remote-picker-side-tabs button,
  .network-vlan-card button,
  .rack-table-edit,
  .layout-preset-btn,
  .inventory-quick-filter
) {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  vertical-align: middle !important;
  line-height: 1.25 !important;
}

/* Multi-line workflow selectors remain stacked, but every line is centered
   inside the complete button target. */
.server-import-workflow-tab,
.raid-vd-tab {
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
}
.server-import-workflow-tab > span,
.server-import-workflow-tab > small,
.raid-vd-tab > span,
.raid-vd-tab > small {
  width: 100%;
  text-align: center !important;
}

/* Dropdown command rows are ordinary buttons and follow the same alignment. */
.ark-action-menu-popover button {
  width: 100%;
}
.ark-report-menu-item {
  flex-direction: column !important;
  gap: 3px !important;
}
.ark-report-menu-item > span,
.ark-report-menu-item > small {
  width: 100%;
  max-width: 100%;
  text-align: center !important;
}
.ark-report-menu-item > small {
  white-space: normal;
}

/* Icon-only controls use the same centering primitive without inheriting a
   text offset from browser-default line boxes. */
:where(
  .btn-close-x,
  .close-x,
  .network-modal-close,
  .customer-assignment-close,
  .bay-edit-btn,
  .identity-copy-btn,
  .identity-inline-copy,
  .dashboard-stats-drag-handle
) {
  padding-left: 0 !important;
  padding-right: 0 !important;
}


/* v0.15.0.24 readable tab counters.
   Count badges now scale from the surrounding 18px tab label instead of using
   the former fixed 9px micro-text rule. */
.dashboard-content-tab > span,
.network-detail-content-tabs .dashboard-content-tab > span,
.storage-detail-content-tabs .dashboard-content-tab > span,
.ark-workspace-btn > b,
.network-router-detail-tabs button > b {
  display: inline-flex !important;
  align-items: center !important;
  justify-content: center !important;
  min-width: 1.65em !important;
  height: 1.65em !important;
  margin-left: .45em !important;
  padding: 0 .45em !important;
  border-radius: 999px !important;
  font-family: var(--ark-font-ui) !important;
  font-size: clamp(12px, .76em, 14px) !important;
  font-weight: var(--ark-font-weight-heading, 600) !important;
  line-height: 1 !important;
  letter-spacing: 0 !important;
  text-align: center !important;
  vertical-align: middle !important;
  font-variant-numeric: tabular-nums;
}

@media (max-width: 700px) {
  .dashboard-content-tab > span,
  .network-detail-content-tabs .dashboard-content-tab > span,
  .storage-detail-content-tabs .dashboard-content-tab > span,
  .ark-workspace-btn > b,
  .network-router-detail-tabs button > b {
    font-size: 12px !important;
  }
}

/* v0.15.0.25 contained vertical action menus.
   Footer action groups intentionally use white-space: nowrap, but that value
   must not flow into popup command lists. Button centering changed rows to
   inline-flex in v0.15.0.23, which allowed Settings items to sit side by side
   and overflow the popover. Every shared action menu is now an explicit
   vertical flex stack with normal wrapping. */
.ark-action-menu-popover {
  display: flex;
  flex-direction: column;
  align-items: stretch;
  box-sizing: border-box;
  white-space: normal;
  overflow-x: hidden;
}
.ark-action-menu-popover > button {
  display: flex !important;
  flex: 0 0 auto;
  width: 100%;
  max-width: 100%;
  box-sizing: border-box;
  white-space: normal;
}
.ark-action-menu-popover > hr {
  flex: 0 0 auto;
  width: 100%;
  box-sizing: border-box;
}
.ark-dashboard-settings-menu .ark-action-menu-popover {
  right: 0;
  left: auto;
}

/* v0.17.7.5: Export is a page-aware footer action on supported screens. */
.ark-reports-footer-slot,
.ark-footer-export-menu {
  flex: 0 0 auto;
}
.ark-footer-export-menu[open] {
  z-index: 1000;
}
.ark-footer-export-menu .ark-footer-export-popover {
  top: auto;
  right: 0;
  bottom: calc(100% + 7px);
  width: min(430px, calc(var(--ark-layout-vw, 100vw) - 20px));
  max-height: min(620px, calc(var(--ark-layout-vh, 100vh) - 80px));
  overflow-y: auto;
}
.ark-footer-export-popover > .ark-report-menu-heading {
  flex: 0 0 auto;
}
.ark-footer-export-popover > .ark-report-menu-list {
  display: grid;
  flex: 0 0 auto;
  width: 100%;
}
.ark-footer-export-popover > hr {
  border: 0;
  border-top: 1px solid #273442;
  margin: 9px 0 5px;
}
.ark-footer-export-popover .ark-report-menu-heading-full {
  border-bottom: 1px solid #273442;
  margin: 0 0 8px;
}
@media (max-width: 760px) {
  .ark-footer-export-menu .ark-footer-export-popover {
    position: fixed;
    inset: auto 8px 48px 8px;
    width: auto;
    max-height: min(70vh, calc(var(--ark-layout-vh, 100vh) - 64px));
  }
}

/* v0.15.0.26 full-page Server and Computer configuration workspaces.
   The setup workflow is no longer presented as a centered modal-like card.
   It uses the full application content area with a fixed page header, an
   independently scrolling form body, and the existing fixed bottom action bar. */
.ark-simple-page.server-setup-page {
  height: 100%;
  min-height: 0;
  padding: 14px;
  overflow: hidden !important;
  box-sizing: border-box;
  background: #0d1117;
}
.server-setup-workspace.engine-card {
  width: 100%;
  max-width: none;
  height: 100%;
  min-height: 0;
  padding: 0;
  margin: 0;
  display: flex;
  flex-direction: column;
  overflow: hidden;
  box-sizing: border-box;
  border: 1px solid #263746;
  border-radius: 8px;
  background: #0d141c;
  box-shadow: none;
}
.server-setup-page-header {
  flex: 0 0 auto;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 24px;
  padding: 18px 22px;
  border-bottom: 1px solid #263746;
  background: #101922;
}
.server-setup-page-title {
  min-width: 0;
}
.server-setup-page-title .workspace-eyebrow {
  display: block;
  margin-bottom: 4px;
  color: #58a6ff;
  font-family: var(--ark-font-mono);
  font-size: 12px;
  font-weight: 600;
  letter-spacing: .08em;
}
.server-setup-page-title h1 {
  margin: 0;
  color: #f0f6fc;
  font-size: clamp(24px, 1.55rem, 32px);
  line-height: 1.15;
}
.server-setup-page-title p {
  max-width: 980px;
  margin: 6px 0 0;
  color: #8ea2b4;
  font-size: clamp(14px, .88rem, 17px);
  line-height: 1.45;
}
.server-setup-page-context {
  flex: 0 0 auto;
  display: grid;
  grid-template-columns: repeat(2, minmax(150px, 1fr));
  gap: 10px;
  min-width: min(420px, 38%);
}
.server-setup-page-context > div {
  min-width: 0;
  padding: 10px 12px;
  border: 1px solid #2b3e50;
  border-radius: 6px;
  background: #0b131b;
}
.server-setup-page-context span,
.server-setup-page-context strong {
  display: block;
  min-width: 0;
  overflow: hidden;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.server-setup-page-context span {
  color: #8194a6;
  font-size: 12px;
  font-weight: 500;
  text-transform: uppercase;
  letter-spacing: .05em;
}
.server-setup-page-context strong {
  margin-top: 3px;
  color: #f0f6fc;
  font-size: 16px;
  font-weight: 600;
}
.server-setup-page-scroll {
  flex: 1 1 auto;
  min-height: 0;
  overflow: auto;
  padding: 18px;
  scrollbar-gutter: stable;
}
.server-setup-form-section {
  min-width: 0;
  margin-bottom: 16px;
  padding: 16px;
  border: 1px solid #293746;
  border-radius: 8px;
  background: #0d151e;
}
.server-setup-form-section:last-child {
  margin-bottom: 0;
}
.server-setup-section-head {
  display: flex;
  align-items: flex-start;
  gap: 12px;
  margin-bottom: 16px;
  padding-bottom: 12px;
  border-bottom: 1px solid #263746;
}
.server-setup-section-head > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  flex: 0 0 36px;
  width: 36px;
  height: 36px;
  border: 1px solid #356382;
  border-radius: 6px;
  background: #0b1b27;
  color: #58a6ff;
  font-family: var(--ark-font-mono);
  font-size: 14px;
  font-weight: 600;
}
.server-setup-section-head > div {
  min-width: 0;
}
.server-setup-section-head strong,
.server-setup-section-head small {
  display: block;
}
.server-setup-section-head strong {
  color: #f0f6fc;
  font-size: 18px;
  font-weight: 600;
  line-height: 1.2;
}
.server-setup-section-head small {
  margin-top: 4px;
  color: #8194a6;
  font-size: 13px;
  line-height: 1.35;
}
.server-setup-identity-grid.control-strip {
  grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
  gap: 14px 16px;
  margin: 0;
}
.server-setup-layout-grid.parameter-grid {
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  gap: 16px;
}
.server-setup-layout-grid > .input-block,
.server-setup-identity-grid > .input-block {
  min-width: 0;
}
.server-setup-layout-grid .setup-nvme-card-section {
  margin-top: 2px;
  padding-top: 16px;
}
.server-setup-layout-grid .setup-nvme-card-heading {
  margin-bottom: 12px;
}
.server-setup-layout-grid .server-nvme-card-grid {
  grid-template-columns: repeat(auto-fit, minmax(min(100%, 520px), 1fr));
}
.server-setup-workspace .cyber-readonly-field {
  min-height: var(--ark-form-control-height, 44px);
  box-sizing: border-box;
}
.computer-setup-workspace .computer-layout-grid {
  width: 100%;
  max-width: none;
}

@media (min-width: 2200px) {
  .server-setup-identity-grid.control-strip {
    grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
  }
  .server-setup-layout-grid.parameter-grid {
    grid-template-columns: repeat(auto-fit, minmax(360px, 1fr));
  }
}

@media (max-width: 1050px) {
  .server-setup-page-header {
    align-items: flex-start;
    flex-direction: column;
  }
  .server-setup-page-context {
    width: 100%;
    min-width: 0;
  }
}

@media (max-width: 700px) {
  .ark-simple-page.server-setup-page {
    padding: 0;
  }
  .server-setup-workspace.engine-card {
    border-width: 0;
    border-radius: 0;
  }
  .server-setup-page-header,
  .server-setup-page-scroll {
    padding: 14px;
  }
  .server-setup-page-context {
    grid-template-columns: 1fr;
  }
  .server-setup-form-section {
    padding: 12px;
  }
  .server-setup-identity-grid.control-strip,
  .server-setup-layout-grid.parameter-grid {
    grid-template-columns: 1fr;
  }
}

/* v0.15.0.28 application-wide hidden scrollbars.
   Ark Ledger keeps wheel, touchpad, keyboard, and touch scrolling enabled,
   while removing visible scrollbar tracks and thumbs from every workspace. */
html,
body,
#app,
#app * {
  scrollbar-width: none !important;
  -ms-overflow-style: none !important;
}

html::-webkit-scrollbar,
body::-webkit-scrollbar,
#app::-webkit-scrollbar,
#app *::-webkit-scrollbar {
  width: 0 !important;
  height: 0 !important;
  display: none !important;
}

.server-setup-page-scroll {
  scrollbar-gutter: auto !important;
}


/* v0.15.0.28 assigned drives grouped under each RAID virtual disk. */
.raid-vd-assigned-drives {
  margin-top: 0;
}
.raid-vd-assigned-drives .raid-section-title {
  display: flex;
  align-items: center;
  min-height: 38px;
}

/* v0.15.0.43 independently scrollable Server and Computer identity sidebars.
   Border-box sizing keeps sidebar padding inside the available content row so
   wheel, touchpad, keyboard, and touch scrolling can reach the final card while
   the global hidden-scrollbar policy remains intact. */
.three-column-server-view .server-identity-sidebar,
.three-column-server-view .workflow-sidebar {
  box-sizing: border-box !important;
  max-height: 100% !important;
  align-self: stretch;
  overscroll-behavior-y: contain;
  touch-action: pan-y;
}

.three-column-server-view .server-identity-sidebar {
  overflow-y: auto !important;
  overflow-x: hidden !important;
}


/* v0.15.0.44 External USB storage classification. */
.external-drive-pill{display:inline-flex;align-items:center;justify-content:center;min-height:18px;padding:1px 6px;border:1px solid #58a6ff;border-radius:999px;background:rgba(88,166,255,.12);color:#58a6ff;font-family:var(--font-ui);font-size:11px;font-weight:600;line-height:1;white-space:nowrap}
.computer-slot-type-card.is-external{border-color:rgba(88,166,255,.65);background:rgba(88,166,255,.06)}
.computer-slot-type-card.is-external>span{color:#58a6ff}

/* v0.15.0.45 Persistent, unnumbered external USB drive inventory. */
.external-usb-enclosure .drive-bay-grid,
.external-usb-enclosure .raid-grouped-grid {
  grid-template-columns: minmax(0, 1fr) !important;
}
.external-usb-enclosure .drive-bay {
  min-height: 0;
}
.external-usb-enclosure .bay-index-v2 {
  white-space: normal;
  overflow-wrap: anywhere;
}
.external-drive-pill.disconnected {
  color: var(--muted, #8fa3b8);
  border-color: rgba(143, 163, 184, 0.45);
  background: rgba(143, 163, 184, 0.08);
}
.drive-bay:has(.external-drive-pill.disconnected) {
  border-color: rgba(143, 163, 184, 0.32);
  opacity: 0.82;
}

/* v0.15.0.48 collector warnings below sidebar validation. */
.server-sidebar-collector-warnings-card {
  display: flex;
  flex-direction: column;
  gap: 8px;
  border-color: rgba(210, 153, 34, .55) !important;
  background: rgba(210, 153, 34, .045) !important;
}
.server-sidebar-collector-warnings-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  color: #d29922 !important;
}
.server-sidebar-collector-warnings-title > span {
  min-width: 0;
}
.server-sidebar-collector-warnings-title > b {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-width: 22px;
  min-height: 22px;
  padding: 2px 6px;
  border: 1px solid rgba(210, 153, 34, .65);
  border-radius: 999px;
  background: rgba(210, 153, 34, .12);
  color: #d29922;
  font-family: var(--font-mono, "Cascadia Mono", Consolas, monospace);
  font-size: 12px;
  font-weight: 600;
  line-height: 1;
}
.server-sidebar-collector-warning-list {
  display: flex;
  flex-direction: column;
  gap: 6px;
  max-height: 240px;
  overflow-y: auto;
  overflow-x: hidden;
  overscroll-behavior: contain;
  scrollbar-width: none;
}
.server-sidebar-collector-warning-list::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}
.server-sidebar-collector-warning {
  display: grid;
  grid-template-columns: 22px minmax(0, 1fr);
  align-items: start;
  gap: 7px;
  padding: 7px;
  border: 1px solid rgba(210, 153, 34, .32);
  border-radius: 4px;
  background: rgba(11, 15, 20, .72);
}
.server-sidebar-collector-warning > span {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  border: 1px solid #d29922;
  border-radius: 50%;
  color: #d29922;
  font-family: var(--font-ui);
  font-size: 13px;
  font-weight: 600;
  line-height: 1;
}
.server-sidebar-collector-warning > p {
  min-width: 0;
  margin: 0;
  color: #e6edf3;
  font-family: var(--font-ui);
  font-size: clamp(12px, .72rem, 14px);
  font-weight: 500;
  line-height: 1.35;
  overflow-wrap: anywhere;
}
@media (min-width: 901px) and (max-height: 920px) {
  .server-sidebar-collector-warnings-card {
    gap: 5px !important;
  }
  .server-sidebar-collector-warning-list {
    max-height: 145px !important;
  }
  .server-sidebar-collector-warning {
    grid-template-columns: 18px minmax(0, 1fr);
    gap: 5px;
    padding: 5px;
  }
  .server-sidebar-collector-warning > span {
    width: 18px;
    height: 18px;
    font-size: 11px;
  }
  .server-sidebar-collector-warning > p {
    font-size: .62rem;
    line-height: 1.25;
  }
}

/* v0.15.0.54 full-page Collector Reports workspace. */
.import-report-browser-page {
  height: 100%;
  min-height: 0;
  overflow: hidden !important;
  display: grid;
  grid-template-rows: auto auto minmax(0, 1fr);
  background: #0d1117;
}
.import-report-page-header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 24px;
  padding: 22px 24px 18px;
  border-bottom: 1px solid var(--border, #30363d);
  background: #10151c;
}
.import-report-page-header > div:first-child {
  min-width: 0;
}
.import-report-page-header h1 {
  margin: 4px 0 7px;
  color: #f0f6fc;
  font-family: var(--font-ui, "Segoe UI Variable Text", "Segoe UI", sans-serif);
  font-size: clamp(24px, 1.55rem, 34px);
  font-weight: 600;
  line-height: 1.15;
}
.import-report-page-header p {
  max-width: 1080px;
  margin: 0;
  color: #8b949e;
  font-size: clamp(13px, .82rem, 16px);
  line-height: 1.5;
}
.import-report-page-count {
  flex: 0 0 auto;
  min-width: 112px;
  padding: 12px 16px;
  border: 1px solid #30363d;
  border-radius: 6px;
  background: #0d1117;
  display: grid;
  place-items: center;
  gap: 2px;
}
.import-report-page-count strong {
  color: #58a6ff;
  font-family: var(--font-mono, "Cascadia Mono", Consolas, monospace);
  font-size: 25px;
  font-weight: 600;
  line-height: 1;
}
.import-report-page-count span {
  color: #8b949e;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .11em;
}
.import-report-browser-page .import-report-toolbar {
  padding: 14px 24px;
  background: #0d1117;
}
.import-report-browser-page .import-report-list {
  min-height: 0;
  overflow: auto;
  padding: 18px 24px 28px;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  align-items: start;
  scrollbar-width: none;
}
.import-report-browser-page .import-report-list::-webkit-scrollbar {
  display: none;
  width: 0;
  height: 0;
}
.import-report-browser-page .import-report-card {
  min-width: 0;
  height: 100%;
}
.ark-global-statusbar.is-collector-reports {
  grid-template-columns: minmax(0, 1fr) auto auto auto;
}
@media (max-width: 1180px) {
  .import-report-browser-page .import-report-list {
    grid-template-columns: 1fr;
  }
}
@media (max-width: 760px) {
  .import-report-page-header {
    padding: 16px;
    gap: 12px;
  }
  .import-report-page-count {
    min-width: 82px;
    padding: 10px;
  }
  .import-report-browser-page .import-report-toolbar,
  .import-report-browser-page .import-report-list {
    padding-left: 16px;
    padding-right: 16px;
  }
}

/* v0.15.0.58 preview-first collector and generated-history maintenance. */
.import-report-browser-page {
  grid-template-rows: auto auto auto minmax(0, 1fr);
}
.collector-maintenance-panel {
  padding: 16px 24px;
  border-bottom: 1px solid var(--border, #30363d);
  background: #0f141b;
}
.collector-maintenance-heading {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 18px;
  margin-bottom: 12px;
}
.collector-maintenance-heading h2 {
  margin: 2px 0 4px;
  color: #f0f6fc;
  font-size: clamp(18px, 1.08rem, 23px);
  font-weight: 600;
}
.collector-maintenance-heading p {
  max-width: 1120px;
  margin: 0;
  color: #8b949e;
  font-size: clamp(12px, .75rem, 15px);
  line-height: 1.4;
}
.collector-maintenance-error {
  max-width: 520px;
  padding: 9px 12px;
  border: 1px solid #f8514966;
  border-radius: 5px;
  background: #f8514914;
  color: #ff7b72;
  font-size: 13px;
}
.collector-maintenance-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
}
.collector-maintenance-card {
  min-width: 0;
  padding: 13px;
  border: 1px solid #30363d;
  border-radius: 6px;
  background: #0d1117;
}
.collector-maintenance-card > header {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  gap: 12px;
  align-items: start;
}
.collector-maintenance-card > header div {
  display: grid;
  gap: 3px;
}
.collector-maintenance-card > header strong {
  color: #f0f6fc;
  font-size: 14px;
  font-weight: 600;
}
.collector-maintenance-card > header span {
  color: #8b949e;
  font-size: 12px;
  line-height: 1.35;
}
.collector-maintenance-card > header em {
  min-width: 42px;
  min-height: 34px;
  padding: 5px 8px;
  border: 1px solid #30363d;
  border-radius: 5px;
  display: grid;
  place-items: center;
  color: #58a6ff;
  font-family: var(--font-mono, "Cascadia Mono", Consolas, monospace);
  font-size: 18px;
  font-style: normal;
  font-weight: 600;
}
.collector-maintenance-breakdown {
  min-height: 42px;
  margin: 10px 0;
  display: flex;
  flex-wrap: wrap;
  gap: 6px;
}
.collector-maintenance-breakdown span {
  padding: 5px 8px;
  border: 1px solid #30363d;
  border-radius: 999px;
  background: #161b22;
  color: #c9d1d9;
  font-size: 11px;
}
.collector-maintenance-breakdown strong {
  margin-right: 5px;
  color: #f0f6fc;
}
.collector-maintenance-empty {
  min-height: 42px;
  margin: 10px 0;
  color: #6e7681;
  font-size: 12px;
  line-height: 1.4;
}
.collector-maintenance-actions {
  display: flex;
  justify-content: flex-end;
  gap: 8px;
}
@media (max-width: 1050px) {
  .collector-maintenance-grid { grid-template-columns: 1fr; }
  .collector-maintenance-panel { max-height: 310px; overflow: auto; scrollbar-width: none; }
  .collector-maintenance-panel::-webkit-scrollbar { display: none; }
}
@media (max-width: 760px) {
  .collector-maintenance-panel { padding: 12px 16px; }
  .collector-maintenance-heading { display: grid; }
}
.collector-maintenance-details {
  margin: 8px 0 10px;
  border: 1px solid #30363d;
  border-radius: 5px;
  background: #10151c;
}
.collector-maintenance-details summary {
  padding: 7px 9px;
  cursor: pointer;
  color: #8b949e;
  font-size: 11px;
  font-weight: 600;
  letter-spacing: .06em;
}
.collector-maintenance-details > div {
  max-height: 150px;
  overflow: auto;
  padding: 0 8px 8px;
  scrollbar-width: none;
}
.collector-maintenance-details > div::-webkit-scrollbar { display: none; }
.collector-maintenance-details span {
  display: grid;
  gap: 2px;
  padding: 7px 2px;
  border-top: 1px solid #21262d;
}
.collector-maintenance-details strong {
  color: #c9d1d9;
  font-size: 12px;
  font-weight: 600;
}
.collector-maintenance-details small {
  color: #8b949e;
  font-size: 11px;
  line-height: 1.35;
}


/* v0.15.0.63 drive-model visibility on every populated physical drive card. */
.drive-bay .bay-model-number {
  margin-top: 3px;
  color: #c9d1d9;
  font-family: var(--font-mono, "Cascadia Mono", Consolas, monospace);
  font-size: .62rem;
  font-weight: 700;
  line-height: 1.25;
  overflow-wrap: anywhere;
}


/* v0.15.0.64 collector-authoritative Computer drive types with explicit manual locks. */
.computer-slot-type-lock{display:flex;align-items:center;gap:7px;color:#9fb0bf;font-size:12px;line-height:1.2;cursor:pointer}
.computer-slot-type-lock input{width:16px;height:16px;margin:0;accent-color:#58a6ff}
.computer-slot-type-lock span{font-family:var(--ark-font-ui);font-weight:600}


/* v0.16.0.0 bounded rendering for long Computer drive inventories. */
.bay-grid.computer-drive-grid > .computer-drive-card:not(.selected) {
  content-visibility: auto;
  contain: layout paint style;
  contain-intrinsic-size: 420px;
}
.bay-grid.computer-drive-grid > .computer-drive-card.selected {
  content-visibility: visible;
  contain: layout paint style;
}
@media (prefers-reduced-motion: reduce) {
  .computer-drive-usage-track > span,
  .computer-smart-group-meta i,
  .server-card,
  .rack-card {
    transition: none !important;
  }
}

/* v0.16.0.6 independently configured expansion-enclosure layouts. */
.server-expansion-unit-editor {
  display: flex;
  flex-direction: column;
  gap: 12px;
  min-width: 0;
  width: 100%;
}
.server-expansion-unit-toolbar {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 12px 14px;
  border: 1px solid rgba(88, 166, 255, .2);
  border-radius: 7px;
  background: #0d1720;
}
.server-expansion-unit-toolbar > div {
  display: flex;
  flex-direction: column;
  gap: 4px;
  min-width: 0;
}
.server-expansion-unit-toolbar strong,
.server-expansion-unit-card > header strong,
.server-expansion-unit-total strong {
  font-family: var(--ark-font-display);
  font-weight: var(--ark-font-weight-heading);
}
.server-expansion-unit-toolbar small,
.server-expansion-unit-card small {
  color: #8ea2b4;
  line-height: 1.35;
}
.server-expansion-unit-grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 12px;
  min-width: 0;
}
.server-expansion-unit-card {
  min-width: 0;
  overflow: hidden;
  border: 1px solid #356382;
  border-radius: 7px;
  background: linear-gradient(180deg, #101d28 0%, #0b151e 100%);
}
.server-expansion-unit-card > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 10px;
  padding: 10px 12px;
  border-bottom: 1px solid rgba(88, 166, 255, .14);
  background: #0d1720;
}
.server-expansion-unit-card > header > div {
  display: flex;
  flex-direction: column;
  gap: 3px;
  min-width: 0;
}
.server-expansion-unit-card > header span {
  color: #58a6ff;
  font-size: .72rem;
  font-weight: var(--ark-font-weight-label);
  letter-spacing: .06em;
}
.server-expansion-unit-card > header strong {
  overflow: hidden;
  color: #e4f0ff;
  text-overflow: ellipsis;
  white-space: nowrap;
}
.server-expansion-unit-fields {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 11px;
  align-items: start;
  padding: 12px;
}
.server-expansion-unit-fields label {
  display: flex;
  flex-direction: column;
  gap: 5px;
  min-width: 0;
}
.server-expansion-unit-fields label > span {
  color: #8ea2b4;
  font-size: .75rem;
  font-weight: var(--ark-font-weight-label);
  letter-spacing: .04em;
  text-transform: uppercase;
}
.server-expansion-unit-fields input,
.server-expansion-unit-fields select {
  width: 100%;
  min-width: 0;
}
.server-expansion-unit-total {
  align-self: flex-end;
  padding: 8px 12px;
  border: 1px solid rgba(88, 166, 255, .18);
  border-radius: 6px;
  background: #0b141c;
  color: #8ea2b4;
}
.server-expansion-unit-total strong {
  color: #e4f0ff;
}
.setup-expansion-unit-section {
  grid-column: 1 / -1;
  min-width: 0;
}
.expansion-unit-empty {
  grid-column: 1 / -1;
}
@media (max-width: 1200px) {
  .server-expansion-unit-grid { grid-template-columns: 1fr; }
}
@media (max-width: 700px) {
  .server-expansion-unit-toolbar { align-items: stretch; flex-direction: column; }
  .server-expansion-unit-fields { grid-template-columns: 1fr; }
  .server-expansion-unit-total { align-self: stretch; }
}

/* v0.16.0.7 RAID/VDEV fault-tolerance notifications */
.server-sidebar-redundancy-card {
  border-color: rgba(210, 153, 34, .46);
  background: linear-gradient(180deg, rgba(210, 153, 34, .09), rgba(8, 17, 31, .16));
}
.server-sidebar-redundancy-card.has-critical {
  border-color: rgba(239, 68, 68, .58);
  background: linear-gradient(180deg, rgba(239, 68, 68, .11), rgba(8, 17, 31, .18));
}
.server-sidebar-redundancy-title {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: .55rem;
}
.server-sidebar-redundancy-title > b {
  display: inline-grid;
  min-width: 1.6rem;
  min-height: 1.6rem;
  place-items: center;
  border: 1px solid currentColor;
  border-radius: 999px;
  font-size: .74rem;
}
.server-sidebar-redundancy-list {
  display: grid;
  gap: .55rem;
  max-height: 20rem;
  overflow-y: auto;
  scrollbar-width: none;
}
.server-sidebar-redundancy-list::-webkit-scrollbar { display: none; }
.server-sidebar-redundancy-alert {
  display: grid;
  gap: .32rem;
  padding: .65rem .7rem;
  border: 1px solid rgba(210, 153, 34, .35);
  border-radius: .45rem;
  background: rgba(210, 153, 34, .06);
}
.server-sidebar-redundancy-alert.critical {
  border-color: rgba(239, 68, 68, .5);
  background: rgba(239, 68, 68, .08);
}
.server-sidebar-redundancy-alert > div {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: .5rem;
}
.server-sidebar-redundancy-alert strong {
  font-size: .78rem;
  line-height: 1.25;
}
.server-sidebar-redundancy-alert span {
  flex: 0 0 auto;
  font-size: .62rem;
  letter-spacing: .08em;
  color: #d29922;
}
.server-sidebar-redundancy-alert.critical span { color: #ef4444; }
.server-sidebar-redundancy-alert p {
  margin: 0;
  font-size: .72rem;
  line-height: 1.35;
}
.server-sidebar-redundancy-alert small {
  font-size: .64rem;
  line-height: 1.35;
  opacity: .78;
}


/* v0.16.0.8 exact VDEV/span risk scopes and TrueNAS OS RAID fallback. */

/* v0.16.0.11 hardware RAID hot-spare presentation. */
.raid-hot-spare-row{box-shadow:inset 3px 0 0 #d29922;background:rgba(210,153,34,.07)}
.raid-hot-spare-row span:last-child{color:#d29922;font-weight:800;text-transform:uppercase}


/* v0.16.0.12 bulk drive actions and explicit warning severity colors. */
.drive-bay-header-v2.has-bulk-selector {
  grid-template-columns: auto minmax(0, 1fr) 24px 24px !important;
}
.drive-bulk-check {
  width: 20px;
  height: 20px;
  margin: 1px 0 0;
  justify-self: end;
  accent-color: #58a6ff;
  cursor: pointer;
}
.drive-bay.bulk-selected:not(.selected) {
  border-color: #58a6ff !important;
  outline: 2px solid rgba(88, 166, 255, .78);
  outline-offset: 1px;
  box-shadow: 0 0 14px rgba(88, 166, 255, .28) !important;
}
.drive-bay.bulk-selected:not(.selected)::after {
  content: "BULK";
  position: absolute;
  right: 6px;
  bottom: 6px;
  padding: 3px 6px;
  border: 1px solid #9acbff;
  border-radius: 999px;
  background: #1f6feb;
  color: #fff;
  font: 900 .55rem/1 Consolas, monospace;
  letter-spacing: .06em;
  pointer-events: none;
}
.server-sidebar-redundancy-alert.warning {
  border-color: rgba(210, 153, 34, .72) !important;
  background: rgba(210, 153, 34, .12) !important;
}
.server-sidebar-redundancy-alert.warning span,
.server-sidebar-redundancy-alert.warning strong {
  color: #d29922 !important;
}
.server-sidebar-redundancy-card.has-critical .server-sidebar-redundancy-alert.warning {
  border-color: rgba(210, 153, 34, .78) !important;
  background: rgba(210, 153, 34, .14) !important;
}

/* v0.16.0.13 visible bay references, one-based ZFS VDEV labels, and per-line dashboard severity. */
.server-filter-status.issue .server-filter-status-line.status-warning {
  color: #d29922 !important;
}
.server-filter-status.issue .server-filter-status-line.status-critical,
.server-filter-status.issue .server-filter-status-line.status-issue {
  color: #ff5c5c !important;
}
.server-filter-status .server-filter-status-line.status-complete {
  color: #2ea043 !important;
}
.zfs-pool-assigned-drives .raid-member-head,
.zfs-pool-assigned-drives .raid-member-row {
  grid-template-columns: minmax(170px, 1.25fr) minmax(130px, 1fr) minmax(150px, 1.2fr) 100px minmax(150px, .9fr);
}
@media (max-width: 1100px) {
  .zfs-pool-assigned-drives .raid-member-head,
  .zfs-pool-assigned-drives .raid-member-row {
    grid-template-columns: minmax(145px, 1.15fr) minmax(110px, 1fr) minmax(130px, 1.1fr) 90px minmax(125px, .9fr);
  }
}

/* v0.16.0.14 right-side bulk drive management controls. */
.drive-bulk-sidebar-actions {
  margin-top: 2px;
  padding-top: 8px;
  border-top: 1px solid #273849;
}
.drive-bulk-sidebar-heading {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 8px;
  margin-bottom: 6px;
}
.drive-bulk-sidebar-heading span {
  color: #58a6ff;
  font: 900 .58rem/1.15 Consolas, monospace;
  letter-spacing: .08em;
}
.drive-bulk-sidebar-heading strong {
  color: #8b949e;
  font: 800 .56rem/1.15 Consolas, monospace;
  white-space: nowrap;
}
.drive-bulk-sidebar-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: 5px;
}
.drive-bulk-sidebar-grid .btn-side {
  width: 100%;
  min-width: 0;
  min-height: 31px;
  padding: 6px 5px;
  font-size: .61rem;
  line-height: 1.05;
}
.drive-bulk-sidebar-grid .drive-bulk-empty-button {
  grid-column: 1 / -1;
}


/* v0.16.0.32 Windows 11 compliance assessment. */
.server-card-identity-name-group{display:flex;align-items:center;gap:7px;min-width:0;flex-wrap:wrap}.windows11-badge{display:inline-flex;align-items:center;justify-content:center;min-height:18px;padding:3px 6px;border:1px solid #d29922;border-radius:999px;background:rgba(210,153,34,.12);color:#d29922;font:900 .52rem/1 Consolas,monospace;letter-spacing:.035em;white-space:nowrap}.windows11-compliant{border-color:#2ea043;background:rgba(46,160,67,.12);color:#2ea043}.windows11-replacement-required{border-color:#f85149;background:rgba(248,81,73,.12);color:#ff6b67}.windows11-upgrade-required,.windows11-configuration-required,.windows11-hardware-upgrade-required,.windows11-review-required{border-color:#d29922;background:rgba(210,153,34,.12);color:#d29922}.computer-windows11-row strong{font-size:.66rem}.windows11-text-compliant{color:#2ea043!important}.windows11-text-replacement-required{color:#ff5c5c!important}.windows11-text-upgrade-required,.windows11-text-configuration-required,.windows11-text-hardware-upgrade-required,.windows11-text-review-required{color:#d29922!important}.computer-windows11-card{border-left:3px solid #d29922!important}.computer-windows11-card.windows11-card-compliant{border-left-color:#2ea043!important}.computer-windows11-card.windows11-card-replacement-required{border-left-color:#f85149!important}.computer-windows11-card .identity-card-title{display:flex;align-items:center;justify-content:space-between;gap:8px}.computer-windows11-summary{display:grid;gap:3px;padding:8px 0;border-bottom:1px solid #273849}.computer-windows11-summary strong{font-size:.72rem}.computer-windows11-summary small{color:#8b949e;font:700 .54rem/1.3 Consolas,monospace}.windows11-check-list{display:grid;gap:5px;padding-top:7px}.windows11-check{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:3px 7px;padding:6px;border:1px solid #273849;border-radius:4px;background:#0d131b}.windows11-check span{font-size:.59rem;color:#c9d1d9}.windows11-check strong{font:900 .53rem/1 Consolas,monospace}.windows11-check small{grid-column:1/-1;color:#8b949e;font-size:.52rem;line-height:1.3}.windows11-check-pass strong{color:#2ea043}.windows11-check-fail strong{color:#ff5c5c}.windows11-check-config strong,.windows11-check-unknown strong{color:#d29922}


/* v0.16.0.33 RAID span-aware redundancy warnings. */
.server-sidebar-redundancy-alert > em,
.report-risk-card > em {
  display: block;
  margin: .28rem 0 .15rem;
  font-style: normal;
  font-size: .72em;
  font-weight: 700;
  letter-spacing: .06em;
  text-transform: uppercase;
  color: var(--text-muted, #64748b);
}


/* v0.16.0.37 keep list filters centered while bulk controls remain visible. */
.ark-global-statusbar.has-bulk-actions.has-management-search {
  grid-template-columns: minmax(150px, 1fr) minmax(360px, 620px) minmax(max-content, 1fr) !important;
  gap: 12px !important;
}
.ark-global-statusbar.has-bulk-actions.has-management-search > .ark-selection-compact {
  grid-column: 1 / 2;
  justify-self: start;
  min-width: 0;
}
.ark-global-statusbar.has-bulk-actions.has-management-search > .ark-status-search {
  grid-column: 2 / 3 !important;
  justify-self: center !important;
  width: min(620px, 100%) !important;
  position: relative;
  z-index: 1;
}
.ark-global-statusbar.has-bulk-actions.has-management-search > .ark-bulk-status-actions {
  grid-column: 3 / 4 !important;
  justify-self: end;
  white-space: nowrap;
  position: relative;
  z-index: 3;
  pointer-events: auto;
}
@media (max-width: 1180px) {
  .ark-global-statusbar.has-bulk-actions.has-management-search {
    grid-template-columns: minmax(260px, 1fr) auto !important;
  }
  .ark-global-statusbar.has-bulk-actions.has-management-search > .ark-selection-compact {
    display: none;
  }
  .ark-global-statusbar.has-bulk-actions.has-management-search > .ark-status-search {
    grid-column: 1 / 2 !important;
    justify-self: stretch !important;
    width: 100% !important;
  }
  .ark-global-statusbar.has-bulk-actions.has-management-search > .ark-bulk-status-actions {
    grid-column: 2 / 3 !important;
  }
}

/* v0.16.0.40 server-only 30-day warning mute. */
.server-card.validation-muted { border-color: rgba(88,166,255,.48); }
.server-validation-status.muted { color: #79c0ff; }
.server-filter-status.muted .server-filter-status-line,
.server-filter-status .server-filter-status-line.status-muted { color: #79c0ff !important; }
.server-warning-mute-badge {
  display:inline-flex;
  align-items:center;
  min-height:18px;
  padding:3px 6px;
  border:1px solid #58a6ff;
  border-radius:999px;
  background:rgba(88,166,255,.10);
  color:#79c0ff;
  font:900 .50rem/1 Consolas,monospace;
  letter-spacing:.04em;
  white-space:nowrap;
}
.server-warning-mute-badge.bypassed {
  border-color:#f85149;
  background:rgba(248,81,73,.10);
  color:#ff6b67;
}
.server-warning-mute-card {
  display:grid;
  gap:8px;
  border-color:rgba(88,166,255,.40);
  background:linear-gradient(180deg,rgba(88,166,255,.07),rgba(8,17,31,.16));
}
.server-warning-mute-card.is-active {
  border-color:rgba(88,166,255,.58);
  box-shadow:inset 3px 0 0 #58a6ff;
}
.server-warning-mute-card.is-bypassed {
  border-color:rgba(248,81,73,.58);
  background:linear-gradient(180deg,rgba(248,81,73,.08),rgba(8,17,31,.18));
  box-shadow:inset 3px 0 0 #f85149;
}
.server-warning-mute-title {
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:8px;
}
.server-warning-mute-title b {
  color:#79c0ff;
  font:900 .54rem/1 Consolas,monospace;
  letter-spacing:.06em;
}
.server-warning-mute-card.is-bypassed .server-warning-mute-title b { color:#ff6b67; }
.server-warning-mute-card p {
  margin:0;
  color:#f0f6fc;
  font-size:.68rem;
  line-height:1.4;
}
.server-warning-mute-card small {
  color:#8b949e;
  font-size:.58rem;
  line-height:1.4;
}
.server-warning-mute-card .btn-side { width:100%; min-height:30px; padding:7px 9px; }

/* v0.16.0.53 dashboard virtualized asset grid parity */
.dashboard-server-list > .virtual-asset-list {
  grid-column: 1 / -1;
  width: 100%;
  min-width: 0;
}
.dashboard-server-list .virtual-asset-rows,
.dashboard-server-list .virtual-server-rows {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(340px, 1fr));
  gap: 12px;
  align-content: start;
  width: 100%;
  min-width: 0;
}
.dashboard-server-list .virtual-server-status {
  grid-column: 1 / -1;
  width: 100%;
}
@media (max-width: 760px) {
  .dashboard-server-list .virtual-asset-rows,
  .dashboard-server-list .virtual-server-rows {
    grid-template-columns: 1fr;
  }
}


/* v0.16.0.54 - persisted ZFS operation and drive rebuild progress */
.drive-rebuild-progress { margin: 8px 10px 10px; padding: 7px 8px; border: 1px solid rgba(40, 140, 220, .42); background: rgba(11, 27, 42, .72); border-radius: 4px; }
.drive-rebuild-progress.zfs { border-color: rgba(255, 183, 30, .55); background: rgba(54, 38, 7, .38); }
.drive-rebuild-progress-head { display: flex; align-items: center; justify-content: space-between; gap: 8px; font-family: var(--font-mono); font-size: 10px; letter-spacing: .06em; }
.drive-rebuild-progress-head span { color: var(--text-muted); }
.drive-rebuild-progress-head strong { color: #f7c843; }
.drive-rebuild-progress-track, .zfs-scan-progress-track { position: relative; overflow: hidden; height: 7px; margin-top: 5px; border: 1px solid rgba(95, 127, 151, .55); background: rgba(4, 12, 19, .9); border-radius: 999px; }
.drive-rebuild-progress-track i, .zfs-scan-progress-track i { display: block; min-width: 2px; max-width: 100%; height: 100%; background: linear-gradient(90deg, #d79100, #ffd75a); box-shadow: 0 0 8px rgba(255, 190, 35, .65); }
.drive-rebuild-progress small { display: block; margin-top: 5px; color: var(--text-muted); font-size: 10px; }
.zfs-scan-progress { margin: 10px 0 14px; padding: 12px 14px; border: 1px solid rgba(255, 183, 30, .55); background: rgba(49, 34, 7, .32); border-radius: 5px; }
.zfs-scan-progress-head { display: flex; align-items: center; justify-content: space-between; gap: 16px; }
.zfs-scan-progress-head > div { display: flex; flex-direction: column; gap: 3px; }
.zfs-scan-progress-head span { color: var(--text-muted); font-family: var(--font-mono); font-size: 10px; letter-spacing: .08em; }
.zfs-scan-progress-head strong, .zfs-scan-progress-head b { color: #f7c843; }
.zfs-scan-progress p { margin: 8px 0 0; color: var(--text-secondary); line-height: 1.45; }
.zfs-scan-progress > small { display: block; margin-top: 6px; color: var(--text-muted); }
.zfs-scan-progress.compact { margin: 8px 0 5px; padding: 0; border: 0; background: transparent; }
.zfs-scan-progress.compact .zfs-scan-progress-head { font-size: 11px; }
.zfs-scan-progress.compact .zfs-scan-progress-track { height: 5px; margin-top: 4px; }

/* v0.16.0.58 application-level options and permanent computer warning policies. */
.app-options-page{box-sizing:border-box;display:grid;grid-auto-rows:max-content;align-content:start;gap:10px;width:100%;height:100%;min-height:0;padding:12px 14px 18px;overflow-x:hidden;overflow-y:auto;overscroll-behavior:contain}
/* v0.16.0.58 - App Options uses the global content viewport as its own hidden-scrollbar workspace. */
.ark-global-content>.app-options-page{height:100%;min-height:0;overflow-x:hidden;overflow-y:auto}
.app-options-page-head{display:flex;align-items:stretch;justify-content:space-between;gap:16px;border:1px solid #263747;border-left:4px solid #3c8fd8;border-radius:7px;background:#101821;padding:13px 14px}
.app-options-page-head>div:first-child{min-width:0}.app-options-page-head span{display:block;color:#58a6ff;font-size:8px;font-weight:900;letter-spacing:.11em}.app-options-page-head h1{margin:4px 0 5px;color:#e6edf3;font-size:20px}.app-options-page-head p{margin:0;max-width:880px;color:#92a3b5;font-size:9px;line-height:1.45}
.app-options-file-state{display:grid;align-content:center;min-width:205px;border:1px solid #2c4052;border-radius:6px;background:#0d141c;padding:9px 12px;text-align:right}.app-options-file-state span{color:#71879c}.app-options-file-state strong{margin-top:3px;color:#3fb950;font-size:12px}.app-options-file-state small{margin-top:3px;color:#7d8fa1;font:700 8px/1.25 Consolas,monospace}
.app-options-tabs{display:flex;flex:0 0 auto;align-items:flex-end;align-self:start;gap:5px;width:100%;min-height:35px;border-bottom:1px solid #2b3947;padding-left:1px}.app-options-tabs button{box-sizing:border-box;flex:0 0 auto;width:auto;height:34px;min-height:34px;max-height:34px;border:1px solid #2d3d4d;border-bottom:0;border-radius:5px 5px 0 0;background:#111923;color:#91a4b8;padding:7px 13px;font:900 10px/1 Consolas,monospace;cursor:pointer}.app-options-tabs button:hover{color:#dce7f1;border-color:#47759d}.app-options-tabs button.active{border-color:#2ea043;background:#132219;color:#e6edf3;box-shadow:inset 0 2px 0 #2ea043}.app-options-tabs button span{display:inline-flex;min-width:20px;justify-content:center;margin-left:6px;border-radius:999px;background:#1f2c39;color:#a8c7e1;padding:3px 6px;font-size:8px}.app-options-tabs button.active span{background:#173a24;color:#5ee081}
.app-options-tab-panel{display:grid;gap:10px;align-content:start}.app-options-summary-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:8px}.app-options-summary-grid>div{display:grid;gap:4px;border:1px solid #293847;border-radius:6px;background:#111923;padding:9px 11px}.app-options-summary-grid span{color:#7f93a7;font-size:8px;font-weight:900;letter-spacing:.07em;text-transform:uppercase}.app-options-summary-grid strong{color:#e5edf5;font-size:13px;overflow-wrap:anywhere}
.app-options-storage-notice{display:flex;align-items:center;gap:10px;border:1px solid #2d4a39;border-left:4px solid #2ea043;border-radius:5px;background:#102018;padding:8px 10px}.app-options-storage-notice strong{color:#50d47a;font-size:9px;text-transform:uppercase;letter-spacing:.06em}.app-options-storage-notice span{color:#98b6a3;font-size:9px}.app-options-storage-notice.error{border-color:#6e3434;border-left-color:#f85149;background:#261313}.app-options-storage-notice.error strong{color:#ff7b72}.app-options-storage-notice.error span{color:#d2a0a0}
.app-option-group-list{display:grid;gap:9px}.app-option-group{border:1px solid #283847;border-radius:7px;background:#0f161e;overflow:hidden}.app-option-group.has-options{border-left:4px solid #3c8fd8}.app-option-group>header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;border-bottom:1px solid #273543;background:#121c26;padding:10px 12px}.app-option-group>header>div{min-width:0}.app-option-group>header span{display:block;color:#58a6ff;font-size:7px;font-weight:900;letter-spacing:.12em}.app-option-group>header h2{margin:3px 0;color:#e4edf5;font-size:13px}.app-option-group>header p{margin:0;color:#8497a9;font-size:8.5px;line-height:1.4}.app-option-group>header>b{display:inline-flex;min-width:28px;min-height:24px;align-items:center;justify-content:center;border:1px solid #31475a;border-radius:999px;background:#0c141c;color:#9bc5e8;padding:3px 8px;font:900 9px Consolas,monospace}.app-option-group-body{display:grid;gap:7px;padding:9px}
.app-option-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:16px;align-items:center;border:1px solid #334252;border-left:4px solid #59697a;border-radius:6px;background:#111923;padding:11px 12px;cursor:pointer}.app-option-row:hover{border-color:#4b6379}.app-option-row.is-enabled{border-color:#2d6d45;border-left-color:#2ea043;background:#101e17}.app-option-copy{display:grid;gap:4px;min-width:0}.app-option-copy small{color:#6daee5;font:900 7px/1 Consolas,monospace;letter-spacing:.1em}.app-option-copy strong{color:#e6edf3;font-size:11px}.app-option-copy em{color:#8fa1b2;font-size:8.5px;font-style:normal;line-height:1.45}.app-option-state{display:grid;grid-template-columns:auto 42px;align-items:center;gap:9px;position:relative}.app-option-state b{color:#aab8c5;font:900 8px Consolas,monospace}.app-option-row.is-enabled .app-option-state b{color:#50d47a}.app-option-state input{position:absolute;opacity:0;pointer-events:none}.app-option-state i{position:relative;width:42px;height:22px;border:1px solid #4b5c6d;border-radius:999px;background:#202b35;box-shadow:inset 0 0 0 1px rgba(0,0,0,.2)}.app-option-state i:after{content:"";position:absolute;left:3px;top:3px;width:14px;height:14px;border-radius:50%;background:#8d9aa7;transition:transform .16s ease,background .16s ease}.app-option-state input:checked+i{border-color:#2ea043;background:#183c25}.app-option-state input:checked+i:after{transform:translateX(20px);background:#51d47a}.app-option-state input:focus-visible+i{outline:2px solid #58a6ff;outline-offset:2px}
.app-muted-list{display:grid;gap:7px;padding:9px}.app-muted-record{display:grid;grid-template-columns:minmax(180px,1.2fr) minmax(190px,1fr) minmax(220px,1.25fr) auto;gap:10px;align-items:center;border:1px solid #344353;border-left:4px solid #d29922;border-radius:6px;background:#111923;padding:9px 10px}.app-muted-record>div{display:grid;gap:3px;min-width:0}.app-muted-record span{color:#8296aa;font-size:7.5px;font-weight:900;text-transform:uppercase;letter-spacing:.05em}.app-muted-record strong{color:#e5edf5;font-size:9px;overflow-wrap:anywhere}.app-muted-record small{color:#9d8a56;font-size:7.5px}.app-muted-record-main strong{color:#f0c65a;font-size:11px}.app-muted-remove{justify-self:end}
.app-options-empty{display:grid;gap:4px;border:1px dashed #354554;border-radius:6px;background:#0d141b;padding:18px;text-align:center}.app-options-empty strong{color:#cbd7e2;font-size:10px}.app-options-empty span{color:#7f91a3;font-size:8.5px}.app-options-empty.compact{margin:9px;padding:11px}
.windows11-check-muted{border-color:#315979!important;background:#0f2130!important}.windows11-check-muted strong{color:#6cb6ff!important}
@media (max-width:1000px){.app-options-summary-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.app-muted-record{grid-template-columns:1fr 1fr}.app-muted-remove{justify-self:start}.app-options-page-head{display:grid}.app-options-file-state{text-align:left}}
@media (max-width:650px){.app-options-page{padding:8px}.app-options-summary-grid{grid-template-columns:1fr}.app-option-row{grid-template-columns:1fr}.app-option-state{justify-content:start}.app-muted-record{grid-template-columns:1fr}.app-options-tabs{overflow-x:auto}.app-options-tabs button{white-space:nowrap}}


/* v0.16.0.63 non-blocking request queue and loading visibility */
.ark-request-hud {
  position: fixed;
  left: 14px;
  bottom: 48px;
  z-index: 10050;
  width: min(540px, calc(100vw - 28px));
  border: 1px solid #238636;
  border-left: 5px solid #2ea043;
  border-radius: 7px;
  background: rgba(13,17,23,.98);
  box-shadow: 0 12px 36px rgba(0,0,0,.5);
  color: #c9d1d9;
  font-family: Consolas, monospace;
  padding: 9px 11px;
  pointer-events: none;
  user-select: none;
}
.ark-request-hud[hidden] { display: none !important; }
.ark-request-hud.is-waiting { border-color: #9e6a03; border-left-color: #d29922; }
.ark-request-hud.is-error { border-color: #da3633; border-left-color: #f85149; }
.ark-request-hud.is-complete { border-color: #238636; opacity: .95; }
.ark-request-hud-head,
.ark-request-hud-body { display: flex; align-items: center; gap: 9px; min-width: 0; }
.ark-request-hud-head strong { color: #3fb950; letter-spacing: .07em; font-size: .72rem; }
.ark-request-hud.is-waiting .ark-request-hud-head strong { color: #d29922; }
.ark-request-hud.is-error .ark-request-hud-head strong { color: #f85149; }
.ark-request-hud-head > span:last-child { margin-left: auto; color: #8b949e; font-size: .66rem; }
.ark-request-hud-body { margin-top: 6px; }
.ark-request-hud-body b { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; color: #f0f6fc; }
.ark-request-hud-body span { color: #58a6ff; font-size: .68rem; white-space: nowrap; }
.ark-request-hud-body time { margin-left: auto; color: #d29922; font-weight: 800; white-space: nowrap; }
.ark-request-spinner { width: 11px; height: 11px; flex: 0 0 auto; border: 2px solid #30363d; border-top-color: #3fb950; border-radius: 50%; animation: arkRequestSpin .8s linear infinite; }
.ark-request-hud.is-error .ark-request-spinner,
.ark-request-hud.is-complete .ark-request-spinner { animation: none; border-color: currentColor; }
.ark-request-hud-error { margin-top: 7px; color: #ff7b72; white-space: normal; word-break: break-word; }
.ark-request-hud-list { display: grid; gap: 4px; margin-top: 7px; max-height: 170px; overflow: hidden; border-top: 1px solid #30363d; padding-top: 6px; }
.ark-request-hud-list::-webkit-scrollbar { width: 0; height: 0; }
.ark-request-hud-list > div { display: flex; justify-content: space-between; gap: 10px; border: 1px solid #21262d; padding: 4px 6px; }
.ark-request-hud-list small { color: #8b949e; white-space: nowrap; }
.ark-request-button-busy { position: relative; cursor: progress !important; opacity: .72 !important; }
.ark-request-button-busy::after { content: ""; display: inline-block; width: 8px; height: 8px; margin-left: 7px; border: 1px solid currentColor; border-top-color: transparent; border-radius: 50%; animation: arkRequestSpin .8s linear infinite; }
@keyframes arkRequestSpin { to { transform: rotate(360deg); } }
@media (max-width: 700px) { .ark-request-hud { left: 7px; bottom: 54px; width: calc(100vw - 14px); } .ark-request-hud-body span { display:none; } }

/* v0.16.0.70 cross-rack left-ingress routing correction */

/* v0.16.0.70 common-read bootstrap and cache reset release */

/* v0.16.0.70 cross-rack cable top-layer and spacing correction */
.network-rack-canvas > .network-remote-rack-strip:not(.report-mode){margin-bottom:40px}
.network-cable-layer{overflow:hidden}


/* v0.16.0.75 rack shelf placement and linked network asset preview */
.rack-network-device-preview{
  grid-column:1/-1;
  display:grid;
  gap:12px;
  padding:14px;
  border:1px solid rgba(88,166,255,.42);
  border-radius:7px;
  background:linear-gradient(135deg,rgba(31,111,235,.11),rgba(13,17,23,.96));
}
.rack-network-device-preview.empty{border-style:dashed}
.rack-network-device-heading{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  padding-bottom:10px;
  border-bottom:1px solid #30363d;
}
.rack-network-device-heading>div{display:grid;gap:3px;min-width:0}
.rack-network-device-heading span,
.rack-network-device-grid span{
  color:#8b949e;
  font-size:9px;
  font-weight:900;
  letter-spacing:.07em;
  text-transform:uppercase;
}
.rack-network-device-heading strong{color:#f0f6fc;font-size:12px}
.rack-network-device-heading em{
  flex:0 0 auto;
  border:1px solid rgba(57,211,83,.58);
  border-radius:999px;
  padding:4px 8px;
  color:#39d353;
  font:900 9px Consolas,monospace;
  font-style:normal;
  text-transform:uppercase;
}
.rack-network-device-preview.empty .rack-network-device-heading em{
  border-color:rgba(210,153,34,.65);
  color:#e3b341;
}
.rack-network-device-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:8px;
}
.rack-network-device-grid>div{
  min-width:0;
  display:grid;
  gap:4px;
  padding:9px 10px;
  border:1px solid #30363d;
  border-radius:5px;
  background:rgba(13,17,23,.72);
}
.rack-network-device-grid strong{
  overflow:hidden;
  color:#c9d1d9;
  font-size:11px;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.rack-network-device-preview>small{color:#8b949e;line-height:1.45}
.rack-shelf-placement-summary{
  grid-column:1/-1;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  padding:11px;
  border:1px solid rgba(210,153,34,.55);
  border-radius:6px;
  background:rgba(210,153,34,.07);
}
.rack-shelf-placement-summary>div{
  display:grid;
  gap:3px;
  min-width:0;
  padding:8px 9px;
  border:1px solid rgba(210,153,34,.22);
  border-radius:4px;
  background:rgba(13,17,23,.58);
}
.rack-shelf-placement-summary span{
  color:#9ca9b5;
  font:900 8px Consolas,monospace;
  letter-spacing:.06em;
  text-transform:uppercase;
}
.rack-shelf-placement-summary strong{color:#f0c65c;font-size:11px}
.rack-shelf-placement-summary>small{grid-column:1/-1;color:#9ca9b5;line-height:1.4}
.rack-mounted-item.has-shelf-devices{overflow:hidden}
.rack-shelf-device-list{
  display:flex;
  flex-wrap:wrap;
  gap:3px;
  margin-top:3px;
  max-height:30px;
  overflow:hidden;
}
.rack-shelf-device-list i{
  display:inline-block;
  max-width:120px;
  overflow:hidden;
  padding:1px 4px;
  border:1px solid rgba(240,180,41,.48);
  border-radius:999px;
  color:#f0c65c;
  font:900 7px Consolas,monospace;
  font-style:normal;
  text-overflow:ellipsis;
  white-space:nowrap;
}
@media(max-width:900px){
  .rack-network-device-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .rack-shelf-placement-summary{grid-template-columns:1fr}
  .rack-shelf-placement-summary>small{grid-column:1}
}

/* v0.16.0.75 shelf-mounted cabling devices and patch-panel setup */
.network-shelf-group{
  position:relative;
  z-index:2;
  display:grid;
  gap:8px;
  min-width:760px;
  padding:9px;
  border:1px solid #536579;
  border-left:5px solid #8b949e;
  border-radius:8px;
  background:linear-gradient(180deg,rgba(32,43,54,.98),rgba(12,20,28,.98));
}
.network-shelf-group>header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
  padding:3px 5px 8px;
  border-bottom:1px dashed rgba(139,148,158,.45);
}
.network-shelf-group>header div{min-width:0}
.network-shelf-group>header span{
  display:block;
  color:#8fc7ff;
  font:900 7px var(--mono,Consolas,monospace);
  letter-spacing:.08em;
}
.network-shelf-group>header strong{display:block;margin-top:2px;color:#f2f8ff;font-size:13px}
.network-shelf-group>header small{display:block;margin-top:2px;color:#9ca9b5;font-size:8px}
.network-shelf-group>header>b{
  flex:0 0 auto;
  border:1px solid #7b8794;
  border-radius:999px;
  padding:4px 7px;
  color:#d4dbe3;
  background:#18232e;
  font:900 8px var(--mono,Consolas,monospace);
}
.network-shelf-device-stack{display:grid;gap:8px}
.network-shelf-device-stack>.network-device-card{
  min-width:0;
  border-left-width:4px;
  border-radius:6px;
}
.network-unconfigured-copy .network-configure-device{
  justify-self:center;
  min-width:170px;
  margin-top:7px;
}
@media(max-width:1100px){.network-shelf-group{min-width:680px}}
@media(max-width:860px){.network-shelf-group{min-width:620px}}

/* v0.16.0.76 cabling vertical-space and optical-uplink routing */
.network-cabling-summary-tab-content{padding-top:10px;min-height:220px}


/* v0.16.0.79 grouped cabling summary and media-aware cross-rack routing */
.network-cabling-summary-tab-content{
  padding:12px 0 4px;
  min-height:260px;
}
.network-summary-dashboard{
  display:grid;
  gap:12px;
}
.network-summary-group{
  min-width:0;
}
.network-summary-inventory-grid{
  grid-template-columns:repeat(6,minmax(0,1fr));
}
.network-summary-cable-grid{
  grid-template-columns:repeat(4,minmax(0,1fr));
}
.network-summary-usage-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:1px;
  padding:1px 0 0;
  background:var(--line,#30363d);
}
.network-summary-usage-card{
  min-width:0;
  min-height:138px;
  display:grid;
  grid-template-columns:118px minmax(0,1fr);
  background:var(--panel-deep,#0b0f14);
}
.network-summary-usage-donut{
  position:relative;
  display:grid;
  place-items:center;
  border-right:1px solid var(--line,#30363d);
  background:rgba(255,255,255,.012);
}
.network-summary-usage-donut::before{
  content:"";
  width:82px;
  height:82px;
  border-radius:50%;
  background:conic-gradient(#2ea043 var(--network-summary-progress,0deg),#252c35 0);
  box-shadow:0 0 18px rgba(46,160,67,.09);
}
.network-summary-usage-donut::after{
  content:"";
  position:absolute;
  width:60px;
  height:60px;
  border-radius:50%;
  background:var(--panel-deep,#0b0f14);
  box-shadow:inset 0 0 0 1px var(--line,#30363d);
}
.network-summary-usage-donut>span{
  position:absolute;
  z-index:1;
  display:grid;
  justify-items:center;
  line-height:1;
}
.network-summary-usage-donut strong{
  color:var(--text-main,#f0f6fc);
  font:900 1rem var(--mono,Consolas,monospace);
}
.network-summary-usage-donut small{
  margin-top:5px;
  color:var(--text-muted,#8b949e);
  font:800 .5rem var(--mono,Consolas,monospace);
  letter-spacing:.07em;
}
.network-summary-usage-copy{
  min-width:0;
  display:flex;
  flex-direction:column;
  justify-content:center;
  padding:16px 18px;
}
.network-summary-usage-copy>span{
  color:#58a6ff;
  font:900 .67rem var(--mono,Consolas,monospace);
  letter-spacing:.075em;
}
.network-summary-usage-copy>div:not(.network-summary-usage-track){
  display:flex;
  align-items:baseline;
  gap:7px;
  margin-top:10px;
  color:#c9d1d9;
  font-size:.78rem;
}
.network-summary-usage-copy strong{
  color:var(--text-main,#f0f6fc);
  font:900 1.04rem var(--mono,Consolas,monospace);
}
.network-summary-usage-copy i{
  width:1px;
  height:14px;
  margin:0 5px;
  background:var(--line,#30363d);
}
.network-summary-usage-track{
  height:9px;
  margin:12px 0 7px;
  overflow:hidden;
  border-radius:999px;
  background:#252c35;
}
.network-summary-usage-track span{
  display:block;
  height:100%;
  min-width:2px;
  border-radius:inherit;
  background:linear-gradient(90deg,#238636,#39d353);
}
.network-summary-usage-copy>small{
  color:#6e7681;
  font-size:.66rem;
}
.network-summary-media-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  padding:12px;
  border-top:1px solid var(--line,#30363d);
  background:#0b0f14;
}
.network-summary-media-row{
  min-width:0;
  padding:11px 12px;
  border:1px solid #263847;
  border-radius:7px;
  background:#0d1720;
}
.network-summary-media-row>div:first-child{
  display:flex;
  justify-content:space-between;
  gap:10px;
  align-items:baseline;
}
.network-summary-media-row span{
  color:#c9d1d9;
  font:800 .65rem var(--mono,Consolas,monospace);
  letter-spacing:.04em;
}
.network-summary-media-row strong{
  color:#f0f6fc;
  font:900 .92rem var(--mono,Consolas,monospace);
}
.network-summary-media-track{
  height:7px;
  margin:9px 0 6px;
  overflow:hidden;
  border-radius:999px;
  background:#252c35;
}
.network-summary-media-track span{
  display:block;
  height:100%;
  min-width:2px;
  border-radius:inherit;
}
.network-summary-media-row.copper .network-summary-media-track span{background:linear-gradient(90deg,#238636,#39d353)}
.network-summary-media-row.fiber .network-summary-media-track span{background:linear-gradient(90deg,#6f42c1,#a371f7)}
.network-summary-media-row.other .network-summary-media-track span{background:linear-gradient(90deg,#6e7681,#b1bac4)}
.network-summary-media-row small{
  color:#6e7681;
  font-size:.62rem;
}
@media(max-width:1180px){
  .network-summary-inventory-grid{grid-template-columns:repeat(3,minmax(0,1fr))}
  .network-summary-media-grid{grid-template-columns:1fr}
}
@media(max-width:760px){
  .network-summary-usage-grid{grid-template-columns:1fr}
  .network-summary-cable-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
  .network-summary-usage-card{grid-template-columns:96px minmax(0,1fr)}
}
@media(max-width:480px){
  .network-summary-inventory-grid,.network-summary-cable-grid{grid-template-columns:1fr}
  .network-summary-usage-card{grid-template-columns:1fr}
  .network-summary-usage-donut{min-height:112px;border-right:0;border-bottom:1px solid var(--line,#30363d)}
}

/* v0.16.0.79 cross-rack cable section-layer correction */
/* Cable SVG remains above rack-face dividers, while ports and remote cards stay interactive above the cable layer. */
.network-rack-face-divider{
  z-index:5;
}

/* v0.16.0.79 media-positioned cross-rack endpoint cards */
.network-remote-rack-list{
  width:100%;
  overflow:visible;
}
.network-remote-rack-card{
  box-sizing:border-box;
  max-width:100%;
}
.network-remote-rack-card.route-right{
  flex:0 1 430px;
  width:min(430px,100%);
  min-width:0;
  margin-left:auto;
  grid-template-columns:minmax(118px,1fr) auto minmax(112px,132px);
  grid-template-areas:"remote-identity remote-select remote-endpoint";
  border-left-width:1px;
  border-right:3px solid #bc8cff;
}
.network-remote-rack-card.route-right>header{
  grid-area:remote-identity;
}
.network-remote-rack-card.route-right .network-remote-rack-endpoints{
  grid-area:remote-endpoint;
  align-self:stretch;
  justify-self:end;
  justify-content:flex-end;
  align-items:flex-end;
  overflow:visible;
}
.network-remote-rack-card.route-right .network-remote-rack-select-port{
  grid-area:remote-select;
  justify-self:end;
}
.network-remote-rack-card.route-right .network-remote-rack-link{
  align-self:stretch;
  align-items:flex-end;
}
.network-remote-rack-card.route-right .network-remote-rack-port{
  margin-bottom:0;
  overflow:visible;
}
.network-remote-rack-card.route-mixed{
  flex:1 1 100%;
  width:100%;
  max-width:none;
}
.network-remote-rack-card.route-mixed .network-remote-rack-endpoints{
  display:grid;
  grid-template-columns:minmax(0,1fr) minmax(0,1fr);
  align-self:stretch;
  align-items:end;
  overflow:visible;
}
.network-remote-rack-card.route-mixed .network-remote-rack-link.route-left{
  justify-self:start;
}
.network-remote-rack-card.route-mixed .network-remote-rack-link.route-right{
  justify-self:end;
  align-self:stretch;
  align-items:flex-end;
}
.network-remote-rack-card.route-mixed .network-remote-rack-link.route-right .network-remote-rack-port{
  margin-bottom:0;
  overflow:visible;
}
.network-remote-rack-link.route-right{
  margin-left:auto;
}
.network-report-crossrack-card.route-right{
  margin-left:auto;
}
@media(max-width:900px){
  .network-remote-rack-card.route-right{
    width:100%;
    grid-template-columns:minmax(112px,1fr) minmax(112px,132px);
    grid-template-areas:
      "remote-identity remote-endpoint"
      "remote-select remote-select";
  }
  .network-remote-rack-card.route-right .network-remote-rack-select-port{
    justify-self:stretch;
  }
}


/* v0.16.0.93 cross-rack terminal anchor and linked-highlight correction */
/*
 * The terminal is a sibling of the port button. This creates a real stacking
 * boundary: the terminal and SVG mount remain behind the opaque port face,
 * while only the segment below the bottom border is visible. The port border,
 * terminal, and SVG cable all share --remote-cable-color.
 */
.network-remote-rack-link{
  --remote-cable-color:#a371f7;
  position:relative;
  overflow:visible;
}
.network-remote-rack-link .network-remote-rack-port{
  position:relative;
  z-index:3;
  isolation:isolate;
  overflow:hidden;
  background:#0d1721;
}
.network-remote-rack-link[data-network-crossrack-link] .network-remote-rack-port,
.network-remote-rack-link.pending .network-remote-rack-port{
  border-color:color-mix(in srgb,var(--remote-cable-color,#a371f7) 88%,#dbeafe);
  background:
    linear-gradient(180deg,color-mix(in srgb,var(--remote-cable-color,#a371f7) 10%,transparent),transparent 58%),
    #0d1721;
  box-shadow:
    0 0 0 1px color-mix(in srgb,var(--remote-cable-color,#a371f7) 82%,transparent),
    0 0 12px color-mix(in srgb,var(--remote-cable-color,#a371f7) 58%,transparent),
    inset 0 0 0 1px color-mix(in srgb,var(--remote-cable-color,#a371f7) 34%,transparent);
}
.network-remote-rack-link[data-network-crossrack-link] .network-remote-rack-port::after,
.network-remote-rack-link.pending .network-remote-rack-port::after{content:none}
/* v0.16.0.93: the remote connector is drawn by the same SVG path as the full cable.
 * Keeping any stale terminal markup hidden prevents a second, narrower cable segment. */
.network-remote-port-terminal{display:none!important}
.network-remote-rack-port>strong,
.network-remote-rack-port>small,
.network-remote-rack-port>.network-port-anchor.top{position:relative;z-index:4}
.network-port.patch-port.empty-keystone{
  --port-accent:#4b5563!important;
  --keystone-color:#242b33!important;
  --keystone-text:#7d8996!important;
  border-style:dashed;
  opacity:.72;
}
.network-port.patch-port.empty-keystone:hover{opacity:1}
.network-port.patch-port.empty-keystone small{color:#9aa6b2;letter-spacing:.08em}
.rack-shelf-placement-summary{grid-template-columns:repeat(4,minmax(0,1fr))}
@media(max-width:900px){.rack-shelf-placement-summary{grid-template-columns:repeat(2,minmax(0,1fr))}}


/* v0.16.0.93 cross-rack endpoint alignment and two-ended cable highlight */
/* Remove the historical 46px right inset whenever a right-routed remote endpoint is present.
 * The selected port center then aligns with the visible right-side cable lane instead of
 * requiring a short cable segment that travels past the port before turning downward. */
.network-remote-rack-strip.has-right-routes{
  margin-right:0;
  padding-right:2px;
}
.network-remote-rack-strip.has-right-routes .network-remote-rack-card.route-right,
.network-remote-rack-strip.has-right-routes .network-remote-rack-card.route-mixed{
  margin-right:0;
}
/* Both physical ends of a documented cable use the saved cable color. The local switch,
 * server, router, modem, ONT, or patch-panel port now glows together with the remote port. */
.network-port.network-port-cable-linked{
  border-color:color-mix(in srgb,var(--linked-cable-color,#a371f7) 88%,#dbeafe)!important;
  box-shadow:
    0 0 0 1px color-mix(in srgb,var(--linked-cable-color,#a371f7) 82%,transparent),
    0 0 10px color-mix(in srgb,var(--linked-cable-color,#a371f7) 58%,transparent),
    inset 0 0 0 1px color-mix(in srgb,var(--linked-cable-color,#a371f7) 34%,transparent)!important;
}

/* v0.16.0.93 dynamic shelf cable-access bands: 4 to 24 rows per device. */
.network-shelf-device-stack{
  /* Every shelf child owns the band immediately below it, including the final child. */
  row-gap:0;
}
.network-shelf-device-slot{
  position:relative;
  min-width:0;
  padding-bottom:var(--shelf-access-gap,20px);
}
.network-shelf-device-slot>.network-device-card{
  /* Keep every shelf child in the routing topology as an independent physical card. */
  position:relative;
  min-width:0;
}

/* v0.16.0.93 split shelf occupancy into one equal visual slot per child device. */
.rack-mounted-item.has-shelf-devices{
  grid-template-columns:minmax(0,1fr) auto;
  gap:6px;
  padding:2px 4px;
  overflow:hidden;
}
.rack-mounted-item.has-shelf-devices .rack-mounted-copy{display:none}
.rack-shelf-device-split{
  display:grid;
  grid-template-columns:repeat(var(--rack-shelf-count),minmax(0,1fr));
  gap:3px;
  align-self:stretch;
  min-width:0;
  height:100%;
}
.rack-shelf-device-slot{
  --rack-shelf-slot:#8b949e;
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  min-width:0;
  overflow:hidden;
  border:1px solid color-mix(in srgb,var(--rack-shelf-slot) 82%,#dbeafe);
  border-radius:3px;
  padding:1px 4px;
  background:linear-gradient(135deg,color-mix(in srgb,var(--rack-shelf-slot) 24%,transparent),rgba(13,17,23,.96));
}
.rack-shelf-device-slot strong,
.rack-shelf-device-slot small{
  display:block;
  max-width:100%;
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}
.rack-shelf-device-slot strong{font-size:8px;line-height:1.05;color:#f0f6fc}
.rack-shelf-device-slot small{font:900 6px/1 Consolas,monospace;color:#9ca9b5;text-transform:uppercase}
.rack-shelf-device-slot.type-server{--rack-shelf-slot:#58a6ff}
.rack-shelf-device-slot.type-switch,.rack-shelf-device-slot.type-router{--rack-shelf-slot:#3fb950}
.rack-shelf-device-slot.type-isp-modem{--rack-shelf-slot:#ff8c42}
.rack-shelf-device-slot.type-ont{--rack-shelf-slot:#35d0ba}
.rack-shelf-device-slot.type-storage{--rack-shelf-slot:#39c5cf}
.rack-shelf-device-slot.type-kvm{--rack-shelf-slot:#d53f8c}
.rack-mounted-item.has-shelf-devices .rack-mounted-badges em:nth-of-type(1){display:none}
@media(max-width:900px){
  .rack-shelf-device-slot small{display:none}
  .rack-shelf-device-slot strong{font-size:7px}
}

/* v0.16.0.107 asset-scoped collector reports and safe pairing repair. */
.import-report-browser-page {
  display: flex;
  flex-direction: column;
  min-height: 0;
}
.import-report-browser-page .import-report-list {
  flex: 1 1 auto;
}
.collector-pairing-target {
  flex: 0 0 auto;
  margin: 12px 24px 0;
  padding: 11px 13px;
  border: 1px solid #1f6feb66;
  border-left: 4px solid #58a6ff;
  border-radius: 6px;
  background: #0d1722;
}
.collector-pairing-target > header {
  display: flex;
  align-items: flex-start;
  justify-content: space-between;
  gap: 12px;
  margin-bottom: 9px;
}
.collector-pairing-target > header div {
  display: grid;
  gap: 2px;
}
.collector-pairing-target > header span,
.collector-pairing-target > div b {
  color: #58a6ff;
  font-size: 10px;
  font-weight: 700;
  letter-spacing: .09em;
  text-transform: uppercase;
}
.collector-pairing-target > header strong {
  color: #f0f6fc;
  font-size: 17px;
  font-weight: 650;
}
.collector-pairing-target > header em {
  color: #8b949e;
  font-family: var(--font-mono, "Cascadia Mono", Consolas, monospace);
  font-size: 11px;
  font-style: normal;
}
.collector-pairing-target > div {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: 8px;
}
.collector-pairing-target > div span {
  min-width: 0;
  padding: 7px 8px;
  border: 1px solid #30363d;
  border-radius: 4px;
  background: #0d1117;
  display: grid;
  gap: 3px;
}
.collector-pairing-target > div em {
  overflow-wrap: anywhere;
  color: #c9d1d9;
  font-family: var(--font-mono, "Cascadia Mono", Consolas, monospace);
  font-size: 11px;
  font-style: normal;
}
.import-report-identity-check {
  margin-top: 8px;
  padding: 8px 10px;
  border: 1px solid #d2992266;
  border-radius: 4px;
  background: #d2992212;
  display: grid;
  gap: 3px;
}
.import-report-identity-check strong {
  color: #e3b341;
  font-size: 11px;
  line-height: 1.35;
}
.import-report-identity-check span {
  color: #b1bac4;
  font-size: 11px;
  line-height: 1.35;
}
.import-report-identity-check.verified {
  border-color: #2ea04366;
  background: #23863612;
}
.import-report-identity-check.verified strong { color: #3fb950; }
.import-report-identity-check.blocked {
  border-color: #f851496e;
  background: #f8514912;
}
.import-report-identity-check.blocked strong { color: #ff7b72; }
.import-report-browser-page.scope-unmatched .import-report-page-header {
  border-bottom-color: #d2992266;
}
@media (max-width: 960px) {
  .collector-pairing-target > div { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 620px) {
  .collector-pairing-target { margin-left: 16px; margin-right: 16px; }
  .collector-pairing-target > div { grid-template-columns: 1fr; }
}

/* v0.16.0.109 warning mute eligibility and scope details. */
.server-warning-mute-eligible-list {
  display:grid;
  gap:4px;
  padding:6px 7px;
  border:1px solid rgba(210,153,34,.30);
  border-radius:5px;
  background:rgba(210,153,34,.06);
}
.server-warning-mute-eligible-list > span {
  overflow-wrap:anywhere;
  color:#e3b341;
  font:700 .56rem/1.3 Consolas,monospace;
}


/* v0.16.0.109 stack server-card warning mute date below the mute summary. */
.server-card-filter-muted-only .server-card-inline-status-row {
  grid-template-columns: 88px minmax(0, 1fr);
}
.server-card-filter-muted-only .server-filter-status {
  min-width: 0;
  width: 100%;
}
.server-filter-status-muted-stacked {
  display: flex !important;
  flex-direction: column;
  align-items: flex-end;
  justify-content: flex-start;
  gap: 2px;
  width: 100%;
  text-align: right;
}
.server-filter-status-muted-summary {
  display: block;
  white-space: nowrap;
}
.server-filter-status-muted-date {
  display: block;
  color: #79c0ff;
  font-size: .62rem;
  font-weight: 800;
  line-height: 1.2;
  white-space: nowrap;
}
@media (max-width: 420px) {
  .server-card-filter-muted-only .server-card-inline-status-row {
    grid-template-columns: 82px minmax(0, 1fr);
    gap: 10px;
  }
  .server-filter-status-muted-date {
    font-size: .58rem;
  }
}


/* v0.16.0.110 separate active warning mutes from the Issues queue. */
.dashboard-content-tab span.is-muted {
  color: #79c0ff;
  background: rgba(88,166,255,.14);
}
.servers-muted-tab-view .server-section-header > span {
  color: #79c0ff;
}


/* v0.16.0.112 keep mute summary/date stacked even beside other active statuses. */
.server-filter-status .server-filter-status-muted-stacked {
  align-self: stretch;
  flex: 0 0 auto;
  min-width: 0;
}
.server-filter-status .server-filter-status-muted-summary,
.server-filter-status .server-filter-status-muted-date {
  max-width: 100%;
}


/* Drive history local-time, left-aligned columns, and resolved storage ownership (v0.16.0.113). */
.history-table-shell{min-width:1180px}
.history-table-head,.history-table-row{
  grid-template-columns:175px 155px minmax(235px,1.25fr) minmax(235px,1.25fr) minmax(165px,.8fr) minmax(250px,1.1fr);
  gap:16px;
  align-items:start;
}
.history-table-head{padding:10px 14px}
.history-table-head>span,.history-table-row>span{
  min-width:0;
  justify-self:stretch;
  text-align:left!important;
}
.history-table-row{
  min-height:76px;
  padding:12px 14px;
  text-align:left!important;
}
.history-date-cell,.history-drive-cell,.history-storage-cell,.history-reason-cell{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:flex-start;
  gap:4px;
  line-height:1.3;
}
.history-date-cell strong,.history-drive-cell strong,.history-storage-cell strong,.history-reason-cell strong{
  display:block;
  width:100%;
  color:#e6edf3;
  font:800 .72rem var(--ark-font-mono,Consolas,monospace);
  text-align:left;
  overflow-wrap:anywhere;
}
.history-date-cell small,.history-drive-cell small,.history-storage-cell small{
  display:block;
  width:100%;
  color:#8fa4b6;
  font-size:.66rem;
  line-height:1.35;
  text-align:left;
  overflow-wrap:anywhere;
}
.history-bay-cell{padding-top:1px;line-height:1.35;text-align:left!important}
.history-detail-storage{white-space:normal;line-height:1.4}
@media(max-width:1350px){
  .history-table-shell{min-width:1080px}
  .history-table-head,.history-table-row{
    grid-template-columns:160px 140px minmax(210px,1.2fr) minmax(210px,1.2fr) minmax(145px,.75fr) minmax(225px,1fr);
    gap:12px;
  }
}

/* Drive History header/row column-lock correction (v0.16.0.114). */
.history-table-shell {
  --history-column-template: 175px 155px minmax(235px, 1.25fr) minmax(235px, 1.25fr) minmax(165px, .8fr) minmax(250px, 1.1fr);
}
.history-table-head,
.history-table-row {
  box-sizing: border-box;
  display: grid !important;
  grid-template-columns: var(--history-column-template) !important;
  grid-auto-flow: row;
  align-items: start !important;
  justify-items: stretch !important;
  justify-content: stretch !important;
  place-content: stretch !important;
  width: 100% !important;
  margin: 0 !important;
}
.history-table-row {
  appearance: none;
  -webkit-appearance: none;
  content-visibility: visible;
  contain: none;
}
.history-table-head > span:nth-child(1), .history-table-row > span:nth-child(1) { grid-column: 1; }
.history-table-head > span:nth-child(2), .history-table-row > span:nth-child(2) { grid-column: 2; }
.history-table-head > span:nth-child(3), .history-table-row > span:nth-child(3) { grid-column: 3; }
.history-table-head > span:nth-child(4), .history-table-row > span:nth-child(4) { grid-column: 4; }
.history-table-head > span:nth-child(5), .history-table-row > span:nth-child(5) { grid-column: 5; }
.history-table-head > span:nth-child(6), .history-table-row > span:nth-child(6) { grid-column: 6; }
.history-table-head > span,
.history-table-row > span {
  box-sizing: border-box;
  width: 100%;
  margin: 0;
  padding-right: 4px;
  align-self: start;
  justify-self: stretch;
  text-align: left !important;
}
@media (max-width: 1350px) {
  .history-table-shell {
    --history-column-template: 160px 140px minmax(210px, 1.2fr) minmax(210px, 1.2fr) minmax(145px, .75fr) minmax(225px, 1fr);
  }
}


/* Drive History bay stacking and reason-width refinement (v0.16.0.118). */
.history-table-shell {
  --history-column-template: 145px 135px minmax(205px, 1.15fr) minmax(205px, 1.15fr) minmax(235px, 1.3fr) minmax(250px, 1.35fr);
}
.history-bay-cell {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  justify-content: flex-start;
  gap: 4px;
  padding-top: 0;
  line-height: 1.3;
}
.history-bay-cell strong {
  display: block;
  width: 100%;
  color: #e6edf3;
  font: 800 .72rem var(--ark-font-mono, Consolas, monospace);
  text-align: left;
  overflow-wrap: anywhere;
}
.history-bay-cell small {
  display: block;
  width: 100%;
  color: #8fa4b6;
  font-size: .66rem;
  line-height: 1.35;
  text-align: left;
  overflow-wrap: anywhere;
}
.history-reason-cell strong {
  white-space: normal;
  text-wrap: pretty;
}
@media (max-width: 1350px) {
  .history-table-shell {
    --history-column-template: 135px 125px minmax(190px, 1.1fr) minmax(190px, 1.1fr) minmax(215px, 1.2fr) minmax(230px, 1.25fr);
  }
}

/* complete collector removal command */
.import-uninstall-card {
  border-color: rgba(248,81,73,.72);
  background: linear-gradient(180deg, rgba(248,81,73,.10), rgba(17,24,32,.96));
}
.import-uninstall-card .import-schedule-heading span {
  color: #ff7b72;
}
.import-uninstall-card .import-schedule-command {
  border-color: rgba(248,81,73,.48);
}


/* v0.16.0.124 physical patch-panel banks
 * Rack-mounted patch panels use one 24-port face row per physical bank/U.
 * A 48-port 2U panel therefore renders ports 1-24 above ports 25-48. */
.network-patch-face{
  display:grid!important;
  grid-template-columns:minmax(0,1fr);
  gap:7px;
  align-self:stretch;
  min-width:0;
  width:100%;
  flex-wrap:initial;
}
.network-patch-physical-row{
  display:grid;
  grid-template-columns:48px minmax(0,1fr);
  gap:6px;
  align-items:stretch;
  min-width:0;
}
.network-patch-row-label{
  border:1px solid #2b4052;
  border-radius:5px;
  background:#0d1822;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:2px;
  min-height:44px;
  padding:4px 3px;
  text-align:center;
}
.network-patch-row-label strong{
  color:#58a6ff;
  font:900 8px var(--mono,Consolas,monospace);
  letter-spacing:.05em;
}
.network-patch-row-label small{
  color:#7f93a7;
  font:900 5.5px var(--mono,Consolas,monospace);
  line-height:1.15;
}
.network-patch-row-ports{
  display:grid;
  grid-template-columns:repeat(var(--patch-row-columns),minmax(40px,1fr));
  gap:4px;
  align-items:stretch;
  min-width:var(--patch-row-min-width,960px);
}
.network-patch-row-ports .network-port.patch-port{
  width:100%;
  min-width:40px;
  min-height:44px;
  padding:3px 3px;
}
.network-patch-row-ports .network-port.patch-port strong{font-size:7.5px}
.network-patch-row-ports .network-port.patch-port small{font-size:5.5px}
.network-patch-face.multi-row .network-patch-physical-row:first-child{
  padding-bottom:2px;
  border-bottom:1px dashed #26384a;
}
.network-patch-layout-summary{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:8px;
  border:1px solid #2e4357;
  border-left:4px solid #58a6ff;
  border-radius:6px;
  background:#0d1822;
  padding:9px 10px;
}
.network-patch-layout-summary>div{display:grid;gap:2px}
.network-patch-layout-summary span{color:#7f93a7;font:900 6px var(--mono,Consolas,monospace);letter-spacing:.08em}
.network-patch-layout-summary strong{color:#dcecff;font-size:9px}
.network-patch-layout-summary small{grid-column:1/-1;color:#8fa2b6;font-size:7px;line-height:1.35}
.network-remote-patch-row{
  grid-column:1/-1;
  display:grid;
  gap:7px;
  border:1px solid #2b4052;
  border-radius:7px;
  background:#0b151e;
  padding:8px;
}
.network-remote-patch-row>header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  border-bottom:1px solid #26384a;
  padding:0 2px 6px;
}
.network-remote-patch-row>header strong{color:#58a6ff;font:900 8px var(--mono,Consolas,monospace)}
.network-remote-patch-row>header span{color:#8296aa;font:900 6px var(--mono,Consolas,monospace);letter-spacing:.07em}
.network-remote-patch-row>div{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(145px,1fr));
  gap:7px;
}
@media (max-width:1100px){
  .network-patch-row-ports{grid-template-columns:repeat(var(--patch-row-columns),minmax(36px,1fr));min-width:var(--patch-row-min-width,960px)}
  .network-patch-row-ports .network-port.patch-port{min-width:36px}
}


/* v0.16.0.128 compact physical patch rows and bulk keystone editor */
.network-patch-row-ports{
  grid-template-columns:repeat(var(--patch-row-columns),44px)!important;
  min-width:0!important;
  width:max-content;
  max-width:100%;
  justify-content:start;
}
.network-patch-row-ports .network-port.patch-port{
  width:44px!important;
  min-width:44px!important;
  max-width:44px;
}
.network-patch-bulk-editor{display:grid;gap:10px;min-width:0}
.network-patch-bulk-toolbar{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;border:1px solid #2f465b;border-radius:7px;background:#0d1822;padding:8px 9px}
.network-patch-bulk-toolbar>div:first-child{display:grid;gap:2px}
.network-patch-bulk-toolbar>div:first-child strong{color:#dcecff;font:900 9px var(--mono,Consolas,monospace);letter-spacing:.06em}
.network-patch-bulk-toolbar>div:first-child span{color:#8fa2b6;font-size:7px}
.network-patch-bulk-toolbar>div:first-child span b{color:#58a6ff}
.network-patch-bulk-toolbar>div:last-child{display:flex;gap:5px;flex-wrap:wrap;justify-content:flex-end}
.network-patch-bulk-toolbar .btn-side{padding:6px 8px;font-size:7px}
.network-patch-bulk-rows{display:grid;gap:8px}
.network-patch-bulk-row{display:grid;gap:6px;border:1px solid #2b4052;border-radius:7px;background:#0a141d;padding:8px}
.network-patch-bulk-row>header{display:flex;align-items:center;justify-content:space-between;gap:10px}
.network-patch-bulk-row>header>div{display:flex;align-items:center;gap:7px}
.network-patch-bulk-row>header strong{color:#58a6ff;font:900 8px var(--mono,Consolas,monospace)}
.network-patch-bulk-row>header span,.network-patch-bulk-row>header small{color:#7f93a7;font:900 6px var(--mono,Consolas,monospace);letter-spacing:.05em}
.network-patch-bulk-grid{display:grid;grid-template-columns:repeat(24,minmax(31px,1fr));gap:4px;min-width:0}
.network-patch-bulk-port{position:relative;min-width:0;min-height:42px;border:1px solid #344b61;border-bottom:3px solid var(--bulk-keystone-color,#8b949e);border-radius:5px;background:#111d28;display:grid;place-items:center;align-content:center;gap:1px;cursor:pointer;overflow:hidden}
.network-patch-bulk-port:hover{border-color:#79c0ff}
.network-patch-bulk-port.is-selected{border-color:#ffd500;box-shadow:0 0 0 2px rgba(255,213,0,.22)}
.network-patch-bulk-port.is-empty{background:#17191c;border-style:dashed}
.network-patch-bulk-port input{position:absolute;opacity:0;pointer-events:none}
.network-patch-bulk-port b{color:#e7f2fc;font:900 8px var(--mono,Consolas,monospace)}
.network-patch-bulk-port small{max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#8fa3b7;font-size:5.5px;text-transform:uppercase;padding:0 2px}
.network-patch-bulk-check{position:absolute;top:3px;right:3px;width:8px;height:8px;border:1px solid #5e7184;border-radius:2px;background:#0a121a}
.network-patch-bulk-port.is-selected .network-patch-bulk-check{border-color:#ffd500;background:#ffd500;box-shadow:inset 0 0 0 2px #0a121a}
.network-patch-bulk-controls{display:grid;grid-template-columns:minmax(220px,1fr) minmax(180px,.75fr) minmax(240px,1fr);gap:8px;align-items:end}
.network-patch-bulk-controls>label{display:grid;gap:5px}
.network-patch-bulk-controls>label>span{color:#8fa2b6;font:900 7px var(--mono,Consolas,monospace);letter-spacing:.05em}
.network-patch-bulk-help{border:1px solid #2d465c;border-left:4px solid #58a6ff;border-radius:6px;background:#0d1822;padding:8px;display:grid;gap:3px;min-height:50px;align-content:center}
.network-patch-bulk-help strong{color:#58a6ff;font:900 7px var(--mono,Consolas,monospace);letter-spacing:.06em}
.network-patch-bulk-help span{color:#8fa2b6;font-size:7px;line-height:1.35}
@media(max-width:1250px){
  .network-patch-bulk-grid{grid-template-columns:repeat(12,minmax(34px,1fr))}
  .network-patch-bulk-controls{grid-template-columns:1fr 1fr}
  .network-patch-bulk-help{grid-column:1/-1}
}

/* v0.16.0.128 cross-rack top-track routing band */
/* The 40px gap above the rack-face divider contains the 4/8/12/16/20/24
 * cross-rack tracks. Cable geometry is measured from the divider top so the
 * tracks remain above the FRONT/BACK OF RACK label and outside device cards. */
.network-rack-canvas > .network-remote-rack-strip:not(.report-mode){margin-bottom:40px}


/* v0.16.0.128 independent front/rear cross-rack endpoint and track bands */
/* Front-mounted links remain above FRONT OF RACK. Rear-mounted links receive a
 * second endpoint strip and their own 4/8/12/16/20/24 track band immediately
 * above BACK / REAR OF RACK, so rear links never descend through front cards. */
.network-device-stack > .network-remote-rack-strip:not(.report-mode){
  margin-top:32px;
  margin-bottom:40px;
}
.network-remote-rack-strip[data-network-remote-face="rear"]{
  border-color:#513b68;
  background:rgba(24,12,32,.9);
}
.network-remote-rack-strip[data-network-remote-face="rear"] .network-remote-rack-strip-title span{color:#bc8cff}


/* v0.16.0.128: server chassis front / network ports rear */
.server-network-location-card{border-color:#36506b;background:linear-gradient(180deg,rgba(27,43,59,.88),rgba(13,24,34,.96))}
.server-network-location-card>label>small{display:block;margin-top:5px;color:#8fa4b8;font-size:9px;line-height:1.35}
.network-server-card.server-chassis-view{border-left-color:#58a6ff}
.network-server-card.server-port-view{border-left-color:#a371f7}
.network-server-chassis-face{min-width:760px;min-height:64px;display:grid;grid-template-columns:18px minmax(220px,1fr) minmax(320px,1.8fr) 18px;align-items:stretch;gap:7px;border:1px solid #31485c;border-radius:6px;padding:7px;background:linear-gradient(180deg,#1a2632,#0e1720);box-shadow:inset 0 0 0 1px rgba(255,255,255,.025)}
.network-server-chassis-ear{border:1px solid #465c70;border-radius:3px;background:repeating-linear-gradient(to bottom,#283949 0,#283949 5px,#111a23 5px,#111a23 9px)}
.network-server-chassis-bezel{display:flex;align-items:center;gap:12px;border:1px solid #344b5f;border-radius:4px;padding:8px 12px;background:#111c26;min-width:0}
.network-server-chassis-brand{font:900 8px var(--mono,Consolas,monospace);letter-spacing:.1em;color:#58a6ff}
.network-server-chassis-bezel>strong{min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#e9f3fc;font-size:12px}
.network-server-chassis-status{display:flex;gap:5px;margin-left:auto}
.network-server-chassis-status i{width:6px;height:6px;border-radius:50%;background:#39d353;box-shadow:0 0 5px rgba(57,211,83,.55)}
.network-server-chassis-status i:nth-child(2){background:#58a6ff;box-shadow:0 0 5px rgba(88,166,255,.55)}
.network-server-chassis-status i:nth-child(3){background:#d29922;box-shadow:0 0 5px rgba(210,153,34,.45)}
.network-server-chassis-bays{display:grid;grid-template-columns:repeat(8,minmax(20px,1fr));gap:5px;align-items:stretch}
.network-server-chassis-bays i{display:block;border:1px solid #3b5063;border-radius:3px;background:linear-gradient(90deg,#101922 0 70%,#243848 70%);box-shadow:inset 0 0 0 1px rgba(255,255,255,.02)}
@media (max-width:1100px){.network-server-chassis-face{min-width:680px;grid-template-columns:16px minmax(200px,1fr) minmax(260px,1.4fr) 16px}}


/* v0.16.0.138 drive-card predictive-failure reason line splitting. */
.drive-failure-reason {
  display: grid;
  grid-template-columns: auto minmax(0, 1fr);
  align-items: start;
  gap: 7px;
  margin: 1px 0 6px;
  padding: 5px 7px;
  border: 1px solid rgba(241,196,15,.48);
  border-left-width: 3px;
  border-radius: 4px;
  background: rgba(241,196,15,.08);
  color: #f1c40f;
  font-family: var(--font-mono, "Cascadia Mono", Consolas, monospace);
  line-height: 1.22;
}
.drive-failure-reason > span {
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .08em;
}
.drive-failure-reason > strong {
  display: flex;
  min-width: 0;
  flex-direction: column;
  gap: 2px;
  color: #ffe88a;
  font-size: 11px;
  font-weight: 800;
  overflow-wrap: anywhere;
}
.drive-failure-reason-line,
.drive-failure-reason-more {
  display: block;
}
.drive-failure-reason-more {
  opacity: .78;
  font-size: 10px;
}
.drive-failure-reason.status-failed {
  border-color: rgba(255,92,92,.62);
  background: rgba(255,92,92,.09);
  color: #ff7676;
}
.drive-failure-reason.status-failed > strong { color: #ffb0b0; }
.drive-failure-reason.status-redundancy-risk {
  border-color: rgba(241,196,15,.58);
  background: rgba(241,196,15,.08);
  color: #f1c40f;
}
.drive-failure-reason.status-redundancy-risk > strong { color: #ffe88a; }

/* v0.16.0.139 per-drive clipboard export. */
.drive-bay-header-v2 {
  grid-template-columns: auto minmax(0, 1fr) auto !important;
}
.drive-bay-header-v2.has-bulk-selector {
  grid-template-columns: auto minmax(0, 1fr) 24px auto !important;
}
.drive-card-actions {
  display: inline-flex;
  align-items: center;
  justify-content: flex-end;
  gap: 3px;
  min-width: 0;
}
.drive-bay .drive-card-copy-btn {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  width: 22px;
  height: 22px;
  min-width: 22px;
  min-height: 22px;
  margin: 0;
  padding: 0;
  border: 1px solid #33475b;
  border-radius: 4px;
  background: #0d1720;
  color: #9fb5c8;
  font-size: 12px;
  line-height: 1;
  cursor: pointer;
}
.drive-bay .drive-card-copy-btn:hover {
  border-color: #58a6ff;
  background: rgba(88,166,255,.09);
  color: #d7ebff;
}
.drive-bay .drive-card-copy-btn.copied {
  border-color: #2ea043 !important;
  background: rgba(46,160,67,.11);
  color: #7ee787 !important;
}
.drive-bay .drive-card-copy-btn .copy-icon {
  display: block;
  transform: translateY(-.5px);
}


/* v0.17.4.0 signed-in identity and protected customer scope. */
.ark-auth-account{display:flex;align-items:center;gap:10px;border-left:1px solid rgba(104,141,178,.35);padding-left:12px;min-width:170px}
.ark-auth-account>span{display:grid;line-height:1.1;text-align:right}
.ark-auth-account strong{font-size:12px;color:#e8f4ff;max-width:170px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.ark-auth-account small{font-size:9px;color:#7f9dbb;text-transform:uppercase;letter-spacing:.08em;margin-top:3px}
.ark-auth-signout{border:1px solid #365b7d;background:#10263b;color:#d9edff;border-radius:5px;padding:7px 9px;font:700 9px/1 Consolas,monospace;letter-spacing:.08em;cursor:pointer}
.ark-auth-signout:hover{border-color:#67b8ff;background:#173651}.ark-auth-signout:disabled{opacity:.55;cursor:wait}
@media(max-width:1280px){.ark-auth-account>span{display:none}.ark-auth-account{min-width:auto}}

.ark-auth-account a.ark-auth-signout{text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.ark-topnav a.ark-topnav-item{text-decoration:none;display:inline-flex;align-items:center}

/* v0.17.7.6: normalized global bottom-bar action geometry. */
:root {
  --ark-footer-action-width: 156px;
  --ark-footer-action-height: 36px;
}
.ark-global-statusbar .ark-status-actions {
  align-items: center;
}
.ark-global-statusbar .ark-status-actions > .ark-status-btn,
.ark-global-statusbar .ark-status-actions > .ark-action-menu,
.ark-global-statusbar .ark-status-actions > .ark-reports-footer-slot,
.ark-global-statusbar .ark-status-actions > .ark-reports-footer-slot > .ark-action-menu {
  flex: 0 0 var(--ark-footer-action-width);
  width: var(--ark-footer-action-width);
  min-width: var(--ark-footer-action-width);
}
.ark-global-statusbar .ark-status-actions > .ark-status-btn,
.ark-global-statusbar .ark-status-actions > .ark-action-menu > .ark-status-btn,
.ark-global-statusbar .ark-status-actions > .ark-reports-footer-slot .ark-status-btn {
  width: var(--ark-footer-action-width);
  min-width: var(--ark-footer-action-width);
  height: var(--ark-footer-action-height);
  min-height: var(--ark-footer-action-height);
  padding: 0 12px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  line-height: 1.15 !important;
  text-align: center;
  white-space: nowrap;
}
@media (max-width: 900px) {
  .ark-global-statusbar .ark-status-actions {
    max-width: 100%;
    flex-wrap: wrap;
  }
}

/* v0.17.8.27 measured responsive navigation overflow and unified footer actions. */
.ark-topnav [hidden] { display: none !important; }
.ark-topnav-item[data-ark-topnav-primary] {
  flex: 0 0 auto;
  white-space: nowrap;
}
.ark-topnav-more {
  position: relative;
  display: block;
  align-self: stretch;
  flex: 0 0 auto;
}
.ark-topnav-more > summary {
  height: 100%;
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  gap: 6px;
  list-style: none;
  user-select: none;
}
.ark-topnav-more > summary::-webkit-details-marker { display: none; }
.ark-topnav-more[open] > summary,
.ark-topnav-more.active > summary,
.ark-topnav-more > summary:hover {
  color: #58a6ff;
  background: rgba(88,166,255,.06);
}
.ark-topnav-more-popover {
  position: absolute;
  top: calc(100% + 7px);
  right: 0;
  z-index: 1400;
  display: grid;
  gap: 4px;
  min-width: 230px;
  max-width: min(320px, calc(var(--ark-layout-vw, 100vw) - 20px));
  padding: 8px;
  border: 1px solid #3a5268;
  border-radius: 7px;
  background: #0c1219;
  box-shadow: 0 18px 44px rgba(0,0,0,.55);
}
.ark-topnav-overflow-item {
  display: flex;
  width: 100%;
  min-height: 42px;
  align-items: center;
  justify-content: space-between;
  gap: 14px;
  padding: 9px 12px;
  border: 1px solid transparent;
  border-radius: 5px;
  background: #111923;
  color: #dce8f2;
  font-family: var(--ark-font-ui);
  font-size: var(--ark-type-body);
  font-weight: 800;
  text-align: left;
  cursor: pointer;
}
.ark-topnav-overflow-item:hover,
.ark-topnav-overflow-item.active {
  border-color: #58a6ff;
  color: #58a6ff;
  background: #102133;
}
.ark-topnav-overflow-item .ark-topnav-count { margin-left: auto; }
@media (max-width: 900px) {
  .ark-topnav {
    overflow: visible;
    justify-content: flex-start;
  }
  .ark-topnav-more-popover {
    right: auto;
    left: 0;
  }
}
@media (max-width: 560px) {
  .ark-global-topbar { column-gap: 6px; }
  .ark-topbar-brand { gap: 6px; }
  .ark-topnav-item { padding-inline: 8px; }
  .ark-topnav-more-popover {
    right: 0;
    left: auto;
    max-width: min(300px, calc(var(--ark-layout-vw, 100vw) - 16px));
    max-height: min(70vh, calc(var(--ark-layout-vh, 100vh) - 70px));
    overflow-y: auto;
  }
}

.ark-footer-actions-menu[open] { z-index: 1100; }
.ark-footer-actions-popover {
  right: 0;
  bottom: calc(100% + 7px);
  min-width: 290px;
  width: min(360px, calc(var(--ark-layout-vw, 100vw) - 20px));
  max-height: min(620px, calc(var(--ark-layout-vh, 100vh) - 80px));
  overflow-y: auto;
  padding: 8px;
}
.ark-footer-action-heading {
  padding: 8px 10px 6px;
  color: #7f9dbb;
  font-family: var(--ark-font-ui);
  font-size: 9px;
  font-weight: 900;
  letter-spacing: .10em;
  line-height: 1.2;
  text-transform: uppercase;
}
.ark-footer-actions-popover > .ark-footer-action-heading:not(:first-child) {
  margin-top: 4px;
  border-top: 1px solid #273442;
  padding-top: 11px;
}
.ark-footer-actions-popover > button {
  min-height: 42px;
  justify-content: flex-start;
}
.ark-footer-actions-popover > button.primary {
  border: 1px solid rgba(46,160,67,.7);
  background: rgba(35,134,54,.24);
  color: #7ee787;
}
.ark-footer-actions-popover > button.primary:hover {
  border-color: #3fb950;
  background: rgba(35,134,54,.36);
}
.ark-footer-actions-popover > button.danger {
  border: 1px solid rgba(139,48,56,.55);
  background: rgba(42,14,20,.5);
}
.ark-global-statusbar .ark-status-actions {
  flex-wrap: nowrap;
  white-space: nowrap;
}
@media (max-width: 760px) {
  .ark-footer-actions-popover {
    position: fixed;
    inset: auto 8px 48px 8px;
    width: auto;
    max-height: min(70vh, calc(var(--ark-layout-vh, 100vh) - 64px));
  }
  .ark-global-statusbar .ark-status-actions {
    flex-wrap: nowrap;
  }
  .ark-global-statusbar .ark-status-actions > .ark-action-menu,
  .ark-global-statusbar .ark-status-actions > .ark-reports-footer-slot,
  .ark-global-statusbar .ark-status-actions > .ark-reports-footer-slot > .ark-action-menu {
    flex: 0 1 var(--ark-footer-action-width);
    width: min(var(--ark-footer-action-width), 42vw);
    min-width: 112px;
  }
  .ark-global-statusbar .ark-status-actions > .ark-action-menu > .ark-status-btn,
  .ark-global-statusbar .ark-status-actions > .ark-reports-footer-slot .ark-status-btn {
    width: 100%;
    min-width: 0;
  }
}
@media (max-width: 700px) {
  .ark-global-statusbar.has-management-search .ark-management-status-actions {
    overflow: visible;
  }
}

/* v0.17.8.28 collision-proof header and stacked server tool rail. */
.ark-global-topbar {
  max-width: 100%;
  box-sizing: border-box;
  overflow: visible;
}
.ark-topbar-brand,
.ark-topbar-tools {
  position: relative;
  z-index: 3;
  flex-shrink: 0;
}
.ark-topnav {
  flex: 1 1 0;
  width: min(100%, var(--ark-topnav-available, 100%));
  min-width: 0 !important;
  max-width: var(--ark-topnav-available, 100%);
  overflow: visible !important;
}
.ark-global-topbar.ark-topbar-tools-wrapped {
  flex-wrap: wrap;
  align-content: center;
  row-gap: 0;
}
.ark-global-shell.ark-topbar-wrapped-shell {
  grid-template-rows: auto minmax(0, 1fr) auto !important;
}
.ark-global-topbar.ark-topbar-tools-wrapped .ark-topbar-tools {
  order: 3;
  flex: 1 0 100%;
  width: 100%;
  min-width: 0;
  margin-left: 0;
  padding: 6px 0 7px;
  border-top: 1px solid #202b36;
  justify-content: flex-end;
  flex-wrap: wrap;
}
.ark-global-topbar.ark-topbar-tools-wrapped .ark-global-customer-select {
  flex: 1 1 260px;
  min-width: 220px;
  max-width: 520px;
}
.ark-global-topbar.ark-topbar-tools-wrapped .ark-auth-account {
  flex: 0 1 auto;
  min-width: 0;
}
.ark-global-topbar .ark-auth-account > span {
  display: grid !important;
}

/* v0.17.8.30 permanently visible early navigation overflow (superseded). */
/* v0.17.8.31 fit-first measured navigation overflow. */
.ark-topnav-more {
  min-width: max-content;
}

.three-column-server-view.ark-sidebars-stacked:not(.no-context-sidebar) {
  display: grid !important;
  grid-template-columns: var(--ark-left-sidebar, 340px) minmax(0, 1fr) !important;
  grid-template-rows: minmax(0, 1fr) auto !important;
  grid-template-areas:
    "identity workspace"
    "context workspace";
}
.three-column-server-view.ark-sidebars-stacked:not(.no-context-sidebar) > .server-identity-sidebar {
  grid-area: identity;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: none !important;
  align-self: stretch;
  overflow-y: auto !important;
}
.three-column-server-view.ark-sidebars-stacked:not(.no-context-sidebar) > .drive-inventory-workspace {
  grid-area: workspace;
  height: 100% !important;
  min-height: 0 !important;
}
.three-column-server-view.ark-sidebars-stacked:not(.no-context-sidebar) > .workflow-sidebar {
  grid-area: context;
  width: auto !important;
  height: auto !important;
  min-height: 0 !important;
  max-height: min(46vh, 520px) !important;
  align-self: stretch;
  overflow-y: auto !important;
  border-top: 1px solid #30363d;
  border-left: 0;
  border-right: 1px solid #21262d;
}

@media (max-width: 900px) {
  .three-column-server-view.ark-sidebars-stacked:not(.no-context-sidebar) {
    display: flex !important;
    flex-direction: column !important;
  }
  .three-column-server-view.ark-sidebars-stacked:not(.no-context-sidebar) > .workflow-sidebar {
    max-height: none !important;
  }
}

/* v0.18.0.0-r34 readable drive-card status tags. */
.drive-bay .drive-bay-header-v2 {
  grid-template-columns: minmax(72px, auto) minmax(0, 1fr) auto auto !important;
  grid-auto-rows: auto !important;
  align-items: start !important;
  column-gap: 5px !important;
  row-gap: 4px !important;
  min-height: 0 !important;
  padding: 2px 2px 5px !important;
}
.drive-bay .drive-bay-header-v2 .bay-header-left {
  grid-column: 1 / 2 !important;
  grid-row: 1 !important;
  min-width: 72px !important;
}
.drive-bay .drive-bay-header-v2 .bay-badge-strip {
  grid-column: 1 / -1 !important;
  grid-row: 2 !important;
  display: flex !important;
  flex-wrap: wrap !important;
  justify-content: flex-start !important;
  align-items: center !important;
  align-content: flex-start !important;
  gap: 4px !important;
  min-width: 0 !important;
  min-height: 0 !important;
  max-width: 100% !important;
  overflow: visible !important;
}
.drive-bay .drive-bay-header-v2 .drive-bulk-check {
  grid-column: 3 / 4 !important;
  grid-row: 1 !important;
}
.drive-bay .drive-bay-header-v2 .drive-card-actions {
  grid-column: 4 / 5 !important;
  grid-row: 1 !important;
  justify-self: end !important;
  align-self: start !important;
}
.drive-bay .drive-bay-header-v2:not(.has-bulk-selector) .drive-card-actions {
  grid-column: 4 / 5 !important;
}
.drive-bay .bay-badge-strip .drive-health-badge,
.drive-bay .bay-badge-strip .bay-status-badge,
.drive-bay .bay-badge-strip .os-pill,
.drive-bay .bay-badge-strip .raid-pill,
.drive-bay .bay-badge-strip .raid-vd-pill,
.drive-bay .bay-badge-strip .raid-span-pill,
.drive-bay .bay-badge-strip .zfs-role-pill,
.drive-bay .bay-badge-strip .zfs-pool-pill,
.drive-bay .bay-badge-strip .external-drive-pill,
.drive-bay .bay-badge-strip .validation-badge {
  flex: 0 0 auto !important;
  width: auto !important;
  max-width: calc(100% - 4px) !important;
  min-height: 16px !important;
  height: auto !important;
  padding: 2px 5px !important;
  font-size: 9px !important;
  line-height: 1.05 !important;
  letter-spacing: .02em !important;
  white-space: normal !important;
  overflow-wrap: anywhere !important;
  text-align: center !important;
}
.drive-bay .bay-badge-strip .drive-health-badge.status-redundancy-risk,
.drive-bay .bay-badge-strip .drive-health-badge.status-predicted-failure,
.drive-bay .bay-badge-strip .drive-health-badge.status-warning-muted {
  white-space: nowrap !important;
  overflow-wrap: normal !important;
}

/* v0.18.0.0-r34 server identity health timestamps. */
.server-identity-sidebar .identity-row-health-meta {
  font-variant-numeric: tabular-nums;
}
.server-identity-sidebar .identity-row-last-saved {
  margin-top: 4px;
  border-top: 1px solid rgba(88, 166, 255, .28);
}
.server-identity-sidebar .identity-row-last-health .identity-value { color: #79c0ff; }
.server-identity-sidebar .identity-row-next-health .identity-value { color: #58d68d; }

/* r52: selected-drive telemetry sidebar */
.drive-telemetry-sidebar-panel{display:grid;gap:10px}
.drive-telemetry-side-head{display:grid;grid-template-columns:minmax(0,1fr);gap:5px;align-items:start;padding:9px;border:1px solid rgba(88,166,255,.2);background:rgba(88,166,255,.04)}
.drive-telemetry-side-location{min-width:0;color:#58a6ff;font:900 .6rem/1.3 var(--mono,Consolas,monospace);letter-spacing:.07em;text-transform:uppercase;overflow-wrap:anywhere}
.drive-telemetry-side-identity-row{min-width:0;display:grid;grid-template-columns:max-content minmax(0,1fr);gap:7px;align-items:start}
.drive-telemetry-side-identity-row span{color:var(--muted,#8293a3);font:900 .56rem/1.3 var(--mono,Consolas,monospace);letter-spacing:.04em}
.drive-telemetry-side-identity-row strong{min-width:0;color:var(--text,#e8eef5);font:900 .68rem/1.3 var(--mono,Consolas,monospace);overflow-wrap:anywhere}
.drive-telemetry-side-status{display:block;width:100%;box-sizing:border-box;margin-top:2px;border:1px solid currentColor;border-radius:3px;padding:4px 7px;font:950 .58rem/1.2 var(--mono,Consolas,monospace);letter-spacing:.05em;text-transform:uppercase;text-align:left}
.drive-telemetry-side-head .tone-good{color:#3fb950;background:rgba(63,185,80,.08)}
.drive-telemetry-side-head .tone-warn{color:#d29922;background:rgba(210,153,34,.08)}
.drive-telemetry-side-head .tone-bad{color:#ff7b72;background:rgba(248,81,73,.08)}
.drive-telemetry-side-quick{display:grid;grid-template-columns:1fr 1fr;gap:6px}
.drive-telemetry-side-group{display:grid;gap:5px;padding-top:4px;border-top:1px solid rgba(120,160,190,.15)}
.drive-telemetry-side-group h4,.drive-telemetry-side-group summary{margin:0;padding:3px 0;color:#58a6ff;font:900 .53rem var(--mono,Consolas,monospace);letter-spacing:.08em;text-transform:uppercase}
.drive-telemetry-side-source summary{cursor:pointer;user-select:none}
.drive-telemetry-side-metric{display:grid;grid-template-columns:minmax(0,1fr) minmax(72px,auto);gap:8px;align-items:start;padding:6px 7px;border:1px solid rgba(120,160,190,.13);background:rgba(255,255,255,.018)}
.drive-telemetry-side-metric span{color:var(--muted,#8293a3);font-size:.56rem;line-height:1.25}
.drive-telemetry-side-metric strong{min-width:0;color:var(--text,#e8eef5);font:850 .58rem/1.28 var(--mono,Consolas,monospace);text-align:right;overflow-wrap:anywhere}
.drive-telemetry-side-metric.tone-good{border-color:rgba(63,185,80,.22)}
.drive-telemetry-side-metric.tone-good strong{color:#3fb950}
.drive-telemetry-side-metric.tone-info{border-color:rgba(88,166,255,.28);background:rgba(88,166,255,.035)}
.drive-telemetry-side-metric.tone-info strong{color:#79c0ff}
.drive-telemetry-side-metric.tone-warn{border-color:rgba(210,153,34,.32);background:rgba(210,153,34,.04)}
.drive-telemetry-side-metric.tone-warn strong{color:#e3b341}
.drive-telemetry-side-metric.tone-bad{border-color:rgba(248,81,73,.38);background:rgba(248,81,73,.045)}
.drive-telemetry-side-metric.tone-bad strong{color:#ff7b72}

/* r53: telemetry-first drive sidebar readability and hidden right scrollbar. */
.three-column-server-view .workflow-sidebar {
  overflow-y: auto !important;
  overflow-x: hidden !important;
  scrollbar-width: none;
  -ms-overflow-style: none;
}
.three-column-server-view .workflow-sidebar::-webkit-scrollbar {
  width: 0;
  height: 0;
  display: none;
}
.workflow-sidebar .drive-telemetry-sidebar-panel { order: 0; }
.workflow-sidebar .actions-panel { order: 1; }
.workflow-sidebar .drive-replacement-panel { order: 2; }
.drive-telemetry-side-metric.is-stacked {
  grid-template-columns: minmax(0, 1fr);
  gap: 3px;
}
.drive-telemetry-side-metric.is-stacked strong {
  text-align: left;
}
.drive-telemetry-side-metric .drive-telemetry-watching {
  color: #e3b341;
}
.drive-telemetry-baseline-action {
  display: grid;
  gap: 4px;
}
.drive-telemetry-baseline-action .btn-side {
  width: 100%;
  min-height: 30px;
  padding: 5px 8px;
  font-size: .56rem;
}
.drive-telemetry-baseline-action .btn-side:not(:disabled) {
  border-color: rgba(210,153,34,.55);
  color: #e3b341;
}
.drive-telemetry-baseline-action small {
  color: var(--muted,#8293a3);
  font-size: .52rem;
  line-height: 1.3;
}


/* v0.18.0.0-r56: keep drive cards summary-only; failure details live in selected-drive telemetry. */
.drive-bay > .drive-failure-reason { display: none !important; }
