/* Dedicated server workspace; retain the shared light/dark design system. */
.platform-badges,.server-status-badges{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.data-table .platform-badges{margin-top:8px}
.workspace-body .platform-badge{display:inline-flex;align-items:center;gap:6px;padding:3px 9px;border:1px solid var(--line);border-radius:7px;background:var(--surface,#f7f8fa);color:var(--ink);font-size:1rem;line-height:1.4;font-weight:500;white-space:nowrap}
.workspace-body .platform-badge span{font-size:inherit;line-height:inherit;color:inherit}
.platform-badge img{width:18px;height:18px;flex-shrink:0}
.workspace-body .platform-ubuntu{background:color-mix(in srgb,#e95420 10%,var(--surface,#f5f6f8));border-color:color-mix(in srgb,#e95420 26%,var(--line))}
.workspace-body .platform-macos{background:color-mix(in srgb,var(--blue) 7%,var(--surface,#f5f6f8))}
.workspace-body .platform-unknown{background:transparent;color:var(--muted)}
.workspace-body .upgrade-available{background:#fff4d6;border-color:#e3c774;color:#745000;font-weight:600}
.workspace-body .upgrade-check{background:transparent;color:var(--muted)}
.workspace-body :is(.upgrade-badge,.platform-check):hover{text-decoration:underline}
.workspace-body :is(.upgrade-badge,.platform-check):focus-visible{outline:2px solid var(--blue);outline-offset:3px}
[data-theme="dark"] .workspace-body .upgrade-available{background:#3c3525;border-color:#665638;color:#ecd198}
.server-action .platform-badges{margin-top:auto;padding-top:8px}
.workspace-body .data-table tr:has(.app-host-badge){background:color-mix(in srgb,var(--blue) 6%,transparent)}
.workspace-body .app-host-badge{display:inline-flex;align-items:center;gap:8px;color:var(--ink);background:color-mix(in srgb,var(--blue) 12%,transparent)}
.app-host-badge svg{flex-shrink:0;color:var(--blue)}
.workspace-body .data-table .app-host-note{display:block;margin-top:6px;max-width:32ch;color:var(--muted);white-space:normal}
.server-tabs{display:flex;gap:24px;border-bottom:1px solid var(--line);margin-bottom:26px}
.server-tab{border:0;background:none;color:var(--muted);font-size:14px;padding:12px 2px;border-bottom:2px solid transparent}
.server-tab[aria-current]{color:var(--blue);border-bottom-color:var(--blue);font-weight:600}
.server-action-group{margin:28px 0}
.server-action-group h2,.server-history-heading h2{font-size:18px;margin:0 0 18px}
.server-action-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.server-action{display:flex;flex-direction:column;gap:9px;padding:22px;text-align:left;border:1px solid var(--line);border-radius:12px;background:#fff;color:var(--ink)}
.server-action:hover{border-color:var(--blue);background:#f5f9ff}
.server-action strong{font-size:14px}.server-action span{font-size:13px;line-height:1.5;color:var(--muted)}
.server-work-heading,.server-history-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin-bottom:24px}
.server-work-heading h2{margin:0}.server-work .operation-body{font-size:14px;line-height:1.6}
.server-work .operation-body>h3{font-size:16px;margin-top:28px}
.server-work .metric-grid{max-width:900px}.server-work .result{max-height:none}
.server-work .field{max-width:760px}.server-work .form-actions{border-top:1px solid var(--line);padding-top:20px}
.server-inventory{border-top:1px solid var(--line);margin-top:32px;padding:20px 0;color:var(--muted);font-size:13px}.server-inventory h2{font-size:18px;margin:0 0 12px}
.server-history-filters{display:grid;grid-template-columns:minmax(0,1fr) minmax(140px,200px) auto auto;gap:16px;align-items:end;margin-bottom:18px}
.server-history-filters .field{margin:0}
#server-history-results .data-table td{padding:12px 16px}
[data-theme="dark"] .server-action{background:#20232a}[data-theme="dark"] .server-action:hover{background:#293444}
@media(max-width:1000px){.server-action-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:760px){.server-history-filters{grid-template-columns:1fr auto}.server-history-filters .field{grid-column:1/-1}.server-action-grid{grid-template-columns:1fr}.server-work-heading{align-items:flex-start;flex-wrap:wrap}.server-work{padding:18px}.server-tabs{margin-bottom:20px}#server-history-results .data-table td{padding:8px 0}}
.workspace-body .content:has(#server-content) .page-title{margin:22px 0}
@media(min-width:761px){
  .content:has(#server-history-results) #view{display:flex;flex-direction:column;min-height:0;flex:1}
  .content:has(#server-history-results) #view>button{align-self:flex-start}
  .content:has(#server-history-results) :is(.topline,.page-title,.server-tabs,.server-history-heading,.server-history-filters){flex-shrink:0}
  .content:has(#server-history-results) #server-content,#server-history-results{display:flex;flex-direction:column;min-height:0;flex:1}
  #server-history-results .table-scroll{overflow:auto;max-height:60dvh;flex:none;margin-bottom:14px}
  #server-history-results .data-table thead{position:sticky;top:0;z-index:1}
  #server-history-results .list-pagination{flex-shrink:0;padding-bottom:0}
}
@media(max-width:760px){#server-history-results{display:flex;flex-direction:column}#server-history-results .list-pagination{order:-1}}

#history-error:empty{display:none}
@media(max-width:760px){.server-history-filters{grid-template-columns:1fr 1fr}.server-history-filters .list-field{grid-column:1/-1}}

/* Keep integration actions with their section, including on narrow screens. */
.connection-heading{gap:12px;flex-wrap:wrap}.connection-heading h2{margin:0}

.aws-instance-filters{display:flex;gap:14px;align-items:flex-end;flex-wrap:wrap;margin:18px 0}.aws-instance-filters .field{margin:0;flex:1;min-width:180px}.aws-instance-filters button{margin-bottom:0}.aws-registration{border-top:1px solid var(--line);padding-top:18px;margin-top:18px}#new-server-fields{border:0;margin:0;padding:0}#new-server-fields legend{font-weight:600;margin-bottom:18px}#inventory-results .list-pagination{align-items:center}#inventory-results .list-pagination .row-actions{align-items:center}
/* Bound long inventories while allowing the surrounding page to scroll. */
@media(min-width:761px){
 .content.aws-inventory-view #view{display:flex;flex-direction:column;min-height:0;flex:1}
 .content.aws-inventory-view .page-title{margin:18px 0}
 .content.aws-inventory-view #view>section{padding:14px 18px;margin-bottom:14px;flex-shrink:0}
 .content.aws-inventory-view #view>section .field{margin-bottom:8px}
 .aws-inventory-view #aws-content,.aws-inventory-view #aws-content>section,#inventory-results{display:flex;flex-direction:column;min-height:0;flex:1}
 .aws-inventory-view #aws-content>section{padding:16px;margin-bottom:0}
 #inventory-status{margin:8px 0}
 #inventory-controls .aws-instance-filters{margin:8px 0 14px}
 #inventory-results .table-scroll{max-height:60dvh;flex:none;overflow:auto;margin-bottom:8px}
 #inventory-results thead{position:sticky;top:0;z-index:1}
 #inventory-results .list-pagination{flex-shrink:0;padding-bottom:0}
}
@media(max-width:760px){#inventory-results{display:flex;flex-direction:column}#inventory-results .list-pagination{order:-1}.aws-instance-filters .field{min-width:0;flex-basis:100%}}
@media(min-width:761px){
 .content.aws-inventory-view .page-title{margin:12px 0}
 .content.aws-inventory-view .page-title h1{font-size:28px;margin-bottom:5px}
 .aws-inventory-view #aws-content .result-heading{margin-bottom:0}
 #inventory-results .data-table td{padding:9px 12px}
 #inventory-results .data-table th{padding:10px 12px}
}
/* Grid and flex children may shrink; long values must not push navigation off screen. */
.workspace-body :is(.content,#view,#aws-content,#server-content,.grid-two>.field){min-width:0}
.workspace-body .grid-two{grid-template-columns:repeat(2,minmax(0,1fr))}
.workspace-body .field :is(input,select,textarea){min-width:0;max-width:100%}
.server-work-heading{flex-wrap:wrap;align-items:flex-start}
.server-work-heading h2{min-width:0;overflow-wrap:anywhere}
.server-work-heading>button{flex-shrink:0}
@media(max-width:760px){.workspace-body .grid-two{grid-template-columns:minmax(0,1fr)}}

.workspace-body .upgrade-step{margin-block:24px}
.workspace-body .upgrade-step h4{font-size:1.25rem;margin:0 0 8px}

/* Preparation states always pair color with a symbol and readable label. */
.workspace-body .prep-pass{--prep-fg:#17663e;--prep-bg:#edf8f1;--prep-border:#b7dec7}
.workspace-body .prep-stop{--prep-fg:#a32236;--prep-bg:#fff1f2;--prep-border:#edbcc3}
.workspace-body :is(.prep-warning,.prep-review,.prep-unknown){--prep-fg:#785000;--prep-bg:#fff7e5;--prep-border:#e6cc90}
.workspace-body .prep-status{display:inline-flex;align-items:center;gap:8px;color:var(--prep-fg);background:var(--prep-bg);border:1px solid var(--prep-border);border-radius:7px;padding:4px 9px;font-weight:600;white-space:nowrap}
.prep-symbol{display:inline-grid;place-items:center;width:1.25em;height:1.25em;font-weight:700}
.workspace-body .upgrade-summary{display:flex;justify-content:space-between;align-items:center;gap:20px;padding:18px 20px;background:var(--prep-bg);color:var(--prep-fg);border:1px solid var(--prep-border);border-radius:12px;margin:20px 0 12px}
.upgrade-summary h3{margin:0 0 8px}.upgrade-summary p{margin:4px 0}.upgrade-summary>.button{flex-shrink:0}
.prep-checks .data-table td{vertical-align:top}.prep-checks .data-table p{margin:0;white-space:pre-wrap;overflow-wrap:anywhere}.prep-checks .data-table a{display:inline-block;margin-top:6px}
.workspace-body .upgrade-next{border:1px solid var(--line);border-radius:12px;padding:18px 20px;margin:20px 0;background:var(--surface)}
.upgrade-next h3{margin:0 0 8px}.upgrade-task-list{padding-left:26px;margin-bottom:0}.upgrade-task-list>li{padding:12px 0;border-bottom:1px solid var(--line)}.upgrade-task-list>li:last-child{border:0}
.workspace-body .upgrade-task-list summary{font-size:1.2rem;font-weight:650;cursor:pointer;padding:6px 0}.upgrade-task-list p{margin:8px 0 12px}
.upgrade-command{border:1px solid var(--line);border-radius:8px;overflow:hidden}.upgrade-command-heading{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:8px 12px}.workspace-body .upgrade-command .result{border:0;border-top:1px solid var(--line);border-radius:0;margin:0;padding:14px;white-space:pre-wrap;overflow-wrap:anywhere;font-size:1rem;color:var(--ink)}
.command-feedback:not(:empty){display:block;padding:8px 12px}.upgrade-recheck{display:flex;align-items:center;justify-content:space-between;gap:16px;margin-top:16px}
[data-theme="dark"] .workspace-body .prep-pass{--prep-fg:#a3e2bf;--prep-bg:#253f34;--prep-border:#446653}
[data-theme="dark"] .workspace-body .prep-stop{--prep-fg:#ffb5c0;--prep-bg:#422c34;--prep-border:#79505a}
[data-theme="dark"] .workspace-body :is(.prep-warning,.prep-review,.prep-unknown){--prep-fg:#f1d28f;--prep-bg:#3c3525;--prep-border:#70603b}
@media(max-width:760px){.workspace-body .upgrade-summary,.upgrade-recheck{align-items:flex-start;flex-direction:column}.upgrade-command-heading{align-items:flex-start;flex-wrap:wrap}.workspace-body .upgrade-next{padding:14px}.prep-checks .data-table td{white-space:normal}}
.upgrade-summary-actions{display:flex;flex-direction:column;gap:8px;flex-shrink:0}
.prep-checks th:first-child{width:21%}.prep-checks th:nth-child(2){width:17%}
.workspace-body details.upgrade-next>summary{font-size:1.2rem;font-weight:650;cursor:pointer}

/* OS release status: text and symbols supplement color in both themes. */
.workspace-body .release-current{background:color-mix(in srgb,#1c9a61 12%,var(--surface));border-color:color-mix(in srgb,#1c9a61 45%,var(--line));color:var(--ink)}
.workspace-body .release-behind{background:color-mix(in srgb,#e5a000 14%,var(--surface));border-color:color-mix(in srgb,#e5a000 55%,var(--line));color:var(--ink)}
.workspace-body .release-unknown{background:var(--surface);border-color:var(--line);color:var(--muted)}
.release-summary{border:1px solid;border-radius:12px;padding:16px 20px}
.release-summary h3{margin:0 0 8px;font-size:1.25rem}
.release-summary p{margin:0}
.release-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:20px;margin:24px 0}
.release-facts dt{font-weight:600;margin-bottom:6px}
.release-facts dd{margin:0;overflow-wrap:anywhere}
@media(max-width:640px){.release-facts{grid-template-columns:1fr}.workspace-body .platform-check{white-space:normal}}

/* AWS actions keep cloud power controls distinct from SSH inspections. */
.cloud-controls{margin-block:1.25rem;padding-block:1rem;border-block:1px solid var(--line)}
.cloud-action-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.75rem}
.cloud-action-grid .server-action strong,.server-action strong{display:flex;align-items:center;gap:.5rem}
.cloud-action-grid img,.server-action strong img{width:1.4rem;height:1.4rem}
.cloud-action-grid button:disabled{opacity:.55;cursor:not-allowed}
a.server-action{text-decoration:none;color:inherit}
@media(max-width:640px){.cloud-action-grid{grid-template-columns:1fr}}
