/* v1.1.0 cloud-console resource density and adaptive controls.
   Tokens, not fixed dark-mode literals, must own contrast in both themes. */
:root{
  --v110-panel:#142539;--v110-layer:#1c3045;--v110-hover:#213c51;
  --v110-text:#eef5fd;--v110-sub:#adc1d4;--v110-border:#364f66;
  --v110-accent:#88e6c9;--v110-focus:#b3d7ff;--v110-shadow:0 12px 28px #0003;
}
:root[data-theme=light]{
  --v110-panel:#fff;--v110-layer:#f1f6fb;--v110-hover:#e6eff8;
  --v110-text:#172f47;--v110-sub:#47657e;--v110-border:#bbcad9;
  --v110-accent:#076b5b;--v110-focus:#1d64b3;--v110-shadow:0 9px 25px #122e4311;
}
.fleet-browser,.host-directory-panel{min-width:0;color:var(--v110-text)}
.fleet-browser-head{display:flex;flex-wrap:wrap;gap:12px;align-items:start;justify-content:space-between;padding:0 0 17px}
.fleet-browser-head h3{font-size:17px;letter-spacing:-.3px;color:var(--v110-text);margin:0 0 4px}
.fleet-browser-head p{font-size:12px;color:var(--v110-sub);margin:0;line-height:1.6}
.fleet-counter,.fleet-visible-count{color:var(--v110-sub);font-size:12px;white-space:nowrap}
.fleet-counter{border:1px solid var(--v110-border);background:var(--v110-layer);padding:7px 11px;border-radius:99px;font-weight:650}
.fleet-browser-toolbar{display:flex;align-items:end;flex-wrap:wrap;gap:10px;padding:14px 0 12px;border-top:1px solid var(--v110-border)}
.fleet-search{display:flex;align-items:center;flex:2 1 225px;min-width:190px;gap:8px;border:1px solid var(--v110-border);background:var(--v110-layer);color:var(--v110-sub);border-radius:11px;padding:0 12px;min-height:42px}
.fleet-search span{font-size:22px;line-height:1;opacity:.85}
.fleet-browser-toolbar .fleet-search input[type=search]{width:100%;flex:1;background:transparent!important;box-shadow:none!important;border:0!important;color:var(--v110-text)!important;min-width:0;padding:7px 1px;outline:0}
.fleet-search:focus-within{outline:2px solid var(--v110-focus);outline-offset:1px}
.fleet-filter-label{display:flex;align-items:center;gap:8px;white-space:nowrap;font-size:12px;color:var(--v110-sub);font-weight:650}
.fleet-browser-toolbar select,.host-directory-panel select{min-height:42px;max-width:170px;border-radius:11px}
.fleet-view-switch{display:inline-flex;gap:3px;padding:3px;border:1px solid var(--v110-border);background:var(--v110-layer);border-radius:12px;margin-left:auto}
.fleet-view-switch button{font:inherit;font-size:12px;white-space:nowrap;font-weight:700;min-height:34px;padding:5px 10px;border:0;border-radius:9px;color:var(--v110-sub);background:transparent;cursor:pointer}
.fleet-view-switch button:hover{color:var(--v110-text);background:var(--v110-hover)}
.fleet-view-switch button[aria-pressed=true]{background:var(--v110-panel);color:var(--v110-accent);box-shadow:0 2px 9px #0002}
.fleet-selection-bar{display:flex;flex-wrap:wrap;gap:12px;align-items:center;min-height:51px;border-top:1px solid var(--v110-border);border-bottom:1px solid var(--v110-border);margin-bottom:8px;padding:8px 0;font-size:12px;color:var(--v110-sub)}
.fleet-selection-bar label{display:inline-flex;align-items:center;gap:9px;cursor:pointer;font-weight:600;color:var(--v110-text)}
.fleet-selection-bar button{min-height:30px;font-size:12px;padding:5px 9px}
.fleet-selection-bar .fleet-visible-count{margin-left:auto}
.fleet-selection-bar input[type=checkbox],.fleet-host-selector input[type=checkbox]{width:18px;height:18px;accent-color:var(--v110-accent)}
.fleet-node-list{min-width:0;display:grid;gap:8px}
.fleet-node-list .fleet-node{min-width:0;display:block;padding:0!important;border:1px solid var(--v110-border);border-radius:12px;background:var(--v110-panel);color:var(--v110-text);overflow:hidden;box-shadow:none}
.fleet-node-list .fleet-node:hover{border-color:var(--v110-accent);box-shadow:var(--v110-shadow)}
.fleet-node-head{display:grid!important;grid-template-columns:minmax(170px,1.1fr) minmax(135px,.9fr) auto auto;align-items:center!important;gap:14px!important;padding:12px 15px;min-width:0}
.fleet-host-selector{min-width:0;display:flex!important;gap:12px;align-items:center!important;margin:0;color:var(--v110-text)}
.fleet-host-name{min-width:0;display:block;line-height:1.3}
.fleet-node-head .fleet-host-name strong,.host-directory-main strong{display:block;max-width:100%;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:var(--v110-text)!important;font-size:13px!important;letter-spacing:.05px}
.fleet-node-head .fleet-host-name small{display:block;margin:5px 0 0!important;opacity:1!important;color:var(--v110-sub)!important;font-size:11px}
.fleet-host-address,.host-directory-ip{display:block;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;min-width:0;font:12px/1.5 ui-monospace,SFMono-Regular,Consolas,monospace;color:var(--v110-sub)}
.fleet-open-details{border:1px solid var(--v110-border);background:var(--v110-layer);color:var(--v110-text);cursor:pointer;font-family:inherit;font-weight:650;font-size:12px;line-height:1.4;border-radius:9px;min-height:35px;padding:6px 10px;white-space:nowrap}
.fleet-open-details:hover{background:var(--v110-hover);border-color:var(--v110-accent)}
.fleet-open-details[aria-expanded=true]{background:var(--v110-hover);color:var(--v110-accent)}
.fleet-node-details{border-top:1px solid var(--v110-border);padding:14px 16px 18px;background:var(--v110-layer)}
.fleet-node-details>.fleet-metrics{gap:8px}
.fleet-node-details>.fleet-metrics span{background:var(--v110-panel);border-color:var(--v110-border);color:var(--v110-sub);min-width:120px;flex:1 1 150px}
.fleet-node-details>.fleet-metrics b{color:var(--v110-text)}
.fleet-node-details>small{display:block;color:var(--v110-sub);margin:9px 0;line-height:1.7;overflow-wrap:anywhere}
.fleet-node-details .fleet-actions{justify-content:flex-start;flex-wrap:wrap}
.fleet-node-details .installation-widget{background:var(--v110-panel);color:var(--v110-text);border:1px solid var(--v110-border)}
.fleet-node-list[data-view=cards]{grid-template-columns:repeat(auto-fit,minmax(min(100%,285px),1fr));align-items:start;gap:13px}
.fleet-node-list[data-view=cards] .fleet-node-head{grid-template-columns:minmax(0,1fr) auto;gap:8px!important;padding:16px}
.fleet-node-list[data-view=cards] .fleet-host-selector{grid-column:1/-1}
.fleet-node-list[data-view=cards] .fleet-host-address{grid-column:1/-1;margin:2px 0}
.fleet-node-list[data-view=cards] .fleet-node-head>.tag{justify-self:start}
.fleet-node-list[data-view=cards] .fleet-open-details{justify-self:end}
.fleet-node-list[data-view=expanded] .fleet-node-head{background:var(--v110-layer)}
.fleet-node[hidden],.fleet-node-details[hidden],.fleet-empty[hidden],.fleet-no-matches[hidden]{display:none!important}
.fleet-empty{padding:20px;color:var(--v110-sub);text-align:center}
.host-directory-panel .panel-body{padding:20px}
.host-directory-list{display:grid;gap:7px;margin-top:9px}
.host-directory-item{display:grid;grid-template-columns:minmax(160px,1.2fr) minmax(130px,.9fr) minmax(110px,.7fr) minmax(165px,1fr) auto;gap:12px;align-items:center;padding:12px 14px;background:var(--v110-panel);color:var(--v110-text);border:1px solid var(--v110-border);border-radius:11px;min-width:0}
.host-directory-item:hover{background:var(--v110-hover)}
.host-directory-main{display:flex;align-items:center;gap:11px;min-width:0}
.host-avatar{display:inline-flex;justify-content:center;align-items:center;min-width:34px;height:34px;border-radius:10px;background:var(--v110-layer);color:var(--v110-accent);border:1px solid var(--v110-border)}
.host-identity{min-width:0}.host-identity small{display:block;color:var(--v110-sub);font-size:11px}
.host-directory-more{display:none;color:var(--v110-sub);font-size:11px}
.host-directory-more span{display:block}
.host-directory-actions{display:flex;flex-wrap:wrap;gap:5px;justify-content:flex-end}
.host-directory-actions .mini-button{min-height:32px;font-size:11px;padding:5px 8px}
.host-directory-list[data-view=cards]{grid-template-columns:repeat(auto-fit,minmax(min(100%,275px),1fr))}
.host-directory-list[data-view=cards] .host-directory-item{grid-template-columns:1fr;gap:10px;align-items:start}
.host-directory-list[data-view=cards] .host-directory-more{display:block}
.host-directory-list[data-view=expanded] .host-directory-more{display:block}
.host-directory-list[data-view=expanded] .host-directory-item{padding:17px}
.fleet-browser-footer{border-top:1px solid var(--v110-border);margin-top:14px;padding-top:12px;font-size:11px;color:var(--v110-sub)}
/* Uniform accessible-looking native controls. Keep real <select> semantics, keyboard,
   browser autofill, and change handlers instead of replacing them with brittle popovers. */
:root[data-theme=dark] select,:root:not([data-theme=light]) select{color-scheme:dark}
:root[data-theme=light] select{color-scheme:light}
select,.task-form select,.field select,.studio-toolbar select,.horizon-testfields select,.fleet-browser-toolbar select{
  appearance:none!important;-webkit-appearance:none!important;border:1px solid var(--v110-border)!important;
  border-radius:11px!important;background-color:var(--v110-layer)!important;color:var(--v110-text)!important;
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%2397b6c9' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")!important;
  background-repeat:no-repeat!important;background-size:18px 18px!important;background-position:calc(100% - 12px) center!important;
  padding:9px 40px 9px 13px!important;font-size:13px!important;font-weight:600!important;line-height:1.35;min-height:42px;
  box-shadow:inset 0 1px 0 #ffffff08;cursor:pointer;transition:border-color .16s,background-color .16s,box-shadow .16s
}
select:hover:not(:disabled){background-color:var(--v110-hover)!important;border-color:var(--v110-accent)!important}
select:focus-visible{outline:2px solid var(--v110-focus)!important;outline-offset:2px!important;box-shadow:0 0 0 3px color-mix(in srgb,var(--v110-focus),transparent 80%)!important}
select:disabled{opacity:.52;cursor:not-allowed}
select option,select optgroup{background:var(--v110-panel)!important;color:var(--v110-text)!important;font-size:13px}
:root[data-theme=light] select,:root[data-theme=light] .fleet-browser-toolbar select{
  background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24' fill='none' stroke='%23465f77' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='m6 9 6 6 6-6'/%3E%3C/svg%3E")!important
}
:root[data-theme=light] .fleet-node-head .tag{font-weight:650}
.fleet-open-details:focus-visible,.fleet-view-switch button:focus-visible,.host-directory-actions button:focus-visible{outline:2px solid var(--v110-focus);outline-offset:2px}
@media(max-width:1100px){.host-directory-item{grid-template-columns:minmax(150px,1fr) minmax(145px,.9fr) auto}.host-directory-more{display:none}}
@media(max-width:820px){.fleet-node-head{grid-template-columns:minmax(150px,1fr) auto!important}.fleet-host-address{grid-column:1/-1}.fleet-node-head>.tag{justify-self:start}.fleet-open-details{justify-self:end}.fleet-view-switch{margin-left:0}.host-directory-item{grid-template-columns:1fr auto}.host-directory-ip{grid-column:1/-1}.host-directory-actions{grid-column:1/-1;justify-content:flex-start}}
@media(max-width:520px){.fleet-browser-toolbar{align-items:stretch}.fleet-search{flex-basis:100%}.fleet-view-switch{width:100%;justify-content:space-between}.fleet-view-switch button{flex:1}.fleet-filter-label{flex:1 1 40%}.fleet-browser-toolbar select{width:100%}.fleet-selection-bar{align-items:start}.fleet-selection-bar label{flex-basis:100%}.fleet-selection-bar .fleet-visible-count{margin-left:0}.host-directory-panel .panel-body{padding:14px}}
@media(prefers-reduced-motion:reduce){select,.fleet-node{transition:none!important}}
/* Existing legacy fleet entry cards were fixed to midnight even in light mode. */
:root[data-theme=light] .fleet-command-box{background:linear-gradient(145deg,#fff,#f3f8fc)!important;color:var(--v110-text)!important;border-color:var(--v110-border)!important;box-shadow:var(--v110-shadow)!important}
:root[data-theme=light] .fleet-command-box .eyebrow{color:#067460!important}
:root[data-theme=light] .fleet-command-box h3{color:var(--v110-text)!important}
:root[data-theme=light] .fleet-command-box p{color:var(--v110-sub)!important}
:root[data-theme=light] .fleet-evidence,:root[data-theme=light] .install-evidence-note{color:var(--v110-sub)!important}
:root[data-theme=light] .installation-widget,:root[data-theme=light] .fleet-node-details{color:var(--v110-text)!important}
/* An expanded card spans the row rather than stretching neighboring compact cards. */
.fleet-node-list[data-view=cards] .fleet-node:has(.fleet-node-details:not([hidden])){grid-column:1/-1}
.fleet-node-list[data-view=cards] .fleet-node:has(.fleet-node-details:not([hidden])) .fleet-node-head{grid-template-columns:minmax(180px,1fr) minmax(150px,.7fr) auto auto}
@media(max-width:820px){.fleet-node-list[data-view=cards] .fleet-node:has(.fleet-node-details:not([hidden])) .fleet-node-head{grid-template-columns:minmax(150px,1fr) auto}}
.fleet-pager{border-top:1px solid var(--v110-border);margin-top:12px;padding-top:12px;display:flex;align-items:center;justify-content:flex-end;flex-wrap:wrap;gap:9px;color:var(--v110-sub);font-size:12px}
.fleet-pager label{display:inline-flex;align-items:center;gap:6px}
.fleet-pager select{min-height:34px!important;padding-top:5px!important;padding-bottom:5px!important}
.fleet-pager button{padding:5px 12px;border:1px solid var(--v110-border);border-radius:9px;background:var(--v110-layer);color:var(--v110-text);min-height:33px;font-family:inherit;font-size:12px;font-weight:600;cursor:pointer}
.fleet-pager button:hover:not(:disabled){background:var(--v110-hover);border-color:var(--v110-accent)}
.fleet-pager button:disabled{opacity:.4;cursor:not-allowed}
