/* FLEET UI Phase 3F — targeted semantic components and layout rhythm.
 * Loaded last. All rules are limited to authenticated application surfaces.
 * Neutral brand != neutral metrics, taxonomy, or critical/success states.
 */
body[data-auth-view="false"] {
  --ui-3f-chip-height:30px;
  --ui-3f-control-height:40px;
  --ui-3f-control-radius:8px;
  --ui-3f-ring:var(--text);
}
html[data-auth-theme="light"] body[data-auth-view="false"] {
  --ui-3f-alert-zero-bg:#f4f4f5; --ui-3f-alert-zero-ink:#343434;--ui-3f-alert-zero-edge:#c9c9ce;
  --ui-3f-ok-bg:#eaf8ef;--ui-3f-ok-ink:#17633d;--ui-3f-ok-edge:#91ceb0;
  --ui-3f-bad-bg:#fff0f1;--ui-3f-bad-ink:#a32135;--ui-3f-bad-edge:#e4a4ae;
  --ui-3f-role-admin-bg:#f3edff;--ui-3f-role-admin-ink:#62338e;--ui-3f-role-admin-edge:#bea5e0;
  --ui-3f-role-operator-bg:#fff3dc;--ui-3f-role-operator-ink:#825208;--ui-3f-role-operator-edge:#e1bd76;
  --ui-3f-role-viewer-bg:#f2f2f2;--ui-3f-role-viewer-ink:#424242;--ui-3f-role-viewer-edge:#bfbfbf;
  --ui-3f-sev-info-bg:#efeff0;--ui-3f-sev-info-ink:#383838;--ui-3f-sev-info-edge:#bfc0c2;
  --ui-3f-sev-warning-bg:#fff2d9;--ui-3f-sev-warning-ink:#825106;--ui-3f-sev-warning-edge:#ddb66d;
  --ui-3f-sev-critical-bg:#fff0f1;--ui-3f-sev-critical-ink:#a32135;--ui-3f-sev-critical-edge:#e4a4ae;
  --ui-3f-sev-security-bg:#f3edff;--ui-3f-sev-security-ink:#62338e;--ui-3f-sev-security-edge:#bea5e0;
}
html:not([data-auth-theme="light"]) body[data-auth-view="false"] {
  --ui-3f-alert-zero-bg:#1b1b1d;--ui-3f-alert-zero-ink:#eeeef0;--ui-3f-alert-zero-edge:#505054;
  --ui-3f-ok-bg:#10281d;--ui-3f-ok-ink:#91e9b5;--ui-3f-ok-edge:#31724d;
  --ui-3f-bad-bg:#31171c;--ui-3f-bad-ink:#ffb6bf;--ui-3f-bad-edge:#8c3b4b;
  --ui-3f-role-admin-bg:#24182d;--ui-3f-role-admin-ink:#dfbff8;--ui-3f-role-admin-edge:#70528b;
  --ui-3f-role-operator-bg:#30240f;--ui-3f-role-operator-ink:#f9d58d;--ui-3f-role-operator-edge:#95712f;
  --ui-3f-role-viewer-bg:#202022;--ui-3f-role-viewer-ink:#e6e6e6;--ui-3f-role-viewer-edge:#535357;
  --ui-3f-sev-info-bg:#242427;--ui-3f-sev-info-ink:#ededf0;--ui-3f-sev-info-edge:#5c5d61;
  --ui-3f-sev-warning-bg:#30240f;--ui-3f-sev-warning-ink:#ffdc94;--ui-3f-sev-warning-edge:#95712f;
  --ui-3f-sev-critical-bg:#31171c;--ui-3f-sev-critical-ink:#ffb6bf;--ui-3f-sev-critical-edge:#8c3b4b;
  --ui-3f-sev-security-bg:#24182d;--ui-3f-sev-security-ink:#e1c0f8;--ui-3f-sev-security-edge:#70528b;
}
/* Protect role and severity from old .pill, .badge, and table hover rules. */
body[data-auth-view="false"] #app .roleChip,
body[data-auth-view="false"] #app .notifSeverity {
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  box-sizing:border-box!important;min-height:var(--ui-3f-chip-height)!important;height:auto!important;
  padding:5px 11px!important;border:1px solid!important;border-radius:999px!important;
  font-size:12px!important;font-weight:750!important;line-height:18px!important;
  letter-spacing:.015em!important;text-transform:none;white-space:nowrap;
}
body[data-auth-view="false"] #app .notifSeverity{letter-spacing:.035em!important;}
body[data-auth-view="false"] #app .roleChip--admin{background:var(--ui-3f-role-admin-bg)!important;color:var(--ui-3f-role-admin-ink)!important;border-color:var(--ui-3f-role-admin-edge)!important;}
body[data-auth-view="false"] #app .roleChip--operator{background:var(--ui-3f-role-operator-bg)!important;color:var(--ui-3f-role-operator-ink)!important;border-color:var(--ui-3f-role-operator-edge)!important;}
body[data-auth-view="false"] #app .roleChip--viewer,
body[data-auth-view="false"] #app .roleChip--unknown{background:var(--ui-3f-role-viewer-bg)!important;color:var(--ui-3f-role-viewer-ink)!important;border-color:var(--ui-3f-role-viewer-edge)!important;}
body[data-auth-view="false"] #app .notifSeverity--info,
body[data-auth-view="false"] #app .notifSeverity--unknown{background:var(--ui-3f-sev-info-bg)!important;color:var(--ui-3f-sev-info-ink)!important;border-color:var(--ui-3f-sev-info-edge)!important;}
body[data-auth-view="false"] #app .notifSeverity--warning{background:var(--ui-3f-sev-warning-bg)!important;color:var(--ui-3f-sev-warning-ink)!important;border-color:var(--ui-3f-sev-warning-edge)!important;}
body[data-auth-view="false"] #app .notifSeverity--critical{background:var(--ui-3f-sev-critical-bg)!important;color:var(--ui-3f-sev-critical-ink)!important;border-color:var(--ui-3f-sev-critical-edge)!important;}
body[data-auth-view="false"] #app .notifSeverity--security{background:var(--ui-3f-sev-security-bg)!important;color:var(--ui-3f-sev-security-ink)!important;border-color:var(--ui-3f-sev-security-edge)!important;}
/* Alert badges in the main table, its selected and hovered row, and small dashboards. */
body[data-auth-view="false"] #app .fleetTable :is(.badge.okBadge,.badge.dangerBadge),
body[data-auth-view="false"] #app .detailTable :is(.badge.okBadge,.badge.dangerBadge){
  min-width:30px!important;min-height:28px!important;padding:4px 9px!important;
  border-radius:999px!important;font-size:12px!important;font-weight:700!important;
  line-height:18px!important;
}
body[data-auth-view="false"] #app .fleetTable .badge.okBadge,
body[data-auth-view="false"] #app .detailTable .badge.okBadge {
  background:var(--ui-3f-alert-zero-bg)!important;color:var(--ui-3f-alert-zero-ink)!important;border-color:var(--ui-3f-alert-zero-edge)!important;
}
body[data-auth-view="false"] #app .fleetTable .badge.dangerBadge,
body[data-auth-view="false"] #app .detailTable .badge.dangerBadge{
  background:var(--ui-3f-bad-bg)!important;color:var(--ui-3f-bad-ink)!important;border-color:var(--ui-3f-bad-edge)!important;
}
/* Status never inherits generic grayscale !important from a table surface. */
body[data-auth-view="false"] #app :is(.serverHero,.fleetMobileCard) .statusBadge{
  display:inline-flex!important;min-height:30px!important;align-items:center!important;gap:7px!important;
  padding:5px 11px!important;line-height:18px!important;font-size:12px!important;
  font-weight:700!important;border-radius:999px!important;
}
body[data-auth-view="false"] #app :is(.serverHero,.fleetMobileCard) .statusBadge:not(.offline):not(.archived):not(.unknown){
  background:var(--ui-3f-ok-bg)!important;color:var(--ui-3f-ok-ink)!important;border-color:var(--ui-3f-ok-edge)!important;
}
body[data-auth-view="false"] #app :is(.serverHero,.fleetMobileCard) .statusBadge.offline{
  background:var(--ui-3f-bad-bg)!important;color:var(--ui-3f-bad-ink)!important;border-color:var(--ui-3f-bad-edge)!important;
}
body[data-auth-view="false"] #app :is(.serverHero,.fleetMobileCard) .statusBadge:is(.archived,.unknown){
  background:var(--ui-3f-role-viewer-bg)!important;color:var(--ui-3f-role-viewer-ink)!important;border-color:var(--ui-3f-role-viewer-edge)!important;
}
body[data-auth-view="false"] #app .statusRing:not(.offline):not(.archived):not(.unknown){background:#3bbf7b!important;box-shadow:0 0 0 3px #3bbf7b25!important;}
body[data-auth-view="false"] #app .statusRing.offline{background:#dc4761!important;box-shadow:0 0 0 3px #dc476125!important;}
body[data-auth-view="false"] #app .statusRing:is(.archived,.unknown){background:#85858a!important;box-shadow:none!important;}
/* OS identity uses the EXACT same bundled SVG bytes in each theme. */
body[data-auth-view="false"] #app .osLogo{
  box-sizing:border-box!important;width:30px!important;height:30px!important;min-width:30px!important;
  display:inline-flex!important;align-items:center!important;justify-content:center!important;
  padding:3px!important;border-radius:8px!important;background:#0a0a0c!important;
  border:1px solid #3b3b3f!important;filter:none!important;opacity:1!important;
}
body[data-auth-view="false"] #app .osLogo img{
  display:block!important;width:100%!important;height:100%!important;max-height:none!important;
  object-fit:contain!important;filter:none!important;opacity:1!important;
}
body[data-auth-view="false"] #app .osLogo.large{width:58px!important;height:58px!important;min-width:58px!important;padding:6px!important;border-radius:12px!important;}
/* Collapsed desktop rail: 44px target and a legible 21px glyph. Mobile drawer unchanged. */
@media (min-width:801px){
 body[data-auth-view="false"][data-sidebar="collapsed"] aside{width:74px!important;flex-basis:74px!important;padding-inline:10px!important;}
 body[data-auth-view="false"][data-sidebar="collapsed"] nav{display:grid!important;justify-items:center!important;gap:3px!important;}
 body[data-auth-view="false"][data-sidebar="collapsed"] nav a{
   box-sizing:border-box!important;display:flex!important;align-items:center!important;justify-content:center!important;
   width:44px!important;height:44px!important;min-width:44px!important;min-height:44px!important;
   padding:0!important;margin:0 auto!important;border-radius:9px!important;font-size:0!important;
 }
 body[data-auth-view="false"][data-sidebar="collapsed"] nav a::before{
   content:attr(data-icon);font-size:21px!important;line-height:1!important;width:auto!important;
   min-width:21px!important;margin:0!important;display:block!important;text-align:center!important;
   color:var(--text)!important;font-weight:650!important;
 }
 body[data-auth-view="false"][data-sidebar="collapsed"] nav a:is(:hover,:focus-visible,[aria-current="page"])::before{color:var(--text)!important;}
}
/* Shared control scale without changing tiny row-action button behavior. */
body[data-auth-view="false"] #app :is(.fleetTools select,.inventoryFilters select,.fleetTaxFilterGrid select,.fleetSearch,.searchBox,.filterBar select){
  box-sizing:border-box!important;min-height:var(--ui-3f-control-height)!important;height:var(--ui-3f-control-height)!important;
  border-radius:var(--ui-3f-control-radius)!important;
}
body[data-auth-view="false"] #app :is(.rowActions button,.taxonomyScope .rowActions button){
  min-height:32px!important;height:auto!important;padding:6px 10px!important;font-size:12px!important;line-height:18px!important;
}
/* Keep brand controls neutral; do NOT recolor .meter, .netCell, .tagChip or .taxonomyChip. */
body[data-auth-view="false"] #app :is(.columnPicker summary,.serverTabs button.active){
  border-color:var(--border)!important;color:var(--text)!important;background:var(--surface-2)!important;
}

/* A remaining old blue label is a brand hint, not an operational metric. */
body[data-auth-view="false"] #app .fleetTaxonomyFilters .taxFilterHint{
  color:var(--text-2)!important;
}
body[data-auth-view="false"] #app .fleetTaxonomyFilters summary:is(:hover,:focus-visible) .taxFilterHint{
  color:var(--text)!important;
}
